From 15e775f88f8f02c60c033741227f20c436be84b6 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sun, 7 Mar 2021 15:12:42 +1000 Subject: [PATCH] Decompile func0f09b828 --- src/game/chr/chr.c | 6 +- src/game/chr/chraicommands.c | 25 +- src/game/game_092610.c | 6 +- src/game/game_097ba0.c | 1783 ++++++++++++++++++++++++++------ src/include/constants.h | 8 + src/include/game/game_097ba0.h | 2 +- src/include/types.h | 8 +- 7 files changed, 1459 insertions(+), 379 deletions(-) diff --git a/src/game/chr/chr.c b/src/game/chr/chr.c index 4c3b2de74..6d66c376e 100644 --- a/src/game/chr/chr.c +++ b/src/game/chr/chr.c @@ -2744,11 +2744,7 @@ void func0f0211a8(f32 arg0) for (i = 0; i < g_NumChrSlots; i++) { if (g_ChrSlots[i].model) { -#if PAL - modelSetAnimPlaySpeed(g_ChrSlots[i].model, var80062968 * 1.2f, 600); -#else - modelSetAnimPlaySpeed(g_ChrSlots[i].model, var80062968, 600); -#endif + modelSetAnimPlaySpeed(g_ChrSlots[i].model, FRAMESTOTIME60(var80062968), 600); } } } diff --git a/src/game/chr/chraicommands.c b/src/game/chr/chraicommands.c index c6f4f0290..8fbc71f06 100644 --- a/src/game/chr/chraicommands.c +++ b/src/game/chr/chraicommands.c @@ -5994,11 +5994,7 @@ bool aiSetLights(void) roomSetLightsOn(roomnum, true); break; default: -#if VERSION >= VERSION_PAL_FINAL - roomSetLighting(roomnum, cmd[4], cmd[5], cmd[6], cmd[7] * 50 / 60); -#else - roomSetLighting(roomnum, cmd[4], cmd[5], cmd[6], cmd[7]); -#endif + roomSetLighting(roomnum, cmd[4], cmd[5], cmd[6], TIME60TOFRAMES(cmd[7])); } } @@ -9735,19 +9731,11 @@ bool aiChrAdjustMotionBlur(void) struct chrdata *chr = chrFindById(g_Vars.chrdata, cmd[2]); if (chr) { -#if PAL if (cmd[4] == 0) { - chr->blurdrugamount -= cmd[3] * 50 / 60; + chr->blurdrugamount -= TIME60TOFRAMES(cmd[3]); } else { - chr->blurdrugamount += cmd[3] * 50 / 60; + chr->blurdrugamount += TIME60TOFRAMES(cmd[3]); } -#else - if (cmd[4] == 0) { - chr->blurdrugamount -= cmd[3]; - } else { - chr->blurdrugamount += cmd[3]; - } -#endif } g_Vars.aioffset += 5; @@ -10088,12 +10076,7 @@ bool ai0184(void) bool aiIfSoundTimer(void) { u8 *cmd = g_Vars.ailist + g_Vars.aioffset; - -#if PAL - s32 value = (cmd[3] | (cmd[2] << 8)) * 50 / 60; -#else - s32 value = cmd[3] | (cmd[2] << 8); -#endif + s32 value = TIME60TOFRAMES(cmd[3] | (cmd[2] << 8)); if ((g_Vars.chrdata->soundtimer > value && cmd[4] == 0) || (g_Vars.chrdata->soundtimer < value && cmd[4] == 1)) { diff --git a/src/game/game_092610.c b/src/game/game_092610.c index 509a92055..7fa3ad4d2 100644 --- a/src/game/game_092610.c +++ b/src/game/game_092610.c @@ -2745,11 +2745,7 @@ void audioPlayFromProp2(s32 channelnum, s32 soundnum, s16 padnum, struct prop *p } if (a1) { -#if PAL - channel->unk1c = arg4 * 50 / 60; -#else - channel->unk1c = arg4; -#endif + channel->unk1c = TIME60TOFRAMES(arg4); } if (padnum != -1) { diff --git a/src/game/game_097ba0.c b/src/game/game_097ba0.c index 43e6ff114..2f3bfbb48 100644 --- a/src/game/game_097ba0.c +++ b/src/game/game_097ba0.c @@ -2008,6 +2008,121 @@ s32 func0f098ca0(s32 funcnum, struct handweaponinfo *info, struct hand *hand) return result; } +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f098df8 +/* f098e78: 27bdffc8 */ addiu $sp,$sp,-56 +/* f098e7c: afb00018 */ sw $s0,0x18($sp) +/* f098e80: 00a08025 */ move $s0,$a1 +/* f098e84: 00802825 */ move $a1,$a0 +/* f098e88: afbf001c */ sw $ra,0x1c($sp) +/* f098e8c: afa40038 */ sw $a0,0x38($sp) +/* f098e90: afa60040 */ sw $a2,0x40($sp) +/* f098e94: afa70044 */ sw $a3,0x44($sp) +/* f098e98: 0fc2c55e */ jal 0xf0b1578 +/* f098e9c: 00c02025 */ move $a0,$a2 +/* f098ea0: 50400059 */ beqzl $v0,.PF0f099008 +/* f098ea4: 8fbf001c */ lw $ra,0x1c($sp) +/* f098ea8: 80430007 */ lb $v1,0x7($v0) +/* f098eac: 2401ffff */ li $at,-1 +/* f098eb0: 50610055 */ beql $v1,$at,.PF0f099008 +/* f098eb4: 8fbf001c */ lw $ra,0x1c($sp) +/* f098eb8: 8e0e0008 */ lw $t6,0x8($s0) +/* f098ebc: 00602825 */ move $a1,$v1 +/* f098ec0: 8fb90040 */ lw $t9,0x40($sp) +/* f098ec4: 01c37821 */ addu $t7,$t6,$v1 +/* f098ec8: 81f80064 */ lb $t8,0x64($t7) +/* f098ecc: 0700004d */ bltz $t8,.PF0f099004 +/* f098ed0: 00033880 */ sll $a3,$v1,0x2 +/* f098ed4: 03273021 */ addu $a2,$t9,$a3 +/* f098ed8: 8cc90228 */ lw $t1,0x228($a2) +/* f098edc: 8cca0220 */ lw $t2,0x220($a2) +/* f098ee0: 8e040000 */ lw $a0,0x0($s0) +/* f098ee4: afa20034 */ sw $v0,0x34($sp) +/* f098ee8: 012a1823 */ subu $v1,$t1,$t2 +/* f098eec: afa3002c */ sw $v1,0x2c($sp) +/* f098ef0: afa70024 */ sw $a3,0x24($sp) +/* f098ef4: afa60020 */ sw $a2,0x20($sp) +/* f098ef8: 0fc25f0b */ jal 0xf097c2c +/* f098efc: afa50030 */ sw $a1,0x30($sp) +/* f098f00: 3c0b8009 */ lui $t3,0x8009 +/* f098f04: 916b8d54 */ lbu $t3,-0x72ac($t3) +/* f098f08: 8fa3002c */ lw $v1,0x2c($sp) +/* f098f0c: 8fa50030 */ lw $a1,0x30($sp) +/* f098f10: 8fa60020 */ lw $a2,0x20($sp) +/* f098f14: 8fa70024 */ lw $a3,0x24($sp) +/* f098f18: 11600002 */ beqz $t3,.PF0f098f24 +/* f098f1c: 00402025 */ move $a0,$v0 +/* f098f20: 2404ffff */ li $a0,-1 +.PF0f098f24: +/* f098f24: 93ac004b */ lbu $t4,0x4b($sp) +/* f098f28: 93a90047 */ lbu $t1,0x47($sp) +/* f098f2c: 1180000b */ beqz $t4,.PF0f098f5c +/* f098f30: 00000000 */ nop +/* f098f34: 04800009 */ bltz $a0,.PF0f098f5c +/* f098f38: 8fad0040 */ lw $t5,0x40($sp) +/* f098f3c: 00047040 */ sll $t6,$a0,0x1 +/* f098f40: 01ae7821 */ addu $t7,$t5,$t6 +/* f098f44: 95f8073c */ lhu $t8,0x73c($t7) +/* f098f48: 240100d5 */ li $at,0xd5 +/* f098f4c: 0301001a */ div $zero,$t8,$at +/* f098f50: 0000c812 */ mflo $t9 +/* f098f54: 00791823 */ subu $v1,$v1,$t9 +/* f098f58: 00000000 */ nop +.PF0f098f5c: +/* f098f5c: 51200003 */ beqzl $t1,.PF0f098f6c +/* f098f60: 8e0b0008 */ lw $t3,0x8($s0) +/* f098f64: 24030001 */ li $v1,0x1 +/* f098f68: 8e0b0008 */ lw $t3,0x8($s0) +.PF0f098f6c: +/* f098f6c: 3c04800a */ lui $a0,0x800a +/* f098f70: 2484a510 */ addiu $a0,$a0,-23280 +/* f098f74: 01656021 */ addu $t4,$t3,$a1 +/* f098f78: 818d0064 */ lb $t5,0x64($t4) +/* f098f7c: 8c8a0284 */ lw $t2,0x284($a0) +/* f098f80: 000d7080 */ sll $t6,$t5,0x2 +/* f098f84: 014e7821 */ addu $t7,$t2,$t6 +/* f098f88: 8de217a8 */ lw $v0,0x17a8($t7) +/* f098f8c: 0043082a */ slt $at,$v0,$v1 +/* f098f90: 50200003 */ beqzl $at,.PF0f098fa0 +/* f098f94: 8cd80220 */ lw $t8,0x220($a2) +/* f098f98: 00401825 */ move $v1,$v0 +/* f098f9c: 8cd80220 */ lw $t8,0x220($a2) +.PF0f098fa0: +/* f098fa0: 0303c821 */ addu $t9,$t8,$v1 +/* f098fa4: acd90220 */ sw $t9,0x220($a2) +/* f098fa8: 8e0b0008 */ lw $t3,0x8($s0) +/* f098fac: 8c890284 */ lw $t1,0x284($a0) +/* f098fb0: 01656021 */ addu $t4,$t3,$a1 +/* f098fb4: 818d0064 */ lb $t5,0x64($t4) +/* f098fb8: 000d5080 */ sll $t2,$t5,0x2 +/* f098fbc: 012a1021 */ addu $v0,$t1,$t2 +/* f098fc0: 8c4e17a8 */ lw $t6,0x17a8($v0) +/* f098fc4: 01c37823 */ subu $t7,$t6,$v1 +/* f098fc8: ac4f17a8 */ sw $t7,0x17a8($v0) +/* f098fcc: 8e180004 */ lw $t8,0x4($s0) +/* f098fd0: 0307c821 */ addu $t9,$t8,$a3 +/* f098fd4: 8f2b001c */ lw $t3,0x1c($t9) +/* f098fd8: 916c0010 */ lbu $t4,0x10($t3) +/* f098fdc: 318d0001 */ andi $t5,$t4,0x1 +/* f098fe0: 51a00009 */ beqzl $t5,.PF0f099008 +/* f098fe4: 8fbf001c */ lw $ra,0x1c($sp) +/* f098fe8: 8e0a0008 */ lw $t2,0x8($s0) +/* f098fec: 8c890284 */ lw $t1,0x284($a0) +/* f098ff0: 01457021 */ addu $t6,$t2,$a1 +/* f098ff4: 81cf0064 */ lb $t7,0x64($t6) +/* f098ff8: 000fc080 */ sll $t8,$t7,0x2 +/* f098ffc: 0138c821 */ addu $t9,$t1,$t8 +/* f099000: af2017a8 */ sw $zero,0x17a8($t9) +.PF0f099004: +/* f099004: 8fbf001c */ lw $ra,0x1c($sp) +.PF0f099008: +/* f099008: 8fb00018 */ lw $s0,0x18($sp) +/* f09900c: 27bd0038 */ addiu $sp,$sp,0x38 +/* f099010: 03e00008 */ jr $ra +/* f099014: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f098df8 /* f098df8: 27bdffc8 */ addiu $sp,$sp,-56 @@ -2118,6 +2233,7 @@ glabel func0f098df8 /* f098f84: 03e00008 */ jr $ra /* f098f88: 00000000 */ nop ); +#endif GLOBAL_ASM( glabel func0f098f8c @@ -2244,294 +2360,391 @@ glabel func0f099188 #if VERSION >= VERSION_PAL_FINAL GLOBAL_ASM( glabel func0f0991e4 -/* f09988c: 27bdffa0 */ addiu $sp,$sp,-96 -/* f099890: afbf001c */ sw $ra,0x1c($sp) -/* f099894: afb00018 */ sw $s0,0x18($sp) -/* f099898: 00c08025 */ move $s0,$a2 -/* f09989c: afa40060 */ sw $a0,0x60($sp) -/* f0998a0: afa50064 */ sw $a1,0x64($sp) -/* f0998a4: 0fc2a432 */ jal 0xf0a90c8 -/* f0998a8: afa7006c */ sw $a3,0x6c($sp) -/* f0998ac: afa20054 */ sw $v0,0x54($sp) -/* f0998b0: 820e0008 */ lb $t6,0x8($s0) -/* f0998b4: 8fa40064 */ lw $a0,0x64($sp) -/* f0998b8: 55c00008 */ bnezl $t6,.PF0f0998dc -/* f0998bc: 8e020608 */ lw $v0,0x608($s0) -/* f0998c0: 0fc273ec */ jal 0xf09cfb0 -/* f0998c4: 00002825 */ move $a1,$zero -/* f0998c8: 50400004 */ beqzl $v0,.PF0f0998dc -/* f0998cc: 8e020608 */ lw $v0,0x608($s0) -/* f0998d0: 100000ee */ b .PF0f099c8c -/* f0998d4: 8fa2006c */ lw $v0,0x6c($sp) -/* f0998d8: 8e020608 */ lw $v0,0x608($s0) -.PF0f0998dc: -/* f0998dc: 3c0f800a */ lui $t7,0x800a -/* f0998e0: 5440001b */ bnezl $v0,.PF0f099950 -/* f0998e4: 24010001 */ li $at,0x1 -/* f0998e8: 8defa828 */ lw $t7,-0x57d8($t7) -/* f0998ec: 24580001 */ addiu $t8,$v0,0x1 -/* f0998f0: 2403000d */ li $v1,0xd -/* f0998f4: 11e00002 */ beqz $t7,.PF0f099900 -/* f0998f8: 03001025 */ move $v0,$t8 -/* f0998fc: 2403000a */ li $v1,0xa -.PF0f099900: -/* f099900: 8e060614 */ lw $a2,0x614($s0) -/* f099904: 00c3082a */ slt $at,$a2,$v1 -/* f099908: 54200004 */ bnezl $at,.PF0f09991c -/* f09990c: 44862000 */ mtc1 $a2,$f4 -/* f099910: 1000000e */ b .PF0f09994c -/* f099914: ae180608 */ sw $t8,0x608($s0) -/* f099918: 44862000 */ mtc1 $a2,$f4 -.PF0f09991c: -/* f09991c: 3c017f1b */ lui $at,0x7f1b -/* f099920: c428d3b0 */ lwc1 $f8,-0x2c50($at) -/* f099924: 468021a0 */ cvt.s.w $f6,$f4 -/* f099928: 44838000 */ mtc1 $v1,$f16 -/* f09992c: 02002025 */ move $a0,$s0 -/* f099930: 468084a0 */ cvt.s.w $f18,$f16 -/* f099934: 46083282 */ mul.s $f10,$f6,$f8 -/* f099938: 46125103 */ div.s $f4,$f10,$f18 -/* f09993c: 44052000 */ mfc1 $a1,$f4 -/* f099940: 0fc26601 */ jal 0xf099804 -/* f099944: 00000000 */ nop -/* f099948: 8e020608 */ lw $v0,0x608($s0) -.PF0f09994c: -/* f09994c: 24010001 */ li $at,0x1 -.PF0f099950: -/* f099950: 544100ce */ bnel $v0,$at,.PF0f099c8c -/* f099954: 00001025 */ move $v0,$zero -/* f099958: 44803000 */ mtc1 $zero,$f6 -/* f09995c: a20005dc */ sb $zero,0x5dc($s0) -/* f099960: e60605fc */ swc1 $f6,0x5fc($s0) -/* f099964: 0fc26ffc */ jal 0xf09bff0 -/* f099968: 8fa40064 */ lw $a0,0x64($sp) -/* f09996c: 10400035 */ beqz $v0,.PF0f099a44 -/* f099970: 8fa40064 */ lw $a0,0x64($sp) -/* f099974: 0fc273ec */ jal 0xf09cfb0 -/* f099978: 24050005 */ li $a1,0x5 -/* f09997c: 10400031 */ beqz $v0,.PF0f099a44 -/* f099980: 3c02800a */ lui $v0,0x800a -/* f099984: 2442a510 */ addiu $v0,$v0,-23280 -/* f099988: 8c590314 */ lw $t9,0x314($v0) -/* f09998c: 3c088009 */ lui $t0,0x8009 -/* f099990: 13200023 */ beqz $t9,.PF0f099a20 -/* f099994: 00000000 */ nop -/* f099998: 91081040 */ lbu $t0,0x1040($t0) -/* f09999c: 24060001 */ li $a2,0x1 -/* f0999a0: 14c8001d */ bne $a2,$t0,.PF0f099a18 -/* f0999a4: 00000000 */ nop -/* f0999a8: 8c49006c */ lw $t1,0x6c($v0) -/* f0999ac: 00002825 */ move $a1,$zero -/* f0999b0: 00001825 */ move $v1,$zero -/* f0999b4: 11200003 */ beqz $t1,.PF0f0999c4 -/* f0999b8: 00002025 */ move $a0,$zero -/* f0999bc: 10000001 */ b .PF0f0999c4 -/* f0999c0: 00c02825 */ move $a1,$a2 -.PF0f0999c4: -/* f0999c4: 8c4a0068 */ lw $t2,0x68($v0) -/* f0999c8: 11400003 */ beqz $t2,.PF0f0999d8 -/* f0999cc: 00000000 */ nop -/* f0999d0: 10000001 */ b .PF0f0999d8 -/* f0999d4: 00c01825 */ move $v1,$a2 -.PF0f0999d8: -/* f0999d8: 8c4b0064 */ lw $t3,0x64($v0) -/* f0999dc: 11600003 */ beqz $t3,.PF0f0999ec -/* f0999e0: 00000000 */ nop -/* f0999e4: 10000001 */ b .PF0f0999ec -/* f0999e8: 00c02025 */ move $a0,$a2 -.PF0f0999ec: -/* f0999ec: 8c4c0070 */ lw $t4,0x70($v0) -/* f0999f0: 00001025 */ move $v0,$zero -/* f0999f4: 11800003 */ beqz $t4,.PF0f099a04 -/* f0999f8: 00000000 */ nop -/* f0999fc: 10000001 */ b .PF0f099a04 -/* f099a00: 00c01025 */ move $v0,$a2 -.PF0f099a04: -/* f099a04: 00446821 */ addu $t5,$v0,$a0 -/* f099a08: 01a37021 */ addu $t6,$t5,$v1 -/* f099a0c: 01c57821 */ addu $t7,$t6,$a1 -/* f099a10: 10cf0003 */ beq $a2,$t7,.PF0f099a20 -/* f099a14: 00000000 */ nop -.PF0f099a18: -/* f099a18: 0fc4a5f0 */ jal 0xf1297c0 -/* f099a1c: 8fa40064 */ lw $a0,0x64($sp) -.PF0f099a20: -/* f099a20: 0fc27f49 */ jal 0xf09fd24 -/* f099a24: 8fa40064 */ lw $a0,0x64($sp) -/* f099a28: 24180006 */ li $t8,0x6 -/* f099a2c: 24190002 */ li $t9,0x2 -/* f099a30: ae180020 */ sw $t8,0x20($s0) -/* f099a34: ae190608 */ sw $t9,0x608($s0) -/* f099a38: ae000018 */ sw $zero,0x18($s0) -/* f099a3c: 10000093 */ b .PF0f099c8c -/* f099a40: 00001025 */ move $v0,$zero -.PF0f099a44: -/* f099a44: 82080008 */ lb $t0,0x8($s0) -/* f099a48: 8fa40054 */ lw $a0,0x54($sp) -/* f099a4c: 8fa50060 */ lw $a1,0x60($sp) -/* f099a50: 5100008a */ beqzl $t0,.PF0f099c7c -/* f099a54: 3c053f5f */ lui $a1,0x3f5f -/* f099a58: 0fc26348 */ jal 0xf098d20 -/* f099a5c: 02003025 */ move $a2,$s0 -/* f099a60: 8fa90060 */ lw $t1,0x60($sp) -/* f099a64: afa20058 */ sw $v0,0x58($sp) -/* f099a68: 24010020 */ li $at,0x20 -/* f099a6c: 8d230000 */ lw $v1,0x0($t1) -/* f099a70: 8faa0054 */ lw $t2,0x54($sp) -/* f099a74: 10610003 */ beq $v1,$at,.PF0f099a84 -/* f099a78: 24010021 */ li $at,0x21 -/* f099a7c: 54610005 */ bnel $v1,$at,.PF0f099a94 -/* f099a80: 24010022 */ li $at,0x22 -.PF0f099a84: -/* f099a84: a20a0003 */ sb $t2,0x3($s0) -/* f099a88: 8fab0060 */ lw $t3,0x60($sp) -/* f099a8c: 8d630000 */ lw $v1,0x0($t3) -/* f099a90: 24010022 */ li $at,0x22 -.PF0f099a94: -/* f099a94: 1461000b */ bne $v1,$at,.PF0f099ac4 -/* f099a98: 8fac0054 */ lw $t4,0x54($sp) -/* f099a9c: 920d0003 */ lbu $t5,0x3($s0) -/* f099aa0: 8fa40064 */ lw $a0,0x64($sp) -/* f099aa4: 118d0007 */ beq $t4,$t5,.PF0f099ac4 -/* f099aa8: 00000000 */ nop -/* f099aac: 0fc273ec */ jal 0xf09cfb0 -/* f099ab0: 24050007 */ li $a1,0x7 -/* f099ab4: 10400003 */ beqz $v0,.PF0f099ac4 -/* f099ab8: 00000000 */ nop -/* f099abc: 10000073 */ b .PF0f099c8c -/* f099ac0: 8fa2006c */ lw $v0,0x6c($sp) -.PF0f099ac4: -/* f099ac4: 3c02800a */ lui $v0,0x800a -/* f099ac8: 8c42a794 */ lw $v0,-0x586c($v0) -/* f099acc: 8faf0064 */ lw $t7,0x64($sp) -/* f099ad0: 24180001 */ li $t8,0x1 -/* f099ad4: 8c4e1600 */ lw $t6,0x1600($v0) -/* f099ad8: 030f2823 */ subu $a1,$t8,$t7 -/* f099adc: 0005c900 */ sll $t9,$a1,0x4 -/* f099ae0: 11c00034 */ beqz $t6,.PF0f099bb4 -/* f099ae4: 0325c823 */ subu $t9,$t9,$a1 -/* f099ae8: 0019c880 */ sll $t9,$t9,0x2 -/* f099aec: 0325c821 */ addu $t9,$t9,$a1 -/* f099af0: 0019c8c0 */ sll $t9,$t9,0x3 -/* f099af4: 0325c821 */ addu $t9,$t9,$a1 -/* f099af8: 0019c880 */ sll $t9,$t9,0x2 -/* f099afc: 00594021 */ addu $t0,$v0,$t9 -/* f099b00: 25090638 */ addiu $t1,$t0,0x638 -/* f099b04: 24030001 */ li $v1,0x1 -/* f099b08: afa9004c */ sw $t1,0x4c($sp) -/* f099b0c: afa3003c */ sw $v1,0x3c($sp) -/* f099b10: 0fc26333 */ jal 0xf098ccc -/* f099b14: 27a40040 */ addiu $a0,$sp,0x40 -/* f099b18: 8fa6004c */ lw $a2,0x4c($sp) -/* f099b1c: 8fa3003c */ lw $v1,0x3c($sp) -/* f099b20: 00002025 */ move $a0,$zero -/* f099b24: 80ca0008 */ lb $t2,0x8($a2) -/* f099b28: 27a50040 */ addiu $a1,$sp,0x40 -/* f099b2c: 51400016 */ beqzl $t2,.PF0f099b88 -/* f099b30: 8fa6004c */ lw $a2,0x4c($sp) -/* f099b34: 0fc26348 */ jal 0xf098d20 -/* f099b38: afa3003c */ sw $v1,0x3c($sp) -/* f099b3c: 04400002 */ bltz $v0,.PF0f099b48 -/* f099b40: 8fa3003c */ lw $v1,0x3c($sp) -/* f099b44: 00001825 */ move $v1,$zero -.PF0f099b48: -/* f099b48: 24040001 */ li $a0,0x1 -/* f099b4c: 27a50040 */ addiu $a1,$sp,0x40 -/* f099b50: 8fa6004c */ lw $a2,0x4c($sp) -/* f099b54: 0fc26348 */ jal 0xf098d20 -/* f099b58: afa3003c */ sw $v1,0x3c($sp) -/* f099b5c: 04400002 */ bltz $v0,.PF0f099b68 -/* f099b60: 8fa3003c */ lw $v1,0x3c($sp) -/* f099b64: 00001825 */ move $v1,$zero -.PF0f099b68: -/* f099b68: 8fa4004c */ lw $a0,0x4c($sp) -/* f099b6c: 90850003 */ lbu $a1,0x3($a0) -/* f099b70: 0fc26485 */ jal 0xf099214 -/* f099b74: afa3003c */ sw $v1,0x3c($sp) -/* f099b78: 10400002 */ beqz $v0,.PF0f099b84 -/* f099b7c: 8fa3003c */ lw $v1,0x3c($sp) -/* f099b80: 24030001 */ li $v1,0x1 -.PF0f099b84: -/* f099b84: 8fa6004c */ lw $a2,0x4c($sp) -.PF0f099b88: -/* f099b88: 24010008 */ li $at,0x8 -/* f099b8c: 8cc20604 */ lw $v0,0x604($a2) -/* f099b90: 10400004 */ beqz $v0,.PF0f099ba4 -/* f099b94: 00000000 */ nop -/* f099b98: 10410002 */ beq $v0,$at,.PF0f099ba4 -/* f099b9c: 00000000 */ nop -/* f099ba0: 00001825 */ move $v1,$zero -.PF0f099ba4: -/* f099ba4: 50600004 */ beqzl $v1,.PF0f099bb8 -/* f099ba8: 8fac0058 */ lw $t4,0x58($sp) -/* f099bac: 0fc2884a */ jal 0xf0a2128 -/* f099bb0: 00000000 */ nop -.PF0f099bb4: -/* f099bb4: 8fac0058 */ lw $t4,0x58($sp) -.PF0f099bb8: -/* f099bb8: 29810002 */ slti $at,$t4,0x2 -/* f099bbc: 50200028 */ beqzl $at,.PF0f099c60 -/* f099bc0: 8e020024 */ lw $v0,0x24($s0) -/* f099bc4: 05800025 */ bltz $t4,.PF0f099c5c -/* f099bc8: 8fae0064 */ lw $t6,0x64($sp) -/* f099bcc: 000ec100 */ sll $t8,$t6,0x4 -/* f099bd0: 030ec023 */ subu $t8,$t8,$t6 -/* f099bd4: 0018c080 */ sll $t8,$t8,0x2 -/* f099bd8: 030ec021 */ addu $t8,$t8,$t6 -/* f099bdc: 0018c0c0 */ sll $t8,$t8,0x3 -/* f099be0: 3c0d800a */ lui $t5,0x800a -/* f099be4: 8dada794 */ lw $t5,-0x586c($t5) -/* f099be8: 030ec021 */ addu $t8,$t8,$t6 -/* f099bec: 0018c080 */ sll $t8,$t8,0x2 -/* f099bf0: 00187823 */ negu $t7,$t8 -/* f099bf4: 01afc821 */ addu $t9,$t5,$t7 -/* f099bf8: 8f2813e0 */ lw $t0,0x13e0($t9) -/* f099bfc: 24010001 */ li $at,0x1 -/* f099c00: 24050001 */ li $a1,0x1 -/* f099c04: 51010016 */ beql $t0,$at,.PF0f099c60 -/* f099c08: 8e020024 */ lw $v0,0x24($s0) -/* f099c0c: ae00001c */ sw $zero,0x1c($s0) -/* f099c10: ae000018 */ sw $zero,0x18($s0) -/* f099c14: 0fc273ec */ jal 0xf09cfb0 -/* f099c18: 8fa40064 */ lw $a0,0x64($sp) -/* f099c1c: 1040000f */ beqz $v0,.PF0f099c5c -/* f099c20: 8fa90060 */ lw $t1,0x60($sp) -/* f099c24: 8d2a0000 */ lw $t2,0x0($t1) -/* f099c28: 2401001a */ li $at,0x1a -/* f099c2c: 240b000b */ li $t3,0xb -/* f099c30: 15410008 */ bne $t2,$at,.PF0f099c54 -/* f099c34: 240c000e */ li $t4,0xe -/* f099c38: 240effff */ li $t6,-1 -/* f099c3c: 24180002 */ li $t8,0x2 -/* f099c40: ae0b0020 */ sw $t3,0x20($s0) -/* f099c44: ae0c0038 */ sw $t4,0x38($s0) -/* f099c48: ae00001c */ sw $zero,0x1c($s0) -/* f099c4c: ae0e0018 */ sw $t6,0x18($s0) -/* f099c50: ae180608 */ sw $t8,0x608($s0) -.PF0f099c54: -/* f099c54: 1000000d */ b .PF0f099c8c -/* f099c58: 8fa2006c */ lw $v0,0x6c($sp) -.PF0f099c5c: -/* f099c5c: 8e020024 */ lw $v0,0x24($s0) -.PF0f099c60: -/* f099c60: 50400006 */ beqzl $v0,.PF0f099c7c -/* f099c64: 3c053f5f */ lui $a1,0x3f5f -/* f099c68: ae020020 */ sw $v0,0x20($s0) -/* f099c6c: ae00001c */ sw $zero,0x1c($s0) -/* f099c70: ae000018 */ sw $zero,0x18($s0) -/* f099c74: ae000024 */ sw $zero,0x24($s0) -/* f099c78: 3c053f5f */ lui $a1,0x3f5f -.PF0f099c7c: -/* f099c7c: 34a55dd8 */ ori $a1,$a1,0x5dd8 -/* f099c80: 0fc26601 */ jal 0xf099804 -/* f099c84: 02002025 */ move $a0,$s0 -/* f099c88: 00001025 */ move $v0,$zero -.PF0f099c8c: -/* f099c8c: 8fbf001c */ lw $ra,0x1c($sp) -/* f099c90: 8fb00018 */ lw $s0,0x18($sp) -/* f099c94: 27bd0060 */ addiu $sp,$sp,0x60 -/* f099c98: 03e00008 */ jr $ra -/* f099c9c: 00000000 */ nop +/* f099270: 27bdffc0 */ addiu $sp,$sp,-64 +/* f099274: afbf001c */ sw $ra,0x1c($sp) +/* f099278: afb00018 */ sw $s0,0x18($sp) +/* f09927c: 00c08025 */ move $s0,$a2 +/* f099280: afa40040 */ sw $a0,0x40($sp) +/* f099284: afa50044 */ sw $a1,0x44($sp) +/* f099288: 0fc2a432 */ jal 0xf0a90c8 +/* f09928c: afa7004c */ sw $a3,0x4c($sp) +/* f099290: 44802000 */ mtc1 $zero,$f4 +/* f099294: afa20038 */ sw $v0,0x38($sp) +/* f099298: a20005dc */ sb $zero,0x5dc($s0) +/* f09929c: ae000558 */ sw $zero,0x558($s0) +/* f0992a0: e60405fc */ swc1 $f4,0x5fc($s0) +/* f0992a4: 0fc26ffc */ jal 0xf09bff0 +/* f0992a8: 8fa40044 */ lw $a0,0x44($sp) +/* f0992ac: 10400007 */ beqz $v0,.PF0f0992cc +/* f0992b0: 8fa40044 */ lw $a0,0x44($sp) +/* f0992b4: 0fc273ec */ jal 0xf09cfb0 +/* f0992b8: 24050005 */ li $a1,0x5 +/* f0992bc: 50400004 */ beqzl $v0,.PF0f0992d0 +/* f0992c0: 8fae0038 */ lw $t6,0x38($sp) +/* f0992c4: 1000014a */ b .PF0f0997f0 +/* f0992c8: 8fa2004c */ lw $v0,0x4c($sp) +.PF0f0992cc: +/* f0992cc: 8fae0038 */ lw $t6,0x38($sp) +.PF0f0992d0: +/* f0992d0: 920f0003 */ lbu $t7,0x3($s0) +/* f0992d4: 02003025 */ move $a2,$s0 +/* f0992d8: 55cf0005 */ bnel $t6,$t7,.PF0f0992f0 +/* f0992dc: 92090690 */ lbu $t1,0x690($s0) +/* f0992e0: 92180690 */ lbu $t8,0x690($s0) +/* f0992e4: 3319fffd */ andi $t9,$t8,0xfffd +/* f0992e8: a2190690 */ sb $t9,0x690($s0) +/* f0992ec: 92090690 */ lbu $t1,0x690($s0) +.PF0f0992f0: +/* f0992f0: 820b0008 */ lb $t3,0x8($s0) +/* f0992f4: 312afffe */ andi $t2,$t1,0xfffe +/* f0992f8: 11600106 */ beqz $t3,.PF0f099714 +/* f0992fc: a20a0690 */ sb $t2,0x690($s0) +/* f099300: 92040003 */ lbu $a0,0x3($s0) +/* f099304: 0fc26348 */ jal 0xf098d20 +/* f099308: 8fa50040 */ lw $a1,0x40($sp) +/* f09930c: 92030003 */ lbu $v1,0x3($s0) +/* f099310: 8fac0038 */ lw $t4,0x38($sp) +/* f099314: 00404025 */ move $t0,$v0 +/* f099318: 1183003a */ beq $t4,$v1,.PF0f099404 +/* f09931c: 00000000 */ nop +/* f099320: 8e0d0024 */ lw $t5,0x24($s0) +/* f099324: 24010009 */ li $at,0x9 +/* f099328: 11a10036 */ beq $t5,$at,.PF0f099404 +/* f09932c: 00000000 */ nop +/* f099330: 8e0e0690 */ lw $t6,0x690($s0) +/* f099334: 24190001 */ li $t9,0x1 +/* f099338: 24070001 */ li $a3,0x1 +/* f09933c: 000ec180 */ sll $t8,$t6,0x6 +/* f099340: 0701000a */ bgez $t8,.PF0f09936c +/* f099344: 03232023 */ subu $a0,$t9,$v1 +/* f099348: 8fa50040 */ lw $a1,0x40($sp) +/* f09934c: 02003025 */ move $a2,$s0 +/* f099350: afa7002c */ sw $a3,0x2c($sp) +/* f099354: 0fc26348 */ jal 0xf098d20 +/* f099358: afa20034 */ sw $v0,0x34($sp) +/* f09935c: 8fa7002c */ lw $a3,0x2c($sp) +/* f099360: 04410002 */ bgez $v0,.PF0f09936c +/* f099364: 8fa80034 */ lw $t0,0x34($sp) +/* f099368: 00003825 */ move $a3,$zero +.PF0f09936c: +/* f09936c: 10e00018 */ beqz $a3,.PF0f0993d0 +/* f099370: 8fa90040 */ lw $t1,0x40($sp) +/* f099374: 8d2a0000 */ lw $t2,0x0($t1) +/* f099378: 2401001a */ li $at,0x1a +/* f09937c: 15410014 */ bne $t2,$at,.PF0f0993d0 +/* f099380: 00000000 */ nop +/* f099384: 1500000f */ bnez $t0,.PF0f0993c4 +/* f099388: 00000000 */ nop +/* f09938c: ae00001c */ sw $zero,0x1c($s0) +/* f099390: ae000018 */ sw $zero,0x18($s0) +/* f099394: 8fab0038 */ lw $t3,0x38($sp) +/* f099398: 24050001 */ li $a1,0x1 +/* f09939c: a20b0003 */ sb $t3,0x3($s0) +/* f0993a0: afa80034 */ sw $t0,0x34($sp) +/* f0993a4: afa7002c */ sw $a3,0x2c($sp) +/* f0993a8: 0fc273ec */ jal 0xf09cfb0 +/* f0993ac: 8fa40044 */ lw $a0,0x44($sp) +/* f0993b0: 8fa7002c */ lw $a3,0x2c($sp) +/* f0993b4: 10400006 */ beqz $v0,.PF0f0993d0 +/* f0993b8: 8fa80034 */ lw $t0,0x34($sp) +/* f0993bc: 1000010c */ b .PF0f0997f0 +/* f0993c0: 8fa2004c */ lw $v0,0x4c($sp) +.PF0f0993c4: +/* f0993c4: 05010002 */ bgez $t0,.PF0f0993d0 +/* f0993c8: 00000000 */ nop +/* f0993cc: 00003825 */ move $a3,$zero +.PF0f0993d0: +/* f0993d0: 10e0000c */ beqz $a3,.PF0f099404 +/* f0993d4: 00000000 */ nop +/* f0993d8: 920c0690 */ lbu $t4,0x690($s0) +/* f0993dc: 24050007 */ li $a1,0x7 +/* f0993e0: 318dfffd */ andi $t5,$t4,0xfffd +/* f0993e4: a20d0690 */ sb $t5,0x690($s0) +/* f0993e8: afa80034 */ sw $t0,0x34($sp) +/* f0993ec: 0fc273ec */ jal 0xf09cfb0 +/* f0993f0: 8fa40044 */ lw $a0,0x44($sp) +/* f0993f4: 10400003 */ beqz $v0,.PF0f099404 +/* f0993f8: 8fa80034 */ lw $t0,0x34($sp) +/* f0993fc: 100000fc */ b .PF0f0997f0 +/* f099400: 8fa2004c */ lw $v0,0x4c($sp) +.PF0f099404: +/* f099404: 05010071 */ bgez $t0,.PF0f0995cc +/* f099408: 8fae0040 */ lw $t6,0x40($sp) +/* f09940c: 8dc40000 */ lw $a0,0x0($t6) +/* f099410: 0fc2c720 */ jal 0xf0b1c80 +/* f099414: 24050001 */ li $a1,0x1 +/* f099418: 1040000f */ beqz $v0,.PF0f099458 +/* f09941c: 8faf0040 */ lw $t7,0x40($sp) +/* f099420: 8df80000 */ lw $t8,0x0($t7) +/* f099424: 24010022 */ li $at,0x22 +/* f099428: 8fb90044 */ lw $t9,0x44($sp) +/* f09942c: 17010004 */ bne $t8,$at,.PF0f099440 +/* f099430: 8fa40044 */ lw $a0,0x44($sp) +/* f099434: 24010001 */ li $at,0x1 +/* f099438: 13210007 */ beq $t9,$at,.PF0f099458 +/* f09943c: 00000000 */ nop +.PF0f099440: +/* f099440: 0fc273ec */ jal 0xf09cfb0 +/* f099444: 24050008 */ li $a1,0x8 +/* f099448: 10400003 */ beqz $v0,.PF0f099458 +/* f09944c: 00000000 */ nop +/* f099450: 100000e7 */ b .PF0f0997f0 +/* f099454: 8fa2004c */ lw $v0,0x4c($sp) +.PF0f099458: +/* f099458: 3c09800a */ lui $t1,0x800a +/* f09945c: 8d29a794 */ lw $t1,-0x586c($t1) +/* f099460: 8fa50040 */ lw $a1,0x40($sp) +/* f099464: 02003025 */ move $a2,$s0 +/* f099468: 81241580 */ lb $a0,0x1580($t1) +/* f09946c: 0004102a */ slt $v0,$zero,$a0 +/* f099470: 50400016 */ beqzl $v0,.PF0f0994cc +/* f099474: 8fab0038 */ lw $t3,0x38($sp) +/* f099478: 28820024 */ slti $v0,$a0,0x24 +/* f09947c: 10400012 */ beqz $v0,.PF0f0994c8 +/* f099480: 3c0a800a */ lui $t2,0x800a +/* f099484: 8d4aa798 */ lw $t2,-0x5868($t2) +/* f099488: 2483ffff */ addiu $v1,$a0,-1 +/* f09948c: 000368c3 */ sra $t5,$v1,0x3 +/* f099490: 8d4b0070 */ lw $t3,0x70($t2) +/* f099494: 3c0f800b */ lui $t7,0x800b +/* f099498: 30780007 */ andi $t8,$v1,0x7 +/* f09949c: 000b6080 */ sll $t4,$t3,0x2 +/* f0994a0: 018b6021 */ addu $t4,$t4,$t3 +/* f0994a4: 000c6140 */ sll $t4,$t4,0x5 +/* f0994a8: 018d7021 */ addu $t6,$t4,$t5 +/* f0994ac: 01ee7821 */ addu $t7,$t7,$t6 +/* f0994b0: 91efcdef */ lbu $t7,-0x3211($t7) +/* f0994b4: 24190001 */ li $t9,0x1 +/* f0994b8: 03194804 */ sllv $t1,$t9,$t8 +/* f0994bc: 01e91024 */ and $v0,$t7,$t1 +/* f0994c0: 0002502b */ sltu $t2,$zero,$v0 +/* f0994c4: 01401025 */ move $v0,$t2 +.PF0f0994c8: +/* f0994c8: 8fab0038 */ lw $t3,0x38($sp) +.PF0f0994cc: +/* f0994cc: 544b0092 */ bnel $v0,$t3,.PF0f099718 +/* f0994d0: 8fae0044 */ lw $t6,0x44($sp) +/* f0994d4: 920c0003 */ lbu $t4,0x3($s0) +/* f0994d8: 240d0001 */ li $t5,0x1 +/* f0994dc: 0fc26348 */ jal 0xf098d20 +/* f0994e0: 01ac2023 */ subu $a0,$t5,$t4 +/* f0994e4: 920e0003 */ lbu $t6,0x3($s0) +/* f0994e8: 24190001 */ li $t9,0x1 +/* f0994ec: afa20030 */ sw $v0,0x30($sp) +/* f0994f0: 02002025 */ move $a0,$s0 +/* f0994f4: 0fc26485 */ jal 0xf099214 +/* f0994f8: 032e2823 */ subu $a1,$t9,$t6 +/* f0994fc: 1040001a */ beqz $v0,.PF0f099568 +/* f099500: 8fa30030 */ lw $v1,0x30($sp) +/* f099504: 8fb80040 */ lw $t8,0x40($sp) +/* f099508: 24010014 */ li $at,0x14 +/* f09950c: 8f0f0000 */ lw $t7,0x0($t8) +/* f099510: 11e10015 */ beq $t7,$at,.PF0f099568 +/* f099514: 00000000 */ nop +/* f099518: 8f090008 */ lw $t1,0x8($t8) +/* f09951c: 02002025 */ move $a0,$s0 +/* f099520: 24190001 */ li $t9,0x1 +/* f099524: 8d2a0000 */ lw $t2,0x0($t1) +/* f099528: 000a6f40 */ sll $t5,$t2,0x1d +/* f09952c: 05a3000e */ bgezl $t5,.PF0f099568 +/* f099530: 2403ffff */ li $v1,-1 +/* f099534: 920c0003 */ lbu $t4,0x3($s0) +/* f099538: afa30030 */ sw $v1,0x30($sp) +/* f09953c: 0fc2c55e */ jal 0xf0b1578 +/* f099540: 032c2823 */ subu $a1,$t9,$t4 +/* f099544: 8c4e0000 */ lw $t6,0x0($v0) +/* f099548: 24010003 */ li $at,0x3 +/* f09954c: 8fa30030 */ lw $v1,0x30($sp) +/* f099550: 31cf00ff */ andi $t7,$t6,0xff +/* f099554: 11e10004 */ beq $t7,$at,.PF0f099568 +/* f099558: 00000000 */ nop +/* f09955c: 10000002 */ b .PF0f099568 +/* f099560: 2403ffff */ li $v1,-1 +/* f099564: 2403ffff */ li $v1,-1 +.PF0f099568: +/* f099568: 04610005 */ bgez $v1,.PF0f099580 +/* f09956c: 8fab0040 */ lw $t3,0x40($sp) +/* f099570: 92090690 */ lbu $t1,0x690($s0) +/* f099574: 352a0001 */ ori $t2,$t1,0x1 +/* f099578: 10000066 */ b .PF0f099714 +/* f09957c: a20a0690 */ sb $t2,0x690($s0) +.PF0f099580: +/* f099580: 8d640000 */ lw $a0,0x0($t3) +/* f099584: 0fc2c720 */ jal 0xf0b1c80 +/* f099588: 3c050400 */ lui $a1,0x400 +/* f09958c: 50400006 */ beqzl $v0,.PF0f0995a8 +/* f099590: 920c0690 */ lbu $t4,0x690($s0) +/* f099594: 920d0003 */ lbu $t5,0x3($s0) +/* f099598: 24010001 */ li $at,0x1 +/* f09959c: 55a1005e */ bnel $t5,$at,.PF0f099718 +/* f0995a0: 8fae0044 */ lw $t6,0x44($sp) +/* f0995a4: 920c0690 */ lbu $t4,0x690($s0) +.PF0f0995a8: +/* f0995a8: 24050007 */ li $a1,0x7 +/* f0995ac: 358e0002 */ ori $t6,$t4,0x2 +/* f0995b0: a20e0690 */ sb $t6,0x690($s0) +/* f0995b4: 0fc273ec */ jal 0xf09cfb0 +/* f0995b8: 8fa40044 */ lw $a0,0x44($sp) +/* f0995bc: 50400056 */ beqzl $v0,.PF0f099718 +/* f0995c0: 8fae0044 */ lw $t6,0x44($sp) +/* f0995c4: 1000008a */ b .PF0f0997f0 +/* f0995c8: 8fa2004c */ lw $v0,0x4c($sp) +.PF0f0995cc: +/* f0995cc: 5500001c */ bnezl $t0,.PF0f099640 +/* f0995d0: 8e0d000c */ lw $t5,0xc($s0) +/* f0995d4: 8e0f000c */ lw $t7,0xc($s0) +/* f0995d8: 8fb80040 */ lw $t8,0x40($sp) +/* f0995dc: 24050001 */ li $a1,0x1 +/* f0995e0: 51e0000f */ beqzl $t7,.PF0f099620 +/* f0995e4: ae00001c */ sw $zero,0x1c($s0) +/* f0995e8: 8f090000 */ lw $t1,0x0($t8) +/* f0995ec: 5120000c */ beqzl $t1,.PF0f099620 +/* f0995f0: ae00001c */ sw $zero,0x1c($s0) +/* f0995f4: 920a0690 */ lbu $t2,0x690($s0) +/* f0995f8: 24050003 */ li $a1,0x3 +/* f0995fc: 314bff7f */ andi $t3,$t2,0xff7f +/* f099600: a20b0690 */ sb $t3,0x690($s0) +/* f099604: 0fc273ec */ jal 0xf09cfb0 +/* f099608: 8fa40044 */ lw $a0,0x44($sp) +/* f09960c: 50400042 */ beqzl $v0,.PF0f099718 +/* f099610: 8fae0044 */ lw $t6,0x44($sp) +/* f099614: 10000076 */ b .PF0f0997f0 +/* f099618: 8fa2004c */ lw $v0,0x4c($sp) +/* f09961c: ae00001c */ sw $zero,0x1c($s0) +.PF0f099620: +/* f099620: ae000018 */ sw $zero,0x18($s0) +/* f099624: 0fc273ec */ jal 0xf09cfb0 +/* f099628: 8fa40044 */ lw $a0,0x44($sp) +/* f09962c: 5040003a */ beqzl $v0,.PF0f099718 +/* f099630: 8fae0044 */ lw $t6,0x44($sp) +/* f099634: 1000006e */ b .PF0f0997f0 +/* f099638: 8fa2004c */ lw $v0,0x4c($sp) +/* f09963c: 8e0d000c */ lw $t5,0xc($s0) +.PF0f099640: +/* f099640: 8fb80040 */ lw $t8,0x40($sp) +/* f099644: 55a0000a */ bnezl $t5,.PF0f099670 +/* f099648: 8f090000 */ lw $t1,0x0($t8) +/* f09964c: 8e1906d4 */ lw $t9,0x6d4($s0) +/* f099650: 001976c0 */ sll $t6,$t9,0x1b +/* f099654: 05c3001c */ bgezl $t6,.PF0f0996c8 +/* f099658: 8e020024 */ lw $v0,0x24($s0) +/* f09965c: 920f0003 */ lbu $t7,0x3($s0) +/* f099660: 24010001 */ li $at,0x1 +/* f099664: 55e10018 */ bnel $t7,$at,.PF0f0996c8 +/* f099668: 8e020024 */ lw $v0,0x24($s0) +/* f09966c: 8f090000 */ lw $t1,0x0($t8) +.PF0f099670: +/* f099670: 3c0a800a */ lui $t2,0x800a +/* f099674: 51200014 */ beqzl $t1,.PF0f0996c8 +/* f099678: 8e020024 */ lw $v0,0x24($s0) +/* f09967c: 8d4aa794 */ lw $t2,-0x586c($t2) +/* f099680: 240b0001 */ li $t3,0x1 +/* f099684: 24050004 */ li $a1,0x4 +/* f099688: ad401600 */ sw $zero,0x1600($t2) +/* f09968c: 920d06d7 */ lbu $t5,0x6d7($s0) +/* f099690: ae0b0020 */ sw $t3,0x20($s0) +/* f099694: ae000018 */ sw $zero,0x18($s0) +/* f099698: 31b9ffef */ andi $t9,$t5,0xffef +/* f09969c: ae00001c */ sw $zero,0x1c($s0) +/* f0996a0: ae000014 */ sw $zero,0x14($s0) +/* f0996a4: a21906d7 */ sb $t9,0x6d7($s0) +/* f0996a8: afa80034 */ sw $t0,0x34($sp) +/* f0996ac: 0fc273ec */ jal 0xf09cfb0 +/* f0996b0: 8fa40044 */ lw $a0,0x44($sp) +/* f0996b4: 10400003 */ beqz $v0,.PF0f0996c4 +/* f0996b8: 8fa80034 */ lw $t0,0x34($sp) +/* f0996bc: 1000004c */ b .PF0f0997f0 +/* f0996c0: 8fa2004c */ lw $v0,0x4c($sp) +.PF0f0996c4: +/* f0996c4: 8e020024 */ lw $v0,0x24($s0) +.PF0f0996c8: +/* f0996c8: 24010009 */ li $at,0x9 +/* f0996cc: 50400012 */ beqzl $v0,.PF0f099718 +/* f0996d0: 8fae0044 */ lw $t6,0x44($sp) +/* f0996d4: ae020020 */ sw $v0,0x20($s0) +/* f0996d8: ae00001c */ sw $zero,0x1c($s0) +/* f0996dc: ae000018 */ sw $zero,0x18($s0) +/* f0996e0: 1441000c */ bne $v0,$at,.PF0f099714 +/* f0996e4: ae000024 */ sw $zero,0x24($s0) +/* f0996e8: 29010002 */ slti $at,$t0,0x2 +/* f0996ec: 5020000a */ beqzl $at,.PF0f099718 +/* f0996f0: 8fae0044 */ lw $t6,0x44($sp) +/* f0996f4: 05000007 */ bltz $t0,.PF0f099714 +/* f0996f8: 8fa40044 */ lw $a0,0x44($sp) +/* f0996fc: 0fc273ec */ jal 0xf09cfb0 +/* f099700: 24050001 */ li $a1,0x1 +/* f099704: 50400004 */ beqzl $v0,.PF0f099718 +/* f099708: 8fae0044 */ lw $t6,0x44($sp) +/* f09970c: 10000038 */ b .PF0f0997f0 +/* f099710: 8fa2004c */ lw $v0,0x4c($sp) +.PF0f099714: +/* f099714: 8fae0044 */ lw $t6,0x44($sp) +.PF0f099718: +/* f099718: 8faf0040 */ lw $t7,0x40($sp) +/* f09971c: 55c00034 */ bnezl $t6,.PF0f0997f0 +/* f099720: 00001025 */ move $v0,$zero +/* f099724: 8df80008 */ lw $t8,0x8($t7) +/* f099728: 8fb90044 */ lw $t9,0x44($sp) +/* f09972c: 3c0d800a */ lui $t5,0x800a +/* f099730: 8f090000 */ lw $t1,0x0($t8) +/* f099734: 00196100 */ sll $t4,$t9,0x4 +/* f099738: 01996023 */ subu $t4,$t4,$t9 +/* f09973c: 00095f40 */ sll $t3,$t1,0x1d +/* f099740: 05610005 */ bgez $t3,.PF0f099758 +/* f099744: 000c6080 */ sll $t4,$t4,0x2 +/* f099748: 0fc2884a */ jal 0xf0a2128 +/* f09974c: 00000000 */ nop +/* f099750: 10000027 */ b .PF0f0997f0 +/* f099754: 00001025 */ move $v0,$zero +.PF0f099758: +/* f099758: 01996021 */ addu $t4,$t4,$t9 +/* f09975c: 8dada794 */ lw $t5,-0x586c($t5) +/* f099760: 920e0690 */ lbu $t6,0x690($s0) +/* f099764: 000c60c0 */ sll $t4,$t4,0x3 +/* f099768: 01996021 */ addu $t4,$t4,$t9 +/* f09976c: 000c6080 */ sll $t4,$t4,0x2 +/* f099770: 01ac1023 */ subu $v0,$t5,$t4 +/* f099774: 31cf0001 */ andi $t7,$t6,0x1 +/* f099778: 15e00004 */ bnez $t7,.PF0f09978c +/* f09977c: 24420ddc */ addiu $v0,$v0,0xddc +/* f099780: 82180008 */ lb $t8,0x8($s0) +/* f099784: 57000012 */ bnezl $t8,.PF0f0997d0 +/* f099788: 904c0690 */ lbu $t4,0x690($v0) +.PF0f09978c: +/* f09978c: 90490690 */ lbu $t1,0x690($v0) +/* f099790: 312a0001 */ andi $t2,$t1,0x1 +/* f099794: 55400005 */ bnezl $t2,.PF0f0997ac +/* f099798: 8e19000c */ lw $t9,0xc($s0) +/* f09979c: 804b0008 */ lb $t3,0x8($v0) +/* f0997a0: 5560000b */ bnezl $t3,.PF0f0997d0 +/* f0997a4: 904c0690 */ lbu $t4,0x690($v0) +/* f0997a8: 8e19000c */ lw $t9,0xc($s0) +.PF0f0997ac: +/* f0997ac: 17200004 */ bnez $t9,.PF0f0997c0 +/* f0997b0: 00000000 */ nop +/* f0997b4: 8c4d000c */ lw $t5,0xc($v0) +/* f0997b8: 51a00005 */ beqzl $t5,.PF0f0997d0 +/* f0997bc: 904c0690 */ lbu $t4,0x690($v0) +.PF0f0997c0: +/* f0997c0: 0fc2884a */ jal 0xf0a2128 +/* f0997c4: afa20024 */ sw $v0,0x24($sp) +/* f0997c8: 8fa20024 */ lw $v0,0x24($sp) +/* f0997cc: 904c0690 */ lbu $t4,0x690($v0) +.PF0f0997d0: +/* f0997d0: 3198fffe */ andi $t8,$t4,0xfffe +/* f0997d4: a0580690 */ sb $t8,0x690($v0) +/* f0997d8: 920a0690 */ lbu $t2,0x690($s0) +/* f0997dc: 33090001 */ andi $t1,$t8,0x1 +/* f0997e0: 314bfffe */ andi $t3,$t2,0xfffe +/* f0997e4: 012bc825 */ or $t9,$t1,$t3 +/* f0997e8: a2190690 */ sb $t9,0x690($s0) +/* f0997ec: 00001025 */ move $v0,$zero +.PF0f0997f0: +/* f0997f0: 8fbf001c */ lw $ra,0x1c($sp) +/* f0997f4: 8fb00018 */ lw $s0,0x18($sp) +/* f0997f8: 27bd0040 */ addiu $sp,$sp,0x40 +/* f0997fc: 03e00008 */ jr $ra +/* f099800: 00000000 */ nop ); #else GLOBAL_ASM( @@ -2964,6 +3177,299 @@ glabel func0f099780 /* f099804: 00000000 */ nop ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f099808 +/* f09988c: 27bdffa0 */ addiu $sp,$sp,-96 +/* f099890: afbf001c */ sw $ra,0x1c($sp) +/* f099894: afb00018 */ sw $s0,0x18($sp) +/* f099898: 00c08025 */ move $s0,$a2 +/* f09989c: afa40060 */ sw $a0,0x60($sp) +/* f0998a0: afa50064 */ sw $a1,0x64($sp) +/* f0998a4: 0fc2a432 */ jal 0xf0a90c8 +/* f0998a8: afa7006c */ sw $a3,0x6c($sp) +/* f0998ac: afa20054 */ sw $v0,0x54($sp) +/* f0998b0: 820e0008 */ lb $t6,0x8($s0) +/* f0998b4: 8fa40064 */ lw $a0,0x64($sp) +/* f0998b8: 55c00008 */ bnezl $t6,.PF0f0998dc +/* f0998bc: 8e020608 */ lw $v0,0x608($s0) +/* f0998c0: 0fc273ec */ jal 0xf09cfb0 +/* f0998c4: 00002825 */ move $a1,$zero +/* f0998c8: 50400004 */ beqzl $v0,.PF0f0998dc +/* f0998cc: 8e020608 */ lw $v0,0x608($s0) +/* f0998d0: 100000ee */ b .PF0f099c8c +/* f0998d4: 8fa2006c */ lw $v0,0x6c($sp) +/* f0998d8: 8e020608 */ lw $v0,0x608($s0) +.PF0f0998dc: +/* f0998dc: 3c0f800a */ lui $t7,0x800a +/* f0998e0: 5440001b */ bnezl $v0,.PF0f099950 +/* f0998e4: 24010001 */ li $at,0x1 +/* f0998e8: 8defa828 */ lw $t7,-0x57d8($t7) +/* f0998ec: 24580001 */ addiu $t8,$v0,0x1 +/* f0998f0: 2403000d */ li $v1,0xd +/* f0998f4: 11e00002 */ beqz $t7,.PF0f099900 +/* f0998f8: 03001025 */ move $v0,$t8 +/* f0998fc: 2403000a */ li $v1,0xa +.PF0f099900: +/* f099900: 8e060614 */ lw $a2,0x614($s0) +/* f099904: 00c3082a */ slt $at,$a2,$v1 +/* f099908: 54200004 */ bnezl $at,.PF0f09991c +/* f09990c: 44862000 */ mtc1 $a2,$f4 +/* f099910: 1000000e */ b .PF0f09994c +/* f099914: ae180608 */ sw $t8,0x608($s0) +/* f099918: 44862000 */ mtc1 $a2,$f4 +.PF0f09991c: +/* f09991c: 3c017f1b */ lui $at,0x7f1b +/* f099920: c428d3b0 */ lwc1 $f8,-0x2c50($at) +/* f099924: 468021a0 */ cvt.s.w $f6,$f4 +/* f099928: 44838000 */ mtc1 $v1,$f16 +/* f09992c: 02002025 */ move $a0,$s0 +/* f099930: 468084a0 */ cvt.s.w $f18,$f16 +/* f099934: 46083282 */ mul.s $f10,$f6,$f8 +/* f099938: 46125103 */ div.s $f4,$f10,$f18 +/* f09993c: 44052000 */ mfc1 $a1,$f4 +/* f099940: 0fc26601 */ jal 0xf099804 +/* f099944: 00000000 */ nop +/* f099948: 8e020608 */ lw $v0,0x608($s0) +.PF0f09994c: +/* f09994c: 24010001 */ li $at,0x1 +.PF0f099950: +/* f099950: 544100ce */ bnel $v0,$at,.PF0f099c8c +/* f099954: 00001025 */ move $v0,$zero +/* f099958: 44803000 */ mtc1 $zero,$f6 +/* f09995c: a20005dc */ sb $zero,0x5dc($s0) +/* f099960: e60605fc */ swc1 $f6,0x5fc($s0) +/* f099964: 0fc26ffc */ jal 0xf09bff0 +/* f099968: 8fa40064 */ lw $a0,0x64($sp) +/* f09996c: 10400035 */ beqz $v0,.PF0f099a44 +/* f099970: 8fa40064 */ lw $a0,0x64($sp) +/* f099974: 0fc273ec */ jal 0xf09cfb0 +/* f099978: 24050005 */ li $a1,0x5 +/* f09997c: 10400031 */ beqz $v0,.PF0f099a44 +/* f099980: 3c02800a */ lui $v0,0x800a +/* f099984: 2442a510 */ addiu $v0,$v0,-23280 +/* f099988: 8c590314 */ lw $t9,0x314($v0) +/* f09998c: 3c088009 */ lui $t0,0x8009 +/* f099990: 13200023 */ beqz $t9,.PF0f099a20 +/* f099994: 00000000 */ nop +/* f099998: 91081040 */ lbu $t0,0x1040($t0) +/* f09999c: 24060001 */ li $a2,0x1 +/* f0999a0: 14c8001d */ bne $a2,$t0,.PF0f099a18 +/* f0999a4: 00000000 */ nop +/* f0999a8: 8c49006c */ lw $t1,0x6c($v0) +/* f0999ac: 00002825 */ move $a1,$zero +/* f0999b0: 00001825 */ move $v1,$zero +/* f0999b4: 11200003 */ beqz $t1,.PF0f0999c4 +/* f0999b8: 00002025 */ move $a0,$zero +/* f0999bc: 10000001 */ b .PF0f0999c4 +/* f0999c0: 00c02825 */ move $a1,$a2 +.PF0f0999c4: +/* f0999c4: 8c4a0068 */ lw $t2,0x68($v0) +/* f0999c8: 11400003 */ beqz $t2,.PF0f0999d8 +/* f0999cc: 00000000 */ nop +/* f0999d0: 10000001 */ b .PF0f0999d8 +/* f0999d4: 00c01825 */ move $v1,$a2 +.PF0f0999d8: +/* f0999d8: 8c4b0064 */ lw $t3,0x64($v0) +/* f0999dc: 11600003 */ beqz $t3,.PF0f0999ec +/* f0999e0: 00000000 */ nop +/* f0999e4: 10000001 */ b .PF0f0999ec +/* f0999e8: 00c02025 */ move $a0,$a2 +.PF0f0999ec: +/* f0999ec: 8c4c0070 */ lw $t4,0x70($v0) +/* f0999f0: 00001025 */ move $v0,$zero +/* f0999f4: 11800003 */ beqz $t4,.PF0f099a04 +/* f0999f8: 00000000 */ nop +/* f0999fc: 10000001 */ b .PF0f099a04 +/* f099a00: 00c01025 */ move $v0,$a2 +.PF0f099a04: +/* f099a04: 00446821 */ addu $t5,$v0,$a0 +/* f099a08: 01a37021 */ addu $t6,$t5,$v1 +/* f099a0c: 01c57821 */ addu $t7,$t6,$a1 +/* f099a10: 10cf0003 */ beq $a2,$t7,.PF0f099a20 +/* f099a14: 00000000 */ nop +.PF0f099a18: +/* f099a18: 0fc4a5f0 */ jal 0xf1297c0 +/* f099a1c: 8fa40064 */ lw $a0,0x64($sp) +.PF0f099a20: +/* f099a20: 0fc27f49 */ jal 0xf09fd24 +/* f099a24: 8fa40064 */ lw $a0,0x64($sp) +/* f099a28: 24180006 */ li $t8,0x6 +/* f099a2c: 24190002 */ li $t9,0x2 +/* f099a30: ae180020 */ sw $t8,0x20($s0) +/* f099a34: ae190608 */ sw $t9,0x608($s0) +/* f099a38: ae000018 */ sw $zero,0x18($s0) +/* f099a3c: 10000093 */ b .PF0f099c8c +/* f099a40: 00001025 */ move $v0,$zero +.PF0f099a44: +/* f099a44: 82080008 */ lb $t0,0x8($s0) +/* f099a48: 8fa40054 */ lw $a0,0x54($sp) +/* f099a4c: 8fa50060 */ lw $a1,0x60($sp) +/* f099a50: 5100008a */ beqzl $t0,.PF0f099c7c +/* f099a54: 3c053f5f */ lui $a1,0x3f5f +/* f099a58: 0fc26348 */ jal 0xf098d20 +/* f099a5c: 02003025 */ move $a2,$s0 +/* f099a60: 8fa90060 */ lw $t1,0x60($sp) +/* f099a64: afa20058 */ sw $v0,0x58($sp) +/* f099a68: 24010020 */ li $at,0x20 +/* f099a6c: 8d230000 */ lw $v1,0x0($t1) +/* f099a70: 8faa0054 */ lw $t2,0x54($sp) +/* f099a74: 10610003 */ beq $v1,$at,.PF0f099a84 +/* f099a78: 24010021 */ li $at,0x21 +/* f099a7c: 54610005 */ bnel $v1,$at,.PF0f099a94 +/* f099a80: 24010022 */ li $at,0x22 +.PF0f099a84: +/* f099a84: a20a0003 */ sb $t2,0x3($s0) +/* f099a88: 8fab0060 */ lw $t3,0x60($sp) +/* f099a8c: 8d630000 */ lw $v1,0x0($t3) +/* f099a90: 24010022 */ li $at,0x22 +.PF0f099a94: +/* f099a94: 1461000b */ bne $v1,$at,.PF0f099ac4 +/* f099a98: 8fac0054 */ lw $t4,0x54($sp) +/* f099a9c: 920d0003 */ lbu $t5,0x3($s0) +/* f099aa0: 8fa40064 */ lw $a0,0x64($sp) +/* f099aa4: 118d0007 */ beq $t4,$t5,.PF0f099ac4 +/* f099aa8: 00000000 */ nop +/* f099aac: 0fc273ec */ jal 0xf09cfb0 +/* f099ab0: 24050007 */ li $a1,0x7 +/* f099ab4: 10400003 */ beqz $v0,.PF0f099ac4 +/* f099ab8: 00000000 */ nop +/* f099abc: 10000073 */ b .PF0f099c8c +/* f099ac0: 8fa2006c */ lw $v0,0x6c($sp) +.PF0f099ac4: +/* f099ac4: 3c02800a */ lui $v0,0x800a +/* f099ac8: 8c42a794 */ lw $v0,-0x586c($v0) +/* f099acc: 8faf0064 */ lw $t7,0x64($sp) +/* f099ad0: 24180001 */ li $t8,0x1 +/* f099ad4: 8c4e1600 */ lw $t6,0x1600($v0) +/* f099ad8: 030f2823 */ subu $a1,$t8,$t7 +/* f099adc: 0005c900 */ sll $t9,$a1,0x4 +/* f099ae0: 11c00034 */ beqz $t6,.PF0f099bb4 +/* f099ae4: 0325c823 */ subu $t9,$t9,$a1 +/* f099ae8: 0019c880 */ sll $t9,$t9,0x2 +/* f099aec: 0325c821 */ addu $t9,$t9,$a1 +/* f099af0: 0019c8c0 */ sll $t9,$t9,0x3 +/* f099af4: 0325c821 */ addu $t9,$t9,$a1 +/* f099af8: 0019c880 */ sll $t9,$t9,0x2 +/* f099afc: 00594021 */ addu $t0,$v0,$t9 +/* f099b00: 25090638 */ addiu $t1,$t0,0x638 +/* f099b04: 24030001 */ li $v1,0x1 +/* f099b08: afa9004c */ sw $t1,0x4c($sp) +/* f099b0c: afa3003c */ sw $v1,0x3c($sp) +/* f099b10: 0fc26333 */ jal 0xf098ccc +/* f099b14: 27a40040 */ addiu $a0,$sp,0x40 +/* f099b18: 8fa6004c */ lw $a2,0x4c($sp) +/* f099b1c: 8fa3003c */ lw $v1,0x3c($sp) +/* f099b20: 00002025 */ move $a0,$zero +/* f099b24: 80ca0008 */ lb $t2,0x8($a2) +/* f099b28: 27a50040 */ addiu $a1,$sp,0x40 +/* f099b2c: 51400016 */ beqzl $t2,.PF0f099b88 +/* f099b30: 8fa6004c */ lw $a2,0x4c($sp) +/* f099b34: 0fc26348 */ jal 0xf098d20 +/* f099b38: afa3003c */ sw $v1,0x3c($sp) +/* f099b3c: 04400002 */ bltz $v0,.PF0f099b48 +/* f099b40: 8fa3003c */ lw $v1,0x3c($sp) +/* f099b44: 00001825 */ move $v1,$zero +.PF0f099b48: +/* f099b48: 24040001 */ li $a0,0x1 +/* f099b4c: 27a50040 */ addiu $a1,$sp,0x40 +/* f099b50: 8fa6004c */ lw $a2,0x4c($sp) +/* f099b54: 0fc26348 */ jal 0xf098d20 +/* f099b58: afa3003c */ sw $v1,0x3c($sp) +/* f099b5c: 04400002 */ bltz $v0,.PF0f099b68 +/* f099b60: 8fa3003c */ lw $v1,0x3c($sp) +/* f099b64: 00001825 */ move $v1,$zero +.PF0f099b68: +/* f099b68: 8fa4004c */ lw $a0,0x4c($sp) +/* f099b6c: 90850003 */ lbu $a1,0x3($a0) +/* f099b70: 0fc26485 */ jal 0xf099214 +/* f099b74: afa3003c */ sw $v1,0x3c($sp) +/* f099b78: 10400002 */ beqz $v0,.PF0f099b84 +/* f099b7c: 8fa3003c */ lw $v1,0x3c($sp) +/* f099b80: 24030001 */ li $v1,0x1 +.PF0f099b84: +/* f099b84: 8fa6004c */ lw $a2,0x4c($sp) +.PF0f099b88: +/* f099b88: 24010008 */ li $at,0x8 +/* f099b8c: 8cc20604 */ lw $v0,0x604($a2) +/* f099b90: 10400004 */ beqz $v0,.PF0f099ba4 +/* f099b94: 00000000 */ nop +/* f099b98: 10410002 */ beq $v0,$at,.PF0f099ba4 +/* f099b9c: 00000000 */ nop +/* f099ba0: 00001825 */ move $v1,$zero +.PF0f099ba4: +/* f099ba4: 50600004 */ beqzl $v1,.PF0f099bb8 +/* f099ba8: 8fac0058 */ lw $t4,0x58($sp) +/* f099bac: 0fc2884a */ jal 0xf0a2128 +/* f099bb0: 00000000 */ nop +.PF0f099bb4: +/* f099bb4: 8fac0058 */ lw $t4,0x58($sp) +.PF0f099bb8: +/* f099bb8: 29810002 */ slti $at,$t4,0x2 +/* f099bbc: 50200028 */ beqzl $at,.PF0f099c60 +/* f099bc0: 8e020024 */ lw $v0,0x24($s0) +/* f099bc4: 05800025 */ bltz $t4,.PF0f099c5c +/* f099bc8: 8fae0064 */ lw $t6,0x64($sp) +/* f099bcc: 000ec100 */ sll $t8,$t6,0x4 +/* f099bd0: 030ec023 */ subu $t8,$t8,$t6 +/* f099bd4: 0018c080 */ sll $t8,$t8,0x2 +/* f099bd8: 030ec021 */ addu $t8,$t8,$t6 +/* f099bdc: 0018c0c0 */ sll $t8,$t8,0x3 +/* f099be0: 3c0d800a */ lui $t5,0x800a +/* f099be4: 8dada794 */ lw $t5,-0x586c($t5) +/* f099be8: 030ec021 */ addu $t8,$t8,$t6 +/* f099bec: 0018c080 */ sll $t8,$t8,0x2 +/* f099bf0: 00187823 */ negu $t7,$t8 +/* f099bf4: 01afc821 */ addu $t9,$t5,$t7 +/* f099bf8: 8f2813e0 */ lw $t0,0x13e0($t9) +/* f099bfc: 24010001 */ li $at,0x1 +/* f099c00: 24050001 */ li $a1,0x1 +/* f099c04: 51010016 */ beql $t0,$at,.PF0f099c60 +/* f099c08: 8e020024 */ lw $v0,0x24($s0) +/* f099c0c: ae00001c */ sw $zero,0x1c($s0) +/* f099c10: ae000018 */ sw $zero,0x18($s0) +/* f099c14: 0fc273ec */ jal 0xf09cfb0 +/* f099c18: 8fa40064 */ lw $a0,0x64($sp) +/* f099c1c: 1040000f */ beqz $v0,.PF0f099c5c +/* f099c20: 8fa90060 */ lw $t1,0x60($sp) +/* f099c24: 8d2a0000 */ lw $t2,0x0($t1) +/* f099c28: 2401001a */ li $at,0x1a +/* f099c2c: 240b000b */ li $t3,0xb +/* f099c30: 15410008 */ bne $t2,$at,.PF0f099c54 +/* f099c34: 240c000e */ li $t4,0xe +/* f099c38: 240effff */ li $t6,-1 +/* f099c3c: 24180002 */ li $t8,0x2 +/* f099c40: ae0b0020 */ sw $t3,0x20($s0) +/* f099c44: ae0c0038 */ sw $t4,0x38($s0) +/* f099c48: ae00001c */ sw $zero,0x1c($s0) +/* f099c4c: ae0e0018 */ sw $t6,0x18($s0) +/* f099c50: ae180608 */ sw $t8,0x608($s0) +.PF0f099c54: +/* f099c54: 1000000d */ b .PF0f099c8c +/* f099c58: 8fa2006c */ lw $v0,0x6c($sp) +.PF0f099c5c: +/* f099c5c: 8e020024 */ lw $v0,0x24($s0) +.PF0f099c60: +/* f099c60: 50400006 */ beqzl $v0,.PF0f099c7c +/* f099c64: 3c053f5f */ lui $a1,0x3f5f +/* f099c68: ae020020 */ sw $v0,0x20($s0) +/* f099c6c: ae00001c */ sw $zero,0x1c($s0) +/* f099c70: ae000018 */ sw $zero,0x18($s0) +/* f099c74: ae000024 */ sw $zero,0x24($s0) +/* f099c78: 3c053f5f */ lui $a1,0x3f5f +.PF0f099c7c: +/* f099c7c: 34a55dd8 */ ori $a1,$a1,0x5dd8 +/* f099c80: 0fc26601 */ jal 0xf099804 +/* f099c84: 02002025 */ move $a0,$s0 +/* f099c88: 00001025 */ move $v0,$zero +.PF0f099c8c: +/* f099c8c: 8fbf001c */ lw $ra,0x1c($sp) +/* f099c90: 8fb00018 */ lw $s0,0x18($sp) +/* f099c94: 27bd0060 */ addiu $sp,$sp,0x60 +/* f099c98: 03e00008 */ jr $ra +/* f099c9c: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f099808 .late_rodata @@ -3261,6 +3767,7 @@ glabel var7f1ac1b4 /* f099c1c: 03e00008 */ jr $ra /* f099c20: 00000000 */ nop ); +#endif GLOBAL_ASM( glabel func0f099c24 @@ -4520,6 +5027,413 @@ glabel var7f1ac320 /* f09aba0: 00000000 */ nop ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f09aba4 +/* f09ac20: 27bdffa0 */ addiu $sp,$sp,-96 +/* f09ac24: afbf001c */ sw $ra,0x1c($sp) +/* f09ac28: afb00018 */ sw $s0,0x18($sp) +/* f09ac2c: afa60068 */ sw $a2,0x68($sp) +/* f09ac30: 80ee0018 */ lb $t6,0x18($a3) +/* f09ac34: 80e80024 */ lb $t0,0x24($a3) +/* f09ac38: 80e90025 */ lb $t1,0x25($a3) +/* f09ac3c: 80e20026 */ lb $v0,0x26($a3) +/* f09ac40: 80ea0027 */ lb $t2,0x27($a3) +/* f09ac44: afae0048 */ sw $t6,0x48($sp) +/* f09ac48: 8caf0004 */ lw $t7,0x4($a1) +/* f09ac4c: 29010004 */ slti $at,$t0,0x4 +/* f09ac50: 00808025 */ move $s0,$a0 +/* f09ac54: 14200012 */ bnez $at,.PF0f09aca0 +/* f09ac58: afaf0040 */ sw $t7,0x40($sp) +/* f09ac5c: 24030032 */ li $v1,0x32 +/* f09ac60: 01030019 */ multu $t0,$v1 +/* f09ac64: 2404003c */ li $a0,0x3c +/* f09ac68: 0000c012 */ mflo $t8 +/* f09ac6c: 00000000 */ nop +/* f09ac70: 00000000 */ nop +/* f09ac74: 0304001a */ div $zero,$t8,$a0 +/* f09ac78: 00004012 */ mflo $t0 +/* f09ac7c: 14800002 */ bnez $a0,.PF0f09ac88 +/* f09ac80: 00000000 */ nop +/* f09ac84: 0007000d */ break 0x7 +.PF0f09ac88: +/* f09ac88: 2401ffff */ li $at,-1 +/* f09ac8c: 14810004 */ bne $a0,$at,.PF0f09aca0 +/* f09ac90: 3c018000 */ lui $at,0x8000 +/* f09ac94: 17010002 */ bne $t8,$at,.PF0f09aca0 +/* f09ac98: 00000000 */ nop +/* f09ac9c: 0006000d */ break 0x6 +.PF0f09aca0: +/* f09aca0: 29210004 */ slti $at,$t1,0x4 +/* f09aca4: 24030032 */ li $v1,0x32 +/* f09aca8: 14200010 */ bnez $at,.PF0f09acec +/* f09acac: 2404003c */ li $a0,0x3c +/* f09acb0: 01230019 */ multu $t1,$v1 +/* f09acb4: 0000c812 */ mflo $t9 +/* f09acb8: 00000000 */ nop +/* f09acbc: 00000000 */ nop +/* f09acc0: 0324001a */ div $zero,$t9,$a0 +/* f09acc4: 00004812 */ mflo $t1 +/* f09acc8: 14800002 */ bnez $a0,.PF0f09acd4 +/* f09accc: 00000000 */ nop +/* f09acd0: 0007000d */ break 0x7 +.PF0f09acd4: +/* f09acd4: 2401ffff */ li $at,-1 +/* f09acd8: 14810004 */ bne $a0,$at,.PF0f09acec +/* f09acdc: 3c018000 */ lui $at,0x8000 +/* f09ace0: 17210002 */ bne $t9,$at,.PF0f09acec +/* f09ace4: 00000000 */ nop +/* f09ace8: 0006000d */ break 0x6 +.PF0f09acec: +/* f09acec: 28410004 */ slti $at,$v0,0x4 +/* f09acf0: 14200010 */ bnez $at,.PF0f09ad34 +/* f09acf4: 8fad0048 */ lw $t5,0x48($sp) +/* f09acf8: 00430019 */ multu $v0,$v1 +/* f09acfc: 00005812 */ mflo $t3 +/* f09ad00: 00000000 */ nop +/* f09ad04: 00000000 */ nop +/* f09ad08: 0164001a */ div $zero,$t3,$a0 +/* f09ad0c: 00001012 */ mflo $v0 +/* f09ad10: 14800002 */ bnez $a0,.PF0f09ad1c +/* f09ad14: 00000000 */ nop +/* f09ad18: 0007000d */ break 0x7 +.PF0f09ad1c: +/* f09ad1c: 2401ffff */ li $at,-1 +/* f09ad20: 14810004 */ bne $a0,$at,.PF0f09ad34 +/* f09ad24: 3c018000 */ lui $at,0x8000 +/* f09ad28: 15610002 */ bne $t3,$at,.PF0f09ad34 +/* f09ad2c: 00000000 */ nop +/* f09ad30: 0006000d */ break 0x6 +.PF0f09ad34: +/* f09ad34: 29410004 */ slti $at,$t2,0x4 +/* f09ad38: 54200011 */ bnezl $at,.PF0f09ad80 +/* f09ad3c: 29a10004 */ slti $at,$t5,0x4 +/* f09ad40: 01430019 */ multu $t2,$v1 +/* f09ad44: 00006012 */ mflo $t4 +/* f09ad48: 00000000 */ nop +/* f09ad4c: 00000000 */ nop +/* f09ad50: 0184001a */ div $zero,$t4,$a0 +/* f09ad54: 00005012 */ mflo $t2 +/* f09ad58: 14800002 */ bnez $a0,.PF0f09ad64 +/* f09ad5c: 00000000 */ nop +/* f09ad60: 0007000d */ break 0x7 +.PF0f09ad64: +/* f09ad64: 2401ffff */ li $at,-1 +/* f09ad68: 14810004 */ bne $a0,$at,.PF0f09ad7c +/* f09ad6c: 3c018000 */ lui $at,0x8000 +/* f09ad70: 15810002 */ bne $t4,$at,.PF0f09ad7c +/* f09ad74: 00000000 */ nop +/* f09ad78: 0006000d */ break 0x6 +.PF0f09ad7c: +/* f09ad7c: 29a10004 */ slti $at,$t5,0x4 +.PF0f09ad80: +/* f09ad80: 54200012 */ bnezl $at,.PF0f09adcc +/* f09ad84: 01091821 */ addu $v1,$t0,$t1 +/* f09ad88: 01a30019 */ multu $t5,$v1 +/* f09ad8c: 00007012 */ mflo $t6 +/* f09ad90: 00000000 */ nop +/* f09ad94: 00000000 */ nop +/* f09ad98: 01c4001a */ div $zero,$t6,$a0 +/* f09ad9c: 00007812 */ mflo $t7 +/* f09ada0: afaf0048 */ sw $t7,0x48($sp) +/* f09ada4: 14800002 */ bnez $a0,.PF0f09adb0 +/* f09ada8: 00000000 */ nop +/* f09adac: 0007000d */ break 0x7 +.PF0f09adb0: +/* f09adb0: 2401ffff */ li $at,-1 +/* f09adb4: 14810004 */ bne $a0,$at,.PF0f09adc8 +/* f09adb8: 3c018000 */ lui $at,0x8000 +/* f09adbc: 15c10002 */ bne $t6,$at,.PF0f09adc8 +/* f09adc0: 00000000 */ nop +/* f09adc4: 0006000d */ break 0x6 +.PF0f09adc8: +/* f09adc8: 01091821 */ addu $v1,$t0,$t1 +.PF0f09adcc: +/* f09adcc: afa30054 */ sw $v1,0x54($sp) +/* f09add0: 8e1906a8 */ lw $t9,0x6a8($s0) +/* f09add4: 8e180614 */ lw $t8,0x614($s0) +/* f09add8: 1c600003 */ bgtz $v1,.PF0f09ade8 +/* f09addc: 03192823 */ subu $a1,$t8,$t9 +/* f09ade0: 100000ec */ b .PF0f09b194 +/* f09ade4: afa00054 */ sw $zero,0x54($sp) +.PF0f09ade8: +/* f09ade8: 8e0b0014 */ lw $t3,0x14($s0) +/* f09adec: 51600023 */ beqzl $t3,.PF0f09ae7c +/* f09adf0: afa50044 */ sw $a1,0x44($sp) +/* f09adf4: 8e0c000c */ lw $t4,0xc($s0) +/* f09adf8: 00a2082a */ slt $at,$a1,$v0 +/* f09adfc: 5180001f */ beqzl $t4,.PF0f09ae7c +/* f09ae00: afa50044 */ sw $a1,0x44($sp) +/* f09ae04: 5420001d */ bnezl $at,.PF0f09ae7c +/* f09ae08: afa50044 */ sw $a1,0x44($sp) +/* f09ae0c: 5840001b */ blezl $v0,.PF0f09ae7c +/* f09ae10: afa50044 */ sw $a1,0x44($sp) +/* f09ae14: 05420019 */ bltzl $t2,.PF0f09ae7c +/* f09ae18: afa50044 */ sw $a1,0x44($sp) +/* f09ae1c: 8e02060c */ lw $v0,0x60c($s0) +/* f09ae20: 00aa7021 */ addu $t6,$a1,$t2 +/* f09ae24: 01c3082a */ slt $at,$t6,$v1 +/* f09ae28: 304d0040 */ andi $t5,$v0,0x40 +/* f09ae2c: 55a00013 */ bnezl $t5,.PF0f09ae7c +/* f09ae30: afa50044 */ sw $a1,0x44($sp) +/* f09ae34: 10200010 */ beqz $at,.PF0f09ae78 +/* f09ae38: 344f0040 */ ori $t7,$v0,0x40 +/* f09ae3c: 44807000 */ mtc1 $zero,$f14 +/* f09ae40: c6040070 */ lwc1 $f4,0x70($s0) +/* f09ae44: c6060064 */ lwc1 $f6,0x64($s0) +/* f09ae48: c6080068 */ lwc1 $f8,0x68($s0) +/* f09ae4c: c60a006c */ lwc1 $f10,0x6c($s0) +/* f09ae50: ae0f060c */ sw $t7,0x60c($s0) +/* f09ae54: ae0506a8 */ sw $a1,0x6a8($s0) +/* f09ae58: e6040050 */ swc1 $f4,0x50($s0) +/* f09ae5c: e60e0060 */ swc1 $f14,0x60($s0) +/* f09ae60: e60e0054 */ swc1 $f14,0x54($s0) +/* f09ae64: e60e0058 */ swc1 $f14,0x58($s0) +/* f09ae68: e60e005c */ swc1 $f14,0x5c($s0) +/* f09ae6c: e6060044 */ swc1 $f6,0x44($s0) +/* f09ae70: e6080048 */ swc1 $f8,0x48($s0) +/* f09ae74: e60a004c */ swc1 $f10,0x4c($s0) +.PF0f09ae78: +/* f09ae78: afa50044 */ sw $a1,0x44($sp) +.PF0f09ae7c: +/* f09ae7c: afaa004c */ sw $t2,0x4c($sp) +/* f09ae80: 8e18060c */ lw $t8,0x60c($s0) +/* f09ae84: 33190040 */ andi $t9,$t8,0x40 +/* f09ae88: 53200047 */ beqzl $t9,.PF0f09afa8 +/* f09ae8c: 8fa50044 */ lw $a1,0x44($sp) +/* f09ae90: 8e0206a8 */ lw $v0,0x6a8($s0) +/* f09ae94: 01456023 */ subu $t4,$t2,$a1 +/* f09ae98: 00a25823 */ subu $t3,$a1,$v0 +/* f09ae9c: 016a082a */ slt $at,$t3,$t2 +/* f09aea0: 1020003b */ beqz $at,.PF0f09af90 +/* f09aea4: 01826821 */ addu $t5,$t4,$v0 +/* f09aea8: 448d2000 */ mtc1 $t5,$f4 +/* f09aeac: 3c017f1b */ lui $at,0x7f1b +/* f09aeb0: c428d520 */ lwc1 $f8,-0x2ae0($at) +/* f09aeb4: 468021a0 */ cvt.s.w $f6,$f4 +/* f09aeb8: 448a2000 */ mtc1 $t2,$f4 +/* f09aebc: afa30028 */ sw $v1,0x28($sp) +/* f09aec0: afa50044 */ sw $a1,0x44($sp) +/* f09aec4: afa7006c */ sw $a3,0x6c($sp) +/* f09aec8: afa8005c */ sw $t0,0x5c($sp) +/* f09aecc: 46083282 */ mul.s $f10,$f6,$f8 +/* f09aed0: afa90058 */ sw $t1,0x58($sp) +/* f09aed4: afaa004c */ sw $t2,0x4c($sp) +/* f09aed8: 468021a0 */ cvt.s.w $f6,$f4 +/* f09aedc: 0c006858 */ jal 0x1a160 +/* f09aee0: 46065303 */ div.s $f12,$f10,$f6 +/* f09aee4: 3c013f00 */ lui $at,0x3f00 +/* f09aee8: 44818000 */ mtc1 $at,$f16 +/* f09aeec: c60c0050 */ lwc1 $f12,0x50($s0) +/* f09aef0: c60e0060 */ lwc1 $f14,0x60($s0) +/* f09aef4: 46100202 */ mul.s $f8,$f0,$f16 +/* f09aef8: 46104480 */ add.s $f18,$f8,$f16 +/* f09aefc: 44069000 */ mfc1 $a2,$f18 +/* f09af00: 0c006b5e */ jal 0x1ad78 +/* f09af04: e7b2003c */ swc1 $f18,0x3c($sp) +/* f09af08: c6020044 */ lwc1 $f2,0x44($s0) +/* f09af0c: c6040054 */ lwc1 $f4,0x54($s0) +/* f09af10: c7b2003c */ lwc1 $f18,0x3c($sp) +/* f09af14: c60e0048 */ lwc1 $f14,0x48($s0) +/* f09af18: 46022281 */ sub.s $f10,$f4,$f2 +/* f09af1c: c6040058 */ lwc1 $f4,0x58($s0) +/* f09af20: c610004c */ lwc1 $f16,0x4c($s0) +/* f09af24: 240e0001 */ li $t6,0x1 +/* f09af28: 46125182 */ mul.s $f6,$f10,$f18 +/* f09af2c: 460e2281 */ sub.s $f10,$f4,$f14 +/* f09af30: c604005c */ lwc1 $f4,0x5c($s0) +/* f09af34: e6000070 */ swc1 $f0,0x70($s0) +/* f09af38: ae0e00b4 */ sw $t6,0xb4($s0) +/* f09af3c: 26050074 */ addiu $a1,$s0,0x74 +/* f09af40: 46000306 */ mov.s $f12,$f0 +/* f09af44: 46023200 */ add.s $f8,$f6,$f2 +/* f09af48: 46125182 */ mul.s $f6,$f10,$f18 +/* f09af4c: 46102281 */ sub.s $f10,$f4,$f16 +/* f09af50: e6080064 */ swc1 $f8,0x64($s0) +/* f09af54: 460e3200 */ add.s $f8,$f6,$f14 +/* f09af58: 46125182 */ mul.s $f6,$f10,$f18 +/* f09af5c: e6080068 */ swc1 $f8,0x68($s0) +/* f09af60: 46103200 */ add.s $f8,$f6,$f16 +/* f09af64: e608006c */ swc1 $f8,0x6c($s0) +/* f09af68: 0c00581e */ jal 0x16078 +/* f09af6c: afa50020 */ sw $a1,0x20($sp) +/* f09af70: 26040064 */ addiu $a0,$s0,0x64 +/* f09af74: 0c0056d9 */ jal 0x15b64 +/* f09af78: 8fa50020 */ lw $a1,0x20($sp) +/* f09af7c: 8fa30028 */ lw $v1,0x28($sp) +/* f09af80: 8fa7006c */ lw $a3,0x6c($sp) +/* f09af84: 8fa8005c */ lw $t0,0x5c($sp) +/* f09af88: 10000006 */ b .PF0f09afa4 +/* f09af8c: 8fa90058 */ lw $t1,0x58($sp) +.PF0f09af90: +/* f09af90: 0c0055d0 */ jal 0x15740 +/* f09af94: 26040074 */ addiu $a0,$s0,0x74 +/* f09af98: ae0000b4 */ sw $zero,0xb4($s0) +/* f09af9c: 10000093 */ b .PF0f09b1ec +/* f09afa0: 24020001 */ li $v0,0x1 +.PF0f09afa4: +/* f09afa4: 8fa50044 */ lw $a1,0x44($sp) +.PF0f09afa8: +/* f09afa8: 8faa004c */ lw $t2,0x4c($sp) +/* f09afac: 00a3082a */ slt $at,$a1,$v1 +/* f09afb0: 50200079 */ beqzl $at,.PF0f09b198 +/* f09afb4: 8fb80054 */ lw $t8,0x54($sp) +/* f09afb8: 8e02060c */ lw $v0,0x60c($s0) +/* f09afbc: 26180074 */ addiu $t8,$s0,0x74 +/* f09afc0: 26190064 */ addiu $t9,$s0,0x64 +/* f09afc4: 304f0040 */ andi $t7,$v0,0x40 +/* f09afc8: 15e00072 */ bnez $t7,.PF0f09b194 +/* f09afcc: 304b0080 */ andi $t3,$v0,0x80 +/* f09afd0: c4e20028 */ lwc1 $f2,0x28($a3) +/* f09afd4: c4e0002c */ lwc1 $f0,0x2c($a3) +/* f09afd8: afb90028 */ sw $t9,0x28($sp) +/* f09afdc: 1560000b */ bnez $t3,.PF0f09b00c +/* f09afe0: afb80020 */ sw $t8,0x20($sp) +/* f09afe4: c6040070 */ lwc1 $f4,0x70($s0) +/* f09afe8: c60a0064 */ lwc1 $f10,0x64($s0) +/* f09afec: c6060068 */ lwc1 $f6,0x68($s0) +/* f09aff0: c608006c */ lwc1 $f8,0x6c($s0) +/* f09aff4: 344c0080 */ ori $t4,$v0,0x80 +/* f09aff8: ae0c060c */ sw $t4,0x60c($s0) +/* f09affc: e6040050 */ swc1 $f4,0x50($s0) +/* f09b000: e60a0044 */ swc1 $f10,0x44($s0) +/* f09b004: e6060048 */ swc1 $f6,0x48($s0) +/* f09b008: e608004c */ swc1 $f8,0x4c($s0) +.PF0f09b00c: +/* f09b00c: 3c017f1b */ lui $at,0x7f1b +/* f09b010: c42cd524 */ lwc1 $f12,-0x2adc($at) +/* f09b014: 3c0143b4 */ lui $at,0x43b4 +/* f09b018: 44815000 */ mtc1 $at,$f10 +/* f09b01c: 460c0102 */ mul.s $f4,$f0,$f12 +/* f09b020: 460a2183 */ div.s $f6,$f4,$f10 +/* f09b024: 46066201 */ sub.s $f8,$f12,$f6 +/* f09b028: e6080060 */ swc1 $f8,0x60($s0) +/* f09b02c: e7a20038 */ swc1 $f2,0x38($sp) +/* f09b030: afaa004c */ sw $t2,0x4c($sp) +/* f09b034: afa90058 */ sw $t1,0x58($sp) +/* f09b038: afa8005c */ sw $t0,0x5c($sp) +/* f09b03c: afa50044 */ sw $a1,0x44($sp) +/* f09b040: 0fc2c5f7 */ jal 0xf0b17dc +/* f09b044: 8fa40068 */ lw $a0,0x68($sp) +/* f09b048: c60401c0 */ lwc1 $f4,0x1c0($s0) +/* f09b04c: c7a20038 */ lwc1 $f2,0x38($sp) +/* f09b050: 3c01447a */ lui $at,0x447a +/* f09b054: 46040281 */ sub.s $f10,$f0,$f4 +/* f09b058: 44816000 */ mtc1 $at,$f12 +/* f09b05c: 44802000 */ mtc1 $zero,$f4 +/* f09b060: 8fa20044 */ lw $v0,0x44($sp) +/* f09b064: 46025182 */ mul.s $f6,$f10,$f2 +/* f09b068: 8fa8005c */ lw $t0,0x5c($sp) +/* f09b06c: 8fa90058 */ lw $t1,0x58($sp) +/* f09b070: e6040058 */ swc1 $f4,0x58($s0) +/* f09b074: 0048082a */ slt $at,$v0,$t0 +/* f09b078: 00487023 */ subu $t6,$v0,$t0 +/* f09b07c: 460c3203 */ div.s $f8,$f6,$f12 +/* f09b080: c60601c8 */ lwc1 $f6,0x1c8($s0) +/* f09b084: e6080054 */ swc1 $f8,0x54($s0) +/* f09b088: 8fad0040 */ lw $t5,0x40($sp) +/* f09b08c: c5aa0034 */ lwc1 $f10,0x34($t5) +/* f09b090: 46065201 */ sub.s $f8,$f10,$f6 +/* f09b094: 46024102 */ mul.s $f4,$f8,$f2 +/* f09b098: 460c2283 */ div.s $f10,$f4,$f12 +/* f09b09c: 1020000c */ beqz $at,.PF0f09b0d0 +/* f09b0a0: e60a005c */ swc1 $f10,0x5c($s0) +/* f09b0a4: 44823000 */ mtc1 $v0,$f6 +/* f09b0a8: 3c017f1b */ lui $at,0x7f1b +/* f09b0ac: c424d528 */ lwc1 $f4,-0x2ad8($at) +/* f09b0b0: 46803220 */ cvt.s.w $f8,$f6 +/* f09b0b4: 44883000 */ mtc1 $t0,$f6 +/* f09b0b8: 46044282 */ mul.s $f10,$f8,$f4 +/* f09b0bc: 46803220 */ cvt.s.w $f8,$f6 +/* f09b0c0: 0c00685b */ jal 0x1a16c +/* f09b0c4: 46085303 */ div.s $f12,$f10,$f8 +/* f09b0c8: 1000000f */ b .PF0f09b108 +/* f09b0cc: 46000486 */ mov.s $f18,$f0 +.PF0f09b0d0: +/* f09b0d0: 448e2000 */ mtc1 $t6,$f4 +/* f09b0d4: 3c017f1b */ lui $at,0x7f1b +/* f09b0d8: c42ad52c */ lwc1 $f10,-0x2ad4($at) +/* f09b0dc: 468021a0 */ cvt.s.w $f6,$f4 +/* f09b0e0: 44892000 */ mtc1 $t1,$f4 +/* f09b0e4: 460a3202 */ mul.s $f8,$f6,$f10 +/* f09b0e8: 468021a0 */ cvt.s.w $f6,$f4 +/* f09b0ec: 0c006858 */ jal 0x1a160 +/* f09b0f0: 46064303 */ div.s $f12,$f8,$f6 +/* f09b0f4: 3c013f00 */ lui $at,0x3f00 +/* f09b0f8: 44815000 */ mtc1 $at,$f10 +/* f09b0fc: 44814000 */ mtc1 $at,$f8 +/* f09b100: 460a0102 */ mul.s $f4,$f0,$f10 +/* f09b104: 46082480 */ add.s $f18,$f4,$f8 +.PF0f09b108: +/* f09b108: c60c0050 */ lwc1 $f12,0x50($s0) +/* f09b10c: c60e0060 */ lwc1 $f14,0x60($s0) +/* f09b110: 44069000 */ mfc1 $a2,$f18 +/* f09b114: 0c006b5e */ jal 0x1ad78 +/* f09b118: e7b20030 */ swc1 $f18,0x30($sp) +/* f09b11c: c6020044 */ lwc1 $f2,0x44($s0) +/* f09b120: c6060054 */ lwc1 $f6,0x54($s0) +/* f09b124: c7b20030 */ lwc1 $f18,0x30($sp) +/* f09b128: c60e0048 */ lwc1 $f14,0x48($s0) +/* f09b12c: 46023281 */ sub.s $f10,$f6,$f2 +/* f09b130: c6060058 */ lwc1 $f6,0x58($s0) +/* f09b134: c610004c */ lwc1 $f16,0x4c($s0) +/* f09b138: 240f0001 */ li $t7,0x1 +/* f09b13c: 46125102 */ mul.s $f4,$f10,$f18 +/* f09b140: 460e3281 */ sub.s $f10,$f6,$f14 +/* f09b144: c606005c */ lwc1 $f6,0x5c($s0) +/* f09b148: e6000070 */ swc1 $f0,0x70($s0) +/* f09b14c: ae0f00b4 */ sw $t7,0xb4($s0) +/* f09b150: 46000306 */ mov.s $f12,$f0 +/* f09b154: 46022200 */ add.s $f8,$f4,$f2 +/* f09b158: 46125102 */ mul.s $f4,$f10,$f18 +/* f09b15c: 46103281 */ sub.s $f10,$f6,$f16 +/* f09b160: e6080064 */ swc1 $f8,0x64($s0) +/* f09b164: 460e2200 */ add.s $f8,$f4,$f14 +/* f09b168: 46125102 */ mul.s $f4,$f10,$f18 +/* f09b16c: e6080068 */ swc1 $f8,0x68($s0) +/* f09b170: 46102200 */ add.s $f8,$f4,$f16 +/* f09b174: e608006c */ swc1 $f8,0x6c($s0) +/* f09b178: 0c00581e */ jal 0x16078 +/* f09b17c: 8fa50020 */ lw $a1,0x20($sp) +/* f09b180: 8fa40028 */ lw $a0,0x28($sp) +/* f09b184: 0c0056d9 */ jal 0x15b64 +/* f09b188: 8fa50020 */ lw $a1,0x20($sp) +/* f09b18c: 8faa004c */ lw $t2,0x4c($sp) +/* f09b190: 8fa50044 */ lw $a1,0x44($sp) +.PF0f09b194: +/* f09b194: 8fb80054 */ lw $t8,0x54($sp) +.PF0f09b198: +/* f09b198: 00001025 */ move $v0,$zero +/* f09b19c: 00b8082a */ slt $at,$a1,$t8 +/* f09b1a0: 14200012 */ bnez $at,.PF0f09b1ec +/* f09b1a4: 00000000 */ nop +/* f09b1a8: 05400009 */ bltz $t2,.PF0f09b1d0 +/* f09b1ac: 8fac0054 */ lw $t4,0x54($sp) +/* f09b1b0: 8e190014 */ lw $t9,0x14($s0) +/* f09b1b4: 53200007 */ beqzl $t9,.PF0f09b1d4 +/* f09b1b8: 8fad0048 */ lw $t5,0x48($sp) +/* f09b1bc: 8e0b000c */ lw $t3,0xc($s0) +/* f09b1c0: 51600004 */ beqzl $t3,.PF0f09b1d4 +/* f09b1c4: 8fad0048 */ lw $t5,0x48($sp) +/* f09b1c8: 10000008 */ b .PF0f09b1ec +/* f09b1cc: 24020001 */ li $v0,0x1 +.PF0f09b1d0: +/* f09b1d0: 8fad0048 */ lw $t5,0x48($sp) +.PF0f09b1d4: +/* f09b1d4: 018d7021 */ addu $t6,$t4,$t5 +/* f09b1d8: 00ae082a */ slt $at,$a1,$t6 +/* f09b1dc: 14200003 */ bnez $at,.PF0f09b1ec +/* f09b1e0: 00000000 */ nop +/* f09b1e4: 10000001 */ b .PF0f09b1ec +/* f09b1e8: 24020001 */ li $v0,0x1 +.PF0f09b1ec: +/* f09b1ec: 8fbf001c */ lw $ra,0x1c($sp) +/* f09b1f0: 8fb00018 */ lw $s0,0x18($sp) +/* f09b1f4: 27bd0060 */ addiu $sp,$sp,0x60 +/* f09b1f8: 03e00008 */ jr $ra +/* f09b1fc: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f09aba4 .late_rodata @@ -4819,6 +5733,7 @@ glabel var7f1ac330 /* f09afdc: 03e00008 */ jr $ra /* f09afe0: 27bd0060 */ addiu $sp,$sp,0x60 ); +#endif GLOBAL_ASM( glabel func0f09afe4 @@ -5008,6 +5923,208 @@ glabel var7f1ac334 /* f09b25c: 00000000 */ nop ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f09b260 +/* f09b47c: 27bdffd8 */ addiu $sp,$sp,-40 +/* f09b480: afbf001c */ sw $ra,0x1c($sp) +/* f09b484: afb00018 */ sw $s0,0x18($sp) +/* f09b488: afa40028 */ sw $a0,0x28($sp) +/* f09b48c: 00a08025 */ move $s0,$a1 +/* f09b490: 0fc2c54f */ jal 0xf0b153c +/* f09b494: 00a02025 */ move $a0,$a1 +/* f09b498: 14400003 */ bnez $v0,.PF0f09b4a8 +/* f09b49c: 00403825 */ move $a3,$v0 +/* f09b4a0: 100000a6 */ b .PF0f09b73c +/* f09b4a4: 24020001 */ li $v0,0x1 +.PF0f09b4a8: +/* f09b4a8: 8e030608 */ lw $v1,0x608($s0) +/* f09b4ac: 54600037 */ bnezl $v1,.PF0f09b58c +/* f09b4b0: 24050001 */ li $a1,0x1 +/* f09b4b4: 8e0e0618 */ lw $t6,0x618($s0) +/* f09b4b8: 55c0001d */ bnezl $t6,.PF0f09b530 +/* f09b4bc: 8cee000c */ lw $t6,0xc($a3) +/* f09b4c0: 8c4f0010 */ lw $t7,0x10($v0) +/* f09b4c4: 000fc340 */ sll $t8,$t7,0xd +/* f09b4c8: 0703000d */ bgezl $t8,.PF0f09b500 +/* f09b4cc: 8c4a000c */ lw $t2,0xc($v0) +/* f09b4d0: 0fc44a61 */ jal 0xf112984 +/* f09b4d4: 92040000 */ lbu $a0,0x0($s0) +/* f09b4d8: 3c02800a */ lui $v0,0x800a +/* f09b4dc: 8c42a794 */ lw $v0,-0x586c($v0) +/* f09b4e0: 90481583 */ lbu $t0,0x1583($v0) +/* f09b4e4: 35090008 */ ori $t1,$t0,0x8 +/* f09b4e8: 0fc28779 */ jal 0xf0a1de4 +/* f09b4ec: a0491583 */ sb $t1,0x1583($v0) +/* f09b4f0: a60006d4 */ sh $zero,0x6d4($s0) +/* f09b4f4: 10000091 */ b .PF0f09b73c +/* f09b4f8: 24020001 */ li $v0,0x1 +/* f09b4fc: 8c4a000c */ lw $t2,0xc($v0) +.PF0f09b500: +/* f09b500: 8fa50028 */ lw $a1,0x28($sp) +/* f09b504: 02003025 */ move $a2,$s0 +/* f09b508: 51400009 */ beqzl $t2,.PF0f09b530 +/* f09b50c: 8cee000c */ lw $t6,0xc($a3) +/* f09b510: 8ce4000c */ lw $a0,0xc($a3) +/* f09b514: 0fc26259 */ jal 0xf098964 +/* f09b518: afa70024 */ sw $a3,0x24($sp) +/* f09b51c: 920c0690 */ lbu $t4,0x690($s0) +/* f09b520: 8fa70024 */ lw $a3,0x24($sp) +/* f09b524: 358d0080 */ ori $t5,$t4,0x80 +/* f09b528: a20d0690 */ sb $t5,0x690($s0) +/* f09b52c: 8cee000c */ lw $t6,0xc($a3) +.PF0f09b530: +/* f09b530: 02002025 */ move $a0,$s0 +/* f09b534: 24050002 */ li $a1,0x2 +/* f09b538: 11c00012 */ beqz $t6,.PF0f09b584 +/* f09b53c: 24030001 */ li $v1,0x1 +/* f09b540: 8e0f0014 */ lw $t7,0x14($s0) +/* f09b544: 11e00004 */ beqz $t7,.PF0f09b558 +/* f09b548: 00000000 */ nop +/* f09b54c: 92180690 */ lbu $t8,0x690($s0) +/* f09b550: 3319ff7f */ andi $t9,$t8,0xff7f +/* f09b554: a2190690 */ sb $t9,0x690($s0) +.PF0f09b558: +/* f09b558: 0fc262b2 */ jal 0xf098ac8 +/* f09b55c: afa70024 */ sw $a3,0x24($sp) +/* f09b560: 10400006 */ beqz $v0,.PF0f09b57c +/* f09b564: 8fa70024 */ lw $a3,0x24($sp) +/* f09b568: 92080690 */ lbu $t0,0x690($s0) +/* f09b56c: 24050001 */ li $a1,0x1 +/* f09b570: ae050608 */ sw $a1,0x608($s0) +/* f09b574: 3109ff7f */ andi $t1,$t0,0xff7f +/* f09b578: a2090690 */ sb $t1,0x690($s0) +.PF0f09b57c: +/* f09b57c: 10000002 */ b .PF0f09b588 +/* f09b580: 8e030608 */ lw $v1,0x608($s0) +.PF0f09b584: +/* f09b584: ae030608 */ sw $v1,0x608($s0) +.PF0f09b588: +/* f09b588: 24050001 */ li $a1,0x1 +.PF0f09b58c: +/* f09b58c: 14a3000e */ bne $a1,$v1,.PF0f09b5c8 +/* f09b590: 24010002 */ li $at,0x2 +/* f09b594: 240a0003 */ li $t2,0x3 +/* f09b598: a2050004 */ sb $a1,0x4($s0) +/* f09b59c: ae0a06ac */ sw $t2,0x6ac($s0) +/* f09b5a0: 80eb0007 */ lb $t3,0x7($a3) +/* f09b5a4: 240f0002 */ li $t7,0x2 +/* f09b5a8: 00001025 */ move $v0,$zero +/* f09b5ac: 000b6080 */ sll $t4,$t3,0x2 +/* f09b5b0: 020c1821 */ addu $v1,$s0,$t4 +/* f09b5b4: 8c6d0220 */ lw $t5,0x220($v1) +/* f09b5b8: 25aeffff */ addiu $t6,$t5,-1 +/* f09b5bc: ac6e0220 */ sw $t6,0x220($v1) +/* f09b5c0: 1000005e */ b .PF0f09b73c +/* f09b5c4: ae0f0608 */ sw $t7,0x608($s0) +.PF0f09b5c8: +/* f09b5c8: 14610023 */ bne $v1,$at,.PF0f09b658 +/* f09b5cc: 24040037 */ li $a0,0x37 +/* f09b5d0: 8cf8001c */ lw $t8,0x1c($a3) +/* f09b5d4: 2401003c */ li $at,0x3c +/* f09b5d8: 8e090614 */ lw $t1,0x614($s0) +/* f09b5dc: 0018c880 */ sll $t9,$t8,0x2 +/* f09b5e0: 0338c823 */ subu $t9,$t9,$t8 +/* f09b5e4: 0019c8c0 */ sll $t9,$t9,0x3 +/* f09b5e8: 0338c821 */ addu $t9,$t9,$t8 +/* f09b5ec: 0019c840 */ sll $t9,$t9,0x1 +/* f09b5f0: 0321001a */ div $zero,$t9,$at +/* f09b5f4: 00004012 */ mflo $t0 +/* f09b5f8: 0109082a */ slt $at,$t0,$t1 +/* f09b5fc: 50200004 */ beqzl $at,.PF0f09b610 +/* f09b600: 920a0000 */ lbu $t2,0x0($s0) +/* f09b604: 1000004d */ b .PF0f09b73c +/* f09b608: 24020001 */ li $v0,0x1 +/* f09b60c: 920a0000 */ lbu $t2,0x0($s0) +.PF0f09b610: +/* f09b610: 24010022 */ li $at,0x22 +/* f09b614: 1541000e */ bne $t2,$at,.PF0f09b650 +/* f09b618: 00000000 */ nop +/* f09b61c: 0fc2a432 */ jal 0xf0a90c8 +/* f09b620: 00000000 */ nop +/* f09b624: 24050001 */ li $a1,0x1 +/* f09b628: 14450009 */ bne $v0,$a1,.PF0f09b650 +/* f09b62c: 00000000 */ nop +/* f09b630: 8e0b0014 */ lw $t3,0x14($s0) +/* f09b634: 11600006 */ beqz $t3,.PF0f09b650 +/* f09b638: 00000000 */ nop +/* f09b63c: 8e0c000c */ lw $t4,0xc($s0) +/* f09b640: 11800003 */ beqz $t4,.PF0f09b650 +/* f09b644: 00000000 */ nop +/* f09b648: 1000003c */ b .PF0f09b73c +/* f09b64c: 24020001 */ li $v0,0x1 +.PF0f09b650: +/* f09b650: 1000003a */ b .PF0f09b73c +/* f09b654: 00001025 */ move $v0,$zero +.PF0f09b658: +/* f09b658: 54830018 */ bnel $a0,$v1,.PF0f09b6bc +/* f09b65c: 92090000 */ lbu $t1,0x0($s0) +/* f09b660: 02002025 */ move $a0,$s0 +/* f09b664: 0fc26323 */ jal 0xf098c8c +/* f09b668: afa70024 */ sw $a3,0x24($sp) +/* f09b66c: 8fa70024 */ lw $a3,0x24($sp) +/* f09b670: 2401003c */ li $at,0x3c +/* f09b674: 8e190614 */ lw $t9,0x614($s0) +/* f09b678: 84ed0018 */ lh $t5,0x18($a3) +/* f09b67c: 000d7080 */ sll $t6,$t5,0x2 +/* f09b680: 01cd7023 */ subu $t6,$t6,$t5 +/* f09b684: 000e70c0 */ sll $t6,$t6,0x3 +/* f09b688: 01cd7021 */ addu $t6,$t6,$t5 +/* f09b68c: 000e7040 */ sll $t6,$t6,0x1 +/* f09b690: 25cf2ee0 */ addiu $t7,$t6,0x2ee0 +/* f09b694: 01e1001a */ div $zero,$t7,$at +/* f09b698: 0000c012 */ mflo $t8 +/* f09b69c: 0319082a */ slt $at,$t8,$t9 +/* f09b6a0: 10200003 */ beqz $at,.PF0f09b6b0 +/* f09b6a4: 00000000 */ nop +/* f09b6a8: 10000024 */ b .PF0f09b73c +/* f09b6ac: 24020001 */ li $v0,0x1 +.PF0f09b6b0: +/* f09b6b0: 10000022 */ b .PF0f09b73c +/* f09b6b4: 00001025 */ move $v0,$zero +/* f09b6b8: 92090000 */ lbu $t1,0x0($s0) +.PF0f09b6bc: +/* f09b6bc: 8e080614 */ lw $t0,0x614($s0) +/* f09b6c0: 2401001e */ li $at,0x1e +/* f09b6c4: 1521001c */ bne $t1,$at,.PF0f09b738 +/* f09b6c8: a60806d4 */ sh $t0,0x6d4($s0) +/* f09b6cc: 920a0003 */ lbu $t2,0x3($s0) +/* f09b6d0: 5540001a */ bnezl $t2,.PF0f09b73c +/* f09b6d4: 00001025 */ move $v0,$zero +/* f09b6d8: 84eb0018 */ lh $t3,0x18($a3) +/* f09b6dc: 2401003c */ li $at,0x3c +/* f09b6e0: 860e06d4 */ lh $t6,0x6d4($s0) +/* f09b6e4: 000b6080 */ sll $t4,$t3,0x2 +/* f09b6e8: 018b6023 */ subu $t4,$t4,$t3 +/* f09b6ec: 000c60c0 */ sll $t4,$t4,0x3 +/* f09b6f0: 018b6021 */ addu $t4,$t4,$t3 +/* f09b6f4: 000c6040 */ sll $t4,$t4,0x1 +/* f09b6f8: 0181001a */ div $zero,$t4,$at +/* f09b6fc: 00006812 */ mflo $t5 +/* f09b700: 01ae082a */ slt $at,$t5,$t6 +/* f09b704: 1020000c */ beqz $at,.PF0f09b738 +/* f09b708: 240f0003 */ li $t7,0x3 +/* f09b70c: a2050004 */ sb $a1,0x4($s0) +/* f09b710: ae0f06ac */ sw $t7,0x6ac($s0) +/* f09b714: 80f80007 */ lb $t8,0x7($a3) +/* f09b718: 00001025 */ move $v0,$zero +/* f09b71c: 0018c880 */ sll $t9,$t8,0x2 +/* f09b720: 02191821 */ addu $v1,$s0,$t9 +/* f09b724: 8c680220 */ lw $t0,0x220($v1) +/* f09b728: 2509ffff */ addiu $t1,$t0,-1 +/* f09b72c: ac690220 */ sw $t1,0x220($v1) +/* f09b730: 10000002 */ b .PF0f09b73c +/* f09b734: ae040608 */ sw $a0,0x608($s0) +.PF0f09b738: +/* f09b738: 00001025 */ move $v0,$zero +.PF0f09b73c: +/* f09b73c: 8fbf001c */ lw $ra,0x1c($sp) +/* f09b740: 8fb00018 */ lw $s0,0x18($sp) +/* f09b744: 27bd0028 */ addiu $sp,$sp,0x28 +/* f09b748: 03e00008 */ jr $ra +/* f09b74c: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f09b260 /* f09b260: 27bdffd8 */ addiu $sp,$sp,-40 @@ -5185,6 +6302,7 @@ glabel func0f09b260 /* f09b4d0: 03e00008 */ jr $ra /* f09b4d4: 00000000 */ nop ); +#endif s32 weaponGetMinClipQty(s32 weaponnum, s32 funcnum) { @@ -5429,61 +6547,40 @@ glabel var7f1ac33c /* f09b824: 00000000 */ nop ); -GLOBAL_ASM( -glabel func0f09b828 -/* f09b828: 27bdffe8 */ addiu $sp,$sp,-24 -/* f09b82c: afbf0014 */ sw $ra,0x14($sp) -/* f09b830: 0fc2c41f */ jal handGetWeaponFunction -/* f09b834: afa40018 */ sw $a0,0x18($sp) -/* f09b838: 14400003 */ bnez $v0,.L0f09b848 -/* f09b83c: 8fa40018 */ lw $a0,0x18($sp) -/* f09b840: 10000023 */ b .L0f09b8d0 -/* f09b844: 24020001 */ addiu $v0,$zero,0x1 -.L0f09b848: -/* f09b848: 8c830608 */ lw $v1,0x608($a0) -/* f09b84c: 24060001 */ addiu $a2,$zero,0x1 -/* f09b850: 24080002 */ addiu $t0,$zero,0x2 -/* f09b854: 14600003 */ bnez $v1,.L0f09b864 -/* f09b858: 24010002 */ addiu $at,$zero,0x2 -/* f09b85c: 24030001 */ addiu $v1,$zero,0x1 -/* f09b860: ac830608 */ sw $v1,0x608($a0) -.L0f09b864: -/* f09b864: 14c3000e */ bne $a2,$v1,.L0f09b8a0 -/* f09b868: 00000000 */ nop -/* f09b86c: a0860004 */ sb $a2,0x4($a0) -/* f09b870: 8c4e0014 */ lw $t6,0x14($v0) -/* f09b874: ac8e06ac */ sw $t6,0x6ac($a0) -/* f09b878: 80450007 */ lb $a1,0x7($v0) -/* f09b87c: 00001025 */ or $v0,$zero,$zero -/* f09b880: 04a00005 */ bltz $a1,.L0f09b898 -/* f09b884: 00057880 */ sll $t7,$a1,0x2 -/* f09b888: 008f1821 */ addu $v1,$a0,$t7 -/* f09b88c: 8c780220 */ lw $t8,0x220($v1) -/* f09b890: 2719ffff */ addiu $t9,$t8,-1 -/* f09b894: ac790220 */ sw $t9,0x220($v1) -.L0f09b898: -/* f09b898: 1000000d */ b .L0f09b8d0 -/* f09b89c: ac880608 */ sw $t0,0x608($a0) -.L0f09b8a0: -/* f09b8a0: 5461000b */ bnel $v1,$at,.L0f09b8d0 -/* f09b8a4: 00001025 */ or $v0,$zero,$zero -/* f09b8a8: 8c490018 */ lw $t1,0x18($v0) -/* f09b8ac: 8c8a0614 */ lw $t2,0x614($a0) -/* f09b8b0: 012a082a */ slt $at,$t1,$t2 -/* f09b8b4: 10200003 */ beqz $at,.L0f09b8c4 -/* f09b8b8: 00000000 */ nop -/* f09b8bc: 10000004 */ b .L0f09b8d0 -/* f09b8c0: 24020001 */ addiu $v0,$zero,0x1 -.L0f09b8c4: -/* f09b8c4: 10000002 */ b .L0f09b8d0 -/* f09b8c8: 00001025 */ or $v0,$zero,$zero -/* f09b8cc: 00001025 */ or $v0,$zero,$zero -.L0f09b8d0: -/* f09b8d0: 8fbf0014 */ lw $ra,0x14($sp) -/* f09b8d4: 27bd0018 */ addiu $sp,$sp,0x18 -/* f09b8d8: 03e00008 */ jr $ra -/* f09b8dc: 00000000 */ nop -); +bool func0f09b828(struct hand *hand) +{ + struct weaponfunc_special *func = (struct weaponfunc_special *) handGetWeaponFunction(&hand->base); + + if (!func) { + return true; + } + + if (hand->unk0c40 == 0) { + hand->unk0c40 = 1; + } + + if (hand->unk0c40 == 1) { + hand->firing = true; + hand->attacktype = func->specialfunc; + + if (func->base.ammoindex >= 0) { + hand->loadedammo[func->base.ammoindex]--; + } + + hand->unk0c40 = 2; + return false; + } + + if (hand->unk0c40 == 2) { + if (hand->unk0c4c > TIME60TOFRAMES(func->unk18)) { + return true; + } + + return false; + } + + return false; +} GLOBAL_ASM( glabel func0f09b8e0 diff --git a/src/include/constants.h b/src/include/constants.h index feec37ded..bfd87eccd 100644 --- a/src/include/constants.h +++ b/src/include/constants.h @@ -35,6 +35,14 @@ (p[1] - g_Vars.currentplayer->eraserpos.f[1]) * (p[1] - g_Vars.currentplayer->eraserpos.f[1]) + \ (p[2] - g_Vars.currentplayer->eraserpos.f[2]) * (p[2] - g_Vars.currentplayer->eraserpos.f[2])) +#if PAL +#define TIME60TOFRAMES(val) (val * 50 / 60) +#define FRAMESTOTIME60(val) (val * 1.2f) +#else +#define TIME60TOFRAMES(val) (val) +#define FRAMESTOTIME60(val) (val) +#endif + // Macro to convert an ASCII character to N64 font code. // N64 font code uses 0x0f for space, 0x10-0x19 for 0-9 and 0x1a-0x33 for A-Z. #define N64CHAR(c) (c == ' ' ? 0x0f : (c >= 'A' && c <= 'Z' ? c - 0x27 : c - 0x20)) diff --git a/src/include/game/game_097ba0.h b/src/include/game/game_097ba0.h index 15096a117..2e3a7c669 100644 --- a/src/include/game/game_097ba0.h +++ b/src/include/game/game_097ba0.h @@ -38,7 +38,7 @@ u32 func0f09afe4(void); u32 func0f09b260(void); s32 weaponGetMinClipQty(s32 weaponnum, s32 funcnum); u32 func0f09b500(void); -u32 func0f09b828(void); +bool func0f09b828(struct hand *hand); s32 func0f09b8e0(struct handweaponinfo *info, s32 handnum, struct hand *hand, s32 lvupdate); s32 func0f09bc2c(struct handweaponinfo *info, s32 handnum, struct hand *hand, s32 lvupdate); u32 func0f09bd58(void); diff --git a/src/include/types.h b/src/include/types.h index 0dd374652..a9555f255 100644 --- a/src/include/types.h +++ b/src/include/types.h @@ -2002,10 +2002,10 @@ struct hand { /*0x0c34*/ u32 unk0c34; /*0x0c38*/ u32 unk0c38; /*0x0c3c*/ u32 unk0c3c; - /*0x0c40*/ u32 unk0c40; + /*0x0c40*/ s32 unk0c40; /*0x0c44*/ u32 unk0c44; /*0x0c48*/ u32 unk0c48; - /*0x0c4c*/ u32 unk0c4c; + /*0x0c4c*/ s32 unk0c4c; /*0x0c50*/ u32 unk0c50; /*0x0c54*/ u32 unk0c54; /*0x0c58*/ u32 unk0c58; @@ -2883,8 +2883,8 @@ struct weaponfunc_close { struct weaponfunc_special { struct weaponfunc base; - /*0x14*/ u32 specialfunc; - /*0x18*/ u32 unk18; + /*0x14*/ s32 specialfunc; + /*0x18*/ s32 unk18; /*0x1c*/ u32 unk1c; };