ref: b4caefb7bb98258a3a4c8587394e67b7b9c92e98
parent: 66d556e3ac0437f2e37900607d60d65e08d17a53
author: Snesrev <snesrev@protonmail.com>
date: Wed Sep 21 22:46:26 EDT 2022
Skip intro on key press
--- a/config.c
+++ b/config.c
@@ -291,6 +291,9 @@
} else if (StringEqualsNoCase(key, "DisableLowHealthBeep")) {
g_config.disable_low_health_beep = (bool)strtol(value, (char **)NULL, 10);
return true;
+ } else if (StringEqualsNoCase(key, "SkipIntroOnKeypress")) {
+ g_config.skip_intro_on_keypress = (bool)strtol(value, (char **)NULL, 10);
+ return true;
}
}
return false;
--- a/config.h
+++ b/config.h
@@ -53,6 +53,7 @@
bool collect_items_with_sword;
bool break_pots_with_sword;
bool disable_low_health_beep;
+ bool skip_intro_on_keypress;
} Config;
extern Config g_config;
--- a/ending.c
+++ b/ending.c
@@ -510,7 +510,9 @@
}
void Module00_Intro() { // 8cc120
- if (submodule_index >= 8 && ((filtered_joypad_L & 0xc0 | filtered_joypad_H) & 0xd0)) {
+ uint8 skip_at = enhanced_features0 & kFeatures0_SkipIntroOnKeypress ? 4 : 8;
+
+ if (submodule_index >= skip_at && ((filtered_joypad_L & 0xc0 | filtered_joypad_H) & 0xd0)) {
FadeMusicAndResetSRAMMirror();
return;
}
--- a/main.c
+++ b/main.c
@@ -193,6 +193,7 @@
f |= g_config.collect_items_with_sword * kFeatures0_CollectItemsWithSword;
f |= g_config.break_pots_with_sword * kFeatures0_BreakPotsWithSword;
f |= g_config.disable_low_health_beep * kFeatures0_DisableLowHealthBeep;
+ f |= g_config.skip_intro_on_keypress * kFeatures0_SkipIntroOnKeypress;
g_wanted_zelda_features = f;
}
--- a/zelda3.ini
+++ b/zelda3.ini
@@ -37,7 +37,8 @@
[Features]
# Item switch on L/R. Also allows reordering of items in inventory by pressing Y+direction
-ItemSwitchLR = 1
+# Hold X inside of the item selection screen to reassign the X key into a separate item slow.
+ItemSwitchLR = 0
# Allow turning while dashing
TurnWhileDashing = 0
@@ -54,6 +55,8 @@
# Disable the low health beep
DisableLowHealthBeep = 0
+# Avoid waiting too much at the start
+SkipIntroOnKeypress = 1
[KeyMap]
# Change what keyboard keys map to the joypad
--- a/zelda_rtl.h
+++ b/zelda_rtl.h
@@ -121,6 +121,7 @@
kFeatures0_CollectItemsWithSword = 16,
kFeatures0_BreakPotsWithSword = 32,
kFeatures0_DisableLowHealthBeep = 64,
+ kFeatures0_SkipIntroOnKeypress = 128,
};
#define enhanced_features0 (*(uint32*)(g_ram+0x64c))