about summary refs log tree commit diff stats
path: root/src/marathon.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/marathon.c')
-rw-r--r--src/marathon.c281
1 files changed, 140 insertions, 141 deletions
diff --git a/src/marathon.c b/src/marathon.c
index 70484b6..2807ee1 100644
--- a/src/marathon.c
+++ b/src/marathon.c
@@ -1,123 +1,122 @@
 #include "pong.h"
 
 void leaderboard_record(int Score) {
-    bool LeaderBoardGoing = true;
-    
-    /* Create Leaderboard struct */
-    #define MAX_CHARACTERS 16
-    struct {
-        char Name[MAX_CHARACTERS];
-        int Score;
-    } LeaderboardEntry;
-    LeaderboardEntry.Score = Score;
-
-    /* Init strings */
-    int16_t CharacterNumber = 0;
-    int Key = 0;
+	bool LeaderBoardGoing = true;
+
+/* Create Leaderboard struct */
+#define MAX_CHARACTERS 16
+	struct {
+		char Name[MAX_CHARACTERS];
+		int Score;
+	} LeaderboardEntry;
+	LeaderboardEntry.Score = Score;
+
+	/* Init strings */
+	int16_t CharacterNumber = 0;
+	int Key = 0;
 	int i = 0;
-    for(i = 0; i < sizeof(LeaderboardEntry.Name); i++) {
-        LeaderboardEntry.Name[i] = '\0';
-    }
-    char Scored[8192];
-    snprintf(Scored, sizeof(Scored), "You Scored: %d", LeaderboardEntry.Score);
-
-    /* Init Camera */
-    Camera2D MainCamera;
-		(void)MainCamera; /* Works-around unused variable compiler warning. */
-        MainCamera.target = (Vector2){0, 0};
-        MainCamera.offset = (Vector2){0, 0};
-        MainCamera.rotation = 0;
-    while(LeaderBoardGoing == true) {
-        MainCamera.zoom = GetScreenHeight()/720.0f;
-		MainCamera.offset = (Vector2){GetScreenWidth()/2.0f, GetScreenHeight()/2.0f};
-		MainCamera.target = (Vector2){1280/2.0f, 720/2.0f};
-
-        BeginDrawing();
-            DrawRectangle(0, 0, 1280, 720, (Color){20, 20, 20, 255});
-            Key = GetKeyPressed();
-            switch(Key) {
-                case KEY_BACKSPACE:
-                    if(CharacterNumber != 0) {
-                        LeaderboardEntry.Name[CharacterNumber] = '\0';
-                        CharacterNumber -= 1;
-                    }
-                    break;
-                case KEY_ENTER:
-                    if(CharacterNumber != 0) {
-                        LeaderBoardGoing = false;
-                    }
-                    break;
-                default:
-                    if (Key >= 33 && Key <= 126 && CharacterNumber < MAX_CHARACTERS) {
-                        LeaderboardEntry.Name[CharacterNumber] = GetCharPressed();
-                        CharacterNumber += 1;
-                    }
-                    break;
-            }
-            DrawText(Scored, 5, 0, 48, BLUE);
-            DrawText("Enter Name:", 5, 50, 48, WHITE);
-            DrawText(LeaderboardEntry.Name, 300, 50, 48, WHITE);
-        EndDrawing();
-    }
-    char *LeaderboardDirectory = SDL_GetPrefPath("iotib", "Pong");
+	for (i = 0; i < sizeof(LeaderboardEntry.Name); i++) {
+		LeaderboardEntry.Name[i] = '\0';
+	}
+	char Scored[8192];
+	snprintf(Scored, sizeof(Scored), "You Scored: %d", LeaderboardEntry.Score);
+
+	/* Init Camera */
+	Camera2D MainCamera;
+	(void)MainCamera; /* Works-around unused variable compiler warning. */
+	MainCamera.target = (Vector2){0, 0};
+	MainCamera.offset = (Vector2){0, 0};
+	MainCamera.rotation = 0;
+	while (LeaderBoardGoing == true) {
+		MainCamera.zoom = GetScreenHeight() / 720.0f;
+		MainCamera.offset = (Vector2){GetScreenWidth() / 2.0f, GetScreenHeight() / 2.0f};
+		MainCamera.target = (Vector2){1280 / 2.0f, 720 / 2.0f};
+
+		BeginDrawing();
+		DrawRectangle(0, 0, 1280, 720, (Color){20, 20, 20, 255});
+		Key = GetKeyPressed();
+		switch (Key) {
+			case KEY_BACKSPACE:
+				if (CharacterNumber != 0) {
+					LeaderboardEntry.Name[CharacterNumber] = '\0';
+					CharacterNumber -= 1;
+				}
+				break;
+			case KEY_ENTER:
+				if (CharacterNumber != 0) {
+					LeaderBoardGoing = false;
+				}
+				break;
+			default:
+				if (Key >= 33 && Key <= 126 && CharacterNumber < MAX_CHARACTERS) {
+					LeaderboardEntry.Name[CharacterNumber] = GetCharPressed();
+					CharacterNumber += 1;
+				}
+				break;
+		}
+		DrawText(Scored, 5, 0, 48, BLUE);
+		DrawText("Enter Name:", 5, 50, 48, WHITE);
+		DrawText(LeaderboardEntry.Name, 300, 50, 48, WHITE);
+		EndDrawing();
+	}
+	char *LeaderboardDirectory = SDL_GetPrefPath("iotib", "Pong");
 	char LeaderboardFilePath[8192];
 	snprintf(LeaderboardFilePath, sizeof(LeaderboardFilePath), "%s/leaderboard.txt", LeaderboardDirectory);
 	FILE *LeaderboardFile;
-    /* Put save to file here. */
-    if ((LeaderboardFile = fopen(LeaderboardFilePath, "a")) == NULL) {
-        fprintf(stderr, "Unable to create leaderboard file.\n");
-        return;
-    }
-    fprintf(LeaderboardFile, "%s %d\n", LeaderboardEntry.Name, Score);
-    fclose(LeaderboardFile);
-    return;
+	/* Put save to file here. */
+	if ((LeaderboardFile = fopen(LeaderboardFilePath, "a")) == NULL) {
+		fprintf(stderr, "Unable to create leaderboard file.\n");
+		return;
+	}
+	fprintf(LeaderboardFile, "%s %d\n", LeaderboardEntry.Name, Score);
+	fclose(LeaderboardFile);
+	return;
 }
 
 void marathon_main() {
-
-    /* Init Music */
-    Mix_Music *Background = Mix_LoadMUS("resources/marathon.wav");
-    Mix_PlayMusic(Background, -1);
-    Mix_VolumeMusic(GlobalSettings.MusicVolume);
-
-    /* Init balls lmao */
-    struct Balls Ball;
-	Ball.X = 1280/2.0f;
-	Ball.Y = 720/2.0f;
+	/* Init Music */
+	Mix_Music *Background = Mix_LoadMUS("resources/marathon.wav");
+	Mix_PlayMusic(Background, -1);
+	Mix_VolumeMusic(GlobalSettings.MusicVolume);
+
+	/* Init balls lmao */
+	struct Balls Ball;
+	Ball.X = 1280 / 2.0f;
+	Ball.Y = 720 / 2.0f;
 	Ball.Direction = LEFT;
 	Ball.Speed = 3.0f;
 	Ball.Angle = 0.0f;
-    Ball.NextTick = SDL_AtomicGet(&Ticks)+1;
+	Ball.NextTick = SDL_AtomicGet(&Ticks) + 1;
 
-    /* Init Player */
-    struct Players Player;
-    Player.Y = 0;
-    Player.Direction = 0;
-    Player.Score = 0;
+	/* Init Player */
+	struct Players Player;
+	Player.Y = 0;
+	Player.Direction = 0;
+	Player.Score = 0;
 
-    /* Init sprites */
-    Texture2D PaddleSprite = LoadTexture("resources/paddle.png");
+	/* Init sprites */
+	Texture2D PaddleSprite = LoadTexture("resources/paddle.png");
 	Texture2D BallSprite = LoadTexture("resources/ball.png");
 
-    char PlayerScore[50]; /* Used later to display score on screen. */
+	char PlayerScore[50]; /* Used later to display score on screen. */
 
-    /* Set Collision Boxes */
+	/* Set Collision Boxes */
 	Player.HitBox = (Rectangle){80, Player.Y, 5, PaddleSprite.height};
 	Ball.HitBox = (Rectangle){Ball.X, Ball.Y, BallSprite.width, BallSprite.height};
 
-    /* Init Camera */
-    Camera2D MainCamera;
-        MainCamera.target = (Vector2){0, 0};
-        MainCamera.offset = (Vector2){0, 0};
-        MainCamera.rotation = 0;
-    bool MarathonGoing = true;
+	/* Init Camera */
+	Camera2D MainCamera;
+	MainCamera.target = (Vector2){0, 0};
+	MainCamera.offset = (Vector2){0, 0};
+	MainCamera.rotation = 0;
+	bool MarathonGoing = true;
 	bool HasScored = false;
 	(void)HasScored;
 	Vector2 MouseCurrentPosition = GetMousePosition();
-    while(MarathonGoing == true && GameGoing == true) {
-        if (WindowShouldClose()) { /* Quit Game if the window is closed. */
-            GameGoing = false;
-        }
+	while (MarathonGoing == true && GameGoing == true) {
+		if (WindowShouldClose()) { /* Quit Game if the window is closed. */
+			GameGoing = false;
+		}
 
 		/* Prevents multi-scoring in some cases. */
 		if (Ball.Direction == LEFT) {
@@ -126,13 +125,13 @@ void marathon_main() {
 			HasScored = false;
 		}
 
-        snprintf(PlayerScore, 50, "Player: %d", Player.Score);
-        MainCamera.zoom = GetScreenHeight()/720.0f;
-	    MainCamera.offset = (Vector2){GetScreenWidth()/2.0f, GetScreenHeight()/2.0f};
-	    MainCamera.target = (Vector2){1280/2.0f, 720/2.0f};
+		snprintf(PlayerScore, 50, "Player: %d", Player.Score);
+		MainCamera.zoom = GetScreenHeight() / 720.0f;
+		MainCamera.offset = (Vector2){GetScreenWidth() / 2.0f, GetScreenHeight() / 2.0f};
+		MainCamera.target = (Vector2){1280 / 2.0f, 720 / 2.0f};
 
-       	/* Controls */
-		switch(player_controls()) {
+		/* Controls */
+		switch (player_controls()) {
 			case CONTROLLER_UP:
 				Player.Y -= 20;
 				break;
@@ -145,55 +144,55 @@ void marathon_main() {
 				EndDrawing();
 				MarathonGoing = pause_screen(&MainCamera);
 				Mix_ResumeMusic();
-				Ball.NextTick = SDL_AtomicGet(&Ticks)+1;
+				Ball.NextTick = SDL_AtomicGet(&Ticks) + 1;
 				break;
 			default:
 				break;
 		}
 
 		/* Mouse Controls */
-		if(MouseCurrentPosition.y != GetMousePosition().y) {
-           	Player.Y = GetMouseY()-PaddleSprite.height/2.0f;
-        
-        	if(GetMouseY() < 0) {
-            	SetMousePosition(0, 0);
-        	} else if(GetMouseY() > 720) {
-            	SetMousePosition(0, 720);
-        	}
+		if (MouseCurrentPosition.y != GetMousePosition().y) {
+			Player.Y = GetMouseY() - PaddleSprite.height / 2.0f;
+
+			if (GetMouseY() < 0) {
+				SetMousePosition(0, 0);
+			} else if (GetMouseY() > 720) {
+				SetMousePosition(0, 720);
+			}
 			MouseCurrentPosition = GetMousePosition();
 		}
 
-        /* Check if players are off-screen */
-        if (Player.Y < 0) {
-            Player.Y = 0;
-        } else if (Player.Y > 480) {
-            Player.Y = 480;
-        }
-
-        /* Collision */
-        ball(&Player.HitBox, NULL, &Ball, &Player.Score, NULL);
-        /* Updates hitbox with player's position. */
-        Player.HitBox.y = Player.Y;
-
-        /* End Game */
-        if(Ball.X < 0) {
-            MarathonGoing = false;
-        }
-
-        BeginDrawing();
-			ClearBackground(BLACK);
-			BeginMode2D(MainCamera);
-            	DrawRectangle(0, 0, 1280, 720, (Color){20, 20, 20, 255});
-				DrawTexture(PaddleSprite, 0, Player.Y, WHITE);
-				DrawTexture(BallSprite, Ball.X, Ball.Y, WHITE);
-				DrawText(PlayerScore, 0, 0, 32, BLUE);
-			EndMode2D();
+		/* Check if players are off-screen */
+		if (Player.Y < 0) {
+			Player.Y = 0;
+		} else if (Player.Y > 480) {
+			Player.Y = 480;
+		}
+
+		/* Collision */
+		ball(&Player.HitBox, NULL, &Ball, &Player.Score, NULL);
+		/* Updates hitbox with player's position. */
+		Player.HitBox.y = Player.Y;
+
+		/* End Game */
+		if (Ball.X < 0) {
+			MarathonGoing = false;
+		}
+
+		BeginDrawing();
+		ClearBackground(BLACK);
+		BeginMode2D(MainCamera);
+		DrawRectangle(0, 0, 1280, 720, (Color){20, 20, 20, 255});
+		DrawTexture(PaddleSprite, 0, Player.Y, WHITE);
+		DrawTexture(BallSprite, Ball.X, Ball.Y, WHITE);
+		DrawText(PlayerScore, 0, 0, 32, BLUE);
+		EndMode2D();
 		EndDrawing();
-    }
-    Mix_HaltMusic();
+	}
+	Mix_HaltMusic();
 	if (Player.Score > 0) {
-    	leaderboard_record(Player.Score);
+		leaderboard_record(Player.Score);
 	}
-    Mix_FreeMusic(Background);
-    return;
+	Mix_FreeMusic(Background);
+	return;
 }