From accdc4a7f6f1cac3b2c88d573edd4bf123c5d68d Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Sun, 26 Mar 2023 17:02:47 +0900 Subject: [PATCH] test_item_player_collision (#999) Co-authored-by: Unnunu Co-authored-by: Ryan Myers --- src/C50A0.c | 131 +++---- .../C50A0/test_item_player_collision.s | 328 ------------------ .../C50A0/test_item_player_collision.s | 326 ----------------- 3 files changed, 71 insertions(+), 714 deletions(-) delete mode 100644 ver/ique/asm/nonmatchings/C50A0/test_item_player_collision.s delete mode 100644 ver/us/asm/nonmatchings/C50A0/test_item_player_collision.s diff --git a/src/C50A0.c b/src/C50A0.c index c2ff0bcf42..daf1d9e6f6 100644 --- a/src/C50A0.c +++ b/src/C50A0.c @@ -1771,36 +1771,30 @@ void func_80133A94(s32 idx, s32 itemID) { item_entity_load(item); } -// float/stack crap -#ifdef NON_EQUIVALENT -s32 test_item_player_collision(ItemEntity* item) { +b32 test_item_player_collision(ItemEntity* item) { PlayerStatus* playerStatus = &gPlayerStatus; PartnerStatus* partnerStatus = &gPartnerStatus; EncounterStatus* encounterStatus = &gCurrentEncounter; Camera* camera = &gCameras[gCurrentCameraID]; - s32 actionState; - f32 t; - f32 itemX; - f32 itemY; - f32 itemZ; - f32 playerX; - f32 playerY; - f32 playerZ; - - f32 sp10; - f32 new_var2; - f32 sp14; - f32 sp1C; - f32 sp20; - f32 sp24; - f32 zDiff; - f32 temp_f14; - f32 xDiff; + s32 actionState = playerStatus->actionState; + f32 distThreshold; + f32 itemX, itemY, itemZ; + f32 tmpX, tmpZ; + f32 playerX, playerY, playerZ; + f32 colliderHeightHalf; + f32 colliderDiameterQuart; + f32 spriteFacingAngle; + f32 playerY2; + f32 xDiff, zDiff; + f32 dist; f32 angle; - s32 cond; - f32 f1; - - actionState = playerStatus->actionState; + b32 cond; + // below weird temps required to match + f32 fourteen; + f32 yTopThreshold; + f32 yBottomThreshold; + f32 tmpFourteen; + f32 tmpYTopThreshold; if (item->flags & ITEM_ENTITY_FLAG_AUTO_COLLECT) { item->flags &= ~ITEM_ENTITY_FLAG_AUTO_COLLECT; @@ -1819,24 +1813,35 @@ s32 test_item_player_collision(ItemEntity* item) { return FALSE; } + tmpFourteen = 14.0f; if (isPickingUpItem) { return FALSE; } - cond = item->flags; - if (cond & ITEM_ENTITY_FLAG_HIDDEN) { + fourteen = tmpFourteen; + tmpYTopThreshold = 18.0f; + yBottomThreshold = 27.0f; + + cond = item->flags; // required to match + if (item->flags & ITEM_ENTITY_FLAG_HIDDEN) { return FALSE; } + yTopThreshold = tmpYTopThreshold; if (get_time_freeze_mode() != TIME_FREEZE_NORMAL) { return FALSE; } - if (partnerStatus->partnerActionState != 0 && partnerStatus->actingPartner == 9) { + if (partnerStatus->partnerActionState != PARTNER_ACTION_NONE && partnerStatus->actingPartner == PARTNER_BOW) { return FALSE; } - if ((actionState == 0x1D || actionState == 0x1E || actionState == 0x1F) && item->itemID != ITEM_COIN) { + if ( + (actionState == ACTION_STATE_USE_SPINNING_FLOWER + || actionState == ACTION_STATE_USE_MUNCHLESIA + || actionState == ACTION_STATE_USE_TWEESTER) + && item->itemID != ITEM_COIN) + { return FALSE; } @@ -1845,23 +1850,23 @@ s32 test_item_player_collision(ItemEntity* item) { } cond = FALSE; - sp1C = playerStatus->colliderHeight / 2; + colliderHeightHalf = playerStatus->colliderHeight / 2; playerX = playerStatus->position.x; playerY = playerStatus->position.y; playerZ = playerStatus->position.z; - sp20 = playerStatus->colliderDiameter / 4; - if (playerStatus->spriteFacingAngle < 180.0f) { - temp_f14 = clamp_angle(camera->currentYaw - 90.0f); + colliderDiameterQuart = playerStatus->colliderDiameter / 4; + spriteFacingAngle = playerStatus->spriteFacingAngle; + if (spriteFacingAngle < 180.0f) { + spriteFacingAngle = clamp_angle(camera->currentYaw - 90.0f); } else { - temp_f14 = clamp_angle(camera->currentYaw + 90.0f); + spriteFacingAngle = clamp_angle(camera->currentYaw + 90.0f); } - new_var2 = playerY; - sp10 = playerX; - sp24 = playerY; - sp14 = playerZ; - if (get_clamped_angle_diff(camera->currentYaw, temp_f14) < 0.0f) { + tmpX = playerX; + playerY2 = playerY; + tmpZ = playerZ; + if (get_clamped_angle_diff(camera->currentYaw, spriteFacingAngle) < 0.0f) { angle = clamp_angle(camera->currentYaw - 90.0f); if (playerStatus->trueAnimation & 0x01000000) { angle = clamp_angle(angle + 30.0f); @@ -1872,28 +1877,37 @@ s32 test_item_player_collision(ItemEntity* item) { angle = clamp_angle(angle - 30.0f); } } - add_vec2D_polar(&sp10, &sp14, 24.0f, angle); + + add_vec2D_polar(&tmpX, &tmpZ, 24.0f, angle); + itemX = item->position.x; itemY = item->position.y; itemZ = item->position.z; - xDiff = itemX - playerX; - zDiff = itemZ - playerZ; - t = 13.5f; - f1 = sqrtf(SQ(xDiff) + SQ(zDiff)); - if (!(sp20 + t <= f1) && - !(itemY + 27.0f < new_var2) && - !(playerY + sp1C < itemY)) - { - cond = TRUE; - } - if (playerStatus->actionState == 0x12 && (playerStatus->flags & 0x01000000)) { - xDiff = itemX - sp10; - zDiff = itemZ - sp14; - f1 = sqrtf(SQ(xDiff) + SQ(zDiff)); - if (!(14.0f + t <= f1) && - !(itemY + 27.0f < sp24) && - !(playerY + 18.0f < itemY)) + do { + do { + distThreshold = 13.5f; + } while (0); // required to match + + xDiff = itemX - playerX; + zDiff = itemZ - playerZ; + + dist = sqrtf(SQ(xDiff) + SQ(zDiff)); + if (!(colliderDiameterQuart + distThreshold <= dist) && + !(itemY + yBottomThreshold < playerY) && + !(playerY + colliderHeightHalf < itemY)) + { + cond = TRUE; + } + } while (0); // required to match + + if (playerStatus->actionState == ACTION_STATE_HAMMER && (playerStatus->flags & PS_FLAG_HAMMER_CHECK)) { + xDiff = itemX - tmpX; + zDiff = itemZ - tmpZ; + dist = sqrtf(SQ(xDiff) + SQ(zDiff)); + if (!(fourteen + distThreshold <= dist) + && !(itemY + yBottomThreshold < playerY2) + && !(playerY2 + yTopThreshold < itemY)) { cond = TRUE; } @@ -1916,9 +1930,6 @@ s32 test_item_player_collision(ItemEntity* item) { } return FALSE; } -#else -INCLUDE_ASM(s32, "C50A0", test_item_player_collision); -#endif s32 test_item_entity_position(f32 x, f32 y, f32 z, f32 dist) { ItemEntity* item; diff --git a/ver/ique/asm/nonmatchings/C50A0/test_item_player_collision.s b/ver/ique/asm/nonmatchings/C50A0/test_item_player_collision.s deleted file mode 100644 index 2630b14c4a..0000000000 --- a/ver/ique/asm/nonmatchings/C50A0/test_item_player_collision.s +++ /dev/null @@ -1,328 +0,0 @@ -.set noat /* allow manual use of $at */ -.set noreorder /* don't insert nops after branches */ - -/* Generated by spimdisasm 1.11.1 */ - -glabel test_item_player_collision -/* C917C 8013229C 27BDFF90 */ addiu $sp, $sp, -0x70 -/* C9180 801322A0 AFB30034 */ sw $s3, 0x34($sp) -/* C9184 801322A4 0080982D */ daddu $s3, $a0, $zero -/* C9188 801322A8 AFB1002C */ sw $s1, 0x2C($sp) -/* C918C 801322AC 3C118011 */ lui $s1, %hi(gPlayerStatus) -/* C9190 801322B0 2631D3A8 */ addiu $s1, $s1, %lo(gPlayerStatus) -/* C9194 801322B4 AFB40038 */ sw $s4, 0x38($sp) -/* C9198 801322B8 3C148011 */ lui $s4, %hi(gPartnerStatus) -/* C919C 801322BC 2694CF90 */ addiu $s4, $s4, %lo(gPartnerStatus) -/* C91A0 801322C0 3C038007 */ lui $v1, %hi(gCurrentCameraID) -/* C91A4 801322C4 8C636070 */ lw $v1, %lo(gCurrentCameraID)($v1) -/* C91A8 801322C8 3C04800B */ lui $a0, %hi(gCameras) -/* C91AC 801322CC 248407D0 */ addiu $a0, $a0, %lo(gCameras) -/* C91B0 801322D0 AFBF003C */ sw $ra, 0x3C($sp) -/* C91B4 801322D4 AFB20030 */ sw $s2, 0x30($sp) -/* C91B8 801322D8 AFB00028 */ sw $s0, 0x28($sp) -/* C91BC 801322DC F7BE0068 */ sdc1 $f30, 0x68($sp) -/* C91C0 801322E0 F7BC0060 */ sdc1 $f28, 0x60($sp) -/* C91C4 801322E4 F7BA0058 */ sdc1 $f26, 0x58($sp) -/* C91C8 801322E8 F7B80050 */ sdc1 $f24, 0x50($sp) -/* C91CC 801322EC F7B60048 */ sdc1 $f22, 0x48($sp) -/* C91D0 801322F0 F7B40040 */ sdc1 $f20, 0x40($sp) -/* C91D4 801322F4 823200B4 */ lb $s2, 0xB4($s1) -/* C91D8 801322F8 00031080 */ sll $v0, $v1, 2 -/* C91DC 801322FC 00431021 */ addu $v0, $v0, $v1 -/* C91E0 80132300 00021080 */ sll $v0, $v0, 2 -/* C91E4 80132304 00431023 */ subu $v0, $v0, $v1 -/* C91E8 80132308 000218C0 */ sll $v1, $v0, 3 -/* C91EC 8013230C 00431021 */ addu $v0, $v0, $v1 -/* C91F0 80132310 000210C0 */ sll $v0, $v0, 3 -/* C91F4 80132314 8E630000 */ lw $v1, 0x0($s3) -/* C91F8 80132318 00448021 */ addu $s0, $v0, $a0 -/* C91FC 8013231C 30620100 */ andi $v0, $v1, 0x100 -/* C9200 80132320 10400003 */ beqz $v0, .LIQUE_80132330 -/* C9204 80132324 2402FEFF */ addiu $v0, $zero, -0x101 -/* C9208 80132328 0804C9BE */ j .LIQUE_801326F8 -/* C920C 8013232C 00621024 */ and $v0, $v1, $v0 -.LIQUE_80132330: -/* C9210 80132330 3C03800A */ lui $v1, %hi(gEncounterState) -/* C9214 80132334 8C6391CC */ lw $v1, %lo(gEncounterState)($v1) -/* C9218 80132338 24020002 */ addiu $v0, $zero, 0x2 -/* C921C 8013233C 10620003 */ beq $v1, $v0, .LIQUE_8013234C -/* C9220 80132340 00000000 */ nop -/* C9224 80132344 146000F6 */ bnez $v1, .LIQUE_80132720 -/* C9228 80132348 0000102D */ daddu $v0, $zero, $zero -.LIQUE_8013234C: -/* C922C 8013234C 3C02800B */ lui $v0, %hi(gCurrentEncounter) -/* C9230 80132350 2442F950 */ addiu $v0, $v0, %lo(gCurrentEncounter) -/* C9234 80132354 80430005 */ lb $v1, 0x5($v0) -/* C9238 80132358 24020005 */ addiu $v0, $zero, 0x5 -/* C923C 8013235C 106200EF */ beq $v1, $v0, .LIQUE_8013271C -/* C9240 80132360 3C020020 */ lui $v0, (0x200000 >> 16) -/* C9244 80132364 8E630000 */ lw $v1, 0x0($s3) -/* C9248 80132368 00621024 */ and $v0, $v1, $v0 -/* C924C 8013236C 144000EC */ bnez $v0, .LIQUE_80132720 -/* C9250 80132370 0000102D */ daddu $v0, $zero, $zero -/* C9254 80132374 3C028016 */ lui $v0, %hi(isPickingUpItem) -/* C9258 80132378 84428924 */ lh $v0, %lo(isPickingUpItem)($v0) -/* C925C 8013237C 144000E8 */ bnez $v0, .LIQUE_80132720 -/* C9260 80132380 0000102D */ daddu $v0, $zero, $zero -/* C9264 80132384 30620040 */ andi $v0, $v1, 0x40 -/* C9268 80132388 144000E5 */ bnez $v0, .LIQUE_80132720 -/* C926C 8013238C 0000102D */ daddu $v0, $zero, $zero -/* C9270 80132390 0C009B98 */ jal get_time_freeze_mode -/* C9274 80132394 00000000 */ nop -/* C9278 80132398 144000E1 */ bnez $v0, .LIQUE_80132720 -/* C927C 8013239C 0000102D */ daddu $v0, $zero, $zero -/* C9280 801323A0 82820000 */ lb $v0, 0x0($s4) -/* C9284 801323A4 10400004 */ beqz $v0, .LIQUE_801323B8 -/* C9288 801323A8 24020009 */ addiu $v0, $zero, 0x9 -/* C928C 801323AC 82830003 */ lb $v1, 0x3($s4) -/* C9290 801323B0 106200DB */ beq $v1, $v0, .LIQUE_80132720 -/* C9294 801323B4 0000102D */ daddu $v0, $zero, $zero -.LIQUE_801323B8: -/* C9298 801323B8 2642FFE3 */ addiu $v0, $s2, -0x1D -/* C929C 801323BC 2C420003 */ sltiu $v0, $v0, 0x3 -/* C92A0 801323C0 10400004 */ beqz $v0, .LIQUE_801323D4 -/* C92A4 801323C4 24020157 */ addiu $v0, $zero, 0x157 -/* C92A8 801323C8 86630018 */ lh $v1, 0x18($s3) -/* C92AC 801323CC 146200D4 */ bne $v1, $v0, .LIQUE_80132720 -/* C92B0 801323D0 0000102D */ daddu $v0, $zero, $zero -.LIQUE_801323D4: -/* C92B4 801323D4 3C02800A */ lui $v0, %hi(gOverrideFlags) -/* C92B8 801323D8 8C429228 */ lw $v0, %lo(gOverrideFlags)($v0) -/* C92BC 801323DC 3C030020 */ lui $v1, (0x200000 >> 16) -/* C92C0 801323E0 00431024 */ and $v0, $v0, $v1 -/* C92C4 801323E4 144000CE */ bnez $v0, .LIQUE_80132720 -/* C92C8 801323E8 0000102D */ daddu $v0, $zero, $zero -/* C92CC 801323EC 962300B0 */ lhu $v1, 0xB0($s1) -/* C92D0 801323F0 862400B2 */ lh $a0, 0xB2($s1) -/* C92D4 801323F4 00031C00 */ sll $v1, $v1, 16 -/* C92D8 801323F8 00031403 */ sra $v0, $v1, 16 -/* C92DC 801323FC 00031FC2 */ srl $v1, $v1, 31 -/* C92E0 80132400 00431021 */ addu $v0, $v0, $v1 -/* C92E4 80132404 00021043 */ sra $v0, $v0, 1 -/* C92E8 80132408 44823000 */ mtc1 $v0, $f6 -/* C92EC 8013240C 00000000 */ nop -/* C92F0 80132410 468031A0 */ cvt.s.w $f6, $f6 -/* C92F4 80132414 E7A6001C */ swc1 $f6, 0x1C($sp) -/* C92F8 80132418 C63E0028 */ lwc1 $f30, 0x28($s1) -/* C92FC 8013241C C63A002C */ lwc1 $f26, 0x2C($s1) -/* C9300 80132420 C6280030 */ lwc1 $f8, 0x30($s1) -/* C9304 80132424 0000902D */ daddu $s2, $zero, $zero -/* C9308 80132428 04810002 */ bgez $a0, .LIQUE_80132434 -/* C930C 8013242C E7A80018 */ swc1 $f8, 0x18($sp) -/* C9310 80132430 24840003 */ addiu $a0, $a0, 0x3 -.LIQUE_80132434: -/* C9314 80132434 00041083 */ sra $v0, $a0, 2 -/* C9318 80132438 C62E00A8 */ lwc1 $f14, 0xA8($s1) -/* C931C 8013243C 3C014334 */ lui $at, (0x43340000 >> 16) -/* C9320 80132440 44810000 */ mtc1 $at, $f0 -/* C9324 80132444 44823000 */ mtc1 $v0, $f6 -/* C9328 80132448 00000000 */ nop -/* C932C 8013244C 468031A0 */ cvt.s.w $f6, $f6 -/* C9330 80132450 4600703C */ c.lt.s $f14, $f0 -/* C9334 80132454 00000000 */ nop -/* C9338 80132458 45000006 */ bc1f .LIQUE_80132474 -/* C933C 8013245C E7A60020 */ swc1 $f6, 0x20($sp) -/* C9340 80132460 C600006C */ lwc1 $f0, 0x6C($s0) -/* C9344 80132464 3C0142B4 */ lui $at, (0x42B40000 >> 16) -/* C9348 80132468 44816000 */ mtc1 $at, $f12 -/* C934C 8013246C 0804C922 */ j .LIQUE_80132488 -/* C9350 80132470 460C0301 */ sub.s $f12, $f0, $f12 -.LIQUE_80132474: -/* C9354 80132474 C600006C */ lwc1 $f0, 0x6C($s0) -/* C9358 80132478 3C0142B4 */ lui $at, (0x42B40000 >> 16) -/* C935C 8013247C 44816000 */ mtc1 $at, $f12 -/* C9360 80132480 00000000 */ nop -/* C9364 80132484 460C0300 */ add.s $f12, $f0, $f12 -.LIQUE_80132488: -/* C9368 80132488 0C00A5FD */ jal clamp_angle -/* C936C 8013248C 00000000 */ nop -/* C9370 80132490 46000386 */ mov.s $f14, $f0 -/* C9374 80132494 C60C006C */ lwc1 $f12, 0x6C($s0) -/* C9378 80132498 C7A80018 */ lwc1 $f8, 0x18($sp) -/* C937C 8013249C E7BE0010 */ swc1 $f30, 0x10($sp) -/* C9380 801324A0 0C00A63E */ jal get_clamped_angle_diff -/* C9384 801324A4 E7A80014 */ swc1 $f8, 0x14($sp) -/* C9388 801324A8 44801000 */ mtc1 $zero, $f2 -/* C938C 801324AC 00000000 */ nop -/* C9390 801324B0 4602003C */ c.lt.s $f0, $f2 -/* C9394 801324B4 00000000 */ nop -/* C9398 801324B8 4500000F */ bc1f .LIQUE_801324F8 -/* C939C 801324BC E7BA0024 */ swc1 $f26, 0x24($sp) -/* C93A0 801324C0 C600006C */ lwc1 $f0, 0x6C($s0) -/* C93A4 801324C4 3C0142B4 */ lui $at, (0x42B40000 >> 16) -/* C93A8 801324C8 44816000 */ mtc1 $at, $f12 -/* C93AC 801324CC 0C00A5FD */ jal clamp_angle -/* C93B0 801324D0 460C0301 */ sub.s $f12, $f0, $f12 -/* C93B4 801324D4 8E2200A4 */ lw $v0, 0xA4($s1) -/* C93B8 801324D8 3C030100 */ lui $v1, (0x1000000 >> 16) -/* C93BC 801324DC 00431024 */ and $v0, $v0, $v1 -/* C93C0 801324E0 10400016 */ beqz $v0, .LIQUE_8013253C -/* C93C4 801324E4 27A40010 */ addiu $a0, $sp, 0x10 -/* C93C8 801324E8 3C0141F0 */ lui $at, (0x41F00000 >> 16) -/* C93CC 801324EC 44816000 */ mtc1 $at, $f12 -/* C93D0 801324F0 0804C94C */ j .LIQUE_80132530 -/* C93D4 801324F4 460C0300 */ add.s $f12, $f0, $f12 -.LIQUE_801324F8: -/* C93D8 801324F8 C600006C */ lwc1 $f0, 0x6C($s0) -/* C93DC 801324FC 3C0142B4 */ lui $at, (0x42B40000 >> 16) -/* C93E0 80132500 44816000 */ mtc1 $at, $f12 -/* C93E4 80132504 0C00A5FD */ jal clamp_angle -/* C93E8 80132508 460C0300 */ add.s $f12, $f0, $f12 -/* C93EC 8013250C 8E2200A4 */ lw $v0, 0xA4($s1) -/* C93F0 80132510 3C030100 */ lui $v1, (0x1000000 >> 16) -/* C93F4 80132514 00431024 */ and $v0, $v0, $v1 -/* C93F8 80132518 10400008 */ beqz $v0, .LIQUE_8013253C -/* C93FC 8013251C 27A40010 */ addiu $a0, $sp, 0x10 -/* C9400 80132520 3C0141F0 */ lui $at, (0x41F00000 >> 16) -/* C9404 80132524 44816000 */ mtc1 $at, $f12 -/* C9408 80132528 00000000 */ nop -/* C940C 8013252C 460C0301 */ sub.s $f12, $f0, $f12 -.LIQUE_80132530: -/* C9410 80132530 0C00A5FD */ jal clamp_angle -/* C9414 80132534 00000000 */ nop -/* C9418 80132538 27A40010 */ addiu $a0, $sp, 0x10 -.LIQUE_8013253C: -/* C941C 8013253C 3C0641C0 */ lui $a2, (0x41C00000 >> 16) -/* C9420 80132540 44070000 */ mfc1 $a3, $f0 -/* C9424 80132544 0C00A71B */ jal add_vec2D_polar -/* C9428 80132548 27A50014 */ addiu $a1, $sp, 0x14 -/* C942C 8013254C C6760008 */ lwc1 $f22, 0x8($s3) -/* C9430 80132550 C674000C */ lwc1 $f20, 0xC($s3) -/* C9434 80132554 C6780010 */ lwc1 $f24, 0x10($s3) -/* C9438 80132558 3C014158 */ lui $at, (0x41580000 >> 16) -/* C943C 8013255C 4481E000 */ mtc1 $at, $f28 -/* C9440 80132560 461EB081 */ sub.s $f2, $f22, $f30 -/* C9444 80132564 46021082 */ mul.s $f2, $f2, $f2 -/* C9448 80132568 00000000 */ nop -/* C944C 8013256C C7A60018 */ lwc1 $f6, 0x18($sp) -/* C9450 80132570 4606C001 */ sub.s $f0, $f24, $f6 -/* C9454 80132574 46000002 */ mul.s $f0, $f0, $f0 -/* C9458 80132578 00000000 */ nop -/* C945C 8013257C 46001300 */ add.s $f12, $f2, $f0 -/* C9460 80132580 46006104 */ sqrt.s $f4, $f12 -/* C9464 80132584 46042032 */ c.eq.s $f4, $f4 -/* C9468 80132588 00000000 */ nop -/* C946C 8013258C 45010004 */ bc1t .LIQUE_801325A0 -/* C9470 80132590 00000000 */ nop -/* C9474 80132594 0C0183A0 */ jal sqrtf -/* C9478 80132598 00000000 */ nop -/* C947C 8013259C 46000106 */ mov.s $f4, $f0 -.LIQUE_801325A0: -/* C9480 801325A0 C7A80020 */ lwc1 $f8, 0x20($sp) -/* C9484 801325A4 461C4000 */ add.s $f0, $f8, $f28 -/* C9488 801325A8 4604003E */ c.le.s $f0, $f4 -/* C948C 801325AC 00000000 */ nop -/* C9490 801325B0 4501000F */ bc1t .LIQUE_801325F0 -/* C9494 801325B4 00000000 */ nop -/* C9498 801325B8 3C0141D8 */ lui $at, (0x41D80000 >> 16) -/* C949C 801325BC 44813000 */ mtc1 $at, $f6 -/* C94A0 801325C0 00000000 */ nop -/* C94A4 801325C4 4606A000 */ add.s $f0, $f20, $f6 -/* C94A8 801325C8 461A003C */ c.lt.s $f0, $f26 -/* C94AC 801325CC 00000000 */ nop -/* C94B0 801325D0 45010007 */ bc1t .LIQUE_801325F0 -/* C94B4 801325D4 00000000 */ nop -/* C94B8 801325D8 C7A8001C */ lwc1 $f8, 0x1C($sp) -/* C94BC 801325DC 4608D000 */ add.s $f0, $f26, $f8 -/* C94C0 801325E0 4614003C */ c.lt.s $f0, $f20 -/* C94C4 801325E4 00000000 */ nop -/* C94C8 801325E8 45020001 */ bc1fl .LIQUE_801325F0 -/* C94CC 801325EC 24120001 */ addiu $s2, $zero, 0x1 -.LIQUE_801325F0: -/* C94D0 801325F0 822300B4 */ lb $v1, 0xB4($s1) -/* C94D4 801325F4 24020012 */ addiu $v0, $zero, 0x12 -/* C94D8 801325F8 1462002F */ bne $v1, $v0, .LIQUE_801326B8 -/* C94DC 801325FC 3C030100 */ lui $v1, (0x1000000 >> 16) -/* C94E0 80132600 8E220000 */ lw $v0, 0x0($s1) -/* C94E4 80132604 00431024 */ and $v0, $v0, $v1 -/* C94E8 80132608 1040002B */ beqz $v0, .LIQUE_801326B8 -/* C94EC 8013260C 00000000 */ nop -/* C94F0 80132610 C7A00010 */ lwc1 $f0, 0x10($sp) -/* C94F4 80132614 4600B081 */ sub.s $f2, $f22, $f0 -/* C94F8 80132618 46021082 */ mul.s $f2, $f2, $f2 -/* C94FC 8013261C 00000000 */ nop -/* C9500 80132620 C7A00014 */ lwc1 $f0, 0x14($sp) -/* C9504 80132624 4600C001 */ sub.s $f0, $f24, $f0 -/* C9508 80132628 46000002 */ mul.s $f0, $f0, $f0 -/* C950C 8013262C 00000000 */ nop -/* C9510 80132630 46001300 */ add.s $f12, $f2, $f0 -/* C9514 80132634 46006104 */ sqrt.s $f4, $f12 -/* C9518 80132638 46042032 */ c.eq.s $f4, $f4 -/* C951C 8013263C 00000000 */ nop -/* C9520 80132640 45010004 */ bc1t .LIQUE_80132654 -/* C9524 80132644 00000000 */ nop -/* C9528 80132648 0C0183A0 */ jal sqrtf -/* C952C 8013264C 00000000 */ nop -/* C9530 80132650 46000106 */ mov.s $f4, $f0 -.LIQUE_80132654: -/* C9534 80132654 3C014160 */ lui $at, (0x41600000 >> 16) -/* C9538 80132658 44813000 */ mtc1 $at, $f6 -/* C953C 8013265C 00000000 */ nop -/* C9540 80132660 461C3000 */ add.s $f0, $f6, $f28 -/* C9544 80132664 4604003E */ c.le.s $f0, $f4 -/* C9548 80132668 00000000 */ nop -/* C954C 8013266C 45010012 */ bc1t .LIQUE_801326B8 -/* C9550 80132670 00000000 */ nop -/* C9554 80132674 3C0141D8 */ lui $at, (0x41D80000 >> 16) -/* C9558 80132678 44814000 */ mtc1 $at, $f8 -/* C955C 8013267C 00000000 */ nop -/* C9560 80132680 4608A000 */ add.s $f0, $f20, $f8 -/* C9564 80132684 C7A60024 */ lwc1 $f6, 0x24($sp) -/* C9568 80132688 4606003C */ c.lt.s $f0, $f6 -/* C956C 8013268C 00000000 */ nop -/* C9570 80132690 45010009 */ bc1t .LIQUE_801326B8 -/* C9574 80132694 00000000 */ nop -/* C9578 80132698 3C014190 */ lui $at, (0x41900000 >> 16) -/* C957C 8013269C 44814000 */ mtc1 $at, $f8 -/* C9580 801326A0 00000000 */ nop -/* C9584 801326A4 46083000 */ add.s $f0, $f6, $f8 -/* C9588 801326A8 4614003C */ c.lt.s $f0, $f20 -/* C958C 801326AC 00000000 */ nop -/* C9590 801326B0 45020001 */ bc1fl .LIQUE_801326B8 -/* C9594 801326B4 24120001 */ addiu $s2, $zero, 0x1 -.LIQUE_801326B8: -/* C9598 801326B8 12400012 */ beqz $s2, .LIQUE_80132704 -/* C959C 801326BC 00000000 */ nop -/* C95A0 801326C0 8E640000 */ lw $a0, 0x0($s3) -/* C95A4 801326C4 30820080 */ andi $v0, $a0, 0x80 -/* C95A8 801326C8 10400015 */ beqz $v0, .LIQUE_80132720 -/* C95AC 801326CC 24020001 */ addiu $v0, $zero, 0x1 -/* C95B0 801326D0 3C058016 */ lui $a1, %hi(D_801565A6) -/* C95B4 801326D4 24A58926 */ addiu $a1, $a1, %lo(D_801565A6) -/* C95B8 801326D8 84A20000 */ lh $v0, 0x0($a1) -/* C95BC 801326DC 94A30000 */ lhu $v1, 0x0($a1) -/* C95C0 801326E0 10400004 */ beqz $v0, .LIQUE_801326F4 -/* C95C4 801326E4 2402FF7F */ addiu $v0, $zero, -0x81 -/* C95C8 801326E8 2462FFFF */ addiu $v0, $v1, -0x1 -/* C95CC 801326EC 0804C9C7 */ j .LIQUE_8013271C -/* C95D0 801326F0 A4A20000 */ sh $v0, 0x0($a1) -.LIQUE_801326F4: -/* C95D4 801326F4 00821024 */ and $v0, $a0, $v0 -.LIQUE_801326F8: -/* C95D8 801326F8 AE620000 */ sw $v0, 0x0($s3) -/* C95DC 801326FC 0804C9C8 */ j .LIQUE_80132720 -/* C95E0 80132700 24020001 */ addiu $v0, $zero, 0x1 -.LIQUE_80132704: -/* C95E4 80132704 8E630000 */ lw $v1, 0x0($s3) -/* C95E8 80132708 30620080 */ andi $v0, $v1, 0x80 -/* C95EC 8013270C 10400003 */ beqz $v0, .LIQUE_8013271C -/* C95F0 80132710 2402FF7F */ addiu $v0, $zero, -0x81 -/* C95F4 80132714 00621024 */ and $v0, $v1, $v0 -/* C95F8 80132718 AE620000 */ sw $v0, 0x0($s3) -.LIQUE_8013271C: -/* C95FC 8013271C 0000102D */ daddu $v0, $zero, $zero -.LIQUE_80132720: -/* C9600 80132720 8FBF003C */ lw $ra, 0x3C($sp) -/* C9604 80132724 8FB40038 */ lw $s4, 0x38($sp) -/* C9608 80132728 8FB30034 */ lw $s3, 0x34($sp) -/* C960C 8013272C 8FB20030 */ lw $s2, 0x30($sp) -/* C9610 80132730 8FB1002C */ lw $s1, 0x2C($sp) -/* C9614 80132734 8FB00028 */ lw $s0, 0x28($sp) -/* C9618 80132738 D7BE0068 */ ldc1 $f30, 0x68($sp) -/* C961C 8013273C D7BC0060 */ ldc1 $f28, 0x60($sp) -/* C9620 80132740 D7BA0058 */ ldc1 $f26, 0x58($sp) -/* C9624 80132744 D7B80050 */ ldc1 $f24, 0x50($sp) -/* C9628 80132748 D7B60048 */ ldc1 $f22, 0x48($sp) -/* C962C 8013274C D7B40040 */ ldc1 $f20, 0x40($sp) -/* C9630 80132750 03E00008 */ jr $ra -/* C9634 80132754 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/ver/us/asm/nonmatchings/C50A0/test_item_player_collision.s b/ver/us/asm/nonmatchings/C50A0/test_item_player_collision.s deleted file mode 100644 index f2a11adcfb..0000000000 --- a/ver/us/asm/nonmatchings/C50A0/test_item_player_collision.s +++ /dev/null @@ -1,326 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel test_item_player_collision -/* CA20C 80133B0C 27BDFF90 */ addiu $sp, $sp, -0x70 -/* CA210 80133B10 AFB30034 */ sw $s3, 0x34($sp) -/* CA214 80133B14 0080982D */ daddu $s3, $a0, $zero -/* CA218 80133B18 AFB1002C */ sw $s1, 0x2c($sp) -/* CA21C 80133B1C 3C118011 */ lui $s1, %hi(gPlayerStatus) -/* CA220 80133B20 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus) -/* CA224 80133B24 AFB40038 */ sw $s4, 0x38($sp) -/* CA228 80133B28 3C148011 */ lui $s4, %hi(gPartnerStatus) -/* CA22C 80133B2C 2694EBB0 */ addiu $s4, $s4, %lo(gPartnerStatus) -/* CA230 80133B30 3C038007 */ lui $v1, %hi(gCurrentCameraID) -/* CA234 80133B34 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) -/* CA238 80133B38 3C04800B */ lui $a0, %hi(gCameras) -/* CA23C 80133B3C 24841D80 */ addiu $a0, $a0, %lo(gCameras) -/* CA240 80133B40 AFBF003C */ sw $ra, 0x3c($sp) -/* CA244 80133B44 AFB20030 */ sw $s2, 0x30($sp) -/* CA248 80133B48 AFB00028 */ sw $s0, 0x28($sp) -/* CA24C 80133B4C F7BE0068 */ sdc1 $f30, 0x68($sp) -/* CA250 80133B50 F7BC0060 */ sdc1 $f28, 0x60($sp) -/* CA254 80133B54 F7BA0058 */ sdc1 $f26, 0x58($sp) -/* CA258 80133B58 F7B80050 */ sdc1 $f24, 0x50($sp) -/* CA25C 80133B5C F7B60048 */ sdc1 $f22, 0x48($sp) -/* CA260 80133B60 F7B40040 */ sdc1 $f20, 0x40($sp) -/* CA264 80133B64 823200B4 */ lb $s2, 0xb4($s1) -/* CA268 80133B68 00031080 */ sll $v0, $v1, 2 -/* CA26C 80133B6C 00431021 */ addu $v0, $v0, $v1 -/* CA270 80133B70 00021080 */ sll $v0, $v0, 2 -/* CA274 80133B74 00431023 */ subu $v0, $v0, $v1 -/* CA278 80133B78 000218C0 */ sll $v1, $v0, 3 -/* CA27C 80133B7C 00431021 */ addu $v0, $v0, $v1 -/* CA280 80133B80 000210C0 */ sll $v0, $v0, 3 -/* CA284 80133B84 8E630000 */ lw $v1, ($s3) -/* CA288 80133B88 00448021 */ addu $s0, $v0, $a0 -/* CA28C 80133B8C 30620100 */ andi $v0, $v1, 0x100 -/* CA290 80133B90 10400003 */ beqz $v0, .L80133BA0 -/* CA294 80133B94 2402FEFF */ addiu $v0, $zero, -0x101 -/* CA298 80133B98 0804CFDA */ j .L80133F68 -/* CA29C 80133B9C 00621024 */ and $v0, $v1, $v0 -.L80133BA0: -/* CA2A0 80133BA0 3C03800A */ lui $v1, %hi(gEncounterState) -/* CA2A4 80133BA4 8C63A600 */ lw $v1, %lo(gEncounterState)($v1) -/* CA2A8 80133BA8 24020002 */ addiu $v0, $zero, 2 -/* CA2AC 80133BAC 10620003 */ beq $v1, $v0, .L80133BBC -/* CA2B0 80133BB0 00000000 */ nop -/* CA2B4 80133BB4 146000F6 */ bnez $v1, .L80133F90 -/* CA2B8 80133BB8 0000102D */ daddu $v0, $zero, $zero -.L80133BBC: -/* CA2BC 80133BBC 3C02800B */ lui $v0, %hi(gCurrentEncounter) -/* CA2C0 80133BC0 24420F10 */ addiu $v0, $v0, %lo(gCurrentEncounter) -/* CA2C4 80133BC4 80430005 */ lb $v1, 5($v0) -/* CA2C8 80133BC8 24020005 */ addiu $v0, $zero, 5 -/* CA2CC 80133BCC 106200EF */ beq $v1, $v0, .L80133F8C -/* CA2D0 80133BD0 3C020020 */ lui $v0, 0x20 -/* CA2D4 80133BD4 8E630000 */ lw $v1, ($s3) -/* CA2D8 80133BD8 00621024 */ and $v0, $v1, $v0 -/* CA2DC 80133BDC 144000EC */ bnez $v0, .L80133F90 -/* CA2E0 80133BE0 0000102D */ daddu $v0, $zero, $zero -/* CA2E4 80133BE4 3C028015 */ lui $v0, %hi(isPickingUpItem) -/* CA2E8 80133BE8 844265A4 */ lh $v0, %lo(isPickingUpItem)($v0) -/* CA2EC 80133BEC 144000E8 */ bnez $v0, .L80133F90 -/* CA2F0 80133BF0 0000102D */ daddu $v0, $zero, $zero -/* CA2F4 80133BF4 30620040 */ andi $v0, $v1, 0x40 -/* CA2F8 80133BF8 144000E5 */ bnez $v0, .L80133F90 -/* CA2FC 80133BFC 0000102D */ daddu $v0, $zero, $zero -/* CA300 80133C00 0C009C64 */ jal get_time_freeze_mode -/* CA304 80133C04 00000000 */ nop -/* CA308 80133C08 144000E1 */ bnez $v0, .L80133F90 -/* CA30C 80133C0C 0000102D */ daddu $v0, $zero, $zero -/* CA310 80133C10 82820000 */ lb $v0, ($s4) -/* CA314 80133C14 10400004 */ beqz $v0, .L80133C28 -/* CA318 80133C18 24020009 */ addiu $v0, $zero, 9 -/* CA31C 80133C1C 82830003 */ lb $v1, 3($s4) -/* CA320 80133C20 106200DB */ beq $v1, $v0, .L80133F90 -/* CA324 80133C24 0000102D */ daddu $v0, $zero, $zero -.L80133C28: -/* CA328 80133C28 2642FFE3 */ addiu $v0, $s2, -0x1d -/* CA32C 80133C2C 2C420003 */ sltiu $v0, $v0, 3 -/* CA330 80133C30 10400004 */ beqz $v0, .L80133C44 -/* CA334 80133C34 24020157 */ addiu $v0, $zero, 0x157 -/* CA338 80133C38 86630018 */ lh $v1, 0x18($s3) -/* CA33C 80133C3C 146200D4 */ bne $v1, $v0, .L80133F90 -/* CA340 80133C40 0000102D */ daddu $v0, $zero, $zero -.L80133C44: -/* CA344 80133C44 3C02800A */ lui $v0, %hi(gOverrideFlags) -/* CA348 80133C48 8C42A650 */ lw $v0, %lo(gOverrideFlags)($v0) -/* CA34C 80133C4C 3C030020 */ lui $v1, 0x20 -/* CA350 80133C50 00431024 */ and $v0, $v0, $v1 -/* CA354 80133C54 144000CE */ bnez $v0, .L80133F90 -/* CA358 80133C58 0000102D */ daddu $v0, $zero, $zero -/* CA35C 80133C5C 962300B0 */ lhu $v1, 0xb0($s1) -/* CA360 80133C60 862400B2 */ lh $a0, 0xb2($s1) -/* CA364 80133C64 00031C00 */ sll $v1, $v1, 0x10 -/* CA368 80133C68 00031403 */ sra $v0, $v1, 0x10 -/* CA36C 80133C6C 00031FC2 */ srl $v1, $v1, 0x1f -/* CA370 80133C70 00431021 */ addu $v0, $v0, $v1 -/* CA374 80133C74 00021043 */ sra $v0, $v0, 1 -/* CA378 80133C78 44823000 */ mtc1 $v0, $f6 -/* CA37C 80133C7C 00000000 */ nop -/* CA380 80133C80 468031A0 */ cvt.s.w $f6, $f6 -/* CA384 80133C84 E7A6001C */ swc1 $f6, 0x1c($sp) -/* CA388 80133C88 C63E0028 */ lwc1 $f30, 0x28($s1) -/* CA38C 80133C8C C63A002C */ lwc1 $f26, 0x2c($s1) -/* CA390 80133C90 C6280030 */ lwc1 $f8, 0x30($s1) -/* CA394 80133C94 0000902D */ daddu $s2, $zero, $zero -/* CA398 80133C98 04810002 */ bgez $a0, .L80133CA4 -/* CA39C 80133C9C E7A80018 */ swc1 $f8, 0x18($sp) -/* CA3A0 80133CA0 24840003 */ addiu $a0, $a0, 3 -.L80133CA4: -/* CA3A4 80133CA4 00041083 */ sra $v0, $a0, 2 -/* CA3A8 80133CA8 C62E00A8 */ lwc1 $f14, 0xa8($s1) -/* CA3AC 80133CAC 3C014334 */ lui $at, 0x4334 -/* CA3B0 80133CB0 44810000 */ mtc1 $at, $f0 -/* CA3B4 80133CB4 44823000 */ mtc1 $v0, $f6 -/* CA3B8 80133CB8 00000000 */ nop -/* CA3BC 80133CBC 468031A0 */ cvt.s.w $f6, $f6 -/* CA3C0 80133CC0 4600703C */ c.lt.s $f14, $f0 -/* CA3C4 80133CC4 00000000 */ nop -/* CA3C8 80133CC8 45000006 */ bc1f .L80133CE4 -/* CA3CC 80133CCC E7A60020 */ swc1 $f6, 0x20($sp) -/* CA3D0 80133CD0 C600006C */ lwc1 $f0, 0x6c($s0) -/* CA3D4 80133CD4 3C0142B4 */ lui $at, 0x42b4 -/* CA3D8 80133CD8 44816000 */ mtc1 $at, $f12 -/* CA3DC 80133CDC 0804CF3E */ j .L80133CF8 -/* CA3E0 80133CE0 460C0301 */ sub.s $f12, $f0, $f12 -.L80133CE4: -/* CA3E4 80133CE4 C600006C */ lwc1 $f0, 0x6c($s0) -/* CA3E8 80133CE8 3C0142B4 */ lui $at, 0x42b4 -/* CA3EC 80133CEC 44816000 */ mtc1 $at, $f12 -/* CA3F0 80133CF0 00000000 */ nop -/* CA3F4 80133CF4 460C0300 */ add.s $f12, $f0, $f12 -.L80133CF8: -/* CA3F8 80133CF8 0C00A6C9 */ jal clamp_angle -/* CA3FC 80133CFC 00000000 */ nop -/* CA400 80133D00 46000386 */ mov.s $f14, $f0 -/* CA404 80133D04 C60C006C */ lwc1 $f12, 0x6c($s0) -/* CA408 80133D08 C7A80018 */ lwc1 $f8, 0x18($sp) -/* CA40C 80133D0C E7BE0010 */ swc1 $f30, 0x10($sp) -/* CA410 80133D10 0C00A70A */ jal get_clamped_angle_diff -/* CA414 80133D14 E7A80014 */ swc1 $f8, 0x14($sp) -/* CA418 80133D18 44801000 */ mtc1 $zero, $f2 -/* CA41C 80133D1C 00000000 */ nop -/* CA420 80133D20 4602003C */ c.lt.s $f0, $f2 -/* CA424 80133D24 00000000 */ nop -/* CA428 80133D28 4500000F */ bc1f .L80133D68 -/* CA42C 80133D2C E7BA0024 */ swc1 $f26, 0x24($sp) -/* CA430 80133D30 C600006C */ lwc1 $f0, 0x6c($s0) -/* CA434 80133D34 3C0142B4 */ lui $at, 0x42b4 -/* CA438 80133D38 44816000 */ mtc1 $at, $f12 -/* CA43C 80133D3C 0C00A6C9 */ jal clamp_angle -/* CA440 80133D40 460C0301 */ sub.s $f12, $f0, $f12 -/* CA444 80133D44 8E2200A4 */ lw $v0, 0xa4($s1) -/* CA448 80133D48 3C030100 */ lui $v1, 0x100 -/* CA44C 80133D4C 00431024 */ and $v0, $v0, $v1 -/* CA450 80133D50 10400016 */ beqz $v0, .L80133DAC -/* CA454 80133D54 27A40010 */ addiu $a0, $sp, 0x10 -/* CA458 80133D58 3C0141F0 */ lui $at, 0x41f0 -/* CA45C 80133D5C 44816000 */ mtc1 $at, $f12 -/* CA460 80133D60 0804CF68 */ j .L80133DA0 -/* CA464 80133D64 460C0300 */ add.s $f12, $f0, $f12 -.L80133D68: -/* CA468 80133D68 C600006C */ lwc1 $f0, 0x6c($s0) -/* CA46C 80133D6C 3C0142B4 */ lui $at, 0x42b4 -/* CA470 80133D70 44816000 */ mtc1 $at, $f12 -/* CA474 80133D74 0C00A6C9 */ jal clamp_angle -/* CA478 80133D78 460C0300 */ add.s $f12, $f0, $f12 -/* CA47C 80133D7C 8E2200A4 */ lw $v0, 0xa4($s1) -/* CA480 80133D80 3C030100 */ lui $v1, 0x100 -/* CA484 80133D84 00431024 */ and $v0, $v0, $v1 -/* CA488 80133D88 10400008 */ beqz $v0, .L80133DAC -/* CA48C 80133D8C 27A40010 */ addiu $a0, $sp, 0x10 -/* CA490 80133D90 3C0141F0 */ lui $at, 0x41f0 -/* CA494 80133D94 44816000 */ mtc1 $at, $f12 -/* CA498 80133D98 00000000 */ nop -/* CA49C 80133D9C 460C0301 */ sub.s $f12, $f0, $f12 -.L80133DA0: -/* CA4A0 80133DA0 0C00A6C9 */ jal clamp_angle -/* CA4A4 80133DA4 00000000 */ nop -/* CA4A8 80133DA8 27A40010 */ addiu $a0, $sp, 0x10 -.L80133DAC: -/* CA4AC 80133DAC 3C0641C0 */ lui $a2, 0x41c0 -/* CA4B0 80133DB0 44070000 */ mfc1 $a3, $f0 -/* CA4B4 80133DB4 0C00A7E7 */ jal add_vec2D_polar -/* CA4B8 80133DB8 27A50014 */ addiu $a1, $sp, 0x14 -/* CA4BC 80133DBC C6760008 */ lwc1 $f22, 8($s3) -/* CA4C0 80133DC0 C674000C */ lwc1 $f20, 0xc($s3) -/* CA4C4 80133DC4 C6780010 */ lwc1 $f24, 0x10($s3) -/* CA4C8 80133DC8 3C014158 */ lui $at, 0x4158 -/* CA4CC 80133DCC 4481E000 */ mtc1 $at, $f28 -/* CA4D0 80133DD0 461EB081 */ sub.s $f2, $f22, $f30 -/* CA4D4 80133DD4 46021082 */ mul.s $f2, $f2, $f2 -/* CA4D8 80133DD8 00000000 */ nop -/* CA4DC 80133DDC C7A60018 */ lwc1 $f6, 0x18($sp) -/* CA4E0 80133DE0 4606C001 */ sub.s $f0, $f24, $f6 -/* CA4E4 80133DE4 46000002 */ mul.s $f0, $f0, $f0 -/* CA4E8 80133DE8 00000000 */ nop -/* CA4EC 80133DEC 46001300 */ add.s $f12, $f2, $f0 -/* CA4F0 80133DF0 46006104 */ sqrt.s $f4, $f12 -/* CA4F4 80133DF4 46042032 */ c.eq.s $f4, $f4 -/* CA4F8 80133DF8 00000000 */ nop -/* CA4FC 80133DFC 45010004 */ bc1t .L80133E10 -/* CA500 80133E00 00000000 */ nop -/* CA504 80133E04 0C0187BC */ jal sqrtf -/* CA508 80133E08 00000000 */ nop -/* CA50C 80133E0C 46000106 */ mov.s $f4, $f0 -.L80133E10: -/* CA510 80133E10 C7A80020 */ lwc1 $f8, 0x20($sp) -/* CA514 80133E14 461C4000 */ add.s $f0, $f8, $f28 -/* CA518 80133E18 4604003E */ c.le.s $f0, $f4 -/* CA51C 80133E1C 00000000 */ nop -/* CA520 80133E20 4501000F */ bc1t .L80133E60 -/* CA524 80133E24 00000000 */ nop -/* CA528 80133E28 3C0141D8 */ lui $at, 0x41d8 -/* CA52C 80133E2C 44813000 */ mtc1 $at, $f6 -/* CA530 80133E30 00000000 */ nop -/* CA534 80133E34 4606A000 */ add.s $f0, $f20, $f6 -/* CA538 80133E38 461A003C */ c.lt.s $f0, $f26 -/* CA53C 80133E3C 00000000 */ nop -/* CA540 80133E40 45010007 */ bc1t .L80133E60 -/* CA544 80133E44 00000000 */ nop -/* CA548 80133E48 C7A8001C */ lwc1 $f8, 0x1c($sp) -/* CA54C 80133E4C 4608D000 */ add.s $f0, $f26, $f8 -/* CA550 80133E50 4614003C */ c.lt.s $f0, $f20 -/* CA554 80133E54 00000000 */ nop -/* CA558 80133E58 45020001 */ bc1fl .L80133E60 -/* CA55C 80133E5C 24120001 */ addiu $s2, $zero, 1 -.L80133E60: -/* CA560 80133E60 822300B4 */ lb $v1, 0xb4($s1) -/* CA564 80133E64 24020012 */ addiu $v0, $zero, 0x12 -/* CA568 80133E68 1462002F */ bne $v1, $v0, .L80133F28 -/* CA56C 80133E6C 3C030100 */ lui $v1, 0x100 -/* CA570 80133E70 8E220000 */ lw $v0, ($s1) -/* CA574 80133E74 00431024 */ and $v0, $v0, $v1 -/* CA578 80133E78 1040002B */ beqz $v0, .L80133F28 -/* CA57C 80133E7C 00000000 */ nop -/* CA580 80133E80 C7A00010 */ lwc1 $f0, 0x10($sp) -/* CA584 80133E84 4600B081 */ sub.s $f2, $f22, $f0 -/* CA588 80133E88 46021082 */ mul.s $f2, $f2, $f2 -/* CA58C 80133E8C 00000000 */ nop -/* CA590 80133E90 C7A00014 */ lwc1 $f0, 0x14($sp) -/* CA594 80133E94 4600C001 */ sub.s $f0, $f24, $f0 -/* CA598 80133E98 46000002 */ mul.s $f0, $f0, $f0 -/* CA59C 80133E9C 00000000 */ nop -/* CA5A0 80133EA0 46001300 */ add.s $f12, $f2, $f0 -/* CA5A4 80133EA4 46006104 */ sqrt.s $f4, $f12 -/* CA5A8 80133EA8 46042032 */ c.eq.s $f4, $f4 -/* CA5AC 80133EAC 00000000 */ nop -/* CA5B0 80133EB0 45010004 */ bc1t .L80133EC4 -/* CA5B4 80133EB4 00000000 */ nop -/* CA5B8 80133EB8 0C0187BC */ jal sqrtf -/* CA5BC 80133EBC 00000000 */ nop -/* CA5C0 80133EC0 46000106 */ mov.s $f4, $f0 -.L80133EC4: -/* CA5C4 80133EC4 3C014160 */ lui $at, 0x4160 -/* CA5C8 80133EC8 44813000 */ mtc1 $at, $f6 -/* CA5CC 80133ECC 00000000 */ nop -/* CA5D0 80133ED0 461C3000 */ add.s $f0, $f6, $f28 -/* CA5D4 80133ED4 4604003E */ c.le.s $f0, $f4 -/* CA5D8 80133ED8 00000000 */ nop -/* CA5DC 80133EDC 45010012 */ bc1t .L80133F28 -/* CA5E0 80133EE0 00000000 */ nop -/* CA5E4 80133EE4 3C0141D8 */ lui $at, 0x41d8 -/* CA5E8 80133EE8 44814000 */ mtc1 $at, $f8 -/* CA5EC 80133EEC 00000000 */ nop -/* CA5F0 80133EF0 4608A000 */ add.s $f0, $f20, $f8 -/* CA5F4 80133EF4 C7A60024 */ lwc1 $f6, 0x24($sp) -/* CA5F8 80133EF8 4606003C */ c.lt.s $f0, $f6 -/* CA5FC 80133EFC 00000000 */ nop -/* CA600 80133F00 45010009 */ bc1t .L80133F28 -/* CA604 80133F04 00000000 */ nop -/* CA608 80133F08 3C014190 */ lui $at, 0x4190 -/* CA60C 80133F0C 44814000 */ mtc1 $at, $f8 -/* CA610 80133F10 00000000 */ nop -/* CA614 80133F14 46083000 */ add.s $f0, $f6, $f8 -/* CA618 80133F18 4614003C */ c.lt.s $f0, $f20 -/* CA61C 80133F1C 00000000 */ nop -/* CA620 80133F20 45020001 */ bc1fl .L80133F28 -/* CA624 80133F24 24120001 */ addiu $s2, $zero, 1 -.L80133F28: -/* CA628 80133F28 12400012 */ beqz $s2, .L80133F74 -/* CA62C 80133F2C 00000000 */ nop -/* CA630 80133F30 8E640000 */ lw $a0, ($s3) -/* CA634 80133F34 30820080 */ andi $v0, $a0, 0x80 -/* CA638 80133F38 10400015 */ beqz $v0, .L80133F90 -/* CA63C 80133F3C 24020001 */ addiu $v0, $zero, 1 -/* CA640 80133F40 3C058015 */ lui $a1, %hi(D_801565A6) -/* CA644 80133F44 24A565A6 */ addiu $a1, $a1, %lo(D_801565A6) -/* CA648 80133F48 84A20000 */ lh $v0, ($a1) -/* CA64C 80133F4C 94A30000 */ lhu $v1, ($a1) -/* CA650 80133F50 10400004 */ beqz $v0, .L80133F64 -/* CA654 80133F54 2402FF7F */ addiu $v0, $zero, -0x81 -/* CA658 80133F58 2462FFFF */ addiu $v0, $v1, -1 -/* CA65C 80133F5C 0804CFE3 */ j .L80133F8C -/* CA660 80133F60 A4A20000 */ sh $v0, ($a1) -.L80133F64: -/* CA664 80133F64 00821024 */ and $v0, $a0, $v0 -.L80133F68: -/* CA668 80133F68 AE620000 */ sw $v0, ($s3) -/* CA66C 80133F6C 0804CFE4 */ j .L80133F90 -/* CA670 80133F70 24020001 */ addiu $v0, $zero, 1 -.L80133F74: -/* CA674 80133F74 8E630000 */ lw $v1, ($s3) -/* CA678 80133F78 30620080 */ andi $v0, $v1, 0x80 -/* CA67C 80133F7C 10400003 */ beqz $v0, .L80133F8C -/* CA680 80133F80 2402FF7F */ addiu $v0, $zero, -0x81 -/* CA684 80133F84 00621024 */ and $v0, $v1, $v0 -/* CA688 80133F88 AE620000 */ sw $v0, ($s3) -.L80133F8C: -/* CA68C 80133F8C 0000102D */ daddu $v0, $zero, $zero -.L80133F90: -/* CA690 80133F90 8FBF003C */ lw $ra, 0x3c($sp) -/* CA694 80133F94 8FB40038 */ lw $s4, 0x38($sp) -/* CA698 80133F98 8FB30034 */ lw $s3, 0x34($sp) -/* CA69C 80133F9C 8FB20030 */ lw $s2, 0x30($sp) -/* CA6A0 80133FA0 8FB1002C */ lw $s1, 0x2c($sp) -/* CA6A4 80133FA4 8FB00028 */ lw $s0, 0x28($sp) -/* CA6A8 80133FA8 D7BE0068 */ ldc1 $f30, 0x68($sp) -/* CA6AC 80133FAC D7BC0060 */ ldc1 $f28, 0x60($sp) -/* CA6B0 80133FB0 D7BA0058 */ ldc1 $f26, 0x58($sp) -/* CA6B4 80133FB4 D7B80050 */ ldc1 $f24, 0x50($sp) -/* CA6B8 80133FB8 D7B60048 */ ldc1 $f22, 0x48($sp) -/* CA6BC 80133FBC D7B40040 */ ldc1 $f20, 0x40($sp) -/* CA6C0 80133FC0 03E00008 */ jr $ra -/* CA6C4 80133FC4 27BD0070 */ addiu $sp, $sp, 0x70