diff --git a/3ds/romfs/music/superMarioBros/overworld_loop.wav b/3ds/romfs/music/superMarioBros/overworld_loop.wav new file mode 100644 index 0000000..4b8990e Binary files /dev/null and b/3ds/romfs/music/superMarioBros/overworld_loop.wav differ diff --git a/3ds/romfs/music/superMarioBros/overworld_start.wav b/3ds/romfs/music/superMarioBros/overworld_start.wav new file mode 100644 index 0000000..c8848cc Binary files /dev/null and b/3ds/romfs/music/superMarioBros/overworld_start.wav differ diff --git a/3ds/source/bgm.cpp b/3ds/source/bgm.cpp index 6754a7e..15c29c8 100644 --- a/3ds/source/bgm.cpp +++ b/3ds/source/bgm.cpp @@ -169,6 +169,10 @@ void loadMusic(int num) { case 41: // Style Savvy - Dominic's Mansion loopName = "romfs:/music/styleSavvy/mansion.wav"; break; + case 42: // Super Mario Bros. - Overworld + startName = "romfs:/music/superMarioBros/overworld_start.wav"; + loopName = "romfs:/music/superMarioBros/overworld_loop.wav"; + break; } if (access(startName, F_OK) == 0) { diff --git a/include/superMarioBrosBgmNames.h b/include/superMarioBrosBgmNames.h new file mode 100644 index 0000000..9eded19 --- /dev/null +++ b/include/superMarioBrosBgmNames.h @@ -0,0 +1,9 @@ +const char* superMarioBrosBgmNames[] = { + "Overworld", + "", + "", +}; + +int superMarioBrosBgmNums[] = { + 42, +}; diff --git a/nds/arm9/include/sound.h b/nds/arm9/include/sound.h index d4daf24..42c11f4 100644 --- a/nds/arm9/include/sound.h +++ b/nds/arm9/include/sound.h @@ -37,8 +37,6 @@ class SoundControl { bool stream_is_stereo; bool loopingPoint; bool looping; - //mm_sound_effect snd_loading; - mm_sound_effect mus_startup; FILE* stream_start_source; FILE* stream_source; }; diff --git a/nds/arm9/source/bgm.cpp b/nds/arm9/source/bgm.cpp index 8a88a09..0fc179e 100644 --- a/nds/arm9/source/bgm.cpp +++ b/nds/arm9/source/bgm.cpp @@ -24,7 +24,7 @@ void loadMusic(int num) { case 2: // Mario Golf: Advance Tour - Marion Club startName = "nitro:/music/marioGolfAdvanceTour/marionClub_start.raw"; loopName = "nitro:/music/marioGolfAdvanceTour/marionClub_loop.raw"; - sampleRate = 48000; + sampleRate = 32000; break; case 3: // Tetris Party - Title Screen startName = "nitro:/music/tetrisParty/titleScreen_start.raw"; @@ -127,7 +127,7 @@ void loadMusic(int num) { break; case 23: // Style Savvy: Trendsetters - Brad's Theme loopName = "nitro:/music/styleSavvy2/musashi.raw"; - sampleRate = 32728; + sampleRate = 22050; break; case 24: // Style Savvy: Trendsetters - Buyer's Center startName = "nitro:/music/styleSavvy2/exhibition_start.raw"; @@ -150,7 +150,7 @@ void loadMusic(int num) { break; case 28: // Style Savvy: Trendsetters - Fashion Contest Menu loopName = "nitro:/music/styleSavvy2/contest.raw"; - sampleRate = 32728; + sampleRate = 22050; break; case 29: // Style Savvy: Trendsetters - MC Mode's Theme loopName = "nitro:/music/styleSavvy2/contestDJ.raw"; @@ -182,15 +182,15 @@ void loadMusic(int num) { case 35: // Style Savvy: Trendsetters - Rock Runway Theme startName = "nitro:/music/styleSavvy2/runway05_start.raw"; loopName = "nitro:/music/styleSavvy2/runway05_loop.raw"; - sampleRate = 32728; + sampleRate = 22050; break; case 36: // Style Savvy: Trendsetters - Wireless Shop loopName = "nitro:/music/styleSavvy2/girlsMall.raw"; - sampleRate = 32728; + sampleRate = 22050; break; case 37: // Style Savvy: Trendsetters - Main Shop Data loopName = "nitro:/music/styleSavvy2/personalCheck.raw"; - sampleRate = 32728; + sampleRate = 22050; break; case 38: // Style Savvy - Hair Salon loopName = "nitro:/music/styleSavvy/hairSalon.raw"; @@ -209,6 +209,12 @@ void loadMusic(int num) { loopName = "nitro:/music/styleSavvy/mansion.raw"; sampleRate = 32000; break; + case 42: // Super Mario Bros. - Overworld + startName = "nitro:/music/superMarioBros/overworld_start.raw"; + loopName = "nitro:/music/superMarioBros/overworld_loop.raw"; + sampleRate = 32000; + stereo = false; + break; } snd().loadStream(startName, loopName, sampleRate, stereo, true); } diff --git a/nds/nitrofiles/music/marioGolfAdvanceTour/marionClub_loop.raw b/nds/nitrofiles/music/marioGolfAdvanceTour/marionClub_loop.raw index 795bb68..96a0fff 100644 Binary files a/nds/nitrofiles/music/marioGolfAdvanceTour/marionClub_loop.raw and b/nds/nitrofiles/music/marioGolfAdvanceTour/marionClub_loop.raw differ diff --git a/nds/nitrofiles/music/marioGolfAdvanceTour/marionClub_start.raw b/nds/nitrofiles/music/marioGolfAdvanceTour/marionClub_start.raw index 2c3dd0f..85adf97 100644 Binary files a/nds/nitrofiles/music/marioGolfAdvanceTour/marionClub_start.raw and b/nds/nitrofiles/music/marioGolfAdvanceTour/marionClub_start.raw differ diff --git a/nds/nitrofiles/music/styleSavvy2/contest.raw b/nds/nitrofiles/music/styleSavvy2/contest.raw index 9ef641c..686f19b 100644 Binary files a/nds/nitrofiles/music/styleSavvy2/contest.raw and b/nds/nitrofiles/music/styleSavvy2/contest.raw differ diff --git a/nds/nitrofiles/music/styleSavvy2/girlsMall.raw b/nds/nitrofiles/music/styleSavvy2/girlsMall.raw index cc0e9dd..b0c59da 100644 Binary files a/nds/nitrofiles/music/styleSavvy2/girlsMall.raw and b/nds/nitrofiles/music/styleSavvy2/girlsMall.raw differ diff --git a/nds/nitrofiles/music/styleSavvy2/musashi.raw b/nds/nitrofiles/music/styleSavvy2/musashi.raw index 85c4ee6..525c32f 100644 Binary files a/nds/nitrofiles/music/styleSavvy2/musashi.raw and b/nds/nitrofiles/music/styleSavvy2/musashi.raw differ diff --git a/nds/nitrofiles/music/styleSavvy2/personalCheck.raw b/nds/nitrofiles/music/styleSavvy2/personalCheck.raw index 9d9958b..4102cb3 100644 Binary files a/nds/nitrofiles/music/styleSavvy2/personalCheck.raw and b/nds/nitrofiles/music/styleSavvy2/personalCheck.raw differ diff --git a/nds/nitrofiles/music/styleSavvy2/runway05_loop.raw b/nds/nitrofiles/music/styleSavvy2/runway05_loop.raw index 88bb92d..bdddc1e 100644 Binary files a/nds/nitrofiles/music/styleSavvy2/runway05_loop.raw and b/nds/nitrofiles/music/styleSavvy2/runway05_loop.raw differ diff --git a/nds/nitrofiles/music/styleSavvy2/runway05_start.raw b/nds/nitrofiles/music/styleSavvy2/runway05_start.raw index 5dec66d..7957e1e 100644 Binary files a/nds/nitrofiles/music/styleSavvy2/runway05_start.raw and b/nds/nitrofiles/music/styleSavvy2/runway05_start.raw differ diff --git a/nds/nitrofiles/music/superMarioBros/overworld_loop.raw b/nds/nitrofiles/music/superMarioBros/overworld_loop.raw new file mode 100644 index 0000000..bd01f73 Binary files /dev/null and b/nds/nitrofiles/music/superMarioBros/overworld_loop.raw differ diff --git a/nds/nitrofiles/music/superMarioBros/overworld_start.raw b/nds/nitrofiles/music/superMarioBros/overworld_start.raw new file mode 100644 index 0000000..f296dce Binary files /dev/null and b/nds/nitrofiles/music/superMarioBros/overworld_start.raw differ diff --git a/nds/unused/Coding Secrets/How the music is compressed with no loss in quality.txt b/nds/unused/Coding Secrets/How the music is compressed with no loss in quality.txt new file mode 100644 index 0000000..21cf079 --- /dev/null +++ b/nds/unused/Coding Secrets/How the music is compressed with no loss in quality.txt @@ -0,0 +1,14 @@ +In the DS(i) version of Super Photo Studio, some work was done to keep the music file size down while retaining the high quality. + +Any reused or duplicated parts of the music are deleted, and the part that would be reused is put into a single file. +The parts would then be played in a sequence, for example: + +Super Mario Bros.: Overworld Theme +0, 1, 1, 2, 3, 2, 4, 2, 3, 2, 4, 5, 6, 5, 0, and so on... + +Depending on if: +* The music is stereo or mono +* The Hz is high or low +* How many reused parts of the music there is +You could save a huge amount of ROM space for more content, rather than using a single music stream file to take a lot of space. +For example, the music above is normally around 4 MB, but after opimzation, it's 1.20 MB. \ No newline at end of file diff --git a/nds/unused/music (optimized)/superMarioBros/overworld/0.raw b/nds/unused/music (optimized)/superMarioBros/overworld/0.raw new file mode 100644 index 0000000..2f580c7 Binary files /dev/null and b/nds/unused/music (optimized)/superMarioBros/overworld/0.raw differ diff --git a/nds/unused/music (optimized)/superMarioBros/overworld/1.raw b/nds/unused/music (optimized)/superMarioBros/overworld/1.raw new file mode 100644 index 0000000..370617a Binary files /dev/null and b/nds/unused/music (optimized)/superMarioBros/overworld/1.raw differ diff --git a/nds/unused/music (optimized)/superMarioBros/overworld/2.raw b/nds/unused/music (optimized)/superMarioBros/overworld/2.raw new file mode 100644 index 0000000..e7a807a Binary files /dev/null and b/nds/unused/music (optimized)/superMarioBros/overworld/2.raw differ diff --git a/nds/unused/music (optimized)/superMarioBros/overworld/3.raw b/nds/unused/music (optimized)/superMarioBros/overworld/3.raw new file mode 100644 index 0000000..dc83184 Binary files /dev/null and b/nds/unused/music (optimized)/superMarioBros/overworld/3.raw differ diff --git a/nds/unused/music (optimized)/superMarioBros/overworld/4.raw b/nds/unused/music (optimized)/superMarioBros/overworld/4.raw new file mode 100644 index 0000000..2de536d Binary files /dev/null and b/nds/unused/music (optimized)/superMarioBros/overworld/4.raw differ diff --git a/nds/unused/music (optimized)/superMarioBros/overworld/5.raw b/nds/unused/music (optimized)/superMarioBros/overworld/5.raw new file mode 100644 index 0000000..7c09ac0 Binary files /dev/null and b/nds/unused/music (optimized)/superMarioBros/overworld/5.raw differ diff --git a/nds/unused/music (optimized)/superMarioBros/overworld/6.raw b/nds/unused/music (optimized)/superMarioBros/overworld/6.raw new file mode 100644 index 0000000..2fbddd1 Binary files /dev/null and b/nds/unused/music (optimized)/superMarioBros/overworld/6.raw differ diff --git a/nds/unused/music (optimized)/superMarioBros/overworld/7.raw b/nds/unused/music (optimized)/superMarioBros/overworld/7.raw new file mode 100644 index 0000000..4530a33 Binary files /dev/null and b/nds/unused/music (optimized)/superMarioBros/overworld/7.raw differ diff --git a/nds/unused/music (optimized)/superMarioBros/overworld/8.raw b/nds/unused/music (optimized)/superMarioBros/overworld/8.raw new file mode 100644 index 0000000..36e405f Binary files /dev/null and b/nds/unused/music (optimized)/superMarioBros/overworld/8.raw differ diff --git a/nds/unused/music (optimized)/superMarioBros/overworld/9.raw b/nds/unused/music (optimized)/superMarioBros/overworld/9.raw new file mode 100644 index 0000000..7faec7e Binary files /dev/null and b/nds/unused/music (optimized)/superMarioBros/overworld/9.raw differ diff --git a/nds/unused/music (optimized)/superMarioBros/overworld/sequence.bin b/nds/unused/music (optimized)/superMarioBros/overworld/sequence.bin new file mode 100644 index 0000000..10d7959 Binary files /dev/null and b/nds/unused/music (optimized)/superMarioBros/overworld/sequence.bin differ diff --git a/source/screens/photoStudio.cpp b/source/screens/photoStudio.cpp index 4008277..8689a07 100644 --- a/source/screens/photoStudio.cpp +++ b/source/screens/photoStudio.cpp @@ -36,6 +36,7 @@ #include "pkmnStadiumBgmNames.h" #include "savvyMgrBgmNames.h" #include "sonicManiaBgmNames.h" +#include "superMarioBrosBgmNames.h" #include "ss1BgmNames.h" #include "ss2BgmNames.h" #include "tetrisPartyBgmNames.h" @@ -127,6 +128,7 @@ static u8 bgmPageOrder[] = { 4, // Sonic Mania 5, // Style Savvy 8, // Style Savvy: Trendsetters + 9, // Super Mario Bros. 3, // Tetris Party }; @@ -181,6 +183,9 @@ void PhotoStudio::getMaxChars() { case 8: import_totalCharacters = 17; break; + case 9: + import_totalCharacters = 0; + break; } } else if (subScreenMode == 1) { // Locations @@ -735,6 +740,8 @@ const char* PhotoStudio::bgmGameTitle(void) const { return "Savvy Manager"; case 8: return ss2Title(); + case 9: + return "Super Mario Bros."; } return "???"; } @@ -823,6 +830,8 @@ const char* PhotoStudio::bgmName(int i) const { return savvyMgrBgmNames[i]; case 8: return ss2BgmNames[i]; + case 9: + return superMarioBrosBgmNames[i]; } return "???"; } @@ -867,6 +876,8 @@ int PhotoStudio::getBgmNum(void) const { return savvyMgrBgmNums[bgmList_cursorPosition]; case 8: return ss2BgmNums[bgmList_cursorPosition]; + case 9: + return superMarioBrosBgmNums[bgmList_cursorPosition]; } return 0; }