diff --git a/src/game/game_0d4690.c b/src/game/game_0d4690.c index 4265cd68f..d4413122a 100644 --- a/src/game/game_0d4690.c +++ b/src/game/game_0d4690.c @@ -1150,20 +1150,17 @@ glabel savebufferGetInteger /* f0d5458: 00c01025 */ or $v0,$a2,$zero ); -GLOBAL_ASM( -glabel func0f0d545c -/* f0d545c: ac800000 */ sw $zero,0x0($a0) -/* f0d5460: 00801825 */ or $v1,$a0,$zero -/* f0d5464: 240400dc */ addiu $a0,$zero,0xdc -/* f0d5468: 00001025 */ or $v0,$zero,$zero -.L0f0d546c: -/* f0d546c: 24420001 */ addiu $v0,$v0,0x1 -/* f0d5470: a0600004 */ sb $zero,0x4($v1) -/* f0d5474: 1444fffd */ bne $v0,$a0,.L0f0d546c -/* f0d5478: 24630001 */ addiu $v1,$v1,0x1 -/* f0d547c: 03e00008 */ jr $ra -/* f0d5480: 00000000 */ nop -); +void savebufferClear(struct savebuffer *buffer) +{ + s32 i; + + buffer->word = 0; + + for (i = 0; i < sizeof(buffer->bytes);) { + buffer->bytes[i] = 0; + i++; + } +} void func0f0d5484(struct savebuffer *buffer, u8 *data, u8 len) { diff --git a/src/game/game_110680.c b/src/game/game_110680.c index 49b97f6bb..f3a4d1767 100644 --- a/src/game/game_110680.c +++ b/src/game/game_110680.c @@ -211,7 +211,7 @@ glabel func0f11080c /* f11083c: 27b20044 */ addiu $s2,$sp,0x44 .L0f110840: /* f110840: 27b20044 */ addiu $s2,$sp,0x44 -/* f110844: 0fc35517 */ jal func0f0d545c +/* f110844: 0fc35517 */ jal savebufferClear /* f110848: 02402025 */ or $a0,$s2,$zero /* f11084c: 24040004 */ addiu $a0,$zero,0x4 /* f110850: 02002825 */ or $a1,$s0,$zero @@ -325,7 +325,7 @@ glabel func0f1109c0 /* f1109d0: afb10024 */ sw $s1,0x24($sp) /* f1109d4: afb00020 */ sw $s0,0x20($sp) /* f1109d8: afa0012c */ sw $zero,0x12c($sp) -/* f1109dc: 0fc35517 */ jal func0f0d545c +/* f1109dc: 0fc35517 */ jal savebufferClear /* f1109e0: 02402025 */ or $a0,$s2,$zero /* f1109e4: 3c10800a */ lui $s0,%hi(g_Vars) /* f1109e8: 26109fc0 */ addiu $s0,$s0,%lo(g_Vars) @@ -441,7 +441,7 @@ glabel func0f1109c0 /* f1109d0: afb10024 */ sw $s1,0x24($sp) /* f1109d4: afb00020 */ sw $s0,0x20($sp) /* f1109d8: afa0012c */ sw $zero,0x12c($sp) -/* f1109dc: 0fc35517 */ jal func0f0d545c +/* f1109dc: 0fc35517 */ jal savebufferClear /* f1109e0: 02402025 */ or $a0,$s2,$zero /* f1109e4: 3c10800a */ lui $s0,%hi(g_Vars) /* f1109e8: 26109fc0 */ addiu $s0,$s0,%lo(g_Vars) diff --git a/src/game/gamefile.c b/src/game/gamefile.c index b2381ba33..eb2c42ad6 100644 --- a/src/game/gamefile.c +++ b/src/game/gamefile.c @@ -946,7 +946,7 @@ glabel func0f10fac8 .L0f10fb30: /* f10fb30: 060000d6 */ bltz $s0,.L0f10fe8c /* f10fb34: 2402ffff */ addiu $v0,$zero,-1 -/* f10fb38: 0fc35517 */ jal func0f0d545c +/* f10fb38: 0fc35517 */ jal savebufferClear /* f10fb3c: 02802025 */ or $a0,$s4,$zero /* f10fb40: 00102600 */ sll $a0,$s0,0x18 /* f10fb44: 0004c603 */ sra $t8,$a0,0x18 @@ -1219,7 +1219,7 @@ glabel func0f10fac8 .NB0f10a060: /* f10a060: 060000bf */ bltz $s0,.NB0f10a360 /* f10a064: 2402ffff */ addiu $v0,$zero,-1 -/* f10a068: 0fc34ad1 */ jal func0f0d545c +/* f10a068: 0fc34ad1 */ jal savebufferClear /* f10a06c: 02602025 */ or $a0,$s3,$zero /* f10a070: 00102600 */ sll $a0,$s0,0x18 /* f10a074: 0004c603 */ sra $t8,$a0,0x18 @@ -1740,7 +1740,7 @@ glabel func0f10feac /* f110dbc: 2402ffff */ li $v0,-1 /* f110dc0: 072000b6 */ bltz $t9,.PF0f11109c /* f110dc4: 00000000 */ nop -/* f110dc8: 0fc3567f */ jal func0f0d545c +/* f110dc8: 0fc3567f */ jal savebufferClear /* f110dcc: 02802025 */ move $a0,$s4 /* f110dd0: 3c12800a */ lui $s2,0x800a /* f110dd4: 265227a0 */ addiu $s2,$s2,0x27a0 @@ -2230,7 +2230,7 @@ glabel func0f10feac /* f1102f8: 2402ffff */ addiu $v0,$zero,-1 /* f1102fc: 056000b6 */ bltz $t3,.L0f1105d8 /* f110300: 00000000 */ nop -/* f110304: 0fc35517 */ jal func0f0d545c +/* f110304: 0fc35517 */ jal savebufferClear /* f110308: 02802025 */ or $a0,$s4,$zero /* f11030c: 3c12800a */ lui $s2,%hi(g_SoloSaveFile) /* f110310: 26522200 */ addiu $s2,$s2,%lo(g_SoloSaveFile) @@ -2702,7 +2702,7 @@ glabel func0f10feac /* f10a784: 2402ffff */ addiu $v0,$zero,-1 /* f10a788: 056000ae */ bltz $t3,.NB0f10aa44 /* f10a78c: 00000000 */ sll $zero,$zero,0x0 -/* f10a790: 0fc34ad1 */ jal func0f0d545c +/* f10a790: 0fc34ad1 */ jal savebufferClear /* f10a794: 02802025 */ or $a0,$s4,$zero /* f10a798: 3c12800a */ lui $s2,0x800a /* f10a79c: 265266f0 */ addiu $s2,$s2,0x66f0 diff --git a/src/game/mplayer/mplayer.c b/src/game/mplayer/mplayer.c index 48cafe230..9cd102fd4 100644 --- a/src/game/mplayer/mplayer.c +++ b/src/game/mplayer/mplayer.c @@ -9145,7 +9145,7 @@ glabel func0f18d9fc /* f18da0c: afa60110 */ sw $a2,0x110($sp) /* f18da10: 04a00026 */ bltz $a1,.L0f18daac /* f18da14: afa70114 */ sw $a3,0x114($sp) -/* f18da18: 0fc35517 */ jal func0f0d545c +/* f18da18: 0fc35517 */ jal savebufferClear /* f18da1c: 27a40020 */ addiu $a0,$sp,0x20 /* f18da20: 8fa40108 */ lw $a0,0x108($sp) /* f18da24: 0fc63571 */ jal func0f18d5c4 @@ -9201,7 +9201,7 @@ glabel func0f18dac0 /* f18dad0: afa60108 */ sw $a2,0x108($sp) /* f18dad4: 04a00024 */ bltz $a1,.L0f18db68 /* f18dad8: afa7010c */ sw $a3,0x10c($sp) -/* f18dadc: 0fc35517 */ jal func0f0d545c +/* f18dadc: 0fc35517 */ jal savebufferClear /* f18dae0: 27a4001c */ addiu $a0,$sp,0x1c /* f18dae4: 83a40107 */ lb $a0,0x107($sp) /* f18dae8: 8fa50108 */ lw $a1,0x108($sp) @@ -10099,7 +10099,7 @@ glabel func0f18e420 /* f18e42c: afa5010c */ sw $a1,0x10c($sp) /* f18e430: 04800020 */ bltz $a0,.L0f18e4b4 /* f18e434: afa60110 */ sw $a2,0x110($sp) -/* f18e438: 0fc35517 */ jal func0f0d545c +/* f18e438: 0fc35517 */ jal savebufferClear /* f18e43c: 27a40020 */ addiu $a0,$sp,0x20 /* f18e440: 0fc6385b */ jal func0f18e16c /* f18e444: 27a40020 */ addiu $a0,$sp,0x20 @@ -10148,7 +10148,7 @@ glabel func0f18e4c8 /* f18e4d4: afa50104 */ sw $a1,0x104($sp) /* f18e4d8: 0480001a */ bltz $a0,.L0f18e544 /* f18e4dc: afa60108 */ sw $a2,0x108($sp) -/* f18e4e0: 0fc35517 */ jal func0f0d545c +/* f18e4e0: 0fc35517 */ jal savebufferClear /* f18e4e4: 27a4001c */ addiu $a0,$sp,0x1c /* f18e4e8: 83a40103 */ lb $a0,0x103($sp) /* f18e4ec: 8fa50104 */ lw $a1,0x104($sp) diff --git a/src/include/game/game_0d4690.h b/src/include/game/game_0d4690.h index 1a15594f7..beffc22a5 100644 --- a/src/include/game/game_0d4690.h +++ b/src/include/game/game_0d4690.h @@ -14,7 +14,7 @@ u32 func0f0d4d0c(void); void savefileGetSomething(s32 *arg0, s32 arg1, s32 arg2); u32 func0f0d5360(void); s32 savebufferGetInteger(struct savebuffer *buffer, s32 offset); -u32 func0f0d545c(void); +void savebufferClear(struct savebuffer *buffer); void func0f0d5484(struct savebuffer *buffer, u8 *data, u8 len); u32 func0f0d54c4(void); void func0f0d54e4(struct savebuffer *buffer, char *arg1, s32 arg2);