From f1d924deb2cbaa0ff793b60b9aeabe5923f2cb24 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Fri, 12 Mar 2021 22:59:47 +1000 Subject: [PATCH] pal-final: Get game segment fully matching --- ld/pd.ld | 30 +- src/game/activemenu/activemenu.c | 4 +- src/game/activemenu/tick.c | 8 + src/game/bondbike.c | 2 +- src/game/bondeyespy.c | 2 +- src/game/bondgrab.c | 4 +- src/game/bondhead.c | 2 +- src/game/bondmove.c | 18 +- src/game/bondwalk.c | 359 +- src/game/camdraw.c | 28 + src/game/casing/reset.c | 10 +- src/game/casing/tick.c | 246 +- src/game/chr/chr.c | 916 ++++- src/game/chr/chraction.c | 3998 ++++++++++++++++++- src/game/chr/chraicommands.c | 18 +- src/game/core.c | 125 +- src/game/credits.c | 360 +- src/game/explosions/explosions.c | 12 +- src/game/game_000000.c | 2 +- src/game/game_006900.c | 8 + src/game/game_00c490.c | 147 +- src/game/game_015470.c | 4 +- src/game/game_01d860.c | 2 +- src/game/game_092610.c | 2 +- src/game/game_097ba0.c | 6233 +++++++++++++++++++++++++++++- src/game/game_0abe70.c | 11 +- src/game/game_0b0fd0.c | 16 +- src/game/game_0b69d0.c | 30 +- src/game/game_0e0770.c | 869 +++++ src/game/game_0f09f0.c | 4 + src/game/game_102240.c | 12 +- src/game/game_110680.c | 118 + src/game/game_11f000.c | 115 + src/game/game_127910.c | 6 +- src/game/game_1531a0.c | 20 +- src/game/game_165670.c | 22 +- src/game/game_190260.c | 466 ++- src/game/game_197600.c | 26 +- src/game/game_1999b0.c | 6 +- src/game/game_19aa80.c | 4 +- src/game/game_1a78b0.c | 4 - src/game/hudmsg.c | 2 +- src/game/lang.c | 41 +- src/game/menu/items.c | 703 +++- src/game/mplayer/mplayer.c | 377 ++ src/game/mplayer/scenarios.c | 1064 ++++- src/game/mplayer/setup.c | 625 +++ src/game/music.c | 6 +- src/game/nbomb.c | 563 ++- src/game/pak/pak.c | 8 +- src/game/prop.c | 2 +- src/game/propobj.c | 5991 +++++++++++++++++++++++++++- src/game/radar.c | 4 +- src/game/room.c | 4 +- src/game/shards/shards.c | 16 +- src/game/shards/tick.c | 6 +- src/game/sight.c | 1430 ++++++- src/game/splat.c | 10 +- src/game/timing.c | 14 +- src/game/title.c | 769 +++- src/game/training/menus.c | 148 +- src/game/training/training.c | 98 +- src/game/wallhit.c | 1481 ++++++- src/game/weather/weather.c | 34 +- src/include/constants.h | 21 +- src/include/data.h | 4 +- src/include/game/lang.h | 2 +- src/lib/args.c | 6 +- src/lib/controller.c | 2 +- 69 files changed, 27080 insertions(+), 620 deletions(-) diff --git a/ld/pd.ld b/ld/pd.ld index aad9809f0..feb0ca12b 100644 --- a/ld/pd.ld +++ b/ld/pd.ld @@ -90,7 +90,35 @@ OUTPUT_ARCH (mips) SECTIONS { -#if VERSION >= VERSION_NTSC_FINAL +#if VERSION >= VERSION_PAL_FINAL + _gamecode = 0x4450; + _jpndata1 = 0x17fc40; + _jpndata2 = 0x18b340; +#else + _gamecode = 0x4445; + _jpndata1 = 0x194440; + _jpndata2 = 0x19fb40; +#endif + +#if VERSION >= VERSION_PAL_FINAL + _val7f116f34 = 0x0339; + _val7f117634 = 0x0422; + _val7f1183f8 = 0x070a; + _val7f118a44 = 0x0801; + _val7f11a650 = 0x0da5; + _val7f11a6c8 = 0x0dae; + _val7f11a88c = 0x0e16; + _val7f11aa14 = 0x0e4d; + _val7f11aae4 = 0x0e5b; + _val7f11ad0c = 0x0efc; + _val7f11ae0c = 0x0f20; + _val7f11aef4 = 0x0f38; + _val7f11b124 = 0x0f73; + _val7f11b6c0 = 0x1033; + _val7f11bb48 = 0x1131; + _val7f11c1d0 = 0x128d; + _val7f11c378 = 0x12c8; +#elif VERSION >= VERSION_NTSC_FINAL _val7f116f34 = 0x0339; _val7f117634 = 0x0422; _val7f1183f8 = 0x070a; diff --git a/src/game/activemenu/activemenu.c b/src/game/activemenu/activemenu.c index 4aa53e847..02f41af63 100644 --- a/src/game/activemenu/activemenu.c +++ b/src/game/activemenu/activemenu.c @@ -735,8 +735,8 @@ void amGetSlotDetails(s32 slot, u32 *flags, char *label) if (invGetWeaponNumByIndex(g_AmMenus[g_AmIndex].invindexes[slot]) == WEAPON_CLOAKINGDEVICE) { // Special case: "Cloak %d" qty = currentPlayerGetAmmoCountWithCheck(AMMOTYPE_CLOAK); - secs = qty / 60; - modulo = (qty - (secs * 60)) * 100 / 60; + secs = qty / PALDOWN(60); + modulo = (qty - (secs * PALDOWN(60))) * 100 / PALDOWN(60); sprintf(label, langGet(L_OPTIONS_491), secs + (modulo > 0 ? 1 : 0)); // "cloak %d" } else { strcpy(label, invGetShortNameByIndex(g_AmMenus[g_AmIndex].invindexes[slot])); diff --git a/src/game/activemenu/tick.c b/src/game/activemenu/tick.c index 7621716dc..8e9dfc783 100644 --- a/src/game/activemenu/tick.c +++ b/src/game/activemenu/tick.c @@ -384,7 +384,11 @@ void amTick(void) // Update alpha of slots so they fade in if (g_AmMenus[g_AmIndex].alphafrac < 1) { +#if VERSION >= VERSION_PAL_FINAL + g_AmMenus[g_AmIndex].alphafrac += g_Vars.lvupdate240freal / 30.0f; +#else g_AmMenus[g_AmIndex].alphafrac += g_Vars.lvupdate240f / 30.0f; +#endif } if (g_AmMenus[g_AmIndex].alphafrac > 1) { @@ -392,7 +396,11 @@ void amTick(void) } // Make selection border pulsate +#if VERSION >= VERSION_PAL_FINAL + g_AmMenus[g_AmIndex].selpulse += g_Vars.lvupdate240freal / 5.0f; +#else g_AmMenus[g_AmIndex].selpulse += g_Vars.lvupdate240f / 5.0f; +#endif if (g_AmMenus[g_AmIndex].selpulse > 18.849555969238f) { g_AmMenus[g_AmIndex].selpulse -= 18.849555969238f; diff --git a/src/game/bondbike.c b/src/game/bondbike.c index a50d8ce54..4260f0e4a 100644 --- a/src/game/bondbike.c +++ b/src/game/bondbike.c @@ -167,7 +167,7 @@ void bbikeTryDismountAngle(f32 relativeangle, f32 distance) void bbikeHandleActivate(void) { if (g_Vars.currentplayer->bondvehiclemode == VEHICLEMODE_RUNNING - && g_Vars.lvframe60 - g_Vars.currentplayer->activatetimelast < 25) { + && g_Vars.lvframe60 - g_Vars.currentplayer->activatetimelast < PALDOWN(25)) { struct hoverbikeobj *bike = (struct hoverbikeobj *)g_Vars.currentplayer->hoverbike->obj; struct model08thing *thing = func0f068af4(&bike->base); diff --git a/src/game/bondeyespy.c b/src/game/bondeyespy.c index 863c5e367..dc003cbd7 100644 --- a/src/game/bondeyespy.c +++ b/src/game/bondeyespy.c @@ -563,7 +563,7 @@ bool eyespyTryLaunch(void) playerpos.y = g_Vars.currentplayer->prop->pos.y; playerpos.z = g_Vars.currentplayer->prop->pos.z; - chr->soundtimer = FRAMESTOTIME60(10); + chr->soundtimer = PALDOWN(10); g_Vars.currentplayer->eyespy->init = 0; g_Vars.currentplayer->eyespy->up.x = 0; diff --git a/src/game/bondgrab.c b/src/game/bondgrab.c index 4b94caef0..4829a641d 100644 --- a/src/game/bondgrab.c +++ b/src/game/bondgrab.c @@ -2133,13 +2133,13 @@ void bgrabHandleActivate(void) void bgrabUpdateSpeedSideways(f32 targetspeed, f32 accelspeed, s32 mult) { if (targetspeed < g_Vars.currentplayer->speedstrafe) { - g_Vars.currentplayer->speedstrafe -= FRAMESTOTIME60(accelspeed * mult); + g_Vars.currentplayer->speedstrafe -= PALUPF(accelspeed * mult); if (g_Vars.currentplayer->speedstrafe < targetspeed) { g_Vars.currentplayer->speedstrafe = targetspeed; } } else if (g_Vars.currentplayer->speedstrafe < targetspeed) { - g_Vars.currentplayer->speedstrafe += FRAMESTOTIME60(accelspeed * mult); + g_Vars.currentplayer->speedstrafe += PALUPF(accelspeed * mult); if (g_Vars.currentplayer->speedstrafe > targetspeed) { g_Vars.currentplayer->speedstrafe = targetspeed; diff --git a/src/game/bondhead.c b/src/game/bondhead.c index 1d4fc9689..ad56114e5 100644 --- a/src/game/bondhead.c +++ b/src/game/bondhead.c @@ -198,7 +198,7 @@ void bheadUpdate(f32 arg0, f32 arg1) g_Vars.currentplayer->headwalkingtime60 += g_Vars.lvupdate240_60; - if (g_Vars.currentplayer->headwalkingtime60 > 60) { + if (g_Vars.currentplayer->headwalkingtime60 > PALDOWN(60)) { bheadSetdamp(PAL ? 0.9785f : 0.982f); } else { bheadSetdamp(PAL ? 0.99699f : 0.99748998880386f); diff --git a/src/game/bondmove.c b/src/game/bondmove.c index 1e5d78138..5dcf70fce 100644 --- a/src/game/bondmove.c +++ b/src/game/bondmove.c @@ -99,7 +99,7 @@ void bmoveUpdateAutoAimYProp(struct prop *prop, f32 autoaimy) if (prop != g_Vars.currentplayer->autoyaimprop) { if (g_Vars.currentplayer->autoyaimtime60 < 0) { - g_Vars.currentplayer->autoyaimtime60 = 30; + g_Vars.currentplayer->autoyaimtime60 = PALDOWN(30); g_Vars.currentplayer->autoyaimprop = prop; } else { return; @@ -152,7 +152,7 @@ void bmoveUpdateAutoAimXProp(struct prop *prop, f32 autoaimx) if (prop != g_Vars.currentplayer->autoxaimprop) { if (g_Vars.currentplayer->autoxaimtime60 < 0) { - g_Vars.currentplayer->autoxaimtime60 = 30; + g_Vars.currentplayer->autoxaimtime60 = PALDOWN(30); g_Vars.currentplayer->autoxaimprop = prop; } else { return; @@ -1500,7 +1500,7 @@ glabel var7f1ad8e4 /* f0c9584: 26100001 */ addiu $s0,$s0,0x1 /* f0c9588: 8e450284 */ lw $a1,0x284($s2) /* f0c958c: 84a2024c */ lh $v0,0x24c($a1) -/* f0c9590: 28410010 */ slti $at,$v0,0x10 +/* f0c9590: 28410010 */ slti $at,$v0,0xd /* f0c9594: 14200006 */ bnez $at,.L0f0c95b0 /* f0c9598: 24480001 */ addiu $t0,$v0,0x1 /* f0c959c: 0fc3fbda */ jal amOpen @@ -1590,7 +1590,7 @@ glabel var7f1ad8e4 .L0f0c96c8: /* f0c96c8: 84a4024e */ lh $a0,0x24e($a1) /* f0c96cc: 0480002a */ bltz $a0,.L0f0c9778 -/* f0c96d0: 2881001a */ slti $at,$a0,0x1a +/* f0c96d0: 2881001a */ slti $at,$a0,0x15 /* f0c96d4: 14200016 */ bnez $at,.L0f0c9730 /* f0c96d8: 248b0001 */ addiu $t3,$a0,0x1 /* f0c96dc: 00002825 */ or $a1,$zero,$zero @@ -1779,7 +1779,7 @@ glabel var7f1ad8e4 .L0f0c9964: /* f0c9964: 8ca20260 */ lw $v0,0x260($a1) /* f0c9968: 1840000a */ blez $v0,.L0f0c9994 -/* f0c996c: 2841000f */ slti $at,$v0,0xf +/* f0c996c: 2841000f */ slti $at,$v0,0xc /* f0c9970: 10200008 */ beqz $at,.L0f0c9994 /* f0c9974: 8fa20218 */ lw $v0,0x218($sp) /* f0c9978: 10400003 */ beqz $v0,.L0f0c9988 @@ -2433,7 +2433,7 @@ glabel var7f1ad8e4 /* f0ca2b0: 26100001 */ addiu $s0,$s0,0x1 /* f0ca2b4: 8e450284 */ lw $a1,0x284($s2) /* f0ca2b8: 84a2024c */ lh $v0,0x24c($a1) -/* f0ca2bc: 28410010 */ slti $at,$v0,0x10 +/* f0ca2bc: 28410010 */ slti $at,$v0,0xd /* f0ca2c0: 14200006 */ bnez $at,.L0f0ca2dc /* f0ca2c4: 244e0001 */ addiu $t6,$v0,0x1 /* f0ca2c8: 0fc3fbda */ jal amOpen @@ -2522,7 +2522,7 @@ glabel var7f1ad8e4 .L0f0ca3f0: /* f0ca3f0: 84a4024e */ lh $a0,0x24e($a1) /* f0ca3f4: 0480002a */ bltz $a0,.L0f0ca4a0 -/* f0ca3f8: 2881001a */ slti $at,$a0,0x1a +/* f0ca3f8: 2881001a */ slti $at,$a0,0x15 /* f0ca3fc: 14200016 */ bnez $at,.L0f0ca458 /* f0ca400: 248f0001 */ addiu $t7,$a0,0x1 /* f0ca404: 00002825 */ or $a1,$zero,$zero @@ -2687,7 +2687,7 @@ glabel var7f1ad8e4 .L0f0ca630: /* f0ca630: 8ca20260 */ lw $v0,0x260($a1) /* f0ca634: 1840000a */ blez $v0,.L0f0ca660 -/* f0ca638: 2841000f */ slti $at,$v0,0xf +/* f0ca638: 2841000f */ slti $at,$v0,0xc /* f0ca63c: 10200008 */ beqz $at,.L0f0ca660 /* f0ca640: 8fa20218 */ lw $v0,0x218($sp) /* f0ca644: 10400003 */ beqz $v0,.L0f0ca654 @@ -3178,7 +3178,7 @@ glabel var7f1ad8e4 /* f0cad2c: 27a401b4 */ addiu $a0,$sp,0x1b4 /* f0cad30: 8e450284 */ lw $a1,0x284($s2) /* f0cad34: 8ca90178 */ lw $t1,0x178($a1) -/* f0cad38: 292100b4 */ slti $at,$t1,0xb4 +/* f0cad38: 292100b4 */ slti $at,$t1,0x96 /* f0cad3c: 1420001b */ bnez $at,.L0f0cadac /* f0cad40: 3c013fa0 */ lui $at,0x3fa0 /* f0cad44: 44811000 */ mtc1 $at,$f2 diff --git a/src/game/bondwalk.c b/src/game/bondwalk.c index 545edbbbb..14ff5da6e 100644 --- a/src/game/bondwalk.c +++ b/src/game/bondwalk.c @@ -328,6 +328,350 @@ bool bwalkCalculateNewPosition(struct coord *vel, f32 rotateamount, bool apply, const char var7f1ad75c[] = "bondwalk.c"; +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel bwalkCalculateNewPositionWithPush +/* f0c4250: 27bdff58 */ addiu $sp,$sp,-168 +/* f0c4254: 8fae00b8 */ lw $t6,0xb8($sp) +/* f0c4258: afbf0024 */ sw $ra,0x24($sp) +/* f0c425c: afa400a8 */ sw $a0,0xa8($sp) +/* f0c4260: afa500ac */ sw $a1,0xac($sp) +/* f0c4264: afa600b0 */ sw $a2,0xb0($sp) +/* f0c4268: afa700b4 */ sw $a3,0xb4($sp) +/* f0c426c: 0fc30f85 */ jal bwalkCalculateNewPosition +/* f0c4270: afae0010 */ sw $t6,0x10($sp) +/* f0c4274: 24010001 */ addiu $at,$zero,0x1 +/* f0c4278: 10410135 */ beq $v0,$at,.L0f0c4750 +/* f0c427c: afa200a4 */ sw $v0,0xa4($sp) +/* f0c4280: 0c0093ac */ jal cdGetObstacle +/* f0c4284: 00000000 */ nop +/* f0c4288: 10400131 */ beqz $v0,.L0f0c4750 +/* f0c428c: afa200a0 */ sw $v0,0xa0($sp) +/* f0c4290: 3c08800a */ lui $t0,%hi(g_Vars) +/* f0c4294: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) +/* f0c4298: 8d0f0034 */ lw $t7,0x34($t0) +/* f0c429c: 59e0012d */ blezl $t7,.L0f0c4754 +/* f0c42a0: 8fbf0024 */ lw $ra,0x24($sp) +/* f0c42a4: 90430000 */ lbu $v1,0x0($v0) +/* f0c42a8: 24010002 */ addiu $at,$zero,0x2 +/* f0c42ac: 54610046 */ bnel $v1,$at,.L0f0c43c8 +/* f0c42b0: 24010003 */ addiu $at,$zero,0x3 +/* f0c42b4: 8c430004 */ lw $v1,0x4($v0) +/* f0c42b8: 94780070 */ lhu $t8,0x70($v1) +/* f0c42bc: 33190400 */ andi $t9,$t8,0x400 +/* f0c42c0: 53200124 */ beqzl $t9,.L0f0c4754 +/* f0c42c4: 8fbf0024 */ lw $ra,0x24($sp) +/* f0c42c8: 8d090284 */ lw $t1,0x284($t0) +/* f0c42cc: 27a40084 */ addiu $a0,$sp,0x84 +/* f0c42d0: 27a50078 */ addiu $a1,$sp,0x78 +/* f0c42d4: 8d2a00d8 */ lw $t2,0xd8($t1) +/* f0c42d8: 240601d1 */ addiu $a2,$zero,0x1d1 +/* f0c42dc: 3c077f1b */ lui $a3,%hi(var7f1ad75c) +/* f0c42e0: 5540011c */ bnezl $t2,.L0f0c4754 +/* f0c42e4: 8fbf0024 */ lw $ra,0x24($sp) +/* f0c42e8: 0c009393 */ jal func00024e4c +/* f0c42ec: 24e7d75c */ addiu $a3,$a3,%lo(var7f1ad75c) +/* f0c42f0: c7a40080 */ lwc1 $f4,0x80($sp) +/* f0c42f4: c7a6008c */ lwc1 $f6,0x8c($sp) +/* f0c42f8: 44801000 */ mtc1 $zero,$f2 +/* f0c42fc: c7a80084 */ lwc1 $f8,0x84($sp) +/* f0c4300: 46062001 */ sub.s $f0,$f4,$f6 +/* f0c4304: c7aa0078 */ lwc1 $f10,0x78($sp) +/* f0c4308: 3c08800a */ lui $t0,%hi(g_Vars) +/* f0c430c: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) +/* f0c4310: 46001032 */ c.eq.s $f2,$f0 +/* f0c4314: e7a00090 */ swc1 $f0,0x90($sp) +/* f0c4318: 460a4101 */ sub.s $f4,$f8,$f10 +/* f0c431c: 27a40090 */ addiu $a0,$sp,0x90 +/* f0c4320: e7a20094 */ swc1 $f2,0x94($sp) +/* f0c4324: 45000004 */ bc1f .L0f0c4338 +/* f0c4328: e7a40098 */ swc1 $f4,0x98($sp) +/* f0c432c: 46041032 */ c.eq.s $f2,$f4 +/* f0c4330: 3c013f80 */ lui $at,0x3f80 +/* f0c4334: 45010006 */ bc1t .L0f0c4350 +.L0f0c4338: +/* f0c4338: 27a50094 */ addiu $a1,$sp,0x94 +/* f0c433c: 0c0011e4 */ jal guNormalize +/* f0c4340: 27a60098 */ addiu $a2,$sp,0x98 +/* f0c4344: 3c08800a */ lui $t0,%hi(g_Vars) +/* f0c4348: 10000004 */ b .L0f0c435c +/* f0c434c: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) +.L0f0c4350: +/* f0c4350: 44813000 */ mtc1 $at,$f6 +/* f0c4354: 00000000 */ nop +/* f0c4358: e7a60098 */ swc1 $f6,0x98($sp) +.L0f0c435c: +/* f0c435c: 8d0b0284 */ lw $t3,0x284($t0) +/* f0c4360: 3c053ecc */ lui $a1,0x3ecc +/* f0c4364: 34a5cccd */ ori $a1,$a1,0xcccd +/* f0c4368: 8d6200bc */ lw $v0,0xbc($t3) +/* f0c436c: 27a60090 */ addiu $a2,$sp,0x90 +/* f0c4370: 00003825 */ or $a3,$zero,$zero +/* f0c4374: 8c440004 */ lw $a0,0x4($v0) +/* f0c4378: 0fc0d05f */ jal func0f03417c +/* f0c437c: afa20010 */ sw $v0,0x10($sp) +/* f0c4380: 3c01bf80 */ lui $at,0xbf80 +/* f0c4384: 44814000 */ mtc1 $at,$f8 +/* f0c4388: 3c048009 */ lui $a0,%hi(var80095200) +/* f0c438c: 240cffff */ addiu $t4,$zero,-1 +/* f0c4390: 240dffff */ addiu $t5,$zero,-1 +/* f0c4394: 240effff */ addiu $t6,$zero,-1 +/* f0c4398: afae001c */ sw $t6,0x1c($sp) +/* f0c439c: afad0018 */ sw $t5,0x18($sp) +/* f0c43a0: afac0010 */ sw $t4,0x10($sp) +/* f0c43a4: 8c845200 */ lw $a0,%lo(var80095200)($a0) +/* f0c43a8: 240500f2 */ addiu $a1,$zero,0xf2 +/* f0c43ac: 00003025 */ or $a2,$zero,$zero +/* f0c43b0: 2407ffff */ addiu $a3,$zero,-1 +/* f0c43b4: 0c004241 */ jal audioStart +/* f0c43b8: e7a80014 */ swc1 $f8,0x14($sp) +/* f0c43bc: 100000e5 */ b .L0f0c4754 +/* f0c43c0: 8fbf0024 */ lw $ra,0x24($sp) +/* f0c43c4: 24010003 */ addiu $at,$zero,0x3 +.L0f0c43c8: +/* f0c43c8: 5461008b */ bnel $v1,$at,.L0f0c45f8 +/* f0c43cc: 24010006 */ addiu $at,$zero,0x6 +/* f0c43d0: 8d180318 */ lw $t8,0x318($t0) +/* f0c43d4: 8c4f0004 */ lw $t7,0x4($v0) +/* f0c43d8: 00001825 */ or $v1,$zero,$zero +/* f0c43dc: 1300000c */ beqz $t8,.L0f0c4410 +/* f0c43e0: afaf0074 */ sw $t7,0x74($sp) +/* f0c43e4: 8d190284 */ lw $t9,0x284($t0) +/* f0c43e8: 01e02825 */ or $a1,$t7,$zero +/* f0c43ec: 24060001 */ addiu $a2,$zero,0x1 +/* f0c43f0: 8f2900bc */ lw $t1,0xbc($t9) +/* f0c43f4: 8d240004 */ lw $a0,0x4($t1) +/* f0c43f8: 0fc12aa3 */ jal chrCompareTeams +/* f0c43fc: afa00044 */ sw $zero,0x44($sp) +/* f0c4400: 10400014 */ beqz $v0,.L0f0c4454 +/* f0c4404: 8fa30044 */ lw $v1,0x44($sp) +/* f0c4408: 10000012 */ b .L0f0c4454 +/* f0c440c: 24030001 */ addiu $v1,$zero,0x1 +.L0f0c4410: +/* f0c4410: 8faa0074 */ lw $t2,0x74($sp) +/* f0c4414: 8d4b0018 */ lw $t3,0x18($t2) +/* f0c4418: 000b61c0 */ sll $t4,$t3,0x7 +/* f0c441c: 0581000d */ bgez $t4,.L0f0c4454 +/* f0c4420: 00000000 */ nop +/* f0c4424: 8d0d029c */ lw $t5,0x29c($t0) +/* f0c4428: 05a2000a */ bltzl $t5,.L0f0c4454 +/* f0c442c: 24030001 */ addiu $v1,$zero,0x1 +/* f0c4430: 8d0e02a8 */ lw $t6,0x2a8($t0) +/* f0c4434: 8d0f0284 */ lw $t7,0x284($t0) +/* f0c4438: 55cf0006 */ bnel $t6,$t7,.L0f0c4454 +/* f0c443c: 24030001 */ addiu $v1,$zero,0x1 +/* f0c4440: 8d580014 */ lw $t8,0x14($t2) +/* f0c4444: 0018c840 */ sll $t9,$t8,0x1 +/* f0c4448: 07200002 */ bltz $t9,.L0f0c4454 +/* f0c444c: 00000000 */ nop +/* f0c4450: 24030001 */ addiu $v1,$zero,0x1 +.L0f0c4454: +/* f0c4454: 106000be */ beqz $v1,.L0f0c4750 +/* f0c4458: 8fa200a8 */ lw $v0,0xa8($sp) +/* f0c445c: c4400008 */ lwc1 $f0,0x8($v0) +/* f0c4460: c4420000 */ lwc1 $f2,0x0($v0) +/* f0c4464: 46000282 */ mul.s $f10,$f0,$f0 +/* f0c4468: 00000000 */ nop +/* f0c446c: 46021102 */ mul.s $f4,$f2,$f2 +/* f0c4470: 0c012974 */ jal sqrtf +/* f0c4474: 46045300 */ add.s $f12,$f10,$f4 +/* f0c4478: 3c08800a */ lui $t0,%hi(g_Vars) +/* f0c447c: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) +/* f0c4480: c5060044 */ lwc1 $f6,0x4c($t0) +/* f0c4484: 8d090284 */ lw $t1,0x284($t0) +/* f0c4488: 8fa300a0 */ lw $v1,0xa0($sp) +/* f0c448c: 46060203 */ div.s $f8,$f0,$f6 +/* f0c4490: 44801000 */ mtc1 $zero,$f2 +/* f0c4494: e7a80054 */ swc1 $f8,0x54($sp) +/* f0c4498: 8d2200bc */ lw $v0,0xbc($t1) +/* f0c449c: c46a0008 */ lwc1 $f10,0x8($v1) +/* f0c44a0: c4660010 */ lwc1 $f6,0x10($v1) +/* f0c44a4: c4440008 */ lwc1 $f4,0x8($v0) +/* f0c44a8: c4480010 */ lwc1 $f8,0x10($v0) +/* f0c44ac: 46045381 */ sub.s $f14,$f10,$f4 +/* f0c44b0: 46083401 */ sub.s $f16,$f6,$f8 +/* f0c44b4: 46027032 */ c.eq.s $f14,$f2 +/* f0c44b8: 00000000 */ nop +/* f0c44bc: 45000005 */ bc1f .L0f0c44d4 +/* f0c44c0: 00000000 */ nop +/* f0c44c4: 46028032 */ c.eq.s $f16,$f2 +/* f0c44c8: 00000000 */ nop +/* f0c44cc: 450300a1 */ bc1tl .L0f0c4754 +/* f0c44d0: 8fbf0024 */ lw $ra,0x24($sp) +.L0f0c44d4: +/* f0c44d4: 460e7282 */ mul.s $f10,$f14,$f14 +/* f0c44d8: e7ae0050 */ swc1 $f14,0x50($sp) +/* f0c44dc: e7b0004c */ swc1 $f16,0x4c($sp) +/* f0c44e0: 46108102 */ mul.s $f4,$f16,$f16 +/* f0c44e4: 0c012974 */ jal sqrtf +/* f0c44e8: 46045300 */ add.s $f12,$f10,$f4 +/* f0c44ec: 44801000 */ mtc1 $zero,$f2 +/* f0c44f0: 3c08800a */ lui $t0,%hi(g_Vars) +/* f0c44f4: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) +/* f0c44f8: 4600103c */ c.lt.s $f2,$f0 +/* f0c44fc: c7ae0050 */ lwc1 $f14,0x50($sp) +/* f0c4500: c7b0004c */ lwc1 $f16,0x4c($sp) +/* f0c4504: c7a60054 */ lwc1 $f6,0x54($sp) +/* f0c4508: 45020092 */ bc1fl .L0f0c4754 +/* f0c450c: 8fbf0024 */ lw $ra,0x24($sp) +/* f0c4510: 46003303 */ div.s $f12,$f6,$f0 +/* f0c4514: 3c013f00 */ lui $at,0x3f00 +/* f0c4518: 44819000 */ mtc1 $at,$f18 +/* f0c451c: 8fa40074 */ lw $a0,0x74($sp) +/* f0c4520: 8fa200a0 */ lw $v0,0xa0($sp) +/* f0c4524: 27a50068 */ addiu $a1,$sp,0x68 +/* f0c4528: 27a60058 */ addiu $a2,$sp,0x58 +/* f0c452c: 00003825 */ or $a3,$zero,$zero +/* f0c4530: 460c7382 */ mul.s $f14,$f14,$f12 +/* f0c4534: 00000000 */ nop +/* f0c4538: 460c8402 */ mul.s $f16,$f16,$f12 +/* f0c453c: 00000000 */ nop +/* f0c4540: 460e9082 */ mul.s $f2,$f18,$f14 +/* f0c4544: 00000000 */ nop +/* f0c4548: 46109202 */ mul.s $f8,$f18,$f16 +/* f0c454c: e4820304 */ swc1 $f2,0x304($a0) +/* f0c4550: e4880308 */ swc1 $f8,0x308($a0) +/* f0c4554: c5000044 */ lwc1 $f0,0x4c($t0) +/* f0c4558: c4440008 */ lwc1 $f4,0x8($v0) +/* f0c455c: 46001282 */ mul.s $f10,$f2,$f0 +/* f0c4560: 46045180 */ add.s $f6,$f10,$f4 +/* f0c4564: e7a60068 */ swc1 $f6,0x68($sp) +/* f0c4568: c448000c */ lwc1 $f8,0xc($v0) +/* f0c456c: e7a8006c */ swc1 $f8,0x6c($sp) +/* f0c4570: c48a0308 */ lwc1 $f10,0x308($a0) +/* f0c4574: c4460010 */ lwc1 $f6,0x10($v0) +/* f0c4578: 46005102 */ mul.s $f4,$f10,$f0 +/* f0c457c: 46062200 */ add.s $f8,$f4,$f6 +/* f0c4580: 0fc079fd */ jal func0f01e7f4 +/* f0c4584: e7a80070 */ swc1 $f8,0x70($sp) +/* f0c4588: 8fa400a0 */ lw $a0,0xa0($sp) +/* f0c458c: c7aa0068 */ lwc1 $f10,0x68($sp) +/* f0c4590: e48a0008 */ swc1 $f10,0x8($a0) +/* f0c4594: c7a4006c */ lwc1 $f4,0x6c($sp) +/* f0c4598: e484000c */ swc1 $f4,0xc($a0) +/* f0c459c: c7a60070 */ lwc1 $f6,0x70($sp) +/* f0c45a0: 0fc19711 */ jal func0f065c44 +/* f0c45a4: e4860010 */ swc1 $f6,0x10($a0) +/* f0c45a8: 8fa500a0 */ lw $a1,0xa0($sp) +/* f0c45ac: 27a40058 */ addiu $a0,$sp,0x58 +/* f0c45b0: 0fc195e9 */ jal roomsCopy +/* f0c45b4: 24a50028 */ addiu $a1,$a1,0x28 +/* f0c45b8: 0fc0882b */ jal func0f0220ac +/* f0c45bc: 8fa40074 */ lw $a0,0x74($sp) +/* f0c45c0: 8fab0074 */ lw $t3,0x74($sp) +/* f0c45c4: 27a50068 */ addiu $a1,$sp,0x68 +/* f0c45c8: 0c006b4d */ jal modelSetRootPosition +/* f0c45cc: 8d640020 */ lw $a0,0x20($t3) +/* f0c45d0: 8fac00b8 */ lw $t4,0xb8($sp) +/* f0c45d4: 8fa400a8 */ lw $a0,0xa8($sp) +/* f0c45d8: 8fa500ac */ lw $a1,0xac($sp) +/* f0c45dc: 8fa600b0 */ lw $a2,0xb0($sp) +/* f0c45e0: 8fa700b4 */ lw $a3,0xb4($sp) +/* f0c45e4: 0fc30f85 */ jal bwalkCalculateNewPosition +/* f0c45e8: afac0010 */ sw $t4,0x10($sp) +/* f0c45ec: 10000058 */ b .L0f0c4750 +/* f0c45f0: afa200a4 */ sw $v0,0xa4($sp) +/* f0c45f4: 24010006 */ addiu $at,$zero,0x6 +.L0f0c45f8: +/* f0c45f8: 10610055 */ beq $v1,$at,.L0f0c4750 +/* f0c45fc: 24010001 */ addiu $at,$zero,0x1 +/* f0c4600: 54610054 */ bnel $v1,$at,.L0f0c4754 +/* f0c4604: 8fbf0024 */ lw $ra,0x24($sp) +/* f0c4608: 8c460004 */ lw $a2,0x4($v0) +/* f0c460c: 8cc30040 */ lw $v1,0x40($a2) +/* f0c4610: 00036940 */ sll $t5,$v1,0x5 +/* f0c4614: 05a0004e */ bltz $t5,.L0f0c4750 +/* f0c4618: 00037100 */ sll $t6,$v1,0x4 +/* f0c461c: 05c2004d */ bltzl $t6,.L0f0c4754 +/* f0c4620: 8fbf0024 */ lw $ra,0x24($sp) +/* f0c4624: 8d030284 */ lw $v1,0x284($t0) +/* f0c4628: 8c6f1af0 */ lw $t7,0x1af0($v1) +/* f0c462c: 55e00008 */ bnezl $t7,.L0f0c4650 +/* f0c4630: 8cd80010 */ lw $t8,0x10($a2) +/* f0c4634: 90ca0003 */ lbu $t2,0x3($a2) +/* f0c4638: 2401002d */ addiu $at,$zero,0x2d +/* f0c463c: 55410004 */ bnel $t2,$at,.L0f0c4650 +/* f0c4640: 8cd80010 */ lw $t8,0x10($a2) +/* f0c4644: 10000042 */ b .L0f0c4750 +/* f0c4648: ac621aec */ sw $v0,0x1aec($v1) +/* f0c464c: 8cd80010 */ lw $t8,0x10($a2) +.L0f0c4650: +/* f0c4650: 33190001 */ andi $t9,$t8,0x1 +/* f0c4654: 5320003f */ beqzl $t9,.L0f0c4754 +/* f0c4658: 8fbf0024 */ lw $ra,0x24($sp) +/* f0c465c: ac600178 */ sw $zero,0x178($v1) +/* f0c4660: 8cc90040 */ lw $t1,0x40($a2) +/* f0c4664: 24020001 */ addiu $v0,$zero,0x1 +/* f0c4668: 8fa400a8 */ lw $a0,0xa8($sp) +/* f0c466c: 312b0080 */ andi $t3,$t1,0x80 +/* f0c4670: 11600007 */ beqz $t3,.L0f0c4690 +/* f0c4674: 00c02825 */ or $a1,$a2,$zero +/* f0c4678: 8ccc0048 */ lw $t4,0x48($a2) +/* f0c467c: 8d8d0000 */ lw $t5,0x0($t4) +/* f0c4680: 31ae1000 */ andi $t6,$t5,0x1000 +/* f0c4684: 11c00002 */ beqz $t6,.L0f0c4690 +/* f0c4688: 00000000 */ nop +/* f0c468c: 00001025 */ or $v0,$zero,$zero +.L0f0c4690: +/* f0c4690: 50400030 */ beqzl $v0,.L0f0c4754 +/* f0c4694: 8fbf0024 */ lw $ra,0x24($sp) +/* f0c4698: 0fc30ece */ jal bwalk0f0c3b38 +/* f0c469c: afa60040 */ sw $a2,0x40($sp) +/* f0c46a0: 8fa60040 */ lw $a2,0x40($sp) +/* f0c46a4: 8ccf0040 */ lw $t7,0x40($a2) +/* f0c46a8: 31ea0080 */ andi $t2,$t7,0x80 +/* f0c46ac: 51400029 */ beqzl $t2,.L0f0c4754 +/* f0c46b0: 8fbf0024 */ lw $ra,0x24($sp) +/* f0c46b4: 8cd80048 */ lw $t8,0x48($a2) +/* f0c46b8: 00c02025 */ or $a0,$a2,$zero +/* f0c46bc: 27a50034 */ addiu $a1,$sp,0x34 +/* f0c46c0: 8f190000 */ lw $t9,0x0($t8) +/* f0c46c4: 33290800 */ andi $t1,$t9,0x800 +/* f0c46c8: 51200022 */ beqzl $t1,.L0f0c4754 +/* f0c46cc: 8fbf0024 */ lw $ra,0x24($sp) +/* f0c46d0: afa00034 */ sw $zero,0x34($sp) +/* f0c46d4: 0fc1cf1b */ jal func0f073c6c +/* f0c46d8: afa60040 */ sw $a2,0x40($sp) +/* f0c46dc: 8fa60040 */ lw $a2,0x40($sp) +/* f0c46e0: 8ccb0040 */ lw $t3,0x40($a2) +/* f0c46e4: 316c0080 */ andi $t4,$t3,0x80 +/* f0c46e8: 11800010 */ beqz $t4,.L0f0c472c +/* f0c46ec: 00000000 */ nop +/* f0c46f0: 8cc30048 */ lw $v1,0x48($a2) +/* f0c46f4: 8c6d0000 */ lw $t5,0x0($v1) +/* f0c46f8: 35ae1000 */ ori $t6,$t5,0x1000 +/* f0c46fc: 10400006 */ beqz $v0,.L0f0c4718 +/* f0c4700: ac6e0000 */ sw $t6,0x0($v1) +/* f0c4704: 8cc30048 */ lw $v1,0x48($a2) +/* f0c4708: 8c6f0000 */ lw $t7,0x0($v1) +/* f0c470c: 35ea2000 */ ori $t2,$t7,0x2000 +/* f0c4710: 10000006 */ b .L0f0c472c +/* f0c4714: ac6a0000 */ sw $t2,0x0($v1) +.L0f0c4718: +/* f0c4718: 8cc30048 */ lw $v1,0x48($a2) +/* f0c471c: 2401dfff */ addiu $at,$zero,-8193 +/* f0c4720: 8c780000 */ lw $t8,0x0($v1) +/* f0c4724: 0301c824 */ and $t9,$t8,$at +/* f0c4728: ac790000 */ sw $t9,0x0($v1) +.L0f0c472c: +/* f0c472c: 10400008 */ beqz $v0,.L0f0c4750 +/* f0c4730: 8fa400a8 */ lw $a0,0xa8($sp) +/* f0c4734: 8fa900b8 */ lw $t1,0xb8($sp) +/* f0c4738: 8fa500ac */ lw $a1,0xac($sp) +/* f0c473c: 8fa600b0 */ lw $a2,0xb0($sp) +/* f0c4740: 8fa700b4 */ lw $a3,0xb4($sp) +/* f0c4744: 0fc30f85 */ jal bwalkCalculateNewPosition +/* f0c4748: afa90010 */ sw $t1,0x10($sp) +/* f0c474c: afa200a4 */ sw $v0,0xa4($sp) +.L0f0c4750: +/* f0c4750: 8fbf0024 */ lw $ra,0x24($sp) +.L0f0c4754: +/* f0c4754: 8fa200a4 */ lw $v0,0xa4($sp) +/* f0c4758: 27bd00a8 */ addiu $sp,$sp,0xa8 +/* f0c475c: 03e00008 */ jr $ra +/* f0c4760: 00000000 */ nop +); +#else GLOBAL_ASM( glabel bwalkCalculateNewPositionWithPush /* f0c4250: 27bdff58 */ addiu $sp,$sp,-168 @@ -670,6 +1014,7 @@ glabel bwalkCalculateNewPositionWithPush /* f0c475c: 03e00008 */ jr $ra /* f0c4760: 00000000 */ nop ); +#endif // Mismatch: The below loads 0.5f twice in the chr push code while goal reuses it. //bool bwalkCalculateNewPositionWithPush(struct coord *delta, f32 rotateamount, bool apply, f32 extrawidth, s32 types) @@ -971,13 +1316,13 @@ void bwalkUpdateSpeedSideways(f32 targetspeed, f32 accelspeed, s32 mult) } if (g_Vars.currentplayer->speedstrafe > targetspeed) { - g_Vars.currentplayer->speedstrafe -= FRAMESTOTIME60(accelspeed * mult); + g_Vars.currentplayer->speedstrafe -= PALUPF(accelspeed * mult); if (g_Vars.currentplayer->speedstrafe < targetspeed) { g_Vars.currentplayer->speedstrafe = targetspeed; } } else if (g_Vars.currentplayer->speedstrafe < targetspeed) { - g_Vars.currentplayer->speedstrafe += FRAMESTOTIME60(accelspeed * mult); + g_Vars.currentplayer->speedstrafe += PALUPF(accelspeed * mult); if (g_Vars.currentplayer->speedstrafe > targetspeed) { g_Vars.currentplayer->speedstrafe = targetspeed; @@ -1248,7 +1593,7 @@ void bwalkUpdateVertical(void) g_Vars.currentplayer->isfalling = true; g_Vars.currentplayer->fallstart = g_Vars.lvframe60; } else { - if (g_Vars.lvframe60 - g_Vars.currentplayer->fallstart > 240) { + if (g_Vars.lvframe60 - g_Vars.currentplayer->fallstart > PALDOWN(240)) { // Have been falling for 4 seconds currentPlayerDie(true); } @@ -1313,10 +1658,10 @@ void bwalkUpdateVertical(void) // landing. Eg. The faster the fall speed, the longer Jo will take to // stand back to full height again. if (g_Vars.currentplayer->bdeltapos.y < -13.333333f) { - g_Vars.currentplayer->crouchtime240 = 60; + g_Vars.currentplayer->crouchtime240 = PALDOWN(60); g_Vars.currentplayer->crouchfall = -90; } else if (g_Vars.currentplayer->bdeltapos.y < -5.0f) { - g_Vars.currentplayer->crouchtime240 = 60; + g_Vars.currentplayer->crouchtime240 = PALDOWN(60); g_Vars.currentplayer->crouchfall = (-5.0f - g_Vars.currentplayer->bdeltapos.y) * -90.0f / 8.333333f; } @@ -1347,7 +1692,7 @@ void bwalkUpdateVertical(void) if (g_Vars.mplayerisrunning == false && (chr->headnum == HEAD_DARK_COMBAT || chr->headnum == HEAD_DARK_FROCK) - && g_Vars.lvframe60 - g_Vars.currentplayer->fallstart > 40) { + && g_Vars.lvframe60 - g_Vars.currentplayer->fallstart > PALDOWN(40)) { // Play Jo landing grunt s32 sounds[] = { SFX_JO_LANDING_046F, @@ -1472,7 +1817,7 @@ void bwalkUpdateCrouchOffset(void) // f32 *frac, f32 maxfrac, f32 *fracspeed, f32 accel, f32 decel, f32 maxspeed func0f06d90c(&g_Vars.currentplayer->crouchoffset, targetoffset, - &g_Vars.currentplayer->crouchspeed, FRAMESTOTIME60(0.5f), FRAMESTOTIME60(0.5f), FRAMESTOTIME60(5.0f)); + &g_Vars.currentplayer->crouchspeed, PALUPF(0.5f), PALUPF(0.5f), PALUPF(5.0f)); bwalkUpdateCrouchOffsetReal(); diff --git a/src/game/camdraw.c b/src/game/camdraw.c index 4df990c58..c97a89b1f 100644 --- a/src/game/camdraw.c +++ b/src/game/camdraw.c @@ -862,6 +862,19 @@ glabel func0f14a16c /* f14a1c8: 314200ff */ andi $v0,$t2,0xff ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f14a1cc +/* f14a1cc: 27bdffe8 */ addiu $sp,$sp,-24 +/* f14a1d0: afbf0014 */ sw $ra,0x14($sp) +/* f14a1d4: 0fc5b9f1 */ jal langGet +/* f14a1d8: 248459ad */ addiu $a0,$a0,0x58aa +/* f14a1dc: 8fbf0014 */ lw $ra,0x14($sp) +/* f14a1e0: 27bd0018 */ addiu $sp,$sp,0x18 +/* f14a1e4: 03e00008 */ jr $ra +/* f14a1e8: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f14a1cc /* f14a1cc: 27bdffe8 */ addiu $sp,$sp,-24 @@ -873,7 +886,21 @@ glabel func0f14a1cc /* f14a1e4: 03e00008 */ jr $ra /* f14a1e8: 00000000 */ nop ); +#endif +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f14a1ec +/* f14a1ec: 27bdffe8 */ addiu $sp,$sp,-24 +/* f14a1f0: afbf0014 */ sw $ra,0x14($sp) +/* f14a1f4: 0fc5b9f1 */ jal langGet +/* f14a1f8: 248459b1 */ addiu $a0,$a0,0x58ae +/* f14a1fc: 8fbf0014 */ lw $ra,0x14($sp) +/* f14a200: 27bd0018 */ addiu $sp,$sp,0x18 +/* f14a204: 03e00008 */ jr $ra +/* f14a208: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f14a1ec /* f14a1ec: 27bdffe8 */ addiu $sp,$sp,-24 @@ -885,6 +912,7 @@ glabel func0f14a1ec /* f14a204: 03e00008 */ jr $ra /* f14a208: 00000000 */ nop ); +#endif GLOBAL_ASM( glabel func0f14a20c diff --git a/src/game/casing/reset.c b/src/game/casing/reset.c index 83e26ae2c..9d165ab5c 100644 --- a/src/game/casing/reset.c +++ b/src/game/casing/reset.c @@ -11,10 +11,10 @@ glabel casingsReset /* f010b28: ac800000 */ sw $zero,0x0($a0) /* f010b2c: ac800004 */ sw $zero,0x4($a0) /* f010b30: 3c01800a */ lui $at,%hi(var8009d0d8) -/* f010b34: 3c03800a */ lui $v1,%hi(var8009d0e0) -/* f010b38: 3c02800a */ lui $v0,%hi(var8009d0f0) +/* f010b34: 3c03800a */ lui $v1,%hi(var8009d0e0+0x10) +/* f010b38: 3c02800a */ lui $v0,%hi(var8009d0e0) /* f010b3c: ac20d0d8 */ sw $zero,%lo(var8009d0d8)($at) -/* f010b40: 2442d0f0 */ addiu $v0,$v0,%lo(var8009d0f0) +/* f010b40: 2442d0f0 */ addiu $v0,$v0,%lo(var8009d0e0+0x10) /* f010b44: 2463d0e0 */ addiu $v1,$v1,%lo(var8009d0e0) .L0f010b48: /* f010b48: 24630004 */ addiu $v1,$v1,0x4 @@ -31,9 +31,9 @@ glabel casingsReset /* f010b70: ac60fffc */ sw $zero,-0x4($v1) /* f010b74: 3c018007 */ lui $at,%hi(g_CasingsActive) /* f010b78: 3c03800a */ lui $v1,%hi(g_Fireslots) -/* f010b7c: 3c04800a */ lui $a0,%hi(g_Casings) +/* f010b7c: 3c04800a */ lui $a0,%hi(g_Fireslots+0x3c0) /* f010b80: ac200524 */ sw $zero,%lo(g_CasingsActive)($at) -/* f010b84: 2484d510 */ addiu $a0,$a0,%lo(g_Casings) +/* f010b84: 2484d510 */ addiu $a0,$a0,%lo(g_Fireslots+0x3c0) /* f010b88: 2463d150 */ addiu $v1,$v1,%lo(g_Fireslots) /* f010b8c: 2402ffff */ addiu $v0,$zero,-1 .L0f010b90: diff --git a/src/game/casing/tick.c b/src/game/casing/tick.c index 5ca827495..bbab7a971 100644 --- a/src/game/casing/tick.c +++ b/src/game/casing/tick.c @@ -11,9 +11,250 @@ const u32 var7f1a8660[] = {0x3e8e38e4}; const u32 var7f1a8664[] = {0x3f7ae148}; -const u32 var7f1a8668[] = {0x00000000}; -const u32 var7f1a866c[] = {0x00000000}; +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel casingTick +/* f01d9f0: 27bdff48 */ addiu $sp,$sp,-184 +/* f01d9f4: afb40034 */ sw $s4,0x34($sp) +/* f01d9f8: 3c14800a */ lui $s4,%hi(g_Vars) +/* f01d9fc: 26949fc0 */ addiu $s4,$s4,%lo(g_Vars) +/* f01da00: 3c017f1b */ lui $at,%hi(var7f1a8660) +/* f01da04: c682004c */ lwc1 $f2,0x4c($s4) +/* f01da08: c4248660 */ lwc1 $f4,%lo(var7f1a8660)($at) +/* f01da0c: afbf003c */ sw $ra,0x3c($sp) +/* f01da10: afb50038 */ sw $s5,0x38($sp) +/* f01da14: 46041182 */ mul.s $f6,$f2,$f4 +/* f01da18: afb30030 */ sw $s3,0x30($sp) +/* f01da1c: afb2002c */ sw $s2,0x2c($sp) +/* f01da20: afb10028 */ sw $s1,0x28($sp) +/* f01da24: afb00024 */ sw $s0,0x24($sp) +/* f01da28: c4800014 */ lwc1 $f0,0x14($a0) +/* f01da2c: 3c013f00 */ lui $at,0x3f00 +/* f01da30: 44814000 */ mtc1 $at,$f8 +/* f01da34: 46060301 */ sub.s $f12,$f0,$f6 +/* f01da38: c4840008 */ lwc1 $f4,0x8($a0) +/* f01da3c: 46081282 */ mul.s $f10,$f2,$f8 +/* f01da40: 3c12800a */ lui $s2,%hi(var8009d0d8) +/* f01da44: 460c0400 */ add.s $f16,$f0,$f12 +/* f01da48: 0080a825 */ or $s5,$a0,$zero +/* f01da4c: 2652d0d8 */ addiu $s2,$s2,%lo(var8009d0d8) +/* f01da50: 46105482 */ mul.s $f18,$f10,$f16 +/* f01da54: c48a0000 */ lwc1 $f10,0x0($a0) +/* f01da58: 46122180 */ add.s $f6,$f4,$f18 +/* f01da5c: e4860008 */ swc1 $f6,0x8($a0) +/* f01da60: c4880008 */ lwc1 $f8,0x8($a0) +/* f01da64: 460a403c */ c.lt.s $f8,$f10 +/* f01da68: 00000000 */ nop +/* f01da6c: 4502004c */ bc1fl .L0f01dba0 +/* f01da70: c6aa0010 */ lwc1 $f10,0x10($s5) +/* f01da74: 8e4e0000 */ lw $t6,0x0($s2) +/* f01da78: 3c13800a */ lui $s3,%hi(var8009d0d0) +/* f01da7c: 2411ffff */ addiu $s1,$zero,-1 +/* f01da80: 15c00009 */ bnez $t6,.L0f01daa8 +/* f01da84: 2673d0d0 */ addiu $s3,$s3,%lo(var8009d0d0) +/* f01da88: 8e6f0000 */ lw $t7,0x0($s3) +/* f01da8c: 55e00003 */ bnezl $t7,.L0f01da9c +/* f01da90: 8e780004 */ lw $t8,0x4($s3) +/* f01da94: 00008825 */ or $s1,$zero,$zero +/* f01da98: 8e780004 */ lw $t8,0x4($s3) +.L0f01da9c: +/* f01da9c: 57000003 */ bnezl $t8,.L0f01daac +/* f01daa0: 8e990034 */ lw $t9,0x34($s4) +/* f01daa4: 24110001 */ addiu $s1,$zero,0x1 +.L0f01daa8: +/* f01daa8: 8e990034 */ lw $t9,0x34($s4) +.L0f01daac: +/* f01daac: 3c13800a */ lui $s3,%hi(var8009d0d0) +/* f01dab0: 2673d0d0 */ addiu $s3,$s3,%lo(var8009d0d0) +/* f01dab4: 1b200037 */ blez $t9,.L0f01db94 +/* f01dab8: 00000000 */ nop +/* f01dabc: 06200035 */ bltz $s1,.L0f01db94 +/* f01dac0: 00000000 */ nop +/* f01dac4: 8e820284 */ lw $v0,0x284($s4) +/* f01dac8: 24030002 */ addiu $v1,$zero,0x2 +/* f01dacc: 8c4a0658 */ lw $t2,0x658($v0) +/* f01dad0: 106a0030 */ beq $v1,$t2,.L0f01db94 +/* f01dad4: 00000000 */ nop +/* f01dad8: 8c4b0dfc */ lw $t3,0xdfc($v0) +/* f01dadc: 106b002d */ beq $v1,$t3,.L0f01db94 +/* f01dae0: 00000000 */ nop +/* f01dae4: 0c004b70 */ jal random +/* f01dae8: 00000000 */ nop +/* f01daec: 44828000 */ mtc1 $v0,$f16 +/* f01daf0: 240c0014 */ addiu $t4,$zero,0x10 +/* f01daf4: 04410005 */ bgez $v0,.L0f01db0c +/* f01daf8: 46808120 */ cvt.s.w $f4,$f16 +/* f01dafc: 3c014f80 */ lui $at,0x4f80 +/* f01db00: 44819000 */ mtc1 $at,$f18 +/* f01db04: 00000000 */ nop +/* f01db08: 46122100 */ add.s $f4,$f4,$f18 +.L0f01db0c: +/* f01db0c: 3c012f80 */ lui $at,0x2f80 +/* f01db10: 44813000 */ mtc1 $at,$f6 +/* f01db14: 3c013e80 */ lui $at,0x3e80 +/* f01db18: 44815000 */ mtc1 $at,$f10 +/* f01db1c: 46062202 */ mul.s $f8,$f4,$f6 +/* f01db20: 3c017f1b */ lui $at,%hi(var7f1a8664) +/* f01db24: c4328664 */ lwc1 $f18,%lo(var7f1a8664)($at) +/* f01db28: 3c01bf80 */ lui $at,0xbf80 +/* f01db2c: 44813000 */ mtc1 $at,$f6 +/* f01db30: 00116880 */ sll $t5,$s1,0x2 +/* f01db34: ae4c0000 */ sw $t4,0x0($s2) +/* f01db38: 460a4402 */ mul.s $f16,$f8,$f10 +/* f01db3c: 026d8021 */ addu $s0,$s3,$t5 +/* f01db40: 3c048009 */ lui $a0,%hi(var80095200) +/* f01db44: 240effff */ addiu $t6,$zero,-1 +/* f01db48: 240fffff */ addiu $t7,$zero,-1 +/* f01db4c: 2418ffff */ addiu $t8,$zero,-1 +/* f01db50: afb8001c */ sw $t8,0x1c($sp) +/* f01db54: 46128100 */ add.s $f4,$f16,$f18 +/* f01db58: afaf0018 */ sw $t7,0x18($sp) +/* f01db5c: afae0010 */ sw $t6,0x10($sp) +/* f01db60: 8c845200 */ lw $a0,%lo(var80095200)($a0) +/* f01db64: e7a40058 */ swc1 $f4,0x58($sp) +/* f01db68: 02003025 */ or $a2,$s0,$zero +/* f01db6c: 24058051 */ addiu $a1,$zero,-32687 +/* f01db70: 2407ffff */ addiu $a3,$zero,-1 +/* f01db74: 0c004241 */ jal audioStart +/* f01db78: e7a60014 */ swc1 $f6,0x14($sp) +/* f01db7c: 8e040000 */ lw $a0,0x0($s0) +/* f01db80: 24050010 */ addiu $a1,$zero,0x10 +/* f01db84: 10800003 */ beqz $a0,.L0f01db94 +/* f01db88: 00000000 */ nop +/* f01db8c: 0c00cf94 */ jal func00033e50 +/* f01db90: 8fa60058 */ lw $a2,0x58($sp) +.L0f01db94: +/* f01db94: 1000006c */ b .L0f01dd48 +/* f01db98: aea00040 */ sw $zero,0x40($s5) +/* f01db9c: c6aa0010 */ lwc1 $f10,0x10($s5) +.L0f01dba0: +/* f01dba0: c6a60018 */ lwc1 $f6,0x18($s5) +/* f01dba4: c6a80004 */ lwc1 $f8,0x4($s5) +/* f01dba8: 460a1402 */ mul.s $f16,$f2,$f10 +/* f01dbac: c6a4000c */ lwc1 $f4,0xc($s5) +/* f01dbb0: 3c013980 */ lui $at,0x3980 +/* f01dbb4: 46061282 */ mul.s $f10,$f2,$f6 +/* f01dbb8: 44810000 */ mtc1 $at,$f0 +/* f01dbbc: e6ac0014 */ swc1 $f12,0x14($s5) +/* f01dbc0: 27a7008c */ addiu $a3,$sp,0x8c +/* f01dbc4: 02a04025 */ or $t0,$s5,$zero +/* f01dbc8: 46104480 */ add.s $f18,$f8,$f16 +/* f01dbcc: 27a60068 */ addiu $a2,$sp,0x68 +/* f01dbd0: 24100003 */ addiu $s0,$zero,0x3 +/* f01dbd4: 460a2200 */ add.s $f8,$f4,$f10 +/* f01dbd8: e6b20004 */ swc1 $f18,0x4($s5) +/* f01dbdc: 27a9008c */ addiu $t1,$sp,0x8c +/* f01dbe0: e6a8000c */ swc1 $f8,0xc($s5) +.L0f01dbe4: +/* f01dbe4: 00001825 */ or $v1,$zero,$zero +/* f01dbe8: 00e02825 */ or $a1,$a3,$zero +/* f01dbec: 01001025 */ or $v0,$t0,$zero +/* f01dbf0: 00c02025 */ or $a0,$a2,$zero +/* f01dbf4: 8459002e */ lh $t9,0x2e($v0) +/* f01dbf8: 24630001 */ addiu $v1,$v1,0x1 +/* f01dbfc: 44998000 */ mtc1 $t9,$f16 +/* f01dc00: 00000000 */ nop +/* f01dc04: 46808420 */ cvt.s.w $f16,$f16 +/* f01dc08: 46008482 */ mul.s $f18,$f16,$f0 +/* f01dc0c: 50700013 */ beql $v1,$s0,.L0f01dc5c +/* f01dc10: e4b20000 */ swc1 $f18,0x0($a1) +/* f01dc14: e4b20000 */ swc1 $f18,0x0($a1) +.L0f01dc18: +/* f01dc18: 844a001c */ lh $t2,0x1c($v0) +/* f01dc1c: 24630001 */ addiu $v1,$v1,0x1 +/* f01dc20: 24a50004 */ addiu $a1,$a1,0x4 +/* f01dc24: 448a8000 */ mtc1 $t2,$f16 +/* f01dc28: 24420002 */ addiu $v0,$v0,0x2 +/* f01dc2c: 24840004 */ addiu $a0,$a0,4 +/* f01dc30: 46808420 */ cvt.s.w $f16,$f16 +/* f01dc34: 46008402 */ mul.s $f16,$f16,$f0 +/* f01dc38: e490fffc */ swc1 $f16,-0x4($a0) +/* f01dc3c: 8459002e */ lh $t9,0x2e($v0) +/* f01dc40: 44998000 */ mtc1 $t9,$f16 +/* f01dc44: 00000000 */ nop +/* f01dc48: 46808420 */ cvt.s.w $f16,$f16 +/* f01dc4c: 46008482 */ mul.s $f18,$f16,$f0 +/* f01dc50: 5470fff1 */ bnel $v1,$s0,.L0f01dc18 +/* f01dc54: e4b20000 */ swc1 $f18,0x0($a1) +/* f01dc58: e4b20000 */ swc1 $f18,0x0($a1) +.L0f01dc5c: +/* f01dc5c: 844a001c */ lh $t2,0x1c($v0) +/* f01dc60: 24a50004 */ addiu $a1,$a1,0x4 +/* f01dc64: 24420002 */ addiu $v0,$v0,0x2 +/* f01dc68: 448a8000 */ mtc1 $t2,$f16 +/* f01dc6c: 24840004 */ addiu $a0,$a0,0x4 +/* f01dc70: 46808420 */ cvt.s.w $f16,$f16 +/* f01dc74: 46008402 */ mul.s $f16,$f16,$f0 +/* f01dc78: e490fffc */ swc1 $f16,-0x4($a0) +/* f01dc7c: 24c6000c */ addiu $a2,$a2,0xc +/* f01dc80: 00c9082b */ sltu $at,$a2,$t1 +/* f01dc84: 24e7000c */ addiu $a3,$a3,0xc +/* f01dc88: 1420ffd6 */ bnez $at,.L0f01dbe4 +/* f01dc8c: 25080006 */ addiu $t0,$t0,0x6 +/* f01dc90: 8e8b0034 */ lw $t3,0x34($s4) +/* f01dc94: 00008825 */ or $s1,$zero,$zero +/* f01dc98: 27b30068 */ addiu $s3,$sp,0x68 +/* f01dc9c: 19600009 */ blez $t3,.L0f01dcc4 +/* f01dca0: 27b2008c */ addiu $s2,$sp,0x8c +/* f01dca4: 02402025 */ or $a0,$s2,$zero +.L0f01dca8: +/* f01dca8: 0c005844 */ jal func00016110 +/* f01dcac: 02602825 */ or $a1,$s3,$zero +/* f01dcb0: 8e8c0034 */ lw $t4,0x34($s4) +/* f01dcb4: 26310001 */ addiu $s1,$s1,0x1 +/* f01dcb8: 022c082a */ slt $at,$s1,$t4 +/* f01dcbc: 5420fffa */ bnezl $at,.L0f01dca8 +/* f01dcc0: 02402025 */ or $a0,$s2,$zero +.L0f01dcc4: +/* f01dcc4: 3c014580 */ lui $at,0x4580 +/* f01dcc8: 44810000 */ mtc1 $at,$f0 +/* f01dccc: 02a04025 */ or $t0,$s5,$zero +/* f01dcd0: 27a60068 */ addiu $a2,$sp,0x68 +/* f01dcd4: 27a5008c */ addiu $a1,$sp,0x8c +.L0f01dcd8: +/* f01dcd8: 00001825 */ or $v1,$zero,$zero +/* f01dcdc: 01001025 */ or $v0,$t0,$zero +/* f01dce0: 00c02025 */ or $a0,$a2,$zero +/* f01dce4: c4900000 */ lwc1 $f16,0x0($a0) +/* f01dce8: 24630001 */ addiu $v1,$v1,0x1 +/* f01dcec: 46008482 */ mul.s $f18,$f16,$f0 +/* f01dcf0: 5070000d */ beql $v1,$s0,.L0f01dd28 +/* f01dcf4: 4600940d */ trunc.w.s $f16,$f18 +/* f01dcf8: 4600940d */ trunc.w.s $f16,$f18 +.L0f01dcfc: +/* f01dcfc: 24630001 */ addiu $v1,$v1,0x1 +/* f01dd00: 24420002 */ addiu $v0,$v0,0x2 +/* f01dd04: 24840004 */ addiu $a0,$a0,0x4 +/* f01dd08: 440e8000 */ mfc1 $t6,$f16 +/* f01dd0c: 00000000 */ nop +/* f01dd10: a44e001a */ sh $t6,0x1a($v0) +/* f01dd14: c4900000 */ lwc1 $f16,0x0($a0) +/* f01dd18: 46008482 */ mul.s $f18,$f16,$f0 +/* f01dd1c: 5470fff7 */ bnel $v1,$s0,.L0f01dcfc +/* f01dd20: 4600940d */ trunc.w.s $f16,$f18 +/* f01dd24: 4600940d */ trunc.w.s $f16,$f18 +.L0f01dd28: +/* f01dd28: 24420002 */ addiu $v0,$v0,0x2 +/* f01dd2c: 24840004 */ addiu $a0,$a0,0x4 +/* f01dd30: 440e8000 */ mfc1 $t6,$f16 +/* f01dd34: 00000000 */ nop +/* f01dd38: a44e001a */ sh $t6,0x1a($v0) +/* f01dd3c: 24c6000c */ addiu $a2,$a2,0xc +/* f01dd40: 14c5ffe5 */ bne $a2,$a1,.L0f01dcd8 +/* f01dd44: 25080006 */ addiu $t0,$t0,0x6 +.L0f01dd48: +/* f01dd48: 8fbf003c */ lw $ra,0x3c($sp) +/* f01dd4c: 8fb00024 */ lw $s0,0x24($sp) +/* f01dd50: 8fb10028 */ lw $s1,0x28($sp) +/* f01dd54: 8fb2002c */ lw $s2,0x2c($sp) +/* f01dd58: 8fb30030 */ lw $s3,0x30($sp) +/* f01dd5c: 8fb40034 */ lw $s4,0x34($sp) +/* f01dd60: 8fb50038 */ lw $s5,0x38($sp) +/* f01dd64: 03e00008 */ jr $ra +/* f01dd68: 27bd00b8 */ addiu $sp,$sp,0xb8 +); +#else GLOBAL_ASM( glabel casingTick /* f01d9f0: 27bdff48 */ addiu $sp,$sp,-184 @@ -255,6 +496,7 @@ glabel casingTick /* f01dd64: 03e00008 */ jr $ra /* f01dd68: 27bd00b8 */ addiu $sp,$sp,0xb8 ); +#endif GLOBAL_ASM( glabel casingsTick diff --git a/src/game/chr/chr.c b/src/game/chr/chr.c index 7acf4272e..594ad0c2b 100644 --- a/src/game/chr/chr.c +++ b/src/game/chr/chr.c @@ -3750,7 +3750,7 @@ void chrInit(struct prop *prop, u8 *ailist) chr->bdstart = 0; chr->oldframe = 0; chr->magicframe = 0; - chr->magicspeed = 0.25; + chr->magicspeed = PAL ? 1 : 0.25; i = 0; @@ -3758,7 +3758,7 @@ void chrInit(struct prop *prop, u8 *ailist) chr->bdlist[i++] = 0; } - chr->talktimer = 3600; + chr->talktimer = PALDOWN(3600); chr->cloakfadefrac = 0; chr->cloakfadefinished = false; chr->inlift = false; @@ -3810,7 +3810,7 @@ void chrInit(struct prop *prop, u8 *ailist) chr->p1p2 = g_Vars.bondplayernum; chr->unk350 = 0; chr->race = RACE_HUMAN; - chr->aimtesttimer60 = random() % 30; + chr->aimtesttimer60 = random() % PALDOWN(30); chr->lastfootsample = 0; chr->poisoncounter = 0; chr->poisonprop = NULL; @@ -3844,7 +3844,7 @@ struct prop *func0f020b14(struct prop *prop, struct model *model, model->unk01 = 1; chr->model = model; chrSetLookAngle(chr, arg4); - modelSetAnimPlaySpeed(model, FRAMESTOTIME60(var80062968), 0); + modelSetAnimPlaySpeed(model, PALUPF(var80062968), 0); testpos.x = pos->x; testpos.y = pos->y + 100; @@ -4008,7 +4008,7 @@ void func0f0211a8(f32 arg0) for (i = 0; i < g_NumChrSlots; i++) { if (g_ChrSlots[i].model) { - modelSetAnimPlaySpeed(g_ChrSlots[i].model, FRAMESTOTIME60(var80062968), 600); + modelSetAnimPlaySpeed(g_ChrSlots[i].model, PALUPF(var80062968), 600); } } } @@ -4075,84 +4075,6 @@ void chrDoFlinchcntThing(struct chrdata *chr, f32 arg1) chr->hidden2 |= value << 13; } -//GLOBAL_ASM( -//glabel func0f02143c -//.late_rodata -//glabel var7f1a8730 -//.word 0x3fc907a9 -//glabel var7f1a8734 -//.word 0x3d776be4 -//glabel var7f1a8738 -//.word 0x3fc907a9 -//glabel var7f1a873c -//.word 0x3da0d2ee -//.text -///* f02143c: 27bdffe0 */ addiu $sp,$sp,-32 -///* f021440: afbf001c */ sw $ra,0x1c($sp) -///* f021444: f7b40010 */ sdc1 $f20,0x10($sp) -///* f021448: 808e0012 */ lb $t6,0x12($a0) -///* f02144c: 948f0192 */ lhu $t7,0x192($a0) -///* f021450: 3c014120 */ lui $at,0x4120 -///* f021454: 448e2000 */ mtc1 $t6,$f4 -///* f021458: 31f81000 */ andi $t8,$t7,0x1000 -///* f02145c: 13000018 */ beqz $t8,.L0f0214c0 -///* f021460: 46802520 */ cvt.s.w $f20,$f4 -///* f021464: 3c014080 */ lui $at,0x4080 -///* f021468: 44810000 */ mtc1 $at,$f0 -///* f02146c: 3c017f1b */ lui $at,%hi(var7f1a8730) -///* f021470: 4600a03c */ c.lt.s $f20,$f0 -///* f021474: 00000000 */ nop -///* f021478: 45020009 */ bc1fl .L0f0214a0 -///* f02147c: 4600a281 */ sub.s $f10,$f20,$f0 -///* f021480: 3c017f1b */ lui $at,%hi(var7f1a8734) -///* f021484: c4268730 */ lwc1 $f6,%lo(var7f1a8730)($at) -///* f021488: 4606a202 */ mul.s $f8,$f20,$f6 -///* f02148c: 0c0068f7 */ jal sinf -///* f021490: 46004303 */ div.s $f12,$f8,$f0 -///* f021494: 10000020 */ b .L0f021518 -///* f021498: 46000506 */ mov.s $f20,$f0 -///* f02149c: 4600a281 */ sub.s $f10,$f20,$f0 -//.L0f0214a0: -///* f0214a0: c4308734 */ lwc1 $f16,%lo(var7f1a8734)($at) -///* f0214a4: 46105302 */ mul.s $f12,$f10,$f16 -///* f0214a8: 0c0068f7 */ jal sinf -///* f0214ac: 00000000 */ nop -///* f0214b0: 3c013f80 */ lui $at,0x3f80 -///* f0214b4: 44819000 */ mtc1 $at,$f18 -///* f0214b8: 10000017 */ b .L0f021518 -///* f0214bc: 46009501 */ sub.s $f20,$f18,$f0 -//.L0f0214c0: -///* f0214c0: 44810000 */ mtc1 $at,$f0 -///* f0214c4: 3c017f1b */ lui $at,%hi(var7f1a8738) -///* f0214c8: 4600a03c */ c.lt.s $f20,$f0 -///* f0214cc: 00000000 */ nop -///* f0214d0: 45020009 */ bc1fl .L0f0214f8 -///* f0214d4: 4600a201 */ sub.s $f8,$f20,$f0 -///* f0214d8: 3c017f1b */ lui $at,%hi(var7f1a873c) -///* f0214dc: c4248738 */ lwc1 $f4,%lo(var7f1a8738)($at) -///* f0214e0: 4604a182 */ mul.s $f6,$f20,$f4 -///* f0214e4: 0c0068f7 */ jal sinf -///* f0214e8: 46003303 */ div.s $f12,$f6,$f0 -///* f0214ec: 1000000a */ b .L0f021518 -///* f0214f0: 46000506 */ mov.s $f20,$f0 -///* f0214f4: 4600a201 */ sub.s $f8,$f20,$f0 -//.L0f0214f8: -///* f0214f8: c42a873c */ lwc1 $f10,%lo(var7f1a873c)($at) -///* f0214fc: 460a4302 */ mul.s $f12,$f8,$f10 -///* f021500: 0c0068f7 */ jal sinf -///* f021504: 00000000 */ nop -///* f021508: 3c013f80 */ lui $at,0x3f80 -///* f02150c: 44818000 */ mtc1 $at,$f16 -///* f021510: 00000000 */ nop -///* f021514: 46008501 */ sub.s $f20,$f16,$f0 -//.L0f021518: -///* f021518: 8fbf001c */ lw $ra,0x1c($sp) -///* f02151c: 4600a006 */ mov.s $f0,$f20 -///* f021520: d7b40010 */ ldc1 $f20,0x10($sp) -///* f021524: 03e00008 */ jr $ra -///* f021528: 27bd0020 */ addiu $sp,$sp,0x20 -//); - f32 func0f02143c(struct chrdata *chr) { f32 value = chr->flinchcnt; @@ -4164,16 +4086,811 @@ f32 func0f02143c(struct chrdata *chr) value = 1 - sinf((value - 4) * (PAL ? 0.07478791475296f : 0.060405626893044f)); } } else { - if (value < 10) { - value = sinf(value * 1.5705462694168f / 10); + if (value < PALDOWN(10)) { + value = sinf(value * 1.5705462694168f / PALDOWN(10)); } else { - value = 1 - sinf((value - 10) * (PAL ? 0.098159141838551f : 0.078527316451073f)); + value = 1 - sinf((value - PALDOWN(10)) * (PAL ? 0.098159141838551f : 0.078527316451073f)); } } return value; } +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f02152c +.late_rodata +glabel var7f1a8740 +.word 0x40c907a9 +glabel var7f1a8744 +.word 0x40c907a9 +glabel var7f1a8748 +.word 0x3fc90fdb +glabel var7f1a874c +.word 0x40c907a9 +glabel var7f1a8750 +.word 0x40c907a9 +glabel var7f1a8754 +.word 0x40c907a9 +glabel var7f1a8758 +.word 0x40c907a9 +glabel var7f1a875c +.word 0x3f86051b +glabel var7f1a8760 +.word 0xbf5f5dd8 +glabel var7f1a8764 +.word 0x3f5f5dd8 +glabel var7f1a8768 +.word 0x3f86051b +glabel var7f1a876c +.word 0xbf5f5dd8 +glabel var7f1a8770 +.word 0x40c907a9 +glabel var7f1a8774 +.word 0x40c907a9 +glabel var7f1a8778 +.word 0x40c907a9 +glabel var7f1a877c +.word 0x40c907a9 +glabel var7f1a8780 +.word 0x3e86051b +glabel var7f1a8784 +.word 0x40c907a9 +glabel var7f1a8788 +.word 0x3e86051b +glabel var7f1a878c +.word 0x3e32b17a +glabel var7f1a8790 +.word 0x3e32b17a +glabel var7f1a8794 +.word 0x40c907a9 +glabel var7f1a8798 +.word 0x40c907a9 +glabel var7f1a879c +.word 0x40c907a9 +.text +/* f02152c: 3c013f80 */ lui $at,0x3f80 +/* f021530: 44812000 */ mtc1 $at,$f4 +/* f021534: 27bdfea8 */ addiu $sp,$sp,-344 +/* f021538: 3c06800a */ lui $a2,%hi(var8009cd1c) +/* f02153c: 8cc6cd1c */ lw $a2,%lo(var8009cd1c)($a2) +/* f021540: afbf0014 */ sw $ra,0x14($sp) +/* f021544: afa5015c */ sw $a1,0x15c($sp) +/* f021548: e7a40154 */ swc1 $f4,0x154($sp) +/* f02154c: 8cce0020 */ lw $t6,0x20($a2) +/* f021550: 3c188008 */ lui $t8,%hi(g_ModelTypeRobot) +/* f021554: 00803825 */ or $a3,$a0,$zero +/* f021558: 8dcf0008 */ lw $t7,0x8($t6) +/* f02155c: 2718cefc */ addiu $t8,$t8,%lo(g_ModelTypeRobot) +/* f021560: 3c198008 */ lui $t9,%hi(g_ModelTypeChr) +/* f021564: 8de20004 */ lw $v0,0x4($t7) +/* f021568: 2739ce40 */ addiu $t9,$t9,%lo(g_ModelTypeChr) +/* f02156c: 24040007 */ addiu $a0,$zero,0x7 +/* f021570: 1702006d */ bne $t8,$v0,.L0f021728 +/* f021574: 00000000 */ nop +/* f021578: 00c02025 */ or $a0,$a2,$zero +/* f02157c: 0fc0f917 */ jal chrGetInverseTheta +/* f021580: afa70158 */ sw $a3,0x158($sp) +/* f021584: 8fa70158 */ lw $a3,0x158($sp) +/* f021588: 24010001 */ addiu $at,$zero,0x1 +/* f02158c: e7a000ac */ swc1 $f0,0xac($sp) +/* f021590: 14e10006 */ bne $a3,$at,.L0f0215ac +/* f021594: 3c06800a */ lui $a2,%hi(var8009cd1c) +/* f021598: 8cc6cd1c */ lw $a2,%lo(var8009cd1c)($a2) +/* f02159c: c4c6030c */ lwc1 $f6,0x30c($a2) +/* f0215a0: c4ce0314 */ lwc1 $f14,0x314($a2) +/* f0215a4: 10000008 */ b .L0f0215c8 +/* f0215a8: e7a600b4 */ swc1 $f6,0xb4($sp) +.L0f0215ac: +/* f0215ac: 24010002 */ addiu $at,$zero,0x2 +/* f0215b0: 14e10279 */ bne $a3,$at,.L0f021f98 +/* f0215b4: 3c06800a */ lui $a2,%hi(var8009cd1c) +/* f0215b8: 8cc6cd1c */ lw $a2,%lo(var8009cd1c)($a2) +/* f0215bc: c4c80310 */ lwc1 $f8,0x310($a2) +/* f0215c0: c4ce0318 */ lwc1 $f14,0x318($a2) +/* f0215c4: e7a800b4 */ swc1 $f8,0xb4($sp) +.L0f0215c8: +/* f0215c8: 0fc2d5de */ jal currentPlayerGetUnk174c +/* f0215cc: e7ae00b0 */ swc1 $f14,0xb0($sp) +/* f0215d0: 00402025 */ or $a0,$v0,$zero +/* f0215d4: 0c0056f8 */ jal func00015be0 +/* f0215d8: 8fa5015c */ lw $a1,0x15c($sp) +/* f0215dc: 8fa2015c */ lw $v0,0x15c($sp) +/* f0215e0: c7ae00b0 */ lwc1 $f14,0xb0($sp) +/* f0215e4: 44808000 */ mtc1 $zero,$f16 +/* f0215e8: c44a0030 */ lwc1 $f10,0x30($v0) +/* f0215ec: 27a500b8 */ addiu $a1,$sp,0xb8 +/* f0215f0: 4610703c */ c.lt.s $f14,$f16 +/* f0215f4: e7aa0138 */ swc1 $f10,0x138($sp) +/* f0215f8: c4440034 */ lwc1 $f4,0x34($v0) +/* f0215fc: e7a4013c */ swc1 $f4,0x13c($sp) +/* f021600: c4460038 */ lwc1 $f6,0x38($v0) +/* f021604: e7a60140 */ swc1 $f6,0x140($sp) +/* f021608: e4500030 */ swc1 $f16,0x30($v0) +/* f02160c: e4500034 */ swc1 $f16,0x34($v0) +/* f021610: e4500038 */ swc1 $f16,0x38($v0) +/* f021614: c7a200b4 */ lwc1 $f2,0xb4($sp) +/* f021618: 45000004 */ bc1f .L0f02162c +/* f02161c: c7a800ac */ lwc1 $f8,0xac($sp) +/* f021620: 3c017f1b */ lui $at,%hi(var7f1a8740) +/* f021624: c4328740 */ lwc1 $f18,%lo(var7f1a8740)($at) +/* f021628: 46127380 */ add.s $f14,$f14,$f18 +.L0f02162c: +/* f02162c: 4610103c */ c.lt.s $f2,$f16 +/* f021630: 3c017f1b */ lui $at,%hi(var7f1a8744) +/* f021634: c4328744 */ lwc1 $f18,%lo(var7f1a8744)($at) +/* f021638: 3c017f1b */ lui $at,%hi(var7f1a8748) +/* f02163c: 45000002 */ bc1f .L0f021648 +/* f021640: 46089281 */ sub.s $f10,$f18,$f8 +/* f021644: 46121080 */ add.s $f2,$f2,$f18 +.L0f021648: +/* f021648: c4248748 */ lwc1 $f4,%lo(var7f1a8748)($at) +/* f02164c: 46045000 */ add.s $f0,$f10,$f4 +/* f021650: 4600903e */ c.le.s $f18,$f0 +/* f021654: 46000306 */ mov.s $f12,$f0 +/* f021658: 45020003 */ bc1fl .L0f021668 +/* f02165c: e7a200b4 */ swc1 $f2,0xb4($sp) +/* f021660: 46120301 */ sub.s $f12,$f0,$f18 +/* f021664: e7a200b4 */ swc1 $f2,0xb4($sp) +.L0f021668: +/* f021668: 0c0058dd */ jal func00016374 +/* f02166c: e7ae00b0 */ swc1 $f14,0xb0($sp) +/* f021670: 27a400b8 */ addiu $a0,$sp,0xb8 +/* f021674: 0c0056f8 */ jal func00015be0 +/* f021678: 8fa5015c */ lw $a1,0x15c($sp) +/* f02167c: c7ac00b0 */ lwc1 $f12,0xb0($sp) +/* f021680: 0c0058ba */ jal func000162e8 +/* f021684: 27a500f8 */ addiu $a1,$sp,0xf8 +/* f021688: 27a400f8 */ addiu $a0,$sp,0xf8 +/* f02168c: 0c0056f8 */ jal func00015be0 +/* f021690: 8fa5015c */ lw $a1,0x15c($sp) +/* f021694: c7a600b4 */ lwc1 $f6,0xb4($sp) +/* f021698: c7a800ac */ lwc1 $f8,0xac($sp) +/* f02169c: 3c017f1b */ lui $at,%hi(var7f1a8758) +/* f0216a0: c4328758 */ lwc1 $f18,%lo(var7f1a8758)($at) +/* f0216a4: 46083000 */ add.s $f0,$f6,$f8 +/* f0216a8: 4600903e */ c.le.s $f18,$f0 +/* f0216ac: 46000306 */ mov.s $f12,$f0 +/* f0216b0: 45000002 */ bc1f .L0f0216bc +/* f0216b4: 00000000 */ nop +/* f0216b8: 46120301 */ sub.s $f12,$f0,$f18 +.L0f0216bc: +/* f0216bc: 0c0058dd */ jal func00016374 +/* f0216c0: 27a500b8 */ addiu $a1,$sp,0xb8 +/* f0216c4: 27a400b8 */ addiu $a0,$sp,0xb8 +/* f0216c8: 0c0056f8 */ jal func00015be0 +/* f0216cc: 8fa5015c */ lw $a1,0x15c($sp) +/* f0216d0: 3c013f80 */ lui $at,0x3f80 +/* f0216d4: 44816000 */ mtc1 $at,$f12 +/* f0216d8: 00000000 */ nop +/* f0216dc: 460c6032 */ c.eq.s $f12,$f12 +/* f0216e0: 00000000 */ nop +/* f0216e4: 45030004 */ bc1tl .L0f0216f8 +/* f0216e8: 8fa2015c */ lw $v0,0x15c($sp) +/* f0216ec: 0c0057c1 */ jal func00015f04 +/* f0216f0: 8fa5015c */ lw $a1,0x15c($sp) +/* f0216f4: 8fa2015c */ lw $v0,0x15c($sp) +.L0f0216f8: +/* f0216f8: c7aa0138 */ lwc1 $f10,0x138($sp) +/* f0216fc: e44a0030 */ swc1 $f10,0x30($v0) +/* f021700: c7a4013c */ lwc1 $f4,0x13c($sp) +/* f021704: e4440034 */ swc1 $f4,0x34($v0) +/* f021708: c7a60140 */ lwc1 $f6,0x140($sp) +/* f02170c: 0fc2d5be */ jal currentPlayerGetMatrix1740 +/* f021710: e4460038 */ swc1 $f6,0x38($v0) +/* f021714: 00402025 */ or $a0,$v0,$zero +/* f021718: 0c0056f8 */ jal func00015be0 +/* f02171c: 8fa5015c */ lw $a1,0x15c($sp) +/* f021720: 1000021e */ b .L0f021f9c +/* f021724: 8fbf0014 */ lw $ra,0x14($sp) +.L0f021728: +/* f021728: 17220006 */ bne $t9,$v0,.L0f021744 +/* f02172c: 3c0b8008 */ lui $t3,%hi(g_ModelTypeSkedar) +/* f021730: 24050002 */ addiu $a1,$zero,0x2 +/* f021734: 24080003 */ addiu $t0,$zero,0x3 +/* f021738: 240a0001 */ addiu $t2,$zero,0x1 +/* f02173c: 1000000c */ b .L0f021770 +/* f021740: 00004825 */ or $t1,$zero,$zero +.L0f021744: +/* f021744: 256bce98 */ addiu $t3,$t3,%lo(g_ModelTypeSkedar) +/* f021748: 15620006 */ bne $t3,$v0,.L0f021764 +/* f02174c: 2405ffff */ addiu $a1,$zero,-1 +/* f021750: 24050003 */ addiu $a1,$zero,0x3 +/* f021754: 24080004 */ addiu $t0,$zero,0x4 +/* f021758: 240a0002 */ addiu $t2,$zero,0x2 +/* f02175c: 10000004 */ b .L0f021770 +/* f021760: 24090001 */ addiu $t1,$zero,0x1 +.L0f021764: +/* f021764: 2408ffff */ addiu $t0,$zero,-1 +/* f021768: 240affff */ addiu $t2,$zero,-1 +/* f02176c: 2409ffff */ addiu $t1,$zero,-1 +.L0f021770: +/* f021770: afa50150 */ sw $a1,0x150($sp) +/* f021774: afa70158 */ sw $a3,0x158($sp) +/* f021778: afa8014c */ sw $t0,0x14c($sp) +/* f02177c: afa90144 */ sw $t1,0x144($sp) +/* f021780: 0fc41b99 */ jal cheatIsActive +/* f021784: afaa0148 */ sw $t2,0x148($sp) +/* f021788: 8fa50150 */ lw $a1,0x150($sp) +/* f02178c: 8fa70158 */ lw $a3,0x158($sp) +/* f021790: 8fa8014c */ lw $t0,0x14c($sp) +/* f021794: 8fa90144 */ lw $t1,0x144($sp) +/* f021798: 10400016 */ beqz $v0,.L0f0217f4 +/* f02179c: 8faa0148 */ lw $t2,0x148($sp) +/* f0217a0: 3c06800a */ lui $a2,%hi(var8009cd1c) +/* f0217a4: 8cc6cd1c */ lw $a2,%lo(var8009cd1c)($a2) +/* f0217a8: 00001025 */ or $v0,$zero,$zero +/* f0217ac: 10c00003 */ beqz $a2,.L0f0217bc +/* f0217b0: 00000000 */ nop +/* f0217b4: 10000001 */ b .L0f0217bc +/* f0217b8: 90c202fe */ lbu $v0,0x2fe($a2) +.L0f0217bc: +/* f0217bc: 1440000d */ bnez $v0,.L0f0217f4 +/* f0217c0: 00000000 */ nop +/* f0217c4: 14e90004 */ bne $a3,$t1,.L0f0217d8 +/* f0217c8: 3c014080 */ lui $at,0x4080 +/* f0217cc: 44814000 */ mtc1 $at,$f8 +/* f0217d0: 10000008 */ b .L0f0217f4 +/* f0217d4: e7a80154 */ swc1 $f8,0x154($sp) +.L0f0217d8: +/* f0217d8: 10e50003 */ beq $a3,$a1,.L0f0217e8 +/* f0217dc: 3c014020 */ lui $at,0x4020 +/* f0217e0: 14e80004 */ bne $a3,$t0,.L0f0217f4 +/* f0217e4: 00000000 */ nop +.L0f0217e8: +/* f0217e8: 44815000 */ mtc1 $at,$f10 +/* f0217ec: 00000000 */ nop +/* f0217f0: e7aa0154 */ swc1 $f10,0x154($sp) +.L0f0217f4: +/* f0217f4: 50e50008 */ beql $a3,$a1,.L0f021818 +/* f0217f8: 44808000 */ mtc1 $zero,$f16 +/* f0217fc: 50e80006 */ beql $a3,$t0,.L0f021818 +/* f021800: 44808000 */ mtc1 $zero,$f16 +/* f021804: 50ea0004 */ beql $a3,$t2,.L0f021818 +/* f021808: 44808000 */ mtc1 $zero,$f16 +/* f02180c: 54e901e3 */ bnel $a3,$t1,.L0f021f9c +/* f021810: 8fbf0014 */ lw $ra,0x14($sp) +/* f021814: 44808000 */ mtc1 $zero,$f16 +.L0f021818: +/* f021818: 3c06800a */ lui $a2,%hi(var8009cd1c) +/* f02181c: 8cc6cd1c */ lw $a2,%lo(var8009cd1c)($a2) +/* f021820: 46008386 */ mov.s $f14,$f16 +/* f021824: 46008306 */ mov.s $f12,$f16 +/* f021828: 14e80003 */ bne $a3,$t0,.L0f021838 +/* f02182c: e7b0009c */ swc1 $f16,0x9c($sp) +/* f021830: 10000088 */ b .L0f021a54 +/* f021834: c4ce0154 */ lwc1 $f14,0x154($a2) +.L0f021838: +/* f021838: 14e50003 */ bne $a3,$a1,.L0f021848 +/* f02183c: 00000000 */ nop +/* f021840: 10000084 */ b .L0f021a54 +/* f021844: c4ce0150 */ lwc1 $f14,0x150($a2) +.L0f021848: +/* f021848: 14ea003e */ bne $a3,$t2,.L0f021944 +/* f02184c: 00000000 */ nop +/* f021850: 94cc0192 */ lhu $t4,0x192($a2) +/* f021854: c4ce0158 */ lwc1 $f14,0x158($a2) +/* f021858: 3c017f1b */ lui $at,%hi(var7f1a875c) +/* f02185c: 318d0004 */ andi $t5,$t4,0x4 +/* f021860: 51a00014 */ beqzl $t5,.L0f0218b4 +/* f021864: 8cc202d4 */ lw $v0,0x2d4($a2) +/* f021868: c420875c */ lwc1 $f0,%lo(var7f1a875c)($at) +/* f02186c: 3c017f1b */ lui $at,%hi(var7f1a8760) +/* f021870: 460e003c */ c.lt.s $f0,$f14 +/* f021874: 00000000 */ nop +/* f021878: 45000003 */ bc1f .L0f021888 +/* f02187c: 00000000 */ nop +/* f021880: 1000000b */ b .L0f0218b0 +/* f021884: 46007381 */ sub.s $f14,$f14,$f0 +.L0f021888: +/* f021888: c4208760 */ lwc1 $f0,%lo(var7f1a8760)($at) +/* f02188c: 3c017f1b */ lui $at,%hi(var7f1a8764) +/* f021890: 4600703c */ c.lt.s $f14,$f0 +/* f021894: 00000000 */ nop +/* f021898: 45020005 */ bc1fl .L0f0218b0 +/* f02189c: 46008386 */ mov.s $f14,$f16 +/* f0218a0: c4248764 */ lwc1 $f4,%lo(var7f1a8764)($at) +/* f0218a4: 10000002 */ b .L0f0218b0 +/* f0218a8: 46047380 */ add.s $f14,$f14,$f4 +/* f0218ac: 46008386 */ mov.s $f14,$f16 +.L0f0218b0: +/* f0218b0: 8cc202d4 */ lw $v0,0x2d4($a2) +.L0f0218b4: +/* f0218b4: c4cc015c */ lwc1 $f12,0x15c($a2) +/* f0218b8: 50400005 */ beqzl $v0,.L0f0218d0 +/* f0218bc: 8cc4001c */ lw $a0,0x1c($a2) +/* f0218c0: c44600a8 */ lwc1 $f6,0xa8($v0) +/* f0218c4: 10000063 */ b .L0f021a54 +/* f0218c8: 46066300 */ add.s $f12,$f12,$f6 +/* f0218cc: 8cc4001c */ lw $a0,0x1c($a2) +.L0f0218d0: +/* f0218d0: 24010006 */ addiu $at,$zero,0x6 +/* f0218d4: 908e0000 */ lbu $t6,0x0($a0) +/* f0218d8: 55c1005f */ bnel $t6,$at,.L0f021a58 +/* f0218dc: 80d90012 */ lb $t9,0x12($a2) +/* f0218e0: afa50150 */ sw $a1,0x150($sp) +/* f0218e4: afa70158 */ sw $a3,0x158($sp) +/* f0218e8: afa8014c */ sw $t0,0x14c($sp) +/* f0218ec: afa90144 */ sw $t1,0x144($sp) +/* f0218f0: afaa0148 */ sw $t2,0x148($sp) +/* f0218f4: e7ac00a0 */ swc1 $f12,0xa0($sp) +/* f0218f8: 0fc4a25f */ jal propGetPlayerNum +/* f0218fc: e7ae00a4 */ swc1 $f14,0xa4($sp) +/* f021900: 00027880 */ sll $t7,$v0,0x2 +/* f021904: 3c18800a */ lui $t8,%hi(g_Vars+0x64) +/* f021908: 030fc021 */ addu $t8,$t8,$t7 +/* f02190c: 8f18a024 */ lw $t8,%lo(g_Vars+0x64)($t8) +/* f021910: c7ac00a0 */ lwc1 $f12,0xa0($sp) +/* f021914: 44808000 */ mtc1 $zero,$f16 +/* f021918: c70818f4 */ lwc1 $f8,0x18f4($t8) +/* f02191c: 3c06800a */ lui $a2,%hi(var8009cd1c) +/* f021920: 8cc6cd1c */ lw $a2,%lo(var8009cd1c)($a2) +/* f021924: 8fa50150 */ lw $a1,0x150($sp) +/* f021928: 8fa70158 */ lw $a3,0x158($sp) +/* f02192c: 8fa8014c */ lw $t0,0x14c($sp) +/* f021930: 8fa90144 */ lw $t1,0x144($sp) +/* f021934: 8faa0148 */ lw $t2,0x148($sp) +/* f021938: c7ae00a4 */ lwc1 $f14,0xa4($sp) +/* f02193c: 10000045 */ b .L0f021a54 +/* f021940: 46086300 */ add.s $f12,$f12,$f8 +.L0f021944: +/* f021944: 54e90044 */ bnel $a3,$t1,.L0f021a58 +/* f021948: 80d90012 */ lb $t9,0x12($a2) +/* f02194c: 94d90192 */ lhu $t9,0x192($a2) +/* f021950: 3c017f1b */ lui $at,%hi(var7f1a8768) +/* f021954: 3c18800a */ lui $t8,%hi(g_Vars+0x2ac) +/* f021958: 332b0004 */ andi $t3,$t9,0x4 +/* f02195c: 51600012 */ beqzl $t3,.L0f0219a8 +/* f021960: 8ccc0020 */ lw $t4,0x20($a2) +/* f021964: c4208768 */ lwc1 $f0,%lo(var7f1a8768)($at) +/* f021968: c4ce0158 */ lwc1 $f14,0x158($a2) +/* f02196c: 3c017f1b */ lui $at,%hi(var7f1a876c) +/* f021970: 460e003c */ c.lt.s $f0,$f14 +/* f021974: 00000000 */ nop +/* f021978: 45000003 */ bc1f .L0f021988 +/* f02197c: 00000000 */ nop +/* f021980: 10000010 */ b .L0f0219c4 +/* f021984: 46000386 */ mov.s $f14,$f0 +.L0f021988: +/* f021988: c420876c */ lwc1 $f0,%lo(var7f1a876c)($at) +/* f02198c: 4600703c */ c.lt.s $f14,$f0 +/* f021990: 00000000 */ nop +/* f021994: 4502000c */ bc1fl .L0f0219c8 +/* f021998: 84cf02d8 */ lh $t7,0x2d8($a2) +/* f02199c: 10000009 */ b .L0f0219c4 +/* f0219a0: 46000386 */ mov.s $f14,$f0 +/* f0219a4: 8ccc0020 */ lw $t4,0x20($a2) +.L0f0219a8: +/* f0219a8: 8d8d0020 */ lw $t5,0x20($t4) +/* f0219ac: 81ae0008 */ lb $t6,0x8($t5) +/* f0219b0: 51c00004 */ beqzl $t6,.L0f0219c4 +/* f0219b4: c4ce0154 */ lwc1 $f14,0x154($a2) +/* f0219b8: 10000002 */ b .L0f0219c4 +/* f0219bc: c4ce0150 */ lwc1 $f14,0x150($a2) +/* f0219c0: c4ce0154 */ lwc1 $f14,0x154($a2) +.L0f0219c4: +/* f0219c4: 84cf02d8 */ lh $t7,0x2d8($a2) +.L0f0219c8: +/* f0219c8: 29e103e9 */ slti $at,$t7,0x342 +/* f0219cc: 54200022 */ bnezl $at,.L0f021a58 +/* f0219d0: 80d90012 */ lb $t9,0x12($a2) +/* f0219d4: 8f18a26c */ lw $t8,%lo(g_Vars+0x2ac)($t8) +/* f0219d8: 24010006 */ addiu $at,$zero,0x6 +/* f0219dc: 5301001e */ beql $t8,$at,.L0f021a58 +/* f0219e0: 80d90012 */ lb $t9,0x12($a2) +/* f0219e4: 80c20007 */ lb $v0,0x7($a2) +/* f0219e8: 24010005 */ addiu $at,$zero,0x5 +/* f0219ec: 10410019 */ beq $v0,$at,.L0f021a54 +/* f0219f0: 24010004 */ addiu $at,$zero,0x4 +/* f0219f4: 10410017 */ beq $v0,$at,.L0f021a54 +/* f0219f8: 3c017f1b */ lui $at,%hi(var7f1a8770) +/* f0219fc: c4328770 */ lwc1 $f18,%lo(var7f1a8770)($at) +/* f021a00: 3c0143b4 */ lui $at,0x43b4 +/* f021a04: 44815000 */ mtc1 $at,$f10 +/* f021a08: c4c002dc */ lwc1 $f0,0x2dc($a2) +/* f021a0c: 44804000 */ mtc1 $zero,$f8 +/* f021a10: 3c0141e0 */ lui $at,0x41e0 +/* f021a14: 460a0103 */ div.s $f4,$f0,$f10 +/* f021a18: 44815000 */ mtc1 $at,$f10 +/* f021a1c: 3c01437a */ lui $at,0x437a +/* f021a20: 4600403c */ c.lt.s $f8,$f0 +/* f021a24: 46122182 */ mul.s $f6,$f4,$f18 +/* f021a28: 45000003 */ bc1f .L0f021a38 +/* f021a2c: e7a6009c */ swc1 $f6,0x9c($sp) +/* f021a30: 10000002 */ b .L0f021a3c +/* f021a34: 46000086 */ mov.s $f2,$f0 +.L0f021a38: +/* f021a38: 46000087 */ neg.s $f2,$f0 +.L0f021a3c: +/* f021a3c: 46025101 */ sub.s $f4,$f10,$f2 +/* f021a40: 44813000 */ mtc1 $at,$f6 +/* f021a44: 00000000 */ nop +/* f021a48: 46062203 */ div.s $f8,$f4,$f6 +/* f021a4c: 46124282 */ mul.s $f10,$f8,$f18 +/* f021a50: 460a7381 */ sub.s $f14,$f14,$f10 +.L0f021a54: +/* f021a54: 80d90012 */ lb $t9,0x12($a2) +.L0f021a58: +/* f021a58: 072200c4 */ bltzl $t9,.L0f021d6c +/* f021a5c: 46107032 */ c.eq.s $f14,$f16 +/* f021a60: 10c00003 */ beqz $a2,.L0f021a70 +/* f021a64: 00001025 */ or $v0,$zero,$zero +/* f021a68: 10000001 */ b .L0f021a70 +/* f021a6c: 90c202fe */ lbu $v0,0x2fe($a2) +.L0f021a70: +/* f021a70: 10400007 */ beqz $v0,.L0f021a90 +/* f021a74: 24010001 */ addiu $at,$zero,0x1 +/* f021a78: 10c00003 */ beqz $a2,.L0f021a88 +/* f021a7c: 00001025 */ or $v0,$zero,$zero +/* f021a80: 10000001 */ b .L0f021a88 +/* f021a84: 90c202fe */ lbu $v0,0x2fe($a2) +.L0f021a88: +/* f021a88: 544100b8 */ bnel $v0,$at,.L0f021d6c +/* f021a8c: 46107032 */ c.eq.s $f14,$f16 +.L0f021a90: +/* f021a90: 10c00003 */ beqz $a2,.L0f021aa0 +/* f021a94: 94c30192 */ lhu $v1,0x192($a2) +/* f021a98: 10000002 */ b .L0f021aa4 +/* f021a9c: 90c202fe */ lbu $v0,0x2fe($a2) +.L0f021aa0: +/* f021aa0: 00001025 */ or $v0,$zero,$zero +.L0f021aa4: +/* f021aa4: 306b1000 */ andi $t3,$v1,0x1000 +/* f021aa8: 1160005f */ beqz $t3,.L0f021c28 +/* f021aac: 00000000 */ nop +/* f021ab0: 14e900ad */ bne $a3,$t1,.L0f021d68 +/* f021ab4: 00c02025 */ or $a0,$a2,$zero +/* f021ab8: afa20028 */ sw $v0,0x28($sp) +/* f021abc: e7ac00a0 */ swc1 $f12,0xa0($sp) +/* f021ac0: 0fc0850f */ jal func0f02143c +/* f021ac4: e7ae00a4 */ swc1 $f14,0xa4($sp) +/* f021ac8: 3c0c800a */ lui $t4,%hi(var8009cd1c) +/* f021acc: 8d8ccd1c */ lw $t4,%lo(var8009cd1c)($t4) +/* f021ad0: 8fa20028 */ lw $v0,0x28($sp) +/* f021ad4: 24050001 */ addiu $a1,$zero,0x1 +/* f021ad8: 95830192 */ lhu $v1,0x192($t4) +/* f021adc: 00452026 */ xor $a0,$v0,$a1 +/* f021ae0: 44808000 */ mtc1 $zero,$f16 +/* f021ae4: 3c017f1b */ lui $at,%hi(var7f1a8778) +/* f021ae8: 2c840001 */ sltiu $a0,$a0,0x1 +/* f021aec: 00036b43 */ sra $t5,$v1,0xd +/* f021af0: c4328778 */ lwc1 $f18,%lo(var7f1a8778)($at) +/* f021af4: c7ac00a0 */ lwc1 $f12,0xa0($sp) +/* f021af8: c7ae00a4 */ lwc1 $f14,0xa4($sp) +/* f021afc: 10800005 */ beqz $a0,.L0f021b14 +/* f021b00: 31a30007 */ andi $v1,$t5,0x7 +/* f021b04: 3c0141c8 */ lui $at,0x41c8 +/* f021b08: 44811000 */ mtc1 $at,$f2 +/* f021b0c: 10000005 */ b .L0f021b24 +/* f021b10: 306f0001 */ andi $t7,$v1,0x1 +.L0f021b14: +/* f021b14: 3c014270 */ lui $at,0x4270 +/* f021b18: 44811000 */ mtc1 $at,$f2 +/* f021b1c: 00000000 */ nop +/* f021b20: 306f0001 */ andi $t7,$v1,0x1 +.L0f021b24: +/* f021b24: 55e0000a */ bnezl $t7,.L0f021b50 +/* f021b28: 28610005 */ slti $at,$v1,0x5 +/* f021b2c: 10800005 */ beqz $a0,.L0f021b44 +/* f021b30: 3c0142aa */ lui $at,0x42aa +/* f021b34: 3c014216 */ lui $at,0x4216 +/* f021b38: 44811000 */ mtc1 $at,$f2 +/* f021b3c: 10000004 */ b .L0f021b50 +/* f021b40: 28610005 */ slti $at,$v1,0x5 +.L0f021b44: +/* f021b44: 44811000 */ mtc1 $at,$f2 +/* f021b48: 00000000 */ nop +/* f021b4c: 28610005 */ slti $at,$v1,0x5 +.L0f021b50: +/* f021b50: 1420000d */ bnez $at,.L0f021b88 +/* f021b54: 28610008 */ slti $at,$v1,0x8 +/* f021b58: 1020000b */ beqz $at,.L0f021b88 +/* f021b5c: 00000000 */ nop +/* f021b60: 46029102 */ mul.s $f4,$f18,$f2 +/* f021b64: 3c0143b4 */ lui $at,0x43b4 +/* f021b68: 44813000 */ mtc1 $at,$f6 +/* f021b6c: 00000000 */ nop +/* f021b70: 46062203 */ div.s $f8,$f4,$f6 +/* f021b74: c7a4009c */ lwc1 $f4,0x9c($sp) +/* f021b78: 46080282 */ mul.s $f10,$f0,$f8 +/* f021b7c: 460a2181 */ sub.s $f6,$f4,$f10 +/* f021b80: 1000000e */ b .L0f021bbc +/* f021b84: e7a6009c */ swc1 $f6,0x9c($sp) +.L0f021b88: +/* f021b88: 1860000c */ blez $v1,.L0f021bbc +/* f021b8c: 28610004 */ slti $at,$v1,0x4 +/* f021b90: 5020000b */ beqzl $at,.L0f021bc0 +/* f021b94: 24010007 */ addiu $at,$zero,0x7 +/* f021b98: 46029202 */ mul.s $f8,$f18,$f2 +/* f021b9c: 3c0143b4 */ lui $at,0x43b4 +/* f021ba0: 44812000 */ mtc1 $at,$f4 +/* f021ba4: 00000000 */ nop +/* f021ba8: 46044283 */ div.s $f10,$f8,$f4 +/* f021bac: c7a8009c */ lwc1 $f8,0x9c($sp) +/* f021bb0: 460a0182 */ mul.s $f6,$f0,$f10 +/* f021bb4: 46064100 */ add.s $f4,$f8,$f6 +/* f021bb8: e7a4009c */ swc1 $f4,0x9c($sp) +.L0f021bbc: +/* f021bbc: 24010007 */ addiu $at,$zero,0x7 +.L0f021bc0: +/* f021bc0: 10610005 */ beq $v1,$at,.L0f021bd8 +/* f021bc4: 00000000 */ nop +/* f021bc8: 10600003 */ beqz $v1,.L0f021bd8 +/* f021bcc: 00000000 */ nop +/* f021bd0: 14650009 */ bne $v1,$a1,.L0f021bf8 +/* f021bd4: 28610003 */ slti $at,$v1,0x3 +.L0f021bd8: +/* f021bd8: 46029282 */ mul.s $f10,$f18,$f2 +/* f021bdc: 3c0143b4 */ lui $at,0x43b4 +/* f021be0: 44814000 */ mtc1 $at,$f8 +/* f021be4: 00000000 */ nop +/* f021be8: 46085183 */ div.s $f6,$f10,$f8 +/* f021bec: 46060102 */ mul.s $f4,$f0,$f6 +/* f021bf0: 1000005d */ b .L0f021d68 +/* f021bf4: 46047380 */ add.s $f14,$f14,$f4 +.L0f021bf8: +/* f021bf8: 1420005b */ bnez $at,.L0f021d68 +/* f021bfc: 28610006 */ slti $at,$v1,0x6 +/* f021c00: 5020005a */ beqzl $at,.L0f021d6c +/* f021c04: 46107032 */ c.eq.s $f14,$f16 +/* f021c08: 46029282 */ mul.s $f10,$f18,$f2 +/* f021c0c: 3c0143b4 */ lui $at,0x43b4 +/* f021c10: 44814000 */ mtc1 $at,$f8 +/* f021c14: 00000000 */ nop +/* f021c18: 46085183 */ div.s $f6,$f10,$f8 +/* f021c1c: 46060102 */ mul.s $f4,$f0,$f6 +/* f021c20: 10000051 */ b .L0f021d68 +/* f021c24: 46047381 */ sub.s $f14,$f14,$f4 +.L0f021c28: +/* f021c28: 10e80002 */ beq $a3,$t0,.L0f021c34 +/* f021c2c: 00031343 */ sra $v0,$v1,0xd +/* f021c30: 14e50019 */ bne $a3,$a1,.L0f021c98 +.L0f021c34: +/* f021c34: 30580007 */ andi $t8,$v0,0x7 +/* f021c38: afb80088 */ sw $t8,0x88($sp) +/* f021c3c: 00c02025 */ or $a0,$a2,$zero +/* f021c40: e7ac00a0 */ swc1 $f12,0xa0($sp) +/* f021c44: 0fc0850f */ jal func0f02143c +/* f021c48: e7ae00a4 */ swc1 $f14,0xa4($sp) +/* f021c4c: 3c017f1b */ lui $at,%hi(var7f1a8780) +/* f021c50: c42a8780 */ lwc1 $f10,%lo(var7f1a8780)($at) +/* f021c54: 8fa20088 */ lw $v0,0x88($sp) +/* f021c58: c7ae00a4 */ lwc1 $f14,0xa4($sp) +/* f021c5c: 460a0082 */ mul.s $f2,$f0,$f10 +/* f021c60: 44808000 */ mtc1 $zero,$f16 +/* f021c64: 28410003 */ slti $at,$v0,0x3 +/* f021c68: c7ac00a0 */ lwc1 $f12,0xa0($sp) +/* f021c6c: 10200003 */ beqz $at,.L0f021c7c +/* f021c70: 46027381 */ sub.s $f14,$f14,$f2 +/* f021c74: 1000003c */ b .L0f021d68 +/* f021c78: 46026301 */ sub.s $f12,$f12,$f2 +.L0f021c7c: +/* f021c7c: 28410003 */ slti $at,$v0,0x3 +/* f021c80: 14200039 */ bnez $at,.L0f021d68 +/* f021c84: 28410006 */ slti $at,$v0,0x6 +/* f021c88: 50200038 */ beqzl $at,.L0f021d6c +/* f021c8c: 46107032 */ c.eq.s $f14,$f16 +/* f021c90: 10000035 */ b .L0f021d68 +/* f021c94: 46026300 */ add.s $f12,$f12,$f2 +.L0f021c98: +/* f021c98: 14ea0033 */ bne $a3,$t2,.L0f021d68 +/* f021c9c: 00c02025 */ or $a0,$a2,$zero +/* f021ca0: e7ac00a0 */ swc1 $f12,0xa0($sp) +/* f021ca4: 0fc0850f */ jal func0f02143c +/* f021ca8: e7ae00a4 */ swc1 $f14,0xa4($sp) +/* f021cac: 3c19800a */ lui $t9,%hi(var8009cd1c) +/* f021cb0: 3c017f1b */ lui $at,%hi(var7f1a8788) +/* f021cb4: 8f39cd1c */ lw $t9,%lo(var8009cd1c)($t9) +/* f021cb8: c4288788 */ lwc1 $f8,%lo(var7f1a8788)($at) +/* f021cbc: c7ae00a4 */ lwc1 $f14,0xa4($sp) +/* f021cc0: 97220192 */ lhu $v0,0x192($t9) +/* f021cc4: 46080082 */ mul.s $f2,$f0,$f8 +/* f021cc8: 44808000 */ mtc1 $zero,$f16 +/* f021ccc: 00025b43 */ sra $t3,$v0,0xd +/* f021cd0: 31620007 */ andi $v0,$t3,0x7 +/* f021cd4: 28410003 */ slti $at,$v0,0x3 +/* f021cd8: 24050001 */ addiu $a1,$zero,0x1 +/* f021cdc: c7ac00a0 */ lwc1 $f12,0xa0($sp) +/* f021ce0: 10200003 */ beqz $at,.L0f021cf0 +/* f021ce4: 46027380 */ add.s $f14,$f14,$f2 +/* f021ce8: 10000007 */ b .L0f021d08 +/* f021cec: 46026300 */ add.s $f12,$f12,$f2 +.L0f021cf0: +/* f021cf0: 28410003 */ slti $at,$v0,0x3 +/* f021cf4: 14200004 */ bnez $at,.L0f021d08 +/* f021cf8: 28410006 */ slti $at,$v0,0x6 +/* f021cfc: 50200003 */ beqzl $at,.L0f021d0c +/* f021d00: 24010002 */ addiu $at,$zero,0x2 +/* f021d04: 46026301 */ sub.s $f12,$f12,$f2 +.L0f021d08: +/* f021d08: 24010002 */ addiu $at,$zero,0x2 +.L0f021d0c: +/* f021d0c: 10410004 */ beq $v0,$at,.L0f021d20 +/* f021d10: 24010005 */ addiu $at,$zero,0x5 +/* f021d14: 10410002 */ beq $v0,$at,.L0f021d20 +/* f021d18: 24010007 */ addiu $at,$zero,0x7 +/* f021d1c: 14410007 */ bne $v0,$at,.L0f021d3c +.L0f021d20: +/* f021d20: 3c017f1b */ lui $at,%hi(var7f1a878c) +/* f021d24: c424878c */ lwc1 $f4,%lo(var7f1a878c)($at) +/* f021d28: c7a6009c */ lwc1 $f6,0x9c($sp) +/* f021d2c: 46040282 */ mul.s $f10,$f0,$f4 +/* f021d30: 460a3200 */ add.s $f8,$f6,$f10 +/* f021d34: 1000000c */ b .L0f021d68 +/* f021d38: e7a8009c */ swc1 $f8,0x9c($sp) +.L0f021d3c: +/* f021d3c: 10450004 */ beq $v0,$a1,.L0f021d50 +/* f021d40: 24010004 */ addiu $at,$zero,0x4 +/* f021d44: 10410002 */ beq $v0,$at,.L0f021d50 +/* f021d48: 24010006 */ addiu $at,$zero,0x6 +/* f021d4c: 14410006 */ bne $v0,$at,.L0f021d68 +.L0f021d50: +/* f021d50: 3c017f1b */ lui $at,%hi(var7f1a8790) +/* f021d54: c4268790 */ lwc1 $f6,%lo(var7f1a8790)($at) +/* f021d58: c7a4009c */ lwc1 $f4,0x9c($sp) +/* f021d5c: 46060282 */ mul.s $f10,$f0,$f6 +/* f021d60: 460a2201 */ sub.s $f8,$f4,$f10 +/* f021d64: e7a8009c */ swc1 $f8,0x9c($sp) +.L0f021d68: +/* f021d68: 46107032 */ c.eq.s $f14,$f16 +.L0f021d6c: +/* f021d6c: 3c04800a */ lui $a0,%hi(var8009cd1c) +/* f021d70: 45000010 */ bc1f .L0f021db4 +/* f021d74: 00000000 */ nop +/* f021d78: 46106032 */ c.eq.s $f12,$f16 +/* f021d7c: c7a6009c */ lwc1 $f6,0x9c($sp) +/* f021d80: 4500000c */ bc1f .L0f021db4 +/* f021d84: 00000000 */ nop +/* f021d88: 46103032 */ c.eq.s $f6,$f16 +/* f021d8c: c7a40154 */ lwc1 $f4,0x154($sp) +/* f021d90: 3c013f80 */ lui $at,0x3f80 +/* f021d94: 45000007 */ bc1f .L0f021db4 +/* f021d98: 00000000 */ nop +/* f021d9c: 44815000 */ mtc1 $at,$f10 +/* f021da0: 00000000 */ nop +/* f021da4: 460a2032 */ c.eq.s $f4,$f10 +/* f021da8: 00000000 */ nop +/* f021dac: 4503007b */ bc1tl .L0f021f9c +/* f021db0: 8fbf0014 */ lw $ra,0x14($sp) +.L0f021db4: +/* f021db4: 8c84cd1c */ lw $a0,%lo(var8009cd1c)($a0) +/* f021db8: e7ac00a0 */ swc1 $f12,0xa0($sp) +/* f021dbc: 0fc0f97c */ jal func0f03e5f0 +/* f021dc0: e7ae00a4 */ swc1 $f14,0xa4($sp) +/* f021dc4: c7ae00a4 */ lwc1 $f14,0xa4($sp) +/* f021dc8: 44808000 */ mtc1 $zero,$f16 +/* f021dcc: 3c017f1b */ lui $at,%hi(var7f1a8794) +/* f021dd0: c4328794 */ lwc1 $f18,%lo(var7f1a8794)($at) +/* f021dd4: 4610703c */ c.lt.s $f14,$f16 +/* f021dd8: c7ac00a0 */ lwc1 $f12,0xa0($sp) +/* f021ddc: e7a0006c */ swc1 $f0,0x6c($sp) +/* f021de0: 45020004 */ bc1fl .L0f021df4 +/* f021de4: 460e9381 */ sub.s $f14,$f18,$f14 +/* f021de8: 10000002 */ b .L0f021df4 +/* f021dec: 46007387 */ neg.s $f14,$f14 +/* f021df0: 460e9381 */ sub.s $f14,$f18,$f14 +.L0f021df4: +/* f021df4: 4610603c */ c.lt.s $f12,$f16 +/* f021df8: 00000000 */ nop +/* f021dfc: 45020003 */ bc1fl .L0f021e0c +/* f021e00: e7ac00a0 */ swc1 $f12,0xa0($sp) +/* f021e04: 46126300 */ add.s $f12,$f12,$f18 +/* f021e08: e7ac00a0 */ swc1 $f12,0xa0($sp) +.L0f021e0c: +/* f021e0c: 0fc2d5de */ jal currentPlayerGetUnk174c +/* f021e10: e7ae00a4 */ swc1 $f14,0xa4($sp) +/* f021e14: 00402025 */ or $a0,$v0,$zero +/* f021e18: 0c0056f8 */ jal func00015be0 +/* f021e1c: 8fa5015c */ lw $a1,0x15c($sp) +/* f021e20: 8fa2015c */ lw $v0,0x15c($sp) +/* f021e24: c7ae00a4 */ lwc1 $f14,0xa4($sp) +/* f021e28: 44808000 */ mtc1 $zero,$f16 +/* f021e2c: c4480030 */ lwc1 $f8,0x30($v0) +/* f021e30: 3c017f1b */ lui $at,%hi(var7f1a879c) +/* f021e34: 46107032 */ c.eq.s $f14,$f16 +/* f021e38: e7a80070 */ swc1 $f8,0x70($sp) +/* f021e3c: c4460034 */ lwc1 $f6,0x34($v0) +/* f021e40: c432879c */ lwc1 $f18,%lo(var7f1a879c)($at) +/* f021e44: c7ac00a0 */ lwc1 $f12,0xa0($sp) +/* f021e48: e7a60074 */ swc1 $f6,0x74($sp) +/* f021e4c: c4440038 */ lwc1 $f4,0x38($v0) +/* f021e50: 27a5002c */ addiu $a1,$sp,0x2c +/* f021e54: e7a40078 */ swc1 $f4,0x78($sp) +/* f021e58: e4500030 */ swc1 $f16,0x30($v0) +/* f021e5c: e4500034 */ swc1 $f16,0x34($v0) +/* f021e60: 45000006 */ bc1f .L0f021e7c +/* f021e64: e4500038 */ swc1 $f16,0x38($v0) +/* f021e68: c7aa009c */ lwc1 $f10,0x9c($sp) +/* f021e6c: 46105032 */ c.eq.s $f10,$f16 +/* f021e70: 00000000 */ nop +/* f021e74: 4501002e */ bc1t .L0f021f30 +/* f021e78: 00000000 */ nop +.L0f021e7c: +/* f021e7c: c7a8006c */ lwc1 $f8,0x6c($sp) +/* f021e80: 46086301 */ sub.s $f12,$f12,$f8 +/* f021e84: 4610603c */ c.lt.s $f12,$f16 +/* f021e88: 00000000 */ nop +/* f021e8c: 45000002 */ bc1f .L0f021e98 +/* f021e90: 00000000 */ nop +/* f021e94: 46126300 */ add.s $f12,$f12,$f18 +.L0f021e98: +/* f021e98: 0c0058dd */ jal func00016374 +/* f021e9c: e7ae00a4 */ swc1 $f14,0xa4($sp) +/* f021ea0: 27a4002c */ addiu $a0,$sp,0x2c +/* f021ea4: 0c0056f8 */ jal func00015be0 +/* f021ea8: 8fa5015c */ lw $a1,0x15c($sp) +/* f021eac: c7ae00a4 */ lwc1 $f14,0xa4($sp) +/* f021eb0: 44808000 */ mtc1 $zero,$f16 +/* f021eb4: 27a5002c */ addiu $a1,$sp,0x2c +/* f021eb8: 46107032 */ c.eq.s $f14,$f16 +/* f021ebc: 00000000 */ nop +/* f021ec0: 45030009 */ bc1tl .L0f021ee8 +/* f021ec4: c7a6009c */ lwc1 $f6,0x9c($sp) +/* f021ec8: 0c0058ba */ jal func000162e8 +/* f021ecc: 46007306 */ mov.s $f12,$f14 +/* f021ed0: 27a4002c */ addiu $a0,$sp,0x2c +/* f021ed4: 0c0056f8 */ jal func00015be0 +/* f021ed8: 8fa5015c */ lw $a1,0x15c($sp) +/* f021edc: 44808000 */ mtc1 $zero,$f16 +/* f021ee0: 00000000 */ nop +/* f021ee4: c7a6009c */ lwc1 $f6,0x9c($sp) +.L0f021ee8: +/* f021ee8: 27a5002c */ addiu $a1,$sp,0x2c +/* f021eec: 46103032 */ c.eq.s $f6,$f16 +/* f021ef0: 00000000 */ nop +/* f021ef4: 45030007 */ bc1tl .L0f021f14 +/* f021ef8: c7ac006c */ lwc1 $f12,0x6c($sp) +/* f021efc: 0c005900 */ jal func00016400 +/* f021f00: 46003306 */ mov.s $f12,$f6 +/* f021f04: 27a4002c */ addiu $a0,$sp,0x2c +/* f021f08: 0c0056f8 */ jal func00015be0 +/* f021f0c: 8fa5015c */ lw $a1,0x15c($sp) +/* f021f10: c7ac006c */ lwc1 $f12,0x6c($sp) +.L0f021f14: +/* f021f14: 0c0058dd */ jal func00016374 +/* f021f18: 27a5002c */ addiu $a1,$sp,0x2c +/* f021f1c: 27a4002c */ addiu $a0,$sp,0x2c +/* f021f20: 0c0056f8 */ jal func00015be0 +/* f021f24: 8fa5015c */ lw $a1,0x15c($sp) +/* f021f28: 10000007 */ b .L0f021f48 +/* f021f2c: 3c013f80 */ lui $at,0x3f80 +.L0f021f30: +/* f021f30: 0c0058dd */ jal func00016374 +/* f021f34: 27a5002c */ addiu $a1,$sp,0x2c +/* f021f38: 27a4002c */ addiu $a0,$sp,0x2c +/* f021f3c: 0c0056f8 */ jal func00015be0 +/* f021f40: 8fa5015c */ lw $a1,0x15c($sp) +/* f021f44: 3c013f80 */ lui $at,0x3f80 +.L0f021f48: +/* f021f48: 44815000 */ mtc1 $at,$f10 +/* f021f4c: c7a40154 */ lwc1 $f4,0x154($sp) +/* f021f50: 8fa5015c */ lw $a1,0x15c($sp) +/* f021f54: 460a2032 */ c.eq.s $f4,$f10 +/* f021f58: 00000000 */ nop +/* f021f5c: 45030004 */ bc1tl .L0f021f70 +/* f021f60: c7a80070 */ lwc1 $f8,0x70($sp) +/* f021f64: 0c0057c1 */ jal func00015f04 +/* f021f68: 46002306 */ mov.s $f12,$f4 +/* f021f6c: c7a80070 */ lwc1 $f8,0x70($sp) +.L0f021f70: +/* f021f70: 8fad015c */ lw $t5,0x15c($sp) +/* f021f74: e5a80030 */ swc1 $f8,0x30($t5) +/* f021f78: c7a60074 */ lwc1 $f6,0x74($sp) +/* f021f7c: e5a60034 */ swc1 $f6,0x34($t5) +/* f021f80: c7aa0078 */ lwc1 $f10,0x78($sp) +/* f021f84: 0fc2d5be */ jal currentPlayerGetMatrix1740 +/* f021f88: e5aa0038 */ swc1 $f10,0x38($t5) +/* f021f8c: 00402025 */ or $a0,$v0,$zero +/* f021f90: 0c0056f8 */ jal func00015be0 +/* f021f94: 8fa5015c */ lw $a1,0x15c($sp) +.L0f021f98: +/* f021f98: 8fbf0014 */ lw $ra,0x14($sp) +.L0f021f9c: +/* f021f9c: 27bd0158 */ addiu $sp,$sp,0x158 +/* f021fa0: 03e00008 */ jr $ra +/* f021fa4: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f02152c .late_rodata @@ -4967,6 +5684,7 @@ glabel var7f1a879c /* f021fa0: 03e00008 */ jr $ra /* f021fa4: 00000000 */ nop ); +#endif void func0f021fa8(struct chrdata *chr, struct coord *pos, s16 *rooms) { @@ -5258,7 +5976,7 @@ void chrUncloak(struct chrdata *chr, bool value) void chrUncloakTemporarily(struct chrdata *chr) { chrUncloak(chr, true); - chr->cloakpause = 120; + chr->cloakpause = PALDOWN(120); } void chrUpdateCloak(struct chrdata *chr) @@ -5301,7 +6019,7 @@ void chrUpdateCloak(struct chrdata *chr) && !chrIsDead(chr) && aibotGetAmmoQuantityByWeapon(chr->aibot, WEAPON_RCP120, 0, 1) > 0) { if (chr->hidden & CHRHFLAG_CLOAKED) { - chr->aibot->unk2c4 += g_Vars.lvupdate240f * 0.4f; + chr->aibot->unk2c4 += (PAL ? g_Vars.lvupdate240freal : g_Vars.lvupdate240f) * 0.4f; if (chr->aibot->unk2c4 >= 1) { qty = chr->aibot->unk2c4; @@ -5448,9 +6166,9 @@ void chrSetPoisoned(struct chrdata *chr, struct prop *poisonprop) if (g_Vars.normmplayerisrunning) { chr->poisonprop = poisonprop; - chr->poisoncounter += 3360; + chr->poisoncounter += PALDOWN(3360); } else if (chr->poisoncounter == 0) { - chr->poisoncounter = 1680; + chr->poisoncounter = PALDOWN(1680); chr->poisonprop = poisonprop; } } @@ -5469,8 +6187,8 @@ void chrTickPoisoned(struct chrdata *chr) if (!g_Vars.normmplayerisrunning) { chr->poisoncounter = 0; } else { - if (chr->poisoncounter > 3600) { - chr->poisoncounter = 3600; + if (chr->poisoncounter > PALDOWN(3600)) { + chr->poisoncounter = PALDOWN(3600); } if (g_MpSetup.options & MPOPTION_ONEHITKILLS) { @@ -5481,8 +6199,8 @@ void chrTickPoisoned(struct chrdata *chr) && g_Vars.players[propGetPlayerNum(chr->prop)]->bondhealth < 0.001f) { // Alive player chr if (g_Vars.normmplayerisrunning) { - if (chr->poisoncounter > 3600) { - chr->poisoncounter = 3600; + if (chr->poisoncounter > PALDOWN(3600)) { + chr->poisoncounter = PALDOWN(3600); } if (g_MpSetup.options & MPOPTION_ONEHITKILLS) { @@ -5500,12 +6218,12 @@ void chrTickPoisoned(struct chrdata *chr) } chr->poisoncounter = 0; - } else if (chr->poisoncounter < SECSTOTIME240(7)) { + } else if (chr->poisoncounter < PALDOWN(1680)) { chr->blurdrugamount += g_Vars.lvupdate240 * 10; } if (g_Vars.normmplayerisrunning) { - if (chr->poisoncounter / 720 != (chr->poisoncounter + g_Vars.lvupdate240) / 720) { + if (chr->poisoncounter / PALDOWN(720) != (chr->poisoncounter + g_Vars.lvupdate240) / PALDOWN(720)) { chrPoison(chr, 1.3f, &coord, &hand, chr->poisonprop); } } @@ -9300,7 +10018,7 @@ Gfx *chrRender(struct prop *prop, Gfx *gdl, bool withalpha) } if (chr->aibot && chr->aibot->unk058 > 0) { - alpha = (f32)alpha * (120 - chr->aibot->unk058) * (PAL ? 0.01f : 0.0083333337679505f); + alpha = (f32)alpha * (PALDOWN(120) - chr->aibot->unk058) * (PAL ? 0.01f : 0.0083333337679505f); } bodyGetBloodColour(chr->bodynum, spec, NULL); @@ -18679,7 +19397,7 @@ glabel var7f1a8984 /* f02ca20: 8fd90008 */ lw $t9,0x8($s8) /* f02ca24: 8c58000c */ lw $t8,0xc($v0) /* f02ca28: 24090001 */ addiu $t1,$zero,0x1 -/* f02ca2c: 2728ffb0 */ addiu $t0,$t9,-80 +/* f02ca2c: 2728ffb0 */ addiu $t0,$t9,-66 /* f02ca30: 0308082a */ slt $at,$t8,$t0 /* f02ca34: 1420000f */ bnez $at,.L0f02ca74 /* f02ca38: 02832021 */ addu $a0,$s4,$v1 @@ -18796,7 +19514,7 @@ glabel var7f1a8984 /* f02cbdc: 000c60c0 */ sll $t4,$t4,0x3 /* f02cbe0: 01936023 */ subu $t4,$t4,$s3 /* f02cbe4: 000c6080 */ sll $t4,$t4,0x2 -/* f02cbe8: 2ae1001e */ slti $at,$s7,0x1e +/* f02cbe8: 2ae1001e */ slti $at,$s7,0x19 /* f02cbec: 016c6821 */ addu $t5,$t3,$t4 /* f02cbf0: 10200003 */ beqz $at,.L0f02cc00 /* f02cbf4: 01b21021 */ addu $v0,$t5,$s2 diff --git a/src/game/chr/chraction.c b/src/game/chr/chraction.c index 8066f151b..1e45406b3 100644 --- a/src/game/chr/chraction.c +++ b/src/game/chr/chraction.c @@ -1842,8 +1842,8 @@ void func0f02e9a0(struct chrdata *chr, f32 arg1) fsleep = arg1; - if (chr->model->anim->playspeed != FRAMESTOTIME60(1.0f)) { - fsleep *= FRAMESTOTIME60(1.0f) / chr->model->anim->playspeed; + if (chr->model->anim->playspeed != PALUPF(1.0f)) { + fsleep *= PALUPF(1.0f) / chr->model->anim->playspeed; } if (fsleep > limit) { @@ -4456,6 +4456,1219 @@ u32 var80068264 = 0x00000000; u32 var80068268 = 0x807b8079; u32 var8006826c = 0x807c0000; +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f0319a8 +.late_rodata +glabel var7f1a8d1c +.word 0x3c23d70a +glabel var7f1a8d20 +.word 0x3c23d70a +glabel var7f1a8d24 +.word 0x3fc907a9 +glabel var7f1a8d28 +.word 0x4096c5bf +glabel var7f1a8d2c +.word 0x40c907a9 +glabel var7f1a8d30 +.word 0x405432c1 +glabel var7f1a8d34 +.word 0x403ddc91 +glabel var7f1a8d38 +.word 0x4016c5bf +glabel var7f1a8d3c +.word 0x407b4993 +glabel var7f1a8d40 +.word 0x4016c5bf +glabel var7f1a8d44 +.word 0x407b4993 +.text +/* f0319a8: 27bdfef0 */ addiu $sp,$sp,-272 +/* f0319ac: 240effff */ addiu $t6,$zero,-1 +/* f0319b0: afbf002c */ sw $ra,0x2c($sp) +/* f0319b4: afb00028 */ sw $s0,0x28($sp) +/* f0319b8: afa50114 */ sw $a1,0x114($sp) +/* f0319bc: afa60118 */ sw $a2,0x118($sp) +/* f0319c0: afa7011c */ sw $a3,0x11c($sp) +/* f0319c4: afa0010c */ sw $zero,0x10c($sp) +/* f0319c8: afae0104 */ sw $t6,0x104($sp) +/* f0319cc: 8c8f001c */ lw $t7,0x1c($a0) +/* f0319d0: 00808025 */ or $s0,$a0,$zero +/* f0319d4: 00003825 */ or $a3,$zero,$zero +/* f0319d8: afaf00f8 */ sw $t7,0xf8($sp) +/* f0319dc: 8c980020 */ lw $t8,0x20($a0) +/* f0319e0: 10800003 */ beqz $a0,.L0f0319f0 +/* f0319e4: afb800f4 */ sw $t8,0xf4($sp) +/* f0319e8: 10000001 */ b .L0f0319f0 +/* f0319ec: 908702fe */ lbu $a3,0x2fe($a0) +.L0f0319f0: +/* f0319f0: afa000e8 */ sw $zero,0xe8($sp) +/* f0319f4: 82020007 */ lb $v0,0x7($s0) +/* f0319f8: 24010020 */ addiu $at,$zero,0x20 +/* f0319fc: 10410004 */ beq $v0,$at,.L0f031a10 +/* f031a00: 2401001e */ addiu $at,$zero,0x1e +/* f031a04: 10410002 */ beq $v0,$at,.L0f031a10 +/* f031a08: 2401001f */ addiu $at,$zero,0x1f +/* f031a0c: 14410007 */ bne $v0,$at,.L0f031a2c +.L0f031a10: +/* f031a10: 2401001f */ addiu $at,$zero,0x1f +/* f031a14: 14410002 */ bne $v0,$at,.L0f031a20 +/* f031a18: 24190001 */ addiu $t9,$zero,0x1 +/* f031a1c: afb900e8 */ sw $t9,0xe8($sp) +.L0f031a20: +/* f031a20: 0fc2c15d */ jal mpstatsDecrementTotalKnockoutCount +/* f031a24: afa700ec */ sw $a3,0xec($sp) +/* f031a28: 8fa700ec */ lw $a3,0xec($sp) +.L0f031a2c: +/* f031a2c: 24010003 */ addiu $at,$zero,0x3 +/* f031a30: 14e100bd */ bne $a3,$at,.L0f031d28 +/* f031a34: 0007c080 */ sll $t8,$a3,0x2 +/* f031a38: 3c0d800a */ lui $t5,%hi(g_Vars+0x28c) +/* f031a3c: 8dada24c */ lw $t5,%lo(g_Vars+0x28c)($t5) +/* f031a40: 240effff */ addiu $t6,$zero,-1 +/* f031a44: afae00dc */ sw $t6,0xdc($sp) +/* f031a48: 02002025 */ or $a0,$s0,$zero +/* f031a4c: 0fc0f011 */ jal chrToEyespy +/* f031a50: afad00e4 */ sw $t5,0xe4($sp) +/* f031a54: 3c0b800a */ lui $t3,%hi(g_Vars+0x6c) +/* f031a58: 8d6ba02c */ lw $t3,%lo(g_Vars+0x6c)($t3) +/* f031a5c: 240fffff */ addiu $t7,$zero,-1 +/* f031a60: 00406025 */ or $t4,$v0,$zero +/* f031a64: afaf00d4 */ sw $t7,0xd4($sp) +/* f031a68: 11600003 */ beqz $t3,.L0f031a78 +/* f031a6c: 00002025 */ or $a0,$zero,$zero +/* f031a70: 10000002 */ b .L0f031a7c +/* f031a74: 24070001 */ addiu $a3,$zero,0x1 +.L0f031a78: +/* f031a78: 00003825 */ or $a3,$zero,$zero +.L0f031a7c: +/* f031a7c: 3c0a800a */ lui $t2,%hi(g_Vars+0x68) +/* f031a80: 8d4aa028 */ lw $t2,%lo(g_Vars+0x68)($t2) +/* f031a84: 3c09800a */ lui $t1,%hi(g_Vars+0x64) +/* f031a88: 3c08800a */ lui $t0,%hi(g_Vars+0x70) +/* f031a8c: 11400003 */ beqz $t2,.L0f031a9c +/* f031a90: 00002825 */ or $a1,$zero,$zero +/* f031a94: 10000001 */ b .L0f031a9c +/* f031a98: 24050001 */ addiu $a1,$zero,0x1 +.L0f031a9c: +/* f031a9c: 8d29a024 */ lw $t1,%lo(g_Vars+0x64)($t1) +/* f031aa0: 00001025 */ or $v0,$zero,$zero +/* f031aa4: 00001825 */ or $v1,$zero,$zero +/* f031aa8: 11200003 */ beqz $t1,.L0f031ab8 +/* f031aac: 00047080 */ sll $t6,$a0,0x2 +/* f031ab0: 10000001 */ b .L0f031ab8 +/* f031ab4: 24020001 */ addiu $v0,$zero,0x1 +.L0f031ab8: +/* f031ab8: 8d08a030 */ lw $t0,%lo(g_Vars+0x70)($t0) +/* f031abc: 3c0f800a */ lui $t7,%hi(g_Vars) +/* f031ac0: 25ef9fc0 */ addiu $t7,$t7,%lo(g_Vars) +/* f031ac4: 11000003 */ beqz $t0,.L0f031ad4 +/* f031ac8: 01cf3021 */ addu $a2,$t6,$t7 +/* f031acc: 10000001 */ b .L0f031ad4 +/* f031ad0: 24030001 */ addiu $v1,$zero,0x1 +.L0f031ad4: +/* f031ad4: 0062c021 */ addu $t8,$v1,$v0 +/* f031ad8: 0305c821 */ addu $t9,$t8,$a1 +/* f031adc: 03276821 */ addu $t5,$t9,$a3 +/* f031ae0: 19a0002e */ blez $t5,.L0f031b9c +/* f031ae4: 00000000 */ nop +/* f031ae8: 8cd80064 */ lw $t8,0x64($a2) +.L0f031aec: +/* f031aec: 8f190480 */ lw $t9,0x480($t8) +/* f031af0: 55990012 */ bnel $t4,$t9,.L0f031b3c +/* f031af4: afa400dc */ sw $a0,0xdc($sp) +/* f031af8: afa400e0 */ sw $a0,0xe0($sp) +/* f031afc: afa60030 */ sw $a2,0x30($sp) +/* f031b00: 0fc4a24b */ jal setCurrentPlayerNum +/* f031b04: afac00d8 */ sw $t4,0xd8($sp) +/* f031b08: 3c0b800a */ lui $t3,%hi(g_Vars+0x6c) +/* f031b0c: 3c0a800a */ lui $t2,%hi(g_Vars+0x68) +/* f031b10: 3c09800a */ lui $t1,%hi(g_Vars+0x64) +/* f031b14: 3c08800a */ lui $t0,%hi(g_Vars+0x70) +/* f031b18: 8d08a030 */ lw $t0,%lo(g_Vars+0x70)($t0) +/* f031b1c: 8d29a024 */ lw $t1,%lo(g_Vars+0x64)($t1) +/* f031b20: 8d4aa028 */ lw $t2,%lo(g_Vars+0x68)($t2) +/* f031b24: 8d6ba02c */ lw $t3,%lo(g_Vars+0x6c)($t3) +/* f031b28: 8fa400e0 */ lw $a0,0xe0($sp) +/* f031b2c: 8fa60030 */ lw $a2,0x30($sp) +/* f031b30: 10000002 */ b .L0f031b3c +/* f031b34: 8fac00d8 */ lw $t4,0xd8($sp) +/* f031b38: afa400dc */ sw $a0,0xdc($sp) +.L0f031b3c: +/* f031b3c: 24840001 */ addiu $a0,$a0,0x1 +/* f031b40: 11600003 */ beqz $t3,.L0f031b50 +/* f031b44: 24c60004 */ addiu $a2,$a2,0x4 +/* f031b48: 10000002 */ b .L0f031b54 +/* f031b4c: 24070001 */ addiu $a3,$zero,0x1 +.L0f031b50: +/* f031b50: 00003825 */ or $a3,$zero,$zero +.L0f031b54: +/* f031b54: 11400003 */ beqz $t2,.L0f031b64 +/* f031b58: 00002825 */ or $a1,$zero,$zero +/* f031b5c: 10000001 */ b .L0f031b64 +/* f031b60: 24050001 */ addiu $a1,$zero,0x1 +.L0f031b64: +/* f031b64: 11200003 */ beqz $t1,.L0f031b74 +/* f031b68: 00001025 */ or $v0,$zero,$zero +/* f031b6c: 10000001 */ b .L0f031b74 +/* f031b70: 24020001 */ addiu $v0,$zero,0x1 +.L0f031b74: +/* f031b74: 11000003 */ beqz $t0,.L0f031b84 +/* f031b78: 00001825 */ or $v1,$zero,$zero +/* f031b7c: 10000001 */ b .L0f031b84 +/* f031b80: 24030001 */ addiu $v1,$zero,0x1 +.L0f031b84: +/* f031b84: 00626821 */ addu $t5,$v1,$v0 +/* f031b88: 01a57021 */ addu $t6,$t5,$a1 +/* f031b8c: 01c77821 */ addu $t7,$t6,$a3 +/* f031b90: 008f082a */ slt $at,$a0,$t7 +/* f031b94: 5420ffd5 */ bnezl $at,.L0f031aec +/* f031b98: 8cd80064 */ lw $t8,0x64($a2) +.L0f031b9c: +/* f031b9c: 3c18800a */ lui $t8,%hi(g_Vars+0x284) +/* f031ba0: 8f18a244 */ lw $t8,%lo(g_Vars+0x284)($t8) +/* f031ba4: 8f030480 */ lw $v1,0x480($t8) +/* f031ba8: 1060005b */ beqz $v1,.L0f031d18 +/* f031bac: 00000000 */ nop +/* f031bb0: 80790037 */ lb $t9,0x37($v1) +/* f031bb4: 3c02800a */ lui $v0,%hi(g_Vars+0x284) +/* f031bb8: 53200008 */ beqzl $t9,.L0f031bdc +/* f031bbc: 8e0f0014 */ lw $t7,0x14($s0) +/* f031bc0: a0600037 */ sb $zero,0x37($v1) +/* f031bc4: 8c42a244 */ lw $v0,%lo(g_Vars+0x284)($v0) +/* f031bc8: 2401fffb */ addiu $at,$zero,-5 +/* f031bcc: 8c4d00c4 */ lw $t5,0xc4($v0) +/* f031bd0: 01a17024 */ and $t6,$t5,$at +/* f031bd4: ac4e00c4 */ sw $t6,0xc4($v0) +/* f031bd8: 8e0f0014 */ lw $t7,0x14($s0) +.L0f031bdc: +/* f031bdc: 3c19800a */ lui $t9,%hi(g_Vars+0x284) +/* f031be0: 24070002 */ addiu $a3,$zero,0x2 +/* f031be4: 35f80020 */ ori $t8,$t7,0x20 +/* f031be8: ae180014 */ sw $t8,0x14($s0) +/* f031bec: 8f39a244 */ lw $t9,%lo(g_Vars+0x284)($t9) +/* f031bf0: 8f2d0480 */ lw $t5,0x480($t9) +/* f031bf4: 8da40000 */ lw $a0,0x0($t5) +/* f031bf8: afa00010 */ sw $zero,0x10($sp) +/* f031bfc: 24850008 */ addiu $a1,$a0,0x8 +/* f031c00: 0fc4a640 */ jal explosionCreateSimple +/* f031c04: 24860028 */ addiu $a2,$a0,0x28 +/* f031c08: 0fc447a9 */ jal invRemoveItemByNum +/* f031c0c: 2404002e */ addiu $a0,$zero,0x2e +/* f031c10: 3c0e800a */ lui $t6,%hi(g_Vars+0x284) +/* f031c14: 8dcea244 */ lw $t6,%lo(g_Vars+0x284)($t6) +/* f031c18: 24050001 */ addiu $a1,$zero,0x1 +/* f031c1c: 3406ffff */ dli $a2,0xffff +/* f031c20: 8dcf0480 */ lw $t7,0x480($t6) +/* f031c24: 0fc249af */ jal func0f0926bc +/* f031c28: 8de40000 */ lw $a0,0x0($t7) +/* f031c2c: 3c18800a */ lui $t8,%hi(g_Vars+0x284) +/* f031c30: 8f18a244 */ lw $t8,%lo(g_Vars+0x284)($t8) +/* f031c34: af000480 */ sw $zero,0x480($t8) +/* f031c38: 0fc4a24b */ jal setCurrentPlayerNum +/* f031c3c: 8fa400e4 */ lw $a0,0xe4($sp) +/* f031c40: 3c04800a */ lui $a0,%hi(g_Vars+0x4b4) +/* f031c44: 0fc59585 */ jal stageGetIndex +/* f031c48: 8c84a474 */ lw $a0,%lo(g_Vars+0x4b4)($a0) +/* f031c4c: 2401000a */ addiu $at,$zero,0xa +/* f031c50: 10410005 */ beq $v0,$at,.L0f031c68 +/* f031c54: 2401001f */ addiu $at,$zero,0x1f +/* f031c58: 54410013 */ bnel $v0,$at,.L0f031ca8 +/* f031c5c: 8faf00d4 */ lw $t7,0xd4($sp) +/* f031c60: 10000010 */ b .L0f031ca4 +/* f031c64: afa000d4 */ sw $zero,0xd4($sp) +.L0f031c68: +/* f031c68: 0fc5b367 */ jal coreGetDifficulty +/* f031c6c: 00000000 */ nop +/* f031c70: 14400003 */ bnez $v0,.L0f031c80 +/* f031c74: 24190002 */ addiu $t9,$zero,0x2 +/* f031c78: 1000000a */ b .L0f031ca4 +/* f031c7c: afb900d4 */ sw $t9,0xd4($sp) +.L0f031c80: +/* f031c80: 0fc5b367 */ jal coreGetDifficulty +/* f031c84: 00000000 */ nop +/* f031c88: 24010001 */ addiu $at,$zero,0x1 +/* f031c8c: 14410004 */ bne $v0,$at,.L0f031ca0 +/* f031c90: 240e0002 */ addiu $t6,$zero,0x2 +/* f031c94: 240d0002 */ addiu $t5,$zero,0x2 +/* f031c98: 10000002 */ b .L0f031ca4 +/* f031c9c: afad00d4 */ sw $t5,0xd4($sp) +.L0f031ca0: +/* f031ca0: afae00d4 */ sw $t6,0xd4($sp) +.L0f031ca4: +/* f031ca4: 8faf00d4 */ lw $t7,0xd4($sp) +.L0f031ca8: +/* f031ca8: 8fb800dc */ lw $t8,0xdc($sp) +/* f031cac: 05e2000f */ bltzl $t7,.L0f031cec +/* f031cb0: 8faf00d4 */ lw $t7,0xd4($sp) +/* f031cb4: 0702000d */ bltzl $t8,.L0f031cec +/* f031cb8: 8faf00d4 */ lw $t7,0xd4($sp) +/* f031cbc: 0fc4a24b */ jal setCurrentPlayerNum +/* f031cc0: 03002025 */ or $a0,$t8,$zero +/* f031cc4: 3c19800a */ lui $t9,%hi(g_Vars+0x284) +/* f031cc8: 8f39a244 */ lw $t9,%lo(g_Vars+0x284)($t9) +/* f031ccc: 240effff */ addiu $t6,$zero,-1 +/* f031cd0: 8f2d0480 */ lw $t5,0x480($t9) +/* f031cd4: 11a00002 */ beqz $t5,.L0f031ce0 +/* f031cd8: 00000000 */ nop +/* f031cdc: afae00d4 */ sw $t6,0xd4($sp) +.L0f031ce0: +/* f031ce0: 0fc4a24b */ jal setCurrentPlayerNum +/* f031ce4: 8fa400e4 */ lw $a0,0xe4($sp) +/* f031ce8: 8faf00d4 */ lw $t7,0xd4($sp) +.L0f031cec: +/* f031cec: 05e0000a */ bltz $t7,.L0f031d18 +/* f031cf0: 00000000 */ nop +/* f031cf4: 0fc255a1 */ jal objectiveCheck +/* f031cf8: 01e02025 */ or $a0,$t7,$zero +/* f031cfc: 24010001 */ addiu $at,$zero,0x1 +/* f031d00: 10410005 */ beq $v0,$at,.L0f031d18 +/* f031d04: 3c028006 */ lui $v0,%hi(g_StageFlags) +/* f031d08: 24427e54 */ addiu $v0,$v0,%lo(g_StageFlags) +/* f031d0c: 8c580000 */ lw $t8,0x0($v0) +/* f031d10: 37192000 */ ori $t9,$t8,0x2000 +/* f031d14: ac590000 */ sw $t9,0x0($v0) +.L0f031d18: +/* f031d18: 0fc4a24b */ jal setCurrentPlayerNum +/* f031d1c: 8fa400e4 */ lw $a0,0xe4($sp) +/* f031d20: 10000364 */ b .L0f032ab4 +/* f031d24: 8fbf002c */ lw $ra,0x2c($sp) +.L0f031d28: +/* f031d28: 82030007 */ lb $v1,0x7($s0) +/* f031d2c: 3c198006 */ lui $t9,%hi(var800652b8) +/* f031d30: 273952b8 */ addiu $t9,$t9,%lo(var800652b8) +/* f031d34: 386d0006 */ xori $t5,$v1,0x6 +/* f031d38: 2da30001 */ sltiu $v1,$t5,0x1 +/* f031d3c: 10600006 */ beqz $v1,.L0f031d58 +/* f031d40: 03194021 */ addu $t0,$t8,$t9 +/* f031d44: 3c0e800a */ lui $t6,%hi(g_Vars+0x8) +/* f031d48: 8dce9fc8 */ lw $t6,%lo(g_Vars+0x8)($t6) +/* f031d4c: 8e0f0030 */ lw $t7,0x30($s0) +/* f031d50: 01cf1826 */ xor $v1,$t6,$t7 +/* f031d54: 2c630001 */ sltiu $v1,$v1,0x1 +.L0f031d58: +/* f031d58: 8d060000 */ lw $a2,0x0($t0) +/* f031d5c: afa30108 */ sw $v1,0x108($sp) +/* f031d60: 2405ffff */ addiu $a1,$zero,-1 +/* f031d64: 8ccd0000 */ lw $t5,0x0($a2) +/* f031d68: 00002025 */ or $a0,$zero,$zero +/* f031d6c: 00c01025 */ or $v0,$a2,$zero +/* f031d70: 50ad000d */ beql $a1,$t5,.L0f031da8 +/* f031d74: a60002d8 */ sh $zero,0x2d8($s0) +/* f031d78: 8cc30000 */ lw $v1,0x0($a2) +/* f031d7c: 8fae011c */ lw $t6,0x11c($sp) +.L0f031d80: +/* f031d80: 55c30004 */ bnel $t6,$v1,.L0f031d94 +/* f031d84: 8c430014 */ lw $v1,0x14($v0) +/* f031d88: 10000006 */ b .L0f031da4 +/* f031d8c: afa40104 */ sw $a0,0x104($sp) +/* f031d90: 8c430014 */ lw $v1,0x14($v0) +.L0f031d94: +/* f031d94: 24840001 */ addiu $a0,$a0,0x1 +/* f031d98: 24420014 */ addiu $v0,$v0,20 +/* f031d9c: 54a3fff8 */ bnel $a1,$v1,.L0f031d80 +/* f031da0: 8fae011c */ lw $t6,0x11c($sp) +.L0f031da4: +/* f031da4: a60002d8 */ sh $zero,0x2d8($s0) +.L0f031da8: +/* f031da8: afa80040 */ sw $t0,0x40($sp) +/* f031dac: 0fc0fe3d */ jal chrStopFiring +/* f031db0: 02002025 */ or $a0,$s0,$zero +/* f031db4: 02002025 */ or $a0,$s0,$zero +/* f031db8: 0fc08946 */ jal chrUncloak +/* f031dbc: 24050001 */ addiu $a1,$zero,0x1 +/* f031dc0: 8e0f0018 */ lw $t7,0x18($s0) +/* f031dc4: 2401fbff */ addiu $at,$zero,-1025 +/* f031dc8: 44802000 */ mtc1 $zero,$f4 +/* f031dcc: 01e1c024 */ and $t8,$t7,$at +/* f031dd0: ae180018 */ sw $t8,0x18($s0) +/* f031dd4: 8fb90124 */ lw $t9,0x124($sp) +/* f031dd8: 24010001 */ addiu $at,$zero,0x1 +/* f031ddc: 240e0004 */ addiu $t6,$zero,0x4 +/* f031de0: 17210004 */ bne $t9,$at,.L0f031df4 +/* f031de4: 240f002d */ addiu $t7,$zero,0x25 +/* f031de8: 240d001e */ addiu $t5,$zero,0x1e +/* f031dec: 10000002 */ b .L0f031df8 +/* f031df0: a20d0007 */ sb $t5,0x7($s0) +.L0f031df4: +/* f031df4: a20e0007 */ sb $t6,0x7($s0) +.L0f031df8: +/* f031df8: 3c01bf80 */ lui $at,0xbf80 +/* f031dfc: 44810000 */ mtc1 $at,$f0 +/* f031e00: 921802fe */ lbu $t8,0x2fe($s0) +/* f031e04: 24010002 */ addiu $at,$zero,0x2 +/* f031e08: ae00002c */ sw $zero,0x2c($s0) +/* f031e0c: e6040038 */ swc1 $f4,0x38($s0) +/* f031e10: a60f004c */ sh $t7,0x4c($s0) +/* f031e14: e6000030 */ swc1 $f0,0x30($s0) +/* f031e18: 17010030 */ bne $t8,$at,.L0f031edc +/* f031e1c: e6000034 */ swc1 $f0,0x34($s0) +/* f031e20: 0c004b70 */ jal random +/* f031e24: 00000000 */ nop +/* f031e28: 24010190 */ addiu $at,$zero,0x190 +/* f031e2c: 0041001b */ divu $zero,$v0,$at +/* f031e30: 0000c810 */ mfhi $t9 +/* f031e34: 44993000 */ mtc1 $t9,$f6 +/* f031e38: 3c014f80 */ lui $at,0x4f80 +/* f031e3c: 07210004 */ bgez $t9,.L0f031e50 +/* f031e40: 46803220 */ cvt.s.w $f8,$f6 +/* f031e44: 44815000 */ mtc1 $at,$f10 +/* f031e48: 00000000 */ nop +/* f031e4c: 460a4200 */ add.s $f8,$f8,$f10 +.L0f031e50: +/* f031e50: 3c017f1b */ lui $at,%hi(var7f1a8d1c) +/* f031e54: c4248d1c */ lwc1 $f4,%lo(var7f1a8d1c)($at) +/* f031e58: 46044182 */ mul.s $f6,$f8,$f4 +/* f031e5c: 4600328d */ trunc.w.s $f10,$f6 +/* f031e60: 440e5000 */ mfc1 $t6,$f10 +/* f031e64: 00000000 */ nop +/* f031e68: 25d80001 */ addiu $t8,$t6,0x1 +/* f031e6c: 920e0362 */ lbu $t6,0x362($s0) +/* f031e70: 00186900 */ sll $t5,$t8,0x4 +/* f031e74: 31cfff0f */ andi $t7,$t6,0xff0f +/* f031e78: 01afc025 */ or $t8,$t5,$t7 +/* f031e7c: 0c004b70 */ jal random +/* f031e80: a2180362 */ sb $t8,0x362($s0) +/* f031e84: 24010190 */ addiu $at,$zero,0x190 +/* f031e88: 0041001b */ divu $zero,$v0,$at +/* f031e8c: 0000c810 */ mfhi $t9 +/* f031e90: 44994000 */ mtc1 $t9,$f8 +/* f031e94: 3c014f80 */ lui $at,0x4f80 +/* f031e98: 07210004 */ bgez $t9,.L0f031eac +/* f031e9c: 46804120 */ cvt.s.w $f4,$f8 +/* f031ea0: 44813000 */ mtc1 $at,$f6 +/* f031ea4: 00000000 */ nop +/* f031ea8: 46062100 */ add.s $f4,$f4,$f6 +.L0f031eac: +/* f031eac: 3c017f1b */ lui $at,%hi(var7f1a8d20) +/* f031eb0: c42a8d20 */ lwc1 $f10,%lo(var7f1a8d20)($at) +/* f031eb4: 920e0362 */ lbu $t6,0x362($s0) +/* f031eb8: 460a2202 */ mul.s $f8,$f4,$f10 +/* f031ebc: 4600418d */ trunc.w.s $f6,$f8 +/* f031ec0: 440d3000 */ mfc1 $t5,$f6 +/* f031ec4: 00000000 */ nop +/* f031ec8: 25b80001 */ addiu $t8,$t5,0x1 +/* f031ecc: 3319000f */ andi $t9,$t8,0xf +/* f031ed0: 31cdfff0 */ andi $t5,$t6,0xfff0 +/* f031ed4: 032d7825 */ or $t7,$t9,$t5 +/* f031ed8: a20f0362 */ sb $t7,0x362($s0) +.L0f031edc: +/* f031edc: 8fa20040 */ lw $v0,0x40($sp) +/* f031ee0: 3c188006 */ lui $t8,%hi(var800652b8+0x10) +/* f031ee4: 271852c8 */ addiu $t8,$t8,%lo(var800652b8+0x10) +/* f031ee8: 10580005 */ beq $v0,$t8,.L0f031f00 +/* f031eec: a2000008 */ sb $zero,0x8($s0) +/* f031ef0: 3c0e8006 */ lui $t6,%hi(var800652b8+0x8) +/* f031ef4: 25ce52c0 */ addiu $t6,$t6,%lo(var800652b8+0x8) +/* f031ef8: 144e0035 */ bne $v0,$t6,.L0f031fd0 +/* f031efc: 3c188006 */ lui $t8,%hi(var800652b8) +.L0f031f00: +/* f031f00: 0fc2c73a */ jal handGetSingleUnk34 +/* f031f04: 8fa40120 */ lw $a0,0x120($sp) +/* f031f08: 3c013f00 */ lui $at,0x3f00 +/* f031f0c: 44818000 */ mtc1 $at,$f16 +/* f031f10: 44807000 */ mtc1 $zero,$f14 +/* f031f14: 44802000 */ mtc1 $zero,$f4 +/* f031f18: 46100082 */ mul.s $f2,$f0,$f16 +/* f031f1c: 3c014040 */ lui $at,0x4040 +/* f031f20: 240f0001 */ addiu $t7,$zero,0x1 +/* f031f24: 24050164 */ addiu $a1,$zero,0x164 +/* f031f28: 00003025 */ or $a2,$zero,$zero +/* f031f2c: 460e103e */ c.le.s $f2,$f14 +/* f031f30: 00000000 */ nop +/* f031f34: 45020004 */ bc1fl .L0f031f48 +/* f031f38: 46041032 */ c.eq.s $f2,$f4 +/* f031f3c: 44811000 */ mtc1 $at,$f2 +/* f031f40: 00000000 */ nop +/* f031f44: 46041032 */ c.eq.s $f2,$f4 +.L0f031f48: +/* f031f48: 3c014170 */ lui $at,0x4170 +/* f031f4c: 45030010 */ bc1tl .L0f031f90 +/* f031f50: 8fb90040 */ lw $t9,0x40($sp) +/* f031f54: 44815000 */ mtc1 $at,$f10 +/* f031f58: 8fa20114 */ lw $v0,0x114($sp) +/* f031f5c: e60e02ec */ swc1 $f14,0x2ec($s0) +/* f031f60: 460a1202 */ mul.s $f8,$f2,$f10 +/* f031f64: e60802e8 */ swc1 $f8,0x2e8($s0) +/* f031f68: c4460000 */ lwc1 $f6,0x0($v0) +/* f031f6c: 46023102 */ mul.s $f4,$f6,$f2 +/* f031f70: e60402f0 */ swc1 $f4,0x2f0($s0) +/* f031f74: c44a0004 */ lwc1 $f10,0x4($v0) +/* f031f78: 46025202 */ mul.s $f8,$f10,$f2 +/* f031f7c: e60802f4 */ swc1 $f8,0x2f4($s0) +/* f031f80: c4460008 */ lwc1 $f6,0x8($v0) +/* f031f84: 46023102 */ mul.s $f4,$f6,$f2 +/* f031f88: e60402f8 */ swc1 $f4,0x2f8($s0) +/* f031f8c: 8fb90040 */ lw $t9,0x40($sp) +.L0f031f90: +/* f031f90: 3c0d8006 */ lui $t5,%hi(var800652b8+0x8) +/* f031f94: 25ad52c0 */ addiu $t5,$t5,%lo(var800652b8+0x8) +/* f031f98: 172d02c5 */ bne $t9,$t5,.L0f032ab0 +/* f031f9c: 3c018007 */ lui $at,%hi(g_DrCarollDyingTimer) +/* f031fa0: ac20807c */ sw $zero,%lo(g_DrCarollDyingTimer)($at) +/* f031fa4: 3c014180 */ lui $at,0x4180 +/* f031fa8: 44815000 */ mtc1 $at,$f10 +/* f031fac: ae000120 */ sw $zero,0x120($s0) +/* f031fb0: a20f02b1 */ sb $t7,0x2b1($s0) +/* f031fb4: 8e040020 */ lw $a0,0x20($s0) +/* f031fb8: 44077000 */ mfc1 $a3,$f14 +/* f031fbc: e7b00010 */ swc1 $f16,0x10($sp) +/* f031fc0: 0c007733 */ jal modelSetAnimation +/* f031fc4: e7aa0014 */ swc1 $f10,0x14($sp) +/* f031fc8: 100002ba */ b .L0f032ab4 +/* f031fcc: 8fbf002c */ lw $ra,0x2c($sp) +.L0f031fd0: +/* f031fd0: 271852b8 */ addiu $t8,$t8,%lo(var800652b8) +/* f031fd4: 145801c9 */ bne $v0,$t8,.L0f0326fc +/* f031fd8: 3c198006 */ lui $t9,%hi(var800652b8+0x4) +/* f031fdc: 0c00744f */ jal modelGetAnimNum +/* f031fe0: 8e040020 */ lw $a0,0x20($s0) +/* f031fe4: 24010269 */ addiu $at,$zero,0x269 +/* f031fe8: 10410006 */ beq $v0,$at,.L0f032004 +/* f031fec: 2405026c */ addiu $a1,$zero,0x26c +/* f031ff0: 2401026b */ addiu $at,$zero,0x26b +/* f031ff4: 10410003 */ beq $v0,$at,.L0f032004 +/* f031ff8: 2401026a */ addiu $at,$zero,0x26a +/* f031ffc: 1441000d */ bne $v0,$at,.L0f032034 +/* f032000: c7a00118 */ lwc1 $f0,0x118($sp) +.L0f032004: +/* f032004: 3c013f00 */ lui $at,0x3f00 +/* f032008: 44818000 */ mtc1 $at,$f16 +/* f03200c: 3c014180 */ lui $at,0x4180 +/* f032010: 44814000 */ mtc1 $at,$f8 +/* f032014: 8e040020 */ lw $a0,0x20($s0) +/* f032018: 00003025 */ or $a2,$zero,$zero +/* f03201c: 24070000 */ addiu $a3,$zero,0x0 +/* f032020: e7b00010 */ swc1 $f16,0x10($sp) +/* f032024: 0c007733 */ jal modelSetAnimation +/* f032028: e7a80014 */ swc1 $f8,0x14($sp) +/* f03202c: 100001b1 */ b .L0f0326f4 +/* f032030: 00000000 */ nop +.L0f032034: +/* f032034: 3c017f1b */ lui $at,%hi(var7f1a8d24) +/* f032038: c4268d24 */ lwc1 $f6,%lo(var7f1a8d24)($at) +/* f03203c: 3c017f1b */ lui $at,%hi(var7f1a8d28) +/* f032040: 4606003c */ c.lt.s $f0,$f6 +/* f032044: 00000000 */ nop +/* f032048: 45010006 */ bc1t .L0f032064 +/* f03204c: 00000000 */ nop +/* f032050: c4248d28 */ lwc1 $f4,%lo(var7f1a8d28)($at) +/* f032054: 4600203c */ c.lt.s $f4,$f0 +/* f032058: 00000000 */ nop +/* f03205c: 45000072 */ bc1f .L0f032228 +/* f032060: 00000000 */ nop +.L0f032064: +/* f032064: 0c004b70 */ jal random +/* f032068: 00000000 */ nop +/* f03206c: 24010014 */ addiu $at,$zero,0x14 +/* f032070: 0041001b */ divu $zero,$v0,$at +/* f032074: 00007010 */ mfhi $t6 +/* f032078: 15c0006b */ bnez $t6,.L0f032228 +/* f03207c: 00000000 */ nop +/* f032080: 9219032f */ lbu $t9,0x32f($s0) +/* f032084: 17200068 */ bnez $t9,.L0f032228 +/* f032088: 00000000 */ nop +/* f03208c: 0fc0f917 */ jal chrGetInverseTheta +/* f032090: 02002025 */ or $a0,$s0,$zero +/* f032094: 3c017f1b */ lui $at,%hi(var7f1a8d2c) +/* f032098: c4308d2c */ lwc1 $f16,%lo(var7f1a8d2c)($at) +/* f03209c: 3c017f1b */ lui $at,%hi(var7f1a8d30) +/* f0320a0: c42a8d30 */ lwc1 $f10,%lo(var7f1a8d30)($at) +/* f0320a4: 3c017f1b */ lui $at,%hi(var7f1a8d34) +/* f0320a8: c4288d34 */ lwc1 $f8,%lo(var7f1a8d34)($at) +/* f0320ac: 460a0080 */ add.s $f2,$f0,$f10 +/* f0320b0: 8fa400f8 */ lw $a0,0xf8($sp) +/* f0320b4: 3c064316 */ lui $a2,0x4316 +/* f0320b8: 46080300 */ add.s $f12,$f0,$f8 +/* f0320bc: 46001386 */ mov.s $f14,$f2 +/* f0320c0: 4602803e */ c.le.s $f16,$f2 +/* f0320c4: 46006486 */ mov.s $f18,$f12 +/* f0320c8: 45020003 */ bc1fl .L0f0320d8 +/* f0320cc: 460c803e */ c.le.s $f16,$f12 +/* f0320d0: 46101381 */ sub.s $f14,$f2,$f16 +/* f0320d4: 460c803e */ c.le.s $f16,$f12 +.L0f0320d8: +/* f0320d8: 44057000 */ mfc1 $a1,$f14 +/* f0320dc: 45000002 */ bc1f .L0f0320e8 +/* f0320e0: 00000000 */ nop +/* f0320e4: 46106481 */ sub.s $f18,$f12,$f16 +.L0f0320e8: +/* f0320e8: 0fc0b9a1 */ jal func0f02e684 +/* f0320ec: e7b200c0 */ swc1 $f18,0xc0($sp) +/* f0320f0: c7b200c0 */ lwc1 $f18,0xc0($sp) +/* f0320f4: 8fa400f8 */ lw $a0,0xf8($sp) +/* f0320f8: 3c064316 */ lui $a2,0x4316 +/* f0320fc: 44059000 */ mfc1 $a1,$f18 +/* f032100: 0fc0b9a1 */ jal func0f02e684 +/* f032104: e7a000bc */ swc1 $f0,0xbc($sp) +/* f032108: 3c014316 */ lui $at,0x4316 +/* f03210c: 44816000 */ mtc1 $at,$f12 +/* f032110: c7a200bc */ lwc1 $f2,0xbc($sp) +/* f032114: 460c103c */ c.lt.s $f2,$f12 +/* f032118: 00000000 */ nop +/* f03211c: 45000042 */ bc1f .L0f032228 +/* f032120: 00000000 */ nop +/* f032124: 460c003c */ c.lt.s $f0,$f12 +/* f032128: 3c014120 */ lui $at,0x4120 +/* f03212c: 4500003e */ bc1f .L0f032228 +/* f032130: 00000000 */ nop +/* f032134: 46001301 */ sub.s $f12,$f2,$f0 +/* f032138: 44813000 */ mtc1 $at,$f6 +/* f03213c: 3c01c120 */ lui $at,0xc120 +/* f032140: 4606603c */ c.lt.s $f12,$f6 +/* f032144: 00000000 */ nop +/* f032148: 45000037 */ bc1f .L0f032228 +/* f03214c: 00000000 */ nop +/* f032150: 44812000 */ mtc1 $at,$f4 +/* f032154: 8fad00e8 */ lw $t5,0xe8($sp) +/* f032158: 460c203c */ c.lt.s $f4,$f12 +/* f03215c: 00000000 */ nop +/* f032160: 45000031 */ bc1f .L0f032228 +/* f032164: 00000000 */ nop +/* f032168: 15a0002f */ bnez $t5,.L0f032228 +/* f03216c: 00000000 */ nop +/* f032170: 0c004b70 */ jal random +/* f032174: 00000000 */ nop +/* f032178: 304f0003 */ andi $t7,$v0,0x3 +/* f03217c: 000fc0c0 */ sll $t8,$t7,0x3 +/* f032180: 030fc023 */ subu $t8,$t8,$t7 +/* f032184: 3c0e8006 */ lui $t6,%hi(var800637cc+0x1a4) +/* f032188: 25ce3970 */ addiu $t6,$t6,%lo(var800637cc+0x1a4) +/* f03218c: 0018c080 */ sll $t8,$t8,0x2 +/* f032190: 030e1821 */ addu $v1,$t8,$t6 +/* f032194: c46a0014 */ lwc1 $f10,0x14($v1) +/* f032198: afa300b4 */ sw $v1,0xb4($sp) +/* f03219c: 3c014180 */ lui $at,0x4180 +/* f0321a0: e60a0030 */ swc1 $f10,0x30($s0) +/* f0321a4: c4680018 */ lwc1 $f8,0x18($v1) +/* f0321a8: 44812000 */ mtc1 $at,$f4 +/* f0321ac: 24070000 */ addiu $a3,$zero,0x0 +/* f0321b0: e6080034 */ swc1 $f8,0x34($s0) +/* f0321b4: 8fb90108 */ lw $t9,0x108($sp) +/* f0321b8: c466000c */ lwc1 $f6,0xc($v1) +/* f0321bc: 8c660004 */ lw $a2,0x4($v1) +/* f0321c0: 2f2d0001 */ sltiu $t5,$t9,0x1 +/* f0321c4: afad0018 */ sw $t5,0x18($sp) +/* f0321c8: 84650000 */ lh $a1,0x0($v1) +/* f0321cc: 8fa400f4 */ lw $a0,0xf4($sp) +/* f0321d0: e7a40014 */ swc1 $f4,0x14($sp) +/* f0321d4: 0c0076ff */ jal func0001dbfc +/* f0321d8: e7a60010 */ swc1 $f6,0x10($sp) +/* f0321dc: 8faf00b4 */ lw $t7,0xb4($sp) +/* f0321e0: 44805000 */ mtc1 $zero,$f10 +/* f0321e4: c5e00008 */ lwc1 $f0,0x8($t7) +/* f0321e8: 4600503e */ c.le.s $f10,$f0 +/* f0321ec: 00000000 */ nop +/* f0321f0: 45020005 */ bc1fl .L0f032208 +/* f0321f4: 3c014120 */ lui $at,0x4120 +/* f0321f8: 44050000 */ mfc1 $a1,$f0 +/* f0321fc: 0c007787 */ jal modelSetAnimEndFrame +/* f032200: 8fa400f4 */ lw $a0,0xf4($sp) +/* f032204: 3c014120 */ lui $at,0x4120 +.L0f032208: +/* f032208: 44814000 */ mtc1 $at,$f8 +/* f03220c: 8e180018 */ lw $t8,0x18($s0) +/* f032210: 2401bfff */ addiu $at,$zero,-16385 +/* f032214: 24190001 */ addiu $t9,$zero,0x1 +/* f032218: 03017024 */ and $t6,$t8,$at +/* f03221c: ae0e0018 */ sw $t6,0x18($s0) +/* f032220: e6080024 */ swc1 $f8,0x24($s0) +/* f032224: afb9010c */ sw $t9,0x10c($sp) +.L0f032228: +/* f032228: 3c017f1b */ lui $at,%hi(var7f1a8d38) +/* f03222c: c7a00118 */ lwc1 $f0,0x118($sp) +/* f032230: c4268d38 */ lwc1 $f6,%lo(var7f1a8d38)($at) +/* f032234: 3c017f1b */ lui $at,%hi(var7f1a8d3c) +/* f032238: 4600303c */ c.lt.s $f6,$f0 +/* f03223c: 00000000 */ nop +/* f032240: 4502006a */ bc1fl .L0f0323ec +/* f032244: 8faf010c */ lw $t7,0x10c($sp) +/* f032248: c4248d3c */ lwc1 $f4,%lo(var7f1a8d3c)($at) +/* f03224c: 4604003c */ c.lt.s $f0,$f4 +/* f032250: 00000000 */ nop +/* f032254: 45020065 */ bc1fl .L0f0323ec +/* f032258: 8faf010c */ lw $t7,0x10c($sp) +/* f03225c: 0c004b70 */ jal random +/* f032260: 00000000 */ nop +/* f032264: 24010005 */ addiu $at,$zero,0x5 +/* f032268: 0041001b */ divu $zero,$v0,$at +/* f03226c: 00006810 */ mfhi $t5 +/* f032270: 2da10002 */ sltiu $at,$t5,0x2 +/* f032274: 5020005d */ beqzl $at,.L0f0323ec +/* f032278: 8faf010c */ lw $t7,0x10c($sp) +/* f03227c: 920f032f */ lbu $t7,0x32f($s0) +/* f032280: 27a20074 */ addiu $v0,$sp,0x74 +/* f032284: 2404000b */ addiu $a0,$zero,0xb +/* f032288: 15e00057 */ bnez $t7,.L0f0323e8 +/* f03228c: 8fa5011c */ lw $a1,0x11c($sp) +/* f032290: 3c188007 */ lui $t8,%hi(var80068084) +/* f032294: 27188084 */ addiu $t8,$t8,%lo(var80068084) +/* f032298: 27190030 */ addiu $t9,$t8,0x30 +/* f03229c: 00406825 */ or $t5,$v0,$zero +.L0f0322a0: +/* f0322a0: 8f010000 */ lw $at,0x0($t8) +/* f0322a4: 2718000c */ addiu $t8,$t8,12 +/* f0322a8: 25ad000c */ addiu $t5,$t5,12 +/* f0322ac: ada1fff4 */ sw $at,-0xc($t5) +/* f0322b0: 8f01fff8 */ lw $at,-0x8($t8) +/* f0322b4: ada1fff8 */ sw $at,-0x8($t5) +/* f0322b8: 8f01fffc */ lw $at,-0x4($t8) +/* f0322bc: 1719fff8 */ bne $t8,$t9,.L0f0322a0 +/* f0322c0: ada1fffc */ sw $at,-0x4($t5) +/* f0322c4: 8f010000 */ lw $at,0x0($t8) +/* f0322c8: 240f0001 */ addiu $t7,$zero,0x1 +/* f0322cc: ada10000 */ sw $at,0x0($t5) +/* f0322d0: 8f190004 */ lw $t9,0x4($t8) +/* f0322d4: 2401000e */ addiu $at,$zero,0xe +/* f0322d8: adb90004 */ sw $t9,0x4($t5) +/* f0322dc: 8fa90108 */ lw $t1,0x108($sp) +/* f0322e0: afaf010c */ sw $t7,0x10c($sp) +/* f0322e4: 2d2e0001 */ sltiu $t6,$t1,0x1 +/* f0322e8: 10a40003 */ beq $a1,$a0,.L0f0322f8 +/* f0322ec: 01c04825 */ or $t1,$t6,$zero +/* f0322f0: 14a10007 */ bne $a1,$at,.L0f032310 +/* f0322f4: 27a30090 */ addiu $v1,$sp,0x90 +.L0f0322f8: +/* f0322f8: 14a40003 */ bne $a1,$a0,.L0f032308 +/* f0322fc: 00401825 */ or $v1,$v0,$zero +/* f032300: 10000009 */ b .L0f032328 +/* f032304: 24060001 */ addiu $a2,$zero,0x1 +.L0f032308: +/* f032308: 10000007 */ b .L0f032328 +/* f03230c: 00003025 */ or $a2,$zero,$zero +.L0f032310: +/* f032310: afa300ac */ sw $v1,0xac($sp) +/* f032314: 0c004b70 */ jal random +/* f032318: afa90038 */ sw $t1,0x38($sp) +/* f03231c: 8fa300ac */ lw $v1,0xac($sp) +/* f032320: 8fa90038 */ lw $t1,0x38($sp) +/* f032324: 30460001 */ andi $a2,$v0,0x1 +.L0f032328: +/* f032328: c46a0014 */ lwc1 $f10,0x14($v1) +/* f03232c: 3c014180 */ lui $at,0x4180 +/* f032330: 44812000 */ mtc1 $at,$f4 +/* f032334: e60a0030 */ swc1 $f10,0x30($s0) +/* f032338: c4680018 */ lwc1 $f8,0x18($v1) +/* f03233c: 24070000 */ addiu $a3,$zero,0x0 +/* f032340: e6080034 */ swc1 $f8,0x34($s0) +/* f032344: c466000c */ lwc1 $f6,0xc($v1) +/* f032348: 84650000 */ lh $a1,0x0($v1) +/* f03234c: afa300ac */ sw $v1,0xac($sp) +/* f032350: afa90018 */ sw $t1,0x18($sp) +/* f032354: 8fa400f4 */ lw $a0,0xf4($sp) +/* f032358: e7a40014 */ swc1 $f4,0x14($sp) +/* f03235c: 0c0076ff */ jal func0001dbfc +/* f032360: e7a60010 */ swc1 $f6,0x10($sp) +/* f032364: 8fa300ac */ lw $v1,0xac($sp) +/* f032368: 44805000 */ mtc1 $zero,$f10 +/* f03236c: 02002025 */ or $a0,$s0,$zero +/* f032370: c4600008 */ lwc1 $f0,0x8($v1) +/* f032374: 4600503e */ c.le.s $f10,$f0 +/* f032378: 00000000 */ nop +/* f03237c: 45000009 */ bc1f .L0f0323a4 +/* f032380: 00000000 */ nop +/* f032384: 44050000 */ mfc1 $a1,$f0 +/* f032388: 0fc0b898 */ jal chrGetRangedArghSpeed +/* f03238c: 3c064100 */ lui $a2,0x4100 +/* f032390: 44050000 */ mfc1 $a1,$f0 +/* f032394: 0c007787 */ jal modelSetAnimEndFrame +/* f032398: 8fa400f4 */ lw $a0,0xf4($sp) +/* f03239c: 1000000f */ b .L0f0323dc +/* f0323a0: 8e180018 */ lw $t8,0x18($s0) +.L0f0323a4: +/* f0323a4: 0c008dda */ jal animGetNumFrames +/* f0323a8: 84640000 */ lh $a0,0x0($v1) +/* f0323ac: 2459ffff */ addiu $t9,$v0,-1 +/* f0323b0: 44994000 */ mtc1 $t9,$f8 +/* f0323b4: 02002025 */ or $a0,$s0,$zero +/* f0323b8: 3c064100 */ lui $a2,0x4100 +/* f0323bc: 46804220 */ cvt.s.w $f8,$f8 +/* f0323c0: 44054000 */ mfc1 $a1,$f8 +/* f0323c4: 0fc0b898 */ jal chrGetRangedArghSpeed +/* f0323c8: 00000000 */ nop +/* f0323cc: 44050000 */ mfc1 $a1,$f0 +/* f0323d0: 0c007787 */ jal modelSetAnimEndFrame +/* f0323d4: 8fa400f4 */ lw $a0,0xf4($sp) +/* f0323d8: 8e180018 */ lw $t8,0x18($s0) +.L0f0323dc: +/* f0323dc: 2401bfff */ addiu $at,$zero,-16385 +/* f0323e0: 03016824 */ and $t5,$t8,$at +/* f0323e4: ae0d0018 */ sw $t5,0x18($s0) +.L0f0323e8: +/* f0323e8: 8faf010c */ lw $t7,0x10c($sp) +.L0f0323ec: +/* f0323ec: 8fa20104 */ lw $v0,0x104($sp) +/* f0323f0: 15e000c0 */ bnez $t7,.L0f0326f4 +/* f0323f4: 00000000 */ nop +/* f0323f8: 044000be */ bltz $v0,.L0f0326f4 +/* f0323fc: 8fae0040 */ lw $t6,0x40($sp) +/* f032400: 8dd90000 */ lw $t9,0x0($t6) +/* f032404: 00023080 */ sll $a2,$v0,0x2 +/* f032408: 00c23021 */ addu $a2,$a2,$v0 +/* f03240c: 00063080 */ sll $a2,$a2,0x2 +/* f032410: 03261821 */ addu $v1,$t9,$a2 +/* f032414: 8c780004 */ lw $t8,0x4($v1) +/* f032418: 130000b6 */ beqz $t8,.L0f0326f4 +/* f03241c: 00000000 */ nop +/* f032420: 8c6d000c */ lw $t5,0xc($v1) +/* f032424: 8faf00e8 */ lw $t7,0xe8($sp) +/* f032428: 19a000b2 */ blez $t5,.L0f0326f4 +/* f03242c: 00000000 */ nop +/* f032430: 15e000b0 */ bnez $t7,.L0f0326f4 +/* f032434: 8fa90108 */ lw $t1,0x108($sp) +/* f032438: 9204032f */ lbu $a0,0x32f($s0) +/* f03243c: 2d2e0001 */ sltiu $t6,$t1,0x1 +/* f032440: 01c04825 */ or $t1,$t6,$zero +/* f032444: 14800017 */ bnez $a0,.L0f0324a4 +/* f032448: 24010006 */ addiu $at,$zero,0x6 +/* f03244c: afa60034 */ sw $a2,0x34($sp) +/* f032450: 0c004b70 */ jal random +/* f032454: afae0038 */ sw $t6,0x38($sp) +/* f032458: 8fb90040 */ lw $t9,0x40($sp) +/* f03245c: 8fa60034 */ lw $a2,0x34($sp) +/* f032460: 8fa90038 */ lw $t1,0x38($sp) +/* f032464: 8f380000 */ lw $t8,0x0($t9) +/* f032468: 9204032f */ lbu $a0,0x32f($s0) +/* f03246c: 03061821 */ addu $v1,$t8,$a2 +/* f032470: 8c6d000c */ lw $t5,0xc($v1) +/* f032474: 8c6f0004 */ lw $t7,0x4($v1) +/* f032478: 004d001b */ divu $zero,$v0,$t5 +/* f03247c: 00002810 */ mfhi $a1 +/* f032480: 000570c0 */ sll $t6,$a1,0x3 +/* f032484: 01c57023 */ subu $t6,$t6,$a1 +/* f032488: 000e7080 */ sll $t6,$t6,0x2 +/* f03248c: 15a00002 */ bnez $t5,.L0f032498 +/* f032490: 00000000 */ nop +/* f032494: 0007000d */ break 0x7 +.L0f032498: +/* f032498: 01ee4021 */ addu $t0,$t7,$t6 +/* f03249c: 1000003e */ b .L0f032598 +/* f0324a0: c5060014 */ lwc1 $f6,0x14($t0) +.L0f0324a4: +/* f0324a4: 14810035 */ bne $a0,$at,.L0f03257c +/* f0324a8: 0004c0c0 */ sll $t8,$a0,0x3 +/* f0324ac: 0c004b70 */ jal random +/* f0324b0: afa90038 */ sw $t1,0x38($sp) +/* f0324b4: 920d032f */ lbu $t5,0x32f($s0) +/* f0324b8: 30590001 */ andi $t9,$v0,0x1 +/* f0324bc: 0019c0c0 */ sll $t8,$t9,0x3 +/* f0324c0: 0319c023 */ subu $t8,$t8,$t9 +/* f0324c4: 000d78c0 */ sll $t7,$t5,0x3 +/* f0324c8: 8e0402e4 */ lw $a0,0x2e4($s0) +/* f0324cc: 01ed7823 */ subu $t7,$t7,$t5 +/* f0324d0: 000f7880 */ sll $t7,$t7,0x2 +/* f0324d4: 0018c080 */ sll $t8,$t8,0x2 +/* f0324d8: 3c198006 */ lui $t9,%hi(var80064de4+0x38) +/* f0324dc: 27394e1c */ addiu $t9,$t9,%lo(var80064de4+0x38) +/* f0324e0: 030f7021 */ addu $t6,$t8,$t7 +/* f0324e4: 01d94021 */ addu $t0,$t6,$t9 +/* f0324e8: 04800022 */ bltz $a0,.L0f032574 +/* f0324ec: 8fa90038 */ lw $t1,0x38($sp) +/* f0324f0: afa8006c */ sw $t0,0x6c($sp) +/* f0324f4: 0fc2556c */ jal objFindByTagId +/* f0324f8: afa90038 */ sw $t1,0x38($sp) +/* f0324fc: 8c4d0010 */ lw $t5,0x10($v0) +/* f032500: 8c4f0008 */ lw $t7,0x8($v0) +/* f032504: 2401fffe */ addiu $at,$zero,-2 +/* f032508: 01a1c024 */ and $t8,$t5,$at +/* f03250c: 3c010002 */ lui $at,0x2 +/* f032510: 8fa8006c */ lw $t0,0x6c($sp) +/* f032514: 8fa90038 */ lw $t1,0x38($sp) +/* f032518: 01e17025 */ or $t6,$t7,$at +/* f03251c: ac580010 */ sw $t8,0x10($v0) +/* f032520: 10400008 */ beqz $v0,.L0f032544 +/* f032524: ac4e0008 */ sw $t6,0x8($v0) +/* f032528: 8c590014 */ lw $t9,0x14($v0) +/* f03252c: 53200006 */ beqzl $t9,.L0f032548 +/* f032530: 84580004 */ lh $t8,0x4($v0) +/* f032534: 844d0004 */ lh $t5,0x4($v0) +/* f032538: 24010041 */ addiu $at,$zero,0x41 +/* f03253c: 51a10006 */ beql $t5,$at,.L0f032558 +/* f032540: 920f032f */ lbu $t7,0x32f($s0) +.L0f032544: +/* f032544: 84580004 */ lh $t8,0x4($v0) +.L0f032548: +/* f032548: 24010040 */ addiu $at,$zero,0x40 +/* f03254c: 17010009 */ bne $t8,$at,.L0f032574 +/* f032550: 00000000 */ nop +/* f032554: 920f032f */ lbu $t7,0x32f($s0) +.L0f032558: +/* f032558: 3c0d8006 */ lui $t5,%hi(var80064de4+0x38) +/* f03255c: 25ad4e1c */ addiu $t5,$t5,%lo(var80064de4+0x38) +/* f032560: 000f70c0 */ sll $t6,$t7,0x3 +/* f032564: 01cf7023 */ subu $t6,$t6,$t7 +/* f032568: 000e7080 */ sll $t6,$t6,0x2 +/* f03256c: 25d9ffe4 */ addiu $t9,$t6,-28 +/* f032570: 032d4021 */ addu $t0,$t9,$t5 +.L0f032574: +/* f032574: 10000007 */ b .L0f032594 +/* f032578: 9204032f */ lbu $a0,0x32f($s0) +.L0f03257c: +/* f03257c: 0304c023 */ subu $t8,$t8,$a0 +/* f032580: 0018c080 */ sll $t8,$t8,0x2 +/* f032584: 3c0e8006 */ lui $t6,%hi(var80064de4+0x38) +/* f032588: 25ce4e1c */ addiu $t6,$t6,%lo(var80064de4+0x38) +/* f03258c: 270fffe4 */ addiu $t7,$t8,-28 +/* f032590: 01ee4021 */ addu $t0,$t7,$t6 +.L0f032594: +/* f032594: c5060014 */ lwc1 $f6,0x14($t0) +.L0f032598: +/* f032598: 24070000 */ addiu $a3,$zero,0x0 +/* f03259c: 3c0141f0 */ lui $at,0x41f0 +/* f0325a0: e6060030 */ swc1 $f6,0x30($s0) +/* f0325a4: c5040018 */ lwc1 $f4,0x18($t0) +/* f0325a8: 1480000f */ bnez $a0,.L0f0325e8 +/* f0325ac: e6040034 */ swc1 $f4,0x34($s0) +/* f0325b0: c50a000c */ lwc1 $f10,0xc($t0) +/* f0325b4: 85050000 */ lh $a1,0x0($t0) +/* f0325b8: 8d060004 */ lw $a2,0x4($t0) +/* f0325bc: 3c014180 */ lui $at,0x4180 +/* f0325c0: 44814000 */ mtc1 $at,$f8 +/* f0325c4: afa8006c */ sw $t0,0x6c($sp) +/* f0325c8: afa90018 */ sw $t1,0x18($sp) +/* f0325cc: 8fa400f4 */ lw $a0,0xf4($sp) +/* f0325d0: 24070000 */ addiu $a3,$zero,0x0 +/* f0325d4: e7aa0010 */ swc1 $f10,0x10($sp) +/* f0325d8: 0c0076ff */ jal func0001dbfc +/* f0325dc: e7a80014 */ swc1 $f8,0x14($sp) +/* f0325e0: 1000000c */ b .L0f032614 +/* f0325e4: 8fa8006c */ lw $t0,0x6c($sp) +.L0f0325e8: +/* f0325e8: c506000c */ lwc1 $f6,0xc($t0) +/* f0325ec: 85050000 */ lh $a1,0x0($t0) +/* f0325f0: 8d060004 */ lw $a2,0x4($t0) +/* f0325f4: 44812000 */ mtc1 $at,$f4 +/* f0325f8: afa8006c */ sw $t0,0x6c($sp) +/* f0325fc: afa90018 */ sw $t1,0x18($sp) +/* f032600: 8fa400f4 */ lw $a0,0xf4($sp) +/* f032604: e7a60010 */ swc1 $f6,0x10($sp) +/* f032608: 0c0076ff */ jal func0001dbfc +/* f03260c: e7a40014 */ swc1 $f4,0x14($sp) +/* f032610: 8fa8006c */ lw $t0,0x6c($sp) +.L0f032614: +/* f032614: c5000008 */ lwc1 $f0,0x8($t0) +/* f032618: 44805000 */ mtc1 $zero,$f10 +/* f03261c: 8fa400f4 */ lw $a0,0xf4($sp) +/* f032620: 4600503e */ c.le.s $f10,$f0 +/* f032624: 00000000 */ nop +/* f032628: 45020006 */ bc1fl .L0f032644 +/* f03262c: 8fa40120 */ lw $a0,0x120($sp) +/* f032630: 44050000 */ mfc1 $a1,$f0 +/* f032634: 0c007787 */ jal modelSetAnimEndFrame +/* f032638: afa8006c */ sw $t0,0x6c($sp) +/* f03263c: 8fa8006c */ lw $t0,0x6c($sp) +/* f032640: 8fa40120 */ lw $a0,0x120($sp) +.L0f032644: +/* f032644: 0fc2c73a */ jal handGetSingleUnk34 +/* f032648: afa8006c */ sw $t0,0x6c($sp) +/* f03264c: 44804000 */ mtc1 $zero,$f8 +/* f032650: 8fa8006c */ lw $t0,0x6c($sp) +/* f032654: 46000086 */ mov.s $f2,$f0 +/* f032658: 4608003e */ c.le.s $f0,$f8 +/* f03265c: 00000000 */ nop +/* f032660: 45020009 */ bc1fl .L0f032688 +/* f032664: 8d180010 */ lw $t8,0x10($t0) +/* f032668: 8e190018 */ lw $t9,0x18($s0) +/* f03266c: 3c0140c0 */ lui $at,0x40c0 +/* f032670: 332d8000 */ andi $t5,$t9,0x8000 +/* f032674: 51a00004 */ beqzl $t5,.L0f032688 +/* f032678: 8d180010 */ lw $t8,0x10($t0) +/* f03267c: 44811000 */ mtc1 $at,$f2 +/* f032680: 00000000 */ nop +/* f032684: 8d180010 */ lw $t8,0x10($t0) +.L0f032688: +/* f032688: 53000017 */ beqzl $t8,.L0f0326e8 +/* f03268c: 8e0f0018 */ lw $t7,0x18($s0) +/* f032690: 44803000 */ mtc1 $zero,$f6 +/* f032694: 3c014170 */ lui $at,0x4170 +/* f032698: 4602303c */ c.lt.s $f6,$f2 +/* f03269c: 00000000 */ nop +/* f0326a0: 45020011 */ bc1fl .L0f0326e8 +/* f0326a4: 8e0f0018 */ lw $t7,0x18($s0) +/* f0326a8: 44812000 */ mtc1 $at,$f4 +/* f0326ac: 8fa20114 */ lw $v0,0x114($sp) +/* f0326b0: 44804000 */ mtc1 $zero,$f8 +/* f0326b4: 46041282 */ mul.s $f10,$f2,$f4 +/* f0326b8: e608003c */ swc1 $f8,0x3c($s0) +/* f0326bc: e60a0038 */ swc1 $f10,0x38($s0) +/* f0326c0: c4460000 */ lwc1 $f6,0x0($v0) +/* f0326c4: 46023102 */ mul.s $f4,$f6,$f2 +/* f0326c8: e6040040 */ swc1 $f4,0x40($s0) +/* f0326cc: c44a0004 */ lwc1 $f10,0x4($v0) +/* f0326d0: 46025202 */ mul.s $f8,$f10,$f2 +/* f0326d4: e6080044 */ swc1 $f8,0x44($s0) +/* f0326d8: c4460008 */ lwc1 $f6,0x8($v0) +/* f0326dc: 46023102 */ mul.s $f4,$f6,$f2 +/* f0326e0: e6040048 */ swc1 $f4,0x48($s0) +/* f0326e4: 8e0f0018 */ lw $t7,0x18($s0) +.L0f0326e8: +/* f0326e8: 2401bfff */ addiu $at,$zero,-16385 +/* f0326ec: 01e17024 */ and $t6,$t7,$at +/* f0326f0: ae0e0018 */ sw $t6,0x18($s0) +.L0f0326f4: +/* f0326f4: 100000ae */ b .L0f0329b0 +/* f0326f8: 8fa20040 */ lw $v0,0x40($sp) +.L0f0326fc: +/* f0326fc: 273952bc */ addiu $t9,$t9,%lo(var800652b8+0x4) +/* f032700: 145900ab */ bne $v0,$t9,.L0f0329b0 +/* f032704: 3c017f1b */ lui $at,%hi(var7f1a8d40) +/* f032708: c42a8d40 */ lwc1 $f10,%lo(var7f1a8d40)($at) +/* f03270c: c7a80118 */ lwc1 $f8,0x118($sp) +/* f032710: 3c017f1b */ lui $at,%hi(var7f1a8d44) +/* f032714: 8faf0104 */ lw $t7,0x104($sp) +/* f032718: 4608503c */ c.lt.s $f10,$f8 +/* f03271c: 00000000 */ nop +/* f032720: 4500003a */ bc1f .L0f03280c +/* f032724: 00000000 */ nop +/* f032728: c4268d44 */ lwc1 $f6,%lo(var7f1a8d44)($at) +/* f03272c: 4606403c */ c.lt.s $f8,$f6 +/* f032730: 00000000 */ nop +/* f032734: 45000035 */ bc1f .L0f03280c +/* f032738: 00000000 */ nop +/* f03273c: 0c004b70 */ jal random +/* f032740: 00000000 */ nop +/* f032744: 0c004b70 */ jal random +/* f032748: afa20054 */ sw $v0,0x54($sp) +/* f03274c: 8fa30054 */ lw $v1,0x54($sp) +/* f032750: 24010006 */ addiu $at,$zero,0x6 +/* f032754: 8fad0040 */ lw $t5,0x40($sp) +/* f032758: 0061001b */ divu $zero,$v1,$at +/* f03275c: 00007810 */ mfhi $t7 +/* f032760: 24010003 */ addiu $at,$zero,0x3 +/* f032764: 8db80000 */ lw $t8,0x0($t5) +/* f032768: 0041001b */ divu $zero,$v0,$at +/* f03276c: 000f7080 */ sll $t6,$t7,0x2 +/* f032770: 01cf7021 */ addu $t6,$t6,$t7 +/* f032774: 000e7080 */ sll $t6,$t6,0x2 +/* f032778: 030ec821 */ addu $t9,$t8,$t6 +/* f03277c: 00007810 */ mfhi $t7 +/* f032780: 8f2d0018 */ lw $t5,0x18($t9) +/* f032784: 000fc0c0 */ sll $t8,$t7,0x3 +/* f032788: 030fc023 */ subu $t8,$t8,$t7 +/* f03278c: 0018c080 */ sll $t8,$t8,0x2 +/* f032790: 030d4021 */ addu $t0,$t8,$t5 +/* f032794: c5040014 */ lwc1 $f4,0x14($t0) +/* f032798: 3c014180 */ lui $at,0x4180 +/* f03279c: 44813000 */ mtc1 $at,$f6 +/* f0327a0: e6040030 */ swc1 $f4,0x30($s0) +/* f0327a4: c50a0018 */ lwc1 $f10,0x18($t0) +/* f0327a8: 24070000 */ addiu $a3,$zero,0x0 +/* f0327ac: e60a0034 */ swc1 $f10,0x34($s0) +/* f0327b0: 8fae0108 */ lw $t6,0x108($sp) +/* f0327b4: c508000c */ lwc1 $f8,0xc($t0) +/* f0327b8: 8d060004 */ lw $a2,0x4($t0) +/* f0327bc: 85050000 */ lh $a1,0x0($t0) +/* f0327c0: 2dd90001 */ sltiu $t9,$t6,0x1 +/* f0327c4: afb90018 */ sw $t9,0x18($sp) +/* f0327c8: afa80060 */ sw $t0,0x60($sp) +/* f0327cc: 8fa400f4 */ lw $a0,0xf4($sp) +/* f0327d0: e7a60014 */ swc1 $f6,0x14($sp) +/* f0327d4: 0c0076ff */ jal func0001dbfc +/* f0327d8: e7a80010 */ swc1 $f8,0x10($sp) +/* f0327dc: 8fa80060 */ lw $t0,0x60($sp) +/* f0327e0: 44802000 */ mtc1 $zero,$f4 +/* f0327e4: c5000008 */ lwc1 $f0,0x8($t0) +/* f0327e8: 4600203e */ c.le.s $f4,$f0 +/* f0327ec: 00000000 */ nop +/* f0327f0: 4502006f */ bc1fl .L0f0329b0 +/* f0327f4: 8fa20040 */ lw $v0,0x40($sp) +/* f0327f8: 44050000 */ mfc1 $a1,$f0 +/* f0327fc: 0c007787 */ jal modelSetAnimEndFrame +/* f032800: 8fa400f4 */ lw $a0,0xf4($sp) +/* f032804: 1000006a */ b .L0f0329b0 +/* f032808: 8fa20040 */ lw $v0,0x40($sp) +.L0f03280c: +/* f03280c: 05e0001e */ bltz $t7,.L0f032888 +/* f032810: 000f3080 */ sll $a2,$t7,0x2 +/* f032814: 8c580000 */ lw $t8,0x0($v0) +/* f032818: 00cf3021 */ addu $a2,$a2,$t7 +/* f03281c: 00063080 */ sll $a2,$a2,0x2 +/* f032820: 03061821 */ addu $v1,$t8,$a2 +/* f032824: 8c6d0004 */ lw $t5,0x4($v1) +/* f032828: 51a00018 */ beqzl $t5,.L0f03288c +/* f03282c: 8c4f0000 */ lw $t7,0x0($v0) +/* f032830: 8c6e000c */ lw $t6,0xc($v1) +/* f032834: 59c00015 */ blezl $t6,.L0f03288c +/* f032838: 8c4f0000 */ lw $t7,0x0($v0) +/* f03283c: 0c004b70 */ jal random +/* f032840: afa60034 */ sw $a2,0x34($sp) +/* f032844: 8fb90040 */ lw $t9,0x40($sp) +/* f032848: 8fa60034 */ lw $a2,0x34($sp) +/* f03284c: 8f2f0000 */ lw $t7,0x0($t9) +/* f032850: 01e61821 */ addu $v1,$t7,$a2 +/* f032854: 8c78000c */ lw $t8,0xc($v1) +/* f032858: 8c6d0004 */ lw $t5,0x4($v1) +/* f03285c: 0058001b */ divu $zero,$v0,$t8 +/* f032860: 00002010 */ mfhi $a0 +/* f032864: 000470c0 */ sll $t6,$a0,0x3 +/* f032868: 01c47023 */ subu $t6,$t6,$a0 +/* f03286c: 000e7080 */ sll $t6,$t6,0x2 +/* f032870: 17000002 */ bnez $t8,.L0f03287c +/* f032874: 00000000 */ nop +/* f032878: 0007000d */ break 0x7 +.L0f03287c: +/* f03287c: 03201025 */ or $v0,$t9,$zero +/* f032880: 10000003 */ b .L0f032890 +/* f032884: 01ae4021 */ addu $t0,$t5,$t6 +.L0f032888: +/* f032888: 8c4f0000 */ lw $t7,0x0($v0) +.L0f03288c: +/* f03288c: 8de80004 */ lw $t0,0x4($t7) +.L0f032890: +/* f032890: c50a0014 */ lwc1 $f10,0x14($t0) +/* f032894: 3c014180 */ lui $at,0x4180 +/* f032898: 44812000 */ mtc1 $at,$f4 +/* f03289c: e60a0030 */ swc1 $f10,0x30($s0) +/* f0328a0: c5080018 */ lwc1 $f8,0x18($t0) +/* f0328a4: 24070000 */ addiu $a3,$zero,0x0 +/* f0328a8: e6080034 */ swc1 $f8,0x34($s0) +/* f0328ac: 8fb80108 */ lw $t8,0x108($sp) +/* f0328b0: c506000c */ lwc1 $f6,0xc($t0) +/* f0328b4: 8d060004 */ lw $a2,0x4($t0) +/* f0328b8: 85050000 */ lh $a1,0x0($t0) +/* f0328bc: 2f0d0001 */ sltiu $t5,$t8,0x1 +/* f0328c0: afad0018 */ sw $t5,0x18($sp) +/* f0328c4: afa80060 */ sw $t0,0x60($sp) +/* f0328c8: 8fa400f4 */ lw $a0,0xf4($sp) +/* f0328cc: e7a40014 */ swc1 $f4,0x14($sp) +/* f0328d0: 0c0076ff */ jal func0001dbfc +/* f0328d4: e7a60010 */ swc1 $f6,0x10($sp) +/* f0328d8: 8fa80060 */ lw $t0,0x60($sp) +/* f0328dc: 44805000 */ mtc1 $zero,$f10 +/* f0328e0: 8fa400f4 */ lw $a0,0xf4($sp) +/* f0328e4: c5000008 */ lwc1 $f0,0x8($t0) +/* f0328e8: 4600503e */ c.le.s $f10,$f0 +/* f0328ec: 00000000 */ nop +/* f0328f0: 45020006 */ bc1fl .L0f03290c +/* f0328f4: 8fa40120 */ lw $a0,0x120($sp) +/* f0328f8: 44050000 */ mfc1 $a1,$f0 +/* f0328fc: 0c007787 */ jal modelSetAnimEndFrame +/* f032900: afa80060 */ sw $t0,0x60($sp) +/* f032904: 8fa80060 */ lw $t0,0x60($sp) +/* f032908: 8fa40120 */ lw $a0,0x120($sp) +.L0f03290c: +/* f03290c: 0fc2c73a */ jal handGetSingleUnk34 +/* f032910: afa80060 */ sw $t0,0x60($sp) +/* f032914: 44804000 */ mtc1 $zero,$f8 +/* f032918: 8fa80060 */ lw $t0,0x60($sp) +/* f03291c: 46000086 */ mov.s $f2,$f0 +/* f032920: 4608003e */ c.le.s $f0,$f8 +/* f032924: 00000000 */ nop +/* f032928: 45020009 */ bc1fl .L0f032950 +/* f03292c: 8d0f0010 */ lw $t7,0x10($t0) +/* f032930: 8e0e0018 */ lw $t6,0x18($s0) +/* f032934: 3c0140c0 */ lui $at,0x40c0 +/* f032938: 31d98000 */ andi $t9,$t6,0x8000 +/* f03293c: 53200004 */ beqzl $t9,.L0f032950 +/* f032940: 8d0f0010 */ lw $t7,0x10($t0) +/* f032944: 44811000 */ mtc1 $at,$f2 +/* f032948: 00000000 */ nop +/* f03294c: 8d0f0010 */ lw $t7,0x10($t0) +.L0f032950: +/* f032950: 51e00017 */ beqzl $t7,.L0f0329b0 +/* f032954: 8fa20040 */ lw $v0,0x40($sp) +/* f032958: 44803000 */ mtc1 $zero,$f6 +/* f03295c: 3c014170 */ lui $at,0x4170 +/* f032960: 4602303c */ c.lt.s $f6,$f2 +/* f032964: 00000000 */ nop +/* f032968: 45020011 */ bc1fl .L0f0329b0 +/* f03296c: 8fa20040 */ lw $v0,0x40($sp) +/* f032970: 44812000 */ mtc1 $at,$f4 +/* f032974: 8fa20114 */ lw $v0,0x114($sp) +/* f032978: 44804000 */ mtc1 $zero,$f8 +/* f03297c: 46041282 */ mul.s $f10,$f2,$f4 +/* f032980: e608003c */ swc1 $f8,0x3c($s0) +/* f032984: e60a0038 */ swc1 $f10,0x38($s0) +/* f032988: c4460000 */ lwc1 $f6,0x0($v0) +/* f03298c: 46023102 */ mul.s $f4,$f6,$f2 +/* f032990: e6040040 */ swc1 $f4,0x40($s0) +/* f032994: c44a0004 */ lwc1 $f10,0x4($v0) +/* f032998: 46025202 */ mul.s $f8,$f10,$f2 +/* f03299c: e6080044 */ swc1 $f8,0x44($s0) +/* f0329a0: c4460008 */ lwc1 $f6,0x8($v0) +/* f0329a4: 46023102 */ mul.s $f4,$f6,$f2 +/* f0329a8: e6040048 */ swc1 $f4,0x48($s0) +/* f0329ac: 8fa20040 */ lw $v0,0x40($sp) +.L0f0329b0: +/* f0329b0: 3c18800a */ lui $t8,%hi(g_Vars+0x314) +/* f0329b4: 8f18a2d4 */ lw $t8,%lo(g_Vars+0x314)($t8) +/* f0329b8: 8fa40128 */ lw $a0,0x128($sp) +/* f0329bc: 13000008 */ beqz $t8,.L0f0329e0 +/* f0329c0: 00000000 */ nop +/* f0329c4: 0fc633fe */ jal mpPlayerGetIndex +/* f0329c8: 02002025 */ or $a0,$s0,$zero +/* f0329cc: 8fa40128 */ lw $a0,0x128($sp) +/* f0329d0: 0fc2c27d */ jal mpstatsRecordDeath +/* f0329d4: 00402825 */ or $a1,$v0,$zero +/* f0329d8: 1000000b */ b .L0f032a08 +/* f0329dc: 8fa20040 */ lw $v0,0x40($sp) +.L0f0329e0: +/* f0329e0: 04800009 */ bltz $a0,.L0f032a08 +/* f0329e4: 3c0d800a */ lui $t5,%hi(g_Vars+0x28c) +/* f0329e8: 8dada24c */ lw $t5,%lo(g_Vars+0x28c)($t5) +/* f0329ec: 0fc4a24b */ jal setCurrentPlayerNum +/* f0329f0: afad0058 */ sw $t5,0x58($sp) +/* f0329f4: 0fc2c169 */ jal mpstatsRecordPlayerKill +/* f0329f8: 00000000 */ nop +/* f0329fc: 0fc4a24b */ jal setCurrentPlayerNum +/* f032a00: 8fa40058 */ lw $a0,0x58($sp) +/* f032a04: 8fa20040 */ lw $v0,0x40($sp) +.L0f032a08: +/* f032a08: 8e0e0018 */ lw $t6,0x18($s0) +/* f032a0c: 000ecac0 */ sll $t9,$t6,0xb +/* f032a10: 07210004 */ bgez $t9,.L0f032a24 +/* f032a14: 00000000 */ nop +/* f032a18: 0fc2c151 */ jal mpstatsIncrementTotalKillCount +/* f032a1c: 00000000 */ nop +/* f032a20: 8fa20040 */ lw $v0,0x40($sp) +.L0f032a24: +/* f032a24: 3c0f8006 */ lui $t7,%hi(var800652b8) +/* f032a28: 25ef52b8 */ addiu $t7,$t7,%lo(var800652b8) +/* f032a2c: 104f0004 */ beq $v0,$t7,.L0f032a40 +/* f032a30: 3c188006 */ lui $t8,%hi(var800652b8+0x4) +/* f032a34: 271852bc */ addiu $t8,$t8,%lo(var800652b8+0x4) +/* f032a38: 5458001e */ bnel $v0,$t8,.L0f032ab4 +/* f032a3c: 8fbf002c */ lw $ra,0x2c($sp) +.L0f032a40: +/* f032a40: 8e040170 */ lw $a0,0x170($s0) +/* f032a44: 5080000c */ beqzl $a0,.L0f032a78 +/* f032a48: 8e040174 */ lw $a0,0x174($s0) +/* f032a4c: 8c8d0004 */ lw $t5,0x4($a0) +/* f032a50: 8dae0008 */ lw $t6,0x8($t5) +/* f032a54: 31d92000 */ andi $t9,$t6,0x2000 +/* f032a58: 57200007 */ bnezl $t9,.L0f032a78 +/* f032a5c: 8e040174 */ lw $a0,0x174($s0) +/* f032a60: 0fc20a59 */ jal propobjSetDropped +/* f032a64: 24050001 */ addiu $a1,$zero,0x1 +/* f032a68: 8e0f0014 */ lw $t7,0x14($s0) +/* f032a6c: 35f80001 */ ori $t8,$t7,0x1 +/* f032a70: ae180014 */ sw $t8,0x14($s0) +/* f032a74: 8e040174 */ lw $a0,0x174($s0) +.L0f032a78: +/* f032a78: 1080000b */ beqz $a0,.L0f032aa8 +/* f032a7c: 00000000 */ nop +/* f032a80: 8c8d0004 */ lw $t5,0x4($a0) +/* f032a84: 8dae0008 */ lw $t6,0x8($t5) +/* f032a88: 31d92000 */ andi $t9,$t6,0x2000 +/* f032a8c: 17200006 */ bnez $t9,.L0f032aa8 +/* f032a90: 00000000 */ nop +/* f032a94: 0fc20a59 */ jal propobjSetDropped +/* f032a98: 24050001 */ addiu $a1,$zero,0x1 +/* f032a9c: 8e0f0014 */ lw $t7,0x14($s0) +/* f032aa0: 35f80001 */ ori $t8,$t7,0x1 +/* f032aa4: ae180014 */ sw $t8,0x14($s0) +.L0f032aa8: +/* f032aa8: 0fc09149 */ jal chrDropItems +/* f032aac: 02002025 */ or $a0,$s0,$zero +.L0f032ab0: +/* f032ab0: 8fbf002c */ lw $ra,0x2c($sp) +.L0f032ab4: +/* f032ab4: 8fb00028 */ lw $s0,0x28($sp) +/* f032ab8: 27bd0110 */ addiu $sp,$sp,0x110 +/* f032abc: 03e00008 */ jr $ra +/* f032ac0: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f0319a8 .late_rodata @@ -5667,6 +6880,7 @@ glabel var7f1a8d44 /* f032abc: 03e00008 */ jr $ra /* f032ac0: 00000000 */ nop ); +#endif GLOBAL_ASM( glabel func0f032ac4 @@ -6194,6 +7408,297 @@ glabel func0f032fe4 /* f033238: 00000000 */ nop ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f03323c +.late_rodata +glabel var7f1a8d50 +.word 0x40c907a9 +glabel var7f1a8d54 +.word 0x3fa30028 +glabel var7f1a8d58 +.word 0x3c23d70a +glabel var7f1a8d5c +.word 0x3c23d70a +.text +/* f03323c: 27bdffa0 */ addiu $sp,$sp,-96 +/* f033240: afbf0024 */ sw $ra,0x24($sp) +/* f033244: afb00020 */ sw $s0,0x20($sp) +/* f033248: afa60068 */ sw $a2,0x68($sp) +/* f03324c: 8c8e0020 */ lw $t6,0x20($a0) +/* f033250: 00808025 */ or $s0,$a0,$zero +/* f033254: 24010002 */ addiu $at,$zero,0x2 +/* f033258: afae005c */ sw $t6,0x5c($sp) +/* f03325c: 10800003 */ beqz $a0,.L0f03326c +/* f033260: 8c82001c */ lw $v0,0x1c($a0) +/* f033264: 10000002 */ b .L0f033270 +/* f033268: 908702fe */ lbu $a3,0x2fe($a0) +.L0f03326c: +/* f03326c: 00003825 */ or $a3,$zero,$zero +.L0f033270: +/* f033270: 10e100f3 */ beq $a3,$at,.L0f033640 +/* f033274: 24010003 */ addiu $at,$zero,0x3 +/* f033278: 10e100f1 */ beq $a3,$at,.L0f033640 +/* f03327c: 24010004 */ addiu $at,$zero,0x4 +/* f033280: 10e100ef */ beq $a3,$at,.L0f033640 +/* f033284: 02002025 */ or $a0,$s0,$zero +/* f033288: afa20058 */ sw $v0,0x58($sp) +/* f03328c: afa50064 */ sw $a1,0x64($sp) +/* f033290: 0fc0f917 */ jal chrGetInverseTheta +/* f033294: afa7002c */ sw $a3,0x2c($sp) +/* f033298: 8fa20058 */ lw $v0,0x58($sp) +/* f03329c: 8fa50064 */ lw $a1,0x64($sp) +/* f0332a0: e7a00054 */ swc1 $f0,0x54($sp) +/* f0332a4: c4480010 */ lwc1 $f8,0x10($v0) +/* f0332a8: c4440008 */ lwc1 $f4,0x8($v0) +/* f0332ac: c4aa0008 */ lwc1 $f10,0x8($a1) +/* f0332b0: c4a60000 */ lwc1 $f6,0x0($a1) +/* f0332b4: 460a4381 */ sub.s $f14,$f8,$f10 +/* f0332b8: 0fc259d4 */ jal atan2f +/* f0332bc: 46062301 */ sub.s $f12,$f4,$f6 +/* f0332c0: 8fa20058 */ lw $v0,0x58($sp) +/* f0332c4: 8fa50064 */ lw $a1,0x64($sp) +/* f0332c8: 44801000 */ mtc1 $zero,$f2 +/* f0332cc: c4440008 */ lwc1 $f4,0x8($v0) +/* f0332d0: c4a60000 */ lwc1 $f6,0x0($a1) +/* f0332d4: 8fa7002c */ lw $a3,0x2c($sp) +/* f0332d8: 46000406 */ mov.s $f16,$f0 +/* f0332dc: 46062201 */ sub.s $f8,$f4,$f6 +/* f0332e0: e7a80034 */ swc1 $f8,0x34($sp) +/* f0332e4: c44a000c */ lwc1 $f10,0xc($v0) +/* f0332e8: c4a40004 */ lwc1 $f4,0x4($a1) +/* f0332ec: 46045181 */ sub.s $f6,$f10,$f4 +/* f0332f0: e7a60038 */ swc1 $f6,0x38($sp) +/* f0332f4: c7a60034 */ lwc1 $f6,0x34($sp) +/* f0332f8: c4480010 */ lwc1 $f8,0x10($v0) +/* f0332fc: c4aa0008 */ lwc1 $f10,0x8($a1) +/* f033300: 46061032 */ c.eq.s $f2,$f6 +/* f033304: c7ae0038 */ lwc1 $f14,0x38($sp) +/* f033308: 460a4101 */ sub.s $f4,$f8,$f10 +/* f03330c: 4500000c */ bc1f .L0f033340 +/* f033310: e7a4003c */ swc1 $f4,0x3c($sp) +/* f033314: 460e1032 */ c.eq.s $f2,$f14 +/* f033318: c7b2003c */ lwc1 $f18,0x3c($sp) +/* f03331c: 45020009 */ bc1fl .L0f033344 +/* f033320: c7a00034 */ lwc1 $f0,0x34($sp) +/* f033324: 46121032 */ c.eq.s $f2,$f18 +/* f033328: 3c013f80 */ lui $at,0x3f80 +/* f03332c: 45020005 */ bc1fl .L0f033344 +/* f033330: c7a00034 */ lwc1 $f0,0x34($sp) +/* f033334: 44819000 */ mtc1 $at,$f18 +/* f033338: 00000000 */ nop +/* f03333c: e7b2003c */ swc1 $f18,0x3c($sp) +.L0f033340: +/* f033340: c7a00034 */ lwc1 $f0,0x34($sp) +.L0f033344: +/* f033344: c7ae0038 */ lwc1 $f14,0x38($sp) +/* f033348: c7b2003c */ lwc1 $f18,0x3c($sp) +/* f03334c: 46000202 */ mul.s $f8,$f0,$f0 +/* f033350: afa7002c */ sw $a3,0x2c($sp) +/* f033354: e7b00050 */ swc1 $f16,0x50($sp) +/* f033358: 460e7282 */ mul.s $f10,$f14,$f14 +/* f03335c: 460a4100 */ add.s $f4,$f8,$f10 +/* f033360: 46129182 */ mul.s $f6,$f18,$f18 +/* f033364: 0c012974 */ jal sqrtf +/* f033368: 46043300 */ add.s $f12,$f6,$f4 +/* f03336c: 3c013f20 */ lui $at,0x3f20 +/* f033370: 44814000 */ mtc1 $at,$f8 +/* f033374: c7aa0068 */ lwc1 $f10,0x68($sp) +/* f033378: c7a40034 */ lwc1 $f4,0x34($sp) +/* f03337c: c7b00050 */ lwc1 $f16,0x50($sp) +/* f033380: 460a4182 */ mul.s $f6,$f8,$f10 +/* f033384: c7aa0038 */ lwc1 $f10,0x38($sp) +/* f033388: c7b20054 */ lwc1 $f18,0x54($sp) +/* f03338c: 8fa7002c */ lw $a3,0x2c($sp) +/* f033390: 3c017f1b */ lui $at,%hi(var7f1a8d50) +/* f033394: 4612803c */ c.lt.s $f16,$f18 +/* f033398: 46003083 */ div.s $f2,$f6,$f0 +/* f03339c: 46128381 */ sub.s $f14,$f16,$f18 +/* f0333a0: 46007306 */ mov.s $f12,$f14 +/* f0333a4: 46022202 */ mul.s $f8,$f4,$f2 +/* f0333a8: c7a4003c */ lwc1 $f4,0x3c($sp) +/* f0333ac: 46025182 */ mul.s $f6,$f10,$f2 +/* f0333b0: 00000000 */ nop +/* f0333b4: 46022282 */ mul.s $f10,$f4,$f2 +/* f0333b8: e7a80034 */ swc1 $f8,0x34($sp) +/* f0333bc: e7a60038 */ swc1 $f6,0x38($sp) +/* f0333c0: e7aa003c */ swc1 $f10,0x3c($sp) +/* f0333c4: e60800bc */ swc1 $f8,0xbc($s0) +/* f0333c8: c7a60038 */ lwc1 $f6,0x38($sp) +/* f0333cc: e60600c0 */ swc1 $f6,0xc0($s0) +/* f0333d0: c7a4003c */ lwc1 $f4,0x3c($sp) +/* f0333d4: 45000003 */ bc1f .L0f0333e4 +/* f0333d8: e60400c4 */ swc1 $f4,0xc4($s0) +/* f0333dc: c42a8d50 */ lwc1 $f10,%lo(var7f1a8d50)($at) +/* f0333e0: 460a7300 */ add.s $f12,$f14,$f10 +.L0f0333e4: +/* f0333e4: 3c017f1b */ lui $at,%hi(var7f1a8d54) +/* f0333e8: c4288d54 */ lwc1 $f8,%lo(var7f1a8d54)($at) +/* f0333ec: 3c013f00 */ lui $at,0x3f00 +/* f0333f0: 44812000 */ mtc1 $at,$f4 +/* f0333f4: 46086182 */ mul.s $f6,$f12,$f8 +/* f0333f8: 46043280 */ add.s $f10,$f6,$f4 +/* f0333fc: 4600520d */ trunc.w.s $f8,$f10 +/* f033400: 44044000 */ mfc1 $a0,$f8 +/* f033404: 00000000 */ nop +/* f033408: 28810008 */ slti $at,$a0,0x8 +/* f03340c: 54200003 */ bnezl $at,.L0f03341c +/* f033410: afa40048 */ sw $a0,0x48($sp) +/* f033414: 00002025 */ or $a0,$zero,$zero +/* f033418: afa40048 */ sw $a0,0x48($sp) +.L0f03341c: +/* f03341c: 0c004b70 */ jal random +/* f033420: afa7002c */ sw $a3,0x2c($sp) +/* f033424: 8fa7002c */ lw $a3,0x2c($sp) +/* f033428: 8fa40048 */ lw $a0,0x48($sp) +/* f03342c: 3c198006 */ lui $t9,%hi(var80065640) +/* f033430: 27395640 */ addiu $t9,$t9,%lo(var80065640) +/* f033434: 0007c180 */ sll $t8,$a3,0x6 +/* f033438: 03193021 */ addu $a2,$t8,$t9 +/* f03343c: 000440c0 */ sll $t0,$a0,0x3 +/* f033440: 00c81821 */ addu $v1,$a2,$t0 +/* f033444: 8c690004 */ lw $t1,0x4($v1) +/* f033448: 3c188006 */ lui $t8,%hi(var80065680) +/* f03344c: 27185680 */ addiu $t8,$t8,%lo(var80065680) +/* f033450: 0049001b */ divu $zero,$v0,$t1 +/* f033454: 00002810 */ mfhi $a1 +/* f033458: 15200002 */ bnez $t1,.L0f033464 +/* f03345c: 00000000 */ nop +/* f033460: 0007000d */ break 0x7 +.L0f033464: +/* f033464: 14e0000c */ bnez $a3,.L0f033498 +/* f033468: 00000000 */ nop +/* f03346c: 8c6a0000 */ lw $t2,0x0($v1) +/* f033470: 3c0e8006 */ lui $t6,%hi(var800652cc) +/* f033474: 25ce52cc */ addiu $t6,$t6,%lo(var800652cc) +/* f033478: 01455821 */ addu $t3,$t2,$a1 +/* f03347c: 816c0000 */ lb $t4,0x0($t3) +/* f033480: 000c6880 */ sll $t5,$t4,0x2 +/* f033484: 01ac6823 */ subu $t5,$t5,$t4 +/* f033488: 000d68c0 */ sll $t5,$t5,0x3 +/* f03348c: 01ae7821 */ addu $t7,$t5,$t6 +/* f033490: 1000000d */ b .L0f0334c8 +/* f033494: afaf0040 */ sw $t7,0x40($sp) +.L0f033498: +/* f033498: 14d8000b */ bne $a2,$t8,.L0f0334c8 +/* f03349c: 00000000 */ nop +/* f0334a0: 8c790000 */ lw $t9,0x0($v1) +/* f0334a4: 3c0b8006 */ lui $t3,%hi(var80065548) +/* f0334a8: 256b5548 */ addiu $t3,$t3,%lo(var80065548) +/* f0334ac: 03254021 */ addu $t0,$t9,$a1 +/* f0334b0: 81090000 */ lb $t1,0x0($t0) +/* f0334b4: 00095080 */ sll $t2,$t1,0x2 +/* f0334b8: 01495023 */ subu $t2,$t2,$t1 +/* f0334bc: 000a50c0 */ sll $t2,$t2,0x3 +/* f0334c0: 014b6021 */ addu $t4,$t2,$t3 +/* f0334c4: afac0040 */ sw $t4,0x40($sp) +.L0f0334c8: +/* f0334c8: 0fc0fe3d */ jal chrStopFiring +/* f0334cc: 02002025 */ or $a0,$s0,$zero +/* f0334d0: 02002025 */ or $a0,$s0,$zero +/* f0334d4: 0fc08946 */ jal chrUncloak +/* f0334d8: 24050001 */ addiu $a1,$zero,0x1 +/* f0334dc: 8e0d0018 */ lw $t5,0x18($s0) +/* f0334e0: 8fa20040 */ lw $v0,0x40($sp) +/* f0334e4: 2401fbff */ addiu $at,$zero,-1025 +/* f0334e8: 01a17024 */ and $t6,$t5,$at +/* f0334ec: 240f0004 */ addiu $t7,$zero,0x4 +/* f0334f0: ae0e0018 */ sw $t6,0x18($s0) +/* f0334f4: a20f0007 */ sb $t7,0x7($s0) +/* f0334f8: ae00002c */ sw $zero,0x2c($s0) +/* f0334fc: 3c01bf80 */ lui $at,0xbf80 +/* f033500: 44812000 */ mtc1 $at,$f4 +/* f033504: 921902fe */ lbu $t9,0x2fe($s0) +/* f033508: c4460010 */ lwc1 $f6,0x10($v0) +/* f03350c: 44805000 */ mtc1 $zero,$f10 +/* f033510: 2418002d */ addiu $t8,$zero,0x25 +/* f033514: 24010002 */ addiu $at,$zero,0x2 +/* f033518: a618004c */ sh $t8,0x4c($s0) +/* f03351c: e6040034 */ swc1 $f4,0x34($s0) +/* f033520: e6060030 */ swc1 $f6,0x30($s0) +/* f033524: 17210031 */ bne $t9,$at,.L0f0335ec +/* f033528: e60a0038 */ swc1 $f10,0x38($s0) +/* f03352c: 0c004b70 */ jal random +/* f033530: 00000000 */ nop +/* f033534: 24010190 */ addiu $at,$zero,0x190 +/* f033538: 0041001b */ divu $zero,$v0,$at +/* f03353c: 00004010 */ mfhi $t0 +/* f033540: 44884000 */ mtc1 $t0,$f8 +/* f033544: 3c014f80 */ lui $at,0x4f80 +/* f033548: 05010004 */ bgez $t0,.L0f03355c +/* f03354c: 468041a0 */ cvt.s.w $f6,$f8 +/* f033550: 44812000 */ mtc1 $at,$f4 +/* f033554: 00000000 */ nop +/* f033558: 46043180 */ add.s $f6,$f6,$f4 +.L0f03355c: +/* f03355c: 3c017f1b */ lui $at,%hi(var7f1a8d58) +/* f033560: c42a8d58 */ lwc1 $f10,%lo(var7f1a8d58)($at) +/* f033564: 920f0362 */ lbu $t7,0x362($s0) +/* f033568: 460a3202 */ mul.s $f8,$f6,$f10 +/* f03356c: 31f8ff0f */ andi $t8,$t7,0xff0f +/* f033570: 4600410d */ trunc.w.s $f4,$f8 +/* f033574: 440a2000 */ mfc1 $t2,$f4 +/* f033578: 00000000 */ nop +/* f03357c: 254c0001 */ addiu $t4,$t2,0x1 +/* f033580: 000c7100 */ sll $t6,$t4,0x4 +/* f033584: 01d8c825 */ or $t9,$t6,$t8 +/* f033588: 0c004b70 */ jal random +/* f03358c: a2190362 */ sb $t9,0x362($s0) +/* f033590: 24010190 */ addiu $at,$zero,0x190 +/* f033594: 0041001b */ divu $zero,$v0,$at +/* f033598: 00004010 */ mfhi $t0 +/* f03359c: 44883000 */ mtc1 $t0,$f6 +/* f0335a0: 3c014f80 */ lui $at,0x4f80 +/* f0335a4: 05010004 */ bgez $t0,.L0f0335b8 +/* f0335a8: 468032a0 */ cvt.s.w $f10,$f6 +/* f0335ac: 44814000 */ mtc1 $at,$f8 +/* f0335b0: 00000000 */ nop +/* f0335b4: 46085280 */ add.s $f10,$f10,$f8 +.L0f0335b8: +/* f0335b8: 3c017f1b */ lui $at,%hi(var7f1a8d5c) +/* f0335bc: c4248d5c */ lwc1 $f4,%lo(var7f1a8d5c)($at) +/* f0335c0: 920f0362 */ lbu $t7,0x362($s0) +/* f0335c4: 46045182 */ mul.s $f6,$f10,$f4 +/* f0335c8: 31eefff0 */ andi $t6,$t7,0xfff0 +/* f0335cc: 4600320d */ trunc.w.s $f8,$f6 +/* f0335d0: 440a4000 */ mfc1 $t2,$f8 +/* f0335d4: 00000000 */ nop +/* f0335d8: 254c0001 */ addiu $t4,$t2,0x1 +/* f0335dc: 318d000f */ andi $t5,$t4,0xf +/* f0335e0: 01aec025 */ or $t8,$t5,$t6 +/* f0335e4: a2180362 */ sb $t8,0x362($s0) +/* f0335e8: 8fa20040 */ lw $v0,0x40($sp) +.L0f0335ec: +/* f0335ec: a2000008 */ sb $zero,0x8($s0) +/* f0335f0: 3c014100 */ lui $at,0x4100 +/* f0335f4: 44812000 */ mtc1 $at,$f4 +/* f0335f8: c44a0008 */ lwc1 $f10,0x8($v0) +/* f0335fc: 8c47000c */ lw $a3,0xc($v0) +/* f033600: 8c460004 */ lw $a2,0x4($v0) +/* f033604: 84450000 */ lh $a1,0x0($v0) +/* f033608: 8fa4005c */ lw $a0,0x5c($sp) +/* f03360c: e7a40014 */ swc1 $f4,0x14($sp) +/* f033610: 0c007733 */ jal modelSetAnimation +/* f033614: e7aa0010 */ swc1 $f10,0x10($sp) +/* f033618: 8fb90040 */ lw $t9,0x40($sp) +/* f03361c: 44803000 */ mtc1 $zero,$f6 +/* f033620: c7200014 */ lwc1 $f0,0x14($t9) +/* f033624: 4600303e */ c.le.s $f6,$f0 +/* f033628: 00000000 */ nop +/* f03362c: 45020005 */ bc1fl .L0f033644 +/* f033630: 8fbf0024 */ lw $ra,0x24($sp) +/* f033634: 44050000 */ mfc1 $a1,$f0 +/* f033638: 0c007787 */ jal modelSetAnimEndFrame +/* f03363c: 8fa4005c */ lw $a0,0x5c($sp) +.L0f033640: +/* f033640: 8fbf0024 */ lw $ra,0x24($sp) +.L0f033644: +/* f033644: 8fb00020 */ lw $s0,0x20($sp) +/* f033648: 27bd0060 */ addiu $sp,$sp,0x60 +/* f03364c: 03e00008 */ jr $ra +/* f033650: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f03323c .late_rodata @@ -6483,7 +7988,38 @@ glabel var7f1a8d5c /* f03364c: 03e00008 */ jr $ra /* f033650: 00000000 */ nop ); +#endif +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f033654 +/* f033654: 3c0e800a */ lui $t6,%hi(g_Vars+0x318) +/* f033658: 8dcea2d8 */ lw $t6,%lo(g_Vars+0x318)($t6) +/* f03365c: 240303e8 */ addiu $v1,$zero,0x341 +/* f033660: 55c00003 */ bnezl $t6,.L0f033670 +/* f033664: 90820000 */ lbu $v0,0x0($a0) +/* f033668: 240300fa */ addiu $v1,$zero,0xd0 +/* f03366c: 90820000 */ lbu $v0,0x0($a0) +.L0f033670: +/* f033670: 2401001c */ addiu $at,$zero,0x1c +/* f033674: 54410003 */ bnel $v0,$at,.L0f033684 +/* f033678: 24010056 */ addiu $at,$zero,0x56 +/* f03367c: 240307d0 */ addiu $v1,$zero,0x682 +/* f033680: 24010056 */ addiu $at,$zero,0x56 +.L0f033684: +/* f033684: 54410003 */ bnel $v0,$at,.L0f033694 +/* f033688: 2401001f */ addiu $at,$zero,0x1f +/* f03368c: 24031388 */ addiu $v1,$zero,0x1046 +/* f033690: 2401001f */ addiu $at,$zero,0x1f +.L0f033694: +/* f033694: 14410002 */ bne $v0,$at,.L0f0336a0 +/* f033698: 00000000 */ nop +/* f03369c: 24030064 */ addiu $v1,$zero,0x53 +.L0f0336a0: +/* f0336a0: 03e00008 */ jr $ra +/* f0336a4: 00601025 */ or $v0,$v1,$zero +); +#else GLOBAL_ASM( glabel func0f033654 /* f033654: 3c0e800a */ lui $t6,%hi(g_Vars+0x318) @@ -6512,6 +8048,7 @@ glabel func0f033654 /* f0336a0: 03e00008 */ jr $ra /* f0336a4: 00601025 */ or $v0,$v1,$zero ); +#endif void func0f0336a8(struct chrdata *chr, u32 arg1, u32 arg2, u32 arg3) { @@ -6663,6 +8200,469 @@ glabel func0f033728 /* f0338dc: 00000000 */ nop ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f0338e0 +/* f0338e0: 27bdfee8 */ addiu $sp,$sp,-280 +/* f0338e4: 240effff */ addiu $t6,$zero,-1 +/* f0338e8: afbf0044 */ sw $ra,0x44($sp) +/* f0338ec: afa40118 */ sw $a0,0x118($sp) +/* f0338f0: afa5011c */ sw $a1,0x11c($sp) +/* f0338f4: afa00114 */ sw $zero,0x114($sp) +/* f0338f8: 10800003 */ beqz $a0,.L0f033908 +/* f0338fc: a7ae0112 */ sh $t6,0x112($sp) +/* f033900: 10000002 */ b .L0f03390c +/* f033904: 908302fe */ lbu $v1,0x2fe($a0) +.L0f033908: +/* f033908: 00001825 */ or $v1,$zero,$zero +.L0f03390c: +/* f03390c: 24010003 */ addiu $at,$zero,0x3 +/* f033910: 1061019f */ beq $v1,$at,.L0f033f90 +/* f033914: 00002825 */ or $a1,$zero,$zero +/* f033918: 24010004 */ addiu $at,$zero,0x4 +/* f03391c: 1061019c */ beq $v1,$at,.L0f033f90 +/* f033920: 8fb80118 */ lw $t8,0x118($sp) +/* f033924: 8f04001c */ lw $a0,0x1c($t8) +/* f033928: 24010006 */ addiu $at,$zero,0x6 +/* f03392c: 90990000 */ lbu $t9,0x0($a0) +/* f033930: 5721000f */ bnel $t9,$at,.L0f033970 +/* f033934: 8fab0118 */ lw $t3,0x118($sp) +/* f033938: afa3010c */ sw $v1,0x10c($sp) +/* f03393c: 0fc4a25f */ jal propGetPlayerNum +/* f033940: afa00104 */ sw $zero,0x104($sp) +/* f033944: 00024080 */ sll $t0,$v0,0x2 +/* f033948: 3c09800a */ lui $t1,%hi(g_Vars+0x64) +/* f03394c: 01284821 */ addu $t1,$t1,$t0 +/* f033950: 8d29a024 */ lw $t1,%lo(g_Vars+0x64)($t1) +/* f033954: afa20108 */ sw $v0,0x108($sp) +/* f033958: 8fa3010c */ lw $v1,0x10c($sp) +/* f03395c: 8d2a00d8 */ lw $t2,0xd8($t1) +/* f033960: 8fa50104 */ lw $a1,0x104($sp) +/* f033964: 5540018b */ bnezl $t2,.L0f033f94 +/* f033968: 8fbf0044 */ lw $ra,0x44($sp) +/* f03396c: 8fab0118 */ lw $t3,0x118($sp) +.L0f033970: +/* f033970: 3c0d8008 */ lui $t5,%hi(g_Bodies) +/* f033974: 3c188007 */ lui $t8,%hi(var8006819c) +/* f033978: 81620006 */ lb $v0,0x6($t3) +/* f03397c: 240f0001 */ addiu $t7,$zero,0x1 +/* f033980: 24010002 */ addiu $at,$zero,0x2 +/* f033984: 00026080 */ sll $t4,$v0,0x2 +/* f033988: 01826021 */ addu $t4,$t4,$v0 +/* f03398c: 000c6080 */ sll $t4,$t4,0x2 +/* f033990: 01ac6821 */ addu $t5,$t5,$t4 +/* f033994: 8dadcf04 */ lw $t5,%lo(g_Bodies)($t5) +/* f033998: 2718819c */ addiu $t8,$t8,%lo(var8006819c) +/* f03399c: 000d77c2 */ srl $t6,$t5,0x1f +/* f0339a0: 11c00002 */ beqz $t6,.L0f0339ac +/* f0339a4: 00000000 */ nop +/* f0339a8: afaf0114 */ sw $t7,0x114($sp) +.L0f0339ac: +/* f0339ac: 5461001e */ bnel $v1,$at,.L0f033a28 +/* f0339b0: 2401000f */ addiu $at,$zero,0xf +/* f0339b4: 8f010000 */ lw $at,0x0($t8) +/* f0339b8: 27a300f8 */ addiu $v1,$sp,0xf8 +/* f0339bc: 3c048007 */ lui $a0,%hi(g_DrCarollDyingTimer) +/* f0339c0: ac610000 */ sw $at,0x0($v1) +/* f0339c4: 8f080004 */ lw $t0,0x4($t8) +/* f0339c8: 2484807c */ addiu $a0,$a0,%lo(g_DrCarollDyingTimer) +/* f0339cc: 8c890000 */ lw $t1,0x0($a0) +/* f0339d0: ac680004 */ sw $t0,0x4($v1) +/* f0339d4: 8f010008 */ lw $at,0x8($t8) +/* f0339d8: 3c028007 */ lui $v0,%hi(var8006824c) +/* f0339dc: ac610008 */ sw $at,0x8($v1) +/* f0339e0: 2921000b */ slti $at,$t1,0x9 +/* f0339e4: 142000e7 */ bnez $at,.L0f033d84 +/* f0339e8: 00000000 */ nop +/* f0339ec: 8c42824c */ lw $v0,%lo(var8006824c)($v0) +/* f0339f0: ac800000 */ sw $zero,0x0($a0) +/* f0339f4: 3c018007 */ lui $at,%hi(var8006824c) +/* f0339f8: 00025040 */ sll $t2,$v0,0x1 +/* f0339fc: 006a5821 */ addu $t3,$v1,$t2 +/* f033a00: 856c0000 */ lh $t4,0x0($t3) +/* f033a04: 24420001 */ addiu $v0,$v0,0x1 +/* f033a08: ac22824c */ sw $v0,%lo(var8006824c)($at) +/* f033a0c: 28410006 */ slti $at,$v0,0x6 +/* f033a10: 142000dc */ bnez $at,.L0f033d84 +/* f033a14: a7ac0112 */ sh $t4,0x112($sp) +/* f033a18: 3c018007 */ lui $at,%hi(var8006824c) +/* f033a1c: 100000d9 */ b .L0f033d84 +/* f033a20: ac20824c */ sw $zero,%lo(var8006824c)($at) +/* f033a24: 2401000f */ addiu $at,$zero,0xf +.L0f033a28: +/* f033a28: 10410007 */ beq $v0,$at,.L0f033a48 +/* f033a2c: 3c0e8007 */ lui $t6,%hi(var800681a8) +/* f033a30: 24010005 */ addiu $at,$zero,0x5 +/* f033a34: 10410004 */ beq $v0,$at,.L0f033a48 +/* f033a38: 24010029 */ addiu $at,$zero,0x29 +/* f033a3c: 10410002 */ beq $v0,$at,.L0f033a48 +/* f033a40: 2401003a */ addiu $at,$zero,0x3a +/* f033a44: 1441001a */ bne $v0,$at,.L0f033ab0 +.L0f033a48: +/* f033a48: 25ce81a8 */ addiu $t6,$t6,%lo(var800681a8) +/* f033a4c: 8dc10000 */ lw $at,0x0($t6) +/* f033a50: 27ad00f0 */ addiu $t5,$sp,0xf0 +/* f033a54: ada10000 */ sw $at,0x0($t5) +/* f033a58: 95c10004 */ lhu $at,0x4($t6) +/* f033a5c: a5a10004 */ sh $at,0x4($t5) +/* f033a60: 0c004b70 */ jal random +/* f033a64: afa50104 */ sw $a1,0x104($sp) +/* f033a68: 24010003 */ addiu $at,$zero,0x3 +/* f033a6c: 0041001b */ divu $zero,$v0,$at +/* f033a70: 3c038007 */ lui $v1,%hi(var80068250) +/* f033a74: 8c638250 */ lw $v1,%lo(var80068250)($v1) +/* f033a78: 0000c010 */ mfhi $t8 +/* f033a7c: 00184040 */ sll $t0,$t8,0x1 +/* f033a80: 03a84821 */ addu $t1,$sp,$t0 +/* f033a84: 852900f0 */ lh $t1,0xf0($t1) +/* f033a88: 3c018007 */ lui $at,%hi(var80068250) +/* f033a8c: 24630001 */ addiu $v1,$v1,0x1 +/* f033a90: ac238250 */ sw $v1,%lo(var80068250)($at) +/* f033a94: 28610003 */ slti $at,$v1,0x3 +/* f033a98: 8fa50104 */ lw $a1,0x104($sp) +/* f033a9c: 142000b9 */ bnez $at,.L0f033d84 +/* f033aa0: a7a90112 */ sh $t1,0x112($sp) +/* f033aa4: 3c018007 */ lui $at,%hi(var80068250) +/* f033aa8: 100000b6 */ b .L0f033d84 +/* f033aac: ac208250 */ sw $zero,%lo(var80068250)($at) +.L0f033ab0: +/* f033ab0: 24010001 */ addiu $at,$zero,0x1 +/* f033ab4: 1461003c */ bne $v1,$at,.L0f033ba8 +/* f033ab8: 8faa0118 */ lw $t2,0x118($sp) +/* f033abc: 854b0010 */ lh $t3,0x10($t2) +/* f033ac0: 2401007b */ addiu $at,$zero,0x7b +/* f033ac4: 3c0a8007 */ lui $t2,%hi(var800681bc) +/* f033ac8: 1561001e */ bne $t3,$at,.L0f033b44 +/* f033acc: 254a81bc */ addiu $t2,$t2,%lo(var800681bc) +/* f033ad0: 3c0f8007 */ lui $t7,%hi(var800681b0) +/* f033ad4: 25ef81b0 */ addiu $t7,$t7,%lo(var800681b0) +/* f033ad8: 8de10000 */ lw $at,0x0($t7) +/* f033adc: 27ac00e4 */ addiu $t4,$sp,0xe4 +/* f033ae0: 8dee0004 */ lw $t6,0x4($t7) +/* f033ae4: ad810000 */ sw $at,0x0($t4) +/* f033ae8: 95e10008 */ lhu $at,0x8($t7) +/* f033aec: ad8e0004 */ sw $t6,0x4($t4) +/* f033af0: a5810008 */ sh $at,0x8($t4) +/* f033af4: 0c004b70 */ jal random +/* f033af8: afa50104 */ sw $a1,0x104($sp) +/* f033afc: 24010005 */ addiu $at,$zero,0x5 +/* f033b00: 0041001b */ divu $zero,$v0,$at +/* f033b04: 3c038007 */ lui $v1,%hi(var80068254) +/* f033b08: 8c638254 */ lw $v1,%lo(var80068254)($v1) +/* f033b0c: 0000c810 */ mfhi $t9 +/* f033b10: 0019c040 */ sll $t8,$t9,0x1 +/* f033b14: 03b84021 */ addu $t0,$sp,$t8 +/* f033b18: 850800e4 */ lh $t0,0xe4($t0) +/* f033b1c: 3c018007 */ lui $at,%hi(var80068254) +/* f033b20: 24630001 */ addiu $v1,$v1,0x1 +/* f033b24: ac238254 */ sw $v1,%lo(var80068254)($at) +/* f033b28: 28610005 */ slti $at,$v1,0x5 +/* f033b2c: 8fa50104 */ lw $a1,0x104($sp) +/* f033b30: 14200094 */ bnez $at,.L0f033d84 +/* f033b34: a7a80112 */ sh $t0,0x112($sp) +/* f033b38: 3c018007 */ lui $at,%hi(var80068254) +/* f033b3c: 10000091 */ b .L0f033d84 +/* f033b40: ac208254 */ sw $zero,%lo(var80068254)($at) +.L0f033b44: +/* f033b44: 8d410000 */ lw $at,0x0($t2) +/* f033b48: 27a900dc */ addiu $t1,$sp,0xdc +/* f033b4c: ad210000 */ sw $at,0x0($t1) +/* f033b50: 95410004 */ lhu $at,0x4($t2) +/* f033b54: a5210004 */ sh $at,0x4($t1) +/* f033b58: 0c004b70 */ jal random +/* f033b5c: afa50104 */ sw $a1,0x104($sp) +/* f033b60: 24010003 */ addiu $at,$zero,0x3 +/* f033b64: 0041001b */ divu $zero,$v0,$at +/* f033b68: 3c038007 */ lui $v1,%hi(var80068254) +/* f033b6c: 8c638254 */ lw $v1,%lo(var80068254)($v1) +/* f033b70: 00007810 */ mfhi $t7 +/* f033b74: 000f7040 */ sll $t6,$t7,0x1 +/* f033b78: 03aec821 */ addu $t9,$sp,$t6 +/* f033b7c: 873900dc */ lh $t9,0xdc($t9) +/* f033b80: 3c018007 */ lui $at,%hi(var80068254) +/* f033b84: 24630001 */ addiu $v1,$v1,0x1 +/* f033b88: ac238254 */ sw $v1,%lo(var80068254)($at) +/* f033b8c: 28610003 */ slti $at,$v1,0x3 +/* f033b90: 8fa50104 */ lw $a1,0x104($sp) +/* f033b94: 1420007b */ bnez $at,.L0f033d84 +/* f033b98: a7b90112 */ sh $t9,0x112($sp) +/* f033b9c: 3c018007 */ lui $at,%hi(var80068254) +/* f033ba0: 10000078 */ b .L0f033d84 +/* f033ba4: ac208254 */ sw $zero,%lo(var80068254)($at) +.L0f033ba8: +/* f033ba8: 2401000a */ addiu $at,$zero,0xa +/* f033bac: 14410021 */ bne $v0,$at,.L0f033c34 +/* f033bb0: 8fac0114 */ lw $t4,0x114($sp) +/* f033bb4: 3c188007 */ lui $t8,%hi(var800681c4) +/* f033bb8: 271881c4 */ addiu $t8,$t8,%lo(var800681c4) +/* f033bbc: 8f010000 */ lw $at,0x0($t8) +/* f033bc0: 3c028007 */ lui $v0,%hi(var80068258) +/* f033bc4: 8c428258 */ lw $v0,%lo(var80068258)($v0) +/* f033bc8: 27a300c0 */ addiu $v1,$sp,0xc0 +/* f033bcc: ac610000 */ sw $at,0x0($v1) +/* f033bd0: 8f0d0004 */ lw $t5,0x4($t8) +/* f033bd4: 00025840 */ sll $t3,$v0,0x1 +/* f033bd8: 006b4821 */ addu $t1,$v1,$t3 +/* f033bdc: ac6d0004 */ sw $t5,0x4($v1) +/* f033be0: 8f010008 */ lw $at,0x8($t8) +/* f033be4: 24420001 */ addiu $v0,$v0,0x1 +/* f033be8: ac610008 */ sw $at,0x8($v1) +/* f033bec: 8f0d000c */ lw $t5,0xc($t8) +/* f033bf0: ac6d000c */ sw $t5,0xc($v1) +/* f033bf4: 8f010010 */ lw $at,0x10($t8) +/* f033bf8: ac610010 */ sw $at,0x10($v1) +/* f033bfc: 8f0d0014 */ lw $t5,0x14($t8) +/* f033c00: ac6d0014 */ sw $t5,0x14($v1) +/* f033c04: 8f010018 */ lw $at,0x18($t8) +/* f033c08: ac610018 */ sw $at,0x18($v1) +/* f033c0c: 852a0000 */ lh $t2,0x0($t1) +/* f033c10: 3c018007 */ lui $at,%hi(var80068258) +/* f033c14: ac228258 */ sw $v0,%lo(var80068258)($at) +/* f033c18: 2841000e */ slti $at,$v0,0xe +/* f033c1c: 14200003 */ bnez $at,.L0f033c2c +/* f033c20: a7aa0112 */ sh $t2,0x112($sp) +/* f033c24: 3c018007 */ lui $at,%hi(var80068258) +/* f033c28: ac208258 */ sw $zero,%lo(var80068258)($at) +.L0f033c2c: +/* f033c2c: 10000055 */ b .L0f033d84 +/* f033c30: 24050001 */ addiu $a1,$zero,0x1 +.L0f033c34: +/* f033c34: 11800020 */ beqz $t4,.L0f033cb8 +/* f033c38: 24010004 */ addiu $at,$zero,0x4 +/* f033c3c: 3c0f8007 */ lui $t7,%hi(var800681e0) +/* f033c40: 3c028007 */ lui $v0,%hi(var8006825c) +/* f033c44: 27a3008c */ addiu $v1,$sp,0x8c +/* f033c48: 25ef81e0 */ addiu $t7,$t7,%lo(var800681e0) +/* f033c4c: 8c42825c */ lw $v0,%lo(var8006825c)($v0) +/* f033c50: 25f90030 */ addiu $t9,$t7,0x30 +/* f033c54: 00604025 */ or $t0,$v1,$zero +.L0f033c58: +/* f033c58: 8de10000 */ lw $at,0x0($t7) +/* f033c5c: 25ef000c */ addiu $t7,$t7,0xc +/* f033c60: 2508000c */ addiu $t0,$t0,0xc +/* f033c64: ad01fff4 */ sw $at,-0xc($t0) +/* f033c68: 8de1fff8 */ lw $at,-0x8($t7) +/* f033c6c: ad01fff8 */ sw $at,-0x8($t0) +/* f033c70: 8de1fffc */ lw $at,-0x4($t7) +/* f033c74: 15f9fff8 */ bne $t7,$t9,.L0f033c58 +/* f033c78: ad01fffc */ sw $at,-0x4($t0) +/* f033c7c: 95e10000 */ lhu $at,0x0($t7) +/* f033c80: 0002c040 */ sll $t8,$v0,0x1 +/* f033c84: 00786821 */ addu $t5,$v1,$t8 +/* f033c88: a5010000 */ sh $at,0x0($t0) +/* f033c8c: 85ab0000 */ lh $t3,0x0($t5) +/* f033c90: 24420001 */ addiu $v0,$v0,0x1 +/* f033c94: 3c018007 */ lui $at,%hi(var8006825c) +/* f033c98: ac22825c */ sw $v0,%lo(var8006825c)($at) +/* f033c9c: 28410019 */ slti $at,$v0,0x19 +/* f033ca0: 24050001 */ addiu $a1,$zero,0x1 +/* f033ca4: 14200037 */ bnez $at,.L0f033d84 +/* f033ca8: a7ab0112 */ sh $t3,0x112($sp) +/* f033cac: 3c018007 */ lui $at,%hi(var8006825c) +/* f033cb0: 10000034 */ b .L0f033d84 +/* f033cb4: ac20825c */ sw $zero,%lo(var8006825c)($at) +.L0f033cb8: +/* f033cb8: 10410008 */ beq $v0,$at,.L0f033cdc +/* f033cbc: 3c0a8007 */ lui $t2,%hi(var80068214) +/* f033cc0: 2401000c */ addiu $at,$zero,0xc +/* f033cc4: 10410005 */ beq $v0,$at,.L0f033cdc +/* f033cc8: 2401002f */ addiu $at,$zero,0x2f +/* f033ccc: 10410003 */ beq $v0,$at,.L0f033cdc +/* f033cd0: 2401003c */ addiu $at,$zero,0x3c +/* f033cd4: 14410017 */ bne $v0,$at,.L0f033d34 +/* f033cd8: 27a30070 */ addiu $v1,$sp,0x70 +.L0f033cdc: +/* f033cdc: 254a8214 */ addiu $t2,$t2,%lo(var80068214) +/* f033ce0: 8d410000 */ lw $at,0x0($t2) +/* f033ce4: 27a90078 */ addiu $t1,$sp,0x78 +/* f033ce8: 8d4e0004 */ lw $t6,0x4($t2) +/* f033cec: ad210000 */ sw $at,0x0($t1) +/* f033cf0: 8d410008 */ lw $at,0x8($t2) +/* f033cf4: ad2e0004 */ sw $t6,0x4($t1) +/* f033cf8: 8d4e000c */ lw $t6,0xc($t2) +/* f033cfc: ad210008 */ sw $at,0x8($t1) +/* f033d00: 8d410010 */ lw $at,0x10($t2) +/* f033d04: ad2e000c */ sw $t6,0xc($t1) +/* f033d08: 0c004b70 */ jal random +/* f033d0c: ad210010 */ sw $at,0x10($t1) +/* f033d10: 2401000a */ addiu $at,$zero,0xa +/* f033d14: 0041001b */ divu $zero,$v0,$at +/* f033d18: 0000c810 */ mfhi $t9 +/* f033d1c: 00197840 */ sll $t7,$t9,0x1 +/* f033d20: 03af4021 */ addu $t0,$sp,$t7 +/* f033d24: 85080078 */ lh $t0,0x78($t0) +/* f033d28: 24050001 */ addiu $a1,$zero,0x1 +/* f033d2c: 10000015 */ b .L0f033d84 +/* f033d30: a7a80112 */ sh $t0,0x112($sp) +.L0f033d34: +/* f033d34: 3c188007 */ lui $t8,%hi(var80068228) +/* f033d38: 27188228 */ addiu $t8,$t8,%lo(var80068228) +/* f033d3c: 8f010000 */ lw $at,0x0($t8) +/* f033d40: 3c028007 */ lui $v0,%hi(var80068260) +/* f033d44: 8c428260 */ lw $v0,%lo(var80068260)($v0) +/* f033d48: ac610000 */ sw $at,0x0($v1) +/* f033d4c: 97010004 */ lhu $at,0x4($t8) +/* f033d50: 00024840 */ sll $t1,$v0,0x1 +/* f033d54: 00695021 */ addu $t2,$v1,$t1 +/* f033d58: a4610004 */ sh $at,0x4($v1) +/* f033d5c: 854e0000 */ lh $t6,0x0($t2) +/* f033d60: 3c018007 */ lui $at,%hi(var80068260) +/* f033d64: 24420001 */ addiu $v0,$v0,0x1 +/* f033d68: ac228260 */ sw $v0,%lo(var80068260)($at) +/* f033d6c: 28410003 */ slti $at,$v0,0x3 +/* f033d70: 14200003 */ bnez $at,.L0f033d80 +/* f033d74: a7ae0112 */ sh $t6,0x112($sp) +/* f033d78: 3c018007 */ lui $at,%hi(var80068260) +/* f033d7c: ac208260 */ sw $zero,%lo(var80068260)($at) +.L0f033d80: +/* f033d80: 24050001 */ addiu $a1,$zero,0x1 +.L0f033d84: +/* f033d84: 10a00044 */ beqz $a1,.L0f033e98 +/* f033d88: 8fb9011c */ lw $t9,0x11c($sp) +/* f033d8c: 24010001 */ addiu $at,$zero,0x1 +/* f033d90: 1721001c */ bne $t9,$at,.L0f033e04 +/* f033d94: 8fab011c */ lw $t3,0x11c($sp) +/* f033d98: 3c088007 */ lui $t0,%hi(var80068230) +/* f033d9c: 25088230 */ addiu $t0,$t0,%lo(var80068230) +/* f033da0: 8d010000 */ lw $at,0x0($t0) +/* f033da4: 27af0064 */ addiu $t7,$sp,0x64 +/* f033da8: 8d0d0004 */ lw $t5,0x4($t0) +/* f033dac: ade10000 */ sw $at,0x0($t7) +/* f033db0: 8d010008 */ lw $at,0x8($t0) +/* f033db4: aded0004 */ sw $t5,0x4($t7) +/* f033db8: 0c004b70 */ jal random +/* f033dbc: ade10008 */ sw $at,0x8($t7) +/* f033dc0: 30580007 */ andi $t8,$v0,0x7 +/* f033dc4: 5700000b */ bnezl $t8,.L0f033df4 +/* f033dc8: 8fb90118 */ lw $t9,0x118($sp) +/* f033dcc: 0c004b70 */ jal random +/* f033dd0: 00000000 */ nop +/* f033dd4: 24010003 */ addiu $at,$zero,0x3 +/* f033dd8: 0041001b */ divu $zero,$v0,$at +/* f033ddc: 00006010 */ mfhi $t4 +/* f033de0: 000c4880 */ sll $t1,$t4,0x2 +/* f033de4: 03a95021 */ addu $t2,$sp,$t1 +/* f033de8: 8d4a0064 */ lw $t2,0x64($t2) +/* f033dec: a7aa0112 */ sh $t2,0x112($sp) +/* f033df0: 8fb90118 */ lw $t9,0x118($sp) +.L0f033df4: +/* f033df4: 240e000a */ addiu $t6,$zero,0xa +/* f033df8: a32e0126 */ sb $t6,0x126($t9) +/* f033dfc: 10000026 */ b .L0f033e98 +/* f033e00: af200120 */ sw $zero,0x120($t9) +.L0f033e04: +/* f033e04: 24010002 */ addiu $at,$zero,0x2 +/* f033e08: 15610023 */ bne $t3,$at,.L0f033e98 +/* f033e0c: 8faf0114 */ lw $t7,0x114($sp) +/* f033e10: 11e0000b */ beqz $t7,.L0f033e40 +/* f033e14: 00000000 */ nop +/* f033e18: 0c004b70 */ jal random +/* f033e1c: 00000000 */ nop +/* f033e20: 30480001 */ andi $t0,$v0,0x1 +/* f033e24: 15000004 */ bnez $t0,.L0f033e38 +/* f033e28: 241805b0 */ addiu $t8,$zero,0x5b0 +/* f033e2c: 240d05af */ addiu $t5,$zero,0x5af +/* f033e30: 10000015 */ b .L0f033e88 +/* f033e34: a7ad0112 */ sh $t5,0x112($sp) +.L0f033e38: +/* f033e38: 10000013 */ b .L0f033e88 +/* f033e3c: a7b80112 */ sh $t8,0x112($sp) +.L0f033e40: +/* f033e40: 0c004b70 */ jal random +/* f033e44: 00000000 */ nop +/* f033e48: 3c0c8007 */ lui $t4,%hi(var8006823c) +/* f033e4c: 258c823c */ addiu $t4,$t4,%lo(var8006823c) +/* f033e50: 8d810000 */ lw $at,0x0($t4) +/* f033e54: 27a30050 */ addiu $v1,$sp,0x50 +/* f033e58: 30590003 */ andi $t9,$v0,0x3 +/* f033e5c: ac610000 */ sw $at,0x0($v1) +/* f033e60: 8d8e0004 */ lw $t6,0x4($t4) +/* f033e64: 00195880 */ sll $t3,$t9,0x2 +/* f033e68: 006b7821 */ addu $t7,$v1,$t3 +/* f033e6c: ac6e0004 */ sw $t6,0x4($v1) +/* f033e70: 8d810008 */ lw $at,0x8($t4) +/* f033e74: ac610008 */ sw $at,0x8($v1) +/* f033e78: 8d8e000c */ lw $t6,0xc($t4) +/* f033e7c: ac6e000c */ sw $t6,0xc($v1) +/* f033e80: 8de80000 */ lw $t0,0x0($t7) +/* f033e84: a7a80112 */ sh $t0,0x112($sp) +.L0f033e88: +/* f033e88: 8fb80118 */ lw $t8,0x118($sp) +/* f033e8c: 240d000a */ addiu $t5,$zero,0xa +/* f033e90: a30d0126 */ sb $t5,0x126($t8) +/* f033e94: af000120 */ sw $zero,0x120($t8) +.L0f033e98: +/* f033e98: 87aa0112 */ lh $t2,0x112($sp) +/* f033e9c: 8fa90118 */ lw $t1,0x118($sp) +/* f033ea0: 0542003c */ bltzl $t2,.L0f033f94 +/* f033ea4: 8fbf0044 */ lw $ra,0x44($sp) +/* f033ea8: 8d24001c */ lw $a0,0x1c($t1) +/* f033eac: 8fae0108 */ lw $t6,0x108($sp) +/* f033eb0: 24010006 */ addiu $at,$zero,0x6 +/* f033eb4: 908c0000 */ lbu $t4,0x0($a0) +/* f033eb8: 3c02800a */ lui $v0,%hi(g_Vars+0x64) +/* f033ebc: 24050009 */ addiu $a1,$zero,0x9 +/* f033ec0: 15810016 */ bne $t4,$at,.L0f033f1c +/* f033ec4: 000ec880 */ sll $t9,$t6,0x2 +/* f033ec8: 00591021 */ addu $v0,$v0,$t9 +/* f033ecc: 8c42a024 */ lw $v0,%lo(g_Vars+0x64)($v0) +/* f033ed0: 3c01bf80 */ lui $at,0xbf80 +/* f033ed4: 3c048009 */ lui $a0,%hi(var80095200) +/* f033ed8: 8c4b00e0 */ lw $t3,0xe0($v0) +/* f033edc: 01402825 */ or $a1,$t2,$zero +/* f033ee0: 2407ffff */ addiu $a3,$zero,-1 +/* f033ee4: 1560002a */ bnez $t3,.L0f033f90 +/* f033ee8: 244600e0 */ addiu $a2,$v0,0xe0 +/* f033eec: 44810000 */ mtc1 $at,$f0 +/* f033ef0: 240fffff */ addiu $t7,$zero,-1 +/* f033ef4: 2408ffff */ addiu $t0,$zero,-1 +/* f033ef8: 240dffff */ addiu $t5,$zero,-1 +/* f033efc: afad001c */ sw $t5,0x1c($sp) +/* f033f00: afa80018 */ sw $t0,0x18($sp) +/* f033f04: afaf0010 */ sw $t7,0x10($sp) +/* f033f08: 8c845200 */ lw $a0,%lo(var80095200)($a0) +/* f033f0c: 0c004241 */ jal audioStart +/* f033f10: e7a00014 */ swc1 $f0,0x14($sp) +/* f033f14: 1000001f */ b .L0f033f94 +/* f033f18: 8fbf0044 */ lw $ra,0x44($sp) +.L0f033f1c: +/* f033f1c: 0fc249af */ jal func0f0926bc +/* f033f20: 00003025 */ or $a2,$zero,$zero +/* f033f24: 8fb80118 */ lw $t8,0x118($sp) +/* f033f28: 2405000d */ addiu $a1,$zero,0xd +/* f033f2c: 0fc24984 */ jal func0f092610 +/* f033f30: 8f04001c */ lw $a0,0x1c($t8) +/* f033f34: 14400016 */ bnez $v0,.L0f033f90 +/* f033f38: 3c01bf80 */ lui $at,0xbf80 +/* f033f3c: 8fa90118 */ lw $t1,0x118($sp) +/* f033f40: 44810000 */ mtc1 $at,$f0 +/* f033f44: 240cffff */ addiu $t4,$zero,-1 +/* f033f48: 8d25001c */ lw $a1,0x1c($t1) +/* f033f4c: 240e000d */ addiu $t6,$zero,0xd +/* f033f50: 2419ffff */ addiu $t9,$zero,-1 +/* f033f54: afb9002c */ sw $t9,0x2c($sp) +/* f033f58: afae001c */ sw $t6,0x1c($sp) +/* f033f5c: afa00028 */ sw $zero,0x28($sp) +/* f033f60: afa00020 */ sw $zero,0x20($sp) +/* f033f64: afa00018 */ sw $zero,0x18($sp) +/* f033f68: afa00014 */ sw $zero,0x14($sp) +/* f033f6c: afac0010 */ sw $t4,0x10($sp) +/* f033f70: 00002025 */ or $a0,$zero,$zero +/* f033f74: 87a60112 */ lh $a2,0x112($sp) +/* f033f78: 2407ffff */ addiu $a3,$zero,-1 +/* f033f7c: e7a00038 */ swc1 $f0,0x38($sp) +/* f033f80: e7a00034 */ swc1 $f0,0x34($sp) +/* f033f84: e7a00030 */ swc1 $f0,0x30($sp) +/* f033f88: 0fc24e7e */ jal func0f0939f8 +/* f033f8c: e7a00024 */ swc1 $f0,0x24($sp) +.L0f033f90: +/* f033f90: 8fbf0044 */ lw $ra,0x44($sp) +.L0f033f94: +/* f033f94: 27bd0118 */ addiu $sp,$sp,0x118 +/* f033f98: 03e00008 */ jr $ra +/* f033f9c: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f0338e0 /* f0338e0: 27bdfee8 */ addiu $sp,$sp,-280 @@ -7124,6 +9124,7 @@ glabel func0f0338e0 /* f033f98: 03e00008 */ jr $ra /* f033f9c: 00000000 */ nop ); +#endif f32 chrGetShield(struct chrdata *chr) { @@ -14542,7 +16543,7 @@ bool chrTryRunSideways(struct chrdata *chr) if ((race == RACE_HUMAN || race == RACE_SKEDAR) && chrIsReadyForOrders(chr) - && g_Vars.lvframe60 - chr->lastwalk60 > 180) { + && g_Vars.lvframe60 - chr->lastwalk60 > PALDOWN(180)) { struct prop *prop = chr->prop; f32 distance = 200.0f + random() * (1.0f / U32_MAX) * 200.0f; struct coord vector; @@ -14588,7 +16589,7 @@ bool chrTryAttackWalk(struct chrdata *chr) if (chrCanSeeAttackTarget(chr, &prop->pos, prop->rooms, 0) && (chrGetEquippedWeaponPropWithCheck(chr, 0) || chrGetEquippedWeaponPropWithCheck(chr, 1)) - && g_Vars.lvframe60 - chr->lastwalk60 > 120) { + && g_Vars.lvframe60 - chr->lastwalk60 > PALDOWN(120)) { struct prop *target = chrGetTargetProp(chr); f32 x = target->pos.x - prop->pos.x; f32 y = target->pos.y - prop->pos.y; @@ -14617,7 +16618,7 @@ bool chrTryAttackRun(struct chrdata *chr) if (chrCanSeeAttackTarget(chr, &prop->pos, prop->rooms, 0) && (chrGetEquippedWeaponPropWithCheck(chr, 0) || chrGetEquippedWeaponPropWithCheck(chr, 1)) - && g_Vars.lvframe60 - chr->lastwalk60 > 180) { + && g_Vars.lvframe60 - chr->lastwalk60 > PALDOWN(180)) { struct prop *target = chrGetTargetProp(chr); f32 x = target->pos.x - prop->pos.x; f32 y = target->pos.y - prop->pos.y; @@ -15111,7 +17112,7 @@ bool chrTryRunFromTarget(struct chrdata *chr) if (!func0002d7c0(&prop->pos, prop->rooms, &dst, 0x33, 1, ymax - prop->pos.y, ymin - prop->pos.y)) { #if VERSION >= VERSION_PAL_FINAL - cdGetPos(&dst, 8788, "chr/chraction.c"); + cdGetPos(&dst, 8793, "chr/chraction.c"); #else cdGetPos(&dst, 8788, "chraction.c"); #endif @@ -15579,7 +17580,7 @@ bool chrDropItem(struct chrdata *chr, u32 modelnum, u32 weaponnum) if (weapon && weapon->base.prop) { modelSetUnk14(weapon->base.model, weapon->base.model->unk14); propReparent(weapon->base.prop, chr->prop); - weapon->unk62 = 720; + weapon->unk62 = PALDOWN(720); propobjSetDropped(weapon->base.prop, DROPREASON_1); chr->hidden |= CHRHFLAG_00000001; @@ -16708,7 +18709,7 @@ void chrTickDead(struct chrdata *chr) if (chr->act_dead.fadetimer >= 0) { chr->act_dead.fadetimer += g_Vars.lvupdate240_60; - if (chr->act_dead.fadetimer >= 90) { + if (chr->act_dead.fadetimer >= PALDOWN(90)) { // Fade finished chr->fadealpha = 0; @@ -16719,7 +18720,7 @@ void chrTickDead(struct chrdata *chr) } } else { // Still fading - chr->fadealpha = (90 - chr->act_dead.fadetimer) * 255 / 90; + chr->fadealpha = (PALDOWN(90) - chr->act_dead.fadetimer) * 255 / PALDOWN(90); } } else { // If fade has been triggered (this can happen when the corpse is on @@ -16736,7 +18737,7 @@ void chrTickDead(struct chrdata *chr) chr->act_dead.reaptimer += g_Vars.lvupdate240_60; } - if (chr->act_dead.allowreap && chr->act_dead.reaptimer >= 120) { + if (chr->act_dead.allowreap && chr->act_dead.reaptimer >= PALDOWN(120)) { // Remove corpse (off-screen) if (aibot == NULL) { chr->hidden |= CHRHFLAG_REAPED; @@ -16863,7 +18864,7 @@ void chrTickDie(struct chrdata *chr) if (race == RACE_DRCAROLL) { struct prop *prop = chr->prop; - if (g_DrCarollDyingTimer > 120 && chr->voicebox) { + if (g_DrCarollDyingTimer > PALDOWN(120) && chr->voicebox) { // Play speech u16 phrases[] = { SFX_DRCAROLL_SYSTEMS_FAILURE, @@ -16883,12 +18884,12 @@ void chrTickDie(struct chrdata *chr) if (chr->act_die.drcarollimagedelay > 0) { chr->act_die.drcarollimagedelay -= g_Vars.lvupdate240_60; } else { - chr->act_die.drcarollimagedelay = (random() % 1000) * 0.01f + 5.0f; + chr->act_die.drcarollimagedelay = (random() % PALDOWN(1000)) * 0.01f + 5.0f; chr->drcarollimage_left = 1 + (s32)((random() % 400) * 0.01f); chr->drcarollimage_right = 1 + (s32)((random() % 400) * 0.01f); } - if (g_DrCarollDyingTimer > 310) { + if (g_DrCarollDyingTimer > PALDOWN(310)) { // Explode func0f0926bc(prop, 1, 0xffff); explosionCreateSimple(prop, &prop->pos, prop->rooms, EXPLOSIONTYPE_8, g_Vars.currentplayernum); @@ -17217,10 +19218,10 @@ void chrTickDruggedKo(struct chrdata *chr) if (chr->act_druggedko.fadetimer >= 0) { chr->act_druggedko.fadetimer += g_Vars.lvupdate240_60; - if (chr->act_druggedko.fadetimer >= 90) { + if (chr->act_druggedko.fadetimer >= PALDOWN(90)) { reap = true; } else { - chr->fadealpha = (90 - chr->act_druggedko.fadetimer) * 255 / 90; + chr->fadealpha = (PALDOWN(90) - chr->act_druggedko.fadetimer) * 255 / PALDOWN(90); } } else if ((chr->chrflags & CHRCFLAG_KEEPCORPSEKO) == 0) { if (chr->act_druggedko.allowfade) { @@ -17233,7 +19234,7 @@ void chrTickDruggedKo(struct chrdata *chr) chr->act_druggedko.reaptimer += g_Vars.lvupdate240_60; } - if (chr->act_druggedko.allowreap && chr->act_druggedko.reaptimer >= 120) { + if (chr->act_druggedko.allowreap && chr->act_druggedko.reaptimer >= PALDOWN(120)) { reap = true; } } @@ -25964,7 +27965,7 @@ void chrTickThrowGrenade(struct chrdata *chr) weapon = weaponprop->weapon; propobjSetDropped(weaponprop, DROPREASON_3); chr->hidden |= CHRHFLAG_00000001; - weapon->unk62 = 240; + weapon->unk62 = PALDOWN(240); } frame2 = modelGetCurAnimFrame(model); @@ -25992,7 +27993,7 @@ bool chrDetectDangerousObject(struct chrdata *chr, u8 flags) if (prop) { if ((flags & 1) && prop->weapon && prop->weapon->weaponnum == WEAPON_GRENADE && - prop->weapon->unk62 < 480) { + prop->weapon->unk62 < PALDOWN(480)) { pass = true; } @@ -26141,7 +28142,7 @@ glabel var7f1a9234 /* f043fc4: 5b200021 */ blezl $t9,.L0f04404c /* f043fc8: 44804000 */ mtc1 $zero,$f8 /* f043fcc: 8d089fc8 */ lw $t0,%lo(g_Vars+0x8)($t0) -/* f043fd0: 240104b0 */ addiu $at,$zero,0x4b0 +/* f043fd0: 240104b0 */ addiu $at,$zero,0x3e8 /* f043fd4: e7ae0044 */ swc1 $f14,0x44($sp) /* f043fd8: 0101001a */ div $zero,$t0,$at /* f043fdc: 00004810 */ mfhi $t1 @@ -26552,6 +28553,271 @@ glabel var7f1a9234 ); #endif +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel chrTickAttackWalk +/* f044208: 27bdffb0 */ addiu $sp,$sp,-80 +/* f04420c: afbf002c */ sw $ra,0x2c($sp) +/* f044210: afb20028 */ sw $s2,0x28($sp) +/* f044214: afb10024 */ sw $s1,0x24($sp) +/* f044218: afb00020 */ sw $s0,0x20($sp) +/* f04421c: 8c8e001c */ lw $t6,0x1c($a0) +/* f044220: 8c910020 */ lw $s1,0x20($a0) +/* f044224: 00808025 */ or $s0,$a0,$zero +/* f044228: 0fc0a221 */ jal chrGetTargetProp +/* f04422c: afae0048 */ sw $t6,0x48($sp) +/* f044230: 8e0f0014 */ lw $t7,0x14($s0) +/* f044234: 00409025 */ or $s2,$v0,$zero +/* f044238: 000fc280 */ sll $t8,$t7,0xa +/* f04423c: 0701000c */ bgez $t8,.L0f044270 +/* f044240: 00000000 */ nop +/* f044244: 0c0076e5 */ jal modelIsAnimMerging +/* f044248: 8e040020 */ lw $a0,0x20($s0) +/* f04424c: 544000d8 */ bnezl $v0,.L0f0445b0 +/* f044250: 8fbf002c */ lw $ra,0x2c($sp) +/* f044254: 0fc0c161 */ jal chrAttackWalkChooseAnimation +/* f044258: 02002025 */ or $a0,$s0,$zero +/* f04425c: 8e190014 */ lw $t9,0x14($s0) +/* f044260: 3c01ffdf */ lui $at,0xffdf +/* f044264: 3421ffff */ ori $at,$at,0xffff +/* f044268: 03214024 */ and $t0,$t9,$at +/* f04426c: ae080014 */ sw $t0,0x14($s0) +.L0f044270: +/* f044270: 3c02800a */ lui $v0,%hi(g_Vars) +/* f044274: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars) +/* f044278: 8c4a0038 */ lw $t2,0x38($v0) +/* f04427c: 8e090030 */ lw $t1,0x30($s0) +/* f044280: 820d0009 */ lb $t5,0x9($s0) +/* f044284: 24010001 */ addiu $at,$zero,0x1 +/* f044288: 012a5821 */ addu $t3,$t1,$t2 +/* f04428c: ae0b0030 */ sw $t3,0x30($s0) +/* f044290: 8c4c0008 */ lw $t4,0x8($v0) +/* f044294: 11a1000c */ beq $t5,$at,.L0f0442c8 +/* f044298: ae0c00d4 */ sw $t4,0xd4($s0) +/* f04429c: 8c4f0008 */ lw $t7,0x8($v0) +/* f0442a0: 8e0e00d8 */ lw $t6,0xd8($s0) +/* f0442a4: 25f8ffc4 */ addiu $t8,$t7,-50 +/* f0442a8: 01d8082a */ slt $at,$t6,$t8 +/* f0442ac: 14200006 */ bnez $at,.L0f0442c8 +/* f0442b0: 00000000 */ nop +/* f0442b4: 8e190034 */ lw $t9,0x34($s0) +/* f0442b8: 8fa20048 */ lw $v0,0x48($sp) +/* f0442bc: 032b082a */ slt $at,$t9,$t3 +/* f0442c0: 50200029 */ beqzl $at,.L0f044368 +/* f0442c4: c64a0008 */ lwc1 $f10,0x8($s2) +.L0f0442c8: +/* f0442c8: 0c00745f */ jal modelGetCurAnimFrame +/* f0442cc: 02202025 */ or $a0,$s1,$zero +/* f0442d0: e7a00034 */ swc1 $f0,0x34($sp) +/* f0442d4: 0c007486 */ jal modelGetNumAnimFrames +/* f0442d8: 02202025 */ or $a0,$s1,$zero +/* f0442dc: 44822000 */ mtc1 $v0,$f4 +/* f0442e0: 3c013f00 */ lui $at,0x3f00 +/* f0442e4: 44814000 */ mtc1 $at,$f8 +/* f0442e8: 468021a0 */ cvt.s.w $f6,$f4 +/* f0442ec: c7b00034 */ lwc1 $f16,0x34($sp) +/* f0442f0: 02202025 */ or $a0,$s1,$zero +/* f0442f4: 24050000 */ addiu $a1,$zero,0x0 +/* f0442f8: 46083282 */ mul.s $f10,$f6,$f8 +/* f0442fc: 4610503c */ c.lt.s $f10,$f16 +/* f044300: 00000000 */ nop +/* f044304: 45000005 */ bc1f .L0f04431c +/* f044308: 00000000 */ nop +/* f04430c: 0c0077c1 */ jal modelSetAnimSpeedAuto +/* f044310: 3c064180 */ lui $a2,0x4180 +/* f044314: 1000000d */ b .L0f04434c +/* f044318: 00000000 */ nop +.L0f04431c: +/* f04431c: 0c007486 */ jal modelGetNumAnimFrames +/* f044320: 02202025 */ or $a0,$s1,$zero +/* f044324: 44829000 */ mtc1 $v0,$f18 +/* f044328: 3c013f00 */ lui $at,0x3f00 +/* f04432c: 44813000 */ mtc1 $at,$f6 +/* f044330: 46809120 */ cvt.s.w $f4,$f18 +/* f044334: 02202025 */ or $a0,$s1,$zero +/* f044338: 3c064180 */ lui $a2,0x4180 +/* f04433c: 46062202 */ mul.s $f8,$f4,$f6 +/* f044340: 44054000 */ mfc1 $a1,$f8 +/* f044344: 0c0077c1 */ jal modelSetAnimSpeedAuto +/* f044348: 00000000 */ nop +.L0f04434c: +/* f04434c: 0fc0e56b */ jal chrRecordLastSeeTargetTime +/* f044350: 02002025 */ or $a0,$s0,$zero +/* f044354: 0fc0bb57 */ jal chrStop +/* f044358: 02002025 */ or $a0,$s0,$zero +/* f04435c: 10000094 */ b .L0f0445b0 +/* f044360: 8fbf002c */ lw $ra,0x2c($sp) +/* f044364: c64a0008 */ lwc1 $f10,0x8($s2) +.L0f044368: +/* f044368: c4500008 */ lwc1 $f16,0x8($v0) +/* f04436c: 3c014396 */ lui $at,0x4396 +/* f044370: 44816000 */ mtc1 $at,$f12 +/* f044374: 46105001 */ sub.s $f0,$f10,$f16 +/* f044378: c6520010 */ lwc1 $f18,0x10($s2) +/* f04437c: c4440010 */ lwc1 $f4,0x10($v0) +/* f044380: 3c01c396 */ lui $at,0xc396 +/* f044384: 460c003c */ c.lt.s $f0,$f12 +/* f044388: 02002025 */ or $a0,$s0,$zero +/* f04438c: 26450008 */ addiu $a1,$s2,0x8 +/* f044390: 00003025 */ or $a2,$zero,$zero +/* f044394: 45000015 */ bc1f .L0f0443ec +/* f044398: 46049081 */ sub.s $f2,$f18,$f4 +/* f04439c: 44817000 */ mtc1 $at,$f14 +/* f0443a0: 00000000 */ nop +/* f0443a4: 4600703c */ c.lt.s $f14,$f0 +/* f0443a8: 00000000 */ nop +/* f0443ac: 4500000f */ bc1f .L0f0443ec +/* f0443b0: 00000000 */ nop +/* f0443b4: 460c103c */ c.lt.s $f2,$f12 +/* f0443b8: 00000000 */ nop +/* f0443bc: 4500000b */ bc1f .L0f0443ec +/* f0443c0: 00000000 */ nop +/* f0443c4: 4602703c */ c.lt.s $f14,$f2 +/* f0443c8: 00000000 */ nop +/* f0443cc: 45000007 */ bc1f .L0f0443ec +/* f0443d0: 00000000 */ nop +/* f0443d4: 0fc0e56b */ jal chrRecordLastSeeTargetTime +/* f0443d8: 02002025 */ or $a0,$s0,$zero +/* f0443dc: 0fc0bb57 */ jal chrStop +/* f0443e0: 02002025 */ or $a0,$s0,$zero +/* f0443e4: 10000072 */ b .L0f0445b0 +/* f0443e8: 8fbf002c */ lw $ra,0x2c($sp) +.L0f0443ec: +/* f0443ec: 0fc10fcb */ jal func0f043f2c +/* f0443f0: 26070054 */ addiu $a3,$s0,0x54 +/* f0443f4: 10400002 */ beqz $v0,.L0f044400 +/* f0443f8: 24090001 */ addiu $t1,$zero,0x1 +/* f0443fc: ae090038 */ sw $t1,0x38($s0) +.L0f044400: +/* f044400: 8e0a0030 */ lw $t2,0x30($s0) +/* f044404: 02002025 */ or $a0,$s0,$zero +/* f044408: 29410015 */ slti $at,$t2,0x11 +/* f04440c: 14200009 */ bnez $at,.L0f044434 +/* f044410: 3c013f80 */ lui $at,0x3f80 +/* f044414: 44813000 */ mtc1 $at,$f6 +/* f044418: 8e05003c */ lw $a1,0x3c($s0) +/* f04441c: 82060049 */ lb $a2,0x49($s0) +/* f044420: 82070048 */ lb $a3,0x48($s0) +/* f044424: 0fc0fa7d */ jal func0f03e9f4 +/* f044428: e7a60010 */ swc1 $f6,0x10($sp) +/* f04442c: 10000004 */ b .L0f044440 +/* f044430: 8e0b0038 */ lw $t3,0x38($s0) +.L0f044434: +/* f044434: 0fc0fe0a */ jal chrResetAimEndProperties +/* f044438: 02002025 */ or $a0,$s0,$zero +/* f04443c: 8e0b0038 */ lw $t3,0x38($s0) +.L0f044440: +/* f044440: 02002025 */ or $a0,$s0,$zero +/* f044444: 24050001 */ addiu $a1,$zero,0x1 +/* f044448: 11600052 */ beqz $t3,.L0f044594 +/* f04444c: 00000000 */ nop +/* f044450: 8e0c0030 */ lw $t4,0x30($s0) +/* f044454: 00008825 */ or $s1,$zero,$zero +/* f044458: 02009025 */ or $s2,$s0,$zero +/* f04445c: 2981001f */ slti $at,$t4,0x1a +/* f044460: 1420004c */ bnez $at,.L0f044594 +/* f044464: 00000000 */ nop +.L0f044468: +/* f044468: 824d0048 */ lb $t5,0x48($s2) +/* f04446c: 02002025 */ or $a0,$s0,$zero +/* f044470: 02202825 */ or $a1,$s1,$zero +/* f044474: 11a0003f */ beqz $t5,.L0f044574 +/* f044478: 00000000 */ nop +/* f04447c: 824f004a */ lb $t7,0x4a($s2) +/* f044480: 02002025 */ or $a0,$s0,$zero +/* f044484: 02202825 */ or $a1,$s1,$zero +/* f044488: 55e00006 */ bnezl $t7,.L0f0444a4 +/* f04448c: 8e020030 */ lw $v0,0x30($s0) +/* f044490: 0fc0fe62 */ jal func0f03f988 +/* f044494: 24060001 */ addiu $a2,$zero,0x1 +/* f044498: 10000039 */ b .L0f044580 +/* f04449c: 26310001 */ addiu $s1,$s1,0x1 +/* f0444a0: 8e020030 */ lw $v0,0x30($s0) +.L0f0444a4: +/* f0444a4: 8e0e0040 */ lw $t6,0x40($s0) +/* f0444a8: 02002025 */ or $a0,$s0,$zero +/* f0444ac: 02202825 */ or $a1,$s1,$zero +/* f0444b0: 01c2082a */ slt $at,$t6,$v0 +/* f0444b4: 1020002b */ beqz $at,.L0f044564 +/* f0444b8: 00000000 */ nop +/* f0444bc: 8e030044 */ lw $v1,0x44($s0) +/* f0444c0: 00114023 */ negu $t0,$s1 +/* f0444c4: 02084821 */ addu $t1,$s0,$t0 +/* f0444c8: 12230004 */ beq $s1,$v1,.L0f0444dc +/* f0444cc: 0203c021 */ addu $t8,$s0,$v1 +/* f0444d0: 8319004a */ lb $t9,0x4a($t8) +/* f0444d4: 17200023 */ bnez $t9,.L0f044564 +/* f0444d8: 00000000 */ nop +.L0f0444dc: +/* f0444dc: ae020040 */ sw $v0,0x40($s0) +/* f0444e0: 812a004b */ lb $t2,0x4b($t1) +/* f0444e4: 240c0001 */ addiu $t4,$zero,0x1 +/* f0444e8: 02002025 */ or $a0,$s0,$zero +/* f0444ec: 5140000c */ beqzl $t2,.L0f044520 +/* f0444f0: 8258004c */ lb $t8,0x4c($s2) +/* f0444f4: 824b004c */ lb $t3,0x4c($s2) +/* f0444f8: 244d005a */ addiu $t5,$v0,0x4b +/* f0444fc: 51600004 */ beqzl $t3,.L0f044510 +/* f044500: 8e0f0040 */ lw $t7,0x40($s0) +/* f044504: 1000000f */ b .L0f044544 +/* f044508: ae0d0040 */ sw $t5,0x40($s0) +/* f04450c: 8e0f0040 */ lw $t7,0x40($s0) +.L0f044510: +/* f044510: 25ee0014 */ addiu $t6,$t7,0x10 +/* f044514: 1000000b */ b .L0f044544 +/* f044518: ae0e0040 */ sw $t6,0x40($s0) +/* f04451c: 8258004c */ lb $t8,0x4c($s2) +.L0f044520: +/* f044520: 53000006 */ beqzl $t8,.L0f04453c +/* f044524: 8e090040 */ lw $t1,0x40($s0) +/* f044528: 8e190040 */ lw $t9,0x40($s0) +/* f04452c: 272800b4 */ addiu $t0,$t9,0x96 +/* f044530: 10000004 */ b .L0f044544 +/* f044534: ae080040 */ sw $t0,0x40($s0) +/* f044538: 8e090040 */ lw $t1,0x40($s0) +.L0f04453c: +/* f04453c: 252a0028 */ addiu $t2,$t1,0x21 +/* f044540: ae0a0040 */ sw $t2,0x40($s0) +.L0f044544: +/* f044544: 8e0b0044 */ lw $t3,0x44($s0) +/* f044548: 02202825 */ or $a1,$s1,$zero +/* f04454c: 24060001 */ addiu $a2,$zero,0x1 +/* f044550: 018b6823 */ subu $t5,$t4,$t3 +/* f044554: 0fc0fe62 */ jal func0f03f988 +/* f044558: ae0d0044 */ sw $t5,0x44($s0) +/* f04455c: 10000008 */ b .L0f044580 +/* f044560: 26310001 */ addiu $s1,$s1,0x1 +.L0f044564: +/* f044564: 0fc0fe62 */ jal func0f03f988 +/* f044568: 00003025 */ or $a2,$zero,$zero +/* f04456c: 10000004 */ b .L0f044580 +/* f044570: 26310001 */ addiu $s1,$s1,0x1 +.L0f044574: +/* f044574: 0fc0fe62 */ jal func0f03f988 +/* f044578: 00003025 */ or $a2,$zero,$zero +/* f04457c: 26310001 */ addiu $s1,$s1,0x1 +.L0f044580: +/* f044580: 24010002 */ addiu $at,$zero,0x2 +/* f044584: 1621ffb8 */ bne $s1,$at,.L0f044468 +/* f044588: 26520001 */ addiu $s2,$s2,0x1 +/* f04458c: 10000008 */ b .L0f0445b0 +/* f044590: 8fbf002c */ lw $ra,0x2c($sp) +.L0f044594: +/* f044594: 0fc0fe62 */ jal func0f03f988 +/* f044598: 00003025 */ or $a2,$zero,$zero +/* f04459c: 02002025 */ or $a0,$s0,$zero +/* f0445a0: 00002825 */ or $a1,$zero,$zero +/* f0445a4: 0fc0fe62 */ jal func0f03f988 +/* f0445a8: 00003025 */ or $a2,$zero,$zero +/* f0445ac: 8fbf002c */ lw $ra,0x2c($sp) +.L0f0445b0: +/* f0445b0: 8fb00020 */ lw $s0,0x20($sp) +/* f0445b4: 8fb10024 */ lw $s1,0x24($sp) +/* f0445b8: 8fb20028 */ lw $s2,0x28($sp) +/* f0445bc: 03e00008 */ jr $ra +/* f0445c0: 27bd0050 */ addiu $sp,$sp,0x50 +); +#else GLOBAL_ASM( glabel chrTickAttackWalk /* f044208: 27bdffb0 */ addiu $sp,$sp,-80 @@ -26815,6 +29081,7 @@ glabel chrTickAttackWalk /* f0445bc: 03e00008 */ jr $ra /* f0445c0: 27bd0050 */ addiu $sp,$sp,0x50 ); +#endif GLOBAL_ASM( glabel func0f0445c4 @@ -27011,7 +29278,7 @@ void chrTickRunPos(struct chrdata *chr) chr->lastwalk60 = g_Vars.lvframe60; if (chr->invalidmove == 1 - || g_Vars.lvframe60 - 60 > chr->lastmoveok60 + || g_Vars.lvframe60 - PALDOWN(60) > chr->lastmoveok60 || func0f0446e0(&chr->prevpos, &prop->pos, &chr->act_runpos.pos, chr->act_runpos.unk038)) { if (race == RACE_HUMAN) { modelGetAnimNum(model); @@ -27122,6 +29389,382 @@ glabel func0f044b68 /* f044c34: 27bd0018 */ addiu $sp,$sp,0x18 ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f044c38 +.late_rodata +glabel var7f1a9238 +.word 0x3f733333 +glabel var7f1a923c +.word 0x3f733333 +glabel var7f1a9240 +.word 0x3f99999a +glabel var7f1a9244 +.word 0x3f99999a +.text +/* f044c38: 27bdff20 */ addiu $sp,$sp,-224 +/* f044c3c: afbf002c */ sw $ra,0x2c($sp) +/* f044c40: afb00028 */ sw $s0,0x28($sp) +/* f044c44: afa400e0 */ sw $a0,0xe0($sp) +/* f044c48: afa600e8 */ sw $a2,0xe8($sp) +/* f044c4c: afa700ec */ sw $a3,0xec($sp) +/* f044c50: afa000bc */ sw $zero,0xbc($sp) +/* f044c54: afa000b8 */ sw $zero,0xb8($sp) +/* f044c58: afa00084 */ sw $zero,0x84($sp) +/* f044c5c: 8c84001c */ lw $a0,0x1c($a0) +/* f044c60: 00a08025 */ or $s0,$a1,$zero +/* f044c64: 27a50078 */ addiu $a1,$sp,0x78 +/* f044c68: 27a7007c */ addiu $a3,$sp,0x7c +/* f044c6c: 27a60080 */ addiu $a2,$sp,0x80 +/* f044c70: 0fc0a277 */ jal propChrGetBbox +/* f044c74: afa4003c */ sw $a0,0x3c($sp) +/* f044c78: 8fa200ec */ lw $v0,0xec($sp) +/* f044c7c: c6060000 */ lwc1 $f6,0x0($s0) +/* f044c80: 44800000 */ mtc1 $zero,$f0 +/* f044c84: c4440000 */ lwc1 $f4,0x0($v0) +/* f044c88: e7a000d8 */ swc1 $f0,0xd8($sp) +/* f044c8c: 46062201 */ sub.s $f8,$f4,$f6 +/* f044c90: e7a800d4 */ swc1 $f8,0xd4($sp) +/* f044c94: c7a800d4 */ lwc1 $f8,0xd4($sp) +/* f044c98: c6040008 */ lwc1 $f4,0x8($s0) +/* f044c9c: c44a0008 */ lwc1 $f10,0x8($v0) +/* f044ca0: 46080032 */ c.eq.s $f0,$f8 +/* f044ca4: 46045181 */ sub.s $f6,$f10,$f4 +/* f044ca8: 45000008 */ bc1f .L0f044ccc +/* f044cac: e7a600dc */ swc1 $f6,0xdc($sp) +/* f044cb0: c7b200dc */ lwc1 $f18,0xdc($sp) +/* f044cb4: 46120032 */ c.eq.s $f0,$f18 +/* f044cb8: 00000000 */ nop +/* f044cbc: 45020004 */ bc1fl .L0f044cd0 +/* f044cc0: c7b200dc */ lwc1 $f18,0xdc($sp) +/* f044cc4: 10000133 */ b .L0f045194 +/* f044cc8: 24020001 */ addiu $v0,$zero,0x1 +.L0f044ccc: +/* f044ccc: c7b200dc */ lwc1 $f18,0xdc($sp) +.L0f044cd0: +/* f044cd0: c7b000d4 */ lwc1 $f16,0xd4($sp) +/* f044cd4: 46129282 */ mul.s $f10,$f18,$f18 +/* f044cd8: 00000000 */ nop +/* f044cdc: 46108102 */ mul.s $f4,$f16,$f16 +/* f044ce0: 0c012974 */ jal sqrtf +/* f044ce4: 46045300 */ add.s $f12,$f10,$f4 +/* f044ce8: 3c013f80 */ lui $at,0x3f80 +/* f044cec: 44813000 */ mtc1 $at,$f6 +/* f044cf0: c7b000d4 */ lwc1 $f16,0xd4($sp) +/* f044cf4: c7b200dc */ lwc1 $f18,0xdc($sp) +/* f044cf8: 46003083 */ div.s $f2,$f6,$f0 +/* f044cfc: c7a800fc */ lwc1 $f8,0xfc($sp) +/* f044d00: 3c017f1b */ lui $at,%hi(var7f1a9238) +/* f044d04: c42a9238 */ lwc1 $f10,%lo(var7f1a9238)($at) +/* f044d08: 3c017f1b */ lui $at,%hi(var7f1a923c) +/* f044d0c: c426923c */ lwc1 $f6,%lo(var7f1a923c)($at) +/* f044d10: 3c017f1b */ lui $at,%hi(var7f1a9240) +/* f044d14: 8fa400e0 */ lw $a0,0xe0($sp) +/* f044d18: 00002825 */ or $a1,$zero,$zero +/* f044d1c: 46028402 */ mul.s $f16,$f16,$f2 +/* f044d20: 00000000 */ nop +/* f044d24: 46029482 */ mul.s $f18,$f18,$f2 +/* f044d28: 00000000 */ nop +/* f044d2c: 46088302 */ mul.s $f12,$f16,$f8 +/* f044d30: e7b000d4 */ swc1 $f16,0xd4($sp) +/* f044d34: e7b200dc */ swc1 $f18,0xdc($sp) +/* f044d38: 460a6102 */ mul.s $f4,$f12,$f10 +/* f044d3c: 00000000 */ nop +/* f044d40: 46089382 */ mul.s $f14,$f18,$f8 +/* f044d44: e7a400d0 */ swc1 $f4,0xd0($sp) +/* f044d48: c4249240 */ lwc1 $f4,%lo(var7f1a9240)($at) +/* f044d4c: 3c017f1b */ lui $at,%hi(var7f1a9244) +/* f044d50: 46067282 */ mul.s $f10,$f14,$f6 +/* f044d54: c4269244 */ lwc1 $f6,%lo(var7f1a9244)($at) +/* f044d58: 46046202 */ mul.s $f8,$f12,$f4 +/* f044d5c: e7aa00cc */ swc1 $f10,0xcc($sp) +/* f044d60: 46067282 */ mul.s $f10,$f14,$f6 +/* f044d64: e7a800c8 */ swc1 $f8,0xc8($sp) +/* f044d68: 0fc079ef */ jal chrSetOrUnsetHiddenFlag00000100 +/* f044d6c: e7aa00c4 */ swc1 $f10,0xc4($sp) +/* f044d70: c6040000 */ lwc1 $f4,0x0($s0) +/* f044d74: c7a800cc */ lwc1 $f8,0xcc($sp) +/* f044d78: 8fa200ec */ lw $v0,0xec($sp) +/* f044d7c: c7a200f8 */ lwc1 $f2,0xf8($sp) +/* f044d80: 46082180 */ add.s $f6,$f4,$f8 +/* f044d84: c7a800d0 */ lwc1 $f8,0xd0($sp) +/* f044d88: 8faf0100 */ lw $t7,0x100($sp) +/* f044d8c: 8fb9003c */ lw $t9,0x3c($sp) +/* f044d90: e7a6006c */ swc1 $f6,0x6c($sp) +/* f044d94: c60a0004 */ lwc1 $f10,0x4($s0) +/* f044d98: 24180001 */ addiu $t8,$zero,0x1 +/* f044d9c: 02002025 */ or $a0,$s0,$zero +/* f044da0: e7aa0070 */ swc1 $f10,0x70($sp) +/* f044da4: c6040008 */ lwc1 $f4,0x8($s0) +/* f044da8: 8fa500e8 */ lw $a1,0xe8($sp) +/* f044dac: 27a6006c */ addiu $a2,$sp,0x6c +/* f044db0: 46082181 */ sub.s $f6,$f4,$f8 +/* f044db4: c7a400c4 */ lwc1 $f4,0xc4($sp) +/* f044db8: 27a70050 */ addiu $a3,$sp,0x50 +/* f044dbc: e7a60074 */ swc1 $f6,0x74($sp) +/* f044dc0: c44a0000 */ lwc1 $f10,0x0($v0) +/* f044dc4: c7a600d4 */ lwc1 $f6,0xd4($sp) +/* f044dc8: 46045200 */ add.s $f8,$f10,$f4 +/* f044dcc: 46023282 */ mul.s $f10,$f6,$f2 +/* f044dd0: 46085100 */ add.s $f4,$f10,$f8 +/* f044dd4: c7a800c8 */ lwc1 $f8,0xc8($sp) +/* f044dd8: e7a40060 */ swc1 $f4,0x60($sp) +/* f044ddc: c4460004 */ lwc1 $f6,0x4($v0) +/* f044de0: e7a60064 */ swc1 $f6,0x64($sp) +/* f044de4: c44a0008 */ lwc1 $f10,0x8($v0) +/* f044de8: c7a600dc */ lwc1 $f6,0xdc($sp) +/* f044dec: afb80014 */ sw $t8,0x14($sp) +/* f044df0: 46085101 */ sub.s $f4,$f10,$f8 +/* f044df4: 46023282 */ mul.s $f10,$f6,$f2 +/* f044df8: afaf0010 */ sw $t7,0x10($sp) +/* f044dfc: c7a60080 */ lwc1 $f6,0x80($sp) +/* f044e00: 46045200 */ add.s $f8,$f10,$f4 +/* f044e04: c7a4007c */ lwc1 $f4,0x7c($sp) +/* f044e08: e7a80068 */ swc1 $f8,0x68($sp) +/* f044e0c: c720000c */ lwc1 $f0,0xc($t9) +/* f044e10: 46003281 */ sub.s $f10,$f6,$f0 +/* f044e14: 46002201 */ sub.s $f8,$f4,$f0 +/* f044e18: e7aa0018 */ swc1 $f10,0x18($sp) +/* f044e1c: 0c00b694 */ jal func0002da50 +/* f044e20: e7a8001c */ swc1 $f8,0x1c($sp) +/* f044e24: 10400010 */ beqz $v0,.L0f044e68 +/* f044e28: 24080001 */ addiu $t0,$zero,0x1 +/* f044e2c: 8fa9003c */ lw $t1,0x3c($sp) +/* f044e30: afa80010 */ sw $t0,0x10($sp) +/* f044e34: c7a60080 */ lwc1 $f6,0x80($sp) +/* f044e38: c520000c */ lwc1 $f0,0xc($t1) +/* f044e3c: c7a4007c */ lwc1 $f4,0x7c($sp) +/* f044e40: 27a4006c */ addiu $a0,$sp,0x6c +/* f044e44: 46003281 */ sub.s $f10,$f6,$f0 +/* f044e48: 27a50050 */ addiu $a1,$sp,0x50 +/* f044e4c: 27a60060 */ addiu $a2,$sp,0x60 +/* f044e50: 46002201 */ sub.s $f8,$f4,$f0 +/* f044e54: e7aa0014 */ swc1 $f10,0x14($sp) +/* f044e58: 8fa70100 */ lw $a3,0x100($sp) +/* f044e5c: 0c00b5f0 */ jal func0002d7c0 +/* f044e60: e7a80018 */ swc1 $f8,0x18($sp) +/* f044e64: 1440000c */ bnez $v0,.L0f044e98 +.L0f044e68: +/* f044e68: 240a0001 */ addiu $t2,$zero,0x1 +/* f044e6c: 3c077f1b */ lui $a3,%hi(var7f1a8ba0) +/* f044e70: afaa00bc */ sw $t2,0xbc($sp) +/* f044e74: 24e78ba0 */ addiu $a3,$a3,%lo(var7f1a8ba0) +/* f044e78: 27a400ac */ addiu $a0,$sp,0xac +/* f044e7c: 27a500a0 */ addiu $a1,$sp,0xa0 +/* f044e80: 0c009393 */ jal func00024e4c +/* f044e84: 24063741 */ addiu $a2,$zero,0x3747 +/* f044e88: 27a400ac */ addiu $a0,$sp,0xac +/* f044e8c: 27a500a0 */ addiu $a1,$sp,0xa0 +/* f044e90: 0fc112da */ jal func0f044b68 +/* f044e94: 27a600d4 */ addiu $a2,$sp,0xd4 +.L0f044e98: +/* f044e98: c6060000 */ lwc1 $f6,0x0($s0) +/* f044e9c: c7aa00cc */ lwc1 $f10,0xcc($sp) +/* f044ea0: 8fa200ec */ lw $v0,0xec($sp) +/* f044ea4: c7a200f8 */ lwc1 $f2,0xf8($sp) +/* f044ea8: 460a3101 */ sub.s $f4,$f6,$f10 +/* f044eac: c7aa00d0 */ lwc1 $f10,0xd0($sp) +/* f044eb0: 8fab0100 */ lw $t3,0x100($sp) +/* f044eb4: 8fad003c */ lw $t5,0x3c($sp) +/* f044eb8: e7a4006c */ swc1 $f4,0x6c($sp) +/* f044ebc: c6080004 */ lwc1 $f8,0x4($s0) +/* f044ec0: 240c0001 */ addiu $t4,$zero,0x1 +/* f044ec4: 02002025 */ or $a0,$s0,$zero +/* f044ec8: e7a80070 */ swc1 $f8,0x70($sp) +/* f044ecc: c6060008 */ lwc1 $f6,0x8($s0) +/* f044ed0: 8fa500e8 */ lw $a1,0xe8($sp) +/* f044ed4: 27a6006c */ addiu $a2,$sp,0x6c +/* f044ed8: 460a3100 */ add.s $f4,$f6,$f10 +/* f044edc: c7a600c4 */ lwc1 $f6,0xc4($sp) +/* f044ee0: 27a70050 */ addiu $a3,$sp,0x50 +/* f044ee4: e7a40074 */ swc1 $f4,0x74($sp) +/* f044ee8: c4480000 */ lwc1 $f8,0x0($v0) +/* f044eec: c7a400d4 */ lwc1 $f4,0xd4($sp) +/* f044ef0: 46064281 */ sub.s $f10,$f8,$f6 +/* f044ef4: 46022202 */ mul.s $f8,$f4,$f2 +/* f044ef8: 460a4180 */ add.s $f6,$f8,$f10 +/* f044efc: c7aa00c8 */ lwc1 $f10,0xc8($sp) +/* f044f00: e7a60060 */ swc1 $f6,0x60($sp) +/* f044f04: c4440004 */ lwc1 $f4,0x4($v0) +/* f044f08: e7a40064 */ swc1 $f4,0x64($sp) +/* f044f0c: c4480008 */ lwc1 $f8,0x8($v0) +/* f044f10: c7a400dc */ lwc1 $f4,0xdc($sp) +/* f044f14: afac0014 */ sw $t4,0x14($sp) +/* f044f18: 460a4180 */ add.s $f6,$f8,$f10 +/* f044f1c: 46022202 */ mul.s $f8,$f4,$f2 +/* f044f20: afab0010 */ sw $t3,0x10($sp) +/* f044f24: c7a40080 */ lwc1 $f4,0x80($sp) +/* f044f28: 46064280 */ add.s $f10,$f8,$f6 +/* f044f2c: c7a6007c */ lwc1 $f6,0x7c($sp) +/* f044f30: e7aa0068 */ swc1 $f10,0x68($sp) +/* f044f34: c5a0000c */ lwc1 $f0,0xc($t5) +/* f044f38: 46002201 */ sub.s $f8,$f4,$f0 +/* f044f3c: 46003281 */ sub.s $f10,$f6,$f0 +/* f044f40: e7a80018 */ swc1 $f8,0x18($sp) +/* f044f44: 0c00b694 */ jal func0002da50 +/* f044f48: e7aa001c */ swc1 $f10,0x1c($sp) +/* f044f4c: 10400010 */ beqz $v0,.L0f044f90 +/* f044f50: 240e0001 */ addiu $t6,$zero,0x1 +/* f044f54: 8faf003c */ lw $t7,0x3c($sp) +/* f044f58: afae0010 */ sw $t6,0x10($sp) +/* f044f5c: c7a40080 */ lwc1 $f4,0x80($sp) +/* f044f60: c5e0000c */ lwc1 $f0,0xc($t7) +/* f044f64: c7a6007c */ lwc1 $f6,0x7c($sp) +/* f044f68: 27a4006c */ addiu $a0,$sp,0x6c +/* f044f6c: 46002201 */ sub.s $f8,$f4,$f0 +/* f044f70: 8fa500e8 */ lw $a1,0xe8($sp) +/* f044f74: 27a60060 */ addiu $a2,$sp,0x60 +/* f044f78: 46003281 */ sub.s $f10,$f6,$f0 +/* f044f7c: e7a80014 */ swc1 $f8,0x14($sp) +/* f044f80: 8fa70100 */ lw $a3,0x100($sp) +/* f044f84: 0c00b5f0 */ jal func0002d7c0 +/* f044f88: e7aa0018 */ swc1 $f10,0x18($sp) +/* f044f8c: 1440000c */ bnez $v0,.L0f044fc0 +.L0f044f90: +/* f044f90: 24180001 */ addiu $t8,$zero,0x1 +/* f044f94: 3c077f1b */ lui $a3,%hi(var7f1a8bac) +/* f044f98: afb800b8 */ sw $t8,0xb8($sp) +/* f044f9c: 24e78bac */ addiu $a3,$a3,%lo(var7f1a8bac) +/* f044fa0: 27a40094 */ addiu $a0,$sp,0x94 +/* f044fa4: 27a50088 */ addiu $a1,$sp,0x88 +/* f044fa8: 0c009393 */ jal func00024e4c +/* f044fac: 24063750 */ addiu $a2,$zero,0x3756 +/* f044fb0: 27a40094 */ addiu $a0,$sp,0x94 +/* f044fb4: 27a50088 */ addiu $a1,$sp,0x88 +/* f044fb8: 0fc112da */ jal func0f044b68 +/* f044fbc: 27a600d4 */ addiu $a2,$sp,0xd4 +.L0f044fc0: +/* f044fc0: 8fb900bc */ lw $t9,0xbc($sp) +/* f044fc4: 8fa800b8 */ lw $t0,0xb8($sp) +/* f044fc8: 8fa900bc */ lw $t1,0xbc($sp) +/* f044fcc: 13200019 */ beqz $t9,.L0f045034 +/* f044fd0: 00000000 */ nop +/* f044fd4: 11000017 */ beqz $t0,.L0f045034 +/* f044fd8: 27a400ac */ addiu $a0,$sp,0xac +/* f044fdc: 27a50094 */ addiu $a1,$sp,0x94 +/* f044fe0: 0fc112da */ jal func0f044b68 +/* f044fe4: 27a600d4 */ addiu $a2,$sp,0xd4 +/* f044fe8: 27a400a0 */ addiu $a0,$sp,0xa0 +/* f044fec: 27a50088 */ addiu $a1,$sp,0x88 +/* f044ff0: 0fc112da */ jal func0f044b68 +/* f044ff4: 27a600d4 */ addiu $a2,$sp,0xd4 +/* f044ff8: 8fa400f0 */ lw $a0,0xf0($sp) +/* f044ffc: c7a400ac */ lwc1 $f4,0xac($sp) +/* f045000: 8fa500f4 */ lw $a1,0xf4($sp) +/* f045004: e4840000 */ swc1 $f4,0x0($a0) +/* f045008: c7a800b0 */ lwc1 $f8,0xb0($sp) +/* f04500c: e4880004 */ swc1 $f8,0x4($a0) +/* f045010: c7a600b4 */ lwc1 $f6,0xb4($sp) +/* f045014: e4860008 */ swc1 $f6,0x8($a0) +/* f045018: c7aa0088 */ lwc1 $f10,0x88($sp) +/* f04501c: e4aa0000 */ swc1 $f10,0x0($a1) +/* f045020: c7a4008c */ lwc1 $f4,0x8c($sp) +/* f045024: e4a40004 */ swc1 $f4,0x4($a1) +/* f045028: c7a80090 */ lwc1 $f8,0x90($sp) +/* f04502c: 10000055 */ b .L0f045184 +/* f045030: e4a80008 */ swc1 $f8,0x8($a1) +.L0f045034: +/* f045034: 11200010 */ beqz $t1,.L0f045078 +/* f045038: 8faa00b8 */ lw $t2,0xb8($sp) +/* f04503c: 8fa400f0 */ lw $a0,0xf0($sp) +/* f045040: c7a600ac */ lwc1 $f6,0xac($sp) +/* f045044: 8fa500f4 */ lw $a1,0xf4($sp) +/* f045048: e4860000 */ swc1 $f6,0x0($a0) +/* f04504c: c7aa00b0 */ lwc1 $f10,0xb0($sp) +/* f045050: e48a0004 */ swc1 $f10,0x4($a0) +/* f045054: c7a400b4 */ lwc1 $f4,0xb4($sp) +/* f045058: e4840008 */ swc1 $f4,0x8($a0) +/* f04505c: c7a800a0 */ lwc1 $f8,0xa0($sp) +/* f045060: e4a80000 */ swc1 $f8,0x0($a1) +/* f045064: c7a600a4 */ lwc1 $f6,0xa4($sp) +/* f045068: e4a60004 */ swc1 $f6,0x4($a1) +/* f04506c: c7aa00a8 */ lwc1 $f10,0xa8($sp) +/* f045070: 10000044 */ b .L0f045184 +/* f045074: e4aa0008 */ swc1 $f10,0x8($a1) +.L0f045078: +/* f045078: 11400010 */ beqz $t2,.L0f0450bc +/* f04507c: 8fab0100 */ lw $t3,0x100($sp) +/* f045080: 8fa400f0 */ lw $a0,0xf0($sp) +/* f045084: c7a40094 */ lwc1 $f4,0x94($sp) +/* f045088: 8fa500f4 */ lw $a1,0xf4($sp) +/* f04508c: e4840000 */ swc1 $f4,0x0($a0) +/* f045090: c7a80098 */ lwc1 $f8,0x98($sp) +/* f045094: e4880004 */ swc1 $f8,0x4($a0) +/* f045098: c7a6009c */ lwc1 $f6,0x9c($sp) +/* f04509c: e4860008 */ swc1 $f6,0x8($a0) +/* f0450a0: c7aa0088 */ lwc1 $f10,0x88($sp) +/* f0450a4: e4aa0000 */ swc1 $f10,0x0($a1) +/* f0450a8: c7a4008c */ lwc1 $f4,0x8c($sp) +/* f0450ac: e4a40004 */ swc1 $f4,0x4($a1) +/* f0450b0: c7a80090 */ lwc1 $f8,0x90($sp) +/* f0450b4: 10000033 */ b .L0f045184 +/* f0450b8: e4a80008 */ swc1 $f8,0x8($a1) +.L0f0450bc: +/* f0450bc: 8fad003c */ lw $t5,0x3c($sp) +/* f0450c0: 240c0001 */ addiu $t4,$zero,0x1 +/* f0450c4: afac0014 */ sw $t4,0x14($sp) +/* f0450c8: afab0010 */ sw $t3,0x10($sp) +/* f0450cc: c5a0000c */ lwc1 $f0,0xc($t5) +/* f0450d0: c7a60080 */ lwc1 $f6,0x80($sp) +/* f0450d4: c7a4007c */ lwc1 $f4,0x7c($sp) +/* f0450d8: 02002025 */ or $a0,$s0,$zero +/* f0450dc: 46003281 */ sub.s $f10,$f6,$f0 +/* f0450e0: 8fa500e8 */ lw $a1,0xe8($sp) +/* f0450e4: 8fa600ec */ lw $a2,0xec($sp) +/* f0450e8: 46002201 */ sub.s $f8,$f4,$f0 +/* f0450ec: e7aa0018 */ swc1 $f10,0x18($sp) +/* f0450f0: 27a70040 */ addiu $a3,$sp,0x40 +/* f0450f4: 0c00b694 */ jal func0002da50 +/* f0450f8: e7a8001c */ swc1 $f8,0x1c($sp) +/* f0450fc: 10400017 */ beqz $v0,.L0f04515c +/* f045100: 8fae0104 */ lw $t6,0x104($sp) +/* f045104: 11c00012 */ beqz $t6,.L0f045150 +/* f045108: 8faf0100 */ lw $t7,0x100($sp) +/* f04510c: 8fb9003c */ lw $t9,0x3c($sp) +/* f045110: 24180001 */ addiu $t8,$zero,0x1 +/* f045114: afb80014 */ sw $t8,0x14($sp) +/* f045118: afaf0010 */ sw $t7,0x10($sp) +/* f04511c: c720000c */ lwc1 $f0,0xc($t9) +/* f045120: c7a60080 */ lwc1 $f6,0x80($sp) +/* f045124: c7a4007c */ lwc1 $f4,0x7c($sp) +/* f045128: 02002025 */ or $a0,$s0,$zero +/* f04512c: 46003281 */ sub.s $f10,$f6,$f0 +/* f045130: 8fa500ec */ lw $a1,0xec($sp) +/* f045134: 8fa600fc */ lw $a2,0xfc($sp) +/* f045138: 46002201 */ sub.s $f8,$f4,$f0 +/* f04513c: e7aa0018 */ swc1 $f10,0x18($sp) +/* f045140: 27a70040 */ addiu $a3,$sp,0x40 +/* f045144: 0c00a9bf */ jal func0002a6fc +/* f045148: e7a8001c */ swc1 $f8,0x1c($sp) +/* f04514c: 10400003 */ beqz $v0,.L0f04515c +.L0f045150: +/* f045150: 24080001 */ addiu $t0,$zero,0x1 +/* f045154: 1000000b */ b .L0f045184 +/* f045158: afa80084 */ sw $t0,0x84($sp) +.L0f04515c: +/* f04515c: 3c077f1b */ lui $a3,%hi(var7f1a8bb8) +/* f045160: 8fa400f0 */ lw $a0,0xf0($sp) +/* f045164: 8fa500f4 */ lw $a1,0xf4($sp) +/* f045168: 24e78bb8 */ addiu $a3,$a3,%lo(var7f1a8bb8) +/* f04516c: 0c009393 */ jal func00024e4c +/* f045170: 24063796 */ addiu $a2,$zero,0x379c +/* f045174: 8fa400f0 */ lw $a0,0xf0($sp) +/* f045178: 8fa500f4 */ lw $a1,0xf4($sp) +/* f04517c: 0fc112da */ jal func0f044b68 +/* f045180: 27a600d4 */ addiu $a2,$sp,0xd4 +.L0f045184: +/* f045184: 8fa400e0 */ lw $a0,0xe0($sp) +/* f045188: 0fc079ef */ jal chrSetOrUnsetHiddenFlag00000100 +/* f04518c: 24050001 */ addiu $a1,$zero,0x1 +/* f045190: 8fa20084 */ lw $v0,0x84($sp) +.L0f045194: +/* f045194: 8fbf002c */ lw $ra,0x2c($sp) +/* f045198: 8fb00028 */ lw $s0,0x28($sp) +/* f04519c: 27bd00e0 */ addiu $sp,$sp,0xe0 +/* f0451a0: 03e00008 */ jr $ra +/* f0451a4: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f044c38 .late_rodata @@ -27496,7 +30139,403 @@ glabel var7f1a9244 /* f0451a0: 03e00008 */ jr $ra /* f0451a4: 00000000 */ nop ); +#endif +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f0451a8 +.late_rodata +glabel var7f1a9248 +.word 0x3f733333 +glabel var7f1a924c +.word 0x3f733333 +glabel var7f1a9250 +.word 0x3f99999a +glabel var7f1a9254 +.word 0x3f99999a +.text +/* f0451a8: 27bdff18 */ addiu $sp,$sp,-232 +/* f0451ac: afbf002c */ sw $ra,0x2c($sp) +/* f0451b0: afb00028 */ sw $s0,0x28($sp) +/* f0451b4: afa400e8 */ sw $a0,0xe8($sp) +/* f0451b8: afa600f0 */ sw $a2,0xf0($sp) +/* f0451bc: afa700f4 */ sw $a3,0xf4($sp) +/* f0451c0: afa000c4 */ sw $zero,0xc4($sp) +/* f0451c4: afa000c0 */ sw $zero,0xc0($sp) +/* f0451c8: afa0008c */ sw $zero,0x8c($sp) +/* f0451cc: 8c84001c */ lw $a0,0x1c($a0) +/* f0451d0: 00a08025 */ or $s0,$a1,$zero +/* f0451d4: 27a50078 */ addiu $a1,$sp,0x78 +/* f0451d8: 27a7007c */ addiu $a3,$sp,0x7c +/* f0451dc: 27a60080 */ addiu $a2,$sp,0x80 +/* f0451e0: 0fc0a277 */ jal propChrGetBbox +/* f0451e4: afa4003c */ sw $a0,0x3c($sp) +/* f0451e8: 8fa200f4 */ lw $v0,0xf4($sp) +/* f0451ec: c6060000 */ lwc1 $f6,0x0($s0) +/* f0451f0: 44800000 */ mtc1 $zero,$f0 +/* f0451f4: c4440000 */ lwc1 $f4,0x0($v0) +/* f0451f8: e7a000e0 */ swc1 $f0,0xe0($sp) +/* f0451fc: 46062201 */ sub.s $f8,$f4,$f6 +/* f045200: e7a800dc */ swc1 $f8,0xdc($sp) +/* f045204: c7a800dc */ lwc1 $f8,0xdc($sp) +/* f045208: c6040008 */ lwc1 $f4,0x8($s0) +/* f04520c: c44a0008 */ lwc1 $f10,0x8($v0) +/* f045210: 46080032 */ c.eq.s $f0,$f8 +/* f045214: 46045181 */ sub.s $f6,$f10,$f4 +/* f045218: 45000008 */ bc1f .L0f04523c +/* f04521c: e7a600e4 */ swc1 $f6,0xe4($sp) +/* f045220: c7b200e4 */ lwc1 $f18,0xe4($sp) +/* f045224: 46120032 */ c.eq.s $f0,$f18 +/* f045228: 00000000 */ nop +/* f04522c: 45020004 */ bc1fl .L0f045240 +/* f045230: c7b200e4 */ lwc1 $f18,0xe4($sp) +/* f045234: 10000145 */ b .L0f04574c +/* f045238: 24020001 */ addiu $v0,$zero,0x1 +.L0f04523c: +/* f04523c: c7b200e4 */ lwc1 $f18,0xe4($sp) +.L0f045240: +/* f045240: c7b000dc */ lwc1 $f16,0xdc($sp) +/* f045244: 46129282 */ mul.s $f10,$f18,$f18 +/* f045248: 00000000 */ nop +/* f04524c: 46108102 */ mul.s $f4,$f16,$f16 +/* f045250: 0c012974 */ jal sqrtf +/* f045254: 46045300 */ add.s $f12,$f10,$f4 +/* f045258: 3c013f80 */ lui $at,0x3f80 +/* f04525c: 44813000 */ mtc1 $at,$f6 +/* f045260: c7b000dc */ lwc1 $f16,0xdc($sp) +/* f045264: c7b200e4 */ lwc1 $f18,0xe4($sp) +/* f045268: 46003083 */ div.s $f2,$f6,$f0 +/* f04526c: c7a80104 */ lwc1 $f8,0x104($sp) +/* f045270: 3c017f1b */ lui $at,%hi(var7f1a9248) +/* f045274: c42a9248 */ lwc1 $f10,%lo(var7f1a9248)($at) +/* f045278: 3c017f1b */ lui $at,%hi(var7f1a924c) +/* f04527c: c426924c */ lwc1 $f6,%lo(var7f1a924c)($at) +/* f045280: 3c017f1b */ lui $at,%hi(var7f1a9250) +/* f045284: 8fa400e8 */ lw $a0,0xe8($sp) +/* f045288: 00002825 */ or $a1,$zero,$zero +/* f04528c: 46028402 */ mul.s $f16,$f16,$f2 +/* f045290: 00000000 */ nop +/* f045294: 46029482 */ mul.s $f18,$f18,$f2 +/* f045298: 00000000 */ nop +/* f04529c: 46088302 */ mul.s $f12,$f16,$f8 +/* f0452a0: e7b000dc */ swc1 $f16,0xdc($sp) +/* f0452a4: e7b200e4 */ swc1 $f18,0xe4($sp) +/* f0452a8: 460a6102 */ mul.s $f4,$f12,$f10 +/* f0452ac: 00000000 */ nop +/* f0452b0: 46089382 */ mul.s $f14,$f18,$f8 +/* f0452b4: e7a400d8 */ swc1 $f4,0xd8($sp) +/* f0452b8: c4249250 */ lwc1 $f4,%lo(var7f1a9250)($at) +/* f0452bc: 3c017f1b */ lui $at,%hi(var7f1a9254) +/* f0452c0: 46067282 */ mul.s $f10,$f14,$f6 +/* f0452c4: c4269254 */ lwc1 $f6,%lo(var7f1a9254)($at) +/* f0452c8: 46046202 */ mul.s $f8,$f12,$f4 +/* f0452cc: e7aa00d4 */ swc1 $f10,0xd4($sp) +/* f0452d0: 46067282 */ mul.s $f10,$f14,$f6 +/* f0452d4: e7a800d0 */ swc1 $f8,0xd0($sp) +/* f0452d8: 0fc079ef */ jal chrSetOrUnsetHiddenFlag00000100 +/* f0452dc: e7aa00cc */ swc1 $f10,0xcc($sp) +/* f0452e0: c6040000 */ lwc1 $f4,0x0($s0) +/* f0452e4: c7a800d4 */ lwc1 $f8,0xd4($sp) +/* f0452e8: 8fa200f4 */ lw $v0,0xf4($sp) +/* f0452ec: c7a20100 */ lwc1 $f2,0x100($sp) +/* f0452f0: 46082180 */ add.s $f6,$f4,$f8 +/* f0452f4: c7a800d8 */ lwc1 $f8,0xd8($sp) +/* f0452f8: 8faf0108 */ lw $t7,0x108($sp) +/* f0452fc: 8fb9003c */ lw $t9,0x3c($sp) +/* f045300: e7a6006c */ swc1 $f6,0x6c($sp) +/* f045304: c60a0004 */ lwc1 $f10,0x4($s0) +/* f045308: 24180001 */ addiu $t8,$zero,0x1 +/* f04530c: 02002025 */ or $a0,$s0,$zero +/* f045310: e7aa0070 */ swc1 $f10,0x70($sp) +/* f045314: c6040008 */ lwc1 $f4,0x8($s0) +/* f045318: 8fa500f0 */ lw $a1,0xf0($sp) +/* f04531c: 27a6006c */ addiu $a2,$sp,0x6c +/* f045320: 46082181 */ sub.s $f6,$f4,$f8 +/* f045324: c7a400cc */ lwc1 $f4,0xcc($sp) +/* f045328: 27a70050 */ addiu $a3,$sp,0x50 +/* f04532c: e7a60074 */ swc1 $f6,0x74($sp) +/* f045330: c44a0000 */ lwc1 $f10,0x0($v0) +/* f045334: c7a600dc */ lwc1 $f6,0xdc($sp) +/* f045338: 46045200 */ add.s $f8,$f10,$f4 +/* f04533c: 46023282 */ mul.s $f10,$f6,$f2 +/* f045340: 46085100 */ add.s $f4,$f10,$f8 +/* f045344: c7a800d0 */ lwc1 $f8,0xd0($sp) +/* f045348: e7a40060 */ swc1 $f4,0x60($sp) +/* f04534c: c4460004 */ lwc1 $f6,0x4($v0) +/* f045350: e7a60064 */ swc1 $f6,0x64($sp) +/* f045354: c44a0008 */ lwc1 $f10,0x8($v0) +/* f045358: c7a600e4 */ lwc1 $f6,0xe4($sp) +/* f04535c: afb80014 */ sw $t8,0x14($sp) +/* f045360: 46085101 */ sub.s $f4,$f10,$f8 +/* f045364: 46023282 */ mul.s $f10,$f6,$f2 +/* f045368: afaf0010 */ sw $t7,0x10($sp) +/* f04536c: c7a60080 */ lwc1 $f6,0x80($sp) +/* f045370: 46045200 */ add.s $f8,$f10,$f4 +/* f045374: c7a4007c */ lwc1 $f4,0x7c($sp) +/* f045378: e7a80068 */ swc1 $f8,0x68($sp) +/* f04537c: c720000c */ lwc1 $f0,0xc($t9) +/* f045380: 46003281 */ sub.s $f10,$f6,$f0 +/* f045384: 46002201 */ sub.s $f8,$f4,$f0 +/* f045388: e7aa0018 */ swc1 $f10,0x18($sp) +/* f04538c: 0c00b694 */ jal func0002da50 +/* f045390: e7a8001c */ swc1 $f8,0x1c($sp) +/* f045394: 10400010 */ beqz $v0,.L0f0453d8 +/* f045398: 24080001 */ addiu $t0,$zero,0x1 +/* f04539c: 8fa9003c */ lw $t1,0x3c($sp) +/* f0453a0: afa80010 */ sw $t0,0x10($sp) +/* f0453a4: c7a60080 */ lwc1 $f6,0x80($sp) +/* f0453a8: c520000c */ lwc1 $f0,0xc($t1) +/* f0453ac: c7a4007c */ lwc1 $f4,0x7c($sp) +/* f0453b0: 27a4006c */ addiu $a0,$sp,0x6c +/* f0453b4: 46003281 */ sub.s $f10,$f6,$f0 +/* f0453b8: 27a50050 */ addiu $a1,$sp,0x50 +/* f0453bc: 27a60060 */ addiu $a2,$sp,0x60 +/* f0453c0: 46002201 */ sub.s $f8,$f4,$f0 +/* f0453c4: e7aa0014 */ swc1 $f10,0x14($sp) +/* f0453c8: 8fa70108 */ lw $a3,0x108($sp) +/* f0453cc: 0c00b5f0 */ jal func0002d7c0 +/* f0453d0: e7a80018 */ swc1 $f8,0x18($sp) +/* f0453d4: 1440000f */ bnez $v0,.L0f045414 +.L0f0453d8: +/* f0453d8: 240a0001 */ addiu $t2,$zero,0x1 +/* f0453dc: 3c077f1b */ lui $a3,%hi(var7f1a8bc4) +/* f0453e0: afaa00c4 */ sw $t2,0xc4($sp) +/* f0453e4: 24e78bc4 */ addiu $a3,$a3,%lo(var7f1a8bc4) +/* f0453e8: 27a400b4 */ addiu $a0,$sp,0xb4 +/* f0453ec: 27a500a8 */ addiu $a1,$sp,0xa8 +/* f0453f0: 0c009393 */ jal func00024e4c +/* f0453f4: 240637e6 */ addiu $a2,$zero,0x37ec +/* f0453f8: 27a400b4 */ addiu $a0,$sp,0xb4 +/* f0453fc: 27a500a8 */ addiu $a1,$sp,0xa8 +/* f045400: 0fc112da */ jal func0f044b68 +/* f045404: 27a600dc */ addiu $a2,$sp,0xdc +/* f045408: 0c009390 */ jal func00024e40 +/* f04540c: 00000000 */ nop +/* f045410: e7a00088 */ swc1 $f0,0x88($sp) +.L0f045414: +/* f045414: c6060000 */ lwc1 $f6,0x0($s0) +/* f045418: c7aa00d4 */ lwc1 $f10,0xd4($sp) +/* f04541c: 8fa200f4 */ lw $v0,0xf4($sp) +/* f045420: c7a20100 */ lwc1 $f2,0x100($sp) +/* f045424: 460a3101 */ sub.s $f4,$f6,$f10 +/* f045428: c7aa00d8 */ lwc1 $f10,0xd8($sp) +/* f04542c: 8fab0108 */ lw $t3,0x108($sp) +/* f045430: 8fad003c */ lw $t5,0x3c($sp) +/* f045434: e7a4006c */ swc1 $f4,0x6c($sp) +/* f045438: c6080004 */ lwc1 $f8,0x4($s0) +/* f04543c: 240c0001 */ addiu $t4,$zero,0x1 +/* f045440: 02002025 */ or $a0,$s0,$zero +/* f045444: e7a80070 */ swc1 $f8,0x70($sp) +/* f045448: c6060008 */ lwc1 $f6,0x8($s0) +/* f04544c: 8fa500f0 */ lw $a1,0xf0($sp) +/* f045450: 27a6006c */ addiu $a2,$sp,0x6c +/* f045454: 460a3100 */ add.s $f4,$f6,$f10 +/* f045458: c7a600cc */ lwc1 $f6,0xcc($sp) +/* f04545c: 27a70050 */ addiu $a3,$sp,0x50 +/* f045460: e7a40074 */ swc1 $f4,0x74($sp) +/* f045464: c4480000 */ lwc1 $f8,0x0($v0) +/* f045468: c7a400dc */ lwc1 $f4,0xdc($sp) +/* f04546c: 46064281 */ sub.s $f10,$f8,$f6 +/* f045470: 46022202 */ mul.s $f8,$f4,$f2 +/* f045474: 460a4180 */ add.s $f6,$f8,$f10 +/* f045478: c7aa00d0 */ lwc1 $f10,0xd0($sp) +/* f04547c: e7a60060 */ swc1 $f6,0x60($sp) +/* f045480: c4440004 */ lwc1 $f4,0x4($v0) +/* f045484: e7a40064 */ swc1 $f4,0x64($sp) +/* f045488: c4480008 */ lwc1 $f8,0x8($v0) +/* f04548c: c7a400e4 */ lwc1 $f4,0xe4($sp) +/* f045490: afac0014 */ sw $t4,0x14($sp) +/* f045494: 460a4180 */ add.s $f6,$f8,$f10 +/* f045498: 46022202 */ mul.s $f8,$f4,$f2 +/* f04549c: afab0010 */ sw $t3,0x10($sp) +/* f0454a0: c7a40080 */ lwc1 $f4,0x80($sp) +/* f0454a4: 46064280 */ add.s $f10,$f8,$f6 +/* f0454a8: c7a6007c */ lwc1 $f6,0x7c($sp) +/* f0454ac: e7aa0068 */ swc1 $f10,0x68($sp) +/* f0454b0: c5a0000c */ lwc1 $f0,0xc($t5) +/* f0454b4: 46002201 */ sub.s $f8,$f4,$f0 +/* f0454b8: 46003281 */ sub.s $f10,$f6,$f0 +/* f0454bc: e7a80018 */ swc1 $f8,0x18($sp) +/* f0454c0: 0c00b694 */ jal func0002da50 +/* f0454c4: e7aa001c */ swc1 $f10,0x1c($sp) +/* f0454c8: 10400010 */ beqz $v0,.L0f04550c +/* f0454cc: 240e0001 */ addiu $t6,$zero,0x1 +/* f0454d0: 8faf003c */ lw $t7,0x3c($sp) +/* f0454d4: afae0010 */ sw $t6,0x10($sp) +/* f0454d8: c7a40080 */ lwc1 $f4,0x80($sp) +/* f0454dc: c5e0000c */ lwc1 $f0,0xc($t7) +/* f0454e0: c7a6007c */ lwc1 $f6,0x7c($sp) +/* f0454e4: 27a4006c */ addiu $a0,$sp,0x6c +/* f0454e8: 46002201 */ sub.s $f8,$f4,$f0 +/* f0454ec: 8fa500f0 */ lw $a1,0xf0($sp) +/* f0454f0: 27a60060 */ addiu $a2,$sp,0x60 +/* f0454f4: 46003281 */ sub.s $f10,$f6,$f0 +/* f0454f8: e7a80014 */ swc1 $f8,0x14($sp) +/* f0454fc: 8fa70108 */ lw $a3,0x108($sp) +/* f045500: 0c00b5f0 */ jal func0002d7c0 +/* f045504: e7aa0018 */ swc1 $f10,0x18($sp) +/* f045508: 1440000f */ bnez $v0,.L0f045548 +.L0f04550c: +/* f04550c: 24180001 */ addiu $t8,$zero,0x1 +/* f045510: 3c077f1b */ lui $a3,%hi(var7f1a8bd0) +/* f045514: afb800c0 */ sw $t8,0xc0($sp) +/* f045518: 24e78bd0 */ addiu $a3,$a3,%lo(var7f1a8bd0) +/* f04551c: 27a4009c */ addiu $a0,$sp,0x9c +/* f045520: 27a50090 */ addiu $a1,$sp,0x90 +/* f045524: 0c009393 */ jal func00024e4c +/* f045528: 240637f5 */ addiu $a2,$zero,0x37fb +/* f04552c: 27a4009c */ addiu $a0,$sp,0x9c +/* f045530: 27a50090 */ addiu $a1,$sp,0x90 +/* f045534: 0fc112da */ jal func0f044b68 +/* f045538: 27a600dc */ addiu $a2,$sp,0xdc +/* f04553c: 0c009390 */ jal func00024e40 +/* f045540: 00000000 */ nop +/* f045544: e7a00084 */ swc1 $f0,0x84($sp) +.L0f045548: +/* f045548: 8fb900c4 */ lw $t9,0xc4($sp) +/* f04554c: 8fa800c0 */ lw $t0,0xc0($sp) +/* f045550: 8fa900c4 */ lw $t1,0xc4($sp) +/* f045554: 13200025 */ beqz $t9,.L0f0455ec +/* f045558: 00000000 */ nop +/* f04555c: 11000023 */ beqz $t0,.L0f0455ec +/* f045560: c7a40088 */ lwc1 $f4,0x88($sp) +/* f045564: c7a80084 */ lwc1 $f8,0x84($sp) +/* f045568: c7a600b4 */ lwc1 $f6,0xb4($sp) +/* f04556c: 8fa400f8 */ lw $a0,0xf8($sp) +/* f045570: 4608203c */ c.lt.s $f4,$f8 +/* f045574: c7a4009c */ lwc1 $f4,0x9c($sp) +/* f045578: 45020010 */ bc1fl .L0f0455bc +/* f04557c: 8fa500fc */ lw $a1,0xfc($sp) +/* f045580: 8fa400f8 */ lw $a0,0xf8($sp) +/* f045584: 8fa500fc */ lw $a1,0xfc($sp) +/* f045588: e4860000 */ swc1 $f6,0x0($a0) +/* f04558c: c7aa00b8 */ lwc1 $f10,0xb8($sp) +/* f045590: e48a0004 */ swc1 $f10,0x4($a0) +/* f045594: c7a400bc */ lwc1 $f4,0xbc($sp) +/* f045598: e4840008 */ swc1 $f4,0x8($a0) +/* f04559c: c7a800a8 */ lwc1 $f8,0xa8($sp) +/* f0455a0: e4a80000 */ swc1 $f8,0x0($a1) +/* f0455a4: c7a600ac */ lwc1 $f6,0xac($sp) +/* f0455a8: e4a60004 */ swc1 $f6,0x4($a1) +/* f0455ac: c7aa00b0 */ lwc1 $f10,0xb0($sp) +/* f0455b0: 10000062 */ b .L0f04573c +/* f0455b4: e4aa0008 */ swc1 $f10,0x8($a1) +/* f0455b8: 8fa500fc */ lw $a1,0xfc($sp) +.L0f0455bc: +/* f0455bc: e4840000 */ swc1 $f4,0x0($a0) +/* f0455c0: c7a800a0 */ lwc1 $f8,0xa0($sp) +/* f0455c4: e4880004 */ swc1 $f8,0x4($a0) +/* f0455c8: c7a600a4 */ lwc1 $f6,0xa4($sp) +/* f0455cc: e4860008 */ swc1 $f6,0x8($a0) +/* f0455d0: c7aa0090 */ lwc1 $f10,0x90($sp) +/* f0455d4: e4aa0000 */ swc1 $f10,0x0($a1) +/* f0455d8: c7a40094 */ lwc1 $f4,0x94($sp) +/* f0455dc: e4a40004 */ swc1 $f4,0x4($a1) +/* f0455e0: c7a80098 */ lwc1 $f8,0x98($sp) +/* f0455e4: 10000055 */ b .L0f04573c +/* f0455e8: e4a80008 */ swc1 $f8,0x8($a1) +.L0f0455ec: +/* f0455ec: 11200010 */ beqz $t1,.L0f045630 +/* f0455f0: 8faa00c0 */ lw $t2,0xc0($sp) +/* f0455f4: 8fa400f8 */ lw $a0,0xf8($sp) +/* f0455f8: c7a600b4 */ lwc1 $f6,0xb4($sp) +/* f0455fc: 8fa500fc */ lw $a1,0xfc($sp) +/* f045600: e4860000 */ swc1 $f6,0x0($a0) +/* f045604: c7aa00b8 */ lwc1 $f10,0xb8($sp) +/* f045608: e48a0004 */ swc1 $f10,0x4($a0) +/* f04560c: c7a400bc */ lwc1 $f4,0xbc($sp) +/* f045610: e4840008 */ swc1 $f4,0x8($a0) +/* f045614: c7a800a8 */ lwc1 $f8,0xa8($sp) +/* f045618: e4a80000 */ swc1 $f8,0x0($a1) +/* f04561c: c7a600ac */ lwc1 $f6,0xac($sp) +/* f045620: e4a60004 */ swc1 $f6,0x4($a1) +/* f045624: c7aa00b0 */ lwc1 $f10,0xb0($sp) +/* f045628: 10000044 */ b .L0f04573c +/* f04562c: e4aa0008 */ swc1 $f10,0x8($a1) +.L0f045630: +/* f045630: 11400010 */ beqz $t2,.L0f045674 +/* f045634: 8fab0108 */ lw $t3,0x108($sp) +/* f045638: 8fa400f8 */ lw $a0,0xf8($sp) +/* f04563c: c7a4009c */ lwc1 $f4,0x9c($sp) +/* f045640: 8fa500fc */ lw $a1,0xfc($sp) +/* f045644: e4840000 */ swc1 $f4,0x0($a0) +/* f045648: c7a800a0 */ lwc1 $f8,0xa0($sp) +/* f04564c: e4880004 */ swc1 $f8,0x4($a0) +/* f045650: c7a600a4 */ lwc1 $f6,0xa4($sp) +/* f045654: e4860008 */ swc1 $f6,0x8($a0) +/* f045658: c7aa0090 */ lwc1 $f10,0x90($sp) +/* f04565c: e4aa0000 */ swc1 $f10,0x0($a1) +/* f045660: c7a40094 */ lwc1 $f4,0x94($sp) +/* f045664: e4a40004 */ swc1 $f4,0x4($a1) +/* f045668: c7a80098 */ lwc1 $f8,0x98($sp) +/* f04566c: 10000033 */ b .L0f04573c +/* f045670: e4a80008 */ swc1 $f8,0x8($a1) +.L0f045674: +/* f045674: 8fad003c */ lw $t5,0x3c($sp) +/* f045678: 240c0001 */ addiu $t4,$zero,0x1 +/* f04567c: afac0014 */ sw $t4,0x14($sp) +/* f045680: afab0010 */ sw $t3,0x10($sp) +/* f045684: c5a0000c */ lwc1 $f0,0xc($t5) +/* f045688: c7a60080 */ lwc1 $f6,0x80($sp) +/* f04568c: c7a4007c */ lwc1 $f4,0x7c($sp) +/* f045690: 02002025 */ or $a0,$s0,$zero +/* f045694: 46003281 */ sub.s $f10,$f6,$f0 +/* f045698: 8fa500f0 */ lw $a1,0xf0($sp) +/* f04569c: 8fa600f4 */ lw $a2,0xf4($sp) +/* f0456a0: 46002201 */ sub.s $f8,$f4,$f0 +/* f0456a4: e7aa0018 */ swc1 $f10,0x18($sp) +/* f0456a8: 27a70040 */ addiu $a3,$sp,0x40 +/* f0456ac: 0c00b694 */ jal func0002da50 +/* f0456b0: e7a8001c */ swc1 $f8,0x1c($sp) +/* f0456b4: 10400017 */ beqz $v0,.L0f045714 +/* f0456b8: 8fae010c */ lw $t6,0x10c($sp) +/* f0456bc: 11c00012 */ beqz $t6,.L0f045708 +/* f0456c0: 8faf0108 */ lw $t7,0x108($sp) +/* f0456c4: 8fb9003c */ lw $t9,0x3c($sp) +/* f0456c8: 24180001 */ addiu $t8,$zero,0x1 +/* f0456cc: afb80014 */ sw $t8,0x14($sp) +/* f0456d0: afaf0010 */ sw $t7,0x10($sp) +/* f0456d4: c720000c */ lwc1 $f0,0xc($t9) +/* f0456d8: c7a60080 */ lwc1 $f6,0x80($sp) +/* f0456dc: c7a4007c */ lwc1 $f4,0x7c($sp) +/* f0456e0: 02002025 */ or $a0,$s0,$zero +/* f0456e4: 46003281 */ sub.s $f10,$f6,$f0 +/* f0456e8: 8fa500f4 */ lw $a1,0xf4($sp) +/* f0456ec: 8fa60104 */ lw $a2,0x104($sp) +/* f0456f0: 46002201 */ sub.s $f8,$f4,$f0 +/* f0456f4: e7aa0018 */ swc1 $f10,0x18($sp) +/* f0456f8: 27a70040 */ addiu $a3,$sp,0x40 +/* f0456fc: 0c00a9bf */ jal func0002a6fc +/* f045700: e7a8001c */ swc1 $f8,0x1c($sp) +/* f045704: 10400003 */ beqz $v0,.L0f045714 +.L0f045708: +/* f045708: 24080001 */ addiu $t0,$zero,0x1 +/* f04570c: 1000000b */ b .L0f04573c +/* f045710: afa8008c */ sw $t0,0x8c($sp) +.L0f045714: +/* f045714: 3c077f1b */ lui $a3,%hi(var7f1a8bdc) +/* f045718: 8fa400f8 */ lw $a0,0xf8($sp) +/* f04571c: 8fa500fc */ lw $a1,0xfc($sp) +/* f045720: 24e78bdc */ addiu $a3,$a3,%lo(var7f1a8bdc) +/* f045724: 0c009393 */ jal func00024e4c +/* f045728: 2406383b */ addiu $a2,$zero,0x3841 +/* f04572c: 8fa400f8 */ lw $a0,0xf8($sp) +/* f045730: 8fa500fc */ lw $a1,0xfc($sp) +/* f045734: 0fc112da */ jal func0f044b68 +/* f045738: 27a600dc */ addiu $a2,$sp,0xdc +.L0f04573c: +/* f04573c: 8fa400e8 */ lw $a0,0xe8($sp) +/* f045740: 0fc079ef */ jal chrSetOrUnsetHiddenFlag00000100 +/* f045744: 24050001 */ addiu $a1,$zero,0x1 +/* f045748: 8fa2008c */ lw $v0,0x8c($sp) +.L0f04574c: +/* f04574c: 8fbf002c */ lw $ra,0x2c($sp) +/* f045750: 8fb00028 */ lw $s0,0x28($sp) +/* f045754: 27bd00e8 */ addiu $sp,$sp,0xe8 +/* f045758: 03e00008 */ jr $ra +/* f04575c: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f0451a8 .late_rodata @@ -27890,6 +30929,7 @@ glabel var7f1a9254 /* f045758: 03e00008 */ jr $ra /* f04575c: 00000000 */ nop ); +#endif GLOBAL_ASM( glabel func0f045760 @@ -29272,7 +32312,7 @@ void chrTickGoPos(struct chrdata *chr) chr->act_gopos.waydata.age++; // If stuck for 1 second - if (chr->lastmoveok60 < g_Vars.lvframe60 - 60) { + if (chr->lastmoveok60 < g_Vars.lvframe60 - PALDOWN(60)) { if (chr->goposforce >= 0) { // Try and warp the chr past whatever obstacle is blocking them? struct coord sp196 = {0, 0, 0}; @@ -29294,7 +32334,7 @@ void chrTickGoPos(struct chrdata *chr) // eyespy, pad is nothing special and not in lift, then enter the cheap move // mode. if (chr->act_gopos.waydata.mode != WAYMODE_CHEAP - && chr->act_gopos.cheapend60 + 180 < g_Vars.lvframe60 + && chr->act_gopos.cheapend60 + PALDOWN(180) < g_Vars.lvframe60 && g_Vars.normmplayerisrunning == false && func0f036c08(chr, &curwppos, curwprooms) // related to eyespy && (curwpflags & (PADFLAG_AIWAITLIFT | PADFLAG_AIONLIFT)) == 0 @@ -29535,6 +32575,196 @@ void chrTickGoPos(struct chrdata *chr) func0f045b9c(chr, &pos, &chr->act_gopos.waydata, sp240); } +#if PAL +GLOBAL_ASM( +glabel chrTickPatrol +/* f0473cc: 27bdff90 */ addiu $sp,$sp,-112 +/* f0473d0: afbf0024 */ sw $ra,0x24($sp) +/* f0473d4: afb00020 */ sw $s0,0x20($sp) +/* f0473d8: 8c8e001c */ lw $t6,0x1c($a0) +/* f0473dc: afa00064 */ sw $zero,0x64($sp) +/* f0473e0: afa00068 */ sw $zero,0x68($sp) +/* f0473e4: afae006c */ sw $t6,0x6c($sp) +/* f0473e8: 8c8f0014 */ lw $t7,0x14($a0) +/* f0473ec: 00808025 */ or $s0,$a0,$zero +/* f0473f0: 000fc280 */ sll $t8,$t7,0xa +/* f0473f4: 0703000d */ bgezl $t8,.L0f04742c +/* f0473f8: 02002025 */ or $a0,$s0,$zero +/* f0473fc: 0c0076e5 */ jal modelIsAnimMerging +/* f047400: 8c840020 */ lw $a0,0x20($a0) +/* f047404: 54400099 */ bnezl $v0,.L0f04766c +/* f047408: 8fbf0024 */ lw $ra,0x24($sp) +/* f04740c: 0fc0e21a */ jal func0f038868 +/* f047410: 02002025 */ or $a0,$s0,$zero +/* f047414: 8e190014 */ lw $t9,0x14($s0) +/* f047418: 3c01ffdf */ lui $at,0xffdf +/* f04741c: 3421ffff */ ori $at,$at,0xffff +/* f047420: 03214024 */ and $t0,$t9,$at +/* f047424: ae080014 */ sw $t0,0x14($s0) +/* f047428: 02002025 */ or $a0,$s0,$zero +.L0f04742c: +/* f04742c: 27a50058 */ addiu $a1,$sp,0x58 +/* f047430: 27a60048 */ addiu $a2,$sp,0x48 +/* f047434: 0fc0dd39 */ jal chrPatrolGetCurWaypointInfoWithFlags +/* f047438: 27a70064 */ addiu $a3,$sp,0x64 +/* f04743c: 8e090060 */ lw $t1,0x60($s0) +/* f047440: 820b0038 */ lb $t3,0x38($s0) +/* f047444: 24010006 */ addiu $at,$zero,0x6 +/* f047448: 252a0001 */ addiu $t2,$t1,0x1 +/* f04744c: 1161001f */ beq $t3,$at,.L0f0474cc +/* f047450: ae0a0060 */ sw $t2,0x60($s0) +/* f047454: 8e0d0078 */ lw $t5,0x78($s0) +/* f047458: 3c0c800a */ lui $t4,%hi(g_Vars+0x8) +/* f04745c: 8d8c9fc8 */ lw $t4,%lo(g_Vars+0x8)($t4) +/* f047460: 25ae00b4 */ addiu $t6,$t5,0x96 +/* f047464: 3c0f800a */ lui $t7,%hi(g_Vars+0x318) +/* f047468: 01cc082a */ slt $at,$t6,$t4 +/* f04746c: 50200018 */ beqzl $at,.L0f0474d0 +/* f047470: 820b0038 */ lb $t3,0x38($s0) +/* f047474: 8defa2d8 */ lw $t7,%lo(g_Vars+0x318)($t7) +/* f047478: 02002025 */ or $a0,$s0,$zero +/* f04747c: 27a50058 */ addiu $a1,$sp,0x58 +/* f047480: 55e00013 */ bnezl $t7,.L0f0474d0 +/* f047484: 820b0038 */ lb $t3,0x38($s0) +/* f047488: 0fc0db02 */ jal func0f036c08 +/* f04748c: 27a60048 */ addiu $a2,$sp,0x48 +/* f047490: 1040000e */ beqz $v0,.L0f0474cc +/* f047494: 8fb80064 */ lw $t8,0x64($sp) +/* f047498: 33190c00 */ andi $t9,$t8,0xc00 +/* f04749c: 5720000c */ bnezl $t9,.L0f0474d0 +/* f0474a0: 820b0038 */ lb $t3,0x38($s0) +/* f0474a4: 8209032d */ lb $t1,0x32d($s0) +/* f0474a8: 240a0001 */ addiu $t2,$zero,0x1 +/* f0474ac: 02002025 */ or $a0,$s0,$zero +/* f0474b0: 05200006 */ bltz $t1,.L0f0474cc +/* f0474b4: 26050038 */ addiu $a1,$s0,0x38 +/* f0474b8: 8fa7006c */ lw $a3,0x6c($sp) +/* f0474bc: afaa0068 */ sw $t2,0x68($sp) +/* f0474c0: 27a60058 */ addiu $a2,$sp,0x58 +/* f0474c4: 0fc0dbb9 */ jal chrGoPosInitCheap +/* f0474c8: 24e70008 */ addiu $a3,$a3,0x8 +.L0f0474cc: +/* f0474cc: 820b0038 */ lb $t3,0x38($s0) +.L0f0474d0: +/* f0474d0: 24010006 */ addiu $at,$zero,0x6 +/* f0474d4: 260400c8 */ addiu $a0,$s0,0xc8 +/* f0474d8: 1561002b */ bne $t3,$at,.L0f047588 +/* f0474dc: 8fa5006c */ lw $a1,0x6c($sp) +/* f0474e0: 8fad0068 */ lw $t5,0x68($sp) +/* f0474e4: 8fac006c */ lw $t4,0x6c($sp) +/* f0474e8: 55a0000c */ bnezl $t5,.L0f04751c +/* f0474ec: 8fb80064 */ lw $t8,0x64($sp) +/* f0474f0: 918e0001 */ lbu $t6,0x1($t4) +/* f0474f4: 02002025 */ or $a0,$s0,$zero +/* f0474f8: 27a50058 */ addiu $a1,$sp,0x58 +/* f0474fc: 31cf00c2 */ andi $t7,$t6,0xc2 +/* f047500: 15e0000d */ bnez $t7,.L0f047538 +/* f047504: 00000000 */ nop +/* f047508: 0fc0db02 */ jal func0f036c08 +/* f04750c: 27a60048 */ addiu $a2,$sp,0x48 +/* f047510: 10400009 */ beqz $v0,.L0f047538 +/* f047514: 00000000 */ nop +/* f047518: 8fb80064 */ lw $t8,0x64($sp) +.L0f04751c: +/* f04751c: 33190c00 */ andi $t9,$t8,0xc00 +/* f047520: 17200005 */ bnez $t9,.L0f047538 +/* f047524: 00000000 */ nop +/* f047528: 8209032d */ lb $t1,0x32d($s0) +/* f04752c: 02002025 */ or $a0,$s0,$zero +/* f047530: 260b0038 */ addiu $t3,$s0,0x38 +/* f047534: 05210007 */ bgez $t1,.L0f047554 +.L0f047538: +/* f047538: 3c0a800a */ lui $t2,%hi(g_Vars+0x8) +/* f04753c: 8d4a9fc8 */ lw $t2,%lo(g_Vars+0x8)($t2) +/* f047540: 02002025 */ or $a0,$s0,$zero +/* f047544: 0fc0dd60 */ jal func0f037580 +/* f047548: ae0a0078 */ sw $t2,0x78($s0) +/* f04754c: 1000000a */ b .L0f047578 +/* f047550: 00000000 */ nop +.L0f047554: +/* f047554: 0fc0dc2a */ jal func0f0370a8 +/* f047558: afab0030 */ sw $t3,0x30($sp) +/* f04755c: 44060000 */ mfc1 $a2,$f0 +/* f047560: 27ad0048 */ addiu $t5,$sp,0x48 +/* f047564: afad0010 */ sw $t5,0x10($sp) +/* f047568: 02002025 */ or $a0,$s0,$zero +/* f04756c: 8fa50030 */ lw $a1,0x30($sp) +/* f047570: 0fc0dd7a */ jal func0f0375e8 +/* f047574: 27a70058 */ addiu $a3,$sp,0x58 +.L0f047578: +/* f047578: 0fc01948 */ jal func0f006520 +/* f04757c: 02002025 */ or $a0,$s0,$zero +/* f047580: 1000003a */ b .L0f04766c +/* f047584: 8fbf0024 */ lw $ra,0x24($sp) +.L0f047588: +/* f047588: 24a50008 */ addiu $a1,$a1,0x8 +/* f04758c: 260c0038 */ addiu $t4,$s0,0x38 +/* f047590: afac0030 */ sw $t4,0x30($sp) +/* f047594: afa5002c */ sw $a1,0x2c($sp) +/* f047598: 27a60058 */ addiu $a2,$sp,0x58 +/* f04759c: 3c0741f0 */ lui $a3,0x41f0 +/* f0475a0: 0fc111b8 */ jal func0f0446e0 +/* f0475a4: afa40028 */ sw $a0,0x28($sp) +/* f0475a8: 8fa40028 */ lw $a0,0x28($sp) +/* f0475ac: 8fa5002c */ lw $a1,0x2c($sp) +/* f0475b0: afa20044 */ sw $v0,0x44($sp) +/* f0475b4: 27a60058 */ addiu $a2,$sp,0x58 +/* f0475b8: 0fc11202 */ jal func0f044808 +/* f0475bc: 3c0741f0 */ lui $a3,0x41f0 +/* f0475c0: 8fae0064 */ lw $t6,0x64($sp) +/* f0475c4: afa20040 */ sw $v0,0x40($sp) +/* f0475c8: 00001825 */ or $v1,$zero,$zero +/* f0475cc: 31cf0400 */ andi $t7,$t6,0x400 +/* f0475d0: 15e00002 */ bnez $t7,.L0f0475dc +/* f0475d4: 31d80800 */ andi $t8,$t6,0x800 +/* f0475d8: 13000011 */ beqz $t8,.L0f047620 +.L0f0475dc: +/* f0475dc: 02002025 */ or $a0,$s0,$zero +/* f0475e0: 0fc0dd28 */ jal chrPatrolCalculatePadNum +/* f0475e4: 00002825 */ or $a1,$zero,$zero +/* f0475e8: a7a20034 */ sh $v0,0x34($sp) +/* f0475ec: 02002025 */ or $a0,$s0,$zero +/* f0475f0: 0fc0dd28 */ jal chrPatrolCalculatePadNum +/* f0475f4: 24050001 */ addiu $a1,$zero,0x1 +/* f0475f8: 87b90034 */ lh $t9,0x34($sp) +/* f0475fc: 02002025 */ or $a0,$s0,$zero +/* f047600: 8fa50064 */ lw $a1,0x64($sp) +/* f047604: 8fa60044 */ lw $a2,0x44($sp) +/* f047608: 8fa70040 */ lw $a3,0x40($sp) +/* f04760c: afa20014 */ sw $v0,0x14($sp) +/* f047610: 0fc11992 */ jal func0f046648 +/* f047614: afb90010 */ sw $t9,0x10($sp) +/* f047618: 10000004 */ b .L0f04762c +/* f04761c: 00401825 */ or $v1,$v0,$zero +.L0f047620: +/* f047620: 10400002 */ beqz $v0,.L0f04762c +/* f047624: 00000000 */ nop +/* f047628: 24030001 */ addiu $v1,$zero,0x1 +.L0f04762c: +/* f04762c: 50600008 */ beqzl $v1,.L0f047650 +/* f047630: 02002025 */ or $a0,$s0,$zero +/* f047634: 0fc0dd6c */ jal func0f0375b0 +/* f047638: 02002025 */ or $a0,$s0,$zero +/* f04763c: 02002025 */ or $a0,$s0,$zero +/* f047640: 27a50058 */ addiu $a1,$sp,0x58 +/* f047644: 0fc0dd58 */ jal chrPatrolGetCurWaypointInfo +/* f047648: 27a60048 */ addiu $a2,$sp,0x48 +/* f04764c: 02002025 */ or $a0,$s0,$zero +.L0f047650: +/* f047650: 27a50058 */ addiu $a1,$sp,0x58 +/* f047654: 8fa60030 */ lw $a2,0x30($sp) +/* f047658: 0fc116e7 */ jal func0f045b9c +/* f04765c: 24070001 */ addiu $a3,$zero,0x1 +/* f047660: 0fc01877 */ jal func0f0061dc +/* f047664: 02002025 */ or $a0,$s0,$zero +/* f047668: 8fbf0024 */ lw $ra,0x24($sp) +.L0f04766c: +/* f04766c: 8fb00020 */ lw $s0,0x20($sp) +/* f047670: 27bd0070 */ addiu $sp,$sp,0x70 +/* f047674: 03e00008 */ jr $ra +/* f047678: 00000000 */ nop +); +#else GLOBAL_ASM( glabel chrTickPatrol /* f0473cc: 27bdff90 */ addiu $sp,$sp,-112 @@ -29723,6 +32953,7 @@ glabel chrTickPatrol /* f047674: 03e00008 */ jr $ra /* f047678: 00000000 */ nop ); +#endif bool chrTrySkJump(struct chrdata *chr, u8 arg1, u8 arg2, s32 arg3, u8 arg4) { @@ -29763,11 +32994,11 @@ bool chrStartSkJump(struct chrdata *chr, u8 arg1, u8 arg2, s32 arg3, u8 arg4) if (iVar2) { diffs[0] = target->pos.x - chr->prop->pos.x; diffs[1] = target->pos.z - chr->prop->pos.z; - thing = sqrtf(diffs[0] * diffs[0] + diffs[1] * diffs[1]) * 2.5f / FRAMESTOTIME60(21.0f); + thing = sqrtf(diffs[0] * diffs[0] + diffs[1] * diffs[1]) * 2.5f / PALUPF(21.0f); hspeed = thing; - if (hspeed < 10) { - hspeed = 10; + if (hspeed < PALDOWN(10)) { + hspeed = PALDOWN(10); } chr->act_skjump.xspeed = diffs[0] / hspeed; @@ -29916,7 +33147,7 @@ void chrTick(struct chrdata *chr) // Consider setting shootingatmelist if (chr->prop) { if (chr->aimtesttimer60 < 1) { - chr->aimtesttimer60 = 30; + chr->aimtesttimer60 = PALDOWN(30); if (chr->aishootingatmelist >= 0 && ailistFindById(chr->aishootingatmelist) != chr->ailist @@ -30048,6 +33279,467 @@ u32 var80068454 = 0; s32 var80068458 = 0; u32 var8006845c = 0x01020408; +#if PAL +GLOBAL_ASM( +glabel func0f048398 +/* f048398: 27bdff18 */ addiu $sp,$sp,-232 +/* f04839c: afbf003c */ sw $ra,0x3c($sp) +/* f0483a0: afbe0038 */ sw $s8,0x38($sp) +/* f0483a4: afb70034 */ sw $s7,0x34($sp) +/* f0483a8: afb60030 */ sw $s6,0x30($sp) +/* f0483ac: afb5002c */ sw $s5,0x2c($sp) +/* f0483b0: afb40028 */ sw $s4,0x28($sp) +/* f0483b4: afb30024 */ sw $s3,0x24($sp) +/* f0483b8: afb20020 */ sw $s2,0x20($sp) +/* f0483bc: afb1001c */ sw $s1,0x1c($sp) +/* f0483c0: 0fc07934 */ jal getNumChrSlots +/* f0483c4: afb00018 */ sw $s0,0x18($sp) +/* f0483c8: 3c1e8006 */ lui $s8,%hi(var80062cb0) +/* f0483cc: 27de2cb0 */ addiu $s8,$s8,%lo(var80062cb0) +/* f0483d0: afc00000 */ sw $zero,0x0($s8) +/* f0483d4: 3c018006 */ lui $at,%hi(var80062cb4) +/* f0483d8: ac202cb4 */ sw $zero,%lo(var80062cb4)($at) +/* f0483dc: 3c0e800a */ lui $t6,%hi(g_Vars+0x318) +/* f0483e0: 8dcea2d8 */ lw $t6,%lo(g_Vars+0x318)($t6) +/* f0483e4: 3c018006 */ lui $at,%hi(var80062cb8) +/* f0483e8: ac202cb8 */ sw $zero,%lo(var80062cb8)($at) +/* f0483ec: 3c018006 */ lui $at,%hi(var80062cbc) +/* f0483f0: afa200e0 */ sw $v0,0xe0($sp) +/* f0483f4: afa000dc */ sw $zero,0xdc($sp) +/* f0483f8: 00009025 */ or $s2,$zero,$zero +/* f0483fc: 0000b025 */ or $s6,$zero,$zero +/* f048400: 15c0005a */ bnez $t6,.L0f04856c +/* f048404: ac202cbc */ sw $zero,%lo(var80062cbc)($at) +/* f048408: 18400058 */ blez $v0,.L0f04856c +/* f04840c: 0000a825 */ or $s5,$zero,$zero +/* f048410: 00009825 */ or $s3,$zero,$zero +/* f048414: 24170006 */ addiu $s7,$zero,0x6 +/* f048418: 24140003 */ addiu $s4,$zero,0x3 +.L0f04841c: +/* f04841c: 3c0f8006 */ lui $t7,%hi(g_ChrSlots) +/* f048420: 8def2988 */ lw $t7,%lo(g_ChrSlots)($t7) +/* f048424: 026f8021 */ addu $s0,$s3,$t7 +/* f048428: 8e180020 */ lw $t8,0x20($s0) +/* f04842c: 5300004b */ beqzl $t8,.L0f04855c +/* f048430: 8faa00e0 */ lw $t2,0xe0($sp) +/* f048434: 8e19001c */ lw $t9,0x1c($s0) +/* f048438: 53200048 */ beqzl $t9,.L0f04855c +/* f04843c: 8faa00e0 */ lw $t2,0xe0($sp) +/* f048440: 0fc0e6a5 */ jal chrIsDead +/* f048444: 02002025 */ or $a0,$s0,$zero +/* f048448: 54400044 */ bnezl $v0,.L0f04855c +/* f04844c: 8faa00e0 */ lw $t2,0xe0($sp) +/* f048450: 0fc0a221 */ jal chrGetTargetProp +/* f048454: 02002025 */ or $a0,$s0,$zero +/* f048458: 1040003f */ beqz $v0,.L0f048558 +/* f04845c: 00408825 */ or $s1,$v0,$zero +/* f048460: 90430000 */ lbu $v1,0x0($v0) +/* f048464: 12830003 */ beq $s4,$v1,.L0f048474 +/* f048468: 00000000 */ nop +/* f04846c: 56e3003b */ bnel $s7,$v1,.L0f04855c +/* f048470: 8faa00e0 */ lw $t2,0xe0($sp) +.L0f048474: +/* f048474: 16e30011 */ bne $s7,$v1,.L0f0484bc +/* f048478: 3c07800a */ lui $a3,%hi(g_Vars) +/* f04847c: 24e79fc0 */ addiu $a3,$a3,%lo(g_Vars) +/* f048480: 8ce8029c */ lw $t0,0x29c($a3) +/* f048484: 02002025 */ or $a0,$s0,$zero +/* f048488: 24060002 */ addiu $a2,$zero,0x2 +/* f04848c: 05000007 */ bltz $t0,.L0f0484ac +/* f048490: 00000000 */ nop +/* f048494: 8ce302a8 */ lw $v1,0x2a8($a3) +/* f048498: 10600004 */ beqz $v1,.L0f0484ac +/* f04849c: 00000000 */ nop +/* f0484a0: 8c6900bc */ lw $t1,0xbc($v1) +/* f0484a4: 50490006 */ beql $v0,$t1,.L0f0484c0 +/* f0484a8: 8e220004 */ lw $v0,0x4($s1) +.L0f0484ac: +/* f0484ac: 0fc12aa3 */ jal chrCompareTeams +/* f0484b0: 8e250004 */ lw $a1,0x4($s1) +/* f0484b4: 5440000a */ bnezl $v0,.L0f0484e0 +/* f0484b8: 8fca0000 */ lw $t2,0x0($s8) +.L0f0484bc: +/* f0484bc: 8e220004 */ lw $v0,0x4($s1) +.L0f0484c0: +/* f0484c0: 00001825 */ or $v1,$zero,$zero +/* f0484c4: 10400003 */ beqz $v0,.L0f0484d4 +/* f0484c8: 00000000 */ nop +/* f0484cc: 10000001 */ b .L0f0484d4 +/* f0484d0: 904302fe */ lbu $v1,0x2fe($v0) +.L0f0484d4: +/* f0484d4: 54740021 */ bnel $v1,$s4,.L0f04855c +/* f0484d8: 8faa00e0 */ lw $t2,0xe0($sp) +/* f0484dc: 8fca0000 */ lw $t2,0x0($s8) +.L0f0484e0: +/* f0484e0: 254b0001 */ addiu $t3,$t2,0x1 +/* f0484e4: afcb0000 */ sw $t3,0x0($s8) +/* f0484e8: 8e0300e0 */ lw $v1,0xe0($s0) +/* f0484ec: 8e0400e4 */ lw $a0,0xe4($s0) +/* f0484f0: 0083082a */ slt $at,$a0,$v1 +/* f0484f4: 10200003 */ beqz $at,.L0f048504 +/* f0484f8: 00801025 */ or $v0,$a0,$zero +/* f0484fc: 10000001 */ b .L0f048504 +/* f048500: 00601025 */ or $v0,$v1,$zero +.L0f048504: +/* f048504: 10400014 */ beqz $v0,.L0f048558 +/* f048508: 3c038006 */ lui $v1,%hi(var80062cb4) +/* f04850c: 24632cb4 */ addiu $v1,$v1,%lo(var80062cb4) +/* f048510: 8c6c0000 */ lw $t4,0x0($v1) +/* f048514: 3c0e800a */ lui $t6,%hi(g_Vars+0x8) +/* f048518: 3c048006 */ lui $a0,%hi(var80062cbc) +/* f04851c: 258d0001 */ addiu $t5,$t4,0x1 +/* f048520: ac6d0000 */ sw $t5,0x0($v1) +/* f048524: 8dce9fc8 */ lw $t6,%lo(g_Vars+0x8)($t6) +/* f048528: 24842cbc */ addiu $a0,$a0,%lo(var80062cbc) +/* f04852c: 01c27823 */ subu $t7,$t6,$v0 +/* f048530: 29e100f0 */ slti $at,$t7,0xc8 +/* f048534: 10200008 */ beqz $at,.L0f048558 +/* f048538: 3c028006 */ lui $v0,%hi(var80062cb8) +/* f04853c: 24422cb8 */ addiu $v0,$v0,%lo(var80062cb8) +/* f048540: 8c580000 */ lw $t8,0x0($v0) +/* f048544: 8c880000 */ lw $t0,0x0($a0) +/* f048548: 27190001 */ addiu $t9,$t8,0x1 +/* f04854c: 25090001 */ addiu $t1,$t0,0x1 +/* f048550: ac590000 */ sw $t9,0x0($v0) +/* f048554: ac890000 */ sw $t1,0x0($a0) +.L0f048558: +/* f048558: 8faa00e0 */ lw $t2,0xe0($sp) +.L0f04855c: +/* f04855c: 26b50001 */ addiu $s5,$s5,0x1 +/* f048560: 26730368 */ addiu $s3,$s3,0x368 +/* f048564: 16aaffad */ bne $s5,$t2,.L0f04841c +/* f048568: 00000000 */ nop +.L0f04856c: +/* f04856c: 3c028007 */ lui $v0,%hi(var80068454) +/* f048570: 8c428454 */ lw $v0,%lo(var80068454)($v0) +/* f048574: 3c018007 */ lui $at,%hi(var80068454) +/* f048578: 0000a825 */ or $s5,$zero,$zero +/* f04857c: 24420001 */ addiu $v0,$v0,0x1 +/* f048580: ac228454 */ sw $v0,%lo(var80068454)($at) +/* f048584: 2c41000b */ sltiu $at,$v0,0xb +/* f048588: 14200002 */ bnez $at,.L0f048594 +/* f04858c: 3c018007 */ lui $at,%hi(var80068454) +/* f048590: ac208454 */ sw $zero,%lo(var80068454)($at) +.L0f048594: +/* f048594: 0fc47bac */ jal debug0f11eeb0 +/* f048598: 00000000 */ nop +/* f04859c: 10400003 */ beqz $v0,.L0f0485ac +/* f0485a0: 00000000 */ nop +/* f0485a4: 0fc10e51 */ jal propPrintDangerous +/* f0485a8: 00000000 */ nop +.L0f0485ac: +/* f0485ac: 3c02800a */ lui $v0,%hi(g_Vars+0x4d2) +/* f0485b0: 8042a492 */ lb $v0,%lo(g_Vars+0x4d2)($v0) +/* f0485b4: 04400009 */ bltz $v0,.L0f0485dc +/* f0485b8: 00000000 */ nop +/* f0485bc: 0fc120b3 */ jal func0f0482cc +/* f0485c0: 24440c00 */ addiu $a0,$v0,0xc00 +/* f0485c4: 240bffff */ addiu $t3,$zero,-1 +/* f0485c8: 3c01800a */ lui $at,%hi(g_Vars+0x4d2) +/* f0485cc: a02ba492 */ sb $t3,%lo(g_Vars+0x4d2)($at) +/* f0485d0: 3c01800a */ lui $at,%hi(g_Vars+0x4d3) +/* f0485d4: 240c0001 */ addiu $t4,$zero,0x1 +/* f0485d8: a02ca493 */ sb $t4,%lo(g_Vars+0x4d3)($at) +.L0f0485dc: +/* f0485dc: 3c038006 */ lui $v1,%hi(g_NumBgChrs) +/* f0485e0: 8c637e60 */ lw $v1,%lo(g_NumBgChrs)($v1) +/* f0485e4: 00009825 */ or $s3,$zero,$zero +/* f0485e8: 18600013 */ blez $v1,.L0f048638 +.L0f0485ec: +/* f0485ec: 3c0d800a */ lui $t5,%hi(g_Vars+0x4d3) +/* f0485f0: 81ada493 */ lb $t5,%lo(g_Vars+0x4d3)($t5) +/* f0485f4: 3c028006 */ lui $v0,%hi(g_BgChrs) +/* f0485f8: 8c427e58 */ lw $v0,%lo(g_BgChrs)($v0) +/* f0485fc: 11a00005 */ beqz $t5,.L0f048614 +/* f048600: 00537021 */ addu $t6,$v0,$s3 +/* f048604: 95cf0192 */ lhu $t7,0x192($t6) +/* f048608: 31f80010 */ andi $t8,$t7,0x10 +/* f04860c: 53000006 */ beqzl $t8,.L0f048628 +/* f048610: 26b50001 */ addiu $s5,$s5,0x1 +.L0f048614: +/* f048614: 0fc11f20 */ jal chrTick +/* f048618: 02622021 */ addu $a0,$s3,$v0 +/* f04861c: 3c038006 */ lui $v1,%hi(g_NumBgChrs) +/* f048620: 8c637e60 */ lw $v1,%lo(g_NumBgChrs)($v1) +/* f048624: 26b50001 */ addiu $s5,$s5,0x1 +.L0f048628: +/* f048628: 02a3082a */ slt $at,$s5,$v1 +/* f04862c: 1420ffef */ bnez $at,.L0f0485ec +/* f048630: 26730368 */ addiu $s3,$s3,0x368 +/* f048634: 0000a825 */ or $s5,$zero,$zero +.L0f048638: +/* f048638: 8fb900e0 */ lw $t9,0xe0($sp) +/* f04863c: 0000a025 */ or $s4,$zero,$zero +/* f048640: 00009825 */ or $s3,$zero,$zero +/* f048644: 1b200052 */ blez $t9,.L0f048790 +/* f048648: 241e001f */ addiu $s8,$zero,0x1f +/* f04864c: 24170005 */ addiu $s7,$zero,0x5 +/* f048650: 27b1007c */ addiu $s1,$sp,0x7c +.L0f048654: +/* f048654: 3c088006 */ lui $t0,%hi(g_ChrSlots) +/* f048658: 8d082988 */ lw $t0,%lo(g_ChrSlots)($t0) +/* f04865c: 02682021 */ addu $a0,$s3,$t0 +/* f048660: 8c890020 */ lw $t1,0x20($a0) +/* f048664: 51200046 */ beqzl $t1,.L0f048780 +/* f048668: 8fb800e0 */ lw $t8,0xe0($sp) +/* f04866c: 8c83001c */ lw $v1,0x1c($a0) +/* f048670: 50600043 */ beqzl $v1,.L0f048780 +/* f048674: 8fb800e0 */ lw $t8,0xe0($sp) +/* f048678: 80820007 */ lb $v0,0x7($a0) +/* f04867c: 52e20005 */ beql $s7,$v0,.L0f048694 +/* f048680: 906a0001 */ lbu $t2,0x1($v1) +/* f048684: 53c20003 */ beql $s8,$v0,.L0f048694 +/* f048688: 906a0001 */ lbu $t2,0x1($v1) +/* f04868c: 26940001 */ addiu $s4,$s4,0x1 +/* f048690: 906a0001 */ lbu $t2,0x1($v1) +.L0f048694: +/* f048694: 314b0080 */ andi $t3,$t2,0x80 +/* f048698: 11600011 */ beqz $t3,.L0f0486e0 +/* f04869c: 00000000 */ nop +/* f0486a0: 12e20006 */ beq $s7,$v0,.L0f0486bc +/* f0486a4: 00000000 */ nop +/* f0486a8: 13c20004 */ beq $s8,$v0,.L0f0486bc +/* f0486ac: 8fac00dc */ lw $t4,0xdc($sp) +/* f0486b0: 258d0001 */ addiu $t5,$t4,0x1 +/* f0486b4: 1000000a */ b .L0f0486e0 +/* f0486b8: afad00dc */ sw $t5,0xdc($sp) +.L0f0486bc: +/* f0486bc: 57c20008 */ bnel $s8,$v0,.L0f0486e0 +/* f0486c0: 26d60001 */ addiu $s6,$s6,0x1 +/* f0486c4: 8c8e0018 */ lw $t6,0x18($a0) +/* f0486c8: 000e7940 */ sll $t7,$t6,0x5 +/* f0486cc: 05e00004 */ bltz $t7,.L0f0486e0 +/* f0486d0: 00000000 */ nop +/* f0486d4: 10000002 */ b .L0f0486e0 +/* f0486d8: 26d60001 */ addiu $s6,$s6,0x1 +/* f0486dc: 26d60001 */ addiu $s6,$s6,0x1 +.L0f0486e0: +/* f0486e0: 52e20008 */ beql $s7,$v0,.L0f048704 +/* f0486e4: 94880192 */ lhu $t0,0x192($a0) +/* f0486e8: 57c20025 */ bnel $s8,$v0,.L0f048780 +/* f0486ec: 8fb800e0 */ lw $t8,0xe0($sp) +/* f0486f0: 8c980018 */ lw $t8,0x18($a0) +/* f0486f4: 0018c940 */ sll $t9,$t8,0x5 +/* f0486f8: 07220021 */ bltzl $t9,.L0f048780 +/* f0486fc: 8fb800e0 */ lw $t8,0xe0($sp) +/* f048700: 94880192 */ lhu $t0,0x192($a0) +.L0f048704: +/* f048704: 00125080 */ sll $t2,$s2,0x2 +/* f048708: 022a1821 */ addu $v1,$s1,$t2 +/* f04870c: 31090080 */ andi $t1,$t0,0x80 +/* f048710: 5120001b */ beqzl $t1,.L0f048780 +/* f048714: 8fb800e0 */ lw $t8,0xe0($sp) +/* f048718: 26520001 */ addiu $s2,$s2,0x1 +/* f04871c: 2a41000a */ slti $at,$s2,0xa +/* f048720: ac640000 */ sw $a0,0x0($v1) +/* f048724: 14200015 */ bnez $at,.L0f04877c +/* f048728: 24630004 */ addiu $v1,$v1,4 +/* f04872c: 0c004b70 */ jal random +/* f048730: afa30048 */ sw $v1,0x48($sp) +/* f048734: 0052001b */ divu $zero,$v0,$s2 +/* f048738: 00002810 */ mfhi $a1 +/* f04873c: 00055880 */ sll $t3,$a1,0x2 +/* f048740: 022b6021 */ addu $t4,$s1,$t3 +/* f048744: 00a08025 */ or $s0,$a1,$zero +/* f048748: 8fa30048 */ lw $v1,0x48($sp) +/* f04874c: 16400002 */ bnez $s2,.L0f048758 +/* f048750: 00000000 */ nop +/* f048754: 0007000d */ break 0x7 +.L0f048758: +/* f048758: 8d840000 */ lw $a0,0x0($t4) +/* f04875c: 0fc0f337 */ jal chrFadeCorpse +/* f048760: 00000000 */ nop +/* f048764: 8fa30048 */ lw $v1,0x48($sp) +/* f048768: 00107080 */ sll $t6,$s0,0x2 +/* f04876c: 022e7821 */ addu $t7,$s1,$t6 +/* f048770: 8c6dfffc */ lw $t5,-0x4($v1) +/* f048774: 2652ffff */ addiu $s2,$s2,-1 +/* f048778: aded0000 */ sw $t5,0x0($t7) +.L0f04877c: +/* f04877c: 8fb800e0 */ lw $t8,0xe0($sp) +.L0f048780: +/* f048780: 26b50001 */ addiu $s5,$s5,0x1 +/* f048784: 26730368 */ addiu $s3,$s3,0x368 +/* f048788: 16b8ffb2 */ bne $s5,$t8,.L0f048654 +/* f04878c: 00000000 */ nop +.L0f048790: +/* f048790: 3c198007 */ lui $t9,%hi(var80068458) +/* f048794: 8f398458 */ lw $t9,%lo(var80068458)($t9) +/* f048798: 24170005 */ addiu $s7,$zero,0x5 +/* f04879c: 241e001f */ addiu $s8,$zero,0x1f +/* f0487a0: 0334082a */ slt $at,$t9,$s4 +/* f0487a4: 10200003 */ beqz $at,.L0f0487b4 +/* f0487a8: 3c03800a */ lui $v1,%hi(g_Vars+0x38) +/* f0487ac: 3c018007 */ lui $at,%hi(var80068458) +/* f0487b0: ac348458 */ sw $s4,%lo(var80068458)($at) +.L0f0487b4: +/* f0487b4: 8fa800dc */ lw $t0,0xdc($sp) +/* f0487b8: 8c639ff8 */ lw $v1,%lo(g_Vars+0x38)($v1) +/* f0487bc: 00008825 */ or $s1,$zero,$zero +/* f0487c0: 02e81023 */ subu $v0,$s7,$t0 +/* f0487c4: 28610007 */ slti $at,$v1,0x7 +/* f0487c8: 14200004 */ bnez $at,.L0f0487dc +/* f0487cc: afa20074 */ sw $v0,0x74($sp) +/* f0487d0: 00434823 */ subu $t1,$v0,$v1 +/* f0487d4: 252a0006 */ addiu $t2,$t1,0x6 +/* f0487d8: afaa0074 */ sw $t2,0x74($sp) +.L0f0487dc: +/* f0487dc: 8fab0074 */ lw $t3,0x74($sp) +/* f0487e0: 05610002 */ bgez $t3,.L0f0487ec +/* f0487e4: 00000000 */ nop +/* f0487e8: afa00074 */ sw $zero,0x74($sp) +.L0f0487ec: +/* f0487ec: 12c0007d */ beqz $s6,.L0f0489e4 +/* f0487f0: 8fac00e0 */ lw $t4,0xe0($sp) +/* f0487f4: 0000b025 */ or $s6,$zero,$zero +/* f0487f8: 00009025 */ or $s2,$zero,$zero +/* f0487fc: 19800079 */ blez $t4,.L0f0489e4 +/* f048800: 0000a825 */ or $s5,$zero,$zero +/* f048804: 00009825 */ or $s3,$zero,$zero +/* f048808: 27b400a4 */ addiu $s4,$sp,0xa4 +.L0f04880c: +/* f04880c: 3c0e8006 */ lui $t6,%hi(g_ChrSlots) +/* f048810: 8dce2988 */ lw $t6,%lo(g_ChrSlots)($t6) +/* f048814: 026e2021 */ addu $a0,$s3,$t6 +/* f048818: 8c8d0020 */ lw $t5,0x20($a0) +/* f04881c: 51a0006d */ beqzl $t5,.L0f0489d4 +/* f048820: 8fac00e0 */ lw $t4,0xe0($sp) +/* f048824: 80820007 */ lb $v0,0x7($a0) +/* f048828: 52e2000b */ beql $s7,$v0,.L0f048858 +/* f04882c: 8c88001c */ lw $t0,0x1c($a0) +/* f048830: 57c20068 */ bnel $s8,$v0,.L0f0489d4 +/* f048834: 8fac00e0 */ lw $t4,0xe0($sp) +/* f048838: 8c8f001c */ lw $t7,0x1c($a0) +/* f04883c: 51e00065 */ beqzl $t7,.L0f0489d4 +/* f048840: 8fac00e0 */ lw $t4,0xe0($sp) +/* f048844: 8c980018 */ lw $t8,0x18($a0) +/* f048848: 0018c940 */ sll $t9,$t8,0x5 +/* f04884c: 07220061 */ bltzl $t9,.L0f0489d4 +/* f048850: 8fac00e0 */ lw $t4,0xe0($sp) +/* f048854: 8c88001c */ lw $t0,0x1c($a0) +.L0f048858: +/* f048858: 91090001 */ lbu $t1,0x1($t0) +/* f04885c: 312a0080 */ andi $t2,$t1,0x80 +/* f048860: 51400033 */ beqzl $t2,.L0f048930 +/* f048864: 8c8c0030 */ lw $t4,0x30($a0) +/* f048868: 8c8b0038 */ lw $t3,0x38($a0) +/* f04886c: 05630059 */ bgezl $t3,.L0f0489d4 +/* f048870: 8fac00e0 */ lw $t4,0xe0($sp) +/* f048874: 8c8c002c */ lw $t4,0x2c($a0) +/* f048878: 8fae0074 */ lw $t6,0x74($sp) +/* f04887c: 55800055 */ bnezl $t4,.L0f0489d4 +/* f048880: 8fac00e0 */ lw $t4,0xe0($sp) +/* f048884: 26d60001 */ addiu $s6,$s6,0x1 +/* f048888: 01d6082a */ slt $at,$t6,$s6 +/* f04888c: 14200004 */ bnez $at,.L0f0488a0 +/* f048890: 00000000 */ nop +/* f048894: 8c8d02d4 */ lw $t5,0x2d4($a0) +/* f048898: 51a00006 */ beqzl $t5,.L0f0488b4 +/* f04889c: 8c8f0030 */ lw $t7,0x30($a0) +.L0f0488a0: +/* f0488a0: 0fc0f337 */ jal chrFadeCorpse +/* f0488a4: 00000000 */ nop +/* f0488a8: 10000049 */ b .L0f0489d0 +/* f0488ac: 26d6ffff */ addiu $s6,$s6,-1 +/* f0488b0: 8c8f0030 */ lw $t7,0x30($a0) +.L0f0488b4: +/* f0488b4: 0011c080 */ sll $t8,$s1,0x2 +/* f0488b8: 27b900b8 */ addiu $t9,$sp,0xb8 +/* f0488bc: 15e00044 */ bnez $t7,.L0f0489d0 +/* f0488c0: 03191821 */ addu $v1,$t8,$t9 +/* f0488c4: 26310001 */ addiu $s1,$s1,0x1 +/* f0488c8: 2a210002 */ slti $at,$s1,0x2 +/* f0488cc: ac640000 */ sw $a0,0x0($v1) +/* f0488d0: 1420003f */ bnez $at,.L0f0489d0 +/* f0488d4: 24630004 */ addiu $v1,$v1,4 +/* f0488d8: 0c004b70 */ jal random +/* f0488dc: afa30048 */ sw $v1,0x48($sp) +/* f0488e0: 0051001b */ divu $zero,$v0,$s1 +/* f0488e4: 00002810 */ mfhi $a1 +/* f0488e8: 00054080 */ sll $t0,$a1,0x2 +/* f0488ec: 03a82021 */ addu $a0,$sp,$t0 +/* f0488f0: 00a08025 */ or $s0,$a1,$zero +/* f0488f4: 8fa30048 */ lw $v1,0x48($sp) +/* f0488f8: 16200002 */ bnez $s1,.L0f048904 +/* f0488fc: 00000000 */ nop +/* f048900: 0007000d */ break 0x7 +.L0f048904: +/* f048904: 8c8400b8 */ lw $a0,0xb8($a0) +/* f048908: 0fc0f341 */ jal chrEnableReap +/* f04890c: 00000000 */ nop +/* f048910: 8fa30048 */ lw $v1,0x48($sp) +/* f048914: 00105080 */ sll $t2,$s0,0x2 +/* f048918: 03aa5821 */ addu $t3,$sp,$t2 +/* f04891c: 8c69fffc */ lw $t1,-0x4($v1) +/* f048920: 2631ffff */ addiu $s1,$s1,-1 +/* f048924: 1000002a */ b .L0f0489d0 +/* f048928: ad6900b8 */ sw $t1,0xb8($t3) +/* f04892c: 8c8c0030 */ lw $t4,0x30($a0) +.L0f048930: +/* f048930: 00127080 */ sll $t6,$s2,0x2 +/* f048934: 028e2821 */ addu $a1,$s4,$t6 +/* f048938: 55800026 */ bnezl $t4,.L0f0489d4 +/* f04893c: 8fac00e0 */ lw $t4,0xe0($sp) +/* f048940: 26520001 */ addiu $s2,$s2,0x1 +/* f048944: 2a410005 */ slti $at,$s2,0x5 +/* f048948: aca40000 */ sw $a0,0x0($a1) +/* f04894c: 14200020 */ bnez $at,.L0f0489d0 +/* f048950: 24a50004 */ addiu $a1,$a1,0x4 +/* f048954: 0c004b70 */ jal random +/* f048958: afa50048 */ sw $a1,0x48($sp) +/* f04895c: 0052001b */ divu $zero,$v0,$s2 +/* f048960: 00001810 */ mfhi $v1 +/* f048964: 00036880 */ sll $t5,$v1,0x2 +/* f048968: 028d7821 */ addu $t7,$s4,$t5 +/* f04896c: 8df80000 */ lw $t8,0x0($t7) +/* f048970: 00608025 */ or $s0,$v1,$zero +/* f048974: 8fa50048 */ lw $a1,0x48($sp) +/* f048978: 83190007 */ lb $t9,0x7($t8) +/* f04897c: 16400002 */ bnez $s2,.L0f048988 +/* f048980: 00000000 */ nop +/* f048984: 0007000d */ break 0x7 +.L0f048988: +/* f048988: 00034080 */ sll $t0,$v1,0x2 +/* f04898c: 12f90005 */ beq $s7,$t9,.L0f0489a4 +/* f048990: 02884821 */ addu $t1,$s4,$t0 +/* f048994: 8d240000 */ lw $a0,0x0($t1) +/* f048998: 0fc0c467 */ jal chrBeginDead +/* f04899c: afa50048 */ sw $a1,0x48($sp) +/* f0489a0: 8fa50048 */ lw $a1,0x48($sp) +.L0f0489a4: +/* f0489a4: 00105080 */ sll $t2,$s0,0x2 +/* f0489a8: 028a1021 */ addu $v0,$s4,$t2 +/* f0489ac: 8c440000 */ lw $a0,0x0($v0) +/* f0489b0: afa50048 */ sw $a1,0x48($sp) +/* f0489b4: 0fc0f341 */ jal chrEnableReap +/* f0489b8: afa20044 */ sw $v0,0x44($sp) +/* f0489bc: 8fa50048 */ lw $a1,0x48($sp) +/* f0489c0: 8fa20044 */ lw $v0,0x44($sp) +/* f0489c4: 2652ffff */ addiu $s2,$s2,-1 +/* f0489c8: 8cabfffc */ lw $t3,-0x4($a1) +/* f0489cc: ac4b0000 */ sw $t3,0x0($v0) +.L0f0489d0: +/* f0489d0: 8fac00e0 */ lw $t4,0xe0($sp) +.L0f0489d4: +/* f0489d4: 26b50001 */ addiu $s5,$s5,0x1 +/* f0489d8: 26730368 */ addiu $s3,$s3,0x368 +/* f0489dc: 16acff8b */ bne $s5,$t4,.L0f04880c +/* f0489e0: 00000000 */ nop +.L0f0489e4: +/* f0489e4: 8fbf003c */ lw $ra,0x3c($sp) +/* f0489e8: 8fb00018 */ lw $s0,0x18($sp) +/* f0489ec: 8fb1001c */ lw $s1,0x1c($sp) +/* f0489f0: 8fb20020 */ lw $s2,0x20($sp) +/* f0489f4: 8fb30024 */ lw $s3,0x24($sp) +/* f0489f8: 8fb40028 */ lw $s4,0x28($sp) +/* f0489fc: 8fb5002c */ lw $s5,0x2c($sp) +/* f048a00: 8fb60030 */ lw $s6,0x30($sp) +/* f048a04: 8fb70034 */ lw $s7,0x34($sp) +/* f048a08: 8fbe0038 */ lw $s8,0x38($sp) +/* f048a0c: 03e00008 */ jr $ra +/* f048a10: 27bd00e8 */ addiu $sp,$sp,0xe8 +); +#else GLOBAL_ASM( glabel func0f048398 /* f048398: 27bdff18 */ addiu $sp,$sp,-232 @@ -30507,6 +34199,7 @@ glabel func0f048398 /* f048a0c: 03e00008 */ jr $ra /* f048a10: 27bd00e8 */ addiu $sp,$sp,0xe8 ); +#endif // Mismatch because it uses the stack differently. //void func0f048398(void) @@ -30716,7 +34409,7 @@ glabel func0f048398 bool chrSawTargetRecently(struct chrdata *chr) { - if (chr->lastseetarget60 > 0 && g_Vars.lvframe60 - chr->lastseetarget60 < 600) { + if (chr->lastseetarget60 > 0 && g_Vars.lvframe60 - chr->lastseetarget60 < PALDOWN(600)) { return true; } @@ -30725,7 +34418,7 @@ bool chrSawTargetRecently(struct chrdata *chr) bool chrHeardTargetRecently(struct chrdata *chr) { - if (chr->lastheartarget60 > 0 && g_Vars.lvframe60 - chr->lastheartarget60 < 600) { + if (chr->lastheartarget60 > 0 && g_Vars.lvframe60 - chr->lastheartarget60 < PALDOWN(600)) { return true; } @@ -32345,7 +36038,7 @@ struct prop *chrSpawnAtCoord(s32 bodynum, s32 headnum, struct coord *pos, s16 *r || (g_ChrSlots[index].actiontype == ACT_DRUGGEDKO && (g_ChrSlots[index].chrflags & CHRCFLAG_KEEPCORPSEKO) == 0)) { // If we've found a chr that's ready to be reaped, great. // Bail out of the loop. - if (g_ChrSlots[index].act_dead.reaptimer >= 120) { + if (g_ChrSlots[index].act_dead.reaptimer >= PALDOWN(120)) { replacechr = &g_ChrSlots[index]; break; } @@ -33261,7 +36954,7 @@ bool chrRunFromPos(struct chrdata *chr, u32 speed, f32 rundist, struct coord *fr if (cdTestAToB4(&chr->prop->pos, chr->prop->rooms, &delta, CDTYPE_ALL, 4) == CDRESULT_COLLISION) { #if VERSION >= VERSION_PAL_FINAL - cdGetPos(&delta, 18547, "chr/chraction.c"); + cdGetPos(&delta, 18555, "chr/chraction.c"); #else cdGetPos(&delta, 18547, "chraction.c"); #endif @@ -33359,6 +37052,250 @@ const char var7f1a8ce4[] = "chr/chraction.c"; const char var7f1a8ce4[] = "chraction.c"; #endif +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f04c874 +.late_rodata +glabel var7f1a942c +.word 0x3c8ef461 +.text +/* f04c874: 27bdff18 */ addiu $sp,$sp,-232 +/* f04c878: afbf007c */ sw $ra,0x7c($sp) +/* f04c87c: afb40068 */ sw $s4,0x68($sp) +/* f04c880: afb30064 */ sw $s3,0x64($sp) +/* f04c884: afb20060 */ sw $s2,0x60($sp) +/* f04c888: afb00058 */ sw $s0,0x58($sp) +/* f04c88c: 00c08025 */ or $s0,$a2,$zero +/* f04c890: 00a09025 */ or $s2,$a1,$zero +/* f04c894: 00809825 */ or $s3,$a0,$zero +/* f04c898: 30f400ff */ andi $s4,$a3,0xff +/* f04c89c: afbe0078 */ sw $s8,0x78($sp) +/* f04c8a0: afb70074 */ sw $s7,0x74($sp) +/* f04c8a4: afb60070 */ sw $s6,0x70($sp) +/* f04c8a8: afb5006c */ sw $s5,0x6c($sp) +/* f04c8ac: afb1005c */ sw $s1,0x5c($sp) +/* f04c8b0: f7be0050 */ sdc1 $f30,0x50($sp) +/* f04c8b4: f7bc0048 */ sdc1 $f28,0x48($sp) +/* f04c8b8: f7ba0040 */ sdc1 $f26,0x40($sp) +/* f04c8bc: f7b80038 */ sdc1 $f24,0x38($sp) +/* f04c8c0: f7b60030 */ sdc1 $f22,0x30($sp) +/* f04c8c4: f7b40028 */ sdc1 $f20,0x28($sp) +/* f04c8c8: 0fc0a221 */ jal chrGetTargetProp +/* f04c8cc: afa700f4 */ sw $a3,0xf4($sp) +/* f04c8d0: 4480d000 */ mtc1 $zero,$f26 +/* f04c8d4: 00408825 */ or $s1,$v0,$zero +/* f04c8d8: 0fc131e1 */ jal func0f04c784 +/* f04c8dc: 02602025 */ or $a0,$s3,$zero +/* f04c8e0: 8e6e001c */ lw $t6,0x1c($s3) +/* f04c8e4: 3c0143b4 */ lui $at,0x43b4 +/* f04c8e8: 4481f000 */ mtc1 $at,$f30 +/* f04c8ec: c5c40008 */ lwc1 $f4,0x8($t6) +/* f04c8f0: 3c014334 */ lui $at,0x4334 +/* f04c8f4: 4481e000 */ mtc1 $at,$f28 +/* f04c8f8: e7a400c8 */ swc1 $f4,0xc8($sp) +/* f04c8fc: 8e6f001c */ lw $t7,0x1c($s3) +/* f04c900: 46000606 */ mov.s $f24,$f0 +/* f04c904: 27be00c8 */ addiu $s8,$sp,0xc8 +/* f04c908: c5e6000c */ lwc1 $f6,0xc($t7) +/* f04c90c: 27b7009c */ addiu $s7,$sp,0x9c +/* f04c910: 27b600a0 */ addiu $s6,$sp,0xa0 +/* f04c914: e7a600cc */ swc1 $f6,0xcc($sp) +/* f04c918: 8e78001c */ lw $t8,0x1c($s3) +/* f04c91c: 27b50098 */ addiu $s5,$sp,0x98 +/* f04c920: c7080010 */ lwc1 $f8,0x10($t8) +/* f04c924: e7a800d0 */ swc1 $f8,0xd0($sp) +/* f04c928: 44925000 */ mtc1 $s2,$f10 +.L0f04c92c: +/* f04c92c: 3c014f80 */ lui $at,0x4f80 +/* f04c930: 06410004 */ bgez $s2,.L0f04c944 +/* f04c934: 46805020 */ cvt.s.w $f0,$f10 +/* f04c938: 44818000 */ mtc1 $at,$f16 +/* f04c93c: 00000000 */ nop +/* f04c940: 46100000 */ add.s $f0,$f0,$f16 +.L0f04c944: +/* f04c944: 4600e03c */ c.lt.s $f28,$f0 +/* f04c948: 46000506 */ mov.s $f20,$f0 +/* f04c94c: 3c017f1b */ lui $at,%hi(var7f1a942c) +/* f04c950: 45020003 */ bc1fl .L0f04c960 +/* f04c954: 4618a501 */ sub.s $f20,$f20,$f24 +/* f04c958: 461e0501 */ sub.s $f20,$f0,$f30 +/* f04c95c: 4618a501 */ sub.s $f20,$f20,$f24 +.L0f04c960: +/* f04c960: c432942c */ lwc1 $f18,%lo(var7f1a942c)($at) +/* f04c964: 4612a502 */ mul.s $f20,$f20,$f18 +/* f04c968: 0c0068f4 */ jal cosf +/* f04c96c: 4600a306 */ mov.s $f12,$f20 +/* f04c970: 46000586 */ mov.s $f22,$f0 +/* f04c974: 0c0068f7 */ jal sinf +/* f04c978: 4600a306 */ mov.s $f12,$f20 +/* f04c97c: c62e0008 */ lwc1 $f14,0x8($s1) +/* f04c980: c7a400c8 */ lwc1 $f4,0xc8($sp) +/* f04c984: c7a600d0 */ lwc1 $f6,0xd0($sp) +/* f04c988: c6280010 */ lwc1 $f8,0x10($s1) +/* f04c98c: 460e2081 */ sub.s $f2,$f4,$f14 +/* f04c990: 02a02825 */ or $a1,$s5,$zero +/* f04c994: 02c03025 */ or $a2,$s6,$zero +/* f04c998: 46083301 */ sub.s $f12,$f6,$f8 +/* f04c99c: 46161282 */ mul.s $f10,$f2,$f22 +/* f04c9a0: 02e03825 */ or $a3,$s7,$zero +/* f04c9a4: 46006402 */ mul.s $f16,$f12,$f0 +/* f04c9a8: 46105481 */ sub.s $f18,$f10,$f16 +/* f04c9ac: 46001202 */ mul.s $f8,$f2,$f0 +/* f04c9b0: 00000000 */ nop +/* f04c9b4: 46166282 */ mul.s $f10,$f12,$f22 +/* f04c9b8: 46127100 */ add.s $f4,$f14,$f18 +/* f04c9bc: e6040000 */ swc1 $f4,0x0($s0) +/* f04c9c0: c7a600cc */ lwc1 $f6,0xcc($sp) +/* f04c9c4: 460a4400 */ add.s $f16,$f8,$f10 +/* f04c9c8: e6060004 */ swc1 $f6,0x4($s0) +/* f04c9cc: c6320010 */ lwc1 $f18,0x10($s1) +/* f04c9d0: 46109100 */ add.s $f4,$f18,$f16 +/* f04c9d4: e6040008 */ swc1 $f4,0x8($s0) +/* f04c9d8: 0fc0a277 */ jal propChrGetBbox +/* f04c9dc: 8e64001c */ lw $a0,0x1c($s3) +/* f04c9e0: c7a800cc */ lwc1 $f8,0xcc($sp) +/* f04c9e4: c7a600a0 */ lwc1 $f6,0xa0($sp) +/* f04c9e8: c7b2009c */ lwc1 $f18,0x9c($sp) +/* f04c9ec: 8e65001c */ lw $a1,0x1c($s3) +/* f04c9f0: 46083281 */ sub.s $f10,$f6,$f8 +/* f04c9f4: 24190001 */ addiu $t9,$zero,0x1 +/* f04c9f8: afb90010 */ sw $t9,0x10($sp) +/* f04c9fc: 46089401 */ sub.s $f16,$f18,$f8 +/* f04ca00: e7aa0014 */ swc1 $f10,0x14($sp) +/* f04ca04: 03c02025 */ or $a0,$s8,$zero +/* f04ca08: 02003025 */ or $a2,$s0,$zero +/* f04ca0c: e7b00018 */ swc1 $f16,0x18($sp) +/* f04ca10: 24070023 */ addiu $a3,$zero,0x23 +/* f04ca14: 0c00b5f0 */ jal func0002d7c0 +/* f04ca18: 24a50028 */ addiu $a1,$a1,0x28 +/* f04ca1c: 1440002a */ bnez $v0,.L0f04cac8 +/* f04ca20: 02002025 */ or $a0,$s0,$zero +/* f04ca24: 3c067f1b */ lui $a2,%hi(var7f1a8ce4) +/* f04ca28: 24c68ce4 */ addiu $a2,$a2,%lo(var7f1a8ce4) +/* f04ca2c: 0c0093af */ jal cdGetPos +/* f04ca30: 240548fe */ addiu $a1,$zero,0x4906 +/* f04ca34: c6040000 */ lwc1 $f4,0x0($s0) +/* f04ca38: c7a600c8 */ lwc1 $f6,0xc8($sp) +/* f04ca3c: c60a0008 */ lwc1 $f10,0x8($s0) +/* f04ca40: c7b200d0 */ lwc1 $f18,0xd0($sp) +/* f04ca44: 46062501 */ sub.s $f20,$f4,$f6 +/* f04ca48: 46125581 */ sub.s $f22,$f10,$f18 +/* f04ca4c: 4614a202 */ mul.s $f8,$f20,$f20 +/* f04ca50: 00000000 */ nop +/* f04ca54: 4616b402 */ mul.s $f16,$f22,$f22 +/* f04ca58: 0c012974 */ jal sqrtf +/* f04ca5c: 46104300 */ add.s $f12,$f8,$f16 +/* f04ca60: 3c014248 */ lui $at,0x4248 +/* f04ca64: 44812000 */ mtc1 $at,$f4 +/* f04ca68: 44805000 */ mtc1 $zero,$f10 +/* f04ca6c: c7b200c8 */ lwc1 $f18,0xc8($sp) +/* f04ca70: 46040181 */ sub.s $f6,$f0,$f4 +/* f04ca74: c7a400c8 */ lwc1 $f4,0xc8($sp) +/* f04ca78: 46003083 */ div.s $f2,$f6,$f0 +/* f04ca7c: 460a103c */ c.lt.s $f2,$f10 +/* f04ca80: 00000000 */ nop +/* f04ca84: 45000007 */ bc1f .L0f04caa4 +/* f04ca88: 00000000 */ nop +/* f04ca8c: e6120000 */ swc1 $f18,0x0($s0) +/* f04ca90: c7a800cc */ lwc1 $f8,0xcc($sp) +/* f04ca94: e6080004 */ swc1 $f8,0x4($s0) +/* f04ca98: c7b000d0 */ lwc1 $f16,0xd0($sp) +/* f04ca9c: 1000000a */ b .L0f04cac8 +/* f04caa0: e6100008 */ swc1 $f16,0x8($s0) +.L0f04caa4: +/* f04caa4: 4602a502 */ mul.s $f20,$f20,$f2 +/* f04caa8: 46142180 */ add.s $f6,$f4,$f20 +/* f04caac: 4602b582 */ mul.s $f22,$f22,$f2 +/* f04cab0: e6060000 */ swc1 $f6,0x0($s0) +/* f04cab4: c7aa00cc */ lwc1 $f10,0xcc($sp) +/* f04cab8: e60a0004 */ swc1 $f10,0x4($s0) +/* f04cabc: c7b200d0 */ lwc1 $f18,0xd0($sp) +/* f04cac0: 46169200 */ add.s $f8,$f18,$f22 +/* f04cac4: e6080008 */ swc1 $f8,0x8($s0) +.L0f04cac8: +/* f04cac8: 12800019 */ beqz $s4,.L0f04cb30 +/* f04cacc: 00001025 */ or $v0,$zero,$zero +/* f04cad0: c6000000 */ lwc1 $f0,0x0($s0) +/* f04cad4: c7b000c8 */ lwc1 $f16,0xc8($sp) +/* f04cad8: c7a400cc */ lwc1 $f4,0xcc($sp) +/* f04cadc: c6060004 */ lwc1 $f6,0x4($s0) +/* f04cae0: 46008081 */ sub.s $f2,$f16,$f0 +/* f04cae4: c7aa00d0 */ lwc1 $f10,0xd0($sp) +/* f04cae8: c6120008 */ lwc1 $f18,0x8($s0) +/* f04caec: 46062381 */ sub.s $f14,$f4,$f6 +/* f04caf0: 46021202 */ mul.s $f8,$f2,$f2 +/* f04caf4: e7a000a8 */ swc1 $f0,0xa8($sp) +/* f04caf8: 46125301 */ sub.s $f12,$f10,$f18 +/* f04cafc: 460e7402 */ mul.s $f16,$f14,$f14 +/* f04cb00: c60a0004 */ lwc1 $f10,0x4($s0) +/* f04cb04: 24080168 */ addiu $t0,$zero,0x168 +/* f04cb08: 460c6182 */ mul.s $f6,$f12,$f12 +/* f04cb0c: e7aa00ac */ swc1 $f10,0xac($sp) +/* f04cb10: c6120008 */ lwc1 $f18,0x8($s0) +/* f04cb14: 01129023 */ subu $s2,$t0,$s2 +/* f04cb18: 24020001 */ addiu $v0,$zero,0x1 +/* f04cb1c: 46104100 */ add.s $f4,$f8,$f16 +/* f04cb20: 0000a025 */ or $s4,$zero,$zero +/* f04cb24: e7b200b0 */ swc1 $f18,0xb0($sp) +/* f04cb28: 10000001 */ b .L0f04cb30 +/* f04cb2c: 46062680 */ add.s $f26,$f4,$f6 +.L0f04cb30: +/* f04cb30: 5440ff7e */ bnezl $v0,.L0f04c92c +/* f04cb34: 44925000 */ mtc1 $s2,$f10 +/* f04cb38: 44804000 */ mtc1 $zero,$f8 +/* f04cb3c: c7b000c8 */ lwc1 $f16,0xc8($sp) +/* f04cb40: 02602025 */ or $a0,$s3,$zero +/* f04cb44: 4608d032 */ c.eq.s $f26,$f8 +/* f04cb48: 02002825 */ or $a1,$s0,$zero +/* f04cb4c: 45010018 */ bc1t .L0f04cbb0 +/* f04cb50: 00000000 */ nop +/* f04cb54: c6040000 */ lwc1 $f4,0x0($s0) +/* f04cb58: c7a600cc */ lwc1 $f6,0xcc($sp) +/* f04cb5c: c60a0004 */ lwc1 $f10,0x4($s0) +/* f04cb60: 46048081 */ sub.s $f2,$f16,$f4 +/* f04cb64: c7b200d0 */ lwc1 $f18,0xd0($sp) +/* f04cb68: c6080008 */ lwc1 $f8,0x8($s0) +/* f04cb6c: 460a3381 */ sub.s $f14,$f6,$f10 +/* f04cb70: 46021402 */ mul.s $f16,$f2,$f2 +/* f04cb74: 46089301 */ sub.s $f12,$f18,$f8 +/* f04cb78: 460e7102 */ mul.s $f4,$f14,$f14 +/* f04cb7c: c7a800a8 */ lwc1 $f8,0xa8($sp) +/* f04cb80: 460c6282 */ mul.s $f10,$f12,$f12 +/* f04cb84: 46048180 */ add.s $f6,$f16,$f4 +/* f04cb88: 460a3480 */ add.s $f18,$f6,$f10 +/* f04cb8c: 461a903c */ c.lt.s $f18,$f26 +/* f04cb90: 00000000 */ nop +/* f04cb94: 45000006 */ bc1f .L0f04cbb0 +/* f04cb98: 00000000 */ nop +/* f04cb9c: e6080000 */ swc1 $f8,0x0($s0) +/* f04cba0: c7b000ac */ lwc1 $f16,0xac($sp) +/* f04cba4: e6100004 */ swc1 $f16,0x4($s0) +/* f04cba8: c7a400b0 */ lwc1 $f4,0xb0($sp) +/* f04cbac: e6040008 */ swc1 $f4,0x8($s0) +.L0f04cbb0: +/* f04cbb0: 0fc0eaf4 */ jal func0f03abd0 +/* f04cbb4: 93a600fb */ lbu $a2,0xfb($sp) +/* f04cbb8: 8fbf007c */ lw $ra,0x7c($sp) +/* f04cbbc: d7b40028 */ ldc1 $f20,0x28($sp) +/* f04cbc0: d7b60030 */ ldc1 $f22,0x30($sp) +/* f04cbc4: d7b80038 */ ldc1 $f24,0x38($sp) +/* f04cbc8: d7ba0040 */ ldc1 $f26,0x40($sp) +/* f04cbcc: d7bc0048 */ ldc1 $f28,0x48($sp) +/* f04cbd0: d7be0050 */ ldc1 $f30,0x50($sp) +/* f04cbd4: 8fb00058 */ lw $s0,0x58($sp) +/* f04cbd8: 8fb1005c */ lw $s1,0x5c($sp) +/* f04cbdc: 8fb20060 */ lw $s2,0x60($sp) +/* f04cbe0: 8fb30064 */ lw $s3,0x64($sp) +/* f04cbe4: 8fb40068 */ lw $s4,0x68($sp) +/* f04cbe8: 8fb5006c */ lw $s5,0x6c($sp) +/* f04cbec: 8fb60070 */ lw $s6,0x70($sp) +/* f04cbf0: 8fb70074 */ lw $s7,0x74($sp) +/* f04cbf4: 8fbe0078 */ lw $s8,0x78($sp) +/* f04cbf8: 27bd00e8 */ addiu $sp,$sp,0xe8 +/* f04cbfc: 03e00008 */ jr $ra +/* f04cc00: 24020001 */ addiu $v0,$zero,0x1 +); +#else GLOBAL_ASM( glabel func0f04c874 .late_rodata @@ -33601,6 +37538,7 @@ glabel var7f1a942c /* f04cbfc: 03e00008 */ jr $ra /* f04cc00: 24020001 */ addiu $v0,$zero,0x1 ); +#endif // Mismatch: Probably due to variable reuse. //bool func0f04c874(struct chrdata *chr, u32 angle360, struct coord *pos, u8 arg3, u8 arg4) diff --git a/src/game/chr/chraicommands.c b/src/game/chr/chraicommands.c index fdafe2aab..71649442b 100644 --- a/src/game/chr/chraicommands.c +++ b/src/game/chr/chraicommands.c @@ -384,10 +384,6 @@ bool aiKneel(void) return false; } -#if VERSION >= VERSION_PAL_FINAL -extern f32 g_SomePalFloat; -#endif - /** * @cmd 000b */ @@ -425,7 +421,7 @@ bool aiChrDoAnimation(void) if (g_Vars.in_cutscene) { if (startframe != 0xfffe) { #if VERSION >= VERSION_PAL_FINAL - fstartframe += g_SomePalFloat * result; + fstartframe += var8009e388pf * result; #else fstartframe += var8009de20 * result * 0.25f; #endif @@ -5145,7 +5141,7 @@ bool aiObjectDoAnimation(void) if (g_Vars.in_cutscene && startframe != 0xfffe) { #if VERSION >= VERSION_PAL_FINAL - fstartframe += g_SomePalFloat * thing; + fstartframe += var8009e388pf * thing; #else fstartframe += var8009de20 * thing * 0.25f; #endif @@ -5994,7 +5990,7 @@ bool aiSetLights(void) roomSetLightsOn(roomnum, true); break; default: - roomSetLighting(roomnum, cmd[4], cmd[5], cmd[6], TIME60TOFRAMES(cmd[7])); + roomSetLighting(roomnum, cmd[4], cmd[5], cmd[6], PALDOWN(cmd[7])); } } @@ -9141,7 +9137,7 @@ bool aiSetChrPresetToUnalertedTeammate(void) u8 *cmd = g_Vars.ailist + g_Vars.aioffset; s16 *chrnums = teamGetChrIds(g_Vars.chrdata->team); - if (g_Vars.chrdata->talktimer > 480 && g_Vars.chrdata->listening) { + if (g_Vars.chrdata->talktimer > PALDOWN(480) && g_Vars.chrdata->listening) { g_Vars.chrdata->listening = 0; } @@ -9736,9 +9732,9 @@ bool aiChrAdjustMotionBlur(void) if (chr) { if (cmd[4] == 0) { - chr->blurdrugamount -= TIME60TOFRAMES(cmd[3]); + chr->blurdrugamount -= PALDOWN(cmd[3]); } else { - chr->blurdrugamount += TIME60TOFRAMES(cmd[3]); + chr->blurdrugamount += PALDOWN(cmd[3]); } } @@ -10080,7 +10076,7 @@ bool ai0184(void) bool aiIfSoundTimer(void) { u8 *cmd = g_Vars.ailist + g_Vars.aioffset; - s32 value = TIME60TOFRAMES(cmd[3] | (cmd[2] << 8)); + s32 value = PALDOWN(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/core.c b/src/game/core.c index 9d2007ec7..45d30c6b3 100644 --- a/src/game/core.c +++ b/src/game/core.c @@ -264,7 +264,7 @@ void coreLoadStage(s32 stagenum) g_Vars.lvupdate240 = 4; g_Vars.lvupdate240f = 1; - g_Vars.lvupdate240frealprev = FRAMESTOTIME60(1.0f); + g_Vars.lvupdate240frealprev = PALUPF(1.0f); g_Vars.lvupdate240freal = g_Vars.lvupdate240frealprev; g_StageTimeElapsed60 = 0; @@ -511,7 +511,11 @@ Gfx *coreRenderFade(Gfx *gdl) if (g_FadeDelay > 0) { g_FadeDelay--; } else { +#if VERSION >= VERSION_PAL_FINAL + g_FadeFrac += g_Vars.diffframe60freal / g_FadeNumFrames; +#else g_FadeFrac += g_Vars.diffframe60f / g_FadeNumFrames; +#endif if (g_FadeFrac >= 1) { g_FadeFrac = -1; @@ -581,11 +585,11 @@ bool coreCheckCmpFollowThreat(struct threat *threat, s32 index) if (chrIsDead(threat->prop->chr)) { if (index >= 0) { // Existing threat - if (g_Vars.currentplayer->targetset[index] < 129) { - g_Vars.currentplayer->targetset[index] = 129; + if (g_Vars.currentplayer->targetset[index] < PALDOWN(129)) { + g_Vars.currentplayer->targetset[index] = PALDOWN(129); } - if (g_Vars.currentplayer->targetset[index] >= 175) { + if (g_Vars.currentplayer->targetset[index] >= (PAL ? 146 : 175)) { threat->prop = NULL; return false; } @@ -3480,13 +3484,21 @@ Gfx *coreRender(Gfx *gdl) } #endif +#if VERSION >= VERSION_PAL_FINAL +u32 var800840a4 = 0; +u32 var800840a8 = 100; +u32 var800840ac = 0; u32 g_CutsceneTime240_60 = 0; -u32 var800840a8 = PAL ? 100 : 0; -u32 var800840ac = 0x00000000; -u32 var800840b0 = 0x00000000; -u32 var800840b4 = 0x00000000; -u32 var800840b8 = 0x00000000; -u32 var800840bc = 0x00000000; +#else +u32 g_CutsceneTime240_60 = 0; +u32 var800840a8 = 0; +u32 var800840ac = 0; +u32 var800840b0 = 0; +#endif + +u32 var800840b4 = 0; +u32 var800840b8 = 0; +u32 var800840bc = 0; void coreUpdateSoloHandicaps(void) { @@ -3555,7 +3567,7 @@ void coreUpdateSoloHandicaps(void) var80062ca4 = 1; var80062ca8 = 1; var8007e4a8 = 1; - var80069880 = g_LanguageId ? 1.1f : 0.75f; + var80069880 = g_Jpn ? 1.1f : 0.75f; g_AmmoMultiplier = 1.5f; var80062cac = 0.5f; } else { @@ -3568,7 +3580,7 @@ void coreUpdateSoloHandicaps(void) var80062ca4 = 1.5f; var80062ca8 = 1; var8007e4a8 = 1.5f; - var80069880 = g_LanguageId ? 0.75f : 0.2f; + var80069880 = g_Jpn ? 0.75f : 0.2f; g_AmmoMultiplier = 1; var80062cac = 1; } @@ -3613,7 +3625,7 @@ void coreUpdateSoloHandicaps(void) var80062ca4 = 0.6f; var80062ca8 = 1; var8007e4a8 = 0.75f; - var80069880 = g_LanguageId ? 1.1f : 0.75f; + var80069880 = g_Jpn ? 1.1f : 0.75f; g_AmmoMultiplier = 1.5f; var80062cac = 0.5f; } else if (g_Difficulty == DIFF_PA) { @@ -3626,7 +3638,7 @@ void coreUpdateSoloHandicaps(void) var80062ca4 = 1; var80062ca8 = 1; var8007e4a8 = 1; - var80069880 = g_LanguageId ? 0.75f : 0.2f; + var80069880 = g_Jpn ? 0.75f : 0.2f; g_AmmoMultiplier = 1; var80062cac = 1; } else if (g_Difficulty == DIFF_PD) { @@ -3665,6 +3677,88 @@ void coreUpdateCutsceneTime(void) g_CutsceneTime240_60 = 0; } +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel coreGetSlowMotionType +/* f16b854: 27bdffd0 */ addiu $sp,$sp,-48 +/* f16b858: afbf0014 */ sw $ra,0x14($sp) +/* f16b85c: 3c04b000 */ lui $a0,0xb000 +/* f16b860: 0fc5ae00 */ jal sub54321 +/* f16b864: 3484de8d */ ori $a0,$a0,0x1d45 +/* f16b868: 3c041741 */ lui $a0,0x330 +/* f16b86c: afa2002c */ sw $v0,0x2c($sp) +/* f16b870: 0fc5ae00 */ jal sub54321 +/* f16b874: 3484d42a */ ori $a0,$a0,0xe225 +/* f16b878: afa20024 */ sw $v0,0x24($sp) +/* f16b87c: 8fa4002c */ lw $a0,0x2c($sp) +/* f16b880: 0c013994 */ jal osPiReadIo +/* f16b884: 27a50028 */ addiu $a1,$sp,0x28 +/* f16b888: 8fae0028 */ lw $t6,0x28($sp) +/* f16b88c: 8faf0024 */ lw $t7,0x24($sp) +/* f16b890: 3c058006 */ lui $a1,%hi(rspbootTextStart) +/* f16b894: 24a29fe0 */ addiu $v0,$a1,%lo(rspbootTextStart) +/* f16b898: 11cf000d */ beq $t6,$t7,.L0f16b8d0 +/* f16b89c: 3c09800a */ lui $t1,%hi(g_Vars+0x318) +/* f16b8a0: 3c188006 */ lui $t8,%hi(rspbootTextStart+0x1) +/* f16b8a4: 24431000 */ addiu $v1,$v0,0x1000 +/* f16b8a8: 27189fe1 */ addiu $t8,$t8,%lo(rspbootTextStart+0x1) +/* f16b8ac: 0078082b */ sltu $at,$v1,$t8 +/* f16b8b0: 14200007 */ bnez $at,.L0f16b8d0 +/* f16b8b4: 00000000 */ nop +.L0f16b8b8: +/* f16b8b8: 8c590000 */ lw $t9,0x0($v0) +/* f16b8bc: 24420004 */ addiu $v0,$v0,0x4 +/* f16b8c0: 0043082b */ sltu $at,$v0,$v1 +/* f16b8c4: 27280008 */ addiu $t0,$t9,0x8 +/* f16b8c8: 1420fffb */ bnez $at,.L0f16b8b8 +/* f16b8cc: ac48fffc */ sw $t0,-0x4($v0) +.L0f16b8d0: +/* f16b8d0: 8d29a2d8 */ lw $t1,%lo(g_Vars+0x318)($t1) +/* f16b8d4: 3c02800b */ lui $v0,%hi(g_MpSetup+0xc) +/* f16b8d8: 1120000b */ beqz $t1,.L0f16b908 +/* f16b8dc: 00000000 */ nop +/* f16b8e0: 8c42cb94 */ lw $v0,%lo(g_MpSetup+0xc)($v0) +/* f16b8e4: 304a0040 */ andi $t2,$v0,0x40 +/* f16b8e8: 11400003 */ beqz $t2,.L0f16b8f8 +/* f16b8ec: 304b0080 */ andi $t3,$v0,0x80 +/* f16b8f0: 1000001a */ b .L0f16b95c +/* f16b8f4: 24020001 */ addiu $v0,$zero,0x1 +.L0f16b8f8: +/* f16b8f8: 51600018 */ beqzl $t3,.L0f16b95c +/* f16b8fc: 00001025 */ or $v0,$zero,$zero +/* f16b900: 10000016 */ b .L0f16b95c +/* f16b904: 24020002 */ addiu $v0,$zero,0x2 +.L0f16b908: +/* f16b908: 0fc41b99 */ jal cheatIsActive +/* f16b90c: 24040006 */ addiu $a0,$zero,0x6 +/* f16b910: 10400003 */ beqz $v0,.L0f16b920 +/* f16b914: 00000000 */ nop +/* f16b918: 10000010 */ b .L0f16b95c +/* f16b91c: 24020001 */ addiu $v0,$zero,0x1 +.L0f16b920: +/* f16b920: 0fc47b9c */ jal debugGetSlowMotion +/* f16b924: 00000000 */ nop +/* f16b928: 24010001 */ addiu $at,$zero,0x1 +/* f16b92c: 14410003 */ bne $v0,$at,.L0f16b93c +/* f16b930: 00000000 */ nop +/* f16b934: 10000009 */ b .L0f16b95c +/* f16b938: 24020001 */ addiu $v0,$zero,0x1 +.L0f16b93c: +/* f16b93c: 0fc47b9c */ jal debugGetSlowMotion +/* f16b940: 00000000 */ nop +/* f16b944: 24010002 */ addiu $at,$zero,0x2 +/* f16b948: 54410004 */ bnel $v0,$at,.L0f16b95c +/* f16b94c: 00001025 */ or $v0,$zero,$zero +/* f16b950: 10000002 */ b .L0f16b95c +/* f16b954: 24020002 */ addiu $v0,$zero,0x2 +/* f16b958: 00001025 */ or $v0,$zero,$zero +.L0f16b95c: +/* f16b95c: 8fbf0014 */ lw $ra,0x14($sp) +/* f16b960: 27bd0030 */ addiu $sp,$sp,0x30 +/* f16b964: 03e00008 */ jr $ra +/* f16b968: 00000000 */ nop +); +#else GLOBAL_ASM( glabel coreGetSlowMotionType /* f16b854: 27bdffd0 */ addiu $sp,$sp,-48 @@ -3745,6 +3839,7 @@ glabel coreGetSlowMotionType /* f16b964: 03e00008 */ jr $ra /* f16b968: 00000000 */ nop ); +#endif // Can't match the antipiracy part //u32 coreGetSlowMotionType(void) @@ -5210,7 +5305,7 @@ void coreTick(void) g_Vars.lvframe60 += g_Vars.lvupdate240_60; g_Vars.lvframe240 += g_Vars.lvupdate240; g_Vars.lvupdate240frealprev = g_Vars.lvupdate240freal; - g_Vars.lvupdate240freal = FRAMESTOTIME60(g_Vars.lvupdate240f); + g_Vars.lvupdate240freal = PALUPF(g_Vars.lvupdate240f); speedpillTick(); hudmsgsTick(); diff --git a/src/game/credits.c b/src/game/credits.c index 598d337ae..ff1d6269f 100644 --- a/src/game/credits.c +++ b/src/game/credits.c @@ -266,7 +266,7 @@ Gfx *creditsRenderBackground(Gfx *gdl) s32 s2[4]; u32 stack; - f32 tmp = var800a416c / 1200.0f; + f32 tmp = var800a416c / (PAL ? 1000.0f : 1200.0f); f32 bestvalue; s32 bestindex; s32 len = 0; @@ -771,6 +771,353 @@ void func0f13870c(void) } } +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f13899c +.late_rodata +glabel var7f1b5810 +.word 0x3be56042 +glabel var7f1b5814 +.word 0x3b03126f +glabel var7f1b5818 +.word 0x3be56042 +glabel var7f1b581c +.word 0x453b8000 +glabel var7f1b5820 +.word 0x3c23d70a +glabel var7f1b5824 +.word 0x40c907a9 +.text +/* f13899c: 27bdffb8 */ addiu $sp,$sp,-72 +/* f1389a0: afb1003c */ sw $s1,0x3c($sp) +/* f1389a4: 3c11800a */ lui $s1,%hi(g_CreditsData) +/* f1389a8: 26314170 */ addiu $s1,$s1,%lo(g_CreditsData) +/* f1389ac: 8e230000 */ lw $v1,0x0($s1) +/* f1389b0: afbf0044 */ sw $ra,0x44($sp) +/* f1389b4: afb20040 */ sw $s2,0x40($sp) +/* f1389b8: afb00038 */ sw $s0,0x38($sp) +/* f1389bc: f7ba0030 */ sdc1 $f26,0x30($sp) +/* f1389c0: f7b80028 */ sdc1 $f24,0x28($sp) +/* f1389c4: f7b60020 */ sdc1 $f22,0x20($sp) +/* f1389c8: f7b40018 */ sdc1 $f20,0x18($sp) +/* f1389cc: 806e41f5 */ lb $t6,0x41f5($v1) +/* f1389d0: 05c00019 */ bltz $t6,.L0f138a38 +/* f1389d4: 3c01800a */ lui $at,%hi(g_Vars+0x5c) +/* f1389d8: c424a008 */ lwc1 $f4,%lo(g_Vars+0x5c)($at) +/* f1389dc: 3c014434 */ lui $at,0x4434 +/* f1389e0: 44813000 */ mtc1 $at,$f6 +/* f1389e4: c46a41f8 */ lwc1 $f10,0x41f8($v1) +/* f1389e8: 3c013f80 */ lui $at,0x3f80 +/* f1389ec: 46062203 */ div.s $f8,$f4,$f6 +/* f1389f0: 44819000 */ mtc1 $at,$f18 +/* f1389f4: 3c012f80 */ lui $at,0x2f80 +/* f1389f8: 4481d000 */ mtc1 $at,$f26 +/* f1389fc: 46085400 */ add.s $f16,$f10,$f8 +/* f138a00: e47041f8 */ swc1 $f16,0x41f8($v1) +/* f138a04: 8e230000 */ lw $v1,0x0($s1) +/* f138a08: c46441f8 */ lwc1 $f4,0x41f8($v1) +/* f138a0c: 4604903c */ c.lt.s $f18,$f4 +/* f138a10: 00000000 */ nop +/* f138a14: 45000006 */ bc1f .L0f138a30 +/* f138a18: 00000000 */ nop +/* f138a1c: 806f41f5 */ lb $t7,0x41f5($v1) +/* f138a20: 2418ffff */ addiu $t8,$zero,-1 +/* f138a24: a06f41f6 */ sb $t7,0x41f6($v1) +/* f138a28: 8e390000 */ lw $t9,0x0($s1) +/* f138a2c: a33841f5 */ sb $t8,0x41f5($t9) +.L0f138a30: +/* f138a30: 10000020 */ b .L0f138ab4 +/* f138a34: 00000000 */ nop +.L0f138a38: +/* f138a38: 0c004b70 */ jal random +/* f138a3c: 00000000 */ nop +/* f138a40: 44823000 */ mtc1 $v0,$f6 +/* f138a44: 3c012f80 */ lui $at,0x2f80 +/* f138a48: 4481d000 */ mtc1 $at,$f26 +/* f138a4c: 04410005 */ bgez $v0,.L0f138a64 +/* f138a50: 468032a0 */ cvt.s.w $f10,$f6 +/* f138a54: 3c014f80 */ lui $at,0x4f80 +/* f138a58: 44814000 */ mtc1 $at,$f8 +/* f138a5c: 00000000 */ nop +/* f138a60: 46085280 */ add.s $f10,$f10,$f8 +.L0f138a64: +/* f138a64: 461a5402 */ mul.s $f16,$f10,$f26 +/* f138a68: 3c017f1b */ lui $at,%hi(var7f1b5810) +/* f138a6c: c4325810 */ lwc1 $f18,%lo(var7f1b5810)($at) +/* f138a70: 00002025 */ or $a0,$zero,$zero +/* f138a74: 4612803c */ c.lt.s $f16,$f18 +/* f138a78: 00000000 */ nop +/* f138a7c: 4500000d */ bc1f .L0f138ab4 +/* f138a80: 00000000 */ nop +/* f138a84: 0c0053d8 */ jal contGetButtons +/* f138a88: 24050030 */ addiu $a1,$zero,0x30 +/* f138a8c: 14400009 */ bnez $v0,.L0f138ab4 +/* f138a90: 00000000 */ nop +/* f138a94: 0c004b70 */ jal random +/* f138a98: 00000000 */ nop +/* f138a9c: 8e290000 */ lw $t1,0x0($s1) +/* f138aa0: 30480003 */ andi $t0,$v0,0x3 +/* f138aa4: 44802000 */ mtc1 $zero,$f4 +/* f138aa8: a12841f5 */ sb $t0,0x41f5($t1) +/* f138aac: 8e2a0000 */ lw $t2,0x0($s1) +/* f138ab0: e54441f8 */ swc1 $f4,0x41f8($t2) +.L0f138ab4: +/* f138ab4: 0c004b70 */ jal random +/* f138ab8: 00000000 */ nop +/* f138abc: 44823000 */ mtc1 $v0,$f6 +/* f138ac0: 3c014f80 */ lui $at,0x4f80 +/* f138ac4: 04410004 */ bgez $v0,.L0f138ad8 +/* f138ac8: 46803220 */ cvt.s.w $f8,$f6 +/* f138acc: 44815000 */ mtc1 $at,$f10 +/* f138ad0: 00000000 */ nop +/* f138ad4: 460a4200 */ add.s $f8,$f8,$f10 +.L0f138ad8: +/* f138ad8: 461a4402 */ mul.s $f16,$f8,$f26 +/* f138adc: 3c017f1b */ lui $at,%hi(var7f1b5814) +/* f138ae0: c4325814 */ lwc1 $f18,%lo(var7f1b5814)($at) +/* f138ae4: 00002025 */ or $a0,$zero,$zero +/* f138ae8: 4612803c */ c.lt.s $f16,$f18 +/* f138aec: 00000000 */ nop +/* f138af0: 4502000e */ bc1fl .L0f138b2c +/* f138af4: 00002025 */ or $a0,$zero,$zero +/* f138af8: 0c0053d8 */ jal contGetButtons +/* f138afc: 24050030 */ addiu $a1,$zero,0x30 +/* f138b00: 5440000a */ bnezl $v0,.L0f138b2c +/* f138b04: 00002025 */ or $a0,$zero,$zero +/* f138b08: 0c004b70 */ jal random +/* f138b0c: 00000000 */ nop +/* f138b10: 24010005 */ addiu $at,$zero,0x5 +/* f138b14: 0041001b */ divu $zero,$v0,$at +/* f138b18: 8e2c0000 */ lw $t4,0x0($s1) +/* f138b1c: 00005810 */ mfhi $t3 +/* f138b20: a18b41fc */ sb $t3,0x41fc($t4) +/* f138b24: 00000000 */ nop +/* f138b28: 00002025 */ or $a0,$zero,$zero +.L0f138b2c: +/* f138b2c: 0c005408 */ jal contGetButtonsPressedThisFrame +/* f138b30: 24050010 */ addiu $a1,$zero,0x10 +/* f138b34: 10400014 */ beqz $v0,.L0f138b88 +/* f138b38: 00000000 */ nop +/* f138b3c: 0c004b70 */ jal random +/* f138b40: 00000000 */ nop +/* f138b44: 24010005 */ addiu $at,$zero,0x5 +/* f138b48: 0041001b */ divu $zero,$v0,$at +/* f138b4c: 8e2e0000 */ lw $t6,0x0($s1) +/* f138b50: 00006810 */ mfhi $t5 +/* f138b54: a1cd41fc */ sb $t5,0x41fc($t6) +/* f138b58: 8e2f0000 */ lw $t7,0x0($s1) +/* f138b5c: 81f841f5 */ lb $t8,0x41f5($t7) +/* f138b60: 07010009 */ bgez $t8,.L0f138b88 +/* f138b64: 00000000 */ nop +/* f138b68: 0c004b70 */ jal random +/* f138b6c: 00000000 */ nop +/* f138b70: 8e280000 */ lw $t0,0x0($s1) +/* f138b74: 30590003 */ andi $t9,$v0,0x3 +/* f138b78: 44802000 */ mtc1 $zero,$f4 +/* f138b7c: a11941f5 */ sb $t9,0x41f5($t0) +/* f138b80: 8e290000 */ lw $t1,0x0($s1) +/* f138b84: e52441f8 */ swc1 $f4,0x41f8($t1) +.L0f138b88: +/* f138b88: 0c004b70 */ jal random +/* f138b8c: 00000000 */ nop +/* f138b90: 44823000 */ mtc1 $v0,$f6 +/* f138b94: 3c014f80 */ lui $at,0x4f80 +/* f138b98: 04410004 */ bgez $v0,.L0f138bac +/* f138b9c: 468032a0 */ cvt.s.w $f10,$f6 +/* f138ba0: 44814000 */ mtc1 $at,$f8 +/* f138ba4: 00000000 */ nop +/* f138ba8: 46085280 */ add.s $f10,$f10,$f8 +.L0f138bac: +/* f138bac: 461a5402 */ mul.s $f16,$f10,$f26 +/* f138bb0: 3c017f1b */ lui $at,%hi(var7f1b5818) +/* f138bb4: c4325818 */ lwc1 $f18,%lo(var7f1b5818)($at) +/* f138bb8: 4612803c */ c.lt.s $f16,$f18 +/* f138bbc: 00000000 */ nop +/* f138bc0: 4502000b */ bc1fl .L0f138bf0 +/* f138bc4: 3c0141f0 */ lui $at,0x41f0 +/* f138bc8: 0c004b70 */ jal random +/* f138bcc: 00000000 */ nop +/* f138bd0: 8e2b0000 */ lw $t3,0x0($s1) +/* f138bd4: 304a0001 */ andi $t2,$v0,0x1 +/* f138bd8: 0c004b70 */ jal random +/* f138bdc: a16a41fd */ sb $t2,0x41fd($t3) +/* f138be0: 8e2d0000 */ lw $t5,0x0($s1) +/* f138be4: 304c0001 */ andi $t4,$v0,0x1 +/* f138be8: a1ac41fe */ sb $t4,0x41fe($t5) +/* f138bec: 3c0141f0 */ lui $at,0x41f0 +.L0f138bf0: +/* f138bf0: 4481c000 */ mtc1 $at,$f24 +/* f138bf4: 3c017f1b */ lui $at,%hi(var7f1b581c) +/* f138bf8: c436581c */ lwc1 $f22,%lo(var7f1b581c)($at) +/* f138bfc: 00009025 */ or $s2,$zero,$zero +/* f138c00: 00008025 */ or $s0,$zero,$zero +.L0f138c04: +/* f138c04: 324e0007 */ andi $t6,$s2,0x7 +/* f138c08: 25cf0001 */ addiu $t7,$t6,0x1 +/* f138c0c: 448f2000 */ mtc1 $t7,$f4 +/* f138c10: 3c017f1b */ lui $at,%hi(var7f1b5820) +/* f138c14: c4285820 */ lwc1 $f8,%lo(var7f1b5820)($at) +/* f138c18: 468021a0 */ cvt.s.w $f6,$f4 +/* f138c1c: 8e380000 */ lw $t8,0x0($s1) +/* f138c20: 32590008 */ andi $t9,$s2,0x8 +/* f138c24: 03101021 */ addu $v0,$t8,$s0 +/* f138c28: 46083082 */ mul.s $f2,$f6,$f8 +/* f138c2c: 17200002 */ bnez $t9,.L0f138c38 +/* f138c30: 46001006 */ mov.s $f0,$f2 +/* f138c34: 46001007 */ neg.s $f0,$f2 +.L0f138c38: +/* f138c38: c44a0018 */ lwc1 $f10,0x18($v0) +/* f138c3c: 3c01800a */ lui $at,%hi(g_Vars+0x5c) +/* f138c40: 46005400 */ add.s $f16,$f10,$f0 +/* f138c44: e4500018 */ swc1 $f16,0x18($v0) +/* f138c48: c432a008 */ lwc1 $f18,%lo(g_Vars+0x5c)($at) +/* f138c4c: 3c013e80 */ lui $at,0x3e80 +/* f138c50: 44813000 */ mtc1 $at,$f6 +/* f138c54: 46189102 */ mul.s $f4,$f18,$f24 +/* f138c58: 8e280000 */ lw $t0,0x0($s1) +/* f138c5c: 44808000 */ mtc1 $zero,$f16 +/* f138c60: 01101021 */ addu $v0,$t0,$s0 +/* f138c64: c4480014 */ lwc1 $f8,0x14($v0) +/* f138c68: 46062002 */ mul.s $f0,$f4,$f6 +/* f138c6c: 46004280 */ add.s $f10,$f8,$f0 +/* f138c70: e44a0014 */ swc1 $f10,0x14($v0) +/* f138c74: 8e290000 */ lw $t1,0x0($s1) +/* f138c78: 01305021 */ addu $t2,$t1,$s0 +/* f138c7c: c5520014 */ lwc1 $f18,0x14($t2) +/* f138c80: 4612803c */ c.lt.s $f16,$f18 +/* f138c84: 00000000 */ nop +/* f138c88: 4502006b */ bc1fl .L0f138e38 +/* f138c8c: 26520001 */ addiu $s2,$s2,0x1 +/* f138c90: 0c004b70 */ jal random +/* f138c94: 00000000 */ nop +/* f138c98: 44822000 */ mtc1 $v0,$f4 +/* f138c9c: 3c014f80 */ lui $at,0x4f80 +/* f138ca0: 04410004 */ bgez $v0,.L0f138cb4 +/* f138ca4: 468021a0 */ cvt.s.w $f6,$f4 +/* f138ca8: 44814000 */ mtc1 $at,$f8 +/* f138cac: 00000000 */ nop +/* f138cb0: 46083180 */ add.s $f6,$f6,$f8 +.L0f138cb4: +/* f138cb4: 461a3502 */ mul.s $f20,$f6,$f26 +/* f138cb8: 8e2b0000 */ lw $t3,0x0($s1) +/* f138cbc: 01706021 */ addu $t4,$t3,$s0 +/* f138cc0: 4614a280 */ add.s $f10,$f20,$f20 +/* f138cc4: 46165402 */ mul.s $f16,$f10,$f22 +/* f138cc8: 46168481 */ sub.s $f18,$f16,$f22 +/* f138ccc: 0c004b70 */ jal random +/* f138cd0: e592000c */ swc1 $f18,0xc($t4) +/* f138cd4: 44822000 */ mtc1 $v0,$f4 +/* f138cd8: 3c014f80 */ lui $at,0x4f80 +/* f138cdc: 04410004 */ bgez $v0,.L0f138cf0 +/* f138ce0: 46802220 */ cvt.s.w $f8,$f4 +/* f138ce4: 44813000 */ mtc1 $at,$f6 +/* f138ce8: 00000000 */ nop +/* f138cec: 46064200 */ add.s $f8,$f8,$f6 +.L0f138cf0: +/* f138cf0: 461a4502 */ mul.s $f20,$f8,$f26 +/* f138cf4: 8e2d0000 */ lw $t5,0x0($s1) +/* f138cf8: 01b07021 */ addu $t6,$t5,$s0 +/* f138cfc: 4614a280 */ add.s $f10,$f20,$f20 +/* f138d00: 46165402 */ mul.s $f16,$f10,$f22 +/* f138d04: 46168481 */ sub.s $f18,$f16,$f22 +/* f138d08: 0c004b70 */ jal random +/* f138d0c: e5d20010 */ swc1 $f18,0x10($t6) +/* f138d10: 8e380000 */ lw $t8,0x0($s1) +/* f138d14: 304f0003 */ andi $t7,$v0,0x3 +/* f138d18: 0310c821 */ addu $t9,$t8,$s0 +/* f138d1c: 0c004b70 */ jal random +/* f138d20: a32f001e */ sb $t7,0x1e($t9) +/* f138d24: 8e290000 */ lw $t1,0x0($s1) +/* f138d28: 30480003 */ andi $t0,$v0,0x3 +/* f138d2c: 01305021 */ addu $t2,$t1,$s0 +/* f138d30: 0c004b70 */ jal random +/* f138d34: a1480020 */ sb $t0,0x20($t2) +/* f138d38: 44822000 */ mtc1 $v0,$f4 +/* f138d3c: 3c014f80 */ lui $at,0x4f80 +/* f138d40: 04410004 */ bgez $v0,.L0f138d54 +/* f138d44: 468021a0 */ cvt.s.w $f6,$f4 +/* f138d48: 44814000 */ mtc1 $at,$f8 +/* f138d4c: 00000000 */ nop +/* f138d50: 46083180 */ add.s $f6,$f6,$f8 +.L0f138d54: +/* f138d54: 461a3282 */ mul.s $f10,$f6,$f26 +/* f138d58: 3c017f1b */ lui $at,%hi(var7f1b5824) +/* f138d5c: c4305824 */ lwc1 $f16,%lo(var7f1b5824)($at) +/* f138d60: 8e2b0000 */ lw $t3,0x0($s1) +/* f138d64: 01706021 */ addu $t4,$t3,$s0 +/* f138d68: 46105482 */ mul.s $f18,$f10,$f16 +/* f138d6c: e5920018 */ swc1 $f18,0x18($t4) +/* f138d70: 8e230000 */ lw $v1,0x0($s1) +/* f138d74: 90644200 */ lbu $a0,0x4200($v1) +/* f138d78: 906d41ff */ lbu $t5,0x41ff($v1) +/* f138d7c: 00704021 */ addu $t0,$v1,$s0 +/* f138d80: 008d082a */ slt $at,$a0,$t5 +/* f138d84: 50200012 */ beqzl $at,.L0f138dd0 +/* f138d88: a104001f */ sb $a0,0x1f($t0) +/* f138d8c: 0c004b70 */ jal random +/* f138d90: 00000000 */ nop +/* f138d94: 8e230000 */ lw $v1,0x0($s1) +/* f138d98: 90644200 */ lbu $a0,0x4200($v1) +/* f138d9c: 906e41ff */ lbu $t6,0x41ff($v1) +/* f138da0: 00704821 */ addu $t1,$v1,$s0 +/* f138da4: 01c4c023 */ subu $t8,$t6,$a0 +/* f138da8: 0058001b */ divu $zero,$v0,$t8 +/* f138dac: 00007810 */ mfhi $t7 +/* f138db0: 01e4c821 */ addu $t9,$t7,$a0 +/* f138db4: 17000002 */ bnez $t8,.L0f138dc0 +/* f138db8: 00000000 */ nop +/* f138dbc: 0007000d */ break 0x7 +.L0f138dc0: +/* f138dc0: a139001f */ sb $t9,0x1f($t1) +/* f138dc4: 10000003 */ b .L0f138dd4 +/* f138dc8: 8e230000 */ lw $v1,0x0($s1) +/* f138dcc: a104001f */ sb $a0,0x1f($t0) +.L0f138dd0: +/* f138dd0: 8e230000 */ lw $v1,0x0($s1) +.L0f138dd4: +/* f138dd4: 906a41fc */ lbu $t2,0x41fc($v1) +/* f138dd8: 00705821 */ addu $t3,$v1,$s0 +/* f138ddc: 0c004b70 */ jal random +/* f138de0: a16a001c */ sb $t2,0x1c($t3) +/* f138de4: 304c0001 */ andi $t4,$v0,0x1 +/* f138de8: 24010001 */ addiu $at,$zero,0x1 +/* f138dec: 55810007 */ bnel $t4,$at,.L0f138e0c +/* f138df0: 8e230000 */ lw $v1,0x0($s1) +/* f138df4: 8e230000 */ lw $v1,0x0($s1) +/* f138df8: 906d41fd */ lbu $t5,0x41fd($v1) +/* f138dfc: 00707021 */ addu $t6,$v1,$s0 +/* f138e00: 10000005 */ b .L0f138e18 +/* f138e04: a1cd001d */ sb $t5,0x1d($t6) +/* f138e08: 8e230000 */ lw $v1,0x0($s1) +.L0f138e0c: +/* f138e0c: 907841fe */ lbu $t8,0x41fe($v1) +/* f138e10: 00707821 */ addu $t7,$v1,$s0 +/* f138e14: a1f8001d */ sb $t8,0x1d($t7) +.L0f138e18: +/* f138e18: 8e390000 */ lw $t9,0x0($s1) +/* f138e1c: 3c01c5fa */ lui $at,0xc5fa +/* f138e20: 44814000 */ mtc1 $at,$f8 +/* f138e24: 03301021 */ addu $v0,$t9,$s0 +/* f138e28: c4440014 */ lwc1 $f4,0x14($v0) +/* f138e2c: 46082180 */ add.s $f6,$f4,$f8 +/* f138e30: e4460014 */ swc1 $f6,0x14($v0) +/* f138e34: 26520001 */ addiu $s2,$s2,0x1 +.L0f138e38: +/* f138e38: 240101f4 */ addiu $at,$zero,0x1f4 +/* f138e3c: 1641ff71 */ bne $s2,$at,.L0f138c04 +/* f138e40: 26100018 */ addiu $s0,$s0,0x18 +/* f138e44: 8fbf0044 */ lw $ra,0x44($sp) +/* f138e48: d7b40018 */ ldc1 $f20,0x18($sp) +/* f138e4c: d7b60020 */ ldc1 $f22,0x20($sp) +/* f138e50: d7b80028 */ ldc1 $f24,0x28($sp) +/* f138e54: d7ba0030 */ ldc1 $f26,0x30($sp) +/* f138e58: 8fb00038 */ lw $s0,0x38($sp) +/* f138e5c: 8fb1003c */ lw $s1,0x3c($sp) +/* f138e60: 8fb20040 */ lw $s2,0x40($sp) +/* f138e64: 03e00008 */ jr $ra +/* f138e68: 27bd0048 */ addiu $sp,$sp,0x48 +); +#else GLOBAL_ASM( glabel func0f13899c .late_rodata @@ -1116,6 +1463,7 @@ glabel var7f1b5824 /* f138e64: 03e00008 */ jr $ra /* f138e68: 27bd0048 */ addiu $sp,$sp,0x48 ); +#endif // Mismatch: 30.0f should be loaded earlier and needs to go into a callee-save // register. @@ -2484,7 +2832,11 @@ void creditsTickSlide(void) f32 seconds; g_CreditsData->slidelifetime = durations[credit->durationindex] + 1.0f; +#if VERSION >= VERSION_PAL_FINAL + seconds = g_Vars.diffframe240freal / 240.0f; +#else seconds = g_Vars.diffframe240f / 240.0f; +#endif g_CreditsData->slideage += seconds; if (g_CreditsData->slideage > loadat) { @@ -4172,7 +4524,7 @@ void creditsTick(void) var800a4168 = var800a4164; var800a4164 += g_Vars.diffframe240; var800a416c += g_Vars.diffframe240; - var800a4160 = (var800a416c % 4800) / 4800.0f; + var800a4160 = (var800a416c % PALDOWN(4800)) / PALDOWN(4800.0f); func0f13899c(); @@ -4182,7 +4534,7 @@ void creditsTick(void) creditsCreatePendingBgLayers(0xffffffff); } - if (!g_CreditsData->slidesenabled && g_CreditsData->unk4204 < 1360) { + if (!g_CreditsData->slidesenabled && g_CreditsData->unk4204 < (PAL ? 1150 : 1360)) { g_CreditsData->unk4204 += g_Vars.diffframe60; } } @@ -4968,7 +5320,7 @@ void creditsInit(void) g_CreditsAltTitleRequested = false; g_CreditsData->slidesenabled = false; - g_CreditsData->unk4204 = SECSTOTIME60(19); + g_CreditsData->unk4204 = PALDOWN(1140); } currentPlayerConfigureVi(); diff --git a/src/game/explosions/explosions.c b/src/game/explosions/explosions.c index 4db9b3bfe..e5fb4da33 100644 --- a/src/game/explosions/explosions.c +++ b/src/game/explosions/explosions.c @@ -148,11 +148,11 @@ bool explosionCreateComplex(struct prop *prop, struct coord *pos, s16 *rooms, s1 f32 explosionGetHorizontalRangeAtFrame(struct explosion *exp, s32 frame) { struct explosiontype *type = &g_ExplosionTypes[exp->type]; - f32 changerate = FRAMESTOTIME60(type->changerateh); + f32 changerate = PALUPF(type->changerateh); f32 result; - if (exp->type == EXPLOSIONTYPE_14 && frame > TIME60TOFRAMES(32)) { - result = frame * FRAMESTOTIME60(3.0f) + 40.0f; + if (exp->type == EXPLOSIONTYPE_14 && frame > PALDOWN(32)) { + result = frame * PALUPF(3.0f) + 40.0f; if (result > 300) { result = 300; @@ -167,10 +167,10 @@ f32 explosionGetHorizontalRangeAtFrame(struct explosion *exp, s32 frame) f32 explosionGetVerticalRangeAtFrame(struct explosion *exp, s32 frame) { struct explosiontype *type = &g_ExplosionTypes[exp->type]; - f32 changerate = FRAMESTOTIME60(type->changeratev); + f32 changerate = PALUPF(type->changeratev); f32 result; - if (exp->type == EXPLOSIONTYPE_14 && frame > TIME60TOFRAMES(32)) { + if (exp->type == EXPLOSIONTYPE_14 && frame > PALDOWN(32)) { result = 20; } else { result = type->rangev + changerate * frame; @@ -4483,7 +4483,7 @@ Gfx *explosionRender(struct prop *prop, Gfx *gdl, bool withalpha) gSPMatrix(gdl++, osVirtualToPhysical(currentPlayerGetUnk1750()), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); #if PAL - tmp = (g_ExplosionTypes[exp->type].flarespeed * 0.83333331346512f) * 15.0f; + tmp = (g_ExplosionTypes[exp->type].flarespeed * 15.0f) * 0.83333331346512f; #else tmp = g_ExplosionTypes[exp->type].flarespeed * 15.0f; #endif diff --git a/src/game/game_000000.c b/src/game/game_000000.c index aa7f91a32..b14191f2c 100644 --- a/src/game/game_000000.c +++ b/src/game/game_000000.c @@ -9,7 +9,7 @@ void func0f000000(void) { s32 i; - if (g_LanguageId != LANGUAGE_NTSC_EN) { + if (g_Jpn) { var800aabb4 = malloc(0x2e80, MEMPOOL_PERMANENT); var800aabb8 = malloc(0x100, MEMPOOL_PERMANENT); diff --git a/src/game/game_006900.c b/src/game/game_006900.c index 38d1f6761..edb4885de 100644 --- a/src/game/game_006900.c +++ b/src/game/game_006900.c @@ -32,13 +32,21 @@ u32 colourBlend(u32 a, u32 b, u32 aweight) void func0f0069dc(void) { +#if VERSION >= VERSION_PAL_FINAL + var80061630 = var80061630 + g_Vars.diffframe240freal / 4800.0f; +#else var80061630 = var80061630 + g_Vars.diffframe240f / 4800.0f; +#endif if (var80061630 > 1.0f) { var80061630 -= 1.0f; } +#if VERSION >= VERSION_PAL_FINAL + var80061634 = var80061634 + g_Vars.lvupdate240freal / 4800.0f; +#else var80061634 = var80061634 + g_Vars.lvupdate240f / 4800.0f; +#endif if (var80061634 > 1.0f) { var80061634 -= 1.0f; diff --git a/src/game/game_00c490.c b/src/game/game_00c490.c index cafa5beda..3dbd0beb3 100644 --- a/src/game/game_00c490.c +++ b/src/game/game_00c490.c @@ -2376,6 +2376,142 @@ void setupHov(struct defaultobj *obj, struct hov *hov) hov->unk3c = -1; } +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f00e980 +/* f00e980: 27bdffc8 */ addiu $sp,$sp,-56 +/* f00e984: afb5002c */ sw $s5,0x2c($sp) +/* f00e988: afb30024 */ sw $s3,0x24($sp) +/* f00e98c: afb20020 */ sw $s2,0x20($sp) +/* f00e990: afb1001c */ sw $s1,0x1c($sp) +/* f00e994: 2881005a */ slti $at,$a0,0x5a +/* f00e998: 00e08825 */ or $s1,$a3,$zero +/* f00e99c: 00a09025 */ or $s2,$a1,$zero +/* f00e9a0: 00809825 */ or $s3,$a0,$zero +/* f00e9a4: 00c0a825 */ or $s5,$a2,$zero +/* f00e9a8: afbf0034 */ sw $ra,0x34($sp) +/* f00e9ac: afb60030 */ sw $s6,0x30($sp) +/* f00e9b0: afb40028 */ sw $s4,0x28($sp) +/* f00e9b4: 10200061 */ beqz $at,.L0f00eb3c +/* f00e9b8: afb00018 */ sw $s0,0x18($sp) +/* f00e9bc: 0fc59585 */ jal stageGetIndex +/* f00e9c0: 00000000 */ nop +/* f00e9c4: 04410002 */ bgez $v0,.L0f00e9d0 +/* f00e9c8: 00401825 */ or $v1,$v0,$zero +/* f00e9cc: 00001825 */ or $v1,$zero,$zero +.L0f00e9d0: +/* f00e9d0: 000370c0 */ sll $t6,$v1,0x3 +/* f00e9d4: 01c37023 */ subu $t6,$t6,$v1 +/* f00e9d8: 000e70c0 */ sll $t6,$t6,0x3 +/* f00e9dc: 3c028008 */ lui $v0,%hi(g_Stages+0xe) +/* f00e9e0: 004e1021 */ addu $v0,$v0,$t6 +/* f00e9e4: 9444fcce */ lhu $a0,%lo(g_Stages+0xe)($v0) +/* f00e9e8: 240f0003 */ addiu $t7,$zero,0x3 +/* f00e9ec: 3c018006 */ lui $at,%hi(g_LoadType) +/* f00e9f0: a02fd9a0 */ sb $t7,%lo(g_LoadType)($at) +/* f00e9f4: 24050022 */ addiu $a1,$zero,0x22 +/* f00e9f8: 02403025 */ or $a2,$s2,$zero +/* f00e9fc: 02a03825 */ or $a3,$s5,$zero +/* f00ea00: 0fc59c80 */ jal func0f167200 +/* f00ea04: 00808025 */ or $s0,$a0,$zero +/* f00ea08: 0fc59ca0 */ jal fileGetSize +/* f00ea0c: 02002025 */ or $a0,$s0,$zero +/* f00ea10: 02428021 */ addu $s0,$s2,$v0 +/* f00ea14: 02a2a023 */ subu $s4,$s5,$v0 +/* f00ea18: 0fc5b878 */ jal langGetLangBankIndexFromStagenum +/* f00ea1c: 02602025 */ or $a0,$s3,$zero +/* f00ea20: a622001a */ sh $v0,0x1a($s1) +/* f00ea24: 3044ffff */ andi $a0,$v0,0xffff +/* f00ea28: 02002825 */ or $a1,$s0,$zero +/* f00ea2c: 0fc5b9d9 */ jal langSetBank +/* f00ea30: 02803025 */ or $a2,$s4,$zero +/* f00ea34: 8e580010 */ lw $t8,0x10($s2) +/* f00ea38: 02589821 */ addu $s3,$s2,$t8 +/* f00ea3c: 52600040 */ beqzl $s3,.L0f00eb40 +/* f00ea40: 8fbf0034 */ lw $ra,0x34($sp) +/* f00ea44: 0fc5b367 */ jal coreGetDifficulty +/* f00ea48: 24160001 */ addiu $s6,$zero,0x1 +/* f00ea4c: 14400002 */ bnez $v0,.L0f00ea58 +/* f00ea50: 00000000 */ nop +/* f00ea54: 24160003 */ addiu $s6,$zero,0x3 +.L0f00ea58: +/* f00ea58: 0fc5b367 */ jal coreGetDifficulty +/* f00ea5c: 00000000 */ nop +/* f00ea60: 24010001 */ addiu $at,$zero,0x1 +/* f00ea64: 14410002 */ bne $v0,$at,.L0f00ea70 +/* f00ea68: 02201825 */ or $v1,$s1,$zero +/* f00ea6c: 24160002 */ addiu $s6,$zero,0x2 +.L0f00ea70: +/* f00ea70: 00001025 */ or $v0,$zero,$zero +.L0f00ea74: +/* f00ea74: 24420001 */ addiu $v0,$v0,0x1 +/* f00ea78: 28410006 */ slti $at,$v0,0x6 +/* f00ea7c: 24630002 */ addiu $v1,$v1,0x2 +/* f00ea80: 1420fffc */ bnez $at,.L0f00ea74 +/* f00ea84: a4600000 */ sh $zero,0x0($v1) +/* f00ea88: 2419582a */ addiu $t9,$zero,0x5801 +/* f00ea8c: a6390000 */ sh $t9,0x0($s1) +/* f00ea90: 92680003 */ lbu $t0,0x3($s3) +/* f00ea94: 24120034 */ addiu $s2,$zero,0x34 +/* f00ea98: 02608025 */ or $s0,$s3,$zero +/* f00ea9c: 12480027 */ beq $s2,$t0,.L0f00eb3c +/* f00eaa0: 310300ff */ andi $v1,$t0,0xff +/* f00eaa4: 24150001 */ addiu $s5,$zero,0x1 +/* f00eaa8: 24140023 */ addiu $s4,$zero,0x23 +/* f00eaac: 24130017 */ addiu $s3,$zero,0x17 +.L0f00eab0: +/* f00eab0: 5073000f */ beql $v1,$s3,.L0f00eaf0 +/* f00eab4: 8e020004 */ lw $v0,0x4($s0) +/* f00eab8: 14740019 */ bne $v1,$s4,.L0f00eb20 +/* f00eabc: 00000000 */ nop +/* f00eac0: 8e020004 */ lw $v0,0x4($s0) +/* f00eac4: 16a20004 */ bne $s5,$v0,.L0f00ead8 +/* f00eac8: 00000000 */ nop +/* f00eacc: 8e090008 */ lw $t1,0x8($s0) +/* f00ead0: a6290000 */ sh $t1,0x0($s1) +/* f00ead4: 8e020004 */ lw $v0,0x4($s0) +.L0f00ead8: +/* f00ead8: 16c20011 */ bne $s6,$v0,.L0f00eb20 +/* f00eadc: 00000000 */ nop +/* f00eae0: 8e0a0008 */ lw $t2,0x8($s0) +/* f00eae4: 1000000e */ b .L0f00eb20 +/* f00eae8: a62a0000 */ sh $t2,0x0($s1) +/* f00eaec: 8e020004 */ lw $v0,0x4($s0) +.L0f00eaf0: +/* f00eaf0: 2c410007 */ sltiu $at,$v0,0x7 +/* f00eaf4: 1020000a */ beqz $at,.L0f00eb20 +/* f00eaf8: 00000000 */ nop +/* f00eafc: 8e0b0008 */ lw $t3,0x8($s0) +/* f00eb00: 00026040 */ sll $t4,$v0,0x1 +/* f00eb04: 022c6821 */ addu $t5,$s1,$t4 +/* f00eb08: a5ab0002 */ sh $t3,0x2($t5) +/* f00eb0c: 8e0f0004 */ lw $t7,0x4($s0) +/* f00eb10: 820e000f */ lb $t6,0xf($s0) +/* f00eb14: 000fc040 */ sll $t8,$t7,0x1 +/* f00eb18: 0238c821 */ addu $t9,$s1,$t8 +/* f00eb1c: a72e000e */ sh $t6,0xe($t9) +.L0f00eb20: +/* f00eb20: 0fc24784 */ jal setupGetCommandLength +/* f00eb24: 02002025 */ or $a0,$s0,$zero +/* f00eb28: 00024080 */ sll $t0,$v0,0x2 +/* f00eb2c: 01108021 */ addu $s0,$t0,$s0 +/* f00eb30: 92030003 */ lbu $v1,0x3($s0) +/* f00eb34: 1643ffde */ bne $s2,$v1,.L0f00eab0 +/* f00eb38: 00000000 */ nop +.L0f00eb3c: +/* f00eb3c: 8fbf0034 */ lw $ra,0x34($sp) +.L0f00eb40: +/* f00eb40: 8fb00018 */ lw $s0,0x18($sp) +/* f00eb44: 8fb1001c */ lw $s1,0x1c($sp) +/* f00eb48: 8fb20020 */ lw $s2,0x20($sp) +/* f00eb4c: 8fb30024 */ lw $s3,0x24($sp) +/* f00eb50: 8fb40028 */ lw $s4,0x28($sp) +/* f00eb54: 8fb5002c */ lw $s5,0x2c($sp) +/* f00eb58: 8fb60030 */ lw $s6,0x30($sp) +/* f00eb5c: 03e00008 */ jr $ra +/* f00eb60: 27bd0038 */ addiu $sp,$sp,0x38 +); +#else GLOBAL_ASM( glabel func0f00e980 /* f00e980: 27bdffc8 */ addiu $sp,$sp,-56 @@ -2510,6 +2646,7 @@ glabel func0f00e980 /* f00eb5c: 03e00008 */ jr $ra /* f00eb60: 27bd0038 */ addiu $sp,$sp,0x38 ); +#endif void setupLoadFiles(s32 stagenum) { @@ -2825,7 +2962,7 @@ void setupParseObjects(s32 stagenum) break; case OBJTYPE_SHIELD: if (withobjs) { - if ((obj->flags2 & diffflag) == 0 || g_LanguageId != LANGUAGE_NTSC_EN) { + if ((obj->flags2 & diffflag) == 0 || g_Jpn) { struct shieldobj *shield = (struct shieldobj *)obj; shield->initialamount = *(s32 *)&shield->initialamount / 65536.0f; shield->amount = shield->initialamount; @@ -2852,8 +2989,8 @@ void setupParseObjects(s32 stagenum) struct prop *prop; s32 i; - lift->accel = FRAMESTOTIME60(*(s32 *)&lift->accel) / 65536.0f; - lift->maxspeed = FRAMESTOTIME60(*(s32 *)&lift->maxspeed) / 65536.0f; + lift->accel = PALUPF(*(s32 *)&lift->accel) / 65536.0f; + lift->maxspeed = PALUPF(*(s32 *)&lift->maxspeed) / 65536.0f; lift->dist = 0; lift->speed = 0; lift->levelcur = 0; @@ -2939,8 +3076,8 @@ void setupParseObjects(s32 stagenum) struct fanobj *fan = (struct fanobj *)obj; fan->yrot = 0; - fan->ymaxspeed = FRAMESTOTIME60(*(s32 *)&fan->ymaxspeed) / 65536.0f; - fan->yaccel = FRAMESTOTIME60(*(s32 *)&fan->yaccel) / 65536.0f; + fan->ymaxspeed = PALUPF(*(s32 *)&fan->ymaxspeed) / 65536.0f; + fan->yaccel = PALUPF(*(s32 *)&fan->yaccel) / 65536.0f; setupGenericObject(obj, index); } diff --git a/src/game/game_015470.c b/src/game/game_015470.c index d341ac264..294159395 100644 --- a/src/game/game_015470.c +++ b/src/game/game_015470.c @@ -722,7 +722,7 @@ Gfx *getitleRender(Gfx *gdl) sp30 = 0; } - sp2c = 255 - (var80062498 * 255 - 163200) / (PAL ? 233 : 280); + sp2c = 255 - (var80062498 * 255 - (PAL ? 135915 : 163200)) / (PAL ? 233 : 280); if (sp2c > 255) { sp2c = 255; @@ -742,7 +742,7 @@ Gfx *getitleRender(Gfx *gdl) gdl = func0f0155f0(gdl, var8009cc8c, (sp30 * sp2c) / 255); - if (var80062498 >= 1040 && var80062498 >= 1160) { + if (var80062498 >= PALDOWN(1040) && var80062498 >= PALDOWN(1160)) { var80062498 = 0; var80062414++; var80062414++; diff --git a/src/game/game_01d860.c b/src/game/game_01d860.c index 23cf9a37e..a9ceb55a0 100644 --- a/src/game/game_01d860.c +++ b/src/game/game_01d860.c @@ -64,7 +64,7 @@ void func0f01d860(void) { s32 i; - if (g_LanguageId != LANGUAGE_NTSC_EN) { + if (g_Jpn) { for (i = 0; i != 124; i++) { if (var800aabb8[i].unk00_00) { var800aabb8[i].unk00_00--; diff --git a/src/game/game_092610.c b/src/game/game_092610.c index 1a4d613a7..e0d500885 100644 --- a/src/game/game_092610.c +++ b/src/game/game_092610.c @@ -2751,7 +2751,7 @@ void audioPlayFromProp2(s32 channelnum, s32 soundnum, s16 padnum, struct prop *p } if (a1) { - channel->unk1c = TIME60TOFRAMES(arg4); + channel->unk1c = PALDOWN(arg4); } if (padnum != -1) { diff --git a/src/game/game_097ba0.c b/src/game/game_097ba0.c index 540ae27f4..33a3edf9a 100644 --- a/src/game/game_097ba0.c +++ b/src/game/game_097ba0.c @@ -50,10 +50,10 @@ #include "types.h" u32 var8009d0d0[2]; -s32 var8009d0d8; // correct -u32 var8009d0dc; // d63c -> d650 -u32 var8009d0e0[4]; // d640 (correct) -u32 var8009d0f0; // d650 (correct) +s32 var8009d0d8; +u32 var8009d0dc; +u32 var8009d0e0[4]; +u32 var8009d0f0; u32 var8009d0f4; u32 var8009d0f8; u32 var8009d0fc; @@ -78,9 +78,12 @@ u32 var8009d13c; u32 fill2[2]; #endif -u32 var8009d140; // d6a0 -> d6a8 -u32 var8009d144; // d5a4 -> d6ac +u32 var8009d140; +u32 var8009d144; u32 var8009d148; +u32 var8009d14c; + +struct fireslot g_Fireslots[NUM_FIRESLOTS]; u32 var80070090 = 0x96969600; u32 var80070094 = 0x96969600; @@ -3831,6 +3834,667 @@ glabel func0f099c24 /* f099c44: 00000000 */ nop ); +#if PAL +GLOBAL_ASM( +glabel func0f099c48 +.late_rodata +glabel var7f1ac1b8 +.word 0x3f5f5dd8 +glabel var7f1ac1bc +.word func0f099c48+0x570 # f09a1b8 +glabel var7f1ac1c0 +.word func0f099c48+0x570 # f09a1b8 +glabel var7f1ac1c4 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac1c8 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac1cc +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac1d0 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac1d4 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac1d8 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac1dc +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac1e0 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac1e4 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac1e8 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac1ec +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac1f0 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac1f4 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac1f8 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac1fc +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac200 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac204 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac208 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac20c +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac210 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac214 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac218 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac21c +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac220 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac224 +.word func0f099c48+0x570 # f09a1b8 +glabel var7f1ac228 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac22c +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac230 +.word func0f099c48+0x570 # f09a1b8 +glabel var7f1ac234 +.word func0f099c48+0x570 # f09a1b8 +glabel var7f1ac238 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac23c +.word func0f099c48+0x570 # f09a1b8 +glabel var7f1ac240 +.word func0f099c48+0x570 # f09a1b8 +glabel var7f1ac244 +.word func0f099c48+0x570 # f09a1b8 +glabel var7f1ac248 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac24c +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac250 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac254 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac258 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac25c +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac260 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac264 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac268 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac26c +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac270 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac274 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac278 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac27c +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac280 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac284 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac288 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac28c +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac290 +.word func0f099c48+0x570 # f09a1b8 +glabel var7f1ac294 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac298 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac29c +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac2a0 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac2a4 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac2a8 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac2ac +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac2b0 +.word func0f099c48+0x570 # f09a1b8 +glabel var7f1ac2b4 +.word func0f099c48+0x570 # f09a1b8 +glabel var7f1ac2b8 +.word func0f099c48+0x570 # f09a1b8 +glabel var7f1ac2bc +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac2c0 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac2c4 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac2c8 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac2cc +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac2d0 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac2d4 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac2d8 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac2dc +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac2e0 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac2e4 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac2e8 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac2ec +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac2f0 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac2f4 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac2f8 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac2fc +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac300 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac304 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac308 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac30c +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac310 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac314 +.word func0f099c48+0x534 # f09a17c +glabel var7f1ac318 +.word func0f099c48+0x570 # f09a1b8 +glabel var7f1ac31c +.word 0x3f5f5dd8 +.text +/* f099c48: 27bdffc8 */ addiu $sp,$sp,-56 +/* f099c4c: afbf002c */ sw $ra,0x2c($sp) +/* f099c50: afb00028 */ sw $s0,0x28($sp) +/* f099c54: afa40038 */ sw $a0,0x38($sp) +/* f099c58: 00c08025 */ or $s0,$a2,$zero +/* f099c5c: afa5003c */ sw $a1,0x3c($sp) +/* f099c60: afa70044 */ sw $a3,0x44($sp) +/* f099c64: 0fc2c41f */ jal handGetWeaponFunction +/* f099c68: 00c02025 */ or $a0,$a2,$zero +/* f099c6c: 3c0e800a */ lui $t6,%hi(g_Vars+0x284) +/* f099c70: 8dcea244 */ lw $t6,%lo(g_Vars+0x284)($t6) +/* f099c74: afa20030 */ sw $v0,0x30($sp) +/* f099c78: 2418ffff */ addiu $t8,$zero,-1 +/* f099c7c: 8dcf00d8 */ lw $t7,0xd8($t6) +/* f099c80: 00002825 */ or $a1,$zero,$zero +/* f099c84: 51e0000a */ beqzl $t7,.L0f099cb0 +/* f099c88: 8e190618 */ lw $t9,0x618($s0) +/* f099c8c: ae00068c */ sw $zero,0x68c($s0) +/* f099c90: ae180680 */ sw $t8,0x680($s0) +/* f099c94: 0fc27346 */ jal func0f09cd18 +/* f099c98: 8fa4003c */ lw $a0,0x3c($sp) +/* f099c9c: 50400004 */ beqzl $v0,.L0f099cb0 +/* f099ca0: 8e190618 */ lw $t9,0x618($s0) +/* f099ca4: 10000195 */ b .L0f09a2fc +/* f099ca8: 8fa20044 */ lw $v0,0x44($sp) +/* f099cac: 8e190618 */ lw $t9,0x618($s0) +.L0f099cb0: +/* f099cb0: 8fa9003c */ lw $t1,0x3c($sp) +/* f099cb4: 3c08800a */ lui $t0,%hi(g_Vars+0x284) +/* f099cb8: 17200018 */ bnez $t9,.L0f099d1c +/* f099cbc: 00095100 */ sll $t2,$t1,0x4 +/* f099cc0: 01495023 */ subu $t2,$t2,$t1 +/* f099cc4: 000a5080 */ sll $t2,$t2,0x2 +/* f099cc8: 01495021 */ addu $t2,$t2,$t1 +/* f099ccc: 000a50c0 */ sll $t2,$t2,0x3 +/* f099cd0: 8d08a244 */ lw $t0,%lo(g_Vars+0x284)($t0) +/* f099cd4: 01495021 */ addu $t2,$t2,$t1 +/* f099cd8: 000a5080 */ sll $t2,$t2,0x2 +/* f099cdc: 000a5823 */ negu $t3,$t2 +/* f099ce0: 240cffff */ addiu $t4,$zero,-1 +/* f099ce4: ae0c0670 */ sw $t4,0x670($s0) +/* f099ce8: ae000674 */ sw $zero,0x674($s0) +/* f099cec: 010b1021 */ addu $v0,$t0,$t3 +/* f099cf0: 8c4d13e0 */ lw $t5,0x13e0($v0) +/* f099cf4: 24010001 */ addiu $at,$zero,0x1 +/* f099cf8: 24420ddc */ addiu $v0,$v0,0xddc +/* f099cfc: 55a10008 */ bnel $t5,$at,.L0f099d20 +/* f099d00: 8e030608 */ lw $v1,0x608($s0) +/* f099d04: 8c4e0614 */ lw $t6,0x614($v0) +/* f099d08: 240f0009 */ addiu $t7,$zero,0x9 +/* f099d0c: 29c10014 */ slti $at,$t6,0x10 +/* f099d10: 50200003 */ beqzl $at,.L0f099d20 +/* f099d14: 8e030608 */ lw $v1,0x608($s0) +/* f099d18: ae0f0608 */ sw $t7,0x608($s0) +.L0f099d1c: +/* f099d1c: 8e030608 */ lw $v1,0x608($s0) +.L0f099d20: +/* f099d20: 8fb9003c */ lw $t9,0x3c($sp) +/* f099d24: 24010009 */ addiu $at,$zero,0x9 +/* f099d28: 1461001a */ bne $v1,$at,.L0f099d94 +/* f099d2c: 00194900 */ sll $t1,$t9,0x4 +/* f099d30: 01394823 */ subu $t1,$t1,$t9 +/* f099d34: 00094880 */ sll $t1,$t1,0x2 +/* f099d38: 01394821 */ addu $t1,$t1,$t9 +/* f099d3c: 000948c0 */ sll $t1,$t1,0x3 +/* f099d40: 3c18800a */ lui $t8,%hi(g_Vars+0x284) +/* f099d44: 8f18a244 */ lw $t8,%lo(g_Vars+0x284)($t8) +/* f099d48: 01394821 */ addu $t1,$t1,$t9 +/* f099d4c: 00094880 */ sll $t1,$t1,0x2 +/* f099d50: 00095023 */ negu $t2,$t1 +/* f099d54: 030a1021 */ addu $v0,$t8,$t2 +/* f099d58: 8c4813e0 */ lw $t0,0x13e0($v0) +/* f099d5c: 24010001 */ addiu $at,$zero,0x1 +/* f099d60: 24420ddc */ addiu $v0,$v0,0xddc +/* f099d64: 15010007 */ bne $t0,$at,.L0f099d84 +/* f099d68: 00001825 */ or $v1,$zero,$zero +/* f099d6c: 8c4b0614 */ lw $t3,0x614($v0) +/* f099d70: 29610014 */ slti $at,$t3,0x10 +/* f099d74: 50200004 */ beqzl $at,.L0f099d88 +/* f099d78: ae000614 */ sw $zero,0x614($s0) +/* f099d7c: 1000015f */ b .L0f09a2fc +/* f099d80: 00001025 */ or $v0,$zero,$zero +.L0f099d84: +/* f099d84: ae000614 */ sw $zero,0x614($s0) +.L0f099d88: +/* f099d88: ae000618 */ sw $zero,0x618($s0) +/* f099d8c: ae000608 */ sw $zero,0x608($s0) +/* f099d90: ae00061c */ sw $zero,0x61c($s0) +.L0f099d94: +/* f099d94: 54600095 */ bnezl $v1,.L0f099fec +/* f099d98: 24010001 */ addiu $at,$zero,0x1 +/* f099d9c: 8e0c0618 */ lw $t4,0x618($s0) +/* f099da0: 8fad0030 */ lw $t5,0x30($sp) +/* f099da4: 8faa0030 */ lw $t2,0x30($sp) +/* f099da8: 5580003f */ bnezl $t4,.L0f099ea8 +/* f099dac: 8fb80038 */ lw $t8,0x38($sp) +/* f099db0: 11a00034 */ beqz $t5,.L0f099e84 +/* f099db4: 8fa4003c */ lw $a0,0x3c($sp) +/* f099db8: 81a20007 */ lb $v0,0x7($t5) +/* f099dbc: 24010001 */ addiu $at,$zero,0x1 +/* f099dc0: 8fae0038 */ lw $t6,0x38($sp) +/* f099dc4: 50400004 */ beqzl $v0,.L0f099dd8 +/* f099dc8: 8dcf0004 */ lw $t7,0x4($t6) +/* f099dcc: 1441002d */ bne $v0,$at,.L0f099e84 +/* f099dd0: 00000000 */ nop +/* f099dd4: 8dcf0004 */ lw $t7,0x4($t6) +.L0f099dd8: +/* f099dd8: 0002c880 */ sll $t9,$v0,0x2 +/* f099ddc: 01f94821 */ addu $t1,$t7,$t9 +/* f099de0: 8d38001c */ lw $t8,0x1c($t1) +/* f099de4: 24690001 */ addiu $t1,$v1,0x1 +/* f099de8: 8f04000c */ lw $a0,0xc($t8) +/* f099dec: 10800023 */ beqz $a0,.L0f099e7c +/* f099df0: 00000000 */ nop +/* f099df4: 8dca0000 */ lw $t2,0x0($t6) +/* f099df8: 2401001a */ addiu $at,$zero,0x1a +/* f099dfc: 8fa5003c */ lw $a1,0x3c($sp) +/* f099e00: 1141001e */ beq $t2,$at,.L0f099e7c +/* f099e04: 00000000 */ nop +/* f099e08: 0fc26238 */ jal func0f0988e0 +/* f099e0c: 02003025 */ or $a2,$s0,$zero +/* f099e10: 920b06d6 */ lbu $t3,0x6d6($s0) +/* f099e14: 8fa30038 */ lw $v1,0x38($sp) +/* f099e18: 356c0001 */ ori $t4,$t3,0x1 +/* f099e1c: a20c06d6 */ sb $t4,0x6d6($s0) +/* f099e20: 8faf0030 */ lw $t7,0x30($sp) +/* f099e24: 8c6d0004 */ lw $t5,0x4($v1) +/* f099e28: 81f90007 */ lb $t9,0x7($t7) +/* f099e2c: 00194880 */ sll $t1,$t9,0x2 +/* f099e30: 01a9c021 */ addu $t8,$t5,$t1 +/* f099e34: 8f0e001c */ lw $t6,0x1c($t8) +/* f099e38: 91ca0010 */ lbu $t2,0x10($t6) +/* f099e3c: 31480004 */ andi $t0,$t2,0x4 +/* f099e40: 51000005 */ beqzl $t0,.L0f099e58 +/* f099e44: 8c620000 */ lw $v0,0x0($v1) +/* f099e48: 920c0690 */ lbu $t4,0x690($s0) +/* f099e4c: 358f0020 */ ori $t7,$t4,0x20 +/* f099e50: a20f0690 */ sb $t7,0x690($s0) +/* f099e54: 8c620000 */ lw $v0,0x0($v1) +.L0f099e58: +/* f099e58: 2401001e */ addiu $at,$zero,0x1e +/* f099e5c: 10410003 */ beq $v0,$at,.L0f099e6c +/* f099e60: 2401001f */ addiu $at,$zero,0x1f +/* f099e64: 1441000d */ bne $v0,$at,.L0f099e9c +/* f099e68: 00000000 */ nop +.L0f099e6c: +/* f099e6c: 921906d6 */ lbu $t9,0x6d6($s0) +/* f099e70: 332dff0f */ andi $t5,$t9,0xff0f +/* f099e74: 10000009 */ b .L0f099e9c +/* f099e78: a20d06d6 */ sb $t5,0x6d6($s0) +.L0f099e7c: +/* f099e7c: 10000007 */ b .L0f099e9c +/* f099e80: ae090608 */ sw $t1,0x608($s0) +.L0f099e84: +/* f099e84: 0fc27346 */ jal func0f09cd18 +/* f099e88: 00002825 */ or $a1,$zero,$zero +/* f099e8c: 10400003 */ beqz $v0,.L0f099e9c +/* f099e90: 00000000 */ nop +/* f099e94: 10000119 */ b .L0f09a2fc +/* f099e98: 8fa20044 */ lw $v0,0x44($sp) +.L0f099e9c: +/* f099e9c: 10000052 */ b .L0f099fe8 +/* f099ea0: 8e030608 */ lw $v1,0x608($s0) +/* f099ea4: 8fb80038 */ lw $t8,0x38($sp) +.L0f099ea8: +/* f099ea8: 81480007 */ lb $t0,0x7($t2) +/* f099eac: 02002025 */ or $a0,$s0,$zero +/* f099eb0: 8f0e0004 */ lw $t6,0x4($t8) +/* f099eb4: 00085880 */ sll $t3,$t0,0x2 +/* f099eb8: 01cb6021 */ addu $t4,$t6,$t3 +/* f099ebc: 8d8f001c */ lw $t7,0x1c($t4) +/* f099ec0: 91f90010 */ lbu $t9,0x10($t7) +/* f099ec4: 332d0004 */ andi $t5,$t9,0x4 +/* f099ec8: 51a0002b */ beqzl $t5,.L0f099f78 +/* f099ecc: 8e18060c */ lw $t8,0x60c($s0) +/* f099ed0: 0fc26291 */ jal func0f098a44 +/* f099ed4: 24050001 */ addiu $a1,$zero,0x1 +/* f099ed8: 5040001f */ beqzl $v0,.L0f099f58 +/* f099edc: ae00060c */ sw $zero,0x60c($s0) +/* f099ee0: 8e09060c */ lw $t1,0x60c($s0) +/* f099ee4: 8fa50038 */ lw $a1,0x38($sp) +/* f099ee8: 02003025 */ or $a2,$s0,$zero +/* f099eec: 31380010 */ andi $t8,$t1,0x10 +/* f099ef0: 17000019 */ bnez $t8,.L0f099f58 +/* f099ef4: 24070001 */ addiu $a3,$zero,0x1 +/* f099ef8: 92040003 */ lbu $a0,0x3($s0) +/* f099efc: 0fc2637e */ jal func0f098df8 +/* f099f00: afa00010 */ sw $zero,0x10($sp) +/* f099f04: 8e0a060c */ lw $t2,0x60c($s0) +/* f099f08: 92040003 */ lbu $a0,0x3($s0) +/* f099f0c: 02003025 */ or $a2,$s0,$zero +/* f099f10: 35480010 */ ori $t0,$t2,0x10 +/* f099f14: ae08060c */ sw $t0,0x60c($s0) +/* f099f18: 0fc26328 */ jal func0f098ca0 +/* f099f1c: 8fa50038 */ lw $a1,0x38($sp) +/* f099f20: 28410002 */ slti $at,$v0,0x2 +/* f099f24: 54200005 */ bnezl $at,.L0f099f3c +/* f099f28: 2401ffff */ addiu $at,$zero,-1 +/* f099f2c: 920e0690 */ lbu $t6,0x690($s0) +/* f099f30: 31cbffdf */ andi $t3,$t6,0xffdf +/* f099f34: a20b0690 */ sb $t3,0x690($s0) +/* f099f38: 2401ffff */ addiu $at,$zero,-1 +.L0f099f3c: +/* f099f3c: 54410007 */ bnel $v0,$at,.L0f099f5c +/* f099f40: 8e19000c */ lw $t9,0xc($s0) +/* f099f44: 920c0690 */ lbu $t4,0x690($s0) +/* f099f48: 318fffdf */ andi $t7,$t4,0xffdf +/* f099f4c: 10000002 */ b .L0f099f58 +/* f099f50: a20f0690 */ sb $t7,0x690($s0) +/* f099f54: ae00060c */ sw $zero,0x60c($s0) +.L0f099f58: +/* f099f58: 8e19000c */ lw $t9,0xc($s0) +.L0f099f5c: +/* f099f5c: 53200017 */ beqzl $t9,.L0f099fbc +/* f099f60: 8e0b068c */ lw $t3,0x68c($s0) +/* f099f64: 920d0690 */ lbu $t5,0x690($s0) +/* f099f68: 31a9ffdf */ andi $t1,$t5,0xffdf +/* f099f6c: 10000012 */ b .L0f099fb8 +/* f099f70: a2090690 */ sb $t1,0x690($s0) +/* f099f74: 8e18060c */ lw $t8,0x60c($s0) +.L0f099f78: +/* f099f78: 02002025 */ or $a0,$s0,$zero +/* f099f7c: 330a0010 */ andi $t2,$t8,0x10 +/* f099f80: 5540000e */ bnezl $t2,.L0f099fbc +/* f099f84: 8e0b068c */ lw $t3,0x68c($s0) +/* f099f88: 0fc26291 */ jal func0f098a44 +/* f099f8c: 24050001 */ addiu $a1,$zero,0x1 +/* f099f90: 10400009 */ beqz $v0,.L0f099fb8 +/* f099f94: 8fa50038 */ lw $a1,0x38($sp) +/* f099f98: 92040003 */ lbu $a0,0x3($s0) +/* f099f9c: afa00010 */ sw $zero,0x10($sp) +/* f099fa0: 02003025 */ or $a2,$s0,$zero +/* f099fa4: 0fc2637e */ jal func0f098df8 +/* f099fa8: 00003825 */ or $a3,$zero,$zero +/* f099fac: 8e08060c */ lw $t0,0x60c($s0) +/* f099fb0: 350e0010 */ ori $t6,$t0,0x10 +/* f099fb4: ae0e060c */ sw $t6,0x60c($s0) +.L0f099fb8: +/* f099fb8: 8e0b068c */ lw $t3,0x68c($s0) +.L0f099fbc: +/* f099fbc: 24010002 */ addiu $at,$zero,0x2 +/* f099fc0: 8fa4003c */ lw $a0,0x3c($sp) +/* f099fc4: 51610008 */ beql $t3,$at,.L0f099fe8 +/* f099fc8: 8e030608 */ lw $v1,0x608($s0) +/* f099fcc: 0fc27346 */ jal func0f09cd18 +/* f099fd0: 00002825 */ or $a1,$zero,$zero +/* f099fd4: 50400004 */ beqzl $v0,.L0f099fe8 +/* f099fd8: 8e030608 */ lw $v1,0x608($s0) +/* f099fdc: 100000c7 */ b .L0f09a2fc +/* f099fe0: 8fa20044 */ lw $v0,0x44($sp) +/* f099fe4: 8e030608 */ lw $v1,0x608($s0) +.L0f099fe8: +/* f099fe8: 24010001 */ addiu $at,$zero,0x1 +.L0f099fec: +/* f099fec: 5461001f */ bnel $v1,$at,.L0f09a06c +/* f099ff0: 24010002 */ addiu $at,$zero,0x2 +/* f099ff4: 8e02001c */ lw $v0,0x1c($s0) +/* f099ff8: 240f000b */ addiu $t7,$zero,0xb +/* f099ffc: 24790001 */ addiu $t9,$v1,0x1 +/* f09a000: 28410010 */ slti $at,$v0,0xd +/* f09a004: 10200004 */ beqz $at,.L0f09a018 +/* f09a008: 240d0011 */ addiu $t5,$zero,0xe +/* f09a00c: 820c0007 */ lb $t4,0x7($s0) +/* f09a010: 55800009 */ bnezl $t4,.L0f09a038 +/* f09a014: 44822000 */ mtc1 $v0,$f4 +.L0f09a018: +/* f09a018: ae0f0020 */ sw $t7,0x20($s0) +/* f09a01c: ae190608 */ sw $t9,0x608($s0) +/* f09a020: ae0d0038 */ sw $t5,0x38($s0) +/* f09a024: ae00001c */ sw $zero,0x1c($s0) +/* f09a028: ae000018 */ sw $zero,0x18($s0) +/* f09a02c: 1000000e */ b .L0f09a068 +/* f09a030: 03201825 */ or $v1,$t9,$zero +/* f09a034: 44822000 */ mtc1 $v0,$f4 +.L0f09a038: +/* f09a038: 3c017f1b */ lui $at,%hi(var7f1ac1b8) +/* f09a03c: c428c1b8 */ lwc1 $f8,%lo(var7f1ac1b8)($at) +/* f09a040: 468021a0 */ cvt.s.w $f6,$f4 +/* f09a044: 3c014180 */ lui $at,0x4150 +/* f09a048: 44818000 */ mtc1 $at,$f16 +/* f09a04c: 02002025 */ or $a0,$s0,$zero +/* f09a050: 46083282 */ mul.s $f10,$f6,$f8 +/* f09a054: 46105483 */ div.s $f18,$f10,$f16 +/* f09a058: 44059000 */ mfc1 $a1,$f18 +/* f09a05c: 0fc265e0 */ jal func0f099780 +/* f09a060: 00000000 */ nop +/* f09a064: 8e030608 */ lw $v1,0x608($s0) +.L0f09a068: +/* f09a068: 24010002 */ addiu $at,$zero,0x2 +.L0f09a06c: +/* f09a06c: 54610069 */ bnel $v1,$at,.L0f09a214 +/* f09a070: 24010003 */ addiu $at,$zero,0x3 +/* f09a074: 8e090018 */ lw $t1,0x18($s0) +/* f09a078: 8fb80038 */ lw $t8,0x38($sp) +/* f09a07c: 5520004f */ bnezl $t1,.L0f09a1bc +/* f09a080: 8e0e001c */ lw $t6,0x1c($s0) +/* f09a084: 8f0a0000 */ lw $t2,0x0($t8) +/* f09a088: 2401001a */ addiu $at,$zero,0x1a +/* f09a08c: 8fa80030 */ lw $t0,0x30($sp) +/* f09a090: 55410012 */ bnel $t2,$at,.L0f09a0dc +/* f09a094: 8e0a060c */ lw $t2,0x60c($s0) +/* f09a098: 81020007 */ lb $v0,0x7($t0) +/* f09a09c: 0442000f */ bltzl $v0,.L0f09a0dc +/* f09a0a0: 8e0a060c */ lw $t2,0x60c($s0) +/* f09a0a4: 8f0e0004 */ lw $t6,0x4($t8) +/* f09a0a8: 00025880 */ sll $t3,$v0,0x2 +/* f09a0ac: 8fa5003c */ lw $a1,0x3c($sp) +/* f09a0b0: 01cb6021 */ addu $t4,$t6,$t3 +/* f09a0b4: 8d8f001c */ lw $t7,0x1c($t4) +/* f09a0b8: 8de4000c */ lw $a0,0xc($t7) +/* f09a0bc: 50800007 */ beqzl $a0,.L0f09a0dc +/* f09a0c0: 8e0a060c */ lw $t2,0x60c($s0) +/* f09a0c4: 0fc26238 */ jal func0f0988e0 +/* f09a0c8: 02003025 */ or $a2,$s0,$zero +/* f09a0cc: 920d0690 */ lbu $t5,0x690($s0) +/* f09a0d0: 35a90040 */ ori $t1,$t5,0x40 +/* f09a0d4: a2090690 */ sb $t1,0x690($s0) +/* f09a0d8: 8e0a060c */ lw $t2,0x60c($s0) +.L0f09a0dc: +/* f09a0dc: 8fa50038 */ lw $a1,0x38($sp) +/* f09a0e0: 02003025 */ or $a2,$s0,$zero +/* f09a0e4: 31480010 */ andi $t0,$t2,0x10 +/* f09a0e8: 15000004 */ bnez $t0,.L0f09a0fc +/* f09a0ec: 00003825 */ or $a3,$zero,$zero +/* f09a0f0: 92040003 */ lbu $a0,0x3($s0) +/* f09a0f4: 0fc2637e */ jal func0f098df8 +/* f09a0f8: afa00010 */ sw $zero,0x10($sp) +.L0f09a0fc: +/* f09a0fc: 3c18800a */ lui $t8,%hi(g_Vars+0x34) +/* f09a100: 8f189ff4 */ lw $t8,%lo(g_Vars+0x34)($t8) +/* f09a104: 3c0e800a */ lui $t6,%hi(g_Vars+0x284) +/* f09a108: 5b00002c */ blezl $t8,.L0f09a1bc +/* f09a10c: 8e0e001c */ lw $t6,0x1c($s0) +/* f09a110: 8dcea244 */ lw $t6,%lo(g_Vars+0x284)($t6) +/* f09a114: 24010001 */ addiu $at,$zero,0x1 +/* f09a118: 8dcb0000 */ lw $t3,0x0($t6) +/* f09a11c: 51610027 */ beql $t3,$at,.L0f09a1bc +/* f09a120: 8e0e001c */ lw $t6,0x1c($s0) +/* f09a124: 0fc2775f */ jal func0f09dd7c +/* f09a128: 00000000 */ nop +/* f09a12c: 10400022 */ beqz $v0,.L0f09a1b8 +/* f09a130: 3c0c8007 */ lui $t4,%hi(g_PlayerInvincible) +/* f09a134: 8d8c0760 */ lw $t4,%lo(g_PlayerInvincible)($t4) +/* f09a138: 3c0f800a */ lui $t7,%hi(g_Vars+0x284) +/* f09a13c: 5580001f */ bnezl $t4,.L0f09a1bc +/* f09a140: 8e0e001c */ lw $t6,0x1c($s0) +/* f09a144: 8defa244 */ lw $t7,%lo(g_Vars+0x284)($t7) +/* f09a148: 8fad0038 */ lw $t5,0x38($sp) +/* f09a14c: 8df900d8 */ lw $t9,0xd8($t7) +/* f09a150: 5720001a */ bnezl $t9,.L0f09a1bc +/* f09a154: 8e0e001c */ lw $t6,0x1c($s0) +/* f09a158: 8da90000 */ lw $t1,0x0($t5) +/* f09a15c: 2d210058 */ sltiu $at,$t1,0x58 +/* f09a160: 10200006 */ beqz $at,.L0f09a17c +/* f09a164: 00094880 */ sll $t1,$t1,0x2 +/* f09a168: 3c017f1b */ lui $at,%hi(var7f1ac1bc) +/* f09a16c: 00290821 */ addu $at,$at,$t1 +/* f09a170: 8c29c1bc */ lw $t1,%lo(var7f1ac1bc)($at) +/* f09a174: 01200008 */ jr $t1 +/* f09a178: 00000000 */ nop +.L0f09a17c: +/* f09a17c: 3c01bf80 */ lui $at,0xbf80 +/* f09a180: 44812000 */ mtc1 $at,$f4 +/* f09a184: 3c048009 */ lui $a0,%hi(var80095200) +/* f09a188: 240affff */ addiu $t2,$zero,-1 +/* f09a18c: 2408ffff */ addiu $t0,$zero,-1 +/* f09a190: 2418ffff */ addiu $t8,$zero,-1 +/* f09a194: afb8001c */ sw $t8,0x1c($sp) +/* f09a198: afa80018 */ sw $t0,0x18($sp) +/* f09a19c: afaa0010 */ sw $t2,0x10($sp) +/* f09a1a0: 8c845200 */ lw $a0,%lo(var80095200)($a0) +/* f09a1a4: 2405804f */ addiu $a1,$zero,-32689 +/* f09a1a8: 00003025 */ or $a2,$zero,$zero +/* f09a1ac: 2407ffff */ addiu $a3,$zero,-1 +/* f09a1b0: 0c004241 */ jal audioStart +/* f09a1b4: e7a40014 */ swc1 $f4,0x14($sp) +.L0f09a1b8: +/* f09a1b8: 8e0e001c */ lw $t6,0x1c($s0) +.L0f09a1bc: +/* f09a1bc: 8e0b0038 */ lw $t3,0x38($s0) +/* f09a1c0: 02002025 */ or $a0,$s0,$zero +/* f09a1c4: 3c053f5f */ lui $a1,0x3f5f +/* f09a1c8: 01cb082a */ slt $at,$t6,$t3 +/* f09a1cc: 1420000d */ bnez $at,.L0f09a204 +/* f09a1d0: 00000000 */ nop +/* f09a1d4: 8e0c0018 */ lw $t4,0x18($s0) +/* f09a1d8: 240f000c */ addiu $t7,$zero,0xc +/* f09a1dc: 29810002 */ slti $at,$t4,0x2 +/* f09a1e0: 14200008 */ bnez $at,.L0f09a204 +/* f09a1e4: 00000000 */ nop +/* f09a1e8: 8e190608 */ lw $t9,0x608($s0) +/* f09a1ec: ae0f0020 */ sw $t7,0x20($s0) +/* f09a1f0: ae00001c */ sw $zero,0x1c($s0) +/* f09a1f4: 27230001 */ addiu $v1,$t9,0x1 +/* f09a1f8: ae030608 */ sw $v1,0x608($s0) +/* f09a1fc: 10000004 */ b .L0f09a210 +/* f09a200: ae000018 */ sw $zero,0x18($s0) +.L0f09a204: +/* f09a204: 0fc265e0 */ jal func0f099780 +/* f09a208: 34a55dd8 */ ori $a1,$a1,0x5dd8 +/* f09a20c: 8e030608 */ lw $v1,0x608($s0) +.L0f09a210: +/* f09a210: 24010003 */ addiu $at,$zero,0x3 +.L0f09a214: +/* f09a214: 14610038 */ bne $v1,$at,.L0f09a2f8 +/* f09a218: 8fa90038 */ lw $t1,0x38($sp) +/* f09a21c: 8d2a0000 */ lw $t2,0x0($t1) +/* f09a220: 2401001a */ addiu $at,$zero,0x1a +/* f09a224: 3c18800a */ lui $t8,%hi(g_Vars+0x284) +/* f09a228: 55410003 */ bnel $t2,$at,.L0f09a238 +/* f09a22c: 8e080018 */ lw $t0,0x18($s0) +/* f09a230: ae00068c */ sw $zero,0x68c($s0) +/* f09a234: 8e080018 */ lw $t0,0x18($s0) +.L0f09a238: +/* f09a238: 55000004 */ bnezl $t0,.L0f09a24c +/* f09a23c: 8e0e001c */ lw $t6,0x1c($s0) +/* f09a240: 8f18a244 */ lw $t8,%lo(g_Vars+0x284)($t8) +/* f09a244: af001600 */ sw $zero,0x1600($t8) +/* f09a248: 8e0e001c */ lw $t6,0x1c($s0) +.L0f09a24c: +/* f09a24c: 8fab0038 */ lw $t3,0x38($sp) +/* f09a250: 29c10017 */ slti $at,$t6,0x13 +/* f09a254: 50200010 */ beqzl $at,.L0f09a298 +/* f09a258: ae000020 */ sw $zero,0x20($s0) +/* f09a25c: 0fc2c6b4 */ jal weaponGetModelNum2 +/* f09a260: 8d640000 */ lw $a0,0x0($t3) +/* f09a264: 1040000b */ beqz $v0,.L0f09a294 +/* f09a268: 8fac0038 */ lw $t4,0x38($sp) +/* f09a26c: 8d840000 */ lw $a0,0x0($t4) +/* f09a270: 0fc2c5f0 */ jal weaponHasFlag +/* f09a274: 24050040 */ addiu $a1,$zero,0x40 +/* f09a278: 10400006 */ beqz $v0,.L0f09a294 +/* f09a27c: 8faf0038 */ lw $t7,0x38($sp) +/* f09a280: 8de40000 */ lw $a0,0x0($t7) +/* f09a284: 0fc2c5f0 */ jal weaponHasFlag +/* f09a288: 24050080 */ addiu $a1,$zero,0x80 +/* f09a28c: 5040000c */ beqzl $v0,.L0f09a2c0 +/* f09a290: 8e19001c */ lw $t9,0x1c($s0) +.L0f09a294: +/* f09a294: ae000020 */ sw $zero,0x20($s0) +.L0f09a298: +/* f09a298: ae00001c */ sw $zero,0x1c($s0) +/* f09a29c: ae000018 */ sw $zero,0x18($s0) +/* f09a2a0: 8fa4003c */ lw $a0,0x3c($sp) +/* f09a2a4: 0fc27346 */ jal func0f09cd18 +/* f09a2a8: 00002825 */ or $a1,$zero,$zero +/* f09a2ac: 50400013 */ beqzl $v0,.L0f09a2fc +/* f09a2b0: 00001025 */ or $v0,$zero,$zero +/* f09a2b4: 10000011 */ b .L0f09a2fc +/* f09a2b8: 8fa20044 */ lw $v0,0x44($sp) +/* f09a2bc: 8e19001c */ lw $t9,0x1c($s0) +.L0f09a2c0: +/* f09a2c0: 240d0017 */ addiu $t5,$zero,0x13 +/* f09a2c4: 3c017f1b */ lui $at,%hi(var7f1ac31c) +/* f09a2c8: 01b94823 */ subu $t1,$t5,$t9 +/* f09a2cc: 44893000 */ mtc1 $t1,$f6 +/* f09a2d0: c42ac31c */ lwc1 $f10,%lo(var7f1ac31c)($at) +/* f09a2d4: 3c0141b8 */ lui $at,0x4198 +/* f09a2d8: 46803220 */ cvt.s.w $f8,$f6 +/* f09a2dc: 44819000 */ mtc1 $at,$f18 +/* f09a2e0: 02002025 */ or $a0,$s0,$zero +/* f09a2e4: 460a4402 */ mul.s $f16,$f8,$f10 +/* f09a2e8: 46128103 */ div.s $f4,$f16,$f18 +/* f09a2ec: 44052000 */ mfc1 $a1,$f4 +/* f09a2f0: 0fc265e0 */ jal func0f099780 +/* f09a2f4: 00000000 */ nop +.L0f09a2f8: +/* f09a2f8: 00001025 */ or $v0,$zero,$zero +.L0f09a2fc: +/* f09a2fc: 8fbf002c */ lw $ra,0x2c($sp) +/* f09a300: 8fb00028 */ lw $s0,0x28($sp) +/* f09a304: 27bd0038 */ addiu $sp,$sp,0x38 +/* f09a308: 03e00008 */ jr $ra +/* f09a30c: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f099c48 .late_rodata @@ -4490,6 +5154,7 @@ glabel var7f1ac31c /* f09a308: 03e00008 */ jr $ra /* f09a30c: 00000000 */ nop ); +#endif s32 func0f09a310(struct handweaponinfo *info, s32 handnum, struct hand *hand, s32 lvupdate) { @@ -4525,6 +5190,227 @@ s32 func0f09a310(struct handweaponinfo *info, s32 handnum, struct hand *hand, s3 return 0; } +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f09a3f8 +/* f09a3f8: 8ca80010 */ lw $t0,0x10($a1) +/* f09a3fc: 3c09800a */ lui $t1,%hi(g_Vars) +/* f09a400: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars) +/* f09a404: 8d270284 */ lw $a3,0x284($t1) +/* f09a408: 310e0002 */ andi $t6,$t0,0x2 +/* f09a40c: 00001025 */ or $v0,$zero,$zero +/* f09a410: 00001825 */ or $v1,$zero,$zero +/* f09a414: 11c0000e */ beqz $t6,.L0f09a450 +/* f09a418: 24e61580 */ addiu $a2,$a3,0x1580 +/* f09a41c: 8c8f0558 */ lw $t7,0x558($a0) +/* f09a420: 29e10003 */ slti $at,$t7,0x3 +/* f09a424: 5020000b */ beqzl $at,.L0f09a454 +/* f09a428: 310b1000 */ andi $t3,$t0,0x1000 +/* f09a42c: 8cf80120 */ lw $t8,0x120($a3) +/* f09a430: 53000007 */ beqzl $t8,.L0f09a450 +/* f09a434: 24030001 */ addiu $v1,$zero,0x1 +/* f09a438: 8cb90000 */ lw $t9,0x0($a1) +/* f09a43c: 24010100 */ addiu $at,$zero,0x100 +/* f09a440: 332aff00 */ andi $t2,$t9,0xff00 +/* f09a444: 51410003 */ beql $t2,$at,.L0f09a454 +/* f09a448: 310b1000 */ andi $t3,$t0,0x1000 +/* f09a44c: 24030001 */ addiu $v1,$zero,0x1 +.L0f09a450: +/* f09a450: 310b1000 */ andi $t3,$t0,0x1000 +.L0f09a454: +/* f09a454: 11600006 */ beqz $t3,.L0f09a470 +/* f09a458: 00086b80 */ sll $t5,$t0,0xe +/* f09a45c: 8c8c0558 */ lw $t4,0x558($a0) +/* f09a460: 29810002 */ slti $at,$t4,0x2 +/* f09a464: 10200002 */ beqz $at,.L0f09a470 +/* f09a468: 00000000 */ nop +/* f09a46c: 24030001 */ addiu $v1,$zero,0x1 +.L0f09a470: +/* f09a470: 05a10006 */ bgez $t5,.L0f09a48c +/* f09a474: 3c070002 */ lui $a3,0x2 +/* f09a478: 8c8e0558 */ lw $t6,0x558($a0) +/* f09a47c: 29c10005 */ slti $at,$t6,0x5 +/* f09a480: 50200003 */ beqzl $at,.L0f09a490 +/* f09a484: 310f0020 */ andi $t7,$t0,0x20 +/* f09a488: 24030001 */ addiu $v1,$zero,0x1 +.L0f09a48c: +/* f09a48c: 310f0020 */ andi $t7,$t0,0x20 +.L0f09a490: +/* f09a490: 11e00006 */ beqz $t7,.L0f09a4ac +/* f09a494: 00000000 */ nop +/* f09a498: 8c980558 */ lw $t8,0x558($a0) +/* f09a49c: 2b010032 */ slti $at,$t8,0x32 +/* f09a4a0: 10200002 */ beqz $at,.L0f09a4ac +/* f09a4a4: 00000000 */ nop +/* f09a4a8: 24020001 */ addiu $v0,$zero,0x1 +.L0f09a4ac: +/* f09a4ac: 50600003 */ beqzl $v1,.L0f09a4bc +/* f09a4b0: 8c99000c */ lw $t9,0xc($a0) +/* f09a4b4: 24020001 */ addiu $v0,$zero,0x1 +/* f09a4b8: 8c99000c */ lw $t9,0xc($a0) +.L0f09a4bc: +/* f09a4bc: 57200008 */ bnezl $t9,.L0f09a4e0 +/* f09a4c0: 80a20007 */ lb $v0,0x7($a1) +/* f09a4c4: 8c8a060c */ lw $t2,0x60c($a0) +/* f09a4c8: 314b0010 */ andi $t3,$t2,0x10 +/* f09a4cc: 51600004 */ beqzl $t3,.L0f09a4e0 +/* f09a4d0: 80a20007 */ lb $v0,0x7($a1) +/* f09a4d4: 50400063 */ beqzl $v0,.L0f09a664 +/* f09a4d8: 8cac0000 */ lw $t4,0x0($a1) +/* f09a4dc: 80a20007 */ lb $v0,0x7($a1) +.L0f09a4e0: +/* f09a4e0: 0440000b */ bltz $v0,.L0f09a510 +/* f09a4e4: 00026080 */ sll $t4,$v0,0x2 +/* f09a4e8: 008c6821 */ addu $t5,$a0,$t4 +/* f09a4ec: 8dae0220 */ lw $t6,0x220($t5) +/* f09a4f0: 00c27821 */ addu $t7,$a2,$v0 +/* f09a4f4: 55c00007 */ bnezl $t6,.L0f09a514 +/* f09a4f8: 8cb90000 */ lw $t9,0x0($a1) +/* f09a4fc: 81f80064 */ lb $t8,0x64($t7) +/* f09a500: 07020004 */ bltzl $t8,.L0f09a514 +/* f09a504: 8cb90000 */ lw $t9,0x0($a1) +/* f09a508: 03e00008 */ jr $ra +/* f09a50c: 2402ffff */ addiu $v0,$zero,-1 +.L0f09a510: +/* f09a510: 8cb90000 */ lw $t9,0x0($a1) +.L0f09a514: +/* f09a514: 24010100 */ addiu $at,$zero,0x100 +/* f09a518: 332aff00 */ andi $t2,$t9,0xff00 +/* f09a51c: 55410020 */ bnel $t2,$at,.L0f09a5a0 +/* f09a520: 3c013f80 */ lui $at,0x3f80 +/* f09a524: 80a20050 */ lb $v0,0x50($a1) +/* f09a528: 3c013f80 */ lui $at,0x3f80 +/* f09a52c: 58400017 */ blezl $v0,.L0f09a58c +/* f09a530: 44811000 */ mtc1 $at,$f2 +/* f09a534: 3c013f80 */ lui $at,0x3f80 +/* f09a538: 44811000 */ mtc1 $at,$f2 +/* f09a53c: c4800660 */ lwc1 $f0,0x660($a0) +/* f09a540: 4602003c */ c.lt.s $f0,$f2 +/* f09a544: 00000000 */ nop +/* f09a548: 45000012 */ bc1f .L0f09a594 +/* f09a54c: 00000000 */ nop +/* f09a550: 44823000 */ mtc1 $v0,$f6 +/* f09a554: c5240044 */ lwc1 $f4,0x4c($t1) +/* f09a558: 24020001 */ addiu $v0,$zero,0x1 +/* f09a55c: 46803220 */ cvt.s.w $f8,$f6 +/* f09a560: 46082283 */ div.s $f10,$f4,$f8 +/* f09a564: 460a0400 */ add.s $f16,$f0,$f10 +/* f09a568: e4900660 */ swc1 $f16,0x660($a0) +/* f09a56c: c4920660 */ lwc1 $f18,0x660($a0) +/* f09a570: 4612103c */ c.lt.s $f2,$f18 +/* f09a574: 00000000 */ nop +/* f09a578: 45000006 */ bc1f .L0f09a594 +/* f09a57c: 00000000 */ nop +/* f09a580: 03e00008 */ jr $ra +/* f09a584: e4820660 */ swc1 $f2,0x660($a0) +/* f09a588: 44811000 */ mtc1 $at,$f2 +.L0f09a58c: +/* f09a58c: 00000000 */ nop +/* f09a590: e4820660 */ swc1 $f2,0x660($a0) +.L0f09a594: +/* f09a594: 03e00008 */ jr $ra +/* f09a598: 24020001 */ addiu $v0,$zero,0x1 +/* f09a59c: 3c013f80 */ lui $at,0x3f80 +.L0f09a5a0: +/* f09a5a0: 44811000 */ mtc1 $at,$f2 +/* f09a5a4: 10600011 */ beqz $v1,.L0f09a5ec +/* f09a5a8: e4820660 */ swc1 $f2,0x660($a0) +/* f09a5ac: 8c8b0558 */ lw $t3,0x558($a0) +/* f09a5b0: 5960000e */ blezl $t3,.L0f09a5ec +/* f09a5b4: ac800614 */ sw $zero,0x614($a0) +/* f09a5b8: 908c0000 */ lbu $t4,0x0($a0) +/* f09a5bc: 24010013 */ addiu $at,$zero,0x13 +/* f09a5c0: 24020003 */ addiu $v0,$zero,0x3 +/* f09a5c4: 55810003 */ bnel $t4,$at,.L0f09a5d4 +/* f09a5c8: 8c8d0614 */ lw $t5,0x614($a0) +/* f09a5cc: 2402000d */ addiu $v0,$zero,0xa +/* f09a5d0: 8c8d0614 */ lw $t5,0x614($a0) +.L0f09a5d4: +/* f09a5d4: 01a2082a */ slt $at,$t5,$v0 +/* f09a5d8: 50200004 */ beqzl $at,.L0f09a5ec +/* f09a5dc: ac800614 */ sw $zero,0x614($a0) +/* f09a5e0: 03e00008 */ jr $ra +/* f09a5e4: 00001025 */ or $v0,$zero,$zero +/* f09a5e8: ac800614 */ sw $zero,0x614($a0) +.L0f09a5ec: +/* f09a5ec: 8ca80010 */ lw $t0,0x10($a1) +/* f09a5f0: 310e0002 */ andi $t6,$t0,0x2 +/* f09a5f4: 11c00006 */ beqz $t6,.L0f09a610 +/* f09a5f8: 31181000 */ andi $t8,$t0,0x1000 +/* f09a5fc: 8c8f0558 */ lw $t7,0x558($a0) +/* f09a600: 24010002 */ addiu $at,$zero,0x2 +/* f09a604: 15e10002 */ bne $t7,$at,.L0f09a610 +/* f09a608: 00000000 */ nop +/* f09a60c: 00001825 */ or $v1,$zero,$zero +.L0f09a610: +/* f09a610: 13000006 */ beqz $t8,.L0f09a62c +/* f09a614: 01075024 */ and $t2,$t0,$a3 +/* f09a618: 8c990558 */ lw $t9,0x558($a0) +/* f09a61c: 24010001 */ addiu $at,$zero,0x1 +/* f09a620: 17210002 */ bne $t9,$at,.L0f09a62c +/* f09a624: 00000000 */ nop +/* f09a628: 00001825 */ or $v1,$zero,$zero +.L0f09a62c: +/* f09a62c: 11400006 */ beqz $t2,.L0f09a648 +/* f09a630: 00000000 */ nop +/* f09a634: 8c8b0558 */ lw $t3,0x558($a0) +/* f09a638: 24010004 */ addiu $at,$zero,0x4 +/* f09a63c: 15610002 */ bne $t3,$at,.L0f09a648 +/* f09a640: 00000000 */ nop +/* f09a644: 00001825 */ or $v1,$zero,$zero +.L0f09a648: +/* f09a648: 10600003 */ beqz $v1,.L0f09a658 +/* f09a64c: 00000000 */ nop +/* f09a650: 03e00008 */ jr $ra +/* f09a654: 24020001 */ addiu $v0,$zero,0x1 +.L0f09a658: +/* f09a658: 03e00008 */ jr $ra +/* f09a65c: 24020002 */ addiu $v0,$zero,0x2 +/* f09a660: 8cac0000 */ lw $t4,0x0($a1) +.L0f09a664: +/* f09a664: 24010100 */ addiu $at,$zero,0x100 +/* f09a668: 2402ffff */ addiu $v0,$zero,-1 +/* f09a66c: 318dff00 */ andi $t5,$t4,0xff00 +/* f09a670: 15a1001f */ bne $t5,$at,.L0f09a6f0 +/* f09a674: 00000000 */ nop +/* f09a678: 80a20051 */ lb $v0,0x51($a1) +/* f09a67c: 58400018 */ blezl $v0,.L0f09a6e0 +/* f09a680: 44801000 */ mtc1 $zero,$f2 +/* f09a684: 44801000 */ mtc1 $zero,$f2 +/* f09a688: c4800660 */ lwc1 $f0,0x660($a0) +/* f09a68c: 4600103c */ c.lt.s $f2,$f0 +/* f09a690: 00000000 */ nop +/* f09a694: 45000014 */ bc1f .L0f09a6e8 +/* f09a698: 00000000 */ nop +/* f09a69c: 44822000 */ mtc1 $v0,$f4 +/* f09a6a0: c5260044 */ lwc1 $f6,0x4c($t1) +/* f09a6a4: 2402ffff */ addiu $v0,$zero,-1 +/* f09a6a8: 46802220 */ cvt.s.w $f8,$f4 +/* f09a6ac: 46083283 */ div.s $f10,$f6,$f8 +/* f09a6b0: 460a0401 */ sub.s $f16,$f0,$f10 +/* f09a6b4: e4900660 */ swc1 $f16,0x660($a0) +/* f09a6b8: c4920660 */ lwc1 $f18,0x660($a0) +/* f09a6bc: 4602903c */ c.lt.s $f18,$f2 +/* f09a6c0: 00000000 */ nop +/* f09a6c4: 45000003 */ bc1f .L0f09a6d4 +/* f09a6c8: 00000000 */ nop +/* f09a6cc: 03e00008 */ jr $ra +/* f09a6d0: e4820660 */ swc1 $f2,0x660($a0) +.L0f09a6d4: +/* f09a6d4: 03e00008 */ jr $ra +/* f09a6d8: 24020001 */ addiu $v0,$zero,0x1 +/* f09a6dc: 44801000 */ mtc1 $zero,$f2 +.L0f09a6e0: +/* f09a6e0: 00000000 */ nop +/* f09a6e4: e4820660 */ swc1 $f2,0x660($a0) +.L0f09a6e8: +/* f09a6e8: 03e00008 */ jr $ra +/* f09a6ec: 2402ffff */ addiu $v0,$zero,-1 +.L0f09a6f0: +/* f09a6f0: 03e00008 */ jr $ra +/* f09a6f4: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f09a3f8 /* f09a3f8: 8ca80010 */ lw $t0,0x10($a1) @@ -4744,7 +5630,339 @@ glabel func0f09a3f8 /* f09a6f0: 03e00008 */ jr $ra /* f09a6f4: 00000000 */ nop ); +#endif +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f09a6f8 +.late_rodata +glabel var7f1ac320 +.word 0x3ecccccd +.text +/* f09a6f8: 27bdffa8 */ addiu $sp,$sp,-88 +/* f09a6fc: afa40058 */ sw $a0,0x58($sp) +/* f09a700: afa5005c */ sw $a1,0x5c($sp) +/* f09a704: afbf002c */ sw $ra,0x2c($sp) +/* f09a708: afb00028 */ sw $s0,0x28($sp) +/* f09a70c: 240e0001 */ addiu $t6,$zero,0x1 +/* f09a710: 3c058007 */ lui $a1,%hi(var80070120) +/* f09a714: 3c047f1b */ lui $a0,%hi(var7f1ab890) +/* f09a718: 00c08025 */ or $s0,$a2,$zero +/* f09a71c: afae0054 */ sw $t6,0x54($sp) +/* f09a720: 2484b890 */ addiu $a0,$a0,%lo(var7f1ab890) +/* f09a724: 24a50120 */ addiu $a1,$a1,%lo(var80070120) +/* f09a728: 0c0036cc */ jal func0000db30 +/* f09a72c: afa70064 */ sw $a3,0x64($sp) +/* f09a730: 3c047f1b */ lui $a0,%hi(var7f1ab898) +/* f09a734: 3c058007 */ lui $a1,%hi(var80070124) +/* f09a738: 24a50124 */ addiu $a1,$a1,%lo(var80070124) +/* f09a73c: 0c0036cc */ jal func0000db30 +/* f09a740: 2484b898 */ addiu $a0,$a0,%lo(var7f1ab898) +/* f09a744: 8fa70064 */ lw $a3,0x64($sp) +/* f09a748: 24060001 */ addiu $a2,$zero,0x1 +/* f09a74c: a2060004 */ sb $a2,0x4($s0) +/* f09a750: 8cef0000 */ lw $t7,0x0($a3) +/* f09a754: 24010100 */ addiu $at,$zero,0x100 +/* f09a758: 31f8ff00 */ andi $t8,$t7,0xff00 +/* f09a75c: 57010023 */ bnel $t8,$at,.L0f09a7ec +/* f09a760: 920c0000 */ lbu $t4,0x0($s0) +/* f09a764: c4e00040 */ lwc1 $f0,0x40($a3) +/* f09a768: c4e40044 */ lwc1 $f4,0x44($a3) +/* f09a76c: c6080660 */ lwc1 $f8,0x660($s0) +/* f09a770: 3c014270 */ lui $at,0x4270 +/* f09a774: 46002181 */ sub.s $f6,$f4,$f0 +/* f09a778: 44817000 */ mtc1 $at,$f14 +/* f09a77c: 3c01800a */ lui $at,%hi(g_Vars+0x4c) +/* f09a780: c432a004 */ lwc1 $f18,%lo(g_Vars+0x4c)($at) +/* f09a784: 46083282 */ mul.s $f10,$f6,$f8 +/* f09a788: c60805fc */ lwc1 $f8,0x5fc($s0) +/* f09a78c: 460e9103 */ div.s $f4,$f18,$f14 +/* f09a790: 460a0300 */ add.s $f12,$f0,$f10 +/* f09a794: 460e6403 */ div.s $f16,$f12,$f14 +/* f09a798: 46048182 */ mul.s $f6,$f16,$f4 +/* f09a79c: 46083080 */ add.s $f2,$f6,$f8 +/* f09a7a0: 4600128d */ trunc.w.s $f10,$f2 +/* f09a7a4: 44025000 */ mfc1 $v0,$f10 +/* f09a7a8: 00000000 */ nop +/* f09a7ac: 44829000 */ mtc1 $v0,$f18 +/* f09a7b0: ae0205f8 */ sw $v0,0x5f8($s0) +/* f09a7b4: 46809420 */ cvt.s.w $f16,$f18 +/* f09a7b8: 46101101 */ sub.s $f4,$f2,$f16 +/* f09a7bc: 1c400010 */ bgtz $v0,.L0f09a800 +/* f09a7c0: e60405fc */ swc1 $f4,0x5fc($s0) +/* f09a7c4: 8e08060c */ lw $t0,0x60c($s0) +/* f09a7c8: 244b0001 */ addiu $t3,$v0,0x1 +/* f09a7cc: 31090010 */ andi $t1,$t0,0x10 +/* f09a7d0: 15200003 */ bnez $t1,.L0f09a7e0 +/* f09a7d4: 00000000 */ nop +/* f09a7d8: 10000009 */ b .L0f09a800 +/* f09a7dc: ae0b05f8 */ sw $t3,0x5f8($s0) +.L0f09a7e0: +/* f09a7e0: 10000007 */ b .L0f09a800 +/* f09a7e4: a2000004 */ sb $zero,0x4($s0) +/* f09a7e8: 920c0000 */ lbu $t4,0x0($s0) +.L0f09a7ec: +/* f09a7ec: 2401001d */ addiu $at,$zero,0x1d +/* f09a7f0: ae0605f8 */ sw $a2,0x5f8($s0) +/* f09a7f4: 55810003 */ bnel $t4,$at,.L0f09a804 +/* f09a7f8: 8e0d0558 */ lw $t5,0x558($s0) +/* f09a7fc: afa00054 */ sw $zero,0x54($sp) +.L0f09a800: +/* f09a800: 8e0d0558 */ lw $t5,0x558($s0) +.L0f09a804: +/* f09a804: 8e0e05f8 */ lw $t6,0x5f8($s0) +/* f09a808: 01ae7821 */ addu $t7,$t5,$t6 +/* f09a80c: ae0f0558 */ sw $t7,0x558($s0) +/* f09a810: 8cf80010 */ lw $t8,0x10($a3) +/* f09a814: 33192000 */ andi $t9,$t8,0x2000 +/* f09a818: 53200004 */ beqzl $t9,.L0f09a82c +/* f09a81c: a2060005 */ sb $a2,0x5($s0) +/* f09a820: 10000002 */ b .L0f09a82c +/* f09a824: a2000005 */ sb $zero,0x5($s0) +/* f09a828: a2060005 */ sb $a2,0x5($s0) +.L0f09a82c: +/* f09a82c: 8fa4005c */ lw $a0,0x5c($sp) +/* f09a830: 0fc288c2 */ jal func0f0a2308 +/* f09a834: afa70064 */ sw $a3,0x64($sp) +/* f09a838: 82020004 */ lb $v0,0x4($s0) +/* f09a83c: 44803000 */ mtc1 $zero,$f6 +/* f09a840: 8fa70064 */ lw $a3,0x64($sp) +/* f09a844: 10400036 */ beqz $v0,.L0f09a920 +/* f09a848: e6060250 */ swc1 $f6,0x250($s0) +/* f09a84c: 8e09060c */ lw $t1,0x60c($s0) +/* f09a850: 8e080614 */ lw $t0,0x614($s0) +/* f09a854: 352a0020 */ ori $t2,$t1,0x20 +/* f09a858: ae0a060c */ sw $t2,0x60c($s0) +/* f09a85c: 354c0010 */ ori $t4,$t2,0x10 +/* f09a860: ae0c060c */ sw $t4,0x60c($s0) +/* f09a864: ae0806a8 */ sw $t0,0x6a8($s0) +/* f09a868: 8fad0058 */ lw $t5,0x58($sp) +/* f09a86c: 8fa4005c */ lw $a0,0x5c($sp) +/* f09a870: 8da50000 */ lw $a1,0x0($t5) +/* f09a874: 0fc25ee8 */ jal func0f097ba0 +/* f09a878: afa70064 */ sw $a3,0x64($sp) +/* f09a87c: 8fae0054 */ lw $t6,0x54($sp) +/* f09a880: 24060001 */ addiu $a2,$zero,0x1 +/* f09a884: 8fa70064 */ lw $a3,0x64($sp) +/* f09a888: 11c00016 */ beqz $t6,.L0f09a8e4 +/* f09a88c: 24010100 */ addiu $at,$zero,0x100 +/* f09a890: 80e30007 */ lb $v1,0x7($a3) +/* f09a894: 04600013 */ bltz $v1,.L0f09a8e4 +/* f09a898: 00037880 */ sll $t7,$v1,0x2 +/* f09a89c: 020f1021 */ addu $v0,$s0,$t7 +/* f09a8a0: 8c580220 */ lw $t8,0x220($v0) +/* f09a8a4: 8e1905f8 */ lw $t9,0x5f8($s0) +/* f09a8a8: 03194023 */ subu $t0,$t8,$t9 +/* f09a8ac: ac480220 */ sw $t0,0x220($v0) +/* f09a8b0: 80e90007 */ lb $t1,0x7($a3) +/* f09a8b4: 00095080 */ sll $t2,$t1,0x2 +/* f09a8b8: 020a5821 */ addu $t3,$s0,$t2 +/* f09a8bc: 8d640220 */ lw $a0,0x220($t3) +/* f09a8c0: 04830009 */ bgezl $a0,.L0f09a8e8 +/* f09a8c4: 8ce20000 */ lw $v0,0x0($a3) +/* f09a8c8: 8e0c05f8 */ lw $t4,0x5f8($s0) +/* f09a8cc: 01846821 */ addu $t5,$t4,$a0 +/* f09a8d0: ae0d05f8 */ sw $t5,0x5f8($s0) +/* f09a8d4: 80ee0007 */ lb $t6,0x7($a3) +/* f09a8d8: 000e7880 */ sll $t7,$t6,0x2 +/* f09a8dc: 020fc021 */ addu $t8,$s0,$t7 +/* f09a8e0: af000220 */ sw $zero,0x220($t8) +.L0f09a8e4: +/* f09a8e4: 8ce20000 */ lw $v0,0x0($a3) +.L0f09a8e8: +/* f09a8e8: 3059ff00 */ andi $t9,$v0,0xff00 +/* f09a8ec: 53200008 */ beqzl $t9,.L0f09a910 +/* f09a8f0: ae0606ac */ sw $a2,0x6ac($s0) +/* f09a8f4: 13210005 */ beq $t9,$at,.L0f09a90c +/* f09a8f8: 24010200 */ addiu $at,$zero,0x200 +/* f09a8fc: 13210006 */ beq $t9,$at,.L0f09a918 +/* f09a900: 24080002 */ addiu $t0,$zero,0x2 +/* f09a904: 10000006 */ b .L0f09a920 +/* f09a908: 82020004 */ lb $v0,0x4($s0) +.L0f09a90c: +/* f09a90c: ae0606ac */ sw $a2,0x6ac($s0) +.L0f09a910: +/* f09a910: 10000003 */ b .L0f09a920 +/* f09a914: 82020004 */ lb $v0,0x4($s0) +.L0f09a918: +/* f09a918: ae0806ac */ sw $t0,0x6ac($s0) +/* f09a91c: 82020004 */ lb $v0,0x4($s0) +.L0f09a920: +/* f09a920: 1040009b */ beqz $v0,.L0f09ab90 +/* f09a924: 02002025 */ or $a0,$s0,$zero +/* f09a928: 0fc2c78a */ jal handGetSingleUnk38 +/* f09a92c: afa00044 */ sw $zero,0x44($sp) +/* f09a930: 1840001e */ blez $v0,.L0f09a9ac +/* f09a934: 8fa30044 */ lw $v1,0x44($sp) +/* f09a938: 8faa005c */ lw $t2,0x5c($sp) +/* f09a93c: 3c09800a */ lui $t1,%hi(g_Vars+0x284) +/* f09a940: 8d29a244 */ lw $t1,%lo(g_Vars+0x284)($t1) +/* f09a944: 000a5900 */ sll $t3,$t2,0x4 +/* f09a948: 016a5823 */ subu $t3,$t3,$t2 +/* f09a94c: 000b5880 */ sll $t3,$t3,0x2 +/* f09a950: 016a5821 */ addu $t3,$t3,$t2 +/* f09a954: 000b58c0 */ sll $t3,$t3,0x3 +/* f09a958: 016a5821 */ addu $t3,$t3,$t2 +/* f09a95c: 000b5880 */ sll $t3,$t3,0x2 +/* f09a960: 000b6023 */ negu $t4,$t3 +/* f09a964: 3c02800a */ lui $v0,%hi(g_Vars+0x8) +/* f09a968: 012c6821 */ addu $t5,$t1,$t4 +/* f09a96c: 8dae0fb4 */ lw $t6,0xfb4($t5) +/* f09a970: 8c429fc8 */ lw $v0,%lo(g_Vars+0x8)($v0) +/* f09a974: 104e0011 */ beq $v0,$t6,.L0f09a9bc +/* f09a978: 00000000 */ nop +/* f09a97c: 8e0f01d4 */ lw $t7,0x1d4($s0) +/* f09a980: 01e2082a */ slt $at,$t7,$v0 +/* f09a984: 1020000d */ beqz $at,.L0f09a9bc +/* f09a988: 00000000 */ nop +/* f09a98c: 0fc2c78a */ jal handGetSingleUnk38 +/* f09a990: 02002025 */ or $a0,$s0,$zero +/* f09a994: 3c18800a */ lui $t8,%hi(g_Vars+0x8) +/* f09a998: 8f189fc8 */ lw $t8,%lo(g_Vars+0x8)($t8) +/* f09a99c: 24030001 */ addiu $v1,$zero,0x1 +/* f09a9a0: 0058c821 */ addu $t9,$v0,$t8 +/* f09a9a4: 10000005 */ b .L0f09a9bc +/* f09a9a8: ae1901d4 */ sw $t9,0x1d4($s0) +.L0f09a9ac: +/* f09a9ac: 82080004 */ lb $t0,0x4($s0) +/* f09a9b0: 11000002 */ beqz $t0,.L0f09a9bc +/* f09a9b4: 00000000 */ nop +/* f09a9b8: 24030001 */ addiu $v1,$zero,0x1 +.L0f09a9bc: +/* f09a9bc: 50600075 */ beqzl $v1,.L0f09ab94 +/* f09a9c0: 8fbf002c */ lw $ra,0x2c($sp) +/* f09a9c4: 0c012230 */ jal osGetThreadPri +/* f09a9c8: 00002025 */ or $a0,$zero,$zero +/* f09a9cc: 3c048009 */ lui $a0,%hi(g_AudioManager+0x18) +/* f09a9d0: afa20040 */ sw $v0,0x40($sp) +/* f09a9d4: 0c012230 */ jal osGetThreadPri +/* f09a9d8: 248415e0 */ addiu $a0,$a0,%lo(g_AudioManager+0x18) +/* f09a9dc: 00002025 */ or $a0,$zero,$zero +/* f09a9e0: 0c01210c */ jal osSetThreadPri +/* f09a9e4: 24450001 */ addiu $a1,$v0,0x1 +/* f09a9e8: 8e0401cc */ lw $a0,0x1cc($s0) +/* f09a9ec: 50800008 */ beqzl $a0,.L0f09aa10 +/* f09a9f0: 8e0401d0 */ lw $a0,0x1d0($s0) +/* f09a9f4: 0c00cdfc */ jal audioIsPlaying +/* f09a9f8: 00000000 */ nop +/* f09a9fc: 50400004 */ beqzl $v0,.L0f09aa10 +/* f09aa00: 8e0401d0 */ lw $a0,0x1d0($s0) +/* f09aa04: 0c00cec9 */ jal audioStop +/* f09aa08: 8e0401cc */ lw $a0,0x1cc($s0) +/* f09aa0c: 8e0401d0 */ lw $a0,0x1d0($s0) +.L0f09aa10: +/* f09aa10: 10800007 */ beqz $a0,.L0f09aa30 +/* f09aa14: 00000000 */ nop +/* f09aa18: 0c00cdfc */ jal audioIsPlaying +/* f09aa1c: 00000000 */ nop +/* f09aa20: 10400003 */ beqz $v0,.L0f09aa30 +/* f09aa24: 00000000 */ nop +/* f09aa28: 0c00cec9 */ jal audioStop +/* f09aa2c: 8e0401d0 */ lw $a0,0x1d0($s0) +.L0f09aa30: +/* f09aa30: 0fc2c79a */ jal handGetSingleShootSound +/* f09aa34: 02002025 */ or $a0,$s0,$zero +/* f09aa38: 50400053 */ beqzl $v0,.L0f09ab88 +/* f09aa3c: 00002025 */ or $a0,$zero,$zero +/* f09aa40: 8e0a01cc */ lw $t2,0x1cc($s0) +/* f09aa44: 00002025 */ or $a0,$zero,$zero +/* f09aa48: 55400017 */ bnezl $t2,.L0f09aaa8 +/* f09aa4c: 8e0e01d0 */ lw $t6,0x1d0($s0) +/* f09aa50: 0fc2c79a */ jal handGetSingleShootSound +/* f09aa54: 02002025 */ or $a0,$s0,$zero +/* f09aa58: 3c01bf80 */ lui $at,0xbf80 +/* f09aa5c: 44814000 */ mtc1 $at,$f8 +/* f09aa60: 00022c00 */ sll $a1,$v0,0x10 +/* f09aa64: 00055c03 */ sra $t3,$a1,0x10 +/* f09aa68: 3c048009 */ lui $a0,%hi(var80095200) +/* f09aa6c: 2409ffff */ addiu $t1,$zero,-1 +/* f09aa70: 240cffff */ addiu $t4,$zero,-1 +/* f09aa74: 240dffff */ addiu $t5,$zero,-1 +/* f09aa78: afad001c */ sw $t5,0x1c($sp) +/* f09aa7c: afac0018 */ sw $t4,0x18($sp) +/* f09aa80: afa90010 */ sw $t1,0x10($sp) +/* f09aa84: 8c845200 */ lw $a0,%lo(var80095200)($a0) +/* f09aa88: 01602825 */ or $a1,$t3,$zero +/* f09aa8c: 260601cc */ addiu $a2,$s0,0x1cc +/* f09aa90: 2407ffff */ addiu $a3,$zero,-1 +/* f09aa94: 0c004241 */ jal audioStart +/* f09aa98: e7a80014 */ swc1 $f8,0x14($sp) +/* f09aa9c: 10000018 */ b .L0f09ab00 +/* f09aaa0: 00402025 */ or $a0,$v0,$zero +/* f09aaa4: 8e0e01d0 */ lw $t6,0x1d0($s0) +.L0f09aaa8: +/* f09aaa8: 55c00016 */ bnezl $t6,.L0f09ab04 +/* f09aaac: 920b0000 */ lbu $t3,0x0($s0) +/* f09aab0: 0fc2c79a */ jal handGetSingleShootSound +/* f09aab4: 02002025 */ or $a0,$s0,$zero +/* f09aab8: 3c01bf80 */ lui $at,0xbf80 +/* f09aabc: 44815000 */ mtc1 $at,$f10 +/* f09aac0: 00022c00 */ sll $a1,$v0,0x10 +/* f09aac4: 00057c03 */ sra $t7,$a1,0x10 +/* f09aac8: 3c048009 */ lui $a0,%hi(var80095200) +/* f09aacc: 2418ffff */ addiu $t8,$zero,-1 +/* f09aad0: 2419ffff */ addiu $t9,$zero,-1 +/* f09aad4: 2408ffff */ addiu $t0,$zero,-1 +/* f09aad8: afa8001c */ sw $t0,0x1c($sp) +/* f09aadc: afb90018 */ sw $t9,0x18($sp) +/* f09aae0: afb80010 */ sw $t8,0x10($sp) +/* f09aae4: 8c845200 */ lw $a0,%lo(var80095200)($a0) +/* f09aae8: 01e02825 */ or $a1,$t7,$zero +/* f09aaec: 260601d0 */ addiu $a2,$s0,0x1d0 +/* f09aaf0: 2407ffff */ addiu $a3,$zero,-1 +/* f09aaf4: 0c004241 */ jal audioStart +/* f09aaf8: e7aa0014 */ swc1 $f10,0x14($sp) +/* f09aafc: 00402025 */ or $a0,$v0,$zero +.L0f09ab00: +/* f09ab00: 920b0000 */ lbu $t3,0x0($s0) +.L0f09ab04: +/* f09ab04: 3c0a800a */ lui $t2,%hi(g_Vars+0x8) +/* f09ab08: 8d4a9fc8 */ lw $t2,%lo(g_Vars+0x8)($t2) +/* f09ab0c: 24010006 */ addiu $at,$zero,0x6 +/* f09ab10: 1561001c */ bne $t3,$at,.L0f09ab84 +/* f09ab14: ae0a01d8 */ sw $t2,0x1d8($s0) +/* f09ab18: 5080001b */ beqzl $a0,.L0f09ab88 +/* f09ab1c: 00002025 */ or $a0,$zero,$zero +/* f09ab20: c612023c */ lwc1 $f18,0x23c($s0) +/* f09ab24: 3c013f80 */ lui $at,0x3f80 +/* f09ab28: 44816000 */ mtc1 $at,$f12 +/* f09ab2c: 4600940d */ trunc.w.s $f16,$f18 +/* f09ab30: 3c014040 */ lui $at,0x4040 +/* f09ab34: 44814000 */ mtc1 $at,$f8 +/* f09ab38: 3c017f1b */ lui $at,%hi(var7f1ac320) +/* f09ab3c: 44028000 */ mfc1 $v0,$f16 +/* f09ab40: 00000000 */ nop +/* f09ab44: 44822000 */ mtc1 $v0,$f4 +/* f09ab48: 00000000 */ nop +/* f09ab4c: 468021a0 */ cvt.s.w $f6,$f4 +/* f09ab50: 46083083 */ div.s $f2,$f6,$f8 +/* f09ab54: 4602603c */ c.lt.s $f12,$f2 +/* f09ab58: 00000000 */ nop +/* f09ab5c: 45000002 */ bc1f .L0f09ab68 +/* f09ab60: 00000000 */ nop +/* f09ab64: 46006086 */ mov.s $f2,$f12 +.L0f09ab68: +/* f09ab68: c42ac320 */ lwc1 $f10,%lo(var7f1ac320)($at) +/* f09ab6c: 24050010 */ addiu $a1,$zero,0x10 +/* f09ab70: 460a1482 */ mul.s $f18,$f2,$f10 +/* f09ab74: 46126401 */ sub.s $f16,$f12,$f18 +/* f09ab78: e7b00034 */ swc1 $f16,0x34($sp) +/* f09ab7c: 0c00cf94 */ jal func00033e50 +/* f09ab80: 8fa60034 */ lw $a2,0x34($sp) +.L0f09ab84: +/* f09ab84: 00002025 */ or $a0,$zero,$zero +.L0f09ab88: +/* f09ab88: 0c01210c */ jal osSetThreadPri +/* f09ab8c: 8fa50040 */ lw $a1,0x40($sp) +.L0f09ab90: +/* f09ab90: 8fbf002c */ lw $ra,0x2c($sp) +.L0f09ab94: +/* f09ab94: 8fb00028 */ lw $s0,0x28($sp) +/* f09ab98: 27bd0058 */ addiu $sp,$sp,0x58 +/* f09ab9c: 03e00008 */ jr $ra +/* f09aba0: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f09a6f8 .late_rodata @@ -5074,6 +6292,7 @@ glabel var7f1ac320 /* f09ab9c: 03e00008 */ jr $ra /* f09aba0: 00000000 */ nop ); +#endif #if VERSION >= VERSION_PAL_FINAL GLOBAL_ASM( @@ -6371,6 +7590,241 @@ s32 weaponGetMinClipQty(s32 weaponnum, s32 funcnum) return 1; } +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f09b500 +.late_rodata +glabel var7f1ac338 +.word 0x3dcccccd +glabel var7f1ac33c +.word 0x3c23d70a +.text +/* f09b500: 27bdffd8 */ addiu $sp,$sp,-40 +/* f09b504: afbf001c */ sw $ra,0x1c($sp) +/* f09b508: afb00018 */ sw $s0,0x18($sp) +/* f09b50c: afa40028 */ sw $a0,0x28($sp) +/* f09b510: 00a08025 */ or $s0,$a1,$zero +/* f09b514: 0fc2c41f */ jal handGetWeaponFunction +/* f09b518: 00a02025 */ or $a0,$a1,$zero +/* f09b51c: 14400003 */ bnez $v0,.L0f09b52c +/* f09b520: 00403825 */ or $a3,$v0,$zero +/* f09b524: 100000bb */ b .L0f09b814 +/* f09b528: 24020001 */ addiu $v0,$zero,0x1 +.L0f09b52c: +/* f09b52c: 920e0000 */ lbu $t6,0x0($s0) +/* f09b530: 24010014 */ addiu $at,$zero,0x14 +/* f09b534: 24180001 */ addiu $t8,$zero,0x1 +/* f09b538: 15c10027 */ bne $t6,$at,.L0f09b5d8 +/* f09b53c: 24190004 */ addiu $t9,$zero,0x4 +/* f09b540: 8e0f0618 */ lw $t7,0x618($s0) +/* f09b544: 3c017f1b */ lui $at,%hi(var7f1ac338) +/* f09b548: 55e00005 */ bnezl $t7,.L0f09b560 +/* f09b54c: 8e080558 */ lw $t0,0x558($s0) +/* f09b550: c424c338 */ lwc1 $f4,%lo(var7f1ac338)($at) +/* f09b554: ae000558 */ sw $zero,0x558($s0) +/* f09b558: e6040240 */ swc1 $f4,0x240($s0) +/* f09b55c: 8e080558 */ lw $t0,0x558($s0) +.L0f09b560: +/* f09b560: 8e0a000c */ lw $t2,0xc($s0) +/* f09b564: a2180004 */ sb $t8,0x4($s0) +/* f09b568: 25090001 */ addiu $t1,$t0,0x1 +/* f09b56c: ae1906ac */ sw $t9,0x6ac($s0) +/* f09b570: 11400013 */ beqz $t2,.L0f09b5c0 +/* f09b574: ae090558 */ sw $t1,0x558($s0) +/* f09b578: 3c013f80 */ lui $at,0x3f80 +/* f09b57c: 44810000 */ mtc1 $at,$f0 +/* f09b580: 3c017f1b */ lui $at,%hi(var7f1ac33c) +/* f09b584: c426c33c */ lwc1 $f6,%lo(var7f1ac33c)($at) +/* f09b588: 3c01800a */ lui $at,%hi(g_Vars+0x4c) +/* f09b58c: c428a004 */ lwc1 $f8,%lo(g_Vars+0x4c)($at) +/* f09b590: c6100240 */ lwc1 $f16,0x240($s0) +/* f09b594: 00001025 */ or $v0,$zero,$zero +/* f09b598: 46083282 */ mul.s $f10,$f6,$f8 +/* f09b59c: 460a8480 */ add.s $f18,$f16,$f10 +/* f09b5a0: e6120240 */ swc1 $f18,0x240($s0) +/* f09b5a4: c6040240 */ lwc1 $f4,0x240($s0) +/* f09b5a8: 4604003c */ c.lt.s $f0,$f4 +/* f09b5ac: 00000000 */ nop +/* f09b5b0: 45000007 */ bc1f .L0f09b5d0 +/* f09b5b4: 00000000 */ nop +/* f09b5b8: 10000096 */ b .L0f09b814 +/* f09b5bc: e6000240 */ swc1 $f0,0x240($s0) +.L0f09b5c0: +/* f09b5c0: 44803000 */ mtc1 $zero,$f6 +/* f09b5c4: 24020001 */ addiu $v0,$zero,0x1 +/* f09b5c8: 10000092 */ b .L0f09b814 +/* f09b5cc: e6060240 */ swc1 $f6,0x240($s0) +.L0f09b5d0: +/* f09b5d0: 10000090 */ b .L0f09b814 +/* f09b5d4: 00001025 */ or $v0,$zero,$zero +.L0f09b5d8: +/* f09b5d8: 8e030608 */ lw $v1,0x608($s0) +/* f09b5dc: 5460002c */ bnezl $v1,.L0f09b690 +/* f09b5e0: 24010003 */ addiu $at,$zero,0x3 +/* f09b5e4: 8e0b0618 */ lw $t3,0x618($s0) +/* f09b5e8: 240c0001 */ addiu $t4,$zero,0x1 +/* f09b5ec: 240d000a */ addiu $t5,$zero,0xa +/* f09b5f0: 55600010 */ bnezl $t3,.L0f09b634 +/* f09b5f4: 8ce8000c */ lw $t0,0xc($a3) +/* f09b5f8: a20c0004 */ sb $t4,0x4($s0) +/* f09b5fc: ae0d06ac */ sw $t5,0x6ac($s0) +/* f09b600: 8c4e000c */ lw $t6,0xc($v0) +/* f09b604: 8fa50028 */ lw $a1,0x28($sp) +/* f09b608: 02003025 */ or $a2,$s0,$zero +/* f09b60c: 51c00009 */ beqzl $t6,.L0f09b634 +/* f09b610: 8ce8000c */ lw $t0,0xc($a3) +/* f09b614: 8ce4000c */ lw $a0,0xc($a3) +/* f09b618: 0fc26238 */ jal func0f0988e0 +/* f09b61c: afa70024 */ sw $a3,0x24($sp) +/* f09b620: 92180690 */ lbu $t8,0x690($s0) +/* f09b624: 8fa70024 */ lw $a3,0x24($sp) +/* f09b628: 37190080 */ ori $t9,$t8,0x80 +/* f09b62c: a2190690 */ sb $t9,0x690($s0) +/* f09b630: 8ce8000c */ lw $t0,0xc($a3) +.L0f09b634: +/* f09b634: 02002025 */ or $a0,$s0,$zero +/* f09b638: 24050002 */ addiu $a1,$zero,0x2 +/* f09b63c: 11000012 */ beqz $t0,.L0f09b688 +/* f09b640: 24030001 */ addiu $v1,$zero,0x1 +/* f09b644: 8e090014 */ lw $t1,0x14($s0) +/* f09b648: 11200004 */ beqz $t1,.L0f09b65c +/* f09b64c: 00000000 */ nop +/* f09b650: 920a0690 */ lbu $t2,0x690($s0) +/* f09b654: 314bff7f */ andi $t3,$t2,0xff7f +/* f09b658: a20b0690 */ sb $t3,0x690($s0) +.L0f09b65c: +/* f09b65c: 0fc26291 */ jal func0f098a44 +/* f09b660: afa70024 */ sw $a3,0x24($sp) +/* f09b664: 10400006 */ beqz $v0,.L0f09b680 +/* f09b668: 8fa70024 */ lw $a3,0x24($sp) +/* f09b66c: 920d0690 */ lbu $t5,0x690($s0) +/* f09b670: 240c0001 */ addiu $t4,$zero,0x1 +/* f09b674: ae0c0608 */ sw $t4,0x608($s0) +/* f09b678: 31aeff7f */ andi $t6,$t5,0xff7f +/* f09b67c: a20e0690 */ sb $t6,0x690($s0) +.L0f09b680: +/* f09b680: 10000002 */ b .L0f09b68c +/* f09b684: 8e030608 */ lw $v1,0x608($s0) +.L0f09b688: +/* f09b688: ae030608 */ sw $v1,0x608($s0) +.L0f09b68c: +/* f09b68c: 24010003 */ addiu $at,$zero,0x3 +.L0f09b690: +/* f09b690: 1461000b */ bne $v1,$at,.L0f09b6c0 +/* f09b694: 02002025 */ or $a0,$s0,$zero +/* f09b698: 24050003 */ addiu $a1,$zero,0x3 +/* f09b69c: 0fc26291 */ jal func0f098a44 +/* f09b6a0: afa70024 */ sw $a3,0x24($sp) +/* f09b6a4: 10400006 */ beqz $v0,.L0f09b6c0 +/* f09b6a8: 8fa70024 */ lw $a3,0x24($sp) +/* f09b6ac: 92190690 */ lbu $t9,0x690($s0) +/* f09b6b0: 24180001 */ addiu $t8,$zero,0x1 +/* f09b6b4: ae180608 */ sw $t8,0x608($s0) +/* f09b6b8: 3328ff7f */ andi $t0,$t9,0xff7f +/* f09b6bc: a2080690 */ sb $t0,0x690($s0) +.L0f09b6c0: +/* f09b6c0: 8e030608 */ lw $v1,0x608($s0) +/* f09b6c4: 24010001 */ addiu $at,$zero,0x1 +/* f09b6c8: 24090001 */ addiu $t1,$zero,0x1 +/* f09b6cc: 14610036 */ bne $v1,$at,.L0f09b7a8 +/* f09b6d0: 240a0004 */ addiu $t2,$zero,0x4 +/* f09b6d4: 920b0000 */ lbu $t3,0x0($s0) +/* f09b6d8: 2401001c */ addiu $at,$zero,0x1c +/* f09b6dc: a2090004 */ sb $t1,0x4($s0) +/* f09b6e0: 1561001d */ bne $t3,$at,.L0f09b758 +/* f09b6e4: ae0a06ac */ sw $t2,0x6ac($s0) +/* f09b6e8: 80ec0007 */ lb $t4,0x7($a3) +/* f09b6ec: 2404001c */ addiu $a0,$zero,0x1c +/* f09b6f0: 24050001 */ addiu $a1,$zero,0x1 +/* f09b6f4: 05820019 */ bltzl $t4,.L0f09b75c +/* f09b6f8: 8ce2000c */ lw $v0,0xc($a3) +/* f09b6fc: 0fc26d36 */ jal weaponGetMinClipQty +/* f09b700: afa70024 */ sw $a3,0x24($sp) +/* f09b704: 8fa70024 */ lw $a3,0x24($sp) +/* f09b708: 2404001c */ addiu $a0,$zero,0x1c +/* f09b70c: 24050001 */ addiu $a1,$zero,0x1 +/* f09b710: 80ed0007 */ lb $t5,0x7($a3) +/* f09b714: 000d7080 */ sll $t6,$t5,0x2 +/* f09b718: 020e1821 */ addu $v1,$s0,$t6 +/* f09b71c: 8c6f0220 */ lw $t7,0x220($v1) +/* f09b720: 004f082a */ slt $at,$v0,$t7 +/* f09b724: 5020000c */ beqzl $at,.L0f09b758 +/* f09b728: ac600220 */ sw $zero,0x220($v1) +/* f09b72c: 0fc26d36 */ jal weaponGetMinClipQty +/* f09b730: afa70024 */ sw $a3,0x24($sp) +/* f09b734: 8fa70024 */ lw $a3,0x24($sp) +/* f09b738: 80f80007 */ lb $t8,0x7($a3) +/* f09b73c: 0018c880 */ sll $t9,$t8,0x2 +/* f09b740: 02191821 */ addu $v1,$s0,$t9 +/* f09b744: 8c680220 */ lw $t0,0x220($v1) +/* f09b748: 01024823 */ subu $t1,$t0,$v0 +/* f09b74c: 10000002 */ b .L0f09b758 +/* f09b750: ac690220 */ sw $t1,0x220($v1) +/* f09b754: ac600220 */ sw $zero,0x220($v1) +.L0f09b758: +/* f09b758: 8ce2000c */ lw $v0,0xc($a3) +.L0f09b75c: +/* f09b75c: 1040000b */ beqz $v0,.L0f09b78c +/* f09b760: 00000000 */ nop +/* f09b764: 10400007 */ beqz $v0,.L0f09b784 +/* f09b768: 02002025 */ or $a0,$s0,$zero +/* f09b76c: 0fc26291 */ jal func0f098a44 +/* f09b770: 24050003 */ addiu $a1,$zero,0x3 +/* f09b774: 14400003 */ bnez $v0,.L0f09b784 +/* f09b778: 240a0003 */ addiu $t2,$zero,0x3 +/* f09b77c: 10000003 */ b .L0f09b78c +/* f09b780: ae0a0608 */ sw $t2,0x608($s0) +.L0f09b784: +/* f09b784: 240b0002 */ addiu $t3,$zero,0x2 +/* f09b788: ae0b0608 */ sw $t3,0x608($s0) +.L0f09b78c: +/* f09b78c: 0fc41b99 */ jal cheatIsActive +/* f09b790: 00002025 */ or $a0,$zero,$zero +/* f09b794: 10400002 */ beqz $v0,.L0f09b7a0 +/* f09b798: 240c0002 */ addiu $t4,$zero,0x2 +/* f09b79c: ae0c0608 */ sw $t4,0x608($s0) +.L0f09b7a0: +/* f09b7a0: 1000001c */ b .L0f09b814 +/* f09b7a4: 00001025 */ or $v0,$zero,$zero +.L0f09b7a8: +/* f09b7a8: 24010002 */ addiu $at,$zero,0x2 +/* f09b7ac: 14610019 */ bne $v1,$at,.L0f09b814 +/* f09b7b0: 00001025 */ or $v0,$zero,$zero +/* f09b7b4: 0fc262ff */ jal func0f098bfc +/* f09b7b8: 02002025 */ or $a0,$s0,$zero +/* f09b7bc: 14400003 */ bnez $v0,.L0f09b7cc +/* f09b7c0: 00000000 */ nop +/* f09b7c4: 10000013 */ b .L0f09b814 +/* f09b7c8: 24020001 */ addiu $v0,$zero,0x1 +.L0f09b7cc: +/* f09b7cc: 0fc41b99 */ jal cheatIsActive +/* f09b7d0: 00002025 */ or $a0,$zero,$zero +/* f09b7d4: 50400008 */ beqzl $v0,.L0f09b7f8 +/* f09b7d8: 8e0e0614 */ lw $t6,0x614($s0) +/* f09b7dc: 920d0000 */ lbu $t5,0x0($s0) +/* f09b7e0: 24010001 */ addiu $at,$zero,0x1 +/* f09b7e4: 55a10004 */ bnel $t5,$at,.L0f09b7f8 +/* f09b7e8: 8e0e0614 */ lw $t6,0x614($s0) +/* f09b7ec: 10000009 */ b .L0f09b814 +/* f09b7f0: 24020001 */ addiu $v0,$zero,0x1 +/* f09b7f4: 8e0e0614 */ lw $t6,0x614($s0) +.L0f09b7f8: +/* f09b7f8: 29c1003d */ slti $at,$t6,0x33 +/* f09b7fc: 14200003 */ bnez $at,.L0f09b80c +/* f09b800: 00000000 */ nop +/* f09b804: 10000003 */ b .L0f09b814 +/* f09b808: 24020001 */ addiu $v0,$zero,0x1 +.L0f09b80c: +/* f09b80c: 10000001 */ b .L0f09b814 +/* f09b810: 00001025 */ or $v0,$zero,$zero +.L0f09b814: +/* f09b814: 8fbf001c */ lw $ra,0x1c($sp) +/* f09b818: 8fb00018 */ lw $s0,0x18($sp) +/* f09b81c: 27bd0028 */ addiu $sp,$sp,0x28 +/* f09b820: 03e00008 */ jr $ra +/* f09b824: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f09b500 .late_rodata @@ -6604,6 +8058,7 @@ glabel var7f1ac33c /* f09b820: 03e00008 */ jr $ra /* f09b824: 00000000 */ nop ); +#endif bool func0f09b828(struct hand *hand) { @@ -6630,7 +8085,7 @@ bool func0f09b828(struct hand *hand) } if (hand->unk0c40 == 2) { - if (hand->unk0c4c > TIME60TOFRAMES(func->unk18)) { + if (hand->unk0c4c > PALDOWN(func->unk18)) { return true; } @@ -6640,6 +8095,7 @@ bool func0f09b828(struct hand *hand) return false; } +#if PAL GLOBAL_ASM( glabel func0f09b8e0 .late_rodata @@ -6781,7 +8237,423 @@ glabel var7f1ac44c .word func0f09b8e0+0x2f8 # f09bbd8 glabel var7f1ac450 .word func0f09b8e0+0x2f8 # f09bbd8 -# Note: rodata continues in next function +glabel var7f1ac454 +.word func0f09b8e0+0x2f8 # f09bbd8 +glabel var7f1ac458 +.word func0f09b8e0+0x2f8 # f09bbd8 +glabel var7f1ac45c +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac460 +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac464 +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac468 +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac46c +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac470 +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac474 +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac478 +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac47c +.word func0f09b8e0+0x228 # f09bb08 +glabel var7f1ac480 +.word 0x40047ae1 +.text +/* f09b8e0: 27bdffa8 */ addiu $sp,$sp,-88 +/* f09b8e4: afbf002c */ sw $ra,0x2c($sp) +/* f09b8e8: afb00028 */ sw $s0,0x28($sp) +/* f09b8ec: afa40058 */ sw $a0,0x58($sp) +/* f09b8f0: afa5005c */ sw $a1,0x5c($sp) +/* f09b8f4: afa70064 */ sw $a3,0x64($sp) +/* f09b8f8: afa00050 */ sw $zero,0x50($sp) +/* f09b8fc: 8c8f0000 */ lw $t7,0x0($a0) +/* f09b900: 00c08025 */ or $s0,$a2,$zero +/* f09b904: 25f8fffe */ addiu $t8,$t7,-2 +/* f09b908: 2f010024 */ sltiu $at,$t8,0x24 +/* f09b90c: 1020003a */ beqz $at,.L0f09b9f8 +/* f09b910: 0018c080 */ sll $t8,$t8,0x2 +/* f09b914: 3c017f1b */ lui $at,%hi(var7f1ac340) +/* f09b918: 00380821 */ addu $at,$at,$t8 +/* f09b91c: 8c38c340 */ lw $t8,%lo(var7f1ac340)($at) +/* f09b920: 03000008 */ jr $t8 +/* f09b924: 00000000 */ nop +/* f09b928: 8e020614 */ lw $v0,0x614($s0) +/* f09b92c: 02002025 */ or $a0,$s0,$zero +/* f09b930: 2841001a */ slti $at,$v0,0x15 +/* f09b934: 14200004 */ bnez $at,.L0f09b948 +/* f09b938: 2459ffe7 */ addiu $t9,$v0,-20 +/* f09b93c: ae190614 */ sw $t9,0x614($s0) +/* f09b940: 0fc26303 */ jal func0f098c0c +/* f09b944: ae00060c */ sw $zero,0x60c($s0) +.L0f09b948: +/* f09b948: 8e08068c */ lw $t0,0x68c($s0) +/* f09b94c: 24010002 */ addiu $at,$zero,0x2 +/* f09b950: 02002025 */ or $a0,$s0,$zero +/* f09b954: 11010022 */ beq $t0,$at,.L0f09b9e0 +/* f09b958: 00000000 */ nop +/* f09b95c: 8e09060c */ lw $t1,0x60c($s0) +/* f09b960: 00002825 */ or $a1,$zero,$zero +/* f09b964: 8fab0058 */ lw $t3,0x58($sp) +/* f09b968: 312a0010 */ andi $t2,$t1,0x10 +/* f09b96c: 15400013 */ bnez $t2,.L0f09b9bc +/* f09b970: 00000000 */ nop +/* f09b974: 8d6c0004 */ lw $t4,0x4($t3) +/* f09b978: 00001825 */ or $v1,$zero,$zero +/* f09b97c: 02002025 */ or $a0,$s0,$zero +/* f09b980: 11800005 */ beqz $t4,.L0f09b998 +/* f09b984: 00000000 */ nop +/* f09b988: 0fc2c41f */ jal handGetWeaponFunction +/* f09b98c: afa0004c */ sw $zero,0x4c($sp) +/* f09b990: 8fa5004c */ lw $a1,0x4c($sp) +/* f09b994: 00401825 */ or $v1,$v0,$zero +.L0f09b998: +/* f09b998: 10600008 */ beqz $v1,.L0f09b9bc +/* f09b99c: 00000000 */ nop +/* f09b9a0: 8c64000c */ lw $a0,0xc($v1) +/* f09b9a4: 02003025 */ or $a2,$s0,$zero +/* f09b9a8: 10800004 */ beqz $a0,.L0f09b9bc +/* f09b9ac: 00000000 */ nop +/* f09b9b0: 0fc26238 */ jal func0f0988e0 +/* f09b9b4: 8fa5005c */ lw $a1,0x5c($sp) +/* f09b9b8: 24050001 */ addiu $a1,$zero,0x1 +.L0f09b9bc: +/* f09b9bc: 54a00019 */ bnezl $a1,.L0f09ba24 +/* f09b9c0: 2408000d */ addiu $t0,$zero,0xd +/* f09b9c4: 8e0d0614 */ lw $t5,0x614($s0) +/* f09b9c8: 240e0001 */ addiu $t6,$zero,0x1 +/* f09b9cc: 29a1001a */ slti $at,$t5,0x15 +/* f09b9d0: 54200014 */ bnezl $at,.L0f09ba24 +/* f09b9d4: 2408000d */ addiu $t0,$zero,0xd +/* f09b9d8: 10000011 */ b .L0f09ba20 +/* f09b9dc: afae0050 */ sw $t6,0x50($sp) +.L0f09b9e0: +/* f09b9e0: 0fc26291 */ jal func0f098a44 +/* f09b9e4: 24050005 */ addiu $a1,$zero,0x5 +/* f09b9e8: 1040000d */ beqz $v0,.L0f09ba20 +/* f09b9ec: 240f0001 */ addiu $t7,$zero,0x1 +/* f09b9f0: 1000000b */ b .L0f09ba20 +/* f09b9f4: afaf0050 */ sw $t7,0x50($sp) +.L0f09b9f8: +/* f09b9f8: 8e020614 */ lw $v0,0x614($s0) +/* f09b9fc: 24180001 */ addiu $t8,$zero,0x1 +/* f09ba00: 02002025 */ or $a0,$s0,$zero +/* f09ba04: 2841001a */ slti $at,$v0,0x15 +/* f09ba08: 14200005 */ bnez $at,.L0f09ba20 +/* f09ba0c: 2459ffe7 */ addiu $t9,$v0,-20 +/* f09ba10: afb80050 */ sw $t8,0x50($sp) +/* f09ba14: ae190614 */ sw $t9,0x614($s0) +/* f09ba18: 0fc26303 */ jal func0f098c0c +/* f09ba1c: ae00060c */ sw $zero,0x60c($s0) +.L0f09ba20: +/* f09ba20: 2408000d */ addiu $t0,$zero,0xd +.L0f09ba24: +/* f09ba24: ae080020 */ sw $t0,0x20($s0) +/* f09ba28: ae00001c */ sw $zero,0x1c($s0) +/* f09ba2c: ae000018 */ sw $zero,0x18($s0) +/* f09ba30: 8fa90050 */ lw $t1,0x50($sp) +/* f09ba34: 51200069 */ beqzl $t1,.L0f09bbdc +/* f09ba38: 8e0e000c */ lw $t6,0xc($s0) +/* f09ba3c: 8e02060c */ lw $v0,0x60c($s0) +/* f09ba40: 304a0010 */ andi $t2,$v0,0x10 +/* f09ba44: 15400064 */ bnez $t2,.L0f09bbd8 +/* f09ba48: 344b0010 */ ori $t3,$v0,0x10 +/* f09ba4c: ae0b060c */ sw $t3,0x60c($s0) +/* f09ba50: 8fac0058 */ lw $t4,0x58($sp) +/* f09ba54: 8d8d0000 */ lw $t5,0x0($t4) +/* f09ba58: 25aeffff */ addiu $t6,$t5,-1 +/* f09ba5c: 2dc1002c */ sltiu $at,$t6,0x2c +/* f09ba60: 1020004e */ beqz $at,.L0f09bb9c +/* f09ba64: 000e7080 */ sll $t6,$t6,0x2 +/* f09ba68: 3c017f1b */ lui $at,%hi(var7f1ac3d0) +/* f09ba6c: 002e0821 */ addu $at,$at,$t6 +/* f09ba70: 8c2ec3d0 */ lw $t6,%lo(var7f1ac3d0)($at) +/* f09ba74: 01c00008 */ jr $t6 +/* f09ba78: 00000000 */ nop +/* f09ba7c: 3c017f1b */ lui $at,%hi(var7f1ac480) +/* f09ba80: c424c480 */ lwc1 $f4,%lo(var7f1ac480)($at) +/* f09ba84: 00002025 */ or $a0,$zero,$zero +/* f09ba88: 0c012230 */ jal osGetThreadPri +/* f09ba8c: e7a40044 */ swc1 $f4,0x44($sp) +/* f09ba90: 3c048009 */ lui $a0,%hi(g_AudioManager+0x18) +/* f09ba94: afa20040 */ sw $v0,0x40($sp) +/* f09ba98: 0c012230 */ jal osGetThreadPri +/* f09ba9c: 248415e0 */ addiu $a0,$a0,%lo(g_AudioManager+0x18) +/* f09baa0: 00002025 */ or $a0,$zero,$zero +/* f09baa4: 0c01210c */ jal osSetThreadPri +/* f09baa8: 24450001 */ addiu $a1,$v0,0x1 +/* f09baac: 3c01bf80 */ lui $at,0xbf80 +/* f09bab0: 44813000 */ mtc1 $at,$f6 +/* f09bab4: 3c048009 */ lui $a0,%hi(var80095200) +/* f09bab8: 240fffff */ addiu $t7,$zero,-1 +/* f09babc: 2418ffff */ addiu $t8,$zero,-1 +/* f09bac0: 2419ffff */ addiu $t9,$zero,-1 +/* f09bac4: afb9001c */ sw $t9,0x1c($sp) +/* f09bac8: afb80018 */ sw $t8,0x18($sp) +/* f09bacc: afaf0010 */ sw $t7,0x10($sp) +/* f09bad0: 8c845200 */ lw $a0,%lo(var80095200)($a0) +/* f09bad4: 24058080 */ addiu $a1,$zero,-32640 +/* f09bad8: 00003025 */ or $a2,$zero,$zero +/* f09badc: 2407ffff */ addiu $a3,$zero,-1 +/* f09bae0: 0c004241 */ jal audioStart +/* f09bae4: e7a60014 */ swc1 $f6,0x14($sp) +/* f09bae8: 10400004 */ beqz $v0,.L0f09bafc +/* f09baec: 00402025 */ or $a0,$v0,$zero +/* f09baf0: 24050010 */ addiu $a1,$zero,0x10 +/* f09baf4: 0c00cf94 */ jal func00033e50 +/* f09baf8: 8fa60044 */ lw $a2,0x44($sp) +.L0f09bafc: +/* f09bafc: 00002025 */ or $a0,$zero,$zero +/* f09bb00: 0c01210c */ jal osSetThreadPri +/* f09bb04: 8fa50040 */ lw $a1,0x40($sp) +/* f09bb08: 3c013fc0 */ lui $at,0x3fc0 +/* f09bb0c: 44814000 */ mtc1 $at,$f8 +/* f09bb10: 00002025 */ or $a0,$zero,$zero +/* f09bb14: 0c012230 */ jal osGetThreadPri +/* f09bb18: e7a80038 */ swc1 $f8,0x38($sp) +/* f09bb1c: 3c048009 */ lui $a0,%hi(g_AudioManager+0x18) +/* f09bb20: afa20034 */ sw $v0,0x34($sp) +/* f09bb24: 0c012230 */ jal osGetThreadPri +/* f09bb28: 248415e0 */ addiu $a0,$a0,%lo(g_AudioManager+0x18) +/* f09bb2c: 00002025 */ or $a0,$zero,$zero +/* f09bb30: 0c01210c */ jal osSetThreadPri +/* f09bb34: 24450001 */ addiu $a1,$v0,0x1 +/* f09bb38: 3c01bf80 */ lui $at,0xbf80 +/* f09bb3c: 44815000 */ mtc1 $at,$f10 +/* f09bb40: 3c048009 */ lui $a0,%hi(var80095200) +/* f09bb44: 2408ffff */ addiu $t0,$zero,-1 +/* f09bb48: 2409ffff */ addiu $t1,$zero,-1 +/* f09bb4c: 240affff */ addiu $t2,$zero,-1 +/* f09bb50: afaa001c */ sw $t2,0x1c($sp) +/* f09bb54: afa90018 */ sw $t1,0x18($sp) +/* f09bb58: afa80010 */ sw $t0,0x10($sp) +/* f09bb5c: 8c845200 */ lw $a0,%lo(var80095200)($a0) +/* f09bb60: 24058052 */ addiu $a1,$zero,-32686 +/* f09bb64: 00003025 */ or $a2,$zero,$zero +/* f09bb68: 2407ffff */ addiu $a3,$zero,-1 +/* f09bb6c: 0c004241 */ jal audioStart +/* f09bb70: e7aa0014 */ swc1 $f10,0x14($sp) +/* f09bb74: 10400004 */ beqz $v0,.L0f09bb88 +/* f09bb78: 00402025 */ or $a0,$v0,$zero +/* f09bb7c: 24050010 */ addiu $a1,$zero,0x10 +/* f09bb80: 0c00cf94 */ jal func00033e50 +/* f09bb84: 8fa60038 */ lw $a2,0x38($sp) +.L0f09bb88: +/* f09bb88: 00002025 */ or $a0,$zero,$zero +/* f09bb8c: 0c01210c */ jal osSetThreadPri +/* f09bb90: 8fa50034 */ lw $a1,0x34($sp) +/* f09bb94: 10000011 */ b .L0f09bbdc +/* f09bb98: 8e0e000c */ lw $t6,0xc($s0) +.L0f09bb9c: +/* f09bb9c: 3c01bf80 */ lui $at,0xbf80 +/* f09bba0: 44818000 */ mtc1 $at,$f16 +/* f09bba4: 3c048009 */ lui $a0,%hi(var80095200) +/* f09bba8: 240bffff */ addiu $t3,$zero,-1 +/* f09bbac: 240cffff */ addiu $t4,$zero,-1 +/* f09bbb0: 240dffff */ addiu $t5,$zero,-1 +/* f09bbb4: afad001c */ sw $t5,0x1c($sp) +/* f09bbb8: afac0018 */ sw $t4,0x18($sp) +/* f09bbbc: afab0010 */ sw $t3,0x10($sp) +/* f09bbc0: 8c845200 */ lw $a0,%lo(var80095200)($a0) +/* f09bbc4: 24058052 */ addiu $a1,$zero,-32686 +/* f09bbc8: 00003025 */ or $a2,$zero,$zero +/* f09bbcc: 2407ffff */ addiu $a3,$zero,-1 +/* f09bbd0: 0c004241 */ jal audioStart +/* f09bbd4: e7b00014 */ swc1 $f16,0x14($sp) +.L0f09bbd8: +/* f09bbd8: 8e0e000c */ lw $t6,0xc($s0) +.L0f09bbdc: +/* f09bbdc: 00002825 */ or $a1,$zero,$zero +/* f09bbe0: 55c0000d */ bnezl $t6,.L0f09bc18 +/* f09bbe4: 00001025 */ or $v0,$zero,$zero +/* f09bbe8: ae000020 */ sw $zero,0x20($s0) +/* f09bbec: ae00001c */ sw $zero,0x1c($s0) +/* f09bbf0: ae000018 */ sw $zero,0x18($s0) +/* f09bbf4: 0fc27346 */ jal func0f09cd18 +/* f09bbf8: 8fa4005c */ lw $a0,0x5c($sp) +/* f09bbfc: 10400003 */ beqz $v0,.L0f09bc0c +/* f09bc00: 00000000 */ nop +/* f09bc04: 10000004 */ b .L0f09bc18 +/* f09bc08: 8fa20064 */ lw $v0,0x64($sp) +.L0f09bc0c: +/* f09bc0c: 0fc26303 */ jal func0f098c0c +/* f09bc10: 02002025 */ or $a0,$s0,$zero +/* f09bc14: 00001025 */ or $v0,$zero,$zero +.L0f09bc18: +/* f09bc18: 8fbf002c */ lw $ra,0x2c($sp) +/* f09bc1c: 8fb00028 */ lw $s0,0x28($sp) +/* f09bc20: 27bd0058 */ addiu $sp,$sp,0x58 +/* f09bc24: 03e00008 */ jr $ra +/* f09bc28: 00000000 */ nop +); +#else +GLOBAL_ASM( +glabel func0f09b8e0 +.late_rodata +glabel var7f1ac340 +.word func0f09b8e0+0x48 # f09b928 +glabel var7f1ac344 +.word func0f09b8e0+0x48 # f09b928 +glabel var7f1ac348 +.word func0f09b8e0+0x48 # f09b928 +glabel var7f1ac34c +.word func0f09b8e0+0x48 # f09b928 +glabel var7f1ac350 +.word func0f09b8e0+0x48 # f09b928 +glabel var7f1ac354 +.word func0f09b8e0+0x48 # f09b928 +glabel var7f1ac358 +.word func0f09b8e0+0x48 # f09b928 +glabel var7f1ac35c +.word func0f09b8e0+0x48 # f09b928 +glabel var7f1ac360 +.word func0f09b8e0+0x48 # f09b928 +glabel var7f1ac364 +.word func0f09b8e0+0x48 # f09b928 +glabel var7f1ac368 +.word func0f09b8e0+0x48 # f09b928 +glabel var7f1ac36c +.word func0f09b8e0+0x48 # f09b928 +glabel var7f1ac370 +.word func0f09b8e0+0x48 # f09b928 +glabel var7f1ac374 +.word func0f09b8e0+0x118 # f09b9f8 +glabel var7f1ac378 +.word func0f09b8e0+0x118 # f09b9f8 +glabel var7f1ac37c +.word func0f09b8e0+0x118 # f09b9f8 +glabel var7f1ac380 +.word func0f09b8e0+0x118 # f09b9f8 +glabel var7f1ac384 +.word func0f09b8e0+0x118 # f09b9f8 +glabel var7f1ac388 +.word func0f09b8e0+0x48 # f09b928 +glabel var7f1ac38c +.word func0f09b8e0+0x118 # f09b9f8 +glabel var7f1ac390 +.word func0f09b8e0+0x118 # f09b9f8 +glabel var7f1ac394 +.word func0f09b8e0+0x118 # f09b9f8 +glabel var7f1ac398 +.word func0f09b8e0+0x118 # f09b9f8 +glabel var7f1ac39c +.word func0f09b8e0+0x118 # f09b9f8 +glabel var7f1ac3a0 +.word func0f09b8e0+0x118 # f09b9f8 +glabel var7f1ac3a4 +.word func0f09b8e0+0x118 # f09b9f8 +glabel var7f1ac3a8 +.word func0f09b8e0+0x48 # f09b928 +glabel var7f1ac3ac +.word func0f09b8e0+0x118 # f09b9f8 +glabel var7f1ac3b0 +.word func0f09b8e0+0x118 # f09b9f8 +glabel var7f1ac3b4 +.word func0f09b8e0+0x118 # f09b9f8 +glabel var7f1ac3b8 +.word func0f09b8e0+0x118 # f09b9f8 +glabel var7f1ac3bc +.word func0f09b8e0+0x118 # f09b9f8 +glabel var7f1ac3c0 +.word func0f09b8e0+0x118 # f09b9f8 +glabel var7f1ac3c4 +.word func0f09b8e0+0x118 # f09b9f8 +glabel var7f1ac3c8 +.word func0f09b8e0+0x48 # f09b928 +glabel var7f1ac3cc +.word func0f09b8e0+0x48 # f09b928 +glabel var7f1ac3d0 +.word func0f09b8e0+0x2f8 # f09bbd8 +glabel var7f1ac3d4 +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac3d8 +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac3dc +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac3e0 +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac3e4 +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac3e8 +.word func0f09b8e0+0x19c # f09ba7c +glabel var7f1ac3ec +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac3f0 +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac3f4 +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac3f8 +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac3fc +.word func0f09b8e0+0x19c # f09ba7c +glabel var7f1ac400 +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac404 +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac408 +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac40c +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac410 +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac414 +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac418 +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac41c +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac420 +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac424 +.word func0f09b8e0+0x19c # f09ba7c +glabel var7f1ac428 +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac42c +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac430 +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac434 +.word func0f09b8e0+0x2f8 # f09bbd8 +glabel var7f1ac438 +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac43c +.word func0f09b8e0+0x228 # f09bb08 +glabel var7f1ac440 +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac444 +.word func0f09b8e0+0x2f8 # f09bbd8 +glabel var7f1ac448 +.word func0f09b8e0+0x2f8 # f09bbd8 +glabel var7f1ac44c +.word func0f09b8e0+0x2f8 # f09bbd8 +glabel var7f1ac450 +.word func0f09b8e0+0x2f8 # f09bbd8 +glabel var7f1ac454 +.word func0f09b8e0+0x2f8 # f09bbd8 +glabel var7f1ac458 +.word func0f09b8e0+0x2f8 # f09bbd8 +glabel var7f1ac45c +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac460 +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac464 +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac468 +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac46c +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac470 +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac474 +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac478 +.word func0f09b8e0+0x2bc # f09bb9c +glabel var7f1ac47c +.word func0f09b8e0+0x228 # f09bb08 +glabel var7f1ac480 +.word 0x40047ae1 .text /* f09b8e0: 27bdffa8 */ addiu $sp,$sp,-88 /* f09b8e4: afbf002c */ sw $ra,0x2c($sp) @@ -7009,36 +8881,10 @@ glabel var7f1ac450 /* f09bc24: 03e00008 */ jr $ra /* f09bc28: 00000000 */ nop ); +#endif GLOBAL_ASM( glabel func0f09bc2c -# Note: This is a continuation of the above function's rodata -.late_rodata -glabel var7f1ac454 -.word func0f09b8e0+0x2f8 # f09bbd8 -glabel var7f1ac458 -.word func0f09b8e0+0x2f8 # f09bbd8 -glabel var7f1ac45c -.word func0f09b8e0+0x2bc # f09bb9c -glabel var7f1ac460 -.word func0f09b8e0+0x2bc # f09bb9c -glabel var7f1ac464 -.word func0f09b8e0+0x2bc # f09bb9c -glabel var7f1ac468 -.word func0f09b8e0+0x2bc # f09bb9c -glabel var7f1ac46c -.word func0f09b8e0+0x2bc # f09bb9c -glabel var7f1ac470 -.word func0f09b8e0+0x2bc # f09bb9c -glabel var7f1ac474 -.word func0f09b8e0+0x2bc # f09bb9c -glabel var7f1ac478 -.word func0f09b8e0+0x2bc # f09bb9c -glabel var7f1ac47c -.word func0f09b8e0+0x228 # f09bb08 -glabel var7f1ac480 -.word 0x40047ae1 -.text /* f09bc2c: 27bdffd8 */ addiu $sp,$sp,-40 /* f09bc30: afbf0014 */ sw $ra,0x14($sp) /* f09bc34: afa40028 */ sw $a0,0x28($sp) @@ -7308,6 +9154,973 @@ glabel func0f09bf44 /* f09c018: 00601025 */ or $v0,$v1,$zero ); +#if PAL +GLOBAL_ASM( +glabel func0f09c01c +.late_rodata +glabel var7f1ac484 +.word 0x3f5f5dd8 +glabel var7f1ac488 +.word func0f09c01c+0x9d0 # f09c9ec +glabel var7f1ac48c +.word func0f09c01c+0x9d0 # f09c9ec +glabel var7f1ac490 +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac494 +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac498 +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac49c +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac4a0 +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac4a4 +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac4a8 +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac4ac +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac4b0 +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac4b4 +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac4b8 +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac4bc +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac4c0 +.word func0f09c01c+0x9d0 # f09c9ec +glabel var7f1ac4c4 +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac4c8 +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac4cc +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac4d0 +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac4d4 +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac4d8 +.word func0f09c01c+0x900 # f09c91c +glabel var7f1ac4dc +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac4e0 +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac4e4 +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac4e8 +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac4ec +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac4f0 +.word func0f09c01c+0x798 # f09c7b4 +glabel var7f1ac4f4 +.word func0f09c01c+0x9d0 # f09c9ec +glabel var7f1ac4f8 +.word func0f09c01c+0x86c # f09c888 +glabel var7f1ac4fc +.word func0f09c01c+0x754 # f09c770 +glabel var7f1ac500 +.word func0f09c01c+0x9d0 # f09c9ec +glabel var7f1ac504 +.word func0f09c01c+0x9d0 # f09c9ec +glabel var7f1ac508 +.word func0f09c01c+0x828 # f09c844 +glabel var7f1ac50c +.word func0f09c01c+0x828 # f09c844 +glabel var7f1ac510 +.word func0f09c01c+0x7dc # f09c7f8 +glabel var7f1ac514 +.word func0f09c01c+0x9d0 # f09c9ec +glabel var7f1ac518 +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac51c +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac520 +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac524 +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac528 +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac52c +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac530 +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac534 +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac538 +.word func0f09c01c+0x86c # f09c888 +glabel var7f1ac53c +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac540 +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac544 +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac548 +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac54c +.word func0f09c01c+0x9d0 # f09c9ec +glabel var7f1ac550 +.word func0f09c01c+0x6c0 # f09c6dc +glabel var7f1ac554 +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac558 +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac55c +.word func0f09c01c+0x828 # f09c844 +glabel var7f1ac560 +.word func0f09c01c+0x828 # f09c844 +glabel var7f1ac564 +.word func0f09c01c+0x828 # f09c844 +glabel var7f1ac568 +.word func0f09c01c+0x828 # f09c844 +glabel var7f1ac56c +.word func0f09c01c+0x828 # f09c844 +glabel var7f1ac570 +.word func0f09c01c+0x828 # f09c844 +glabel var7f1ac574 +.word func0f09c01c+0x9d0 # f09c9ec +glabel var7f1ac578 +.word func0f09c01c+0x9d0 # f09c9ec +glabel var7f1ac57c +.word func0f09c01c+0x828 # f09c844 +glabel var7f1ac580 +.word func0f09c01c+0x828 # f09c844 +glabel var7f1ac584 +.word func0f09c01c+0x828 # f09c844 +glabel var7f1ac588 +.word func0f09c01c+0x9d0 # f09c9ec +glabel var7f1ac58c +.word func0f09c01c+0x9d0 # f09c9ec +glabel var7f1ac590 +.word func0f09c01c+0x9d0 # f09c9ec +glabel var7f1ac594 +.word func0f09c01c+0x9d0 # f09c9ec +glabel var7f1ac598 +.word func0f09c01c+0x9d0 # f09c9ec +glabel var7f1ac59c +.word func0f09c01c+0x9d0 # f09c9ec +glabel var7f1ac5a0 +.word func0f09c01c+0x9d0 # f09c9ec +glabel var7f1ac5a4 +.word func0f09c01c+0x9d0 # f09c9ec +glabel var7f1ac5a8 +.word func0f09c01c+0x9d0 # f09c9ec +glabel var7f1ac5ac +.word func0f09c01c+0x9d0 # f09c9ec +glabel var7f1ac5b0 +.word func0f09c01c+0x9d0 # f09c9ec +glabel var7f1ac5b4 +.word func0f09c01c+0x9d0 # f09c9ec +glabel var7f1ac5b8 +.word func0f09c01c+0x9d0 # f09c9ec +glabel var7f1ac5bc +.word func0f09c01c+0x9d0 # f09c9ec +glabel var7f1ac5c0 +.word func0f09c01c+0x9d0 # f09c9ec +glabel var7f1ac5c4 +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac5c8 +.word func0f09c01c+0x9d0 # f09c9ec +glabel var7f1ac5cc +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac5d0 +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac5d4 +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac5d8 +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac5dc +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac5e0 +.word func0f09c01c+0x994 # f09c9b0 +glabel var7f1ac5e4 +.word func0f09c01c+0x9d0 # f09c9ec +glabel var7f1ac5e8 +.word 0x3f59999a +glabel var7f1ac5ec +.word 0x3f5f5dd8 +.text +/* f09c01c: 27bdff90 */ addiu $sp,$sp,-112 +/* f09c020: afbf002c */ sw $ra,0x2c($sp) +/* f09c024: afb00028 */ sw $s0,0x28($sp) +/* f09c028: afa40070 */ sw $a0,0x70($sp) +/* f09c02c: afa50074 */ sw $a1,0x74($sp) +/* f09c030: afa7007c */ sw $a3,0x7c($sp) +/* f09c034: 8c8f0004 */ lw $t7,0x4($a0) +/* f09c038: 00c08025 */ or $s0,$a2,$zero +/* f09c03c: 24050001 */ addiu $a1,$zero,0x1 +/* f09c040: afaf0068 */ sw $t7,0x68($sp) +/* f09c044: 8cd80618 */ lw $t8,0x618($a2) +/* f09c048: 3c06800a */ lui $a2,%hi(g_Vars) +/* f09c04c: 24c69fc0 */ addiu $a2,$a2,%lo(g_Vars) +/* f09c050: 57000008 */ bnezl $t8,.L0f09c074 +/* f09c054: 8e020608 */ lw $v0,0x608($s0) +/* f09c058: 8cd90318 */ lw $t9,0x318($a2) +/* f09c05c: 57200004 */ bnezl $t9,.L0f09c070 +/* f09c060: ae000038 */ sw $zero,0x38($s0) +/* f09c064: 10000002 */ b .L0f09c070 +/* f09c068: ae000038 */ sw $zero,0x38($s0) +/* f09c06c: ae000038 */ sw $zero,0x38($s0) +.L0f09c070: +/* f09c070: 8e020608 */ lw $v0,0x608($s0) +.L0f09c074: +/* f09c074: 1440004f */ bnez $v0,.L0f09c1b4 +/* f09c078: 00000000 */ nop +/* f09c07c: 8fa80070 */ lw $t0,0x70($sp) +/* f09c080: afa00064 */ sw $zero,0x64($sp) +/* f09c084: 0fc2c5f0 */ jal weaponHasFlag +/* f09c088: 8d040000 */ lw $a0,0x0($t0) +/* f09c08c: 1040000f */ beqz $v0,.L0f09c0cc +/* f09c090: 8fa90070 */ lw $t1,0x70($sp) +/* f09c094: 8d2a0000 */ lw $t2,0x0($t1) +/* f09c098: 24010022 */ addiu $at,$zero,0x22 +/* f09c09c: 8fab0074 */ lw $t3,0x74($sp) +/* f09c0a0: 15410004 */ bne $t2,$at,.L0f09c0b4 +/* f09c0a4: 00002025 */ or $a0,$zero,$zero +/* f09c0a8: 24010001 */ addiu $at,$zero,0x1 +/* f09c0ac: 51610008 */ beql $t3,$at,.L0f09c0d0 +/* f09c0b0: ae000018 */ sw $zero,0x18($s0) +.L0f09c0b4: +/* f09c0b4: 8fa50070 */ lw $a1,0x70($sp) +/* f09c0b8: 0fc26328 */ jal func0f098ca0 +/* f09c0bc: 02003025 */ or $a2,$s0,$zero +/* f09c0c0: 04410002 */ bgez $v0,.L0f09c0cc +/* f09c0c4: 240c0001 */ addiu $t4,$zero,0x1 +/* f09c0c8: afac0064 */ sw $t4,0x64($sp) +.L0f09c0cc: +/* f09c0cc: ae000018 */ sw $zero,0x18($s0) +.L0f09c0d0: +/* f09c0d0: 8fad0064 */ lw $t5,0x64($sp) +/* f09c0d4: 8fae0068 */ lw $t6,0x68($sp) +/* f09c0d8: 55a0002e */ bnezl $t5,.L0f09c194 +/* f09c0dc: 8e0b0608 */ lw $t3,0x608($s0) +/* f09c0e0: 8dc40008 */ lw $a0,0x8($t6) +/* f09c0e4: 5080001e */ beqzl $a0,.L0f09c160 +/* f09c0e8: 8e0f060c */ lw $t7,0x60c($s0) +/* f09c0ec: 820f0008 */ lb $t7,0x8($s0) +/* f09c0f0: 24010001 */ addiu $at,$zero,0x1 +/* f09c0f4: 55e1001a */ bnel $t7,$at,.L0f09c160 +/* f09c0f8: 8e0f060c */ lw $t7,0x60c($s0) +/* f09c0fc: 961806d6 */ lhu $t8,0x6d6($s0) +/* f09c100: 0018cb02 */ srl $t9,$t8,0xc +/* f09c104: 53200007 */ beqzl $t9,.L0f09c124 +/* f09c108: 8e0b0618 */ lw $t3,0x618($s0) +/* f09c10c: 8e0806d4 */ lw $t0,0x6d4($s0) +/* f09c110: 00084d00 */ sll $t1,$t0,0x14 +/* f09c114: 00095742 */ srl $t2,$t1,0x1d +/* f09c118: 51400011 */ beqzl $t2,.L0f09c160 +/* f09c11c: 8e0f060c */ lw $t7,0x60c($s0) +/* f09c120: 8e0b0618 */ lw $t3,0x618($s0) +.L0f09c124: +/* f09c124: 8fa50074 */ lw $a1,0x74($sp) +/* f09c128: 55600006 */ bnezl $t3,.L0f09c144 +/* f09c12c: 8e0c068c */ lw $t4,0x68c($s0) +/* f09c130: 0fc26238 */ jal func0f0988e0 +/* f09c134: 02003025 */ or $a2,$s0,$zero +/* f09c138: 10000019 */ b .L0f09c1a0 +/* f09c13c: 8e020608 */ lw $v0,0x608($s0) +/* f09c140: 8e0c068c */ lw $t4,0x68c($s0) +.L0f09c144: +/* f09c144: 55800016 */ bnezl $t4,.L0f09c1a0 +/* f09c148: 8e020608 */ lw $v0,0x608($s0) +/* f09c14c: 8e0d0608 */ lw $t5,0x608($s0) +/* f09c150: 25ae0001 */ addiu $t6,$t5,0x1 +/* f09c154: 10000011 */ b .L0f09c19c +/* f09c158: ae0e0608 */ sw $t6,0x608($s0) +/* f09c15c: 8e0f060c */ lw $t7,0x60c($s0) +.L0f09c160: +/* f09c160: 961906d6 */ lhu $t9,0x6d6($s0) +/* f09c164: 24010001 */ addiu $at,$zero,0x1 +/* f09c168: 35f80001 */ ori $t8,$t7,0x1 +/* f09c16c: 00194302 */ srl $t0,$t9,0xc +/* f09c170: 15010003 */ bne $t0,$at,.L0f09c180 +/* f09c174: ae18060c */ sw $t8,0x60c($s0) +/* f09c178: 1000026d */ b .L0f09cb30 +/* f09c17c: 00001025 */ or $v0,$zero,$zero +.L0f09c180: +/* f09c180: 8e090608 */ lw $t1,0x608($s0) +/* f09c184: 252a0001 */ addiu $t2,$t1,0x1 +/* f09c188: 10000004 */ b .L0f09c19c +/* f09c18c: ae0a0608 */ sw $t2,0x608($s0) +/* f09c190: 8e0b0608 */ lw $t3,0x608($s0) +.L0f09c194: +/* f09c194: 256c0001 */ addiu $t4,$t3,0x1 +/* f09c198: ae0c0608 */ sw $t4,0x608($s0) +.L0f09c19c: +/* f09c19c: 8e020608 */ lw $v0,0x608($s0) +.L0f09c1a0: +/* f09c1a0: 24010001 */ addiu $at,$zero,0x1 +/* f09c1a4: 14410003 */ bne $v0,$at,.L0f09c1b4 +/* f09c1a8: 00000000 */ nop +/* f09c1ac: ae000614 */ sw $zero,0x614($s0) +/* f09c1b0: 8e020608 */ lw $v0,0x608($s0) +.L0f09c1b4: +/* f09c1b4: 3c06800a */ lui $a2,%hi(g_Vars) +/* f09c1b8: 24010001 */ addiu $at,$zero,0x1 +/* f09c1bc: 14410084 */ bne $v0,$at,.L0f09c3d0 +/* f09c1c0: 24c69fc0 */ addiu $a2,$a2,%lo(g_Vars) +/* f09c1c4: ae000018 */ sw $zero,0x18($s0) +/* f09c1c8: 8ccd0318 */ lw $t5,0x318($a2) +/* f09c1cc: 24030010 */ addiu $v1,$zero,0xd +/* f09c1d0: 00002025 */ or $a0,$zero,$zero +/* f09c1d4: 11a00002 */ beqz $t5,.L0f09c1e0 +/* f09c1d8: 8fae0068 */ lw $t6,0x68($sp) +/* f09c1dc: 2403000c */ addiu $v1,$zero,0xa +.L0f09c1e0: +/* f09c1e0: 8dcf0008 */ lw $t7,0x8($t6) +/* f09c1e4: 51e00007 */ beqzl $t7,.L0f09c204 +/* f09c1e8: 82080008 */ lb $t0,0x8($s0) +/* f09c1ec: 8e18060c */ lw $t8,0x60c($s0) +/* f09c1f0: 33190001 */ andi $t9,$t8,0x1 +/* f09c1f4: 57200003 */ bnezl $t9,.L0f09c204 +/* f09c1f8: 82080008 */ lb $t0,0x8($s0) +/* f09c1fc: 24030001 */ addiu $v1,$zero,0x1 +/* f09c200: 82080008 */ lb $t0,0x8($s0) +.L0f09c204: +/* f09c204: 55000003 */ bnezl $t0,.L0f09c214 +/* f09c208: 8e0906d4 */ lw $t1,0x6d4($s0) +/* f09c20c: 24030001 */ addiu $v1,$zero,0x1 +/* f09c210: 8e0906d4 */ lw $t1,0x6d4($s0) +.L0f09c214: +/* f09c214: 00095500 */ sll $t2,$t1,0x14 +/* f09c218: 000a5f42 */ srl $t3,$t2,0x1d +/* f09c21c: 5560000a */ bnezl $t3,.L0f09c248 +/* f09c220: 8ccd0284 */ lw $t5,0x284($a2) +/* f09c224: 960206d6 */ lhu $v0,0x6d6($s0) +/* f09c228: 24010001 */ addiu $at,$zero,0x1 +/* f09c22c: 00026302 */ srl $t4,$v0,0xc +/* f09c230: 11810003 */ beq $t4,$at,.L0f09c240 +/* f09c234: 24010002 */ addiu $at,$zero,0x2 +/* f09c238: 55810003 */ bnel $t4,$at,.L0f09c248 +/* f09c23c: 8ccd0284 */ lw $t5,0x284($a2) +.L0f09c240: +/* f09c240: 24040001 */ addiu $a0,$zero,0x1 +/* f09c244: 8ccd0284 */ lw $t5,0x284($a2) +.L0f09c248: +/* f09c248: 24010001 */ addiu $at,$zero,0x1 +/* f09c24c: 8dae1580 */ lw $t6,0x1580($t5) +/* f09c250: 000e7f00 */ sll $t7,$t6,0x1c +/* f09c254: 000fc7c2 */ srl $t8,$t7,0x1f +/* f09c258: 57010003 */ bnel $t8,$at,.L0f09c268 +/* f09c25c: 8e020614 */ lw $v0,0x614($s0) +/* f09c260: 24040001 */ addiu $a0,$zero,0x1 +/* f09c264: 8e020614 */ lw $v0,0x614($s0) +.L0f09c268: +/* f09c268: 0043082a */ slt $at,$v0,$v1 +/* f09c26c: 5420004a */ bnezl $at,.L0f09c398 +/* f09c270: 44822000 */ mtc1 $v0,$f4 +/* f09c274: 14800030 */ bnez $a0,.L0f09c338 +/* f09c278: 3c053f5f */ lui $a1,0x3f5f +/* f09c27c: 8cd90314 */ lw $t9,0x314($a2) +/* f09c280: 3c088009 */ lui $t0,%hi(g_Is4Mb) +/* f09c284: 13200024 */ beqz $t9,.L0f09c318 +/* f09c288: 00000000 */ nop +/* f09c28c: 91080af0 */ lbu $t0,%lo(g_Is4Mb)($t0) +/* f09c290: 24010001 */ addiu $at,$zero,0x1 +/* f09c294: 1501001e */ bne $t0,$at,.L0f09c310 +/* f09c298: 00000000 */ nop +/* f09c29c: 8cc9006c */ lw $t1,0x6c($a2) +/* f09c2a0: 24010001 */ addiu $at,$zero,0x1 +/* f09c2a4: 00002825 */ or $a1,$zero,$zero +/* f09c2a8: 11200003 */ beqz $t1,.L0f09c2b8 +/* f09c2ac: 00002025 */ or $a0,$zero,$zero +/* f09c2b0: 10000001 */ b .L0f09c2b8 +/* f09c2b4: 24050001 */ addiu $a1,$zero,0x1 +.L0f09c2b8: +/* f09c2b8: 8cca0068 */ lw $t2,0x68($a2) +/* f09c2bc: 00001825 */ or $v1,$zero,$zero +/* f09c2c0: 00001025 */ or $v0,$zero,$zero +/* f09c2c4: 11400003 */ beqz $t2,.L0f09c2d4 +/* f09c2c8: 00000000 */ nop +/* f09c2cc: 10000001 */ b .L0f09c2d4 +/* f09c2d0: 24040001 */ addiu $a0,$zero,0x1 +.L0f09c2d4: +/* f09c2d4: 8ccb0064 */ lw $t3,0x64($a2) +/* f09c2d8: 11600003 */ beqz $t3,.L0f09c2e8 +/* f09c2dc: 00000000 */ nop +/* f09c2e0: 10000001 */ b .L0f09c2e8 +/* f09c2e4: 24030001 */ addiu $v1,$zero,0x1 +.L0f09c2e8: +/* f09c2e8: 8ccc0070 */ lw $t4,0x70($a2) +/* f09c2ec: 11800003 */ beqz $t4,.L0f09c2fc +/* f09c2f0: 00000000 */ nop +/* f09c2f4: 10000001 */ b .L0f09c2fc +/* f09c2f8: 24020001 */ addiu $v0,$zero,0x1 +.L0f09c2fc: +/* f09c2fc: 00436821 */ addu $t5,$v0,$v1 +/* f09c300: 01a47021 */ addu $t6,$t5,$a0 +/* f09c304: 01c57821 */ addu $t7,$t6,$a1 +/* f09c308: 11e10003 */ beq $t7,$at,.L0f09c318 +/* f09c30c: 00000000 */ nop +.L0f09c310: +/* f09c310: 0fc4a33c */ jal currentPlayerSetWeaponFlag4 +/* f09c314: 8fa40074 */ lw $a0,0x74($sp) +.L0f09c318: +/* f09c318: 0fc27e88 */ jal func0f09fa20 +/* f09c31c: 8fa40074 */ lw $a0,0x74($sp) +/* f09c320: 8e190608 */ lw $t9,0x608($s0) +/* f09c324: 24180006 */ addiu $t8,$zero,0x6 +/* f09c328: ae180020 */ sw $t8,0x20($s0) +/* f09c32c: 27280001 */ addiu $t0,$t9,0x1 +/* f09c330: 10000014 */ b .L0f09c384 +/* f09c334: ae080608 */ sw $t0,0x608($s0) +.L0f09c338: +/* f09c338: 02002025 */ or $a0,$s0,$zero +/* f09c33c: 0fc265e0 */ jal func0f099780 +/* f09c340: 34a55dd8 */ ori $a1,$a1,0x5dd8 +/* f09c344: 3c09800a */ lui $t1,%hi(g_Vars+0x284) +/* f09c348: 8d29a244 */ lw $t1,%lo(g_Vars+0x284)($t1) +/* f09c34c: 24010001 */ addiu $at,$zero,0x1 +/* f09c350: 8d2a1580 */ lw $t2,0x1580($t1) +/* f09c354: 000a5f00 */ sll $t3,$t2,0x1c +/* f09c358: 000b67c2 */ srl $t4,$t3,0x1f +/* f09c35c: 15810009 */ bne $t4,$at,.L0f09c384 +/* f09c360: 00000000 */ nop +/* f09c364: 820d0008 */ lb $t5,0x8($s0) +/* f09c368: 240e0001 */ addiu $t6,$zero,0x1 +/* f09c36c: 240f0003 */ addiu $t7,$zero,0x3 +/* f09c370: 11a00004 */ beqz $t5,.L0f09c384 +/* f09c374: 24180001 */ addiu $t8,$zero,0x1 +/* f09c378: a20e0004 */ sb $t6,0x4($s0) +/* f09c37c: ae0f06ac */ sw $t7,0x6ac($s0) +/* f09c380: a2180003 */ sb $t8,0x3($s0) +.L0f09c384: +/* f09c384: 3c06800a */ lui $a2,%hi(g_Vars) +/* f09c388: 24c69fc0 */ addiu $a2,$a2,%lo(g_Vars) +/* f09c38c: 10000010 */ b .L0f09c3d0 +/* f09c390: 8e020608 */ lw $v0,0x608($s0) +/* f09c394: 44822000 */ mtc1 $v0,$f4 +.L0f09c398: +/* f09c398: 3c017f1b */ lui $at,%hi(var7f1ac484) +/* f09c39c: c428c484 */ lwc1 $f8,%lo(var7f1ac484)($at) +/* f09c3a0: 468021a0 */ cvt.s.w $f6,$f4 +/* f09c3a4: 44838000 */ mtc1 $v1,$f16 +/* f09c3a8: 02002025 */ or $a0,$s0,$zero +/* f09c3ac: 468084a0 */ cvt.s.w $f18,$f16 +/* f09c3b0: 46083282 */ mul.s $f10,$f6,$f8 +/* f09c3b4: 46125103 */ div.s $f4,$f10,$f18 +/* f09c3b8: 44052000 */ mfc1 $a1,$f4 +/* f09c3bc: 0fc265e0 */ jal func0f099780 +/* f09c3c0: 00000000 */ nop +/* f09c3c4: 3c06800a */ lui $a2,%hi(g_Vars) +/* f09c3c8: 24c69fc0 */ addiu $a2,$a2,%lo(g_Vars) +/* f09c3cc: 8e020608 */ lw $v0,0x608($s0) +.L0f09c3d0: +/* f09c3d0: 24010002 */ addiu $at,$zero,0x2 +/* f09c3d4: 54410040 */ bnel $v0,$at,.L0f09c4d8 +/* f09c3d8: 8e020608 */ lw $v0,0x608($s0) +/* f09c3dc: 8e19003c */ lw $t9,0x3c($s0) +/* f09c3e0: ae00068c */ sw $zero,0x68c($s0) +/* f09c3e4: 53200007 */ beqzl $t9,.L0f09c404 +/* f09c3e8: 8e0a0020 */ lw $t2,0x20($s0) +/* f09c3ec: 8e08001c */ lw $t0,0x1c($s0) +/* f09c3f0: 8e090038 */ lw $t1,0x38($s0) +/* f09c3f4: 0109082a */ slt $at,$t0,$t1 +/* f09c3f8: 5420002a */ bnezl $at,.L0f09c4a4 +/* f09c3fc: 8e020020 */ lw $v0,0x20($s0) +/* f09c400: 8e0a0020 */ lw $t2,0x20($s0) +.L0f09c404: +/* f09c404: 24010006 */ addiu $at,$zero,0x6 +/* f09c408: 15410010 */ bne $t2,$at,.L0f09c44c +/* f09c40c: 00000000 */ nop +/* f09c410: 0fc26fd1 */ jal func0f09bf44 +/* f09c414: 8fa40074 */ lw $a0,0x74($sp) +/* f09c418: 50400022 */ beqzl $v0,.L0f09c4a4 +/* f09c41c: 8e020020 */ lw $v0,0x20($s0) +/* f09c420: 820c0008 */ lb $t4,0x8($s0) +/* f09c424: 240b0007 */ addiu $t3,$zero,0x7 +/* f09c428: ae0b0020 */ sw $t3,0x20($s0) +/* f09c42c: 1580001c */ bnez $t4,.L0f09c4a0 +/* f09c430: 8fa40074 */ lw $a0,0x74($sp) +/* f09c434: 0fc27346 */ jal func0f09cd18 +/* f09c438: 00002825 */ or $a1,$zero,$zero +/* f09c43c: 50400019 */ beqzl $v0,.L0f09c4a4 +/* f09c440: 8e020020 */ lw $v0,0x20($s0) +/* f09c444: 100001ba */ b .L0f09cb30 +/* f09c448: 8fa2007c */ lw $v0,0x7c($sp) +.L0f09c44c: +/* f09c44c: 0fc2775f */ jal func0f09dd7c +/* f09c450: 00000000 */ nop +/* f09c454: 10400012 */ beqz $v0,.L0f09c4a0 +/* f09c458: 8fad0070 */ lw $t5,0x70($sp) +/* f09c45c: 8dae0004 */ lw $t6,0x4($t5) +/* f09c460: 8fa50074 */ lw $a1,0x74($sp) +/* f09c464: 8dc40004 */ lw $a0,0x4($t6) +/* f09c468: 50800007 */ beqzl $a0,.L0f09c488 +/* f09c46c: 8e090608 */ lw $t1,0x608($s0) +/* f09c470: 0fc26238 */ jal func0f0988e0 +/* f09c474: 02003025 */ or $a2,$s0,$zero +/* f09c478: 92180690 */ lbu $t8,0x690($s0) +/* f09c47c: 37190040 */ ori $t9,$t8,0x40 +/* f09c480: a2190690 */ sb $t9,0x690($s0) +/* f09c484: 8e090608 */ lw $t1,0x608($s0) +.L0f09c488: +/* f09c488: 24080008 */ addiu $t0,$zero,0x8 +/* f09c48c: ae080020 */ sw $t0,0x20($s0) +/* f09c490: 252a0001 */ addiu $t2,$t1,0x1 +/* f09c494: ae0a0608 */ sw $t2,0x608($s0) +/* f09c498: ae00001c */ sw $zero,0x1c($s0) +/* f09c49c: ae000018 */ sw $zero,0x18($s0) +.L0f09c4a0: +/* f09c4a0: 8e020020 */ lw $v0,0x20($s0) +.L0f09c4a4: +/* f09c4a4: 3c06800a */ lui $a2,%hi(g_Vars) +/* f09c4a8: 24010006 */ addiu $at,$zero,0x6 +/* f09c4ac: 10410003 */ beq $v0,$at,.L0f09c4bc +/* f09c4b0: 24c69fc0 */ addiu $a2,$a2,%lo(g_Vars) +/* f09c4b4: 24010007 */ addiu $at,$zero,0x7 +/* f09c4b8: 14410006 */ bne $v0,$at,.L0f09c4d4 +.L0f09c4bc: +/* f09c4bc: 3c053f5f */ lui $a1,0x3f5f +/* f09c4c0: 34a55dd8 */ ori $a1,$a1,0x5dd8 +/* f09c4c4: 0fc265e0 */ jal func0f099780 +/* f09c4c8: 02002025 */ or $a0,$s0,$zero +/* f09c4cc: 3c06800a */ lui $a2,%hi(g_Vars) +/* f09c4d0: 24c69fc0 */ addiu $a2,$a2,%lo(g_Vars) +.L0f09c4d4: +/* f09c4d4: 8e020608 */ lw $v0,0x608($s0) +.L0f09c4d8: +/* f09c4d8: 24010003 */ addiu $at,$zero,0x3 +/* f09c4dc: 24054000 */ addiu $a1,$zero,0x4000 +/* f09c4e0: 54410176 */ bnel $v0,$at,.L0f09cabc +/* f09c4e4: 24010004 */ addiu $at,$zero,0x4 +/* f09c4e8: 8ccb0318 */ lw $t3,0x318($a2) +/* f09c4ec: 24020017 */ addiu $v0,$zero,0x13 +/* f09c4f0: 51600003 */ beqzl $t3,.L0f09c500 +/* f09c4f4: 92040000 */ lbu $a0,0x0($s0) +/* f09c4f8: 2402000c */ addiu $v0,$zero,0xa +/* f09c4fc: 92040000 */ lbu $a0,0x0($s0) +.L0f09c500: +/* f09c500: 0fc2c5f0 */ jal weaponHasFlag +/* f09c504: afa20054 */ sw $v0,0x54($sp) +/* f09c508: 10400003 */ beqz $v0,.L0f09c518 +/* f09c50c: 8fac0068 */ lw $t4,0x68($sp) +/* f09c510: 10000006 */ b .L0f09c52c +/* f09c514: ae00068c */ sw $zero,0x68c($s0) +.L0f09c518: +/* f09c518: 8d8d0004 */ lw $t5,0x4($t4) +/* f09c51c: 240e0001 */ addiu $t6,$zero,0x1 +/* f09c520: 51a00003 */ beqzl $t5,.L0f09c530 +/* f09c524: 8e0f0018 */ lw $t7,0x18($s0) +/* f09c528: afae0054 */ sw $t6,0x54($sp) +.L0f09c52c: +/* f09c52c: 8e0f0018 */ lw $t7,0x18($s0) +.L0f09c530: +/* f09c530: 3c06800a */ lui $a2,%hi(g_Vars) +/* f09c534: 24c69fc0 */ addiu $a2,$a2,%lo(g_Vars) +/* f09c538: 55e0012d */ bnezl $t7,.L0f09c9f0 +/* f09c53c: 8e0e001c */ lw $t6,0x1c($s0) +/* f09c540: 8cd80314 */ lw $t8,0x314($a2) +/* f09c544: 3c198009 */ lui $t9,%hi(g_Is4Mb) +/* f09c548: 53000025 */ beqzl $t8,.L0f09c5e0 +/* f09c54c: 8fa40070 */ lw $a0,0x70($sp) +/* f09c550: 93390af0 */ lbu $t9,%lo(g_Is4Mb)($t9) +/* f09c554: 24010001 */ addiu $at,$zero,0x1 +/* f09c558: 1721001e */ bne $t9,$at,.L0f09c5d4 +/* f09c55c: 00000000 */ nop +/* f09c560: 8cc8006c */ lw $t0,0x6c($a2) +/* f09c564: 24010001 */ addiu $at,$zero,0x1 +/* f09c568: 00002825 */ or $a1,$zero,$zero +/* f09c56c: 11000003 */ beqz $t0,.L0f09c57c +/* f09c570: 00002025 */ or $a0,$zero,$zero +/* f09c574: 10000001 */ b .L0f09c57c +/* f09c578: 24050001 */ addiu $a1,$zero,0x1 +.L0f09c57c: +/* f09c57c: 8cc90068 */ lw $t1,0x68($a2) +/* f09c580: 00001825 */ or $v1,$zero,$zero +/* f09c584: 00001025 */ or $v0,$zero,$zero +/* f09c588: 11200003 */ beqz $t1,.L0f09c598 +/* f09c58c: 00000000 */ nop +/* f09c590: 10000001 */ b .L0f09c598 +/* f09c594: 24040001 */ addiu $a0,$zero,0x1 +.L0f09c598: +/* f09c598: 8cca0064 */ lw $t2,0x64($a2) +/* f09c59c: 11400003 */ beqz $t2,.L0f09c5ac +/* f09c5a0: 00000000 */ nop +/* f09c5a4: 10000001 */ b .L0f09c5ac +/* f09c5a8: 24030001 */ addiu $v1,$zero,0x1 +.L0f09c5ac: +/* f09c5ac: 8ccb0070 */ lw $t3,0x70($a2) +/* f09c5b0: 11600003 */ beqz $t3,.L0f09c5c0 +/* f09c5b4: 00000000 */ nop +/* f09c5b8: 10000001 */ b .L0f09c5c0 +/* f09c5bc: 24020001 */ addiu $v0,$zero,0x1 +.L0f09c5c0: +/* f09c5c0: 00436021 */ addu $t4,$v0,$v1 +/* f09c5c4: 01846821 */ addu $t5,$t4,$a0 +/* f09c5c8: 01a57021 */ addu $t6,$t5,$a1 +/* f09c5cc: 51c10004 */ beql $t6,$at,.L0f09c5e0 +/* f09c5d0: 8fa40070 */ lw $a0,0x70($sp) +.L0f09c5d4: +/* f09c5d4: 0fc4a348 */ jal func0f128d20 +/* f09c5d8: 8fa40074 */ lw $a0,0x74($sp) +/* f09c5dc: 8fa40070 */ lw $a0,0x70($sp) +.L0f09c5e0: +/* f09c5e0: 0fc263e3 */ jal func0f098f8c +/* f09c5e4: 02002825 */ or $a1,$s0,$zero +/* f09c5e8: 8faf0070 */ lw $t7,0x70($sp) +/* f09c5ec: 24050001 */ addiu $a1,$zero,0x1 +/* f09c5f0: 0fc2c5f0 */ jal weaponHasFlag +/* f09c5f4: 8de40000 */ lw $a0,0x0($t7) +/* f09c5f8: 10400015 */ beqz $v0,.L0f09c650 +/* f09c5fc: 8fb80070 */ lw $t8,0x70($sp) +/* f09c600: 8f190000 */ lw $t9,0x0($t8) +/* f09c604: 24010022 */ addiu $at,$zero,0x22 +/* f09c608: 8fa80074 */ lw $t0,0x74($sp) +/* f09c60c: 17210004 */ bne $t9,$at,.L0f09c620 +/* f09c610: 00002025 */ or $a0,$zero,$zero +/* f09c614: 24010001 */ addiu $at,$zero,0x1 +/* f09c618: 1101000d */ beq $t0,$at,.L0f09c650 +/* f09c61c: 00000000 */ nop +.L0f09c620: +/* f09c620: 8fa50070 */ lw $a1,0x70($sp) +/* f09c624: 0fc26328 */ jal func0f098ca0 +/* f09c628: 02003025 */ or $a2,$s0,$zero +/* f09c62c: 04410008 */ bgez $v0,.L0f09c650 +/* f09c630: 8fa40074 */ lw $a0,0x74($sp) +/* f09c634: 0fc27346 */ jal func0f09cd18 +/* f09c638: 24050008 */ addiu $a1,$zero,0x8 +/* f09c63c: 10400004 */ beqz $v0,.L0f09c650 +/* f09c640: 24090001 */ addiu $t1,$zero,0x1 +/* f09c644: ae090608 */ sw $t1,0x608($s0) +/* f09c648: 10000139 */ b .L0f09cb30 +/* f09c64c: 8fa2007c */ lw $v0,0x7c($sp) +.L0f09c650: +/* f09c650: 3c0a800a */ lui $t2,%hi(g_Vars+0x284) +/* f09c654: 8d4aa244 */ lw $t2,%lo(g_Vars+0x284)($t2) +/* f09c658: 3c0b800a */ lui $t3,%hi(g_Vars+0x34) +/* f09c65c: 3c0c800a */ lui $t4,%hi(g_Vars+0x284) +/* f09c660: ad401600 */ sw $zero,0x1600($t2) +/* f09c664: 8d6b9ff4 */ lw $t3,%lo(g_Vars+0x34)($t3) +/* f09c668: 596000e1 */ blezl $t3,.L0f09c9f0 +/* f09c66c: 8e0e001c */ lw $t6,0x1c($s0) +/* f09c670: 8d8ca244 */ lw $t4,%lo(g_Vars+0x284)($t4) +/* f09c674: 24010001 */ addiu $at,$zero,0x1 +/* f09c678: 8d8d0000 */ lw $t5,0x0($t4) +/* f09c67c: 51a100dc */ beql $t5,$at,.L0f09c9f0 +/* f09c680: 8e0e001c */ lw $t6,0x1c($s0) +/* f09c684: 0fc2775f */ jal func0f09dd7c +/* f09c688: 00000000 */ nop +/* f09c68c: 104000d7 */ beqz $v0,.L0f09c9ec +/* f09c690: 3c0e8007 */ lui $t6,%hi(g_PlayerInvincible) +/* f09c694: 8dce0760 */ lw $t6,%lo(g_PlayerInvincible)($t6) +/* f09c698: 3c0f800a */ lui $t7,%hi(g_Vars+0x284) +/* f09c69c: 55c000d4 */ bnezl $t6,.L0f09c9f0 +/* f09c6a0: 8e0e001c */ lw $t6,0x1c($s0) +/* f09c6a4: 8defa244 */ lw $t7,%lo(g_Vars+0x284)($t7) +/* f09c6a8: 8fb90070 */ lw $t9,0x70($sp) +/* f09c6ac: 8df800d8 */ lw $t8,0xd8($t7) +/* f09c6b0: 570000cf */ bnezl $t8,.L0f09c9f0 +/* f09c6b4: 8e0e001c */ lw $t6,0x1c($s0) +/* f09c6b8: 8f280000 */ lw $t0,0x0($t9) +/* f09c6bc: 2d010058 */ sltiu $at,$t0,0x58 +/* f09c6c0: 102000bb */ beqz $at,.L0f09c9b0 +/* f09c6c4: 00084080 */ sll $t0,$t0,0x2 +/* f09c6c8: 3c017f1b */ lui $at,%hi(var7f1ac488) +/* f09c6cc: 00280821 */ addu $at,$at,$t0 +/* f09c6d0: 8c28c488 */ lw $t0,%lo(var7f1ac488)($at) +/* f09c6d4: 01000008 */ jr $t0 +/* f09c6d8: 00000000 */ nop +/* f09c6dc: 3c014060 */ lui $at,0x4060 +/* f09c6e0: 44813000 */ mtc1 $at,$f6 +/* f09c6e4: 00002025 */ or $a0,$zero,$zero +/* f09c6e8: 0c012230 */ jal osGetThreadPri +/* f09c6ec: e7a6004c */ swc1 $f6,0x4c($sp) +/* f09c6f0: 3c048009 */ lui $a0,%hi(g_AudioManager+0x18) +/* f09c6f4: afa20044 */ sw $v0,0x44($sp) +/* f09c6f8: 0c012230 */ jal osGetThreadPri +/* f09c6fc: 248415e0 */ addiu $a0,$a0,%lo(g_AudioManager+0x18) +/* f09c700: 00002025 */ or $a0,$zero,$zero +/* f09c704: 0c01210c */ jal osSetThreadPri +/* f09c708: 24450001 */ addiu $a1,$v0,0x1 +/* f09c70c: 3c01bf80 */ lui $at,0xbf80 +/* f09c710: 44814000 */ mtc1 $at,$f8 +/* f09c714: 3c048009 */ lui $a0,%hi(var80095200) +/* f09c718: 2409ffff */ addiu $t1,$zero,-1 +/* f09c71c: 240affff */ addiu $t2,$zero,-1 +/* f09c720: 240bffff */ addiu $t3,$zero,-1 +/* f09c724: afab001c */ sw $t3,0x1c($sp) +/* f09c728: afaa0018 */ sw $t2,0x18($sp) +/* f09c72c: afa90010 */ sw $t1,0x10($sp) +/* f09c730: 8c845200 */ lw $a0,%lo(var80095200)($a0) +/* f09c734: 24050002 */ addiu $a1,$zero,0x2 +/* f09c738: 00003025 */ or $a2,$zero,$zero +/* f09c73c: 2407ffff */ addiu $a3,$zero,-1 +/* f09c740: 0c004241 */ jal audioStart +/* f09c744: e7a80014 */ swc1 $f8,0x14($sp) +/* f09c748: 10400004 */ beqz $v0,.L0f09c75c +/* f09c74c: 00402025 */ or $a0,$v0,$zero +/* f09c750: 24050010 */ addiu $a1,$zero,0x10 +/* f09c754: 0c00cf94 */ jal func00033e50 +/* f09c758: 8fa6004c */ lw $a2,0x4c($sp) +.L0f09c75c: +/* f09c75c: 00002025 */ or $a0,$zero,$zero +/* f09c760: 0c01210c */ jal osSetThreadPri +/* f09c764: 8fa50044 */ lw $a1,0x44($sp) +/* f09c768: 100000a1 */ b .L0f09c9f0 +/* f09c76c: 8e0e001c */ lw $t6,0x1c($s0) +/* f09c770: 3c01bf80 */ lui $at,0xbf80 +/* f09c774: 44818000 */ mtc1 $at,$f16 +/* f09c778: 3c048009 */ lui $a0,%hi(var80095200) +/* f09c77c: 240cffff */ addiu $t4,$zero,-1 +/* f09c780: 240dffff */ addiu $t5,$zero,-1 +/* f09c784: 240effff */ addiu $t6,$zero,-1 +/* f09c788: afae001c */ sw $t6,0x1c($sp) +/* f09c78c: afad0018 */ sw $t5,0x18($sp) +/* f09c790: afac0010 */ sw $t4,0x10($sp) +/* f09c794: 8c845200 */ lw $a0,%lo(var80095200)($a0) +/* f09c798: 240500f2 */ addiu $a1,$zero,0xf2 +/* f09c79c: 00003025 */ or $a2,$zero,$zero +/* f09c7a0: 2407ffff */ addiu $a3,$zero,-1 +/* f09c7a4: 0c004241 */ jal audioStart +/* f09c7a8: e7b00014 */ swc1 $f16,0x14($sp) +/* f09c7ac: 10000090 */ b .L0f09c9f0 +/* f09c7b0: 8e0e001c */ lw $t6,0x1c($s0) +/* f09c7b4: 3c01bf80 */ lui $at,0xbf80 +/* f09c7b8: 44815000 */ mtc1 $at,$f10 +/* f09c7bc: 3c048009 */ lui $a0,%hi(var80095200) +/* f09c7c0: 240fffff */ addiu $t7,$zero,-1 +/* f09c7c4: 2418ffff */ addiu $t8,$zero,-1 +/* f09c7c8: 2419ffff */ addiu $t9,$zero,-1 +/* f09c7cc: afb9001c */ sw $t9,0x1c($sp) +/* f09c7d0: afb80018 */ sw $t8,0x18($sp) +/* f09c7d4: afaf0010 */ sw $t7,0x10($sp) +/* f09c7d8: 8c845200 */ lw $a0,%lo(var80095200)($a0) +/* f09c7dc: 240500e9 */ addiu $a1,$zero,0xe9 +/* f09c7e0: 00003025 */ or $a2,$zero,$zero +/* f09c7e4: 2407ffff */ addiu $a3,$zero,-1 +/* f09c7e8: 0c004241 */ jal audioStart +/* f09c7ec: e7aa0014 */ swc1 $f10,0x14($sp) +/* f09c7f0: 1000007f */ b .L0f09c9f0 +/* f09c7f4: 8e0e001c */ lw $t6,0x1c($s0) +/* f09c7f8: 8fa80074 */ lw $t0,0x74($sp) +/* f09c7fc: 3c048009 */ lui $a0,%hi(var80095200) +/* f09c800: 240500eb */ addiu $a1,$zero,0xeb +/* f09c804: 15000079 */ bnez $t0,.L0f09c9ec +/* f09c808: 00003025 */ or $a2,$zero,$zero +/* f09c80c: 3c01bf80 */ lui $at,0xbf80 +/* f09c810: 44819000 */ mtc1 $at,$f18 +/* f09c814: 2409ffff */ addiu $t1,$zero,-1 +/* f09c818: 240affff */ addiu $t2,$zero,-1 +/* f09c81c: 240bffff */ addiu $t3,$zero,-1 +/* f09c820: afab001c */ sw $t3,0x1c($sp) +/* f09c824: afaa0018 */ sw $t2,0x18($sp) +/* f09c828: afa90010 */ sw $t1,0x10($sp) +/* f09c82c: 8c845200 */ lw $a0,%lo(var80095200)($a0) +/* f09c830: 2407ffff */ addiu $a3,$zero,-1 +/* f09c834: 0c004241 */ jal audioStart +/* f09c838: e7b20014 */ swc1 $f18,0x14($sp) +/* f09c83c: 1000006c */ b .L0f09c9f0 +/* f09c840: 8e0e001c */ lw $t6,0x1c($s0) +/* f09c844: 3c01bf80 */ lui $at,0xbf80 +/* f09c848: 44812000 */ mtc1 $at,$f4 +/* f09c84c: 3c048009 */ lui $a0,%hi(var80095200) +/* f09c850: 240cffff */ addiu $t4,$zero,-1 +/* f09c854: 240dffff */ addiu $t5,$zero,-1 +/* f09c858: 240effff */ addiu $t6,$zero,-1 +/* f09c85c: afae001c */ sw $t6,0x1c($sp) +/* f09c860: afad0018 */ sw $t5,0x18($sp) +/* f09c864: afac0010 */ sw $t4,0x10($sp) +/* f09c868: 8c845200 */ lw $a0,%lo(var80095200)($a0) +/* f09c86c: 240500eb */ addiu $a1,$zero,0xeb +/* f09c870: 00003025 */ or $a2,$zero,$zero +/* f09c874: 2407ffff */ addiu $a3,$zero,-1 +/* f09c878: 0c004241 */ jal audioStart +/* f09c87c: e7a40014 */ swc1 $f4,0x14($sp) +/* f09c880: 1000005b */ b .L0f09c9f0 +/* f09c884: 8e0e001c */ lw $t6,0x1c($s0) +/* f09c888: 3c013fc0 */ lui $at,0x3fc0 +/* f09c88c: 44813000 */ mtc1 $at,$f6 +/* f09c890: 00002025 */ or $a0,$zero,$zero +/* f09c894: 0c012230 */ jal osGetThreadPri +/* f09c898: e7a60040 */ swc1 $f6,0x40($sp) +/* f09c89c: 3c048009 */ lui $a0,%hi(g_AudioManager+0x18) +/* f09c8a0: afa2003c */ sw $v0,0x3c($sp) +/* f09c8a4: 0c012230 */ jal osGetThreadPri +/* f09c8a8: 248415e0 */ addiu $a0,$a0,%lo(g_AudioManager+0x18) +/* f09c8ac: 00002025 */ or $a0,$zero,$zero +/* f09c8b0: 0c01210c */ jal osSetThreadPri +/* f09c8b4: 24450001 */ addiu $a1,$v0,0x1 +/* f09c8b8: 3c01bf80 */ lui $at,0xbf80 +/* f09c8bc: 44814000 */ mtc1 $at,$f8 +/* f09c8c0: 3c048009 */ lui $a0,%hi(var80095200) +/* f09c8c4: 240fffff */ addiu $t7,$zero,-1 +/* f09c8c8: 2418ffff */ addiu $t8,$zero,-1 +/* f09c8cc: 2419ffff */ addiu $t9,$zero,-1 +/* f09c8d0: afb9001c */ sw $t9,0x1c($sp) +/* f09c8d4: afb80018 */ sw $t8,0x18($sp) +/* f09c8d8: afaf0010 */ sw $t7,0x10($sp) +/* f09c8dc: 8c845200 */ lw $a0,%lo(var80095200)($a0) +/* f09c8e0: 240500e8 */ addiu $a1,$zero,0xe8 +/* f09c8e4: 00003025 */ or $a2,$zero,$zero +/* f09c8e8: 2407ffff */ addiu $a3,$zero,-1 +/* f09c8ec: 0c004241 */ jal audioStart +/* f09c8f0: e7a80014 */ swc1 $f8,0x14($sp) +/* f09c8f4: 10400004 */ beqz $v0,.L0f09c908 +/* f09c8f8: 00402025 */ or $a0,$v0,$zero +/* f09c8fc: 24050010 */ addiu $a1,$zero,0x10 +/* f09c900: 0c00cf94 */ jal func00033e50 +/* f09c904: 8fa60040 */ lw $a2,0x40($sp) +.L0f09c908: +/* f09c908: 00002025 */ or $a0,$zero,$zero +/* f09c90c: 0c01210c */ jal osSetThreadPri +/* f09c910: 8fa5003c */ lw $a1,0x3c($sp) +/* f09c914: 10000036 */ b .L0f09c9f0 +/* f09c918: 8e0e001c */ lw $t6,0x1c($s0) +/* f09c91c: 3c017f1b */ lui $at,%hi(var7f1ac5e8) +/* f09c920: c430c5e8 */ lwc1 $f16,%lo(var7f1ac5e8)($at) +/* f09c924: 00002025 */ or $a0,$zero,$zero +/* f09c928: 0c012230 */ jal osGetThreadPri +/* f09c92c: e7b00034 */ swc1 $f16,0x34($sp) +/* f09c930: 3c048009 */ lui $a0,%hi(g_AudioManager+0x18) +/* f09c934: afa20030 */ sw $v0,0x30($sp) +/* f09c938: 0c012230 */ jal osGetThreadPri +/* f09c93c: 248415e0 */ addiu $a0,$a0,%lo(g_AudioManager+0x18) +/* f09c940: 00002025 */ or $a0,$zero,$zero +/* f09c944: 0c01210c */ jal osSetThreadPri +/* f09c948: 24450001 */ addiu $a1,$v0,0x1 +/* f09c94c: 3c01bf80 */ lui $at,0xbf80 +/* f09c950: 44815000 */ mtc1 $at,$f10 +/* f09c954: 3c048009 */ lui $a0,%hi(var80095200) +/* f09c958: 2408ffff */ addiu $t0,$zero,-1 +/* f09c95c: 2409ffff */ addiu $t1,$zero,-1 +/* f09c960: 240affff */ addiu $t2,$zero,-1 +/* f09c964: afaa001c */ sw $t2,0x1c($sp) +/* f09c968: afa90018 */ sw $t1,0x18($sp) +/* f09c96c: afa80010 */ sw $t0,0x10($sp) +/* f09c970: 8c845200 */ lw $a0,%lo(var80095200)($a0) +/* f09c974: 240500e8 */ addiu $a1,$zero,0xe8 +/* f09c978: 00003025 */ or $a2,$zero,$zero +/* f09c97c: 2407ffff */ addiu $a3,$zero,-1 +/* f09c980: 0c004241 */ jal audioStart +/* f09c984: e7aa0014 */ swc1 $f10,0x14($sp) +/* f09c988: 10400004 */ beqz $v0,.L0f09c99c +/* f09c98c: 00402025 */ or $a0,$v0,$zero +/* f09c990: 24050010 */ addiu $a1,$zero,0x10 +/* f09c994: 0c00cf94 */ jal func00033e50 +/* f09c998: 8fa60034 */ lw $a2,0x34($sp) +.L0f09c99c: +/* f09c99c: 00002025 */ or $a0,$zero,$zero +/* f09c9a0: 0c01210c */ jal osSetThreadPri +/* f09c9a4: 8fa50030 */ lw $a1,0x30($sp) +/* f09c9a8: 10000011 */ b .L0f09c9f0 +/* f09c9ac: 8e0e001c */ lw $t6,0x1c($s0) +.L0f09c9b0: +/* f09c9b0: 3c01bf80 */ lui $at,0xbf80 +/* f09c9b4: 44819000 */ mtc1 $at,$f18 +/* f09c9b8: 3c048009 */ lui $a0,%hi(var80095200) +/* f09c9bc: 240bffff */ addiu $t3,$zero,-1 +/* f09c9c0: 240cffff */ addiu $t4,$zero,-1 +/* f09c9c4: 240dffff */ addiu $t5,$zero,-1 +/* f09c9c8: afad001c */ sw $t5,0x1c($sp) +/* f09c9cc: afac0018 */ sw $t4,0x18($sp) +/* f09c9d0: afab0010 */ sw $t3,0x10($sp) +/* f09c9d4: 8c845200 */ lw $a0,%lo(var80095200)($a0) +/* f09c9d8: 240500e8 */ addiu $a1,$zero,0xe8 +/* f09c9dc: 00003025 */ or $a2,$zero,$zero +/* f09c9e0: 2407ffff */ addiu $a3,$zero,-1 +/* f09c9e4: 0c004241 */ jal audioStart +/* f09c9e8: e7b20014 */ swc1 $f18,0x14($sp) +.L0f09c9ec: +/* f09c9ec: 8e0e001c */ lw $t6,0x1c($s0) +.L0f09c9f0: +/* f09c9f0: 8faf0054 */ lw $t7,0x54($sp) +/* f09c9f4: 8fb80070 */ lw $t8,0x70($sp) +/* f09c9f8: 01cf082a */ slt $at,$t6,$t7 +/* f09c9fc: 50200010 */ beqzl $at,.L0f09ca40 +/* f09ca00: 8e090608 */ lw $t1,0x608($s0) +/* f09ca04: 0fc2c6b4 */ jal weaponGetModelNum2 +/* f09ca08: 8f040000 */ lw $a0,0x0($t8) +/* f09ca0c: 1040000b */ beqz $v0,.L0f09ca3c +/* f09ca10: 8fb90070 */ lw $t9,0x70($sp) +/* f09ca14: 8f240000 */ lw $a0,0x0($t9) +/* f09ca18: 0fc2c5f0 */ jal weaponHasFlag +/* f09ca1c: 24050040 */ addiu $a1,$zero,0x40 +/* f09ca20: 10400006 */ beqz $v0,.L0f09ca3c +/* f09ca24: 8fa80070 */ lw $t0,0x70($sp) +/* f09ca28: 8d040000 */ lw $a0,0x0($t0) +/* f09ca2c: 0fc2c5f0 */ jal weaponHasFlag +/* f09ca30: 24050080 */ addiu $a1,$zero,0x80 +/* f09ca34: 10400011 */ beqz $v0,.L0f09ca7c +/* f09ca38: 8fad0054 */ lw $t5,0x54($sp) +.L0f09ca3c: +/* f09ca3c: 8e090608 */ lw $t1,0x608($s0) +.L0f09ca40: +/* f09ca40: ae000020 */ sw $zero,0x20($s0) +/* f09ca44: 92040000 */ lbu $a0,0x0($s0) +/* f09ca48: 252a0001 */ addiu $t2,$t1,0x1 +/* f09ca4c: ae0a0608 */ sw $t2,0x608($s0) +/* f09ca50: 0fc2c5f0 */ jal weaponHasFlag +/* f09ca54: 24054000 */ addiu $a1,$zero,0x4000 +/* f09ca58: 54400005 */ bnezl $v0,.L0f09ca70 +/* f09ca5c: ae00001c */ sw $zero,0x1c($s0) +/* f09ca60: 920b0690 */ lbu $t3,0x690($s0) +/* f09ca64: 316cffbf */ andi $t4,$t3,0xffbf +/* f09ca68: a20c0690 */ sb $t4,0x690($s0) +/* f09ca6c: ae00001c */ sw $zero,0x1c($s0) +.L0f09ca70: +/* f09ca70: ae000018 */ sw $zero,0x18($s0) +/* f09ca74: 10000010 */ b .L0f09cab8 +/* f09ca78: 8e020608 */ lw $v0,0x608($s0) +.L0f09ca7c: +/* f09ca7c: 8e0e001c */ lw $t6,0x1c($s0) +/* f09ca80: 3c017f1b */ lui $at,%hi(var7f1ac5ec) +/* f09ca84: c428c5ec */ lwc1 $f8,%lo(var7f1ac5ec)($at) +/* f09ca88: 01ae7823 */ subu $t7,$t5,$t6 +/* f09ca8c: 448f2000 */ mtc1 $t7,$f4 +/* f09ca90: 448d5000 */ mtc1 $t5,$f10 +/* f09ca94: 02002025 */ or $a0,$s0,$zero +/* f09ca98: 468021a0 */ cvt.s.w $f6,$f4 +/* f09ca9c: 468054a0 */ cvt.s.w $f18,$f10 +/* f09caa0: 46083402 */ mul.s $f16,$f6,$f8 +/* f09caa4: 46128103 */ div.s $f4,$f16,$f18 +/* f09caa8: 44052000 */ mfc1 $a1,$f4 +/* f09caac: 0fc265e0 */ jal func0f099780 +/* f09cab0: 00000000 */ nop +/* f09cab4: 8e020608 */ lw $v0,0x608($s0) +.L0f09cab8: +/* f09cab8: 24010004 */ addiu $at,$zero,0x4 +.L0f09cabc: +/* f09cabc: 1441001b */ bne $v0,$at,.L0f09cb2c +/* f09cac0: 8fb80070 */ lw $t8,0x70($sp) +/* f09cac4: 8f190004 */ lw $t9,0x4($t8) +/* f09cac8: 24054000 */ addiu $a1,$zero,0x4000 +/* f09cacc: 8f280004 */ lw $t0,0x4($t9) +/* f09cad0: 51000010 */ beqzl $t0,.L0f09cb14 +/* f09cad4: 8fa40074 */ lw $a0,0x74($sp) +/* f09cad8: 0fc2c5f0 */ jal weaponHasFlag +/* f09cadc: 92040000 */ lbu $a0,0x0($s0) +/* f09cae0: 5440000c */ bnezl $v0,.L0f09cb14 +/* f09cae4: 8fa40074 */ lw $a0,0x74($sp) +/* f09cae8: 8e09068c */ lw $t1,0x68c($s0) +/* f09caec: 8fa40074 */ lw $a0,0x74($sp) +/* f09caf0: 5520000f */ bnezl $t1,.L0f09cb30 +/* f09caf4: 00001025 */ or $v0,$zero,$zero +/* f09caf8: 0fc27346 */ jal func0f09cd18 +/* f09cafc: 00002825 */ or $a1,$zero,$zero +/* f09cb00: 5040000b */ beqzl $v0,.L0f09cb30 +/* f09cb04: 00001025 */ or $v0,$zero,$zero +/* f09cb08: 10000009 */ b .L0f09cb30 +/* f09cb0c: 8fa2007c */ lw $v0,0x7c($sp) +/* f09cb10: 8fa40074 */ lw $a0,0x74($sp) +.L0f09cb14: +/* f09cb14: 0fc27346 */ jal func0f09cd18 +/* f09cb18: 00002825 */ or $a1,$zero,$zero +/* f09cb1c: 50400004 */ beqzl $v0,.L0f09cb30 +/* f09cb20: 00001025 */ or $v0,$zero,$zero +/* f09cb24: 10000002 */ b .L0f09cb30 +/* f09cb28: 8fa2007c */ lw $v0,0x7c($sp) +.L0f09cb2c: +/* f09cb2c: 00001025 */ or $v0,$zero,$zero +.L0f09cb30: +/* f09cb30: 8fbf002c */ lw $ra,0x2c($sp) +/* f09cb34: 8fb00028 */ lw $s0,0x28($sp) +/* f09cb38: 27bd0070 */ addiu $sp,$sp,0x70 +/* f09cb3c: 03e00008 */ jr $ra +/* f09cb40: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f09c01c .late_rodata @@ -8273,6 +11086,7 @@ glabel var7f1ac5ec /* f09cb3c: 03e00008 */ jr $ra /* f09cb40: 00000000 */ nop ); +#endif s32 func0f09cb44(struct handweaponinfo *info, s32 handnum, struct hand *hand, s32 lvupdate) { @@ -8356,6 +11170,74 @@ bool func0f09cd18(s32 handnum, s32 arg1) return result; } +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f09cdc4 +.late_rodata +glabel var7f1ad810pf +.word 0x3f99999a +.text +/* f09d05c: 00047900 */ sll $t7,$a0,0x4 +/* f09d060: 01e47823 */ subu $t7,$t7,$a0 +/* f09d064: 000f7880 */ sll $t7,$t7,0x2 +/* f09d068: 27bdffc0 */ addiu $sp,$sp,-64 +/* f09d06c: 01e47821 */ addu $t7,$t7,$a0 +/* f09d070: 3c0e800a */ lui $t6,0x800a +/* f09d074: 8dcea794 */ lw $t6,-0x586c($t6) +/* f09d078: 000f78c0 */ sll $t7,$t7,0x3 +/* f09d07c: 01e47821 */ addu $t7,$t7,$a0 +/* f09d080: 000f7880 */ sll $t7,$t7,0x2 +/* f09d084: afb30020 */ sw $s3,0x20($sp) +/* f09d088: afb2001c */ sw $s2,0x1c($sp) +/* f09d08c: 01cf1821 */ addu $v1,$t6,$t7 +/* f09d090: 00809025 */ move $s2,$a0 +/* f09d094: afbf0024 */ sw $ra,0x24($sp) +/* f09d098: afb10018 */ sw $s1,0x18($sp) +/* f09d09c: 24630638 */ addiu $v1,$v1,0x638 +/* f09d0a0: 27b30030 */ addiu $s3,$sp,0x30 +/* f09d0a4: afb00014 */ sw $s0,0x14($sp) +/* f09d0a8: 24110014 */ li $s1,0x14 +/* f09d0ac: 02602025 */ move $a0,$s3 +/* f09d0b0: afa3003c */ sw $v1,0x3c($sp) +/* f09d0b4: 0fc26333 */ jal 0xf098ccc +/* f09d0b8: 02402825 */ move $a1,$s2 +/* f09d0bc: 8fa3003c */ lw $v1,0x3c($sp) +/* f09d0c0: 3c02800a */ lui $v0,0x800a +/* f09d0c4: 8c50a548 */ lw $s0,-0x5ab8($v0) +/* f09d0c8: 24640384 */ addiu $a0,$v1,0x384 +/* f09d0cc: 0c007416 */ jal 0x1d058 +/* f09d0d0: ac700684 */ sw $s0,0x684($v1) +/* f09d0d4: 8fa3003c */ lw $v1,0x3c($sp) +/* f09d0d8: 3c017f1b */ lui $at,0x7f1b +/* f09d0dc: c428d810 */ lwc1 $f8,-0x27f0($at) +/* f09d0e0: 8c780684 */ lw $t8,0x684($v1) +/* f09d0e4: 44982000 */ mtc1 $t8,$f4 +/* f09d0e8: 00000000 */ nop +/* f09d0ec: 468021a0 */ cvt.s.w $f6,$f4 +/* f09d0f0: 46083282 */ mul.s $f10,$f6,$f8 +/* f09d0f4: 00000000 */ nop +/* f09d0f8: 460a0402 */ mul.s $f16,$f0,$f10 +/* f09d0fc: e4700688 */ swc1 $f16,0x688($v1) +/* f09d100: 02602025 */ move $a0,$s3 +.PF0f09d104: +/* f09d104: 02402825 */ move $a1,$s2 +/* f09d108: 0fc2737d */ jal 0xf09cdf4 +/* f09d10c: 02003025 */ move $a2,$s0 +/* f09d110: 00408025 */ move $s0,$v0 +/* f09d114: 18400003 */ blez $v0,.PF0f09d124 +/* f09d118: 2631ffff */ addiu $s1,$s1,-1 +/* f09d11c: 0623fff9 */ bgezl $s1,.PF0f09d104 +/* f09d120: 02602025 */ move $a0,$s3 +.PF0f09d124: +/* f09d124: 8fbf0024 */ lw $ra,0x24($sp) +/* f09d128: 8fb00014 */ lw $s0,0x14($sp) +/* f09d12c: 8fb10018 */ lw $s1,0x18($sp) +/* f09d130: 8fb2001c */ lw $s2,0x1c($sp) +/* f09d134: 8fb30020 */ lw $s3,0x20($sp) +/* f09d138: 03e00008 */ jr $ra +/* f09d13c: 27bd0040 */ addiu $sp,$sp,0x40 +); +#else void func0f09cdc4(s32 handnum) { struct hand *hand = &g_Vars.currentplayer->hands[handnum]; @@ -8374,9 +11256,9 @@ void func0f09cdc4(s32 handnum) hand->unk0cbc = g_Vars.lvupdate240_60; #if VERSION >= VERSION_PAL_FINAL - hand->unk0cc0 = modelGetAbsAnimSpeed(&hand->unk09bc) * (hand->unk0cbc * 1.2f); + hand->unk0cc0 = modelGetAbsAnimSpeed(&hand->unk09bc) * PALUPF(hand->unk0cbc); #else - hand->unk0cc0 += FRAMESTOTIME60(g_Vars.lvupdate240_60); + hand->unk0cc0 += PALUPF(g_Vars.lvupdate240_60); #endif while (i >= 0) { @@ -8388,6 +11270,7 @@ void func0f09cdc4(s32 handnum) } } } +#endif void func0f09ce8c(void) { @@ -11551,6 +14434,523 @@ glabel var7f1ac704 ); #endif +#if PAL +GLOBAL_ASM( +glabel handCreateThrownProjectile +.late_rodata +glabel var7f1ac708 +.word 0x4096c5bf +glabel var7f1ac70c +.word 0x404907a9 +glabel var7f1ac710 +.word 0x3fd55555 +glabel var7f1ac714 +.word 0x3eb2b179 +glabel var7f1ac718 +.word 0xbeb2b179 +glabel var7f1ac71c +.word 0x3eb2b179 +glabel var7f1ac720 +.word 0x41ad5555 +glabel var7f1ac724 +.word 0x41855555 +glabel var7f1ac728 +.word 0x3fd55555 +glabel var7f1ac72c +.word 0x3dcccccd +.text +/* f09f100: 27bdfdc0 */ addiu $sp,$sp,-576 +/* f09f104: 3c0f8007 */ lui $t7,%hi(var800701ac) +/* f09f108: afbf002c */ sw $ra,0x2c($sp) +/* f09f10c: afa50244 */ sw $a1,0x244($sp) +/* f09f110: 25ef01ac */ addiu $t7,$t7,%lo(var800701ac) +/* f09f114: 8de10000 */ lw $at,0x0($t7) +/* f09f118: 27ae0234 */ addiu $t6,$sp,0x234 +/* f09f11c: 8de90004 */ lw $t1,0x4($t7) +/* f09f120: adc10000 */ sw $at,0x0($t6) +/* f09f124: 8de10008 */ lw $at,0x8($t7) +/* f09f128: 3c03800a */ lui $v1,%hi(g_Vars+0x284) +/* f09f12c: adc90004 */ sw $t1,0x4($t6) +/* f09f130: adc10008 */ sw $at,0x8($t6) +/* f09f134: 8c63a244 */ lw $v1,%lo(g_Vars+0x284)($v1) +/* f09f138: 28810002 */ slti $at,$a0,0x2 +/* f09f13c: 00803825 */ or $a3,$a0,$zero +/* f09f140: 8c6a00bc */ lw $t2,0xbc($v1) +/* f09f144: 246b0310 */ addiu $t3,$v1,0x310 +/* f09f148: 246c1c44 */ addiu $t4,$v1,0x1c44 +/* f09f14c: afab01d4 */ sw $t3,0x1d4($sp) +/* f09f150: afac01d0 */ sw $t4,0x1d0($sp) +/* f09f154: 00003025 */ or $a2,$zero,$zero +/* f09f158: 14200003 */ bnez $at,.L0f09f168 +/* f09f15c: afaa01d8 */ sw $t2,0x1d8($sp) +/* f09f160: 24060001 */ addiu $a2,$zero,0x1 +/* f09f164: 2487fffe */ addiu $a3,$a0,-2 +.L0f09f168: +/* f09f168: 00072900 */ sll $a1,$a3,0x4 +/* f09f16c: 00a72823 */ subu $a1,$a1,$a3 +/* f09f170: 00052880 */ sll $a1,$a1,0x2 +/* f09f174: 00a72821 */ addu $a1,$a1,$a3 +/* f09f178: 000528c0 */ sll $a1,$a1,0x3 +/* f09f17c: 00a72821 */ addu $a1,$a1,$a3 +/* f09f180: 00052880 */ sll $a1,$a1,0x2 +/* f09f184: 00656821 */ addu $t5,$v1,$a1 +/* f09f188: 25b90638 */ addiu $t9,$t5,0x638 +/* f09f18c: afb90158 */ sw $t9,0x158($sp) +/* f09f190: 00651021 */ addu $v0,$v1,$a1 +/* f09f194: c44409ac */ lwc1 $f4,0x9ac($v0) +/* f09f198: 27a401f4 */ addiu $a0,$sp,0x1f4 +/* f09f19c: e7a4017c */ swc1 $f4,0x17c($sp) +/* f09f1a0: c44609b0 */ lwc1 $f6,0x9b0($v0) +/* f09f1a4: e7a60180 */ swc1 $f6,0x180($sp) +/* f09f1a8: c44809b4 */ lwc1 $f8,0x9b4($v0) +/* f09f1ac: afa70240 */ sw $a3,0x240($sp) +/* f09f1b0: afa6015c */ sw $a2,0x15c($sp) +/* f09f1b4: afa50034 */ sw $a1,0x34($sp) +/* f09f1b8: 0c00566c */ jal func000159b0 +/* f09f1bc: e7a80184 */ swc1 $f8,0x184($sp) +/* f09f1c0: 8fb80244 */ lw $t8,0x244($sp) +/* f09f1c4: 2401001a */ addiu $at,$zero,0x1a +/* f09f1c8: 930e0000 */ lbu $t6,0x0($t8) +/* f09f1cc: 15c1000b */ bne $t6,$at,.L0f09f1fc +/* f09f1d0: 3c017f1b */ lui $at,%hi(var7f1ac708) +/* f09f1d4: c42cc708 */ lwc1 $f12,%lo(var7f1ac708)($at) +/* f09f1d8: 0c005900 */ jal func00016400 +/* f09f1dc: 27a501f4 */ addiu $a1,$sp,0x1f4 +/* f09f1e0: 3c017f1b */ lui $at,%hi(var7f1ac70c) +/* f09f1e4: c42cc70c */ lwc1 $f12,%lo(var7f1ac70c)($at) +/* f09f1e8: 0c0058ba */ jal func000162e8 +/* f09f1ec: 27a50190 */ addiu $a1,$sp,0x190 +/* f09f1f0: 27a40190 */ addiu $a0,$sp,0x190 +/* f09f1f4: 0c00567f */ jal func000159fc +/* f09f1f8: 27a501f4 */ addiu $a1,$sp,0x1f4 +.L0f09f1fc: +/* f09f1fc: 3c0f800a */ lui $t7,%hi(g_Vars+0x284) +/* f09f200: 8defa244 */ lw $t7,%lo(g_Vars+0x284)($t7) +/* f09f204: 8fa90034 */ lw $t1,0x34($sp) +/* f09f208: 27a50190 */ addiu $a1,$sp,0x190 +/* f09f20c: 01e92021 */ addu $a0,$t7,$t1 +/* f09f210: 0c005746 */ jal func00015d18 +/* f09f214: 24840c58 */ addiu $a0,$a0,0xc58 +/* f09f218: 27a40190 */ addiu $a0,$sp,0x190 +/* f09f21c: 27a50194 */ addiu $a1,$sp,0x194 +/* f09f220: 0c0011e4 */ jal guNormalize +/* f09f224: 27a60198 */ addiu $a2,$sp,0x198 +/* f09f228: 27a401a0 */ addiu $a0,$sp,0x1a0 +/* f09f22c: 27a501a4 */ addiu $a1,$sp,0x1a4 +/* f09f230: 0c0011e4 */ jal guNormalize +/* f09f234: 27a601a8 */ addiu $a2,$sp,0x1a8 +/* f09f238: 27a401b0 */ addiu $a0,$sp,0x1b0 +/* f09f23c: 27a501b4 */ addiu $a1,$sp,0x1b4 +/* f09f240: 0c0011e4 */ jal guNormalize +/* f09f244: 27a601b8 */ addiu $a2,$sp,0x1b8 +/* f09f248: 44800000 */ mtc1 $zero,$f0 +/* f09f24c: 27a40190 */ addiu $a0,$sp,0x190 +/* f09f250: 27a501f4 */ addiu $a1,$sp,0x1f4 +/* f09f254: e7a001c0 */ swc1 $f0,0x1c0($sp) +/* f09f258: e7a001c4 */ swc1 $f0,0x1c4($sp) +/* f09f25c: 0c00567f */ jal func000159fc +/* f09f260: e7a001c8 */ swc1 $f0,0x1c8($sp) +/* f09f264: 8fa401d8 */ lw $a0,0x1d8($sp) +/* f09f268: 0fc30795 */ jal func0f0c1e54 +/* f09f26c: 00002825 */ or $a1,$zero,$zero +/* f09f270: 8fa201d8 */ lw $v0,0x1d8($sp) +/* f09f274: 240a003f */ addiu $t2,$zero,0x3f +/* f09f278: afaa0010 */ sw $t2,0x10($sp) +/* f09f27c: 24450028 */ addiu $a1,$v0,0x28 +/* f09f280: afa50038 */ sw $a1,0x38($sp) +/* f09f284: 27a6017c */ addiu $a2,$sp,0x17c +/* f09f288: 27a70160 */ addiu $a3,$sp,0x160 +/* f09f28c: 0c00b7ab */ jal func0002deac +/* f09f290: 24440008 */ addiu $a0,$v0,0x8 +/* f09f294: 10400008 */ beqz $v0,.L0f09f2b8 +/* f09f298: 8fab01d8 */ lw $t3,0x1d8($sp) +/* f09f29c: c7aa017c */ lwc1 $f10,0x17c($sp) +/* f09f2a0: c7b00180 */ lwc1 $f16,0x180($sp) +/* f09f2a4: c7b20184 */ lwc1 $f18,0x184($sp) +/* f09f2a8: e7aa0170 */ swc1 $f10,0x170($sp) +/* f09f2ac: e7b00174 */ swc1 $f16,0x174($sp) +/* f09f2b0: 1000000a */ b .L0f09f2dc +/* f09f2b4: e7b20178 */ swc1 $f18,0x178($sp) +.L0f09f2b8: +/* f09f2b8: c5640008 */ lwc1 $f4,0x8($t3) +/* f09f2bc: 8fa40038 */ lw $a0,0x38($sp) +/* f09f2c0: 27a50160 */ addiu $a1,$sp,0x160 +/* f09f2c4: e7a40170 */ swc1 $f4,0x170($sp) +/* f09f2c8: c566000c */ lwc1 $f6,0xc($t3) +/* f09f2cc: e7a60174 */ swc1 $f6,0x174($sp) +/* f09f2d0: c5680010 */ lwc1 $f8,0x10($t3) +/* f09f2d4: 0fc195e9 */ jal roomsCopy +/* f09f2d8: e7a80178 */ swc1 $f8,0x178($sp) +.L0f09f2dc: +/* f09f2dc: 8fa401d8 */ lw $a0,0x1d8($sp) +/* f09f2e0: 0fc30795 */ jal func0f0c1e54 +/* f09f2e4: 24050001 */ addiu $a1,$zero,0x1 +/* f09f2e8: 27a401e8 */ addiu $a0,$sp,0x1e8 +/* f09f2ec: 27a501dc */ addiu $a1,$sp,0x1dc +/* f09f2f0: 8fa60240 */ lw $a2,0x240($sp) +/* f09f2f4: 0fc2832c */ jal func0f0a0cb0 +/* f09f2f8: 24070001 */ addiu $a3,$zero,0x1 +/* f09f2fc: 0fc2d5de */ jal currentPlayerGetUnk174c +/* f09f300: 00000000 */ nop +/* f09f304: 00402025 */ or $a0,$v0,$zero +/* f09f308: 0c0056c4 */ jal func00015b10 +/* f09f30c: 27a501dc */ addiu $a1,$sp,0x1dc +/* f09f310: 8fac015c */ lw $t4,0x15c($sp) +/* f09f314: 3c017f1b */ lui $at,%hi(var7f1ac710) +/* f09f318: c7aa01dc */ lwc1 $f10,0x1dc($sp) +/* f09f31c: 1180000d */ beqz $t4,.L0f09f354 +/* f09f320: 8fa40158 */ lw $a0,0x158($sp) +/* f09f324: c420c710 */ lwc1 $f0,%lo(var7f1ac710)($at) +/* f09f328: c7b201e0 */ lwc1 $f18,0x1e0($sp) +/* f09f32c: c7a601e4 */ lwc1 $f6,0x1e4($sp) +/* f09f330: 46005402 */ mul.s $f16,$f10,$f0 +/* f09f334: 00000000 */ nop +/* f09f338: 46009102 */ mul.s $f4,$f18,$f0 +/* f09f33c: 00000000 */ nop +/* f09f340: 46003202 */ mul.s $f8,$f6,$f0 +/* f09f344: e7b00234 */ swc1 $f16,0x234($sp) +/* f09f348: e7a40238 */ swc1 $f4,0x238($sp) +/* f09f34c: 100000a9 */ b .L0f09f5f4 +/* f09f350: e7a8023c */ swc1 $f8,0x23c($sp) +.L0f09f354: +/* f09f354: 0fc2c7aa */ jal handHasFunctionFlags +/* f09f358: 3c050080 */ lui $a1,0x80 +/* f09f35c: 10400087 */ beqz $v0,.L0f09f57c +/* f09f360: 3c017f1b */ lui $at,%hi(var7f1ac714) +/* f09f364: 00002025 */ or $a0,$zero,$zero +/* f09f368: 00002825 */ or $a1,$zero,$zero +/* f09f36c: 0fc18755 */ jal func0f061d54 +/* f09f370: 00003025 */ or $a2,$zero,$zero +/* f09f374: 8fad0158 */ lw $t5,0x158($sp) +/* f09f378: 8db906b4 */ lw $t9,0x6b4($t5) +/* f09f37c: 13200071 */ beqz $t9,.L0f09f544 +/* f09f380: 00000000 */ nop +/* f09f384: c5aa06b8 */ lwc1 $f10,0x6b8($t5) +/* f09f388: 3c0541ad */ lui $a1,0x41ad +/* f09f38c: 34a55555 */ ori $a1,$a1,0x5555 +/* f09f390: e7aa014c */ swc1 $f10,0x14c($sp) +/* f09f394: c5b006bc */ lwc1 $f16,0x6bc($t5) +/* f09f398: 27a40170 */ addiu $a0,$sp,0x170 +/* f09f39c: 27a6014c */ addiu $a2,$sp,0x14c +/* f09f3a0: e7b00150 */ swc1 $f16,0x150($sp) +/* f09f3a4: c5b206c0 */ lwc1 $f18,0x6c0($t5) +/* f09f3a8: 27a70140 */ addiu $a3,$sp,0x140 +/* f09f3ac: 0fc100c7 */ jal func0f04031c +/* f09f3b0: e7b20154 */ swc1 $f18,0x154($sp) +/* f09f3b4: c7a401dc */ lwc1 $f4,0x1dc($sp) +/* f09f3b8: c7a60140 */ lwc1 $f6,0x140($sp) +/* f09f3bc: c7aa01e0 */ lwc1 $f10,0x1e0($sp) +/* f09f3c0: c7b00144 */ lwc1 $f16,0x144($sp) +/* f09f3c4: 46062202 */ mul.s $f8,$f4,$f6 +/* f09f3c8: c7a60148 */ lwc1 $f6,0x148($sp) +/* f09f3cc: 46105482 */ mul.s $f18,$f10,$f16 +/* f09f3d0: c7aa01e4 */ lwc1 $f10,0x1e4($sp) +/* f09f3d4: 460a3402 */ mul.s $f16,$f6,$f10 +/* f09f3d8: 46124100 */ add.s $f4,$f8,$f18 +/* f09f3dc: 0fc25a74 */ jal func0f0969d0 +/* f09f3e0: 46048300 */ add.s $f12,$f16,$f4 +/* f09f3e4: 3c017f1b */ lui $at,%hi(var7f1ac718) +/* f09f3e8: c428c714 */ lwc1 $f8,%lo(var7f1ac714)($at) +/* f09f3ec: e7a00138 */ swc1 $f0,0x138($sp) +/* f09f3f0: 3c017f1b */ lui $at,%hi(var7f1ac71c) +/* f09f3f4: 4600403c */ c.lt.s $f8,$f0 +/* f09f3f8: 27a400f8 */ addiu $a0,$sp,0xf8 +/* f09f3fc: c7a601dc */ lwc1 $f6,0x1dc($sp) +/* f09f400: 45030007 */ bc1tl .L0f09f420 +/* f09f404: 44800000 */ mtc1 $zero,$f0 +/* f09f408: c432c718 */ lwc1 $f18,%lo(var7f1ac718)($at) +/* f09f40c: 4612003c */ c.lt.s $f0,$f18 +/* f09f410: c7b20140 */ lwc1 $f18,0x140($sp) +/* f09f414: 45020047 */ bc1fl .L0f09f534 +/* f09f418: c7a60144 */ lwc1 $f6,0x144($sp) +/* f09f41c: 44800000 */ mtc1 $zero,$f0 +.L0f09f420: +/* f09f420: 3c013f80 */ lui $at,0x3f80 +/* f09f424: 44812000 */ mtc1 $at,$f4 +/* f09f428: c7aa01e0 */ lwc1 $f10,0x1e0($sp) +/* f09f42c: c7b001e4 */ lwc1 $f16,0x1e4($sp) +/* f09f430: 44050000 */ mfc1 $a1,$f0 +/* f09f434: 44060000 */ mfc1 $a2,$f0 +/* f09f438: 44070000 */ mfc1 $a3,$f0 +/* f09f43c: e7a60010 */ swc1 $f6,0x10($sp) +/* f09f440: e7a0001c */ swc1 $f0,0x1c($sp) +/* f09f444: e7a00024 */ swc1 $f0,0x24($sp) +/* f09f448: e7aa0014 */ swc1 $f10,0x14($sp) +/* f09f44c: e7a40020 */ swc1 $f4,0x20($sp) +/* f09f450: 0c005ad6 */ jal func00016b58 +/* f09f454: e7b00018 */ swc1 $f16,0x18($sp) +/* f09f458: 44800000 */ mtc1 $zero,$f0 +/* f09f45c: 3c013f80 */ lui $at,0x3f80 +/* f09f460: 44815000 */ mtc1 $at,$f10 +/* f09f464: c7a80140 */ lwc1 $f8,0x140($sp) +/* f09f468: c7b20144 */ lwc1 $f18,0x144($sp) +/* f09f46c: c7a60148 */ lwc1 $f6,0x148($sp) +/* f09f470: 44050000 */ mfc1 $a1,$f0 +/* f09f474: 44060000 */ mfc1 $a2,$f0 +/* f09f478: 44070000 */ mfc1 $a3,$f0 +/* f09f47c: 27a400b8 */ addiu $a0,$sp,0xb8 +/* f09f480: e7a0001c */ swc1 $f0,0x1c($sp) +/* f09f484: e7a00024 */ swc1 $f0,0x24($sp) +/* f09f488: e7a80010 */ swc1 $f8,0x10($sp) +/* f09f48c: e7aa0020 */ swc1 $f10,0x20($sp) +/* f09f490: e7b20014 */ swc1 $f18,0x14($sp) +/* f09f494: 0c005ad6 */ jal func00016b58 +/* f09f498: e7a60018 */ swc1 $f6,0x18($sp) +/* f09f49c: 27a400f8 */ addiu $a0,$sp,0xf8 +/* f09f4a0: 0fc25c11 */ jal func0f097044 +/* f09f4a4: 27a50068 */ addiu $a1,$sp,0x68 +/* f09f4a8: 27a400b8 */ addiu $a0,$sp,0xb8 +/* f09f4ac: 0fc25c11 */ jal func0f097044 +/* f09f4b0: 27a50058 */ addiu $a1,$sp,0x58 +/* f09f4b4: 27a40068 */ addiu $a0,$sp,0x68 +/* f09f4b8: 0fc25db0 */ jal func0f0976c0 +/* f09f4bc: 27a50058 */ addiu $a1,$sp,0x58 +/* f09f4c0: 3c017f1b */ lui $at,%hi(var7f1ac720) +/* f09f4c4: c430c71c */ lwc1 $f16,%lo(var7f1ac71c)($at) +/* f09f4c8: c7a40138 */ lwc1 $f4,0x138($sp) +/* f09f4cc: 44804000 */ mtc1 $zero,$f8 +/* f09f4d0: 27a40068 */ addiu $a0,$sp,0x68 +/* f09f4d4: 46048003 */ div.s $f0,$f16,$f4 +/* f09f4d8: 27a50058 */ addiu $a1,$sp,0x58 +/* f09f4dc: 4608003c */ c.lt.s $f0,$f8 +/* f09f4e0: 46000086 */ mov.s $f2,$f0 +/* f09f4e4: 45020003 */ bc1fl .L0f09f4f4 +/* f09f4e8: 44061000 */ mfc1 $a2,$f2 +/* f09f4ec: 46000087 */ neg.s $f2,$f0 +/* f09f4f0: 44061000 */ mfc1 $a2,$f2 +.L0f09f4f4: +/* f09f4f4: 0fc25cae */ jal func0f0972b8 +/* f09f4f8: 27a70048 */ addiu $a3,$sp,0x48 +/* f09f4fc: 27a40048 */ addiu $a0,$sp,0x48 +/* f09f500: 0fc25bb5 */ jal func0f096ed4 +/* f09f504: 27a50078 */ addiu $a1,$sp,0x78 +/* f09f508: c7b20098 */ lwc1 $f18,0x98($sp) +/* f09f50c: c7aa009c */ lwc1 $f10,0x9c($sp) +/* f09f510: c7a400a0 */ lwc1 $f4,0xa0($sp) +/* f09f514: 46009187 */ neg.s $f6,$f18 +/* f09f518: 46005407 */ neg.s $f16,$f10 +/* f09f51c: 46002207 */ neg.s $f8,$f4 +/* f09f520: e7a601dc */ swc1 $f6,0x1dc($sp) +/* f09f524: e7b001e0 */ swc1 $f16,0x1e0($sp) +/* f09f528: 10000006 */ b .L0f09f544 +/* f09f52c: e7a801e4 */ swc1 $f8,0x1e4($sp) +/* f09f530: c7a60144 */ lwc1 $f6,0x144($sp) +.L0f09f534: +/* f09f534: c7aa0148 */ lwc1 $f10,0x148($sp) +/* f09f538: e7b201dc */ swc1 $f18,0x1dc($sp) +/* f09f53c: e7a601e0 */ swc1 $f6,0x1e0($sp) +/* f09f540: e7aa01e4 */ swc1 $f10,0x1e4($sp) +.L0f09f544: +/* f09f544: 3c017f1b */ lui $at,%hi(var7f1ac724) +/* f09f548: c420c720 */ lwc1 $f0,%lo(var7f1ac720)($at) +/* f09f54c: c7b001dc */ lwc1 $f16,0x1dc($sp) +/* f09f550: c7a801e0 */ lwc1 $f8,0x1e0($sp) +/* f09f554: c7a601e4 */ lwc1 $f6,0x1e4($sp) +/* f09f558: 46008102 */ mul.s $f4,$f16,$f0 +/* f09f55c: 00000000 */ nop +/* f09f560: 46004482 */ mul.s $f18,$f8,$f0 +/* f09f564: 00000000 */ nop +/* f09f568: 46003282 */ mul.s $f10,$f6,$f0 +/* f09f56c: e7a40234 */ swc1 $f4,0x234($sp) +/* f09f570: e7b20238 */ swc1 $f18,0x238($sp) +/* f09f574: 1000001f */ b .L0f09f5f4 +/* f09f578: e7aa023c */ swc1 $f10,0x23c($sp) +.L0f09f57c: +/* f09f57c: c420c724 */ lwc1 $f0,%lo(var7f1ac724)($at) +/* f09f580: c7b001dc */ lwc1 $f16,0x1dc($sp) +/* f09f584: c7a801e0 */ lwc1 $f8,0x1e0($sp) +/* f09f588: c7a601e4 */ lwc1 $f6,0x1e4($sp) +/* f09f58c: 46008102 */ mul.s $f4,$f16,$f0 +/* f09f590: 8fb80244 */ lw $t8,0x244($sp) +/* f09f594: 2401001e */ addiu $at,$zero,0x1e +/* f09f598: 46004482 */ mul.s $f18,$f8,$f0 +/* f09f59c: 00000000 */ nop +/* f09f5a0: 46003282 */ mul.s $f10,$f6,$f0 +/* f09f5a4: e7a40234 */ swc1 $f4,0x234($sp) +/* f09f5a8: e7b20238 */ swc1 $f18,0x238($sp) +/* f09f5ac: c7b00238 */ lwc1 $f16,0x238($sp) +/* f09f5b0: e7aa023c */ swc1 $f10,0x23c($sp) +/* f09f5b4: 93030000 */ lbu $v1,0x0($t8) +/* f09f5b8: 10610004 */ beq $v1,$at,.L0f09f5cc +/* f09f5bc: 00000000 */ nop +/* f09f5c0: 2401001f */ addiu $at,$zero,0x1f +/* f09f5c4: 14610006 */ bne $v1,$at,.L0f09f5e0 +/* f09f5c8: c7a80238 */ lwc1 $f8,0x238($sp) +.L0f09f5cc: +/* f09f5cc: 3c017f1b */ lui $at,%hi(var7f1ac728) +/* f09f5d0: c420c728 */ lwc1 $f0,%lo(var7f1ac728)($at) +/* f09f5d4: 46008100 */ add.s $f4,$f16,$f0 +/* f09f5d8: 10000006 */ b .L0f09f5f4 +/* f09f5dc: e7a40238 */ swc1 $f4,0x238($sp) +.L0f09f5e0: +/* f09f5e0: 3c0140a0 */ lui $at,0x40a0 +/* f09f5e4: 44819000 */ mtc1 $at,$f18 +/* f09f5e8: 00000000 */ nop +/* f09f5ec: 46124180 */ add.s $f6,$f8,$f18 +/* f09f5f0: e7a60238 */ swc1 $f6,0x238($sp) +.L0f09f5f4: +/* f09f5f4: 8fae0244 */ lw $t6,0x244($sp) +/* f09f5f8: 2401000e */ addiu $at,$zero,0xe +/* f09f5fc: 91cf0000 */ lbu $t7,0x0($t6) +/* f09f600: 15e10003 */ bne $t7,$at,.L0f09f610 +/* f09f604: 00000000 */ nop +/* f09f608: 0fc284d3 */ jal func0f0a134c +/* f09f60c: 8fa40240 */ lw $a0,0x240($sp) +.L0f09f610: +/* f09f610: 3c08800a */ lui $t0,%hi(g_Vars) +/* f09f614: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) +/* f09f618: 8d090034 */ lw $t1,0x34($t0) +/* f09f61c: 8fa201d8 */ lw $v0,0x1d8($sp) +/* f09f620: 8fa301d4 */ lw $v1,0x1d4($sp) +/* f09f624: 1920001e */ blez $t1,.L0f09f6a0 +/* f09f628: 27a60170 */ addiu $a2,$sp,0x170 +/* f09f62c: c44a0008 */ lwc1 $f10,0x8($v0) +/* f09f630: c4700000 */ lwc1 $f16,0x0($v1) +/* f09f634: 8fa401d0 */ lw $a0,0x1d0($sp) +/* f09f638: c500004c */ lwc1 $f0,0x4c($t0) +/* f09f63c: 46105101 */ sub.s $f4,$f10,$f16 +/* f09f640: c4880000 */ lwc1 $f8,0x0($a0) +/* f09f644: c7aa0234 */ lwc1 $f10,0x234($sp) +/* f09f648: 46082480 */ add.s $f18,$f4,$f8 +/* f09f64c: 46009183 */ div.s $f6,$f18,$f0 +/* f09f650: 46065400 */ add.s $f16,$f10,$f6 +/* f09f654: e7b00234 */ swc1 $f16,0x234($sp) +/* f09f658: c4680004 */ lwc1 $f8,0x4($v1) +/* f09f65c: c444000c */ lwc1 $f4,0xc($v0) +/* f09f660: c48a0004 */ lwc1 $f10,0x4($a0) +/* f09f664: 46082481 */ sub.s $f18,$f4,$f8 +/* f09f668: c7a40238 */ lwc1 $f4,0x238($sp) +/* f09f66c: 460a9180 */ add.s $f6,$f18,$f10 +/* f09f670: 46003403 */ div.s $f16,$f6,$f0 +/* f09f674: 46102200 */ add.s $f8,$f4,$f16 +/* f09f678: e7a80238 */ swc1 $f8,0x238($sp) +/* f09f67c: c46a0008 */ lwc1 $f10,0x8($v1) +/* f09f680: c4520010 */ lwc1 $f18,0x10($v0) +/* f09f684: c4840008 */ lwc1 $f4,0x8($a0) +/* f09f688: 460a9181 */ sub.s $f6,$f18,$f10 +/* f09f68c: c7b2023c */ lwc1 $f18,0x23c($sp) +/* f09f690: 46043400 */ add.s $f16,$f6,$f4 +/* f09f694: 46008203 */ div.s $f8,$f16,$f0 +/* f09f698: 46089280 */ add.s $f10,$f18,$f8 +/* f09f69c: e7aa023c */ swc1 $f10,0x23c($sp) +.L0f09f6a0: +/* f09f6a0: 8d0a0284 */ lw $t2,0x284($t0) +/* f09f6a4: 27ac01f4 */ addiu $t4,$sp,0x1f4 +/* f09f6a8: 27b90234 */ addiu $t9,$sp,0x234 +/* f09f6ac: 8d4b00bc */ lw $t3,0xbc($t2) +/* f09f6b0: 8fa50244 */ lw $a1,0x244($sp) +/* f09f6b4: 27a70160 */ addiu $a3,$sp,0x160 +/* f09f6b8: 8d640004 */ lw $a0,0x4($t3) +/* f09f6bc: afb90014 */ sw $t9,0x14($sp) +/* f09f6c0: 0fc27b86 */ jal func0f09ee18 +/* f09f6c4: afac0010 */ sw $t4,0x10($sp) +/* f09f6c8: 1040005b */ beqz $v0,.L0f09f838 +/* f09f6cc: 00402025 */ or $a0,$v0,$zero +/* f09f6d0: 904d0003 */ lbu $t5,0x3($v0) +/* f09f6d4: 24010008 */ addiu $at,$zero,0x8 +/* f09f6d8: 8fa60244 */ lw $a2,0x244($sp) +/* f09f6dc: 55a10027 */ bnel $t5,$at,.L0f09f77c +/* f09f6e0: 8c8d0040 */ lw $t5,0x40($a0) +/* f09f6e4: afa20188 */ sw $v0,0x188($sp) +/* f09f6e8: 90c30000 */ lbu $v1,0x0($a2) +/* f09f6ec: 2401001e */ addiu $at,$zero,0x1e +/* f09f6f0: 54610013 */ bnel $v1,$at,.L0f09f740 +/* f09f6f4: 24010035 */ addiu $at,$zero,0x35 +/* f09f6f8: 90d80003 */ lbu $t8,0x3($a2) +/* f09f6fc: 8fae0158 */ lw $t6,0x158($sp) +/* f09f700: 5700000f */ bnezl $t8,.L0f09f740 +/* f09f704: 24010035 */ addiu $at,$zero,0x35 +/* f09f708: 85c306d4 */ lh $v1,0x6d4($t6) +/* f09f70c: 84450062 */ lh $a1,0x62($v0) +/* f09f710: 00037880 */ sll $t7,$v1,0x2 +/* f09f714: 00af082a */ slt $at,$a1,$t7 +/* f09f718: 10200003 */ beqz $at,.L0f09f728 +/* f09f71c: 01e01825 */ or $v1,$t7,$zero +/* f09f720: 10000003 */ b .L0f09f730 +/* f09f724: a4400062 */ sh $zero,0x62($v0) +.L0f09f728: +/* f09f728: 00a34823 */ subu $t1,$a1,$v1 +/* f09f72c: a4490062 */ sh $t1,0x62($v0) +.L0f09f730: +/* f09f730: 90ca0003 */ lbu $t2,0x3($a2) +/* f09f734: 10000010 */ b .L0f09f778 +/* f09f738: a04a005f */ sb $t2,0x5f($v0) +/* f09f73c: 24010035 */ addiu $at,$zero,0x35 +.L0f09f740: +/* f09f740: 1461000d */ bne $v1,$at,.L0f09f778 +/* f09f744: 3c0b800a */ lui $t3,%hi(g_Vars+0x4b4) +/* f09f748: 8d6ba474 */ lw $t3,%lo(g_Vars+0x4b4)($t3) +/* f09f74c: 24010026 */ addiu $at,$zero,0x26 +/* f09f750: 5561000a */ bnel $t3,$at,.L0f09f77c +/* f09f754: 8c8d0040 */ lw $t5,0x40($a0) +/* f09f758: 0fc68606 */ jal dtGetData +/* f09f75c: afa4018c */ sw $a0,0x18c($sp) +/* f09f760: 8c4c0000 */ lw $t4,0x0($v0) +/* f09f764: 8fa4018c */ lw $a0,0x18c($sp) +/* f09f768: 000ccfc2 */ srl $t9,$t4,0x1f +/* f09f76c: 53200003 */ beqzl $t9,.L0f09f77c +/* f09f770: 8c8d0040 */ lw $t5,0x40($a0) +/* f09f774: ac440008 */ sw $a0,0x8($v0) +.L0f09f778: +/* f09f778: 8c8d0040 */ lw $t5,0x40($a0) +.L0f09f77c: +/* f09f77c: 8fa60244 */ lw $a2,0x244($sp) +/* f09f780: 31b80080 */ andi $t8,$t5,0x80 +/* f09f784: 5300002d */ beqzl $t8,.L0f09f83c +/* f09f788: 8fbf002c */ lw $ra,0x2c($sp) +/* f09f78c: 8c820048 */ lw $v0,0x48($a0) +/* f09f790: 2401001e */ addiu $at,$zero,0x1e +/* f09f794: 8c4e0000 */ lw $t6,0x0($v0) +/* f09f798: 35cf0080 */ ori $t7,$t6,0x80 +/* f09f79c: ac4f0000 */ sw $t7,0x0($v0) +/* f09f7a0: 8c890048 */ lw $t1,0x48($a0) +/* f09f7a4: c7a6017c */ lwc1 $f6,0x17c($sp) +/* f09f7a8: e52600c4 */ swc1 $f6,0xc4($t1) +/* f09f7ac: 8c8a0048 */ lw $t2,0x48($a0) +/* f09f7b0: c7a40180 */ lwc1 $f4,0x180($sp) +/* f09f7b4: e54400c8 */ swc1 $f4,0xc8($t2) +/* f09f7b8: 8c8b0048 */ lw $t3,0x48($a0) +/* f09f7bc: c7b00184 */ lwc1 $f16,0x184($sp) +/* f09f7c0: e57000cc */ swc1 $f16,0xcc($t3) +/* f09f7c4: 90c30000 */ lbu $v1,0x0($a2) +/* f09f7c8: 5461000a */ bnel $v1,$at,.L0f09f7f4 +/* f09f7cc: 2401001a */ addiu $at,$zero,0x1a +/* f09f7d0: 90cc0003 */ lbu $t4,0x3($a2) +/* f09f7d4: 24010001 */ addiu $at,$zero,0x1 +/* f09f7d8: 15810005 */ bne $t4,$at,.L0f09f7f0 +/* f09f7dc: 3c013f80 */ lui $at,0x3f80 +/* f09f7e0: 44819000 */ mtc1 $at,$f18 +/* f09f7e4: 8c990048 */ lw $t9,0x48($a0) +/* f09f7e8: e732008c */ swc1 $f18,0x8c($t9) +/* f09f7ec: 90c30000 */ lbu $v1,0x0($a2) +.L0f09f7f0: +/* f09f7f0: 2401001a */ addiu $at,$zero,0x1a +.L0f09f7f4: +/* f09f7f4: 14610010 */ bne $v1,$at,.L0f09f838 +/* f09f7f8: 8fad0188 */ lw $t5,0x188($sp) +/* f09f7fc: 8da20048 */ lw $v0,0x48($t5) +/* f09f800: 3c017f1b */ lui $at,%hi(var7f1ac72c) +/* f09f804: 240a00f0 */ addiu $t2,$zero,0xc8 +/* f09f808: 8c580000 */ lw $t8,0x0($v0) +/* f09f80c: 370e0002 */ ori $t6,$t8,0x2 +/* f09f810: ac4e0000 */ sw $t6,0x0($v0) +/* f09f814: 8faf0188 */ lw $t7,0x188($sp) +/* f09f818: c428c72c */ lwc1 $f8,%lo(var7f1ac72c)($at) +/* f09f81c: 8de90048 */ lw $t1,0x48($t7) +/* f09f820: e528008c */ swc1 $f8,0x8c($t1) +/* f09f824: 8deb0048 */ lw $t3,0x48($t7) +/* f09f828: ad6a00b4 */ sw $t2,0xb4($t3) +/* f09f82c: 8dec0040 */ lw $t4,0x40($t7) +/* f09f830: 35990020 */ ori $t9,$t4,0x20 +/* f09f834: adf90040 */ sw $t9,0x40($t7) +.L0f09f838: +/* f09f838: 8fbf002c */ lw $ra,0x2c($sp) +.L0f09f83c: +/* f09f83c: 27bd0240 */ addiu $sp,$sp,0x240 +/* f09f840: 03e00008 */ jr $ra +/* f09f844: 00000000 */ nop +); +#else GLOBAL_ASM( glabel handCreateThrownProjectile .late_rodata @@ -12066,6 +15466,7 @@ glabel var7f1ac72c /* f09f840: 03e00008 */ jr $ra /* f09f844: 00000000 */ nop ); +#endif GLOBAL_ASM( glabel func0f09f848 @@ -14556,7 +17957,11 @@ glabel var7f1ac764 void currentPlayerSwivelGunTowards(f32 screenx, f32 screeny, f32 damp) { struct weapon *weapon = weaponFindById(handGetWeaponNum(HAND_RIGHT)); +#if VERSION >= VERSION_PAL_FINAL + f32 value = weapon->eptr->unk10; +#else f32 value = weapon->eptr->unk14; +#endif if (value < damp) { value = damp; @@ -14568,9 +17973,13 @@ void currentPlayerSwivelGunTowards(f32 screenx, f32 screeny, f32 damp) void func0f0a0b98(f32 screenx, f32 screeny) { struct weapon *weapon = weaponFindById(handGetWeaponNum(HAND_RIGHT)); +#if VERSION >= VERSION_PAL_FINAL + f32 value = weapon->eptr->unk10; +#else f32 value = weapon->eptr->unk14; +#endif - func0f0a0394(screenx, screeny, 0.945f, value); + func0f0a0394(screenx, screeny, PAL ? 0.935f : 0.945f, value); } void currentPlayerGetCrossPos(f32 *x, f32 *y) @@ -15840,6 +19249,167 @@ glabel func0f0a24f0 /* f0a2568: 00000000 */ nop ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f0a256c +/* f0a256c: 3c0e800a */ lui $t6,%hi(var8009d148) +/* f0a2570: 8dced148 */ lw $t6,%lo(var8009d148)($t6) +/* f0a2574: 27bdff48 */ addiu $sp,$sp,-184 +/* f0a2578: afb00018 */ sw $s0,0x18($sp) +/* f0a257c: 00a08025 */ or $s0,$a1,$zero +/* f0a2580: afbf001c */ sw $ra,0x1c($sp) +/* f0a2584: 148e0053 */ bne $a0,$t6,.L0f0a26d4 +/* f0a2588: 00803825 */ or $a3,$a0,$zero +/* f0a258c: 3c02800a */ lui $v0,%hi(var8009d144) +/* f0a2590: 2442d144 */ addiu $v0,$v0,%lo(var8009d144) +/* f0a2594: 8c430000 */ lw $v1,0x0($v0) +/* f0a2598: 24010001 */ addiu $at,$zero,0x1 +/* f0a259c: 946406d6 */ lhu $a0,0x6d6($v1) +/* f0a25a0: 00047b02 */ srl $t7,$a0,0xc +/* f0a25a4: 15e10025 */ bne $t7,$at,.L0f0a263c +/* f0a25a8: 01e02025 */ or $a0,$t7,$zero +/* f0a25ac: c4a40030 */ lwc1 $f4,0x30($a1) +/* f0a25b0: e46406dc */ swc1 $f4,0x6dc($v1) +/* f0a25b4: 8c580000 */ lw $t8,0x0($v0) +/* f0a25b8: c4a60034 */ lwc1 $f6,0x34($a1) +/* f0a25bc: e70606e0 */ swc1 $f6,0x6e0($t8) +/* f0a25c0: 8c590000 */ lw $t9,0x0($v0) +/* f0a25c4: c4a80038 */ lwc1 $f8,0x38($a1) +/* f0a25c8: e72806e4 */ swc1 $f8,0x6e4($t9) +/* f0a25cc: 8c480000 */ lw $t0,0x0($v0) +/* f0a25d0: c4aa0000 */ lwc1 $f10,0x0($a1) +/* f0a25d4: e50a06f4 */ swc1 $f10,0x6f4($t0) +/* f0a25d8: 8c490000 */ lw $t1,0x0($v0) +/* f0a25dc: c4b00004 */ lwc1 $f16,0x4($a1) +/* f0a25e0: e53006f8 */ swc1 $f16,0x6f8($t1) +/* f0a25e4: 8c4a0000 */ lw $t2,0x0($v0) +/* f0a25e8: c4b20008 */ lwc1 $f18,0x8($a1) +/* f0a25ec: e55206fc */ swc1 $f18,0x6fc($t2) +/* f0a25f0: 8c4b0000 */ lw $t3,0x0($v0) +/* f0a25f4: c4a40010 */ lwc1 $f4,0x10($a1) +/* f0a25f8: e5640700 */ swc1 $f4,0x700($t3) +/* f0a25fc: 8c4c0000 */ lw $t4,0x0($v0) +/* f0a2600: c4a60014 */ lwc1 $f6,0x14($a1) +/* f0a2604: e5860704 */ swc1 $f6,0x704($t4) +/* f0a2608: 8c4d0000 */ lw $t5,0x0($v0) +/* f0a260c: c4a80018 */ lwc1 $f8,0x18($a1) +/* f0a2610: e5a80708 */ swc1 $f8,0x708($t5) +/* f0a2614: 8c4e0000 */ lw $t6,0x0($v0) +/* f0a2618: c4aa0020 */ lwc1 $f10,0x20($a1) +/* f0a261c: e5ca070c */ swc1 $f10,0x70c($t6) +/* f0a2620: 8c4f0000 */ lw $t7,0x0($v0) +/* f0a2624: c4b00024 */ lwc1 $f16,0x24($a1) +/* f0a2628: e5f00710 */ swc1 $f16,0x710($t7) +/* f0a262c: 8c580000 */ lw $t8,0x0($v0) +/* f0a2630: c4b20028 */ lwc1 $f18,0x28($a1) +/* f0a2634: 10000027 */ b .L0f0a26d4 +/* f0a2638: e7120714 */ swc1 $f18,0x714($t8) +.L0f0a263c: +/* f0a263c: 28810002 */ slti $at,$a0,0x2 +/* f0a2640: 14200024 */ bnez $at,.L0f0a26d4 +/* f0a2644: 00000000 */ nop +/* f0a2648: c46406dc */ lwc1 $f4,0x6dc($v1) +/* f0a264c: e6040030 */ swc1 $f4,0x30($s0) +/* f0a2650: 8c590000 */ lw $t9,0x0($v0) +/* f0a2654: c72606e0 */ lwc1 $f6,0x6e0($t9) +/* f0a2658: e6060034 */ swc1 $f6,0x34($s0) +/* f0a265c: 8c480000 */ lw $t0,0x0($v0) +/* f0a2660: c50806e4 */ lwc1 $f8,0x6e4($t0) +/* f0a2664: e6080038 */ swc1 $f8,0x38($s0) +/* f0a2668: 8c490000 */ lw $t1,0x0($v0) +/* f0a266c: c52a06f4 */ lwc1 $f10,0x6f4($t1) +/* f0a2670: e60a0000 */ swc1 $f10,0x0($s0) +/* f0a2674: 8c4a0000 */ lw $t2,0x0($v0) +/* f0a2678: c55006f8 */ lwc1 $f16,0x6f8($t2) +/* f0a267c: e6100004 */ swc1 $f16,0x4($s0) +/* f0a2680: 8c4b0000 */ lw $t3,0x0($v0) +/* f0a2684: c57206fc */ lwc1 $f18,0x6fc($t3) +/* f0a2688: e6120008 */ swc1 $f18,0x8($s0) +/* f0a268c: 8c4c0000 */ lw $t4,0x0($v0) +/* f0a2690: c5840700 */ lwc1 $f4,0x700($t4) +/* f0a2694: e6040010 */ swc1 $f4,0x10($s0) +/* f0a2698: 8c4d0000 */ lw $t5,0x0($v0) +/* f0a269c: c5a60704 */ lwc1 $f6,0x704($t5) +/* f0a26a0: e6060014 */ swc1 $f6,0x14($s0) +/* f0a26a4: 8c4e0000 */ lw $t6,0x0($v0) +/* f0a26a8: c5c80708 */ lwc1 $f8,0x708($t6) +/* f0a26ac: e6080018 */ swc1 $f8,0x18($s0) +/* f0a26b0: 8c4f0000 */ lw $t7,0x0($v0) +/* f0a26b4: c5ea070c */ lwc1 $f10,0x70c($t7) +/* f0a26b8: e60a0020 */ swc1 $f10,0x20($s0) +/* f0a26bc: 8c580000 */ lw $t8,0x0($v0) +/* f0a26c0: c7100710 */ lwc1 $f16,0x710($t8) +/* f0a26c4: e6100024 */ swc1 $f16,0x24($s0) +/* f0a26c8: 8c590000 */ lw $t9,0x0($v0) +/* f0a26cc: c7320714 */ lwc1 $f18,0x714($t9) +/* f0a26d0: e6120028 */ swc1 $f18,0x28($s0) +.L0f0a26d4: +/* f0a26d4: 3c08800a */ lui $t0,%hi(var8009d0f0) +/* f0a26d8: 8d08d0dc */ lw $t0,%lo(var8009d0f0)($t0) +/* f0a26dc: 3c01800a */ lui $at,%hi(var8009d140) +/* f0a26e0: 27a40078 */ addiu $a0,$sp,0x78 +/* f0a26e4: 14e80013 */ bne $a3,$t0,.L0f0a2734 +/* f0a26e8: 00000000 */ nop +/* f0a26ec: 44800000 */ mtc1 $zero,$f0 +/* f0a26f0: c424d140 */ lwc1 $f4,%lo(var8009d140)($at) +/* f0a26f4: afa700b8 */ sw $a3,0xb8($sp) +/* f0a26f8: e7a0002c */ swc1 $f0,0x2c($sp) +/* f0a26fc: e7a00030 */ swc1 $f0,0x30($sp) +/* f0a2700: 0c00566c */ jal func000159b0 +/* f0a2704: e7a40034 */ swc1 $f4,0x34($sp) +/* f0a2708: 27a4002c */ addiu $a0,$sp,0x2c +/* f0a270c: 0c005923 */ jal func0001648c +/* f0a2710: 27a50078 */ addiu $a1,$sp,0x78 +/* f0a2714: 02002025 */ or $a0,$s0,$zero +/* f0a2718: 27a50078 */ addiu $a1,$sp,0x78 +/* f0a271c: 0c005680 */ jal func00015a00 +/* f0a2720: 27a60038 */ addiu $a2,$sp,0x38 +/* f0a2724: 27a40038 */ addiu $a0,$sp,0x38 +/* f0a2728: 0c005746 */ jal func00015d18 +/* f0a272c: 02002825 */ or $a1,$s0,$zero +/* f0a2730: 8fa700b8 */ lw $a3,0xb8($sp) +.L0f0a2734: +/* f0a2734: 3c02800a */ lui $v0,%hi(var8009d0f8) +/* f0a2738: 2442d0f0 */ addiu $v0,$v0,%lo(var8009d0f8) +/* f0a273c: 8c490000 */ lw $t1,0x0($v0) +/* f0a2740: 3c01800a */ lui $at,%hi(var8009d140) +/* f0a2744: 10e90007 */ beq $a3,$t1,.L0f0a2764 +/* f0a2748: 00000000 */ nop +/* f0a274c: 8c4a0004 */ lw $t2,0x4($v0) +/* f0a2750: 10ea0004 */ beq $a3,$t2,.L0f0a2764 +/* f0a2754: 00000000 */ nop +/* f0a2758: 8c4b0008 */ lw $t3,0x8($v0) +/* f0a275c: 54eb0016 */ bnel $a3,$t3,.L0f0a27b8 +/* f0a2760: 8fbf001c */ lw $ra,0x1c($sp) +.L0f0a2764: +/* f0a2764: c420d140 */ lwc1 $f0,%lo(var8009d140)($at) +/* f0a2768: 44803000 */ mtc1 $zero,$f6 +/* f0a276c: 44804000 */ mtc1 $zero,$f8 +/* f0a2770: 46000007 */ neg.s $f0,$f0 +/* f0a2774: 27a40078 */ addiu $a0,$sp,0x78 +/* f0a2778: 46000280 */ add.s $f10,$f0,$f0 +/* f0a277c: e7a6002c */ swc1 $f6,0x2c($sp) +/* f0a2780: e7a80030 */ swc1 $f8,0x30($sp) +/* f0a2784: 0c00566c */ jal func000159b0 +/* f0a2788: e7aa0034 */ swc1 $f10,0x34($sp) +/* f0a278c: 27a4002c */ addiu $a0,$sp,0x2c +/* f0a2790: 0c005923 */ jal func0001648c +/* f0a2794: 27a50078 */ addiu $a1,$sp,0x78 +/* f0a2798: 02002025 */ or $a0,$s0,$zero +/* f0a279c: 27a50078 */ addiu $a1,$sp,0x78 +/* f0a27a0: 0c005680 */ jal func00015a00 +/* f0a27a4: 27a60038 */ addiu $a2,$sp,0x38 +/* f0a27a8: 27a40038 */ addiu $a0,$sp,0x38 +/* f0a27ac: 0c005746 */ jal func00015d18 +/* f0a27b0: 02002825 */ or $a1,$s0,$zero +/* f0a27b4: 8fbf001c */ lw $ra,0x1c($sp) +.L0f0a27b8: +/* f0a27b8: 8fb00018 */ lw $s0,0x18($sp) +/* f0a27bc: 27bd00b8 */ addiu $sp,$sp,0xb8 +/* f0a27c0: 03e00008 */ jr $ra +/* f0a27c4: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f0a256c /* f0a256c: 3c0e800a */ lui $t6,%hi(var8009d148) @@ -15999,6 +19569,7 @@ glabel func0f0a256c /* f0a27c0: 03e00008 */ jr $ra /* f0a27c4: 00000000 */ nop ); +#endif GLOBAL_ASM( glabel func0f0a27c8 @@ -16243,7 +19814,7 @@ void currentPlayerLoseGunInNbombStorm(struct prop *prop) propobjSetDropped(prop2, DROPREASON_1); if (obj->hidden & OBJHFLAG_AIRBORNE) { - obj->projectile->unk0b4 = 240; + obj->projectile->unk0b4 = PALDOWN(240); obj->projectile->unk108 = prop; } @@ -16572,6 +20143,242 @@ void playerDetonateRemoteMines(s32 playernum) setCurrentPlayerNum(prevplayernum); } +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f0a3160 +.late_rodata +glabel var7f1ac7c8 +.word 0x40490fdb +glabel var7f1ac7cc +.word 0x42853333 +glabel var7f1ac7d0 +.word 0x3c8efa35 +.text +/* f0a3160: 27bdffb8 */ addiu $sp,$sp,-72 +/* f0a3164: 3c0f8007 */ lui $t7,%hi(var80070210) +/* f0a3168: afbf001c */ sw $ra,0x1c($sp) +/* f0a316c: afb00018 */ sw $s0,0x18($sp) +/* f0a3170: afa5004c */ sw $a1,0x4c($sp) +/* f0a3174: 25ef0210 */ addiu $t7,$t7,%lo(var80070210) +/* f0a3178: 8de10000 */ lw $at,0x0($t7) +/* f0a317c: 27ae0038 */ addiu $t6,$sp,0x38 +/* f0a3180: 8de90004 */ lw $t1,0x4($t7) +/* f0a3184: adc10000 */ sw $at,0x0($t6) +/* f0a3188: 8de10008 */ lw $at,0x8($t7) +/* f0a318c: 3c08800a */ lui $t0,%hi(g_Vars) +/* f0a3190: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) +/* f0a3194: adc90004 */ sw $t1,0x4($t6) +/* f0a3198: adc10008 */ sw $at,0x8($t6) +/* f0a319c: 8d0a0284 */ lw $t2,0x284($t0) +/* f0a31a0: 00808025 */ or $s0,$a0,$zero +/* f0a31a4: 8d4b1580 */ lw $t3,0x1580($t2) +/* f0a31a8: 000b6ec0 */ sll $t5,$t3,0x1b +/* f0a31ac: 05a30031 */ bgezl $t5,.L0f0a3274 +/* f0a31b0: 8e0b068c */ lw $t3,0x68c($s0) +/* f0a31b4: 50e0002f */ beqzl $a3,.L0f0a3274 +/* f0a31b8: 8e0b068c */ lw $t3,0x68c($s0) +/* f0a31bc: 8cf90000 */ lw $t9,0x0($a3) +/* f0a31c0: 24010001 */ addiu $at,$zero,0x1 +/* f0a31c4: 333800ff */ andi $t8,$t9,0xff +/* f0a31c8: 5701002a */ bnel $t8,$at,.L0f0a3274 +/* f0a31cc: 8e0b068c */ lw $t3,0x68c($s0) +/* f0a31d0: 8c820604 */ lw $v0,0x604($a0) +/* f0a31d4: 24040002 */ addiu $a0,$zero,0x2 +/* f0a31d8: 50400007 */ beqzl $v0,.L0f0a31f8 +/* f0a31dc: 3c013f80 */ lui $at,0x3f80 +/* f0a31e0: 10820004 */ beq $a0,$v0,.L0f0a31f4 +/* f0a31e4: 24010003 */ addiu $at,$zero,0x3 +/* f0a31e8: 10410002 */ beq $v0,$at,.L0f0a31f4 +/* f0a31ec: 24010004 */ addiu $at,$zero,0x4 +/* f0a31f0: 1441001f */ bne $v0,$at,.L0f0a3270 +.L0f0a31f4: +/* f0a31f4: 3c013f80 */ lui $at,0x3f80 +.L0f0a31f8: +/* f0a31f8: 44811000 */ mtc1 $at,$f2 +/* f0a31fc: c60406d0 */ lwc1 $f4,0x6d0($s0) +/* f0a3200: 4602203c */ c.lt.s $f4,$f2 +/* f0a3204: 00000000 */ nop +/* f0a3208: 45020017 */ bc1fl .L0f0a3268 +/* f0a320c: ae000744 */ sw $zero,0x744($s0) +/* f0a3210: 8e0e0744 */ lw $t6,0x744($s0) +/* f0a3214: 8d0f0034 */ lw $t7,0x34($t0) +/* f0a3218: 01cf4821 */ addu $t1,$t6,$t7 +/* f0a321c: 2921003d */ slti $at,$t1,0x33 +/* f0a3220: 1420000e */ bnez $at,.L0f0a325c +/* f0a3224: ae090744 */ sw $t1,0x744($s0) +/* f0a3228: 3c0141f0 */ lui $at,0x41f0 +/* f0a322c: 44814000 */ mtc1 $at,$f8 +/* f0a3230: c5060044 */ lwc1 $f6,0x4c($t0) +/* f0a3234: c61006d0 */ lwc1 $f16,0x6d0($s0) +/* f0a3238: 46083283 */ div.s $f10,$f6,$f8 +/* f0a323c: 460a8480 */ add.s $f18,$f16,$f10 +/* f0a3240: e61206d0 */ swc1 $f18,0x6d0($s0) +/* f0a3244: c60406d0 */ lwc1 $f4,0x6d0($s0) +/* f0a3248: 4604103c */ c.lt.s $f2,$f4 +/* f0a324c: 00000000 */ nop +/* f0a3250: 45000002 */ bc1f .L0f0a325c +/* f0a3254: 00000000 */ nop +/* f0a3258: e60206d0 */ swc1 $f2,0x6d0($s0) +.L0f0a325c: +/* f0a325c: 10000049 */ b .L0f0a3384 +/* f0a3260: c60006d0 */ lwc1 $f0,0x6d0($s0) +/* f0a3264: ae000744 */ sw $zero,0x744($s0) +.L0f0a3268: +/* f0a3268: 10000046 */ b .L0f0a3384 +/* f0a326c: c60006d0 */ lwc1 $f0,0x6d0($s0) +.L0f0a3270: +/* f0a3270: 8e0b068c */ lw $t3,0x68c($s0) +.L0f0a3274: +/* f0a3274: 3c0141f0 */ lui $at,0x41f0 +/* f0a3278: 24040002 */ addiu $a0,$zero,0x2 +/* f0a327c: 44811000 */ mtc1 $at,$f2 +/* f0a3280: 148b0003 */ bne $a0,$t3,.L0f0a3290 +/* f0a3284: 3c014170 */ lui $at,0x4170 +/* f0a3288: 44811000 */ mtc1 $at,$f2 +/* f0a328c: 00000000 */ nop +.L0f0a3290: +/* f0a3290: 44806000 */ mtc1 $zero,$f12 +/* f0a3294: c60006d0 */ lwc1 $f0,0x6d0($s0) +/* f0a3298: 3c013f80 */ lui $at,0x3f80 +/* f0a329c: 4600603c */ c.lt.s $f12,$f0 +/* f0a32a0: 00000000 */ nop +/* f0a32a4: 45020036 */ bc1fl .L0f0a3380 +/* f0a32a8: ae000744 */ sw $zero,0x744($s0) +/* f0a32ac: 44813000 */ mtc1 $at,$f6 +/* f0a32b0: 8e0c0744 */ lw $t4,0x744($s0) +/* f0a32b4: 8d0d0034 */ lw $t5,0x34($t0) +/* f0a32b8: 4606003c */ c.lt.s $f0,$f6 +/* f0a32bc: 00001825 */ or $v1,$zero,$zero +/* f0a32c0: 018dc821 */ addu $t9,$t4,$t5 +/* f0a32c4: ae190744 */ sw $t9,0x744($s0) +/* f0a32c8: 45000003 */ bc1f .L0f0a32d8 +/* f0a32cc: 241800f4 */ addiu $t8,$zero,0xcb +/* f0a32d0: ae180744 */ sw $t8,0x744($s0) +/* f0a32d4: c60006d0 */ lwc1 $f0,0x6d0($s0) +.L0f0a32d8: +/* f0a32d8: 8e0e0744 */ lw $t6,0x744($s0) +/* f0a32dc: 29c10079 */ slti $at,$t6,0x65 +/* f0a32e0: 54200003 */ bnezl $at,.L0f0a32f0 +/* f0a32e4: 8e0f068c */ lw $t7,0x68c($s0) +/* f0a32e8: 24030001 */ addiu $v1,$zero,0x1 +/* f0a32ec: 8e0f068c */ lw $t7,0x68c($s0) +.L0f0a32f0: +/* f0a32f0: 548f000a */ bnel $a0,$t7,.L0f0a331c +/* f0a32f4: 8e020604 */ lw $v0,0x604($s0) +/* f0a32f8: 50e00008 */ beqzl $a3,.L0f0a331c +/* f0a32fc: 8e020604 */ lw $v0,0x604($s0) +/* f0a3300: 8ce90000 */ lw $t1,0x0($a3) +/* f0a3304: 24010001 */ addiu $at,$zero,0x1 +/* f0a3308: 312a00ff */ andi $t2,$t1,0xff +/* f0a330c: 51410003 */ beql $t2,$at,.L0f0a331c +/* f0a3310: 8e020604 */ lw $v0,0x604($s0) +/* f0a3314: 24030001 */ addiu $v1,$zero,0x1 +/* f0a3318: 8e020604 */ lw $v0,0x604($s0) +.L0f0a331c: +/* f0a331c: 10400008 */ beqz $v0,.L0f0a3340 +/* f0a3320: 00000000 */ nop +/* f0a3324: 10820006 */ beq $a0,$v0,.L0f0a3340 +/* f0a3328: 24010003 */ addiu $at,$zero,0x3 +/* f0a332c: 10410004 */ beq $v0,$at,.L0f0a3340 +/* f0a3330: 24010004 */ addiu $at,$zero,0x4 +/* f0a3334: 10410002 */ beq $v0,$at,.L0f0a3340 +/* f0a3338: 00000000 */ nop +/* f0a333c: 24030001 */ addiu $v1,$zero,0x1 +.L0f0a3340: +/* f0a3340: 50600007 */ beqzl $v1,.L0f0a3360 +/* f0a3344: 460c003c */ c.lt.s $f0,$f12 +/* f0a3348: c5080044 */ lwc1 $f8,0x4c($t0) +/* f0a334c: 46024403 */ div.s $f16,$f8,$f2 +/* f0a3350: 46100281 */ sub.s $f10,$f0,$f16 +/* f0a3354: e60a06d0 */ swc1 $f10,0x6d0($s0) +/* f0a3358: c60006d0 */ lwc1 $f0,0x6d0($s0) +/* f0a335c: 460c003c */ c.lt.s $f0,$f12 +.L0f0a3360: +/* f0a3360: 00000000 */ nop +/* f0a3364: 45000003 */ bc1f .L0f0a3374 +/* f0a3368: 00000000 */ nop +/* f0a336c: e60c06d0 */ swc1 $f12,0x6d0($s0) +/* f0a3370: c60006d0 */ lwc1 $f0,0x6d0($s0) +.L0f0a3374: +/* f0a3374: 10000003 */ b .L0f0a3384 +/* f0a3378: 00000000 */ nop +/* f0a337c: ae000744 */ sw $zero,0x744($s0) +.L0f0a3380: +/* f0a3380: c60006d0 */ lwc1 $f0,0x6d0($s0) +.L0f0a3384: +/* f0a3384: 3c017f1b */ lui $at,%hi(var7f1ac7c8) +/* f0a3388: c432c7c8 */ lwc1 $f18,%lo(var7f1ac7c8)($at) +/* f0a338c: afa60050 */ sw $a2,0x50($sp) +/* f0a3390: 46120302 */ mul.s $f12,$f0,$f18 +/* f0a3394: 0c0068f4 */ jal cosf +/* f0a3398: 00000000 */ nop +/* f0a339c: 3c013f00 */ lui $at,0x3f00 +/* f0a33a0: 44813000 */ mtc1 $at,$f6 +/* f0a33a4: 46000107 */ neg.s $f4,$f0 +/* f0a33a8: 8fab004c */ lw $t3,0x4c($sp) +/* f0a33ac: 46062202 */ mul.s $f8,$f4,$f6 +/* f0a33b0: 44818000 */ mtc1 $at,$f16 +/* f0a33b4: 8fa60050 */ lw $a2,0x50($sp) +/* f0a33b8: 3c01bf80 */ lui $at,0xbf80 +/* f0a33bc: 11600005 */ beqz $t3,.L0f0a33d4 +/* f0a33c0: 46104300 */ add.s $f12,$f8,$f16 +/* f0a33c4: 3c013f80 */ lui $at,0x3f80 +/* f0a33c8: 44811000 */ mtc1 $at,$f2 +/* f0a33cc: 10000003 */ b .L0f0a33dc +/* f0a33d0: 00000000 */ nop +.L0f0a33d4: +/* f0a33d4: 44811000 */ mtc1 $at,$f2 +/* f0a33d8: 00000000 */ nop +.L0f0a33dc: +/* f0a33dc: 3c017f1b */ lui $at,%hi(var7f1ac7cc) +/* f0a33e0: c42ac7cc */ lwc1 $f10,%lo(var7f1ac7cc)($at) +/* f0a33e4: 3c017f1b */ lui $at,%hi(var7f1ac7d0) +/* f0a33e8: c424c7d0 */ lwc1 $f4,%lo(var7f1ac7d0)($at) +/* f0a33ec: 460a6482 */ mul.s $f18,$f12,$f10 +/* f0a33f0: 27a40038 */ addiu $a0,$sp,0x38 +/* f0a33f4: 8fa50058 */ lw $a1,0x58($sp) +/* f0a33f8: afa60050 */ sw $a2,0x50($sp) +/* f0a33fc: 46049182 */ mul.s $f6,$f18,$f4 +/* f0a3400: 00000000 */ nop +/* f0a3404: 46061202 */ mul.s $f8,$f2,$f6 +/* f0a3408: 0c005923 */ jal func0001648c +/* f0a340c: e7a80040 */ swc1 $f8,0x40($sp) +/* f0a3410: 8fa40058 */ lw $a0,0x58($sp) +/* f0a3414: 0c0056f8 */ jal func00015be0 +/* f0a3418: 8fa5005c */ lw $a1,0x5c($sp) +/* f0a341c: 3c014080 */ lui $at,0x4080 +/* f0a3420: 44818000 */ mtc1 $at,$f16 +/* f0a3424: c60a06d0 */ lwc1 $f10,0x6d0($s0) +/* f0a3428: 8fa60050 */ lw $a2,0x50($sp) +/* f0a342c: 3c01bf80 */ lui $at,0xbf80 +/* f0a3430: 460a8482 */ mul.s $f18,$f16,$f10 +/* f0a3434: c4c40004 */ lwc1 $f4,0x4($a2) +/* f0a3438: 46122180 */ add.s $f6,$f4,$f18 +/* f0a343c: e4c60004 */ swc1 $f6,0x4($a2) +/* f0a3440: 8fac004c */ lw $t4,0x4c($sp) +/* f0a3444: 51800006 */ beqzl $t4,.L0f0a3460 +/* f0a3448: 44811000 */ mtc1 $at,$f2 +/* f0a344c: 3c013f80 */ lui $at,0x3f80 +/* f0a3450: 44811000 */ mtc1 $at,$f2 +/* f0a3454: 10000004 */ b .L0f0a3468 +/* f0a3458: c60006d0 */ lwc1 $f0,0x6d0($s0) +/* f0a345c: 44811000 */ mtc1 $at,$f2 +.L0f0a3460: +/* f0a3460: 00000000 */ nop +/* f0a3464: c60006d0 */ lwc1 $f0,0x6d0($s0) +.L0f0a3468: +/* f0a3468: c4c80000 */ lwc1 $f8,0x0($a2) +/* f0a346c: 46000400 */ add.s $f16,$f0,$f0 +/* f0a3470: 46028282 */ mul.s $f10,$f16,$f2 +/* f0a3474: 460a4100 */ add.s $f4,$f8,$f10 +/* f0a3478: e4c40000 */ swc1 $f4,0x0($a2) +/* f0a347c: 8fbf001c */ lw $ra,0x1c($sp) +/* f0a3480: 8fb00018 */ lw $s0,0x18($sp) +/* f0a3484: 27bd0048 */ addiu $sp,$sp,0x48 +/* f0a3488: 03e00008 */ jr $ra +/* f0a348c: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f0a3160 .late_rodata @@ -16806,7 +20613,312 @@ glabel var7f1ac7d0 /* f0a3488: 03e00008 */ jr $ra /* f0a348c: 00000000 */ nop ); +#endif +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f0a3490 +.late_rodata +glabel var7f1ac7d4 +.word 0x3f19999a +glabel var7f1ac7d8 +.word 0x3e4ccccd +glabel var7f1ac7dc +.word func0f0a3490+0x11c # f0a35ac +glabel var7f1ac7e0 +.word func0f0a3490+0x24c # f0a36dc +glabel var7f1ac7e4 +.word func0f0a3490+0x11c # f0a35ac +glabel var7f1ac7e8 +.word func0f0a3490+0x14c # f0a35dc +glabel var7f1ac7ec +.word func0f0a3490+0x14c # f0a35dc +glabel var7f1ac7f0 +.word func0f0a3490+0x24c # f0a36dc +glabel var7f1ac7f4 +.word func0f0a3490+0x17c # f0a360c +glabel var7f1ac7f8 +.word func0f0a3490+0x17c # f0a360c +glabel var7f1ac7fc +.word func0f0a3490+0x1ac # f0a363c +glabel var7f1ac800 +.word func0f0a3490+0x1d4 # f0a3664 +glabel var7f1ac804 +.word func0f0a3490+0x24c # f0a36dc +glabel var7f1ac808 +.word func0f0a3490+0x200 # f0a3690 +glabel var7f1ac80c +.word func0f0a3490+0x1d4 # f0a3664 +glabel var7f1ac810 +.word func0f0a3490+0x1ac # f0a363c +glabel var7f1ac814 +.word func0f0a3490+0x1ac # f0a363c +glabel var7f1ac818 +.word func0f0a3490+0x1ac # f0a363c +glabel var7f1ac81c +.word func0f0a3490+0x1ac # f0a363c +glabel var7f1ac820 +.word func0f0a3490+0x234 # f0a36c4 +glabel var7f1ac824 +.word func0f0a3490+0x228 # f0a36b8 +glabel var7f1ac828 +.word 0x3f28f5c3 +glabel var7f1ac82c +.word 0x3f666666 +glabel var7f1ac830 +.word func0f0a3490+0x29c # f0a372c +glabel var7f1ac834 +.word func0f0a3490+0x2b0 # f0a3740 +glabel var7f1ac838 +.word func0f0a3490+0x29c # f0a372c +glabel var7f1ac83c +.word func0f0a3490+0x29c # f0a372c +glabel var7f1ac840 +.word func0f0a3490+0x29c # f0a372c +glabel var7f1ac844 +.word func0f0a3490+0x2b0 # f0a3740 +glabel var7f1ac848 +.word func0f0a3490+0x29c # f0a372c +glabel var7f1ac84c +.word func0f0a3490+0x29c # f0a372c +glabel var7f1ac850 +.word func0f0a3490+0x2b0 # f0a3740 +glabel var7f1ac854 +.word func0f0a3490+0x2b0 # f0a3740 +glabel var7f1ac858 +.word func0f0a3490+0x2b0 # f0a3740 +glabel var7f1ac85c +.word func0f0a3490+0x2b0 # f0a3740 +glabel var7f1ac860 +.word func0f0a3490+0x2b0 # f0a3740 +glabel var7f1ac864 +.word func0f0a3490+0x2b0 # f0a3740 +glabel var7f1ac868 +.word func0f0a3490+0x2b0 # f0a3740 +glabel var7f1ac86c +.word func0f0a3490+0x2b0 # f0a3740 +glabel var7f1ac870 +.word func0f0a3490+0x2b0 # f0a3740 +glabel var7f1ac874 +.word func0f0a3490+0x2ac # f0a373c +glabel var7f1ac878 +.word func0f0a3490+0x2a4 # f0a3734 +.text +/* f0a3490: 27bdffc8 */ addiu $sp,$sp,-56 +/* f0a3494: afbf001c */ sw $ra,0x1c($sp) +/* f0a3498: afb00018 */ sw $s0,0x18($sp) +/* f0a349c: afa5003c */ sw $a1,0x3c($sp) +/* f0a34a0: 808e0004 */ lb $t6,0x4($a0) +/* f0a34a4: 3c03800a */ lui $v1,%hi(g_Vars) +/* f0a34a8: 00808025 */ or $s0,$a0,$zero +/* f0a34ac: 11c00015 */ beqz $t6,.L0f0a3504 +/* f0a34b0: 24639fc0 */ addiu $v1,$v1,%lo(g_Vars) +/* f0a34b4: 24010008 */ addiu $at,$zero,0x8 +/* f0a34b8: 10c10003 */ beq $a2,$at,.L0f0a34c8 +/* f0a34bc: 24010009 */ addiu $at,$zero,0x9 +/* f0a34c0: 14c1000b */ bne $a2,$at,.L0f0a34f0 +/* f0a34c4: 00000000 */ nop +.L0f0a34c8: +/* f0a34c8: 8cef0000 */ lw $t7,0x0($a3) +/* f0a34cc: 24010001 */ addiu $at,$zero,0x1 +/* f0a34d0: 31f800ff */ andi $t8,$t7,0xff +/* f0a34d4: 1701000b */ bne $t8,$at,.L0f0a3504 +/* f0a34d8: 3c017f1b */ lui $at,%hi(var7f1ac7d4) +/* f0a34dc: c426c7d4 */ lwc1 $f6,%lo(var7f1ac7d4)($at) +/* f0a34e0: c6040780 */ lwc1 $f4,0x780($s0) +/* f0a34e4: 46062200 */ add.s $f8,$f4,$f6 +/* f0a34e8: 10000006 */ b .L0f0a3504 +/* f0a34ec: e6080780 */ swc1 $f8,0x780($s0) +.L0f0a34f0: +/* f0a34f0: 3c017f1b */ lui $at,%hi(var7f1ac7d8) +/* f0a34f4: c430c7d8 */ lwc1 $f16,%lo(var7f1ac7d8)($at) +/* f0a34f8: c60a0780 */ lwc1 $f10,0x780($s0) +/* f0a34fc: 46105480 */ add.s $f18,$f10,$f16 +/* f0a3500: e6120780 */ swc1 $f18,0x780($s0) +.L0f0a3504: +/* f0a3504: 3c0142f0 */ lui $at,0x42f0 +/* f0a3508: 44813000 */ mtc1 $at,$f6 +/* f0a350c: c4640044 */ lwc1 $f4,0x4c($v1) +/* f0a3510: c60a0780 */ lwc1 $f10,0x780($s0) +/* f0a3514: 44801000 */ mtc1 $zero,$f2 +/* f0a3518: 46062203 */ div.s $f8,$f4,$f6 +/* f0a351c: 46085401 */ sub.s $f16,$f10,$f8 +/* f0a3520: e6100780 */ swc1 $f16,0x780($s0) +/* f0a3524: c6120780 */ lwc1 $f18,0x780($s0) +/* f0a3528: 4602903c */ c.lt.s $f18,$f2 +/* f0a352c: 00000000 */ nop +/* f0a3530: 45000002 */ bc1f .L0f0a353c +/* f0a3534: 00000000 */ nop +/* f0a3538: e6020780 */ swc1 $f2,0x780($s0) +.L0f0a353c: +/* f0a353c: 50e00068 */ beqzl $a3,.L0f0a36e0 +/* f0a3540: 820c06d7 */ lb $t4,0x6d7($s0) +/* f0a3544: 8cf90000 */ lw $t9,0x0($a3) +/* f0a3548: 24010001 */ addiu $at,$zero,0x1 +/* f0a354c: 332800ff */ andi $t0,$t9,0xff +/* f0a3550: 55010063 */ bnel $t0,$at,.L0f0a36e0 +/* f0a3554: 820c06d7 */ lb $t4,0x6d7($s0) +/* f0a3558: 8c690284 */ lw $t1,0x284($v1) +/* f0a355c: 3c013f80 */ lui $at,0x3f80 +/* f0a3560: 44810000 */ mtc1 $at,$f0 +/* f0a3564: 812a0de4 */ lb $t2,0xde4($t1) +/* f0a3568: 3c013fc0 */ lui $at,0x3fc0 +/* f0a356c: 51400004 */ beqzl $t2,.L0f0a3580 +/* f0a3570: 920b06d7 */ lbu $t3,0x6d7($s0) +/* f0a3574: 44810000 */ mtc1 $at,$f0 +/* f0a3578: 00000000 */ nop +/* f0a357c: 920b06d7 */ lbu $t3,0x6d7($s0) +.L0f0a3580: +/* f0a3580: 24cdfffe */ addiu $t5,$a2,-2 +/* f0a3584: 2da10013 */ sltiu $at,$t5,0x13 +/* f0a3588: 316cffbf */ andi $t4,$t3,0xffbf +/* f0a358c: 10200053 */ beqz $at,.L0f0a36dc +/* f0a3590: a20c06d7 */ sb $t4,0x6d7($s0) +/* f0a3594: 000d6880 */ sll $t5,$t5,0x2 +/* f0a3598: 3c017f1b */ lui $at,%hi(var7f1ac7dc) +/* f0a359c: 002d0821 */ addu $at,$at,$t5 +/* f0a35a0: 8c2dc7dc */ lw $t5,%lo(var7f1ac7dc)($at) +/* f0a35a4: 01a00008 */ jr $t5 +/* f0a35a8: 00000000 */ nop +/* f0a35ac: c6060780 */ lwc1 $f6,0x780($s0) +/* f0a35b0: 3c017f1b */ lui $at,%hi(var7f1ac828) +/* f0a35b4: c424c828 */ lwc1 $f4,%lo(var7f1ac828)($at) +/* f0a35b8: 46003282 */ mul.s $f10,$f6,$f0 +/* f0a35bc: 460a203c */ c.lt.s $f4,$f10 +/* f0a35c0: 00000000 */ nop +/* f0a35c4: 45020046 */ bc1fl .L0f0a36e0 +/* f0a35c8: 820c06d7 */ lb $t4,0x6d7($s0) +/* f0a35cc: 920f06d7 */ lbu $t7,0x6d7($s0) +/* f0a35d0: 35f80080 */ ori $t8,$t7,0x80 +/* f0a35d4: 10000041 */ b .L0f0a36dc +/* f0a35d8: a21806d7 */ sb $t8,0x6d7($s0) +/* f0a35dc: c6100780 */ lwc1 $f16,0x780($s0) +/* f0a35e0: 3c013f40 */ lui $at,0x3f40 +/* f0a35e4: 44814000 */ mtc1 $at,$f8 +/* f0a35e8: 46008482 */ mul.s $f18,$f16,$f0 +/* f0a35ec: 4612403c */ c.lt.s $f8,$f18 +/* f0a35f0: 00000000 */ nop +/* f0a35f4: 4502003a */ bc1fl .L0f0a36e0 +/* f0a35f8: 820c06d7 */ lb $t4,0x6d7($s0) +/* f0a35fc: 920806d7 */ lbu $t0,0x6d7($s0) +/* f0a3600: 35090080 */ ori $t1,$t0,0x80 +/* f0a3604: 10000035 */ b .L0f0a36dc +/* f0a3608: a20906d7 */ sb $t1,0x6d7($s0) +/* f0a360c: c6040780 */ lwc1 $f4,0x780($s0) +/* f0a3610: 3c017f1b */ lui $at,%hi(var7f1ac82c) +/* f0a3614: c426c82c */ lwc1 $f6,%lo(var7f1ac82c)($at) +/* f0a3618: 46002282 */ mul.s $f10,$f4,$f0 +/* f0a361c: 460a303c */ c.lt.s $f6,$f10 +/* f0a3620: 00000000 */ nop +/* f0a3624: 4502002e */ bc1fl .L0f0a36e0 +/* f0a3628: 820c06d7 */ lb $t4,0x6d7($s0) +/* f0a362c: 920b06d7 */ lbu $t3,0x6d7($s0) +/* f0a3630: 356c0080 */ ori $t4,$t3,0x80 +/* f0a3634: 10000029 */ b .L0f0a36dc +/* f0a3638: a20c06d7 */ sb $t4,0x6d7($s0) +/* f0a363c: 920d06d7 */ lbu $t5,0x6d7($s0) +/* f0a3640: 8e180558 */ lw $t8,0x558($s0) +/* f0a3644: 31aeffbf */ andi $t6,$t5,0xffbf +/* f0a3648: 35cf0040 */ ori $t7,$t6,0x40 +/* f0a364c: 2b01000f */ slti $at,$t8,0xf +/* f0a3650: 14200022 */ bnez $at,.L0f0a36dc +/* f0a3654: a20f06d7 */ sb $t7,0x6d7($s0) +/* f0a3658: 35e90080 */ ori $t1,$t7,0x80 +/* f0a365c: 1000001f */ b .L0f0a36dc +/* f0a3660: a20906d7 */ sb $t1,0x6d7($s0) +/* f0a3664: 8e0a0558 */ lw $t2,0x558($s0) +/* f0a3668: 29410015 */ slti $at,$t2,0x15 +/* f0a366c: 54200005 */ bnezl $at,.L0f0a3684 +/* f0a3670: 920f06d7 */ lbu $t7,0x6d7($s0) +/* f0a3674: 920c06d7 */ lbu $t4,0x6d7($s0) +/* f0a3678: 358d0080 */ ori $t5,$t4,0x80 +/* f0a367c: a20d06d7 */ sb $t5,0x6d7($s0) +/* f0a3680: 920f06d7 */ lbu $t7,0x6d7($s0) +.L0f0a3684: +/* f0a3684: 35f80040 */ ori $t8,$t7,0x40 +/* f0a3688: 10000014 */ b .L0f0a36dc +/* f0a368c: a21806d7 */ sb $t8,0x6d7($s0) +/* f0a3690: 921906d7 */ lbu $t9,0x6d7($s0) +/* f0a3694: 8e0a0558 */ lw $t2,0x558($s0) +/* f0a3698: 3328ffbf */ andi $t0,$t9,0xffbf +/* f0a369c: 35090040 */ ori $t1,$t0,0x40 +/* f0a36a0: 2941001a */ slti $at,$t2,0x1a +/* f0a36a4: 1420000d */ bnez $at,.L0f0a36dc +/* f0a36a8: a20906d7 */ sb $t1,0x6d7($s0) +/* f0a36ac: 352d0080 */ ori $t5,$t1,0x80 +/* f0a36b0: 1000000a */ b .L0f0a36dc +/* f0a36b4: a20d06d7 */ sb $t5,0x6d7($s0) +/* f0a36b8: 920f06d7 */ lbu $t7,0x6d7($s0) +/* f0a36bc: 35f80040 */ ori $t8,$t7,0x40 +/* f0a36c0: a21806d7 */ sb $t8,0x6d7($s0) +/* f0a36c4: 82190004 */ lb $t9,0x4($s0) +/* f0a36c8: 53200005 */ beqzl $t9,.L0f0a36e0 +/* f0a36cc: 820c06d7 */ lb $t4,0x6d7($s0) +/* f0a36d0: 920906d7 */ lbu $t1,0x6d7($s0) +/* f0a36d4: 352a0080 */ ori $t2,$t1,0x80 +/* f0a36d8: a20a06d7 */ sb $t2,0x6d7($s0) +.L0f0a36dc: +/* f0a36dc: 820c06d7 */ lb $t4,0x6d7($s0) +.L0f0a36e0: +/* f0a36e0: 24d9fffe */ addiu $t9,$a2,-2 +/* f0a36e4: 0583002f */ bgezl $t4,.L0f0a37a4 +/* f0a36e8: 8fbf001c */ lw $ra,0x1c($sp) +/* f0a36ec: 8e0d0604 */ lw $t5,0x604($s0) +/* f0a36f0: 24010004 */ addiu $at,$zero,0x4 +/* f0a36f4: 55a10005 */ bnel $t5,$at,.L0f0a370c +/* f0a36f8: 2f210013 */ sltiu $at,$t9,0x13 +/* f0a36fc: 8e0e06d4 */ lw $t6,0x6d4($s0) +/* f0a3700: 000ec640 */ sll $t8,$t6,0x19 +/* f0a3704: 07010026 */ bgez $t8,.L0f0a37a0 +/* f0a3708: 2f210013 */ sltiu $at,$t9,0x13 +.L0f0a370c: +/* f0a370c: 1020000c */ beqz $at,.L0f0a3740 +/* f0a3710: 24020011 */ addiu $v0,$zero,0x11 +/* f0a3714: 0019c880 */ sll $t9,$t9,0x2 +/* f0a3718: 3c017f1b */ lui $at,%hi(var7f1ac830) +/* f0a371c: 00390821 */ addu $at,$at,$t9 +/* f0a3720: 8c39c830 */ lw $t9,%lo(var7f1ac830)($at) +/* f0a3724: 03200008 */ jr $t9 +/* f0a3728: 00000000 */ nop +/* f0a372c: 10000004 */ b .L0f0a3740 +/* f0a3730: 2402000f */ addiu $v0,$zero,0xf +/* f0a3734: 10000002 */ b .L0f0a3740 +/* f0a3738: 24020010 */ addiu $v0,$zero,0x10 +/* f0a373c: 24020012 */ addiu $v0,$zero,0x12 +.L0f0a3740: +/* f0a3740: 8c680284 */ lw $t0,0x284($v1) +/* f0a3744: 240affff */ addiu $t2,$zero,-1 +/* f0a3748: 00023400 */ sll $a2,$v0,0x10 +/* f0a374c: 8d091ba0 */ lw $t1,0x1ba0($t0) +/* f0a3750: a7aa0026 */ sh $t2,0x26($sp) +/* f0a3754: 00065c03 */ sra $t3,$a2,0x10 +/* f0a3758: a7a90024 */ sh $t1,0x24($sp) +/* f0a375c: c6100374 */ lwc1 $f16,0x374($s0) +/* f0a3760: 01603025 */ or $a2,$t3,$zero +/* f0a3764: 27a40028 */ addiu $a0,$sp,0x28 +/* f0a3768: e7b00028 */ swc1 $f16,0x28($sp) +/* f0a376c: c6080378 */ lwc1 $f8,0x378($s0) +/* f0a3770: 27a50024 */ addiu $a1,$sp,0x24 +/* f0a3774: e7a8002c */ swc1 $f8,0x2c($sp) +/* f0a3778: c612037c */ lwc1 $f18,0x37c($s0) +/* f0a377c: e7b20030 */ swc1 $f18,0x30($sp) +/* f0a3780: e6020780 */ swc1 $f2,0x780($s0) +/* f0a3784: 0fc4b915 */ jal func0f12e454 +/* f0a3788: 8fa7003c */ lw $a3,0x3c($sp) +/* f0a378c: 50400005 */ beqzl $v0,.L0f0a37a4 +/* f0a3790: 8fbf001c */ lw $ra,0x1c($sp) +/* f0a3794: 920c06d7 */ lbu $t4,0x6d7($s0) +/* f0a3798: 318dff7f */ andi $t5,$t4,0xff7f +/* f0a379c: a20d06d7 */ sb $t5,0x6d7($s0) +.L0f0a37a0: +/* f0a37a0: 8fbf001c */ lw $ra,0x1c($sp) +.L0f0a37a4: +/* f0a37a4: 8fb00018 */ lw $s0,0x18($sp) +/* f0a37a8: 27bd0038 */ addiu $sp,$sp,0x38 +/* f0a37ac: 03e00008 */ jr $ra +/* f0a37b0: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f0a3490 .late_rodata @@ -17109,6 +21221,7 @@ glabel var7f1ac878 /* f0a37ac: 03e00008 */ jr $ra /* f0a37b0: 00000000 */ nop ); +#endif GLOBAL_ASM( glabel func0f0a37b4 @@ -17309,6 +21422,320 @@ glabel func0f0a37b4 /* f0a3aa0: 00000000 */ nop ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f0a3aa4 +.late_rodata +glabel var7f1ac87c +.word 0x3c23d70a +glabel var7f1ac880 +.word 0x3f747ae1 +glabel var7f1ac884 +.word 0x47ae147b +glabel var7f1ac888 +.word 0x33d6bf95 +glabel var7f1ac88c +.word 0xbe0f5c29 +glabel var7f1ac890 +.word 0x3e19999a +glabel var7f1ac894 +.word 0x40490fdb +glabel var7f1ac898 +.word 0x3e4ccccd +glabel var7f1ac89c +.word 0x40490fdb +glabel var7f1ac8a0 +.word 0x3e4ccccd +glabel var7f1ac8a4 +.word 0x40c90fd0 +glabel var7f1ac8a8 +.word 0x3dcccccd +glabel var7f1ac8ac +.word 0x3dcccccd +glabel var7f1ac8b0 +.word 0x3ecccccd +glabel var7f1ac8b4 +.word 0x3f19999a +glabel var7f1ac8b8 +.word 0x46fffe00 +.text +/* f0a3aa4: 27bdffb8 */ addiu $sp,$sp,-72 +/* f0a3aa8: afb00028 */ sw $s0,0x28($sp) +/* f0a3aac: 00808025 */ or $s0,$a0,$zero +/* f0a3ab0: afbf002c */ sw $ra,0x2c($sp) +/* f0a3ab4: afa5004c */ sw $a1,0x4c($sp) +/* f0a3ab8: 00a02025 */ or $a0,$a1,$zero +/* f0a3abc: 0c006a47 */ jal modelGetPart +/* f0a3ac0: 2405002c */ addiu $a1,$zero,0x2c +/* f0a3ac4: afa20044 */ sw $v0,0x44($sp) +/* f0a3ac8: c6000244 */ lwc1 $f0,0x244($s0) +/* f0a3acc: c6020240 */ lwc1 $f2,0x240($s0) +/* f0a3ad0: 3c04800a */ lui $a0,%hi(g_Vars) +/* f0a3ad4: 24849fc0 */ addiu $a0,$a0,%lo(g_Vars) +/* f0a3ad8: 4602003e */ c.le.s $f0,$f2 +/* f0a3adc: 3c017f1b */ lui $at,%hi(var7f1ac880) +/* f0a3ae0: 45020017 */ bc1fl .L0f0a3b40 +/* f0a3ae4: c4900044 */ lwc1 $f16,0x4c($a0) +/* f0a3ae8: 44806000 */ mtc1 $zero,$f12 +/* f0a3aec: 3c017f1b */ lui $at,%hi(var7f1ac87c) +/* f0a3af0: 460c103c */ c.lt.s $f2,$f12 +/* f0a3af4: 00000000 */ nop +/* f0a3af8: 4500000e */ bc1f .L0f0a3b34 +/* f0a3afc: 00000000 */ nop +/* f0a3b00: c424c87c */ lwc1 $f4,%lo(var7f1ac87c)($at) +/* f0a3b04: 3c01800a */ lui $at,%hi(g_Vars+0x4c) +/* f0a3b08: c426a004 */ lwc1 $f6,%lo(g_Vars+0x4c)($at) +/* f0a3b0c: 46062202 */ mul.s $f8,$f4,$f6 +/* f0a3b10: 46081280 */ add.s $f10,$f2,$f8 +/* f0a3b14: e60a0240 */ swc1 $f10,0x240($s0) +/* f0a3b18: c6020240 */ lwc1 $f2,0x240($s0) +/* f0a3b1c: 4602603c */ c.lt.s $f12,$f2 +/* f0a3b20: 00000000 */ nop +/* f0a3b24: 45000003 */ bc1f .L0f0a3b34 +/* f0a3b28: 00000000 */ nop +/* f0a3b2c: e60c0240 */ swc1 $f12,0x240($s0) +/* f0a3b30: c6020240 */ lwc1 $f2,0x240($s0) +.L0f0a3b34: +/* f0a3b34: 10000023 */ b .L0f0a3bc4 +/* f0a3b38: e6020244 */ swc1 $f2,0x244($s0) +/* f0a3b3c: c4900044 */ lwc1 $f16,0x4c($a0) +.L0f0a3b40: +/* f0a3b40: d424c880 */ ldc1 $f4,%lo(var7f1ac880)($at) +/* f0a3b44: 3c017f1b */ lui $at,%hi(var7f1ac888) +/* f0a3b48: 460084a1 */ cvt.d.s $f18,$f16 +/* f0a3b4c: c428c888 */ lwc1 $f8,%lo(var7f1ac888)($at) +/* f0a3b50: 46249182 */ mul.d $f6,$f18,$f4 +/* f0a3b54: 3c017f1b */ lui $at,%hi(var7f1ac88c) +/* f0a3b58: 4608103c */ c.lt.s $f2,$f8 +/* f0a3b5c: 00000000 */ nop +/* f0a3b60: 4500000e */ bc1f .L0f0a3b9c +/* f0a3b64: 46203320 */ cvt.s.d $f12,$f6 +/* f0a3b68: c42ac88c */ lwc1 $f10,%lo(var7f1ac88c)($at) +/* f0a3b6c: 3c017f1b */ lui $at,%hi(var7f1ac890) +/* f0a3b70: e60a0240 */ swc1 $f10,0x240($s0) +/* f0a3b74: c430c890 */ lwc1 $f16,%lo(var7f1ac890)($at) +/* f0a3b78: 3c014080 */ lui $at,0x4080 +/* f0a3b7c: 4610003c */ c.lt.s $f0,$f16 +/* f0a3b80: 00000000 */ nop +/* f0a3b84: 45020006 */ bc1fl .L0f0a3ba0 +/* f0a3b88: c6040240 */ lwc1 $f4,0x240($s0) +/* f0a3b8c: 44819000 */ mtc1 $at,$f18 +/* f0a3b90: 00000000 */ nop +/* f0a3b94: 46126302 */ mul.s $f12,$f12,$f18 +/* f0a3b98: 00000000 */ nop +.L0f0a3b9c: +/* f0a3b9c: c6040240 */ lwc1 $f4,0x240($s0) +.L0f0a3ba0: +/* f0a3ba0: 46040081 */ sub.s $f2,$f0,$f4 +/* f0a3ba4: 4602603c */ c.lt.s $f12,$f2 +/* f0a3ba8: 00000000 */ nop +/* f0a3bac: 45020003 */ bc1fl .L0f0a3bbc +/* f0a3bb0: 46020181 */ sub.s $f6,$f0,$f2 +/* f0a3bb4: 46006086 */ mov.s $f2,$f12 +/* f0a3bb8: 46020181 */ sub.s $f6,$f0,$f2 +.L0f0a3bbc: +/* f0a3bbc: 44806000 */ mtc1 $zero,$f12 +/* f0a3bc0: e6060244 */ swc1 $f6,0x244($s0) +.L0f0a3bc4: +/* f0a3bc4: c6000244 */ lwc1 $f0,0x244($s0) +/* f0a3bc8: 3c017f1b */ lui $at,%hi(var7f1ac894) +/* f0a3bcc: 460c003c */ c.lt.s $f0,$f12 +/* f0a3bd0: 00000000 */ nop +/* f0a3bd4: 45000017 */ bc1f .L0f0a3c34 +/* f0a3bd8: 00000000 */ nop +/* f0a3bdc: c428c894 */ lwc1 $f8,%lo(var7f1ac894)($at) +/* f0a3be0: 46080302 */ mul.s $f12,$f0,$f8 +/* f0a3be4: 0c0068f4 */ jal cosf +/* f0a3be8: 00000000 */ nop +/* f0a3bec: 3c013f80 */ lui $at,0x3f80 +/* f0a3bf0: 44815000 */ mtc1 $at,$f10 +/* f0a3bf4: 3c013f00 */ lui $at,0x3f00 +/* f0a3bf8: 44819000 */ mtc1 $at,$f18 +/* f0a3bfc: 46005401 */ sub.s $f16,$f10,$f0 +/* f0a3c00: 3c04800a */ lui $a0,%hi(g_Vars) +/* f0a3c04: 24849fc0 */ addiu $a0,$a0,%lo(g_Vars) +/* f0a3c08: c4860044 */ lwc1 $f6,0x4c($a0) +/* f0a3c0c: 46128102 */ mul.s $f4,$f16,$f18 +/* f0a3c10: 3c017f1b */ lui $at,%hi(var7f1ac898) +/* f0a3c14: c42ac898 */ lwc1 $f10,%lo(var7f1ac898)($at) +/* f0a3c18: c612023c */ lwc1 $f18,0x23c($s0) +/* f0a3c1c: 46062202 */ mul.s $f8,$f4,$f6 +/* f0a3c20: 00000000 */ nop +/* f0a3c24: 460a4402 */ mul.s $f16,$f8,$f10 +/* f0a3c28: 46109101 */ sub.s $f4,$f18,$f16 +/* f0a3c2c: 10000017 */ b .L0f0a3c8c +/* f0a3c30: e604023c */ swc1 $f4,0x23c($s0) +.L0f0a3c34: +/* f0a3c34: 3c017f1b */ lui $at,%hi(var7f1ac89c) +/* f0a3c38: c426c89c */ lwc1 $f6,%lo(var7f1ac89c)($at) +/* f0a3c3c: 46060302 */ mul.s $f12,$f0,$f6 +/* f0a3c40: 0c0068f4 */ jal cosf +/* f0a3c44: 00000000 */ nop +/* f0a3c48: 3c013f80 */ lui $at,0x3f80 +/* f0a3c4c: 44814000 */ mtc1 $at,$f8 +/* f0a3c50: 3c013f00 */ lui $at,0x3f00 +/* f0a3c54: 44819000 */ mtc1 $at,$f18 +/* f0a3c58: 46004281 */ sub.s $f10,$f8,$f0 +/* f0a3c5c: 3c04800a */ lui $a0,%hi(g_Vars) +/* f0a3c60: 24849fc0 */ addiu $a0,$a0,%lo(g_Vars) +/* f0a3c64: c4840044 */ lwc1 $f4,0x4c($a0) +/* f0a3c68: 46125402 */ mul.s $f16,$f10,$f18 +/* f0a3c6c: 3c017f1b */ lui $at,%hi(var7f1ac8a0) +/* f0a3c70: c428c8a0 */ lwc1 $f8,%lo(var7f1ac8a0)($at) +/* f0a3c74: c612023c */ lwc1 $f18,0x23c($s0) +/* f0a3c78: 46048182 */ mul.s $f6,$f16,$f4 +/* f0a3c7c: 00000000 */ nop +/* f0a3c80: 46083282 */ mul.s $f10,$f6,$f8 +/* f0a3c84: 46125400 */ add.s $f16,$f10,$f18 +/* f0a3c88: e610023c */ swc1 $f16,0x23c($s0) +.L0f0a3c8c: +/* f0a3c8c: 3c017f1b */ lui $at,%hi(var7f1ac8a4) +/* f0a3c90: c422c8a4 */ lwc1 $f2,%lo(var7f1ac8a4)($at) +/* f0a3c94: c600023c */ lwc1 $f0,0x23c($s0) +/* f0a3c98: 3c01800a */ lui $at,%hi(var8009d140) +/* f0a3c9c: 46020103 */ div.s $f4,$f0,$f2 +/* f0a3ca0: 4600218d */ trunc.w.s $f6,$f4 +/* f0a3ca4: 44023000 */ mfc1 $v0,$f6 +/* f0a3ca8: 00000000 */ nop +/* f0a3cac: 44824000 */ mtc1 $v0,$f8 +/* f0a3cb0: 00000000 */ nop +/* f0a3cb4: 468042a0 */ cvt.s.w $f10,$f8 +/* f0a3cb8: 46025482 */ mul.s $f18,$f10,$f2 +/* f0a3cbc: 46120401 */ sub.s $f16,$f0,$f18 +/* f0a3cc0: e610023c */ swc1 $f16,0x23c($s0) +/* f0a3cc4: c604023c */ lwc1 $f4,0x23c($s0) +/* f0a3cc8: e424d140 */ swc1 $f4,%lo(var8009d140)($at) +/* f0a3ccc: 8e03074c */ lw $v1,0x74c($s0) +/* f0a3cd0: 3c017f1b */ lui $at,%hi(var7f1ac8a8) +/* f0a3cd4: 14600019 */ bnez $v1,.L0f0a3d3c +/* f0a3cd8: 00000000 */ nop +/* f0a3cdc: c422c8a8 */ lwc1 $f2,%lo(var7f1ac8a8)($at) +/* f0a3ce0: c6060244 */ lwc1 $f6,0x244($s0) +/* f0a3ce4: 4606103c */ c.lt.s $f2,$f6 +/* f0a3ce8: 00000000 */ nop +/* f0a3cec: 45000013 */ bc1f .L0f0a3d3c +/* f0a3cf0: 00000000 */ nop +/* f0a3cf4: 8c8f0034 */ lw $t7,0x34($a0) +/* f0a3cf8: 3c048009 */ lui $a0,%hi(var80095200) +/* f0a3cfc: 2405805e */ addiu $a1,$zero,-32674 +/* f0a3d00: 11e0000e */ beqz $t7,.L0f0a3d3c +/* f0a3d04: 2606074c */ addiu $a2,$s0,0x74c +/* f0a3d08: 3c01bf80 */ lui $at,0xbf80 +/* f0a3d0c: 44814000 */ mtc1 $at,$f8 +/* f0a3d10: 2418ffff */ addiu $t8,$zero,-1 +/* f0a3d14: 2419ffff */ addiu $t9,$zero,-1 +/* f0a3d18: 2408ffff */ addiu $t0,$zero,-1 +/* f0a3d1c: afa8001c */ sw $t0,0x1c($sp) +/* f0a3d20: afb90018 */ sw $t9,0x18($sp) +/* f0a3d24: afb80010 */ sw $t8,0x10($sp) +/* f0a3d28: 8c845200 */ lw $a0,%lo(var80095200)($a0) +/* f0a3d2c: 2407ffff */ addiu $a3,$zero,-1 +/* f0a3d30: 0c004241 */ jal audioStart +/* f0a3d34: e7a80014 */ swc1 $f8,0x14($sp) +/* f0a3d38: 8e03074c */ lw $v1,0x74c($s0) +.L0f0a3d3c: +/* f0a3d3c: 3c017f1b */ lui $at,%hi(var7f1ac8ac) +/* f0a3d40: 1060002a */ beqz $v1,.L0f0a3dec +/* f0a3d44: c422c8ac */ lwc1 $f2,%lo(var7f1ac8ac)($at) +/* f0a3d48: 3c013f00 */ lui $at,0x3f00 +/* f0a3d4c: 44819000 */ mtc1 $at,$f18 +/* f0a3d50: c60a0244 */ lwc1 $f10,0x244($s0) +/* f0a3d54: 3c017f1b */ lui $at,%hi(var7f1ac8b0) +/* f0a3d58: c424c8b0 */ lwc1 $f4,%lo(var7f1ac8b0)($at) +/* f0a3d5c: 46125403 */ div.s $f16,$f10,$f18 +/* f0a3d60: 24067fff */ addiu $a2,$zero,0x7fff +/* f0a3d64: 3c017f1b */ lui $at,%hi(var7f1ac8b4) +/* f0a3d68: 24050008 */ addiu $a1,$zero,0x8 +/* f0a3d6c: 46048180 */ add.s $f6,$f16,$f4 +/* f0a3d70: e7a60034 */ swc1 $f6,0x34($sp) +/* f0a3d74: c6000244 */ lwc1 $f0,0x244($s0) +/* f0a3d78: 4602003c */ c.lt.s $f0,$f2 +/* f0a3d7c: 00000000 */ nop +/* f0a3d80: 45000005 */ bc1f .L0f0a3d98 +/* f0a3d84: 00000000 */ nop +/* f0a3d88: 0c00cec9 */ jal audioStop +/* f0a3d8c: 8e04074c */ lw $a0,0x74c($s0) +/* f0a3d90: 10000017 */ b .L0f0a3df0 +/* f0a3d94: 8faa0044 */ lw $t2,0x44($sp) +.L0f0a3d98: +/* f0a3d98: c428c8b4 */ lwc1 $f8,%lo(var7f1ac8b4)($at) +/* f0a3d9c: 3c017f1b */ lui $at,%hi(var7f1ac8b8) +/* f0a3da0: 4608003c */ c.lt.s $f0,$f8 +/* f0a3da4: 00000000 */ nop +/* f0a3da8: 4500000a */ bc1f .L0f0a3dd4 +/* f0a3dac: 00000000 */ nop +/* f0a3db0: 46020281 */ sub.s $f10,$f0,$f2 +/* f0a3db4: c432c8b8 */ lwc1 $f18,%lo(var7f1ac8b8)($at) +/* f0a3db8: 3c013f00 */ lui $at,0x3f00 +/* f0a3dbc: 44812000 */ mtc1 $at,$f4 +/* f0a3dc0: 46125402 */ mul.s $f16,$f10,$f18 +/* f0a3dc4: 46048183 */ div.s $f6,$f16,$f4 +/* f0a3dc8: 4600320d */ trunc.w.s $f8,$f6 +/* f0a3dcc: 44064000 */ mfc1 $a2,$f8 +/* f0a3dd0: 00000000 */ nop +.L0f0a3dd4: +/* f0a3dd4: 0c00cf94 */ jal func00033e50 +/* f0a3dd8: 8e04074c */ lw $a0,0x74c($s0) +/* f0a3ddc: 8e04074c */ lw $a0,0x74c($s0) +/* f0a3de0: 24050010 */ addiu $a1,$zero,0x10 +/* f0a3de4: 0c00cf94 */ jal func00033e50 +/* f0a3de8: 8fa60034 */ lw $a2,0x34($sp) +.L0f0a3dec: +/* f0a3dec: 8faa0044 */ lw $t2,0x44($sp) +.L0f0a3df0: +/* f0a3df0: 1140000f */ beqz $t2,.L0f0a3e30 +/* f0a3df4: 01402025 */ or $a0,$t2,$zero +/* f0a3df8: 0c006949 */ jal func0001a524 +/* f0a3dfc: 00002825 */ or $a1,$zero,$zero +/* f0a3e00: 3c01800a */ lui $at,%hi(var8009d0f0) +/* f0a3e04: ac22d0dc */ sw $v0,%lo(var8009d0f0)($at) +/* f0a3e08: 3c0b7f0a */ lui $t3,%hi(func0f0a256c) +/* f0a3e0c: 3c10800a */ lui $s0,%hi(var8009d0f8) +/* f0a3e10: 256b256c */ addiu $t3,$t3,%lo(func0f0a256c) +/* f0a3e14: 3c018006 */ lui $at,%hi(var8005efcc) +/* f0a3e18: 2610d0f0 */ addiu $s0,$s0,%lo(var8009d0f8) +/* f0a3e1c: ac2befcc */ sw $t3,%lo(var8005efcc)($at) +/* f0a3e20: 240cffff */ addiu $t4,$zero,-1 +/* f0a3e24: ae0c0008 */ sw $t4,0x8($s0) +/* f0a3e28: ae0c0004 */ sw $t4,0x4($s0) +/* f0a3e2c: ae0c0000 */ sw $t4,0x0($s0) +.L0f0a3e30: +/* f0a3e30: 3c10800a */ lui $s0,%hi(var8009d0f8) +/* f0a3e34: 2610d0f0 */ addiu $s0,$s0,%lo(var8009d0f8) +/* f0a3e38: 8fa4004c */ lw $a0,0x4c($sp) +/* f0a3e3c: 0c006a47 */ jal modelGetPart +/* f0a3e40: 2405002d */ addiu $a1,$zero,0x2d +/* f0a3e44: 10400004 */ beqz $v0,.L0f0a3e58 +/* f0a3e48: 00402025 */ or $a0,$v0,$zero +/* f0a3e4c: 0c006949 */ jal func0001a524 +/* f0a3e50: 00002825 */ or $a1,$zero,$zero +/* f0a3e54: ae020000 */ sw $v0,0x0($s0) +.L0f0a3e58: +/* f0a3e58: 8fa4004c */ lw $a0,0x4c($sp) +/* f0a3e5c: 0c006a47 */ jal modelGetPart +/* f0a3e60: 2405002e */ addiu $a1,$zero,0x2e +/* f0a3e64: 10400004 */ beqz $v0,.L0f0a3e78 +/* f0a3e68: 00402025 */ or $a0,$v0,$zero +/* f0a3e6c: 0c006949 */ jal func0001a524 +/* f0a3e70: 00002825 */ or $a1,$zero,$zero +/* f0a3e74: ae020004 */ sw $v0,0x4($s0) +.L0f0a3e78: +/* f0a3e78: 8fa4004c */ lw $a0,0x4c($sp) +/* f0a3e7c: 0c006a47 */ jal modelGetPart +/* f0a3e80: 2405002f */ addiu $a1,$zero,0x2f +/* f0a3e84: 10400004 */ beqz $v0,.L0f0a3e98 +/* f0a3e88: 00402025 */ or $a0,$v0,$zero +/* f0a3e8c: 0c006949 */ jal func0001a524 +/* f0a3e90: 00002825 */ or $a1,$zero,$zero +/* f0a3e94: ae020008 */ sw $v0,0x8($s0) +.L0f0a3e98: +/* f0a3e98: 8fbf002c */ lw $ra,0x2c($sp) +/* f0a3e9c: 8fb00028 */ lw $s0,0x28($sp) +/* f0a3ea0: 27bd0048 */ addiu $sp,$sp,0x48 +/* f0a3ea4: 03e00008 */ jr $ra +/* f0a3ea8: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f0a3aa4 .late_rodata @@ -17621,6 +22048,7 @@ glabel var7f1ac8b8 /* f0a3ea4: 03e00008 */ jr $ra /* f0a3ea8: 00000000 */ nop ); +#endif GLOBAL_ASM( glabel func0f0a3eac @@ -17751,6 +22179,85 @@ glabel func0f0a3eac /* f0a4090: 27bd00a8 */ addiu $sp,$sp,0xa8 ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f0a4094 +.late_rodata +glabel var7f1ac8bc +.word 0x3c23d70a +glabel var7f1ac8c0 +.word 0x3fd16873 +.text +/* f0a4094: 27bdffc8 */ addiu $sp,$sp,-56 +/* f0a4098: afbf0014 */ sw $ra,0x14($sp) +/* f0a409c: afa5003c */ sw $a1,0x3c($sp) +/* f0a40a0: 00803825 */ or $a3,$a0,$zero +/* f0a40a4: afa70038 */ sw $a3,0x38($sp) +/* f0a40a8: 00c02025 */ or $a0,$a2,$zero +/* f0a40ac: 0c006a47 */ jal modelGetPart +/* f0a40b0: 24050028 */ addiu $a1,$zero,0x28 +/* f0a40b4: 8fa70038 */ lw $a3,0x38($sp) +/* f0a40b8: 10400034 */ beqz $v0,.L0f0a418c +/* f0a40bc: 00402025 */ or $a0,$v0,$zero +/* f0a40c0: 00002825 */ or $a1,$zero,$zero +/* f0a40c4: 0c006949 */ jal func0001a524 +/* f0a40c8: afa70038 */ sw $a3,0x38($sp) +/* f0a40cc: 3c013f80 */ lui $at,0x3f80 +/* f0a40d0: 44811000 */ mtc1 $at,$f2 +/* f0a40d4: 3c017f1b */ lui $at,%hi(var7f1ac8bc) +/* f0a40d8: c424c8bc */ lwc1 $f4,%lo(var7f1ac8bc)($at) +/* f0a40dc: 3c01800a */ lui $at,%hi(g_Vars+0x4c) +/* f0a40e0: c426a004 */ lwc1 $f6,%lo(g_Vars+0x4c)($at) +/* f0a40e4: 8fa70038 */ lw $a3,0x38($sp) +/* f0a40e8: 3c01c120 */ lui $at,0xc120 +/* f0a40ec: 46062202 */ mul.s $f8,$f4,$f6 +/* f0a40f0: c4ea0250 */ lwc1 $f10,0x250($a3) +/* f0a40f4: 44819000 */ mtc1 $at,$f18 +/* f0a40f8: 00401825 */ or $v1,$v0,$zero +/* f0a40fc: 46085400 */ add.s $f16,$f10,$f8 +/* f0a4100: e4f00250 */ swc1 $f16,0x250($a3) +/* f0a4104: c4e00250 */ lwc1 $f0,0x250($a3) +/* f0a4108: 4600103c */ c.lt.s $f2,$f0 +/* f0a410c: 00000000 */ nop +/* f0a4110: 45000003 */ bc1f .L0f0a4120 +/* f0a4114: 00000000 */ nop +/* f0a4118: e4e20250 */ swc1 $f2,0x250($a3) +/* f0a411c: c4e00250 */ lwc1 $f0,0x250($a3) +.L0f0a4120: +/* f0a4120: 46120102 */ mul.s $f4,$f0,$f18 +/* f0a4124: 3c017f1b */ lui $at,%hi(var7f1ac8c0) +/* f0a4128: c426c8c0 */ lwc1 $f6,%lo(var7f1ac8c0)($at) +/* f0a412c: 8fae003c */ lw $t6,0x3c($sp) +/* f0a4130: 44801000 */ mtc1 $zero,$f2 +/* f0a4134: 00037980 */ sll $t7,$v1,0x6 +/* f0a4138: 01cf2021 */ addu $a0,$t6,$t7 +/* f0a413c: 46062282 */ mul.s $f10,$f4,$f6 +/* f0a4140: afa4001c */ sw $a0,0x1c($sp) +/* f0a4144: 27a50024 */ addiu $a1,$sp,0x24 +/* f0a4148: e7a20028 */ swc1 $f2,0x28($sp) +/* f0a414c: e7a2002c */ swc1 $f2,0x2c($sp) +/* f0a4150: 0c0056c4 */ jal func00015b10 +/* f0a4154: e7aa0024 */ swc1 $f10,0x24($sp) +/* f0a4158: 8fa4001c */ lw $a0,0x1c($sp) +/* f0a415c: c7b00024 */ lwc1 $f16,0x24($sp) +/* f0a4160: c4880030 */ lwc1 $f8,0x30($a0) +/* f0a4164: c4840034 */ lwc1 $f4,0x34($a0) +/* f0a4168: 46104480 */ add.s $f18,$f8,$f16 +/* f0a416c: c4880038 */ lwc1 $f8,0x38($a0) +/* f0a4170: e4920030 */ swc1 $f18,0x30($a0) +/* f0a4174: c7a60028 */ lwc1 $f6,0x28($sp) +/* f0a4178: 46062280 */ add.s $f10,$f4,$f6 +/* f0a417c: e48a0034 */ swc1 $f10,0x34($a0) +/* f0a4180: c7b0002c */ lwc1 $f16,0x2c($sp) +/* f0a4184: 46104480 */ add.s $f18,$f8,$f16 +/* f0a4188: e4920038 */ swc1 $f18,0x38($a0) +.L0f0a418c: +/* f0a418c: 8fbf0014 */ lw $ra,0x14($sp) +/* f0a4190: 27bd0038 */ addiu $sp,$sp,0x38 +/* f0a4194: 03e00008 */ jr $ra +/* f0a4198: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f0a4094 .late_rodata @@ -17828,7 +22335,123 @@ glabel var7f1ac8c0 /* f0a4194: 03e00008 */ jr $ra /* f0a4198: 00000000 */ nop ); +#endif +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f0a419c +.late_rodata +glabel var7f1ac8c4 +.word 0x3c23d70a +.text +/* f0a419c: 27bdffc8 */ addiu $sp,$sp,-56 +/* f0a41a0: afbf001c */ sw $ra,0x1c($sp) +/* f0a41a4: afb00018 */ sw $s0,0x18($sp) +/* f0a41a8: afa5003c */ sw $a1,0x3c($sp) +/* f0a41ac: afa60040 */ sw $a2,0x40($sp) +/* f0a41b0: 808e0005 */ lb $t6,0x5($a0) +/* f0a41b4: 44801000 */ mtc1 $zero,$f2 +/* f0a41b8: 00808025 */ or $s0,$a0,$zero +/* f0a41bc: 11c00004 */ beqz $t6,.L0f0a41d0 +/* f0a41c0: 3c013f80 */ lui $at,0x3f80 +/* f0a41c4: 44812000 */ mtc1 $at,$f4 +/* f0a41c8: 00000000 */ nop +/* f0a41cc: e484023c */ swc1 $f4,0x23c($a0) +.L0f0a41d0: +/* f0a41d0: c600023c */ lwc1 $f0,0x23c($s0) +/* f0a41d4: 3c188007 */ lui $t8,%hi(var8007022c) +/* f0a41d8: 3c01800a */ lui $at,%hi(g_Vars+0x4c) +/* f0a41dc: 4600103c */ c.lt.s $f2,$f0 +/* f0a41e0: 2718022c */ addiu $t8,$t8,%lo(var8007022c) +/* f0a41e4: 27af0028 */ addiu $t7,$sp,0x28 +/* f0a41e8: 00e02025 */ or $a0,$a3,$zero +/* f0a41ec: 45020011 */ bc1fl .L0f0a4234 +/* f0a41f0: 4600103c */ c.lt.s $f2,$f0 +/* f0a41f4: c426a004 */ lwc1 $f6,%lo(g_Vars+0x4c)($at) +/* f0a41f8: 3c0140c0 */ lui $at,0x40c0 +/* f0a41fc: 44814000 */ mtc1 $at,$f8 +/* f0a4200: 3c017f1b */ lui $at,%hi(var7f1ac8c4) +/* f0a4204: 46083283 */ div.s $f10,$f6,$f8 +/* f0a4208: 460a0401 */ sub.s $f16,$f0,$f10 +/* f0a420c: e610023c */ swc1 $f16,0x23c($s0) +/* f0a4210: c432c8c4 */ lwc1 $f18,%lo(var7f1ac8c4)($at) +/* f0a4214: c600023c */ lwc1 $f0,0x23c($s0) +/* f0a4218: 4612003c */ c.lt.s $f0,$f18 +/* f0a421c: 00000000 */ nop +/* f0a4220: 45020004 */ bc1fl .L0f0a4234 +/* f0a4224: 4600103c */ c.lt.s $f2,$f0 +/* f0a4228: e602023c */ swc1 $f2,0x23c($s0) +/* f0a422c: c600023c */ lwc1 $f0,0x23c($s0) +/* f0a4230: 4600103c */ c.lt.s $f2,$f0 +.L0f0a4234: +/* f0a4234: 00000000 */ nop +/* f0a4238: 4502003a */ bc1fl .L0f0a4324 +/* f0a423c: 8fbf001c */ lw $ra,0x1c($sp) +/* f0a4240: 8f010000 */ lw $at,0x0($t8) +/* f0a4244: 8f080004 */ lw $t0,0x4($t8) +/* f0a4248: 24050050 */ addiu $a1,$zero,0x50 +/* f0a424c: ade10000 */ sw $at,0x0($t7) +/* f0a4250: 8f010008 */ lw $at,0x8($t8) +/* f0a4254: ade80004 */ sw $t0,0x4($t7) +/* f0a4258: 0c006a47 */ jal modelGetPart +/* f0a425c: ade10008 */ sw $at,0x8($t7) +/* f0a4260: 8faa0040 */ lw $t2,0x40($sp) +/* f0a4264: 24090001 */ addiu $t1,$zero,0x1 +/* f0a4268: 00402025 */ or $a0,$v0,$zero +/* f0a426c: 1040002c */ beqz $v0,.L0f0a4320 +/* f0a4270: ad490000 */ sw $t1,0x0($t2) +/* f0a4274: 0c006949 */ jal func0001a524 +/* f0a4278: 00002825 */ or $a1,$zero,$zero +/* f0a427c: afa20034 */ sw $v0,0x34($sp) +/* f0a4280: 3c013f80 */ lui $at,0x3f80 +/* f0a4284: 44812000 */ mtc1 $at,$f4 +/* f0a4288: c606023c */ lwc1 $f6,0x23c($s0) +/* f0a428c: 3c014100 */ lui $at,0x4100 +/* f0a4290: 44815000 */ mtc1 $at,$f10 +/* f0a4294: 46062201 */ sub.s $f8,$f4,$f6 +/* f0a4298: 3c013f00 */ lui $at,0x3f00 +/* f0a429c: 44819000 */ mtc1 $at,$f18 +/* f0a42a0: 8fab003c */ lw $t3,0x3c($sp) +/* f0a42a4: 460a4402 */ mul.s $f16,$f8,$f10 +/* f0a42a8: 00026180 */ sll $t4,$v0,0x6 +/* f0a42ac: 016c2821 */ addu $a1,$t3,$t4 +/* f0a42b0: 0c0057aa */ jal func00015ea8 +/* f0a42b4: 46128300 */ add.s $f12,$f16,$f18 +/* f0a42b8: 3c013f80 */ lui $at,0x3f80 +/* f0a42bc: 44810000 */ mtc1 $at,$f0 +/* f0a42c0: c604023c */ lwc1 $f4,0x23c($s0) +/* f0a42c4: 3c014040 */ lui $at,0x4040 +/* f0a42c8: 44814000 */ mtc1 $at,$f8 +/* f0a42cc: 46040181 */ sub.s $f6,$f0,$f4 +/* f0a42d0: 8fae0034 */ lw $t6,0x34($sp) +/* f0a42d4: 8fad003c */ lw $t5,0x3c($sp) +/* f0a42d8: 46083282 */ mul.s $f10,$f6,$f8 +/* f0a42dc: 000ec980 */ sll $t9,$t6,0x6 +/* f0a42e0: 01b92821 */ addu $a1,$t5,$t9 +/* f0a42e4: afa50020 */ sw $a1,0x20($sp) +/* f0a42e8: 0c00577c */ jal func00015df0 +/* f0a42ec: 46005300 */ add.s $f12,$f10,$f0 +/* f0a42f0: 3c013f80 */ lui $at,0x3f80 +/* f0a42f4: 44818000 */ mtc1 $at,$f16 +/* f0a42f8: c612023c */ lwc1 $f18,0x23c($s0) +/* f0a42fc: 3c014040 */ lui $at,0x4040 +/* f0a4300: 44813000 */ mtc1 $at,$f6 +/* f0a4304: 46128101 */ sub.s $f4,$f16,$f18 +/* f0a4308: 3c013f80 */ lui $at,0x3f80 +/* f0a430c: 44815000 */ mtc1 $at,$f10 +/* f0a4310: 8fa50020 */ lw $a1,0x20($sp) +/* f0a4314: 46062202 */ mul.s $f8,$f4,$f6 +/* f0a4318: 0c005793 */ jal func00015e4c +/* f0a431c: 460a4300 */ add.s $f12,$f8,$f10 +.L0f0a4320: +/* f0a4320: 8fbf001c */ lw $ra,0x1c($sp) +.L0f0a4324: +/* f0a4324: 8fb00018 */ lw $s0,0x18($sp) +/* f0a4328: 27bd0038 */ addiu $sp,$sp,0x38 +/* f0a432c: 03e00008 */ jr $ra +/* f0a4330: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f0a419c .late_rodata @@ -17942,7 +22565,84 @@ glabel var7f1ac8c4 /* f0a432c: 03e00008 */ jr $ra /* f0a4330: 00000000 */ nop ); +#endif +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f0a4334 +/* f0a4334: 27bdffd0 */ addiu $sp,$sp,-48 +/* f0a4338: afbf002c */ sw $ra,0x2c($sp) +/* f0a433c: afb00028 */ sw $s0,0x28($sp) +/* f0a4340: 808e0004 */ lb $t6,0x4($a0) +/* f0a4344: 00808025 */ or $s0,$a0,$zero +/* f0a4348: 51c0001f */ beqzl $t6,.L0f0a43c8 +/* f0a434c: c600023c */ lwc1 $f0,0x23c($s0) +/* f0a4350: 908f0003 */ lbu $t7,0x3($a0) +/* f0a4354: 24010001 */ addiu $at,$zero,0x1 +/* f0a4358: 55e1001b */ bnel $t7,$at,.L0f0a43c8 +/* f0a435c: c600023c */ lwc1 $f0,0x23c($s0) +/* f0a4360: 8c98074c */ lw $t8,0x74c($a0) +/* f0a4364: 3c19800a */ lui $t9,%hi(g_Vars+0x34) +/* f0a4368: 57000013 */ bnezl $t8,.L0f0a43b8 +/* f0a436c: 3c013f80 */ lui $at,0x3f80 +/* f0a4370: 8f399ff4 */ lw $t9,%lo(g_Vars+0x34)($t9) +/* f0a4374: 3c048009 */ lui $a0,%hi(var80095200) +/* f0a4378: 24050065 */ addiu $a1,$zero,0x65 +/* f0a437c: 1320000d */ beqz $t9,.L0f0a43b4 +/* f0a4380: 2606074c */ addiu $a2,$s0,0x74c +/* f0a4384: 3c01bf80 */ lui $at,0xbf80 +/* f0a4388: 44812000 */ mtc1 $at,$f4 +/* f0a438c: 2408ffff */ addiu $t0,$zero,-1 +/* f0a4390: 2409ffff */ addiu $t1,$zero,-1 +/* f0a4394: 240affff */ addiu $t2,$zero,-1 +/* f0a4398: afaa001c */ sw $t2,0x1c($sp) +/* f0a439c: afa90018 */ sw $t1,0x18($sp) +/* f0a43a0: afa80010 */ sw $t0,0x10($sp) +/* f0a43a4: 8c845200 */ lw $a0,%lo(var80095200)($a0) +/* f0a43a8: 2407ffff */ addiu $a3,$zero,-1 +/* f0a43ac: 0c004241 */ jal audioStart +/* f0a43b0: e7a40014 */ swc1 $f4,0x14($sp) +.L0f0a43b4: +/* f0a43b4: 3c013f80 */ lui $at,0x3f80 +.L0f0a43b8: +/* f0a43b8: 44813000 */ mtc1 $at,$f6 +/* f0a43bc: 10000019 */ b .L0f0a4424 +/* f0a43c0: e606023c */ swc1 $f6,0x23c($s0) +/* f0a43c4: c600023c */ lwc1 $f0,0x23c($s0) +.L0f0a43c8: +/* f0a43c8: 44804000 */ mtc1 $zero,$f8 +/* f0a43cc: 3c01800a */ lui $at,%hi(g_Vars+0x4c) +/* f0a43d0: 4600403c */ c.lt.s $f8,$f0 +/* f0a43d4: 00000000 */ nop +/* f0a43d8: 4502000a */ bc1fl .L0f0a4404 +/* f0a43dc: 8e04074c */ lw $a0,0x74c($s0) +/* f0a43e0: c42aa004 */ lwc1 $f10,%lo(g_Vars+0x4c)($at) +/* f0a43e4: 3c014120 */ lui $at,0x4120 +/* f0a43e8: 44818000 */ mtc1 $at,$f16 +/* f0a43ec: 00000000 */ nop +/* f0a43f0: 46105483 */ div.s $f18,$f10,$f16 +/* f0a43f4: 46120101 */ sub.s $f4,$f0,$f18 +/* f0a43f8: 1000000a */ b .L0f0a4424 +/* f0a43fc: e604023c */ swc1 $f4,0x23c($s0) +/* f0a4400: 8e04074c */ lw $a0,0x74c($s0) +.L0f0a4404: +/* f0a4404: 50800008 */ beqzl $a0,.L0f0a4428 +/* f0a4408: 8fbf002c */ lw $ra,0x2c($sp) +/* f0a440c: 0c00cdfc */ jal audioIsPlaying +/* f0a4410: 00000000 */ nop +/* f0a4414: 50400004 */ beqzl $v0,.L0f0a4428 +/* f0a4418: 8fbf002c */ lw $ra,0x2c($sp) +/* f0a441c: 0c00cec9 */ jal audioStop +/* f0a4420: 8e04074c */ lw $a0,0x74c($s0) +.L0f0a4424: +/* f0a4424: 8fbf002c */ lw $ra,0x2c($sp) +.L0f0a4428: +/* f0a4428: 8fb00028 */ lw $s0,0x28($sp) +/* f0a442c: 27bd0030 */ addiu $sp,$sp,0x30 +/* f0a4430: 03e00008 */ jr $ra +/* f0a4434: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f0a4334 /* f0a4334: 27bdffd0 */ addiu $sp,$sp,-48 @@ -18017,6 +22717,7 @@ glabel func0f0a4334 /* f0a4430: 03e00008 */ jr $ra /* f0a4434: 00000000 */ nop ); +#endif GLOBAL_ASM( glabel func0f0a4438 @@ -23203,6 +27904,328 @@ glabel var7f1aca84 /* f0a6c2c: 27bd00b0 */ addiu $sp,$sp,0xb0 ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f0a6c30 +.late_rodata +glabel var7f1aca88 +.word 0x3ecccccd +.text +/* f0a6c30: 3c0e800a */ lui $t6,%hi(g_Vars+0x28c) +/* f0a6c34: 8dcea24c */ lw $t6,%lo(g_Vars+0x28c)($t6) +/* f0a6c38: 27bdffb0 */ addiu $sp,$sp,-80 +/* f0a6c3c: 3c03800a */ lui $v1,%hi(g_Vars+0x284) +/* f0a6c40: afbf001c */ sw $ra,0x1c($sp) +/* f0a6c44: afb00018 */ sw $s0,0x18($sp) +/* f0a6c48: 15c00004 */ bnez $t6,.L0f0a6c5c +/* f0a6c4c: 8c63a244 */ lw $v1,%lo(g_Vars+0x284)($v1) +/* f0a6c50: 0fc2434d */ jal func0f090d34 +/* f0a6c54: afa3004c */ sw $v1,0x4c($sp) +/* f0a6c58: 8fa3004c */ lw $v1,0x4c($sp) +.L0f0a6c5c: +/* f0a6c5c: 8c6f1580 */ lw $t7,0x1580($v1) +/* f0a6c60: 000fcf80 */ sll $t9,$t7,0x1e +/* f0a6c64: 07210003 */ bgez $t9,.L0f0a6c74 +/* f0a6c68: 3c02800a */ lui $v0,%hi(g_Vars+0x284) +/* f0a6c6c: 10000006 */ b .L0f0a6c88 +/* f0a6c70: 8c42a244 */ lw $v0,%lo(g_Vars+0x284)($v0) +.L0f0a6c74: +/* f0a6c74: 0fc27aa4 */ jal func0f09ea90 +/* f0a6c78: afa3004c */ sw $v1,0x4c($sp) +/* f0a6c7c: 3c02800a */ lui $v0,%hi(g_Vars+0x284) +/* f0a6c80: 8c42a244 */ lw $v0,%lo(g_Vars+0x284)($v0) +/* f0a6c84: 8fa3004c */ lw $v1,0x4c($sp) +.L0f0a6c88: +/* f0a6c88: 8c491c54 */ lw $t1,0x1c54($v0) +/* f0a6c8c: 8c4800c4 */ lw $t0,0xc4($v0) +/* f0a6c90: 01205027 */ nor $t2,$t1,$zero +/* f0a6c94: 010a2024 */ and $a0,$t0,$t2 +/* f0a6c98: 308b0004 */ andi $t3,$a0,0x4 +/* f0a6c9c: 5560000c */ bnezl $t3,.L0f0a6cd0 +/* f0a6ca0: 30980002 */ andi $t8,$a0,0x2 +/* f0a6ca4: 8c620480 */ lw $v0,0x480($v1) +/* f0a6ca8: 3c0c800a */ lui $t4,%hi(g_Vars+0x284) +/* f0a6cac: 50400008 */ beqzl $v0,.L0f0a6cd0 +/* f0a6cb0: 30980002 */ andi $t8,$a0,0x2 +/* f0a6cb4: a0400037 */ sb $zero,0x37($v0) +/* f0a6cb8: 8d8ca244 */ lw $t4,%lo(g_Vars+0x284)($t4) +/* f0a6cbc: 8d8e1c54 */ lw $t6,0x1c54($t4) +/* f0a6cc0: 8d8d00c4 */ lw $t5,0xc4($t4) +/* f0a6cc4: 01c07827 */ nor $t7,$t6,$zero +/* f0a6cc8: 01af2024 */ and $a0,$t5,$t7 +/* f0a6ccc: 30980002 */ andi $t8,$a0,0x2 +.L0f0a6cd0: +/* f0a6cd0: 1300001f */ beqz $t8,.L0f0a6d50 +/* f0a6cd4: 00002025 */ or $a0,$zero,$zero +/* f0a6cd8: 0fc2866a */ jal handGetWeaponNum +/* f0a6cdc: afa3004c */ sw $v1,0x4c($sp) +/* f0a6ce0: 24010016 */ addiu $at,$zero,0x16 +/* f0a6ce4: 14410004 */ bne $v0,$at,.L0f0a6cf8 +/* f0a6ce8: 8fa3004c */ lw $v1,0x4c($sp) +/* f0a6cec: 8c7917a4 */ lw $t9,0x17a4($v1) +/* f0a6cf0: 53200018 */ beqzl $t9,.L0f0a6d54 +/* f0a6cf4: 8c6d17a4 */ lw $t5,0x17a4($v1) +.L0f0a6cf8: +/* f0a6cf8: 94690010 */ lhu $t1,0x10($v1) +/* f0a6cfc: 24010001 */ addiu $at,$zero,0x1 +/* f0a6d00: 24020001 */ addiu $v0,$zero,0x1 +/* f0a6d04: 11210003 */ beq $t1,$at,.L0f0a6d14 +/* f0a6d08: 24040018 */ addiu $a0,$zero,0x18 +/* f0a6d0c: 10000006 */ b .L0f0a6d28 +/* f0a6d10: ac600254 */ sw $zero,0x254($v1) +.L0f0a6d14: +/* f0a6d14: 3c0a800a */ lui $t2,%hi(g_Vars+0x34) +/* f0a6d18: 8d4a9ff4 */ lw $t2,%lo(g_Vars+0x34)($t2) +/* f0a6d1c: 8c680254 */ lw $t0,0x254($v1) +/* f0a6d20: 010a5821 */ addu $t3,$t0,$t2 +/* f0a6d24: ac6b0254 */ sw $t3,0x254($v1) +.L0f0a6d28: +/* f0a6d28: 240c0008 */ addiu $t4,$zero,0x8 +/* f0a6d2c: 240e0002 */ addiu $t6,$zero,0x2 +/* f0a6d30: a4620010 */ sh $v0,0x10($v1) +/* f0a6d34: a0640251 */ sb $a0,0x251($v1) +/* f0a6d38: a06c0252 */ sb $t4,0x252($v1) +/* f0a6d3c: a0640253 */ sb $a0,0x253($v1) +/* f0a6d40: a06e0270 */ sb $t6,0x270($v1) +/* f0a6d44: a0600271 */ sb $zero,0x271($v1) +/* f0a6d48: 10000029 */ b .L0f0a6df0 +/* f0a6d4c: a0620272 */ sb $v0,0x272($v1) +.L0f0a6d50: +/* f0a6d50: 8c6d17a4 */ lw $t5,0x17a4($v1) +.L0f0a6d54: +/* f0a6d54: 55a00022 */ bnezl $t5,.L0f0a6de0 +/* f0a6d58: 946d0010 */ lhu $t5,0x10($v1) +/* f0a6d5c: 906f0638 */ lbu $t7,0x638($v1) +/* f0a6d60: 24010016 */ addiu $at,$zero,0x16 +/* f0a6d64: 24020001 */ addiu $v0,$zero,0x1 +/* f0a6d68: 15e10016 */ bne $t7,$at,.L0f0a6dc4 +/* f0a6d6c: 24040018 */ addiu $a0,$zero,0x18 +/* f0a6d70: 94780010 */ lhu $t8,0x10($v1) +/* f0a6d74: 24010001 */ addiu $at,$zero,0x1 +/* f0a6d78: 240a0010 */ addiu $t2,$zero,0x10 +/* f0a6d7c: 13010003 */ beq $t8,$at,.L0f0a6d8c +/* f0a6d80: 240b0008 */ addiu $t3,$zero,0x8 +/* f0a6d84: 10000006 */ b .L0f0a6da0 +/* f0a6d88: ac600254 */ sw $zero,0x254($v1) +.L0f0a6d8c: +/* f0a6d8c: 3c09800a */ lui $t1,%hi(g_Vars+0x34) +/* f0a6d90: 8d299ff4 */ lw $t1,%lo(g_Vars+0x34)($t1) +/* f0a6d94: 8c790254 */ lw $t9,0x254($v1) +/* f0a6d98: 03294021 */ addu $t0,$t9,$t1 +/* f0a6d9c: ac680254 */ sw $t0,0x254($v1) +.L0f0a6da0: +/* f0a6da0: 240c0002 */ addiu $t4,$zero,0x2 +/* f0a6da4: a4620010 */ sh $v0,0x10($v1) +/* f0a6da8: a06a0251 */ sb $t2,0x251($v1) +/* f0a6dac: a0640252 */ sb $a0,0x252($v1) +/* f0a6db0: a06b0253 */ sb $t3,0x253($v1) +/* f0a6db4: a0600270 */ sb $zero,0x270($v1) +/* f0a6db8: a0620271 */ sb $v0,0x271($v1) +/* f0a6dbc: 1000000c */ b .L0f0a6df0 +/* f0a6dc0: a06c0272 */ sb $t4,0x272($v1) +.L0f0a6dc4: +/* f0a6dc4: 946e0010 */ lhu $t6,0x10($v1) +/* f0a6dc8: 24010002 */ addiu $at,$zero,0x2 +/* f0a6dcc: 51c10009 */ beql $t6,$at,.L0f0a6df4 +/* f0a6dd0: 806f1580 */ lb $t7,0x1580($v1) +/* f0a6dd4: 10000006 */ b .L0f0a6df0 +/* f0a6dd8: a4600010 */ sh $zero,0x10($v1) +/* f0a6ddc: 946d0010 */ lhu $t5,0x10($v1) +.L0f0a6de0: +/* f0a6de0: 24010002 */ addiu $at,$zero,0x2 +/* f0a6de4: 51a10003 */ beql $t5,$at,.L0f0a6df4 +/* f0a6de8: 806f1580 */ lb $t7,0x1580($v1) +/* f0a6dec: a4600010 */ sh $zero,0x10($v1) +.L0f0a6df0: +/* f0a6df0: 806f1580 */ lb $t7,0x1580($v1) +.L0f0a6df4: +/* f0a6df4: 24010006 */ addiu $at,$zero,0x6 +/* f0a6df8: 15e10004 */ bne $t7,$at,.L0f0a6e0c +/* f0a6dfc: 00000000 */ nop +/* f0a6e00: 0fc29a57 */ jal func0f0a695c +/* f0a6e04: afa3004c */ sw $v1,0x4c($sp) +/* f0a6e08: 8fa3004c */ lw $v1,0x4c($sp) +.L0f0a6e0c: +/* f0a6e0c: 3c18800a */ lui $t8,%hi(g_Vars+0x34) +/* f0a6e10: 8f189ff4 */ lw $t8,%lo(g_Vars+0x34)($t8) +/* f0a6e14: 00001025 */ or $v0,$zero,$zero +/* f0a6e18: 00608025 */ or $s0,$v1,$zero +/* f0a6e1c: 1700000e */ bnez $t8,.L0f0a6e58 +/* f0a6e20: 00000000 */ nop +.L0f0a6e24: +/* f0a6e24: 8e190d84 */ lw $t9,0xd84($s0) +/* f0a6e28: 53200008 */ beqzl $t9,.L0f0a6e4c +/* f0a6e2c: 244207a4 */ addiu $v0,$v0,1956 +/* f0a6e30: 8e040d84 */ lw $a0,0xd84($s0) +/* f0a6e34: afa3004c */ sw $v1,0x4c($sp) +/* f0a6e38: 0c00cec9 */ jal audioStop +/* f0a6e3c: afa20020 */ sw $v0,0x20($sp) +/* f0a6e40: 8fa20020 */ lw $v0,0x20($sp) +/* f0a6e44: 8fa3004c */ lw $v1,0x4c($sp) +/* f0a6e48: 244207a4 */ addiu $v0,$v0,1956 +.L0f0a6e4c: +/* f0a6e4c: 24010f48 */ addiu $at,$zero,0xf48 +/* f0a6e50: 1441fff4 */ bne $v0,$at,.L0f0a6e24 +/* f0a6e54: 261007a4 */ addiu $s0,$s0,0x7a4 +.L0f0a6e58: +/* f0a6e58: 3c02800a */ lui $v0,%hi(g_Vars+0x284) +/* f0a6e5c: 8c42a244 */ lw $v0,%lo(g_Vars+0x284)($v0) +/* f0a6e60: 80641580 */ lb $a0,0x1580($v1) +/* f0a6e64: 2401000d */ addiu $at,$zero,0xd +/* f0a6e68: 8c481c54 */ lw $t0,0x1c54($v0) +/* f0a6e6c: 8c4900c4 */ lw $t1,0xc4($v0) +/* f0a6e70: 01005027 */ nor $t2,$t0,$zero +/* f0a6e74: 012a5824 */ and $t3,$t1,$t2 +/* f0a6e78: 316c0080 */ andi $t4,$t3,0x80 +/* f0a6e7c: 11800049 */ beqz $t4,.L0f0a6fa4 +/* f0a6e80: 00000000 */ nop +/* f0a6e84: 2401000d */ addiu $at,$zero,0xd +/* f0a6e88: 54810042 */ bnel $a0,$at,.L0f0a6f94 +/* f0a6e8c: 8c6900c4 */ lw $t1,0xc4($v1) +/* f0a6e90: 8c6e00bc */ lw $t6,0xbc($v1) +/* f0a6e94: 8dc20004 */ lw $v0,0x4($t6) +/* f0a6e98: 8c4d0014 */ lw $t5,0x14($v0) +/* f0a6e9c: 000d7880 */ sll $t7,$t5,0x2 +/* f0a6ea0: 05e1006b */ bgez $t7,.L0f0a7050 +/* f0a6ea4: 00000000 */ nop +/* f0a6ea8: 945802e0 */ lhu $t8,0x2e0($v0) +/* f0a6eac: 24010001 */ addiu $at,$zero,0x1 +/* f0a6eb0: 33190001 */ andi $t9,$t8,0x1 +/* f0a6eb4: 17210066 */ bne $t9,$at,.L0f0a7050 +/* f0a6eb8: 3c013f80 */ lui $at,0x3f80 +/* f0a6ebc: 44811000 */ mtc1 $at,$f2 +/* f0a6ec0: 3c01800a */ lui $at,%hi(g_Vars+0x4c) +/* f0a6ec4: c424a004 */ lwc1 $f4,%lo(g_Vars+0x4c)($at) +/* f0a6ec8: 3c017f1b */ lui $at,%hi(var7f1aca88) +/* f0a6ecc: c426ca88 */ lwc1 $f6,%lo(var7f1aca88)($at) +/* f0a6ed0: c46a0874 */ lwc1 $f10,0x874($v1) +/* f0a6ed4: 24620638 */ addiu $v0,$v1,0x638 +/* f0a6ed8: 46062202 */ mul.s $f8,$f4,$f6 +/* f0a6edc: 46085400 */ add.s $f16,$f10,$f8 +/* f0a6ee0: e4700874 */ swc1 $f16,0x874($v1) +/* f0a6ee4: c4720874 */ lwc1 $f18,0x874($v1) +/* f0a6ee8: 4612103c */ c.lt.s $f2,$f18 +/* f0a6eec: 00000000 */ nop +/* f0a6ef0: 45000057 */ bc1f .L0f0a7050 +/* f0a6ef4: 00000000 */ nop +/* f0a6ef8: c440023c */ lwc1 $f0,0x23c($v0) +/* f0a6efc: 8c440220 */ lw $a0,0x220($v0) +/* f0a6f00: 4600010d */ trunc.w.s $f4,$f0 +/* f0a6f04: 44052000 */ mfc1 $a1,$f4 +/* f0a6f08: 00000000 */ nop +/* f0a6f0c: 0085082a */ slt $at,$a0,$a1 +/* f0a6f10: 50200003 */ beqzl $at,.L0f0a6f20 +/* f0a6f14: 44853000 */ mtc1 $a1,$f6 +/* f0a6f18: 00802825 */ or $a1,$a0,$zero +/* f0a6f1c: 44853000 */ mtc1 $a1,$f6 +.L0f0a6f20: +/* f0a6f20: 00854823 */ subu $t1,$a0,$a1 +/* f0a6f24: ac490220 */ sw $t1,0x220($v0) +/* f0a6f28: 468032a0 */ cvt.s.w $f10,$f6 +/* f0a6f2c: 460a0201 */ sub.s $f8,$f0,$f10 +/* f0a6f30: 15200047 */ bnez $t1,.L0f0a7050 +/* f0a6f34: e448023c */ swc1 $f8,0x23c($v0) +/* f0a6f38: 8c4b0604 */ lw $t3,0x604($v0) +/* f0a6f3c: 24010001 */ addiu $at,$zero,0x1 +/* f0a6f40: 11610043 */ beq $t3,$at,.L0f0a7050 +/* f0a6f44: 00000000 */ nop +/* f0a6f48: c450023c */ lwc1 $f16,0x23c($v0) +/* f0a6f4c: 806e15e4 */ lb $t6,0x15e4($v1) +/* f0a6f50: 3c02800a */ lui $v0,%hi(g_Vars+0x284) +/* f0a6f54: 4600848d */ trunc.w.s $f18,$f16 +/* f0a6f58: 000e6880 */ sll $t5,$t6,0x2 +/* f0a6f5c: 006d7821 */ addu $t7,$v1,$t5 +/* f0a6f60: 8df817a8 */ lw $t8,0x17a8($t7) +/* f0a6f64: 44049000 */ mfc1 $a0,$f18 +/* f0a6f68: 00000000 */ nop +/* f0a6f6c: 0304082a */ slt $at,$t8,$a0 +/* f0a6f70: 10200037 */ beqz $at,.L0f0a7050 +/* f0a6f74: 00000000 */ nop +/* f0a6f78: 8c42a244 */ lw $v0,%lo(g_Vars+0x284)($v0) +/* f0a6f7c: 2401ff7f */ addiu $at,$zero,-129 +/* f0a6f80: 8c5900c4 */ lw $t9,0xc4($v0) +/* f0a6f84: 03214024 */ and $t0,$t9,$at +/* f0a6f88: 10000031 */ b .L0f0a7050 +/* f0a6f8c: ac4800c4 */ sw $t0,0xc4($v0) +/* f0a6f90: 8c6900c4 */ lw $t1,0xc4($v1) +.L0f0a6f94: +/* f0a6f94: 2401ff7f */ addiu $at,$zero,-129 +/* f0a6f98: 01215024 */ and $t2,$t1,$at +/* f0a6f9c: 1000002c */ b .L0f0a7050 +/* f0a6fa0: ac6a00c4 */ sw $t2,0xc4($v1) +.L0f0a6fa4: +/* f0a6fa4: 1481002a */ bne $a0,$at,.L0f0a7050 +/* f0a6fa8: 3c013f80 */ lui $at,0x3f80 +/* f0a6fac: 44811000 */ mtc1 $at,$f2 +/* f0a6fb0: c4640874 */ lwc1 $f4,0x874($v1) +/* f0a6fb4: 24620638 */ addiu $v0,$v1,0x638 +/* f0a6fb8: 4604103c */ c.lt.s $f2,$f4 +/* f0a6fbc: 00000000 */ nop +/* f0a6fc0: 45000023 */ bc1f .L0f0a7050 +/* f0a6fc4: 00000000 */ nop +/* f0a6fc8: c440023c */ lwc1 $f0,0x23c($v0) +/* f0a6fcc: 8c440220 */ lw $a0,0x220($v0) +/* f0a6fd0: 4600018d */ trunc.w.s $f6,$f0 +/* f0a6fd4: 44053000 */ mfc1 $a1,$f6 +/* f0a6fd8: 00000000 */ nop +/* f0a6fdc: 0085082a */ slt $at,$a0,$a1 +/* f0a6fe0: 50200003 */ beqzl $at,.L0f0a6ff0 +/* f0a6fe4: 44855000 */ mtc1 $a1,$f10 +/* f0a6fe8: 00802825 */ or $a1,$a0,$zero +/* f0a6fec: 44855000 */ mtc1 $a1,$f10 +.L0f0a6ff0: +/* f0a6ff0: 00856023 */ subu $t4,$a0,$a1 +/* f0a6ff4: ac4c0220 */ sw $t4,0x220($v0) +/* f0a6ff8: 46805220 */ cvt.s.w $f8,$f10 +/* f0a6ffc: 46080401 */ sub.s $f16,$f0,$f8 +/* f0a7000: e450023c */ swc1 $f16,0x23c($v0) +/* f0a7004: c440023c */ lwc1 $f0,0x23c($v0) +/* f0a7008: 4600103c */ c.lt.s $f2,$f0 +/* f0a700c: 00000000 */ nop +/* f0a7010: 4500000f */ bc1f .L0f0a7050 +/* f0a7014: 00000000 */ nop +/* f0a7018: 806d15e4 */ lb $t5,0x15e4($v1) +/* f0a701c: 4600048d */ trunc.w.s $f18,$f0 +/* f0a7020: 44802000 */ mtc1 $zero,$f4 +/* f0a7024: 000d7880 */ sll $t7,$t5,0x2 +/* f0a7028: 006f3021 */ addu $a2,$v1,$t7 +/* f0a702c: 44059000 */ mfc1 $a1,$f18 +/* f0a7030: 8cc417a8 */ lw $a0,0x17a8($a2) +/* f0a7034: 0085082a */ slt $at,$a0,$a1 +/* f0a7038: 50200003 */ beqzl $at,.L0f0a7048 +/* f0a703c: 0085c023 */ subu $t8,$a0,$a1 +/* f0a7040: 00802825 */ or $a1,$a0,$zero +/* f0a7044: 0085c023 */ subu $t8,$a0,$a1 +.L0f0a7048: +/* f0a7048: acd817a8 */ sw $t8,0x17a8($a2) +/* f0a704c: e444023c */ swc1 $f4,0x23c($v0) +.L0f0a7050: +/* f0a7050: 0fc25f59 */ jal func0f097d64 +/* f0a7054: afa3004c */ sw $v1,0x4c($sp) +/* f0a7058: 0fc29554 */ jal func0f0a5550 +/* f0a705c: 00002025 */ or $a0,$zero,$zero +/* f0a7060: 8fa3004c */ lw $v1,0x4c($sp) +/* f0a7064: 80790de4 */ lb $t9,0xde4($v1) +/* f0a7068: 53200006 */ beqzl $t9,.L0f0a7084 +/* f0a706c: 906814b2 */ lbu $t0,0x14b2($v1) +/* f0a7070: 0fc29554 */ jal func0f0a5550 +/* f0a7074: 24040001 */ addiu $a0,$zero,0x1 +/* f0a7078: 10000004 */ b .L0f0a708c +/* f0a707c: 00000000 */ nop +/* f0a7080: 906814b2 */ lbu $t0,0x14b2($v1) +.L0f0a7084: +/* f0a7084: 3109ff0f */ andi $t1,$t0,0xff0f +/* f0a7088: a06914b2 */ sb $t1,0x14b2($v1) +.L0f0a708c: +/* f0a708c: 0fc2a31f */ jal currentPlayerIsUsingSecondaryFunction +/* f0a7090: 00000000 */ nop +/* f0a7094: 8fbf001c */ lw $ra,0x1c($sp) +/* f0a7098: 8fb00018 */ lw $s0,0x18($sp) +/* f0a709c: 27bd0050 */ addiu $sp,$sp,0x50 +/* f0a70a0: 03e00008 */ jr $ra +/* f0a70a4: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f0a6c30 .late_rodata @@ -23523,6 +28546,7 @@ glabel var7f1aca88 /* f0a70a0: 03e00008 */ jr $ra /* f0a70a4: 00000000 */ nop ); +#endif s8 freeFireslotWrapper(s32 fireslot_id) { @@ -23560,6 +28584,848 @@ glabel func0f0a70f8 /* f0a7134: 00601025 */ or $v0,$v1,$zero ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f0a7138 +.late_rodata +glabel var7f1aca8c +.word 0x3faaaaab +glabel var7f1aca90 +.word 0x3f3ebebf +.text +/* f0a7138: 27bdfeb0 */ addiu $sp,$sp,-336 +/* f0a713c: afbf0034 */ sw $ra,0x34($sp) +/* f0a7140: afb50030 */ sw $s5,0x30($sp) +/* f0a7144: afb4002c */ sw $s4,0x2c($sp) +/* f0a7148: afb30028 */ sw $s3,0x28($sp) +/* f0a714c: afb20024 */ sw $s2,0x24($sp) +/* f0a7150: afb10020 */ sw $s1,0x20($sp) +/* f0a7154: afb0001c */ sw $s0,0x1c($sp) +/* f0a7158: afa40150 */ sw $a0,0x150($sp) +/* f0a715c: 8c8f0000 */ lw $t7,0x0($a0) +/* f0a7160: 3c198007 */ lui $t9,%hi(var8007029c) +/* f0a7164: 3c11800a */ lui $s1,%hi(g_Vars) +/* f0a7168: 2739029c */ addiu $t9,$t9,%lo(var8007029c) +/* f0a716c: 26319fc0 */ addiu $s1,$s1,%lo(g_Vars) +/* f0a7170: 272a003c */ addiu $t2,$t9,0x3c +/* f0a7174: 27b8010c */ addiu $t8,$sp,0x10c +/* f0a7178: afaf014c */ sw $t7,0x14c($sp) +.L0f0a717c: +/* f0a717c: 8f210000 */ lw $at,0x0($t9) +/* f0a7180: 2739000c */ addiu $t9,$t9,0xc +/* f0a7184: 2718000c */ addiu $t8,$t8,0xc +/* f0a7188: af01fff4 */ sw $at,-0xc($t8) +/* f0a718c: 8f21fff8 */ lw $at,-0x8($t9) +/* f0a7190: af01fff8 */ sw $at,-0x8($t8) +/* f0a7194: 8f21fffc */ lw $at,-0x4($t9) +/* f0a7198: 172afff8 */ bne $t9,$t2,.L0f0a717c +/* f0a719c: af01fffc */ sw $at,-0x4($t8) +/* f0a71a0: 8f210000 */ lw $at,0x0($t9) +/* f0a71a4: af010000 */ sw $at,0x0($t8) +/* f0a71a8: 8e330284 */ lw $s3,0x284($s1) +/* f0a71ac: 24010001 */ addiu $at,$zero,0x1 +/* f0a71b0: 966b0010 */ lhu $t3,0x10($s3) +/* f0a71b4: 1561000d */ bne $t3,$at,.L0f0a71ec +/* f0a71b8: 00001025 */ or $v0,$zero,$zero +/* f0a71bc: 24040f48 */ addiu $a0,$zero,0xf48 +/* f0a71c0: 8e2c0284 */ lw $t4,0x284($s1) +.L0f0a71c4: +/* f0a71c4: 01821821 */ addu $v1,$t4,$v0 +/* f0a71c8: 8c6d0854 */ lw $t5,0x854($v1) +/* f0a71cc: 244207a4 */ addiu $v0,$v0,0x7a4 +/* f0a71d0: 11a00002 */ beqz $t5,.L0f0a71dc +/* f0a71d4: 00000000 */ nop +/* f0a71d8: ac600850 */ sw $zero,0x850($v1) +.L0f0a71dc: +/* f0a71dc: 5444fff9 */ bnel $v0,$a0,.L0f0a71c4 +/* f0a71e0: 8e2c0284 */ lw $t4,0x284($s1) +/* f0a71e4: 100002d5 */ b .L0f0a7d3c +/* f0a71e8: 8fbf0034 */ lw $ra,0x34($sp) +.L0f0a71ec: +/* f0a71ec: 0fc5d9ad */ jal func0f1766b4 +/* f0a71f0: 8fa4014c */ lw $a0,0x14c($sp) +/* f0a71f4: afa2014c */ sw $v0,0x14c($sp) +/* f0a71f8: 0c002ca0 */ jal func0000b280 +/* f0a71fc: 00402025 */ or $a0,$v0,$zero +/* f0a7200: afa2014c */ sw $v0,0x14c($sp) +/* f0a7204: 0c002c74 */ jal func0000b1d0 +/* f0a7208: 00402025 */ or $a0,$v0,$zero +/* f0a720c: 244e0008 */ addiu $t6,$v0,0x8 +/* f0a7210: afae014c */ sw $t6,0x14c($sp) +/* f0a7214: 0c002f40 */ jal viGetViewLeft +/* f0a7218: 0040a825 */ or $s5,$v0,$zero +/* f0a721c: 00028400 */ sll $s0,$v0,0x10 +/* f0a7220: 00107c03 */ sra $t7,$s0,0x10 +/* f0a7224: 0c002f44 */ jal viGetViewTop +/* f0a7228: 01e08025 */ or $s0,$t7,$zero +/* f0a722c: 44822000 */ mtc1 $v0,$f4 +/* f0a7230: 44908000 */ mtc1 $s0,$f16 +/* f0a7234: 3c014080 */ lui $at,0x4080 +/* f0a7238: 468021a0 */ cvt.s.w $f6,$f4 +/* f0a723c: 44810000 */ mtc1 $at,$f0 +/* f0a7240: 3c01ed00 */ lui $at,0xed00 +/* f0a7244: 468084a0 */ cvt.s.w $f18,$f16 +/* f0a7248: 46003202 */ mul.s $f8,$f6,$f0 +/* f0a724c: 00000000 */ nop +/* f0a7250: 46009102 */ mul.s $f4,$f18,$f0 +/* f0a7254: 4600428d */ trunc.w.s $f10,$f8 +/* f0a7258: 4600218d */ trunc.w.s $f6,$f4 +/* f0a725c: 44085000 */ mfc1 $t0,$f10 +/* f0a7260: 440b3000 */ mfc1 $t3,$f6 +/* f0a7264: 310a0fff */ andi $t2,$t0,0xfff +/* f0a7268: 0141c825 */ or $t9,$t2,$at +/* f0a726c: 316c0fff */ andi $t4,$t3,0xfff +/* f0a7270: 000c6b00 */ sll $t5,$t4,0xc +/* f0a7274: 032d7025 */ or $t6,$t9,$t5 +/* f0a7278: 0c002f22 */ jal viGetViewWidth +/* f0a727c: aeae0000 */ sw $t6,0x0($s5) +/* f0a7280: 00029400 */ sll $s2,$v0,0x10 +/* f0a7284: 00127c03 */ sra $t7,$s2,0x10 +/* f0a7288: 0c002f40 */ jal viGetViewLeft +/* f0a728c: 01e09025 */ or $s2,$t7,$zero +/* f0a7290: 0002a400 */ sll $s4,$v0,0x10 +/* f0a7294: 00144c03 */ sra $t1,$s4,0x10 +/* f0a7298: 0c002f44 */ jal viGetViewTop +/* f0a729c: 0120a025 */ or $s4,$t1,$zero +/* f0a72a0: 00028400 */ sll $s0,$v0,0x10 +/* f0a72a4: 00104403 */ sra $t0,$s0,0x10 +/* f0a72a8: 0c002f26 */ jal viGetViewHeight +/* f0a72ac: 01008025 */ or $s0,$t0,$zero +/* f0a72b0: 00505021 */ addu $t2,$v0,$s0 +/* f0a72b4: 448a4000 */ mtc1 $t2,$f8 +/* f0a72b8: 0292c821 */ addu $t9,$s4,$s2 +/* f0a72bc: 44992000 */ mtc1 $t9,$f4 +/* f0a72c0: 468042a0 */ cvt.s.w $f10,$f8 +/* f0a72c4: 3c014080 */ lui $at,0x4080 +/* f0a72c8: 44810000 */ mtc1 $at,$f0 +/* f0a72cc: 3c053fc0 */ lui $a1,0x3fc0 +/* f0a72d0: 3c06447a */ lui $a2,0x447a +/* f0a72d4: 468021a0 */ cvt.s.w $f6,$f4 +/* f0a72d8: 46005402 */ mul.s $f16,$f10,$f0 +/* f0a72dc: 00000000 */ nop +/* f0a72e0: 46003202 */ mul.s $f8,$f6,$f0 +/* f0a72e4: 4600848d */ trunc.w.s $f18,$f16 +/* f0a72e8: 4600428d */ trunc.w.s $f10,$f8 +/* f0a72ec: 440b9000 */ mfc1 $t3,$f18 +/* f0a72f0: 440e5000 */ mfc1 $t6,$f10 +/* f0a72f4: 316c0fff */ andi $t4,$t3,0xfff +/* f0a72f8: 31cf0fff */ andi $t7,$t6,0xfff +/* f0a72fc: 000f4b00 */ sll $t1,$t7,0xc +/* f0a7300: 01894025 */ or $t0,$t4,$t1 +/* f0a7304: aea80004 */ sw $t0,0x4($s5) +/* f0a7308: 0c002b29 */ jal func0000aca4 +/* f0a730c: 8fa4014c */ lw $a0,0x14c($sp) +/* f0a7310: 8e2a0284 */ lw $t2,0x284($s1) +/* f0a7314: afa2014c */ sw $v0,0x14c($sp) +/* f0a7318: 91581bfc */ lbu $t8,0x1bfc($t2) +/* f0a731c: 53000016 */ beqzl $t8,.L0f0a7378 +/* f0a7320: 8e2b006c */ lw $t3,0x6c($s1) +/* f0a7324: 0fc54bc7 */ jal optionsGetScreenRatio +/* f0a7328: 00000000 */ nop +/* f0a732c: 24010001 */ addiu $at,$zero,0x1 +/* f0a7330: 14410008 */ bne $v0,$at,.L0f0a7354 +/* f0a7334: 00000000 */ nop +/* f0a7338: 0fc2f4d6 */ jal func0f0bd358 +/* f0a733c: 00000000 */ nop +/* f0a7340: 3c017f1b */ lui $at,%hi(var7f1aca8c) +/* f0a7344: c430ca8c */ lwc1 $f16,%lo(var7f1aca8c)($at) +/* f0a7348: 46100082 */ mul.s $f2,$f0,$f16 +/* f0a734c: 10000005 */ b .L0f0a7364 +/* f0a7350: 44061000 */ mfc1 $a2,$f2 +.L0f0a7354: +/* f0a7354: 0fc2f4d6 */ jal func0f0bd358 +/* f0a7358: 00000000 */ nop +/* f0a735c: 46000086 */ mov.s $f2,$f0 +/* f0a7360: 44061000 */ mfc1 $a2,$f2 +.L0f0a7364: +/* f0a7364: 8fa4014c */ lw $a0,0x14c($sp) +/* f0a7368: 0c002c3a */ jal func0000b0e8 +/* f0a736c: 3c054270 */ lui $a1,0x4270 +/* f0a7370: afa2014c */ sw $v0,0x14c($sp) +/* f0a7374: 8e2b006c */ lw $t3,0x6c($s1) +.L0f0a7378: +/* f0a7378: 24010001 */ addiu $at,$zero,0x1 +/* f0a737c: 51600004 */ beqzl $t3,.L0f0a7390 +/* f0a7380: 00002825 */ or $a1,$zero,$zero +/* f0a7384: 10000002 */ b .L0f0a7390 +/* f0a7388: 24050001 */ addiu $a1,$zero,0x1 +/* f0a738c: 00002825 */ or $a1,$zero,$zero +.L0f0a7390: +/* f0a7390: 8e390068 */ lw $t9,0x68($s1) +/* f0a7394: 53200004 */ beqzl $t9,.L0f0a73a8 +/* f0a7398: 00002025 */ or $a0,$zero,$zero +/* f0a739c: 10000002 */ b .L0f0a73a8 +/* f0a73a0: 24040001 */ addiu $a0,$zero,0x1 +/* f0a73a4: 00002025 */ or $a0,$zero,$zero +.L0f0a73a8: +/* f0a73a8: 8e2d0064 */ lw $t5,0x64($s1) +/* f0a73ac: 51a00004 */ beqzl $t5,.L0f0a73c0 +/* f0a73b0: 00001025 */ or $v0,$zero,$zero +/* f0a73b4: 10000002 */ b .L0f0a73c0 +/* f0a73b8: 24020001 */ addiu $v0,$zero,0x1 +/* f0a73bc: 00001025 */ or $v0,$zero,$zero +.L0f0a73c0: +/* f0a73c0: 8e2e0070 */ lw $t6,0x70($s1) +/* f0a73c4: 51c00004 */ beqzl $t6,.L0f0a73d8 +/* f0a73c8: 00001825 */ or $v1,$zero,$zero +/* f0a73cc: 10000002 */ b .L0f0a73d8 +/* f0a73d0: 24030001 */ addiu $v1,$zero,0x1 +/* f0a73d4: 00001825 */ or $v1,$zero,$zero +.L0f0a73d8: +/* f0a73d8: 00627821 */ addu $t7,$v1,$v0 +/* f0a73dc: 01e46021 */ addu $t4,$t7,$a0 +/* f0a73e0: 01854821 */ addu $t1,$t4,$a1 +/* f0a73e4: 15210008 */ bne $t1,$at,.L0f0a7408 +/* f0a73e8: 3c088009 */ lui $t0,%hi(g_Is4Mb) +/* f0a73ec: 91080af0 */ lbu $t0,%lo(g_Is4Mb)($t0) +/* f0a73f0: 24010001 */ addiu $at,$zero,0x1 +/* f0a73f4: 51010005 */ beql $t0,$at,.L0f0a740c +/* f0a73f8: 0000a025 */ or $s4,$zero,$zero +/* f0a73fc: 0fc2be93 */ jal lasersightRenderBeam +/* f0a7400: 8fa4014c */ lw $a0,0x14c($sp) +/* f0a7404: afa2014c */ sw $v0,0x14c($sp) +.L0f0a7408: +/* f0a7408: 0000a025 */ or $s4,$zero,$zero +.L0f0a740c: +/* f0a740c: 26700638 */ addiu $s0,$s3,0x638 +/* f0a7410: 8fb500e4 */ lw $s5,0xe4($sp) +/* f0a7414: 24120019 */ addiu $s2,$zero,0x1e +.L0f0a7418: +/* f0a7418: 0fc2867c */ jal getCurrentPlayerWeaponIdWrapper +/* f0a741c: 02802025 */ or $a0,$s4,$zero +/* f0a7420: afa200ec */ sw $v0,0xec($sp) +/* f0a7424: 820a0007 */ lb $t2,0x7($s0) +/* f0a7428: 8fa4014c */ lw $a0,0x14c($sp) +/* f0a742c: 260501dc */ addiu $a1,$s0,0x1dc +/* f0a7430: 114001f2 */ beqz $t2,.L0f0a7bfc +/* f0a7434: 00003025 */ or $a2,$zero,$zero +/* f0a7438: 26180384 */ addiu $t8,$s0,0x384 +/* f0a743c: afb8003c */ sw $t8,0x3c($sp) +/* f0a7440: 0fc2b2e4 */ jal func0f0acb90 +/* f0a7444: 00003825 */ or $a3,$zero,$zero +/* f0a7448: afa2014c */ sw $v0,0x14c($sp) +/* f0a744c: 92040000 */ lbu $a0,0x0($s0) +/* f0a7450: 0fc2c5f0 */ jal weaponHasFlag +/* f0a7454: 34058000 */ dli $a1,0x8000 +/* f0a7458: 10400030 */ beqz $v0,.L0f0a751c +/* f0a745c: 8fab014c */ lw $t3,0x14c($sp) +/* f0a7460: 25790008 */ addiu $t9,$t3,0x8 +/* f0a7464: afb9014c */ sw $t9,0x14c($sp) +/* f0a7468: 3c0dbc00 */ lui $t5,0xbc00 +/* f0a746c: 3c0e8000 */ lui $t6,0x8000 +/* f0a7470: 35ce0040 */ ori $t6,$t6,0x40 +/* f0a7474: 35ad0002 */ ori $t5,$t5,0x2 +/* f0a7478: ad6d0000 */ sw $t5,0x0($t3) +/* f0a747c: ad6e0004 */ sw $t6,0x4($t3) +/* f0a7480: 8faf014c */ lw $t7,0x14c($sp) +/* f0a7484: 3c090386 */ lui $t1,0x386 +/* f0a7488: 3c088007 */ lui $t0,%hi(var80070098) +/* f0a748c: 25ec0008 */ addiu $t4,$t7,0x8 +/* f0a7490: afac014c */ sw $t4,0x14c($sp) +/* f0a7494: 25080098 */ addiu $t0,$t0,%lo(var80070098) +/* f0a7498: 35290010 */ ori $t1,$t1,0x10 +/* f0a749c: ade90000 */ sw $t1,0x0($t7) +/* f0a74a0: ade80004 */ sw $t0,0x4($t7) +/* f0a74a4: 8faa014c */ lw $t2,0x14c($sp) +/* f0a74a8: 3c0b0388 */ lui $t3,0x388 +/* f0a74ac: 3c198007 */ lui $t9,%hi(var80070090) +/* f0a74b0: 25580008 */ addiu $t8,$t2,0x8 +/* f0a74b4: afb8014c */ sw $t8,0x14c($sp) +/* f0a74b8: 27390090 */ addiu $t9,$t9,%lo(var80070090) +/* f0a74bc: 356b0010 */ ori $t3,$t3,0x10 +/* f0a74c0: ad4b0000 */ sw $t3,0x0($t2) +/* f0a74c4: ad590004 */ sw $t9,0x4($t2) +/* f0a74c8: 8fad014c */ lw $t5,0x14c($sp) +/* f0a74cc: 3c0f0384 */ lui $t7,0x384 +/* f0a74d0: 35ef0010 */ ori $t7,$t7,0x10 +/* f0a74d4: 25ae0008 */ addiu $t6,$t5,0x8 +/* f0a74d8: afae014c */ sw $t6,0x14c($sp) +/* f0a74dc: adaf0000 */ sw $t7,0x0($t5) +/* f0a74e0: 0fc2d5ea */ jal currentPlayerGetUnk175c +/* f0a74e4: afad00d4 */ sw $t5,0xd4($sp) +/* f0a74e8: 8fa500d4 */ lw $a1,0xd4($sp) +/* f0a74ec: 3c080382 */ lui $t0,0x382 +/* f0a74f0: 35080010 */ ori $t0,$t0,0x10 +/* f0a74f4: aca20004 */ sw $v0,0x4($a1) +/* f0a74f8: 8fac014c */ lw $t4,0x14c($sp) +/* f0a74fc: 25890008 */ addiu $t1,$t4,0x8 +/* f0a7500: afa9014c */ sw $t1,0x14c($sp) +/* f0a7504: ad880000 */ sw $t0,0x0($t4) +/* f0a7508: 0fc2d5ea */ jal currentPlayerGetUnk175c +/* f0a750c: afac00d0 */ sw $t4,0xd0($sp) +/* f0a7510: 8fa300d0 */ lw $v1,0xd0($sp) +/* f0a7514: 244a0010 */ addiu $t2,$v0,0x10 +/* f0a7518: ac6a0004 */ sw $t2,0x4($v1) +.L0f0a751c: +/* f0a751c: 8fb8014c */ lw $t8,0x14c($sp) +/* f0a7520: 3c19bc00 */ lui $t9,0xbc00 +/* f0a7524: 3739000e */ ori $t9,$t9,0xe +/* f0a7528: 270b0008 */ addiu $t3,$t8,0x8 +/* f0a752c: afab014c */ sw $t3,0x14c($sp) +/* f0a7530: 3c014396 */ lui $at,0x4396 +/* f0a7534: 44817000 */ mtc1 $at,$f14 +/* f0a7538: 44806000 */ mtc1 $zero,$f12 +/* f0a753c: af190000 */ sw $t9,0x0($t8) +/* f0a7540: 0c005b73 */ jal func00016dcc +/* f0a7544: afb800cc */ sw $t8,0xcc($sp) +/* f0a7548: 8fa300cc */ lw $v1,0xcc($sp) +/* f0a754c: 24050010 */ addiu $a1,$zero,0x10 +/* f0a7550: ac620004 */ sw $v0,0x4($v1) +/* f0a7554: 0c006a47 */ jal modelGetPart +/* f0a7558: 8e04038c */ lw $a0,0x38c($s0) +/* f0a755c: 10400014 */ beqz $v0,.L0f0a75b0 +/* f0a7560: afa200e8 */ sw $v0,0xe8($sp) +/* f0a7564: 8e04038c */ lw $a0,0x38c($s0) +/* f0a7568: 0c006a47 */ jal modelGetPart +/* f0a756c: 24050011 */ addiu $a1,$zero,0x11 +/* f0a7570: 8fa4003c */ lw $a0,0x3c($sp) +/* f0a7574: 0c006a87 */ jal modelGetNodeData +/* f0a7578: 00402825 */ or $a1,$v0,$zero +/* f0a757c: 10400003 */ beqz $v0,.L0f0a758c +/* f0a7580: 3c06800a */ lui $a2,%hi(var8009cf88) +/* f0a7584: 240d0001 */ addiu $t5,$zero,0x1 +/* f0a7588: ac4d0000 */ sw $t5,0x0($v0) +.L0f0a758c: +/* f0a758c: 240e0001 */ addiu $t6,$zero,0x1 +/* f0a7590: afae0014 */ sw $t6,0x14($sp) +/* f0a7594: 8fa4003c */ lw $a0,0x3c($sp) +/* f0a7598: 8fa500e8 */ lw $a1,0xe8($sp) +/* f0a759c: 24c6cf88 */ addiu $a2,$a2,%lo(var8009cf88) +/* f0a75a0: 8fa7014c */ lw $a3,0x14c($sp) +/* f0a75a4: 0fc1fefe */ jal func0f07fbf8 +/* f0a75a8: afa00010 */ sw $zero,0x10($sp) +/* f0a75ac: afa2014c */ sw $v0,0x14c($sp) +.L0f0a75b0: +/* f0a75b0: 8faf014c */ lw $t7,0x14c($sp) +/* f0a75b4: 8e250284 */ lw $a1,0x284($s1) +/* f0a75b8: 240c0004 */ addiu $t4,$zero,0x4 +/* f0a75bc: afac013c */ sw $t4,0x13c($sp) +/* f0a75c0: afaf0118 */ sw $t7,0x118($sp) +/* f0a75c4: 8ca300d8 */ lw $v1,0xd8($a1) +/* f0a75c8: 3c078007 */ lui $a3,%hi(g_InCutscene) +/* f0a75cc: 14600013 */ bnez $v1,.L0f0a761c +/* f0a75d0: 00000000 */ nop +/* f0a75d4: 8ce70764 */ lw $a3,%lo(g_InCutscene)($a3) +/* f0a75d8: 14e00010 */ bnez $a3,.L0f0a761c +/* f0a75dc: 00000000 */ nop +/* f0a75e0: 8ca20480 */ lw $v0,0x480($a1) +/* f0a75e4: 50400007 */ beqzl $v0,.L0f0a7604 +/* f0a75e8: 8caa1c54 */ lw $t2,0x1c54($a1) +/* f0a75ec: 1040000b */ beqz $v0,.L0f0a761c +/* f0a75f0: 00000000 */ nop +/* f0a75f4: 80490037 */ lb $t1,0x37($v0) +/* f0a75f8: 15200008 */ bnez $t1,.L0f0a761c +/* f0a75fc: 00000000 */ nop +/* f0a7600: 8caa1c54 */ lw $t2,0x1c54($a1) +.L0f0a7604: +/* f0a7604: 8ca800c4 */ lw $t0,0xc4($a1) +/* f0a7608: 0140c027 */ nor $t8,$t2,$zero +/* f0a760c: 01185824 */ and $t3,$t0,$t8 +/* f0a7610: 31790001 */ andi $t9,$t3,0x1 +/* f0a7614: 57200016 */ bnezl $t9,.L0f0a7670 +/* f0a7618: 92681615 */ lbu $t0,0x1615($s3) +.L0f0a761c: +/* f0a761c: 14600078 */ bnez $v1,.L0f0a7800 +/* f0a7620: 3c078007 */ lui $a3,%hi(g_InCutscene) +/* f0a7624: 8ce70764 */ lw $a3,%lo(g_InCutscene)($a3) +/* f0a7628: 54e00076 */ bnezl $a3,.L0f0a7804 +/* f0a762c: 926d1614 */ lbu $t5,0x1614($s3) +/* f0a7630: 8ca20480 */ lw $v0,0x480($a1) +/* f0a7634: 50400007 */ beqzl $v0,.L0f0a7654 +/* f0a7638: 8caf1c54 */ lw $t7,0x1c54($a1) +/* f0a763c: 50400071 */ beqzl $v0,.L0f0a7804 +/* f0a7640: 926d1614 */ lbu $t5,0x1614($s3) +/* f0a7644: 804d0037 */ lb $t5,0x37($v0) +/* f0a7648: 55a0006e */ bnezl $t5,.L0f0a7804 +/* f0a764c: 926d1614 */ lbu $t5,0x1614($s3) +/* f0a7650: 8caf1c54 */ lw $t7,0x1c54($a1) +.L0f0a7654: +/* f0a7654: 8cae00c4 */ lw $t6,0xc4($a1) +/* f0a7658: 01e06027 */ nor $t4,$t7,$zero +/* f0a765c: 01cc4824 */ and $t1,$t6,$t4 +/* f0a7660: 312a0008 */ andi $t2,$t1,0x8 +/* f0a7664: 51400067 */ beqzl $t2,.L0f0a7804 +/* f0a7668: 926d1614 */ lbu $t5,0x1614($s3) +/* f0a766c: 92681615 */ lbu $t0,0x1615($s3) +.L0f0a7670: +/* f0a7670: 92781614 */ lbu $t8,0x1614($s3) +/* f0a7674: 26641614 */ addiu $a0,$s3,0x1614 +/* f0a7678: 0118082a */ slt $at,$t0,$t8 +/* f0a767c: 50200009 */ beqzl $at,.L0f0a76a4 +/* f0a7680: 90820002 */ lbu $v0,0x2($a0) +/* f0a7684: 90830000 */ lbu $v1,0x0($a0) +/* f0a7688: 908b0002 */ lbu $t3,0x2($a0) +/* f0a768c: 0163082a */ slt $at,$t3,$v1 +/* f0a7690: 50200004 */ beqzl $at,.L0f0a76a4 +/* f0a7694: 90820002 */ lbu $v0,0x2($a0) +/* f0a7698: 1000000a */ b .L0f0a76c4 +/* f0a769c: 00601025 */ or $v0,$v1,$zero +/* f0a76a0: 90820002 */ lbu $v0,0x2($a0) +.L0f0a76a4: +/* f0a76a4: 90860001 */ lbu $a2,0x1($a0) +/* f0a76a8: 00401825 */ or $v1,$v0,$zero +/* f0a76ac: 0046082a */ slt $at,$v0,$a2 +/* f0a76b0: 10200003 */ beqz $at,.L0f0a76c0 +/* f0a76b4: 00000000 */ nop +/* f0a76b8: 10000001 */ b .L0f0a76c0 +/* f0a76bc: 00c01825 */ or $v1,$a2,$zero +.L0f0a76c0: +/* f0a76c0: 00601025 */ or $v0,$v1,$zero +.L0f0a76c4: +/* f0a76c4: 90890003 */ lbu $t1,0x3($a0) +/* f0a76c8: 0002ce00 */ sll $t9,$v0,0x18 +/* f0a76cc: 00026c00 */ sll $t5,$v0,0x10 +/* f0a76d0: 032d7825 */ or $t7,$t9,$t5 +/* f0a76d4: 00027200 */ sll $t6,$v0,0x8 +/* f0a76d8: 01ee6025 */ or $t4,$t7,$t6 +/* f0a76dc: 012c5021 */ addu $t2,$t1,$t4 +/* f0a76e0: afaa0140 */ sw $t2,0x140($sp) +/* f0a76e4: 8ca300d8 */ lw $v1,0xd8($a1) +/* f0a76e8: 14600021 */ bnez $v1,.L0f0a7770 +/* f0a76ec: 00000000 */ nop +/* f0a76f0: 14e0001f */ bnez $a3,.L0f0a7770 +/* f0a76f4: 00000000 */ nop +/* f0a76f8: 8ca20480 */ lw $v0,0x480($a1) +/* f0a76fc: 50400007 */ beqzl $v0,.L0f0a771c +/* f0a7700: 8cab1c54 */ lw $t3,0x1c54($a1) +/* f0a7704: 1040001a */ beqz $v0,.L0f0a7770 +/* f0a7708: 00000000 */ nop +/* f0a770c: 80480037 */ lb $t0,0x37($v0) +/* f0a7710: 15000017 */ bnez $t0,.L0f0a7770 +/* f0a7714: 00000000 */ nop +/* f0a7718: 8cab1c54 */ lw $t3,0x1c54($a1) +.L0f0a771c: +/* f0a771c: 8cb800c4 */ lw $t8,0xc4($a1) +/* f0a7720: 3c02800a */ lui $v0,%hi(var8009caec+0x3) +/* f0a7724: 0160c827 */ nor $t9,$t3,$zero +/* f0a7728: 03196824 */ and $t5,$t8,$t9 +/* f0a772c: 31af0001 */ andi $t7,$t5,0x1 +/* f0a7730: 11e0000f */ beqz $t7,.L0f0a7770 +/* f0a7734: 00000000 */ nop +/* f0a7738: 9042caef */ lbu $v0,%lo(var8009caec+0x3)($v0) +/* f0a773c: 3c06800a */ lui $a2,%hi(var8009caf0) +/* f0a7740: 90c6caf0 */ lbu $a2,%lo(var8009caf0)($a2) +/* f0a7744: 00027600 */ sll $t6,$v0,0x18 +/* f0a7748: 00024c00 */ sll $t1,$v0,0x10 +/* f0a774c: 01c96025 */ or $t4,$t6,$t1 +/* f0a7750: 00025200 */ sll $t2,$v0,0x8 +/* f0a7754: 018a4025 */ or $t0,$t4,$t2 +/* f0a7758: afa200b0 */ sw $v0,0xb0($sp) +/* f0a775c: afa200b4 */ sw $v0,0xb4($sp) +/* f0a7760: afa200b8 */ sw $v0,0xb8($sp) +/* f0a7764: 00c8a821 */ addu $s5,$a2,$t0 +/* f0a7768: 1000001f */ b .L0f0a77e8 +/* f0a776c: afa600bc */ sw $a2,0xbc($sp) +.L0f0a7770: +/* f0a7770: 5460001e */ bnezl $v1,.L0f0a77ec +/* f0a7774: 8fb900ec */ lw $t9,0xec($sp) +/* f0a7778: 54e0001c */ bnezl $a3,.L0f0a77ec +/* f0a777c: 8fb900ec */ lw $t9,0xec($sp) +/* f0a7780: 8ca20480 */ lw $v0,0x480($a1) +/* f0a7784: 50400007 */ beqzl $v0,.L0f0a77a4 +/* f0a7788: 8cb91c54 */ lw $t9,0x1c54($a1) +/* f0a778c: 50400017 */ beqzl $v0,.L0f0a77ec +/* f0a7790: 8fb900ec */ lw $t9,0xec($sp) +/* f0a7794: 804b0037 */ lb $t3,0x37($v0) +/* f0a7798: 55600014 */ bnezl $t3,.L0f0a77ec +/* f0a779c: 8fb900ec */ lw $t9,0xec($sp) +/* f0a77a0: 8cb91c54 */ lw $t9,0x1c54($a1) +.L0f0a77a4: +/* f0a77a4: 8cb800c4 */ lw $t8,0xc4($a1) +/* f0a77a8: 240200ff */ addiu $v0,$zero,0xff +/* f0a77ac: 03206827 */ nor $t5,$t9,$zero +/* f0a77b0: 030d7824 */ and $t7,$t8,$t5 +/* f0a77b4: 31ee0008 */ andi $t6,$t7,0x8 +/* f0a77b8: 11c0000b */ beqz $t6,.L0f0a77e8 +/* f0a77bc: 24050080 */ addiu $a1,$zero,0x80 +/* f0a77c0: 00024e00 */ sll $t1,$v0,0x18 +/* f0a77c4: 00006400 */ sll $t4,$zero,0x10 +/* f0a77c8: 012c5025 */ or $t2,$t1,$t4 +/* f0a77cc: 00004200 */ sll $t0,$zero,0x8 +/* f0a77d0: 01485825 */ or $t3,$t2,$t0 +/* f0a77d4: 00aba821 */ addu $s5,$a1,$t3 +/* f0a77d8: afa200a0 */ sw $v0,0xa0($sp) +/* f0a77dc: afa000a4 */ sw $zero,0xa4($sp) +/* f0a77e0: afa000a8 */ sw $zero,0xa8($sp) +/* f0a77e4: afa500ac */ sw $a1,0xac($sp) +.L0f0a77e8: +/* f0a77e8: 8fb900ec */ lw $t9,0xec($sp) +.L0f0a77ec: +/* f0a77ec: 24010001 */ addiu $at,$zero,0x1 +/* f0a77f0: 5721003d */ bnel $t9,$at,.L0f0a78e8 +/* f0a77f4: 8e6f00bc */ lw $t7,0xbc($s3) +/* f0a77f8: 1000003a */ b .L0f0a78e4 +/* f0a77fc: afb50140 */ sw $s5,0x140($sp) +.L0f0a7800: +/* f0a7800: 926d1614 */ lbu $t5,0x1614($s3) +.L0f0a7804: +/* f0a7804: 92781617 */ lbu $t8,0x1617($s3) +/* f0a7808: 92691615 */ lbu $t1,0x1615($s3) +/* f0a780c: 92681616 */ lbu $t0,0x1616($s3) +/* f0a7810: 000d7e00 */ sll $t7,$t5,0x18 +/* f0a7814: 030f7025 */ or $t6,$t8,$t7 +/* f0a7818: 00096400 */ sll $t4,$t1,0x10 +/* f0a781c: 01cc5025 */ or $t2,$t6,$t4 +/* f0a7820: 00085a00 */ sll $t3,$t0,0x8 +/* f0a7824: 014bc825 */ or $t9,$t2,$t3 +/* f0a7828: afb90140 */ sw $t9,0x140($sp) +/* f0a782c: 920d0000 */ lbu $t5,0x0($s0) +/* f0a7830: 24010006 */ addiu $at,$zero,0x6 +/* f0a7834: 0320a825 */ or $s5,$t9,$zero +/* f0a7838: 15a1002a */ bne $t5,$at,.L0f0a78e4 +/* f0a783c: 3c04ff00 */ lui $a0,0xff00 +/* f0a7840: 3c014248 */ lui $at,0x4248 +/* f0a7844: 44812000 */ mtc1 $at,$f4 +/* f0a7848: c612023c */ lwc1 $f18,0x23c($s0) +/* f0a784c: 24060001 */ addiu $a2,$zero,0x1 +/* f0a7850: 3c014f00 */ lui $at,0x4f00 +/* f0a7854: 46049182 */ mul.s $f6,$f18,$f4 +/* f0a7858: 3484007f */ ori $a0,$a0,0x7f +/* f0a785c: 4458f800 */ cfc1 $t8,$31 +/* f0a7860: 44c6f800 */ ctc1 $a2,$31 +/* f0a7864: 00000000 */ nop +/* f0a7868: 46003224 */ cvt.w.s $f8,$f6 +/* f0a786c: 4446f800 */ cfc1 $a2,$31 +/* f0a7870: 00000000 */ nop +/* f0a7874: 30c60078 */ andi $a2,$a2,0x78 +/* f0a7878: 50c00013 */ beqzl $a2,.L0f0a78c8 +/* f0a787c: 44064000 */ mfc1 $a2,$f8 +/* f0a7880: 44814000 */ mtc1 $at,$f8 +/* f0a7884: 24060001 */ addiu $a2,$zero,0x1 +/* f0a7888: 46083201 */ sub.s $f8,$f6,$f8 +/* f0a788c: 44c6f800 */ ctc1 $a2,$31 +/* f0a7890: 00000000 */ nop +/* f0a7894: 46004224 */ cvt.w.s $f8,$f8 +/* f0a7898: 4446f800 */ cfc1 $a2,$31 +/* f0a789c: 00000000 */ nop +/* f0a78a0: 30c60078 */ andi $a2,$a2,0x78 +/* f0a78a4: 14c00005 */ bnez $a2,.L0f0a78bc +/* f0a78a8: 00000000 */ nop +/* f0a78ac: 44064000 */ mfc1 $a2,$f8 +/* f0a78b0: 3c018000 */ lui $at,0x8000 +/* f0a78b4: 10000007 */ b .L0f0a78d4 +/* f0a78b8: 00c13025 */ or $a2,$a2,$at +.L0f0a78bc: +/* f0a78bc: 10000005 */ b .L0f0a78d4 +/* f0a78c0: 2406ffff */ addiu $a2,$zero,-1 +/* f0a78c4: 44064000 */ mfc1 $a2,$f8 +.L0f0a78c8: +/* f0a78c8: 00000000 */ nop +/* f0a78cc: 04c0fffb */ bltz $a2,.L0f0a78bc +/* f0a78d0: 00000000 */ nop +.L0f0a78d4: +/* f0a78d4: 44d8f800 */ ctc1 $t8,$31 +/* f0a78d8: 0fc01a40 */ jal colourBlend +/* f0a78dc: 03202825 */ or $a1,$t9,$zero +/* f0a78e0: afa20140 */ sw $v0,0x140($sp) +.L0f0a78e4: +/* f0a78e4: 8e6f00bc */ lw $t7,0xbc($s3) +.L0f0a78e8: +/* f0a78e8: 0fc08af9 */ jal func0f022be4 +/* f0a78ec: 8de40004 */ lw $a0,0x4($t7) +/* f0a78f0: 284100ff */ slti $at,$v0,0xff +/* f0a78f4: 1020000f */ beqz $at,.L0f0a7934 +/* f0a78f8: 240c0001 */ addiu $t4,$zero,0x1 +/* f0a78fc: 44825000 */ mtc1 $v0,$f10 +/* f0a7900: 3c017f1b */ lui $at,%hi(var7f1aca90) +/* f0a7904: c432ca90 */ lwc1 $f18,%lo(var7f1aca90)($at) +/* f0a7908: 46805420 */ cvt.s.w $f16,$f10 +/* f0a790c: 8fa40140 */ lw $a0,0x140($sp) +/* f0a7910: 240e0005 */ addiu $t6,$zero,0x5 +/* f0a7914: afae013c */ sw $t6,0x13c($sp) +/* f0a7918: afa40144 */ sw $a0,0x144($sp) +/* f0a791c: 46128102 */ mul.s $f4,$f16,$f18 +/* f0a7920: 4600218d */ trunc.w.s $f6,$f4 +/* f0a7924: 44033000 */ mfc1 $v1,$f6 +/* f0a7928: 00000000 */ nop +/* f0a792c: 24750041 */ addiu $s5,$v1,0x41 +/* f0a7930: afb50140 */ sw $s5,0x140($sp) +.L0f0a7934: +/* f0a7934: 0c0059d8 */ jal func00016760 +/* f0a7938: afac0110 */ sw $t4,0x110($sp) +/* f0a793c: 8e020218 */ lw $v0,0x218($s0) +/* f0a7940: 50400017 */ beqzl $v0,.L0f0a79a0 +/* f0a7944: 8fa400ec */ lw $a0,0xec($sp) +/* f0a7948: 8c460018 */ lw $a2,0x18($v0) +/* f0a794c: afa00094 */ sw $zero,0x94($sp) +/* f0a7950: 50c00013 */ beqzl $a2,.L0f0a79a0 +/* f0a7954: 8fa400ec */ lw $a0,0xec($sp) +/* f0a7958: 8cc80008 */ lw $t0,0x8($a2) +/* f0a795c: 240a0001 */ addiu $t2,$zero,0x1 +/* f0a7960: 27a4010c */ addiu $a0,$sp,0x10c +/* f0a7964: 1100000d */ beqz $t0,.L0f0a799c +/* f0a7968: 00c02825 */ or $a1,$a2,$zero +/* f0a796c: afaa0094 */ sw $t2,0x94($sp) +/* f0a7970: 0c0087bd */ jal modelRender +/* f0a7974: afa60098 */ sw $a2,0x98($sp) +/* f0a7978: 8fa60098 */ lw $a2,0x98($sp) +/* f0a797c: 8ccb0008 */ lw $t3,0x8($a2) +/* f0a7980: 8cc4000c */ lw $a0,0xc($a2) +/* f0a7984: 0fc30cfc */ jal func0f0c33f0 +/* f0a7988: 8565000e */ lh $a1,0xe($t3) +/* f0a798c: 8e0d021c */ lw $t5,0x21c($s0) +/* f0a7990: 51a00003 */ beqzl $t5,.L0f0a79a0 +/* f0a7994: 8fa400ec */ lw $a0,0xec($sp) +/* f0a7998: ae000218 */ sw $zero,0x218($s0) +.L0f0a799c: +/* f0a799c: 8fa400ec */ lw $a0,0xec($sp) +.L0f0a79a0: +/* f0a79a0: 0fc2c5f0 */ jal weaponHasFlag +/* f0a79a4: 24050020 */ addiu $a1,$zero,0x20 +/* f0a79a8: 1040000e */ beqz $v0,.L0f0a79e4 +/* f0a79ac: 24010001 */ addiu $at,$zero,0x1 +/* f0a79b0: 8fb80118 */ lw $t8,0x118($sp) +/* f0a79b4: 3c0fb600 */ lui $t7,0xb600 +/* f0a79b8: 24093000 */ addiu $t1,$zero,0x3000 +/* f0a79bc: 27190008 */ addiu $t9,$t8,0x8 +/* f0a79c0: afb90118 */ sw $t9,0x118($sp) +/* f0a79c4: af090004 */ sw $t1,0x4($t8) +/* f0a79c8: 16800004 */ bnez $s4,.L0f0a79dc +/* f0a79cc: af0f0000 */ sw $t7,0x0($t8) +/* f0a79d0: 240e0003 */ addiu $t6,$zero,0x3 +/* f0a79d4: 10000003 */ b .L0f0a79e4 +/* f0a79d8: afae0148 */ sw $t6,0x148($sp) +.L0f0a79dc: +/* f0a79dc: 240c0002 */ addiu $t4,$zero,0x2 +/* f0a79e0: afac0148 */ sw $t4,0x148($sp) +.L0f0a79e4: +/* f0a79e4: 8e28006c */ lw $t0,0x6c($s1) +/* f0a79e8: 00002825 */ or $a1,$zero,$zero +/* f0a79ec: 00002025 */ or $a0,$zero,$zero +/* f0a79f0: 11000003 */ beqz $t0,.L0f0a7a00 +/* f0a79f4: 00001025 */ or $v0,$zero,$zero +/* f0a79f8: 10000001 */ b .L0f0a7a00 +/* f0a79fc: 24050001 */ addiu $a1,$zero,0x1 +.L0f0a7a00: +/* f0a7a00: 8e2a0068 */ lw $t2,0x68($s1) +/* f0a7a04: 00001825 */ or $v1,$zero,$zero +/* f0a7a08: 11400003 */ beqz $t2,.L0f0a7a18 +/* f0a7a0c: 00000000 */ nop +/* f0a7a10: 10000001 */ b .L0f0a7a18 +/* f0a7a14: 24040001 */ addiu $a0,$zero,0x1 +.L0f0a7a18: +/* f0a7a18: 8e2b0064 */ lw $t3,0x64($s1) +/* f0a7a1c: 11600003 */ beqz $t3,.L0f0a7a2c +/* f0a7a20: 00000000 */ nop +/* f0a7a24: 10000001 */ b .L0f0a7a2c +/* f0a7a28: 24020001 */ addiu $v0,$zero,0x1 +.L0f0a7a2c: +/* f0a7a2c: 8e2d0070 */ lw $t5,0x70($s1) +/* f0a7a30: 11a00003 */ beqz $t5,.L0f0a7a40 +/* f0a7a34: 00000000 */ nop +/* f0a7a38: 10000001 */ b .L0f0a7a40 +/* f0a7a3c: 24030001 */ addiu $v1,$zero,0x1 +.L0f0a7a40: +/* f0a7a40: 0062c021 */ addu $t8,$v1,$v0 +/* f0a7a44: 0304c821 */ addu $t9,$t8,$a0 +/* f0a7a48: 03257821 */ addu $t7,$t9,$a1 +/* f0a7a4c: 15e10036 */ bne $t7,$at,.L0f0a7b28 +/* f0a7a50: 24050041 */ addiu $a1,$zero,0x41 +/* f0a7a54: 0c006a47 */ jal modelGetPart +/* f0a7a58: 8e04038c */ lw $a0,0x38c($s0) +/* f0a7a5c: 50400033 */ beqzl $v0,.L0f0a7b2c +/* f0a7a60: 27a4010c */ addiu $a0,$sp,0x10c +/* f0a7a64: 8c440004 */ lw $a0,0x4($v0) +/* f0a7a68: 00002825 */ or $a1,$zero,$zero +/* f0a7a6c: 84890010 */ lh $t1,0x10($a0) +/* f0a7a70: 5920002e */ blezl $t1,.L0f0a7b2c +/* f0a7a74: 27a4010c */ addiu $a0,$sp,0x10c +/* f0a7a78: 8e2a0034 */ lw $t2,0x34($s1) +.L0f0a7a7c: +/* f0a7a7c: 8c8e000c */ lw $t6,0xc($a0) +/* f0a7a80: 00056080 */ sll $t4,$a1,0x2 +/* f0a7a84: 01520019 */ multu $t2,$s2 +/* f0a7a88: 01856023 */ subu $t4,$t4,$a1 +/* f0a7a8c: 000c6080 */ sll $t4,$t4,0x2 +/* f0a7a90: 01cc1021 */ addu $v0,$t6,$t4 +/* f0a7a94: 8448000a */ lh $t0,0xa($v0) +/* f0a7a98: 0005c880 */ sll $t9,$a1,0x2 +/* f0a7a9c: 0325c823 */ subu $t9,$t9,$a1 +/* f0a7aa0: 0019c880 */ sll $t9,$t9,0x2 +/* f0a7aa4: 24420002 */ addiu $v0,$v0,0x2 +/* f0a7aa8: 00005812 */ mflo $t3 +/* f0a7aac: 010b6823 */ subu $t5,$t0,$t3 +/* f0a7ab0: a44d0008 */ sh $t5,0x8($v0) +/* f0a7ab4: 8c98000c */ lw $t8,0xc($a0) +/* f0a7ab8: 03197821 */ addu $t7,$t8,$t9 +/* f0a7abc: 85e9000a */ lh $t1,0xa($t7) +/* f0a7ac0: 2921a000 */ slti $at,$t1,-24576 +/* f0a7ac4: 50200014 */ beqzl $at,.L0f0a7b18 +/* f0a7ac8: 84980010 */ lh $t8,0x10($a0) +/* f0a7acc: 848e0010 */ lh $t6,0x10($a0) +/* f0a7ad0: 00001825 */ or $v1,$zero,$zero +/* f0a7ad4: 59c00010 */ blezl $t6,.L0f0a7b18 +/* f0a7ad8: 84980010 */ lh $t8,0x10($a0) +/* f0a7adc: 8c8c000c */ lw $t4,0xc($a0) +.L0f0a7ae0: +/* f0a7ae0: 00035080 */ sll $t2,$v1,0x2 +/* f0a7ae4: 01435023 */ subu $t2,$t2,$v1 +/* f0a7ae8: 000a5080 */ sll $t2,$t2,0x2 +/* f0a7aec: 018a1021 */ addu $v0,$t4,$t2 +/* f0a7af0: 8448000a */ lh $t0,0xa($v0) +/* f0a7af4: 24630001 */ addiu $v1,$v1,0x1 +/* f0a7af8: 24420002 */ addiu $v0,$v0,0x2 +/* f0a7afc: 250b2000 */ addiu $t3,$t0,0x2000 +/* f0a7b00: a44b0008 */ sh $t3,0x8($v0) +/* f0a7b04: 848d0010 */ lh $t5,0x10($a0) +/* f0a7b08: 006d082a */ slt $at,$v1,$t5 +/* f0a7b0c: 5420fff4 */ bnezl $at,.L0f0a7ae0 +/* f0a7b10: 8c8c000c */ lw $t4,0xc($a0) +/* f0a7b14: 84980010 */ lh $t8,0x10($a0) +.L0f0a7b18: +/* f0a7b18: 24a50001 */ addiu $a1,$a1,0x1 +/* f0a7b1c: 00b8082a */ slt $at,$a1,$t8 +/* f0a7b20: 5420ffd6 */ bnezl $at,.L0f0a7a7c +/* f0a7b24: 8e2a0034 */ lw $t2,0x34($s1) +.L0f0a7b28: +/* f0a7b28: 27a4010c */ addiu $a0,$sp,0x10c +.L0f0a7b2c: +/* f0a7b2c: 0c0087bd */ jal modelRender +/* f0a7b30: 8fa5003c */ lw $a1,0x3c($sp) +/* f0a7b34: 8e791594 */ lw $t9,0x1594($s3) +/* f0a7b38: 3c0f8007 */ lui $t7,%hi(var800702dc) +/* f0a7b3c: 53200013 */ beqzl $t9,.L0f0a7b8c +/* f0a7b40: 8fac0118 */ lw $t4,0x118($sp) +/* f0a7b44: 8def02dc */ lw $t7,%lo(var800702dc)($t7) +/* f0a7b48: 8fa90140 */ lw $t1,0x140($sp) +/* f0a7b4c: 51e0000f */ beqzl $t7,.L0f0a7b8c +/* f0a7b50: 8fac0118 */ lw $t4,0x118($sp) +/* f0a7b54: afa9007c */ sw $t1,0x7c($sp) +/* f0a7b58: 8e0e0390 */ lw $t6,0x390($s0) +/* f0a7b5c: 26050534 */ addiu $a1,$s0,0x534 +/* f0a7b60: 00a02025 */ or $a0,$a1,$zero +/* f0a7b64: ae0e0540 */ sw $t6,0x540($s0) +/* f0a7b68: 0c007308 */ jal func0001cc20 +/* f0a7b6c: afa50054 */ sw $a1,0x54($sp) +/* f0a7b70: 8fa50054 */ lw $a1,0x54($sp) +/* f0a7b74: afb50140 */ sw $s5,0x140($sp) +/* f0a7b78: 0c0087bd */ jal modelRender +/* f0a7b7c: 27a4010c */ addiu $a0,$sp,0x10c +/* f0a7b80: 8fa4007c */ lw $a0,0x7c($sp) +/* f0a7b84: afa40140 */ sw $a0,0x140($sp) +/* f0a7b88: 8fac0118 */ lw $t4,0x118($sp) +.L0f0a7b8c: +/* f0a7b8c: 8fa400ec */ lw $a0,0xec($sp) +/* f0a7b90: 24050020 */ addiu $a1,$zero,0x20 +/* f0a7b94: 0fc2c5f0 */ jal weaponHasFlag +/* f0a7b98: afac014c */ sw $t4,0x14c($sp) +/* f0a7b9c: 10400007 */ beqz $v0,.L0f0a7bbc +/* f0a7ba0: 8faa014c */ lw $t2,0x14c($sp) +/* f0a7ba4: 25480008 */ addiu $t0,$t2,0x8 +/* f0a7ba8: afa8014c */ sw $t0,0x14c($sp) +/* f0a7bac: 3c0bb600 */ lui $t3,0xb600 +/* f0a7bb0: 240d3000 */ addiu $t5,$zero,0x3000 +/* f0a7bb4: ad4d0004 */ sw $t5,0x4($t2) +/* f0a7bb8: ad4b0000 */ sw $t3,0x0($t2) +.L0f0a7bbc: +/* f0a7bbc: 8e18038c */ lw $t8,0x38c($s0) +/* f0a7bc0: 8e040390 */ lw $a0,0x390($s0) +/* f0a7bc4: 0fc30cfc */ jal func0f0c33f0 +/* f0a7bc8: 8705000e */ lh $a1,0xe($t8) +/* f0a7bcc: 0c0059e1 */ jal func00016784 +/* f0a7bd0: 00000000 */ nop +/* f0a7bd4: 8fb9014c */ lw $t9,0x14c($sp) +/* f0a7bd8: 3c09bc00 */ lui $t1,0xbc00 +/* f0a7bdc: 3529000e */ ori $t1,$t1,0xe +/* f0a7be0: 272f0008 */ addiu $t7,$t9,0x8 +/* f0a7be4: afaf014c */ sw $t7,0x14c($sp) +/* f0a7be8: af290000 */ sw $t1,0x0($t9) +/* f0a7bec: 0c002adb */ jal func0000ab6c +/* f0a7bf0: afb90074 */ sw $t9,0x74($sp) +/* f0a7bf4: 8fa30074 */ lw $v1,0x74($sp) +/* f0a7bf8: ac620004 */ sw $v0,0x4($v1) +.L0f0a7bfc: +/* f0a7bfc: 26940001 */ addiu $s4,$s4,0x1 +/* f0a7c00: 24010002 */ addiu $at,$zero,0x2 +/* f0a7c04: 1681fe04 */ bne $s4,$at,.L0f0a7418 +/* f0a7c08: 261007a4 */ addiu $s0,$s0,0x7a4 +/* f0a7c0c: afb500e4 */ sw $s5,0xe4($sp) +/* f0a7c10: 0fc2baf8 */ jal func0f0aebe0 +/* f0a7c14: 27a4014c */ addiu $a0,$sp,0x14c +/* f0a7c18: 0fc5d8a6 */ jal func0f176298 +/* f0a7c1c: 00000000 */ nop +/* f0a7c20: 0fc5d8ab */ jal func0f1762ac +/* f0a7c24: 8fa4014c */ lw $a0,0x14c($sp) +/* f0a7c28: afa2014c */ sw $v0,0x14c($sp) +/* f0a7c2c: 0c002c74 */ jal func0000b1d0 +/* f0a7c30: 00402025 */ or $a0,$v0,$zero +/* f0a7c34: 244e0008 */ addiu $t6,$v0,0x8 +/* f0a7c38: afae014c */ sw $t6,0x14c($sp) +/* f0a7c3c: 0c002f40 */ jal viGetViewLeft +/* f0a7c40: 00408825 */ or $s1,$v0,$zero +/* f0a7c44: 00028400 */ sll $s0,$v0,0x10 +/* f0a7c48: 00106403 */ sra $t4,$s0,0x10 +/* f0a7c4c: 0c002f44 */ jal viGetViewTop +/* f0a7c50: 01808025 */ or $s0,$t4,$zero +/* f0a7c54: 44824000 */ mtc1 $v0,$f8 +/* f0a7c58: 44902000 */ mtc1 $s0,$f4 +/* f0a7c5c: 3c014080 */ lui $at,0x4080 +/* f0a7c60: 468042a0 */ cvt.s.w $f10,$f8 +/* f0a7c64: 44810000 */ mtc1 $at,$f0 +/* f0a7c68: 3c01ed00 */ lui $at,0xed00 +/* f0a7c6c: 468021a0 */ cvt.s.w $f6,$f4 +/* f0a7c70: 46005402 */ mul.s $f16,$f10,$f0 +/* f0a7c74: 00000000 */ nop +/* f0a7c78: 46003202 */ mul.s $f8,$f6,$f0 +/* f0a7c7c: 4600848d */ trunc.w.s $f18,$f16 +/* f0a7c80: 4600428d */ trunc.w.s $f10,$f8 +/* f0a7c84: 44089000 */ mfc1 $t0,$f18 +/* f0a7c88: 44195000 */ mfc1 $t9,$f10 +/* f0a7c8c: 310b0fff */ andi $t3,$t0,0xfff +/* f0a7c90: 01616825 */ or $t5,$t3,$at +/* f0a7c94: 332f0fff */ andi $t7,$t9,0xfff +/* f0a7c98: 000f4b00 */ sll $t1,$t7,0xc +/* f0a7c9c: 01a97025 */ or $t6,$t5,$t1 +/* f0a7ca0: 0c002f22 */ jal viGetViewWidth +/* f0a7ca4: ae2e0000 */ sw $t6,0x0($s1) +/* f0a7ca8: 00029400 */ sll $s2,$v0,0x10 +/* f0a7cac: 00126403 */ sra $t4,$s2,0x10 +/* f0a7cb0: 0c002f40 */ jal viGetViewLeft +/* f0a7cb4: 01809025 */ or $s2,$t4,$zero +/* f0a7cb8: 0002a400 */ sll $s4,$v0,0x10 +/* f0a7cbc: 00145403 */ sra $t2,$s4,0x10 +/* f0a7cc0: 0c002f44 */ jal viGetViewTop +/* f0a7cc4: 0140a025 */ or $s4,$t2,$zero +/* f0a7cc8: 00028400 */ sll $s0,$v0,0x10 +/* f0a7ccc: 00104403 */ sra $t0,$s0,0x10 +/* f0a7cd0: 0c002f26 */ jal viGetViewHeight +/* f0a7cd4: 01008025 */ or $s0,$t0,$zero +/* f0a7cd8: 00505821 */ addu $t3,$v0,$s0 +/* f0a7cdc: 448b8000 */ mtc1 $t3,$f16 +/* f0a7ce0: 02926821 */ addu $t5,$s4,$s2 +/* f0a7ce4: 448d5000 */ mtc1 $t5,$f10 +/* f0a7ce8: 468084a0 */ cvt.s.w $f18,$f16 +/* f0a7cec: 3c014080 */ lui $at,0x4080 +/* f0a7cf0: 44812000 */ mtc1 $at,$f4 +/* f0a7cf4: 46805420 */ cvt.s.w $f16,$f10 +/* f0a7cf8: 46049182 */ mul.s $f6,$f18,$f4 +/* f0a7cfc: 44819000 */ mtc1 $at,$f18 +/* f0a7d00: 00000000 */ nop +/* f0a7d04: 46128102 */ mul.s $f4,$f16,$f18 +/* f0a7d08: 4600320d */ trunc.w.s $f8,$f6 +/* f0a7d0c: 4600218d */ trunc.w.s $f6,$f4 +/* f0a7d10: 44194000 */ mfc1 $t9,$f8 +/* f0a7d14: 440e3000 */ mfc1 $t6,$f6 +/* f0a7d18: 332f0fff */ andi $t7,$t9,0xfff +/* f0a7d1c: 31cc0fff */ andi $t4,$t6,0xfff +/* f0a7d20: 000c5300 */ sll $t2,$t4,0xc +/* f0a7d24: 01ea4025 */ or $t0,$t7,$t2 +/* f0a7d28: ae280004 */ sw $t0,0x4($s1) +/* f0a7d2c: 8fb80150 */ lw $t8,0x150($sp) +/* f0a7d30: 8fab014c */ lw $t3,0x14c($sp) +/* f0a7d34: af0b0000 */ sw $t3,0x0($t8) +/* f0a7d38: 8fbf0034 */ lw $ra,0x34($sp) +.L0f0a7d3c: +/* f0a7d3c: 8fb0001c */ lw $s0,0x1c($sp) +/* f0a7d40: 8fb10020 */ lw $s1,0x20($sp) +/* f0a7d44: 8fb20024 */ lw $s2,0x24($sp) +/* f0a7d48: 8fb30028 */ lw $s3,0x28($sp) +/* f0a7d4c: 8fb4002c */ lw $s4,0x2c($sp) +/* f0a7d50: 8fb50030 */ lw $s5,0x30($sp) +/* f0a7d54: 03e00008 */ jr $ra +/* f0a7d58: 27bd0150 */ addiu $sp,$sp,0x150 +); +#else GLOBAL_ASM( glabel func0f0a7138 .late_rodata @@ -24400,12 +30266,13 @@ glabel var7f1aca90 /* f0a7d54: 03e00008 */ jr $ra /* f0a7d58: 27bd0150 */ addiu $sp,$sp,0x150 ); +#endif GLOBAL_ASM( glabel func0f0a7d5c /* f0a7d5c: 3c03800a */ lui $v1,%hi(var8009d0e0) -/* f0a7d60: 3c02800a */ lui $v0,%hi(var8009d0f0) -/* f0a7d64: 2442d0f0 */ addiu $v0,$v0,%lo(var8009d0f0) +/* f0a7d60: 3c02800a */ lui $v0,%hi(var8009d0e0+0x10) +/* f0a7d64: 2442d0f0 */ addiu $v0,$v0,%lo(var8009d0e0+0x10) /* f0a7d68: 2463d0e0 */ addiu $v1,$v1,%lo(var8009d0e0) /* f0a7d6c: 8c6e0000 */ lw $t6,0x0($v1) .L0f0a7d70: @@ -25197,6 +31064,275 @@ void handSetTriggerOn(s32 handnum, bool on) } } +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel currentPlayerConsiderToggleGunFunction +.late_rodata +glabel var7f1acaa4 +.word currentPlayerConsiderToggleGunFunction+0x104 # f0a8a60 +glabel var7f1acaa8 +.word currentPlayerConsiderToggleGunFunction+0x1f4 # f0a8b50 +glabel var7f1acaac +.word currentPlayerConsiderToggleGunFunction+0x1f4 # f0a8b50 +glabel var7f1acab0 +.word currentPlayerConsiderToggleGunFunction+0x1f4 # f0a8b50 +glabel var7f1acab4 +.word currentPlayerConsiderToggleGunFunction+0x104 # f0a8a60 +glabel var7f1acab8 +.word currentPlayerConsiderToggleGunFunction+0x1f4 # f0a8b50 +glabel var7f1acabc +.word currentPlayerConsiderToggleGunFunction+0x1f4 # f0a8b50 +glabel var7f1acac0 +.word currentPlayerConsiderToggleGunFunction+0xb0 # f0a8a0c +glabel var7f1acac4 +.word currentPlayerConsiderToggleGunFunction+0xb0 # f0a8a0c +glabel var7f1acac8 +.word currentPlayerConsiderToggleGunFunction+0xb0 # f0a8a0c +glabel var7f1acacc +.word currentPlayerConsiderToggleGunFunction+0x104 # f0a8a60 +glabel var7f1acad0 +.word currentPlayerConsiderToggleGunFunction+0x104 # f0a8a60 +glabel var7f1acad4 +.word currentPlayerConsiderToggleGunFunction+0x1f4 # f0a8b50 +glabel var7f1acad8 +.word currentPlayerConsiderToggleGunFunction+0x1f4 # f0a8b50 +glabel var7f1acadc +.word currentPlayerConsiderToggleGunFunction+0x1f4 # f0a8b50 +glabel var7f1acae0 +.word currentPlayerConsiderToggleGunFunction+0x44 # f0a89a0 +glabel var7f1acae4 +.word currentPlayerConsiderToggleGunFunction+0x104 # f0a8a60 +glabel var7f1acae8 +.word currentPlayerConsiderToggleGunFunction+0x1f4 # f0a8b50 +glabel var7f1acaec +.word currentPlayerConsiderToggleGunFunction+0x1f4 # f0a8b50 +glabel var7f1acaf0 +.word currentPlayerConsiderToggleGunFunction+0x1f4 # f0a8b50 +glabel var7f1acaf4 +.word currentPlayerConsiderToggleGunFunction+0x1f4 # f0a8b50 +glabel var7f1acaf8 +.word currentPlayerConsiderToggleGunFunction+0x1f4 # f0a8b50 +glabel var7f1acafc +.word currentPlayerConsiderToggleGunFunction+0x1f4 # f0a8b50 +glabel var7f1acb00 +.word currentPlayerConsiderToggleGunFunction+0x1f4 # f0a8b50 +glabel var7f1acb04 +.word currentPlayerConsiderToggleGunFunction+0x1f4 # f0a8b50 +glabel var7f1acb08 +.word currentPlayerConsiderToggleGunFunction+0x1f4 # f0a8b50 +glabel var7f1acb0c +.word currentPlayerConsiderToggleGunFunction+0x104 # f0a8a60 +glabel var7f1acb10 +.word currentPlayerConsiderToggleGunFunction+0x1f4 # f0a8b50 +glabel var7f1acb14 +.word currentPlayerConsiderToggleGunFunction+0xb0 # f0a8a0c +.text +/* f0a895c: 27bdffe8 */ addiu $sp,$sp,-24 +/* f0a8960: afbf0014 */ sw $ra,0x14($sp) +/* f0a8964: afa40018 */ sw $a0,0x18($sp) +/* f0a8968: afa60020 */ sw $a2,0x20($sp) +/* f0a896c: 00002025 */ or $a0,$zero,$zero +/* f0a8970: 0fc2866a */ jal handGetWeaponNum +/* f0a8974: afa5001c */ sw $a1,0x1c($sp) +/* f0a8978: 244efffa */ addiu $t6,$v0,-6 +/* f0a897c: 2dc1001d */ sltiu $at,$t6,0x1d +/* f0a8980: 10200073 */ beqz $at,.L0f0a8b50 +/* f0a8984: 8fa5001c */ lw $a1,0x1c($sp) +/* f0a8988: 000e7080 */ sll $t6,$t6,0x2 +/* f0a898c: 3c017f1b */ lui $at,%hi(var7f1acaa4) +/* f0a8990: 002e0821 */ addu $at,$at,$t6 +/* f0a8994: 8c2ecaa4 */ lw $t6,%lo(var7f1acaa4)($at) +/* f0a8998: 01c00008 */ jr $t6 +/* f0a899c: 00000000 */ nop +/* f0a89a0: 3c08800a */ lui $t0,%hi(g_Vars) +/* f0a89a4: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) +/* f0a89a8: 8d030284 */ lw $v1,0x284($t0) +/* f0a89ac: 90781583 */ lbu $t8,0x1583($v1) +/* f0a89b0: 37190020 */ ori $t9,$t8,0x20 +/* f0a89b4: 10a00003 */ beqz $a1,.L0f0a89c4 +/* f0a89b8: a0791583 */ sb $t9,0x1583($v1) +/* f0a89bc: 100000a0 */ b .L0f0a8c40 +/* f0a89c0: 24020001 */ addiu $v0,$zero,0x1 +.L0f0a89c4: +/* f0a89c4: 8fa90018 */ lw $t1,0x18($sp) +/* f0a89c8: 29210032 */ slti $at,$t1,0x29 +/* f0a89cc: 50200004 */ beqzl $at,.L0f0a89e0 +/* f0a89d0: 8d030284 */ lw $v1,0x284($t0) +/* f0a89d4: 1000009a */ b .L0f0a8c40 +/* f0a89d8: 00001025 */ or $v0,$zero,$zero +/* f0a89dc: 8d030284 */ lw $v1,0x284($t0) +.L0f0a89e0: +/* f0a89e0: 24010001 */ addiu $at,$zero,0x1 +/* f0a89e4: 906a063b */ lbu $t2,0x63b($v1) +/* f0a89e8: 51410004 */ beql $t2,$at,.L0f0a89fc +/* f0a89ec: 906c0d0f */ lbu $t4,0xd0f($v1) +/* f0a89f0: 10000093 */ b .L0f0a8c40 +/* f0a89f4: 00001025 */ or $v0,$zero,$zero +/* f0a89f8: 906c0d0f */ lbu $t4,0xd0f($v1) +.L0f0a89fc: +/* f0a89fc: 24020002 */ addiu $v0,$zero,0x2 +/* f0a8a00: 358d0010 */ ori $t5,$t4,0x10 +/* f0a8a04: 1000008e */ b .L0f0a8c40 +/* f0a8a08: a06d0d0f */ sb $t5,0xd0f($v1) +/* f0a8a0c: 3c08800a */ lui $t0,%hi(g_Vars) +/* f0a8a10: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) +/* f0a8a14: 8d030284 */ lw $v1,0x284($t0) +/* f0a8a18: 906f1583 */ lbu $t7,0x1583($v1) +/* f0a8a1c: 35f80020 */ ori $t8,$t7,0x20 +/* f0a8a20: a0781583 */ sb $t8,0x1583($v1) +/* f0a8a24: 8fb90020 */ lw $t9,0x20($sp) +/* f0a8a28: 1320000b */ beqz $t9,.L0f0a8a58 +/* f0a8a2c: 00000000 */ nop +/* f0a8a30: 0fc2a31f */ jal currentPlayerIsUsingSecondaryFunction +/* f0a8a34: 00000000 */ nop +/* f0a8a38: 3c08800a */ lui $t0,%hi(g_Vars) +/* f0a8a3c: 24010001 */ addiu $at,$zero,0x1 +/* f0a8a40: 14410005 */ bne $v0,$at,.L0f0a8a58 +/* f0a8a44: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) +/* f0a8a48: 8d030284 */ lw $v1,0x284($t0) +/* f0a8a4c: 906a0d0f */ lbu $t2,0xd0f($v1) +/* f0a8a50: 354b0010 */ ori $t3,$t2,0x10 +/* f0a8a54: a06b0d0f */ sb $t3,0xd0f($v1) +.L0f0a8a58: +/* f0a8a58: 10000079 */ b .L0f0a8c40 +/* f0a8a5c: 24020001 */ addiu $v0,$zero,0x1 +/* f0a8a60: 14a00039 */ bnez $a1,.L0f0a8b48 +/* f0a8a64: 3c08800a */ lui $t0,%hi(g_Vars) +/* f0a8a68: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) +/* f0a8a6c: 8d0c0284 */ lw $t4,0x284($t0) +/* f0a8a70: 81871580 */ lb $a3,0x1580($t4) +/* f0a8a74: 0007102a */ slt $v0,$zero,$a3 +/* f0a8a78: 10400031 */ beqz $v0,.L0f0a8b40 +/* f0a8a7c: 28e30024 */ slti $v1,$a3,0x24 +/* f0a8a80: 1060002f */ beqz $v1,.L0f0a8b40 +/* f0a8a84: 00000000 */ nop +/* f0a8a88: 10400014 */ beqz $v0,.L0f0a8adc +/* f0a8a8c: 00402025 */ or $a0,$v0,$zero +/* f0a8a90: 10600012 */ beqz $v1,.L0f0a8adc +/* f0a8a94: 00602025 */ or $a0,$v1,$zero +/* f0a8a98: 8d0d0288 */ lw $t5,0x288($t0) +/* f0a8a9c: 24e2ffff */ addiu $v0,$a3,-1 +/* f0a8aa0: 0002c0c3 */ sra $t8,$v0,0x3 +/* f0a8aa4: 8dae0070 */ lw $t6,0x70($t5) +/* f0a8aa8: 3c09800b */ lui $t1,%hi(g_MpPlayers+0x97) +/* f0a8aac: 304a0007 */ andi $t2,$v0,0x7 +/* f0a8ab0: 000e7880 */ sll $t7,$t6,0x2 +/* f0a8ab4: 01ee7821 */ addu $t7,$t7,$t6 +/* f0a8ab8: 000f7940 */ sll $t7,$t7,0x5 +/* f0a8abc: 01f8c821 */ addu $t9,$t7,$t8 +/* f0a8ac0: 01394821 */ addu $t1,$t1,$t9 +/* f0a8ac4: 9129c84f */ lbu $t1,%lo(g_MpPlayers+0x97)($t1) +/* f0a8ac8: 240b0001 */ addiu $t3,$zero,0x1 +/* f0a8acc: 014b6004 */ sllv $t4,$t3,$t2 +/* f0a8ad0: 012c2024 */ and $a0,$t1,$t4 +/* f0a8ad4: 0004682b */ sltu $t5,$zero,$a0 +/* f0a8ad8: 01a02025 */ or $a0,$t5,$zero +.L0f0a8adc: +/* f0a8adc: 3c0e800a */ lui $t6,%hi(g_Vars+0x288) +/* f0a8ae0: 8dcea248 */ lw $t6,%lo(g_Vars+0x288)($t6) +/* f0a8ae4: 24e2ffff */ addiu $v0,$a3,-1 +/* f0a8ae8: 0002c8c3 */ sra $t9,$v0,0x3 +/* f0a8aec: 8dcf0070 */ lw $t7,0x70($t6) +/* f0a8af0: 3c0a800b */ lui $t2,%hi(g_MpPlayers) +/* f0a8af4: 254ac7b8 */ addiu $t2,$t2,%lo(g_MpPlayers) +/* f0a8af8: 000fc080 */ sll $t8,$t7,0x2 +/* f0a8afc: 030fc021 */ addu $t8,$t8,$t7 +/* f0a8b00: 0018c140 */ sll $t8,$t8,0x5 +/* f0a8b04: 03195821 */ addu $t3,$t8,$t9 +/* f0a8b08: 016a1821 */ addu $v1,$t3,$t2 +/* f0a8b0c: 30490007 */ andi $t1,$v0,0x7 +/* f0a8b10: 240c0001 */ addiu $t4,$zero,0x1 +/* f0a8b14: 240d0001 */ addiu $t5,$zero,0x1 +/* f0a8b18: 012c3004 */ sllv $a2,$t4,$t1 +/* f0a8b1c: 11a40005 */ beq $t5,$a0,.L0f0a8b34 +/* f0a8b20: 90650097 */ lbu $a1,0x97($v1) +/* f0a8b24: 00a67825 */ or $t7,$a1,$a2 +/* f0a8b28: a06f0097 */ sb $t7,0x97($v1) +/* f0a8b2c: 10000044 */ b .L0f0a8c40 +/* f0a8b30: 24020001 */ addiu $v0,$zero,0x1 +.L0f0a8b34: +/* f0a8b34: 00c0c027 */ nor $t8,$a2,$zero +/* f0a8b38: 00b8c824 */ and $t9,$a1,$t8 +/* f0a8b3c: a0790097 */ sb $t9,0x97($v1) +.L0f0a8b40: +/* f0a8b40: 1000003f */ b .L0f0a8c40 +/* f0a8b44: 24020001 */ addiu $v0,$zero,0x1 +.L0f0a8b48: +/* f0a8b48: 1000003d */ b .L0f0a8c40 +/* f0a8b4c: 00001025 */ or $v0,$zero,$zero +.L0f0a8b50: +/* f0a8b50: 10a00008 */ beqz $a1,.L0f0a8b74 +/* f0a8b54: 3c08800a */ lui $t0,%hi(g_Vars) +/* f0a8b58: 3c08800a */ lui $t0,%hi(g_Vars) +/* f0a8b5c: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) +/* f0a8b60: 8d030284 */ lw $v1,0x284($t0) +/* f0a8b64: 906a1583 */ lbu $t2,0x1583($v1) +/* f0a8b68: 354c0020 */ ori $t4,$t2,0x20 +/* f0a8b6c: 10000033 */ b .L0f0a8c3c +/* f0a8b70: a06c1583 */ sb $t4,0x1583($v1) +.L0f0a8b74: +/* f0a8b74: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) +/* f0a8b78: 8d090284 */ lw $t1,0x284($t0) +/* f0a8b7c: 81271580 */ lb $a3,0x1580($t1) +/* f0a8b80: 0007102a */ slt $v0,$zero,$a3 +/* f0a8b84: 1040002d */ beqz $v0,.L0f0a8c3c +/* f0a8b88: 28e30024 */ slti $v1,$a3,0x24 +/* f0a8b8c: 5060002c */ beqzl $v1,.L0f0a8c40 +/* f0a8b90: 24020001 */ addiu $v0,$zero,0x1 +/* f0a8b94: 50400015 */ beqzl $v0,.L0f0a8bec +/* f0a8b98: 8d0d0288 */ lw $t5,0x288($t0) +/* f0a8b9c: 10600012 */ beqz $v1,.L0f0a8be8 +/* f0a8ba0: 24e2ffff */ addiu $v0,$a3,-1 +/* f0a8ba4: 8d0d0288 */ lw $t5,0x288($t0) +/* f0a8ba8: 0002c0c3 */ sra $t8,$v0,0x3 +/* f0a8bac: 3c0b800b */ lui $t3,%hi(g_MpPlayers) +/* f0a8bb0: 8dae0070 */ lw $t6,0x70($t5) +/* f0a8bb4: 256bc7b8 */ addiu $t3,$t3,%lo(g_MpPlayers) +/* f0a8bb8: 304a0007 */ andi $t2,$v0,0x7 +/* f0a8bbc: 000e7880 */ sll $t7,$t6,0x2 +/* f0a8bc0: 01ee7821 */ addu $t7,$t7,$t6 +/* f0a8bc4: 000f7940 */ sll $t7,$t7,0x5 +/* f0a8bc8: 01f8c821 */ addu $t9,$t7,$t8 +/* f0a8bcc: 032b1821 */ addu $v1,$t9,$t3 +/* f0a8bd0: 90650097 */ lbu $a1,0x97($v1) +/* f0a8bd4: 240c0001 */ addiu $t4,$zero,0x1 +/* f0a8bd8: 014c3004 */ sllv $a2,$t4,$t2 +/* f0a8bdc: 00a64824 */ and $t1,$a1,$a2 +/* f0a8be0: 55200014 */ bnezl $t1,.L0f0a8c34 +/* f0a8be4: 00c07827 */ nor $t7,$a2,$zero +.L0f0a8be8: +/* f0a8be8: 8d0d0288 */ lw $t5,0x288($t0) +.L0f0a8bec: +/* f0a8bec: 24e2ffff */ addiu $v0,$a3,-1 +/* f0a8bf0: 0002c0c3 */ sra $t8,$v0,0x3 +/* f0a8bf4: 8dae0070 */ lw $t6,0x70($t5) +/* f0a8bf8: 3c0b800b */ lui $t3,%hi(g_MpPlayers) +/* f0a8bfc: 256bc7b8 */ addiu $t3,$t3,%lo(g_MpPlayers) +/* f0a8c00: 000e7880 */ sll $t7,$t6,0x2 +/* f0a8c04: 01ee7821 */ addu $t7,$t7,$t6 +/* f0a8c08: 000f7940 */ sll $t7,$t7,0x5 +/* f0a8c0c: 01f8c821 */ addu $t9,$t7,$t8 +/* f0a8c10: 032b1821 */ addu $v1,$t9,$t3 +/* f0a8c14: 906c0097 */ lbu $t4,0x97($v1) +/* f0a8c18: 304a0007 */ andi $t2,$v0,0x7 +/* f0a8c1c: 24090001 */ addiu $t1,$zero,0x1 +/* f0a8c20: 01496804 */ sllv $t5,$t1,$t2 +/* f0a8c24: 018d7025 */ or $t6,$t4,$t5 +/* f0a8c28: 10000004 */ b .L0f0a8c3c +/* f0a8c2c: a06e0097 */ sb $t6,0x97($v1) +/* f0a8c30: 00c07827 */ nor $t7,$a2,$zero +.L0f0a8c34: +/* f0a8c34: 00afc024 */ and $t8,$a1,$t7 +/* f0a8c38: a0780097 */ sb $t8,0x97($v1) +.L0f0a8c3c: +/* f0a8c3c: 24020001 */ addiu $v0,$zero,0x1 +.L0f0a8c40: +/* f0a8c40: 8fbf0014 */ lw $ra,0x14($sp) +/* f0a8c44: 27bd0018 */ addiu $sp,$sp,0x18 +/* f0a8c48: 03e00008 */ jr $ra +/* f0a8c4c: 00000000 */ nop +); +#else GLOBAL_ASM( glabel currentPlayerConsiderToggleGunFunction .late_rodata @@ -25464,6 +31600,7 @@ glabel var7f1acb14 /* f0a8c48: 03e00008 */ jr $ra /* f0a8c4c: 00000000 */ nop ); +#endif // Mismatch near the first gunfuncs check. // Goal loads 1 into $t5 while the below uses $at. @@ -25723,7 +31860,7 @@ void currentPlayerTickInventory(bool triggeron) if (player->hands[HAND_LEFT].inuse && player->hands[HAND_RIGHT].inuse && player->gunctrl.weaponnum != WEAPON_REMOTEMINE) { - if (player->playertrigtime240 > 80) { + if (player->playertrigtime240 > PALDOWN(80)) { gunsfiring[player->curguntofire] = 1; if (func0f099008(1 - player->curguntofire) @@ -30362,8 +36499,8 @@ void cboostAdd(s32 amount) { g_Vars.speedpilltime += amount; - if (g_Vars.speedpilltime > 5 * 60 * 60) { // 5 minutes - g_Vars.speedpilltime = 5 * 60 * 60; + if (g_Vars.speedpilltime > 5 * 60 * PALDOWN(60)) { // 5 minutes + g_Vars.speedpilltime = 5 * 60 * PALDOWN(60); } if (!g_Vars.speedpillwant) { @@ -30388,18 +36525,18 @@ void cboostSubtract(s32 amount) void cboostBoost(void) { if (coreGetSlowMotionType() != SLOWMOTION_OFF) { - cboostSubtract(SECSTOTIME60(20)); + cboostSubtract(PALDOWN(1200)); } else { - cboostAdd(SECSTOTIME60(10)); + cboostAdd(PALDOWN(600)); } } void cboostRevert(void) { if (coreGetSlowMotionType() != SLOWMOTION_OFF) { - cboostAdd(SECSTOTIME60(20)); + cboostAdd(PALDOWN(1200)); } else { - cboostSubtract(SECSTOTIME60(10)); + cboostSubtract(PALDOWN(600)); } } diff --git a/src/game/game_0abe70.c b/src/game/game_0abe70.c index d52bd29a1..089cee00f 100644 --- a/src/game/game_0abe70.c +++ b/src/game/game_0abe70.c @@ -41,10 +41,9 @@ const u32 var7f1acc64[] = {0x461c4000}; const u32 var7f1acc68[] = {0xc61c4000}; const u32 var7f1acc6c[] = {0x3fb50481}; -struct fireslot g_Fireslots[NUM_FIRESLOTS]; -struct casing g_Casings[20]; -struct var8009da60 var8009da60[8]; -struct lasersight g_LaserSights[4]; +struct casing g_Casings[20]; // da80 (correct) +struct var8009da60 var8009da60[8]; // dfd0 (correct) +struct lasersight g_LaserSights[4]; // correct u32 var80070500 = 0x00000000; u32 var80070504 = 0x00000000; @@ -4265,7 +4264,11 @@ void func0f0aefb8(void) (var8009da60[i].unk20.f[1] - var8009da60[i].unk14.f[1]) * (var8009da60[i].unk20.f[1] - var8009da60[i].unk14.f[1]) + (var8009da60[i].unk20.f[2] - var8009da60[i].unk14.f[2]) * (var8009da60[i].unk20.f[2] - var8009da60[i].unk14.f[2])); +#if VERSION >= VERSION_PAL_FINAL + value -= var8009da60[i].unk2c * g_Vars.lvupdate240freal / 60.0f; +#else value -= var8009da60[i].unk2c * g_Vars.lvupdate240f / 60.0f; +#endif if (value < 0) { var8009da60[i].unk00 = -1; diff --git a/src/game/game_0b0fd0.c b/src/game/game_0b0fd0.c index 060ac608b..99f2e409d 100644 --- a/src/game/game_0b0fd0.c +++ b/src/game/game_0b0fd0.c @@ -220,7 +220,11 @@ void currentPlayerZoomOut(f32 fovpersec) } if (index >= 0) { +#if VERSION >= VERSION_PAL_FINAL + f32 amount = fovpersec * 0.25f * g_Vars.lvupdate240freal; +#else f32 amount = fovpersec * 0.25f * g_Vars.lvupdate240f; +#endif if (getCurrentPlayerWeaponIdWrapper(0) == WEAPON_FARSIGHTXR20) { amount *= 0.5f; @@ -245,7 +249,11 @@ void currentPlayerZoomIn(f32 fovpersec) } if (index >= 0) { +#if VERSION >= VERSION_PAL_FINAL + f32 amount = fovpersec * 0.25f * g_Vars.lvupdate240freal; +#else f32 amount = fovpersec * 0.25f * g_Vars.lvupdate240f; +#endif if (getCurrentPlayerWeaponIdWrapper(0) == WEAPON_FARSIGHTXR20) { amount *= 0.5f; @@ -569,7 +577,11 @@ f32 handGetDamage(struct shorthand *hand) damage = fullfunc->damage; if (hand->weaponnum == WEAPON_REAPER) { +#if VERSION >= VERSION_PAL_FINAL + damage *= g_Vars.lvupdate240freal; +#else damage *= g_Vars.lvupdate240f; +#endif } } @@ -602,7 +614,7 @@ u8 handGetSingleUnk38(struct shorthand *hand) } if (result >= 4) { - result = TIME60TOFRAMES(result); + result = PALDOWN(result); } return result; @@ -655,7 +667,7 @@ s8 weaponGetMaxFireRatePerTick(u32 weaponnum, u32 funcindex) } if (result > 3) { - result = TIME60TOFRAMES(result); + result = PALDOWN(result); } return result; diff --git a/src/game/game_0b69d0.c b/src/game/game_0b69d0.c index d5b3978e0..aa35d0e3f 100644 --- a/src/game/game_0b69d0.c +++ b/src/game/game_0b69d0.c @@ -91,17 +91,17 @@ f32 var8009de00; u32 var8009de04; u32 var8009de08; u32 var8009de0c; -s32 g_CameraAnimCurFrame; // e380 (good) +s32 g_CameraAnimCurFrame; #if VERSION >= VERSION_PAL_FINAL -f32 var8009de14; // e384 -f32 var8009e388pf; // e388 +f32 var8009de14; +f32 var8009e388pf; #else s32 var8009de14; #endif -s16 g_CameraAnimNum; // e388 -> e38c -f32 g_CutsceneBlurFrac; // e38c -> e390 +s16 g_CameraAnimNum; +f32 g_CutsceneBlurFrac; #if VERSION < VERSION_PAL_FINAL s32 var8009de20; @@ -109,7 +109,7 @@ s32 var8009de20; s32 var8009de24; f32 var8009de28; -s32 var8009de2c; // e3a0 -> e39c +s32 var8009de2c; f32 var8009de30; u32 var8009de34; s16 g_SpawnPoints[MAX_SPAWNPOINTS]; @@ -1283,8 +1283,8 @@ bool currentPlayerAssumeChrForAnti(struct chrdata *hostchr, bool force) currentPlayerEquipWeaponWrapper(HAND_RIGHT, WEAPON_UNARMED); } - g_Vars.currentplayer->invdowntime = -40; - g_Vars.currentplayer->usedowntime = -40; + g_Vars.currentplayer->invdowntime = PALDOWN(-40); + g_Vars.currentplayer->usedowntime = PALDOWN(-40); currentPlayerGiveUnlimitedAmmo(true); @@ -3950,7 +3950,7 @@ Gfx *func0f0baf84(Gfx *gdl) u16 b; guPerspective(a, &b, g_Vars.currentplayer->zoominfovy, - 1.4545454978943f, 10, 300, 1); + PAL ? 1.7316017150879f : 1.4545454978943f, 10, 300, 1); gSPMatrix(gdl++, 0x80000000 + (u32)a, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); gSPPerspNormalize(gdl++, b); @@ -4679,7 +4679,7 @@ void currentPlayerTickExplode(void) explosionCreateSimple(NULL, &pos, g_Vars.currentplayer->prop->rooms, EXPLOSIONTYPE_18, g_Vars.currentplayernum); - g_Vars.currentplayer->bondnextexplode = g_Vars.lvframe60 + 15 + (random() % 15); + g_Vars.currentplayer->bondnextexplode = g_Vars.lvframe60 + PALDOWN(15) + (random() % PALDOWN(15)); } } @@ -12192,7 +12192,7 @@ Gfx *func0f0c07c8(Gfx *gdl) if (g_MpSetupSaveFile.locktype == MPLOCKTYPE_CHALLENGE) { if (g_Vars.currentplayer->deadtimer < 0) { - g_Vars.currentplayer->deadtimer = 600; + g_Vars.currentplayer->deadtimer = PALDOWN(600); } if (g_Vars.currentplayer->deadtimer >= 0) { @@ -12237,21 +12237,21 @@ Gfx *func0f0c07c8(Gfx *gdl) gdl = func0f15b114(gdl); if (g_Vars.currentplayer->eyespy) { - if (g_Vars.currentplayer->eyespy->startuptimer60 < 50) { + if (g_Vars.currentplayer->eyespy->startuptimer60 < PALDOWN(50)) { gdl = bviewRenderFisheye(gdl, -1, 255, 0, g_Vars.currentplayer->eyespy->startuptimer60, g_Vars.currentplayer->eyespy->hit); } else { s32 time = g_Vars.currentplayer->eyespy->camerashuttertime; if (time > 0) { if (g_Vars.currentplayer->eyespy->mode == EYESPYMODE_CAMSPY) { - gdl = bviewRenderFisheye(gdl, -1, 255, time, 50, g_Vars.currentplayer->eyespy->hit); + gdl = bviewRenderFisheye(gdl, -1, 255, time, PALDOWN(50), g_Vars.currentplayer->eyespy->hit); } else { - gdl = bviewRenderFisheye(gdl, -1, 255, 0, 50, g_Vars.currentplayer->eyespy->hit); + gdl = bviewRenderFisheye(gdl, -1, 255, 0, PALDOWN(50), g_Vars.currentplayer->eyespy->hit); } g_Vars.currentplayer->eyespy->camerashuttertime -= g_Vars.lvupdate240_60; } else { - gdl = bviewRenderFisheye(gdl, -1, 255, 0, 50, g_Vars.currentplayer->eyespy->hit); + gdl = bviewRenderFisheye(gdl, -1, 255, 0, PALDOWN(50), g_Vars.currentplayer->eyespy->hit); } } diff --git a/src/game/game_0e0770.c b/src/game/game_0e0770.c index d7f03ac46..f5d82ca3e 100644 --- a/src/game/game_0e0770.c +++ b/src/game/game_0e0770.c @@ -5147,6 +5147,874 @@ u32 func0f0e4fe0(void) return align16(0xd20); } +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f0e5000 +/* f0e5000: 27bdfeb0 */ addiu $sp,$sp,-336 +/* f0e5004: 3c0140a0 */ lui $at,0x40a0 +/* f0e5008: 3c0e8008 */ lui $t6,%hi(g_StageIndex) +/* f0e500c: 44812000 */ mtc1 $at,$f4 +/* f0e5010: 8dcefc00 */ lw $t6,%lo(g_StageIndex)($t6) +/* f0e5014: 24010019 */ addiu $at,$zero,0x19 +/* f0e5018: afbf0064 */ sw $ra,0x64($sp) +/* f0e501c: afb30060 */ sw $s3,0x60($sp) +/* f0e5020: afb2005c */ sw $s2,0x5c($sp) +/* f0e5024: afb10058 */ sw $s1,0x58($sp) +/* f0e5028: afb00054 */ sw $s0,0x54($sp) +/* f0e502c: f7be0048 */ sdc1 $f30,0x48($sp) +/* f0e5030: f7bc0040 */ sdc1 $f28,0x40($sp) +/* f0e5034: f7ba0038 */ sdc1 $f26,0x38($sp) +/* f0e5038: f7b80030 */ sdc1 $f24,0x30($sp) +/* f0e503c: f7b60028 */ sdc1 $f22,0x28($sp) +/* f0e5040: f7b40020 */ sdc1 $f20,0x20($sp) +/* f0e5044: afa40150 */ sw $a0,0x150($sp) +/* f0e5048: afa000f0 */ sw $zero,0xf0($sp) +/* f0e504c: 15c10006 */ bne $t6,$at,.L0f0e5068 +/* f0e5050: e7a400f4 */ swc1 $f4,0xf4($sp) +/* f0e5054: 3c014000 */ lui $at,0x4000 +/* f0e5058: 44813000 */ mtc1 $at,$f6 +/* f0e505c: 240f0001 */ addiu $t7,$zero,0x1 +/* f0e5060: afaf00f0 */ sw $t7,0xf0($sp) +/* f0e5064: e7a600f4 */ swc1 $f6,0xf4($sp) +.L0f0e5068: +/* f0e5068: 3c118007 */ lui $s1,%hi(var80071184) +/* f0e506c: 26311184 */ addiu $s1,$s1,%lo(var80071184) +/* f0e5070: 8e380000 */ lw $t8,0x0($s1) +/* f0e5074: 5700005d */ bnezl $t8,.L0f0e51ec +/* f0e5078: 3c012f80 */ lui $at,0x2f80 +/* f0e507c: 0fc2777b */ jal func0f09ddec +/* f0e5080: 00000000 */ nop +/* f0e5084: 14400003 */ bnez $v0,.L0f0e5094 +/* f0e5088: ae220000 */ sw $v0,0x0($s1) +/* f0e508c: 10000304 */ b .L0f0e5ca0 +/* f0e5090: 8fa20150 */ lw $v0,0x150($sp) +.L0f0e5094: +/* f0e5094: 3c0143f0 */ lui $at,0x43f0 +/* f0e5098: 4481f000 */ mtc1 $at,$f30 +/* f0e509c: 3c01c420 */ lui $at,0xc420 +/* f0e50a0: 4481e000 */ mtc1 $at,$f28 +/* f0e50a4: 3c014420 */ lui $at,0x4420 +/* f0e50a8: 4481d000 */ mtc1 $at,$f26 +/* f0e50ac: 3c017f1b */ lui $at,%hi(var7f1adf74) +/* f0e50b0: c438df74 */ lwc1 $f24,%lo(var7f1adf74)($at) +/* f0e50b4: 3c017f1b */ lui $at,%hi(var7f1adf78) +/* f0e50b8: c436df78 */ lwc1 $f22,%lo(var7f1adf78)($at) +/* f0e50bc: 3c012f80 */ lui $at,0x2f80 +/* f0e50c0: 4481a000 */ mtc1 $at,$f20 +/* f0e50c4: 00008025 */ or $s0,$zero,$zero +/* f0e50c8: 24120d20 */ addiu $s2,$zero,0xd20 +.L0f0e50cc: +/* f0e50cc: 0c004b70 */ jal random +/* f0e50d0: 00000000 */ nop +/* f0e50d4: 44824000 */ mtc1 $v0,$f8 +/* f0e50d8: 3c014f80 */ lui $at,0x4f80 +/* f0e50dc: 04410004 */ bgez $v0,.L0f0e50f0 +/* f0e50e0: 468042a0 */ cvt.s.w $f10,$f8 +/* f0e50e4: 44818000 */ mtc1 $at,$f16 +/* f0e50e8: 00000000 */ nop +/* f0e50ec: 46105280 */ add.s $f10,$f10,$f16 +.L0f0e50f0: +/* f0e50f0: 46145482 */ mul.s $f18,$f10,$f20 +/* f0e50f4: 8e290000 */ lw $t1,0x0($s1) +/* f0e50f8: 01305021 */ addu $t2,$t1,$s0 +/* f0e50fc: 46169102 */ mul.s $f4,$f18,$f22 +/* f0e5100: 46182181 */ sub.s $f6,$f4,$f24 +/* f0e5104: 0c004b70 */ jal random +/* f0e5108: e5460000 */ swc1 $f6,0x0($t2) +/* f0e510c: 44824000 */ mtc1 $v0,$f8 +/* f0e5110: 3c014f80 */ lui $at,0x4f80 +/* f0e5114: 04410004 */ bgez $v0,.L0f0e5128 +/* f0e5118: 46804420 */ cvt.s.w $f16,$f8 +/* f0e511c: 44815000 */ mtc1 $at,$f10 +/* f0e5120: 00000000 */ nop +/* f0e5124: 460a8400 */ add.s $f16,$f16,$f10 +.L0f0e5128: +/* f0e5128: 46148482 */ mul.s $f18,$f16,$f20 +/* f0e512c: 8e2b0000 */ lw $t3,0x0($s1) +/* f0e5130: 3c01c3f0 */ lui $at,0xc3f0 +/* f0e5134: 01706021 */ addu $t4,$t3,$s0 +/* f0e5138: 46169102 */ mul.s $f4,$f18,$f22 +/* f0e513c: 46182181 */ sub.s $f6,$f4,$f24 +/* f0e5140: e5860004 */ swc1 $f6,0x4($t4) +/* f0e5144: 8e2d0000 */ lw $t5,0x0($s1) +/* f0e5148: 01b01821 */ addu $v1,$t5,$s0 +/* f0e514c: c4600000 */ lwc1 $f0,0x0($v1) +/* f0e5150: 461a003c */ c.lt.s $f0,$f26 +/* f0e5154: 00000000 */ nop +/* f0e5158: 45000010 */ bc1f .L0f0e519c +/* f0e515c: 00000000 */ nop +/* f0e5160: 4600e03c */ c.lt.s $f28,$f0 +/* f0e5164: 00000000 */ nop +/* f0e5168: 4500000c */ bc1f .L0f0e519c +/* f0e516c: 00000000 */ nop +/* f0e5170: c4600004 */ lwc1 $f0,0x4($v1) +/* f0e5174: 461e003c */ c.lt.s $f0,$f30 +/* f0e5178: 00000000 */ nop +/* f0e517c: 45000007 */ bc1f .L0f0e519c +/* f0e5180: 00000000 */ nop +/* f0e5184: 44814000 */ mtc1 $at,$f8 +/* f0e5188: 00000000 */ nop +/* f0e518c: 4600403c */ c.lt.s $f8,$f0 +/* f0e5190: 00000000 */ nop +/* f0e5194: 4501ffcd */ bc1t .L0f0e50cc +/* f0e5198: 00000000 */ nop +.L0f0e519c: +/* f0e519c: 0c004b70 */ jal random +/* f0e51a0: 00000000 */ nop +/* f0e51a4: 44825000 */ mtc1 $v0,$f10 +/* f0e51a8: 3c014f80 */ lui $at,0x4f80 +/* f0e51ac: 04410004 */ bgez $v0,.L0f0e51c0 +/* f0e51b0: 46805420 */ cvt.s.w $f16,$f10 +/* f0e51b4: 44819000 */ mtc1 $at,$f18 +/* f0e51b8: 00000000 */ nop +/* f0e51bc: 46128400 */ add.s $f16,$f16,$f18 +.L0f0e51c0: +/* f0e51c0: 46148102 */ mul.s $f4,$f16,$f20 +/* f0e51c4: 3c0145fa */ lui $at,0x45fa +/* f0e51c8: 44814000 */ mtc1 $at,$f8 +/* f0e51cc: 8e2e0000 */ lw $t6,0x0($s1) +/* f0e51d0: 01d07821 */ addu $t7,$t6,$s0 +/* f0e51d4: 46002187 */ neg.s $f6,$f4 +/* f0e51d8: 2610000c */ addiu $s0,$s0,0xc +/* f0e51dc: 46083282 */ mul.s $f10,$f6,$f8 +/* f0e51e0: 1612ffba */ bne $s0,$s2,.L0f0e50cc +/* f0e51e4: e5ea0008 */ swc1 $f10,0x8($t7) +/* f0e51e8: 3c012f80 */ lui $at,0x2f80 +.L0f0e51ec: +/* f0e51ec: 4481a000 */ mtc1 $at,$f20 +/* f0e51f0: 3c017f1b */ lui $at,%hi(var7f1adf7c) +/* f0e51f4: c436df7c */ lwc1 $f22,%lo(var7f1adf7c)($at) +/* f0e51f8: 3c017f1b */ lui $at,%hi(var7f1adf80) +/* f0e51fc: c438df80 */ lwc1 $f24,%lo(var7f1adf80)($at) +/* f0e5200: 3c014420 */ lui $at,0x4420 +/* f0e5204: 4481d000 */ mtc1 $at,$f26 +/* f0e5208: 3c01c420 */ lui $at,0xc420 +/* f0e520c: 4481e000 */ mtc1 $at,$f28 +/* f0e5210: 3c0143f0 */ lui $at,0x43f0 +/* f0e5214: 4481f000 */ mtc1 $at,$f30 +/* f0e5218: 00009025 */ or $s2,$zero,$zero +/* f0e521c: 00008025 */ or $s0,$zero,$zero +/* f0e5220: 24130005 */ addiu $s3,$zero,0x5 +.L0f0e5224: +/* f0e5224: 0253001a */ div $zero,$s2,$s3 +/* f0e5228: 0000c810 */ mfhi $t9 +/* f0e522c: 27290001 */ addiu $t1,$t9,0x1 +/* f0e5230: 44899000 */ mtc1 $t1,$f18 +/* f0e5234: c7a800f4 */ lwc1 $f8,0xf4($sp) +/* f0e5238: 8e380000 */ lw $t8,0x0($s1) +/* f0e523c: 46809420 */ cvt.s.w $f16,$f18 +/* f0e5240: 03101821 */ addu $v1,$t8,$s0 +/* f0e5244: 16600002 */ bnez $s3,.L0f0e5250 +/* f0e5248: 00000000 */ nop +/* f0e524c: 0007000d */ break 0x7 +.L0f0e5250: +/* f0e5250: 2401ffff */ addiu $at,$zero,-1 +/* f0e5254: 16610004 */ bne $s3,$at,.L0f0e5268 +/* f0e5258: 3c018000 */ lui $at,0x8000 +/* f0e525c: 16410002 */ bne $s2,$at,.L0f0e5268 +/* f0e5260: 00000000 */ nop +/* f0e5264: 0006000d */ break 0x6 +.L0f0e5268: +/* f0e5268: 3c01800a */ lui $at,%hi(g_Vars+0x5c) +/* f0e526c: c424a008 */ lwc1 $f4,%lo(g_Vars+0x5c)($at) +/* f0e5270: c4720008 */ lwc1 $f18,0x8($v1) +/* f0e5274: 46048182 */ mul.s $f6,$f16,$f4 +/* f0e5278: 44802000 */ mtc1 $zero,$f4 +/* f0e527c: 46083282 */ mul.s $f10,$f6,$f8 +/* f0e5280: 460a9400 */ add.s $f16,$f18,$f10 +/* f0e5284: e4700008 */ swc1 $f16,0x8($v1) +/* f0e5288: 8e2a0000 */ lw $t2,0x0($s1) +/* f0e528c: 01505821 */ addu $t3,$t2,$s0 +/* f0e5290: c5660008 */ lwc1 $f6,0x8($t3) +/* f0e5294: 4606203c */ c.lt.s $f4,$f6 +/* f0e5298: 00000000 */ nop +/* f0e529c: 45020049 */ bc1fl .L0f0e53c4 +/* f0e52a0: 26520001 */ addiu $s2,$s2,0x1 +.L0f0e52a4: +/* f0e52a4: 0c004b70 */ jal random +/* f0e52a8: 00000000 */ nop +/* f0e52ac: 44824000 */ mtc1 $v0,$f8 +/* f0e52b0: 3c014f80 */ lui $at,0x4f80 +/* f0e52b4: 04410004 */ bgez $v0,.L0f0e52c8 +/* f0e52b8: 468044a0 */ cvt.s.w $f18,$f8 +/* f0e52bc: 44815000 */ mtc1 $at,$f10 +/* f0e52c0: 00000000 */ nop +/* f0e52c4: 460a9480 */ add.s $f18,$f18,$f10 +.L0f0e52c8: +/* f0e52c8: 46149402 */ mul.s $f16,$f18,$f20 +/* f0e52cc: 8e2c0000 */ lw $t4,0x0($s1) +/* f0e52d0: 01906821 */ addu $t5,$t4,$s0 +/* f0e52d4: 46168102 */ mul.s $f4,$f16,$f22 +/* f0e52d8: 46182181 */ sub.s $f6,$f4,$f24 +/* f0e52dc: 0c004b70 */ jal random +/* f0e52e0: e5a60000 */ swc1 $f6,0x0($t5) +/* f0e52e4: 44824000 */ mtc1 $v0,$f8 +/* f0e52e8: 3c014f80 */ lui $at,0x4f80 +/* f0e52ec: 04410004 */ bgez $v0,.L0f0e5300 +/* f0e52f0: 468042a0 */ cvt.s.w $f10,$f8 +/* f0e52f4: 44819000 */ mtc1 $at,$f18 +/* f0e52f8: 00000000 */ nop +/* f0e52fc: 46125280 */ add.s $f10,$f10,$f18 +.L0f0e5300: +/* f0e5300: 46145402 */ mul.s $f16,$f10,$f20 +/* f0e5304: 8e2e0000 */ lw $t6,0x0($s1) +/* f0e5308: 3c01c3f0 */ lui $at,0xc3f0 +/* f0e530c: 01d07821 */ addu $t7,$t6,$s0 +/* f0e5310: 46168102 */ mul.s $f4,$f16,$f22 +/* f0e5314: 46182181 */ sub.s $f6,$f4,$f24 +/* f0e5318: e5e60004 */ swc1 $f6,0x4($t7) +/* f0e531c: 8e380000 */ lw $t8,0x0($s1) +/* f0e5320: 03101821 */ addu $v1,$t8,$s0 +/* f0e5324: c4600000 */ lwc1 $f0,0x0($v1) +/* f0e5328: 461a003c */ c.lt.s $f0,$f26 +/* f0e532c: 00000000 */ nop +/* f0e5330: 45000010 */ bc1f .L0f0e5374 +/* f0e5334: 00000000 */ nop +/* f0e5338: 4600e03c */ c.lt.s $f28,$f0 +/* f0e533c: 00000000 */ nop +/* f0e5340: 4500000c */ bc1f .L0f0e5374 +/* f0e5344: 00000000 */ nop +/* f0e5348: c4600004 */ lwc1 $f0,0x4($v1) +/* f0e534c: 461e003c */ c.lt.s $f0,$f30 +/* f0e5350: 00000000 */ nop +/* f0e5354: 45000007 */ bc1f .L0f0e5374 +/* f0e5358: 00000000 */ nop +/* f0e535c: 44814000 */ mtc1 $at,$f8 +/* f0e5360: 00000000 */ nop +/* f0e5364: 4600403c */ c.lt.s $f8,$f0 +/* f0e5368: 00000000 */ nop +/* f0e536c: 4501ffcd */ bc1t .L0f0e52a4 +/* f0e5370: 00000000 */ nop +.L0f0e5374: +/* f0e5374: 0c004b70 */ jal random +/* f0e5378: 00000000 */ nop +/* f0e537c: 44829000 */ mtc1 $v0,$f18 +/* f0e5380: 3c014f80 */ lui $at,0x4f80 +/* f0e5384: 04410004 */ bgez $v0,.L0f0e5398 +/* f0e5388: 468092a0 */ cvt.s.w $f10,$f18 +/* f0e538c: 44818000 */ mtc1 $at,$f16 +/* f0e5390: 00000000 */ nop +/* f0e5394: 46105280 */ add.s $f10,$f10,$f16 +.L0f0e5398: +/* f0e5398: 46145102 */ mul.s $f4,$f10,$f20 +/* f0e539c: 3c0143fa */ lui $at,0x43fa +/* f0e53a0: 44813000 */ mtc1 $at,$f6 +/* f0e53a4: 3c01c5fa */ lui $at,0xc5fa +/* f0e53a8: 44819000 */ mtc1 $at,$f18 +/* f0e53ac: 8e390000 */ lw $t9,0x0($s1) +/* f0e53b0: 46062202 */ mul.s $f8,$f4,$f6 +/* f0e53b4: 03304821 */ addu $t1,$t9,$s0 +/* f0e53b8: 46089401 */ sub.s $f16,$f18,$f8 +/* f0e53bc: e5300008 */ swc1 $f16,0x8($t1) +/* f0e53c0: 26520001 */ addiu $s2,$s2,0x1 +.L0f0e53c4: +/* f0e53c4: 2a410118 */ slti $at,$s2,0x118 +/* f0e53c8: 1420ff96 */ bnez $at,.L0f0e5224 +/* f0e53cc: 2610000c */ addiu $s0,$s0,0xc +/* f0e53d0: 3c014120 */ lui $at,0x4120 +/* f0e53d4: 44816000 */ mtc1 $at,$f12 +/* f0e53d8: 0fc01ae8 */ jal func0f006ba0 +/* f0e53dc: 00000000 */ nop +/* f0e53e0: 3c01800a */ lui $at,%hi(var8009de98) +/* f0e53e4: ac20de98 */ sw $zero,%lo(var8009de98)($at) +/* f0e53e8: 3c01800a */ lui $at,%hi(var8009de9c) +/* f0e53ec: 8fa40150 */ lw $a0,0x150($sp) +/* f0e53f0: 46000506 */ mov.s $f20,$f0 +/* f0e53f4: ac20de9c */ sw $zero,%lo(var8009de9c)($at) +/* f0e53f8: 0fc3528f */ jal func0f0d4a3c +/* f0e53fc: 00002825 */ or $a1,$zero,$zero +/* f0e5400: 3c0afffe */ lui $t2,0xfffe +/* f0e5404: 8fac00f0 */ lw $t4,0xf0($sp) +/* f0e5408: 354a7960 */ ori $t2,$t2,0x7960 +/* f0e540c: 3c01800a */ lui $at,%hi(var8009de90) +/* f0e5410: ac2ade90 */ sw $t2,%lo(var8009de90)($at) +/* f0e5414: 3c0b0001 */ lui $t3,0x1 +/* f0e5418: 356b86a0 */ ori $t3,$t3,0x86a0 +/* f0e541c: 3c01800a */ lui $at,%hi(var8009de94) +/* f0e5420: 00409025 */ or $s2,$v0,$zero +/* f0e5424: 11800022 */ beqz $t4,.L0f0e54b0 +/* f0e5428: ac2bde94 */ sw $t3,%lo(var8009de94)($at) +/* f0e542c: 3c026060 */ lui $v0,0x6060 +/* f0e5430: 3442607f */ ori $v0,$v0,0x607f +/* f0e5434: 240dfff6 */ addiu $t5,$zero,-10 +/* f0e5438: afad0010 */ sw $t5,0x10($sp) +/* f0e543c: afa20014 */ sw $v0,0x14($sp) +/* f0e5440: afa20018 */ sw $v0,0x18($sp) +/* f0e5444: 02402025 */ or $a0,$s2,$zero +/* f0e5448: 2405fc18 */ addiu $a1,$zero,-1000 +/* f0e544c: 2406fff6 */ addiu $a2,$zero,-10 +/* f0e5450: 240707d0 */ addiu $a3,$zero,0x7d0 +/* f0e5454: afb3001c */ sw $s3,0x1c($sp) +/* f0e5458: 0fc35343 */ jal func0f0d4d0c +/* f0e545c: afb20150 */ sw $s2,0x150($sp) +/* f0e5460: 0c002f06 */ jal viGetHeight +/* f0e5464: afa20150 */ sw $v0,0x150($sp) +/* f0e5468: 00028400 */ sll $s0,$v0,0x10 +/* f0e546c: 00107403 */ sra $t6,$s0,0x10 +/* f0e5470: 0c002f06 */ jal viGetHeight +/* f0e5474: 01c08025 */ or $s0,$t6,$zero +/* f0e5478: 3c039090 */ lui $v1,0x9090 +/* f0e547c: 3463907f */ ori $v1,$v1,0x907f +/* f0e5480: 244f000a */ addiu $t7,$v0,0xa +/* f0e5484: afaf0010 */ sw $t7,0x10($sp) +/* f0e5488: afa30014 */ sw $v1,0x14($sp) +/* f0e548c: afa30018 */ sw $v1,0x18($sp) +/* f0e5490: 8fa40150 */ lw $a0,0x150($sp) +/* f0e5494: 2405fc18 */ addiu $a1,$zero,-1000 +/* f0e5498: 2606000a */ addiu $a2,$s0,0xa +/* f0e549c: 240707d0 */ addiu $a3,$zero,0x7d0 +/* f0e54a0: 0fc35343 */ jal func0f0d4d0c +/* f0e54a4: afb3001c */ sw $s3,0x1c($sp) +/* f0e54a8: 10000023 */ b .L0f0e5538 +/* f0e54ac: 00409025 */ or $s2,$v0,$zero +.L0f0e54b0: +/* f0e54b0: 2418fff6 */ addiu $t8,$zero,-10 +/* f0e54b4: 3419947f */ dli $t9,0x947f +/* f0e54b8: 3409947f */ dli $t1,0x947f +/* f0e54bc: 240a000a */ addiu $t2,$zero,0xa +/* f0e54c0: afaa001c */ sw $t2,0x1c($sp) +/* f0e54c4: afa90018 */ sw $t1,0x18($sp) +/* f0e54c8: afb90014 */ sw $t9,0x14($sp) +/* f0e54cc: afb80010 */ sw $t8,0x10($sp) +/* f0e54d0: 02402025 */ or $a0,$s2,$zero +/* f0e54d4: 2405fc18 */ addiu $a1,$zero,-1000 +/* f0e54d8: 2406fff6 */ addiu $a2,$zero,-10 +/* f0e54dc: 240707d0 */ addiu $a3,$zero,0x7d0 +/* f0e54e0: 0fc35343 */ jal func0f0d4d0c +/* f0e54e4: afb20150 */ sw $s2,0x150($sp) +/* f0e54e8: 0c002f06 */ jal viGetHeight +/* f0e54ec: afa20150 */ sw $v0,0x150($sp) +/* f0e54f0: 00028400 */ sll $s0,$v0,0x10 +/* f0e54f4: 00105c03 */ sra $t3,$s0,0x10 +/* f0e54f8: 0c002f06 */ jal viGetHeight +/* f0e54fc: 01608025 */ or $s0,$t3,$zero +/* f0e5500: 3c036200 */ lui $v1,0x6200 +/* f0e5504: 3463947f */ ori $v1,$v1,0x947f +/* f0e5508: 244c000a */ addiu $t4,$v0,0xa +/* f0e550c: 240d0006 */ addiu $t5,$zero,0x6 +/* f0e5510: afad001c */ sw $t5,0x1c($sp) +/* f0e5514: afac0010 */ sw $t4,0x10($sp) +/* f0e5518: afa30014 */ sw $v1,0x14($sp) +/* f0e551c: afa30018 */ sw $v1,0x18($sp) +/* f0e5520: 8fa40150 */ lw $a0,0x150($sp) +/* f0e5524: 2405fc18 */ addiu $a1,$zero,-1000 +/* f0e5528: 2606000a */ addiu $a2,$s0,0xa +/* f0e552c: 0fc35343 */ jal func0f0d4d0c +/* f0e5530: 240707d0 */ addiu $a3,$zero,0x7d0 +/* f0e5534: 00409025 */ or $s2,$v0,$zero +.L0f0e5538: +/* f0e5538: 02402025 */ or $a0,$s2,$zero +/* f0e553c: 0fc35320 */ jal func0f0d4c80 +/* f0e5540: afb20150 */ sw $s2,0x150($sp) +/* f0e5544: 00402025 */ or $a0,$v0,$zero +/* f0e5548: 0fc35272 */ jal func0f0d49c8 +/* f0e554c: afa20150 */ sw $v0,0x150($sp) +/* f0e5550: 3c05800b */ lui $a1,%hi(var800ab5a8) +/* f0e5554: 8ca5b5a8 */ lw $a1,%lo(var800ab5a8)($a1) +/* f0e5558: 240e0002 */ addiu $t6,$zero,0x2 +/* f0e555c: 240f0001 */ addiu $t7,$zero,0x1 +/* f0e5560: afaf0014 */ sw $t7,0x14($sp) +/* f0e5564: afae0010 */ sw $t6,0x10($sp) +/* f0e5568: 27a40150 */ addiu $a0,$sp,0x150 +/* f0e556c: 24060002 */ addiu $a2,$zero,0x2 +/* f0e5570: 24070001 */ addiu $a3,$zero,0x1 +/* f0e5574: afa00018 */ sw $zero,0x18($sp) +/* f0e5578: afa20150 */ sw $v0,0x150($sp) +/* f0e557c: 0fc2ce70 */ jal func0f0b39c0 +/* f0e5580: 24a5000c */ addiu $a1,$a1,0x000c +/* f0e5584: 8fb80150 */ lw $t8,0x150($sp) +/* f0e5588: 3c09ba00 */ lui $t1,0xba00 +/* f0e558c: 35291402 */ ori $t1,$t1,0x1402 +/* f0e5590: 27190008 */ addiu $t9,$t8,0x8 +/* f0e5594: afb90150 */ sw $t9,0x150($sp) +/* f0e5598: af000004 */ sw $zero,0x4($t8) +/* f0e559c: af090000 */ sw $t1,0x0($t8) +/* f0e55a0: 8faa0150 */ lw $t2,0x150($sp) +/* f0e55a4: 3c0cba00 */ lui $t4,0xba00 +/* f0e55a8: 358c0602 */ ori $t4,$t4,0x602 +/* f0e55ac: 254b0008 */ addiu $t3,$t2,0x8 +/* f0e55b0: afab0150 */ sw $t3,0x150($sp) +/* f0e55b4: 240d00c0 */ addiu $t5,$zero,0xc0 +/* f0e55b8: ad4d0004 */ sw $t5,0x4($t2) +/* f0e55bc: ad4c0000 */ sw $t4,0x0($t2) +/* f0e55c0: 8fae0150 */ lw $t6,0x150($sp) +/* f0e55c4: 3c18b900 */ lui $t8,0xb900 +/* f0e55c8: 3c190050 */ lui $t9,0x50 +/* f0e55cc: 25cf0008 */ addiu $t7,$t6,0x8 +/* f0e55d0: afaf0150 */ sw $t7,0x150($sp) +/* f0e55d4: 373949d8 */ ori $t9,$t9,0x49d8 +/* f0e55d8: 3718031d */ ori $t8,$t8,0x31d +/* f0e55dc: add80000 */ sw $t8,0x0($t6) +/* f0e55e0: add90004 */ sw $t9,0x4($t6) +/* f0e55e4: 8fa90150 */ lw $t1,0x150($sp) +/* f0e55e8: 3c0bb900 */ lui $t3,0xb900 +/* f0e55ec: 356b0002 */ ori $t3,$t3,0x2 +/* f0e55f0: 252a0008 */ addiu $t2,$t1,0x8 +/* f0e55f4: afaa0150 */ sw $t2,0x150($sp) +/* f0e55f8: ad200004 */ sw $zero,0x4($t1) +/* f0e55fc: ad2b0000 */ sw $t3,0x0($t1) +/* f0e5600: 8fac0150 */ lw $t4,0x150($sp) +/* f0e5604: 3c0eba00 */ lui $t6,0xba00 +/* f0e5608: 35ce1001 */ ori $t6,$t6,0x1001 +/* f0e560c: 258d0008 */ addiu $t5,$t4,0x8 +/* f0e5610: afad0150 */ sw $t5,0x150($sp) +/* f0e5614: ad800004 */ sw $zero,0x4($t4) +/* f0e5618: ad8e0000 */ sw $t6,0x0($t4) +/* f0e561c: 8faf0150 */ lw $t7,0x150($sp) +/* f0e5620: 3c19ba00 */ lui $t9,0xba00 +/* f0e5624: 37390903 */ ori $t9,$t9,0x903 +/* f0e5628: 25f80008 */ addiu $t8,$t7,0x8 +/* f0e562c: afb80150 */ sw $t8,0x150($sp) +/* f0e5630: 24090c00 */ addiu $t1,$zero,0xc00 +/* f0e5634: ade90004 */ sw $t1,0x4($t7) +/* f0e5638: adf90000 */ sw $t9,0x0($t7) +/* f0e563c: 8faa0150 */ lw $t2,0x150($sp) +/* f0e5640: 3c0cfcff */ lui $t4,0xfcff +/* f0e5644: 3c0dff32 */ lui $t5,0xff32 +/* f0e5648: 254b0008 */ addiu $t3,$t2,0x8 +/* f0e564c: afab0150 */ sw $t3,0x150($sp) +/* f0e5650: 35ad7f3f */ ori $t5,$t5,0x7f3f +/* f0e5654: 358c99ff */ ori $t4,$t4,0x99ff +/* f0e5658: ad4c0000 */ sw $t4,0x0($t2) +/* f0e565c: ad4d0004 */ sw $t5,0x4($t2) +/* f0e5660: 8fae0150 */ lw $t6,0x150($sp) +/* f0e5664: 3c18ba00 */ lui $t8,0xba00 +/* f0e5668: 37180c02 */ ori $t8,$t8,0xc02 +/* f0e566c: 25cf0008 */ addiu $t7,$t6,0x8 +/* f0e5670: afaf0150 */ sw $t7,0x150($sp) +/* f0e5674: 24192000 */ addiu $t9,$zero,0x2000 +/* f0e5678: add90004 */ sw $t9,0x4($t6) +/* f0e567c: add80000 */ sw $t8,0x0($t6) +/* f0e5680: 8fa90150 */ lw $t1,0x150($sp) +/* f0e5684: 3c0bba00 */ lui $t3,0xba00 +/* f0e5688: 27b00110 */ addiu $s0,$sp,0x110 +/* f0e568c: 252a0008 */ addiu $t2,$t1,0x8 +/* f0e5690: afaa0150 */ sw $t2,0x150($sp) +/* f0e5694: 356b1301 */ ori $t3,$t3,0x1301 +/* f0e5698: 3c0c0008 */ lui $t4,0x8 +/* f0e569c: 02002025 */ or $a0,$s0,$zero +/* f0e56a0: ad2c0004 */ sw $t4,0x4($t1) +/* f0e56a4: 0c00566c */ jal func000159b0 +/* f0e56a8: ad2b0000 */ sw $t3,0x0($t1) +/* f0e56ac: 0fc59e66 */ jal gfxAllocateMatrix +/* f0e56b0: 00000000 */ nop +/* f0e56b4: 00409025 */ or $s2,$v0,$zero +/* f0e56b8: 02002025 */ or $a0,$s0,$zero +/* f0e56bc: 0c005815 */ jal func00016054 +/* f0e56c0: 00402825 */ or $a1,$v0,$zero +/* f0e56c4: 8fb00150 */ lw $s0,0x150($sp) +/* f0e56c8: 3c0f0102 */ lui $t7,0x102 +/* f0e56cc: 35ef0040 */ ori $t7,$t7,0x40 +/* f0e56d0: 260e0008 */ addiu $t6,$s0,0x8 +/* f0e56d4: afae0150 */ sw $t6,0x150($sp) +/* f0e56d8: 02402025 */ or $a0,$s2,$zero +/* f0e56dc: 0c012d20 */ jal osVirtualToPhysical +/* f0e56e0: ae0f0000 */ sw $t7,0x0($s0) +/* f0e56e4: ae020004 */ sw $v0,0x4($s0) +/* f0e56e8: 0fc59e73 */ jal gfxAllocateColours +/* f0e56ec: 24040014 */ addiu $a0,$zero,0x14 +/* f0e56f0: 8fb800f0 */ lw $t8,0xf0($sp) +/* f0e56f4: 00408025 */ or $s0,$v0,$zero +/* f0e56f8: 00001825 */ or $v1,$zero,$zero +/* f0e56fc: 1300004b */ beqz $t8,.L0f0e582c +/* f0e5700: 00402025 */ or $a0,$v0,$zero +/* f0e5704: 00001825 */ or $v1,$zero,$zero +/* f0e5708: 00402025 */ or $a0,$v0,$zero +/* f0e570c: 2408ff00 */ addiu $t0,$zero,-256 +/* f0e5710: 2407007f */ addiu $a3,$zero,0x7f +/* f0e5714: 24050005 */ addiu $a1,$zero,0x5 +/* f0e5718: 0263c823 */ subu $t9,$s3,$v1 +.L0f0e571c: +/* f0e571c: 03270019 */ multu $t9,$a3 +/* f0e5720: 24630001 */ addiu $v1,$v1,0x1 +/* f0e5724: 28610005 */ slti $at,$v1,0x5 +/* f0e5728: 24840010 */ addiu $a0,$a0,0x10 +/* f0e572c: 00004812 */ mflo $t1 +/* f0e5730: 00000000 */ nop +/* f0e5734: 00000000 */ nop +/* f0e5738: 0125001b */ divu $zero,$t1,$a1 +/* f0e573c: 00005012 */ mflo $t2 +/* f0e5740: 01485825 */ or $t3,$t2,$t0 +/* f0e5744: 14a00002 */ bnez $a1,.L0f0e5750 +/* f0e5748: 00000000 */ nop +/* f0e574c: 0007000d */ break 0x7 +.L0f0e5750: +/* f0e5750: ac8bfff0 */ sw $t3,-0x10($a0) +/* f0e5754: 5420fff1 */ bnezl $at,.L0f0e571c +/* f0e5758: 0263c823 */ subu $t9,$s3,$v1 +/* f0e575c: 3c06aaaa */ lui $a2,0xaaaa +/* f0e5760: 34c6aa00 */ ori $a2,$a2,0xaa00 +/* f0e5764: 00001825 */ or $v1,$zero,$zero +/* f0e5768: 00402025 */ or $a0,$v0,$zero +.L0f0e576c: +/* f0e576c: 02636023 */ subu $t4,$s3,$v1 +/* f0e5770: 000c6900 */ sll $t5,$t4,0x4 +/* f0e5774: 01a5001b */ divu $zero,$t5,$a1 +/* f0e5778: 00007012 */ mflo $t6 +/* f0e577c: 24630001 */ addiu $v1,$v1,0x1 +/* f0e5780: 28610005 */ slti $at,$v1,0x5 +/* f0e5784: 01c67825 */ or $t7,$t6,$a2 +/* f0e5788: 14a00002 */ bnez $a1,.L0f0e5794 +/* f0e578c: 00000000 */ nop +/* f0e5790: 0007000d */ break 0x7 +.L0f0e5794: +/* f0e5794: ac8f0004 */ sw $t7,0x4($a0) +/* f0e5798: 1420fff4 */ bnez $at,.L0f0e576c +/* f0e579c: 24840010 */ addiu $a0,$a0,0x10 +/* f0e57a0: 00001825 */ or $v1,$zero,$zero +/* f0e57a4: 00402025 */ or $a0,$v0,$zero +/* f0e57a8: 0263c023 */ subu $t8,$s3,$v1 +.L0f0e57ac: +/* f0e57ac: 03070019 */ multu $t8,$a3 +/* f0e57b0: 24630001 */ addiu $v1,$v1,0x1 +/* f0e57b4: 28610005 */ slti $at,$v1,0x5 +/* f0e57b8: 24840010 */ addiu $a0,$a0,0x10 +/* f0e57bc: 0000c812 */ mflo $t9 +/* f0e57c0: 00000000 */ nop +/* f0e57c4: 00000000 */ nop +/* f0e57c8: 0325001b */ divu $zero,$t9,$a1 +/* f0e57cc: 00004812 */ mflo $t1 +/* f0e57d0: 01285025 */ or $t2,$t1,$t0 +/* f0e57d4: 14a00002 */ bnez $a1,.L0f0e57e0 +/* f0e57d8: 00000000 */ nop +/* f0e57dc: 0007000d */ break 0x7 +.L0f0e57e0: +/* f0e57e0: ac8afff8 */ sw $t2,-0x8($a0) +/* f0e57e4: 5420fff1 */ bnezl $at,.L0f0e57ac +/* f0e57e8: 0263c023 */ subu $t8,$s3,$v1 +/* f0e57ec: 00001825 */ or $v1,$zero,$zero +/* f0e57f0: 00402025 */ or $a0,$v0,$zero +.L0f0e57f4: +/* f0e57f4: 02635823 */ subu $t3,$s3,$v1 +/* f0e57f8: 000b6100 */ sll $t4,$t3,0x4 +/* f0e57fc: 0185001b */ divu $zero,$t4,$a1 +/* f0e5800: 00006812 */ mflo $t5 +/* f0e5804: 01a67025 */ or $t6,$t5,$a2 +/* f0e5808: 14a00002 */ bnez $a1,.L0f0e5814 +/* f0e580c: 00000000 */ nop +/* f0e5810: 0007000d */ break 0x7 +.L0f0e5814: +/* f0e5814: 24630001 */ addiu $v1,$v1,0x1 +/* f0e5818: ac8e000c */ sw $t6,0xc($a0) +/* f0e581c: 1473fff5 */ bne $v1,$s3,.L0f0e57f4 +/* f0e5820: 24840010 */ addiu $a0,$a0,0x10 +/* f0e5824: 1000004a */ b .L0f0e5950 +/* f0e5828: 8fb30150 */ lw $s3,0x150($sp) +.L0f0e582c: +/* f0e582c: 2408ff00 */ addiu $t0,$zero,-256 +/* f0e5830: 2407007f */ addiu $a3,$zero,0x7f +/* f0e5834: 24050005 */ addiu $a1,$zero,0x5 +/* f0e5838: 02637823 */ subu $t7,$s3,$v1 +.L0f0e583c: +/* f0e583c: 01e70019 */ multu $t7,$a3 +/* f0e5840: 24630001 */ addiu $v1,$v1,0x1 +/* f0e5844: 28610005 */ slti $at,$v1,0x5 +/* f0e5848: 24840010 */ addiu $a0,$a0,0x10 +/* f0e584c: 0000c012 */ mflo $t8 +/* f0e5850: 00000000 */ nop +/* f0e5854: 00000000 */ nop +/* f0e5858: 0305001b */ divu $zero,$t8,$a1 +/* f0e585c: 0000c812 */ mflo $t9 +/* f0e5860: 03284825 */ or $t1,$t9,$t0 +/* f0e5864: 14a00002 */ bnez $a1,.L0f0e5870 +/* f0e5868: 00000000 */ nop +/* f0e586c: 0007000d */ break 0x7 +.L0f0e5870: +/* f0e5870: ac89fff0 */ sw $t1,-0x10($a0) +/* f0e5874: 5420fff1 */ bnezl $at,.L0f0e583c +/* f0e5878: 02637823 */ subu $t7,$s3,$v1 +/* f0e587c: 3c06aaaa */ lui $a2,0xaaaa +/* f0e5880: 34c6ff00 */ ori $a2,$a2,0xff00 +/* f0e5884: 00001825 */ or $v1,$zero,$zero +/* f0e5888: 00402025 */ or $a0,$v0,$zero +.L0f0e588c: +/* f0e588c: 02635023 */ subu $t2,$s3,$v1 +/* f0e5890: 000a5900 */ sll $t3,$t2,0x4 +/* f0e5894: 0165001b */ divu $zero,$t3,$a1 +/* f0e5898: 00006012 */ mflo $t4 +/* f0e589c: 24630001 */ addiu $v1,$v1,0x1 +/* f0e58a0: 28610005 */ slti $at,$v1,0x5 +/* f0e58a4: 01866825 */ or $t5,$t4,$a2 +/* f0e58a8: 14a00002 */ bnez $a1,.L0f0e58b4 +/* f0e58ac: 00000000 */ nop +/* f0e58b0: 0007000d */ break 0x7 +.L0f0e58b4: +/* f0e58b4: ac8d0004 */ sw $t5,0x4($a0) +/* f0e58b8: 1420fff4 */ bnez $at,.L0f0e588c +/* f0e58bc: 24840010 */ addiu $a0,$a0,0x10 +/* f0e58c0: 00001825 */ or $v1,$zero,$zero +/* f0e58c4: 00402025 */ or $a0,$v0,$zero +/* f0e58c8: 02637023 */ subu $t6,$s3,$v1 +.L0f0e58cc: +/* f0e58cc: 01c70019 */ multu $t6,$a3 +/* f0e58d0: 24630001 */ addiu $v1,$v1,0x1 +/* f0e58d4: 28610005 */ slti $at,$v1,0x5 +/* f0e58d8: 24840010 */ addiu $a0,$a0,0x10 +/* f0e58dc: 00007812 */ mflo $t7 +/* f0e58e0: 00000000 */ nop +/* f0e58e4: 00000000 */ nop +/* f0e58e8: 01e5001b */ divu $zero,$t7,$a1 +/* f0e58ec: 0000c012 */ mflo $t8 +/* f0e58f0: 0308c825 */ or $t9,$t8,$t0 +/* f0e58f4: 14a00002 */ bnez $a1,.L0f0e5900 +/* f0e58f8: 00000000 */ nop +/* f0e58fc: 0007000d */ break 0x7 +.L0f0e5900: +/* f0e5900: ac99fff8 */ sw $t9,-0x8($a0) +/* f0e5904: 5420fff1 */ bnezl $at,.L0f0e58cc +/* f0e5908: 02637023 */ subu $t6,$s3,$v1 +/* f0e590c: 3c06ffaa */ lui $a2,0xffaa +/* f0e5910: 34c6ff00 */ ori $a2,$a2,0xff00 +/* f0e5914: 00001825 */ or $v1,$zero,$zero +/* f0e5918: 00402025 */ or $a0,$v0,$zero +.L0f0e591c: +/* f0e591c: 02634823 */ subu $t1,$s3,$v1 +/* f0e5920: 00095100 */ sll $t2,$t1,0x4 +/* f0e5924: 0145001b */ divu $zero,$t2,$a1 +/* f0e5928: 00005812 */ mflo $t3 +/* f0e592c: 01666025 */ or $t4,$t3,$a2 +/* f0e5930: 14a00002 */ bnez $a1,.L0f0e593c +/* f0e5934: 00000000 */ nop +/* f0e5938: 0007000d */ break 0x7 +.L0f0e593c: +/* f0e593c: 24630001 */ addiu $v1,$v1,0x1 +/* f0e5940: ac8c000c */ sw $t4,0xc($a0) +/* f0e5944: 1473fff5 */ bne $v1,$s3,.L0f0e591c +/* f0e5948: 24840010 */ addiu $a0,$a0,0x10 +/* f0e594c: 8fb30150 */ lw $s3,0x150($sp) +.L0f0e5950: +/* f0e5950: 3c0f074c */ lui $t7,0x74c +/* f0e5954: 35ef0050 */ ori $t7,$t7,0x50 +/* f0e5958: 266e0008 */ addiu $t6,$s3,0x8 +/* f0e595c: afae0150 */ sw $t6,0x150($sp) +/* f0e5960: 02002025 */ or $a0,$s0,$zero +/* f0e5964: 0c012d20 */ jal osVirtualToPhysical +/* f0e5968: ae6f0000 */ sw $t7,0x0($s3) +/* f0e596c: ae620004 */ sw $v0,0x4($s3) +/* f0e5970: 3c017f1b */ lui $at,%hi(var7f1adf84) +/* f0e5974: c42adf84 */ lwc1 $f10,%lo(var7f1adf84)($at) +/* f0e5978: 3c017f1b */ lui $at,%hi(var7f1adf88) +/* f0e597c: c43edf88 */ lwc1 $f30,%lo(var7f1adf88)($at) +/* f0e5980: 460aa002 */ mul.s $f0,$f20,$f10 +/* f0e5984: 3c014170 */ lui $at,0x4170 +/* f0e5988: 4481e000 */ mtc1 $at,$f28 +/* f0e598c: 3c017f1b */ lui $at,%hi(var7f1adf8c) +/* f0e5990: c43adf8c */ lwc1 $f26,%lo(var7f1adf8c)($at) +/* f0e5994: 3c0141c8 */ lui $at,0x41c8 +/* f0e5998: 4481b000 */ mtc1 $at,$f22 +/* f0e599c: e7a00070 */ swc1 $f0,0x70($sp) +/* f0e59a0: 24120117 */ addiu $s2,$zero,0x117 +/* f0e59a4: 24100d14 */ addiu $s0,$zero,0xd14 +.L0f0e59a8: +/* f0e59a8: 44922000 */ mtc1 $s2,$f4 +/* f0e59ac: c7a00070 */ lwc1 $f0,0x70($sp) +/* f0e59b0: 00009825 */ or $s3,$zero,$zero +/* f0e59b4: 468021a0 */ cvt.s.w $f6,$f4 +/* f0e59b8: 461c3483 */ div.s $f18,$f6,$f28 +/* f0e59bc: 4612d202 */ mul.s $f8,$f26,$f18 +/* f0e59c0: 46080500 */ add.s $f20,$f0,$f8 +/* f0e59c4: 0c0068f7 */ jal sinf +/* f0e59c8: 4600a306 */ mov.s $f12,$f20 +/* f0e59cc: 46000606 */ mov.s $f24,$f0 +/* f0e59d0: 0c0068f4 */ jal cosf +/* f0e59d4: 4600a306 */ mov.s $f12,$f20 +/* f0e59d8: 8e380000 */ lw $t8,0x0($s1) +/* f0e59dc: 46000506 */ mov.s $f20,$f0 +/* f0e59e0: 3c017f1b */ lui $at,%hi(var7f1adf90) +/* f0e59e4: 03101821 */ addu $v1,$t8,$s0 +/* f0e59e8: c4700000 */ lwc1 $f16,0x0($v1) +/* f0e59ec: e7b000b8 */ swc1 $f16,0xb8($sp) +/* f0e59f0: c46a0004 */ lwc1 $f10,0x4($v1) +/* f0e59f4: e7aa00bc */ swc1 $f10,0xbc($sp) +/* f0e59f8: c4640008 */ lwc1 $f4,0x8($v1) +/* f0e59fc: e7a400c0 */ swc1 $f4,0xc0($sp) +/* f0e5a00: c7a600c0 */ lwc1 $f6,0xc0($sp) +/* f0e5a04: c7a000c0 */ lwc1 $f0,0xc0($sp) +/* f0e5a08: 461e303c */ c.lt.s $f6,$f30 +/* f0e5a0c: 00000000 */ nop +/* f0e5a10: 4502000e */ bc1fl .L0f0e5a4c +/* f0e5a14: 44808000 */ mtc1 $zero,$f16 +/* f0e5a18: c432df90 */ lwc1 $f18,%lo(var7f1adf90)($at) +/* f0e5a1c: 3c0144af */ lui $at,0x44af +/* f0e5a20: 44815000 */ mtc1 $at,$f10 +/* f0e5a24: 46123200 */ add.s $f8,$f6,$f18 +/* f0e5a28: 3c0140a0 */ lui $at,0x40a0 +/* f0e5a2c: 44813000 */ mtc1 $at,$f6 +/* f0e5a30: 46004407 */ neg.s $f16,$f8 +/* f0e5a34: 460a8103 */ div.s $f4,$f16,$f10 +/* f0e5a38: 46062482 */ mul.s $f18,$f4,$f6 +/* f0e5a3c: 4600920d */ trunc.w.s $f8,$f18 +/* f0e5a40: 44134000 */ mfc1 $s3,$f8 +/* f0e5a44: 00000000 */ nop +/* f0e5a48: 44808000 */ mtc1 $zero,$f16 +.L0f0e5a4c: +/* f0e5a4c: 2a610006 */ slti $at,$s3,0x6 +/* f0e5a50: 4610003c */ c.lt.s $f0,$f16 +/* f0e5a54: 00000000 */ nop +/* f0e5a58: 4502008d */ bc1fl .L0f0e5c90 +/* f0e5a5c: 2652ffff */ addiu $s2,$s2,-1 +/* f0e5a60: 5020008b */ beqzl $at,.L0f0e5c90 +/* f0e5a64: 2652ffff */ addiu $s2,$s2,-1 +/* f0e5a68: 0fc59e59 */ jal gfxAllocateVertices +/* f0e5a6c: 24040005 */ addiu $a0,$zero,0x5 +/* f0e5a70: c7aa00b8 */ lwc1 $f10,0xb8($sp) +/* f0e5a74: 4600c007 */ neg.s $f0,$f24 +/* f0e5a78: 4600a087 */ neg.s $f2,$f20 +/* f0e5a7c: 4600510d */ trunc.w.s $f4,$f10 +/* f0e5a80: 00402025 */ or $a0,$v0,$zero +/* f0e5a84: 440a2000 */ mfc1 $t2,$f4 +/* f0e5a88: 4614c100 */ add.s $f4,$f24,$f20 +/* f0e5a8c: a44a0000 */ sh $t2,0x0($v0) +/* f0e5a90: c7a600bc */ lwc1 $f6,0xbc($sp) +/* f0e5a94: 4600348d */ trunc.w.s $f18,$f6 +/* f0e5a98: 4604b182 */ mul.s $f6,$f22,$f4 +/* f0e5a9c: 4600a100 */ add.s $f4,$f20,$f0 +/* f0e5aa0: 440c9000 */ mfc1 $t4,$f18 +/* f0e5aa4: 00000000 */ nop +/* f0e5aa8: a44c0002 */ sh $t4,0x2($v0) +/* f0e5aac: c7a800c0 */ lwc1 $f8,0xc0($sp) +/* f0e5ab0: 4600440d */ trunc.w.s $f16,$f8 +/* f0e5ab4: 440e8000 */ mfc1 $t6,$f16 +/* f0e5ab8: 00000000 */ nop +/* f0e5abc: a44e0004 */ sh $t6,0x4($v0) +/* f0e5ac0: c7aa00b8 */ lwc1 $f10,0xb8($sp) +/* f0e5ac4: 46065480 */ add.s $f18,$f10,$f6 +/* f0e5ac8: 4604b282 */ mul.s $f10,$f22,$f4 +/* f0e5acc: 4600920d */ trunc.w.s $f8,$f18 +/* f0e5ad0: 44184000 */ mfc1 $t8,$f8 +/* f0e5ad4: 00000000 */ nop +/* f0e5ad8: a458000c */ sh $t8,0xc($v0) +/* f0e5adc: c7b000bc */ lwc1 $f16,0xbc($sp) +/* f0e5ae0: 460a8180 */ add.s $f6,$f16,$f10 +/* f0e5ae4: 4614c281 */ sub.s $f10,$f24,$f20 +/* f0e5ae8: 4600348d */ trunc.w.s $f18,$f6 +/* f0e5aec: 460ab182 */ mul.s $f6,$f22,$f10 +/* f0e5af0: 4600a281 */ sub.s $f10,$f20,$f0 +/* f0e5af4: 44099000 */ mfc1 $t1,$f18 +/* f0e5af8: 00000000 */ nop +/* f0e5afc: a449000e */ sh $t1,0xe($v0) +/* f0e5b00: c7a800c0 */ lwc1 $f8,0xc0($sp) +/* f0e5b04: 4600410d */ trunc.w.s $f4,$f8 +/* f0e5b08: 440b2000 */ mfc1 $t3,$f4 +/* f0e5b0c: 00000000 */ nop +/* f0e5b10: a44b0010 */ sh $t3,0x10($v0) +/* f0e5b14: c7b000b8 */ lwc1 $f16,0xb8($sp) +/* f0e5b18: 46068480 */ add.s $f18,$f16,$f6 +/* f0e5b1c: 460ab402 */ mul.s $f16,$f22,$f10 +/* f0e5b20: 4600920d */ trunc.w.s $f8,$f18 +/* f0e5b24: 440d4000 */ mfc1 $t5,$f8 +/* f0e5b28: 00000000 */ nop +/* f0e5b2c: a44d0018 */ sh $t5,0x18($v0) +/* f0e5b30: c7a400bc */ lwc1 $f4,0xbc($sp) +/* f0e5b34: 46102180 */ add.s $f6,$f4,$f16 +/* f0e5b38: 46140401 */ sub.s $f16,$f0,$f20 +/* f0e5b3c: 4600348d */ trunc.w.s $f18,$f6 +/* f0e5b40: 4610b182 */ mul.s $f6,$f22,$f16 +/* f0e5b44: 46001401 */ sub.s $f16,$f2,$f0 +/* f0e5b48: 440f9000 */ mfc1 $t7,$f18 +/* f0e5b4c: 00000000 */ nop +/* f0e5b50: a44f001a */ sh $t7,0x1a($v0) +/* f0e5b54: c7a800c0 */ lwc1 $f8,0xc0($sp) +/* f0e5b58: 4600428d */ trunc.w.s $f10,$f8 +/* f0e5b5c: 44195000 */ mfc1 $t9,$f10 +/* f0e5b60: 00000000 */ nop +/* f0e5b64: a459001c */ sh $t9,0x1c($v0) +/* f0e5b68: c7a400b8 */ lwc1 $f4,0xb8($sp) +/* f0e5b6c: 46062480 */ add.s $f18,$f4,$f6 +/* f0e5b70: 4610b102 */ mul.s $f4,$f22,$f16 +/* f0e5b74: 4600920d */ trunc.w.s $f8,$f18 +/* f0e5b78: 440a4000 */ mfc1 $t2,$f8 +/* f0e5b7c: 00000000 */ nop +/* f0e5b80: a44a0024 */ sh $t2,0x24($v0) +/* f0e5b84: c7aa00bc */ lwc1 $f10,0xbc($sp) +/* f0e5b88: 46045180 */ add.s $f6,$f10,$f4 +/* f0e5b8c: 46140100 */ add.s $f4,$f0,$f20 +/* f0e5b90: 4600348d */ trunc.w.s $f18,$f6 +/* f0e5b94: 4604b182 */ mul.s $f6,$f22,$f4 +/* f0e5b98: 46001100 */ add.s $f4,$f2,$f0 +/* f0e5b9c: 440c9000 */ mfc1 $t4,$f18 +/* f0e5ba0: 00000000 */ nop +/* f0e5ba4: a44c0026 */ sh $t4,0x26($v0) +/* f0e5ba8: c7a800c0 */ lwc1 $f8,0xc0($sp) +/* f0e5bac: 00136080 */ sll $t4,$s3,0x2 +/* f0e5bb0: 4600440d */ trunc.w.s $f16,$f8 +/* f0e5bb4: 440e8000 */ mfc1 $t6,$f16 +/* f0e5bb8: 00000000 */ nop +/* f0e5bbc: a44e0028 */ sh $t6,0x28($v0) +/* f0e5bc0: c7aa00b8 */ lwc1 $f10,0xb8($sp) +/* f0e5bc4: 46065480 */ add.s $f18,$f10,$f6 +/* f0e5bc8: 4604b282 */ mul.s $f10,$f22,$f4 +/* f0e5bcc: 4600920d */ trunc.w.s $f8,$f18 +/* f0e5bd0: 44184000 */ mfc1 $t8,$f8 +/* f0e5bd4: 00000000 */ nop +/* f0e5bd8: a4580030 */ sh $t8,0x30($v0) +/* f0e5bdc: c7b000bc */ lwc1 $f16,0xbc($sp) +/* f0e5be0: 460a8180 */ add.s $f6,$f16,$f10 +/* f0e5be4: 4600348d */ trunc.w.s $f18,$f6 +/* f0e5be8: 44099000 */ mfc1 $t1,$f18 +/* f0e5bec: 00000000 */ nop +/* f0e5bf0: a4490032 */ sh $t1,0x32($v0) +/* f0e5bf4: c7a800c0 */ lwc1 $f8,0xc0($sp) +/* f0e5bf8: 3c090440 */ lui $t1,0x440 +/* f0e5bfc: 3529003c */ ori $t1,$t1,0x3c +/* f0e5c00: 4600410d */ trunc.w.s $f4,$f8 +/* f0e5c04: 440b2000 */ mfc1 $t3,$f4 +/* f0e5c08: 00000000 */ nop +/* f0e5c0c: a44b0034 */ sh $t3,0x34($v0) +/* f0e5c10: 06410004 */ bgez $s2,.L0f0e5c24 +/* f0e5c14: 324d0001 */ andi $t5,$s2,0x1 +/* f0e5c18: 11a00002 */ beqz $t5,.L0f0e5c24 +/* f0e5c1c: 00000000 */ nop +/* f0e5c20: 25adfffe */ addiu $t5,$t5,-2 +.L0f0e5c24: +/* f0e5c24: 000d7040 */ sll $t6,$t5,0x1 +/* f0e5c28: 018e1821 */ addu $v1,$t4,$t6 +/* f0e5c2c: 00037880 */ sll $t7,$v1,0x2 +/* f0e5c30: 25e50004 */ addiu $a1,$t7,0x4 +/* f0e5c34: a04f0007 */ sb $t7,0x7($v0) +/* f0e5c38: a0450013 */ sb $a1,0x13($v0) +/* f0e5c3c: a085001f */ sb $a1,0x1f($a0) +/* f0e5c40: a085002b */ sb $a1,0x2b($a0) +/* f0e5c44: a0850037 */ sb $a1,0x37($a0) +/* f0e5c48: 8fb80150 */ lw $t8,0x150($sp) +/* f0e5c4c: 27190008 */ addiu $t9,$t8,0x8 +/* f0e5c50: afb90150 */ sw $t9,0x150($sp) +/* f0e5c54: af090000 */ sw $t1,0x0($t8) +/* f0e5c58: 0c012d20 */ jal osVirtualToPhysical +/* f0e5c5c: afb80080 */ sw $t8,0x80($sp) +/* f0e5c60: 8fa60080 */ lw $a2,0x80($sp) +/* f0e5c64: 3c0db100 */ lui $t5,0xb100 +/* f0e5c68: 3c0c4030 */ lui $t4,0x4030 +/* f0e5c6c: acc20004 */ sw $v0,0x4($a2) +/* f0e5c70: 8faa0150 */ lw $t2,0x150($sp) +/* f0e5c74: 358c2010 */ ori $t4,$t4,0x2010 +/* f0e5c78: 35ad1432 */ ori $t5,$t5,0x1432 +/* f0e5c7c: 254b0008 */ addiu $t3,$t2,0x8 +/* f0e5c80: afab0150 */ sw $t3,0x150($sp) +/* f0e5c84: ad4c0004 */ sw $t4,0x4($t2) +/* f0e5c88: ad4d0000 */ sw $t5,0x0($t2) +/* f0e5c8c: 2652ffff */ addiu $s2,$s2,-1 +.L0f0e5c90: +/* f0e5c90: 0641ff45 */ bgez $s2,.L0f0e59a8 +/* f0e5c94: 2610fff4 */ addiu $s0,$s0,-12 +/* f0e5c98: 0fc351e7 */ jal func0f0d479c +/* f0e5c9c: 8fa40150 */ lw $a0,0x150($sp) +.L0f0e5ca0: +/* f0e5ca0: 8fbf0064 */ lw $ra,0x64($sp) +/* f0e5ca4: d7b40020 */ ldc1 $f20,0x20($sp) +/* f0e5ca8: d7b60028 */ ldc1 $f22,0x28($sp) +/* f0e5cac: d7b80030 */ ldc1 $f24,0x30($sp) +/* f0e5cb0: d7ba0038 */ ldc1 $f26,0x38($sp) +/* f0e5cb4: d7bc0040 */ ldc1 $f28,0x40($sp) +/* f0e5cb8: d7be0048 */ ldc1 $f30,0x48($sp) +/* f0e5cbc: 8fb00054 */ lw $s0,0x54($sp) +/* f0e5cc0: 8fb10058 */ lw $s1,0x58($sp) +/* f0e5cc4: 8fb2005c */ lw $s2,0x5c($sp) +/* f0e5cc8: 8fb30060 */ lw $s3,0x60($sp) +/* f0e5ccc: 03e00008 */ jr $ra +/* f0e5cd0: 27bd0150 */ addiu $sp,$sp,0x150 +); +#else GLOBAL_ASM( glabel func0f0e5000 /* f0e5000: 27bdfeb0 */ addiu $sp,$sp,-336 @@ -6013,3 +6881,4 @@ glabel func0f0e5000 /* f0e5ccc: 03e00008 */ jr $ra /* f0e5cd0: 27bd0150 */ addiu $sp,$sp,0x150 ); +#endif diff --git a/src/game/game_0f09f0.c b/src/game/game_0f09f0.c index 971782660..b3fb53091 100644 --- a/src/game/game_0f09f0.c +++ b/src/game/game_0f09f0.c @@ -1149,7 +1149,11 @@ void func0f0f1418(void) for (i = 0; i < 4; i++) { if (g_Menus[g_MpPlayerNum].unkdfc[i].item) { +#if VERSION >= VERSION_PAL_FINAL + g_Menus[g_MpPlayerNum].unkdfc[i].unk04 += g_Vars.diffframe60freal / 60.0f; +#else g_Menus[g_MpPlayerNum].unkdfc[i].unk04 += g_Vars.diffframe60f / 60.0f; +#endif } } } diff --git a/src/game/game_102240.c b/src/game/game_102240.c index 1eddcec74..b1384060e 100644 --- a/src/game/game_102240.c +++ b/src/game/game_102240.c @@ -150,13 +150,13 @@ s32 menuhandlerAimControl(s32 operation, struct menuitem *item, union handlerdat ? g_Vars.currentplayerstats->mpindex : item->param3; #if PAL + s32 index = 0; + u16 options[2][2] = { { L_OPTIONS_201, L_OPTIONS_202 }, // "Hold", "Toggle" { L_MPWEAPONS_276, L_MPWEAPONS_277 }, // "Hold", "Toggle" }; - s32 index = 0; - if (optionsGetScreenSplit() == SCREENSPLIT_VERTICAL && PLAYERCOUNT() >= 2) { index = 1; } @@ -3455,8 +3455,8 @@ void func0f105948(s32 weaponnum) func0f0f372c(&g_Menus[g_MpPlayerNum].unk840, 0, 0, 0, 0, 0, 0, 1, 1); - g_Menus[g_MpPlayerNum].unkdb8 = 60; - g_Menus[g_MpPlayerNum].unkdb4 = 120; + g_Menus[g_MpPlayerNum].unkdb8 = PALDOWN(60); + g_Menus[g_MpPlayerNum].unkdb4 = PALDOWN(120); g_Menus[g_MpPlayerNum].unkd8c = -0.2f; g_Menus[g_MpPlayerNum].unkd64 = -0.2f; } @@ -3484,8 +3484,8 @@ s32 inventoryMenuDialog(s32 operation, struct menudialog *dialog, union handlerd if (g_InventoryWeapon == WEAPON_DISGUISE40 || g_InventoryWeapon == WEAPON_DISGUISE41) { g_Menus[g_MpPlayerNum].unk89c = 0x6a; - g_Menus[g_MpPlayerNum].unkdb8 = 60; - g_Menus[g_MpPlayerNum].unkdb4 = 120; + g_Menus[g_MpPlayerNum].unkdb8 = PALDOWN(60); + g_Menus[g_MpPlayerNum].unkdb4 = PALDOWN(120); } } else { var80072d88 = 255; diff --git a/src/game/game_110680.c b/src/game/game_110680.c index 090d3632c..f401e1a94 100644 --- a/src/game/game_110680.c +++ b/src/game/game_110680.c @@ -312,6 +312,123 @@ glabel func0f11080c /* f1109bc: 27bd0128 */ addiu $sp,$sp,0x128 ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f1109c0 +/* f1109c0: 27bdfed0 */ addiu $sp,$sp,-304 +/* f1109c4: afb20028 */ sw $s2,0x28($sp) +/* f1109c8: 27b2004c */ addiu $s2,$sp,0x4c +/* f1109cc: afbf002c */ sw $ra,0x2c($sp) +/* f1109d0: afb10024 */ sw $s1,0x24($sp) +/* f1109d4: afb00020 */ sw $s0,0x20($sp) +/* f1109d8: afa0012c */ sw $zero,0x12c($sp) +/* f1109dc: 0fc35517 */ jal func0f0d545c +/* f1109e0: 02402025 */ or $a0,$s2,$zero +/* f1109e4: 3c10800a */ lui $s0,%hi(g_Vars) +/* f1109e8: 26109fc0 */ addiu $s0,$s0,%lo(g_Vars) +/* f1109ec: 8e0e047c */ lw $t6,0x47c($s0) +/* f1109f0: 960f0480 */ lhu $t7,0x480($s0) +/* f1109f4: 02402025 */ or $a0,$s2,$zero +/* f1109f8: 27a50044 */ addiu $a1,$sp,0x44 +/* f1109fc: afae0044 */ sw $t6,0x44($sp) +/* f110a00: 0fc355d7 */ jal func0f0d575c +/* f110a04: a7af0048 */ sh $t7,0x48($sp) +/* 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 +/* f110a18: 24060001 */ addiu $a2,$zero,0x1 +/* f110a1c: 02402025 */ or $a0,$s2,$zero +/* f110a20: 96050482 */ lhu $a1,0x482($s0) +/* f110a24: 0fc354be */ jal savefileGetSomething +/* f110a28: 24060004 */ addiu $a2,$zero,0x4 +/* f110a2c: 3c10800b */ lui $s0,%hi(g_MpSetup+0x28) +/* f110a30: 3c11800b */ lui $s1,%hi(g_MpSetup+0x88) +/* f110a34: 2631cc10 */ addiu $s1,$s1,%lo(g_MpSetup+0x88) +/* f110a38: 2610cbb0 */ addiu $s0,$s0,%lo(g_MpSetup+0x28) +/* f110a3c: 02402025 */ or $a0,$s2,$zero +.L0f110a40: +/* f110a40: 0fc35569 */ jal func0f0d55a4 +/* f110a44: 02002825 */ or $a1,$s0,$zero +/* f110a48: 2610000c */ addiu $s0,$s0,0xc +/* f110a4c: 0211082b */ sltu $at,$s0,$s1 +/* f110a50: 5420fffb */ bnezl $at,.L0f110a40 +/* f110a54: 02402025 */ or $a0,$s2,$zero +/* f110a58: 3c02800b */ lui $v0,%hi(g_MpSetupSaveFile+0x64) +/* f110a5c: 8042cc14 */ lb $v0,%lo(g_MpSetupSaveFile+0x64)($v0) +/* f110a60: 2401ffff */ addiu $at,$zero,-1 +/* f110a64: 02402025 */ or $a0,$s2,$zero +/* f110a68: 14410007 */ bne $v0,$at,.L0f110a88 +/* f110a6c: 00402825 */ or $a1,$v0,$zero +/* f110a70: 02402025 */ or $a0,$s2,$zero +/* f110a74: 240500ff */ addiu $a1,$zero,0xff +/* f110a78: 0fc354be */ jal savefileGetSomething +/* f110a7c: 24060008 */ addiu $a2,$zero,0x8 +/* f110a80: 10000003 */ b .L0f110a90 +/* f110a84: 00000000 */ nop +.L0f110a88: +/* f110a88: 0fc354be */ jal savefileGetSomething +/* f110a8c: 24060008 */ addiu $a2,$zero,0x8 +.L0f110a90: +/* f110a90: 3c10800b */ lui $s0,%hi(g_MpSetup+0x28) +/* f110a94: 3c11800b */ lui $s1,%hi(g_MpSetup+0x2e) +/* f110a98: 2631cbb6 */ addiu $s1,$s1,%lo(g_MpSetup+0x2e) +/* f110a9c: 2610cbb0 */ addiu $s0,$s0,%lo(g_MpSetup+0x28) +/* f110aa0: 02402025 */ or $a0,$s2,$zero +.L0f110aa4: +/* f110aa4: 92050065 */ lbu $a1,0x65($s0) +/* f110aa8: 0fc354be */ jal savefileGetSomething +/* f110aac: 24060008 */ addiu $a2,$zero,0x8 +/* f110ab0: 26100001 */ addiu $s0,$s0,0x1 +/* f110ab4: 5611fffb */ bnel $s0,$s1,.L0f110aa4 +/* f110ab8: 02402025 */ or $a0,$s2,$zero +/* 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 +/* 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 +/* 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 +/* f110af4: 24060001 */ addiu $a2,$zero,0x1 +/* f110af8: 0fc35531 */ jal func0f0d54c4 +/* f110afc: 02402025 */ or $a0,$s2,$zero +/* f110b00: 0fc441c8 */ jal func0f110720 +/* f110b04: 00000000 */ nop +/* f110b08: 14400007 */ bnez $v0,.L0f110b28 +/* f110b0c: 00408025 */ or $s0,$v0,$zero +/* f110b10: 3c047f1b */ lui $a0,%hi(var7f1b39b0) +/* f110b14: 3c057f1b */ lui $a1,%hi(var7f1b39bc) +/* f110b18: 24a539bc */ addiu $a1,$a1,%lo(var7f1b39bc) +/* f110b1c: 248439b0 */ addiu $a0,$a0,%lo(var7f1b39b0) +/* f110b20: 0c002ff4 */ jal func0000bfd0 +/* f110b24: 24060177 */ addiu $a2,$zero,0x179 +.L0f110b28: +/* f110b28: 24040004 */ addiu $a0,$zero,0x4 +/* f110b2c: 02002825 */ or $a1,$s0,$zero +/* f110b30: 24060010 */ addiu $a2,$zero,0x10 +/* f110b34: 27a70050 */ addiu $a3,$sp,0x50 +/* f110b38: afa00010 */ sw $zero,0x10($sp) +/* f110b3c: 0fc45a0a */ jal func0f116828 +/* f110b40: afa00014 */ sw $zero,0x14($sp) +/* f110b44: 10400002 */ beqz $v0,.L0f110b50 +/* f110b48: 24180001 */ addiu $t8,$zero,0x1 +/* f110b4c: afb8012c */ sw $t8,0x12c($sp) +.L0f110b50: +/* f110b50: 8fbf002c */ lw $ra,0x2c($sp) +/* f110b54: 8fb00020 */ lw $s0,0x20($sp) +/* f110b58: 8fb10024 */ lw $s1,0x24($sp) +/* f110b5c: 8fb20028 */ lw $s2,0x28($sp) +/* f110b60: 03e00008 */ jr $ra +/* f110b64: 27bd0130 */ addiu $sp,$sp,0x130 +); +#else GLOBAL_ASM( glabel func0f1109c0 /* f1109c0: 27bdfed0 */ addiu $sp,$sp,-304 @@ -427,6 +544,7 @@ glabel func0f1109c0 /* f110b60: 03e00008 */ jr $ra /* f110b64: 27bd0130 */ addiu $sp,$sp,0x130 ); +#endif void func0f110b68(void) { diff --git a/src/game/game_11f000.c b/src/game/game_11f000.c index 42a4e922e..d710de630 100644 --- a/src/game/game_11f000.c +++ b/src/game/game_11f000.c @@ -9648,6 +9648,120 @@ glabel var7f1b511c ); #endif +#if PAL +GLOBAL_ASM( +glabel func0f126c3c +/* f126c3c: 27bdff90 */ addiu $sp,$sp,-112 +/* f126c40: afa7007c */ sw $a3,0x7c($sp) +/* f126c44: 44856000 */ mtc1 $a1,$f12 +/* f126c48: 44867000 */ mtc1 $a2,$f14 +/* f126c4c: c7a4007c */ lwc1 $f4,0x7c($sp) +/* f126c50: afbf0024 */ sw $ra,0x24($sp) +/* f126c54: afa40070 */ sw $a0,0x70($sp) +/* f126c58: e7ac0064 */ swc1 $f12,0x64($sp) +/* f126c5c: e7ae0068 */ swc1 $f14,0x68($sp) +/* f126c60: 0fc2d5be */ jal currentPlayerGetMatrix1740 +/* f126c64: e7a4006c */ swc1 $f4,0x6c($sp) +/* f126c68: 00402025 */ or $a0,$v0,$zero +/* f126c6c: 0c0056d9 */ jal func00015b64 +/* f126c70: 27a50064 */ addiu $a1,$sp,0x64 +/* f126c74: 0fc2d5c6 */ jal currentPlayerGetUnk1754 +/* f126c78: 00000000 */ nop +/* f126c7c: 00402025 */ or $a0,$v0,$zero +/* f126c80: 0c0056d9 */ jal func00015b64 +/* f126c84: 27a50064 */ addiu $a1,$sp,0x64 +/* f126c88: 3c013f80 */ lui $at,0x3f80 +/* f126c8c: 44813000 */ mtc1 $at,$f6 +/* f126c90: c7a8006c */ lwc1 $f8,0x6c($sp) +/* f126c94: 4608303c */ c.lt.s $f6,$f8 +/* f126c98: 00000000 */ nop +/* f126c9c: 4502004e */ bc1fl .L0f126dd8 +/* f126ca0: 8fbf0024 */ lw $ra,0x24($sp) +/* f126ca4: 0c002f40 */ jal viGetViewLeft +/* f126ca8: 00000000 */ nop +/* f126cac: 0c002f44 */ jal viGetViewTop +/* f126cb0: a7a2005a */ sh $v0,0x5a($sp) +/* f126cb4: 0c002f22 */ jal viGetViewWidth +/* f126cb8: a7a20058 */ sh $v0,0x58($sp) +/* f126cbc: 0c002f26 */ jal viGetViewHeight +/* f126cc0: a7a20056 */ sh $v0,0x56($sp) +/* f126cc4: 87ae0056 */ lh $t6,0x56($sp) +/* f126cc8: c7a60064 */ lwc1 $f6,0x64($sp) +/* f126ccc: c7a8006c */ lwc1 $f8,0x6c($sp) +/* f126cd0: 448e5000 */ mtc1 $t6,$f10 +/* f126cd4: 87af005a */ lh $t7,0x5a($sp) +/* f126cd8: 3c013f80 */ lui $at,0x3f80 +/* f126cdc: 468053a0 */ cvt.s.w $f14,$f10 +/* f126ce0: 448f2000 */ mtc1 $t7,$f4 +/* f126ce4: 87b80058 */ lh $t8,0x58($sp) +/* f126ce8: 46083283 */ div.s $f10,$f6,$f8 +/* f126cec: 46802020 */ cvt.s.w $f0,$f4 +/* f126cf0: 44812000 */ mtc1 $at,$f4 +/* f126cf4: 3c013f00 */ lui $at,0x3f00 +/* f126cf8: 46045180 */ add.s $f6,$f10,$f4 +/* f126cfc: 44815000 */ mtc1 $at,$f10 +/* f126d00: 3c013f80 */ lui $at,0x3f80 +/* f126d04: 460a3102 */ mul.s $f4,$f6,$f10 +/* f126d08: 00000000 */ nop +/* f126d0c: 460e2182 */ mul.s $f6,$f4,$f14 +/* f126d10: 44822000 */ mtc1 $v0,$f4 +/* f126d14: 00000000 */ nop +/* f126d18: 46802420 */ cvt.s.w $f16,$f4 +/* f126d1c: c7a40068 */ lwc1 $f4,0x68($sp) +/* f126d20: 46003280 */ add.s $f10,$f6,$f0 +/* f126d24: 44983000 */ mtc1 $t8,$f6 +/* f126d28: 00000000 */ nop +/* f126d2c: 468030a0 */ cvt.s.w $f2,$f6 +/* f126d30: e7aa002c */ swc1 $f10,0x2c($sp) +/* f126d34: 46002187 */ neg.s $f6,$f4 +/* f126d38: 460a003e */ c.le.s $f0,$f10 +/* f126d3c: 46083103 */ div.s $f4,$f6,$f8 +/* f126d40: 44813000 */ mtc1 $at,$f6 +/* f126d44: 3c013f00 */ lui $at,0x3f00 +/* f126d48: 46062200 */ add.s $f8,$f4,$f6 +/* f126d4c: 44812000 */ mtc1 $at,$f4 +/* f126d50: 00000000 */ nop +/* f126d54: 46044182 */ mul.s $f6,$f8,$f4 +/* f126d58: 00000000 */ nop +/* f126d5c: 46103202 */ mul.s $f8,$f6,$f16 +/* f126d60: 46024300 */ add.s $f12,$f8,$f2 +/* f126d64: 4500001b */ bc1f .L0f126dd4 +/* f126d68: e7ac005c */ swc1 $f12,0x5c($sp) +/* f126d6c: 460e0100 */ add.s $f4,$f0,$f14 +/* f126d70: 4604503c */ c.lt.s $f10,$f4 +/* f126d74: 00000000 */ nop +/* f126d78: 45020017 */ bc1fl .L0f126dd8 +/* f126d7c: 8fbf0024 */ lw $ra,0x24($sp) +/* f126d80: 460c103e */ c.le.s $f2,$f12 +/* f126d84: 00000000 */ nop +/* f126d88: 45020013 */ bc1fl .L0f126dd8 +/* f126d8c: 8fbf0024 */ lw $ra,0x24($sp) +/* f126d90: 46101180 */ add.s $f6,$f2,$f16 +/* f126d94: 8fa40070 */ lw $a0,0x70($sp) +/* f126d98: 8fa6005c */ lw $a2,0x5c($sp) +/* f126d9c: 8fa70084 */ lw $a3,0x84($sp) +/* f126da0: 4606603c */ c.lt.s $f12,$f6 +/* f126da4: c7a80080 */ lwc1 $f8,0x80($sp) +/* f126da8: 2419005a */ addiu $t9,$zero,0x4b +/* f126dac: 3c013f80 */ lui $at,0x3f80 +/* f126db0: 45020009 */ bc1fl .L0f126dd8 +/* f126db4: 8fbf0024 */ lw $ra,0x24($sp) +/* f126db8: 44055000 */ mfc1 $a1,$f10 +/* f126dbc: 44815000 */ mtc1 $at,$f10 +/* f126dc0: e7a80010 */ swc1 $f8,0x10($sp) +/* f126dc4: afb90014 */ sw $t9,0x14($sp) +/* f126dc8: 0fc498e1 */ jal func0f126384 +/* f126dcc: e7aa0018 */ swc1 $f10,0x18($sp) +/* f126dd0: afa20070 */ sw $v0,0x70($sp) +.L0f126dd4: +/* f126dd4: 8fbf0024 */ lw $ra,0x24($sp) +.L0f126dd8: +/* f126dd8: 8fa20070 */ lw $v0,0x70($sp) +/* f126ddc: 27bd0070 */ addiu $sp,$sp,0x70 +/* f126de0: 03e00008 */ jr $ra +/* f126de4: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f126c3c /* f126c3c: 27bdff90 */ addiu $sp,$sp,-112 @@ -9760,6 +9874,7 @@ glabel func0f126c3c /* f126de0: 03e00008 */ jr $ra /* f126de4: 00000000 */ nop ); +#endif GLOBAL_ASM( glabel func0f126de8 diff --git a/src/game/game_127910.c b/src/game/game_127910.c index ee5d1f3ce..fe334c73d 100644 --- a/src/game/game_127910.c +++ b/src/game/game_127910.c @@ -477,14 +477,14 @@ void playerAllocate(s32 index) g_Vars.players[index]->lastroomforoffset = -1; g_Vars.players[index]->c_screenwidth = 320; - g_Vars.players[index]->c_screenheight = 240; + g_Vars.players[index]->c_screenheight = PAL ? 272 : 240; g_Vars.players[index]->c_screenleft = 0; g_Vars.players[index]->c_screentop = 0; g_Vars.players[index]->c_perspnear = 10; g_Vars.players[index]->c_perspfovy = 46; g_Vars.players[index]->c_perspaspect = 1; g_Vars.players[index]->c_halfwidth = 160; - g_Vars.players[index]->c_halfheight = 120; + g_Vars.players[index]->c_halfheight = PAL ? 136 : 120; g_Vars.players[index]->c_scalex = 1; g_Vars.players[index]->c_scaley = 1; g_Vars.players[index]->c_recipscalex = 1; @@ -515,7 +515,7 @@ void playerAllocate(s32 index) g_Vars.players[index]->screenxminf = 0; g_Vars.players[index]->screenyminf = 0; g_Vars.players[index]->screenxmaxf = 320; - g_Vars.players[index]->screenymaxf = 240; + g_Vars.players[index]->screenymaxf = PAL ? 272 : 240; g_Vars.players[index]->gunsightoff = 0; g_Vars.players[index]->unk1834 = 0; diff --git a/src/game/game_1531a0.c b/src/game/game_1531a0.c index 01a6e1674..07fa6603f 100644 --- a/src/game/game_1531a0.c +++ b/src/game/game_1531a0.c @@ -102,8 +102,8 @@ u32 var8007fbc4 = 0xffffff00; u32 var8007fbc8 = 0xffffff00; #if VERSION >= VERSION_PAL_FINAL -u32 var80080130pf[4] = {0}; u32 var8007fbd8 = 0x00000000; +u32 var80080130pf[4] = {0}; #else u32 var8007fbcc = 0x00000c0b; u32 var8007fbd0 = 0x00000000; @@ -2933,8 +2933,8 @@ glabel func0f1552d4 /* f155314: afa500dc */ sw $a1,0xdc($sp) /* f155318: afa600e0 */ sw $a2,0xe0($sp) /* f15531c: afa000c0 */ sw $zero,0xc0($sp) -/* f155320: 3c188008 */ lui $t8,%hi(g_LanguageId) -/* f155324: 8f184120 */ lw $t8,%lo(g_LanguageId)($t8) +/* f155320: 3c188008 */ lui $t8,%hi(g_Jpn) +/* f155324: 8f184120 */ lw $t8,%lo(g_Jpn)($t8) /* f155328: 92af0446 */ lbu $t7,0x446($s5) /* f15532c: 82ae0445 */ lb $t6,0x445($s5) /* f155330: 4487d000 */ mtc1 $a3,$f26 @@ -5067,8 +5067,8 @@ glabel textRenderProjected /* f156310: 01696021 */ addu $t4,$t3,$t1 /* f156314: afac00e8 */ sw $t4,0xe8($sp) .L0f156318: -/* f156318: 3c0d8008 */ lui $t5,%hi(g_LanguageId) -/* f15631c: 8dad4120 */ lw $t5,%lo(g_LanguageId)($t5) +/* f156318: 3c0d8008 */ lui $t5,%hi(g_Jpn) +/* f15631c: 8dad4120 */ lw $t5,%lo(g_Jpn)($t5) /* f156320: 02a01025 */ or $v0,$s5,$zero /* f156324: 3c17e700 */ lui $s7,0xe700 /* f156328: 11a00007 */ beqz $t5,.L0f156348 @@ -6094,7 +6094,7 @@ glabel textRender /* f156ea0: 00a09025 */ or $s2,$a1,$zero /* f156ea4: 00c0a825 */ or $s5,$a2,$zero /* f156ea8: 24160048 */ addiu $s6,$zero,0x48 -/* f156eac: 3c188008 */ lui $t8,%hi(g_LanguageId) +/* f156eac: 3c188008 */ lui $t8,%hi(g_Jpn) /* f156eb0: 0000b812 */ mflo $s7 /* f156eb4: acb70000 */ sw $s7,0x0($a1) /* f156eb8: 8fab00f4 */ lw $t3,0xf4($sp) @@ -6108,7 +6108,7 @@ glabel textRender /* f156ed8: 01ae7821 */ addu $t7,$t5,$t6 /* f156edc: afaf00f4 */ sw $t7,0xf4($sp) .L0f156ee0: -/* f156ee0: 8f184120 */ lw $t8,%lo(g_LanguageId)($t8) +/* f156ee0: 8f184120 */ lw $t8,%lo(g_Jpn)($t8) /* f156ee4: 3c0dba00 */ lui $t5,0xba00 /* f156ee8: 3c0ce700 */ lui $t4,0xe700 /* f156eec: 13000007 */ beqz $t8,.L0f156f0c @@ -6557,8 +6557,8 @@ glabel textMeasure /* f157330: 80ef0445 */ lb $t7,0x445($a3) /* f157334: 01cf8821 */ addu $s1,$t6,$t7 .L0f157338: -/* f157338: 3c188008 */ lui $t8,%hi(g_LanguageId) -/* f15733c: 8f184120 */ lw $t8,%lo(g_LanguageId)($t8) +/* f157338: 3c188008 */ lui $t8,%hi(g_Jpn) +/* f15733c: 8f184120 */ lw $t8,%lo(g_Jpn)($t8) /* f157340: 2a21000e */ slti $at,$s1,0xe /* f157344: 13000004 */ beqz $t8,.L0f157358 /* f157348: 00000000 */ nop @@ -6716,7 +6716,7 @@ glabel textMeasure // // // 344 // // Force minimum height for non-English languages -// if (g_LanguageId != LANGUAGE_NTSC_EN && lineheight < 14) { +// if (g_Jpn && lineheight < 14) { // lineheight = 14; // } // diff --git a/src/game/game_165670.c b/src/game/game_165670.c index 686bc4339..8c145739c 100644 --- a/src/game/game_165670.c +++ b/src/game/game_165670.c @@ -1165,7 +1165,7 @@ glabel func0f1660a4 /* f1660f0: 3c03800a */ lui $v1,%hi(var800a6628) /* f1660f4: ad010000 */ sw $at,0x0($t0) /* f1660f8: 8f380004 */ lw $t8,0x4($t9) -/* f1660fc: 3c01800a */ lui $at,%hi(var800a6630+0x2) +/* f1660fc: 3c01800a */ lui $at,%hi(var800a6630) /* f166100: ad180004 */ sw $t8,0x4($t0) /* f166104: 8c636628 */ lw $v1,%lo(var800a6628)($v1) /* f166108: 84490002 */ lh $t1,0x2($v0) @@ -1193,7 +1193,7 @@ glabel func0f1660a4 /* f166160: 4600218d */ trunc.w.s $f6,$f4 /* f166164: 44183000 */ mfc1 $t8,$f6 /* f166168: 00000000 */ nop -/* f16616c: a4386634 */ sh $t8,0x6634($at) +/* f16616c: a4386634 */ sh $t8,%lo(var800a6630+0x4)($at) /* f166170: 8459000c */ lh $t9,0xc($v0) /* f166174: 8468000c */ lh $t0,0xc($v1) /* f166178: 3c01800a */ lui $at,%hi(var800a663c) @@ -1220,7 +1220,7 @@ glabel func0f1660a4 /* f1661cc: 4600428d */ trunc.w.s $f10,$f8 /* f1661d0: 440f5000 */ mfc1 $t7,$f10 /* f1661d4: 00000000 */ nop -/* f1661d8: a42f663e */ sh $t7,0x663e($at) +/* f1661d8: a42f663e */ sh $t7,%lo(var800a6630+0xe)($at) /* f1661dc: 904e0010 */ lbu $t6,0x10($v0) /* f1661e0: 3c014f80 */ lui $at,0x4f80 /* f1661e4: 448e2000 */ mtc1 $t6,$f4 @@ -1401,14 +1401,14 @@ glabel func0f1660a4 /* f166468: 0700fffb */ bltz $t8,.L0f166458 /* f16646c: 00000000 */ nop .L0f166470: -/* f166470: 3c01800a */ lui $at,%hi(var800a6640+0x2) -/* f166474: a0386642 */ sb $t8,%lo(var800a6640+0x2)($at) +/* f166470: 3c01800a */ lui $at,%hi(var800a6630) +/* f166474: a0386642 */ sb $t8,%lo(var800a6630+0x12)($at) /* f166478: 44cef800 */ ctc1 $t6,$31 /* f16647c: 330f00f8 */ andi $t7,$t8,0xf8 -/* f166480: a0296640 */ sb $t1,0x6640($at) -/* f166484: a02b6641 */ sb $t3,0x6641($at) +/* f166480: a0296640 */ sb $t1,%lo(var800a6630+0x10)($at) +/* f166484: a02b6641 */ sb $t3,%lo(var800a6630+0x11)($at) /* f166488: 0fc59663 */ jal func0f16598c -/* f16648c: a02f6642 */ sb $t7,0x6642($at) +/* f16648c: a02f6642 */ sb $t7,%lo(var800a6630+0x12)($at) /* f166490: 8fbf0014 */ lw $ra,0x14($sp) /* f166494: 27bd0020 */ addiu $sp,$sp,0x20 /* f166498: 03e00008 */ jr $ra @@ -1425,13 +1425,13 @@ glabel func0f1664a0 /* f1664b4: 00801025 */ or $v0,$a0,$zero .L0f1664b8: /* f1664b8: 10a0003d */ beqz $a1,.L0f1665b0 -/* f1664bc: 3c078008 */ lui $a3,%hi(g_Stages+0x34a) +/* f1664bc: 3c078008 */ lui $a3,%hi(var80081058) /* f1664c0: 3c078008 */ lui $a3,%hi(var80081058) /* f1664c4: 00801025 */ or $v0,$a0,$zero /* f1664c8: 3c0ff800 */ lui $t7,0xf800 /* f1664cc: 24e71058 */ addiu $a3,$a3,%lo(var80081058) /* f1664d0: ac4f0000 */ sw $t7,0x0($v0) -/* f1664d4: 90ed000a */ lbu $t5,%lo(g_Stages+0x34a)($a3) +/* f1664d4: 90ed000a */ lbu $t5,0xa($a3) /* f1664d8: 90ea0009 */ lbu $t2,0x9($a3) /* f1664dc: 90f90008 */ lbu $t9,0x8($a3) /* f1664e0: 01a07025 */ or $t6,$t5,$zero @@ -1493,7 +1493,7 @@ glabel func0f1664a0 .L0f1665b0: /* f1665b0: 00801025 */ or $v0,$a0,$zero /* f1665b4: 3c08f800 */ lui $t0,0xf800 -/* f1665b8: 24e71058 */ addiu $a3,$a3,4184 +/* f1665b8: 24e71058 */ addiu $a3,$a3,%lo(var80081058) /* f1665bc: ac480000 */ sw $t0,0x0($v0) /* f1665c0: 90e9000a */ lbu $t1,0xa($a3) /* f1665c4: 90f80009 */ lbu $t8,0x9($a3) diff --git a/src/game/game_190260.c b/src/game/game_190260.c index c3a00edaa..1df4b2cba 100644 --- a/src/game/game_190260.c +++ b/src/game/game_190260.c @@ -1670,7 +1670,7 @@ bool func0f191638(struct chrdata *chr, bool arg1) } if (chr->aibot->simulant->difficulty > SIMDIFF_MEAT) { - if (chr->aibot->unk178[mpindex] >= g_Vars.lvframe60 - 240 + if (chr->aibot->unk178[mpindex] >= g_Vars.lvframe60 - PALDOWN(240) || (arrayIntersects(chr->prop->rooms, target->rooms))) { result = true; } @@ -1809,10 +1809,10 @@ glabel var7f1b8ef0 .L0f1919a8: /* f1919a8: 862202d8 */ lh $v0,0x2d8($s1) /* f1919ac: 18400012 */ blez $v0,.L0f1919f8 -/* f1919b0: 28411389 */ slti $at,$v0,0x1389 +/* f1919b0: 28411389 */ slti $at,$v0,0x1047 /* f1919b4: 14200004 */ bnez $at,.L0f1919c8 /* f1919b8: 3c19800a */ lui $t9,%hi(g_Vars+0x38) -/* f1919bc: 24181388 */ addiu $t8,$zero,0x1388 +/* f1919bc: 24181388 */ addiu $t8,$zero,0x1046 /* f1919c0: a63802d8 */ sh $t8,0x2d8($s1) /* f1919c4: 862202d8 */ lh $v0,0x2d8($s1) .L0f1919c8: @@ -1902,7 +1902,7 @@ glabel var7f1b8ef0 /* f191b00: 24010033 */ addiu $at,$zero,0x33 /* f191b04: 8f399fc8 */ lw $t9,%lo(g_Vars+0x8)($t9) /* f191b08: 8e0801e4 */ lw $t0,0x1e4($s0) -/* f191b0c: 2729ffc4 */ addiu $t1,$t9,-60 +/* f191b0c: 2729ffc4 */ addiu $t1,$t9,-50 /* f191b10: 0109082a */ slt $at,$t0,$t1 /* f191b14: 5420000c */ bnezl $at,.L0f191b48 /* f191b18: 24010033 */ addiu $at,$zero,0x33 @@ -1923,7 +1923,7 @@ glabel var7f1b8ef0 /* f191b4c: 3c0c800a */ lui $t4,%hi(g_Vars+0x8) /* f191b50: 8d8c9fc8 */ lw $t4,%lo(g_Vars+0x8)($t4) /* f191b54: 8e0d01e4 */ lw $t5,0x1e4($s0) -/* f191b58: 258effc4 */ addiu $t6,$t4,-60 +/* f191b58: 258effc4 */ addiu $t6,$t4,-50 /* f191b5c: 01ae082a */ slt $at,$t5,$t6 /* f191b60: 14200007 */ bnez $at,.L0f191b80 /* f191b64: 00000000 */ nop @@ -1978,7 +1978,7 @@ glabel var7f1b8ef0 /* f191c10: 55000021 */ bnezl $t0,.L0f191c98 /* f191c14: c7a40044 */ lwc1 $f4,0x44($sp) /* f191c18: 8d299fc8 */ lw $t1,%lo(g_Vars+0x8)($t1) -/* f191c1c: 24010078 */ addiu $at,$zero,0x78 +/* f191c1c: 24010078 */ addiu $at,$zero,0x64 /* f191c20: e7a20048 */ swc1 $f2,0x48($sp) /* f191c24: 0121001a */ div $zero,$t1,$at /* f191c28: 00005010 */ mfhi $t2 @@ -3132,7 +3132,7 @@ void func0f192628(struct chrdata *chr, struct prop *arg1) chr->hidden |= CHRHFLAG_00000001; if (obj->hidden & OBJHFLAG_AIRBORNE) { - obj->projectile->unk0b4 = 240; + obj->projectile->unk0b4 = PALDOWN(240); obj->projectile->unk108 = arg1; } } @@ -3174,7 +3174,7 @@ void func0f19277c(struct chrdata *chr, s32 propnum) chr->aibot->unk208 = 0; if (chr->aibot->unk128 && chr2) { - chr->aibot->unk2c8 = 120; + chr->aibot->unk2c8 = PALDOWN(120); } else { chr->aibot->unk2c8 = 0; } @@ -3196,7 +3196,7 @@ void func0f19277c(struct chrdata *chr, s32 propnum) if (chr->aibot->unk128 && chr2) { if ((chr2->hidden & CHRHFLAG_CLOAKED) == 0) { - chr->aibot->unk2c8 = 120; + chr->aibot->unk2c8 = PALDOWN(120); } else { if (chr->aibot->unk2c8 > 0) { chr->aibot->unk2c8 -= g_Vars.lvupdate240_60; @@ -3254,7 +3254,7 @@ void func0f192a74(struct chrdata *chr) if (aibot->unk1cc <= 0) { aibot->unk1d0 = random(); - aibot->unk1cc = 20 + random() % (PAL ? 16 : 20); + aibot->unk1cc = PALDOWN(20) + random() % PALDOWN(20); } if (g_Vars.lvupdate240 > 0) { @@ -3358,6 +3358,451 @@ bool func0f192dc0(struct chrdata *botchr, struct chrdata *chr) return result; } +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f192e90 +/* f192e90: 27bdff58 */ addiu $sp,$sp,-168 +/* f192e94: afbf002c */ sw $ra,0x2c($sp) +/* f192e98: afb50028 */ sw $s5,0x28($sp) +/* f192e9c: afb40024 */ sw $s4,0x24($sp) +/* f192ea0: afb30020 */ sw $s3,0x20($sp) +/* f192ea4: afb2001c */ sw $s2,0x1c($sp) +/* f192ea8: afb10018 */ sw $s1,0x18($sp) +/* f192eac: afb00014 */ sw $s0,0x14($sp) +/* f192eb0: 8c9302d4 */ lw $s3,0x2d4($a0) +/* f192eb4: 240effff */ addiu $t6,$zero,-1 +/* f192eb8: a7ae006a */ sh $t6,0x6a($sp) +/* f192ebc: 8e6f012c */ lw $t7,0x12c($s3) +/* f192ec0: 3c19800b */ lui $t9,%hi(g_MpNumPlayers) +/* f192ec4: 8f39c530 */ lw $t9,%lo(g_MpNumPlayers)($t9) +/* f192ec8: 25f80001 */ addiu $t8,$t7,0x1 +/* f192ecc: 0080a825 */ or $s5,$a0,$zero +/* f192ed0: 0319001a */ div $zero,$t8,$t9 +/* f192ed4: 00002010 */ mfhi $a0 +/* f192ed8: ae64012c */ sw $a0,0x12c($s3) +/* f192edc: 17200002 */ bnez $t9,.L0f192ee8 +/* f192ee0: 00000000 */ nop +/* f192ee4: 0007000d */ break 0x7 +.L0f192ee8: +/* f192ee8: 2401ffff */ addiu $at,$zero,-1 +/* f192eec: 17210004 */ bne $t9,$at,.L0f192f00 +/* f192ef0: 3c018000 */ lui $at,0x8000 +/* f192ef4: 17010002 */ bne $t8,$at,.L0f192f00 +/* f192ef8: 00000000 */ nop +/* f192efc: 0006000d */ break 0x6 +.L0f192f00: +/* f192f00: 0fc63410 */ jal mpGetChrFromPlayerIndex +/* f192f04: 00000000 */ nop +/* f192f08: 1055002b */ beq $v0,$s5,.L0f192fb8 +/* f192f0c: 00408825 */ or $s1,$v0,$zero +/* f192f10: 0c004b70 */ jal random +/* f192f14: 00000000 */ nop +/* f192f18: 24013840 */ addiu $at,$zero,0x2ee0 +/* f192f1c: 0041001b */ divu $zero,$v0,$at +/* f192f20: 3c0d800b */ lui $t5,%hi(g_MpNumPlayers) +/* f192f24: 3c0e800a */ lui $t6,%hi(g_Vars+0x38) +/* f192f28: 8dce9ff8 */ lw $t6,%lo(g_Vars+0x38)($t6) +/* f192f2c: 8dadc530 */ lw $t5,%lo(g_MpNumPlayers)($t5) +/* f192f30: 00006010 */ mfhi $t4 +/* f192f34: 00000000 */ nop +/* f192f38: 00000000 */ nop +/* f192f3c: 01ae0019 */ multu $t5,$t6 +/* f192f40: 00007812 */ mflo $t7 +/* f192f44: 018f082b */ sltu $at,$t4,$t7 +/* f192f48: 50200005 */ beqzl $at,.L0f192f60 +/* f192f4c: 8e25001c */ lw $a1,0x1c($s1) +/* f192f50: 9279009c */ lbu $t9,0x9c($s3) +/* f192f54: 372b0010 */ ori $t3,$t9,0x10 +/* f192f58: a26b009c */ sb $t3,0x9c($s3) +/* f192f5c: 8e25001c */ lw $a1,0x1c($s1) +.L0f192f60: +/* f192f60: 02a02025 */ or $a0,$s5,$zero +/* f192f64: 0fc1250e */ jal chrGetDistanceToCoord +/* f192f68: 24a50008 */ addiu $a1,$a1,0x8 +/* f192f6c: 8e6d012c */ lw $t5,0x12c($s3) +/* f192f70: 02a02025 */ or $a0,$s5,$zero +/* f192f74: 02202825 */ or $a1,$s1,$zero +/* f192f78: 000d7080 */ sll $t6,$t5,0x2 +/* f192f7c: 026e6021 */ addu $t4,$s3,$t6 +/* f192f80: e580013c */ swc1 $f0,0x13c($t4) +/* f192f84: 0fc0e48b */ jal chrCanSeeChr +/* f192f88: 27a6006a */ addiu $a2,$sp,0x6a +/* f192f8c: 8e6f012c */ lw $t7,0x12c($s3) +/* f192f90: 026fc021 */ addu $t8,$s3,$t7 +/* f192f94: a302016c */ sb $v0,0x16c($t8) +/* f192f98: 8e6b012c */ lw $t3,0x12c($s3) +/* f192f9c: 87b9006a */ lh $t9,0x6a($sp) +/* f192fa0: 000b6840 */ sll $t5,$t3,0x1 +/* f192fa4: 026d7021 */ addu $t6,$s3,$t5 +/* f192fa8: a5d901a8 */ sh $t9,0x1a8($t6) +/* f192fac: 926c009c */ lbu $t4,0x9c($s3) +/* f192fb0: 318fffef */ andi $t7,$t4,0xffef +/* f192fb4: a26f009c */ sb $t7,0x9c($s3) +.L0f192fb8: +/* f192fb8: 3c07800b */ lui $a3,%hi(g_MpNumPlayers) +/* f192fbc: 8ce7c530 */ lw $a3,%lo(g_MpNumPlayers)($a3) +/* f192fc0: 00009025 */ or $s2,$zero,$zero +/* f192fc4: 02608025 */ or $s0,$s3,$zero +/* f192fc8: 18e00010 */ blez $a3,.L0f19300c +/* f192fcc: 3c0a800a */ lui $t2,%hi(g_Vars) +/* f192fd0: 254a9fc0 */ addiu $t2,$t2,%lo(g_Vars) +.L0f192fd4: +/* f192fd4: 9218016c */ lbu $t8,0x16c($s0) +/* f192fd8: 00126880 */ sll $t5,$s2,0x2 +/* f192fdc: 53000007 */ beqzl $t8,.L0f192ffc +/* f192fe0: 26520001 */ addiu $s2,$s2,0x1 +/* f192fe4: 8d4b0008 */ lw $t3,0x8($t2) +/* f192fe8: 026dc821 */ addu $t9,$s3,$t5 +/* f192fec: 3c07800b */ lui $a3,%hi(g_MpNumPlayers) +/* f192ff0: af2b0178 */ sw $t3,0x178($t9) +/* f192ff4: 8ce7c530 */ lw $a3,%lo(g_MpNumPlayers)($a3) +/* f192ff8: 26520001 */ addiu $s2,$s2,0x1 +.L0f192ffc: +/* f192ffc: 0247082a */ slt $at,$s2,$a3 +/* f193000: 1420fff4 */ bnez $at,.L0f192fd4 +/* f193004: 26100001 */ addiu $s0,$s0,0x1 +/* f193008: 00009025 */ or $s2,$zero,$zero +.L0f19300c: +/* f19300c: 18e00008 */ blez $a3,.L0f193030 +/* f193010: 27a2006c */ addiu $v0,$sp,0x6c +/* f193014: 00076080 */ sll $t4,$a3,0x2 +/* f193018: 01821821 */ addu $v1,$t4,$v0 +.L0f19301c: +/* f19301c: 24420004 */ addiu $v0,$v0,0x4 +/* f193020: 0043082b */ sltu $at,$v0,$v1 +/* f193024: 1420fffd */ bnez $at,.L0f19301c +/* f193028: ac40fffc */ sw $zero,-0x4($v0) +/* f19302c: 00009025 */ or $s2,$zero,$zero +.L0f193030: +/* f193030: 18e00026 */ blez $a3,.L0f1930cc +/* f193034: 24090001 */ addiu $t1,$zero,0x1 +/* f193038: 44801000 */ mtc1 $zero,$f2 +/* f19303c: 27a8006c */ addiu $t0,$sp,0x6c +/* f193040: 2406ffff */ addiu $a2,$zero,-1 +.L0f193044: +/* f193044: 46001006 */ mov.s $f0,$f2 +/* f193048: 18e00014 */ blez $a3,.L0f19309c +/* f19304c: 00001825 */ or $v1,$zero,$zero +/* f193050: 00002025 */ or $a0,$zero,$zero +/* f193054: 27a5006c */ addiu $a1,$sp,0x6c +.L0f193058: +/* f193058: 8caf0000 */ lw $t7,0x0($a1) +/* f19305c: 24a50004 */ addiu $a1,$a1,0x4 +/* f193060: 55e0000b */ bnezl $t7,.L0f193090 +/* f193064: 24630001 */ addiu $v1,$v1,0x1 +/* f193068: 04c00006 */ bltz $a2,.L0f193084 +/* f19306c: 02641021 */ addu $v0,$s3,$a0 +/* f193070: c444013c */ lwc1 $f4,0x13c($v0) +/* f193074: 4600203c */ c.lt.s $f4,$f0 +/* f193078: 00000000 */ nop +/* f19307c: 45020004 */ bc1fl .L0f193090 +/* f193080: 24630001 */ addiu $v1,$v1,0x1 +.L0f193084: +/* f193084: 00603025 */ or $a2,$v1,$zero +/* f193088: c440013c */ lwc1 $f0,0x13c($v0) +/* f19308c: 24630001 */ addiu $v1,$v1,0x1 +.L0f193090: +/* f193090: 0067082a */ slt $at,$v1,$a3 +/* f193094: 1420fff0 */ bnez $at,.L0f193058 +/* f193098: 24840004 */ addiu $a0,$a0,0x4 +.L0f19309c: +/* f19309c: 04c00007 */ bltz $a2,.L0f1930bc +/* f1930a0: 0272c021 */ addu $t8,$s3,$s2 +/* f1930a4: 00066880 */ sll $t5,$a2,0x2 +/* f1930a8: a3060130 */ sb $a2,0x130($t8) +/* f1930ac: 010d5821 */ addu $t3,$t0,$t5 +/* f1930b0: ad690000 */ sw $t1,0x0($t3) +/* f1930b4: 3c07800b */ lui $a3,%hi(g_MpNumPlayers) +/* f1930b8: 8ce7c530 */ lw $a3,%lo(g_MpNumPlayers)($a3) +.L0f1930bc: +/* f1930bc: 26520001 */ addiu $s2,$s2,0x1 +/* f1930c0: 0247082a */ slt $at,$s2,$a3 +/* f1930c4: 5420ffdf */ bnezl $at,.L0f193044 +/* f1930c8: 2406ffff */ addiu $a2,$zero,-1 +.L0f1930cc: +/* f1930cc: 0fc64a9d */ jal func0f192a74 +/* f1930d0: 02a02025 */ or $a0,$s5,$zero +/* f1930d4: 92a202a0 */ lbu $v0,0x2a0($s5) +/* f1930d8: 2401002e */ addiu $at,$zero,0x2e +/* f1930dc: 02a02025 */ or $a0,$s5,$zero +/* f1930e0: 54410006 */ bnel $v0,$at,.L0f1930fc +/* f1930e4: 2401002f */ addiu $at,$zero,0x2f +/* f1930e8: 0fc649df */ jal func0f19277c +/* f1930ec: 2405ffff */ addiu $a1,$zero,-1 +/* f1930f0: 100000f2 */ b .L0f1934bc +/* f1930f4: 8fbf002c */ lw $ra,0x2c($sp) +/* f1930f8: 2401002f */ addiu $at,$zero,0x2f +.L0f1930fc: +/* f1930fc: 5441001f */ bnel $v0,$at,.L0f19317c +/* f193100: 86b8017e */ lh $t8,0x17e($s5) +/* f193104: 86620008 */ lh $v0,0x8($s3) +/* f193108: 0440001b */ bltz $v0,.L0f193178 +/* f19310c: 0262c821 */ addu $t9,$s3,$v0 +/* f193110: 932c016c */ lbu $t4,0x16c($t9) +/* f193114: 3c10800b */ lui $s0,%hi(g_MpPlayerChrs) +/* f193118: 2610c4d0 */ addiu $s0,$s0,%lo(g_MpPlayerChrs) +/* f19311c: 11800016 */ beqz $t4,.L0f193178 +/* f193120: 00027080 */ sll $t6,$v0,0x2 +/* f193124: 020e7821 */ addu $t7,$s0,$t6 +/* f193128: 0fc0e6a5 */ jal chrIsDead +/* f19312c: 8de40000 */ lw $a0,0x0($t7) +/* f193130: 54400012 */ bnezl $v0,.L0f19317c +/* f193134: 86b8017e */ lh $t8,0x17e($s5) +/* f193138: 86780008 */ lh $t8,0x8($s3) +/* f19313c: 3c0e800a */ lui $t6,%hi(g_Vars+0x338) +/* f193140: 8dcea2f8 */ lw $t6,%lo(g_Vars+0x338)($t6) +/* f193144: 00186880 */ sll $t5,$t8,0x2 +/* f193148: 020d5821 */ addu $t3,$s0,$t5 +/* f19314c: 8d790000 */ lw $t9,0x0($t3) +/* f193150: 24010048 */ addiu $at,$zero,0x48 +/* f193154: 02a02025 */ or $a0,$s5,$zero +/* f193158: 8f2c001c */ lw $t4,0x1c($t9) +/* f19315c: 018e2823 */ subu $a1,$t4,$t6 +/* f193160: 00a1001a */ div $zero,$a1,$at +/* f193164: 00002812 */ mflo $a1 +/* f193168: 0fc649df */ jal func0f19277c +/* f19316c: 00000000 */ nop +/* f193170: 100000d2 */ b .L0f1934bc +/* f193174: 8fbf002c */ lw $ra,0x2c($sp) +.L0f193178: +/* f193178: 86b8017e */ lh $t8,0x17e($s5) +.L0f19317c: +/* f19317c: 2411ffff */ addiu $s1,$zero,-1 +/* f193180: 52380028 */ beql $s1,$t8,.L0f193224 +/* f193184: 86a2017e */ lh $v0,0x17e($s5) +/* f193188: 0fc0a221 */ jal chrGetTargetProp +/* f19318c: 02a02025 */ or $a0,$s5,$zero +/* f193190: 00408025 */ or $s0,$v0,$zero +/* f193194: 0fc0e6a5 */ jal chrIsDead +/* f193198: 8c440004 */ lw $a0,0x4($v0) +/* f19319c: 10400002 */ beqz $v0,.L0f1931a8 +/* f1931a0: 02a02025 */ or $a0,$s5,$zero +/* f1931a4: a6b1017e */ sh $s1,0x17e($s5) +.L0f1931a8: +/* f1931a8: 8ead02d4 */ lw $t5,0x2d4($s5) +/* f1931ac: 8dab0128 */ lw $t3,0x128($t5) +/* f1931b0: 55600007 */ bnezl $t3,.L0f1931d0 +/* f1931b4: 02a02025 */ or $a0,$s5,$zero +/* f1931b8: 0fc64a53 */ jal func0f19294c +/* f1931bc: 8e050004 */ lw $a1,0x4($s0) +/* f1931c0: 50400003 */ beqzl $v0,.L0f1931d0 +/* f1931c4: 02a02025 */ or $a0,$s5,$zero +/* f1931c8: a6b1017e */ sh $s1,0x17e($s5) +/* f1931cc: 02a02025 */ or $a0,$s5,$zero +.L0f1931d0: +/* f1931d0: 8e050004 */ lw $a1,0x4($s0) +/* f1931d4: 0fc12aa3 */ jal chrCompareTeams +/* f1931d8: 24060001 */ addiu $a2,$zero,0x1 +/* f1931dc: 10400002 */ beqz $v0,.L0f1931e8 +/* f1931e0: 02a02025 */ or $a0,$s5,$zero +/* f1931e4: a6b1017e */ sh $s1,0x17e($s5) +.L0f1931e8: +/* f1931e8: 0fc64b59 */ jal func0f192d64 +/* f1931ec: 8e050004 */ lw $a1,0x4($s0) +/* f1931f0: 14400002 */ bnez $v0,.L0f1931fc +/* f1931f4: 02a02025 */ or $a0,$s5,$zero +/* f1931f8: a6b1017e */ sh $s1,0x17e($s5) +.L0f1931fc: +/* f1931fc: 8eb902d4 */ lw $t9,0x2d4($s5) +/* f193200: 8f2c0128 */ lw $t4,0x128($t9) +/* f193204: 55800007 */ bnezl $t4,.L0f193224 +/* f193208: 86a2017e */ lh $v0,0x17e($s5) +/* f19320c: 0fc64b70 */ jal func0f192dc0 +/* f193210: 8e050004 */ lw $a1,0x4($s0) +/* f193214: 54400003 */ bnezl $v0,.L0f193224 +/* f193218: 86a2017e */ lh $v0,0x17e($s5) +/* f19321c: a6b1017e */ sh $s1,0x17e($s5) +/* f193220: 86a2017e */ lh $v0,0x17e($s5) +.L0f193224: +/* f193224: 3c0f800b */ lui $t7,%hi(g_MpNumPlayers) +/* f193228: 3c0b800a */ lui $t3,%hi(g_Vars+0x338) +/* f19322c: 16220062 */ bne $s1,$v0,.L0f1933b8 +/* f193230: 000268c0 */ sll $t5,$v0,0x3 +/* f193234: 8defc530 */ lw $t7,%lo(g_MpNumPlayers)($t7) +/* f193238: 240effff */ addiu $t6,$zero,-1 +/* f19323c: afae0050 */ sw $t6,0x50($sp) +/* f193240: 19e00047 */ blez $t7,.L0f193360 +/* f193244: 00009025 */ or $s2,$zero,$zero +/* f193248: 0260a025 */ or $s4,$s3,$zero +/* f19324c: 82900130 */ lb $s0,0x130($s4) +.L0f193250: +/* f193250: 0fc63410 */ jal mpGetChrFromPlayerIndex +/* f193254: 02002025 */ or $a0,$s0,$zero +/* f193258: 1055003a */ beq $v0,$s5,.L0f193344 +/* f19325c: 00408825 */ or $s1,$v0,$zero +/* f193260: 0fc0e6a5 */ jal chrIsDead +/* f193264: 00402025 */ or $a0,$v0,$zero +/* f193268: 14400036 */ bnez $v0,.L0f193344 +/* f19326c: 02a02025 */ or $a0,$s5,$zero +/* f193270: 02202825 */ or $a1,$s1,$zero +/* f193274: 0fc12aa3 */ jal chrCompareTeams +/* f193278: 24060002 */ addiu $a2,$zero,0x2 +/* f19327c: 10400031 */ beqz $v0,.L0f193344 +/* f193280: 02a02025 */ or $a0,$s5,$zero +/* f193284: 0fc64b59 */ jal func0f192d64 +/* f193288: 02202825 */ or $a1,$s1,$zero +/* f19328c: 1040002d */ beqz $v0,.L0f193344 +/* f193290: 0270c021 */ addu $t8,$s3,$s0 +/* f193294: 930d016c */ lbu $t5,0x16c($t8) +/* f193298: 02a02025 */ or $a0,$s5,$zero +/* f19329c: 11a0000c */ beqz $t5,.L0f1932d0 +/* f1932a0: 3c19800a */ lui $t9,%hi(g_Vars+0x338) +/* f1932a4: 8f39a2f8 */ lw $t9,%lo(g_Vars+0x338)($t9) +/* f1932a8: 8e2b001c */ lw $t3,0x1c($s1) +/* f1932ac: 24010048 */ addiu $at,$zero,0x48 +/* f1932b0: 02a02025 */ or $a0,$s5,$zero +/* f1932b4: 01792823 */ subu $a1,$t3,$t9 +/* f1932b8: 00a1001a */ div $zero,$a1,$at +/* f1932bc: 00002812 */ mflo $a1 +/* f1932c0: 0fc649df */ jal func0f19277c +/* f1932c4: 00000000 */ nop +/* f1932c8: 1000007c */ b .L0f1934bc +/* f1932cc: 8fbf002c */ lw $ra,0x2c($sp) +.L0f1932d0: +/* f1932d0: 0fc64a53 */ jal func0f19294c +/* f1932d4: 02202825 */ or $a1,$s1,$zero +/* f1932d8: 14400013 */ bnez $v0,.L0f193328 +/* f1932dc: 02a02025 */ or $a0,$s5,$zero +/* f1932e0: 8e6e0004 */ lw $t6,0x4($s3) +/* f1932e4: 24010001 */ addiu $at,$zero,0x1 +/* f1932e8: 91c20048 */ lbu $v0,0x48($t6) +/* f1932ec: 10400002 */ beqz $v0,.L0f1932f8 +/* f1932f0: 00000000 */ nop +/* f1932f4: 1441000c */ bne $v0,$at,.L0f193328 +.L0f1932f8: +/* f1932f8: 3c18800a */ lui $t8,%hi(g_Vars+0x338) +/* f1932fc: 8f18a2f8 */ lw $t8,%lo(g_Vars+0x338)($t8) +/* f193300: 8e2f001c */ lw $t7,0x1c($s1) +/* f193304: 24010048 */ addiu $at,$zero,0x48 +/* f193308: 02a02025 */ or $a0,$s5,$zero +/* f19330c: 01f82823 */ subu $a1,$t7,$t8 +/* f193310: 00a1001a */ div $zero,$a1,$at +/* f193314: 00002812 */ mflo $a1 +/* f193318: 0fc649df */ jal func0f19277c +/* f19331c: 00000000 */ nop +/* f193320: 10000066 */ b .L0f1934bc +/* f193324: 8fbf002c */ lw $ra,0x2c($sp) +.L0f193328: +/* f193328: 0fc64a53 */ jal func0f19294c +/* f19332c: 02202825 */ or $a1,$s1,$zero +/* f193330: 14400004 */ bnez $v0,.L0f193344 +/* f193334: 8fab0050 */ lw $t3,0x50($sp) +/* f193338: 05610002 */ bgez $t3,.L0f193344 +/* f19333c: 00000000 */ nop +/* f193340: afb00050 */ sw $s0,0x50($sp) +.L0f193344: +/* f193344: 3c19800b */ lui $t9,%hi(g_MpNumPlayers) +/* f193348: 8f39c530 */ lw $t9,%lo(g_MpNumPlayers)($t9) +/* f19334c: 26520001 */ addiu $s2,$s2,0x1 +/* f193350: 26940001 */ addiu $s4,$s4,0x1 +/* f193354: 0259082a */ slt $at,$s2,$t9 +/* f193358: 5420ffbd */ bnezl $at,.L0f193250 +/* f19335c: 82900130 */ lb $s0,0x130($s4) +.L0f193360: +/* f193360: 8fac0050 */ lw $t4,0x50($sp) +/* f193364: 02a02025 */ or $a0,$s5,$zero +/* f193368: 0580000f */ bltz $t4,.L0f1933a8 +/* f19336c: 00000000 */ nop +/* f193370: 0fc63410 */ jal mpGetChrFromPlayerIndex +/* f193374: 01802025 */ or $a0,$t4,$zero +/* f193378: 3c0f800a */ lui $t7,%hi(g_Vars+0x338) +/* f19337c: 8defa2f8 */ lw $t7,%lo(g_Vars+0x338)($t7) +/* f193380: 8c4e001c */ lw $t6,0x1c($v0) +/* f193384: 24010048 */ addiu $at,$zero,0x48 +/* f193388: 02a02025 */ or $a0,$s5,$zero +/* f19338c: 01cf2823 */ subu $a1,$t6,$t7 +/* f193390: 00a1001a */ div $zero,$a1,$at +/* f193394: 00002812 */ mflo $a1 +/* f193398: 0fc649df */ jal func0f19277c +/* f19339c: 00000000 */ nop +/* f1933a0: 10000046 */ b .L0f1934bc +/* f1933a4: 8fbf002c */ lw $ra,0x2c($sp) +.L0f1933a8: +/* f1933a8: 0fc649df */ jal func0f19277c +/* f1933ac: 2405ffff */ addiu $a1,$zero,-1 +/* f1933b0: 10000042 */ b .L0f1934bc +/* f1933b4: 8fbf002c */ lw $ra,0x2c($sp) +.L0f1933b8: +/* f1933b8: 8d6ba2f8 */ lw $t3,%lo(g_Vars+0x338)($t3) +/* f1933bc: 01a26821 */ addu $t5,$t5,$v0 +/* f1933c0: 000d68c0 */ sll $t5,$t5,0x3 +/* f1933c4: 01abc821 */ addu $t9,$t5,$t3 +/* f1933c8: 0fc633fe */ jal mpPlayerGetIndex +/* f1933cc: 8f240004 */ lw $a0,0x4($t9) +/* f1933d0: 02626021 */ addu $t4,$s3,$v0 +/* f1933d4: 918e016c */ lbu $t6,0x16c($t4) +/* f1933d8: 02a02025 */ or $a0,$s5,$zero +/* f1933dc: 3c0f800b */ lui $t7,%hi(g_MpNumPlayers) +/* f1933e0: 11c00005 */ beqz $t6,.L0f1933f8 +/* f1933e4: 00000000 */ nop +/* f1933e8: 0fc649df */ jal func0f19277c +/* f1933ec: 86a5017e */ lh $a1,0x17e($s5) +/* f1933f0: 10000032 */ b .L0f1934bc +/* f1933f4: 8fbf002c */ lw $ra,0x2c($sp) +.L0f1933f8: +/* f1933f8: 8defc530 */ lw $t7,%lo(g_MpNumPlayers)($t7) +/* f1933fc: 00009025 */ or $s2,$zero,$zero +/* f193400: 02608025 */ or $s0,$s3,$zero +/* f193404: 59e0002a */ blezl $t7,.L0f1934b0 +/* f193408: 02a02025 */ or $a0,$s5,$zero +/* f19340c: 82040130 */ lb $a0,0x130($s0) +.L0f193410: +/* f193410: 0264c021 */ addu $t8,$s3,$a0 +/* f193414: 930d016c */ lbu $t5,0x16c($t8) +/* f193418: 11a0001d */ beqz $t5,.L0f193490 +/* f19341c: 00000000 */ nop +/* f193420: 0fc63410 */ jal mpGetChrFromPlayerIndex +/* f193424: 00000000 */ nop +/* f193428: 10550019 */ beq $v0,$s5,.L0f193490 +/* f19342c: 00408825 */ or $s1,$v0,$zero +/* f193430: 0fc0e6a5 */ jal chrIsDead +/* f193434: 00402025 */ or $a0,$v0,$zero +/* f193438: 14400015 */ bnez $v0,.L0f193490 +/* f19343c: 02a02025 */ or $a0,$s5,$zero +/* f193440: 02202825 */ or $a1,$s1,$zero +/* f193444: 0fc12aa3 */ jal chrCompareTeams +/* f193448: 24060002 */ addiu $a2,$zero,0x2 +/* f19344c: 10400010 */ beqz $v0,.L0f193490 +/* f193450: 02a02025 */ or $a0,$s5,$zero +/* f193454: 0fc64b59 */ jal func0f192d64 +/* f193458: 02202825 */ or $a1,$s1,$zero +/* f19345c: 1040000c */ beqz $v0,.L0f193490 +/* f193460: 3c19800a */ lui $t9,%hi(g_Vars+0x338) +/* f193464: 8f39a2f8 */ lw $t9,%lo(g_Vars+0x338)($t9) +/* f193468: 8e2b001c */ lw $t3,0x1c($s1) +/* f19346c: 24010048 */ addiu $at,$zero,0x48 +/* f193470: 02a02025 */ or $a0,$s5,$zero +/* f193474: 01792823 */ subu $a1,$t3,$t9 +/* f193478: 00a1001a */ div $zero,$a1,$at +/* f19347c: 00002812 */ mflo $a1 +/* f193480: 0fc649df */ jal func0f19277c +/* f193484: 00000000 */ nop +/* f193488: 1000000c */ b .L0f1934bc +/* f19348c: 8fbf002c */ lw $ra,0x2c($sp) +.L0f193490: +/* f193490: 3c0e800b */ lui $t6,%hi(g_MpNumPlayers) +/* f193494: 8dcec530 */ lw $t6,%lo(g_MpNumPlayers)($t6) +/* f193498: 26520001 */ addiu $s2,$s2,0x1 +/* f19349c: 26100001 */ addiu $s0,$s0,0x1 +/* f1934a0: 024e082a */ slt $at,$s2,$t6 +/* f1934a4: 5420ffda */ bnezl $at,.L0f193410 +/* f1934a8: 82040130 */ lb $a0,0x130($s0) +/* f1934ac: 02a02025 */ or $a0,$s5,$zero +.L0f1934b0: +/* f1934b0: 0fc649df */ jal func0f19277c +/* f1934b4: 86a5017e */ lh $a1,0x17e($s5) +/* f1934b8: 8fbf002c */ lw $ra,0x2c($sp) +.L0f1934bc: +/* f1934bc: 8fb00014 */ lw $s0,0x14($sp) +/* f1934c0: 8fb10018 */ lw $s1,0x18($sp) +/* f1934c4: 8fb2001c */ lw $s2,0x1c($sp) +/* f1934c8: 8fb30020 */ lw $s3,0x20($sp) +/* f1934cc: 8fb40024 */ lw $s4,0x24($sp) +/* f1934d0: 8fb50028 */ lw $s5,0x28($sp) +/* f1934d4: 03e00008 */ jr $ra +/* f1934d8: 27bd00a8 */ addiu $sp,$sp,0xa8 +); +#else GLOBAL_ASM( glabel func0f192e90 /* f192e90: 27bdff58 */ addiu $sp,$sp,-168 @@ -3801,6 +4246,7 @@ glabel func0f192e90 /* f1934d4: 03e00008 */ jr $ra /* f1934d8: 27bd00a8 */ addiu $sp,$sp,0xa8 ); +#endif bool mpIsChrFollowedByChr(struct chrdata *leader, struct chrdata *follower) { diff --git a/src/game/game_197600.c b/src/game/game_197600.c index 349454455..5c6bd0dba 100644 --- a/src/game/game_197600.c +++ b/src/game/game_197600.c @@ -227,7 +227,7 @@ void func0f197600(struct chrdata *chr) if (somevalue == 0) { new074 = 3; aibot->unk050 = prop; - aibot->unk09d = 20 + (random() % 120); + aibot->unk09d = PALDOWN(20) + (random() % PALDOWN(120)); } else if (aibot->unk050) { if (aibot->unk09d > g_Vars.lvupdate240_60) { aibot->unk09d -= g_Vars.lvupdate240_60; @@ -261,7 +261,7 @@ void func0f197600(struct chrdata *chr) break; } - aibot->unk0d0 = 60; + aibot->unk0d0 = PALDOWN(60); } } @@ -784,7 +784,7 @@ void aibotScoreWeapon(struct chrdata *chr, s32 weaponnum, s32 funcnum, s32 arg3, score2 = 0; } } else { - if (arg7 && chr->target != -1 && chrGetTargetProp(chr)->chr->blurdrugamount > 3500) { + if (arg7 && chr->target != -1 && chrGetTargetProp(chr)->chr->blurdrugamount > PALDOWN(3500)) { score1 = 0; score2 = 0; } else { @@ -805,7 +805,7 @@ void aibotScoreWeapon(struct chrdata *chr, s32 weaponnum, s32 funcnum, s32 arg3, if (chr->aibot->simulant->difficulty <= SIMDIFF_MEAT) { score1 = 0; score2 = 0; - } else if (bluramount > 3500 && (chr->aibot->rand % 2) == 0) { + } else if (bluramount > PALDOWN(3500) && (chr->aibot->rand % 2) == 0) { score1 = chr->aibot->rand % 140 + 48; score2 = 188; } else if (chr->aibot->rand % 10 == 0) { @@ -816,15 +816,15 @@ void aibotScoreWeapon(struct chrdata *chr, s32 weaponnum, s32 funcnum, s32 arg3, score2 = 0; } } else { - if (bluramount >= 5000) { + if (bluramount >= PALDOWN(5000)) { score2 = 48; if (chr->aibot->rand % 2) { score1 = 0; score2 = 0; } - } else if (bluramount > 3500) { - u32 value = (-bluramount * 16 + 80000) / 1500; + } else if (bluramount > PALDOWN(3500)) { + u32 value = (-bluramount * 16 + (PAL ? 66656 : 80000)) / PALDOWN(1500); if (value > 15) { value = 15; @@ -861,7 +861,7 @@ void aibotScoreWeapon(struct chrdata *chr, s32 weaponnum, s32 funcnum, s32 arg3, f32 float2; if (g_Vars.lvframe60 > 0) { - killrate = g_Vars.totalkills * (PAL ? 3000.0f : 3600.0f) / (f32)(g_Vars.lvframe60 * g_MpNumPlayers); + killrate = g_Vars.totalkills * PALDOWN(3600.0f) / (f32)(g_Vars.lvframe60 * g_MpNumPlayers); if (killrate < 1) { killrate = 1; @@ -871,7 +871,7 @@ void aibotScoreWeapon(struct chrdata *chr, s32 weaponnum, s32 funcnum, s32 arg3, weaponindex = mpGetWeaponIndexByWeaponNum(weaponnum); if (weaponindex >= 0) { - float2 = ceilf(chr->aibot->equipdurations60[weaponindex][funcnum] * (1.0f / (PAL ? 3000.0f : 3600.0f))); + float2 = ceilf(chr->aibot->equipdurations60[weaponindex][funcnum] * (1.0f / PALDOWN(3600.0f))); if (float2 > 0) { float1 = chr->aibot->killsbygunfunc[weaponindex][funcnum]; @@ -972,7 +972,7 @@ void aibotTickInventory(struct chrdata *chr) aibot->dampensuicidesttl60 -= g_Vars.lvupdate240_60; if (aibot->dampensuicidesttl60 < 0) { - aibot->dampensuicidesttl60 = SECSTOTIME60(60) + random() % SECSTOTIME60(1); + aibot->dampensuicidesttl60 = PALDOWN(3600) + random() % PALDOWN(60); for (i = 0; i < 6; i++) { aibot->suicidesbygunfunc[i][0] *= 0.9f; @@ -984,7 +984,7 @@ void aibotTickInventory(struct chrdata *chr) aibot->unk2a4 -= g_Vars.lvupdate240_60; if (aibot->unk2a4 < 0) { - aibot->unk2a4 = SECSTOTIME60(10) + random() % SECSTOTIME60(50); + aibot->unk2a4 = PALDOWN(600) + random() % PALDOWN(3000); for (i = 0; i < 6; i++) { if (aibot->simulant->difficulty == SIMDIFF_MEAT) { @@ -1002,7 +1002,7 @@ void aibotTickInventory(struct chrdata *chr) aibot->randttl60 -= g_Vars.lvupdate240_60; if (aibot->randttl60 < 0) { - aibot->randttl60 = SECSTOTIME60(2) + random() % SECSTOTIME60(10); + aibot->randttl60 = PALDOWN(120) + random() % PALDOWN(600); aibot->rand = random(); } @@ -1125,7 +1125,7 @@ bool aibotSwitchToWeapon(struct chrdata *chr, s32 weaponnum, s32 funcnum) changingfunc = funcnum != aibot->gunfunc; if (changinggun) { - aibot->unk0cc = 60; + aibot->unk0cc = PALDOWN(60); for (i = 0; i < 2; i++) { aibot->unk0c4[i] = 0; diff --git a/src/game/game_1999b0.c b/src/game/game_1999b0.c index c82dabd8e..ace7ef808 100644 --- a/src/game/game_1999b0.c +++ b/src/game/game_1999b0.c @@ -313,10 +313,10 @@ u32 aibotGetProjectileThrowInterval(u32 weapon) { switch (weapon) { case WEAPON_COMBATKNIFE: - return 120; + return PALDOWN(120); case WEAPON_GRENADE: case WEAPON_NBOMB: - return 90; + return PALDOWN(90); case WEAPON_CROSSBOW: case WEAPON_TRANQUILIZER: case WEAPON_LASER: @@ -324,7 +324,7 @@ u32 aibotGetProjectileThrowInterval(u32 weapon) case WEAPON_PROXIMITYMINE: case WEAPON_REMOTEMINE: default: - return 60; + return PALDOWN(60); } } diff --git a/src/game/game_19aa80.c b/src/game/game_19aa80.c index c673a5a1d..527674014 100644 --- a/src/game/game_19aa80.c +++ b/src/game/game_19aa80.c @@ -704,7 +704,7 @@ glabel mpLoadConfig /* f19b918: afbf0014 */ sw $ra,0x14($sp) /* f19b91c: afa401c8 */ sw $a0,0x1c8($sp) /* f19b920: afa501cc */ sw $a1,0x1cc($sp) -/* f19b924: 0fc5b9b5 */ jal langGetLanguageId +/* f19b924: 0fc5b9b5 */ jal langGetFileNumOffset /* f19b928: afa601d0 */ sw $a2,0x1d0($sp) /* f19b92c: 3c0f8009 */ lui $t7,%hi(var800887c4) /* f19b930: 25ef87c4 */ addiu $t7,$t7,%lo(var800887c4) @@ -793,7 +793,7 @@ glabel mpLoadConfig // u8 buffer2[sizeof(struct mpstrings) + 40]; // struct mpstrings *loadedstrings; // struct mpstrings *bank; -// u32 language_id = langGetLanguageId(); +// u32 language_id = langGetFileNumOffset(); // extern struct mpconfig _mpconfigsSegmentRomStart[]; // extern struct mpstrings _mpstringsESegmentRomStart; // extern struct mpstrings _mpstringsJSegmentRomStart; diff --git a/src/game/game_1a78b0.c b/src/game/game_1a78b0.c index 7d976945c..b347ed20a 100644 --- a/src/game/game_1a78b0.c +++ b/src/game/game_1a78b0.c @@ -5,10 +5,6 @@ #include "data.h" #include "types.h" -#if VERSION >= VERSION_PAL_FINAL -f32 g_SomePalFloat; -#endif - void func0f1a78b0(void) { // empty diff --git a/src/game/hudmsg.c b/src/game/hudmsg.c index f17744283..556b2c08b 100644 --- a/src/game/hudmsg.c +++ b/src/game/hudmsg.c @@ -3602,7 +3602,7 @@ glabel hudmsgCreate /* f0df7a4: 240c000a */ li $t4,0xa /* f0df7a8: 26320020 */ addiu $s2,$s1,0x20 /* f0df7ac: 11400010 */ beqz $t2,.PF0f0df7f0 -/* f0df7b0: 03201021 */ move $v0,$t9 +/* f0df7b0: 03201021 */ addu $v0,$t9,$zero /* f0df7b4: 93230000 */ lbu $v1,0x0($t9) /* f0df7b8: 27b00044 */ addiu $s0,$sp,0x44 /* f0df7bc: 2406000a */ li $a2,0xa diff --git a/src/game/lang.c b/src/game/lang.c index 080f304b5..9b6482cd4 100644 --- a/src/game/lang.c +++ b/src/game/lang.c @@ -7,18 +7,25 @@ #include "data.h" #include "types.h" +/** + * NTSC appears to use a boolean for Japanese support. + * PAL ignores this mostly and introduces g_LanguageId. + */ #if VERSION >= VERSION_PAL_FINAL -u32 var80084660pf = 0; +bool g_Jpn = false; u32 var80084664pf = 0; u32 var80084668pf = 0; u32 var8008466cpf = 0; -#endif - u32 *g_LangBanks[69]; void *var800aabb4; struct var800aabb8 *var800aabb8; - -u32 g_LanguageId = 0; +s32 g_LanguageId = LANGUAGE_NTSC_EN; +#else +u32 *g_LangBanks[69]; +void *var800aabb4; +struct var800aabb8 *var800aabb8; +bool g_Jpn = false; +#endif u16 g_LangFiles[] = { /* 0*/ 0, @@ -294,8 +301,8 @@ glabel func0f16e3fc /* f16e5b4: a46e0000 */ sh $t6,0x0($v1) /* f16e5b8: 3c0f800b */ lui $t7,%hi(var800aabb4) /* f16e5bc: 8defabb4 */ lw $t7,%lo(var800aabb4)($t7) -/* f16e5c0: 3c190019 */ lui $t9,0x19 -/* f16e5c4: 27394440 */ addiu $t9,$t9,0x4440 +/* f16e5c0: 3c190019 */ lui $t9,%hi(_jpndata1) +/* f16e5c4: 27394440 */ addiu $t9,$t9,%lo(_jpndata1) /* f16e5c8: 0000c012 */ mflo $t8 /* f16e5cc: 03192821 */ addu $a1,$t8,$t9 /* f16e5d0: afa80024 */ sw $t0,0x24($sp) @@ -347,8 +354,8 @@ glabel func0f16e3fc /* f16e684: 32191fff */ andi $t9,$s0,0x1fff /* f16e688: 00197043 */ sra $t6,$t9,0x1 /* f16e68c: 01182021 */ addu $a0,$t0,$t8 -/* f16e690: 3c18001a */ lui $t8,0x1a -/* f16e694: 2718fb40 */ addiu $t8,$t8,-1216 +/* f16e690: 3c18001a */ lui $t8,%hi(_jpndata2) +/* f16e694: 2718fb40 */ addiu $t8,$t8,%lo(_jpndata2) /* f16e698: 000e79c0 */ sll $t7,$t6,0x7 /* f16e69c: 01f82821 */ addu $a1,$t7,$t8 /* f16e6a0: 0c003504 */ jal dmaExec @@ -373,25 +380,25 @@ glabel func0f16e3fc * NTSC only supports English, while PAL supports 4 languages and JPN has its * own. Each English file is followed immediately by the other translations. */ -s32 langGetLanguageId(void) +s32 langGetFileNumOffset(void) { #if PAL - s32 ret = g_LanguageId; - return ret + 2; + s32 offset = g_LanguageId; + return offset + 2; #else - s32 ret = LANGUAGE_NTSC_EN; + s32 offset = 0; - if (g_LanguageId != LANGUAGE_NTSC_EN) { - ret = LANGUAGE_NTSC_JP; + if (g_Jpn) { + offset = 1; } - return ret; + return offset; #endif } s32 langGetFileId(s32 bank) { - return g_LangFiles[bank] + langGetLanguageId(); + return g_LangFiles[bank] + langGetFileNumOffset(); } #if VERSION >= VERSION_PAL_FINAL diff --git a/src/game/menu/items.c b/src/game/menu/items.c index 524b25b09..2f63f3a0e 100644 --- a/src/game/menu/items.c +++ b/src/game/menu/items.c @@ -21,12 +21,12 @@ #include "data.h" #include "types.h" +u8 g_MpSelectedPlayersForStats[4]; + #if VERSION >= VERSION_PAL_FINAL u8 fill3[0x30]; #endif -u8 g_MpSelectedPlayersForStats[4]; - const char var7f1adfa0[] = "brcol"; const char var7f1adfa8[] = "%d: "; const char var7f1adfb0[] = "%s"; @@ -3231,6 +3231,7 @@ Gfx *menuRenderItemSeparator(Gfx *gdl, struct menurendercontext *context) u32 var800711e8 = 0; +#if PAL GLOBAL_ASM( glabel menuRenderObjective /* f0e98ac: 27bdfed0 */ addiu $sp,$sp,-304 @@ -3243,7 +3244,7 @@ glabel menuRenderObjective /* f0e98c8: afa7013c */ sw $a3,0x13c($sp) /* f0e98cc: 11c00002 */ beqz $t6,.L0f0e98d8 /* f0e98d0: 00001025 */ or $v0,$zero,$zero -/* f0e98d4: 2402000c */ addiu $v0,$zero,0xc +/* f0e98d4: 2402000c */ addiu $v0,$zero,0x10 .L0f0e98d8: /* f0e98d8: 3c047f1b */ lui $a0,%hi(var7f1adfa0) /* f0e98dc: 3c058007 */ lui $a1,%hi(var800711e8) @@ -3431,7 +3432,7 @@ glabel menuRenderObjective /* f0e9ba0: 27a400c0 */ addiu $a0,$sp,0xc0 /* f0e9ba4: 27a500c4 */ addiu $a1,$sp,0xc4 /* f0e9ba8: 11a00141 */ beqz $t5,.L0f0ea0b0 -/* f0e9bac: 3c078008 */ lui $a3,%hi(g_Stages+0x33f) +/* f0e9bac: 3c078008 */ lui $a3,%hi(g_FontHandelGothicSm1) /* f0e9bb0: 0fc255a1 */ jal objectiveCheck /* f0e9bb4: 8fa40138 */ lw $a0,0x138($sp) /* f0e9bb8: 10400007 */ beqz $v0,.L0f0e9bd8 @@ -3636,7 +3637,7 @@ glabel menuRenderObjective /* f0e9eb8: 8fa7005c */ lw $a3,0x5c($sp) /* f0e9ebc: 8fa30054 */ lw $v1,0x54($sp) /* f0e9ec0: 24c80001 */ addiu $t0,$a2,0x1 -/* f0e9ec4: 24e7ffff */ addiu $a3,$a3,%lo(g_Stages+0x33f) +/* f0e9ec4: 24e7ffff */ addiu $a3,$a3,-1 /* f0e9ec8: afa70058 */ sw $a3,0x58($sp) /* f0e9ecc: afa80010 */ sw $t0,0x10($sp) /* f0e9ed0: afa80048 */ sw $t0,0x48($sp) @@ -3774,7 +3775,7 @@ glabel menuRenderObjective /* f0ea0dc: afa90078 */ sw $t1,0x78($sp) /* f0ea0e0: afac0074 */ sw $t4,0x74($sp) /* f0ea0e4: 8fa60120 */ lw $a2,0x120($sp) -/* f0ea0e8: 8ce7fb10 */ lw $a3,-0x4f0($a3) +/* f0ea0e8: 8ce7fb10 */ lw $a3,%lo(g_FontHandelGothicSm1)($a3) /* f0ea0ec: afa00014 */ sw $zero,0x14($sp) /* f0ea0f0: 0fc55cbe */ jal textMeasure /* f0ea0f4: afab0010 */ sw $t3,0x10($sp) @@ -3883,6 +3884,660 @@ glabel menuRenderObjective /* f0ea288: 03e00008 */ jr $ra /* f0ea28c: 27bd0130 */ addiu $sp,$sp,0x130 ); +#else +GLOBAL_ASM( +glabel menuRenderObjective +/* f0e98ac: 27bdfed0 */ addiu $sp,$sp,-304 +/* f0e98b0: 8fae0154 */ lw $t6,0x154($sp) +/* f0e98b4: afbf003c */ sw $ra,0x3c($sp) +/* f0e98b8: afb00038 */ sw $s0,0x38($sp) +/* f0e98bc: afa40130 */ sw $a0,0x130($sp) +/* f0e98c0: afa50134 */ sw $a1,0x134($sp) +/* f0e98c4: afa60138 */ sw $a2,0x138($sp) +/* f0e98c8: afa7013c */ sw $a3,0x13c($sp) +/* f0e98cc: 11c00002 */ beqz $t6,.L0f0e98d8 +/* f0e98d0: 00001025 */ or $v0,$zero,$zero +/* f0e98d4: 2402000c */ addiu $v0,$zero,0xc +.L0f0e98d8: +/* f0e98d8: 3c047f1b */ lui $a0,%hi(var7f1adfa0) +/* f0e98dc: 3c058007 */ lui $a1,%hi(var800711e8) +/* f0e98e0: 24a511e8 */ addiu $a1,$a1,%lo(var800711e8) +/* f0e98e4: 2484dfa0 */ addiu $a0,$a0,%lo(var7f1adfa0) +/* f0e98e8: 0c0036cc */ jal func0000db30 +/* f0e98ec: afa200bc */ sw $v0,0xbc($sp) +/* f0e98f0: 8faf0138 */ lw $t7,0x138($sp) +/* f0e98f4: 3c04800a */ lui $a0,%hi(g_Briefing+0x2) +/* f0e98f8: 000fc040 */ sll $t8,$t7,0x1 +/* f0e98fc: 00982021 */ addu $a0,$a0,$t8 +/* f0e9900: 0fc5b9f1 */ jal langGet +/* f0e9904: 9484dfca */ lhu $a0,%lo(g_Briefing+0x2)($a0) +/* f0e9908: 87b90146 */ lh $t9,0x146($sp) +/* f0e990c: 8fa30134 */ lw $v1,0x134($sp) +/* f0e9910: afa20120 */ sw $v0,0x120($sp) +/* f0e9914: afb90124 */ sw $t9,0x124($sp) +/* f0e9918: 44803000 */ mtc1 $zero,$f6 +/* f0e991c: c4640040 */ lwc1 $f4,0x40($v1) +/* f0e9920: 4606203c */ c.lt.s $f4,$f6 +/* f0e9924: 00000000 */ nop +/* f0e9928: 4502000b */ bc1fl .L0f0e9958 +/* f0e992c: 906c003d */ lbu $t4,0x3d($v1) +/* f0e9930: 9069003c */ lbu $t1,0x3c($v1) +/* f0e9934: 2410003c */ addiu $s0,$zero,0x3c +/* f0e9938: 3c0b7f1b */ lui $t3,%hi(g_MenuColourPalettes+0x18) +/* f0e993c: 01300019 */ multu $t1,$s0 +/* f0e9940: 00005012 */ mflo $t2 +/* f0e9944: 016a5821 */ addu $t3,$t3,$t2 +/* f0e9948: 8d6b1fc8 */ lw $t3,%lo(g_MenuColourPalettes+0x18)($t3) +/* f0e994c: 10000012 */ b .L0f0e9998 +/* f0e9950: afab012c */ sw $t3,0x12c($sp) +/* f0e9954: 906c003d */ lbu $t4,0x3d($v1) +.L0f0e9958: +/* f0e9958: 2410003c */ addiu $s0,$zero,0x3c +/* f0e995c: 9078003c */ lbu $t8,0x3c($v1) +/* f0e9960: 01900019 */ multu $t4,$s0 +/* f0e9964: 3c0e7f1b */ lui $t6,%hi(g_MenuColourPalettes) +/* f0e9968: 25ce1fb0 */ addiu $t6,$t6,%lo(g_MenuColourPalettes) +/* f0e996c: 8c660044 */ lw $a2,0x44($v1) +/* f0e9970: 00006812 */ mflo $t5 +/* f0e9974: 01ae7821 */ addu $t7,$t5,$t6 +/* f0e9978: 8de40018 */ lw $a0,0x18($t7) +/* f0e997c: 03100019 */ multu $t8,$s0 +/* f0e9980: 0000c812 */ mflo $t9 +/* f0e9984: 032e4821 */ addu $t1,$t9,$t6 +/* f0e9988: 0fc01a40 */ jal colourBlend +/* f0e998c: 8d250018 */ lw $a1,0x18($t1) +/* f0e9990: afa2012c */ sw $v0,0x12c($sp) +/* f0e9994: 8fa30134 */ lw $v1,0x134($sp) +.L0f0e9998: +/* f0e9998: 8c6a000c */ lw $t2,0xc($v1) +/* f0e999c: 8fa4012c */ lw $a0,0x12c($sp) +/* f0e99a0: 00002825 */ or $a1,$zero,$zero +/* f0e99a4: 5140000b */ beqzl $t2,.L0f0e99d4 +/* f0e99a8: 9078003c */ lbu $t8,0x3c($v1) +/* f0e99ac: 0fc01a40 */ jal colourBlend +/* f0e99b0: 2406002c */ addiu $a2,$zero,0x2c +/* f0e99b4: 8fac012c */ lw $t4,0x12c($sp) +/* f0e99b8: 2401ff00 */ addiu $at,$zero,-256 +/* f0e99bc: 00415824 */ and $t3,$v0,$at +/* f0e99c0: 318d00ff */ andi $t5,$t4,0xff +/* f0e99c4: 016d7825 */ or $t7,$t3,$t5 +/* f0e99c8: afaf012c */ sw $t7,0x12c($sp) +/* f0e99cc: 8fa30134 */ lw $v1,0x134($sp) +/* f0e99d0: 9078003c */ lbu $t8,0x3c($v1) +.L0f0e99d4: +/* f0e99d4: 3c047f1b */ lui $a0,%hi(g_MenuColourPalettes3+0x18) +/* f0e99d8: 3c057f1b */ lui $a1,%hi(g_MenuColourPalettes2+0x18) +/* f0e99dc: 03100019 */ multu $t8,$s0 +/* f0e99e0: 00001012 */ mflo $v0 +/* f0e99e4: 00822021 */ addu $a0,$a0,$v0 +/* f0e99e8: 00a22821 */ addu $a1,$a1,$v0 +/* f0e99ec: 8ca52130 */ lw $a1,%lo(g_MenuColourPalettes2+0x18)($a1) +/* f0e99f0: 0fc54f8e */ jal func0f153e38 +/* f0e99f4: 8c842298 */ lw $a0,%lo(g_MenuColourPalettes3+0x18)($a0) +/* f0e99f8: a3a000d0 */ sb $zero,0xd0($sp) +/* f0e99fc: 0fc54d8a */ jal func0f153628 +/* f0e9a00: 8fa40130 */ lw $a0,0x130($sp) +/* f0e9a04: 27b000d0 */ addiu $s0,$sp,0xd0 +/* f0e9a08: 3c057f1b */ lui $a1,%hi(var7f1adfa8) +/* f0e9a0c: afa20130 */ sw $v0,0x130($sp) +/* f0e9a10: 24a5dfa8 */ addiu $a1,$a1,%lo(var7f1adfa8) +/* f0e9a14: 02002025 */ or $a0,$s0,$zero +/* f0e9a18: 0c004dad */ jal sprintf +/* f0e9a1c: 8fa6013c */ lw $a2,0x13c($sp) +/* f0e9a20: 3c198008 */ lui $t9,%hi(g_FontHandelGothicSm2) +/* f0e9a24: 8f39fb0c */ lw $t9,%lo(g_FontHandelGothicSm2)($t9) +/* f0e9a28: 3c078008 */ lui $a3,%hi(g_FontHandelGothicSm1) +/* f0e9a2c: 8ce7fb10 */ lw $a3,%lo(g_FontHandelGothicSm1)($a3) +/* f0e9a30: 27a400c0 */ addiu $a0,$sp,0xc0 +/* f0e9a34: 27a500c4 */ addiu $a1,$sp,0xc4 +/* f0e9a38: 02003025 */ or $a2,$s0,$zero +/* f0e9a3c: afa00014 */ sw $zero,0x14($sp) +/* f0e9a40: 0fc55cbe */ jal textMeasure +/* f0e9a44: afb90010 */ sw $t9,0x10($sp) +/* f0e9a48: 87ae0142 */ lh $t6,0x142($sp) +/* f0e9a4c: 8fa900c4 */ lw $t1,0xc4($sp) +/* f0e9a50: 3c0b8008 */ lui $t3,%hi(g_FontHandelGothicSm1) +/* f0e9a54: 3c0d8008 */ lui $t5,%hi(g_FontHandelGothicSm2) +/* f0e9a58: 8dadfb0c */ lw $t5,%lo(g_FontHandelGothicSm2)($t5) +/* f0e9a5c: 8d6bfb10 */ lw $t3,%lo(g_FontHandelGothicSm1)($t3) +/* f0e9a60: 8faf012c */ lw $t7,0x12c($sp) +/* f0e9a64: 87b8014a */ lh $t8,0x14a($sp) +/* f0e9a68: 87b9014e */ lh $t9,0x14e($sp) +/* f0e9a6c: 01c95023 */ subu $t2,$t6,$t1 +/* f0e9a70: 254c0019 */ addiu $t4,$t2,0x19 +/* f0e9a74: afac0128 */ sw $t4,0x128($sp) +/* f0e9a78: 8fa40130 */ lw $a0,0x130($sp) +/* f0e9a7c: 27a50128 */ addiu $a1,$sp,0x128 +/* f0e9a80: 27a60124 */ addiu $a2,$sp,0x124 +/* f0e9a84: 02003825 */ or $a3,$s0,$zero +/* f0e9a88: afa00024 */ sw $zero,0x24($sp) +/* f0e9a8c: afa00028 */ sw $zero,0x28($sp) +/* f0e9a90: afad0014 */ sw $t5,0x14($sp) +/* f0e9a94: afab0010 */ sw $t3,0x10($sp) +/* f0e9a98: afaf0018 */ sw $t7,0x18($sp) +/* f0e9a9c: afb8001c */ sw $t8,0x1c($sp) +/* f0e9aa0: 0fc5580f */ jal textRenderProjected +/* f0e9aa4: afb90020 */ sw $t9,0x20($sp) +/* f0e9aa8: 87ae0142 */ lh $t6,0x142($sp) +/* f0e9aac: 8faa0154 */ lw $t2,0x154($sp) +/* f0e9ab0: afa20130 */ sw $v0,0x130($sp) +/* f0e9ab4: 25c90019 */ addiu $t1,$t6,0x19 +/* f0e9ab8: 1140001f */ beqz $t2,.L0f0e9b38 +/* f0e9abc: afa90128 */ sw $t1,0x128($sp) +/* f0e9ac0: 3c0c8008 */ lui $t4,%hi(g_FontHandelGothicXs2) +/* f0e9ac4: 8d8cfb04 */ lw $t4,%lo(g_FontHandelGothicXs2)($t4) +/* f0e9ac8: 3c078008 */ lui $a3,%hi(g_FontHandelGothicXs1) +/* f0e9acc: 8ce7fb08 */ lw $a3,%lo(g_FontHandelGothicXs1)($a3) +/* f0e9ad0: 24040055 */ addiu $a0,$zero,0x55 +/* f0e9ad4: 8fa50120 */ lw $a1,0x120($sp) +/* f0e9ad8: 02003025 */ or $a2,$s0,$zero +/* f0e9adc: 0fc55d48 */ jal textWrap +/* f0e9ae0: afac0010 */ sw $t4,0x10($sp) +/* f0e9ae4: 3c0b8008 */ lui $t3,%hi(g_FontHandelGothicXs1) +/* f0e9ae8: 3c0d8008 */ lui $t5,%hi(g_FontHandelGothicXs2) +/* f0e9aec: 8dadfb04 */ lw $t5,%lo(g_FontHandelGothicXs2)($t5) +/* f0e9af0: 8d6bfb08 */ lw $t3,%lo(g_FontHandelGothicXs1)($t3) +/* f0e9af4: 8faf012c */ lw $t7,0x12c($sp) +/* f0e9af8: 87b8014a */ lh $t8,0x14a($sp) +/* f0e9afc: 87b9014e */ lh $t9,0x14e($sp) +/* f0e9b00: 8fa40130 */ lw $a0,0x130($sp) +/* f0e9b04: 27a50128 */ addiu $a1,$sp,0x128 +/* f0e9b08: 27a60124 */ addiu $a2,$sp,0x124 +/* f0e9b0c: 02003825 */ or $a3,$s0,$zero +/* f0e9b10: afa00024 */ sw $zero,0x24($sp) +/* f0e9b14: afa00028 */ sw $zero,0x28($sp) +/* f0e9b18: afad0014 */ sw $t5,0x14($sp) +/* f0e9b1c: afab0010 */ sw $t3,0x10($sp) +/* f0e9b20: afaf0018 */ sw $t7,0x18($sp) +/* f0e9b24: afb8001c */ sw $t8,0x1c($sp) +/* f0e9b28: 0fc5580f */ jal textRenderProjected +/* f0e9b2c: afb90020 */ sw $t9,0x20($sp) +/* f0e9b30: 1000001a */ b .L0f0e9b9c +/* f0e9b34: afa20130 */ sw $v0,0x130($sp) +.L0f0e9b38: +/* f0e9b38: 3c057f1b */ lui $a1,%hi(var7f1adfb0) +/* f0e9b3c: 24a5dfb0 */ addiu $a1,$a1,%lo(var7f1adfb0) +/* f0e9b40: 02002025 */ or $a0,$s0,$zero +/* f0e9b44: 0c004dad */ jal sprintf +/* f0e9b48: 8fa60120 */ lw $a2,0x120($sp) +/* f0e9b4c: 3c0e8008 */ lui $t6,%hi(g_FontHandelGothicSm1) +/* f0e9b50: 3c098008 */ lui $t1,%hi(g_FontHandelGothicSm2) +/* f0e9b54: 8d29fb0c */ lw $t1,%lo(g_FontHandelGothicSm2)($t1) +/* f0e9b58: 8dcefb10 */ lw $t6,%lo(g_FontHandelGothicSm1)($t6) +/* f0e9b5c: 8faa012c */ lw $t2,0x12c($sp) +/* f0e9b60: 87ac014a */ lh $t4,0x14a($sp) +/* f0e9b64: 87ab014e */ lh $t3,0x14e($sp) +/* f0e9b68: 8fa40130 */ lw $a0,0x130($sp) +/* f0e9b6c: 27a50128 */ addiu $a1,$sp,0x128 +/* f0e9b70: 27a60124 */ addiu $a2,$sp,0x124 +/* f0e9b74: 02003825 */ or $a3,$s0,$zero +/* f0e9b78: afa00024 */ sw $zero,0x24($sp) +/* f0e9b7c: afa00028 */ sw $zero,0x28($sp) +/* f0e9b80: afa90014 */ sw $t1,0x14($sp) +/* f0e9b84: afae0010 */ sw $t6,0x10($sp) +/* f0e9b88: afaa0018 */ sw $t2,0x18($sp) +/* f0e9b8c: afac001c */ sw $t4,0x1c($sp) +/* f0e9b90: 0fc5580f */ jal textRenderProjected +/* f0e9b94: afab0020 */ sw $t3,0x20($sp) +/* f0e9b98: afa20130 */ sw $v0,0x130($sp) +.L0f0e9b9c: +/* f0e9b9c: 8fad0150 */ lw $t5,0x150($sp) +/* f0e9ba0: 27a400c0 */ addiu $a0,$sp,0xc0 +/* f0e9ba4: 27a500c4 */ addiu $a1,$sp,0xc4 +/* f0e9ba8: 11a00141 */ beqz $t5,.L0f0ea0b0 +/* f0e9bac: 3c078008 */ lui $a3,%hi(g_FontHandelGothicSm1) +/* f0e9bb0: 0fc255a1 */ jal objectiveCheck +/* f0e9bb4: 8fa40138 */ lw $a0,0x138($sp) +/* f0e9bb8: 10400007 */ beqz $v0,.L0f0e9bd8 +/* f0e9bbc: 24010001 */ addiu $at,$zero,0x1 +/* f0e9bc0: 1041000c */ beq $v0,$at,.L0f0e9bf4 +/* f0e9bc4: 24010002 */ addiu $at,$zero,0x2 +/* f0e9bc8: 10410011 */ beq $v0,$at,.L0f0e9c10 +/* f0e9bcc: 00000000 */ nop +/* f0e9bd0: 10000015 */ b .L0f0e9c28 +/* f0e9bd4: 00000000 */ nop +.L0f0e9bd8: +/* f0e9bd8: 0fc5b9f1 */ jal langGet +/* f0e9bdc: 24045601 */ addiu $a0,$zero,0x5601 +/* f0e9be0: 3c0fffff */ lui $t7,0xffff +/* f0e9be4: 35ef00ff */ ori $t7,$t7,0xff +/* f0e9be8: afa200cc */ sw $v0,0xcc($sp) +/* f0e9bec: 1000000e */ b .L0f0e9c28 +/* f0e9bf0: afaf00c8 */ sw $t7,0xc8($sp) +.L0f0e9bf4: +/* f0e9bf4: 0fc5b9f1 */ jal langGet +/* f0e9bf8: 24045600 */ addiu $a0,$zero,0x5600 +/* f0e9bfc: 3c1800ff */ lui $t8,0xff +/* f0e9c00: 371800ff */ ori $t8,$t8,0xff +/* f0e9c04: afa200cc */ sw $v0,0xcc($sp) +/* f0e9c08: 10000007 */ b .L0f0e9c28 +/* f0e9c0c: afb800c8 */ sw $t8,0xc8($sp) +.L0f0e9c10: +/* f0e9c10: 0fc5b9f1 */ jal langGet +/* f0e9c14: 24045602 */ addiu $a0,$zero,0x5602 +/* f0e9c18: 3c19ff40 */ lui $t9,0xff40 +/* f0e9c1c: 373940ff */ ori $t9,$t9,0x40ff +/* f0e9c20: afa200cc */ sw $v0,0xcc($sp) +/* f0e9c24: afb900c8 */ sw $t9,0xc8($sp) +.L0f0e9c28: +/* f0e9c28: 3c098007 */ lui $t1,%hi(g_MpPlayerNum) +/* f0e9c2c: 8d291448 */ lw $t1,%lo(g_MpPlayerNum)($t1) +/* f0e9c30: 3c0c800a */ lui $t4,%hi(g_Menus+0x4f8) +/* f0e9c34: 8fae0134 */ lw $t6,0x134($sp) +/* f0e9c38: 000950c0 */ sll $t2,$t1,0x3 +/* f0e9c3c: 01495023 */ subu $t2,$t2,$t1 +/* f0e9c40: 000a5080 */ sll $t2,$t2,0x2 +/* f0e9c44: 01495021 */ addu $t2,$t2,$t1 +/* f0e9c48: 000a50c0 */ sll $t2,$t2,0x3 +/* f0e9c4c: 01495023 */ subu $t2,$t2,$t1 +/* f0e9c50: 000a5100 */ sll $t2,$t2,0x4 +/* f0e9c54: 018a6021 */ addu $t4,$t4,$t2 +/* f0e9c58: 8d8ce4f8 */ lw $t4,%lo(g_Menus+0x4f8)($t4) +/* f0e9c5c: 27a400c0 */ addiu $a0,$sp,0xc0 +/* f0e9c60: 27a500c4 */ addiu $a1,$sp,0xc4 +/* f0e9c64: 11cc0004 */ beq $t6,$t4,.L0f0e9c78 +/* f0e9c68: 3c078008 */ lui $a3,%hi(g_FontHandelGothicXs1) +/* f0e9c6c: 3c0b7f1b */ lui $t3,%hi(g_MenuColourPalettes+0x18) +/* f0e9c70: 8d6b1fc8 */ lw $t3,%lo(g_MenuColourPalettes+0x18)($t3) +/* f0e9c74: afab00c8 */ sw $t3,0xc8($sp) +.L0f0e9c78: +/* f0e9c78: 3c0d8008 */ lui $t5,%hi(g_FontHandelGothicXs2) +/* f0e9c7c: 8dadfb04 */ lw $t5,%lo(g_FontHandelGothicXs2)($t5) +/* f0e9c80: 8fa600cc */ lw $a2,0xcc($sp) +/* f0e9c84: 8ce7fb08 */ lw $a3,%lo(g_FontHandelGothicXs1)($a3) +/* f0e9c88: afa00014 */ sw $zero,0x14($sp) +/* f0e9c8c: 0fc55cbe */ jal textMeasure +/* f0e9c90: afad0010 */ sw $t5,0x10($sp) +/* f0e9c94: 3c028007 */ lui $v0,%hi(var800711e8) +/* f0e9c98: 8c4211e8 */ lw $v0,%lo(var800711e8)($v0) +/* f0e9c9c: 27a50128 */ addiu $a1,$sp,0x128 +/* f0e9ca0: 27a60124 */ addiu $a2,$sp,0x124 +/* f0e9ca4: 10400002 */ beqz $v0,.L0f0e9cb0 +/* f0e9ca8: 3c0c8008 */ lui $t4,%hi(g_FontHandelGothicXs1) +/* f0e9cac: afa200c8 */ sw $v0,0xc8($sp) +.L0f0e9cb0: +/* f0e9cb0: 87a2014a */ lh $v0,0x14a($sp) +/* f0e9cb4: 87af0142 */ lh $t7,0x142($sp) +/* f0e9cb8: 8fb800c4 */ lw $t8,0xc4($sp) +/* f0e9cbc: 87aa0146 */ lh $t2,0x146($sp) +/* f0e9cc0: 8fae00bc */ lw $t6,0xbc($sp) +/* f0e9cc4: 01e28021 */ addu $s0,$t7,$v0 +/* f0e9cc8: 3c0b8008 */ lui $t3,%hi(g_FontHandelGothicXs2) +/* f0e9ccc: 8d6bfb04 */ lw $t3,%lo(g_FontHandelGothicXs2)($t3) +/* f0e9cd0: 87af014e */ lh $t7,0x14e($sp) +/* f0e9cd4: 8d8cfb08 */ lw $t4,%lo(g_FontHandelGothicXs1)($t4) +/* f0e9cd8: 8fad00c8 */ lw $t5,0xc8($sp) +/* f0e9cdc: 0218c823 */ subu $t9,$s0,$t8 +/* f0e9ce0: 014e1821 */ addu $v1,$t2,$t6 +/* f0e9ce4: 2729fff6 */ addiu $t1,$t9,-10 +/* f0e9ce8: 24630009 */ addiu $v1,$v1,0x9 +/* f0e9cec: afa90128 */ sw $t1,0x128($sp) +/* f0e9cf0: afa30124 */ sw $v1,0x124($sp) +/* f0e9cf4: afa30058 */ sw $v1,0x58($sp) +/* f0e9cf8: 8fa40130 */ lw $a0,0x130($sp) +/* f0e9cfc: 8fa700cc */ lw $a3,0xcc($sp) +/* f0e9d00: afa00024 */ sw $zero,0x24($sp) +/* f0e9d04: afa00028 */ sw $zero,0x28($sp) +/* f0e9d08: afa2001c */ sw $v0,0x1c($sp) +/* f0e9d0c: afab0014 */ sw $t3,0x14($sp) +/* f0e9d10: afaf0020 */ sw $t7,0x20($sp) +/* f0e9d14: afac0010 */ sw $t4,0x10($sp) +/* f0e9d18: 0fc5580f */ jal textRenderProjected +/* f0e9d1c: afad0018 */ sw $t5,0x18($sp) +/* f0e9d20: 8fb800c4 */ lw $t8,0xc4($sp) +/* f0e9d24: 8fac00c8 */ lw $t4,0xc8($sp) +/* f0e9d28: 3c0a8008 */ lui $t2,%hi(g_FontHandelGothicXs1) +/* f0e9d2c: 3c0e8008 */ lui $t6,%hi(g_FontHandelGothicXs2) +/* f0e9d30: 8fa30058 */ lw $v1,0x58($sp) +/* f0e9d34: 8dcefb04 */ lw $t6,%lo(g_FontHandelGothicXs2)($t6) +/* f0e9d38: 8d4afb08 */ lw $t2,%lo(g_FontHandelGothicXs1)($t2) +/* f0e9d3c: 87ad014a */ lh $t5,0x14a($sp) +/* f0e9d40: 87af014e */ lh $t7,0x14e($sp) +/* f0e9d44: 2401ff7f */ addiu $at,$zero,-129 +/* f0e9d48: 0218c823 */ subu $t9,$s0,$t8 +/* f0e9d4c: 2729fff6 */ addiu $t1,$t9,-10 +/* f0e9d50: 01815824 */ and $t3,$t4,$at +/* f0e9d54: afa90128 */ sw $t1,0x128($sp) +/* f0e9d58: afab0018 */ sw $t3,0x18($sp) +/* f0e9d5c: 00402025 */ or $a0,$v0,$zero +/* f0e9d60: 27a50128 */ addiu $a1,$sp,0x128 +/* f0e9d64: 27a60124 */ addiu $a2,$sp,0x124 +/* f0e9d68: 8fa700cc */ lw $a3,0xcc($sp) +/* f0e9d6c: afa00024 */ sw $zero,0x24($sp) +/* f0e9d70: afa00028 */ sw $zero,0x28($sp) +/* f0e9d74: afa30124 */ sw $v1,0x124($sp) +/* f0e9d78: afae0014 */ sw $t6,0x14($sp) +/* f0e9d7c: afaa0010 */ sw $t2,0x10($sp) +/* f0e9d80: afad001c */ sw $t5,0x1c($sp) +/* f0e9d84: 0fc5580f */ jal textRenderProjected +/* f0e9d88: afaf0020 */ sw $t7,0x20($sp) +/* f0e9d8c: 8fb800c4 */ lw $t8,0xc4($sp) +/* f0e9d90: 87b90146 */ lh $t9,0x146($sp) +/* f0e9d94: 00402025 */ or $a0,$v0,$zero +/* f0e9d98: 02183023 */ subu $a2,$s0,$t8 +/* f0e9d9c: 24c6fff3 */ addiu $a2,$a2,-13 +/* f0e9da0: 27290009 */ addiu $t1,$t9,0x9 +/* f0e9da4: afa90124 */ sw $t1,0x124($sp) +/* f0e9da8: 0fc54de0 */ jal func0f153780 +/* f0e9dac: afa60128 */ sw $a2,0x128($sp) +/* f0e9db0: 87a50142 */ lh $a1,0x142($sp) +/* f0e9db4: 87ae0146 */ lh $t6,0x146($sp) +/* f0e9db8: 8fa60128 */ lw $a2,0x128($sp) +/* f0e9dbc: 00054880 */ sll $t1,$a1,0x2 +/* f0e9dc0: 01254823 */ subu $t1,$t1,$a1 +/* f0e9dc4: 25cb0008 */ addiu $t3,$t6,0x8 +/* f0e9dc8: 8fad0124 */ lw $t5,0x124($sp) +/* f0e9dcc: 8faf00bc */ lw $t7,0xbc($sp) +/* f0e9dd0: afab00ac */ sw $t3,0xac($sp) +/* f0e9dd4: 24aa0016 */ addiu $t2,$a1,0x16 +/* f0e9dd8: 01251821 */ addu $v1,$t1,$a1 +/* f0e9ddc: 8fab013c */ lw $t3,0x13c($sp) +/* f0e9de0: afaa00b4 */ sw $t2,0xb4($sp) +/* f0e9de4: 24630042 */ addiu $v1,$v1,0x42 +/* f0e9de8: 25ccfffe */ addiu $t4,$t6,-2 +/* f0e9dec: afac00b0 */ sw $t4,0xb0($sp) +/* f0e9df0: 01afc021 */ addu $t8,$t5,$t7 +/* f0e9df4: 256dffff */ addiu $t5,$t3,-1 +/* f0e9df8: 27190002 */ addiu $t9,$t8,0x2 +/* f0e9dfc: afb900a8 */ sw $t9,0xa8($sp) +/* f0e9e00: 00402025 */ or $a0,$v0,$zero +/* f0e9e04: afa6009c */ sw $a2,0x9c($sp) +/* f0e9e08: 04610003 */ bgez $v1,.L0f0e9e18 +/* f0e9e0c: 00035083 */ sra $t2,$v1,0x2 +/* f0e9e10: 24610003 */ addiu $at,$v1,0x3 +/* f0e9e14: 00015083 */ sra $t2,$at,0x2 +.L0f0e9e18: +/* f0e9e18: 00ca6023 */ subu $t4,$a2,$t2 +/* f0e9e1c: 258effe8 */ addiu $t6,$t4,-24 +/* f0e9e20: 01cd0019 */ multu $t6,$t5 +/* f0e9e24: 24010005 */ addiu $at,$zero,0x5 +/* f0e9e28: afaa005c */ sw $t2,0x5c($sp) +/* f0e9e2c: 00007812 */ mflo $t7 +/* f0e9e30: 00000000 */ nop +/* f0e9e34: 00000000 */ nop +/* f0e9e38: 01e1001a */ div $zero,$t7,$at +/* f0e9e3c: 0000c012 */ mflo $t8 +/* f0e9e40: 0158c821 */ addu $t9,$t2,$t8 +/* f0e9e44: 27290013 */ addiu $t1,$t9,0x13 +/* f0e9e48: 0fc38926 */ jal func0f0e2498 +/* f0e9e4c: afa90098 */ sw $t1,0x98($sp) +/* f0e9e50: 8fa3012c */ lw $v1,0x12c($sp) +/* f0e9e54: 8fa600b0 */ lw $a2,0xb0($sp) +/* f0e9e58: 2401ff00 */ addiu $at,$zero,-256 +/* f0e9e5c: 00616024 */ and $t4,$v1,$at +/* f0e9e60: 3590003f */ ori $s0,$t4,0x3f +/* f0e9e64: 24ca0001 */ addiu $t2,$a2,0x1 +/* f0e9e68: afaa0010 */ sw $t2,0x10($sp) +/* f0e9e6c: afb00018 */ sw $s0,0x18($sp) +/* f0e9e70: 01801825 */ or $v1,$t4,$zero +/* f0e9e74: afac0014 */ sw $t4,0x14($sp) +/* f0e9e78: afac0054 */ sw $t4,0x54($sp) +/* f0e9e7c: 00402025 */ or $a0,$v0,$zero +/* f0e9e80: 87a50142 */ lh $a1,0x142($sp) +/* f0e9e84: 0fc389d1 */ jal func0f0e2744 +/* f0e9e88: 8fa700b4 */ lw $a3,0xb4($sp) +/* f0e9e8c: 8fa500b4 */ lw $a1,0xb4($sp) +/* f0e9e90: 8fab00ac */ lw $t3,0xac($sp) +/* f0e9e94: 00402025 */ or $a0,$v0,$zero +/* f0e9e98: 24a70001 */ addiu $a3,$a1,0x1 +/* f0e9e9c: afa7004c */ sw $a3,0x4c($sp) +/* f0e9ea0: 8fa600b0 */ lw $a2,0xb0($sp) +/* f0e9ea4: afb00014 */ sw $s0,0x14($sp) +/* f0e9ea8: afb00018 */ sw $s0,0x18($sp) +/* f0e9eac: 0fc389d1 */ jal func0f0e2744 +/* f0e9eb0: afab0010 */ sw $t3,0x10($sp) +/* f0e9eb4: 8fa600ac */ lw $a2,0xac($sp) +/* f0e9eb8: 8fa7005c */ lw $a3,0x5c($sp) +/* f0e9ebc: 8fa30054 */ lw $v1,0x54($sp) +/* f0e9ec0: 24c80001 */ addiu $t0,$a2,0x1 +/* f0e9ec4: 24e7ffff */ addiu $a3,$a3,-1 +/* f0e9ec8: afa70058 */ sw $a3,0x58($sp) +/* f0e9ecc: afa80010 */ sw $t0,0x10($sp) +/* f0e9ed0: afa80048 */ sw $t0,0x48($sp) +/* f0e9ed4: 00402025 */ or $a0,$v0,$zero +/* f0e9ed8: 87a50142 */ lh $a1,0x142($sp) +/* f0e9edc: afb00018 */ sw $s0,0x18($sp) +/* f0e9ee0: 0fc389d1 */ jal func0f0e2744 +/* f0e9ee4: afa30014 */ sw $v1,0x14($sp) +/* f0e9ee8: 8fa50058 */ lw $a1,0x58($sp) +/* f0e9eec: 8fa80048 */ lw $t0,0x48($sp) +/* f0e9ef0: 00402025 */ or $a0,$v0,$zero +/* f0e9ef4: 24a50003 */ addiu $a1,$a1,0x3 +/* f0e9ef8: afa50054 */ sw $a1,0x54($sp) +/* f0e9efc: 8fa600ac */ lw $a2,0xac($sp) +/* f0e9f00: 8fa7004c */ lw $a3,0x4c($sp) +/* f0e9f04: afb00014 */ sw $s0,0x14($sp) +/* f0e9f08: afb00018 */ sw $s0,0x18($sp) +/* f0e9f0c: 0fc389d1 */ jal func0f0e2744 +/* f0e9f10: afa80010 */ sw $t0,0x10($sp) +/* f0e9f14: 8fa300a8 */ lw $v1,0xa8($sp) +/* f0e9f18: 8fa50058 */ lw $a1,0x58($sp) +/* f0e9f1c: 00402025 */ or $a0,$v0,$zero +/* f0e9f20: 24630002 */ addiu $v1,$v1,0x2 +/* f0e9f24: afa30010 */ sw $v1,0x10($sp) +/* f0e9f28: afa3004c */ sw $v1,0x4c($sp) +/* f0e9f2c: 8fa600ac */ lw $a2,0xac($sp) +/* f0e9f30: afb00014 */ sw $s0,0x14($sp) +/* f0e9f34: afb00018 */ sw $s0,0x18($sp) +/* f0e9f38: 0fc389d1 */ jal func0f0e2744 +/* f0e9f3c: 24a70001 */ addiu $a3,$a1,0x1 +/* f0e9f40: 8fa50058 */ lw $a1,0x58($sp) +/* f0e9f44: 8fae00a8 */ lw $t6,0xa8($sp) +/* f0e9f48: 00402025 */ or $a0,$v0,$zero +/* f0e9f4c: 24a50002 */ addiu $a1,$a1,0x2 +/* f0e9f50: afa50044 */ sw $a1,0x44($sp) +/* f0e9f54: 8fa600ac */ lw $a2,0xac($sp) +/* f0e9f58: 8fa70054 */ lw $a3,0x54($sp) +/* f0e9f5c: afb00014 */ sw $s0,0x14($sp) +/* f0e9f60: afb00018 */ sw $s0,0x18($sp) +/* f0e9f64: 0fc389d1 */ jal func0f0e2744 +/* f0e9f68: afae0010 */ sw $t6,0x10($sp) +/* f0e9f6c: 8fa600a8 */ lw $a2,0xa8($sp) +/* f0e9f70: 8fa7005c */ lw $a3,0x5c($sp) +/* f0e9f74: 8fa50044 */ lw $a1,0x44($sp) +/* f0e9f78: 24c30001 */ addiu $v1,$a2,0x1 +/* f0e9f7c: 24e7000e */ addiu $a3,$a3,0xe +/* f0e9f80: afa70054 */ sw $a3,0x54($sp) +/* f0e9f84: afa30010 */ sw $v1,0x10($sp) +/* f0e9f88: afa30048 */ sw $v1,0x48($sp) +/* f0e9f8c: 00402025 */ or $a0,$v0,$zero +/* f0e9f90: afb00014 */ sw $s0,0x14($sp) +/* f0e9f94: 0fc389d1 */ jal func0f0e2744 +/* f0e9f98: afb00018 */ sw $s0,0x18($sp) +/* f0e9f9c: 8fa300a8 */ lw $v1,0xa8($sp) +/* f0e9fa0: 00402025 */ or $a0,$v0,$zero +/* f0e9fa4: 8fa50058 */ lw $a1,0x58($sp) +/* f0e9fa8: 24630003 */ addiu $v1,$v1,0x3 +/* f0e9fac: afa30010 */ sw $v1,0x10($sp) +/* f0e9fb0: afa30044 */ sw $v1,0x44($sp) +/* f0e9fb4: 8fa6004c */ lw $a2,0x4c($sp) +/* f0e9fb8: 8fa70054 */ lw $a3,0x54($sp) +/* f0e9fbc: afb00014 */ sw $s0,0x14($sp) +/* f0e9fc0: 0fc389d1 */ jal func0f0e2744 +/* f0e9fc4: afb00018 */ sw $s0,0x18($sp) +/* f0e9fc8: 8fad0048 */ lw $t5,0x48($sp) +/* f0e9fcc: 00402025 */ or $a0,$v0,$zero +/* f0e9fd0: 8fa50054 */ lw $a1,0x54($sp) +/* f0e9fd4: 8fa600a8 */ lw $a2,0xa8($sp) +/* f0e9fd8: 8fa70098 */ lw $a3,0x98($sp) +/* f0e9fdc: afb00014 */ sw $s0,0x14($sp) +/* f0e9fe0: afb00018 */ sw $s0,0x18($sp) +/* f0e9fe4: 0fc389d1 */ jal func0f0e2744 +/* f0e9fe8: afad0010 */ sw $t5,0x10($sp) +/* f0e9fec: 8faf0044 */ lw $t7,0x44($sp) +/* f0e9ff0: 00402025 */ or $a0,$v0,$zero +/* f0e9ff4: 8fa50054 */ lw $a1,0x54($sp) +/* f0e9ff8: 8fa6004c */ lw $a2,0x4c($sp) +/* f0e9ffc: 8fa70098 */ lw $a3,0x98($sp) +/* f0ea000: afb00014 */ sw $s0,0x14($sp) +/* f0ea004: afb00018 */ sw $s0,0x18($sp) +/* f0ea008: 0fc389d1 */ jal func0f0e2744 +/* f0ea00c: afaf0010 */ sw $t7,0x10($sp) +/* f0ea010: 8fa300c8 */ lw $v1,0xc8($sp) +/* f0ea014: 8fa50098 */ lw $a1,0x98($sp) +/* f0ea018: 2401ff00 */ addiu $at,$zero,-256 +/* f0ea01c: 8fb90044 */ lw $t9,0x44($sp) +/* f0ea020: 00614824 */ and $t1,$v1,$at +/* f0ea024: 3530003f */ ori $s0,$t1,0x3f +/* f0ea028: 24a70001 */ addiu $a3,$a1,0x1 +/* f0ea02c: afa70054 */ sw $a3,0x54($sp) +/* f0ea030: afb00014 */ sw $s0,0x14($sp) +/* f0ea034: afb00018 */ sw $s0,0x18($sp) +/* f0ea038: 01201825 */ or $v1,$t1,$zero +/* f0ea03c: afa9005c */ sw $t1,0x5c($sp) +/* f0ea040: 00402025 */ or $a0,$v0,$zero +/* f0ea044: 8fa600a8 */ lw $a2,0xa8($sp) +/* f0ea048: 0fc389d1 */ jal func0f0e2744 +/* f0ea04c: afb90010 */ sw $t9,0x10($sp) +/* f0ea050: 8fa7009c */ lw $a3,0x9c($sp) +/* f0ea054: 8faa004c */ lw $t2,0x4c($sp) +/* f0ea058: 00402025 */ or $a0,$v0,$zero +/* f0ea05c: 24e7fffc */ addiu $a3,$a3,-4 +/* f0ea060: afa70050 */ sw $a3,0x50($sp) +/* f0ea064: 8fa50054 */ lw $a1,0x54($sp) +/* f0ea068: 8fa60048 */ lw $a2,0x48($sp) +/* f0ea06c: afb00014 */ sw $s0,0x14($sp) +/* f0ea070: afb00018 */ sw $s0,0x18($sp) +/* f0ea074: 0fc389d1 */ jal func0f0e2744 +/* f0ea078: afaa0010 */ sw $t2,0x10($sp) +/* f0ea07c: 8fab005c */ lw $t3,0x5c($sp) +/* f0ea080: 8fac004c */ lw $t4,0x4c($sp) +/* f0ea084: 00402025 */ or $a0,$v0,$zero +/* f0ea088: 356e00cf */ ori $t6,$t3,0xcf +/* f0ea08c: afae0018 */ sw $t6,0x18($sp) +/* f0ea090: 8fa50050 */ lw $a1,0x50($sp) +/* f0ea094: 8fa60048 */ lw $a2,0x48($sp) +/* f0ea098: 8fa7009c */ lw $a3,0x9c($sp) +/* f0ea09c: afb00014 */ sw $s0,0x14($sp) +/* f0ea0a0: 0fc389d1 */ jal func0f0e2744 +/* f0ea0a4: afac0010 */ sw $t4,0x10($sp) +/* f0ea0a8: 10000074 */ b .L0f0ea27c +/* f0ea0ac: afa20130 */ sw $v0,0x130($sp) +.L0f0ea0b0: +/* f0ea0b0: 87b80146 */ lh $t8,0x146($sp) +/* f0ea0b4: 87ad0142 */ lh $t5,0x142($sp) +/* f0ea0b8: 8faa0124 */ lw $t2,0x124($sp) +/* f0ea0bc: 3c0b8008 */ lui $t3,%hi(g_FontHandelGothicSm2) +/* f0ea0c0: 8d6bfb0c */ lw $t3,%lo(g_FontHandelGothicSm2)($t3) +/* f0ea0c4: 2719fffe */ addiu $t9,$t8,-2 +/* f0ea0c8: 27090008 */ addiu $t1,$t8,0x8 +/* f0ea0cc: 25af0016 */ addiu $t7,$t5,0x16 +/* f0ea0d0: 254c0001 */ addiu $t4,$t2,0x1 +/* f0ea0d4: afaf0080 */ sw $t7,0x80($sp) +/* f0ea0d8: afb9007c */ sw $t9,0x7c($sp) +/* f0ea0dc: afa90078 */ sw $t1,0x78($sp) +/* f0ea0e0: afac0074 */ sw $t4,0x74($sp) +/* f0ea0e4: 8fa60120 */ lw $a2,0x120($sp) +/* f0ea0e8: 8ce7fb10 */ lw $a3,%lo(g_FontHandelGothicSm1)($a3) +/* f0ea0ec: afa00014 */ sw $zero,0x14($sp) +/* f0ea0f0: 0fc55cbe */ jal textMeasure +/* f0ea0f4: afab0010 */ sw $t3,0x10($sp) +/* f0ea0f8: 87ae0142 */ lh $t6,0x142($sp) +/* f0ea0fc: 8fad00c4 */ lw $t5,0xc4($sp) +/* f0ea100: 8fa40130 */ lw $a0,0x130($sp) +/* f0ea104: 01cd7821 */ addu $t7,$t6,$t5 +/* f0ea108: 25f90019 */ addiu $t9,$t7,0x19 +/* f0ea10c: 0fc54de0 */ jal func0f153780 +/* f0ea110: afb9006c */ sw $t9,0x6c($sp) +/* f0ea114: 0fc38926 */ jal func0f0e2498 +/* f0ea118: 00402025 */ or $a0,$v0,$zero +/* f0ea11c: 8fa3012c */ lw $v1,0x12c($sp) +/* f0ea120: 8fa6007c */ lw $a2,0x7c($sp) +/* f0ea124: 2401ff00 */ addiu $at,$zero,-256 +/* f0ea128: 00614824 */ and $t1,$v1,$at +/* f0ea12c: 3530003f */ ori $s0,$t1,0x3f +/* f0ea130: 24d80001 */ addiu $t8,$a2,0x1 +/* f0ea134: afb80010 */ sw $t8,0x10($sp) +/* f0ea138: afb00018 */ sw $s0,0x18($sp) +/* f0ea13c: 01201825 */ or $v1,$t1,$zero +/* f0ea140: afa90014 */ sw $t1,0x14($sp) +/* f0ea144: afa90054 */ sw $t1,0x54($sp) +/* f0ea148: 00402025 */ or $a0,$v0,$zero +/* f0ea14c: 87a50142 */ lh $a1,0x142($sp) +/* f0ea150: 0fc389d1 */ jal func0f0e2744 +/* f0ea154: 8fa70080 */ lw $a3,0x80($sp) +/* f0ea158: 8fa50080 */ lw $a1,0x80($sp) +/* f0ea15c: 8fac0078 */ lw $t4,0x78($sp) +/* f0ea160: 00402025 */ or $a0,$v0,$zero +/* f0ea164: 24a70001 */ addiu $a3,$a1,0x1 +/* f0ea168: afa7005c */ sw $a3,0x5c($sp) +/* f0ea16c: 8fa6007c */ lw $a2,0x7c($sp) +/* f0ea170: afb00014 */ sw $s0,0x14($sp) +/* f0ea174: afb00018 */ sw $s0,0x18($sp) +/* f0ea178: 0fc389d1 */ jal func0f0e2744 +/* f0ea17c: afac0010 */ sw $t4,0x10($sp) +/* f0ea180: 87ab0142 */ lh $t3,0x142($sp) +/* f0ea184: 8fa60078 */ lw $a2,0x78($sp) +/* f0ea188: 8fa30054 */ lw $v1,0x54($sp) +/* f0ea18c: 000b7080 */ sll $t6,$t3,0x2 +/* f0ea190: 01cb7023 */ subu $t6,$t6,$t3 +/* f0ea194: 01cb3821 */ addu $a3,$t6,$t3 +/* f0ea198: 24e70042 */ addiu $a3,$a3,0x42 +/* f0ea19c: 24c80001 */ addiu $t0,$a2,0x1 +/* f0ea1a0: afa80010 */ sw $t0,0x10($sp) +/* f0ea1a4: afa8004c */ sw $t0,0x4c($sp) +/* f0ea1a8: 00402025 */ or $a0,$v0,$zero +/* f0ea1ac: afb00018 */ sw $s0,0x18($sp) +/* f0ea1b0: 01602825 */ or $a1,$t3,$zero +/* f0ea1b4: 04e10003 */ bgez $a3,.L0f0ea1c4 +/* f0ea1b8: 00076883 */ sra $t5,$a3,0x2 +/* f0ea1bc: 24e10003 */ addiu $at,$a3,0x3 +/* f0ea1c0: 00016883 */ sra $t5,$at,0x2 +.L0f0ea1c4: +/* f0ea1c4: 25a7ffff */ addiu $a3,$t5,-1 +/* f0ea1c8: afa70058 */ sw $a3,0x58($sp) +/* f0ea1cc: 0fc389d1 */ jal func0f0e2744 +/* f0ea1d0: afa30014 */ sw $v1,0x14($sp) +/* f0ea1d4: 8fa50058 */ lw $a1,0x58($sp) +/* f0ea1d8: 8fa8004c */ lw $t0,0x4c($sp) +/* f0ea1dc: 00402025 */ or $a0,$v0,$zero +/* f0ea1e0: 24a50003 */ addiu $a1,$a1,0x3 +/* f0ea1e4: afa50054 */ sw $a1,0x54($sp) +/* f0ea1e8: 8fa60078 */ lw $a2,0x78($sp) +/* f0ea1ec: 8fa7005c */ lw $a3,0x5c($sp) +/* f0ea1f0: afb00014 */ sw $s0,0x14($sp) +/* f0ea1f4: afb00018 */ sw $s0,0x18($sp) +/* f0ea1f8: 0fc389d1 */ jal func0f0e2744 +/* f0ea1fc: afa80010 */ sw $t0,0x10($sp) +/* f0ea200: 8faf0074 */ lw $t7,0x74($sp) +/* f0ea204: 8fa50058 */ lw $a1,0x58($sp) +/* f0ea208: 00402025 */ or $a0,$v0,$zero +/* f0ea20c: 25f90002 */ addiu $t9,$t7,0x2 +/* f0ea210: afb90010 */ sw $t9,0x10($sp) +/* f0ea214: 8fa60078 */ lw $a2,0x78($sp) +/* f0ea218: afb00014 */ sw $s0,0x14($sp) +/* f0ea21c: afb00018 */ sw $s0,0x18($sp) +/* f0ea220: 0fc389d1 */ jal func0f0e2744 +/* f0ea224: 24a70001 */ addiu $a3,$a1,0x1 +/* f0ea228: 8fa50058 */ lw $a1,0x58($sp) +/* f0ea22c: 8fb80074 */ lw $t8,0x74($sp) +/* f0ea230: 00402025 */ or $a0,$v0,$zero +/* f0ea234: 24a50002 */ addiu $a1,$a1,0x2 +/* f0ea238: afa50044 */ sw $a1,0x44($sp) +/* f0ea23c: 8fa60078 */ lw $a2,0x78($sp) +/* f0ea240: 8fa70054 */ lw $a3,0x54($sp) +/* f0ea244: afb00014 */ sw $s0,0x14($sp) +/* f0ea248: afb00018 */ sw $s0,0x18($sp) +/* f0ea24c: 0fc389d1 */ jal func0f0e2744 +/* f0ea250: afb80010 */ sw $t8,0x10($sp) +/* f0ea254: 8fa60074 */ lw $a2,0x74($sp) +/* f0ea258: 8fa50044 */ lw $a1,0x44($sp) +/* f0ea25c: 00402025 */ or $a0,$v0,$zero +/* f0ea260: 24ca0001 */ addiu $t2,$a2,0x1 +/* f0ea264: afaa0010 */ sw $t2,0x10($sp) +/* f0ea268: 8fa7006c */ lw $a3,0x6c($sp) +/* f0ea26c: afb00014 */ sw $s0,0x14($sp) +/* f0ea270: 0fc389d1 */ jal func0f0e2744 +/* f0ea274: afb00018 */ sw $s0,0x18($sp) +/* f0ea278: afa20130 */ sw $v0,0x130($sp) +.L0f0ea27c: +/* f0ea27c: 8fbf003c */ lw $ra,0x3c($sp) +/* f0ea280: 8fa20130 */ lw $v0,0x130($sp) +/* f0ea284: 8fb00038 */ lw $s0,0x38($sp) +/* f0ea288: 03e00008 */ jr $ra +/* f0ea28c: 27bd0130 */ addiu $sp,$sp,0x130 +); +#endif Gfx *menuRenderItemObjectives(Gfx *gdl, struct menurendercontext *context) { @@ -3904,7 +4559,7 @@ Gfx *menuRenderItemObjectives(Gfx *gdl, struct menurendercontext *context) if (context->item->param == 0) { y += 18; } else if (context->item->param == 2) { - y += 30; + y += PAL ? 34 : 30; } else { y += 14; } @@ -5422,7 +6077,7 @@ bool menuTickItemSlider(struct menuitem *item, struct menuframe *frame, struct m f0 = data->slider.unk00 / 1000.0f; f0 = (f0 * 100.0f) / item->param3; #if VERSION >= VERSION_PAL_FINAL - f0 = f0 + inputs->unk08 * g_Vars.diffframe60f; + f0 = f0 + inputs->unk08 * g_Vars.diffframe60freal; #else f0 = f0 + inputs->unk08 * g_Vars.diffframe60; #endif @@ -5459,7 +6114,11 @@ bool menuTickItemSlider(struct menuitem *item, struct menuframe *frame, struct m if (f2 > 20) { f2 = (f2 - 20) * 0.0625f; +#if VERSION >= VERSION_PAL_FINAL + f2 *= g_Vars.diffframe60freal; +#else f2 *= g_Vars.diffframe60f; +#endif if (inputs->xaxis < 0) { f0 -= f2; @@ -6349,7 +7008,11 @@ bool menuTickItemScrollable(struct menuitem *item, struct menuframe *frame, stru if (floatval > 20) { floatval = (floatval - 20) / 5; +#if VERSION >= VERSION_PAL_FINAL + floatval *= g_Vars.diffframe60freal; +#else floatval *= g_Vars.diffframe60f; +#endif if (inputs->yaxis < 0) { intval = floatval; @@ -6358,8 +7021,8 @@ bool menuTickItemScrollable(struct menuitem *item, struct menuframe *frame, stru } } -#if PAL - intval = intval + (s32)(((f32)inputs->unk09 + (f32)inputs->unk09) * g_Vars.diffframe60f); +#if VERSION >= VERSION_PAL_FINAL + intval = intval + (s32)(((f32)inputs->unk09 + (f32)inputs->unk09) * g_Vars.diffframe60freal); #else intval += inputs->unk09 * 2 * g_Vars.diffframe60; #endif @@ -7233,13 +7896,17 @@ bool menuTickItemRanking(struct menuinputs *inputs, u32 arg1, union menuitemdata if (floatval > 20) { floatval = (floatval - 20) / 5; +#if VERSION >= VERSION_PAL_FINAL + floatval *= g_Vars.diffframe60freal; +#else floatval *= g_Vars.diffframe60f; +#endif intval = inputs->yaxis < 0 ? (s32)floatval : -(s32)floatval; } -#if PAL - intval = intval + (s32)(((f32)inputs->unk09 + (f32)inputs->unk09) * g_Vars.diffframe60f); +#if VERSION >= VERSION_PAL_FINAL + intval = intval + (s32)(((f32)inputs->unk09 + (f32)inputs->unk09) * g_Vars.diffframe60freal); #else intval += inputs->unk09 * 2 * g_Vars.diffframe60; #endif @@ -7483,13 +8150,17 @@ bool menuTickItemPlayerStats(struct menuitem *item, struct menuframe *frame, str if (floatval > 20) { floatval = (floatval - 20) / 5; +#if VERSION >= VERSION_PAL_FINAL + floatval *= g_Vars.diffframe60freal; +#else floatval *= g_Vars.diffframe60f; +#endif intval = inputs->yaxis < 0 ? (s32)floatval : -(s32)floatval; } -#if PAL - intval = intval + (s32)(((f32)inputs->unk09 + (f32)inputs->unk09) * g_Vars.diffframe60f); +#if VERSION >= VERSION_PAL_FINAL + intval = intval + (s32)(((f32)inputs->unk09 + (f32)inputs->unk09) * g_Vars.diffframe60freal); #else intval += inputs->unk09 * 2 * g_Vars.diffframe60; #endif @@ -7921,7 +8592,7 @@ Gfx *menuRenderControllerText(Gfx *gdl, s32 curmode, struct menurendercontext *c for (i = 0; i < ARRAYCOUNT(labels); i++) { #if VERSION >= VERSION_PAL_FINAL - ry = i * 7 + context->y + y - 4; + ry = i * 8 + context->y + y - 4; #else ry = i * 7 + context->y + y; #endif @@ -8098,7 +8769,7 @@ Gfx *menuRenderItemController(Gfx *gdl, struct menurendercontext *context) g_Menus[g_MpPlayerNum].data.main.controlmode + 4, contalpha, textcolour, colour, data->prevmode); } else { - gdl = menuRenderControllerInfo(gdl, context, 0, 15, + gdl = menuRenderControllerInfo(gdl, context, 0, PAL ? 19 : 15, g_Menus[g_MpPlayerNum].data.main.controlmode, contalpha, textcolour, colour, data->prevmode); diff --git a/src/game/mplayer/mplayer.c b/src/game/mplayer/mplayer.c index 4d024f87a..89d3eab18 100644 --- a/src/game/mplayer/mplayer.c +++ b/src/game/mplayer/mplayer.c @@ -1686,6 +1686,382 @@ void mpSetPaused(u8 mode) * Render "Paused" in the middle of the viewport if paused, * or "Press START" if player has finished their death animation. */ +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel mpRenderModalText +/* f18973c: 3c02800b */ lui $v0,%hi(g_MpSetup+0x1e) +/* f189740: 9042cba6 */ lbu $v0,%lo(g_MpSetup+0x1e)($v0) +/* f189744: 27bdff60 */ addiu $sp,$sp,-160 +/* f189748: 24010001 */ addiu $at,$zero,0x1 +/* f18974c: afbf0034 */ sw $ra,0x34($sp) +/* f189750: 14410077 */ bne $v0,$at,.L0f189930 +/* f189754: afa400a0 */ sw $a0,0xa0($sp) +/* f189758: 3c013f80 */ lui $at,0x3f80 +/* f18975c: 44812000 */ mtc1 $at,$f4 +/* f189760: 3c018006 */ lui $at,%hi(var80061630) +/* f189764: c4261630 */ lwc1 $f6,%lo(var80061630)($at) +/* f189768: 3c0141a0 */ lui $at,0x41a0 +/* f18976c: 44815000 */ mtc1 $at,$f10 +/* f189770: 46062201 */ sub.s $f8,$f4,$f6 +/* f189774: 3c01437f */ lui $at,0x437f +/* f189778: 44819000 */ mtc1 $at,$f18 +/* f18977c: 240100ff */ addiu $at,$zero,0xff +/* f189780: 460a4402 */ mul.s $f16,$f8,$f10 +/* f189784: 00000000 */ nop +/* f189788: 46128102 */ mul.s $f4,$f16,$f18 +/* f18978c: 4600218d */ trunc.w.s $f6,$f4 +/* f189790: 440f3000 */ mfc1 $t7,$f6 +/* f189794: 00000000 */ nop +/* f189798: 01e1001a */ div $zero,$t7,$at +/* f18979c: 0000c010 */ mfhi $t8 +/* f1897a0: afb80054 */ sw $t8,0x54($sp) +/* f1897a4: 0fc54d8a */ jal func0f153628 +/* f1897a8: 00000000 */ nop +/* f1897ac: afa200a0 */ sw $v0,0xa0($sp) +/* f1897b0: 0fc5b9f1 */ jal langGet +/* f1897b4: 24045428 */ addiu $a0,$zero,0x5429 +/* f1897b8: 27a4005c */ addiu $a0,$sp,0x5c +/* f1897bc: 0c004c4c */ jal strcpy +/* f1897c0: 00402825 */ or $a1,$v0,$zero +/* f1897c4: 0c002f40 */ jal viGetViewLeft +/* f1897c8: 00000000 */ nop +/* f1897cc: 0c002f22 */ jal viGetViewWidth +/* f1897d0: a7a20042 */ sh $v0,0x42($sp) +/* f1897d4: 87a80042 */ lh $t0,0x42($sp) +/* f1897d8: 3c0a800a */ lui $t2,%hi(g_Vars+0x288) +/* f1897dc: 8d4aa248 */ lw $t2,%lo(g_Vars+0x288)($t2) +/* f1897e0: 04410003 */ bgez $v0,.L0f1897f0 +/* f1897e4: 0002c843 */ sra $t9,$v0,0x1 +/* f1897e8: 24410001 */ addiu $at,$v0,0x1 +/* f1897ec: 0001c843 */ sra $t9,$at,0x1 +.L0f1897f0: +/* f1897f0: 03284821 */ addu $t1,$t9,$t0 +/* f1897f4: afa90094 */ sw $t1,0x94($sp) +/* f1897f8: 8d4b0070 */ lw $t3,0x70($t2) +/* f1897fc: 3c0d800a */ lui $t5,%hi(g_Menus+0x4f8) +/* f189800: 000b60c0 */ sll $t4,$t3,0x3 +/* f189804: 018b6023 */ subu $t4,$t4,$t3 +/* f189808: 000c6080 */ sll $t4,$t4,0x2 +/* f18980c: 018b6021 */ addu $t4,$t4,$t3 +/* f189810: 000c60c0 */ sll $t4,$t4,0x3 +/* f189814: 018b6023 */ subu $t4,$t4,$t3 +/* f189818: 000c6100 */ sll $t4,$t4,0x4 +/* f18981c: 01ac6821 */ addu $t5,$t5,$t4 +/* f189820: 8dade4f8 */ lw $t5,%lo(g_Menus+0x4f8)($t5) +/* f189824: 11a00006 */ beqz $t5,.L0f189840 +/* f189828: 00000000 */ nop +/* f18982c: 0c002f44 */ jal viGetViewTop +/* f189830: 00000000 */ nop +/* f189834: 244e000a */ addiu $t6,$v0,0xa +/* f189838: 1000000c */ b .L0f18986c +/* f18983c: afae0090 */ sw $t6,0x90($sp) +.L0f189840: +/* f189840: 0c002f44 */ jal viGetViewTop +/* f189844: 00000000 */ nop +/* f189848: 0c002f26 */ jal viGetViewHeight +/* f18984c: a7a20042 */ sh $v0,0x42($sp) +/* f189850: 87b80042 */ lh $t8,0x42($sp) +/* f189854: 04410003 */ bgez $v0,.L0f189864 +/* f189858: 00027843 */ sra $t7,$v0,0x1 +/* f18985c: 24410001 */ addiu $at,$v0,0x1 +/* f189860: 00017843 */ sra $t7,$at,0x1 +.L0f189864: +/* f189864: 01f8c821 */ addu $t9,$t7,$t8 +/* f189868: afb90090 */ sw $t9,0x90($sp) +.L0f18986c: +/* f18986c: 3c088008 */ lui $t0,%hi(g_FontHandelGothicSm2) +/* f189870: 8d08fb14 */ lw $t0,%lo(g_FontHandelGothicSm2)($t0) +/* f189874: 3c078008 */ lui $a3,%hi(g_FontHandelGothicSm1) +/* f189878: 8ce7fb18 */ lw $a3,%lo(g_FontHandelGothicSm1)($a3) +/* f18987c: 27a40098 */ addiu $a0,$sp,0x98 +/* f189880: 27a5009c */ addiu $a1,$sp,0x9c +/* f189884: 27a6005c */ addiu $a2,$sp,0x5c +/* f189888: afa00014 */ sw $zero,0x14($sp) +/* f18988c: 0fc55cbe */ jal textMeasure +/* f189890: afa80010 */ sw $t0,0x10($sp) +/* f189894: 8faa009c */ lw $t2,0x9c($sp) +/* f189898: 8fa90094 */ lw $t1,0x94($sp) +/* f18989c: 05410003 */ bgez $t2,.L0f1898ac +/* f1898a0: 000a5843 */ sra $t3,$t2,0x1 +/* f1898a4: 25410001 */ addiu $at,$t2,0x1 +/* f1898a8: 00015843 */ sra $t3,$at,0x1 +.L0f1898ac: +/* f1898ac: 012b6023 */ subu $t4,$t1,$t3 +/* f1898b0: 0c002f02 */ jal viGetWidth +/* f1898b4: afac0094 */ sw $t4,0x94($sp) +/* f1898b8: 0c002f02 */ jal viGetWidth +/* f1898bc: a7a20040 */ sh $v0,0x40($sp) +/* f1898c0: 8faf0054 */ lw $t7,0x54($sp) +/* f1898c4: 3c0d8008 */ lui $t5,%hi(g_FontHandelGothicSm1) +/* f1898c8: 3c0e8008 */ lui $t6,%hi(g_FontHandelGothicSm2) +/* f1898cc: 3c0100ff */ lui $at,0xff +/* f1898d0: 8dcefb14 */ lw $t6,%lo(g_FontHandelGothicSm2)($t6) +/* f1898d4: 8dadfb18 */ lw $t5,%lo(g_FontHandelGothicSm1)($t5) +/* f1898d8: 87aa0040 */ lh $t2,0x40($sp) +/* f1898dc: 342100ff */ ori $at,$at,0xff +/* f1898e0: 000fc600 */ sll $t8,$t7,0x18 +/* f1898e4: 0301c825 */ or $t9,$t8,$at +/* f1898e8: 240800ff */ addiu $t0,$zero,0xff +/* f1898ec: afa8001c */ sw $t0,0x1c($sp) +/* f1898f0: afb90018 */ sw $t9,0x18($sp) +/* f1898f4: 8fa400a0 */ lw $a0,0xa0($sp) +/* f1898f8: 27a50094 */ addiu $a1,$sp,0x94 +/* f1898fc: 27a60090 */ addiu $a2,$sp,0x90 +/* f189900: 27a7005c */ addiu $a3,$sp,0x5c +/* f189904: afa20024 */ sw $v0,0x24($sp) +/* f189908: afa00028 */ sw $zero,0x28($sp) +/* f18990c: afa0002c */ sw $zero,0x2c($sp) +/* f189910: afae0014 */ sw $t6,0x14($sp) +/* f189914: afad0010 */ sw $t5,0x10($sp) +/* f189918: 0fc55b92 */ jal textRender +/* f18991c: afaa0020 */ sw $t2,0x20($sp) +/* f189920: 0fc54de0 */ jal func0f153780 +/* f189924: 00402025 */ or $a0,$v0,$zero +/* f189928: 100000e0 */ b .L0f189cac +/* f18992c: afa200a0 */ sw $v0,0xa0($sp) +.L0f189930: +/* f189930: 3c098006 */ lui $t1,%hi(var8005d9d0) +/* f189934: 8d29d9d0 */ lw $t1,%lo(var8005d9d0)($t1) +/* f189938: 552000dd */ bnezl $t1,.L0f189cb0 +/* f18993c: 8fbf0034 */ lw $ra,0x34($sp) +/* f189940: 144000da */ bnez $v0,.L0f189cac +/* f189944: 3c03800a */ lui $v1,%hi(g_Vars) +/* f189948: 24639fc0 */ addiu $v1,$v1,%lo(g_Vars) +/* f18994c: 8c620284 */ lw $v0,0x284($v1) +/* f189950: 8c4b00d8 */ lw $t3,0xd8($v0) +/* f189954: 516000d6 */ beqzl $t3,.L0f189cb0 +/* f189958: 8fbf0034 */ lw $ra,0x34($sp) +/* f18995c: 8c4c032c */ lw $t4,0x32c($v0) +/* f189960: 518000d3 */ beqzl $t4,.L0f189cb0 +/* f189964: 8fbf0034 */ lw $ra,0x34($sp) +/* f189968: 8c4d0330 */ lw $t5,0x330($v0) +/* f18996c: 51a000d0 */ beqzl $t5,.L0f189cb0 +/* f189970: 8fbf0034 */ lw $ra,0x34($sp) +/* f189974: 8c6e0298 */ lw $t6,0x298($v1) +/* f189978: 05c20011 */ bltzl $t6,.L0f1899c0 +/* f18997c: 8c6b029c */ lw $t3,0x29c($v1) +/* f189980: 8c6f02a0 */ lw $t7,0x2a0($v1) +/* f189984: 8df800d8 */ lw $t8,0xd8($t7) +/* f189988: 53000006 */ beqzl $t8,.L0f1899a4 +/* f18998c: 8c4a1c10 */ lw $t2,0x1c10($v0) +/* f189990: 8c7902a4 */ lw $t9,0x2a4($v1) +/* f189994: 8f2800d8 */ lw $t0,0xd8($t9) +/* f189998: 550000c5 */ bnezl $t0,.L0f189cb0 +/* f18999c: 8fbf0034 */ lw $ra,0x34($sp) +/* f1899a0: 8c4a1c10 */ lw $t2,0x1c10($v0) +.L0f1899a4: +/* f1899a4: 3c098007 */ lui $t1,%hi(g_InCutscene) +/* f1899a8: 514000c1 */ beqzl $t2,.L0f189cb0 +/* f1899ac: 8fbf0034 */ lw $ra,0x34($sp) +/* f1899b0: 8d290764 */ lw $t1,%lo(g_InCutscene)($t1) +/* f1899b4: 552000be */ bnezl $t1,.L0f189cb0 +/* f1899b8: 8fbf0034 */ lw $ra,0x34($sp) +/* f1899bc: 8c6b029c */ lw $t3,0x29c($v1) +.L0f1899c0: +/* f1899c0: 3c0e8008 */ lui $t6,%hi(g_NumReasonsToEndMpMatch) +/* f1899c4: 05600008 */ bltz $t3,.L0f1899e8 +/* f1899c8: 00000000 */ nop +/* f1899cc: 8c6c02a8 */ lw $t4,0x2a8($v1) +/* f1899d0: 3c0d8007 */ lui $t5,%hi(g_InCutscene) +/* f1899d4: 558200b6 */ bnel $t4,$v0,.L0f189cb0 +/* f1899d8: 8fbf0034 */ lw $ra,0x34($sp) +/* f1899dc: 8dad0764 */ lw $t5,%lo(g_InCutscene)($t5) +/* f1899e0: 55a000b3 */ bnezl $t5,.L0f189cb0 +/* f1899e4: 8fbf0034 */ lw $ra,0x34($sp) +.L0f1899e8: +/* f1899e8: 8dce4038 */ lw $t6,%lo(g_NumReasonsToEndMpMatch)($t6) +/* f1899ec: 55c000b0 */ bnezl $t6,.L0f189cb0 +/* f1899f0: 8fbf0034 */ lw $ra,0x34($sp) +/* f1899f4: 0fc54d8a */ jal func0f153628 +/* f1899f8: 8fa400a0 */ lw $a0,0xa0($sp) +/* f1899fc: afa200a0 */ sw $v0,0xa0($sp) +/* f189a00: 0fc5b9f1 */ jal langGet +/* f189a04: 24045427 */ addiu $a0,$zero,0x5428 +/* f189a08: 27a4005c */ addiu $a0,$sp,0x5c +/* f189a0c: 0c004c4c */ jal strcpy +/* f189a10: 00402825 */ or $a1,$v0,$zero +/* f189a14: 0c002f40 */ jal viGetViewLeft +/* f189a18: 00000000 */ nop +/* f189a1c: 0c002f22 */ jal viGetViewWidth +/* f189a20: a7a20042 */ sh $v0,0x42($sp) +/* f189a24: 87b80042 */ lh $t8,0x42($sp) +/* f189a28: 04410003 */ bgez $v0,.L0f189a38 +/* f189a2c: 00027843 */ sra $t7,$v0,0x1 +/* f189a30: 24410001 */ addiu $at,$v0,0x1 +/* f189a34: 00017843 */ sra $t7,$at,0x1 +.L0f189a38: +/* f189a38: 01f8c821 */ addu $t9,$t7,$t8 +/* f189a3c: 0c002f44 */ jal viGetViewTop +/* f189a40: afb90094 */ sw $t9,0x94($sp) +/* f189a44: 0c002f26 */ jal viGetViewHeight +/* f189a48: a7a20042 */ sh $v0,0x42($sp) +/* f189a4c: 87aa0042 */ lh $t2,0x42($sp) +/* f189a50: 3c0b8008 */ lui $t3,%hi(g_FontHandelGothicSm2) +/* f189a54: 8d6bfb0c */ lw $t3,%lo(g_FontHandelGothicSm2)($t3) +/* f189a58: 04410003 */ bgez $v0,.L0f189a68 +/* f189a5c: 00024043 */ sra $t0,$v0,0x1 +/* f189a60: 24410001 */ addiu $at,$v0,0x1 +/* f189a64: 00014043 */ sra $t0,$at,0x1 +.L0f189a68: +/* f189a68: 3c078008 */ lui $a3,%hi(g_FontHandelGothicSm1) +/* f189a6c: 010a4821 */ addu $t1,$t0,$t2 +/* f189a70: afa90090 */ sw $t1,0x90($sp) +/* f189a74: 8ce7fb10 */ lw $a3,%lo(g_FontHandelGothicSm1)($a3) +/* f189a78: 27a40098 */ addiu $a0,$sp,0x98 +/* f189a7c: 27a5009c */ addiu $a1,$sp,0x9c +/* f189a80: 27a6005c */ addiu $a2,$sp,0x5c +/* f189a84: afa00014 */ sw $zero,0x14($sp) +/* f189a88: 0fc55cbe */ jal textMeasure +/* f189a8c: afab0010 */ sw $t3,0x10($sp) +/* f189a90: 8fad009c */ lw $t5,0x9c($sp) +/* f189a94: 8fac0094 */ lw $t4,0x94($sp) +/* f189a98: 05a10003 */ bgez $t5,.L0f189aa8 +/* f189a9c: 000d7043 */ sra $t6,$t5,0x1 +/* f189aa0: 25a10001 */ addiu $at,$t5,0x1 +/* f189aa4: 00017043 */ sra $t6,$at,0x1 +.L0f189aa8: +/* f189aa8: 018e7823 */ subu $t7,$t4,$t6 +/* f189aac: 0c002f02 */ jal viGetWidth +/* f189ab0: afaf0094 */ sw $t7,0x94($sp) +/* f189ab4: 0c002f02 */ jal viGetWidth +/* f189ab8: a7a20040 */ sh $v0,0x40($sp) +/* f189abc: 3c188008 */ lui $t8,%hi(g_FontHandelGothicSm1) +/* f189ac0: 3c198008 */ lui $t9,%hi(g_FontHandelGothicSm2) +/* f189ac4: 8f39fb0c */ lw $t9,%lo(g_FontHandelGothicSm2)($t9) +/* f189ac8: 8f18fb10 */ lw $t8,%lo(g_FontHandelGothicSm1)($t8) +/* f189acc: 87a90040 */ lh $t1,0x40($sp) +/* f189ad0: 3c08ff00 */ lui $t0,0xff00 +/* f189ad4: 350800ff */ ori $t0,$t0,0xff +/* f189ad8: 240a00ff */ addiu $t2,$zero,0xff +/* f189adc: afaa001c */ sw $t2,0x1c($sp) +/* f189ae0: afa80018 */ sw $t0,0x18($sp) +/* f189ae4: 8fa400a0 */ lw $a0,0xa0($sp) +/* f189ae8: 27a50094 */ addiu $a1,$sp,0x94 +/* f189aec: 27a60090 */ addiu $a2,$sp,0x90 +/* f189af0: 27a7005c */ addiu $a3,$sp,0x5c +/* f189af4: afa20024 */ sw $v0,0x24($sp) +/* f189af8: afa00028 */ sw $zero,0x28($sp) +/* f189afc: afa0002c */ sw $zero,0x2c($sp) +/* f189b00: afb90014 */ sw $t9,0x14($sp) +/* f189b04: afb80010 */ sw $t8,0x10($sp) +/* f189b08: 0fc55b92 */ jal textRender +/* f189b0c: afa90020 */ sw $t1,0x20($sp) +/* f189b10: 3c0b800a */ lui $t3,%hi(g_Vars+0x284) +/* f189b14: 8d6ba244 */ lw $t3,%lo(g_Vars+0x284)($t3) +/* f189b18: afa200a0 */ sw $v0,0xa0($sp) +/* f189b1c: 8d6d1c0c */ lw $t5,0x1c0c($t3) +/* f189b20: 19a00051 */ blez $t5,.L0f189c68 +/* f189b24: 00000000 */ nop +/* f189b28: 0c002f44 */ jal viGetViewTop +/* f189b2c: 00000000 */ nop +/* f189b30: 0c002f26 */ jal viGetViewHeight +/* f189b34: a7a20042 */ sh $v0,0x42($sp) +/* f189b38: 87ae0042 */ lh $t6,0x42($sp) +/* f189b3c: 8fb80098 */ lw $t8,0x98($sp) +/* f189b40: 04410003 */ bgez $v0,.L0f189b50 +/* f189b44: 00026043 */ sra $t4,$v0,0x1 +/* f189b48: 24410001 */ addiu $at,$v0,0x1 +/* f189b4c: 00016043 */ sra $t4,$at,0x1 +.L0f189b50: +/* f189b50: 018e7821 */ addu $t7,$t4,$t6 +/* f189b54: 01f8c821 */ addu $t9,$t7,$t8 +/* f189b58: 27280002 */ addiu $t0,$t9,0x2 +/* f189b5c: 0c002f40 */ jal viGetViewLeft +/* f189b60: afa8004c */ sw $t0,0x4c($sp) +/* f189b64: 0c002f22 */ jal viGetViewWidth +/* f189b68: a7a20042 */ sh $v0,0x42($sp) +/* f189b6c: 87a90042 */ lh $t1,0x42($sp) +/* f189b70: 3c0d800a */ lui $t5,%hi(g_Vars+0x284) +/* f189b74: 8dada244 */ lw $t5,%lo(g_Vars+0x284)($t5) +/* f189b78: 04410003 */ bgez $v0,.L0f189b88 +/* f189b7c: 00025043 */ sra $t2,$v0,0x1 +/* f189b80: 24410001 */ addiu $at,$v0,0x1 +/* f189b84: 00015043 */ sra $t2,$at,0x1 +.L0f189b88: +/* f189b88: 01495821 */ addu $t3,$t2,$t1 +/* f189b8c: afab0048 */ sw $t3,0x48($sp) +/* f189b90: 8da61c0c */ lw $a2,0x1c0c($t5) +/* f189b94: 2401003c */ addiu $at,$zero,0x32 +/* f189b98: 3c057f1c */ lui $a1,%hi(var7f1b8aa4) +/* f189b9c: 24c6003b */ addiu $a2,$a2,0x31 +/* f189ba0: 00c1001a */ div $zero,$a2,$at +/* f189ba4: 00003012 */ mflo $a2 +/* f189ba8: 24a58aa4 */ addiu $a1,$a1,%lo(var7f1b8aa4) +/* f189bac: 0c004dad */ jal sprintf +/* f189bb0: 27a4005c */ addiu $a0,$sp,0x5c +/* f189bb4: 3c0e8008 */ lui $t6,%hi(g_FontHandelGothicSm2) +/* f189bb8: 8dcefb0c */ lw $t6,%lo(g_FontHandelGothicSm2)($t6) +/* f189bbc: 3c078008 */ lui $a3,%hi(g_FontHandelGothicSm1) +/* f189bc0: 8ce7fb10 */ lw $a3,%lo(g_FontHandelGothicSm1)($a3) +/* f189bc4: 27a40098 */ addiu $a0,$sp,0x98 +/* f189bc8: 27a5009c */ addiu $a1,$sp,0x9c +/* f189bcc: 27a6005c */ addiu $a2,$sp,0x5c +/* f189bd0: afa00014 */ sw $zero,0x14($sp) +/* f189bd4: 0fc55cbe */ jal textMeasure +/* f189bd8: afae0010 */ sw $t6,0x10($sp) +/* f189bdc: 8fb8009c */ lw $t8,0x9c($sp) +/* f189be0: 8faf0048 */ lw $t7,0x48($sp) +/* f189be4: 8faa004c */ lw $t2,0x4c($sp) +/* f189be8: 07010003 */ bgez $t8,.L0f189bf8 +/* f189bec: 0018c843 */ sra $t9,$t8,0x1 +/* f189bf0: 27010001 */ addiu $at,$t8,0x1 +/* f189bf4: 0001c843 */ sra $t9,$at,0x1 +.L0f189bf8: +/* f189bf8: 01f94023 */ subu $t0,$t7,$t9 +/* f189bfc: afa80094 */ sw $t0,0x94($sp) +/* f189c00: 0c002f02 */ jal viGetWidth +/* f189c04: afaa0090 */ sw $t2,0x90($sp) +/* f189c08: 0c002f02 */ jal viGetWidth +/* f189c0c: a7a20040 */ sh $v0,0x40($sp) +/* f189c10: 3c098008 */ lui $t1,%hi(g_FontHandelGothicSm1) +/* f189c14: 3c0b8008 */ lui $t3,%hi(g_FontHandelGothicSm2) +/* f189c18: 8d6bfb0c */ lw $t3,%lo(g_FontHandelGothicSm2)($t3) +/* f189c1c: 8d29fb10 */ lw $t1,%lo(g_FontHandelGothicSm1)($t1) +/* f189c20: 87ae0040 */ lh $t6,0x40($sp) +/* f189c24: 3c0dff00 */ lui $t5,0xff00 +/* f189c28: 35ad00ff */ ori $t5,$t5,0xff +/* f189c2c: 240c00ff */ addiu $t4,$zero,0xff +/* f189c30: afac001c */ sw $t4,0x1c($sp) +/* f189c34: afad0018 */ sw $t5,0x18($sp) +/* f189c38: 8fa400a0 */ lw $a0,0xa0($sp) +/* f189c3c: 27a50094 */ addiu $a1,$sp,0x94 +/* f189c40: 27a60090 */ addiu $a2,$sp,0x90 +/* f189c44: 27a7005c */ addiu $a3,$sp,0x5c +/* f189c48: afa20024 */ sw $v0,0x24($sp) +/* f189c4c: afa00028 */ sw $zero,0x28($sp) +/* f189c50: afa0002c */ sw $zero,0x2c($sp) +/* f189c54: afab0014 */ sw $t3,0x14($sp) +/* f189c58: afa90010 */ sw $t1,0x10($sp) +/* f189c5c: 0fc55b92 */ jal textRender +/* f189c60: afae0020 */ sw $t6,0x20($sp) +/* f189c64: afa200a0 */ sw $v0,0xa0($sp) +.L0f189c68: +/* f189c68: 0fc54de0 */ jal func0f153780 +/* f189c6c: 8fa400a0 */ lw $a0,0xa0($sp) +/* f189c70: 3c0f800a */ lui $t7,%hi(g_Vars+0x288) +/* f189c74: 8defa248 */ lw $t7,%lo(g_Vars+0x288)($t7) +/* f189c78: afa200a0 */ sw $v0,0xa0($sp) +/* f189c7c: 3c01800a */ lui $at,%hi(g_Menus+0x83c) +/* f189c80: 8df90070 */ lw $t9,0x70($t7) +/* f189c84: 2418000a */ addiu $t8,$zero,0xa +/* f189c88: 001940c0 */ sll $t0,$t9,0x3 +/* f189c8c: 01194023 */ subu $t0,$t0,$t9 +/* f189c90: 00084080 */ sll $t0,$t0,0x2 +/* f189c94: 01194021 */ addu $t0,$t0,$t9 +/* f189c98: 000840c0 */ sll $t0,$t0,0x3 +/* f189c9c: 01194023 */ subu $t0,$t0,$t9 +/* f189ca0: 00084100 */ sll $t0,$t0,0x4 +/* f189ca4: 00280821 */ addu $at,$at,$t0 +/* f189ca8: a038e83c */ sb $t8,%lo(g_Menus+0x83c)($at) +.L0f189cac: +/* f189cac: 8fbf0034 */ lw $ra,0x34($sp) +.L0f189cb0: +/* f189cb0: 8fa200a0 */ lw $v0,0xa0($sp) +/* f189cb4: 27bd00a0 */ addiu $sp,$sp,0xa0 +/* f189cb8: 03e00008 */ jr $ra +/* f189cbc: 00000000 */ nop +); +#else GLOBAL_ASM( glabel mpRenderModalText /* f18973c: 3c02800b */ lui $v0,%hi(g_MpSetup+0x1e) @@ -2060,6 +2436,7 @@ glabel mpRenderModalText /* f189cb8: 03e00008 */ jr $ra /* f189cbc: 00000000 */ nop ); +#endif GLOBAL_ASM( glabel func0f189cc0 diff --git a/src/game/mplayer/scenarios.c b/src/game/mplayer/scenarios.c index a0e2df008..8a089d227 100644 --- a/src/game/mplayer/scenarios.c +++ b/src/game/mplayer/scenarios.c @@ -736,7 +736,7 @@ void scenarioHtbTick(void) if (g_ScenarioData.htb.token == NULL || g_ScenarioData.htb.token->type != PROPTYPE_WEAPON) { var800869ec = NULL; } else { - var800869ec->prop->timetoregen = 1200; + var800869ec->prop->timetoregen = PALDOWN(1200); } } @@ -803,7 +803,7 @@ void scenarioHtbCallback14(struct chrdata *chr) if (chr->aibot->unk09c_00) { chr->aibot->unk0a0 += g_Vars.lvupdate240; - if (chr->aibot->unk0a0 >= SECSTOTIME240(30)) { + if (chr->aibot->unk0a0 >= PALDOWN(7200)) { audioStart(var80095200, SFX_MP_SCOREPOINT, NULL, -1, -1, -1, -1, -1); var800ac500[mpPlayerGetIndex(chr)]->unk3e++; chr->aibot->unk0a0 = 0; @@ -815,7 +815,7 @@ void scenarioHtbCallback14(struct chrdata *chr) if (invHasBriefcase()) { g_Vars.currentplayerstats->tokenheldtime += g_Vars.lvupdate240; - if (g_Vars.currentplayerstats->tokenheldtime >= SECSTOTIME240(30)) { + if (g_Vars.currentplayerstats->tokenheldtime >= PALDOWN(7200)) { audioStart(var80095200, SFX_MP_SCOREPOINT, NULL, -1, -1, -1, -1, -1); var800ac500[g_Vars.currentplayernum]->unk3e++; func0f0ddfa4(langGet(L_MPWEAPONS_024), 9, 1); // "1 Point!" @@ -4254,7 +4254,7 @@ void scenarioHtmTick(void) if (g_ScenarioData.htm.uplink == NULL || g_ScenarioData.htm.uplink->type != PROPTYPE_WEAPON) { var800869ec = 0; } else { - var800869ec->prop->timetoregen = 1200; + var800869ec->prop->timetoregen = PALDOWN(1200); } } @@ -4304,6 +4304,7 @@ void scenarioHtmTick(void) } } +#if VERSION >= VERSION_PAL_FINAL GLOBAL_ASM( glabel scenarioHtmCallback14 .late_rodata @@ -4392,10 +4393,441 @@ glabel var7f1b8960 /* f183494: 00127080 */ sll $t6,$s2,0x2 /* f183498: 15a10041 */ bne $t5,$at,.L0f1835a0 /* f18349c: 02ae7821 */ addu $t7,$s5,$t6 -/* f1834a0: 3c01800b */ lui $at,%hi(g_ScenarioData+0xd4) +/* f1834a0: 3c01800b */ lui $at,%hi(g_ScenarioData) /* f1834a4: ac30c1e4 */ sw $s0,%lo(g_ScenarioData+0xd4)($at) -/* f1834a8: a432c1e0 */ sh $s2,-0x3e20($at) -/* f1834ac: a432c1e2 */ sh $s2,-0x3e1e($at) +/* f1834a8: a432c1e0 */ sh $s2,%lo(g_ScenarioData+0xd0)($at) +/* f1834ac: a432c1e2 */ sh $s2,%lo(g_ScenarioData+0xd2)($at) +/* f1834b0: 1680003b */ bnez $s4,.L0f1835a0 +/* f1834b4: ade00108 */ sw $zero,0x108($t7) +/* f1834b8: 0fc5b9f1 */ jal langGet +/* f1834bc: 24045412 */ addiu $a0,$zero,0x5413 +/* f1834c0: 00402025 */ or $a0,$v0,$zero +/* f1834c4: 24050009 */ addiu $a1,$zero,0x9 +/* f1834c8: 0fc377e9 */ jal func0f0ddfa4 +/* f1834cc: 24060001 */ addiu $a2,$zero,0x1 +/* f1834d0: 3c18800b */ lui $t8,%hi(g_ScenarioData+0xd4) +/* f1834d4: 8f18c1e4 */ lw $t8,%lo(g_ScenarioData+0xd4)($t8) +/* f1834d8: 2409ffff */ addiu $t1,$zero,-1 +/* f1834dc: 240a0002 */ addiu $t2,$zero,0x2 +/* f1834e0: 0018c880 */ sll $t9,$t8,0x2 +/* f1834e4: 0338c823 */ subu $t9,$t9,$t8 +/* f1834e8: 0019c880 */ sll $t9,$t9,0x2 +/* f1834ec: 02b94021 */ addu $t0,$s5,$t9 +/* f1834f0: 8d050080 */ lw $a1,0x80($t0) +/* f1834f4: 240b0002 */ addiu $t3,$zero,0x2 +/* f1834f8: 240cffff */ addiu $t4,$zero,-1 +/* f1834fc: afac002c */ sw $t4,0x2c($sp) +/* f183500: afab0018 */ sw $t3,0x18($sp) +/* f183504: e7b40038 */ swc1 $f20,0x38($sp) +/* f183508: e7b40034 */ swc1 $f20,0x34($sp) +/* f18350c: e7b40030 */ swc1 $f20,0x30($sp) +/* f183510: afa00028 */ sw $zero,0x28($sp) +/* f183514: e7b40024 */ swc1 $f20,0x24($sp) +/* f183518: afa00020 */ sw $zero,0x20($sp) +/* f18351c: afa0001c */ sw $zero,0x1c($sp) +/* f183520: afaa0014 */ sw $t2,0x14($sp) +/* f183524: afa90010 */ sw $t1,0x10($sp) +/* f183528: 00002025 */ or $a0,$zero,$zero +/* f18352c: 240601bf */ addiu $a2,$zero,0x1bf +/* f183530: 0fc24e7e */ jal func0f0939f8 +/* f183534: 2407ffff */ addiu $a3,$zero,-1 +/* f183538: 1000001a */ b .L0f1835a4 +/* f18353c: 26100001 */ addiu $s0,$s0,0x1 +.L0f183540: +/* f183540: 56800018 */ bnezl $s4,.L0f1835a4 +/* f183544: 26100001 */ addiu $s0,$s0,0x1 +/* f183548: 0fc5b9f1 */ jal langGet +/* f18354c: 24045413 */ addiu $a0,$zero,0x5414 +/* f183550: 00402025 */ or $a0,$v0,$zero +/* f183554: 24050009 */ addiu $a1,$zero,0x9 +/* f183558: 0fc377e9 */ jal func0f0ddfa4 +/* f18355c: 24060001 */ addiu $a2,$zero,0x1 +/* f183560: 3c013f80 */ lui $at,0x3f80 +/* f183564: 44812000 */ mtc1 $at,$f4 +/* f183568: 240d01cc */ addiu $t5,$zero,0x1cc +/* f18356c: 240e0001 */ addiu $t6,$zero,0x1 +/* f183570: 240fffff */ addiu $t7,$zero,-1 +/* f183574: 24180001 */ addiu $t8,$zero,0x1 +/* f183578: afb80020 */ sw $t8,0x20($sp) +/* f18357c: afaf001c */ sw $t7,0x1c($sp) +/* f183580: afae0018 */ sw $t6,0x18($sp) +/* f183584: afad0010 */ sw $t5,0x10($sp) +/* f183588: 00002025 */ or $a0,$zero,$zero +/* f18358c: 00002825 */ or $a1,$zero,$zero +/* f183590: 24067fff */ addiu $a2,$zero,0x7fff +/* f183594: 24070040 */ addiu $a3,$zero,0x40 +/* f183598: 0c0041c6 */ jal func00010718 +/* f18359c: e7a40014 */ swc1 $f4,0x14($sp) +.L0f1835a0: +/* f1835a0: 26100001 */ addiu $s0,$s0,0x1 +.L0f1835a4: +/* f1835a4: 24010001 */ addiu $at,$zero,0x1 +/* f1835a8: 1601ff9a */ bne $s0,$at,.L0f183414 +/* f1835ac: 2631000c */ addiu $s1,$s1,0xc +/* f1835b0: 3c19800b */ lui $t9,%hi(g_ScenarioData+0xd0) +/* f1835b4: 8739c1e0 */ lh $t9,%lo(g_ScenarioData+0xd0)($t9) +/* f1835b8: 3c08800b */ lui $t0,%hi(g_ScenarioData+0xd4) +/* f1835bc: 565900f1 */ bnel $s2,$t9,.L0f183984 +/* f1835c0: 8fbf0064 */ lw $ra,0x64($sp) +/* f1835c4: 8d08c1e4 */ lw $t0,%lo(g_ScenarioData+0xd4)($t0) +/* f1835c8: 2401ffff */ addiu $at,$zero,-1 +/* f1835cc: 00125880 */ sll $t3,$s2,0x2 +/* f1835d0: 110100eb */ beq $t0,$at,.L0f183980 +/* f1835d4: 00084880 */ sll $t1,$t0,0x2 +/* f1835d8: 01284823 */ subu $t1,$t1,$t0 +/* f1835dc: 00094880 */ sll $t1,$t1,0x2 +/* f1835e0: 02a95021 */ addu $t2,$s5,$t1 +/* f1835e4: 8d510080 */ lw $s1,0x80($t2) +/* f1835e8: 02ab9821 */ addu $s3,$s5,$t3 +/* f1835ec: 266c0108 */ addiu $t4,$s3,0x108 +/* f1835f0: afac006c */ sw $t4,0x6c($sp) +/* f1835f4: 12800011 */ beqz $s4,.L0f18363c +/* f1835f8: 26310008 */ addiu $s1,$s1,0x8 +/* f1835fc: 8e90001c */ lw $s0,0x1c($s4) +/* f183600: 02802025 */ or $a0,$s4,$zero +/* f183604: 0fc0f917 */ jal chrGetInverseTheta +/* f183608: 26100008 */ addiu $s0,$s0,0x8 +/* f18360c: 3c017f1c */ lui $at,%hi(var7f1b8958) +/* f183610: c4268958 */ lwc1 $f6,%lo(var7f1b8958)($at) +/* f183614: 3c017f1c */ lui $at,%hi(var7f1b895c) +/* f183618: c42a895c */ lwc1 $f10,%lo(var7f1b895c)($at) +/* f18361c: 46003201 */ sub.s $f8,$f6,$f0 +/* f183620: 460a4102 */ mul.s $f4,$f8,$f10 +/* f183624: e7a40098 */ swc1 $f4,0x98($sp) +/* f183628: 8e8d02d4 */ lw $t5,0x2d4($s4) +/* f18362c: 8da30020 */ lw $v1,0x20($t5) +/* f183630: 386e0001 */ xori $t6,$v1,0x1 +/* f183634: 1000000b */ b .L0f183664 +/* f183638: 2dc30001 */ sltiu $v1,$t6,0x1 +.L0f18363c: +/* f18363c: 3c02800a */ lui $v0,%hi(g_Vars+0x284) +/* f183640: 8c42a244 */ lw $v0,%lo(g_Vars+0x284)($v0) +/* f183644: 00002025 */ or $a0,$zero,$zero +/* f183648: 8c5000bc */ lw $s0,0xbc($v0) +/* f18364c: c4460144 */ lwc1 $f6,0x144($v0) +/* f183650: 26100008 */ addiu $s0,$s0,0x8 +/* f183654: 0fc2866a */ jal handGetWeaponNum +/* f183658: e7a60098 */ swc1 $f6,0x98($sp) +/* f18365c: 38430036 */ xori $v1,$v0,0x36 +/* f183660: 2c630001 */ sltiu $v1,$v1,0x1 +.L0f183664: +/* f183664: c6280000 */ lwc1 $f8,0x0($s1) +/* f183668: c60a0000 */ lwc1 $f10,0x0($s0) +/* f18366c: c6240004 */ lwc1 $f4,0x4($s1) +/* f183670: c6060004 */ lwc1 $f6,0x4($s0) +/* f183674: 460a4501 */ sub.s $f20,$f8,$f10 +/* f183678: c60a0008 */ lwc1 $f10,0x8($s0) +/* f18367c: c6280008 */ lwc1 $f8,0x8($s1) +/* f183680: 46062081 */ sub.s $f2,$f4,$f6 +/* f183684: 4614a102 */ mul.s $f4,$f20,$f20 +/* f183688: afa30078 */ sw $v1,0x78($sp) +/* f18368c: 460a4381 */ sub.s $f14,$f8,$f10 +/* f183690: e7a20080 */ swc1 $f2,0x80($sp) +/* f183694: 460e7182 */ mul.s $f6,$f14,$f14 +/* f183698: e7ae0084 */ swc1 $f14,0x84($sp) +/* f18369c: 0c012974 */ jal sqrtf +/* f1836a0: 46062300 */ add.s $f12,$f4,$f6 +/* f1836a4: c7a20080 */ lwc1 $f2,0x80($sp) +/* f1836a8: 44804000 */ mtc1 $zero,$f8 +/* f1836ac: 8fa30078 */ lw $v1,0x78($sp) +/* f1836b0: c7ae0084 */ lwc1 $f14,0x84($sp) +/* f1836b4: 4602403c */ c.lt.s $f8,$f2 +/* f1836b8: 46000486 */ mov.s $f18,$f0 +/* f1836bc: 4600a306 */ mov.s $f12,$f20 +/* f1836c0: 45020004 */ bc1fl .L0f1836d4 +/* f1836c4: 46001407 */ neg.s $f16,$f2 +/* f1836c8: 10000002 */ b .L0f1836d4 +/* f1836cc: 46001406 */ mov.s $f16,$f2 +/* f1836d0: 46001407 */ neg.s $f16,$f2 +.L0f1836d4: +/* f1836d4: afa30078 */ sw $v1,0x78($sp) +/* f1836d8: e7b0008c */ swc1 $f16,0x8c($sp) +/* f1836dc: 0fc259d4 */ jal atan2f +/* f1836e0: e7b20090 */ swc1 $f18,0x90($sp) +/* f1836e4: 3c014334 */ lui $at,0x4334 +/* f1836e8: 44816000 */ mtc1 $at,$f12 +/* f1836ec: 3c017f1c */ lui $at,%hi(var7f1b8960) +/* f1836f0: c42a8960 */ lwc1 $f10,%lo(var7f1b8960)($at) +/* f1836f4: c7a60098 */ lwc1 $f6,0x98($sp) +/* f1836f8: 44804000 */ mtc1 $zero,$f8 +/* f1836fc: 460a0102 */ mul.s $f4,$f0,$f10 +/* f183700: 8fa30078 */ lw $v1,0x78($sp) +/* f183704: c7b0008c */ lwc1 $f16,0x8c($sp) +/* f183708: c7b20090 */ lwc1 $f18,0x90($sp) +/* f18370c: 3c0143b4 */ lui $at,0x43b4 +/* f183710: 46062080 */ add.s $f2,$f4,$f6 +/* f183714: 460c103c */ c.lt.s $f2,$f12 +/* f183718: 00000000 */ nop +/* f18371c: 45020009 */ bc1fl .L0f183744 +/* f183720: 4602603c */ c.lt.s $f12,$f2 +/* f183724: 44810000 */ mtc1 $at,$f0 +/* f183728: 00000000 */ nop +/* f18372c: 46001080 */ add.s $f2,$f2,$f0 +.L0f183730: +/* f183730: 460c103c */ c.lt.s $f2,$f12 +/* f183734: 00000000 */ nop +/* f183738: 4503fffd */ bc1tl .L0f183730 +/* f18373c: 46001080 */ add.s $f2,$f2,$f0 +/* f183740: 4602603c */ c.lt.s $f12,$f2 +.L0f183744: +/* f183744: 3c0143b4 */ lui $at,0x43b4 +/* f183748: 44810000 */ mtc1 $at,$f0 +/* f18374c: 3c01437a */ lui $at,0x437a +/* f183750: 45020007 */ bc1fl .L0f183770 +/* f183754: 4602403c */ c.lt.s $f8,$f2 +/* f183758: 46001081 */ sub.s $f2,$f2,$f0 +.L0f18375c: +/* f18375c: 4602603c */ c.lt.s $f12,$f2 +/* f183760: 00000000 */ nop +/* f183764: 4503fffd */ bc1tl .L0f18375c +/* f183768: 46001081 */ sub.s $f2,$f2,$f0 +/* f18376c: 4602403c */ c.lt.s $f8,$f2 +.L0f183770: +/* f183770: 44810000 */ mtc1 $at,$f0 +/* f183774: 3c014348 */ lui $at,0x4348 +/* f183778: 45030003 */ bc1tl .L0f183788 +/* f18377c: 4612003c */ c.lt.s $f0,$f18 +/* f183780: 46001087 */ neg.s $f2,$f2 +/* f183784: 4612003c */ c.lt.s $f0,$f18 +.L0f183788: +/* f183788: 00000000 */ nop +/* f18378c: 45030010 */ bc1tl .L0f1837d0 +/* f183790: 4600903c */ c.lt.s $f18,$f0 +/* f183794: 44815000 */ mtc1 $at,$f10 +/* f183798: 3c014234 */ lui $at,0x4234 +/* f18379c: 4610503c */ c.lt.s $f10,$f16 +/* f1837a0: 00000000 */ nop +/* f1837a4: 4503000a */ bc1tl .L0f1837d0 +/* f1837a8: 4600903c */ c.lt.s $f18,$f0 +/* f1837ac: 44812000 */ mtc1 $at,$f4 +/* f1837b0: 00000000 */ nop +/* f1837b4: 4602203c */ c.lt.s $f4,$f2 +/* f1837b8: 00000000 */ nop +/* f1837bc: 45030004 */ bc1tl .L0f1837d0 +/* f1837c0: 4600903c */ c.lt.s $f18,$f0 +/* f1837c4: 1460003a */ bnez $v1,.L0f1838b0 +/* f1837c8: 8fa2006c */ lw $v0,0x6c($sp) +/* f1837cc: 4600903c */ c.lt.s $f18,$f0 +.L0f1837d0: +/* f1837d0: 3c014348 */ lui $at,0x4348 +/* f1837d4: 240fffff */ addiu $t7,$zero,-1 +/* f1837d8: 45000009 */ bc1f .L0f183800 +/* f1837dc: 00000000 */ nop +/* f1837e0: 44813000 */ mtc1 $at,$f6 +/* f1837e4: 3c01800b */ lui $at,%hi(g_ScenarioData+0xd2) +/* f1837e8: 4606803c */ c.lt.s $f16,$f6 +/* f1837ec: 00000000 */ nop +/* f1837f0: 45000003 */ bc1f .L0f183800 +/* f1837f4: 00000000 */ nop +/* f1837f8: 10000003 */ b .L0f183808 +/* f1837fc: a432c1e2 */ sh $s2,%lo(g_ScenarioData+0xd2)($at) +.L0f183800: +/* f183800: 3c01800b */ lui $at,%hi(g_ScenarioData+0xd2) +/* f183804: a42fc1e2 */ sh $t7,%lo(g_ScenarioData+0xd2)($at) +.L0f183808: +/* f183808: 16800021 */ bnez $s4,.L0f183890 +/* f18380c: 00000000 */ nop +/* f183810: 0fc5b9f1 */ jal langGet +/* f183814: 24045411 */ addiu $a0,$zero,0x5412 +/* f183818: 00402025 */ or $a0,$v0,$zero +/* f18381c: 24050009 */ addiu $a1,$zero,0x9 +/* f183820: 0fc377e9 */ jal func0f0ddfa4 +/* f183824: 24060001 */ addiu $a2,$zero,0x1 +/* f183828: 3c18800b */ lui $t8,%hi(g_ScenarioData+0xd4) +/* f18382c: 8f18c1e4 */ lw $t8,%lo(g_ScenarioData+0xd4)($t8) +/* f183830: 24050001 */ addiu $a1,$zero,0x1 +/* f183834: 3406ffff */ dli $a2,0xffff +/* f183838: 0018c880 */ sll $t9,$t8,0x2 +/* f18383c: 0338c823 */ subu $t9,$t9,$t8 +/* f183840: 0019c880 */ sll $t9,$t9,0x2 +/* f183844: 02b94021 */ addu $t0,$s5,$t9 +/* f183848: 0fc249af */ jal func0f0926bc +/* f18384c: 8d040080 */ lw $a0,0x80($t0) +/* f183850: 3c013f80 */ lui $at,0x3f80 +/* f183854: 44814000 */ mtc1 $at,$f8 +/* f183858: 240901cc */ addiu $t1,$zero,0x1cc +/* f18385c: 240a0001 */ addiu $t2,$zero,0x1 +/* f183860: 240bffff */ addiu $t3,$zero,-1 +/* f183864: 240c0001 */ addiu $t4,$zero,0x1 +/* f183868: afac0020 */ sw $t4,0x20($sp) +/* f18386c: afab001c */ sw $t3,0x1c($sp) +/* f183870: afaa0018 */ sw $t2,0x18($sp) +/* f183874: afa90010 */ sw $t1,0x10($sp) +/* f183878: 00002025 */ or $a0,$zero,$zero +/* f18387c: 00002825 */ or $a1,$zero,$zero +/* f183880: 24067fff */ addiu $a2,$zero,0x7fff +/* f183884: 24070040 */ addiu $a3,$zero,0x40 +/* f183888: 0c0041c6 */ jal func00010718 +/* f18388c: e7a80014 */ swc1 $f8,0x14($sp) +.L0f183890: +/* f183890: 3c01800b */ lui $at,%hi(g_ScenarioData) +/* f183894: 8faf006c */ lw $t7,0x6c($sp) +/* f183898: 240dffff */ addiu $t5,$zero,-1 +/* f18389c: 240effff */ addiu $t6,$zero,-1 +/* f1838a0: ac2dc1e4 */ sw $t5,%lo(g_ScenarioData+0xd4)($at) +/* f1838a4: a42ec1e0 */ sh $t6,%lo(g_ScenarioData+0xd0)($at) +/* f1838a8: 10000035 */ b .L0f183980 +/* f1838ac: ade00000 */ sw $zero,0x0($t7) +.L0f1838b0: +/* f1838b0: 3c19800a */ lui $t9,%hi(g_Vars+0x34) +/* f1838b4: 8f399ff4 */ lw $t9,%lo(g_Vars+0x34)($t9) +/* f1838b8: 8c580000 */ lw $t8,0x0($v0) +/* f1838bc: 03194021 */ addu $t0,$t8,$t9 +/* f1838c0: 290112c1 */ slti $at,$t0,0xfa1 +/* f1838c4: 1420002e */ bnez $at,.L0f183980 +/* f1838c8: ac480000 */ sw $t0,0x0($v0) +/* f1838cc: 8e6a00d8 */ lw $t2,0xd8($s3) +/* f1838d0: 3c01800b */ lui $at,%hi(g_ScenarioData+0xd2) +/* f1838d4: 254b0001 */ addiu $t3,$t2,0x1 +/* f1838d8: ae6b00d8 */ sw $t3,0xd8($s3) +/* f1838dc: 16800022 */ bnez $s4,.L0f183968 +/* f1838e0: a432c1e2 */ sh $s2,%lo(g_ScenarioData+0xd2)($at) +/* f1838e4: 0fc5b9f1 */ jal langGet +/* f1838e8: 24045410 */ addiu $a0,$zero,0x5411 +/* f1838ec: 00402025 */ or $a0,$v0,$zero +/* f1838f0: 24050009 */ addiu $a1,$zero,0x9 +/* f1838f4: 0fc377e9 */ jal func0f0ddfa4 +/* f1838f8: 24060001 */ addiu $a2,$zero,0x1 +/* f1838fc: 3c0c800b */ lui $t4,%hi(g_ScenarioData+0xd4) +/* f183900: 8d8cc1e4 */ lw $t4,%lo(g_ScenarioData+0xd4)($t4) +/* f183904: 24050001 */ addiu $a1,$zero,0x1 +/* f183908: 3406ffff */ dli $a2,0xffff +/* f18390c: 000c6880 */ sll $t5,$t4,0x2 +/* f183910: 01ac6823 */ subu $t5,$t5,$t4 +/* f183914: 000d6880 */ sll $t5,$t5,0x2 +/* f183918: 02ad7021 */ addu $t6,$s5,$t5 +/* f18391c: 0fc249af */ jal func0f0926bc +/* f183920: 8dc40080 */ lw $a0,0x80($t6) +/* f183924: 3c013f80 */ lui $at,0x3f80 +/* f183928: 44815000 */ mtc1 $at,$f10 +/* f18392c: 240f01c1 */ addiu $t7,$zero,0x1c1 +/* f183930: 24180001 */ addiu $t8,$zero,0x1 +/* f183934: 2419ffff */ addiu $t9,$zero,-1 +/* f183938: 24080001 */ addiu $t0,$zero,0x1 +/* f18393c: afa80020 */ sw $t0,0x20($sp) +/* f183940: afb9001c */ sw $t9,0x1c($sp) +/* f183944: afb80018 */ sw $t8,0x18($sp) +/* f183948: afaf0010 */ sw $t7,0x10($sp) +/* f18394c: 00002025 */ or $a0,$zero,$zero +/* f183950: 00002825 */ or $a1,$zero,$zero +/* f183954: 24067fff */ addiu $a2,$zero,0x7fff +/* f183958: 24070040 */ addiu $a3,$zero,0x40 +/* f18395c: 0c0041c6 */ jal func00010718 +/* f183960: e7aa0014 */ swc1 $f10,0x14($sp) +/* f183964: 8fa2006c */ lw $v0,0x6c($sp) +.L0f183968: +/* f183968: 3c01800b */ lui $at,%hi(g_ScenarioData) +/* f18396c: 2409ffff */ addiu $t1,$zero,-1 +/* f183970: 240affff */ addiu $t2,$zero,-1 +/* f183974: ac29c1e4 */ sw $t1,%lo(g_ScenarioData+0xd4)($at) +/* f183978: a42ac1e0 */ sh $t2,%lo(g_ScenarioData+0xd0)($at) +/* f18397c: ac400000 */ sw $zero,0x0($v0) +.L0f183980: +/* f183980: 8fbf0064 */ lw $ra,0x64($sp) +.L0f183984: +/* f183984: d7b40040 */ ldc1 $f20,0x40($sp) +/* f183988: 8fb0004c */ lw $s0,0x4c($sp) +/* f18398c: 8fb10050 */ lw $s1,0x50($sp) +/* f183990: 8fb20054 */ lw $s2,0x54($sp) +/* f183994: 8fb30058 */ lw $s3,0x58($sp) +/* f183998: 8fb4005c */ lw $s4,0x5c($sp) +/* f18399c: 8fb50060 */ lw $s5,0x60($sp) +/* f1839a0: 03e00008 */ jr $ra +/* f1839a4: 27bd00c0 */ addiu $sp,$sp,0xc0 +); +#else +GLOBAL_ASM( +glabel scenarioHtmCallback14 +.late_rodata +glabel var7f1b8958 +.word 0x40c907a9 +glabel var7f1b895c +.word 0x42652ee0 +glabel var7f1b8960 +.word 0x42652ee0 +.text +/* f183380: 27bdff40 */ addiu $sp,$sp,-192 +/* f183384: afb4005c */ sw $s4,0x5c($sp) +/* f183388: 0080a025 */ or $s4,$a0,$zero +/* f18338c: afbf0064 */ sw $ra,0x64($sp) +/* f183390: afb50060 */ sw $s5,0x60($sp) +/* f183394: afb30058 */ sw $s3,0x58($sp) +/* f183398: afb20054 */ sw $s2,0x54($sp) +/* f18339c: afb10050 */ sw $s1,0x50($sp) +/* f1833a0: afb0004c */ sw $s0,0x4c($sp) +/* f1833a4: 10800008 */ beqz $a0,.L0f1833c8 +/* f1833a8: f7b40040 */ sdc1 $f20,0x40($sp) +/* f1833ac: 8c8e02d4 */ lw $t6,0x2d4($a0) +/* f1833b0: 8dd3004c */ lw $s3,0x4c($t6) +/* f1833b4: 00137940 */ sll $t7,$s3,0x5 +/* f1833b8: 0fc633fe */ jal mpPlayerGetIndex +/* f1833bc: 000f9fc2 */ srl $s3,$t7,0x1f +/* f1833c0: 1000000d */ b .L0f1833f8 +/* f1833c4: 00409025 */ or $s2,$v0,$zero +.L0f1833c8: +/* f1833c8: 0fc44a21 */ jal invHasDataUplink +/* f1833cc: 00000000 */ nop +/* f1833d0: 0002202b */ sltu $a0,$zero,$v0 +/* f1833d4: 10800005 */ beqz $a0,.L0f1833ec +/* f1833d8: 00000000 */ nop +/* f1833dc: 0fc2866a */ jal handGetWeaponNum +/* f1833e0: 00002025 */ or $a0,$zero,$zero +/* f1833e4: 38440036 */ xori $a0,$v0,0x36 +/* f1833e8: 2c840001 */ sltiu $a0,$a0,0x1 +.L0f1833ec: +/* f1833ec: 3c12800a */ lui $s2,%hi(g_Vars+0x28c) +/* f1833f0: 00809825 */ or $s3,$a0,$zero +/* f1833f4: 8e52a24c */ lw $s2,%lo(g_Vars+0x28c)($s2) +.L0f1833f8: +/* f1833f8: 3c01bf80 */ lui $at,0xbf80 +/* f1833fc: 3c11800b */ lui $s1,%hi(g_ScenarioData) +/* f183400: 3c15800b */ lui $s5,%hi(g_ScenarioData) +/* f183404: 4481a000 */ mtc1 $at,$f20 +/* f183408: 26b5c110 */ addiu $s5,$s5,%lo(g_ScenarioData) +/* f18340c: 2631c110 */ addiu $s1,$s1,%lo(g_ScenarioData) +/* f183410: 00008025 */ or $s0,$zero,$zero +.L0f183414: +/* f183414: 8e240080 */ lw $a0,0x80($s1) +/* f183418: 2405ffff */ addiu $a1,$zero,-1 +/* f18341c: 50800061 */ beqzl $a0,.L0f1835a4 +/* f183420: 26100001 */ addiu $s0,$s0,0x1 +/* f183424: 12800005 */ beqz $s4,.L0f18343c +/* f183428: 8c830004 */ lw $v1,0x4($a0) +/* f18342c: 1260000b */ beqz $s3,.L0f18345c +/* f183430: 00000000 */ nop +/* f183434: 10000009 */ b .L0f18345c +/* f183438: 02402825 */ or $a1,$s2,$zero +.L0f18343c: +/* f18343c: 8c620040 */ lw $v0,0x40($v1) +/* f183440: 3c01f000 */ lui $at,0xf000 +/* f183444: 30594000 */ andi $t9,$v0,0x4000 +/* f183448: 13200004 */ beqz $t9,.L0f18345c +/* f18344c: 00000000 */ nop +/* f183450: 00412824 */ and $a1,$v0,$at +/* f183454: 00054702 */ srl $t0,$a1,0x1c +/* f183458: 01002825 */ or $a1,$t0,$zero +.L0f18345c: +/* f18345c: 56450051 */ bnel $s2,$a1,.L0f1835a4 +/* f183460: 26100001 */ addiu $s0,$s0,0x1 +/* f183464: 8c690040 */ lw $t1,0x40($v1) +/* f183468: 2401bfff */ addiu $at,$zero,-16385 +/* f18346c: 3c0d800b */ lui $t5,%hi(g_ScenarioData+0xd4) +/* f183470: 01215024 */ and $t2,$t1,$at +/* f183474: 3c010fff */ lui $at,0xfff +/* f183478: 3421ffff */ ori $at,$at,0xffff +/* f18347c: ac6a0040 */ sw $t2,0x40($v1) +/* f183480: 01416024 */ and $t4,$t2,$at +/* f183484: 1260002e */ beqz $s3,.L0f183540 +/* f183488: ac6c0040 */ sw $t4,0x40($v1) +/* f18348c: 8dadc1e4 */ lw $t5,%lo(g_ScenarioData+0xd4)($t5) +/* f183490: 2401ffff */ addiu $at,$zero,-1 +/* f183494: 00127080 */ sll $t6,$s2,0x2 +/* f183498: 15a10041 */ bne $t5,$at,.L0f1835a0 +/* f18349c: 02ae7821 */ addu $t7,$s5,$t6 +/* f1834a0: 3c01800b */ lui $at,%hi(g_ScenarioData) +/* f1834a4: ac30c1e4 */ sw $s0,%lo(g_ScenarioData+0xd4)($at) +/* f1834a8: a432c1e0 */ sh $s2,%lo(g_ScenarioData+0xd0)($at) +/* f1834ac: a432c1e2 */ sh $s2,%lo(g_ScenarioData+0xd2)($at) /* f1834b0: 1680003b */ bnez $s4,.L0f1835a0 /* f1834b4: ade00108 */ sw $zero,0x108($t7) /* f1834b8: 0fc5b9f1 */ jal langGet @@ -4659,12 +5091,12 @@ glabel var7f1b8960 /* f183888: 0c0041c6 */ jal func00010718 /* f18388c: e7a80014 */ swc1 $f8,0x14($sp) .L0f183890: -/* f183890: 3c01800b */ lui $at,%hi(g_ScenarioData+0xd4) +/* f183890: 3c01800b */ lui $at,%hi(g_ScenarioData) /* f183894: 8faf006c */ lw $t7,0x6c($sp) /* f183898: 240dffff */ addiu $t5,$zero,-1 /* f18389c: 240effff */ addiu $t6,$zero,-1 /* f1838a0: ac2dc1e4 */ sw $t5,%lo(g_ScenarioData+0xd4)($at) -/* f1838a4: a42ec1e0 */ sh $t6,-0x3e20($at) +/* f1838a4: a42ec1e0 */ sh $t6,%lo(g_ScenarioData+0xd0)($at) /* f1838a8: 10000035 */ b .L0f183980 /* f1838ac: ade00000 */ sw $zero,0x0($t7) .L0f1838b0: @@ -4715,11 +5147,11 @@ glabel var7f1b8960 /* f183960: e7aa0014 */ swc1 $f10,0x14($sp) /* f183964: 8fa2006c */ lw $v0,0x6c($sp) .L0f183968: -/* f183968: 3c01800b */ lui $at,%hi(g_ScenarioData+0xd4) +/* f183968: 3c01800b */ lui $at,%hi(g_ScenarioData) /* f18396c: 2409ffff */ addiu $t1,$zero,-1 /* f183970: 240affff */ addiu $t2,$zero,-1 /* f183974: ac29c1e4 */ sw $t1,%lo(g_ScenarioData+0xd4)($at) -/* f183978: a42ac1e0 */ sh $t2,-0x3e20($at) +/* f183978: a42ac1e0 */ sh $t2,%lo(g_ScenarioData+0xd0)($at) /* f18397c: ac400000 */ sw $zero,0x0($v0) .L0f183980: /* f183980: 8fbf0064 */ lw $ra,0x64($sp) @@ -4734,7 +5166,150 @@ glabel var7f1b8960 /* f1839a0: 03e00008 */ jr $ra /* f1839a4: 27bd00c0 */ addiu $sp,$sp,0xc0 ); +#endif +#if PAL +GLOBAL_ASM( +glabel scenarioHtmCallback18 +/* f1839a8: 3c02800a */ lui $v0,%hi(g_Vars+0x28c) +/* f1839ac: 8c42a24c */ lw $v0,%lo(g_Vars+0x28c)($v0) +/* f1839b0: 3c03800b */ lui $v1,%hi(g_ScenarioData) +/* f1839b4: 2463c110 */ addiu $v1,$v1,%lo(g_ScenarioData) +/* f1839b8: 00027080 */ sll $t6,$v0,0x2 +/* f1839bc: 8c7900d4 */ lw $t9,0xd4($v1) +/* f1839c0: 27bdff98 */ addiu $sp,$sp,-104 +/* f1839c4: 006e7821 */ addu $t7,$v1,$t6 +/* f1839c8: 8df80108 */ lw $t8,0x108($t7) +/* f1839cc: afb00014 */ sw $s0,0x14($sp) +/* f1839d0: 2401ffff */ addiu $at,$zero,-1 +/* f1839d4: 00808025 */ or $s0,$a0,$zero +/* f1839d8: afbf001c */ sw $ra,0x1c($sp) +/* f1839dc: afb10018 */ sw $s1,0x18($sp) +/* f1839e0: 1321006e */ beq $t9,$at,.L0f183b9c +/* f1839e4: afb80060 */ sw $t8,0x60($sp) +/* f1839e8: 3c09800b */ lui $t1,%hi(g_ScenarioData+0xd0) +/* f1839ec: 8529c1e0 */ lh $t1,%lo(g_ScenarioData+0xd0)($t1) +/* f1839f0: 5449006b */ bnel $v0,$t1,.L0f183ba0 +/* f1839f4: 8fbf001c */ lw $ra,0x1c($sp) +/* f1839f8: 0c002f40 */ jal viGetViewLeft +/* f1839fc: 00000000 */ nop +/* f183a00: 0c002f40 */ jal viGetViewLeft +/* f183a04: afa2005c */ sw $v0,0x5c($sp) +/* f183a08: 00028c00 */ sll $s1,$v0,0x10 +/* f183a0c: 00115403 */ sra $t2,$s1,0x10 +/* f183a10: 0c002f22 */ jal viGetViewWidth +/* f183a14: 01408825 */ or $s1,$t2,$zero +/* f183a18: 00515821 */ addu $t3,$v0,$s1 +/* f183a1c: 0c002f44 */ jal viGetViewTop +/* f183a20: afab0058 */ sw $t3,0x58($sp) +/* f183a24: 0c002f22 */ jal viGetViewWidth +/* f183a28: afa20054 */ sw $v0,0x54($sp) +/* f183a2c: 8fac005c */ lw $t4,0x5c($sp) +/* f183a30: 8fad0058 */ lw $t5,0x58($sp) +/* f183a34: 8fb80060 */ lw $t8,0x60($sp) +/* f183a38: 02002025 */ or $a0,$s0,$zero +/* f183a3c: 018d1821 */ addu $v1,$t4,$t5 +/* f183a40: 04610003 */ bgez $v1,.L0f183a50 +/* f183a44: 00037043 */ sra $t6,$v1,0x1 +/* f183a48: 24610001 */ addiu $at,$v1,0x1 +/* f183a4c: 00017043 */ sra $t6,$at,0x1 +.L0f183a50: +/* f183a50: 24010003 */ addiu $at,$zero,0x3 +/* f183a54: 0041001a */ div $zero,$v0,$at +/* f183a58: 44982000 */ mtc1 $t8,$f4 +/* f183a5c: 00002812 */ mflo $a1 +/* f183a60: 44858000 */ mtc1 $a1,$f16 +/* f183a64: 468021a0 */ cvt.s.w $f6,$f4 +/* f183a68: 01c01825 */ or $v1,$t6,$zero +/* f183a6c: 04a10003 */ bgez $a1,.L0f183a7c +/* f183a70: 00053043 */ sra $a2,$a1,0x1 +/* f183a74: 24a10001 */ addiu $at,$a1,0x1 +/* f183a78: 00013043 */ sra $a2,$at,0x1 +.L0f183a7c: +/* f183a7c: 3c014596 */ lui $at,0x457a +/* f183a80: 44814000 */ mtc1 $at,$f8 +/* f183a84: 468084a0 */ cvt.s.w $f18,$f16 +/* f183a88: 00663823 */ subu $a3,$v1,$a2 +/* f183a8c: 00c37821 */ addu $t7,$a2,$v1 +/* f183a90: afa70048 */ sw $a3,0x48($sp) +/* f183a94: afaf0044 */ sw $t7,0x44($sp) +/* f183a98: 46083283 */ div.s $f10,$f6,$f8 +/* f183a9c: 460a9102 */ mul.s $f4,$f18,$f10 +/* f183aa0: 4600218d */ trunc.w.s $f6,$f4 +/* f183aa4: 44093000 */ mfc1 $t1,$f6 +/* f183aa8: 0fc54d8a */ jal func0f153628 +/* f183aac: 01278821 */ addu $s1,$t1,$a3 +/* f183ab0: 3c056000 */ lui $a1,0x6000 +/* f183ab4: 34a50060 */ ori $a1,$a1,0x60 +/* f183ab8: 0fc54df7 */ jal gfxSetPrimColour +/* f183abc: 00402025 */ or $a0,$v0,$zero +/* f183ac0: 8fa30054 */ lw $v1,0x54($sp) +/* f183ac4: 8fac0044 */ lw $t4,0x44($sp) +/* f183ac8: 3c08f600 */ lui $t0,0xf600 +/* f183acc: 24660010 */ addiu $a2,$v1,0x10 +/* f183ad0: 318d03ff */ andi $t5,$t4,0x3ff +/* f183ad4: 000d7380 */ sll $t6,$t5,0xe +/* f183ad8: 30ca03ff */ andi $t2,$a2,0x3ff +/* f183adc: 000a3080 */ sll $a2,$t2,0x2 +/* f183ae0: 01c87825 */ or $t7,$t6,$t0 +/* f183ae4: 01e6c025 */ or $t8,$t7,$a2 +/* f183ae8: ac580000 */ sw $t8,0x0($v0) +/* f183aec: 8faa0048 */ lw $t2,0x48($sp) +/* f183af0: 24670008 */ addiu $a3,$v1,0x8 +/* f183af4: 30f903ff */ andi $t9,$a3,0x3ff +/* f183af8: 314b03ff */ andi $t3,$t2,0x3ff +/* f183afc: 000b6380 */ sll $t4,$t3,0xe +/* f183b00: 00194880 */ sll $t1,$t9,0x2 +/* f183b04: 01896825 */ or $t5,$t4,$t1 +/* f183b08: ac4d0004 */ sw $t5,0x4($v0) +/* f183b0c: afa90020 */ sw $t1,0x20($sp) +/* f183b10: afa60024 */ sw $a2,0x24($sp) +/* f183b14: 0fc54e0e */ jal func0f153838 +/* f183b18: 24440008 */ addiu $a0,$v0,0x8 +/* f183b1c: 3c05c000 */ lui $a1,0xc000 +/* f183b20: 34a500d0 */ ori $a1,$a1,0xd0 +/* f183b24: 0fc54df7 */ jal gfxSetPrimColour +/* f183b28: 00402025 */ or $a0,$v0,$zero +/* f183b2c: 8fa40048 */ lw $a0,0x48($sp) +/* f183b30: 8fa60024 */ lw $a2,0x24($sp) +/* f183b34: 8fa70020 */ lw $a3,0x20($sp) +/* f183b38: 24830001 */ addiu $v1,$a0,0x1 +/* f183b3c: 0071082a */ slt $at,$v1,$s1 +/* f183b40: 3c08f600 */ lui $t0,0xf600 +/* f183b44: 10200010 */ beqz $at,.L0f183b88 +/* f183b48: 00408025 */ or $s0,$v0,$zero +.L0f183b4c: +/* f183b4c: 306f03ff */ andi $t7,$v1,0x3ff +/* f183b50: 000fc380 */ sll $t8,$t7,0xe +/* f183b54: 308a03ff */ andi $t2,$a0,0x3ff +/* f183b58: 000a5b80 */ sll $t3,$t2,0xe +/* f183b5c: 0308c825 */ or $t9,$t8,$t0 +/* f183b60: 02001025 */ or $v0,$s0,$zero +/* f183b64: 24630002 */ addiu $v1,$v1,0x2 +/* f183b68: 03264825 */ or $t1,$t9,$a2 +/* f183b6c: 01676025 */ or $t4,$t3,$a3 +/* f183b70: 0071082a */ slt $at,$v1,$s1 +/* f183b74: ac4c0004 */ sw $t4,0x4($v0) +/* f183b78: ac490000 */ sw $t1,0x0($v0) +/* f183b7c: 26100008 */ addiu $s0,$s0,0x8 +/* f183b80: 1420fff2 */ bnez $at,.L0f183b4c +/* f183b84: 24840002 */ addiu $a0,$a0,0x2 +.L0f183b88: +/* f183b88: 0fc54e0e */ jal func0f153838 +/* f183b8c: 02002025 */ or $a0,$s0,$zero +/* f183b90: 0fc54de0 */ jal func0f153780 +/* f183b94: 00402025 */ or $a0,$v0,$zero +/* f183b98: 00408025 */ or $s0,$v0,$zero +.L0f183b9c: +/* f183b9c: 8fbf001c */ lw $ra,0x1c($sp) +.L0f183ba0: +/* f183ba0: 02001025 */ or $v0,$s0,$zero +/* f183ba4: 8fb00014 */ lw $s0,0x14($sp) +/* f183ba8: 8fb10018 */ lw $s1,0x18($sp) +/* f183bac: 03e00008 */ jr $ra +/* f183bb0: 27bd0068 */ addiu $sp,$sp,0x68 +); +#else GLOBAL_ASM( glabel scenarioHtmCallback18 /* f1839a8: 3c02800a */ lui $v0,%hi(g_Vars+0x28c) @@ -4875,6 +5450,7 @@ glabel scenarioHtmCallback18 /* f183bac: 03e00008 */ jr $ra /* f183bb0: 27bd0068 */ addiu $sp,$sp,0x68 ); +#endif void scenarioHtmKill(struct mpchr *mpchr, s32 mpchrnum, s32 *score, s32 *arg3) { @@ -5514,6 +6090,153 @@ glabel scenarioPacHighlight // return false; //} +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f1845bc +/* f1845bc: 3c02800b */ lui $v0,%hi(g_ScenarioData) +/* f1845c0: 2442c110 */ addiu $v0,$v0,%lo(g_ScenarioData) +/* f1845c4: 8c4e0004 */ lw $t6,0x4($v0) +/* f1845c8: 27bdff70 */ addiu $sp,$sp,-144 +/* f1845cc: 3c18800b */ lui $t8,%hi(g_MpNumPlayers) +/* f1845d0: 25cf0001 */ addiu $t7,$t6,0x1 +/* f1845d4: ac4f0004 */ sw $t7,0x4($v0) +/* f1845d8: 8f18c530 */ lw $t8,%lo(g_MpNumPlayers)($t8) +/* f1845dc: afbf002c */ sw $ra,0x2c($sp) +/* f1845e0: afb40028 */ sw $s4,0x28($sp) +/* f1845e4: afb30024 */ sw $s3,0x24($sp) +/* f1845e8: afb20020 */ sw $s2,0x20($sp) +/* f1845ec: afb1001c */ sw $s1,0x1c($sp) +/* f1845f0: 170f0003 */ bne $t8,$t7,.L0f184600 +/* f1845f4: afb00018 */ sw $s0,0x18($sp) +/* f1845f8: 3c01800b */ lui $at,%hi(g_ScenarioData+0x4) +/* f1845fc: ac20c114 */ sw $zero,%lo(g_ScenarioData+0x4)($at) +.L0f184600: +/* f184600: 3c01800b */ lui $at,%hi(g_ScenarioData+0x2) +/* f184604: a420c112 */ sh $zero,%lo(g_ScenarioData+0x2)($at) +/* f184608: 3c08800b */ lui $t0,%hi(g_ScenarioData+0x4) +/* f18460c: 8d08c114 */ lw $t0,%lo(g_ScenarioData+0x4)($t0) +/* f184610: 3c13800a */ lui $s3,%hi(g_Vars) +/* f184614: 26739fc0 */ addiu $s3,$s3,%lo(g_Vars) +/* f184618: 8e6b006c */ lw $t3,0x6c($s3) +/* f18461c: 00084840 */ sll $t1,$t0,0x1 +/* f184620: 00495021 */ addu $t2,$v0,$t1 +/* f184624: 85540008 */ lh $s4,0x8($t2) +/* f184628: 11600003 */ beqz $t3,.L0f184638 +/* f18462c: 00008825 */ or $s1,$zero,$zero +/* f184630: 10000002 */ b .L0f18463c +/* f184634: 24050001 */ addiu $a1,$zero,0x1 +.L0f184638: +/* f184638: 00002825 */ or $a1,$zero,$zero +.L0f18463c: +/* f18463c: 8e6c0068 */ lw $t4,0x68($s3) +/* f184640: 00002025 */ or $a0,$zero,$zero +/* f184644: 00001825 */ or $v1,$zero,$zero +/* f184648: 11800003 */ beqz $t4,.L0f184658 +/* f18464c: 00001025 */ or $v0,$zero,$zero +/* f184650: 10000001 */ b .L0f184658 +/* f184654: 24040001 */ addiu $a0,$zero,0x1 +.L0f184658: +/* f184658: 8e6d0064 */ lw $t5,0x64($s3) +/* f18465c: 27b20048 */ addiu $s2,$sp,0x48 +/* f184660: 11a00003 */ beqz $t5,.L0f184670 +/* f184664: 00000000 */ nop +/* f184668: 10000001 */ b .L0f184670 +/* f18466c: 24030001 */ addiu $v1,$zero,0x1 +.L0f184670: +/* f184670: 8e6e0070 */ lw $t6,0x70($s3) +/* f184674: 11c00003 */ beqz $t6,.L0f184684 +/* f184678: 00000000 */ nop +/* f18467c: 10000001 */ b .L0f184684 +/* f184680: 24020001 */ addiu $v0,$zero,0x1 +.L0f184684: +/* f184684: 00437821 */ addu $t7,$v0,$v1 +/* f184688: 01e4c021 */ addu $t8,$t7,$a0 +/* f18468c: 0305c821 */ addu $t9,$t8,$a1 +/* f184690: 5b200042 */ blezl $t9,.L0f18479c +/* f184694: 8fbf002c */ lw $ra,0x2c($sp) +.L0f184698: +/* f184698: 16910008 */ bne $s4,$s1,.L0f1846bc +/* f18469c: 02802025 */ or $a0,$s4,$zero +/* f1846a0: 0fc5b9f1 */ jal langGet +/* f1846a4: 2404540d */ addiu $a0,$zero,0x540e +/* f1846a8: 02402025 */ or $a0,$s2,$zero +/* f1846ac: 0c004dad */ jal sprintf +/* f1846b0: 00402825 */ or $a1,$v0,$zero +/* f1846b4: 10000018 */ b .L0f184718 +/* f1846b8: 02202025 */ or $a0,$s1,$zero +.L0f1846bc: +/* f1846bc: 3c09800b */ lui $t1,%hi(var800ac500) +/* f1846c0: 2529c500 */ addiu $t1,$t1,%lo(var800ac500) +/* f1846c4: 00144080 */ sll $t0,$s4,0x2 +/* f1846c8: 01098021 */ addu $s0,$t0,$t1 +/* f1846cc: 0fc619e0 */ jal mpChrsAreSameTeam +/* f1846d0: 02202825 */ or $a1,$s1,$zero +/* f1846d4: 10400009 */ beqz $v0,.L0f1846fc +/* f1846d8: 00000000 */ nop +/* f1846dc: 0fc5b9f1 */ jal langGet +/* f1846e0: 2404540e */ addiu $a0,$zero,0x540f +/* f1846e4: 02402025 */ or $a0,$s2,$zero +/* f1846e8: 00402825 */ or $a1,$v0,$zero +/* f1846ec: 0c004dad */ jal sprintf +/* f1846f0: 8e060000 */ lw $a2,0x0($s0) +/* f1846f4: 10000008 */ b .L0f184718 +/* f1846f8: 02202025 */ or $a0,$s1,$zero +.L0f1846fc: +/* f1846fc: 0fc5b9f1 */ jal langGet +/* f184700: 2404540f */ addiu $a0,$zero,0x5410 +/* f184704: 02402025 */ or $a0,$s2,$zero +/* f184708: 00402825 */ or $a1,$v0,$zero +/* f18470c: 0c004dad */ jal sprintf +/* f184710: 8e060000 */ lw $a2,0x0($s0) +/* f184714: 02202025 */ or $a0,$s1,$zero +.L0f184718: +/* f184718: 0fc619ae */ jal mpCreateScenarioHudmsg +/* f18471c: 02402825 */ or $a1,$s2,$zero +/* f184720: 8e6a006c */ lw $t2,0x6c($s3) +/* f184724: 26310001 */ addiu $s1,$s1,0x1 +/* f184728: 00002825 */ or $a1,$zero,$zero +/* f18472c: 11400003 */ beqz $t2,.L0f18473c +/* f184730: 00002025 */ or $a0,$zero,$zero +/* f184734: 10000001 */ b .L0f18473c +/* f184738: 24050001 */ addiu $a1,$zero,0x1 +.L0f18473c: +/* f18473c: 8e6b0068 */ lw $t3,0x68($s3) +/* f184740: 00001825 */ or $v1,$zero,$zero +/* f184744: 00001025 */ or $v0,$zero,$zero +/* f184748: 11600003 */ beqz $t3,.L0f184758 +/* f18474c: 00000000 */ nop +/* f184750: 10000001 */ b .L0f184758 +/* f184754: 24040001 */ addiu $a0,$zero,0x1 +.L0f184758: +/* f184758: 8e6c0064 */ lw $t4,0x64($s3) +/* f18475c: 11800003 */ beqz $t4,.L0f18476c +/* f184760: 00000000 */ nop +/* f184764: 10000001 */ b .L0f18476c +/* f184768: 24030001 */ addiu $v1,$zero,0x1 +.L0f18476c: +/* f18476c: 8e6d0070 */ lw $t5,0x70($s3) +/* f184770: 11a00003 */ beqz $t5,.L0f184780 +/* f184774: 00000000 */ nop +/* f184778: 10000001 */ b .L0f184780 +/* f18477c: 24020001 */ addiu $v0,$zero,0x1 +.L0f184780: +/* f184780: 00437021 */ addu $t6,$v0,$v1 +/* f184784: 01c47821 */ addu $t7,$t6,$a0 +/* f184788: 01e5c021 */ addu $t8,$t7,$a1 +/* f18478c: 0238082a */ slt $at,$s1,$t8 +/* f184790: 1420ffc1 */ bnez $at,.L0f184698 +/* f184794: 00000000 */ nop +/* f184798: 8fbf002c */ lw $ra,0x2c($sp) +.L0f18479c: +/* f18479c: 8fb00018 */ lw $s0,0x18($sp) +/* f1847a0: 8fb1001c */ lw $s1,0x1c($sp) +/* f1847a4: 8fb20020 */ lw $s2,0x20($sp) +/* f1847a8: 8fb30024 */ lw $s3,0x24($sp) +/* f1847ac: 8fb40028 */ lw $s4,0x28($sp) +/* f1847b0: 03e00008 */ jr $ra +/* f1847b4: 27bd0090 */ addiu $sp,$sp,0x90 +); +#else GLOBAL_ASM( glabel func0f1845bc /* f1845bc: 3c02800b */ lui $v0,%hi(g_ScenarioData) @@ -5659,7 +6382,84 @@ glabel func0f1845bc /* f1847b0: 03e00008 */ jr $ra /* f1847b4: 27bd0090 */ addiu $sp,$sp,0x90 ); +#endif +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f1847b8 +/* f1847b8: 3c03800b */ lui $v1,%hi(g_ScenarioData) +/* f1847bc: 2463c110 */ addiu $v1,$v1,%lo(g_ScenarioData) +/* f1847c0: 8c6e0004 */ lw $t6,0x4($v1) +/* f1847c4: 27bdffe0 */ addiu $sp,$sp,-32 +/* f1847c8: afb00018 */ sw $s0,0x18($sp) +/* f1847cc: 00808025 */ or $s0,$a0,$zero +/* f1847d0: 05c00036 */ bltz $t6,.L0f1848ac +/* f1847d4: afbf001c */ sw $ra,0x1c($sp) +/* f1847d8: 3c0f800b */ lui $t7,%hi(g_ScenarioData+0x4) +/* f1847dc: 8defc114 */ lw $t7,%lo(g_ScenarioData+0x4)($t7) +/* f1847e0: 000fc040 */ sll $t8,$t7,0x1 +/* f1847e4: 0078c821 */ addu $t9,$v1,$t8 +/* f1847e8: 87280008 */ lh $t0,0x8($t9) +/* f1847ec: 54a80030 */ bnel $a1,$t0,.L0f1848b0 +/* f1847f0: 8fbf001c */ lw $ra,0x1c($sp) +/* f1847f4: 1085002c */ beq $a0,$a1,.L0f1848a8 +/* f1847f8: 3c01800b */ lui $at,%hi(g_ScenarioData+0x2) +/* f1847fc: 04800026 */ bltz $a0,.L0f184898 +/* f184800: 00000000 */ nop +/* f184804: 0fc619e0 */ jal mpChrsAreSameTeam +/* f184808: 00000000 */ nop +/* f18480c: 3c03800b */ lui $v1,%hi(g_ScenarioData) +/* f184810: 1040000d */ beqz $v0,.L0f184848 +/* f184814: 2463c110 */ addiu $v1,$v1,%lo(g_ScenarioData) +/* f184818: 0fc5b9f1 */ jal langGet +/* f18481c: 24045408 */ addiu $a0,$zero,0x5409 +/* f184820: 02002025 */ or $a0,$s0,$zero +/* f184824: 0fc619ae */ jal mpCreateScenarioHudmsg +/* f184828: 00402825 */ or $a1,$v0,$zero +/* f18482c: 0fc5b9f1 */ jal langGet +/* f184830: 24045409 */ addiu $a0,$zero,0x540a +/* f184834: 02002025 */ or $a0,$s0,$zero +/* f184838: 0fc619ae */ jal mpCreateScenarioHudmsg +/* f18483c: 00402825 */ or $a1,$v0,$zero +/* f184840: 10000015 */ b .L0f184898 +/* f184844: 00000000 */ nop +.L0f184848: +/* f184848: 00104840 */ sll $t1,$s0,0x1 +/* f18484c: 00691021 */ addu $v0,$v1,$t1 +/* f184850: 844a0020 */ lh $t2,0x20($v0) +/* f184854: 2404540a */ addiu $a0,$zero,0x540b +/* f184858: 254b0001 */ addiu $t3,$t2,0x1 +/* f18485c: 0fc5b9f1 */ jal langGet +/* f184860: a44b0020 */ sh $t3,0x20($v0) +/* f184864: 02002025 */ or $a0,$s0,$zero +/* f184868: 0fc619ae */ jal mpCreateScenarioHudmsg +/* f18486c: 00402825 */ or $a1,$v0,$zero +/* f184870: 0fc5b9f1 */ jal langGet +/* f184874: 2404540b */ addiu $a0,$zero,0x540c +/* f184878: 02002025 */ or $a0,$s0,$zero +/* f18487c: 0fc619ae */ jal mpCreateScenarioHudmsg +/* f184880: 00402825 */ or $a1,$v0,$zero +/* f184884: 0fc5b9f1 */ jal langGet +/* f184888: 2404540c */ addiu $a0,$zero,0x540d +/* f18488c: 02002025 */ or $a0,$s0,$zero +/* f184890: 0fc619ae */ jal mpCreateScenarioHudmsg +/* f184894: 00402825 */ or $a1,$v0,$zero +.L0f184898: +/* f184898: 0fc6116f */ jal func0f1845bc +/* f18489c: 00000000 */ nop +/* f1848a0: 10000003 */ b .L0f1848b0 +/* f1848a4: 8fbf001c */ lw $ra,0x1c($sp) +.L0f1848a8: +/* f1848a8: a420c112 */ sh $zero,%lo(g_ScenarioData+0x2)($at) +.L0f1848ac: +/* f1848ac: 8fbf001c */ lw $ra,0x1c($sp) +.L0f1848b0: +/* f1848b0: 8fb00018 */ lw $s0,0x18($sp) +/* f1848b4: 27bd0020 */ addiu $sp,$sp,0x20 +/* f1848b8: 03e00008 */ jr $ra +/* f1848bc: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f1847b8 /* f1847b8: 3c03800b */ lui $v1,%hi(g_ScenarioData) @@ -5734,7 +6534,107 @@ glabel func0f1847b8 /* f1848b8: 03e00008 */ jr $ra /* f1848bc: 00000000 */ nop ); +#endif +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel scenarioPacTick +/* f1848c0: 3c09800b */ lui $t1,%hi(g_ScenarioData) +/* f1848c4: 2529c110 */ addiu $t1,$t1,%lo(g_ScenarioData) +/* f1848c8: 8d2e0004 */ lw $t6,0x4($t1) +/* f1848cc: 27bdffe8 */ addiu $sp,$sp,-24 +/* f1848d0: 2401ffff */ addiu $at,$zero,-1 +/* f1848d4: 15c10005 */ bne $t6,$at,.L0f1848ec +/* f1848d8: afbf0014 */ sw $ra,0x14($sp) +/* f1848dc: 0fc6116f */ jal func0f1845bc +/* f1848e0: 00000000 */ nop +/* f1848e4: 3c09800b */ lui $t1,%hi(g_ScenarioData) +/* f1848e8: 2529c110 */ addiu $t1,$t1,%lo(g_ScenarioData) +.L0f1848ec: +/* f1848ec: 3c0f800b */ lui $t7,%hi(g_ScenarioData+0x4) +/* f1848f0: 8defc114 */ lw $t7,%lo(g_ScenarioData+0x4)($t7) +/* f1848f4: 3c07800a */ lui $a3,%hi(g_Vars) +/* f1848f8: 24e79fc0 */ addiu $a3,$a3,%lo(g_Vars) +/* f1848fc: 05e00042 */ bltz $t7,.L0f184a08 +/* f184900: 3c0c800b */ lui $t4,%hi(g_ScenarioData+0x4) +/* f184904: 8cf8006c */ lw $t8,0x6c($a3) +/* f184908: 00004025 */ or $t0,$zero,$zero +/* f18490c: 00002825 */ or $a1,$zero,$zero +/* f184910: 13000003 */ beqz $t8,.L0f184920 +/* f184914: 00003025 */ or $a2,$zero,$zero +/* f184918: 10000001 */ b .L0f184920 +/* f18491c: 24080001 */ addiu $t0,$zero,0x1 +.L0f184920: +/* f184920: 8cf90068 */ lw $t9,0x68($a3) +/* f184924: 00001025 */ or $v0,$zero,$zero +/* f184928: 13200003 */ beqz $t9,.L0f184938 +/* f18492c: 00000000 */ nop +/* f184930: 10000001 */ b .L0f184938 +/* f184934: 24050001 */ addiu $a1,$zero,0x1 +.L0f184938: +/* f184938: 8cea0064 */ lw $t2,0x64($a3) +/* f18493c: 11400003 */ beqz $t2,.L0f18494c +/* f184940: 00000000 */ nop +/* f184944: 10000001 */ b .L0f18494c +/* f184948: 24060001 */ addiu $a2,$zero,0x1 +.L0f18494c: +/* f18494c: 8ceb0070 */ lw $t3,0x70($a3) +/* f184950: 11600003 */ beqz $t3,.L0f184960 +/* f184954: 00000000 */ nop +/* f184958: 10000001 */ b .L0f184960 +/* f18495c: 24020001 */ addiu $v0,$zero,0x1 +.L0f184960: +/* f184960: 8d8cc114 */ lw $t4,%lo(g_ScenarioData+0x4)($t4) +/* f184964: 00467021 */ addu $t6,$v0,$a2 +/* f184968: 01c57821 */ addu $t7,$t6,$a1 +/* f18496c: 000c6840 */ sll $t5,$t4,0x1 +/* f184970: 012d1821 */ addu $v1,$t1,$t5 +/* f184974: 84640008 */ lh $a0,0x8($v1) +/* f184978: 01e8c021 */ addu $t8,$t7,$t0 +/* f18497c: 3c02800b */ lui $v0,%hi(g_ScenarioData+0x2) +/* f184980: 0098082a */ slt $at,$a0,$t8 +/* f184984: 10200006 */ beqz $at,.L0f1849a0 +/* f184988: 0004c880 */ sll $t9,$a0,0x2 +/* f18498c: 00f95021 */ addu $t2,$a3,$t9 +/* f184990: 8d4b0064 */ lw $t3,0x64($t2) +/* f184994: 8d6c00d8 */ lw $t4,0xd8($t3) +/* f184998: 5580001c */ bnezl $t4,.L0f184a0c +/* f18499c: 8fbf0014 */ lw $ra,0x14($sp) +.L0f1849a0: +/* f1849a0: 9442c112 */ lhu $v0,%lo(g_ScenarioData+0x2)($v0) +/* f1849a4: 8ced0034 */ lw $t5,0x34($a3) +/* f1849a8: 3c01800b */ lui $at,%hi(g_ScenarioData+0x2) +/* f1849ac: 004d1021 */ addu $v0,$v0,$t5 +/* f1849b0: 304effff */ andi $t6,$v0,0xffff +/* f1849b4: a42ec112 */ sh $t6,%lo(g_ScenarioData+0x2)($at) +/* f1849b8: 2dc13841 */ sltiu $at,$t6,0x2ee1 +/* f1849bc: 14200012 */ bnez $at,.L0f184a08 +/* f1849c0: 3c01800b */ lui $at,%hi(g_ScenarioData+0x2) +/* f1849c4: a420c112 */ sh $zero,%lo(g_ScenarioData+0x2)($at) +/* f1849c8: 846f0008 */ lh $t7,0x8($v1) +/* f1849cc: 24045407 */ addiu $a0,$zero,0x5408 +/* f1849d0: 000fc040 */ sll $t8,$t7,0x1 +/* f1849d4: 01381021 */ addu $v0,$t1,$t8 +/* f1849d8: 84590038 */ lh $t9,0x38($v0) +/* f1849dc: 272a0001 */ addiu $t2,$t9,0x1 +/* f1849e0: 0fc5b9f1 */ jal langGet +/* f1849e4: a44a0038 */ sh $t2,0x38($v0) +/* f1849e8: 3c0b800b */ lui $t3,%hi(g_ScenarioData+0x4) +/* f1849ec: 8d6bc114 */ lw $t3,%lo(g_ScenarioData+0x4)($t3) +/* f1849f0: 3c04800b */ lui $a0,%hi(g_ScenarioData+0x8) +/* f1849f4: 00402825 */ or $a1,$v0,$zero +/* f1849f8: 000b6040 */ sll $t4,$t3,0x1 +/* f1849fc: 008c2021 */ addu $a0,$a0,$t4 +/* f184a00: 0fc619ae */ jal mpCreateScenarioHudmsg +/* f184a04: 8484c118 */ lh $a0,%lo(g_ScenarioData+0x8)($a0) +.L0f184a08: +/* f184a08: 8fbf0014 */ lw $ra,0x14($sp) +.L0f184a0c: +/* f184a0c: 27bd0018 */ addiu $sp,$sp,0x18 +/* f184a10: 03e00008 */ jr $ra +/* f184a14: 00000000 */ nop +); +#else GLOBAL_ASM( glabel scenarioPacTick /* f1848c0: 3c09800b */ lui $t1,%hi(g_ScenarioData) @@ -5832,6 +6732,7 @@ glabel scenarioPacTick /* f184a10: 03e00008 */ jr $ra /* f184a14: 00000000 */ nop ); +#endif //void scenarioPacTick(void) //{ @@ -5853,6 +6754,146 @@ glabel scenarioPacTick // } //} +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel scenarioPacCallback18 +/* f184a18: 3c02800b */ lui $v0,%hi(g_ScenarioData) +/* f184a1c: 2442c110 */ addiu $v0,$v0,%lo(g_ScenarioData) +/* f184a20: 8c4f0004 */ lw $t7,0x4($v0) +/* f184a24: 3c03800a */ lui $v1,%hi(g_Vars) +/* f184a28: 24639fc0 */ addiu $v1,$v1,%lo(g_Vars) +/* f184a2c: 000fc040 */ sll $t8,$t7,0x1 +/* f184a30: 0058c821 */ addu $t9,$v0,$t8 +/* f184a34: 87290008 */ lh $t1,0x8($t9) +/* f184a38: 8c6e028c */ lw $t6,0x28c($v1) +/* f184a3c: 27bdff58 */ addiu $sp,$sp,-168 +/* f184a40: afb00038 */ sw $s0,0x38($sp) +/* f184a44: 00808025 */ or $s0,$a0,$zero +/* f184a48: 15c9006e */ bne $t6,$t1,.L0f184c04 +/* f184a4c: afbf003c */ sw $ra,0x3c($sp) +/* f184a50: 8c6a0284 */ lw $t2,0x284($v1) +/* f184a54: 3c0c800b */ lui $t4,%hi(g_ScenarioData+0x2) +/* f184a58: 8d4b00d8 */ lw $t3,0xd8($t2) +/* f184a5c: 5560006a */ bnezl $t3,.L0f184c08 +/* f184a60: 8fbf003c */ lw $ra,0x3c($sp) +/* f184a64: 958cc112 */ lhu $t4,%lo(g_ScenarioData+0x2)($t4) +/* f184a68: 240d3840 */ addiu $t5,$zero,0x2ee0 +/* f184a6c: 01ac1823 */ subu $v1,$t5,$t4 +/* f184a70: 0c002f40 */ jal viGetViewLeft +/* f184a74: afa300a0 */ sw $v1,0xa0($sp) +/* f184a78: 0c002f22 */ jal viGetViewWidth +/* f184a7c: a7a20046 */ sh $v0,0x46($sp) +/* f184a80: 87b80046 */ lh $t8,0x46($sp) +/* f184a84: 8fa300a0 */ lw $v1,0xa0($sp) +/* f184a88: 04410003 */ bgez $v0,.L0f184a98 +/* f184a8c: 00027843 */ sra $t7,$v0,0x1 +/* f184a90: 24410001 */ addiu $at,$v0,0x1 +/* f184a94: 00017843 */ sra $t7,$at,0x1 +.L0f184a98: +/* f184a98: 01f82821 */ addu $a1,$t7,$t8 +/* f184a9c: 0c002f44 */ jal viGetViewTop +/* f184aa0: afa5008c */ sw $a1,0x8c($sp) +/* f184aa4: 8fa300a0 */ lw $v1,0xa0($sp) +/* f184aa8: 2446000a */ addiu $a2,$v0,0xa +/* f184aac: afa60088 */ sw $a2,0x88($sp) +/* f184ab0: 04610002 */ bgez $v1,.L0f184abc +/* f184ab4: 24083840 */ addiu $t0,$zero,0x2ee0 +/* f184ab8: 00001825 */ or $v1,$zero,$zero +.L0f184abc: +/* f184abc: 0068001a */ div $zero,$v1,$t0 +/* f184ac0: 00001012 */ mflo $v0 +/* f184ac4: 3c057f1c */ lui $a1,%hi(var7f1b88c0) +/* f184ac8: 15000002 */ bnez $t0,.L0f184ad4 +/* f184acc: 00000000 */ nop +/* f184ad0: 0007000d */ break 0x7 +.L0f184ad4: +/* f184ad4: 2401ffff */ addiu $at,$zero,-1 +/* f184ad8: 15010004 */ bne $t0,$at,.L0f184aec +/* f184adc: 3c018000 */ lui $at,0x8000 +/* f184ae0: 14610002 */ bne $v1,$at,.L0f184aec +/* f184ae4: 00000000 */ nop +/* f184ae8: 0006000d */ break 0x6 +.L0f184aec: +/* f184aec: 00480019 */ multu $v0,$t0 +/* f184af0: 240100f0 */ addiu $at,$zero,0xc8 +/* f184af4: 00403025 */ or $a2,$v0,$zero +/* f184af8: 24a588c0 */ addiu $a1,$a1,%lo(var7f1b88c0) +/* f184afc: 27a40048 */ addiu $a0,$sp,0x48 +/* f184b00: 0000c812 */ mflo $t9 +/* f184b04: 00791823 */ subu $v1,$v1,$t9 +/* f184b08: 246700ef */ addiu $a3,$v1,0xc7 +/* f184b0c: 00e1001a */ div $zero,$a3,$at +/* f184b10: 00003812 */ mflo $a3 +/* f184b14: 0c004dad */ jal sprintf +/* f184b18: 00000000 */ nop +/* f184b1c: 0fc54d8a */ jal func0f153628 +/* f184b20: 02002025 */ or $a0,$s0,$zero +/* f184b24: 3c098008 */ lui $t1,%hi(g_FontHandelGothicXs2) +/* f184b28: 8d29fb04 */ lw $t1,%lo(g_FontHandelGothicXs2)($t1) +/* f184b2c: 3c078008 */ lui $a3,%hi(g_FontHandelGothicXs1) +/* f184b30: 00408025 */ or $s0,$v0,$zero +/* f184b34: 8ce7fb08 */ lw $a3,%lo(g_FontHandelGothicXs1)($a3) +/* f184b38: 27a40090 */ addiu $a0,$sp,0x90 +/* f184b3c: 27a50094 */ addiu $a1,$sp,0x94 +/* f184b40: 27a60048 */ addiu $a2,$sp,0x48 +/* f184b44: afa00014 */ sw $zero,0x14($sp) +/* f184b48: 0fc55cbe */ jal textMeasure +/* f184b4c: afa90010 */ sw $t1,0x10($sp) +/* f184b50: 8fa70094 */ lw $a3,0x94($sp) +/* f184b54: 8fa5008c */ lw $a1,0x8c($sp) +/* f184b58: 8fa20090 */ lw $v0,0x90($sp) +/* f184b5c: 8fa60088 */ lw $a2,0x88($sp) +/* f184b60: 04e10003 */ bgez $a3,.L0f184b70 +/* f184b64: 00075043 */ sra $t2,$a3,0x1 +/* f184b68: 24e10001 */ addiu $at,$a3,0x1 +/* f184b6c: 00015043 */ sra $t2,$at,0x1 +.L0f184b70: +/* f184b70: 00aa2823 */ subu $a1,$a1,$t2 +/* f184b74: 00e53821 */ addu $a3,$a3,$a1 +/* f184b78: 00461021 */ addu $v0,$v0,$a2 +/* f184b7c: afa20010 */ sw $v0,0x10($sp) +/* f184b80: afa20090 */ sw $v0,0x90($sp) +/* f184b84: afa70094 */ sw $a3,0x94($sp) +/* f184b88: afa5008c */ sw $a1,0x8c($sp) +/* f184b8c: 0fc54e64 */ jal func0f153990 +/* f184b90: 02002025 */ or $a0,$s0,$zero +/* f184b94: 0c002f02 */ jal viGetWidth +/* f184b98: 00408025 */ or $s0,$v0,$zero +/* f184b9c: 0c002f06 */ jal viGetHeight +/* f184ba0: a7a20044 */ sh $v0,0x44($sp) +/* f184ba4: 3c0b8008 */ lui $t3,%hi(g_FontNumeric1) +/* f184ba8: 3c0d8008 */ lui $t5,%hi(g_FontNumeric2) +/* f184bac: 8dadfafc */ lw $t5,%lo(g_FontNumeric2)($t5) +/* f184bb0: 8d6bfb00 */ lw $t3,%lo(g_FontNumeric1)($t3) +/* f184bb4: 87b80044 */ lh $t8,0x44($sp) +/* f184bb8: 3c0c00ff */ lui $t4,0xff +/* f184bbc: 358c00a0 */ ori $t4,$t4,0xa0 +/* f184bc0: 240f00a0 */ addiu $t7,$zero,0xa0 +/* f184bc4: afaf001c */ sw $t7,0x1c($sp) +/* f184bc8: afac0018 */ sw $t4,0x18($sp) +/* f184bcc: 02002025 */ or $a0,$s0,$zero +/* f184bd0: 27a5008c */ addiu $a1,$sp,0x8c +/* f184bd4: 27a60088 */ addiu $a2,$sp,0x88 +/* f184bd8: 27a70048 */ addiu $a3,$sp,0x48 +/* f184bdc: afa20024 */ sw $v0,0x24($sp) +/* f184be0: afa00028 */ sw $zero,0x28($sp) +/* f184be4: afa0002c */ sw $zero,0x2c($sp) +/* f184be8: afad0014 */ sw $t5,0x14($sp) +/* f184bec: afab0010 */ sw $t3,0x10($sp) +/* f184bf0: 0fc55b92 */ jal textRender +/* f184bf4: afb80020 */ sw $t8,0x20($sp) +/* f184bf8: 0fc54de0 */ jal func0f153780 +/* f184bfc: 00402025 */ or $a0,$v0,$zero +/* f184c00: 00408025 */ or $s0,$v0,$zero +.L0f184c04: +/* f184c04: 8fbf003c */ lw $ra,0x3c($sp) +.L0f184c08: +/* f184c08: 02001025 */ or $v0,$s0,$zero +/* f184c0c: 8fb00038 */ lw $s0,0x38($sp) +/* f184c10: 03e00008 */ jr $ra +/* f184c14: 27bd00a8 */ addiu $sp,$sp,0xa8 +); +#else GLOBAL_ASM( glabel scenarioPacCallback18 /* f184a18: 3c02800b */ lui $v0,%hi(g_ScenarioData) @@ -5991,6 +7032,7 @@ glabel scenarioPacCallback18 /* f184c10: 03e00008 */ jr $ra /* f184c14: 27bd00a8 */ addiu $sp,$sp,0xa8 ); +#endif void scenarioPacKill(struct mpchr *mpchr, s32 mpchrnum, s32 *score, s32 *arg3) { diff --git a/src/game/mplayer/setup.c b/src/game/mplayer/setup.c index f0aedb742..9d6db4de6 100644 --- a/src/game/mplayer/setup.c +++ b/src/game/mplayer/setup.c @@ -655,6 +655,231 @@ s32 func0f179d6c(s32 operation, struct menuitem *item, union handlerdata *data) return 0; } +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f179da4 +.late_rodata +glabel var7f1b8078 +.word func0f179da4+0x34 # f179dd8 +glabel var7f1b807c +.word func0f179da4+0x270 # f17a014 +glabel var7f1b8080 +.word func0f179da4+0x270 # f17a014 +glabel var7f1b8084 +.word func0f179da4+0x270 # f17a014 +glabel var7f1b8088 +.word func0f179da4+0x270 # f17a014 +glabel var7f1b808c +.word func0f179da4+0x168 # f179f0c +glabel var7f1b8090 +.word func0f179da4+0x160 # f179f04 +glabel var7f1b8094 +.word func0f179da4+0x270 # f17a014 +glabel var7f1b8098 +.word func0f179da4+0x270 # f17a014 +glabel var7f1b809c +.word func0f179da4+0x270 # f17a014 +glabel var7f1b80a0 +.word func0f179da4+0x48 # f179dec +glabel var7f1b80a4 +.word func0f179da4+0x270 # f17a014 +glabel var7f1b80a8 +.word func0f179da4+0x128 # f179ecc +glabel var7f1b80ac +.word func0f179da4+0x270 # f17a014 +glabel var7f1b80b0 +.word func0f179da4+0x168 # f179f0c +glabel var7f1b80b4 +.word func0f179da4+0x270 # f17a014 +glabel var7f1b80b8 +.word func0f179da4+0x270 # f17a014 +glabel var7f1b80bc +.word func0f179da4+0x270 # f17a014 +glabel var7f1b80c0 +.word func0f179da4+0x270 # f17a014 +glabel var7f1b80c4 +.word func0f179da4+0x270 # f17a014 +glabel var7f1b80c8 +.word func0f179da4+0x108 # f179eac +glabel var7f1b80cc +.word 0x3c23d70a +glabel var7f1b80d0 +.word 0x41033333 +glabel var7f1b80d4 +.word 0xc0833333 +glabel var7f1b80d8 +.word 0xbe4ccccd +glabel var7f1b80dc +.word 0x3b03126f +.text +/* f179da4: 248effff */ addiu $t6,$a0,-1 +/* f179da8: 27bdffc0 */ addiu $sp,$sp,-64 +/* f179dac: 2dc10015 */ sltiu $at,$t6,0x15 +/* f179db0: afbf002c */ sw $ra,0x2c($sp) +/* f179db4: afa50044 */ sw $a1,0x44($sp) +/* f179db8: 10200096 */ beqz $at,.L0f17a014 +/* f179dbc: 00801825 */ or $v1,$a0,$zero +/* f179dc0: 000e7080 */ sll $t6,$t6,0x2 +/* f179dc4: 3c017f1c */ lui $at,%hi(var7f1b8078) +/* f179dc8: 002e0821 */ addu $at,$at,$t6 +/* f179dcc: 8c2e8078 */ lw $t6,%lo(var7f1b8078)($at) +/* f179dd0: 01c00008 */ jr $t6 +/* f179dd4: 00000000 */ nop +/* f179dd8: 0fc62ee2 */ jal mpGetNumBodies +/* f179ddc: afa60048 */ sw $a2,0x48($sp) +/* f179de0: 8fa60048 */ lw $a2,0x48($sp) +/* f179de4: 1000008b */ b .L0f17a014 +/* f179de8: acc20000 */ sw $v0,0x0($a2) +/* f179dec: 3c0f8007 */ lui $t7,%hi(g_MpPlayerNum) +/* f179df0: 8def1448 */ lw $t7,%lo(g_MpPlayerNum)($t7) +/* f179df4: 3c19800a */ lui $t9,%hi(g_Menus) +/* f179df8: 3c05800a */ lui $a1,%hi(g_Vars) +/* f179dfc: 000fc0c0 */ sll $t8,$t7,0x3 +/* f179e00: 030fc023 */ subu $t8,$t8,$t7 +/* f179e04: 0018c080 */ sll $t8,$t8,0x2 +/* f179e08: 030fc021 */ addu $t8,$t8,$t7 +/* f179e0c: 0018c0c0 */ sll $t8,$t8,0x3 +/* f179e10: 030fc023 */ subu $t8,$t8,$t7 +/* f179e14: 0018c100 */ sll $t8,$t8,0x4 +/* f179e18: 2739e000 */ addiu $t9,$t9,%lo(g_Menus) +/* f179e1c: 8fa90050 */ lw $t1,0x50($sp) +/* f179e20: 24a59fc0 */ addiu $a1,$a1,%lo(g_Vars) +/* f179e24: 03191021 */ addu $v0,$t8,$t9 +/* f179e28: 8c4e0db4 */ lw $t6,0xdb4($v0) +/* f179e2c: 8ca40000 */ lw $a0,0x0($a1) +/* f179e30: 00095400 */ sll $t2,$t1,0x10 +/* f179e34: 354bffff */ ori $t3,$t2,0xffff +/* f179e38: 00076600 */ sll $t4,$a3,0x18 +/* f179e3c: 01c47821 */ addu $t7,$t6,$a0 +/* f179e40: 240801fc */ addiu $t0,$zero,0x1fc +/* f179e44: 016c6825 */ or $t5,$t3,$t4 +/* f179e48: 29e101e1 */ slti $at,$t7,0x191 +/* f179e4c: a448089c */ sh $t0,0x89c($v0) +/* f179e50: ac4d084c */ sw $t5,0x84c($v0) +/* f179e54: 14200003 */ bnez $at,.L0f179e64 +/* f179e58: ac4f0db4 */ sw $t7,0xdb4($v0) +/* f179e5c: 25f8fe20 */ addiu $t8,$t7,-0x190 +/* f179e60: ac580db4 */ sw $t8,0xdb4($v0) +.L0f179e64: +/* f179e64: 8c430db8 */ lw $v1,0xdb8($v0) +/* f179e68: 3c017f1c */ lui $at,%hi(var7f1b80cc) +/* f179e6c: 18600003 */ blez $v1,.L0f179e7c +/* f179e70: 0064c823 */ subu $t9,$v1,$a0 +/* f179e74: 10000008 */ b .L0f179e98 +/* f179e78: ac590db8 */ sw $t9,0xdb8($v0) +.L0f179e7c: +/* f179e7c: c42480cc */ lwc1 $f4,%lo(var7f1b80cc)($at) +/* f179e80: c4a60004 */ lwc1 $f6,0x10($a1) +/* f179e84: c44a0d64 */ lwc1 $f10,0xd64($v0) +/* f179e88: 46062202 */ mul.s $f8,$f4,$f6 +/* f179e8c: 46085000 */ add.s $f0,$f10,$f8 +/* f179e90: e4400d8c */ swc1 $f0,0xd8c($v0) +/* f179e94: e4400d64 */ swc1 $f0,0xd64($v0) +.L0f179e98: +/* f179e98: 3c0141f0 */ lui $at,0x41f0 +/* f179e9c: 44818000 */ mtc1 $at,$f16 +/* f179ea0: ac400df4 */ sw $zero,0xdf4($v0) +/* f179ea4: 1000005b */ b .L0f17a014 +/* f179ea8: e4500d94 */ swc1 $f16,0xd94($v0) +/* f179eac: 0fc62f1c */ jal mpGetBodyRequiredFeature +/* f179eb0: 90c40003 */ lbu $a0,0x3($a2) +/* f179eb4: 0fc67244 */ jal mpIsFeatureUnlocked +/* f179eb8: 00402025 */ or $a0,$v0,$zero +/* f179ebc: 54400056 */ bnezl $v0,.L0f17a018 +/* f179ec0: 00001025 */ or $v0,$zero,$zero +/* f179ec4: 10000054 */ b .L0f17a018 +/* f179ec8: 24020001 */ addiu $v0,$zero,0x1 +/* f179ecc: 3c098007 */ lui $t1,%hi(g_MpPlayerNum) +/* f179ed0: 8d291448 */ lw $t1,%lo(g_MpPlayerNum)($t1) +/* f179ed4: 3c01800a */ lui $at,%hi(g_Menus+0x840) +/* f179ed8: 24080003 */ addiu $t0,$zero,0x3 +/* f179edc: 000950c0 */ sll $t2,$t1,0x3 +/* f179ee0: 01495023 */ subu $t2,$t2,$t1 +/* f179ee4: 000a5080 */ sll $t2,$t2,0x2 +/* f179ee8: 01495021 */ addu $t2,$t2,$t1 +/* f179eec: 000a50c0 */ sll $t2,$t2,0x3 +/* f179ef0: 01495023 */ subu $t2,$t2,$t1 +/* f179ef4: 000a5100 */ sll $t2,$t2,0x4 +/* f179ef8: 002a0821 */ addu $at,$at,$t2 +/* f179efc: 10000045 */ b .L0f17a014 +/* f179f00: a028e840 */ sb $t0,%lo(g_Menus+0x840)($at) +/* f179f04: 10000043 */ b .L0f17a014 +/* f179f08: acc70000 */ sw $a3,0x0($a2) +/* f179f0c: 3c0b8007 */ lui $t3,%hi(g_MpPlayerNum) +/* f179f10: 8d6b1448 */ lw $t3,%lo(g_MpPlayerNum)($t3) +/* f179f14: 44800000 */ mtc1 $zero,$f0 +/* f179f18: 3c0d800a */ lui $t5,%hi(g_Menus) +/* f179f1c: 000b60c0 */ sll $t4,$t3,0x3 +/* f179f20: 018b6023 */ subu $t4,$t4,$t3 +/* f179f24: 000c6080 */ sll $t4,$t4,0x2 +/* f179f28: 018b6021 */ addu $t4,$t4,$t3 +/* f179f2c: 000c60c0 */ sll $t4,$t4,0x3 +/* f179f30: 3c013f80 */ lui $at,0x3f80 +/* f179f34: 018b6023 */ subu $t4,$t4,$t3 +/* f179f38: 44819000 */ mtc1 $at,$f18 +/* f179f3c: 000c6100 */ sll $t4,$t4,0x4 +/* f179f40: 25ade000 */ addiu $t5,$t5,%lo(g_Menus) +/* f179f44: 018d1021 */ addu $v0,$t4,$t5 +/* f179f48: 240e0001 */ addiu $t6,$zero,0x1 +/* f179f4c: 44050000 */ mfc1 $a1,$f0 +/* f179f50: 44060000 */ mfc1 $a2,$f0 +/* f179f54: 44070000 */ mfc1 $a3,$f0 +/* f179f58: ac400dc0 */ sw $zero,0xdc0($v0) +/* f179f5c: afae0020 */ sw $t6,0x20($sp) +/* f179f60: 24440840 */ addiu $a0,$v0,0x840 +/* f179f64: afa30034 */ sw $v1,0x34($sp) +/* f179f68: e7a00010 */ swc1 $f0,0x10($sp) +/* f179f6c: e7a00014 */ swc1 $f0,0x14($sp) +/* f179f70: e7a00018 */ swc1 $f0,0x18($sp) +/* f179f74: 0fc3cdcb */ jal func0f0f372c +/* f179f78: e7b2001c */ swc1 $f18,0x1c($sp) +/* f179f7c: 3c0f8007 */ lui $t7,%hi(g_MpPlayerNum) +/* f179f80: 8def1448 */ lw $t7,%lo(g_MpPlayerNum)($t7) +/* f179f84: 3c017f1c */ lui $at,%hi(var7f1b80d0) +/* f179f88: c42080d0 */ lwc1 $f0,%lo(var7f1b80d0)($at) +/* f179f8c: 000fc0c0 */ sll $t8,$t7,0x3 +/* f179f90: 030fc023 */ subu $t8,$t8,$t7 +/* f179f94: 0018c080 */ sll $t8,$t8,0x2 +/* f179f98: 3c017f1c */ lui $at,%hi(var7f1b80d4) +/* f179f9c: 030fc021 */ addu $t8,$t8,$t7 +/* f179fa0: c42280d4 */ lwc1 $f2,%lo(var7f1b80d4)($at) +/* f179fa4: 0018c0c0 */ sll $t8,$t8,0x3 +/* f179fa8: 3c017f1c */ lui $at,%hi(var7f1b80d8) +/* f179fac: 3c19800a */ lui $t9,%hi(g_Menus) +/* f179fb0: 030fc023 */ subu $t8,$t8,$t7 +/* f179fb4: c42c80d8 */ lwc1 $f12,%lo(var7f1b80d8)($at) +/* f179fb8: 0018c100 */ sll $t8,$t8,0x4 +/* f179fbc: 2739e000 */ addiu $t9,$t9,%lo(g_Menus) +/* f179fc0: 03191021 */ addu $v0,$t8,$t9 +/* f179fc4: 3c017f1c */ lui $at,%hi(var7f1b80dc) +/* f179fc8: e4400d50 */ swc1 $f0,0xd50($v0) +/* f179fcc: e4400d78 */ swc1 $f0,0xd78($v0) +/* f179fd0: e4420d54 */ swc1 $f2,0xd54($v0) +/* f179fd4: e4420d7c */ swc1 $f2,0xd7c($v0) +/* f179fd8: c42480dc */ lwc1 $f4,%lo(var7f1b80dc)($at) +/* f179fdc: 8fa30034 */ lw $v1,0x34($sp) +/* f179fe0: 2409003c */ addiu $t1,$zero,0x32 +/* f179fe4: 24080078 */ addiu $t0,$zero,0x64 +/* f179fe8: 240a0008 */ addiu $t2,$zero,0x8 +/* f179fec: 2401000f */ addiu $at,$zero,0xf +/* f179ff0: ac490db8 */ sw $t1,0xdb8($v0) +/* f179ff4: ac480db4 */ sw $t0,0xdb4($v0) +/* f179ff8: a04a0840 */ sb $t2,0x840($v0) +/* f179ffc: e44c0d64 */ swc1 $f12,0xd64($v0) +/* f17a000: e44c0d8c */ swc1 $f12,0xd8c($v0) +/* f17a004: 14610003 */ bne $v1,$at,.L0f17a014 +/* f17a008: e4440d5c */ swc1 $f4,0xd5c($v0) +/* f17a00c: 240b0010 */ addiu $t3,$zero,0x10 +/* f17a010: a04b0840 */ sb $t3,0x840($v0) +.L0f17a014: +/* f17a014: 00001025 */ or $v0,$zero,$zero +.L0f17a018: +/* f17a018: 8fbf002c */ lw $ra,0x2c($sp) +/* f17a01c: 27bd0040 */ addiu $sp,$sp,0x40 +/* f17a020: 03e00008 */ jr $ra +/* f17a024: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f179da4 .late_rodata @@ -878,6 +1103,7 @@ glabel var7f1b80dc /* f17a020: 03e00008 */ jr $ra /* f17a024: 00000000 */ nop ); +#endif s32 menuhandlerMpCharacterBody(s32 operation, struct menuitem *item, union handlerdata *data) { @@ -1765,6 +1991,275 @@ struct menudialog g_MpPlayerStatsMenuDialog = { u32 var80085448 = 0x00000300; u32 var8008544c = 0x0400ff00; +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f17b4f8 +.late_rodata +glabel var7f1b80f0 +.word func0f17b4f8+0x34 # f17b52c +glabel var7f1b80f4 +.word func0f17b4f8+0x334 # f17b82c +glabel var7f1b80f8 +.word func0f17b4f8+0x334 # f17b82c +glabel var7f1b80fc +.word func0f17b4f8+0x334 # f17b82c +glabel var7f1b8100 +.word func0f17b4f8+0x334 # f17b82c +glabel var7f1b8104 +.word func0f17b4f8+0x214 # f17b70c +glabel var7f1b8108 +.word func0f17b4f8+0x208 # f17b700 +glabel var7f1b810c +.word func0f17b4f8+0x334 # f17b82c +glabel var7f1b8110 +.word func0f17b4f8+0x334 # f17b82c +glabel var7f1b8114 +.word func0f17b4f8+0x334 # f17b82c +glabel var7f1b8118 +.word func0f17b4f8+0x48 # f17b540 +glabel var7f1b811c +.word func0f17b4f8+0x334 # f17b82c +glabel var7f1b8120 +.word func0f17b4f8+0x214 # f17b70c +glabel var7f1b8124 +.word func0f17b4f8+0x334 # f17b82c +glabel var7f1b8128 +.word func0f17b4f8+0x334 # f17b82c +glabel var7f1b812c +.word func0f17b4f8+0x334 # f17b82c +glabel var7f1b8130 +.word func0f17b4f8+0x334 # f17b82c +glabel var7f1b8134 +.word func0f17b4f8+0x334 # f17b82c +glabel var7f1b8138 +.word func0f17b4f8+0x334 # f17b82c +glabel var7f1b813c +.word func0f17b4f8+0x334 # f17b82c +glabel var7f1b8140 +.word func0f17b4f8+0x1e8 # f17b6e0 +glabel var7f1b8144 +.word 0x3c23d70a +glabel var7f1b8148 +.word 0xbe99999a +glabel var7f1b814c +.word 0x3c23d70a +.text +/* f17b4f8: 27bdffd0 */ addiu $sp,$sp,-48 +/* f17b4fc: 248effff */ addiu $t6,$a0,-1 +/* f17b500: 2dc10015 */ sltiu $at,$t6,0x15 +/* f17b504: afbf002c */ sw $ra,0x2c($sp) +/* f17b508: afa50034 */ sw $a1,0x34($sp) +/* f17b50c: 102000c7 */ beqz $at,.L0f17b82c +/* f17b510: afa7003c */ sw $a3,0x3c($sp) +/* f17b514: 000e7080 */ sll $t6,$t6,0x2 +/* f17b518: 3c017f1c */ lui $at,%hi(var7f1b80f0) +/* f17b51c: 002e0821 */ addu $at,$at,$t6 +/* f17b520: 8c2e80f0 */ lw $t6,%lo(var7f1b80f0)($at) +/* f17b524: 01c00008 */ jr $t6 +/* f17b528: 00000000 */ nop +/* f17b52c: 0fc62ec7 */ jal func0f18bb1c +/* f17b530: afa60038 */ sw $a2,0x38($sp) +/* f17b534: 8fa60038 */ lw $a2,0x38($sp) +/* f17b538: 100000bc */ b .L0f17b82c +/* f17b53c: acc20000 */ sw $v0,0x0($a2) +/* f17b540: 3c0f8007 */ lui $t7,%hi(g_MpPlayerNum) +/* f17b544: 8def1448 */ lw $t7,%lo(g_MpPlayerNum)($t7) +/* f17b548: 3c017f1c */ lui $at,%hi(var7f1b8144) +/* f17b54c: c4248144 */ lwc1 $f4,%lo(var7f1b8144)($at) +/* f17b550: 3c01800a */ lui $at,%hi(g_Vars+0x10) +/* f17b554: 000fc0c0 */ sll $t8,$t7,0x3 +/* f17b558: c4269fc4 */ lwc1 $f6,%lo(g_Vars+0x10)($at) +/* f17b55c: 030fc023 */ subu $t8,$t8,$t7 +/* f17b560: 0018c080 */ sll $t8,$t8,0x2 +/* f17b564: 030fc021 */ addu $t8,$t8,$t7 +/* f17b568: 46062202 */ mul.s $f8,$f4,$f6 +/* f17b56c: 0018c0c0 */ sll $t8,$t8,0x3 +/* f17b570: 3c19800a */ lui $t9,%hi(g_Menus) +/* f17b574: 030fc023 */ subu $t8,$t8,$t7 +/* f17b578: 0018c100 */ sll $t8,$t8,0x4 +/* f17b57c: 2739e000 */ addiu $t9,$t9,%lo(g_Menus) +/* f17b580: 03191821 */ addu $v1,$t8,$t9 +/* f17b584: c46a0d64 */ lwc1 $f10,0xd64($v1) +/* f17b588: 46085000 */ add.s $f0,$f10,$f8 +/* f17b58c: e4600d8c */ swc1 $f0,0xd8c($v1) +/* f17b590: 0fc62ec7 */ jal func0f18bb1c +/* f17b594: e4600d64 */ swc1 $f0,0xd64($v1) +/* f17b598: 8fa3003c */ lw $v1,0x3c($sp) +/* f17b59c: 0062082a */ slt $at,$v1,$v0 +/* f17b5a0: 1020001a */ beqz $at,.L0f17b60c +/* f17b5a4: 00000000 */ nop +/* f17b5a8: 0fc62ecb */ jal mpGetHeadId +/* f17b5ac: 306400ff */ andi $a0,$v1,0xff +/* f17b5b0: 3c088007 */ lui $t0,%hi(g_MpPlayerNum) +/* f17b5b4: 8d081448 */ lw $t0,%lo(g_MpPlayerNum)($t0) +/* f17b5b8: 3c0a800a */ lui $t2,%hi(g_Menus) +/* f17b5bc: 254ae000 */ addiu $t2,$t2,%lo(g_Menus) +/* f17b5c0: 000848c0 */ sll $t1,$t0,0x3 +/* f17b5c4: 01284823 */ subu $t1,$t1,$t0 +/* f17b5c8: 00094880 */ sll $t1,$t1,0x2 +/* f17b5cc: 01284821 */ addu $t1,$t1,$t0 +/* f17b5d0: 000948c0 */ sll $t1,$t1,0x3 +/* f17b5d4: 01284823 */ subu $t1,$t1,$t0 +/* f17b5d8: 00094900 */ sll $t1,$t1,0x4 +/* f17b5dc: 00025880 */ sll $t3,$v0,0x2 +/* f17b5e0: 01625821 */ addu $t3,$t3,$v0 +/* f17b5e4: 012a1821 */ addu $v1,$t1,$t2 +/* f17b5e8: 906d0df1 */ lbu $t5,0xdf1($v1) +/* f17b5ec: 000b5880 */ sll $t3,$t3,0x2 +/* f17b5f0: 3c0c8008 */ lui $t4,%hi(g_Bodies+0x2) +/* f17b5f4: 018b6021 */ addu $t4,$t4,$t3 +/* f17b5f8: 958ccf06 */ lhu $t4,%lo(g_Bodies+0x2)($t4) +/* f17b5fc: 31aeff7f */ andi $t6,$t5,0xff7f +/* f17b600: a06e0df1 */ sb $t6,0xdf1($v1) +/* f17b604: 1000002e */ b .L0f17b6c0 +/* f17b608: ac6c084c */ sw $t4,0x84c($v1) +.L0f17b60c: +/* f17b60c: 0fc62ec7 */ jal func0f18bb1c +/* f17b610: 00000000 */ nop +/* f17b614: 8faf003c */ lw $t7,0x3c($sp) +/* f17b618: 0fc52a7e */ jal func0f14a9f8 +/* f17b61c: 01e22023 */ subu $a0,$t7,$v0 +/* f17b620: 0fc62ed9 */ jal mpGetBeauHeadId +/* f17b624: 304400ff */ andi $a0,$v0,0xff +/* f17b628: 3c188007 */ lui $t8,%hi(g_MpPlayerNum) +/* f17b62c: 8f181448 */ lw $t8,%lo(g_MpPlayerNum)($t8) +/* f17b630: 3c08800a */ lui $t0,%hi(g_Menus) +/* f17b634: 2508e000 */ addiu $t0,$t0,%lo(g_Menus) +/* f17b638: 0018c8c0 */ sll $t9,$t8,0x3 +/* f17b63c: 0338c823 */ subu $t9,$t9,$t8 +/* f17b640: 0019c880 */ sll $t9,$t9,0x2 +/* f17b644: 0338c821 */ addu $t9,$t9,$t8 +/* f17b648: 0019c8c0 */ sll $t9,$t9,0x3 +/* f17b64c: 0338c823 */ subu $t9,$t9,$t8 +/* f17b650: 0019c900 */ sll $t9,$t9,0x4 +/* f17b654: 00024880 */ sll $t1,$v0,0x2 +/* f17b658: 01224821 */ addu $t1,$t1,$v0 +/* f17b65c: 03281821 */ addu $v1,$t9,$t0 +/* f17b660: 906c0df1 */ lbu $t4,0xdf1($v1) +/* f17b664: 00094880 */ sll $t1,$t1,0x2 +/* f17b668: 3c0a8008 */ lui $t2,%hi(g_Bodies+0x2) +/* f17b66c: 01495021 */ addu $t2,$t2,$t1 +/* f17b670: 954acf06 */ lhu $t2,%lo(g_Bodies+0x2)($t2) +/* f17b674: 358d0080 */ ori $t5,$t4,0x80 +/* f17b678: a06d0df1 */ sb $t5,0xdf1($v1) +/* f17b67c: 0fc62ec7 */ jal func0f18bb1c +/* f17b680: ac6a084c */ sw $t2,0x84c($v1) +/* f17b684: 3c0e8007 */ lui $t6,%hi(g_MpPlayerNum) +/* f17b688: 8dce1448 */ lw $t6,%lo(g_MpPlayerNum)($t6) +/* f17b68c: 8fb9003c */ lw $t9,0x3c($sp) +/* f17b690: 3c18800a */ lui $t8,%hi(g_Menus) +/* f17b694: 000e78c0 */ sll $t7,$t6,0x3 +/* f17b698: 01ee7823 */ subu $t7,$t7,$t6 +/* f17b69c: 000f7880 */ sll $t7,$t7,0x2 +/* f17b6a0: 01ee7821 */ addu $t7,$t7,$t6 +/* f17b6a4: 000f78c0 */ sll $t7,$t7,0x3 +/* f17b6a8: 01ee7823 */ subu $t7,$t7,$t6 +/* f17b6ac: 000f7900 */ sll $t7,$t7,0x4 +/* f17b6b0: 2718e000 */ addiu $t8,$t8,%lo(g_Menus) +/* f17b6b4: 01f81821 */ addu $v1,$t7,$t8 +/* f17b6b8: 03224023 */ subu $t0,$t9,$v0 +/* f17b6bc: a0680df0 */ sb $t0,0xdf0($v1) +.L0f17b6c0: +/* f17b6c0: 3c0141f0 */ lui $at,0x41f0 +/* f17b6c4: 44818000 */ mtc1 $at,$f16 +/* f17b6c8: 3c098008 */ lui $t1,%hi(var80085448) +/* f17b6cc: 25295448 */ addiu $t1,$t1,%lo(var80085448) +/* f17b6d0: ac600db4 */ sw $zero,0xdb4($v1) +/* f17b6d4: ac690df4 */ sw $t1,0xdf4($v1) +/* f17b6d8: 10000054 */ b .L0f17b82c +/* f17b6dc: e4700d94 */ swc1 $f16,0xd94($v1) +/* f17b6e0: 0fc62ed2 */ jal mpGetHeadRequiredFeature +/* f17b6e4: 90c40003 */ lbu $a0,0x3($a2) +/* f17b6e8: 0fc67244 */ jal mpIsFeatureUnlocked +/* f17b6ec: 00402025 */ or $a0,$v0,$zero +/* f17b6f0: 5440004f */ bnezl $v0,.L0f17b830 +/* f17b6f4: 00001025 */ or $v0,$zero,$zero +/* f17b6f8: 1000004d */ b .L0f17b830 +/* f17b6fc: 24020001 */ addiu $v0,$zero,0x1 +/* f17b700: 8faa003c */ lw $t2,0x3c($sp) +/* f17b704: 10000049 */ b .L0f17b82c +/* f17b708: acca0000 */ sw $t2,0x0($a2) +/* f17b70c: 3c0c8007 */ lui $t4,%hi(g_MpPlayerNum) +/* f17b710: 8d8c1448 */ lw $t4,%lo(g_MpPlayerNum)($t4) +/* f17b714: 3c01800a */ lui $at,%hi(g_Menus+0x840) +/* f17b718: 240b0003 */ addiu $t3,$zero,0x3 +/* f17b71c: 000c68c0 */ sll $t5,$t4,0x3 +/* f17b720: 01ac6823 */ subu $t5,$t5,$t4 +/* f17b724: 000d6880 */ sll $t5,$t5,0x2 +/* f17b728: 01ac6821 */ addu $t5,$t5,$t4 +/* f17b72c: 000d68c0 */ sll $t5,$t5,0x3 +/* f17b730: 01ac6823 */ subu $t5,$t5,$t4 +/* f17b734: 000d6900 */ sll $t5,$t5,0x4 +/* f17b738: 002d0821 */ addu $at,$at,$t5 +/* f17b73c: 0fc62ec7 */ jal func0f18bb1c +/* f17b740: a02be840 */ sb $t3,%lo(g_Menus+0x840)($at) +/* f17b744: 3c0e8007 */ lui $t6,%hi(g_MpPlayerNum) +/* f17b748: 8dce1448 */ lw $t6,%lo(g_MpPlayerNum)($t6) +/* f17b74c: 44800000 */ mtc1 $zero,$f0 +/* f17b750: 3c013f80 */ lui $at,0x3f80 +/* f17b754: 000e78c0 */ sll $t7,$t6,0x3 +/* f17b758: 01ee7823 */ subu $t7,$t7,$t6 +/* f17b75c: 000f7880 */ sll $t7,$t7,0x2 +/* f17b760: 01ee7821 */ addu $t7,$t7,$t6 +/* f17b764: 000f78c0 */ sll $t7,$t7,0x3 +/* f17b768: 01ee7823 */ subu $t7,$t7,$t6 +/* f17b76c: 44819000 */ mtc1 $at,$f18 +/* f17b770: 000f7900 */ sll $t7,$t7,0x4 +/* f17b774: 3c19800a */ lui $t9,%hi(g_Menus) +/* f17b778: 2739e000 */ addiu $t9,$t9,%lo(g_Menus) +/* f17b77c: 25f80840 */ addiu $t8,$t7,0x840 +/* f17b780: 24080001 */ addiu $t0,$zero,0x1 +/* f17b784: 44050000 */ mfc1 $a1,$f0 +/* f17b788: 44060000 */ mfc1 $a2,$f0 +/* f17b78c: 44070000 */ mfc1 $a3,$f0 +/* f17b790: afa80020 */ sw $t0,0x20($sp) +/* f17b794: 03192021 */ addu $a0,$t8,$t9 +/* f17b798: e7a00010 */ swc1 $f0,0x10($sp) +/* f17b79c: e7a00014 */ swc1 $f0,0x14($sp) +/* f17b7a0: e7a00018 */ swc1 $f0,0x18($sp) +/* f17b7a4: 0fc3cdcb */ jal func0f0f372c +/* f17b7a8: e7b2001c */ swc1 $f18,0x1c($sp) +/* f17b7ac: 3c098007 */ lui $t1,%hi(g_MpPlayerNum) +/* f17b7b0: 8d291448 */ lw $t1,%lo(g_MpPlayerNum)($t1) +/* f17b7b4: 3c017f1c */ lui $at,%hi(var7f1b8148) +/* f17b7b8: 3c0c800a */ lui $t4,%hi(g_Menus) +/* f17b7bc: 000950c0 */ sll $t2,$t1,0x3 +/* f17b7c0: 01495023 */ subu $t2,$t2,$t1 +/* f17b7c4: 000a5080 */ sll $t2,$t2,0x2 +/* f17b7c8: 01495021 */ addu $t2,$t2,$t1 +/* f17b7cc: 000a50c0 */ sll $t2,$t2,0x3 +/* f17b7d0: 01495023 */ subu $t2,$t2,$t1 +/* f17b7d4: c4228148 */ lwc1 $f2,%lo(var7f1b8148)($at) +/* f17b7d8: 44800000 */ mtc1 $zero,$f0 +/* f17b7dc: 000a5100 */ sll $t2,$t2,0x4 +/* f17b7e0: 258ce000 */ addiu $t4,$t4,%lo(g_Menus) +/* f17b7e4: 014c1821 */ addu $v1,$t2,$t4 +/* f17b7e8: 3c01c040 */ lui $at,0xc040 +/* f17b7ec: 44812000 */ mtc1 $at,$f4 +/* f17b7f0: 3c017f1c */ lui $at,%hi(var7f1b814c) +/* f17b7f4: e4600d50 */ swc1 $f0,0xd50($v1) +/* f17b7f8: e4600d54 */ swc1 $f0,0xd54($v1) +/* f17b7fc: e4600d78 */ swc1 $f0,0xd78($v1) +/* f17b800: e4640d7c */ swc1 $f4,0xd7c($v1) +/* f17b804: c426814c */ lwc1 $f6,%lo(var7f1b814c)($at) +/* f17b808: 3c013f80 */ lui $at,0x3f80 +/* f17b80c: 44815000 */ mtc1 $at,$f10 +/* f17b810: 3c0141f0 */ lui $at,0x41f0 +/* f17b814: 44814000 */ mtc1 $at,$f8 +/* f17b818: e4620d64 */ swc1 $f2,0xd64($v1) +/* f17b81c: e4620d8c */ swc1 $f2,0xd8c($v1) +/* f17b820: e4660d5c */ swc1 $f6,0xd5c($v1) +/* f17b824: e46a0d84 */ swc1 $f10,0xd84($v1) +/* f17b828: e4680d94 */ swc1 $f8,0xd94($v1) +.L0f17b82c: +/* f17b82c: 00001025 */ or $v0,$zero,$zero +.L0f17b830: +/* f17b830: 8fbf002c */ lw $ra,0x2c($sp) +/* f17b834: 27bd0030 */ addiu $sp,$sp,0x30 +/* f17b838: 03e00008 */ jr $ra +/* f17b83c: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f17b4f8 .late_rodata @@ -2032,6 +2527,7 @@ glabel var7f1b814c /* f17b838: 03e00008 */ jr $ra /* f17b83c: 00000000 */ nop ); +#endif s32 menuhandlerMpCharacterHead(s32 operation, struct menuitem *item, union handlerdata *data) { @@ -3256,6 +3752,134 @@ s32 menudialog0017ccfc(s32 operation, struct menudialog *dialog, union handlerda return menudialogMpSimulant(operation, dialog, data); } +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel menuhandlerMpSimulantDifficulty +/* f17cda0: 27bdffd0 */ addiu $sp,$sp,-48 +/* f17cda4: afb40028 */ sw $s4,0x28($sp) +/* f17cda8: afb20020 */ sw $s2,0x20($sp) +/* f17cdac: 24010001 */ addiu $at,$zero,0x1 +/* f17cdb0: 00c0a025 */ or $s4,$a2,$zero +/* f17cdb4: afbf002c */ sw $ra,0x2c($sp) +/* f17cdb8: afb30024 */ sw $s3,0x24($sp) +/* f17cdbc: afb1001c */ sw $s1,0x1c($sp) +/* f17cdc0: afb00018 */ sw $s0,0x18($sp) +/* f17cdc4: afa50034 */ sw $a1,0x34($sp) +/* f17cdc8: 10810038 */ beq $a0,$at,.L0f17ceac +/* f17cdcc: 00009025 */ or $s2,$zero,$zero +/* f17cdd0: 24010003 */ addiu $at,$zero,0x3 +/* f17cdd4: 10810042 */ beq $a0,$at,.L0f17cee0 +/* f17cdd8: 00008825 */ or $s1,$zero,$zero +/* f17cddc: 24130006 */ addiu $s3,$zero,0x6 +/* f17cde0: 10930006 */ beq $a0,$s3,.L0f17cdfc +/* f17cde4: 3c0e8007 */ lui $t6,%hi(g_MpPlayerNum) +/* f17cde8: 24010007 */ addiu $at,$zero,0x7 +/* f17cdec: 10810014 */ beq $a0,$at,.L0f17ce40 +/* f17cdf0: 3c188007 */ lui $t8,%hi(g_MpPlayerNum) +/* f17cdf4: 10000050 */ b .L0f17cf38 +/* f17cdf8: 00001025 */ or $v0,$zero,$zero +.L0f17cdfc: +/* f17cdfc: 8dce1448 */ lw $t6,%lo(g_MpPlayerNum)($t6) +/* f17ce00: 3c04800a */ lui $a0,%hi(g_Menus+0xe1c) +/* f17ce04: 8e850000 */ lw $a1,0x0($s4) +/* f17ce08: 000e78c0 */ sll $t7,$t6,0x3 +/* f17ce0c: 01ee7823 */ subu $t7,$t7,$t6 +/* f17ce10: 000f7880 */ sll $t7,$t7,0x2 +/* f17ce14: 01ee7821 */ addu $t7,$t7,$t6 +/* f17ce18: 000f78c0 */ sll $t7,$t7,0x3 +/* f17ce1c: 01ee7823 */ subu $t7,$t7,$t6 +/* f17ce20: 000f7900 */ sll $t7,$t7,0x4 +/* f17ce24: 008f2021 */ addu $a0,$a0,$t7 +/* f17ce28: 0fc632d8 */ jal func0f18cb60 +/* f17ce2c: 8c84ee1c */ lw $a0,%lo(g_Menus+0xe1c)($a0) +/* f17ce30: 0fc63377 */ jal func0f18cddc +/* f17ce34: 00000000 */ nop +/* f17ce38: 1000003f */ b .L0f17cf38 +/* f17ce3c: 00001025 */ or $v0,$zero,$zero +.L0f17ce40: +/* f17ce40: 8f181448 */ lw $t8,%lo(g_MpPlayerNum)($t8) +/* f17ce44: 3c08800a */ lui $t0,%hi(g_Menus+0xe1c) +/* f17ce48: 3c02800b */ lui $v0,%hi(g_MpSimulants+0x48) +/* f17ce4c: 0018c8c0 */ sll $t9,$t8,0x3 +/* f17ce50: 0338c823 */ subu $t9,$t9,$t8 +/* f17ce54: 0019c880 */ sll $t9,$t9,0x2 +/* f17ce58: 0338c821 */ addu $t9,$t9,$t8 +/* f17ce5c: 0019c8c0 */ sll $t9,$t9,0x3 +/* f17ce60: 0338c823 */ subu $t9,$t9,$t8 +/* f17ce64: 0019c900 */ sll $t9,$t9,0x4 +/* f17ce68: 01194021 */ addu $t0,$t0,$t9 +/* f17ce6c: 8d08ee1c */ lw $t0,%lo(g_Menus+0xe1c)($t0) +/* f17ce70: 00084880 */ sll $t1,$t0,0x2 +/* f17ce74: 01284821 */ addu $t1,$t1,$t0 +/* f17ce78: 00094880 */ sll $t1,$t1,0x2 +/* f17ce7c: 01284823 */ subu $t1,$t1,$t0 +/* f17ce80: 00094880 */ sll $t1,$t1,0x2 +/* f17ce84: 00491021 */ addu $v0,$v0,$t1 +/* f17ce88: 9042c580 */ lbu $v0,%lo(g_MpSimulants+0x48)($v0) +/* f17ce8c: 04400005 */ bltz $v0,.L0f17cea4 +/* f17ce90: 28410006 */ slti $at,$v0,0x6 +/* f17ce94: 10200003 */ beqz $at,.L0f17cea4 +/* f17ce98: 00000000 */ nop +/* f17ce9c: 10000025 */ b .L0f17cf34 +/* f17cea0: ae820000 */ sw $v0,0x0($s4) +.L0f17cea4: +/* f17cea4: 10000023 */ b .L0f17cf34 +/* f17cea8: ae800000 */ sw $zero,0x0($s4) +.L0f17ceac: +/* f17ceac: 3c108008 */ lui $s0,%hi(g_MpSimulantTypes) +/* f17ceb0: 3c118008 */ lui $s1,%hi(g_MpSimulantTypes+0x30) +/* f17ceb4: 2631775c */ addiu $s1,$s1,%lo(g_MpSimulantTypes+0x30) +/* f17ceb8: 2610772c */ addiu $s0,$s0,%lo(g_MpSimulantTypes) +.L0f17cebc: +/* f17cebc: 0fc67244 */ jal mpIsFeatureUnlocked +/* f17cec0: 92040006 */ lbu $a0,0x6($s0) +/* f17cec4: 10400002 */ beqz $v0,.L0f17ced0 +/* f17cec8: 26100008 */ addiu $s0,$s0,0x8 +/* f17cecc: 26520001 */ addiu $s2,$s2,0x1 +.L0f17ced0: +/* f17ced0: 1611fffa */ bne $s0,$s1,.L0f17cebc +/* f17ced4: 00000000 */ nop +/* f17ced8: 10000016 */ b .L0f17cf34 +/* f17cedc: ae920000 */ sw $s2,0x0($s4) +.L0f17cee0: +/* f17cee0: 3c108008 */ lui $s0,%hi(g_MpSimulantTypes) +/* f17cee4: 2610772c */ addiu $s0,$s0,%lo(g_MpSimulantTypes) +/* f17cee8: 24130006 */ addiu $s3,$zero,0x6 +.L0f17ceec: +/* f17ceec: 0fc67244 */ jal mpIsFeatureUnlocked +/* f17cef0: 92040006 */ lbu $a0,0x6($s0) +/* f17cef4: 5040000a */ beqzl $v0,.L0f17cf20 +/* f17cef8: 26310001 */ addiu $s1,$s1,0x1 +/* f17cefc: 8e8a0000 */ lw $t2,0x0($s4) +/* f17cf00: 564a0006 */ bnel $s2,$t2,.L0f17cf1c +/* f17cf04: 26520001 */ addiu $s2,$s2,0x1 +/* f17cf08: 0fc5b9f1 */ jal langGet +/* f17cf0c: 26245852 */ addiu $a0,$s1,0x5815 +/* f17cf10: 1000000a */ b .L0f17cf3c +/* f17cf14: 8fbf002c */ lw $ra,0x2c($sp) +/* f17cf18: 26520001 */ addiu $s2,$s2,0x1 +.L0f17cf1c: +/* f17cf1c: 26310001 */ addiu $s1,$s1,0x1 +.L0f17cf20: +/* f17cf20: 1633fff2 */ bne $s1,$s3,.L0f17ceec +/* f17cf24: 26100008 */ addiu $s0,$s0,0x8 +/* f17cf28: 3c027f1c */ lui $v0,%hi(var7f1b8028) +/* f17cf2c: 10000002 */ b .L0f17cf38 +/* f17cf30: 24428028 */ addiu $v0,$v0,%lo(var7f1b8028) +.L0f17cf34: +/* f17cf34: 00001025 */ or $v0,$zero,$zero +.L0f17cf38: +/* f17cf38: 8fbf002c */ lw $ra,0x2c($sp) +.L0f17cf3c: +/* f17cf3c: 8fb00018 */ lw $s0,0x18($sp) +/* f17cf40: 8fb1001c */ lw $s1,0x1c($sp) +/* f17cf44: 8fb20020 */ lw $s2,0x20($sp) +/* f17cf48: 8fb30024 */ lw $s3,0x24($sp) +/* f17cf4c: 8fb40028 */ lw $s4,0x28($sp) +/* f17cf50: 03e00008 */ jr $ra +/* f17cf54: 27bd0030 */ addiu $sp,$sp,0x30 +); +#else GLOBAL_ASM( glabel menuhandlerMpSimulantDifficulty /* f17cda0: 27bdffd0 */ addiu $sp,$sp,-48 @@ -3382,6 +4006,7 @@ glabel menuhandlerMpSimulantDifficulty /* f17cf50: 03e00008 */ jr $ra /* f17cf54: 27bd0030 */ addiu $sp,$sp,0x30 ); +#endif s32 menuhandlerMpDeleteSimulant(s32 operation, struct menuitem *item, union handlerdata *data) { diff --git a/src/game/music.c b/src/game/music.c index eb73235bf..da8ed07a9 100644 --- a/src/game/music.c +++ b/src/game/music.c @@ -438,7 +438,7 @@ void func0f16dd14(void) } musicStartMpDeath(0); - var800840f0 = 1200; + var800840f0 = PALDOWN(1200); var800840dc = 1; func0f16d44c(); } @@ -535,8 +535,8 @@ void musicSetXReason(s32 reason, u32 arg1, u32 duration) { if (g_AudioXReasonsActive[reason] == false) { g_AudioXReasonsActive[reason] = true; - var800aaa78[reason] = arg1 * 240; - g_AudioXReasonDurations[reason] = duration * 240; + var800aaa78[reason] = arg1 * PALDOWN(240); + g_AudioXReasonDurations[reason] = duration * PALDOWN(240); } } diff --git a/src/game/nbomb.c b/src/game/nbomb.c index 1c67d50f1..caf3c3ff1 100644 --- a/src/game/nbomb.c +++ b/src/game/nbomb.c @@ -2774,9 +2774,9 @@ s32 nbombCalculateAlpha(struct nbomb *nbomb) { s32 alpha = 127; - if (nbomb->age240 > 310) { - if (nbomb->age240 < 350) { - alpha = (350 * 127 - nbomb->age240 * 127) / 40; + if (nbomb->age240 > PALDOWN(310)) { + if (nbomb->age240 < PALDOWN(350)) { + alpha = (PALDOWN(350) * 127 - nbomb->age240 * 127) / PALDOWN(40); } else { alpha = 0; } @@ -2903,6 +2903,228 @@ void func0f0099a4(void) } } +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel nbombInflictDamage +.late_rodata +glabel var7f1a7f20 +.word 0x3c23d70a +.text +/* f0099e4: 27bdfcf8 */ addiu $sp,$sp,-776 +/* f0099e8: afb50030 */ sw $s5,0x30($sp) +/* f0099ec: 3c15800a */ lui $s5,%hi(g_Vars) +/* f0099f0: 26b59fc0 */ addiu $s5,$s5,%lo(g_Vars) +/* f0099f4: 8eaf0034 */ lw $t7,0x34($s5) +/* f0099f8: afb20024 */ sw $s2,0x24($sp) +/* f0099fc: afb10020 */ sw $s1,0x20($sp) +/* f009a00: 240e001f */ addiu $t6,$zero,0x1f +/* f009a04: 00809025 */ or $s2,$a0,$zero +/* f009a08: afbf0034 */ sw $ra,0x34($sp) +/* f009a0c: afb4002c */ sw $s4,0x2c($sp) +/* f009a10: afb30028 */ sw $s3,0x28($sp) +/* f009a14: afb0001c */ sw $s0,0x1c($sp) +/* f009a18: 00008825 */ or $s1,$zero,$zero +/* f009a1c: a3ae0070 */ sb $t6,0x70($sp) +/* f009a20: 19e000b2 */ blez $t7,.L0f009cec +/* f009a24: a3a00073 */ sb $zero,0x73($sp) +/* f009a28: 8c98000c */ lw $t8,0xc($a0) +/* f009a2c: 2b01015f */ slti $at,$t8,0x124 +/* f009a30: 502000af */ beqzl $at,.L0f009cf0 +/* f009a34: 8fbf0034 */ lw $ra,0x34($sp) +/* f009a38: c4840000 */ lwc1 $f4,0x0($a0) +/* f009a3c: c4860010 */ lwc1 $f6,0x10($a0) +/* f009a40: 3c13800a */ lui $s3,%hi(g_Rooms) +/* f009a44: 26734928 */ addiu $s3,$s3,%lo(g_Rooms) +/* f009a48: 46062201 */ sub.s $f8,$f4,$f6 +/* f009a4c: 24100001 */ addiu $s0,$zero,0x1 +/* f009a50: 2403008c */ addiu $v1,$zero,0x8c +/* f009a54: 27b4007c */ addiu $s4,$sp,0x7c +/* f009a58: e7a800f4 */ swc1 $f8,0xf4($sp) +/* f009a5c: c4900010 */ lwc1 $f16,0x10($a0) +/* f009a60: c48a0004 */ lwc1 $f10,0x4($a0) +/* f009a64: 46105481 */ sub.s $f18,$f10,$f16 +/* f009a68: e7b200f8 */ swc1 $f18,0xf8($sp) +/* f009a6c: c4860010 */ lwc1 $f6,0x10($a0) +/* f009a70: c4840008 */ lwc1 $f4,0x8($a0) +/* f009a74: 46062201 */ sub.s $f8,$f4,$f6 +/* f009a78: e7a800fc */ swc1 $f8,0xfc($sp) +/* f009a7c: c4900010 */ lwc1 $f16,0x10($a0) +/* f009a80: c48a0000 */ lwc1 $f10,0x0($a0) +/* f009a84: 46105480 */ add.s $f18,$f10,$f16 +/* f009a88: e7b200e8 */ swc1 $f18,0xe8($sp) +/* f009a8c: c4860010 */ lwc1 $f6,0x10($a0) +/* f009a90: c4840004 */ lwc1 $f4,0x4($a0) +/* f009a94: 46062200 */ add.s $f8,$f4,$f6 +/* f009a98: e7a800ec */ swc1 $f8,0xec($sp) +/* f009a9c: c4900010 */ lwc1 $f16,0x10($a0) +/* f009aa0: c48a0008 */ lwc1 $f10,0x8($a0) +/* f009aa4: 8ea402bc */ lw $a0,0x2bc($s5) +/* f009aa8: 46105480 */ add.s $f18,$f10,$f16 +/* f009aac: 28810002 */ slti $at,$a0,0x2 +/* f009ab0: 14200038 */ bnez $at,.L0f009b94 +/* f009ab4: e7b200f0 */ swc1 $f18,0xf0($sp) +.L0f009ab8: +/* f009ab8: 8e790000 */ lw $t9,0x0($s3) +/* f009abc: c7a400e8 */ lwc1 $f4,0xe8($sp) +/* f009ac0: c7aa00f4 */ lwc1 $f10,0xf4($sp) +/* f009ac4: 03231021 */ addu $v0,$t9,$v1 +/* f009ac8: c4460018 */ lwc1 $f6,0x18($v0) +/* f009acc: 4606203c */ c.lt.s $f4,$f6 +/* f009ad0: 00000000 */ nop +/* f009ad4: 4503002c */ bc1tl .L0f009b88 +/* f009ad8: 26100001 */ addiu $s0,$s0,0x1 +/* f009adc: c4480024 */ lwc1 $f8,0x24($v0) +/* f009ae0: c7b000ec */ lwc1 $f16,0xec($sp) +/* f009ae4: 460a403c */ c.lt.s $f8,$f10 +/* f009ae8: 00000000 */ nop +/* f009aec: 45030026 */ bc1tl .L0f009b88 +/* f009af0: 26100001 */ addiu $s0,$s0,0x1 +/* f009af4: c452001c */ lwc1 $f18,0x1c($v0) +/* f009af8: c7a600f8 */ lwc1 $f6,0xf8($sp) +/* f009afc: 4612803c */ c.lt.s $f16,$f18 +/* f009b00: 00000000 */ nop +/* f009b04: 45030020 */ bc1tl .L0f009b88 +/* f009b08: 26100001 */ addiu $s0,$s0,0x1 +/* f009b0c: c4440028 */ lwc1 $f4,0x28($v0) +/* f009b10: c7a800f0 */ lwc1 $f8,0xf0($sp) +/* f009b14: 4606203c */ c.lt.s $f4,$f6 +/* f009b18: 00000000 */ nop +/* f009b1c: 4503001a */ bc1tl .L0f009b88 +/* f009b20: 26100001 */ addiu $s0,$s0,0x1 +/* f009b24: c44a0020 */ lwc1 $f10,0x20($v0) +/* f009b28: c7b200fc */ lwc1 $f18,0xfc($sp) +/* f009b2c: 460a403c */ c.lt.s $f8,$f10 +/* f009b30: 00000000 */ nop +/* f009b34: 45030014 */ bc1tl .L0f009b88 +/* f009b38: 26100001 */ addiu $s0,$s0,0x1 +/* f009b3c: c450002c */ lwc1 $f16,0x2c($v0) +/* f009b40: 2a210034 */ slti $at,$s1,0x34 +/* f009b44: 4612803c */ c.lt.s $f16,$f18 +/* f009b48: 00000000 */ nop +/* f009b4c: 4503000e */ bc1tl .L0f009b88 +/* f009b50: 26100001 */ addiu $s0,$s0,0x1 +/* f009b54: 1020000b */ beqz $at,.L0f009b84 +/* f009b58: 00114040 */ sll $t0,$s1,0x1 +/* f009b5c: 02884821 */ addu $t1,$s4,$t0 +/* f009b60: a5300000 */ sh $s0,0x0($t1) +/* f009b64: 26310001 */ addiu $s1,$s1,0x1 +/* f009b68: afa30040 */ sw $v1,0x40($sp) +/* f009b6c: 02002025 */ or $a0,$s0,$zero +/* f009b70: 2405ffda */ addiu $a1,$zero,-38 +/* f009b74: 0fc010e3 */ jal roomAdjustLighting +/* f009b78: 2406ff4c */ addiu $a2,$zero,-180 +/* f009b7c: 8fa30040 */ lw $v1,0x40($sp) +/* f009b80: 8ea402bc */ lw $a0,0x2bc($s5) +.L0f009b84: +/* f009b84: 26100001 */ addiu $s0,$s0,0x1 +.L0f009b88: +/* f009b88: 0204082a */ slt $at,$s0,$a0 +/* f009b8c: 1420ffca */ bnez $at,.L0f009ab8 +/* f009b90: 2463008c */ addiu $v1,$v1,0x8c +.L0f009b94: +/* f009b94: 27a4007c */ addiu $a0,$sp,0x7c +/* f009b98: 00115840 */ sll $t3,$s1,0x1 +/* f009b9c: 008b6021 */ addu $t4,$a0,$t3 +/* f009ba0: 240affff */ addiu $t2,$zero,-1 +/* f009ba4: 27b00100 */ addiu $s0,$sp,0x100 +/* f009ba8: a58a0000 */ sh $t2,0x0($t4) +/* f009bac: 02002825 */ or $a1,$s0,$zero +/* f009bb0: 0fc197e0 */ jal roomGetProps +/* f009bb4: 24060100 */ addiu $a2,$zero,0x100 +/* f009bb8: 87ad0100 */ lh $t5,0x100($sp) +/* f009bbc: 02009825 */ or $s3,$s0,$zero +/* f009bc0: 27ae0100 */ addiu $t6,$sp,0x100 +/* f009bc4: 05a00049 */ bltz $t5,.L0f009cec +/* f009bc8: 27b4004c */ addiu $s4,$sp,0x4c +/* f009bcc: 85c20000 */ lh $v0,0x0($t6) +/* f009bd0: 8eb80338 */ lw $t8,0x338($s5) +.L0f009bd4: +/* f009bd4: 000278c0 */ sll $t7,$v0,0x3 +/* f009bd8: 01e27821 */ addu $t7,$t7,$v0 +/* f009bdc: 000f78c0 */ sll $t7,$t7,0x3 +/* f009be0: 01f88821 */ addu $s1,$t7,$t8 +/* f009be4: 86390002 */ lh $t9,0x2($s1) +/* f009be8: 5720003d */ bnezl $t9,.L0f009ce0 +/* f009bec: 86620002 */ lh $v0,0x2($s3) +/* f009bf0: 92220000 */ lbu $v0,0x0($s1) +/* f009bf4: 24010003 */ addiu $at,$zero,0x3 +/* f009bf8: 10410003 */ beq $v0,$at,.L0f009c08 +/* f009bfc: 24010006 */ addiu $at,$zero,0x6 +/* f009c00: 54410037 */ bnel $v0,$at,.L0f009ce0 +/* f009c04: 86620002 */ lh $v0,0x2($s3) +.L0f009c08: +/* f009c08: c6240008 */ lwc1 $f4,0x8($s1) +/* f009c0c: c6460000 */ lwc1 $f6,0x0($s2) +/* f009c10: c628000c */ lwc1 $f8,0xc($s1) +/* f009c14: c64a0004 */ lwc1 $f10,0x4($s2) +/* f009c18: 46062001 */ sub.s $f0,$f4,$f6 +/* f009c1c: c6300010 */ lwc1 $f16,0x10($s1) +/* f009c20: c6520008 */ lwc1 $f18,0x8($s2) +/* f009c24: 460a4081 */ sub.s $f2,$f8,$f10 +/* f009c28: 46000102 */ mul.s $f4,$f0,$f0 +/* f009c2c: 46128381 */ sub.s $f14,$f16,$f18 +/* f009c30: 46021182 */ mul.s $f6,$f2,$f2 +/* f009c34: 46062200 */ add.s $f8,$f4,$f6 +/* f009c38: 460e7282 */ mul.s $f10,$f14,$f14 +/* f009c3c: 0c012974 */ jal sqrtf +/* f009c40: 460a4300 */ add.s $f12,$f8,$f10 +/* f009c44: c6500010 */ lwc1 $f16,0x10($s2) +/* f009c48: 4610003c */ c.lt.s $f0,$f16 +/* f009c4c: 00000000 */ nop +/* f009c50: 45020023 */ bc1fl .L0f009ce0 +/* f009c54: 86620002 */ lh $v0,0x2($s3) +/* f009c58: 8e300004 */ lw $s0,0x4($s1) +/* f009c5c: 3c088006 */ lui $t0,%hi(var800616e8) +/* f009c60: 250816e8 */ addiu $t0,$t0,%lo(var800616e8) +/* f009c64: 5200001e */ beqzl $s0,.L0f009ce0 +/* f009c68: 86620002 */ lh $v0,0x2($s3) +/* f009c6c: 8d010000 */ lw $at,0x0($t0) +/* f009c70: c6a4004c */ lwc1 $f4,0x4c($s5) +/* f009c74: 02002025 */ or $a0,$s0,$zero +/* f009c78: ae810000 */ sw $at,0x0($s4) +/* f009c7c: 8d0b0004 */ lw $t3,0x4($t0) +/* f009c80: 02803025 */ or $a2,$s4,$zero +/* f009c84: 27a70070 */ addiu $a3,$sp,0x70 +/* f009c88: ae8b0004 */ sw $t3,0x4($s4) +/* f009c8c: 8d010008 */ lw $at,0x8($t0) +/* f009c90: ae810008 */ sw $at,0x8($s4) +/* f009c94: 3c017f1a */ lui $at,%hi(var7f1a7f20) +/* f009c98: c4327f20 */ lwc1 $f18,%lo(var7f1a7f20)($at) +/* f009c9c: 8e4a001c */ lw $t2,0x1c($s2) +/* f009ca0: 46049002 */ mul.s $f0,$f18,$f4 +/* f009ca4: afaa0010 */ sw $t2,0x10($sp) +/* f009ca8: 44050000 */ mfc1 $a1,$f0 +/* f009cac: 0fc0d049 */ jal chrPoison +/* f009cb0: 00000000 */ nop +/* f009cb4: 8e0c0018 */ lw $t4,0x18($s0) +/* f009cb8: 8e0e0014 */ lw $t6,0x14($s0) +/* f009cbc: 3c010020 */ lui $at,0x20 +/* f009cc0: 01816825 */ or $t5,$t4,$at +/* f009cc4: 000e7880 */ sll $t7,$t6,0x2 +/* f009cc8: 05e10004 */ bgez $t7,.L0f009cdc +/* f009ccc: ae0d0018 */ sw $t5,0x18($s0) +/* f009cd0: 02002025 */ or $a0,$s0,$zero +/* f009cd4: 0fc08946 */ jal chrUncloak +/* f009cd8: 24050001 */ addiu $a1,$zero,0x1 +.L0f009cdc: +/* f009cdc: 86620002 */ lh $v0,0x2($s3) +.L0f009ce0: +/* f009ce0: 26730002 */ addiu $s3,$s3,0x2 +/* f009ce4: 0443ffbb */ bgezl $v0,.L0f009bd4 +/* f009ce8: 8eb80338 */ lw $t8,0x338($s5) +.L0f009cec: +/* f009cec: 8fbf0034 */ lw $ra,0x34($sp) +.L0f009cf0: +/* f009cf0: 8fb0001c */ lw $s0,0x1c($sp) +/* f009cf4: 8fb10020 */ lw $s1,0x20($sp) +/* f009cf8: 8fb20024 */ lw $s2,0x24($sp) +/* f009cfc: 8fb30028 */ lw $s3,0x28($sp) +/* f009d00: 8fb4002c */ lw $s4,0x2c($sp) +/* f009d04: 8fb50030 */ lw $s5,0x30($sp) +/* f009d08: 03e00008 */ jr $ra +/* f009d0c: 27bd0308 */ addiu $sp,$sp,0x308 +); +#else GLOBAL_ASM( glabel nbombInflictDamage .late_rodata @@ -3123,6 +3345,7 @@ glabel var7f1a7f20 /* f009d08: 03e00008 */ jr $ra /* f009d0c: 27bd0308 */ addiu $sp,$sp,0x308 ); +#endif // Mismatch: different usage of callee-save registers relating to room loop //void nbombInflictDamage(struct nbomb *nbomb) @@ -3229,18 +3452,17 @@ void nbombTick(struct nbomb *nbomb) nbomb->age240 += increment; - if (nbomb->age240 < 80) { - nbomb->radius = nbomb->age240 / 80.0f; - + if (nbomb->age240 < PALDOWN(80)) { + nbomb->radius = nbomb->age240 / (PAL ? 66.0f : 80.0f); nbomb->radius = sqrtf(sqrtf(nbomb->radius)); nbomb->unk18 = 0; } else { - nbomb->radius = sinf((nbomb->age240 - 80) * (PAL ? 0.062800005078316f : 0.0523333363235f)) * 0.05f + 1.0f; + nbomb->radius = sinf((nbomb->age240 - PALDOWN(80)) * (PAL ? 0.062800005078316f : 0.0523333363235f)) * 0.05f + 1.0f; // Return value is not used - could have been printed - sinf((nbomb->age240 - 80) * (PAL ? 0.062800005078316f : 0.0523333363235f)); + sinf((nbomb->age240 - PALDOWN(80)) * (PAL ? 0.062800005078316f : 0.0523333363235f)); - nbomb->unk18 = ((nbomb->age240 - 80) / (PAL ? 225.0f : 270.0f)) * 3.0f; + nbomb->unk18 = ((nbomb->age240 - PALDOWN(80)) / (PAL ? 225.0f : 270.0f)) * 3.0f; } nbomb->radius *= 500.0f; @@ -3261,7 +3483,7 @@ void nbombTick(struct nbomb *nbomb) nbomb->unk14 %= 0x800; - if (nbomb->age240 > 370) { + if (nbomb->age240 > (PAL ? 307 : 370)) { nbomb->age240 = -1; } } @@ -3291,7 +3513,7 @@ void nbombsTick(void) somevalue = 0; - if (youngest240 < 350) { + if (youngest240 < PALDOWN(350)) { if (g_Vars.lvupdate240 != 0) { if (g_NbombAudioHandle == 0) { audioStart(var80095200, SFX_SHIP_HUM, &g_NbombAudioHandle, -1, -1, -1, -1, -1); @@ -3302,11 +3524,11 @@ void nbombsTick(void) if (g_NbombAudioHandle) { f32 speed = func0f006b08(20) * 0.02f + 0.4f; - if (youngest240 > 300) { - somevalue = (1.0f - (f32)(youngest240 - 300) / 50.0f) * 32767.0f; + if (youngest240 > PALDOWN(300)) { + somevalue = (1.0f - (f32)(youngest240 - PALDOWN(300)) / (PAL ? 41.0f : 50.0f)) * 32767.0f; } - if (youngest240 >= 350) { + if (youngest240 >= PALDOWN(350)) { somevalue = 0; } @@ -3445,6 +3667,318 @@ f32 gasGetDoorFrac(s32 tagnum) return 0; } +#if PAL +GLOBAL_ASM( +glabel func0f00a490 +/* f00a490: 27bdff80 */ addiu $sp,$sp,-128 +/* f00a494: 3c02800a */ lui $v0,%hi(g_Vars+0x284) +/* f00a498: 8c42a244 */ lw $v0,%lo(g_Vars+0x284)($v0) +/* f00a49c: afbf0034 */ sw $ra,0x34($sp) +/* f00a4a0: afb30030 */ sw $s3,0x30($sp) +/* f00a4a4: afb2002c */ sw $s2,0x2c($sp) +/* f00a4a8: afb10028 */ sw $s1,0x28($sp) +/* f00a4ac: afb00024 */ sw $s0,0x24($sp) +/* f00a4b0: afa40080 */ sw $a0,0x80($sp) +/* f00a4b4: afa00050 */ sw $zero,0x50($sp) +/* f00a4b8: c4441bb0 */ lwc1 $f4,0x1bb0($v0) +/* f00a4bc: 3c10800a */ lui $s0,%hi(g_Nbombs) +/* f00a4c0: 3c11800a */ lui $s1,%hi(var8009cbf8) +/* f00a4c4: e7a40070 */ swc1 $f4,0x70($sp) +/* f00a4c8: c4461bb4 */ lwc1 $f6,0x1bb4($v0) +/* f00a4cc: 00009025 */ or $s2,$zero,$zero +/* f00a4d0: 00009825 */ or $s3,$zero,$zero +/* f00a4d4: e7a60074 */ swc1 $f6,0x74($sp) +/* f00a4d8: c4481bb8 */ lwc1 $f8,0x1bb8($v0) +/* f00a4dc: 2631cbf8 */ addiu $s1,$s1,%lo(var8009cbf8) +/* f00a4e0: 2610cb08 */ addiu $s0,$s0,%lo(g_Nbombs) +/* f00a4e4: e7a80078 */ swc1 $f8,0x78($sp) +/* f00a4e8: 8e02000c */ lw $v0,0xc($s0) +.L0f00a4ec: +/* f00a4ec: 0440001d */ bltz $v0,.L0f00a564 +/* f00a4f0: 2841015f */ slti $at,$v0,0x124 +/* f00a4f4: 1020001b */ beqz $at,.L0f00a564 +/* f00a4f8: c7aa0070 */ lwc1 $f10,0x70($sp) +/* f00a4fc: c6100000 */ lwc1 $f16,0x0($s0) +/* f00a500: c7b20074 */ lwc1 $f18,0x74($sp) +/* f00a504: c6040004 */ lwc1 $f4,0x4($s0) +/* f00a508: 46105001 */ sub.s $f0,$f10,$f16 +/* f00a50c: c7a60078 */ lwc1 $f6,0x78($sp) +/* f00a510: c6080008 */ lwc1 $f8,0x8($s0) +/* f00a514: 46049081 */ sub.s $f2,$f18,$f4 +/* f00a518: 46000282 */ mul.s $f10,$f0,$f0 +/* f00a51c: 46083381 */ sub.s $f14,$f6,$f8 +/* f00a520: 46021402 */ mul.s $f16,$f2,$f2 +/* f00a524: 46105480 */ add.s $f18,$f10,$f16 +/* f00a528: 460e7102 */ mul.s $f4,$f14,$f14 +/* f00a52c: 0c012974 */ jal sqrtf +/* f00a530: 46049300 */ add.s $f12,$f18,$f4 +/* f00a534: c6060010 */ lwc1 $f6,0x10($s0) +/* f00a538: 02002025 */ or $a0,$s0,$zero +/* f00a53c: 4606003c */ c.lt.s $f0,$f6 +/* f00a540: 00000000 */ nop +/* f00a544: 45020008 */ bc1fl .L0f00a568 +/* f00a548: 26100028 */ addiu $s0,$s0,0x28 +/* f00a54c: 0fc0252f */ jal nbombCalculateAlpha +/* f00a550: 24120001 */ addiu $s2,$zero,0x1 +/* f00a554: 0262082b */ sltu $at,$s3,$v0 +/* f00a558: 50200003 */ beqzl $at,.L0f00a568 +/* f00a55c: 26100028 */ addiu $s0,$s0,0x28 +/* f00a560: 00409825 */ or $s3,$v0,$zero +.L0f00a564: +/* f00a564: 26100028 */ addiu $s0,$s0,0x28 +.L0f00a568: +/* f00a568: 5611ffe0 */ bnel $s0,$s1,.L0f00a4ec +/* f00a56c: 8e02000c */ lw $v0,0xc($s0) +/* f00a570: 524000e6 */ beqzl $s2,.L0f00a90c +/* f00a574: 8fb80050 */ lw $t8,0x50($sp) +/* f00a578: 0fc59e73 */ jal gfxAllocateColours +/* f00a57c: 24040001 */ addiu $a0,$zero,0x1 +/* f00a580: afa20048 */ sw $v0,0x48($sp) +/* f00a584: 0fc59e59 */ jal gfxAllocateVertices +/* f00a588: 24040004 */ addiu $a0,$zero,0x4 +/* f00a58c: 0c002f40 */ jal viGetViewLeft +/* f00a590: 00408025 */ or $s0,$v0,$zero +/* f00a594: 00027080 */ sll $t6,$v0,0x2 +/* f00a598: 01c27021 */ addu $t6,$t6,$v0 +/* f00a59c: 000e7040 */ sll $t6,$t6,0x1 +/* f00a5a0: 0c002f44 */ jal viGetViewTop +/* f00a5a4: a7ae0042 */ sh $t6,0x42($sp) +/* f00a5a8: 00027880 */ sll $t7,$v0,0x2 +/* f00a5ac: 01e27821 */ addu $t7,$t7,$v0 +/* f00a5b0: 000f7840 */ sll $t7,$t7,0x1 +/* f00a5b4: 0c002f40 */ jal viGetViewLeft +/* f00a5b8: a7af0040 */ sh $t7,0x40($sp) +/* f00a5bc: 00028c00 */ sll $s1,$v0,0x10 +/* f00a5c0: 0011c403 */ sra $t8,$s1,0x10 +/* f00a5c4: 0c002f22 */ jal viGetViewWidth +/* f00a5c8: 03008825 */ or $s1,$t8,$zero +/* f00a5cc: 00515821 */ addu $t3,$v0,$s1 +/* f00a5d0: 000b6080 */ sll $t4,$t3,0x2 +/* f00a5d4: 018b6021 */ addu $t4,$t4,$t3 +/* f00a5d8: 000c6040 */ sll $t4,$t4,0x1 +/* f00a5dc: 0c002f44 */ jal viGetViewTop +/* f00a5e0: a7ac003e */ sh $t4,0x3e($sp) +/* f00a5e4: 00028c00 */ sll $s1,$v0,0x10 +/* f00a5e8: 00116c03 */ sra $t5,$s1,0x10 +/* f00a5ec: 0c002f26 */ jal viGetViewHeight +/* f00a5f0: 01a08825 */ or $s1,$t5,$zero +/* f00a5f4: 3c014100 */ lui $at,0x4100 +/* f00a5f8: 44811000 */ mtc1 $at,$f2 +/* f00a5fc: 3c014300 */ lui $at,0x4300 +/* f00a600: 44816000 */ mtc1 $at,$f12 +/* f00a604: 3c014200 */ lui $at,0x4200 +/* f00a608: 44817000 */ mtc1 $at,$f14 +/* f00a60c: 3c018006 */ lui $at,%hi(var80061630) +/* f00a610: c4201630 */ lwc1 $f0,%lo(var80061630)($at) +/* f00a614: c7a40074 */ lwc1 $f4,0x74($sp) +/* f00a618: 00514821 */ addu $t1,$v0,$s1 +/* f00a61c: 46001202 */ mul.s $f8,$f2,$f0 +/* f00a620: 00097400 */ sll $t6,$t1,0x10 +/* f00a624: 000e7c03 */ sra $t7,$t6,0x10 +/* f00a628: 000fc080 */ sll $t8,$t7,0x2 +/* f00a62c: 030fc021 */ addu $t8,$t8,$t7 +/* f00a630: 0018c040 */ sll $t8,$t8,0x1 +/* f00a634: 0018cc00 */ sll $t9,$t8,0x10 +/* f00a638: 460c4282 */ mul.s $f10,$f8,$f12 +/* f00a63c: 00195403 */ sra $t2,$t9,0x10 +/* f00a640: 01404825 */ or $t1,$t2,$zero +/* f00a644: 240a0001 */ addiu $t2,$zero,0x1 +/* f00a648: afaa0050 */ sw $t2,0x50($sp) +/* f00a64c: a7a9003c */ sh $t1,0x3c($sp) +/* f00a650: 8fa40080 */ lw $a0,0x80($sp) +/* f00a654: 460e5402 */ mul.s $f16,$f10,$f14 +/* f00a658: 46000280 */ add.s $f10,$f0,$f0 +/* f00a65c: 46022182 */ mul.s $f6,$f4,$f2 +/* f00a660: 4600848d */ trunc.w.s $f18,$f16 +/* f00a664: 460c5402 */ mul.s $f16,$f10,$f12 +/* f00a668: 44129000 */ mfc1 $s2,$f18 +/* f00a66c: 4600320d */ trunc.w.s $f8,$f6 +/* f00a670: 460e8482 */ mul.s $f18,$f16,$f14 +/* f00a674: 06410004 */ bgez $s2,.L0f00a688 +/* f00a678: 324c07ff */ andi $t4,$s2,0x7ff +/* f00a67c: 11800002 */ beqz $t4,.L0f00a688 +/* f00a680: 00000000 */ nop +/* f00a684: 258cf800 */ addiu $t4,$t4,-2048 +.L0f00a688: +/* f00a688: 4600910d */ trunc.w.s $f4,$f18 +/* f00a68c: 44184000 */ mfc1 $t8,$f8 +/* f00a690: 000c6c00 */ sll $t5,$t4,0x10 +/* f00a694: 000d7403 */ sra $t6,$t5,0x10 +/* f00a698: 440f2000 */ mfc1 $t7,$f4 +/* f00a69c: 01c09025 */ or $s2,$t6,$zero +/* f00a6a0: 07010004 */ bgez $t8,.L0f00a6b4 +/* f00a6a4: 331907ff */ andi $t9,$t8,0x7ff +/* f00a6a8: 13200002 */ beqz $t9,.L0f00a6b4 +/* f00a6ac: 00000000 */ nop +/* f00a6b0: 2739f800 */ addiu $t9,$t9,-2048 +.L0f00a6b4: +/* f00a6b4: 03205825 */ or $t3,$t9,$zero +/* f00a6b8: 016fc821 */ addu $t9,$t3,$t7 +/* f00a6bc: 0fc351e7 */ jal func0f0d479c +/* f00a6c0: a7b9005e */ sh $t9,0x5e($sp) +/* f00a6c4: 3c05800b */ lui $a1,%hi(var800ab5a8) +/* f00a6c8: 87a8005e */ lh $t0,0x5e($sp) +/* f00a6cc: 87a9003c */ lh $t1,0x3c($sp) +/* f00a6d0: 8ca5b5a8 */ lw $a1,%lo(var800ab5a8)($a1) +/* f00a6d4: 240c0002 */ addiu $t4,$zero,0x2 +/* f00a6d8: 240d0001 */ addiu $t5,$zero,0x1 +/* f00a6dc: afa20080 */ sw $v0,0x80($sp) +/* f00a6e0: afad0014 */ sw $t5,0x14($sp) +/* f00a6e4: afac0010 */ sw $t4,0x10($sp) +/* f00a6e8: 27a40080 */ addiu $a0,$sp,0x80 +/* f00a6ec: 24060002 */ addiu $a2,$zero,0x2 +/* f00a6f0: 24070001 */ addiu $a3,$zero,0x1 +/* f00a6f4: afa00018 */ sw $zero,0x18($sp) +/* f00a6f8: a7a8005e */ sh $t0,0x5e($sp) +/* f00a6fc: a7a9003c */ sh $t1,0x3c($sp) +/* f00a700: 0fc2ce70 */ jal func0f0b39c0 +/* f00a704: 24a50078 */ addiu $a1,$a1,0x0078 +/* f00a708: 8fae0080 */ lw $t6,0x80($sp) +/* f00a70c: 87a8005e */ lh $t0,0x5e($sp) +/* f00a710: 87a9003c */ lh $t1,0x3c($sp) +/* f00a714: 25cb0008 */ addiu $t3,$t6,0x8 +/* f00a718: afab0080 */ sw $t3,0x80($sp) +/* f00a71c: 3c0fe700 */ lui $t7,0xe700 +/* f00a720: adcf0000 */ sw $t7,0x0($t6) +/* f00a724: adc00004 */ sw $zero,0x4($t6) +/* f00a728: 8fb80080 */ lw $t8,0x80($sp) +/* f00a72c: 3c0aba00 */ lui $t2,0xba00 +/* f00a730: 354a1402 */ ori $t2,$t2,0x1402 +/* f00a734: 27190008 */ addiu $t9,$t8,0x8 +/* f00a738: afb90080 */ sw $t9,0x80($sp) +/* f00a73c: af000004 */ sw $zero,0x4($t8) +/* f00a740: af0a0000 */ sw $t2,0x0($t8) +/* f00a744: 8fac0080 */ lw $t4,0x80($sp) +/* f00a748: 3c0eb900 */ lui $t6,0xb900 +/* f00a74c: 35ce0002 */ ori $t6,$t6,0x2 +/* f00a750: 258d0008 */ addiu $t5,$t4,0x8 +/* f00a754: afad0080 */ sw $t5,0x80($sp) +/* f00a758: ad800004 */ sw $zero,0x4($t4) +/* f00a75c: ad8e0000 */ sw $t6,0x0($t4) +/* f00a760: 8fab0080 */ lw $t3,0x80($sp) +/* f00a764: 3c18fc12 */ lui $t8,0xfc12 +/* f00a768: 3c19ff33 */ lui $t9,0xff33 +/* f00a76c: 256f0008 */ addiu $t7,$t3,0x8 +/* f00a770: afaf0080 */ sw $t7,0x80($sp) +/* f00a774: 3739ffff */ ori $t9,$t9,0xffff +/* f00a778: 37181824 */ ori $t8,$t8,0x1824 +/* f00a77c: ad780000 */ sw $t8,0x0($t3) +/* f00a780: ad790004 */ sw $t9,0x4($t3) +/* f00a784: 8faa0080 */ lw $t2,0x80($sp) +/* f00a788: 240e3000 */ addiu $t6,$zero,0x3000 +/* f00a78c: 3c0db600 */ lui $t5,0xb600 +/* f00a790: 254c0008 */ addiu $t4,$t2,0x8 +/* f00a794: afac0080 */ sw $t4,0x80($sp) +/* f00a798: ad4e0004 */ sw $t6,0x4($t2) +/* f00a79c: ad4d0000 */ sw $t5,0x0($t2) +/* f00a7a0: 8fab0080 */ lw $t3,0x80($sp) +/* f00a7a4: 87a70040 */ lh $a3,0x40($sp) +/* f00a7a8: 87a60042 */ lh $a2,0x42($sp) +/* f00a7ac: 256f0008 */ addiu $t7,$t3,0x8 +/* f00a7b0: afaf0080 */ sw $t7,0x80($sp) +/* f00a7b4: 3c18ba00 */ lui $t8,0xba00 +/* f00a7b8: 37180602 */ ori $t8,$t8,0x602 +/* f00a7bc: 241900c0 */ addiu $t9,$zero,0xc0 +/* f00a7c0: ad790004 */ sw $t9,0x4($t3) +/* f00a7c4: ad780000 */ sw $t8,0x0($t3) +/* f00a7c8: 8faa0080 */ lw $t2,0x80($sp) +/* f00a7cc: 3c0dba00 */ lui $t5,0xba00 +/* f00a7d0: 35ad0c02 */ ori $t5,$t5,0xc02 +/* f00a7d4: 254c0008 */ addiu $t4,$t2,0x8 +/* f00a7d8: afac0080 */ sw $t4,0x80($sp) +/* f00a7dc: 240e2000 */ addiu $t6,$zero,0x2000 +/* f00a7e0: ad4e0004 */ sw $t6,0x4($t2) +/* f00a7e4: ad4d0000 */ sw $t5,0x0($t2) +/* f00a7e8: 8fab0080 */ lw $t3,0x80($sp) +/* f00a7ec: 3c18b900 */ lui $t8,0xb900 +/* f00a7f0: 3c190050 */ lui $t9,0x50 +/* f00a7f4: 256f0008 */ addiu $t7,$t3,0x8 +/* f00a7f8: afaf0080 */ sw $t7,0x80($sp) +/* f00a7fc: 37394a50 */ ori $t9,$t9,0x4a50 +/* f00a800: 3718031d */ ori $t8,$t8,0x31d +/* f00a804: ad780000 */ sw $t8,0x0($t3) +/* f00a808: ad790004 */ sw $t9,0x4($t3) +/* f00a80c: 8faa0080 */ lw $t2,0x80($sp) +/* f00a810: 3c0dba00 */ lui $t5,0xba00 +/* f00a814: 35ad1301 */ ori $t5,$t5,0x1301 +/* f00a818: 254c0008 */ addiu $t4,$t2,0x8 +/* f00a81c: afac0080 */ sw $t4,0x80($sp) +/* f00a820: 3c0e0008 */ lui $t6,0x8 +/* f00a824: ad4e0004 */ sw $t6,0x4($t2) +/* f00a828: ad4d0000 */ sw $t5,0x0($t2) +/* f00a82c: a6070002 */ sh $a3,0x2($s0) +/* f00a830: a6060000 */ sh $a2,0x0($s0) +/* f00a834: 87a3003e */ lh $v1,0x3e($sp) +/* f00a838: 2402fff6 */ addiu $v0,$zero,-10 +/* f00a83c: a6020004 */ sh $v0,0x4($s0) +/* f00a840: a6020010 */ sh $v0,0x10($s0) +/* f00a844: a602001c */ sh $v0,0x1c($s0) +/* f00a848: a6020028 */ sh $v0,0x28($s0) +/* f00a84c: a6120008 */ sh $s2,0x8($s0) +/* f00a850: a608000a */ sh $t0,0xa($s0) +/* f00a854: a609001a */ sh $t1,0x1a($s0) +/* f00a858: a6090026 */ sh $t1,0x26($s0) +/* f00a85c: a607000e */ sh $a3,0xe($s0) +/* f00a860: a6060024 */ sh $a2,0x24($s0) +/* f00a864: a603000c */ sh $v1,0xc($s0) +/* f00a868: a6030018 */ sh $v1,0x18($s0) +/* f00a86c: 8fa40048 */ lw $a0,0x48($sp) +/* f00a870: 264200a0 */ addiu $v0,$s2,0xa0 +/* f00a874: 250303c0 */ addiu $v1,$t0,0x3c0 +/* f00a878: a6020014 */ sh $v0,0x14($s0) +/* f00a87c: a6020020 */ sh $v0,0x20($s0) +/* f00a880: a6030022 */ sh $v1,0x22($s0) +/* f00a884: a612002c */ sh $s2,0x2c($s0) +/* f00a888: a603002e */ sh $v1,0x2e($s0) +/* f00a88c: a2000007 */ sb $zero,0x7($s0) +/* f00a890: a2000013 */ sb $zero,0x13($s0) +/* f00a894: a200001f */ sb $zero,0x1f($s0) +/* f00a898: a200002b */ sb $zero,0x2b($s0) +/* f00a89c: a6080016 */ sh $t0,0x16($s0) +/* f00a8a0: ac930000 */ sw $s3,0x0($a0) +/* f00a8a4: 8fb10080 */ lw $s1,0x80($sp) +/* f00a8a8: 3c180700 */ lui $t8,0x700 +/* f00a8ac: 37180004 */ ori $t8,$t8,0x4 +/* f00a8b0: 262f0008 */ addiu $t7,$s1,0x8 +/* f00a8b4: afaf0080 */ sw $t7,0x80($sp) +/* f00a8b8: 0c012d20 */ jal osVirtualToPhysical +/* f00a8bc: ae380000 */ sw $t8,0x0($s1) +/* f00a8c0: ae220004 */ sw $v0,0x4($s1) +/* f00a8c4: 8fb20080 */ lw $s2,0x80($sp) +/* f00a8c8: 3c0c0430 */ lui $t4,0x430 +/* f00a8cc: 358c0030 */ ori $t4,$t4,0x30 +/* f00a8d0: 264a0008 */ addiu $t2,$s2,0x8 +/* f00a8d4: afaa0080 */ sw $t2,0x80($sp) +/* f00a8d8: 02002025 */ or $a0,$s0,$zero +/* f00a8dc: 0c012d20 */ jal osVirtualToPhysical +/* f00a8e0: ae4c0000 */ sw $t4,0x0($s2) +/* f00a8e4: ae420004 */ sw $v0,0x4($s2) +/* f00a8e8: 8fad0080 */ lw $t5,0x80($sp) +/* f00a8ec: 3c0bb100 */ lui $t3,0xb100 +/* f00a8f0: 356b0002 */ ori $t3,$t3,0x2 +/* f00a8f4: 25ae0008 */ addiu $t6,$t5,0x8 +/* f00a8f8: afae0080 */ sw $t6,0x80($sp) +/* f00a8fc: 240f3210 */ addiu $t7,$zero,0x3210 +/* f00a900: adaf0004 */ sw $t7,0x4($t5) +/* f00a904: adab0000 */ sw $t3,0x0($t5) +/* f00a908: 8fb80050 */ lw $t8,0x50($sp) +.L0f00a90c: +/* f00a90c: 53000005 */ beqzl $t8,.L0f00a924 +/* f00a910: 8fbf0034 */ lw $ra,0x34($sp) +/* f00a914: 0fc35272 */ jal func0f0d49c8 +/* f00a918: 8fa40080 */ lw $a0,0x80($sp) +/* f00a91c: afa20080 */ sw $v0,0x80($sp) +/* f00a920: 8fbf0034 */ lw $ra,0x34($sp) +.L0f00a924: +/* f00a924: 8fa20080 */ lw $v0,0x80($sp) +/* f00a928: 8fb00024 */ lw $s0,0x24($sp) +/* f00a92c: 8fb10028 */ lw $s1,0x28($sp) +/* f00a930: 8fb2002c */ lw $s2,0x2c($sp) +/* f00a934: 8fb30030 */ lw $s3,0x30($sp) +/* f00a938: 03e00008 */ jr $ra +/* f00a93c: 27bd0080 */ addiu $sp,$sp,0x80 +); +#else GLOBAL_ASM( glabel func0f00a490 /* f00a490: 27bdff80 */ addiu $sp,$sp,-128 @@ -3755,6 +4289,7 @@ glabel func0f00a490 /* f00a938: 03e00008 */ jr $ra /* f00a93c: 27bd0080 */ addiu $sp,$sp,0x80 ); +#endif GLOBAL_ASM( glabel gasRender diff --git a/src/game/pak/pak.c b/src/game/pak/pak.c index 13561fdc4..13d607caf 100644 --- a/src/game/pak/pak.c +++ b/src/game/pak/pak.c @@ -5205,7 +5205,7 @@ glabel func0f11a8f4 /* f11a9d8: afa20014 */ sw $v0,0x14($sp) /* f11a9dc: afa20030 */ sw $v0,0x30($sp) /* f11a9e0: 24e75cf8 */ addiu $a3,$a3,%lo(g_PakNoteGameName) -/* f11a9e4: 34c64445 */ ori $a2,$a2,0x4445 +/* f11a9e4: 34c64445 */ ori $a2,$a2,_gamecode /* f11a9e8: 0fc45f96 */ jal func0f117e58 /* f11a9ec: afaf0010 */ sw $t7,0x10($sp) /* f11a9f0: 0c005451 */ jal func00015144 @@ -5256,7 +5256,7 @@ glabel func0f11a8f4 /* f11aa98: 3c064e50 */ lui $a2,0x4e50 /* f11aa9c: 3c078007 */ lui $a3,%hi(g_PakNoteGameName) /* f11aaa0: 24e75cf8 */ addiu $a3,$a3,%lo(g_PakNoteGameName) -/* f11aaa4: 34c64445 */ ori $a2,$a2,0x4445 +/* f11aaa4: 34c64445 */ ori $a2,$a2,_gamecode /* f11aaa8: afae0010 */ sw $t6,0x10($sp) /* f11aaac: afaf0014 */ sw $t7,0x14($sp) /* f11aab0: 0fc45f64 */ jal func0f117d90 @@ -5455,7 +5455,7 @@ glabel func0f11a8f4 /* f11a758: afa20014 */ sw $v0,0x14($sp) /* f11a75c: afa20034 */ sw $v0,0x34($sp) /* f11a760: 24e75cf8 */ addiu $a3,$a3,%lo(g_PakNoteGameName) -/* f11a764: 34c64445 */ ori $a2,$a2,0x4445 +/* f11a764: 34c64445 */ ori $a2,$a2,_gamecode /* f11a768: 0fc45f76 */ jal 0xf117dd8 /* f11a76c: afaf0010 */ sw $t7,0x10($sp) /* f11a770: 0c005451 */ jal 0x15144 @@ -5506,7 +5506,7 @@ glabel func0f11a8f4 /* f11a818: 3c064e50 */ lui $a2,0x4e50 /* f11a81c: 3c078007 */ lui $a3,%hi(g_PakNoteGameName) /* f11a820: 24e75cf8 */ addiu $a3,$a3,%lo(g_PakNoteGameName) -/* f11a824: 34c64445 */ ori $a2,$a2,0x4445 +/* f11a824: 34c64445 */ ori $a2,$a2,_gamecode /* f11a828: afae0010 */ sw $t6,0x10($sp) /* f11a82c: afaf0014 */ sw $t7,0x14($sp) /* f11a830: 0fc45f44 */ jal 0xf117d10 diff --git a/src/game/prop.c b/src/game/prop.c index 8cb2dbd85..601896831 100644 --- a/src/game/prop.c +++ b/src/game/prop.c @@ -2496,7 +2496,7 @@ void func0f062b64(struct prop *prop, s32 arg1) && prop->obj && (prop->obj->hidden2 & OBJH2FLAG_04)) { struct defaultobj *obj = prop->obj; - prop->timetoregen = 1200; + prop->timetoregen = PALDOWN(1200); obj->damage = 0; obj->hidden |= OBJHFLAG_00000800; diff --git a/src/game/propobj.c b/src/game/propobj.c index 67766481f..1fd8c42b9 100644 --- a/src/game/propobj.c +++ b/src/game/propobj.c @@ -6545,6 +6545,114 @@ glabel func0f06b39c /* f06b484: 27bd0018 */ addiu $sp,$sp,0x18 ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f06b488 +/* f06b488: 27bdffb8 */ addiu $sp,$sp,-72 +/* f06b48c: afa40048 */ sw $a0,0x48($sp) +/* f06b490: afa5004c */ sw $a1,0x4c($sp) +/* f06b494: 00a02025 */ or $a0,$a1,$zero +/* f06b498: afbf001c */ sw $ra,0x1c($sp) +/* f06b49c: afb00018 */ sw $s0,0x18($sp) +/* f06b4a0: afa60050 */ sw $a2,0x50($sp) +/* f06b4a4: 00c02825 */ or $a1,$a2,$zero +/* f06b4a8: 00e08025 */ or $s0,$a3,$zero +/* f06b4ac: 0c00b7b6 */ jal func0002ded8 +/* f06b4b0: 8fa60048 */ lw $a2,0x48($sp) +/* f06b4b4: 14400050 */ bnez $v0,.L0f06b5f8 +/* f06b4b8: 27a4003c */ addiu $a0,$sp,0x3c +/* f06b4bc: 3c077f1b */ lui $a3,%hi(var7f1a9f7c) +/* f06b4c0: 24e79f7c */ addiu $a3,$a3,%lo(var7f1a9f7c) +/* f06b4c4: 27a50030 */ addiu $a1,$sp,0x30 +/* f06b4c8: 0c009393 */ jal func00024e4c +/* f06b4cc: 24060b5d */ addiu $a2,$zero,0xb5e +/* f06b4d0: 3c067f1b */ lui $a2,%hi(var7f1a9f88) +/* f06b4d4: 24c69f88 */ addiu $a2,$a2,%lo(var7f1a9f88) +/* f06b4d8: 27a40020 */ addiu $a0,$sp,0x20 +/* f06b4dc: 0c0093af */ jal cdGetPos +/* f06b4e0: 24050b5e */ addiu $a1,$zero,0xb5f +/* f06b4e4: 8fa2004c */ lw $v0,0x4c($sp) +/* f06b4e8: c7a40020 */ lwc1 $f4,0x20($sp) +/* f06b4ec: c60a0000 */ lwc1 $f10,0x0($s0) +/* f06b4f0: c4460000 */ lwc1 $f6,0x0($v0) +/* f06b4f4: c7b20024 */ lwc1 $f18,0x24($sp) +/* f06b4f8: 8fa30060 */ lw $v1,0x60($sp) +/* f06b4fc: 46062201 */ sub.s $f8,$f4,$f6 +/* f06b500: c4440004 */ lwc1 $f4,0x4($v0) +/* f06b504: 8fa4005c */ lw $a0,0x5c($sp) +/* f06b508: 460a4402 */ mul.s $f16,$f8,$f10 +/* f06b50c: 46049181 */ sub.s $f6,$f18,$f4 +/* f06b510: c6080004 */ lwc1 $f8,0x4($s0) +/* f06b514: c7a40028 */ lwc1 $f4,0x28($sp) +/* f06b518: 46083282 */ mul.s $f10,$f6,$f8 +/* f06b51c: c4460008 */ lwc1 $f6,0x8($v0) +/* f06b520: 8fa20058 */ lw $v0,0x58($sp) +/* f06b524: 46062201 */ sub.s $f8,$f4,$f6 +/* f06b528: c4640000 */ lwc1 $f4,0x0($v1) +/* f06b52c: 460a8480 */ add.s $f18,$f16,$f10 +/* f06b530: c6100008 */ lwc1 $f16,0x8($s0) +/* f06b534: 46088282 */ mul.s $f10,$f16,$f8 +/* f06b538: 46125000 */ add.s $f0,$f10,$f18 +/* f06b53c: 4604003c */ c.lt.s $f0,$f4 +/* f06b540: 00000000 */ nop +/* f06b544: 4502002d */ bc1fl .L0f06b5fc +/* f06b548: 00001025 */ or $v0,$zero,$zero +/* f06b54c: e4600000 */ swc1 $f0,0x0($v1) +/* f06b550: c7a60020 */ lwc1 $f6,0x20($sp) +/* f06b554: 44801000 */ mtc1 $zero,$f2 +/* f06b558: 24850004 */ addiu $a1,$a0,0x4 +/* f06b55c: e4460000 */ swc1 $f6,0x0($v0) +/* f06b560: c7b00024 */ lwc1 $f16,0x24($sp) +/* f06b564: e4500004 */ swc1 $f16,0x4($v0) +/* f06b568: c7a80028 */ lwc1 $f8,0x28($sp) +/* f06b56c: e4480008 */ swc1 $f8,0x8($v0) +/* f06b570: c60a0000 */ lwc1 $f10,0x0($s0) +/* f06b574: e4820004 */ swc1 $f2,0x4($a0) +/* f06b578: 46005487 */ neg.s $f18,$f10 +/* f06b57c: e4920000 */ swc1 $f18,0x0($a0) +/* f06b580: c4900000 */ lwc1 $f16,0x0($a0) +/* f06b584: c6040008 */ lwc1 $f4,0x8($s0) +/* f06b588: 46101032 */ c.eq.s $f2,$f16 +/* f06b58c: 46002187 */ neg.s $f6,$f4 +/* f06b590: 45000007 */ bc1f .L0f06b5b0 +/* f06b594: e4860008 */ swc1 $f6,0x8($a0) +/* f06b598: c4880008 */ lwc1 $f8,0x8($a0) +/* f06b59c: 3c013f80 */ lui $at,0x3f80 +/* f06b5a0: 46081032 */ c.eq.s $f2,$f8 +/* f06b5a4: 00000000 */ nop +/* f06b5a8: 45030006 */ bc1tl .L0f06b5c4 +/* f06b5ac: 44815000 */ mtc1 $at,$f10 +.L0f06b5b0: +/* f06b5b0: 0c0011e4 */ jal guNormalize +/* f06b5b4: 24860008 */ addiu $a2,$a0,0x8 +/* f06b5b8: 10000005 */ b .L0f06b5d0 +/* f06b5bc: 8fae0048 */ lw $t6,0x48($sp) +/* f06b5c0: 44815000 */ mtc1 $at,$f10 +.L0f06b5c4: +/* f06b5c4: 00000000 */ nop +/* f06b5c8: e48a0008 */ swc1 $f10,0x8($a0) +/* f06b5cc: 8fae0048 */ lw $t6,0x48($sp) +.L0f06b5d0: +/* f06b5d0: 3c018007 */ lui $at,%hi(var80069930) +/* f06b5d4: 24020001 */ addiu $v0,$zero,0x1 +/* f06b5d8: ac2e9930 */ sw $t6,%lo(var80069930)($at) +/* f06b5dc: 3c018007 */ lui $at,%hi(var80069934) +/* f06b5e0: ac209934 */ sw $zero,%lo(var80069934)($at) +/* f06b5e4: 3c01800a */ lui $at,%hi(var8009ce70) +/* f06b5e8: ac20ce70 */ sw $zero,%lo(var8009ce70)($at) +/* f06b5ec: 3c01800a */ lui $at,%hi(var8009ce74) +/* f06b5f0: 10000002 */ b .L0f06b5fc +/* f06b5f4: ac20ce74 */ sw $zero,%lo(var8009ce74)($at) +.L0f06b5f8: +/* f06b5f8: 00001025 */ or $v0,$zero,$zero +.L0f06b5fc: +/* f06b5fc: 8fbf001c */ lw $ra,0x1c($sp) +/* f06b600: 8fb00018 */ lw $s0,0x18($sp) +/* f06b604: 27bd0048 */ addiu $sp,$sp,0x48 +/* f06b608: 03e00008 */ jr $ra +/* f06b60c: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f06b488 /* f06b488: 27bdffb8 */ addiu $sp,$sp,-72 @@ -6651,6 +6759,7 @@ glabel func0f06b488 /* f06b608: 03e00008 */ jr $ra /* f06b60c: 00000000 */ nop ); +#endif GLOBAL_ASM( glabel func0f06b610 @@ -8271,6 +8380,454 @@ glabel func0f06c8ac /* f06ccfc: 27bd02b8 */ addiu $sp,$sp,0x2b8 ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f06cd00 +.late_rodata +glabel var7f1aa268 +.word 0x3dcccccd +.text +/* f06cd00: 27bdfdf8 */ addiu $sp,$sp,-520 +/* f06cd04: 3c02800a */ lui $v0,%hi(g_Vars) +/* f06cd08: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars) +/* f06cd0c: 8c4f0318 */ lw $t7,0x318($v0) +/* f06cd10: afbf0074 */ sw $ra,0x74($sp) +/* f06cd14: afb70070 */ sw $s7,0x70($sp) +/* f06cd18: afb6006c */ sw $s6,0x6c($sp) +/* f06cd1c: afb50068 */ sw $s5,0x68($sp) +/* f06cd20: afb40064 */ sw $s4,0x64($sp) +/* f06cd24: afb30060 */ sw $s3,0x60($sp) +/* f06cd28: afb2005c */ sw $s2,0x5c($sp) +/* f06cd2c: afb10058 */ sw $s1,0x58($sp) +/* f06cd30: afb00054 */ sw $s0,0x54($sp) +/* f06cd34: f7b60048 */ sdc1 $f22,0x48($sp) +/* f06cd38: f7b40040 */ sdc1 $f20,0x40($sp) +/* f06cd3c: afa60210 */ sw $a2,0x210($sp) +/* f06cd40: 8c920014 */ lw $s2,0x14($a0) +/* f06cd44: 240e0001 */ addiu $t6,$zero,0x1 +/* f06cd48: 00a08025 */ or $s0,$a1,$zero +/* f06cd4c: 00e0a025 */ or $s4,$a3,$zero +/* f06cd50: 0080b825 */ or $s7,$a0,$zero +/* f06cd54: 11e00003 */ beqz $t7,.L0f06cd64 +/* f06cd58: afae0200 */ sw $t6,0x200($sp) +/* f06cd5c: 24180001 */ addiu $t8,$zero,0x1 +/* f06cd60: ac58048c */ sw $t8,0x48c($v0) +.L0f06cd64: +/* f06cd64: 3c018007 */ lui $at,%hi(var80069930) +/* f06cd68: ac209930 */ sw $zero,%lo(var80069930)($at) +/* f06cd6c: 3c018007 */ lui $at,%hi(var80069944) +/* f06cd70: ac209944 */ sw $zero,%lo(var80069944)($at) +/* f06cd74: c6040000 */ lwc1 $f4,0x0($s0) +/* f06cd78: e7a401c4 */ swc1 $f4,0x1c4($sp) +/* f06cd7c: c6060004 */ lwc1 $f6,0x4($s0) +/* f06cd80: e7a601c8 */ swc1 $f6,0x1c8($sp) +/* f06cd84: c6080008 */ lwc1 $f8,0x8($s0) +/* f06cd88: e7a801cc */ swc1 $f8,0x1cc($sp) +/* f06cd8c: c6500008 */ lwc1 $f16,0x8($s2) +/* f06cd90: c60a0000 */ lwc1 $f10,0x0($s0) +/* f06cd94: 46105032 */ c.eq.s $f10,$f16 +/* f06cd98: 00000000 */ nop +/* f06cd9c: 4502000e */ bc1fl .L0f06cdd8 +/* f06cda0: 8ef90040 */ lw $t9,0x40($s7) +/* f06cda4: c6120004 */ lwc1 $f18,0x4($s0) +/* f06cda8: c644000c */ lwc1 $f4,0xc($s2) +/* f06cdac: 46049032 */ c.eq.s $f18,$f4 +/* f06cdb0: 00000000 */ nop +/* f06cdb4: 45020008 */ bc1fl .L0f06cdd8 +/* f06cdb8: 8ef90040 */ lw $t9,0x40($s7) +/* f06cdbc: c6060008 */ lwc1 $f6,0x8($s0) +/* f06cdc0: c6480010 */ lwc1 $f8,0x10($s2) +/* f06cdc4: 46083032 */ c.eq.s $f6,$f8 +/* f06cdc8: 00000000 */ nop +/* f06cdcc: 45010157 */ bc1t .L0f06d32c +/* f06cdd0: 00000000 */ nop +/* f06cdd4: 8ef90040 */ lw $t9,0x40($s7) +.L0f06cdd8: +/* f06cdd8: 33280080 */ andi $t0,$t9,0x80 +/* f06cddc: 11000153 */ beqz $t0,.L0f06d32c +/* f06cde0: 00000000 */ nop +/* f06cde4: 8ee90048 */ lw $t1,0x48($s7) +/* f06cde8: 26550008 */ addiu $s5,$s2,0x8 +/* f06cdec: 02a02025 */ or $a0,$s5,$zero +/* f06cdf0: 8d2a0000 */ lw $t2,0x0($t1) +/* f06cdf4: 27a501c4 */ addiu $a1,$sp,0x1c4 +/* f06cdf8: 26460028 */ addiu $a2,$s2,0x28 +/* f06cdfc: 314b0004 */ andi $t3,$t2,0x4 +/* f06ce00: 1160014a */ beqz $t3,.L0f06d32c +/* f06ce04: 27a700b8 */ addiu $a3,$sp,0xb8 +/* f06ce08: 27ac00cc */ addiu $t4,$sp,0xcc +/* f06ce0c: 240d0014 */ addiu $t5,$zero,0x14 +/* f06ce10: afad0014 */ sw $t5,0x14($sp) +/* f06ce14: afac0010 */ sw $t4,0x10($sp) +/* f06ce18: 0c006052 */ jal func00018148 +/* f06ce1c: afb0020c */ sw $s0,0x20c($sp) +/* f06ce20: 87ae00cc */ lh $t6,0xcc($sp) +/* f06ce24: 2416ffff */ addiu $s6,$zero,-1 +/* f06ce28: 27a400cc */ addiu $a0,$sp,0xcc +/* f06ce2c: 12ce0005 */ beq $s6,$t6,.L0f06ce44 +/* f06ce30: 00000000 */ nop +/* f06ce34: 848f0002 */ lh $t7,0x2($a0) +.L0f06ce38: +/* f06ce38: 24840002 */ addiu $a0,$a0,0x2 +/* f06ce3c: 56cffffe */ bnel $s6,$t7,.L0f06ce38 +/* f06ce40: 848f0002 */ lh $t7,0x2($a0) +.L0f06ce44: +/* f06ce44: 0fc5914d */ jal roomsGetActive +/* f06ce48: 24050064 */ addiu $a1,$zero,0x64 +/* f06ce4c: 87b800cc */ lh $t8,0xcc($sp) +/* f06ce50: 27b100cc */ addiu $s1,$sp,0xcc +/* f06ce54: 3c013f80 */ lui $at,0x3f80 +/* f06ce58: 12d800d1 */ beq $s6,$t8,.L0f06d1a0 +/* f06ce5c: 27b301d0 */ addiu $s3,$sp,0x1d0 +/* f06ce60: 4481b000 */ mtc1 $at,$f22 +/* f06ce64: 3c01bf80 */ lui $at,0xbf80 +/* f06ce68: 4481a000 */ mtc1 $at,$f20 +/* f06ce6c: 86240000 */ lh $a0,0x0($s1) +.L0f06ce70: +/* f06ce70: 0fc586ad */ jal func0f161ab4 +/* f06ce74: 00008025 */ or $s0,$zero,$zero +/* f06ce78: 10400045 */ beqz $v0,.L0f06cf90 +/* f06ce7c: 02a02025 */ or $a0,$s5,$zero +/* f06ce80: 02a02025 */ or $a0,$s5,$zero +/* f06ce84: 27a501c4 */ addiu $a1,$sp,0x1c4 +/* f06ce88: 86260000 */ lh $a2,0x0($s1) +/* f06ce8c: 0fc58548 */ jal func0f161520 +/* f06ce90: 02603825 */ or $a3,$s3,$zero +/* f06ce94: 1040004e */ beqz $v0,.L0f06cfd0 +/* f06ce98: c7aa01d0 */ lwc1 $f10,0x1d0($sp) +/* f06ce9c: 46165402 */ mul.s $f16,$f10,$f22 +/* f06cea0: c7b201d4 */ lwc1 $f18,0x1d4($sp) +/* f06cea4: c7a601d8 */ lwc1 $f6,0x1d8($sp) +/* f06cea8: 87a801fa */ lh $t0,0x1fa($sp) +/* f06ceac: 46169102 */ mul.s $f4,$f18,$f22 +/* f06ceb0: 3c09800b */ lui $t1,%hi(g_Textures) +/* f06ceb4: 8d29abc0 */ lw $t1,%lo(g_Textures)($t1) +/* f06ceb8: 46163202 */ mul.s $f8,$f6,$f22 +/* f06cebc: 3c018007 */ lui $at,%hi(var80069944) +/* f06cec0: 000850c0 */ sll $t2,$t0,0x3 +/* f06cec4: e7b001d0 */ swc1 $f16,0x1d0($sp) +/* f06cec8: e7a401d4 */ swc1 $f4,0x1d4($sp) +/* f06cecc: ac289944 */ sw $t0,%lo(var80069944)($at) +/* f06ced0: 012a5821 */ addu $t3,$t1,$t2 +/* f06ced4: e7a801d8 */ swc1 $f8,0x1d8($sp) +/* f06ced8: 916c0000 */ lbu $t4,0x0($t3) +/* f06cedc: 2401000e */ addiu $at,$zero,0xe +/* f06cee0: 24100001 */ addiu $s0,$zero,0x1 +/* f06cee4: 318d000f */ andi $t5,$t4,0xf +/* f06cee8: 15a10039 */ bne $t5,$at,.L0f06cfd0 +/* f06ceec: 3c0e8007 */ lui $t6,%hi(var800699e8) +/* f06cef0: 25ce99e8 */ addiu $t6,$t6,%lo(var800699e8) +/* f06cef4: 8dc10000 */ lw $at,0x0($t6) +/* f06cef8: 27a700a4 */ addiu $a3,$sp,0xa4 +/* f06cefc: 27b901dc */ addiu $t9,$sp,0x1dc +/* f06cf00: ace10000 */ sw $at,0x0($a3) +/* f06cf04: 8dd80004 */ lw $t8,0x4($t6) +/* f06cf08: 2408001a */ addiu $t0,$zero,0x1a +/* f06cf0c: 00008025 */ or $s0,$zero,$zero +/* f06cf10: acf80004 */ sw $t8,0x4($a3) +/* f06cf14: 8dc10008 */ lw $at,0x8($t6) +/* f06cf18: 02402825 */ or $a1,$s2,$zero +/* f06cf1c: 02603025 */ or $a2,$s3,$zero +/* f06cf20: ace10008 */ sw $at,0x8($a3) +/* f06cf24: 86440028 */ lh $a0,0x28($s2) +/* f06cf28: afa80014 */ sw $t0,0x14($sp) +/* f06cf2c: 0fc4be7c */ jal sparksCreate +/* f06cf30: afb90010 */ sw $t9,0x10($sp) +/* f06cf34: 00163c00 */ sll $a3,$s6,0x10 +/* f06cf38: 00074c03 */ sra $t1,$a3,0x10 +/* f06cf3c: 240a0400 */ addiu $t2,$zero,0x400 +/* f06cf40: afaa0014 */ sw $t2,0x14($sp) +/* f06cf44: 01203825 */ or $a3,$t1,$zero +/* f06cf48: 00002025 */ or $a0,$zero,$zero +/* f06cf4c: 02402825 */ or $a1,$s2,$zero +/* f06cf50: 24068080 */ addiu $a2,$zero,-32640 +/* f06cf54: afb60010 */ sw $s6,0x10($sp) +/* f06cf58: afa00018 */ sw $zero,0x18($sp) +/* f06cf5c: afa0001c */ sw $zero,0x1c($sp) +/* f06cf60: afa00020 */ sw $zero,0x20($sp) +/* f06cf64: e7b40024 */ swc1 $f20,0x24($sp) +/* f06cf68: afa00028 */ sw $zero,0x28($sp) +/* f06cf6c: afb6002c */ sw $s6,0x2c($sp) +/* f06cf70: e7b40030 */ swc1 $f20,0x30($sp) +/* f06cf74: e7b40034 */ swc1 $f20,0x34($sp) +/* f06cf78: 0fc24e7e */ jal func0f0939f8 +/* f06cf7c: e7b40038 */ swc1 $f20,0x38($sp) +/* f06cf80: 8eeb0040 */ lw $t3,0x40($s7) +/* f06cf84: 356c0004 */ ori $t4,$t3,0x4 +/* f06cf88: 10000011 */ b .L0f06cfd0 +/* f06cf8c: aeec0040 */ sw $t4,0x40($s7) +.L0f06cf90: +/* f06cf90: 862d0000 */ lh $t5,0x0($s1) +/* f06cf94: a7b600a2 */ sh $s6,0xa2($sp) +/* f06cf98: 27a500a0 */ addiu $a1,$sp,0xa0 +/* f06cf9c: 27a601c4 */ addiu $a2,$sp,0x1c4 +/* f06cfa0: 24070020 */ addiu $a3,$zero,0x20 +/* f06cfa4: 0c00b784 */ jal func0002de10 +/* f06cfa8: a7ad00a0 */ sh $t5,0xa0($sp) +/* f06cfac: 14400008 */ bnez $v0,.L0f06cfd0 +/* f06cfb0: 02602025 */ or $a0,$s3,$zero +/* f06cfb4: 3c067f1b */ lui $a2,%hi(var7f1a9f94) +/* f06cfb8: 24100001 */ addiu $s0,$zero,0x1 +/* f06cfbc: 24c69f94 */ addiu $a2,$a2,%lo(var7f1a9f94) +/* f06cfc0: 0c0093af */ jal cdGetPos +/* f06cfc4: 240510a1 */ addiu $a1,$zero,0x10a2 +/* f06cfc8: 0c0093ba */ jal func00024ee8 +/* f06cfcc: 27a401dc */ addiu $a0,$sp,0x1dc +.L0f06cfd0: +/* f06cfd0: 1200006f */ beqz $s0,.L0f06d190 +/* f06cfd4: c7aa01c4 */ lwc1 $f10,0x1c4($sp) +/* f06cfd8: c64c0008 */ lwc1 $f12,0x8($s2) +/* f06cfdc: c7b001d0 */ lwc1 $f16,0x1d0($sp) +/* f06cfe0: c7b201c4 */ lwc1 $f18,0x1c4($sp) +/* f06cfe4: 460a603e */ c.le.s $f12,$f10 +/* f06cfe8: 00000000 */ nop +/* f06cfec: 4502000a */ bc1fl .L0f06d018 +/* f06cff0: 460c903e */ c.le.s $f18,$f12 +/* f06cff4: 460a803e */ c.le.s $f16,$f10 +/* f06cff8: 00000000 */ nop +/* f06cffc: 45020006 */ bc1fl .L0f06d018 +/* f06d000: 460c903e */ c.le.s $f18,$f12 +/* f06d004: 4610603e */ c.le.s $f12,$f16 +/* f06d008: 00000000 */ nop +/* f06d00c: 4503000e */ bc1tl .L0f06d048 +/* f06d010: c642000c */ lwc1 $f2,0xc($s2) +/* f06d014: 460c903e */ c.le.s $f18,$f12 +.L0f06d018: +/* f06d018: c7a401d0 */ lwc1 $f4,0x1d0($sp) +/* f06d01c: 4502005d */ bc1fl .L0f06d194 +/* f06d020: 86240002 */ lh $a0,0x2($s1) +/* f06d024: 4604903e */ c.le.s $f18,$f4 +/* f06d028: 00000000 */ nop +/* f06d02c: 45020059 */ bc1fl .L0f06d194 +/* f06d030: 86240002 */ lh $a0,0x2($s1) +/* f06d034: 460c203e */ c.le.s $f4,$f12 +/* f06d038: 00000000 */ nop +/* f06d03c: 45020055 */ bc1fl .L0f06d194 +/* f06d040: 86240002 */ lh $a0,0x2($s1) +/* f06d044: c642000c */ lwc1 $f2,0xc($s2) +.L0f06d048: +/* f06d048: c7a601c8 */ lwc1 $f6,0x1c8($sp) +/* f06d04c: c7a801d4 */ lwc1 $f8,0x1d4($sp) +/* f06d050: c7aa01c8 */ lwc1 $f10,0x1c8($sp) +/* f06d054: 4606103e */ c.le.s $f2,$f6 +/* f06d058: 00000000 */ nop +/* f06d05c: 4502000a */ bc1fl .L0f06d088 +/* f06d060: 4602503e */ c.le.s $f10,$f2 +/* f06d064: 4606403e */ c.le.s $f8,$f6 +/* f06d068: 00000000 */ nop +/* f06d06c: 45020006 */ bc1fl .L0f06d088 +/* f06d070: 4602503e */ c.le.s $f10,$f2 +/* f06d074: 4608103e */ c.le.s $f2,$f8 +/* f06d078: 00000000 */ nop +/* f06d07c: 4503000e */ bc1tl .L0f06d0b8 +/* f06d080: c6400010 */ lwc1 $f0,0x10($s2) +/* f06d084: 4602503e */ c.le.s $f10,$f2 +.L0f06d088: +/* f06d088: c7b001d4 */ lwc1 $f16,0x1d4($sp) +/* f06d08c: 45020041 */ bc1fl .L0f06d194 +/* f06d090: 86240002 */ lh $a0,0x2($s1) +/* f06d094: 4610503e */ c.le.s $f10,$f16 +/* f06d098: 00000000 */ nop +/* f06d09c: 4502003d */ bc1fl .L0f06d194 +/* f06d0a0: 86240002 */ lh $a0,0x2($s1) +/* f06d0a4: 4602803e */ c.le.s $f16,$f2 +/* f06d0a8: 00000000 */ nop +/* f06d0ac: 45020039 */ bc1fl .L0f06d194 +/* f06d0b0: 86240002 */ lh $a0,0x2($s1) +/* f06d0b4: c6400010 */ lwc1 $f0,0x10($s2) +.L0f06d0b8: +/* f06d0b8: c7b201cc */ lwc1 $f18,0x1cc($sp) +/* f06d0bc: c7a401d8 */ lwc1 $f4,0x1d8($sp) +/* f06d0c0: c7a601cc */ lwc1 $f6,0x1cc($sp) +/* f06d0c4: 4612003e */ c.le.s $f0,$f18 +/* f06d0c8: 00000000 */ nop +/* f06d0cc: 4502000a */ bc1fl .L0f06d0f8 +/* f06d0d0: 4600303e */ c.le.s $f6,$f0 +/* f06d0d4: 4612203e */ c.le.s $f4,$f18 +/* f06d0d8: 00000000 */ nop +/* f06d0dc: 45020006 */ bc1fl .L0f06d0f8 +/* f06d0e0: 4600303e */ c.le.s $f6,$f0 +/* f06d0e4: 4604003e */ c.le.s $f0,$f4 +/* f06d0e8: 00000000 */ nop +/* f06d0ec: 4503000e */ bc1tl .L0f06d128 +/* f06d0f0: c7aa01d0 */ lwc1 $f10,0x1d0($sp) +/* f06d0f4: 4600303e */ c.le.s $f6,$f0 +.L0f06d0f8: +/* f06d0f8: c7a801d8 */ lwc1 $f8,0x1d8($sp) +/* f06d0fc: 45020025 */ bc1fl .L0f06d194 +/* f06d100: 86240002 */ lh $a0,0x2($s1) +/* f06d104: 4608303e */ c.le.s $f6,$f8 +/* f06d108: 00000000 */ nop +/* f06d10c: 45020021 */ bc1fl .L0f06d194 +/* f06d110: 86240002 */ lh $a0,0x2($s1) +/* f06d114: 4600403e */ c.le.s $f8,$f0 +/* f06d118: 00000000 */ nop +/* f06d11c: 4502001d */ bc1fl .L0f06d194 +/* f06d120: 86240002 */ lh $a0,0x2($s1) +/* f06d124: c7aa01d0 */ lwc1 $f10,0x1d0($sp) +.L0f06d128: +/* f06d128: c7b001d4 */ lwc1 $f16,0x1d4($sp) +/* f06d12c: 460a6032 */ c.eq.s $f12,$f10 +/* f06d130: 00000000 */ nop +/* f06d134: 4502000a */ bc1fl .L0f06d160 +/* f06d138: c7a401d0 */ lwc1 $f4,0x1d0($sp) +/* f06d13c: 46101032 */ c.eq.s $f2,$f16 +/* f06d140: c7b201d8 */ lwc1 $f18,0x1d8($sp) +/* f06d144: 45020006 */ bc1fl .L0f06d160 +/* f06d148: c7a401d0 */ lwc1 $f4,0x1d0($sp) +/* f06d14c: 46120032 */ c.eq.s $f0,$f18 +/* f06d150: 00000000 */ nop +/* f06d154: 4503000f */ bc1tl .L0f06d194 +/* f06d158: 86240002 */ lh $a0,0x2($s1) +/* f06d15c: c7a401d0 */ lwc1 $f4,0x1d0($sp) +.L0f06d160: +/* f06d160: c7a601d4 */ lwc1 $f6,0x1d4($sp) +/* f06d164: c7a801d8 */ lwc1 $f8,0x1d8($sp) +/* f06d168: c7aa01dc */ lwc1 $f10,0x1dc($sp) +/* f06d16c: afa00200 */ sw $zero,0x200($sp) +/* f06d170: e7a401c4 */ swc1 $f4,0x1c4($sp) +/* f06d174: e7a601c8 */ swc1 $f6,0x1c8($sp) +/* f06d178: e7a801cc */ swc1 $f8,0x1cc($sp) +/* f06d17c: e68a0000 */ swc1 $f10,0x0($s4) +/* f06d180: c7b001e0 */ lwc1 $f16,0x1e0($sp) +/* f06d184: e6900004 */ swc1 $f16,0x4($s4) +/* f06d188: c7b201e4 */ lwc1 $f18,0x1e4($sp) +/* f06d18c: e6920008 */ swc1 $f18,0x8($s4) +.L0f06d190: +/* f06d190: 86240002 */ lh $a0,0x2($s1) +.L0f06d194: +/* f06d194: 26310002 */ addiu $s1,$s1,0x2 +/* f06d198: 16c4ff35 */ bne $s6,$a0,.L0f06ce70 +/* f06d19c: 00000000 */ nop +.L0f06d1a0: +/* f06d1a0: 8faf0210 */ lw $t7,0x210($sp) +/* f06d1a4: 3c013f80 */ lui $at,0x3f80 +/* f06d1a8: 4481b000 */ mtc1 $at,$f22 +/* f06d1ac: 27ae00cc */ addiu $t6,$sp,0xcc +/* f06d1b0: afae0018 */ sw $t6,0x18($sp) +/* f06d1b4: 02402025 */ or $a0,$s2,$zero +/* f06d1b8: 02a02825 */ or $a1,$s5,$zero +/* f06d1bc: 27a601c4 */ addiu $a2,$sp,0x1c4 +/* f06d1c0: 2407003f */ addiu $a3,$zero,0x3f +/* f06d1c4: afb40014 */ sw $s4,0x14($sp) +/* f06d1c8: 0fc1b22b */ jal func0f06c8ac +/* f06d1cc: afaf0010 */ sw $t7,0x10($sp) +/* f06d1d0: 1440000a */ bnez $v0,.L0f06d1fc +/* f06d1d4: 8fb80200 */ lw $t8,0x200($sp) +/* f06d1d8: 17000009 */ bnez $t8,.L0f06d200 +/* f06d1dc: c7a401c4 */ lwc1 $f4,0x1c4($sp) +/* f06d1e0: 8fb90210 */ lw $t9,0x210($sp) +/* f06d1e4: e7240000 */ swc1 $f4,0x0($t9) +/* f06d1e8: c7a601c8 */ lwc1 $f6,0x1c8($sp) +/* f06d1ec: e7260004 */ swc1 $f6,0x4($t9) +/* f06d1f0: c7a801cc */ lwc1 $f8,0x1cc($sp) +/* f06d1f4: 10000002 */ b .L0f06d200 +/* f06d1f8: e7280008 */ swc1 $f8,0x8($t9) +.L0f06d1fc: +/* f06d1fc: afa00200 */ sw $zero,0x200($sp) +.L0f06d200: +/* f06d200: 8fa80200 */ lw $t0,0x200($sp) +/* f06d204: 24010001 */ addiu $at,$zero,0x1 +/* f06d208: 8fa2020c */ lw $v0,0x20c($sp) +/* f06d20c: 11010047 */ beq $t0,$at,.L0f06d32c +/* f06d210: 00000000 */ nop +/* f06d214: c44a0000 */ lwc1 $f10,0x0($v0) +/* f06d218: c6500008 */ lwc1 $f16,0x8($s2) +/* f06d21c: 46105481 */ sub.s $f18,$f10,$f16 +/* f06d220: e7b20094 */ swc1 $f18,0x94($sp) +/* f06d224: c646000c */ lwc1 $f6,0xc($s2) +/* f06d228: c4440004 */ lwc1 $f4,0x4($v0) +/* f06d22c: 46062201 */ sub.s $f8,$f4,$f6 +/* f06d230: c7a40094 */ lwc1 $f4,0x94($sp) +/* f06d234: e7a80098 */ swc1 $f8,0x98($sp) +/* f06d238: c6500010 */ lwc1 $f16,0x10($s2) +/* f06d23c: c44a0008 */ lwc1 $f10,0x8($v0) +/* f06d240: 46042182 */ mul.s $f6,$f4,$f4 +/* f06d244: c7a80098 */ lwc1 $f8,0x98($sp) +/* f06d248: 46105481 */ sub.s $f18,$f10,$f16 +/* f06d24c: 46084282 */ mul.s $f10,$f8,$f8 +/* f06d250: e7b2009c */ swc1 $f18,0x9c($sp) +/* f06d254: c7b2009c */ lwc1 $f18,0x9c($sp) +/* f06d258: 46129102 */ mul.s $f4,$f18,$f18 +/* f06d25c: 460a3400 */ add.s $f16,$f6,$f10 +/* f06d260: 0c012974 */ jal sqrtf +/* f06d264: 46102300 */ add.s $f12,$f4,$f16 +/* f06d268: 3c017f1b */ lui $at,%hi(var7f1aa268) +/* f06d26c: c42ca268 */ lwc1 $f12,%lo(var7f1aa268)($at) +/* f06d270: 3c013f00 */ lui $at,0x3f00 +/* f06d274: c7a60094 */ lwc1 $f6,0x94($sp) +/* f06d278: 4600603c */ c.lt.s $f12,$f0 +/* f06d27c: 02802025 */ or $a0,$s4,$zero +/* f06d280: 26850004 */ addiu $a1,$s4,0x4 +/* f06d284: 45020004 */ bc1fl .L0f06d298 +/* f06d288: 44811000 */ mtc1 $at,$f2 +/* f06d28c: 10000003 */ b .L0f06d29c +/* f06d290: 46006083 */ div.s $f2,$f12,$f0 +/* f06d294: 44811000 */ mtc1 $at,$f2 +.L0f06d298: +/* f06d298: 00000000 */ nop +.L0f06d29c: +/* f06d29c: 46061282 */ mul.s $f10,$f2,$f6 +/* f06d2a0: 8fa20210 */ lw $v0,0x210($sp) +/* f06d2a4: 44800000 */ mtc1 $zero,$f0 +/* f06d2a8: c4480000 */ lwc1 $f8,0x0($v0) +/* f06d2ac: c4440004 */ lwc1 $f4,0x4($v0) +/* f06d2b0: 460a4481 */ sub.s $f18,$f8,$f10 +/* f06d2b4: c44a0008 */ lwc1 $f10,0x8($v0) +/* f06d2b8: e4520000 */ swc1 $f18,0x0($v0) +/* f06d2bc: c7b00098 */ lwc1 $f16,0x98($sp) +/* f06d2c0: 46101182 */ mul.s $f6,$f2,$f16 +/* f06d2c4: 46062201 */ sub.s $f8,$f4,$f6 +/* f06d2c8: e4480004 */ swc1 $f8,0x4($v0) +/* f06d2cc: c7b2009c */ lwc1 $f18,0x9c($sp) +/* f06d2d0: 46121402 */ mul.s $f16,$f2,$f18 +/* f06d2d4: 46105101 */ sub.s $f4,$f10,$f16 +/* f06d2d8: e4440008 */ swc1 $f4,0x8($v0) +/* f06d2dc: c6860000 */ lwc1 $f6,0x0($s4) +/* f06d2e0: 46060032 */ c.eq.s $f0,$f6 +/* f06d2e4: 00000000 */ nop +/* f06d2e8: 4500000b */ bc1f .L0f06d318 +/* f06d2ec: 00000000 */ nop +/* f06d2f0: c6880004 */ lwc1 $f8,0x4($s4) +/* f06d2f4: 46080032 */ c.eq.s $f0,$f8 +/* f06d2f8: 00000000 */ nop +/* f06d2fc: 45000006 */ bc1f .L0f06d318 +/* f06d300: 00000000 */ nop +/* f06d304: c6920008 */ lwc1 $f18,0x8($s4) +/* f06d308: 46120032 */ c.eq.s $f0,$f18 +/* f06d30c: 00000000 */ nop +/* f06d310: 45030006 */ bc1tl .L0f06d32c +/* f06d314: e6960008 */ swc1 $f22,0x8($s4) +.L0f06d318: +/* f06d318: 0c0011e4 */ jal guNormalize +/* f06d31c: 26860008 */ addiu $a2,$s4,0x8 +/* f06d320: 10000002 */ b .L0f06d32c +/* f06d324: 00000000 */ nop +/* f06d328: e6960008 */ swc1 $f22,0x8($s4) +.L0f06d32c: +/* f06d32c: 3c02800a */ lui $v0,%hi(g_Vars) +/* f06d330: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars) +/* f06d334: 8c490318 */ lw $t1,0x318($v0) +/* f06d338: 51200003 */ beqzl $t1,.L0f06d348 +/* f06d33c: 8fbf0074 */ lw $ra,0x74($sp) +/* f06d340: ac40048c */ sw $zero,0x48c($v0) +/* f06d344: 8fbf0074 */ lw $ra,0x74($sp) +.L0f06d348: +/* f06d348: 8fa20200 */ lw $v0,0x200($sp) +/* f06d34c: d7b40040 */ ldc1 $f20,0x40($sp) +/* f06d350: d7b60048 */ ldc1 $f22,0x48($sp) +/* f06d354: 8fb00054 */ lw $s0,0x54($sp) +/* f06d358: 8fb10058 */ lw $s1,0x58($sp) +/* f06d35c: 8fb2005c */ lw $s2,0x5c($sp) +/* f06d360: 8fb30060 */ lw $s3,0x60($sp) +/* f06d364: 8fb40064 */ lw $s4,0x64($sp) +/* f06d368: 8fb50068 */ lw $s5,0x68($sp) +/* f06d36c: 8fb6006c */ lw $s6,0x6c($sp) +/* f06d370: 8fb70070 */ lw $s7,0x70($sp) +/* f06d374: 03e00008 */ jr $ra +/* f06d378: 27bd0208 */ addiu $sp,$sp,0x208 +); +#else GLOBAL_ASM( glabel func0f06cd00 .late_rodata @@ -8717,7 +9274,400 @@ glabel var7f1aa268 /* f06d374: 03e00008 */ jr $ra /* f06d378: 27bd0208 */ addiu $sp,$sp,0x208 ); +#endif +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f06d37c +.late_rodata +glabel var7f1aa26c +.word 0x3f7d70a4 +.text +/* f06d37c: 27bdff58 */ addiu $sp,$sp,-168 +/* f06d380: afbf0034 */ sw $ra,0x34($sp) +/* f06d384: afb10030 */ sw $s1,0x30($sp) +/* f06d388: afb0002c */ sw $s0,0x2c($sp) +/* f06d38c: afa700b4 */ sw $a3,0xb4($sp) +/* f06d390: 8c900014 */ lw $s0,0x14($a0) +/* f06d394: 00c08825 */ or $s1,$a2,$zero +/* f06d398: afa500ac */ sw $a1,0xac($sp) +/* f06d39c: 0fc1acdb */ jal func0f06b36c +/* f06d3a0: afa400a8 */ sw $a0,0xa8($sp) +/* f06d3a4: 3c018007 */ lui $at,%hi(var80069930) +/* f06d3a8: 8fa500ac */ lw $a1,0xac($sp) +/* f06d3ac: ac209930 */ sw $zero,%lo(var80069930)($at) +/* f06d3b0: 240e0001 */ addiu $t6,$zero,0x1 +/* f06d3b4: 3c018007 */ lui $at,%hi(var80069944) +/* f06d3b8: afae009c */ sw $t6,0x9c($sp) +/* f06d3bc: afa00098 */ sw $zero,0x98($sp) +/* f06d3c0: ac209944 */ sw $zero,%lo(var80069944)($at) +/* f06d3c4: c4a40000 */ lwc1 $f4,0x0($a1) +/* f06d3c8: 46000086 */ mov.s $f2,$f0 +/* f06d3cc: 8faf00a8 */ lw $t7,0xa8($sp) +/* f06d3d0: e7a40080 */ swc1 $f4,0x80($sp) +/* f06d3d4: c4a60004 */ lwc1 $f6,0x4($a1) +/* f06d3d8: e7a60084 */ swc1 $f6,0x84($sp) +/* f06d3dc: c4a80008 */ lwc1 $f8,0x8($a1) +/* f06d3e0: e7a80088 */ swc1 $f8,0x88($sp) +/* f06d3e4: c6100008 */ lwc1 $f16,0x8($s0) +/* f06d3e8: c4aa0000 */ lwc1 $f10,0x0($a1) +/* f06d3ec: 46105032 */ c.eq.s $f10,$f16 +/* f06d3f0: 00000000 */ nop +/* f06d3f4: 4502000e */ bc1fl .L0f06d430 +/* f06d3f8: 8df80040 */ lw $t8,0x40($t7) +/* f06d3fc: c4b20004 */ lwc1 $f18,0x4($a1) +/* f06d400: c604000c */ lwc1 $f4,0xc($s0) +/* f06d404: 46049032 */ c.eq.s $f18,$f4 +/* f06d408: 00000000 */ nop +/* f06d40c: 45020008 */ bc1fl .L0f06d430 +/* f06d410: 8df80040 */ lw $t8,0x40($t7) +/* f06d414: c4a60008 */ lwc1 $f6,0x8($a1) +/* f06d418: c6080010 */ lwc1 $f8,0x10($s0) +/* f06d41c: 46083032 */ c.eq.s $f6,$f8 +/* f06d420: 00000000 */ nop +/* f06d424: 45030134 */ bc1tl .L0f06d8f8 +/* f06d428: 8fbf0034 */ lw $ra,0x34($sp) +/* f06d42c: 8df80040 */ lw $t8,0x40($t7) +.L0f06d430: +/* f06d430: 26040008 */ addiu $a0,$s0,0x8 +/* f06d434: 26050028 */ addiu $a1,$s0,0x28 +/* f06d438: 33190080 */ andi $t9,$t8,0x80 +/* f06d43c: 1320012d */ beqz $t9,.L0f06d8f4 +/* f06d440: 27a60080 */ addiu $a2,$sp,0x80 +/* f06d444: 44800000 */ mtc1 $zero,$f0 +/* f06d448: 2408003f */ addiu $t0,$zero,0x3f +/* f06d44c: afa80014 */ sw $t0,0x14($sp) +/* f06d450: 27a70070 */ addiu $a3,$sp,0x70 +/* f06d454: e7a20010 */ swc1 $f2,0x10($sp) +/* f06d458: afa00018 */ sw $zero,0x18($sp) +/* f06d45c: afa40040 */ sw $a0,0x40($sp) +/* f06d460: afa5003c */ sw $a1,0x3c($sp) +/* f06d464: e7a200a0 */ swc1 $f2,0xa0($sp) +/* f06d468: e7a0001c */ swc1 $f0,0x1c($sp) +/* f06d46c: 0c00b6b2 */ jal func0002dac8 +/* f06d470: e7a00020 */ swc1 $f0,0x20($sp) +/* f06d474: 10400020 */ beqz $v0,.L0f06d4f8 +/* f06d478: 8fa400a8 */ lw $a0,0xa8($sp) +/* f06d47c: 27a50080 */ addiu $a1,$sp,0x80 +/* f06d480: 2486001c */ addiu $a2,$a0,0x1c +/* f06d484: 0fc248cf */ jal func0f09233c +/* f06d488: 27a70070 */ addiu $a3,$sp,0x70 +/* f06d48c: 44800000 */ mtc1 $zero,$f0 +/* f06d490: 2409003f */ addiu $t1,$zero,0x3f +/* f06d494: afa90010 */ sw $t1,0x10($sp) +/* f06d498: 8fa40040 */ lw $a0,0x40($sp) +/* f06d49c: 27a50080 */ addiu $a1,$sp,0x80 +/* f06d4a0: 8fa600a0 */ lw $a2,0xa0($sp) +/* f06d4a4: 27a70070 */ addiu $a3,$sp,0x70 +/* f06d4a8: afa00014 */ sw $zero,0x14($sp) +/* f06d4ac: e7a00018 */ swc1 $f0,0x18($sp) +/* f06d4b0: 0c00aa7c */ jal cdTestAToB1 +/* f06d4b4: e7a0001c */ swc1 $f0,0x1c($sp) +/* f06d4b8: 1040000d */ beqz $v0,.L0f06d4f0 +/* f06d4bc: c7aa0080 */ lwc1 $f10,0x80($sp) +/* f06d4c0: e60a0008 */ swc1 $f10,0x8($s0) +/* f06d4c4: c7b00084 */ lwc1 $f16,0x84($sp) +/* f06d4c8: 02002025 */ or $a0,$s0,$zero +/* f06d4cc: e610000c */ swc1 $f16,0xc($s0) +/* f06d4d0: c7b20088 */ lwc1 $f18,0x88($sp) +/* f06d4d4: 0fc19711 */ jal func0f065c44 +/* f06d4d8: e6120010 */ swc1 $f18,0x10($s0) +/* f06d4dc: 27a40070 */ addiu $a0,$sp,0x70 +/* f06d4e0: 0fc195e9 */ jal roomsCopy +/* f06d4e4: 8fa5003c */ lw $a1,0x3c($sp) +/* f06d4e8: 10000005 */ b .L0f06d500 +/* f06d4ec: 8faa009c */ lw $t2,0x9c($sp) +.L0f06d4f0: +/* f06d4f0: 10000002 */ b .L0f06d4fc +/* f06d4f4: afa0009c */ sw $zero,0x9c($sp) +.L0f06d4f8: +/* f06d4f8: afa0009c */ sw $zero,0x9c($sp) +.L0f06d4fc: +/* f06d4fc: 8faa009c */ lw $t2,0x9c($sp) +.L0f06d500: +/* f06d500: 27a40064 */ addiu $a0,$sp,0x64 +/* f06d504: 27a50058 */ addiu $a1,$sp,0x58 +/* f06d508: 154000fa */ bnez $t2,.L0f06d8f4 +/* f06d50c: 24061121 */ addiu $a2,$zero,0x1122 +/* f06d510: 3c077f1b */ lui $a3,%hi(var7f1a9fa0) +/* f06d514: 0c009393 */ jal func00024e4c +/* f06d518: 24e79fa0 */ addiu $a3,$a3,%lo(var7f1a9fa0) +/* f06d51c: c7a40060 */ lwc1 $f4,0x60($sp) +/* f06d520: c7a6006c */ lwc1 $f6,0x6c($sp) +/* f06d524: 8fa400b4 */ lw $a0,0xb4($sp) +/* f06d528: 44800000 */ mtc1 $zero,$f0 +/* f06d52c: 46062201 */ sub.s $f8,$f4,$f6 +/* f06d530: 24850004 */ addiu $a1,$a0,0x4 +/* f06d534: e4800004 */ swc1 $f0,0x4($a0) +/* f06d538: e4880000 */ swc1 $f8,0x0($a0) +/* f06d53c: c4840000 */ lwc1 $f4,0x0($a0) +/* f06d540: c7b00058 */ lwc1 $f16,0x58($sp) +/* f06d544: c7aa0064 */ lwc1 $f10,0x64($sp) +/* f06d548: 46040032 */ c.eq.s $f0,$f4 +/* f06d54c: 46105481 */ sub.s $f18,$f10,$f16 +/* f06d550: 45000007 */ bc1f .L0f06d570 +/* f06d554: e4920008 */ swc1 $f18,0x8($a0) +/* f06d558: c4860008 */ lwc1 $f6,0x8($a0) +/* f06d55c: 3c013f80 */ lui $at,0x3f80 +/* f06d560: 46060032 */ c.eq.s $f0,$f6 +/* f06d564: 00000000 */ nop +/* f06d568: 45030006 */ bc1tl .L0f06d584 +/* f06d56c: 44814000 */ mtc1 $at,$f8 +.L0f06d570: +/* f06d570: 0c0011e4 */ jal guNormalize +/* f06d574: 24860008 */ addiu $a2,$a0,0x8 +/* f06d578: 10000005 */ b .L0f06d590 +/* f06d57c: c6020008 */ lwc1 $f2,0x8($s0) +/* f06d580: 44814000 */ mtc1 $at,$f8 +.L0f06d584: +/* f06d584: 00000000 */ nop +/* f06d588: e4880008 */ swc1 $f8,0x8($a0) +/* f06d58c: c6020008 */ lwc1 $f2,0x8($s0) +.L0f06d590: +/* f06d590: c7aa0080 */ lwc1 $f10,0x80($sp) +/* f06d594: c7b00084 */ lwc1 $f16,0x84($sp) +/* f06d598: c7a80080 */ lwc1 $f8,0x80($sp) +/* f06d59c: 46025032 */ c.eq.s $f10,$f2 +/* f06d5a0: 00000000 */ nop +/* f06d5a4: 4502000e */ bc1fl .L0f06d5e0 +/* f06d5a8: 46024281 */ sub.s $f10,$f8,$f2 +/* f06d5ac: c612000c */ lwc1 $f18,0xc($s0) +/* f06d5b0: c7a40088 */ lwc1 $f4,0x88($sp) +/* f06d5b4: 46128032 */ c.eq.s $f16,$f18 +/* f06d5b8: 00000000 */ nop +/* f06d5bc: 45020008 */ bc1fl .L0f06d5e0 +/* f06d5c0: 46024281 */ sub.s $f10,$f8,$f2 +/* f06d5c4: c6060010 */ lwc1 $f6,0x10($s0) +/* f06d5c8: c7aa0080 */ lwc1 $f10,0x80($sp) +/* f06d5cc: 46062032 */ c.eq.s $f4,$f6 +/* f06d5d0: 00000000 */ nop +/* f06d5d4: 450300ad */ bc1tl .L0f06d88c +/* f06d5d8: e62a0000 */ swc1 $f10,0x0($s1) +/* f06d5dc: 46024281 */ sub.s $f10,$f8,$f2 +.L0f06d5e0: +/* f06d5e0: c7b00084 */ lwc1 $f16,0x84($sp) +/* f06d5e4: c7a60088 */ lwc1 $f6,0x88($sp) +/* f06d5e8: 8fa40040 */ lw $a0,0x40($sp) +/* f06d5ec: e7aa008c */ swc1 $f10,0x8c($sp) +/* f06d5f0: c612000c */ lwc1 $f18,0xc($s0) +/* f06d5f4: 27a5008c */ addiu $a1,$sp,0x8c +/* f06d5f8: 02203025 */ or $a2,$s1,$zero +/* f06d5fc: 46128101 */ sub.s $f4,$f16,$f18 +/* f06d600: e7a40090 */ swc1 $f4,0x90($sp) +/* f06d604: c6080010 */ lwc1 $f8,0x10($s0) +/* f06d608: 46083281 */ sub.s $f10,$f6,$f8 +/* f06d60c: 0fc0b93e */ jal func0f02e4f8 +/* f06d610: e7aa0094 */ swc1 $f10,0x94($sp) +/* f06d614: c6020008 */ lwc1 $f2,0x8($s0) +/* f06d618: c7b00080 */ lwc1 $f16,0x80($sp) +/* f06d61c: 4610103c */ c.lt.s $f2,$f16 +/* f06d620: 00000000 */ nop +/* f06d624: 4502000f */ bc1fl .L0f06d664 +/* f06d628: c6200000 */ lwc1 $f0,0x0($s1) +/* f06d62c: c6200000 */ lwc1 $f0,0x0($s1) +/* f06d630: 4600803c */ c.lt.s $f16,$f0 +/* f06d634: 00000000 */ nop +/* f06d638: 45020004 */ bc1fl .L0f06d64c +/* f06d63c: 4602003c */ c.lt.s $f0,$f2 +/* f06d640: 10000014 */ b .L0f06d694 +/* f06d644: e6300000 */ swc1 $f16,0x0($s1) +/* f06d648: 4602003c */ c.lt.s $f0,$f2 +.L0f06d64c: +/* f06d64c: 00000000 */ nop +/* f06d650: 45020011 */ bc1fl .L0f06d698 +/* f06d654: c602000c */ lwc1 $f2,0xc($s0) +/* f06d658: 1000000e */ b .L0f06d694 +/* f06d65c: e6220000 */ swc1 $f2,0x0($s1) +/* f06d660: c6200000 */ lwc1 $f0,0x0($s1) +.L0f06d664: +/* f06d664: c7b20080 */ lwc1 $f18,0x80($sp) +/* f06d668: 4600103c */ c.lt.s $f2,$f0 +/* f06d66c: 00000000 */ nop +/* f06d670: 45020004 */ bc1fl .L0f06d684 +/* f06d674: 4612003c */ c.lt.s $f0,$f18 +/* f06d678: 10000006 */ b .L0f06d694 +/* f06d67c: e6220000 */ swc1 $f2,0x0($s1) +/* f06d680: 4612003c */ c.lt.s $f0,$f18 +.L0f06d684: +/* f06d684: 00000000 */ nop +/* f06d688: 45020003 */ bc1fl .L0f06d698 +/* f06d68c: c602000c */ lwc1 $f2,0xc($s0) +/* f06d690: e6320000 */ swc1 $f18,0x0($s1) +.L0f06d694: +/* f06d694: c602000c */ lwc1 $f2,0xc($s0) +.L0f06d698: +/* f06d698: c7a40084 */ lwc1 $f4,0x84($sp) +/* f06d69c: 4604103c */ c.lt.s $f2,$f4 +/* f06d6a0: 00000000 */ nop +/* f06d6a4: 4502000f */ bc1fl .L0f06d6e4 +/* f06d6a8: c6200004 */ lwc1 $f0,0x4($s1) +/* f06d6ac: c6200004 */ lwc1 $f0,0x4($s1) +/* f06d6b0: 4600203c */ c.lt.s $f4,$f0 +/* f06d6b4: 00000000 */ nop +/* f06d6b8: 45020004 */ bc1fl .L0f06d6cc +/* f06d6bc: 4602003c */ c.lt.s $f0,$f2 +/* f06d6c0: 10000014 */ b .L0f06d714 +/* f06d6c4: e6240004 */ swc1 $f4,0x4($s1) +/* f06d6c8: 4602003c */ c.lt.s $f0,$f2 +.L0f06d6cc: +/* f06d6cc: 00000000 */ nop +/* f06d6d0: 45020011 */ bc1fl .L0f06d718 +/* f06d6d4: c6020010 */ lwc1 $f2,0x10($s0) +/* f06d6d8: 1000000e */ b .L0f06d714 +/* f06d6dc: e6220004 */ swc1 $f2,0x4($s1) +/* f06d6e0: c6200004 */ lwc1 $f0,0x4($s1) +.L0f06d6e4: +/* f06d6e4: c7a60084 */ lwc1 $f6,0x84($sp) +/* f06d6e8: 4600103c */ c.lt.s $f2,$f0 +/* f06d6ec: 00000000 */ nop +/* f06d6f0: 45020004 */ bc1fl .L0f06d704 +/* f06d6f4: 4606003c */ c.lt.s $f0,$f6 +/* f06d6f8: 10000006 */ b .L0f06d714 +/* f06d6fc: e6220004 */ swc1 $f2,0x4($s1) +/* f06d700: 4606003c */ c.lt.s $f0,$f6 +.L0f06d704: +/* f06d704: 00000000 */ nop +/* f06d708: 45020003 */ bc1fl .L0f06d718 +/* f06d70c: c6020010 */ lwc1 $f2,0x10($s0) +/* f06d710: e6260004 */ swc1 $f6,0x4($s1) +.L0f06d714: +/* f06d714: c6020010 */ lwc1 $f2,0x10($s0) +.L0f06d718: +/* f06d718: c7a80088 */ lwc1 $f8,0x88($sp) +/* f06d71c: 4608103c */ c.lt.s $f2,$f8 +/* f06d720: 00000000 */ nop +/* f06d724: 4502000f */ bc1fl .L0f06d764 +/* f06d728: c6200008 */ lwc1 $f0,0x8($s1) +/* f06d72c: c6200008 */ lwc1 $f0,0x8($s1) +/* f06d730: 4600403c */ c.lt.s $f8,$f0 +/* f06d734: 00000000 */ nop +/* f06d738: 45020004 */ bc1fl .L0f06d74c +/* f06d73c: 4602003c */ c.lt.s $f0,$f2 +/* f06d740: 10000014 */ b .L0f06d794 +/* f06d744: e6280008 */ swc1 $f8,0x8($s1) +/* f06d748: 4602003c */ c.lt.s $f0,$f2 +.L0f06d74c: +/* f06d74c: 00000000 */ nop +/* f06d750: 45000010 */ bc1f .L0f06d794 +/* f06d754: 00000000 */ nop +/* f06d758: 1000000e */ b .L0f06d794 +/* f06d75c: e6220008 */ swc1 $f2,0x8($s1) +/* f06d760: c6200008 */ lwc1 $f0,0x8($s1) +.L0f06d764: +/* f06d764: c7aa0088 */ lwc1 $f10,0x88($sp) +/* f06d768: 4600103c */ c.lt.s $f2,$f0 +/* f06d76c: 00000000 */ nop +/* f06d770: 45020004 */ bc1fl .L0f06d784 +/* f06d774: 460a003c */ c.lt.s $f0,$f10 +/* f06d778: 10000006 */ b .L0f06d794 +/* f06d77c: e6220008 */ swc1 $f2,0x8($s1) +/* f06d780: 460a003c */ c.lt.s $f0,$f10 +.L0f06d784: +/* f06d784: 00000000 */ nop +/* f06d788: 45000002 */ bc1f .L0f06d794 +/* f06d78c: 00000000 */ nop +/* f06d790: e62a0008 */ swc1 $f10,0x8($s1) +.L0f06d794: +/* f06d794: 0c0093a6 */ jal func00024e98 +/* f06d798: 00000000 */ nop +/* f06d79c: 3c017f1b */ lui $at,%hi(var7f1aa26c) +/* f06d7a0: c430a26c */ lwc1 $f16,%lo(var7f1aa26c)($at) +/* f06d7a4: c7b2008c */ lwc1 $f18,0x8c($sp) +/* f06d7a8: c6060008 */ lwc1 $f6,0x8($s0) +/* f06d7ac: 46100082 */ mul.s $f2,$f0,$f16 +/* f06d7b0: c7b00094 */ lwc1 $f16,0x94($sp) +/* f06d7b4: c7aa0084 */ lwc1 $f10,0x84($sp) +/* f06d7b8: 27b1004c */ addiu $s1,$sp,0x4c +/* f06d7bc: 240b003f */ addiu $t3,$zero,0x3f +/* f06d7c0: e7aa0050 */ swc1 $f10,0x50($sp) +/* f06d7c4: 44805000 */ mtc1 $zero,$f10 +/* f06d7c8: 46029102 */ mul.s $f4,$f18,$f2 +/* f06d7cc: 02203025 */ or $a2,$s1,$zero +/* f06d7d0: 8fa40040 */ lw $a0,0x40($sp) +/* f06d7d4: 46028482 */ mul.s $f18,$f16,$f2 +/* f06d7d8: 8fa5003c */ lw $a1,0x3c($sp) +/* f06d7dc: 27a70070 */ addiu $a3,$sp,0x70 +/* f06d7e0: 46062200 */ add.s $f8,$f4,$f6 +/* f06d7e4: e7a8004c */ swc1 $f8,0x4c($sp) +/* f06d7e8: c6040010 */ lwc1 $f4,0x10($s0) +/* f06d7ec: 44804000 */ mtc1 $zero,$f8 +/* f06d7f0: afa00014 */ sw $zero,0x14($sp) +/* f06d7f4: 46049180 */ add.s $f6,$f18,$f4 +/* f06d7f8: afab0010 */ sw $t3,0x10($sp) +/* f06d7fc: e7aa001c */ swc1 $f10,0x1c($sp) +/* f06d800: e7a80018 */ swc1 $f8,0x18($sp) +/* f06d804: 0c00b694 */ jal func0002da50 +/* f06d808: e7a60054 */ swc1 $f6,0x54($sp) +/* f06d80c: 10400024 */ beqz $v0,.L0f06d8a0 +/* f06d810: 8fa400a8 */ lw $a0,0xa8($sp) +/* f06d814: 02202825 */ or $a1,$s1,$zero +/* f06d818: 2486001c */ addiu $a2,$a0,0x1c +/* f06d81c: 0fc248cf */ jal func0f09233c +/* f06d820: 27a70070 */ addiu $a3,$sp,0x70 +/* f06d824: 44808000 */ mtc1 $zero,$f16 +/* f06d828: 44809000 */ mtc1 $zero,$f18 +/* f06d82c: 02202025 */ or $a0,$s1,$zero +/* f06d830: 8fa500a0 */ lw $a1,0xa0($sp) +/* f06d834: 27a60070 */ addiu $a2,$sp,0x70 +/* f06d838: 2407003f */ addiu $a3,$zero,0x3f +/* f06d83c: afa00010 */ sw $zero,0x10($sp) +/* f06d840: e7b00014 */ swc1 $f16,0x14($sp) +/* f06d844: 0c00a9a1 */ jal cdTestVolume +/* f06d848: e7b20018 */ swc1 $f18,0x18($sp) +/* f06d84c: 10400014 */ beqz $v0,.L0f06d8a0 +/* f06d850: c7a4004c */ lwc1 $f4,0x4c($sp) +/* f06d854: e6040008 */ swc1 $f4,0x8($s0) +/* f06d858: c7a60050 */ lwc1 $f6,0x50($sp) +/* f06d85c: 02002025 */ or $a0,$s0,$zero +/* f06d860: e606000c */ swc1 $f6,0xc($s0) +/* f06d864: c7a80054 */ lwc1 $f8,0x54($sp) +/* f06d868: 0fc19711 */ jal func0f065c44 +/* f06d86c: e6080010 */ swc1 $f8,0x10($s0) +/* f06d870: 27a40070 */ addiu $a0,$sp,0x70 +/* f06d874: 0fc195e9 */ jal roomsCopy +/* f06d878: 8fa5003c */ lw $a1,0x3c($sp) +/* f06d87c: 240d0001 */ addiu $t5,$zero,0x1 +/* f06d880: 10000007 */ b .L0f06d8a0 +/* f06d884: afad0098 */ sw $t5,0x98($sp) +/* f06d888: e62a0000 */ swc1 $f10,0x0($s1) +.L0f06d88c: +/* f06d88c: c7b00084 */ lwc1 $f16,0x84($sp) +/* f06d890: e6300004 */ swc1 $f16,0x4($s1) +/* f06d894: c7b20088 */ lwc1 $f18,0x88($sp) +/* f06d898: e6320008 */ swc1 $f18,0x8($s1) +/* f06d89c: 27b1004c */ addiu $s1,$sp,0x4c +.L0f06d8a0: +/* f06d8a0: 8fae0098 */ lw $t6,0x98($sp) +/* f06d8a4: 02203025 */ or $a2,$s1,$zero +/* f06d8a8: 27a70070 */ addiu $a3,$sp,0x70 +/* f06d8ac: 55c00012 */ bnezl $t6,.L0f06d8f8 +/* f06d8b0: 8fbf0034 */ lw $ra,0x34($sp) +/* f06d8b4: c6040008 */ lwc1 $f4,0x8($s0) +/* f06d8b8: c7a60084 */ lwc1 $f6,0x84($sp) +/* f06d8bc: 8fa40040 */ lw $a0,0x40($sp) +/* f06d8c0: e7a4004c */ swc1 $f4,0x4c($sp) +/* f06d8c4: e7a60050 */ swc1 $f6,0x50($sp) +/* f06d8c8: c6080010 */ lwc1 $f8,0x10($s0) +/* f06d8cc: 8fa5003c */ lw $a1,0x3c($sp) +/* f06d8d0: 0fc1979d */ jal func0f065e74 +/* f06d8d4: e7a80054 */ swc1 $f8,0x54($sp) +/* f06d8d8: c7aa0050 */ lwc1 $f10,0x50($sp) +/* f06d8dc: 02002025 */ or $a0,$s0,$zero +/* f06d8e0: 0fc19711 */ jal func0f065c44 +/* f06d8e4: e60a000c */ swc1 $f10,0xc($s0) +/* f06d8e8: 27a40070 */ addiu $a0,$sp,0x70 +/* f06d8ec: 0fc195e9 */ jal roomsCopy +/* f06d8f0: 8fa5003c */ lw $a1,0x3c($sp) +.L0f06d8f4: +/* f06d8f4: 8fbf0034 */ lw $ra,0x34($sp) +.L0f06d8f8: +/* f06d8f8: 8fa2009c */ lw $v0,0x9c($sp) +/* f06d8fc: 8fb0002c */ lw $s0,0x2c($sp) +/* f06d900: 8fb10030 */ lw $s1,0x30($sp) +/* f06d904: 03e00008 */ jr $ra +/* f06d908: 27bd00a8 */ addiu $sp,$sp,0xa8 +); +#else GLOBAL_ASM( glabel func0f06d37c .late_rodata @@ -9108,6 +10058,7 @@ glabel var7f1aa26c /* f06d904: 03e00008 */ jr $ra /* f06d908: 27bd00a8 */ addiu $sp,$sp,0xa8 ); +#endif GLOBAL_ASM( glabel func0f06d90c @@ -10237,6 +11188,99 @@ glabel var7f1aa298 /* f06e878: 00000000 */ nop ); +#if PAL +GLOBAL_ASM( +glabel func0f06e87c +/* f06e87c: 27bdff98 */ addiu $sp,$sp,-104 +/* f06e880: afbf004c */ sw $ra,0x4c($sp) +/* f06e884: afb00048 */ sw $s0,0x48($sp) +/* f06e888: 8c820040 */ lw $v0,0x40($a0) +/* f06e88c: 00808025 */ or $s0,$a0,$zero +/* f06e890: 304e0080 */ andi $t6,$v0,0x80 +/* f06e894: 51c00049 */ beqzl $t6,.L0f06e9bc +/* f06e898: 8fbf004c */ lw $ra,0x4c($sp) +/* f06e89c: 8c830048 */ lw $v1,0x48($a0) +/* f06e8a0: 2401ffdf */ addiu $at,$zero,-33 +/* f06e8a4: 00417024 */ and $t6,$v0,$at +/* f06e8a8: 8c6f0000 */ lw $t7,0x0($v1) +/* f06e8ac: 24050001 */ addiu $a1,$zero,0x1 +/* f06e8b0: 3406ffff */ dli $a2,0xffff +/* f06e8b4: 31f80001 */ andi $t8,$t7,0x1 +/* f06e8b8: 5300003d */ beqzl $t8,.L0f06e9b0 +/* f06e8bc: ae0e0040 */ sw $t6,0x40($s0) +/* f06e8c0: 8c790090 */ lw $t9,0x90($v1) +/* f06e8c4: 30480020 */ andi $t0,$v0,0x20 +/* f06e8c8: 5f200039 */ bgtzl $t9,.L0f06e9b0 +/* f06e8cc: ae0e0040 */ sw $t6,0x40($s0) +/* f06e8d0: 11000036 */ beqz $t0,.L0f06e9ac +/* f06e8d4: 3c0a8007 */ lui $t2,%hi(var800699f4) +/* f06e8d8: 254a99f4 */ addiu $t2,$t2,%lo(var800699f4) +/* f06e8dc: 8d410000 */ lw $at,0x0($t2) +/* f06e8e0: 27a90060 */ addiu $t1,$sp,0x60 +/* f06e8e4: ad210000 */ sw $at,0x0($t1) +/* f06e8e8: 95410004 */ lhu $at,0x4($t2) +/* f06e8ec: 0c004b70 */ jal random +/* f06e8f0: a5210004 */ sh $at,0x4($t1) +/* f06e8f4: 24010003 */ addiu $at,$zero,0x3 +/* f06e8f8: 0041001b */ divu $zero,$v0,$at +/* f06e8fc: 00006810 */ mfhi $t5 +/* f06e900: afad005c */ sw $t5,0x5c($sp) +/* f06e904: 8e0e0048 */ lw $t6,0x48($s0) +/* f06e908: 3c18800a */ lui $t8,%hi(g_Vars+0x8) +/* f06e90c: 8f189fc8 */ lw $t8,%lo(g_Vars+0x8)($t8) +/* f06e910: 8dcf009c */ lw $t7,0x9c($t6) +/* f06e914: 24050001 */ addiu $a1,$zero,0x1 +/* f06e918: 2719fffa */ addiu $t9,$t8,-5 +/* f06e91c: 01f9082a */ slt $at,$t7,$t9 +/* f06e920: 10200025 */ beqz $at,.L0f06e9b8 +/* f06e924: 3406ffff */ dli $a2,0xffff +/* f06e928: 0fc249af */ jal func0f0926bc +/* f06e92c: 8e040014 */ lw $a0,0x14($s0) +/* f06e930: 0fc5b364 */ jal coreIsPaused +/* f06e934: 00000000 */ nop +/* f06e938: 1440001f */ bnez $v0,.L0f06e9b8 +/* f06e93c: 3c01bf80 */ lui $at,0xbf80 +/* f06e940: 8fa8005c */ lw $t0,0x5c($sp) +/* f06e944: 8e050014 */ lw $a1,0x14($s0) +/* f06e948: 44810000 */ mtc1 $at,$f0 +/* f06e94c: 00085840 */ sll $t3,$t0,0x1 +/* f06e950: 03ab3021 */ addu $a2,$sp,$t3 +/* f06e954: 84c60060 */ lh $a2,0x60($a2) +/* f06e958: 2409ffff */ addiu $t1,$zero,-1 +/* f06e95c: 240affff */ addiu $t2,$zero,-1 +/* f06e960: afaa002c */ sw $t2,0x2c($sp) +/* f06e964: afa90010 */ sw $t1,0x10($sp) +/* f06e968: afa00028 */ sw $zero,0x28($sp) +/* f06e96c: afa00020 */ sw $zero,0x20($sp) +/* f06e970: afa0001c */ sw $zero,0x1c($sp) +/* f06e974: afa00018 */ sw $zero,0x18($sp) +/* f06e978: afa00014 */ sw $zero,0x14($sp) +/* f06e97c: 00002025 */ or $a0,$zero,$zero +/* f06e980: 2407ffff */ addiu $a3,$zero,-1 +/* f06e984: e7a00038 */ swc1 $f0,0x38($sp) +/* f06e988: e7a00034 */ swc1 $f0,0x34($sp) +/* f06e98c: e7a00030 */ swc1 $f0,0x30($sp) +/* f06e990: 0fc24e7e */ jal func0f0939f8 +/* f06e994: e7a00024 */ swc1 $f0,0x24($sp) +/* f06e998: 3c0c800a */ lui $t4,%hi(g_Vars+0x8) +/* f06e99c: 8d8c9fc8 */ lw $t4,%lo(g_Vars+0x8)($t4) +/* f06e9a0: 8e0d0048 */ lw $t5,0x48($s0) +/* f06e9a4: 10000004 */ b .L0f06e9b8 +/* f06e9a8: adac009c */ sw $t4,0x9c($t5) +.L0f06e9ac: +/* f06e9ac: ae0e0040 */ sw $t6,0x40($s0) +.L0f06e9b0: +/* f06e9b0: 0fc249af */ jal func0f0926bc +/* f06e9b4: 8e040014 */ lw $a0,0x14($s0) +.L0f06e9b8: +/* f06e9b8: 8fbf004c */ lw $ra,0x4c($sp) +.L0f06e9bc: +/* f06e9bc: 8fb00048 */ lw $s0,0x48($sp) +/* f06e9c0: 27bd0068 */ addiu $sp,$sp,0x68 +/* f06e9c4: 03e00008 */ jr $ra +/* f06e9c8: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f06e87c /* f06e87c: 27bdff98 */ addiu $sp,$sp,-104 @@ -10328,6 +11372,7 @@ glabel func0f06e87c /* f06e9c4: 03e00008 */ jr $ra /* f06e9c8: 00000000 */ nop ); +#endif GLOBAL_ASM( glabel func0f06e9cc @@ -11136,6 +12181,1216 @@ void func0f06f504(struct prop *prop) } } +#if PAL +GLOBAL_ASM( +glabel func0f06f54c +.late_rodata +glabel var7f1aa2c0 +.word 0x47742400 +glabel var7f1aa2c4 +.word 0x3cd67750 +.text +/* f06f54c: 27bdfe50 */ addiu $sp,$sp,-432 +/* f06f550: afbf001c */ sw $ra,0x1c($sp) +/* f06f554: afb00018 */ sw $s0,0x18($sp) +/* f06f558: afa401b0 */ sw $a0,0x1b0($sp) +/* f06f55c: 8c820004 */ lw $v0,0x4($a0) +/* f06f560: 2406001e */ addiu $a2,$zero,0x1e +/* f06f564: afa201a8 */ sw $v0,0x1a8($sp) +/* f06f568: 904f005c */ lbu $t7,0x5c($v0) +/* f06f56c: 8fae01a8 */ lw $t6,0x1a8($sp) +/* f06f570: 00408025 */ or $s0,$v0,$zero +/* f06f574: 54cf0005 */ bnel $a2,$t7,.L0f06f58c +/* f06f578: 91c2005c */ lbu $v0,0x5c($t6) +/* f06f57c: 9059005f */ lbu $t9,0x5f($v0) +/* f06f580: 53200006 */ beqzl $t9,.L0f06f59c +/* f06f584: 8faf01a8 */ lw $t7,0x1a8($sp) +/* f06f588: 91c2005c */ lbu $v0,0x5c($t6) +.L0f06f58c: +/* f06f58c: 24010055 */ addiu $at,$zero,0x55 +/* f06f590: 544100cf */ bnel $v0,$at,.L0f06f8d0 +/* f06f594: 2405001f */ addiu $a1,$zero,0x1f +/* f06f598: 8faf01a8 */ lw $t7,0x1a8($sp) +.L0f06f59c: +/* f06f59c: 24010055 */ addiu $at,$zero,0x55 +/* f06f5a0: 85e30062 */ lh $v1,0x62($t7) +/* f06f5a4: 91e2005c */ lbu $v0,0x5c($t7) +/* f06f5a8: 046200c9 */ bltzl $v1,.L0f06f8d0 +/* f06f5ac: 2405001f */ addiu $a1,$zero,0x1f +/* f06f5b0: 1441005f */ bne $v0,$at,.L0f06f730 +/* f06f5b4: 3c0d800a */ lui $t5,%hi(g_Vars) +/* f06f5b8: 91f8005f */ lbu $t8,0x5f($t7) +/* f06f5bc: 24070001 */ addiu $a3,$zero,0x1 +/* f06f5c0: 14f8005b */ bne $a3,$t8,.L0f06f730 +/* f06f5c4: 00000000 */ nop +/* f06f5c8: 18600059 */ blez $v1,.L0f06f730 +/* f06f5cc: 28610002 */ slti $at,$v1,0x2 +/* f06f5d0: 14200055 */ bnez $at,.L0f06f728 +/* f06f5d4: 3c0d800a */ lui $t5,%hi(g_Vars) +/* f06f5d8: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars) +/* f06f5dc: 8db90034 */ lw $t9,0x34($t5) +/* f06f5e0: 00797023 */ subu $t6,$v1,$t9 +/* f06f5e4: 29c10008 */ slti $at,$t6,0x8 +/* f06f5e8: 102003e9 */ beqz $at,.L0f070590 +/* f06f5ec: a5ee0062 */ sh $t6,0x62($t7) +/* f06f5f0: 3c198007 */ lui $t9,%hi(var800699fc) +/* f06f5f4: 273999fc */ addiu $t9,$t9,%lo(var800699fc) +/* f06f5f8: 8f210000 */ lw $at,0x0($t9) +/* f06f5fc: 27b8019c */ addiu $t8,$sp,0x19c +/* f06f600: 8f2e0004 */ lw $t6,0x4($t9) +/* f06f604: af010000 */ sw $at,0x0($t8) +/* f06f608: 8f210008 */ lw $at,0x8($t9) +/* f06f60c: af0e0004 */ sw $t6,0x4($t8) +/* f06f610: af010008 */ sw $at,0x8($t8) +/* f06f614: afa00194 */ sw $zero,0x194($sp) +/* f06f618: 0fc1a179 */ jal func0f0685e4 +/* f06f61c: 8fa401b0 */ lw $a0,0x1b0($sp) +/* f06f620: 8e020040 */ lw $v0,0x40($s0) +/* f06f624: 8fa50194 */ lw $a1,0x194($sp) +/* f06f628: 24070001 */ addiu $a3,$zero,0x1 +/* f06f62c: 304f0040 */ andi $t7,$v0,0x40 +/* f06f630: 11e00004 */ beqz $t7,.L0f06f644 +/* f06f634: 30590080 */ andi $t9,$v0,0x80 +/* f06f638: 8e180048 */ lw $t8,0x48($s0) +/* f06f63c: 10000004 */ b .L0f06f650 +/* f06f640: 8f050044 */ lw $a1,0x44($t8) +.L0f06f644: +/* f06f644: 13200002 */ beqz $t9,.L0f06f650 +/* f06f648: 00000000 */ nop +/* f06f64c: 8e050048 */ lw $a1,0x48($s0) +.L0f06f650: +/* f06f650: 10a00032 */ beqz $a1,.L0f06f71c +/* f06f654: 8fb801a8 */ lw $t8,0x1a8($sp) +/* f06f658: 8fae01b0 */ lw $t6,0x1b0($sp) +/* f06f65c: 8dcf0018 */ lw $t7,0x18($t6) +/* f06f660: 01c01825 */ or $v1,$t6,$zero +/* f06f664: 11e00006 */ beqz $t7,.L0f06f680 +/* f06f668: 00000000 */ nop +/* f06f66c: 8dc20018 */ lw $v0,0x18($t6) +/* f06f670: 00401825 */ or $v1,$v0,$zero +.L0f06f674: +/* f06f674: 8c420018 */ lw $v0,0x18($v0) +/* f06f678: 5440fffe */ bnezl $v0,.L0f06f674 +/* f06f67c: 00401825 */ or $v1,$v0,$zero +.L0f06f680: +/* f06f680: 5060000d */ beqzl $v1,.L0f06f6b8 +/* f06f684: 8cae0000 */ lw $t6,0x0($a1) +/* f06f688: 90620000 */ lbu $v0,0x0($v1) +/* f06f68c: 24010003 */ addiu $at,$zero,0x3 +/* f06f690: 10410003 */ beq $v0,$at,.L0f06f6a0 +/* f06f694: 24010006 */ addiu $at,$zero,0x6 +/* f06f698: 54410007 */ bnel $v0,$at,.L0f06f6b8 +/* f06f69c: 8cae0000 */ lw $t6,0x0($a1) +.L0f06f6a0: +/* f06f6a0: 8c620004 */ lw $v0,0x4($v1) +/* f06f6a4: 8c580014 */ lw $t8,0x14($v0) +/* f06f6a8: 37190001 */ ori $t9,$t8,0x1 +/* f06f6ac: 10000005 */ b .L0f06f6c4 +/* f06f6b0: ac590014 */ sw $t9,0x14($v0) +/* f06f6b4: 8cae0000 */ lw $t6,0x0($a1) +.L0f06f6b8: +/* f06f6b8: aca00088 */ sw $zero,0x88($a1) +/* f06f6bc: 35cf0001 */ ori $t7,$t6,0x1 +/* f06f6c0: acaf0000 */ sw $t7,0x0($a1) +.L0f06f6c4: +/* f06f6c4: 8fb801a8 */ lw $t8,0x1a8($sp) +/* f06f6c8: a7070062 */ sh $a3,0x62($t8) +/* f06f6cc: afa50194 */ sw $a1,0x194($sp) +/* f06f6d0: 0fc1a1a5 */ jal func0f068694 +/* f06f6d4: 8fa401b0 */ lw $a0,0x1b0($sp) +/* f06f6d8: 8fa50194 */ lw $a1,0x194($sp) +/* f06f6dc: c7a4019c */ lwc1 $f4,0x19c($sp) +/* f06f6e0: 24a40020 */ addiu $a0,$a1,0x20 +/* f06f6e4: e4a40004 */ swc1 $f4,0x4($a1) +/* f06f6e8: c7a601a0 */ lwc1 $f6,0x1a0($sp) +/* f06f6ec: e4a60008 */ swc1 $f6,0x8($a1) +/* f06f6f0: c7a801a4 */ lwc1 $f8,0x1a4($sp) +/* f06f6f4: 0c00566c */ jal func000159b0 +/* f06f6f8: e4a8000c */ swc1 $f8,0xc($a1) +/* f06f6fc: 8fa50194 */ lw $a1,0x194($sp) +/* f06f700: 8fb901a8 */ lw $t9,0x1a8($sp) +/* f06f704: 3c0d800a */ lui $t5,%hi(g_Vars) +/* f06f708: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars) +/* f06f70c: acb900d4 */ sw $t9,0xd4($a1) +/* f06f710: 8dae000c */ lw $t6,0xc($t5) +/* f06f714: 1000039e */ b .L0f070590 +/* f06f718: acae00d8 */ sw $t6,0xd8($a1) +.L0f06f71c: +/* f06f71c: 240f0002 */ addiu $t7,$zero,0x2 +/* f06f720: 1000039b */ b .L0f070590 +/* f06f724: a70f0062 */ sh $t7,0x62($t8) +.L0f06f728: +/* f06f728: 1000039a */ b .L0f070594 +/* f06f72c: 8e190010 */ lw $t9,0x10($s0) +.L0f06f730: +/* f06f730: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars) +/* f06f734: 8db90034 */ lw $t9,0x34($t5) +/* f06f738: 8faf01a8 */ lw $t7,0x1a8($sp) +/* f06f73c: 00797023 */ subu $t6,$v1,$t9 +/* f06f740: 05c10393 */ bgez $t6,.L0f070590 +/* f06f744: a5ee0062 */ sh $t6,0x62($t7) +/* f06f748: 0fc10e62 */ jal propUnsetDangerous +/* f06f74c: 8fa401b0 */ lw $a0,0x1b0($sp) +/* f06f750: 8fb801a8 */ lw $t8,0x1a8($sp) +/* f06f754: 24010002 */ addiu $at,$zero,0x2 +/* f06f758: 8fa401b0 */ lw $a0,0x1b0($sp) +/* f06f75c: 9319005f */ lbu $t9,0x5f($t8) +/* f06f760: 57210007 */ bnel $t9,$at,.L0f06f780 +/* f06f764: 8e0f000c */ lw $t7,0xc($s0) +/* f06f768: 0fc1bcc5 */ jal func0f06f314 +/* f06f76c: 24050015 */ addiu $a1,$zero,0x15 +/* f06f770: 3c0d800a */ lui $t5,%hi(g_Vars) +/* f06f774: 1000000c */ b .L0f06f7a8 +/* f06f778: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars) +/* f06f77c: 8e0f000c */ lw $t7,0xc($s0) +.L0f06f780: +/* f06f780: 2405000d */ addiu $a1,$zero,0xd +/* f06f784: 000f7000 */ sll $t6,$t7,0x0 +/* f06f788: 05c10003 */ bgez $t6,.L0f06f798 +/* f06f78c: 00000000 */ nop +/* f06f790: 10000001 */ b .L0f06f798 +/* f06f794: 24050011 */ addiu $a1,$zero,0x11 +.L0f06f798: +/* f06f798: 0fc1bcc5 */ jal func0f06f314 +/* f06f79c: 8fa401b0 */ lw $a0,0x1b0($sp) +/* f06f7a0: 3c0d800a */ lui $t5,%hi(g_Vars) +/* f06f7a4: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars) +.L0f06f7a8: +/* f06f7a8: 8e180040 */ lw $t8,0x40($s0) +/* f06f7ac: 00004025 */ or $t0,$zero,$zero +/* f06f7b0: 00003025 */ or $a2,$zero,$zero +/* f06f7b4: 37190004 */ ori $t9,$t8,0x4 +/* f06f7b8: ae190040 */ sw $t9,0x40($s0) +/* f06f7bc: 8dab006c */ lw $t3,0x6c($t5) +/* f06f7c0: 00002025 */ or $a0,$zero,$zero +/* f06f7c4: 00001025 */ or $v0,$zero,$zero +/* f06f7c8: 11600003 */ beqz $t3,.L0f06f7d8 +/* f06f7cc: 00002825 */ or $a1,$zero,$zero +/* f06f7d0: 10000001 */ b .L0f06f7d8 +/* f06f7d4: 24060001 */ addiu $a2,$zero,0x1 +.L0f06f7d8: +/* f06f7d8: 8daa0068 */ lw $t2,0x68($t5) +/* f06f7dc: 0008c880 */ sll $t9,$t0,0x2 +/* f06f7e0: 01b91821 */ addu $v1,$t5,$t9 +/* f06f7e4: 11400003 */ beqz $t2,.L0f06f7f4 +/* f06f7e8: 240c0003 */ addiu $t4,$zero,0x3 +/* f06f7ec: 10000001 */ b .L0f06f7f4 +/* f06f7f0: 24040001 */ addiu $a0,$zero,0x1 +.L0f06f7f4: +/* f06f7f4: 8da90064 */ lw $t1,0x64($t5) +/* f06f7f8: 11200003 */ beqz $t1,.L0f06f808 +/* f06f7fc: 00000000 */ nop +/* f06f800: 10000001 */ b .L0f06f808 +/* f06f804: 24020001 */ addiu $v0,$zero,0x1 +.L0f06f808: +/* f06f808: 8da70070 */ lw $a3,0x70($t5) +/* f06f80c: 10e00003 */ beqz $a3,.L0f06f81c +/* f06f810: 00000000 */ nop +/* f06f814: 10000001 */ b .L0f06f81c +/* f06f818: 24050001 */ addiu $a1,$zero,0x1 +.L0f06f81c: +/* f06f81c: 00a27821 */ addu $t7,$a1,$v0 +/* f06f820: 01e47021 */ addu $t6,$t7,$a0 +/* f06f824: 01c6c021 */ addu $t8,$t6,$a2 +/* f06f828: 5b00035a */ blezl $t8,.L0f070594 +/* f06f82c: 8e190010 */ lw $t9,0x10($s0) +/* f06f830: 8c620064 */ lw $v0,0x64($v1) +.L0f06f834: +/* f06f834: 25080001 */ addiu $t0,$t0,0x1 +/* f06f838: 00003025 */ or $a2,$zero,$zero +/* f06f83c: 8c4f0264 */ lw $t7,0x264($v0) +/* f06f840: 00002025 */ or $a0,$zero,$zero +/* f06f844: 00002825 */ or $a1,$zero,$zero +/* f06f848: 160f0008 */ bne $s0,$t7,.L0f06f86c +/* f06f84c: 00000000 */ nop +/* f06f850: ac400264 */ sw $zero,0x264($v0) +/* f06f854: 8c6e0064 */ lw $t6,0x64($v1) +/* f06f858: a5cc0010 */ sh $t4,0x10($t6) +/* f06f85c: 8da70070 */ lw $a3,0x70($t5) +/* f06f860: 8da90064 */ lw $t1,0x64($t5) +/* f06f864: 8daa0068 */ lw $t2,0x68($t5) +/* f06f868: 8dab006c */ lw $t3,0x6c($t5) +.L0f06f86c: +/* f06f86c: 11600003 */ beqz $t3,.L0f06f87c +/* f06f870: 24630004 */ addiu $v1,$v1,0x4 +/* f06f874: 10000001 */ b .L0f06f87c +/* f06f878: 24060001 */ addiu $a2,$zero,0x1 +.L0f06f87c: +/* f06f87c: 11400003 */ beqz $t2,.L0f06f88c +/* f06f880: 00001025 */ or $v0,$zero,$zero +/* f06f884: 10000001 */ b .L0f06f88c +/* f06f888: 24040001 */ addiu $a0,$zero,0x1 +.L0f06f88c: +/* f06f88c: 11200003 */ beqz $t1,.L0f06f89c +/* f06f890: 00000000 */ nop +/* f06f894: 10000001 */ b .L0f06f89c +/* f06f898: 24020001 */ addiu $v0,$zero,0x1 +.L0f06f89c: +/* f06f89c: 10e00003 */ beqz $a3,.L0f06f8ac +/* f06f8a0: 00000000 */ nop +/* f06f8a4: 10000001 */ b .L0f06f8ac +/* f06f8a8: 24050001 */ addiu $a1,$zero,0x1 +.L0f06f8ac: +/* f06f8ac: 00a2c021 */ addu $t8,$a1,$v0 +/* f06f8b0: 0304c821 */ addu $t9,$t8,$a0 +/* f06f8b4: 03267821 */ addu $t7,$t9,$a2 +/* f06f8b8: 010f082a */ slt $at,$t0,$t7 +/* f06f8bc: 5420ffdd */ bnezl $at,.L0f06f834 +/* f06f8c0: 8c620064 */ lw $v0,0x64($v1) +/* f06f8c4: 10000333 */ b .L0f070594 +/* f06f8c8: 8e190010 */ lw $t9,0x10($s0) +/* f06f8cc: 2405001f */ addiu $a1,$zero,0x1f +.L0f06f8d0: +/* f06f8d0: 54a2006b */ bnel $a1,$v0,.L0f06fa80 +/* f06f8d4: 24010053 */ addiu $at,$zero,0x53 +/* f06f8d8: 8fae01a8 */ lw $t6,0x1a8($sp) +/* f06f8dc: 91d8005f */ lbu $t8,0x5f($t6) +/* f06f8e0: 57000067 */ bnezl $t8,.L0f06fa80 +/* f06f8e4: 24010053 */ addiu $at,$zero,0x53 +/* f06f8e8: 85c30062 */ lh $v1,0x62($t6) +/* f06f8ec: 3c0d800a */ lui $t5,%hi(g_Vars) +/* f06f8f0: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars) +/* f06f8f4: 0460005f */ bltz $v1,.L0f06fa74 +/* f06f8f8: 00000000 */ nop +/* f06f8fc: 8db90034 */ lw $t9,0x34($t5) +/* f06f900: 00002825 */ or $a1,$zero,$zero +/* f06f904: 00797823 */ subu $t7,$v1,$t9 +/* f06f908: 05e1005a */ bgez $t7,.L0f06fa74 +/* f06f90c: a5cf0062 */ sh $t7,0x62($t6) +/* f06f910: 8e040040 */ lw $a0,0x40($s0) +/* f06f914: 8dae0318 */ lw $t6,0x318($t5) +/* f06f918: 3c01f000 */ lui $at,0xf000 +/* f06f91c: 0081c024 */ and $t8,$a0,$at +/* f06f920: 11c00006 */ beqz $t6,.L0f06f93c +/* f06f924: 00182702 */ srl $a0,$t8,0x1c +/* f06f928: 0fc63410 */ jal mpGetChrFromPlayerIndex +/* f06f92c: afa0018c */ sw $zero,0x18c($sp) +/* f06f930: 10400002 */ beqz $v0,.L0f06f93c +/* f06f934: 8fa5018c */ lw $a1,0x18c($sp) +/* f06f938: 8c45001c */ lw $a1,0x1c($v0) +.L0f06f93c: +/* f06f93c: 8fa601b0 */ lw $a2,0x1b0($sp) +/* f06f940: 0fc0287e */ jal nbombCreate +/* f06f944: 24c40008 */ addiu $a0,$a2,0x8 +/* f06f948: 0fc10e62 */ jal propUnsetDangerous +/* f06f94c: 8fa401b0 */ lw $a0,0x1b0($sp) +/* f06f950: 8e180040 */ lw $t8,0x40($s0) +/* f06f954: 3c0d800a */ lui $t5,%hi(g_Vars) +/* f06f958: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars) +/* f06f95c: 37190004 */ ori $t9,$t8,0x4 +/* f06f960: ae190040 */ sw $t9,0x40($s0) +/* f06f964: 8dab006c */ lw $t3,0x6c($t5) +/* f06f968: 00004025 */ or $t0,$zero,$zero +/* f06f96c: 00003025 */ or $a2,$zero,$zero +/* f06f970: 11600003 */ beqz $t3,.L0f06f980 +/* f06f974: 00002025 */ or $a0,$zero,$zero +/* f06f978: 10000001 */ b .L0f06f980 +/* f06f97c: 24060001 */ addiu $a2,$zero,0x1 +.L0f06f980: +/* f06f980: 8daa0068 */ lw $t2,0x68($t5) +/* f06f984: 00001025 */ or $v0,$zero,$zero +/* f06f988: 00002825 */ or $a1,$zero,$zero +/* f06f98c: 11400003 */ beqz $t2,.L0f06f99c +/* f06f990: 0008c880 */ sll $t9,$t0,0x2 +/* f06f994: 10000001 */ b .L0f06f99c +/* f06f998: 24040001 */ addiu $a0,$zero,0x1 +.L0f06f99c: +/* f06f99c: 8da90064 */ lw $t1,0x64($t5) +/* f06f9a0: 01b91821 */ addu $v1,$t5,$t9 +/* f06f9a4: 240c0003 */ addiu $t4,$zero,0x3 +/* f06f9a8: 11200003 */ beqz $t1,.L0f06f9b8 +/* f06f9ac: 00000000 */ nop +/* f06f9b0: 10000001 */ b .L0f06f9b8 +/* f06f9b4: 24020001 */ addiu $v0,$zero,0x1 +.L0f06f9b8: +/* f06f9b8: 8da70070 */ lw $a3,0x70($t5) +/* f06f9bc: 10e00003 */ beqz $a3,.L0f06f9cc +/* f06f9c0: 00000000 */ nop +/* f06f9c4: 10000001 */ b .L0f06f9cc +/* f06f9c8: 24050001 */ addiu $a1,$zero,0x1 +.L0f06f9cc: +/* f06f9cc: 00a27021 */ addu $t6,$a1,$v0 +/* f06f9d0: 01c47821 */ addu $t7,$t6,$a0 +/* f06f9d4: 01e6c021 */ addu $t8,$t7,$a2 +/* f06f9d8: 1b000026 */ blez $t8,.L0f06fa74 +/* f06f9dc: 00000000 */ nop +/* f06f9e0: 8c620064 */ lw $v0,0x64($v1) +.L0f06f9e4: +/* f06f9e4: 25080001 */ addiu $t0,$t0,0x1 +/* f06f9e8: 00003025 */ or $a2,$zero,$zero +/* f06f9ec: 8c4e0264 */ lw $t6,0x264($v0) +/* f06f9f0: 00002025 */ or $a0,$zero,$zero +/* f06f9f4: 00002825 */ or $a1,$zero,$zero +/* f06f9f8: 160e0008 */ bne $s0,$t6,.L0f06fa1c +/* f06f9fc: 00000000 */ nop +/* f06fa00: ac400264 */ sw $zero,0x264($v0) +/* f06fa04: 8c6f0064 */ lw $t7,0x64($v1) +/* f06fa08: a5ec0010 */ sh $t4,0x10($t7) +/* f06fa0c: 8da70070 */ lw $a3,0x70($t5) +/* f06fa10: 8da90064 */ lw $t1,0x64($t5) +/* f06fa14: 8daa0068 */ lw $t2,0x68($t5) +/* f06fa18: 8dab006c */ lw $t3,0x6c($t5) +.L0f06fa1c: +/* f06fa1c: 11600003 */ beqz $t3,.L0f06fa2c +/* f06fa20: 24630004 */ addiu $v1,$v1,0x4 +/* f06fa24: 10000001 */ b .L0f06fa2c +/* f06fa28: 24060001 */ addiu $a2,$zero,0x1 +.L0f06fa2c: +/* f06fa2c: 11400003 */ beqz $t2,.L0f06fa3c +/* f06fa30: 00001025 */ or $v0,$zero,$zero +/* f06fa34: 10000001 */ b .L0f06fa3c +/* f06fa38: 24040001 */ addiu $a0,$zero,0x1 +.L0f06fa3c: +/* f06fa3c: 11200003 */ beqz $t1,.L0f06fa4c +/* f06fa40: 00000000 */ nop +/* f06fa44: 10000001 */ b .L0f06fa4c +/* f06fa48: 24020001 */ addiu $v0,$zero,0x1 +.L0f06fa4c: +/* f06fa4c: 10e00003 */ beqz $a3,.L0f06fa5c +/* f06fa50: 00000000 */ nop +/* f06fa54: 10000001 */ b .L0f06fa5c +/* f06fa58: 24050001 */ addiu $a1,$zero,0x1 +.L0f06fa5c: +/* f06fa5c: 00a2c021 */ addu $t8,$a1,$v0 +/* f06fa60: 0304c821 */ addu $t9,$t8,$a0 +/* f06fa64: 03267021 */ addu $t6,$t9,$a2 +/* f06fa68: 010e082a */ slt $at,$t0,$t6 +/* f06fa6c: 5420ffdd */ bnezl $at,.L0f06f9e4 +/* f06fa70: 8c620064 */ lw $v0,0x64($v1) +.L0f06fa74: +/* f06fa74: 100002c7 */ b .L0f070594 +/* f06fa78: 8e190010 */ lw $t9,0x10($s0) +/* f06fa7c: 24010053 */ addiu $at,$zero,0x53 +.L0f06fa80: +/* f06fa80: 10410005 */ beq $v0,$at,.L0f06fa98 +/* f06fa84: 24010054 */ addiu $at,$zero,0x54 +/* f06fa88: 10410003 */ beq $v0,$at,.L0f06fa98 +/* f06fa8c: 24010058 */ addiu $at,$zero,0x58 +/* f06fa90: 5441005a */ bnel $v0,$at,.L0f06fbfc +/* f06fa94: 24010020 */ addiu $at,$zero,0x20 +.L0f06fa98: +/* f06fa98: 8faf01a8 */ lw $t7,0x1a8($sp) +/* f06fa9c: 85f80062 */ lh $t8,0x62($t7) +/* f06faa0: 17000053 */ bnez $t8,.L0f06fbf0 +/* f06faa4: 00000000 */ nop +/* f06faa8: 8e19000c */ lw $t9,0xc($s0) +/* f06faac: 2405000d */ addiu $a1,$zero,0xd +/* f06fab0: 00197000 */ sll $t6,$t9,0x0 +/* f06fab4: 05c10003 */ bgez $t6,.L0f06fac4 +/* f06fab8: 00000000 */ nop +/* f06fabc: 10000001 */ b .L0f06fac4 +/* f06fac0: 24050011 */ addiu $a1,$zero,0x11 +.L0f06fac4: +/* f06fac4: 0fc1bcc5 */ jal func0f06f314 +/* f06fac8: 8fa401b0 */ lw $a0,0x1b0($sp) +/* f06facc: 8e0f0040 */ lw $t7,0x40($s0) +/* f06fad0: 3c0d800a */ lui $t5,%hi(g_Vars) +/* f06fad4: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars) +/* f06fad8: 35f80004 */ ori $t8,$t7,0x4 +/* f06fadc: ae180040 */ sw $t8,0x40($s0) +/* f06fae0: 8dab006c */ lw $t3,0x6c($t5) +/* f06fae4: 00004025 */ or $t0,$zero,$zero +/* f06fae8: 00003025 */ or $a2,$zero,$zero +/* f06faec: 11600003 */ beqz $t3,.L0f06fafc +/* f06faf0: 00002025 */ or $a0,$zero,$zero +/* f06faf4: 10000001 */ b .L0f06fafc +/* f06faf8: 24060001 */ addiu $a2,$zero,0x1 +.L0f06fafc: +/* f06fafc: 8daa0068 */ lw $t2,0x68($t5) +/* f06fb00: 00001025 */ or $v0,$zero,$zero +/* f06fb04: 00002825 */ or $a1,$zero,$zero +/* f06fb08: 11400003 */ beqz $t2,.L0f06fb18 +/* f06fb0c: 0008c080 */ sll $t8,$t0,0x2 +/* f06fb10: 10000001 */ b .L0f06fb18 +/* f06fb14: 24040001 */ addiu $a0,$zero,0x1 +.L0f06fb18: +/* f06fb18: 8da90064 */ lw $t1,0x64($t5) +/* f06fb1c: 01b81821 */ addu $v1,$t5,$t8 +/* f06fb20: 240c0003 */ addiu $t4,$zero,0x3 +/* f06fb24: 11200003 */ beqz $t1,.L0f06fb34 +/* f06fb28: 00000000 */ nop +/* f06fb2c: 10000001 */ b .L0f06fb34 +/* f06fb30: 24020001 */ addiu $v0,$zero,0x1 +.L0f06fb34: +/* f06fb34: 8da70070 */ lw $a3,0x70($t5) +/* f06fb38: 10e00003 */ beqz $a3,.L0f06fb48 +/* f06fb3c: 00000000 */ nop +/* f06fb40: 10000001 */ b .L0f06fb48 +/* f06fb44: 24050001 */ addiu $a1,$zero,0x1 +.L0f06fb48: +/* f06fb48: 00a2c821 */ addu $t9,$a1,$v0 +/* f06fb4c: 03247021 */ addu $t6,$t9,$a0 +/* f06fb50: 01c67821 */ addu $t7,$t6,$a2 +/* f06fb54: 19e00026 */ blez $t7,.L0f06fbf0 +/* f06fb58: 00000000 */ nop +/* f06fb5c: 8c620064 */ lw $v0,0x64($v1) +.L0f06fb60: +/* f06fb60: 25080001 */ addiu $t0,$t0,0x1 +/* f06fb64: 00003025 */ or $a2,$zero,$zero +/* f06fb68: 8c590264 */ lw $t9,0x264($v0) +/* f06fb6c: 00002025 */ or $a0,$zero,$zero +/* f06fb70: 00002825 */ or $a1,$zero,$zero +/* f06fb74: 16190008 */ bne $s0,$t9,.L0f06fb98 +/* f06fb78: 00000000 */ nop +/* f06fb7c: ac400264 */ sw $zero,0x264($v0) +/* f06fb80: 8c6e0064 */ lw $t6,0x64($v1) +/* f06fb84: a5cc0010 */ sh $t4,0x10($t6) +/* f06fb88: 8da70070 */ lw $a3,0x70($t5) +/* f06fb8c: 8da90064 */ lw $t1,0x64($t5) +/* f06fb90: 8daa0068 */ lw $t2,0x68($t5) +/* f06fb94: 8dab006c */ lw $t3,0x6c($t5) +.L0f06fb98: +/* f06fb98: 11600003 */ beqz $t3,.L0f06fba8 +/* f06fb9c: 24630004 */ addiu $v1,$v1,0x4 +/* f06fba0: 10000001 */ b .L0f06fba8 +/* f06fba4: 24060001 */ addiu $a2,$zero,0x1 +.L0f06fba8: +/* f06fba8: 11400003 */ beqz $t2,.L0f06fbb8 +/* f06fbac: 00001025 */ or $v0,$zero,$zero +/* f06fbb0: 10000001 */ b .L0f06fbb8 +/* f06fbb4: 24040001 */ addiu $a0,$zero,0x1 +.L0f06fbb8: +/* f06fbb8: 11200003 */ beqz $t1,.L0f06fbc8 +/* f06fbbc: 00000000 */ nop +/* f06fbc0: 10000001 */ b .L0f06fbc8 +/* f06fbc4: 24020001 */ addiu $v0,$zero,0x1 +.L0f06fbc8: +/* f06fbc8: 10e00003 */ beqz $a3,.L0f06fbd8 +/* f06fbcc: 00000000 */ nop +/* f06fbd0: 10000001 */ b .L0f06fbd8 +/* f06fbd4: 24050001 */ addiu $a1,$zero,0x1 +.L0f06fbd8: +/* f06fbd8: 00a27821 */ addu $t7,$a1,$v0 +/* f06fbdc: 01e4c021 */ addu $t8,$t7,$a0 +/* f06fbe0: 0306c821 */ addu $t9,$t8,$a2 +/* f06fbe4: 0119082a */ slt $at,$t0,$t9 +/* f06fbe8: 5420ffdd */ bnezl $at,.L0f06fb60 +/* f06fbec: 8c620064 */ lw $v0,0x64($v1) +.L0f06fbf0: +/* f06fbf0: 10000268 */ b .L0f070594 +/* f06fbf4: 8e190010 */ lw $t9,0x10($s0) +/* f06fbf8: 24010020 */ addiu $at,$zero,0x20 +.L0f06fbfc: +/* f06fbfc: 54410022 */ bnel $v0,$at,.L0f06fc88 +/* f06fc00: 24010022 */ addiu $at,$zero,0x22 +/* f06fc04: 8fae01a8 */ lw $t6,0x1a8($sp) +/* f06fc08: 85c30062 */ lh $v1,0x62($t6) +/* f06fc0c: 0462001e */ bltzl $v1,.L0f06fc88 +/* f06fc10: 24010022 */ addiu $at,$zero,0x22 +/* f06fc14: 91cf005f */ lbu $t7,0x5f($t6) +/* f06fc18: 3c0d800a */ lui $t5,%hi(g_Vars) +/* f06fc1c: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars) +/* f06fc20: 15e00016 */ bnez $t7,.L0f06fc7c +/* f06fc24: 00000000 */ nop +/* f06fc28: 8db80034 */ lw $t8,0x34($t5) +/* f06fc2c: 0078c823 */ subu $t9,$v1,$t8 +/* f06fc30: 07210257 */ bgez $t9,.L0f070590 +/* f06fc34: a5d90062 */ sh $t9,0x62($t6) +/* f06fc38: 8e0f000c */ lw $t7,0xc($s0) +/* f06fc3c: 2405000d */ addiu $a1,$zero,0xd +/* f06fc40: 000fc000 */ sll $t8,$t7,0x0 +/* f06fc44: 07010003 */ bgez $t8,.L0f06fc54 +/* f06fc48: 00000000 */ nop +/* f06fc4c: 10000001 */ b .L0f06fc54 +/* f06fc50: 24050011 */ addiu $a1,$zero,0x11 +.L0f06fc54: +/* f06fc54: 0fc1bcc5 */ jal func0f06f314 +/* f06fc58: 8fa401b0 */ lw $a0,0x1b0($sp) +/* f06fc5c: 1040024c */ beqz $v0,.L0f070590 +/* f06fc60: 8fb901a8 */ lw $t9,0x1a8($sp) +/* f06fc64: 240effff */ addiu $t6,$zero,-1 +/* f06fc68: a72e0062 */ sh $t6,0x62($t9) +/* f06fc6c: 8e0f0040 */ lw $t7,0x40($s0) +/* f06fc70: 35f80004 */ ori $t8,$t7,0x4 +/* f06fc74: 10000246 */ b .L0f070590 +/* f06fc78: ae180040 */ sw $t8,0x40($s0) +.L0f06fc7c: +/* f06fc7c: 10000245 */ b .L0f070594 +/* f06fc80: 8e190010 */ lw $t9,0x10($s0) +/* f06fc84: 24010022 */ addiu $at,$zero,0x22 +.L0f06fc88: +/* f06fc88: 5441007a */ bnel $v0,$at,.L0f06fe74 +/* f06fc8c: 24010021 */ addiu $at,$zero,0x21 +/* f06fc90: 3c058007 */ lui $a1,%hi(var80069910) +/* f06fc94: 24a59910 */ addiu $a1,$a1,%lo(var80069910) +/* f06fc98: 8cae0000 */ lw $t6,0x0($a1) +/* f06fc9c: 8fb801b0 */ lw $t8,0x1b0($sp) +/* f06fca0: 51c00053 */ beqzl $t6,.L0f06fdf0 +/* f06fca4: 8fb801a8 */ lw $t8,0x1a8($sp) +/* f06fca8: 8e030040 */ lw $v1,0x40($s0) +/* f06fcac: 8f020018 */ lw $v0,0x18($t8) +/* f06fcb0: 3c01f000 */ lui $at,0xf000 +/* f06fcb4: 0061c824 */ and $t9,$v1,$at +/* f06fcb8: 10400003 */ beqz $v0,.L0f06fcc8 +/* f06fcbc: 00191f02 */ srl $v1,$t9,0x1c +/* f06fcc0: 10000002 */ b .L0f06fccc +/* f06fcc4: 8c440004 */ lw $a0,0x4($v0) +.L0f06fcc8: +/* f06fcc8: 00002025 */ or $a0,$zero,$zero +.L0f06fccc: +/* f06fccc: 10400009 */ beqz $v0,.L0f06fcf4 +/* f06fcd0: 00000000 */ nop +/* f06fcd4: 10800007 */ beqz $a0,.L0f06fcf4 +/* f06fcd8: 00000000 */ nop +/* f06fcdc: 0fc633fe */ jal mpPlayerGetIndex +/* f06fce0: afa30178 */ sw $v1,0x178($sp) +/* f06fce4: 8fa30178 */ lw $v1,0x178($sp) +/* f06fce8: 3c058007 */ lui $a1,%hi(var80069910) +/* f06fcec: 24a59910 */ addiu $a1,$a1,%lo(var80069910) +/* f06fcf0: 1043003e */ beq $v0,$v1,.L0f06fdec +.L0f06fcf4: +/* f06fcf4: 3c0d800a */ lui $t5,%hi(g_Vars) +/* f06fcf8: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars) +/* f06fcfc: 8dae0298 */ lw $t6,0x298($t5) +/* f06fd00: 24010002 */ addiu $at,$zero,0x2 +/* f06fd04: 05c10004 */ bgez $t6,.L0f06fd18 +/* f06fd08: 00000000 */ nop +/* f06fd0c: 8db9029c */ lw $t9,0x29c($t5) +/* f06fd10: 07220030 */ bltzl $t9,.L0f06fdd4 +/* f06fd14: 8cae0000 */ lw $t6,0x0($a1) +.L0f06fd18: +/* f06fd18: 54610026 */ bnel $v1,$at,.L0f06fdb4 +/* f06fd1c: 8cb80000 */ lw $t8,0x0($a1) +/* f06fd20: 8da202a4 */ lw $v0,0x2a4($t5) +/* f06fd24: 00001825 */ or $v1,$zero,$zero +/* f06fd28: 5040000d */ beqzl $v0,.L0f06fd60 +/* f06fd2c: 8da202a0 */ lw $v0,0x2a0($t5) +/* f06fd30: 8c4400bc */ lw $a0,0xbc($v0) +/* f06fd34: 5080000a */ beqzl $a0,.L0f06fd60 +/* f06fd38: 8da202a0 */ lw $v0,0x2a0($t5) +/* f06fd3c: 0fc4a25f */ jal propGetPlayerNum +/* f06fd40: 00000000 */ nop +/* f06fd44: 3c058007 */ lui $a1,%hi(var80069910) +/* f06fd48: 3c0d800a */ lui $t5,%hi(g_Vars) +/* f06fd4c: 240f0001 */ addiu $t7,$zero,0x1 +/* f06fd50: 004f1804 */ sllv $v1,$t7,$v0 +/* f06fd54: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars) +/* f06fd58: 24a59910 */ addiu $a1,$a1,%lo(var80069910) +/* f06fd5c: 8da202a0 */ lw $v0,0x2a0($t5) +.L0f06fd60: +/* f06fd60: 5040000d */ beqzl $v0,.L0f06fd98 +/* f06fd64: 8cb90000 */ lw $t9,0x0($a1) +/* f06fd68: 8c4400bc */ lw $a0,0xbc($v0) +/* f06fd6c: 5080000a */ beqzl $a0,.L0f06fd98 +/* f06fd70: 8cb90000 */ lw $t9,0x0($a1) +/* f06fd74: 0fc4a25f */ jal propGetPlayerNum +/* f06fd78: afa30170 */ sw $v1,0x170($sp) +/* f06fd7c: 8fa30170 */ lw $v1,0x170($sp) +/* f06fd80: 24180001 */ addiu $t8,$zero,0x1 +/* f06fd84: 00587004 */ sllv $t6,$t8,$v0 +/* f06fd88: 3c058007 */ lui $a1,%hi(var80069910) +/* f06fd8c: 24a59910 */ addiu $a1,$a1,%lo(var80069910) +/* f06fd90: 006e1825 */ or $v1,$v1,$t6 +/* f06fd94: 8cb90000 */ lw $t9,0x0($a1) +.L0f06fd98: +/* f06fd98: 03237824 */ and $t7,$t9,$v1 +/* f06fd9c: 11e00013 */ beqz $t7,.L0f06fdec +/* f06fda0: acaf0000 */ sw $t7,0x0($a1) +/* f06fda4: 8fae01a8 */ lw $t6,0x1a8($sp) +/* f06fda8: 10000010 */ b .L0f06fdec +/* f06fdac: a5c00062 */ sh $zero,0x62($t6) +/* f06fdb0: 8cb80000 */ lw $t8,0x0($a1) +.L0f06fdb4: +/* f06fdb4: 24190001 */ addiu $t9,$zero,0x1 +/* f06fdb8: 00797804 */ sllv $t7,$t9,$v1 +/* f06fdbc: 01f87024 */ and $t6,$t7,$t8 +/* f06fdc0: 11c0000a */ beqz $t6,.L0f06fdec +/* f06fdc4: 8fb901a8 */ lw $t9,0x1a8($sp) +/* f06fdc8: 10000008 */ b .L0f06fdec +/* f06fdcc: a7200062 */ sh $zero,0x62($t9) +/* f06fdd0: 8cae0000 */ lw $t6,0x0($a1) +.L0f06fdd4: +/* f06fdd4: 240f0001 */ addiu $t7,$zero,0x1 +/* f06fdd8: 006fc004 */ sllv $t8,$t7,$v1 +/* f06fddc: 030ec824 */ and $t9,$t8,$t6 +/* f06fde0: 13200002 */ beqz $t9,.L0f06fdec +/* f06fde4: 8faf01a8 */ lw $t7,0x1a8($sp) +/* f06fde8: a5e00062 */ sh $zero,0x62($t7) +.L0f06fdec: +/* f06fdec: 8fb801a8 */ lw $t8,0x1a8($sp) +.L0f06fdf0: +/* f06fdf0: 3c0d800a */ lui $t5,%hi(g_Vars) +/* f06fdf4: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars) +/* f06fdf8: 87030062 */ lh $v1,0x62($t8) +/* f06fdfc: 28610002 */ slti $at,$v1,0x2 +/* f06fe00: 14200009 */ bnez $at,.L0f06fe28 +/* f06fe04: 00000000 */ nop +/* f06fe08: 8dae0034 */ lw $t6,0x34($t5) +/* f06fe0c: 24070001 */ addiu $a3,$zero,0x1 +/* f06fe10: 006ec823 */ subu $t9,$v1,$t6 +/* f06fe14: 2b210002 */ slti $at,$t9,0x2 +/* f06fe18: 102001dd */ beqz $at,.L0f070590 +/* f06fe1c: a7190062 */ sh $t9,0x62($t8) +/* f06fe20: 100001db */ b .L0f070590 +/* f06fe24: a7070062 */ sh $a3,0x62($t8) +.L0f06fe28: +/* f06fe28: 546001da */ bnezl $v1,.L0f070594 +/* f06fe2c: 8e190010 */ lw $t9,0x10($s0) +/* f06fe30: 8e0f000c */ lw $t7,0xc($s0) +/* f06fe34: 2405000d */ addiu $a1,$zero,0xd +/* f06fe38: 000f7000 */ sll $t6,$t7,0x0 +/* f06fe3c: 05c10002 */ bgez $t6,.L0f06fe48 +/* f06fe40: 00000000 */ nop +/* f06fe44: 24050011 */ addiu $a1,$zero,0x11 +.L0f06fe48: +/* f06fe48: 0fc1bcc5 */ jal func0f06f314 +/* f06fe4c: 8fa401b0 */ lw $a0,0x1b0($sp) +/* f06fe50: 104001cf */ beqz $v0,.L0f070590 +/* f06fe54: 8fb801a8 */ lw $t8,0x1a8($sp) +/* f06fe58: 2419ffff */ addiu $t9,$zero,-1 +/* f06fe5c: a7190062 */ sh $t9,0x62($t8) +/* f06fe60: 8e0f0040 */ lw $t7,0x40($s0) +/* f06fe64: 35ee0004 */ ori $t6,$t7,0x4 +/* f06fe68: 100001c9 */ b .L0f070590 +/* f06fe6c: ae0e0040 */ sw $t6,0x40($s0) +/* f06fe70: 24010021 */ addiu $at,$zero,0x21 +.L0f06fe74: +/* f06fe74: 10410012 */ beq $v0,$at,.L0f06fec0 +/* f06fe78: 2401000f */ addiu $at,$zero,0xf +/* f06fe7c: 14410005 */ bne $v0,$at,.L0f06fe94 +/* f06fe80: 8fb901a8 */ lw $t9,0x1a8($sp) +/* f06fe84: 9338005f */ lbu $t8,0x5f($t9) +/* f06fe88: 24070001 */ addiu $a3,$zero,0x1 +/* f06fe8c: 50f8000d */ beql $a3,$t8,.L0f06fec4 +/* f06fe90: 8faf01a8 */ lw $t7,0x1a8($sp) +.L0f06fe94: +/* f06fe94: 14c20005 */ bne $a2,$v0,.L0f06feac +/* f06fe98: 24070001 */ addiu $a3,$zero,0x1 +/* f06fe9c: 8faf01a8 */ lw $t7,0x1a8($sp) +/* f06fea0: 91ee005f */ lbu $t6,0x5f($t7) +/* f06fea4: 50ee0007 */ beql $a3,$t6,.L0f06fec4 +/* f06fea8: 8faf01a8 */ lw $t7,0x1a8($sp) +.L0f06feac: +/* f06feac: 14a200af */ bne $a1,$v0,.L0f07016c +/* f06feb0: 8fb901a8 */ lw $t9,0x1a8($sp) +/* f06feb4: 9338005f */ lbu $t8,0x5f($t9) +/* f06feb8: 54f800ad */ bnel $a3,$t8,.L0f070170 +/* f06febc: 24010056 */ addiu $at,$zero,0x56 +.L0f06fec0: +/* f06fec0: 8faf01a8 */ lw $t7,0x1a8($sp) +.L0f06fec4: +/* f06fec4: 3c0d800a */ lui $t5,%hi(g_Vars) +/* f06fec8: 24070001 */ addiu $a3,$zero,0x1 +/* f06fecc: 85e30062 */ lh $v1,0x62($t7) +/* f06fed0: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars) +/* f06fed4: 28610002 */ slti $at,$v1,0x2 +/* f06fed8: 1420000e */ bnez $at,.L0f06ff14 +/* f06fedc: 00000000 */ nop +/* f06fee0: 8dae0034 */ lw $t6,0x34($t5) +/* f06fee4: 01e02025 */ or $a0,$t7,$zero +/* f06fee8: 006ec823 */ subu $t9,$v1,$t6 +/* f06feec: 2b210002 */ slti $at,$t9,0x2 +/* f06fef0: a5f90062 */ sh $t9,0x62($t7) +/* f06fef4: 10200025 */ beqz $at,.L0f06ff8c +/* f06fef8: 03201825 */ or $v1,$t9,$zero +/* f06fefc: 0fc22ad9 */ jal func0f08ab64 +/* f06ff00: a5e70062 */ sh $a3,0x62($t7) +/* f06ff04: 8fb801a8 */ lw $t8,0x1a8($sp) +/* f06ff08: 2405001f */ addiu $a1,$zero,0x1f +/* f06ff0c: 1000001f */ b .L0f06ff8c +/* f06ff10: 87030062 */ lh $v1,0x62($t8) +.L0f06ff14: +/* f06ff14: 14e3001d */ bne $a3,$v1,.L0f06ff8c +/* f06ff18: 3c0d800a */ lui $t5,%hi(g_Vars) +/* f06ff1c: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars) +/* f06ff20: 8dae0284 */ lw $t6,0x284($t5) +/* f06ff24: 8fb901b0 */ lw $t9,0x1b0($sp) +/* f06ff28: 3c017f1b */ lui $at,%hi(var7f1aa2c0) +/* f06ff2c: 8dc200bc */ lw $v0,0xbc($t6) +/* f06ff30: c7240008 */ lwc1 $f4,0x8($t9) +/* f06ff34: c728000c */ lwc1 $f8,0xc($t9) +/* f06ff38: c44a0008 */ lwc1 $f10,0x8($v0) +/* f06ff3c: c446000c */ lwc1 $f6,0xc($v0) +/* f06ff40: 8faf01a8 */ lw $t7,0x1a8($sp) +/* f06ff44: 46045001 */ sub.s $f0,$f10,$f4 +/* f06ff48: c7240010 */ lwc1 $f4,0x10($t9) +/* f06ff4c: c44a0010 */ lwc1 $f10,0x10($v0) +/* f06ff50: 46083081 */ sub.s $f2,$f6,$f8 +/* f06ff54: 46000182 */ mul.s $f6,$f0,$f0 +/* f06ff58: 24420008 */ addiu $v0,$v0,0x8 +/* f06ff5c: 46045301 */ sub.s $f12,$f10,$f4 +/* f06ff60: 46021202 */ mul.s $f8,$f2,$f2 +/* f06ff64: 46083280 */ add.s $f10,$f6,$f8 +/* f06ff68: 460c6102 */ mul.s $f4,$f12,$f12 +/* f06ff6c: c428a2c0 */ lwc1 $f8,%lo(var7f1aa2c0)($at) +/* f06ff70: 46045180 */ add.s $f6,$f10,$f4 +/* f06ff74: 4608303c */ c.lt.s $f6,$f8 +/* f06ff78: 00000000 */ nop +/* f06ff7c: 45000003 */ bc1f .L0f06ff8c +/* f06ff80: 00000000 */ nop +/* f06ff84: a5e00062 */ sh $zero,0x62($t7) +/* f06ff88: 00001825 */ or $v1,$zero,$zero +.L0f06ff8c: +/* f06ff8c: 3c0d800a */ lui $t5,%hi(g_Vars) +/* f06ff90: 1460017f */ bnez $v1,.L0f070590 +/* f06ff94: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars) +/* f06ff98: 8fb801a8 */ lw $t8,0x1a8($sp) +/* f06ff9c: 2401000f */ addiu $at,$zero,0xf +/* f06ffa0: 9302005c */ lbu $v0,0x5c($t8) +/* f06ffa4: 54a2005e */ bnel $a1,$v0,.L0f070120 +/* f06ffa8: 8e18000c */ lw $t8,0xc($s0) +/* f06ffac: 8e040040 */ lw $a0,0x40($s0) +/* f06ffb0: 8daf0318 */ lw $t7,0x318($t5) +/* f06ffb4: 3c01f000 */ lui $at,0xf000 +/* f06ffb8: 00817024 */ and $t6,$a0,$at +/* f06ffbc: 00002825 */ or $a1,$zero,$zero +/* f06ffc0: 11e00006 */ beqz $t7,.L0f06ffdc +/* f06ffc4: 000e2702 */ srl $a0,$t6,0x1c +/* f06ffc8: 0fc63410 */ jal mpGetChrFromPlayerIndex +/* f06ffcc: afa00154 */ sw $zero,0x154($sp) +/* f06ffd0: 10400002 */ beqz $v0,.L0f06ffdc +/* f06ffd4: 8fa50154 */ lw $a1,0x154($sp) +/* f06ffd8: 8c45001c */ lw $a1,0x1c($v0) +.L0f06ffdc: +/* f06ffdc: 8fa601b0 */ lw $a2,0x1b0($sp) +/* f06ffe0: 0fc0287e */ jal nbombCreate +/* f06ffe4: 24c40008 */ addiu $a0,$a2,0x8 +/* f06ffe8: 0fc10e62 */ jal propUnsetDangerous +/* f06ffec: 8fa401b0 */ lw $a0,0x1b0($sp) +/* f06fff0: 8e0e0040 */ lw $t6,0x40($s0) +/* f06fff4: 3c0d800a */ lui $t5,%hi(g_Vars) +/* f06fff8: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars) +/* f06fffc: 35d90004 */ ori $t9,$t6,0x4 +/* f070000: ae190040 */ sw $t9,0x40($s0) +/* f070004: 8dab006c */ lw $t3,0x6c($t5) +/* f070008: 00004025 */ or $t0,$zero,$zero +/* f07000c: 00003025 */ or $a2,$zero,$zero +/* f070010: 11600003 */ beqz $t3,.L0f070020 +/* f070014: 00002025 */ or $a0,$zero,$zero +/* f070018: 10000001 */ b .L0f070020 +/* f07001c: 24060001 */ addiu $a2,$zero,0x1 +.L0f070020: +/* f070020: 8daa0068 */ lw $t2,0x68($t5) +/* f070024: 00001025 */ or $v0,$zero,$zero +/* f070028: 00002825 */ or $a1,$zero,$zero +/* f07002c: 11400003 */ beqz $t2,.L0f07003c +/* f070030: 0008c880 */ sll $t9,$t0,0x2 +/* f070034: 10000001 */ b .L0f07003c +/* f070038: 24040001 */ addiu $a0,$zero,0x1 +.L0f07003c: +/* f07003c: 8da90064 */ lw $t1,0x64($t5) +/* f070040: 01b91821 */ addu $v1,$t5,$t9 +/* f070044: 240c0003 */ addiu $t4,$zero,0x3 +/* f070048: 11200003 */ beqz $t1,.L0f070058 +/* f07004c: 00000000 */ nop +/* f070050: 10000001 */ b .L0f070058 +/* f070054: 24020001 */ addiu $v0,$zero,0x1 +.L0f070058: +/* f070058: 8da70070 */ lw $a3,0x70($t5) +/* f07005c: 10e00003 */ beqz $a3,.L0f07006c +/* f070060: 00000000 */ nop +/* f070064: 10000001 */ b .L0f07006c +/* f070068: 24050001 */ addiu $a1,$zero,0x1 +.L0f07006c: +/* f07006c: 00a27821 */ addu $t7,$a1,$v0 +/* f070070: 01e4c021 */ addu $t8,$t7,$a0 +/* f070074: 03067021 */ addu $t6,$t8,$a2 +/* f070078: 59c00146 */ blezl $t6,.L0f070594 +/* f07007c: 8e190010 */ lw $t9,0x10($s0) +/* f070080: 8c620064 */ lw $v0,0x64($v1) +.L0f070084: +/* f070084: 25080001 */ addiu $t0,$t0,0x1 +/* f070088: 00003025 */ or $a2,$zero,$zero +/* f07008c: 8c4f0264 */ lw $t7,0x264($v0) +/* f070090: 00002025 */ or $a0,$zero,$zero +/* f070094: 00002825 */ or $a1,$zero,$zero +/* f070098: 160f0008 */ bne $s0,$t7,.L0f0700bc +/* f07009c: 00000000 */ nop +/* f0700a0: ac400264 */ sw $zero,0x264($v0) +/* f0700a4: 8c780064 */ lw $t8,0x64($v1) +/* f0700a8: a70c0010 */ sh $t4,0x10($t8) +/* f0700ac: 8da70070 */ lw $a3,0x70($t5) +/* f0700b0: 8da90064 */ lw $t1,0x64($t5) +/* f0700b4: 8daa0068 */ lw $t2,0x68($t5) +/* f0700b8: 8dab006c */ lw $t3,0x6c($t5) +.L0f0700bc: +/* f0700bc: 11600003 */ beqz $t3,.L0f0700cc +/* f0700c0: 24630004 */ addiu $v1,$v1,0x4 +/* f0700c4: 10000001 */ b .L0f0700cc +/* f0700c8: 24060001 */ addiu $a2,$zero,0x1 +.L0f0700cc: +/* f0700cc: 11400003 */ beqz $t2,.L0f0700dc +/* f0700d0: 00001025 */ or $v0,$zero,$zero +/* f0700d4: 10000001 */ b .L0f0700dc +/* f0700d8: 24040001 */ addiu $a0,$zero,0x1 +.L0f0700dc: +/* f0700dc: 11200003 */ beqz $t1,.L0f0700ec +/* f0700e0: 00000000 */ nop +/* f0700e4: 10000001 */ b .L0f0700ec +/* f0700e8: 24020001 */ addiu $v0,$zero,0x1 +.L0f0700ec: +/* f0700ec: 10e00003 */ beqz $a3,.L0f0700fc +/* f0700f0: 00000000 */ nop +/* f0700f4: 10000001 */ b .L0f0700fc +/* f0700f8: 24050001 */ addiu $a1,$zero,0x1 +.L0f0700fc: +/* f0700fc: 00a27021 */ addu $t6,$a1,$v0 +/* f070100: 01c4c821 */ addu $t9,$t6,$a0 +/* f070104: 03267821 */ addu $t7,$t9,$a2 +/* f070108: 010f082a */ slt $at,$t0,$t7 +/* f07010c: 5420ffdd */ bnezl $at,.L0f070084 +/* f070110: 8c620064 */ lw $v0,0x64($v1) +/* f070114: 1000011f */ b .L0f070594 +/* f070118: 8e190010 */ lw $t9,0x10($s0) +/* f07011c: 8e18000c */ lw $t8,0xc($s0) +.L0f070120: +/* f070120: 2405000d */ addiu $a1,$zero,0xd +/* f070124: 00187000 */ sll $t6,$t8,0x0 +/* f070128: 05c10003 */ bgez $t6,.L0f070138 +/* f07012c: 00000000 */ nop +/* f070130: 10000001 */ b .L0f070138 +/* f070134: 24050011 */ addiu $a1,$zero,0x11 +.L0f070138: +/* f070138: 14410002 */ bne $v0,$at,.L0f070144 +/* f07013c: 00000000 */ nop +/* f070140: 24050017 */ addiu $a1,$zero,0x17 +.L0f070144: +/* f070144: 0fc1bcc5 */ jal func0f06f314 +/* f070148: 8fa401b0 */ lw $a0,0x1b0($sp) +/* f07014c: 10400110 */ beqz $v0,.L0f070590 +/* f070150: 8faf01a8 */ lw $t7,0x1a8($sp) +/* f070154: 2419ffff */ addiu $t9,$zero,-1 +/* f070158: a5f90062 */ sh $t9,0x62($t7) +/* f07015c: 8e180040 */ lw $t8,0x40($s0) +/* f070160: 370e0004 */ ori $t6,$t8,0x4 +/* f070164: 1000010a */ b .L0f070590 +/* f070168: ae0e0040 */ sw $t6,0x40($s0) +.L0f07016c: +/* f07016c: 24010056 */ addiu $at,$zero,0x56 +.L0f070170: +/* f070170: 54410108 */ bnel $v0,$at,.L0f070594 +/* f070174: 8e190010 */ lw $t9,0x10($s0) +/* f070178: 8fb901a8 */ lw $t9,0x1a8($sp) +/* f07017c: 87230062 */ lh $v1,0x62($t9) +/* f070180: 28610002 */ slti $at,$v1,0x2 +/* f070184: 14200099 */ bnez $at,.L0f0703ec +/* f070188: 00000000 */ nop +/* f07018c: 0fc1a2aa */ jal func0f068aa8 +/* f070190: 8e040018 */ lw $a0,0x18($s0) +/* f070194: 8faf01a8 */ lw $t7,0x1a8($sp) +/* f070198: 3c014140 */ lui $at,0x4140 +/* f07019c: 44811000 */ mtc1 $at,$f2 +/* f0701a0: 85e30062 */ lh $v1,0x62($t7) +/* f0701a4: 3c017f1b */ lui $at,%hi(var7f1aa2c4) +/* f0701a8: c42ea2c4 */ lwc1 $f14,%lo(var7f1aa2c4)($at) +/* f0701ac: 2463ffff */ addiu $v1,$v1,-1 +/* f0701b0: 44835000 */ mtc1 $v1,$f10 +/* f0701b4: 2861000c */ slti $at,$v1,0xc +/* f0701b8: 24070001 */ addiu $a3,$zero,0x1 +/* f0701bc: 46805120 */ cvt.s.w $f4,$f10 +/* f0701c0: 00403025 */ or $a2,$v0,$zero +/* f0701c4: 24780001 */ addiu $t8,$v1,0x1 +/* f0701c8: 306e0001 */ andi $t6,$v1,0x1 +/* f0701cc: 27a500b8 */ addiu $a1,$sp,0xb8 +/* f0701d0: 46022183 */ div.s $f6,$f4,$f2 +/* f0701d4: 460e3002 */ mul.s $f0,$f6,$f14 +/* f0701d8: 10200007 */ beqz $at,.L0f0701f8 +/* f0701dc: 46000306 */ mov.s $f12,$f0 +/* f0701e0: 44984000 */ mtc1 $t8,$f8 +/* f0701e4: 00000000 */ nop +/* f0701e8: 468042a0 */ cvt.s.w $f10,$f8 +/* f0701ec: 46025103 */ div.s $f4,$f10,$f2 +/* f0701f0: 46047182 */ mul.s $f6,$f14,$f4 +/* f0701f4: 46060300 */ add.s $f12,$f0,$f6 +.L0f0701f8: +/* f0701f8: 14ee0002 */ bne $a3,$t6,.L0f070204 +/* f0701fc: 00000000 */ nop +/* f070200: 46006307 */ neg.s $f12,$f12 +.L0f070204: +/* f070204: 0c0058dd */ jal func00016374 +/* f070208: afa60140 */ sw $a2,0x140($sp) +/* f07020c: 8e030048 */ lw $v1,0x48($s0) +/* f070210: 8fa60140 */ lw $a2,0x140($sp) +/* f070214: 8fb901b0 */ lw $t9,0x1b0($sp) +/* f070218: 50600040 */ beqzl $v1,.L0f07031c +/* f07021c: 44808000 */ mtc1 $zero,$f16 +/* f070220: 8f220018 */ lw $v0,0x18($t9) +/* f070224: 5040006e */ beqzl $v0,.L0f0703e0 +/* f070228: 8fb801a8 */ lw $t8,0x1a8($sp) +/* f07022c: 904f0000 */ lbu $t7,0x0($v0) +/* f070230: 24010003 */ addiu $at,$zero,0x3 +/* f070234: 24640004 */ addiu $a0,$v1,0x4 +/* f070238: 11e10068 */ beq $t7,$at,.L0f0703dc +/* f07023c: 27a500f8 */ addiu $a1,$sp,0xf8 +/* f070240: 0c005746 */ jal func00015d18 +/* f070244: afa60140 */ sw $a2,0x140($sp) +/* f070248: 44800000 */ mtc1 $zero,$f0 +/* f07024c: 8fa40140 */ lw $a0,0x140($sp) +/* f070250: e7a0012c */ swc1 $f0,0x12c($sp) +/* f070254: e7a00128 */ swc1 $f0,0x128($sp) +/* f070258: e7a00114 */ swc1 $f0,0x114($sp) +/* f07025c: e7a00104 */ swc1 $f0,0x104($sp) +/* f070260: e7a00070 */ swc1 $f0,0x70($sp) +/* f070264: e7a00060 */ swc1 $f0,0x60($sp) +/* f070268: e7a0006c */ swc1 $f0,0x6c($sp) +/* f07026c: e7a00130 */ swc1 $f0,0x130($sp) +/* f070270: e7a00124 */ swc1 $f0,0x124($sp) +/* f070274: 0fc199f5 */ jal func0f0667d4 +/* f070278: e7a00064 */ swc1 $f0,0x64($sp) +/* f07027c: e7a00068 */ swc1 $f0,0x68($sp) +/* f070280: e7a00074 */ swc1 $f0,0x74($sp) +/* f070284: 27a400f8 */ addiu $a0,$sp,0xf8 +/* f070288: 27a500b8 */ addiu $a1,$sp,0xb8 +/* f07028c: 0c005680 */ jal func00015a00 +/* f070290: 27a60078 */ addiu $a2,$sp,0x78 +/* f070294: 27a400f8 */ addiu $a0,$sp,0xf8 +/* f070298: 0c0056c4 */ jal func00015b10 +/* f07029c: 27a5006c */ addiu $a1,$sp,0x6c +/* f0702a0: 27a40078 */ addiu $a0,$sp,0x78 +/* f0702a4: 0c0056c4 */ jal func00015b10 +/* f0702a8: 27a50060 */ addiu $a1,$sp,0x60 +/* f0702ac: c7a80060 */ lwc1 $f8,0x60($sp) +/* f0702b0: c7aa006c */ lwc1 $f10,0x6c($sp) +/* f0702b4: 8e180048 */ lw $t8,0x48($s0) +/* f0702b8: 27a40078 */ addiu $a0,$sp,0x78 +/* f0702bc: 460a4101 */ sub.s $f4,$f8,$f10 +/* f0702c0: c7060034 */ lwc1 $f6,0x34($t8) +/* f0702c4: c7aa0064 */ lwc1 $f10,0x64($sp) +/* f0702c8: 46043201 */ sub.s $f8,$f6,$f4 +/* f0702cc: c7a60070 */ lwc1 $f6,0x70($sp) +/* f0702d0: e7a800a8 */ swc1 $f8,0xa8($sp) +/* f0702d4: 8e0e0048 */ lw $t6,0x48($s0) +/* f0702d8: 46065101 */ sub.s $f4,$f10,$f6 +/* f0702dc: c7a60068 */ lwc1 $f6,0x68($sp) +/* f0702e0: c5c80038 */ lwc1 $f8,0x38($t6) +/* f0702e4: 46044281 */ sub.s $f10,$f8,$f4 +/* f0702e8: c7a80074 */ lwc1 $f8,0x74($sp) +/* f0702ec: e7aa00ac */ swc1 $f10,0xac($sp) +/* f0702f0: 8e190048 */ lw $t9,0x48($s0) +/* f0702f4: 46083101 */ sub.s $f4,$f6,$f8 +/* f0702f8: c72a003c */ lwc1 $f10,0x3c($t9) +/* f0702fc: 46045181 */ sub.s $f6,$f10,$f4 +/* f070300: e7a600b0 */ swc1 $f6,0xb0($sp) +/* f070304: 8e050048 */ lw $a1,0x48($s0) +/* f070308: 0c005746 */ jal func00015d18 +/* f07030c: 24a50004 */ addiu $a1,$a1,0x4 +/* f070310: 10000033 */ b .L0f0703e0 +/* f070314: 8fb801a8 */ lw $t8,0x1a8($sp) +/* f070318: 44808000 */ mtc1 $zero,$f16 +.L0f07031c: +/* f07031c: 00c02025 */ or $a0,$a2,$zero +/* f070320: e7b00070 */ swc1 $f16,0x70($sp) +/* f070324: e7b00060 */ swc1 $f16,0x60($sp) +/* f070328: e7b0006c */ swc1 $f16,0x6c($sp) +/* f07032c: 0fc199f5 */ jal func0f0667d4 +/* f070330: e7b00064 */ swc1 $f16,0x64($sp) +/* f070334: 2604001c */ addiu $a0,$s0,0x1c +/* f070338: e7a00068 */ swc1 $f0,0x68($sp) +/* f07033c: e7a00074 */ swc1 $f0,0x74($sp) +/* f070340: afa40038 */ sw $a0,0x38($sp) +/* f070344: 0c005755 */ jal func00015d54 +/* f070348: 27a500f8 */ addiu $a1,$sp,0xf8 +/* f07034c: 27a400f8 */ addiu $a0,$sp,0xf8 +/* f070350: 27a500b8 */ addiu $a1,$sp,0xb8 +/* f070354: 0c005680 */ jal func00015a00 +/* f070358: 27a60078 */ addiu $a2,$sp,0x78 +/* f07035c: 27a40078 */ addiu $a0,$sp,0x78 +/* f070360: 0c005768 */ jal func00015da0 +/* f070364: 8fa50038 */ lw $a1,0x38($sp) +/* f070368: 27a400f8 */ addiu $a0,$sp,0xf8 +/* f07036c: 0c0056c4 */ jal func00015b10 +/* f070370: 27a5006c */ addiu $a1,$sp,0x6c +/* f070374: 27a40078 */ addiu $a0,$sp,0x78 +/* f070378: 0c0056c4 */ jal func00015b10 +/* f07037c: 27a50060 */ addiu $a1,$sp,0x60 +/* f070380: c7a80060 */ lwc1 $f8,0x60($sp) +/* f070384: c7aa006c */ lwc1 $f10,0x6c($sp) +/* f070388: 8faf01b0 */ lw $t7,0x1b0($sp) +/* f07038c: 02002025 */ or $a0,$s0,$zero +/* f070390: 460a4101 */ sub.s $f4,$f8,$f10 +/* f070394: c5e60008 */ lwc1 $f6,0x8($t7) +/* f070398: 00002825 */ or $a1,$zero,$zero +/* f07039c: 24060001 */ addiu $a2,$zero,0x1 +/* f0703a0: 46043201 */ sub.s $f8,$f6,$f4 +/* f0703a4: e5e80008 */ swc1 $f8,0x8($t7) +/* f0703a8: c7a60070 */ lwc1 $f6,0x70($sp) +/* f0703ac: c7aa0064 */ lwc1 $f10,0x64($sp) +/* f0703b0: c5e8000c */ lwc1 $f8,0xc($t7) +/* f0703b4: 46065101 */ sub.s $f4,$f10,$f6 +/* f0703b8: 46044281 */ sub.s $f10,$f8,$f4 +/* f0703bc: e5ea000c */ swc1 $f10,0xc($t7) +/* f0703c0: c7a80074 */ lwc1 $f8,0x74($sp) +/* f0703c4: c7a60068 */ lwc1 $f6,0x68($sp) +/* f0703c8: c5ea0010 */ lwc1 $f10,0x10($t7) +/* f0703cc: 46083101 */ sub.s $f4,$f6,$f8 +/* f0703d0: 46045181 */ sub.s $f6,$f10,$f4 +/* f0703d4: 0fc1a71c */ jal func0f069c70 +/* f0703d8: e5e60010 */ swc1 $f6,0x10($t7) +.L0f0703dc: +/* f0703dc: 8fb801a8 */ lw $t8,0x1a8($sp) +.L0f0703e0: +/* f0703e0: 870e0062 */ lh $t6,0x62($t8) +/* f0703e4: 25c3ffff */ addiu $v1,$t6,-1 +/* f0703e8: a7030062 */ sh $v1,0x62($t8) +.L0f0703ec: +/* f0703ec: 04610023 */ bgez $v1,.L0f07047c +/* f0703f0: 3c0d800a */ lui $t5,%hi(g_Vars) +/* f0703f4: 8e030048 */ lw $v1,0x48($s0) +/* f0703f8: 8fa401b0 */ lw $a0,0x1b0($sp) +/* f0703fc: 0fc2bb15 */ jal func0f0aec54 +/* f070400: afa3005c */ sw $v1,0x5c($sp) +/* f070404: 2401ffff */ addiu $at,$zero,-1 +/* f070408: 8fa3005c */ lw $v1,0x5c($sp) +/* f07040c: 10410019 */ beq $v0,$at,.L0f070474 +/* f070410: 00402025 */ or $a0,$v0,$zero +/* f070414: 8fa501b0 */ lw $a1,0x1b0($sp) +/* f070418: afa3005c */ sw $v1,0x5c($sp) +/* f07041c: afa20058 */ sw $v0,0x58($sp) +/* f070420: 0fc2bb5c */ jal func0f0aed70 +/* f070424: 24a50008 */ addiu $a1,$a1,0x8 +/* f070428: 3c05453b */ lui $a1,0x453b +/* f07042c: 34a58000 */ ori $a1,$a1,0x8000 +/* f070430: 8fa40058 */ lw $a0,0x58($sp) +/* f070434: 0fc2bb69 */ jal func0f0aeda4 +/* f070438: 00003025 */ or $a2,$zero,$zero +/* f07043c: 8fa3005c */ lw $v1,0x5c($sp) +/* f070440: 8fae01a8 */ lw $t6,0x1a8($sp) +/* f070444: 3c0544af */ lui $a1,0x44af +/* f070448: 10600005 */ beqz $v1,.L0f070460 +/* f07044c: 00000000 */ nop +/* f070450: 8c6f0090 */ lw $t7,0x90($v1) +/* f070454: 19e00002 */ blez $t7,.L0f070460 +/* f070458: 00000000 */ nop +/* f07045c: 00001825 */ or $v1,$zero,$zero +.L0f070460: +/* f070460: 14600004 */ bnez $v1,.L0f070474 +/* f070464: 00000000 */ nop +/* f070468: a5c00062 */ sh $zero,0x62($t6) +/* f07046c: 0fc2bbaa */ jal func0f0aeea8 +/* f070470: 8fa40058 */ lw $a0,0x58($sp) +.L0f070474: +/* f070474: 10000047 */ b .L0f070594 +/* f070478: 8e190010 */ lw $t9,0x10($s0) +.L0f07047c: +/* f07047c: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars) +/* f070480: 8dab006c */ lw $t3,0x6c($t5) +/* f070484: 00004025 */ or $t0,$zero,$zero +/* f070488: 00003025 */ or $a2,$zero,$zero +/* f07048c: 11600003 */ beqz $t3,.L0f07049c +/* f070490: 00002025 */ or $a0,$zero,$zero +/* f070494: 10000001 */ b .L0f07049c +/* f070498: 24060001 */ addiu $a2,$zero,0x1 +.L0f07049c: +/* f07049c: 8daa0068 */ lw $t2,0x68($t5) +/* f0704a0: 00001025 */ or $v0,$zero,$zero +/* f0704a4: 00002825 */ or $a1,$zero,$zero +/* f0704a8: 11400003 */ beqz $t2,.L0f0704b8 +/* f0704ac: 00087080 */ sll $t6,$t0,0x2 +/* f0704b0: 10000001 */ b .L0f0704b8 +/* f0704b4: 24040001 */ addiu $a0,$zero,0x1 +.L0f0704b8: +/* f0704b8: 8da90064 */ lw $t1,0x64($t5) +/* f0704bc: 01ae1821 */ addu $v1,$t5,$t6 +/* f0704c0: 240c0003 */ addiu $t4,$zero,0x3 +/* f0704c4: 11200003 */ beqz $t1,.L0f0704d4 +/* f0704c8: 00000000 */ nop +/* f0704cc: 10000001 */ b .L0f0704d4 +/* f0704d0: 24020001 */ addiu $v0,$zero,0x1 +.L0f0704d4: +/* f0704d4: 8da70070 */ lw $a3,0x70($t5) +/* f0704d8: 10e00003 */ beqz $a3,.L0f0704e8 +/* f0704dc: 00000000 */ nop +/* f0704e0: 10000001 */ b .L0f0704e8 +/* f0704e4: 24050001 */ addiu $a1,$zero,0x1 +.L0f0704e8: +/* f0704e8: 00a2c021 */ addu $t8,$a1,$v0 +/* f0704ec: 0304c821 */ addu $t9,$t8,$a0 +/* f0704f0: 03267821 */ addu $t7,$t9,$a2 +/* f0704f4: 59e00027 */ blezl $t7,.L0f070594 +/* f0704f8: 8e190010 */ lw $t9,0x10($s0) +/* f0704fc: 8c620064 */ lw $v0,0x64($v1) +.L0f070500: +/* f070500: 25080001 */ addiu $t0,$t0,0x1 +/* f070504: 00003025 */ or $a2,$zero,$zero +/* f070508: 8c580264 */ lw $t8,0x264($v0) +/* f07050c: 00002025 */ or $a0,$zero,$zero +/* f070510: 00002825 */ or $a1,$zero,$zero +/* f070514: 16180008 */ bne $s0,$t8,.L0f070538 +/* f070518: 00000000 */ nop +/* f07051c: ac400264 */ sw $zero,0x264($v0) +/* f070520: 8c790064 */ lw $t9,0x64($v1) +/* f070524: a72c0010 */ sh $t4,0x10($t9) +/* f070528: 8da70070 */ lw $a3,0x70($t5) +/* f07052c: 8da90064 */ lw $t1,0x64($t5) +/* f070530: 8daa0068 */ lw $t2,0x68($t5) +/* f070534: 8dab006c */ lw $t3,0x6c($t5) +.L0f070538: +/* f070538: 11600003 */ beqz $t3,.L0f070548 +/* f07053c: 24630004 */ addiu $v1,$v1,0x4 +/* f070540: 10000001 */ b .L0f070548 +/* f070544: 24060001 */ addiu $a2,$zero,0x1 +.L0f070548: +/* f070548: 11400003 */ beqz $t2,.L0f070558 +/* f07054c: 00001025 */ or $v0,$zero,$zero +/* f070550: 10000001 */ b .L0f070558 +/* f070554: 24040001 */ addiu $a0,$zero,0x1 +.L0f070558: +/* f070558: 11200003 */ beqz $t1,.L0f070568 +/* f07055c: 00000000 */ nop +/* f070560: 10000001 */ b .L0f070568 +/* f070564: 24020001 */ addiu $v0,$zero,0x1 +.L0f070568: +/* f070568: 10e00003 */ beqz $a3,.L0f070578 +/* f07056c: 00000000 */ nop +/* f070570: 10000001 */ b .L0f070578 +/* f070574: 24050001 */ addiu $a1,$zero,0x1 +.L0f070578: +/* f070578: 00a27821 */ addu $t7,$a1,$v0 +/* f07057c: 01e47021 */ addu $t6,$t7,$a0 +/* f070580: 01c6c021 */ addu $t8,$t6,$a2 +/* f070584: 0118082a */ slt $at,$t0,$t8 +/* f070588: 5420ffdd */ bnezl $at,.L0f070500 +/* f07058c: 8c620064 */ lw $v0,0x64($v1) +.L0f070590: +/* f070590: 8e190010 */ lw $t9,0x10($s0) +.L0f070594: +/* f070594: 3c0d800a */ lui $t5,%hi(g_Vars) +/* f070598: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars) +/* f07059c: 332f0100 */ andi $t7,$t9,0x100 +/* f0705a0: 11e0000a */ beqz $t7,.L0f0705cc +/* f0705a4: 8fae01a8 */ lw $t6,0x1a8($sp) +/* f0705a8: 81d80060 */ lb $t8,0x60($t6) +/* f0705ac: 8db90038 */ lw $t9,0x38($t5) +/* f0705b0: 03197823 */ subu $t7,$t8,$t9 +/* f0705b4: 1de00005 */ bgtz $t7,.L0f0705cc +/* f0705b8: a1cf0060 */ sb $t7,0x60($t6) +/* f0705bc: a1c00060 */ sb $zero,0x60($t6) +/* f0705c0: 8e180040 */ lw $t8,0x40($s0) +/* f0705c4: 37190004 */ ori $t9,$t8,0x4 +/* f0705c8: ae190040 */ sw $t9,0x40($s0) +.L0f0705cc: +/* f0705cc: 8e0f0010 */ lw $t7,0x10($s0) +/* f0705d0: 8fb801b0 */ lw $t8,0x1b0($sp) +/* f0705d4: 31ee0080 */ andi $t6,$t7,0x80 +/* f0705d8: 51c00014 */ beqzl $t6,.L0f07062c +/* f0705dc: 8fbf001c */ lw $ra,0x1c($sp) +/* f0705e0: 93190001 */ lbu $t9,0x1($t8) +/* f0705e4: 332f0002 */ andi $t7,$t9,0x2 +/* f0705e8: 51e00010 */ beqzl $t7,.L0f07062c +/* f0705ec: 8fbf001c */ lw $ra,0x1c($sp) +/* f0705f0: 8dae043c */ lw $t6,0x43c($t5) +/* f0705f4: 25d80001 */ addiu $t8,$t6,0x1 +/* f0705f8: 2b010015 */ slti $at,$t8,0x15 +/* f0705fc: 1420000a */ bnez $at,.L0f070628 +/* f070600: adb8043c */ sw $t8,0x43c($t5) +/* f070604: 8fae01a8 */ lw $t6,0x1a8($sp) +/* f070608: 240f003c */ addiu $t7,$zero,0x32 +/* f07060c: 2401ff7f */ addiu $at,$zero,-129 +/* f070610: a1cf0060 */ sb $t7,0x60($t6) +/* f070614: 8e180010 */ lw $t8,0x10($s0) +/* f070618: 0301c824 */ and $t9,$t8,$at +/* f07061c: ae190010 */ sw $t9,0x10($s0) +/* f070620: 372e0100 */ ori $t6,$t9,0x100 +/* f070624: ae0e0010 */ sw $t6,0x10($s0) +.L0f070628: +/* f070628: 8fbf001c */ lw $ra,0x1c($sp) +.L0f07062c: +/* f07062c: 8fb00018 */ lw $s0,0x18($sp) +/* f070630: 27bd01b0 */ addiu $sp,$sp,0x1b0 +/* f070634: 03e00008 */ jr $ra +/* f070638: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f06f54c .late_rodata @@ -12344,6 +14599,7 @@ glabel var7f1aa2c4 /* f070634: 03e00008 */ jr $ra /* f070638: 00000000 */ nop ); +#endif void func0f07063c(struct prop *prop, bool arg1) { @@ -15420,6 +17676,213 @@ glabel func0f072774 /* f0727d0: 00000000 */ nop ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f0727d4 +.late_rodata +glabel var7f1aa320 +.word 0x3dcccccd +.text +/* f0727d4: 27bdff60 */ addiu $sp,$sp,-160 +/* f0727d8: 3c013f80 */ lui $at,0x3f80 +/* f0727dc: 44812000 */ mtc1 $at,$f4 +/* f0727e0: afbf0024 */ sw $ra,0x24($sp) +/* f0727e4: afb00020 */ sw $s0,0x20($sp) +/* f0727e8: 00808025 */ or $s0,$a0,$zero +/* f0727ec: afa500a4 */ sw $a1,0xa4($sp) +/* f0727f0: afa600a8 */ sw $a2,0xa8($sp) +/* f0727f4: 0c0093ac */ jal cdGetObstacle +/* f0727f8: e7a4009c */ swc1 $f4,0x9c($sp) +/* f0727fc: 104000b2 */ beqz $v0,.L0f072ac8 +/* f072800: 8faa00a4 */ lw $t2,0xa4($sp) +/* f072804: 3c09800a */ lui $t1,%hi(g_Vars) +/* f072808: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars) +/* f07280c: 8d2e0034 */ lw $t6,0x34($t1) +/* f072810: 59c000ae */ blezl $t6,.L0f072acc +/* f072814: 8fbf0024 */ lw $ra,0x24($sp) +/* f072818: 90430000 */ lbu $v1,0x0($v0) +/* f07281c: 24010003 */ addiu $at,$zero,0x3 +/* f072820: 106100a9 */ beq $v1,$at,.L0f072ac8 +/* f072824: 24010006 */ addiu $at,$zero,0x6 +/* f072828: 106100a7 */ beq $v1,$at,.L0f072ac8 +/* f07282c: 24010001 */ addiu $at,$zero,0x1 +/* f072830: 546100a6 */ bnel $v1,$at,.L0f072acc +/* f072834: 8fbf0024 */ lw $ra,0x24($sp) +/* f072838: 8c440004 */ lw $a0,0x4($v0) +/* f07283c: 8c830040 */ lw $v1,0x40($a0) +/* f072840: 00037940 */ sll $t7,$v1,0x5 +/* f072844: 05e000a0 */ bltz $t7,.L0f072ac8 +/* f072848: 0003c100 */ sll $t8,$v1,0x4 +/* f07284c: 0702009f */ bltzl $t8,.L0f072acc +/* f072850: 8fbf0024 */ lw $ra,0x24($sp) +/* f072854: 8c990010 */ lw $t9,0x10($a0) +/* f072858: 3c0c8007 */ lui $t4,%hi(var80069b74) +/* f07285c: 3c013f00 */ lui $at,0x3f00 +/* f072860: 332b0001 */ andi $t3,$t9,0x1 +/* f072864: 11600098 */ beqz $t3,.L0f072ac8 +/* f072868: 258c9b74 */ addiu $t4,$t4,%lo(var80069b74) +/* f07286c: 44816000 */ mtc1 $at,$f12 +/* f072870: 8d810000 */ lw $at,0x0($t4) +/* f072874: 27a5007c */ addiu $a1,$sp,0x7c +/* f072878: c520004c */ lwc1 $f0,0x4c($t1) +/* f07287c: aca10000 */ sw $at,0x0($a1) +/* f072880: 8d8e0004 */ lw $t6,0x4($t4) +/* f072884: 44801000 */ mtc1 $zero,$f2 +/* f072888: 240f0001 */ addiu $t7,$zero,0x1 +/* f07288c: acae0004 */ sw $t6,0x4($a1) +/* f072890: 8d810008 */ lw $at,0x8($t4) +/* f072894: 44061000 */ mfc1 $a2,$f2 +/* f072898: 24070001 */ addiu $a3,$zero,0x1 +/* f07289c: aca10008 */ sw $at,0x8($a1) +/* f0728a0: c5460000 */ lwc1 $f6,0x0($t2) +/* f0728a4: e7a20080 */ swc1 $f2,0x80($sp) +/* f0728a8: 460c3202 */ mul.s $f8,$f6,$f12 +/* f0728ac: 46004283 */ div.s $f10,$f8,$f0 +/* f0728b0: e7aa007c */ swc1 $f10,0x7c($sp) +/* f0728b4: c5440008 */ lwc1 $f4,0x8($t2) +/* f0728b8: afa20098 */ sw $v0,0x98($sp) +/* f0728bc: afa40094 */ sw $a0,0x94($sp) +/* f0728c0: 460c2182 */ mul.s $f6,$f4,$f12 +/* f0728c4: afaf0010 */ sw $t7,0x10($sp) +/* f0728c8: 46003203 */ div.s $f8,$f6,$f0 +/* f0728cc: 0fc20a87 */ jal func0f082a1c +/* f0728d0: e7a80084 */ swc1 $f8,0x84($sp) +/* f0728d4: 3c077f1b */ lui $a3,%hi(var7f1a9fac) +/* f0728d8: 24e79fac */ addiu $a3,$a3,%lo(var7f1a9fac) +/* f0728dc: 27a40070 */ addiu $a0,$sp,0x70 +/* f0728e0: 27a50064 */ addiu $a1,$sp,0x64 +/* f0728e4: 0c009393 */ jal func00024e4c +/* f0728e8: 24061cbb */ addiu $a2,$zero,0x1cbc +/* f0728ec: 27a40058 */ addiu $a0,$sp,0x58 +/* f0728f0: 0c0094d9 */ jal func00025364 +/* f0728f4: 27a5004c */ addiu $a1,$sp,0x4c +/* f0728f8: 1040000e */ beqz $v0,.L0f072934 +/* f0728fc: 8fa80098 */ lw $t0,0x98($sp) +/* f072900: c7aa004c */ lwc1 $f10,0x4c($sp) +/* f072904: c7a40058 */ lwc1 $f4,0x58($sp) +/* f072908: c7a80050 */ lwc1 $f8,0x50($sp) +/* f07290c: 46045181 */ sub.s $f6,$f10,$f4 +/* f072910: c7aa005c */ lwc1 $f10,0x5c($sp) +/* f072914: 460a4101 */ sub.s $f4,$f8,$f10 +/* f072918: e7a6004c */ swc1 $f6,0x4c($sp) +/* f07291c: c7a60054 */ lwc1 $f6,0x54($sp) +/* f072920: c7a80060 */ lwc1 $f8,0x60($sp) +/* f072924: e7a40050 */ swc1 $f4,0x50($sp) +/* f072928: 46083281 */ sub.s $f10,$f6,$f8 +/* f07292c: 10000019 */ b .L0f072994 +/* f072930: e7aa0054 */ swc1 $f10,0x54($sp) +.L0f072934: +/* f072934: 8e180014 */ lw $t8,0x14($s0) +/* f072938: c7040008 */ lwc1 $f4,0x8($t8) +/* f07293c: e7a40058 */ swc1 $f4,0x58($sp) +/* f072940: 8e190014 */ lw $t9,0x14($s0) +/* f072944: c726000c */ lwc1 $f6,0xc($t9) +/* f072948: e7a6005c */ swc1 $f6,0x5c($sp) +/* f07294c: 8e0b0014 */ lw $t3,0x14($s0) +/* f072950: c5680010 */ lwc1 $f8,0x10($t3) +/* f072954: e7a80060 */ swc1 $f8,0x60($sp) +/* f072958: 8e0d0014 */ lw $t5,0x14($s0) +/* f07295c: c50a0008 */ lwc1 $f10,0x8($t0) +/* f072960: c5a40008 */ lwc1 $f4,0x8($t5) +/* f072964: 46045181 */ sub.s $f6,$f10,$f4 +/* f072968: e7a6004c */ swc1 $f6,0x4c($sp) +/* f07296c: 8e0c0014 */ lw $t4,0x14($s0) +/* f072970: c508000c */ lwc1 $f8,0xc($t0) +/* f072974: c58a000c */ lwc1 $f10,0xc($t4) +/* f072978: 460a4101 */ sub.s $f4,$f8,$f10 +/* f07297c: e7a40050 */ swc1 $f4,0x50($sp) +/* f072980: 8e0e0014 */ lw $t6,0x14($s0) +/* f072984: c5060010 */ lwc1 $f6,0x10($t0) +/* f072988: c5c80010 */ lwc1 $f8,0x10($t6) +/* f07298c: 46083281 */ sub.s $f10,$f6,$f8 +/* f072990: e7aa0054 */ swc1 $f10,0x54($sp) +.L0f072994: +/* f072994: 27af0088 */ addiu $t7,$sp,0x88 +/* f072998: afaf0010 */ sw $t7,0x10($sp) +/* f07299c: 27a40070 */ addiu $a0,$sp,0x70 +/* f0729a0: 27a50064 */ addiu $a1,$sp,0x64 +/* f0729a4: 27a60058 */ addiu $a2,$sp,0x58 +/* f0729a8: 0fc0b8f7 */ jal func0f02e3dc +/* f0729ac: 27a7004c */ addiu $a3,$sp,0x4c +/* f0729b0: 44800000 */ mtc1 $zero,$f0 +/* f0729b4: c7a600a8 */ lwc1 $f6,0xa8($sp) +/* f0729b8: 3c013f00 */ lui $at,0x3f00 +/* f0729bc: 44812000 */ mtc1 $at,$f4 +/* f0729c0: 46003032 */ c.eq.s $f6,$f0 +/* f0729c4: c7a80088 */ lwc1 $f8,0x88($sp) +/* f0729c8: e7a4009c */ swc1 $f4,0x9c($sp) +/* f0729cc: c7a40090 */ lwc1 $f4,0x90($sp) +/* f0729d0: 4503003e */ bc1tl .L0f072acc +/* f0729d4: 8fbf0024 */ lw $ra,0x24($sp) +/* f0729d8: 8e020014 */ lw $v0,0x14($s0) +/* f0729dc: 3c198007 */ lui $t9,%hi(var80069b80) +/* f0729e0: 27399b80 */ addiu $t9,$t9,%lo(var80069b80) +/* f0729e4: c44a0008 */ lwc1 $f10,0x8($v0) +/* f0729e8: c4460010 */ lwc1 $f6,0x10($v0) +/* f0729ec: 8f210000 */ lw $at,0x0($t9) +/* f0729f0: 460a4081 */ sub.s $f2,$f8,$f10 +/* f0729f4: 27b80034 */ addiu $t8,$sp,0x34 +/* f0729f8: af010000 */ sw $at,0x0($t8) +/* f0729fc: 46062381 */ sub.s $f14,$f4,$f6 +/* f072a00: 46021202 */ mul.s $f8,$f2,$f2 +/* f072a04: 8f210008 */ lw $at,0x8($t9) +/* f072a08: 8f2d0004 */ lw $t5,0x4($t9) +/* f072a0c: 460e7282 */ mul.s $f10,$f14,$f14 +/* f072a10: af010008 */ sw $at,0x8($t8) +/* f072a14: af0d0004 */ sw $t5,0x4($t8) +/* f072a18: e7ae0044 */ swc1 $f14,0x44($sp) +/* f072a1c: e7a20048 */ swc1 $f2,0x48($sp) +/* f072a20: 0c012974 */ jal sqrtf +/* f072a24: 460a4300 */ add.s $f12,$f8,$f10 +/* f072a28: 3c014120 */ lui $at,0x4120 +/* f072a2c: 44819000 */ mtc1 $at,$f18 +/* f072a30: 3c013f80 */ lui $at,0x3f80 +/* f072a34: 44812000 */ mtc1 $at,$f4 +/* f072a38: 3c01800a */ lui $at,%hi(g_Vars+0x4c) +/* f072a3c: c428a00c */ lwc1 $f8,%lo(g_Vars+0x4c)($at) +/* f072a40: 46002303 */ div.s $f12,$f4,$f0 +/* f072a44: c7a600a8 */ lwc1 $f6,0xa8($sp) +/* f072a48: c7a20048 */ lwc1 $f2,0x48($sp) +/* f072a4c: c7ae0044 */ lwc1 $f14,0x44($sp) +/* f072a50: 3c017f1b */ lui $at,%hi(var7f1aa320) +/* f072a54: 240c0001 */ addiu $t4,$zero,0x1 +/* f072a58: afac0010 */ sw $t4,0x10($sp) +/* f072a5c: 8fa40094 */ lw $a0,0x94($sp) +/* f072a60: 27a50034 */ addiu $a1,$sp,0x34 +/* f072a64: 24070001 */ addiu $a3,$zero,0x1 +/* f072a68: 46083283 */ div.s $f10,$f6,$f8 +/* f072a6c: 460c1082 */ mul.s $f2,$f2,$f12 +/* f072a70: 00000000 */ nop +/* f072a74: 460c7382 */ mul.s $f14,$f14,$f12 +/* f072a78: 46007107 */ neg.s $f4,$f14 +/* f072a7c: e7aa00a8 */ swc1 $f10,0xa8($sp) +/* f072a80: 460a2182 */ mul.s $f6,$f4,$f10 +/* f072a84: c7a40034 */ lwc1 $f4,0x34($sp) +/* f072a88: 46123202 */ mul.s $f8,$f6,$f18 +/* f072a8c: 46082180 */ add.s $f6,$f4,$f8 +/* f072a90: 460a1102 */ mul.s $f4,$f2,$f10 +/* f072a94: e7a60034 */ swc1 $f6,0x34($sp) +/* f072a98: c7a6003c */ lwc1 $f6,0x3c($sp) +/* f072a9c: 46122202 */ mul.s $f8,$f4,$f18 +/* f072aa0: 46083100 */ add.s $f4,$f6,$f8 +/* f072aa4: c426a320 */ lwc1 $f6,%lo(var7f1aa320)($at) +/* f072aa8: 46065202 */ mul.s $f8,$f10,$f6 +/* f072aac: e7a4003c */ swc1 $f4,0x3c($sp) +/* f072ab0: 44802000 */ mtc1 $zero,$f4 +/* f072ab4: 00000000 */ nop +/* f072ab8: 46082400 */ add.s $f16,$f4,$f8 +/* f072abc: 44068000 */ mfc1 $a2,$f16 +/* f072ac0: 0fc20a87 */ jal func0f082a1c +/* f072ac4: 00000000 */ nop +.L0f072ac8: +/* f072ac8: 8fbf0024 */ lw $ra,0x24($sp) +.L0f072acc: +/* f072acc: c7a0009c */ lwc1 $f0,0x9c($sp) +/* f072ad0: 8fb00020 */ lw $s0,0x20($sp) +/* f072ad4: 03e00008 */ jr $ra +/* f072ad8: 27bd00a0 */ addiu $sp,$sp,0xa0 +); +#else GLOBAL_ASM( glabel func0f0727d4 .late_rodata @@ -15625,6 +18088,7 @@ glabel var7f1aa320 /* f072ad4: 03e00008 */ jr $ra /* f072ad8: 27bd00a0 */ addiu $sp,$sp,0xa0 ); +#endif #if VERSION >= VERSION_PAL_FINAL GLOBAL_ASM( @@ -17093,15 +19557,15 @@ glabel var7f1aa3d0 /* f0735fc: 46000506 */ mov.s $f20,$f0 /* f073600: 00008825 */ or $s1,$zero,$zero /* f073604: 19800011 */ blez $t4,.L0f07364c -/* f073608: 3c063c99 */ lui $a2,0x3c99 +/* f073608: 3c063c99 */ lui $a2,0x3cb7 .L0f07360c: -/* f07360c: 34c6999a */ ori $a2,$a2,0x999a +/* f07360c: 34c6999a */ ori $a2,$a2,0xfe09 /* f073610: c64c0018 */ lwc1 $f12,0x18($s2) /* f073614: 0c006bfa */ jal func0001afe8 /* f073618: c7ae0084 */ lwc1 $f14,0x84($sp) -/* f07361c: 3c063c99 */ lui $a2,0x3c99 +/* f07361c: 3c063c99 */ lui $a2,0x3cb7 /* f073620: e6400018 */ swc1 $f0,0x18($s2) -/* f073624: 34c6999a */ ori $a2,$a2,0x999a +/* f073624: 34c6999a */ ori $a2,$a2,0xfe09 /* f073628: c64c0014 */ lwc1 $f12,0x14($s2) /* f07362c: 0c006bfa */ jal func0001afe8 /* f073630: 4600a386 */ mov.s $f14,$f20 @@ -17110,7 +19574,7 @@ glabel var7f1aa3d0 /* f07363c: 26310001 */ addiu $s1,$s1,0x1 /* f073640: 022d082a */ slt $at,$s1,$t5 /* f073644: 5420fff1 */ bnezl $at,.L0f07360c -/* f073648: 3c063c99 */ lui $a2,0x3c99 +/* f073648: 3c063c99 */ lui $a2,0x3cb7 .L0f07364c: /* f07364c: 3c017f1b */ lui $at,%hi(var7f1aa3c0) /* f073650: c430a3c0 */ lwc1 $f16,%lo(var7f1aa3c0)($at) @@ -17251,7 +19715,7 @@ glabel var7f1aa3d0 /* f073850: a5400062 */ sh $zero,0x62($t2) /* f073854: 8e4200f4 */ lw $v0,0xf4($s2) .L0f073858: -/* f073858: 240b0018 */ addiu $t3,$zero,0x18 +/* f073858: 240b0018 */ addiu $t3,$zero,0x14 /* f07385c: 26640008 */ addiu $a0,$s3,0x8 /* f073860: 1c400006 */ bgtz $v0,.L0f07387c /* f073864: 26650028 */ addiu $a1,$s3,0x28 @@ -17393,7 +19857,7 @@ glabel var7f1aa3d0 /* f073a60: 8eab0034 */ lw $t3,0x34($s5) /* f073a64: 8e4a00d0 */ lw $t2,0xd0($s2) /* f073a68: 014b6021 */ addu $t4,$t2,$t3 -/* f073a6c: 29810781 */ slti $at,$t4,0x781 +/* f073a6c: 29810781 */ slti $at,$t4,0x641 /* f073a70: 14200005 */ bnez $at,.L0f073a88 /* f073a74: ae4c00d0 */ sw $t4,0xd0($s2) /* f073a78: 8fae0188 */ lw $t6,0x188($sp) @@ -27035,7 +29499,7 @@ void cameraTick(struct prop *camprop) camera->seebondtime60 += g_Vars.lvupdate240_60; } - if (camera->seebondtime60 >= (s32)(SECSTOTIME60(5) * g_CameraWaitMultiplier)) { + if (camera->seebondtime60 >= (s32)(PALDOWN(300) * g_CameraWaitMultiplier)) { alarmActivate(); camera->seebondtime60 = 0; } @@ -28154,7 +30618,7 @@ glabel var7f1aa580 /* f0797b4: 0442000b */ bltzl $v0,.L0f0797e4 /* f0797b8: afa0007c */ sw $zero,0x7c($sp) /* f0797bc: 8d2e0008 */ lw $t6,0x8($t1) -/* f0797c0: 25cfff88 */ addiu $t7,$t6,-120 +/* f0797c0: 25cfff88 */ addiu $t7,$t6,-100 /* f0797c4: 01e2082a */ slt $at,$t7,$v0 /* f0797c8: 50200006 */ beqzl $at,.L0f0797e4 /* f0797cc: afa0007c */ sw $zero,0x7c($sp) @@ -28190,7 +30654,7 @@ glabel var7f1aa580 /* f079830: 53200024 */ beqzl $t9,.L0f0798c4 /* f079834: c5020060 */ lwc1 $f2,0x60($t0) /* f079838: 8d2a0008 */ lw $t2,0x8($t1) -/* f07983c: 24010078 */ addiu $at,$zero,0x78 +/* f07983c: 24010078 */ addiu $at,$zero,0x64 /* f079840: afa800ac */ sw $t0,0xac($sp) /* f079844: 0141001a */ div $zero,$t2,$at /* f079848: 00005810 */ mfhi $t3 @@ -28403,7 +30867,7 @@ glabel var7f1aa580 /* f079b44: 8d2e0008 */ lw $t6,0x8($t1) /* f079b48: 24180001 */ addiu $t8,$zero,0x1 /* f079b4c: 24190001 */ addiu $t9,$zero,0x1 -/* f079b50: 25cfff88 */ addiu $t7,$t6,-120 +/* f079b50: 25cfff88 */ addiu $t7,$t6,-100 /* f079b54: 01e2082a */ slt $at,$t7,$v0 /* f079b58: 50200004 */ beqzl $at,.L0f079b6c /* f079b5c: 8faa0078 */ lw $t2,0x78($sp) @@ -29895,6 +32359,969 @@ glabel var7f1aa588 /* f079f18: 27bd0068 */ addiu $sp,$sp,0x68 ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f079f1c +.late_rodata +glabel var7f1aa58c +.word 0x3e23d70a +glabel var7f1aa590 +.word 0x461c4000 +glabel var7f1aa594 +.word 0x453b8000 +glabel var7f1aa598 +.word 0x3f19999a +glabel var7f1aa59c +.word 0x3e99999a +glabel var7f1aa5a0 +.word 0xbdcccccd +glabel var7f1aa5a4 +.word 0x453b8000 +glabel var7f1aa5a8 +.word 0x3e4ccccd +.text +/* f079f1c: 27bdfe68 */ addiu $sp,$sp,-408 +/* f079f20: afbf0044 */ sw $ra,0x44($sp) +/* f079f24: 0fc5b364 */ jal coreIsPaused +/* f079f28: afa40198 */ sw $a0,0x198($sp) +/* f079f2c: 14400363 */ bnez $v0,.L0f07acbc +/* f079f30: 8fae0198 */ lw $t6,0x198($sp) +/* f079f34: 8dc20004 */ lw $v0,0x4($t6) +/* f079f38: afa0018c */ sw $zero,0x18c($sp) +/* f079f3c: afa00188 */ sw $zero,0x188($sp) +/* f079f40: 8c4f0018 */ lw $t7,0x18($v0) +/* f079f44: afa00174 */ sw $zero,0x174($sp) +/* f079f48: afaf0184 */ sw $t7,0x184($sp) +/* f079f4c: 8058005e */ lb $t8,0x5e($v0) +/* f079f50: 53000347 */ beqzl $t8,.L0f07ac70 +/* f079f54: 8fad0184 */ lw $t5,0x184($sp) +/* f079f58: 8c590008 */ lw $t9,0x8($v0) +/* f079f5c: 001940c0 */ sll $t0,$t9,0x3 +/* f079f60: 05020343 */ bltzl $t0,.L0f07ac70 +/* f079f64: 8fad0184 */ lw $t5,0x184($sp) +/* f079f68: 9049005f */ lbu $t1,0x5f($v0) +/* f079f6c: 24050005 */ addiu $a1,$zero,0x5 +/* f079f70: 252b0001 */ addiu $t3,$t1,0x1 +/* f079f74: a04b005f */ sb $t3,0x5f($v0) +/* f079f78: 8fae0184 */ lw $t6,0x184($sp) +/* f079f7c: 316c0001 */ andi $t4,$t3,0x1 +/* f079f80: 2d8d0001 */ sltiu $t5,$t4,0x1 +/* f079f84: afad018c */ sw $t5,0x18c($sp) +/* f079f88: 8dc40008 */ lw $a0,0x8($t6) +/* f079f8c: afa20194 */ sw $v0,0x194($sp) +/* f079f90: 0c006a47 */ jal modelGetPart +/* f079f94: afa20190 */ sw $v0,0x190($sp) +/* f079f98: 1040000b */ beqz $v0,.L0f079fc8 +/* f079f9c: 8fa30190 */ lw $v1,0x190($sp) +/* f079fa0: 8faf0194 */ lw $t7,0x194($sp) +/* f079fa4: 91f8005f */ lbu $t8,0x5f($t7) +/* f079fa8: 07010004 */ bgez $t8,.L0f079fbc +/* f079fac: 33190001 */ andi $t9,$t8,0x1 +/* f079fb0: 13200002 */ beqz $t9,.L0f079fbc +/* f079fb4: 00000000 */ nop +/* f079fb8: 2739fffe */ addiu $t9,$t9,-2 +.L0f079fbc: +/* f079fbc: 3b280001 */ xori $t0,$t9,0x1 +/* f079fc0: 2d080001 */ sltiu $t0,$t0,0x1 +/* f079fc4: afa80188 */ sw $t0,0x188($sp) +.L0f079fc8: +/* f079fc8: 8fa9018c */ lw $t1,0x18c($sp) +/* f079fcc: 8faa0188 */ lw $t2,0x188($sp) +/* f079fd0: 55200004 */ bnezl $t1,.L0f079fe4 +/* f079fd4: 8fab0194 */ lw $t3,0x194($sp) +/* f079fd8: 514002f0 */ beqzl $t2,.L0f07ab9c +/* f079fdc: 8fa80194 */ lw $t0,0x194($sp) +/* f079fe0: 8fab0194 */ lw $t3,0x194($sp) +.L0f079fe4: +/* f079fe4: afa00148 */ sw $zero,0x148($sp) +/* f079fe8: 3c188007 */ lui $t8,%hi(var80069cb8) +/* f079fec: 916c005f */ lbu $t4,0x5f($t3) +/* f079ff0: 8f189cb8 */ lw $t8,%lo(var80069cb8)($t8) +/* f079ff4: 3c09800a */ lui $t1,%hi(g_Vars+0x318) +/* f079ff8: 318d0003 */ andi $t5,$t4,0x3 +/* f079ffc: 2dae0001 */ sltiu $t6,$t5,0x1 +/* f07a000: afae0128 */ sw $t6,0x128($sp) +/* f07a004: 8d6f00a4 */ lw $t7,0xa4($t3) +/* f07a008: afa0011c */ sw $zero,0x11c($sp) +/* f07a00c: afa00114 */ sw $zero,0x114($sp) +/* f07a010: afa00110 */ sw $zero,0x110($sp) +/* f07a014: afb80118 */ sw $t8,0x118($sp) +/* f07a018: afaf0124 */ sw $t7,0x124($sp) +/* f07a01c: 8c640040 */ lw $a0,0x40($v1) +/* f07a020: 8d29a2d8 */ lw $t1,%lo(g_Vars+0x318)($t1) +/* f07a024: 3c01f000 */ lui $at,0xf000 +/* f07a028: 0081c824 */ and $t9,$a0,$at +/* f07a02c: 11200007 */ beqz $t1,.L0f07a04c +/* f07a030: 00192702 */ srl $a0,$t9,0x1c +/* f07a034: 0fc63410 */ jal mpGetChrFromPlayerIndex +/* f07a038: 00000000 */ nop +/* f07a03c: 10400003 */ beqz $v0,.L0f07a04c +/* f07a040: afa20110 */ sw $v0,0x110($sp) +/* f07a044: 8c4a001c */ lw $t2,0x1c($v0) +/* f07a048: afaa0114 */ sw $t2,0x114($sp) +.L0f07a04c: +/* f07a04c: 8fac0194 */ lw $t4,0x194($sp) +/* f07a050: 918d005f */ lbu $t5,0x5f($t4) +/* f07a054: 31ae0007 */ andi $t6,$t5,0x7 +/* f07a058: 55c00008 */ bnezl $t6,.L0f07a07c +/* f07a05c: 8faf0184 */ lw $t7,0x184($sp) +/* f07a060: 8fab0184 */ lw $t3,0x184($sp) +/* f07a064: 24050007 */ addiu $a1,$zero,0x7 +/* f07a068: 0c006a47 */ jal modelGetPart +/* f07a06c: 8d640008 */ lw $a0,0x8($t3) +/* f07a070: 14400006 */ bnez $v0,.L0f07a08c +/* f07a074: 00403825 */ or $a3,$v0,$zero +/* f07a078: 8faf0184 */ lw $t7,0x184($sp) +.L0f07a07c: +/* f07a07c: 24050005 */ addiu $a1,$zero,0x5 +/* f07a080: 0c006a47 */ jal modelGetPart +/* f07a084: 8de40008 */ lw $a0,0x8($t7) +/* f07a088: 00403825 */ or $a3,$v0,$zero +.L0f07a08c: +/* f07a08c: 54400009 */ bnezl $v0,.L0f07a0b4 +/* f07a090: 8fa40198 */ lw $a0,0x198($sp) +/* f07a094: 8fb80184 */ lw $t8,0x184($sp) +/* f07a098: 24050003 */ addiu $a1,$zero,0x3 +/* f07a09c: 8f040008 */ lw $a0,0x8($t8) +/* f07a0a0: 0c006a47 */ jal modelGetPart +/* f07a0a4: afa70120 */ sw $a3,0x120($sp) +/* f07a0a8: 8fa70120 */ lw $a3,0x120($sp) +/* f07a0ac: afa2011c */ sw $v0,0x11c($sp) +/* f07a0b0: 8fa40198 */ lw $a0,0x198($sp) +.L0f07a0b4: +/* f07a0b4: 00002825 */ or $a1,$zero,$zero +/* f07a0b8: 0fc1905e */ jal propSetCollisionsEnabled +/* f07a0bc: afa70120 */ sw $a3,0x120($sp) +/* f07a0c0: 8fa20198 */ lw $v0,0x198($sp) +/* f07a0c4: 8fa70120 */ lw $a3,0x120($sp) +/* f07a0c8: 90590001 */ lbu $t9,0x1($v0) +/* f07a0cc: 33280002 */ andi $t0,$t9,0x2 +/* f07a0d0: 51000042 */ beqzl $t0,.L0f07a1dc +/* f07a0d4: c44a0008 */ lwc1 $f10,0x8($v0) +/* f07a0d8: 14e00003 */ bnez $a3,.L0f07a0e8 +/* f07a0dc: 8fa9011c */ lw $t1,0x11c($sp) +/* f07a0e0: 5120003e */ beqzl $t1,.L0f07a1dc +/* f07a0e4: c44a0008 */ lwc1 $f10,0x8($v0) +.L0f07a0e8: +/* f07a0e8: 10e00010 */ beqz $a3,.L0f07a12c +/* f07a0ec: 8fa40184 */ lw $a0,0x184($sp) +/* f07a0f0: 8fa40184 */ lw $a0,0x184($sp) +/* f07a0f4: 00e02825 */ or $a1,$a3,$zero +/* f07a0f8: 00003025 */ or $a2,$zero,$zero +/* f07a0fc: 0c006973 */ jal func0001a5cc +/* f07a100: afa70120 */ sw $a3,0x120($sp) +/* f07a104: 8fa70120 */ lw $a3,0x120($sp) +/* f07a108: 00402825 */ or $a1,$v0,$zero +/* f07a10c: 8ce30004 */ lw $v1,0x4($a3) +/* f07a110: c4640000 */ lwc1 $f4,0x0($v1) +/* f07a114: e7a40168 */ swc1 $f4,0x168($sp) +/* f07a118: c4660004 */ lwc1 $f6,0x4($v1) +/* f07a11c: e7a6016c */ swc1 $f6,0x16c($sp) +/* f07a120: c4680008 */ lwc1 $f8,0x8($v1) +/* f07a124: 1000000b */ b .L0f07a154 +/* f07a128: e7a80170 */ swc1 $f8,0x170($sp) +.L0f07a12c: +/* f07a12c: 8fa5011c */ lw $a1,0x11c($sp) +/* f07a130: 0c006973 */ jal func0001a5cc +/* f07a134: 00003025 */ or $a2,$zero,$zero +/* f07a138: 44805000 */ mtc1 $zero,$f10 +/* f07a13c: 44808000 */ mtc1 $zero,$f16 +/* f07a140: 44809000 */ mtc1 $zero,$f18 +/* f07a144: 00402825 */ or $a1,$v0,$zero +/* f07a148: e7aa0168 */ swc1 $f10,0x168($sp) +/* f07a14c: e7b0016c */ swc1 $f16,0x16c($sp) +/* f07a150: e7b20170 */ swc1 $f18,0x170($sp) +.L0f07a154: +/* f07a154: 0fc2d5de */ jal currentPlayerGetUnk174c +/* f07a158: afa50108 */ sw $a1,0x108($sp) +/* f07a15c: 8fa50108 */ lw $a1,0x108($sp) +/* f07a160: 00402025 */ or $a0,$v0,$zero +/* f07a164: 0c0056f9 */ jal func00015be4 +/* f07a168: 27a600c8 */ addiu $a2,$sp,0xc8 +/* f07a16c: 27a400c8 */ addiu $a0,$sp,0xc8 +/* f07a170: 0c0056d9 */ jal func00015b64 +/* f07a174: 27a50168 */ addiu $a1,$sp,0x168 +/* f07a178: 8fa20198 */ lw $v0,0x198($sp) +/* f07a17c: 240a0020 */ addiu $t2,$zero,0x20 +/* f07a180: 240c0010 */ addiu $t4,$zero,0x10 +/* f07a184: 24450028 */ addiu $a1,$v0,0x28 +/* f07a188: afa5004c */ sw $a1,0x4c($sp) +/* f07a18c: afac0014 */ sw $t4,0x14($sp) +/* f07a190: afaa0010 */ sw $t2,0x10($sp) +/* f07a194: 27a60168 */ addiu $a2,$sp,0x168 +/* f07a198: 27a70158 */ addiu $a3,$sp,0x158 +/* f07a19c: 0c00b78d */ jal func0002de34 +/* f07a1a0: 24440008 */ addiu $a0,$v0,0x8 +/* f07a1a4: 14400015 */ bnez $v0,.L0f07a1fc +/* f07a1a8: 8fad0198 */ lw $t5,0x198($sp) +/* f07a1ac: c5a40008 */ lwc1 $f4,0x8($t5) +/* f07a1b0: 8fa4004c */ lw $a0,0x4c($sp) +/* f07a1b4: 27a50158 */ addiu $a1,$sp,0x158 +/* f07a1b8: e7a40168 */ swc1 $f4,0x168($sp) +/* f07a1bc: c5a6000c */ lwc1 $f6,0xc($t5) +/* f07a1c0: e7a6016c */ swc1 $f6,0x16c($sp) +/* f07a1c4: c5a80010 */ lwc1 $f8,0x10($t5) +/* f07a1c8: 0fc195e9 */ jal roomsCopy +/* f07a1cc: e7a80170 */ swc1 $f8,0x170($sp) +/* f07a1d0: 1000000b */ b .L0f07a200 +/* f07a1d4: 8fae0194 */ lw $t6,0x194($sp) +/* f07a1d8: c44a0008 */ lwc1 $f10,0x8($v0) +.L0f07a1dc: +/* f07a1dc: 24440028 */ addiu $a0,$v0,0x28 +/* f07a1e0: 27a50158 */ addiu $a1,$sp,0x158 +/* f07a1e4: e7aa0168 */ swc1 $f10,0x168($sp) +/* f07a1e8: c450000c */ lwc1 $f16,0xc($v0) +/* f07a1ec: e7b0016c */ swc1 $f16,0x16c($sp) +/* f07a1f0: c4520010 */ lwc1 $f18,0x10($v0) +/* f07a1f4: 0fc195e9 */ jal roomsCopy +/* f07a1f8: e7b20170 */ swc1 $f18,0x170($sp) +.L0f07a1fc: +/* f07a1fc: 8fae0194 */ lw $t6,0x194($sp) +.L0f07a200: +/* f07a200: 0c0068f4 */ jal cosf +/* f07a204: c5cc0078 */ lwc1 $f12,0x78($t6) +/* f07a208: 8fab0194 */ lw $t3,0x194($sp) +/* f07a20c: e7a00050 */ swc1 $f0,0x50($sp) +/* f07a210: 0c0068f7 */ jal sinf +/* f07a214: c56c006c */ lwc1 $f12,0x6c($t3) +/* f07a218: c7a40050 */ lwc1 $f4,0x50($sp) +/* f07a21c: 8faf0194 */ lw $t7,0x194($sp) +/* f07a220: 46040182 */ mul.s $f6,$f0,$f4 +/* f07a224: e7a6014c */ swc1 $f6,0x14c($sp) +/* f07a228: 0c0068f7 */ jal sinf +/* f07a22c: c5ec0078 */ lwc1 $f12,0x78($t7) +/* f07a230: 8fb80194 */ lw $t8,0x194($sp) +/* f07a234: e7a00150 */ swc1 $f0,0x150($sp) +/* f07a238: 0c0068f4 */ jal cosf +/* f07a23c: c70c0078 */ lwc1 $f12,0x78($t8) +/* f07a240: 8fb90194 */ lw $t9,0x194($sp) +/* f07a244: e7a00050 */ swc1 $f0,0x50($sp) +/* f07a248: 0c0068f4 */ jal cosf +/* f07a24c: c72c006c */ lwc1 $f12,0x6c($t9) +/* f07a250: c7a80050 */ lwc1 $f8,0x50($sp) +/* f07a254: 3c014780 */ lui $at,0x4780 +/* f07a258: 44811000 */ mtc1 $at,$f2 +/* f07a25c: 46080302 */ mul.s $f12,$f0,$f8 +/* f07a260: c7aa014c */ lwc1 $f10,0x14c($sp) +/* f07a264: c7a60150 */ lwc1 $f6,0x150($sp) +/* f07a268: c7b20168 */ lwc1 $f18,0x168($sp) +/* f07a26c: 46025402 */ mul.s $f16,$f10,$f2 +/* f07a270: c7aa016c */ lwc1 $f10,0x16c($sp) +/* f07a274: 3c03800a */ lui $v1,%hi(g_Vars) +/* f07a278: 46023202 */ mul.s $f8,$f6,$f2 +/* f07a27c: 24639fc0 */ addiu $v1,$v1,%lo(g_Vars) +/* f07a280: 8c680318 */ lw $t0,0x318($v1) +/* f07a284: e7ac0154 */ swc1 $f12,0x154($sp) +/* f07a288: 8fa20124 */ lw $v0,0x124($sp) +/* f07a28c: 46128100 */ add.s $f4,$f16,$f18 +/* f07a290: 46026482 */ mul.s $f18,$f12,$f2 +/* f07a294: 27a40168 */ addiu $a0,$sp,0x168 +/* f07a298: 460a4400 */ add.s $f16,$f8,$f10 +/* f07a29c: e7a4013c */ swc1 $f4,0x13c($sp) +/* f07a2a0: c7a40170 */ lwc1 $f4,0x170($sp) +/* f07a2a4: 27a50158 */ addiu $a1,$sp,0x158 +/* f07a2a8: e7b00140 */ swc1 $f16,0x140($sp) +/* f07a2ac: 46049180 */ add.s $f6,$f18,$f4 +/* f07a2b0: 27a6013c */ addiu $a2,$sp,0x13c +/* f07a2b4: 2407003f */ addiu $a3,$zero,0x3f +/* f07a2b8: 1500000f */ bnez $t0,.L0f07a2f8 +/* f07a2bc: e7a60144 */ swc1 $f6,0x144($sp) +/* f07a2c0: 50400006 */ beqzl $v0,.L0f07a2dc +/* f07a2c4: 8c6a029c */ lw $t2,0x29c($v1) +/* f07a2c8: 90490000 */ lbu $t1,0x0($v0) +/* f07a2cc: 24010003 */ addiu $at,$zero,0x3 +/* f07a2d0: 5121000a */ beql $t1,$at,.L0f07a2fc +/* f07a2d4: 240e0010 */ addiu $t6,$zero,0x10 +/* f07a2d8: 8c6a029c */ lw $t2,0x29c($v1) +.L0f07a2dc: +/* f07a2dc: 0540007f */ bltz $t2,.L0f07a4dc +/* f07a2e0: 00000000 */ nop +/* f07a2e4: 1040007d */ beqz $v0,.L0f07a4dc +/* f07a2e8: 00000000 */ nop +/* f07a2ec: 8c6c02a8 */ lw $t4,0x2a8($v1) +/* f07a2f0: 8d8d00bc */ lw $t5,0xbc($t4) +/* f07a2f4: 144d0079 */ bne $v0,$t5,.L0f07a4dc +.L0f07a2f8: +/* f07a2f8: 240e0010 */ addiu $t6,$zero,0x10 +.L0f07a2fc: +/* f07a2fc: 0c00b764 */ jal cdTestAToB4 +/* f07a300: afae0010 */ sw $t6,0x10($sp) +/* f07a304: 14400151 */ bnez $v0,.L0f07a84c +/* f07a308: 27a4013c */ addiu $a0,$sp,0x13c +/* f07a30c: 3c067f1b */ lui $a2,%hi(var7f1aa020) +/* f07a310: 24c6a020 */ addiu $a2,$a2,%lo(var7f1aa020) +/* f07a314: 0c0093af */ jal cdGetPos +/* f07a318: 24052cc2 */ addiu $a1,$zero,0x2cd8 +/* f07a31c: 0c0093ac */ jal cdGetObstacle +/* f07a320: 00000000 */ nop +/* f07a324: 1040006a */ beqz $v0,.L0f07a4d0 +/* f07a328: afa20178 */ sw $v0,0x178($sp) +/* f07a32c: 90430000 */ lbu $v1,0x0($v0) +/* f07a330: 24010003 */ addiu $at,$zero,0x3 +/* f07a334: 3c0b800a */ lui $t3,%hi(g_Vars+0x318) +/* f07a338: 10610003 */ beq $v1,$at,.L0f07a348 +/* f07a33c: 24010006 */ addiu $at,$zero,0x6 +/* f07a340: 54610064 */ bnel $v1,$at,.L0f07a4d4 +/* f07a344: 24080001 */ addiu $t0,$zero,0x1 +.L0f07a348: +/* f07a348: 8d6ba2d8 */ lw $t3,%lo(g_Vars+0x318)($t3) +/* f07a34c: 8faf0124 */ lw $t7,0x124($sp) +/* f07a350: 2418ffff */ addiu $t8,$zero,-1 +/* f07a354: 15600003 */ bnez $t3,.L0f07a364 +/* f07a358: 241900c8 */ addiu $t9,$zero,0xc8 +/* f07a35c: 55e2005d */ bnel $t7,$v0,.L0f07a4d4 +/* f07a360: 24080001 */ addiu $t0,$zero,0x1 +.L0f07a364: +/* f07a364: afa000c0 */ sw $zero,0xc0($sp) +/* f07a368: afa000bc */ sw $zero,0xbc($sp) +/* f07a36c: afb800b8 */ sw $t8,0xb8($sp) +/* f07a370: afb900b4 */ sw $t9,0xb4($sp) +/* f07a374: 0fc2c74a */ jal handGetDamage +/* f07a378: 27a40118 */ addiu $a0,$sp,0x118 +/* f07a37c: 8fa80178 */ lw $t0,0x178($sp) +/* f07a380: 3c09800a */ lui $t1,%hi(g_Vars+0x318) +/* f07a384: 8d29a2d8 */ lw $t1,%lo(g_Vars+0x318)($t1) +/* f07a388: e7a000b0 */ swc1 $f0,0xb0($sp) +/* f07a38c: 8d040004 */ lw $a0,0x4($t0) +/* f07a390: 3c013f00 */ lui $at,0x3f00 +/* f07a394: 11200005 */ beqz $t1,.L0f07a3ac +/* f07a398: afa400ac */ sw $a0,0xac($sp) +/* f07a39c: 44814000 */ mtc1 $at,$f8 +/* f07a3a0: 00000000 */ nop +/* f07a3a4: 46080282 */ mul.s $f10,$f0,$f8 +/* f07a3a8: e7aa00b0 */ swc1 $f10,0xb0($sp) +.L0f07a3ac: +/* f07a3ac: 8faa0114 */ lw $t2,0x114($sp) +/* f07a3b0: 8fac0178 */ lw $t4,0x178($sp) +/* f07a3b4: 8fad0110 */ lw $t5,0x110($sp) +/* f07a3b8: 514c0007 */ beql $t2,$t4,.L0f07a3d8 +/* f07a3bc: 240e0001 */ addiu $t6,$zero,0x1 +/* f07a3c0: 11a00009 */ beqz $t5,.L0f07a3e8 +/* f07a3c4: 01a02825 */ or $a1,$t5,$zero +/* f07a3c8: 0fc12aa3 */ jal chrCompareTeams +/* f07a3cc: 24060001 */ addiu $a2,$zero,0x1 +/* f07a3d0: 10400005 */ beqz $v0,.L0f07a3e8 +/* f07a3d4: 240e0001 */ addiu $t6,$zero,0x1 +.L0f07a3d8: +/* f07a3d8: afa00128 */ sw $zero,0x128($sp) +/* f07a3dc: afa0018c */ sw $zero,0x18c($sp) +/* f07a3e0: afa00188 */ sw $zero,0x188($sp) +/* f07a3e4: afae0174 */ sw $t6,0x174($sp) +.L0f07a3e8: +/* f07a3e8: 8fab018c */ lw $t3,0x18c($sp) +/* f07a3ec: 8faf0188 */ lw $t7,0x188($sp) +/* f07a3f0: 27a40118 */ addiu $a0,$sp,0x118 +/* f07a3f4: 15600003 */ bnez $t3,.L0f07a404 +/* f07a3f8: 8fa50178 */ lw $a1,0x178($sp) +/* f07a3fc: 51e00114 */ beqzl $t7,.L0f07a850 +/* f07a400: 8fa40198 */ lw $a0,0x198($sp) +.L0f07a404: +/* f07a404: 0fc29f66 */ jal func0f0a7d98 +/* f07a408: 2406ffff */ addiu $a2,$zero,-1 +/* f07a40c: 8fa400ac */ lw $a0,0xac($sp) +/* f07a410: 8c980020 */ lw $t8,0x20($a0) +/* f07a414: 53000012 */ beqzl $t8,.L0f07a460 +/* f07a418: 8fac0110 */ lw $t4,0x110($sp) +/* f07a41c: 0fc0cfe8 */ jal chrGetShield +/* f07a420: 00000000 */ nop +/* f07a424: 44808000 */ mtc1 $zero,$f16 +/* f07a428: 8fa400ac */ lw $a0,0xac($sp) +/* f07a42c: 27a5013c */ addiu $a1,$sp,0x13c +/* f07a430: 4600803c */ c.lt.s $f16,$f0 +/* f07a434: 27a6014c */ addiu $a2,$sp,0x14c +/* f07a438: 27a700c0 */ addiu $a3,$sp,0xc0 +/* f07a43c: 27b900b4 */ addiu $t9,$sp,0xb4 +/* f07a440: 45000006 */ bc1f .L0f07a45c +/* f07a444: 27a800bc */ addiu $t0,$sp,0xbc +/* f07a448: 27a900b8 */ addiu $t1,$sp,0xb8 +/* f07a44c: afa90018 */ sw $t1,0x18($sp) +/* f07a450: afb90010 */ sw $t9,0x10($sp) +/* f07a454: 0fc0ffcb */ jal func0f03ff2c +/* f07a458: afa80014 */ sw $t0,0x14($sp) +.L0f07a45c: +/* f07a45c: 8fac0110 */ lw $t4,0x110($sp) +.L0f07a460: +/* f07a460: 27aa014c */ addiu $t2,$sp,0x14c +/* f07a464: 8fa400ac */ lw $a0,0xac($sp) +/* f07a468: afaa0010 */ sw $t2,0x10($sp) +/* f07a46c: 8fa50178 */ lw $a1,0x178($sp) +/* f07a470: 8fa600b4 */ lw $a2,0xb4($sp) +/* f07a474: 27a7013c */ addiu $a3,$sp,0x13c +/* f07a478: 0fc097a9 */ jal chrEmitSparks +/* f07a47c: afac0014 */ sw $t4,0x14($sp) +/* f07a480: 8fad0114 */ lw $t5,0x114($sp) +/* f07a484: 8fab0178 */ lw $t3,0x178($sp) +/* f07a488: 8faf00c0 */ lw $t7,0xc0($sp) +/* f07a48c: 8fb800bc */ lw $t8,0xbc($sp) +/* f07a490: 8fb900b8 */ lw $t9,0xb8($sp) +/* f07a494: 240e00c8 */ addiu $t6,$zero,0xc8 +/* f07a498: afae0014 */ sw $t6,0x14($sp) +/* f07a49c: 8fa400ac */ lw $a0,0xac($sp) +/* f07a4a0: 8fa500b0 */ lw $a1,0xb0($sp) +/* f07a4a4: 27a6014c */ addiu $a2,$sp,0x14c +/* f07a4a8: 27a70118 */ addiu $a3,$sp,0x118 +/* f07a4ac: afa00028 */ sw $zero,0x28($sp) +/* f07a4b0: afad0010 */ sw $t5,0x10($sp) +/* f07a4b4: afab0018 */ sw $t3,0x18($sp) +/* f07a4b8: afaf001c */ sw $t7,0x1c($sp) +/* f07a4bc: afb80020 */ sw $t8,0x20($sp) +/* f07a4c0: 0fc0d077 */ jal func0f0341dc +/* f07a4c4: afb90024 */ sw $t9,0x24($sp) +/* f07a4c8: 100000e1 */ b .L0f07a850 +/* f07a4cc: 8fa40198 */ lw $a0,0x198($sp) +.L0f07a4d0: +/* f07a4d0: 24080001 */ addiu $t0,$zero,0x1 +.L0f07a4d4: +/* f07a4d4: 100000dd */ b .L0f07a84c +/* f07a4d8: afa80148 */ sw $t0,0x148($sp) +.L0f07a4dc: +/* f07a4dc: 10400045 */ beqz $v0,.L0f07a5f4 +/* f07a4e0: 27a40168 */ addiu $a0,$sp,0x168 +/* f07a4e4: 90490000 */ lbu $t1,0x0($v0) +/* f07a4e8: 24010001 */ addiu $at,$zero,0x1 +/* f07a4ec: 27a50158 */ addiu $a1,$sp,0x158 +/* f07a4f0: 15210040 */ bne $t1,$at,.L0f07a5f4 +/* f07a4f4: 27a6013c */ addiu $a2,$sp,0x13c +/* f07a4f8: 240a0010 */ addiu $t2,$zero,0x10 +/* f07a4fc: afa000a8 */ sw $zero,0xa8($sp) +/* f07a500: afaa0010 */ sw $t2,0x10($sp) +/* f07a504: 27a40168 */ addiu $a0,$sp,0x168 +/* f07a508: 0c00b764 */ jal cdTestAToB4 +/* f07a50c: 2407003b */ addiu $a3,$zero,0x3b +/* f07a510: 1440000a */ bnez $v0,.L0f07a53c +/* f07a514: 27a4013c */ addiu $a0,$sp,0x13c +/* f07a518: 3c067f1b */ lui $a2,%hi(var7f1aa02c) +/* f07a51c: 24c6a02c */ addiu $a2,$a2,%lo(var7f1aa02c) +/* f07a520: 0c0093af */ jal cdGetPos +/* f07a524: 24052cf9 */ addiu $a1,$zero,0x2d0f +/* f07a528: 0c0093ac */ jal cdGetObstacle +/* f07a52c: 00000000 */ nop +/* f07a530: 240c0001 */ addiu $t4,$zero,0x1 +/* f07a534: afac0148 */ sw $t4,0x148($sp) +/* f07a538: afa200a8 */ sw $v0,0xa8($sp) +.L0f07a53c: +/* f07a53c: 8fa300a8 */ lw $v1,0xa8($sp) +/* f07a540: 506000c3 */ beqzl $v1,.L0f07a850 +/* f07a544: 8fa40198 */ lw $a0,0x198($sp) +/* f07a548: 906d0000 */ lbu $t5,0x0($v1) +/* f07a54c: 24010001 */ addiu $at,$zero,0x1 +/* f07a550: 55a100bf */ bnel $t5,$at,.L0f07a850 +/* f07a554: 8fa40198 */ lw $a0,0x198($sp) +/* f07a558: 8c640004 */ lw $a0,0x4($v1) +/* f07a55c: 2401014c */ addiu $at,$zero,0x14c +/* f07a560: 3c0b8007 */ lui $t3,%hi(var80069cbc) +/* f07a564: 848e0004 */ lh $t6,0x4($a0) +/* f07a568: 27a5013c */ addiu $a1,$sp,0x13c +/* f07a56c: 24060000 */ addiu $a2,$zero,0x0 +/* f07a570: 55c100b7 */ bnel $t6,$at,.L0f07a850 +/* f07a574: 8fa40198 */ lw $a0,0x198($sp) +/* f07a578: 8d6b9cbc */ lw $t3,%lo(var80069cbc)($t3) +/* f07a57c: afa00148 */ sw $zero,0x148($sp) +/* f07a580: afa300a8 */ sw $v1,0xa8($sp) +/* f07a584: 0fc68330 */ jal frCalculateHit +/* f07a588: afab00a0 */ sw $t3,0xa0($sp) +/* f07a58c: 0fc4f92a */ jal chrIsUsingPaintball +/* f07a590: 8fa40110 */ lw $a0,0x110($sp) +/* f07a594: 1040000b */ beqz $v0,.L0f07a5c4 +/* f07a598: 8fa500a8 */ lw $a1,0xa8($sp) +/* f07a59c: 8fa500a8 */ lw $a1,0xa8($sp) +/* f07a5a0: 240f0019 */ addiu $t7,$zero,0x19 +/* f07a5a4: 27a6013c */ addiu $a2,$sp,0x13c +/* f07a5a8: 84a40028 */ lh $a0,0x28($a1) +/* f07a5ac: afaf0014 */ sw $t7,0x14($sp) +/* f07a5b0: afa00010 */ sw $zero,0x10($sp) +/* f07a5b4: 0fc4be7c */ jal sparksCreate +/* f07a5b8: 00003825 */ or $a3,$zero,$zero +/* f07a5bc: 10000008 */ b .L0f07a5e0 +/* f07a5c0: 27a400a0 */ addiu $a0,$sp,0xa0 +.L0f07a5c4: +/* f07a5c4: 84a40028 */ lh $a0,0x28($a1) +/* f07a5c8: afa00014 */ sw $zero,0x14($sp) +/* f07a5cc: afa00010 */ sw $zero,0x10($sp) +/* f07a5d0: 27a6013c */ addiu $a2,$sp,0x13c +/* f07a5d4: 0fc4be7c */ jal sparksCreate +/* f07a5d8: 00003825 */ or $a3,$zero,$zero +/* f07a5dc: 27a400a0 */ addiu $a0,$sp,0xa0 +.L0f07a5e0: +/* f07a5e0: 8fa500a8 */ lw $a1,0xa8($sp) +/* f07a5e4: 0fc29f66 */ jal func0f0a7d98 +/* f07a5e8: 240600f2 */ addiu $a2,$zero,0xf2 +/* f07a5ec: 10000098 */ b .L0f07a850 +/* f07a5f0: 8fa40198 */ lw $a0,0x198($sp) +.L0f07a5f4: +/* f07a5f4: 24190010 */ addiu $t9,$zero,0x10 +/* f07a5f8: afb90010 */ sw $t9,0x10($sp) +/* f07a5fc: 27a50158 */ addiu $a1,$sp,0x158 +/* f07a600: 27a6013c */ addiu $a2,$sp,0x13c +/* f07a604: 0c00b764 */ jal cdTestAToB4 +/* f07a608: 24070022 */ addiu $a3,$zero,0x22 +/* f07a60c: 14400007 */ bnez $v0,.L0f07a62c +/* f07a610: 27a4013c */ addiu $a0,$sp,0x13c +/* f07a614: 3c067f1b */ lui $a2,%hi(var7f1aa038) +/* f07a618: 24c6a038 */ addiu $a2,$a2,%lo(var7f1aa038) +/* f07a61c: 0c0093af */ jal cdGetPos +/* f07a620: 24052d13 */ addiu $a1,$zero,0x2d29 +/* f07a624: 24080001 */ addiu $t0,$zero,0x1 +/* f07a628: afa80148 */ sw $t0,0x148($sp) +.L0f07a62c: +/* f07a62c: 8faa0194 */ lw $t2,0x194($sp) +/* f07a630: 3c09800a */ lui $t1,%hi(g_Vars+0x8) +/* f07a634: 8d299fc8 */ lw $t1,%lo(g_Vars+0x8)($t1) +/* f07a638: 8d4c0094 */ lw $t4,0x94($t2) +/* f07a63c: 8fa20124 */ lw $v0,0x124($sp) +/* f07a640: 552c0083 */ bnel $t1,$t4,.L0f07a850 +/* f07a644: 8fa40198 */ lw $a0,0x198($sp) +/* f07a648: 50400081 */ beqzl $v0,.L0f07a850 +/* f07a64c: 8fa40198 */ lw $a0,0x198($sp) +/* f07a650: 904d0000 */ lbu $t5,0x0($v0) +/* f07a654: 24010006 */ addiu $at,$zero,0x6 +/* f07a658: c7a40168 */ lwc1 $f4,0x168($sp) +/* f07a65c: 55a1007c */ bnel $t5,$at,.L0f07a850 +/* f07a660: 8fa40198 */ lw $a0,0x198($sp) +/* f07a664: c4520008 */ lwc1 $f18,0x8($v0) +/* f07a668: c446000c */ lwc1 $f6,0xc($v0) +/* f07a66c: c7a8016c */ lwc1 $f8,0x16c($sp) +/* f07a670: 46049001 */ sub.s $f0,$f18,$f4 +/* f07a674: c44a0010 */ lwc1 $f10,0x10($v0) +/* f07a678: c7b00170 */ lwc1 $f16,0x170($sp) +/* f07a67c: 46083081 */ sub.s $f2,$f6,$f8 +/* f07a680: 46000482 */ mul.s $f18,$f0,$f0 +/* f07a684: 46105301 */ sub.s $f12,$f10,$f16 +/* f07a688: 46021182 */ mul.s $f6,$f2,$f2 +/* f07a68c: 46069280 */ add.s $f10,$f18,$f6 +/* f07a690: 460c6482 */ mul.s $f18,$f12,$f12 +/* f07a694: c7a6013c */ lwc1 $f6,0x13c($sp) +/* f07a698: 46043001 */ sub.s $f0,$f6,$f4 +/* f07a69c: 46125380 */ add.s $f14,$f10,$f18 +/* f07a6a0: c7aa0140 */ lwc1 $f10,0x140($sp) +/* f07a6a4: 46000182 */ mul.s $f6,$f0,$f0 +/* f07a6a8: c7b20144 */ lwc1 $f18,0x144($sp) +/* f07a6ac: 46085081 */ sub.s $f2,$f10,$f8 +/* f07a6b0: 46109301 */ sub.s $f12,$f18,$f16 +/* f07a6b4: 46021102 */ mul.s $f4,$f2,$f2 +/* f07a6b8: 46043280 */ add.s $f10,$f6,$f4 +/* f07a6bc: 460c6202 */ mul.s $f8,$f12,$f12 +/* f07a6c0: 46085480 */ add.s $f18,$f10,$f8 +/* f07a6c4: 4612703e */ c.le.s $f14,$f18 +/* f07a6c8: 00000000 */ nop +/* f07a6cc: 45020060 */ bc1fl .L0f07a850 +/* f07a6d0: 8fa40198 */ lw $a0,0x198($sp) +/* f07a6d4: 0c012974 */ jal sqrtf +/* f07a6d8: 46007306 */ mov.s $f12,$f14 +/* f07a6dc: 3c014348 */ lui $at,0x4348 +/* f07a6e0: 44816000 */ mtc1 $at,$f12 +/* f07a6e4: 3c017f1b */ lui $at,%hi(var7f1aa58c) +/* f07a6e8: c430a58c */ lwc1 $f16,%lo(var7f1aa58c)($at) +/* f07a6ec: 3c01800a */ lui $at,%hi(g_Vars+0x4c) +/* f07a6f0: c426a00c */ lwc1 $f6,%lo(g_Vars+0x4c)($at) +/* f07a6f4: 3c018007 */ lui $at,%hi(var80069950) +/* f07a6f8: 4600603c */ c.lt.s $f12,$f0 +/* f07a6fc: 46068102 */ mul.s $f4,$f16,$f6 +/* f07a700: c42a9950 */ lwc1 $f10,%lo(var80069950)($at) +/* f07a704: 8fae0194 */ lw $t6,0x194($sp) +/* f07a708: 460a2082 */ mul.s $f2,$f4,$f10 +/* f07a70c: 45020005 */ bc1fl .L0f07a724 +/* f07a710: c5d200a0 */ lwc1 $f18,0xa0($t6) +/* f07a714: 46006203 */ div.s $f8,$f12,$f0 +/* f07a718: 46081082 */ mul.s $f2,$f2,$f8 +/* f07a71c: 00000000 */ nop +/* f07a720: c5d200a0 */ lwc1 $f18,0xa0($t6) +.L0f07a724: +/* f07a724: 3c013f80 */ lui $at,0x3f80 +/* f07a728: 44813000 */ mtc1 $at,$f6 +/* f07a72c: 46029400 */ add.s $f16,$f18,$f2 +/* f07a730: 4610303e */ c.le.s $f6,$f16 +/* f07a734: e5d000a0 */ swc1 $f16,0xa0($t6) +/* f07a738: 8fab0124 */ lw $t3,0x124($sp) +/* f07a73c: 45020044 */ bc1fl .L0f07a850 +/* f07a740: 8fa40198 */ lw $a0,0x198($sp) +/* f07a744: c5640008 */ lwc1 $f4,0x8($t3) +/* f07a748: e7a4013c */ swc1 $f4,0x13c($sp) +/* f07a74c: c56a000c */ lwc1 $f10,0xc($t3) +/* f07a750: e7aa0140 */ swc1 $f10,0x140($sp) +/* f07a754: c5680010 */ lwc1 $f8,0x10($t3) +/* f07a758: afa00148 */ sw $zero,0x148($sp) +/* f07a75c: 0c004b70 */ jal random +/* f07a760: e7a80144 */ swc1 $f8,0x144($sp) +/* f07a764: 304f0001 */ andi $t7,$v0,0x1 +/* f07a768: 11e00012 */ beqz $t7,.L0f07a7b4 +/* f07a76c: 00000000 */ nop +/* f07a770: 0c004b70 */ jal random +/* f07a774: 00000000 */ nop +/* f07a778: 2401000a */ addiu $at,$zero,0xa +/* f07a77c: 0041001b */ divu $zero,$v0,$at +/* f07a780: 0000c010 */ mfhi $t8 +/* f07a784: 27190002 */ addiu $t9,$t8,0x2 +/* f07a788: 44998000 */ mtc1 $t9,$f16 +/* f07a78c: c7b20140 */ lwc1 $f18,0x140($sp) +/* f07a790: 07210005 */ bgez $t9,.L0f07a7a8 +/* f07a794: 468081a0 */ cvt.s.w $f6,$f16 +/* f07a798: 3c014f80 */ lui $at,0x4f80 +/* f07a79c: 44812000 */ mtc1 $at,$f4 +/* f07a7a0: 00000000 */ nop +/* f07a7a4: 46043180 */ add.s $f6,$f6,$f4 +.L0f07a7a8: +/* f07a7a8: 46069280 */ add.s $f10,$f18,$f6 +/* f07a7ac: 10000011 */ b .L0f07a7f4 +/* f07a7b0: e7aa0140 */ swc1 $f10,0x140($sp) +.L0f07a7b4: +/* f07a7b4: 0c004b70 */ jal random +/* f07a7b8: 00000000 */ nop +/* f07a7bc: 2401000a */ addiu $at,$zero,0xa +/* f07a7c0: 0041001b */ divu $zero,$v0,$at +/* f07a7c4: 00004010 */ mfhi $t0 +/* f07a7c8: 250a0002 */ addiu $t2,$t0,0x2 +/* f07a7cc: 448a8000 */ mtc1 $t2,$f16 +/* f07a7d0: c7a80140 */ lwc1 $f8,0x140($sp) +/* f07a7d4: 05410005 */ bgez $t2,.L0f07a7ec +/* f07a7d8: 46808120 */ cvt.s.w $f4,$f16 +/* f07a7dc: 3c014f80 */ lui $at,0x4f80 +/* f07a7e0: 44819000 */ mtc1 $at,$f18 +/* f07a7e4: 00000000 */ nop +/* f07a7e8: 46122100 */ add.s $f4,$f4,$f18 +.L0f07a7ec: +/* f07a7ec: 46044181 */ sub.s $f6,$f8,$f4 +/* f07a7f0: e7a60140 */ swc1 $f6,0x140($sp) +.L0f07a7f4: +/* f07a7f4: 27a40118 */ addiu $a0,$sp,0x118 +/* f07a7f8: 8fa50124 */ lw $a1,0x124($sp) +/* f07a7fc: 0fc29f66 */ jal func0f0a7d98 +/* f07a800: 2406ffff */ addiu $a2,$zero,-1 +/* f07a804: 3c013f00 */ lui $at,0x3f00 +/* f07a808: 44815000 */ mtc1 $at,$f10 +/* f07a80c: 3c018007 */ lui $at,%hi(var80069954) +/* f07a810: c4309954 */ lwc1 $f16,%lo(var80069954)($at) +/* f07a814: 8fa90124 */ lw $t1,0x124($sp) +/* f07a818: 240c00c8 */ addiu $t4,$zero,0xc8 +/* f07a81c: 46105002 */ mul.s $f0,$f10,$f16 +/* f07a820: 8d240004 */ lw $a0,0x4($t1) +/* f07a824: afac0014 */ sw $t4,0x14($sp) +/* f07a828: afa00010 */ sw $zero,0x10($sp) +/* f07a82c: 27a6014c */ addiu $a2,$sp,0x14c +/* f07a830: 27a70118 */ addiu $a3,$sp,0x118 +/* f07a834: 44050000 */ mfc1 $a1,$f0 +/* f07a838: 0fc0d0cc */ jal func0f034330 +/* f07a83c: 00000000 */ nop +/* f07a840: 44809000 */ mtc1 $zero,$f18 +/* f07a844: 8fad0194 */ lw $t5,0x194($sp) +/* f07a848: e5b200a0 */ swc1 $f18,0xa0($t5) +.L0f07a84c: +/* f07a84c: 8fa40198 */ lw $a0,0x198($sp) +.L0f07a850: +/* f07a850: 0fc1905e */ jal propSetCollisionsEnabled +/* f07a854: 24050001 */ addiu $a1,$zero,0x1 +/* f07a858: 8fae018c */ lw $t6,0x18c($sp) +/* f07a85c: 8fab0188 */ lw $t3,0x188($sp) +/* f07a860: 8faf0194 */ lw $t7,0x194($sp) +/* f07a864: 15c00003 */ bnez $t6,.L0f07a874 +/* f07a868: 27a40168 */ addiu $a0,$sp,0x168 +/* f07a86c: 51600009 */ beqzl $t3,.L0f07a894 +/* f07a870: 8fb90148 */ lw $t9,0x148($sp) +.L0f07a874: +/* f07a874: 91e200a9 */ lbu $v0,0xa9($t7) +/* f07a878: 240100ff */ addiu $at,$zero,0xff +/* f07a87c: 58400005 */ blezl $v0,.L0f07a894 +/* f07a880: 8fb90148 */ lw $t9,0x148($sp) +/* f07a884: 10410002 */ beq $v0,$at,.L0f07a890 +/* f07a888: 2458ffff */ addiu $t8,$v0,-1 +/* f07a88c: a1f800a9 */ sb $t8,0xa9($t7) +.L0f07a890: +/* f07a890: 8fb90148 */ lw $t9,0x148($sp) +.L0f07a894: +/* f07a894: 27a5013c */ addiu $a1,$sp,0x13c +/* f07a898: 27a60158 */ addiu $a2,$sp,0x158 +/* f07a89c: 13200024 */ beqz $t9,.L0f07a930 +/* f07a8a0: 27a7012c */ addiu $a3,$sp,0x12c +/* f07a8a4: afa00010 */ sw $zero,0x10($sp) +/* f07a8a8: 0c006052 */ jal func00018148 +/* f07a8ac: afa00014 */ sw $zero,0x14($sp) +/* f07a8b0: 0fc4f92a */ jal chrIsUsingPaintball +/* f07a8b4: 8fa40110 */ lw $a0,0x110($sp) +/* f07a8b8: 1040000b */ beqz $v0,.L0f07a8e8 +/* f07a8bc: 8faa0194 */ lw $t2,0x194($sp) +/* f07a8c0: 24080019 */ addiu $t0,$zero,0x19 +/* f07a8c4: afa80014 */ sw $t0,0x14($sp) +/* f07a8c8: 87a4012c */ lh $a0,0x12c($sp) +/* f07a8cc: 00002825 */ or $a1,$zero,$zero +/* f07a8d0: 27a6013c */ addiu $a2,$sp,0x13c +/* f07a8d4: 00003825 */ or $a3,$zero,$zero +/* f07a8d8: 0fc4be7c */ jal sparksCreate +/* f07a8dc: afa00010 */ sw $zero,0x10($sp) +/* f07a8e0: 1000000f */ b .L0f07a920 +/* f07a8e4: 27a40118 */ addiu $a0,$sp,0x118 +.L0f07a8e8: +/* f07a8e8: 85490004 */ lh $t1,0x4($t2) +/* f07a8ec: 24010144 */ addiu $at,$zero,0x144 +/* f07a8f0: 87a4012c */ lh $a0,0x12c($sp) +/* f07a8f4: 15210003 */ bne $t1,$at,.L0f07a904 +/* f07a8f8: 00002825 */ or $a1,$zero,$zero +/* f07a8fc: 10000002 */ b .L0f07a908 +/* f07a900: 24020017 */ addiu $v0,$zero,0x17 +.L0f07a904: +/* f07a904: 00001025 */ or $v0,$zero,$zero +.L0f07a908: +/* f07a908: 27a6013c */ addiu $a2,$sp,0x13c +/* f07a90c: 00003825 */ or $a3,$zero,$zero +/* f07a910: afa00010 */ sw $zero,0x10($sp) +/* f07a914: 0fc4be7c */ jal sparksCreate +/* f07a918: afa20014 */ sw $v0,0x14($sp) +/* f07a91c: 27a40118 */ addiu $a0,$sp,0x118 +.L0f07a920: +/* f07a920: 27a5013c */ addiu $a1,$sp,0x13c +/* f07a924: 2406ffff */ addiu $a2,$zero,-1 +/* f07a928: 0fc2a132 */ jal func0f0a84c8 +/* f07a92c: 27a7012c */ addiu $a3,$sp,0x12c +.L0f07a930: +/* f07a930: 8fac0128 */ lw $t4,0x128($sp) +/* f07a934: c7a8013c */ lwc1 $f8,0x13c($sp) +/* f07a938: c7a40168 */ lwc1 $f4,0x168($sp) +/* f07a93c: 51800097 */ beqzl $t4,.L0f07ab9c +/* f07a940: 8fa80194 */ lw $t0,0x194($sp) +/* f07a944: 46044181 */ sub.s $f6,$f8,$f4 +/* f07a948: c7aa0140 */ lwc1 $f10,0x140($sp) +/* f07a94c: c7b0016c */ lwc1 $f16,0x16c($sp) +/* f07a950: c7a40170 */ lwc1 $f4,0x170($sp) +/* f07a954: c7a80144 */ lwc1 $f8,0x144($sp) +/* f07a958: 46105481 */ sub.s $f18,$f10,$f16 +/* f07a95c: 8fad0194 */ lw $t5,0x194($sp) +/* f07a960: 46063402 */ mul.s $f16,$f6,$f6 +/* f07a964: 46044281 */ sub.s $f10,$f8,$f4 +/* f07a968: 8da3009c */ lw $v1,0x9c($t5) +/* f07a96c: 46129202 */ mul.s $f8,$f18,$f18 +/* f07a970: e7a60068 */ swc1 $f6,0x68($sp) +/* f07a974: e7aa0070 */ swc1 $f10,0x70($sp) +/* f07a978: c7aa0070 */ lwc1 $f10,0x70($sp) +/* f07a97c: c7a60070 */ lwc1 $f6,0x70($sp) +/* f07a980: e7b2006c */ swc1 $f18,0x6c($sp) +/* f07a984: afa30078 */ sw $v1,0x78($sp) +/* f07a988: 46065482 */ mul.s $f18,$f10,$f6 +/* f07a98c: 46088100 */ add.s $f4,$f16,$f8 +/* f07a990: 0c012974 */ jal sqrtf +/* f07a994: 46049300 */ add.s $f12,$f18,$f4 +/* f07a998: 44808000 */ mtc1 $zero,$f16 +/* f07a99c: 8fa30078 */ lw $v1,0x78($sp) +/* f07a9a0: 46000306 */ mov.s $f12,$f0 +/* f07a9a4: 4600803c */ c.lt.s $f16,$f0 +/* f07a9a8: 3c017f1b */ lui $at,%hi(var7f1aa590) +/* f07a9ac: c7a80168 */ lwc1 $f8,0x168($sp) +/* f07a9b0: 4502007a */ bc1fl .L0f07ab9c +/* f07a9b4: 8fa80194 */ lw $t0,0x194($sp) +/* f07a9b8: c42ea590 */ lwc1 $f14,%lo(var7f1aa590)($at) +/* f07a9bc: e4680004 */ swc1 $f8,0x4($v1) +/* f07a9c0: 3c013f80 */ lui $at,0x3f80 +/* f07a9c4: 44814000 */ mtc1 $at,$f8 +/* f07a9c8: c7aa016c */ lwc1 $f10,0x16c($sp) +/* f07a9cc: 4600703c */ c.lt.s $f14,$f0 +/* f07a9d0: 240f002b */ addiu $t7,$zero,0x2b +/* f07a9d4: 46004083 */ div.s $f2,$f8,$f0 +/* f07a9d8: e46a0008 */ swc1 $f10,0x8($v1) +/* f07a9dc: c7a60170 */ lwc1 $f6,0x170($sp) +/* f07a9e0: 2418000c */ addiu $t8,$zero,0xc +/* f07a9e4: e466000c */ swc1 $f6,0xc($v1) +/* f07a9e8: c7b20068 */ lwc1 $f18,0x68($sp) +/* f07a9ec: e4720010 */ swc1 $f18,0x10($v1) +/* f07a9f0: c7a4006c */ lwc1 $f4,0x6c($sp) +/* f07a9f4: c46a0010 */ lwc1 $f10,0x10($v1) +/* f07a9f8: e4640014 */ swc1 $f4,0x14($v1) +/* f07a9fc: c7b00070 */ lwc1 $f16,0x70($sp) +/* f07aa00: c4720014 */ lwc1 $f18,0x14($v1) +/* f07aa04: e4700018 */ swc1 $f16,0x18($v1) +/* f07aa08: c4700018 */ lwc1 $f16,0x18($v1) +/* f07aa0c: 46025182 */ mul.s $f6,$f10,$f2 +/* f07aa10: 00000000 */ nop +/* f07aa14: 46029102 */ mul.s $f4,$f18,$f2 +/* f07aa18: 00000000 */ nop +/* f07aa1c: 46028202 */ mul.s $f8,$f16,$f2 +/* f07aa20: e4660010 */ swc1 $f6,0x10($v1) +/* f07aa24: e4640014 */ swc1 $f4,0x14($v1) +/* f07aa28: 45000002 */ bc1f .L0f07aa34 +/* f07aa2c: e4680018 */ swc1 $f8,0x18($v1) +/* f07aa30: 46007306 */ mov.s $f12,$f14 +.L0f07aa34: +/* f07aa34: a0600000 */ sb $zero,0x0($v1) +/* f07aa38: 8fae0194 */ lw $t6,0x194($sp) +/* f07aa3c: 24010144 */ addiu $at,$zero,0x144 +/* f07aa40: 85cb0004 */ lh $t3,0x4($t6) +/* f07aa44: 55610004 */ bnel $t3,$at,.L0f07aa58 +/* f07aa48: a06f0001 */ sb $t7,0x1($v1) +/* f07aa4c: 10000002 */ b .L0f07aa58 +/* f07aa50: a0780001 */ sb $t8,0x1($v1) +/* f07aa54: a06f0001 */ sb $t7,0x1($v1) +.L0f07aa58: +/* f07aa58: 3c0143fa */ lui $at,0x43fa +/* f07aa5c: 44810000 */ mtc1 $at,$f0 +/* f07aa60: e46c001c */ swc1 $f12,0x1c($v1) +/* f07aa64: 4600603c */ c.lt.s $f12,$f0 +/* f07aa68: 00000000 */ nop +/* f07aa6c: 45020003 */ bc1fl .L0f07aa7c +/* f07aa70: 80790001 */ lb $t9,0x1($v1) +/* f07aa74: 46000306 */ mov.s $f12,$f0 +/* f07aa78: 80790001 */ lb $t9,0x1($v1) +.L0f07aa7c: +/* f07aa7c: 2401001d */ addiu $at,$zero,0x1d +/* f07aa80: 17210026 */ bne $t9,$at,.L0f07ab1c +/* f07aa84: 3c017f1b */ lui $at,%hi(var7f1aa594) +/* f07aa88: c422a594 */ lwc1 $f2,%lo(var7f1aa594)($at) +/* f07aa8c: 3c013e80 */ lui $at,0x3e80 +/* f07aa90: 44815000 */ mtc1 $at,$f10 +/* f07aa94: 3c017f1b */ lui $at,%hi(var7f1aa598) +/* f07aa98: 460c5182 */ mul.s $f6,$f10,$f12 +/* f07aa9c: e4660020 */ swc1 $f6,0x20($v1) +/* f07aaa0: c432a598 */ lwc1 $f18,%lo(var7f1aa598)($at) +/* f07aaa4: 460c9002 */ mul.s $f0,$f18,$f12 +/* f07aaa8: 4600103c */ c.lt.s $f2,$f0 +/* f07aaac: e4600024 */ swc1 $f0,0x24($v1) +/* f07aab0: 45020003 */ bc1fl .L0f07aac0 +/* f07aab4: afa30078 */ sw $v1,0x78($sp) +/* f07aab8: e4620024 */ swc1 $f2,0x24($v1) +/* f07aabc: afa30078 */ sw $v1,0x78($sp) +.L0f07aac0: +/* f07aac0: 0c004b70 */ jal random +/* f07aac4: e7ac007c */ swc1 $f12,0x7c($sp) +/* f07aac8: 44822000 */ mtc1 $v0,$f4 +/* f07aacc: 8fa30078 */ lw $v1,0x78($sp) +/* f07aad0: c7ac007c */ lwc1 $f12,0x7c($sp) +/* f07aad4: 04410005 */ bgez $v0,.L0f07aaec +/* f07aad8: 46802420 */ cvt.s.w $f16,$f4 +/* f07aadc: 3c014f80 */ lui $at,0x4f80 +/* f07aae0: 44814000 */ mtc1 $at,$f8 +/* f07aae4: 00000000 */ nop +/* f07aae8: 46088400 */ add.s $f16,$f16,$f8 +.L0f07aaec: +/* f07aaec: 3c012f80 */ lui $at,0x2f80 +/* f07aaf0: 44815000 */ mtc1 $at,$f10 +/* f07aaf4: 3c017f1b */ lui $at,%hi(var7f1aa59c) +/* f07aaf8: c432a59c */ lwc1 $f18,%lo(var7f1aa59c)($at) +/* f07aafc: 460a8182 */ mul.s $f6,$f16,$f10 +/* f07ab00: 3c017f1b */ lui $at,%hi(var7f1aa5a0) +/* f07ab04: c428a5a0 */ lwc1 $f8,%lo(var7f1aa5a0)($at) +/* f07ab08: 46123102 */ mul.s $f4,$f6,$f18 +/* f07ab0c: 46044401 */ sub.s $f16,$f8,$f4 +/* f07ab10: 460c8282 */ mul.s $f10,$f16,$f12 +/* f07ab14: 10000020 */ b .L0f07ab98 +/* f07ab18: e46a0028 */ swc1 $f10,0x28($v1) +.L0f07ab1c: +/* f07ab1c: 3c017f1b */ lui $at,%hi(var7f1aa5a4) +/* f07ab20: c422a5a4 */ lwc1 $f2,%lo(var7f1aa5a4)($at) +/* f07ab24: 3c017f1b */ lui $at,%hi(var7f1aa5a8) +/* f07ab28: c426a5a8 */ lwc1 $f6,%lo(var7f1aa5a8)($at) +/* f07ab2c: 460c3002 */ mul.s $f0,$f6,$f12 +/* f07ab30: 4600103c */ c.lt.s $f2,$f0 +/* f07ab34: e4600020 */ swc1 $f0,0x20($v1) +/* f07ab38: e4600024 */ swc1 $f0,0x24($v1) +/* f07ab3c: 45000002 */ bc1f .L0f07ab48 +/* f07ab40: 00000000 */ nop +/* f07ab44: e4620024 */ swc1 $f2,0x24($v1) +.L0f07ab48: +/* f07ab48: 0c004b70 */ jal random +/* f07ab4c: afa30078 */ sw $v1,0x78($sp) +/* f07ab50: 44829000 */ mtc1 $v0,$f18 +/* f07ab54: 8fa30078 */ lw $v1,0x78($sp) +/* f07ab58: 04410005 */ bgez $v0,.L0f07ab70 +/* f07ab5c: 46809220 */ cvt.s.w $f8,$f18 +/* f07ab60: 3c014f80 */ lui $at,0x4f80 +/* f07ab64: 44812000 */ mtc1 $at,$f4 +/* f07ab68: 00000000 */ nop +/* f07ab6c: 46044200 */ add.s $f8,$f8,$f4 +.L0f07ab70: +/* f07ab70: 3c012f80 */ lui $at,0x2f80 +/* f07ab74: 44818000 */ mtc1 $at,$f16 +/* f07ab78: 3c013f80 */ lui $at,0x3f80 +/* f07ab7c: 44813000 */ mtc1 $at,$f6 +/* f07ab80: 46104002 */ mul.s $f0,$f8,$f16 +/* f07ab84: c4640020 */ lwc1 $f4,0x20($v1) +/* f07ab88: 46000280 */ add.s $f10,$f0,$f0 +/* f07ab8c: 46065481 */ sub.s $f18,$f10,$f6 +/* f07ab90: 46049202 */ mul.s $f8,$f18,$f4 +/* f07ab94: e4680028 */ swc1 $f8,0x28($v1) +.L0f07ab98: +/* f07ab98: 8fa80194 */ lw $t0,0x194($sp) +.L0f07ab9c: +/* f07ab9c: 3c09800a */ lui $t1,%hi(g_Vars+0x8) +/* f07aba0: 8d299fc8 */ lw $t1,%lo(g_Vars+0x8)($t1) +/* f07aba4: 8d0a0098 */ lw $t2,0x98($t0) +/* f07aba8: 240c0002 */ addiu $t4,$zero,0x2 +/* f07abac: 24050001 */ addiu $a1,$zero,0x1 +/* f07abb0: 0149082a */ slt $at,$t2,$t1 +/* f07abb4: 1020002d */ beqz $at,.L0f07ac6c +/* f07abb8: 3406ffff */ dli $a2,0xffff +/* f07abbc: afac0064 */ sw $t4,0x64($sp) +/* f07abc0: 0fc249af */ jal func0f0926bc +/* f07abc4: 8fa40198 */ lw $a0,0x198($sp) +/* f07abc8: 8fad0174 */ lw $t5,0x174($sp) +/* f07abcc: 8fae0194 */ lw $t6,0x194($sp) +/* f07abd0: 00002025 */ or $a0,$zero,$zero +/* f07abd4: 15a0001f */ bnez $t5,.L0f07ac54 +/* f07abd8: 2407ffff */ addiu $a3,$zero,-1 +/* f07abdc: 85c30004 */ lh $v1,0x4($t6) +/* f07abe0: 24010144 */ addiu $at,$zero,0x144 +/* f07abe4: 3402806f */ dli $v0,0x806f +/* f07abe8: 14610002 */ bne $v1,$at,.L0f07abf4 +/* f07abec: 240fffff */ addiu $t7,$zero,-1 +/* f07abf0: 34028040 */ dli $v0,0x8040 +.L0f07abf4: +/* f07abf4: 24010157 */ addiu $at,$zero,0x157 +/* f07abf8: 14610004 */ bne $v1,$at,.L0f07ac0c +/* f07abfc: 2419ffff */ addiu $t9,$zero,-1 +/* f07ac00: 240b0004 */ addiu $t3,$zero,0x4 +/* f07ac04: 34028044 */ dli $v0,0x8044 +/* f07ac08: afab0064 */ sw $t3,0x64($sp) +.L0f07ac0c: +/* f07ac0c: 3c01bf80 */ lui $at,0xbf80 +/* f07ac10: 44810000 */ mtc1 $at,$f0 +/* f07ac14: 00023400 */ sll $a2,$v0,0x10 +/* f07ac18: 0006c403 */ sra $t8,$a2,0x10 +/* f07ac1c: 03003025 */ or $a2,$t8,$zero +/* f07ac20: 8fa50198 */ lw $a1,0x198($sp) +/* f07ac24: afaf0010 */ sw $t7,0x10($sp) +/* f07ac28: afa00014 */ sw $zero,0x14($sp) +/* f07ac2c: afa00018 */ sw $zero,0x18($sp) +/* f07ac30: afa0001c */ sw $zero,0x1c($sp) +/* f07ac34: afa00020 */ sw $zero,0x20($sp) +/* f07ac38: afa00028 */ sw $zero,0x28($sp) +/* f07ac3c: afb9002c */ sw $t9,0x2c($sp) +/* f07ac40: e7a00024 */ swc1 $f0,0x24($sp) +/* f07ac44: e7a00030 */ swc1 $f0,0x30($sp) +/* f07ac48: e7a00034 */ swc1 $f0,0x34($sp) +/* f07ac4c: 0fc24e7e */ jal func0f0939f8 +/* f07ac50: e7a00038 */ swc1 $f0,0x38($sp) +.L0f07ac54: +/* f07ac54: 3c0a800a */ lui $t2,%hi(g_Vars+0x8) +/* f07ac58: 8d4a9fc8 */ lw $t2,%lo(g_Vars+0x8)($t2) +/* f07ac5c: 8fa80064 */ lw $t0,0x64($sp) +/* f07ac60: 8fac0194 */ lw $t4,0x194($sp) +/* f07ac64: 010a4821 */ addu $t1,$t0,$t2 +/* f07ac68: ad890098 */ sw $t1,0x98($t4) +.L0f07ac6c: +/* f07ac6c: 8fad0184 */ lw $t5,0x184($sp) +.L0f07ac70: +/* f07ac70: 24050005 */ addiu $a1,$zero,0x5 +/* f07ac74: 0c006a47 */ jal modelGetPart +/* f07ac78: 8da40008 */ lw $a0,0x8($t5) +/* f07ac7c: 10400005 */ beqz $v0,.L0f07ac94 +/* f07ac80: 00402825 */ or $a1,$v0,$zero +/* f07ac84: 0c006a87 */ jal modelGetNodeData +/* f07ac88: 8fa40184 */ lw $a0,0x184($sp) +/* f07ac8c: 8fae018c */ lw $t6,0x18c($sp) +/* f07ac90: a44e0000 */ sh $t6,0x0($v0) +.L0f07ac94: +/* f07ac94: 8fab0184 */ lw $t3,0x184($sp) +/* f07ac98: 24050007 */ addiu $a1,$zero,0x7 +/* f07ac9c: 0c006a47 */ jal modelGetPart +/* f07aca0: 8d640008 */ lw $a0,0x8($t3) +/* f07aca4: 10400005 */ beqz $v0,.L0f07acbc +/* f07aca8: 00402825 */ or $a1,$v0,$zero +/* f07acac: 0c006a87 */ jal modelGetNodeData +/* f07acb0: 8fa40184 */ lw $a0,0x184($sp) +/* f07acb4: 8fb80188 */ lw $t8,0x188($sp) +/* f07acb8: a4580000 */ sh $t8,0x0($v0) +.L0f07acbc: +/* f07acbc: 8fbf0044 */ lw $ra,0x44($sp) +/* f07acc0: 27bd0198 */ addiu $sp,$sp,0x198 +/* f07acc4: 03e00008 */ jr $ra +/* f07acc8: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f079f1c .late_rodata @@ -30856,6 +34283,7 @@ glabel var7f1aa5a8 /* f07acc4: 03e00008 */ jr $ra /* f07acc8: 00000000 */ nop ); +#endif GLOBAL_ASM( glabel func0f07accc @@ -31014,7 +34442,7 @@ bool chopperAttack(struct chopperobj *obj) if (chopper) { chopper->attackmode = 1; - chopper->patroltimer60 = 240; + chopper->patroltimer60 = PALDOWN(240); return true; } @@ -31028,7 +34456,7 @@ bool chopperStop(struct chopperobj *obj) if (chopper) { chopper->attackmode = 0; - chopper->patroltimer60 = 120; + chopper->patroltimer60 = PALDOWN(120); chopper->power = 0; return true; @@ -31439,8 +34867,8 @@ glabel var7f1aa610 /* f07b72c: 45000008 */ bc1f .L0f07b750 /* f07b730: 00000000 */ nop /* f07b734: c428a5f8 */ lwc1 $f8,%lo(var7f1aa5f8)($at) -/* f07b738: 3c01800a */ lui $at,%hi(g_Vars+0x44) -/* f07b73c: c424a004 */ lwc1 $f4,%lo(g_Vars+0x44)($at) +/* f07b738: 3c01800a */ lui $at,%hi(g_Vars+0x4c) +/* f07b73c: c424a004 */ lwc1 $f4,%lo(g_Vars+0x4c)($at) /* f07b740: 46044182 */ mul.s $f6,$f8,$f4 /* f07b744: 46060280 */ add.s $f10,$f0,$f6 /* f07b748: 10000014 */ b .L0f07b79c @@ -31468,8 +34896,8 @@ glabel var7f1aa610 /* f07b794: e60a00d8 */ swc1 $f10,0xd8($s0) /* f07b798: e7b20108 */ swc1 $f18,0x108($sp) .L0f07b79c: -/* f07b79c: 3c01800a */ lui $at,%hi(g_Vars+0x44) -/* f07b7a0: c424a004 */ lwc1 $f4,%lo(g_Vars+0x44)($at) +/* f07b79c: 3c01800a */ lui $at,%hi(g_Vars+0x4c) +/* f07b7a0: c424a004 */ lwc1 $f4,%lo(g_Vars+0x4c)($at) /* f07b7a4: c60800d8 */ lwc1 $f8,0xd8($s0) /* f07b7a8: c60a00dc */ lwc1 $f10,0xdc($s0) /* f07b7ac: c7b20108 */ lwc1 $f18,0x108($sp) @@ -32345,8 +35773,8 @@ glabel var7f1aa668 /* f07bcf4: 3c017f1b */ lui $at,%hi(var7f1aa630) /* f07bcf8: c7a20180 */ lwc1 $f2,0x180($sp) /* f07bcfc: c428a630 */ lwc1 $f8,%lo(var7f1aa630)($at) -/* f07bd00: 3c073964 */ lui $a3,0x3964 -/* f07bd04: 34e7ba35 */ ori $a3,$a3,0xba35 +/* f07bd00: 3c073964 */ lui $a3,0x3989 +/* f07bd04: 34e7ba35 */ ori $a3,$a3,0x3c87 /* f07bd08: 4602403c */ c.lt.s $f8,$f2 /* f07bd0c: 27a40150 */ addiu $a0,$sp,0x150 /* f07bd10: 27a60144 */ addiu $a2,$sp,0x144 @@ -32369,8 +35797,8 @@ glabel var7f1aa668 /* f07bd50: e7aa0014 */ swc1 $f10,0x14($sp) /* f07bd54: c7a40150 */ lwc1 $f4,0x150($sp) /* f07bd58: c7b2017c */ lwc1 $f18,0x17c($sp) -/* f07bd5c: 3c073964 */ lui $a3,0x3964 -/* f07bd60: 34e7ba35 */ ori $a3,$a3,0xba35 +/* f07bd5c: 3c073964 */ lui $a3,0x3989 +/* f07bd60: 34e7ba35 */ ori $a3,$a3,0x3c87 /* f07bd64: 46122032 */ c.eq.s $f4,$f18 /* f07bd68: 27a4014c */ addiu $a0,$sp,0x14c /* f07bd6c: 27a60140 */ addiu $a2,$sp,0x140 @@ -33537,7 +36965,7 @@ glabel var7f1aa698 /* f07c634: 24c6a044 */ addiu $a2,$a2,%lo(var7f1aa044) /* f07c638: 46104481 */ sub.s $f18,$f8,$f16 /* f07c63c: 27a40064 */ addiu $a0,$sp,0x64 -/* f07c640: 240530a1 */ addiu $a1,$zero,0x30a1 +/* f07c640: 240530a1 */ addiu $a1,$zero,0x30bc /* f07c644: 0c0093af */ jal cdGetPos /* f07c648: e632000c */ swc1 $f18,0xc($s1) /* f07c64c: 3c0141a0 */ lui $at,0x41a0 @@ -34826,7 +38254,7 @@ glabel var7f1aa6e4 /* f07d350: 03194023 */ subu $t0,$t8,$t9 /* f07d354: a6080094 */ sh $t0,0x94($s0) /* f07d358: 8c4a0038 */ lw $t2,0x38($v0) -/* f07d35c: 240d0032 */ addiu $t5,$zero,0x32 +/* f07d35c: 240d0032 */ addiu $t5,$zero,0x29 /* f07d360: 00002025 */ or $a0,$zero,$zero /* f07d364: 012a5823 */ subu $t3,$t1,$t2 /* f07d368: a60b0096 */ sh $t3,0x96($s0) @@ -35158,7 +38586,7 @@ glabel var7f1aa6e4 /* f07d840: c6000064 */ lwc1 $f0,0x64($s0) /* f07d844: c6040068 */ lwc1 $f4,0x68($s0) /* f07d848: c42aa6b4 */ lwc1 $f10,%lo(var7f1aa6b4)($at) -/* f07d84c: c4480044 */ lwc1 $f8,0x44($v0) +/* f07d84c: c4480044 */ lwc1 $f8,0x4c($v0) /* f07d850: 3c017f1b */ lui $at,%hi(var7f1aa6b8) /* f07d854: 460a2182 */ mul.s $f6,$f4,$f10 /* f07d858: c60a0064 */ lwc1 $f10,0x64($s0) @@ -35182,7 +38610,7 @@ glabel var7f1aa6e4 /* f07d89c: 45020009 */ bc1fl .L0f07d8c4 /* f07d8a0: 8faf0274 */ lw $t7,0x274($sp) /* f07d8a4: c424a6bc */ lwc1 $f4,%lo(var7f1aa6bc)($at) -/* f07d8a8: c4480044 */ lwc1 $f8,0x44($v0) +/* f07d8a8: c4480044 */ lwc1 $f8,0x4c($v0) /* f07d8ac: 46041182 */ mul.s $f6,$f2,$f4 /* f07d8b0: 00000000 */ nop /* f07d8b4: 46083282 */ mul.s $f10,$f6,$f8 @@ -35195,7 +38623,7 @@ glabel var7f1aa6e4 /* f07d8c8: 51e0000e */ beqzl $t7,.L0f07d904 /* f07d8cc: c6040064 */ lwc1 $f4,0x64($s0) /* f07d8d0: c426a6c0 */ lwc1 $f6,%lo(var7f1aa6c0)($at) -/* f07d8d4: c4480044 */ lwc1 $f8,0x44($v0) +/* f07d8d4: c4480044 */ lwc1 $f8,0x4c($v0) /* f07d8d8: c6040064 */ lwc1 $f4,0x64($s0) /* f07d8dc: 46083282 */ mul.s $f10,$f6,$f8 /* f07d8e0: 460a2181 */ sub.s $f6,$f4,$f10 @@ -37313,7 +40741,7 @@ u32 func0f07e474(struct prop *prop) // Prop is taken/unavailable regenning = true; - if (prop->timetoregen >= 60) { + if (prop->timetoregen >= PALDOWN(60)) { regenning = false; } @@ -37322,8 +40750,8 @@ u32 func0f07e474(struct prop *prop) // If ready to start fading in but propCanRegen returns false, wait // another second and try again. In practice propCanRegen will always // return true so this condition will never pass. - if (prop->timetoregen < 60 && !regenning && !propCanRegen(prop)) { - prop->timetoregen += 60; + if (prop->timetoregen < PALDOWN(60) && !regenning && !propCanRegen(prop)) { + prop->timetoregen += PALDOWN(60); } if (prop->timetoregen <= 0) { @@ -37335,7 +40763,7 @@ u32 func0f07e474(struct prop *prop) } else { obj->hidden &= ~OBJHFLAG_00001000; } - } else if (prop->timetoregen < 60 && !regenning) { + } else if (prop->timetoregen < PALDOWN(60) && !regenning) { // 1 second left - time to start fading in if (obj->damage == 0 && (obj->hidden2 & OBJH2FLAG_40) == 0) { if (obj->flags & OBJFLAG_00008000) { @@ -40749,11 +44177,11 @@ glabel var7f1aa82c /* f0813b4: 46000086 */ mov.s $f2,$f0 /* f0813b8: 84c20002 */ lh $v0,0x2($a2) /* f0813bc: 1840000e */ blez $v0,.L0f0813f8 -/* f0813c0: 2841003c */ slti $at,$v0,0x3c +/* f0813c0: 2841003c */ slti $at,$v0,0x32 /* f0813c4: 5020000d */ beqzl $at,.L0f0813fc /* f0813c8: 3c01437f */ lui $at,0x437f /* f0813cc: 44823000 */ mtc1 $v0,$f6 -/* f0813d0: 3c014270 */ lui $at,0x4270 +/* f0813d0: 3c014270 */ lui $at,0x4248 /* f0813d4: 44812000 */ mtc1 $at,$f4 /* f0813d8: 46803220 */ cvt.s.w $f8,$f6 /* f0813dc: 3c017f1b */ lui $at,%hi(var7f1aa828) @@ -46691,6 +50119,269 @@ glabel func0f0840ac /* f0841d8: 27bd0258 */ addiu $sp,$sp,0x258 ); +#if PAL +GLOBAL_ASM( +glabel func0f0841dc +/* f0841dc: 27bdff90 */ addiu $sp,$sp,-112 +/* f0841e0: afbf0024 */ sw $ra,0x24($sp) +/* f0841e4: afb00020 */ sw $s0,0x20($sp) +/* f0841e8: afa50074 */ sw $a1,0x74($sp) +/* f0841ec: afa60078 */ sw $a2,0x78($sp) +/* f0841f0: 848f004c */ lh $t7,0x4c($a0) +/* f0841f4: 848e004e */ lh $t6,0x4e($a0) +/* f0841f8: 00808025 */ or $s0,$a0,$zero +/* f0841fc: 01cf082a */ slt $at,$t6,$t7 +/* f084200: 54200006 */ bnezl $at,.L0f08421c +/* f084204: 86180004 */ lh $t8,0x4($s0) +/* f084208: 0fc1a1ee */ jal func0f0687b8 +/* f08420c: 00000000 */ nop +/* f084210: 504000dc */ beqzl $v0,.L0f084584 +/* f084214: 8fbf0024 */ lw $ra,0x24($sp) +/* f084218: 86180004 */ lh $t8,0x4($s0) +.L0f08421c: +/* f08421c: 3c19800a */ lui $t9,%hi(g_Vars+0x2ac) +/* f084220: 8f39a26c */ lw $t9,%lo(g_Vars+0x2ac)($t9) +/* f084224: 8e050014 */ lw $a1,0x14($s0) +/* f084228: 3c068008 */ lui $a2,%hi(propexplosiontypes+0x8) +/* f08422c: 24010006 */ addiu $at,$zero,0x6 +/* f084230: 00d83021 */ addu $a2,$a2,$t8 +/* f084234: 80c6be3c */ lb $a2,%lo(propexplosiontypes+0x8)($a2) +/* f084238: 17210007 */ bne $t9,$at,.L0f084258 +/* f08423c: 00a01825 */ or $v1,$a1,$zero +/* f084240: 3c08800a */ lui $t0,%hi(g_CameraAnimNum) +/* f084244: 8508de18 */ lh $t0,%lo(g_CameraAnimNum)($t0) +/* f084248: 240102d7 */ addiu $at,$zero,0x2d7 +/* f08424c: 55010003 */ bnel $t0,$at,.L0f08425c +/* f084250: 8ca90018 */ lw $t1,0x18($a1) +/* f084254: 24060018 */ addiu $a2,$zero,0x18 +.L0f084258: +/* f084258: 8ca90018 */ lw $t1,0x18($a1) +.L0f08425c: +/* f08425c: 02002025 */ or $a0,$s0,$zero +/* f084260: 51200007 */ beqzl $t1,.L0f084280 +/* f084264: afa30068 */ sw $v1,0x68($sp) +/* f084268: 8c620018 */ lw $v0,0x18($v1) +/* f08426c: 00401825 */ or $v1,$v0,$zero +.L0f084270: +/* f084270: 8c420018 */ lw $v0,0x18($v0) +/* f084274: 5440fffe */ bnezl $v0,.L0f084270 +/* f084278: 00401825 */ or $v1,$v0,$zero +/* f08427c: afa30068 */ sw $v1,0x68($sp) +.L0f084280: +/* f084280: afa5006c */ sw $a1,0x6c($sp) +/* f084284: 0fc1a1ee */ jal func0f0687b8 +/* f084288: a7a60066 */ sh $a2,0x66($sp) +/* f08428c: 14400079 */ bnez $v0,.L0f084474 +/* f084290: 8fa30068 */ lw $v1,0x68($sp) +/* f084294: 920a0002 */ lbu $t2,0x2($s0) +/* f084298: a600004c */ sh $zero,0x4c($s0) +/* f08429c: 24640008 */ addiu $a0,$v1,0x8 +/* f0842a0: 354b0040 */ ori $t3,$t2,0x40 +/* f0842a4: a20b0002 */ sb $t3,0x2($s0) +/* f0842a8: afa30068 */ sw $v1,0x68($sp) +/* f0842ac: 8fa60074 */ lw $a2,0x74($sp) +/* f0842b0: 24650028 */ addiu $a1,$v1,0x28 +/* f0842b4: 0fc1979d */ jal func0f065e74 +/* f0842b8: 27a70054 */ addiu $a3,$sp,0x54 +/* f0842bc: 8fac0078 */ lw $t4,0x78($sp) +/* f0842c0: 8fa4006c */ lw $a0,0x6c($sp) +/* f0842c4: 8fa50074 */ lw $a1,0x74($sp) +/* f0842c8: 27a60054 */ addiu $a2,$sp,0x54 +/* f0842cc: 87a70066 */ lh $a3,0x66($sp) +/* f0842d0: 0fc4a650 */ jal explosionCreateComplex +/* f0842d4: afac0010 */ sw $t4,0x10($sp) +/* f0842d8: 8e0d000c */ lw $t5,0xc($s0) +/* f0842dc: 8fa30068 */ lw $v1,0x68($sp) +/* f0842e0: 31ae2000 */ andi $t6,$t5,0x2000 +/* f0842e4: 51c00006 */ beqzl $t6,.L0f084300 +/* f0842e8: 92020003 */ lbu $v0,0x3($s0) +/* f0842ec: 8e0f0040 */ lw $t7,0x40($s0) +/* f0842f0: 35f80004 */ ori $t8,$t7,0x4 +/* f0842f4: 100000a2 */ b .L0f084580 +/* f0842f8: ae180040 */ sw $t8,0x40($s0) +/* f0842fc: 92020003 */ lbu $v0,0x3($s0) +.L0f084300: +/* f084300: 24010039 */ addiu $at,$zero,0x39 +/* f084304: 02002025 */ or $a0,$s0,$zero +/* f084308: 54410013 */ bnel $v0,$at,.L0f084358 +/* f08430c: 24010037 */ addiu $at,$zero,0x37 +/* f084310: 0fc20f6c */ jal func0f083db0 +/* f084314: 8fa50078 */ lw $a1,0x78($sp) +/* f084318: 8e080008 */ lw $t0,0x8($s0) +/* f08431c: 24190002 */ addiu $t9,$zero,0x2 +/* f084320: a2190096 */ sb $t9,0x96($s0) +/* f084324: 00084800 */ sll $t1,$t0,0x0 +/* f084328: 05210003 */ bgez $t1,.L0f084338 +/* f08432c: 240a0002 */ addiu $t2,$zero,0x2 +/* f084330: 10000002 */ b .L0f08433c +/* f084334: ae0000c0 */ sw $zero,0xc0($s0) +.L0f084338: +/* f084338: ae0a00c0 */ sw $t2,0xc0($s0) +.L0f08433c: +/* f08433c: 8e0b0008 */ lw $t3,0x8($s0) +/* f084340: 3c017fff */ lui $at,0x7fff +/* f084344: 3421ffff */ ori $at,$at,0xffff +/* f084348: 01616024 */ and $t4,$t3,$at +/* f08434c: 1000008c */ b .L0f084580 +/* f084350: ae0c0008 */ sw $t4,0x8($s0) +/* f084354: 24010037 */ addiu $at,$zero,0x37 +.L0f084358: +/* f084358: 14410032 */ bne $v0,$at,.L0f084424 +/* f08435c: 02002025 */ or $a0,$s0,$zero +/* f084360: 8e0d0008 */ lw $t5,0x8($s0) +/* f084364: 240f0001 */ addiu $t7,$zero,0x1 +/* f084368: 241800fa */ addiu $t8,$zero,0xd0 +/* f08436c: 000d7000 */ sll $t6,$t5,0x0 +/* f084370: 05c1000e */ bgez $t6,.L0f0843ac +/* f084374: 24190032 */ addiu $t9,$zero,0x29 +/* f084378: a60f0092 */ sh $t7,0x92($s0) +/* f08437c: a6180094 */ sh $t8,0x94($s0) +/* f084380: a6190096 */ sh $t9,0x96($s0) +/* f084384: 27a40040 */ addiu $a0,$sp,0x40 +/* f084388: 27a50034 */ addiu $a1,$sp,0x34 +/* f08438c: 00003025 */ or $a2,$zero,$zero +/* f084390: 0fc2832c */ jal func0f0a0cb0 +/* f084394: 00003825 */ or $a3,$zero,$zero +/* f084398: 02002025 */ or $a0,$s0,$zero +/* f08439c: 0fc209b3 */ jal func0f0826cc +/* f0843a0: 27a50034 */ addiu $a1,$sp,0x34 +/* f0843a4: 10000077 */ b .L0f084584 +/* f0843a8: 8fbf0024 */ lw $ra,0x24($sp) +.L0f0843ac: +/* f0843ac: 86020004 */ lh $v0,0x4($s0) +/* f0843b0: 24010086 */ addiu $at,$zero,0x86 +/* f0843b4: 02002025 */ or $a0,$s0,$zero +/* f0843b8: 10410003 */ beq $v0,$at,.L0f0843c8 +/* f0843bc: 24010087 */ addiu $at,$zero,0x87 +/* f0843c0: 1441000e */ bne $v0,$at,.L0f0843fc +/* f0843c4: 8fa90078 */ lw $t1,0x78($sp) +.L0f0843c8: +/* f0843c8: 0fc20733 */ jal func0f081ccc +/* f0843cc: 2405000a */ addiu $a1,$zero,0xa +/* f0843d0: 3c014120 */ lui $at,0x4120 +/* f0843d4: 44813000 */ mtc1 $at,$f6 +/* f0843d8: c6040068 */ lwc1 $f4,0x68($s0) +/* f0843dc: 44800000 */ mtc1 $zero,$f0 +/* f0843e0: 24080001 */ addiu $t0,$zero,0x1 +/* f0843e4: 46062200 */ add.s $f8,$f4,$f6 +/* f0843e8: a6080092 */ sh $t0,0x92($s0) +/* f0843ec: e6000064 */ swc1 $f0,0x64($s0) +/* f0843f0: e600006c */ swc1 $f0,0x6c($s0) +/* f0843f4: 10000062 */ b .L0f084580 +/* f0843f8: e6080068 */ swc1 $f8,0x68($s0) +.L0f0843fc: +/* f0843fc: 8fa4006c */ lw $a0,0x6c($sp) +/* f084400: 87a70066 */ lh $a3,0x66($sp) +/* f084404: afa90010 */ sw $t1,0x10($sp) +/* f084408: 24850008 */ addiu $a1,$a0,0x8 +/* f08440c: 0fc4a640 */ jal explosionCreateSimple +/* f084410: 24860028 */ addiu $a2,$a0,0x28 +/* f084414: 0fc1c9bb */ jal func0f0726ec +/* f084418: 02002025 */ or $a0,$s0,$zero +/* f08441c: 10000059 */ b .L0f084584 +/* f084420: 8fbf0024 */ lw $ra,0x24($sp) +.L0f084424: +/* f084424: 24050001 */ addiu $a1,$zero,0x1 +/* f084428: 0fc20733 */ jal func0f081ccc +/* f08442c: afa30068 */ sw $v1,0x68($sp) +/* f084430: 8fa30068 */ lw $v1,0x68($sp) +/* f084434: 8fa4006c */ lw $a0,0x6c($sp) +/* f084438: 54640052 */ bnel $v1,$a0,.L0f084584 +/* f08443c: 8fbf0024 */ lw $ra,0x24($sp) +/* f084440: 0fc2102b */ jal func0f0840ac +/* f084444: 8fa50078 */ lw $a1,0x78($sp) +/* f084448: 8e020040 */ lw $v0,0x40($s0) +/* f08444c: 3c010001 */ lui $at,0x1 +/* f084450: 02002025 */ or $a0,$s0,$zero +/* f084454: 304a8000 */ andi $t2,$v0,0x8000 +/* f084458: 15400049 */ bnez $t2,.L0f084580 +/* f08445c: 00415825 */ or $t3,$v0,$at +/* f084460: ae0b0040 */ sw $t3,0x40($s0) +/* f084464: 0fc20f6c */ jal func0f083db0 +/* f084468: 8fa50078 */ lw $a1,0x78($sp) +/* f08446c: 10000045 */ b .L0f084584 +/* f084470: 8fbf0024 */ lw $ra,0x24($sp) +.L0f084474: +/* f084474: 02002025 */ or $a0,$s0,$zero +/* f084478: 0fc1a1d8 */ jal func0f068760 +/* f08447c: afa30068 */ sw $v1,0x68($sp) +/* f084480: 304c0003 */ andi $t4,$v0,0x3 +/* f084484: 8fa30068 */ lw $v1,0x68($sp) +/* f084488: 1580001b */ bnez $t4,.L0f0844f8 +/* f08448c: afa20030 */ sw $v0,0x30($sp) +/* f084490: 92020003 */ lbu $v0,0x3($s0) +/* f084494: 24010039 */ addiu $at,$zero,0x39 +/* f084498: 10410009 */ beq $v0,$at,.L0f0844c0 +/* f08449c: 24010037 */ addiu $at,$zero,0x37 +/* f0844a0: 10410007 */ beq $v0,$at,.L0f0844c0 +/* f0844a4: 8fa50030 */ lw $a1,0x30($sp) +/* f0844a8: 00056883 */ sra $t5,$a1,0x2 +/* f0844ac: 25a50001 */ addiu $a1,$t5,0x1 +/* f0844b0: 02002025 */ or $a0,$s0,$zero +/* f0844b4: 0fc20733 */ jal func0f081ccc +/* f0844b8: afa30068 */ sw $v1,0x68($sp) +/* f0844bc: 8fa30068 */ lw $v1,0x68($sp) +.L0f0844c0: +/* f0844c0: 24640008 */ addiu $a0,$v1,0x8 +/* f0844c4: 24650028 */ addiu $a1,$v1,0x28 +/* f0844c8: 8fa60074 */ lw $a2,0x74($sp) +/* f0844cc: 0fc1979d */ jal func0f065e74 +/* f0844d0: 27a70054 */ addiu $a3,$sp,0x54 +/* f0844d4: 87ae0066 */ lh $t6,0x66($sp) +/* f0844d8: 8fa4006c */ lw $a0,0x6c($sp) +/* f0844dc: 8fa50074 */ lw $a1,0x74($sp) +/* f0844e0: 11c00005 */ beqz $t6,.L0f0844f8 +/* f0844e4: 27a60054 */ addiu $a2,$sp,0x54 +/* f0844e8: 8faf0078 */ lw $t7,0x78($sp) +/* f0844ec: 24070006 */ addiu $a3,$zero,0x6 +/* f0844f0: 0fc4a640 */ jal explosionCreateSimple +/* f0844f4: afaf0010 */ sw $t7,0x10($sp) +.L0f0844f8: +/* f0844f8: 0fc1a1ee */ jal func0f0687b8 +/* f0844fc: 02002025 */ or $a0,$s0,$zero +/* f084500: 58400012 */ blezl $v0,.L0f08454c +/* f084504: 8fad0030 */ lw $t5,0x30($sp) +/* f084508: 92020002 */ lbu $v0,0x2($s0) +/* f08450c: 30580004 */ andi $t8,$v0,0x4 +/* f084510: 5300000e */ beqzl $t8,.L0f08454c +/* f084514: 8fad0030 */ lw $t5,0x30($sp) +/* f084518: 8e190040 */ lw $t9,0x40($s0) +/* f08451c: 34490010 */ ori $t1,$v0,0x10 +/* f084520: 304affef */ andi $t2,$v0,0xffef +/* f084524: 33281000 */ andi $t0,$t9,0x1000 +/* f084528: 51000004 */ beqzl $t0,.L0f08453c +/* f08452c: a20a0002 */ sb $t2,0x2($s0) +/* f084530: 10000002 */ b .L0f08453c +/* f084534: a2090002 */ sb $t1,0x2($s0) +/* f084538: a20a0002 */ sb $t2,0x2($s0) +.L0f08453c: +/* f08453c: 8fac006c */ lw $t4,0x6c($sp) +/* f084540: 240b04b0 */ addiu $t3,$zero,0x3e8 +/* f084544: a58b0002 */ sh $t3,0x2($t4) +/* f084548: 8fad0030 */ lw $t5,0x30($sp) +.L0f08454c: +/* f08454c: 29a1000c */ slti $at,$t5,0xc +/* f084550: 5420000c */ bnezl $at,.L0f084584 +/* f084554: 8fbf0024 */ lw $ra,0x24($sp) +/* f084558: 8e0e0040 */ lw $t6,0x40($s0) +/* f08455c: 8e180010 */ lw $t8,0x10($s0) +/* f084560: 35cf1000 */ ori $t7,$t6,0x1000 +/* f084564: 0018c8c0 */ sll $t9,$t8,0x3 +/* f084568: 07200005 */ bltz $t9,.L0f084580 +/* f08456c: ae0f0040 */ sw $t7,0x40($s0) +/* f084570: 8e080008 */ lw $t0,0x8($s0) +/* f084574: 2401feff */ addiu $at,$zero,-257 +/* f084578: 01014824 */ and $t1,$t0,$at +/* f08457c: ae090008 */ sw $t1,0x8($s0) +.L0f084580: +/* f084580: 8fbf0024 */ lw $ra,0x24($sp) +.L0f084584: +/* f084584: 8fb00020 */ lw $s0,0x20($sp) +/* f084588: 27bd0070 */ addiu $sp,$sp,0x70 +/* f08458c: 03e00008 */ jr $ra +/* f084590: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f0841dc /* f0841dc: 27bdff90 */ addiu $sp,$sp,-112 @@ -46952,6 +50643,7 @@ glabel func0f0841dc /* f08458c: 03e00008 */ jr $ra /* f084590: 00000000 */ nop ); +#endif GLOBAL_ASM( glabel func0f084594 @@ -49656,7 +53348,7 @@ bool currentPlayerTryMountHoverbike(struct prop *prop) u32 stack[2]; if (obj->type == OBJTYPE_HOVERBIKE - && g_Vars.lvframe60 - g_Vars.currentplayer->activatetimelast < 30 + && g_Vars.lvframe60 - g_Vars.currentplayer->activatetimelast < PALDOWN(30) && (obj->hidden & OBJHFLAG_04000000) == 0) { if (obj->hidden & OBJHFLAG_GRABBED) { if (bmoveGetGrabbedProp() == prop) { @@ -50853,7 +54545,7 @@ void ammotypeGetPickupMessage(char *dst, s32 ammotype, s32 qty) *dst = '\0'; #if VERSION >= VERSION_PAL_FINAL - if (g_LanguageId != LANGUAGE_NTSC_EN) { + if (g_Jpn) { strcat(dst, "\n"); } else { if (ammotype == AMMOTYPE_PISTOL || ammotype == AMMOTYPE_SMG || ammotype == AMMOTYPE_RIFLE) { @@ -50863,7 +54555,7 @@ void ammotypeGetPickupMessage(char *dst, s32 ammotype, s32 qty) func0f0878c8pf(dst, ammotype, qty > 1, !full, 0, var8006a944pf); } #else - if (g_LanguageId != LANGUAGE_NTSC_EN) { + if (g_Jpn) { ammotypeGetPickupName(dst, ammotype, qty); if (full) { @@ -51007,17 +54699,17 @@ s32 ammocrateGetPickupAmmoQty(struct ammocrateobj *crate) s32 qty = 1; switch (crate->ammotype) { - case AMMOTYPE_PISTOL : qty = 10; break; - case AMMOTYPE_SMG : qty = 10; break; - case AMMOTYPE_CROSSBOW : qty = 10; break; - case AMMOTYPE_RIFLE : qty = 10; break; - case AMMOTYPE_SHOTGUN : qty = 5; break; - case AMMOTYPE_MAGNUM : qty = 5; break; - case AMMOTYPE_REAPER : qty = 200; break; - case AMMOTYPE_DART : qty = 4; break; - case AMMOTYPE_CLOAK : qty = 1200; break; - case AMMOTYPE_SEDATIVE : qty = 16; break; - case AMMOTYPE_BOOST : qty = 1; break; + case AMMOTYPE_PISTOL : qty = 10; break; + case AMMOTYPE_SMG : qty = 10; break; + case AMMOTYPE_CROSSBOW : qty = 10; break; + case AMMOTYPE_RIFLE : qty = 10; break; + case AMMOTYPE_SHOTGUN : qty = 5; break; + case AMMOTYPE_MAGNUM : qty = 5; break; + case AMMOTYPE_REAPER : qty = 200; break; + case AMMOTYPE_DART : qty = 4; break; + case AMMOTYPE_CLOAK : qty = PALDOWN(1200); break; + case AMMOTYPE_SEDATIVE : qty = 16; break; + case AMMOTYPE_BOOST : qty = 1; break; } if (qty > 1 && !g_Vars.normmplayerisrunning) { @@ -51048,35 +54740,35 @@ s32 weaponGetPickupAmmoQty(struct weaponobj *weapon) if (g_Vars.normmplayerisrunning) { switch (ammotype) { - case AMMOTYPE_PISTOL: qty = 10; break; - case AMMOTYPE_SMG: qty = 20; break; - case AMMOTYPE_CROSSBOW: qty = 5; break; - case AMMOTYPE_RIFLE: qty = 20; break; - case AMMOTYPE_SHOTGUN: qty = 10; break; - case AMMOTYPE_FARSIGHT: qty = 4; break; - case AMMOTYPE_MAGNUM: qty = 10; break; - case AMMOTYPE_DEVASTATOR: qty = 3; break; - case AMMOTYPE_REAPER: qty = 200; break; - case AMMOTYPE_DART: qty = 10; break; - case AMMOTYPE_CLOAK: qty = 1200; break; - case AMMOTYPE_SEDATIVE: qty = 16; break; - case AMMOTYPE_BOOST: qty = 1; break; + case AMMOTYPE_PISTOL: qty = 10; break; + case AMMOTYPE_SMG: qty = 20; break; + case AMMOTYPE_CROSSBOW: qty = 5; break; + case AMMOTYPE_RIFLE: qty = 20; break; + case AMMOTYPE_SHOTGUN: qty = 10; break; + case AMMOTYPE_FARSIGHT: qty = 4; break; + case AMMOTYPE_MAGNUM: qty = 10; break; + case AMMOTYPE_DEVASTATOR: qty = 3; break; + case AMMOTYPE_REAPER: qty = 200; break; + case AMMOTYPE_DART: qty = 10; break; + case AMMOTYPE_CLOAK: qty = PALDOWN(1200); break; + case AMMOTYPE_SEDATIVE: qty = 16; break; + case AMMOTYPE_BOOST: qty = 1; break; } } else { switch (ammotype) { - case AMMOTYPE_PISTOL: qty = 10; break; - case AMMOTYPE_SMG: qty = 10; break; - case AMMOTYPE_CROSSBOW: qty = 5; break; - case AMMOTYPE_RIFLE: qty = 10; break; - case AMMOTYPE_SHOTGUN: qty = 5; break; - case AMMOTYPE_FARSIGHT: qty = 4; break; - case AMMOTYPE_MAGNUM: qty = 5; break; - case AMMOTYPE_DEVASTATOR: qty = 3; break; - case AMMOTYPE_REAPER: qty = 100; break; - case AMMOTYPE_DART: qty = 4; break; - case AMMOTYPE_CLOAK: qty = 1200; break; - case AMMOTYPE_BOOST: qty = 2; break; - case AMMOTYPE_SEDATIVE: qty = 16; break; + case AMMOTYPE_PISTOL: qty = 10; break; + case AMMOTYPE_SMG: qty = 10; break; + case AMMOTYPE_CROSSBOW: qty = 5; break; + case AMMOTYPE_RIFLE: qty = 10; break; + case AMMOTYPE_SHOTGUN: qty = 5; break; + case AMMOTYPE_FARSIGHT: qty = 4; break; + case AMMOTYPE_MAGNUM: qty = 5; break; + case AMMOTYPE_DEVASTATOR: qty = 3; break; + case AMMOTYPE_REAPER: qty = 100; break; + case AMMOTYPE_DART: qty = 4; break; + case AMMOTYPE_CLOAK: qty = PALDOWN(1200); break; + case AMMOTYPE_BOOST: qty = 2; break; + case AMMOTYPE_SEDATIVE: qty = 16; break; } if (qty > 1) { @@ -51209,7 +54901,7 @@ void weaponGetPickupText(char *buffer, s32 weaponnum, bool dual) if (dual) { strcat(buffer, langGet(L_PROPOBJ_001)); // "Double" } else { - if (g_LanguageId == LANGUAGE_NTSC_EN) { + if (!g_Jpn) { if (full) { strcat(buffer, langGet(L_PROPOBJ_000)); // "Picked up" @@ -51265,7 +54957,7 @@ void weaponGetPickupText(char *buffer, s32 weaponnum, bool dual) } // For JPN, their translation of "picked up" comes after the weapon name - if (g_LanguageId != LANGUAGE_NTSC_EN && full) { + if (g_Jpn && full) { if (buffer[strlen(buffer) - 1] == '\n') { buffer[strlen(buffer) - 1] = '\0'; } @@ -51304,6 +54996,654 @@ const char var7f1aa1c0[] = "prop/propobj.c"; const char var7f1aa1c0[] = "propobj.c"; #endif +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel func0f088840 +.late_rodata +glabel var7f1aadc0 +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aadc4 +.word func0f088840+0x74 # f0888b4 +glabel var7f1aadc8 +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aadcc +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aadd0 +.word func0f088840+0xf4 # f088934 +glabel var7f1aadd4 +.word func0f088840+0x1f4 # f088a34 +glabel var7f1aadd8 +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aaddc +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aade0 +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aade4 +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aade8 +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aadec +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aadf0 +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aadf4 +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aadf8 +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aadfc +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aae00 +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aae04 +.word func0f088840+0x134 # f088974 +glabel var7f1aae08 +.word func0f088840+0x590 # f088dd0 +glabel var7f1aae0c +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aae10 +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aae14 +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aae18 +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aae1c +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aae20 +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aae24 +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aae28 +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aae2c +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aae30 +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aae34 +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aae38 +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aae3c +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aae40 +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aae44 +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aae48 +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aae4c +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aae50 +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aae54 +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aae58 +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aae5c +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aae60 +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aae64 +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aae68 +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aae6c +.word func0f088840+0x6e0 # f088f20 +glabel var7f1aae70 +.word func0f088840+0x6e0 # f088f20 +.text +/* f088840: 27bdff60 */ addiu $sp,$sp,-160 +/* f088844: afbf0024 */ sw $ra,0x24($sp) +/* f088848: afa400a0 */ sw $a0,0xa0($sp) +/* f08884c: afa500a4 */ sw $a1,0xa4($sp) +/* f088850: 3c08800a */ lui $t0,%hi(g_Vars) +/* f088854: 8c860004 */ lw $a2,0x4($a0) +/* f088858: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) +/* f08885c: 8d020284 */ lw $v0,0x284($t0) +/* f088860: afa00094 */ sw $zero,0x94($sp) +/* f088864: afa6009c */ sw $a2,0x9c($sp) +/* f088868: 8c4f00d8 */ lw $t7,0xd8($v0) +/* f08886c: 15e00005 */ bnez $t7,.L0f088884 +/* f088870: 00000000 */ nop +/* f088874: 8d180034 */ lw $t8,0x34($t0) +/* f088878: 8fb9009c */ lw $t9,0x9c($sp) +/* f08887c: 57000004 */ bnezl $t8,.L0f088890 +/* f088880: 93290003 */ lbu $t1,0x3($t9) +.L0f088884: +/* f088884: 100001df */ b .L0f089004 +/* f088888: 00001025 */ or $v0,$zero,$zero +/* f08888c: 93290003 */ lbu $t1,0x3($t9) +.L0f088890: +/* f088890: 252afffd */ addiu $t2,$t1,-3 +/* f088894: 2d41002d */ sltiu $at,$t2,0x2d +/* f088898: 102001a1 */ beqz $at,.L0f088f20 +/* f08889c: 000a5080 */ sll $t2,$t2,0x2 +/* f0888a0: 3c017f1b */ lui $at,%hi(var7f1aadc0) +/* f0888a4: 002a0821 */ addu $at,$at,$t2 +/* f0888a8: 8c2aadc0 */ lw $t2,%lo(var7f1aadc0)($at) +/* f0888ac: 01400008 */ jr $t2 +/* f0888b0: 00000000 */ nop +/* f0888b4: 8d0b04cc */ lw $t3,0x4cc($t0) +/* f0888b8: 3c048009 */ lui $a0,%hi(var80095200) +/* f0888bc: 240500e5 */ addiu $a1,$zero,0xe5 +/* f0888c0: 1560000d */ bnez $t3,.L0f0888f8 +/* f0888c4: 00003025 */ or $a2,$zero,$zero +/* f0888c8: 3c01bf80 */ lui $at,0xbf80 +/* f0888cc: 44812000 */ mtc1 $at,$f4 +/* f0888d0: 240cffff */ addiu $t4,$zero,-1 +/* f0888d4: 240dffff */ addiu $t5,$zero,-1 +/* f0888d8: 240effff */ addiu $t6,$zero,-1 +/* f0888dc: afae001c */ sw $t6,0x1c($sp) +/* f0888e0: afad0018 */ sw $t5,0x18($sp) +/* f0888e4: afac0010 */ sw $t4,0x10($sp) +/* f0888e8: 8c845200 */ lw $a0,%lo(var80095200)($a0) +/* f0888ec: 2407ffff */ addiu $a3,$zero,-1 +/* f0888f0: 0c004241 */ jal audioStart +/* f0888f4: e7a40014 */ swc1 $f4,0x14($sp) +.L0f0888f8: +/* f0888f8: 8faf00a4 */ lw $t7,0xa4($sp) +/* f0888fc: 11e0000b */ beqz $t7,.L0f08892c +/* f088900: 00000000 */ nop +/* f088904: 0fc44bfb */ jal invGetActivatedTextByObj +/* f088908: 8fa4009c */ lw $a0,0x9c($sp) +/* f08890c: 14400004 */ bnez $v0,.L0f088920 +/* f088910: 00402025 */ or $a0,$v0,$zero +/* f088914: 0fc5b9f1 */ jal langGet +/* f088918: 24045228 */ addiu $a0,$zero,0x5225 +/* f08891c: 00402025 */ or $a0,$v0,$zero +.L0f088920: +/* f088920: 00002825 */ or $a1,$zero,$zero +/* f088924: 0fc377e9 */ jal func0f0ddfa4 +/* f088928: 24060009 */ addiu $a2,$zero,0x9 +.L0f08892c: +/* f08892c: 1000019d */ b .L0f088fa4 +/* f088930: 24020004 */ addiu $v0,$zero,0x4 +/* f088934: 00c02025 */ or $a0,$a2,$zero +/* f088938: 0fc22067 */ jal ammocrateGetPickupAmmoQty +/* f08893c: afa6008c */ sw $a2,0x8c($sp) +/* f088940: 3c06800a */ lui $a2,%hi(g_Vars+0x4cc) +/* f088944: 8cc6a48c */ lw $a2,%lo(g_Vars+0x4cc)($a2) +/* f088948: 8fb9008c */ lw $t9,0x8c($sp) +/* f08894c: 00402825 */ or $a1,$v0,$zero +/* f088950: 2cd80001 */ sltiu $t8,$a2,0x1 +/* f088954: 03003025 */ or $a2,$t8,$zero +/* f088958: 8fa700a4 */ lw $a3,0xa4($sp) +/* f08895c: 0fc2200a */ jal func0f088028 +/* f088960: 8f24005c */ lw $a0,0x5c($t9) +/* f088964: 24090001 */ addiu $t1,$zero,0x1 +/* f088968: afa90098 */ sw $t1,0x98($sp) +/* f08896c: 1000018d */ b .L0f088fa4 +/* f088970: 24020001 */ addiu $v0,$zero,0x1 +/* f088974: 00001025 */ or $v0,$zero,$zero +/* f088978: 00c01825 */ or $v1,$a2,$zero +.L0f08897c: +/* f08897c: 3c08800a */ lui $t0,%hi(g_Vars) +/* f088980: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) +/* f088984: 8d0a0318 */ lw $t2,0x318($t0) +/* f088988: 9465005e */ lhu $a1,0x5e($v1) +/* f08898c: 24440001 */ addiu $a0,$v0,0x1 +/* f088990: 15400009 */ bnez $t2,.L0f0889b8 +/* f088994: 00003025 */ or $a2,$zero,$zero +/* f088998: 44853000 */ mtc1 $a1,$f6 +/* f08899c: 3c018007 */ lui $at,%hi(g_AmmoMultiplier) +/* f0889a0: c42a995c */ lwc1 $f10,%lo(g_AmmoMultiplier)($at) +/* f0889a4: 46803220 */ cvt.s.w $f8,$f6 +/* f0889a8: 460a4402 */ mul.s $f16,$f8,$f10 +/* f0889ac: 4600848d */ trunc.w.s $f18,$f16 +/* f0889b0: 44059000 */ mfc1 $a1,$f18 +/* f0889b4: 00000000 */ nop +.L0f0889b8: +/* f0889b8: 8fa700a4 */ lw $a3,0xa4($sp) +/* f0889bc: afa30028 */ sw $v1,0x28($sp) +/* f0889c0: 0fc2200a */ jal func0f088028 +/* f0889c4: afa4002c */ sw $a0,0x2c($sp) +/* f0889c8: 8fa2002c */ lw $v0,0x2c($sp) +/* f0889cc: 8fa30028 */ lw $v1,0x28($sp) +/* f0889d0: 24010013 */ addiu $at,$zero,0x13 +/* f0889d4: 1441ffe9 */ bne $v0,$at,.L0f08897c +/* f0889d8: 24630004 */ addiu $v1,$v1,0x4 +/* f0889dc: 3c0c800a */ lui $t4,%hi(g_Vars+0x4cc) +/* f0889e0: 8d8ca48c */ lw $t4,%lo(g_Vars+0x4cc)($t4) +/* f0889e4: 3c048009 */ lui $a0,%hi(var80095200) +/* f0889e8: 240500ea */ addiu $a1,$zero,0xea +/* f0889ec: 1580000d */ bnez $t4,.L0f088a24 +/* f0889f0: 00003025 */ or $a2,$zero,$zero +/* f0889f4: 3c01bf80 */ lui $at,0xbf80 +/* f0889f8: 44812000 */ mtc1 $at,$f4 +/* f0889fc: 240dffff */ addiu $t5,$zero,-1 +/* f088a00: 240effff */ addiu $t6,$zero,-1 +/* f088a04: 240fffff */ addiu $t7,$zero,-1 +/* f088a08: afaf001c */ sw $t7,0x1c($sp) +/* f088a0c: afae0018 */ sw $t6,0x18($sp) +/* f088a10: afad0010 */ sw $t5,0x10($sp) +/* f088a14: 8c845200 */ lw $a0,%lo(var80095200)($a0) +/* f088a18: 2407ffff */ addiu $a3,$zero,-1 +/* f088a1c: 0c004241 */ jal audioStart +/* f088a20: e7a40014 */ swc1 $f4,0x14($sp) +.L0f088a24: +/* f088a24: 24180001 */ addiu $t8,$zero,0x1 +/* f088a28: afb80098 */ sw $t8,0x98($sp) +/* f088a2c: 1000015d */ b .L0f088fa4 +/* f088a30: 24020001 */ addiu $v0,$zero,0x1 +/* f088a34: 8d190318 */ lw $t9,0x318($t0) +/* f088a38: afa60074 */ sw $a2,0x74($sp) +/* f088a3c: afa00070 */ sw $zero,0x70($sp) +/* f088a40: 13200022 */ beqz $t9,.L0f088acc +/* f088a44: afa00068 */ sw $zero,0x68($sp) +/* f088a48: 90c5005c */ lbu $a1,0x5c($a2) +/* f088a4c: 24010057 */ addiu $at,$zero,0x57 +/* f088a50: 54a1000f */ bnel $a1,$at,.L0f088a90 +/* f088a54: 24010036 */ addiu $at,$zero,0x36 +/* f088a58: 8c4a00bc */ lw $t2,0xbc($v0) +/* f088a5c: 8fa500a0 */ lw $a1,0xa0($sp) +/* f088a60: 0fc61a26 */ jal chrGiveBriefcase +/* f088a64: 8d440004 */ lw $a0,0x4($t2) +/* f088a68: 10400006 */ beqz $v0,.L0f088a84 +/* f088a6c: 00401825 */ or $v1,$v0,$zero +/* f088a70: 8fab0074 */ lw $t3,0x74($sp) +/* f088a74: 9164005c */ lbu $a0,0x5c($t3) +/* f088a78: 0fc21f44 */ jal func0f087d10 +/* f088a7c: afa20064 */ sw $v0,0x64($sp) +/* f088a80: 8fa30064 */ lw $v1,0x64($sp) +.L0f088a84: +/* f088a84: 1000015f */ b .L0f089004 +/* f088a88: 00601025 */ or $v0,$v1,$zero +/* f088a8c: 24010036 */ addiu $at,$zero,0x36 +.L0f088a90: +/* f088a90: 54a1000f */ bnel $a1,$at,.L0f088ad0 +/* f088a94: 8d0f04cc */ lw $t7,0x4cc($t0) +/* f088a98: 8c4c00bc */ lw $t4,0xbc($v0) +/* f088a9c: 8fa500a0 */ lw $a1,0xa0($sp) +/* f088aa0: 0fc61d04 */ jal chrGiveUplink +/* f088aa4: 8d840004 */ lw $a0,0x4($t4) +/* f088aa8: 10400006 */ beqz $v0,.L0f088ac4 +/* f088aac: 00401825 */ or $v1,$v0,$zero +/* f088ab0: 8fad0074 */ lw $t5,0x74($sp) +/* f088ab4: 91a4005c */ lbu $a0,0x5c($t5) +/* f088ab8: 0fc21f44 */ jal func0f087d10 +/* f088abc: afa20064 */ sw $v0,0x64($sp) +/* f088ac0: 8fa30064 */ lw $v1,0x64($sp) +.L0f088ac4: +/* f088ac4: 1000014f */ b .L0f089004 +/* f088ac8: 00601025 */ or $v0,$v1,$zero +.L0f088acc: +/* f088acc: 8d0f04cc */ lw $t7,0x4cc($t0) +.L0f088ad0: +/* f088ad0: 8fae0074 */ lw $t6,0x74($sp) +/* f088ad4: 15e00007 */ bnez $t7,.L0f088af4 +/* f088ad8: 91c5005c */ lbu $a1,0x5c($t6) +/* f088adc: 0fc21f44 */ jal func0f087d10 +/* f088ae0: 00a02025 */ or $a0,$a1,$zero +/* f088ae4: 8fb80074 */ lw $t8,0x74($sp) +/* f088ae8: 3c08800a */ lui $t0,%hi(g_Vars) +/* f088aec: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) +/* f088af0: 9305005c */ lbu $a1,0x5c($t8) +.L0f088af4: +/* f088af4: 8fb9009c */ lw $t9,0x9c($sp) +/* f088af8: 24010056 */ addiu $at,$zero,0x56 +/* f088afc: 8f290040 */ lw $t1,0x40($t9) +/* f088b00: 312a0400 */ andi $t2,$t1,0x400 +/* f088b04: 11400020 */ beqz $t2,.L0f088b88 +/* f088b08: 00000000 */ nop +/* f088b0c: 28a1002d */ slti $at,$a1,0x2d +/* f088b10: 50200007 */ beqzl $at,.L0f088b30 +/* f088b14: 8fac00a4 */ lw $t4,0xa4($sp) +/* f088b18: 0fc4483c */ jal invGiveWeaponsByProp +/* f088b1c: 8fa400a0 */ lw $a0,0xa0($sp) +/* f088b20: 240b0001 */ addiu $t3,$zero,0x1 +/* f088b24: afa20068 */ sw $v0,0x68($sp) +/* f088b28: afab0094 */ sw $t3,0x94($sp) +/* f088b2c: 8fac00a4 */ lw $t4,0xa4($sp) +.L0f088b30: +/* f088b30: 51800013 */ beqzl $t4,.L0f088b80 +/* f088b34: 24180004 */ addiu $t8,$zero,0x4 +/* f088b38: 0fc44bfb */ jal invGetActivatedTextByObj +/* f088b3c: 8fa4009c */ lw $a0,0x9c($sp) +/* f088b40: 10400006 */ beqz $v0,.L0f088b5c +/* f088b44: 00402025 */ or $a0,$v0,$zero +/* f088b48: 00002825 */ or $a1,$zero,$zero +/* f088b4c: 0fc377e9 */ jal func0f0ddfa4 +/* f088b50: 24060009 */ addiu $a2,$zero,0x9 +/* f088b54: 10000008 */ b .L0f088b78 +/* f088b58: 240f0001 */ addiu $t7,$zero,0x1 +.L0f088b5c: +/* f088b5c: 8fa50068 */ lw $a1,0x68($sp) +/* f088b60: 8fad0074 */ lw $t5,0x74($sp) +/* f088b64: 38ae0002 */ xori $t6,$a1,0x2 +/* f088b68: 2dc50001 */ sltiu $a1,$t6,0x1 +/* f088b6c: 0fc221f2 */ jal currentPlayerQueuePickupWeaponHudmsg +/* f088b70: 91a4005c */ lbu $a0,0x5c($t5) +/* f088b74: 240f0001 */ addiu $t7,$zero,0x1 +.L0f088b78: +/* f088b78: afaf0070 */ sw $t7,0x70($sp) +/* f088b7c: 24180004 */ addiu $t8,$zero,0x4 +.L0f088b80: +/* f088b80: 10000033 */ b .L0f088c50 +/* f088b84: afb80098 */ sw $t8,0x98($sp) +.L0f088b88: +/* f088b88: 14a10011 */ bne $a1,$at,.L0f088bd0 +/* f088b8c: 24190001 */ addiu $t9,$zero,0x1 +/* f088b90: 8d0604cc */ lw $a2,0x4cc($t0) +/* f088b94: 24090001 */ addiu $t1,$zero,0x1 +/* f088b98: afb90068 */ sw $t9,0x68($sp) +/* f088b9c: 2cca0001 */ sltiu $t2,$a2,0x1 +/* f088ba0: afa90094 */ sw $t1,0x94($sp) +/* f088ba4: 01403025 */ or $a2,$t2,$zero +/* f088ba8: 24040003 */ addiu $a0,$zero,0x3 +/* f088bac: 24050001 */ addiu $a1,$zero,0x1 +/* f088bb0: 0fc2200a */ jal func0f088028 +/* f088bb4: 24070001 */ addiu $a3,$zero,0x1 +/* f088bb8: 240b0001 */ addiu $t3,$zero,0x1 +/* f088bbc: 240c0001 */ addiu $t4,$zero,0x1 +/* f088bc0: afab0098 */ sw $t3,0x98($sp) +/* f088bc4: afa000a4 */ sw $zero,0xa4($sp) +/* f088bc8: 10000021 */ b .L0f088c50 +/* f088bcc: afac0070 */ sw $t4,0x70($sp) +.L0f088bd0: +/* f088bd0: 0fc4483c */ jal invGiveWeaponsByProp +/* f088bd4: 8fa400a0 */ lw $a0,0xa0($sp) +/* f088bd8: 10400003 */ beqz $v0,.L0f088be8 +/* f088bdc: afa20068 */ sw $v0,0x68($sp) +/* f088be0: 240d0001 */ addiu $t5,$zero,0x1 +/* f088be4: afad0070 */ sw $t5,0x70($sp) +.L0f088be8: +/* f088be8: 8faf00a4 */ lw $t7,0xa4($sp) +/* f088bec: 240e0001 */ addiu $t6,$zero,0x1 +/* f088bf0: afae0094 */ sw $t6,0x94($sp) +/* f088bf4: 11e00014 */ beqz $t7,.L0f088c48 +/* f088bf8: 8fb80074 */ lw $t8,0x74($sp) +/* f088bfc: 0fc44c0d */ jal invGetActivatedTextByWeaponNum +/* f088c00: 9304005c */ lbu $a0,0x5c($t8) +/* f088c04: 10400008 */ beqz $v0,.L0f088c28 +/* f088c08: 00402025 */ or $a0,$v0,$zero +/* f088c0c: 24190001 */ addiu $t9,$zero,0x1 +/* f088c10: afb90070 */ sw $t9,0x70($sp) +/* f088c14: 00002825 */ or $a1,$zero,$zero +/* f088c18: 0fc377e9 */ jal func0f0ddfa4 +/* f088c1c: 24060009 */ addiu $a2,$zero,0x9 +/* f088c20: 1000000a */ b .L0f088c4c +/* f088c24: 240c0001 */ addiu $t4,$zero,0x1 +.L0f088c28: +/* f088c28: 8fa90070 */ lw $t1,0x70($sp) +/* f088c2c: 8fa50068 */ lw $a1,0x68($sp) +/* f088c30: 8faa0074 */ lw $t2,0x74($sp) +/* f088c34: 11200004 */ beqz $t1,.L0f088c48 +/* f088c38: 38ab0002 */ xori $t3,$a1,0x2 +/* f088c3c: 9144005c */ lbu $a0,0x5c($t2) +/* f088c40: 0fc221f2 */ jal currentPlayerQueuePickupWeaponHudmsg +/* f088c44: 2d650001 */ sltiu $a1,$t3,0x1 +.L0f088c48: +/* f088c48: 240c0001 */ addiu $t4,$zero,0x1 +.L0f088c4c: +/* f088c4c: afac0098 */ sw $t4,0x98($sp) +.L0f088c50: +/* f088c50: 8fad0068 */ lw $t5,0x68($sp) +/* f088c54: 24010002 */ addiu $at,$zero,0x2 +/* f088c58: 55a10010 */ bnel $t5,$at,.L0f088c9c +/* f088c5c: 8fb90074 */ lw $t9,0x74($sp) +/* f088c60: 0fc2866a */ jal handGetWeaponNum +/* f088c64: 00002025 */ or $a0,$zero,$zero +/* f088c68: 8fae0074 */ lw $t6,0x74($sp) +/* f088c6c: 91cf005c */ lbu $t7,0x5c($t6) +/* f088c70: 544f000a */ bnel $v0,$t7,.L0f088c9c +/* f088c74: 8fb90074 */ lw $t9,0x74($sp) +/* f088c78: 0fc2866a */ jal handGetWeaponNum +/* f088c7c: 24040001 */ addiu $a0,$zero,0x1 +/* f088c80: 8fb80074 */ lw $t8,0x74($sp) +/* f088c84: 9305005c */ lbu $a1,0x5c($t8) +/* f088c88: 50450004 */ beql $v0,$a1,.L0f088c9c +/* f088c8c: 8fb90074 */ lw $t9,0x74($sp) +/* f088c90: 0fc28824 */ jal currentPlayerEquipWeaponWrapper +/* f088c94: 24040001 */ addiu $a0,$zero,0x1 +/* f088c98: 8fb90074 */ lw $t9,0x74($sp) +.L0f088c9c: +/* f088c9c: 00002825 */ or $a1,$zero,$zero +/* f088ca0: 0fc2a685 */ jal weaponGetAmmoType +/* f088ca4: 9324005c */ lbu $a0,0x5c($t9) +/* f088ca8: 1040001d */ beqz $v0,.L0f088d20 +/* f088cac: afa2006c */ sw $v0,0x6c($sp) +/* f088cb0: 0fc22095 */ jal weaponGetPickupAmmoQty +/* f088cb4: 8fa40074 */ lw $a0,0x74($sp) +/* f088cb8: 18400019 */ blez $v0,.L0f088d20 +/* f088cbc: afa20058 */ sw $v0,0x58($sp) +/* f088cc0: 0fc2a5dc */ jal currentPlayerGetAmmoCountWithCheck +/* f088cc4: 8fa4006c */ lw $a0,0x6c($sp) +/* f088cc8: 8fa4006c */ lw $a0,0x6c($sp) +/* f088ccc: 0fc2a5dc */ jal currentPlayerGetAmmoCountWithCheck +/* f088cd0: afa20054 */ sw $v0,0x54($sp) +/* f088cd4: 8fa4006c */ lw $a0,0x6c($sp) +/* f088cd8: 0fc2a63d */ jal ammotypeGetMaxCapacity +/* f088cdc: afa2003c */ sw $v0,0x3c($sp) +/* f088ce0: 8fa6003c */ lw $a2,0x3c($sp) +/* f088ce4: 8fa50054 */ lw $a1,0x54($sp) +/* f088ce8: 8fa90058 */ lw $t1,0x58($sp) +/* f088cec: 00c2082a */ slt $at,$a2,$v0 +/* f088cf0: 1020000b */ beqz $at,.L0f088d20 +/* f088cf4: 00a92821 */ addu $a1,$a1,$t1 +/* f088cf8: 0fc2a58a */ jal currentPlayerSetAmmoQuantity +/* f088cfc: 8fa4006c */ lw $a0,0x6c($sp) +/* f088d00: 8faa0070 */ lw $t2,0x70($sp) +/* f088d04: 8fab00a4 */ lw $t3,0xa4($sp) +/* f088d08: 55400006 */ bnezl $t2,.L0f088d24 +/* f088d0c: 8fac0074 */ lw $t4,0x74($sp) +/* f088d10: 11600003 */ beqz $t3,.L0f088d20 +/* f088d14: 8fa4006c */ lw $a0,0x6c($sp) +/* f088d18: 0fc21fec */ jal currentPlayerQueuePickupAmmoHudmsg +/* f088d1c: 8fa50058 */ lw $a1,0x58($sp) +.L0f088d20: +/* f088d20: 8fac0074 */ lw $t4,0x74($sp) +.L0f088d24: +/* f088d24: 24010012 */ addiu $at,$zero,0x12 +/* f088d28: 918d005c */ lbu $t5,0x5c($t4) +/* f088d2c: 55a1001b */ bnel $t5,$at,.L0f088d9c +/* f088d30: 8fb80074 */ lw $t8,0x74($sp) +/* f088d34: 0fc22095 */ jal weaponGetPickupAmmoQty +/* f088d38: 01802025 */ or $a0,$t4,$zero +/* f088d3c: afa20050 */ sw $v0,0x50($sp) +/* f088d40: 0fc2a5dc */ jal currentPlayerGetAmmoCountWithCheck +/* f088d44: 2404000b */ addiu $a0,$zero,0xb +/* f088d48: 2404000b */ addiu $a0,$zero,0xb +/* f088d4c: 0fc2a63d */ jal ammotypeGetMaxCapacity +/* f088d50: afa2003c */ sw $v0,0x3c($sp) +/* f088d54: 8fa6003c */ lw $a2,0x3c($sp) +/* f088d58: 00c2082a */ slt $at,$a2,$v0 +/* f088d5c: 5020000f */ beqzl $at,.L0f088d9c +/* f088d60: 8fb80074 */ lw $t8,0x74($sp) +/* f088d64: 0fc2a5dc */ jal currentPlayerGetAmmoCountWithCheck +/* f088d68: 2404000b */ addiu $a0,$zero,0xb +/* f088d6c: 2404000b */ addiu $a0,$zero,0xb +/* f088d70: 0fc2a58a */ jal currentPlayerSetAmmoQuantity +/* f088d74: 24450005 */ addiu $a1,$v0,0x5 +/* f088d78: 8fae0070 */ lw $t6,0x70($sp) +/* f088d7c: 8faf00a4 */ lw $t7,0xa4($sp) +/* f088d80: 55c00006 */ bnezl $t6,.L0f088d9c +/* f088d84: 8fb80074 */ lw $t8,0x74($sp) +/* f088d88: 11e00003 */ beqz $t7,.L0f088d98 +/* f088d8c: 2404000b */ addiu $a0,$zero,0xb +/* f088d90: 0fc21fec */ jal currentPlayerQueuePickupAmmoHudmsg +/* f088d94: 8fa50050 */ lw $a1,0x50($sp) +.L0f088d98: +/* f088d98: 8fb80074 */ lw $t8,0x74($sp) +.L0f088d9c: +/* f088d9c: 2401002e */ addiu $at,$zero,0x2e +/* f088da0: 3c09800a */ lui $t1,%hi(g_Vars+0x284) +/* f088da4: 9319005c */ lbu $t9,0x5c($t8) +/* f088da8: 17210007 */ bne $t9,$at,.L0f088dc8 +/* f088dac: 00000000 */ nop +/* f088db0: 8d29a244 */ lw $t1,%lo(g_Vars+0x284)($t1) +/* f088db4: 8d2a0480 */ lw $t2,0x480($t1) +/* f088db8: 15400003 */ bnez $t2,.L0f088dc8 +/* f088dbc: 00000000 */ nop +/* f088dc0: 0fc0458c */ jal currentPlayerInitEyespy +/* f088dc4: 00000000 */ nop +.L0f088dc8: +/* f088dc8: 10000076 */ b .L0f088fa4 +/* f088dcc: 8fa20098 */ lw $v0,0x98($sp) +/* f088dd0: 0fc30884 */ jal currentPlayerSetShieldFrac +/* f088dd4: c4cc0060 */ lwc1 $f12,0x60($a2) +/* f088dd8: 3c0b800a */ lui $t3,%hi(g_Vars+0x4cc) +/* f088ddc: 8d6ba48c */ lw $t3,%lo(g_Vars+0x4cc)($t3) +/* f088de0: 3c048009 */ lui $a0,%hi(var80095200) +/* f088de4: 240501cd */ addiu $a1,$zero,0x1cd +/* f088de8: 1560000d */ bnez $t3,.L0f088e20 +/* f088dec: 00003025 */ or $a2,$zero,$zero +/* f088df0: 3c01bf80 */ lui $at,0xbf80 +/* f088df4: 44813000 */ mtc1 $at,$f6 +/* f088df8: 240dffff */ addiu $t5,$zero,-1 +/* f088dfc: 240cffff */ addiu $t4,$zero,-1 +/* f088e00: 240effff */ addiu $t6,$zero,-1 +/* f088e04: afae001c */ sw $t6,0x1c($sp) +/* f088e08: afac0018 */ sw $t4,0x18($sp) +/* f088e0c: afad0010 */ sw $t5,0x10($sp) +/* f088e10: 8c845200 */ lw $a0,%lo(var80095200)($a0) +/* f088e14: 2407ffff */ addiu $a3,$zero,-1 +/* f088e18: 0c004241 */ jal audioStart +/* f088e1c: e7a60014 */ swc1 $f6,0x14($sp) +.L0f088e20: +/* f088e20: 8faf00a4 */ lw $t7,0xa4($sp) +/* f088e24: 51e0003b */ beqzl $t7,.L0f088f14 +/* f088e28: 240e0001 */ addiu $t6,$zero,0x1 +/* f088e2c: 0fc44bfb */ jal invGetActivatedTextByObj +/* f088e30: 8fa4009c */ lw $a0,0x9c($sp) +/* f088e34: 14400033 */ bnez $v0,.L0f088f04 +/* f088e38: 00402025 */ or $a0,$v0,$zero +/* f088e3c: 3c18800a */ lui $t8,%hi(g_Vars+0x6c) +/* f088e40: 8f18a02c */ lw $t8,%lo(g_Vars+0x6c)($t8) +/* f088e44: 3c19800a */ lui $t9,%hi(g_Vars+0x68) +/* f088e48: 3c09800a */ lui $t1,%hi(g_Vars+0x64) +/* f088e4c: 13000003 */ beqz $t8,.L0f088e5c +/* f088e50: 3c0a800a */ lui $t2,%hi(g_Vars+0x70) +/* f088e54: 10000002 */ b .L0f088e60 +/* f088e58: 24050001 */ addiu $a1,$zero,0x1 +.L0f088e5c: +/* f088e5c: 00002825 */ or $a1,$zero,$zero +.L0f088e60: +/* f088e60: 8f39a028 */ lw $t9,%lo(g_Vars+0x68)($t9) +/* f088e64: 00001825 */ or $v1,$zero,$zero +/* f088e68: 00002025 */ or $a0,$zero,$zero +/* f088e6c: 13200003 */ beqz $t9,.L0f088e7c +/* f088e70: 00003025 */ or $a2,$zero,$zero +/* f088e74: 10000001 */ b .L0f088e7c +/* f088e78: 24030001 */ addiu $v1,$zero,0x1 +.L0f088e7c: +/* f088e7c: 8d29a024 */ lw $t1,%lo(g_Vars+0x64)($t1) +/* f088e80: 11200003 */ beqz $t1,.L0f088e90 +/* f088e84: 00000000 */ nop +/* f088e88: 10000001 */ b .L0f088e90 +/* f088e8c: 24040001 */ addiu $a0,$zero,0x1 +.L0f088e90: +/* f088e90: 8d4aa030 */ lw $t2,%lo(g_Vars+0x70)($t2) +/* f088e94: 11400003 */ beqz $t2,.L0f088ea4 +/* f088e98: 00000000 */ nop +/* f088e9c: 10000001 */ b .L0f088ea4 +/* f088ea0: 24060001 */ addiu $a2,$zero,0x1 +.L0f088ea4: +/* f088ea4: 00c45821 */ addu $t3,$a2,$a0 +/* f088ea8: 01636821 */ addu $t5,$t3,$v1 +/* f088eac: 01a51021 */ addu $v0,$t5,$a1 +/* f088eb0: 28410003 */ slti $at,$v0,0x3 +/* f088eb4: 10200010 */ beqz $at,.L0f088ef8 +/* f088eb8: 24010002 */ addiu $at,$zero,0x2 +/* f088ebc: 1441000a */ bne $v0,$at,.L0f088ee8 +/* f088ec0: 00000000 */ nop +/* f088ec4: 0fc54bcd */ jal optionsGetScreenSplit +/* f088ec8: 00000000 */ nop +/* f088ecc: 24010001 */ addiu $at,$zero,0x1 +/* f088ed0: 10410009 */ beq $v0,$at,.L0f088ef8 +/* f088ed4: 3c0c8009 */ lui $t4,%hi(g_Is4Mb) +/* f088ed8: 918c0af0 */ lbu $t4,%lo(g_Is4Mb)($t4) +/* f088edc: 24010001 */ addiu $at,$zero,0x1 +/* f088ee0: 11810005 */ beq $t4,$at,.L0f088ef8 +/* f088ee4: 00000000 */ nop +.L0f088ee8: +/* f088ee8: 0fc5b9f1 */ jal langGet +/* f088eec: 24045229 */ addiu $a0,$zero,0x5226 +/* f088ef0: 10000004 */ b .L0f088f04 +/* f088ef4: 00402025 */ or $a0,$v0,$zero +.L0f088ef8: +/* f088ef8: 0fc5b9f1 */ jal langGet +/* f088efc: 2404522a */ addiu $a0,$zero,0x5227 +/* f088f00: 00402025 */ or $a0,$v0,$zero +.L0f088f04: +/* f088f04: 00002825 */ or $a1,$zero,$zero +/* f088f08: 0fc377e9 */ jal func0f0ddfa4 +/* f088f0c: 24060001 */ addiu $a2,$zero,0x1 +/* f088f10: 240e0001 */ addiu $t6,$zero,0x1 +.L0f088f14: +/* f088f14: afae0098 */ sw $t6,0x98($sp) +/* f088f18: 10000022 */ b .L0f088fa4 +/* f088f1c: 24020001 */ addiu $v0,$zero,0x1 +.L0f088f20: +/* f088f20: 8d0f04cc */ lw $t7,0x4cc($t0) +/* f088f24: 3c048009 */ lui $a0,%hi(var80095200) +/* f088f28: 240500e5 */ addiu $a1,$zero,0xe5 +/* f088f2c: 15e0000d */ bnez $t7,.L0f088f64 +/* f088f30: 00003025 */ or $a2,$zero,$zero +/* f088f34: 3c01bf80 */ lui $at,0xbf80 +/* f088f38: 44814000 */ mtc1 $at,$f8 +/* f088f3c: 2418ffff */ addiu $t8,$zero,-1 +/* f088f40: 2419ffff */ addiu $t9,$zero,-1 +/* f088f44: 2409ffff */ addiu $t1,$zero,-1 +/* f088f48: afa9001c */ sw $t1,0x1c($sp) +/* f088f4c: afb90018 */ sw $t9,0x18($sp) +/* f088f50: afb80010 */ sw $t8,0x10($sp) +/* f088f54: 8c845200 */ lw $a0,%lo(var80095200)($a0) +/* f088f58: 2407ffff */ addiu $a3,$zero,-1 +/* f088f5c: 0c004241 */ jal audioStart +/* f088f60: e7a80014 */ swc1 $f8,0x14($sp) +.L0f088f64: +/* f088f64: 8faa00a4 */ lw $t2,0xa4($sp) +/* f088f68: 5140000c */ beqzl $t2,.L0f088f9c +/* f088f6c: 240b0004 */ addiu $t3,$zero,0x4 +/* f088f70: 0fc44bfb */ jal invGetActivatedTextByObj +/* f088f74: 8fa4009c */ lw $a0,0x9c($sp) +/* f088f78: 14400004 */ bnez $v0,.L0f088f8c +/* f088f7c: 00402025 */ or $a0,$v0,$zero +/* f088f80: 0fc5b9f1 */ jal langGet +/* f088f84: 2404522b */ addiu $a0,$zero,0x5228 +/* f088f88: 00402025 */ or $a0,$v0,$zero +.L0f088f8c: +/* f088f8c: 00002825 */ or $a1,$zero,$zero +/* f088f90: 0fc377e9 */ jal func0f0ddfa4 +/* f088f94: 24060009 */ addiu $a2,$zero,0x9 +/* f088f98: 240b0004 */ addiu $t3,$zero,0x4 +.L0f088f9c: +/* f088f9c: afab0098 */ sw $t3,0x98($sp) +/* f088fa0: 24020004 */ addiu $v0,$zero,0x4 +.L0f088fa4: +/* f088fa4: 24010001 */ addiu $at,$zero,0x1 +/* f088fa8: 1441000d */ bne $v0,$at,.L0f088fe0 +/* f088fac: 8fad009c */ lw $t5,0x9c($sp) +/* f088fb0: 8dac0040 */ lw $t4,0x40($t5) +/* f088fb4: 318e0010 */ andi $t6,$t4,0x10 +/* f088fb8: 15c00009 */ bnez $t6,.L0f088fe0 +/* f088fbc: 00000000 */ nop +/* f088fc0: 91a60002 */ lbu $a2,0x2($t5) +/* f088fc4: 01a02025 */ or $a0,$t5,$zero +/* f088fc8: 00002825 */ or $a1,$zero,$zero +/* f088fcc: 30cf0004 */ andi $t7,$a2,0x4 +/* f088fd0: 0fc1ab4b */ jal func0f06ad2c +/* f088fd4: 01e03025 */ or $a2,$t7,$zero +/* f088fd8: 1000000a */ b .L0f089004 +/* f088fdc: 24020001 */ addiu $v0,$zero,0x1 +.L0f088fe0: +/* f088fe0: 10400007 */ beqz $v0,.L0f089000 +/* f088fe4: 8fb80094 */ lw $t8,0x94($sp) +/* f088fe8: 17000003 */ bnez $t8,.L0f088ff8 +/* f088fec: 00000000 */ nop +/* f088ff0: 0fc447f3 */ jal invGiveProp +/* f088ff4: 8fa400a0 */ lw $a0,0xa0($sp) +.L0f088ff8: +/* f088ff8: 10000002 */ b .L0f089004 +/* f088ffc: 24020004 */ addiu $v0,$zero,0x4 +.L0f089000: +/* f089000: 00001025 */ or $v0,$zero,$zero +.L0f089004: +/* f089004: 8fbf0024 */ lw $ra,0x24($sp) +/* f089008: 27bd00a0 */ addiu $sp,$sp,0xa0 +/* f08900c: 03e00008 */ jr $ra +/* f089010: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f088840 .late_rodata @@ -51950,6 +56290,7 @@ glabel var7f1aae70 /* f08900c: 03e00008 */ jr $ra /* f089010: 00000000 */ nop ); +#endif //u32 func0f088840(struct prop *prop, bool showhudmsg) //{ @@ -57953,7 +62294,7 @@ void doorPrepareForOpen(struct doorobj *door) } } - door->fadetime60 = door->doortype == DOORTYPE_LASER ? 60 : 0; + door->fadetime60 = door->doortype == DOORTYPE_LASER ? PALDOWN(60) : 0; if (door->doortype == DOORTYPE_LASER) { door->laserfade = 255; @@ -57970,7 +62311,7 @@ void doorPrepareForClose(struct doorobj *door) func0f08daa8(door->soundtype, door->base.prop); - door->fadetime60 = door->doortype == DOORTYPE_LASER ? 60 : 0; + door->fadetime60 = door->doortype == DOORTYPE_LASER ? PALDOWN(60) : 0; if (door->doortype == DOORTYPE_LASER) { door->laserfade = 0; @@ -57979,7 +62320,7 @@ void doorPrepareForClose(struct doorobj *door) u32 decodeXorAaaaaaaa(u32 value) { - return value ^ 0xaaaaaaaa; + return value ^ (PAL ? 0x18743082 : 0xaaaaaaaa); } void func0f08e224(struct doorobj *door) @@ -58032,7 +62373,7 @@ void func0f08e2ac(struct doorobj *door) } #if PIRACYCHECKS - if (osCicId != decodeXorAaaaaaaa(6105 ^ 0xaaaaaaaa)) { + if (osCicId != decodeXorAaaaaaaa(PAL ? (6105 ^ 0x18743082) : (6105 ^ 0xaaaaaaaa))) { u32 *ptr = (u32 *)func0f08f968; ptr[0] = 0x00001025; // li v0, 0 ptr[1] = 0x03e00008; // jr ra @@ -58645,6 +62986,270 @@ glabel func0f08ea50 /* f08ed70: 27bd00e8 */ addiu $sp,$sp,0xe8 ); +#if PAL +GLOBAL_ASM( +glabel func0f08ed74 +/* f08ed74: 27bdffc0 */ addiu $sp,$sp,-64 +/* f08ed78: afbf0034 */ sw $ra,0x34($sp) +/* f08ed7c: afb30030 */ sw $s3,0x30($sp) +/* f08ed80: afb2002c */ sw $s2,0x2c($sp) +/* f08ed84: afb10028 */ sw $s1,0x28($sp) +/* f08ed88: afb00024 */ sw $s0,0x24($sp) +/* f08ed8c: f7b40018 */ sdc1 $f20,0x18($sp) +/* f08ed90: 948e0072 */ lhu $t6,0x72($a0) +/* f08ed94: 2401000b */ addiu $at,$zero,0xb +/* f08ed98: 00808825 */ or $s1,$a0,$zero +/* f08ed9c: 15c1006a */ bne $t6,$at,.L0f08ef48 +/* f08eda0: 00002825 */ or $a1,$zero,$zero +/* f08eda4: 808300c7 */ lb $v1,0xc7($a0) +/* f08eda8: 3c13800a */ lui $s3,%hi(g_Vars) +/* f08edac: 26739fc0 */ addiu $s3,$s3,%lo(g_Vars) +/* f08edb0: 50600066 */ beqzl $v1,.L0f08ef4c +/* f08edb4: 82220084 */ lb $v0,0x84($s1) +/* f08edb8: 8e6f0038 */ lw $t7,0x38($s3) +/* f08edbc: 00001025 */ or $v0,$zero,$zero +/* f08edc0: 006fc023 */ subu $t8,$v1,$t7 +/* f08edc4: a09800c7 */ sb $t8,0xc7($a0) +/* f08edc8: 808300c7 */ lb $v1,0xc7($a0) +/* f08edcc: 04630004 */ bgezl $v1,.L0f08ede0 +/* f08edd0: 82390084 */ lb $t9,0x84($s1) +/* f08edd4: a08000c7 */ sb $zero,0xc7($a0) +/* f08edd8: 808300c7 */ lb $v1,0xc7($a0) +/* f08eddc: 82390084 */ lb $t9,0x84($s1) +.L0f08ede0: +/* f08ede0: 24040001 */ addiu $a0,$zero,0x1 +/* f08ede4: 5499002d */ bnel $a0,$t9,.L0f08ee9c +/* f08ede8: 44832000 */ mtc1 $v1,$f4 +/* f08edec: 44832000 */ mtc1 $v1,$f4 +/* f08edf0: 3c014270 */ lui $at,0x4248 +/* f08edf4: 44810000 */ mtc1 $at,$f0 +/* f08edf8: 468021a0 */ cvt.s.w $f6,$f4 +/* f08edfc: 3c01437f */ lui $at,0x437f +/* f08ee00: 44814000 */ mtc1 $at,$f8 +/* f08ee04: 24090001 */ addiu $t1,$zero,0x1 +/* f08ee08: 3c014f00 */ lui $at,0x4f00 +/* f08ee0c: 46083282 */ mul.s $f10,$f6,$f8 +/* f08ee10: 46005403 */ div.s $f16,$f10,$f0 +/* f08ee14: 4448f800 */ cfc1 $t0,$31 +/* f08ee18: 44c9f800 */ ctc1 $t1,$31 +/* f08ee1c: 00000000 */ nop +/* f08ee20: 460084a4 */ cvt.w.s $f18,$f16 +/* f08ee24: 4449f800 */ cfc1 $t1,$31 +/* f08ee28: 00000000 */ nop +/* f08ee2c: 31290078 */ andi $t1,$t1,0x78 +/* f08ee30: 51200013 */ beqzl $t1,.L0f08ee80 +/* f08ee34: 44099000 */ mfc1 $t1,$f18 +/* f08ee38: 44819000 */ mtc1 $at,$f18 +/* f08ee3c: 24090001 */ addiu $t1,$zero,0x1 +/* f08ee40: 46128481 */ sub.s $f18,$f16,$f18 +/* f08ee44: 44c9f800 */ ctc1 $t1,$31 +/* f08ee48: 00000000 */ nop +/* f08ee4c: 460094a4 */ cvt.w.s $f18,$f18 +/* f08ee50: 4449f800 */ cfc1 $t1,$31 +/* f08ee54: 00000000 */ nop +/* f08ee58: 31290078 */ andi $t1,$t1,0x78 +/* f08ee5c: 15200005 */ bnez $t1,.L0f08ee74 +/* f08ee60: 00000000 */ nop +/* f08ee64: 44099000 */ mfc1 $t1,$f18 +/* f08ee68: 3c018000 */ lui $at,0x8000 +/* f08ee6c: 10000007 */ b .L0f08ee8c +/* f08ee70: 01214825 */ or $t1,$t1,$at +.L0f08ee74: +/* f08ee74: 10000005 */ b .L0f08ee8c +/* f08ee78: 2409ffff */ addiu $t1,$zero,-1 +/* f08ee7c: 44099000 */ mfc1 $t1,$f18 +.L0f08ee80: +/* f08ee80: 00000000 */ nop +/* f08ee84: 0520fffb */ bltz $t1,.L0f08ee74 +/* f08ee88: 00000000 */ nop +.L0f08ee8c: +/* f08ee8c: 44c8f800 */ ctc1 $t0,$31 +/* f08ee90: 1000009a */ b .L0f08f0fc +/* f08ee94: a22900cc */ sb $t1,0xcc($s1) +/* f08ee98: 44832000 */ mtc1 $v1,$f4 +.L0f08ee9c: +/* f08ee9c: 3c014270 */ lui $at,0x4248 +/* f08eea0: 44810000 */ mtc1 $at,$f0 +/* f08eea4: 468021a0 */ cvt.s.w $f6,$f4 +/* f08eea8: 3c01437f */ lui $at,0x437f +/* f08eeac: 44815000 */ mtc1 $at,$f10 +/* f08eeb0: 240b0001 */ addiu $t3,$zero,0x1 +/* f08eeb4: 3c014f00 */ lui $at,0x4f00 +/* f08eeb8: 46060201 */ sub.s $f8,$f0,$f6 +/* f08eebc: 460a4402 */ mul.s $f16,$f8,$f10 +/* f08eec0: 46008483 */ div.s $f18,$f16,$f0 +/* f08eec4: 444af800 */ cfc1 $t2,$31 +/* f08eec8: 44cbf800 */ ctc1 $t3,$31 +/* f08eecc: 00000000 */ nop +/* f08eed0: 46009124 */ cvt.w.s $f4,$f18 +/* f08eed4: 444bf800 */ cfc1 $t3,$31 +/* f08eed8: 00000000 */ nop +/* f08eedc: 316b0078 */ andi $t3,$t3,0x78 +/* f08eee0: 51600013 */ beqzl $t3,.L0f08ef30 +/* f08eee4: 440b2000 */ mfc1 $t3,$f4 +/* f08eee8: 44812000 */ mtc1 $at,$f4 +/* f08eeec: 240b0001 */ addiu $t3,$zero,0x1 +/* f08eef0: 46049101 */ sub.s $f4,$f18,$f4 +/* f08eef4: 44cbf800 */ ctc1 $t3,$31 +/* f08eef8: 00000000 */ nop +/* f08eefc: 46002124 */ cvt.w.s $f4,$f4 +/* f08ef00: 444bf800 */ cfc1 $t3,$31 +/* f08ef04: 00000000 */ nop +/* f08ef08: 316b0078 */ andi $t3,$t3,0x78 +/* f08ef0c: 15600005 */ bnez $t3,.L0f08ef24 +/* f08ef10: 00000000 */ nop +/* f08ef14: 440b2000 */ mfc1 $t3,$f4 +/* f08ef18: 3c018000 */ lui $at,0x8000 +/* f08ef1c: 10000007 */ b .L0f08ef3c +/* f08ef20: 01615825 */ or $t3,$t3,$at +.L0f08ef24: +/* f08ef24: 10000005 */ b .L0f08ef3c +/* f08ef28: 240bffff */ addiu $t3,$zero,-1 +/* f08ef2c: 440b2000 */ mfc1 $t3,$f4 +.L0f08ef30: +/* f08ef30: 00000000 */ nop +/* f08ef34: 0560fffb */ bltz $t3,.L0f08ef24 +/* f08ef38: 00000000 */ nop +.L0f08ef3c: +/* f08ef3c: 44caf800 */ ctc1 $t2,$31 +/* f08ef40: a22b00cc */ sb $t3,0xcc($s1) +/* f08ef44: 00000000 */ nop +.L0f08ef48: +/* f08ef48: 82220084 */ lb $v0,0x84($s1) +.L0f08ef4c: +/* f08ef4c: 24040001 */ addiu $a0,$zero,0x1 +/* f08ef50: 3c13800a */ lui $s3,%hi(g_Vars) +/* f08ef54: 10820004 */ beq $a0,$v0,.L0f08ef68 +/* f08ef58: 26739fc0 */ addiu $s3,$s3,%lo(g_Vars) +/* f08ef5c: 24010002 */ addiu $at,$zero,0x2 +/* f08ef60: 54410066 */ bnel $v0,$at,.L0f08f0fc +/* f08ef64: 00a01025 */ or $v0,$a1,$zero +.L0f08ef68: +/* f08ef68: 54820005 */ bnel $a0,$v0,.L0f08ef80 +/* f08ef6c: 44804000 */ mtc1 $zero,$f8 +/* f08ef70: c626005c */ lwc1 $f6,0x5c($s1) +/* f08ef74: 10000004 */ b .L0f08ef88 +/* f08ef78: e7a60038 */ swc1 $f6,0x38($sp) +/* f08ef7c: 44804000 */ mtc1 $zero,$f8 +.L0f08ef80: +/* f08ef80: 00000000 */ nop +/* f08ef84: e7a80038 */ swc1 $f8,0x38($sp) +.L0f08ef88: +/* f08ef88: 8e2c0010 */ lw $t4,0x10($s1) +/* f08ef8c: 318d0004 */ andi $t5,$t4,0x4 +/* f08ef90: 51a00042 */ beqzl $t5,.L0f08f09c +/* f08ef94: c62a0068 */ lwc1 $f10,0x68($s1) +/* f08ef98: 0c004b70 */ jal random +/* f08ef9c: 00000000 */ nop +/* f08efa0: 304f003f */ andi $t7,$v0,0x3f +/* f08efa4: 8e6e000c */ lw $t6,0xc($s3) +/* f08efa8: 25f8001e */ addiu $t8,$t7,0x1e +/* f08efac: 00009025 */ or $s2,$zero,$zero +/* f08efb0: 01d8001a */ div $zero,$t6,$t8 +/* f08efb4: 0000c810 */ mfhi $t9 +/* f08efb8: 17000002 */ bnez $t8,.L0f08efc4 +/* f08efbc: 00000000 */ nop +/* f08efc0: 0007000d */ break 0x7 +.L0f08efc4: +/* f08efc4: 2401ffff */ addiu $at,$zero,-1 +/* f08efc8: 17010004 */ bne $t8,$at,.L0f08efdc +/* f08efcc: 3c018000 */ lui $at,0x8000 +/* f08efd0: 15c10002 */ bne $t6,$at,.L0f08efdc +/* f08efd4: 00000000 */ nop +/* f08efd8: 0006000d */ break 0x6 +.L0f08efdc: +/* f08efdc: 5720002f */ bnezl $t9,.L0f08f09c +/* f08efe0: c62a0068 */ lwc1 $f10,0x68($s1) +/* f08efe4: 4480a000 */ mtc1 $zero,$f20 +/* f08efe8: 02202025 */ or $a0,$s1,$zero +/* f08efec: 0fc23a94 */ jal func0f08ea50 +/* f08eff0: e6340080 */ swc1 $f20,0x80($s1) +/* f08eff4: 0c004b70 */ jal random +/* f08eff8: 00000000 */ nop +/* f08effc: 30480001 */ andi $t0,$v0,0x1 +/* f08f000: 11000008 */ beqz $t0,.L0f08f024 +/* f08f004: 2405000c */ addiu $a1,$zero,0xc +/* f08f008: 24120001 */ addiu $s2,$zero,0x1 +/* f08f00c: 8e240014 */ lw $a0,0x14($s1) +/* f08f010: 0fc249af */ jal func0f0926bc +/* f08f014: 3406ffff */ dli $a2,0xffff +/* f08f018: a2200084 */ sb $zero,0x84($s1) +/* f08f01c: 8e690008 */ lw $t1,0x8($s3) +/* f08f020: ae2900c0 */ sw $t1,0xc0($s1) +.L0f08f024: +/* f08f024: 12200019 */ beqz $s1,.L0f08f08c +/* f08f028: 02208025 */ or $s0,$s1,$zero +.L0f08f02c: +/* f08f02c: 0c004b70 */ jal random +/* f08f030: 00000000 */ nop +/* f08f034: 304a0001 */ andi $t2,$v0,0x1 +/* f08f038: 51400010 */ beqzl $t2,.L0f08f07c +/* f08f03c: 8e1000bc */ lw $s0,0xbc($s0) +/* f08f040: 820b0084 */ lb $t3,0x84($s0) +/* f08f044: 02002025 */ or $a0,$s0,$zero +/* f08f048: 5160000c */ beqzl $t3,.L0f08f07c +/* f08f04c: 8e1000bc */ lw $s0,0xbc($s0) +/* f08f050: 0fc23a94 */ jal func0f08ea50 +/* f08f054: e6140080 */ swc1 $f20,0x80($s0) +/* f08f058: 12400007 */ beqz $s2,.L0f08f078 +/* f08f05c: 2405000c */ addiu $a1,$zero,0xc +/* f08f060: 8e040014 */ lw $a0,0x14($s0) +/* f08f064: 0fc249af */ jal func0f0926bc +/* f08f068: 3406ffff */ dli $a2,0xffff +/* f08f06c: a2000084 */ sb $zero,0x84($s0) +/* f08f070: 8e6c0008 */ lw $t4,0x8($s3) +/* f08f074: ae0c00c0 */ sw $t4,0xc0($s0) +.L0f08f078: +/* f08f078: 8e1000bc */ lw $s0,0xbc($s0) +.L0f08f07c: +/* f08f07c: 52110004 */ beql $s0,$s1,.L0f08f090 +/* f08f080: 822400c6 */ lb $a0,0xc6($s1) +/* f08f084: 1600ffe9 */ bnez $s0,.L0f08f02c +/* f08f088: 00000000 */ nop +.L0f08f08c: +/* f08f08c: 822400c6 */ lb $a0,0xc6($s1) +.L0f08f090: +/* f08f090: 0fc237c4 */ jal func0f08df10 +/* f08f094: 8e250014 */ lw $a1,0x14($s1) +/* f08f098: c62a0068 */ lwc1 $f10,0x68($s1) +.L0f08f09c: +/* f08f09c: 8e270064 */ lw $a3,0x64($s1) +/* f08f0a0: 4480a000 */ mtc1 $zero,$f20 +/* f08f0a4: e7aa0010 */ swc1 $f10,0x10($sp) +/* f08f0a8: c630006c */ lwc1 $f16,0x6c($s1) +/* f08f0ac: 2624007c */ addiu $a0,$s1,0x7c +/* f08f0b0: 8fa50038 */ lw $a1,0x38($sp) +/* f08f0b4: 26260080 */ addiu $a2,$s1,0x80 +/* f08f0b8: 0fc1b643 */ jal func0f06d90c +/* f08f0bc: e7b00014 */ swc1 $f16,0x14($sp) +/* f08f0c0: c622007c */ lwc1 $f2,0x7c($s1) +/* f08f0c4: c620005c */ lwc1 $f0,0x5c($s1) +/* f08f0c8: 24050001 */ addiu $a1,$zero,0x1 +/* f08f0cc: 4602003e */ c.le.s $f0,$f2 +/* f08f0d0: 00000000 */ nop +/* f08f0d4: 45020004 */ bc1fl .L0f08f0e8 +/* f08f0d8: 4614103e */ c.le.s $f2,$f20 +/* f08f0dc: 10000006 */ b .L0f08f0f8 +/* f08f0e0: e620007c */ swc1 $f0,0x7c($s1) +/* f08f0e4: 4614103e */ c.le.s $f2,$f20 +.L0f08f0e8: +/* f08f0e8: 00000000 */ nop +/* f08f0ec: 45000002 */ bc1f .L0f08f0f8 +/* f08f0f0: 00000000 */ nop +/* f08f0f4: e634007c */ swc1 $f20,0x7c($s1) +.L0f08f0f8: +/* f08f0f8: 00a01025 */ or $v0,$a1,$zero +.L0f08f0fc: +/* f08f0fc: 8fbf0034 */ lw $ra,0x34($sp) +/* f08f100: d7b40018 */ ldc1 $f20,0x18($sp) +/* f08f104: 8fb00024 */ lw $s0,0x24($sp) +/* f08f108: 8fb10028 */ lw $s1,0x28($sp) +/* f08f10c: 8fb2002c */ lw $s2,0x2c($sp) +/* f08f110: 8fb30030 */ lw $s3,0x30($sp) +/* f08f114: 03e00008 */ jr $ra +/* f08f118: 27bd0040 */ addiu $sp,$sp,0x40 +); +#else GLOBAL_ASM( glabel func0f08ed74 /* f08ed74: 27bdffc0 */ addiu $sp,$sp,-64 @@ -58907,6 +63512,7 @@ glabel func0f08ed74 /* f08f114: 03e00008 */ jr $ra /* f08f118: 27bd0040 */ addiu $sp,$sp,0x40 ); +#endif //bool func0f08ed74(struct doorobj *door) //{ @@ -58991,6 +63597,305 @@ glabel func0f08ed74 // return result; //} +#if PAL +GLOBAL_ASM( +glabel doorDoCalc +/* f08f11c: 27bdffc8 */ addiu $sp,$sp,-56 +/* f08f120: afb30028 */ sw $s3,0x28($sp) +/* f08f124: afb20024 */ sw $s2,0x24($sp) +/* f08f128: afb0001c */ sw $s0,0x1c($sp) +/* f08f12c: 00809025 */ or $s2,$a0,$zero +/* f08f130: afbf002c */ sw $ra,0x2c($sp) +/* f08f134: afb10020 */ sw $s1,0x20($sp) +/* f08f138: f7b40010 */ sdc1 $f20,0x10($sp) +/* f08f13c: afa00034 */ sw $zero,0x34($sp) +/* f08f140: 24130001 */ addiu $s3,$zero,0x1 +/* f08f144: 10800010 */ beqz $a0,.L0f08f188 +/* f08f148: 00808025 */ or $s0,$a0,$zero +/* f08f14c: c604007c */ lwc1 $f4,0x7c($s0) +.L0f08f150: +/* f08f150: 02002025 */ or $a0,$s0,$zero +/* f08f154: 0fc23b5d */ jal func0f08ed74 +/* f08f158: e60400c8 */ swc1 $f4,0xc8($s0) +/* f08f15c: 10400002 */ beqz $v0,.L0f08f168 +/* f08f160: 240e0001 */ addiu $t6,$zero,0x1 +/* f08f164: afae0034 */ sw $t6,0x34($sp) +.L0f08f168: +/* f08f168: 8e1000bc */ lw $s0,0xbc($s0) +/* f08f16c: 16120003 */ bne $s0,$s2,.L0f08f17c +/* f08f170: 00000000 */ nop +/* f08f174: 10000004 */ b .L0f08f188 +/* f08f178: 02408025 */ or $s0,$s2,$zero +.L0f08f17c: +/* f08f17c: 5600fff4 */ bnezl $s0,.L0f08f150 +/* f08f180: c604007c */ lwc1 $f4,0x7c($s0) +/* f08f184: 02408025 */ or $s0,$s2,$zero +.L0f08f188: +/* f08f188: 8faf0034 */ lw $t7,0x34($sp) +/* f08f18c: 11e00073 */ beqz $t7,.L0f08f35c +/* f08f190: 00000000 */ nop +/* f08f194: 12400071 */ beqz $s2,.L0f08f35c +/* f08f198: 00000000 */ nop +.L0f08f19c: +/* f08f19c: 0fc23153 */ jal func0f08c54c +/* f08f1a0: 02002025 */ or $a0,$s0,$zero +/* f08f1a4: 0fc248f5 */ jal func0f0923d4 +/* f08f1a8: 02002025 */ or $a0,$s0,$zero +/* f08f1ac: 96580070 */ lhu $t8,0x70($s2) +/* f08f1b0: 8e110014 */ lw $s1,0x14($s0) +/* f08f1b4: 33190800 */ andi $t9,$t8,0x800 +/* f08f1b8: 13200005 */ beqz $t9,.L0f08f1d0 +/* f08f1bc: 02202025 */ or $a0,$s1,$zero +/* f08f1c0: 82080084 */ lb $t0,0x84($s0) +/* f08f1c4: 24010002 */ addiu $at,$zero,0x2 +/* f08f1c8: 5501005d */ bnel $t0,$at,.L0f08f340 +/* f08f1cc: 8e1000bc */ lw $s0,0xbc($s0) +.L0f08f1d0: +/* f08f1d0: 0fc1905e */ jal propSetCollisionsEnabled +/* f08f1d4: 00002825 */ or $a1,$zero,$zero +/* f08f1d8: 8e040044 */ lw $a0,0x44($s0) +/* f08f1dc: 26250028 */ addiu $a1,$s1,0x28 +/* f08f1e0: 0c00b931 */ jal func0002e4c4 +/* f08f1e4: 2406041d */ addiu $a2,$zero,0x41d +/* f08f1e8: 00409825 */ or $s3,$v0,$zero +/* f08f1ec: 02202025 */ or $a0,$s1,$zero +/* f08f1f0: 0fc1905e */ jal propSetCollisionsEnabled +/* f08f1f4: 24050001 */ addiu $a1,$zero,0x1 +/* f08f1f8: 56600051 */ bnezl $s3,.L0f08f340 +/* f08f1fc: 8e1000bc */ lw $s0,0xbc($s0) +/* f08f200: 0c0093ac */ jal cdGetObstacle +/* f08f204: 00000000 */ nop +/* f08f208: 1040004a */ beqz $v0,.L0f08f334 +/* f08f20c: 00000000 */ nop +/* f08f210: 90490000 */ lbu $t1,0x0($v0) +/* f08f214: 24010003 */ addiu $at,$zero,0x3 +/* f08f218: 15210046 */ bne $t1,$at,.L0f08f334 +/* f08f21c: 00000000 */ nop +/* f08f220: 8c510004 */ lw $s1,0x4($v0) +/* f08f224: 3c0c800a */ lui $t4,%hi(g_Vars+0x318) +/* f08f228: 8e2a0014 */ lw $t2,0x14($s1) +/* f08f22c: 354b0010 */ ori $t3,$t2,0x10 +/* f08f230: ae2b0014 */ sw $t3,0x14($s1) +/* f08f234: 8d8ca2d8 */ lw $t4,%lo(g_Vars+0x318)($t4) +/* f08f238: 000b7240 */ sll $t6,$t3,0x9 +/* f08f23c: 1580003d */ bnez $t4,.L0f08f334 +/* f08f240: 00000000 */ nop +/* f08f244: 05c1003b */ bgez $t6,.L0f08f334 +/* f08f248: 00001825 */ or $v1,$zero,$zero +/* f08f24c: 1200000c */ beqz $s0,.L0f08f280 +/* f08f250: 02001025 */ or $v0,$s0,$zero +/* f08f254: 8c4f0040 */ lw $t7,0x40($v0) +.L0f08f258: +/* f08f258: 31f80001 */ andi $t8,$t7,0x1 +/* f08f25c: 53000004 */ beqzl $t8,.L0f08f270 +/* f08f260: 8c4200bc */ lw $v0,0xbc($v0) +/* f08f264: 10000006 */ b .L0f08f280 +/* f08f268: 24030001 */ addiu $v1,$zero,0x1 +/* f08f26c: 8c4200bc */ lw $v0,0xbc($v0) +.L0f08f270: +/* f08f270: 10500003 */ beq $v0,$s0,.L0f08f280 +/* f08f274: 00000000 */ nop +/* f08f278: 5440fff7 */ bnezl $v0,.L0f08f258 +/* f08f27c: 8c4f0040 */ lw $t7,0x40($v0) +.L0f08f280: +/* f08f280: 1060002c */ beqz $v1,.L0f08f334 +/* f08f284: 00000000 */ nop +/* f08f288: 82220007 */ lb $v0,0x7($s1) +/* f08f28c: 24010001 */ addiu $at,$zero,0x1 +/* f08f290: 1041000d */ beq $v0,$at,.L0f08f2c8 +/* f08f294: 24010008 */ addiu $at,$zero,0x8 +/* f08f298: 14410005 */ bne $v0,$at,.L0f08f2b0 +/* f08f29c: 2410000f */ addiu $s0,$zero,0xf +/* f08f2a0: 8e39004c */ lw $t9,0x4c($s1) +/* f08f2a4: 33280040 */ andi $t0,$t9,0x40 +/* f08f2a8: 15000007 */ bnez $t0,.L0f08f2c8 +/* f08f2ac: 00000000 */ nop +.L0f08f2b0: +/* f08f2b0: 56020012 */ bnel $s0,$v0,.L0f08f2fc +/* f08f2b4: 822a0007 */ lb $t2,0x7($s1) +/* f08f2b8: 0fc0b819 */ jal func0f02e064 +/* f08f2bc: 02202025 */ or $a0,$s1,$zero +/* f08f2c0: 5040000e */ beqzl $v0,.L0f08f2fc +/* f08f2c4: 822a0007 */ lb $t2,0x7($s1) +.L0f08f2c8: +/* f08f2c8: 0fc0a221 */ jal chrGetTargetProp +/* f08f2cc: 02202025 */ or $a0,$s1,$zero +/* f08f2d0: 02202025 */ or $a0,$s1,$zero +/* f08f2d4: 24450008 */ addiu $a1,$v0,0x8 +/* f08f2d8: 24460028 */ addiu $a2,$v0,0x28 +/* f08f2dc: 0fc0e10f */ jal chrGoToPos +/* f08f2e0: 00003825 */ or $a3,$zero,$zero +/* f08f2e4: 10400013 */ beqz $v0,.L0f08f334 +/* f08f2e8: 24090258 */ addiu $t1,$zero,0x1f4 +/* f08f2ec: a629019e */ sh $t1,0x19e($s1) +/* f08f2f0: 1000001a */ b .L0f08f35c +/* f08f2f4: 02408025 */ or $s0,$s2,$zero +/* f08f2f8: 822a0007 */ lb $t2,0x7($s1) +.L0f08f2fc: +/* f08f2fc: 160a000d */ bne $s0,$t2,.L0f08f334 +/* f08f300: 00000000 */ nop +/* f08f304: 862b019e */ lh $t3,0x19e($s1) +/* f08f308: 3c0d800a */ lui $t5,%hi(g_Vars+0x8) +/* f08f30c: 240f0258 */ addiu $t7,$zero,0x1f4 +/* f08f310: 05630008 */ bgezl $t3,.L0f08f334 +/* f08f314: a62f019e */ sh $t7,0x19e($s1) +/* f08f318: 8dad9fc8 */ lw $t5,%lo(g_Vars+0x8)($t5) +/* f08f31c: 8e2c00d8 */ lw $t4,0xd8($s1) +/* f08f320: 25aeffc4 */ addiu $t6,$t5,-50 +/* f08f324: 018e082a */ slt $at,$t4,$t6 +/* f08f328: 10200002 */ beqz $at,.L0f08f334 +/* f08f32c: 00000000 */ nop +/* f08f330: a62f019e */ sh $t7,0x19e($s1) +.L0f08f334: +/* f08f334: 10000009 */ b .L0f08f35c +/* f08f338: 02408025 */ or $s0,$s2,$zero +/* f08f33c: 8e1000bc */ lw $s0,0xbc($s0) +.L0f08f340: +/* f08f340: 16120003 */ bne $s0,$s2,.L0f08f350 +/* f08f344: 00000000 */ nop +/* f08f348: 10000004 */ b .L0f08f35c +/* f08f34c: 02408025 */ or $s0,$s2,$zero +.L0f08f350: +/* f08f350: 1600ff92 */ bnez $s0,.L0f08f19c +/* f08f354: 00000000 */ nop +/* f08f358: 02408025 */ or $s0,$s2,$zero +.L0f08f35c: +/* f08f35c: 52400045 */ beqzl $s2,.L0f08f474 +/* f08f360: 8fa90034 */ lw $t1,0x34($sp) +/* f08f364: 4480a000 */ mtc1 $zero,$f20 +/* f08f368: 00000000 */ nop +/* f08f36c: 8fb80034 */ lw $t8,0x34($sp) +.L0f08f370: +/* f08f370: 13000035 */ beqz $t8,.L0f08f448 +/* f08f374: 00000000 */ nop +/* f08f378: 12600029 */ beqz $s3,.L0f08f420 +/* f08f37c: 02002025 */ or $a0,$s0,$zero +/* f08f380: 82020084 */ lb $v0,0x84($s0) +/* f08f384: 24010001 */ addiu $at,$zero,0x1 +/* f08f388: 54410011 */ bnel $v0,$at,.L0f08f3d0 +/* f08f38c: 24010002 */ addiu $at,$zero,0x2 +/* f08f390: c606007c */ lwc1 $f6,0x7c($s0) +/* f08f394: c608005c */ lwc1 $f8,0x5c($s0) +/* f08f398: 3c19800a */ lui $t9,%hi(g_Vars+0x8) +/* f08f39c: 4606403e */ c.le.s $f8,$f6 +/* f08f3a0: 00000000 */ nop +/* f08f3a4: 45020017 */ bc1fl .L0f08f404 +/* f08f3a8: 02002025 */ or $a0,$s0,$zero +/* f08f3ac: a2000084 */ sb $zero,0x84($s0) +/* f08f3b0: e6140080 */ swc1 $f20,0x80($s0) +/* f08f3b4: 8f399fc8 */ lw $t9,%lo(g_Vars+0x8)($t9) +/* f08f3b8: 02002025 */ or $a0,$s0,$zero +/* f08f3bc: 0fc23889 */ jal func0f08e224 +/* f08f3c0: ae1900c0 */ sw $t9,0xc0($s0) +/* f08f3c4: 1000000f */ b .L0f08f404 +/* f08f3c8: 02002025 */ or $a0,$s0,$zero +/* f08f3cc: 24010002 */ addiu $at,$zero,0x2 +.L0f08f3d0: +/* f08f3d0: 5441000c */ bnel $v0,$at,.L0f08f404 +/* f08f3d4: 02002025 */ or $a0,$s0,$zero +/* f08f3d8: c60a007c */ lwc1 $f10,0x7c($s0) +/* f08f3dc: 02002025 */ or $a0,$s0,$zero +/* f08f3e0: 4614503e */ c.le.s $f10,$f20 +/* f08f3e4: 00000000 */ nop +/* f08f3e8: 45020006 */ bc1fl .L0f08f404 +/* f08f3ec: 02002025 */ or $a0,$s0,$zero +/* f08f3f0: a2000084 */ sb $zero,0x84($s0) +/* f08f3f4: e6140080 */ swc1 $f20,0x80($s0) +/* f08f3f8: 0fc238ab */ jal func0f08e2ac +/* f08f3fc: ae0000c0 */ sw $zero,0xc0($s0) +/* f08f400: 02002025 */ or $a0,$s0,$zero +.L0f08f404: +/* f08f404: 00002825 */ or $a1,$zero,$zero +/* f08f408: 0fc1a71c */ jal func0f069c70 +/* f08f40c: 00003025 */ or $a2,$zero,$zero +/* f08f410: 0fc234f7 */ jal func0f08d3dc +/* f08f414: 02002025 */ or $a0,$s0,$zero +/* f08f418: 1000000d */ b .L0f08f450 +/* f08f41c: 00000000 */ nop +.L0f08f420: +/* f08f420: c61000c8 */ lwc1 $f16,0xc8($s0) +/* f08f424: e6140080 */ swc1 $f20,0x80($s0) +/* f08f428: 0fc23153 */ jal func0f08c54c +/* f08f42c: e610007c */ swc1 $f16,0x7c($s0) +/* f08f430: 0fc248f5 */ jal func0f0923d4 +/* f08f434: 02002025 */ or $a0,$s0,$zero +/* f08f438: 0fc23518 */ jal func0f08d460 +/* f08f43c: 02002025 */ or $a0,$s0,$zero +/* f08f440: 10000003 */ b .L0f08f450 +/* f08f444: 00000000 */ nop +.L0f08f448: +/* f08f448: 0fc23518 */ jal func0f08d460 +/* f08f44c: 02002025 */ or $a0,$s0,$zero +.L0f08f450: +/* f08f450: 3c08800a */ lui $t0,%hi(g_Vars+0x8) +/* f08f454: 8d089fc8 */ lw $t0,%lo(g_Vars+0x8)($t0) +/* f08f458: ae0800c8 */ sw $t0,0xc8($s0) +/* f08f45c: 8e1000bc */ lw $s0,0xbc($s0) +/* f08f460: 52120004 */ beql $s0,$s2,.L0f08f474 +/* f08f464: 8fa90034 */ lw $t1,0x34($sp) +/* f08f468: 5600ffc1 */ bnezl $s0,.L0f08f370 +/* f08f46c: 8fb80034 */ lw $t8,0x34($sp) +/* f08f470: 8fa90034 */ lw $t1,0x34($sp) +.L0f08f474: +/* f08f474: 44800000 */ mtc1 $zero,$f0 +/* f08f478: 00003025 */ or $a2,$zero,$zero +/* f08f47c: 51200027 */ beqzl $t1,.L0f08f51c +/* f08f480: 8fbf002c */ lw $ra,0x2c($sp) +/* f08f484: 1240001a */ beqz $s2,.L0f08f4f0 +/* f08f488: 02408025 */ or $s0,$s2,$zero +/* f08f48c: 864400c4 */ lh $a0,0xc4($s2) +/* f08f490: 24030005 */ addiu $v1,$zero,0x5 +/* f08f494: 860a00c4 */ lh $t2,0xc4($s0) +.L0f08f498: +/* f08f498: 548a0011 */ bnel $a0,$t2,.L0f08f4e0 +/* f08f49c: 8e1000bc */ lw $s0,0xbc($s0) +/* f08f4a0: 96020072 */ lhu $v0,0x72($s0) +/* f08f4a4: 24c60001 */ addiu $a2,$a2,0x1 +/* f08f4a8: 50620004 */ beql $v1,$v0,.L0f08f4bc +/* f08f4ac: c612007c */ lwc1 $f18,0x7c($s0) +/* f08f4b0: 54620007 */ bnel $v1,$v0,.L0f08f4d0 +/* f08f4b4: c608007c */ lwc1 $f8,0x7c($s0) +/* f08f4b8: c612007c */ lwc1 $f18,0x7c($s0) +.L0f08f4bc: +/* f08f4bc: c604005c */ lwc1 $f4,0x5c($s0) +/* f08f4c0: 46049183 */ div.s $f6,$f18,$f4 +/* f08f4c4: 10000005 */ b .L0f08f4dc +/* f08f4c8: 46060000 */ add.s $f0,$f0,$f6 +/* f08f4cc: c608007c */ lwc1 $f8,0x7c($s0) +.L0f08f4d0: +/* f08f4d0: c60a005c */ lwc1 $f10,0x5c($s0) +/* f08f4d4: 460a4403 */ div.s $f16,$f8,$f10 +/* f08f4d8: 46100000 */ add.s $f0,$f0,$f16 +.L0f08f4dc: +/* f08f4dc: 8e1000bc */ lw $s0,0xbc($s0) +.L0f08f4e0: +/* f08f4e0: 52120004 */ beql $s0,$s2,.L0f08f4f4 +/* f08f4e4: 44869000 */ mtc1 $a2,$f18 +/* f08f4e8: 5600ffeb */ bnezl $s0,.L0f08f498 +/* f08f4ec: 860a00c4 */ lh $t2,0xc4($s0) +.L0f08f4f0: +/* f08f4f0: 44869000 */ mtc1 $a2,$f18 +.L0f08f4f4: +/* f08f4f4: 864400c4 */ lh $a0,0xc4($s2) +/* f08f4f8: 46809120 */ cvt.s.w $f4,$f18 +/* f08f4fc: 46040503 */ div.s $f20,$f0,$f4 +/* f08f500: 4405a000 */ mfc1 $a1,$f20 +/* f08f504: 0fc2d91c */ jal func0f0b6470 +/* f08f508: 00000000 */ nop +/* f08f50c: 4405a000 */ mfc1 $a1,$f20 +/* f08f510: 0fc2d8ec */ jal func0f0b63b0 +/* f08f514: 864400c4 */ lh $a0,0xc4($s2) +/* f08f518: 8fbf002c */ lw $ra,0x2c($sp) +.L0f08f51c: +/* f08f51c: d7b40010 */ ldc1 $f20,0x10($sp) +/* f08f520: 8fb0001c */ lw $s0,0x1c($sp) +/* f08f524: 8fb10020 */ lw $s1,0x20($sp) +/* f08f528: 8fb20024 */ lw $s2,0x24($sp) +/* f08f52c: 8fb30028 */ lw $s3,0x28($sp) +/* f08f530: 03e00008 */ jr $ra +/* f08f534: 27bd0038 */ addiu $sp,$sp,0x38 +); +#else GLOBAL_ASM( glabel doorDoCalc /* f08f11c: 27bdffc8 */ addiu $sp,$sp,-56 @@ -59288,6 +64193,7 @@ glabel doorDoCalc /* f08f530: 03e00008 */ jr $ra /* f08f534: 27bd0038 */ addiu $sp,$sp,0x38 ); +#endif f32 func0f08f538(f32 x, f32 y) { @@ -59981,7 +64887,7 @@ bool propdoorInteract(struct prop *doorprop) } else if (intraining) { func0f0ddfa4(langGet(L_DISH_080), 0, 1); // "Cannot exit while training is in progress." } else { - func0f0ddfa4(langGet(L_PROPOBJ_044), 0, 1); // "This door is locked." + func0f0ddfa4(langGet(PAL ? L_PROPOBJ_041 : L_PROPOBJ_044), 0, 1); // "This door is locked." } } @@ -60077,6 +64983,197 @@ bool func0f090520(void) return var800698e4 > 0; } +#if PAL +GLOBAL_ASM( +glabel func0f09054c +.late_rodata +glabel var7f1ab19c +.word 0x453b8000 +.text +/* f09054c: 3c028007 */ lui $v0,%hi(var800698e8) +/* f090550: 244298e8 */ addiu $v0,$v0,%lo(var800698e8) +/* f090554: 8c4e0000 */ lw $t6,0x0($v0) +/* f090558: 27bdffb0 */ addiu $sp,$sp,-80 +/* f09055c: 44808000 */ mtc1 $zero,$f16 +/* f090560: 11c00011 */ beqz $t6,.L0f0905a8 +/* f090564: afbf002c */ sw $ra,0x2c($sp) +/* f090568: 3c038007 */ lui $v1,%hi(var800698e4) +/* f09056c: 246398e4 */ addiu $v1,$v1,%lo(var800698e4) +/* f090570: 3c01800a */ lui $at,%hi(g_Vars+0x4c) +/* f090574: c426a00c */ lwc1 $f6,%lo(g_Vars+0x4c)($at) +/* f090578: c4640000 */ lwc1 $f4,0x0($v1) +/* f09057c: 3c01800a */ lui $at,%hi(var8009ce38) +/* f090580: 46062200 */ add.s $f8,$f4,$f6 +/* f090584: e4680000 */ swc1 $f8,0x0($v1) +/* f090588: c46a0000 */ lwc1 $f10,0x0($v1) +/* f09058c: c420ce38 */ lwc1 $f0,%lo(var8009ce38)($at) +/* f090590: 460a003e */ c.le.s $f0,$f10 +/* f090594: 00000000 */ nop +/* f090598: 45000003 */ bc1f .L0f0905a8 +/* f09059c: 00000000 */ nop +/* f0905a0: e4600000 */ swc1 $f0,0x0($v1) +/* f0905a4: ac400000 */ sw $zero,0x0($v0) +.L0f0905a8: +/* f0905a8: 3c038007 */ lui $v1,%hi(var800698e4) +/* f0905ac: 246398e4 */ addiu $v1,$v1,%lo(var800698e4) +/* f0905b0: c4600000 */ lwc1 $f0,0x0($v1) +/* f0905b4: 3c0f8007 */ lui $t7,%hi(g_PlayerInvincible) +/* f0905b8: 4600803c */ c.lt.s $f16,$f0 +/* f0905bc: 00000000 */ nop +/* f0905c0: 4502008e */ bc1fl .L0f0907fc +/* f0905c4: 8fbf002c */ lw $ra,0x2c($sp) +/* f0905c8: 8def0760 */ lw $t7,%lo(g_PlayerInvincible)($t7) +/* f0905cc: 3c01800a */ lui $at,%hi(var8009ce38) +/* f0905d0: 55e0008a */ bnezl $t7,.L0f0907fc +/* f0905d4: 8fbf002c */ lw $ra,0x2c($sp) +/* f0905d8: c432ce38 */ lwc1 $f18,%lo(var8009ce38)($at) +/* f0905dc: 0fc59829 */ jal func0f1660a4 +/* f0905e0: 46120303 */ div.s $f12,$f0,$f18 +/* f0905e4: 3c18800a */ lui $t8,%hi(var8009ce3c) +/* f0905e8: 8f18ce3c */ lw $t8,%lo(var8009ce3c)($t8) +/* f0905ec: 3c038007 */ lui $v1,%hi(var800698e4) +/* f0905f0: 246398e4 */ addiu $v1,$v1,%lo(var800698e4) +/* f0905f4: 13000080 */ beqz $t8,.L0f0907f8 +/* f0905f8: 3c048007 */ lui $a0,%hi(var800698f8) +/* f0905fc: 3c02800a */ lui $v0,%hi(g_Vars+0x8) +/* f090600: 8c429fc8 */ lw $v0,%lo(g_Vars+0x8)($v0) +/* f090604: 248498f8 */ addiu $a0,$a0,%lo(var800698f8) +/* f090608: 8c990000 */ lw $t9,0x0($a0) +/* f09060c: 2448ff1f */ addiu $t0,$v0,-187 +/* f090610: 0328082a */ slt $at,$t9,$t0 +/* f090614: 1020002e */ beqz $at,.L0f0906d0 +/* f090618: 3c014416 */ lui $at,0x4416 +/* f09061c: 44812000 */ mtc1 $at,$f4 +/* f090620: c4600000 */ lwc1 $f0,0x0($v1) +/* f090624: ac820000 */ sw $v0,0x0($a0) +/* f090628: 3c048009 */ lui $a0,%hi(var80095200) +/* f09062c: 4600203e */ c.le.s $f4,$f0 +/* f090630: 24050037 */ addiu $a1,$zero,0x37 +/* f090634: 00003025 */ or $a2,$zero,$zero +/* f090638: 2407ffff */ addiu $a3,$zero,-1 +/* f09063c: 4500000d */ bc1f .L0f090674 +/* f090640: 2409ffff */ addiu $t1,$zero,-1 +/* f090644: 3c01bf80 */ lui $at,0xbf80 +/* f090648: 44813000 */ mtc1 $at,$f6 +/* f09064c: 240affff */ addiu $t2,$zero,-1 +/* f090650: 240bffff */ addiu $t3,$zero,-1 +/* f090654: afab001c */ sw $t3,0x1c($sp) +/* f090658: afaa0018 */ sw $t2,0x18($sp) +/* f09065c: 8c845200 */ lw $a0,%lo(var80095200)($a0) +/* f090660: afa90010 */ sw $t1,0x10($sp) +/* f090664: 0c004241 */ jal audioStart +/* f090668: e7a60014 */ swc1 $f6,0x14($sp) +/* f09066c: 3c018007 */ lui $at,%hi(var800698e4) +/* f090670: c42098e4 */ lwc1 $f0,%lo(var800698e4)($at) +.L0f090674: +/* f090674: 3c0144e1 */ lui $at,0x44e1 +/* f090678: 44814000 */ mtc1 $at,$f8 +/* f09067c: 3c0c8007 */ lui $t4,%hi(var8006adf8) +/* f090680: 258cadf8 */ addiu $t4,$t4,%lo(var8006adf8) +/* f090684: 4600403e */ c.le.s $f8,$f0 +/* f090688: 00000000 */ nop +/* f09068c: 45000010 */ bc1f .L0f0906d0 +/* f090690: 00000000 */ nop +/* f090694: 8d810000 */ lw $at,0x0($t4) +/* f090698: 27a60040 */ addiu $a2,$sp,0x40 +/* f09069c: 3c0f800a */ lui $t7,%hi(g_Vars+0x284) +/* f0906a0: acc10000 */ sw $at,0x0($a2) +/* f0906a4: 8d8e0004 */ lw $t6,0x4($t4) +/* f0906a8: 3c053e00 */ lui $a1,0x3e00 +/* f0906ac: 00003825 */ or $a3,$zero,$zero +/* f0906b0: acce0004 */ sw $t6,0x4($a2) +/* f0906b4: 8d810008 */ lw $at,0x8($t4) +/* f0906b8: acc10008 */ sw $at,0x8($a2) +/* f0906bc: 8defa244 */ lw $t7,%lo(g_Vars+0x284)($t7) +/* f0906c0: 8df800bc */ lw $t8,0xbc($t7) +/* f0906c4: 8f040004 */ lw $a0,0x4($t8) +/* f0906c8: 0fc0d049 */ jal chrPoison +/* f0906cc: afa00010 */ sw $zero,0x10($sp) +.L0f0906d0: +/* f0906d0: 3c028007 */ lui $v0,%hi(var800698fc) +/* f0906d4: 244298fc */ addiu $v0,$v0,%lo(var800698fc) +/* f0906d8: 3c01800a */ lui $at,%hi(var8009ce38) +/* f0906dc: c42ace38 */ lwc1 $f10,%lo(var8009ce38)($at) +/* f0906e0: c4400000 */ lwc1 $f0,0x0($v0) +/* f0906e4: 3c01800a */ lui $at,%hi(g_Vars+0x4c) +/* f0906e8: 3c048007 */ lui $a0,%hi(var80069900) +/* f0906ec: 460a003c */ c.lt.s $f0,$f10 +/* f0906f0: 00000000 */ nop +/* f0906f4: 45000037 */ bc1f .L0f0907d4 +/* f0906f8: 00000000 */ nop +/* f0906fc: c430a00c */ lwc1 $f16,%lo(g_Vars+0x4c)($at) +/* f090700: 3c088007 */ lui $t0,%hi(var80069900) +/* f090704: 2419ffff */ addiu $t9,$zero,-1 +/* f090708: 46100480 */ add.s $f18,$f0,$f16 +/* f09070c: a7b9003e */ sh $t9,0x3e($sp) +/* f090710: e4520000 */ swc1 $f18,0x0($v0) +/* f090714: 8d089900 */ lw $t0,%lo(var80069900)($t0) +/* f090718: 15000016 */ bnez $t0,.L0f090774 +/* f09071c: 00000000 */ nop +/* f090720: 0fc5b364 */ jal coreIsPaused +/* f090724: 00000000 */ nop +/* f090728: 14400012 */ bnez $v0,.L0f090774 +/* f09072c: 24090037 */ addiu $t1,$zero,0x37 +/* f090730: 3c01bf80 */ lui $at,0xbf80 +/* f090734: 44812000 */ mtc1 $at,$f4 +/* f090738: 3c048009 */ lui $a0,%hi(var80095200) +/* f09073c: 3c068007 */ lui $a2,%hi(var80069900) +/* f090740: 240affff */ addiu $t2,$zero,-1 +/* f090744: 240bffff */ addiu $t3,$zero,-1 +/* f090748: 240dffff */ addiu $t5,$zero,-1 +/* f09074c: a7a9003e */ sh $t1,0x3e($sp) +/* f090750: afad001c */ sw $t5,0x1c($sp) +/* f090754: afab0018 */ sw $t3,0x18($sp) +/* f090758: afaa0010 */ sw $t2,0x10($sp) +/* f09075c: 24c69900 */ addiu $a2,$a2,%lo(var80069900) +/* f090760: 8c845200 */ lw $a0,%lo(var80095200)($a0) +/* f090764: 24050037 */ addiu $a1,$zero,0x37 +/* f090768: 2407ffff */ addiu $a3,$zero,-1 +/* f09076c: 0c004241 */ jal audioStart +/* f090770: e7a40014 */ swc1 $f4,0x14($sp) +.L0f090774: +/* f090774: 3c048007 */ lui $a0,%hi(var80069900) +/* f090778: 8c849900 */ lw $a0,%lo(var80069900)($a0) +/* f09077c: 3c058007 */ lui $a1,%hi(var800698ec) +/* f090780: 24a598ec */ addiu $a1,$a1,%lo(var800698ec) +/* f090784: 1080001c */ beqz $a0,.L0f0907f8 +/* f090788: 3c0643c8 */ lui $a2,0x43c8 +/* f09078c: 3c017f1b */ lui $at,%hi(var7f1ab19c) +/* f090790: c426b19c */ lwc1 $f6,%lo(var7f1ab19c)($at) +/* f090794: 3c0c800a */ lui $t4,%hi(g_Vars+0x284) +/* f090798: 8d8ca244 */ lw $t4,%lo(g_Vars+0x284)($t4) +/* f09079c: e7a60010 */ swc1 $f6,0x10($sp) +/* f0907a0: 87b8003e */ lh $t8,0x3e($sp) +/* f0907a4: 8d8e00bc */ lw $t6,0xbc($t4) +/* f0907a8: 3c07451c */ lui $a3,0x451c +/* f0907ac: 24197fff */ addiu $t9,$zero,0x7fff +/* f0907b0: 25cf0028 */ addiu $t7,$t6,0x28 +/* f0907b4: afaf0014 */ sw $t7,0x14($sp) +/* f0907b8: afb9001c */ sw $t9,0x1c($sp) +/* f0907bc: 34e74000 */ ori $a3,$a3,0x4000 +/* f0907c0: afa00020 */ sw $zero,0x20($sp) +/* f0907c4: 0fc25417 */ jal func0f09505c +/* f0907c8: afb80018 */ sw $t8,0x18($sp) +/* f0907cc: 1000000b */ b .L0f0907fc +/* f0907d0: 8fbf002c */ lw $ra,0x2c($sp) +.L0f0907d4: +/* f0907d4: 8c849900 */ lw $a0,%lo(var80069900)($a0) +/* f0907d8: 50800008 */ beqzl $a0,.L0f0907fc +/* f0907dc: 8fbf002c */ lw $ra,0x2c($sp) +/* f0907e0: 0c00cdfc */ jal audioIsPlaying +/* f0907e4: 00000000 */ nop +/* f0907e8: 10400003 */ beqz $v0,.L0f0907f8 +/* f0907ec: 3c048007 */ lui $a0,%hi(var80069900) +/* f0907f0: 0c00cec9 */ jal audioStop +/* f0907f4: 8c849900 */ lw $a0,%lo(var80069900)($a0) +.L0f0907f8: +/* f0907f8: 8fbf002c */ lw $ra,0x2c($sp) +.L0f0907fc: +/* f0907fc: 27bd0050 */ addiu $sp,$sp,0x50 +/* f090800: 03e00008 */ jr $ra +/* f090804: 00000000 */ nop +); +#else GLOBAL_ASM( glabel func0f09054c .late_rodata @@ -60266,6 +65363,7 @@ glabel var7f1ab19c /* f090800: 03e00008 */ jr $ra /* f090804: 00000000 */ nop ); +#endif void countdownTimerSetVisible(u32 flag, bool show) { @@ -61016,8 +66114,8 @@ void alarmTick(void) // For G5, stop alarm after 55 seconds. // For all other levels, stop alarm after 30 seconds. - if ((g_AlarmTimer > 1800 && mainGetStageNum() != STAGE_G5BUILDING) - || (g_AlarmTimer > 3300 && mainGetStageNum() == STAGE_G5BUILDING)) { + if ((g_AlarmTimer > PALDOWN(1800) && mainGetStageNum() != STAGE_G5BUILDING) + || (g_AlarmTimer > PALDOWN(3300) && mainGetStageNum() == STAGE_G5BUILDING)) { alarmDeactivate(); } @@ -61227,6 +66325,736 @@ glabel func0f091250 /* f0912d8: 00000000 */ nop ); +#if PAL +GLOBAL_ASM( +glabel projectileCreate +.late_rodata +glabel var7f1ab20c +.word 0x481c4000 +glabel var7f1ab210 +.word 0x3e8e38e3 +glabel var7f1ab214 +.word 0x3e23d70a +.text +/* f0912dc: 27bdfe00 */ addiu $sp,$sp,-512 +/* f0912e0: afbf0044 */ sw $ra,0x44($sp) +/* f0912e4: afa40200 */ sw $a0,0x200($sp) +/* f0912e8: afa50204 */ sw $a1,0x204($sp) +/* f0912ec: afa60208 */ sw $a2,0x208($sp) +/* f0912f0: 0fc5b364 */ jal coreIsPaused +/* f0912f4: afa7020c */ sw $a3,0x20c($sp) +/* f0912f8: 1440029e */ bnez $v0,.L0f091d74 +/* f0912fc: 8fa30208 */ lw $v1,0x208($sp) +/* f091300: afa001fc */ sw $zero,0x1fc($sp) +/* f091304: afa001d8 */ sw $zero,0x1d8($sp) +/* f091308: a3a001c7 */ sb $zero,0x1c7($sp) +/* f09130c: a3a00187 */ sb $zero,0x187($sp) +/* f091310: c4640000 */ lwc1 $f4,0x0($v1) +/* f091314: 93ae0213 */ lbu $t6,0x213($sp) +/* f091318: 2401001c */ addiu $at,$zero,0x1c +/* f09131c: e7a4018c */ swc1 $f4,0x18c($sp) +/* f091320: c4660004 */ lwc1 $f6,0x4($v1) +/* f091324: 240f0001 */ addiu $t7,$zero,0x1 +/* f091328: 3c0a800a */ lui $t2,%hi(g_Vars+0x8) +/* f09132c: e7a60190 */ swc1 $f6,0x190($sp) +/* f091330: c4680008 */ lwc1 $f8,0x8($v1) +/* f091334: afae0054 */ sw $t6,0x54($sp) +/* f091338: 15c1000b */ bne $t6,$at,.L0f091368 +/* f09133c: e7a80194 */ swc1 $f8,0x194($sp) +/* f091340: 3c014220 */ lui $at,0x4220 +/* f091344: 44818000 */ mtc1 $at,$f16 +/* f091348: c7aa0190 */ lwc1 $f10,0x190($sp) +/* f09134c: 2418ffff */ addiu $t8,$zero,-1 +/* f091350: 24190001 */ addiu $t9,$zero,0x1 +/* f091354: 46105481 */ sub.s $f18,$f10,$f16 +/* f091358: a3af01c7 */ sb $t7,0x1c7($sp) +/* f09135c: a3b80198 */ sb $t8,0x198($sp) +/* f091360: a3b90187 */ sb $t9,0x187($sp) +/* f091364: e7b20190 */ swc1 $f18,0x190($sp) +.L0f091368: +/* f091368: 8fa80204 */ lw $t0,0x204($sp) +/* f09136c: 5100008d */ beqzl $t0,.L0f0915a4 +/* f091370: 8fa20214 */ lw $v0,0x214($sp) +/* f091374: 8d090008 */ lw $t1,0x8($t0) +/* f091378: 8d4a9fc8 */ lw $t2,%lo(g_Vars+0x8)($t2) +/* f09137c: 8fab0054 */ lw $t3,0x54($sp) +/* f091380: 012a082a */ slt $at,$t1,$t2 +/* f091384: 10200086 */ beqz $at,.L0f0915a0 +/* f091388: 2401002b */ addiu $at,$zero,0x2b +/* f09138c: 11610028 */ beq $t3,$at,.L0f091430 +/* f091390: 8fa40200 */ lw $a0,0x200($sp) +/* f091394: 24010059 */ addiu $at,$zero,0x59 +/* f091398: 11610006 */ beq $t3,$at,.L0f0913b4 +/* f09139c: 8fa40200 */ lw $a0,0x200($sp) +/* f0913a0: 2401005a */ addiu $at,$zero,0x5a +/* f0913a4: 11610043 */ beq $t3,$at,.L0f0914b4 +/* f0913a8: 8fa40200 */ lw $a0,0x200($sp) +/* f0913ac: 1000005f */ b .L0f09152c +/* f0913b0: 8fa40200 */ lw $a0,0x200($sp) +.L0f0913b4: +/* f0913b4: 24050007 */ addiu $a1,$zero,0x7 +/* f0913b8: 0fc249af */ jal func0f0926bc +/* f0913bc: 3406ffff */ dli $a2,0xffff +/* f0913c0: 3c01bf80 */ lui $at,0xbf80 +/* f0913c4: 44810000 */ mtc1 $at,$f0 +/* f0913c8: 240cffff */ addiu $t4,$zero,-1 +/* f0913cc: 240d0007 */ addiu $t5,$zero,0x7 +/* f0913d0: 240effff */ addiu $t6,$zero,-1 +/* f0913d4: afae002c */ sw $t6,0x2c($sp) +/* f0913d8: afad001c */ sw $t5,0x1c($sp) +/* f0913dc: afac0010 */ sw $t4,0x10($sp) +/* f0913e0: 00002025 */ or $a0,$zero,$zero +/* f0913e4: 8fa50200 */ lw $a1,0x200($sp) +/* f0913e8: 2406810e */ addiu $a2,$zero,-32498 +/* f0913ec: 2407ffff */ addiu $a3,$zero,-1 +/* f0913f0: afa00014 */ sw $zero,0x14($sp) +/* f0913f4: afa00018 */ sw $zero,0x18($sp) +/* f0913f8: afa00020 */ sw $zero,0x20($sp) +/* f0913fc: afa00028 */ sw $zero,0x28($sp) +/* f091400: e7a00024 */ swc1 $f0,0x24($sp) +/* f091404: e7a00030 */ swc1 $f0,0x30($sp) +/* f091408: e7a00034 */ swc1 $f0,0x34($sp) +/* f09140c: 0fc24e7e */ jal func0f0939f8 +/* f091410: e7a00038 */ swc1 $f0,0x38($sp) +/* f091414: 3c0f800a */ lui $t7,%hi(g_Vars+0x8) +/* f091418: 8def9fc8 */ lw $t7,%lo(g_Vars+0x8)($t7) +/* f09141c: 8fb90204 */ lw $t9,0x204($sp) +/* f091420: 25f80004 */ addiu $t8,$t7,0x4 +/* f091424: af380008 */ sw $t8,0x8($t9) +/* f091428: 1000005d */ b .L0f0915a0 +/* f09142c: 8fa30208 */ lw $v1,0x208($sp) +.L0f091430: +/* f091430: 24050001 */ addiu $a1,$zero,0x1 +/* f091434: 0fc249af */ jal func0f0926bc +/* f091438: 3406ffff */ dli $a2,0xffff +/* f09143c: 3c01bf80 */ lui $at,0xbf80 +/* f091440: 44812000 */ mtc1 $at,$f4 +/* f091444: 44813000 */ mtc1 $at,$f6 +/* f091448: 44814000 */ mtc1 $at,$f8 +/* f09144c: 44815000 */ mtc1 $at,$f10 +/* f091450: 2408ffff */ addiu $t0,$zero,-1 +/* f091454: 2409ffff */ addiu $t1,$zero,-1 +/* f091458: afa9002c */ sw $t1,0x2c($sp) +/* f09145c: afa80010 */ sw $t0,0x10($sp) +/* f091460: 00002025 */ or $a0,$zero,$zero +/* f091464: 8fa50200 */ lw $a1,0x200($sp) +/* f091468: 2406805a */ addiu $a2,$zero,-32678 +/* f09146c: 2407ffff */ addiu $a3,$zero,-1 +/* f091470: afa00014 */ sw $zero,0x14($sp) +/* f091474: afa00018 */ sw $zero,0x18($sp) +/* f091478: afa0001c */ sw $zero,0x1c($sp) +/* f09147c: afa00020 */ sw $zero,0x20($sp) +/* f091480: afa00028 */ sw $zero,0x28($sp) +/* f091484: e7a40024 */ swc1 $f4,0x24($sp) +/* f091488: e7a60030 */ swc1 $f6,0x30($sp) +/* f09148c: e7a80034 */ swc1 $f8,0x34($sp) +/* f091490: 0fc24e7e */ jal func0f0939f8 +/* f091494: e7aa0038 */ swc1 $f10,0x38($sp) +/* f091498: 3c0a800a */ lui $t2,%hi(g_Vars+0x8) +/* f09149c: 8d4a9fc8 */ lw $t2,%lo(g_Vars+0x8)($t2) +/* f0914a0: 8fac0204 */ lw $t4,0x204($sp) +/* f0914a4: 254b0002 */ addiu $t3,$t2,0x2 +/* f0914a8: ad8b0008 */ sw $t3,0x8($t4) +/* f0914ac: 1000003c */ b .L0f0915a0 +/* f0914b0: 8fa30208 */ lw $v1,0x208($sp) +.L0f0914b4: +/* f0914b4: 24050001 */ addiu $a1,$zero,0x1 +/* f0914b8: 0fc249af */ jal func0f0926bc +/* f0914bc: 3406ffff */ dli $a2,0xffff +/* f0914c0: 3c01bf80 */ lui $at,0xbf80 +/* f0914c4: 44810000 */ mtc1 $at,$f0 +/* f0914c8: 240dffff */ addiu $t5,$zero,-1 +/* f0914cc: 240effff */ addiu $t6,$zero,-1 +/* f0914d0: afae002c */ sw $t6,0x2c($sp) +/* f0914d4: afad0010 */ sw $t5,0x10($sp) +/* f0914d8: 00002025 */ or $a0,$zero,$zero +/* f0914dc: 8fa50200 */ lw $a1,0x200($sp) +/* f0914e0: 24068043 */ addiu $a2,$zero,-32701 +/* f0914e4: 2407ffff */ addiu $a3,$zero,-1 +/* f0914e8: afa00014 */ sw $zero,0x14($sp) +/* f0914ec: afa00018 */ sw $zero,0x18($sp) +/* f0914f0: afa0001c */ sw $zero,0x1c($sp) +/* f0914f4: afa00020 */ sw $zero,0x20($sp) +/* f0914f8: afa00028 */ sw $zero,0x28($sp) +/* f0914fc: e7a00024 */ swc1 $f0,0x24($sp) +/* f091500: e7a00030 */ swc1 $f0,0x30($sp) +/* f091504: e7a00034 */ swc1 $f0,0x34($sp) +/* f091508: 0fc24e7e */ jal func0f0939f8 +/* f09150c: e7a00038 */ swc1 $f0,0x38($sp) +/* f091510: 3c0f800a */ lui $t7,%hi(g_Vars+0x8) +/* f091514: 8def9fc8 */ lw $t7,%lo(g_Vars+0x8)($t7) +/* f091518: 8fb90204 */ lw $t9,0x204($sp) +/* f09151c: 25f80008 */ addiu $t8,$t7,0x8 +/* f091520: af380008 */ sw $t8,0x8($t9) +/* f091524: 1000001e */ b .L0f0915a0 +/* f091528: 8fa30208 */ lw $v1,0x208($sp) +.L0f09152c: +/* f09152c: 24050001 */ addiu $a1,$zero,0x1 +/* f091530: 0fc249af */ jal func0f0926bc +/* f091534: 3406ffff */ dli $a2,0xffff +/* f091538: 3c01bf80 */ lui $at,0xbf80 +/* f09153c: 44810000 */ mtc1 $at,$f0 +/* f091540: 2408ffff */ addiu $t0,$zero,-1 +/* f091544: 2409ffff */ addiu $t1,$zero,-1 +/* f091548: afa9002c */ sw $t1,0x2c($sp) +/* f09154c: afa80010 */ sw $t0,0x10($sp) +/* f091550: 00002025 */ or $a0,$zero,$zero +/* f091554: 8fa50200 */ lw $a1,0x200($sp) +/* f091558: 24068045 */ addiu $a2,$zero,-32699 +/* f09155c: 2407ffff */ addiu $a3,$zero,-1 +/* f091560: afa00014 */ sw $zero,0x14($sp) +/* f091564: afa00018 */ sw $zero,0x18($sp) +/* f091568: afa0001c */ sw $zero,0x1c($sp) +/* f09156c: afa00020 */ sw $zero,0x20($sp) +/* f091570: afa00028 */ sw $zero,0x28($sp) +/* f091574: e7a00024 */ swc1 $f0,0x24($sp) +/* f091578: e7a00030 */ swc1 $f0,0x30($sp) +/* f09157c: e7a00034 */ swc1 $f0,0x34($sp) +/* f091580: 0fc24e7e */ jal func0f0939f8 +/* f091584: e7a00038 */ swc1 $f0,0x38($sp) +/* f091588: 3c0a800a */ lui $t2,%hi(g_Vars+0x8) +/* f09158c: 8d4a9fc8 */ lw $t2,%lo(g_Vars+0x8)($t2) +/* f091590: 8fac0204 */ lw $t4,0x204($sp) +/* f091594: 254b0002 */ addiu $t3,$t2,0x2 +/* f091598: ad8b0008 */ sw $t3,0x8($t4) +/* f09159c: 8fa30208 */ lw $v1,0x208($sp) +.L0f0915a0: +/* f0915a0: 8fa20214 */ lw $v0,0x214($sp) +.L0f0915a4: +/* f0915a4: 8fa6020c */ lw $a2,0x20c($sp) +/* f0915a8: 3c014e00 */ lui $at,0x4e00 +/* f0915ac: 1040001d */ beqz $v0,.L0f091624 +/* f0915b0: 3c198007 */ lui $t9,%hi(var8006ae04) +/* f0915b4: 3c014170 */ lui $at,0x4170 +/* f0915b8: 44817000 */ mtc1 $at,$f14 +/* f0915bc: c4c60000 */ lwc1 $f6,0x0($a2) +/* f0915c0: c4500008 */ lwc1 $f16,0x8($v0) +/* f0915c4: c4720000 */ lwc1 $f18,0x0($v1) +/* f0915c8: 460e3202 */ mul.s $f8,$f6,$f14 +/* f0915cc: c4c60004 */ lwc1 $f6,0x4($a2) +/* f0915d0: 46128101 */ sub.s $f4,$f16,$f18 +/* f0915d4: c4700004 */ lwc1 $f16,0x4($v1) +/* f0915d8: c44a000c */ lwc1 $f10,0xc($v0) +/* f0915dc: 46082001 */ sub.s $f0,$f4,$f8 +/* f0915e0: 460e3102 */ mul.s $f4,$f6,$f14 +/* f0915e4: c4c60008 */ lwc1 $f6,0x8($a2) +/* f0915e8: 46105481 */ sub.s $f18,$f10,$f16 +/* f0915ec: c46a0008 */ lwc1 $f10,0x8($v1) +/* f0915f0: c4480010 */ lwc1 $f8,0x10($v0) +/* f0915f4: 46049081 */ sub.s $f2,$f18,$f4 +/* f0915f8: 460e3482 */ mul.s $f18,$f6,$f14 +/* f0915fc: 460a4401 */ sub.s $f16,$f8,$f10 +/* f091600: 46000102 */ mul.s $f4,$f0,$f0 +/* f091604: 00000000 */ nop +/* f091608: 46021202 */ mul.s $f8,$f2,$f2 +/* f09160c: 46128301 */ sub.s $f12,$f16,$f18 +/* f091610: 460c6182 */ mul.s $f6,$f12,$f12 +/* f091614: 46082280 */ add.s $f10,$f4,$f8 +/* f091618: 46065400 */ add.s $f16,$f10,$f6 +/* f09161c: 10000004 */ b .L0f091630 +/* f091620: e7b001dc */ swc1 $f16,0x1dc($sp) +.L0f091624: +/* f091624: 44819000 */ mtc1 $at,$f18 +/* f091628: 8fa6020c */ lw $a2,0x20c($sp) +/* f09162c: e7b201dc */ swc1 $f18,0x1dc($sp) +.L0f091630: +/* f091630: 8fad0054 */ lw $t5,0x54($sp) +/* f091634: 24010018 */ addiu $at,$zero,0x18 +/* f091638: 8fae0200 */ lw $t6,0x200($sp) +/* f09163c: 15a1006d */ bne $t5,$at,.L0f0917f4 +/* f091640: 00000000 */ nop +/* f091644: 0fc1eb7d */ jal chopperFromHovercar +/* f091648: 8dc40004 */ lw $a0,0x4($t6) +/* f09164c: 104001c9 */ beqz $v0,.L0f091d74 +/* f091650: 3c017f1b */ lui $at,%hi(var7f1ab20c) +/* f091654: c424b20c */ lwc1 $f4,%lo(var7f1ab20c)($at) +/* f091658: c7a801dc */ lwc1 $f8,0x1dc($sp) +/* f09165c: 4608203c */ c.lt.s $f4,$f8 +/* f091660: 00000000 */ nop +/* f091664: 450201c4 */ bc1fl .L0f091d78 +/* f091668: 8fbf0044 */ lw $ra,0x44($sp) +/* f09166c: c44a0080 */ lwc1 $f10,0x80($v0) +/* f091670: 2404011f */ addiu $a0,$zero,0x11f +/* f091674: 24050053 */ addiu $a1,$zero,0x53 +/* f091678: e7aa009c */ swc1 $f10,0x9c($sp) +/* f09167c: c446007c */ lwc1 $f6,0x7c($v0) +/* f091680: 00003025 */ or $a2,$zero,$zero +/* f091684: 0fc22e20 */ jal func0f08b880 +/* f091688: e7a60098 */ swc1 $f6,0x98($sp) +/* f09168c: 104001b9 */ beqz $v0,.L0f091d74 +/* f091690: afa2017c */ sw $v0,0x17c($sp) +/* f091694: 0c00566c */ jal func000159b0 +/* f091698: 27a4013c */ addiu $a0,$sp,0x13c +/* f09169c: c7ac009c */ lwc1 $f12,0x9c($sp) +/* f0916a0: 0c0058ba */ jal func000162e8 +/* f0916a4: 27a500e0 */ addiu $a1,$sp,0xe0 +/* f0916a8: c7ac0098 */ lwc1 $f12,0x98($sp) +/* f0916ac: 0c0058dd */ jal func00016374 +/* f0916b0: 27a500a0 */ addiu $a1,$sp,0xa0 +/* f0916b4: 27a400a0 */ addiu $a0,$sp,0xa0 +/* f0916b8: 0c0056f8 */ jal func00015be0 +/* f0916bc: 27a500e0 */ addiu $a1,$sp,0xe0 +/* f0916c0: 8fa3020c */ lw $v1,0x20c($sp) +/* f0916c4: 3c017f1b */ lui $at,%hi(var7f1ab210) +/* f0916c8: c422b210 */ lwc1 $f2,%lo(var7f1ab210)($at) +/* f0916cc: c4700000 */ lwc1 $f16,0x0($v1) +/* f0916d0: 3c01800a */ lui $at,%hi(g_Vars+0x4c) +/* f0916d4: c420a00c */ lwc1 $f0,%lo(g_Vars+0x4c)($at) +/* f0916d8: 46028482 */ mul.s $f18,$f16,$f2 +/* f0916dc: 8fa20200 */ lw $v0,0x200($sp) +/* f0916e0: 8fa50208 */ lw $a1,0x208($sp) +/* f0916e4: 27af0130 */ addiu $t7,$sp,0x130 +/* f0916e8: 27b8013c */ addiu $t8,$sp,0x13c +/* f0916ec: 8fa4017c */ lw $a0,0x17c($sp) +/* f0916f0: 27a700e0 */ addiu $a3,$sp,0xe0 +/* f0916f4: e7b20120 */ swc1 $f18,0x120($sp) +/* f0916f8: c4640004 */ lwc1 $f4,0x4($v1) +/* f0916fc: c7b00120 */ lwc1 $f16,0x120($sp) +/* f091700: 24460028 */ addiu $a2,$v0,0x28 +/* f091704: 46022202 */ mul.s $f8,$f4,$f2 +/* f091708: e7a80124 */ swc1 $f8,0x124($sp) +/* f09170c: c46a0008 */ lwc1 $f10,0x8($v1) +/* f091710: c7a40124 */ lwc1 $f4,0x124($sp) +/* f091714: afb80014 */ sw $t8,0x14($sp) +/* f091718: 46025182 */ mul.s $f6,$f10,$f2 +/* f09171c: afaf0010 */ sw $t7,0x10($sp) +/* f091720: afa20018 */ sw $v0,0x18($sp) +/* f091724: 46008482 */ mul.s $f18,$f16,$f0 +/* f091728: afa5001c */ sw $a1,0x1c($sp) +/* f09172c: 46002202 */ mul.s $f8,$f4,$f0 +/* f091730: e7a60128 */ swc1 $f6,0x128($sp) +/* f091734: c7aa0128 */ lwc1 $f10,0x128($sp) +/* f091738: e7b20130 */ swc1 $f18,0x130($sp) +/* f09173c: 46005182 */ mul.s $f6,$f10,$f0 +/* f091740: e7a80134 */ swc1 $f8,0x134($sp) +/* f091744: 0fc27af3 */ jal func0f09ebcc +/* f091748: e7a60138 */ swc1 $f6,0x138($sp) +/* f09174c: 8fa3017c */ lw $v1,0x17c($sp) +/* f091750: 8c790040 */ lw $t9,0x40($v1) +/* f091754: 33280080 */ andi $t0,$t9,0x80 +/* f091758: 51000187 */ beqzl $t0,.L0f091d78 +/* f09175c: 8fbf0044 */ lw $ra,0x44($sp) +/* f091760: 8c620048 */ lw $v0,0x48($v1) +/* f091764: 2409ffff */ addiu $t1,$zero,-1 +/* f091768: a4690062 */ sh $t1,0x62($v1) +/* f09176c: 8c4a0000 */ lw $t2,0x0($v0) +/* f091770: 3c01bf80 */ lui $at,0xbf80 +/* f091774: 44810000 */ mtc1 $at,$f0 +/* f091778: 354b0010 */ ori $t3,$t2,0x10 +/* f09177c: ac4b0000 */ sw $t3,0x0($v0) +/* f091780: 8c6c0048 */ lw $t4,0x48($v1) +/* f091784: c7b00120 */ lwc1 $f16,0x120($sp) +/* f091788: 240fffff */ addiu $t7,$zero,-1 +/* f09178c: 2418ffff */ addiu $t8,$zero,-1 +/* f091790: e5900010 */ swc1 $f16,0x10($t4) +/* f091794: 8c6d0048 */ lw $t5,0x48($v1) +/* f091798: c7b20124 */ lwc1 $f18,0x124($sp) +/* f09179c: 00002025 */ or $a0,$zero,$zero +/* f0917a0: 24068053 */ addiu $a2,$zero,-32685 +/* f0917a4: e5b20014 */ swc1 $f18,0x14($t5) +/* f0917a8: 8c6e0048 */ lw $t6,0x48($v1) +/* f0917ac: c7a40128 */ lwc1 $f4,0x128($sp) +/* f0917b0: 2407ffff */ addiu $a3,$zero,-1 +/* f0917b4: e5c40018 */ swc1 $f4,0x18($t6) +/* f0917b8: 8c650014 */ lw $a1,0x14($v1) +/* f0917bc: afb8002c */ sw $t8,0x2c($sp) +/* f0917c0: afa00028 */ sw $zero,0x28($sp) +/* f0917c4: afa00020 */ sw $zero,0x20($sp) +/* f0917c8: afa0001c */ sw $zero,0x1c($sp) +/* f0917cc: afa00018 */ sw $zero,0x18($sp) +/* f0917d0: afa00014 */ sw $zero,0x14($sp) +/* f0917d4: afaf0010 */ sw $t7,0x10($sp) +/* f0917d8: e7a00038 */ swc1 $f0,0x38($sp) +/* f0917dc: e7a00034 */ swc1 $f0,0x34($sp) +/* f0917e0: e7a00030 */ swc1 $f0,0x30($sp) +/* f0917e4: 0fc24e7e */ jal func0f0939f8 +/* f0917e8: e7a00024 */ swc1 $f0,0x24($sp) +/* f0917ec: 10000162 */ b .L0f091d78 +/* f0917f0: 8fbf0044 */ lw $ra,0x44($sp) +.L0f0917f4: +/* f0917f4: 8f39ae04 */ lw $t9,%lo(var8006ae04)($t9) +/* f0917f8: 93a80213 */ lbu $t0,0x213($sp) +/* f0917fc: 3c014780 */ lui $at,0x4780 +/* f091800: afb90094 */ sw $t9,0x94($sp) +/* f091804: a3a80094 */ sb $t0,0x94($sp) +/* f091808: 44810000 */ mtc1 $at,$f0 +/* f09180c: c4c80000 */ lwc1 $f8,0x0($a2) +/* f091810: c4660000 */ lwc1 $f6,0x0($v1) +/* f091814: 8fa40200 */ lw $a0,0x200($sp) +/* f091818: 46004282 */ mul.s $f10,$f8,$f0 +/* f09181c: 00002825 */ or $a1,$zero,$zero +/* f091820: 46065400 */ add.s $f16,$f10,$f6 +/* f091824: e7b001f0 */ swc1 $f16,0x1f0($sp) +/* f091828: c4d20004 */ lwc1 $f18,0x4($a2) +/* f09182c: c4680004 */ lwc1 $f8,0x4($v1) +/* f091830: 46009102 */ mul.s $f4,$f18,$f0 +/* f091834: 46082280 */ add.s $f10,$f4,$f8 +/* f091838: e7aa01f4 */ swc1 $f10,0x1f4($sp) +/* f09183c: c4c60008 */ lwc1 $f6,0x8($a2) +/* f091840: c4720008 */ lwc1 $f18,0x8($v1) +/* f091844: 46003402 */ mul.s $f16,$f6,$f0 +/* f091848: 46128100 */ add.s $f4,$f16,$f18 +/* f09184c: 0fc1905e */ jal propSetCollisionsEnabled +/* f091850: e7a401f8 */ swc1 $f4,0x1f8($sp) +/* f091854: 8fa50200 */ lw $a1,0x200($sp) +/* f091858: 24090010 */ addiu $t1,$zero,0x10 +/* f09185c: afa90010 */ sw $t1,0x10($sp) +/* f091860: 24a50028 */ addiu $a1,$a1,0x28 +/* f091864: afa50050 */ sw $a1,0x50($sp) +/* f091868: 8fa40208 */ lw $a0,0x208($sp) +/* f09186c: 27a601f0 */ addiu $a2,$sp,0x1f0 +/* f091870: 0c00b764 */ jal cdTestAToB4 +/* f091874: 2407003b */ addiu $a3,$zero,0x3b +/* f091878: 1440000a */ bnez $v0,.L0f0918a4 +/* f09187c: 240a0001 */ addiu $t2,$zero,0x1 +/* f091880: 3c067f1b */ lui $a2,%hi(var7f1aa1c0) +/* f091884: afaa01fc */ sw $t2,0x1fc($sp) +/* f091888: 24c6a1c0 */ addiu $a2,$a2,%lo(var7f1aa1c0) +/* f09188c: 27a401f0 */ addiu $a0,$sp,0x1f0 +/* f091890: 0c0093af */ jal cdGetPos +/* f091894: 24055fa2 */ addiu $a1,$zero,0x6129 +/* f091898: 0c0093ac */ jal cdGetObstacle +/* f09189c: 00000000 */ nop +/* f0918a0: afa201d8 */ sw $v0,0x1d8($sp) +.L0f0918a4: +/* f0918a4: 8fa40200 */ lw $a0,0x200($sp) +/* f0918a8: 0fc1905e */ jal propSetCollisionsEnabled +/* f0918ac: 24050001 */ addiu $a1,$zero,0x1 +/* f0918b0: 8fab0208 */ lw $t3,0x208($sp) +/* f0918b4: 8fac0214 */ lw $t4,0x214($sp) +/* f0918b8: c7a801f0 */ lwc1 $f8,0x1f0($sp) +/* f0918bc: c7a601f4 */ lwc1 $f6,0x1f4($sp) +/* f0918c0: c7b201f8 */ lwc1 $f18,0x1f8($sp) +/* f0918c4: c56a0000 */ lwc1 $f10,0x0($t3) +/* f0918c8: c5700004 */ lwc1 $f16,0x4($t3) +/* f0918cc: c5640008 */ lwc1 $f4,0x8($t3) +/* f0918d0: 460a4001 */ sub.s $f0,$f8,$f10 +/* f0918d4: 46103081 */ sub.s $f2,$f6,$f16 +/* f0918d8: 1180007b */ beqz $t4,.L0f091ac8 +/* f0918dc: 46049301 */ sub.s $f12,$f18,$f4 +/* f0918e0: 46000202 */ mul.s $f8,$f0,$f0 +/* f0918e4: c7a401dc */ lwc1 $f4,0x1dc($sp) +/* f0918e8: 46021282 */ mul.s $f10,$f2,$f2 +/* f0918ec: 460a4180 */ add.s $f6,$f8,$f10 +/* f0918f0: 460c6402 */ mul.s $f16,$f12,$f12 +/* f0918f4: 46103480 */ add.s $f18,$f6,$f16 +/* f0918f8: 4612203e */ c.le.s $f4,$f18 +/* f0918fc: 00000000 */ nop +/* f091900: 45020072 */ bc1fl .L0f091acc +/* f091904: 8fae01fc */ lw $t6,0x1fc($sp) +/* f091908: 0c012974 */ jal sqrtf +/* f09190c: 46002306 */ mov.s $f12,$f4 +/* f091910: 8fa20214 */ lw $v0,0x214($sp) +/* f091914: 3c0141a0 */ lui $at,0x41a0 +/* f091918: 44813000 */ mtc1 $at,$f6 +/* f09191c: c4480008 */ lwc1 $f8,0x8($v0) +/* f091920: 8fa40208 */ lw $a0,0x208($sp) +/* f091924: 8fa5020c */ lw $a1,0x20c($sp) +/* f091928: e7a80084 */ swc1 $f8,0x84($sp) +/* f09192c: c44a000c */ lwc1 $f10,0xc($v0) +/* f091930: 27a60084 */ addiu $a2,$sp,0x84 +/* f091934: 3c0741f0 */ lui $a3,0x41f0 +/* f091938: 46065401 */ sub.s $f16,$f10,$f6 +/* f09193c: e7b00088 */ swc1 $f16,0x88($sp) +/* f091940: c4520010 */ lwc1 $f18,0x10($v0) +/* f091944: e7a00090 */ swc1 $f0,0x90($sp) +/* f091948: 0fc1ace7 */ jal func0f06b39c +/* f09194c: e7b2008c */ swc1 $f18,0x8c($sp) +/* f091950: 1040005d */ beqz $v0,.L0f091ac8 +/* f091954: c7a20090 */ lwc1 $f2,0x90($sp) +/* f091958: 3c014348 */ lui $at,0x4348 +/* f09195c: 44816000 */ mtc1 $at,$f12 +/* f091960: 3c017f1b */ lui $at,%hi(var7f1ab214) +/* f091964: c424b214 */ lwc1 $f4,%lo(var7f1ab214)($at) +/* f091968: 3c01800a */ lui $at,%hi(g_Vars+0x4c) +/* f09196c: c428a00c */ lwc1 $f8,%lo(g_Vars+0x4c)($at) +/* f091970: 8fad0204 */ lw $t5,0x204($sp) +/* f091974: 4602603c */ c.lt.s $f12,$f2 +/* f091978: 46082282 */ mul.s $f10,$f4,$f8 +/* f09197c: c5a6000c */ lwc1 $f6,0xc($t5) +/* f091980: 8fae0204 */ lw $t6,0x204($sp) +/* f091984: 46065002 */ mul.s $f0,$f10,$f6 +/* f091988: 45020005 */ bc1fl .L0f0919a0 +/* f09198c: c5d20014 */ lwc1 $f18,0x14($t6) +/* f091990: 46026403 */ div.s $f16,$f12,$f2 +/* f091994: 46100002 */ mul.s $f0,$f0,$f16 +/* f091998: 00000000 */ nop +/* f09199c: c5d20014 */ lwc1 $f18,0x14($t6) +.L0f0919a0: +/* f0919a0: 3c013f80 */ lui $at,0x3f80 +/* f0919a4: 44814000 */ mtc1 $at,$f8 +/* f0919a8: 46009100 */ add.s $f4,$f18,$f0 +/* f0919ac: 4604403e */ c.le.s $f8,$f4 +/* f0919b0: e5c40014 */ swc1 $f4,0x14($t6) +/* f0919b4: 8fa20214 */ lw $v0,0x214($sp) +/* f0919b8: 45020044 */ bc1fl .L0f091acc +/* f0919bc: 8fae01fc */ lw $t6,0x1fc($sp) +/* f0919c0: afa001fc */ sw $zero,0x1fc($sp) +/* f0919c4: c44a0008 */ lwc1 $f10,0x8($v0) +/* f0919c8: e7aa01f0 */ swc1 $f10,0x1f0($sp) +/* f0919cc: c446000c */ lwc1 $f6,0xc($v0) +/* f0919d0: e7a601f4 */ swc1 $f6,0x1f4($sp) +/* f0919d4: c4500010 */ lwc1 $f16,0x10($v0) +/* f0919d8: 0c004b70 */ jal random +/* f0919dc: e7b001f8 */ swc1 $f16,0x1f8($sp) +/* f0919e0: 304f0001 */ andi $t7,$v0,0x1 +/* f0919e4: 11e00012 */ beqz $t7,.L0f091a30 +/* f0919e8: 00000000 */ nop +/* f0919ec: 0c004b70 */ jal random +/* f0919f0: 00000000 */ nop +/* f0919f4: 2401000a */ addiu $at,$zero,0xa +/* f0919f8: 0041001b */ divu $zero,$v0,$at +/* f0919fc: 0000c010 */ mfhi $t8 +/* f091a00: 27190002 */ addiu $t9,$t8,0x2 +/* f091a04: 44992000 */ mtc1 $t9,$f4 +/* f091a08: c7b201f4 */ lwc1 $f18,0x1f4($sp) +/* f091a0c: 07210005 */ bgez $t9,.L0f091a24 +/* f091a10: 46802220 */ cvt.s.w $f8,$f4 +/* f091a14: 3c014f80 */ lui $at,0x4f80 +/* f091a18: 44815000 */ mtc1 $at,$f10 +/* f091a1c: 00000000 */ nop +/* f091a20: 460a4200 */ add.s $f8,$f8,$f10 +.L0f091a24: +/* f091a24: 46089180 */ add.s $f6,$f18,$f8 +/* f091a28: 10000011 */ b .L0f091a70 +/* f091a2c: e7a601f4 */ swc1 $f6,0x1f4($sp) +.L0f091a30: +/* f091a30: 0c004b70 */ jal random +/* f091a34: 00000000 */ nop +/* f091a38: 2401000a */ addiu $at,$zero,0xa +/* f091a3c: 0041001b */ divu $zero,$v0,$at +/* f091a40: 00004010 */ mfhi $t0 +/* f091a44: 25090002 */ addiu $t1,$t0,0x2 +/* f091a48: 44892000 */ mtc1 $t1,$f4 +/* f091a4c: c7b001f4 */ lwc1 $f16,0x1f4($sp) +/* f091a50: 05210005 */ bgez $t1,.L0f091a68 +/* f091a54: 468022a0 */ cvt.s.w $f10,$f4 +/* f091a58: 3c014f80 */ lui $at,0x4f80 +/* f091a5c: 44819000 */ mtc1 $at,$f18 +/* f091a60: 00000000 */ nop +/* f091a64: 46125280 */ add.s $f10,$f10,$f18 +.L0f091a68: +/* f091a68: 460a8201 */ sub.s $f8,$f16,$f10 +/* f091a6c: e7a801f4 */ swc1 $f8,0x1f4($sp) +.L0f091a70: +/* f091a70: 27a40094 */ addiu $a0,$sp,0x94 +/* f091a74: 8fa50214 */ lw $a1,0x214($sp) +/* f091a78: 0fc29f66 */ jal func0f0a7d98 +/* f091a7c: 2406ffff */ addiu $a2,$zero,-1 +/* f091a80: 0fc2c74a */ jal handGetDamage +/* f091a84: 27a40094 */ addiu $a0,$sp,0x94 +/* f091a88: 8fab0204 */ lw $t3,0x204($sp) +/* f091a8c: 8faa0214 */ lw $t2,0x214($sp) +/* f091a90: 240c00c8 */ addiu $t4,$zero,0xc8 +/* f091a94: c5660010 */ lwc1 $f6,0x10($t3) +/* f091a98: 8d440004 */ lw $a0,0x4($t2) +/* f091a9c: afac0014 */ sw $t4,0x14($sp) +/* f091aa0: 46060102 */ mul.s $f4,$f0,$f6 +/* f091aa4: afa00010 */ sw $zero,0x10($sp) +/* f091aa8: 8fa6020c */ lw $a2,0x20c($sp) +/* f091aac: 27a70094 */ addiu $a3,$sp,0x94 +/* f091ab0: 44052000 */ mfc1 $a1,$f4 +/* f091ab4: 0fc0d0cc */ jal func0f034330 +/* f091ab8: 00000000 */ nop +/* f091abc: 44809000 */ mtc1 $zero,$f18 +/* f091ac0: 8fad0204 */ lw $t5,0x204($sp) +/* f091ac4: e5b20014 */ swc1 $f18,0x14($t5) +.L0f091ac8: +/* f091ac8: 8fae01fc */ lw $t6,0x1fc($sp) +.L0f091acc: +/* f091acc: 8faf01d8 */ lw $t7,0x1d8($sp) +/* f091ad0: 51c00093 */ beqzl $t6,.L0f091d20 +/* f091ad4: 93ae01c7 */ lbu $t6,0x1c7($sp) +/* f091ad8: 11e0007d */ beqz $t7,.L0f091cd0 +/* f091adc: 8fa40208 */ lw $a0,0x208($sp) +/* f091ae0: 91e20000 */ lbu $v0,0x0($t7) +/* f091ae4: 24010003 */ addiu $at,$zero,0x3 +/* f091ae8: 2418ffff */ addiu $t8,$zero,-1 +/* f091aec: 10410004 */ beq $v0,$at,.L0f091b00 +/* f091af0: 241900c8 */ addiu $t9,$zero,0xc8 +/* f091af4: 24010006 */ addiu $at,$zero,0x6 +/* f091af8: 54410040 */ bnel $v0,$at,.L0f091bfc +/* f091afc: 24010001 */ addiu $at,$zero,0x1 +.L0f091b00: +/* f091b00: 8fa801d8 */ lw $t0,0x1d8($sp) +/* f091b04: 8faa0054 */ lw $t2,0x54($sp) +/* f091b08: afa0007c */ sw $zero,0x7c($sp) +/* f091b0c: afa00078 */ sw $zero,0x78($sp) +/* f091b10: afb80074 */ sw $t8,0x74($sp) +/* f091b14: afb90070 */ sw $t9,0x70($sp) +/* f091b18: 8d090004 */ lw $t1,0x4($t0) +/* f091b1c: 24010059 */ addiu $at,$zero,0x59 +/* f091b20: 11410005 */ beq $t2,$at,.L0f091b38 +/* f091b24: afa9006c */ sw $t1,0x6c($sp) +/* f091b28: 27a40094 */ addiu $a0,$sp,0x94 +/* f091b2c: 01002825 */ or $a1,$t0,$zero +/* f091b30: 0fc29f66 */ jal func0f0a7d98 +/* f091b34: 2406ffff */ addiu $a2,$zero,-1 +.L0f091b38: +/* f091b38: 8fab006c */ lw $t3,0x6c($sp) +/* f091b3c: 27a501f0 */ addiu $a1,$sp,0x1f0 +/* f091b40: 8fa6020c */ lw $a2,0x20c($sp) +/* f091b44: 8d6c0020 */ lw $t4,0x20($t3) +/* f091b48: 27a7007c */ addiu $a3,$sp,0x7c +/* f091b4c: 27ad0070 */ addiu $t5,$sp,0x70 +/* f091b50: 11800007 */ beqz $t4,.L0f091b70 +/* f091b54: 01602025 */ or $a0,$t3,$zero +/* f091b58: 27ae0078 */ addiu $t6,$sp,0x78 +/* f091b5c: 27af0074 */ addiu $t7,$sp,0x74 +/* f091b60: afaf0018 */ sw $t7,0x18($sp) +/* f091b64: afae0014 */ sw $t6,0x14($sp) +/* f091b68: 0fc0ffcb */ jal func0f03ff2c +/* f091b6c: afad0010 */ sw $t5,0x10($sp) +.L0f091b70: +/* f091b70: 8fb8020c */ lw $t8,0x20c($sp) +/* f091b74: 8fa4006c */ lw $a0,0x6c($sp) +/* f091b78: 8fa501d8 */ lw $a1,0x1d8($sp) +/* f091b7c: 8fa60070 */ lw $a2,0x70($sp) +/* f091b80: 27a701f0 */ addiu $a3,$sp,0x1f0 +/* f091b84: afa00014 */ sw $zero,0x14($sp) +/* f091b88: 0fc097a9 */ jal chrEmitSparks +/* f091b8c: afb80010 */ sw $t8,0x10($sp) +/* f091b90: 93b90187 */ lbu $t9,0x187($sp) +/* f091b94: 8faa006c */ lw $t2,0x6c($sp) +/* f091b98: 13200002 */ beqz $t9,.L0f091ba4 +/* f091b9c: 24091388 */ addiu $t1,$zero,0x1046 +/* f091ba0: a54902d8 */ sh $t1,0x2d8($t2) +.L0f091ba4: +/* f091ba4: 0fc2c74a */ jal handGetDamage +/* f091ba8: 27a40094 */ addiu $a0,$sp,0x94 +/* f091bac: 8fa80070 */ lw $t0,0x70($sp) +/* f091bb0: 8fac01d8 */ lw $t4,0x1d8($sp) +/* f091bb4: 8fab007c */ lw $t3,0x7c($sp) +/* f091bb8: 8fad0078 */ lw $t5,0x78($sp) +/* f091bbc: 8fae0074 */ lw $t6,0x74($sp) +/* f091bc0: 44050000 */ mfc1 $a1,$f0 +/* f091bc4: 8fa4006c */ lw $a0,0x6c($sp) +/* f091bc8: 8fa6020c */ lw $a2,0x20c($sp) +/* f091bcc: 27a70094 */ addiu $a3,$sp,0x94 +/* f091bd0: afa00010 */ sw $zero,0x10($sp) +/* f091bd4: afa00028 */ sw $zero,0x28($sp) +/* f091bd8: afa80014 */ sw $t0,0x14($sp) +/* f091bdc: afac0018 */ sw $t4,0x18($sp) +/* f091be0: afab001c */ sw $t3,0x1c($sp) +/* f091be4: afad0020 */ sw $t5,0x20($sp) +/* f091be8: 0fc0d077 */ jal func0f0341dc +/* f091bec: afae0024 */ sw $t6,0x24($sp) +/* f091bf0: 1000004b */ b .L0f091d20 +/* f091bf4: 93ae01c7 */ lbu $t6,0x1c7($sp) +/* f091bf8: 24010001 */ addiu $at,$zero,0x1 +.L0f091bfc: +/* f091bfc: 10410006 */ beq $v0,$at,.L0f091c18 +/* f091c00: 8faf01d8 */ lw $t7,0x1d8($sp) +/* f091c04: 24010004 */ addiu $at,$zero,0x4 +/* f091c08: 10410003 */ beq $v0,$at,.L0f091c18 +/* f091c0c: 24010002 */ addiu $at,$zero,0x2 +/* f091c10: 54410043 */ bnel $v0,$at,.L0f091d20 +/* f091c14: 93ae01c7 */ lbu $t6,0x1c7($sp) +.L0f091c18: +/* f091c18: 8fb90054 */ lw $t9,0x54($sp) +/* f091c1c: 8df80004 */ lw $t8,0x4($t7) +/* f091c20: 24010059 */ addiu $at,$zero,0x59 +/* f091c24: 13210005 */ beq $t9,$at,.L0f091c3c +/* f091c28: afb80068 */ sw $t8,0x68($sp) +/* f091c2c: 27a40094 */ addiu $a0,$sp,0x94 +/* f091c30: 01e02825 */ or $a1,$t7,$zero +/* f091c34: 0fc29f66 */ jal func0f0a7d98 +/* f091c38: 2406ffff */ addiu $a2,$zero,-1 +.L0f091c3c: +/* f091c3c: 8fa40208 */ lw $a0,0x208($sp) +/* f091c40: 8fa50050 */ lw $a1,0x50($sp) +/* f091c44: 27a601f0 */ addiu $a2,$sp,0x1f0 +/* f091c48: 0fc1979d */ jal func0f065e74 +/* f091c4c: 27a701c8 */ addiu $a3,$sp,0x1c8 +/* f091c50: 87a401c8 */ lh $a0,0x1c8($sp) +/* f091c54: 8fa501d8 */ lw $a1,0x1d8($sp) +/* f091c58: 27a601f0 */ addiu $a2,$sp,0x1f0 +/* f091c5c: 00003825 */ or $a3,$zero,$zero +/* f091c60: afa00010 */ sw $zero,0x10($sp) +/* f091c64: 0fc4be7c */ jal sparksCreate +/* f091c68: afa00014 */ sw $zero,0x14($sp) +/* f091c6c: 0fc2c74a */ jal handGetDamage +/* f091c70: 27a40094 */ addiu $a0,$sp,0x94 +/* f091c74: 8fa901d8 */ lw $t1,0x1d8($sp) +/* f091c78: 44050000 */ mfc1 $a1,$f0 +/* f091c7c: 240affff */ addiu $t2,$zero,-1 +/* f091c80: 8d240004 */ lw $a0,0x4($t1) +/* f091c84: afaa0010 */ sw $t2,0x10($sp) +/* f091c88: 27a601f0 */ addiu $a2,$sp,0x1f0 +/* f091c8c: 0fc2149c */ jal func0f085270 +/* f091c90: 8fa70054 */ lw $a3,0x54($sp) +/* f091c94: 8fa20068 */ lw $v0,0x68($sp) +/* f091c98: 24010008 */ addiu $at,$zero,0x8 +/* f091c9c: 90480003 */ lbu $t0,0x3($v0) +/* f091ca0: 5501001f */ bnel $t0,$at,.L0f091d20 +/* f091ca4: 93ae01c7 */ lbu $t6,0x1c7($sp) +/* f091ca8: 904c005c */ lbu $t4,0x5c($v0) +/* f091cac: 2401000f */ addiu $at,$zero,0xf +/* f091cb0: 5581001b */ bnel $t4,$at,.L0f091d20 +/* f091cb4: 93ae01c7 */ lbu $t6,0x1c7($sp) +/* f091cb8: 904b005f */ lbu $t3,0x5f($v0) +/* f091cbc: 24010001 */ addiu $at,$zero,0x1 +/* f091cc0: 55610017 */ bnel $t3,$at,.L0f091d20 +/* f091cc4: 93ae01c7 */ lbu $t6,0x1c7($sp) +/* f091cc8: 10000014 */ b .L0f091d1c +/* f091ccc: a4400062 */ sh $zero,0x62($v0) +.L0f091cd0: +/* f091cd0: 8fa50050 */ lw $a1,0x50($sp) +/* f091cd4: 27a601f0 */ addiu $a2,$sp,0x1f0 +/* f091cd8: 0fc1979d */ jal func0f065e74 +/* f091cdc: 27a701c8 */ addiu $a3,$sp,0x1c8 +/* f091ce0: 8fad0054 */ lw $t5,0x54($sp) +/* f091ce4: 24010059 */ addiu $at,$zero,0x59 +/* f091ce8: 27a40094 */ addiu $a0,$sp,0x94 +/* f091cec: 11a10004 */ beq $t5,$at,.L0f091d00 +/* f091cf0: 27a501f0 */ addiu $a1,$sp,0x1f0 +/* f091cf4: 2406ffff */ addiu $a2,$zero,-1 +/* f091cf8: 0fc2a132 */ jal func0f0a84c8 +/* f091cfc: 27a701c8 */ addiu $a3,$sp,0x1c8 +.L0f091d00: +/* f091d00: 87a401c8 */ lh $a0,0x1c8($sp) +/* f091d04: 00002825 */ or $a1,$zero,$zero +/* f091d08: 27a601f0 */ addiu $a2,$sp,0x1f0 +/* f091d0c: 00003825 */ or $a3,$zero,$zero +/* f091d10: afa00010 */ sw $zero,0x10($sp) +/* f091d14: 0fc4be7c */ jal sparksCreate +/* f091d18: afa00014 */ sw $zero,0x14($sp) +.L0f091d1c: +/* f091d1c: 93ae01c7 */ lbu $t6,0x1c7($sp) +.L0f091d20: +/* f091d20: 8fb80204 */ lw $t8,0x204($sp) +/* f091d24: 93af01c7 */ lbu $t7,0x1c7($sp) +/* f091d28: 15c00006 */ bnez $t6,.L0f091d44 +/* f091d2c: 93aa01c7 */ lbu $t2,0x1c7($sp) +/* f091d30: 53000011 */ beqzl $t8,.L0f091d78 +/* f091d34: 8fbf0044 */ lw $ra,0x44($sp) +/* f091d38: 93190001 */ lbu $t9,0x1($t8) +/* f091d3c: 5320000e */ beqzl $t9,.L0f091d78 +/* f091d40: 8fbf0044 */ lw $ra,0x44($sp) +.L0f091d44: +/* f091d44: 11e00003 */ beqz $t7,.L0f091d54 +/* f091d48: 27a6018c */ addiu $a2,$sp,0x18c +/* f091d4c: 10000003 */ b .L0f091d5c +/* f091d50: 27a40198 */ addiu $a0,$sp,0x198 +.L0f091d54: +/* f091d54: 8fa90204 */ lw $t1,0x204($sp) +/* f091d58: 8d240004 */ lw $a0,0x4($t1) +.L0f091d5c: +/* f091d5c: 11400003 */ beqz $t2,.L0f091d6c +/* f091d60: 8fa50054 */ lw $a1,0x54($sp) +/* f091d64: 10000001 */ b .L0f091d6c +/* f091d68: 24050002 */ addiu $a1,$zero,0x2 +.L0f091d6c: +/* f091d6c: 0fc2af9c */ jal func0f0abe70 +/* f091d70: 27a701f0 */ addiu $a3,$sp,0x1f0 +.L0f091d74: +/* f091d74: 8fbf0044 */ lw $ra,0x44($sp) +.L0f091d78: +/* f091d78: 27bd0200 */ addiu $sp,$sp,0x200 +/* f091d7c: 03e00008 */ jr $ra +/* f091d80: 00000000 */ nop +); +#else GLOBAL_ASM( glabel projectileCreate .late_rodata @@ -61955,6 +67783,7 @@ glabel var7f1ab214 /* f091d7c: 03e00008 */ jr $ra /* f091d80: 00000000 */ nop ); +#endif void objSetModelPartVisible(struct defaultobj *obj, s32 partnum, bool visible) { diff --git a/src/game/radar.c b/src/game/radar.c index 8b91974ad..b8749331d 100644 --- a/src/game/radar.c +++ b/src/game/radar.c @@ -142,7 +142,7 @@ Gfx *radarDrawDot(Gfx *gdl, struct prop *prop, struct coord *dist, u32 colour1, } x = g_RadarX + (s32)(sinf(spcc * 0.017453292384744f) * sqdist); - y = g_RadarY + (s32)FRAMESTOTIME60(cosf(spcc * 0.017453292384744f) * sqdist); + y = g_RadarY + (s32)PALUPF(cosf(spcc * 0.017453292384744f) * sqdist); if (swapcolours) { if (prop == g_Vars.currentplayer->prop) { @@ -306,7 +306,7 @@ Gfx *radarRender(Gfx *gdl) } } - g_RadarY = viGetViewTop() + 26; + g_RadarY = viGetViewTop() + (PAL ? 29 : 26); if (playercount == 2) { if (IS4MB()) { diff --git a/src/game/room.c b/src/game/room.c index 6b77b8e6b..31ce886e6 100644 --- a/src/game/room.c +++ b/src/game/room.c @@ -3864,9 +3864,9 @@ void bgInit(s32 stagenum) #if PIRACYCHECKS { - u32 addr = not(~0xb0000454); + u32 addr = not(PAL ? ~0xb0000340 : ~0xb0000454); u32 actualvalue; - u32 expectedvalue = xorBabebabe(0x0109082b ^ 0xbabebabe); + u32 expectedvalue = xorBabebabe((PAL ? 0x0330c820 : 0x0109082b) ^ 0xbabebabe); osPiReadIo(addr, &actualvalue); diff --git a/src/game/shards/shards.c b/src/game/shards/shards.c index 41e5596ae..643e4cc47 100644 --- a/src/game/shards/shards.c +++ b/src/game/shards/shards.c @@ -127,9 +127,9 @@ void shardCreate(s16 room, struct coord *pos, f32 rotx, f32 size, s32 type) g_Shards[g_NextShardNum].pos.y = pos->y; g_Shards[g_NextShardNum].pos.z = pos->z; - g_Shards[g_NextShardNum].vel.x = velx * FRAMESTOTIME60(1.5f); - g_Shards[g_NextShardNum].vel.y = vely * FRAMESTOTIME60(3.0f); - g_Shards[g_NextShardNum].vel.z = velz * FRAMESTOTIME60(1.5f); + g_Shards[g_NextShardNum].vel.x = velx * PALUPF(1.5f); + g_Shards[g_NextShardNum].vel.y = vely * PALUPF(3.0f); + g_Shards[g_NextShardNum].vel.z = velz * PALUPF(1.5f); g_Shards[g_NextShardNum].vertices[0].x = (random() * (1.0f / U32_MAX) * 0.5f + 1.0f) * size; g_Shards[g_NextShardNum].vertices[0].y = (random() * (1.0f / U32_MAX) * 0.5f + 1.0f) * size; @@ -194,9 +194,9 @@ void shardCreate(s16 room, struct coord *pos, f32 rotx, f32 size, s32 type) g_Shards[g_NextShardNum].rot.y = 0; g_Shards[g_NextShardNum].rot.z = random() * (1.0f / U32_MAX) * M_BADTAU; - g_Shards[g_NextShardNum].rotspeed.x = random() * (1.0f / U32_MAX) * FRAMESTOTIME60(0.1f); - g_Shards[g_NextShardNum].rotspeed.y = random() * (1.0f / U32_MAX) * FRAMESTOTIME60(0.1f); - g_Shards[g_NextShardNum].rotspeed.z = random() * (1.0f / U32_MAX) * FRAMESTOTIME60(0.1f); + g_Shards[g_NextShardNum].rotspeed.x = random() * (1.0f / U32_MAX) * PALUPF(0.1f); + g_Shards[g_NextShardNum].rotspeed.y = random() * (1.0f / U32_MAX) * PALUPF(0.1f); + g_Shards[g_NextShardNum].rotspeed.z = random() * (1.0f / U32_MAX) * PALUPF(0.1f); g_NextShardNum++; @@ -282,7 +282,7 @@ Gfx *shardsRenderWood(Gfx *gdl) if (g_Vars.currentplayer->visionmode == VISIONMODE_XRAY) { u8 (*colours)[4] = gfxAllocateColours(3); - if (g_Shards[i].age60 >= 100) { + if (g_Shards[i].age60 >= PALDOWN(100)) { f32 frac = g_Shards[i].age60 / (PAL ? 41.666664123535f : 50.0f); if (frac > 1) { @@ -405,7 +405,7 @@ Gfx *shardsRenderGlass(Gfx *gdl) if (g_Vars.currentplayer->visionmode == VISIONMODE_XRAY) { u8 (*colours)[4] = gfxAllocateColours(3); - if (g_Shards[i].age60 >= 100) { + if (g_Shards[i].age60 >= PALDOWN(100)) { f32 frac = g_Shards[i].age60 / (PAL ? 41.666664123535f : 50.0f); if (frac > 1) { diff --git a/src/game/shards/tick.c b/src/game/shards/tick.c index 99c2b2957..9d76e22f8 100644 --- a/src/game/shards/tick.c +++ b/src/game/shards/tick.c @@ -11,7 +11,7 @@ void shardsTick(void) s32 j; if (g_ShardsActive) { - lvupdate = (g_Vars.lvupdate240_60 < 15) ? g_Vars.lvupdate240_60 : 15; + lvupdate = (g_Vars.lvupdate240_60 < PALDOWN(15)) ? g_Vars.lvupdate240_60 : PALDOWN(15); for (i = 0; i < g_MaxShards; i++) { if (g_Shards[i].age60 > 0) { @@ -25,10 +25,10 @@ void shardsTick(void) for (j = 0; j < (s32)lvupdate; j++) { g_Shards[i].pos.y += g_Shards[i].vel.y; - g_Shards[i].vel.y -= FRAMESTOTIME60(0.1f); + g_Shards[i].vel.y -= PALUPF(0.1f); } - if (g_Shards[i].age60 >= 150) { + if (g_Shards[i].age60 >= PALDOWN(150)) { g_Shards[i].age60 = 0; } diff --git a/src/game/sight.c b/src/game/sight.c index b757acf63..e4d3dd703 100644 --- a/src/game/sight.c +++ b/src/game/sight.c @@ -175,17 +175,17 @@ void sightTick(bool sighton) g_Vars.currentplayer->sighttimer240 += g_Vars.lvupdate240; for (i = 0; i < 4; i++) { - if (g_Vars.currentplayer->targetset[i] > 512) { - if (g_Vars.currentplayer->targetset[i] < 1024 - g_Vars.lvupdate240) { + if (g_Vars.currentplayer->targetset[i] > PALDOWN(512)) { + if (g_Vars.currentplayer->targetset[i] < (PAL ? 850 : 1024) - g_Vars.lvupdate240) { g_Vars.currentplayer->targetset[i] += g_Vars.lvupdate240; } else { - g_Vars.currentplayer->targetset[i] = 1020; + g_Vars.currentplayer->targetset[i] = PALDOWN(1020); } } else { - if (g_Vars.currentplayer->targetset[i] < 516 - g_Vars.lvupdate240) { + if (g_Vars.currentplayer->targetset[i] < (PAL ? 426 : 516) - g_Vars.lvupdate240) { g_Vars.currentplayer->targetset[i] += g_Vars.lvupdate240; } else { - g_Vars.currentplayer->targetset[i] = 512; + g_Vars.currentplayer->targetset[i] = PALDOWN(512); } } } @@ -332,6 +332,451 @@ s32 func0f0d789c(s32 arg0, s32 arg1, s32 arg2, s32 arg3) return value / arg3 + arg1; } +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel sightRenderTargetBox +/* f0d78f4: 27bdff68 */ addiu $sp,$sp,-152 +/* f0d78f8: afbf0034 */ sw $ra,0x34($sp) +/* f0d78fc: afa40098 */ sw $a0,0x98($sp) +/* f0d7900: afa5009c */ sw $a1,0x9c($sp) +/* f0d7904: afa600a0 */ sw $a2,0xa0($sp) +/* f0d7908: 0c002f40 */ jal viGetViewLeft +/* f0d790c: afa700a4 */ sw $a3,0xa4($sp) +/* f0d7910: 3c0e8008 */ lui $t6,%hi(g_ScaleX) +/* f0d7914: 8dcefac0 */ lw $t6,%lo(g_ScaleX)($t6) +/* f0d7918: 004e001a */ div $zero,$v0,$t6 +/* f0d791c: 00007812 */ mflo $t7 +/* f0d7920: afaf0094 */ sw $t7,0x94($sp) +/* f0d7924: 15c00002 */ bnez $t6,.L0f0d7930 +/* f0d7928: 00000000 */ nop +/* f0d792c: 0007000d */ break 0x7 +.L0f0d7930: +/* f0d7930: 2401ffff */ addiu $at,$zero,-1 +/* f0d7934: 15c10004 */ bne $t6,$at,.L0f0d7948 +/* f0d7938: 3c018000 */ lui $at,0x8000 +/* f0d793c: 14410002 */ bne $v0,$at,.L0f0d7948 +/* f0d7940: 00000000 */ nop +/* f0d7944: 0006000d */ break 0x6 +.L0f0d7948: +/* f0d7948: 0c002f44 */ jal viGetViewTop +/* f0d794c: 00000000 */ nop +/* f0d7950: 0c002f22 */ jal viGetViewWidth +/* f0d7954: afa20090 */ sw $v0,0x90($sp) +/* f0d7958: 3c188008 */ lui $t8,%hi(g_ScaleX) +/* f0d795c: 8f18fac0 */ lw $t8,%lo(g_ScaleX)($t8) +/* f0d7960: 8fad0090 */ lw $t5,0x90($sp) +/* f0d7964: 0058001a */ div $zero,$v0,$t8 +/* f0d7968: 0000c812 */ mflo $t9 +/* f0d796c: afb9008c */ sw $t9,0x8c($sp) +/* f0d7970: 17000002 */ bnez $t8,.L0f0d797c +/* f0d7974: 00000000 */ nop +/* f0d7978: 0007000d */ break 0x7 +.L0f0d797c: +/* f0d797c: 2401ffff */ addiu $at,$zero,-1 +/* f0d7980: 17010004 */ bne $t8,$at,.L0f0d7994 +/* f0d7984: 3c018000 */ lui $at,0x8000 +/* f0d7988: 14410002 */ bne $v0,$at,.L0f0d7994 +/* f0d798c: 00000000 */ nop +/* f0d7990: 0006000d */ break 0x6 +.L0f0d7994: +/* f0d7994: 0c002f26 */ jal viGetViewHeight +/* f0d7998: 00000000 */ nop +/* f0d799c: 8fae0090 */ lw $t6,0x90($sp) +/* f0d79a0: 24190001 */ addiu $t9,$zero,0x1 +/* f0d79a4: afb90068 */ sw $t9,0x68($sp) +/* f0d79a8: 01c27821 */ addu $t7,$t6,$v0 +/* f0d79ac: 8fae00a4 */ lw $t6,0xa4($sp) +/* f0d79b0: 25f8ffff */ addiu $t8,$t7,-1 +/* f0d79b4: afb80080 */ sw $t8,0x80($sp) +/* f0d79b8: 29c10201 */ slti $at,$t6,0x1ab +/* f0d79bc: 54200004 */ bnezl $at,.L0f0d79d0 +/* f0d79c0: 8fb8009c */ lw $t8,0x9c($sp) +/* f0d79c4: 240f0200 */ addiu $t7,$zero,0x1aa +/* f0d79c8: afaf00a4 */ sw $t7,0xa4($sp) +/* f0d79cc: 8fb8009c */ lw $t8,0x9c($sp) +.L0f0d79d0: +/* f0d79d0: 3c0e8008 */ lui $t6,%hi(g_ScaleX) +/* f0d79d4: 8dcefac0 */ lw $t6,%lo(g_ScaleX)($t6) +/* f0d79d8: 87190004 */ lh $t9,0x4($t8) +/* f0d79dc: 8fa50094 */ lw $a1,0x94($sp) +/* f0d79e0: 8fa600a4 */ lw $a2,0xa4($sp) +/* f0d79e4: 032e001a */ div $zero,$t9,$t6 +/* f0d79e8: 00002012 */ mflo $a0 +/* f0d79ec: 24070050 */ addiu $a3,$zero,0x42 +/* f0d79f0: 15c00002 */ bnez $t6,.L0f0d79fc +/* f0d79f4: 00000000 */ nop +/* f0d79f8: 0007000d */ break 0x7 +.L0f0d79fc: +/* f0d79fc: 2401ffff */ addiu $at,$zero,-1 +/* f0d7a00: 15c10004 */ bne $t6,$at,.L0f0d7a14 +/* f0d7a04: 3c018000 */ lui $at,0x8000 +/* f0d7a08: 17210002 */ bne $t9,$at,.L0f0d7a14 +/* f0d7a0c: 00000000 */ nop +/* f0d7a10: 0006000d */ break 0x6 +.L0f0d7a14: +/* f0d7a14: 0fc35e27 */ jal func0f0d789c +/* f0d7a18: 00000000 */ nop +/* f0d7a1c: 8faf009c */ lw $t7,0x9c($sp) +/* f0d7a20: 8fa50090 */ lw $a1,0x90($sp) +/* f0d7a24: 8fa600a4 */ lw $a2,0xa4($sp) +/* f0d7a28: 85e40006 */ lh $a0,0x6($t7) +/* f0d7a2c: afa20078 */ sw $v0,0x78($sp) +/* f0d7a30: 0fc35e27 */ jal func0f0d789c +/* f0d7a34: 24070050 */ addiu $a3,$zero,0x42 +/* f0d7a38: 8fb8009c */ lw $t8,0x9c($sp) +/* f0d7a3c: 3c0e8008 */ lui $t6,%hi(g_ScaleX) +/* f0d7a40: 8dcefac0 */ lw $t6,%lo(g_ScaleX)($t6) +/* f0d7a44: 87190008 */ lh $t9,0x8($t8) +/* f0d7a48: 8fb8008c */ lw $t8,0x8c($sp) +/* f0d7a4c: 8faf0094 */ lw $t7,0x94($sp) +/* f0d7a50: 032e001a */ div $zero,$t9,$t6 +/* f0d7a54: 01f82821 */ addu $a1,$t7,$t8 +/* f0d7a58: 00405025 */ or $t2,$v0,$zero +/* f0d7a5c: 24a5ffff */ addiu $a1,$a1,-1 +/* f0d7a60: 00002012 */ mflo $a0 +/* f0d7a64: 8fa90078 */ lw $t1,0x78($sp) +/* f0d7a68: 8fac0080 */ lw $t4,0x80($sp) +/* f0d7a6c: 8fad0090 */ lw $t5,0x90($sp) +/* f0d7a70: 15c00002 */ bnez $t6,.L0f0d7a7c +/* f0d7a74: 00000000 */ nop +/* f0d7a78: 0007000d */ break 0x7 +.L0f0d7a7c: +/* f0d7a7c: 2401ffff */ addiu $at,$zero,-1 +/* f0d7a80: 15c10004 */ bne $t6,$at,.L0f0d7a94 +/* f0d7a84: 3c018000 */ lui $at,0x8000 +/* f0d7a88: 17210002 */ bne $t9,$at,.L0f0d7a94 +/* f0d7a8c: 00000000 */ nop +/* f0d7a90: 0006000d */ break 0x6 +.L0f0d7a94: +/* f0d7a94: afa5003c */ sw $a1,0x3c($sp) +/* f0d7a98: afaa0070 */ sw $t2,0x70($sp) +/* f0d7a9c: 8fa600a4 */ lw $a2,0xa4($sp) +/* f0d7aa0: 0fc35e27 */ jal func0f0d789c +/* f0d7aa4: 24070050 */ addiu $a3,$zero,0x42 +/* f0d7aa8: 8fb9009c */ lw $t9,0x9c($sp) +/* f0d7aac: 8fa50080 */ lw $a1,0x80($sp) +/* f0d7ab0: 8fa600a4 */ lw $a2,0xa4($sp) +/* f0d7ab4: 8724000a */ lh $a0,0xa($t9) +/* f0d7ab8: afa20074 */ sw $v0,0x74($sp) +/* f0d7abc: 0fc35e27 */ jal func0f0d789c +/* f0d7ac0: 24070050 */ addiu $a3,$zero,0x42 +/* f0d7ac4: 8fae009c */ lw $t6,0x9c($sp) +/* f0d7ac8: 8fa80074 */ lw $t0,0x74($sp) +/* f0d7acc: 8fa90078 */ lw $t1,0x78($sp) +/* f0d7ad0: 8dc40000 */ lw $a0,0x0($t6) +/* f0d7ad4: 8faa0070 */ lw $t2,0x70($sp) +/* f0d7ad8: 5080011a */ beqzl $a0,.L0f0d7f44 +/* f0d7adc: 8fbf0034 */ lw $ra,0x34($sp) +/* f0d7ae0: afa2006c */ sw $v0,0x6c($sp) +/* f0d7ae4: afa80074 */ sw $t0,0x74($sp) +/* f0d7ae8: afa90078 */ sw $t1,0x78($sp) +/* f0d7aec: 0fc35c1c */ jal sightIsPropFriendly +/* f0d7af0: afaa0070 */ sw $t2,0x70($sp) +/* f0d7af4: 8fa6006c */ lw $a2,0x6c($sp) +/* f0d7af8: 8fa80074 */ lw $t0,0x74($sp) +/* f0d7afc: 8fa90078 */ lw $t1,0x78($sp) +/* f0d7b00: 10400003 */ beqz $v0,.L0f0d7b10 +/* f0d7b04: 8faa0070 */ lw $t2,0x70($sp) +/* f0d7b08: 10000003 */ b .L0f0d7b18 +/* f0d7b0c: 3405ff60 */ dli $a1,0xff60 +.L0f0d7b10: +/* f0d7b10: 3c05ff00 */ lui $a1,0xff00 +/* f0d7b14: 34a50060 */ ori $a1,$a1,0x60 +.L0f0d7b18: +/* f0d7b18: 8fa40098 */ lw $a0,0x98($sp) +/* f0d7b1c: afa6006c */ sw $a2,0x6c($sp) +/* f0d7b20: afa80074 */ sw $t0,0x74($sp) +/* f0d7b24: afa90078 */ sw $t1,0x78($sp) +/* f0d7b28: 0fc54df7 */ jal gfxSetPrimColour +/* f0d7b2c: afaa0070 */ sw $t2,0x70($sp) +/* f0d7b30: 8fa50094 */ lw $a1,0x94($sp) +/* f0d7b34: 8fa90078 */ lw $t1,0x78($sp) +/* f0d7b38: 8fa6006c */ lw $a2,0x6c($sp) +/* f0d7b3c: 8fa80074 */ lw $t0,0x74($sp) +/* f0d7b40: 0125082a */ slt $at,$t1,$a1 +/* f0d7b44: 8faa0070 */ lw $t2,0x70($sp) +/* f0d7b48: 8fab003c */ lw $t3,0x3c($sp) +/* f0d7b4c: 8fac0080 */ lw $t4,0x80($sp) +/* f0d7b50: 8fad0090 */ lw $t5,0x90($sp) +/* f0d7b54: 1420002b */ bnez $at,.L0f0d7c04 +/* f0d7b58: 00402025 */ or $a0,$v0,$zero +/* f0d7b5c: 0169082a */ slt $at,$t3,$t1 +/* f0d7b60: 14200028 */ bnez $at,.L0f0d7c04 +/* f0d7b64: 018a082a */ slt $at,$t4,$t2 +/* f0d7b68: 14200026 */ bnez $at,.L0f0d7c04 +/* f0d7b6c: 00cd082a */ slt $at,$a2,$t5 +/* f0d7b70: 14200024 */ bnez $at,.L0f0d7c04 +/* f0d7b74: 00401825 */ or $v1,$v0,$zero +/* f0d7b78: 00cc082a */ slt $at,$a2,$t4 +/* f0d7b7c: 10200003 */ beqz $at,.L0f0d7b8c +/* f0d7b80: 24440008 */ addiu $a0,$v0,0x8 +/* f0d7b84: 10000002 */ b .L0f0d7b90 +/* f0d7b88: 00c01025 */ or $v0,$a2,$zero +.L0f0d7b8c: +/* f0d7b8c: 01801025 */ or $v0,$t4,$zero +.L0f0d7b90: +/* f0d7b90: 3c078008 */ lui $a3,%hi(g_ScaleX) +/* f0d7b94: 24e7fac0 */ addiu $a3,$a3,%lo(g_ScaleX) +/* f0d7b98: 8cf80000 */ lw $t8,0x0($a3) +/* f0d7b9c: 252f0001 */ addiu $t7,$t1,0x1 +/* f0d7ba0: 3c1ff600 */ lui $ra,0xf600 +/* f0d7ba4: 01f80019 */ multu $t7,$t8 +/* f0d7ba8: 24580001 */ addiu $t8,$v0,0x1 +/* f0d7bac: 01aa082a */ slt $at,$t5,$t2 +/* f0d7bb0: 01a01025 */ or $v0,$t5,$zero +/* f0d7bb4: 0000c812 */ mflo $t9 +/* f0d7bb8: 332e03ff */ andi $t6,$t9,0x3ff +/* f0d7bbc: 000e7b80 */ sll $t7,$t6,0xe +/* f0d7bc0: 331903ff */ andi $t9,$t8,0x3ff +/* f0d7bc4: 00197080 */ sll $t6,$t9,0x2 +/* f0d7bc8: 01dfc025 */ or $t8,$t6,$ra +/* f0d7bcc: 030fc825 */ or $t9,$t8,$t7 +/* f0d7bd0: 10200003 */ beqz $at,.L0f0d7be0 +/* f0d7bd4: ac790000 */ sw $t9,0x0($v1) +/* f0d7bd8: 10000001 */ b .L0f0d7be0 +/* f0d7bdc: 01401025 */ or $v0,$t2,$zero +.L0f0d7be0: +/* f0d7be0: 8cef0000 */ lw $t7,0x0($a3) +/* f0d7be4: 304e03ff */ andi $t6,$v0,0x3ff +/* f0d7be8: 000ec080 */ sll $t8,$t6,0x2 +/* f0d7bec: 012f0019 */ multu $t1,$t7 +/* f0d7bf0: 0000c812 */ mflo $t9 +/* f0d7bf4: 332e03ff */ andi $t6,$t9,0x3ff +/* f0d7bf8: 000e7b80 */ sll $t7,$t6,0xe +/* f0d7bfc: 030fc825 */ or $t9,$t8,$t7 +/* f0d7c00: ac790004 */ sw $t9,0x4($v1) +.L0f0d7c04: +/* f0d7c04: 3c078008 */ lui $a3,%hi(g_ScaleX) +/* f0d7c08: 0105082a */ slt $at,$t0,$a1 +/* f0d7c0c: 24e7fac0 */ addiu $a3,$a3,%lo(g_ScaleX) +/* f0d7c10: 14200029 */ bnez $at,.L0f0d7cb8 +/* f0d7c14: 3c1ff600 */ lui $ra,0xf600 +/* f0d7c18: 0168082a */ slt $at,$t3,$t0 +/* f0d7c1c: 14200026 */ bnez $at,.L0f0d7cb8 +/* f0d7c20: 018a082a */ slt $at,$t4,$t2 +/* f0d7c24: 14200024 */ bnez $at,.L0f0d7cb8 +/* f0d7c28: 00cd082a */ slt $at,$a2,$t5 +/* f0d7c2c: 14200022 */ bnez $at,.L0f0d7cb8 +/* f0d7c30: 00801825 */ or $v1,$a0,$zero +/* f0d7c34: 00cc082a */ slt $at,$a2,$t4 +/* f0d7c38: 10200003 */ beqz $at,.L0f0d7c48 +/* f0d7c3c: 24840008 */ addiu $a0,$a0,0x8 +/* f0d7c40: 10000002 */ b .L0f0d7c4c +/* f0d7c44: 00c01025 */ or $v0,$a2,$zero +.L0f0d7c48: +/* f0d7c48: 01801025 */ or $v0,$t4,$zero +.L0f0d7c4c: +/* f0d7c4c: 8cf80000 */ lw $t8,0x0($a3) +/* f0d7c50: 250e0001 */ addiu $t6,$t0,0x1 +/* f0d7c54: 01aa082a */ slt $at,$t5,$t2 +/* f0d7c58: 01d80019 */ multu $t6,$t8 +/* f0d7c5c: 24580001 */ addiu $t8,$v0,0x1 +/* f0d7c60: 01a01025 */ or $v0,$t5,$zero +/* f0d7c64: 00007812 */ mflo $t7 +/* f0d7c68: 31f903ff */ andi $t9,$t7,0x3ff +/* f0d7c6c: 00197380 */ sll $t6,$t9,0xe +/* f0d7c70: 330f03ff */ andi $t7,$t8,0x3ff +/* f0d7c74: 000fc880 */ sll $t9,$t7,0x2 +/* f0d7c78: 033fc025 */ or $t8,$t9,$ra +/* f0d7c7c: 030e7825 */ or $t7,$t8,$t6 +/* f0d7c80: 10200003 */ beqz $at,.L0f0d7c90 +/* f0d7c84: ac6f0000 */ sw $t7,0x0($v1) +/* f0d7c88: 10000001 */ b .L0f0d7c90 +/* f0d7c8c: 01401025 */ or $v0,$t2,$zero +.L0f0d7c90: +/* f0d7c90: 8cee0000 */ lw $t6,0x0($a3) +/* f0d7c94: 305903ff */ andi $t9,$v0,0x3ff +/* f0d7c98: 0019c080 */ sll $t8,$t9,0x2 +/* f0d7c9c: 010e0019 */ multu $t0,$t6 +/* f0d7ca0: 00007812 */ mflo $t7 +/* f0d7ca4: 31f903ff */ andi $t9,$t7,0x3ff +/* f0d7ca8: 00197380 */ sll $t6,$t9,0xe +/* f0d7cac: 030e7825 */ or $t7,$t8,$t6 +/* f0d7cb0: 10000002 */ b .L0f0d7cbc +/* f0d7cb4: ac6f0004 */ sw $t7,0x4($v1) +.L0f0d7cb8: +/* f0d7cb8: afa00068 */ sw $zero,0x68($sp) +.L0f0d7cbc: +/* f0d7cbc: 014d082a */ slt $at,$t2,$t5 +/* f0d7cc0: 14200028 */ bnez $at,.L0f0d7d64 +/* f0d7cc4: 018a082a */ slt $at,$t4,$t2 +/* f0d7cc8: 14200026 */ bnez $at,.L0f0d7d64 +/* f0d7ccc: 0169082a */ slt $at,$t3,$t1 +/* f0d7cd0: 14200024 */ bnez $at,.L0f0d7d64 +/* f0d7cd4: 0105082a */ slt $at,$t0,$a1 +/* f0d7cd8: 14200022 */ bnez $at,.L0f0d7d64 +/* f0d7cdc: 00801825 */ or $v1,$a0,$zero +/* f0d7ce0: 010b082a */ slt $at,$t0,$t3 +/* f0d7ce4: 10200003 */ beqz $at,.L0f0d7cf4 +/* f0d7ce8: 24840008 */ addiu $a0,$a0,0x8 +/* f0d7cec: 10000002 */ b .L0f0d7cf8 +/* f0d7cf0: 01001025 */ or $v0,$t0,$zero +.L0f0d7cf4: +/* f0d7cf4: 01601025 */ or $v0,$t3,$zero +.L0f0d7cf8: +/* f0d7cf8: 8cf80000 */ lw $t8,0x0($a3) +/* f0d7cfc: 24590001 */ addiu $t9,$v0,0x1 +/* f0d7d00: 00a9082a */ slt $at,$a1,$t1 +/* f0d7d04: 03380019 */ multu $t9,$t8 +/* f0d7d08: 00a01025 */ or $v0,$a1,$zero +/* f0d7d0c: 00007012 */ mflo $t6 +/* f0d7d10: 31cf03ff */ andi $t7,$t6,0x3ff +/* f0d7d14: 000fcb80 */ sll $t9,$t7,0xe +/* f0d7d18: 254e0001 */ addiu $t6,$t2,0x1 +/* f0d7d1c: 31cf03ff */ andi $t7,$t6,0x3ff +/* f0d7d20: 033fc025 */ or $t8,$t9,$ra +/* f0d7d24: 000fc880 */ sll $t9,$t7,0x2 +/* f0d7d28: 03197025 */ or $t6,$t8,$t9 +/* f0d7d2c: 10200003 */ beqz $at,.L0f0d7d3c +/* f0d7d30: ac6e0000 */ sw $t6,0x0($v1) +/* f0d7d34: 10000001 */ b .L0f0d7d3c +/* f0d7d38: 01201025 */ or $v0,$t1,$zero +.L0f0d7d3c: +/* f0d7d3c: 8cef0000 */ lw $t7,0x0($a3) +/* f0d7d40: 004f0019 */ multu $v0,$t7 +/* f0d7d44: 314f03ff */ andi $t7,$t2,0x3ff +/* f0d7d48: 0000c012 */ mflo $t8 +/* f0d7d4c: 331903ff */ andi $t9,$t8,0x3ff +/* f0d7d50: 00197380 */ sll $t6,$t9,0xe +/* f0d7d54: 000fc080 */ sll $t8,$t7,0x2 +/* f0d7d58: 01d8c825 */ or $t9,$t6,$t8 +/* f0d7d5c: 10000002 */ b .L0f0d7d68 +/* f0d7d60: ac790004 */ sw $t9,0x4($v1) +.L0f0d7d64: +/* f0d7d64: afa00068 */ sw $zero,0x68($sp) +.L0f0d7d68: +/* f0d7d68: 00cd082a */ slt $at,$a2,$t5 +/* f0d7d6c: 14200027 */ bnez $at,.L0f0d7e0c +/* f0d7d70: 0186082a */ slt $at,$t4,$a2 +/* f0d7d74: 14200025 */ bnez $at,.L0f0d7e0c +/* f0d7d78: 0169082a */ slt $at,$t3,$t1 +/* f0d7d7c: 14200023 */ bnez $at,.L0f0d7e0c +/* f0d7d80: 0105082a */ slt $at,$t0,$a1 +/* f0d7d84: 14200021 */ bnez $at,.L0f0d7e0c +/* f0d7d88: 00801825 */ or $v1,$a0,$zero +/* f0d7d8c: 010b082a */ slt $at,$t0,$t3 +/* f0d7d90: 10200003 */ beqz $at,.L0f0d7da0 +/* f0d7d94: 24840008 */ addiu $a0,$a0,0x8 +/* f0d7d98: 10000002 */ b .L0f0d7da4 +/* f0d7d9c: 01001025 */ or $v0,$t0,$zero +.L0f0d7da0: +/* f0d7da0: 01601025 */ or $v0,$t3,$zero +.L0f0d7da4: +/* f0d7da4: 8cee0000 */ lw $t6,0x0($a3) +/* f0d7da8: 244f0001 */ addiu $t7,$v0,0x1 +/* f0d7dac: 00a9082a */ slt $at,$a1,$t1 +/* f0d7db0: 01ee0019 */ multu $t7,$t6 +/* f0d7db4: 00a01025 */ or $v0,$a1,$zero +/* f0d7db8: 0000c012 */ mflo $t8 +/* f0d7dbc: 331903ff */ andi $t9,$t8,0x3ff +/* f0d7dc0: 00197b80 */ sll $t7,$t9,0xe +/* f0d7dc4: 24d80001 */ addiu $t8,$a2,0x1 +/* f0d7dc8: 331903ff */ andi $t9,$t8,0x3ff +/* f0d7dcc: 01ff7025 */ or $t6,$t7,$ra +/* f0d7dd0: 00197880 */ sll $t7,$t9,0x2 +/* f0d7dd4: 01cfc025 */ or $t8,$t6,$t7 +/* f0d7dd8: 10200003 */ beqz $at,.L0f0d7de8 +/* f0d7ddc: ac780000 */ sw $t8,0x0($v1) +/* f0d7de0: 10000001 */ b .L0f0d7de8 +/* f0d7de4: 01201025 */ or $v0,$t1,$zero +.L0f0d7de8: +/* f0d7de8: 8cf90000 */ lw $t9,0x0($a3) +/* f0d7dec: 00590019 */ multu $v0,$t9 +/* f0d7df0: 30d903ff */ andi $t9,$a2,0x3ff +/* f0d7df4: 00007012 */ mflo $t6 +/* f0d7df8: 31cf03ff */ andi $t7,$t6,0x3ff +/* f0d7dfc: 000fc380 */ sll $t8,$t7,0xe +/* f0d7e00: 00197080 */ sll $t6,$t9,0x2 +/* f0d7e04: 030e7825 */ or $t7,$t8,$t6 +/* f0d7e08: ac6f0004 */ sw $t7,0x4($v1) +.L0f0d7e0c: +/* f0d7e0c: afa80074 */ sw $t0,0x74($sp) +/* f0d7e10: 0fc54e0e */ jal func0f153838 +/* f0d7e14: afaa0070 */ sw $t2,0x70($sp) +/* f0d7e18: 8fa400a0 */ lw $a0,0xa0($sp) +/* f0d7e1c: 8fa80074 */ lw $t0,0x74($sp) +/* f0d7e20: 8faa0070 */ lw $t2,0x70($sp) +/* f0d7e24: 10800046 */ beqz $a0,.L0f0d7f40 +/* f0d7e28: afa20098 */ sw $v0,0x98($sp) +/* f0d7e2c: 8fb90068 */ lw $t9,0x68($sp) +/* f0d7e30: 25180003 */ addiu $t8,$t0,0x3 +/* f0d7e34: 254e0003 */ addiu $t6,$t2,0x3 +/* f0d7e38: 13200041 */ beqz $t9,.L0f0d7f40 +/* f0d7e3c: 28810007 */ slti $at,$a0,0x7 +/* f0d7e40: afb80054 */ sw $t8,0x54($sp) +/* f0d7e44: 10200022 */ beqz $at,.L0f0d7ed0 +/* f0d7e48: afae0050 */ sw $t6,0x50($sp) +/* f0d7e4c: 3c198007 */ lui $t9,%hi(var80070f80) +/* f0d7e50: 27390f80 */ addiu $t9,$t9,%lo(var80070f80) +/* f0d7e54: 9b210002 */ lwr $at,0x2($t9) +/* f0d7e58: 27af004c */ addiu $t7,$sp,0x4c +/* f0d7e5c: 2498002f */ addiu $t8,$a0,0x2f +/* f0d7e60: b9e10002 */ swr $at,0x2($t7) +/* f0d7e64: 0c002f02 */ jal viGetWidth +/* f0d7e68: a3b8004c */ sb $t8,0x4c($sp) +/* f0d7e6c: 0c002f06 */ jal viGetHeight +/* f0d7e70: a7a20040 */ sh $v0,0x40($sp) +/* f0d7e74: 3c0f8008 */ lui $t7,%hi(g_FontNumeric1) +/* f0d7e78: 8deffb00 */ lw $t7,%lo(g_FontNumeric1)($t7) +/* f0d7e7c: 3c198008 */ lui $t9,%hi(g_FontNumeric2) +/* f0d7e80: 8f39fafc */ lw $t9,%lo(g_FontNumeric2)($t9) +/* f0d7e84: afaf0010 */ sw $t7,0x10($sp) +/* f0d7e88: 87af0040 */ lh $t7,0x40($sp) +/* f0d7e8c: 3c0e00ff */ lui $t6,0xff +/* f0d7e90: 35ce00a0 */ ori $t6,$t6,0xa0 +/* f0d7e94: 241800a0 */ addiu $t8,$zero,0xa0 +/* f0d7e98: afb8001c */ sw $t8,0x1c($sp) +/* f0d7e9c: afae0018 */ sw $t6,0x18($sp) +/* f0d7ea0: 8fa40098 */ lw $a0,0x98($sp) +/* f0d7ea4: 27a50054 */ addiu $a1,$sp,0x54 +/* f0d7ea8: 27a60050 */ addiu $a2,$sp,0x50 +/* f0d7eac: 27a7004c */ addiu $a3,$sp,0x4c +/* f0d7eb0: afa20024 */ sw $v0,0x24($sp) +/* f0d7eb4: afa00028 */ sw $zero,0x28($sp) +/* f0d7eb8: afa0002c */ sw $zero,0x2c($sp) +/* f0d7ebc: afb90014 */ sw $t9,0x14($sp) +/* f0d7ec0: 0fc55b92 */ jal textRender +/* f0d7ec4: afaf0020 */ sw $t7,0x20($sp) +/* f0d7ec8: 1000001d */ b .L0f0d7f40 +/* f0d7ecc: afa20098 */ sw $v0,0x98($sp) +.L0f0d7ed0: +/* f0d7ed0: 0fc5b9f1 */ jal langGet +/* f0d7ed4: 00000000 */ nop +/* f0d7ed8: 0c002f02 */ jal viGetWidth +/* f0d7edc: afa20048 */ sw $v0,0x48($sp) +/* f0d7ee0: 0c002f06 */ jal viGetHeight +/* f0d7ee4: a7a20040 */ sh $v0,0x40($sp) +/* f0d7ee8: 3c198008 */ lui $t9,%hi(g_FontHandelGothicXs1) +/* f0d7eec: 8f39fb08 */ lw $t9,%lo(g_FontHandelGothicXs1)($t9) +/* f0d7ef0: 3c0e8008 */ lui $t6,%hi(g_FontHandelGothicXs2) +/* f0d7ef4: 8dcefb04 */ lw $t6,%lo(g_FontHandelGothicXs2)($t6) +/* f0d7ef8: afb90010 */ sw $t9,0x10($sp) +/* f0d7efc: 87b90040 */ lh $t9,0x40($sp) +/* f0d7f00: 3c1800ff */ lui $t8,0xff +/* f0d7f04: 371800a0 */ ori $t8,$t8,0xa0 +/* f0d7f08: 240f00a0 */ addiu $t7,$zero,0xa0 +/* f0d7f0c: afaf001c */ sw $t7,0x1c($sp) +/* f0d7f10: afb80018 */ sw $t8,0x18($sp) +/* f0d7f14: 8fa40098 */ lw $a0,0x98($sp) +/* f0d7f18: 27a50054 */ addiu $a1,$sp,0x54 +/* f0d7f1c: 27a60050 */ addiu $a2,$sp,0x50 +/* f0d7f20: 8fa70048 */ lw $a3,0x48($sp) +/* f0d7f24: afa20024 */ sw $v0,0x24($sp) +/* f0d7f28: afa00028 */ sw $zero,0x28($sp) +/* f0d7f2c: afa0002c */ sw $zero,0x2c($sp) +/* f0d7f30: afae0014 */ sw $t6,0x14($sp) +/* f0d7f34: 0fc55b92 */ jal textRender +/* f0d7f38: afb90020 */ sw $t9,0x20($sp) +/* f0d7f3c: afa20098 */ sw $v0,0x98($sp) +.L0f0d7f40: +/* f0d7f40: 8fbf0034 */ lw $ra,0x34($sp) +.L0f0d7f44: +/* f0d7f44: 8fa20098 */ lw $v0,0x98($sp) +/* f0d7f48: 27bd0098 */ addiu $sp,$sp,0x98 +/* f0d7f4c: 03e00008 */ jr $ra +/* f0d7f50: 00000000 */ nop +); +#else GLOBAL_ASM( glabel sightRenderTargetBox /* f0d78f4: 27bdff68 */ addiu $sp,$sp,-152 @@ -775,6 +1220,7 @@ glabel sightRenderTargetBox /* f0d7f4c: 03e00008 */ jr $ra /* f0d7f50: 00000000 */ nop ); +#endif GLOBAL_ASM( glabel func0f0d7f54 @@ -2399,6 +2845,469 @@ glabel var7f1adde8 ); #endif +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel sightRenderDefault +.late_rodata +glabel var7f1addec +.word sightRenderDefault+0xbc # f0d9034 +glabel var7f1addf0 +.word sightRenderDefault+0xf4 # f0d906c +glabel var7f1addf4 +.word sightRenderDefault+0x1c4 # f0d913c +glabel var7f1addf8 +.word sightRenderDefault+0x310 # f0d9288 +glabel var7f1addfc +.word sightRenderDefault+0x3d8 # f0d9350 +glabel var7f1ade00 +.word sightRenderDefault+0x3d8 # f0d9350 +glabel var7f1ade04 +.word sightRenderDefault+0x4d8 # f0d9450 +glabel var7f1ade08 +.word sightRenderDefault+0x4e8 # f0d9460 +glabel var7f1ade0c +.word sightRenderDefault+0x4e8 # f0d9460 +glabel var7f1ade10 +.word sightRenderDefault+0x4e8 # f0d9460 +glabel var7f1ade14 +.word sightRenderDefault+0x4e8 # f0d9460 +glabel var7f1ade18 +.word sightRenderDefault+0x4e8 # f0d9460 +glabel var7f1ade1c +.word sightRenderDefault+0x4e8 # f0d9460 +glabel var7f1ade20 +.word sightRenderDefault+0x4e8 # f0d9460 +glabel var7f1ade24 +.word sightRenderDefault+0x4e8 # f0d9460 +glabel var7f1ade28 +.word sightRenderDefault+0x4e8 # f0d9460 +glabel var7f1ade2c +.word sightRenderDefault+0x4e8 # f0d9460 +glabel var7f1ade30 +.word sightRenderDefault+0x4e8 # f0d9460 +glabel var7f1ade34 +.word sightRenderDefault+0x4e8 # f0d9460 +glabel var7f1ade38 +.word sightRenderDefault+0x4e8 # f0d9460 +glabel var7f1ade3c +.word sightRenderDefault+0x4e8 # f0d9460 +glabel var7f1ade40 +.word sightRenderDefault+0x488 # f0d9400 +glabel var7f1ade44 +.word sightRenderDefault+0x4a4 # f0d941c +glabel var7f1ade48 +.word sightRenderDefault+0x4c0 # f0d9438 +glabel var7f1ade4c +.word sightRenderDefault+0x4c8 # f0d9440 +glabel var7f1ade50 +.word sightRenderDefault+0x4d0 # f0d9448 +.text +/* f0d8f78: 27bdff68 */ addiu $sp,$sp,-152 +/* f0d8f7c: 3c08800a */ lui $t0,%hi(g_Vars+0x284) +/* f0d8f80: 8d08a244 */ lw $t0,%lo(g_Vars+0x284)($t0) +/* f0d8f84: afbf0044 */ sw $ra,0x44($sp) +/* f0d8f88: afb30040 */ sw $s3,0x40($sp) +/* f0d8f8c: afb2003c */ sw $s2,0x3c($sp) +/* f0d8f90: afb10038 */ sw $s1,0x38($sp) +/* f0d8f94: afb00034 */ sw $s0,0x34($sp) +/* f0d8f98: afa5009c */ sw $a1,0x9c($sp) +/* f0d8f9c: c5041660 */ lwc1 $f4,0x1660($t0) +/* f0d8fa0: 3c188008 */ lui $t8,%hi(g_ScaleX) +/* f0d8fa4: 8f18fac0 */ lw $t8,%lo(g_ScaleX)($t8) +/* f0d8fa8: 4600218d */ trunc.w.s $f6,$f4 +/* f0d8fac: 00809825 */ or $s3,$a0,$zero +/* f0d8fb0: 02602025 */ or $a0,$s3,$zero +/* f0d8fb4: 440f3000 */ mfc1 $t7,$f6 +/* f0d8fb8: 00000000 */ nop +/* f0d8fbc: 01f8001a */ div $zero,$t7,$t8 +/* f0d8fc0: 0000c812 */ mflo $t9 +/* f0d8fc4: afb90088 */ sw $t9,0x88($sp) +/* f0d8fc8: c5081664 */ lwc1 $f8,0x1664($t0) +/* f0d8fcc: 17000002 */ bnez $t8,.L0f0d8fd8 +/* f0d8fd0: 00000000 */ nop +/* f0d8fd4: 0007000d */ break 0x7 +.L0f0d8fd8: +/* f0d8fd8: 2401ffff */ addiu $at,$zero,-1 +/* f0d8fdc: 17010004 */ bne $t8,$at,.L0f0d8ff0 +/* f0d8fe0: 3c018000 */ lui $at,0x8000 +/* f0d8fe4: 15e10002 */ bne $t7,$at,.L0f0d8ff0 +/* f0d8fe8: 00000000 */ nop +/* f0d8fec: 0006000d */ break 0x6 +.L0f0d8ff0: +/* f0d8ff0: 4600428d */ trunc.w.s $f10,$f8 +/* f0d8ff4: 440c5000 */ mfc1 $t4,$f10 +/* f0d8ff8: 0fc54d8a */ jal func0f153628 +/* f0d8ffc: afac0084 */ sw $t4,0x84($sp) +/* f0d9000: 3c0a800a */ lui $t2,%hi(g_Vars) +/* f0d9004: 254a9fc0 */ addiu $t2,$t2,%lo(g_Vars) +/* f0d9008: 8d480284 */ lw $t0,0x284($t2) +/* f0d900c: 00409825 */ or $s3,$v0,$zero +/* f0d9010: 910d1b98 */ lbu $t5,0x1b98($t0) +/* f0d9014: 2da10006 */ sltiu $at,$t5,0x6 +/* f0d9018: 10200141 */ beqz $at,.L0f0d9520 +/* f0d901c: 000d6880 */ sll $t5,$t5,0x2 +/* f0d9020: 3c017f1b */ lui $at,%hi(var7f1addec) +/* f0d9024: 002d0821 */ addu $at,$at,$t5 +/* f0d9028: 8c2dddec */ lw $t5,%lo(var7f1addec)($at) +/* f0d902c: 01a00008 */ jr $t5 +/* f0d9030: 00000000 */ nop +/* f0d9034: 8fae009c */ lw $t6,0x9c($sp) +/* f0d9038: 11c00139 */ beqz $t6,.L0f0d9520 +/* f0d903c: 3c1800ff */ lui $t8,0xff +/* f0d9040: 37180028 */ ori $t8,$t8,0x28 +/* f0d9044: 240f0005 */ addiu $t7,$zero,0x5 +/* f0d9048: afaf0010 */ sw $t7,0x10($sp) +/* f0d904c: afb80014 */ sw $t8,0x14($sp) +/* f0d9050: 02602025 */ or $a0,$s3,$zero +/* f0d9054: 8fa50088 */ lw $a1,0x88($sp) +/* f0d9058: 8fa60084 */ lw $a2,0x84($sp) +/* f0d905c: 0fc35fd5 */ jal func0f0d7f54 +/* f0d9060: 24070008 */ addiu $a3,$zero,0x8 +/* f0d9064: 1000012e */ b .L0f0d9520 +/* f0d9068: 00409825 */ or $s3,$v0,$zero +/* f0d906c: 8fb9009c */ lw $t9,0x9c($sp) +/* f0d9070: 1320012b */ beqz $t9,.L0f0d9520 +/* f0d9074: 00000000 */ nop +/* f0d9078: 8d0b1624 */ lw $t3,0x1624($t0) +/* f0d907c: 3c1000ff */ lui $s0,0xff +/* f0d9080: 36100028 */ ori $s0,$s0,0x28 +/* f0d9084: 15600003 */ bnez $t3,.L0f0d9094 +/* f0d9088: 24110008 */ addiu $s1,$zero,0x8 +/* f0d908c: 1000000a */ b .L0f0d90b8 +/* f0d9090: 24030005 */ addiu $v1,$zero,0x5 +.L0f0d9094: +/* f0d9094: 0fc35c1c */ jal sightIsPropFriendly +/* f0d9098: 00002025 */ or $a0,$zero,$zero +/* f0d909c: 10400003 */ beqz $v0,.L0f0d90ac +/* f0d90a0: 24110006 */ addiu $s1,$zero,0x6 +/* f0d90a4: 10000003 */ b .L0f0d90b4 +/* f0d90a8: 3410ff60 */ dli $s0,0xff60 +.L0f0d90ac: +/* f0d90ac: 3c10ff00 */ lui $s0,0xff00 +/* f0d90b0: 36100060 */ ori $s0,$s0,0x60 +.L0f0d90b4: +/* f0d90b4: 24030003 */ addiu $v1,$zero,0x3 +.L0f0d90b8: +/* f0d90b8: 3c047f1b */ lui $a0,%hi(var7f1adda0) +/* f0d90bc: 3c058007 */ lui $a1,%hi(var80070f94) +/* f0d90c0: 24a50f94 */ addiu $a1,$a1,%lo(var80070f94) +/* f0d90c4: 2484dda0 */ addiu $a0,$a0,%lo(var7f1adda0) +/* f0d90c8: 0c0036cc */ jal func0000db30 +/* f0d90cc: afa30090 */ sw $v1,0x90($sp) +/* f0d90d0: 3c028007 */ lui $v0,%hi(var80070f94) +/* f0d90d4: 8c420f94 */ lw $v0,%lo(var80070f94)($v0) +/* f0d90d8: 8fa30090 */ lw $v1,0x90($sp) +/* f0d90dc: 02602025 */ or $a0,$s3,$zero +/* f0d90e0: 10400006 */ beqz $v0,.L0f0d90fc +/* f0d90e4: 8fa50088 */ lw $a1,0x88($sp) +/* f0d90e8: 24120001 */ addiu $s2,$zero,0x1 +/* f0d90ec: 1052000a */ beq $v0,$s2,.L0f0d9118 +/* f0d90f0: 02602025 */ or $a0,$s3,$zero +/* f0d90f4: 1000010a */ b .L0f0d9520 +/* f0d90f8: 00000000 */ nop +.L0f0d90fc: +/* f0d90fc: 8fa60084 */ lw $a2,0x84($sp) +/* f0d9100: 02203825 */ or $a3,$s1,$zero +/* f0d9104: afa30010 */ sw $v1,0x10($sp) +/* f0d9108: 0fc35fd5 */ jal func0f0d7f54 +/* f0d910c: afb00014 */ sw $s0,0x14($sp) +/* f0d9110: 10000103 */ b .L0f0d9520 +/* f0d9114: 00409825 */ or $s3,$v0,$zero +.L0f0d9118: +/* f0d9118: 00036040 */ sll $t4,$v1,0x1 +/* f0d911c: afac0010 */ sw $t4,0x10($sp) +/* f0d9120: 8fa50088 */ lw $a1,0x88($sp) +/* f0d9124: 8fa60084 */ lw $a2,0x84($sp) +/* f0d9128: 00113840 */ sll $a3,$s1,0x1 +/* f0d912c: 0fc361ea */ jal func0f0d87a8 +/* f0d9130: afb00014 */ sw $s0,0x14($sp) +/* f0d9134: 100000fa */ b .L0f0d9520 +/* f0d9138: 00409825 */ or $s3,$v0,$zero +/* f0d913c: 8fad009c */ lw $t5,0x9c($sp) +/* f0d9140: 11a000f7 */ beqz $t5,.L0f0d9520 +/* f0d9144: 00000000 */ nop +/* f0d9148: 8d0e1624 */ lw $t6,0x1624($t0) +/* f0d914c: 3c1000ff */ lui $s0,0xff +/* f0d9150: 36100028 */ ori $s0,$s0,0x28 +/* f0d9154: 15c00003 */ bnez $t6,.L0f0d9164 +/* f0d9158: 24110008 */ addiu $s1,$zero,0x8 +/* f0d915c: 1000000c */ b .L0f0d9190 +/* f0d9160: 24030005 */ addiu $v1,$zero,0x5 +.L0f0d9164: +/* f0d9164: 0fc35c1c */ jal sightIsPropFriendly +/* f0d9168: 00002025 */ or $a0,$zero,$zero +/* f0d916c: 10400003 */ beqz $v0,.L0f0d917c +/* f0d9170: 24110006 */ addiu $s1,$zero,0x6 +/* f0d9174: 10000003 */ b .L0f0d9184 +/* f0d9178: 3410ff60 */ dli $s0,0xff60 +.L0f0d917c: +/* f0d917c: 3c10ff00 */ lui $s0,0xff00 +/* f0d9180: 36100060 */ ori $s0,$s0,0x60 +.L0f0d9184: +/* f0d9184: 3c0a800a */ lui $t2,%hi(g_Vars) +/* f0d9188: 254a9fc0 */ addiu $t2,$t2,%lo(g_Vars) +/* f0d918c: 24030003 */ addiu $v1,$zero,0x3 +.L0f0d9190: +/* f0d9190: 3c028007 */ lui $v0,%hi(var80070f98) +/* f0d9194: 8c420f98 */ lw $v0,%lo(var80070f98)($v0) +/* f0d9198: 8d590034 */ lw $t9,0x34($t2) +/* f0d919c: 240f0087 */ addiu $t7,$zero,0x87 +/* f0d91a0: 241800c8 */ addiu $t8,$zero,0xc8 +/* f0d91a4: 00591021 */ addu $v0,$v0,$t9 +/* f0d91a8: 304b0080 */ andi $t3,$v0,0x80 +/* f0d91ac: 3c018007 */ lui $at,%hi(var80070f98) +/* f0d91b0: afaf0078 */ sw $t7,0x78($sp) +/* f0d91b4: afb80074 */ sw $t8,0x74($sp) +/* f0d91b8: 1160001f */ beqz $t3,.L0f0d9238 +/* f0d91bc: ac220f98 */ sw $v0,%lo(var80070f98)($at) +/* f0d91c0: 240459b7 */ addiu $a0,$zero,0x58b4 +/* f0d91c4: 0fc5b9f1 */ jal langGet +/* f0d91c8: afa30090 */ sw $v1,0x90($sp) +/* f0d91cc: 0c002f02 */ jal viGetWidth +/* f0d91d0: 00409025 */ or $s2,$v0,$zero +/* f0d91d4: 0c002f06 */ jal viGetHeight +/* f0d91d8: a7a20060 */ sh $v0,0x60($sp) +/* f0d91dc: 3c0c8008 */ lui $t4,%hi(g_FontHandelGothicXs1) +/* f0d91e0: 3c0d8008 */ lui $t5,%hi(g_FontHandelGothicXs2) +/* f0d91e4: 8dadfb04 */ lw $t5,%lo(g_FontHandelGothicXs2)($t5) +/* f0d91e8: 8d8cfb08 */ lw $t4,%lo(g_FontHandelGothicXs1)($t4) +/* f0d91ec: 87b80060 */ lh $t8,0x60($sp) +/* f0d91f0: 3c0e00ff */ lui $t6,0xff +/* f0d91f4: 35ce00a0 */ ori $t6,$t6,0xa0 +/* f0d91f8: 240f00a0 */ addiu $t7,$zero,0xa0 +/* f0d91fc: afaf001c */ sw $t7,0x1c($sp) +/* f0d9200: afae0018 */ sw $t6,0x18($sp) +/* f0d9204: 02602025 */ or $a0,$s3,$zero +/* f0d9208: 27a50078 */ addiu $a1,$sp,0x78 +/* f0d920c: 27a60074 */ addiu $a2,$sp,0x74 +/* f0d9210: 02403825 */ or $a3,$s2,$zero +/* f0d9214: afa20024 */ sw $v0,0x24($sp) +/* f0d9218: afa00028 */ sw $zero,0x28($sp) +/* f0d921c: afa0002c */ sw $zero,0x2c($sp) +/* f0d9220: afad0014 */ sw $t5,0x14($sp) +/* f0d9224: afac0010 */ sw $t4,0x10($sp) +/* f0d9228: 0fc55b92 */ jal textRender +/* f0d922c: afb80020 */ sw $t8,0x20($sp) +/* f0d9230: 8fa30090 */ lw $v1,0x90($sp) +/* f0d9234: 00409825 */ or $s3,$v0,$zero +.L0f0d9238: +/* f0d9238: 02602025 */ or $a0,$s3,$zero +/* f0d923c: 8fa50088 */ lw $a1,0x88($sp) +/* f0d9240: 8fa60084 */ lw $a2,0x84($sp) +/* f0d9244: 02203825 */ or $a3,$s1,$zero +/* f0d9248: afa30010 */ sw $v1,0x10($sp) +/* f0d924c: 0fc35fd5 */ jal func0f0d7f54 +/* f0d9250: afb00014 */ sw $s0,0x14($sp) +/* f0d9254: 3c08800a */ lui $t0,%hi(g_Vars+0x284) +/* f0d9258: 8d08a244 */ lw $t0,%lo(g_Vars+0x284)($t0) +/* f0d925c: 00409825 */ or $s3,$v0,$zero +/* f0d9260: 00402025 */ or $a0,$v0,$zero +/* f0d9264: 8d191624 */ lw $t9,0x1624($t0) +/* f0d9268: 24060001 */ addiu $a2,$zero,0x1 +/* f0d926c: 25051624 */ addiu $a1,$t0,0x1624 +/* f0d9270: 132000ab */ beqz $t9,.L0f0d9520 +/* f0d9274: 00000000 */ nop +/* f0d9278: 0fc35e3d */ jal sightRenderTargetBox +/* f0d927c: 95071b90 */ lhu $a3,0x1b90($t0) +/* f0d9280: 100000a7 */ b .L0f0d9520 +/* f0d9284: 00409825 */ or $s3,$v0,$zero +/* f0d9288: 00008025 */ or $s0,$zero,$zero +/* f0d928c: 00008825 */ or $s1,$zero,$zero +/* f0d9290: 24120001 */ addiu $s2,$zero,0x1 +.L0f0d9294: +/* f0d9294: 8d480284 */ lw $t0,0x284($t2) +/* f0d9298: 00106040 */ sll $t4,$s0,0x1 +/* f0d929c: 02602025 */ or $a0,$s3,$zero +/* f0d92a0: 01112821 */ addu $a1,$t0,$s1 +/* f0d92a4: 8cab1630 */ lw $t3,0x1630($a1) +/* f0d92a8: 24a51630 */ addiu $a1,$a1,0x1630 +/* f0d92ac: 00003025 */ or $a2,$zero,$zero +/* f0d92b0: 11600006 */ beqz $t3,.L0f0d92cc +/* f0d92b4: 010c6821 */ addu $t5,$t0,$t4 +/* f0d92b8: 0fc35e3d */ jal sightRenderTargetBox +/* f0d92bc: 95a71b90 */ lhu $a3,0x1b90($t5) +/* f0d92c0: 3c0a800a */ lui $t2,%hi(g_Vars) +/* f0d92c4: 254a9fc0 */ addiu $t2,$t2,%lo(g_Vars) +/* f0d92c8: 00409825 */ or $s3,$v0,$zero +.L0f0d92cc: +/* f0d92cc: 26100001 */ addiu $s0,$s0,0x1 +/* f0d92d0: 1612fff0 */ bne $s0,$s2,.L0f0d9294 +/* f0d92d4: 2631000c */ addiu $s1,$s1,0xc +/* f0d92d8: 8fae009c */ lw $t6,0x9c($sp) +/* f0d92dc: 11c00090 */ beqz $t6,.L0f0d9520 +/* f0d92e0: 00000000 */ nop +/* f0d92e4: 8d4f0284 */ lw $t7,0x284($t2) +/* f0d92e8: 3c1000ff */ lui $s0,0xff +/* f0d92ec: 36100028 */ ori $s0,$s0,0x28 +/* f0d92f0: 8df81624 */ lw $t8,0x1624($t7) +/* f0d92f4: 24110008 */ addiu $s1,$zero,0x8 +/* f0d92f8: 17000003 */ bnez $t8,.L0f0d9308 +/* f0d92fc: 00000000 */ nop +/* f0d9300: 1000000a */ b .L0f0d932c +/* f0d9304: 24030005 */ addiu $v1,$zero,0x5 +.L0f0d9308: +/* f0d9308: 0fc35c1c */ jal sightIsPropFriendly +/* f0d930c: 00002025 */ or $a0,$zero,$zero +/* f0d9310: 10400003 */ beqz $v0,.L0f0d9320 +/* f0d9314: 24110006 */ addiu $s1,$zero,0x6 +/* f0d9318: 10000003 */ b .L0f0d9328 +/* f0d931c: 3410ff60 */ dli $s0,0xff60 +.L0f0d9320: +/* f0d9320: 3c10ff00 */ lui $s0,0xff00 +/* f0d9324: 36100060 */ ori $s0,$s0,0x60 +.L0f0d9328: +/* f0d9328: 24030003 */ addiu $v1,$zero,0x3 +.L0f0d932c: +/* f0d932c: 02602025 */ or $a0,$s3,$zero +/* f0d9330: 8fa50088 */ lw $a1,0x88($sp) +/* f0d9334: 8fa60084 */ lw $a2,0x84($sp) +/* f0d9338: 02203825 */ or $a3,$s1,$zero +/* f0d933c: afa30010 */ sw $v1,0x10($sp) +/* f0d9340: 0fc35fd5 */ jal func0f0d7f54 +/* f0d9344: afb00014 */ sw $s0,0x14($sp) +/* f0d9348: 10000075 */ b .L0f0d9520 +/* f0d934c: 00409825 */ or $s3,$v0,$zero +/* f0d9350: 00008025 */ or $s0,$zero,$zero +/* f0d9354: 00008825 */ or $s1,$zero,$zero +/* f0d9358: 24120001 */ addiu $s2,$zero,0x1 +.L0f0d935c: +/* f0d935c: 8d480284 */ lw $t0,0x284($t2) +/* f0d9360: 01112821 */ addu $a1,$t0,$s1 +/* f0d9364: 8ca31630 */ lw $v1,0x1630($a1) +/* f0d9368: 24a51630 */ addiu $a1,$a1,0x1630 +/* f0d936c: 5060004c */ beqzl $v1,.L0f0d94a0 +/* f0d9370: 26100001 */ addiu $s0,$s0,0x1 +/* f0d9374: 91191b98 */ lbu $t9,0x1b98($t0) +/* f0d9378: 24010005 */ addiu $at,$zero,0x5 +/* f0d937c: 00104840 */ sll $t1,$s0,0x1 +/* f0d9380: 1721003f */ bne $t9,$at,.L0f0d9480 +/* f0d9384: 02602025 */ or $a0,$s3,$zero +/* f0d9388: 8c640004 */ lw $a0,0x4($v1) +/* f0d938c: 00003025 */ or $a2,$zero,$zero +/* f0d9390: 1080000b */ beqz $a0,.L0f0d93c0 +/* f0d9394: 00801025 */ or $v0,$a0,$zero +/* f0d9398: 904b0003 */ lbu $t3,0x3($v0) +/* f0d939c: 2401000d */ addiu $at,$zero,0xd +/* f0d93a0: 15610007 */ bne $t3,$at,.L0f0d93c0 +/* f0d93a4: 00000000 */ nop +/* f0d93a8: 8c4c000c */ lw $t4,0xc($v0) +/* f0d93ac: 3c01a000 */ lui $at,0xa000 +/* f0d93b0: 01816824 */ and $t5,$t4,$at +/* f0d93b4: 15a00002 */ bnez $t5,.L0f0d93c0 +/* f0d93b8: 00000000 */ nop +/* f0d93bc: 24064cd7 */ addiu $a2,$zero,0x4cd7 +.L0f0d93c0: +/* f0d93c0: 10800027 */ beqz $a0,.L0f0d9460 +/* f0d93c4: 00801025 */ or $v0,$a0,$zero +/* f0d93c8: 908e0003 */ lbu $t6,0x3($a0) +/* f0d93cc: 24010008 */ addiu $at,$zero,0x8 +/* f0d93d0: 55c10024 */ bnel $t6,$at,.L0f0d9464 +/* f0d93d4: 01096821 */ addu $t5,$t0,$t1 +/* f0d93d8: 908f005c */ lbu $t7,0x5c($a0) +/* f0d93dc: 25f8fff1 */ addiu $t8,$t7,-15 +/* f0d93e0: 2f010014 */ sltiu $at,$t8,0x14 +/* f0d93e4: 1020001e */ beqz $at,.L0f0d9460 +/* f0d93e8: 0018c080 */ sll $t8,$t8,0x2 +/* f0d93ec: 3c017f1b */ lui $at,%hi(var7f1ade04) +/* f0d93f0: 00380821 */ addu $at,$at,$t8 +/* f0d93f4: 8c38de04 */ lw $t8,%lo(var7f1ade04)($at) +/* f0d93f8: 03000008 */ jr $t8 +/* f0d93fc: 00000000 */ nop +/* f0d9400: 9059005f */ lbu $t9,0x5f($v0) +/* f0d9404: 16590003 */ bne $s2,$t9,.L0f0d9414 +/* f0d9408: 00000000 */ nop +/* f0d940c: 10000014 */ b .L0f0d9460 +/* f0d9410: 24064cd4 */ addiu $a2,$zero,0x4cd4 +.L0f0d9414: +/* f0d9414: 10000012 */ b .L0f0d9460 +/* f0d9418: 24064cd5 */ addiu $a2,$zero,0x4cd5 +/* f0d941c: 904b005f */ lbu $t3,0x5f($v0) +/* f0d9420: 164b0003 */ bne $s2,$t3,.L0f0d9430 +/* f0d9424: 00000000 */ nop +/* f0d9428: 1000000d */ b .L0f0d9460 +/* f0d942c: 24064cd4 */ addiu $a2,$zero,0x4cd4 +.L0f0d9430: +/* f0d9430: 1000000b */ b .L0f0d9460 +/* f0d9434: 24064cd8 */ addiu $a2,$zero,0x4cd8 +/* f0d9438: 10000009 */ b .L0f0d9460 +/* f0d943c: 24064cd5 */ addiu $a2,$zero,0x4cd5 +/* f0d9440: 10000007 */ b .L0f0d9460 +/* f0d9444: 24064cd4 */ addiu $a2,$zero,0x4cd4 +/* f0d9448: 10000005 */ b .L0f0d9460 +/* f0d944c: 24064cd6 */ addiu $a2,$zero,0x4cd6 +/* f0d9450: 904c005f */ lbu $t4,0x5f($v0) +/* f0d9454: 564c0003 */ bnel $s2,$t4,.L0f0d9464 +/* f0d9458: 01096821 */ addu $t5,$t0,$t1 +/* f0d945c: 24064cd4 */ addiu $a2,$zero,0x4cd4 +.L0f0d9460: +/* f0d9460: 01096821 */ addu $t5,$t0,$t1 +.L0f0d9464: +/* f0d9464: 95a71b90 */ lhu $a3,0x1b90($t5) +/* f0d9468: 0fc35e3d */ jal sightRenderTargetBox +/* f0d946c: 02602025 */ or $a0,$s3,$zero +/* f0d9470: 3c0a800a */ lui $t2,%hi(g_Vars) +/* f0d9474: 254a9fc0 */ addiu $t2,$t2,%lo(g_Vars) +/* f0d9478: 10000008 */ b .L0f0d949c +/* f0d947c: 00409825 */ or $s3,$v0,$zero +.L0f0d9480: +/* f0d9480: 01097021 */ addu $t6,$t0,$t1 +/* f0d9484: 95c71b90 */ lhu $a3,0x1b90($t6) +/* f0d9488: 0fc35e3d */ jal sightRenderTargetBox +/* f0d948c: 26060002 */ addiu $a2,$s0,0x2 +/* f0d9490: 3c0a800a */ lui $t2,%hi(g_Vars) +/* f0d9494: 254a9fc0 */ addiu $t2,$t2,%lo(g_Vars) +/* f0d9498: 00409825 */ or $s3,$v0,$zero +.L0f0d949c: +/* f0d949c: 26100001 */ addiu $s0,$s0,0x1 +.L0f0d94a0: +/* f0d94a0: 24010004 */ addiu $at,$zero,0x4 +/* f0d94a4: 1601ffad */ bne $s0,$at,.L0f0d935c +/* f0d94a8: 2631000c */ addiu $s1,$s1,0xc +/* f0d94ac: 8faf009c */ lw $t7,0x9c($sp) +/* f0d94b0: 11e0001b */ beqz $t7,.L0f0d9520 +/* f0d94b4: 00000000 */ nop +/* f0d94b8: 8d580284 */ lw $t8,0x284($t2) +/* f0d94bc: 3c1000ff */ lui $s0,0xff +/* f0d94c0: 36100028 */ ori $s0,$s0,0x28 +/* f0d94c4: 8f191624 */ lw $t9,0x1624($t8) +/* f0d94c8: 24110008 */ addiu $s1,$zero,0x8 +/* f0d94cc: 17200003 */ bnez $t9,.L0f0d94dc +/* f0d94d0: 00000000 */ nop +/* f0d94d4: 1000000a */ b .L0f0d9500 +/* f0d94d8: 24030005 */ addiu $v1,$zero,0x5 +.L0f0d94dc: +/* f0d94dc: 0fc35c1c */ jal sightIsPropFriendly +/* f0d94e0: 00002025 */ or $a0,$zero,$zero +/* f0d94e4: 10400003 */ beqz $v0,.L0f0d94f4 +/* f0d94e8: 24110006 */ addiu $s1,$zero,0x6 +/* f0d94ec: 10000003 */ b .L0f0d94fc +/* f0d94f0: 3410ff60 */ dli $s0,0xff60 +.L0f0d94f4: +/* f0d94f4: 3c10ff00 */ lui $s0,0xff00 +/* f0d94f8: 36100060 */ ori $s0,$s0,0x60 +.L0f0d94fc: +/* f0d94fc: 24030003 */ addiu $v1,$zero,0x3 +.L0f0d9500: +/* f0d9500: 02602025 */ or $a0,$s3,$zero +/* f0d9504: 8fa50088 */ lw $a1,0x88($sp) +/* f0d9508: 8fa60084 */ lw $a2,0x84($sp) +/* f0d950c: 02203825 */ or $a3,$s1,$zero +/* f0d9510: afa30010 */ sw $v1,0x10($sp) +/* f0d9514: 0fc35fd5 */ jal func0f0d7f54 +/* f0d9518: afb00014 */ sw $s0,0x14($sp) +/* f0d951c: 00409825 */ or $s3,$v0,$zero +.L0f0d9520: +/* f0d9520: 0fc54de0 */ jal func0f153780 +/* f0d9524: 02602025 */ or $a0,$s3,$zero +/* f0d9528: 8fbf0044 */ lw $ra,0x44($sp) +/* f0d952c: 8fb00034 */ lw $s0,0x34($sp) +/* f0d9530: 8fb10038 */ lw $s1,0x38($sp) +/* f0d9534: 8fb2003c */ lw $s2,0x3c($sp) +/* f0d9538: 8fb30040 */ lw $s3,0x40($sp) +/* f0d953c: 03e00008 */ jr $ra +/* f0d9540: 27bd0098 */ addiu $sp,$sp,0x98 +); +#else GLOBAL_ASM( glabel sightRenderDefault .late_rodata @@ -2860,6 +3769,7 @@ glabel var7f1ade50 /* f0d953c: 03e00008 */ jr $ra /* f0d9540: 27bd0098 */ addiu $sp,$sp,0x98 ); +#endif // Mismatch: Goal loads g_Vars.lvupdate240 differently for add to var80070f98. //Gfx *sightRenderDefault(Gfx *gdl, bool sighton) @@ -3539,6 +4449,515 @@ glabel func0f0d9948 /* f0d9b9c: 27bd0040 */ addiu $sp,$sp,0x40 ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel sightRenderSkedar +/* f0d9ba0: 27bdff70 */ addiu $sp,$sp,-144 +/* f0d9ba4: afbf001c */ sw $ra,0x1c($sp) +/* f0d9ba8: afa40090 */ sw $a0,0x90($sp) +/* f0d9bac: 0c002f40 */ jal viGetViewLeft +/* f0d9bb0: afa50094 */ sw $a1,0x94($sp) +/* f0d9bb4: 3c0e8008 */ lui $t6,%hi(g_ScaleX) +/* f0d9bb8: 8dcefac0 */ lw $t6,%lo(g_ScaleX)($t6) +/* f0d9bbc: 8fa40090 */ lw $a0,0x90($sp) +/* f0d9bc0: 004e001a */ div $zero,$v0,$t6 +/* f0d9bc4: 00007812 */ mflo $t7 +/* f0d9bc8: afaf008c */ sw $t7,0x8c($sp) +/* f0d9bcc: 15c00002 */ bnez $t6,.L0f0d9bd8 +/* f0d9bd0: 00000000 */ nop +/* f0d9bd4: 0007000d */ break 0x7 +.L0f0d9bd8: +/* f0d9bd8: 2401ffff */ addiu $at,$zero,-1 +/* f0d9bdc: 15c10004 */ bne $t6,$at,.L0f0d9bf0 +/* f0d9be0: 3c018000 */ lui $at,0x8000 +/* f0d9be4: 14410002 */ bne $v0,$at,.L0f0d9bf0 +/* f0d9be8: 00000000 */ nop +/* f0d9bec: 0006000d */ break 0x6 +.L0f0d9bf0: +/* f0d9bf0: 0c002f44 */ jal viGetViewTop +/* f0d9bf4: 00000000 */ nop +/* f0d9bf8: 0c002f22 */ jal viGetViewWidth +/* f0d9bfc: afa20088 */ sw $v0,0x88($sp) +/* f0d9c00: 3c188008 */ lui $t8,%hi(g_ScaleX) +/* f0d9c04: 8f18fac0 */ lw $t8,%lo(g_ScaleX)($t8) +/* f0d9c08: 8fa40090 */ lw $a0,0x90($sp) +/* f0d9c0c: 0058001a */ div $zero,$v0,$t8 +/* f0d9c10: 00005812 */ mflo $t3 +/* f0d9c14: afab0084 */ sw $t3,0x84($sp) +/* f0d9c18: 17000002 */ bnez $t8,.L0f0d9c24 +/* f0d9c1c: 00000000 */ nop +/* f0d9c20: 0007000d */ break 0x7 +.L0f0d9c24: +/* f0d9c24: 2401ffff */ addiu $at,$zero,-1 +/* f0d9c28: 17010004 */ bne $t8,$at,.L0f0d9c3c +/* f0d9c2c: 3c018000 */ lui $at,0x8000 +/* f0d9c30: 14410002 */ bne $v0,$at,.L0f0d9c3c +/* f0d9c34: 00000000 */ nop +/* f0d9c38: 0006000d */ break 0x6 +.L0f0d9c3c: +/* f0d9c3c: 0c002f26 */ jal viGetViewHeight +/* f0d9c40: 00000000 */ nop +/* f0d9c44: 3c0e8008 */ lui $t6,%hi(g_ScaleX) +/* f0d9c48: 8dcefac0 */ lw $t6,%lo(g_ScaleX)($t6) +/* f0d9c4c: 3c03800a */ lui $v1,%hi(g_Vars+0x284) +/* f0d9c50: 8c63a244 */ lw $v1,%lo(g_Vars+0x284)($v1) +/* f0d9c54: 448e3000 */ mtc1 $t6,$f6 +/* f0d9c58: 8fb90088 */ lw $t9,0x88($sp) +/* f0d9c5c: c4641660 */ lwc1 $f4,0x1660($v1) +/* f0d9c60: 46803220 */ cvt.s.w $f8,$f6 +/* f0d9c64: 03226821 */ addu $t5,$t9,$v0 +/* f0d9c68: 8fa40090 */ lw $a0,0x90($sp) +/* f0d9c6c: 8fab0084 */ lw $t3,0x84($sp) +/* f0d9c70: 25adffff */ addiu $t5,$t5,-1 +/* f0d9c74: 04410003 */ bgez $v0,.L0f0d9c84 +/* f0d9c78: 00025083 */ sra $t2,$v0,0x2 +/* f0d9c7c: 24410003 */ addiu $at,$v0,0x3 +/* f0d9c80: 00015083 */ sra $t2,$at,0x2 +.L0f0d9c84: +/* f0d9c84: 46082283 */ div.s $f10,$f4,$f8 +/* f0d9c88: 4600540d */ trunc.w.s $f16,$f10 +/* f0d9c8c: 44188000 */ mfc1 $t8,$f16 +/* f0d9c90: 00000000 */ nop +/* f0d9c94: afb8006c */ sw $t8,0x6c($sp) +/* f0d9c98: c4721664 */ lwc1 $f18,0x1664($v1) +/* f0d9c9c: 8fb80094 */ lw $t8,0x94($sp) +/* f0d9ca0: 4600918d */ trunc.w.s $f6,$f18 +/* f0d9ca4: 440e3000 */ mfc1 $t6,$f6 +/* f0d9ca8: 00000000 */ nop +/* f0d9cac: afae0060 */ sw $t6,0x60($sp) +/* f0d9cb0: 8c6c1624 */ lw $t4,0x1624($v1) +/* f0d9cb4: 000c782b */ sltu $t7,$zero,$t4 +/* f0d9cb8: 17000003 */ bnez $t8,.L0f0d9cc8 +/* f0d9cbc: 01e06025 */ or $t4,$t7,$zero +/* f0d9cc0: 10000182 */ b .L0f0da2cc +/* f0d9cc4: 00801025 */ or $v0,$a0,$zero +.L0f0d9cc8: +/* f0d9cc8: 55800003 */ bnezl $t4,.L0f0d9cd8 +/* f0d9ccc: afaa0074 */ sw $t2,0x74($sp) +/* f0d9cd0: ac6019a8 */ sw $zero,0x19a8($v1) +/* f0d9cd4: afaa0074 */ sw $t2,0x74($sp) +.L0f0d9cd8: +/* f0d9cd8: afab0084 */ sw $t3,0x84($sp) +/* f0d9cdc: afac004c */ sw $t4,0x4c($sp) +/* f0d9ce0: 0fc351e7 */ jal func0f0d479c +/* f0d9ce4: afad0078 */ sw $t5,0x78($sp) +/* f0d9ce8: 8fa7006c */ lw $a3,0x6c($sp) +/* f0d9cec: 8fac004c */ lw $t4,0x4c($sp) +/* f0d9cf0: 8faa0074 */ lw $t2,0x74($sp) +/* f0d9cf4: 8fab0084 */ lw $t3,0x84($sp) +/* f0d9cf8: 8fad0078 */ lw $t5,0x78($sp) +/* f0d9cfc: 3c19b600 */ lui $t9,0xb600 +/* f0d9d00: 240e3000 */ addiu $t6,$zero,0x3000 +/* f0d9d04: 3c0fb700 */ lui $t7,0xb700 +/* f0d9d08: ac4e0004 */ sw $t6,0x4($v0) +/* f0d9d0c: ac590000 */ sw $t9,0x0($v0) +/* f0d9d10: ac4f0008 */ sw $t7,0x8($v0) +/* f0d9d14: 3c19fcff */ lui $t9,0xfcff +/* f0d9d18: 3c0efffe */ lui $t6,0xfffe +/* f0d9d1c: 3c0fba00 */ lui $t7,0xba00 +/* f0d9d20: 35ce793c */ ori $t6,$t6,0x793c +/* f0d9d24: 3739ffff */ ori $t9,$t9,0xffff +/* f0d9d28: 35ef0c02 */ ori $t7,$t7,0xc02 +/* f0d9d2c: 24180204 */ addiu $t8,$zero,0x204 +/* f0d9d30: ac590010 */ sw $t9,0x10($v0) +/* f0d9d34: ac4e0014 */ sw $t6,0x14($v0) +/* f0d9d38: ac4f0018 */ sw $t7,0x18($v0) +/* f0d9d3c: ac58000c */ sw $t8,0xc($v0) +/* f0d9d40: 3c19ba00 */ lui $t9,0xba00 +/* f0d9d44: 3c0f0050 */ lui $t7,0x50 +/* f0d9d48: 3c0eb900 */ lui $t6,0xb900 +/* f0d9d4c: 24182000 */ addiu $t8,$zero,0x2000 +/* f0d9d50: 37391402 */ ori $t9,$t9,0x1402 +/* f0d9d54: 35ce031d */ ori $t6,$t6,0x31d +/* f0d9d58: 35ef41c8 */ ori $t7,$t7,0x41c8 +/* f0d9d5c: ac58001c */ sw $t8,0x1c($v0) +/* f0d9d60: ac590020 */ sw $t9,0x20($v0) +/* f0d9d64: ac400024 */ sw $zero,0x24($v0) +/* f0d9d68: ac4f002c */ sw $t7,0x2c($v0) +/* f0d9d6c: ac4e0028 */ sw $t6,0x28($v0) +/* f0d9d70: 8fb80060 */ lw $t8,0x60($sp) +/* f0d9d74: 24440030 */ addiu $a0,$v0,0x30 +/* f0d9d78: 00e02825 */ or $a1,$a3,$zero +/* f0d9d7c: 1180000d */ beqz $t4,.L0f0d9db4 +/* f0d9d80: afb8005c */ sw $t8,0x5c($sp) +/* f0d9d84: 3c19800a */ lui $t9,%hi(g_Vars+0x284) +/* f0d9d88: 8f39a244 */ lw $t9,%lo(g_Vars+0x284)($t9) +/* f0d9d8c: 8f2219a8 */ lw $v0,0x19a8($t9) +/* f0d9d90: 28410030 */ slti $at,$v0,0x28 +/* f0d9d94: 10200007 */ beqz $at,.L0f0d9db4 +/* f0d9d98: 00000000 */ nop +/* f0d9d9c: 44822000 */ mtc1 $v0,$f4 +/* f0d9da0: 3c014240 */ lui $at,0x4220 +/* f0d9da4: 44815000 */ mtc1 $at,$f10 +/* f0d9da8: 46802220 */ cvt.s.w $f8,$f4 +/* f0d9dac: 460a4403 */ div.s $f16,$f8,$f10 +/* f0d9db0: e7b00048 */ swc1 $f16,0x48($sp) +.L0f0d9db4: +/* f0d9db4: 1580001f */ bnez $t4,.L0f0d9e34 +/* f0d9db8: 3c0e800a */ lui $t6,%hi(g_Vars+0x284) +/* f0d9dbc: 8fae008c */ lw $t6,0x8c($sp) +/* f0d9dc0: 3c1fff55 */ lui $ra,0xff55 +/* f0d9dc4: 37ff5564 */ ori $ra,$ra,0x5564 +/* f0d9dc8: 03e04825 */ or $t1,$ra,$zero +/* f0d9dcc: 05610003 */ bgez $t3,.L0f0d9ddc +/* f0d9dd0: 000b1083 */ sra $v0,$t3,0x2 +/* f0d9dd4: 25610003 */ addiu $at,$t3,0x3 +/* f0d9dd8: 00011083 */ sra $v0,$at,0x2 +.L0f0d9ddc: +/* f0d9ddc: 01c21821 */ addu $v1,$t6,$v0 +/* f0d9de0: 00e3082a */ slt $at,$a3,$v1 +/* f0d9de4: 10200004 */ beqz $at,.L0f0d9df8 +/* f0d9de8: 8fb90088 */ lw $t9,0x88($sp) +/* f0d9dec: 24080002 */ addiu $t0,$zero,0x2 +/* f0d9df0: 1000000e */ b .L0f0d9e2c +/* f0d9df4: 00602825 */ or $a1,$v1,$zero +.L0f0d9df8: +/* f0d9df8: 8faf008c */ lw $t7,0x8c($sp) +/* f0d9dfc: 24080001 */ addiu $t0,$zero,0x1 +/* f0d9e00: 01ebc021 */ addu $t8,$t7,$t3 +/* f0d9e04: 03021823 */ subu $v1,$t8,$v0 +/* f0d9e08: 2463ffff */ addiu $v1,$v1,-1 +/* f0d9e0c: 0067082a */ slt $at,$v1,$a3 +/* f0d9e10: 50200005 */ beqzl $at,.L0f0d9e28 +/* f0d9e14: 3c0955ff */ lui $t1,0x55ff +/* f0d9e18: 24080003 */ addiu $t0,$zero,0x3 +/* f0d9e1c: 10000003 */ b .L0f0d9e2c +/* f0d9e20: 00602825 */ or $a1,$v1,$zero +/* f0d9e24: 3c0955ff */ lui $t1,0x55ff +.L0f0d9e28: +/* f0d9e28: 35295564 */ ori $t1,$t1,0x5564 +.L0f0d9e2c: +/* f0d9e2c: 10000021 */ b .L0f0d9eb4 +/* f0d9e30: 032a3021 */ addu $a2,$t9,$t2 +.L0f0d9e34: +/* f0d9e34: 8dcea244 */ lw $t6,%lo(g_Vars+0x284)($t6) +/* f0d9e38: 8fa60060 */ lw $a2,0x60($sp) +/* f0d9e3c: 8fb80060 */ lw $t8,0x60($sp) +/* f0d9e40: 8dcf19a8 */ lw $t7,0x19a8($t6) +/* f0d9e44: 8fb90088 */ lw $t9,0x88($sp) +/* f0d9e48: 3c09ff00 */ lui $t1,0xff00 +/* f0d9e4c: 29e10030 */ slti $at,$t7,0x28 +/* f0d9e50: 10200016 */ beqz $at,.L0f0d9eac +/* f0d9e54: 24c6fffe */ addiu $a2,$a2,-2 +/* f0d9e58: 03197023 */ subu $t6,$t8,$t9 +/* f0d9e5c: 01ca7823 */ subu $t7,$t6,$t2 +/* f0d9e60: 25f8fffe */ addiu $t8,$t7,-2 +/* f0d9e64: 44989000 */ mtc1 $t8,$f18 +/* f0d9e68: c7a40048 */ lwc1 $f4,0x48($sp) +/* f0d9e6c: 44995000 */ mtc1 $t9,$f10 +/* f0d9e70: 468091a0 */ cvt.s.w $f6,$f18 +/* f0d9e74: 3c1fff55 */ lui $ra,0xff55 +/* f0d9e78: 37e95564 */ ori $t1,$ra,0x5564 +/* f0d9e7c: 24080001 */ addiu $t0,$zero,0x1 +/* f0d9e80: 46805420 */ cvt.s.w $f16,$f10 +/* f0d9e84: 46043202 */ mul.s $f8,$f6,$f4 +/* f0d9e88: 448a3000 */ mtc1 $t2,$f6 +/* f0d9e8c: 00000000 */ nop +/* f0d9e90: 46803120 */ cvt.s.w $f4,$f6 +/* f0d9e94: 46104480 */ add.s $f18,$f8,$f16 +/* f0d9e98: 46049280 */ add.s $f10,$f18,$f4 +/* f0d9e9c: 4600520d */ trunc.w.s $f8,$f10 +/* f0d9ea0: 44064000 */ mfc1 $a2,$f8 +/* f0d9ea4: 10000004 */ b .L0f0d9eb8 +/* f0d9ea8: 01003825 */ or $a3,$t0,$zero +.L0f0d9eac: +/* f0d9eac: 352900b2 */ ori $t1,$t1,0xb2 +/* f0d9eb0: 24080001 */ addiu $t0,$zero,0x1 +.L0f0d9eb4: +/* f0d9eb4: 01003825 */ or $a3,$t0,$zero +.L0f0d9eb8: +/* f0d9eb8: afa90010 */ sw $t1,0x10($sp) +/* f0d9ebc: afa50068 */ sw $a1,0x68($sp) +/* f0d9ec0: afa8002c */ sw $t0,0x2c($sp) +/* f0d9ec4: afaa0074 */ sw $t2,0x74($sp) +/* f0d9ec8: afab0084 */ sw $t3,0x84($sp) +/* f0d9ecc: afac004c */ sw $t4,0x4c($sp) +/* f0d9ed0: 0fc36652 */ jal func0f0d9948 +/* f0d9ed4: afad0078 */ sw $t5,0x78($sp) +/* f0d9ed8: 8fac004c */ lw $t4,0x4c($sp) +/* f0d9edc: 3c1fff55 */ lui $ra,0xff55 +/* f0d9ee0: 37ff5564 */ ori $ra,$ra,0x5564 +/* f0d9ee4: 8fa50068 */ lw $a1,0x68($sp) +/* f0d9ee8: 8fa7002c */ lw $a3,0x2c($sp) +/* f0d9eec: 8faa0074 */ lw $t2,0x74($sp) +/* f0d9ef0: 8fab0084 */ lw $t3,0x84($sp) +/* f0d9ef4: 8fad0078 */ lw $t5,0x78($sp) +/* f0d9ef8: 15800009 */ bnez $t4,.L0f0d9f20 +/* f0d9efc: 00402025 */ or $a0,$v0,$zero +/* f0d9f00: 24010001 */ addiu $at,$zero,0x1 +/* f0d9f04: 14e10004 */ bne $a3,$at,.L0f0d9f18 +/* f0d9f08: 03e04825 */ or $t1,$ra,$zero +/* f0d9f0c: 3c0955ff */ lui $t1,0x55ff +/* f0d9f10: 35295564 */ ori $t1,$t1,0x5564 +/* f0d9f14: 00003825 */ or $a3,$zero,$zero +.L0f0d9f18: +/* f0d9f18: 10000020 */ b .L0f0d9f9c +/* f0d9f1c: 01aa3023 */ subu $a2,$t5,$t2 +.L0f0d9f20: +/* f0d9f20: 3c0f800a */ lui $t7,%hi(g_Vars+0x284) +/* f0d9f24: 8defa244 */ lw $t7,%lo(g_Vars+0x284)($t7) +/* f0d9f28: 8fa60060 */ lw $a2,0x60($sp) +/* f0d9f2c: 8fb90060 */ lw $t9,0x60($sp) +/* f0d9f30: 8df819a8 */ lw $t8,0x19a8($t7) +/* f0d9f34: 3c09ff00 */ lui $t1,0xff00 +/* f0d9f38: 00003825 */ or $a3,$zero,$zero +/* f0d9f3c: 2b010030 */ slti $at,$t8,0x28 +/* f0d9f40: 10200015 */ beqz $at,.L0f0d9f98 +/* f0d9f44: 24c60002 */ addiu $a2,$a2,0x2 +/* f0d9f48: 032d7023 */ subu $t6,$t9,$t5 +/* f0d9f4c: 01ca7821 */ addu $t7,$t6,$t2 +/* f0d9f50: 25f80002 */ addiu $t8,$t7,0x2 +/* f0d9f54: 44988000 */ mtc1 $t8,$f16 +/* f0d9f58: c7b20048 */ lwc1 $f18,0x48($sp) +/* f0d9f5c: 448d5000 */ mtc1 $t5,$f10 +/* f0d9f60: 468081a0 */ cvt.s.w $f6,$f16 +/* f0d9f64: 03e04825 */ or $t1,$ra,$zero +/* f0d9f68: 00003825 */ or $a3,$zero,$zero +/* f0d9f6c: 46805220 */ cvt.s.w $f8,$f10 +/* f0d9f70: 46123102 */ mul.s $f4,$f6,$f18 +/* f0d9f74: 448a3000 */ mtc1 $t2,$f6 +/* f0d9f78: 00000000 */ nop +/* f0d9f7c: 468034a0 */ cvt.s.w $f18,$f6 +/* f0d9f80: 46082400 */ add.s $f16,$f4,$f8 +/* f0d9f84: 46128281 */ sub.s $f10,$f16,$f18 +/* f0d9f88: 4600510d */ trunc.w.s $f4,$f10 +/* f0d9f8c: 44062000 */ mfc1 $a2,$f4 +/* f0d9f90: 10000003 */ b .L0f0d9fa0 +/* f0d9f94: afa90010 */ sw $t1,0x10($sp) +.L0f0d9f98: +/* f0d9f98: 352900b2 */ ori $t1,$t1,0xb2 +.L0f0d9f9c: +/* f0d9f9c: afa90010 */ sw $t1,0x10($sp) +.L0f0d9fa0: +/* f0d9fa0: afaa0074 */ sw $t2,0x74($sp) +/* f0d9fa4: afab0084 */ sw $t3,0x84($sp) +/* f0d9fa8: afac004c */ sw $t4,0x4c($sp) +/* f0d9fac: 0fc36652 */ jal func0f0d9948 +/* f0d9fb0: afad0078 */ sw $t5,0x78($sp) +/* f0d9fb4: 8fac004c */ lw $t4,0x4c($sp) +/* f0d9fb8: 3c1fff55 */ lui $ra,0xff55 +/* f0d9fbc: 37ff5564 */ ori $ra,$ra,0x5564 +/* f0d9fc0: 8faa0074 */ lw $t2,0x74($sp) +/* f0d9fc4: 8fab0084 */ lw $t3,0x84($sp) +/* f0d9fc8: 8fad0078 */ lw $t5,0x78($sp) +/* f0d9fcc: 15800020 */ bnez $t4,.L0f0da050 +/* f0d9fd0: 00402025 */ or $a0,$v0,$zero +/* f0d9fd4: 8fae0088 */ lw $t6,0x88($sp) +/* f0d9fd8: 8faf008c */ lw $t7,0x8c($sp) +/* f0d9fdc: 03e04825 */ or $t1,$ra,$zero +/* f0d9fe0: 01ca1021 */ addu $v0,$t6,$t2 +/* f0d9fe4: 8fae0060 */ lw $t6,0x60($sp) +/* f0d9fe8: 01ebc021 */ addu $t8,$t7,$t3 +/* f0d9fec: 05610003 */ bgez $t3,.L0f0d9ffc +/* f0d9ff0: 000bc883 */ sra $t9,$t3,0x2 +/* f0d9ff4: 25610003 */ addiu $at,$t3,0x3 +/* f0d9ff8: 0001c883 */ sra $t9,$at,0x2 +.L0f0d9ffc: +/* f0d9ffc: 03191823 */ subu $v1,$t8,$t9 +/* f0da000: 01c2082a */ slt $at,$t6,$v0 +/* f0da004: 10200005 */ beqz $at,.L0f0da01c +/* f0da008: 2463ffff */ addiu $v1,$v1,-1 +/* f0da00c: 00004025 */ or $t0,$zero,$zero +/* f0da010: afa2005c */ sw $v0,0x5c($sp) +/* f0da014: 10000033 */ b .L0f0da0e4 +/* f0da018: 00602825 */ or $a1,$v1,$zero +.L0f0da01c: +/* f0da01c: 8faf0060 */ lw $t7,0x60($sp) +/* f0da020: 01aa1023 */ subu $v0,$t5,$t2 +/* f0da024: 24080002 */ addiu $t0,$zero,0x2 +/* f0da028: 004f082a */ slt $at,$v0,$t7 +/* f0da02c: 10200004 */ beqz $at,.L0f0da040 +/* f0da030: 00602825 */ or $a1,$v1,$zero +/* f0da034: 24080001 */ addiu $t0,$zero,0x1 +/* f0da038: 1000002a */ b .L0f0da0e4 +/* f0da03c: afa2005c */ sw $v0,0x5c($sp) +.L0f0da040: +/* f0da040: 3c0955ff */ lui $t1,0x55ff +/* f0da044: 35295564 */ ori $t1,$t1,0x5564 +/* f0da048: 10000026 */ b .L0f0da0e4 +/* f0da04c: 00602825 */ or $a1,$v1,$zero +.L0f0da050: +/* f0da050: 3c18800a */ lui $t8,%hi(g_Vars+0x284) +/* f0da054: 8f18a244 */ lw $t8,%lo(g_Vars+0x284)($t8) +/* f0da058: 8fa5006c */ lw $a1,0x6c($sp) +/* f0da05c: 24080002 */ addiu $t0,$zero,0x2 +/* f0da060: 8f1919a8 */ lw $t9,0x19a8($t8) +/* f0da064: 03e04825 */ or $t1,$ra,$zero +/* f0da068: 8fae008c */ lw $t6,0x8c($sp) +/* f0da06c: 2b210030 */ slti $at,$t9,0x28 +/* f0da070: 1020001a */ beqz $at,.L0f0da0dc +/* f0da074: 24a50002 */ addiu $a1,$a1,0x2 +/* f0da078: 8faf006c */ lw $t7,0x6c($sp) +/* f0da07c: 01cb1821 */ addu $v1,$t6,$t3 +/* f0da080: 2463ffff */ addiu $v1,$v1,-1 +/* f0da084: 05610003 */ bgez $t3,.L0f0da094 +/* f0da088: 000b1083 */ sra $v0,$t3,0x2 +/* f0da08c: 25610003 */ addiu $at,$t3,0x3 +/* f0da090: 00011083 */ sra $v0,$at,0x2 +.L0f0da094: +/* f0da094: 01e3c023 */ subu $t8,$t7,$v1 +/* f0da098: 0302c821 */ addu $t9,$t8,$v0 +/* f0da09c: 272e0002 */ addiu $t6,$t9,0x2 +/* f0da0a0: 448e4000 */ mtc1 $t6,$f8 +/* f0da0a4: c7b00048 */ lwc1 $f16,0x48($sp) +/* f0da0a8: 44835000 */ mtc1 $v1,$f10 +/* f0da0ac: 468041a0 */ cvt.s.w $f6,$f8 +/* f0da0b0: 46805120 */ cvt.s.w $f4,$f10 +/* f0da0b4: 46103482 */ mul.s $f18,$f6,$f16 +/* f0da0b8: 44823000 */ mtc1 $v0,$f6 +/* f0da0bc: 00000000 */ nop +/* f0da0c0: 46803420 */ cvt.s.w $f16,$f6 +/* f0da0c4: 46049200 */ add.s $f8,$f18,$f4 +/* f0da0c8: 46104281 */ sub.s $f10,$f8,$f16 +/* f0da0cc: 4600548d */ trunc.w.s $f18,$f10 +/* f0da0d0: 44059000 */ mfc1 $a1,$f18 +/* f0da0d4: 10000004 */ b .L0f0da0e8 +/* f0da0d8: 8fa6005c */ lw $a2,0x5c($sp) +.L0f0da0dc: +/* f0da0dc: 3c09ff00 */ lui $t1,0xff00 +/* f0da0e0: 352900b2 */ ori $t1,$t1,0xb2 +.L0f0da0e4: +/* f0da0e4: 8fa6005c */ lw $a2,0x5c($sp) +.L0f0da0e8: +/* f0da0e8: 01003825 */ or $a3,$t0,$zero +/* f0da0ec: afa90010 */ sw $t1,0x10($sp) +/* f0da0f0: afa8002c */ sw $t0,0x2c($sp) +/* f0da0f4: afab0084 */ sw $t3,0x84($sp) +/* f0da0f8: 0fc36652 */ jal func0f0d9948 +/* f0da0fc: afac004c */ sw $t4,0x4c($sp) +/* f0da100: 8fac004c */ lw $t4,0x4c($sp) +/* f0da104: 3c1fff55 */ lui $ra,0xff55 +/* f0da108: 37ff5564 */ ori $ra,$ra,0x5564 +/* f0da10c: 8fa7002c */ lw $a3,0x2c($sp) +/* f0da110: 8fab0084 */ lw $t3,0x84($sp) +/* f0da114: 1580000f */ bnez $t4,.L0f0da154 +/* f0da118: 00402025 */ or $a0,$v0,$zero +/* f0da11c: 8fb8008c */ lw $t8,0x8c($sp) +/* f0da120: 03e04825 */ or $t1,$ra,$zero +/* f0da124: 05610003 */ bgez $t3,.L0f0da134 +/* f0da128: 000bc883 */ sra $t9,$t3,0x2 +/* f0da12c: 25610003 */ addiu $at,$t3,0x3 +/* f0da130: 0001c883 */ sra $t9,$at,0x2 +.L0f0da134: +/* f0da134: 24010002 */ addiu $at,$zero,0x2 +/* f0da138: 14e10004 */ bne $a3,$at,.L0f0da14c +/* f0da13c: 03191821 */ addu $v1,$t8,$t9 +/* f0da140: 3c0955ff */ lui $t1,0x55ff +/* f0da144: 35295564 */ ori $t1,$t1,0x5564 +/* f0da148: 24070003 */ addiu $a3,$zero,0x3 +.L0f0da14c: +/* f0da14c: 10000026 */ b .L0f0da1e8 +/* f0da150: 00602825 */ or $a1,$v1,$zero +.L0f0da154: +/* f0da154: 3c0e800a */ lui $t6,%hi(g_Vars+0x284) +/* f0da158: 8dcea244 */ lw $t6,%lo(g_Vars+0x284)($t6) +/* f0da15c: 8fa5006c */ lw $a1,0x6c($sp) +/* f0da160: 24080003 */ addiu $t0,$zero,0x3 +/* f0da164: 8dcf19a8 */ lw $t7,0x19a8($t6) +/* f0da168: 3c09ff00 */ lui $t1,0xff00 +/* f0da16c: 24070003 */ addiu $a3,$zero,0x3 +/* f0da170: 29e10030 */ slti $at,$t7,0x28 +/* f0da174: 1020001b */ beqz $at,.L0f0da1e4 +/* f0da178: 24a5fffe */ addiu $a1,$a1,-2 +/* f0da17c: 8fb8006c */ lw $t8,0x6c($sp) +/* f0da180: 8fb9008c */ lw $t9,0x8c($sp) +/* f0da184: c7a80048 */ lwc1 $f8,0x48($sp) +/* f0da188: 03e04825 */ or $t1,$ra,$zero +/* f0da18c: 05610003 */ bgez $t3,.L0f0da19c +/* f0da190: 000b1083 */ sra $v0,$t3,0x2 +/* f0da194: 25610003 */ addiu $at,$t3,0x3 +/* f0da198: 00011083 */ sra $v0,$at,0x2 +.L0f0da19c: +/* f0da19c: 03197023 */ subu $t6,$t8,$t9 +/* f0da1a0: 01c27823 */ subu $t7,$t6,$v0 +/* f0da1a4: 25f8fffe */ addiu $t8,$t7,-2 +/* f0da1a8: 44982000 */ mtc1 $t8,$f4 +/* f0da1ac: 44995000 */ mtc1 $t9,$f10 +/* f0da1b0: 24070003 */ addiu $a3,$zero,0x3 +/* f0da1b4: 468021a0 */ cvt.s.w $f6,$f4 +/* f0da1b8: 468054a0 */ cvt.s.w $f18,$f10 +/* f0da1bc: 46083402 */ mul.s $f16,$f6,$f8 +/* f0da1c0: 44823000 */ mtc1 $v0,$f6 +/* f0da1c4: 00000000 */ nop +/* f0da1c8: 46803220 */ cvt.s.w $f8,$f6 +/* f0da1cc: 46128100 */ add.s $f4,$f16,$f18 +/* f0da1d0: 46082280 */ add.s $f10,$f4,$f8 +/* f0da1d4: 4600540d */ trunc.w.s $f16,$f10 +/* f0da1d8: 44058000 */ mfc1 $a1,$f16 +/* f0da1dc: 10000003 */ b .L0f0da1ec +/* f0da1e0: 8fa6005c */ lw $a2,0x5c($sp) +.L0f0da1e4: +/* f0da1e4: 352900b2 */ ori $t1,$t1,0xb2 +.L0f0da1e8: +/* f0da1e8: 8fa6005c */ lw $a2,0x5c($sp) +.L0f0da1ec: +/* f0da1ec: afa90010 */ sw $t1,0x10($sp) +/* f0da1f0: 0fc36652 */ jal func0f0d9948 +/* f0da1f4: afac004c */ sw $t4,0x4c($sp) +/* f0da1f8: 8fac004c */ lw $t4,0x4c($sp) +/* f0da1fc: 3c1fff55 */ lui $ra,0xff55 +/* f0da200: 37ff5564 */ ori $ra,$ra,0x5564 +/* f0da204: 11800007 */ beqz $t4,.L0f0da224 +/* f0da208: 00402025 */ or $a0,$v0,$zero +/* f0da20c: 3c0f800a */ lui $t7,%hi(g_Vars+0x284) +/* f0da210: 8defa244 */ lw $t7,%lo(g_Vars+0x284)($t7) +/* f0da214: 8df819a8 */ lw $t8,0x19a8($t7) +/* f0da218: 2b010030 */ slti $at,$t8,0x28 +/* f0da21c: 10200029 */ beqz $at,.L0f0da2c4 +/* f0da220: 00000000 */ nop +.L0f0da224: +/* f0da224: 8fa5006c */ lw $a1,0x6c($sp) +/* f0da228: 8fa20060 */ lw $v0,0x60($sp) +/* f0da22c: 24070001 */ addiu $a3,$zero,0x1 +/* f0da230: 24ae0002 */ addiu $t6,$a1,0x2 +/* f0da234: 24affffe */ addiu $t7,$a1,-2 +/* f0da238: 24590002 */ addiu $t9,$v0,0x2 +/* f0da23c: afb90028 */ sw $t9,0x28($sp) +/* f0da240: afaf0020 */ sw $t7,0x20($sp) +/* f0da244: afae0024 */ sw $t6,0x24($sp) +/* f0da248: 11800003 */ beqz $t4,.L0f0da258 +/* f0da24c: 2446fffe */ addiu $a2,$v0,-2 +/* f0da250: 10000003 */ b .L0f0da260 +/* f0da254: 03e04825 */ or $t1,$ra,$zero +.L0f0da258: +/* f0da258: 3c0955ff */ lui $t1,0x55ff +/* f0da25c: 35295564 */ ori $t1,$t1,0x5564 +.L0f0da260: +/* f0da260: afa90010 */ sw $t1,0x10($sp) +/* f0da264: 0fc36652 */ jal func0f0d9948 +/* f0da268: afa90054 */ sw $t1,0x54($sp) +/* f0da26c: 8fa90054 */ lw $t1,0x54($sp) +/* f0da270: 00402025 */ or $a0,$v0,$zero +/* f0da274: 8fa5006c */ lw $a1,0x6c($sp) +/* f0da278: 8fa60028 */ lw $a2,0x28($sp) +/* f0da27c: 00003825 */ or $a3,$zero,$zero +/* f0da280: 0fc36652 */ jal func0f0d9948 +/* f0da284: afa90010 */ sw $t1,0x10($sp) +/* f0da288: 8fa90054 */ lw $t1,0x54($sp) +/* f0da28c: 00402025 */ or $a0,$v0,$zero +/* f0da290: 8fa50020 */ lw $a1,0x20($sp) +/* f0da294: 8fa60060 */ lw $a2,0x60($sp) +/* f0da298: 24070003 */ addiu $a3,$zero,0x3 +/* f0da29c: 0fc36652 */ jal func0f0d9948 +/* f0da2a0: afa90010 */ sw $t1,0x10($sp) +/* f0da2a4: 8fa90054 */ lw $t1,0x54($sp) +/* f0da2a8: 00402025 */ or $a0,$v0,$zero +/* f0da2ac: 8fa50024 */ lw $a1,0x24($sp) +/* f0da2b0: 8fa60060 */ lw $a2,0x60($sp) +/* f0da2b4: 24070002 */ addiu $a3,$zero,0x2 +/* f0da2b8: 0fc36652 */ jal func0f0d9948 +/* f0da2bc: afa90010 */ sw $t1,0x10($sp) +/* f0da2c0: 00402025 */ or $a0,$v0,$zero +.L0f0da2c4: +/* f0da2c4: 0fc35272 */ jal func0f0d49c8 +/* f0da2c8: 00000000 */ nop +.L0f0da2cc: +/* f0da2cc: 8fbf001c */ lw $ra,0x1c($sp) +/* f0da2d0: 27bd0090 */ addiu $sp,$sp,0x90 +/* f0da2d4: 03e00008 */ jr $ra +/* f0da2d8: 00000000 */ nop +); +#else GLOBAL_ASM( glabel sightRenderSkedar /* f0d9ba0: 27bdff70 */ addiu $sp,$sp,-144 @@ -4046,6 +5465,7 @@ glabel sightRenderSkedar /* f0da2d4: 03e00008 */ jr $ra /* f0da2d8: 00000000 */ nop ); +#endif GLOBAL_ASM( glabel sightRenderZoom diff --git a/src/game/splat.c b/src/game/splat.c index 5d41cf70c..46250c57e 100644 --- a/src/game/splat.c +++ b/src/game/splat.c @@ -57,13 +57,13 @@ void splatTick(struct prop *prop) if (thudframe != -1.0f && modelGetCurAnimFrame(chr->model) < thudframe) { osSyncPrintf("SPLAT : Not Dead Enough %s%s%f", "", "", modelGetCurAnimFrame(chr->model)); - } else if (chr->tickssincesplat > 30 && chr->deaddropsplatsadded < 6) { - chr->deaddropsplatsadded += func0f148f18(1, 1.1f, prop, NULL, 0, 0, isskedar, 1, 150, unk350, random() & 8); + } else if (chr->tickssincesplat > PALDOWN(30) && chr->deaddropsplatsadded < 6) { + chr->deaddropsplatsadded += func0f148f18(1, 1.1f, prop, NULL, 0, 0, isskedar, 1, PALDOWN(150), unk350, random() & 8); } } else { u32 value = chr->bulletstaken * chr->tickssincesplat; - if (value > 240) { + if (value > PALDOWN(240)) { f32 dist = coordsGetDistance(&chr->lastdroppos, &prop->pos); s32 addmore = false; @@ -76,7 +76,7 @@ void splatTick(struct prop *prop) } if (addmore) { - chr->woundedsplatsadded += func0f148f18(1, 0.3f, prop, NULL, 0, 0, isskedar, 2, 80, unk350, 0); + chr->woundedsplatsadded += func0f148f18(1, 0.3f, prop, NULL, 0, 0, isskedar, 2, PALDOWN(80), unk350, 0); } } @@ -104,7 +104,7 @@ void func0f148e54(struct prop *prop, struct splat *arg1, struct coord *arg2, str u32 rand = random() % 3; if (rand) { - chr->stdsplatsadded += func0f148f18(rand, 0.8f, prop, arg1, arg2, arg3, arg4, arg5, 50, arg6, 0); + chr->stdsplatsadded += func0f148f18(rand, 0.8f, prop, arg1, arg2, arg3, arg4, arg5, PALDOWN(50), arg6, 0); } } } diff --git a/src/game/timing.c b/src/game/timing.c index 2dd2d318b..a5f71e9c5 100644 --- a/src/game/timing.c +++ b/src/game/timing.c @@ -18,13 +18,13 @@ void frametimeApply(s32 diffframe60, s32 diffframe240, s32 frametime) g_Vars.diffframe60 = diffframe60; g_Vars.diffframe60f = diffframe60; - g_Vars.diffframe60freal = FRAMESTOTIME60(g_Vars.diffframe60f); + g_Vars.diffframe60freal = PALUPF(g_Vars.diffframe60f); g_Vars.lastframe240 = g_Vars.thisframe240; g_Vars.thisframe240 += diffframe240; g_Vars.diffframe240 = diffframe240; g_Vars.diffframe240f = diffframe240; - g_Vars.diffframe240freal = FRAMESTOTIME60(g_Vars.diffframe240f); + g_Vars.diffframe240freal = PALUPF(g_Vars.diffframe240f); } void frametimeCalculate(void) @@ -39,12 +39,22 @@ void frametimeCalculate(void) thisframeticks = count - g_Vars.thisframetime; g_Vars.thisframeticks = thisframeticks; +#if PAL + diffframe60 = (g_Vars.lostframetime + thisframeticks + 468750) / 937500; + diffframe240 = (g_Vars.lostframetime240 + thisframeticks + 117187) / 234375; +#else diffframe60 = (g_Vars.lostframetime + thisframeticks + 390625) / 781250; diffframe240 = (g_Vars.lostframetime240 + thisframeticks + 97656) / 195312; +#endif } while (diffframe60 < g_Vars.mininc60); +#if PAL + g_Vars.lostframetime = (g_Vars.lostframetime + thisframeticks) - (diffframe60 * 937500); + g_Vars.lostframetime240 = (g_Vars.lostframetime240 + thisframeticks) - (diffframe240 * 234375); +#else g_Vars.lostframetime = (g_Vars.lostframetime + thisframeticks) - (diffframe60 * 781250); g_Vars.lostframetime240 = (g_Vars.lostframetime240 + thisframeticks) - (diffframe240 * 195312); +#endif g_Vars.mininc60 = 1; frametimeApply(diffframe60, diffframe240, count); diff --git a/src/game/title.c b/src/game/title.c index 5a81b0b13..82cfe1e1e 100644 --- a/src/game/title.c +++ b/src/game/title.c @@ -439,7 +439,7 @@ void titleTickLegal(void) g_TitleTimer += g_Vars.lvupdate240_60; - if (g_TitleTimer > 180) { + if (g_TitleTimer > PALDOWN(180)) { titleSetNextMode(TITLEMODE_CHECKCONTROLLERS); } } @@ -1827,15 +1827,14 @@ void titleTickPdLogo(void) titleSetNextMode(TITLEMODE_SKIP); } } - - if (var800624a8 && g_TitleTimer > 666) { + if (var800624a8 && g_TitleTimer > PALDOWN(666)) { titleSetNextMode(TITLEMODE_SKIP); } if (contGetButtonsPressedThisFrame(0, 0xffff)) { var800624a8 = var800624ac = 1; - if (g_TitleTimer < 549) { + if (g_TitleTimer < PALDOWN(549)) { titleSetNextMode(TITLEMODE_PDLOGO); } } @@ -2439,7 +2438,7 @@ void func0f017980(void) var80062804 = 1; var8006280c = 1; var80062810 = 1; - g_TitleTimer = 549; + g_TitleTimer = PALDOWN(549); var80062730 = 0; musicStartTemporaryPrimary(1); @@ -5137,7 +5136,7 @@ void titleTickRarePresents(void) g_TitleTimer += g_Vars.lvupdate240_60; - if (g_TitleTimer > 300) { + if (g_TitleTimer > PALDOWN(300)) { titleSetNextMode(TITLEMODE_PDLOGO); } else if (contGetButtonsPressedThisFrame(0, 0xffff)) { titleSetNextMode(TITLEMODE_SKIP); @@ -5319,8 +5318,8 @@ Gfx *titleRenderRarePresents(Gfx *gdl) gdl = bviewRenderRarePresents(gdl); - if (g_TitleTimer > 222) { - f32 alpha = ((g_TitleTimer - 222.0f) / 78.0f); + if (g_TitleTimer > PALDOWN(222)) { + f32 alpha = ((g_TitleTimer - PALDOWN(222.0f)) / PALDOWN(78.0f)); u32 stack; gdl = func0f153a34(gdl, viGetViewLeft(), viGetViewTop(), @@ -5339,7 +5338,7 @@ void titleInitNintendoLogo(void) var800624ac = 0; if (var800624a8) { - g_TitleTimer = 180; + g_TitleTimer = PAL ? 133 : 180; } else { g_TitleTimer = 0; } @@ -5406,17 +5405,318 @@ void titleTickNintendoLogo(void) } } - if (var800624ac && var800624a8 == 0 && g_TitleTimer > 140) { + if (var800624ac && var800624a8 == 0 && g_TitleTimer > PALDOWN(140)) { var800624a8 = 1; var800624ac = 0; titleSetNextMode(TITLEMODE_PDLOGO); } - if (g_TitleTimer > 240) { + if (g_TitleTimer > (PAL ? 183 : 240)) { titleSetNextMode(TITLEMODE_PDLOGO); } } +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel titleRenderNintendoLogo +.late_rodata +glabel var7f1a847c +.word 0x40490fdb +glabel var7f1a8480 +.word 0x3dcccccd +glabel var7f1a8484 +.word 0x3f666666 +glabel var7f1a8488 +.word 0x3ecccccd +glabel var7f1a848c +.word 0x3ecccccd +glabel var7f1a8490 +.word 0x40490fdb +glabel var7f1a8494 +.word 0x3fc90fdb +glabel var7f1a8498 +.word 0x40490fdb +glabel var7f1a849c +.word 0x3eb33333 +glabel var7f1a84a0 +.word 0x3e4ccccd +.text +/* f019658: 27bdfe70 */ addiu $sp,$sp,-400 +/* f01965c: afb2003c */ sw $s2,0x3c($sp) +/* f019660: 3c0e8006 */ lui $t6,%hi(var8006287c) +/* f019664: 27b20150 */ addiu $s2,$sp,0x150 +/* f019668: afb00034 */ sw $s0,0x34($sp) +/* f01966c: 25ce287c */ addiu $t6,$t6,%lo(var8006287c) +/* f019670: 27b000f8 */ addiu $s0,$sp,0xf8 +/* f019674: afbf0044 */ sw $ra,0x44($sp) +/* f019678: afb30040 */ sw $s3,0x40($sp) +/* f01967c: afb10038 */ sw $s1,0x38($sp) +/* f019680: f7b40028 */ sdc1 $f20,0x28($sp) +/* f019684: 25d9003c */ addiu $t9,$t6,0x3c +/* f019688: 02404025 */ or $t0,$s2,$zero +.L0f01968c: +/* f01968c: 8dc10000 */ lw $at,0x0($t6) +/* f019690: 25ce000c */ addiu $t6,$t6,0xc +/* f019694: 2508000c */ addiu $t0,$t0,0xc +/* f019698: ad01fff4 */ sw $at,-0xc($t0) +/* f01969c: 8dc1fff8 */ lw $at,-0x8($t6) +/* f0196a0: ad01fff8 */ sw $at,-0x8($t0) +/* f0196a4: 8dc1fffc */ lw $at,-0x4($t6) +/* f0196a8: 15d9fff8 */ bne $t6,$t9,.L0f01968c +/* f0196ac: ad01fffc */ sw $at,-0x4($t0) +/* f0196b0: 8dc10000 */ lw $at,0x0($t6) +/* f0196b4: 3c098006 */ lui $t1,%hi(g_TitleTimer) +/* f0196b8: 3c0a8006 */ lui $t2,%hi(var800628bc) +/* f0196bc: ad010000 */ sw $at,0x0($t0) +/* f0196c0: 3c014370 */ lui $at,0x4337 +/* f0196c4: 44814000 */ mtc1 $at,$f8 +/* f0196c8: 8d2924c4 */ lw $t1,%lo(g_TitleTimer)($t1) +/* f0196cc: 254a28bc */ addiu $t2,$t2,%lo(var800628bc) +/* f0196d0: 8d410000 */ lw $at,0x0($t2) +/* f0196d4: 44892000 */ mtc1 $t1,$f4 +/* f0196d8: ae010000 */ sw $at,0x0($s0) +/* f0196dc: 8d4d0004 */ lw $t5,0x4($t2) +/* f0196e0: 468021a0 */ cvt.s.w $f6,$f4 +/* f0196e4: ae0d0004 */ sw $t5,0x4($s0) +/* f0196e8: 8d410008 */ lw $at,0x8($t2) +/* f0196ec: 46083503 */ div.s $f20,$f6,$f8 +/* f0196f0: 0fc06bf0 */ jal func0f01afc0 +/* f0196f4: ae010008 */ sw $at,0x8($s0) +/* f0196f8: 3c013f80 */ lui $at,0x3f80 +/* f0196fc: 44815000 */ mtc1 $at,$f10 +/* f019700: 3c013fc0 */ lui $at,0x3fc0 +/* f019704: 44818000 */ mtc1 $at,$f16 +/* f019708: 46145001 */ sub.s $f0,$f10,$f20 +/* f01970c: 3c18bc00 */ lui $t8,0xbc00 +/* f019710: 3c0f8000 */ lui $t7,0x8000 +/* f019714: 3c190386 */ lui $t9,0x386 +/* f019718: 3c0e8006 */ lui $t6,%hi(var80062598) +/* f01971c: 25ce2598 */ addiu $t6,$t6,%lo(var80062598) +/* f019720: 37390010 */ ori $t9,$t9,0x10 +/* f019724: 35ef0040 */ ori $t7,$t7,0x40 +/* f019728: 37180002 */ ori $t8,$t8,0x2 +/* f01972c: 46100482 */ mul.s $f18,$f0,$f16 +/* f019730: ac580000 */ sw $t8,0x0($v0) +/* f019734: ac4f0004 */ sw $t7,0x4($v0) +/* f019738: ac590008 */ sw $t9,0x8($v0) +/* f01973c: ac4e000c */ sw $t6,0xc($v0) +/* f019740: 24480018 */ addiu $t0,$v0,0x18 +/* f019744: 3c118006 */ lui $s1,%hi(var80062590) +/* f019748: afa80190 */ sw $t0,0x190($sp) +/* f01974c: 3c090388 */ lui $t1,0x388 +/* f019750: 26312590 */ addiu $s1,$s1,%lo(var80062590) +/* f019754: 35290010 */ ori $t1,$t1,0x10 +/* f019758: ac490010 */ sw $t1,0x10($v0) +/* f01975c: ac510014 */ sw $s1,0x14($v0) +/* f019760: 3c017f1b */ lui $at,%hi(var7f1a847c) +/* f019764: c424847c */ lwc1 $f4,%lo(var7f1a847c)($at) +/* f019768: e7a00050 */ swc1 $f0,0x50($sp) +/* f01976c: 46049302 */ mul.s $f12,$f18,$f4 +/* f019770: 0c0068f7 */ jal sinf +/* f019774: e7ac004c */ swc1 $f12,0x4c($sp) +/* f019778: c7ac004c */ lwc1 $f12,0x4c($sp) +/* f01977c: 0c0068f4 */ jal cosf +/* f019780: e7a00100 */ swc1 $f0,0x100($sp) +/* f019784: e7a000f8 */ swc1 $f0,0xf8($sp) +/* f019788: 02002025 */ or $a0,$s0,$zero +/* f01978c: 27a500fc */ addiu $a1,$sp,0xfc +/* f019790: 0c0011e4 */ jal guNormalize +/* f019794: 27a60100 */ addiu $a2,$sp,0x100 +/* f019798: 3c017f1b */ lui $at,%hi(var7f1a8480) +/* f01979c: c4208480 */ lwc1 $f0,%lo(var7f1a8480)($at) +/* f0197a0: 44801000 */ mtc1 $zero,$f2 +/* f0197a4: 240200ff */ addiu $v0,$zero,0xff +/* f0197a8: 4600a03c */ c.lt.s $f20,$f0 +/* f0197ac: 02202025 */ or $a0,$s1,$zero +/* f0197b0: 45000008 */ bc1f .L0f0197d4 +/* f0197b4: 3c01437f */ lui $at,0x437f +/* f0197b8: 44813000 */ mtc1 $at,$f6 +/* f0197bc: 00000000 */ nop +/* f0197c0: 46143202 */ mul.s $f8,$f6,$f20 +/* f0197c4: 46004283 */ div.s $f10,$f8,$f0 +/* f0197c8: 4600540d */ trunc.w.s $f16,$f10 +/* f0197cc: 44028000 */ mfc1 $v0,$f16 +/* f0197d0: 00000000 */ nop +.L0f0197d4: +/* f0197d4: 3c017f1b */ lui $at,%hi(var7f1a8484) +/* f0197d8: c4328484 */ lwc1 $f18,%lo(var7f1a8484)($at) +/* f0197dc: 4614903c */ c.lt.s $f18,$f20 +/* f0197e0: 00000000 */ nop +/* f0197e4: 45000008 */ bc1f .L0f019808 +/* f0197e8: 3c01437f */ lui $at,0x437f +/* f0197ec: 44813000 */ mtc1 $at,$f6 +/* f0197f0: c7a40050 */ lwc1 $f4,0x50($sp) +/* f0197f4: 46062202 */ mul.s $f8,$f4,$f6 +/* f0197f8: 46004283 */ div.s $f10,$f8,$f0 +/* f0197fc: 4600540d */ trunc.w.s $f16,$f10 +/* f019800: 44028000 */ mfc1 $v0,$f16 +/* f019804: 00000000 */ nop +.L0f019808: +/* f019808: 28410100 */ slti $at,$v0,0x100 +/* f01980c: 14200002 */ bnez $at,.L0f019818 +/* f019810: 00000000 */ nop +/* f019814: 240200ff */ addiu $v0,$zero,0xff +.L0f019818: +/* f019818: 04430003 */ bgezl $v0,.L0f019828 +/* f01981c: 304500ff */ andi $a1,$v0,0xff +/* f019820: 00001025 */ or $v0,$zero,$zero +/* f019824: 304500ff */ andi $a1,$v0,0xff +.L0f019828: +/* f019828: 30a600ff */ andi $a2,$a1,0xff +/* f01982c: 30a700ff */ andi $a3,$a1,0xff +/* f019830: e7a20010 */ swc1 $f2,0x10($sp) +/* f019834: 0fc0585b */ jal func0f01616c +/* f019838: afb00014 */ sw $s0,0x14($sp) +/* f01983c: 3c017f1b */ lui $at,%hi(var7f1a8488) +/* f019840: c4328488 */ lwc1 $f18,%lo(var7f1a8488)($at) +/* f019844: 44801000 */ mtc1 $zero,$f2 +/* f019848: 4612a03c */ c.lt.s $f20,$f18 +/* f01984c: e7a2009c */ swc1 $f2,0x9c($sp) +/* f019850: 45000015 */ bc1f .L0f0198a8 +/* f019854: 3c013f80 */ lui $at,0x3f80 +/* f019858: 44812000 */ mtc1 $at,$f4 +/* f01985c: 3c017f1b */ lui $at,%hi(var7f1a848c) +/* f019860: c426848c */ lwc1 $f6,%lo(var7f1a848c)($at) +/* f019864: 3c017f1b */ lui $at,%hi(var7f1a8490) +/* f019868: c4308490 */ lwc1 $f16,%lo(var7f1a8490)($at) +/* f01986c: 4606a203 */ div.s $f8,$f20,$f6 +/* f019870: 46082281 */ sub.s $f10,$f4,$f8 +/* f019874: 46105302 */ mul.s $f12,$f10,$f16 +/* f019878: 0c0068f4 */ jal cosf +/* f01987c: 00000000 */ nop +/* f019880: 3c013f00 */ lui $at,0x3f00 +/* f019884: 44813000 */ mtc1 $at,$f6 +/* f019888: 46000487 */ neg.s $f18,$f0 +/* f01988c: 44814000 */ mtc1 $at,$f8 +/* f019890: 46069102 */ mul.s $f4,$f18,$f6 +/* f019894: 3c017f1b */ lui $at,%hi(var7f1a8494) +/* f019898: c4308494 */ lwc1 $f16,%lo(var7f1a8494)($at) +/* f01989c: 46082280 */ add.s $f10,$f4,$f8 +/* f0198a0: 46105482 */ mul.s $f18,$f10,$f16 +/* f0198a4: e7b2009c */ swc1 $f18,0x9c($sp) +.L0f0198a8: +/* f0198a8: 3c013f80 */ lui $at,0x3f80 +/* f0198ac: 44812000 */ mtc1 $at,$f4 +/* f0198b0: 44813000 */ mtc1 $at,$f6 +/* f0198b4: 3c017f1b */ lui $at,%hi(var7f1a8498) +/* f0198b8: 4604a203 */ div.s $f8,$f20,$f4 +/* f0198bc: c4308498 */ lwc1 $f16,%lo(var7f1a8498)($at) +/* f0198c0: 46083281 */ sub.s $f10,$f6,$f8 +/* f0198c4: 46105302 */ mul.s $f12,$f10,$f16 +/* f0198c8: 0c0068f4 */ jal cosf +/* f0198cc: 00000000 */ nop +/* f0198d0: 3c013f00 */ lui $at,0x3f00 +/* f0198d4: 44812000 */ mtc1 $at,$f4 +/* f0198d8: 46000487 */ neg.s $f18,$f0 +/* f0198dc: 44814000 */ mtc1 $at,$f8 +/* f0198e0: 46049182 */ mul.s $f6,$f18,$f4 +/* f0198e4: 3c017f1b */ lui $at,%hi(var7f1a849c) +/* f0198e8: c430849c */ lwc1 $f16,%lo(var7f1a849c)($at) +/* f0198ec: 44801000 */ mtc1 $zero,$f2 +/* f0198f0: 27b100a8 */ addiu $s1,$sp,0xa8 +/* f0198f4: 02202825 */ or $a1,$s1,$zero +/* f0198f8: 27a4009c */ addiu $a0,$sp,0x9c +/* f0198fc: 46083280 */ add.s $f10,$f6,$f8 +/* f019900: e7a200a4 */ swc1 $f2,0xa4($sp) +/* f019904: 46105482 */ mul.s $f18,$f10,$f16 +/* f019908: 0c005923 */ jal func0001648c +/* f01990c: e7b200a0 */ swc1 $f18,0xa0($sp) +/* f019910: 3c017f1b */ lui $at,%hi(var7f1a84a0) +/* f019914: c42484a0 */ lwc1 $f4,%lo(var7f1a84a0)($at) +/* f019918: 3c013f80 */ lui $at,0x3f80 +/* f01991c: 44814000 */ mtc1 $at,$f8 +/* f019920: 4604a182 */ mul.s $f6,$f20,$f4 +/* f019924: 02202825 */ or $a1,$s1,$zero +/* f019928: 0c0057e2 */ jal func00015f88 +/* f01992c: 46083300 */ add.s $f12,$f6,$f8 +/* f019930: 44801000 */ mtc1 $zero,$f2 +/* f019934: 3c013f80 */ lui $at,0x3f80 +/* f019938: 44815000 */ mtc1 $at,$f10 +/* f01993c: 27b00108 */ addiu $s0,$sp,0x108 +/* f019940: 44051000 */ mfc1 $a1,$f2 +/* f019944: 44061000 */ mfc1 $a2,$f2 +/* f019948: 02002025 */ or $a0,$s0,$zero +/* f01994c: 3c07457a */ lui $a3,0x457a +/* f019950: e7a20010 */ swc1 $f2,0x10($sp) +/* f019954: e7a20014 */ swc1 $f2,0x14($sp) +/* f019958: e7a20018 */ swc1 $f2,0x18($sp) +/* f01995c: e7a2001c */ swc1 $f2,0x1c($sp) +/* f019960: e7a20024 */ swc1 $f2,0x24($sp) +/* f019964: 0c005ab9 */ jal func00016ae4 +/* f019968: e7aa0020 */ swc1 $f10,0x20($sp) +/* f01996c: 02002025 */ or $a0,$s0,$zero +/* f019970: 0c00567f */ jal func000159fc +/* f019974: 02202825 */ or $a1,$s1,$zero +/* f019978: 02202025 */ or $a0,$s1,$zero +/* f01997c: 0c005746 */ jal func00015d18 +/* f019980: 02002825 */ or $a1,$s0,$zero +/* f019984: 3c138006 */ lui $s3,%hi(g_TitleModel) +/* f019988: 267324f8 */ addiu $s3,$s3,%lo(g_TitleModel) +/* f01998c: 8e6a0000 */ lw $t2,0x0($s3) +/* f019990: afb00150 */ sw $s0,0x150($sp) +/* f019994: 8d4d0008 */ lw $t5,0x8($t2) +/* f019998: 85a4000e */ lh $a0,0xe($t5) +/* f01999c: 0004c180 */ sll $t8,$a0,0x6 +/* f0199a0: 0fc59e7d */ jal gfxAllocate +/* f0199a4: 03002025 */ or $a0,$t8,$zero +/* f0199a8: afa20160 */ sw $v0,0x160($sp) +/* f0199ac: 02002025 */ or $a0,$s0,$zero +/* f0199b0: 0c005746 */ jal func00015d18 +/* f0199b4: 00402825 */ or $a1,$v0,$zero +/* f0199b8: 8faf0160 */ lw $t7,0x160($sp) +/* f0199bc: 8e790000 */ lw $t9,0x0($s3) +/* f0199c0: af2f000c */ sw $t7,0xc($t9) +/* f0199c4: 0c007308 */ jal func0001cc20 +/* f0199c8: 8e640000 */ lw $a0,0x0($s3) +/* f0199cc: 8fa80190 */ lw $t0,0x190($sp) +/* f0199d0: 240e0003 */ addiu $t6,$zero,0x3 +/* f0199d4: afae0158 */ sw $t6,0x158($sp) +/* f0199d8: afa00154 */ sw $zero,0x154($sp) +/* f0199dc: 02402025 */ or $a0,$s2,$zero +/* f0199e0: 8e650000 */ lw $a1,0x0($s3) +/* f0199e4: 0c0087bd */ jal modelRender +/* f0199e8: afa8015c */ sw $t0,0x15c($sp) +/* f0199ec: 8fa9015c */ lw $t1,0x15c($sp) +/* f0199f0: 8e620000 */ lw $v0,0x0($s3) +/* f0199f4: 00008025 */ or $s0,$zero,$zero +/* f0199f8: afa90190 */ sw $t1,0x190($sp) +/* f0199fc: 8c4c0008 */ lw $t4,0x8($v0) +/* f019a00: 00008825 */ or $s1,$zero,$zero +/* f019a04: 27b20054 */ addiu $s2,$sp,0x54 +/* f019a08: 858b000e */ lh $t3,0xe($t4) +/* f019a0c: 59600014 */ blezl $t3,.L0f019a60 +/* f019a10: 8fbf0044 */ lw $ra,0x44($sp) +/* f019a14: 8c4a000c */ lw $t2,0xc($v0) +.L0f019a18: +/* f019a18: 02402825 */ or $a1,$s2,$zero +/* f019a1c: 0c005746 */ jal func00015d18 +/* f019a20: 01512021 */ addu $a0,$t2,$s1 +/* f019a24: 8e6d0000 */ lw $t5,0x0($s3) +/* f019a28: 00107980 */ sll $t7,$s0,0x6 +/* f019a2c: 02402025 */ or $a0,$s2,$zero +/* f019a30: 8db8000c */ lw $t8,0xc($t5) +/* f019a34: 0c005815 */ jal func00016054 +/* f019a38: 030f2821 */ addu $a1,$t8,$t7 +/* f019a3c: 8e620000 */ lw $v0,0x0($s3) +/* f019a40: 26100001 */ addiu $s0,$s0,0x1 +/* f019a44: 26310040 */ addiu $s1,$s1,0x40 +/* f019a48: 8c590008 */ lw $t9,0x8($v0) +/* f019a4c: 872e000e */ lh $t6,0xe($t9) +/* f019a50: 020e082a */ slt $at,$s0,$t6 +/* f019a54: 5420fff0 */ bnezl $at,.L0f019a18 +/* f019a58: 8c4a000c */ lw $t2,0xc($v0) +/* f019a5c: 8fbf0044 */ lw $ra,0x44($sp) +.L0f019a60: +/* f019a60: 8fa20190 */ lw $v0,0x190($sp) +/* f019a64: d7b40028 */ ldc1 $f20,0x28($sp) +/* f019a68: 8fb00034 */ lw $s0,0x34($sp) +/* f019a6c: 8fb10038 */ lw $s1,0x38($sp) +/* f019a70: 8fb2003c */ lw $s2,0x3c($sp) +/* f019a74: 8fb30040 */ lw $s3,0x40($sp) +/* f019a78: 03e00008 */ jr $ra +/* f019a7c: 27bd0190 */ addiu $sp,$sp,0x190 +); +#else GLOBAL_ASM( glabel titleRenderNintendoLogo .late_rodata @@ -5716,6 +6016,7 @@ glabel var7f1a84a0 /* f019a78: 03e00008 */ jr $ra /* f019a7c: 27bd0190 */ addiu $sp,$sp,0x190 ); +#endif void titleInitRareLogo(void) { @@ -5799,11 +6100,11 @@ void titleTickRareLogo(void) var800624a8 = 1; titleSetNextMode(TITLEMODE_PDLOGO); } else if (var800624a8 == 0) { - if (g_TitleTimer < 60) { + if (g_TitleTimer < PALDOWN(60)) { var800624a8 = 1; - if (g_TitleTimer < 100) { - g_TitleTimer = 100; + if (g_TitleTimer < PALDOWN(100)) { + g_TitleTimer = PALDOWN(100); } } else { var800624ac = 1; @@ -5812,7 +6113,9 @@ void titleTickRareLogo(void) } } - if (g_TitleTimer > 240 || var800624ac || (var800624a8 && g_TitleTimer > 140)) { + if (g_TitleTimer > PALDOWN(240) + || var800624ac + || (var800624a8 && g_TitleTimer > PALDOWN(140))) { titleSetNextMode(TITLEMODE_NINTENDOLOGO); } } @@ -5823,6 +6126,7 @@ f32 func0f019d0c(f32 arg0) return ((1.0f - arg0) + (1.0f - arg0)) * M_PI - DEG2RAD(90); } +#if VERSION >= VERSION_PAL_FINAL GLOBAL_ASM( glabel titleRenderRareLogo .late_rodata @@ -5861,7 +6165,7 @@ glabel var7f1a84bc /* f019d98: 02802025 */ or $a0,$s4,$zero /* f019d9c: adc10000 */ sw $at,0x0($t6) /* f019da0: 8e090000 */ lw $t1,0x0($s0) -/* f019da4: 3c014370 */ lui $at,0x4370 +/* f019da4: 3c014370 */ lui $at,0x4348 /* f019da8: 44814000 */ mtc1 $at,$f8 /* f019dac: 44892000 */ mtc1 $t1,$f4 /* f019db0: 00000000 */ nop @@ -6028,7 +6332,7 @@ glabel var7f1a84bc /* f01a014: e7a200bc */ swc1 $f2,0xbc($sp) /* f01a018: 46064280 */ add.s $f10,$f8,$f6 /* f01a01c: 46040201 */ sub.s $f8,$f0,$f4 -/* f01a020: e42a2920 */ swc1 $f10,0x2920($at) +/* f01a020: e42a2920 */ swc1 $f10,%lo(var80062920)($at) /* f01a024: 3c017f1b */ lui $at,%hi(var7f1a84bc) /* f01a028: c43084bc */ lwc1 $f16,%lo(var7f1a84bc)($at) /* f01a02c: 46088182 */ mul.s $f6,$f16,$f8 @@ -6240,6 +6544,425 @@ glabel var7f1a84bc /* f01a340: 03e00008 */ jr $ra /* f01a344: 27bd01a0 */ addiu $sp,$sp,0x1a0 ); +#else +GLOBAL_ASM( +glabel titleRenderRareLogo +.late_rodata +glabel var7f1a84b4 +.word 0x3dcccccd +glabel var7f1a84b8 +.word 0x3e4ccccd +glabel var7f1a84bc +.word 0x3fc90fdb +.text +/* f019d38: 27bdfe60 */ addiu $sp,$sp,-416 +/* f019d3c: afb00030 */ sw $s0,0x30($sp) +/* f019d40: 3c0f8006 */ lui $t7,%hi(var800628d4) +/* f019d44: 3c108006 */ lui $s0,%hi(g_TitleTimer) +/* f019d48: afb40040 */ sw $s4,0x40($sp) +/* f019d4c: 25ef28d4 */ addiu $t7,$t7,%lo(var800628d4) +/* f019d50: 0080a025 */ or $s4,$a0,$zero +/* f019d54: 261024c4 */ addiu $s0,$s0,%lo(g_TitleTimer) +/* f019d58: afbf0044 */ sw $ra,0x44($sp) +/* f019d5c: afb3003c */ sw $s3,0x3c($sp) +/* f019d60: afb20038 */ sw $s2,0x38($sp) +/* f019d64: afb10034 */ sw $s1,0x34($sp) +/* f019d68: 25e8003c */ addiu $t0,$t7,0x3c +/* f019d6c: 27ae0160 */ addiu $t6,$sp,0x160 +.L0f019d70: +/* f019d70: 8de10000 */ lw $at,0x0($t7) +/* f019d74: 25ef000c */ addiu $t7,$t7,0xc +/* f019d78: 25ce000c */ addiu $t6,$t6,0xc +/* f019d7c: adc1fff4 */ sw $at,-0xc($t6) +/* f019d80: 8de1fff8 */ lw $at,-0x8($t7) +/* f019d84: adc1fff8 */ sw $at,-0x8($t6) +/* f019d88: 8de1fffc */ lw $at,-0x4($t7) +/* f019d8c: 15e8fff8 */ bne $t7,$t0,.L0f019d70 +/* f019d90: adc1fffc */ sw $at,-0x4($t6) +/* f019d94: 8de10000 */ lw $at,0x0($t7) +/* f019d98: 02802025 */ or $a0,$s4,$zero +/* f019d9c: adc10000 */ sw $at,0x0($t6) +/* f019da0: 8e090000 */ lw $t1,0x0($s0) +/* f019da4: 3c014370 */ lui $at,0x4370 +/* f019da8: 44814000 */ mtc1 $at,$f8 +/* f019dac: 44892000 */ mtc1 $t1,$f4 +/* f019db0: 00000000 */ nop +/* f019db4: 468021a0 */ cvt.s.w $f6,$f4 +/* f019db8: 46083283 */ div.s $f10,$f6,$f8 +/* f019dbc: 0fc06bf0 */ jal func0f01afc0 +/* f019dc0: e7aa0158 */ swc1 $f10,0x158($sp) +/* f019dc4: 8e0a0000 */ lw $t2,0x0($s0) +/* f019dc8: 3c0b8006 */ lui $t3,%hi(var80062914) +/* f019dcc: 0040a025 */ or $s4,$v0,$zero +/* f019dd0: 05410003 */ bgez $t2,.L0f019de0 +/* f019dd4: 256b2914 */ addiu $t3,$t3,%lo(var80062914) +/* f019dd8: 10000154 */ b .L0f01a32c +/* f019ddc: 8fbf0044 */ lw $ra,0x44($sp) +.L0f019de0: +/* f019de0: 8d610000 */ lw $at,0x0($t3) +/* f019de4: 27b10104 */ addiu $s1,$sp,0x104 +/* f019de8: ae210000 */ sw $at,0x0($s1) +/* f019dec: 8d6d0004 */ lw $t5,0x4($t3) +/* f019df0: ae2d0004 */ sw $t5,0x4($s1) +/* f019df4: 8d610008 */ lw $at,0x8($t3) +/* f019df8: ae210008 */ sw $at,0x8($s1) +/* f019dfc: 0fc06743 */ jal func0f019d0c +/* f019e00: c7ac0158 */ lwc1 $f12,0x158($sp) +/* f019e04: 0c0068f7 */ jal sinf +/* f019e08: 46000306 */ mov.s $f12,$f0 +/* f019e0c: e7a0010c */ swc1 $f0,0x10c($sp) +/* f019e10: 0fc06743 */ jal func0f019d0c +/* f019e14: c7ac0158 */ lwc1 $f12,0x158($sp) +/* f019e18: 0c0068f4 */ jal cosf +/* f019e1c: 46000306 */ mov.s $f12,$f0 +/* f019e20: 27b20108 */ addiu $s2,$sp,0x108 +/* f019e24: 27b3010c */ addiu $s3,$sp,0x10c +/* f019e28: e7a00104 */ swc1 $f0,0x104($sp) +/* f019e2c: 02603025 */ or $a2,$s3,$zero +/* f019e30: 02402825 */ or $a1,$s2,$zero +/* f019e34: 0c0011e4 */ jal guNormalize +/* f019e38: 02202025 */ or $a0,$s1,$zero +/* f019e3c: 3c017f1b */ lui $at,%hi(var7f1a84b4) +/* f019e40: c42084b4 */ lwc1 $f0,%lo(var7f1a84b4)($at) +/* f019e44: c7a20158 */ lwc1 $f2,0x158($sp) +/* f019e48: 241000ff */ addiu $s0,$zero,0xff +/* f019e4c: 4600103c */ c.lt.s $f2,$f0 +/* f019e50: 00000000 */ nop +/* f019e54: 45000008 */ bc1f .L0f019e78 +/* f019e58: 3c01437f */ lui $at,0x437f +/* f019e5c: 44818000 */ mtc1 $at,$f16 +/* f019e60: 00000000 */ nop +/* f019e64: 46028482 */ mul.s $f18,$f16,$f2 +/* f019e68: 46009103 */ div.s $f4,$f18,$f0 +/* f019e6c: 4600218d */ trunc.w.s $f6,$f4 +/* f019e70: 44103000 */ mfc1 $s0,$f6 +/* f019e74: 00000000 */ nop +.L0f019e78: +/* f019e78: 2a010100 */ slti $at,$s0,0x100 +/* f019e7c: 14200002 */ bnez $at,.L0f019e88 +/* f019e80: 00000000 */ nop +/* f019e84: 241000ff */ addiu $s0,$zero,0xff +.L0f019e88: +/* f019e88: 06010002 */ bgez $s0,.L0f019e94 +/* f019e8c: 3c017f1b */ lui $at,%hi(var7f1a84b8) +/* f019e90: 00008025 */ or $s0,$zero,$zero +.L0f019e94: +/* f019e94: c42084b8 */ lwc1 $f0,%lo(var7f1a84b8)($at) +/* f019e98: 4600103c */ c.lt.s $f2,$f0 +/* f019e9c: 00000000 */ nop +/* f019ea0: 45000013 */ bc1f .L0f019ef0 +/* f019ea4: 3c01437f */ lui $at,0x437f +/* f019ea8: 44814000 */ mtc1 $at,$f8 +/* f019eac: 44802000 */ mtc1 $zero,$f4 +/* f019eb0: 3c048006 */ lui $a0,%hi(var80062590) +/* f019eb4: 46024282 */ mul.s $f10,$f8,$f2 +/* f019eb8: 24842590 */ addiu $a0,$a0,%lo(var80062590) +/* f019ebc: afb10014 */ sw $s1,0x14($sp) +/* f019ec0: e7a40010 */ swc1 $f4,0x10($sp) +/* f019ec4: 46005403 */ div.s $f16,$f10,$f0 +/* f019ec8: 4600848d */ trunc.w.s $f18,$f16 +/* f019ecc: 44059000 */ mfc1 $a1,$f18 +/* f019ed0: 00000000 */ nop +/* f019ed4: 30a800ff */ andi $t0,$a1,0xff +/* f019ed8: 01002825 */ or $a1,$t0,$zero +/* f019edc: 310600ff */ andi $a2,$t0,0xff +/* f019ee0: 0fc0585b */ jal func0f01616c +/* f019ee4: 310700ff */ andi $a3,$t0,0xff +/* f019ee8: 1000000b */ b .L0f019f18 +/* f019eec: 3c013f00 */ lui $at,0x3f00 +.L0f019ef0: +/* f019ef0: 44803000 */ mtc1 $zero,$f6 +/* f019ef4: 3c048006 */ lui $a0,%hi(var80062590) +/* f019ef8: 320500ff */ andi $a1,$s0,0xff +/* f019efc: 30a600ff */ andi $a2,$a1,0xff +/* f019f00: 30a700ff */ andi $a3,$a1,0xff +/* f019f04: 24842590 */ addiu $a0,$a0,%lo(var80062590) +/* f019f08: afb10014 */ sw $s1,0x14($sp) +/* f019f0c: 0fc0585b */ jal func0f01616c +/* f019f10: e7a60010 */ swc1 $f6,0x10($sp) +/* f019f14: 3c013f00 */ lui $at,0x3f00 +.L0f019f18: +/* f019f18: 00107880 */ sll $t7,$s0,0x2 +/* f019f1c: 44816000 */ mtc1 $at,$f12 +/* f019f20: 01f07823 */ subu $t7,$t7,$s0 +/* f019f24: 000f7980 */ sll $t7,$t7,0x6 +/* f019f28: 240100ff */ addiu $at,$zero,0xff +/* f019f2c: 01e1001a */ div $zero,$t7,$at +/* f019f30: c7a80158 */ lwc1 $f8,0x158($sp) +/* f019f34: 00008012 */ mflo $s0 +/* f019f38: 460c403c */ c.lt.s $f8,$f12 +/* f019f3c: 00000000 */ nop +/* f019f40: 4502001c */ bc1fl .L0f019fb4 +/* f019f44: 44808000 */ mtc1 $zero,$f16 +/* f019f48: 0fc06743 */ jal func0f019d0c +/* f019f4c: 00000000 */ nop +/* f019f50: 0c0068f7 */ jal sinf +/* f019f54: 46000306 */ mov.s $f12,$f0 +/* f019f58: 3c013f00 */ lui $at,0x3f00 +/* f019f5c: 44816000 */ mtc1 $at,$f12 +/* f019f60: 0fc06743 */ jal func0f019d0c +/* f019f64: e7a0010c */ swc1 $f0,0x10c($sp) +/* f019f68: 0c0068f4 */ jal cosf +/* f019f6c: 46000306 */ mov.s $f12,$f0 +/* f019f70: e7a00104 */ swc1 $f0,0x104($sp) +/* f019f74: 02202025 */ or $a0,$s1,$zero +/* f019f78: 02402825 */ or $a1,$s2,$zero +/* f019f7c: 0c0011e4 */ jal guNormalize +/* f019f80: 02603025 */ or $a2,$s3,$zero +/* f019f84: 44805000 */ mtc1 $zero,$f10 +/* f019f88: 3c048006 */ lui $a0,%hi(var800625a8) +/* f019f8c: 320500ff */ andi $a1,$s0,0xff +/* f019f90: 30a600ff */ andi $a2,$a1,0xff +/* f019f94: 30a700ff */ andi $a3,$a1,0xff +/* f019f98: 248425a8 */ addiu $a0,$a0,%lo(var800625a8) +/* f019f9c: afb10014 */ sw $s1,0x14($sp) +/* f019fa0: 0fc0585b */ jal func0f01616c +/* f019fa4: e7aa0010 */ swc1 $f10,0x10($sp) +/* f019fa8: 1000000b */ b .L0f019fd8 +/* f019fac: 3c013f80 */ lui $at,0x3f80 +/* f019fb0: 44808000 */ mtc1 $zero,$f16 +.L0f019fb4: +/* f019fb4: 3c048006 */ lui $a0,%hi(var800625a8) +/* f019fb8: 320500ff */ andi $a1,$s0,0xff +/* f019fbc: 30a600ff */ andi $a2,$a1,0xff +/* f019fc0: 30a700ff */ andi $a3,$a1,0xff +/* f019fc4: 248425a8 */ addiu $a0,$a0,%lo(var800625a8) +/* f019fc8: afb10014 */ sw $s1,0x14($sp) +/* f019fcc: 0fc0585b */ jal func0f01616c +/* f019fd0: e7b00010 */ swc1 $f16,0x10($sp) +/* f019fd4: 3c013f80 */ lui $at,0x3f80 +.L0f019fd8: +/* f019fd8: 44810000 */ mtc1 $at,$f0 +/* f019fdc: 3c01800a */ lui $at,%hi(g_Vars+0x44) +/* f019fe0: c432a004 */ lwc1 $f18,%lo(g_Vars+0x44)($at) +/* f019fe4: 3c0142b4 */ lui $at,0x42b4 +/* f019fe8: 44812000 */ mtc1 $at,$f4 +/* f019fec: 3c018006 */ lui $at,%hi(var80062920) +/* f019ff0: c4282920 */ lwc1 $f8,%lo(var80062920)($at) +/* f019ff4: 46049183 */ div.s $f6,$f18,$f4 +/* f019ff8: c7b20158 */ lwc1 $f18,0x158($sp) +/* f019ffc: 44801000 */ mtc1 $zero,$f2 +/* f01a000: 27b100c0 */ addiu $s1,$sp,0xc0 +/* f01a004: 46009102 */ mul.s $f4,$f18,$f0 +/* f01a008: 02202825 */ or $a1,$s1,$zero +/* f01a00c: 27a400b4 */ addiu $a0,$sp,0xb4 +/* f01a010: e7a200b4 */ swc1 $f2,0xb4($sp) +/* f01a014: e7a200bc */ swc1 $f2,0xbc($sp) +/* f01a018: 46064280 */ add.s $f10,$f8,$f6 +/* f01a01c: 46040201 */ sub.s $f8,$f0,$f4 +/* f01a020: e42a2920 */ swc1 $f10,%lo(var80062920)($at) +/* f01a024: 3c017f1b */ lui $at,%hi(var7f1a84bc) +/* f01a028: c43084bc */ lwc1 $f16,%lo(var7f1a84bc)($at) +/* f01a02c: 46088182 */ mul.s $f6,$f16,$f8 +/* f01a030: 0c005923 */ jal func0001648c +/* f01a034: e7a600b8 */ swc1 $f6,0xb8($sp) +/* f01a038: 3c013e80 */ lui $at,0x3e80 +/* f01a03c: 44819000 */ mtc1 $at,$f18 +/* f01a040: c7aa0158 */ lwc1 $f10,0x158($sp) +/* f01a044: 3c013f80 */ lui $at,0x3f80 +/* f01a048: 44818000 */ mtc1 $at,$f16 +/* f01a04c: 46125102 */ mul.s $f4,$f10,$f18 +/* f01a050: 02202825 */ or $a1,$s1,$zero +/* f01a054: 0c0057e2 */ jal func00015f88 +/* f01a058: 46102300 */ add.s $f12,$f4,$f16 +/* f01a05c: 44800000 */ mtc1 $zero,$f0 +/* f01a060: 3c013f80 */ lui $at,0x3f80 +/* f01a064: 44814000 */ mtc1 $at,$f8 +/* f01a068: 27b00118 */ addiu $s0,$sp,0x118 +/* f01a06c: 44050000 */ mfc1 $a1,$f0 +/* f01a070: 44060000 */ mfc1 $a2,$f0 +/* f01a074: 02002025 */ or $a0,$s0,$zero +/* f01a078: 3c07457a */ lui $a3,0x457a +/* f01a07c: e7a00010 */ swc1 $f0,0x10($sp) +/* f01a080: e7a00014 */ swc1 $f0,0x14($sp) +/* f01a084: e7a00018 */ swc1 $f0,0x18($sp) +/* f01a088: e7a0001c */ swc1 $f0,0x1c($sp) +/* f01a08c: e7a00024 */ swc1 $f0,0x24($sp) +/* f01a090: 0c005ab9 */ jal func00016ae4 +/* f01a094: e7a80020 */ swc1 $f8,0x20($sp) +/* f01a098: 02002025 */ or $a0,$s0,$zero +/* f01a09c: 0c00567f */ jal func000159fc +/* f01a0a0: 02202825 */ or $a1,$s1,$zero +/* f01a0a4: 02202025 */ or $a0,$s1,$zero +/* f01a0a8: 0c005746 */ jal func00015d18 +/* f01a0ac: 02002825 */ or $a1,$s0,$zero +/* f01a0b0: 3c138006 */ lui $s3,%hi(g_TitleModel) +/* f01a0b4: 267324f8 */ addiu $s3,$s3,%lo(g_TitleModel) +/* f01a0b8: 8e690000 */ lw $t1,0x0($s3) +/* f01a0bc: afb00160 */ sw $s0,0x160($sp) +/* f01a0c0: 8d2a0008 */ lw $t2,0x8($t1) +/* f01a0c4: 8544000e */ lh $a0,0xe($t2) +/* f01a0c8: 00046180 */ sll $t4,$a0,0x6 +/* f01a0cc: 0fc59e7d */ jal gfxAllocate +/* f01a0d0: 01802025 */ or $a0,$t4,$zero +/* f01a0d4: afa20170 */ sw $v0,0x170($sp) +/* f01a0d8: 02002025 */ or $a0,$s0,$zero +/* f01a0dc: 0c005746 */ jal func00015d18 +/* f01a0e0: 00402825 */ or $a1,$v0,$zero +/* f01a0e4: 8fab0170 */ lw $t3,0x170($sp) +/* f01a0e8: 8e6d0000 */ lw $t5,0x0($s3) +/* f01a0ec: adab000c */ sw $t3,0xc($t5) +/* f01a0f0: 0c007308 */ jal func0001cc20 +/* f01a0f4: 8e640000 */ lw $a0,0x0($s3) +/* f01a0f8: 8e790000 */ lw $t9,0x0($s3) +/* f01a0fc: 2405000b */ addiu $a1,$zero,0xb +/* f01a100: 0c006a47 */ jal modelGetPart +/* f01a104: 8f240008 */ lw $a0,0x8($t9) +/* f01a108: 8e640000 */ lw $a0,0x0($s3) +/* f01a10c: 0c006a87 */ jal modelGetNodeData +/* f01a110: 00402825 */ or $a1,$v0,$zero +/* f01a114: 50400003 */ beqzl $v0,.L0f01a124 +/* f01a118: 8e780000 */ lw $t8,0x0($s3) +/* f01a11c: ac400000 */ sw $zero,0x0($v0) +/* f01a120: 8e780000 */ lw $t8,0x0($s3) +.L0f01a124: +/* f01a124: 2405000d */ addiu $a1,$zero,0xd +/* f01a128: 0c006a47 */ jal modelGetPart +/* f01a12c: 8f040008 */ lw $a0,0x8($t8) +/* f01a130: 8e640000 */ lw $a0,0x0($s3) +/* f01a134: 0c006a87 */ jal modelGetNodeData +/* f01a138: 00402825 */ or $a1,$v0,$zero +/* f01a13c: 10400002 */ beqz $v0,.L0f01a148 +/* f01a140: 24080001 */ addiu $t0,$zero,0x1 +/* f01a144: ac480000 */ sw $t0,0x0($v0) +.L0f01a148: +/* f01a148: 8e6f0000 */ lw $t7,0x0($s3) +/* f01a14c: 2405000c */ addiu $a1,$zero,0xc +/* f01a150: 0c006a47 */ jal modelGetPart +/* f01a154: 8de40008 */ lw $a0,0x8($t7) +/* f01a158: 8e640000 */ lw $a0,0x0($s3) +/* f01a15c: 0c006a87 */ jal modelGetNodeData +/* f01a160: 00402825 */ or $a1,$v0,$zero +/* f01a164: 10400002 */ beqz $v0,.L0f01a170 +/* f01a168: 3c12bc00 */ lui $s2,0xbc00 +/* f01a16c: ac400000 */ sw $zero,0x0($v0) +.L0f01a170: +/* f01a170: 02801025 */ or $v0,$s4,$zero +/* f01a174: 3c0e8000 */ lui $t6,0x8000 +/* f01a178: 36520002 */ ori $s2,$s2,0x2 +/* f01a17c: 35ce0040 */ ori $t6,$t6,0x40 +/* f01a180: 26830008 */ addiu $v1,$s4,0x8 +/* f01a184: ac4e0004 */ sw $t6,0x4($v0) +/* f01a188: ac520000 */ sw $s2,0x0($v0) +/* f01a18c: 3c090386 */ lui $t1,0x386 +/* f01a190: 3c108006 */ lui $s0,%hi(var80062598) +/* f01a194: 26102598 */ addiu $s0,$s0,%lo(var80062598) +/* f01a198: 35290010 */ ori $t1,$t1,0x10 +/* f01a19c: ac690000 */ sw $t1,0x0($v1) +/* f01a1a0: ac700004 */ sw $s0,0x4($v1) +/* f01a1a4: 24660008 */ addiu $a2,$v1,0x8 +/* f01a1a8: 3c0a0388 */ lui $t2,0x388 +/* f01a1ac: 3c118006 */ lui $s1,%hi(var80062590) +/* f01a1b0: 26312590 */ addiu $s1,$s1,%lo(var80062590) +/* f01a1b4: 354a0010 */ ori $t2,$t2,0x10 +/* f01a1b8: acca0000 */ sw $t2,0x0($a2) +/* f01a1bc: acd10004 */ sw $s1,0x4($a2) +/* f01a1c0: 24d40008 */ addiu $s4,$a2,0x8 +/* f01a1c4: 240c0003 */ addiu $t4,$zero,0x3 +/* f01a1c8: afac0168 */ sw $t4,0x168($sp) +/* f01a1cc: afa00164 */ sw $zero,0x164($sp) +/* f01a1d0: afb4016c */ sw $s4,0x16c($sp) +/* f01a1d4: 8e650000 */ lw $a1,0x0($s3) +/* f01a1d8: 0c0087bd */ jal modelRender +/* f01a1dc: 27a40160 */ addiu $a0,$sp,0x160 +/* f01a1e0: 8e6b0000 */ lw $t3,0x0($s3) +/* f01a1e4: 8fb4016c */ lw $s4,0x16c($sp) +/* f01a1e8: 2405000b */ addiu $a1,$zero,0xb +/* f01a1ec: 0c006a47 */ jal modelGetPart +/* f01a1f0: 8d640008 */ lw $a0,0x8($t3) +/* f01a1f4: 8e640000 */ lw $a0,0x0($s3) +/* f01a1f8: 0c006a87 */ jal modelGetNodeData +/* f01a1fc: 00402825 */ or $a1,$v0,$zero +/* f01a200: 10400002 */ beqz $v0,.L0f01a20c +/* f01a204: 240d0001 */ addiu $t5,$zero,0x1 +/* f01a208: ac4d0000 */ sw $t5,0x0($v0) +.L0f01a20c: +/* f01a20c: 8e790000 */ lw $t9,0x0($s3) +/* f01a210: 2405000d */ addiu $a1,$zero,0xd +/* f01a214: 0c006a47 */ jal modelGetPart +/* f01a218: 8f240008 */ lw $a0,0x8($t9) +/* f01a21c: 8e640000 */ lw $a0,0x0($s3) +/* f01a220: 0c006a87 */ jal modelGetNodeData +/* f01a224: 00402825 */ or $a1,$v0,$zero +/* f01a228: 50400003 */ beqzl $v0,.L0f01a238 +/* f01a22c: 8e780000 */ lw $t8,0x0($s3) +/* f01a230: ac400000 */ sw $zero,0x0($v0) +/* f01a234: 8e780000 */ lw $t8,0x0($s3) +.L0f01a238: +/* f01a238: 2405000c */ addiu $a1,$zero,0xc +/* f01a23c: 0c006a47 */ jal modelGetPart +/* f01a240: 8f040008 */ lw $a0,0x8($t8) +/* f01a244: 8e640000 */ lw $a0,0x0($s3) +/* f01a248: 0c006a87 */ jal modelGetNodeData +/* f01a24c: 00402825 */ or $a1,$v0,$zero +/* f01a250: 10400003 */ beqz $v0,.L0f01a260 +/* f01a254: 26830008 */ addiu $v1,$s4,0x8 +/* f01a258: 24080001 */ addiu $t0,$zero,0x1 +/* f01a25c: ac480000 */ sw $t0,0x0($v0) +.L0f01a260: +/* f01a260: 02801025 */ or $v0,$s4,$zero +/* f01a264: 3c0f8000 */ lui $t7,0x8000 +/* f01a268: 35ef0040 */ ori $t7,$t7,0x40 +/* f01a26c: ac4f0004 */ sw $t7,0x4($v0) +/* f01a270: ac520000 */ sw $s2,0x0($v0) +/* f01a274: 3c0e0386 */ lui $t6,0x386 +/* f01a278: 35ce0010 */ ori $t6,$t6,0x10 +/* f01a27c: ac6e0000 */ sw $t6,0x0($v1) +/* f01a280: ac700004 */ sw $s0,0x4($v1) +/* f01a284: 24660008 */ addiu $a2,$v1,0x8 +/* f01a288: 3c090388 */ lui $t1,0x388 +/* f01a28c: 35290010 */ ori $t1,$t1,0x10 +/* f01a290: acc90000 */ sw $t1,0x0($a2) +/* f01a294: acd10004 */ sw $s1,0x4($a2) +/* f01a298: 24d40008 */ addiu $s4,$a2,0x8 +/* f01a29c: 240a0003 */ addiu $t2,$zero,0x3 +/* f01a2a0: afaa0168 */ sw $t2,0x168($sp) +/* f01a2a4: afa00164 */ sw $zero,0x164($sp) +/* f01a2a8: afb4016c */ sw $s4,0x16c($sp) +/* f01a2ac: 8e650000 */ lw $a1,0x0($s3) +/* f01a2b0: 0c0087bd */ jal modelRender +/* f01a2b4: 27a40160 */ addiu $a0,$sp,0x160 +/* f01a2b8: 8e620000 */ lw $v0,0x0($s3) +/* f01a2bc: 8fb4016c */ lw $s4,0x16c($sp) +/* f01a2c0: 00008025 */ or $s0,$zero,$zero +/* f01a2c4: 8c4c0008 */ lw $t4,0x8($v0) +/* f01a2c8: 00008825 */ or $s1,$zero,$zero +/* f01a2cc: 27b20058 */ addiu $s2,$sp,0x58 +/* f01a2d0: 858b000e */ lh $t3,0xe($t4) +/* f01a2d4: 59600014 */ blezl $t3,.L0f01a328 +/* f01a2d8: 02801025 */ or $v0,$s4,$zero +/* f01a2dc: 8c4d000c */ lw $t5,0xc($v0) +.L0f01a2e0: +/* f01a2e0: 02402825 */ or $a1,$s2,$zero +/* f01a2e4: 0c005746 */ jal func00015d18 +/* f01a2e8: 01b12021 */ addu $a0,$t5,$s1 +/* f01a2ec: 8e790000 */ lw $t9,0x0($s3) +/* f01a2f0: 00104180 */ sll $t0,$s0,0x6 +/* f01a2f4: 02402025 */ or $a0,$s2,$zero +/* f01a2f8: 8f38000c */ lw $t8,0xc($t9) +/* f01a2fc: 0c005815 */ jal func00016054 +/* f01a300: 03082821 */ addu $a1,$t8,$t0 +/* f01a304: 8e620000 */ lw $v0,0x0($s3) +/* f01a308: 26100001 */ addiu $s0,$s0,0x1 +/* f01a30c: 26310040 */ addiu $s1,$s1,0x40 +/* f01a310: 8c4f0008 */ lw $t7,0x8($v0) +/* f01a314: 85ee000e */ lh $t6,0xe($t7) +/* f01a318: 020e082a */ slt $at,$s0,$t6 +/* f01a31c: 5420fff0 */ bnezl $at,.L0f01a2e0 +/* f01a320: 8c4d000c */ lw $t5,0xc($v0) +/* f01a324: 02801025 */ or $v0,$s4,$zero +.L0f01a328: +/* f01a328: 8fbf0044 */ lw $ra,0x44($sp) +.L0f01a32c: +/* f01a32c: 8fb00030 */ lw $s0,0x30($sp) +/* f01a330: 8fb10034 */ lw $s1,0x34($sp) +/* f01a334: 8fb20038 */ lw $s2,0x38($sp) +/* f01a338: 8fb3003c */ lw $s3,0x3c($sp) +/* f01a33c: 8fb40040 */ lw $s4,0x40($sp) +/* f01a340: 03e00008 */ jr $ra +/* f01a344: 27bd01a0 */ addiu $sp,$sp,0x1a0 +); +#endif s32 getNumPlayers(void) { @@ -6341,8 +7064,8 @@ glabel titleRenderNoController /* f01a574: 852924a0 */ lh $t1,%lo(var800624a0)($t1) /* f01a578: 8fab0064 */ lw $t3,0x64($sp) /* f01a57c: 000fc043 */ sra $t8,$t7,0x1 -/* f01a580: 3c0f8008 */ lui $t7,%hi(g_LanguageId) -/* f01a584: 8def4120 */ lw $t7,%lo(g_LanguageId)($t7) +/* f01a580: 3c0f8008 */ lui $t7,%hi(g_Jpn) +/* f01a584: 8def4120 */ lw $t7,%lo(g_Jpn)($t7) /* f01a588: 000b6043 */ sra $t4,$t3,0x1 /* f01a58c: 24190120 */ addiu $t9,$zero,0x120 /* f01a590: 03384023 */ subu $t0,$t9,$t8 @@ -6426,8 +7149,8 @@ glabel titleRenderNoController /* f01a6bc: 856b24a0 */ lh $t3,%lo(var800624a0)($t3) /* f01a6c0: 8fac0064 */ lw $t4,0x64($sp) /* f01a6c4: 0019c043 */ sra $t8,$t9,0x1 -/* f01a6c8: 3c198008 */ lui $t9,%hi(g_LanguageId) -/* f01a6cc: 8f394120 */ lw $t9,%lo(g_LanguageId)($t9) +/* f01a6c8: 3c198008 */ lui $t9,%hi(g_Jpn) +/* f01a6cc: 8f394120 */ lw $t9,%lo(g_Jpn)($t9) /* f01a6d0: 000c6843 */ sra $t5,$t4,0x1 /* f01a6d4: 24080120 */ addiu $t0,$zero,0x120 /* f01a6d8: 01184823 */ subu $t1,$t0,$t8 @@ -6533,7 +7256,7 @@ glabel titleRenderNoController // x = 288 - (textwidth >> 1); // y = ((var800624a0 / 2) - (textheight >> 1)) - 12; // -// if (g_LanguageId != LANGUAGE_NTSC_EN) { +// if (g_Jpn) { // gdl = textRender(gdl, &x, &y, text, g_FontHandelGothicLg1, g_FontHandelGothicLg2, // -1, 0x008000ff, viGetWidth(), viGetHeight(), 0, 0); // } else { @@ -6548,7 +7271,7 @@ glabel titleRenderNoController // x = 288 - (textwidth >> 1); // y = ((var800624a0 / 2) - (textheight >> 1)) + 12; // -// if (g_LanguageId != LANGUAGE_NTSC_EN) { +// if (g_Jpn) { // gdl = textRender(gdl, &x, &y, text, g_FontHandelGothicLg1, g_FontHandelGothicLg2, // -1, 0x008000ff, viGetWidth(), viGetHeight(), 0, 0); // } else { diff --git a/src/game/training/menus.c b/src/game/training/menus.c index bdefdf052..5fe68e15d 100644 --- a/src/game/training/menus.c +++ b/src/game/training/menus.c @@ -2676,7 +2676,7 @@ s32 ciCharacterProfileMenuDialog(s32 operation, struct menudialog *dialog, union scale = 1.0f; } - g_Menus[g_MpPlayerNum].unkdb4 = (PAL ? 100 : 120); + g_Menus[g_MpPlayerNum].unkdb4 = PALDOWN(120); g_Menus[g_MpPlayerNum].unkdc0 = 0; #if VERSION >= VERSION_PAL_FINAL @@ -2718,7 +2718,7 @@ s32 ciCharacterProfileMenuDialog(s32 operation, struct menudialog *dialog, union g_Menus[g_MpPlayerNum].unkd5c = 0.00393f; g_Menus[g_MpPlayerNum].unkd64 = 0; g_Menus[g_MpPlayerNum].unkd8c = 0; - g_Menus[g_MpPlayerNum].unkdb8 = (PAL ? 50 : 60); + g_Menus[g_MpPlayerNum].unkdb8 = PALDOWN(60); break; case MENUOP_CLOSE: break; @@ -2759,7 +2759,11 @@ s32 ciCharacterProfileMenuDialog(s32 operation, struct menudialog *dialog, union if (g_Menus[g_MpPlayerNum].unkdb8 > 0) { g_Menus[g_MpPlayerNum].unkdb8 -= g_Vars.diffframe60; } else { +#if VERSION >= VERSION_PAL_FINAL + f32 tmp = g_Menus[g_MpPlayerNum].unkd64 + 0.01f * g_Vars.diffframe60freal; +#else f32 tmp = g_Menus[g_MpPlayerNum].unkd64 + 0.01f * g_Vars.diffframe60f; +#endif g_Menus[g_MpPlayerNum].unkd8c = tmp; g_Menus[g_MpPlayerNum].unkd64 = tmp; } @@ -2978,8 +2982,8 @@ s32 dtTrainingDetailsMenuDialog(s32 operation, struct menudialog *dialog, union if (weaponnum == WEAPON_DISGUISE41) { g_Menus[g_MpPlayerNum].unk89c = 0x6a; - g_Menus[g_MpPlayerNum].unkdb8 = 60; - g_Menus[g_MpPlayerNum].unkdb4 = 120; + g_Menus[g_MpPlayerNum].unkdb8 = PALDOWN(60); + g_Menus[g_MpPlayerNum].unkdb4 = PALDOWN(120); } g_Menus[g_MpPlayerNum].unkd8c = 18.849555969238f * var80061630; @@ -3687,6 +3691,141 @@ glabel menuhandler001a6ea4 /* f1a7378: 00000000 */ nop ); +#if VERSION >= VERSION_PAL_FINAL +GLOBAL_ASM( +glabel ciHangarHolographMenuDialog +.late_rodata +glabel var7f1b99d4 +.word 0x3a83126f +glabel var7f1b99d8 +.word 0x3c23d70a +.text +/* f1a737c: 27bdff60 */ addiu $sp,$sp,-160 +/* f1a7380: afa600a8 */ sw $a2,0xa8($sp) +/* f1a7384: 00803025 */ or $a2,$a0,$zero +/* f1a7388: afa400a0 */ sw $a0,0xa0($sp) +/* f1a738c: afbf0014 */ sw $ra,0x14($sp) +/* f1a7390: 3c048009 */ lui $a0,%hi(g_HangarBioSlot) +/* f1a7394: afa500a4 */ sw $a1,0xa4($sp) +/* f1a7398: 90848964 */ lbu $a0,%lo(g_HangarBioSlot)($a0) +/* f1a739c: 0fc685db */ jal ciGetHangarBioIndexBySlot +/* f1a73a0: afa600a0 */ sw $a2,0xa0($sp) +/* f1a73a4: 2841000e */ slti $at,$v0,0xe +/* f1a73a8: 14200065 */ bnez $at,.L0f1a7540 +/* f1a73ac: 8fa600a0 */ lw $a2,0xa0($sp) +/* f1a73b0: 3c0e8009 */ lui $t6,%hi(hoverprops) +/* f1a73b4: 27a70030 */ addiu $a3,$sp,0x30 +/* f1a73b8: 25ce97cc */ addiu $t6,$t6,%lo(hoverprops) +/* f1a73bc: 25d8006c */ addiu $t8,$t6,0x6c +/* f1a73c0: 00e0c825 */ or $t9,$a3,$zero +.L0f1a73c4: +/* f1a73c4: 8dc10000 */ lw $at,0x0($t6) +/* f1a73c8: 25ce000c */ addiu $t6,$t6,0xc +/* f1a73cc: 2739000c */ addiu $t9,$t9,0xc +/* f1a73d0: af21fff4 */ sw $at,-0xc($t9) +/* f1a73d4: 8dc1fff8 */ lw $at,-0x8($t6) +/* f1a73d8: af21fff8 */ sw $at,-0x8($t9) +/* f1a73dc: 8dc1fffc */ lw $at,-0x4($t6) +/* f1a73e0: 15d8fff8 */ bne $t6,$t8,.L0f1a73c4 +/* f1a73e4: af21fffc */ sw $at,-0x4($t9) +/* f1a73e8: 24010064 */ addiu $at,$zero,0x64 +/* f1a73ec: 10c10008 */ beq $a2,$at,.L0f1a7410 +/* f1a73f0: 3c088007 */ lui $t0,%hi(g_MpPlayerNum) +/* f1a73f4: 24010065 */ addiu $at,$zero,0x65 +/* f1a73f8: 10c10051 */ beq $a2,$at,.L0f1a7540 +/* f1a73fc: 24010066 */ addiu $at,$zero,0x66 +/* f1a7400: 10c10019 */ beq $a2,$at,.L0f1a7468 +/* f1a7404: 00000000 */ nop +/* f1a7408: 1000004e */ b .L0f1a7544 +/* f1a740c: 8fbf0014 */ lw $ra,0x14($sp) +.L0f1a7410: +/* f1a7410: 8d081448 */ lw $t0,%lo(g_MpPlayerNum)($t0) +/* f1a7414: 44800000 */ mtc1 $zero,$f0 +/* f1a7418: 3c0a800a */ lui $t2,%hi(g_Menus) +/* f1a741c: 000848c0 */ sll $t1,$t0,0x3 +/* f1a7420: 01284823 */ subu $t1,$t1,$t0 +/* f1a7424: 00094880 */ sll $t1,$t1,0x2 +/* f1a7428: 01284821 */ addu $t1,$t1,$t0 +/* f1a742c: 000948c0 */ sll $t1,$t1,0x3 +/* f1a7430: 01284823 */ subu $t1,$t1,$t0 +/* f1a7434: 00094900 */ sll $t1,$t1,0x4 +/* f1a7438: 254ae000 */ addiu $t2,$t2,%lo(g_Menus) +/* f1a743c: 012a1821 */ addu $v1,$t1,$t2 +/* f1a7440: e4600d88 */ swc1 $f0,0xd88($v1) +/* f1a7444: e4600d60 */ swc1 $f0,0xd60($v1) +/* f1a7448: e4600d8c */ swc1 $f0,0xd8c($v1) +/* f1a744c: e4600d64 */ swc1 $f0,0xd64($v1) +/* f1a7450: e4600d78 */ swc1 $f0,0xd78($v1) +/* f1a7454: e4600d50 */ swc1 $f0,0xd50($v1) +/* f1a7458: e4600d7c */ swc1 $f0,0xd7c($v1) +/* f1a745c: e4600d54 */ swc1 $f0,0xd54($v1) +/* f1a7460: 10000037 */ b .L0f1a7540 +/* f1a7464: e4600d5c */ swc1 $f0,0xd5c($v1) +.L0f1a7468: +/* f1a7468: 3c0b8007 */ lui $t3,%hi(g_MpPlayerNum) +/* f1a746c: 8d6b1448 */ lw $t3,%lo(g_MpPlayerNum)($t3) +/* f1a7470: 3c0d800a */ lui $t5,%hi(g_Menus) +/* f1a7474: 25ade000 */ addiu $t5,$t5,%lo(g_Menus) +/* f1a7478: 000b60c0 */ sll $t4,$t3,0x3 +/* f1a747c: 018b6023 */ subu $t4,$t4,$t3 +/* f1a7480: 000c6080 */ sll $t4,$t4,0x2 +/* f1a7484: 018b6021 */ addu $t4,$t4,$t3 +/* f1a7488: 000c60c0 */ sll $t4,$t4,0x3 +/* f1a748c: 018b6023 */ subu $t4,$t4,$t3 +/* f1a7490: 000c6100 */ sll $t4,$t4,0x4 +/* f1a7494: 018d1821 */ addu $v1,$t4,$t5 +/* f1a7498: 8c6404f8 */ lw $a0,0x4f8($v1) +/* f1a749c: 50800029 */ beqzl $a0,.L0f1a7544 +/* f1a74a0: 8fbf0014 */ lw $ra,0x14($sp) +/* f1a74a4: 8faf00a4 */ lw $t7,0xa4($sp) +/* f1a74a8: 8c980000 */ lw $t8,0x0($a0) +/* f1a74ac: 2445fff2 */ addiu $a1,$v0,-14 +/* f1a74b0: 00057080 */ sll $t6,$a1,0x2 +/* f1a74b4: 15f80022 */ bne $t7,$t8,.L0f1a7540 +/* f1a74b8: 01c57023 */ subu $t6,$t6,$a1 +/* f1a74bc: 000e7080 */ sll $t6,$t6,0x2 +/* f1a74c0: 00ee2021 */ addu $a0,$a3,$t6 +/* f1a74c4: 8c990004 */ lw $t9,0x4($a0) +/* f1a74c8: 94880008 */ lhu $t0,0x8($a0) +/* f1a74cc: 3c014f80 */ lui $at,0x4f80 +/* f1a74d0: 44992000 */ mtc1 $t9,$f4 +/* f1a74d4: 44883000 */ mtc1 $t0,$f6 +/* f1a74d8: 46802020 */ cvt.s.w $f0,$f4 +/* f1a74dc: 05010004 */ bgez $t0,.L0f1a74f0 +/* f1a74e0: 46803220 */ cvt.s.w $f8,$f6 +/* f1a74e4: 44815000 */ mtc1 $at,$f10 +/* f1a74e8: 00000000 */ nop +/* f1a74ec: 460a4200 */ add.s $f8,$f8,$f10 +.L0f1a74f0: +/* f1a74f0: 3c017f1c */ lui $at,%hi(var7f1b99d4) +/* f1a74f4: c43099d4 */ lwc1 $f16,%lo(var7f1b99d4)($at) +/* f1a74f8: 8c890000 */ lw $t1,0x0($a0) +/* f1a74fc: e4600d54 */ swc1 $f0,0xd54($v1) +/* f1a7500: 46104302 */ mul.s $f12,$f8,$f16 +/* f1a7504: e4600d7c */ swc1 $f0,0xd7c($v1) +/* f1a7508: 3c017f1c */ lui $at,%hi(var7f1b99d8) +/* f1a750c: ac69084c */ sw $t1,0x84c($v1) +/* f1a7510: c46a0d64 */ lwc1 $f10,0xd64($v1) +/* f1a7514: 3c0a8009 */ lui $t2,%hi(var800897c4) +/* f1a7518: 254a97c4 */ addiu $t2,$t2,%lo(var800897c4) +/* f1a751c: e46c0d84 */ swc1 $f12,0xd84($v1) +/* f1a7520: c43299d8 */ lwc1 $f18,%lo(var7f1b99d8)($at) +/* f1a7524: 3c01800a */ lui $at,%hi(g_Vars+0x10) +/* f1a7528: c4249fc4 */ lwc1 $f4,%lo(g_Vars+0x10)($at) +/* f1a752c: ac6a0df4 */ sw $t2,0xdf4($v1) +/* f1a7530: 46049182 */ mul.s $f6,$f18,$f4 +/* f1a7534: 46065080 */ add.s $f2,$f10,$f6 +/* f1a7538: e4620d8c */ swc1 $f2,0xd8c($v1) +/* f1a753c: e4620d64 */ swc1 $f2,0xd64($v1) +.L0f1a7540: +/* f1a7540: 8fbf0014 */ lw $ra,0x14($sp) +.L0f1a7544: +/* f1a7544: 27bd00a0 */ addiu $sp,$sp,0xa0 +/* f1a7548: 00001025 */ or $v0,$zero,$zero +/* f1a754c: 03e00008 */ jr $ra +/* f1a7550: 00000000 */ nop +); +#else GLOBAL_ASM( glabel ciHangarHolographMenuDialog .late_rodata @@ -3820,6 +3959,7 @@ glabel var7f1b99d8 /* f1a754c: 03e00008 */ jr $ra /* f1a7550: 00000000 */ nop ); +#endif s8 var800897c4[] = {-73, 0, 5, 0}; u32 var800897c8 = 0x0400ff00; diff --git a/src/game/training/training.c b/src/game/training/training.c index c11839600..3d8fdb3f7 100644 --- a/src/game/training/training.c +++ b/src/game/training/training.c @@ -377,10 +377,10 @@ void frInitLighting(void) s32 roomnum; for (roomnum = 7; roomnum < 10; roomnum++) { - roomSetLighting(roomnum, LIGHTOP_3, 50, 100, 32); + roomSetLighting(roomnum, LIGHTOP_3, 50, 100, PALDOWN(32)); } - roomSetLighting(CIROOM_FIRINGRANGE, LIGHTOP_3, 25, 100, 32); + roomSetLighting(CIROOM_FIRINGRANGE, LIGHTOP_3, 25, 100, PALDOWN(32)); g_FrData.donelighting = true; @@ -396,10 +396,10 @@ void frRestoreLighting(void) s32 roomnum; for (roomnum = 7; roomnum < 10; roomnum++) { - roomSetLighting(roomnum, LIGHTOP_3, 100, 50, 8); + roomSetLighting(roomnum, LIGHTOP_3, 100, 50, PALDOWN(8)); } - roomSetLighting(CIROOM_FIRINGRANGE, LIGHTOP_3, 100, 25, 8); + roomSetLighting(CIROOM_FIRINGRANGE, LIGHTOP_3, 100, 25, PALDOWN(8)); g_FrData.donelighting = false; @@ -508,7 +508,7 @@ void frInitDefaults(void) func0f13e40c(g_FrData.targets[i].prop, true); } - g_FrData.timetaken = -240; + g_FrData.timetaken = PALDOWN(-240); g_FrData.score = 0; g_FrData.numtargets = 0; g_FrData.targetsdestroyed = 0; @@ -2094,39 +2094,39 @@ char *frGetWeaponDescription(void) switch (weapon) { #if PAL - case WEAPON_FALCON2: return langGet(L_DISH_285); - case WEAPON_FALCON2_SCOPE: return langGet(L_DISH_286); - case WEAPON_FALCON2_SILENCER: return langGet(L_DISH_287); - case WEAPON_MAGSEC4: return langGet(L_DISH_288); - case WEAPON_MAULER: return langGet(L_DISH_289); - case WEAPON_PHOENIX: return langGet(L_DISH_290); - case WEAPON_DY357MAGNUM: return langGet(L_DISH_291); - case WEAPON_DY357LX: return langGet(L_DISH_292); - case WEAPON_CMP150: return langGet(L_DISH_293); - case WEAPON_CYCLONE: return langGet(L_DISH_294); - case WEAPON_CALLISTONTG: return langGet(L_DISH_295); - case WEAPON_RCP120: return langGet(L_DISH_296); - case WEAPON_LAPTOPGUN: return langGet(L_DISH_297); - case WEAPON_DRAGON: return langGet(L_DISH_298); - case WEAPON_K7AVENGER: return langGet(L_DISH_299); - case WEAPON_AR34: return langGet(L_DISH_300); - case WEAPON_SUPERDRAGON: return langGet(L_DISH_301); - case WEAPON_SHOTGUN: return langGet(L_DISH_302); - case WEAPON_SNIPERRIFLE: return langGet(L_DISH_303); - case WEAPON_FARSIGHTXR20: return langGet(L_DISH_304); - case WEAPON_CROSSBOW: return langGet(L_DISH_305); - case WEAPON_TRANQUILIZER: return langGet(L_DISH_306); - case WEAPON_REAPER: return langGet(L_DISH_307); - case WEAPON_DEVASTATOR: return langGet(L_DISH_308); - case WEAPON_ROCKETLAUNCHER: return langGet(L_DISH_309); - case WEAPON_SLAYER: return langGet(L_DISH_310); - case WEAPON_COMBATKNIFE: return langGet(L_DISH_311); - case WEAPON_LASER: return langGet(L_DISH_312); - case WEAPON_GRENADE: return langGet(L_DISH_313); - case WEAPON_NBOMB: return langGet(L_DISH_314); - case WEAPON_TIMEDMINE: return langGet(L_DISH_315); - case WEAPON_PROXIMITYMINE: return langGet(L_DISH_316); - case WEAPON_REMOTEMINE: return langGet(L_DISH_317); + case WEAPON_FALCON2: return langGet(L_DISH_283); + case WEAPON_FALCON2_SCOPE: return langGet(L_DISH_284); + case WEAPON_FALCON2_SILENCER: return langGet(L_DISH_285); + case WEAPON_MAGSEC4: return langGet(L_DISH_286); + case WEAPON_MAULER: return langGet(L_DISH_287); + case WEAPON_PHOENIX: return langGet(L_DISH_288); + case WEAPON_DY357MAGNUM: return langGet(L_DISH_289); + case WEAPON_DY357LX: return langGet(L_DISH_290); + case WEAPON_CMP150: return langGet(L_DISH_291); + case WEAPON_CYCLONE: return langGet(L_DISH_292); + case WEAPON_CALLISTONTG: return langGet(L_DISH_293); + case WEAPON_RCP120: return langGet(L_DISH_294); + case WEAPON_LAPTOPGUN: return langGet(L_DISH_295); + case WEAPON_DRAGON: return langGet(L_DISH_296); + case WEAPON_K7AVENGER: return langGet(L_DISH_297); + case WEAPON_AR34: return langGet(L_DISH_298); + case WEAPON_SUPERDRAGON: return langGet(L_DISH_299); + case WEAPON_SHOTGUN: return langGet(L_DISH_300); + case WEAPON_SNIPERRIFLE: return langGet(L_DISH_301); + case WEAPON_FARSIGHTXR20: return langGet(L_DISH_302); + case WEAPON_CROSSBOW: return langGet(L_DISH_303); + case WEAPON_TRANQUILIZER: return langGet(L_DISH_304); + case WEAPON_REAPER: return langGet(L_DISH_305); + case WEAPON_DEVASTATOR: return langGet(L_DISH_306); + case WEAPON_ROCKETLAUNCHER: return langGet(L_DISH_307); + case WEAPON_SLAYER: return langGet(L_DISH_308); + case WEAPON_COMBATKNIFE: return langGet(L_DISH_309); + case WEAPON_LASER: return langGet(L_DISH_310); + case WEAPON_GRENADE: return langGet(L_DISH_311); + case WEAPON_NBOMB: return langGet(L_DISH_312); + case WEAPON_TIMEDMINE: return langGet(L_DISH_313); + case WEAPON_PROXIMITYMINE: return langGet(L_DISH_314); + case WEAPON_REMOTEMINE: return langGet(L_DISH_315); #else case WEAPON_FALCON2: return langGet(L_MISC_377); case WEAPON_FALCON2_SCOPE: return langGet(L_MISC_378); @@ -2301,7 +2301,7 @@ void frSetFailReason(s32 failreason) g_FrData.failreason = frWasTooInaccurate() ? FRFAILREASON_INACCURATE : failreason; g_FrData.menutype = FRMENUTYPE_FAILED; - g_FrData.menucountdown = 60; + g_FrData.menucountdown = PALDOWN(60); } void frSetCompleted(void) @@ -2317,7 +2317,7 @@ void frSetCompleted(void) g_FrData.menutype = FRMENUTYPE_COMPLETED; } - g_FrData.menucountdown = 60; + g_FrData.menucountdown = PALDOWN(60); } bool frIsTargetOneHitExplodable(struct prop *prop) @@ -2527,7 +2527,7 @@ bool frIsAmmoWasted(void) hand = &g_Vars.currentplayer->hands[HAND_RIGHT]; if (currentPlayerGetAmmoCountWithCheck(ammotype) + hand->loadedammo[0] == 0) { - g_FrData.proxyendtimer = 300; + g_FrData.proxyendtimer = PALDOWN(300); } return false; @@ -2536,7 +2536,7 @@ bool frIsAmmoWasted(void) g_FrData.proxyendtimer -= g_Vars.lvupdate240_60; if (g_FrData.proxyendtimer <= 0) { - // Timer has just hit zero - deactivate (or explode?) all mines + // Timer has just hit zero - remove all mines for (i = 0; i < ARRAYCOUNT(g_ProxyMines); i++) { if (g_ProxyMines[i]) { g_ProxyMines[i]->unk62 = 0; @@ -5541,7 +5541,7 @@ void frCalculateHit(struct defaultobj *obj, struct coord *hitpos, f32 maulerchar } else if (frGetWeaponBySlot(g_FrData.slot) == WEAPON_MAULER) { g_FrData.targets[i].damage += (f32)((s32)(maulercharge * 0.1f) + 1); } else if ((g_FrData.targets[i].flags & FRTARGETFLAG_TMPINVINCIBLE) == 0 - || g_FrData.targets[i].invincibletimer >= 300) { + || g_FrData.targets[i].invincibletimer >= PALDOWN(300)) { g_FrData.targets[i].damage++; } @@ -5559,7 +5559,7 @@ void frCalculateHit(struct defaultobj *obj, struct coord *hitpos, f32 maulerchar g_FrData.numhitsring3++; } - g_FrData.feedbackttl = 60; + g_FrData.feedbackttl = PALDOWN(60); g_FrData.score += g_FrData.feedbackzone; } } @@ -6663,7 +6663,7 @@ bool frFormatTime(char *buffer) { s32 mins = 0; s32 mult = 1; - f32 secs = g_FrData.timetaken / 60.0f; + f32 secs = g_FrData.timetaken / PALDOWN(60.0f); u8 failed = false; if (g_FrData.timelimit != 255 && secs >= g_FrData.timelimit) { @@ -6695,7 +6695,7 @@ bool frGetHudMiddleSubtext(char *buffer) s32 secs; s32 mins; - if (g_FrData.timetaken < -180) { + if (g_FrData.timetaken < PALDOWN(-180)) { sprintf(buffer, "%s", langGet(L_MISC_420)); // "FIRE TO START" return false; } @@ -6815,8 +6815,8 @@ Gfx *frRenderHud(Gfx *gdl) s32 alpha = 0xa0; f32 mult; - if (viGetViewWidth() > 400) { - mult = 2; + if (viGetViewWidth() > (PAL ? 330 : 400)) { + mult = PAL ? 1.5f : 2; } else { mult = 1; } @@ -6826,7 +6826,7 @@ Gfx *frRenderHud(Gfx *gdl) } if (g_FrData.menucountdown != 0) { - alpha = (f32)(g_FrData.menucountdown * 160) / 60.0f; + alpha = (f32)(g_FrData.menucountdown * 160) / PALDOWN(60.0f); } gdl = func0f153628(gdl); diff --git a/src/game/wallhit.c b/src/game/wallhit.c index 10286e341..799ac3d2f 100644 --- a/src/game/wallhit.c +++ b/src/game/wallhit.c @@ -378,6 +378,175 @@ void func0f13e640(struct var800a41b0 *thing, u32 arg1) } } +#if PAL +GLOBAL_ASM( +glabel func0f13e744 +/* f13e744: 27bdffd8 */ addiu $sp,$sp,-40 +/* f13e748: afb30020 */ sw $s3,0x20($sp) +/* f13e74c: 2413ffff */ addiu $s3,$zero,-1 +/* f13e750: afbf0024 */ sw $ra,0x24($sp) +/* f13e754: afb2001c */ sw $s2,0x1c($sp) +/* f13e758: afb10018 */ sw $s1,0x18($sp) +/* f13e75c: afb00014 */ sw $s0,0x14($sp) +/* f13e760: 10930007 */ beq $a0,$s3,.L0f13e780 +/* f13e764: 00803025 */ or $a2,$a0,$zero +/* f13e768: 3c0e800a */ lui $t6,%hi(var8009cc40) +/* f13e76c: 8dcecc40 */ lw $t6,%lo(var8009cc40)($t6) +/* f13e770: 00047840 */ sll $t7,$a0,0x1 +/* f13e774: 01cfc021 */ addu $t8,$t6,$t7 +/* f13e778: 97190000 */ lhu $t9,0x0($t8) +/* f13e77c: 1320007d */ beqz $t9,.L0f13e974 +.L0f13e780: +/* f13e780: 3c0c800a */ lui $t4,%hi(var8009cc44) +/* f13e784: 8d8ccc44 */ lw $t4,%lo(var8009cc44)($t4) +/* f13e788: 44800000 */ mtc1 $zero,$f0 +/* f13e78c: 2408ffff */ addiu $t0,$zero,-1 +/* f13e790: 2409ffff */ addiu $t1,$zero,-1 +/* f13e794: 240affff */ addiu $t2,$zero,-1 +/* f13e798: 02608025 */ or $s0,$s3,$zero +/* f13e79c: 02608825 */ or $s1,$s3,$zero +/* f13e7a0: 02609025 */ or $s2,$s3,$zero +/* f13e7a4: 00002825 */ or $a1,$zero,$zero +/* f13e7a8: 00005825 */ or $t3,$zero,$zero +/* f13e7ac: 19800043 */ blez $t4,.L0f13e8bc +/* f13e7b0: 00003825 */ or $a3,$zero,$zero +/* f13e7b4: 3c04800a */ lui $a0,%hi(var800a41b0) +/* f13e7b8: 3c1f8008 */ lui $ra,%hi(var8007f75c) +/* f13e7bc: 27fff75c */ addiu $ra,$ra,%lo(var8007f75c) +/* f13e7c0: 8c8441b0 */ lw $a0,%lo(var800a41b0)($a0) +/* f13e7c4: 240d0003 */ addiu $t5,$zero,0x3 +.L0f13e7c8: +/* f13e7c8: 808f006f */ lb $t7,0x6f($a0) +/* f13e7cc: 05e30038 */ bgezl $t7,.L0f13e8b0 +/* f13e7d0: 24a50001 */ addiu $a1,$a1,0x1 +/* f13e7d4: 8c98006c */ lw $t8,0x6c($a0) +/* f13e7d8: 00187680 */ sll $t6,$t8,0x1a +/* f13e7dc: 05c20034 */ bltzl $t6,.L0f13e8b0 +/* f13e7e0: 24a50001 */ addiu $a1,$a1,0x1 +/* f13e7e4: 50d3000c */ beql $a2,$s3,.L0f13e818 +/* f13e7e8: 9082006a */ lbu $v0,0x6a($a0) +/* f13e7ec: 14c00004 */ bnez $a2,.L0f13e800 +/* f13e7f0: 00000000 */ nop +/* f13e7f4: 8c8f0060 */ lw $t7,0x60($a0) +/* f13e7f8: 55e00007 */ bnezl $t7,.L0f13e818 +/* f13e7fc: 9082006a */ lbu $v0,0x6a($a0) +.L0f13e800: +/* f13e800: 50c0002b */ beqzl $a2,.L0f13e8b0 +/* f13e804: 24a50001 */ addiu $a1,$a1,0x1 +/* f13e808: 84980068 */ lh $t8,0x68($a0) +/* f13e80c: 54d80028 */ bnel $a2,$t8,.L0f13e8b0 +/* f13e810: 24a50001 */ addiu $a1,$a1,0x1 +/* f13e814: 9082006a */ lbu $v0,0x6a($a0) +.L0f13e818: +/* f13e818: 0002c880 */ sll $t9,$v0,0x2 +/* f13e81c: 0322c823 */ subu $t9,$t9,$v0 +/* f13e820: 0019c880 */ sll $t9,$t9,0x2 +/* f13e824: 03f97021 */ addu $t6,$ra,$t9 +/* f13e828: 91cf0008 */ lbu $t7,0x8($t6) +/* f13e82c: 2841000c */ slti $at,$v0,0xc +/* f13e830: 55af0017 */ bnel $t5,$t7,.L0f13e890 +/* f13e834: 8c820070 */ lw $v0,0x70($a0) +/* f13e838: 1420000c */ bnez $at,.L0f13e86c +/* f13e83c: 256b0001 */ addiu $t3,$t3,0x1 +/* f13e840: 2841000d */ slti $at,$v0,0xd +/* f13e844: 5020000a */ beqzl $at,.L0f13e870 +/* f13e848: 8c820070 */ lw $v0,0x70($a0) +/* f13e84c: 8c820070 */ lw $v0,0x70($a0) +/* f13e850: 0002c102 */ srl $t8,$v0,0x4 +/* f13e854: 0308082b */ sltu $at,$t8,$t0 +/* f13e858: 50200015 */ beqzl $at,.L0f13e8b0 +/* f13e85c: 24a50001 */ addiu $a1,$a1,0x1 +/* f13e860: 03004025 */ or $t0,$t8,$zero +/* f13e864: 10000011 */ b .L0f13e8ac +/* f13e868: 00a08025 */ or $s0,$a1,$zero +.L0f13e86c: +/* f13e86c: 8c820070 */ lw $v0,0x70($a0) +.L0f13e870: +/* f13e870: 0002c902 */ srl $t9,$v0,0x4 +/* f13e874: 0329082b */ sltu $at,$t9,$t1 +/* f13e878: 5020000d */ beqzl $at,.L0f13e8b0 +/* f13e87c: 24a50001 */ addiu $a1,$a1,0x1 +/* f13e880: 03204825 */ or $t1,$t9,$zero +/* f13e884: 10000009 */ b .L0f13e8ac +/* f13e888: 00a08825 */ or $s1,$a1,$zero +/* f13e88c: 8c820070 */ lw $v0,0x70($a0) +.L0f13e890: +/* f13e890: 24e70001 */ addiu $a3,$a3,0x1 +/* f13e894: 00027102 */ srl $t6,$v0,0x4 +/* f13e898: 01ca082b */ sltu $at,$t6,$t2 +/* f13e89c: 50200004 */ beqzl $at,.L0f13e8b0 +/* f13e8a0: 24a50001 */ addiu $a1,$a1,0x1 +/* f13e8a4: 01c05025 */ or $t2,$t6,$zero +/* f13e8a8: 00a09025 */ or $s2,$a1,$zero +.L0f13e8ac: +/* f13e8ac: 24a50001 */ addiu $a1,$a1,0x1 +.L0f13e8b0: +/* f13e8b0: 00ac082a */ slt $at,$a1,$t4 +/* f13e8b4: 1420ffc4 */ bnez $at,.L0f13e7c8 +/* f13e8b8: 2484007c */ addiu $a0,$a0,124 +.L0f13e8bc: +/* f13e8bc: 01671021 */ addu $v0,$t3,$a3 +/* f13e8c0: 18400006 */ blez $v0,.L0f13e8dc +/* f13e8c4: 3c01800a */ lui $at,%hi(var8009cc78) +/* f13e8c8: 448b2000 */ mtc1 $t3,$f4 +/* f13e8cc: 44824000 */ mtc1 $v0,$f8 +/* f13e8d0: 468021a0 */ cvt.s.w $f6,$f4 +/* f13e8d4: 468042a0 */ cvt.s.w $f10,$f8 +/* f13e8d8: 460a3003 */ div.s $f0,$f6,$f10 +.L0f13e8dc: +/* f13e8dc: c430cc78 */ lwc1 $f16,%lo(var8009cc78)($at) +/* f13e8e0: 4600803c */ c.lt.s $f16,$f0 +/* f13e8e4: 00000000 */ nop +/* f13e8e8: 45000017 */ bc1f .L0f13e948 +/* f13e8ec: 00000000 */ nop +/* f13e8f0: 16130003 */ bne $s0,$s3,.L0f13e900 +/* f13e8f4: 3c02800a */ lui $v0,%hi(var800a41b0) +/* f13e8f8: 12330013 */ beq $s1,$s3,.L0f13e948 +/* f13e8fc: 00000000 */ nop +.L0f13e900: +/* f13e900: 12130009 */ beq $s0,$s3,.L0f13e928 +/* f13e904: 8c4241b0 */ lw $v0,%lo(var800a41b0)($v0) +/* f13e908: 00107940 */ sll $t7,$s0,0x5 +/* f13e90c: 01f07823 */ subu $t7,$t7,$s0 +/* f13e910: 000f7880 */ sll $t7,$t7,0x2 +/* f13e914: 01e22021 */ addu $a0,$t7,$v0 +/* f13e918: 0fc4f990 */ jal func0f13e640 +/* f13e91c: 2405001e */ addiu $a1,$zero,0x19 +/* f13e920: 10000015 */ b .L0f13e978 +/* f13e924: 24020001 */ addiu $v0,$zero,0x1 +.L0f13e928: +/* f13e928: 0011c140 */ sll $t8,$s1,0x5 +/* f13e92c: 0311c023 */ subu $t8,$t8,$s1 +/* f13e930: 0018c080 */ sll $t8,$t8,0x2 +/* f13e934: 03022021 */ addu $a0,$t8,$v0 +/* f13e938: 0fc4f990 */ jal func0f13e640 +/* f13e93c: 2405001e */ addiu $a1,$zero,0x19 +/* f13e940: 1000000d */ b .L0f13e978 +/* f13e944: 24020001 */ addiu $v0,$zero,0x1 +.L0f13e948: +/* f13e948: 1253000a */ beq $s2,$s3,.L0f13e974 +/* f13e94c: 0012c940 */ sll $t9,$s2,0x5 +/* f13e950: 3c0e800a */ lui $t6,%hi(var800a41b0) +/* f13e954: 8dce41b0 */ lw $t6,%lo(var800a41b0)($t6) +/* f13e958: 0332c823 */ subu $t9,$t9,$s2 +/* f13e95c: 0019c880 */ sll $t9,$t9,0x2 +/* f13e960: 2405001e */ addiu $a1,$zero,0x19 +/* f13e964: 0fc4f990 */ jal func0f13e640 +/* f13e968: 032e2021 */ addu $a0,$t9,$t6 +/* f13e96c: 10000002 */ b .L0f13e978 +/* f13e970: 24020001 */ addiu $v0,$zero,0x1 +.L0f13e974: +/* f13e974: 00001025 */ or $v0,$zero,$zero +.L0f13e978: +/* f13e978: 8fbf0024 */ lw $ra,0x24($sp) +/* f13e97c: 8fb00014 */ lw $s0,0x14($sp) +/* f13e980: 8fb10018 */ lw $s1,0x18($sp) +/* f13e984: 8fb2001c */ lw $s2,0x1c($sp) +/* f13e988: 8fb30020 */ lw $s3,0x20($sp) +/* f13e98c: 03e00008 */ jr $ra +/* f13e990: 27bd0028 */ addiu $sp,$sp,0x28 +); +#else GLOBAL_ASM( glabel func0f13e744 /* f13e744: 27bdffd8 */ addiu $sp,$sp,-40 @@ -545,6 +714,7 @@ glabel func0f13e744 /* f13e98c: 03e00008 */ jr $ra /* f13e990: 27bd0028 */ addiu $sp,$sp,0x28 ); +#endif GLOBAL_ASM( glabel func0f13e994 @@ -1369,6 +1539,7 @@ glabel var7f1b5d20 /* f13f500: 00000000 */ nop ); +#if PAL GLOBAL_ASM( glabel func0f13f504 .late_rodata @@ -1457,7 +1628,7 @@ glabel var7f1b5d6c /* f13f5b0: e7a00230 */ swc1 $f0,0x230($sp) /* f13f5b4: e7a00234 */ swc1 $f0,0x234($sp) .L0f13f5b8: -/* f13f5b8: 240f000a */ addiu $t7,$zero,0xa +/* f13f5b8: 240f000a */ addiu $t7,$zero,0x8 /* f13f5bc: a7b80216 */ sh $t8,0x216($sp) /* f13f5c0: afaf0244 */ sw $t7,0x244($sp) .L0f13f5c4: @@ -1506,13 +1677,13 @@ glabel var7f1b5d6c /* f13f660: 00002025 */ or $a0,$zero,$zero .L0f13f664: /* f13f664: 12400005 */ beqz $s2,.L0f13f67c -/* f13f668: 3c02800a */ lui $v0,%hi(g_Menus+0x1fff) +/* f13f668: 3c02800a */ lui $v0,%hi(var8009cc68) /* f13f66c: 3c02800a */ lui $v0,%hi(var8009cc60) /* f13f670: 8c42cc60 */ lw $v0,%lo(var8009cc60)($v0) /* f13f674: 10000003 */ b .L0f13f684 -/* f13f678: 2442ffff */ addiu $v0,$v0,%lo(g_Menus+0x1fff) +/* f13f678: 2442ffff */ addiu $v0,$v0,0xffff .L0f13f67c: -/* f13f67c: 8c42cc68 */ lw $v0,-0x3398($v0) +/* f13f67c: 8c42cc68 */ lw $v0,%lo(var8009cc68)($v0) /* f13f680: 2442ffff */ addiu $v0,$v0,-1 .L0f13f684: /* f13f684: 8e630000 */ lw $v1,0x0($s3) @@ -2667,6 +2838,1306 @@ glabel var7f1b5d6c /* f140748: 03e00008 */ jr $ra /* f14074c: 27bd0200 */ addiu $sp,$sp,0x200 ); +#else +GLOBAL_ASM( +glabel func0f13f504 +.late_rodata +glabel var7f1b5d24 +.word func0f13f504+0x104 # f13f608 +glabel var7f1b5d28 +.word func0f13f504+0xe8 # f13f5ec +glabel var7f1b5d2c +.word func0f13f504+0xe8 # f13f5ec +glabel var7f1b5d30 +.word func0f13f504+0x104 # f13f608 +glabel var7f1b5d34 +.word func0f13f504+0x104 # f13f608 +glabel var7f1b5d38 +.word func0f13f504+0x104 # f13f608 +glabel var7f1b5d3c +.word func0f13f504+0x104 # f13f608 +glabel var7f1b5d40 +.word func0f13f504+0x104 # f13f608 +glabel var7f1b5d44 +.word func0f13f504+0x104 # f13f608 +glabel var7f1b5d48 +.word func0f13f504+0x104 # f13f608 +glabel var7f1b5d4c +.word func0f13f504+0xe8 # f13f5ec +glabel var7f1b5d50 +.word func0f13f504+0x104 # f13f608 +glabel var7f1b5d54 +.word 0x3c8efa35 +glabel var7f1b5d58 +.word 0x3b808081 +glabel var7f1b5d5c +.word func0f13f504+0xe48 # f14034c +glabel var7f1b5d60 +.word func0f13f504+0xdfc # f140300 +glabel var7f1b5d64 +.word func0f13f504+0xec0 # f1403c4 +glabel var7f1b5d68 +.word func0f13f504+0xf38 # f14043c +glabel var7f1b5d6c +.word func0f13f504+0xf58 # f14045c +.text +/* f13f504: 27bdfe00 */ addiu $sp,$sp,-512 +/* f13f508: afbf0024 */ sw $ra,0x24($sp) +/* f13f50c: afb30020 */ sw $s3,0x20($sp) +/* f13f510: afb2001c */ sw $s2,0x1c($sp) +/* f13f514: afb10018 */ sw $s1,0x18($sp) +/* f13f518: afb00014 */ sw $s0,0x14($sp) +/* f13f51c: afa40200 */ sw $a0,0x200($sp) +/* f13f520: afa60208 */ sw $a2,0x208($sp) +/* f13f524: afa7020c */ sw $a3,0x20c($sp) +/* f13f528: c4a60000 */ lwc1 $f6,0x0($a1) +/* f13f52c: 27a401b8 */ addiu $a0,$sp,0x1b8 +/* f13f530: 00a08825 */ or $s1,$a1,$zero +/* f13f534: e7a601b8 */ swc1 $f6,0x1b8($sp) +/* f13f538: c4aa0004 */ lwc1 $f10,0x4($a1) +/* f13f53c: 3c077f1b */ lui $a3,%hi(var7f1b5c4c) +/* f13f540: 24e75c4c */ addiu $a3,$a3,%lo(var7f1b5c4c) +/* f13f544: e7aa01bc */ swc1 $f10,0x1bc($sp) +/* f13f548: c4a40008 */ lwc1 $f4,0x8($a1) +/* f13f54c: 00802825 */ or $a1,$a0,$zero +/* f13f550: 240603bc */ addiu $a2,$zero,0x3bc +/* f13f554: 0fc5dc59 */ jal func0f177164 +/* f13f558: e7a401c0 */ swc1 $f4,0x1c0($sp) +/* f13f55c: 0fc4f92a */ jal chrIsUsingPaintball +/* f13f560: 8fa4022c */ lw $a0,0x22c($sp) +/* f13f564: 10400017 */ beqz $v0,.L0f13f5c4 +/* f13f568: 00408025 */ or $s0,$v0,$zero +/* f13f56c: 87aa0216 */ lh $t2,0x216($sp) +/* f13f570: 3c0e8008 */ lui $t6,%hi(var8007f75c) +/* f13f574: 25cef75c */ addiu $t6,$t6,%lo(var8007f75c) +/* f13f578: 000a4880 */ sll $t1,$t2,0x2 +/* f13f57c: 012a4823 */ subu $t1,$t1,$t2 +/* f13f580: 00094880 */ sll $t1,$t1,0x2 +/* f13f584: 012e1021 */ addu $v0,$t1,$t6 +/* f13f588: 904d0008 */ lbu $t5,0x8($v0) +/* f13f58c: 24010003 */ addiu $at,$zero,0x3 +/* f13f590: 3c0b8008 */ lui $t3,%hi(var8007f75c+0x54) +/* f13f594: 11a1000b */ beq $t5,$at,.L0f13f5c4 +/* f13f598: 256bf7b0 */ addiu $t3,$t3,%lo(var8007f75c+0x54) +/* f13f59c: 104b0006 */ beq $v0,$t3,.L0f13f5b8 +/* f13f5a0: 24180008 */ addiu $t8,$zero,0x8 +/* f13f5a4: 3c014170 */ lui $at,0x4170 +/* f13f5a8: 44810000 */ mtc1 $at,$f0 +/* f13f5ac: 00000000 */ nop +/* f13f5b0: e7a00230 */ swc1 $f0,0x230($sp) +/* f13f5b4: e7a00234 */ swc1 $f0,0x234($sp) +.L0f13f5b8: +/* f13f5b8: 240f000a */ addiu $t7,$zero,0xa +/* f13f5bc: a7b80216 */ sh $t8,0x216($sp) +/* f13f5c0: afaf0244 */ sw $t7,0x244($sp) +.L0f13f5c4: +/* f13f5c4: 87b90216 */ lh $t9,0x216($sp) +/* f13f5c8: 272cfffa */ addiu $t4,$t9,-6 +/* f13f5cc: 2d81000c */ sltiu $at,$t4,0xc +/* f13f5d0: 10200006 */ beqz $at,.L0f13f5ec +/* f13f5d4: 000c6080 */ sll $t4,$t4,0x2 +/* f13f5d8: 3c017f1b */ lui $at,%hi(var7f1b5d24) +/* f13f5dc: 002c0821 */ addu $at,$at,$t4 +/* f13f5e0: 8c2c5d24 */ lw $t4,%lo(var7f1b5d24)($at) +/* f13f5e4: 01800008 */ jr $t4 +/* f13f5e8: 00000000 */ nop +.L0f13f5ec: +/* f13f5ec: 0c004b70 */ jal random +/* f13f5f0: 00000000 */ nop +/* f13f5f4: 24010168 */ addiu $at,$zero,0x168 +/* f13f5f8: 0041001b */ divu $zero,$v0,$at +/* f13f5fc: 00004010 */ mfhi $t0 +/* f13f600: afa80240 */ sw $t0,0x240($sp) +/* f13f604: 00000000 */ nop +/* f13f608: 12000004 */ beqz $s0,.L0f13f61c +/* f13f60c: 3c05800a */ lui $a1,%hi(var800a41b4) +/* f13f610: 240a0004 */ addiu $t2,$zero,0x4 +/* f13f614: 10000009 */ b .L0f13f63c +/* f13f618: afaa0178 */ sw $t2,0x178($sp) +.L0f13f61c: +/* f13f61c: 87a90216 */ lh $t1,0x216($sp) +/* f13f620: 3c0d8008 */ lui $t5,%hi(var8007f75c+0x8) +/* f13f624: 00097080 */ sll $t6,$t1,0x2 +/* f13f628: 01c97023 */ subu $t6,$t6,$t1 +/* f13f62c: 000e7080 */ sll $t6,$t6,0x2 +/* f13f630: 01ae6821 */ addu $t5,$t5,$t6 +/* f13f634: 91adf764 */ lbu $t5,%lo(var8007f75c+0x8)($t5) +/* f13f638: afad0178 */ sw $t5,0x178($sp) +.L0f13f63c: +/* f13f63c: 24a541b4 */ addiu $a1,$a1,%lo(var800a41b4) +/* f13f640: 8cab0000 */ lw $t3,0x0($a1) +/* f13f644: 3c13800a */ lui $s3,%hi(var8009cc40) +/* f13f648: 8fb2021c */ lw $s2,0x21c($sp) +/* f13f64c: 11600439 */ beqz $t3,.L0f140734 +/* f13f650: 2673cc40 */ addiu $s3,$s3,%lo(var8009cc40) +/* f13f654: 12400003 */ beqz $s2,.L0f13f664 +/* f13f658: 87a4021a */ lh $a0,0x21a($sp) +/* f13f65c: 10000001 */ b .L0f13f664 +/* f13f660: 00002025 */ or $a0,$zero,$zero +.L0f13f664: +/* f13f664: 12400005 */ beqz $s2,.L0f13f67c +/* f13f668: 3c02800a */ lui $v0,%hi(var8009cc68) +/* f13f66c: 3c02800a */ lui $v0,%hi(var8009cc60) +/* f13f670: 8c42cc60 */ lw $v0,%lo(var8009cc60)($v0) +/* f13f674: 10000003 */ b .L0f13f684 +/* f13f678: 2442ffff */ addiu $v0,$v0,0xffff +.L0f13f67c: +/* f13f67c: 8c42cc68 */ lw $v0,%lo(var8009cc68)($v0) +/* f13f680: 2442ffff */ addiu $v0,$v0,-1 +.L0f13f684: +/* f13f684: 8e630000 */ lw $v1,0x0($s3) +/* f13f688: 00048040 */ sll $s0,$a0,0x1 +/* f13f68c: 87ac021a */ lh $t4,0x21a($sp) +/* f13f690: 0070c021 */ addu $t8,$v1,$s0 +/* f13f694: 970f0000 */ lhu $t7,0x0($t8) +/* f13f698: 000c4040 */ sll $t0,$t4,0x1 +/* f13f69c: 00685021 */ addu $t2,$v1,$t0 +/* f13f6a0: 004f082a */ slt $at,$v0,$t7 +/* f13f6a4: 10200007 */ beqz $at,.L0f13f6c4 +/* f13f6a8: 00000000 */ nop +/* f13f6ac: 0fc4f9d1 */ jal func0f13e744 +/* f13f6b0: 00000000 */ nop +/* f13f6b4: 5440000e */ bnezl $v0,.L0f13f6f0 +/* f13f6b8: 8e6e0000 */ lw $t6,0x0($s3) +/* f13f6bc: 1000041e */ b .L0f140738 +/* f13f6c0: 8fbf0024 */ lw $ra,0x24($sp) +.L0f13f6c4: +/* f13f6c4: 3c19800a */ lui $t9,%hi(var8009cc68) +/* f13f6c8: 8f39cc68 */ lw $t9,%lo(var8009cc68)($t9) +/* f13f6cc: 95490000 */ lhu $t1,0x0($t2) +/* f13f6d0: 0329082a */ slt $at,$t9,$t1 +/* f13f6d4: 50200006 */ beqzl $at,.L0f13f6f0 +/* f13f6d8: 8e6e0000 */ lw $t6,0x0($s3) +/* f13f6dc: 0fc4f9d1 */ jal func0f13e744 +/* f13f6e0: 01802025 */ or $a0,$t4,$zero +/* f13f6e4: 50400414 */ beqzl $v0,.L0f140738 +/* f13f6e8: 8fbf0024 */ lw $ra,0x24($sp) +/* f13f6ec: 8e6e0000 */ lw $t6,0x0($s3) +.L0f13f6f0: +/* f13f6f0: 3c03800a */ lui $v1,%hi(var8009cc4c) +/* f13f6f4: 3c04800a */ lui $a0,%hi(var8009cc48) +/* f13f6f8: 01d01021 */ addu $v0,$t6,$s0 +/* f13f6fc: 944d0000 */ lhu $t5,0x0($v0) +/* f13f700: 2484cc48 */ addiu $a0,$a0,%lo(var8009cc48) +/* f13f704: 2463cc4c */ addiu $v1,$v1,%lo(var8009cc4c) +/* f13f708: 25ab0001 */ addiu $t3,$t5,0x1 +/* f13f70c: a44b0000 */ sh $t3,0x0($v0) +/* f13f710: 87b90216 */ lh $t9,0x216($sp) +/* f13f714: 8c780000 */ lw $t8,0x0($v1) +/* f13f718: 8c880000 */ lw $t0,0x0($a0) +/* f13f71c: 00194880 */ sll $t1,$t9,0x2 +/* f13f720: 01394823 */ subu $t1,$t1,$t9 +/* f13f724: 00094880 */ sll $t1,$t1,0x2 +/* f13f728: 3c0c8008 */ lui $t4,%hi(var8007f75c+0x8) +/* f13f72c: 270fffff */ addiu $t7,$t8,-1 +/* f13f730: 250a0001 */ addiu $t2,$t0,0x1 +/* f13f734: ac6f0000 */ sw $t7,0x0($v1) +/* f13f738: ac8a0000 */ sw $t2,0x0($a0) +/* f13f73c: 01896021 */ addu $t4,$t4,$t1 +/* f13f740: 918cf764 */ lbu $t4,%lo(var8007f75c+0x8)($t4) +/* f13f744: 3c05800a */ lui $a1,%hi(var800a41b4) +/* f13f748: 24010003 */ addiu $at,$zero,0x3 +/* f13f74c: 24a541b4 */ addiu $a1,$a1,%lo(var800a41b4) +/* f13f750: 15810007 */ bne $t4,$at,.L0f13f770 +/* f13f754: afa90034 */ sw $t1,0x34($sp) +/* f13f758: 3c02800a */ lui $v0,%hi(var8009cc54) +/* f13f75c: 2442cc54 */ addiu $v0,$v0,%lo(var8009cc54) +/* f13f760: 8c4e0000 */ lw $t6,0x0($v0) +/* f13f764: 25cd0001 */ addiu $t5,$t6,0x1 +/* f13f768: 10000006 */ b .L0f13f784 +/* f13f76c: ac4d0000 */ sw $t5,0x0($v0) +.L0f13f770: +/* f13f770: 3c02800a */ lui $v0,%hi(var8009cc58) +/* f13f774: 2442cc58 */ addiu $v0,$v0,%lo(var8009cc58) +/* f13f778: 8c4b0000 */ lw $t3,0x0($v0) +/* f13f77c: 25780001 */ addiu $t8,$t3,0x1 +/* f13f780: ac580000 */ sw $t8,0x0($v0) +.L0f13f784: +/* f13f784: 8cb30000 */ lw $s3,0x0($a1) +/* f13f788: 3c02800a */ lui $v0,%hi(var800a41b8) +/* f13f78c: 244241b8 */ addiu $v0,$v0,%lo(var800a41b8) +/* f13f790: 8e6f0074 */ lw $t7,0x74($s3) +/* f13f794: 8c480000 */ lw $t0,0x0($v0) +/* f13f798: 3c018008 */ lui $at,%hi(var800845d4) +/* f13f79c: acaf0000 */ sw $t7,0x0($a1) +/* f13f7a0: ae680074 */ sw $t0,0x74($s3) +/* f13f7a4: 8fb9024c */ lw $t9,0x24c($sp) +/* f13f7a8: ac530000 */ sw $s3,0x0($v0) +/* f13f7ac: 926e006f */ lbu $t6,0x6f($s3) +/* f13f7b0: 001948c0 */ sll $t1,$t9,0x3 +/* f13f7b4: 312c0008 */ andi $t4,$t1,0x8 +/* f13f7b8: 31cdfff7 */ andi $t5,$t6,0xfff7 +/* f13f7bc: 018d5825 */ or $t3,$t4,$t5 +/* f13f7c0: a26b006f */ sb $t3,0x6f($s3) +/* f13f7c4: 1240000d */ beqz $s2,.L0f13f7fc +/* f13f7c8: ae600078 */ sw $zero,0x78($s3) +/* f13f7cc: 8fb8024c */ lw $t8,0x24c($sp) +/* f13f7d0: 53000006 */ beqzl $t8,.L0f13f7ec +/* f13f7d4: 8e480040 */ lw $t0,0x40($s2) +/* f13f7d8: 8e4f0044 */ lw $t7,0x44($s2) +/* f13f7dc: ae6f0078 */ sw $t7,0x78($s3) +/* f13f7e0: 10000004 */ b .L0f13f7f4 +/* f13f7e4: ae530044 */ sw $s3,0x44($s2) +/* f13f7e8: 8e480040 */ lw $t0,0x40($s2) +.L0f13f7ec: +/* f13f7ec: ae680078 */ sw $t0,0x78($s3) +/* f13f7f0: ae530040 */ sw $s3,0x40($s2) +.L0f13f7f4: +/* f13f7f4: 10000023 */ b .L0f13f884 +/* f13f7f8: ae720060 */ sw $s2,0x60($s3) +.L0f13f7fc: +/* f13f7fc: 8faa024c */ lw $t2,0x24c($sp) +/* f13f800: 87a2021a */ lh $v0,0x21a($sp) +/* f13f804: 3c03800a */ lui $v1,%hi(g_Rooms) +/* f13f808: 11400011 */ beqz $t2,.L0f13f850 +/* f13f80c: 0002c0c0 */ sll $t8,$v0,0x3 +/* f13f810: 87a2021a */ lh $v0,0x21a($sp) +/* f13f814: 3c03800a */ lui $v1,%hi(g_Rooms) +/* f13f818: 24634928 */ addiu $v1,$v1,%lo(g_Rooms) +/* f13f81c: 0002c8c0 */ sll $t9,$v0,0x3 +/* f13f820: 0322c821 */ addu $t9,$t9,$v0 +/* f13f824: 8c690000 */ lw $t1,0x0($v1) +/* f13f828: 0019c880 */ sll $t9,$t9,0x2 +/* f13f82c: 0322c823 */ subu $t9,$t9,$v0 +/* f13f830: 0019c880 */ sll $t9,$t9,0x2 +/* f13f834: 01397021 */ addu $t6,$t1,$t9 +/* f13f838: 8dcc0088 */ lw $t4,0x88($t6) +/* f13f83c: ae6c0078 */ sw $t4,0x78($s3) +/* f13f840: 8c6d0000 */ lw $t5,0x0($v1) +/* f13f844: 01b95821 */ addu $t3,$t5,$t9 +/* f13f848: 1000000d */ b .L0f13f880 +/* f13f84c: ad730088 */ sw $s3,0x88($t3) +.L0f13f850: +/* f13f850: 24634928 */ addiu $v1,$v1,%lo(g_Rooms) +/* f13f854: 0302c021 */ addu $t8,$t8,$v0 +/* f13f858: 8c6f0000 */ lw $t7,0x0($v1) +/* f13f85c: 0018c080 */ sll $t8,$t8,0x2 +/* f13f860: 0302c023 */ subu $t8,$t8,$v0 +/* f13f864: 0018c080 */ sll $t8,$t8,0x2 +/* f13f868: 01f84021 */ addu $t0,$t7,$t8 +/* f13f86c: 8d0a0084 */ lw $t2,0x84($t0) +/* f13f870: ae6a0078 */ sw $t2,0x78($s3) +/* f13f874: 8c790000 */ lw $t9,0x0($v1) +/* f13f878: 03384821 */ addu $t1,$t9,$t8 +/* f13f87c: ad330084 */ sw $s3,0x84($t1) +.L0f13f880: +/* f13f880: ae600060 */ sw $zero,0x60($s3) +.L0f13f884: +/* f13f884: 8fae0200 */ lw $t6,0x200($sp) +/* f13f888: 44809000 */ mtc1 $zero,$f18 +/* f13f88c: c5c80000 */ lwc1 $f8,0x0($t6) +/* f13f890: e7a801ac */ swc1 $f8,0x1ac($sp) +/* f13f894: c5c60004 */ lwc1 $f6,0x4($t6) +/* f13f898: e7a601b0 */ swc1 $f6,0x1b0($sp) +/* f13f89c: c5ca0008 */ lwc1 $f10,0x8($t6) +/* f13f8a0: e7aa01b4 */ swc1 $f10,0x1b4($sp) +/* f13f8a4: c6300000 */ lwc1 $f16,0x0($s1) +/* f13f8a8: 4610903c */ c.lt.s $f18,$f16 +/* f13f8ac: 00000000 */ nop +/* f13f8b0: 45020004 */ bc1fl .L0f13f8c4 +/* f13f8b4: 46008007 */ neg.s $f0,$f16 +/* f13f8b8: 10000002 */ b .L0f13f8c4 +/* f13f8bc: 46008006 */ mov.s $f0,$f16 +/* f13f8c0: 46008007 */ neg.s $f0,$f16 +.L0f13f8c4: +/* f13f8c4: c42e45d4 */ lwc1 $f14,%lo(var800845d4)($at) +/* f13f8c8: 460e003c */ c.lt.s $f0,$f14 +/* f13f8cc: 00000000 */ nop +/* f13f8d0: 45020004 */ bc1fl .L0f13f8e4 +/* f13f8d4: 00002025 */ or $a0,$zero,$zero +/* f13f8d8: 10000002 */ b .L0f13f8e4 +/* f13f8dc: 24040001 */ addiu $a0,$zero,0x1 +/* f13f8e0: 00002025 */ or $a0,$zero,$zero +.L0f13f8e4: +/* f13f8e4: c62c0004 */ lwc1 $f12,0x4($s1) +/* f13f8e8: 460c903c */ c.lt.s $f18,$f12 +/* f13f8ec: 00000000 */ nop +/* f13f8f0: 45020004 */ bc1fl .L0f13f904 +/* f13f8f4: 46006007 */ neg.s $f0,$f12 +/* f13f8f8: 10000002 */ b .L0f13f904 +/* f13f8fc: 46006006 */ mov.s $f0,$f12 +/* f13f900: 46006007 */ neg.s $f0,$f12 +.L0f13f904: +/* f13f904: 460e003c */ c.lt.s $f0,$f14 +/* f13f908: 00000000 */ nop +/* f13f90c: 45020004 */ bc1fl .L0f13f920 +/* f13f910: 00001825 */ or $v1,$zero,$zero +/* f13f914: 10000002 */ b .L0f13f920 +/* f13f918: 24030001 */ addiu $v1,$zero,0x1 +/* f13f91c: 00001825 */ or $v1,$zero,$zero +.L0f13f920: +/* f13f920: c6220008 */ lwc1 $f2,0x8($s1) +/* f13f924: 4602903c */ c.lt.s $f18,$f2 +/* f13f928: 00000000 */ nop +/* f13f92c: 45020004 */ bc1fl .L0f13f940 +/* f13f930: 46001007 */ neg.s $f0,$f2 +/* f13f934: 10000002 */ b .L0f13f940 +/* f13f938: 46001006 */ mov.s $f0,$f2 +/* f13f93c: 46001007 */ neg.s $f0,$f2 +.L0f13f940: +/* f13f940: 460e003c */ c.lt.s $f0,$f14 +/* f13f944: 00001025 */ or $v0,$zero,$zero +/* f13f948: 45000003 */ bc1f .L0f13f958 +/* f13f94c: 00000000 */ nop +/* f13f950: 10000001 */ b .L0f13f958 +/* f13f954: 24020001 */ addiu $v0,$zero,0x1 +.L0f13f958: +/* f13f958: 10800014 */ beqz $a0,.L0f13f9ac +/* f13f95c: 00000000 */ nop +/* f13f960: 10400012 */ beqz $v0,.L0f13f9ac +/* f13f964: 00000000 */ nop +/* f13f968: 44809000 */ mtc1 $zero,$f18 +/* f13f96c: 3c01bf80 */ lui $at,0xbf80 +/* f13f970: 44817000 */ mtc1 $at,$f14 +/* f13f974: 460c903e */ c.le.s $f18,$f12 +/* f13f978: 46009406 */ mov.s $f16,$f18 +/* f13f97c: e7b201e8 */ swc1 $f18,0x1e8($sp) +/* f13f980: e7b201ec */ swc1 $f18,0x1ec($sp) +/* f13f984: 45000005 */ bc1f .L0f13f99c +/* f13f988: e7ae01f4 */ swc1 $f14,0x1f4($sp) +/* f13f98c: 3c013f80 */ lui $at,0x3f80 +/* f13f990: 44810000 */ mtc1 $at,$f0 +/* f13f994: 10000002 */ b .L0f13f9a0 +/* f13f998: 00000000 */ nop +.L0f13f99c: +/* f13f99c: 46007006 */ mov.s $f0,$f14 +.L0f13f9a0: +/* f13f9a0: 460e0102 */ mul.s $f4,$f0,$f14 +/* f13f9a4: 1000009f */ b .L0f13fc24 +/* f13f9a8: e7a401f0 */ swc1 $f4,0x1f0($sp) +.L0f13f9ac: +/* f13f9ac: 10800017 */ beqz $a0,.L0f13fa0c +/* f13f9b0: 00000000 */ nop +/* f13f9b4: 10600015 */ beqz $v1,.L0f13fa0c +/* f13f9b8: 00000000 */ nop +/* f13f9bc: 44800000 */ mtc1 $zero,$f0 +/* f13f9c0: 3c01bf80 */ lui $at,0xbf80 +/* f13f9c4: 4602003e */ c.le.s $f0,$f2 +/* f13f9c8: 46000406 */ mov.s $f16,$f0 +/* f13f9cc: 46000486 */ mov.s $f18,$f0 +/* f13f9d0: 45020006 */ bc1fl .L0f13f9ec +/* f13f9d4: 44813000 */ mtc1 $at,$f6 +/* f13f9d8: 3c013f80 */ lui $at,0x3f80 +/* f13f9dc: 44814000 */ mtc1 $at,$f8 +/* f13f9e0: 10000004 */ b .L0f13f9f4 +/* f13f9e4: e7a801f4 */ swc1 $f8,0x1f4($sp) +/* f13f9e8: 44813000 */ mtc1 $at,$f6 +.L0f13f9ec: +/* f13f9ec: 00000000 */ nop +/* f13f9f0: e7a601f4 */ swc1 $f6,0x1f4($sp) +.L0f13f9f4: +/* f13f9f4: 3c01bf80 */ lui $at,0xbf80 +/* f13f9f8: 44815000 */ mtc1 $at,$f10 +/* f13f9fc: e7a001e8 */ swc1 $f0,0x1e8($sp) +/* f13fa00: e7a001f0 */ swc1 $f0,0x1f0($sp) +/* f13fa04: 10000087 */ b .L0f13fc24 +/* f13fa08: e7aa01ec */ swc1 $f10,0x1ec($sp) +.L0f13fa0c: +/* f13fa0c: 5060001a */ beqzl $v1,.L0f13fa78 +/* f13fa10: 8fa3020c */ lw $v1,0x20c($sp) +/* f13fa14: 50400018 */ beqzl $v0,.L0f13fa78 +/* f13fa18: 8fa3020c */ lw $v1,0x20c($sp) +/* f13fa1c: 44801000 */ mtc1 $zero,$f2 +/* f13fa20: 3c01bf80 */ lui $at,0xbf80 +/* f13fa24: 4610103e */ c.le.s $f2,$f16 +/* f13fa28: e7a201f4 */ swc1 $f2,0x1f4($sp) +/* f13fa2c: 46001486 */ mov.s $f18,$f2 +/* f13fa30: 45020006 */ bc1fl .L0f13fa4c +/* f13fa34: 44810000 */ mtc1 $at,$f0 +/* f13fa38: 3c013f80 */ lui $at,0x3f80 +/* f13fa3c: 44810000 */ mtc1 $at,$f0 +/* f13fa40: 10000004 */ b .L0f13fa54 +/* f13fa44: 3c01bf80 */ lui $at,0xbf80 +/* f13fa48: 44810000 */ mtc1 $at,$f0 +.L0f13fa4c: +/* f13fa4c: 00000000 */ nop +/* f13fa50: 3c01bf80 */ lui $at,0xbf80 +.L0f13fa54: +/* f13fa54: 44812000 */ mtc1 $at,$f4 +/* f13fa58: 3c013f80 */ lui $at,0x3f80 +/* f13fa5c: 44814000 */ mtc1 $at,$f8 +/* f13fa60: 46040402 */ mul.s $f16,$f0,$f4 +/* f13fa64: e7a201e8 */ swc1 $f2,0x1e8($sp) +/* f13fa68: e7a201ec */ swc1 $f2,0x1ec($sp) +/* f13fa6c: 1000006d */ b .L0f13fc24 +/* f13fa70: e7a801f0 */ swc1 $f8,0x1f0($sp) +/* f13fa74: 8fa3020c */ lw $v1,0x20c($sp) +.L0f13fa78: +/* f13fa78: 8fa20210 */ lw $v0,0x210($sp) +/* f13fa7c: c7a001b8 */ lwc1 $f0,0x1b8($sp) +/* f13fa80: 10600055 */ beqz $v1,.L0f13fbd8 +/* f13fa84: c7a201c0 */ lwc1 $f2,0x1c0($sp) +/* f13fa88: 10400053 */ beqz $v0,.L0f13fbd8 +/* f13fa8c: 00000000 */ nop +/* f13fa90: 846c0000 */ lh $t4,0x0($v1) +/* f13fa94: 27b0013c */ addiu $s0,$sp,0x13c +/* f13fa98: 3c077f1b */ lui $a3,%hi(var7f1b5c58) +/* f13fa9c: 448c3000 */ mtc1 $t4,$f6 +/* f13faa0: 24e75c58 */ addiu $a3,$a3,%lo(var7f1b5c58) +/* f13faa4: 02002025 */ or $a0,$s0,$zero +/* f13faa8: 468032a0 */ cvt.s.w $f10,$f6 +/* f13faac: 02002825 */ or $a1,$s0,$zero +/* f13fab0: 2406047f */ addiu $a2,$zero,0x47f +/* f13fab4: e7aa013c */ swc1 $f10,0x13c($sp) +/* f13fab8: 846d0002 */ lh $t5,0x2($v1) +/* f13fabc: 448d2000 */ mtc1 $t5,$f4 +/* f13fac0: 00000000 */ nop +/* f13fac4: 46802220 */ cvt.s.w $f8,$f4 +/* f13fac8: e7a80140 */ swc1 $f8,0x140($sp) +/* f13facc: 846b0004 */ lh $t3,0x4($v1) +/* f13fad0: 448b3000 */ mtc1 $t3,$f6 +/* f13fad4: 00000000 */ nop +/* f13fad8: 468032a0 */ cvt.s.w $f10,$f6 +/* f13fadc: e7aa0144 */ swc1 $f10,0x144($sp) +/* f13fae0: 84580000 */ lh $t8,0x0($v0) +/* f13fae4: 44982000 */ mtc1 $t8,$f4 +/* f13fae8: 00000000 */ nop +/* f13faec: 46802220 */ cvt.s.w $f8,$f4 +/* f13faf0: e7a80130 */ swc1 $f8,0x130($sp) +/* f13faf4: 844f0002 */ lh $t7,0x2($v0) +/* f13faf8: 448f3000 */ mtc1 $t7,$f6 +/* f13fafc: 00000000 */ nop +/* f13fb00: 468032a0 */ cvt.s.w $f10,$f6 +/* f13fb04: e7aa0134 */ swc1 $f10,0x134($sp) +/* f13fb08: 84480004 */ lh $t0,0x4($v0) +/* f13fb0c: 44882000 */ mtc1 $t0,$f4 +/* f13fb10: 00000000 */ nop +/* f13fb14: 46802220 */ cvt.s.w $f8,$f4 +/* f13fb18: 0fc5dc59 */ jal func0f177164 +/* f13fb1c: e7a80138 */ swc1 $f8,0x138($sp) +/* f13fb20: 27a40130 */ addiu $a0,$sp,0x130 +/* f13fb24: 3c077f1b */ lui $a3,%hi(var7f1b5c64) +/* f13fb28: 24e75c64 */ addiu $a3,$a3,%lo(var7f1b5c64) +/* f13fb2c: 00802825 */ or $a1,$a0,$zero +/* f13fb30: 0fc5dc59 */ jal func0f177164 +/* f13fb34: 24060480 */ addiu $a2,$zero,0x480 +/* f13fb38: c7a20130 */ lwc1 $f2,0x130($sp) +/* f13fb3c: c7b0013c */ lwc1 $f16,0x13c($sp) +/* f13fb40: c7ac0134 */ lwc1 $f12,0x134($sp) +/* f13fb44: c7b20140 */ lwc1 $f18,0x140($sp) +/* f13fb48: 46028182 */ mul.s $f6,$f16,$f2 +/* f13fb4c: c7ae0138 */ lwc1 $f14,0x138($sp) +/* f13fb50: c7a80144 */ lwc1 $f8,0x144($sp) +/* f13fb54: 460c9282 */ mul.s $f10,$f18,$f12 +/* f13fb58: 3c01bf80 */ lui $at,0xbf80 +/* f13fb5c: 02002025 */ or $a0,$s0,$zero +/* f13fb60: 27a50118 */ addiu $a1,$sp,0x118 +/* f13fb64: 27a60100 */ addiu $a2,$sp,0x100 +/* f13fb68: 460a3100 */ add.s $f4,$f6,$f10 +/* f13fb6c: 460e4182 */ mul.s $f6,$f8,$f14 +/* f13fb70: 46062280 */ add.s $f10,$f4,$f6 +/* f13fb74: 44812000 */ mtc1 $at,$f4 +/* f13fb78: 00000000 */ nop +/* f13fb7c: 46045002 */ mul.s $f0,$f10,$f4 +/* f13fb80: 00000000 */ nop +/* f13fb84: 46100182 */ mul.s $f6,$f0,$f16 +/* f13fb88: 46023280 */ add.s $f10,$f6,$f2 +/* f13fb8c: 46120102 */ mul.s $f4,$f0,$f18 +/* f13fb90: e7aa0118 */ swc1 $f10,0x118($sp) +/* f13fb94: 46080282 */ mul.s $f10,$f0,$f8 +/* f13fb98: 460c2180 */ add.s $f6,$f4,$f12 +/* f13fb9c: 460e5100 */ add.s $f4,$f10,$f14 +/* f13fba0: e7a6011c */ swc1 $f6,0x11c($sp) +/* f13fba4: 0fc5dc2b */ jal func0f1770ac +/* f13fba8: e7a40120 */ swc1 $f4,0x120($sp) +/* f13fbac: c7a6013c */ lwc1 $f6,0x13c($sp) +/* f13fbb0: c7a80118 */ lwc1 $f8,0x118($sp) +/* f13fbb4: c7aa011c */ lwc1 $f10,0x11c($sp) +/* f13fbb8: c7a40120 */ lwc1 $f4,0x120($sp) +/* f13fbbc: c7b00140 */ lwc1 $f16,0x140($sp) +/* f13fbc0: c7b20144 */ lwc1 $f18,0x144($sp) +/* f13fbc4: e7a601f4 */ swc1 $f6,0x1f4($sp) +/* f13fbc8: e7a801e8 */ swc1 $f8,0x1e8($sp) +/* f13fbcc: e7aa01ec */ swc1 $f10,0x1ec($sp) +/* f13fbd0: 10000014 */ b .L0f13fc24 +/* f13fbd4: e7a401f0 */ swc1 $f4,0x1f0($sp) +.L0f13fbd8: +/* f13fbd8: 46000182 */ mul.s $f6,$f0,$f0 +/* f13fbdc: 00000000 */ nop +/* f13fbe0: 46021202 */ mul.s $f8,$f2,$f2 +/* f13fbe4: 0c012974 */ jal sqrtf +/* f13fbe8: 46083300 */ add.s $f12,$f6,$f8 +/* f13fbec: c7a401b8 */ lwc1 $f4,0x1b8($sp) +/* f13fbf0: c7aa01c0 */ lwc1 $f10,0x1c0($sp) +/* f13fbf4: c7ae01bc */ lwc1 $f14,0x1bc($sp) +/* f13fbf8: 46002083 */ div.s $f2,$f4,$f0 +/* f13fbfc: 44808000 */ mtc1 $zero,$f16 +/* f13fc00: 46000207 */ neg.s $f8,$f0 +/* f13fc04: e7a801ec */ swc1 $f8,0x1ec($sp) +/* f13fc08: 46005303 */ div.s $f12,$f10,$f0 +/* f13fc0c: 46027182 */ mul.s $f6,$f14,$f2 +/* f13fc10: 46001487 */ neg.s $f18,$f2 +/* f13fc14: e7a601e8 */ swc1 $f6,0x1e8($sp) +/* f13fc18: 460c7282 */ mul.s $f10,$f14,$f12 +/* f13fc1c: e7ac01f4 */ swc1 $f12,0x1f4($sp) +/* f13fc20: e7aa01f0 */ swc1 $f10,0x1f0($sp) +.L0f13fc24: +/* f13fc24: 8faa0240 */ lw $t2,0x240($sp) +/* f13fc28: c7a401f4 */ lwc1 $f4,0x1f4($sp) +/* f13fc2c: 51400034 */ beqzl $t2,.L0f13fd00 +/* f13fc30: c7aa01ec */ lwc1 $f10,0x1ec($sp) +/* f13fc34: 448a2000 */ mtc1 $t2,$f4 +/* f13fc38: 3c017f1b */ lui $at,%hi(var7f1b5d54) +/* f13fc3c: c4285d54 */ lwc1 $f8,%lo(var7f1b5d54)($at) +/* f13fc40: 468021a0 */ cvt.s.w $f6,$f4 +/* f13fc44: e7b001f8 */ swc1 $f16,0x1f8($sp) +/* f13fc48: e7b201fc */ swc1 $f18,0x1fc($sp) +/* f13fc4c: 46083302 */ mul.s $f12,$f6,$f8 +/* f13fc50: 0c0068f7 */ jal sinf +/* f13fc54: e7ac0040 */ swc1 $f12,0x40($sp) +/* f13fc58: c7ac0040 */ lwc1 $f12,0x40($sp) +/* f13fc5c: 0c0068f4 */ jal cosf +/* f13fc60: e7a000d0 */ swc1 $f0,0xd0($sp) +/* f13fc64: c7aa01f4 */ lwc1 $f10,0x1f4($sp) +/* f13fc68: c7ac01e8 */ lwc1 $f12,0x1e8($sp) +/* f13fc6c: c7ae00d0 */ lwc1 $f14,0xd0($sp) +/* f13fc70: 460a0102 */ mul.s $f4,$f0,$f10 +/* f13fc74: c7b001f8 */ lwc1 $f16,0x1f8($sp) +/* f13fc78: c7b201fc */ lwc1 $f18,0x1fc($sp) +/* f13fc7c: 460c7182 */ mul.s $f6,$f14,$f12 +/* f13fc80: e7aa0028 */ swc1 $f10,0x28($sp) +/* f13fc84: 46007087 */ neg.s $f2,$f14 +/* f13fc88: 46062200 */ add.s $f8,$f4,$f6 +/* f13fc8c: 46100102 */ mul.s $f4,$f0,$f16 +/* f13fc90: c7a601ec */ lwc1 $f6,0x1ec($sp) +/* f13fc94: e7a801dc */ swc1 $f8,0x1dc($sp) +/* f13fc98: 46067202 */ mul.s $f8,$f14,$f6 +/* f13fc9c: 46082100 */ add.s $f4,$f4,$f8 +/* f13fca0: 46120202 */ mul.s $f8,$f0,$f18 +/* f13fca4: e7a401e0 */ swc1 $f4,0x1e0($sp) +/* f13fca8: c7a401f0 */ lwc1 $f4,0x1f0($sp) +/* f13fcac: 46047282 */ mul.s $f10,$f14,$f4 +/* f13fcb0: 460a4200 */ add.s $f8,$f8,$f10 +/* f13fcb4: c7aa0028 */ lwc1 $f10,0x28($sp) +/* f13fcb8: e7a801e4 */ swc1 $f8,0x1e4($sp) +/* f13fcbc: 460a1202 */ mul.s $f8,$f2,$f10 +/* f13fcc0: 00000000 */ nop +/* f13fcc4: 460c0282 */ mul.s $f10,$f0,$f12 +/* f13fcc8: 460a4200 */ add.s $f8,$f8,$f10 +/* f13fccc: 46101282 */ mul.s $f10,$f2,$f16 +/* f13fcd0: e7a801d0 */ swc1 $f8,0x1d0($sp) +/* f13fcd4: 46060202 */ mul.s $f8,$f0,$f6 +/* f13fcd8: c7ae01d0 */ lwc1 $f14,0x1d0($sp) +/* f13fcdc: 46085180 */ add.s $f6,$f10,$f8 +/* f13fce0: 46121282 */ mul.s $f10,$f2,$f18 +/* f13fce4: 00000000 */ nop +/* f13fce8: 46040202 */ mul.s $f8,$f0,$f4 +/* f13fcec: e7a601d4 */ swc1 $f6,0x1d4($sp) +/* f13fcf0: 46085180 */ add.s $f6,$f10,$f8 +/* f13fcf4: 10000009 */ b .L0f13fd1c +/* f13fcf8: e7a601d8 */ swc1 $f6,0x1d8($sp) +/* f13fcfc: c7aa01ec */ lwc1 $f10,0x1ec($sp) +.L0f13fd00: +/* f13fd00: c7a801f0 */ lwc1 $f8,0x1f0($sp) +/* f13fd04: e7a401dc */ swc1 $f4,0x1dc($sp) +/* f13fd08: e7b001e0 */ swc1 $f16,0x1e0($sp) +/* f13fd0c: e7b201e4 */ swc1 $f18,0x1e4($sp) +/* f13fd10: c7ae01e8 */ lwc1 $f14,0x1e8($sp) +/* f13fd14: e7aa01d4 */ swc1 $f10,0x1d4($sp) +/* f13fd18: e7a801d8 */ swc1 $f8,0x1d8($sp) +.L0f13fd1c: +/* f13fd1c: 12400052 */ beqz $s2,.L0f13fe68 +/* f13fd20: 87a4021a */ lh $a0,0x21a($sp) +/* f13fd24: 8e420004 */ lw $v0,0x4($s2) +/* f13fd28: 83ae0227 */ lb $t6,0x227($sp) +/* f13fd2c: 24010001 */ addiu $at,$zero,0x1 +/* f13fd30: 8c590018 */ lw $t9,0x18($v0) +/* f13fd34: 904d0003 */ lbu $t5,0x3($v0) +/* f13fd38: 000e6180 */ sll $t4,$t6,0x6 +/* f13fd3c: 8f29000c */ lw $t1,0xc($t9) +/* f13fd40: 00408025 */ or $s0,$v0,$zero +/* f13fd44: 15a10010 */ bne $t5,$at,.L0f13fd88 +/* f13fd48: 012c8821 */ addu $s1,$t1,$t4 +/* f13fd4c: 944b0070 */ lhu $t3,0x70($v0) +/* f13fd50: 3c01bf80 */ lui $at,0xbf80 +/* f13fd54: 31780008 */ andi $t8,$t3,0x8 +/* f13fd58: 5300000c */ beqzl $t8,.L0f13fd8c +/* f13fd5c: c7b001d4 */ lwc1 $f16,0x1d4($sp) +/* f13fd60: 44810000 */ mtc1 $at,$f0 +/* f13fd64: c7a601d4 */ lwc1 $f6,0x1d4($sp) +/* f13fd68: c7aa01d8 */ lwc1 $f10,0x1d8($sp) +/* f13fd6c: 460e0382 */ mul.s $f14,$f0,$f14 +/* f13fd70: 00000000 */ nop +/* f13fd74: 46060102 */ mul.s $f4,$f0,$f6 +/* f13fd78: 00000000 */ nop +/* f13fd7c: 460a0202 */ mul.s $f8,$f0,$f10 +/* f13fd80: e7a401d4 */ swc1 $f4,0x1d4($sp) +/* f13fd84: e7a801d8 */ swc1 $f8,0x1d8($sp) +.L0f13fd88: +/* f13fd88: c7b001d4 */ lwc1 $f16,0x1d4($sp) +.L0f13fd8c: +/* f13fd8c: c7b201d8 */ lwc1 $f18,0x1d8($sp) +/* f13fd90: c7a001dc */ lwc1 $f0,0x1dc($sp) +/* f13fd94: c7a201e0 */ lwc1 $f2,0x1e0($sp) +/* f13fd98: c7a601e4 */ lwc1 $f6,0x1e4($sp) +/* f13fd9c: e7ae0078 */ swc1 $f14,0x78($sp) +/* f13fda0: 02202025 */ or $a0,$s1,$zero +/* f13fda4: 27a50084 */ addiu $a1,$sp,0x84 +/* f13fda8: e7ae01d0 */ swc1 $f14,0x1d0($sp) +/* f13fdac: e7b0007c */ swc1 $f16,0x7c($sp) +/* f13fdb0: e7b20080 */ swc1 $f18,0x80($sp) +/* f13fdb4: e7a00084 */ swc1 $f0,0x84($sp) +/* f13fdb8: e7a20088 */ swc1 $f2,0x88($sp) +/* f13fdbc: 0c0056c4 */ jal func00015b10 +/* f13fdc0: e7a6008c */ swc1 $f6,0x8c($sp) +/* f13fdc4: 02202025 */ or $a0,$s1,$zero +/* f13fdc8: 0c0056c4 */ jal func00015b10 +/* f13fdcc: 27a50078 */ addiu $a1,$sp,0x78 +/* f13fdd0: c7a00084 */ lwc1 $f0,0x84($sp) +/* f13fdd4: c7a20088 */ lwc1 $f2,0x88($sp) +/* f13fdd8: c7a6008c */ lwc1 $f6,0x8c($sp) +/* f13fddc: 46000102 */ mul.s $f4,$f0,$f0 +/* f13fde0: 00000000 */ nop +/* f13fde4: 46021282 */ mul.s $f10,$f2,$f2 +/* f13fde8: 460a2200 */ add.s $f8,$f4,$f10 +/* f13fdec: 46063102 */ mul.s $f4,$f6,$f6 +/* f13fdf0: 0c012974 */ jal sqrtf +/* f13fdf4: 46044300 */ add.s $f12,$f8,$f4 +/* f13fdf8: c7aa0230 */ lwc1 $f10,0x230($sp) +/* f13fdfc: c7a8007c */ lwc1 $f8,0x7c($sp) +/* f13fe00: c7a20078 */ lwc1 $f2,0x78($sp) +/* f13fe04: 46005183 */ div.s $f6,$f10,$f0 +/* f13fe08: 46084102 */ mul.s $f4,$f8,$f8 +/* f13fe0c: c7a80080 */ lwc1 $f8,0x80($sp) +/* f13fe10: 46021282 */ mul.s $f10,$f2,$f2 +/* f13fe14: e7a60230 */ swc1 $f6,0x230($sp) +/* f13fe18: 46045180 */ add.s $f6,$f10,$f4 +/* f13fe1c: 46084282 */ mul.s $f10,$f8,$f8 +/* f13fe20: 0c012974 */ jal sqrtf +/* f13fe24: 460a3300 */ add.s $f12,$f6,$f10 +/* f13fe28: c7a40234 */ lwc1 $f4,0x234($sp) +/* f13fe2c: 8faf024c */ lw $t7,0x24c($sp) +/* f13fe30: c7ae01d0 */ lwc1 $f14,0x1d0($sp) +/* f13fe34: 46002203 */ div.s $f8,$f4,$f0 +/* f13fe38: c7b001d4 */ lwc1 $f16,0x1d4($sp) +/* f13fe3c: c7b201d8 */ lwc1 $f18,0x1d8($sp) +/* f13fe40: 11e00005 */ beqz $t7,.L0f13fe58 +/* f13fe44: e7a80234 */ swc1 $f8,0x234($sp) +/* f13fe48: 92080002 */ lbu $t0,0x2($s0) +/* f13fe4c: 350a0002 */ ori $t2,$t0,0x2 +/* f13fe50: 10000049 */ b .L0f13ff78 +/* f13fe54: a20a0002 */ sb $t2,0x2($s0) +.L0f13fe58: +/* f13fe58: 92190002 */ lbu $t9,0x2($s0) +/* f13fe5c: 372e0001 */ ori $t6,$t9,0x1 +/* f13fe60: 10000045 */ b .L0f13ff78 +/* f13fe64: a20e0002 */ sb $t6,0x2($s0) +.L0f13fe68: +/* f13fe68: 0fc59b74 */ jal func0f166dd0 +/* f13fe6c: e7ae01d0 */ swc1 $f14,0x1d0($sp) +/* f13fe70: 8fa30208 */ lw $v1,0x208($sp) +/* f13fe74: c7ae01d0 */ lwc1 $f14,0x1d0($sp) +/* f13fe78: c7b001d4 */ lwc1 $f16,0x1d4($sp) +/* f13fe7c: 10600021 */ beqz $v1,.L0f13ff04 +/* f13fe80: c7b201d8 */ lwc1 $f18,0x1d8($sp) +/* f13fe84: 8fa90200 */ lw $t1,0x200($sp) +/* f13fe88: c4660000 */ lwc1 $f6,0x0($v1) +/* f13fe8c: c4640004 */ lwc1 $f4,0x4($v1) +/* f13fe90: c52a0000 */ lwc1 $f10,0x0($t1) +/* f13fe94: c5280004 */ lwc1 $f8,0x4($t1) +/* f13fe98: 3c01bf80 */ lui $at,0xbf80 +/* f13fe9c: 460a3001 */ sub.s $f0,$f6,$f10 +/* f13fea0: c4660008 */ lwc1 $f6,0x8($v1) +/* f13fea4: c52a0008 */ lwc1 $f10,0x8($t1) +/* f13fea8: 46082081 */ sub.s $f2,$f4,$f8 +/* f13feac: c7a401b8 */ lwc1 $f4,0x1b8($sp) +/* f13feb0: 460a3301 */ sub.s $f12,$f6,$f10 +/* f13feb4: 46040202 */ mul.s $f8,$f0,$f4 +/* f13feb8: c7a601bc */ lwc1 $f6,0x1bc($sp) +/* f13febc: 46061282 */ mul.s $f10,$f2,$f6 +/* f13fec0: c7a601c0 */ lwc1 $f6,0x1c0($sp) +/* f13fec4: 460a4100 */ add.s $f4,$f8,$f10 +/* f13fec8: 46066202 */ mul.s $f8,$f12,$f6 +/* f13fecc: 44803000 */ mtc1 $zero,$f6 +/* f13fed0: 46082280 */ add.s $f10,$f4,$f8 +/* f13fed4: 4606503c */ c.lt.s $f10,$f6 +/* f13fed8: 00000000 */ nop +/* f13fedc: 4502000a */ bc1fl .L0f13ff08 +/* f13fee0: 3c013f80 */ lui $at,0x3f80 +/* f13fee4: 44810000 */ mtc1 $at,$f0 +/* f13fee8: 00000000 */ nop +/* f13feec: 460e0382 */ mul.s $f14,$f0,$f14 +/* f13fef0: 00000000 */ nop +/* f13fef4: 46100402 */ mul.s $f16,$f0,$f16 +/* f13fef8: 00000000 */ nop +/* f13fefc: 46120482 */ mul.s $f18,$f0,$f18 +/* f13ff00: 00000000 */ nop +.L0f13ff04: +/* f13ff04: 3c013f80 */ lui $at,0x3f80 +.L0f13ff08: +/* f13ff08: 44810000 */ mtc1 $at,$f0 +/* f13ff0c: c7a401ac */ lwc1 $f4,0x1ac($sp) +/* f13ff10: c7aa01b0 */ lwc1 $f10,0x1b0($sp) +/* f13ff14: 46040202 */ mul.s $f8,$f0,$f4 +/* f13ff18: c7a401b4 */ lwc1 $f4,0x1b4($sp) +/* f13ff1c: 460a0182 */ mul.s $f6,$f0,$f10 +/* f13ff20: e7a801ac */ swc1 $f8,0x1ac($sp) +/* f13ff24: 46040202 */ mul.s $f8,$f0,$f4 +/* f13ff28: c7aa01ac */ lwc1 $f10,0x1ac($sp) +/* f13ff2c: e7a601b0 */ swc1 $f6,0x1b0($sp) +/* f13ff30: e7a801b4 */ swc1 $f8,0x1b4($sp) +/* f13ff34: c4460000 */ lwc1 $f6,0x0($v0) +/* f13ff38: c7a801b0 */ lwc1 $f8,0x1b0($sp) +/* f13ff3c: 46065101 */ sub.s $f4,$f10,$f6 +/* f13ff40: e7a401ac */ swc1 $f4,0x1ac($sp) +/* f13ff44: c44a0004 */ lwc1 $f10,0x4($v0) +/* f13ff48: c7a401b4 */ lwc1 $f4,0x1b4($sp) +/* f13ff4c: 460a4181 */ sub.s $f6,$f8,$f10 +/* f13ff50: e7a601b0 */ swc1 $f6,0x1b0($sp) +/* f13ff54: c4480008 */ lwc1 $f8,0x8($v0) +/* f13ff58: c7a60230 */ lwc1 $f6,0x230($sp) +/* f13ff5c: 46082281 */ sub.s $f10,$f4,$f8 +/* f13ff60: 46003102 */ mul.s $f4,$f6,$f0 +/* f13ff64: c7a80234 */ lwc1 $f8,0x234($sp) +/* f13ff68: e7aa01b4 */ swc1 $f10,0x1b4($sp) +/* f13ff6c: 46004282 */ mul.s $f10,$f8,$f0 +/* f13ff70: e7a40230 */ swc1 $f4,0x230($sp) +/* f13ff74: e7aa0234 */ swc1 $f10,0x234($sp) +.L0f13ff78: +/* f13ff78: c7a001dc */ lwc1 $f0,0x1dc($sp) +/* f13ff7c: c7a60230 */ lwc1 $f6,0x230($sp) +/* f13ff80: c7a201e0 */ lwc1 $f2,0x1e0($sp) +/* f13ff84: c7ac01e4 */ lwc1 $f12,0x1e4($sp) +/* f13ff88: 46003002 */ mul.s $f0,$f6,$f0 +/* f13ff8c: c7a40234 */ lwc1 $f4,0x234($sp) +/* f13ff90: 8fac0200 */ lw $t4,0x200($sp) +/* f13ff94: 46023082 */ mul.s $f2,$f6,$f2 +/* f13ff98: 3c010fff */ lui $at,0xfff +/* f13ff9c: 3421ffff */ ori $at,$at,0xffff +/* f13ffa0: 460c3302 */ mul.s $f12,$f6,$f12 +/* f13ffa4: 27a4017c */ addiu $a0,$sp,0x17c +/* f13ffa8: 02601825 */ or $v1,$s3,$zero +/* f13ffac: 460e2382 */ mul.s $f14,$f4,$f14 +/* f13ffb0: 24100010 */ addiu $s0,$zero,0x10 +/* f13ffb4: 46102402 */ mul.s $f16,$f4,$f16 +/* f13ffb8: 00000000 */ nop +/* f13ffbc: 46122482 */ mul.s $f18,$f4,$f18 +/* f13ffc0: 460e0200 */ add.s $f8,$f0,$f14 +/* f13ffc4: 46101280 */ add.s $f10,$f2,$f16 +/* f13ffc8: e7a8017c */ swc1 $f8,0x17c($sp) +/* f13ffcc: 46126180 */ add.s $f6,$f12,$f18 +/* f13ffd0: e7aa0180 */ swc1 $f10,0x180($sp) +/* f13ffd4: 46101201 */ sub.s $f8,$f2,$f16 +/* f13ffd8: e7a60184 */ swc1 $f6,0x184($sp) +/* f13ffdc: c7a6017c */ lwc1 $f6,0x17c($sp) +/* f13ffe0: 460e0101 */ sub.s $f4,$f0,$f14 +/* f13ffe4: e7a8018c */ swc1 $f8,0x18c($sp) +/* f13ffe8: c7a80180 */ lwc1 $f8,0x180($sp) +/* f13ffec: 46126281 */ sub.s $f10,$f12,$f18 +/* f13fff0: e7a40188 */ swc1 $f4,0x188($sp) +/* f13fff4: 46003107 */ neg.s $f4,$f6 +/* f13fff8: c7a60184 */ lwc1 $f6,0x184($sp) +/* f13fffc: e7aa0190 */ swc1 $f10,0x190($sp) +/* f140000: 46004287 */ neg.s $f10,$f8 +/* f140004: e7a40194 */ swc1 $f4,0x194($sp) +/* f140008: 46003107 */ neg.s $f4,$f6 +/* f14000c: e7aa0198 */ swc1 $f10,0x198($sp) +/* f140010: 46028281 */ sub.s $f10,$f16,$f2 +/* f140014: e7a4019c */ swc1 $f4,0x19c($sp) +/* f140018: 460c9181 */ sub.s $f6,$f18,$f12 +/* f14001c: e7aa01a4 */ swc1 $f10,0x1a4($sp) +/* f140020: 46007201 */ sub.s $f8,$f14,$f0 +/* f140024: e7a601a8 */ swc1 $f6,0x1a8($sp) +/* f140028: e7a801a0 */ swc1 $f8,0x1a0($sp) +/* f14002c: c5840000 */ lwc1 $f4,0x0($t4) +/* f140030: 926e006f */ lbu $t6,0x6f($s3) +/* f140034: 3c0c800a */ lui $t4,%hi(g_Vars+0xc) +/* f140038: e6640050 */ swc1 $f4,0x50($s3) +/* f14003c: 8fad0200 */ lw $t5,0x200($sp) +/* f140040: 31c9ffbf */ andi $t1,$t6,0xffbf +/* f140044: c5a80004 */ lwc1 $f8,0x4($t5) +/* f140048: e6680054 */ swc1 $f8,0x54($s3) +/* f14004c: 8fab0200 */ lw $t3,0x200($sp) +/* f140050: c56a0008 */ lwc1 $f10,0x8($t3) +/* f140054: e66a0058 */ swc1 $f10,0x58($s3) +/* f140058: 83b80227 */ lb $t8,0x227($sp) +/* f14005c: a278006c */ sb $t8,0x6c($s3) +/* f140060: 83a8022b */ lb $t0,0x22b($sp) +/* f140064: 00085180 */ sll $t2,$t0,0x6 +/* f140068: 31590040 */ andi $t9,$t2,0x40 +/* f14006c: 0329c025 */ or $t8,$t9,$t1 +/* f140070: a278006f */ sb $t8,0x6f($s3) +/* f140074: 87ad021a */ lh $t5,0x21a($sp) +/* f140078: 8fa20248 */ lw $v0,0x248($sp) +/* f14007c: 37080080 */ ori $t0,$t8,0x80 +/* f140080: a66d0068 */ sh $t5,0x68($s3) +/* f140084: a268006f */ sb $t0,0x6f($s3) +/* f140088: 310d00df */ andi $t5,$t0,0xdf +/* f14008c: a26d006f */ sb $t5,0x6f($s3) +/* f140090: 87ae0216 */ lh $t6,0x216($sp) +/* f140094: 35ab0010 */ ori $t3,$t5,0x10 +/* f140098: a26e006a */ sb $t6,0x6a($s3) +/* f14009c: 8fb90220 */ lw $t9,0x220($sp) +/* f1400a0: ae720060 */ sw $s2,0x60($s3) +/* f1400a4: ae600064 */ sw $zero,0x64($s3) +/* f1400a8: ae79005c */ sw $t9,0x5c($s3) +/* f1400ac: 8fa90244 */ lw $t1,0x244($sp) +/* f1400b0: a260006e */ sb $zero,0x6e($s3) +/* f1400b4: a26b006f */ sb $t3,0x6f($s3) +/* f1400b8: 10400007 */ beqz $v0,.L0f1400d8 +/* f1400bc: a269006d */ sb $t1,0x6d($s3) +/* f1400c0: 926f0073 */ lbu $t7,0x73($s3) +/* f1400c4: 3058000f */ andi $t8,$v0,0xf +/* f1400c8: 31e8fff0 */ andi $t0,$t7,0xfff0 +/* f1400cc: 03085025 */ or $t2,$t8,$t0 +/* f1400d0: 10000005 */ b .L0f1400e8 +/* f1400d4: a26a0073 */ sb $t2,0x73($s3) +.L0f1400d8: +/* f1400d8: 926e0073 */ lbu $t6,0x73($s3) +/* f1400dc: 31d9fff0 */ andi $t9,$t6,0xfff0 +/* f1400e0: 37290008 */ ori $t1,$t9,0x8 +/* f1400e4: a2690073 */ sb $t1,0x73($s3) +.L0f1400e8: +/* f1400e8: 8e620070 */ lw $v0,0x70($s3) +/* f1400ec: 8d8c9fcc */ lw $t4,%lo(g_Vars+0xc)($t4) +/* f1400f0: 926a006f */ lbu $t2,0x6f($s3) +/* f1400f4: 00025902 */ srl $t3,$v0,0x4 +/* f1400f8: 01816824 */ and $t5,$t4,$at +/* f1400fc: 01ab7826 */ xor $t7,$t5,$t3 +/* f140100: 000fc100 */ sll $t8,$t7,0x4 +/* f140104: 03024026 */ xor $t0,$t8,$v0 +/* f140108: 314efffb */ andi $t6,$t2,0xfffb +/* f14010c: ae680070 */ sw $t0,0x70($s3) +/* f140110: a26e006f */ sb $t6,0x6f($s3) +/* f140114: 00009025 */ or $s2,$zero,$zero +.L0f140118: +/* f140118: c4860000 */ lwc1 $f6,0x0($a0) +/* f14011c: c7a401ac */ lwc1 $f4,0x1ac($sp) +/* f140120: c4880004 */ lwc1 $f8,0x4($a0) +/* f140124: c7aa01b0 */ lwc1 $f10,0x1b0($sp) +/* f140128: 46043300 */ add.s $f12,$f6,$f4 +/* f14012c: 460a4180 */ add.s $f6,$f8,$f10 +/* f140130: c7a801b4 */ lwc1 $f8,0x1b4($sp) +/* f140134: e7a6005c */ swc1 $f6,0x5c($sp) +/* f140138: c4840008 */ lwc1 $f4,0x8($a0) +/* f14013c: afa40040 */ sw $a0,0x40($sp) +/* f140140: afa3003c */ sw $v1,0x3c($sp) +/* f140144: 46082280 */ add.s $f10,$f4,$f8 +/* f140148: 0fc4f838 */ jal func0f13e0e0 +/* f14014c: e7aa0060 */ swc1 $f10,0x60($sp) +/* f140150: a7a20056 */ sh $v0,0x56($sp) +/* f140154: 0fc4f838 */ jal func0f13e0e0 +/* f140158: c7ac005c */ lwc1 $f12,0x5c($sp) +/* f14015c: a7a20054 */ sh $v0,0x54($sp) +/* f140160: 0fc4f838 */ jal func0f13e0e0 +/* f140164: c7ac0060 */ lwc1 $f12,0x60($sp) +/* f140168: 8fa3003c */ lw $v1,0x3c($sp) +/* f14016c: 87b90056 */ lh $t9,0x56($sp) +/* f140170: 8fa40040 */ lw $a0,0x40($sp) +/* f140174: 2463000c */ addiu $v1,$v1,0xc +/* f140178: a479fff4 */ sh $t9,-0xc($v1) +/* f14017c: 87a90054 */ lh $t1,0x54($sp) +/* f140180: a072fffb */ sb $s2,-0x5($v1) +/* f140184: 26520004 */ addiu $s2,$s2,0x4 +/* f140188: a462fff8 */ sh $v0,-0x8($v1) +/* f14018c: 2484000c */ addiu $a0,$a0,0xc +/* f140190: 1650ffe1 */ bne $s2,$s0,.L0f140118 +/* f140194: a469fff6 */ sh $t1,-0xa($v1) +/* f140198: 3c02800b */ lui $v0,%hi(var800ab560) +/* f14019c: a6600008 */ sh $zero,0x8($s3) +/* f1401a0: 2442b560 */ addiu $v0,$v0,%lo(var800ab560) +/* f1401a4: 8c4c0000 */ lw $t4,0x0($v0) +/* f1401a8: 8fad0034 */ lw $t5,0x34($sp) +/* f1401ac: 8e640060 */ lw $a0,0x60($s3) +/* f1401b0: 018d5821 */ addu $t3,$t4,$t5 +/* f1401b4: 916f0005 */ lbu $t7,0x5($t3) +/* f1401b8: a6600014 */ sh $zero,0x14($s3) +/* f1401bc: a6600016 */ sh $zero,0x16($s3) +/* f1401c0: 000fc140 */ sll $t8,$t7,0x5 +/* f1401c4: a678000a */ sh $t8,0xa($s3) +/* f1401c8: 8faa0034 */ lw $t2,0x34($sp) +/* f1401cc: 8c480000 */ lw $t0,0x0($v0) +/* f1401d0: 010a7021 */ addu $t6,$t0,$t2 +/* f1401d4: 91d90004 */ lbu $t9,0x4($t6) +/* f1401d8: a6600022 */ sh $zero,0x22($s3) +/* f1401dc: 00194940 */ sll $t1,$t9,0x5 +/* f1401e0: a6690020 */ sh $t1,0x20($s3) +/* f1401e4: 8fad0034 */ lw $t5,0x34($sp) +/* f1401e8: 8c4c0000 */ lw $t4,0x0($v0) +/* f1401ec: 018d5821 */ addu $t3,$t4,$t5 +/* f1401f0: 916f0004 */ lbu $t7,0x4($t3) +/* f1401f4: 000fc140 */ sll $t8,$t7,0x5 +/* f1401f8: a678002c */ sh $t8,0x2c($s3) +/* f1401fc: 8faa0034 */ lw $t2,0x34($sp) +/* f140200: 8c480000 */ lw $t0,0x0($v0) +/* f140204: 010a7021 */ addu $t6,$t0,$t2 +/* f140208: 91d90005 */ lbu $t9,0x5($t6) +/* f14020c: 00194940 */ sll $t1,$t9,0x5 +/* f140210: 1080000b */ beqz $a0,.L0f140240 +/* f140214: a669002e */ sh $t1,0x2e($s3) +/* f140218: 8c820018 */ lw $v0,0x18($a0) +/* f14021c: 00801825 */ or $v1,$a0,$zero +/* f140220: 10400005 */ beqz $v0,.L0f140238 +/* f140224: 00000000 */ nop +/* f140228: 00401825 */ or $v1,$v0,$zero +.L0f14022c: +/* f14022c: 8c420018 */ lw $v0,0x18($v0) +/* f140230: 5440fffe */ bnezl $v0,.L0f14022c +/* f140234: 00401825 */ or $v1,$v0,$zero +.L0f140238: +/* f140238: 10000002 */ b .L0f140244 +/* f14023c: 84640028 */ lh $a0,0x28($v1) +.L0f140240: +/* f140240: 86640068 */ lh $a0,0x68($s3) +.L0f140244: +/* f140244: 0fc00284 */ jal func0f000a10 +/* f140248: 00000000 */ nop +/* f14024c: 44823000 */ mtc1 $v0,$f6 +/* f140250: 93b2023b */ lbu $s2,0x23b($sp) +/* f140254: 04410005 */ bgez $v0,.L0f14026c +/* f140258: 46803120 */ cvt.s.w $f4,$f6 +/* f14025c: 3c014f80 */ lui $at,0x4f80 +/* f140260: 44814000 */ mtc1 $at,$f8 +/* f140264: 00000000 */ nop +/* f140268: 46082100 */ add.s $f4,$f4,$f8 +.L0f14026c: +/* f14026c: 3c017f1b */ lui $at,%hi(var7f1b5d58) +/* f140270: c42a5d58 */ lwc1 $f10,%lo(var7f1b5d58)($at) +/* f140274: 93ac023f */ lbu $t4,0x23f($sp) +/* f140278: 460a2182 */ mul.s $f6,$f4,$f10 +/* f14027c: 01928823 */ subu $s1,$t4,$s2 +/* f140280: 1220000d */ beqz $s1,.L0f1402b8 +/* f140284: e7a60164 */ swc1 $f6,0x164($sp) +/* f140288: 0c004b70 */ jal random +/* f14028c: 00000000 */ nop +/* f140290: 0051001b */ divu $zero,$v0,$s1 +/* f140294: 00006810 */ mfhi $t5 +/* f140298: 01b28021 */ addu $s0,$t5,$s2 +/* f14029c: 320b00ff */ andi $t3,$s0,0xff +/* f1402a0: 16200002 */ bnez $s1,.L0f1402ac +/* f1402a4: 00000000 */ nop +/* f1402a8: 0007000d */ break 0x7 +.L0f1402ac: +/* f1402ac: 01608025 */ or $s0,$t3,$zero +/* f1402b0: 10000003 */ b .L0f1402c0 +/* f1402b4: 8faf0178 */ lw $t7,0x178($sp) +.L0f1402b8: +/* f1402b8: 00008025 */ or $s0,$zero,$zero +/* f1402bc: 8faf0178 */ lw $t7,0x178($sp) +.L0f1402c0: +/* f1402c0: 3c028008 */ lui $v0,%hi(var8007f744) +/* f1402c4: 2442f744 */ addiu $v0,$v0,%lo(var8007f744) +/* f1402c8: 00009025 */ or $s2,$zero,$zero +/* f1402cc: 02608825 */ or $s1,$s3,$zero +/* f1402d0: afaf0040 */ sw $t7,0x40($sp) +.L0f1402d4: +/* f1402d4: 8fb80040 */ lw $t8,0x40($sp) +/* f1402d8: 00002025 */ or $a0,$zero,$zero +/* f1402dc: 00002825 */ or $a1,$zero,$zero +/* f1402e0: 2f010005 */ sltiu $at,$t8,0x5 +/* f1402e4: 1020007f */ beqz $at,.L0f1404e4 +/* f1402e8: 0018c080 */ sll $t8,$t8,0x2 +/* f1402ec: 3c017f1b */ lui $at,%hi(var7f1b5d5c) +/* f1402f0: 00380821 */ addu $at,$at,$t8 +/* f1402f4: 8c385d5c */ lw $t8,%lo(var7f1b5d5c)($at) +/* f1402f8: 03000008 */ jr $t8 +/* f1402fc: 00000000 */ nop +/* f140300: 0c004b70 */ jal random +/* f140304: 00000000 */ nop +/* f140308: 24010028 */ addiu $at,$zero,0x28 +/* f14030c: 0041001b */ divu $zero,$v0,$at +/* f140310: 00004010 */ mfhi $t0 +/* f140314: 240a00ff */ addiu $t2,$zero,0xff +/* f140318: 01481823 */ subu $v1,$t2,$t0 +/* f14031c: 306400ff */ andi $a0,$v1,0xff +/* f140320: 306500ff */ andi $a1,$v1,0xff +/* f140324: 12000005 */ beqz $s0,.L0f14033c +/* f140328: 306600ff */ andi $a2,$v1,0xff +/* f14032c: 3c028008 */ lui $v0,%hi(var8007f744) +/* f140330: 320300ff */ andi $v1,$s0,0xff +/* f140334: 10000070 */ b .L0f1404f8 +/* f140338: 2442f744 */ addiu $v0,$v0,%lo(var8007f744) +.L0f14033c: +/* f14033c: 240300ff */ addiu $v1,$zero,0xff +/* f140340: 3c028008 */ lui $v0,%hi(var8007f744) +/* f140344: 1000006c */ b .L0f1404f8 +/* f140348: 2442f744 */ addiu $v0,$v0,%lo(var8007f744) +/* f14034c: 0c004b70 */ jal random +/* f140350: 00000000 */ nop +/* f140354: 24010046 */ addiu $at,$zero,0x46 +/* f140358: 0041001b */ divu $zero,$v0,$at +/* f14035c: 00001810 */ mfhi $v1 +/* f140360: 306400ff */ andi $a0,$v1,0xff +/* f140364: 306500ff */ andi $a1,$v1,0xff +/* f140368: 12000005 */ beqz $s0,.L0f140380 +/* f14036c: 306600ff */ andi $a2,$v1,0xff +/* f140370: 3c028008 */ lui $v0,%hi(var8007f744) +/* f140374: 320300ff */ andi $v1,$s0,0xff +/* f140378: 1000005f */ b .L0f1404f8 +/* f14037c: 2442f744 */ addiu $v0,$v0,%lo(var8007f744) +.L0f140380: +/* f140380: a3a40049 */ sb $a0,0x49($sp) +/* f140384: a3a5004a */ sb $a1,0x4a($sp) +/* f140388: 0c004b70 */ jal random +/* f14038c: a3a6004b */ sb $a2,0x4b($sp) +/* f140390: 24010032 */ addiu $at,$zero,0x32 +/* f140394: 0041001b */ divu $zero,$v0,$at +/* f140398: 00007010 */ mfhi $t6 +/* f14039c: 241900ff */ addiu $t9,$zero,0xff +/* f1403a0: 032e1823 */ subu $v1,$t9,$t6 +/* f1403a4: 306900ff */ andi $t1,$v1,0xff +/* f1403a8: 01201825 */ or $v1,$t1,$zero +/* f1403ac: 93a40049 */ lbu $a0,0x49($sp) +/* f1403b0: 93a5004a */ lbu $a1,0x4a($sp) +/* f1403b4: 93a6004b */ lbu $a2,0x4b($sp) +/* f1403b8: 3c028008 */ lui $v0,%hi(var8007f744) +/* f1403bc: 1000004e */ b .L0f1404f8 +/* f1403c0: 2442f744 */ addiu $v0,$v0,%lo(var8007f744) +/* f1403c4: 0c004b70 */ jal random +/* f1403c8: 00000000 */ nop +/* f1403cc: 24010032 */ addiu $at,$zero,0x32 +/* f1403d0: 0041001b */ divu $zero,$v0,$at +/* f1403d4: 00001810 */ mfhi $v1 +/* f1403d8: 306400ff */ andi $a0,$v1,0xff +/* f1403dc: 306500ff */ andi $a1,$v1,0xff +/* f1403e0: 12000005 */ beqz $s0,.L0f1403f8 +/* f1403e4: 306600ff */ andi $a2,$v1,0xff +/* f1403e8: 3c028008 */ lui $v0,%hi(var8007f744) +/* f1403ec: 320300ff */ andi $v1,$s0,0xff +/* f1403f0: 10000041 */ b .L0f1404f8 +/* f1403f4: 2442f744 */ addiu $v0,$v0,%lo(var8007f744) +.L0f1403f8: +/* f1403f8: a3a40049 */ sb $a0,0x49($sp) +/* f1403fc: a3a5004a */ sb $a1,0x4a($sp) +/* f140400: 0c004b70 */ jal random +/* f140404: a3a6004b */ sb $a2,0x4b($sp) +/* f140408: 24010050 */ addiu $at,$zero,0x50 +/* f14040c: 0041001b */ divu $zero,$v0,$at +/* f140410: 00006010 */ mfhi $t4 +/* f140414: 240d00ff */ addiu $t5,$zero,0xff +/* f140418: 01ac1823 */ subu $v1,$t5,$t4 +/* f14041c: 306b00ff */ andi $t3,$v1,0xff +/* f140420: 01601825 */ or $v1,$t3,$zero +/* f140424: 93a40049 */ lbu $a0,0x49($sp) +/* f140428: 93a5004a */ lbu $a1,0x4a($sp) +/* f14042c: 93a6004b */ lbu $a2,0x4b($sp) +/* f140430: 3c028008 */ lui $v0,%hi(var8007f744) +/* f140434: 10000030 */ b .L0f1404f8 +/* f140438: 2442f744 */ addiu $v0,$v0,%lo(var8007f744) +/* f14043c: 90460000 */ lbu $a2,0x0($v0) +/* f140440: 90450001 */ lbu $a1,0x1($v0) +/* f140444: 12000003 */ beqz $s0,.L0f140454 +/* f140448: 90440002 */ lbu $a0,0x2($v0) +/* f14044c: 1000002a */ b .L0f1404f8 +/* f140450: 320300ff */ andi $v1,$s0,0xff +.L0f140454: +/* f140454: 10000028 */ b .L0f1404f8 +/* f140458: 240300ff */ addiu $v1,$zero,0xff +/* f14045c: 0c004b70 */ jal random +/* f140460: 00000000 */ nop +/* f140464: 304f0001 */ andi $t7,$v0,0x1 +/* f140468: 11e00003 */ beqz $t7,.L0f140478 +/* f14046c: 00003025 */ or $a2,$zero,$zero +/* f140470: 10000001 */ b .L0f140478 +/* f140474: 240600ff */ addiu $a2,$zero,0xff +.L0f140478: +/* f140478: 0c004b70 */ jal random +/* f14047c: a3a6004b */ sb $a2,0x4b($sp) +/* f140480: 30580001 */ andi $t8,$v0,0x1 +/* f140484: 13000003 */ beqz $t8,.L0f140494 +/* f140488: 93a6004b */ lbu $a2,0x4b($sp) +/* f14048c: 10000002 */ b .L0f140498 +/* f140490: 240500ff */ addiu $a1,$zero,0xff +.L0f140494: +/* f140494: 00002825 */ or $a1,$zero,$zero +.L0f140498: +/* f140498: a3a5004a */ sb $a1,0x4a($sp) +/* f14049c: 0c004b70 */ jal random +/* f1404a0: a3a6004b */ sb $a2,0x4b($sp) +/* f1404a4: 304a0001 */ andi $t2,$v0,0x1 +/* f1404a8: 93a5004a */ lbu $a1,0x4a($sp) +/* f1404ac: 11400003 */ beqz $t2,.L0f1404bc +/* f1404b0: 93a6004b */ lbu $a2,0x4b($sp) +/* f1404b4: 10000002 */ b .L0f1404c0 +/* f1404b8: 240400ff */ addiu $a0,$zero,0xff +.L0f1404bc: +/* f1404bc: 00002025 */ or $a0,$zero,$zero +.L0f1404c0: +/* f1404c0: 12000005 */ beqz $s0,.L0f1404d8 +/* f1404c4: 240300ff */ addiu $v1,$zero,0xff +/* f1404c8: 3c028008 */ lui $v0,%hi(var8007f744) +/* f1404cc: 320300ff */ andi $v1,$s0,0xff +/* f1404d0: 10000009 */ b .L0f1404f8 +/* f1404d4: 2442f744 */ addiu $v0,$v0,%lo(var8007f744) +.L0f1404d8: +/* f1404d8: 3c028008 */ lui $v0,%hi(var8007f744) +/* f1404dc: 10000006 */ b .L0f1404f8 +/* f1404e0: 2442f744 */ addiu $v0,$v0,%lo(var8007f744) +.L0f1404e4: +/* f1404e4: 12000003 */ beqz $s0,.L0f1404f4 +/* f1404e8: 00003025 */ or $a2,$zero,$zero +/* f1404ec: 10000002 */ b .L0f1404f8 +/* f1404f0: 320300ff */ andi $v1,$s0,0xff +.L0f1404f4: +/* f1404f4: 240300ff */ addiu $v1,$zero,0xff +.L0f1404f8: +/* f1404f8: 44864000 */ mtc1 $a2,$f8 +/* f1404fc: a2260030 */ sb $a2,0x30($s1) +/* f140500: a2250031 */ sb $a1,0x31($s1) +/* f140504: a2240032 */ sb $a0,0x32($s1) +/* f140508: a2230033 */ sb $v1,0x33($s1) +/* f14050c: 04c10005 */ bgez $a2,.L0f140524 +/* f140510: 46804120 */ cvt.s.w $f4,$f8 +/* f140514: 3c014f80 */ lui $at,0x4f80 +/* f140518: 44815000 */ mtc1 $at,$f10 +/* f14051c: 00000000 */ nop +/* f140520: 460a2100 */ add.s $f4,$f4,$f10 +.L0f140524: +/* f140524: c7a60164 */ lwc1 $f6,0x164($sp) +/* f140528: 24190001 */ addiu $t9,$zero,0x1 +/* f14052c: 26520004 */ addiu $s2,$s2,0x4 +/* f140530: 46062202 */ mul.s $f8,$f4,$f6 +/* f140534: 3c014f00 */ lui $at,0x4f00 +/* f140538: 4448f800 */ cfc1 $t0,$31 +/* f14053c: 44d9f800 */ ctc1 $t9,$31 +/* f140540: 00000000 */ nop +/* f140544: 460042a4 */ cvt.w.s $f10,$f8 +/* f140548: 4459f800 */ cfc1 $t9,$31 +/* f14054c: 00000000 */ nop +/* f140550: 33390078 */ andi $t9,$t9,0x78 +/* f140554: 53200013 */ beqzl $t9,.L0f1405a4 +/* f140558: 44195000 */ mfc1 $t9,$f10 +/* f14055c: 44815000 */ mtc1 $at,$f10 +/* f140560: 24190001 */ addiu $t9,$zero,0x1 +/* f140564: 460a4281 */ sub.s $f10,$f8,$f10 +/* f140568: 44d9f800 */ ctc1 $t9,$31 +/* f14056c: 00000000 */ nop +/* f140570: 460052a4 */ cvt.w.s $f10,$f10 +/* f140574: 4459f800 */ cfc1 $t9,$31 +/* f140578: 00000000 */ nop +/* f14057c: 33390078 */ andi $t9,$t9,0x78 +/* f140580: 17200005 */ bnez $t9,.L0f140598 +/* f140584: 00000000 */ nop +/* f140588: 44195000 */ mfc1 $t9,$f10 +/* f14058c: 3c018000 */ lui $at,0x8000 +/* f140590: 10000007 */ b .L0f1405b0 +/* f140594: 0321c825 */ or $t9,$t9,$at +.L0f140598: +/* f140598: 10000005 */ b .L0f1405b0 +/* f14059c: 2419ffff */ addiu $t9,$zero,-1 +/* f1405a0: 44195000 */ mfc1 $t9,$f10 +.L0f1405a4: +/* f1405a4: 00000000 */ nop +/* f1405a8: 0720fffb */ bltz $t9,.L0f140598 +/* f1405ac: 00000000 */ nop +.L0f1405b0: +/* f1405b0: 44c8f800 */ ctc1 $t0,$31 +/* f1405b4: 44852000 */ mtc1 $a1,$f4 +/* f1405b8: a2390040 */ sb $t9,0x40($s1) +/* f1405bc: 04a10005 */ bgez $a1,.L0f1405d4 +/* f1405c0: 468021a0 */ cvt.s.w $f6,$f4 +/* f1405c4: 3c014f80 */ lui $at,0x4f80 +/* f1405c8: 44814000 */ mtc1 $at,$f8 +/* f1405cc: 00000000 */ nop +/* f1405d0: 46083180 */ add.s $f6,$f6,$f8 +.L0f1405d4: +/* f1405d4: c7aa0164 */ lwc1 $f10,0x164($sp) +/* f1405d8: 24090001 */ addiu $t1,$zero,0x1 +/* f1405dc: 3c014f00 */ lui $at,0x4f00 +/* f1405e0: 460a3102 */ mul.s $f4,$f6,$f10 +/* f1405e4: 444ef800 */ cfc1 $t6,$31 +/* f1405e8: 44c9f800 */ ctc1 $t1,$31 +/* f1405ec: 00000000 */ nop +/* f1405f0: 46002224 */ cvt.w.s $f8,$f4 +/* f1405f4: 4449f800 */ cfc1 $t1,$31 +/* f1405f8: 00000000 */ nop +/* f1405fc: 31290078 */ andi $t1,$t1,0x78 +/* f140600: 51200013 */ beqzl $t1,.L0f140650 +/* f140604: 44094000 */ mfc1 $t1,$f8 +/* f140608: 44814000 */ mtc1 $at,$f8 +/* f14060c: 24090001 */ addiu $t1,$zero,0x1 +/* f140610: 46082201 */ sub.s $f8,$f4,$f8 +/* f140614: 44c9f800 */ ctc1 $t1,$31 +/* f140618: 00000000 */ nop +/* f14061c: 46004224 */ cvt.w.s $f8,$f8 +/* f140620: 4449f800 */ cfc1 $t1,$31 +/* f140624: 00000000 */ nop +/* f140628: 31290078 */ andi $t1,$t1,0x78 +/* f14062c: 15200005 */ bnez $t1,.L0f140644 +/* f140630: 00000000 */ nop +/* f140634: 44094000 */ mfc1 $t1,$f8 +/* f140638: 3c018000 */ lui $at,0x8000 +/* f14063c: 10000007 */ b .L0f14065c +/* f140640: 01214825 */ or $t1,$t1,$at +.L0f140644: +/* f140644: 10000005 */ b .L0f14065c +/* f140648: 2409ffff */ addiu $t1,$zero,-1 +/* f14064c: 44094000 */ mfc1 $t1,$f8 +.L0f140650: +/* f140650: 00000000 */ nop +/* f140654: 0520fffb */ bltz $t1,.L0f140644 +/* f140658: 00000000 */ nop +.L0f14065c: +/* f14065c: 44cef800 */ ctc1 $t6,$31 +/* f140660: 44843000 */ mtc1 $a0,$f6 +/* f140664: a2290041 */ sb $t1,0x41($s1) +/* f140668: 04810005 */ bgez $a0,.L0f140680 +/* f14066c: 468032a0 */ cvt.s.w $f10,$f6 +/* f140670: 3c014f80 */ lui $at,0x4f80 +/* f140674: 44812000 */ mtc1 $at,$f4 +/* f140678: 00000000 */ nop +/* f14067c: 46045280 */ add.s $f10,$f10,$f4 +.L0f140680: +/* f140680: c7a80164 */ lwc1 $f8,0x164($sp) +/* f140684: 240c0001 */ addiu $t4,$zero,0x1 +/* f140688: 3c014f00 */ lui $at,0x4f00 +/* f14068c: 46085182 */ mul.s $f6,$f10,$f8 +/* f140690: 444df800 */ cfc1 $t5,$31 +/* f140694: 44ccf800 */ ctc1 $t4,$31 +/* f140698: 00000000 */ nop +/* f14069c: 46003124 */ cvt.w.s $f4,$f6 +/* f1406a0: 444cf800 */ cfc1 $t4,$31 +/* f1406a4: 00000000 */ nop +/* f1406a8: 318c0078 */ andi $t4,$t4,0x78 +/* f1406ac: 51800013 */ beqzl $t4,.L0f1406fc +/* f1406b0: 440c2000 */ mfc1 $t4,$f4 +/* f1406b4: 44812000 */ mtc1 $at,$f4 +/* f1406b8: 240c0001 */ addiu $t4,$zero,0x1 +/* f1406bc: 46043101 */ sub.s $f4,$f6,$f4 +/* f1406c0: 44ccf800 */ ctc1 $t4,$31 +/* f1406c4: 00000000 */ nop +/* f1406c8: 46002124 */ cvt.w.s $f4,$f4 +/* f1406cc: 444cf800 */ cfc1 $t4,$31 +/* f1406d0: 00000000 */ nop +/* f1406d4: 318c0078 */ andi $t4,$t4,0x78 +/* f1406d8: 15800005 */ bnez $t4,.L0f1406f0 +/* f1406dc: 00000000 */ nop +/* f1406e0: 440c2000 */ mfc1 $t4,$f4 +/* f1406e4: 3c018000 */ lui $at,0x8000 +/* f1406e8: 10000007 */ b .L0f140708 +/* f1406ec: 01816025 */ or $t4,$t4,$at +.L0f1406f0: +/* f1406f0: 10000005 */ b .L0f140708 +/* f1406f4: 240cffff */ addiu $t4,$zero,-1 +/* f1406f8: 440c2000 */ mfc1 $t4,$f4 +.L0f1406fc: +/* f1406fc: 00000000 */ nop +/* f140700: 0580fffb */ bltz $t4,.L0f1406f0 +/* f140704: 00000000 */ nop +.L0f140708: +/* f140708: a22c0042 */ sb $t4,0x42($s1) +/* f14070c: 926b006d */ lbu $t3,0x6d($s3) +/* f140710: 44cdf800 */ ctc1 $t5,$31 +/* f140714: 24010010 */ addiu $at,$zero,0x10 +/* f140718: 51600004 */ beqzl $t3,.L0f14072c +/* f14071c: a2230043 */ sb $v1,0x43($s1) +/* f140720: 10000002 */ b .L0f14072c +/* f140724: a2200043 */ sb $zero,0x43($s1) +/* f140728: a2230043 */ sb $v1,0x43($s1) +.L0f14072c: +/* f14072c: 1641fee9 */ bne $s2,$at,.L0f1402d4 +/* f140730: 26310004 */ addiu $s1,$s1,0x4 +.L0f140734: +/* f140734: 8fbf0024 */ lw $ra,0x24($sp) +.L0f140738: +/* f140738: 8fb00014 */ lw $s0,0x14($sp) +/* f14073c: 8fb10018 */ lw $s1,0x18($sp) +/* f140740: 8fb2001c */ lw $s2,0x1c($sp) +/* f140744: 8fb30020 */ lw $s3,0x20($sp) +/* f140748: 03e00008 */ jr $ra +/* f14074c: 27bd0200 */ addiu $sp,$sp,0x200 +); +#endif /** * Maybe a LOD calculation? @@ -3682,7 +5153,7 @@ void func0f141704(struct prop *prop) } if (index != -1) { - func0f13e640(&var800a41b0[index], 120); + func0f13e640(&var800a41b0[index], PALDOWN(120)); } } diff --git a/src/game/weather/weather.c b/src/game/weather/weather.c index 4fdfc0507..959e5fb58 100644 --- a/src/game/weather/weather.c +++ b/src/game/weather/weather.c @@ -392,9 +392,15 @@ void weatherTickRain(struct weatherdata *weather) for (i = 0; i != ARRAYCOUNT(data->particles); i++) { struct weatherparticle *particle = &data->particles[i]; +#if VERSION >= VERSION_PAL_FINAL + particle->pos.x += particle->inc.x * g_Vars.lvupdate240freal; + particle->pos.y += particle->inc.y * g_Vars.lvupdate240freal; + particle->pos.z += particle->inc.z * g_Vars.lvupdate240freal; +#else particle->pos.x += particle->inc.x * g_Vars.lvupdate240f; particle->pos.y += particle->inc.y * g_Vars.lvupdate240f; particle->pos.z += particle->inc.z * g_Vars.lvupdate240f; +#endif if (particle->pos.y < data->boundarymin.y) { lVar6 = 2; @@ -482,7 +488,7 @@ void weatherTickSnow(struct weatherdata *weather) data = g_WeatherData->particledata; // 0 - data->unk3ec8[0] += 0.04f * g_Vars.lvupdate240f; + data->unk3ec8[0] += 0.04f * (VERSION >= VERSION_PAL_FINAL ? g_Vars.lvupdate240freal : g_Vars.lvupdate240f); if (data->unk3ec8[0] < 0) { data->unk3ec8[0] += M_TAU; @@ -493,7 +499,7 @@ void weatherTickSnow(struct weatherdata *weather) } // 1 - data->unk3ec8[1] += -0.03f * g_Vars.lvupdate240f; + data->unk3ec8[1] += -0.03f * (VERSION >= VERSION_PAL_FINAL ? g_Vars.lvupdate240freal : g_Vars.lvupdate240f); if (data->unk3ec8[1] < 0) { data->unk3ec8[1] += M_TAU; @@ -504,7 +510,7 @@ void weatherTickSnow(struct weatherdata *weather) } // 2 - data->unk3ec8[2] += 0.04f * g_Vars.lvupdate240f; + data->unk3ec8[2] += 0.04f * (VERSION >= VERSION_PAL_FINAL ? g_Vars.lvupdate240freal : g_Vars.lvupdate240f); if (data->unk3ec8[2] < 0) { data->unk3ec8[2] += M_TAU; @@ -515,7 +521,7 @@ void weatherTickSnow(struct weatherdata *weather) } // 3 - data->unk3ec8[3] += 0.03f * g_Vars.lvupdate240f; + data->unk3ec8[3] += 0.03f * (VERSION >= VERSION_PAL_FINAL ? g_Vars.lvupdate240freal : g_Vars.lvupdate240f); if (data->unk3ec8[3] < 0) { data->unk3ec8[3] += M_TAU; @@ -526,7 +532,7 @@ void weatherTickSnow(struct weatherdata *weather) } // 4 - data->unk3ec8[4] += 0.02f * g_Vars.lvupdate240f; + data->unk3ec8[4] += 0.02f * (VERSION >= VERSION_PAL_FINAL ? g_Vars.lvupdate240freal : g_Vars.lvupdate240f); if (data->unk3ec8[4] < 0) { data->unk3ec8[4] += M_TAU; @@ -537,7 +543,7 @@ void weatherTickSnow(struct weatherdata *weather) } // 5 - data->unk3ec8[5] += 0.01f * g_Vars.lvupdate240f; + data->unk3ec8[5] += 0.01f * (VERSION >= VERSION_PAL_FINAL ? g_Vars.lvupdate240freal : g_Vars.lvupdate240f); if (data->unk3ec8[5] < 0) { data->unk3ec8[5] += M_TAU; @@ -548,7 +554,7 @@ void weatherTickSnow(struct weatherdata *weather) } // 6 - data->unk3ec8[6] += -0.01f * g_Vars.lvupdate240f; + data->unk3ec8[6] += -0.01f * (VERSION >= VERSION_PAL_FINAL ? g_Vars.lvupdate240freal : g_Vars.lvupdate240f); if (data->unk3ec8[6] < 0) { data->unk3ec8[6] += M_TAU; @@ -559,7 +565,7 @@ void weatherTickSnow(struct weatherdata *weather) } // 7 - data->unk3ec8[7] += -0.02f * g_Vars.lvupdate240f; + data->unk3ec8[7] += -0.02f * (VERSION >= VERSION_PAL_FINAL ? g_Vars.lvupdate240freal : g_Vars.lvupdate240f); if (data->unk3ec8[7] < 0) { data->unk3ec8[7] += M_TAU; @@ -572,9 +578,15 @@ void weatherTickSnow(struct weatherdata *weather) for (i = 0; i < ARRAYCOUNT(data->particles); i++) { struct weatherparticle *particle = &data->particles[i]; - particle->pos.x += particle->inc.f[0] * g_Vars.lvupdate240f; - particle->pos.y += particle->inc.f[1] * g_Vars.lvupdate240f; - particle->pos.z += particle->inc.f[2] * g_Vars.lvupdate240f; +#if VERSION >= VERSION_PAL_FINAL + particle->pos.x += particle->inc.x * g_Vars.lvupdate240freal; + particle->pos.y += particle->inc.y * g_Vars.lvupdate240freal; + particle->pos.z += particle->inc.z * g_Vars.lvupdate240freal; +#else + particle->pos.x += particle->inc.x * g_Vars.lvupdate240f; + particle->pos.y += particle->inc.y * g_Vars.lvupdate240f; + particle->pos.z += particle->inc.z * g_Vars.lvupdate240f; +#endif if (particle->pos.y < data->boundarymin.y) { lVar7 = 2; diff --git a/src/include/constants.h b/src/include/constants.h index 1a5da88d7..c59daf671 100644 --- a/src/include/constants.h +++ b/src/include/constants.h @@ -34,13 +34,15 @@ (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) -#define FRAMEDURATION (1 / 50.0f) +#define PALDOWN(val) ((val) * 50 / 60) +#define PALUP(val) ((val) * 60 / 50) +#define PALUPF(val) ((val) * 1.2f) +#define FRAMEDURATION (1 / 50.0f) #else -#define TIME60TOFRAMES(val) (val) -#define FRAMESTOTIME60(val) (val) -#define FRAMEDURATION (1 / 60.0f) +#define PALUP(val) (val) +#define PALDOWN(val) (val) +#define PALUPF(val) (val) +#define FRAMEDURATION (1 / 60.0f) #endif // Macro to convert an ASCII character to N64 font code. @@ -48,7 +50,12 @@ #define N64CHAR(c) (c == ' ' ? 0x0f : (c >= 'A' && c <= 'Z' ? c - 0x27 : c - 0x20)) #define ROM_COMPANYCODE 0x3459 -#define ROM_GAMECODE 0x4e504445 // "NPDE" in ASCII + +#if PAL +#define ROM_GAMECODE 'NPDP' // "NPDE" in ASCII +#else +#define ROM_GAMECODE 'NPDE' // "NPDE" in ASCII +#endif // These actions are assigned to chr->actiontype #define ACT_INIT 0 diff --git a/src/include/data.h b/src/include/data.h index 4f7cd4b8d..9f4c9135d 100644 --- a/src/include/data.h +++ b/src/include/data.h @@ -477,10 +477,10 @@ extern u32 var800840f0; extern u32 var800840f4; extern u32 var800840f8; extern u32 var800840fc; +extern bool g_Jpn; #if VERSION >= VERSION_PAL_FINAL -extern u32 var80084660pf; +extern s32 g_LanguageId; #endif -extern u32 g_LanguageId; extern struct something *somethings[]; extern void *var800844f0; extern f32 var800845d4; diff --git a/src/include/game/lang.h b/src/include/game/lang.h index 7d06249a1..c221d3ca8 100644 --- a/src/include/game/lang.h +++ b/src/include/game/lang.h @@ -6,7 +6,7 @@ u32 langGetLangBankIndexFromStagenum(s32 stagenum); u32 func0f16e3fc(void); -s32 langGetLanguageId(void); +s32 langGetFileNumOffset(void); s32 langGetFileId(s32 bank); void langSetBankSimple(s32 bank); void langSetBank(s32 bank, u8 *arg1, s32 arg2); diff --git a/src/lib/args.c b/src/lib/args.c index 4c7d5d5f1..f45a5b722 100644 --- a/src/lib/args.c +++ b/src/lib/args.c @@ -89,11 +89,7 @@ bool argsParseDebugArgs(void) } if (argFindByPrefix(1, "-j")) { -#if VERSION >= VERSION_PAL_FINAL - var80084660pf = LANGUAGE_NTSC_JP; -#else - g_LanguageId = LANGUAGE_NTSC_JP; -#endif + g_Jpn = true; } return ret; diff --git a/src/lib/controller.c b/src/lib/controller.c index dc38db02a..010859cc0 100644 --- a/src/lib/controller.c +++ b/src/lib/controller.c @@ -263,7 +263,7 @@ void contDisableTemporarily(void) s32 i; for (i = 0; i < 4; i++) { - g_ContDisableCooldown[i] = TIME60TOFRAMES(60); + g_ContDisableCooldown[i] = PALDOWN(60); } }