From f4499a8de21c9c94e869d812e059dfd7b4cfaddd Mon Sep 17 00:00:00 2001 From: Kenix3 Date: Mon, 29 Mar 2021 13:14:08 -0400 Subject: [PATCH] En_Clear_Tag OK and documented (#689) * Decompile and document En_Clear_Tag * Adds a define for setting the total count of ClearTag particles. * Fixes swap in particle effect struct member names. Additionally, implements the DECR macro where available. Additionally, implements the CLAMP_MIN macro. Additionally, adds more comments inside of functions explaining how the Arwing works. * Reformats z_en_clear_tag.c after recent fixes. * Removes not OK DECR and CLAMP_MIN macros. I don't know why they built locally OK for me. May have had a stale build. * Added static to data declarations. Additionally added white spacing between data definitions. * Various syling fixes in EnClearTag Fixes inconsistent usage of particle/effect. They're Effect is the better name, so I went with that. Fixed a naming issue in CalculateFloorTangent. Adds s prefix to all the static variables. Renames clearTagParticlesBuffer to sClearTagEffects Consistent capitalization in comments. Adds more descriptive comments to function level comments that didn't say a lot already. Renamed gameplay.particleEffects to gameplay.specialEffects. Renames cameraNumber to cameraId. Fixed capitalization in display list variable names. * Always capitalize the A in arwing. * Fixes issue with overzealous replacement of arwing -> Arwing * Renames arwing display lists to include the g prefix. * Renames effect seed -> random * Removes unnecessary decrement timer comments. * Updates Arwing comments to detail why it's important that the roll is updated to zero. * Updates stack variable names in EnClearTag_Update to be more consistent with each other. * Updates Arwing crashing documentation. * Further update documentation on arwing crashing. * Even further updates to Arwing crashing docs. * Fixes issue of missing newline in En_Clear_Tag.xml * targetDirection reset now has a chained assignment * Rotation angle to hex * Fixes rotation hex and identifies float. * Updates arwing fire check. * Arwing cutscene timer is multiplied by 128 rather than shifting 7 * Updates scaledCrashingTimer assignment to be more consistent. * Updates max scale to multiply by 2 * Gives name to the work buffer indices. Additionally, makes enum names more consistent. * Removes unnecessary globalCtx2 in EnClearTag_CreateFlashEffect * Runs format.sh after recent changes. * Updated path of ClearTag assets. * Clear tag now uses Arwing in the display list name for all effects. * Updates work buffer to expand and contract as new enums are added. * Uses c99 defines in my c89 * Updates the unknown 8 bytes in en_clear_tag * review Co-authored-by: fig02 --- .../ovl_En_Clear_Tag/EnClearTag_Destroy.s | 12 - .../actors/ovl_En_Clear_Tag/EnClearTag_Draw.s | 449 ------- .../actors/ovl_En_Clear_Tag/EnClearTag_Init.s | 129 -- .../ovl_En_Clear_Tag/EnClearTag_Update.s | 1022 ---------------- .../actors/ovl_En_Clear_Tag/func_809D35B0.s | 77 -- .../actors/ovl_En_Clear_Tag/func_809D36A8.s | 70 -- .../actors/ovl_En_Clear_Tag/func_809D3798.s | 78 -- .../actors/ovl_En_Clear_Tag/func_809D38BC.s | 57 - .../actors/ovl_En_Clear_Tag/func_809D3B80.s | 53 - .../actors/ovl_En_Clear_Tag/func_809D5004.s | 273 ----- .../actors/ovl_En_Clear_Tag/func_809D53CC.s | 575 --------- assets/xml/overlays/ovl_En_Clear_Tag.xml | 14 + data/overlays/actors/z_en_clear_tag.bss.s | 14 - data/overlays/actors/z_en_clear_tag.data.s | 166 --- data/overlays/actors/z_en_clear_tag.reloc.s | 13 - include/functions.h | 1 + include/z64.h | 2 +- spec | 4 +- .../actors/ovl_En_Clear_Tag/z_en_clear_tag.c | 1048 ++++++++++++++++- .../actors/ovl_En_Clear_Tag/z_en_clear_tag.h | 83 +- 20 files changed, 1114 insertions(+), 3026 deletions(-) delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/EnClearTag_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/EnClearTag_Draw.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/EnClearTag_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/EnClearTag_Update.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D35B0.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D36A8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D3798.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D38BC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D3B80.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D5004.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D53CC.s create mode 100644 assets/xml/overlays/ovl_En_Clear_Tag.xml delete mode 100644 data/overlays/actors/z_en_clear_tag.bss.s delete mode 100644 data/overlays/actors/z_en_clear_tag.data.s delete mode 100644 data/overlays/actors/z_en_clear_tag.reloc.s diff --git a/asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/EnClearTag_Destroy.s b/asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/EnClearTag_Destroy.s deleted file mode 100644 index c547d10edc..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/EnClearTag_Destroy.s +++ /dev/null @@ -1,12 +0,0 @@ -glabel EnClearTag_Destroy -/* 003E4 809D3994 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 003E8 809D3998 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 003EC 809D399C AFBF0014 */ sw $ra, 0x0014($sp) -/* 003F0 809D39A0 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 003F4 809D39A4 0C0170EB */ jal Collider_DestroyCylinder - -/* 003F8 809D39A8 24C50194 */ addiu $a1, $a2, 0x0194 ## $a1 = 00000194 -/* 003FC 809D39AC 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00400 809D39B0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00404 809D39B4 03E00008 */ jr $ra -/* 00408 809D39B8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/EnClearTag_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/EnClearTag_Draw.s deleted file mode 100644 index 5a67ebe86e..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/EnClearTag_Draw.s +++ /dev/null @@ -1,449 +0,0 @@ -.rdata -glabel D_809DBFC0 - .asciz "../z_en_clear_tag.c" - .balign 4 - -glabel D_809DBFD4 - .asciz "../z_en_clear_tag.c" - .balign 4 - -glabel D_809DBFE8 - .asciz "../z_en_clear_tag.c" - .balign 4 - -glabel D_809DBFFC - .asciz "../z_en_clear_tag.c" - .balign 4 - -glabel D_809DC010 - .asciz "../z_en_clear_tag.c" - .balign 4 - -glabel D_809DC024 - .asciz "../z_en_clear_tag.c" - .balign 4 - -glabel D_809DC038 - .asciz "../z_en_clear_tag.c" - .balign 4 - -.late_rodata -glabel D_809DC110 - .float 0.05 - -glabel D_809DC114 - .float 1.3 - -glabel D_809DC118 - .word 0x3F933333 -glabel D_809DC11C - .word 0x3EB33333 -glabel D_809DC120 - .float 3.14159274101 - -glabel D_809DC124 - .float 3.14159274101 - -glabel D_809DC128 - .float 3.14159274101 - -glabel D_809DC12C - .float 0.05 - -.text -glabel EnClearTag_Draw -/* 01450 809D4A00 27BDFF60 */ addiu $sp, $sp, 0xFF60 ## $sp = FFFFFF60 -/* 01454 809D4A04 AFBF001C */ sw $ra, 0x001C($sp) -/* 01458 809D4A08 AFB10018 */ sw $s1, 0x0018($sp) -/* 0145C 809D4A0C AFB00014 */ sw $s0, 0x0014($sp) -/* 01460 809D4A10 AFA500A4 */ sw $a1, 0x00A4($sp) -/* 01464 809D4A14 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000 -/* 01468 809D4A18 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000 -/* 0146C 809D4A1C 3C06809E */ lui $a2, %hi(D_809DBFC0) ## $a2 = 809E0000 -/* 01470 809D4A20 24C6BFC0 */ addiu $a2, $a2, %lo(D_809DBFC0) ## $a2 = 809DBFC0 -/* 01474 809D4A24 27A40084 */ addiu $a0, $sp, 0x0084 ## $a0 = FFFFFFE4 -/* 01478 809D4A28 240703D7 */ addiu $a3, $zero, 0x03D7 ## $a3 = 000003D7 -/* 0147C 809D4A2C 0C031AB1 */ jal Graph_OpenDisps -/* 01480 809D4A30 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 01484 809D4A34 9224014D */ lbu $a0, 0x014D($s1) ## 0000014D -/* 01488 809D4A38 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 0148C 809D4A3C 8FAF00A4 */ lw $t7, 0x00A4($sp) -/* 01490 809D4A40 10810160 */ beq $a0, $at, .L809D4FC4 -/* 01494 809D4A44 00000000 */ nop -/* 01498 809D4A48 0C024F61 */ jal func_80093D84 -/* 0149C 809D4A4C 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000 -/* 014A0 809D4A50 9238014E */ lbu $t8, 0x014E($s1) ## 0000014E -/* 014A4 809D4A54 8FAC00A4 */ lw $t4, 0x00A4($sp) -/* 014A8 809D4A58 2B010064 */ slti $at, $t8, 0x0064 -/* 014AC 809D4A5C 14200047 */ bne $at, $zero, .L809D4B7C -/* 014B0 809D4A60 00000000 */ nop -/* 014B4 809D4A64 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 014B8 809D4A68 44807000 */ mtc1 $zero, $f14 ## $f14 = 0.00 -/* 014BC 809D4A6C 3C0A00FF */ lui $t2, 0x00FF ## $t2 = 00FF0000 -/* 014C0 809D4A70 3C0141C8 */ lui $at, 0x41C8 ## $at = 41C80000 -/* 014C4 809D4A74 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 014C8 809D4A78 AE1902D0 */ sw $t9, 0x02D0($s0) ## 000002D0 -/* 014CC 809D4A7C 354A00FF */ ori $t2, $t2, 0x00FF ## $t2 = 00FF00FF -/* 014D0 809D4A80 3C09FA00 */ lui $t1, 0xFA00 ## $t1 = FA000000 -/* 014D4 809D4A84 44816000 */ mtc1 $at, $f12 ## $f12 = 25.00 -/* 014D8 809D4A88 44067000 */ mfc1 $a2, $f14 -/* 014DC 809D4A8C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 014E0 809D4A90 AC490000 */ sw $t1, 0x0000($v0) ## 00000000 -/* 014E4 809D4A94 0C034261 */ jal Matrix_Translate -/* 014E8 809D4A98 AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004 -/* 014EC 809D4A9C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 014F0 809D4AA0 3C0CDA38 */ lui $t4, 0xDA38 ## $t4 = DA380000 -/* 014F4 809D4AA4 358C0003 */ ori $t4, $t4, 0x0003 ## $t4 = DA380003 -/* 014F8 809D4AA8 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 014FC 809D4AAC AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0 -/* 01500 809D4AB0 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000 -/* 01504 809D4AB4 8FAD00A4 */ lw $t5, 0x00A4($sp) -/* 01508 809D4AB8 3C05809E */ lui $a1, %hi(D_809DBFD4) ## $a1 = 809E0000 -/* 0150C 809D4ABC 24A5BFD4 */ addiu $a1, $a1, %lo(D_809DBFD4) ## $a1 = 809DBFD4 -/* 01510 809D4AC0 8DA40000 */ lw $a0, 0x0000($t5) ## 00000000 -/* 01514 809D4AC4 240603EC */ addiu $a2, $zero, 0x03EC ## $a2 = 000003EC -/* 01518 809D4AC8 0C0346A2 */ jal Matrix_NewMtx -/* 0151C 809D4ACC AFA2007C */ sw $v0, 0x007C($sp) -/* 01520 809D4AD0 8FA3007C */ lw $v1, 0x007C($sp) -/* 01524 809D4AD4 44807000 */ mtc1 $zero, $f14 ## $f14 = 0.00 -/* 01528 809D4AD8 3C08809E */ lui $t0, %hi(D_809D9938) ## $t0 = 809E0000 -/* 0152C 809D4ADC AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 01530 809D4AE0 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 01534 809D4AE4 25089938 */ addiu $t0, $t0, %lo(D_809D9938) ## $t0 = 809D9938 -/* 01538 809D4AE8 3C0FDE00 */ lui $t7, 0xDE00 ## $t7 = DE000000 -/* 0153C 809D4AEC 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 01540 809D4AF0 AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002D0 -/* 01544 809D4AF4 3C01C248 */ lui $at, 0xC248 ## $at = C2480000 -/* 01548 809D4AF8 44816000 */ mtc1 $at, $f12 ## $f12 = -50.00 -/* 0154C 809D4AFC 44067000 */ mfc1 $a2, $f14 -/* 01550 809D4B00 AC480004 */ sw $t0, 0x0004($v0) ## 00000004 -/* 01554 809D4B04 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 01558 809D4B08 AFA80028 */ sw $t0, 0x0028($sp) -/* 0155C 809D4B0C 0C034261 */ jal Matrix_Translate -/* 01560 809D4B10 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 01564 809D4B14 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 01568 809D4B18 8FA80028 */ lw $t0, 0x0028($sp) -/* 0156C 809D4B1C 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000 -/* 01570 809D4B20 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 01574 809D4B24 AE1802D0 */ sw $t8, 0x02D0($s0) ## 000002D0 -/* 01578 809D4B28 37390003 */ ori $t9, $t9, 0x0003 ## $t9 = DA380003 -/* 0157C 809D4B2C AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 01580 809D4B30 8FA900A4 */ lw $t1, 0x00A4($sp) -/* 01584 809D4B34 3C05809E */ lui $a1, %hi(D_809DBFE8) ## $a1 = 809E0000 -/* 01588 809D4B38 24A5BFE8 */ addiu $a1, $a1, %lo(D_809DBFE8) ## $a1 = 809DBFE8 -/* 0158C 809D4B3C 8D240000 */ lw $a0, 0x0000($t1) ## 00000000 -/* 01590 809D4B40 240603F3 */ addiu $a2, $zero, 0x03F3 ## $a2 = 000003F3 -/* 01594 809D4B44 AFA20074 */ sw $v0, 0x0074($sp) -/* 01598 809D4B48 0C0346A2 */ jal Matrix_NewMtx -/* 0159C 809D4B4C AFA80028 */ sw $t0, 0x0028($sp) -/* 015A0 809D4B50 8FA30074 */ lw $v1, 0x0074($sp) -/* 015A4 809D4B54 8FA80028 */ lw $t0, 0x0028($sp) -/* 015A8 809D4B58 3C0BDE00 */ lui $t3, 0xDE00 ## $t3 = DE000000 -/* 015AC 809D4B5C AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 015B0 809D4B60 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 015B4 809D4B64 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008 -/* 015B8 809D4B68 AE0A02D0 */ sw $t2, 0x02D0($s0) ## 000002D0 -/* 015BC 809D4B6C AC480004 */ sw $t0, 0x0004($v0) ## 00000004 -/* 015C0 809D4B70 AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000 -/* 015C4 809D4B74 10000113 */ beq $zero, $zero, .L809D4FC4 -/* 015C8 809D4B78 9224014D */ lbu $a0, 0x014D($s1) ## 0000014D -.L809D4B7C: -/* 015CC 809D4B7C 0C024F46 */ jal func_80093D18 -/* 015D0 809D4B80 8D840000 */ lw $a0, 0x0000($t4) ## 00000000 -/* 015D4 809D4B84 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 015D8 809D4B88 3C0EFA00 */ lui $t6, 0xFA00 ## $t6 = FA000000 -/* 015DC 809D4B8C 240FFFFF */ addiu $t7, $zero, 0xFFFF ## $t7 = FFFFFFFF -/* 015E0 809D4B90 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008 -/* 015E4 809D4B94 AE0D02C0 */ sw $t5, 0x02C0($s0) ## 000002C0 -/* 015E8 809D4B98 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004 -/* 015EC 809D4B9C AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 015F0 809D4BA0 86220184 */ lh $v0, 0x0184($s1) ## 00000184 -/* 015F4 809D4BA4 50400026 */ beql $v0, $zero, .L809D4C40 -/* 015F8 809D4BA8 C62C0180 */ lwc1 $f12, 0x0180($s1) ## 00000180 -/* 015FC 809D4BAC 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00 -/* 01600 809D4BB0 3C01809E */ lui $at, %hi(D_809DC110) ## $at = 809E0000 -/* 01604 809D4BB4 C428C110 */ lwc1 $f8, %lo(D_809DC110)($at) -/* 01608 809D4BB8 468021A0 */ cvt.s.w $f6, $f4 -/* 0160C 809D4BBC 46083282 */ mul.s $f10, $f6, $f8 -/* 01610 809D4BC0 E7AA0060 */ swc1 $f10, 0x0060($sp) -/* 01614 809D4BC4 9224017C */ lbu $a0, 0x017C($s1) ## 0000017C -/* 01618 809D4BC8 00800821 */ addu $at, $a0, $zero -/* 0161C 809D4BCC 00042080 */ sll $a0, $a0, 2 -/* 01620 809D4BD0 00812023 */ subu $a0, $a0, $at -/* 01624 809D4BD4 00042300 */ sll $a0, $a0, 12 -/* 01628 809D4BD8 00042400 */ sll $a0, $a0, 16 -/* 0162C 809D4BDC 0C01DE1C */ jal Math_SinS - ## sins? -/* 01630 809D4BE0 00042403 */ sra $a0, $a0, 16 -/* 01634 809D4BE4 C7B00060 */ lwc1 $f16, 0x0060($sp) -/* 01638 809D4BE8 46100482 */ mul.s $f18, $f0, $f16 -/* 0163C 809D4BEC E7B20068 */ swc1 $f18, 0x0068($sp) -/* 01640 809D4BF0 9224017C */ lbu $a0, 0x017C($s1) ## 0000017C -/* 01644 809D4BF4 00800821 */ addu $at, $a0, $zero -/* 01648 809D4BF8 000420C0 */ sll $a0, $a0, 3 -/* 0164C 809D4BFC 00812023 */ subu $a0, $a0, $at -/* 01650 809D4C00 000420C0 */ sll $a0, $a0, 3 -/* 01654 809D4C04 00812023 */ subu $a0, $a0, $at -/* 01658 809D4C08 00042200 */ sll $a0, $a0, 8 -/* 0165C 809D4C0C 00042400 */ sll $a0, $a0, 16 -/* 01660 809D4C10 0C01DE1C */ jal Math_SinS - ## sins? -/* 01664 809D4C14 00042403 */ sra $a0, $a0, 16 -/* 01668 809D4C18 C7A40060 */ lwc1 $f4, 0x0060($sp) -/* 0166C 809D4C1C C7AC0068 */ lwc1 $f12, 0x0068($sp) -/* 01670 809D4C20 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 01674 809D4C24 46040182 */ mul.s $f6, $f0, $f4 -/* 01678 809D4C28 0C0342DC */ jal Matrix_RotateX -/* 0167C 809D4C2C E7A60064 */ swc1 $f6, 0x0064($sp) -/* 01680 809D4C30 C7AC0064 */ lwc1 $f12, 0x0064($sp) -/* 01684 809D4C34 0C034348 */ jal Matrix_RotateY -/* 01688 809D4C38 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 0168C 809D4C3C C62C0180 */ lwc1 $f12, 0x0180($s1) ## 00000180 -.L809D4C40: -/* 01690 809D4C40 0C0343B5 */ jal Matrix_RotateZ -/* 01694 809D4C44 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 01698 809D4C48 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 0169C 809D4C4C 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000 -/* 016A0 809D4C50 37390003 */ ori $t9, $t9, 0x0003 ## $t9 = DA380003 -/* 016A4 809D4C54 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 016A8 809D4C58 AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0 -/* 016AC 809D4C5C AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 016B0 809D4C60 8FA900A4 */ lw $t1, 0x00A4($sp) -/* 016B4 809D4C64 3C05809E */ lui $a1, %hi(D_809DBFFC) ## $a1 = 809E0000 -/* 016B8 809D4C68 24A5BFFC */ addiu $a1, $a1, %lo(D_809DBFFC) ## $a1 = 809DBFFC -/* 016BC 809D4C6C 8D240000 */ lw $a0, 0x0000($t1) ## 00000000 -/* 016C0 809D4C70 24060406 */ addiu $a2, $zero, 0x0406 ## $a2 = 00000406 -/* 016C4 809D4C74 0C0346A2 */ jal Matrix_NewMtx -/* 016C8 809D4C78 AFA2005C */ sw $v0, 0x005C($sp) -/* 016CC 809D4C7C 8FA3005C */ lw $v1, 0x005C($sp) -/* 016D0 809D4C80 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00 -/* 016D4 809D4C84 3C0C809D */ lui $t4, %hi(D_809D5CA0) ## $t4 = 809D0000 -/* 016D8 809D4C88 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 016DC 809D4C8C 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 016E0 809D4C90 258C5CA0 */ addiu $t4, $t4, %lo(D_809D5CA0) ## $t4 = 809D5CA0 -/* 016E4 809D4C94 3C0BDE00 */ lui $t3, 0xDE00 ## $t3 = DE000000 -/* 016E8 809D4C98 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008 -/* 016EC 809D4C9C AE0A02C0 */ sw $t2, 0x02C0($s0) ## 000002C0 -/* 016F0 809D4CA0 3C06C270 */ lui $a2, 0xC270 ## $a2 = C2700000 -/* 016F4 809D4CA4 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 016F8 809D4CA8 46006386 */ mov.s $f14, $f12 -/* 016FC 809D4CAC AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004 -/* 01700 809D4CB0 0C034261 */ jal Matrix_Translate -/* 01704 809D4CB4 AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000 -/* 01708 809D4CB8 8FA400A4 */ lw $a0, 0x00A4($sp) -/* 0170C 809D4CBC 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 01710 809D4CC0 34211DA0 */ ori $at, $at, 0x1DA0 ## $at = 00011DA0 -/* 01714 809D4CC4 0C0347F5 */ jal func_800D1FD4 -/* 01718 809D4CC8 00812021 */ addu $a0, $a0, $at -/* 0171C 809D4CCC 3C014020 */ lui $at, 0x4020 ## $at = 40200000 -/* 01720 809D4CD0 44816000 */ mtc1 $at, $f12 ## $f12 = 2.50 -/* 01724 809D4CD4 3C01809E */ lui $at, %hi(D_809DC114) ## $at = 809E0000 -/* 01728 809D4CD8 C42EC114 */ lwc1 $f14, %lo(D_809DC114)($at) -/* 0172C 809D4CDC 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000 -/* 01730 809D4CE0 0C0342A3 */ jal Matrix_Scale -/* 01734 809D4CE4 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 01738 809D4CE8 922D017C */ lbu $t5, 0x017C($s1) ## 0000017C -/* 0173C 809D4CEC 31AE0001 */ andi $t6, $t5, 0x0001 ## $t6 = 00000000 -/* 01740 809D4CF0 11C00006 */ beq $t6, $zero, .L809D4D0C -/* 01744 809D4CF4 3C01809E */ lui $at, %hi(D_809DC118) ## $at = 809E0000 -/* 01748 809D4CF8 C42CC118 */ lwc1 $f12, %lo(D_809DC118)($at) -/* 0174C 809D4CFC 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 01750 809D4D00 44066000 */ mfc1 $a2, $f12 -/* 01754 809D4D04 0C0342A3 */ jal Matrix_Scale -/* 01758 809D4D08 46006386 */ mov.s $f14, $f12 -.L809D4D0C: -/* 0175C 809D4D0C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 01760 809D4D10 3C18FA00 */ lui $t8, 0xFA00 ## $t8 = FA000000 -/* 01764 809D4D14 2419C89B */ addiu $t9, $zero, 0xC89B ## $t9 = FFFFC89B -/* 01768 809D4D18 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008 -/* 0176C 809D4D1C AE0F02D0 */ sw $t7, 0x02D0($s0) ## 000002D0 -/* 01770 809D4D20 AC580000 */ sw $t8, 0x0000($v0) ## 00000000 -/* 01774 809D4D24 AC590004 */ sw $t9, 0x0004($v0) ## 00000004 -/* 01778 809D4D28 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 0177C 809D4D2C 3C0AE700 */ lui $t2, 0xE700 ## $t2 = E7000000 -/* 01780 809D4D30 3C0CFB00 */ lui $t4, 0xFB00 ## $t4 = FB000000 -/* 01784 809D4D34 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008 -/* 01788 809D4D38 AE0902D0 */ sw $t1, 0x02D0($s0) ## 000002D0 -/* 0178C 809D4D3C AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000 -/* 01790 809D4D40 AC400004 */ sw $zero, 0x0004($v0) ## 00000004 -/* 01794 809D4D44 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 01798 809D4D48 3C0DFF32 */ lui $t5, 0xFF32 ## $t5 = FF320000 -/* 0179C 809D4D4C 3C0FDA38 */ lui $t7, 0xDA38 ## $t7 = DA380000 -/* 017A0 809D4D50 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 017A4 809D4D54 AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0 -/* 017A8 809D4D58 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000 -/* 017AC 809D4D5C AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004 -/* 017B0 809D4D60 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 017B4 809D4D64 35EF0003 */ ori $t7, $t7, 0x0003 ## $t7 = DA380003 -/* 017B8 809D4D68 3C05809E */ lui $a1, %hi(D_809DC010) ## $a1 = 809E0000 -/* 017BC 809D4D6C 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 017C0 809D4D70 AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002D0 -/* 017C4 809D4D74 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 017C8 809D4D78 8FB800A4 */ lw $t8, 0x00A4($sp) -/* 017CC 809D4D7C 24A5C010 */ addiu $a1, $a1, %lo(D_809DC010) ## $a1 = 809DC010 -/* 017D0 809D4D80 2406042B */ addiu $a2, $zero, 0x042B ## $a2 = 0000042B -/* 017D4 809D4D84 8F040000 */ lw $a0, 0x0000($t8) ## FA000000 -/* 017D8 809D4D88 0C0346A2 */ jal Matrix_NewMtx -/* 017DC 809D4D8C AFA20048 */ sw $v0, 0x0048($sp) -/* 017E0 809D4D90 8FA30048 */ lw $v1, 0x0048($sp) -/* 017E4 809D4D94 3C0A809E */ lui $t2, %hi(D_809D9C38) ## $t2 = 809E0000 -/* 017E8 809D4D98 254A9C38 */ addiu $t2, $t2, %lo(D_809D9C38) ## $t2 = 809D9C38 -/* 017EC 809D4D9C AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 017F0 809D4DA0 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 017F4 809D4DA4 3C09DE00 */ lui $t1, 0xDE00 ## $t1 = DE000000 -/* 017F8 809D4DA8 3C0CFA00 */ lui $t4, 0xFA00 ## $t4 = FA000000 -/* 017FC 809D4DAC 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 01800 809D4DB0 AE1902D0 */ sw $t9, 0x02D0($s0) ## 000002D0 -/* 01804 809D4DB4 AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004 -/* 01808 809D4DB8 AC490000 */ sw $t1, 0x0000($v0) ## 00000000 -/* 0180C 809D4DBC 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 01810 809D4DC0 240D0082 */ addiu $t5, $zero, 0x0082 ## $t5 = 00000082 -/* 01814 809D4DC4 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 01818 809D4DC8 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 0181C 809D4DCC AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0 -/* 01820 809D4DD0 AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004 -/* 01824 809D4DD4 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000 -/* 01828 809D4DD8 8E26002C */ lw $a2, 0x002C($s1) ## 0000002C -/* 0182C 809D4DDC C62E0080 */ lwc1 $f14, 0x0080($s1) ## 00000080 -/* 01830 809D4DE0 0C034261 */ jal Matrix_Translate -/* 01834 809D4DE4 C62C0024 */ lwc1 $f12, 0x0024($s1) ## 00000024 -/* 01838 809D4DE8 C62C0188 */ lwc1 $f12, 0x0188($s1) ## 00000188 -/* 0183C 809D4DEC 0C0342DC */ jal Matrix_RotateX -/* 01840 809D4DF0 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 01844 809D4DF4 C62C0190 */ lwc1 $f12, 0x0190($s1) ## 00000190 -/* 01848 809D4DF8 0C0343B5 */ jal Matrix_RotateZ -/* 0184C 809D4DFC 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 01850 809D4E00 3C01809E */ lui $at, %hi(D_809DC11C) ## $at = 809E0000 -/* 01854 809D4E04 C420C11C */ lwc1 $f0, %lo(D_809DC11C)($at) -/* 01858 809D4E08 C62A0058 */ lwc1 $f10, 0x0058($s1) ## 00000058 -/* 0185C 809D4E0C C6280050 */ lwc1 $f8, 0x0050($s1) ## 00000050 -/* 01860 809D4E10 44807000 */ mtc1 $zero, $f14 ## $f14 = 0.00 -/* 01864 809D4E14 46005400 */ add.s $f16, $f10, $f0 -/* 01868 809D4E18 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 0186C 809D4E1C 46004300 */ add.s $f12, $f8, $f0 -/* 01870 809D4E20 44068000 */ mfc1 $a2, $f16 -/* 01874 809D4E24 0C0342A3 */ jal Matrix_Scale -/* 01878 809D4E28 00000000 */ nop -/* 0187C 809D4E2C 862E00B6 */ lh $t6, 0x00B6($s1) ## 000000B6 -/* 01880 809D4E30 3C014700 */ lui $at, 0x4700 ## $at = 47000000 -/* 01884 809D4E34 44813000 */ mtc1 $at, $f6 ## $f6 = 32768.00 -/* 01888 809D4E38 448E9000 */ mtc1 $t6, $f18 ## $f18 = 0.00 -/* 0188C 809D4E3C 3C01809E */ lui $at, %hi(D_809DC120) ## $at = 809E0000 -/* 01890 809D4E40 C42AC120 */ lwc1 $f10, %lo(D_809DC120)($at) -/* 01894 809D4E44 46809120 */ cvt.s.w $f4, $f18 -/* 01898 809D4E48 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 0189C 809D4E4C 46062203 */ div.s $f8, $f4, $f6 -/* 018A0 809D4E50 460A4302 */ mul.s $f12, $f8, $f10 -/* 018A4 809D4E54 0C034348 */ jal Matrix_RotateY -/* 018A8 809D4E58 00000000 */ nop -/* 018AC 809D4E5C 862F00B4 */ lh $t7, 0x00B4($s1) ## 000000B4 -/* 018B0 809D4E60 3C014700 */ lui $at, 0x4700 ## $at = 47000000 -/* 018B4 809D4E64 44812000 */ mtc1 $at, $f4 ## $f4 = 32768.00 -/* 018B8 809D4E68 448F8000 */ mtc1 $t7, $f16 ## $f16 = 0.00 -/* 018BC 809D4E6C 3C01809E */ lui $at, %hi(D_809DC124) ## $at = 809E0000 -/* 018C0 809D4E70 C428C124 */ lwc1 $f8, %lo(D_809DC124)($at) -/* 018C4 809D4E74 468084A0 */ cvt.s.w $f18, $f16 -/* 018C8 809D4E78 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 018CC 809D4E7C 46049183 */ div.s $f6, $f18, $f4 -/* 018D0 809D4E80 46083302 */ mul.s $f12, $f6, $f8 -/* 018D4 809D4E84 0C0342DC */ jal Matrix_RotateX -/* 018D8 809D4E88 00000000 */ nop -/* 018DC 809D4E8C 863800B8 */ lh $t8, 0x00B8($s1) ## 000000B8 -/* 018E0 809D4E90 3C014700 */ lui $at, 0x4700 ## $at = 47000000 -/* 018E4 809D4E94 44819000 */ mtc1 $at, $f18 ## $f18 = 32768.00 -/* 018E8 809D4E98 44985000 */ mtc1 $t8, $f10 ## $f10 = 0.00 -/* 018EC 809D4E9C 3C01809E */ lui $at, %hi(D_809DC128) ## $at = 809E0000 -/* 018F0 809D4EA0 C426C128 */ lwc1 $f6, %lo(D_809DC128)($at) -/* 018F4 809D4EA4 46805420 */ cvt.s.w $f16, $f10 -/* 018F8 809D4EA8 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 018FC 809D4EAC 46128103 */ div.s $f4, $f16, $f18 -/* 01900 809D4EB0 46062302 */ mul.s $f12, $f4, $f6 -/* 01904 809D4EB4 0C0343B5 */ jal Matrix_RotateZ -/* 01908 809D4EB8 00000000 */ nop -/* 0190C 809D4EBC 86220184 */ lh $v0, 0x0184($s1) ## 00000184 -/* 01910 809D4EC0 50400026 */ beql $v0, $zero, .L809D4F5C -/* 01914 809D4EC4 C62C0180 */ lwc1 $f12, 0x0180($s1) ## 00000180 -/* 01918 809D4EC8 44824000 */ mtc1 $v0, $f8 ## $f8 = 0.00 -/* 0191C 809D4ECC 3C01809E */ lui $at, %hi(D_809DC12C) ## $at = 809E0000 -/* 01920 809D4ED0 C430C12C */ lwc1 $f16, %lo(D_809DC12C)($at) -/* 01924 809D4ED4 468042A0 */ cvt.s.w $f10, $f8 -/* 01928 809D4ED8 46105482 */ mul.s $f18, $f10, $f16 -/* 0192C 809D4EDC E7B20034 */ swc1 $f18, 0x0034($sp) -/* 01930 809D4EE0 9224017C */ lbu $a0, 0x017C($s1) ## 0000017C -/* 01934 809D4EE4 00800821 */ addu $at, $a0, $zero -/* 01938 809D4EE8 00042080 */ sll $a0, $a0, 2 -/* 0193C 809D4EEC 00812023 */ subu $a0, $a0, $at -/* 01940 809D4EF0 00042300 */ sll $a0, $a0, 12 -/* 01944 809D4EF4 00042400 */ sll $a0, $a0, 16 -/* 01948 809D4EF8 0C01DE1C */ jal Math_SinS - ## sins? -/* 0194C 809D4EFC 00042403 */ sra $a0, $a0, 16 -/* 01950 809D4F00 C7A40034 */ lwc1 $f4, 0x0034($sp) -/* 01954 809D4F04 46040182 */ mul.s $f6, $f0, $f4 -/* 01958 809D4F08 E7A6003C */ swc1 $f6, 0x003C($sp) -/* 0195C 809D4F0C 9224017C */ lbu $a0, 0x017C($s1) ## 0000017C -/* 01960 809D4F10 00800821 */ addu $at, $a0, $zero -/* 01964 809D4F14 000420C0 */ sll $a0, $a0, 3 -/* 01968 809D4F18 00812023 */ subu $a0, $a0, $at -/* 0196C 809D4F1C 000420C0 */ sll $a0, $a0, 3 -/* 01970 809D4F20 00812023 */ subu $a0, $a0, $at -/* 01974 809D4F24 00042200 */ sll $a0, $a0, 8 -/* 01978 809D4F28 00042400 */ sll $a0, $a0, 16 -/* 0197C 809D4F2C 0C01DE1C */ jal Math_SinS - ## sins? -/* 01980 809D4F30 00042403 */ sra $a0, $a0, 16 -/* 01984 809D4F34 C7A80034 */ lwc1 $f8, 0x0034($sp) -/* 01988 809D4F38 C7AC003C */ lwc1 $f12, 0x003C($sp) -/* 0198C 809D4F3C 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 01990 809D4F40 46080282 */ mul.s $f10, $f0, $f8 -/* 01994 809D4F44 0C0342DC */ jal Matrix_RotateX -/* 01998 809D4F48 E7AA0038 */ swc1 $f10, 0x0038($sp) -/* 0199C 809D4F4C C7AC0038 */ lwc1 $f12, 0x0038($sp) -/* 019A0 809D4F50 0C034348 */ jal Matrix_RotateY -/* 019A4 809D4F54 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 019A8 809D4F58 C62C0180 */ lwc1 $f12, 0x0180($s1) ## 00000180 -.L809D4F5C: -/* 019AC 809D4F5C 0C0343B5 */ jal Matrix_RotateZ -/* 019B0 809D4F60 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 019B4 809D4F64 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 019B8 809D4F68 3C09DA38 */ lui $t1, 0xDA38 ## $t1 = DA380000 -/* 019BC 809D4F6C 35290003 */ ori $t1, $t1, 0x0003 ## $t1 = DA380003 -/* 019C0 809D4F70 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 019C4 809D4F74 AE1902D0 */ sw $t9, 0x02D0($s0) ## 000002D0 -/* 019C8 809D4F78 AC490000 */ sw $t1, 0x0000($v0) ## 00000000 -/* 019CC 809D4F7C 8FAA00A4 */ lw $t2, 0x00A4($sp) -/* 019D0 809D4F80 3C05809E */ lui $a1, %hi(D_809DC024) ## $a1 = 809E0000 -/* 019D4 809D4F84 24A5C024 */ addiu $a1, $a1, %lo(D_809DC024) ## $a1 = 809DC024 -/* 019D8 809D4F88 8D440000 */ lw $a0, 0x0000($t2) ## 00000000 -/* 019DC 809D4F8C 24060450 */ addiu $a2, $zero, 0x0450 ## $a2 = 00000450 -/* 019E0 809D4F90 0C0346A2 */ jal Matrix_NewMtx -/* 019E4 809D4F94 AFA20030 */ sw $v0, 0x0030($sp) -/* 019E8 809D4F98 8FA30030 */ lw $v1, 0x0030($sp) -/* 019EC 809D4F9C 3C0D809E */ lui $t5, %hi(D_809DBF20) ## $t5 = 809E0000 -/* 019F0 809D4FA0 25ADBF20 */ addiu $t5, $t5, %lo(D_809DBF20) ## $t5 = 809DBF20 -/* 019F4 809D4FA4 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 019F8 809D4FA8 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 019FC 809D4FAC 3C0CDE00 */ lui $t4, 0xDE00 ## $t4 = DE000000 -/* 01A00 809D4FB0 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 01A04 809D4FB4 AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0 -/* 01A08 809D4FB8 AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004 -/* 01A0C 809D4FBC AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000 -/* 01A10 809D4FC0 9224014D */ lbu $a0, 0x014D($s1) ## 0000014D -.L809D4FC4: -/* 01A14 809D4FC4 50800004 */ beql $a0, $zero, .L809D4FD8 -/* 01A18 809D4FC8 8FAE00A4 */ lw $t6, 0x00A4($sp) -/* 01A1C 809D4FCC 0C2754F3 */ jal func_809D53CC -/* 01A20 809D4FD0 8FA400A4 */ lw $a0, 0x00A4($sp) -/* 01A24 809D4FD4 8FAE00A4 */ lw $t6, 0x00A4($sp) -.L809D4FD8: -/* 01A28 809D4FD8 3C06809E */ lui $a2, %hi(D_809DC038) ## $a2 = 809E0000 -/* 01A2C 809D4FDC 24C6C038 */ addiu $a2, $a2, %lo(D_809DC038) ## $a2 = 809DC038 -/* 01A30 809D4FE0 27A40084 */ addiu $a0, $sp, 0x0084 ## $a0 = FFFFFFE4 -/* 01A34 809D4FE4 2407045F */ addiu $a3, $zero, 0x045F ## $a3 = 0000045F -/* 01A38 809D4FE8 0C031AD5 */ jal Graph_CloseDisps -/* 01A3C 809D4FEC 8DC50000 */ lw $a1, 0x0000($t6) ## 00000000 -/* 01A40 809D4FF0 8FBF001C */ lw $ra, 0x001C($sp) -/* 01A44 809D4FF4 8FB00014 */ lw $s0, 0x0014($sp) -/* 01A48 809D4FF8 8FB10018 */ lw $s1, 0x0018($sp) -/* 01A4C 809D4FFC 03E00008 */ jr $ra -/* 01A50 809D5000 27BD00A0 */ addiu $sp, $sp, 0x00A0 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/EnClearTag_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/EnClearTag_Init.s deleted file mode 100644 index a6f4a7364d..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/EnClearTag_Init.s +++ /dev/null @@ -1,129 +0,0 @@ -.late_rodata -glabel D_809DC0E4 - .float 0.4 - -.text -glabel EnClearTag_Init -/* 0040C 809D39BC 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 -/* 00410 809D39C0 AFB10018 */ sw $s1, 0x0018($sp) -/* 00414 809D39C4 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000 -/* 00418 809D39C8 AFA50034 */ sw $a1, 0x0034($sp) -/* 0041C 809D39CC 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00420 809D39D0 AFBF001C */ sw $ra, 0x001C($sp) -/* 00424 809D39D4 26250194 */ addiu $a1, $s1, 0x0194 ## $a1 = 00000194 -/* 00428 809D39D8 AFB00014 */ sw $s0, 0x0014($sp) -/* 0042C 809D39DC 0C0170D9 */ jal Collider_InitCylinder - -/* 00430 809D39E0 AFA50020 */ sw $a1, 0x0020($sp) -/* 00434 809D39E4 862E001C */ lh $t6, 0x001C($s1) ## 0000001C -/* 00438 809D39E8 24100064 */ addiu $s0, $zero, 0x0064 ## $s0 = 00000064 -/* 0043C 809D39EC 240B0005 */ addiu $t3, $zero, 0x0005 ## $t3 = 00000005 -/* 00440 809D39F0 160E002C */ bne $s0, $t6, .L809D3AA4 -/* 00444 809D39F4 02203025 */ or $a2, $s1, $zero ## $a2 = 00000000 -/* 00448 809D39F8 3C01420C */ lui $at, 0x420C ## $at = 420C0000 -/* 0044C 809D39FC 44812000 */ mtc1 $at, $f4 ## $f4 = 35.00 -/* 00450 809D3A00 240F0064 */ addiu $t7, $zero, 0x0064 ## $t7 = 00000064 -/* 00454 809D3A04 24180046 */ addiu $t8, $zero, 0x0046 ## $t8 = 00000046 -/* 00458 809D3A08 A22F014E */ sb $t7, 0x014E($s1) ## 0000014E -/* 0045C 809D3A0C A6380150 */ sh $t8, 0x0150($s1) ## 00000150 -/* 00460 809D3A10 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00464 809D3A14 0C00B642 */ jal func_8002D908 -/* 00468 809D3A18 E6240068 */ swc1 $f4, 0x0068($s1) ## 00000068 -/* 0046C 809D3A1C 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000 -.L809D3A20: -/* 00470 809D3A20 0C00B5FB */ jal func_8002D7EC -/* 00474 809D3A24 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00478 809D3A28 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 -/* 0047C 809D3A2C 00108400 */ sll $s0, $s0, 16 -/* 00480 809D3A30 00108403 */ sra $s0, $s0, 16 -/* 00484 809D3A34 1A00FFFA */ blez $s0, .L809D3A20 -/* 00488 809D3A38 00000000 */ nop -/* 0048C 809D3A3C 3C01809E */ lui $at, %hi(D_809DC0E4) ## $at = 809E0000 -/* 00490 809D3A40 C420C0E4 */ lwc1 $f0, %lo(D_809DC0E4)($at) -/* 00494 809D3A44 3C014000 */ lui $at, 0x4000 ## $at = 40000000 -/* 00498 809D3A48 44813000 */ mtc1 $at, $f6 ## $f6 = 2.00 -/* 0049C 809D3A4C 863900B4 */ lh $t9, 0x00B4($s1) ## 000000B4 -/* 004A0 809D3A50 3C01428C */ lui $at, 0x428C ## $at = 428C0000 -/* 004A4 809D3A54 44814000 */ mtc1 $at, $f8 ## $f8 = 70.00 -/* 004A8 809D3A58 00194023 */ subu $t0, $zero, $t9 -/* 004AC 809D3A5C A62800B4 */ sh $t0, 0x00B4($s1) ## 000000B4 -/* 004B0 809D3A60 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 004B4 809D3A64 E6200050 */ swc1 $f0, 0x0050($s1) ## 00000050 -/* 004B8 809D3A68 E6200054 */ swc1 $f0, 0x0054($s1) ## 00000054 -/* 004BC 809D3A6C E6260058 */ swc1 $f6, 0x0058($s1) ## 00000058 -/* 004C0 809D3A70 0C00B642 */ jal func_8002D908 -/* 004C4 809D3A74 E6280068 */ swc1 $f8, 0x0068($s1) ## 00000068 -/* 004C8 809D3A78 3C07809D */ lui $a3, %hi(D_809D5C6C) ## $a3 = 809D0000 -/* 004CC 809D3A7C 24E75C6C */ addiu $a3, $a3, %lo(D_809D5C6C) ## $a3 = 809D5C6C -/* 004D0 809D3A80 8FA40034 */ lw $a0, 0x0034($sp) -/* 004D4 809D3A84 8FA50020 */ lw $a1, 0x0020($sp) -/* 004D8 809D3A88 0C01712B */ jal Collider_SetCylinder - -/* 004DC 809D3A8C 02203025 */ or $a2, $s1, $zero ## $a2 = 00000000 -/* 004E0 809D3A90 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 004E4 809D3A94 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 004E8 809D3A98 2405182A */ addiu $a1, $zero, 0x182A ## $a1 = 0000182A -/* 004EC 809D3A9C 10000034 */ beq $zero, $zero, .L809D3B70 -/* 004F0 809D3AA0 8FBF001C */ lw $ra, 0x001C($sp) -.L809D3AA4: -/* 004F4 809D3AA4 8E290004 */ lw $t1, 0x0004($s1) ## 00000004 -/* 004F8 809D3AA8 A22B001F */ sb $t3, 0x001F($s1) ## 0000001F -/* 004FC 809D3AAC 3C07809D */ lui $a3, %hi(D_809D5C40) ## $a3 = 809D0000 -/* 00500 809D3AB0 352A0001 */ ori $t2, $t1, 0x0001 ## $t2 = 00000001 -/* 00504 809D3AB4 AE2A0004 */ sw $t2, 0x0004($s1) ## 00000004 -/* 00508 809D3AB8 8FA50020 */ lw $a1, 0x0020($sp) -/* 0050C 809D3ABC 8FA40034 */ lw $a0, 0x0034($sp) -/* 00510 809D3AC0 0C01712B */ jal Collider_SetCylinder - -/* 00514 809D3AC4 24E75C40 */ addiu $a3, $a3, %lo(D_809D5C40) ## $a3 = 809D5C40 -/* 00518 809D3AC8 862D001C */ lh $t5, 0x001C($s1) ## 0000001C -/* 0051C 809D3ACC 240C0003 */ addiu $t4, $zero, 0x0003 ## $t4 = 00000003 -/* 00520 809D3AD0 A22C00AF */ sb $t4, 0x00AF($s1) ## 000000AF -/* 00524 809D3AD4 15A0000E */ bne $t5, $zero, .L809D3B10 -/* 00528 809D3AD8 3C03809D */ lui $v1, %hi(D_809D5C30) ## $v1 = 809D0000 -/* 0052C 809D3ADC 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 00530 809D3AE0 240E0046 */ addiu $t6, $zero, 0x0046 ## $t6 = 00000046 -/* 00534 809D3AE4 240F00FA */ addiu $t7, $zero, 0x00FA ## $t7 = 000000FA -/* 00538 809D3AE8 24180002 */ addiu $t8, $zero, 0x0002 ## $t8 = 00000002 -/* 0053C 809D3AEC 24194000 */ addiu $t9, $zero, 0x4000 ## $t9 = 00004000 -/* 00540 809D3AF0 24080014 */ addiu $t0, $zero, 0x0014 ## $t0 = 00000014 -/* 00544 809D3AF4 A62E0150 */ sh $t6, 0x0150($s1) ## 00000150 -/* 00548 809D3AF8 A62F0152 */ sh $t7, 0x0152($s1) ## 00000152 -/* 0054C 809D3AFC A238014E */ sb $t8, 0x014E($s1) ## 0000014E -/* 00550 809D3B00 A6390030 */ sh $t9, 0x0030($s1) ## 00000030 -/* 00554 809D3B04 A22501E0 */ sb $a1, 0x01E0($s1) ## 000001E0 -/* 00558 809D3B08 A63001FC */ sh $s0, 0x01FC($s1) ## 000001FC -/* 0055C 809D3B0C A6280154 */ sh $t0, 0x0154($s1) ## 00000154 -.L809D3B10: -/* 00560 809D3B10 24635C30 */ addiu $v1, $v1, %lo(D_809D5C30) ## $v1 = 809D5C30 -/* 00564 809D3B14 90690000 */ lbu $t1, 0x0000($v1) ## 809D5C30 -/* 00568 809D3B18 3C04809E */ lui $a0, %hi(D_809DC3D0) ## $a0 = 809E0000 -/* 0056C 809D3B1C 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 00570 809D3B20 15200012 */ bne $t1, $zero, .L809D3B6C -/* 00574 809D3B24 2484C3D0 */ addiu $a0, $a0, %lo(D_809DC3D0) ## $a0 = 809DC3D0 -/* 00578 809D3B28 8FAA0034 */ lw $t2, 0x0034($sp) -/* 0057C 809D3B2C A0650000 */ sb $a1, 0x0000($v1) ## 809D5C30 -/* 00580 809D3B30 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00584 809D3B34 002A0821 */ addu $at, $at, $t2 -/* 00588 809D3B38 AC241E10 */ sw $a0, 0x1E10($at) ## 00011E10 -/* 0058C 809D3B3C 2403006C */ addiu $v1, $zero, 0x006C ## $v1 = 0000006C -/* 00590 809D3B40 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L809D3B44: -/* 00594 809D3B44 00430019 */ multu $v0, $v1 -/* 00598 809D3B48 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001 -/* 0059C 809D3B4C 00021400 */ sll $v0, $v0, 16 -/* 005A0 809D3B50 00021403 */ sra $v0, $v0, 16 -/* 005A4 809D3B54 28410064 */ slti $at, $v0, 0x0064 -/* 005A8 809D3B58 00005812 */ mflo $t3 -/* 005AC 809D3B5C 008B6021 */ addu $t4, $a0, $t3 -/* 005B0 809D3B60 1420FFF8 */ bne $at, $zero, .L809D3B44 -/* 005B4 809D3B64 A1800000 */ sb $zero, 0x0000($t4) ## 00000003 -/* 005B8 809D3B68 A225014D */ sb $a1, 0x014D($s1) ## 0000014D -.L809D3B6C: -/* 005BC 809D3B6C 8FBF001C */ lw $ra, 0x001C($sp) -.L809D3B70: -/* 005C0 809D3B70 8FB00014 */ lw $s0, 0x0014($sp) -/* 005C4 809D3B74 8FB10018 */ lw $s1, 0x0018($sp) -/* 005C8 809D3B78 03E00008 */ jr $ra -/* 005CC 809D3B7C 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/EnClearTag_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/EnClearTag_Update.s deleted file mode 100644 index 1d956b4791..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/EnClearTag_Update.s +++ /dev/null @@ -1,1022 +0,0 @@ -.rdata -glabel D_809DBFA0 - .asciz "DEMO_MODE %d\n" - .balign 4 - -glabel D_809DBFB0 - .asciz "CAMERA_NO %d\n" - .balign 4 - -.late_rodata -glabel D_809DC0EC - .float 6.28318548203 - -glabel D_809DC0F0 - .word 0x4622F983 -glabel D_809DC0F4 - .word 0x4622F983 -glabel D_809DC0F8 - .float 0.2 - -glabel D_809DC0FC - .word 0x3FD33333 -glabel D_809DC100 - .float 0.3 - -glabel D_809DC104 - .float 0.3 - -glabel D_809DC108 - .float 0.15 - -glabel D_809DC10C - .float 0.075 - -.text -glabel EnClearTag_Update -/* 00688 809D3C38 27BDFF38 */ addiu $sp, $sp, 0xFF38 ## $sp = FFFFFF38 -/* 0068C 809D3C3C AFBF0034 */ sw $ra, 0x0034($sp) -/* 00690 809D3C40 AFB10030 */ sw $s1, 0x0030($sp) -/* 00694 809D3C44 AFB0002C */ sw $s0, 0x002C($sp) -/* 00698 809D3C48 AFA500CC */ sw $a1, 0x00CC($sp) -/* 0069C 809D3C4C A3A000C7 */ sb $zero, 0x00C7($sp) -/* 006A0 809D3C50 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44 -/* 006A4 809D3C54 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 006A8 809D3C58 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000 -/* 006AC 809D3C5C AFAF00B4 */ sw $t7, 0x00B4($sp) -/* 006B0 809D3C60 9098017C */ lbu $t8, 0x017C($a0) ## 0000017C -/* 006B4 809D3C64 9088014D */ lbu $t0, 0x014D($a0) ## 0000014D -/* 006B8 809D3C68 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000 -/* 006BC 809D3C6C 27190001 */ addiu $t9, $t8, 0x0001 ## $t9 = 00000001 -/* 006C0 809D3C70 110102DE */ beq $t0, $at, .L809D47EC -/* 006C4 809D3C74 A099017C */ sb $t9, 0x017C($a0) ## 0000017C -/* 006C8 809D3C78 00104840 */ sll $t1, $s0, 1 -.L809D3C7C: -/* 006CC 809D3C7C 02291021 */ addu $v0, $s1, $t1 -/* 006D0 809D3C80 84430150 */ lh $v1, 0x0150($v0) ## 00000150 -/* 006D4 809D3C84 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 -/* 006D8 809D3C88 00108400 */ sll $s0, $s0, 16 -/* 006DC 809D3C8C 10600003 */ beq $v1, $zero, .L809D3C9C -/* 006E0 809D3C90 00108403 */ sra $s0, $s0, 16 -/* 006E4 809D3C94 246AFFFF */ addiu $t2, $v1, 0xFFFF ## $t2 = FFFFFFFF -/* 006E8 809D3C98 A44A0150 */ sh $t2, 0x0150($v0) ## 00000150 -.L809D3C9C: -/* 006EC 809D3C9C 2A010003 */ slti $at, $s0, 0x0003 -/* 006F0 809D3CA0 5420FFF6 */ bnel $at, $zero, .L809D3C7C -/* 006F4 809D3CA4 00104840 */ sll $t1, $s0, 1 -/* 006F8 809D3CA8 862201FC */ lh $v0, 0x01FC($s1) ## 000001FC -/* 006FC 809D3CAC 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00700 809D3CB0 10400002 */ beq $v0, $zero, .L809D3CBC -/* 00704 809D3CB4 244BFFFF */ addiu $t3, $v0, 0xFFFF ## $t3 = FFFFFFFF -/* 00708 809D3CB8 A62B01FC */ sh $t3, 0x01FC($s1) ## 000001FC -.L809D3CBC: -/* 0070C 809D3CBC 9223014E */ lbu $v1, 0x014E($s1) ## 0000014E -/* 00710 809D3CC0 5060000C */ beql $v1, $zero, .L809D3CF4 -/* 00714 809D3CC4 922201A5 */ lbu $v0, 0x01A5($s1) ## 000001A5 -/* 00718 809D3CC8 10610009 */ beq $v1, $at, .L809D3CF0 -/* 0071C 809D3CCC 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 00720 809D3CD0 10610007 */ beq $v1, $at, .L809D3CF0 -/* 00724 809D3CD4 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A -/* 00728 809D3CD8 106101B4 */ beq $v1, $at, .L809D43AC -/* 0072C 809D3CDC 24010064 */ addiu $at, $zero, 0x0064 ## $at = 00000064 -/* 00730 809D3CE0 1061020A */ beq $v1, $at, .L809D450C -/* 00734 809D3CE4 00000000 */ nop -/* 00738 809D3CE8 1000023E */ beq $zero, $zero, .L809D45E4 -/* 0073C 809D3CEC 28610064 */ slti $at, $v1, 0x0064 -.L809D3CF0: -/* 00740 809D3CF0 922201A5 */ lbu $v0, 0x01A5($s1) ## 000001A5 -.L809D3CF4: -/* 00744 809D3CF4 240E0014 */ addiu $t6, $zero, 0x0014 ## $t6 = 00000014 -/* 00748 809D3CF8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 0074C 809D3CFC 304C0002 */ andi $t4, $v0, 0x0002 ## $t4 = 00000000 -/* 00750 809D3D00 11800024 */ beq $t4, $zero, .L809D3D94 -/* 00754 809D3D04 304DFFFD */ andi $t5, $v0, 0xFFFD ## $t5 = 00000000 -/* 00758 809D3D08 A22D01A5 */ sb $t5, 0x01A5($s1) ## 000001A5 -/* 0075C 809D3D0C A62E0184 */ sh $t6, 0x0184($s1) ## 00000184 -/* 00760 809D3D10 240F0005 */ addiu $t7, $zero, 0x0005 ## $t7 = 00000005 -/* 00764 809D3D14 AFAF0010 */ sw $t7, 0x0010($sp) -/* 00768 809D3D18 24054000 */ addiu $a1, $zero, 0x4000 ## $a1 = 00004000 -/* 0076C 809D3D1C 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF -/* 00770 809D3D20 0C00D09B */ jal Actor_SetColorFilter -/* 00774 809D3D24 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 00778 809D3D28 3C014170 */ lui $at, 0x4170 ## $at = 41700000 -/* 0077C 809D3D2C 44816000 */ mtc1 $at, $f12 ## $f12 = 15.00 -/* 00780 809D3D30 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00784 809D3D34 00000000 */ nop -/* 00788 809D3D38 3C014170 */ lui $at, 0x4170 ## $at = 41700000 -/* 0078C 809D3D3C 44816000 */ mtc1 $at, $f12 ## $f12 = 15.00 -/* 00790 809D3D40 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00794 809D3D44 E6200170 */ swc1 $f0, 0x0170($s1) ## 00000170 -/* 00798 809D3D48 3C014170 */ lui $at, 0x4170 ## $at = 41700000 -/* 0079C 809D3D4C 44816000 */ mtc1 $at, $f12 ## $f12 = 15.00 -/* 007A0 809D3D50 0C00CFC8 */ jal Rand_CenteredFloat - -/* 007A4 809D3D54 E6200174 */ swc1 $f0, 0x0174($s1) ## 00000174 -/* 007A8 809D3D58 E6200178 */ swc1 $f0, 0x0178($s1) ## 00000178 -/* 007AC 809D3D5C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 007B0 809D3D60 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 007B4 809D3D64 240538AD */ addiu $a1, $zero, 0x38AD ## $a1 = 000038AD -/* 007B8 809D3D68 923800AF */ lbu $t8, 0x00AF($s1) ## 000000AF -/* 007BC 809D3D6C 2409000A */ addiu $t1, $zero, 0x000A ## $t1 = 0000000A -/* 007C0 809D3D70 2719FFFF */ addiu $t9, $t8, 0xFFFF ## $t9 = FFFFFFFF -/* 007C4 809D3D74 A23900AF */ sb $t9, 0x00AF($s1) ## 000000AF -/* 007C8 809D3D78 822800AF */ lb $t0, 0x00AF($s1) ## 000000AF -/* 007CC 809D3D7C 5D000006 */ bgtzl $t0, .L809D3D98 -/* 007D0 809D3D80 3C053E4C */ lui $a1, 0x3E4C ## $a1 = 3E4C0000 -/* 007D4 809D3D84 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 007D8 809D3D88 A229014E */ sb $t1, 0x014E($s1) ## 0000014E -/* 007DC 809D3D8C 10000187 */ beq $zero, $zero, .L809D43AC -/* 007E0 809D3D90 E6240060 */ swc1 $f4, 0x0060($s1) ## 00000060 -.L809D3D94: -/* 007E4 809D3D94 3C053E4C */ lui $a1, 0x3E4C ## $a1 = 3E4C0000 -.L809D3D98: -/* 007E8 809D3D98 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3E4CCCCD -/* 007EC 809D3D9C 0C00B58B */ jal Actor_SetScale - -/* 007F0 809D3DA0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 007F4 809D3DA4 862A0150 */ lh $t2, 0x0150($s1) ## 00000150 -/* 007F8 809D3DA8 3C0140E0 */ lui $at, 0x40E0 ## $at = 40E00000 -/* 007FC 809D3DAC 44813000 */ mtc1 $at, $f6 ## $f6 = 7.00 -/* 00800 809D3DB0 8FB000B4 */ lw $s0, 0x00B4($sp) -/* 00804 809D3DB4 15400051 */ bne $t2, $zero, .L809D3EFC -/* 00808 809D3DB8 E6260068 */ swc1 $f6, 0x0068($s1) ## 00000068 -/* 0080C 809D3DBC 862B0152 */ lh $t3, 0x0152($s1) ## 00000152 -/* 00810 809D3DC0 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001 -/* 00814 809D3DC4 240D012C */ addiu $t5, $zero, 0x012C ## $t5 = 0000012C -/* 00818 809D3DC8 15600004 */ bne $t3, $zero, .L809D3DDC -/* 0081C 809D3DCC 3C014248 */ lui $at, 0x4248 ## $at = 42480000 -/* 00820 809D3DD0 A22C014E */ sb $t4, 0x014E($s1) ## 0000014E -/* 00824 809D3DD4 10000043 */ beq $zero, $zero, .L809D3EE4 -/* 00828 809D3DD8 A62D0150 */ sh $t5, 0x0150($s1) ## 00000150 -.L809D3DDC: -/* 0082C 809D3DDC 44816000 */ mtc1 $at, $f12 ## $f12 = 50.00 -/* 00830 809D3DE0 0C00CFBE */ jal Rand_ZeroFloat - -/* 00834 809D3DE4 A220014E */ sb $zero, 0x014E($s1) ## 0000014E -/* 00838 809D3DE8 4600020D */ trunc.w.s $f8, $f0 -/* 0083C 809D3DEC 8629001C */ lh $t1, 0x001C($s1) ## 0000001C -/* 00840 809D3DF0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00844 809D3DF4 44194000 */ mfc1 $t9, $f8 -/* 00848 809D3DF8 00000000 */ nop -/* 0084C 809D3DFC 27280014 */ addiu $t0, $t9, 0x0014 ## $t0 = 00000014 -/* 00850 809D3E00 15210028 */ bne $t1, $at, .L809D3EA4 -/* 00854 809D3E04 A6280150 */ sh $t0, 0x0150($s1) ## 00000150 -/* 00858 809D3E08 0C01DE1C */ jal Math_SinS - ## sins? -/* 0085C 809D3E0C 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B7 -/* 00860 809D3E10 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000 -/* 00864 809D3E14 44815000 */ mtc1 $at, $f10 ## $f10 = 400.00 -/* 00868 809D3E18 00000000 */ nop -/* 0086C 809D3E1C 460A0482 */ mul.s $f18, $f0, $f10 -/* 00870 809D3E20 E7B20094 */ swc1 $f18, 0x0094($sp) -/* 00874 809D3E24 0C01DE0D */ jal Math_CosS - ## coss? -/* 00878 809D3E28 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B7 -/* 0087C 809D3E2C 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000 -/* 00880 809D3E30 44812000 */ mtc1 $at, $f4 ## $f4 = 400.00 -/* 00884 809D3E34 3C01442F */ lui $at, 0x442F ## $at = 442F0000 -/* 00888 809D3E38 44816000 */ mtc1 $at, $f12 ## $f12 = 700.00 -/* 0088C 809D3E3C 46040182 */ mul.s $f6, $f0, $f4 -/* 00890 809D3E40 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00894 809D3E44 E7A60090 */ swc1 $f6, 0x0090($sp) -/* 00898 809D3E48 C6080024 */ lwc1 $f8, 0x0024($s0) ## 00000025 -/* 0089C 809D3E4C C7AA0094 */ lwc1 $f10, 0x0094($sp) -/* 008A0 809D3E50 3C014348 */ lui $at, 0x4348 ## $at = 43480000 -/* 008A4 809D3E54 44816000 */ mtc1 $at, $f12 ## $f12 = 200.00 -/* 008A8 809D3E58 460A4480 */ add.s $f18, $f8, $f10 -/* 008AC 809D3E5C 46120100 */ add.s $f4, $f0, $f18 -/* 008B0 809D3E60 0C00CFBE */ jal Rand_ZeroFloat - -/* 008B4 809D3E64 E6240158 */ swc1 $f4, 0x0158($s1) ## 00000158 -/* 008B8 809D3E68 C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000029 -/* 008BC 809D3E6C 3C014316 */ lui $at, 0x4316 ## $at = 43160000 -/* 008C0 809D3E70 44815000 */ mtc1 $at, $f10 ## $f10 = 150.00 -/* 008C4 809D3E74 46060200 */ add.s $f8, $f0, $f6 -/* 008C8 809D3E78 3C01442F */ lui $at, 0x442F ## $at = 442F0000 -/* 008CC 809D3E7C 44816000 */ mtc1 $at, $f12 ## $f12 = 700.00 -/* 008D0 809D3E80 460A4480 */ add.s $f18, $f8, $f10 -/* 008D4 809D3E84 0C00CFC8 */ jal Rand_CenteredFloat - -/* 008D8 809D3E88 E632015C */ swc1 $f18, 0x015C($s1) ## 0000015C -/* 008DC 809D3E8C C604002C */ lwc1 $f4, 0x002C($s0) ## 0000002D -/* 008E0 809D3E90 C7A60090 */ lwc1 $f6, 0x0090($sp) -/* 008E4 809D3E94 46062200 */ add.s $f8, $f4, $f6 -/* 008E8 809D3E98 46080280 */ add.s $f10, $f0, $f8 -/* 008EC 809D3E9C 10000011 */ beq $zero, $zero, .L809D3EE4 -/* 008F0 809D3EA0 E62A0160 */ swc1 $f10, 0x0160($s1) ## 00000160 -.L809D3EA4: -/* 008F4 809D3EA4 3C01442F */ lui $at, 0x442F ## $at = 442F0000 -/* 008F8 809D3EA8 44816000 */ mtc1 $at, $f12 ## $f12 = 700.00 -/* 008FC 809D3EAC 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00900 809D3EB0 00000000 */ nop -/* 00904 809D3EB4 3C014348 */ lui $at, 0x4348 ## $at = 43480000 -/* 00908 809D3EB8 44816000 */ mtc1 $at, $f12 ## $f12 = 200.00 -/* 0090C 809D3EBC 0C00CFBE */ jal Rand_ZeroFloat - -/* 00910 809D3EC0 E6200158 */ swc1 $f0, 0x0158($s1) ## 00000158 -/* 00914 809D3EC4 3C014316 */ lui $at, 0x4316 ## $at = 43160000 -/* 00918 809D3EC8 44819000 */ mtc1 $at, $f18 ## $f18 = 150.00 -/* 0091C 809D3ECC 3C01442F */ lui $at, 0x442F ## $at = 442F0000 -/* 00920 809D3ED0 44816000 */ mtc1 $at, $f12 ## $f12 = 700.00 -/* 00924 809D3ED4 46120100 */ add.s $f4, $f0, $f18 -/* 00928 809D3ED8 0C00CFC8 */ jal Rand_CenteredFloat - -/* 0092C 809D3EDC E624015C */ swc1 $f4, 0x015C($s1) ## 0000015C -/* 00930 809D3EE0 E6200160 */ swc1 $f0, 0x0160($s1) ## 00000160 -.L809D3EE4: -/* 00934 809D3EE4 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 -/* 00938 809D3EE8 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00 -/* 0093C 809D3EEC 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00 -/* 00940 809D3EF0 E626016C */ swc1 $f6, 0x016C($s1) ## 0000016C -/* 00944 809D3EF4 E6280168 */ swc1 $f8, 0x0168($s1) ## 00000168 -/* 00948 809D3EF8 E62A0164 */ swc1 $f10, 0x0164($s1) ## 00000164 -.L809D3EFC: -/* 0094C 809D3EFC 240A000A */ addiu $t2, $zero, 0x000A ## $t2 = 0000000A -/* 00950 809D3F00 240B0800 */ addiu $t3, $zero, 0x0800 ## $t3 = 00000800 -/* 00954 809D3F04 A7AA00C0 */ sh $t2, 0x00C0($sp) -/* 00958 809D3F08 A7AB00C2 */ sh $t3, 0x00C2($sp) -/* 0095C 809D3F0C 9223014E */ lbu $v1, 0x014E($s1) ## 0000014E -/* 00960 809D3F10 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 00964 809D3F14 44816000 */ mtc1 $at, $f12 ## $f12 = 100.00 -/* 00968 809D3F18 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 0096C 809D3F1C 54610013 */ bnel $v1, $at, .L809D3F6C -/* 00970 809D3F20 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 00974 809D3F24 C6120024 */ lwc1 $f18, 0x0024($s0) ## 00000025 -/* 00978 809D3F28 3C014220 */ lui $at, 0x4220 ## $at = 42200000 -/* 0097C 809D3F2C 44813000 */ mtc1 $at, $f6 ## $f6 = 40.00 -/* 00980 809D3F30 E6320158 */ swc1 $f18, 0x0158($s1) ## 00000158 -/* 00984 809D3F34 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000029 -/* 00988 809D3F38 240C0007 */ addiu $t4, $zero, 0x0007 ## $t4 = 00000007 -/* 0098C 809D3F3C 240D1000 */ addiu $t5, $zero, 0x1000 ## $t5 = 00001000 -/* 00990 809D3F40 46062200 */ add.s $f8, $f4, $f6 -/* 00994 809D3F44 3C014316 */ lui $at, 0x4316 ## $at = 43160000 -/* 00998 809D3F48 44816000 */ mtc1 $at, $f12 ## $f12 = 150.00 -/* 0099C 809D3F4C E628015C */ swc1 $f8, 0x015C($s1) ## 0000015C -/* 009A0 809D3F50 C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002D -/* 009A4 809D3F54 E62A0160 */ swc1 $f10, 0x0160($s1) ## 00000160 -/* 009A8 809D3F58 A7AC00C0 */ sh $t4, 0x00C0($sp) -/* 009AC 809D3F5C A7AD00C2 */ sh $t5, 0x00C2($sp) -/* 009B0 809D3F60 10000019 */ beq $zero, $zero, .L809D3FC8 -/* 009B4 809D3F64 9223014E */ lbu $v1, 0x014E($s1) ## 0000014E -/* 009B8 809D3F68 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -.L809D3F6C: -/* 009BC 809D3F6C 14610016 */ bne $v1, $at, .L809D3FC8 -/* 009C0 809D3F70 3C01809E */ lui $at, %hi(D_809DC0EC) ## $at = 809E0000 -/* 009C4 809D3F74 C422C0EC */ lwc1 $f2, %lo(D_809DC0EC)($at) -/* 009C8 809D3F78 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 009CC 809D3F7C 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50 -/* 009D0 809D3F80 C6320180 */ lwc1 $f18, 0x0180($s1) ## 00000180 -/* 009D4 809D3F84 3C014396 */ lui $at, 0x4396 ## $at = 43960000 -/* 009D8 809D3F88 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00 -/* 009DC 809D3F8C 46049180 */ add.s $f6, $f18, $f4 -/* 009E0 809D3F90 44819000 */ mtc1 $at, $f18 ## $f18 = 300.00 -/* 009E4 809D3F94 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 009E8 809D3F98 E6260180 */ swc1 $f6, 0x0180($s1) ## 00000180 -/* 009EC 809D3F9C C6200180 */ lwc1 $f0, 0x0180($s1) ## 00000180 -/* 009F0 809D3FA0 4600103C */ c.lt.s $f2, $f0 -/* 009F4 809D3FA4 00000000 */ nop -/* 009F8 809D3FA8 45020004 */ bc1fl .L809D3FBC -/* 009FC 809D3FAC E62A0158 */ swc1 $f10, 0x0158($s1) ## 00000158 -/* 00A00 809D3FB0 46020201 */ sub.s $f8, $f0, $f2 -/* 00A04 809D3FB4 E6280180 */ swc1 $f8, 0x0180($s1) ## 00000180 -/* 00A08 809D3FB8 E62A0158 */ swc1 $f10, 0x0158($s1) ## 00000158 -.L809D3FBC: -/* 00A0C 809D3FBC E632015C */ swc1 $f18, 0x015C($s1) ## 0000015C -/* 00A10 809D3FC0 E6240160 */ swc1 $f4, 0x0160($s1) ## 00000160 -/* 00A14 809D3FC4 9223014E */ lbu $v1, 0x014E($s1) ## 0000014E -.L809D3FC8: -/* 00A18 809D3FC8 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 00A1C 809D3FCC 10610008 */ beq $v1, $at, .L809D3FF0 -/* 00A20 809D3FD0 3C053DCC */ lui $a1, 0x3DCC ## $a1 = 3DCC0000 -/* 00A24 809D3FD4 3C063E4C */ lui $a2, 0x3E4C ## $a2 = 3E4C0000 -/* 00A28 809D3FD8 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3E4CCCCD -/* 00A2C 809D3FDC 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3DCCCCCD -/* 00A30 809D3FE0 26240180 */ addiu $a0, $s1, 0x0180 ## $a0 = 00000180 -/* 00A34 809D3FE4 0C01E123 */ jal Math_ApproachZeroF - -/* 00A38 809D3FE8 E7AC00A0 */ swc1 $f12, 0x00A0($sp) -/* 00A3C 809D3FEC C7AC00A0 */ lwc1 $f12, 0x00A0($sp) -.L809D3FF0: -/* 00A40 809D3FF0 C6260158 */ lwc1 $f6, 0x0158($s1) ## 00000158 -/* 00A44 809D3FF4 C6280024 */ lwc1 $f8, 0x0024($s1) ## 00000024 -/* 00A48 809D3FF8 46083281 */ sub.s $f10, $f6, $f8 -/* 00A4C 809D3FFC E7AA00B0 */ swc1 $f10, 0x00B0($sp) -/* 00A50 809D4000 C6240028 */ lwc1 $f4, 0x0028($s1) ## 00000028 -/* 00A54 809D4004 C632015C */ lwc1 $f18, 0x015C($s1) ## 0000015C -/* 00A58 809D4008 46049181 */ sub.s $f6, $f18, $f4 -/* 00A5C 809D400C C7B200B0 */ lwc1 $f18, 0x00B0($sp) -/* 00A60 809D4010 E7A600AC */ swc1 $f6, 0x00AC($sp) -/* 00A64 809D4014 C62A002C */ lwc1 $f10, 0x002C($s1) ## 0000002C -/* 00A68 809D4018 C6280160 */ lwc1 $f8, 0x0160($s1) ## 00000160 -/* 00A6C 809D401C 46129082 */ mul.s $f2, $f18, $f18 -/* 00A70 809D4020 C7A400AC */ lwc1 $f4, 0x00AC($sp) -/* 00A74 809D4024 460A4381 */ sub.s $f14, $f8, $f10 -/* 00A78 809D4028 460E7402 */ mul.s $f16, $f14, $f14 -/* 00A7C 809D402C 00000000 */ nop -/* 00A80 809D4030 46042182 */ mul.s $f6, $f4, $f4 -/* 00A84 809D4034 46061200 */ add.s $f8, $f2, $f6 -/* 00A88 809D4038 46104000 */ add.s $f0, $f8, $f16 -/* 00A8C 809D403C 46000004 */ sqrt.s $f0, $f0 -/* 00A90 809D4040 460C003C */ c.lt.s $f0, $f12 -/* 00A94 809D4044 00000000 */ nop -/* 00A98 809D4048 45000014 */ bc1f .L809D409C -/* 00A9C 809D404C 00000000 */ nop -/* 00AA0 809D4050 922E014E */ lbu $t6, 0x014E($s1) ## 0000014E -/* 00AA4 809D4054 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00AA8 809D4058 A6200150 */ sh $zero, 0x0150($s1) ## 00000150 -/* 00AAC 809D405C 15C1000E */ bne $t6, $at, .L809D4098 -/* 00AB0 809D4060 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 00AB4 809D4064 44816000 */ mtc1 $at, $f12 ## $f12 = 100.00 -/* 00AB8 809D4068 E7A2003C */ swc1 $f2, 0x003C($sp) -/* 00ABC 809D406C E7AE00A8 */ swc1 $f14, 0x00A8($sp) -/* 00AC0 809D4070 0C00CFBE */ jal Rand_ZeroFloat - -/* 00AC4 809D4074 E7B00038 */ swc1 $f16, 0x0038($sp) -/* 00AC8 809D4078 4600028D */ trunc.w.s $f10, $f0 -/* 00ACC 809D407C C7A2003C */ lwc1 $f2, 0x003C($sp) -/* 00AD0 809D4080 C7AE00A8 */ lwc1 $f14, 0x00A8($sp) -/* 00AD4 809D4084 C7B00038 */ lwc1 $f16, 0x0038($sp) -/* 00AD8 809D4088 44085000 */ mfc1 $t0, $f10 -/* 00ADC 809D408C 00000000 */ nop -/* 00AE0 809D4090 25090064 */ addiu $t1, $t0, 0x0064 ## $t1 = 00000064 -/* 00AE4 809D4094 A6290152 */ sh $t1, 0x0152($s1) ## 00000152 -.L809D4098: -/* 00AE8 809D4098 A220014E */ sb $zero, 0x014E($s1) ## 0000014E -.L809D409C: -/* 00AEC 809D409C C7AC00B0 */ lwc1 $f12, 0x00B0($sp) -/* 00AF0 809D40A0 E7A2003C */ swc1 $f2, 0x003C($sp) -/* 00AF4 809D40A4 0C03F494 */ jal Math_FAtan2F -/* 00AF8 809D40A8 E7B00038 */ swc1 $f16, 0x0038($sp) -/* 00AFC 809D40AC 3C01809E */ lui $at, %hi(D_809DC0F0) ## $at = 809E0000 -/* 00B00 809D40B0 C432C0F0 */ lwc1 $f18, %lo(D_809DC0F0)($at) -/* 00B04 809D40B4 C7A2003C */ lwc1 $f2, 0x003C($sp) -/* 00B08 809D40B8 C7B00038 */ lwc1 $f16, 0x0038($sp) -/* 00B0C 809D40BC 46120102 */ mul.s $f4, $f0, $f18 -/* 00B10 809D40C0 C7AC00AC */ lwc1 $f12, 0x00AC($sp) -/* 00B14 809D40C4 46101000 */ add.s $f0, $f2, $f16 -/* 00B18 809D40C8 46000384 */ sqrt.s $f14, $f0 -/* 00B1C 809D40CC 4600218D */ trunc.w.s $f6, $f4 -/* 00B20 809D40D0 44103000 */ mfc1 $s0, $f6 -/* 00B24 809D40D4 00000000 */ nop -/* 00B28 809D40D8 00108400 */ sll $s0, $s0, 16 -/* 00B2C 809D40DC 0C03F494 */ jal Math_FAtan2F -/* 00B30 809D40E0 00108403 */ sra $s0, $s0, 16 -/* 00B34 809D40E4 3C01809E */ lui $at, %hi(D_809DC0F4) ## $at = 809E0000 -/* 00B38 809D40E8 C428C0F4 */ lwc1 $f8, %lo(D_809DC0F4)($at) -/* 00B3C 809D40EC 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000 -/* 00B40 809D40F0 46080282 */ mul.s $f10, $f0, $f8 -/* 00B44 809D40F4 4600548D */ trunc.w.s $f18, $f10 -/* 00B48 809D40F8 44029000 */ mfc1 $v0, $f18 -/* 00B4C 809D40FC 00000000 */ nop -/* 00B50 809D4100 00026400 */ sll $t4, $v0, 16 -/* 00B54 809D4104 000C6C03 */ sra $t5, $t4, 16 -/* 00B58 809D4108 00022C00 */ sll $a1, $v0, 16 -/* 00B5C 809D410C 05A1000A */ bgez $t5, .L809D4138 -/* 00B60 809D4110 00052C03 */ sra $a1, $a1, 16 -/* 00B64 809D4114 C6260080 */ lwc1 $f6, 0x0080($s1) ## 00000080 -/* 00B68 809D4118 44814000 */ mtc1 $at, $f8 ## $f8 = 20.00 -/* 00B6C 809D411C C6240028 */ lwc1 $f4, 0x0028($s1) ## 00000028 -/* 00B70 809D4120 46083280 */ add.s $f10, $f6, $f8 -/* 00B74 809D4124 460A203C */ c.lt.s $f4, $f10 -/* 00B78 809D4128 00000000 */ nop -/* 00B7C 809D412C 45020003 */ bc1fl .L809D413C -/* 00B80 809D4130 C6320164 */ lwc1 $f18, 0x0164($s1) ## 00000164 -/* 00B84 809D4134 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -.L809D4138: -/* 00B88 809D4138 C6320164 */ lwc1 $f18, 0x0164($s1) ## 00000164 -.L809D413C: -/* 00B8C 809D413C 26240030 */ addiu $a0, $s1, 0x0030 ## $a0 = 00000030 -/* 00B90 809D4140 AFA4003C */ sw $a0, 0x003C($sp) -/* 00B94 809D4144 4600918D */ trunc.w.s $f6, $f18 -/* 00B98 809D4148 87A600C0 */ lh $a2, 0x00C0($sp) -/* 00B9C 809D414C 44073000 */ mfc1 $a3, $f6 -/* 00BA0 809D4150 00000000 */ nop -/* 00BA4 809D4154 00073C00 */ sll $a3, $a3, 16 -/* 00BA8 809D4158 0C01E1EF */ jal Math_ApproachS - -/* 00BAC 809D415C 00073C03 */ sra $a3, $a3, 16 -/* 00BB0 809D4160 C6280168 */ lwc1 $f8, 0x0168($s1) ## 00000168 -/* 00BB4 809D4164 00102C00 */ sll $a1, $s0, 16 -/* 00BB8 809D4168 00052C03 */ sra $a1, $a1, 16 -/* 00BBC 809D416C 4600410D */ trunc.w.s $f4, $f8 -/* 00BC0 809D4170 AFA00010 */ sw $zero, 0x0010($sp) -/* 00BC4 809D4174 26240032 */ addiu $a0, $s1, 0x0032 ## $a0 = 00000032 -/* 00BC8 809D4178 87A600C0 */ lh $a2, 0x00C0($sp) -/* 00BCC 809D417C 44072000 */ mfc1 $a3, $f4 -/* 00BD0 809D4180 00000000 */ nop -/* 00BD4 809D4184 00073C00 */ sll $a3, $a3, 16 -/* 00BD8 809D4188 0C01E1A7 */ jal Math_SmoothStepToS - -/* 00BDC 809D418C 00073C03 */ sra $a3, $a3, 16 -/* 00BE0 809D4190 87B800C2 */ lh $t8, 0x00C2($sp) -/* 00BE4 809D4194 00028400 */ sll $s0, $v0, 16 -/* 00BE8 809D4198 00108403 */ sra $s0, $s0, 16 -/* 00BEC 809D419C 44985000 */ mtc1 $t8, $f10 ## $f10 = 0.00 -/* 00BF0 809D41A0 26240164 */ addiu $a0, $s1, 0x0164 ## $a0 = 00000164 -/* 00BF4 809D41A4 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 00BF8 809D41A8 468052A0 */ cvt.s.w $f10, $f10 -/* 00BFC 809D41AC 3C074380 */ lui $a3, 0x4380 ## $a3 = 43800000 -/* 00C00 809D41B0 44055000 */ mfc1 $a1, $f10 -/* 00C04 809D41B4 0C01E107 */ jal Math_ApproachF - -/* 00C08 809D41B8 00000000 */ nop -/* 00C0C 809D41BC C6320164 */ lwc1 $f18, 0x0164($s1) ## 00000164 -/* 00C10 809D41C0 00101023 */ subu $v0, $zero, $s0 -/* 00C14 809D41C4 06000003 */ bltz $s0, .L809D41D4 -/* 00C18 809D41C8 E6320168 */ swc1 $f18, 0x0168($s1) ## 00000168 -/* 00C1C 809D41CC 10000001 */ beq $zero, $zero, .L809D41D4 -/* 00C20 809D41D0 02001025 */ or $v0, $s0, $zero ## $v0 = 00000001 -.L809D41D4: -/* 00C24 809D41D4 28411000 */ slti $at, $v0, 0x1000 -/* 00C28 809D41D8 10200024 */ beq $at, $zero, .L809D426C -/* 00C2C 809D41DC 00000000 */ nop -/* 00C30 809D41E0 C626016C */ lwc1 $f6, 0x016C($s1) ## 0000016C -/* 00C34 809D41E4 26240034 */ addiu $a0, $s1, 0x0034 ## $a0 = 00000034 -/* 00C38 809D41E8 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00C3C 809D41EC 4600320D */ trunc.w.s $f8, $f6 -/* 00C40 809D41F0 2406000F */ addiu $a2, $zero, 0x000F ## $a2 = 0000000F -/* 00C44 809D41F4 44074000 */ mfc1 $a3, $f8 -/* 00C48 809D41F8 00000000 */ nop -/* 00C4C 809D41FC 00073C00 */ sll $a3, $a3, 16 -/* 00C50 809D4200 0C01E1EF */ jal Math_ApproachS - -/* 00C54 809D4204 00073C03 */ sra $a3, $a3, 16 -/* 00C58 809D4208 2624016C */ addiu $a0, $s1, 0x016C ## $a0 = 0000016C -/* 00C5C 809D420C 3C0544A0 */ lui $a1, 0x44A0 ## $a1 = 44A00000 -/* 00C60 809D4210 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 00C64 809D4214 0C01E107 */ jal Math_ApproachF - -/* 00C68 809D4218 3C074380 */ lui $a3, 0x4380 ## $a3 = 43800000 -/* 00C6C 809D421C 9228017C */ lbu $t0, 0x017C($s1) ## 0000017C -/* 00C70 809D4220 31090003 */ andi $t1, $t0, 0x0003 ## $t1 = 00000000 -/* 00C74 809D4224 55200027 */ bnel $t1, $zero, .L809D42C4 -/* 00C78 809D4228 8FAD003C */ lw $t5, 0x003C($sp) -/* 00C7C 809D422C 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 00C80 809D4230 00000000 */ nop -/* 00C84 809D4234 3C013F40 */ lui $at, 0x3F40 ## $at = 3F400000 -/* 00C88 809D4238 44812000 */ mtc1 $at, $f4 ## $f4 = 0.75 -/* 00C8C 809D423C 00000000 */ nop -/* 00C90 809D4240 4604003C */ c.lt.s $f0, $f4 -/* 00C94 809D4244 00000000 */ nop -/* 00C98 809D4248 4502001E */ bc1fl .L809D42C4 -/* 00C9C 809D424C 8FAD003C */ lw $t5, 0x003C($sp) -/* 00CA0 809D4250 922A014E */ lbu $t2, 0x014E($s1) ## 0000014E -/* 00CA4 809D4254 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00CA8 809D4258 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001 -/* 00CAC 809D425C 55410019 */ bnel $t2, $at, .L809D42C4 -/* 00CB0 809D4260 8FAD003C */ lw $t5, 0x003C($sp) -/* 00CB4 809D4264 10000016 */ beq $zero, $zero, .L809D42C0 -/* 00CB8 809D4268 A22B017D */ sb $t3, 0x017D($s1) ## 0000017D -.L809D426C: -/* 00CBC 809D426C 5A000004 */ blezl $s0, .L809D4280 -/* 00CC0 809D4270 24102500 */ addiu $s0, $zero, 0x2500 ## $s0 = 00002500 -/* 00CC4 809D4274 10000002 */ beq $zero, $zero, .L809D4280 -/* 00CC8 809D4278 2410DB00 */ addiu $s0, $zero, 0xDB00 ## $s0 = FFFFDB00 -/* 00CCC 809D427C 24102500 */ addiu $s0, $zero, 0x2500 ## $s0 = 00002500 -.L809D4280: -/* 00CD0 809D4280 C62A016C */ lwc1 $f10, 0x016C($s1) ## 0000016C -/* 00CD4 809D4284 00102C00 */ sll $a1, $s0, 16 -/* 00CD8 809D4288 00052C03 */ sra $a1, $a1, 16 -/* 00CDC 809D428C 4600548D */ trunc.w.s $f18, $f10 -/* 00CE0 809D4290 26240034 */ addiu $a0, $s1, 0x0034 ## $a0 = 00000034 -/* 00CE4 809D4294 87A600C0 */ lh $a2, 0x00C0($sp) -/* 00CE8 809D4298 44079000 */ mfc1 $a3, $f18 -/* 00CEC 809D429C 00000000 */ nop -/* 00CF0 809D42A0 00073C00 */ sll $a3, $a3, 16 -/* 00CF4 809D42A4 0C01E1EF */ jal Math_ApproachS - -/* 00CF8 809D42A8 00073C03 */ sra $a3, $a3, 16 -/* 00CFC 809D42AC 2624016C */ addiu $a0, $s1, 0x016C ## $a0 = 0000016C -/* 00D00 809D42B0 3C054580 */ lui $a1, 0x4580 ## $a1 = 45800000 -/* 00D04 809D42B4 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 00D08 809D42B8 0C01E107 */ jal Math_ApproachF - -/* 00D0C 809D42BC 3C074400 */ lui $a3, 0x4400 ## $a3 = 44000000 -.L809D42C0: -/* 00D10 809D42C0 8FAD003C */ lw $t5, 0x003C($sp) -.L809D42C4: -/* 00D14 809D42C4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00D18 809D42C8 89AF0000 */ lwl $t7, 0x0000($t5) ## 00000000 -/* 00D1C 809D42CC 99AF0003 */ lwr $t7, 0x0003($t5) ## 00000003 -/* 00D20 809D42D0 AA2F00B4 */ swl $t7, 0x00B4($s1) ## 000000B4 -/* 00D24 809D42D4 BA2F00B7 */ swr $t7, 0x00B7($s1) ## 000000B7 -/* 00D28 809D42D8 863800B4 */ lh $t8, 0x00B4($s1) ## 000000B4 -/* 00D2C 809D42DC 95AF0004 */ lhu $t7, 0x0004($t5) ## 00000004 -/* 00D30 809D42E0 0018C823 */ subu $t9, $zero, $t8 -/* 00D34 809D42E4 A63900B4 */ sh $t9, 0x00B4($s1) ## 000000B4 -/* 00D38 809D42E8 0C00B642 */ jal func_8002D908 -/* 00D3C 809D42EC A62F00B8 */ sh $t7, 0x00B8($s1) ## 000000B8 -/* 00D40 809D42F0 C626005C */ lwc1 $f6, 0x005C($s1) ## 0000005C -/* 00D44 809D42F4 C6280170 */ lwc1 $f8, 0x0170($s1) ## 00000170 -/* 00D48 809D42F8 C62A0060 */ lwc1 $f10, 0x0060($s1) ## 00000060 -/* 00D4C 809D42FC C6320174 */ lwc1 $f18, 0x0174($s1) ## 00000174 -/* 00D50 809D4300 46083100 */ add.s $f4, $f6, $f8 -/* 00D54 809D4304 C6280064 */ lwc1 $f8, 0x0064($s1) ## 00000064 -/* 00D58 809D4308 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00D5C 809D430C 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00 -/* 00D60 809D4310 E624005C */ swc1 $f4, 0x005C($s1) ## 0000005C -/* 00D64 809D4314 C6240178 */ lwc1 $f4, 0x0178($s1) ## 00000178 -/* 00D68 809D4318 46125180 */ add.s $f6, $f10, $f18 -/* 00D6C 809D431C 44050000 */ mfc1 $a1, $f0 -/* 00D70 809D4320 44060000 */ mfc1 $a2, $f0 -/* 00D74 809D4324 46044280 */ add.s $f10, $f8, $f4 -/* 00D78 809D4328 E6260060 */ swc1 $f6, 0x0060($s1) ## 00000060 -/* 00D7C 809D432C 26240170 */ addiu $a0, $s1, 0x0170 ## $a0 = 00000170 -/* 00D80 809D4330 0C01E123 */ jal Math_ApproachZeroF - -/* 00D84 809D4334 E62A0064 */ swc1 $f10, 0x0064($s1) ## 00000064 -/* 00D88 809D4338 26240174 */ addiu $a0, $s1, 0x0174 ## $a0 = 00000174 -/* 00D8C 809D433C 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000 -/* 00D90 809D4340 0C01E123 */ jal Math_ApproachZeroF - -/* 00D94 809D4344 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 00D98 809D4348 26240178 */ addiu $a0, $s1, 0x0178 ## $a0 = 00000178 -/* 00D9C 809D434C 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000 -/* 00DA0 809D4350 0C01E123 */ jal Math_ApproachZeroF - -/* 00DA4 809D4354 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 00DA8 809D4358 9228017D */ lbu $t0, 0x017D($s1) ## 0000017D -/* 00DAC 809D435C 51000014 */ beql $t0, $zero, .L809D43B0 -/* 00DB0 809D4360 86220184 */ lh $v0, 0x0184($s1) ## 00000184 -/* 00DB4 809D4364 C6320028 */ lwc1 $f18, 0x0028($s1) ## 00000028 -/* 00DB8 809D4368 A220017D */ sb $zero, 0x017D($s1) ## 0000017D -/* 00DBC 809D436C 8E270024 */ lw $a3, 0x0024($s1) ## 00000024 -/* 00DC0 809D4370 E7B20010 */ swc1 $f18, 0x0010($sp) -/* 00DC4 809D4374 C626002C */ lwc1 $f6, 0x002C($s1) ## 0000002C -/* 00DC8 809D4378 8FA500CC */ lw $a1, 0x00CC($sp) -/* 00DCC 809D437C 240D0064 */ addiu $t5, $zero, 0x0064 ## $t5 = 00000064 -/* 00DD0 809D4380 E7A60014 */ swc1 $f6, 0x0014($sp) -/* 00DD4 809D4384 862A0030 */ lh $t2, 0x0030($s1) ## 00000030 -/* 00DD8 809D4388 2406013B */ addiu $a2, $zero, 0x013B ## $a2 = 0000013B -/* 00DDC 809D438C 24A41C24 */ addiu $a0, $a1, 0x1C24 ## $a0 = 00001C24 -/* 00DE0 809D4390 AFAA0018 */ sw $t2, 0x0018($sp) -/* 00DE4 809D4394 862B0032 */ lh $t3, 0x0032($s1) ## 00000032 -/* 00DE8 809D4398 AFAB001C */ sw $t3, 0x001C($sp) -/* 00DEC 809D439C 862C0034 */ lh $t4, 0x0034($s1) ## 00000034 -/* 00DF0 809D43A0 AFAD0024 */ sw $t5, 0x0024($sp) -/* 00DF4 809D43A4 0C00C7D4 */ jal Actor_Spawn - ## ActorSpawn -/* 00DF8 809D43A8 AFAC0020 */ sw $t4, 0x0020($sp) -.L809D43AC: -/* 00DFC 809D43AC 86220184 */ lh $v0, 0x0184($s1) ## 00000184 -.L809D43B0: -/* 00E00 809D43B0 10400002 */ beq $v0, $zero, .L809D43BC -/* 00E04 809D43B4 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF -/* 00E08 809D43B8 A62E0184 */ sh $t6, 0x0184($s1) ## 00000184 -.L809D43BC: -/* 00E0C 809D43BC 0C00B5FB */ jal func_8002D7EC -/* 00E10 809D43C0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00E14 809D43C4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00E18 809D43C8 0C00B56E */ jal Actor_SetFocus - -/* 00E1C 809D43CC 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000 -/* 00E20 809D43D0 240F0014 */ addiu $t7, $zero, 0x0014 ## $t7 = 00000014 -/* 00E24 809D43D4 2418000F */ addiu $t8, $zero, 0x000F ## $t8 = 0000000F -/* 00E28 809D43D8 2419FFFB */ addiu $t9, $zero, 0xFFFB ## $t9 = FFFFFFFB -/* 00E2C 809D43DC 26300194 */ addiu $s0, $s1, 0x0194 ## $s0 = 00000194 -/* 00E30 809D43E0 A62F01D4 */ sh $t7, 0x01D4($s1) ## 000001D4 -/* 00E34 809D43E4 A63801D6 */ sh $t8, 0x01D6($s1) ## 000001D6 -/* 00E38 809D43E8 A63901D8 */ sh $t9, 0x01D8($s1) ## 000001D8 -/* 00E3C 809D43EC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000194 -/* 00E40 809D43F0 0C0189B7 */ jal Collider_UpdateCylinder - -/* 00E44 809D43F4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00E48 809D43F8 8FA400CC */ lw $a0, 0x00CC($sp) -/* 00E4C 809D43FC 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00E50 809D4400 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 00E54 809D4404 00812821 */ addu $a1, $a0, $at -/* 00E58 809D4408 AFA5003C */ sw $a1, 0x003C($sp) -/* 00E5C 809D440C 0C01767D */ jal CollisionCheck_SetAC - ## CollisionCheck_setAC -/* 00E60 809D4410 02003025 */ or $a2, $s0, $zero ## $a2 = 00000194 -/* 00E64 809D4414 8FA5003C */ lw $a1, 0x003C($sp) -/* 00E68 809D4418 8FA400CC */ lw $a0, 0x00CC($sp) -/* 00E6C 809D441C 0C0175E7 */ jal CollisionCheck_SetAT - ## CollisionCheck_setAT -/* 00E70 809D4420 02003025 */ or $a2, $s0, $zero ## $a2 = 00000194 -/* 00E74 809D4424 86290154 */ lh $t1, 0x0154($s1) ## 00000154 -/* 00E78 809D4428 8FA400CC */ lw $a0, 0x00CC($sp) -/* 00E7C 809D442C 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 00E80 809D4430 1520000A */ bne $t1, $zero, .L809D445C -/* 00E84 809D4434 3C064248 */ lui $a2, 0x4248 ## $a2 = 42480000 -/* 00E88 809D4438 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 00E8C 809D443C 44814000 */ mtc1 $at, $f8 ## $f8 = 100.00 -/* 00E90 809D4440 240A0005 */ addiu $t2, $zero, 0x0005 ## $t2 = 00000005 -/* 00E94 809D4444 AFAA0014 */ sw $t2, 0x0014($sp) -/* 00E98 809D4448 3C0741F0 */ lui $a3, 0x41F0 ## $a3 = 41F00000 -/* 00E9C 809D444C 0C00B92D */ jal Actor_UpdateBgCheckInfo -/* 00EA0 809D4450 E7A80010 */ swc1 $f8, 0x0010($sp) -/* 00EA4 809D4454 0C274EE0 */ jal func_809D3B80 -/* 00EA8 809D4458 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -.L809D445C: -/* 00EAC 809D445C 922B014E */ lbu $t3, 0x014E($s1) ## 0000014E -/* 00EB0 809D4460 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A -/* 00EB4 809D4464 8FA400CC */ lw $a0, 0x00CC($sp) -/* 00EB8 809D4468 15610026 */ bne $t3, $at, .L809D4504 -/* 00EBC 809D446C 26250024 */ addiu $a1, $s1, 0x0024 ## $a1 = 00000024 -/* 00EC0 809D4470 0C274DAA */ jal func_809D36A8 -/* 00EC4 809D4474 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 00EC8 809D4478 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 00ECC 809D447C 44815000 */ mtc1 $at, $f10 ## $f10 = 0.50 -/* 00ED0 809D4480 C6240180 */ lwc1 $f4, 0x0180($s1) ## 00000180 -/* 00ED4 809D4484 3C01809E */ lui $at, %hi(D_809DC0F8) ## $at = 809E0000 -/* 00ED8 809D4488 C6260060 */ lwc1 $f6, 0x0060($s1) ## 00000060 -/* 00EDC 809D448C 460A2481 */ sub.s $f18, $f4, $f10 -/* 00EE0 809D4490 862C00B4 */ lh $t4, 0x00B4($s1) ## 000000B4 -/* 00EE4 809D4494 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00EE8 809D4498 2405304F */ addiu $a1, $zero, 0x304F ## $a1 = 0000304F -/* 00EEC 809D449C E6320180 */ swc1 $f18, 0x0180($s1) ## 00000180 -/* 00EF0 809D44A0 C428C0F8 */ lwc1 $f8, %lo(D_809DC0F8)($at) -/* 00EF4 809D44A4 258D0010 */ addiu $t5, $t4, 0x0010 ## $t5 = 00000010 -/* 00EF8 809D44A8 A62D00B4 */ sh $t5, 0x00B4($s1) ## 000000B4 -/* 00EFC 809D44AC 46083101 */ sub.s $f4, $f6, $f8 -/* 00F00 809D44B0 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 00F04 809D44B4 E6240060 */ swc1 $f4, 0x0060($s1) ## 00000060 -/* 00F08 809D44B8 962E0088 */ lhu $t6, 0x0088($s1) ## 00000088 -/* 00F0C 809D44BC 31CF0009 */ andi $t7, $t6, 0x0009 ## $t7 = 00000000 -/* 00F10 809D44C0 11E00010 */ beq $t7, $zero, .L809D4504 -/* 00F14 809D44C4 00000000 */ nop -/* 00F18 809D44C8 9239014D */ lbu $t9, 0x014D($s1) ## 0000014D -/* 00F1C 809D44CC 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001 -/* 00F20 809D44D0 A238014C */ sb $t8, 0x014C($s1) ## 0000014C -/* 00F24 809D44D4 13200009 */ beq $t9, $zero, .L809D44FC -/* 00F28 809D44D8 24080002 */ addiu $t0, $zero, 0x0002 ## $t0 = 00000002 -/* 00F2C 809D44DC 8E2A0004 */ lw $t2, 0x0004($s1) ## 00000004 -/* 00F30 809D44E0 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE -/* 00F34 809D44E4 24090046 */ addiu $t1, $zero, 0x0046 ## $t1 = 00000046 -/* 00F38 809D44E8 01415824 */ and $t3, $t2, $at -/* 00F3C 809D44EC A228014D */ sb $t0, 0x014D($s1) ## 0000014D -/* 00F40 809D44F0 A6290186 */ sh $t1, 0x0186($s1) ## 00000186 -/* 00F44 809D44F4 10000003 */ beq $zero, $zero, .L809D4504 -/* 00F48 809D44F8 AE2B0004 */ sw $t3, 0x0004($s1) ## 00000004 -.L809D44FC: -/* 00F4C 809D44FC 0C00B55C */ jal Actor_Kill - -/* 00F50 809D4500 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -.L809D4504: -/* 00F54 809D4504 10000036 */ beq $zero, $zero, .L809D45E0 -/* 00F58 809D4508 9223014E */ lbu $v1, 0x014E($s1) ## 0000014E -.L809D450C: -/* 00F5C 809D450C 0C00B5FB */ jal func_8002D7EC -/* 00F60 809D4510 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00F64 809D4514 922C01A4 */ lbu $t4, 0x01A4($s1) ## 000001A4 -/* 00F68 809D4518 240F0017 */ addiu $t7, $zero, 0x0017 ## $t7 = 00000017 -/* 00F6C 809D451C 24180019 */ addiu $t8, $zero, 0x0019 ## $t8 = 00000019 -/* 00F70 809D4520 318D0002 */ andi $t5, $t4, 0x0002 ## $t5 = 00000000 -/* 00F74 809D4524 11A00003 */ beq $t5, $zero, .L809D4534 -/* 00F78 809D4528 2419FFF6 */ addiu $t9, $zero, 0xFFF6 ## $t9 = FFFFFFF6 -/* 00F7C 809D452C 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001 -/* 00F80 809D4530 A3AE00C7 */ sb $t6, 0x00C7($sp) -.L809D4534: -/* 00F84 809D4534 26300194 */ addiu $s0, $s1, 0x0194 ## $s0 = 00000194 -/* 00F88 809D4538 A62F01D4 */ sh $t7, 0x01D4($s1) ## 000001D4 -/* 00F8C 809D453C A63801D6 */ sh $t8, 0x01D6($s1) ## 000001D6 -/* 00F90 809D4540 A63901D8 */ sh $t9, 0x01D8($s1) ## 000001D8 -/* 00F94 809D4544 02002825 */ or $a1, $s0, $zero ## $a1 = 00000194 -/* 00F98 809D4548 0C0189B7 */ jal Collider_UpdateCylinder - -/* 00F9C 809D454C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00FA0 809D4550 8FA400CC */ lw $a0, 0x00CC($sp) -/* 00FA4 809D4554 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00FA8 809D4558 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 00FAC 809D455C 02003025 */ or $a2, $s0, $zero ## $a2 = 00000194 -/* 00FB0 809D4560 0C0175E7 */ jal CollisionCheck_SetAT - ## CollisionCheck_setAT -/* 00FB4 809D4564 00812821 */ addu $a1, $a0, $at -/* 00FB8 809D4568 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 00FBC 809D456C 44815000 */ mtc1 $at, $f10 ## $f10 = 100.00 -/* 00FC0 809D4570 24090005 */ addiu $t1, $zero, 0x0005 ## $t1 = 00000005 -/* 00FC4 809D4574 AFA90014 */ sw $t1, 0x0014($sp) -/* 00FC8 809D4578 8FA400CC */ lw $a0, 0x00CC($sp) -/* 00FCC 809D457C 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 00FD0 809D4580 3C064248 */ lui $a2, 0x4248 ## $a2 = 42480000 -/* 00FD4 809D4584 3C0742A0 */ lui $a3, 0x42A0 ## $a3 = 42A00000 -/* 00FD8 809D4588 0C00B92D */ jal Actor_UpdateBgCheckInfo -/* 00FDC 809D458C E7AA0010 */ swc1 $f10, 0x0010($sp) -/* 00FE0 809D4590 962A0088 */ lhu $t2, 0x0088($s1) ## 00000088 -/* 00FE4 809D4594 93AC00C7 */ lbu $t4, 0x00C7($sp) -/* 00FE8 809D4598 314B0009 */ andi $t3, $t2, 0x0009 ## $t3 = 00000000 -/* 00FEC 809D459C 15600006 */ bne $t3, $zero, .L809D45B8 -/* 00FF0 809D45A0 00000000 */ nop -/* 00FF4 809D45A4 15800004 */ bne $t4, $zero, .L809D45B8 -/* 00FF8 809D45A8 00000000 */ nop -/* 00FFC 809D45AC 862D0150 */ lh $t5, 0x0150($s1) ## 00000150 -/* 01000 809D45B0 55A0000B */ bnel $t5, $zero, .L809D45E0 -/* 01004 809D45B4 9223014E */ lbu $v1, 0x014E($s1) ## 0000014E -.L809D45B8: -/* 01008 809D45B8 0C00B55C */ jal Actor_Kill - -/* 0100C 809D45BC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 01010 809D45C0 862E0150 */ lh $t6, 0x0150($s1) ## 00000150 -/* 01014 809D45C4 8FA400CC */ lw $a0, 0x00CC($sp) -/* 01018 809D45C8 26250024 */ addiu $a1, $s1, 0x0024 ## $a1 = 00000024 -/* 0101C 809D45CC 11C00003 */ beq $t6, $zero, .L809D45DC -/* 01020 809D45D0 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014 -/* 01024 809D45D4 0C01AEB6 */ jal Audio_PlaySoundAtPosition - -/* 01028 809D45D8 240738AD */ addiu $a3, $zero, 0x38AD ## $a3 = 000038AD -.L809D45DC: -/* 0102C 809D45DC 9223014E */ lbu $v1, 0x014E($s1) ## 0000014E -.L809D45E0: -/* 01030 809D45E0 28610064 */ slti $at, $v1, 0x0064 -.L809D45E4: -/* 01034 809D45E4 10200081 */ beq $at, $zero, .L809D47EC -/* 01038 809D45E8 3C04809E */ lui $a0, %hi(D_809DBFA0) ## $a0 = 809E0000 -/* 0103C 809D45EC 2484BFA0 */ addiu $a0, $a0, %lo(D_809DBFA0) ## $a0 = 809DBFA0 -/* 01040 809D45F0 0C00084C */ jal osSyncPrintf - -/* 01044 809D45F4 922501E0 */ lbu $a1, 0x01E0($s1) ## 000001E0 -/* 01048 809D45F8 3C04809E */ lui $a0, %hi(D_809DBFB0) ## $a0 = 809E0000 -/* 0104C 809D45FC 2484BFB0 */ addiu $a0, $a0, %lo(D_809DBFB0) ## $a0 = 809DBFB0 -/* 01050 809D4600 0C00084C */ jal osSyncPrintf - -/* 01054 809D4604 862501E2 */ lh $a1, 0x01E2($s1) ## 000001E2 -/* 01058 809D4608 922301E0 */ lbu $v1, 0x01E0($s1) ## 000001E0 -/* 0105C 809D460C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 01060 809D4610 50600077 */ beql $v1, $zero, .L809D47F0 -/* 01064 809D4614 922F014C */ lbu $t7, 0x014C($s1) ## 0000014C -/* 01068 809D4618 10610006 */ beq $v1, $at, .L809D4634 -/* 0106C 809D461C 240F0002 */ addiu $t7, $zero, 0x0002 ## $t7 = 00000002 -/* 01070 809D4620 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 01074 809D4624 50610013 */ beql $v1, $at, .L809D4674 -/* 01078 809D4628 9230017C */ lbu $s0, 0x017C($s1) ## 0000017C -/* 0107C 809D462C 10000035 */ beq $zero, $zero, .L809D4704 -/* 01080 809D4630 862C01E2 */ lh $t4, 0x01E2($s1) ## 000001E2 -.L809D4634: -/* 01084 809D4634 A22F01E0 */ sb $t7, 0x01E0($s1) ## 000001E0 -/* 01088 809D4638 8FA400CC */ lw $a0, 0x00CC($sp) -/* 0108C 809D463C 0C019148 */ jal func_80064520 -/* 01090 809D4640 24851D64 */ addiu $a1, $a0, 0x1D64 ## $a1 = 00001D64 -/* 01094 809D4644 0C03008C */ jal Gameplay_CreateSubCamera -/* 01098 809D4648 8FA400CC */ lw $a0, 0x00CC($sp) -/* 0109C 809D464C A62201E2 */ sh $v0, 0x01E2($s1) ## 000001E2 -/* 010A0 809D4650 8FA400CC */ lw $a0, 0x00CC($sp) -/* 010A4 809D4654 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 010A8 809D4658 0C0300C5 */ jal Gameplay_ChangeCameraStatus -/* 010AC 809D465C 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001 -/* 010B0 809D4660 8FA400CC */ lw $a0, 0x00CC($sp) -/* 010B4 809D4664 862501E2 */ lh $a1, 0x01E2($s1) ## 000001E2 -/* 010B8 809D4668 0C0300C5 */ jal Gameplay_ChangeCameraStatus -/* 010BC 809D466C 24060007 */ addiu $a2, $zero, 0x0007 ## $a2 = 00000007 -/* 010C0 809D4670 9230017C */ lbu $s0, 0x017C($s1) ## 0000017C -.L809D4674: -/* 010C4 809D4674 26390024 */ addiu $t9, $s1, 0x0024 ## $t9 = 00000024 -/* 010C8 809D4678 AFB9003C */ sw $t9, 0x003C($sp) -/* 010CC 809D467C 001081C0 */ sll $s0, $s0, 7 -/* 010D0 809D4680 00108400 */ sll $s0, $s0, 16 -/* 010D4 809D4684 00108403 */ sra $s0, $s0, 16 -/* 010D8 809D4688 00102400 */ sll $a0, $s0, 16 -/* 010DC 809D468C 0C01DE1C */ jal Math_SinS - ## sins? -/* 010E0 809D4690 00042403 */ sra $a0, $a0, 16 -/* 010E4 809D4694 3C014348 */ lui $at, 0x4348 ## $at = 43480000 -/* 010E8 809D4698 44819000 */ mtc1 $at, $f18 ## $f18 = 200.00 -/* 010EC 809D469C 00102400 */ sll $a0, $s0, 16 -/* 010F0 809D46A0 00042403 */ sra $a0, $a0, 16 -/* 010F4 809D46A4 46120182 */ mul.s $f6, $f0, $f18 -/* 010F8 809D46A8 0C01DE0D */ jal Math_CosS - ## coss? -/* 010FC 809D46AC E7A6008C */ swc1 $f6, 0x008C($sp) -/* 01100 809D46B0 C6280024 */ lwc1 $f8, 0x0024($s1) ## 00000024 -/* 01104 809D46B4 C7A4008C */ lwc1 $f4, 0x008C($sp) -/* 01108 809D46B8 3C014348 */ lui $at, 0x4348 ## $at = 43480000 -/* 0110C 809D46BC 44819000 */ mtc1 $at, $f18 ## $f18 = 200.00 -/* 01110 809D46C0 46044280 */ add.s $f10, $f8, $f4 -/* 01114 809D46C4 44814000 */ mtc1 $at, $f8 ## $f8 = 200.00 -/* 01118 809D46C8 E7B2007C */ swc1 $f18, 0x007C($sp) -/* 0111C 809D46CC 8FA9003C */ lw $t1, 0x003C($sp) -/* 01120 809D46D0 46080102 */ mul.s $f4, $f0, $f8 -/* 01124 809D46D4 E7AA0078 */ swc1 $f10, 0x0078($sp) -/* 01128 809D46D8 C626002C */ lwc1 $f6, 0x002C($s1) ## 0000002C -/* 0112C 809D46DC 27A8006C */ addiu $t0, $sp, 0x006C ## $t0 = FFFFFFA4 -/* 01130 809D46E0 46043280 */ add.s $f10, $f6, $f4 -/* 01134 809D46E4 E7AA0080 */ swc1 $f10, 0x0080($sp) -/* 01138 809D46E8 8D2B0000 */ lw $t3, 0x0000($t1) ## 00000000 -/* 0113C 809D46EC AD0B0000 */ sw $t3, 0x0000($t0) ## FFFFFFA4 -/* 01140 809D46F0 8D2A0004 */ lw $t2, 0x0004($t1) ## 00000004 -/* 01144 809D46F4 AD0A0004 */ sw $t2, 0x0004($t0) ## FFFFFFA8 -/* 01148 809D46F8 8D2B0008 */ lw $t3, 0x0008($t1) ## 00000008 -/* 0114C 809D46FC AD0B0008 */ sw $t3, 0x0008($t0) ## FFFFFFAC -/* 01150 809D4700 862C01E2 */ lh $t4, 0x01E2($s1) ## 000001E2 -.L809D4704: -/* 01154 809D4704 262401E4 */ addiu $a0, $s1, 0x01E4 ## $a0 = 000001E4 -/* 01158 809D4708 8FA50078 */ lw $a1, 0x0078($sp) -/* 0115C 809D470C 11800029 */ beq $t4, $zero, .L809D47B4 -/* 01160 809D4710 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000 -/* 01164 809D4714 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD -/* 01168 809D4718 3C0743FA */ lui $a3, 0x43FA ## $a3 = 43FA0000 -/* 0116C 809D471C 0C01E107 */ jal Math_ApproachF - -/* 01170 809D4720 AFA40038 */ sw $a0, 0x0038($sp) -/* 01174 809D4724 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000 -/* 01178 809D4728 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD -/* 0117C 809D472C 262401E8 */ addiu $a0, $s1, 0x01E8 ## $a0 = 000001E8 -/* 01180 809D4730 8FA5007C */ lw $a1, 0x007C($sp) -/* 01184 809D4734 0C01E107 */ jal Math_ApproachF - -/* 01188 809D4738 3C0743FA */ lui $a3, 0x43FA ## $a3 = 43FA0000 -/* 0118C 809D473C 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000 -/* 01190 809D4740 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD -/* 01194 809D4744 262401EC */ addiu $a0, $s1, 0x01EC ## $a0 = 000001EC -/* 01198 809D4748 8FA50080 */ lw $a1, 0x0080($sp) -/* 0119C 809D474C 0C01E107 */ jal Math_ApproachF - -/* 011A0 809D4750 3C0743FA */ lui $a3, 0x43FA ## $a3 = 43FA0000 -/* 011A4 809D4754 263001F0 */ addiu $s0, $s1, 0x01F0 ## $s0 = 000001F0 -/* 011A8 809D4758 3C063E4C */ lui $a2, 0x3E4C ## $a2 = 3E4C0000 -/* 011AC 809D475C 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3E4CCCCD -/* 011B0 809D4760 02002025 */ or $a0, $s0, $zero ## $a0 = 000001F0 -/* 011B4 809D4764 8FA5006C */ lw $a1, 0x006C($sp) -/* 011B8 809D4768 0C01E107 */ jal Math_ApproachF - -/* 011BC 809D476C 3C0743FA */ lui $a3, 0x43FA ## $a3 = 43FA0000 -/* 011C0 809D4770 3C063E4C */ lui $a2, 0x3E4C ## $a2 = 3E4C0000 -/* 011C4 809D4774 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3E4CCCCD -/* 011C8 809D4778 262401F4 */ addiu $a0, $s1, 0x01F4 ## $a0 = 000001F4 -/* 011CC 809D477C 8FA50070 */ lw $a1, 0x0070($sp) -/* 011D0 809D4780 0C01E107 */ jal Math_ApproachF - -/* 011D4 809D4784 3C0743FA */ lui $a3, 0x43FA ## $a3 = 43FA0000 -/* 011D8 809D4788 3C063E4C */ lui $a2, 0x3E4C ## $a2 = 3E4C0000 -/* 011DC 809D478C 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3E4CCCCD -/* 011E0 809D4790 262401F8 */ addiu $a0, $s1, 0x01F8 ## $a0 = 000001F8 -/* 011E4 809D4794 8FA50074 */ lw $a1, 0x0074($sp) -/* 011E8 809D4798 0C01E107 */ jal Math_ApproachF - -/* 011EC 809D479C 3C0743FA */ lui $a3, 0x43FA ## $a3 = 43FA0000 -/* 011F0 809D47A0 8FA400CC */ lw $a0, 0x00CC($sp) -/* 011F4 809D47A4 862501E2 */ lh $a1, 0x01E2($s1) ## 000001E2 -/* 011F8 809D47A8 02003025 */ or $a2, $s0, $zero ## $a2 = 000001F0 -/* 011FC 809D47AC 0C030136 */ jal Gameplay_CameraSetAtEye -/* 01200 809D47B0 8FA70038 */ lw $a3, 0x0038($sp) -.L809D47B4: -/* 01204 809D47B4 862D01FC */ lh $t5, 0x01FC($s1) ## 000001FC -/* 01208 809D47B8 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 0120C 809D47BC 8FA400CC */ lw $a0, 0x00CC($sp) -/* 01210 809D47C0 15A1000A */ bne $t5, $at, .L809D47EC -/* 01214 809D47C4 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 01218 809D47C8 862501E2 */ lh $a1, 0x01E2($s1) ## 000001E2 -/* 0121C 809D47CC 0C03022B */ jal func_800C08AC -/* 01220 809D47D0 24901D64 */ addiu $s0, $a0, 0x1D64 ## $s0 = 00001D64 -/* 01224 809D47D4 8FA400CC */ lw $a0, 0x00CC($sp) -/* 01228 809D47D8 A62001E2 */ sh $zero, 0x01E2($s1) ## 000001E2 -/* 0122C 809D47DC 862E01E2 */ lh $t6, 0x01E2($s1) ## 000001E2 -/* 01230 809D47E0 02002825 */ or $a1, $s0, $zero ## $a1 = 00001D64 -/* 01234 809D47E4 0C01914D */ jal func_80064534 -/* 01238 809D47E8 A22E01E0 */ sb $t6, 0x01E0($s1) ## 000001E0 -.L809D47EC: -/* 0123C 809D47EC 922F014C */ lbu $t7, 0x014C($s1) ## 0000014C -.L809D47F0: -/* 01240 809D47F0 26250024 */ addiu $a1, $s1, 0x0024 ## $a1 = 00000024 -/* 01244 809D47F4 24060028 */ addiu $a2, $zero, 0x0028 ## $a2 = 00000028 -/* 01248 809D47F8 11E00069 */ beq $t7, $zero, .L809D49A0 -/* 0124C 809D47FC 2407180E */ addiu $a3, $zero, 0x180E ## $a3 = 0000180E -/* 01250 809D4800 A220014C */ sb $zero, 0x014C($s1) ## 0000014C -/* 01254 809D4804 0C01AEB6 */ jal Audio_PlaySoundAtPosition - -/* 01258 809D4808 8FA400CC */ lw $a0, 0x00CC($sp) -/* 0125C 809D480C C6320024 */ lwc1 $f18, 0x0024($s1) ## 00000024 -/* 01260 809D4810 3C014220 */ lui $at, 0x4220 ## $at = 42200000 -/* 01264 809D4814 44813000 */ mtc1 $at, $f6 ## $f6 = 40.00 -/* 01268 809D4818 E7B20060 */ swc1 $f18, 0x0060($sp) -/* 0126C 809D481C C6280028 */ lwc1 $f8, 0x0028($s1) ## 00000028 -/* 01270 809D4820 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 01274 809D4824 44815000 */ mtc1 $at, $f10 ## $f10 = 30.00 -/* 01278 809D4828 46064100 */ add.s $f4, $f8, $f6 -/* 0127C 809D482C 26380188 */ addiu $t8, $s1, 0x0188 ## $t8 = 00000188 -/* 01280 809D4830 8FA400CC */ lw $a0, 0x00CC($sp) -/* 01284 809D4834 27A50060 */ addiu $a1, $sp, 0x0060 ## $a1 = FFFFFF98 -/* 01288 809D4838 460A2481 */ sub.s $f18, $f4, $f10 -/* 0128C 809D483C 3C0640C0 */ lui $a2, 0x40C0 ## $a2 = 40C00000 -/* 01290 809D4840 E7B20064 */ swc1 $f18, 0x0064($sp) -/* 01294 809D4844 C628002C */ lwc1 $f8, 0x002C($s1) ## 0000002C -/* 01298 809D4848 E7A80068 */ swc1 $f8, 0x0068($sp) -/* 0129C 809D484C 8E270080 */ lw $a3, 0x0080($s1) ## 00000080 -/* 012A0 809D4850 0C274E2F */ jal func_809D38BC -/* 012A4 809D4854 AFB80010 */ sw $t8, 0x0010($sp) -/* 012A8 809D4858 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 012AC 809D485C 44812000 */ mtc1 $at, $f4 ## $f4 = 30.00 -/* 012B0 809D4860 C6260028 */ lwc1 $f6, 0x0028($s1) ## 00000028 -/* 012B4 809D4864 3C014248 */ lui $at, 0x4248 ## $at = 42480000 -/* 012B8 809D4868 44819000 */ mtc1 $at, $f18 ## $f18 = 50.00 -/* 012BC 809D486C 46043280 */ add.s $f10, $f6, $f4 -/* 012C0 809D4870 8FA400CC */ lw $a0, 0x00CC($sp) -/* 012C4 809D4874 27A50060 */ addiu $a1, $sp, 0x0060 ## $a1 = FFFFFF98 -/* 012C8 809D4878 3C064040 */ lui $a2, 0x4040 ## $a2 = 40400000 -/* 012CC 809D487C 46125201 */ sub.s $f8, $f10, $f18 -/* 012D0 809D4880 0C274DE6 */ jal func_809D3798 -/* 012D4 809D4884 E7A80064 */ swc1 $f8, 0x0064($sp) -/* 012D8 809D4888 C6260028 */ lwc1 $f6, 0x0028($s1) ## 00000028 -/* 012DC 809D488C 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000 -/* 012E0 809D4890 E7A60064 */ swc1 $f6, 0x0064($sp) -/* 012E4 809D4894 44902000 */ mtc1 $s0, $f4 ## $f4 = 0.00 -.L809D4898: -/* 012E8 809D4898 3C01809E */ lui $at, %hi(D_809DC0FC) ## $at = 809E0000 -/* 012EC 809D489C C42AC0FC */ lwc1 $f10, %lo(D_809DC0FC)($at) -/* 012F0 809D48A0 46802020 */ cvt.s.w $f0, $f4 -/* 012F4 809D48A4 460A0302 */ mul.s $f12, $f0, $f10 -/* 012F8 809D48A8 E7A0003C */ swc1 $f0, 0x003C($sp) -/* 012FC 809D48AC 0C0400A4 */ jal sinf - -/* 01300 809D48B0 E7AC0038 */ swc1 $f12, 0x0038($sp) -/* 01304 809D48B4 C7B2003C */ lwc1 $f18, 0x003C($sp) -/* 01308 809D48B8 3C01809E */ lui $at, %hi(D_809DC100) ## $at = 809E0000 -/* 0130C 809D48BC C426C100 */ lwc1 $f6, %lo(D_809DC100)($at) -/* 01310 809D48C0 46120202 */ mul.s $f8, $f0, $f18 -/* 01314 809D48C4 C7AC0038 */ lwc1 $f12, 0x0038($sp) -/* 01318 809D48C8 46064102 */ mul.s $f4, $f8, $f6 -/* 0131C 809D48CC 0C041184 */ jal cosf - -/* 01320 809D48D0 E7A40054 */ swc1 $f4, 0x0054($sp) -/* 01324 809D48D4 C7AA003C */ lwc1 $f10, 0x003C($sp) -/* 01328 809D48D8 3C01809E */ lui $at, %hi(D_809DC104) ## $at = 809E0000 -/* 0132C 809D48DC C428C104 */ lwc1 $f8, %lo(D_809DC104)($at) -/* 01330 809D48E0 460A0482 */ mul.s $f18, $f0, $f10 -/* 01334 809D48E4 3C0140C0 */ lui $at, 0x40C0 ## $at = 40C00000 -/* 01338 809D48E8 44816000 */ mtc1 $at, $f12 ## $f12 = 6.00 -/* 0133C 809D48EC 46089182 */ mul.s $f6, $f18, $f8 -/* 01340 809D48F0 0C00CFBE */ jal Rand_ZeroFloat - -/* 01344 809D48F4 E7A6005C */ swc1 $f6, 0x005C($sp) -/* 01348 809D48F8 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000 -/* 0134C 809D48FC 44812000 */ mtc1 $at, $f4 ## $f4 = 5.00 -/* 01350 809D4900 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 01354 809D4904 44816000 */ mtc1 $at, $f12 ## $f12 = 0.50 -/* 01358 809D4908 46040280 */ add.s $f10, $f0, $f4 -/* 0135C 809D490C 0C00CFC8 */ jal Rand_CenteredFloat - -/* 01360 809D4910 E7AA0058 */ swc1 $f10, 0x0058($sp) -/* 01364 809D4914 C7B20054 */ lwc1 $f18, 0x0054($sp) -/* 01368 809D4918 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 0136C 809D491C 44816000 */ mtc1 $at, $f12 ## $f12 = 0.50 -/* 01370 809D4920 46009200 */ add.s $f8, $f18, $f0 -/* 01374 809D4924 0C00CFC8 */ jal Rand_CenteredFloat - -/* 01378 809D4928 E7A80054 */ swc1 $f8, 0x0054($sp) -/* 0137C 809D492C C7A6005C */ lwc1 $f6, 0x005C($sp) -/* 01380 809D4930 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000 -/* 01384 809D4934 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00 -/* 01388 809D4938 46003100 */ add.s $f4, $f6, $f0 -/* 0138C 809D493C 44815000 */ mtc1 $at, $f10 ## $f10 = -1.00 -/* 01390 809D4940 3C01809E */ lui $at, %hi(D_809DC108) ## $at = 809E0000 -/* 01394 809D4944 C42CC108 */ lwc1 $f12, %lo(D_809DC108)($at) -/* 01398 809D4948 E7A4005C */ swc1 $f4, 0x005C($sp) -/* 0139C 809D494C E7A20048 */ swc1 $f2, 0x0048($sp) -/* 013A0 809D4950 E7A20050 */ swc1 $f2, 0x0050($sp) -/* 013A4 809D4954 0C00CFBE */ jal Rand_ZeroFloat - -/* 013A8 809D4958 E7AA004C */ swc1 $f10, 0x004C($sp) -/* 013AC 809D495C 3C01809E */ lui $at, %hi(D_809DC10C) ## $at = 809E0000 -/* 013B0 809D4960 C432C10C */ lwc1 $f18, %lo(D_809DC10C)($at) -/* 013B4 809D4964 8FA400CC */ lw $a0, 0x00CC($sp) -/* 013B8 809D4968 27A50060 */ addiu $a1, $sp, 0x0060 ## $a1 = FFFFFF98 -/* 013BC 809D496C 46120200 */ add.s $f8, $f0, $f18 -/* 013C0 809D4970 27A60054 */ addiu $a2, $sp, 0x0054 ## $a2 = FFFFFF8C -/* 013C4 809D4974 27A70048 */ addiu $a3, $sp, 0x0048 ## $a3 = FFFFFF80 -/* 013C8 809D4978 E7A80010 */ swc1 $f8, 0x0010($sp) -/* 013CC 809D497C C6260080 */ lwc1 $f6, 0x0080($s1) ## 00000080 -/* 013D0 809D4980 0C274D6C */ jal func_809D35B0 -/* 013D4 809D4984 E7A60014 */ swc1 $f6, 0x0014($sp) -/* 013D8 809D4988 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 -/* 013DC 809D498C 00108400 */ sll $s0, $s0, 16 -/* 013E0 809D4990 00108403 */ sra $s0, $s0, 16 -/* 013E4 809D4994 2A01000F */ slti $at, $s0, 0x000F -/* 013E8 809D4998 5420FFBF */ bnel $at, $zero, .L809D4898 -/* 013EC 809D499C 44902000 */ mtc1 $s0, $f4 ## $f4 = 0.00 -.L809D49A0: -/* 013F0 809D49A0 9222014D */ lbu $v0, 0x014D($s1) ## 0000014D -/* 013F4 809D49A4 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 013F8 809D49A8 50400011 */ beql $v0, $zero, .L809D49F0 -/* 013FC 809D49AC 8FBF0034 */ lw $ra, 0x0034($sp) -/* 01400 809D49B0 1441000C */ bne $v0, $at, .L809D49E4 -/* 01404 809D49B4 00000000 */ nop -/* 01408 809D49B8 86230186 */ lh $v1, 0x0186($s1) ## 00000186 -/* 0140C 809D49BC 14600003 */ bne $v1, $zero, .L809D49CC -/* 01410 809D49C0 2479FFFF */ addiu $t9, $v1, 0xFFFF ## $t9 = FFFFFFFF -/* 01414 809D49C4 10000003 */ beq $zero, $zero, .L809D49D4 -/* 01418 809D49C8 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L809D49CC: -/* 0141C 809D49CC A6390186 */ sh $t9, 0x0186($s1) ## 00000186 -/* 01420 809D49D0 86220186 */ lh $v0, 0x0186($s1) ## 00000186 -.L809D49D4: -/* 01424 809D49D4 14400003 */ bne $v0, $zero, .L809D49E4 -/* 01428 809D49D8 00000000 */ nop -/* 0142C 809D49DC 0C00B55C */ jal Actor_Kill - -/* 01430 809D49E0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -.L809D49E4: -/* 01434 809D49E4 0C275401 */ jal func_809D5004 -/* 01438 809D49E8 8FA400CC */ lw $a0, 0x00CC($sp) -/* 0143C 809D49EC 8FBF0034 */ lw $ra, 0x0034($sp) -.L809D49F0: -/* 01440 809D49F0 8FB0002C */ lw $s0, 0x002C($sp) -/* 01444 809D49F4 8FB10030 */ lw $s1, 0x0030($sp) -/* 01448 809D49F8 03E00008 */ jr $ra -/* 0144C 809D49FC 27BD00C8 */ addiu $sp, $sp, 0x00C8 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D35B0.s b/asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D35B0.s deleted file mode 100644 index 67170bf2e6..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D35B0.s +++ /dev/null @@ -1,77 +0,0 @@ -.late_rodata -glabel D_809DC0D8 - .float 6.28318548203 - -glabel D_809DC0DC - .float 6.28318548203 - -.text -glabel func_809D35B0 -/* 00000 809D35B0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 00004 809D35B4 AFB00018 */ sw $s0, 0x0018($sp) -/* 00008 809D35B8 3C100001 */ lui $s0, 0x0001 ## $s0 = 00010000 -/* 0000C 809D35BC AFBF001C */ sw $ra, 0x001C($sp) -/* 00010 809D35C0 02048021 */ addu $s0, $s0, $a0 -/* 00014 809D35C4 8E101E10 */ lw $s0, 0x1E10($s0) ## 00011E10 -/* 00018 809D35C8 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L809D35CC: -/* 0001C 809D35CC 920E0000 */ lbu $t6, 0x0000($s0) ## 00010000 -/* 00020 809D35D0 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001 -/* 00024 809D35D4 00021400 */ sll $v0, $v0, 16 -/* 00028 809D35D8 15C0002B */ bne $t6, $zero, .L809D3688 -/* 0002C 809D35DC 00021403 */ sra $v0, $v0, 16 -/* 00030 809D35E0 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001 -/* 00034 809D35E4 A20F0000 */ sb $t7, 0x0000($s0) ## 00010000 -/* 00038 809D35E8 8CB90000 */ lw $t9, 0x0000($a1) ## 00000000 -/* 0003C 809D35EC 3C01809E */ lui $at, %hi(D_809DC0D8) ## $at = 809E0000 -/* 00040 809D35F0 AE190004 */ sw $t9, 0x0004($s0) ## 00010004 -/* 00044 809D35F4 8CB80004 */ lw $t8, 0x0004($a1) ## 00000004 -/* 00048 809D35F8 AE180008 */ sw $t8, 0x0008($s0) ## 00010008 -/* 0004C 809D35FC 8CB90008 */ lw $t9, 0x0008($a1) ## 00000008 -/* 00050 809D3600 AE19000C */ sw $t9, 0x000C($s0) ## 0001000C -/* 00054 809D3604 8CC90000 */ lw $t1, 0x0000($a2) ## 00000000 -/* 00058 809D3608 AE090010 */ sw $t1, 0x0010($s0) ## 00010010 -/* 0005C 809D360C 8CC80004 */ lw $t0, 0x0004($a2) ## 00000004 -/* 00060 809D3610 AE080014 */ sw $t0, 0x0014($s0) ## 00010014 -/* 00064 809D3614 8CC90008 */ lw $t1, 0x0008($a2) ## 00000008 -/* 00068 809D3618 AE090018 */ sw $t1, 0x0018($s0) ## 00010018 -/* 0006C 809D361C 8CEB0000 */ lw $t3, 0x0000($a3) ## 00000000 -/* 00070 809D3620 AE0B001C */ sw $t3, 0x001C($s0) ## 0001001C -/* 00074 809D3624 8CEA0004 */ lw $t2, 0x0004($a3) ## 00000004 -/* 00078 809D3628 AE0A0020 */ sw $t2, 0x0020($s0) ## 00010020 -/* 0007C 809D362C 8CEB0008 */ lw $t3, 0x0008($a3) ## 00000008 -/* 00080 809D3630 AE0B0024 */ sw $t3, 0x0024($s0) ## 00010024 -/* 00084 809D3634 C7A40030 */ lwc1 $f4, 0x0030($sp) -/* 00088 809D3638 E604004C */ swc1 $f4, 0x004C($s0) ## 0001004C -/* 0008C 809D363C 0C00CFBE */ jal Rand_ZeroFloat - -/* 00090 809D3640 C42CC0D8 */ lwc1 $f12, %lo(D_809DC0D8)($at) -/* 00094 809D3644 E6000054 */ swc1 $f0, 0x0054($s0) ## 00010054 -/* 00098 809D3648 3C01809E */ lui $at, %hi(D_809DC0DC) ## $at = 809E0000 -/* 0009C 809D364C 0C00CFBE */ jal Rand_ZeroFloat - -/* 000A0 809D3650 C42CC0DC */ lwc1 $f12, %lo(D_809DC0DC)($at) -/* 000A4 809D3654 A6000048 */ sh $zero, 0x0048($s0) ## 00010048 -/* 000A8 809D3658 860C0048 */ lh $t4, 0x0048($s0) ## 00010048 -/* 000AC 809D365C E6000058 */ swc1 $f0, 0x0058($s0) ## 00010058 -/* 000B0 809D3660 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 000B4 809D3664 A60C004A */ sh $t4, 0x004A($s0) ## 0001004A -/* 000B8 809D3668 C7A60034 */ lwc1 $f6, 0x0034($sp) -/* 000BC 809D366C 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00 -/* 000C0 809D3670 0C00CFBE */ jal Rand_ZeroFloat - -/* 000C4 809D3674 E606005C */ swc1 $f6, 0x005C($s0) ## 0001005C -/* 000C8 809D3678 4600020D */ trunc.w.s $f8, $f0 -/* 000CC 809D367C 44184000 */ mfc1 $t8, $f8 -/* 000D0 809D3680 10000004 */ beq $zero, $zero, .L809D3694 -/* 000D4 809D3684 A2180001 */ sb $t8, 0x0001($s0) ## 00010001 -.L809D3688: -/* 000D8 809D3688 28410064 */ slti $at, $v0, 0x0064 -/* 000DC 809D368C 1420FFCF */ bne $at, $zero, .L809D35CC -/* 000E0 809D3690 2610006C */ addiu $s0, $s0, 0x006C ## $s0 = 0001006C -.L809D3694: -/* 000E4 809D3694 8FBF001C */ lw $ra, 0x001C($sp) -/* 000E8 809D3698 8FB00018 */ lw $s0, 0x0018($sp) -/* 000EC 809D369C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 000F0 809D36A0 03E00008 */ jr $ra -/* 000F4 809D36A4 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D36A8.s b/asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D36A8.s deleted file mode 100644 index 39a4f8a6ff..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D36A8.s +++ /dev/null @@ -1,70 +0,0 @@ -.late_rodata -glabel D_809DC0E0 - .float 0.15 - -.text -glabel func_809D36A8 -/* 000F8 809D36A8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 000FC 809D36AC 3C020001 */ lui $v0, 0x0001 ## $v0 = 00010000 -/* 00100 809D36B0 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00104 809D36B4 AFA50024 */ sw $a1, 0x0024($sp) -/* 00108 809D36B8 AFA60028 */ sw $a2, 0x0028($sp) -/* 0010C 809D36BC 00441021 */ addu $v0, $v0, $a0 -/* 00110 809D36C0 8C421E10 */ lw $v0, 0x1E10($v0) ## 00011E10 -/* 00114 809D36C4 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000 -.L809D36C8: -/* 00118 809D36C8 904E0000 */ lbu $t6, 0x0000($v0) ## 00010000 -/* 0011C 809D36CC 15C00028 */ bne $t6, $zero, .L809D3770 -/* 00120 809D36D0 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 00124 809D36D4 44816000 */ mtc1 $at, $f12 ## $f12 = 100.00 -/* 00128 809D36D8 0C00CFBE */ jal Rand_ZeroFloat - -/* 0012C 809D36DC AFA20018 */ sw $v0, 0x0018($sp) -/* 00130 809D36E0 4600010D */ trunc.w.s $f4, $f0 -/* 00134 809D36E4 8FA20018 */ lw $v0, 0x0018($sp) -/* 00138 809D36E8 24090002 */ addiu $t1, $zero, 0x0002 ## $t1 = 00000002 -/* 0013C 809D36EC 3C03809D */ lui $v1, %hi(D_809D5C34) ## $v1 = 809D0000 -/* 00140 809D36F0 44082000 */ mfc1 $t0, $f4 -/* 00144 809D36F4 A0490000 */ sb $t1, 0x0000($v0) ## 00000000 -/* 00148 809D36F8 24635C34 */ addiu $v1, $v1, %lo(D_809D5C34) ## $v1 = 809D5C34 -/* 0014C 809D36FC A0480001 */ sb $t0, 0x0001($v0) ## 00000001 -/* 00150 809D3700 8FAA0024 */ lw $t2, 0x0024($sp) -/* 00154 809D3704 3C01809E */ lui $at, %hi(D_809DC0E0) ## $at = 809E0000 -/* 00158 809D3708 8D4C0000 */ lw $t4, 0x0000($t2) ## 00000000 -/* 0015C 809D370C AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004 -/* 00160 809D3710 8D4B0004 */ lw $t3, 0x0004($t2) ## 00000004 -/* 00164 809D3714 AC4B0008 */ sw $t3, 0x0008($v0) ## 00000008 -/* 00168 809D3718 8D4C0008 */ lw $t4, 0x0008($t2) ## 00000008 -/* 0016C 809D371C AC4C000C */ sw $t4, 0x000C($v0) ## 0000000C -/* 00170 809D3720 8C6E0000 */ lw $t6, 0x0000($v1) ## 809D5C34 -/* 00174 809D3724 AC4E0010 */ sw $t6, 0x0010($v0) ## 00000010 -/* 00178 809D3728 8C6D0004 */ lw $t5, 0x0004($v1) ## 809D5C38 -/* 0017C 809D372C AC4D0014 */ sw $t5, 0x0014($v0) ## 00000014 -/* 00180 809D3730 8C6E0008 */ lw $t6, 0x0008($v1) ## 809D5C3C -/* 00184 809D3734 AC4E0018 */ sw $t6, 0x0018($v0) ## 00000018 -/* 00188 809D3738 8C780000 */ lw $t8, 0x0000($v1) ## 809D5C34 -/* 0018C 809D373C AC58001C */ sw $t8, 0x001C($v0) ## 0000001C -/* 00190 809D3740 8C6F0004 */ lw $t7, 0x0004($v1) ## 809D5C38 -/* 00194 809D3744 AC4F0020 */ sw $t7, 0x0020($v0) ## 00000020 -/* 00198 809D3748 8C780008 */ lw $t8, 0x0008($v1) ## 809D5C3C -/* 0019C 809D374C AC580024 */ sw $t8, 0x0024($v0) ## 00000024 -/* 001A0 809D3750 C426C0E0 */ lwc1 $f6, %lo(D_809DC0E0)($at) -/* 001A4 809D3754 3C014348 */ lui $at, 0x4348 ## $at = 43480000 -/* 001A8 809D3758 44815000 */ mtc1 $at, $f10 ## $f10 = 200.00 -/* 001AC 809D375C E4460020 */ swc1 $f6, 0x0020($v0) ## 00000020 -/* 001B0 809D3760 C7A80028 */ lwc1 $f8, 0x0028($sp) -/* 001B4 809D3764 E44A0034 */ swc1 $f10, 0x0034($v0) ## 00000034 -/* 001B8 809D3768 10000007 */ beq $zero, $zero, .L809D3788 -/* 001BC 809D376C E448004C */ swc1 $f8, 0x004C($v0) ## 0000004C -.L809D3770: -/* 001C0 809D3770 24630001 */ addiu $v1, $v1, 0x0001 ## $v1 = 809D5C35 -/* 001C4 809D3774 00031C00 */ sll $v1, $v1, 16 -/* 001C8 809D3778 00031C03 */ sra $v1, $v1, 16 -/* 001CC 809D377C 28610064 */ slti $at, $v1, 0x0064 -/* 001D0 809D3780 1420FFD1 */ bne $at, $zero, .L809D36C8 -/* 001D4 809D3784 2442006C */ addiu $v0, $v0, 0x006C ## $v0 = 0000006C -.L809D3788: -/* 001D8 809D3788 8FBF0014 */ lw $ra, 0x0014($sp) -/* 001DC 809D378C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 001E0 809D3790 03E00008 */ jr $ra -/* 001E4 809D3794 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D3798.s b/asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D3798.s deleted file mode 100644 index f742f58010..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D3798.s +++ /dev/null @@ -1,78 +0,0 @@ -glabel func_809D3798 -/* 001E8 809D3798 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 001EC 809D379C 3C020001 */ lui $v0, 0x0001 ## $v0 = 00010000 -/* 001F0 809D37A0 AFBF0014 */ sw $ra, 0x0014($sp) -/* 001F4 809D37A4 AFA50024 */ sw $a1, 0x0024($sp) -/* 001F8 809D37A8 00441021 */ addu $v0, $v0, $a0 -/* 001FC 809D37AC 44867000 */ mtc1 $a2, $f14 ## $f14 = 0.00 -/* 00200 809D37B0 8C421E10 */ lw $v0, 0x1E10($v0) ## 00011E10 -/* 00204 809D37B4 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000 -.L809D37B8: -/* 00208 809D37B8 904E0000 */ lbu $t6, 0x0000($v0) ## 00010000 -/* 0020C 809D37BC 15C00035 */ bne $t6, $zero, .L809D3894 -/* 00210 809D37C0 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 00214 809D37C4 44816000 */ mtc1 $at, $f12 ## $f12 = 100.00 -/* 00218 809D37C8 AFA20018 */ sw $v0, 0x0018($sp) -/* 0021C 809D37CC 0C00CFBE */ jal Rand_ZeroFloat - -/* 00220 809D37D0 E7AE0028 */ swc1 $f14, 0x0028($sp) -/* 00224 809D37D4 4600010D */ trunc.w.s $f4, $f0 -/* 00228 809D37D8 8FA20018 */ lw $v0, 0x0018($sp) -/* 0022C 809D37DC C7AE0028 */ lwc1 $f14, 0x0028($sp) -/* 00230 809D37E0 24090003 */ addiu $t1, $zero, 0x0003 ## $t1 = 00000003 -/* 00234 809D37E4 44082000 */ mfc1 $t0, $f4 -/* 00238 809D37E8 A0490000 */ sb $t1, 0x0000($v0) ## 00000000 -/* 0023C 809D37EC 3C03809D */ lui $v1, %hi(D_809D5C34) ## $v1 = 809D0000 -/* 00240 809D37F0 A0480001 */ sb $t0, 0x0001($v0) ## 00000001 -/* 00244 809D37F4 8FAA0024 */ lw $t2, 0x0024($sp) -/* 00248 809D37F8 24635C34 */ addiu $v1, $v1, %lo(D_809D5C34) ## $v1 = 809D5C34 -/* 0024C 809D37FC 3C01437F */ lui $at, 0x437F ## $at = 437F0000 -/* 00250 809D3800 8D4C0000 */ lw $t4, 0x0000($t2) ## 00000000 -/* 00254 809D3804 44811000 */ mtc1 $at, $f2 ## $f2 = 255.00 -/* 00258 809D3808 3C014348 */ lui $at, 0x4348 ## $at = 43480000 -/* 0025C 809D380C AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004 -/* 00260 809D3810 8D4B0004 */ lw $t3, 0x0004($t2) ## 00000004 -/* 00264 809D3814 44814000 */ mtc1 $at, $f8 ## $f8 = 200.00 -/* 00268 809D3818 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000 -/* 0026C 809D381C AC4B0008 */ sw $t3, 0x0008($v0) ## 00000008 -/* 00270 809D3820 8D4C0008 */ lw $t4, 0x0008($t2) ## 00000008 -/* 00274 809D3824 44815000 */ mtc1 $at, $f10 ## $f10 = 20.00 -/* 00278 809D3828 460E7180 */ add.s $f6, $f14, $f14 -/* 0027C 809D382C AC4C000C */ sw $t4, 0x000C($v0) ## 0000000C -/* 00280 809D3830 8C6E0000 */ lw $t6, 0x0000($v1) ## 809D5C34 -/* 00284 809D3834 3C014357 */ lui $at, 0x4357 ## $at = 43570000 -/* 00288 809D3838 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00 -/* 0028C 809D383C AC4E0010 */ sw $t6, 0x0010($v0) ## 00000010 -/* 00290 809D3840 8C6D0004 */ lw $t5, 0x0004($v1) ## 809D5C38 -/* 00294 809D3844 44819000 */ mtc1 $at, $f18 ## $f18 = 215.00 -/* 00298 809D3848 AC4D0014 */ sw $t5, 0x0014($v0) ## 00000014 -/* 0029C 809D384C 8C6E0008 */ lw $t6, 0x0008($v1) ## 809D5C3C -/* 002A0 809D3850 AC4E0018 */ sw $t6, 0x0018($v0) ## 00000018 -/* 002A4 809D3854 8C780000 */ lw $t8, 0x0000($v1) ## 809D5C34 -/* 002A8 809D3858 AC58001C */ sw $t8, 0x001C($v0) ## 0000001C -/* 002AC 809D385C 8C6F0004 */ lw $t7, 0x0004($v1) ## 809D5C38 -/* 002B0 809D3860 AC4F0020 */ sw $t7, 0x0020($v0) ## 00000020 -/* 002B4 809D3864 8C780008 */ lw $t8, 0x0008($v1) ## 809D5C3C -/* 002B8 809D3868 E4460050 */ swc1 $f6, 0x0050($v0) ## 00000050 -/* 002BC 809D386C E44E004C */ swc1 $f14, 0x004C($v0) ## 0000004C -/* 002C0 809D3870 E4420034 */ swc1 $f2, 0x0034($v0) ## 00000034 -/* 002C4 809D3874 E4420038 */ swc1 $f2, 0x0038($v0) ## 00000038 -/* 002C8 809D3878 E4420040 */ swc1 $f2, 0x0040($v0) ## 00000040 -/* 002CC 809D387C E4480028 */ swc1 $f8, 0x0028($v0) ## 00000028 -/* 002D0 809D3880 E44A002C */ swc1 $f10, 0x002C($v0) ## 0000002C -/* 002D4 809D3884 E4500030 */ swc1 $f16, 0x0030($v0) ## 00000030 -/* 002D8 809D3888 E452003C */ swc1 $f18, 0x003C($v0) ## 0000003C -/* 002DC 809D388C 10000007 */ beq $zero, $zero, .L809D38AC -/* 002E0 809D3890 AC580024 */ sw $t8, 0x0024($v0) ## 00000024 -.L809D3894: -/* 002E4 809D3894 24630001 */ addiu $v1, $v1, 0x0001 ## $v1 = 809D5C35 -/* 002E8 809D3898 00031C00 */ sll $v1, $v1, 16 -/* 002EC 809D389C 00031C03 */ sra $v1, $v1, 16 -/* 002F0 809D38A0 28610064 */ slti $at, $v1, 0x0064 -/* 002F4 809D38A4 1420FFC4 */ bne $at, $zero, .L809D37B8 -/* 002F8 809D38A8 2442006C */ addiu $v0, $v0, 0x006C ## $v0 = 0000006C -.L809D38AC: -/* 002FC 809D38AC 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00300 809D38B0 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00304 809D38B4 03E00008 */ jr $ra -/* 00308 809D38B8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D38BC.s b/asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D38BC.s deleted file mode 100644 index c0a92513ed..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D38BC.s +++ /dev/null @@ -1,57 +0,0 @@ -glabel func_809D38BC -/* 0030C 809D38BC 3C020001 */ lui $v0, 0x0001 ## $v0 = 00010000 -/* 00310 809D38C0 00441021 */ addu $v0, $v0, $a0 -/* 00314 809D38C4 44866000 */ mtc1 $a2, $f12 ## $f12 = 0.00 -/* 00318 809D38C8 44877000 */ mtc1 $a3, $f14 ## $f14 = 0.00 -/* 0031C 809D38CC 8C421E10 */ lw $v0, 0x1E10($v0) ## 00011E10 -/* 00320 809D38D0 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000 -.L809D38D4: -/* 00324 809D38D4 904E0000 */ lbu $t6, 0x0000($v0) ## 00010000 -/* 00328 809D38D8 15C00026 */ bne $t6, $zero, .L809D3974 -/* 0032C 809D38DC 240F0004 */ addiu $t7, $zero, 0x0004 ## $t7 = 00000004 -/* 00330 809D38E0 A04F0000 */ sb $t7, 0x0000($v0) ## 00010000 -/* 00334 809D38E4 8CB90000 */ lw $t9, 0x0000($a1) ## 00000000 -/* 00338 809D38E8 3C03809D */ lui $v1, %hi(D_809D5C34) ## $v1 = 809D0000 -/* 0033C 809D38EC 24635C34 */ addiu $v1, $v1, %lo(D_809D5C34) ## $v1 = 809D5C34 -/* 00340 809D38F0 AC590004 */ sw $t9, 0x0004($v0) ## 00010004 -/* 00344 809D38F4 8CB80004 */ lw $t8, 0x0004($a1) ## 00000004 -/* 00348 809D38F8 460C6180 */ add.s $f6, $f12, $f12 -/* 0034C 809D38FC 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 00350 809D3900 AC580008 */ sw $t8, 0x0008($v0) ## 00010008 -/* 00354 809D3904 8CB90008 */ lw $t9, 0x0008($a1) ## 00000008 -/* 00358 809D3908 3C014334 */ lui $at, 0x4334 ## $at = 43340000 -/* 0035C 809D390C 44814000 */ mtc1 $at, $f8 ## $f8 = 180.00 -/* 00360 809D3910 AC59000C */ sw $t9, 0x000C($v0) ## 0001000C -/* 00364 809D3914 8C690000 */ lw $t1, 0x0000($v1) ## 809D5C34 -/* 00368 809D3918 AC490010 */ sw $t1, 0x0010($v0) ## 00010010 -/* 0036C 809D391C 8C680004 */ lw $t0, 0x0004($v1) ## 809D5C38 -/* 00370 809D3920 AC480014 */ sw $t0, 0x0014($v0) ## 00010014 -/* 00374 809D3924 8C690008 */ lw $t1, 0x0008($v1) ## 809D5C3C -/* 00378 809D3928 AC490018 */ sw $t1, 0x0018($v0) ## 00010018 -/* 0037C 809D392C 8C6B0000 */ lw $t3, 0x0000($v1) ## 809D5C34 -/* 00380 809D3930 AC4B001C */ sw $t3, 0x001C($v0) ## 0001001C -/* 00384 809D3934 8C6A0004 */ lw $t2, 0x0004($v1) ## 809D5C38 -/* 00388 809D3938 AC4A0020 */ sw $t2, 0x0020($v0) ## 00010020 -/* 0038C 809D393C 8C6B0008 */ lw $t3, 0x0008($v1) ## 809D5C3C -/* 00390 809D3940 E4460050 */ swc1 $f6, 0x0050($v0) ## 00010050 -/* 00394 809D3944 E44E005C */ swc1 $f14, 0x005C($v0) ## 0001005C -/* 00398 809D3948 E444004C */ swc1 $f4, 0x004C($v0) ## 0001004C -/* 0039C 809D394C AC4B0024 */ sw $t3, 0x0024($v0) ## 00010024 -/* 003A0 809D3950 8FAC0010 */ lw $t4, 0x0010($sp) -/* 003A4 809D3954 8D8E0000 */ lw $t6, 0x0000($t4) ## 00000000 -/* 003A8 809D3958 AC4E0060 */ sw $t6, 0x0060($v0) ## 00010060 -/* 003AC 809D395C 8D8D0004 */ lw $t5, 0x0004($t4) ## 00000004 -/* 003B0 809D3960 AC4D0064 */ sw $t5, 0x0064($v0) ## 00010064 -/* 003B4 809D3964 8D8E0008 */ lw $t6, 0x0008($t4) ## 00000008 -/* 003B8 809D3968 E4480034 */ swc1 $f8, 0x0034($v0) ## 00010034 -/* 003BC 809D396C 03E00008 */ jr $ra -/* 003C0 809D3970 AC4E0068 */ sw $t6, 0x0068($v0) ## 00010068 -.L809D3974: -/* 003C4 809D3974 24630001 */ addiu $v1, $v1, 0x0001 ## $v1 = 809D5C35 -/* 003C8 809D3978 00031C00 */ sll $v1, $v1, 16 -/* 003CC 809D397C 00031C03 */ sra $v1, $v1, 16 -/* 003D0 809D3980 28610064 */ slti $at, $v1, 0x0064 -/* 003D4 809D3984 1420FFD3 */ bne $at, $zero, .L809D38D4 -/* 003D8 809D3988 2442006C */ addiu $v0, $v0, 0x006C ## $v0 = 0001006C -/* 003DC 809D398C 03E00008 */ jr $ra -/* 003E0 809D3990 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D3B80.s b/asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D3B80.s deleted file mode 100644 index 257a3c0516..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D3B80.s +++ /dev/null @@ -1,53 +0,0 @@ -.late_rodata -glabel D_809DC0E8 - .word 0x38000100 - -.text -glabel func_809D3B80 -/* 005D0 809D3B80 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 005D4 809D3B84 AFBF0014 */ sw $ra, 0x0014($sp) -/* 005D8 809D3B88 AFA40020 */ sw $a0, 0x0020($sp) -/* 005DC 809D3B8C 8C820078 */ lw $v0, 0x0078($a0) ## 00000078 -/* 005E0 809D3B90 50400026 */ beql $v0, $zero, .L809D3C2C -/* 005E4 809D3B94 8FBF0014 */ lw $ra, 0x0014($sp) -/* 005E8 809D3B98 844F0008 */ lh $t7, 0x0008($v0) ## 00000008 -/* 005EC 809D3B9C 3C01809E */ lui $at, %hi(D_809DC0E8) ## $at = 809E0000 -/* 005F0 809D3BA0 C422C0E8 */ lwc1 $f2, %lo(D_809DC0E8)($at) -/* 005F4 809D3BA4 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00 -/* 005F8 809D3BA8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 005FC 809D3BAC 44817000 */ mtc1 $at, $f14 ## $f14 = 1.00 -/* 00600 809D3BB0 468021A0 */ cvt.s.w $f6, $f4 -/* 00604 809D3BB4 46023202 */ mul.s $f8, $f6, $f2 -/* 00608 809D3BB8 E7A8001C */ swc1 $f8, 0x001C($sp) -/* 0060C 809D3BBC 8458000A */ lh $t8, 0x000A($v0) ## 0000000A -/* 00610 809D3BC0 8459000C */ lh $t9, 0x000C($v0) ## 0000000C -/* 00614 809D3BC4 44985000 */ mtc1 $t8, $f10 ## $f10 = 0.00 -/* 00618 809D3BC8 44992000 */ mtc1 $t9, $f4 ## $f4 = 0.00 -/* 0061C 809D3BCC 468054A0 */ cvt.s.w $f18, $f10 -/* 00620 809D3BD0 468021A0 */ cvt.s.w $f6, $f4 -/* 00624 809D3BD4 46029402 */ mul.s $f16, $f18, $f2 -/* 00628 809D3BD8 00000000 */ nop -/* 0062C 809D3BDC 46023002 */ mul.s $f0, $f6, $f2 -/* 00630 809D3BE0 E7B00018 */ swc1 $f16, 0x0018($sp) -/* 00634 809D3BE4 46000207 */ neg.s $f8, $f0 -/* 00638 809D3BE8 46104302 */ mul.s $f12, $f8, $f16 -/* 0063C 809D3BEC 0C03F494 */ jal Math_FAtan2F -/* 00640 809D3BF0 00000000 */ nop -/* 00644 809D3BF4 8FA80020 */ lw $t0, 0x0020($sp) -/* 00648 809D3BF8 46000287 */ neg.s $f10, $f0 -/* 0064C 809D3BFC C7B00018 */ lwc1 $f16, 0x0018($sp) -/* 00650 809D3C00 E50A0188 */ swc1 $f10, 0x0188($t0) ## 00000188 -/* 00654 809D3C04 C7B2001C */ lwc1 $f18, 0x001C($sp) -/* 00658 809D3C08 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 0065C 809D3C0C 44817000 */ mtc1 $at, $f14 ## $f14 = 1.00 -/* 00660 809D3C10 46009107 */ neg.s $f4, $f18 -/* 00664 809D3C14 46102302 */ mul.s $f12, $f4, $f16 -/* 00668 809D3C18 0C03F494 */ jal Math_FAtan2F -/* 0066C 809D3C1C 00000000 */ nop -/* 00670 809D3C20 8FA90020 */ lw $t1, 0x0020($sp) -/* 00674 809D3C24 E5200190 */ swc1 $f0, 0x0190($t1) ## 00000190 -/* 00678 809D3C28 8FBF0014 */ lw $ra, 0x0014($sp) -.L809D3C2C: -/* 0067C 809D3C2C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00680 809D3C30 03E00008 */ jr $ra -/* 00684 809D3C34 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D5004.s b/asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D5004.s deleted file mode 100644 index c816817d3f..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D5004.s +++ /dev/null @@ -1,273 +0,0 @@ -.late_rodata -glabel D_809DC130 - .word 0x3EB33333, 0x00000000, 0x00000000, 0x00000000 - -.text -glabel func_809D5004 -/* 01A54 809D5004 27BDFF80 */ addiu $sp, $sp, 0xFF80 ## $sp = FFFFFF80 -/* 01A58 809D5008 F7BC0038 */ sdc1 $f28, 0x0038($sp) -/* 01A5C 809D500C 3C014040 */ lui $at, 0x4040 ## $at = 40400000 -/* 01A60 809D5010 4481E000 */ mtc1 $at, $f28 ## $f28 = 3.00 -/* 01A64 809D5014 F7BA0030 */ sdc1 $f26, 0x0030($sp) -/* 01A68 809D5018 3C0141CC */ lui $at, 0x41CC ## $at = 41CC0000 -/* 01A6C 809D501C 4481D000 */ mtc1 $at, $f26 ## $f26 = 25.50 -/* 01A70 809D5020 F7B80028 */ sdc1 $f24, 0x0028($sp) -/* 01A74 809D5024 3C01C0A0 */ lui $at, 0xC0A0 ## $at = C0A00000 -/* 01A78 809D5028 AFB00040 */ sw $s0, 0x0040($sp) -/* 01A7C 809D502C 4481C000 */ mtc1 $at, $f24 ## $f24 = -5.00 -/* 01A80 809D5030 AFB40050 */ sw $s4, 0x0050($sp) -/* 01A84 809D5034 AFB3004C */ sw $s3, 0x004C($sp) -/* 01A88 809D5038 AFB20048 */ sw $s2, 0x0048($sp) -/* 01A8C 809D503C AFB10044 */ sw $s1, 0x0044($sp) -/* 01A90 809D5040 F7B60020 */ sdc1 $f22, 0x0020($sp) -/* 01A94 809D5044 F7B40018 */ sdc1 $f20, 0x0018($sp) -/* 01A98 809D5048 3C100001 */ lui $s0, 0x0001 ## $s0 = 00010000 -/* 01A9C 809D504C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 01AA0 809D5050 AFBF0054 */ sw $ra, 0x0054($sp) -/* 01AA4 809D5054 02048021 */ addu $s0, $s0, $a0 -/* 01AA8 809D5058 4481B000 */ mtc1 $at, $f22 ## $f22 = 1.00 -/* 01AAC 809D505C 4480A000 */ mtc1 $zero, $f20 ## $f20 = 0.00 -/* 01AB0 809D5060 0080A025 */ or $s4, $a0, $zero ## $s4 = 00000000 -/* 01AB4 809D5064 8E101E10 */ lw $s0, 0x1E10($s0) ## 00011E10 -/* 01AB8 809D5068 00008825 */ or $s1, $zero, $zero ## $s1 = 00000000 -/* 01ABC 809D506C 24120001 */ addiu $s2, $zero, 0x0001 ## $s2 = 00000001 -/* 01AC0 809D5070 27B30068 */ addiu $s3, $sp, 0x0068 ## $s3 = FFFFFFE8 -.L809D5074: -/* 01AC4 809D5074 920E0000 */ lbu $t6, 0x0000($s0) ## 00010000 -/* 01AC8 809D5078 51C000C2 */ beql $t6, $zero, .L809D5384 -/* 01ACC 809D507C 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000001 -/* 01AD0 809D5080 C6120010 */ lwc1 $f18, 0x0010($s0) ## 00010010 -/* 01AD4 809D5084 C60E0004 */ lwc1 $f14, 0x0004($s0) ## 00010004 -/* 01AD8 809D5088 C6100008 */ lwc1 $f16, 0x0008($s0) ## 00010008 -/* 01ADC 809D508C C60C0014 */ lwc1 $f12, 0x0014($s0) ## 00010014 -/* 01AE0 809D5090 46127380 */ add.s $f14, $f14, $f18 -/* 01AE4 809D5094 920F0001 */ lbu $t7, 0x0001($s0) ## 00010001 -/* 01AE8 809D5098 C60A0018 */ lwc1 $f10, 0x0018($s0) ## 00010018 -/* 01AEC 809D509C 460C8200 */ add.s $f8, $f16, $f12 -/* 01AF0 809D50A0 C606000C */ lwc1 $f6, 0x000C($s0) ## 0001000C -/* 01AF4 809D50A4 C604001C */ lwc1 $f4, 0x001C($s0) ## 0001001C -/* 01AF8 809D50A8 C6020020 */ lwc1 $f2, 0x0020($s0) ## 00010020 -/* 01AFC 809D50AC 460A3180 */ add.s $f6, $f6, $f10 -/* 01B00 809D50B0 C6000024 */ lwc1 $f0, 0x0024($s0) ## 00010024 -/* 01B04 809D50B4 92020000 */ lbu $v0, 0x0000($s0) ## 00010000 -/* 01B08 809D50B8 46049100 */ add.s $f4, $f18, $f4 -/* 01B0C 809D50BC 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001 -/* 01B10 809D50C0 E60E0004 */ swc1 $f14, 0x0004($s0) ## 00010004 -/* 01B14 809D50C4 46026080 */ add.s $f2, $f12, $f2 -/* 01B18 809D50C8 A2180001 */ sb $t8, 0x0001($s0) ## 00010001 -/* 01B1C 809D50CC E6080008 */ swc1 $f8, 0x0008($s0) ## 00010008 -/* 01B20 809D50D0 46005000 */ add.s $f0, $f10, $f0 -/* 01B24 809D50D4 E606000C */ swc1 $f6, 0x000C($s0) ## 0001000C -/* 01B28 809D50D8 E6040010 */ swc1 $f4, 0x0010($s0) ## 00010010 -/* 01B2C 809D50DC E6020014 */ swc1 $f2, 0x0014($s0) ## 00010014 -/* 01B30 809D50E0 16420058 */ bne $s2, $v0, .L809D5244 -/* 01B34 809D50E4 E6000018 */ swc1 $f0, 0x0018($s0) ## 00010018 -/* 01B38 809D50E8 C6000014 */ lwc1 $f0, 0x0014($s0) ## 00010014 -/* 01B3C 809D50EC 4618003C */ c.lt.s $f0, $f24 -/* 01B40 809D50F0 00000000 */ nop -/* 01B44 809D50F4 45020004 */ bc1fl .L809D5108 -/* 01B48 809D50F8 4614003C */ c.lt.s $f0, $f20 -/* 01B4C 809D50FC E6180014 */ swc1 $f24, 0x0014($s0) ## 00010014 -/* 01B50 809D5100 C6000014 */ lwc1 $f0, 0x0014($s0) ## 00010014 -/* 01B54 809D5104 4614003C */ c.lt.s $f0, $f20 -.L809D5108: -/* 01B58 809D5108 00000000 */ nop -/* 01B5C 809D510C 4502002C */ bc1fl .L809D51C0 -/* 01B60 809D5110 C60A0020 */ lwc1 $f10, 0x0020($s0) ## 00010020 -/* 01B64 809D5114 8E080004 */ lw $t0, 0x0004($s0) ## 00010004 -/* 01B68 809D5118 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000 -/* 01B6C 809D511C 44814000 */ mtc1 $at, $f8 ## $f8 = 5.00 -/* 01B70 809D5120 AE680000 */ sw $t0, 0x0000($s3) ## FFFFFFE8 -/* 01B74 809D5124 8E190008 */ lw $t9, 0x0008($s0) ## 00010008 -/* 01B78 809D5128 268407C0 */ addiu $a0, $s4, 0x07C0 ## $a0 = 000007C0 -/* 01B7C 809D512C 02602825 */ or $a1, $s3, $zero ## $a1 = FFFFFFE8 -/* 01B80 809D5130 AE790004 */ sw $t9, 0x0004($s3) ## FFFFFFEC -/* 01B84 809D5134 8E08000C */ lw $t0, 0x000C($s0) ## 0001000C -/* 01B88 809D5138 3C064130 */ lui $a2, 0x4130 ## $a2 = 41300000 -/* 01B8C 809D513C AE680008 */ sw $t0, 0x0008($s3) ## FFFFFFF0 -/* 01B90 809D5140 C7A6006C */ lwc1 $f6, 0x006C($sp) -/* 01B94 809D5144 E7B00074 */ swc1 $f16, 0x0074($sp) -/* 01B98 809D5148 46083280 */ add.s $f10, $f6, $f8 -/* 01B9C 809D514C 0C00F8C3 */ jal BgCheck_SphVsFirstPoly -/* 01BA0 809D5150 E7AA006C */ swc1 $f10, 0x006C($sp) -/* 01BA4 809D5154 10400019 */ beq $v0, $zero, .L809D51BC -/* 01BA8 809D5158 C7B00074 */ lwc1 $f16, 0x0074($sp) -/* 01BAC 809D515C 86020048 */ lh $v0, 0x0048($s0) ## 00010048 -/* 01BB0 809D5160 E6100008 */ swc1 $f16, 0x0008($s0) ## 00010008 -/* 01BB4 809D5164 3C01BF00 */ lui $at, 0xBF00 ## $at = BF000000 -/* 01BB8 809D5168 5C400011 */ bgtzl $v0, .L809D51B0 -/* 01BBC 809D516C E6140014 */ swc1 $f20, 0x0014($s0) ## 00010014 -/* 01BC0 809D5170 C6120014 */ lwc1 $f18, 0x0014($s0) ## 00010014 -/* 01BC4 809D5174 44812000 */ mtc1 $at, $f4 ## $f4 = -0.50 -/* 01BC8 809D5178 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000 -/* 01BCC 809D517C 24490001 */ addiu $t1, $v0, 0x0001 ## $t1 = 00000001 -/* 01BD0 809D5180 46049182 */ mul.s $f6, $f18, $f4 -/* 01BD4 809D5184 44816000 */ mtc1 $at, $f12 ## $f12 = 20.00 -/* 01BD8 809D5188 A6090048 */ sh $t1, 0x0048($s0) ## 00010048 -/* 01BDC 809D518C 0C00CFBE */ jal Rand_ZeroFloat - -/* 01BE0 809D5190 E6060014 */ swc1 $f6, 0x0014($s0) ## 00010014 -/* 01BE4 809D5194 4600020D */ trunc.w.s $f8, $f0 -/* 01BE8 809D5198 440D4000 */ mfc1 $t5, $f8 -/* 01BEC 809D519C 00000000 */ nop -/* 01BF0 809D51A0 25AE0019 */ addiu $t6, $t5, 0x0019 ## $t6 = 00000019 -/* 01BF4 809D51A4 10000005 */ beq $zero, $zero, .L809D51BC -/* 01BF8 809D51A8 A60E004A */ sh $t6, 0x004A($s0) ## 0001004A -/* 01BFC 809D51AC E6140014 */ swc1 $f20, 0x0014($s0) ## 00010014 -.L809D51B0: -/* 01C00 809D51B0 E6140020 */ swc1 $f20, 0x0020($s0) ## 00010020 -/* 01C04 809D51B4 E6140018 */ swc1 $f20, 0x0018($s0) ## 00010018 -/* 01C08 809D51B8 E6140010 */ swc1 $f20, 0x0010($s0) ## 00010010 -.L809D51BC: -/* 01C0C 809D51BC C60A0020 */ lwc1 $f10, 0x0020($s0) ## 00010020 -.L809D51C0: -/* 01C10 809D51C0 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 01C14 809D51C4 460AA032 */ c.eq.s $f20, $f10 -/* 01C18 809D51C8 00000000 */ nop -/* 01C1C 809D51CC 4503000B */ bc1tl .L809D51FC -/* 01C20 809D51D0 860F004A */ lh $t7, 0x004A($s0) ## 0001004A -/* 01C24 809D51D4 C6120054 */ lwc1 $f18, 0x0054($s0) ## 00010054 -/* 01C28 809D51D8 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50 -/* 01C2C 809D51DC 3C01809E */ lui $at, %hi(D_809DC130) ## $at = 809E0000 -/* 01C30 809D51E0 C6080058 */ lwc1 $f8, 0x0058($s0) ## 00010058 -/* 01C34 809D51E4 46049180 */ add.s $f6, $f18, $f4 -/* 01C38 809D51E8 E6060054 */ swc1 $f6, 0x0054($s0) ## 00010054 -/* 01C3C 809D51EC C42AC130 */ lwc1 $f10, %lo(D_809DC130)($at) -/* 01C40 809D51F0 460A4480 */ add.s $f18, $f8, $f10 -/* 01C44 809D51F4 E6120058 */ swc1 $f18, 0x0058($s0) ## 00010058 -/* 01C48 809D51F8 860F004A */ lh $t7, 0x004A($s0) ## 0001004A -.L809D51FC: -/* 01C4C 809D51FC 564F0003 */ bnel $s2, $t7, .L809D520C -/* 01C50 809D5200 92180001 */ lbu $t8, 0x0001($s0) ## 00010001 -/* 01C54 809D5204 A2000000 */ sb $zero, 0x0000($s0) ## 00010000 -/* 01C58 809D5208 92180001 */ lbu $t8, 0x0001($s0) ## 00010001 -.L809D520C: -/* 01C5C 809D520C 2B010003 */ slti $at, $t8, 0x0003 -/* 01C60 809D5210 14200057 */ bne $at, $zero, .L809D5370 -/* 01C64 809D5214 3C014100 */ lui $at, 0x4100 ## $at = 41000000 -/* 01C68 809D5218 44813000 */ mtc1 $at, $f6 ## $f6 = 8.00 -/* 01C6C 809D521C C604004C */ lwc1 $f4, 0x004C($s0) ## 0001004C -/* 01C70 809D5220 A2000001 */ sb $zero, 0x0001($s0) ## 00010001 -/* 01C74 809D5224 02802025 */ or $a0, $s4, $zero ## $a0 = 00000000 -/* 01C78 809D5228 46062202 */ mul.s $f8, $f4, $f6 -/* 01C7C 809D522C 26050004 */ addiu $a1, $s0, 0x0004 ## $a1 = 00010004 -/* 01C80 809D5230 44064000 */ mfc1 $a2, $f8 -/* 01C84 809D5234 0C274DAA */ jal func_809D36A8 -/* 01C88 809D5238 00000000 */ nop -/* 01C8C 809D523C 1000004D */ beq $zero, $zero, .L809D5374 -/* 01C90 809D5240 8602004A */ lh $v0, 0x004A($s0) ## 0001004A -.L809D5244: -/* 01C94 809D5244 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 01C98 809D5248 1441000B */ bne $v0, $at, .L809D5278 -/* 01C9C 809D524C 26040034 */ addiu $a0, $s0, 0x0034 ## $a0 = 00010034 -/* 01CA0 809D5250 4405B000 */ mfc1 $a1, $f22 -/* 01CA4 809D5254 0C01E123 */ jal Math_ApproachZeroF - -/* 01CA8 809D5258 3C064170 */ lui $a2, 0x4170 ## $a2 = 41700000 -/* 01CAC 809D525C C60A0034 */ lwc1 $f10, 0x0034($s0) ## 00010034 -/* 01CB0 809D5260 4614503E */ c.le.s $f10, $f20 -/* 01CB4 809D5264 00000000 */ nop -/* 01CB8 809D5268 45020042 */ bc1fl .L809D5374 -/* 01CBC 809D526C 8602004A */ lh $v0, 0x004A($s0) ## 0001004A -/* 01CC0 809D5270 1000003F */ beq $zero, $zero, .L809D5370 -/* 01CC4 809D5274 A2000000 */ sb $zero, 0x0000($s0) ## 00010000 -.L809D5278: -/* 01CC8 809D5278 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 01CCC 809D527C 1441002B */ bne $v0, $at, .L809D532C -/* 01CD0 809D5280 26040028 */ addiu $a0, $s0, 0x0028 ## $a0 = 00010028 -/* 01CD4 809D5284 4405B000 */ mfc1 $a1, $f22 -/* 01CD8 809D5288 0C01E123 */ jal Math_ApproachZeroF - -/* 01CDC 809D528C 3C0641A0 */ lui $a2, 0x41A0 ## $a2 = 41A00000 -/* 01CE0 809D5290 4405B000 */ mfc1 $a1, $f22 -/* 01CE4 809D5294 2604002C */ addiu $a0, $s0, 0x002C ## $a0 = 0001002C -/* 01CE8 809D5298 0C01E123 */ jal Math_ApproachZeroF - -/* 01CEC 809D529C 3C064000 */ lui $a2, 0x4000 ## $a2 = 40000000 -/* 01CF0 809D52A0 4405B000 */ mfc1 $a1, $f22 -/* 01CF4 809D52A4 4406D000 */ mfc1 $a2, $f26 -/* 01CF8 809D52A8 0C01E123 */ jal Math_ApproachZeroF - -/* 01CFC 809D52AC 26040038 */ addiu $a0, $s0, 0x0038 ## $a0 = 00010038 -/* 01D00 809D52B0 4405B000 */ mfc1 $a1, $f22 -/* 01D04 809D52B4 2604003C */ addiu $a0, $s0, 0x003C ## $a0 = 0001003C -/* 01D08 809D52B8 0C01E123 */ jal Math_ApproachZeroF - -/* 01D0C 809D52BC 3C0641AC */ lui $a2, 0x41AC ## $a2 = 41AC0000 -/* 01D10 809D52C0 4405B000 */ mfc1 $a1, $f22 -/* 01D14 809D52C4 4406D000 */ mfc1 $a2, $f26 -/* 01D18 809D52C8 0C01E123 */ jal Math_ApproachZeroF - -/* 01D1C 809D52CC 26040040 */ addiu $a0, $s0, 0x0040 ## $a0 = 00010040 -/* 01D20 809D52D0 3C063D4C */ lui $a2, 0x3D4C ## $a2 = 3D4C0000 -/* 01D24 809D52D4 3C073DCC */ lui $a3, 0x3DCC ## $a3 = 3DCC0000 -/* 01D28 809D52D8 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3DCCCCCD -/* 01D2C 809D52DC 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3D4CCCCD -/* 01D30 809D52E0 2604004C */ addiu $a0, $s0, 0x004C ## $a0 = 0001004C -/* 01D34 809D52E4 0C01E107 */ jal Math_ApproachF - -/* 01D38 809D52E8 8E050050 */ lw $a1, 0x0050($s0) ## 00010050 -/* 01D3C 809D52EC C6120028 */ lwc1 $f18, 0x0028($s0) ## 00010028 -/* 01D40 809D52F0 4612A032 */ c.eq.s $f20, $f18 -/* 01D44 809D52F4 00000000 */ nop -/* 01D48 809D52F8 4502001E */ bc1fl .L809D5374 -/* 01D4C 809D52FC 8602004A */ lh $v0, 0x004A($s0) ## 0001004A -/* 01D50 809D5300 4405B000 */ mfc1 $a1, $f22 -/* 01D54 809D5304 4406E000 */ mfc1 $a2, $f28 -/* 01D58 809D5308 0C01E123 */ jal Math_ApproachZeroF - -/* 01D5C 809D530C 26040034 */ addiu $a0, $s0, 0x0034 ## $a0 = 00010034 -/* 01D60 809D5310 C6040034 */ lwc1 $f4, 0x0034($s0) ## 00010034 -/* 01D64 809D5314 4614203E */ c.le.s $f4, $f20 -/* 01D68 809D5318 00000000 */ nop -/* 01D6C 809D531C 45020015 */ bc1fl .L809D5374 -/* 01D70 809D5320 8602004A */ lh $v0, 0x004A($s0) ## 0001004A -/* 01D74 809D5324 10000012 */ beq $zero, $zero, .L809D5370 -/* 01D78 809D5328 A2000000 */ sb $zero, 0x0000($s0) ## 00010000 -.L809D532C: -/* 01D7C 809D532C 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004 -/* 01D80 809D5330 1441000F */ bne $v0, $at, .L809D5370 -/* 01D84 809D5334 2604004C */ addiu $a0, $s0, 0x004C ## $a0 = 0001004C -/* 01D88 809D5338 4406B000 */ mfc1 $a2, $f22 -/* 01D8C 809D533C 4407E000 */ mfc1 $a3, $f28 -/* 01D90 809D5340 0C01E107 */ jal Math_ApproachF - -/* 01D94 809D5344 8E050050 */ lw $a1, 0x0050($s0) ## 00010050 -/* 01D98 809D5348 4405B000 */ mfc1 $a1, $f22 -/* 01D9C 809D534C 26040034 */ addiu $a0, $s0, 0x0034 ## $a0 = 00010034 -/* 01DA0 809D5350 0C01E123 */ jal Math_ApproachZeroF - -/* 01DA4 809D5354 3C064120 */ lui $a2, 0x4120 ## $a2 = 41200000 -/* 01DA8 809D5358 C6060034 */ lwc1 $f6, 0x0034($s0) ## 00010034 -/* 01DAC 809D535C 4614303E */ c.le.s $f6, $f20 -/* 01DB0 809D5360 00000000 */ nop -/* 01DB4 809D5364 45020003 */ bc1fl .L809D5374 -/* 01DB8 809D5368 8602004A */ lh $v0, 0x004A($s0) ## 0001004A -/* 01DBC 809D536C A2000000 */ sb $zero, 0x0000($s0) ## 00010000 -.L809D5370: -/* 01DC0 809D5370 8602004A */ lh $v0, 0x004A($s0) ## 0001004A -.L809D5374: -/* 01DC4 809D5374 10400002 */ beq $v0, $zero, .L809D5380 -/* 01DC8 809D5378 2459FFFF */ addiu $t9, $v0, 0xFFFF ## $t9 = FFFFFFFF -/* 01DCC 809D537C A619004A */ sh $t9, 0x004A($s0) ## 0001004A -.L809D5380: -/* 01DD0 809D5380 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000002 -.L809D5384: -/* 01DD4 809D5384 00118C00 */ sll $s1, $s1, 16 -/* 01DD8 809D5388 00118C03 */ sra $s1, $s1, 16 -/* 01DDC 809D538C 2A210064 */ slti $at, $s1, 0x0064 -/* 01DE0 809D5390 1420FF38 */ bne $at, $zero, .L809D5074 -/* 01DE4 809D5394 2610006C */ addiu $s0, $s0, 0x006C ## $s0 = 0001006C -/* 01DE8 809D5398 8FBF0054 */ lw $ra, 0x0054($sp) -/* 01DEC 809D539C D7B40018 */ ldc1 $f20, 0x0018($sp) -/* 01DF0 809D53A0 D7B60020 */ ldc1 $f22, 0x0020($sp) -/* 01DF4 809D53A4 D7B80028 */ ldc1 $f24, 0x0028($sp) -/* 01DF8 809D53A8 D7BA0030 */ ldc1 $f26, 0x0030($sp) -/* 01DFC 809D53AC D7BC0038 */ ldc1 $f28, 0x0038($sp) -/* 01E00 809D53B0 8FB00040 */ lw $s0, 0x0040($sp) -/* 01E04 809D53B4 8FB10044 */ lw $s1, 0x0044($sp) -/* 01E08 809D53B8 8FB20048 */ lw $s2, 0x0048($sp) -/* 01E0C 809D53BC 8FB3004C */ lw $s3, 0x004C($sp) -/* 01E10 809D53C0 8FB40050 */ lw $s4, 0x0050($sp) -/* 01E14 809D53C4 03E00008 */ jr $ra -/* 01E18 809D53C8 27BD0080 */ addiu $sp, $sp, 0x0080 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D53CC.s b/asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D53CC.s deleted file mode 100644 index 044390cf43..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D53CC.s +++ /dev/null @@ -1,575 +0,0 @@ -.rdata -glabel D_809DC04C - .asciz "../z_en_clear_tag.c" - .balign 4 - -glabel D_809DC060 - .asciz "../z_en_clear_tag.c" - .balign 4 - -glabel D_809DC074 - .asciz "../z_en_clear_tag.c" - .balign 4 - -glabel D_809DC088 - .asciz "../z_en_clear_tag.c" - .balign 4 - -glabel D_809DC09C - .asciz "../z_en_clear_tag.c" - .balign 4 - -glabel D_809DC0B0 - .asciz "../z_en_clear_tag.c" - .balign 4 - -glabel D_809DC0C4 - .asciz "../z_en_clear_tag.c" - .balign 4 - -.text -glabel func_809D53CC -/* 01E1C 809D53CC 27BDFEF0 */ addiu $sp, $sp, 0xFEF0 ## $sp = FFFFFEF0 -/* 01E20 809D53D0 AFB1004C */ sw $s1, 0x004C($sp) -/* 01E24 809D53D4 AFBF006C */ sw $ra, 0x006C($sp) -/* 01E28 809D53D8 AFBE0068 */ sw $s8, 0x0068($sp) -/* 01E2C 809D53DC AFB70064 */ sw $s7, 0x0064($sp) -/* 01E30 809D53E0 AFB60060 */ sw $s6, 0x0060($sp) -/* 01E34 809D53E4 AFB5005C */ sw $s5, 0x005C($sp) -/* 01E38 809D53E8 AFB40058 */ sw $s4, 0x0058($sp) -/* 01E3C 809D53EC AFB30054 */ sw $s3, 0x0054($sp) -/* 01E40 809D53F0 AFB20050 */ sw $s2, 0x0050($sp) -/* 01E44 809D53F4 AFB00048 */ sw $s0, 0x0048($sp) -/* 01E48 809D53F8 F7B60040 */ sdc1 $f22, 0x0040($sp) -/* 01E4C 809D53FC F7B40038 */ sdc1 $f20, 0x0038($sp) -/* 01E50 809D5400 3C110001 */ lui $s1, 0x0001 ## $s1 = 00010000 -/* 01E54 809D5404 02248821 */ addu $s1, $s1, $a0 -/* 01E58 809D5408 8C900000 */ lw $s0, 0x0000($a0) ## 00000000 -/* 01E5C 809D540C 8E311E10 */ lw $s1, 0x1E10($s1) ## 00011E10 -/* 01E60 809D5410 0080B825 */ or $s7, $a0, $zero ## $s7 = 00000000 -/* 01E64 809D5414 3C06809E */ lui $a2, %hi(D_809DC04C) ## $a2 = 809E0000 -/* 01E68 809D5418 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000 -/* 01E6C 809D541C 24C6C04C */ addiu $a2, $a2, %lo(D_809DC04C) ## $a2 = 809DC04C -/* 01E70 809D5420 27A400E8 */ addiu $a0, $sp, 0x00E8 ## $a0 = FFFFFFD8 -/* 01E74 809D5424 24070508 */ addiu $a3, $zero, 0x0508 ## $a3 = 00000508 -/* 01E78 809D5428 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 01E7C 809D542C 0C031AB1 */ jal Graph_OpenDisps -/* 01E80 809D5430 AFB100FC */ sw $s1, 0x00FC($sp) -/* 01E84 809D5434 0C024F46 */ jal func_80093D18 -/* 01E88 809D5438 8EE40000 */ lw $a0, 0x0000($s7) ## 00000000 -/* 01E8C 809D543C 0C024F61 */ jal func_80093D84 -/* 01E90 809D5440 8EE40000 */ lw $a0, 0x0000($s7) ## 00000000 -/* 01E94 809D5444 3C1EDA38 */ lui $s8, 0xDA38 ## $s8 = DA380000 -/* 01E98 809D5448 37DE0003 */ ori $s8, $s8, 0x0003 ## $s8 = DA380003 -/* 01E9C 809D544C 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000 -/* 01EA0 809D5450 3C16DE00 */ lui $s6, 0xDE00 ## $s6 = DE000000 -/* 01EA4 809D5454 24150001 */ addiu $s5, $zero, 0x0001 ## $s5 = 00000001 -.L809D5458: -/* 01EA8 809D5458 922E0000 */ lbu $t6, 0x0000($s1) ## 00010000 -/* 01EAC 809D545C 3C14809E */ lui $s4, %hi(D_809DA068) ## $s4 = 809E0000 -/* 01EB0 809D5460 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 01EB4 809D5464 56AE002E */ bnel $s5, $t6, .L809D5520 -/* 01EB8 809D5468 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000001 -/* 01EBC 809D546C 1660000A */ bne $s3, $zero, .L809D5498 -/* 01EC0 809D5470 2694A068 */ addiu $s4, $s4, %lo(D_809DA068) ## $s4 = 809DA068 -/* 01EC4 809D5474 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 01EC8 809D5478 3C04809E */ lui $a0, %hi(D_809D9FE8) ## $a0 = 809E0000 -/* 01ECC 809D547C 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000001 -/* 01ED0 809D5480 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008 -/* 01ED4 809D5484 AE0F02C0 */ sw $t7, 0x02C0($s0) ## 000002C0 -/* 01ED8 809D5488 24849FE8 */ addiu $a0, $a0, %lo(D_809D9FE8) ## $a0 = 809D9FE8 -/* 01EDC 809D548C 327300FF */ andi $s3, $s3, 0x00FF ## $s3 = 00000001 -/* 01EE0 809D5490 AC440004 */ sw $a0, 0x0004($v0) ## 00000004 -/* 01EE4 809D5494 AC560000 */ sw $s6, 0x0000($v0) ## 00000000 -.L809D5498: -/* 01EE8 809D5498 C62C0004 */ lwc1 $f12, 0x0004($s1) ## 00010004 -/* 01EEC 809D549C C62E0008 */ lwc1 $f14, 0x0008($s1) ## 00010008 -/* 01EF0 809D54A0 0C034261 */ jal Matrix_Translate -/* 01EF4 809D54A4 8E26000C */ lw $a2, 0x000C($s1) ## 0001000C -/* 01EF8 809D54A8 C634004C */ lwc1 $f20, 0x004C($s1) ## 0001004C -/* 01EFC 809D54AC 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 01F00 809D54B0 4406A000 */ mfc1 $a2, $f20 -/* 01F04 809D54B4 4600A306 */ mov.s $f12, $f20 -/* 01F08 809D54B8 0C0342A3 */ jal Matrix_Scale -/* 01F0C 809D54BC 4600A386 */ mov.s $f14, $f20 -/* 01F10 809D54C0 C62C0054 */ lwc1 $f12, 0x0054($s1) ## 00010054 -/* 01F14 809D54C4 0C034348 */ jal Matrix_RotateY -/* 01F18 809D54C8 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 01F1C 809D54CC C62C0058 */ lwc1 $f12, 0x0058($s1) ## 00010058 -/* 01F20 809D54D0 0C0342DC */ jal Matrix_RotateX -/* 01F24 809D54D4 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 01F28 809D54D8 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 01F2C 809D54DC 3C05809E */ lui $a1, %hi(D_809DC060) ## $a1 = 809E0000 -/* 01F30 809D54E0 24A5C060 */ addiu $a1, $a1, %lo(D_809DC060) ## $a1 = 809DC060 -/* 01F34 809D54E4 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 01F38 809D54E8 AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0 -/* 01F3C 809D54EC AC5E0000 */ sw $s8, 0x0000($v0) ## 00000000 -/* 01F40 809D54F0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 01F44 809D54F4 2406051B */ addiu $a2, $zero, 0x051B ## $a2 = 0000051B -/* 01F48 809D54F8 0C0346A2 */ jal Matrix_NewMtx -/* 01F4C 809D54FC AFA200E0 */ sw $v0, 0x00E0($sp) -/* 01F50 809D5500 8FA300E0 */ lw $v1, 0x00E0($sp) -/* 01F54 809D5504 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 01F58 809D5508 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 -/* 01F5C 809D550C 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 01F60 809D5510 AE1902C0 */ sw $t9, 0x02C0($s0) ## 000002C0 -/* 01F64 809D5514 AC540004 */ sw $s4, 0x0004($v0) ## 00000004 -/* 01F68 809D5518 AC560000 */ sw $s6, 0x0000($v0) ## 00000000 -/* 01F6C 809D551C 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000002 -.L809D5520: -/* 01F70 809D5520 00129400 */ sll $s2, $s2, 16 -/* 01F74 809D5524 00129403 */ sra $s2, $s2, 16 -/* 01F78 809D5528 2A410064 */ slti $at, $s2, 0x0064 -/* 01F7C 809D552C 1420FFCA */ bne $at, $zero, .L809D5458 -/* 01F80 809D5530 2631006C */ addiu $s1, $s1, 0x006C ## $s1 = 0001006C -/* 01F84 809D5534 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 01F88 809D5538 3C15809E */ lui $s5, %hi(D_809DC074) ## $s5 = 809E0000 -/* 01F8C 809D553C 4481B000 */ mtc1 $at, $f22 ## $f22 = 1.00 -/* 01F90 809D5540 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000 -/* 01F94 809D5544 8FB100FC */ lw $s1, 0x00FC($sp) -/* 01F98 809D5548 26B5C074 */ addiu $s5, $s5, %lo(D_809DC074) ## $s5 = 809DC074 -/* 01F9C 809D554C 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000 -.L809D5550: -/* 01FA0 809D5550 92280000 */ lbu $t0, 0x0000($s1) ## 0001006C -/* 01FA4 809D5554 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004 -/* 01FA8 809D5558 3C14809E */ lui $s4, %hi(D_809DBA68) ## $s4 = 809E0000 -/* 01FAC 809D555C 55010042 */ bnel $t0, $at, .L809D5668 -/* 01FB0 809D5560 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000001 -/* 01FB4 809D5564 16600010 */ bne $s3, $zero, .L809D55A8 -/* 01FB8 809D5568 2694BA68 */ addiu $s4, $s4, %lo(D_809DBA68) ## $s4 = 809DBA68 -/* 01FBC 809D556C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 01FC0 809D5570 3C0AE700 */ lui $t2, 0xE700 ## $t2 = E7000000 -/* 01FC4 809D5574 3C0CFB00 */ lui $t4, 0xFB00 ## $t4 = FB000000 -/* 01FC8 809D5578 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008 -/* 01FCC 809D557C AE0902D0 */ sw $t1, 0x02D0($s0) ## 000002D0 -/* 01FD0 809D5580 AC400004 */ sw $zero, 0x0004($v0) ## 00000004 -/* 01FD4 809D5584 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000 -/* 01FD8 809D5588 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 01FDC 809D558C 240DC800 */ addiu $t5, $zero, 0xC800 ## $t5 = FFFFC800 -/* 01FE0 809D5590 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000001 -/* 01FE4 809D5594 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 01FE8 809D5598 AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0 -/* 01FEC 809D559C 327300FF */ andi $s3, $s3, 0x00FF ## $s3 = 00000001 -/* 01FF0 809D55A0 AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004 -/* 01FF4 809D55A4 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000 -.L809D55A8: -/* 01FF8 809D55A8 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 01FFC 809D55AC 3C0FFA00 */ lui $t7, 0xFA00 ## $t7 = FA000000 -/* 02000 809D55B0 2401C800 */ addiu $at, $zero, 0xC800 ## $at = FFFFC800 -/* 02004 809D55B4 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 02008 809D55B8 AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002D0 -/* 0200C 809D55BC AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 02010 809D55C0 C6240034 */ lwc1 $f4, 0x0034($s1) ## 000100A0 -/* 02014 809D55C4 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 02018 809D55C8 4600218D */ trunc.w.s $f6, $f4 -/* 0201C 809D55CC 44093000 */ mfc1 $t1, $f6 -/* 02020 809D55D0 00000000 */ nop -/* 02024 809D55D4 312A00FF */ andi $t2, $t1, 0x00FF ## $t2 = 00000008 -/* 02028 809D55D8 01415825 */ or $t3, $t2, $at ## $t3 = FFFFC808 -/* 0202C 809D55DC AC4B0004 */ sw $t3, 0x0004($v0) ## 00000004 -/* 02030 809D55E0 8E26000C */ lw $a2, 0x000C($s1) ## 00010078 -/* 02034 809D55E4 C62E005C */ lwc1 $f14, 0x005C($s1) ## 000100C8 -/* 02038 809D55E8 0C034261 */ jal Matrix_Translate -/* 0203C 809D55EC C62C0004 */ lwc1 $f12, 0x0004($s1) ## 00010070 -/* 02040 809D55F0 C62C0060 */ lwc1 $f12, 0x0060($s1) ## 000100CC -/* 02044 809D55F4 0C0342DC */ jal Matrix_RotateX -/* 02048 809D55F8 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 0204C 809D55FC C62C0068 */ lwc1 $f12, 0x0068($s1) ## 000100D4 -/* 02050 809D5600 0C0343B5 */ jal Matrix_RotateZ -/* 02054 809D5604 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 02058 809D5608 C634004C */ lwc1 $f20, 0x004C($s1) ## 000100B8 -/* 0205C 809D560C 4600B386 */ mov.s $f14, $f22 -/* 02060 809D5610 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 02064 809D5614 4614A300 */ add.s $f12, $f20, $f20 -/* 02068 809D5618 44066000 */ mfc1 $a2, $f12 -/* 0206C 809D561C 0C0342A3 */ jal Matrix_Scale -/* 02070 809D5620 00000000 */ nop -/* 02074 809D5624 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 02078 809D5628 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0207C 809D562C 02A02825 */ or $a1, $s5, $zero ## $a1 = 809DC074 -/* 02080 809D5630 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008 -/* 02084 809D5634 AE0C02D0 */ sw $t4, 0x02D0($s0) ## 000002D0 -/* 02088 809D5638 AC5E0000 */ sw $s8, 0x0000($v0) ## 00000000 -/* 0208C 809D563C 2406053E */ addiu $a2, $zero, 0x053E ## $a2 = 0000053E -/* 02090 809D5640 0C0346A2 */ jal Matrix_NewMtx -/* 02094 809D5644 AFA200CC */ sw $v0, 0x00CC($sp) -/* 02098 809D5648 8FA300CC */ lw $v1, 0x00CC($sp) -/* 0209C 809D564C AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 020A0 809D5650 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 020A4 809D5654 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008 -/* 020A8 809D5658 AE0D02D0 */ sw $t5, 0x02D0($s0) ## 000002D0 -/* 020AC 809D565C AC540004 */ sw $s4, 0x0004($v0) ## 00000004 -/* 020B0 809D5660 AC560000 */ sw $s6, 0x0000($v0) ## 00000000 -/* 020B4 809D5664 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000002 -.L809D5668: -/* 020B8 809D5668 00129400 */ sll $s2, $s2, 16 -/* 020BC 809D566C 00129403 */ sra $s2, $s2, 16 -/* 020C0 809D5670 2A410064 */ slti $at, $s2, 0x0064 -/* 020C4 809D5674 1420FFB6 */ bne $at, $zero, .L809D5550 -/* 020C8 809D5678 2631006C */ addiu $s1, $s1, 0x006C ## $s1 = 000100D8 -/* 020CC 809D567C 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000 -/* 020D0 809D5680 8FB100FC */ lw $s1, 0x00FC($sp) -/* 020D4 809D5684 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000 -.L809D5688: -/* 020D8 809D5688 922E0000 */ lbu $t6, 0x0000($s1) ## 000100D8 -/* 020DC 809D568C 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 020E0 809D5690 3C15809E */ lui $s5, %hi(D_809DA758) ## $s5 = 809E0000 -/* 020E4 809D5694 15C10087 */ bne $t6, $at, .L809D58B4 -/* 020E8 809D5698 26B5A758 */ addiu $s5, $s5, %lo(D_809DA758) ## $s5 = 809DA758 -/* 020EC 809D569C 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 020F0 809D56A0 34211DA0 */ ori $at, $at, 0x1DA0 ## $at = 00011DA0 -/* 020F4 809D56A4 1660000A */ bne $s3, $zero, .L809D56D0 -/* 020F8 809D56A8 02E1A021 */ addu $s4, $s7, $at -/* 020FC 809D56AC 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 02100 809D56B0 3C04809E */ lui $a0, %hi(D_809DA6B0) ## $a0 = 809E0000 -/* 02104 809D56B4 2484A6B0 */ addiu $a0, $a0, %lo(D_809DA6B0) ## $a0 = 809DA6B0 -/* 02108 809D56B8 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008 -/* 0210C 809D56BC AE0F02D0 */ sw $t7, 0x02D0($s0) ## 000002D0 -/* 02110 809D56C0 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000001 -/* 02114 809D56C4 327300FF */ andi $s3, $s3, 0x00FF ## $s3 = 00000001 -/* 02118 809D56C8 AC440004 */ sw $a0, 0x0004($v0) ## 00000004 -/* 0211C 809D56CC AC560000 */ sw $s6, 0x0000($v0) ## 00000000 -.L809D56D0: -/* 02120 809D56D0 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 02124 809D56D4 3C19E700 */ lui $t9, 0xE700 ## $t9 = E7000000 -/* 02128 809D56D8 3C09FB00 */ lui $t1, 0xFB00 ## $t1 = FB000000 -/* 0212C 809D56DC 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 02130 809D56E0 AE1802D0 */ sw $t8, 0x02D0($s0) ## 000002D0 -/* 02134 809D56E4 AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 02138 809D56E8 AC400004 */ sw $zero, 0x0004($v0) ## 00000004 -/* 0213C 809D56EC 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 02140 809D56F0 3C0DFA00 */ lui $t5, 0xFA00 ## $t5 = FA000000 -/* 02144 809D56F4 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 02148 809D56F8 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008 -/* 0214C 809D56FC AE0802D0 */ sw $t0, 0x02D0($s0) ## 000002D0 -/* 02150 809D5700 AC490000 */ sw $t1, 0x0000($v0) ## 00000000 -/* 02154 809D5704 C630003C */ lwc1 $f16, 0x003C($s1) ## 00010114 -/* 02158 809D5708 C6240040 */ lwc1 $f4, 0x0040($s1) ## 00010118 -/* 0215C 809D570C C6280038 */ lwc1 $f8, 0x0038($s1) ## 00010110 -/* 02160 809D5710 4600848D */ trunc.w.s $f18, $f16 -/* 02164 809D5714 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 02168 809D5718 4600218D */ trunc.w.s $f6, $f4 -/* 0216C 809D571C 44099000 */ mfc1 $t1, $f18 -/* 02170 809D5720 4600428D */ trunc.w.s $f10, $f8 -/* 02174 809D5724 44193000 */ mfc1 $t9, $f6 -/* 02178 809D5728 312A00FF */ andi $t2, $t1, 0x00FF ## $t2 = 00000000 -/* 0217C 809D572C 000A5C00 */ sll $t3, $t2, 16 -/* 02180 809D5730 440E5000 */ mfc1 $t6, $f10 -/* 02184 809D5734 332800FF */ andi $t0, $t9, 0x00FF ## $t0 = 00000000 -/* 02188 809D5738 00084A00 */ sll $t1, $t0, 8 -/* 0218C 809D573C 000E7E00 */ sll $t7, $t6, 24 -/* 02190 809D5740 01EB6025 */ or $t4, $t7, $t3 ## $t4 = 00000008 -/* 02194 809D5744 01895025 */ or $t2, $t4, $t1 ## $t2 = FB000008 -/* 02198 809D5748 354F0080 */ ori $t7, $t2, 0x0080 ## $t7 = FB000088 -/* 0219C 809D574C AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004 -/* 021A0 809D5750 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 021A4 809D5754 24080020 */ addiu $t0, $zero, 0x0020 ## $t0 = 00000020 -/* 021A8 809D5758 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 021AC 809D575C AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0 -/* 021B0 809D5760 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000 -/* 021B4 809D5764 C6280028 */ lwc1 $f8, 0x0028($s1) ## 00010100 -/* 021B8 809D5768 C630002C */ lwc1 $f16, 0x002C($s1) ## 00010104 -/* 021BC 809D576C C6240030 */ lwc1 $f4, 0x0030($s1) ## 00010108 -/* 021C0 809D5770 4600428D */ trunc.w.s $f10, $f8 -/* 021C4 809D5774 C6280034 */ lwc1 $f8, 0x0034($s1) ## 0001010C -/* 021C8 809D5778 4600848D */ trunc.w.s $f18, $f16 -/* 021CC 809D577C 440C5000 */ mfc1 $t4, $f10 -/* 021D0 809D5780 4600218D */ trunc.w.s $f6, $f4 -/* 021D4 809D5784 440D9000 */ mfc1 $t5, $f18 -/* 021D8 809D5788 000C4E00 */ sll $t1, $t4, 24 -/* 021DC 809D578C 4600428D */ trunc.w.s $f10, $f8 -/* 021E0 809D5790 440F3000 */ mfc1 $t7, $f6 -/* 021E4 809D5794 31AE00FF */ andi $t6, $t5, 0x00FF ## $t6 = 00000000 -/* 021E8 809D5798 000EC400 */ sll $t8, $t6, 16 -/* 021EC 809D579C 440C5000 */ mfc1 $t4, $f10 -/* 021F0 809D57A0 31EB00FF */ andi $t3, $t7, 0x00FF ## $t3 = 00000088 -/* 021F4 809D57A4 000B6A00 */ sll $t5, $t3, 8 -/* 021F8 809D57A8 0138C825 */ or $t9, $t1, $t8 ## $t9 = FB000008 -/* 021FC 809D57AC 032D7025 */ or $t6, $t9, $t5 ## $t6 = FB000008 -/* 02200 809D57B0 318A00FF */ andi $t2, $t4, 0x00FF ## $t2 = 00000008 -/* 02204 809D57B4 01CA7825 */ or $t7, $t6, $t2 ## $t7 = FB000008 -/* 02208 809D57B8 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004 -/* 0220C 809D57BC 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 02210 809D57C0 3C19DB06 */ lui $t9, 0xDB06 ## $t9 = DB060000 -/* 02214 809D57C4 37390020 */ ori $t9, $t9, 0x0020 ## $t9 = DB060020 -/* 02218 809D57C8 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 0221C 809D57CC AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0 -/* 02220 809D57D0 AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 02224 809D57D4 92270001 */ lbu $a3, 0x0001($s1) ## 000100D9 -/* 02228 809D57D8 8EE40000 */ lw $a0, 0x0000($s7) ## 00000000 -/* 0222C 809D57DC 240C0020 */ addiu $t4, $zero, 0x0020 ## $t4 = 00000020 -/* 02230 809D57E0 00070823 */ subu $at, $zero, $a3 -/* 02234 809D57E4 00013880 */ sll $a3, $at, 2 -/* 02238 809D57E8 240D0020 */ addiu $t5, $zero, 0x0020 ## $t5 = 00000020 -/* 0223C 809D57EC 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001 -/* 02240 809D57F0 24090040 */ addiu $t1, $zero, 0x0040 ## $t1 = 00000040 -/* 02244 809D57F4 AFA90014 */ sw $t1, 0x0014($sp) -/* 02248 809D57F8 AFB80018 */ sw $t8, 0x0018($sp) -/* 0224C 809D57FC AFAD0010 */ sw $t5, 0x0010($sp) -/* 02250 809D5800 00E13821 */ addu $a3, $a3, $at -/* 02254 809D5804 AFAC0028 */ sw $t4, 0x0028($sp) -/* 02258 809D5808 AFA80024 */ sw $t0, 0x0024($sp) -/* 0225C 809D580C AFA00020 */ sw $zero, 0x0020($sp) -/* 02260 809D5810 AFA0001C */ sw $zero, 0x001C($sp) -/* 02264 809D5814 0C0253D0 */ jal Gfx_TwoTexScroll -/* 02268 809D5818 AFA200B4 */ sw $v0, 0x00B4($sp) -/* 0226C 809D581C 8FA300B4 */ lw $v1, 0x00B4($sp) -/* 02270 809D5820 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 02274 809D5824 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 02278 809D5828 8E26000C */ lw $a2, 0x000C($s1) ## 000100E4 -/* 0227C 809D582C C62E0008 */ lwc1 $f14, 0x0008($s1) ## 000100E0 -/* 02280 809D5830 0C034261 */ jal Matrix_Translate -/* 02284 809D5834 C62C0004 */ lwc1 $f12, 0x0004($s1) ## 000100DC -/* 02288 809D5838 0C0347F5 */ jal func_800D1FD4 -/* 0228C 809D583C 02802025 */ or $a0, $s4, $zero ## $a0 = 809DBA68 -/* 02290 809D5840 C634004C */ lwc1 $f20, 0x004C($s1) ## 00010124 -/* 02294 809D5844 4406B000 */ mfc1 $a2, $f22 -/* 02298 809D5848 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 0229C 809D584C 4600A306 */ mov.s $f12, $f20 -/* 022A0 809D5850 0C0342A3 */ jal Matrix_Scale -/* 022A4 809D5854 4600A386 */ mov.s $f14, $f20 -/* 022A8 809D5858 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00 -/* 022AC 809D585C 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000 -/* 022B0 809D5860 44817000 */ mtc1 $at, $f14 ## $f14 = 20.00 -/* 022B4 809D5864 44066000 */ mfc1 $a2, $f12 -/* 022B8 809D5868 0C034261 */ jal Matrix_Translate -/* 022BC 809D586C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 022C0 809D5870 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 022C4 809D5874 3C05809E */ lui $a1, %hi(D_809DC088) ## $a1 = 809E0000 -/* 022C8 809D5878 24A5C088 */ addiu $a1, $a1, %lo(D_809DC088) ## $a1 = 809DC088 -/* 022CC 809D587C 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 022D0 809D5880 AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002D0 -/* 022D4 809D5884 AC5E0000 */ sw $s8, 0x0000($v0) ## 00000000 -/* 022D8 809D5888 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 022DC 809D588C 24060570 */ addiu $a2, $zero, 0x0570 ## $a2 = 00000570 -/* 022E0 809D5890 0C0346A2 */ jal Matrix_NewMtx -/* 022E4 809D5894 AFA200B0 */ sw $v0, 0x00B0($sp) -/* 022E8 809D5898 8FA300B0 */ lw $v1, 0x00B0($sp) -/* 022EC 809D589C AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 022F0 809D58A0 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 022F4 809D58A4 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008 -/* 022F8 809D58A8 AE0A02D0 */ sw $t2, 0x02D0($s0) ## 000002D0 -/* 022FC 809D58AC AC550004 */ sw $s5, 0x0004($v0) ## 00000004 -/* 02300 809D58B0 AC560000 */ sw $s6, 0x0000($v0) ## 00000000 -.L809D58B4: -/* 02304 809D58B4 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000001 -/* 02308 809D58B8 00129400 */ sll $s2, $s2, 16 -/* 0230C 809D58BC 00129403 */ sra $s2, $s2, 16 -/* 02310 809D58C0 2A410064 */ slti $at, $s2, 0x0064 -/* 02314 809D58C4 1420FF70 */ bne $at, $zero, .L809D5688 -/* 02318 809D58C8 2631006C */ addiu $s1, $s1, 0x006C ## $s1 = 00010144 -/* 0231C 809D58CC 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000 -/* 02320 809D58D0 8FB100FC */ lw $s1, 0x00FC($sp) -/* 02324 809D58D4 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000 -.L809D58D8: -/* 02328 809D58D8 922F0000 */ lbu $t7, 0x0000($s1) ## 00010144 -/* 0232C 809D58DC 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 02330 809D58E0 3C15809E */ lui $s5, %hi(D_809DA758) ## $s5 = 809E0000 -/* 02334 809D58E4 15E1005E */ bne $t7, $at, .L809D5A60 -/* 02338 809D58E8 26B5A758 */ addiu $s5, $s5, %lo(D_809DA758) ## $s5 = 809DA758 -/* 0233C 809D58EC 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 02340 809D58F0 34211DA0 */ ori $at, $at, 0x1DA0 ## $at = 00011DA0 -/* 02344 809D58F4 16600012 */ bne $s3, $zero, .L809D5940 -/* 02348 809D58F8 02E1A021 */ addu $s4, $s7, $at -/* 0234C 809D58FC 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 02350 809D5900 3C04809E */ lui $a0, %hi(D_809DA6B0) ## $a0 = 809E0000 -/* 02354 809D5904 2484A6B0 */ addiu $a0, $a0, %lo(D_809DA6B0) ## $a0 = 809DA6B0 -/* 02358 809D5908 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 0235C 809D590C AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0 -/* 02360 809D5910 AC440004 */ sw $a0, 0x0004($v0) ## 00000004 -/* 02364 809D5914 AC560000 */ sw $s6, 0x0000($v0) ## 00000000 -/* 02368 809D5918 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 0236C 809D591C 3C09FFD7 */ lui $t1, 0xFFD7 ## $t1 = FFD70000 -/* 02370 809D5920 3529FF80 */ ori $t1, $t1, 0xFF80 ## $t1 = FFD7FF80 -/* 02374 809D5924 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 02378 809D5928 AE1902D0 */ sw $t9, 0x02D0($s0) ## 000002D0 -/* 0237C 809D592C 3C0DFB00 */ lui $t5, 0xFB00 ## $t5 = FB000000 -/* 02380 809D5930 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000001 -/* 02384 809D5934 327300FF */ andi $s3, $s3, 0x00FF ## $s3 = 00000001 -/* 02388 809D5938 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000 -/* 0238C 809D593C AC490004 */ sw $t1, 0x0004($v0) ## 00000004 -.L809D5940: -/* 02390 809D5940 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 02394 809D5944 3C08FA00 */ lui $t0, 0xFA00 ## $t0 = FA000000 -/* 02398 809D5948 3C01C814 */ lui $at, 0xC814 ## $at = C8140000 -/* 0239C 809D594C 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 023A0 809D5950 AE1802D0 */ sw $t8, 0x02D0($s0) ## 000002D0 -/* 023A4 809D5954 AC480000 */ sw $t0, 0x0000($v0) ## 00000000 -/* 023A8 809D5958 C6300034 */ lwc1 $f16, 0x0034($s1) ## 00010178 -/* 023AC 809D595C 3C09DB06 */ lui $t1, 0xDB06 ## $t1 = DB060000 -/* 023B0 809D5960 35290020 */ ori $t1, $t1, 0x0020 ## $t1 = DB060020 -/* 023B4 809D5964 4600848D */ trunc.w.s $f18, $f16 -/* 023B8 809D5968 24080040 */ addiu $t0, $zero, 0x0040 ## $t0 = 00000040 -/* 023BC 809D596C 24180020 */ addiu $t8, $zero, 0x0020 ## $t8 = 00000020 -/* 023C0 809D5970 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001 -/* 023C4 809D5974 440F9000 */ mfc1 $t7, $f18 -/* 023C8 809D5978 240E0020 */ addiu $t6, $zero, 0x0020 ## $t6 = 00000020 -/* 023CC 809D597C 240A0020 */ addiu $t2, $zero, 0x0020 ## $t2 = 00000020 -/* 023D0 809D5980 31EB00FF */ andi $t3, $t7, 0x00FF ## $t3 = 00000000 -/* 023D4 809D5984 0161C825 */ or $t9, $t3, $at ## $t9 = C8140000 -/* 023D8 809D5988 AC590004 */ sw $t9, 0x0004($v0) ## 00000004 -/* 023DC 809D598C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 023E0 809D5990 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 023E4 809D5994 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 023E8 809D5998 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008 -/* 023EC 809D599C AE0D02D0 */ sw $t5, 0x02D0($s0) ## 000002D0 -/* 023F0 809D59A0 AC490000 */ sw $t1, 0x0000($v0) ## 00000000 -/* 023F4 809D59A4 92270001 */ lbu $a3, 0x0001($s1) ## 00010145 -/* 023F8 809D59A8 8EE40000 */ lw $a0, 0x0000($s7) ## 00000000 -/* 023FC 809D59AC AFAA0028 */ sw $t2, 0x0028($sp) -/* 02400 809D59B0 00070823 */ subu $at, $zero, $a3 -/* 02404 809D59B4 00013900 */ sll $a3, $at, 4 -/* 02408 809D59B8 00E13823 */ subu $a3, $a3, $at -/* 0240C 809D59BC 30E700FF */ andi $a3, $a3, 0x00FF ## $a3 = 00000000 -/* 02410 809D59C0 AFAE0024 */ sw $t6, 0x0024($sp) -/* 02414 809D59C4 AFA00020 */ sw $zero, 0x0020($sp) -/* 02418 809D59C8 AFA0001C */ sw $zero, 0x001C($sp) -/* 0241C 809D59CC AFAC0018 */ sw $t4, 0x0018($sp) -/* 02420 809D59D0 AFA80014 */ sw $t0, 0x0014($sp) -/* 02424 809D59D4 AFB80010 */ sw $t8, 0x0010($sp) -/* 02428 809D59D8 0C0253D0 */ jal Gfx_TwoTexScroll -/* 0242C 809D59DC AFA2009C */ sw $v0, 0x009C($sp) -/* 02430 809D59E0 8FA3009C */ lw $v1, 0x009C($sp) -/* 02434 809D59E4 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 02438 809D59E8 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 0243C 809D59EC 8E26000C */ lw $a2, 0x000C($s1) ## 00010150 -/* 02440 809D59F0 C62E0008 */ lwc1 $f14, 0x0008($s1) ## 0001014C -/* 02444 809D59F4 0C034261 */ jal Matrix_Translate -/* 02448 809D59F8 C62C0004 */ lwc1 $f12, 0x0004($s1) ## 00010148 -/* 0244C 809D59FC 0C0347F5 */ jal func_800D1FD4 -/* 02450 809D5A00 02802025 */ or $a0, $s4, $zero ## $a0 = 809DBA68 -/* 02454 809D5A04 C634004C */ lwc1 $f20, 0x004C($s1) ## 00010190 -/* 02458 809D5A08 4406B000 */ mfc1 $a2, $f22 -/* 0245C 809D5A0C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 02460 809D5A10 4600A306 */ mov.s $f12, $f20 -/* 02464 809D5A14 0C0342A3 */ jal Matrix_Scale -/* 02468 809D5A18 4600A386 */ mov.s $f14, $f20 -/* 0246C 809D5A1C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 02470 809D5A20 3C05809E */ lui $a1, %hi(D_809DC09C) ## $a1 = 809E0000 -/* 02474 809D5A24 24A5C09C */ addiu $a1, $a1, %lo(D_809DC09C) ## $a1 = 809DC09C -/* 02478 809D5A28 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008 -/* 0247C 809D5A2C AE0F02D0 */ sw $t7, 0x02D0($s0) ## 000002D0 -/* 02480 809D5A30 AC5E0000 */ sw $s8, 0x0000($v0) ## 00000000 -/* 02484 809D5A34 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 02488 809D5A38 2406059F */ addiu $a2, $zero, 0x059F ## $a2 = 0000059F -/* 0248C 809D5A3C 0C0346A2 */ jal Matrix_NewMtx -/* 02490 809D5A40 AFA20098 */ sw $v0, 0x0098($sp) -/* 02494 809D5A44 8FA30098 */ lw $v1, 0x0098($sp) -/* 02498 809D5A48 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 0249C 809D5A4C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 024A0 809D5A50 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 024A4 809D5A54 AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0 -/* 024A8 809D5A58 AC550004 */ sw $s5, 0x0004($v0) ## 00000004 -/* 024AC 809D5A5C AC560000 */ sw $s6, 0x0000($v0) ## 00000000 -.L809D5A60: -/* 024B0 809D5A60 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000001 -/* 024B4 809D5A64 00129400 */ sll $s2, $s2, 16 -/* 024B8 809D5A68 00129403 */ sra $s2, $s2, 16 -/* 024BC 809D5A6C 2A410064 */ slti $at, $s2, 0x0064 -/* 024C0 809D5A70 1420FF99 */ bne $at, $zero, .L809D58D8 -/* 024C4 809D5A74 2631006C */ addiu $s1, $s1, 0x006C ## $s1 = 000101B0 -/* 024C8 809D5A78 3C15809E */ lui $s5, %hi(D_809DC0B0) ## $s5 = 809E0000 -/* 024CC 809D5A7C 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000 -/* 024D0 809D5A80 8FB100FC */ lw $s1, 0x00FC($sp) -/* 024D4 809D5A84 26B5C0B0 */ addiu $s5, $s5, %lo(D_809DC0B0) ## $s5 = 809DC0B0 -/* 024D8 809D5A88 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000 -.L809D5A8C: -/* 024DC 809D5A8C 92390000 */ lbu $t9, 0x0000($s1) ## 000101B0 -/* 024E0 809D5A90 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004 -/* 024E4 809D5A94 3C0D809E */ lui $t5, %hi(D_809DB7B8) ## $t5 = 809E0000 -/* 024E8 809D5A98 17210040 */ bne $t9, $at, .L809D5B9C -/* 024EC 809D5A9C 25ADB7B8 */ addiu $t5, $t5, %lo(D_809DB7B8) ## $t5 = 809DB7B8 -/* 024F0 809D5AA0 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 024F4 809D5AA4 34211DA0 */ ori $at, $at, 0x1DA0 ## $at = 00011DA0 -/* 024F8 809D5AA8 02E1A021 */ addu $s4, $s7, $at -/* 024FC 809D5AAC 16600010 */ bne $s3, $zero, .L809D5AF0 -/* 02500 809D5AB0 AFAD007C */ sw $t5, 0x007C($sp) -/* 02504 809D5AB4 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 02508 809D5AB8 3C18E700 */ lui $t8, 0xE700 ## $t8 = E7000000 -/* 0250C 809D5ABC 3C0CFB00 */ lui $t4, 0xFB00 ## $t4 = FB000000 -/* 02510 809D5AC0 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008 -/* 02514 809D5AC4 AE0902D0 */ sw $t1, 0x02D0($s0) ## 000002D0 -/* 02518 809D5AC8 AC400004 */ sw $zero, 0x0004($v0) ## 00000004 -/* 0251C 809D5ACC AC580000 */ sw $t8, 0x0000($v0) ## 00000000 -/* 02520 809D5AD0 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 02524 809D5AD4 240EC800 */ addiu $t6, $zero, 0xC800 ## $t6 = FFFFC800 -/* 02528 809D5AD8 26730001 */ addiu $s3, $s3, 0x0001 ## $s3 = 00000001 -/* 0252C 809D5ADC 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008 -/* 02530 809D5AE0 AE0802D0 */ sw $t0, 0x02D0($s0) ## 000002D0 -/* 02534 809D5AE4 327300FF */ andi $s3, $s3, 0x00FF ## $s3 = 00000001 -/* 02538 809D5AE8 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004 -/* 0253C 809D5AEC AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000 -.L809D5AF0: -/* 02540 809D5AF0 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 02544 809D5AF4 3C0FFA00 */ lui $t7, 0xFA00 ## $t7 = FA000000 -/* 02548 809D5AF8 2401C800 */ addiu $at, $zero, 0xC800 ## $at = FFFFC800 -/* 0254C 809D5AFC 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008 -/* 02550 809D5B00 AE0A02D0 */ sw $t2, 0x02D0($s0) ## 000002D0 -/* 02554 809D5B04 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 02558 809D5B08 C6240034 */ lwc1 $f4, 0x0034($s1) ## 000101E4 -/* 0255C 809D5B0C 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 02560 809D5B10 4600218D */ trunc.w.s $f6, $f4 -/* 02564 809D5B14 44093000 */ mfc1 $t1, $f6 -/* 02568 809D5B18 00000000 */ nop -/* 0256C 809D5B1C 313800FF */ andi $t8, $t1, 0x00FF ## $t8 = 00000008 -/* 02570 809D5B20 03014025 */ or $t0, $t8, $at ## $t0 = FFFFC808 -/* 02574 809D5B24 AC480004 */ sw $t0, 0x0004($v0) ## 00000004 -/* 02578 809D5B28 8E26000C */ lw $a2, 0x000C($s1) ## 000101BC -/* 0257C 809D5B2C C62E0008 */ lwc1 $f14, 0x0008($s1) ## 000101B8 -/* 02580 809D5B30 0C034261 */ jal Matrix_Translate -/* 02584 809D5B34 C62C0004 */ lwc1 $f12, 0x0004($s1) ## 000101B4 -/* 02588 809D5B38 0C0347F5 */ jal func_800D1FD4 -/* 0258C 809D5B3C 02802025 */ or $a0, $s4, $zero ## $a0 = 809DBA68 -/* 02590 809D5B40 C634004C */ lwc1 $f20, 0x004C($s1) ## 000101FC -/* 02594 809D5B44 4406B000 */ mfc1 $a2, $f22 -/* 02598 809D5B48 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 0259C 809D5B4C 4600A306 */ mov.s $f12, $f20 -/* 025A0 809D5B50 0C0342A3 */ jal Matrix_Scale -/* 025A4 809D5B54 4600A386 */ mov.s $f14, $f20 -/* 025A8 809D5B58 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 025AC 809D5B5C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 025B0 809D5B60 02A02825 */ or $a1, $s5, $zero ## $a1 = 809DC0B0 -/* 025B4 809D5B64 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008 -/* 025B8 809D5B68 AE0C02D0 */ sw $t4, 0x02D0($s0) ## 000002D0 -/* 025BC 809D5B6C AC5E0000 */ sw $s8, 0x0000($v0) ## 00000000 -/* 025C0 809D5B70 240605BE */ addiu $a2, $zero, 0x05BE ## $a2 = 000005BE -/* 025C4 809D5B74 0C0346A2 */ jal Matrix_NewMtx -/* 025C8 809D5B78 AFA20084 */ sw $v0, 0x0084($sp) -/* 025CC 809D5B7C 8FA30084 */ lw $v1, 0x0084($sp) -/* 025D0 809D5B80 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 025D4 809D5B84 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 025D8 809D5B88 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 025DC 809D5B8C AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002D0 -/* 025E0 809D5B90 AC560000 */ sw $s6, 0x0000($v0) ## 00000000 -/* 025E4 809D5B94 8FAA007C */ lw $t2, 0x007C($sp) -/* 025E8 809D5B98 AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004 -.L809D5B9C: -/* 025EC 809D5B9C 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000001 -/* 025F0 809D5BA0 00129400 */ sll $s2, $s2, 16 -/* 025F4 809D5BA4 00129403 */ sra $s2, $s2, 16 -/* 025F8 809D5BA8 2A410064 */ slti $at, $s2, 0x0064 -/* 025FC 809D5BAC 1420FFB7 */ bne $at, $zero, .L809D5A8C -/* 02600 809D5BB0 2631006C */ addiu $s1, $s1, 0x006C ## $s1 = 0001021C -/* 02604 809D5BB4 3C06809E */ lui $a2, %hi(D_809DC0C4) ## $a2 = 809E0000 -/* 02608 809D5BB8 24C6C0C4 */ addiu $a2, $a2, %lo(D_809DC0C4) ## $a2 = 809DC0C4 -/* 0260C 809D5BBC 27A400E8 */ addiu $a0, $sp, 0x00E8 ## $a0 = FFFFFFD8 -/* 02610 809D5BC0 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 02614 809D5BC4 0C031AD5 */ jal Graph_CloseDisps -/* 02618 809D5BC8 240705C5 */ addiu $a3, $zero, 0x05C5 ## $a3 = 000005C5 -/* 0261C 809D5BCC 8FBF006C */ lw $ra, 0x006C($sp) -/* 02620 809D5BD0 D7B40038 */ ldc1 $f20, 0x0038($sp) -/* 02624 809D5BD4 D7B60040 */ ldc1 $f22, 0x0040($sp) -/* 02628 809D5BD8 8FB00048 */ lw $s0, 0x0048($sp) -/* 0262C 809D5BDC 8FB1004C */ lw $s1, 0x004C($sp) -/* 02630 809D5BE0 8FB20050 */ lw $s2, 0x0050($sp) -/* 02634 809D5BE4 8FB30054 */ lw $s3, 0x0054($sp) -/* 02638 809D5BE8 8FB40058 */ lw $s4, 0x0058($sp) -/* 0263C 809D5BEC 8FB5005C */ lw $s5, 0x005C($sp) -/* 02640 809D5BF0 8FB60060 */ lw $s6, 0x0060($sp) -/* 02644 809D5BF4 8FB70064 */ lw $s7, 0x0064($sp) -/* 02648 809D5BF8 8FBE0068 */ lw $s8, 0x0068($sp) -/* 0264C 809D5BFC 03E00008 */ jr $ra -/* 02650 809D5C00 27BD0110 */ addiu $sp, $sp, 0x0110 ## $sp = 00000000 -/* 02654 809D5C04 00000000 */ nop -/* 02658 809D5C08 00000000 */ nop -/* 0265C 809D5C0C 00000000 */ nop diff --git a/assets/xml/overlays/ovl_En_Clear_Tag.xml b/assets/xml/overlays/ovl_En_Clear_Tag.xml new file mode 100644 index 0000000000..266acc3408 --- /dev/null +++ b/assets/xml/overlays/ovl_En_Clear_Tag.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/data/overlays/actors/z_en_clear_tag.bss.s b/data/overlays/actors/z_en_clear_tag.bss.s deleted file mode 100644 index fc5f893987..0000000000 --- a/data/overlays/actors/z_en_clear_tag.bss.s +++ /dev/null @@ -1,14 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purpose registers - -.section .bss - -.balign 16 - -glabel D_809DC3D0 - .space 0x2A30 - diff --git a/data/overlays/actors/z_en_clear_tag.data.s b/data/overlays/actors/z_en_clear_tag.data.s deleted file mode 100644 index 076d4fb836..0000000000 --- a/data/overlays/actors/z_en_clear_tag.data.s +++ /dev/null @@ -1,166 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purpose registers - -.section .data - -.balign 16 - -glabel En_Clear_Tag_InitVars - .word 0x013B0900, 0x00000035, 0x00010000, 0x00000204 -.word EnClearTag_Init -.word EnClearTag_Destroy -.word EnClearTag_Update -.word EnClearTag_Draw -glabel D_809D5C30 - .word 0x00000000 -glabel D_809D5C34 - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_809D5C40 - .word 0x03110939, 0x10010000, 0x00000000, 0xFFCFFFFF, 0x00040000, 0xFFDFFFFF, 0x00000000, 0x01010100, 0x000F001E, 0x000A0000, 0x00000000 -glabel D_809D5C6C - .word 0x09110939, 0x10010000, 0x00000000, 0xFFCFFFFF, 0x00040000, 0xFFDFFFFF, 0x00000000, 0x01010100, 0x000F001E, 0x000A0000, 0x00000000, 0x00000000, 0x00000000 -glabel D_809D5CA0 - .word 0xFD100000 -.word D_809D7138 -.word 0xF5100000, 0x07094260, 0xE6000000, 0x00000000, 0xF3000000, 0x077FF080, 0xE7000000, 0x00000000, 0xF5102000, 0x00094260, 0xF2000000, 0x000FC07C, 0x0100500A -.word D_809D5F78 -.word 0x06000204, 0x00060408, 0xFD100000 -.word D_809D8138 -.word 0xF5100000, 0x07054150, 0xE6000000, 0x00000000, 0xF3000000, 0x073FF100, 0xE7000000, 0x00000000, 0xF5101000, 0x00054150, 0xF2000000, 0x0007C07C, 0x01009012 -.word D_809D5FC8 -.word 0x06000204, 0x0006080A, 0x070C0E10, 0x000C1008, 0xFD100000 -.word D_809D6938 -.word 0xF5100000, 0x07054150, 0xE6000000, 0x00000000, 0xF3000000, 0x073FF100, 0xE7000000, 0x00000000, 0xF5101000, 0x00054150, 0xF2000000, 0x0007C07C, 0x0101F03E -.word D_809D6058 -.word 0x06000204, 0x00020006, 0x06000408, 0x000A0C0E, 0x06100A0E, 0x00121416, 0x06121618, 0x001A1C1E, 0x061E201A, 0x00202224, 0x06261228, 0x00281218, 0x06182A28, 0x00082C2E, 0x06082E30, 0x002E3206, 0x0606302E, 0x00343638, 0x06383A3C, 0x00383C34, 0x0101E03C -.word D_809D6248 -.word 0x06000204, 0x00060004, 0x06040806, 0x000A0804, 0x060C0E10, 0x000C100A, 0x060A1012, 0x00080A12, 0x06121408, 0x0016181A, 0x061C1E20, 0x00202224, 0x0626282A, 0x00262C2E, 0x062E2826, 0x00303234, 0x0536383A, 0x00000000, 0x01013026 -.word D_809D6428 -.word 0x06000204, 0x00040608, 0x060A0C0E, 0x000E1012, 0x06141618, 0x00181A1C, 0x06181C14, 0x001E1C1A, 0x05202224, 0x00000000, 0xFD100000 -.word D_809D8938 -.word 0xF5100000, 0x07054150, 0xE6000000, 0x00000000, 0xF3000000, 0x073FF100, 0xE7000000, 0x00000000, 0xF5101000, 0x00054150, 0xF2000000, 0x0007C07C, 0x01020040 -.word D_809D6558 -.word 0x06000204, 0x0006080A, 0x060A0C06, 0x00000E10, 0x06101200, 0x00141618, 0x0616141A, 0x001C1E20, 0x060A2224, 0x00220A26, 0x06282A2C, 0x002C2E28, 0x06303234, 0x00363432, 0x06383A3C, 0x003E3C3A, 0x0100A014 -.word D_809D6758 -.word 0x06000204, 0x0006080A, 0x060A0C06, 0x000E1012, 0xFD100000 -.word D_809D9138 -.word 0xF5100000, 0x07094250, 0xE6000000, 0x00000000, 0xF3000000, 0x073FF100, 0xE7000000, 0x00000000, 0xF5101000, 0x00094250, 0xF2000000, 0x0007C07C, 0x0100600C -.word D_809D67F8 -.word 0x06000204, 0x0006080A, 0xFD100000 -.word D_809D68B8 -.word 0xF5100000, 0x0700C030, 0xE6000000, 0x00000000, 0xF3000000, 0x0703F400, 0xE7000000, 0x00000000, 0xF5100400, 0x0000C030, 0xF2000000, 0x0001C01C, 0x0100600C -.word D_809D6858 -.word 0x06000204, 0x0006080A, 0xDF000000, 0x00000000 -glabel D_809D5F78 - .word 0xFFF1FFFF, 0xFFE90000, 0x09E0025F, 0x008DE5FF, 0x00000008, 0xFFC10000, 0x0400FEC2, 0x008DE5FF, 0x000FFFFF, 0xFFE90000, 0xFE21025F, 0x75ECF1FF, 0xFFF1FFFF, 0xFFE90000, 0x09E0025F, 0x8D1CFCFF, 0x0000FFF4, 0xFFE10000, 0x040006B0, 0x003796FF -glabel D_809D5FC8 - .word 0xFFFC0002, 0x00060000, 0x000003FF, 0xCE6A12FF, 0xFFFC0011, 0xFFE60000, 0x04000000, 0xB65D03FF, 0xFFF90008, 0xFFE70000, 0x040003FF, 0x9C3F00FF, 0x00070008, 0xFFE70000, 0x04000400, 0x653F00FF, 0x00040011, 0xFFE60000, 0x04000000, 0x4B5D03FF, 0x00040002, 0x00060000, 0x000003FF, 0x336A12FF, 0xFFFC0011, 0xFFE60000, 0x00000000, 0xB65D03FF, 0xFFFC0002, 0x00060000, 0x00000400, 0xCE6A12FF, 0x00040002, 0x00060000, 0x04000400, 0x336A12FF -glabel D_809D6058 - .word 0x003CFFEF, 0xFFDB0000, 0x01E903D3, 0xED8DEEFF, 0x006AFFF2, 0xFFC50000, 0xFF6FF7D0, 0xFA8FDDFF, 0x0047FFEE, 0xFFE00000, 0x03E1017A, 0x008AFCFF, 0x003BFFF3, 0xFFD40000, 0x00000400, 0xD7A2C5FF, 0x003EFFF1, 0xFFE30000, 0x04000400, 0xF09124FF, 0x0047FFEE, 0xFFE00000, 0x03E1017A, 0x10731AFF, 0x006AFFF2, 0xFFC50000, 0xFF6FF7D0, 0x0B731EFF, 0x003BFFF3, 0xFFD40000, 0x00000400, 0x1C740AFF, 0x003EFFF1, 0xFFE30000, 0x04000400, 0x2C6F02FF, 0xFFC5FFF3, 0xFFD40000, 0x00000400, 0xE5740AFF, 0xFF96FFF2, 0xFFC50000, 0xFF6F1030, 0xF6731EFF, 0xFFB9FFEE, 0xFFE00000, 0x03E10685, 0xF1731AFF, 0xFFC2FFF1, 0xFFE30000, 0x04000400, 0xD56F02FF, 0xFFC4FFEF, 0xFFDB0000, 0x01E90433, 0x1B91E2FF, 0xFFC5FFF3, 0xFFD40000, 0x00000400, 0x239DCAFF, 0xFFE2FFFD, 0xFFE20000, 0x0174FB55, 0x3FB0C4FF, 0xFFE7FFF9, 0xFFEA0000, 0x0348F9FA, 0x1C8E0FFF, 0xFFE6FFFE, 0xFFFC0000, 0x07ABF8AC, 0x128F20FF, 0xFFC2FFF1, 0xFFE30000, 0x04000400, 0x119124FF, 0xFFE2FFFD, 0xFFE20000, 0x0174FB55, 0xE372EAFF, 0xFFE60000, 0xFFEA0000, 0x033BF9BA, 0xD67000FF, 0xFFE6FFFE, 0xFFFC0000, 0x07ABF8AC, 0xD46E07FF, 0x001AFFFE, 0xFFFC0000, 0x07AB0F54, 0xEF8F20FF, 0x0019FFF9, 0xFFEA0000, 0x03480E06, 0xDF8F02FF, 0x003CFFEF, 0xFFDB0000, 0x01E903CC, 0xED8DEEFF, 0x001EFFFD, 0xFFE20000, 0x01740CAB, 0xC10E9CFF, 0x0000FFF3, 0x00000000, 0x0200FE4C, 0x008AFDFF, 0x0000FFF4, 0xFFE10000, 0x020004CE, 0x008AF9FF, 0x000AFFF5, 0xFFE50000, 0x04000400, 0x2991FAFF, 0x000FFFFF, 0xFFE90000, 0x0508034F, 0x75ECF1FF, 0x000AFFF4, 0xFFF50000, 0x040000BE, 0x57B00BFF -glabel D_809D6248 - .word 0x000FFFFF, 0xFFE90000, 0x0508034F, 0x75ECF1FF, 0x0000FFFF, 0x00480000, 0x0200EFB9, 0x6BCE0FFF, 0x0000FFF3, 0x00240000, 0x0200F6F2, 0x5CB60FFF, 0x000AFFF4, 0xFFF50000, 0x040000BE, 0x57B00BFF, 0x0000FFF3, 0x00000000, 0x0200FE4C, 0x008AFDFF, 0xFFF6FFF4, 0xFFF50000, 0x000000BE, 0xAAB00BFF, 0x0000FFF3, 0x00240000, 0x0200F6F2, 0x93D612FF, 0x0000FFFF, 0x00480000, 0x0200EFB9, 0x96CE0FFF, 0xFFF1FFFF, 0xFFE90000, 0xFEF9034F, 0x8D1CFCFF, 0xFFF6FFF5, 0xFFE50000, 0x00000400, 0xD891FAFF, 0x0000FFF4, 0xFFE10000, 0x020004CE, 0x008AF9FF, 0x001A0000, 0xFFEA0000, 0x003C039E, 0x8D1AF0FF, 0x001EFFFD, 0xFFE20000, 0x00000400, 0xC10E9CFF, 0x0019FFF9, 0xFFEA0000, 0x005303FE, 0x8D1AF0FF, 0x000FFFFF, 0xFFE90000, 0x05080643, 0x75ECF1FF, 0x000AFFF5, 0xFFE50000, 0x040003FF, 0x2C1493FF, 0x0000FFF4, 0xFFE10000, 0x020003C6, 0x003796FF, 0xFFF6FFF5, 0xFFE50000, 0x000003FF, 0xD51493FF, 0xFFF1FFFF, 0xFFE90000, 0xFEF90643, 0x8D1CFCFF, 0x001A0000, 0xFFEA0000, 0x033B0E46, 0x2B7000FF, 0x003BFFF3, 0xFFD40000, 0x00000400, 0x1C740AFF, 0x001EFFFD, 0xFFE20000, 0x01740CAB, 0xC10E9CFF, 0x001AFFFE, 0xFFFC0000, 0x07AB0F54, 0x2D6E07FF, 0x003EFFF1, 0xFFE30000, 0x04000400, 0x2C6F02FF, 0xFFE7FFF9, 0xFFEA0000, 0x03AD03FE, 0x741AF0FF, 0xFFE2FFFD, 0xFFE20000, 0x04000400, 0x3FB0C4FF, 0xFFE60000, 0xFFEA0000, 0x03C4039E, 0x741AF0FF, 0x00070008, 0xFFE70000, 0x00000400, 0x653F00FF, 0x000FFFFF, 0xFFE90000, 0xFDE70426, 0x75ECF1FF, 0x00000008, 0xFFC10000, 0x02000E52, 0x663CEDFF -glabel D_809D6428 - .word 0xFFFC0011, 0xFFE60000, 0x030703D9, 0xB65D03FF, 0x00040011, 0xFFE60000, 0x00F903D9, 0x4B5D03FF, 0x00000008, 0xFFC10000, 0x02000E52, 0xAE52E9FF, 0xFFF1FFFF, 0xFFE90000, 0x061A0426, 0x8D1CFCFF, 0xFFF90008, 0xFFE70000, 0x040003FF, 0x9C3F00FF, 0xFFFC0002, 0x00060000, 0x014507CF, 0xCE6A12FF, 0xFFF1FFFF, 0xFFE90000, 0xFFF303CF, 0x8D1CFCFF, 0x0000FFFF, 0x00480000, 0x015810F8, 0x007707FF, 0x000FFFFF, 0xFFE90000, 0x04000400, 0x75ECF1FF, 0x00040002, 0x00060000, 0x024907DB, 0x336A12FF, 0xFFE7FFF9, 0xFFEA0000, 0x0348F9ED, 0x1C8E0FFF, 0xFFC2FFF1, 0xFFE30000, 0x04000400, 0x119124FF, 0xFFB9FFEE, 0xFFE00000, 0x03E10685, 0x068B0EFF, 0xFF96FFF2, 0xFFC50000, 0xFF6F1030, 0x078FDDFF, 0xFFC4FFEF, 0xFFDB0000, 0x01E9042C, 0x1B91E2FF, 0xFFC5FFF3, 0xFFD40000, 0x00000400, 0x239DCAFF, 0x0000FFFF, 0x00480000, 0x0200F716, 0x007707FF, 0x00040002, 0x00060000, 0x0180001B, 0x336A12FF, 0xFFFC0002, 0x00060000, 0x0280001B, 0xCE6A12FF -glabel D_809D6558 - .word 0x001FFFFF, 0xFFEA0000, 0xFCA00400, 0x751709FF, 0x0015FFF9, 0xFFD70000, 0xFE510220, 0x0072DBFF, 0x000CFFFF, 0xFFEA0000, 0x00000400, 0x0072DBFF, 0x0015FFF0, 0xFFF30000, 0xFE51064F, 0x9CC200FF, 0x0015FFFA, 0x00260000, 0xFE510E01, 0x8B0313FF, 0x000CFFFF, 0xFFEA0000, 0x000003FF, 0x8CEAF6FF, 0x0015FFF9, 0xFFD70000, 0xFE51013D, 0xA5B9E8FF, 0x0015FFFA, 0x00260000, 0xFE510E01, 0x760313FF, 0x0015FFF0, 0xFFF30000, 0xFE51064F, 0x65C200FF, 0x0015FFF9, 0xFFD70000, 0xFE51013D, 0x5CB9E8FF, 0x001FFFFF, 0xFFEA0000, 0xFCA003FF, 0x751709FF, 0x0015000D, 0xFFEF0000, 0xFE510403, 0x624016FF, 0x0015FFFA, 0x00260000, 0xFE51FA01, 0x760313FF, 0x0015001B, 0xFFC80000, 0xFE510B31, 0x624017FF, 0x000CFFFF, 0xFFEA0000, 0x00000400, 0x8CEAF6FF, 0x0015001B, 0xFFC80000, 0xFE51FC57, 0x00A4B4FF, 0x001FFFFF, 0xFFEA0000, 0xFCA00400, 0x00A4B4FF, 0x0015000D, 0xFFEF0000, 0xFE510403, 0x9F4016FF, 0x0015001B, 0xFFC80000, 0xFE510B31, 0x9F4017FF, 0x0015FFFA, 0x00260000, 0xFE51FA01, 0x8B0313FF, 0xFFEBFFF0, 0xFFF30000, 0x05B0064F, 0x9CC200FF, 0xFFEBFFFA, 0x00260000, 0x05B00E01, 0x8B0313FF, 0xFFE1FFFF, 0xFFEA0000, 0x076103FF, 0x8CEAF6FF, 0xFFEBFFF9, 0xFFD70000, 0x05B0013D, 0xA5B9E8FF, 0xFFEB001B, 0xFFC80000, 0x05B00B31, 0x624017FF, 0xFFEB000D, 0xFFEF0000, 0x05B00403, 0x624016FF, 0xFFF4FFFF, 0xFFEA0000, 0x040003FF, 0x57510CFF, 0xFFEBFFFA, 0x00260000, 0x05B0FA01, 0x760313FF, 0xFFEB001B, 0xFFC80000, 0x05B00B31, 0x9F4017FF, 0xFFE1FFFF, 0xFFEA0000, 0x07610400, 0x8CEAF6FF, 0xFFEB000D, 0xFFEF0000, 0x05B00403, 0x9F4016FF, 0xFFEBFFFA, 0x00260000, 0x05B0FA01, 0x8B0313FF -glabel D_809D6758 - .word 0xFFE1FFFF, 0xFFEA0000, 0x076103FF, 0x8CEAF6FF, 0xFFEB001B, 0xFFC80000, 0x05B0FC57, 0x00A4B4FF, 0xFFF4FFFF, 0xFFEA0000, 0x04000400, 0x4AA9DFFF, 0xFFF4FFFF, 0xFFEA0000, 0x040003FF, 0x4AA9DFFF, 0xFFEBFFFA, 0x00260000, 0x05B00E01, 0x760313FF, 0xFFEBFFF0, 0xFFF30000, 0x05B0064F, 0x65C200FF, 0xFFEBFFF9, 0xFFD70000, 0x05B0013D, 0x5CB9E8FF, 0xFFF4FFFF, 0xFFEA0000, 0x04000400, 0x57510CFF, 0xFFEBFFF9, 0xFFD70000, 0x05B00220, 0x0072DBFF, 0xFFE1FFFF, 0xFFEA0000, 0x076103FF, 0x0072DBFF -glabel D_809D67F8 - .word 0xFFF90008, 0xFFE70000, 0xFF4204B6, 0x9C3F00FF, 0xFFFC0011, 0xFFE60000, 0xFFBEFECF, 0xB65D03FF, 0x00000008, 0xFFC10000, 0x0BE60498, 0xAE52E9FF, 0x00000008, 0xFFC10000, 0x0BE60498, 0x663CEDFF, 0x00040011, 0xFFE60000, 0xFFBEFECF, 0x4B5D03FF, 0x00070008, 0xFFE70000, 0xFF4204B6, 0x653F00FF -glabel D_809D6858 - .word 0xFFF90008, 0xFFE70000, 0x01FA00FF, 0x9C3F00FF, 0xFFF1FFFF, 0xFFE90000, 0x039C001E, 0x8D1CFCFF, 0xFFFC0002, 0x00060000, 0x0138FA6C, 0xCE6A12FF, 0x00040002, 0x00060000, 0xFFA1FA6C, 0x336A12FF, 0x000FFFFF, 0xFFE90000, 0xFD3D001E, 0x75ECF1FF, 0x00070008, 0xFFE70000, 0xFEDF0100, 0x653F00FF -glabel D_809D68B8 - .word 0x6B556B55, 0x6B556B55, 0x6B556B55, 0x6B556B55, 0x9CDF9CDF, 0x9CDF9CDF, 0x9CDF9CDF, 0x9CDF9CDF, 0x9CDF9CDF, 0x9CDF9CDF, 0x9CDF9CDF, 0x9CDF9CDF, 0x6B556B55, 0x6B556B55, 0x6B556B55, 0x6B556B55, 0x21072107, 0x21072107, 0x21072107, 0x21072107, 0x21072107, 0x21072107, 0x21072107, 0x21072107, 0x21072107, 0x21072107, 0x21072107, 0x21072107, 0x21072107, 0x21072107, 0x21072107, 0x21072107 -glabel D_809D6938 - .word 0xCE29BDA5, 0x9CDF8C1D, 0x945DB563, 0xCE29DEAD, 0xE6EFE6EF, 0xE6F1E733, 0xE735E735, 0xE735E735, 0xE735E735, 0xE733E733, 0xE6F1E6EF, 0xDEEDDEAD, 0xDEABDEAB, 0xD66BD66B, 0xD66BD669, 0xD669D669, 0xDEADCE29, 0xAD23945D, 0x9C9FBDA5, 0xDEADEF31, 0xF771F7B3, 0xF7B5FFB7, 0xFFB9FFFB, 0xFFFBFFFB, 0xFFFBFFF9, 0xFFB9FFB7, 0xF7B5F773, 0xF771EF31, 0xEF2FEF2F, 0xE6EFE6ED, 0xE6EDE6ED, 0xDEADDEAD, 0xDEADCE29, 0xAD23949F, 0x9C9FB5A5, 0xDEADEF31, 0xF771F7B3, 0xFFB5FFF7, 0xFFF9FFF9, 0xFFF9FFF9, 0xFFF9FFF9, 0xFFF7FFB5, 0xFFB5F773, 0xF771EF31, 0xEF2FEF2F, 0xE6EFE6ED, 0xE6EDE6ED, 0xE6EDE6ED, 0xDEABC5E7, 0xAD23945D, 0x949FB565, 0xD66BEF2F, 0xEF31F771, 0xF773FFB5, 0xFFB5FFB5, 0xFFF5FFF7, 0xFFB5FFB5, 0xFFB5F7B3, 0xF773F771, 0xEF2FEF2F, 0xEEEFE6EF, 0xE6EDE6ED, 0xE6ADDEAD, 0xDEADDEAD, 0xD66BC5E7, 0xA521945D, 0x945DB563, 0xD66BE6ED, 0xEF2FEF2F, 0xF771F773, 0xF7B3F7B3, 0xF7B3F7B3, 0xF7B3F773, 0xF771F771, 0xEF31EF2F, 0xE6EFE6EF, 0xE6EDE6ED, 0xE6EDDEAD, 0xDEADDEAD, 0xDEABDEAB, 0xD66BC5E7, 0xA4E1945D, 0x945DAD63, 0xCE29DEAD, 0xE6EDE6EF, 0xEF2FEF31, 0xF771F771, 0xF771F771, 0xEF31EF31, 0xEF31EF2F, 0xE6EFE6EF, 0xE6EDE6ED, 0xE6ADDEAD, 0xDEADDEAB, 0xDEABDEAB, 0xDEABDEAB, 0xD669BDA7, 0xA4E18C5D, 0x945DAD23, 0xCE29DEAD, 0xDEADE6ED, 0xE6EDE6EF, 0xEF2FEF2F, 0xEF2FEF2F, 0xEEEFE6EF, 0xE6EFE6ED, 0xE6EDE6AD, 0xDEADDEAD, 0xDEADDEAB, 0xDEABDEAB, 0xD66BD66B, 0xD66BD66B, 0xCE29BDA5, 0x9CE18C5D, 0x945DAD21, 0xC5E7D66B, 0xD66BDEAB, 0xDEADDEAD, 0xE6EDDEAD, 0xDEADDEAD, 0xDEADDEAD, 0xDEADDEAD, 0xDEABDEAB, 0xDEABDE6B, 0xD66BD66B, 0xD66BD66B, 0xD66BD66B, 0xD66BD66B, 0xC5E7B563, 0x9C9F8C5D, 0x945DA4E1, 0xBDA5C5E7, 0xC5E7CE29, 0xCE29D66B, 0xD66BD669, 0xCE29CE29, 0xCE29CE29, 0xCE29CE29, 0xCE29CE29, 0xCE29D669, 0xD669CE29, 0xCE29C627, 0xCE29CE29, 0xCE29CE29, 0xB563A521, 0x9CDF9C9F, 0x9CDFAD21, 0xB563B5A5, 0xBDA5BDA5, 0xC5E7CE29, 0xCE29C5E7, 0xB5A5B565, 0xB565BDA5, 0xBDA5B565, 0xB563BDA5, 0xC5E7C5E7, 0xCE29C5E7, 0xBDA7BDA5, 0xBDA5C5E7, 0xCE29C5E7, 0xB563AD23, 0xAD23AD63, 0xB563B565, 0xB565B5A5, 0xBDA5BDA5, 0xBDA7C5E7, 0xC5E7BDA7, 0xB565B563, 0xB563B563, 0xB563AD23, 0xAD23B563, 0xBDA7C5E7, 0xC5E7C5E7, 0xBDA5BDA5, 0xBDA5C5E7, 0xC5E7BDA7, 0xBDA5B5A5, 0xBDA5BDA7, 0xBDA7BDE7, 0xC5E7C5E7, 0xC5E7C5E7, 0xC5E7C5E7, 0xC5E9C5E7, 0xBDA7BDA7, 0xBDA5BDA7, 0xBDA5B565, 0xB565BDA5, 0xC5E7CE29, 0xCE29CE29, 0xC5E7C5E7, 0xC5E7C5E7, 0xC5E7C5E7, 0xC5E7BDE7, 0xBDA7C5E7, 0xC5E7C5E7, 0xC5E7C5E7, 0xC5E7C5E7, 0xC5E7C5E7, 0xC5E9C5E9, 0xC5E9C629, 0xCE29C627, 0xC5E7BDA5, 0xBDA5C5E7, 0xCE29CE29, 0xCE29CE29, 0xCE29CE29, 0xCE29CE29, 0xC5E7C5E7, 0xC5E7BDA5, 0xBDA5BDA5, 0xBDA7C5E7, 0xC5E7C5E7, 0xC5E7C5E7, 0xC5E7C5E7, 0xC5E7C5E9, 0xC5E9CE29, 0xCE29CE29, 0xC5E7BDA7, 0xBDE7C5E7, 0xCE29CE29, 0xCE29CE29, 0xCE29CE29, 0xCE29CE29, 0xC5E7C5E7, 0xBDA5B565, 0xAD63B565, 0xBDA5BDA7, 0xBDA7BDE7, 0xC5E7C5E7, 0xC5E7C5E7, 0xC5E7C5E9, 0xC5E7C5E7, 0xC5E7C5E7, 0xC5E7BDA5, 0xBDA5C5E7, 0xCE29CE29, 0xCE29CE29, 0xC627CE29, 0xCE29CE29, 0xC5E7C5E7, 0xBDA5AD63, 0xAD21B563, 0xBDA5BDA5, 0xBDA5BDA5, 0xBDA5BDA7, 0xBDA7BDA7, 0xC5E7C5E7, 0xC5E7C5E7, 0xC5E7C5E7, 0xBDA7BDA5, 0xBDA5C5E7, 0xCE29CE29, 0xCE29C5E7, 0xC5E7C5E7, 0xCE29C5E7, 0xC5E7BDA5, 0xB565AD23, 0xA521AD23, 0xB565BDA5, 0xBDA5BDA5, 0xBDA5BDA5, 0xBDA5BDA5, 0xBDA7BDE7, 0xC5E7C5E7, 0xC5E7C5E7, 0xBDA5BDA5, 0xBDA5C5E7, 0xC5E7CE27, 0xC5E7C5E7, 0xC5E7C5E7, 0xC627C5E7, 0xBDE7BDA5, 0xB565AD23, 0xA4E1AD23, 0xB565BDA5, 0xBDA5BDA5, 0xBDA5BDA5, 0xBDA5BDA5, 0xBDA7BDE7, 0xBDE7BDA7, 0xBDA7BDA7, 0xBDA5B565, 0xB5A5BDA7, 0xC5E7C5E7, 0xC5E7C5E7, 0xC5E7C5E7, 0xC5E7C5E7, 0xBDA5BDA5, 0xB563AD21, 0xA4E1AD23, 0xB563B565, 0xB565B565, 0xB5A5B5A5, 0xBDA5BDA5, 0xBDA7BDA7, 0xBDA7BDA5, 0xBDA5BDA5, 0xBDA5B563, 0xB565BDA5, 0xC5E7C5E7, 0xC5E7BDE7, 0xBDA7C5E7, 0xC5E7C5E7, 0xBDA5BDA5, 0xB563A521, 0xA4E1AD21, 0xB563B565, 0xB565B565, 0xB565B565, 0xB565B5A5, 0xBDA5BDA7, 0xBDA7BDA5, 0xBDA5BDA5, 0xB565B563, 0xB563BDA5, 0xC5E7C5E7, 0xC5E7BDA5, 0xBDA5BDA7, 0xC5E7BDA7, 0xBDA5B565, 0xAD63A4E1, 0xA4DFA4E1, 0xAD23B563, 0xB563B563, 0xB563B563, 0xB563B565, 0xB5A5BDA7, 0xBDA5BDA5, 0xBDA5B5A5, 0xB563AD63, 0xB563BDA5, 0xC5E7C5E7, 0xBDA7BDA5, 0xBDA5BDA5, 0xBDA5BDA5, 0xB565B565, 0xAD23A4E1, 0x9C9F9C9F, 0xA4E1A521, 0xAD21AD21, 0xAD23AD23, 0xAD23AD23, 0xB565B565, 0xB565B563, 0xB563AD63, 0xAD23AD21, 0xAD23B565, 0xBDA5BDE7, 0xBDA5BDA5, 0xBDA5BDA5, 0xB5A5B565, 0xB563B563, 0xAD239CDF, 0x945D8C1B, 0x945D945D, 0x949F9C9F, 0x9C9F9C9F, 0x9C9F9C9F, 0xA4E1A4E1, 0xA4E1A4E1, 0x9CDF9CDF, 0x9C9FA4E1, 0xAD23B565, 0xBDA5BDA7, 0xBDA5B5A5, 0xB565B565, 0xB563B563, 0xB563B563, 0xAD219C9F, 0x841B7B99, 0x7B997BD9, 0x83DB841B, 0x8C1B8C5D, 0x8C5D8C5D, 0x8C5D8C5D, 0x8C5D8C5D, 0x8C5D8C5D, 0x945D9C9F, 0xAD23B5A5, 0xBDA7BDA7, 0xBDA5B565, 0xB565B563, 0xB563B563, 0xAD63AD63, 0xAD219C9F, 0x7BD97357, 0x73577B97, 0x7B9983D9, 0x8C1B945D, 0x945D945D, 0x8C5D8C1B, 0x8C1B8C1B, 0x8C1D8C5D, 0x945FA4E1, 0xB565BDA7, 0xBDA7BDA5, 0xB565B563, 0xB563B563, 0xB563AD23, 0xAD23AD23, 0xA521945D, 0x7BD97357, 0x73977BD9, 0x7BD9841B, 0x945D9CDF, 0xA4E1A4DF, 0x9C9F949F, 0x949F9C9F, 0x9C9F9CDF, 0xA4E1AD23, 0xB5A7BDA7, 0xBDA7B565, 0xB563B563, 0xB563B563, 0xAD23AD23, 0xAD23AD23, 0xA4E1945D, 0x7BD97357, 0x7B99841B, 0x8C1B945D, 0x9CDFAD21, 0xAD23AD21, 0xA521A521, 0xAD23AD23, 0xAD23AD23, 0xAD23B565, 0xB5A5BDA7, 0xB5A7B565, 0xAD23AD23, 0xAD63AD23, 0xAD23AD23, 0xAD23AD23, 0xA4E1945D, 0x7BD97397, 0x7BD98C5D, 0x949F9C9F, 0xA4E1AD23, 0xAD23AD23, 0xAD23AD63, 0xB565B565, 0xB563AD63, 0xAD23AD23, 0xB565B565, 0xB565AD23, 0xA521AD23, 0xAD23AD23, 0xAD23AD21, 0xAD21AD21, 0xA4E1945D, 0x7BD97397, 0x83D9945D, 0xA4E1A4E1, 0xAD21AD21, 0xAD23AD23, 0xAD23AD63, 0xB565B563, 0xB563AD23, 0xAD23AD23, 0xAD23AD23, 0xAD23A4E1, 0xA4E1AD21, 0xAD23AD23, 0xAD21AD21, 0xA521A521, 0xA4E1945D, 0x7BD97397, 0x83D9949F, 0xA521AD21, 0xAD21AD21, 0xAD21AD21, 0xAD23AD23, 0xAD23AD23, 0xAD23AD23, 0xAD23AD21, 0xAD21AD21, 0xA4E1A4E1, 0xA4E1A521, 0xAD23AD23, 0xAD21A521, 0xA4E1A4E1, 0xA4E1945D, 0x83D97397, 0x83DB9C9F, 0xAD23AD23, 0xAD23AD23, 0xAD23AD23, 0xAD23AD63, 0xB563B565, 0xB565B563, 0xAD63AD23, 0xAD23AD23, 0xAD21A4E1, 0xA521AD23, 0xAD23AD23, 0xAD23AD21, 0xAD21AD21, 0xB565A4E1, 0x8C1D7BD9, 0x8C1BA4E1, 0xBDA5C5E7, 0xC5E7C5E9, 0xC5E9C5E9, 0xC5EBC5EB, 0xC5EBC62B, 0xC62BC5EB, 0xC5EBC5E9, 0xC5E9C5E7, 0xBDE7BDA5, 0xBDA5BDA5, 0xBDA7BDA5, 0xBDA5BDA5, 0xBDA5BDA5 -glabel D_809D7138 - .word 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x10850001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x18C718C7, 0x18C718C7, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00011085, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x10850001, 0x00010001, 0x00010001, 0x00010001, 0x18C718C7, 0x318D318D, 0x318D318D, 0x18C718C7, 0x00010001, 0x00010001, 0x00010001, 0x00011085, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x294B294B, 0x294B294B, 0x00010001, 0x00010001, 0x00010001, 0x10850001, 0x00010001, 0x00010001, 0x18C718C7, 0x318D318D, 0xFD03FD03, 0xFD03FD03, 0x318D318D, 0x18C718C7, 0x00010001, 0x00010001, 0x00011085, 0x00010001, 0x00010001, 0x00010001, 0x294B294B, 0x294B294B, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x18C718C7, 0x18C718C7, 0x00010001, 0x00010001, 0x00010001, 0x10850001, 0x00010001, 0x18C718C7, 0x318D318D, 0xFD03FD03, 0xFE41FE41, 0xFE41FE41, 0xFD03FD03, 0x318D318D, 0x18C718C7, 0x00010001, 0x00011085, 0x00010001, 0x00010001, 0x00010001, 0x18C718C7, 0x18C718C7, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x18C70001, 0x000118C7, 0x00010001, 0x00010001, 0x00010001, 0x108518C7, 0x18C718C7, 0x318D318D, 0xFD03FD03, 0xFE41FE41, 0xFFC1FFFF, 0xFFFFFFC1, 0xFE41FE41, 0xFD03FD03, 0x318D318D, 0x18C718C7, 0x18C71085, 0x00010001, 0x00010001, 0x00010001, 0x18C70001, 0x000118C7, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x18C718C7, 0x18C718C7, 0x00010001, 0x00010001, 0x00010001, 0x0843318D, 0x318D318D, 0xFD03FD03, 0xFE41FE41, 0xFFC1FFC1, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFC1FFC1, 0xFE41FE41, 0xFD03FD03, 0x318D318D, 0x318D0843, 0x00010001, 0x00010001, 0x00010001, 0x18C718C7, 0x18C718C7, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x0843318D, 0xFD03FD03, 0xFE41FE41, 0xFFC1FFC1, 0xFFC1FFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFC1, 0xFFC1FFC1, 0xFE41FE41, 0xFD03FD03, 0x318D0843, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x08430843, 0x08430843, 0x08430843, 0x08430843, 0x08430843, 0x08430843, 0x00010001, 0x0843318D, 0xFD03FD03, 0xFE41FE41, 0xFFC1FFC1, 0xFFC1FFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFC1, 0xFFC1FFC1, 0xFE41FE41, 0xFD03FD03, 0x318D0843, 0x00010001, 0x08430843, 0x08430843, 0x08430843, 0x08430843, 0x08430843, 0x08430843, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010843, 0x10851085, 0x10851085, 0x10851085, 0x10851085, 0x10851085, 0x10851085, 0x08430001, 0x0843318D, 0x318D318D, 0xFD03FD03, 0xFE41FE41, 0xFFC1FFC1, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFC1FFC1, 0xFE41FE41, 0xFD03FD03, 0x318D318D, 0x318D0843, 0x00010001, 0x10851085, 0x10851085, 0x10851085, 0x10851085, 0x10851085, 0x10851085, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x000118C7, 0x18C718C7, 0x18C718C7, 0x18C718C7, 0x18C718C7, 0x18C718C7, 0x18C718C7, 0x18C70001, 0x00010001, 0x000118C7, 0x318D318D, 0xFD03FD03, 0xFE41FE41, 0xFFC1FFFF, 0xFFFFFFC1, 0xFE41FE41, 0xFD03FD03, 0x318D318D, 0x18C70001, 0x00010001, 0x00010843, 0x18C718C7, 0x18C718C7, 0x18C718C7, 0x18C718C7, 0x18C718C7, 0x18C718C7, 0x08430001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x0001318D, 0x294B294B, 0x294B294B, 0x294B294B, 0x294B294B, 0x294B294B, 0x294B294B, 0x318D0001, 0xF8011085, 0x10850001, 0x000118C7, 0x318D318D, 0xFD03FD03, 0xFE41FE41, 0xFE41FE41, 0xFD03FD03, 0x318D318D, 0x18C70001, 0x00011085, 0x1085F801, 0x000118C7, 0x294B294B, 0x294B294B, 0x294B294B, 0x294B294B, 0x294B294B, 0x294B294B, 0x18C70001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00016319, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x63190001, 0x00011085, 0x10850001, 0x00010001, 0x000118C7, 0x318D318D, 0xFD03FD03, 0xFD03FD03, 0x318D318D, 0x18C70001, 0x00010001, 0x00011085, 0x10850001, 0x0001318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D0001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x0843FFFF, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xFFFF0001, 0x18C718C7, 0x18C718C7, 0x00010001, 0x318D0001, 0x000118C7, 0x318D318D, 0x318D318D, 0x18C70001, 0x0001318D, 0x00010001, 0x18C718C7, 0x18C718C7, 0x0001CE73, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xCE730843, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x0843318D, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x318D0001, 0x318D318D, 0x318D318D, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x318D318D, 0x318D318D, 0x0001318D, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x318D0843, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x08436B5B, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x6B5B0001, 0x318D6B5B, 0x6B5B318D, 0x0001318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D0001, 0x318D6B5B, 0x6B5B318D, 0x00016B5B, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x6B5B0843, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x08436B5B, 0x00010001, 0xFFC1FFC1, 0xFFC1FFC1, 0xFFC1FFC1, 0xFFC1FFC1, 0x00010001, 0x6B5B0001, 0x318D6B5B, 0x6B5B318D, 0x10856B5B, 0x6B5B6B5B, 0x6B5B6B5B, 0x6B5B6B5B, 0x6B5B6B5B, 0x6B5B6B5B, 0x6B5B6B5B, 0x6B5B1085, 0x318D6B5B, 0x6B5B318D, 0x00016B5B, 0x00010001, 0xFFC1FFC1, 0xFFC1FFC1, 0xFFC1FFC1, 0xFFC1FFC1, 0x00010001, 0x6B5B0843, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x08436B5B, 0x00010001, 0xFFC1FFC1, 0xFFC1FFC1, 0xFFC1FFC1, 0xFFC1FFC1, 0x00010001, 0x6B5B0001, 0x318D318D, 0x318D318D, 0x0001CE73, 0xCE73CE73, 0xCE73FFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFCE73, 0xCE73CE73, 0xCE730001, 0x318D318D, 0x318D318D, 0x00016B5B, 0x00010001, 0xFFC1FFC1, 0xFFC1FFC1, 0xFFC1FFC1, 0xFFC1FFC1, 0x00010001, 0x6B5B0843, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x08436B5B, 0x00010001, 0xFFC1FFC1, 0xFFC1FFC1, 0xFFC1FFC1, 0xFFC1FFC1, 0x00010001, 0x6B5B0001, 0x28C128C1, 0x28C128C1, 0x00019CE7, 0x9CE79CE7, 0x9CE79CE7, 0x9CE79CE7, 0x9CE79CE7, 0x9CE79CE7, 0x9CE79CE7, 0x9CE70001, 0x28C128C1, 0x28C128C1, 0x00016B5B, 0x00010001, 0xFFC1FFC1, 0xFFC1FFC1, 0xFFC1FFC1, 0xFFC1FFC1, 0x00010001, 0x6B5B0843, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x08436B5B, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x6B5B0001, 0x31033103, 0x31033101, 0x0001318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D0001, 0x31013103, 0x31033103, 0x00016B5B, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x6B5B0843, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x0843318D, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x6B5B0001, 0x08430843, 0x08430001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010843, 0x08430843, 0x00016B5B, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x318D0843, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x08436B5B, 0x6B5B6B5B, 0x6B5B6B5B, 0x6B5B6B5B, 0x6B5B6B5B, 0x18C7318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D18C7, 0x6B5B6B5B, 0x6B5B6B5B, 0x6B5B6B5B, 0x6B5B6B5B, 0x6B5B0843, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x0001318D, 0x318D318D, 0x318D0001, 0x00010001, 0x18C76B5B, 0x6B5B5A4B, 0x5A4BFD03, 0xFD03FD03, 0xFD03FD03, 0xFD03FD03, 0xFD03FD03, 0xFD03FD03, 0xFD03FD03, 0xFD03FD03, 0xFD03FD03, 0xFD03FD03, 0xFD03FD03, 0xFD03FD03, 0xFD03FD03, 0xFD035A4B, 0x5A4B6B5B, 0x6B5B18C7, 0x00010001, 0x0001318D, 0x318D318D, 0x318D0001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x0001318D, 0x6B5B6B5B, 0x318D0001, 0x00010001, 0x18C718C7, 0x18C76B5B, 0x6B5B5A4B, 0x5A4BFD03, 0xFD03FEC1, 0xFEC1FEC1, 0xFEC1FEC1, 0xFEC1FEC1, 0xFEC1FEC1, 0xFEC1FEC1, 0xFEC1FEC1, 0xFEC1FEC1, 0xFEC1FEC1, 0xFEC1FD03, 0xFD035A4B, 0x5A4B6B5B, 0x6B5B18C7, 0x18C718C7, 0x00010001, 0x0001318D, 0x6B5B6B5B, 0x318D0001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x0001318D, 0x6B5B6B5B, 0x318D0001, 0x08430001, 0x00010001, 0x000118C7, 0x18C76B5B, 0x6B5B5A4B, 0x5A4BFD03, 0xFD03FEC1, 0xFEC1FFC1, 0xFFC1FFC1, 0xFFC1FFC1, 0xFFC1FFC1, 0xFFC1FFC1, 0xFFC1FEC1, 0xFEC1FD03, 0xFD035A4B, 0x5A4B6B5B, 0x6B5B18C7, 0x18C70001, 0x00010001, 0x00010843, 0x0001318D, 0x6B5B6B5B, 0x318D0001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x0001318D, 0x318D318D, 0x318D0001, 0x10850001, 0x18C718C7, 0x18C718C7, 0x000118C7, 0x18C76B5B, 0x6B5B5A4B, 0x5A4BFD03, 0xFD03FEC1, 0xFEC1FFC1, 0xFFC1FFC1, 0xFFC1FFC1, 0xFFC1FEC1, 0xFEC1FD03, 0xFD035A4B, 0x5A4B6B5B, 0x6B5B18C7, 0x18C70001, 0x18C718C7, 0x18C718C7, 0x00011085, 0x0001318D, 0x318D318D, 0x318D0001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x000118C7, 0x18C718C7, 0x18C70001, 0x10850001, 0x18C70001, 0x000118C7, 0x00010001, 0x000118C7, 0x18C76B5B, 0x6B5B5A4B, 0x5A4BFD03, 0xFD03FEC1, 0xFEC1FFC1, 0xFFC1FEC1, 0xFEC1FD03, 0xFD035A4B, 0x5A4B6B5B, 0x6B5B18C7, 0x18C70001, 0x00010001, 0x18C70001, 0x000118C7, 0x00011085, 0x000118C7, 0x18C718C7, 0x18C70001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010843, 0x08430843, 0x08430001, 0x18C70001, 0x18C70001, 0x000118C7, 0x00010001, 0x00010001, 0x000118C7, 0x18C76B5B, 0x6B5B5A4B, 0x5A4BFD03, 0xFD03FEC1, 0xFEC1FD03, 0xFD035A4B, 0x5A4B6B5B, 0x6B5B18C7, 0x18C70001, 0x00010001, 0x00010001, 0x18C70001, 0x000118C7, 0x000118C7, 0x00010843, 0x08430843, 0x08430001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x000118C7, 0x18C718C7, 0x18C70001, 0x18C70001, 0x18C718C7, 0x18C718C7, 0x084318C7, 0x18C718C7, 0x18C70843, 0x084318C7, 0x18C76B5B, 0x6B5B5A4B, 0x5A4BFD03, 0xFD035A4B, 0x5A4B6B5B, 0x6B5B18C7, 0x18C70843, 0x084318C7, 0x18C718C7, 0x18C70843, 0x18C718C7, 0x18C718C7, 0x000118C7, 0x000118C7, 0x18C718C7, 0x18C70001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x000118C7, 0x18C718C7, 0x18C70001, 0x00010001, 0x318D318D, 0x318D318D, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x000118C7, 0x18C76B5B, 0x6B5B5A4B, 0x5A4B6B5B, 0x6B5B18C7, 0x18C70001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x318D318D, 0x318D318D, 0x00010001, 0x000118C7, 0x18C718C7, 0x18C70001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x18C718C7, 0x18C718C7, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x000118C7, 0x18C76B5B, 0x6B5B18C7, 0x18C70001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x18C718C7, 0x18C718C7, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x000118C7, 0x18C70001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001 -glabel D_809D8138 - .word 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x10851085, 0x10851085, 0x10851085, 0x10851085, 0x10851085, 0x10851085, 0x10851085, 0x10851085, 0x10851085, 0x10851085, 0x10851085, 0x10851085, 0x10851085, 0x10851085, 0x10851085, 0x10851085, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x10851085, 0x10851085, 0x10851085, 0x10851085, 0x10851085, 0x10851085, 0x10851085, 0x10851085, 0x10851085, 0x10851085, 0x10851085, 0x10851085, 0x10851085, 0x10851085, 0x10851085, 0x10851085, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0x318D318D, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xCE73CE73, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF -glabel D_809D8938 - .word 0x11571157, 0x11571957, 0x19571959, 0x19591959, 0x19591959, 0x19591959, 0x19591959, 0x11151115, 0x11171157, 0x11571157, 0x11171117, 0x11171117, 0x11151115, 0x11151115, 0x11151115, 0x11150913, 0x11571957, 0x19571959, 0x19591959, 0x19991999, 0x19991999, 0x19991957, 0x19571957, 0x11151115, 0x11571957, 0x11571157, 0x11571117, 0x11171117, 0x11171115, 0x11151115, 0x11151115, 0x11150913, 0x19571959, 0x19591999, 0x1999219B, 0x29DB21DB, 0x219B219B, 0x219B219B, 0x21991999, 0x11151115, 0x11571959, 0x19571157, 0x19571999, 0x21992199, 0x19571157, 0x11151115, 0x11151115, 0x11150913, 0x19591959, 0x19991999, 0x219921DB, 0x2A1D29DB, 0x21DB21DB, 0x21DB21DB, 0x219B219B, 0x11171115, 0x11571959, 0x19591957, 0x19591999, 0x21992199, 0x19591157, 0x11151115, 0x11151115, 0x11150913, 0x19991999, 0x2199219B, 0x219B21DB, 0x21DB21DB, 0x21DB21DB, 0x21DB21DB, 0x219B219B, 0x11171117, 0x11571959, 0x19591157, 0x11571117, 0x11571117, 0x11171117, 0x11151115, 0x11151115, 0x11151115, 0x19571959, 0x19991999, 0x21992199, 0x21992199, 0x21992199, 0x21992199, 0x21991999, 0x11171117, 0x19571999, 0x19591959, 0x19571157, 0x11571117, 0x11171117, 0x11151115, 0x11151115, 0x11151115, 0x219B219B, 0x21DB21DB, 0x29DD29DD, 0x2A1D2A1D, 0x2A1D2A1D, 0x2A1D29DD, 0x29DD29DB, 0x11571117, 0x19592199, 0x19991959, 0x19571157, 0x11571157, 0x11151115, 0x11151115, 0x11151115, 0x11151115, 0x219B21DB, 0x29DB29DD, 0x2A1D2A1D, 0x321D321D, 0x321D321D, 0x321D2A1D, 0x2A1D29DD, 0x11571157, 0x19592199, 0x19991999, 0x19591957, 0x11571157, 0x11171117, 0x11171115, 0x11151115, 0x11151115, 0x21DB29DB, 0x29DD2A1D, 0x321D321F, 0x325F325F, 0x325F325F, 0x321F321F, 0x321D2A1D, 0x11571157, 0x1959219B, 0x21991999, 0x19591957, 0x11571157, 0x11571117, 0x11171115, 0x11151115, 0x11151115, 0x219921DB, 0x29DB29DB, 0x29DB2A1B, 0x321B321B, 0x321D3A5F, 0x325F325F, 0x321F321F, 0x19571157, 0x199921DB, 0x219B1999, 0x19591959, 0x11571117, 0x11151115, 0x11151115, 0x11151115, 0x11151113, 0x19551955, 0x19551955, 0x19551955, 0x19551955, 0x21973A5F, 0x3A5F3A5F, 0x325F321F, 0x19571157, 0x199921DB, 0x219B2199, 0x19991959, 0x11151113, 0x11131113, 0x11131113, 0x11131115, 0x11151113, 0x29DD2A1D, 0x321F325F, 0x3A5F3A5F, 0x3A9F3A9F, 0x3A9F3A9F, 0x3A9F3A5F, 0x3A5F325F, 0x19571157, 0x199921DB, 0x219B2199, 0x19991959, 0x19571157, 0x11571117, 0x11171117, 0x11151115, 0x11151115, 0x2A1D321F, 0x325F3A5F, 0x3A5F3A9F, 0x3A9F429F, 0x429F429F, 0x3A9F3A9F, 0x3A5F325F, 0x19571157, 0x199929DB, 0x21DB219B, 0x19991959, 0x19571157, 0x11571117, 0x11171117, 0x11151115, 0x11151115, 0x2A1D321F, 0x325F3A5F, 0x3A9F3A9F, 0x429F429F, 0x429F429F, 0x429F3A9F, 0x3A5F3A5F, 0x19571157, 0x199929DB, 0x21DB219B, 0x19991959, 0x19591157, 0x11571117, 0x11171117, 0x11151115, 0x11151115, 0x21DB29DB, 0x29DB2A1B, 0x321B321B, 0x321B321B, 0x321B321B, 0x321B321B, 0x2A1B29DB, 0x19571157, 0x219929DB, 0x21DB219B, 0x19991959, 0x19591157, 0x11571117, 0x11171117, 0x11171115, 0x11151115, 0x321D325F, 0x3A5F3A9F, 0x3A9F429F, 0x429F429F, 0x429F429F, 0x429F3A9F, 0x3A9F3A5F, 0x19571157, 0x219929DB, 0x21DB219B, 0x19991959, 0x19591157, 0x11571117, 0x11171117, 0x11171115, 0x11151115, 0x09131115, 0x11151115, 0x11151115, 0x11151115, 0x11171117, 0x11171117, 0x11571157, 0x11571117, 0x11151115, 0x19591959, 0x19591959, 0x19591959, 0x19591959, 0x19591957, 0x19571157, 0x11571157, 0x09131115, 0x11151115, 0x11151115, 0x11151117, 0x11171117, 0x11171157, 0x11571157, 0x19571157, 0x11151115, 0x19571957, 0x19571999, 0x19991999, 0x19991999, 0x19591959, 0x19591957, 0x19571157, 0x09131115, 0x11151115, 0x11151115, 0x11171117, 0x11171117, 0x11571157, 0x11571957, 0x19591157, 0x11151115, 0x19992199, 0x219B219B, 0x219B219B, 0x21991999, 0x19991999, 0x19991959, 0x19591957, 0x09131115, 0x11151115, 0x11151115, 0x11171117, 0x11171117, 0x11571157, 0x19571959, 0x19591157, 0x11151117, 0x219B219B, 0x21DB21DB, 0x21DB21DB, 0x219B219B, 0x219B2199, 0x19991999, 0x19591959, 0x11151115, 0x11151115, 0x11151115, 0x11171117, 0x11171157, 0x11171157, 0x11571959, 0x19591157, 0x11171117, 0x219B219B, 0x21DB21DB, 0x21DB21DB, 0x21DB21DB, 0x21DB219B, 0x219B2199, 0x19991999, 0x11151115, 0x11151115, 0x11151115, 0x11171117, 0x11171157, 0x11571957, 0x19591959, 0x19991957, 0x11171117, 0x19992199, 0x21992199, 0x21992199, 0x21992199, 0x21992199, 0x19991999, 0x19591957, 0x11151115, 0x11151115, 0x11151115, 0x11151115, 0x11571157, 0x11571957, 0x19591999, 0x21991959, 0x11171157, 0x29DB29DD, 0x29DD2A1D, 0x2A1D2A1D, 0x2A1D2A1D, 0x29DD29DD, 0x21DB21DB, 0x219B219B, 0x11151115, 0x11151115, 0x11151117, 0x11171117, 0x11571157, 0x19571959, 0x19991999, 0x21991959, 0x11571157, 0x29DD2A1D, 0x2A1D321D, 0x321D321D, 0x321D321D, 0x2A1D2A1D, 0x29DD29DB, 0x21DB219B, 0x11151115, 0x11151115, 0x11151117, 0x11171157, 0x11571157, 0x19571959, 0x19992199, 0x219B1959, 0x11571157, 0x2A1D321D, 0x321F321F, 0x325F325F, 0x325F325F, 0x321F321D, 0x2A1D29DD, 0x29DB21DB, 0x11131115, 0x11151115, 0x11151115, 0x11151115, 0x11171157, 0x19591959, 0x1999219B, 0x21DB1999, 0x11571957, 0x321F321F, 0x325F325F, 0x3A5F321D, 0x321B321B, 0x2A1B29DB, 0x29DB29DB, 0x21DB2199, 0x11131115, 0x11151113, 0x11131113, 0x11131113, 0x11131115, 0x19591999, 0x2199219B, 0x21DB1999, 0x11571957, 0x321F325F, 0x3A5F3A5F, 0x3A5F2197, 0x19551955, 0x19551955, 0x19551955, 0x19551955, 0x11151115, 0x11151115, 0x11171117, 0x11171157, 0x11571957, 0x19591999, 0x2199219B, 0x21DB1999, 0x11571957, 0x325F3A5F, 0x3A5F3A9F, 0x3A9F3A9F, 0x3A9F3A9F, 0x3A5F3A5F, 0x325F321F, 0x2A1D29DD, 0x11151115, 0x11151115, 0x11171117, 0x11171157, 0x11571957, 0x19591999, 0x219B21DB, 0x29DB1999, 0x11571957, 0x325F3A5F, 0x3A9F3A9F, 0x429F429F, 0x429F3A9F, 0x3A9F3A5F, 0x3A5F325F, 0x321F2A1D, 0x11151115, 0x11151115, 0x11171117, 0x11171157, 0x11571959, 0x19591999, 0x219B21DB, 0x29DB1999, 0x11571957, 0x3A5F3A5F, 0x3A9F429F, 0x429F429F, 0x429F429F, 0x3A9F3A9F, 0x3A5F325F, 0x321F2A1D, 0x11151115, 0x11151117, 0x11171117, 0x11171157, 0x11571959, 0x19591999, 0x219B21DB, 0x29DB2199, 0x11571957, 0x29DB2A1B, 0x321B321B, 0x321B321B, 0x321B321B, 0x321B321B, 0x2A1B29DB, 0x29DB21DB, 0x11151115, 0x11151117, 0x11171117, 0x11171157, 0x11571959, 0x19591999, 0x219B21DB, 0x29DB2199, 0x11571957, 0x3A5F3A9F, 0x3A9F429F, 0x429F429F, 0x429F429F, 0x429F3A9F, 0x3A9F3A5F, 0x325F321D -glabel D_809D9138 - .word 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF7B9F7B9, 0xF7B9F7B9, 0xF7B9F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F7B9, 0xEF35EEB1, 0xE6B1EEF3, 0xF7B9F7FB, 0xF7B9F7B9, 0xF7B9F7B9, 0xF7B9F7FB, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F7B9, 0xEF35EEB1, 0xE6B1EEF3, 0xF7B9F7FB, 0xF7B9F7B9, 0xF7B9F7B9, 0xF7B9F7FB, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF7B9E62F, 0xB909B043, 0xB043B085, 0xC293D4A1, 0xE62DEF35, 0xF7B9F7B9, 0xEEB1CB9B, 0xF7B9F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF7B9B085, 0xA801A801, 0xA801A801, 0xA801A801, 0xB003B0C7, 0xCAD5C295, 0xB085B001, 0xF7F9F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F7B7, 0xD41FA801, 0xB001B001, 0xB001B001, 0xB001B001, 0xA801A801, 0xA801A801, 0xA801D3DD, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F7B9, 0xB909B001, 0xB001B001, 0xB001B001, 0xB001B001, 0xB001B001, 0xB001B001, 0xA801EF35, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F7B9, 0xB001B001, 0xB001B001, 0xB001B001, 0xB001B001, 0xB001B001, 0xB001B001, 0xB085F7FB, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F7F9, 0xB001B001, 0xB001B001, 0xB001B001, 0xB001B001, 0xB001B001, 0xB001A801, 0xE5EDF777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F7B9, 0xB043B001, 0xB001B001, 0xB001B001, 0xB001A801, 0xB001A801, 0xA801CB9B, 0xF7F9F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F7B9, 0xB98DB001, 0xB001B001, 0xB001A801, 0xA801B043, 0xB001B9CD, 0xD41FF7FB, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF7B9F777, 0xDDA9A801, 0xB001B001, 0xB001B043, 0xD4A3E62F, 0xDD69F777, 0xF7FBF777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F7B9, 0xE5EBF777, 0xF7FBA801, 0xB001B001, 0xA801E62D, 0xF7FBF7B9, 0xF7FBF7B9, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F7FB, 0xB085F7B9, 0xF7B9B949, 0xB001B001, 0xCB9BF7F9, 0xF777F777, 0xF777F777, 0xF777F7B9, 0xF7B9F7B9, 0xF7B9F7B9, 0xF7B9F7B9, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF7B9F7FF, 0xA801F7B9, 0xF777CB17, 0xB001A801, 0xEEF3F777, 0xF777F777, 0xF777F777, 0xF7B9F7B9, 0xEEF3EEF3, 0xEF77F777, 0xF7B9E5ED, 0xF7B9F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF7B9DCA3, 0xA801EEB1, 0xF7FBE62F, 0xB001A801, 0xEEB1F7B9, 0xF7B9F7B9, 0xF7B9F7FB, 0xE66FC2D5, 0xB8C7B0C7, 0xB98DC1CF, 0xC251B9CD, 0xF7B9F777, 0xF777F777, 0xF777F777, 0xF777F7B7, 0xF7B9F7FB, 0xC251A801, 0xB001C1CF, 0xDD69EEF3, 0xA801B001, 0xC211E671, 0xEF35EF35, 0xE671D3DD, 0xB043A801, 0xA801A801, 0xA801A801, 0xA801E66F, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777EF77, 0xE62DD4A1, 0xA801B001, 0xB001A801, 0xB001B085, 0xB001B001, 0xA801B043, 0xB909B909, 0xB043A801, 0xA801B001, 0xB001B001, 0xB001A801, 0xC293F7FB, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777EEF5, 0xA801A801, 0xB001B001, 0xB001B001, 0xB001A801, 0xB001B001, 0xB001A801, 0xA801A801, 0xA801B001, 0xA801A801, 0xA801A801, 0xA801B94B, 0xF7B9F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F7B9, 0xB9CFA801, 0xA801A801, 0xA801A801, 0xB001B001, 0xB001B001, 0xB001B001, 0xB001B001, 0xB001D41F, 0xCB17B907, 0xB043B043, 0xC293EF77, 0xF7B9F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF7B9D4A1, 0xC251B085, 0xB085B083, 0xA801B001, 0xB001B001, 0xB001B001, 0xB001B001, 0xB001D4A3, 0xF7FBEEF3, 0xE62DE66F, 0xF7B9F7B9, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF7B9F7FB, 0xF7B9E6B1, 0xEEF3EEF3, 0xB085B001, 0xB001B001, 0xB001B001, 0xB001B001, 0xB001B949, 0xF7B9F7B9, 0xF7B9F7B9, 0xF7B9F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF7B9F7B9, 0xF7B9F7B9, 0xE5EBA801, 0xA801A801, 0xA801B043, 0xB001B001, 0xB001B043, 0xF7B9F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF7FBB043, 0xB085C251, 0xDD27C253, 0xB001B001, 0xA801B98D, 0xF7B9F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFF777, 0xF7B9CB19, 0xB98DF7B9, 0xF7FBCB59, 0xB001B001, 0xB98BE66F, 0xF777F777, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xB5A9B5A9, 0xB5A9B5A9, 0xB5A9B5A9, 0xB5A9B5A9, 0xB5A9F777, 0xF777E62D, 0xB909F7B9, 0xF777EEB1, 0xA801A801, 0xF7B9F7B9, 0xF777F777, 0xB5A9B5A9, 0xB5A9B5A9, 0xB5A9B5A9, 0xB5A9B5A9, 0xB5A9B5A9, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777EEF3, 0xB043F7FB, 0xF777F7F9, 0xB9CDA801, 0xEF77F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777EF35, 0xA801E62D, 0xF777F777, 0xEF37A801, 0xCB9BF7B9, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F7F9, 0xB043B0C7, 0xF7B9F7FB, 0xEEB1A801, 0xD39BF7B9, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F7B9, 0xE62DC20F, 0xF7B9CB9B, 0xB085B043, 0xEF77F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF7B9EF77, 0xF7B9A001, 0xA801E5AB, 0xF7B9F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F7B9, 0xF7B9F7B9, 0xF7B9F7B9, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777, 0xF777F777 -glabel D_809D9938 - .word 0xFD100000 -.word D_809D9A08 -.word 0xF5100000, 0x07090240, 0xE6000000, 0x00000000, 0xF3000000, 0x070FF200, 0xE7000000, 0x00000000, 0xF5100800, 0x00090240, 0xF2000000, 0x0003C03C, 0xFC1197FF, 0xFFFFFE38, 0x0100600C -.word D_809D99A8 -.word 0x06000204, 0x00020006, 0x06020804, 0x00080206, 0x06080A04, 0x000A0806, 0x060A0004, 0x00000A06, 0xDF000000, 0x00000000 -glabel D_809D99A8 - .word 0x00050000, 0x00220000, 0x01F80181, 0xFFFFFFFF, 0x0000FFFD, 0x00220000, 0x01000181, 0xFFFFFFFF, 0x00000000, 0xFFE50000, 0x01000010, 0xFFFFFFFF, 0x00000000, 0x00370000, 0x01000201, 0xFFFFFFFF, 0xFFFB0000, 0x00220000, 0x00080181, 0xFFFFFFFF, 0x00000003, 0x00220000, 0x01000181, 0xFFFFFFFF -glabel D_809D9A08 - .word 0x03410341, 0x03410341, 0x03410341, 0x03410341, 0x03410341, 0x03410341, 0x03410341, 0x03410341, 0x05010501, 0x05010501, 0x05010501, 0x05010501, 0x05010501, 0x05010501, 0x05010501, 0x05010501, 0x06810681, 0x06810681, 0x06810681, 0x06810681, 0x06810681, 0x06810681, 0x06810681, 0x06810681, 0x07410741, 0x07410741, 0x07410741, 0x07410741, 0x07410741, 0x07410741, 0x07410741, 0x07410741, 0x07C107C1, 0x07C107C1, 0x07C107C1, 0x07C107C1, 0x07C107C1, 0x07C107C1, 0x07C107C1, 0x07C107C1, 0x17C517C5, 0x17C517C5, 0x17C517C5, 0x17C517C5, 0x17C517C5, 0x17C517C5, 0x17C517C5, 0x17C517C5, 0x1FC71FC7, 0x1FC71FC7, 0x1FC71FC7, 0x1FC71FC7, 0x1FC71FC7, 0x1FC71FC7, 0x1FC71FC7, 0x1FC71FC7, 0x27C927C9, 0x27C927C9, 0x27C927C9, 0x27C927C9, 0x27C927C9, 0x27C927C9, 0x27C927C9, 0x27C927C9, 0x37CD37CD, 0x37CD37CD, 0x37CD37CD, 0x37CD37CD, 0x37CD37CD, 0x37CD37CD, 0x37CD37CD, 0x37CD37CD, 0x47D147D1, 0x47D147D1, 0x47D147D1, 0x47D147D1, 0x47D147D1, 0x47D147D1, 0x47D147D1, 0x47D147D1, 0x67D967D9, 0x67D967D9, 0x67D967D9, 0x67D967D9, 0x67D967D9, 0x67D967D9, 0x67D967D9, 0x67D967D9, 0x97E597E5, 0x97E597E5, 0x97E597E5, 0x97E597E5, 0x97E597E5, 0x97E597E5, 0x97E597E5, 0x97E597E5, 0xCFF3CFF3, 0xCFF3CFF3, 0xCFF3CFF3, 0xCFF3CFF3, 0xCFF3CFF3, 0xCFF3CFF3, 0xCFF3CFF3, 0xCFF3CFF3, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF -glabel D_809D9C08 - .word 0x0000003C, 0x00000000, 0x0100FF00, 0xFFFFFFFF, 0xFFCEFFE2, 0x00000000, 0xFF550200, 0xFFFFFFFF, 0x0032FFE2, 0x00000000, 0x02AB0200, 0xFFFFFFFF -glabel D_809D9C38 - .word 0xE7000000, 0x00000000, 0xE3001001, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xFD900000 -.word D_809D9CB8 -.word 0xF5900000, 0x070D0340, 0xE6000000, 0x00000000, 0xF3000000, 0x0707F400, 0xE7000000, 0x00000000, 0xF5880400, 0x000D0340, 0xF2000000, 0x0003C03C, 0xFC30B3FF, 0x5FFEDA38, 0xE200001C, 0x0C184B50, 0xD9F0FBFF, 0x00000000, 0x01003006 -.word D_809D9C08 -.word 0x05000204, 0x00000000, 0xDF000000, 0x00000000 -glabel D_809D9CB8 - .word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000E, 0x243D453A, 0x19040100, 0x00000000, 0x0000001E, 0x4B7B776E, 0x4F310109, 0x04000000, 0x00000930, 0x719ECBC6, 0x8868452D, 0x14000000, 0x00031545, 0xAEDAF4F2, 0xC0A8805B, 0x2F0D0000, 0x00082769, 0xD2F6FEFC, 0xF2E8BB8C, 0x4B200800, 0x000A35B3, 0xF5FEFFFF, 0xFEFAD9A7, 0x66250A00, 0x00093BBB, 0xFAFFFFFF, 0xFFFFF2B4, 0x6F330A00, 0x000833B5, 0xF5FEFFFF, 0xFFFDECAE, 0x6E370B00, 0x000B32AB, 0xEEFCFFFF, 0xFFF2D3A4, 0x752D0C00, 0x000D2E75, 0xC0F2FEFC, 0xF9ECC192, 0x5C2B0C00, 0x000C2A65, 0xB0E8EDE7, 0xF1E3A778, 0x4D210900, 0x00001A3E, 0x6B8393A6, 0xC9C37C55, 0x2B0E0000, 0x0000011F, 0x35465464, 0x6A644C29, 0x12000000, 0x00000000, 0x00012029, 0x2E2C2218, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 -glabel D_809D9DB8 - .word 0x00000000, 0x00000000, 0x00000800, 0x18001840, 0x30404080, 0x28403080, 0x18400000, 0x00000000, 0x00000000, 0x00001000, 0x20402840, 0x28403841, 0x48814080, 0x28402040, 0x28400800, 0x00000000, 0x00001000, 0x28402840, 0x28403041, 0x20413881, 0x60C13841, 0x28412840, 0x28401840, 0x00000000, 0x10001000, 0x28404080, 0x30412041, 0x40813841, 0x30415881, 0x18411841, 0x38803080, 0x10000000, 0x18401000, 0x18405081, 0x28411841, 0x40813881, 0x48813881, 0x30814081, 0x28413080, 0x20400800, 0x18401000, 0x20415081, 0x204158C1, 0x58C12841, 0x58C140C1, 0x40C12881, 0x28812881, 0x28801840, 0x10401000, 0x08011001, 0x104170C1, 0x58C18901, 0x304138C1, 0x40C138C1, 0x20413081, 0x30801840, 0x10400801, 0x08010801, 0x18412881, 0x40C12881, 0x510191C1, 0x81C17981, 0x61415901, 0x514020C0, 0x10000801, 0x20412041, 0x308148C1, 0x38C17181, 0x61413081, 0x204140C1, 0x28814981, 0x310130C0, 0x20402881, 0x38C138C1, 0x48C148C1, 0x30817981, 0x208120C1, 0x28817181, 0x51013101, 0x18812080, 0x30803081, 0x38C13081, 0x49016941, 0x51015101, 0x40C14141, 0x49013081, 0x20813901, 0x30C11840, 0x30802041, 0x18413081, 0x59412081, 0x20812881, 0x28C15A01, 0x30C12881, 0x30C13901, 0x41012080, 0x288040C0, 0x28817181, 0x49814141, 0x10413081, 0x39414181, 0x49853901, 0x41033901, 0x390038C0, 0x49005140, 0x49015181, 0x61C17243, 0x62475141, 0x488161C5, 0x49834943, 0x31033902, 0x30C02080, 0x40C040C0, 0x51405101, 0x514159C3, 0x628D5142, 0x514148C3, 0x30C14142, 0x414230C0, 0x28C01840, 0x20803080, 0x49005140, 0x59C259C4, 0x5A064902, 0x514040C2, 0x38C030C2, 0x414230C2, 0x20801840 -glabel D_809D9FB8 - .word 0x00230000, 0x00140000, 0x02630200, 0x007800FF, 0x00000000, 0xFFD80000, 0x0100FF9A, 0x007800FF, 0xFFDD0000, 0x00140000, 0xFF9D0200, 0x007800FF -glabel D_809D9FE8 - .word 0xE7000000, 0x00000000, 0xE3001001, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xFD100000 -.word D_809D9DB8 -.word 0xF5100000, 0x070D0340, 0xE6000000, 0x00000000, 0xF3000000, 0x070FF200, 0xE7000000, 0x00000000, 0xF5100800, 0x000D0340, 0xF2000000, 0x0003C03C, 0xFC121603, 0xFFFFFFF8, 0xE200001C, 0xC8113078, 0xD9F3FBFF, 0x00000000, 0xD9FFFFFF, 0x00020000, 0xFA000000, 0xFFFFFFFF, 0xDF000000, 0x00000000 -glabel D_809DA068 - .word 0x01003006 -.word D_809D9FB8 -.word 0x05000204, 0x00000000, 0xDF000000, 0x00000000 -glabel D_809DA080 - .word 0x1113468A, 0xBCB98853, 0x22202452, 0x358ADE85, 0x1124579B, 0xCB766653, 0x34511444, 0x4679DE84, 0x422569BC, 0xD8644542, 0x25621454, 0x5569FDA6, 0x43367ADE, 0xC7433331, 0x13511344, 0x457AEC85, 0x43579BEF, 0xB6422210, 0x02211334, 0x568ADB75, 0x4469ADFF, 0xB6322210, 0x01211235, 0x689ADA65, 0x368ACEFF, 0xD8532221, 0x12432346, 0x79ABC954, 0x49ACEFFF, 0xFD864445, 0x67876667, 0x8AACB864, 0x8BCDFFFF, 0xFFEB879B, 0xA9AAAA98, 0x9ABB9788, 0xCDDFFFFF, 0xFFFECAB9, 0x66667AB9, 0x9BC966AA, 0xDDDFFFFF, 0xEFFDDBA7, 0x555668CA, 0xABA869BC, 0xBBDFFFFF, 0xEDECBB96, 0x54788ADB, 0xBCA769CC, 0xABCDEFFF, 0xEDDBAA95, 0x45ABCDDD, 0xDC98889A, 0x8AAABDFF, 0xFECBA995, 0x47B9ACDE, 0xEC888779, 0x9A989ADF, 0xEDBA9896, 0x48A9ACEF, 0xFB878677, 0x9A9878BE, 0xDCBA8888, 0x6ABBBDEF, 0xFB766567, 0x8A87669E, 0xBBBA797A, 0xABDDDEFF, 0xFA643457, 0x7987658C, 0xAAB96979, 0xCBACEFFF, 0xFA632347, 0x6877658C, 0xA9B959AA, 0xC978DFFF, 0xFA632457, 0x6555559C, 0xAABA47AB, 0xA635BFFF, 0xFD843455, 0x432347AC, 0xBBB94356, 0x5214BFFF, 0xFFB75544, 0x44224ACC, 0xBBA74223, 0x21029FFF, 0xFFFC8655, 0x74225CBA, 0xBA853212, 0x11106DFF, 0xFFFFCA98, 0x95228B88, 0x97532212, 0x11312AFF, 0xFFFFFEDC, 0xA965A976, 0x64332113, 0x315405EF, 0xFFCEFFED, 0xCA87B865, 0x53432113, 0x216612DF, 0xFD9BEFED, 0xBA979965, 0x43441211, 0x104630CF, 0xFD77BDDD, 0x87656999, 0x63331441, 0x001340BF, 0xFF86779B, 0x52233569, 0xA52239A6, 0x200031AF, 0xFFB64567, 0x32111236, 0xA7216EFD, 0x6010226F, 0xFFD63354, 0x43212235, 0xA834AFFF, 0x9131325F, 0xFFF72234, 0x33222246, 0xBA89EFFF, 0xB131233D, 0xFFF71133, 0x11254348, 0xCADEFFFF, 0xC1213409, 0xFFF61135, 0x1158645A, 0x9AEDEFFF, 0xD1112306, 0xEFE41134, 0x415A856B, 0x8AEEFFFF, 0xF3111203, 0xADA22234, 0x536BA88C, 0x8AFFFFFF, 0xF3010002, 0x55312135, 0x546BBBCD, 0xABFFFFDE, 0xF6010002, 0x21243235, 0x665ABCED, 0xDDEFFEBD, 0xF6010012, 0x11595245, 0x765ACDEE, 0xFFFFFECE, 0xF4010011, 0x126A8346, 0x8658BCDE, 0xFFFFFFFF, 0xE3010000, 0x12498457, 0x76579BCD, 0xEFFFFFFF, 0x81000121, 0x11268577, 0x77679BCE, 0xEFFFFFFE, 0x61002442, 0x13358687, 0x7879ABDC, 0xBDFFFFFE, 0x73224653, 0x14449777, 0x8889BDEB, 0x9CFFFFFF, 0xDA878753, 0x2445A788, 0x889ACEFA, 0x7AFFFFFF, 0xFFFEB742, 0x2337B888, 0x88ABDFE8, 0x67EFFFFF, 0xFEDCD743, 0x2349B998, 0x89BCDEC6, 0x45CFFFFE, 0xDCCBC633, 0x346AAAA8, 0x7BBA9974, 0x239EFFFF, 0xDCBAB434, 0x57A98BC9, 0x8A976431, 0x125AFFFF, 0xDBAA9335, 0x9B966ACB, 0xC9864210, 0x0138EFFF, 0xDA9A8347, 0xA86569DC, 0xDA653100, 0x0026DFFE, 0xCA8A8448, 0xA74469DE, 0xEA542100, 0x0024CFFE, 0xC98A8457, 0xA8557CEF, 0xDA532000, 0x0125BFFD, 0xB978A656, 0x9A77AEFF, 0xB9641000, 0x0135AEED, 0xA878A866, 0x8B99CFFF, 0xCA642100, 0x1246ACCB, 0xA878A977, 0x9CBADFFF, 0xCA642111, 0x2356ABAA, 0x9888AA87, 0x9CCCFFFF, 0xB8642322, 0x2468AA97, 0x77899B99, 0xADDEFFFF, 0xA6533543, 0x3579B976, 0x66789BAA, 0xCEEFFFFD, 0x74433653, 0x568AC975, 0x44579BCC, 0xDDEFFFEB, 0x42334654, 0x67ABC975, 0x32248AAA, 0xABEFFEC7, 0x52335555, 0x79BCA765, 0x43127A86, 0x68DFEC95, 0x53345556, 0x8ACB9765, 0x44216963, 0x37BFFC85, 0x23445568, 0xACDCA754, 0x43205852, 0x25AEFD73, 0x12345569, 0xBCCCA753, 0x22104631, 0x249DFE84 -glabel D_809DA480 - .word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000010, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001100, 0x00000000, 0x00000010, 0x00001223, 0x20012112, 0x22100000, 0x00001001, 0x22112454, 0x41232135, 0x65100000, 0x00001345, 0x42035677, 0x64465578, 0x87420000, 0x00000476, 0x31147999, 0x768869BB, 0xA8730000, 0x00000476, 0x32147AAA, 0x87998ACC, 0xCA840000, 0x00000587, 0x532479AA, 0xA999ACDE, 0xDA740000, 0x00002588, 0x765568AB, 0xBABBBCDD, 0xB8641000, 0x00002578, 0x999889BB, 0xCBBBBBBA, 0x86531000, 0x00002567, 0x9CCBBCCC, 0xDCBBBCA8, 0x78643200, 0x00013567, 0x9DDCCCDE, 0xDCBBCDCB, 0xA9864310, 0x00004678, 0xBDDCCDFE, 0xEDCDEDCD, 0xCA965430, 0x0002799A, 0xBDDBDEFE, 0xFFEEECCD, 0xBA974420, 0x01149BCA, 0xBEFEDFFF, 0xFFFFECDD, 0xCA975310, 0x0249CDDD, 0xCEFEFFFF, 0xFFFFFFED, 0xC9775310, 0x0379DDEE, 0xEFFFFFFF, 0xFFFFFFDC, 0xB8555300, 0x027BCEFF, 0xFFFFFFFF, 0xFFFFEDCB, 0x97544300, 0x016ABCEF, 0xFFFFFFFF, 0xFFFFFDCA, 0x87553100, 0x01478ADF, 0xFFFFFFFF, 0xFFFFFECB, 0xB9642110, 0x00257ABD, 0xDEFFFFFF, 0xFFFFFECC, 0xDB853100, 0x001369AB, 0xDFFFFFFF, 0xFFFFFEEE, 0xCA853100, 0x000159BC, 0xFFFFFFFF, 0xFFFFFFFE, 0xDA853100, 0x000037AD, 0xFFEFFFFF, 0xFFFFFEDD, 0xDB863000, 0x0000158B, 0xFECEFFFF, 0xFFFFEA9A, 0xA9863000, 0x00001579, 0xCCBCEFFF, 0xFFFDB778, 0x66763000, 0x00000578, 0xA9AACEFF, 0xFEEB7456, 0x55651000, 0x00000256, 0x77879CDE, 0xEDC74322, 0x33320000, 0x00000013, 0x33345689, 0xA9511100, 0x01100000, 0x00000001, 0x00000002, 0x20000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 -glabel D_809DA680 - .word 0xFFE2FFEE, 0x00000000, 0xFE000466, 0xFFFFFFFF, 0x001EFFEE, 0x00000000, 0x06000444, 0xFFFFFFFF, 0x00000021, 0x00000000, 0x0200FD9A, 0xFFFFFFFF -glabel D_809DA6B0 - .word 0xE7000000, 0x00000000, 0xE3001001, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xFD900000 -.word D_809DA080 -.word 0xF5900000, 0x0701BC50, 0xE6000000, 0x00000000, 0xF3000000, 0x071FF400, 0xE7000000, 0x00000000, 0xF5800400, 0x0001BC50, 0xF2000000, 0x0007C0FC, 0xFD900000 -.word D_809DA480 -.word 0xF5900100, 0x07094250, 0xE6000000, 0x00000000, 0xF3000000, 0x070FF400, 0xE7000000, 0x00000000, 0xF5800500, 0x01094250, 0xF2000000, 0x0107C07C, 0xFC161A60, 0xF50D657F, 0xE200001C, 0x0C184B50, 0xD9F0FFFF, 0x00000000, 0xDF000000, 0x00000000 -glabel D_809DA758 - .word 0xDE000000, 0x08000000, 0x01003006 -.word D_809DA680 -.word 0x05000204, 0x00000000, 0xDF000000, 0x00000000 -glabel D_809DA778 - .word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x02000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x02010000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x01000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x03040200, 0x00000000, 0x00000000, 0x00000001, 0x00000104, 0x01000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x04070401, 0x00000001, 0x00010101, 0x00010102, 0x01000105, 0x01000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000102, 0x04080703, 0x01010101, 0x01030303, 0x03030304, 0x01010305, 0x01000100, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000103, 0x05080A06, 0x03030303, 0x03040404, 0x04040405, 0x03020604, 0x01010100, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000104, 0x05080C0B, 0x06040404, 0x05060606, 0x05060707, 0x05060904, 0x02020200, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000101, 0x01000000, 0x00000000, 0x00000204, 0x07090E11, 0x0A060607, 0x08080908, 0x08080A09, 0x060A0C05, 0x04050301, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00010407, 0x07040200, 0x00010101, 0x01010304, 0x07090E13, 0x100A0809, 0x0B0C0D0B, 0x0B0C0D0C, 0x0A100D07, 0x07070401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0001060C, 0x0F0E0A04, 0x01010303, 0x04030405, 0x080C0F15, 0x17110D0D, 0x0F101110, 0x0F11120F, 0x0E150C09, 0x0A080403, 0x01010000, 0x01010102, 0x01010000, 0x00000000, 0x00000000, 0x00000000, 0x0001040B, 0x1317160F, 0x09040404, 0x05050607, 0x090C1016, 0x1D191412, 0x14171816, 0x15171915, 0x15190F0D, 0x0C080504, 0x03030201, 0x02040404, 0x01000000, 0x00000000, 0x00000000, 0x00000000, 0x00000106, 0x101A201E, 0x170D0805, 0x0708090A, 0x0C0E1318, 0x22241C1A, 0x1A1E1F1D, 0x1C1E201B, 0x201B1513, 0x0F0B0806, 0x05050505, 0x06070704, 0x01000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x08121E27, 0x281F140A, 0x08090B0C, 0x0E11171D, 0x26302823, 0x24282927, 0x26292A26, 0x32211C1A, 0x130E0B08, 0x07070809, 0x0A0A0602, 0x00010203, 0x03010000, 0x00000000, 0x00000000, 0x00000000, 0x0208121F, 0x2C2F281B, 0x100D0F11, 0x12151A22, 0x2B383930, 0x30333635, 0x34383633, 0x3D2A261F, 0x19130F0D, 0x0C0C0E0F, 0x0C080402, 0x03040606, 0x03010000, 0x00000000, 0x00000000, 0x00000000, 0x0002070F, 0x1D2D3734, 0x27181316, 0x191C2028, 0x33404C41, 0x3E424646, 0x45484443, 0x40353126, 0x1F191513, 0x12141411, 0x0A060507, 0x0A0A0804, 0x02000000, 0x00000000, 0x00000000, 0x00000000, 0x00010306, 0x0E1C3140, 0x4133221C, 0x1F25282F, 0x3A495A58, 0x5154595A, 0x595C575D, 0x4C433A2E, 0x26211D1D, 0x1D1D160E, 0x0A0A0C0E, 0x0D090502, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00010304, 0x070D1B2E, 0x44504733, 0x2A2E343A, 0x45556875, 0x6B6B7172, 0x72746D70, 0x5E55473B, 0x312C2A2B, 0x281F1510, 0x1114130E, 0x09050200, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01020304, 0x07090E19, 0x2F4C615D, 0x4A3E4149, 0x5362778E, 0x89868C90, 0x8F918881, 0x75665649, 0x413D3C37, 0x2B1F1A1C, 0x1D18110A, 0x06030100, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01030405, 0x07090C11, 0x1B2F5173, 0x7865575B, 0x667489A1, 0xABA6ABB0, 0xAFB0A99B, 0x8F7B695C, 0x57544B3A, 0x2E2B2B26, 0x1C120A06, 0x03010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01030505, 0x080B0E12, 0x17203356, 0x80948A79, 0x7C8B9EB7, 0xCCCACFD5, 0xD3D1CCBB, 0xA8928278, 0x72655145, 0x423D3020, 0x140D0704, 0x01000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x02040506, 0x080C1014, 0x19202B3C, 0x5D8CB3B0, 0xA2A6B8D0, 0xE9EEF1F6, 0xF5F4F2DF, 0xC5B0A398, 0x856F625D, 0x4D382619, 0x100A0603, 0x01000000, 0x00000000, 0x00000000, 0x00000000, 0x00000101, 0x03040708, 0x090C1117, 0x1D242F3C, 0x4D6B9ACA, 0xDBCFD8E9, 0xFAFDFEFF, 0xFEFEFEF6, 0xE3D4C7B0, 0x9888775E, 0x422E2015, 0x0F090503, 0x01010000, 0x00000000, 0x00000000, 0x00000000, 0x01010304, 0x05060809, 0x0C0F1319, 0x20293442, 0x526783AE, 0xE0F5FAFC, 0xFFFFFFFF, 0xFFFFFFFF, 0xFBF5E1CA, 0xB3926F52, 0x3A2A1E15, 0x0F0A0604, 0x03010000, 0x00000000, 0x00000000, 0x00000001, 0x03040507, 0x08080B0C, 0x0F12161C, 0x232D3A48, 0x5B708AA8, 0xD0F7FFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFF7D9, 0xAF88684F, 0x3C2C2118, 0x110C0805, 0x04010100, 0x00000000, 0x00000000, 0x00000001, 0x03040708, 0x0A0B0D10, 0x14181D24, 0x2C364250, 0x647A95B3, 0xD5F6FEFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFF7D2, 0xA9886C55, 0x4131251C, 0x15100C09, 0x07050403, 0x01010000, 0x00000000, 0x00000001, 0x03040608, 0x0A0C0F12, 0x161B222A, 0x33404E5F, 0x7389A3C1, 0xE3FBFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFF8D8, 0xB4937760, 0x4C3C3027, 0x1E18130F, 0x0C0A0806, 0x04030201, 0x00000000, 0x00000000, 0x01030405, 0x08090D10, 0x14192029, 0x33405064, 0x7A94B3D3, 0xF3FEFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFCE8, 0xC7A88B72, 0x5C4A3B2F, 0x241C1510, 0x0C090705, 0x03010100, 0x00000000, 0x00000001, 0x02030405, 0x080A0D10, 0x14191F28, 0x323E4E61, 0x7892B1D2, 0xF2FEFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFCE8, 0xC5A28469, 0x52403125, 0x1B140E0A, 0x07040302, 0x01000000, 0x00000000, 0x00000103, 0x0407080A, 0x0E101417, 0x1C222931, 0x3C49596C, 0x819AB6D5, 0xF2FEFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFDE8, 0xC6A4866B, 0x55423327, 0x1C150E0B, 0x08050301, 0x00000000, 0x00000000, 0x00000205, 0x06080A0C, 0x0F121417, 0x1A1F242B, 0x333D4A5A, 0x6D85A1C1, 0xE3FBFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFF6D8, 0xB5967C64, 0x51403227, 0x1D16100C, 0x09060403, 0x01000000, 0x00000000, 0x00000103, 0x04050708, 0x090B0C0E, 0x11141921, 0x28323E4E, 0x627A96B7, 0xDEFBFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFDEDCA, 0xA6876D56, 0x43352920, 0x19130E0B, 0x08050403, 0x01000000, 0x00000000, 0x00000001, 0x01030304, 0x0507080A, 0x0C10151B, 0x222D3A49, 0x5D7798BF, 0xE4FBFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFCEAC1, 0x9A7D644E, 0x3B2D2119, 0x120D0906, 0x05040201, 0x00000000, 0x00000000, 0x00000000, 0x00010102, 0x03050708, 0x0B0E1319, 0x202B384A, 0x6180A3C0, 0xD4EAF7FC, 0xFFFFFFFF, 0xFFFFFFFF, 0xFBF9EFD2, 0x9E755A46, 0x35281D15, 0x0F0A0604, 0x03020000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x03040708, 0x0A0C1118, 0x212D3C52, 0x6E8694A7, 0xC4D5DAE8, 0xFAFFFFFE, 0xFFFDFEF8, 0xE3D0C8D5, 0xBE87593F, 0x2F231A13, 0x0D090503, 0x01010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x02040507, 0x0A0D131B, 0x2635485B, 0x666D7E9A, 0xABADB7CD, 0xEEF7F7F6, 0xF7F1EEE3, 0xC7B09EA1, 0xAEA27347, 0x2D1F1610, 0x0B080503, 0x01000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01030508, 0x0C101722, 0x303E4849, 0x4E627A84, 0x838A9BB6, 0xE2D7D6D4, 0xD5CECACA, 0xAF958274, 0x75848565, 0x3C22150E, 0x09070403, 0x01000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x0304070A, 0x0E16202C, 0x3434333B, 0x4D606461, 0x657285A5, 0xD3B0B0AF, 0xB1AAA5AD, 0x997F6B5D, 0x514F616B, 0x5A371D0F, 0x08050301, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x03060A0E, 0x161E2527, 0x25242C3E, 0x4B4C4749, 0x525E7299, 0xB390908F, 0x908A8387, 0x846E584A, 0x40363646, 0x554D341C, 0x0C050201, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000103, 0x060A1016, 0x1C1D1B17, 0x1A24333B, 0x39333339, 0x4350699A, 0x8D737472, 0x736E6767, 0x6E5E4C3D, 0x322B2424, 0x32424331, 0x1A0B0401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000206, 0x0B0F1517, 0x15121013, 0x1D292E2A, 0x2423282F, 0x37456790, 0x665A5A59, 0x5A58514F, 0x56504032, 0x27211D18, 0x17233135, 0x2B1A0B03, 0x01000000, 0x00000000, 0x00000000, 0x00000000, 0x00010409, 0x0F11110E, 0x0B0C0F18, 0x2123201A, 0x171B1F26, 0x2E3F6975, 0x4A474645, 0x46443E3C, 0x3F433529, 0x20191512, 0x0E0F1824, 0x2B26190C, 0x04010000, 0x00000000, 0x00000000, 0x00000000, 0x0003070A, 0x0C0B0907, 0x080E151B, 0x1C171311, 0x1115191E, 0x27406A53, 0x36393534, 0x3534302D, 0x2E352D23, 0x1B140F0D, 0x0B09090F, 0x1B212017, 0x0C040100, 0x00000000, 0x00000000, 0x00000000, 0x01030606, 0x06050506, 0x0C121615, 0x120D0B0B, 0x0D111519, 0x24445C36, 0x282D2827, 0x28282422, 0x2127271D, 0x15100B09, 0x08070505, 0x0A121A1A, 0x150C0501, 0x00000000, 0x00000000, 0x00000000, 0x00010201, 0x01020409, 0x0F12110D, 0x0A080809, 0x0C0D1116, 0x26494422, 0x1E221D1D, 0x1E1E1A18, 0x171B2119, 0x120D0906, 0x05050402, 0x02060D13, 0x15110B04, 0x01000000, 0x00000000, 0x00000000, 0x00000000, 0x0003080D, 0x0E0C0A07, 0x05050507, 0x090A0E16, 0x2E482A15, 0x181A1615, 0x17171411, 0x10121A17, 0x100B0704, 0x03030301, 0x00010308, 0x0D0F0D07, 0x02000000, 0x00000000, 0x00000000, 0x00000000, 0x0105080A, 0x09070503, 0x03030405, 0x06080D19, 0x353E180E, 0x1212100F, 0x10110F0D, 0x0C0C1114, 0x0E090603, 0x01010000, 0x00000001, 0x04080A08, 0x04010000, 0x00000000, 0x00000000, 0x00000000, 0x02050605, 0x04030101, 0x01010304, 0x05070D1E, 0x392D0E0B, 0x0E0D0B0B, 0x0C0D0B09, 0x08080A11, 0x0D080503, 0x01000000, 0x00000000, 0x01020405, 0x03010000, 0x00000000, 0x00000000, 0x00000000, 0x01020302, 0x01000000, 0x00000103, 0x04070E23, 0x341B0809, 0x0B090808, 0x08090705, 0x0505060C, 0x0C070503, 0x00000000, 0x00000000, 0x00000101, 0x01000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x03071227, 0x280F0608, 0x09070605, 0x06070504, 0x03030407, 0x0A070401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x03091827, 0x19070407, 0x07050404, 0x04050403, 0x01010104, 0x07070301, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x030B1D23, 0x0D020204, 0x04030303, 0x03040301, 0x00000001, 0x04060301, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x040F1E1C, 0x07010103, 0x02010001, 0x01010100, 0x00000000, 0x02040300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x06121B11, 0x03000001, 0x01000000, 0x00000000, 0x00000000, 0x00010100, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x08131409, 0x01000001, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x08110D03, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x080D0601, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x06080200, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x02020000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 -glabel D_809DB778 - .word 0xFFEFFFEF, 0x00000000, 0x00000800, 0xFFFFFFFF, 0x0011FFEF, 0x00000000, 0x08000800, 0xFFFFFFFF, 0x00110011, 0x00000000, 0x08000000, 0xFFFFFFFF, 0xFFEF0011, 0x00000000, 0x00000000, 0xFFFFFFFF -glabel D_809DB7B8 - .word 0xE7000000, 0x00000000, 0xE3001001, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xFD900000 -.word D_809DA778 -.word 0xF5900000, 0x07098260, 0xE6000000, 0x00000000, 0xF3000000, 0x077FF100, 0xE7000000, 0x00000000, 0xF5881000, 0x00098260, 0xF2000000, 0x000FC0FC, 0xFC3097FF, 0x5FFEFE38, 0xE200001C, 0x0C184B50, 0xD9F0FBFF, 0x00000000, 0x01004008 -.word D_809DB778 -.word 0x06000204, 0x00000406, 0xDF000000, 0x00000000 -glabel D_809DB838 - .word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000111, 0x11100000, 0x00000000, 0x00000000, 0x00111222, 0x22211100, 0x00000000, 0x00000000, 0x11223444, 0x44432211, 0x00000000, 0x00000001, 0x22345566, 0x66554322, 0x10000000, 0x00000012, 0x34566778, 0x87766543, 0x21000000, 0x00000123, 0x45678999, 0x99987654, 0x32100000, 0x00001234, 0x6789AABB, 0xBBAA9876, 0x43210000, 0x00001345, 0x789BBCDD, 0xDDCBB987, 0x54310000, 0x00012356, 0x89BCDEEE, 0xEEEDCB98, 0x65321000, 0x00013467, 0x9BCDEFFF, 0xFFFEDCB9, 0x76431000, 0x00023568, 0xABDEFFFF, 0xFFFFEDBA, 0x86532000, 0x00124579, 0xBCEFFFFF, 0xFFFFFECB, 0x97542100, 0x00124679, 0xBDEFFFFF, 0xFFFFFEDB, 0x97642100, 0x00134689, 0xBDEFFFFF, 0xFFFFFEDB, 0x98643100, 0x00134689, 0xBDEFFFFF, 0xFFFFFEDB, 0x98643100, 0x00124679, 0xBDEFFFFF, 0xFFFFFEDB, 0x97642100, 0x00124579, 0xBCEFFFFF, 0xFFFFFECB, 0x97542100, 0x00023568, 0xACDEFFFF, 0xFFFFEDCA, 0x86532000, 0x00012467, 0x9BCDEFFF, 0xFFFEDCB9, 0x76421000, 0x00012356, 0x89BCDEEE, 0xEEEDCB98, 0x65321000, 0x00001345, 0x789BBCDD, 0xDDCBB987, 0x54310000, 0x00001234, 0x6789ABBB, 0xBBBA9876, 0x43210000, 0x00000123, 0x45678999, 0x99987654, 0x32100000, 0x00000012, 0x34566778, 0x87766543, 0x21000000, 0x00000001, 0x23345566, 0x66554332, 0x10000000, 0x00000000, 0x11233444, 0x44433211, 0x00000000, 0x00000000, 0x00112223, 0x32221100, 0x00000000, 0x00000000, 0x00000111, 0x11100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 -glabel D_809DBA38 - .word 0xFFEC0000, 0x000A0000, 0xFE000400, 0xFFFFFFFF, 0x00140000, 0x000A0000, 0x06000400, 0xFFFFFFFF, 0x00000000, 0xFFE40000, 0x0200FC66, 0xFFFFFFFF -glabel D_809DBA68 - .word 0xE7000000, 0x00000000, 0xE3001001, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xFD900000 -.word D_809DB838 -.word 0xF5900000, 0x07094250, 0xE6000000, 0x00000000, 0xF3000000, 0x070FF400, 0xE7000000, 0x00000000, 0xF5800400, 0x00094250, 0xF2000000, 0x0007C07C, 0xFC1197FF, 0xFFFFFE38, 0xE200001C, 0x0C184F50, 0xD9F0FFFF, 0x00000000, 0xD9FFFFFF, 0x00000400, 0x01003006 -.word D_809DBA38 -.word 0x05000204, 0x00000000, 0xDF000000, 0x00000000 -glabel D_809DBAF0 - .word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001050, 0x50100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00003080, 0x80300000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00106090, 0x90601000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x002080A0, 0xA0802000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001000, 0x003090C0, 0xC0903000, 0x00100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00103020, 0x1050A0C0, 0xC0A05010, 0x20301000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x10304040, 0x3060A0D0, 0xD0A06030, 0x40403010, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x20405060, 0x6070B0E0, 0xE0B07060, 0x60504020, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x30407060, 0x6080C0F0, 0xF0C08060, 0x60704030, 0x00000000, 0x00000000, 0x00000000, 0x00000010, 0x30509070, 0x6080C0F0, 0xF0C08060, 0x70905030, 0x10000000, 0x00000000, 0x00000000, 0x00000010, 0x3070B090, 0x7080D0F0, 0xF0D08070, 0x90B07030, 0x10000000, 0x00000000, 0x00000000, 0x00000010, 0x4080C0A0, 0x7090E0F0, 0xF0E09070, 0xA0C08040, 0x10000000, 0x00000000, 0x00000000, 0x00000020, 0x50A0C0A0, 0x80A0F0F0, 0xF0F0A080, 0xA0C0A050, 0x20000000, 0x00000000, 0x00000000, 0x00000030, 0x60B0C0C0, 0x90B0F0F0, 0xF0F0B090, 0xC0C0B060, 0x30000000, 0x00000000, 0x00000000, 0x00001040, 0x70B0D0E0, 0xC0E0F0F0, 0xF0F0E0C0, 0xE0D0B070, 0x40100000, 0x00000000, 0x00000000, 0x00001040, 0x80C0E0E0, 0xE0F0F0F0, 0xF0F0F0E0, 0xE0E0C080, 0x40100000, 0x00000000, 0x00000000, 0x00002040, 0x80C0E0E0, 0xF0F0F0F0, 0xF0F0F0F0, 0xE0E0C080, 0x40200000, 0x00000000, 0x00000000, 0x00104070, 0xA0D0E0F0, 0xF0F0F0F0, 0xF0F0F0F0, 0xF0E0D0A0, 0x70401000, 0x00000000, 0x00000000, 0x10305080, 0xC0E0F0F0, 0xF0F0F0F0, 0xF0F0F0F0, 0xF0F0E0C0, 0x80503010, 0x00000000, 0x00000000, 0x204060B0, 0xE0F0F0F0, 0xF0F0F0F0, 0xF0F0F0F0, 0xF0F0F0E0, 0xB0604020, 0x00000000, 0x00000010, 0x305090E0, 0xF0E0F0F0, 0xF0E0F0F0, 0xF0F0E0F0, 0xF0F0E0F0, 0xE0905030, 0x10000000, 0x00000020, 0x4070C0F0, 0xD0C0E0F0, 0xD0D0E0F0, 0xF0E0D0D0, 0xF0E0C0D0, 0xF0C07040, 0x20000000, 0x00000030, 0x50A0E0D0, 0xB0A0D0E0, 0xC0B0E0E0, 0xE0E0B0C0, 0xE0D0A0B0, 0xD0E0A050, 0x30000000, 0x00001030, 0x70D0E0B0, 0xA0A0D0D0, 0xA090D0E0, 0xE0D090A0, 0xD0D0A0A0, 0xB0E0D070, 0x30100000, 0x00002040, 0xA0E0C080, 0x7090C0C0, 0x8070B0E0, 0xE0B07080, 0xC0C09070, 0x80C0E0A0, 0x40200000, 0x00003070, 0xD0C08050, 0x4070B0B0, 0x705080B0, 0xB0805070, 0xB0B07040, 0x5080C0D0, 0x70300000, 0x001050A0, 0xB0704020, 0x305090A0, 0x60406090, 0x90604060, 0xA0905030, 0x204070B0, 0xA0501000, 0x002070A0, 0x70402000, 0x10407090, 0x50203070, 0x70302050, 0x90704010, 0x00204070, 0xA0702000, 0x00309060, 0x30100000, 0x00206070, 0x40102030, 0x30201040, 0x70602000, 0x00001030, 0x60903000, 0x00406020, 0x10100000, 0x00002040, 0x10001010, 0x10100010, 0x40200000, 0x00001010, 0x20604000, 0x00100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001000 -glabel D_809DBEF0 - .word 0x00000000, 0x00140000, 0x0200FF34, 0x007800FF, 0xFFCE0000, 0xFFA80000, 0xFF800400, 0x007800FF, 0x00320000, 0xFFA80000, 0x04800400, 0x007800FF -glabel D_809DBF20 - .word 0xE7000000, 0x00000000, 0xE3001001, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xFD900000 -.word D_809DBAF0 -.word 0xF5900000, 0x07098260, 0xE6000000, 0x00000000, 0xF3000000, 0x071FF200, 0xE7000000, 0x00000000, 0xF5880800, 0x00098260, 0xF2000000, 0x0007C07C, 0xFC3097FF, 0xFFFFFE38, 0xE200001C, 0x0C184F50, 0xD9F0FBFF, 0x00000000, 0x01003006 -.word D_809DBEF0 -.word 0x05000204, 0x00000000, 0xDF000000, 0x00000000 - diff --git a/data/overlays/actors/z_en_clear_tag.reloc.s b/data/overlays/actors/z_en_clear_tag.reloc.s deleted file mode 100644 index 4771b74676..0000000000 --- a/data/overlays/actors/z_en_clear_tag.reloc.s +++ /dev/null @@ -1,13 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purpose registers - -.section .rodata - -.balign 16 - -glabel D_809DC140 - .incbin "baserom/ovl_En_Clear_Tag", 0x8B90, 0x00000290 diff --git a/include/functions.h b/include/functions.h index f3d41d6cf0..402ad969a0 100644 --- a/include/functions.h +++ b/include/functions.h @@ -889,6 +889,7 @@ DebugDispObject* DebugDisplay_AddObject(f32 posX, f32 posY, f32 posZ, s16 rotX, GraphicsContext* gfxCtx); void DebugDisplay_DrawObjects(GlobalContext* globalCtx); void func_8006450C(GlobalContext* globalCtx, CutsceneContext* csCtx); +void func_80064520(GlobalContext* globalCtx, CutsceneContext* csCtx); void func_80064534(GlobalContext* globalCtx, CutsceneContext* csCtx); void func_80064558(GlobalContext* globalCtx, CutsceneContext* csCtx); void func_800645A0(GlobalContext* globalCtx, CutsceneContext* csCtx); diff --git a/include/z64.h b/include/z64.h index d0bdb41336..8e03847964 100644 --- a/include/z64.h +++ b/include/z64.h @@ -931,7 +931,7 @@ typedef struct GlobalContext { /* 0x11E04 */ s16* setupExitList; /* 0x11E08 */ Path* setupPathList; /* 0x11E0C */ ElfMessage* cUpElfMsgs; - /* 0x11E10 */ char unk_11E10[0x4]; + /* 0x11E10 */ void* specialEffects; /* 0x11E14 */ u8 skyboxId; /* 0x11E15 */ s8 sceneLoadFlag; // "fade_direction" /* 0x11E16 */ s16 unk_11E16; diff --git a/spec b/spec index 716c941d39..9bb78c10e1 100644 --- a/spec +++ b/spec @@ -2014,9 +2014,7 @@ endseg beginseg name "ovl_En_Clear_Tag" include "build/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.o" - include "build/data/overlays/actors/z_en_clear_tag.data.o" - include "build/data/overlays/actors/z_en_clear_tag.bss.o" - include "build/data/overlays/actors/z_en_clear_tag.reloc.o" + include "build/src/overlays/actors/ovl_En_Clear_Tag/ovl_En_Clear_Tag_reloc.o" endseg beginseg diff --git a/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.c b/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.c index abb22e80bc..bb5e55a7ef 100644 --- a/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.c +++ b/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.c @@ -9,7 +9,18 @@ void EnClearTag_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnClearTag_Update(Actor* thisx, GlobalContext* globalCtx); void EnClearTag_Draw(Actor* thisx, GlobalContext* globalCtx); -/* +void EnClearTag_UpdateEffects(GlobalContext* globalCtx); +void EnClearTag_DrawEffects(GlobalContext* globalCtx); + +void EnClearTag_CreateDebrisEffect(GlobalContext* globalCtx, Vec3f* position, Vec3f* velocity, Vec3f* acceleration, + f32 scale, f32 floorHeight); +void EnClearTag_CreateFireEffect(GlobalContext* globalCtx, Vec3f* pos, f32 scale); +void EnClearTag_CreateSmokeEffect(GlobalContext* globalCtx, Vec3f* position, f32 scale); +void EnClearTag_CreateFlashEffect(GlobalContext* globalCtx, Vec3f* position, f32 scale, f32 floorHeight, + Vec3f* floorTangent); + +void EnClearTag_CalculateFloorTangent(EnClearTag* this); + const ActorInit En_Clear_Tag_InitVars = { ACTOR_EN_CLEAR_TAG, ACTORCAT_BOSS, @@ -22,7 +33,31 @@ const ActorInit En_Clear_Tag_InitVars = { (ActorFunc)EnClearTag_Draw, }; -static ColliderCylinderInit D_809D5C6C = { +static u8 sIsEffectsInitialized = false; + +static Vec3f sZeroVector = { 0.0f, 0.0f, 0.0f }; + +static ColliderCylinderInit sArwingCylinderInit = { + { + COLTYPE_HIT3, + AT_ON | AT_TYPE_ENEMY, + AC_ON | AC_TYPE_PLAYER, + OC1_ON | OC1_TYPE_ALL, + OC2_TYPE_1, + COLSHAPE_CYLINDER, + }, + { + ELEMTYPE_UNK0, + { 0xFFCFFFFF, 0x00, 0x04 }, + { 0xFFDFFFFF, 0x00, 0x00 }, + TOUCH_ON | TOUCH_SFX_NORMAL, + BUMP_ON, + OCELEM_ON, + }, + { 15, 30, 10, { 0, 0, 0 } }, +}; + +static ColliderCylinderInit sLaserCylinderInit = { { COLTYPE_METAL, AT_ON | AT_TYPE_ENEMY, @@ -42,44 +77,991 @@ static ColliderCylinderInit D_809D5C6C = { { 15, 30, 10, { 0, 0, 0 } }, }; -static ColliderCylinderInit D_809D5C40 = { - { - COLTYPE_HIT3, - AT_ON | AT_TYPE_ENEMY, - AC_ON | AC_TYPE_PLAYER, - OC1_ON | OC1_TYPE_ALL, - OC2_TYPE_1, - COLSHAPE_CYLINDER, - }, - { - ELEMTYPE_UNK0, - { 0xFFCFFFFF, 0x00, 0x04 }, - { 0xFFDFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, - OCELEM_ON, - }, - { 15, 30, 10, { 0, 0, 0 } }, -}; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D35B0.s") +static UNK_TYPE4 D_809D5C98 = 0; // unused +static UNK_TYPE4 D_809D5C9C = 0; // unused -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D36A8.s") +static EnClearTagEffect sClearTagEffects[CLEAR_TAG_EFFECT_MAX_COUNT]; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D3798.s") +#include "overlays/ovl_En_Clear_Tag/ovl_En_Clear_Tag.c" -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D38BC.s") +/** + * Creates a debris effect. + * Debris effects are spawned when the Arwing dies. It spawns fire effects. + */ +void EnClearTag_CreateDebrisEffect(GlobalContext* globalCtx2, Vec3f* position, Vec3f* velocity, Vec3f* acceleration, + f32 scale, f32 floorHeight) { + s16 i; + s16 seed; + EnClearTagEffect* effect; + GlobalContext* globalCtx; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/EnClearTag_Destroy.s") + globalCtx = globalCtx2; + effect = (EnClearTagEffect*)globalCtx->specialEffects; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/EnClearTag_Init.s") + // Look for an available effect to allocate a Debris effect to. + for (i = 0; i < CLEAR_TAG_EFFECT_MAX_COUNT; i++, effect++) { + if (effect->type == CLEAR_TAG_EFFECT_AVAILABLE) { + effect->type = CLEAR_TAG_EFFECT_DEBRIS; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D3B80.s") + effect->position = *position; + effect->velocity = *velocity; + effect->acceleration = *acceleration; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/EnClearTag_Update.s") + effect->scale = scale; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/EnClearTag_Draw.s") + // Set the debris effects to spawn in a circle. + effect->rotationY = Rand_ZeroFloat(M_PI * 2); + effect->rotationX = Rand_ZeroFloat(M_PI * 2); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D5004.s") + effect->timer = effect->bounces = 0; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Clear_Tag/func_809D53CC.s") + effect->floorHeight = floorHeight; + + seed = (s32)Rand_ZeroFloat(10.0f); + effect->random = seed; + + return; + } + } +} + +/** + * Creates a fire effect. + * Fire effects are spawned by debris effects. Fire effects spawn smoke effects + */ +void EnClearTag_CreateFireEffect(GlobalContext* globalCtx2, Vec3f* pos, f32 scale) { + s16 i; + s16 seed; + EnClearTagEffect* effect; + GlobalContext* globalCtx; + + globalCtx = globalCtx2; + effect = (EnClearTagEffect*)globalCtx->specialEffects; + + // Look for an available effect to allocate a fire effect to. + for (i = 0; i < CLEAR_TAG_EFFECT_MAX_COUNT; i++, effect++) { + if (effect->type == CLEAR_TAG_EFFECT_AVAILABLE) { + seed = (s32)Rand_ZeroFloat(100.0f); + effect->random = seed; + effect->type = CLEAR_TAG_EFFECT_FIRE; + + effect->position = *pos; + effect->velocity = sZeroVector; + effect->acceleration = sZeroVector; + effect->acceleration.y = 0.15f; + + effect->scale = scale; + + effect->primColor.a = 200.0f; + + return; + } + } +} + +/** + * Creates a smoke effect. + * Smoke effects are spawned by fire effects. + */ +void EnClearTag_CreateSmokeEffect(GlobalContext* globalCtx2, Vec3f* position, f32 scale) { + s16 i; + s16 seed; + EnClearTagEffect* effect; + GlobalContext* globalCtx; + + globalCtx = globalCtx2; + effect = (EnClearTagEffect*)globalCtx->specialEffects; + + // Look for an available effect to allocate a smoke effect to. + for (i = 0; i < CLEAR_TAG_EFFECT_MAX_COUNT; i++, effect++) { + if (effect->type == CLEAR_TAG_EFFECT_AVAILABLE) { + seed = (s32)Rand_ZeroFloat(100.0f); + effect->random = seed; + effect->type = CLEAR_TAG_EFFECT_SMOKE; + + effect->position = *position; + effect->velocity = sZeroVector; + effect->acceleration = sZeroVector; + + effect->scale = scale; + effect->maxScale = scale * 2.0f; + + effect->primColor.r = 200.0f; + effect->primColor.g = 20.0f; + effect->primColor.b = 0.0f; + effect->primColor.a = 255.0f; + effect->envColor.r = 255.0f; + effect->envColor.g = 215.0f; + effect->envColor.b = 255.0f; + + return; + } + } +} + +/** + * Creates a flash effect. + * Flash effects are spawned when the Arwing dies. + * Flash effects two components: 1) a billboard flash, and 2) a light effect on the ground. + */ +void EnClearTag_CreateFlashEffect(GlobalContext* globalCtx, Vec3f* position, f32 scale, f32 floorHeight, + Vec3f* floorTangent) { + s16 i; + EnClearTagEffect* effect; + effect = (EnClearTagEffect*)globalCtx->specialEffects; + + // Look for an available effect to allocate a flash effect to. + for (i = 0; i < CLEAR_TAG_EFFECT_MAX_COUNT; i++, effect++) { + if (effect->type == CLEAR_TAG_EFFECT_AVAILABLE) { + effect->type = CLEAR_TAG_EFFECT_FLASH; + + effect->position = *position; + effect->velocity = sZeroVector; + effect->acceleration = sZeroVector; + + effect->scale = 0.0f; + effect->maxScale = scale * 2.0f; + + effect->floorHeight = floorHeight; + effect->floorTangent = *floorTangent; + + effect->primColor.a = 180.0f; + + return; + } + } +} + +/** + * EnClear_Tag destructor. + * This just destroys the collider. + */ +void EnClearTag_Destroy(Actor* thisx, GlobalContext* globalCtx) { + EnClearTag* this = THIS; + Collider_DestroyCylinder(globalCtx, &this->collider); +} + +/** + * EnClear_Tag constructor. + * This allocates a collider, initializes effects, and sets up ClearTag instance data. + */ +void EnClearTag_Init(Actor* thisx, GlobalContext* globalCtx) { + EnClearTag* this = THIS; + s32 defaultCutsceneTimer = 100; + s16 j, i; + + Collider_InitCylinder(globalCtx, &this->collider); + + // Initialize the Arwing laser. + if (this->actor.params == CLEAR_TAG_LASER) { + this->state = CLEAR_TAG_STATE_LASER; + this->work[CLEAR_TAG_TIMER_LASER_DEATH] = 70; + this->actor.speedXZ = 35.0f; + func_8002D908(&this->actor); + for (j = 0; j <= 0; j++) { + func_8002D7EC(&this->actor); + } + this->actor.scale.x = 0.4f; + this->actor.scale.y = 0.4f; + this->actor.scale.z = 2.0f; + this->actor.speedXZ = 70.0f; + this->actor.shape.rot.x = -this->actor.shape.rot.x; + + func_8002D908(&this->actor); + Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sLaserCylinderInit); + Audio_PlayActorSound2(&this->actor, NA_SE_IT_SWORD_REFLECT_MG); + return; + } + + // Initialize the Arwing. + this->actor.flags |= 1; + this->actor.targetMode = 5; + Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sArwingCylinderInit); + this->actor.colChkInfo.health = 3; + + // Update the Arwing to play the intro cutscene. + if (this->actor.params == CLEAR_TAG_CUTSCENE_ARWING) { + this->work[CLEAR_TAG_TIMER_ARWING_UPDATE_STATE] = 70; + this->work[CLEAR_TAG_TIMER_ARWING_ENTER_LOCKED_ON] = 250; + this->state = CLEAR_TAG_STATE_DEMO; + this->actor.world.rot.x = 0x4000; + this->cutsceneMode = CLEAR_TAG_CUTSCENE_MODE_SETUP; + this->cutsceneTimer = defaultCutsceneTimer; + this->work[CLEAR_TAG_TIMER_ARWING_UPDATE_BG_INFO] = 20; + } + + // Initialize all effects to available if effects have not been initialized. + if (!sIsEffectsInitialized) { + sIsEffectsInitialized = true; + globalCtx->specialEffects = &sClearTagEffects[0]; + for (i = 0; i < CLEAR_TAG_EFFECT_MAX_COUNT; i++) { + sClearTagEffects[i].type = CLEAR_TAG_EFFECT_AVAILABLE; + } + this->drawMode = CLEAR_TAG_DRAW_MODE_ALL; + } +} + +/** + * Calculate a floor tangent. + * This is used for the ground flash display lists and Arwing shadow display lists to snap onto the floor. + */ +void EnClearTag_CalculateFloorTangent(EnClearTag* this) { + f32 x; + f32 y; + f32 z; + + // If there is a floor poly below the Arwing, calculate the floor tangent. + if (this->actor.floorPoly != NULL) { + x = COLPOLY_GET_NORMAL(this->actor.floorPoly->normal.x); + y = COLPOLY_GET_NORMAL(this->actor.floorPoly->normal.y); + z = COLPOLY_GET_NORMAL(this->actor.floorPoly->normal.z); + + this->floorTangent.x = -Math_FAtan2F(-z * y, 1.0f); + this->floorTangent.z = Math_FAtan2F(-x * y, 1.0f); + } +} + +/** + * EnClear_Tag update function. + * + * ClearTag has three variants: + * CLEAR_TAG_CUTSCENE_ARWING which is the regular Arwing and plays a cutscene on spawn. + * CLEAR_TAG_ARWING which is a regular Arwing. + * CLEAR_TAG_LASER which are the lasers fired by the Arwing. + * + * This function controls the Arwing flying. A target position is set and the Arwing flies toward it based on + * calculated directions from the current position. + * This function fires Arwing lasers when the state is CLEAR_TAG_STATE_TARGET_LOCKED. + * This function controls the cutscene that plays when the Arwing has params for + * cutscene. The cutscene stops playing when the Arwing is a specified distance from the starting point. + */ +void EnClearTag_Update(Actor* thisx, GlobalContext* globalCtx2) { + u8 hasAtHit = 0; + s16 i; + s16 xRotationTarget; + s16 rotationScale; + EnClearTag* this = THIS; + GlobalContext* globalCtx = globalCtx2; + Player* player = PLAYER; + f32 vectorToTargetX; + f32 vectorToTargetY; + f32 vectorToTargetZ; + s16 worldRotationTargetZ; + s16 cutsceneTimer; + f32 loseTargetLockDistance; + s32 pad; + s16 worldRotationTargetY; + s16 worldRotationTargetX; + f32 targetCircleX; + f32 targetCircleZ; + f32 cutsceneCameraCircleX; + f32 cutsceneCameraCircleZ; + s16 isArwingAlive; + Vec3f cutsceneCameraAtTarget; + Vec3f cutsceneCameraEyeTarget; + Vec3f crashEffectLocation; + Vec3f crashEffectVelocity; + Vec3f debrisEffectAcceleration; + + this->timer++; + + if (this->drawMode != CLEAR_TAG_DRAW_MODE_EFFECT) { + for (i = 0; i < 3; i++) { + if (this->work[i] != 0) { + this->work[i]--; + } + } + + if (this->cutsceneTimer != 0) { + this->cutsceneTimer--; + } + + switch (this->state) { + case CLEAR_TAG_STATE_DEMO: + case CLEAR_TAG_STATE_TARGET_LOCKED: + case CLEAR_TAG_STATE_FLYING: + // Check if the Arwing should crash. + if (this->collider.base.acFlags & 2 && + (this->collider.base.acFlags &= ~2, this->crashingTimer = 20, + Actor_SetColorFilter(&this->actor, 0x4000, 255, 0, 5), + this->acceleration.x = Rand_CenteredFloat(15.0f), this->acceleration.y = Rand_CenteredFloat(15.0f), + this->acceleration.z = Rand_CenteredFloat(15.0f), + Audio_PlayActorSound2(&this->actor, NA_SE_EN_FANTOM_THUNDER_GND), this->actor.colChkInfo.health--, + (s8)this->actor.colChkInfo.health <= 0)) { + this->state = CLEAR_TAG_STATE_CRASHING; + this->actor.velocity.y = 0.0f; + } else { + Actor_SetScale(&this->actor, 0.2f); + this->actor.speedXZ = 7.0f; + + if (this->work[CLEAR_TAG_TIMER_ARWING_UPDATE_STATE] == 0) { + if (this->work[CLEAR_TAG_TIMER_ARWING_ENTER_LOCKED_ON] == 0) { + this->state = CLEAR_TAG_STATE_TARGET_LOCKED; + this->work[CLEAR_TAG_TIMER_ARWING_UPDATE_STATE] = 300; + } else { + this->state = CLEAR_TAG_STATE_FLYING; + this->work[CLEAR_TAG_TIMER_ARWING_UPDATE_STATE] = ((s16)Rand_ZeroFloat(50.0f)) + 20; + + if (this->actor.params == CLEAR_TAG_ARWING) { + // Set the Arwing to fly in a circle around the player. + targetCircleX = Math_SinS(player->actor.shape.rot.y) * 400.0f; + targetCircleZ = Math_CosS(player->actor.shape.rot.y) * 400.0f; + this->targetPosition.x = + Rand_CenteredFloat(700.0f) + (player->actor.world.pos.x + targetCircleX); + this->targetPosition.y = Rand_ZeroFloat(200.0f) + player->actor.world.pos.y + 150.0f; + this->targetPosition.z = + Rand_CenteredFloat(700.0f) + (player->actor.world.pos.z + targetCircleZ); + } else { + // Set the Arwing to fly to a random position. + this->targetPosition.x = Rand_CenteredFloat(700.0f); + this->targetPosition.y = Rand_ZeroFloat(200.0f) + 150.0f; + this->targetPosition.z = Rand_CenteredFloat(700.0f); + } + } + + this->targetDirection.x = this->targetDirection.y = this->targetDirection.z = 0.0f; + } + + rotationScale = 10; + xRotationTarget = 2048; + loseTargetLockDistance = 100.0f; + if (this->state == CLEAR_TAG_STATE_TARGET_LOCKED) { + // Set the Arwing to fly towards the player. + this->targetPosition.x = player->actor.world.pos.x; + this->targetPosition.y = player->actor.world.pos.y + 40.0f; + this->targetPosition.z = player->actor.world.pos.z; + rotationScale = 7; + xRotationTarget = 0x1000; + loseTargetLockDistance = 150.0f; + } else if (this->state == CLEAR_TAG_STATE_DEMO) { + // Move the Arwing for the intro cutscene. + + // Do a Barrel Roll! + this->roll += 0.5f; + if (this->roll > M_PI * 2) { + this->roll -= M_PI * 2; + } + + // Set the Arwing to fly to a hardcoded position. + this->targetPosition.x = 0.0f; + this->targetPosition.y = 300.0f; + this->targetPosition.z = 0.0f; + loseTargetLockDistance = 100.0f; + } + + // If the Arwing is not in cutscene state, smoothly update the roll to zero. + // This will reset the Arwing to be right side up after the cutscene is done. + // The cutscene will set the Arwing to do a barrel roll and doesn't end on right side up. + if (this->state != CLEAR_TAG_STATE_DEMO) { + Math_ApproachZeroF(&this->roll, 0.1f, 0.2f); + } + + // Calculate a vector towards the targetted position. + vectorToTargetX = this->targetPosition.x - this->actor.world.pos.x; + vectorToTargetY = this->targetPosition.y - this->actor.world.pos.y; + vectorToTargetZ = this->targetPosition.z - this->actor.world.pos.z; + + // If the Arwing is within a certain distance to the target position, it will be updated to flymode + if (sqrtf(SQ(vectorToTargetX) + SQ(vectorToTargetY) + SQ(vectorToTargetZ)) < + loseTargetLockDistance) { + this->work[CLEAR_TAG_TIMER_ARWING_UPDATE_STATE] = 0; + if (this->state == CLEAR_TAG_STATE_TARGET_LOCKED) { + this->work[CLEAR_TAG_TIMER_ARWING_ENTER_LOCKED_ON] = ((s16)Rand_ZeroFloat(100.0f)) + 100; + } + this->state = CLEAR_TAG_STATE_FLYING; + } + + // Calculate the direction for the Arwing to fly and the rotation for the Arwing + // based on the Arwing's direction, and current rotation. + worldRotationTargetY = (s32)(Math_FAtan2F(vectorToTargetX, vectorToTargetZ) * (0x8000 / M_PI)); + worldRotationTargetX = + (s32)(Math_FAtan2F(vectorToTargetY, sqrtf(SQ(vectorToTargetX) + SQ(vectorToTargetZ))) * + (0x8000 / M_PI)); + if (worldRotationTargetX < 0) { + if (this->actor.world.pos.y < this->actor.floorHeight + 20.0f) { + worldRotationTargetX = 0; + } + } + Math_ApproachS(&this->actor.world.rot.x, worldRotationTargetX, rotationScale, + this->targetDirection.x); + worldRotationTargetZ = Math_SmoothStepToS(&thisx->world.rot.y, worldRotationTargetY, rotationScale, + this->targetDirection.y, 0); + Math_ApproachF(&this->targetDirection.x, xRotationTarget, 1.0f, 256.0f); + this->targetDirection.y = this->targetDirection.x; + if (ABS(worldRotationTargetZ) < 4096) { + Math_ApproachS(&thisx->world.rot.z, 0, 15, this->targetDirection.z); + Math_ApproachF(&this->targetDirection.z, 1280.0f, 1.0f, 256.0f); + + // Check if the Arwing should fire it's laser. + if ((this->timer % 4) == 0 && (Rand_ZeroOne() < 0.75f) && + (this->state == CLEAR_TAG_STATE_TARGET_LOCKED)) { + this->shouldShootLaser = 1; + } + } else { + worldRotationTargetZ = worldRotationTargetZ > 0 ? -9472 : 9472; + Math_ApproachS(&this->actor.world.rot.z, worldRotationTargetZ, rotationScale, + this->targetDirection.z); + Math_ApproachF(&this->targetDirection.z, 4096.0f, 1.0f, 512.0f); + } + this->actor.shape.rot = this->actor.world.rot; + this->actor.shape.rot.x = -this->actor.shape.rot.x; + + // Update the Arwing's velocity. + func_8002D908(&this->actor); + this->actor.velocity.x += this->acceleration.x; + this->actor.velocity.y += this->acceleration.y; + this->actor.velocity.z += this->acceleration.z; + Math_ApproachZeroF(&this->acceleration.x, 1.0f, 1.0f); + Math_ApproachZeroF(&this->acceleration.y, 1.0f, 1.0f); + Math_ApproachZeroF(&this->acceleration.z, 1.0f, 1.0f); + + // Fire the Arwing laser. + if (this->shouldShootLaser) { + this->shouldShootLaser = 0; + Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_CLEAR_TAG, this->actor.world.pos.x, + this->actor.world.pos.y, this->actor.world.pos.z, this->actor.world.rot.x, + this->actor.world.rot.y, this->actor.world.rot.z, CLEAR_TAG_STATE_LASER); + } + } + + case CLEAR_TAG_STATE_CRASHING: + if (this->crashingTimer != 0) { + this->crashingTimer--; + } + + func_8002D7EC(&this->actor); + + Actor_SetFocus(&this->actor, 0.0f); + + // Update Arwing collider to better match a ground collision. + this->collider.dim.radius = 20; + this->collider.dim.height = 15; + this->collider.dim.yShift = -5; + Collider_UpdateCylinder(&this->actor, &this->collider); + + CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base); + CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->collider.base); + + if (this->work[CLEAR_TAG_TIMER_ARWING_UPDATE_BG_INFO] == 0) { + Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 50.0f, 30.0f, 100.0f, 5); + EnClearTag_CalculateFloorTangent(this); + } + + if (this->state == CLEAR_TAG_STATE_CRASHING) { + // Create fire effects while the Arwing crashes. + EnClearTag_CreateFireEffect(globalCtx, &this->actor.world.pos, 1.0f); + + // Causes the Arwing to roll around seemingly randomly while crashing. + this->roll -= 0.5f; + this->actor.velocity.y -= 0.2f; + this->actor.shape.rot.x += 16; + + Audio_PlayActorSound2(&this->actor, NA_SE_EN_DODO_K_BREATH - SFX_FLAG); + + // Check if the Arwing has hit the ground. + if (this->actor.bgCheckFlags & 9) { + this->shouldExplode = 1; + + if (this->drawMode != CLEAR_TAG_DRAW_MODE_ARWING) { + this->drawMode = CLEAR_TAG_DRAW_MODE_EFFECT; + this->deathTimer = 70; + this->actor.flags &= ~1; + } else { + Actor_Kill(&this->actor); + } + } + } + break; + + case CLEAR_TAG_STATE_LASER: + func_8002D7EC(&this->actor); + + // Check if the laser has hit a target. + if (this->collider.base.atFlags & AT_HIT) { + hasAtHit = 1; + } + + // Set laser collider properties. + this->collider.dim.radius = 23; + this->collider.dim.height = 25; + this->collider.dim.yShift = -10; + Collider_UpdateCylinder(&this->actor, &this->collider); + CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->collider.base); + Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 50.0f, 80.0f, 100.0f, 5); + + // Check if the laser has hit a target, timed out, or hit the ground. + if (this->actor.bgCheckFlags & 9 || hasAtHit || this->work[CLEAR_TAG_TIMER_LASER_DEATH] == 0) { + // Kill the laser. + Actor_Kill(&this->actor); + // Player laser sound effect if the laser did not time out. + if (this->work[CLEAR_TAG_TIMER_LASER_DEATH] != 0) { + Audio_PlaySoundAtPosition(globalCtx, &this->actor.world.pos, 20, NA_SE_EN_FANTOM_THUNDER_GND); + } + } + break; + } + + if (this->state < CLEAR_TAG_STATE_LASER) { + // Play the Arwing cutscene. + osSyncPrintf("DEMO_MODE %d\n", this->cutsceneMode); + osSyncPrintf("CAMERA_NO %d\n", this->cameraId); + + if (this->cutsceneMode != CLEAR_TAG_CUTSCENE_MODE_NONE) { + switch (this->cutsceneMode) { + case CLEAR_TAG_CUTSCENE_MODE_SETUP: + // Initializes Arwing cutscene camera data. + this->cutsceneMode = CLEAR_TAG_CUTSCENE_MODE_PLAY; + func_80064520(globalCtx, &globalCtx->csCtx); + this->cameraId = Gameplay_CreateSubCamera(globalCtx); + Gameplay_ChangeCameraStatus(globalCtx, 0, 1); + Gameplay_ChangeCameraStatus(globalCtx, this->cameraId, 7); + case CLEAR_TAG_CUTSCENE_MODE_PLAY: + // Update the Arwing cutscene camera to spin around in a circle. + cutsceneTimer = this->timer * 128; + cutsceneCameraCircleX = Math_SinS(cutsceneTimer) * 200.0f; + cutsceneCameraCircleZ = Math_CosS(cutsceneTimer) * 200.0f; + cutsceneCameraAtTarget.x = this->actor.world.pos.x + cutsceneCameraCircleX; + cutsceneCameraAtTarget.y = 200.0f; + cutsceneCameraAtTarget.z = this->actor.world.pos.z + cutsceneCameraCircleZ; + cutsceneCameraEyeTarget = this->actor.world.pos; + break; + } + + // Make the Arwing cutscene camera approach the target. + if (this->cameraId != 0) { + Math_ApproachF(&this->cutsceneCameraAt.x, cutsceneCameraAtTarget.x, 0.1f, 500.0f); + Math_ApproachF(&this->cutsceneCameraAt.y, cutsceneCameraAtTarget.y, 0.1f, 500.0f); + Math_ApproachF(&this->cutsceneCameraAt.z, cutsceneCameraAtTarget.z, 0.1f, 500.0f); + Math_ApproachF(&this->cutsceneCameraEye.x, cutsceneCameraEyeTarget.x, 0.2f, 500.0f); + Math_ApproachF(&this->cutsceneCameraEye.y, cutsceneCameraEyeTarget.y, 0.2f, 500.0f); + Math_ApproachF(&this->cutsceneCameraEye.z, cutsceneCameraEyeTarget.z, 0.2f, 500.0f); + Gameplay_CameraSetAtEye(globalCtx, this->cameraId, &this->cutsceneCameraEye, + &this->cutsceneCameraAt); + } + + // Cutscene has finished. + if (this->cutsceneTimer == 1) { + func_800C08AC(globalCtx, this->cameraId, 0); + this->cutsceneMode = this->cameraId = 0; + func_80064534(globalCtx, &globalCtx->csCtx); + } + } + } + } + + // Explode the Arwing + if (this->shouldExplode) { + this->shouldExplode = 0; + Audio_PlaySoundAtPosition(globalCtx, &this->actor.world.pos, 40, NA_SE_IT_BOMB_EXPLOSION); + + // Spawn flash effect. + crashEffectLocation.x = this->actor.world.pos.x; + crashEffectLocation.y = (this->actor.world.pos.y + 40.0f) - 30.0f; + crashEffectLocation.z = this->actor.world.pos.z; + EnClearTag_CreateFlashEffect(globalCtx, &crashEffectLocation, 6.0f, this->actor.floorHeight, + &this->floorTangent); + + // Spawn smoke effect. + crashEffectLocation.y = (this->actor.world.pos.y + 30.0f) - 50.0f; + EnClearTag_CreateSmokeEffect(globalCtx, &crashEffectLocation, 3.0f); + crashEffectLocation.y = this->actor.world.pos.y; + + // Spawn debris effects. + for (i = 0; i < 15; i++) { + crashEffectVelocity.x = sinf(i * 1.65f) * i * 0.3f; + crashEffectVelocity.z = cosf(i * 1.65f) * i * 0.3f; + crashEffectVelocity.y = Rand_ZeroFloat(6.0f) + 5.0f; + crashEffectVelocity.x += Rand_CenteredFloat(0.5f); + crashEffectVelocity.z += Rand_CenteredFloat(0.5f); + + debrisEffectAcceleration.x = 0.0f; + debrisEffectAcceleration.z = 0.0f; + debrisEffectAcceleration.y = -1.0f; + + EnClearTag_CreateDebrisEffect(globalCtx, &crashEffectLocation, &crashEffectVelocity, + &debrisEffectAcceleration, Rand_ZeroFloat(0.15f) + 0.075f, + this->actor.floorHeight); + } + } + + if (this->drawMode != CLEAR_TAG_DRAW_MODE_ARWING) { + // Check if the Arwing should be removed. + if (this->drawMode == CLEAR_TAG_DRAW_MODE_EFFECT) { + if (this->deathTimer == 0) { + isArwingAlive = 0; + } else { + this->deathTimer--; + isArwingAlive = this->deathTimer; + } + + if (!isArwingAlive) { + Actor_Kill(thisx); + } + } + + EnClearTag_UpdateEffects(globalCtx); + } +} + +/** + * EnClear_Tag draw function. + * Laser clear tag type will draw two lasers. + * Arwing clear tage types will draw the Arwing, the backfire, and a shadow. + */ +void EnClearTag_Draw(Actor* thisx, GlobalContext* globalCtx2) { + EnClearTag* this = THIS; + GlobalContext* globalCtx = globalCtx2; + + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_clear_tag.c", 983); + if (this->drawMode != CLEAR_TAG_DRAW_MODE_EFFECT) { + func_80093D84(globalCtx->state.gfxCtx); + + if (this->state >= CLEAR_TAG_STATE_LASER) { + // Draw Arwing lasers. + gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 0, 255, 0, 255); + + Matrix_Translate(25.0f, 0.0f, 0.0f, MTXMODE_APPLY); + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_clear_tag.c", 1004), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, gArwingLaserDL); + + Matrix_Translate(-50.0f, 0.0f, 0.0f, MTXMODE_APPLY); + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_clear_tag.c", 1011), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, gArwingLaserDL); + } else { + // Draw the Arwing itself. + func_80093D18(globalCtx->state.gfxCtx); + gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, 255); + if (this->crashingTimer != 0) { + f32 xRotation; + f32 yRotation; + f32 scaledCrashingTimer = this->crashingTimer * 0.05f; + + xRotation = Math_SinS(this->timer * 12288) * scaledCrashingTimer; + yRotation = Math_SinS(this->timer * 14080) * scaledCrashingTimer; + Matrix_RotateX(xRotation, MTXMODE_APPLY); + Matrix_RotateY(yRotation, MTXMODE_APPLY); + } + Matrix_RotateZ(this->roll, MTXMODE_APPLY); + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_clear_tag.c", 1030), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_OPA_DISP++, gArwingDL); + + // Draw the Arwing Backfire + Matrix_Translate(0.0f, 0.0f, -60.0f, MTXMODE_APPLY); + func_800D1FD4(&globalCtx->mf_11DA0); + Matrix_Scale(2.5f, 1.3f, 0.0f, MTXMODE_APPLY); + if ((this->timer & 1) != 0) { + Matrix_Scale(1.15f, 1.15f, 1.15f, MTXMODE_APPLY); + } + gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 200, 155); + gDPPipeSync(POLY_XLU_DISP++); + gDPSetEnvColor(POLY_XLU_DISP++, 255, 50, 0, 0); + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_clear_tag.c", 1067), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, gArwingBackfireDL); + + // Draw the Arwing shadow. + gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 0, 0, 0, 130); + Matrix_Translate(this->actor.world.pos.x, this->actor.floorHeight, this->actor.world.pos.z, MTXMODE_NEW); + Matrix_RotateX(this->floorTangent.x, MTXMODE_APPLY); + Matrix_RotateZ(this->floorTangent.z, MTXMODE_APPLY); + Matrix_Scale(this->actor.scale.x + 0.35f, 0.0f, this->actor.scale.z + 0.35f, MTXMODE_APPLY); + Matrix_RotateY((this->actor.shape.rot.y / 32768.0f) * M_PI, MTXMODE_APPLY); + Matrix_RotateX((this->actor.shape.rot.x / 32768.0f) * M_PI, MTXMODE_APPLY); + Matrix_RotateZ((this->actor.shape.rot.z / 32768.0f) * M_PI, MTXMODE_APPLY); + if (this->crashingTimer != 0) { + f32 xRotation; + f32 yRotation; + f32 scaledCrashingTimer; + scaledCrashingTimer = this->crashingTimer * 0.05f; + xRotation = Math_SinS(this->timer * 12288) * scaledCrashingTimer; + yRotation = Math_SinS(this->timer * 14080) * scaledCrashingTimer; + Matrix_RotateX(xRotation, MTXMODE_APPLY); + Matrix_RotateY(yRotation, MTXMODE_APPLY); + } + Matrix_RotateZ(this->roll, MTXMODE_APPLY); + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_clear_tag.c", 1104), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, gArwingShadowDL); + } + } + + if (this->drawMode != CLEAR_TAG_DRAW_MODE_ARWING) { + EnClearTag_DrawEffects(globalCtx); + } + + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_clear_tag.c", 1119); +} + +/** + * Updates the Arwing effects. + * Performs effect physics. + * Moves and bounces debris effects. + * Fades most effects out of view. When effects are completely faded away they are removed. + */ +void EnClearTag_UpdateEffects(GlobalContext* globalCtx2) { + GlobalContext* globalCtx; + s16 i; + f32 originalYPosition; + Vec3f sphereCenter; + EnClearTagEffect* effect; + s32 pad; + + globalCtx = globalCtx2; + effect = (EnClearTagEffect*)globalCtx->specialEffects; + + for (i = 0; i < CLEAR_TAG_EFFECT_MAX_COUNT; i++, effect++) { + if (effect->type != CLEAR_TAG_EFFECT_AVAILABLE) { + effect->random++; + + // Perform effect physics. + effect->position.x += effect->velocity.x; + originalYPosition = effect->position.y; + effect->position.y += effect->velocity.y; + effect->position.z += effect->velocity.z; + effect->velocity.x += effect->acceleration.x; + effect->velocity.y += effect->acceleration.y; + effect->velocity.z += effect->acceleration.z; + + if (effect->type == CLEAR_TAG_EFFECT_DEBRIS) { + // Clamp the velocity to -5.0 + if (effect->velocity.y < -5.0f) { + effect->velocity.y = -5.0f; + } + + // While the effect is falling check if it has hit the ground. + if (effect->velocity.y < 0.0f) { + sphereCenter = effect->position; + sphereCenter.y += 5.0f; + + // Check if the debris has hit the ground. + if (BgCheck_SphVsFirstPoly(&globalCtx->colCtx, &sphereCenter, 11.0f)) { + effect->position.y = originalYPosition; + + // Bounce the debris effect. + if (effect->bounces <= 0) { + effect->bounces++; + effect->velocity.y *= -0.5f; + effect->timer = ((s16)Rand_ZeroFloat(20)) + 25; + } else { + // The Debris effect is done bounding. Set it's velocity and acceleration to 0. + effect->velocity.y = 0.0f; + effect->acceleration.y = 0.0f; + effect->velocity.z = 0.0f; + effect->velocity.x = 0.0f; + } + } + } + + // Rotate the debris effect. + if (effect->acceleration.y != 0.0f) { + effect->rotationY += 0.5f; + effect->rotationX += 0.35f; + } + + // If the timer is completed, unload the debris effect. + if (effect->timer == 1) { + effect->type = CLEAR_TAG_EFFECT_AVAILABLE; + } + + // Spawn a fire effect every 3 frames. + if (effect->random >= 3) { + effect->random = 0; + EnClearTag_CreateFireEffect(globalCtx, &effect->position, effect->scale * 8.0f); + } + } else if (effect->type == CLEAR_TAG_EFFECT_FIRE) { + // Fade the fire effect. + Math_ApproachZeroF(&effect->primColor.a, 1.0f, 15.0f); + // If the fire effect is fully faded, unload it. + if (effect->primColor.a <= 0.0f) { + effect->type = CLEAR_TAG_EFFECT_AVAILABLE; + } + } else if (effect->type == CLEAR_TAG_EFFECT_SMOKE) { + // Fade the smoke effects. + Math_ApproachZeroF(&effect->primColor.r, 1.0f, 20.0f); + Math_ApproachZeroF(&effect->primColor.g, 1.0f, 2.0f); + Math_ApproachZeroF(&effect->envColor.r, 1.0f, 25.5f); + Math_ApproachZeroF(&effect->envColor.g, 1.0f, 21.5f); + Math_ApproachZeroF(&effect->envColor.b, 1.0f, 25.5f); + + // Smooth scale the smoke effects. + Math_ApproachF(&effect->scale, effect->maxScale, 0.05f, 0.1f); + + if (effect->primColor.r == 0.0f) { + // Fade the smoke effects. + Math_ApproachZeroF(&effect->primColor.a, 1.0f, 3.0f); + + // If the smoke effect has fully faded, unload it. + if (effect->primColor.a <= 0.0f) { + effect->type = CLEAR_TAG_EFFECT_AVAILABLE; + } + } + } else if (effect->type == CLEAR_TAG_EFFECT_FLASH) { + // Smooth scale the flash effects. + Math_ApproachF(&effect->scale, effect->maxScale, 1.0f, 3.0f); + // Fade the flash effects. + Math_ApproachZeroF(&effect->primColor.a, 1.0f, 10.0f); + + // If the flash effect has fully faded, unload it. + if (effect->primColor.a <= 0.0f) { + effect->type = CLEAR_TAG_EFFECT_AVAILABLE; + } + } + + if (effect->timer != 0) { + effect->timer--; + } + } + } +} + +/** + * Draws the Arwing effects. + * Each effect type is drawn before the next. The function will apply a material that applies to all effects of that + * type while drawing the first effect of that type. + */ +void EnClearTag_DrawEffects(GlobalContext* globalCtx2) { + GlobalContext* globalCtx; + GraphicsContext* gfxCtx; + u8 isMaterialApplied; + s16 i; + EnClearTagEffect* effect; + EnClearTagEffect* firstEffect; + + globalCtx = globalCtx2; + gfxCtx = globalCtx->state.gfxCtx; + + firstEffect = effect = (EnClearTagEffect*)globalCtx->specialEffects; + isMaterialApplied = false; + + OPEN_DISPS(gfxCtx, "../z_en_clear_tag.c", 1288); + func_80093D18(globalCtx->state.gfxCtx); + func_80093D84(globalCtx->state.gfxCtx); + + // Draw all Debris effects. + for (i = 0; i < CLEAR_TAG_EFFECT_MAX_COUNT; i++, effect++) { + if (effect->type == CLEAR_TAG_EFFECT_DEBRIS) { + // Apply the debris effect material if it has not already been applied. + if (!isMaterialApplied) { + isMaterialApplied++; + gSPDisplayList(POLY_OPA_DISP++, gArwingDebrisEffectMaterialDL); + } + + // Draw the debris effect. + Matrix_Translate(effect->position.x, effect->position.y, effect->position.z, MTXMODE_NEW); + Matrix_Scale(effect->scale, effect->scale, effect->scale, MTXMODE_APPLY); + Matrix_RotateY(effect->rotationY, MTXMODE_APPLY); + Matrix_RotateX(effect->rotationX, MTXMODE_APPLY); + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx, "../z_en_clear_tag.c", 1307), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_OPA_DISP++, gArwingDebrisEffectDL); + } + } + + // Draw all ground flash effects. + effect = firstEffect; + isMaterialApplied = false; + for (i = 0; i < CLEAR_TAG_EFFECT_MAX_COUNT; i++, effect++) { + if (effect->type == CLEAR_TAG_EFFECT_FLASH) { + // Apply the flash ground effect material if it has not already been applied. + if (!isMaterialApplied) { + gDPPipeSync(POLY_XLU_DISP++); + gDPSetEnvColor(POLY_XLU_DISP++, 255, 255, 200, 0); + isMaterialApplied++; + } + + // Draw the ground flash effect. + gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 200, (s8)effect->primColor.a); + Matrix_Translate(effect->position.x, effect->floorHeight, effect->position.z, MTXMODE_NEW); + Matrix_RotateX(effect->floorTangent.x, MTXMODE_APPLY); + Matrix_RotateZ(effect->floorTangent.z, MTXMODE_APPLY); + Matrix_Scale(effect->scale + effect->scale, 1.0f, effect->scale * 2.0f, MTXMODE_APPLY); + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_en_clear_tag.c", 1342), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, gArwingFlashEffectGroundDL); + } + } + + // Draw all smoke effects. + effect = firstEffect; + isMaterialApplied = false; + for (i = 0; i < CLEAR_TAG_EFFECT_MAX_COUNT; i++, effect++) { + if (effect->type == CLEAR_TAG_EFFECT_SMOKE) { + // Apply the smoke effect material if it has not already been applied. + if (!isMaterialApplied) { + gSPDisplayList(POLY_XLU_DISP++, gArwingFireEffectMaterialDL); + isMaterialApplied++; + } + + // Draw the smoke effect. + gDPPipeSync(POLY_XLU_DISP++); + gDPSetEnvColor(POLY_XLU_DISP++, (s8)effect->envColor.r, (s8)effect->envColor.g, (s8)effect->envColor.b, + 128); + gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, (s8)effect->primColor.r, (s8)effect->primColor.g, + (s8)effect->primColor.b, (s8)effect->primColor.a); + gSPSegment(POLY_XLU_DISP++, 8, + Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, effect->random * -5, 32, 64, 1, 0, 0, 32, 32)); + Matrix_Translate(effect->position.x, effect->position.y, effect->position.z, MTXMODE_NEW); + func_800D1FD4(&globalCtx->mf_11DA0); + Matrix_Scale(effect->scale, effect->scale, 1.0f, MTXMODE_APPLY); + Matrix_Translate(0.0f, 20.0f, 0.0f, MTXMODE_APPLY); + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_en_clear_tag.c", 1392), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, gArwingFireEffectDL); + } + } + + // Draw all fire effects. + effect = firstEffect; + isMaterialApplied = false; + for (i = 0; i < CLEAR_TAG_EFFECT_MAX_COUNT; i++, effect++) { + if (effect->type == CLEAR_TAG_EFFECT_FIRE) { + // Apply the fire effect material if it has not already been applied. + if (!isMaterialApplied) { + gSPDisplayList(POLY_XLU_DISP++, gArwingFireEffectMaterialDL); + gDPSetEnvColor(POLY_XLU_DISP++, 255, 215, 255, 128); + isMaterialApplied++; + } + + // Draw the fire effect. + gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 200, 20, 0, (s8)effect->primColor.a); + gSPSegment(POLY_XLU_DISP++, 8, + Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, (effect->random * -15) & 0xFF, 32, 64, 1, 0, 0, + 32, 32)); + Matrix_Translate(effect->position.x, effect->position.y, effect->position.z, MTXMODE_NEW); + // using globalCtx2 here fixes saved reg usage, but will need to be changed when switching to GameState + func_800D1FD4(&globalCtx2->mf_11DA0); + Matrix_Scale(effect->scale, effect->scale, 1.0f, MTXMODE_APPLY); + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_en_clear_tag.c", 1439), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, gArwingFireEffectDL); + } + } + + // Draw all flash billboard effects. + effect = firstEffect; + isMaterialApplied = false; + for (i = 0; i < CLEAR_TAG_EFFECT_MAX_COUNT; i++, effect++) { + if (effect->type == CLEAR_TAG_EFFECT_FLASH) { + // Apply the flash billboard effect material if it has not already been applied. + if (!isMaterialApplied) { + gDPPipeSync(POLY_XLU_DISP++); + gDPSetEnvColor(POLY_XLU_DISP++, 255, 255, 200, 0); + isMaterialApplied++; + } + + // Draw the flash billboard effect. + gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 200, (s8)effect->primColor.a); + Matrix_Translate(effect->position.x, effect->position.y, effect->position.z, MTXMODE_NEW); + func_800D1FD4(&globalCtx->mf_11DA0); + Matrix_Scale(effect->scale, effect->scale, 1.0f, MTXMODE_APPLY); + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_en_clear_tag.c", 1470), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, gArwingFlashEffectDL); + } + } + + CLOSE_DISPS(gfxCtx, "../z_en_clear_tag.c", 1477); +} diff --git a/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h b/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h index 28221ef39d..1b24e0fe5b 100644 --- a/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h +++ b/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h @@ -6,11 +6,92 @@ struct EnClearTag; +typedef enum { + /* 0x00 */ CLEAR_TAG_CUTSCENE_ARWING = 0, + /* 0x01 */ CLEAR_TAG_ARWING = 1, + /* 0x64 */ CLEAR_TAG_LASER = 100 +} ClearTagType; + +typedef enum { + /* 0x00 */ CLEAR_TAG_STATE_FLYING = 0, + /* 0x01 */ CLEAR_TAG_STATE_TARGET_LOCKED = 1, + /* 0x02 */ CLEAR_TAG_STATE_DEMO = 2, + /* 0x0A */ CLEAR_TAG_STATE_CRASHING = 10, + /* 0x64 */ CLEAR_TAG_STATE_LASER = 100 +} ClearTagState; + +typedef enum { + /* 0x00 */ CLEAR_TAG_CUTSCENE_MODE_NONE, + /* 0x01 */ CLEAR_TAG_CUTSCENE_MODE_SETUP, + /* 0x02 */ CLEAR_TAG_CUTSCENE_MODE_PLAY +} ClearTagDemoMode; + +typedef enum { + /* 0x00 */ CLEAR_TAG_DRAW_MODE_ARWING, + /* 0x01 */ CLEAR_TAG_DRAW_MODE_ALL, + /* 0x02 */ CLEAR_TAG_DRAW_MODE_EFFECT +} ClearTagDrawMode; + +typedef enum { + /* 0x00 */ CLEAR_TAG_EFFECT_AVAILABLE, + /* 0x01 */ CLEAR_TAG_EFFECT_DEBRIS, + /* 0x02 */ CLEAR_TAG_EFFECT_FIRE, + /* 0x03 */ CLEAR_TAG_EFFECT_SMOKE, + /* 0x04 */ CLEAR_TAG_EFFECT_FLASH +} ClearTagEffectType; + +typedef enum { + /* 0x00 */ CLEAR_TAG_TIMER_ARWING_UPDATE_STATE = 0, + /* 0x00 */ CLEAR_TAG_TIMER_LASER_DEATH = 0, + /* 0x01 */ CLEAR_TAG_TIMER_ARWING_ENTER_LOCKED_ON, + /* 0x02 */ CLEAR_TAG_TIMER_ARWING_UPDATE_BG_INFO, + /* 0x03 */ CLEAR_TAG_TIMER_COUNT +} ClearTagTimers; + typedef struct EnClearTag { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0xB8]; + /* 0x014C */ u8 shouldExplode; + /* 0x014D */ u8 drawMode; + /* 0x014E */ u8 state; + /* 0x0150 */ s16 work[CLEAR_TAG_TIMER_COUNT]; + /* 0x0158 */ Vec3f targetPosition; + /* 0x0164 */ Vec3f targetDirection; + /* 0x0170 */ Vec3f acceleration; + /* 0x017C */ u8 timer; + /* 0x017D */ u8 shouldShootLaser; + /* 0x0180 */ f32 roll; + /* 0x0184 */ s16 crashingTimer; + /* 0x0186 */ s16 deathTimer; + /* 0x0188 */ Vec3f floorTangent; + /* 0x0194 */ ColliderCylinder collider; + /* 0x01E0 */ u8 cutsceneMode; + /* 0x01E2 */ s16 cameraId; + /* 0x01E4 */ Vec3f cutsceneCameraAt; + /* 0x01F0 */ Vec3f cutsceneCameraEye; + /* 0x01FC */ s16 cutsceneTimer; + /* 0x01FE */ char unk_1FE[0x06]; } EnClearTag; // size = 0x0204 +typedef struct EnClearTagEffect { + /* 0x0000 */ u8 type; + /* 0x0001 */ u8 random; + /* 0x0004 */ Vec3f position; + /* 0x0010 */ Vec3f velocity; + /* 0x001C */ Vec3f acceleration; + /* 0x0028 */ Color_RGBAf primColor; + /* 0x0038 */ Color_RGBAf envColor; + /* 0x0048 */ s16 bounces; + /* 0x004A */ s16 timer; + /* 0x004C */ f32 scale; + /* 0x0050 */ f32 maxScale; + /* 0x0054 */ f32 rotationY; + /* 0x0058 */ f32 rotationX; + /* 0x005C */ f32 floorHeight; + /* 0x0060 */ Vec3f floorTangent; +} EnClearTagEffect; // size = 0x6C + +#define CLEAR_TAG_EFFECT_MAX_COUNT 100 + extern const ActorInit En_Clear_Tag_InitVars; #endif