3 Commits

Author SHA1 Message Date
Jojangles 2d685fcdb9 Submodule changes 2023-11-14 08:59:28 +11:00
Jojangles ebc969603d tely: Add a way to stop music from playing 2023-11-14 08:44:10 +11:00
Jojangles d0b3ce1bd0 fp: Add potential ambience and background music options 2023-11-09 08:37:08 +11:00
7 changed files with 28 additions and 3 deletions
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+1 -1
+11 -2
View File
@@ -451,6 +451,10 @@ void TELY_OS_DLLInit(TELY_OS *os)
game->audio[FP_GameAudio_Woosh] = os->funcs.load_audio(assets, DQN_STR8("Woosh"), DQN_STR8("Data/Audio/woosh.ogg")); game->audio[FP_GameAudio_Woosh] = os->funcs.load_audio(assets, DQN_STR8("Woosh"), DQN_STR8("Data/Audio/woosh.ogg"));
game->audio[FP_GameAudio_GameStart] = os->funcs.load_audio(assets, DQN_STR8("Game Start"), DQN_STR8("Data/Audio/game_start.ogg")); game->audio[FP_GameAudio_GameStart] = os->funcs.load_audio(assets, DQN_STR8("Game Start"), DQN_STR8("Data/Audio/game_start.ogg"));
game->audio[FP_GameAudio_PerryStart] = os->funcs.load_audio(assets, DQN_STR8("Perry Start"), DQN_STR8("Data/Audio/perry_start.ogg")); game->audio[FP_GameAudio_PerryStart] = os->funcs.load_audio(assets, DQN_STR8("Perry Start"), DQN_STR8("Data/Audio/perry_start.ogg"));
game->audio[FP_GameAudio_Ambience1] = os->funcs.load_audio(assets, DQN_STR8("Ambience one"), DQN_STR8("Data/Audio/ambience_1.ogg"));
game->audio[FP_GameAudio_Ambience2] = os->funcs.load_audio(assets, DQN_STR8("Ambience two"), DQN_STR8("Data/Audio/ambience_2.ogg"));
game->audio[FP_GameAudio_Music1] = os->funcs.load_audio(assets, DQN_STR8("Music one"), DQN_STR8("Data/Audio/music_1.ogg"));
game->audio[FP_GameAudio_Music2] = os->funcs.load_audio(assets, DQN_STR8("Music two"), DQN_STR8("Data/Audio/music_2.ogg"));
// NOTE: Load sprite sheets ==================================================================== // NOTE: Load sprite sheets ====================================================================
os->user_data = game; os->user_data = game;
@@ -2011,12 +2015,16 @@ static void FP_Update(TELY_OS *os, FP_Game *game, TELY_OSInput *input, TELY_Audi
// haven't given the player cooldown yet, so we assign a timestamp for that // haven't given the player cooldown yet, so we assign a timestamp for that
if (game->play.wave_cooldown_timestamp_ms == 0) { if (game->play.wave_cooldown_timestamp_ms == 0) {
game->play.wave_cooldown_timestamp_ms = game->play.clock_ms + FP_COOLDOWN_WAVE_TIME_MS; game->play.wave_cooldown_timestamp_ms = game->play.clock_ms + FP_COOLDOWN_WAVE_TIME_MS;
TELY_Audio_Stop(audio, game->audio[FP_GameAudio_Music1]);
TELY_Audio_Play(audio, game->audio[FP_GameAudio_Music2], 1.f);
} else { } else {
// NOTE: Check if cooldown has elapsed, the next wave can start if so // NOTE: Check if cooldown has elapsed, the next wave can start if so
if (game->play.clock_ms > game->play.wave_cooldown_timestamp_ms) { if (game->play.clock_ms > game->play.wave_cooldown_timestamp_ms) {
game->play.enemies_per_wave = DQN_MAX(5 * DQN_CAST(uint32_t)game->play.mob_spawners.size, DQN_CAST(uint32_t)(game->play.enemies_per_wave * 1.5)); game->play.enemies_per_wave = DQN_MAX(5 * DQN_CAST(uint32_t)game->play.mob_spawners.size, DQN_CAST(uint32_t)(game->play.enemies_per_wave * 1.5));
game->play.enemies_spawned_this_wave = 0; // Important! Reset the spawn count game->play.enemies_spawned_this_wave = 0; // Important! Reset the spawn count
game->play.wave_cooldown_timestamp_ms = 0; // Important! We reset the timestamp for the next wave game->play.wave_cooldown_timestamp_ms = 0; // Important! We reset the timestamp for the next wave
TELY_Audio_Stop(audio, game->audio[FP_GameAudio_Music2]);
TELY_Audio_Play(audio, game->audio[FP_GameAudio_Music1], 1.f);
if (monkey_spawn && game->play.current_wave != 0) { if (monkey_spawn && game->play.current_wave != 0) {
// NOTE: We spawn a monkey at these wave intervals; // NOTE: We spawn a monkey at these wave intervals;
@@ -2033,6 +2041,7 @@ static void FP_Update(TELY_OS *os, FP_Game *game, TELY_OSInput *input, TELY_Audi
} }
game->play.current_wave++; game->play.current_wave++;
//TELY_Audio_Stop(audio, game->audio[FP_GameAudio_Music2]);
} }
} }
@@ -4452,9 +4461,9 @@ void TELY_OS_DLLFrameUpdate(TELY_OS *os)
TELY_Audio *audio = &os->audio; TELY_Audio *audio = &os->audio;
#if 0 #if 1
if (audio->playback_size == 0) { if (audio->playback_size == 0) {
TELY_Audio_Play(audio, game->audio[FP_GameAudio_TestAudio], 1.f /*volume*/); //TELY_Audio_Play(audio, game->audio[FP_GameAudio_Music2], 1.f /*volume*/);
} }
#endif #endif
+4
View File
@@ -336,6 +336,10 @@ enum FP_GameAudio
FP_GameAudio_PortalDestroy, FP_GameAudio_PortalDestroy,
FP_GameAudio_GameStart, FP_GameAudio_GameStart,
FP_GameAudio_PerryStart, FP_GameAudio_PerryStart,
FP_GameAudio_Ambience1,
FP_GameAudio_Ambience2,
FP_GameAudio_Music1,
FP_GameAudio_Music2,
FP_GameAudio_Count, FP_GameAudio_Count,
}; };