summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpetrie911 <69443847+petrie911@users.noreply.github.com>2020-12-28 19:56:24 -0600
committerGitHub <noreply@github.com>2020-12-28 20:56:24 -0500
commit42f2d38b8fb8e97330bc12e06d71bd35ea2c33e2 (patch)
tree2c904f252f415b9ef2336190620b60d773c63a0e
parent1e6bd7f623dead2c5bcbdb5c89a0c9e65c7a86e4 (diff)
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 <fig02srl@gmail.com> Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Torch2/EnTorch2_Destroy.s30
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Torch2/EnTorch2_Draw.s131
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Torch2/EnTorch2_Init.s107
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Torch2/EnTorch2_Update.s690
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1DB98.s19
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1DBD8.s120
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1DD70.s22
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1F7A8.s12
-rw-r--r--asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1F7D4.s10
-rw-r--r--data/overlays/actors/z_en_torch2.bss.s60
-rw-r--r--data/overlays/actors/z_en_torch2.data.s32
-rw-r--r--spec6
-rw-r--r--src/overlays/actors/ovl_En_Blkobj/z_en_blkobj.c94
-rw-r--r--src/overlays/actors/ovl_En_Blkobj/z_en_blkobj.h4
-rw-r--r--src/overlays/actors/ovl_En_Torch2/z_en_torch2.c757
-rw-r--r--undefined_syms.txt3
16 files changed, 1148 insertions, 949 deletions
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 497346759..000000000
--- 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 b1f8ff885..000000000
--- 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 420807c92..000000000
--- 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 af253feab..62774a1b6 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 f408d8bae..000000000
--- 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 94469fcf2..000000000
--- 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 c7bc72e83..000000000
--- 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 7b0bf7538..000000000
--- 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 6ea564b4d..000000000
--- 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 f3ac2eebf..000000000
--- 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 c5c79120f..000000000
--- 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 6ef513f6a..eb88589aa 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 840af5d73..29bbc360f 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 4104d578b..a2b089399 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 752a678e6..e6bc82de7 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;
+
+/* 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;
+
+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,
+};
+
+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
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1DB98.s")
+ } 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;
+ }
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1DBD8.s")
+ // Handles Dark Link's reaction to sword attack other than jumpslashes
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1DD70.s")
+ 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
+
+s32 EnTorch2_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx,
+ Gfx** gfx) {
+ Player* this = THIS;
+
+ return func_8008FCC8(globalCtx, limbIndex, dList, pos, rot, &this->actor);
+}
+
+void EnTorch2_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx, Gfx** gfx) {
+ Player* this = THIS;
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1F7A8.s")
+ func_80090D20(globalCtx, limbIndex, dList, rot, &this->actor);
+}
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Torch2/func_80B1F7D4.s")
+void EnTorch2_Draw(Actor* thisx, GlobalContext* globalCtx2) {
+ GlobalContext* globalCtx = globalCtx2;
+ Player* this = THIS;
+ s32 pad;
-#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Torch2/EnTorch2_Draw.s")
+ 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 748bcd5f4..4cd462fea 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;