Add end, lose and victory musics

This commit is contained in:
Cong
2021-06-11 12:39:29 +10:00
parent 175cbf6dc2
commit 373ae4546d
15 changed files with 41 additions and 5 deletions

BIN
music/lose/CrashedShip.ogg Normal file

Binary file not shown.

View File

@@ -0,0 +1,4 @@
Reencoded from Sci-Fi Ambient - Crashed Ship by Ted Kerr
https://opengameart.org/content/sci-fi-ambient-crashed-ship
http://creativecommons.org/licenses/by/3.0/

BIN
music/lose/Epic Fall.ogg Normal file

Binary file not shown.

5
music/lose/Epic Fall.txt Normal file
View File

@@ -0,0 +1,5 @@
Reencoded from Epic Fall by Alexandr Zhelanov
Alexandr Zhelanov https://soundcloud.com/alexandr-zhelanov
https://opengameart.org/content/epic-fall
http://creativecommons.org/licenses/by/3.0/

Binary file not shown.

View File

@@ -0,0 +1,5 @@
Reencoded from Party Sector by Joth
Joth https://soundcloud.com/user-215083110
https://opengameart.org/content/party-sector
http://creativecommons.org/publicdomain/zero/1.0/

BIN
music/victory/low-fi.ogg Normal file

Binary file not shown.

5
music/victory/low-fi.txt Normal file
View File

@@ -0,0 +1,5 @@
Reencoded from low-fi by Alexandr Zhelanov
https://soundcloud.com/alexandr-zhelanov
https://opengameart.org/content/low-fi
http://creativecommons.org/licenses/by/3.0/

View File

@@ -403,11 +403,19 @@ GameLoopData *ScreenMissionSummary(
if (completed)
{
MenuAddSubmenu(mData->ms.root, MenuCreateReturn("Continue", 0));
MusicPlayFromChunk(
&gSoundDevice.music, MUSIC_END,
&gCampaign.Setting.CustomSongs[MUSIC_END]);
}
else
{
MenuAddSubmenu(mData->ms.root, MenuCreateReturn("Replay mission", 0));
MenuAddSubmenu(mData->ms.root, MenuCreateReturn("Back to menu", 1));
MusicPlayFromChunk(
&gSoundDevice.music, MUSIC_LOSE,
&gCampaign.Setting.CustomSongs[MUSIC_LOSE]);
}
mData->ms.allowAborts = true;
MenuAddExitType(&mData->ms, MENU_TYPE_RETURN);
@@ -450,8 +458,6 @@ static void MissionSummaryOnEnter(GameLoopData *data)
{
MissionSummaryData *mData = data->Data;
MusicPlayGeneral(&gSoundDevice.music, MUSIC_BRIEFING);
if (mData->completed && CanLevelSelect(mData->c->Entry.Mode))
{
AutosaveAdd(&gAutosave, &mData->c->Entry, mData->m->index, mData->m->NextMission, &gPlayerDatas);

View File

@@ -190,6 +190,8 @@ void MissionCopy(Mission *dst, const Mission *src)
dst->Music = src->Music;
switch (src->Music.Type)
{
case MUSIC_SRC_GENERAL:
break;
case MUSIC_SRC_DYNAMIC:
CSTRDUP(dst->Music.Data.Filename, src->Music.Data.Filename);
break;
@@ -488,6 +490,9 @@ void MissionBegin(struct MissionOptions *m, const NGameBegin gb)
m->state = MISSION_STATE_PLAY;
switch (m->missionData->Music.Type)
{
case MUSIC_SRC_GENERAL:
MusicPlayGeneral(&gSoundDevice.music, MUSIC_GAME);
break;
case MUSIC_SRC_DYNAMIC:
MusicPlayFile(
&gSoundDevice.music, MUSIC_GAME, gCampaign.Entry.Path,

View File

@@ -45,6 +45,9 @@ void MusicPlayerInit(MusicPlayer *mp)
LoadMusic(&mp->generalTracks[MUSIC_MENU], "music/menu");
LoadMusic(&mp->generalTracks[MUSIC_BRIEFING], "music/briefing");
LoadMusic(&mp->generalTracks[MUSIC_GAME], "music/game");
LoadMusic(&mp->generalTracks[MUSIC_END], "music/end");
LoadMusic(&mp->generalTracks[MUSIC_LOSE], "music/lose");
LoadMusic(&mp->generalTracks[MUSIC_VICTORY], "music/victory");
}
static void LoadMusic(CArray *tracks, const char *path)
{

View File

@@ -62,9 +62,9 @@ typedef enum
MUSIC_MENU,
MUSIC_BRIEFING,
MUSIC_GAME,
// TODO: end music
// TODO: lose music
// TODO: victory music
MUSIC_END,
MUSIC_LOSE,
MUSIC_VICTORY,
MUSIC_COUNT
} MusicType;

View File

@@ -372,6 +372,9 @@ GameLoopData *ScreenVictory(Campaign *c)
PlayerListNew(PlayerListUpdate, VictoryDraw, data, true, false);
pl->pos.y = 75;
pl->size.y -= pl->pos.y;
MusicPlayFromChunk(
&gSoundDevice.music, MUSIC_VICTORY,
&gCampaign.Setting.CustomSongs[MUSIC_VICTORY]);
return PlayerListLoop(pl);
}
static void VictoryDraw(void *data)