Skip to content

Commit 5818897

Browse files
committed
Add option to turn off DS(i) splash screen easter eggs
1 parent e125ffa commit 5818897

File tree

6 files changed

+21
-3
lines changed

6 files changed

+21
-3
lines changed

settings/arm9/source/language.inl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,9 @@ STRING(AUTOSTARTSLOT1, "Auto-start Slot-1")
296296
STRING(GBSPLASH, "GB Splash Screen")
297297
STRING(DSSPLASH, "DS Splash Screen")
298298
STRING(DSISPLASH, "DSi Splash Screen")
299+
STRING(GB_SPLASH_EASTER_EGGS, "GB Splash Easter Eggs")
300+
STRING(DS_SPLASH_EASTER_EGGS, "DS Splash Easter Eggs")
301+
STRING(DSI_SPLASH_EASTER_EGGS, "DSi Splash Easter Eggs")
299302
STRING(DSSPLASHAUTOSKIP, "DS Splash Auto-skip")
300303
STRING(DSISPLASHAUTOSKIP, "DSi Splash Auto-skip")
301304
STRING(NINTENDOLOGOCOLOR, "Nintendo Logo Color")
@@ -355,6 +358,9 @@ STRING(DESCRIPTION_AUTOSTARTSLOT1, "Auto-starts the game or flashcard in Slot-1.
355358
STRING(DESCRIPTION_GBSPLASH, "Select whether to show the Game Boy splash screen on boot.")
356359
STRING(DESCRIPTION_DSSPLASH, "Select whether to show the Nintendo DS splash screen on boot. Set to \"With H&S\" for the Health & Safety message to show on the bottom screen.")
357360
STRING(DESCRIPTION_DSISPLASH, "Select whether to show the Nintendo DSi splash screen on boot. Set to \"With H&S\" for the Health & Safety message to show on the bottom screen.")
361+
STRING(DESCRIPTION_GB_SPLASH_EASTER_EGGS, "Different versions of the GameBoy splash screen will be displayed on specific days (ex. anniversaries).")
362+
STRING(DESCRIPTION_DS_SPLASH_EASTER_EGGS, "Different versions of the DS splash screen will be displayed on specific days (ex. anniversaries).")
363+
STRING(DESCRIPTION_DSI_SPLASH_EASTER_EGGS, "Different versions of the DSi splash screen will be displayed on specific days (ex. anniversaries).")
358364
STRING(DESCRIPTION_DSSPLASHAUTOSKIP, "When enabled the Nintendo DS splash screen will automatically continue instead of waiting for you to touch the touch screen.")
359365
STRING(DESCRIPTION_DSISPLASHAUTOSKIP, "When enabled the Nintendo DSi splash screen will automatically continue instead of waiting for you to touch the touch screen.")
360366
STRING(DESCRIPTION_NINTENDOLOGOCOLOR, "Changes the color of the Nintendo logo that shows in the Nintendo DSi splash screen if you have a game card in.")

settings/arm9/source/main.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1191,11 +1191,13 @@ int settingsMode(void)
11911191
.option(STR_ROCKET_ROBZ_LOGO, ms().macroMode ? STR_DESCRIPTION_ROCKET_ROBZ_LOGO_MACRO : STR_DESCRIPTION_ROCKET_ROBZ_LOGO, Option::Bool(&ms().rocketRobzLogo), {STR_SHOW, STR_HIDE}, {true, false});
11921192
if (ms().macroMode) {
11931193
guiPage
1194-
.option(STR_GBSPLASH, STR_DESCRIPTION_GBSPLASH, Option::Int(&ms().dsiSplash), {STR_SHOW, STR_CUSTOM_SPLASH, STR_HIDE}, {(ms().dsiSplash==2 ? 2 : 1), 3, 0});
1194+
.option(STR_GBSPLASH, STR_DESCRIPTION_GBSPLASH, Option::Int(&ms().dsiSplash), {STR_SHOW, STR_CUSTOM_SPLASH, STR_HIDE}, {(ms().dsiSplash==2 ? 2 : 1), 3, 0})
1195+
.option(STR_GB_SPLASH_EASTER_EGGS, STR_DESCRIPTION_GB_SPLASH_EASTER_EGGS, Option::Bool(&ms().dsiSplashEasterEggs), {STR_OFF, STR_ON}, {false, true});
11951196
} else {
11961197
guiPage
11971198
.option(sys().isRegularDS() ? STR_DSSPLASH : STR_DSISPLASH, sys().isRegularDS() ? STR_DESCRIPTION_DSSPLASH : STR_DESCRIPTION_DSISPLASH, Option::Int(&ms().dsiSplash), {STR_WITHOUT_HS, STR_WITH_HS, STR_CUSTOM_SPLASH, STR_HIDE}, {1, 2, 3, 0})
1198-
.option(sys().isRegularDS() ? STR_DSSPLASHAUTOSKIP : STR_DSISPLASHAUTOSKIP, sys().isRegularDS() ? STR_DESCRIPTION_DSSPLASHAUTOSKIP : STR_DESCRIPTION_DSISPLASHAUTOSKIP, Option::Bool(&ms().dsiSplashAutoSkip), {STR_OFF, STR_ON}, {false, true});
1199+
.option(sys().isRegularDS() ? STR_DSSPLASHAUTOSKIP : STR_DSISPLASHAUTOSKIP, sys().isRegularDS() ? STR_DESCRIPTION_DSSPLASHAUTOSKIP : STR_DESCRIPTION_DSISPLASHAUTOSKIP, Option::Bool(&ms().dsiSplashAutoSkip), {STR_OFF, STR_ON}, {false, true})
1200+
.option(sys().isRegularDS() ? STR_DS_SPLASH_EASTER_EGGS : STR_DSI_SPLASH_EASTER_EGGS, sys().isRegularDS() ? STR_DESCRIPTION_DS_SPLASH_EASTER_EGGS : STR_DESCRIPTION_DSI_SPLASH_EASTER_EGGS, Option::Bool(&ms().dsiSplashEasterEggs), {STR_OFF, STR_ON}, {false, true});
11991201
}
12001202
guiPage
12011203
.option(STR_NINTENDOLOGOCOLOR, STR_DESCRIPTION_NINTENDOLOGOCOLOR, Option::Int(&ms().nintendoLogoColor), {STR_RED, STR_BLUE, STR_MAGENTA, STR_GRAY}, {1, 2, 3, 0})

settings/nitrofiles/languages/en/language.ini

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,9 @@ AUTOSTARTSLOT1=Auto-start Slot-1
282282
GBSPLASH=GB Splash Screen
283283
DSSPLASH=DS Splash Screen
284284
DSISPLASH=DSi Splash Screen
285+
GB_SPLASH_EASTER_EGGS=GB Splash Easter Eggs
286+
DS_SPLASH_EASTER_EGGS=DS Splash Easter Eggs
287+
DSI_SPLASH_EASTER_EGGS=DSi Splash Easter Eggs
285288
DSSPLASHAUTOSKIP=DS Splash Auto-skip
286289
DSISPLASHAUTOSKIP=DSi Splash Auto-skip
287290
NINTENDOLOGOCOLOR=Nintendo Logo Color
@@ -338,6 +341,9 @@ DESCRIPTION_AUTOSTARTSLOT1=Auto-starts the game or flashcard in Slot-1. Useful i
338341
DESCRIPTION_GBSPLASH=Select whether to show the Game Boy splash screen on boot.
339342
DESCRIPTION_DSSPLASH=Select whether to show the Nintendo DS splash screen on boot. Set to "With H&S" for the Health & Safety message to show on the bottom screen.
340343
DESCRIPTION_DSISPLASH=Select whether to show the Nintendo DSi splash screen on boot. Set to "With H&S" for the Health & Safety message to show on the bottom screen.
344+
DESCRIPTION_GB_SPLASH_EASTER_EGGS=Different versions of the GameBoy splash screen will be displayed on specific days (ex. anniversaries).
345+
DESCRIPTION_DS_SPLASH_EASTER_EGGS=Different versions of the DS splash screen will be displayed on specific days (ex. anniversaries).
346+
DESCRIPTION_DSI_SPLASH_EASTER_EGGS=Different versions of the DSi splash screen will be displayed on specific days (ex. anniversaries).
341347
DESCRIPTION_DSSPLASHAUTOSKIP=When enabled the Nintendo DS splash screen will automatically continue instead of waiting for you to touch the touch screen.
342348
DESCRIPTION_DSISPLASHAUTOSKIP=When enabled the Nintendo DSi splash screen will automatically continue instead of waiting for you to touch the touch screen.
343349
DESCRIPTION_NINTENDOLOGOCOLOR=Changes the color of the Nintendo logo that shows in the Nintendo DSi splash screen if you have a game card in.

title/arm9/source/bootsplash.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ void bootSplashDSi(void) {
4141
const struct tm *Time = localtime(&Raw);
4242

4343
strftime(currentDate, sizeof(currentDate), "%m/%d", Time);
44-
const bool virtualPain = (strcmp(currentDate, "04/01") == 0 || (ms().getGameRegion() == 0 ? (strcmp(currentDate, "07/21") == 0) : (strcmp(currentDate, "08/14") == 0))); // If April Fools, or the release date of the Virtual Boy
44+
const bool virtualPain = (ms().dsiSplashEasterEggs && (strcmp(currentDate, "04/01") == 0 || strcmp(currentDate, ms().getGameRegion() == 0 ? "07/21" : "08/14") == 0)); // If April Fools, or the release date of the Virtual Boy
4545
const bool super = (*(u16*)(0x020000C0) == 0x334D || *(u16*)(0x020000C0) == 0x3647 || *(u16*)(0x020000C0) == 0x4353); // Slot-2 flashcard
4646
const bool regularDS = (sys().isRegularDS() && !ms().oppositeSplash) || (!sys().isRegularDS() && ms().oppositeSplash);
4747

universal/include/common/twlmenusettings.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,7 @@ class TWLSettings
323323

324324
int dsiSplash;
325325
bool oppositeSplash;
326+
bool dsiSplashEasterEggs;
326327
bool dsiSplashAutoSkip;
327328
int nintendoLogoColor;
328329
bool showlogo;

universal/source/common/twlmenusettings.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ TWLSettings::TWLSettings()
8686

8787
dsiSplash = isDSiMode();
8888
oppositeSplash = false;
89+
dsiSplashEasterEggs = true;
8990
dsiSplashAutoSkip = false;
9091
nintendoLogoColor = 1;
9192
showlogo = true;
@@ -284,6 +285,7 @@ void TWLSettings::loadSettings()
284285

285286
dsiSplash = settingsini.GetInt("SRLOADER", "DSI_SPLASH", dsiSplash);
286287
oppositeSplash = settingsini.GetInt("SRLOADER", "OPPOSITE_SPLASH", oppositeSplash);
288+
dsiSplashEasterEggs = settingsini.GetInt("SRLOADER", "DSI_SPLASH_EASTER_EGGS", dsiSplashEasterEggs);
287289
dsiSplashAutoSkip = settingsini.GetInt("SRLOADER", "DSI_SPLASH_AUTO_SKIP", dsiSplashAutoSkip);
288290
nintendoLogoColor = settingsini.GetInt("SRLOADER", "NINTENDO_LOGO_COLOR", nintendoLogoColor);
289291
showlogo = settingsini.GetInt("SRLOADER", "SHOWLOGO", showlogo);
@@ -469,6 +471,7 @@ void TWLSettings::saveSettings()
469471
settingsini.SetInt("SRLOADER", "SLOT1_LAUNCHMETHOD", slot1LaunchMethod);
470472

471473
settingsini.SetInt("SRLOADER", "DSI_SPLASH", dsiSplash);
474+
settingsini.SetInt("SRLOADER", "DSI_SPLASH_EASTER_EGGS", dsiSplashEasterEggs);
472475
settingsini.SetInt("SRLOADER", "DSI_SPLASH_AUTO_SKIP", dsiSplashAutoSkip);
473476
settingsini.SetInt("SRLOADER", "NINTENDO_LOGO_COLOR", nintendoLogoColor);
474477
settingsini.SetInt("SRLOADER", "SHOWLOGO", showlogo);

0 commit comments

Comments
 (0)