diff --git a/assets/gameplay_theme.mp3 b/assets/gameplay_theme.mp3 new file mode 100644 index 0000000..d71afbc Binary files /dev/null and b/assets/gameplay_theme.mp3 differ diff --git a/assets/sea.wav b/assets/sea.wav new file mode 100644 index 0000000..a27b80a Binary files /dev/null and b/assets/sea.wav differ diff --git a/assets/theme.mp3 b/assets/theme.mp3 new file mode 100644 index 0000000..1f7a4ff Binary files /dev/null and b/assets/theme.mp3 differ diff --git a/include/app.h b/include/app.h index 0f7cbb9..0660337 100644 --- a/include/app.h +++ b/include/app.h @@ -34,7 +34,7 @@ typedef enum { ISLAND, ISLANDS_TEX_COUNT } islandsTextureID; typedef enum { POST_FX, SHADER_COUNT } ShaderID; -typedef enum { BEE_AMBIENT, GAMEPLAY_THEME, SOUNDTRACK_COUNT } SoundtrackID; +typedef enum { GAMEPLAY_THEME, AMBIENT, SOUNDTRACK_COUNT } SoundtrackID; typedef enum View { LOGO = 0, MENU = 1, GAMEPLAY = 2 } View; diff --git a/src/appGame.c b/src/appGame.c index 6a1939c..04c3f37 100644 --- a/src/appGame.c +++ b/src/appGame.c @@ -1,8 +1,10 @@ #include "app.h" const ShaderAsset shaderAssets[SHADER_COUNT] = {{"shaders/postfx.fs"}}; - -const SoundtrackAsset soundtrackAssets[SOUNDTRACK_COUNT] = {{"assets/sea.mp3"}}; +const SoundtrackAsset soundtrackAssets[SOUNDTRACK_COUNT] = { + {"assets/gameplay_theme.mp3"}, + {"assets/sea.wav"} +}; void InitGame(App *app) { @@ -56,11 +58,10 @@ void UpdateGame(App *app) { for (int i = 0; i < SHADER_COUNT; i++) { UpdatePostFX(&g->postFX[i]); } - for (int i = 0; i < SOUNDTRACK_COUNT; i++) { - UpdateSoundtrack(&g->soundtracks[i], app->flags.soundtrackOn); - } UpdateMouse(&g->mouse); + + Player *player = GetPlayer(); UpdateCamera2D(&player->physics.position, &g->mouse); UpdateFloor(&g->floor); @@ -69,6 +70,7 @@ void UpdateGame(App *app) { UpdateEnemies(&g->enemies, &g->projectiles); UpdateIslands(&g->islands); UpdateProjectiles(&g->projectiles, &g->enemies); + UpdateSoundtrack(&g->soundtracks[AMBIENT], app->flags.soundtrackOn); } void RenderComponents(App *app) { diff --git a/src/appMenuMain.c b/src/appMenuMain.c index f6949d6..5f28ebd 100644 --- a/src/appMenuMain.c +++ b/src/appMenuMain.c @@ -11,7 +11,8 @@ const TextureAsset menuTextureAssets[MENU_TEX_COUNT] = { const SoundtrackAsset menuSoundtrackAssets[MENU_SOUNDTRACK_COUNT] = { - {"assets/merrygoround.wav"}}; + {"assets/theme.mp3"} +}; const SoundAsset menuSoundAssets[MENU_SOUND_COUNT] = { diff --git a/src/engineSoundtrack.c b/src/engineSoundtrack.c index f2f1c08..f46dcc7 100644 --- a/src/engineSoundtrack.c +++ b/src/engineSoundtrack.c @@ -4,25 +4,22 @@ Soundtrack LoadSoundtrack(const char* musicPath){ Soundtrack soundtrack = { .music = LoadMusicStream(musicPath), .playing = false, - .paused = false + .paused = false }; - PlayMusicStream(soundtrack.music); return soundtrack; } -void UpdateSoundtrack(Soundtrack *soundtrack, bool playing){ +void UpdateSoundtrack(Soundtrack *soundtrack, bool shouldPlay){ - if (playing && !soundtrack->playing){ - ResumeMusicStream(soundtrack->music); + if (shouldPlay && !soundtrack->playing){ + PlayMusicStream(soundtrack->music); + soundtrack->playing = true; soundtrack->paused = false; - } else if (!playing && soundtrack->playing){ + } else if (!shouldPlay && soundtrack->playing){ PauseMusicStream(soundtrack->music); + soundtrack->playing = false; soundtrack->paused = true; - } - - soundtrack->playing = playing; - - if (soundtrack->playing) { + } else if (shouldPlay && soundtrack->playing) { UpdateMusicStream(soundtrack->music); }