From 34c01d739e93ee1780ccf7bfee508538ea413172 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Tue, 7 Sep 2021 21:46:38 +1000 Subject: [PATCH] Decompile savebufferWriteBits --- src/game/game_0d4690.c | 64 ++++++++----------- src/game/game_110680.c | 32 +++++----- src/game/gamefile.c | 96 ++++++++++++++-------------- src/game/mplayer/mplayer.c | 80 +++++++++++------------ src/game/mplayer/scenarios.c | 24 +++---- src/include/game/game_0d4690.h | 2 +- src/include/game/mplayer/scenarios.h | 8 +-- src/include/types.h | 4 +- 8 files changed, 151 insertions(+), 159 deletions(-) diff --git a/src/game/game_0d4690.c b/src/game/game_0d4690.c index 6acf1d0bb..efe1115aa 100644 --- a/src/game/game_0d4690.c +++ b/src/game/game_0d4690.c @@ -1037,38 +1037,30 @@ glabel func0f0d4d0c /* f0d52f4: 00000000 */ nop ); -GLOBAL_ASM( -glabel savefileGetSomething -/* f0d52f8: 24ce001f */ addiu $t6,$a2,0x1f -/* f0d52fc: 240f0001 */ addiu $t7,$zero,0x1 -/* f0d5300: 01cf1004 */ sllv $v0,$t7,$t6 -/* f0d5304: 10400014 */ beqz $v0,.L0f0d5358 -/* f0d5308: 24090007 */ addiu $t1,$zero,0x7 -.L0f0d530c: -/* f0d530c: 0045c024 */ and $t8,$v0,$a1 -/* f0d5310: 5300000c */ beqzl $t8,.L0f0d5344 -/* f0d5314: 8c8e0000 */ lw $t6,0x0($a0) -/* f0d5318: 8c860000 */ lw $a2,0x0($a0) -/* f0d531c: 240b0001 */ addiu $t3,$zero,0x1 -/* f0d5320: 000638c2 */ srl $a3,$a2,0x3 -/* f0d5324: 00874021 */ addu $t0,$a0,$a3 -/* f0d5328: 91190004 */ lbu $t9,0x4($t0) -/* f0d532c: 30c30007 */ andi $v1,$a2,0x7 -/* f0d5330: 01235023 */ subu $t2,$t1,$v1 -/* f0d5334: 014b6804 */ sllv $t5,$t3,$t2 -/* f0d5338: 032d7825 */ or $t7,$t9,$t5 -/* f0d533c: a10f0004 */ sb $t7,0x4($t0) -/* f0d5340: 8c8e0000 */ lw $t6,0x0($a0) -.L0f0d5344: -/* f0d5344: 00025842 */ srl $t3,$v0,0x1 -/* f0d5348: 01601025 */ or $v0,$t3,$zero -/* f0d534c: 25d80001 */ addiu $t8,$t6,0x1 -/* f0d5350: 1560ffee */ bnez $t3,.L0f0d530c -/* f0d5354: ac980000 */ sw $t8,0x0($a0) -.L0f0d5358: -/* f0d5358: 03e00008 */ jr $ra -/* f0d535c: 00000000 */ nop -); +/** + * Write the specified amount of bits to the buffer, advancing the internal pointer. + * + * numbits is expected to be 32 or less. + * + * @bug? This function sets bits but doesn't unset them. + * Maybe the buffer is cleared before use. + */ +void savebufferWriteBits(struct savebuffer *buffer, u32 value, s32 numbits) +{ + u32 bit = 1 << (numbits + 31); + + for (; bit; bit >>= 1) { + if (bit & value) { + s32 bitindex = buffer->bitpos % 8; + u8 mask = 1 << (7 - bitindex); + s32 byteindex = buffer->bitpos / 8; + + buffer->bytes[byteindex] |= mask; + } + + buffer->bitpos++; + } +} #if VERSION >= VERSION_NTSC_1_0 GLOBAL_ASM( @@ -1260,13 +1252,13 @@ glabel func0f0d55a4 /* f0d55fc: 24100001 */ addiu $s0,$zero,0x1 .L0f0d5600: /* f0d5600: 02402025 */ or $a0,$s2,$zero -/* f0d5604: 0fc354be */ jal savefileGetSomething +/* f0d5604: 0fc354be */ jal savebufferWriteBits /* f0d5608: 24060008 */ addiu $a2,$zero,0x8 .L0f0d560c: /* f0d560c: 12000004 */ beqz $s0,.L0f0d5620 /* f0d5610: 02402025 */ or $a0,$s2,$zero /* f0d5614: 00002825 */ or $a1,$zero,$zero -/* f0d5618: 0fc354be */ jal savefileGetSomething +/* f0d5618: 0fc354be */ jal savebufferWriteBits /* f0d561c: 24060008 */ addiu $a2,$zero,0x8 .L0f0d5620: /* f0d5620: 26310001 */ addiu $s1,$s1,0x1 @@ -1372,12 +1364,12 @@ glabel func0f0d575c /* f0d5764: afa40018 */ sw $a0,0x18($sp) /* f0d5768: afa5001c */ sw $a1,0x1c($sp) /* f0d576c: 8ca50000 */ lw $a1,0x0($a1) -/* f0d5770: 0fc354be */ jal savefileGetSomething +/* f0d5770: 0fc354be */ jal savebufferWriteBits /* f0d5774: 24060007 */ addiu $a2,$zero,0x7 /* f0d5778: 8faf001c */ lw $t7,0x1c($sp) /* f0d577c: 8fa40018 */ lw $a0,0x18($sp) /* f0d5780: 2406000d */ addiu $a2,$zero,0xd -/* f0d5784: 0fc354be */ jal savefileGetSomething +/* f0d5784: 0fc354be */ jal savebufferWriteBits /* f0d5788: 95e50004 */ lhu $a1,0x4($t7) /* f0d578c: 8fbf0014 */ lw $ra,0x14($sp) /* f0d5790: 27bd0018 */ addiu $sp,$sp,0x18 diff --git a/src/game/game_110680.c b/src/game/game_110680.c index a95e1d9c4..96ce7aa90 100644 --- a/src/game/game_110680.c +++ b/src/game/game_110680.c @@ -339,11 +339,11 @@ glabel func0f1109c0 /* f110a08: 3c05800b */ lui $a1,%hi(g_MpSetup+0x89) /* f110a0c: 90a5cc11 */ lbu $a1,%lo(g_MpSetup+0x89)($a1) /* f110a10: 02402025 */ or $a0,$s2,$zero -/* f110a14: 0fc354be */ jal savefileGetSomething +/* f110a14: 0fc354be */ jal savebufferWriteBits /* f110a18: 24060001 */ addiu $a2,$zero,0x1 /* f110a1c: 02402025 */ or $a0,$s2,$zero /* f110a20: 96050482 */ lhu $a1,0x482($s0) -/* f110a24: 0fc354be */ jal savefileGetSomething +/* f110a24: 0fc354be */ jal savebufferWriteBits /* f110a28: 24060004 */ addiu $a2,$zero,0x4 /* f110a2c: 3c10800b */ lui $s0,%hi(g_MpSetup+0x28) /* f110a30: 3c11800b */ lui $s1,%hi(g_MpSetup+0x88) @@ -365,12 +365,12 @@ glabel func0f1109c0 /* f110a6c: 00402825 */ or $a1,$v0,$zero /* f110a70: 02402025 */ or $a0,$s2,$zero /* f110a74: 240500ff */ addiu $a1,$zero,0xff -/* f110a78: 0fc354be */ jal savefileGetSomething +/* f110a78: 0fc354be */ jal savebufferWriteBits /* f110a7c: 24060008 */ addiu $a2,$zero,0x8 /* f110a80: 10000003 */ b .L0f110a90 /* f110a84: 00000000 */ nop .L0f110a88: -/* f110a88: 0fc354be */ jal savefileGetSomething +/* f110a88: 0fc354be */ jal savebufferWriteBits /* f110a8c: 24060008 */ addiu $a2,$zero,0x8 .L0f110a90: /* f110a90: 3c10800b */ lui $s0,%hi(g_MpSetup+0x28) @@ -380,7 +380,7 @@ glabel func0f1109c0 /* f110aa0: 02402025 */ or $a0,$s2,$zero .L0f110aa4: /* f110aa4: 92050065 */ lbu $a1,0x65($s0) -/* f110aa8: 0fc354be */ jal savefileGetSomething +/* f110aa8: 0fc354be */ jal savebufferWriteBits /* f110aac: 24060008 */ addiu $a2,$zero,0x8 /* f110ab0: 26100001 */ addiu $s0,$s0,0x1 /* f110ab4: 5611fffb */ bnel $s0,$s1,.L0f110aa4 @@ -388,17 +388,17 @@ glabel func0f1109c0 /* f110abc: 3c05800b */ lui $a1,%hi(g_MpSetup+0x8a) /* f110ac0: 90a5cc12 */ lbu $a1,%lo(g_MpSetup+0x8a)($a1) /* f110ac4: 02402025 */ or $a0,$s2,$zero -/* f110ac8: 0fc354be */ jal savefileGetSomething +/* f110ac8: 0fc354be */ jal savebufferWriteBits /* f110acc: 24060001 */ addiu $a2,$zero,0x1 /* f110ad0: 3c05800a */ lui $a1,%hi(var800a2328+0x3) /* f110ad4: 90a5232b */ lbu $a1,%lo(var800a2328+0x3)($a1) /* f110ad8: 02402025 */ or $a0,$s2,$zero -/* f110adc: 0fc354be */ jal savefileGetSomething +/* f110adc: 0fc354be */ jal savebufferWriteBits /* f110ae0: 24060001 */ addiu $a2,$zero,0x1 /* f110ae4: 3c05800a */ lui $a1,%hi(g_AltTitle) /* f110ae8: 90a5232c */ lbu $a1,%lo(g_AltTitle)($a1) /* f110aec: 02402025 */ or $a0,$s2,$zero -/* f110af0: 0fc354be */ jal savefileGetSomething +/* f110af0: 0fc354be */ jal savebufferWriteBits /* f110af4: 24060001 */ addiu $a2,$zero,0x1 /* f110af8: 0fc35531 */ jal func0f0d54c4 /* f110afc: 02402025 */ or $a0,$s2,$zero @@ -455,11 +455,11 @@ glabel func0f1109c0 /* f110a08: 3c05800b */ lui $a1,%hi(g_MpSetup+0x89) /* f110a0c: 90a5cc11 */ lbu $a1,%lo(g_MpSetup+0x89)($a1) /* f110a10: 02402025 */ or $a0,$s2,$zero -/* f110a14: 0fc354be */ jal savefileGetSomething +/* f110a14: 0fc354be */ jal savebufferWriteBits /* f110a18: 24060001 */ addiu $a2,$zero,0x1 /* f110a1c: 02402025 */ or $a0,$s2,$zero /* f110a20: 96050482 */ lhu $a1,0x482($s0) -/* f110a24: 0fc354be */ jal savefileGetSomething +/* f110a24: 0fc354be */ jal savebufferWriteBits /* f110a28: 24060004 */ addiu $a2,$zero,0x4 /* f110a2c: 3c10800b */ lui $s0,%hi(g_MpSetup+0x28) /* f110a30: 3c11800b */ lui $s1,%hi(g_MpSetup+0x88) @@ -481,12 +481,12 @@ glabel func0f1109c0 /* f110a6c: 00402825 */ or $a1,$v0,$zero /* f110a70: 02402025 */ or $a0,$s2,$zero /* f110a74: 240500ff */ addiu $a1,$zero,0xff -/* f110a78: 0fc354be */ jal savefileGetSomething +/* f110a78: 0fc354be */ jal savebufferWriteBits /* f110a7c: 24060008 */ addiu $a2,$zero,0x8 /* f110a80: 10000003 */ b .L0f110a90 /* f110a84: 00000000 */ nop .L0f110a88: -/* f110a88: 0fc354be */ jal savefileGetSomething +/* f110a88: 0fc354be */ jal savebufferWriteBits /* f110a8c: 24060008 */ addiu $a2,$zero,0x8 .L0f110a90: /* f110a90: 3c10800b */ lui $s0,%hi(g_MpSetup+0x28) @@ -496,7 +496,7 @@ glabel func0f1109c0 /* f110aa0: 02402025 */ or $a0,$s2,$zero .L0f110aa4: /* f110aa4: 92050065 */ lbu $a1,0x65($s0) -/* f110aa8: 0fc354be */ jal savefileGetSomething +/* f110aa8: 0fc354be */ jal savebufferWriteBits /* f110aac: 24060008 */ addiu $a2,$zero,0x8 /* f110ab0: 26100001 */ addiu $s0,$s0,0x1 /* f110ab4: 5611fffb */ bnel $s0,$s1,.L0f110aa4 @@ -504,17 +504,17 @@ glabel func0f1109c0 /* f110abc: 3c05800b */ lui $a1,%hi(g_MpSetup+0x8a) /* f110ac0: 90a5cc12 */ lbu $a1,%lo(g_MpSetup+0x8a)($a1) /* f110ac4: 02402025 */ or $a0,$s2,$zero -/* f110ac8: 0fc354be */ jal savefileGetSomething +/* f110ac8: 0fc354be */ jal savebufferWriteBits /* f110acc: 24060001 */ addiu $a2,$zero,0x1 /* f110ad0: 3c05800a */ lui $a1,%hi(var800a2328+0x3) /* f110ad4: 90a5232b */ lbu $a1,%lo(var800a2328+0x3)($a1) /* f110ad8: 02402025 */ or $a0,$s2,$zero -/* f110adc: 0fc354be */ jal savefileGetSomething +/* f110adc: 0fc354be */ jal savebufferWriteBits /* f110ae0: 24060001 */ addiu $a2,$zero,0x1 /* f110ae4: 3c05800a */ lui $a1,%hi(g_AltTitle) /* f110ae8: 90a5232c */ lbu $a1,%lo(g_AltTitle)($a1) /* f110aec: 02402025 */ or $a0,$s2,$zero -/* f110af0: 0fc354be */ jal savefileGetSomething +/* f110af0: 0fc354be */ jal savebufferWriteBits /* f110af4: 24060001 */ addiu $a2,$zero,0x1 /* f110af8: 0fc35531 */ jal func0f0d54c4 /* f110afc: 02402025 */ or $a0,$s2,$zero diff --git a/src/game/gamefile.c b/src/game/gamefile.c index eea6f9129..3f17359cb 100644 --- a/src/game/gamefile.c +++ b/src/game/gamefile.c @@ -1751,21 +1751,21 @@ glabel func0f10feac /* f110de8: 02802025 */ move $a0,$s4 /* f110dec: 24060005 */ li $a2,0x5 /* f110df0: 000540c2 */ srl $t0,$a1,0x3 -/* f110df4: 0fc35626 */ jal savefileGetSomething +/* f110df4: 0fc35626 */ jal savebufferWriteBits /* f110df8: 01002825 */ move $a1,$t0 /* f110dfc: 02802025 */ move $a0,$s4 /* f110e00: 8e450010 */ lw $a1,0x10($s2) -/* f110e04: 0fc35626 */ jal savefileGetSomething +/* f110e04: 0fc35626 */ jal savebufferWriteBits /* f110e08: 24060020 */ li $a2,0x20 /* f110e0c: 8e450008 */ lw $a1,0x8($s2) /* f110e10: 02802025 */ move $a0,$s4 /* f110e14: 24060002 */ li $a2,0x2 /* f110e18: 30a90007 */ andi $t1,$a1,0x7 -/* f110e1c: 0fc35626 */ jal savefileGetSomething +/* f110e1c: 0fc35626 */ jal savebufferWriteBits /* f110e20: 01202825 */ move $a1,$t1 /* f110e24: 02802025 */ move $a0,$s4 /* f110e28: 9245000c */ lbu $a1,0xc($s2) -/* f110e2c: 0fc35626 */ jal savefileGetSomething +/* f110e2c: 0fc35626 */ jal savebufferWriteBits /* f110e30: 24060005 */ li $a2,0x5 /* f110e34: 3c028006 */ lui $v0,0x8006 /* f110e38: 9442da68 */ lhu $v0,-0x2598($v0) @@ -1780,7 +1780,7 @@ glabel func0f10feac .PF0f110e5c: /* f110e5c: 000729c3 */ sra $a1,$a3,0x7 /* f110e60: 00055082 */ srl $t2,$a1,0x2 -/* f110e64: 0fc35626 */ jal savefileGetSomething +/* f110e64: 0fc35626 */ jal savebufferWriteBits /* f110e68: 01402825 */ move $a1,$t2 /* f110e6c: 0fc54f00 */ jal optionsGetMusicVolume /* f110e70: 00000000 */ nop @@ -1788,24 +1788,24 @@ glabel func0f10feac /* f110e78: 00055882 */ srl $t3,$a1,0x2 /* f110e7c: 01602825 */ move $a1,$t3 /* f110e80: 02802025 */ move $a0,$s4 -/* f110e84: 0fc35626 */ jal savefileGetSomething +/* f110e84: 0fc35626 */ jal savebufferWriteBits /* f110e88: 24060006 */ li $a2,0x6 /* f110e8c: 3c058006 */ lui $a1,0x8006 /* f110e90: 8ca5da6c */ lw $a1,-0x2594($a1) /* f110e94: 02802025 */ move $a0,$s4 -/* f110e98: 0fc35626 */ jal savefileGetSomething +/* f110e98: 0fc35626 */ jal savebufferWriteBits /* f110e9c: 24060002 */ li $a2,0x2 /* f110ea0: 0fc54cf0 */ jal optionsGetControlMode /* f110ea4: 02202025 */ move $a0,$s1 /* f110ea8: 02802025 */ move $a0,$s4 /* f110eac: 00402825 */ move $a1,$v0 -/* f110eb0: 0fc35626 */ jal savefileGetSomething +/* f110eb0: 0fc35626 */ jal savebufferWriteBits /* f110eb4: 24060003 */ li $a2,0x3 /* f110eb8: 0fc54cf0 */ jal optionsGetControlMode /* f110ebc: 02602025 */ move $a0,$s3 /* f110ec0: 02802025 */ move $a0,$s4 /* f110ec4: 00402825 */ move $a1,$v0 -/* f110ec8: 0fc35626 */ jal savefileGetSomething +/* f110ec8: 0fc35626 */ jal savebufferWriteBits /* f110ecc: 24060003 */ li $a2,0x3 /* f110ed0: 3c10800a */ lui $s0,0x800a /* f110ed4: 3c11800a */ lui $s1,0x800a @@ -1814,7 +1814,7 @@ glabel func0f10feac /* f110ee0: 02802025 */ move $a0,$s4 .PF0f110ee4: /* f110ee4: 92050014 */ lbu $a1,0x14($s0) -/* f110ee8: 0fc35626 */ jal savefileGetSomething +/* f110ee8: 0fc35626 */ jal savebufferWriteBits /* f110eec: 24060008 */ li $a2,0x8 /* f110ef0: 26100001 */ addiu $s0,$s0,0x1 /* f110ef4: 0211082b */ sltu $at,$s0,$s1 @@ -1822,7 +1822,7 @@ glabel func0f10feac /* f110efc: 02802025 */ move $a0,$s4 /* f110f00: 02802025 */ move $a0,$s4 /* f110f04: 9645001e */ lhu $a1,0x1e($s2) -/* f110f08: 0fc35626 */ jal savefileGetSomething +/* f110f08: 0fc35626 */ jal savebufferWriteBits /* f110f0c: 24060010 */ li $a2,0x10 /* f110f10: 3c15800a */ lui $s5,0x800a /* f110f14: 26b527a0 */ addiu $s5,$s5,0x27a0 @@ -1833,7 +1833,7 @@ glabel func0f10feac .PF0f110f24: /* f110f24: 02802025 */ move $a0,$s4 /* f110f28: 96450020 */ lhu $a1,0x20($s2) -/* f110f2c: 0fc35626 */ jal savefileGetSomething +/* f110f2c: 0fc35626 */ jal savebufferWriteBits /* f110f30: 2406000c */ li $a2,0xc /* f110f34: 26310002 */ addiu $s1,$s1,0x2 /* f110f38: 1633fffa */ bne $s1,$s3,.PF0f110f24 @@ -1854,7 +1854,7 @@ glabel func0f10feac /* f110f6c: 02002825 */ move $a1,$s0 /* f110f70: 02802025 */ move $a0,$s4 /* f110f74: 00402825 */ move $a1,$v0 -/* f110f78: 0fc35626 */ jal savefileGetSomething +/* f110f78: 0fc35626 */ jal savebufferWriteBits /* f110f7c: 24060001 */ li $a2,0x1 /* f110f80: 26100001 */ addiu $s0,$s0,0x1 /* f110f84: 5612fff8 */ bnel $s0,$s2,.PF0f110f68 @@ -1870,7 +1870,7 @@ glabel func0f10feac /* f110fac: 02802025 */ move $a0,$s4 .PF0f110fb0: /* f110fb0: 8e0500a0 */ lw $a1,0xa0($s0) -/* f110fb4: 0fc35626 */ jal savefileGetSomething +/* f110fb4: 0fc35626 */ jal savebufferWriteBits /* f110fb8: 24060015 */ li $a2,0x15 /* f110fbc: 26100004 */ addiu $s0,$s0,0x4 /* f110fc0: 0211082b */ sltu $at,$s0,$s1 @@ -1891,7 +1891,7 @@ glabel func0f10feac /* f110ff4: 24070008 */ li $a3,0x8 .PF0f110ff8: /* f110ff8: 920500ac */ lbu $a1,0xac($s0) -/* f110ffc: 0fc35626 */ jal savefileGetSomething +/* f110ffc: 0fc35626 */ jal savebufferWriteBits /* f111000: 00e03025 */ move $a2,$a3 /* f111004: 26100001 */ addiu $s0,$s0,0x1 /* f111008: 0212082b */ sltu $at,$s0,$s2 @@ -1904,7 +1904,7 @@ glabel func0f10feac /* f111024: 02802025 */ move $a0,$s4 .PF0f111028: /* f111028: 920500b5 */ lbu $a1,0xb5($s0) -/* f11102c: 0fc35626 */ jal savefileGetSomething +/* f11102c: 0fc35626 */ jal savebufferWriteBits /* f111030: 24060008 */ li $a2,0x8 /* f111034: 26100001 */ addiu $s0,$s0,0x1 /* f111038: 5611fffb */ bnel $s0,$s1,.PF0f111028 @@ -2241,21 +2241,21 @@ glabel func0f10feac /* f110324: 02802025 */ or $a0,$s4,$zero /* f110328: 24060005 */ addiu $a2,$zero,0x5 /* f11032c: 000560c2 */ srl $t4,$a1,0x3 -/* f110330: 0fc354be */ jal savefileGetSomething +/* f110330: 0fc354be */ jal savebufferWriteBits /* f110334: 01802825 */ or $a1,$t4,$zero /* f110338: 02802025 */ or $a0,$s4,$zero /* f11033c: 8e450010 */ lw $a1,0x10($s2) -/* f110340: 0fc354be */ jal savefileGetSomething +/* f110340: 0fc354be */ jal savebufferWriteBits /* f110344: 24060020 */ addiu $a2,$zero,0x20 /* f110348: 8e450008 */ lw $a1,0x8($s2) /* f11034c: 02802025 */ or $a0,$s4,$zero /* f110350: 24060002 */ addiu $a2,$zero,0x2 /* f110354: 30ad0007 */ andi $t5,$a1,0x7 -/* f110358: 0fc354be */ jal savefileGetSomething +/* f110358: 0fc354be */ jal savebufferWriteBits /* f11035c: 01a02825 */ or $a1,$t5,$zero /* f110360: 02802025 */ or $a0,$s4,$zero /* f110364: 9245000c */ lbu $a1,0xc($s2) -/* f110368: 0fc354be */ jal savefileGetSomething +/* f110368: 0fc354be */ jal savebufferWriteBits /* f11036c: 24060005 */ addiu $a2,$zero,0x5 /* f110370: 3c028006 */ lui $v0,%hi(g_SfxVolume) /* f110374: 9442ddc8 */ lhu $v0,%lo(g_SfxVolume)($v0) @@ -2270,7 +2270,7 @@ glabel func0f10feac .L0f110398: /* f110398: 000729c3 */ sra $a1,$a3,0x7 /* f11039c: 00057082 */ srl $t6,$a1,0x2 -/* f1103a0: 0fc354be */ jal savefileGetSomething +/* f1103a0: 0fc354be */ jal savebufferWriteBits /* f1103a4: 01c02825 */ or $a1,$t6,$zero /* f1103a8: 0fc54bd4 */ jal optionsGetMusicVolume /* f1103ac: 00000000 */ nop @@ -2278,24 +2278,24 @@ glabel func0f10feac /* f1103b4: 00057882 */ srl $t7,$a1,0x2 /* f1103b8: 01e02825 */ or $a1,$t7,$zero /* f1103bc: 02802025 */ or $a0,$s4,$zero -/* f1103c0: 0fc354be */ jal savefileGetSomething +/* f1103c0: 0fc354be */ jal savebufferWriteBits /* f1103c4: 24060006 */ addiu $a2,$zero,0x6 /* f1103c8: 3c058006 */ lui $a1,%hi(g_SoundMode) /* f1103cc: 8ca5ddcc */ lw $a1,%lo(g_SoundMode)($a1) /* f1103d0: 02802025 */ or $a0,$s4,$zero -/* f1103d4: 0fc354be */ jal savefileGetSomething +/* f1103d4: 0fc354be */ jal savebufferWriteBits /* f1103d8: 24060002 */ addiu $a2,$zero,0x2 /* f1103dc: 0fc549c4 */ jal optionsGetControlMode /* f1103e0: 02602025 */ or $a0,$s3,$zero /* f1103e4: 02802025 */ or $a0,$s4,$zero /* f1103e8: 00402825 */ or $a1,$v0,$zero -/* f1103ec: 0fc354be */ jal savefileGetSomething +/* f1103ec: 0fc354be */ jal savebufferWriteBits /* f1103f0: 24060003 */ addiu $a2,$zero,0x3 /* f1103f4: 0fc549c4 */ jal optionsGetControlMode /* f1103f8: 02202025 */ or $a0,$s1,$zero /* f1103fc: 02802025 */ or $a0,$s4,$zero /* f110400: 00402825 */ or $a1,$v0,$zero -/* f110404: 0fc354be */ jal savefileGetSomething +/* f110404: 0fc354be */ jal savebufferWriteBits /* f110408: 24060003 */ addiu $a2,$zero,0x3 /* f11040c: 3c10800a */ lui $s0,%hi(g_SoloSaveFile) /* f110410: 3c11800a */ lui $s1,%hi(g_SoloSaveFile+0xa) @@ -2304,7 +2304,7 @@ glabel func0f10feac /* f11041c: 02802025 */ or $a0,$s4,$zero .L0f110420: /* f110420: 92050014 */ lbu $a1,0x14($s0) -/* f110424: 0fc354be */ jal savefileGetSomething +/* f110424: 0fc354be */ jal savebufferWriteBits /* f110428: 24060008 */ addiu $a2,$zero,0x8 /* f11042c: 26100001 */ addiu $s0,$s0,0x1 /* f110430: 0211082b */ sltu $at,$s0,$s1 @@ -2312,7 +2312,7 @@ glabel func0f10feac /* f110438: 02802025 */ or $a0,$s4,$zero /* f11043c: 02802025 */ or $a0,$s4,$zero /* f110440: 9645001e */ lhu $a1,0x1e($s2) -/* f110444: 0fc354be */ jal savefileGetSomething +/* f110444: 0fc354be */ jal savebufferWriteBits /* f110448: 24060010 */ addiu $a2,$zero,0x10 /* f11044c: 3c15800a */ lui $s5,%hi(g_SoloSaveFile) /* f110450: 26b52200 */ addiu $s5,$s5,%lo(g_SoloSaveFile) @@ -2323,7 +2323,7 @@ glabel func0f10feac .L0f110460: /* f110460: 02802025 */ or $a0,$s4,$zero /* f110464: 96450020 */ lhu $a1,0x20($s2) -/* f110468: 0fc354be */ jal savefileGetSomething +/* f110468: 0fc354be */ jal savebufferWriteBits /* f11046c: 2406000c */ addiu $a2,$zero,0xc /* f110470: 26310002 */ addiu $s1,$s1,0x2 /* f110474: 1633fffa */ bne $s1,$s3,.L0f110460 @@ -2344,7 +2344,7 @@ glabel func0f10feac /* f1104a8: 02002825 */ or $a1,$s0,$zero /* f1104ac: 02802025 */ or $a0,$s4,$zero /* f1104b0: 00402825 */ or $a1,$v0,$zero -/* f1104b4: 0fc354be */ jal savefileGetSomething +/* f1104b4: 0fc354be */ jal savebufferWriteBits /* f1104b8: 24060001 */ addiu $a2,$zero,0x1 /* f1104bc: 26100001 */ addiu $s0,$s0,0x1 /* f1104c0: 5612fff8 */ bnel $s0,$s2,.L0f1104a4 @@ -2360,7 +2360,7 @@ glabel func0f10feac /* f1104e8: 02802025 */ or $a0,$s4,$zero .L0f1104ec: /* f1104ec: 8e0500a0 */ lw $a1,0xa0($s0) -/* f1104f0: 0fc354be */ jal savefileGetSomething +/* f1104f0: 0fc354be */ jal savebufferWriteBits /* f1104f4: 24060015 */ addiu $a2,$zero,0x15 /* f1104f8: 26100004 */ addiu $s0,$s0,0x4 /* f1104fc: 0211082b */ sltu $at,$s0,$s1 @@ -2381,7 +2381,7 @@ glabel func0f10feac /* f110530: 24070008 */ addiu $a3,$zero,0x8 .L0f110534: /* f110534: 920500ac */ lbu $a1,0xac($s0) -/* f110538: 0fc354be */ jal savefileGetSomething +/* f110538: 0fc354be */ jal savebufferWriteBits /* f11053c: 00e03025 */ or $a2,$a3,$zero /* f110540: 26100001 */ addiu $s0,$s0,0x1 /* f110544: 0212082b */ sltu $at,$s0,$s2 @@ -2394,7 +2394,7 @@ glabel func0f10feac /* f110560: 02802025 */ or $a0,$s4,$zero .L0f110564: /* f110564: 920500b5 */ lbu $a1,0xb5($s0) -/* f110568: 0fc354be */ jal savefileGetSomething +/* f110568: 0fc354be */ jal savebufferWriteBits /* f11056c: 24060008 */ addiu $a2,$zero,0x8 /* f110570: 26100001 */ addiu $s0,$s0,0x1 /* f110574: 5611fffb */ bnel $s0,$s1,.L0f110564 @@ -2713,28 +2713,28 @@ glabel func0f10feac /* f10a7b0: 02802025 */ or $a0,$s4,$zero /* f10a7b4: 24060005 */ addiu $a2,$zero,0x5 /* f10a7b8: 000560c2 */ srl $t4,$a1,0x3 -/* f10a7bc: 0fc34a9e */ jal savefileGetSomething +/* f10a7bc: 0fc34a9e */ jal savebufferWriteBits /* f10a7c0: 01802825 */ or $a1,$t4,$zero /* f10a7c4: 02802025 */ or $a0,$s4,$zero /* f10a7c8: 8e450010 */ lw $a1,0x10($s2) -/* f10a7cc: 0fc34a9e */ jal savefileGetSomething +/* f10a7cc: 0fc34a9e */ jal savebufferWriteBits /* f10a7d0: 24060020 */ addiu $a2,$zero,0x20 /* f10a7d4: 8e450008 */ lw $a1,0x8($s2) /* f10a7d8: 02802025 */ or $a0,$s4,$zero /* f10a7dc: 24060002 */ addiu $a2,$zero,0x2 /* f10a7e0: 30ad0007 */ andi $t5,$a1,0x7 -/* f10a7e4: 0fc34a9e */ jal savefileGetSomething +/* f10a7e4: 0fc34a9e */ jal savebufferWriteBits /* f10a7e8: 01a02825 */ or $a1,$t5,$zero /* f10a7ec: 02802025 */ or $a0,$s4,$zero /* f10a7f0: 9245000c */ lbu $a1,0xc($s2) -/* f10a7f4: 0fc34a9e */ jal savefileGetSomething +/* f10a7f4: 0fc34a9e */ jal savebufferWriteBits /* f10a7f8: 24060005 */ addiu $a2,$zero,0x5 /* f10a7fc: 3c078006 */ lui $a3,0x8006 /* f10a800: 94e7f6e8 */ lhu $a3,-0x918($a3) /* f10a804: 02802025 */ or $a0,$s4,$zero /* f10a808: 24060006 */ addiu $a2,$zero,0x6 /* f10a80c: 000771c3 */ sra $t6,$a3,0x7 -/* f10a810: 0fc34a9e */ jal savefileGetSomething +/* f10a810: 0fc34a9e */ jal savebufferWriteBits /* f10a814: 000e2882 */ srl $a1,$t6,0x2 /* f10a818: 0fc5358f */ jal optionsGetMusicVolume /* f10a81c: 00000000 */ sll $zero,$zero,0x0 @@ -2742,24 +2742,24 @@ glabel func0f10feac /* f10a824: 00057882 */ srl $t7,$a1,0x2 /* f10a828: 01e02825 */ or $a1,$t7,$zero /* f10a82c: 02802025 */ or $a0,$s4,$zero -/* f10a830: 0fc34a9e */ jal savefileGetSomething +/* f10a830: 0fc34a9e */ jal savebufferWriteBits /* f10a834: 24060006 */ addiu $a2,$zero,0x6 /* f10a838: 3c078006 */ lui $a3,0x8006 /* f10a83c: 8ce5f6ec */ lw $a1,-0x914($a3) /* f10a840: 02802025 */ or $a0,$s4,$zero -/* f10a844: 0fc34a9e */ jal savefileGetSomething +/* f10a844: 0fc34a9e */ jal savebufferWriteBits /* f10a848: 24060002 */ addiu $a2,$zero,0x2 /* f10a84c: 0fc53380 */ jal optionsGetControlMode /* f10a850: 02202025 */ or $a0,$s1,$zero /* f10a854: 02802025 */ or $a0,$s4,$zero /* f10a858: 00402825 */ or $a1,$v0,$zero -/* f10a85c: 0fc34a9e */ jal savefileGetSomething +/* f10a85c: 0fc34a9e */ jal savebufferWriteBits /* f10a860: 24060003 */ addiu $a2,$zero,0x3 /* f10a864: 0fc53380 */ jal optionsGetControlMode /* f10a868: 02602025 */ or $a0,$s3,$zero /* f10a86c: 02802025 */ or $a0,$s4,$zero /* f10a870: 00402825 */ or $a1,$v0,$zero -/* f10a874: 0fc34a9e */ jal savefileGetSomething +/* f10a874: 0fc34a9e */ jal savebufferWriteBits /* f10a878: 24060003 */ addiu $a2,$zero,0x3 /* f10a87c: 3c10800a */ lui $s0,0x800a /* f10a880: 3c11800a */ lui $s1,0x800a @@ -2768,7 +2768,7 @@ glabel func0f10feac /* f10a88c: 02802025 */ or $a0,$s4,$zero .NB0f10a890: /* f10a890: 92050014 */ lbu $a1,0x14($s0) -/* f10a894: 0fc34a9e */ jal savefileGetSomething +/* f10a894: 0fc34a9e */ jal savebufferWriteBits /* f10a898: 24060008 */ addiu $a2,$zero,0x8 /* f10a89c: 26100001 */ addiu $s0,$s0,0x1 /* f10a8a0: 0211082b */ sltu $at,$s0,$s1 @@ -2776,7 +2776,7 @@ glabel func0f10feac /* f10a8a8: 02802025 */ or $a0,$s4,$zero /* f10a8ac: 02802025 */ or $a0,$s4,$zero /* f10a8b0: 9645001e */ lhu $a1,0x1e($s2) -/* f10a8b4: 0fc34a9e */ jal savefileGetSomething +/* f10a8b4: 0fc34a9e */ jal savebufferWriteBits /* f10a8b8: 24060010 */ addiu $a2,$zero,0x10 /* f10a8bc: 3c15800a */ lui $s5,0x800a /* f10a8c0: 26b566f0 */ addiu $s5,$s5,0x66f0 @@ -2787,7 +2787,7 @@ glabel func0f10feac .NB0f10a8d0: /* f10a8d0: 02802025 */ or $a0,$s4,$zero /* f10a8d4: 96450020 */ lhu $a1,0x20($s2) -/* f10a8d8: 0fc34a9e */ jal savefileGetSomething +/* f10a8d8: 0fc34a9e */ jal savebufferWriteBits /* f10a8dc: 2406000c */ addiu $a2,$zero,0xc /* f10a8e0: 26310002 */ addiu $s1,$s1,0x2 /* f10a8e4: 1633fffa */ bne $s1,$s3,.NB0f10a8d0 @@ -2808,7 +2808,7 @@ glabel func0f10feac /* f10a918: 02002825 */ or $a1,$s0,$zero /* f10a91c: 02802025 */ or $a0,$s4,$zero /* f10a920: 00402825 */ or $a1,$v0,$zero -/* f10a924: 0fc34a9e */ jal savefileGetSomething +/* f10a924: 0fc34a9e */ jal savebufferWriteBits /* f10a928: 24060001 */ addiu $a2,$zero,0x1 /* f10a92c: 26100001 */ addiu $s0,$s0,0x1 /* f10a930: 5612fff8 */ bnel $s0,$s2,.NB0f10a914 @@ -2824,7 +2824,7 @@ glabel func0f10feac /* f10a958: 02802025 */ or $a0,$s4,$zero .NB0f10a95c: /* f10a95c: 8e0500a0 */ lw $a1,0xa0($s0) -/* f10a960: 0fc34a9e */ jal savefileGetSomething +/* f10a960: 0fc34a9e */ jal savebufferWriteBits /* f10a964: 24060015 */ addiu $a2,$zero,0x15 /* f10a968: 26100004 */ addiu $s0,$s0,0x4 /* f10a96c: 0211082b */ sltu $at,$s0,$s1 @@ -2844,7 +2844,7 @@ glabel func0f10feac .NB0f10a9a0: /* f10a9a0: 24060008 */ addiu $a2,$zero,0x8 .NB0f10a9a4: -/* f10a9a4: 0fc34a9e */ jal savefileGetSomething +/* f10a9a4: 0fc34a9e */ jal savebufferWriteBits /* f10a9a8: 920500ac */ lbu $a1,0xac($s0) /* f10a9ac: 26100001 */ addiu $s0,$s0,0x1 /* f10a9b0: 0212082b */ sltu $at,$s0,$s2 @@ -2857,7 +2857,7 @@ glabel func0f10feac /* f10a9cc: 02802025 */ or $a0,$s4,$zero .NB0f10a9d0: /* f10a9d0: 920500b5 */ lbu $a1,0xb5($s0) -/* f10a9d4: 0fc34a9e */ jal savefileGetSomething +/* f10a9d4: 0fc34a9e */ jal savebufferWriteBits /* f10a9d8: 24060008 */ addiu $a2,$zero,0x8 /* f10a9dc: 26100001 */ addiu $s0,$s0,0x1 /* f10a9e0: 5611fffb */ bnel $s0,$s1,.NB0f10a9d0 diff --git a/src/game/mplayer/mplayer.c b/src/game/mplayer/mplayer.c index 2630139c3..d08b5b582 100644 --- a/src/game/mplayer/mplayer.c +++ b/src/game/mplayer/mplayer.c @@ -8619,7 +8619,7 @@ glabel func0f18d238 /* f18d280: 24060008 */ addiu $a2,$zero,0x8 .L0f18d284: /* f18d284: 02402025 */ or $a0,$s2,$zero -/* f18d288: 0fc354be */ jal savefileGetSomething +/* f18d288: 0fc354be */ jal savebufferWriteBits /* f18d28c: 92250097 */ lbu $a1,0x97($s1) /* f18d290: 2610fff8 */ addiu $s0,$s0,-8 /* f18d294: 1613fff7 */ bne $s0,$s3,.L0f18d274 @@ -8867,15 +8867,15 @@ glabel func0f18d5c4 /* f18d624: 3705ffff */ ori $a1,$t8,0xffff /* f18d628: ae050068 */ sw $a1,0x68($s0) .L0f18d62c: -/* f18d62c: 0fc354be */ jal savefileGetSomething +/* f18d62c: 0fc354be */ jal savebufferWriteBits /* f18d630: 2406001c */ addiu $a2,$zero,0x1c /* f18d634: 02602025 */ or $a0,$s3,$zero /* f18d638: 9205000f */ lbu $a1,0xf($s0) -/* f18d63c: 0fc354be */ jal savefileGetSomething +/* f18d63c: 0fc354be */ jal savebufferWriteBits /* f18d640: 24060007 */ addiu $a2,$zero,0x7 /* f18d644: 02602025 */ or $a0,$s3,$zero /* f18d648: 92050010 */ lbu $a1,0x10($s0) -/* f18d64c: 0fc354be */ jal savefileGetSomething +/* f18d64c: 0fc354be */ jal savebufferWriteBits /* f18d650: 24060007 */ addiu $a2,$zero,0x7 /* f18d654: 0fc62ec7 */ jal func0f18bb1c /* f18d658: 00000000 */ nop @@ -8904,7 +8904,7 @@ glabel func0f18d5c4 /* f18d6b0: 02602025 */ or $a0,$s3,$zero .L0f18d6b4: /* f18d6b4: 8e050014 */ lw $a1,0x14($s0) -/* f18d6b8: 0fc354be */ jal savefileGetSomething +/* f18d6b8: 0fc354be */ jal savebufferWriteBits /* f18d6bc: 24060008 */ addiu $a2,$zero,0x8 /* f18d6c0: 8e050054 */ lw $a1,0x54($s0) /* f18d6c4: 3c010010 */ lui $at,0x10 @@ -8915,7 +8915,7 @@ glabel func0f18d5c4 /* f18d6d8: 3525ffff */ ori $a1,$t1,0xffff /* f18d6dc: ae050054 */ sw $a1,0x54($s0) .L0f18d6e0: -/* f18d6e0: 0fc354be */ jal savefileGetSomething +/* f18d6e0: 0fc354be */ jal savebufferWriteBits /* f18d6e4: 24060014 */ addiu $a2,$zero,0x14 /* f18d6e8: 8e050058 */ lw $a1,0x58($s0) /* f18d6ec: 3c010010 */ lui $at,0x10 @@ -8926,7 +8926,7 @@ glabel func0f18d5c4 /* f18d700: 3545ffff */ ori $a1,$t2,0xffff /* f18d704: ae050058 */ sw $a1,0x58($s0) .L0f18d708: -/* f18d708: 0fc354be */ jal savefileGetSomething +/* f18d708: 0fc354be */ jal savebufferWriteBits /* f18d70c: 24060014 */ addiu $a2,$zero,0x14 /* f18d710: 8e05005c */ lw $a1,0x5c($s0) /* f18d714: 3c110008 */ lui $s1,0x8 @@ -8939,7 +8939,7 @@ glabel func0f18d5c4 /* f18d730: ae05005c */ sw $a1,0x5c($s0) .L0f18d734: /* f18d734: 3c120007 */ lui $s2,0x7 -/* f18d738: 0fc354be */ jal savefileGetSomething +/* f18d738: 0fc354be */ jal savebufferWriteBits /* f18d73c: 3652ffff */ ori $s2,$s2,0xffff /* f18d740: 8e050060 */ lw $a1,0x60($s0) /* f18d744: 02602025 */ or $a0,$s3,$zero @@ -8949,7 +8949,7 @@ glabel func0f18d5c4 /* f18d754: ae120060 */ sw $s2,0x60($s0) /* f18d758: 02402825 */ or $a1,$s2,$zero .L0f18d75c: -/* f18d75c: 0fc354be */ jal savefileGetSomething +/* f18d75c: 0fc354be */ jal savebufferWriteBits /* f18d760: 24060013 */ addiu $a2,$zero,0x13 /* f18d764: 8e050064 */ lw $a1,0x64($s0) /* f18d768: 02602025 */ or $a0,$s3,$zero @@ -8959,7 +8959,7 @@ glabel func0f18d5c4 /* f18d778: ae120064 */ sw $s2,0x64($s0) /* f18d77c: 02402825 */ or $a1,$s2,$zero .L0f18d780: -/* f18d780: 0fc354be */ jal savefileGetSomething +/* f18d780: 0fc354be */ jal savebufferWriteBits /* f18d784: 24060013 */ addiu $a2,$zero,0x13 /* f18d788: 8e05006c */ lw $a1,0x6c($s0) /* f18d78c: 3c010200 */ lui $at,0x200 @@ -8970,7 +8970,7 @@ glabel func0f18d5c4 /* f18d7a0: 3565ffff */ ori $a1,$t3,0xffff /* f18d7a4: ae05006c */ sw $a1,0x6c($s0) .L0f18d7a8: -/* f18d7a8: 0fc354be */ jal savefileGetSomething +/* f18d7a8: 0fc354be */ jal savebufferWriteBits /* f18d7ac: 24060019 */ addiu $a2,$zero,0x19 /* f18d7b0: 8e050070 */ lw $a1,0x70($s0) /* f18d7b4: 02602025 */ or $a0,$s3,$zero @@ -8980,7 +8980,7 @@ glabel func0f18d5c4 /* f18d7c4: 240503ff */ addiu $a1,$zero,0x3ff /* f18d7c8: ae050070 */ sw $a1,0x70($s0) .L0f18d7cc: -/* f18d7cc: 0fc354be */ jal savefileGetSomething +/* f18d7cc: 0fc354be */ jal savebufferWriteBits /* f18d7d0: 2406000a */ addiu $a2,$zero,0xa /* f18d7d4: 8e050074 */ lw $a1,0x74($s0) /* f18d7d8: 3c110400 */ lui $s1,0x400 @@ -8991,7 +8991,7 @@ glabel func0f18d5c4 /* f18d7ec: 35a5ffff */ ori $a1,$t5,0xffff /* f18d7f0: ae050074 */ sw $a1,0x74($s0) .L0f18d7f4: -/* f18d7f4: 0fc354be */ jal savefileGetSomething +/* f18d7f4: 0fc354be */ jal savebufferWriteBits /* f18d7f8: 2406001a */ addiu $a2,$zero,0x1a /* f18d7fc: 8e050078 */ lw $a1,0x78($s0) /* f18d800: 02602025 */ or $a0,$s3,$zero @@ -9001,7 +9001,7 @@ glabel func0f18d5c4 /* f18d810: 35c5ffff */ ori $a1,$t6,0xffff /* f18d814: ae050078 */ sw $a1,0x78($s0) .L0f18d818: -/* f18d818: 0fc354be */ jal savefileGetSomething +/* f18d818: 0fc354be */ jal savebufferWriteBits /* f18d81c: 2406001a */ addiu $a2,$zero,0x1a /* f18d820: 8e05007c */ lw $a1,0x7c($s0) /* f18d824: 3c010010 */ lui $at,0x10 @@ -9012,7 +9012,7 @@ glabel func0f18d5c4 /* f18d838: 35e5ffff */ ori $a1,$t7,0xffff /* f18d83c: ae05007c */ sw $a1,0x7c($s0) .L0f18d840: -/* f18d840: 0fc354be */ jal savefileGetSomething +/* f18d840: 0fc354be */ jal savebufferWriteBits /* f18d844: 24060014 */ addiu $a2,$zero,0x14 /* f18d848: 8e050080 */ lw $a1,0x80($s0) /* f18d84c: 3c014000 */ lui $at,0x4000 @@ -9023,7 +9023,7 @@ glabel func0f18d5c4 /* f18d860: 3705ffff */ ori $a1,$t8,0xffff /* f18d864: ae050080 */ sw $a1,0x80($s0) .L0f18d868: -/* f18d868: 0fc354be */ jal savefileGetSomething +/* f18d868: 0fc354be */ jal savebufferWriteBits /* f18d86c: 2406001e */ addiu $a2,$zero,0x1e /* f18d870: 8e050084 */ lw $a1,0x84($s0) /* f18d874: 3c110004 */ lui $s1,0x4 @@ -9036,7 +9036,7 @@ glabel func0f18d5c4 /* f18d890: ae050084 */ sw $a1,0x84($s0) .L0f18d894: /* f18d894: 3c120003 */ lui $s2,0x3 -/* f18d898: 0fc354be */ jal savefileGetSomething +/* f18d898: 0fc354be */ jal savebufferWriteBits /* f18d89c: 3652ffff */ ori $s2,$s2,0xffff /* f18d8a0: 8e050088 */ lw $a1,0x88($s0) /* f18d8a4: 02602025 */ or $a0,$s3,$zero @@ -9046,7 +9046,7 @@ glabel func0f18d5c4 /* f18d8b4: ae120088 */ sw $s2,0x88($s0) /* f18d8b8: 02402825 */ or $a1,$s2,$zero .L0f18d8bc: -/* f18d8bc: 0fc354be */ jal savefileGetSomething +/* f18d8bc: 0fc354be */ jal savebufferWriteBits /* f18d8c0: 24060012 */ addiu $a2,$zero,0x12 /* f18d8c4: 8e05008c */ lw $a1,0x8c($s0) /* f18d8c8: 02602025 */ or $a0,$s3,$zero @@ -9056,7 +9056,7 @@ glabel func0f18d5c4 /* f18d8d8: ae12008c */ sw $s2,0x8c($s0) /* f18d8dc: 02402825 */ or $a1,$s2,$zero .L0f18d8e0: -/* f18d8e0: 0fc354be */ jal savefileGetSomething +/* f18d8e0: 0fc354be */ jal savebufferWriteBits /* f18d8e4: 24060012 */ addiu $a2,$zero,0x12 /* f18d8e8: 8e050090 */ lw $a1,0x90($s0) /* f18d8ec: 3c010001 */ lui $at,0x1 @@ -9067,15 +9067,15 @@ glabel func0f18d5c4 /* f18d900: 3405ffff */ dli $a1,0xffff /* f18d904: ae050090 */ sw $a1,0x90($s0) .L0f18d908: -/* f18d908: 0fc354be */ jal savefileGetSomething +/* f18d908: 0fc354be */ jal savebufferWriteBits /* f18d90c: 24060010 */ addiu $a2,$zero,0x10 /* f18d910: 02602025 */ or $a0,$s3,$zero /* f18d914: 92050044 */ lbu $a1,0x44($s0) -/* f18d918: 0fc354be */ jal savefileGetSomething +/* f18d918: 0fc354be */ jal savebufferWriteBits /* f18d91c: 24060002 */ addiu $a2,$zero,0x2 /* f18d920: 02602025 */ or $a0,$s3,$zero /* f18d924: 96050048 */ lhu $a1,0x48($s0) -/* f18d928: 0fc354be */ jal savefileGetSomething +/* f18d928: 0fc354be */ jal savebufferWriteBits /* f18d92c: 2406000c */ addiu $a2,$zero,0xc /* f18d930: 00008825 */ or $s1,$zero,$zero /* f18d934: 24120005 */ addiu $s2,$zero,0x5 @@ -9088,7 +9088,7 @@ glabel func0f18d5c4 /* f18d948: 02003025 */ or $a2,$s0,$zero /* f18d94c: 02602025 */ or $a0,$s3,$zero /* f18d950: 00402825 */ or $a1,$v0,$zero -/* f18d954: 0fc354be */ jal savefileGetSomething +/* f18d954: 0fc354be */ jal savebufferWriteBits /* f18d958: 24060001 */ addiu $a2,$zero,0x1 /* f18d95c: 26100001 */ addiu $s0,$s0,0x1 /* f18d960: 5612fff7 */ bnel $s0,$s2,.L0f18d940 @@ -9788,7 +9788,7 @@ glabel func0f18df5c /* f18dfbc: 24050003 */ addiu $a1,$zero,0x3 /* f18dfc0: 0fc61521 */ jal scenarioInit /* f18dfc4: a2a20010 */ sb $v0,0x10($s5) -/* f18dfc8: 0fc614f4 */ jal scenarioCallback40 +/* f18dfc8: 0fc614f4 */ jal scenarioReadSave /* f18dfcc: 02602025 */ or $a0,$s3,$zero /* f18dfd0: 02602025 */ or $a0,$s3,$zero /* f18dfd4: 0fc354fe */ jal savebufferReadBits @@ -9930,21 +9930,21 @@ glabel func0f18e16c /* f18e1c8: 262e0004 */ addiu $t6,$s1,0x4 /* f18e1cc: 02402025 */ or $a0,$s2,$zero /* f18e1d0: 02002825 */ or $a1,$s0,$zero -/* f18e1d4: 0fc354be */ jal savefileGetSomething +/* f18e1d4: 0fc354be */ jal savebufferWriteBits /* f18e1d8: 24060004 */ addiu $a2,$zero,0x4 /* f18e1dc: 02402025 */ or $a0,$s2,$zero /* f18e1e0: 92650011 */ lbu $a1,0x11($s3) -/* f18e1e4: 0fc354be */ jal savefileGetSomething +/* f18e1e4: 0fc354be */ jal savebufferWriteBits /* f18e1e8: 24060007 */ addiu $a2,$zero,0x7 /* f18e1ec: 02402025 */ or $a0,$s2,$zero /* f18e1f0: 92650010 */ lbu $a1,0x10($s3) -/* f18e1f4: 0fc354be */ jal savefileGetSomething +/* f18e1f4: 0fc354be */ jal savebufferWriteBits /* f18e1f8: 24060003 */ addiu $a2,$zero,0x3 -/* f18e1fc: 0fc6150a */ jal scenarioCallback44 +/* f18e1fc: 0fc6150a */ jal scenarioWriteSave /* f18e200: 02402025 */ or $a0,$s2,$zero /* f18e204: 02402025 */ or $a0,$s2,$zero /* f18e208: 8e65000c */ lw $a1,0xc($s3) -/* f18e20c: 0fc354be */ jal savefileGetSomething +/* f18e20c: 0fc354be */ jal savebufferWriteBits /* f18e210: 24060015 */ addiu $a2,$zero,0x15 /* f18e214: 3c10800b */ lui $s0,%hi(g_MpSimulants) /* f18e218: 2610c538 */ addiu $s0,$s0,%lo(g_MpSimulants) @@ -9952,7 +9952,7 @@ glabel func0f18e16c .L0f18e220: /* f18e220: 02402025 */ or $a0,$s2,$zero /* f18e224: 92050047 */ lbu $a1,0x47($s0) -/* f18e228: 0fc354be */ jal savefileGetSomething +/* f18e228: 0fc354be */ jal savebufferWriteBits /* f18e22c: 24060005 */ addiu $a2,$zero,0x5 /* f18e230: 96680016 */ lhu $t0,0x16($s3) /* f18e234: 26290004 */ addiu $t1,$s1,0x4 @@ -9963,18 +9963,18 @@ glabel func0f18e16c /* f18e248: 02402025 */ or $a0,$s2,$zero /* f18e24c: 02402025 */ or $a0,$s2,$zero /* f18e250: 92050048 */ lbu $a1,0x48($s0) -/* f18e254: 0fc354be */ jal savefileGetSomething +/* f18e254: 0fc354be */ jal savebufferWriteBits /* f18e258: 24060003 */ addiu $a2,$zero,0x3 /* f18e25c: 10000005 */ b .L0f18e274 /* f18e260: 02402025 */ or $a0,$s2,$zero .L0f18e264: /* f18e264: 24050006 */ addiu $a1,$zero,0x6 -/* f18e268: 0fc354be */ jal savefileGetSomething +/* f18e268: 0fc354be */ jal savebufferWriteBits /* f18e26c: 24060003 */ addiu $a2,$zero,0x3 /* f18e270: 02402025 */ or $a0,$s2,$zero .L0f18e274: /* f18e274: 9205000f */ lbu $a1,0xf($s0) -/* f18e278: 0fc354be */ jal savefileGetSomething +/* f18e278: 0fc354be */ jal savebufferWriteBits /* f18e27c: 24060007 */ addiu $a2,$zero,0x7 /* f18e280: 92020010 */ lbu $v0,0x10($s0) /* f18e284: 240100ff */ addiu $at,$zero,0xff @@ -9998,11 +9998,11 @@ glabel func0f18e16c /* f18e2c4: 84a57730 */ lh $a1,%lo(g_MpSimulantTypes+0x4)($a1) .L0f18e2c8: /* f18e2c8: 02402025 */ or $a0,$s2,$zero -/* f18e2cc: 0fc354be */ jal savefileGetSomething +/* f18e2cc: 0fc354be */ jal savebufferWriteBits /* f18e2d0: 24060007 */ addiu $a2,$zero,0x7 /* f18e2d4: 02402025 */ or $a0,$s2,$zero /* f18e2d8: 92050011 */ lbu $a1,0x11($s0) -/* f18e2dc: 0fc354be */ jal savefileGetSomething +/* f18e2dc: 0fc354be */ jal savebufferWriteBits /* f18e2e0: 24060003 */ addiu $a2,$zero,0x3 /* f18e2e4: 26310001 */ addiu $s1,$s1,0x1 /* f18e2e8: 2a210008 */ slti $at,$s1,0x8 @@ -10015,7 +10015,7 @@ glabel func0f18e16c /* f18e304: 02402025 */ or $a0,$s2,$zero .L0f18e308: /* f18e308: 92050018 */ lbu $a1,0x18($s0) -/* f18e30c: 0fc354be */ jal savefileGetSomething +/* f18e30c: 0fc354be */ jal savebufferWriteBits /* f18e310: 24060007 */ addiu $a2,$zero,0x7 /* f18e314: 26100001 */ addiu $s0,$s0,0x1 /* f18e318: 0211082b */ sltu $at,$s0,$s1 @@ -10023,15 +10023,15 @@ glabel func0f18e16c /* f18e320: 02402025 */ or $a0,$s2,$zero /* f18e324: 02402025 */ or $a0,$s2,$zero /* f18e328: 92650012 */ lbu $a1,0x12($s3) -/* f18e32c: 0fc354be */ jal savefileGetSomething +/* f18e32c: 0fc354be */ jal savebufferWriteBits /* f18e330: 24060006 */ addiu $a2,$zero,0x6 /* f18e334: 02402025 */ or $a0,$s2,$zero /* f18e338: 92650013 */ lbu $a1,0x13($s3) -/* f18e33c: 0fc354be */ jal savefileGetSomething +/* f18e33c: 0fc354be */ jal savebufferWriteBits /* f18e340: 24060007 */ addiu $a2,$zero,0x7 /* f18e344: 02402025 */ or $a0,$s2,$zero /* f18e348: 96650014 */ lhu $a1,0x14($s3) -/* f18e34c: 0fc354be */ jal savefileGetSomething +/* f18e34c: 0fc354be */ jal savebufferWriteBits /* f18e350: 24060009 */ addiu $a2,$zero,0x9 /* f18e354: 3c10800b */ lui $s0,%hi(g_MpPlayers) /* f18e358: 3c11800b */ lui $s1,%hi(g_MpPlayers+0x280) @@ -10040,7 +10040,7 @@ glabel func0f18e16c /* f18e364: 02402025 */ or $a0,$s2,$zero .L0f18e368: /* f18e368: 92050011 */ lbu $a1,0x11($s0) -/* f18e36c: 0fc354be */ jal savefileGetSomething +/* f18e36c: 0fc354be */ jal savebufferWriteBits /* f18e370: 24060003 */ addiu $a2,$zero,0x3 /* f18e374: 261000a0 */ addiu $s0,$s0,0xa0 /* f18e378: 5611fffb */ bnel $s0,$s1,.L0f18e368 diff --git a/src/game/mplayer/scenarios.c b/src/game/mplayer/scenarios.c index af7b02be3..37bca2cb0 100644 --- a/src/game/mplayer/scenarios.c +++ b/src/game/mplayer/scenarios.c @@ -2569,14 +2569,14 @@ s32 menuhandlerMpHillTime(s32 operation, struct menuitem *item, union handlerdat return 0; } -void scenarioKohCallback40(struct savebuffer *buffer) +void scenarioKohReadSave(struct savebuffer *buffer) { g_Vars.mphilltime = savebufferReadBits(buffer, 8); } -void scenarioKohCallback44(s32 *arg0) +void scenarioKohWriteSave(struct savebuffer *buffer) { - savefileGetSomething(arg0, g_Vars.mphilltime, 8); + savebufferWriteBits(buffer, g_Vars.mphilltime, 8); } void scenarioKohInit(void) @@ -8556,8 +8556,8 @@ struct mpscenario g_MpScenarios[6] = { scenarioKohIsRoomHighlighted, scenarioKohCallback38, NULL, - scenarioKohCallback40, - scenarioKohCallback44 + scenarioKohReadSave, + scenarioKohWriteSave }, { &g_MpCaptureOptionsMenuDialog, scenarioCtcInit, @@ -8844,21 +8844,21 @@ s32 menuhandlerMpOpenOptions(s32 operation, struct menuitem *item, union handler return 0; } -void scenarioCallback40(struct savebuffer *buffer) +void scenarioReadSave(struct savebuffer *buffer) { - if (g_MpScenarios[g_MpSetup.scenario].unk40) { - g_MpScenarios[g_MpSetup.scenario].unk40(buffer); + if (g_MpScenarios[g_MpSetup.scenario].readsavefunc) { + g_MpScenarios[g_MpSetup.scenario].readsavefunc(buffer); } else { savebufferReadBits(buffer, 8); } } -void scenarioCallback44(s32 *arg0) +void scenarioWriteSave(struct savebuffer *buffer) { - if (g_MpScenarios[g_MpSetup.scenario].unk44) { - g_MpScenarios[g_MpSetup.scenario].unk44(arg0); + if (g_MpScenarios[g_MpSetup.scenario].writesavefunc) { + g_MpScenarios[g_MpSetup.scenario].writesavefunc(buffer); } else { - savefileGetSomething(arg0, 0, 8); + savebufferWriteBits(buffer, 0, 8); } } diff --git a/src/include/game/game_0d4690.h b/src/include/game/game_0d4690.h index cfd5c5d20..a807936c2 100644 --- a/src/include/game/game_0d4690.h +++ b/src/include/game/game_0d4690.h @@ -11,7 +11,7 @@ Gfx *func0f0d49c8(Gfx *gdl); u32 func0f0d4a3c(void); u32 func0f0d4c80(void); u32 func0f0d4d0c(void); -void savefileGetSomething(s32 *arg0, s32 arg1, s32 arg2); +void savebufferWriteBits(struct savebuffer *buffer, u32 arg1, s32 arg2); u32 func0f0d5360(void); u32 savebufferReadBits(struct savebuffer *buffer, s32 offset); void savebufferClear(struct savebuffer *buffer); diff --git a/src/include/game/mplayer/scenarios.h b/src/include/game/mplayer/scenarios.h index 0755b4cb4..aadf6ae45 100644 --- a/src/include/game/mplayer/scenarios.h +++ b/src/include/game/mplayer/scenarios.h @@ -27,8 +27,8 @@ bool scenarioCtcChooseSpawnLocation(f32 arg0, struct coord *pos, s16 *rooms, str s32 scenarioCtcGetMaxTeams(void); bool scenarioCtcIsRoomHighlighted(s16 room); s32 menuhandlerMpHillTime(s32 operation, struct menuitem *item, union handlerdata *data); -void scenarioKohCallback40(struct savebuffer *buffer); -void scenarioKohCallback44(s32 *arg0); +void scenarioKohReadSave(struct savebuffer *buffer); +void scenarioKohWriteSave(struct savebuffer *buffer); void scenarioKohInit(void); void scenarioKohReset(void); void scenarioKohKill(struct mpchr *mpchr, s32 mpchrnum, s32 *score, s32 *arg3); @@ -45,8 +45,8 @@ void scenarioPacReset(void); void scenarioPacKill(struct mpchr *mpchr, s32 mpchrnum, s32 *score, s32 *arg3); Gfx *scenarioPacRadar(Gfx *gdl); s32 menuhandlerMpOpenOptions(s32 operation, struct menuitem *item, union handlerdata *data); -void scenarioCallback40(struct savebuffer *buffer); -void scenarioCallback44(s32 *arg0); +void scenarioReadSave(struct savebuffer *buffer); +void scenarioWriteSave(struct savebuffer *buffer); void scenarioInit(void); s32 scenarioCallback08(void); void scenarioReset(void); diff --git a/src/include/types.h b/src/include/types.h index 5a5540f8d..4dcba7ebb 100644 --- a/src/include/types.h +++ b/src/include/types.h @@ -4633,8 +4633,8 @@ struct mpscenario { bool (*isroomhighlightedfunc)(s16 room); void (*unk38)(s16 arg0, s32 *arg1, s32 *arg2, s32 *arg3); void *unk3c; - void (*unk40)(struct savebuffer *buffer); - void (*unk44)(s32 *arg0); + void (*readsavefunc)(struct savebuffer *buffer); + void (*writesavefunc)(struct savebuffer *buffer); }; struct mpscenariooverview {