diff --git a/src/game/gamefile.c b/src/game/gamefile.c index 442a8aa69..7127357b7 100644 --- a/src/game/gamefile.c +++ b/src/game/gamefile.c @@ -159,7 +159,7 @@ void savefileLoadDefaults(struct savefile_solo *file) audioSetSoundMode(SOUNDMODE_STEREO); optionsSetControlMode(player1, CONTROLMODE_11); optionsSetControlMode(player2, CONTROLMODE_11); - func0f11e5bc(&file->flags); + savefileClearAllFlags(&file->flags); bitSetByIndex(SAVEFILEFLAG_P1_FORWARDPITCH, &file->flags, false); bitSetByIndex(SAVEFILEFLAG_P1_AUTOAIM, &file->flags, true); diff --git a/src/game/pak/pak.c b/src/game/pak/pak.c index d1aa2d745..765fb4dff 100644 --- a/src/game/pak/pak.c +++ b/src/game/pak/pak.c @@ -9662,30 +9662,17 @@ glabel bitGetByIndex /* f11e5b8: 00601025 */ or $v0,$v1,$zero ); +void savefileClearAllFlags(u32 *flags) +{ + s32 i; + + for (i = 0; i <= SAVEFILEFLAG_4E; i++) { + bitSetByIndex(i, flags, false); + } +} + GLOBAL_ASM( -glabel func0f11e5bc -/* f11e5bc: 27bdffd8 */ addiu $sp,$sp,-40 -/* f11e5c0: afb20020 */ sw $s2,0x20($sp) -/* f11e5c4: afb1001c */ sw $s1,0x1c($sp) -/* f11e5c8: afb00018 */ sw $s0,0x18($sp) -/* f11e5cc: 00808825 */ or $s1,$a0,$zero -/* f11e5d0: afbf0024 */ sw $ra,0x24($sp) -/* f11e5d4: 00008025 */ or $s0,$zero,$zero -/* f11e5d8: 2412004f */ addiu $s2,$zero,0x4f -/* f11e5dc: 02002025 */ or $a0,$s0,$zero -.L0f11e5e0: -/* f11e5e0: 02202825 */ or $a1,$s1,$zero -/* f11e5e4: 0fc4794c */ jal bitSetByIndex -/* f11e5e8: 00003025 */ or $a2,$zero,$zero -/* f11e5ec: 26100001 */ addiu $s0,$s0,0x1 -/* f11e5f0: 5612fffb */ bnel $s0,$s2,.L0f11e5e0 -/* f11e5f4: 02002025 */ or $a0,$s0,$zero -/* f11e5f8: 8fbf0024 */ lw $ra,0x24($sp) -/* f11e5fc: 8fb00018 */ lw $s0,0x18($sp) -/* f11e600: 8fb1001c */ lw $s1,0x1c($sp) -/* f11e604: 8fb20020 */ lw $s2,0x20($sp) -/* f11e608: 03e00008 */ jr $ra -/* f11e60c: 27bd0028 */ addiu $sp,$sp,0x28 +glabel func0f11e610 /* f11e610: 03e00008 */ jr $ra /* f11e614: 00801025 */ or $v0,$a0,$zero ); diff --git a/src/include/constants.h b/src/include/constants.h index b48b23369..0fb547596 100644 --- a/src/include/constants.h +++ b/src/include/constants.h @@ -2579,6 +2579,9 @@ #define SAVEFILEFLAG_HOWTO_DOORS 0x49 #define SAVEFILEFLAG_HOWTO_ELEVATORS 0x4a #define SAVEFILEFLAG_HOWTO_TERMINALS 0x4b +#define SAVEFILEFLAG_4C 0x4c +#define SAVEFILEFLAG_4D 0x4d +#define SAVEFILEFLAG_4E 0x4e #define SCREENRATIO_NORMAL 0 #define SCREENRATIO_16_9 1 diff --git a/src/include/game/pak/pak.h b/src/include/game/pak/pak.h index ba96daf1e..ad897e9a0 100644 --- a/src/include/game/pak/pak.h +++ b/src/include/game/pak/pak.h @@ -127,7 +127,7 @@ s32 pakReadEeprom(u8 address, u8 *buffer, u32 len); s32 pakWriteEeprom(u8 address, u8 *buffer, u32 len); void bitSetByIndex(u32 value, u32 *flags, bool set); u32 bitGetByIndex(u32 value, u32 *flags); -void func0f11e5bc(u32 *flags); +void savefileClearAllFlags(u32 *flags); void func0f11e618(char *src, char *dst, u32 len); s8 pakSearch(s32 arg0); s32 func0f11e750(s8 arg0);