level unlocking and title music

This commit is contained in:
Return0ne 2022-09-20 19:28:31 -04:00
parent 2a84b5ae3e
commit 3537a6d37e
9 changed files with 2328 additions and 22 deletions

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -42,9 +42,10 @@ void InitGameplayScreen(void)
globalTimer = 0; globalTimer = 0;
if (player.hp < 1) player.hp = 1;
player.currentframe = 0; player.currentframe = 0;
player.speed = 300.0f; player.speed = 300.0f;
player.hp = PLAYER_HP;
if (GI_callcount < 1) { if (GI_callcount < 1) {
player.frameRec = (Rectangle) { player.frameRec = (Rectangle) {
player.hitbox.x, player.hitbox.x,
@ -116,7 +117,6 @@ void InitGameplayScreen(void)
shoot[i].active = false; shoot[i].active = false;
shoot[i].color = RED; shoot[i].color = RED;
} }
ammo = 10;
fireworkAmount = 100; fireworkAmount = 100;
pause = 0; pause = 0;
@ -174,7 +174,7 @@ void UpdateGameplayScreen(void)
if (INPUT_OPTION_PRESSED) pause = !pause; if (INPUT_OPTION_PRESSED) pause = !pause;
// code to end the game // code to end the game
if (level > 2) { StopMusicStream(Gameplaysong); finishfromGameplayScreen = 3; } if (level > 2) { StopMusicStream(Gameplaysong); finishfromGameplayScreen = 3; }
if (fireworkAmount < 1 && level < 2) { StopMusicStream(Gameplaysong); finishfromGameplayScreen = 4; } if (fireworkAmount < 1 && level < 2) { StopMusicStream(Gameplaysong); levelunlocked++; finishfromGameplayScreen = 4; }
if (!mute) UpdateMusicStream(Gameplaysong); if (!mute) UpdateMusicStream(Gameplaysong);

View File

@ -10,7 +10,6 @@
#define GAMEPLAY_HEADER #define GAMEPLAY_HEADER
#define MAX_FIREWORKS 10 #define MAX_FIREWORKS 10
#define PLAYER_HP 3
#define MAX_SHOOTS 3 #define MAX_SHOOTS 3
struct Actor { struct Actor {

View File

@ -12,38 +12,39 @@
#include "Controls.h" #include "Controls.h"
#include "Gfx.h" #include "Gfx.h"
int finishfromLevelSelScreen = 0, levelSelected = 0; int finishfromLevelSelScreen = 0, levelSelected = 1, levelunlocked = 0;
void InitLevelSelScreen(void) void InitLevelSelScreen(void)
{ {
levelSelected = 0;
finishfromLevelSelScreen = 0; finishfromLevelSelScreen = 0;
} }
void UpdateLevelSelScreen(void) void UpdateLevelSelScreen(void)
{ {
if (INPUT_LEFT_PRESSED) levelSelected++; if (INPUT_LEFT_PRESSED) levelSelected--;
if (INPUT_RIGHT_PRESSED) levelSelected--; if (INPUT_RIGHT_PRESSED) if (levelunlocked >= levelSelected) levelSelected++;
if (levelSelected > 0) levelSelected--; if (levelSelected < 1) levelSelected++;
if (levelSelected < -2) levelSelected++; if (levelSelected > 3) levelSelected--;
if ((levelSelected == 0) && (INPUT_OPTION_PRESSED)) { level = LEVEL1; finishfromLevelSelScreen = 1; } if ((levelSelected == 1) && (INPUT_OPTION_PRESSED)) { level = LEVEL1; finishfromLevelSelScreen = 1; }
if ((levelSelected == -1) && (INPUT_OPTION_PRESSED)) { level = LEVEL2; finishfromLevelSelScreen = 1; } if ((levelSelected == 2) && (INPUT_OPTION_PRESSED)) { level = LEVEL2; finishfromLevelSelScreen = 1; }
if ((levelSelected == -2) && (INPUT_OPTION_PRESSED)) { level = LEVEL3; finishfromLevelSelScreen = 1; } if ((levelSelected == 3) && (INPUT_OPTION_PRESSED)) { level = LEVEL3; finishfromLevelSelScreen = 1; }
} }
void DrawLevelSelScreen(void) void DrawLevelSelScreen(void)
{ {
DrawTexture(background, 0, 0, GRAY); DrawTexture(background, 0, 0, GRAY);
if (levelSelected == 0) DrawText("1", 100, 220, 30, WHITE); if (levelSelected == 1) DrawText("1", 100, 220, 30, WHITE);
else DrawText("1", 100, 220, 30, BLUE); else DrawText("1", 100, 220, 30, BLUE);
if (levelSelected == -1) DrawText("2", 150, 220, 30, WHITE); if (levelSelected == 2) DrawText("2", 150, 220, 30, WHITE);
else DrawText("2", 150, 220, 30, BLUE); else if (levelunlocked >= 1) DrawText("2", 150, 220, 30, BLUE);
else DrawText("2", 150, 220, 30, GRAY);
if (levelSelected == -2) DrawText("3", 200, 220, 30, WHITE); if (levelSelected == 3) DrawText("3", 200, 220, 30, WHITE);
else DrawText("3", 200, 220, 30, BLUE); else if (levelunlocked >= 2) DrawText("3", 200, 220, 30, BLUE);
else DrawText("3", 200, 220, 30, GRAY);
} }
void UnloadLevelSelScreen(void) void UnloadLevelSelScreen(void)

View File

@ -77,6 +77,7 @@ void gameSetup(void)
level = LEVEL1; level = LEVEL1;
background = LoadTexture("assets/gfx/background.png"); background = LoadTexture("assets/gfx/background.png");
ZadoBold = LoadFontEx("assets/fonts/ZadoBold.ttf", 96, 0, 110); ZadoBold = LoadFontEx("assets/fonts/ZadoBold.ttf", 96, 0, 110);
InitTitleScreen();
SetMasterVolume(0.5); SetMasterVolume(0.5);
} }

View File

@ -12,5 +12,6 @@
extern Music Endingsong; extern Music Endingsong;
extern Music Gameoversong; extern Music Gameoversong;
extern Music Gameplaysong; extern Music Gameplaysong;
extern Music Titlesong;
#endif #endif

View File

@ -14,6 +14,7 @@ typedef enum Levels { LEVEL1 = 0, LEVEL2, LEVEL3 } Levels;
extern GameScreen currentScreen; extern GameScreen currentScreen;
extern Levels level; extern Levels level;
extern int levelunlocked;
void InitTitleScreen(void); void InitTitleScreen(void);
void UpdateTitleScreen(void); void UpdateTitleScreen(void);

View File

@ -10,10 +10,14 @@
#include "Screens.h" #include "Screens.h"
#include "Controls.h" #include "Controls.h"
#include "Music.h"
#include "Options.h"
#include "Score.h" #include "Score.h"
#include "Gfx.h" #include "Gfx.h"
int titleSelected = 0, finishfromTitleScreen = 0; int titleSelected = 0, finishfromTitleScreen = 0;
Music Titlesong = { 0 };
void DrawScore(void) void DrawScore(void)
{ {
@ -32,18 +36,21 @@ void InitTitleScreen(void)
{ {
titleSelected = 0; titleSelected = 0;
finishfromTitleScreen = 0; finishfromTitleScreen = 0;
Titlesong = LoadMusicStream("assets/bgm/04-Distant-Misadventure.ogg");
PlayMusicStream(Titlesong);
} }
void UpdateTitleScreen(void) void UpdateTitleScreen(void)
{ {
if (!mute) UpdateMusicStream(Titlesong);
if (INPUT_UP_PRESSED) titleSelected++; if (INPUT_UP_PRESSED) titleSelected++;
if (INPUT_DOWN_PRESSED) titleSelected--; if (INPUT_DOWN_PRESSED) titleSelected--;
if (titleSelected > 0) titleSelected--; if (titleSelected > 0) titleSelected--;
if (titleSelected < -2) titleSelected++; if (titleSelected < -2) titleSelected++;
if ((titleSelected == 0) && (INPUT_OPTION_PRESSED)) finishfromTitleScreen = 2; if ((titleSelected == 0) && (INPUT_OPTION_PRESSED)) { StopMusicStream(Titlesong); finishfromTitleScreen = 2; }
if ((titleSelected == -1) && (INPUT_OPTION_PRESSED)) finishfromTitleScreen = 1; if ((titleSelected == -1) && (INPUT_OPTION_PRESSED)) { StopMusicStream(Titlesong); finishfromTitleScreen = 1; }
if ((titleSelected == -2) && (INPUT_OPTION_PRESSED)) finishfromTitleScreen = 3; if ((titleSelected == -2) && (INPUT_OPTION_PRESSED)) { StopMusicStream(Titlesong); finishfromTitleScreen = 3; }
} }
void DrawTitleScreen(void) void DrawTitleScreen(void)
@ -72,7 +79,7 @@ void DrawTitleScreen(void)
void UnloadTitleScreen(void) void UnloadTitleScreen(void)
{ {
UnloadMusicStream(Titlesong);
} }
int FinishTitleScreen(void) int FinishTitleScreen(void)