Add 6 *Sonic Mania* BGM

ALSO: DS(i): Bug fix
This commit is contained in:
RocketRobz 2021-06-29 19:10:06 -06:00
parent 76a6641b99
commit bb449e688b
27 changed files with 100 additions and 9 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -10,26 +10,59 @@ extern bool dspfirmfound;
void loadMusic(int num) {
if (!dspfirmfound) return;
const char* startName = "";
const char* loopName = "";
switch (num) {
case 0: // Pokemon Stadium - Stadium Select
default:
music = new sound("romfs:/music/pkmnStadium/stadiumSel_start.wav", 0, false);
music_loop = new sound("romfs:/music/pkmnStadium/stadiumSel_loop.wav", 1, true);
startName = "romfs:/music/pkmnStadium/stadiumSel_start.wav";
loopName = "romfs:/music/pkmnStadium/stadiumSel_loop.wav";
break;
case 1: // MegaMan: Battle and Chase - The Straight Out
music = new sound("romfs:/music/mmBattleAndChase/straightOut_start.wav", 0, false);
music_loop = new sound("romfs:/music/mmBattleAndChase/straightOut_loop.wav", 1, true);
startName = "romfs:/music/mmBattleAndChase/straightOut_start.wav";
loopName = "romfs:/music/mmBattleAndChase/straightOut_loop.wav";
break;
case 2: // Mario Golf: Advance Tour - Marion Club
music = new sound("romfs:/music/marioGolfAdvanceTour/marionClub_start.wav", 0, false);
music_loop = new sound("romfs:/music/marioGolfAdvanceTour/marionClub_loop.wav", 1, true);
startName = "romfs:/music/marioGolfAdvanceTour/marionClub_start.wav";
loopName = "romfs:/music/marioGolfAdvanceTour/marionClub_loop.wav";
break;
case 3: // Tetris Party - Title Screen
music = new sound("romfs:/music/tetrisParty/titleScreen_start.wav", 0, false);
music_loop = new sound("romfs:/music/tetrisParty/titleScreen_loop.wav", 1, true);
startName = "romfs:/music/tetrisParty/titleScreen_start.wav";
loopName = "romfs:/music/tetrisParty/titleScreen_loop.wav";
break;
case 4: // Tetris Party - Main Menu
music_loop = new sound("romfs:/music/tetrisParty/mainMenu.wav", 1, true);
loopName = "romfs:/music/tetrisParty/mainMenu.wav";
break;
case 5: // Sonic Mania - Main Menu: "Comfort Zone"
startName = "romfs:/music/sonicMania/mainMenu_start.wav";
loopName = "romfs:/music/sonicMania/mainMenu_loop.wav";
break;
case 6: // Sonic Mania - Angel Island Zone
loopName = "romfs:/music/sonicMania/angelIslandZone.wav";
break;
case 7: // Sonic Mania - Green Hill Zone: Act 1
startName = "romfs:/music/sonicMania/greenHillZoneAct1_start.wav";
loopName = "romfs:/music/sonicMania/greenHillZoneAct1_loop.wav";
break;
case 8: // Sonic Mania - Green Hill Zone: Act 2
startName = "romfs:/music/sonicMania/greenHillZoneAct2_start.wav";
loopName = "romfs:/music/sonicMania/greenHillZoneAct2_loop.wav";
break;
case 9: // Sonic Mania - Studiopolis Zone: Act 1
startName = "romfs:/music/sonicMania/studiopolisZoneAct1_start.wav";
loopName = "romfs:/music/sonicMania/studiopolisZoneAct1_loop.wav";
break;
case 10: // Sonic Mania - Special Stage: "Dimension Heist"
startName = "romfs:/music/sonicMania/specialStage_start.wav";
loopName = "romfs:/music/sonicMania/specialStage_loop.wav";
break;
}
if (access(startName, F_OK) == 0) {
music = new sound(startName, 0, false);
}
if (access(loopName, F_OK) == 0) {
music_loop = new sound(loopName, 1, true);
}
}

View File

@ -0,0 +1,17 @@
const char* sonicManiaBgmNames[] = {
"Main Menu",
"Angel Island Zone",
"Green Hill Zone 1",
"Green Hill Zone 2",
"Studiopolis Zone 1",
"Special Stage",
};
int sonicManiaBgmNums[] = {
5,
6,
7,
8,
9,
10,
};

View File

@ -34,6 +34,35 @@ void loadMusic(int num) {
loopName = "nitro:/music/tetrisParty/mainMenu.raw";
sampleRate = 48000;
break;
case 5: // Sonic Mania - Main Menu: "Comfort Zone"
startName = "nitro:/music/sonicMania/mainMenu_start.raw";
loopName = "nitro:/music/sonicMania/mainMenu_loop.raw";
sampleRate = 44100;
break;
case 6: // Sonic Mania - Angel Island Zone
loopName = "nitro:/music/sonicMania/angelIslandZone.raw";
sampleRate = 44100;
break;
case 7: // Sonic Mania - Green Hill Zone: Act 1
startName = "nitro:/music/sonicMania/greenHillZoneAct1_start.raw";
loopName = "nitro:/music/sonicMania/greenHillZoneAct1_loop.raw";
sampleRate = 44100;
break;
case 8: // Sonic Mania - Green Hill Zone: Act 2
startName = "nitro:/music/sonicMania/greenHillZoneAct2_start.raw";
loopName = "nitro:/music/sonicMania/greenHillZoneAct2_loop.raw";
sampleRate = 44100;
break;
case 9: // Sonic Mania - Studiopolis Zone: Act 1
startName = "nitro:/music/sonicMania/studiopolisZoneAct1_start.raw";
loopName = "nitro:/music/sonicMania/studiopolisZoneAct1_loop.raw";
sampleRate = 44100;
break;
case 10: // Sonic Mania - Special Stage: "Dimension Heist"
startName = "nitro:/music/sonicMania/specialStage_start.raw";
loopName = "nitro:/music/sonicMania/specialStage_loop.raw";
sampleRate = 44100;
break;
}
snd().loadStream(startName, loopName, sampleRate, true);
}

View File

@ -112,6 +112,7 @@ void SoundControl::loadStream(const char* path, const char* loopPath, u32 sample
stream_source = fopen(loopPath, "rb");
if (!stream_source) return;
bool loopableMusic = stream_start_source ? true : false;
loopingPoint = false;
fseek(stream_source, 0, SEEK_SET);

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -33,6 +33,7 @@
#include "marioGolfAdvanceTourBgmNames.h"
#include "mmBattleAndChaseBgmNames.h"
#include "pkmnStadiumBgmNames.h"
#include "sonicManiaBgmNames.h"
#include "tetrisPartyBgmNames.h"
#include <unistd.h>
@ -117,6 +118,7 @@ static u8 bgmPageOrder[] = {
2, // Mario Golf: Advance Tour
1, // MegaMan: Battle and Chase
0, // Pokemon Stadium
4, // Sonic Mania
3, // Tetris Party
};
@ -152,6 +154,9 @@ void PhotoStudio::getMaxChars() {
case 3:
import_totalCharacters = 1;
break;
case 4:
import_totalCharacters = 5;
break;
}
} else if (subScreenMode == 1) {
// Locations
@ -695,6 +700,8 @@ const char* PhotoStudio::bgmGameTitle(void) const {
return "Mario Golf: Advance Tour";
case 3:
return "Tetris Party";
case 4:
return "Sonic Mania";
}
return "???";
}
@ -773,6 +780,8 @@ const char* PhotoStudio::bgmName(int i) const {
return marioGolfAdvanceTourBgmNames[i];
case 3:
return tetrisPartyBgmNames[i];
case 4:
return sonicManiaBgmNames[i];
}
return "???";
}
@ -807,6 +816,8 @@ int PhotoStudio::getBgmNum(void) const {
return marioGolfAdvanceTourBgmNums[bgmList_cursorPosition];
case 3:
return tetrisPartyBgmNums[bgmList_cursorPosition];
case 4:
return sonicManiaBgmNums[bgmList_cursorPosition];
}
return 0;
}