about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/title.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/title.c b/src/title.c
index d16ff84..7594ed9 100644
--- a/src/title.c
+++ b/src/title.c
@@ -243,6 +243,8 @@ static void settings(Camera2D *MainCamera, Mix_Music *TitleScreenMusic) {
     Vector2 NewPosition = GetMousePosition();
     Texture2D MouseCursorSprite = LoadTexture("resources/cursor.png");
     bool MouseCursorIn = true;
+	bool OnBackButton = true;
+	int Choice = 0;
     while(SettingsGoing == true && GameGoing == true) {
 
         MainCamera->zoom = GetScreenHeight()/720.0f;
@@ -263,6 +265,24 @@ static void settings(Camera2D *MainCamera, Mix_Music *TitleScreenMusic) {
             }
         }
 
+		int KeyPressed = player_controls_pressed();
+
+		switch(KeyPressed) {
+			case CONTROLLER_ACTIVATE:
+				if ( OnBackButton == true ) {
+					SettingsGoing = false;
+				}
+				OnBackButton = true;
+				Choice = 0;
+				break;
+			case CONTROLLER_UP:
+				--Choice;
+				break;
+			case CONTROLLER_DOWN:
+				++Choice;
+				break;
+		}
+
         if (IsKeyPressed(KEY_ESCAPE)) {
             EnableCursor();
             MouseCursorIn = false;
@@ -277,7 +297,7 @@ static void settings(Camera2D *MainCamera, Mix_Music *TitleScreenMusic) {
         BeginMode2D(*MainCamera);
             DrawRectangle(0, 0, 1280, 720, (Color){20, 20, 20, 255});
             /* Back Button */
-            if (CheckCollisionRecs(MouseCursor, BackButton)) {
+            if (CheckCollisionRecs(MouseCursor, BackButton) || OnBackButton == true) {
                 DrawRectangleRec(BackButton, RED);
                 if (IsMouseButtonPressed(MOUSE_BUTTON_LEFT)) {
                     SettingsGoing = false;