From 42f2d38b8fb8e97330bc12e06d71bd35ea2c33e2 Mon Sep 17 00:00:00 2001 From: petrie911 <69443847+petrie911@users.noreply.github.com> Date: Mon, 28 Dec 2020 19:56:24 -0600 Subject: [PATCH] En_Torch2 (#486) * Darkmeiro decompilation Bg_Gnd_Darkmeiro decompiled, matched, and documented. * give this a shot * fix conflict * one more try * Oh boy more giant functions * now functional, but not equivalent * Now only non-matching * cleaned up illusion room * much closer. static variables still suck though * much closer. static variables still suck though * some docs and cleanup. matching is horrible. * static varaibles are a troublesome lot * ifdef * merge ZAP * merge again * small cleanup * small fixes * swordstate * resolve conflict * comments and such Co-authored-by: fig Co-authored-by: petrie911 --- .../actors/ovl_En_Torch2/EnTorch2_Destroy.s | 30 - .../actors/ovl_En_Torch2/EnTorch2_Draw.s | 131 --- .../actors/ovl_En_Torch2/EnTorch2_Init.s | 107 --- .../actors/ovl_En_Torch2/EnTorch2_Update.s | 690 ++++++++-------- .../actors/ovl_En_Torch2/func_80B1DB98.s | 19 - .../actors/ovl_En_Torch2/func_80B1DBD8.s | 120 --- .../actors/ovl_En_Torch2/func_80B1DD70.s | 22 - .../actors/ovl_En_Torch2/func_80B1F7A8.s | 12 - .../actors/ovl_En_Torch2/func_80B1F7D4.s | 10 - data/overlays/actors/z_en_torch2.bss.s | 60 -- data/overlays/actors/z_en_torch2.data.s | 32 - spec | 6 +- .../actors/ovl_En_Blkobj/z_en_blkobj.c | 94 +-- .../actors/ovl_En_Blkobj/z_en_blkobj.h | 4 +- .../actors/ovl_En_Torch2/z_en_torch2.c | 757 +++++++++++++++++- undefined_syms.txt | 3 + 16 files changed, 1148 insertions(+), 949 deletions(-) delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Torch2/EnTorch2_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Torch2/EnTorch2_Draw.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Torch2/EnTorch2_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1DB98.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1DBD8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1DD70.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1F7A8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1F7D4.s delete mode 100644 data/overlays/actors/z_en_torch2.bss.s delete mode 100644 data/overlays/actors/z_en_torch2.data.s diff --git a/asm/non_matchings/overlays/actors/ovl_En_Torch2/EnTorch2_Destroy.s b/asm/non_matchings/overlays/actors/ovl_En_Torch2/EnTorch2_Destroy.s deleted file mode 100644 index 4973467597..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Torch2/EnTorch2_Destroy.s +++ /dev/null @@ -1,30 +0,0 @@ -glabel EnTorch2_Destroy -/* 001A8 80B1DB28 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 001AC 80B1DB2C AFB00014 */ sw $s0, 0x0014($sp) -/* 001B0 80B1DB30 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 001B4 80B1DB34 AFB10018 */ sw $s1, 0x0018($sp) -/* 001B8 80B1DB38 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 001BC 80B1DB3C AFBF001C */ sw $ra, 0x001C($sp) -/* 001C0 80B1DB40 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 001C4 80B1DB44 0C009C27 */ jal Effect_Delete -/* 001C8 80B1DB48 8E050670 */ lw $a1, 0x0670($s0) ## 00000670 -/* 001CC 80B1DB4C 0C03D6D6 */ jal func_800F5B58 -/* 001D0 80B1DB50 00000000 */ nop -/* 001D4 80B1DB54 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 001D8 80B1DB58 0C0170EB */ jal Collider_DestroyCylinder - -/* 001DC 80B1DB5C 26050498 */ addiu $a1, $s0, 0x0498 ## $a1 = 00000498 -/* 001E0 80B1DB60 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 001E4 80B1DB64 0C017418 */ jal Collider_DestroyQuad -/* 001E8 80B1DB68 260504E4 */ addiu $a1, $s0, 0x04E4 ## $a1 = 000004E4 -/* 001EC 80B1DB6C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 001F0 80B1DB70 0C017418 */ jal Collider_DestroyQuad -/* 001F4 80B1DB74 26050564 */ addiu $a1, $s0, 0x0564 ## $a1 = 00000564 -/* 001F8 80B1DB78 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 001FC 80B1DB7C 0C017418 */ jal Collider_DestroyQuad -/* 00200 80B1DB80 260505E4 */ addiu $a1, $s0, 0x05E4 ## $a1 = 000005E4 -/* 00204 80B1DB84 8FBF001C */ lw $ra, 0x001C($sp) -/* 00208 80B1DB88 8FB00014 */ lw $s0, 0x0014($sp) -/* 0020C 80B1DB8C 8FB10018 */ lw $s1, 0x0018($sp) -/* 00210 80B1DB90 03E00008 */ jr $ra -/* 00214 80B1DB94 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Torch2/EnTorch2_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Torch2/EnTorch2_Draw.s deleted file mode 100644 index b1f8ff8858..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Torch2/EnTorch2_Draw.s +++ /dev/null @@ -1,131 +0,0 @@ -.rdata -glabel D_80B1FA30 - .asciz "../z_en_torch2.c" - .balign 4 - -glabel D_80B1FA44 - .asciz "../z_en_torch2.c" - .balign 4 - -.text -glabel EnTorch2_Draw -/* 01E78 80B1F7F8 27BDFF90 */ addiu $sp, $sp, 0xFF90 ## $sp = FFFFFF90 -/* 01E7C 80B1F7FC AFB20030 */ sw $s2, 0x0030($sp) -/* 01E80 80B1F800 00A09025 */ or $s2, $a1, $zero ## $s2 = 00000000 -/* 01E84 80B1F804 AFBF0034 */ sw $ra, 0x0034($sp) -/* 01E88 80B1F808 AFB1002C */ sw $s1, 0x002C($sp) -/* 01E8C 80B1F80C AFB00028 */ sw $s0, 0x0028($sp) -/* 01E90 80B1F810 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000 -/* 01E94 80B1F814 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000 -/* 01E98 80B1F818 3C0680B2 */ lui $a2, %hi(D_80B1FA30) ## $a2 = 80B20000 -/* 01E9C 80B1F81C 24C6FA30 */ addiu $a2, $a2, %lo(D_80B1FA30) ## $a2 = 80B1FA30 -/* 01EA0 80B1F820 27A40050 */ addiu $a0, $sp, 0x0050 ## $a0 = FFFFFFE0 -/* 01EA4 80B1F824 2407041A */ addiu $a3, $zero, 0x041A ## $a3 = 0000041A -/* 01EA8 80B1F828 0C031AB1 */ jal Graph_OpenDisps -/* 01EAC 80B1F82C 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 01EB0 80B1F830 0C024F20 */ jal func_80093C80 -/* 01EB4 80B1F834 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 01EB8 80B1F838 0C024F61 */ jal func_80093D84 -/* 01EBC 80B1F83C 8E440000 */ lw $a0, 0x0000($s2) ## 00000000 -/* 01EC0 80B1F840 3C0480B2 */ lui $a0, %hi(D_80B20165) ## $a0 = 80B20000 -/* 01EC4 80B1F844 24840165 */ addiu $a0, $a0, %lo(D_80B20165) ## $a0 = 80B20165 -/* 01EC8 80B1F848 908E0000 */ lbu $t6, 0x0000($a0) ## 80B20165 -/* 01ECC 80B1F84C 240100FF */ addiu $at, $zero, 0x00FF ## $at = 000000FF -/* 01ED0 80B1F850 3C19FB00 */ lui $t9, 0xFB00 ## $t9 = FB000000 -/* 01ED4 80B1F854 15C1002B */ bne $t6, $at, .L80B1F904 -/* 01ED8 80B1F858 3C0CDB06 */ lui $t4, 0xDB06 ## $t4 = DB060000 -/* 01EDC 80B1F85C 8E0302C0 */ lw $v1, 0x02C0($s0) ## 000002C0 -/* 01EE0 80B1F860 3C18FB00 */ lui $t8, 0xFB00 ## $t8 = FB000000 -/* 01EE4 80B1F864 3C01FF00 */ lui $at, 0xFF00 ## $at = FF000000 -/* 01EE8 80B1F868 246F0008 */ addiu $t7, $v1, 0x0008 ## $t7 = 00000008 -/* 01EEC 80B1F86C AE0F02C0 */ sw $t7, 0x02C0($s0) ## 000002C0 -/* 01EF0 80B1F870 AC780000 */ sw $t8, 0x0000($v1) ## 00000000 -/* 01EF4 80B1F874 90880000 */ lbu $t0, 0x0000($a0) ## 80B20165 -/* 01EF8 80B1F878 3C0BDB06 */ lui $t3, 0xDB06 ## $t3 = DB060000 -/* 01EFC 80B1F87C 3C0C8011 */ lui $t4, %hi(D_80116280+0x10) -/* 01F00 80B1F880 01014825 */ or $t1, $t0, $at ## $t1 = FF000000 -/* 01F04 80B1F884 AC690004 */ sw $t1, 0x0004($v1) ## 00000004 -/* 01F08 80B1F888 8E0302C0 */ lw $v1, 0x02C0($s0) ## 000002C0 -/* 01F0C 80B1F88C 258C6290 */ addiu $t4, %lo(D_80116280+0x10) -/* 01F10 80B1F890 356B0030 */ ori $t3, $t3, 0x0030 ## $t3 = DB060030 -/* 01F14 80B1F894 246A0008 */ addiu $t2, $v1, 0x0008 ## $t2 = 00000008 -/* 01F18 80B1F898 AE0A02C0 */ sw $t2, 0x02C0($s0) ## 000002C0 -/* 01F1C 80B1F89C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 01F20 80B1F8A0 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000 -/* 01F24 80B1F8A4 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 01F28 80B1F8A8 AC6C0004 */ sw $t4, 0x0004($v1) ## 00000004 -/* 01F2C 80B1F8AC 0C00BAF3 */ jal func_8002EBCC -/* 01F30 80B1F8B0 AC6B0000 */ sw $t3, 0x0000($v1) ## 00000000 -/* 01F34 80B1F8B4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 01F38 80B1F8B8 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000 -/* 01F3C 80B1F8BC 0C00BB60 */ jal func_8002ED80 -/* 01F40 80B1F8C0 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 01F44 80B1F8C4 8E2501B8 */ lw $a1, 0x01B8($s1) ## 000001B8 -/* 01F48 80B1F8C8 8E2601D4 */ lw $a2, 0x01D4($s1) ## 000001D4 -/* 01F4C 80B1F8CC 922701B6 */ lbu $a3, 0x01B6($s1) ## 000001B6 -/* 01F50 80B1F8D0 3C0D80B2 */ lui $t5, %hi(func_80B1F7A8) ## $t5 = 80B20000 -/* 01F54 80B1F8D4 3C0E80B2 */ lui $t6, %hi(func_80B1F7D4) ## $t6 = 80B20000 -/* 01F58 80B1F8D8 25CEF7D4 */ addiu $t6, $t6, %lo(func_80B1F7D4) ## $t6 = 80B1F7D4 -/* 01F5C 80B1F8DC 25ADF7A8 */ addiu $t5, $t5, %lo(func_80B1F7A8) ## $t5 = 80B1F7A8 -/* 01F60 80B1F8E0 AFAD0010 */ sw $t5, 0x0010($sp) -/* 01F64 80B1F8E4 AFAE0014 */ sw $t6, 0x0014($sp) -/* 01F68 80B1F8E8 AFB10018 */ sw $s1, 0x0018($sp) -/* 01F6C 80B1F8EC 8E0F02C0 */ lw $t7, 0x02C0($s0) ## 000002C0 -/* 01F70 80B1F8F0 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 01F74 80B1F8F4 0C0289CF */ jal SkelAnime_DrawFlex -/* 01F78 80B1F8F8 AFAF001C */ sw $t7, 0x001C($sp) -/* 01F7C 80B1F8FC 10000028 */ beq $zero, $zero, .L80B1F9A0 -/* 01F80 80B1F900 AE0202C0 */ sw $v0, 0x02C0($s0) ## 000002C0 -.L80B1F904: -/* 01F84 80B1F904 8E0302D0 */ lw $v1, 0x02D0($s0) ## 000002D0 -/* 01F88 80B1F908 3C01FF00 */ lui $at, 0xFF00 ## $at = FF000000 -/* 01F8C 80B1F90C 3C0D8011 */ lui $t5, %hi(D_80116280) -/* 01F90 80B1F910 24780008 */ addiu $t8, $v1, 0x0008 ## $t8 = 00000008 -/* 01F94 80B1F914 AE1802D0 */ sw $t8, 0x02D0($s0) ## 000002D0 -/* 01F98 80B1F918 AC790000 */ sw $t9, 0x0000($v1) ## 00000000 -/* 01F9C 80B1F91C 90890000 */ lbu $t1, 0x0000($a0) ## 00000000 -/* 01FA0 80B1F920 25AD6280 */ addiu $t5, %lo(D_80116280) -/* 01FA4 80B1F924 358C0030 */ ori $t4, $t4, 0x0030 ## $t4 = 00000030 -/* 01FA8 80B1F928 01215025 */ or $t2, $t1, $at ## $t2 = FF000000 -/* 01FAC 80B1F92C AC6A0004 */ sw $t2, 0x0004($v1) ## 00000004 -/* 01FB0 80B1F930 8E0302D0 */ lw $v1, 0x02D0($s0) ## 000002D0 -/* 01FB4 80B1F934 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 01FB8 80B1F938 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000 -/* 01FBC 80B1F93C 246B0008 */ addiu $t3, $v1, 0x0008 ## $t3 = 00000008 -/* 01FC0 80B1F940 AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0 -/* 01FC4 80B1F944 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 01FC8 80B1F948 AC6D0004 */ sw $t5, 0x0004($v1) ## 00000004 -/* 01FCC 80B1F94C 0C00BAF3 */ jal func_8002EBCC -/* 01FD0 80B1F950 AC6C0000 */ sw $t4, 0x0000($v1) ## 00000000 -/* 01FD4 80B1F954 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 01FD8 80B1F958 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000 -/* 01FDC 80B1F95C 0C00BB60 */ jal func_8002ED80 -/* 01FE0 80B1F960 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 01FE4 80B1F964 8E2501B8 */ lw $a1, 0x01B8($s1) ## 000001B8 -/* 01FE8 80B1F968 8E2601D4 */ lw $a2, 0x01D4($s1) ## 000001D4 -/* 01FEC 80B1F96C 922701B6 */ lbu $a3, 0x01B6($s1) ## 000001B6 -/* 01FF0 80B1F970 3C0E80B2 */ lui $t6, %hi(func_80B1F7A8) ## $t6 = 80B20000 -/* 01FF4 80B1F974 3C0F80B2 */ lui $t7, %hi(func_80B1F7D4) ## $t7 = 80B20000 -/* 01FF8 80B1F978 25EFF7D4 */ addiu $t7, $t7, %lo(func_80B1F7D4) ## $t7 = 80B1F7D4 -/* 01FFC 80B1F97C 25CEF7A8 */ addiu $t6, $t6, %lo(func_80B1F7A8) ## $t6 = 80B1F7A8 -/* 02000 80B1F980 AFAE0010 */ sw $t6, 0x0010($sp) -/* 02004 80B1F984 AFAF0014 */ sw $t7, 0x0014($sp) -/* 02008 80B1F988 AFB10018 */ sw $s1, 0x0018($sp) -/* 0200C 80B1F98C 8E1802D0 */ lw $t8, 0x02D0($s0) ## 000002D0 -/* 02010 80B1F990 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 02014 80B1F994 0C0289CF */ jal SkelAnime_DrawFlex -/* 02018 80B1F998 AFB8001C */ sw $t8, 0x001C($sp) -/* 0201C 80B1F99C AE0202D0 */ sw $v0, 0x02D0($s0) ## 000002D0 -.L80B1F9A0: -/* 02020 80B1F9A0 3C0680B2 */ lui $a2, %hi(D_80B1FA44) ## $a2 = 80B20000 -/* 02024 80B1F9A4 24C6FA44 */ addiu $a2, $a2, %lo(D_80B1FA44) ## $a2 = 80B1FA44 -/* 02028 80B1F9A8 27A40050 */ addiu $a0, $sp, 0x0050 ## $a0 = FFFFFFE0 -/* 0202C 80B1F9AC 8E450000 */ lw $a1, 0x0000($s2) ## 00000000 -/* 02030 80B1F9B0 0C031AD5 */ jal Graph_CloseDisps -/* 02034 80B1F9B4 2407045A */ addiu $a3, $zero, 0x045A ## $a3 = 0000045A -/* 02038 80B1F9B8 8FBF0034 */ lw $ra, 0x0034($sp) -/* 0203C 80B1F9BC 8FB00028 */ lw $s0, 0x0028($sp) -/* 02040 80B1F9C0 8FB1002C */ lw $s1, 0x002C($sp) -/* 02044 80B1F9C4 8FB20030 */ lw $s2, 0x0030($sp) -/* 02048 80B1F9C8 03E00008 */ jr $ra -/* 0204C 80B1F9CC 27BD0070 */ addiu $sp, $sp, 0x0070 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Torch2/EnTorch2_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Torch2/EnTorch2_Init.s deleted file mode 100644 index 420807c928..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Torch2/EnTorch2_Init.s +++ /dev/null @@ -1,107 +0,0 @@ -glabel EnTorch2_Init -/* 00000 80B1D980 3C0280B2 */ lui $v0, %hi(D_80B20130) ## $v0 = 80B20000 -/* 00004 80B1D984 24420130 */ addiu $v0, $v0, %lo(D_80B20130) ## $v0 = 80B20130 -/* 00008 80B1D988 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 -/* 0000C 80B1D98C A0400003 */ sb $zero, 0x0003($v0) ## 80B20133 -/* 00010 80B1D990 80580003 */ lb $t8, 0x0003($v0) ## 80B20133 -/* 00014 80B1D994 AFBF001C */ sw $ra, 0x001C($sp) -/* 00018 80B1D998 AFB00018 */ sw $s0, 0x0018($sp) -/* 0001C 80B1D99C AFA50034 */ sw $a1, 0x0034($sp) -/* 00020 80B1D9A0 A4400012 */ sh $zero, 0x0012($v0) ## 80B20142 -/* 00024 80B1D9A4 A440000C */ sh $zero, 0x000C($v0) ## 80B2013C -/* 00028 80B1D9A8 A4400000 */ sh $zero, 0x0000($v0) ## 80B20130 -/* 0002C 80B1D9AC A0580002 */ sb $t8, 0x0002($v0) ## 80B20132 -/* 00030 80B1D9B0 24190002 */ addiu $t9, $zero, 0x0002 ## $t9 = 00000002 -/* 00034 80B1D9B4 24090003 */ addiu $t1, $zero, 0x0003 ## $t1 = 00000003 -/* 00038 80B1D9B8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0003C 80B1D9BC A099014E */ sb $t9, 0x014E($a0) ## 0000014E -/* 00040 80B1D9C0 A0890152 */ sb $t1, 0x0152($a0) ## 00000152 -/* 00044 80B1D9C4 A0890151 */ sb $t1, 0x0151($a0) ## 00000151 -/* 00048 80B1D9C8 0C023B01 */ jal Player_SetModelGroup -/* 0004C 80B1D9CC 24050002 */ addiu $a1, $zero, 0x0002 ## $a1 = 00000002 -/* 00050 80B1D9D0 8FA50034 */ lw $a1, 0x0034($sp) -/* 00054 80B1D9D4 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00058 80B1D9D8 3C060600 */ lui $a2, 0x0600 ## $a2 = 06000000 -/* 0005C 80B1D9DC 00A11021 */ addu $v0, $a1, $at -/* 00060 80B1D9E0 AFA20024 */ sw $v0, 0x0024($sp) -/* 00064 80B1D9E4 8C591D3C */ lw $t9, 0x1D3C($v0) ## 00001D3C -/* 00068 80B1D9E8 24C64764 */ addiu $a2, $a2, 0x4764 ## $a2 = 06004764 -/* 0006C 80B1D9EC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00070 80B1D9F0 0320F809 */ jalr $ra, $t9 -/* 00074 80B1D9F4 00000000 */ nop -/* 00078 80B1D9F8 8FA20024 */ lw $v0, 0x0024($sp) -/* 0007C 80B1D9FC 8FA50034 */ lw $a1, 0x0034($sp) -/* 00080 80B1DA00 240D0009 */ addiu $t5, $zero, 0x0009 ## $t5 = 00000009 -/* 00084 80B1DA04 24040011 */ addiu $a0, $zero, 0x0011 ## $a0 = 00000011 -/* 00088 80B1DA08 2406000D */ addiu $a2, $zero, 0x000D ## $a2 = 0000000D -/* 0008C 80B1DA0C 240F0008 */ addiu $t7, $zero, 0x0008 ## $t7 = 00000008 -/* 00090 80B1DA10 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001 -/* 00094 80B1DA14 3C0980B2 */ lui $t1, %hi(D_80B1FA08) ## $t1 = 80B20000 -/* 00098 80B1DA18 240A0026 */ addiu $t2, $zero, 0x0026 ## $t2 = 00000026 -/* 0009C 80B1DA1C 2529FA08 */ addiu $t1, $t1, %lo(D_80B1FA08) ## $t1 = 80B1FA08 -/* 000A0 80B1DA20 A20A0117 */ sb $t2, 0x0117($s0) ## 00000117 -/* 000A4 80B1DA24 A20D04A9 */ sb $t5, 0x04A9($s0) ## 000004A9 -/* 000A8 80B1DA28 A2040574 */ sb $a0, 0x0574($s0) ## 00000574 -/* 000AC 80B1DA2C A20404F4 */ sb $a0, 0x04F4($s0) ## 000004F4 -/* 000B0 80B1DA30 A2060575 */ sb $a2, 0x0575($s0) ## 00000575 -/* 000B4 80B1DA34 A20604F5 */ sb $a2, 0x04F5($s0) ## 000004F5 -/* 000B8 80B1DA38 A20D0578 */ sb $t5, 0x0578($s0) ## 00000578 -/* 000BC 80B1DA3C A20D04F8 */ sb $t5, 0x04F8($s0) ## 000004F8 -/* 000C0 80B1DA40 A20F0581 */ sb $t7, 0x0581($s0) ## 00000581 -/* 000C4 80B1DA44 A20F0501 */ sb $t7, 0x0501($s0) ## 00000501 -/* 000C8 80B1DA48 A2080592 */ sb $t0, 0x0592($s0) ## 00000592 -/* 000CC 80B1DA4C A2080512 */ sb $t0, 0x0512($s0) ## 00000512 -/* 000D0 80B1DA50 A20405F4 */ sb $a0, 0x05F4($s0) ## 000005F4 -/* 000D4 80B1DA54 A20605F5 */ sb $a2, 0x05F5($s0) ## 000005F5 -/* 000D8 80B1DA58 AE090098 */ sw $t1, 0x0098($s0) ## 00000098 -/* 000DC 80B1DA5C 3C198016 */ lui $t9, %hi(gSaveContext+0x2e) -/* 000E0 80B1DA60 8739E68E */ lh $t9, %lo(gSaveContext+0x2e)($t9) -/* 000E4 80B1DA64 240B003C */ addiu $t3, $zero, 0x003C ## $t3 = 0000003C -/* 000E8 80B1DA68 240C0064 */ addiu $t4, $zero, 0x0064 ## $t4 = 00000064 -/* 000EC 80B1DA6C 001950C3 */ sra $t2, $t9, 3 -/* 000F0 80B1DA70 A20A00AF */ sb $t2, 0x00AF($s0) ## 000000AF -/* 000F4 80B1DA74 A60B00A8 */ sh $t3, 0x00A8($s0) ## 000000A8 -/* 000F8 80B1DA78 A60C00AA */ sh $t4, 0x00AA($s0) ## 000000AA -/* 000FC 80B1DA7C 8C591D54 */ lw $t9, 0x1D54($v0) ## 00001D54 -/* 00100 80B1DA80 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00104 80B1DA84 0320F809 */ jalr $ra, $t9 -/* 00108 80B1DA88 00000000 */ nop -/* 0010C 80B1DA8C 3C0180B2 */ lui $at, %hi(D_80B2015E) ## $at = 80B20000 -/* 00110 80B1DA90 A020015E */ sb $zero, %lo(D_80B2015E)($at) -/* 00114 80B1DA94 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 00118 80B1DA98 3C0180B2 */ lui $at, %hi(D_80B20161) ## $at = 80B20000 -/* 0011C 80B1DA9C A0200161 */ sb $zero, %lo(D_80B20161)($at) -/* 00120 80B1DAA0 3C0180B2 */ lui $at, %hi(D_80B1F9F8) ## $at = 80B20000 -/* 00124 80B1DAA4 E424F9F8 */ swc1 $f4, %lo(D_80B1F9F8)($at) -/* 00128 80B1DAA8 3C0180B2 */ lui $at, %hi(D_80B20148) ## $at = 80B20000 -/* 0012C 80B1DAAC A0200148 */ sb $zero, %lo(D_80B20148)($at) -/* 00130 80B1DAB0 3C0180B2 */ lui $at, %hi(D_80B2015C) ## $at = 80B20000 -/* 00134 80B1DAB4 A020015C */ sb $zero, %lo(D_80B2015C)($at) -/* 00138 80B1DAB8 3C0180B2 */ lui $at, %hi(D_80B2015D) ## $at = 80B20000 -/* 0013C 80B1DABC A020015D */ sb $zero, %lo(D_80B2015D)($at) -/* 00140 80B1DAC0 3C0280B2 */ lui $v0, %hi(D_80B20162) ## $v0 = 80B20000 -/* 00144 80B1DAC4 3C0380B2 */ lui $v1, %hi(D_80B20163) ## $v1 = 80B20000 -/* 00148 80B1DAC8 24630163 */ addiu $v1, $v1, %lo(D_80B20163) ## $v1 = 80B20163 -/* 0014C 80B1DACC 24420162 */ addiu $v0, $v0, %lo(D_80B20162) ## $v0 = 80B20162 -/* 00150 80B1DAD0 A0400000 */ sb $zero, 0x0000($v0) ## 80B20162 -/* 00154 80B1DAD4 A0600000 */ sb $zero, 0x0000($v1) ## 80B20163 -/* 00158 80B1DAD8 3C0180B2 */ lui $at, %hi(D_80B20160) ## $at = 80B20000 -/* 0015C 80B1DADC A0200160 */ sb $zero, %lo(D_80B20160)($at) -/* 00160 80B1DAE0 3C0180B2 */ lui $at, %hi(D_80B20164) ## $at = 80B20000 -/* 00164 80B1DAE4 A0200164 */ sb $zero, %lo(D_80B20164)($at) -/* 00168 80B1DAE8 3C0180B2 */ lui $at, %hi(D_80B20165) ## $at = 80B20000 -/* 0016C 80B1DAEC 240F005F */ addiu $t7, $zero, 0x005F ## $t7 = 0000005F -/* 00170 80B1DAF0 A02F0165 */ sb $t7, %lo(D_80B20165)($at) -/* 00174 80B1DAF4 8E090008 */ lw $t1, 0x0008($s0) ## 00000008 -/* 00178 80B1DAF8 3C1880B2 */ lui $t8, %hi(D_80B20150) ## $t8 = 80B20000 -/* 0017C 80B1DAFC 27180150 */ addiu $t8, $t8, %lo(D_80B20150) ## $t8 = 80B20150 -/* 00180 80B1DB00 AF090000 */ sw $t1, 0x0000($t8) ## 80B20150 -/* 00184 80B1DB04 8E08000C */ lw $t0, 0x000C($s0) ## 0000000C -/* 00188 80B1DB08 AF080004 */ sw $t0, 0x0004($t8) ## 80B20154 -/* 0018C 80B1DB0C 8E090010 */ lw $t1, 0x0010($s0) ## 00000010 -/* 00190 80B1DB10 AF090008 */ sw $t1, 0x0008($t8) ## 80B20158 -/* 00194 80B1DB14 8FBF001C */ lw $ra, 0x001C($sp) -/* 00198 80B1DB18 8FB00018 */ lw $s0, 0x0018($sp) -/* 0019C 80B1DB1C 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000 -/* 001A0 80B1DB20 03E00008 */ jr $ra -/* 001A4 80B1DB24 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Torch2/EnTorch2_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Torch2/EnTorch2_Update.s index af253feabc..62774a1b68 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Torch2/EnTorch2_Update.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Torch2/EnTorch2_Update.s @@ -26,12 +26,12 @@ glabel EnTorch2_Update /* 00458 80B1DDD8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 /* 0045C 80B1DDDC 844E00B6 */ lh $t6, 0x00B6($v0) ## 000000B6 /* 00460 80B1DDE0 00A03025 */ or $a2, $a1, $zero ## $a2 = 00000000 -/* 00464 80B1DDE4 3C0180B2 */ lui $at, %hi(D_80B20130) ## $at = 80B20000 +/* 00464 80B1DDE4 3C0180B2 */ lui $at, %hi(sInput) ## $at = 80B20000 /* 00468 80B1DDE8 01CF4023 */ subu $t0, $t6, $t7 /* 0046C 80B1DDEC 00084400 */ sll $t0, $t0, 16 /* 00470 80B1DDF0 00084403 */ sra $t0, $t0, 16 /* 00474 80B1DDF4 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00478 80B1DDF8 A4200130 */ sh $zero, %lo(D_80B20130)($at) +/* 00478 80B1DDF8 A4200130 */ sh $zero, %lo(sInput)($at) /* 0047C 80B1DDFC 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 /* 00480 80B1DE00 A7A8005A */ sh $t0, 0x005A($sp) /* 00484 80B1DE04 AFA60084 */ sw $a2, 0x0084($sp) @@ -39,19 +39,19 @@ glabel EnTorch2_Update /* 0048C 80B1DE0C AFA20078 */ sw $v0, 0x0078($sp) /* 00490 80B1DE10 AFA20068 */ sw $v0, 0x0068($sp) /* 00494 80B1DE14 8FA40084 */ lw $a0, 0x0084($sp) -/* 00498 80B1DE18 0C2C76E6 */ jal func_80B1DB98 +/* 00498 80B1DE18 0C2C76E6 */ jal EnTorch2_GetAttackItem /* 0049C 80B1DE1C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 004A0 80B1DE20 3C0380B2 */ lui $v1, %hi(D_80B2015E) ## $v1 = 80B20000 -/* 004A4 80B1DE24 9063015E */ lbu $v1, %lo(D_80B2015E)($v1) +/* 004A0 80B1DE20 3C0380B2 */ lui $v1, %hi(sActionState) ## $v1 = 80B20000 +/* 004A4 80B1DE24 9063015E */ lbu $v1, %lo(sActionState)($v1) /* 004A8 80B1DE28 87A8005A */ lh $t0, 0x005A($sp) /* 004AC 80B1DE2C AFA2005C */ sw $v0, 0x005C($sp) -/* 004B0 80B1DE30 1060000D */ beq $v1, $zero, .L80B1DE68 +/* 004B0 80B1DE30 1060000D */ beq $v1, $zero, .L80B1DE68 #GOTO /* 004B4 80B1DE34 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 004B8 80B1DE38 10610069 */ beq $v1, $at, .L80B1DFE0 +/* 004B8 80B1DE38 10610069 */ beq $v1, $at, .L80B1DFE0 #GOTO /* 004BC 80B1DE3C 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 004C0 80B1DE40 106103EC */ beq $v1, $at, .L80B1EDF4 +/* 004C0 80B1DE40 106103EC */ beq $v1, $at, .L80B1EDF4 #GOTO /* 004C4 80B1DE44 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 004C8 80B1DE48 10610358 */ beq $v1, $at, .L80B1EBAC +/* 004C8 80B1DE48 10610358 */ beq $v1, $at, .L80B1EBAC #GOTO /* 004CC 80B1DE4C 26180024 */ addiu $t8, $s0, 0x0024 ## $t8 = 00000024 /* 004D0 80B1DE50 8FB90084 */ lw $t9, 0x0084($sp) /* 004D4 80B1DE54 3C010001 */ lui $at, 0x0001 ## $at = 00010000 @@ -72,8 +72,8 @@ glabel EnTorch2_Update /* 00508 80B1DE88 E60601D0 */ swc1 $f6, 0x01D0($s0) ## 000001D0 /* 0050C 80B1DE8C 3C0141C8 */ lui $at, 0x41C8 ## $at = 41C80000 /* 00510 80B1DE90 44814000 */ mtc1 $at, $f8 ## $f8 = 25.00 -/* 00514 80B1DE94 3C0180B2 */ lui $at, %hi(D_80B20150) ## $at = 80B20000 -/* 00518 80B1DE98 C4300150 */ lwc1 $f16, %lo(D_80B20150)($at) +/* 00514 80B1DE94 3C0180B2 */ lui $at, %hi(sSpawnPoint) ## $at = 80B20000 +/* 00518 80B1DE98 C4300150 */ lwc1 $f16, %lo(sSpawnPoint)($at) /* 0051C 80B1DE9C 46080282 */ mul.s $f10, $f0, $f8 /* 00520 80B1DEA0 86040032 */ lh $a0, 0x0032($s0) ## 00000032 /* 00524 80B1DEA4 46105480 */ add.s $f18, $f10, $f16 @@ -82,8 +82,8 @@ glabel EnTorch2_Update /* 0052C 80B1DEAC E6120024 */ swc1 $f18, 0x0024($s0) ## 00000024 /* 00530 80B1DEB0 3C0141C8 */ lui $at, 0x41C8 ## $at = 41C80000 /* 00534 80B1DEB4 44812000 */ mtc1 $at, $f4 ## $f4 = 25.00 -/* 00538 80B1DEB8 3C0180B2 */ lui $at, %hi(D_80B20158) ## $at = 80B20000 -/* 0053C 80B1DEBC C4280158 */ lwc1 $f8, %lo(D_80B20158)($at) +/* 00538 80B1DEB8 3C0180B2 */ lui $at, %hi(sSpawnPoint+8) ## $at = 80B20000 +/* 0053C 80B1DEBC C4280158 */ lwc1 $f8, %lo(sSpawnPoint+8)($at) /* 00540 80B1DEC0 46040182 */ mul.s $f6, $f0, $f4 /* 00544 80B1DEC4 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000 /* 00548 80B1DEC8 44818000 */ mtc1 $at, $f16 ## $f16 = 120.00 @@ -102,24 +102,24 @@ glabel EnTorch2_Update .L80B1DEFC: /* 0057C 80B1DEFC 8FAC005C */ lw $t4, 0x005C($sp) /* 00580 80B1DF00 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001 -/* 00584 80B1DF04 3C0180B2 */ lui $at, %hi(D_80B20161) ## $at = 80B20000 +/* 00584 80B1DF04 3C0180B2 */ lui $at, %hi(sDodgeRollState) ## $at = 80B20000 /* 00588 80B1DF08 11800029 */ beq $t4, $zero, .L80B1DFB0 /* 0058C 80B1DF0C 340F8000 */ ori $t7, $zero, 0x8000 ## $t7 = 00008000 -/* 00590 80B1DF10 A02D0161 */ sb $t5, %lo(D_80B20161)($at) +/* 00590 80B1DF10 A02D0161 */ sb $t5, %lo(sDodgeRollState)($at) /* 00594 80B1DF14 860E008A */ lh $t6, 0x008A($s0) ## 0000008A -/* 00598 80B1DF18 3C0180B2 */ lui $at, %hi(D_80B1F9F4) ## $at = 80B20000 +/* 00598 80B1DF18 3C0180B2 */ lui $at, %hi(sStickAngle) ## $at = 80B20000 /* 0059C 80B1DF1C 8FB80068 */ lw $t8, 0x0068($sp) -/* 005A0 80B1DF20 A42EF9F4 */ sh $t6, %lo(D_80B1F9F4)($at) +/* 005A0 80B1DF20 A42EF9F4 */ sh $t6, %lo(sStickAngle)($at) /* 005A4 80B1DF24 3C0142FE */ lui $at, 0x42FE ## $at = 42FE0000 /* 005A8 80B1DF28 44812000 */ mtc1 $at, $f4 ## $f4 = 127.00 -/* 005AC 80B1DF2C 3C0180B2 */ lui $at, %hi(D_80B1F9F0) ## $at = 80B20000 -/* 005B0 80B1DF30 3C0A80B2 */ lui $t2, %hi(D_80B1F9F4) ## $t2 = 80B20000 -/* 005B4 80B1DF34 E424F9F0 */ swc1 $f4, %lo(D_80B1F9F0)($at) -/* 005B8 80B1DF38 3C0180B2 */ lui $at, %hi(D_80B20130) ## $at = 80B20000 -/* 005BC 80B1DF3C A42F0130 */ sh $t7, %lo(D_80B20130)($at) -/* 005C0 80B1DF40 3C0180B2 */ lui $at, %hi(D_80B1FA00) ## $at = 80B20000 -/* 005C4 80B1DF44 A020FA00 */ sb $zero, %lo(D_80B1FA00)($at) -/* 005C8 80B1DF48 854AF9F4 */ lh $t2, %lo(D_80B1F9F4)($t2) +/* 005AC 80B1DF2C 3C0180B2 */ lui $at, %hi(sStickTilt) ## $at = 80B20000 +/* 005B0 80B1DF30 3C0A80B2 */ lui $t2, %hi(sStickAngle) ## $t2 = 80B20000 +/* 005B4 80B1DF34 E424F9F0 */ swc1 $f4, %lo(sStickTilt)($at) +/* 005B8 80B1DF38 3C0180B2 */ lui $at, %hi(sInput) ## $at = 80B20000 +/* 005BC 80B1DF3C A42F0130 */ sh $t7, %lo(sInput)($at) +/* 005C0 80B1DF40 3C0180B2 */ lui $at, %hi(sZTargetFlag) ## $at = 80B20000 +/* 005C4 80B1DF44 A020FA00 */ sb $zero, %lo(sZTargetFlag)($at) +/* 005C8 80B1DF48 854AF9F4 */ lh $t2, %lo(sStickAngle)($t2) /* 005CC 80B1DF4C 8719013C */ lh $t9, 0x013C($t8) ## 0000013C /* 005D0 80B1DF50 032A2023 */ subu $a0, $t9, $t2 /* 005D4 80B1DF54 00042400 */ sll $a0, $a0, 16 @@ -127,32 +127,32 @@ glabel EnTorch2_Update /* 005DC 80B1DF5C 0C01DE1C */ jal Math_SinS ## sins? /* 005E0 80B1DF60 A7A40066 */ sh $a0, 0x0066($sp) -/* 005E4 80B1DF64 3C0180B2 */ lui $at, %hi(D_80B1F9F0) ## $at = 80B20000 -/* 005E8 80B1DF68 C426F9F0 */ lwc1 $f6, %lo(D_80B1F9F0)($at) -/* 005EC 80B1DF6C 3C0180B2 */ lui $at, %hi(D_80B20132) ## $at = 80B20000 +/* 005E4 80B1DF64 3C0180B2 */ lui $at, %hi(sStickTilt) ## $at = 80B20000 +/* 005E8 80B1DF68 C426F9F0 */ lwc1 $f6, %lo(sStickTilt)($at) +/* 005EC 80B1DF6C 3C0180B2 */ lui $at, %hi(sInput+2) ## $at = 80B20000 /* 005F0 80B1DF70 87A40066 */ lh $a0, 0x0066($sp) /* 005F4 80B1DF74 46060202 */ mul.s $f8, $f0, $f6 /* 005F8 80B1DF78 4600428D */ trunc.w.s $f10, $f8 /* 005FC 80B1DF7C 440C5000 */ mfc1 $t4, $f10 /* 00600 80B1DF80 0C01DE0D */ jal Math_CosS ## coss? -/* 00604 80B1DF84 A02C0132 */ sb $t4, %lo(D_80B20132)($at) -/* 00608 80B1DF88 3C0180B2 */ lui $at, %hi(D_80B1F9F0) ## $at = 80B20000 -/* 0060C 80B1DF8C C430F9F0 */ lwc1 $f16, %lo(D_80B1F9F0)($at) -/* 00610 80B1DF90 3C0180B2 */ lui $at, %hi(D_80B20133) ## $at = 80B20000 +/* 00604 80B1DF84 A02C0132 */ sb $t4, %lo(sInput+2)($at) +/* 00608 80B1DF88 3C0180B2 */ lui $at, %hi(sStickTilt) ## $at = 80B20000 +/* 0060C 80B1DF8C C430F9F0 */ lwc1 $f16, %lo(sStickTilt)($at) +/* 00610 80B1DF90 3C0180B2 */ lui $at, %hi(sInput+3) ## $at = 80B20000 /* 00614 80B1DF94 46100482 */ mul.s $f18, $f0, $f16 /* 00618 80B1DF98 4600910D */ trunc.w.s $f4, $f18 /* 0061C 80B1DF9C 44032000 */ mfc1 $v1, $f4 /* 00620 80B1DFA0 00000000 */ nop /* 00624 80B1DFA4 00031E00 */ sll $v1, $v1, 24 /* 00628 80B1DFA8 00031E03 */ sra $v1, $v1, 24 -/* 0062C 80B1DFAC A0230133 */ sb $v1, %lo(D_80B20133)($at) +/* 0062C 80B1DFAC A0230133 */ sb $v1, %lo(sInput+3)($at) .L80B1DFB0: /* 00630 80B1DFB0 0C03D6B3 */ jal func_800F5ACC /* 00634 80B1DFB4 24040038 */ addiu $a0, $zero, 0x0038 ## $a0 = 00000038 /* 00638 80B1DFB8 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001 -/* 0063C 80B1DFBC 3C0180B2 */ lui $at, %hi(D_80B2015E) ## $at = 80B20000 -/* 00640 80B1DFC0 A02E015E */ sb $t6, %lo(D_80B2015E)($at) +/* 0063C 80B1DFBC 3C0180B2 */ lui $at, %hi(sActionState) ## $at = 80B20000 +/* 00640 80B1DFC0 A02E015E */ sb $t6, %lo(sActionState)($at) /* 00644 80B1DFC4 8FB80084 */ lw $t8, 0x0084($sp) .L80B1DFC8: /* 00648 80B1DFC8 3C010001 */ lui $at, 0x0001 ## $at = 00010000 @@ -163,8 +163,8 @@ glabel EnTorch2_Update /* 0065C 80B1DFDC AFAF0034 */ sw $t7, 0x0034($sp) .L80B1DFE0: /* 00660 80B1DFE0 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 -/* 00664 80B1DFE4 3C0780B2 */ lui $a3, %hi(D_80B1F9F0) ## $a3 = 80B20000 -/* 00668 80B1DFE8 24E7F9F0 */ addiu $a3, $a3, %lo(D_80B1F9F0) ## $a3 = 80B1F9F0 +/* 00664 80B1DFE4 3C0780B2 */ lui $a3, %hi(sStickTilt) ## $a3 = 80B20000 +/* 00668 80B1DFE8 24E7F9F0 */ addiu $a3, $a3, %lo(sStickTilt) ## $a3 = 80B1F9F0 /* 0066C 80B1DFEC E4E60000 */ swc1 $f6, 0x0000($a3) ## 80B1F9F0 /* 00670 80B1DFF0 920204F5 */ lbu $v0, 0x04F5($s0) ## 000004F5 /* 00674 80B1DFF4 304A0080 */ andi $t2, $v0, 0x0080 ## $t2 = 00000000 @@ -188,36 +188,36 @@ glabel EnTorch2_Update /* 006B8 80B1E038 A21904F4 */ sb $t9, 0x04F4($s0) ## 000004F4 /* 006BC 80B1E03C A20B0574 */ sb $t3, 0x0574($s0) ## 00000574 /* 006C0 80B1E040 A20D04A9 */ sb $t5, 0x04A9($s0) ## 000004A9 -/* 006C4 80B1E044 3C0F80B2 */ lui $t7, %hi(D_80B20164) ## $t7 = 80B20000 -/* 006C8 80B1E048 81EF0164 */ lb $t7, %lo(D_80B20164)($t7) +/* 006C4 80B1E044 3C0F80B2 */ lui $t7, %hi(sLastSwordAnim) ## $t7 = 80B20000 +/* 006C8 80B1E048 81EF0164 */ lb $t7, %lo(sLastSwordAnim)($t7) /* 006CC 80B1E04C 820E0842 */ lb $t6, 0x0842($s0) ## 00000842 -/* 006D0 80B1E050 3C1880B2 */ lui $t8, %hi(D_80B20162) ## $t8 = 80B20000 +/* 006D0 80B1E050 3C1880B2 */ lui $t8, %hi(sStaggerCount) ## $t8 = 80B20000 /* 006D4 80B1E054 3C0B8016 */ lui $t3, %hi(gSaveContext+0x30) /* 006D8 80B1E058 11CF0008 */ beq $t6, $t7, .L80B1E07C -/* 006DC 80B1E05C 3C0C80B2 */ lui $t4, %hi(D_80B20160) ## $t4 = 80B20000 -/* 006E0 80B1E060 93180162 */ lbu $t8, %lo(D_80B20162)($t8) -/* 006E4 80B1E064 3C0180B2 */ lui $at, %hi(D_80B20162) ## $at = 80B20000 +/* 006DC 80B1E05C 3C0C80B2 */ lui $t4, %hi(sCounterState) ## $t4 = 80B20000 +/* 006E0 80B1E060 93180162 */ lbu $t8, %lo(sStaggerCount)($t8) +/* 006E4 80B1E064 3C0180B2 */ lui $at, %hi(sStaggerCount) ## $at = 80B20000 /* 006E8 80B1E068 27190001 */ addiu $t9, $t8, 0x0001 ## $t9 = 80B20001 -/* 006EC 80B1E06C A0390162 */ sb $t9, %lo(D_80B20162)($at) +/* 006EC 80B1E06C A0390162 */ sb $t9, %lo(sStaggerCount)($at) /* 006F0 80B1E070 820A0842 */ lb $t2, 0x0842($s0) ## 00000842 -/* 006F4 80B1E074 3C0180B2 */ lui $at, %hi(D_80B20164) ## $at = 80B20000 -/* 006F8 80B1E078 A02A0164 */ sb $t2, %lo(D_80B20164)($at) +/* 006F4 80B1E074 3C0180B2 */ lui $at, %hi(sLastSwordAnim) ## $at = 80B20000 +/* 006F8 80B1E078 A02A0164 */ sb $t2, %lo(sLastSwordAnim)($at) .L80B1E07C: /* 006FC 80B1E07C 856BE690 */ lh $t3, %lo(gSaveContext+0x30)($t3) /* 00700 80B1E080 29610050 */ slti $at, $t3, 0x0050 /* 00704 80B1E084 10200009 */ beq $at, $zero, .L80B1E0AC /* 00708 80B1E088 00000000 */ nop -/* 0070C 80B1E08C 918C0160 */ lbu $t4, %lo(D_80B20160)($t4) -/* 00710 80B1E090 3C0180B2 */ lui $at, %hi(D_80B20160) ## $at = 80B20000 +/* 0070C 80B1E08C 918C0160 */ lbu $t4, %lo(sCounterState)($t4) +/* 00710 80B1E090 3C0180B2 */ lui $at, %hi(sCounterState) ## $at = 80B20000 /* 00714 80B1E094 240D0032 */ addiu $t5, $zero, 0x0032 ## $t5 = 00000032 /* 00718 80B1E098 11800004 */ beq $t4, $zero, .L80B1E0AC /* 0071C 80B1E09C 00000000 */ nop -/* 00720 80B1E0A0 A0200160 */ sb $zero, %lo(D_80B20160)($at) -/* 00724 80B1E0A4 3C0180B2 */ lui $at, %hi(D_80B20163) ## $at = 80B20000 -/* 00728 80B1E0A8 A02D0163 */ sb $t5, %lo(D_80B20163)($at) +/* 00720 80B1E0A0 A0200160 */ sb $zero, %lo(sCounterState)($at) +/* 00724 80B1E0A4 3C0180B2 */ lui $at, %hi(sStaggerTimer) ## $at = 80B20000 +/* 00728 80B1E0A8 A02D0163 */ sb $t5, %lo(sStaggerTimer)($at) .L80B1E0AC: -/* 0072C 80B1E0AC 3C0E80B2 */ lui $t6, %hi(D_80B20160) ## $t6 = 80B20000 -/* 00730 80B1E0B0 91CE0160 */ lbu $t6, %lo(D_80B20160)($t6) +/* 0072C 80B1E0AC 3C0E80B2 */ lui $t6, %hi(sCounterState) ## $t6 = 80B20000 +/* 00730 80B1E0B0 91CE0160 */ lbu $t6, %lo(sCounterState)($t6) /* 00734 80B1E0B4 51C00013 */ beql $t6, $zero, .L80B1E104 /* 00738 80B1E0B8 82180A78 */ lb $t8, 0x0A78($s0) ## 00000A78 /* 0073C 80B1E0BC 820F0843 */ lb $t7, 0x0843($s0) ## 00000843 @@ -236,17 +236,17 @@ glabel EnTorch2_Update /* 0076C 80B1E0EC 0C01767D */ jal CollisionCheck_SetAC ## CollisionCheck_setAC /* 00770 80B1E0F0 26060564 */ addiu $a2, $s0, 0x0564 ## $a2 = 00000564 -/* 00774 80B1E0F4 3C0780B2 */ lui $a3, %hi(D_80B1F9F0) ## $a3 = 80B20000 -/* 00778 80B1E0F8 24E7F9F0 */ addiu $a3, $a3, %lo(D_80B1F9F0) ## $a3 = 80B1F9F0 +/* 00774 80B1E0F4 3C0780B2 */ lui $a3, %hi(sStickTilt) ## $a3 = 80B20000 +/* 00778 80B1E0F8 24E7F9F0 */ addiu $a3, $a3, %lo(sStickTilt) ## $a3 = 80B1F9F0 /* 0077C 80B1E0FC 87A8005A */ lh $t0, 0x005A($sp) .L80B1E100: /* 00780 80B1E100 82180A78 */ lb $t8, 0x0A78($s0) ## 00000A78 .L80B1E104: -/* 00784 80B1E104 3C1980B2 */ lui $t9, %hi(D_80B2015E) ## $t9 = 80B20000 -/* 00788 80B1E108 3C0C80B2 */ lui $t4, %hi(D_80B20161) ## $t4 = 80B20000 +/* 00784 80B1E104 3C1980B2 */ lui $t9, %hi(sActionState) ## $t9 = 80B20000 +/* 00788 80B1E108 3C0C80B2 */ lui $t4, %hi(sDodgeRollState) ## $t4 = 80B20000 /* 0078C 80B1E10C 0701000A */ bgez $t8, .L80B1E138 /* 00790 80B1E110 00000000 */ nop -/* 00794 80B1E114 9339015E */ lbu $t9, %lo(D_80B2015E)($t9) +/* 00794 80B1E114 9339015E */ lbu $t9, %lo(sActionState)($t9) /* 00798 80B1E118 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 /* 0079C 80B1E11C 13210006 */ beq $t9, $at, .L80B1E138 /* 007A0 80B1E120 00000000 */ nop @@ -256,7 +256,7 @@ glabel EnTorch2_Update /* 007B0 80B1E130 304BFFFD */ andi $t3, $v0, 0xFFFD ## $t3 = 00000000 /* 007B4 80B1E134 A20B04A9 */ sb $t3, 0x04A9($s0) ## 000004A9 .L80B1E138: -/* 007B8 80B1E138 918C0161 */ lbu $t4, %lo(D_80B20161)($t4) +/* 007B8 80B1E138 918C0161 */ lbu $t4, %lo(sDodgeRollState)($t4) /* 007BC 80B1E13C 3C0142FE */ lui $at, 0x42FE ## $at = 42FE0000 /* 007C0 80B1E140 8FAD005C */ lw $t5, 0x005C($sp) /* 007C4 80B1E144 11800004 */ beq $t4, $zero, .L80B1E158 @@ -266,26 +266,26 @@ glabel EnTorch2_Update /* 007D4 80B1E154 E4E80000 */ swc1 $f8, 0x0000($a3) ## 80B1F9F0 .L80B1E158: /* 007D8 80B1E158 11A0000E */ beq $t5, $zero, .L80B1E194 -/* 007DC 80B1E15C 3C1980B2 */ lui $t9, %hi(D_80B2015C) ## $t9 = 80B20000 +/* 007DC 80B1E15C 3C1980B2 */ lui $t9, %hi(sJumpslashTimer) ## $t9 = 80B20000 /* 007E0 80B1E160 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001 -/* 007E4 80B1E164 3C0180B2 */ lui $at, %hi(D_80B20161) ## $at = 80B20000 -/* 007E8 80B1E168 A02E0161 */ sb $t6, %lo(D_80B20161)($at) +/* 007E4 80B1E164 3C0180B2 */ lui $at, %hi(sDodgeRollState) ## $at = 80B20000 +/* 007E8 80B1E168 A02E0161 */ sb $t6, %lo(sDodgeRollState)($at) /* 007EC 80B1E16C 860F008A */ lh $t7, 0x008A($s0) ## 0000008A -/* 007F0 80B1E170 3C0180B2 */ lui $at, %hi(D_80B1F9F4) ## $at = 80B20000 +/* 007F0 80B1E170 3C0180B2 */ lui $at, %hi(sStickAngle) ## $at = 80B20000 /* 007F4 80B1E174 34188000 */ ori $t8, $zero, 0x8000 ## $t8 = 00008000 -/* 007F8 80B1E178 A42FF9F4 */ sh $t7, %lo(D_80B1F9F4)($at) +/* 007F8 80B1E178 A42FF9F4 */ sh $t7, %lo(sStickAngle)($at) /* 007FC 80B1E17C 3C0142FE */ lui $at, 0x42FE ## $at = 42FE0000 /* 00800 80B1E180 44815000 */ mtc1 $at, $f10 ## $f10 = 127.00 -/* 00804 80B1E184 3C0180B2 */ lui $at, %hi(D_80B20130) ## $at = 80B20000 +/* 00804 80B1E184 3C0180B2 */ lui $at, %hi(sInput) ## $at = 80B20000 /* 00808 80B1E188 E4EA0000 */ swc1 $f10, 0x0000($a3) ## 80B1F9F0 /* 0080C 80B1E18C 10000257 */ beq $zero, $zero, .L80B1EAEC -/* 00810 80B1E190 A4380130 */ sh $t8, %lo(D_80B20130)($at) +/* 00810 80B1E190 A4380130 */ sh $t8, %lo(sInput)($at) .L80B1E194: -/* 00814 80B1E194 9339015C */ lbu $t9, %lo(D_80B2015C)($t9) -/* 00818 80B1E198 3C0480B2 */ lui $a0, %hi(D_80B2015D) ## $a0 = 80B20000 +/* 00814 80B1E194 9339015C */ lbu $t9, %lo(sJumpslashTimer)($t9) +/* 00818 80B1E198 3C0480B2 */ lui $a0, %hi(sJumpslashFlag) ## $a0 = 80B20000 /* 0081C 80B1E19C 8FA90078 */ lw $t1, 0x0078($sp) /* 00820 80B1E1A0 1720021B */ bne $t9, $zero, .L80B1EA10 -/* 00824 80B1E1A4 2484015D */ addiu $a0, $a0, %lo(D_80B2015D) ## $a0 = 80B2015D +/* 00824 80B1E1A4 2484015D */ addiu $a0, $a0, %lo(sJumpslashFlag) ## $a0 = 80B2015D /* 00828 80B1E1A8 812A0843 */ lb $t2, 0x0843($t1) ## 00000843 /* 0082C 80B1E1AC 3C01C040 */ lui $at, 0xC040 ## $at = C0400000 /* 00830 80B1E1B0 55400008 */ bnel $t2, $zero, .L80B1E1D4 @@ -299,16 +299,16 @@ glabel EnTorch2_Update /* 00850 80B1E1D0 812B0842 */ lb $t3, 0x0842($t1) ## 00000842 .L80B1E1D4: /* 00854 80B1E1D4 24010011 */ addiu $at, $zero, 0x0011 ## $at = 00000011 -/* 00858 80B1E1D8 3C0480B2 */ lui $a0, %hi(D_80B2015D) ## $a0 = 80B20000 +/* 00858 80B1E1D8 3C0480B2 */ lui $a0, %hi(sJumpslashFlag) ## $a0 = 80B20000 /* 0085C 80B1E1DC 1561001F */ bne $t3, $at, .L80B1E25C -/* 00860 80B1E1E0 2484015D */ addiu $a0, $a0, %lo(D_80B2015D) ## $a0 = 80B2015D +/* 00860 80B1E1E0 2484015D */ addiu $a0, $a0, %lo(sJumpslashFlag) ## $a0 = 80B2015D /* 00864 80B1E1E4 8603008A */ lh $v1, 0x008A($s0) ## 0000008A /* 00868 80B1E1E8 3C0D0001 */ lui $t5, 0x0001 ## $t5 = 00010000 -/* 0086C 80B1E1EC 3C0680B2 */ lui $a2, %hi(D_80B20130) ## $a2 = 80B20000 +/* 0086C 80B1E1EC 3C0680B2 */ lui $a2, %hi(sInput) ## $a2 = 80B20000 /* 00870 80B1E1F0 A60300B6 */ sh $v1, 0x00B6($s0) ## 000000B6 /* 00874 80B1E1F4 A6030032 */ sh $v1, 0x0032($s0) ## 00000032 /* 00878 80B1E1F8 8FAC0084 */ lw $t4, 0x0084($sp) -/* 0087C 80B1E1FC 3C0180B2 */ lui $at, %hi(D_80B1F9F4) ## $at = 80B20000 +/* 0087C 80B1E1FC 3C0180B2 */ lui $at, %hi(sStickAngle) ## $at = 80B20000 /* 00880 80B1E200 2419000F */ addiu $t9, $zero, 0x000F ## $t9 = 0000000F /* 00884 80B1E204 01AC6821 */ addu $t5, $t5, $t4 /* 00888 80B1E208 8DAD1DE4 */ lw $t5, 0x1DE4($t5) ## 00011DE4 @@ -317,26 +317,26 @@ glabel EnTorch2_Update /* 00894 80B1E214 31AE0001 */ andi $t6, $t5, 0x0001 ## $t6 = 00000000 /* 00898 80B1E218 11C00004 */ beq $t6, $zero, .L80B1E22C /* 0089C 80B1E21C 00000000 */ nop -/* 008A0 80B1E220 3C0180B2 */ lui $at, %hi(D_80B1F9F4) ## $at = 80B20000 +/* 008A0 80B1E220 3C0180B2 */ lui $at, %hi(sStickAngle) ## $at = 80B20000 /* 008A4 80B1E224 10000002 */ beq $zero, $zero, .L80B1E230 -/* 008A8 80B1E228 A42FF9F4 */ sh $t7, %lo(D_80B1F9F4)($at) +/* 008A8 80B1E228 A42FF9F4 */ sh $t7, %lo(sStickAngle)($at) .L80B1E22C: -/* 008AC 80B1E22C A438F9F4 */ sh $t8, %lo(D_80B1F9F4)($at) +/* 008AC 80B1E22C A438F9F4 */ sh $t8, %lo(sStickAngle)($at) .L80B1E230: /* 008B0 80B1E230 3C0142FE */ lui $at, 0x42FE ## $at = 42FE0000 /* 008B4 80B1E234 44812000 */ mtc1 $at, $f4 ## $f4 = 127.00 -/* 008B8 80B1E238 94C60130 */ lhu $a2, %lo(D_80B20130)($a2) -/* 008BC 80B1E23C 3C0180B2 */ lui $at, %hi(D_80B2015C) ## $at = 80B20000 +/* 008B8 80B1E238 94C60130 */ lhu $a2, %lo(sInput)($a2) +/* 008BC 80B1E23C 3C0180B2 */ lui $at, %hi(sJumpslashTimer) ## $at = 80B20000 /* 008C0 80B1E240 E4E40000 */ swc1 $f4, 0x0000($a3) ## 80B1F9F0 -/* 008C4 80B1E244 A039015C */ sb $t9, %lo(D_80B2015C)($at) +/* 008C4 80B1E244 A039015C */ sb $t9, %lo(sJumpslashTimer)($at) /* 008C8 80B1E248 A0800000 */ sb $zero, 0x0000($a0) ## 80B2015D -/* 008CC 80B1E24C 3C0180B2 */ lui $at, %hi(D_80B20130) ## $at = 80B20000 +/* 008CC 80B1E24C 3C0180B2 */ lui $at, %hi(sInput) ## $at = 80B20000 /* 008D0 80B1E250 34C68000 */ ori $a2, $a2, 0x8000 ## $a2 = 80B28000 /* 008D4 80B1E254 100001EC */ beq $zero, $zero, .L80B1EA08 -/* 008D8 80B1E258 A4260130 */ sh $a2, %lo(D_80B20130)($at) +/* 008D8 80B1E258 A4260130 */ sh $a2, %lo(sInput)($at) .L80B1E25C: -/* 008DC 80B1E25C 3C0A80B2 */ lui $t2, %hi(D_80B20148) ## $t2 = 80B20000 -/* 008E0 80B1E260 914A0148 */ lbu $t2, %lo(D_80B20148)($t2) +/* 008DC 80B1E25C 3C0A80B2 */ lui $t2, %hi(sSwordJumpState) ## $t2 = 80B20000 +/* 008E0 80B1E260 914A0148 */ lbu $t2, %lo(sSwordJumpState)($t2) /* 008E4 80B1E264 11400072 */ beq $t2, $zero, .L80B1E430 /* 008E8 80B1E268 00000000 */ nop /* 008EC 80B1E26C 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 @@ -388,8 +388,8 @@ glabel EnTorch2_Update /* 00998 80B1E318 0C01E0C4 */ jal Math_SmoothStepToF /* 0099C 80B1E31C 00000000 */ nop -/* 009A0 80B1E320 3C0380B2 */ lui $v1, %hi(D_80B2015F) ## $v1 = 80B20000 -/* 009A4 80B1E324 2463015F */ addiu $v1, $v1, %lo(D_80B2015F) ## $v1 = 80B2015F +/* 009A0 80B1E320 3C0380B2 */ lui $v1, %hi(sSwordJumpTimer) ## $v1 = 80B20000 +/* 009A4 80B1E324 2463015F */ addiu $v1, $v1, %lo(sSwordJumpTimer) ## $v1 = 80B2015F /* 009A8 80B1E328 90780000 */ lbu $t8, 0x0000($v1) ## 80B2015F /* 009AC 80B1E32C 340C8000 */ ori $t4, $zero, 0x8000 ## $t4 = 00008000 /* 009B0 80B1E330 2719FFFF */ addiu $t9, $t8, 0xFFFF ## $t9 = FFFFFFFF @@ -406,51 +406,51 @@ glabel EnTorch2_Update .L80B1E35C: /* 009DC 80B1E35C 8602008A */ lh $v0, 0x008A($s0) ## 0000008A /* 009E0 80B1E360 8FA70078 */ lw $a3, 0x0078($sp) -/* 009E4 80B1E364 3C0180B2 */ lui $at, %hi(D_80B20130) ## $at = 80B20000 +/* 009E4 80B1E364 3C0180B2 */ lui $at, %hi(sInput) ## $at = 80B20000 /* 009E8 80B1E368 A6020032 */ sh $v0, 0x0032($s0) ## 00000032 /* 009EC 80B1E36C A60200B6 */ sh $v0, 0x00B6($s0) ## 000000B6 -/* 009F0 80B1E370 A42C0130 */ sh $t4, %lo(D_80B20130)($at) +/* 009F0 80B1E370 A42C0130 */ sh $t4, %lo(sInput)($at) /* 009F4 80B1E374 90ED0692 */ lbu $t5, 0x0692($a3) ## 00000692 /* 009F8 80B1E378 3C0142FE */ lui $at, 0x42FE ## $at = 42FE0000 /* 009FC 80B1E37C 44812000 */ mtc1 $at, $f4 ## $f4 = 127.00 /* 00A00 80B1E380 31AEFFFB */ andi $t6, $t5, 0xFFFB ## $t6 = 00000000 -/* 00A04 80B1E384 3C0180B2 */ lui $at, %hi(D_80B1F9F0) ## $at = 80B20000 +/* 00A04 80B1E384 3C0180B2 */ lui $at, %hi(sStickTilt) ## $at = 80B20000 /* 00A08 80B1E388 A0EE0692 */ sb $t6, 0x0692($a3) ## 00000692 -/* 00A0C 80B1E38C E424F9F0 */ swc1 $f4, %lo(D_80B1F9F0)($at) +/* 00A0C 80B1E38C E424F9F0 */ swc1 $f4, %lo(sStickTilt)($at) /* 00A10 80B1E390 3C014040 */ lui $at, 0x4040 ## $at = 40400000 /* 00A14 80B1E394 44813000 */ mtc1 $at, $f6 ## $f6 = 3.00 /* 00A18 80B1E398 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000 /* 00A1C 80B1E39C E4E601CC */ swc1 $f6, 0x01CC($a3) ## 000001CC /* 00A20 80B1E3A0 860F008A */ lh $t7, 0x008A($s0) ## 0000008A /* 00A24 80B1E3A4 01E1C021 */ addu $t8, $t7, $at -/* 00A28 80B1E3A8 3C0180B2 */ lui $at, %hi(D_80B1F9F4) ## $at = 80B20000 -/* 00A2C 80B1E3AC A438F9F4 */ sh $t8, %lo(D_80B1F9F4)($at) -/* 00A30 80B1E3B0 3C0180B2 */ lui $at, %hi(D_80B20148) ## $at = 80B20000 -/* 00A34 80B1E3B4 A0200148 */ sb $zero, %lo(D_80B20148)($at) +/* 00A28 80B1E3A8 3C0180B2 */ lui $at, %hi(sStickAngle) ## $at = 80B20000 +/* 00A2C 80B1E3AC A438F9F4 */ sh $t8, %lo(sStickAngle)($at) +/* 00A30 80B1E3B0 3C0180B2 */ lui $at, %hi(sSwordJumpState) ## $at = 80B20000 +/* 00A34 80B1E3B4 A0200148 */ sb $zero, %lo(sSwordJumpState)($at) /* 00A38 80B1E3B8 A0600000 */ sb $zero, 0x0000($v1) ## 80B2015F /* 00A3C 80B1E3BC 8E190004 */ lw $t9, 0x0004($s0) ## 00000004 /* 00A40 80B1E3C0 372A0001 */ ori $t2, $t9, 0x0001 ## $t2 = FFFFFFFF /* 00A44 80B1E3C4 10000190 */ beq $zero, $zero, .L80B1EA08 /* 00A48 80B1E3C8 AE0A0004 */ sw $t2, 0x0004($s0) ## 00000004 .L80B1E3CC: -/* 00A4C 80B1E3CC 3C0B80B2 */ lui $t3, %hi(D_80B20148) ## $t3 = 80B20000 -/* 00A50 80B1E3D0 916B0148 */ lbu $t3, %lo(D_80B20148)($t3) +/* 00A4C 80B1E3CC 3C0B80B2 */ lui $t3, %hi(sSwordJumpState) ## $t3 = 80B20000 +/* 00A50 80B1E3D0 916B0148 */ lbu $t3, %lo(sSwordJumpState)($t3) /* 00A54 80B1E3D4 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 /* 00A58 80B1E3D8 1561018B */ bne $t3, $at, .L80B1EA08 /* 00A5C 80B1E3DC 28410010 */ slti $at, $v0, 0x0010 /* 00A60 80B1E3E0 1020000C */ beq $at, $zero, .L80B1E414 /* 00A64 80B1E3E4 00401825 */ or $v1, $v0, $zero ## $v1 = 000000FF -/* 00A68 80B1E3E8 3C0580B2 */ lui $a1, %hi(D_80B20130) ## $a1 = 80B20000 -/* 00A6C 80B1E3EC 24A50130 */ addiu $a1, $a1, %lo(D_80B20130) ## $a1 = 80B20130 +/* 00A68 80B1E3E8 3C0580B2 */ lui $a1, %hi(sInput) ## $a1 = 80B20000 +/* 00A6C 80B1E3EC 24A50130 */ addiu $a1, $a1, %lo(sInput) ## $a1 = 80B20130 /* 00A70 80B1E3F0 8FA40084 */ lw $a0, 0x0084($sp) -/* 00A74 80B1E3F4 0C2C76F6 */ jal func_80B1DBD8 +/* 00A74 80B1E3F4 0C2C76F6 */ jal EnTorch2_SwingSword /* 00A78 80B1E3F8 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 00A7C 80B1E3FC 3C0C80B2 */ lui $t4, %hi(D_80B20148) ## $t4 = 80B20000 -/* 00A80 80B1E400 918C0148 */ lbu $t4, %lo(D_80B20148)($t4) -/* 00A84 80B1E404 3C0180B2 */ lui $at, %hi(D_80B20148) ## $at = 80B20000 +/* 00A7C 80B1E3FC 3C0C80B2 */ lui $t4, %hi(sSwordJumpState) ## $t4 = 80B20000 +/* 00A80 80B1E400 918C0148 */ lbu $t4, %lo(sSwordJumpState)($t4) +/* 00A84 80B1E404 3C0180B2 */ lui $at, %hi(sSwordJumpState) ## $at = 80B20000 /* 00A88 80B1E408 258D0001 */ addiu $t5, $t4, 0x0001 ## $t5 = 80B20001 /* 00A8C 80B1E40C 1000017E */ beq $zero, $zero, .L80B1EA08 -/* 00A90 80B1E410 A02D0148 */ sb $t5, %lo(D_80B20148)($at) +/* 00A90 80B1E410 A02D0148 */ sb $t5, %lo(sSwordJumpState)($at) .L80B1E414: /* 00A94 80B1E414 24010013 */ addiu $at, $zero, 0x0013 ## $at = 00000013 /* 00A98 80B1E418 1461017B */ bne $v1, $at, .L80B1EA08 @@ -460,8 +460,8 @@ glabel EnTorch2_Update /* 00AA8 80B1E428 10000177 */ beq $zero, $zero, .L80B1EA08 /* 00AAC 80B1E42C 00000000 */ nop .L80B1E430: -/* 00AB0 80B1E430 3C0380B2 */ lui $v1, %hi(D_80B1F9FC) ## $v1 = 80B20000 -/* 00AB4 80B1E434 2463F9FC */ addiu $v1, $v1, %lo(D_80B1F9FC) ## $v1 = 80B1F9FC +/* 00AB0 80B1E430 3C0380B2 */ lui $v1, %hi(sHoldShieldTimer) ## $v1 = 80B20000 +/* 00AB4 80B1E434 2463F9FC */ addiu $v1, $v1, %lo(sHoldShieldTimer) ## $v1 = 80B1F9FC /* 00AB8 80B1E438 8C620000 */ lw $v0, 0x0000($v1) ## 80B1F9FC /* 00ABC 80B1E43C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 /* 00AC0 80B1E440 24077FFF */ addiu $a3, $zero, 0x7FFF ## $a3 = 00007FFF @@ -470,8 +470,8 @@ glabel EnTorch2_Update /* 00ACC 80B1E44C 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF /* 00AD0 80B1E450 AC6E0000 */ sw $t6, 0x0000($v1) ## 80B1F9FC /* 00AD4 80B1E454 24060010 */ addiu $a2, $zero, 0x0010 ## $a2 = 00000010 -/* 00AD8 80B1E458 3C0180B2 */ lui $at, %hi(D_80B20130) ## $at = 80B20000 -/* 00ADC 80B1E45C A4260130 */ sh $a2, %lo(D_80B20130)($at) +/* 00AD8 80B1E458 3C0180B2 */ lui $at, %hi(sInput) ## $at = 80B20000 +/* 00ADC 80B1E45C A4260130 */ sh $a2, %lo(sInput)($at) .L80B1E460: /* 00AE0 80B1E460 AFAF0010 */ sw $t7, 0x0010($sp) /* 00AE4 80B1E464 86180032 */ lh $t8, 0x0032($s0) ## 00000032 @@ -497,10 +497,10 @@ glabel EnTorch2_Update /* 00B34 80B1E4B4 45020048 */ bc1fl .L80B1E5D8 /* 00B38 80B1E4B8 860D008A */ lh $t5, 0x008A($s0) ## 0000008A /* 00B3C 80B1E4BC 82190843 */ lb $t9, 0x0843($s0) ## 00000843 -/* 00B40 80B1E4C0 3C0A80B2 */ lui $t2, %hi(D_80B20160) ## $t2 = 80B20000 +/* 00B40 80B1E4C0 3C0A80B2 */ lui $t2, %hi(sCounterState) ## $t2 = 80B20000 /* 00B44 80B1E4C4 1720003C */ bne $t9, $zero, .L80B1E5B8 /* 00B48 80B1E4C8 00000000 */ nop -/* 00B4C 80B1E4CC 914A0160 */ lbu $t2, %lo(D_80B20160)($t2) +/* 00B4C 80B1E4CC 914A0160 */ lbu $t2, %lo(sCounterState)($t2) /* 00B50 80B1E4D0 15400039 */ bne $t2, $zero, .L80B1E5B8 /* 00B54 80B1E4D4 00000000 */ nop /* 00B58 80B1E4D8 80EB0A78 */ lb $t3, 0x0A78($a3) ## 00000A78 @@ -517,17 +517,17 @@ glabel EnTorch2_Update /* 00B84 80B1E504 0C00CEA1 */ jal func_80033A84 /* 00B88 80B1E508 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 /* 00B8C 80B1E50C 1040002A */ beq $v0, $zero, .L80B1E5B8 -/* 00B90 80B1E510 3C0380B2 */ lui $v1, %hi(D_80B2015F) ## $v1 = 80B20000 +/* 00B90 80B1E510 3C0380B2 */ lui $v1, %hi(sSwordJumpTimer) ## $v1 = 80B20000 /* 00B94 80B1E514 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00 -/* 00B98 80B1E518 3C0180B2 */ lui $at, %hi(D_80B1F9F0) ## $at = 80B20000 +/* 00B98 80B1E518 3C0180B2 */ lui $at, %hi(sStickTilt) ## $at = 80B20000 /* 00B9C 80B1E51C 8FAD0078 */ lw $t5, 0x0078($sp) -/* 00BA0 80B1E520 E430F9F0 */ swc1 $f16, %lo(D_80B1F9F0)($at) -/* 00BA4 80B1E524 3C0180B2 */ lui $at, %hi(D_80B20148) ## $at = 80B20000 +/* 00BA0 80B1E520 E430F9F0 */ swc1 $f16, %lo(sStickTilt)($at) +/* 00BA4 80B1E524 3C0180B2 */ lui $at, %hi(sSwordJumpState) ## $at = 80B20000 /* 00BA8 80B1E528 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001 -/* 00BAC 80B1E52C A02C0148 */ sb $t4, %lo(D_80B20148)($at) +/* 00BAC 80B1E52C A02C0148 */ sb $t4, %lo(sSwordJumpState)($at) /* 00BB0 80B1E530 91AE0692 */ lbu $t6, 0x0692($t5) ## 00000692 /* 00BB4 80B1E534 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE -/* 00BB8 80B1E538 2463015F */ addiu $v1, $v1, %lo(D_80B2015F) ## $v1 = 80B2015F +/* 00BB8 80B1E538 2463015F */ addiu $v1, $v1, %lo(sSwordJumpTimer) ## $v1 = 80B2015F /* 00BBC 80B1E53C 35CF0004 */ ori $t7, $t6, 0x0004 ## $t7 = 00000004 /* 00BC0 80B1E540 A1AF0692 */ sb $t7, 0x0692($t5) ## 00000692 /* 00BC4 80B1E544 8E180004 */ lw $t8, 0x0004($s0) ## 00000004 @@ -553,43 +553,43 @@ glabel EnTorch2_Update /* 00C14 80B1E594 8FA40084 */ lw $a0, 0x0084($sp) /* 00C18 80B1E598 0C028EF0 */ jal func_800A3BC0 /* 00C1C 80B1E59C 24A501B4 */ addiu $a1, $a1, 0x01B4 ## $a1 = 000001B4 -/* 00C20 80B1E5A0 3C0180B2 */ lui $at, %hi(D_80B1F9FC) ## $at = 80B20000 -/* 00C24 80B1E5A4 AC20F9FC */ sw $zero, %lo(D_80B1F9FC)($at) -/* 00C28 80B1E5A8 3C0180B2 */ lui $at, %hi(D_80B20130) ## $at = 80B20000 +/* 00C20 80B1E5A0 3C0180B2 */ lui $at, %hi(sHoldShieldTimer) ## $at = 80B20000 +/* 00C24 80B1E5A4 AC20F9FC */ sw $zero, %lo(sHoldShieldTimer)($at) +/* 00C28 80B1E5A8 3C0180B2 */ lui $at, %hi(sInput) ## $at = 80B20000 /* 00C2C 80B1E5AC 34068000 */ ori $a2, $zero, 0x8000 ## $a2 = 00008000 /* 00C30 80B1E5B0 10000006 */ beq $zero, $zero, .L80B1E5CC -/* 00C34 80B1E5B4 A4260130 */ sh $a2, %lo(D_80B20130)($at) +/* 00C34 80B1E5B4 A4260130 */ sh $a2, %lo(sInput)($at) .L80B1E5B8: -/* 00C38 80B1E5B8 3C0580B2 */ lui $a1, %hi(D_80B20130) ## $a1 = 80B20000 -/* 00C3C 80B1E5BC 24A50130 */ addiu $a1, $a1, %lo(D_80B20130) ## $a1 = 80B20130 +/* 00C38 80B1E5B8 3C0580B2 */ lui $a1, %hi(sInput) ## $a1 = 80B20000 +/* 00C3C 80B1E5BC 24A50130 */ addiu $a1, $a1, %lo(sInput) ## $a1 = 80B20130 /* 00C40 80B1E5C0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00C44 80B1E5C4 0C2C775C */ jal func_80B1DD70 +/* 00C44 80B1E5C4 0C2C775C */ jal EnTorch2_Backflip /* 00C48 80B1E5C8 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 .L80B1E5CC: /* 00C4C 80B1E5CC 1000010E */ beq $zero, $zero, .L80B1EA08 /* 00C50 80B1E5D0 00000000 */ nop /* 00C54 80B1E5D4 860D008A */ lh $t5, 0x008A($s0) ## 0000008A .L80B1E5D8: -/* 00C58 80B1E5D8 3C0380B2 */ lui $v1, %hi(D_80B1F9F4) ## $v1 = 80B20000 -/* 00C5C 80B1E5DC 2463F9F4 */ addiu $v1, $v1, %lo(D_80B1F9F4) ## $v1 = 80B1F9F4 -/* 00C60 80B1E5E0 3C0180B2 */ lui $at, %hi(D_80B20130) ## $at = 80B20000 +/* 00C58 80B1E5D8 3C0380B2 */ lui $v1, %hi(sStickAngle) ## $v1 = 80B20000 +/* 00C5C 80B1E5DC 2463F9F4 */ addiu $v1, $v1, %lo(sStickAngle) ## $v1 = 80B1F9F4 +/* 00C60 80B1E5E0 3C0180B2 */ lui $at, %hi(sInput) ## $at = 80B20000 /* 00C64 80B1E5E4 A46D0000 */ sh $t5, 0x0000($v1) ## 80B1F9F4 -/* 00C68 80B1E5E8 A4380130 */ sh $t8, %lo(D_80B20130)($at) +/* 00C68 80B1E5E8 A4380130 */ sh $t8, %lo(sInput)($at) /* 00C6C 80B1E5EC 80E20842 */ lb $v0, 0x0842($a3) ## 00000842 /* 00C70 80B1E5F0 28410004 */ slti $at, $v0, 0x0004 /* 00C74 80B1E5F4 50200006 */ beql $at, $zero, .L80B1E610 /* 00C78 80B1E5F8 28410008 */ slti $at, $v0, 0x0008 /* 00C7C 80B1E5FC 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00 -/* 00C80 80B1E600 3C0180B2 */ lui $at, %hi(D_80B1F9F0) ## $at = 80B20000 +/* 00C80 80B1E600 3C0180B2 */ lui $at, %hi(sStickTilt) ## $at = 80B20000 /* 00C84 80B1E604 1000002A */ beq $zero, $zero, .L80B1E6B0 -/* 00C88 80B1E608 E428F9F0 */ swc1 $f8, %lo(D_80B1F9F0)($at) +/* 00C88 80B1E608 E428F9F0 */ swc1 $f8, %lo(sStickTilt)($at) /* 00C8C 80B1E60C 28410008 */ slti $at, $v0, 0x0008 .L80B1E610: /* 00C90 80B1E610 10200008 */ beq $at, $zero, .L80B1E634 /* 00C94 80B1E614 3C0142FE */ lui $at, 0x42FE ## $at = 42FE0000 /* 00C98 80B1E618 44815000 */ mtc1 $at, $f10 ## $f10 = 127.00 -/* 00C9C 80B1E61C 3C0180B2 */ lui $at, %hi(D_80B1F9F0) ## $at = 80B20000 -/* 00CA0 80B1E620 E42AF9F0 */ swc1 $f10, %lo(D_80B1F9F0)($at) +/* 00C9C 80B1E61C 3C0180B2 */ lui $at, %hi(sStickTilt) ## $at = 80B20000 +/* 00CA0 80B1E620 E42AF9F0 */ swc1 $f10, %lo(sStickTilt)($at) /* 00CA4 80B1E624 84790000 */ lh $t9, 0x0000($v1) ## 80B1F9F4 /* 00CA8 80B1E628 272A4000 */ addiu $t2, $t9, 0x4000 ## $t2 = 00004000 /* 00CAC 80B1E62C 10000020 */ beq $zero, $zero, .L80B1E6B0 @@ -599,8 +599,8 @@ glabel EnTorch2_Update /* 00CB8 80B1E638 10200008 */ beq $at, $zero, .L80B1E65C /* 00CBC 80B1E63C 3C0142FE */ lui $at, 0x42FE ## $at = 42FE0000 /* 00CC0 80B1E640 44818000 */ mtc1 $at, $f16 ## $f16 = 127.00 -/* 00CC4 80B1E644 3C0180B2 */ lui $at, %hi(D_80B1F9F0) ## $at = 80B20000 -/* 00CC8 80B1E648 E430F9F0 */ swc1 $f16, %lo(D_80B1F9F0)($at) +/* 00CC4 80B1E644 3C0180B2 */ lui $at, %hi(sStickTilt) ## $at = 80B20000 +/* 00CC8 80B1E648 E430F9F0 */ swc1 $f16, %lo(sStickTilt)($at) /* 00CCC 80B1E64C 846B0000 */ lh $t3, 0x0000($v1) ## 80B1F9F4 /* 00CD0 80B1E650 256CC000 */ addiu $t4, $t3, 0xC000 ## $t4 = FFFFC000 /* 00CD4 80B1E654 10000016 */ beq $zero, $zero, .L80B1E6B0 @@ -609,29 +609,29 @@ glabel EnTorch2_Update /* 00CDC 80B1E65C 28410018 */ slti $at, $v0, 0x0018 /* 00CE0 80B1E660 10200004 */ beq $at, $zero, .L80B1E674 /* 00CE4 80B1E664 24060010 */ addiu $a2, $zero, 0x0010 ## $a2 = 00000010 -/* 00CE8 80B1E668 3C0180B2 */ lui $at, %hi(D_80B20130) ## $at = 80B20000 +/* 00CE8 80B1E668 3C0180B2 */ lui $at, %hi(sInput) ## $at = 80B20000 /* 00CEC 80B1E66C 10000010 */ beq $zero, $zero, .L80B1E6B0 -/* 00CF0 80B1E670 A4260130 */ sh $a2, %lo(D_80B20130)($at) +/* 00CF0 80B1E670 A4260130 */ sh $a2, %lo(sInput)($at) .L80B1E674: /* 00CF4 80B1E674 2841001C */ slti $at, $v0, 0x001C /* 00CF8 80B1E678 10200008 */ beq $at, $zero, .L80B1E69C /* 00CFC 80B1E67C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00D00 80B1E680 3C0580B2 */ lui $a1, %hi(D_80B20130) ## $a1 = 80B20000 -/* 00D04 80B1E684 24A50130 */ addiu $a1, $a1, %lo(D_80B20130) ## $a1 = 80B20130 +/* 00D00 80B1E680 3C0580B2 */ lui $a1, %hi(sInput) ## $a1 = 80B20000 +/* 00D04 80B1E684 24A50130 */ addiu $a1, $a1, %lo(sInput) ## $a1 = 80B20130 /* 00D08 80B1E688 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00D0C 80B1E68C 0C2C775C */ jal func_80B1DD70 +/* 00D0C 80B1E68C 0C2C775C */ jal EnTorch2_Backflip /* 00D10 80B1E690 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 /* 00D14 80B1E694 10000006 */ beq $zero, $zero, .L80B1E6B0 /* 00D18 80B1E698 8FA70078 */ lw $a3, 0x0078($sp) .L80B1E69C: -/* 00D1C 80B1E69C 3C0580B2 */ lui $a1, %hi(D_80B20130) ## $a1 = 80B20000 -/* 00D20 80B1E6A0 24A50130 */ addiu $a1, $a1, %lo(D_80B20130) ## $a1 = 80B20130 -/* 00D24 80B1E6A4 0C2C775C */ jal func_80B1DD70 +/* 00D1C 80B1E69C 3C0580B2 */ lui $a1, %hi(sInput) ## $a1 = 80B20000 +/* 00D20 80B1E6A0 24A50130 */ addiu $a1, $a1, %lo(sInput) ## $a1 = 80B20130 +/* 00D24 80B1E6A4 0C2C775C */ jal EnTorch2_Backflip /* 00D28 80B1E6A8 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 /* 00D2C 80B1E6AC 8FA70078 */ lw $a3, 0x0078($sp) .L80B1E6B0: -/* 00D30 80B1E6B0 3C0680B2 */ lui $a2, %hi(D_80B20130) ## $a2 = 80B20000 -/* 00D34 80B1E6B4 94C60130 */ lhu $a2, %lo(D_80B20130)($a2) +/* 00D30 80B1E6B0 3C0680B2 */ lui $a2, %hi(sInput) ## $a2 = 80B20000 +/* 00D34 80B1E6B4 94C60130 */ lhu $a2, %lo(sInput)($a2) /* 00D38 80B1E6B8 30CE8010 */ andi $t6, $a2, 0x8010 ## $t6 = 00000000 /* 00D3C 80B1E6BC 15C000D2 */ bne $t6, $zero, .L80B1EA08 /* 00D40 80B1E6C0 00000000 */ nop @@ -640,15 +640,15 @@ glabel EnTorch2_Update /* 00D4C 80B1E6CC 00000000 */ nop /* 00D50 80B1E6D0 80ED0843 */ lb $t5, 0x0843($a3) ## 00000843 /* 00D54 80B1E6D4 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001 -/* 00D58 80B1E6D8 3C0180B2 */ lui $at, %hi(D_80B20160) ## $at = 80B20000 +/* 00D58 80B1E6D8 3C0180B2 */ lui $at, %hi(sCounterState) ## $at = 80B20000 /* 00D5C 80B1E6DC 11A000CA */ beq $t5, $zero, .L80B1EA08 /* 00D60 80B1E6E0 00000000 */ nop /* 00D64 80B1E6E4 100000C8 */ beq $zero, $zero, .L80B1EA08 -/* 00D68 80B1E6E8 A0380160 */ sb $t8, %lo(D_80B20160)($at) +/* 00D68 80B1E6E8 A0380160 */ sb $t8, %lo(sCounterState)($at) .L80B1E6EC: /* 00D6C 80B1E6EC 8619008A */ lh $t9, 0x008A($s0) ## 0000008A -/* 00D70 80B1E6F0 3C0180B2 */ lui $at, %hi(D_80B1F9F4) ## $at = 80B20000 -/* 00D74 80B1E6F4 A439F9F4 */ sh $t9, %lo(D_80B1F9F4)($at) +/* 00D70 80B1E6F0 3C0180B2 */ lui $at, %hi(sStickAngle) ## $at = 80B20000 +/* 00D74 80B1E6F4 A439F9F4 */ sh $t9, %lo(sStickAngle)($at) /* 00D78 80B1E6F8 3C0142B4 */ lui $at, 0x42B4 ## $at = 42B40000 /* 00D7C 80B1E6FC 44819000 */ mtc1 $at, $f18 ## $f18 = 90.00 /* 00D80 80B1E700 C6000090 */ lwc1 $f0, 0x0090($s0) ## 00000090 @@ -675,13 +675,13 @@ glabel EnTorch2_Update /* 00DD0 80B1E750 8FAB0078 */ lw $t3, 0x0078($sp) /* 00DD4 80B1E754 8FA40084 */ lw $a0, 0x0084($sp) /* 00DD8 80B1E758 15400004 */ bne $t2, $zero, .L80B1E76C -/* 00DDC 80B1E75C 3C0580B2 */ lui $a1, %hi(D_80B20130) ## $a1 = 80B20000 +/* 00DDC 80B1E75C 3C0580B2 */ lui $a1, %hi(sInput) ## $a1 = 80B20000 /* 00DE0 80B1E760 8D6C067C */ lw $t4, 0x067C($t3) ## 0000067C /* 00DE4 80B1E764 000C7240 */ sll $t6, $t4, 9 -/* 00DE8 80B1E768 05C00005 */ bltz $t6, .L80B1E780 +/* 00DE8 80B1E768 05C00005 */ bltz $t6, .L80B1E780 .L80B1E76C: -/* 00DEC 80B1E76C 24A50130 */ addiu $a1, $a1, %lo(D_80B20130) ## $a1 = 80B20130 -/* 00DF0 80B1E770 0C2C76F6 */ jal func_80B1DBD8 +/* 00DEC 80B1E76C 24A50130 */ addiu $a1, $a1, %lo(sInput) ## $a1 = 80B20130 +/* 00DF0 80B1E770 0C2C76F6 */ jal EnTorch2_SwingSword /* 00DF4 80B1E774 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 /* 00DF8 80B1E778 100000A3 */ beq $zero, $zero, .L80B1EA08 /* 00DFC 80B1E77C 00000000 */ nop @@ -707,24 +707,24 @@ glabel EnTorch2_Update /* 00E44 80B1E7C4 3C014248 */ lui $at, 0x4248 ## $at = 42480000 /* 00E48 80B1E7C8 82180843 */ lb $t8, 0x0843($s0) ## 00000843 .L80B1E7CC: -/* 00E4C 80B1E7CC 3C0580B2 */ lui $a1, %hi(D_80B20130) ## $a1 = 80B20000 -/* 00E50 80B1E7D0 24A50130 */ addiu $a1, $a1, %lo(D_80B20130) ## $a1 = 80B20130 +/* 00E4C 80B1E7CC 3C0580B2 */ lui $a1, %hi(sInput) ## $a1 = 80B20000 +/* 00E50 80B1E7D0 24A50130 */ addiu $a1, $a1, %lo(sInput) ## $a1 = 80B20130 /* 00E54 80B1E7D4 17000012 */ bne $t8, $zero, .L80B1E820 /* 00E58 80B1E7D8 8FA40084 */ lw $a0, 0x0084($sp) -/* 00E5C 80B1E7DC 0C2C76F6 */ jal func_80B1DBD8 +/* 00E5C 80B1E7DC 0C2C76F6 */ jal EnTorch2_SwingSword /* 00E60 80B1E7E0 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 /* 00E64 80B1E7E4 14400088 */ bne $v0, $zero, .L80B1EA08 /* 00E68 80B1E7E8 00000000 */ nop /* 00E6C 80B1E7EC 82190843 */ lb $t9, 0x0843($s0) ## 00000843 -/* 00E70 80B1E7F0 3C0A80B2 */ lui $t2, %hi(D_80B20160) ## $t2 = 80B20000 +/* 00E70 80B1E7F0 3C0A80B2 */ lui $t2, %hi(sCounterState) ## $t2 = 80B20000 /* 00E74 80B1E7F4 17200084 */ bne $t9, $zero, .L80B1EA08 /* 00E78 80B1E7F8 00000000 */ nop -/* 00E7C 80B1E7FC 914A0160 */ lbu $t2, %lo(D_80B20160)($t2) -/* 00E80 80B1E800 3C0580B2 */ lui $a1, %hi(D_80B20130) ## $a1 = 80B20000 -/* 00E84 80B1E804 24A50130 */ addiu $a1, $a1, %lo(D_80B20130) ## $a1 = 80B20130 +/* 00E7C 80B1E7FC 914A0160 */ lbu $t2, %lo(sCounterState)($t2) +/* 00E80 80B1E800 3C0580B2 */ lui $a1, %hi(sInput) ## $a1 = 80B20000 +/* 00E84 80B1E804 24A50130 */ addiu $a1, $a1, %lo(sInput) ## $a1 = 80B20130 /* 00E88 80B1E808 1540007F */ bne $t2, $zero, .L80B1EA08 /* 00E8C 80B1E80C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00E90 80B1E810 0C2C775C */ jal func_80B1DD70 +/* 00E90 80B1E810 0C2C775C */ jal EnTorch2_Backflip /* 00E94 80B1E814 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 /* 00E98 80B1E818 1000007B */ beq $zero, $zero, .L80B1EA08 /* 00E9C 80B1E81C 00000000 */ nop @@ -741,13 +741,13 @@ glabel EnTorch2_Update /* 00EC0 80B1E840 44815000 */ mtc1 $at, $f10 ## $f10 = 100.00 /* 00EC4 80B1E844 3C0142FE */ lui $at, 0x42FE ## $at = 42FE0000 /* 00EC8 80B1E848 44814000 */ mtc1 $at, $f8 ## $f8 = 127.00 -/* 00ECC 80B1E84C 3C0180B2 */ lui $at, %hi(D_80B1F9F0) ## $at = 80B20000 -/* 00ED0 80B1E850 3C0480B2 */ lui $a0, %hi(D_80B1F9F4) ## $a0 = 80B20000 -/* 00ED4 80B1E854 E428F9F0 */ swc1 $f8, %lo(D_80B1F9F0)($at) +/* 00ECC 80B1E84C 3C0180B2 */ lui $at, %hi(sStickTilt) ## $at = 80B20000 +/* 00ED0 80B1E850 3C0480B2 */ lui $a0, %hi(sStickAngle) ## $a0 = 80B20000 +/* 00ED4 80B1E854 E428F9F0 */ swc1 $f8, %lo(sStickTilt)($at) /* 00ED8 80B1E858 860B008A */ lh $t3, 0x008A($s0) ## 0000008A -/* 00EDC 80B1E85C 3C0180B2 */ lui $at, %hi(D_80B1F9F4) ## $at = 80B20000 +/* 00EDC 80B1E85C 3C0180B2 */ lui $at, %hi(sStickAngle) ## $at = 80B20000 /* 00EE0 80B1E860 8FAE0078 */ lw $t6, 0x0078($sp) -/* 00EE4 80B1E864 A42BF9F4 */ sh $t3, %lo(D_80B1F9F4)($at) +/* 00EE4 80B1E864 A42BF9F4 */ sh $t3, %lo(sStickAngle)($at) /* 00EE8 80B1E868 920C010C */ lbu $t4, 0x010C($s0) ## 0000010C /* 00EEC 80B1E86C 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001 /* 00EF0 80B1E870 24072328 */ addiu $a3, $zero, 0x2328 ## $a3 = 00002328 @@ -755,7 +755,7 @@ glabel EnTorch2_Update /* 00EF8 80B1E878 00000000 */ nop /* 00EFC 80B1E87C 85C500B6 */ lh $a1, 0x00B6($t6) ## 000000B6 /* 00F00 80B1E880 AFA00010 */ sw $zero, 0x0010($sp) -/* 00F04 80B1E884 2484F9F4 */ addiu $a0, $a0, %lo(D_80B1F9F4) ## $a0 = 80B1F9F4 +/* 00F04 80B1E884 2484F9F4 */ addiu $a0, $a0, %lo(sStickAngle) ## $a0 = 80B1F9F4 /* 00F08 80B1E888 24A57FFF */ addiu $a1, $a1, 0x7FFF ## $a1 = 00007FFF /* 00F0C 80B1E88C 00052C00 */ sll $a1, $a1, 16 /* 00F10 80B1E890 0C01E1A7 */ jal Math_SmoothStepToS @@ -782,8 +782,8 @@ glabel EnTorch2_Update /* 00F5C 80B1E8DC 10200007 */ beq $at, $zero, .L80B1E8FC /* 00F60 80B1E8E0 3C01438C */ lui $at, 0x438C ## $at = 438C0000 /* 00F64 80B1E8E4 44812000 */ mtc1 $at, $f4 ## $f4 = 280.00 -/* 00F68 80B1E8E8 3C0580B2 */ lui $a1, %hi(D_80B20130) ## $a1 = 80B20000 -/* 00F6C 80B1E8EC 24A50130 */ addiu $a1, $a1, %lo(D_80B20130) ## $a1 = 80B20130 +/* 00F68 80B1E8E8 3C0580B2 */ lui $a1, %hi(sInput) ## $a1 = 80B20000 +/* 00F6C 80B1E8EC 24A50130 */ addiu $a1, $a1, %lo(sInput) ## $a1 = 80B20130 /* 00F70 80B1E8F0 4600203E */ c.le.s $f4, $f0 /* 00F74 80B1E8F4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 /* 00F78 80B1E8F8 45000017 */ bc1f .L80B1E958 @@ -791,13 +791,13 @@ glabel EnTorch2_Update /* 00F7C 80B1E8FC 3C0142FE */ lui $at, 0x42FE ## $at = 42FE0000 .L80B1E900: /* 00F80 80B1E900 44813000 */ mtc1 $at, $f6 ## $f6 = 127.00 -/* 00F84 80B1E904 3C0180B2 */ lui $at, %hi(D_80B1F9F0) ## $at = 80B20000 -/* 00F88 80B1E908 3C0480B2 */ lui $a0, %hi(D_80B1F9F4) ## $a0 = 80B20000 -/* 00F8C 80B1E90C E426F9F0 */ swc1 $f6, %lo(D_80B1F9F0)($at) +/* 00F84 80B1E904 3C0180B2 */ lui $at, %hi(sStickTilt) ## $at = 80B20000 +/* 00F88 80B1E908 3C0480B2 */ lui $a0, %hi(sStickAngle) ## $a0 = 80B20000 +/* 00F8C 80B1E90C E426F9F0 */ swc1 $f6, %lo(sStickTilt)($at) /* 00F90 80B1E910 8618008A */ lh $t8, 0x008A($s0) ## 0000008A -/* 00F94 80B1E914 3C0180B2 */ lui $at, %hi(D_80B1F9F4) ## $at = 80B20000 +/* 00F94 80B1E914 3C0180B2 */ lui $at, %hi(sStickAngle) ## $at = 80B20000 /* 00F98 80B1E918 8FAA0078 */ lw $t2, 0x0078($sp) -/* 00F9C 80B1E91C A438F9F4 */ sh $t8, %lo(D_80B1F9F4)($at) +/* 00F9C 80B1E91C A438F9F4 */ sh $t8, %lo(sStickAngle)($at) /* 00FA0 80B1E920 9219010C */ lbu $t9, 0x010C($s0) ## 0000010C /* 00FA4 80B1E924 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001 /* 00FA8 80B1E928 24072328 */ addiu $a3, $zero, 0x2328 ## $a3 = 00002328 @@ -805,7 +805,7 @@ glabel EnTorch2_Update /* 00FB0 80B1E930 00000000 */ nop /* 00FB4 80B1E934 854500B6 */ lh $a1, 0x00B6($t2) ## 000000B6 /* 00FB8 80B1E938 AFA00010 */ sw $zero, 0x0010($sp) -/* 00FBC 80B1E93C 2484F9F4 */ addiu $a0, $a0, %lo(D_80B1F9F4) ## $a0 = 80B1F9F4 +/* 00FBC 80B1E93C 2484F9F4 */ addiu $a0, $a0, %lo(sStickAngle) ## $a0 = 80B1F9F4 /* 00FC0 80B1E940 24A57FFF */ addiu $a1, $a1, 0x7FFF ## $a1 = 80B2812F /* 00FC4 80B1E944 00052C00 */ sll $a1, $a1, 16 /* 00FC8 80B1E948 0C01E1A7 */ jal Math_SmoothStepToS @@ -814,7 +814,7 @@ glabel EnTorch2_Update /* 00FD0 80B1E950 1000002D */ beq $zero, $zero, .L80B1EA08 /* 00FD4 80B1E954 00000000 */ nop .L80B1E958: -/* 00FD8 80B1E958 0C2C775C */ jal func_80B1DD70 +/* 00FD8 80B1E958 0C2C775C */ jal EnTorch2_Backflip /* 00FDC 80B1E95C 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 /* 00FE0 80B1E960 10000029 */ beq $zero, $zero, .L80B1EA08 /* 00FE4 80B1E964 00000000 */ nop @@ -835,22 +835,22 @@ glabel EnTorch2_Update /* 01014 80B1E994 28413000 */ slti $at, $v0, 0x3000 /* 01018 80B1E998 10200006 */ beq $at, $zero, .L80B1E9B4 .L80B1E99C: -/* 0101C 80B1E99C 3C0580B2 */ lui $a1, %hi(D_80B20130) ## $a1 = 80B20000 -/* 01020 80B1E9A0 24A50130 */ addiu $a1, $a1, %lo(D_80B20130) ## $a1 = 80B20130 -/* 01024 80B1E9A4 0C2C76F6 */ jal func_80B1DBD8 +/* 0101C 80B1E99C 3C0580B2 */ lui $a1, %hi(sInput) ## $a1 = 80B20000 +/* 01020 80B1E9A0 24A50130 */ addiu $a1, $a1, %lo(sInput) ## $a1 = 80B20130 +/* 01024 80B1E9A4 0C2C76F6 */ jal EnTorch2_SwingSword /* 01028 80B1E9A8 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 /* 0102C 80B1E9AC 14400016 */ bne $v0, $zero, .L80B1EA08 /* 01030 80B1E9B0 00000000 */ nop .L80B1E9B4: /* 01034 80B1E9B4 860B008A */ lh $t3, 0x008A($s0) ## 0000008A -/* 01038 80B1E9B8 3C0180B2 */ lui $at, %hi(D_80B1F9F4) ## $at = 80B20000 -/* 0103C 80B1E9BC 3C0480B2 */ lui $a0, %hi(D_80B1F9F4) ## $a0 = 80B20000 -/* 01040 80B1E9C0 A42BF9F4 */ sh $t3, %lo(D_80B1F9F4)($at) +/* 01038 80B1E9B8 3C0180B2 */ lui $at, %hi(sStickAngle) ## $at = 80B20000 +/* 0103C 80B1E9BC 3C0480B2 */ lui $a0, %hi(sStickAngle) ## $a0 = 80B20000 +/* 01040 80B1E9C0 A42BF9F4 */ sh $t3, %lo(sStickAngle)($at) /* 01044 80B1E9C4 3C0142FE */ lui $at, 0x42FE ## $at = 42FE0000 /* 01048 80B1E9C8 44814000 */ mtc1 $at, $f8 ## $f8 = 127.00 -/* 0104C 80B1E9CC 3C0180B2 */ lui $at, %hi(D_80B1F9F0) ## $at = 80B20000 +/* 0104C 80B1E9CC 3C0180B2 */ lui $at, %hi(sStickTilt) ## $at = 80B20000 /* 01050 80B1E9D0 8FAE0078 */ lw $t6, 0x0078($sp) -/* 01054 80B1E9D4 E428F9F0 */ swc1 $f8, %lo(D_80B1F9F0)($at) +/* 01054 80B1E9D4 E428F9F0 */ swc1 $f8, %lo(sStickTilt)($at) /* 01058 80B1E9D8 920C010C */ lbu $t4, 0x010C($s0) ## 0000010C /* 0105C 80B1E9DC 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001 /* 01060 80B1E9E0 24072328 */ addiu $a3, $zero, 0x2328 ## $a3 = 00002328 @@ -858,7 +858,7 @@ glabel EnTorch2_Update /* 01068 80B1E9E8 00000000 */ nop /* 0106C 80B1E9EC 85C500B6 */ lh $a1, 0x00B6($t6) ## 000000B6 /* 01070 80B1E9F0 AFA00010 */ sw $zero, 0x0010($sp) -/* 01074 80B1E9F4 2484F9F4 */ addiu $a0, $a0, %lo(D_80B1F9F4) ## $a0 = 80B1F9F4 +/* 01074 80B1E9F4 2484F9F4 */ addiu $a0, $a0, %lo(sStickAngle) ## $a0 = 80B1F9F4 /* 01078 80B1E9F8 24A57FFF */ addiu $a1, $a1, 0x7FFF ## $a1 = 00007FFF /* 0107C 80B1E9FC 00052C00 */ sll $a1, $a1, 16 /* 01080 80B1EA00 0C01E1A7 */ jal Math_SmoothStepToS @@ -869,67 +869,67 @@ glabel EnTorch2_Update /* 0108C 80B1EA0C 8FB90068 */ lw $t9, 0x0068($sp) .L80B1EA10: /* 01090 80B1EA10 90820000 */ lbu $v0, 0x0000($a0) ## 00000000 -/* 01094 80B1EA14 3C0D80B2 */ lui $t5, %hi(D_80B20165) ## $t5 = 80B20000 +/* 01094 80B1EA14 3C0D80B2 */ lui $t5, %hi(sAlpha) ## $t5 = 80B20000 /* 01098 80B1EA18 10400011 */ beq $v0, $zero, .L80B1EA60 /* 0109C 80B1EA1C 00000000 */ nop -/* 010A0 80B1EA20 91AD0165 */ lbu $t5, %lo(D_80B20165)($t5) +/* 010A0 80B1EA20 91AD0165 */ lbu $t5, %lo(sAlpha)($t5) /* 010A4 80B1EA24 240100FF */ addiu $at, $zero, 0x00FF ## $at = 000000FF /* 010A8 80B1EA28 15A1000D */ bne $t5, $at, .L80B1EA60 /* 010AC 80B1EA2C 00000000 */ nop /* 010B0 80B1EA30 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00 /* 010B4 80B1EA34 C6100060 */ lwc1 $f16, 0x0060($s0) ## 00000060 -/* 010B8 80B1EA38 3C0680B2 */ lui $a2, %hi(D_80B20130) ## $a2 = 80B20000 +/* 010B8 80B1EA38 3C0680B2 */ lui $a2, %hi(sInput) ## $a2 = 80B20000 /* 010BC 80B1EA3C 4610503C */ c.lt.s $f10, $f16 /* 010C0 80B1EA40 00000000 */ nop /* 010C4 80B1EA44 45000006 */ bc1f .L80B1EA60 /* 010C8 80B1EA48 00000000 */ nop -/* 010CC 80B1EA4C 94C60130 */ lhu $a2, %lo(D_80B20130)($a2) -/* 010D0 80B1EA50 3C0180B2 */ lui $at, %hi(D_80B20130) ## $at = 80B20000 +/* 010CC 80B1EA4C 94C60130 */ lhu $a2, %lo(sInput)($a2) +/* 010D0 80B1EA50 3C0180B2 */ lui $at, %hi(sInput) ## $at = 80B20000 /* 010D4 80B1EA54 34C64000 */ ori $a2, $a2, 0x4000 ## $a2 = 80B24000 /* 010D8 80B1EA58 10000024 */ beq $zero, $zero, .L80B1EAEC -/* 010DC 80B1EA5C A4260130 */ sh $a2, %lo(D_80B20130)($at) +/* 010DC 80B1EA5C A4260130 */ sh $a2, %lo(sInput)($at) .L80B1EA60: /* 010E0 80B1EA60 54400023 */ bnel $v0, $zero, .L80B1EAF0 /* 010E4 80B1EA64 8FB90068 */ lw $t9, 0x0068($sp) /* 010E8 80B1EA68 960F0088 */ lhu $t7, 0x0088($s0) ## 00000088 -/* 010EC 80B1EA6C 3C0E80B2 */ lui $t6, %hi(D_80B20130) ## $t6 = 80B20000 +/* 010EC 80B1EA6C 3C0E80B2 */ lui $t6, %hi(sInput) ## $t6 = 80B20000 /* 010F0 80B1EA70 31F80001 */ andi $t8, $t7, 0x0001 ## $t8 = 00000000 /* 010F4 80B1EA74 1300001D */ beq $t8, $zero, .L80B1EAEC /* 010F8 80B1EA78 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001 /* 010FC 80B1EA7C 8602008A */ lh $v0, 0x008A($s0) ## 0000008A -/* 01100 80B1EA80 3C1980B2 */ lui $t9, %hi(D_80B20165) ## $t9 = 80B20000 -/* 01104 80B1EA84 3C0180B2 */ lui $at, %hi(D_80B1F9F4) ## $at = 80B20000 +/* 01100 80B1EA80 3C1980B2 */ lui $t9, %hi(sAlpha) ## $t9 = 80B20000 +/* 01104 80B1EA84 3C0180B2 */ lui $at, %hi(sStickAngle) ## $at = 80B20000 /* 01108 80B1EA88 A60200B6 */ sh $v0, 0x00B6($s0) ## 000000B6 /* 0110C 80B1EA8C A6020032 */ sh $v0, 0x0032($s0) ## 00000032 -/* 01110 80B1EA90 93390165 */ lbu $t9, %lo(D_80B20165)($t9) -/* 01114 80B1EA94 A422F9F4 */ sh $v0, %lo(D_80B1F9F4)($at) +/* 01110 80B1EA90 93390165 */ lbu $t9, %lo(sAlpha)($t9) +/* 01114 80B1EA94 A422F9F4 */ sh $v0, %lo(sStickAngle)($at) /* 01118 80B1EA98 240100FF */ addiu $at, $zero, 0x00FF ## $at = 000000FF /* 0111C 80B1EA9C 1321000C */ beq $t9, $at, .L80B1EAD0 -/* 01120 80B1EAA0 3C0A80B2 */ lui $t2, %hi(D_80B1F9F4) ## $t2 = 80B20000 -/* 01124 80B1EAA4 854AF9F4 */ lh $t2, %lo(D_80B1F9F4)($t2) +/* 01120 80B1EAA0 3C0A80B2 */ lui $t2, %hi(sStickAngle) ## $t2 = 80B20000 +/* 01124 80B1EAA4 854AF9F4 */ lh $t2, %lo(sStickAngle)($t2) /* 01128 80B1EAA8 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000 /* 0112C 80B1EAAC 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001 /* 01130 80B1EAB0 01415821 */ addu $t3, $t2, $at -/* 01134 80B1EAB4 3C0180B2 */ lui $at, %hi(D_80B1F9F4) ## $at = 80B20000 -/* 01138 80B1EAB8 A42BF9F4 */ sh $t3, %lo(D_80B1F9F4)($at) +/* 01134 80B1EAB4 3C0180B2 */ lui $at, %hi(sStickAngle) ## $at = 80B20000 +/* 01138 80B1EAB8 A42BF9F4 */ sh $t3, %lo(sStickAngle)($at) /* 0113C 80B1EABC 3C0142FE */ lui $at, 0x42FE ## $at = 42FE0000 /* 01140 80B1EAC0 44819000 */ mtc1 $at, $f18 ## $f18 = 127.00 -/* 01144 80B1EAC4 3C0180B2 */ lui $at, %hi(D_80B1FA00) ## $at = 80B20000 +/* 01144 80B1EAC4 3C0180B2 */ lui $at, %hi(sZTargetFlag) ## $at = 80B20000 /* 01148 80B1EAC8 E4F20000 */ swc1 $f18, 0x0000($a3) ## 00000000 -/* 0114C 80B1EACC A02CFA00 */ sb $t4, %lo(D_80B1FA00)($at) +/* 0114C 80B1EACC A02CFA00 */ sb $t4, %lo(sZTargetFlag)($at) .L80B1EAD0: -/* 01150 80B1EAD0 95CE0130 */ lhu $t6, %lo(D_80B20130)($t6) -/* 01154 80B1EAD4 3C0180B2 */ lui $at, %hi(D_80B20130) ## $at = 80B20000 +/* 01150 80B1EAD0 95CE0130 */ lhu $t6, %lo(sInput)($t6) +/* 01154 80B1EAD4 3C0180B2 */ lui $at, %hi(sInput) ## $at = 80B20000 /* 01158 80B1EAD8 2418000A */ addiu $t8, $zero, 0x000A ## $t8 = 0000000A /* 0115C 80B1EADC 35CD8000 */ ori $t5, $t6, 0x8000 ## $t5 = 80B28000 -/* 01160 80B1EAE0 A42D0130 */ sh $t5, %lo(D_80B20130)($at) +/* 01160 80B1EAE0 A42D0130 */ sh $t5, %lo(sInput)($at) /* 01164 80B1EAE4 A08F0000 */ sb $t7, 0x0000($a0) ## 00000000 /* 01168 80B1EAE8 A2180A78 */ sb $t8, 0x0A78($s0) ## 00000A78 .L80B1EAEC: /* 0116C 80B1EAEC 8FB90068 */ lw $t9, 0x0068($sp) .L80B1EAF0: -/* 01170 80B1EAF0 3C0B80B2 */ lui $t3, %hi(D_80B1F9F4) ## $t3 = 80B20000 -/* 01174 80B1EAF4 856BF9F4 */ lh $t3, %lo(D_80B1F9F4)($t3) +/* 01170 80B1EAF0 3C0B80B2 */ lui $t3, %hi(sStickAngle) ## $t3 = 80B20000 +/* 01174 80B1EAF4 856BF9F4 */ lh $t3, %lo(sStickAngle)($t3) /* 01178 80B1EAF8 872A013C */ lh $t2, 0x013C($t9) ## 80B2013C /* 0117C 80B1EAFC 8FAE0084 */ lw $t6, 0x0084($sp) /* 01180 80B1EB00 3C010001 */ lui $at, 0x0001 ## $at = 00010000 @@ -943,45 +943,45 @@ glabel EnTorch2_Update /* 011A0 80B1EB20 0C01DE1C */ jal Math_SinS ## sins? /* 011A4 80B1EB24 A7A40066 */ sh $a0, 0x0066($sp) -/* 011A8 80B1EB28 3C0180B2 */ lui $at, %hi(D_80B1F9F0) ## $at = 80B20000 -/* 011AC 80B1EB2C C424F9F0 */ lwc1 $f4, %lo(D_80B1F9F0)($at) -/* 011B0 80B1EB30 3C0180B2 */ lui $at, %hi(D_80B20132) ## $at = 80B20000 +/* 011A8 80B1EB28 3C0180B2 */ lui $at, %hi(sStickTilt) ## $at = 80B20000 +/* 011AC 80B1EB2C C424F9F0 */ lwc1 $f4, %lo(sStickTilt)($at) +/* 011B0 80B1EB30 3C0180B2 */ lui $at, %hi(sInput+2) ## $at = 80B20000 /* 011B4 80B1EB34 87A40066 */ lh $a0, 0x0066($sp) /* 011B8 80B1EB38 46040182 */ mul.s $f6, $f0, $f4 /* 011BC 80B1EB3C 4600320D */ trunc.w.s $f8, $f6 /* 011C0 80B1EB40 44184000 */ mfc1 $t8, $f8 /* 011C4 80B1EB44 0C01DE0D */ jal Math_CosS ## coss? -/* 011C8 80B1EB48 A0380132 */ sb $t8, %lo(D_80B20132)($at) -/* 011CC 80B1EB4C 3C0180B2 */ lui $at, %hi(D_80B1F9F0) ## $at = 80B20000 -/* 011D0 80B1EB50 C42AF9F0 */ lwc1 $f10, %lo(D_80B1F9F0)($at) -/* 011D4 80B1EB54 3C0280B2 */ lui $v0, %hi(D_80B20165) ## $v0 = 80B20000 -/* 011D8 80B1EB58 90420165 */ lbu $v0, %lo(D_80B20165)($v0) +/* 011C8 80B1EB48 A0380132 */ sb $t8, %lo(sInput+2)($at) +/* 011CC 80B1EB4C 3C0180B2 */ lui $at, %hi(sStickTilt) ## $at = 80B20000 +/* 011D0 80B1EB50 C42AF9F0 */ lwc1 $f10, %lo(sStickTilt)($at) +/* 011D4 80B1EB54 3C0280B2 */ lui $v0, %hi(sAlpha) ## $v0 = 80B20000 +/* 011D8 80B1EB58 90420165 */ lbu $v0, %lo(sAlpha)($v0) /* 011DC 80B1EB5C 460A0402 */ mul.s $f16, $f0, $f10 -/* 011E0 80B1EB60 3C0180B2 */ lui $at, %hi(D_80B20133) ## $at = 80B20000 +/* 011E0 80B1EB60 3C0180B2 */ lui $at, %hi(sInput+3) ## $at = 80B20000 /* 011E4 80B1EB64 8FAA002C */ lw $t2, 0x002C($sp) /* 011E8 80B1EB68 4600848D */ trunc.w.s $f18, $f16 /* 011EC 80B1EB6C 44039000 */ mfc1 $v1, $f18 /* 011F0 80B1EB70 00000000 */ nop /* 011F4 80B1EB74 00031E00 */ sll $v1, $v1, 24 /* 011F8 80B1EB78 00031E03 */ sra $v1, $v1, 24 -/* 011FC 80B1EB7C A0230133 */ sb $v1, %lo(D_80B20133)($at) +/* 011FC 80B1EB7C A0230133 */ sb $v1, %lo(sInput+3)($at) /* 01200 80B1EB80 240100FF */ addiu $at, $zero, 0x00FF ## $at = 000000FF /* 01204 80B1EB84 104100B0 */ beq $v0, $at, .L80B1EE48 /* 01208 80B1EB88 00000000 */ nop /* 0120C 80B1EB8C 8D4B1DE4 */ lw $t3, 0x1DE4($t2) ## 00001DE4 /* 01210 80B1EB90 244E0001 */ addiu $t6, $v0, 0x0001 ## $t6 = 80B20001 -/* 01214 80B1EB94 3C0180B2 */ lui $at, %hi(D_80B20165) ## $at = 80B20000 +/* 01214 80B1EB94 3C0180B2 */ lui $at, %hi(sAlpha) ## $at = 80B20000 /* 01218 80B1EB98 316C0007 */ andi $t4, $t3, 0x0007 ## $t4 = 00000000 /* 0121C 80B1EB9C 158000AA */ bne $t4, $zero, .L80B1EE48 /* 01220 80B1EBA0 00000000 */ nop /* 01224 80B1EBA4 100000A8 */ beq $zero, $zero, .L80B1EE48 -/* 01228 80B1EBA8 A02E0165 */ sb $t6, %lo(D_80B20165)($at) +/* 01228 80B1EBA8 A02E0165 */ sb $t6, %lo(sAlpha)($at) .L80B1EBAC: /* 0122C 80B1EBAC A2000843 */ sb $zero, 0x0843($s0) ## 00000843 -/* 01230 80B1EBB0 3C0180B2 */ lui $at, %hi(D_80B20133) ## $at = 80B20000 -/* 01234 80B1EBB4 A0200133 */ sb $zero, %lo(D_80B20133)($at) -/* 01238 80B1EBB8 A0200132 */ sb $zero, %lo(D_80B20132)($at) +/* 01230 80B1EBB0 3C0180B2 */ lui $at, %hi(sInput+3) ## $at = 80B20000 +/* 01234 80B1EBB4 A0200133 */ sb $zero, %lo(sInput+3)($at) +/* 01238 80B1EBB8 A0200132 */ sb $zero, %lo(sInput+2)($at) /* 0123C 80B1EBBC 820D0A78 */ lb $t5, 0x0A78($s0) ## 00000A78 /* 01240 80B1EBC0 3C014320 */ lui $at, 0x4320 ## $at = 43200000 /* 01244 80B1EBC4 59A00085 */ blezl $t5, .L80B1EDDC @@ -989,7 +989,7 @@ glabel EnTorch2_Update /* 0124C 80B1EBCC C6060080 */ lwc1 $f6, 0x0080($s0) ## 00000080 /* 01250 80B1EBD0 44814000 */ mtc1 $at, $f8 ## $f8 = 160.00 /* 01254 80B1EBD4 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028 -/* 01258 80B1EBD8 3C0180B2 */ lui $at, %hi(D_80B20154) ## $at = 80B20000 +/* 01258 80B1EBD8 3C0180B2 */ lui $at, %hi(sSpawnPoint+4) ## $at = 80B20000 /* 0125C 80B1EBDC 46083281 */ sub.s $f10, $f6, $f8 /* 01260 80B1EBE0 460A203C */ c.lt.s $f4, $f10 /* 01264 80B1EBE4 00000000 */ nop @@ -1004,7 +1004,7 @@ glabel EnTorch2_Update /* 01288 80B1EC08 AE0A0004 */ sw $t2, 0x0004($s0) ## 00000004 /* 0128C 80B1EC0C A2000A78 */ sb $zero, 0x0A78($s0) ## 00000A78 /* 01290 80B1EC10 E6100060 */ swc1 $f16, 0x0060($s0) ## 00000060 -/* 01294 80B1EC14 C4320154 */ lwc1 $f18, %lo(D_80B20154)($at) +/* 01294 80B1EC14 C4320154 */ lwc1 $f18, %lo(sSpawnPoint+4)($at) /* 01298 80B1EC18 3C014220 */ lui $at, 0x4220 ## $at = 42200000 /* 0129C 80B1EC1C 44813000 */ mtc1 $at, $f6 ## $f6 = 40.00 /* 012A0 80B1EC20 00000000 */ nop @@ -1027,10 +1027,10 @@ glabel EnTorch2_Update /* 012DC 80B1EC5C 3C01C2F0 */ lui $at, 0xC2F0 ## $at = C2F00000 /* 012E0 80B1EC60 44813000 */ mtc1 $at, $f6 ## $f6 = -120.00 /* 012E4 80B1EC64 8FAC0078 */ lw $t4, 0x0078($sp) -/* 012E8 80B1EC68 3C0580B2 */ lui $a1, %hi(D_80B20150) ## $a1 = 80B20000 +/* 012E8 80B1EC68 3C0580B2 */ lui $a1, %hi(sSpawnPoint) ## $a1 = 80B20000 /* 012EC 80B1EC6C 46060202 */ mul.s $f8, $f0, $f6 /* 012F0 80B1EC70 C584002C */ lwc1 $f4, 0x002C($t4) ## 0000002C -/* 012F4 80B1EC74 24A50150 */ addiu $a1, $a1, %lo(D_80B20150) ## $a1 = 80B20150 +/* 012F4 80B1EC74 24A50150 */ addiu $a1, $a1, %lo(sSpawnPoint) ## $a1 = 80B20150 /* 012F8 80B1EC78 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 /* 012FC 80B1EC7C 46044280 */ add.s $f10, $f8, $f4 /* 01300 80B1EC80 0C00B6DB */ jal func_8002DB6C @@ -1055,8 +1055,8 @@ glabel EnTorch2_Update /* 01344 80B1ECC4 E7A60050 */ swc1 $f6, 0x0050($sp) /* 01348 80B1ECC8 4600020D */ trunc.w.s $f8, $f0 /* 0134C 80B1ECCC 8FA50078 */ lw $a1, 0x0078($sp) -/* 01350 80B1ECD0 3C0480B2 */ lui $a0, %hi(D_80B20150) ## $a0 = 80B20000 -/* 01354 80B1ECD4 24840150 */ addiu $a0, $a0, %lo(D_80B20150) ## $a0 = 80B20150 +/* 01350 80B1ECD0 3C0480B2 */ lui $a0, %hi(sSpawnPoint) ## $a0 = 80B20000 +/* 01354 80B1ECD4 24840150 */ addiu $a0, $a0, %lo(sSpawnPoint) ## $a0 = 80B20150 /* 01358 80B1ECD8 440D4000 */ mfc1 $t5, $f8 /* 0135C 80B1ECDC 24A50024 */ addiu $a1, $a1, 0x0024 ## $a1 = 00000024 /* 01360 80B1ECE0 0C01E01A */ jal Math_Vec3f_Yaw @@ -1074,8 +1074,8 @@ glabel EnTorch2_Update /* 01388 80B1ED08 3C0141C8 */ lui $at, 0x41C8 ## $at = 41C80000 /* 0138C 80B1ED0C 44812000 */ mtc1 $at, $f4 ## $f4 = 25.00 /* 01390 80B1ED10 C7AA0050 */ lwc1 $f10, 0x0050($sp) -/* 01394 80B1ED14 3C0180B2 */ lui $at, %hi(D_80B20150) ## $at = 80B20000 -/* 01398 80B1ED18 C4320150 */ lwc1 $f18, %lo(D_80B20150)($at) +/* 01394 80B1ED14 3C0180B2 */ lui $at, %hi(sSpawnPoint) ## $at = 80B20000 +/* 01398 80B1ED18 C4320150 */ lwc1 $f18, %lo(sSpawnPoint)($at) /* 0139C 80B1ED1C 460A2080 */ add.s $f2, $f4, $f10 /* 013A0 80B1ED20 86190032 */ lh $t9, 0x0032($s0) ## 00000032 /* 013A4 80B1ED24 46020402 */ mul.s $f16, $f0, $f2 @@ -1089,13 +1089,13 @@ glabel EnTorch2_Update ## coss? /* 013C4 80B1ED44 00042403 */ sra $a0, $a0, 16 /* 013C8 80B1ED48 C7A20038 */ lwc1 $f2, 0x0038($sp) -/* 013CC 80B1ED4C 3C0180B2 */ lui $at, %hi(D_80B20158) ## $at = 80B20000 -/* 013D0 80B1ED50 C4240158 */ lwc1 $f4, %lo(D_80B20158)($at) +/* 013CC 80B1ED4C 3C0180B2 */ lui $at, %hi(sSpawnPoint+8) ## $at = 80B20000 +/* 013D0 80B1ED50 C4240158 */ lwc1 $f4, %lo(sSpawnPoint+8)($at) /* 013D4 80B1ED54 46020202 */ mul.s $f8, $f0, $f2 -/* 013D8 80B1ED58 3C0180B2 */ lui $at, %hi(D_80B20154) ## $at = 80B20000 +/* 013D8 80B1ED58 3C0180B2 */ lui $at, %hi(sSpawnPoint+4) ## $at = 80B20000 /* 013DC 80B1ED5C 46044280 */ add.s $f10, $f8, $f4 /* 013E0 80B1ED60 E60A002C */ swc1 $f10, 0x002C($s0) ## 0000002C -/* 013E4 80B1ED64 C4300154 */ lwc1 $f16, %lo(D_80B20154)($at) +/* 013E4 80B1ED64 C4300154 */ lwc1 $f16, %lo(sSpawnPoint+4)($at) /* 013E8 80B1ED68 10000003 */ beq $zero, $zero, .L80B1ED78 /* 013EC 80B1ED6C E6100028 */ swc1 $f16, 0x0028($s0) ## 00000028 /* 013F0 80B1ED70 C6120080 */ lwc1 $f18, 0x0080($s0) ## 00000080 @@ -1115,18 +1115,18 @@ glabel EnTorch2_Update /* 0141C 80B1ED9C 00000000 */ nop /* 01420 80B1EDA0 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 /* 01424 80B1EDA4 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001 -/* 01428 80B1EDA8 3C0180B2 */ lui $at, %hi(D_80B2015E) ## $at = 80B20000 -/* 0142C 80B1EDAC A02B015E */ sb $t3, %lo(D_80B2015E)($at) -/* 01430 80B1EDB0 3C0C80B2 */ lui $t4, %hi(D_80B20165) ## $t4 = 80B20000 -/* 01434 80B1EDB4 918C0165 */ lbu $t4, %lo(D_80B20165)($t4) -/* 01438 80B1EDB8 3C0180B2 */ lui $at, %hi(D_80B1F9F0) ## $at = 80B20000 -/* 0143C 80B1EDBC E426F9F0 */ swc1 $f6, %lo(D_80B1F9F0)($at) +/* 01428 80B1EDA8 3C0180B2 */ lui $at, %hi(sActionState) ## $at = 80B20000 +/* 0142C 80B1EDAC A02B015E */ sb $t3, %lo(sActionState)($at) +/* 01430 80B1EDB0 3C0C80B2 */ lui $t4, %hi(sAlpha) ## $t4 = 80B20000 +/* 01434 80B1EDB4 918C0165 */ lbu $t4, %lo(sAlpha)($t4) +/* 01438 80B1EDB8 3C0180B2 */ lui $at, %hi(sStickTilt) ## $at = 80B20000 +/* 0143C 80B1EDBC E426F9F0 */ swc1 $f6, %lo(sStickTilt)($at) /* 01440 80B1EDC0 240100FF */ addiu $at, $zero, 0x00FF ## $at = 000000FF /* 01444 80B1EDC4 11810004 */ beq $t4, $at, .L80B1EDD8 -/* 01448 80B1EDC8 3C0180B2 */ lui $at, %hi(D_80B20162) ## $at = 80B20000 -/* 0144C 80B1EDCC A0200162 */ sb $zero, %lo(D_80B20162)($at) -/* 01450 80B1EDD0 3C0180B2 */ lui $at, %hi(D_80B20163) ## $at = 80B20000 -/* 01454 80B1EDD4 A0200163 */ sb $zero, %lo(D_80B20163)($at) +/* 01448 80B1EDC8 3C0180B2 */ lui $at, %hi(sStaggerCount) ## $at = 80B20000 +/* 0144C 80B1EDCC A0200162 */ sb $zero, %lo(sStaggerCount)($at) +/* 01450 80B1EDD0 3C0180B2 */ lui $at, %hi(sStaggerTimer) ## $at = 80B20000 +/* 01454 80B1EDD4 A0200163 */ sb $zero, %lo(sStaggerTimer)($at) .L80B1EDD8: /* 01458 80B1EDD8 8FAD0084 */ lw $t5, 0x0084($sp) .L80B1EDDC: @@ -1137,8 +1137,8 @@ glabel EnTorch2_Update /* 0146C 80B1EDEC 10000016 */ beq $zero, $zero, .L80B1EE48 /* 01470 80B1EDF0 AFAE0034 */ sw $t6, 0x0034($sp) .L80B1EDF4: -/* 01474 80B1EDF4 3C0380B2 */ lui $v1, %hi(D_80B20165) ## $v1 = 80B20000 -/* 01478 80B1EDF8 24630165 */ addiu $v1, $v1, %lo(D_80B20165) ## $v1 = 80B20165 +/* 01474 80B1EDF4 3C0380B2 */ lui $v1, %hi(sAlpha) ## $v1 = 80B20000 +/* 01478 80B1EDF8 24630165 */ addiu $v1, $v1, %lo(sAlpha) ## $v1 = 80B20165 /* 0147C 80B1EDFC 90620000 */ lbu $v0, 0x0000($v1) ## 80B20165 /* 01480 80B1EE00 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 /* 01484 80B1EE04 2442FFF3 */ addiu $v0, $v0, 0xFFF3 ## $v0 = FFFFFFF3 @@ -1164,9 +1164,9 @@ glabel EnTorch2_Update /* 014C8 80B1EE48 3C0E8016 */ lui $t6, %hi(gSaveContext+0x13f0) /* 014CC 80B1EE4C 85CEFA50 */ lh $t6, %lo(gSaveContext+0x13f0)($t6) /* 014D0 80B1EE50 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 014D4 80B1EE54 3C1880B2 */ lui $t8, %hi(D_80B2015E) ## $t8 = 80B20000 +/* 014D4 80B1EE54 3C1880B2 */ lui $t8, %hi(sActionState) ## $t8 = 80B20000 /* 014D8 80B1EE58 15C10013 */ bne $t6, $at, .L80B1EEA8 -/* 014DC 80B1EE5C 3C0580B2 */ lui $a1, %hi(D_80B20136) ## $a1 = 80B20000 +/* 014DC 80B1EE5C 3C0580B2 */ lui $a1, %hi(sInput+6) ## $a1 = 80B20000 /* 014E0 80B1EE60 8FA70078 */ lw $a3, 0x0078($sp) /* 014E4 80B1EE64 80ED0843 */ lb $t5, 0x0843($a3) ## 00000843 /* 014E8 80B1EE68 51A00008 */ beql $t5, $zero, .L80B1EE8C @@ -1180,48 +1180,48 @@ glabel EnTorch2_Update .L80B1EE88: /* 01508 80B1EE88 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00 .L80B1EE8C: -/* 0150C 80B1EE8C 3C0180B2 */ lui $at, %hi(D_80B1F9F0) ## $at = 80B20000 +/* 0150C 80B1EE8C 3C0180B2 */ lui $at, %hi(sStickTilt) ## $at = 80B20000 /* 01510 80B1EE90 24060010 */ addiu $a2, $zero, 0x0010 ## $a2 = 00000010 -/* 01514 80B1EE94 E428F9F0 */ swc1 $f8, %lo(D_80B1F9F0)($at) -/* 01518 80B1EE98 3C0180B2 */ lui $at, %hi(D_80B20132) ## $at = 80B20000 -/* 0151C 80B1EE9C A0200132 */ sb $zero, %lo(D_80B20132)($at) -/* 01520 80B1EEA0 A0200133 */ sb $zero, %lo(D_80B20133)($at) -/* 01524 80B1EEA4 A4260130 */ sh $a2, %lo(D_80B20130)($at) +/* 01514 80B1EE94 E428F9F0 */ swc1 $f8, %lo(sStickTilt)($at) +/* 01518 80B1EE98 3C0180B2 */ lui $at, %hi(sInput+2) ## $at = 80B20000 +/* 0151C 80B1EE9C A0200132 */ sb $zero, %lo(sInput+2)($at) +/* 01520 80B1EEA0 A0200133 */ sb $zero, %lo(sInput+3)($at) +/* 01524 80B1EEA4 A4260130 */ sh $a2, %lo(sInput)($at) .L80B1EEA8: -/* 01528 80B1EEA8 9318015E */ lbu $t8, %lo(D_80B2015E)($t8) -/* 0152C 80B1EEAC 3C0F80B2 */ lui $t7, %hi(D_80B20130) ## $t7 = 80B20000 +/* 01528 80B1EEA8 9318015E */ lbu $t8, %lo(sActionState)($t8) +/* 0152C 80B1EEAC 3C0F80B2 */ lui $t7, %hi(sInput) ## $t7 = 80B20000 /* 01530 80B1EEB0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 /* 01534 80B1EEB4 1701000F */ bne $t8, $at, .L80B1EEF4 -/* 01538 80B1EEB8 95EF0130 */ lhu $t7, %lo(D_80B20130)($t7) +/* 01538 80B1EEB8 95EF0130 */ lhu $t7, %lo(sInput)($t7) /* 0153C 80B1EEBC 3C0180B2 */ lui $at, %hi(D_80B1FA5C) ## $at = 80B20000 /* 01540 80B1EEC0 C424FA5C */ lwc1 $f4, %lo(D_80B1FA5C)($at) /* 01544 80B1EEC4 C60A0090 */ lwc1 $f10, 0x0090($s0) ## 00000090 -/* 01548 80B1EEC8 3C0A80B2 */ lui $t2, %hi(D_80B1FA00) ## $t2 = 80B20000 +/* 01548 80B1EEC8 3C0A80B2 */ lui $t2, %hi(sZTargetFlag) ## $t2 = 80B20000 /* 0154C 80B1EECC 4604503E */ c.le.s $f10, $f4 /* 01550 80B1EED0 00000000 */ nop /* 01554 80B1EED4 45000007 */ bc1f .L80B1EEF4 /* 01558 80B1EED8 00000000 */ nop -/* 0155C 80B1EEDC 914AFA00 */ lbu $t2, %lo(D_80B1FA00)($t2) +/* 0155C 80B1EEDC 914AFA00 */ lbu $t2, %lo(sZTargetFlag)($t2) /* 01560 80B1EEE0 35E62000 */ ori $a2, $t7, 0x2000 ## $a2 = 80B22000 -/* 01564 80B1EEE4 3C0180B2 */ lui $at, %hi(D_80B20130) ## $at = 80B20000 +/* 01564 80B1EEE4 3C0180B2 */ lui $at, %hi(sInput) ## $at = 80B20000 /* 01568 80B1EEE8 11400002 */ beq $t2, $zero, .L80B1EEF4 /* 0156C 80B1EEEC 00000000 */ nop -/* 01570 80B1EEF0 A4260130 */ sh $a2, %lo(D_80B20130)($at) +/* 01570 80B1EEF0 A4260130 */ sh $a2, %lo(sInput)($at) .L80B1EEF4: -/* 01574 80B1EEF4 3C0680B2 */ lui $a2, %hi(D_80B20130) ## $a2 = 80B20000 -/* 01578 80B1EEF8 94C60130 */ lhu $a2, %lo(D_80B20130)($a2) -/* 0157C 80B1EEFC 94A50136 */ lhu $a1, %lo(D_80B20136)($a1) -/* 01580 80B1EF00 3C0180B2 */ lui $at, %hi(D_80B2013C) ## $at = 80B20000 +/* 01574 80B1EEF4 3C0680B2 */ lui $a2, %hi(sInput) ## $a2 = 80B20000 +/* 01578 80B1EEF8 94C60130 */ lhu $a2, %lo(sInput)($a2) +/* 0157C 80B1EEFC 94A50136 */ lhu $a1, %lo(sInput+6)($a1) +/* 01580 80B1EF00 3C0180B2 */ lui $at, %hi(sInput+12) ## $at = 80B20000 /* 01584 80B1EF04 30CB0010 */ andi $t3, $a2, 0x0010 ## $t3 = 00000000 /* 01588 80B1EF08 00A61826 */ xor $v1, $a1, $a2 /* 0158C 80B1EF0C 00C3C824 */ and $t9, $a2, $v1 -/* 01590 80B1EF10 A439013C */ sh $t9, %lo(D_80B2013C)($at) +/* 01590 80B1EF10 A439013C */ sh $t9, %lo(sInput+12)($at) /* 01594 80B1EF14 1160000F */ beq $t3, $zero, .L80B1EF54 /* 01598 80B1EF18 00C01025 */ or $v0, $a2, $zero ## $v0 = 80B20000 -/* 0159C 80B1EF1C 3C0C80B2 */ lui $t4, %hi(D_80B20160) ## $t4 = 80B20000 -/* 015A0 80B1EF20 918C0160 */ lbu $t4, %lo(D_80B20160)($t4) -/* 015A4 80B1EF24 3C0180B2 */ lui $at, %hi(D_80B20130) ## $at = 80B20000 -/* 015A8 80B1EF28 A4260130 */ sh $a2, %lo(D_80B20130)($at) +/* 0159C 80B1EF1C 3C0C80B2 */ lui $t4, %hi(sCounterState) ## $t4 = 80B20000 +/* 015A0 80B1EF20 918C0160 */ lbu $t4, %lo(sCounterState)($t4) +/* 015A4 80B1EF24 3C0180B2 */ lui $at, %hi(sInput) ## $at = 80B20000 +/* 015A8 80B1EF28 A4260130 */ sh $a2, %lo(sInput)($at) /* 015AC 80B1EF2C 15800007 */ bne $t4, $zero, .L80B1EF4C /* 015B0 80B1EF30 38460010 */ xori $a2, $v0, 0x0010 ## $a2 = 80B20010 /* 015B4 80B1EF34 820E0843 */ lb $t6, 0x0843($s0) ## 00000843 @@ -1236,38 +1236,38 @@ glabel EnTorch2_Update /* 015D0 80B1EF50 00C01025 */ or $v0, $a2, $zero ## $v0 = 00000010 .L80B1EF54: /* 015D4 80B1EF54 00A36824 */ and $t5, $a1, $v1 -/* 015D8 80B1EF58 3C0180B2 */ lui $at, %hi(D_80B20142) ## $at = 80B20000 -/* 015DC 80B1EF5C A42D0142 */ sh $t5, %lo(D_80B20142)($at) -/* 015E0 80B1EF60 3C0180B2 */ lui $at, %hi(D_80B20136) ## $at = 80B20000 +/* 015D8 80B1EF58 3C0180B2 */ lui $at, %hi(sInput+18) ## $at = 80B20000 +/* 015DC 80B1EF5C A42D0142 */ sh $t5, %lo(sInput+18)($at) +/* 015E0 80B1EF60 3C0180B2 */ lui $at, %hi(sInput+6) ## $at = 80B20000 /* 015E4 80B1EF64 30583FFF */ andi $t8, $v0, 0x3FFF ## $t8 = 00000010 -/* 015E8 80B1EF68 3C0480B2 */ lui $a0, %hi(D_80B20130) ## $a0 = 80B20000 -/* 015EC 80B1EF6C A4380136 */ sh $t8, %lo(D_80B20136)($at) -/* 015F0 80B1EF70 24840130 */ addiu $a0, $a0, %lo(D_80B20130) ## $a0 = 80B20130 +/* 015E8 80B1EF68 3C0480B2 */ lui $a0, %hi(sInput) ## $a0 = 80B20000 +/* 015EC 80B1EF6C A4380136 */ sh $t8, %lo(sInput+6)($at) +/* 015F0 80B1EF70 24840130 */ addiu $a0, $a0, %lo(sInput) ## $a0 = 80B20130 /* 015F4 80B1EF74 0C03F31B */ jal PadUtils_UpdateRelXY -/* 015F8 80B1EF78 A4260130 */ sh $a2, %lo(D_80B20130)($at) -/* 015FC 80B1EF7C 3C0F80B2 */ lui $t7, %hi(D_80B20132) ## $t7 = 80B20000 -/* 01600 80B1EF80 3C0A80B2 */ lui $t2, %hi(D_80B20138) ## $t2 = 80B20000 -/* 01604 80B1EF84 814A0138 */ lb $t2, %lo(D_80B20138)($t2) -/* 01608 80B1EF88 81EF0132 */ lb $t7, %lo(D_80B20132)($t7) -/* 0160C 80B1EF8C 3C0E80B2 */ lui $t6, %hi(D_80B2013E) ## $t6 = 80B20000 -/* 01610 80B1EF90 81CE013E */ lb $t6, %lo(D_80B2013E)($t6) +/* 015F8 80B1EF78 A4260130 */ sh $a2, %lo(sInput)($at) +/* 015FC 80B1EF7C 3C0F80B2 */ lui $t7, %hi(sInput+2) ## $t7 = 80B20000 +/* 01600 80B1EF80 3C0A80B2 */ lui $t2, %hi(sInput+8) ## $t2 = 80B20000 +/* 01604 80B1EF84 814A0138 */ lb $t2, %lo(sInput+8)($t2) +/* 01608 80B1EF88 81EF0132 */ lb $t7, %lo(sInput+2)($t7) +/* 0160C 80B1EF8C 3C0E80B2 */ lui $t6, %hi(sInput+14) ## $t6 = 80B20000 +/* 01610 80B1EF90 81CE013E */ lb $t6, %lo(sInput+14)($t6) /* 01614 80B1EF94 01EA6023 */ subu $t4, $t7, $t2 -/* 01618 80B1EF98 3C0180B2 */ lui $at, %hi(D_80B2013E) ## $at = 80B20000 +/* 01618 80B1EF98 3C0180B2 */ lui $at, %hi(sInput+14) ## $at = 80B20000 /* 0161C 80B1EF9C 01CC6821 */ addu $t5, $t6, $t4 -/* 01620 80B1EFA0 A02D013E */ sb $t5, %lo(D_80B2013E)($at) -/* 01624 80B1EFA4 3C0F80B2 */ lui $t7, %hi(D_80B20139) ## $t7 = 80B20000 -/* 01628 80B1EFA8 3C1880B2 */ lui $t8, %hi(D_80B20133) ## $t8 = 80B20000 -/* 0162C 80B1EFAC 83180133 */ lb $t8, %lo(D_80B20133)($t8) -/* 01630 80B1EFB0 81EF0139 */ lb $t7, %lo(D_80B20139)($t7) -/* 01634 80B1EFB4 3C0E80B2 */ lui $t6, %hi(D_80B2013F) ## $t6 = 80B20000 -/* 01638 80B1EFB8 81CE013F */ lb $t6, %lo(D_80B2013F)($t6) +/* 01620 80B1EFA0 A02D013E */ sb $t5, %lo(sInput+14)($at) +/* 01624 80B1EFA4 3C0F80B2 */ lui $t7, %hi(sInput+9) ## $t7 = 80B20000 +/* 01628 80B1EFA8 3C1880B2 */ lui $t8, %hi(sInput+3) ## $t8 = 80B20000 +/* 0162C 80B1EFAC 83180133 */ lb $t8, %lo(sInput+3)($t8) +/* 01630 80B1EFB0 81EF0139 */ lb $t7, %lo(sInput+9)($t7) +/* 01634 80B1EFB4 3C0E80B2 */ lui $t6, %hi(sInput+15) ## $t6 = 80B20000 +/* 01638 80B1EFB8 81CE013F */ lb $t6, %lo(sInput+15)($t6) /* 0163C 80B1EFBC 030F5823 */ subu $t3, $t8, $t7 /* 01640 80B1EFC0 01CB6021 */ addu $t4, $t6, $t3 -/* 01644 80B1EFC4 A02C013F */ sb $t4, %lo(D_80B2013F)($at) +/* 01644 80B1EFC4 A02C013F */ sb $t4, %lo(sInput+15)($at) /* 01648 80B1EFC8 920D00AF */ lbu $t5, 0x00AF($s0) ## 000000AF /* 0164C 80B1EFCC 15A0000C */ bne $t5, $zero, .L80B1F000 -/* 01650 80B1EFD0 3C1880B2 */ lui $t8, %hi(D_80B1FA04) ## $t8 = 80B20000 -/* 01654 80B1EFD4 9318FA04 */ lbu $t8, %lo(D_80B1FA04)($t8) +/* 01650 80B1EFD0 3C1880B2 */ lui $t8, %hi(sDeathFlag) ## $t8 = 80B20000 +/* 01654 80B1EFD4 9318FA04 */ lbu $t8, %lo(sDeathFlag)($t8) /* 01658 80B1EFD8 240F0018 */ addiu $t7, $zero, 0x0018 ## $t7 = 00000018 /* 0165C 80B1EFDC 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001 /* 01660 80B1EFE0 53000008 */ beql $t8, $zero, .L80B1F004 @@ -1275,9 +1275,9 @@ glabel EnTorch2_Update /* 01668 80B1EFE8 A20F0444 */ sb $t7, 0x0444($s0) ## 00000444 /* 0166C 80B1EFEC 8FAA0078 */ lw $t2, 0x0078($sp) /* 01670 80B1EFF0 A619046A */ sh $t9, 0x046A($s0) ## 0000046A -/* 01674 80B1EFF4 3C0180B2 */ lui $at, %hi(D_80B1FA04) ## $at = 80B20000 +/* 01674 80B1EFF4 3C0180B2 */ lui $at, %hi(sDeathFlag) ## $at = 80B20000 /* 01678 80B1EFF8 AE0A0448 */ sw $t2, 0x0448($s0) ## 00000448 -/* 0167C 80B1EFFC A020FA04 */ sb $zero, %lo(D_80B1FA04)($at) +/* 0167C 80B1EFFC A020FA04 */ sb $zero, %lo(sDeathFlag)($at) .L80B1F000: /* 01680 80B1F000 820E0A78 */ lb $t6, 0x0A78($s0) ## 00000A78 .L80B1F004: @@ -1317,10 +1317,10 @@ glabel EnTorch2_Update /* 01704 80B1F084 921800B0 */ lbu $t8, 0x00B0($s0) ## 000000B0 /* 01708 80B1F088 01816824 */ and $t5, $t4, $at /* 0170C 80B1F08C 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000 -/* 01710 80B1F090 3C0280B2 */ lui $v0, %hi(D_80B1FA04) ## $v0 = 80B20000 +/* 01710 80B1F090 3C0280B2 */ lui $v0, %hi(sDeathFlag) ## $v0 = 80B20000 /* 01714 80B1F094 24030002 */ addiu $v1, $zero, 0x0002 ## $v1 = 00000002 /* 01718 80B1F098 01E15021 */ addu $t2, $t7, $at -/* 0171C 80B1F09C 2442FA04 */ addiu $v0, $v0, %lo(D_80B1FA04) ## $v0 = 80B1FA04 +/* 0171C 80B1F09C 2442FA04 */ addiu $v0, $v0, %lo(sDeathFlag) ## $v0 = 80B1FA04 /* 01720 80B1F0A0 AE0D0004 */ sw $t5, 0x0004($s0) ## 00000004 /* 01724 80B1F0A4 A20308A1 */ sb $v1, 0x08A1($s0) ## 000008A1 /* 01728 80B1F0A8 A60A08A2 */ sh $t2, 0x08A2($s0) ## 000008A2 @@ -1328,11 +1328,11 @@ glabel EnTorch2_Update /* 01730 80B1F0B0 E60008A8 */ swc1 $f0, 0x08A8($s0) ## 000008A8 /* 01734 80B1F0B4 A21808A0 */ sb $t8, 0x08A0($s0) ## 000008A0 /* 01738 80B1F0B8 90590000 */ lbu $t9, 0x0000($v0) ## 80B1FA04 -/* 0173C 80B1F0BC 3C0180B2 */ lui $at, %hi(D_80B2015E) ## $at = 80B20000 +/* 0173C 80B1F0BC 3C0180B2 */ lui $at, %hi(sActionState) ## $at = 80B20000 /* 01740 80B1F0C0 8FA40084 */ lw $a0, 0x0084($sp) /* 01744 80B1F0C4 272E0001 */ addiu $t6, $t9, 0x0001 ## $t6 = 00000001 /* 01748 80B1F0C8 A04E0000 */ sb $t6, 0x0000($v0) ## 80B1FA04 -/* 0174C 80B1F0CC A023015E */ sb $v1, %lo(D_80B2015E)($at) +/* 0174C 80B1F0CC A023015E */ sb $v1, %lo(sActionState)($at) /* 01750 80B1F0D0 0C00CB1F */ jal func_80032C7C /* 01754 80B1F0D4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 /* 01758 80B1F0D8 8FA40084 */ lw $a0, 0x0084($sp) @@ -1353,8 +1353,8 @@ glabel EnTorch2_Update /* 0178C 80B1F10C 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001 /* 01790 80B1F110 15A10017 */ bne $t5, $at, .L80B1F170 /* 01794 80B1F114 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 01798 80B1F118 3C1880B2 */ lui $t8, %hi(D_80B20165) ## $t8 = 80B20000 -/* 0179C 80B1F11C 93180165 */ lbu $t8, %lo(D_80B20165)($t8) +/* 01798 80B1F118 3C1880B2 */ lui $t8, %hi(sAlpha) ## $t8 = 80B20000 +/* 0179C 80B1F11C 93180165 */ lbu $t8, %lo(sAlpha)($t8) /* 017A0 80B1F120 240100FF */ addiu $at, $zero, 0x00FF ## $at = 000000FF /* 017A4 80B1F124 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 /* 017A8 80B1F128 1701000A */ bne $t8, $at, .L80B1F154 @@ -1398,15 +1398,15 @@ glabel EnTorch2_Update /* 01838 80B1F1B8 0C00D594 */ jal func_80035650 /* 0183C 80B1F1BC E61008A4 */ swc1 $f16, 0x08A4($s0) ## 000008A4 /* 01840 80B1F1C0 920F0692 */ lbu $t7, 0x0692($s0) ## 00000692 -/* 01844 80B1F1C4 3C0C80B2 */ lui $t4, %hi(D_80B20165) ## $t4 = 80B20000 +/* 01844 80B1F1C4 3C0C80B2 */ lui $t4, %hi(sAlpha) ## $t4 = 80B20000 /* 01848 80B1F1C8 240B0003 */ addiu $t3, $zero, 0x0003 ## $t3 = 00000003 /* 0184C 80B1F1CC 31F9FFFB */ andi $t9, $t7, 0xFFFB ## $t9 = 00000000 /* 01850 80B1F1D0 A2190692 */ sb $t9, 0x0692($s0) ## 00000692 /* 01854 80B1F1D4 372E0001 */ ori $t6, $t9, 0x0001 ## $t6 = 00000001 /* 01858 80B1F1D8 A20E0692 */ sb $t6, 0x0692($s0) ## 00000692 -/* 0185C 80B1F1DC 918C0165 */ lbu $t4, %lo(D_80B20165)($t4) -/* 01860 80B1F1E0 3C0180B2 */ lui $at, %hi(D_80B2015E) ## $at = 80B20000 -/* 01864 80B1F1E4 A02B015E */ sb $t3, %lo(D_80B2015E)($at) +/* 0185C 80B1F1DC 918C0165 */ lbu $t4, %lo(sAlpha)($t4) +/* 01860 80B1F1E0 3C0180B2 */ lui $at, %hi(sActionState) ## $at = 80B20000 +/* 01864 80B1F1E4 A02B015E */ sb $t3, %lo(sActionState)($at) /* 01868 80B1F1E8 240100FF */ addiu $at, $zero, 0x00FF ## $at = 000000FF /* 0186C 80B1F1EC 1581000A */ bne $t4, $at, .L80B1F218 /* 01870 80B1F1F0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 @@ -1453,21 +1453,21 @@ glabel EnTorch2_Update /* 018FC 80B1F27C 358D0004 */ ori $t5, $t4, 0x0004 ## $t5 = 00000004 /* 01900 80B1F280 A20D0692 */ sb $t5, 0x0692($s0) ## 00000692 /* 01904 80B1F284 AE0F067C */ sw $t7, 0x067C($s0) ## 0000067C -/* 01908 80B1F288 3C0180B2 */ lui $at, %hi(D_80B2013F) ## $at = 80B20000 -/* 0190C 80B1F28C A020013F */ sb $zero, %lo(D_80B2013F)($at) -/* 01910 80B1F290 A020013E */ sb $zero, %lo(D_80B2013E)($at) -/* 01914 80B1F294 3C0180B2 */ lui $at, %hi(D_80B20130) ## $at = 80B20000 +/* 01908 80B1F288 3C0180B2 */ lui $at, %hi(sInput+15) ## $at = 80B20000 +/* 0190C 80B1F28C A020013F */ sb $zero, %lo(sInput+15)($at) +/* 01910 80B1F290 A020013E */ sb $zero, %lo(sInput+14)($at) +/* 01914 80B1F294 3C0180B2 */ lui $at, %hi(sInput) ## $at = 80B20000 /* 01918 80B1F298 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00 -/* 0191C 80B1F29C A4200130 */ sh $zero, %lo(D_80B20130)($at) -/* 01920 80B1F2A0 3C0180B2 */ lui $at, %hi(D_80B2013C) ## $at = 80B20000 -/* 01924 80B1F2A4 A420013C */ sh $zero, %lo(D_80B2013C)($at) +/* 0191C 80B1F29C A4200130 */ sh $zero, %lo(sInput)($at) +/* 01920 80B1F2A0 3C0180B2 */ lui $at, %hi(sInput+12) ## $at = 80B20000 +/* 01924 80B1F2A4 A420013C */ sh $zero, %lo(sInput+12)($at) /* 01928 80B1F2A8 E6120838 */ swc1 $f18, 0x0838($s0) ## 00000838 .L80B1F2AC: /* 0192C 80B1F2AC 8FAA002C */ lw $t2, 0x002C($sp) -/* 01930 80B1F2B0 3C0680B2 */ lui $a2, %hi(D_80B20130) ## $a2 = 80B20000 +/* 01930 80B1F2B0 3C0680B2 */ lui $a2, %hi(sInput) ## $a2 = 80B20000 /* 01934 80B1F2B4 8FA50084 */ lw $a1, 0x0084($sp) /* 01938 80B1F2B8 8D591D40 */ lw $t9, 0x1D40($t2) ## 00001D40 -/* 0193C 80B1F2BC 24C60130 */ addiu $a2, $a2, %lo(D_80B20130) ## $a2 = 80B20130 +/* 0193C 80B1F2BC 24C60130 */ addiu $a2, $a2, %lo(sInput) ## $a2 = 80B20130 /* 01940 80B1F2C0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 /* 01944 80B1F2C4 0320F809 */ jalr $ra, $t9 /* 01948 80B1F2C8 00000000 */ nop @@ -1571,7 +1571,7 @@ glabel EnTorch2_Update /* 01AAC 80B1F42C 44818000 */ mtc1 $at, $f16 ## $f16 = 80.00 /* 01AB0 80B1F430 C6000090 */ lwc1 $f0, 0x0090($s0) ## 00000090 /* 01AB4 80B1F434 3C01428C */ lui $at, 0x428C ## $at = 428C0000 -/* 01AB8 80B1F438 3C0D80B2 */ lui $t5, %hi(D_80B20162) ## $t5 = 80B20000 +/* 01AB8 80B1F438 3C0D80B2 */ lui $t5, %hi(sStaggerCount) ## $t5 = 80B20000 /* 01ABC 80B1F43C 4600803C */ c.lt.s $f16, $f0 /* 01AC0 80B1F440 00000000 */ nop /* 01AC4 80B1F444 45020006 */ bc1fl .L80B1F460 @@ -1596,7 +1596,7 @@ glabel EnTorch2_Update /* 01B08 80B1F488 00000000 */ nop /* 01B0C 80B1F48C E6040838 */ swc1 $f4, 0x0838($s0) ## 00000838 .L80B1F490: -/* 01B10 80B1F490 91AD0162 */ lbu $t5, %lo(D_80B20162)($t5) +/* 01B10 80B1F490 91AD0162 */ lbu $t5, %lo(sStaggerCount)($t5) /* 01B14 80B1F494 004D082A */ slt $at, $v0, $t5 /* 01B18 80B1F498 1020000D */ beq $at, $zero, .L80B1F4D0 /* 01B1C 80B1F49C 3C0180B2 */ lui $at, %hi(D_80B1FA64) ## $at = 80B20000 @@ -1607,23 +1607,23 @@ glabel EnTorch2_Update /* 01B30 80B1F4B0 46105482 */ mul.s $f18, $f10, $f16 /* 01B34 80B1F4B4 0C03D064 */ jal func_800F4190 /* 01B38 80B1F4B8 E61201D0 */ swc1 $f18, 0x01D0($s0) ## 000001D0 -/* 01B3C 80B1F4BC 3C0780B2 */ lui $a3, %hi(D_80B20163) ## $a3 = 80B20000 -/* 01B40 80B1F4C0 24E70163 */ addiu $a3, $a3, %lo(D_80B20163) ## $a3 = 80B20163 +/* 01B3C 80B1F4BC 3C0780B2 */ lui $a3, %hi(sStaggerTimer) ## $a3 = 80B20000 +/* 01B40 80B1F4C0 24E70163 */ addiu $a3, $a3, %lo(sStaggerTimer) ## $a3 = 80B20163 /* 01B44 80B1F4C4 A0E00000 */ sb $zero, 0x0000($a3) ## 80B20163 -/* 01B48 80B1F4C8 3C0180B2 */ lui $at, %hi(D_80B20162) ## $at = 80B20000 -/* 01B4C 80B1F4CC A0200162 */ sb $zero, %lo(D_80B20162)($at) +/* 01B48 80B1F4C8 3C0180B2 */ lui $at, %hi(sStaggerCount) ## $at = 80B20000 +/* 01B4C 80B1F4CC A0200162 */ sb $zero, %lo(sStaggerCount)($at) .L80B1F4D0: /* 01B50 80B1F4D0 8FA30078 */ lw $v1, 0x0078($sp) .L80B1F4D4: /* 01B54 80B1F4D4 3C01C190 */ lui $at, 0xC190 ## $at = C1900000 /* 01B58 80B1F4D8 44813000 */ mtc1 $at, $f6 ## $f6 = -18.00 /* 01B5C 80B1F4DC C4680838 */ lwc1 $f8, 0x0838($v1) ## 00000838 -/* 01B60 80B1F4E0 3C0780B2 */ lui $a3, %hi(D_80B20163) ## $a3 = 80B20000 -/* 01B64 80B1F4E4 3C0680B2 */ lui $a2, %hi(D_80B20160) ## $a2 = 80B20000 +/* 01B60 80B1F4E0 3C0780B2 */ lui $a3, %hi(sStaggerTimer) ## $a3 = 80B20000 +/* 01B64 80B1F4E4 3C0680B2 */ lui $a2, %hi(sCounterState) ## $a2 = 80B20000 /* 01B68 80B1F4E8 46083032 */ c.eq.s $f6, $f8 -/* 01B6C 80B1F4EC 24E70163 */ addiu $a3, $a3, %lo(D_80B20163) ## $a3 = 80B20163 +/* 01B6C 80B1F4EC 24E70163 */ addiu $a3, $a3, %lo(sStaggerTimer) ## $a3 = 80B20163 /* 01B70 80B1F4F0 3C0142A0 */ lui $at, 0x42A0 ## $at = 42A00000 -/* 01B74 80B1F4F4 24C60160 */ addiu $a2, $a2, %lo(D_80B20160) ## $a2 = 80B20160 +/* 01B74 80B1F4F4 24C60160 */ addiu $a2, $a2, %lo(sCounterState) ## $a2 = 80B20160 /* 01B78 80B1F4F8 4502001A */ bc1fl .L80B1F564 /* 01B7C 80B1F4FC 90C20000 */ lbu $v0, 0x0000($a2) ## 80B20160 /* 01B80 80B1F500 C6000090 */ lwc1 $f0, 0x0090($s0) ## 00000090 @@ -1689,23 +1689,23 @@ glabel EnTorch2_Update /* 01C5C 80B1F5DC 8FA40084 */ lw $a0, 0x0084($sp) /* 01C60 80B1F5E0 0C017458 */ jal Collider_QuadSetAT /* 01C64 80B1F5E4 8FA50038 */ lw $a1, 0x0038($sp) -/* 01C68 80B1F5E8 3C0780B2 */ lui $a3, %hi(D_80B20163) ## $a3 = 80B20000 -/* 01C6C 80B1F5EC 3C0680B2 */ lui $a2, %hi(D_80B20160) ## $a2 = 80B20000 -/* 01C70 80B1F5F0 24C60160 */ addiu $a2, $a2, %lo(D_80B20160) ## $a2 = 80B20160 -/* 01C74 80B1F5F4 24E70163 */ addiu $a3, $a3, %lo(D_80B20163) ## $a3 = 80B20163 +/* 01C68 80B1F5E8 3C0780B2 */ lui $a3, %hi(sStaggerTimer) ## $a3 = 80B20000 +/* 01C6C 80B1F5EC 3C0680B2 */ lui $a2, %hi(sCounterState) ## $a2 = 80B20000 +/* 01C70 80B1F5F0 24C60160 */ addiu $a2, $a2, %lo(sCounterState) ## $a2 = 80B20160 +/* 01C74 80B1F5F4 24E70163 */ addiu $a3, $a3, %lo(sStaggerTimer) ## $a3 = 80B20163 .L80B1F5F8: /* 01C78 80B1F5F8 90E20000 */ lbu $v0, 0x0000($a3) ## 80B20163 .L80B1F5FC: -/* 01C7C 80B1F5FC 3C0380B2 */ lui $v1, %hi(D_80B20161) ## $v1 = 80B20000 -/* 01C80 80B1F600 24630161 */ addiu $v1, $v1, %lo(D_80B20161) ## $v1 = 80B20161 +/* 01C7C 80B1F5FC 3C0380B2 */ lui $v1, %hi(sDodgeRollState) ## $v1 = 80B20000 +/* 01C80 80B1F600 24630161 */ addiu $v1, $v1, %lo(sDodgeRollState) ## $v1 = 80B20161 /* 01C84 80B1F604 10400007 */ beq $v0, $zero, .L80B1F624 /* 01C88 80B1F608 244BFFFF */ addiu $t3, $v0, 0xFFFF ## $t3 = FFFFFFFF /* 01C8C 80B1F60C 316C00FF */ andi $t4, $t3, 0x00FF ## $t4 = 000000FF /* 01C90 80B1F610 15800004 */ bne $t4, $zero, .L80B1F624 /* 01C94 80B1F614 A0EB0000 */ sb $t3, 0x0000($a3) ## 80B20163 /* 01C98 80B1F618 A0C00000 */ sb $zero, 0x0000($a2) ## 80B20160 -/* 01C9C 80B1F61C 3C0180B2 */ lui $at, %hi(D_80B20162) ## $at = 80B20000 -/* 01CA0 80B1F620 A0200162 */ sb $zero, %lo(D_80B20162)($at) +/* 01C9C 80B1F61C 3C0180B2 */ lui $at, %hi(sStaggerCount) ## $at = 80B20000 +/* 01CA0 80B1F620 A0200162 */ sb $zero, %lo(sStaggerCount)($at) .L80B1F624: /* 01CA4 80B1F624 90620000 */ lbu $v0, 0x0000($v1) ## 80B20161 /* 01CA8 80B1F628 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 @@ -1728,7 +1728,7 @@ glabel EnTorch2_Update /* 01CE4 80B1F664 2419000A */ addiu $t9, $zero, 0x000A ## $t9 = 0000000A /* 01CE8 80B1F668 240E0005 */ addiu $t6, $zero, 0x0005 ## $t6 = 00000005 /* 01CEC 80B1F66C 11400004 */ beq $t2, $zero, .L80B1F680 -/* 01CF0 80B1F670 3C0D80B2 */ lui $t5, %hi(D_80B20148) ## $t5 = 80B20000 +/* 01CF0 80B1F670 3C0D80B2 */ lui $t5, %hi(sSwordJumpState) ## $t5 = 80B20000 /* 01CF4 80B1F674 A21904AC */ sb $t9, 0x04AC($s0) ## 000004AC /* 01CF8 80B1F678 10000003 */ beq $zero, $zero, .L80B1F688 /* 01CFC 80B1F67C A20E04C4 */ sb $t6, 0x04C4($s0) ## 000004C4 @@ -1736,15 +1736,15 @@ glabel EnTorch2_Update /* 01D00 80B1F680 A20B04AC */ sb $t3, 0x04AC($s0) ## 000004AC /* 01D04 80B1F684 A20C04C4 */ sb $t4, 0x04C4($s0) ## 000004C4 .L80B1F688: -/* 01D08 80B1F688 91AD0148 */ lbu $t5, %lo(D_80B20148)($t5) -/* 01D0C 80B1F68C 3C0380B2 */ lui $v1, %hi(D_80B1F9F8) ## $v1 = 80B20000 -/* 01D10 80B1F690 3C0480B2 */ lui $a0, %hi(D_80B1F9F8) ## $a0 = 80B20000 +/* 01D08 80B1F688 91AD0148 */ lbu $t5, %lo(sSwordJumpState)($t5) +/* 01D0C 80B1F68C 3C0380B2 */ lui $v1, %hi(sSwordJumpHeight) ## $v1 = 80B20000 +/* 01D10 80B1F690 3C0480B2 */ lui $a0, %hi(sSwordJumpHeight) ## $a0 = 80B20000 /* 01D14 80B1F694 11A00011 */ beq $t5, $zero, .L80B1F6DC -/* 01D18 80B1F698 2463F9F8 */ addiu $v1, $v1, %lo(D_80B1F9F8) ## $v1 = 80B1F9F8 +/* 01D18 80B1F698 2463F9F8 */ addiu $v1, $v1, %lo(sSwordJumpHeight) ## $v1 = 80B1F9F8 /* 01D1C 80B1F69C 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00 /* 01D20 80B1F6A0 3C054524 */ lui $a1, 0x4524 ## $a1 = 45240000 /* 01D24 80B1F6A4 34A56000 */ ori $a1, $a1, 0x6000 ## $a1 = 45246000 -/* 01D28 80B1F6A8 2484F9F8 */ addiu $a0, $a0, %lo(D_80B1F9F8) ## $a0 = 80B1F9F8 +/* 01D28 80B1F6A8 2484F9F8 */ addiu $a0, $a0, %lo(sSwordJumpHeight) ## $a0 = 80B1F9F8 /* 01D2C 80B1F6AC 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 /* 01D30 80B1F6B0 3C0744FA */ lui $a3, 0x44FA ## $a3 = 44FA0000 /* 01D34 80B1F6B4 0C01E0C4 */ jal Math_SmoothStepToF @@ -1753,8 +1753,8 @@ glabel EnTorch2_Update /* 01D3C 80B1F6BC 3C0180B2 */ lui $at, %hi(D_80B1FA6C) ## $at = 80B20000 /* 01D40 80B1F6C0 C428FA6C */ lwc1 $f8, %lo(D_80B1FA6C)($at) /* 01D44 80B1F6C4 C6060060 */ lwc1 $f6, 0x0060($s0) ## 00000060 -/* 01D48 80B1F6C8 3C0380B2 */ lui $v1, %hi(D_80B1F9F8) ## $v1 = 80B20000 -/* 01D4C 80B1F6CC 2463F9F8 */ addiu $v1, $v1, %lo(D_80B1F9F8) ## $v1 = 80B1F9F8 +/* 01D48 80B1F6C8 3C0380B2 */ lui $v1, %hi(sSwordJumpHeight) ## $v1 = 80B20000 +/* 01D4C 80B1F6CC 2463F9F8 */ addiu $v1, $v1, %lo(sSwordJumpHeight) ## $v1 = 80B1F9F8 /* 01D50 80B1F6D0 46083101 */ sub.s $f4, $f6, $f8 /* 01D54 80B1F6D4 1000000F */ beq $zero, $zero, .L80B1F714 /* 01D58 80B1F6D8 E6040060 */ swc1 $f4, 0x0060($s0) ## 00000060 @@ -1774,22 +1774,22 @@ glabel EnTorch2_Update /* 01D8C 80B1F70C E6080028 */ swc1 $f8, 0x0028($s0) ## 00000028 /* 01D90 80B1F710 E4640000 */ swc1 $f4, 0x0000($v1) ## 80B1F9F8 .L80B1F714: -/* 01D94 80B1F714 3C1880B2 */ lui $t8, %hi(D_80B2015E) ## $t8 = 80B20000 -/* 01D98 80B1F718 9318015E */ lbu $t8, %lo(D_80B2015E)($t8) -/* 01D9C 80B1F71C 3C0480B2 */ lui $a0, %hi(D_80B2015C) ## $a0 = 80B20000 -/* 01DA0 80B1F720 3C0180B2 */ lui $at, %hi(D_80B1FA00) ## $at = 80B20000 +/* 01D94 80B1F714 3C1880B2 */ lui $t8, %hi(sActionState) ## $t8 = 80B20000 +/* 01D98 80B1F718 9318015E */ lbu $t8, %lo(sActionState)($t8) +/* 01D9C 80B1F71C 3C0480B2 */ lui $a0, %hi(sJumpslashTimer) ## $a0 = 80B20000 +/* 01DA0 80B1F720 3C0180B2 */ lui $at, %hi(sZTargetFlag) ## $at = 80B20000 /* 01DA4 80B1F724 13000005 */ beq $t8, $zero, .L80B1F73C -/* 01DA8 80B1F728 2484015C */ addiu $a0, $a0, %lo(D_80B2015C) ## $a0 = 80B2015C +/* 01DA8 80B1F728 2484015C */ addiu $a0, $a0, %lo(sJumpslashTimer) ## $a0 = 80B2015C /* 01DAC 80B1F72C 820F0A78 */ lb $t7, 0x0A78($s0) ## 00000A78 /* 01DB0 80B1F730 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001 /* 01DB4 80B1F734 05E10003 */ bgez $t7, .L80B1F744 /* 01DB8 80B1F738 00000000 */ nop .L80B1F73C: /* 01DBC 80B1F73C 10000003 */ beq $zero, $zero, .L80B1F74C -/* 01DC0 80B1F740 A020FA00 */ sb $zero, %lo(D_80B1FA00)($at) +/* 01DC0 80B1F740 A020FA00 */ sb $zero, %lo(sZTargetFlag)($at) .L80B1F744: -/* 01DC4 80B1F744 3C0180B2 */ lui $at, %hi(D_80B1FA00) ## $at = 80B20000 -/* 01DC8 80B1F748 A02AFA00 */ sb $t2, %lo(D_80B1FA00)($at) +/* 01DC4 80B1F744 3C0180B2 */ lui $at, %hi(sZTargetFlag) ## $at = 80B20000 +/* 01DC8 80B1F748 A02AFA00 */ sb $t2, %lo(sZTargetFlag)($at) .L80B1F74C: /* 01DCC 80B1F74C 90820000 */ lbu $v0, 0x0000($a0) ## 80B2015C /* 01DD0 80B1F750 10400002 */ beq $v0, $zero, .L80B1F75C diff --git a/asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1DB98.s b/asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1DB98.s deleted file mode 100644 index f408d8baeb..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1DB98.s +++ /dev/null @@ -1,19 +0,0 @@ -glabel func_80B1DB98 -/* 00218 80B1DB98 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 0021C 80B1DB9C AFBF0014 */ sw $ra, 0x0014($sp) -/* 00220 80B1DBA0 AFA40018 */ sw $a0, 0x0018($sp) -/* 00224 80B1DBA4 AFA5001C */ sw $a1, 0x001C($sp) -/* 00228 80B1DBA8 0C00CDE0 */ jal func_80033780 -/* 0022C 80B1DBAC 3C06457A */ lui $a2, 0x457A ## $a2 = 457A0000 -/* 00230 80B1DBB0 10400003 */ beq $v0, $zero, .L80B1DBC0 -/* 00234 80B1DBB4 8FA40018 */ lw $a0, 0x0018($sp) -/* 00238 80B1DBB8 10000004 */ beq $zero, $zero, .L80B1DBCC -/* 0023C 80B1DBBC 8FBF0014 */ lw $ra, 0x0014($sp) -.L80B1DBC0: -/* 00240 80B1DBC0 0C00CDA1 */ jal func_80033684 -/* 00244 80B1DBC4 8FA5001C */ lw $a1, 0x001C($sp) -/* 00248 80B1DBC8 8FBF0014 */ lw $ra, 0x0014($sp) -.L80B1DBCC: -/* 0024C 80B1DBCC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00250 80B1DBD0 03E00008 */ jr $ra -/* 00254 80B1DBD4 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1DBD8.s b/asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1DBD8.s deleted file mode 100644 index 94469fcf26..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1DBD8.s +++ /dev/null @@ -1,120 +0,0 @@ -.late_rodata -glabel D_80B1FA58 - .float 0.3 - -.text -glabel func_80B1DBD8 -/* 00258 80B1DBD8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 0025C 80B1DBDC AFBF0014 */ sw $ra, 0x0014($sp) -/* 00260 80B1DBE0 AFA50024 */ sw $a1, 0x0024($sp) -/* 00264 80B1DBE4 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 00268 80B1DBE8 C4C40838 */ lwc1 $f4, 0x0838($a2) ## 00000838 -/* 0026C 80B1DBEC 24020007 */ addiu $v0, $zero, 0x0007 ## $v0 = 00000007 -/* 00270 80B1DBF0 8C831C44 */ lw $v1, 0x1C44($a0) ## 00001C44 -/* 00274 80B1DBF4 4600203C */ c.lt.s $f4, $f0 -/* 00278 80B1DBF8 46000086 */ mov.s $f2, $f0 -/* 0027C 80B1DBFC 45010009 */ bc1t .L80B1DC24 -/* 00280 80B1DC00 00000000 */ nop -/* 00284 80B1DC04 C4660838 */ lwc1 $f6, 0x0838($v1) ## 00000838 -/* 00288 80B1DC08 3C180001 */ lui $t8, 0x0001 ## $t8 = 00010000 -/* 0028C 80B1DC0C 3C0E8016 */ lui $t6, %hi(gSaveContext+0x30) -/* 00290 80B1DC10 4600303C */ c.lt.s $f6, $f0 -/* 00294 80B1DC14 3C0F80B2 */ lui $t7, %hi(D_80B20165) ## $t7 = 80B20000 -/* 00298 80B1DC18 0304C021 */ addu $t8, $t8, $a0 -/* 0029C 80B1DC1C 45000003 */ bc1f .L80B1DC2C -/* 002A0 80B1DC20 00000000 */ nop -.L80B1DC24: -/* 002A4 80B1DC24 1000004E */ beq $zero, $zero, .L80B1DD60 -/* 002A8 80B1DC28 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L80B1DC2C: -/* 002AC 80B1DC2C 85CEE690 */ lh $t6, %lo(gSaveContext+0x30)($t6) -/* 002B0 80B1DC30 3C0880B2 */ lui $t0, %hi(D_80B20148) ## $t0 = 80B20000 -/* 002B4 80B1DC34 29C10050 */ slti $at, $t6, 0x0050 -/* 002B8 80B1DC38 10200004 */ beq $at, $zero, .L80B1DC4C -/* 002BC 80B1DC3C 3C0180B2 */ lui $at, %hi(D_80B1FA58) ## $at = 80B20000 -/* 002C0 80B1DC40 C428FA58 */ lwc1 $f8, %lo(D_80B1FA58)($at) -/* 002C4 80B1DC44 2402000F */ addiu $v0, $zero, 0x000F ## $v0 = 0000000F -/* 002C8 80B1DC48 46080080 */ add.s $f2, $f0, $f8 -.L80B1DC4C: -/* 002CC 80B1DC4C 91EF0165 */ lbu $t7, %lo(D_80B20165)($t7) -/* 002D0 80B1DC50 240100FF */ addiu $at, $zero, 0x00FF ## $at = 000000FF -/* 002D4 80B1DC54 11E10004 */ beq $t7, $at, .L80B1DC68 -/* 002D8 80B1DC58 3C014000 */ lui $at, 0x4000 ## $at = 40000000 -/* 002DC 80B1DC5C 44815000 */ mtc1 $at, $f10 ## $f10 = 2.00 -/* 002E0 80B1DC60 00000000 */ nop -/* 002E4 80B1DC64 460A1080 */ add.s $f2, $f2, $f10 -.L80B1DC68: -/* 002E8 80B1DC68 8F181DE4 */ lw $t8, 0x1DE4($t8) ## 00011DE4 -/* 002EC 80B1DC6C 0302C824 */ and $t9, $t8, $v0 -/* 002F0 80B1DC70 13200004 */ beq $t9, $zero, .L80B1DC84 -/* 002F4 80B1DC74 00000000 */ nop -/* 002F8 80B1DC78 91080148 */ lbu $t0, %lo(D_80B20148)($t0) -/* 002FC 80B1DC7C 51000038 */ beql $t0, $zero, .L80B1DD60 -/* 00300 80B1DC80 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L80B1DC84: -/* 00304 80B1DC84 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 00308 80B1DC88 E7A2001C */ swc1 $f2, 0x001C($sp) -/* 0030C 80B1DC8C C7A2001C */ lwc1 $f2, 0x001C($sp) -/* 00310 80B1DC90 3C0980B2 */ lui $t1, %hi(D_80B20148) ## $t1 = 80B20000 -/* 00314 80B1DC94 4600103E */ c.le.s $f2, $f0 -/* 00318 80B1DC98 00000000 */ nop -/* 0031C 80B1DC9C 45020030 */ bc1fl .L80B1DD60 -/* 00320 80B1DCA0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -/* 00324 80B1DCA4 91290148 */ lbu $t1, %lo(D_80B20148)($t1) -/* 00328 80B1DCA8 55200028 */ bnel $t1, $zero, .L80B1DD4C -/* 0032C 80B1DCAC 8FB80024 */ lw $t8, 0x0024($sp) -/* 00330 80B1DCB0 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 00334 80B1DCB4 00000000 */ nop -/* 00338 80B1DCB8 3C0140E0 */ lui $at, 0x40E0 ## $at = 40E00000 -/* 0033C 80B1DCBC 44818000 */ mtc1 $at, $f16 ## $f16 = 7.00 -/* 00340 80B1DCC0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00344 80B1DCC4 46100482 */ mul.s $f18, $f0, $f16 -/* 00348 80B1DCC8 4600910D */ trunc.w.s $f4, $f18 -/* 0034C 80B1DCCC 44022000 */ mfc1 $v0, $f4 -/* 00350 80B1DCD0 00000000 */ nop -/* 00354 80B1DCD4 10410009 */ beq $v0, $at, .L80B1DCFC -/* 00358 80B1DCD8 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 0035C 80B1DCDC 10410011 */ beq $v0, $at, .L80B1DD24 -/* 00360 80B1DCE0 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005 -/* 00364 80B1DCE4 10410005 */ beq $v0, $at, .L80B1DCFC -/* 00368 80B1DCE8 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006 -/* 0036C 80B1DCEC 1041000D */ beq $v0, $at, .L80B1DD24 -/* 00370 80B1DCF0 00000000 */ nop -/* 00374 80B1DCF4 10000015 */ beq $zero, $zero, .L80B1DD4C -/* 00378 80B1DCF8 8FB80024 */ lw $t8, 0x0024($sp) -.L80B1DCFC: -/* 0037C 80B1DCFC 3C0280B2 */ lui $v0, %hi(D_80B1F9F4) ## $v0 = 80B20000 -/* 00380 80B1DD00 2442F9F4 */ addiu $v0, $v0, %lo(D_80B1F9F4) ## $v0 = 80B1F9F4 -/* 00384 80B1DD04 844B0000 */ lh $t3, 0x0000($v0) ## 80B1F9F4 -/* 00388 80B1DD08 3C0142FE */ lui $at, 0x42FE ## $at = 42FE0000 -/* 0038C 80B1DD0C 44813000 */ mtc1 $at, $f6 ## $f6 = 127.00 -/* 00390 80B1DD10 256C4000 */ addiu $t4, $t3, 0x4000 ## $t4 = 00004000 -/* 00394 80B1DD14 A44C0000 */ sh $t4, 0x0000($v0) ## 80B1F9F4 -/* 00398 80B1DD18 3C0180B2 */ lui $at, %hi(D_80B1F9F0) ## $at = 80B20000 -/* 0039C 80B1DD1C 1000000A */ beq $zero, $zero, .L80B1DD48 -/* 003A0 80B1DD20 E426F9F0 */ swc1 $f6, %lo(D_80B1F9F0)($at) -.L80B1DD24: -/* 003A4 80B1DD24 3C0280B2 */ lui $v0, %hi(D_80B1F9F4) ## $v0 = 80B20000 -/* 003A8 80B1DD28 2442F9F4 */ addiu $v0, $v0, %lo(D_80B1F9F4) ## $v0 = 80B1F9F4 -/* 003AC 80B1DD2C 844D0000 */ lh $t5, 0x0000($v0) ## 80B1F9F4 -/* 003B0 80B1DD30 3C0142FE */ lui $at, 0x42FE ## $at = 42FE0000 -/* 003B4 80B1DD34 44814000 */ mtc1 $at, $f8 ## $f8 = 127.00 -/* 003B8 80B1DD38 25AEC000 */ addiu $t6, $t5, 0xC000 ## $t6 = FFFFC000 -/* 003BC 80B1DD3C A44E0000 */ sh $t6, 0x0000($v0) ## 80B1F9F4 -/* 003C0 80B1DD40 3C0180B2 */ lui $at, %hi(D_80B1F9F0) ## $at = 80B20000 -/* 003C4 80B1DD44 E428F9F0 */ swc1 $f8, %lo(D_80B1F9F0)($at) -.L80B1DD48: -/* 003C8 80B1DD48 8FB80024 */ lw $t8, 0x0024($sp) -.L80B1DD4C: -/* 003CC 80B1DD4C 240F4000 */ addiu $t7, $zero, 0x4000 ## $t7 = 00004000 -/* 003D0 80B1DD50 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001 -/* 003D4 80B1DD54 10000002 */ beq $zero, $zero, .L80B1DD60 -/* 003D8 80B1DD58 A70F0000 */ sh $t7, 0x0000($t8) ## 00000000 -/* 003DC 80B1DD5C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L80B1DD60: -/* 003E0 80B1DD60 8FBF0014 */ lw $ra, 0x0014($sp) -/* 003E4 80B1DD64 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 003E8 80B1DD68 03E00008 */ jr $ra -/* 003EC 80B1DD6C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1DD70.s b/asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1DD70.s deleted file mode 100644 index c7bc72e835..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1DD70.s +++ /dev/null @@ -1,22 +0,0 @@ -glabel func_80B1DD70 -/* 003F0 80B1DD70 84C2008A */ lh $v0, 0x008A($a2) ## 0000008A -/* 003F4 80B1DD74 34018000 */ ori $at, $zero, 0x8000 ## $at = 00008000 -/* 003F8 80B1DD78 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001 -/* 003FC 80B1DD7C 00417021 */ addu $t6, $v0, $at -/* 00400 80B1DD80 3C0180B2 */ lui $at, %hi(D_80B1F9F4) ## $at = 80B20000 -/* 00404 80B1DD84 A4C200B6 */ sh $v0, 0x00B6($a2) ## 000000B6 -/* 00408 80B1DD88 A4C20032 */ sh $v0, 0x0032($a2) ## 00000032 -/* 0040C 80B1DD8C A42EF9F4 */ sh $t6, %lo(D_80B1F9F4)($at) -/* 00410 80B1DD90 3C0142FE */ lui $at, 0x42FE ## $at = 42FE0000 -/* 00414 80B1DD94 44812000 */ mtc1 $at, $f4 ## $f4 = 127.00 -/* 00418 80B1DD98 3C0180B2 */ lui $at, %hi(D_80B1F9F0) ## $at = 80B20000 -/* 0041C 80B1DD9C 34188000 */ ori $t8, $zero, 0x8000 ## $t8 = 00008000 -/* 00420 80B1DDA0 E424F9F0 */ swc1 $f4, %lo(D_80B1F9F0)($at) -/* 00424 80B1DDA4 3C0180B2 */ lui $at, %hi(D_80B1FA00) ## $at = 80B20000 -/* 00428 80B1DDA8 A02FFA00 */ sb $t7, %lo(D_80B1FA00)($at) -/* 0042C 80B1DDAC A4B80000 */ sh $t8, 0x0000($a1) ## 00000000 -/* 00430 80B1DDB0 2419000A */ addiu $t9, $zero, 0x000A ## $t9 = 0000000A -/* 00434 80B1DDB4 A0990A78 */ sb $t9, 0x0A78($a0) ## 00000A78 -/* 00438 80B1DDB8 3C0180B2 */ lui $at, %hi(D_80B20160) ## $at = 80B20000 -/* 0043C 80B1DDBC 03E00008 */ jr $ra -/* 00440 80B1DDC0 A0200160 */ sb $zero, %lo(D_80B20160)($at) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1F7A8.s b/asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1F7A8.s deleted file mode 100644 index 7b0bf7538e..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1F7A8.s +++ /dev/null @@ -1,12 +0,0 @@ -glabel func_80B1F7A8 -/* 01E28 80B1F7A8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 01E2C 80B1F7AC 8FAE0030 */ lw $t6, 0x0030($sp) -/* 01E30 80B1F7B0 8FAF0034 */ lw $t7, 0x0034($sp) -/* 01E34 80B1F7B4 AFBF001C */ sw $ra, 0x001C($sp) -/* 01E38 80B1F7B8 AFAE0010 */ sw $t6, 0x0010($sp) -/* 01E3C 80B1F7BC 0C023F32 */ jal func_8008FCC8 -/* 01E40 80B1F7C0 AFAF0014 */ sw $t7, 0x0014($sp) -/* 01E44 80B1F7C4 8FBF001C */ lw $ra, 0x001C($sp) -/* 01E48 80B1F7C8 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 01E4C 80B1F7CC 03E00008 */ jr $ra -/* 01E50 80B1F7D0 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1F7D4.s b/asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1F7D4.s deleted file mode 100644 index 6ea564b4df..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1F7D4.s +++ /dev/null @@ -1,10 +0,0 @@ -glabel func_80B1F7D4 -/* 01E54 80B1F7D4 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 01E58 80B1F7D8 8FAE0030 */ lw $t6, 0x0030($sp) -/* 01E5C 80B1F7DC AFBF001C */ sw $ra, 0x001C($sp) -/* 01E60 80B1F7E0 0C024348 */ jal func_80090D20 -/* 01E64 80B1F7E4 AFAE0010 */ sw $t6, 0x0010($sp) -/* 01E68 80B1F7E8 8FBF001C */ lw $ra, 0x001C($sp) -/* 01E6C 80B1F7EC 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 01E70 80B1F7F0 03E00008 */ jr $ra -/* 01E74 80B1F7F4 00000000 */ nop diff --git a/data/overlays/actors/z_en_torch2.bss.s b/data/overlays/actors/z_en_torch2.bss.s deleted file mode 100644 index f3ac2eebf1..0000000000 --- a/data/overlays/actors/z_en_torch2.bss.s +++ /dev/null @@ -1,60 +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_80B20130 - .space 0x02 -glabel D_80B20132 - .space 0x01 -glabel D_80B20133 - .space 0x03 -glabel D_80B20136 - .space 0x02 -glabel D_80B20138 - .space 0x01 -glabel D_80B20139 - .space 0x03 -glabel D_80B2013C - .space 0x02 -glabel D_80B2013E - .space 0x01 -glabel D_80B2013F - .space 0x03 -glabel D_80B20142 - .space 0x06 -glabel D_80B20148 - .space 0x08 -glabel D_80B20150 - .space 0x04 -glabel D_80B20154 - .space 0x04 -glabel D_80B20158 - .space 0x04 -glabel D_80B2015C - .space 0x01 -glabel D_80B2015D - .space 0x01 -glabel D_80B2015E - .space 0x01 -glabel D_80B2015F - .space 0x01 -glabel D_80B20160 - .space 0x01 -glabel D_80B20161 - .space 0x01 -glabel D_80B20162 - .space 0x01 -glabel D_80B20163 - .space 0x01 -glabel D_80B20164 - .space 0x01 -glabel D_80B20165 - .space 0x0B - diff --git a/data/overlays/actors/z_en_torch2.data.s b/data/overlays/actors/z_en_torch2.data.s deleted file mode 100644 index c5c79120fa..0000000000 --- a/data/overlays/actors/z_en_torch2.data.s +++ /dev/null @@ -1,32 +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_Torch2_InitVars - .word 0x00330900, 0x00000035, 0x00200000, 0x00000A94 -.word EnTorch2_Init -.word EnTorch2_Destroy -.word EnTorch2_Update -.word EnTorch2_Draw -glabel D_80B1F9F0 - .word 0x00000000 -glabel D_80B1F9F4 - .word 0x00000000 -glabel D_80B1F9F8 - .word 0x00000000 -glabel D_80B1F9FC - .word 0x00000000 -glabel D_80B1FA00 - .word 0x00000000 -glabel D_80B1FA04 - .word 0x00000000 -glabel D_80B1FA08 - .word 0x10020102, 0x10020210, 0x01020402, 0x02020202, 0x02E260D3, 0x00000104, 0x02020804, 0x00000400, 0x00000000, 0x00000000 - diff --git a/spec b/spec index 6ef513f6ae..eb88589aa8 100644 --- a/spec +++ b/spec @@ -3072,9 +3072,11 @@ endseg beginseg name "ovl_En_Torch2" include "build/src/overlays/actors/ovl_En_Torch2/z_en_torch2.o" - include "build/data/overlays/actors/z_en_torch2.data.o" - include "build/data/overlays/actors/z_en_torch2.bss.o" +#ifdef NON_MATCHING + include "build/src/overlays/actors/ovl_En_Torch2/ovl_En_Torch2_reloc.o" +#else include "build/data/overlays/actors/z_en_torch2.reloc.o" +#endif endseg beginseg diff --git a/src/overlays/actors/ovl_En_Blkobj/z_en_blkobj.c b/src/overlays/actors/ovl_En_Blkobj/z_en_blkobj.c index 840af5d731..29bbc360fd 100644 --- a/src/overlays/actors/ovl_En_Blkobj/z_en_blkobj.c +++ b/src/overlays/actors/ovl_En_Blkobj/z_en_blkobj.c @@ -15,10 +15,10 @@ void EnBlkobj_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnBlkobj_Update(Actor* thisx, GlobalContext* globalCtx); void EnBlkobj_Draw(Actor* thisx, GlobalContext* globalCtx); -void func_809C2148(EnBlkobj* this, GlobalContext* globalCtx); -void func_809C21A0(EnBlkobj* this, GlobalContext* globalCtx); -void func_809C2218(EnBlkobj* this, GlobalContext* globalCtx); -void func_809C22F4(EnBlkobj* this, GlobalContext* globalCtx); +void EnBlkobj_Wait(EnBlkobj* this, GlobalContext* globalCtx); +void EnBlkobj_SpawnDarkLink(EnBlkobj* this, GlobalContext* globalCtx); +void EnBlkobj_DarkLinkFight(EnBlkobj* this, GlobalContext* globalCtx); +void EnBlkobj_DoNothing(EnBlkobj* this, GlobalContext* globalCtx); const ActorInit En_Blkobj_InitVars = { ACTOR_EN_BLKOBJ, @@ -39,109 +39,109 @@ static InitChainEntry sInitChain[] = { ICHAIN_F32(uncullZoneDownward, 300, ICHAIN_STOP), }; -static Gfx D_809C2590[] = { +static Gfx sSetupOpaDL[] = { gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2), gsSPEndDisplayList(), }; -static Gfx D_809C25A0[] = { +static Gfx sSetupXluDL[] = { gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_XLU_SURF2), gsSPEndDisplayList(), }; extern Gfx D_060014E0[]; extern Gfx D_060053D0[]; -extern UNK_TYPE D_06007564; +extern ColHeader D_06007564; -void func_809C2060(EnBlkobj* this, EnBlkobjActionFunc actionFunc) { +void EnBlkobj_SetupAction(EnBlkobj* this, EnBlkobjActionFunc actionFunc) { this->actionFunc = actionFunc; - this->unk_166 = 0; + this->timer = 0; } void EnBlkobj_Init(Actor* thisx, GlobalContext* globalCtx) { s32 pad; EnBlkobj* this = THIS; - s32 localC = 0; + ColHeader* colHeader = NULL; Actor_ProcessInitChain(&this->dyna.actor, sInitChain); DynaPolyInfo_SetActorMove(&this->dyna, 0); if (Flags_GetClear(globalCtx, this->dyna.actor.room)) { - this->unk_164 = 0xFF; - func_809C2060(this, func_809C22F4); + this->alpha = 255; + EnBlkobj_SetupAction(this, EnBlkobj_DoNothing); } else { - DynaPolyInfo_Alloc(&D_06007564, &localC); + DynaPolyInfo_Alloc(&D_06007564, &colHeader); this->dyna.dynaPolyId = - DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, localC); - func_809C2060(this, func_809C2148); + DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader); + EnBlkobj_SetupAction(this, EnBlkobj_Wait); } } void EnBlkobj_Destroy(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; EnBlkobj* this = THIS; DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId); } -void func_809C2148(EnBlkobj* this, GlobalContext* globalCtx) { +void EnBlkobj_Wait(EnBlkobj* this, GlobalContext* globalCtx) { Player* player = PLAYER; if (this->dyna.actor.xzDistFromLink < 120.0f) { - func_809C2060(this, func_809C21A0); + EnBlkobj_SetupAction(this, EnBlkobj_SpawnDarkLink); } - player->stateFlags2 |= 0x4000000; + player->stateFlags2 |= 0x04000000; } -void func_809C21A0(EnBlkobj* this, GlobalContext* globalCtx) { +void EnBlkobj_SpawnDarkLink(EnBlkobj* this, GlobalContext* globalCtx) { if (!(this->dyna.actor.flags & 0x40)) { Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_TORCH2, this->dyna.actor.posRot.pos.x, this->dyna.actor.posRot.pos.y, this->dyna.actor.posRot.pos.z, 0, this->dyna.actor.yawTowardsLink, 0, 0); - func_809C2060(this, func_809C2218); + EnBlkobj_SetupAction(this, EnBlkobj_DarkLinkFight); } } -void func_809C2218(EnBlkobj* this, GlobalContext* globalCtx) { - s32 temp; +void EnBlkobj_DarkLinkFight(EnBlkobj* this, GlobalContext* globalCtx) { + s32 alphaMod; - if (this->unk_166 == 0) { + if (this->timer == 0) { if (Actor_Find(&globalCtx->actorCtx, ACTOR_EN_TORCH2, ACTORTYPE_BOSS) == NULL) { Flags_SetClear(globalCtx, this->dyna.actor.room); - this->unk_166 += 1; + this->timer++; } - } else { - if (this->unk_166++ > 100) { - temp = (this->unk_166 - 100) >> 2; - if (temp > 5) { - temp = 5; - } - this->unk_164 += temp; - if (this->unk_164 > 255) { - this->unk_164 = 255; - func_809C2060(this, func_809C22F4); - DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId); - } + } else if (this->timer++ > 100) { + alphaMod = (this->timer - 100) >> 2; + if (alphaMod > 5) { + alphaMod = 5; + } + this->alpha += alphaMod; + if (this->alpha > 255) { + this->alpha = 255; + EnBlkobj_SetupAction(this, EnBlkobj_DoNothing); + DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId); } } } -void func_809C22F4(EnBlkobj* this, GlobalContext* globalCtx) { +void EnBlkobj_DoNothing(EnBlkobj* this, GlobalContext* globalCtx) { } void EnBlkobj_Update(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; EnBlkobj* this = THIS; this->actionFunc(this, globalCtx); } -void func_809C2324(GlobalContext* globalCtx, Gfx* dList, s32 alpha) { +void EnBlkobj_DrawAlpha(GlobalContext* globalCtx, Gfx* dList, s32 alpha) { Gfx* segment; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_blkobj.c", 322); if (alpha == 255) { - segment = D_809C2590; + segment = sSetupOpaDL; } else { - segment = D_809C25A0; + segment = sSetupXluDL; } gSPSegment(POLY_XLU_DISP++, 0x08, segment); @@ -152,9 +152,9 @@ void func_809C2324(GlobalContext* globalCtx, Gfx* dList, s32 alpha) { } void EnBlkobj_Draw(Actor* thisx, GlobalContext* globalCtx) { - EnBlkobj* this = THIS; s32 pad; - s32 temp_a3; + EnBlkobj* this = THIS; + s32 illusionAlpha; u32 gameplayFrames; OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_blkobj.c", 349); @@ -168,12 +168,12 @@ void EnBlkobj_Draw(Actor* thisx, GlobalContext* globalCtx) { gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_blkobj.c", 363), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - if (this->unk_164 != 0) { - func_809C2324(globalCtx, D_060014E0, this->unk_164); + if (this->alpha != 0) { + EnBlkobj_DrawAlpha(globalCtx, D_060014E0, this->alpha); } - temp_a3 = 255 - this->unk_164; - if (temp_a3 != 0) { - func_809C2324(globalCtx, D_060053D0, temp_a3); + illusionAlpha = 255 - this->alpha; + if (illusionAlpha != 0) { + EnBlkobj_DrawAlpha(globalCtx, D_060053D0, illusionAlpha); } CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_blkobj.c", 375); diff --git a/src/overlays/actors/ovl_En_Blkobj/z_en_blkobj.h b/src/overlays/actors/ovl_En_Blkobj/z_en_blkobj.h index 4104d578b7..a2b0893999 100644 --- a/src/overlays/actors/ovl_En_Blkobj/z_en_blkobj.h +++ b/src/overlays/actors/ovl_En_Blkobj/z_en_blkobj.h @@ -10,8 +10,8 @@ typedef void (*EnBlkobjActionFunc)(struct EnBlkobj*, GlobalContext*); typedef struct EnBlkobj { /* 0x0000 */ DynaPolyActor dyna; - /* 0x0164 */ s16 unk_164; - /* 0x0166 */ s16 unk_166; + /* 0x0164 */ s16 alpha; + /* 0x0166 */ s16 timer; /* 0x0168 */ EnBlkobjActionFunc actionFunc; } EnBlkobj; // size = 0x016C diff --git a/src/overlays/actors/ovl_En_Torch2/z_en_torch2.c b/src/overlays/actors/ovl_En_Torch2/z_en_torch2.c index 752a678e69..e6bc82de78 100644 --- a/src/overlays/actors/ovl_En_Torch2/z_en_torch2.c +++ b/src/overlays/actors/ovl_En_Torch2/z_en_torch2.c @@ -10,12 +10,51 @@ #define THIS ((Player*)thisx) +typedef enum { + /* 0 */ ENTORCH2_WAIT, + /* 1 */ ENTORCH2_ATTACK, + /* 2 */ ENTORCH2_DEATH, + /* 3 */ ENTORCH2_DAMAGE +} EnTorch2ActionStates; + +typedef enum { + /* 0 */ FORWARD_SLASH_1H, + /* 1 */ FORWARD_SLASH_2H, + /* 2 */ FORWARD_COMBO_1H, + /* 3 */ FORWARD_COMBO_2H, + /* 4 */ RIGHT_SLASH_1H, + /* 5 */ RIGHT_SLASH_2H, + /* 6 */ RIGHT_COMBO_1H, + /* 7 */ RIGHT_COMBO_2H, + /* 8 */ LEFT_SLASH_1H, + /* 9 */ LEFT_SLASH_2H, + /* 10 */ LEFT_COMBO_1H, + /* 11 */ LEFT_COMBO_2H, + /* 12 */ STAB_1H, + /* 13 */ STAB_2H, + /* 14 */ STAB_COMBO_1H, + /* 15 */ STAB_COMBO_2H, + /* 16 */ FLIPSLASH_START, + /* 17 */ JUMPSLASH_START, + /* 18 */ FLIPSLASH_FINISH, + /* 19 */ JUMPSLASH_FINISH, + /* 20 */ BACKSLASH_RIGHT, + /* 21 */ BACKSLASH_LEFT, + /* 22 */ HAMMER_FORWARD, + /* 23 */ HAMMER_SIDE, + /* 24 */ SPIN_ATTACK_1H, + /* 25 */ SPIN_ATTACK_2H, + /* 26 */ BIG_SPIN_1H, + /* 27 */ BIG_SPIN_2H +} PlayerSwordAnimation; + void EnTorch2_Init(Actor* thisx, GlobalContext* globalCtx); void EnTorch2_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnTorch2_Update(Actor* thisx, GlobalContext* globalCtx); void EnTorch2_Draw(Actor* thisx, GlobalContext* globalCtx); -/* +extern FlexSkeletonHeader D_06004764; + const ActorInit En_Torch2_InitVars = { ACTOR_EN_TORCH2, ACTORTYPE_BOSS, @@ -27,21 +66,719 @@ const ActorInit En_Torch2_InitVars = { (ActorFunc)EnTorch2_Update, (ActorFunc)EnTorch2_Draw, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Torch2/EnTorch2_Init.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Torch2/EnTorch2_Destroy.s") +/* static */ f32 sStickTilt = 0.0f; +/* static */ s16 sStickAngle = 0; +/* static */ f32 sSwordJumpHeight = 0.0f; +/* static */ s32 sHoldShieldTimer = 0; +/* static */ u8 sZTargetFlag = false; +/* static */ u8 sDeathFlag = false; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1DB98.s") +/* static */ Input sInput; +/* static */ u8 sSwordJumpState; +/* static */ Vec3f sSpawnPoint; +/* static */ u8 sJumpslashTimer; +/* static */ u8 sJumpslashFlag; +/* static */ u8 sActionState; +/* static */ u8 sSwordJumpTimer; +/* static */ u8 sCounterState; +/* static */ u8 sDodgeRollState; +/* static */ u8 sStaggerCount; +/* static */ u8 sStaggerTimer; +/* static */ s8 sLastSwordAnim; +/* static */ u8 sAlpha; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1DBD8.s") +static DamageTable sDamageTable = { + 0x10, 0x02, 0x01, 0x02, 0x10, 0x02, 0x02, 0x10, 0x01, 0x02, 0x04, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0xE2, 0x60, 0xD3, 0x00, 0x00, 0x01, 0x04, 0x02, 0x02, 0x08, 0x04, 0x00, 0x00, 0x04, 0x00, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1DD70.s") +void EnTorch2_Init(Actor* thisx, GlobalContext* globalCtx2) { + GlobalContext* globalCtx = globalCtx2; + Player* this = THIS; + sInput.cur.button = sInput.press.button = sInput.rel.button = 0; + sInput.cur.stick_x = sInput.cur.stick_y = 0; + this->currentShield = PLAYER_SHIELD_HYLIAN; + this->heldItemActionParam = this->heldItemId = PLAYER_AP_SWORD_MASTER; + Player_SetModelGroup(this, 2); + globalCtx->playerInit(this, globalCtx, &D_06004764); + this->actor.naviEnemyId = 0x26; + this->cylinder.base.acFlags = 9; + this->swordQuads[0].base.atFlags = this->swordQuads[1].base.atFlags = 0x11; + this->swordQuads[0].base.acFlags = this->swordQuads[1].base.acFlags = 0xD; + this->swordQuads[0].base.type = this->swordQuads[1].base.type = 9; + this->swordQuads[0].body.toucher.damage = this->swordQuads[1].body.toucher.damage = 8; + this->swordQuads[0].body.bumperFlags = this->swordQuads[1].body.bumperFlags = 1; + this->shieldQuad.base.atFlags = 0x11; + this->shieldQuad.base.acFlags = 0xD; + this->actor.colChkInfo.damageTable = &sDamageTable; + this->actor.colChkInfo.health = gSaveContext.healthCapacity >> 3; + this->actor.colChkInfo.unk_10 = 60; + this->actor.colChkInfo.unk_12 = 100; + globalCtx->func_11D54(this, globalCtx); + + sActionState = ENTORCH2_WAIT; + sDodgeRollState = 0; + sSwordJumpHeight = 0.0f; + sSwordJumpState = 0; + sJumpslashTimer = 0; + sJumpslashFlag = false; + sCounterState = sStaggerTimer = sStaggerCount = 0; + sLastSwordAnim = 0; + sAlpha = 95; + sSpawnPoint = this->actor.initPosRot.pos; +} + +void EnTorch2_Destroy(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + Player* this = THIS; + + Effect_Delete(globalCtx, this->swordEffectIndex); + func_800F5B58(); + Collider_DestroyCylinder(globalCtx, &this->cylinder); + Collider_DestroyQuad(globalCtx, &this->swordQuads[0]); + Collider_DestroyQuad(globalCtx, &this->swordQuads[1]); + Collider_DestroyQuad(globalCtx, &this->shieldQuad); +} + +Actor* EnTorch2_GetAttackItem(GlobalContext* globalCtx, Player* this) { + Actor* rangedItem = func_80033780(globalCtx, &this->actor, 4000.0f); + + if (rangedItem != NULL) { + return rangedItem; + } else { + return func_80033684(globalCtx, &this->actor); + } +} + +s32 EnTorch2_SwingSword(GlobalContext* globalCtx, Input* input, Player* this) { + f32 noAttackChance = 0.0f; + s32 attackDelay = 7; + Player* player = PLAYER; + + if ((this->linearVelocity < 0.0f) || (player->linearVelocity < 0.0f)) { + return 0; + } + if (gSaveContext.health < 0x50) { + attackDelay = 15; + noAttackChance += 0.3f; + } + if (sAlpha != 255) { + noAttackChance += 2.0f; + } + if ((((globalCtx->gameplayFrames & attackDelay) == 0) || (sSwordJumpState != 0)) && + (noAttackChance <= Rand_ZeroOne())) { + if (sSwordJumpState == 0) { + switch ((s32)(Rand_ZeroOne() * 7.0f)) { + case 1: + case 5: + sStickAngle += 0x4000; + sStickTilt = 127.0f; + break; + case 2: + case 6: + sStickAngle -= 0x4000; + sStickTilt = 127.0f; + break; + } + } + input->cur.button = BTN_B; + return 1; + } + return 0; +} + +void EnTorch2_Backflip(Player* this, Input* input, Actor* thisx) { + thisx->posRot.rot.y = thisx->shape.rot.y = thisx->yawTowardsLink; + sStickAngle = thisx->yawTowardsLink + 0x8000; + sStickTilt = 127.0f; + sZTargetFlag = true; + input->cur.button = BTN_A; + this->invincibilityTimer = 10; + sCounterState = 0; +} + +#ifdef NON_MATCHING +/** + * Static variables are sometimes loaded from pointers and sometimes directly. While + * neither this nor the original are consistent about it, unfortunately they're not + * inconsistent in the same way. Also a small instruction mismatch in the input section + */ +void EnTorch2_Update(Actor* thisx, GlobalContext* globalCtx2) { + GlobalContext* globalCtx = globalCtx2; + Player* player = PLAYER; + Player* this = THIS; + Input* input = &sInput; + u16 phi_a2; + s8 tempX; + s8 tempY; + Camera* camera; + u8 staggerThreshold; + s8 temp; + s16 sp66; + u32 phi_v0; + Actor* attackItem; + s16 sp5A; + s16 pad58; + s32 pad54; + f32 sp50; + s16 sp4E; + s16 pad4C; + + sp5A = player->actor.shape.rot.y - this->actor.shape.rot.y; + input->cur.button = 0; + camera = Gameplay_GetCamera(globalCtx, 0); + attackItem = EnTorch2_GetAttackItem(globalCtx, this); + switch (sActionState) { + case ENTORCH2_WAIT: + this->actor.shape.rot.y = this->actor.posRot.rot.y = this->actor.yawTowardsLink; + this->skelAnime.animCurrentFrame = 0.0f; + this->skelAnime.animPlaybackSpeed = 0.0f; + this->actor.posRot.pos.x = (Math_SinS(this->actor.posRot.rot.y) * 25.0f) + sSpawnPoint.x; + this->actor.posRot.pos.z = (Math_CosS(this->actor.posRot.rot.y) * 25.0f) + sSpawnPoint.z; + if ((this->actor.xzDistFromLink <= 120.0f) || func_80033A84(globalCtx, &this->actor) || + (attackItem != NULL)) { + if (attackItem != NULL) { + sDodgeRollState = 1; + sStickAngle = this->actor.yawTowardsLink; + sStickTilt = 127.0f; + input->cur.button = BTN_A; + sZTargetFlag = false; + sp66 = camera->camDir.y - sStickAngle; + input->cur.stick_x = sStickTilt * Math_SinS(sp66); + temp = sStickTilt * Math_CosS(sp66); + input->cur.stick_y = temp; + } + func_800F5ACC(0x38); + sActionState = ENTORCH2_ATTACK; + } + break; + + case ENTORCH2_ATTACK: + sStickTilt = 0.0f; + + // Handles Dark Link's sword clanking on Link's sword + + if ((this->swordQuads[0].base.acFlags & 0x80) || (this->swordQuads[1].base.acFlags & 0x80)) { + this->swordQuads[0].base.acFlags &= ~0x80; + this->swordQuads[1].base.acFlags &= ~0x80; + this->swordQuads[0].base.atFlags |= 4; // Loads these out of order + this->swordQuads[1].base.atFlags |= 4; + this->cylinder.base.acFlags &= ~2; + + if (sLastSwordAnim != this->swordAnimation) { + sStaggerCount++; + sLastSwordAnim = this->swordAnimation; + } + /*! @bug + * This code is needed to reset sCounterState, and should run regardless + * of how much health Link has. Without it, sCounterState stays at 2 until + * something else resets it, preventing Dark Link from using his shield and + * creating a hole in his defenses. This also makes Dark Link harder at low + * health, while the other health checks are intended to make him easier. + */ + if ((gSaveContext.health < 0x50) && (sCounterState != 0)) { // Loads in wrong order + sCounterState = 0; + sStaggerTimer = 50; + } + } + if ((sCounterState != 0) && (this->swordState != 0)) { + CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->swordQuads[0].base); + CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->swordQuads[1].base); + } + + // Ignores hits when jumping on Link's sword + if ((this->invincibilityTimer < 0) && (sActionState != ENTORCH2_DAMAGE) && + (this->cylinder.base.acFlags & 2)) { + this->cylinder.base.acFlags &= ~2; + } + + // Handles Dark Link rolling to dodge item attacks + + if (sDodgeRollState != 0) { + sStickTilt = 127.0f; + } else if (attackItem != NULL) { + sDodgeRollState = 1; + sStickAngle = this->actor.yawTowardsLink; + sStickTilt = 127.0f; + input->cur.button = BTN_A; + } else if (sJumpslashTimer == 0) { + + // Handles Dark Link's initial reaction to jumpslashes + + if (((player->swordState != 0) || (player->actor.velocity.y > -3.0f)) && + (player->swordAnimation == JUMPSLASH_START)) { + this->actor.posRot.rot.y = this->actor.shape.rot.y = this->actor.yawTowardsLink; + + if (globalCtx->gameplayFrames % 2) { + sStickAngle = this->actor.yawTowardsLink + 0x4000; + } else { + sStickAngle = this->actor.yawTowardsLink - 0x4000; + } + sStickTilt = 127.0f; // Does not store with pointer + sJumpslashFlag = false; // Does not store with POinter + input->cur.button |= BTN_A; + sJumpslashTimer = 15; + + // Handles jumping on Link's sword + + } else if (sSwordJumpState != 0) { + sStickTilt = 0.0f; + player->stateFlags3 |= 4; + Math_SmoothStepToF(&this->actor.posRot.pos.x, + (Math_SinS(player->actor.shape.rot.y - 0x3E8) * 45.0f) + + player->actor.posRot.pos.x, + 1.0f, 5.0f, 0.0f); + Math_SmoothStepToF(&this->actor.posRot.pos.z, + (Math_CosS(player->actor.shape.rot.y - 0x3E8) * 45.0f) + + player->actor.posRot.pos.z, + 1.0f, 5.0f, 0.0f); + sSwordJumpTimer--; + if ((sSwordJumpTimer == 0) || ((player->invincibilityTimer > 0) && (this->swordState == 0))) { + this->actor.posRot.rot.y = this->actor.shape.rot.y = this->actor.yawTowardsLink; + input->cur.button = BTN_A; + player->stateFlags3 &= ~4; + sStickTilt = 127.0f; + player->skelAnime.animCurrentFrame = 3.0f; + sStickAngle = this->actor.yawTowardsLink + 0x8000; + sSwordJumpTimer = sSwordJumpState = 0; + this->actor.flags |= 1; + } else if (sSwordJumpState == 1) { + if (sSwordJumpTimer < 16) { + EnTorch2_SwingSword(globalCtx, input, this); + sSwordJumpState++; + } else if (sSwordJumpTimer == 19) { + func_800F4190(&this->actor.projectedPos, NA_SE_VO_LI_AUTO_JUMP); + } + } + } else { + // This does nothing, as sHoldShieldTimer is never set. + if (sHoldShieldTimer != 0) { + sHoldShieldTimer--; + input->cur.button = BTN_R; + } + + // Handles Dark Link's reaction to sword attack other than jumpslashes + + if (func_800354B4(globalCtx, &this->actor, 120.0f, 0x7FFF, 0x7FFF, this->actor.posRot.rot.y)) { + // Loads arguments in wrong order. Probably related to static variables problem. + if ((player->swordAnimation == STAB_1H) && (this->actor.xzDistFromLink < 90.0f)) { + + // Handles the reaction to a one-handed stab. If the conditions are satisfied, + // Dark Link jumps on Link's sword. Otherwise he backflips away. + + if ((this->swordState == 0) && (sCounterState == 0) && (player->invincibilityTimer == 0) && + (player->swordAnimation == STAB_1H) && (this->actor.xzDistFromLink <= 85.0f) && + func_80033A84(globalCtx, &this->actor)) { + + sStickTilt = 0.0f; + sSwordJumpState = 1; + player->stateFlags3 |= 4; + this->actor.flags &= ~1; + sSwordJumpTimer = 27; + player->swordState = 0; + player->linearVelocity = 0.0f; + this->invincibilityTimer = -7; + this->linearVelocity = 0.0f; + player->skelAnime.animCurrentFrame = 2.0f; + func_800A3BC0(globalCtx, &player->skelAnime); + sHoldShieldTimer = 0; + input->cur.button = BTN_A; + } else { + EnTorch2_Backflip(this, input, &this->actor); + } + } else { + + // Handles reactions to all other sword attacks + + sStickAngle = this->actor.yawTowardsLink; // Not loaded into pointer + input->cur.button = BTN_B; + + if (player->swordAnimation <= FORWARD_COMBO_2H) { + sStickTilt = 0.0f; + } else if (player->swordAnimation <= RIGHT_COMBO_2H) { + sStickTilt = 127.0f; + sStickAngle += sStickAngle; // Not loaded from pointer + } else if (player->swordAnimation <= LEFT_COMBO_2H) { + sStickTilt = 127.0f; + sStickAngle += -0x4000; // Not loaded from pointer + } else if (player->swordAnimation <= HAMMER_SIDE) { + input->cur.button = BTN_R; + } else if (player->swordAnimation <= BIG_SPIN_2H) { + EnTorch2_Backflip(this, input, &this->actor); + } else { + EnTorch2_Backflip(this, input, &this->actor); + } + if (CHECK_BTN_ANY(input->cur.button, BTN_A | BTN_R) && (this->swordState == 0) && + (player->swordState != 0)) { + sCounterState = 1; + } + } + } else { + + // Handles movement and attacks when not reacting to Link's actions + + sStickAngle = this->actor.yawTowardsLink; + sp50 = 0.0f; + if ((90.0f >= this->actor.xzDistFromLink) && (this->actor.xzDistFromLink > 70.0f) && + (ABS(sp5A) >= 0x7800) && + ((this->actor.unk_10C != 0) || !(player->stateFlags1 & 0x00400000))) { + EnTorch2_SwingSword(globalCtx, input, this); + } else if (((this->actor.xzDistFromLink <= 70.0f) || + ((this->actor.xzDistFromLink <= 80.0f + sp50) && (player->swordState != 0))) && + (this->swordState == 0)) { + if (!EnTorch2_SwingSword(globalCtx, input, this) && (this->swordState == 0) && + (sCounterState == 0)) { + EnTorch2_Backflip(this, input, &this->actor); + } + } else if (this->actor.xzDistFromLink <= 50 + sp50) { + sStickTilt = 127.0f; + sStickAngle = this->actor.yawTowardsLink; + if (this->actor.unk_10C == 0) { + Math_SmoothStepToS(&sStickAngle, player->actor.shape.rot.y + 0x7FFF, 1, 0x2328, 0); + } + } else if (this->actor.xzDistFromLink > 100.0f + sp50) { + if ((player->swordState == 0) || (player->swordAnimation < SPIN_ATTACK_1H) || + (player->swordAnimation > BIG_SPIN_2H) || (this->actor.xzDistFromLink >= 280.0f)) { + sStickTilt = 127.0f; + sStickAngle = this->actor.yawTowardsLink; + if (this->actor.unk_10C == 0) { + Math_SmoothStepToS(&sStickAngle, player->actor.shape.rot.y + 0x7FFF, 1, 0x2328, 0); + } + } else { + EnTorch2_Backflip(this, input, &this->actor); + } + } else if (((ABS(sp5A) < 0x7800) && (ABS(sp5A) >= 0x3000)) || + !EnTorch2_SwingSword(globalCtx, input, this)) { + sStickAngle = this->actor.yawTowardsLink; + sStickTilt = 127.0f; + if (this->actor.unk_10C == 0) { + Math_SmoothStepToS(&sStickAngle, player->actor.shape.rot.y + 0x7FFF, 1, 0x2328, 0); + } + } + } + } + + // Handles Dark Link's counterattack to jumpslashes + + } else if (sJumpslashFlag && (sAlpha == 255) && (this->actor.velocity.y > 0)) { + input->cur.button |= BTN_B; + } else if (!sJumpslashFlag && (this->actor.bgCheckFlags & 1)) { + sStickAngle = this->actor.posRot.rot.y = this->actor.shape.rot.y = this->actor.yawTowardsLink; + if (sAlpha != 255) { + sStickAngle += 0x8000; + sStickTilt = 127.0f; // Not loaded from pointer + sZTargetFlag = true; + } + input->cur.button |= BTN_A; + sJumpslashFlag = true; + this->invincibilityTimer = 10; + } + + // Rotates Dark Link's stick angle from Link-relative to camera-relative. + + sp66 = camera->camDir.y - sStickAngle; + input->cur.stick_x = Math_SinS(sp66) * sStickTilt; + temp = Math_CosS(sp66) * sStickTilt; + input->cur.stick_y = temp; + + if ((sAlpha != 255) && ((globalCtx->gameplayFrames % 8) == 0)) { + sAlpha++; + } + break; + + case ENTORCH2_DAMAGE: + this->swordState = 0; + input->cur.stick_x = input->cur.stick_y = 0; + if ((this->invincibilityTimer > 0) && (this->actor.posRot.pos.y < (this->actor.groundY - 160.0f))) { + this->stateFlags3 &= ~1; + this->actor.flags |= 1; + this->invincibilityTimer = 0; + this->actor.velocity.y = 0.0f; + this->actor.posRot.pos.y = sSpawnPoint.y + 40.0f; + this->actor.posRot.pos.x = + (Math_SinS(player->actor.shape.rot.y) * -120.0f) + player->actor.posRot.pos.x; + this->actor.posRot.pos.z = + (Math_CosS(player->actor.shape.rot.y) * -120.0f) + player->actor.posRot.pos.z; + if (func_8002DB6C(&this->actor, &sSpawnPoint) > 800.0f) { + sp50 = Rand_ZeroOne() * 20.0f; + sp4E = Rand_CenteredFloat(4000.0f); + this->actor.shape.rot.y = this->actor.posRot.rot.y = + Math_Vec3f_Yaw(&sSpawnPoint, &player->actor.posRot.pos); + this->actor.posRot.pos.x = + (Math_SinS(this->actor.posRot.rot.y + sp4E) * (25.0f + sp50)) + sSpawnPoint.x; + this->actor.posRot.pos.z = + (Math_CosS(this->actor.posRot.rot.y + sp4E) * (25.0f + sp50)) + sSpawnPoint.z; + this->actor.posRot.pos.y = sSpawnPoint.y; + } else { + this->actor.posRot.pos.y = this->actor.groundY; + } + Math_Vec3f_Copy(&this->actor.initPosRot.pos, &this->actor.posRot.pos); + globalCtx->func_11D54(this, globalCtx); + sActionState = ENTORCH2_ATTACK; + sStickTilt = 0.0f; + if (sAlpha != 255) { + sStaggerCount = 0; + sStaggerTimer = 0; + } + } + break; + + case ENTORCH2_DEATH: + if (sAlpha - 13 <= 0) { + sAlpha = 0; + Actor_Kill(&this->actor); + return; + } + sAlpha -= 13; + this->actor.shape.unk_14 -= 13; + break; + } + + // Causes Dark Link to shield in place when Link is using magic attacks other than the spin attack + + if ((gSaveContext.unk_13F0 == 3) && (player->swordState == 0 || (player->swordAnimation < SPIN_ATTACK_1H) || + (player->swordAnimation > BIG_SPIN_2H))) { + sStickTilt = 0.0f; + input->cur.stick_x = 0; + input->cur.stick_y = 0; + input->cur.button = BTN_R; + } + + if ((sActionState == ENTORCH2_ATTACK) && (this->actor.xzDistFromLink <= 610.0f) && sZTargetFlag) { + input->cur.button |= BTN_Z; + } + + // Updates Dark Link's "controller". The conditional seems to cause him to + // stop targeting and hold shield if he's been holding it long enough. + + phi_a2 = input->cur.button; + pad54 = input->cur.button ^ input->prev.button; + input->press.button = input->cur.button & pad54; + phi_v0 = input->cur.button; + if (input->cur.button & BTN_R) { + input->cur.button = phi_a2; + phi_a2 = ((sCounterState == 0) && (this->swordState == 0)) ? BTN_R : phi_v0 ^ BTN_R; + phi_v0 = phi_a2; // instruction mismatch + } + input->rel.button = input->prev.button & pad54; + input->prev.button = phi_v0 & 0x3FFF; // & ~(BTN_A | BTN_B) + input->cur.button = phi_a2; + PadUtils_UpdateRelXY(input); + + input->press.stick_x += (s8)(input->cur.stick_x - input->prev.stick_x); + input->press.stick_y += (s8)(input->cur.stick_y - input->prev.stick_y); + + // Handles Dark Link being damaged + + if ((this->actor.colChkInfo.health == 0) && sDeathFlag) { + this->csMode = 0x18; + this->unk_448 = &player->actor; + this->unk_46A = 1; + sDeathFlag = false; + } + if ((this->invincibilityTimer == 0) && (this->actor.colChkInfo.health != 0) && (this->cylinder.base.acFlags & 2) && + !(this->stateFlags1 & 0x04000000) && !(this->swordQuads[0].base.atFlags & 2) && + !(this->swordQuads[1].base.atFlags & 2)) { + + if (!Actor_ApplyDamage(&this->actor)) { + func_800F5B58(); + this->actor.flags &= ~5; + this->unk_8A1 = 2; + this->unk_8A4 = 6.0f; + this->unk_8A8 = 6.0f; + this->unk_8A0 = this->actor.colChkInfo.damage; + this->unk_8A2 = this->actor.yawTowardsLink + 0x8000; + sDeathFlag++; + sActionState = ENTORCH2_DEATH; + func_80032C7C(globalCtx, &this->actor); + Item_DropCollectibleRandom(globalCtx, &this->actor, &this->actor.posRot.pos, 0xC0); + this->stateFlags3 &= ~4; + } else { + func_800F5ACC(0x38); + if (this->actor.colChkInfo.damageEffect == 1) { + if (sAlpha == 255) { + func_8003426C(&this->actor, 0, 0xFF, 0, 0x50); + } else { + func_8003426C(&this->actor, 0, 0xFF, 0x2000, 0x50); + } + } else { + this->actor.flags &= ~1; + this->unk_8A1 = 1; + this->unk_8A8 = 6.0f; + this->unk_8A0 = this->actor.colChkInfo.damage; + this->unk_8A4 = 8.0f; + this->unk_8A2 = this->actor.yawTowardsLink + 0x8000; + func_80035650(&this->actor, &this->cylinder.body, 1); + this->stateFlags3 &= ~4; + this->stateFlags3 |= 1; + sActionState = ENTORCH2_DAMAGE; + if (sAlpha == 255) { + func_8003426C(&this->actor, 0x4000, 0xFF, 0, 0xC); + } else { + func_8003426C(&this->actor, 0x4000, 0xFF, 0x2000, 0xC); + } + } + } + this->actor.colChkInfo.damage = 0; + this->unk_8A0 = 0; + } + + // Handles being frozen by a deku nut + + if ((this->actor.dmgEffectTimer == 0) || (this->actor.dmgEffectParams & 0x4000)) { + this->stateFlags3 &= ~4; + } else { + this->stateFlags3 |= 4; + this->stateFlags1 &= ~0x04000000; + this->invincibilityTimer = 0; + input->press.stick_x = input->press.stick_y = 0; + /*! @bug + * Setting cur.button to 0 clears the Z-trigger, causing Dark Link to break his + * lock on Link. If he presses A while not locked on, he'll put his sword away. + * This clears his held item param permanently and makes him unable to attack. + */ + input->cur.button = 0; + input->press.button = 0; + this->linearVelocity = 0.0f; + } + + globalCtx->playerUpdate(this, globalCtx, input); + + /* + * Handles sword clanks and removes their recoil for both Links. Dark Link staggers + * if he's had to counter with enough different sword animations in a row. + */ + if (this->linearVelocity == -18.0f) { + staggerThreshold = (u32)Rand_CenteredFloat(2.0f) + 6; + if (gSaveContext.health < 0x50) { + staggerThreshold = (u32)Rand_CenteredFloat(2.0f) + 3; + } + if (this->actor.xzDistFromLink > 80.0f) { + this->linearVelocity = 1.2f; + } else if (this->actor.xzDistFromLink < 70.0f) { + this->linearVelocity = -1.5f; + } else { + this->linearVelocity = 1.0f; + } + if (staggerThreshold < sStaggerCount) { + this->skelAnime.animPlaybackSpeed *= 0.6f; + func_800F4190(&this->actor.projectedPos, NA_SE_PL_DAMAGE); + sStaggerTimer = 0; + sStaggerCount = 0; + } + } + if (player->linearVelocity == -18.0f) { + if (this->actor.xzDistFromLink > 80.0f) { + player->linearVelocity = 1.2f; + } else if (this->actor.xzDistFromLink < 70.0f) { + player->linearVelocity = -1.5f; + } else { + player->linearVelocity = 1.0f; + } + } + /* + * This ensures Dark Link's counter animation mirrors Link's exactly. + */ + if ((sCounterState != 0) && (sCounterState == 1)) { + if (this->swordState == 0) { + sCounterState = 0; + } else { + sCounterState = 2; + this->swordState = 1; + this->skelAnime.animCurrentFrame = player->skelAnime.animCurrentFrame - player->skelAnime.animPlaybackSpeed; + this->skelAnime.animPlaybackSpeed = player->skelAnime.animPlaybackSpeed; + func_800A3BC0(globalCtx, &this->skelAnime); + Collider_QuadSetAT(globalCtx, &this->swordQuads[0].base); + Collider_QuadSetAT(globalCtx, &this->swordQuads[1].base); + } + } + if (sStaggerTimer != 0) { + sStaggerTimer--; + if (sStaggerTimer == 0) { + sCounterState = 0; + sStaggerCount = 0; + } + } + if (sDodgeRollState != 0) { + if (sDodgeRollState == 1) { + this->invincibilityTimer = 20; + } + sDodgeRollState = (this->invincibilityTimer > 0) ? 2 : 0; + } + if (this->invincibilityTimer != 0) { + this->cylinder.base.type = 0xA; + this->cylinder.body.flags = 5; + } else { + this->cylinder.base.type = 5; + this->cylinder.body.flags = 1; + } + /* + * Handles the jump movement onto Link's sword. Dark Link doesn't move during the + * sword jump. Instead, his shape y-offset is increased (see below). Once the sword + * jump is finished, the offset is added to his position to fix the discrepancy. + */ + if (sSwordJumpState != 0) { + Math_SmoothStepToF(&sSwordJumpHeight, 2630.0f, 1.0f, 2000.0f, 0.0f); + this->actor.velocity.y -= 0.6f; + } else if (sSwordJumpHeight != 0) { + this->actor.posRot.pos.y += sSwordJumpHeight * 0.01f; + sSwordJumpHeight = 0; + } + if ((sActionState == ENTORCH2_WAIT) || (this->invincibilityTimer < 0)) { + sZTargetFlag = false; + } else { + sZTargetFlag = true; + } + if (sJumpslashTimer != 0) { + sJumpslashTimer--; + } + this->actor.posRot2.pos = this->actor.posRot.pos; + this->actor.posRot2.pos.y += 20.0f; + this->actor.shape.unk_08 = sSwordJumpHeight; +} +#else #pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Torch2/EnTorch2_Update.s") +#endif -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1F7A8.s") +s32 EnTorch2_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx, + Gfx** gfx) { + Player* this = THIS; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1F7D4.s") + return func_8008FCC8(globalCtx, limbIndex, dList, pos, rot, &this->actor); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Torch2/EnTorch2_Draw.s") +void EnTorch2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx, Gfx** gfx) { + Player* this = THIS; + + func_80090D20(globalCtx, limbIndex, dList, rot, &this->actor); +} + +void EnTorch2_Draw(Actor* thisx, GlobalContext* globalCtx2) { + GlobalContext* globalCtx = globalCtx2; + Player* this = THIS; + s32 pad; + + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_torch2.c", 1050); + func_80093C80(globalCtx); + func_80093D84(globalCtx->state.gfxCtx); + if (sAlpha == 255) { + gDPSetEnvColor(POLY_OPA_DISP++, 255, 0, 0, sAlpha); + gSPSegment(POLY_OPA_DISP++, 0x0C, D_80116280 + 2); + func_8002EBCC(&this->actor, globalCtx, 0); + func_8002ED80(&this->actor, globalCtx, 0); + POLY_OPA_DISP = SkelAnime_DrawFlex(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, + this->skelAnime.dListCount, EnTorch2_OverrideLimbDraw, EnTorch2_PostLimbDraw, + this, POLY_OPA_DISP); + } else { + gDPSetEnvColor(POLY_XLU_DISP++, 255, 0, 0, sAlpha); + gSPSegment(POLY_XLU_DISP++, 0x0C, D_80116280); + func_8002EBCC(&this->actor, globalCtx, 0); + func_8002ED80(&this->actor, globalCtx, 0); + POLY_XLU_DISP = SkelAnime_DrawFlex(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl, + this->skelAnime.dListCount, EnTorch2_OverrideLimbDraw, EnTorch2_PostLimbDraw, + this, POLY_XLU_DISP); + } + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_torch2.c", 1114); +} diff --git a/undefined_syms.txt b/undefined_syms.txt index 748bcd5f4c..4cd462fea7 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -1603,6 +1603,9 @@ D_0600C080 = 0x0600C080; D_060088B0 = 0x060088B0; D_0600BEC0 = 0x0600BEC0; +// z_en_torch2 +D_06004764 = 0x06004764; + // z_bg_mori_rakkatenjo D_06007690 = 0x06007690; D_060087AC = 0x060087AC;