Skip to content

Commit 111cffe

Browse files
committed
Move non-default DSi-based UI music into a new add-on
1 parent f725817 commit 111cffe

File tree

10 files changed

+57
-20
lines changed

10 files changed

+57
-20
lines changed

.github/workflows/nightly.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ jobs:
6969
rm -rf TWiLightMenu/DSi\&3DS\ -\ SD\ card\ users
7070
rm -rf TWiLightMenu/3DS\ -\ CFW\ users
7171
rm -rf TWiLightMenu/Flashcard\ users
72+
rm -rf TWiLightMenu/Extra\ UI\ Music
7273
rm -rf TWiLightMenu/Multimedia
7374
rm -rf TWiLightMenu/Virtual\ Console
7475
rm -rf TWiLightMenu/_nds/GBARunner2_arm7dldi_3ds.nds
@@ -87,6 +88,7 @@ jobs:
8788
rm -rf TWiLightMenu/DSi\&3DS\ -\ SD\ card\ users
8889
rm -rf TWiLightMenu/DSi\ -\ CFW\ users
8990
rm -rf TWiLightMenu/Flashcard\ users
91+
rm -rf TWiLightMenu/Extra\ UI\ Music
9092
rm -rf TWiLightMenu/Multimedia
9193
rm -rf TWiLightMenu/Virtual\ Console
9294
rm -rf TWiLightMenu/_nds/GBARunner2_arm7dldi_dsi.nds
@@ -105,6 +107,7 @@ jobs:
105107
rm -rf TWiLightMenu/3DS\ -\ CFW\ users
106108
rm -rf TWiLightMenu/DSi\&3DS\ -\ SD\ card\ users
107109
rm -rf TWiLightMenu/DSi\ -\ CFW\ users
110+
rm -rf TWiLightMenu/Extra\ UI\ Music
108111
rm -rf TWiLightMenu/Multimedia
109112
rm -rf TWiLightMenu/Virtual\ Console
110113
7z a TWiLightMenu-Flashcard.7z TWiLightMenu
@@ -122,6 +125,12 @@ jobs:
122125
7z a AddOn-Multimedia.7z TWiLightMenu
123126
mv AddOn-Multimedia.7z ~/artifacts
124127
128+
# Extra UI Music Add-on 7z
129+
rm -rf TWiLightMenu
130+
cp -r 7zfile/Extra\ UI\ Music/ TWiLightMenu
131+
7z a AddOn-ExtraUIMusic.7z TWiLightMenu
132+
mv AddOn-ExtraUIMusic.7z ~/artifacts
133+
125134
# widescreen.pck
126135
cp 7zfile/_nds/TWiLightMenu/extras/widescreen.pck ~/artifacts
127136
- name: Publish build to GH Actions

.github/workflows/release.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ jobs:
8686
rm -rf DSi\&3DS\ -\ SD\ card\ users
8787
rm -rf 3DS\ -\ CFW\ users
8888
rm -rf Flashcard\ users
89+
rm -rf Extra\ UI\ Music
8990
rm -rf Multimedia
9091
rm -rf Virtual\ Console
9192
rm -rf _nds/GBARunner2_arm7dldi_3ds.nds
@@ -106,6 +107,7 @@ jobs:
106107
rm -rf DSi\&3DS\ -\ SD\ card\ users
107108
rm -rf DSi\ -\ CFW\ users
108109
rm -rf Flashcard\ users
110+
rm -rf Extra\ UI\ Music
109111
rm -rf Multimedia
110112
rm -rf Virtual\ Console
111113
rm -rf _nds/GBARunner2_arm7dldi_dsi.nds
@@ -126,6 +128,7 @@ jobs:
126128
rm -rf 3DS\ -\ CFW\ users
127129
rm -rf DSi\&3DS\ -\ SD\ card\ users
128130
rm -rf DSi\ -\ CFW\ users
131+
rm -rf Extra\ UI\ Music
129132
rm -rf Multimedia
130133
rm -rf Virtual\ Console
131134
7z a TWiLightMenu-Flashcard.7z
@@ -175,6 +178,14 @@ jobs:
175178
7z a AddOn-Multimedia.7z
176179
mv AddOn-Multimedia.7z ~/artifacts
177180
181+
# Extra UI Music Add-on 7z
182+
cd ..
183+
rm -rf TWiLightMenu
184+
cp -r 7zfile/Extra\ UI\ Music/ TWiLightMenu
185+
cd TWiLightMenu
186+
7z a AddOn-ExtraUIMusic.7z
187+
mv AddOn-ExtraUIMusic.7z ~/artifacts
188+
178189
- name: Publish build to GH Actions
179190
uses: actions/upload-artifact@v4
180191
with:

romsel_dsimenutheme/nitrofiles/sound/defaultbg3d.wav renamed to 7zfile/Extra UI Music/_nds/TWiLightMenu/addons/Extra UI Music/dsimenu/defaultbg3d.wav

File renamed without changes.

romsel_dsimenutheme/nitrofiles/sound/hbl.loop.wav renamed to 7zfile/Extra UI Music/_nds/TWiLightMenu/addons/Extra UI Music/dsimenu/hbl.loop.wav

File renamed without changes.

romsel_dsimenutheme/nitrofiles/sound/hbl.start.wav renamed to 7zfile/Extra UI Music/_nds/TWiLightMenu/addons/Extra UI Music/dsimenu/hbl.start.wav

File renamed without changes.

romsel_dsimenutheme/nitrofiles/sound/shopbg.loop.wav renamed to 7zfile/Extra UI Music/_nds/TWiLightMenu/addons/Extra UI Music/dsimenu/shopbg.loop.wav

File renamed without changes.

romsel_dsimenutheme/nitrofiles/sound/shopbg.start.wav renamed to 7zfile/Extra UI Music/_nds/TWiLightMenu/addons/Extra UI Music/dsimenu/shopbg.start.wav

File renamed without changes.

romsel_dsimenutheme/arm9/source/graphics/themefilenames.h

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535

3636
#define TFN_SYSTEM_UI_DIRECTORY TFN_SYSTEM_DIR"themes/"
3737
#define TFN_SYSTEM_SOUND_DIRECTORY "nitro:/sound"
38+
#define TFN_SYSTEM_SOUND_ADDON_DIRECTORY "/_nds/TWiLightMenu/addons/Extra UI Music/dsimenu"
3839
#define TFN_SYSTEM_SOUND_CACHE_DIRECTORY "/_nds/TWiLightMenu/cache/music"
3940

4041
#define TFN_UI_DIRECTORY tfn().uiDirectory() +
@@ -154,13 +155,13 @@
154155

155156
#define TFN_DEFAULT_SOUND_EFFECTBANK TFN_SYSTEM_SOUND_DIRECTORY"/defaultfx.bin"
156157
#define TFN_DEFAULT_SOUND_BG TFN_SYSTEM_SOUND_DIRECTORY"/defaultbg.wav"
157-
#define TFN_DEFAULT_SOUND_BG_3D TFN_SYSTEM_SOUND_DIRECTORY"/defaultbg3d.wav"
158+
#define TFN_DEFAULT_SOUND_BG_3D TFN_SYSTEM_SOUND_ADDON_DIRECTORY"/defaultbg3d.wav"
158159

159-
#define TFN_SHOP_START_SOUND_BG TFN_SYSTEM_SOUND_DIRECTORY"/shopbg.start.wav"
160-
#define TFN_SHOP_LOOP_SOUND_BG TFN_SYSTEM_SOUND_DIRECTORY"/shopbg.loop.wav"
160+
#define TFN_SHOP_START_SOUND_BG TFN_SYSTEM_SOUND_ADDON_DIRECTORY"/shopbg.start.wav"
161+
#define TFN_SHOP_LOOP_SOUND_BG TFN_SYSTEM_SOUND_ADDON_DIRECTORY"/shopbg.loop.wav"
161162

162-
#define TFN_HBL_START_SOUND_BG TFN_SYSTEM_SOUND_DIRECTORY"/hbl.start.wav"
163-
#define TFN_HBL_LOOP_SOUND_BG TFN_SYSTEM_SOUND_DIRECTORY"/hbl.loop.wav"
163+
#define TFN_HBL_START_SOUND_BG TFN_SYSTEM_SOUND_ADDON_DIRECTORY"/hbl.start.wav"
164+
#define TFN_HBL_LOOP_SOUND_BG TFN_SYSTEM_SOUND_ADDON_DIRECTORY"/hbl.loop.wav"
164165

165166
#define TFN_SATURN_SOUND_EFFECTBANK TFN_SYSTEM_SOUND_DIRECTORY"/saturnfx.bin"
166167

romsel_dsimenutheme/arm9/source/sound.cpp

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -195,13 +195,17 @@ void SoundControl::loadStream(const bool prepMsg) {
195195
switch(ms().dsiMusic) {
196196
case 5: // HBL
197197
case 2: // DSi Shop
198-
stream.sampling_rate = 44100; // 44100Hz
199-
stream.format = MM_STREAM_16BIT_MONO;
200-
stream_start_source = fopen(std::string(ms().dsiMusic == 5 ? TFN_HBL_START_SOUND_BG : TFN_SHOP_START_SOUND_BG).c_str(), "rb");
201-
stream_source = fopen(std::string(ms().dsiMusic == 5 ? TFN_HBL_LOOP_SOUND_BG : TFN_SHOP_LOOP_SOUND_BG).c_str(), "rb");
202-
seekPos = 0x2C;
203-
loopableMusic = true;
204-
break;
198+
{ std::string loopPath = std::string(ms().dsiMusic == 5 ? TFN_HBL_LOOP_SOUND_BG : TFN_SHOP_LOOP_SOUND_BG);
199+
if (access(loopPath.c_str(), F_OK) == 0) {
200+
stream.sampling_rate = 44100; // 44100Hz
201+
stream.format = MM_STREAM_16BIT_MONO;
202+
stream_start_source = fopen(std::string(ms().dsiMusic == 5 ? TFN_HBL_START_SOUND_BG : TFN_SHOP_START_SOUND_BG).c_str(), "rb");
203+
stream_source = fopen(loopPath.c_str(), "rb");
204+
seekPos = 0x2C;
205+
loopableMusic = true;
206+
break;
207+
}
208+
}
205209
case 3: { // Theme
206210
bool customSkin = false;
207211
switch (ms().theme) {
@@ -278,8 +282,8 @@ void SoundControl::loadStream(const bool prepMsg) {
278282
case 4:
279283
case 1:
280284
default: {
281-
bool use3DSMusic = ms().dsiMusic == 4 || (ms().dsiMusic == 3 && ms().theme == TWLSettings::ETheme3DS);
282-
bool useHBLMusic = ms().dsiMusic == 3 && ms().theme == TWLSettings::EThemeHBL;
285+
const bool use3DSMusic = (ms().dsiMusic == 4 || (ms().dsiMusic == 3 && ms().theme == TWLSettings::ETheme3DS)) && (access(std::string(TFN_DEFAULT_SOUND_BG_3D).c_str(), F_OK) == 0);
286+
const bool useHBLMusic = (ms().dsiMusic == 3) && (ms().theme == TWLSettings::EThemeHBL) && (access(std::string(TFN_HBL_LOOP_SOUND_BG).c_str(), F_OK) == 0);
283287
stream.sampling_rate = useHBLMusic ? 44100 : (use3DSMusic ? 32000 : 16000); // 44100Hz, 32000Hz, or 16000Hz
284288
stream.format = MM_STREAM_16BIT_MONO;
285289
if (useHBLMusic) {

settings/arm9/source/main.cpp

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1019,6 +1019,7 @@ int settingsMode(void)
10191019

10201020
const bool gbaR3Found = (access(sys().isRunFromSD() ? "sd:/_nds/TWiLightMenu/emulators/GBARunner3.nds" : "fat:/_nds/TWiLightMenu/emulators/GBARunner3.nds", F_OK) == 0);
10211021

1022+
const bool extraUIMusicInstalled = (access(sys().isRunFromSD() ? "sd:/_nds/TWiLightMenu/addons/Extra UI Music" : "fat:/_nds/TWiLightMenu/addons/Extra UI Music", F_OK) == 0);
10221023
const bool emulatorsInstalled = (access(sys().isRunFromSD() ? "sd:/_nds/TWiLightMenu/addons/Virtual Console" : "fat:/_nds/TWiLightMenu/addons/Virtual Console", F_OK) == 0);
10231024

10241025
const bool sharedFound = (access("sd:/shared1", F_OK) == 0);
@@ -1145,12 +1146,23 @@ int settingsMode(void)
11451146
{STR_PRESS_A},
11461147
{0})
11471148
.option(STR_DSCLASSICMENU, STR_DESCRIPTION_DSCLASSICMENU, Option::Bool(&ms().showMainMenu), {STR_YES, STR_NO}, {true, false})
1148-
.option("DSi/Saturn: SELECT", STR_DESCRIPTION_SELECTBUTTONOPTION, Option::Bool(&ms().showSelectMenu), {STR_SELECT_MENU, STR_DS_CLASSIC_MENU}, {true, false})
1149-
.option(STR_DSIMUSIC,
1150-
STR_DESCRIPTION_DSIMUSIC,
1151-
Option::Int((int *)&ms().dsiMusic),
1152-
{STR_OFF, STR_REGULAR+" (DSi)", STR_REGULAR+" (3DS)", STR_DSI_SHOP, "HBL", STR_CUSTOM_THEME},
1153-
{TDSiMusic::EMusicOff, TDSiMusic::EMusicRegular, TDSiMusic::EMusicRegular3D, TDSiMusic::EMusicShop, TDSiMusic::EMusicHBL, TDSiMusic::EMusicTheme})
1149+
.option("DSi/Saturn: SELECT", STR_DESCRIPTION_SELECTBUTTONOPTION, Option::Bool(&ms().showSelectMenu), {STR_SELECT_MENU, STR_DS_CLASSIC_MENU}, {true, false});
1150+
if (extraUIMusicInstalled) {
1151+
guiPage
1152+
.option(STR_DSIMUSIC,
1153+
STR_DESCRIPTION_DSIMUSIC,
1154+
Option::Int((int *)&ms().dsiMusic),
1155+
{STR_OFF, STR_REGULAR+" (DSi)", STR_REGULAR+" (3DS)", STR_DSI_SHOP, "HBL", STR_CUSTOM_THEME},
1156+
{TDSiMusic::EMusicOff, TDSiMusic::EMusicRegular, TDSiMusic::EMusicRegular3D, TDSiMusic::EMusicShop, TDSiMusic::EMusicHBL, TDSiMusic::EMusicTheme});
1157+
} else {
1158+
guiPage
1159+
.option(STR_DSIMUSIC,
1160+
STR_DESCRIPTION_DSIMUSIC,
1161+
Option::Int((int *)&ms().dsiMusic),
1162+
{STR_OFF, STR_ON, STR_CUSTOM_THEME},
1163+
{TDSiMusic::EMusicOff, TDSiMusic::EMusicRegular, TDSiMusic::EMusicTheme});
1164+
}
1165+
guiPage
11541166
.option(STR_SETTINGSMUSIC,
11551167
STR_DESCRIPTION_SETTINGSMUSIC,
11561168
Option::Int((int *)&ms().settingsMusic),

0 commit comments

Comments
 (0)