diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Destroy.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Destroy.s deleted file mode 100644 index 3f47789010..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Destroy.s +++ /dev/null @@ -1,23 +0,0 @@ -glabel ArrowFire_Destroy -/* 00080 80865D90 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00084 80865D94 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00088 80865D98 AFA40018 */ sw $a0, 0x0018($sp) -/* 0008C 80865D9C 0C021DB2 */ jal func_800876C8 -/* 00090 80865DA0 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00094 80865DA4 3C048086 */ lui $a0, %hi(D_80867B30) ## $a0 = 80860000 -/* 00098 80865DA8 24847B30 */ addiu $a0, $a0, %lo(D_80867B30) ## $a0 = 80867B30 -/* 0009C 80865DAC 0C000B84 */ jal LogUtils_LogThreadId - -/* 000A0 80865DB0 240501A5 */ addiu $a1, $zero, 0x01A5 ## $a1 = 000001A5 -/* 000A4 80865DB4 3C048086 */ lui $a0, %hi(D_80867B44) ## $a0 = 80860000 -/* 000A8 80865DB8 3C058086 */ lui $a1, %hi(D_80867B54) ## $a1 = 80860000 -/* 000AC 80865DBC 24A57B54 */ addiu $a1, $a1, %lo(D_80867B54) ## $a1 = 80867B54 -/* 000B0 80865DC0 0C00084C */ jal osSyncPrintf - -/* 000B4 80865DC4 24847B44 */ addiu $a0, $a0, %lo(D_80867B44) ## $a0 = 80867B44 -/* 000B8 80865DC8 8FBF0014 */ lw $ra, 0x0014($sp) -/* 000BC 80865DCC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 000C0 80865DD0 03E00008 */ jr $ra -/* 000C4 80865DD4 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Init.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Init.s deleted file mode 100644 index 049fe5e5f1..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Init.s +++ /dev/null @@ -1,35 +0,0 @@ -glabel ArrowFire_Init -/* 00008 80865D18 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 0000C 80865D1C AFA50024 */ sw $a1, 0x0024($sp) -/* 00010 80865D20 AFBF001C */ sw $ra, 0x001C($sp) -/* 00014 80865D24 AFB00018 */ sw $s0, 0x0018($sp) -/* 00018 80865D28 3C058086 */ lui $a1, %hi(D_80867B20) ## $a1 = 80860000 -/* 0001C 80865D2C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00020 80865D30 0C01E037 */ jal Actor_ProcessInitChain - -/* 00024 80865D34 24A57B20 */ addiu $a1, $a1, %lo(D_80867B20) ## $a1 = 80867B20 -/* 00028 80865D38 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 0002C 80865D3C 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00 -/* 00030 80865D40 3C058086 */ lui $a1, %hi(func_80865DD8) ## $a1 = 80860000 -/* 00034 80865D44 A6000164 */ sh $zero, 0x0164($s0) ## 00000164 -/* 00038 80865D48 24A55DD8 */ addiu $a1, $a1, %lo(func_80865DD8) ## $a1 = 80865DD8 -/* 0003C 80865D4C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00040 80865D50 0C219744 */ jal func_80865D10 -/* 00044 80865D54 E6040158 */ swc1 $f4, 0x0158($s0) ## 00000158 -/* 00048 80865D58 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000 -/* 0004C 80865D5C 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A -/* 00050 80865D60 0C00B58B */ jal Actor_SetScale - -/* 00054 80865D64 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00058 80865D68 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 -/* 0005C 80865D6C 240E00A0 */ addiu $t6, $zero, 0x00A0 ## $t6 = 000000A0 -/* 00060 80865D70 A20E0168 */ sb $t6, 0x0168($s0) ## 00000168 -/* 00064 80865D74 A6000166 */ sh $zero, 0x0166($s0) ## 00000166 -/* 00068 80865D78 E606015C */ swc1 $f6, 0x015C($s0) ## 0000015C -/* 0006C 80865D7C 8FBF001C */ lw $ra, 0x001C($sp) -/* 00070 80865D80 8FB00018 */ lw $s0, 0x0018($sp) -/* 00074 80865D84 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00078 80865D88 03E00008 */ jr $ra -/* 0007C 80865D8C 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Update.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Update.s deleted file mode 100644 index 14134057f6..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Update.s +++ /dev/null @@ -1,28 +0,0 @@ -glabel ArrowFire_Update -/* 0052C 8086623C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00530 80866240 3C020001 */ lui $v0, 0x0001 ## $v0 = 00010000 -/* 00534 80866244 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00538 80866248 00451021 */ addu $v0, $v0, $a1 -/* 0053C 8086624C 904203DC */ lbu $v0, 0x03DC($v0) ## 000103DC -/* 00540 80866250 2401000D */ addiu $at, $zero, 0x000D ## $at = 0000000D -/* 00544 80866254 10410003 */ beq $v0, $at, .L80866264 -/* 00548 80866258 24010011 */ addiu $at, $zero, 0x0011 ## $at = 00000011 -/* 0054C 8086625C 54410006 */ bnel $v0, $at, .L80866278 -/* 00550 80866260 8C990160 */ lw $t9, 0x0160($a0) ## 00000160 -.L80866264: -/* 00554 80866264 0C00B55C */ jal Actor_Kill - -/* 00558 80866268 00000000 */ nop -/* 0055C 8086626C 10000005 */ beq $zero, $zero, .L80866284 -/* 00560 80866270 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00564 80866274 8C990160 */ lw $t9, 0x0160($a0) ## 00000160 -.L80866278: -/* 00568 80866278 0320F809 */ jalr $ra, $t9 -/* 0056C 8086627C 00000000 */ nop -/* 00570 80866280 8FBF0014 */ lw $ra, 0x0014($sp) -.L80866284: -/* 00574 80866284 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00578 80866288 03E00008 */ jr $ra -/* 0057C 8086628C 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865D10.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865D10.s deleted file mode 100644 index f8968f4ff5..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865D10.s +++ /dev/null @@ -1,5 +0,0 @@ -glabel func_80865D10 -/* 00000 80865D10 03E00008 */ jr $ra -/* 00004 80865D14 AC850160 */ sw $a1, 0x0160($a0) ## 00000160 - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865DD8.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865DD8.s deleted file mode 100644 index 8f1ecd2bf0..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865DD8.s +++ /dev/null @@ -1,69 +0,0 @@ -glabel func_80865DD8 -/* 000C8 80865DD8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 000CC 80865DDC AFBF0014 */ sw $ra, 0x0014($sp) -/* 000D0 80865DE0 AFA50024 */ sw $a1, 0x0024($sp) -/* 000D4 80865DE4 8C820118 */ lw $v0, 0x0118($a0) ## 00000118 -/* 000D8 80865DE8 10400004 */ beq $v0, $zero, .L80865DFC -/* 000DC 80865DEC 00000000 */ nop -/* 000E0 80865DF0 8C4E0130 */ lw $t6, 0x0130($v0) ## 00000130 -/* 000E4 80865DF4 55C00006 */ bnel $t6, $zero, .L80865E10 -/* 000E8 80865DF8 84830164 */ lh $v1, 0x0164($a0) ## 00000164 -.L80865DFC: -/* 000EC 80865DFC 0C00B55C */ jal Actor_Kill - -/* 000F0 80865E00 00000000 */ nop -/* 000F4 80865E04 1000002E */ beq $zero, $zero, .L80865EC0 -/* 000F8 80865E08 8FBF0014 */ lw $ra, 0x0014($sp) -/* 000FC 80865E0C 84830164 */ lh $v1, 0x0164($a0) ## 00000164 -.L80865E10: -/* 00100 80865E10 2861000A */ slti $at, $v1, 0x000A -/* 00104 80865E14 10200002 */ beq $at, $zero, .L80865E20 -/* 00108 80865E18 246F0001 */ addiu $t7, $v1, 0x0001 ## $t7 = 00000001 -/* 0010C 80865E1C A48F0164 */ sh $t7, 0x0164($a0) ## 00000164 -.L80865E20: -/* 00110 80865E20 8C590024 */ lw $t9, 0x0024($v0) ## 00000024 -/* 00114 80865E24 24830024 */ addiu $v1, $a0, 0x0024 ## $v1 = 00000024 -/* 00118 80865E28 2405007D */ addiu $a1, $zero, 0x007D ## $a1 = 0000007D -/* 0011C 80865E2C AC790000 */ sw $t9, 0x0000($v1) ## 00000024 -/* 00120 80865E30 8C580028 */ lw $t8, 0x0028($v0) ## 00000028 -/* 00124 80865E34 AC780004 */ sw $t8, 0x0004($v1) ## 00000028 -/* 00128 80865E38 8C59002C */ lw $t9, 0x002C($v0) ## 0000002C -/* 0012C 80865E3C AC790008 */ sw $t9, 0x0008($v1) ## 0000002C -/* 00130 80865E40 884900B4 */ lwl $t1, 0x00B4($v0) ## 000000B4 -/* 00134 80865E44 984900B7 */ lwr $t1, 0x00B7($v0) ## 000000B7 -/* 00138 80865E48 A88900B4 */ swl $t1, 0x00B4($a0) ## 000000B4 -/* 0013C 80865E4C B88900B7 */ swr $t1, 0x00B7($a0) ## 000000B7 -/* 00140 80865E50 944900B8 */ lhu $t1, 0x00B8($v0) ## 000000B8 -/* 00144 80865E54 A48900B8 */ sh $t1, 0x00B8($a0) ## 000000B8 -/* 00148 80865E58 AFA40020 */ sw $a0, 0x0020($sp) -/* 0014C 80865E5C AFA30018 */ sw $v1, 0x0018($sp) -/* 00150 80865E60 0C00BE5D */ jal func_8002F974 -/* 00154 80865E64 AFA2001C */ sw $v0, 0x001C($sp) -/* 00158 80865E68 8FA2001C */ lw $v0, 0x001C($sp) -/* 0015C 80865E6C 8FA30018 */ lw $v1, 0x0018($sp) -/* 00160 80865E70 8FA40020 */ lw $a0, 0x0020($sp) -/* 00164 80865E74 8C4A0118 */ lw $t2, 0x0118($v0) ## 00000118 -/* 00168 80865E78 55400011 */ bnel $t2, $zero, .L80865EC0 -/* 0016C 80865E7C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00170 80865E80 8C6C0000 */ lw $t4, 0x0000($v1) ## 00000000 -/* 00174 80865E84 240D000A */ addiu $t5, $zero, 0x000A ## $t5 = 0000000A -/* 00178 80865E88 3C058086 */ lui $a1, %hi(func_808660E8) ## $a1 = 80860000 -/* 0017C 80865E8C AC8C014C */ sw $t4, 0x014C($a0) ## 0000014C -/* 00180 80865E90 8C6B0004 */ lw $t3, 0x0004($v1) ## 00000004 -/* 00184 80865E94 24A560E8 */ addiu $a1, $a1, %lo(func_808660E8) ## $a1 = 808660E8 -/* 00188 80865E98 AC8B0150 */ sw $t3, 0x0150($a0) ## 00000150 -/* 0018C 80865E9C 8C6C0008 */ lw $t4, 0x0008($v1) ## 00000008 -/* 00190 80865EA0 A48D0164 */ sh $t5, 0x0164($a0) ## 00000164 -/* 00194 80865EA4 AC8C0154 */ sw $t4, 0x0154($a0) ## 00000154 -/* 00198 80865EA8 0C219744 */ jal func_80865D10 -/* 0019C 80865EAC AFA40020 */ sw $a0, 0x0020($sp) -/* 001A0 80865EB0 8FA40020 */ lw $a0, 0x0020($sp) -/* 001A4 80865EB4 240E00FF */ addiu $t6, $zero, 0x00FF ## $t6 = 000000FF -/* 001A8 80865EB8 A08E0168 */ sb $t6, 0x0168($a0) ## 00000168 -/* 001AC 80865EBC 8FBF0014 */ lw $ra, 0x0014($sp) -.L80865EC0: -/* 001B0 80865EC0 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 001B4 80865EC4 03E00008 */ jr $ra -/* 001B8 80865EC8 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865ECC.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865ECC.s deleted file mode 100644 index 8eaf606ac7..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865ECC.s +++ /dev/null @@ -1,23 +0,0 @@ -glabel func_80865ECC -/* 001BC 80865ECC C4800000 */ lwc1 $f0, 0x0000($a0) ## 00000000 -/* 001C0 80865ED0 C4A40000 */ lwc1 $f4, 0x0000($a1) ## 00000000 -/* 001C4 80865ED4 44866000 */ mtc1 $a2, $f12 ## $f12 = 0.00 -/* 001C8 80865ED8 C4820004 */ lwc1 $f2, 0x0004($a0) ## 00000004 -/* 001CC 80865EDC 46002181 */ sub.s $f6, $f4, $f0 -/* 001D0 80865EE0 C48E0008 */ lwc1 $f14, 0x0008($a0) ## 00000008 -/* 001D4 80865EE4 460C3202 */ mul.s $f8, $f6, $f12 -/* 001D8 80865EE8 46080280 */ add.s $f10, $f0, $f8 -/* 001DC 80865EEC E48A0000 */ swc1 $f10, 0x0000($a0) ## 00000000 -/* 001E0 80865EF0 C4B00004 */ lwc1 $f16, 0x0004($a1) ## 00000004 -/* 001E4 80865EF4 46028481 */ sub.s $f18, $f16, $f2 -/* 001E8 80865EF8 460C9102 */ mul.s $f4, $f18, $f12 -/* 001EC 80865EFC 46041180 */ add.s $f6, $f2, $f4 -/* 001F0 80865F00 E4860004 */ swc1 $f6, 0x0004($a0) ## 00000004 -/* 001F4 80865F04 C4A80008 */ lwc1 $f8, 0x0008($a1) ## 00000008 -/* 001F8 80865F08 460E4281 */ sub.s $f10, $f8, $f14 -/* 001FC 80865F0C 460C5402 */ mul.s $f16, $f10, $f12 -/* 00200 80865F10 46107480 */ add.s $f18, $f14, $f16 -/* 00204 80865F14 03E00008 */ jr $ra -/* 00208 80865F18 E4920008 */ swc1 $f18, 0x0008($a0) ## 00000008 - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865F1C.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865F1C.s deleted file mode 100644 index bf8a719221..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865F1C.s +++ /dev/null @@ -1,128 +0,0 @@ -glabel func_80865F1C -/* 0020C 80865F1C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00210 80865F20 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00214 80865F24 AFA5001C */ sw $a1, 0x001C($sp) -/* 00218 80865F28 3C014248 */ lui $at, 0x4248 ## $at = 42480000 -/* 0021C 80865F2C 44811000 */ mtc1 $at, $f2 ## $f2 = 50.00 -/* 00220 80865F30 C48000F0 */ lwc1 $f0, 0x00F0($a0) ## 000000F0 -/* 00224 80865F34 3C018086 */ lui $at, %hi(D_80867B98) ## $at = 80860000 -/* 00228 80865F38 4602003C */ c.lt.s $f0, $f2 -/* 0022C 80865F3C 00000000 */ nop -/* 00230 80865F40 45000005 */ bc1f .L80865F58 -/* 00234 80865F44 00000000 */ nop -/* 00238 80865F48 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 0023C 80865F4C 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00 -/* 00240 80865F50 10000012 */ beq $zero, $zero, .L80865F9C -/* 00244 80865F54 94830166 */ lhu $v1, 0x0166($a0) ## 00000166 -.L80865F58: -/* 00248 80865F58 C4247B98 */ lwc1 $f4, %lo(D_80867B98)($at) -/* 0024C 80865F5C 3C018086 */ lui $at, %hi(D_80867B9C) ## $at = 80860000 -/* 00250 80865F60 4600203C */ c.lt.s $f4, $f0 -/* 00254 80865F64 00000000 */ nop -/* 00258 80865F68 45020006 */ bc1fl .L80865F84 -/* 0025C 80865F6C 46020181 */ sub.s $f6, $f0, $f2 -/* 00260 80865F70 3C01439B */ lui $at, 0x439B ## $at = 439B0000 -/* 00264 80865F74 44816000 */ mtc1 $at, $f12 ## $f12 = 310.00 -/* 00268 80865F78 10000008 */ beq $zero, $zero, .L80865F9C -/* 0026C 80865F7C 94830166 */ lhu $v1, 0x0166($a0) ## 00000166 -/* 00270 80865F80 46020181 */ sub.s $f6, $f0, $f2 -.L80865F84: -/* 00274 80865F84 C4287B9C */ lwc1 $f8, %lo(D_80867B9C)($at) -/* 00278 80865F88 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 0027C 80865F8C 44818000 */ mtc1 $at, $f16 ## $f16 = 10.00 -/* 00280 80865F90 46083282 */ mul.s $f10, $f6, $f8 -/* 00284 80865F94 46105300 */ add.s $f12, $f10, $f16 -/* 00288 80865F98 94830166 */ lhu $v1, 0x0166($a0) ## 00000166 -.L80865F9C: -/* 0028C 80865F9C 240A00FF */ addiu $t2, $zero, 0x00FF ## $t2 = 000000FF -/* 00290 80865FA0 10600029 */ beq $v1, $zero, .L80866048 -/* 00294 80865FA4 246EFFFF */ addiu $t6, $v1, 0xFFFF ## $t6 = FFFFFFFF -/* 00298 80865FA8 31C3FFFF */ andi $v1, $t6, 0xFFFF ## $v1 = 0000FFFF -/* 0029C 80865FAC 28610008 */ slti $at, $v1, 0x0008 -/* 002A0 80865FB0 A48E0166 */ sh $t6, 0x0166($a0) ## 00000166 -/* 002A4 80865FB4 14200024 */ bne $at, $zero, .L80866048 -/* 002A8 80865FB8 00601025 */ or $v0, $v1, $zero ## $v0 = 0000FFFF -/* 002AC 80865FBC 244FFFF8 */ addiu $t7, $v0, 0xFFF8 ## $t7 = 0000FFF7 -/* 002B0 80865FC0 448F9000 */ mtc1 $t7, $f18 ## $f18 = 0.00 -/* 002B4 80865FC4 3C018086 */ lui $at, %hi(D_80867BA0) ## $at = 80860000 -/* 002B8 80865FC8 C4267BA0 */ lwc1 $f6, %lo(D_80867BA0)($at) -/* 002BC 80865FCC 46809120 */ cvt.s.w $f4, $f18 -/* 002C0 80865FD0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 002C4 80865FD4 44814000 */ mtc1 $at, $f8 ## $f8 = 1.00 -/* 002C8 80865FD8 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 002CC 80865FDC 44819000 */ mtc1 $at, $f18 ## $f18 = 10.00 -/* 002D0 80865FE0 3C014000 */ lui $at, 0x4000 ## $at = 40000000 -/* 002D4 80865FE4 46062002 */ mul.s $f0, $f4, $f6 -/* 002D8 80865FE8 C4820158 */ lwc1 $f2, 0x0158($a0) ## 00000158 -/* 002DC 80865FEC 000240C0 */ sll $t0, $v0, 3 -/* 002E0 80865FF0 01024021 */ addu $t0, $t0, $v0 -/* 002E4 80865FF4 00084080 */ sll $t0, $t0, 2 -/* 002E8 80865FF8 01024023 */ subu $t0, $t0, $v0 -/* 002EC 80865FFC 2509FEE8 */ addiu $t1, $t0, 0xFEE8 ## $t1 = FFFFFEE8 -/* 002F0 80866000 46000002 */ mul.s $f0, $f0, $f0 -/* 002F4 80866004 46004281 */ sub.s $f10, $f8, $f0 -/* 002F8 80866008 44814000 */ mtc1 $at, $f8 ## $f8 = 2.00 -/* 002FC 8086600C 3C018086 */ lui $at, %hi(D_80867BA4) ## $at = 80860000 -/* 00300 80866010 460C5402 */ mul.s $f16, $f10, $f12 -/* 00304 80866014 46024281 */ sub.s $f10, $f8, $f2 -/* 00308 80866018 46128100 */ add.s $f4, $f16, $f18 -/* 0030C 8086601C 4600218D */ trunc.w.s $f6, $f4 -/* 00310 80866020 44193000 */ mfc1 $t9, $f6 -/* 00314 80866024 00000000 */ nop -/* 00318 80866028 A4990164 */ sh $t9, 0x0164($a0) ## 00000164 -/* 0031C 8086602C C4307BA4 */ lwc1 $f16, %lo(D_80867BA4)($at) -/* 00320 80866030 28410010 */ slti $at, $v0, 0x0010 -/* 00324 80866034 46105482 */ mul.s $f18, $f10, $f16 -/* 00328 80866038 46121100 */ add.s $f4, $f2, $f18 -/* 0032C 8086603C 10200002 */ beq $at, $zero, .L80866048 -/* 00330 80866040 E4840158 */ swc1 $f4, 0x0158($a0) ## 00000158 -/* 00334 80866044 A0890168 */ sb $t1, 0x0168($a0) ## 00000168 -.L80866048: -/* 00338 80866048 28610009 */ slti $at, $v1, 0x0009 -/* 0033C 8086604C 1420000E */ bne $at, $zero, .L80866088 -/* 00340 80866050 00601025 */ or $v0, $v1, $zero ## $v0 = 0000FFFF -/* 00344 80866054 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00348 80866058 44813000 */ mtc1 $at, $f6 ## $f6 = 1.00 -/* 0034C 8086605C C480015C */ lwc1 $f0, 0x015C($a0) ## 0000015C -/* 00350 80866060 3C013E80 */ lui $at, 0x3E80 ## $at = 3E800000 -/* 00354 80866064 4606003C */ c.lt.s $f0, $f6 -/* 00358 80866068 00000000 */ nop -/* 0035C 8086606C 45020012 */ bc1fl .L808660B8 -/* 00360 80866070 28410008 */ slti $at, $v0, 0x0008 -/* 00364 80866074 44814000 */ mtc1 $at, $f8 ## $f8 = 0.25 -/* 00368 80866078 94820166 */ lhu $v0, 0x0166($a0) ## 00000166 -/* 0036C 8086607C 46080280 */ add.s $f10, $f0, $f8 -/* 00370 80866080 1000000C */ beq $zero, $zero, .L808660B4 -/* 00374 80866084 E48A015C */ swc1 $f10, 0x015C($a0) ## 0000015C -.L80866088: -/* 00378 80866088 C480015C */ lwc1 $f0, 0x015C($a0) ## 0000015C -/* 0037C 8086608C 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00 -/* 00380 80866090 3C013E00 */ lui $at, 0x3E00 ## $at = 3E000000 -/* 00384 80866094 4600803C */ c.lt.s $f16, $f0 -/* 00388 80866098 00000000 */ nop -/* 0038C 8086609C 45020006 */ bc1fl .L808660B8 -/* 00390 808660A0 28410008 */ slti $at, $v0, 0x0008 -/* 00394 808660A4 44819000 */ mtc1 $at, $f18 ## $f18 = 0.12 -/* 00398 808660A8 94820166 */ lhu $v0, 0x0166($a0) ## 00000166 -/* 0039C 808660AC 46120101 */ sub.s $f4, $f0, $f18 -/* 003A0 808660B0 E484015C */ swc1 $f4, 0x015C($a0) ## 0000015C -.L808660B4: -/* 003A4 808660B4 28410008 */ slti $at, $v0, 0x0008 -.L808660B8: -/* 003A8 808660B8 10200003 */ beq $at, $zero, .L808660C8 -/* 003AC 808660BC 00000000 */ nop -/* 003B0 808660C0 A0800168 */ sb $zero, 0x0168($a0) ## 00000168 -/* 003B4 808660C4 94820166 */ lhu $v0, 0x0166($a0) ## 00000166 -.L808660C8: -/* 003B8 808660C8 54400004 */ bnel $v0, $zero, .L808660DC -/* 003BC 808660CC 8FBF0014 */ lw $ra, 0x0014($sp) -/* 003C0 808660D0 0C00B55C */ jal Actor_Kill - -/* 003C4 808660D4 A48A0166 */ sh $t2, 0x0166($a0) ## 00000166 -/* 003C8 808660D8 8FBF0014 */ lw $ra, 0x0014($sp) -.L808660DC: -/* 003CC 808660DC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 003D0 808660E0 03E00008 */ jr $ra -/* 003D4 808660E4 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_808660E8.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_808660E8.s deleted file mode 100644 index 74a33ed19d..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_808660E8.s +++ /dev/null @@ -1,99 +0,0 @@ -glabel func_808660E8 -/* 003D8 808660E8 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 003DC 808660EC AFBF001C */ sw $ra, 0x001C($sp) -/* 003E0 808660F0 AFB00018 */ sw $s0, 0x0018($sp) -/* 003E4 808660F4 AFA5003C */ sw $a1, 0x003C($sp) -/* 003E8 808660F8 8C820118 */ lw $v0, 0x0118($a0) ## 00000118 -/* 003EC 808660FC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 003F0 80866100 10400004 */ beq $v0, $zero, .L80866114 -/* 003F4 80866104 00000000 */ nop -/* 003F8 80866108 8C4E0130 */ lw $t6, 0x0130($v0) ## 00000130 -/* 003FC 8086610C 55C00006 */ bnel $t6, $zero, .L80866128 -/* 00400 80866110 8C580024 */ lw $t8, 0x0024($v0) ## 00000024 -.L80866114: -/* 00404 80866114 0C00B55C */ jal Actor_Kill - -/* 00408 80866118 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0040C 8086611C 10000043 */ beq $zero, $zero, .L8086622C -/* 00410 80866120 8FBF001C */ lw $ra, 0x001C($sp) -/* 00414 80866124 8C580024 */ lw $t8, 0x0024($v0) ## 00000024 -.L80866128: -/* 00418 80866128 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024 -/* 0041C 8086612C 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C -/* 00420 80866130 ACB80000 */ sw $t8, 0x0000($a1) ## 00000024 -/* 00424 80866134 8C4F0028 */ lw $t7, 0x0028($v0) ## 00000028 -/* 00428 80866138 ACAF0004 */ sw $t7, 0x0004($a1) ## 00000028 -/* 0042C 8086613C 8C58002C */ lw $t8, 0x002C($v0) ## 0000002C -/* 00430 80866140 ACB80008 */ sw $t8, 0x0008($a1) ## 0000002C -/* 00434 80866144 884800B4 */ lwl $t0, 0x00B4($v0) ## 000000B4 -/* 00438 80866148 984800B7 */ lwr $t0, 0x00B7($v0) ## 000000B7 -/* 0043C 8086614C AA0800B4 */ swl $t0, 0x00B4($s0) ## 000000B4 -/* 00440 80866150 BA0800B7 */ swr $t0, 0x00B7($s0) ## 000000B7 -/* 00444 80866154 944800B8 */ lhu $t0, 0x00B8($v0) ## 000000B8 -/* 00448 80866158 A60800B8 */ sh $t0, 0x00B8($s0) ## 000000B8 -/* 0044C 8086615C AFA50028 */ sw $a1, 0x0028($sp) -/* 00450 80866160 AFA40024 */ sw $a0, 0x0024($sp) -/* 00454 80866164 0C01DFE4 */ jal Math_Vec3f_DistXYZ - -/* 00458 80866168 AFA20034 */ sw $v0, 0x0034($sp) -/* 0045C 8086616C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00460 80866170 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00 -/* 00464 80866174 3C018086 */ lui $at, %hi(D_80867BA8) ## $at = 80860000 -/* 00468 80866178 C4247BA8 */ lwc1 $f4, %lo(D_80867BA8)($at) -/* 0046C 8086617C 8FA20034 */ lw $v0, 0x0034($sp) -/* 00470 80866180 8FA40024 */ lw $a0, 0x0024($sp) -/* 00474 80866184 46040082 */ mul.s $f2, $f0, $f4 -/* 00478 80866188 8FA50028 */ lw $a1, 0x0028($sp) -/* 0047C 8086618C 3C063D4C */ lui $a2, 0x3D4C ## $a2 = 3D4C0000 -/* 00480 80866190 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3D4CCCCD -/* 00484 80866194 460C103C */ c.lt.s $f2, $f12 -/* 00488 80866198 E6020158 */ swc1 $f2, 0x0158($s0) ## 00000158 -/* 0048C 8086619C 45000002 */ bc1f .L808661A8 -/* 00490 808661A0 00000000 */ nop -/* 00494 808661A4 E60C0158 */ swc1 $f12, 0x0158($s0) ## 00000158 -.L808661A8: -/* 00498 808661A8 0C2197B3 */ jal func_80865ECC -/* 0049C 808661AC AFA20034 */ sw $v0, 0x0034($sp) -/* 004A0 808661B0 8FA20034 */ lw $v0, 0x0034($sp) -/* 004A4 808661B4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 004A8 808661B8 90490249 */ lbu $t1, 0x0249($v0) ## 00000249 -/* 004AC 808661BC 312A0001 */ andi $t2, $t1, 0x0001 ## $t2 = 00000000 -/* 004B0 808661C0 5140000D */ beql $t2, $zero, .L808661F8 -/* 004B4 808661C4 904D0248 */ lbu $t5, 0x0248($v0) ## 00000248 -/* 004B8 808661C8 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 004BC 808661CC 2405183A */ addiu $a1, $zero, 0x183A ## $a1 = 0000183A -/* 004C0 808661D0 3C058086 */ lui $a1, %hi(func_80865F1C) ## $a1 = 80860000 -/* 004C4 808661D4 24A55F1C */ addiu $a1, $a1, %lo(func_80865F1C) ## $a1 = 80865F1C -/* 004C8 808661D8 0C219744 */ jal func_80865D10 -/* 004CC 808661DC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 004D0 808661E0 240B0020 */ addiu $t3, $zero, 0x0020 ## $t3 = 00000020 -/* 004D4 808661E4 240C00FF */ addiu $t4, $zero, 0x00FF ## $t4 = 000000FF -/* 004D8 808661E8 A60B0166 */ sh $t3, 0x0166($s0) ## 00000166 -/* 004DC 808661EC 1000000E */ beq $zero, $zero, .L80866228 -/* 004E0 808661F0 A20C0168 */ sb $t4, 0x0168($s0) ## 00000168 -/* 004E4 808661F4 904D0248 */ lbu $t5, 0x0248($v0) ## 00000248 -.L808661F8: -/* 004E8 808661F8 29A10022 */ slti $at, $t5, 0x0022 -/* 004EC 808661FC 5020000B */ beql $at, $zero, .L8086622C -/* 004F0 80866200 8FBF001C */ lw $ra, 0x001C($sp) -/* 004F4 80866204 92020168 */ lbu $v0, 0x0168($s0) ## 00000168 -/* 004F8 80866208 28410023 */ slti $at, $v0, 0x0023 -/* 004FC 8086620C 10200005 */ beq $at, $zero, .L80866224 -/* 00500 80866210 244EFFE7 */ addiu $t6, $v0, 0xFFE7 ## $t6 = FFFFFFE7 -/* 00504 80866214 0C00B55C */ jal Actor_Kill - -/* 00508 80866218 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0050C 8086621C 10000003 */ beq $zero, $zero, .L8086622C -/* 00510 80866220 8FBF001C */ lw $ra, 0x001C($sp) -.L80866224: -/* 00514 80866224 A20E0168 */ sb $t6, 0x0168($s0) ## 00000168 -.L80866228: -/* 00518 80866228 8FBF001C */ lw $ra, 0x001C($sp) -.L8086622C: -/* 0051C 8086622C 8FB00018 */ lw $s0, 0x0018($sp) -/* 00520 80866230 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 00524 80866234 03E00008 */ jr $ra -/* 00528 80866238 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Destroy.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Destroy.s deleted file mode 100644 index a931d808f4..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Destroy.s +++ /dev/null @@ -1,23 +0,0 @@ -glabel ArrowIce_Destroy -/* 00080 80867D50 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00084 80867D54 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00088 80867D58 AFA40018 */ sw $a0, 0x0018($sp) -/* 0008C 80867D5C 0C021DB2 */ jal func_800876C8 -/* 00090 80867D60 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00094 80867D64 3C048087 */ lui $a0, %hi(D_80869B10) ## $a0 = 80870000 -/* 00098 80867D68 24849B10 */ addiu $a0, $a0, %lo(D_80869B10) ## $a0 = 80869B10 -/* 0009C 80867D6C 0C000B84 */ jal LogUtils_LogThreadId - -/* 000A0 80867D70 2405019F */ addiu $a1, $zero, 0x019F ## $a1 = 0000019F -/* 000A4 80867D74 3C048087 */ lui $a0, %hi(D_80869B24) ## $a0 = 80870000 -/* 000A8 80867D78 3C058087 */ lui $a1, %hi(D_80869B34) ## $a1 = 80870000 -/* 000AC 80867D7C 24A59B34 */ addiu $a1, $a1, %lo(D_80869B34) ## $a1 = 80869B34 -/* 000B0 80867D80 0C00084C */ jal osSyncPrintf - -/* 000B4 80867D84 24849B24 */ addiu $a0, $a0, %lo(D_80869B24) ## $a0 = 80869B24 -/* 000B8 80867D88 8FBF0014 */ lw $ra, 0x0014($sp) -/* 000BC 80867D8C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 000C0 80867D90 03E00008 */ jr $ra -/* 000C4 80867D94 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Init.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Init.s deleted file mode 100644 index 188497ebb0..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Init.s +++ /dev/null @@ -1,35 +0,0 @@ -glabel ArrowIce_Init -/* 00008 80867CD8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 0000C 80867CDC AFA50024 */ sw $a1, 0x0024($sp) -/* 00010 80867CE0 AFBF001C */ sw $ra, 0x001C($sp) -/* 00014 80867CE4 AFB00018 */ sw $s0, 0x0018($sp) -/* 00018 80867CE8 3C058087 */ lui $a1, %hi(D_80869B00) ## $a1 = 80870000 -/* 0001C 80867CEC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00020 80867CF0 0C01E037 */ jal Actor_ProcessInitChain - -/* 00024 80867CF4 24A59B00 */ addiu $a1, $a1, %lo(D_80869B00) ## $a1 = 80869B00 -/* 00028 80867CF8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 0002C 80867CFC 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00 -/* 00030 80867D00 3C058086 */ lui $a1, %hi(func_80867D98) ## $a1 = 80860000 -/* 00034 80867D04 A600014C */ sh $zero, 0x014C($s0) ## 0000014C -/* 00038 80867D08 24A57D98 */ addiu $a1, $a1, %lo(func_80867D98) ## $a1 = 80867D98 -/* 0003C 80867D0C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00040 80867D10 0C219F34 */ jal func_80867CD0 -/* 00044 80867D14 E6040160 */ swc1 $f4, 0x0160($s0) ## 00000160 -/* 00048 80867D18 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000 -/* 0004C 80867D1C 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A -/* 00050 80867D20 0C00B58B */ jal Actor_SetScale - -/* 00054 80867D24 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00058 80867D28 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 -/* 0005C 80867D2C 240E0064 */ addiu $t6, $zero, 0x0064 ## $t6 = 00000064 -/* 00060 80867D30 A20E0150 */ sb $t6, 0x0150($s0) ## 00000150 -/* 00064 80867D34 A600014E */ sh $zero, 0x014E($s0) ## 0000014E -/* 00068 80867D38 E6060164 */ swc1 $f6, 0x0164($s0) ## 00000164 -/* 0006C 80867D3C 8FBF001C */ lw $ra, 0x001C($sp) -/* 00070 80867D40 8FB00018 */ lw $s0, 0x0018($sp) -/* 00074 80867D44 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00078 80867D48 03E00008 */ jr $ra -/* 0007C 80867D4C 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Update.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Update.s deleted file mode 100644 index f82d10d8ed..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Update.s +++ /dev/null @@ -1,28 +0,0 @@ -glabel ArrowIce_Update -/* 0052C 808681FC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00530 80868200 3C020001 */ lui $v0, 0x0001 ## $v0 = 00010000 -/* 00534 80868204 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00538 80868208 00451021 */ addu $v0, $v0, $a1 -/* 0053C 8086820C 904203DC */ lbu $v0, 0x03DC($v0) ## 000103DC -/* 00540 80868210 2401000D */ addiu $at, $zero, 0x000D ## $at = 0000000D -/* 00544 80868214 10410003 */ beq $v0, $at, .L80868224 -/* 00548 80868218 24010011 */ addiu $at, $zero, 0x0011 ## $at = 00000011 -/* 0054C 8086821C 54410006 */ bnel $v0, $at, .L80868238 -/* 00550 80868220 8C990168 */ lw $t9, 0x0168($a0) ## 00000168 -.L80868224: -/* 00554 80868224 0C00B55C */ jal Actor_Kill - -/* 00558 80868228 00000000 */ nop -/* 0055C 8086822C 10000005 */ beq $zero, $zero, .L80868244 -/* 00560 80868230 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00564 80868234 8C990168 */ lw $t9, 0x0168($a0) ## 00000168 -.L80868238: -/* 00568 80868238 0320F809 */ jalr $ra, $t9 -/* 0056C 8086823C 00000000 */ nop -/* 00570 80868240 8FBF0014 */ lw $ra, 0x0014($sp) -.L80868244: -/* 00574 80868244 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00578 80868248 03E00008 */ jr $ra -/* 0057C 8086824C 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867CD0.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867CD0.s deleted file mode 100644 index c67b438181..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867CD0.s +++ /dev/null @@ -1,5 +0,0 @@ -glabel func_80867CD0 -/* 00000 80867CD0 03E00008 */ jr $ra -/* 00004 80867CD4 AC850168 */ sw $a1, 0x0168($a0) ## 00000168 - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867D98.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867D98.s deleted file mode 100644 index 8eefa1396e..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867D98.s +++ /dev/null @@ -1,69 +0,0 @@ -glabel func_80867D98 -/* 000C8 80867D98 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 000CC 80867D9C AFBF0014 */ sw $ra, 0x0014($sp) -/* 000D0 80867DA0 AFA50024 */ sw $a1, 0x0024($sp) -/* 000D4 80867DA4 8C820118 */ lw $v0, 0x0118($a0) ## 00000118 -/* 000D8 80867DA8 10400004 */ beq $v0, $zero, .L80867DBC -/* 000DC 80867DAC 00000000 */ nop -/* 000E0 80867DB0 8C4E0130 */ lw $t6, 0x0130($v0) ## 00000130 -/* 000E4 80867DB4 55C00006 */ bnel $t6, $zero, .L80867DD0 -/* 000E8 80867DB8 8483014C */ lh $v1, 0x014C($a0) ## 0000014C -.L80867DBC: -/* 000EC 80867DBC 0C00B55C */ jal Actor_Kill - -/* 000F0 80867DC0 00000000 */ nop -/* 000F4 80867DC4 1000002E */ beq $zero, $zero, .L80867E80 -/* 000F8 80867DC8 8FBF0014 */ lw $ra, 0x0014($sp) -/* 000FC 80867DCC 8483014C */ lh $v1, 0x014C($a0) ## 0000014C -.L80867DD0: -/* 00100 80867DD0 2861000A */ slti $at, $v1, 0x000A -/* 00104 80867DD4 10200002 */ beq $at, $zero, .L80867DE0 -/* 00108 80867DD8 246F0001 */ addiu $t7, $v1, 0x0001 ## $t7 = 00000001 -/* 0010C 80867DDC A48F014C */ sh $t7, 0x014C($a0) ## 0000014C -.L80867DE0: -/* 00110 80867DE0 8C590024 */ lw $t9, 0x0024($v0) ## 00000024 -/* 00114 80867DE4 24830024 */ addiu $v1, $a0, 0x0024 ## $v1 = 00000024 -/* 00118 80867DE8 2405007E */ addiu $a1, $zero, 0x007E ## $a1 = 0000007E -/* 0011C 80867DEC AC790000 */ sw $t9, 0x0000($v1) ## 00000024 -/* 00120 80867DF0 8C580028 */ lw $t8, 0x0028($v0) ## 00000028 -/* 00124 80867DF4 AC780004 */ sw $t8, 0x0004($v1) ## 00000028 -/* 00128 80867DF8 8C59002C */ lw $t9, 0x002C($v0) ## 0000002C -/* 0012C 80867DFC AC790008 */ sw $t9, 0x0008($v1) ## 0000002C -/* 00130 80867E00 884900B4 */ lwl $t1, 0x00B4($v0) ## 000000B4 -/* 00134 80867E04 984900B7 */ lwr $t1, 0x00B7($v0) ## 000000B7 -/* 00138 80867E08 A88900B4 */ swl $t1, 0x00B4($a0) ## 000000B4 -/* 0013C 80867E0C B88900B7 */ swr $t1, 0x00B7($a0) ## 000000B7 -/* 00140 80867E10 944900B8 */ lhu $t1, 0x00B8($v0) ## 000000B8 -/* 00144 80867E14 A48900B8 */ sh $t1, 0x00B8($a0) ## 000000B8 -/* 00148 80867E18 AFA40020 */ sw $a0, 0x0020($sp) -/* 0014C 80867E1C AFA30018 */ sw $v1, 0x0018($sp) -/* 00150 80867E20 0C00BE5D */ jal func_8002F974 -/* 00154 80867E24 AFA2001C */ sw $v0, 0x001C($sp) -/* 00158 80867E28 8FA2001C */ lw $v0, 0x001C($sp) -/* 0015C 80867E2C 8FA30018 */ lw $v1, 0x0018($sp) -/* 00160 80867E30 8FA40020 */ lw $a0, 0x0020($sp) -/* 00164 80867E34 8C4A0118 */ lw $t2, 0x0118($v0) ## 00000118 -/* 00168 80867E38 55400011 */ bnel $t2, $zero, .L80867E80 -/* 0016C 80867E3C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00170 80867E40 8C6C0000 */ lw $t4, 0x0000($v1) ## 00000000 -/* 00174 80867E44 240D000A */ addiu $t5, $zero, 0x000A ## $t5 = 0000000A -/* 00178 80867E48 3C058087 */ lui $a1, %hi(func_808680A8) ## $a1 = 80870000 -/* 0017C 80867E4C AC8C0154 */ sw $t4, 0x0154($a0) ## 00000154 -/* 00180 80867E50 8C6B0004 */ lw $t3, 0x0004($v1) ## 00000004 -/* 00184 80867E54 24A580A8 */ addiu $a1, $a1, %lo(func_808680A8) ## $a1 = 808680A8 -/* 00188 80867E58 AC8B0158 */ sw $t3, 0x0158($a0) ## 00000158 -/* 0018C 80867E5C 8C6C0008 */ lw $t4, 0x0008($v1) ## 00000008 -/* 00190 80867E60 A48D014C */ sh $t5, 0x014C($a0) ## 0000014C -/* 00194 80867E64 AC8C015C */ sw $t4, 0x015C($a0) ## 0000015C -/* 00198 80867E68 0C219F34 */ jal func_80867CD0 -/* 0019C 80867E6C AFA40020 */ sw $a0, 0x0020($sp) -/* 001A0 80867E70 8FA40020 */ lw $a0, 0x0020($sp) -/* 001A4 80867E74 240E00FF */ addiu $t6, $zero, 0x00FF ## $t6 = 000000FF -/* 001A8 80867E78 A08E0150 */ sb $t6, 0x0150($a0) ## 00000150 -/* 001AC 80867E7C 8FBF0014 */ lw $ra, 0x0014($sp) -.L80867E80: -/* 001B0 80867E80 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 001B4 80867E84 03E00008 */ jr $ra -/* 001B8 80867E88 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867E8C.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867E8C.s deleted file mode 100644 index 19eed90b19..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867E8C.s +++ /dev/null @@ -1,23 +0,0 @@ -glabel func_80867E8C -/* 001BC 80867E8C C4800000 */ lwc1 $f0, 0x0000($a0) ## 00000000 -/* 001C0 80867E90 C4A40000 */ lwc1 $f4, 0x0000($a1) ## 00000000 -/* 001C4 80867E94 44866000 */ mtc1 $a2, $f12 ## $f12 = 0.00 -/* 001C8 80867E98 C4820004 */ lwc1 $f2, 0x0004($a0) ## 00000004 -/* 001CC 80867E9C 46002181 */ sub.s $f6, $f4, $f0 -/* 001D0 80867EA0 C48E0008 */ lwc1 $f14, 0x0008($a0) ## 00000008 -/* 001D4 80867EA4 460C3202 */ mul.s $f8, $f6, $f12 -/* 001D8 80867EA8 46080280 */ add.s $f10, $f0, $f8 -/* 001DC 80867EAC E48A0000 */ swc1 $f10, 0x0000($a0) ## 00000000 -/* 001E0 80867EB0 C4B00004 */ lwc1 $f16, 0x0004($a1) ## 00000004 -/* 001E4 80867EB4 46028481 */ sub.s $f18, $f16, $f2 -/* 001E8 80867EB8 460C9102 */ mul.s $f4, $f18, $f12 -/* 001EC 80867EBC 46041180 */ add.s $f6, $f2, $f4 -/* 001F0 80867EC0 E4860004 */ swc1 $f6, 0x0004($a0) ## 00000004 -/* 001F4 80867EC4 C4A80008 */ lwc1 $f8, 0x0008($a1) ## 00000008 -/* 001F8 80867EC8 460E4281 */ sub.s $f10, $f8, $f14 -/* 001FC 80867ECC 460C5402 */ mul.s $f16, $f10, $f12 -/* 00200 80867ED0 46107480 */ add.s $f18, $f14, $f16 -/* 00204 80867ED4 03E00008 */ jr $ra -/* 00208 80867ED8 E4920008 */ swc1 $f18, 0x0008($a0) ## 00000008 - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867EDC.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867EDC.s deleted file mode 100644 index 5db49a724a..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867EDC.s +++ /dev/null @@ -1,128 +0,0 @@ -glabel func_80867EDC -/* 0020C 80867EDC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00210 80867EE0 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00214 80867EE4 AFA5001C */ sw $a1, 0x001C($sp) -/* 00218 80867EE8 3C014248 */ lui $at, 0x4248 ## $at = 42480000 -/* 0021C 80867EEC 44811000 */ mtc1 $at, $f2 ## $f2 = 50.00 -/* 00220 80867EF0 C48000F0 */ lwc1 $f0, 0x00F0($a0) ## 000000F0 -/* 00224 80867EF4 3C018087 */ lui $at, %hi(D_80869B78) ## $at = 80870000 -/* 00228 80867EF8 4602003C */ c.lt.s $f0, $f2 -/* 0022C 80867EFC 00000000 */ nop -/* 00230 80867F00 45000005 */ bc1f .L80867F18 -/* 00234 80867F04 00000000 */ nop -/* 00238 80867F08 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 0023C 80867F0C 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00 -/* 00240 80867F10 10000012 */ beq $zero, $zero, .L80867F5C -/* 00244 80867F14 9483014E */ lhu $v1, 0x014E($a0) ## 0000014E -.L80867F18: -/* 00248 80867F18 C4249B78 */ lwc1 $f4, %lo(D_80869B78)($at) -/* 0024C 80867F1C 3C018087 */ lui $at, %hi(D_80869B7C) ## $at = 80870000 -/* 00250 80867F20 4600203C */ c.lt.s $f4, $f0 -/* 00254 80867F24 00000000 */ nop -/* 00258 80867F28 45020006 */ bc1fl .L80867F44 -/* 0025C 80867F2C 46020181 */ sub.s $f6, $f0, $f2 -/* 00260 80867F30 3C01439B */ lui $at, 0x439B ## $at = 439B0000 -/* 00264 80867F34 44816000 */ mtc1 $at, $f12 ## $f12 = 310.00 -/* 00268 80867F38 10000008 */ beq $zero, $zero, .L80867F5C -/* 0026C 80867F3C 9483014E */ lhu $v1, 0x014E($a0) ## 0000014E -/* 00270 80867F40 46020181 */ sub.s $f6, $f0, $f2 -.L80867F44: -/* 00274 80867F44 C4289B7C */ lwc1 $f8, %lo(D_80869B7C)($at) -/* 00278 80867F48 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 0027C 80867F4C 44818000 */ mtc1 $at, $f16 ## $f16 = 10.00 -/* 00280 80867F50 46083282 */ mul.s $f10, $f6, $f8 -/* 00284 80867F54 46105300 */ add.s $f12, $f10, $f16 -/* 00288 80867F58 9483014E */ lhu $v1, 0x014E($a0) ## 0000014E -.L80867F5C: -/* 0028C 80867F5C 240A00FF */ addiu $t2, $zero, 0x00FF ## $t2 = 000000FF -/* 00290 80867F60 10600029 */ beq $v1, $zero, .L80868008 -/* 00294 80867F64 246EFFFF */ addiu $t6, $v1, 0xFFFF ## $t6 = FFFFFFFF -/* 00298 80867F68 31C3FFFF */ andi $v1, $t6, 0xFFFF ## $v1 = 0000FFFF -/* 0029C 80867F6C 28610008 */ slti $at, $v1, 0x0008 -/* 002A0 80867F70 A48E014E */ sh $t6, 0x014E($a0) ## 0000014E -/* 002A4 80867F74 14200024 */ bne $at, $zero, .L80868008 -/* 002A8 80867F78 00601025 */ or $v0, $v1, $zero ## $v0 = 0000FFFF -/* 002AC 80867F7C 244FFFF8 */ addiu $t7, $v0, 0xFFF8 ## $t7 = 0000FFF7 -/* 002B0 80867F80 448F9000 */ mtc1 $t7, $f18 ## $f18 = 0.00 -/* 002B4 80867F84 3C018087 */ lui $at, %hi(D_80869B80) ## $at = 80870000 -/* 002B8 80867F88 C4269B80 */ lwc1 $f6, %lo(D_80869B80)($at) -/* 002BC 80867F8C 46809120 */ cvt.s.w $f4, $f18 -/* 002C0 80867F90 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 002C4 80867F94 44814000 */ mtc1 $at, $f8 ## $f8 = 1.00 -/* 002C8 80867F98 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 002CC 80867F9C 44819000 */ mtc1 $at, $f18 ## $f18 = 10.00 -/* 002D0 80867FA0 3C014000 */ lui $at, 0x4000 ## $at = 40000000 -/* 002D4 80867FA4 46062002 */ mul.s $f0, $f4, $f6 -/* 002D8 80867FA8 C4820160 */ lwc1 $f2, 0x0160($a0) ## 00000160 -/* 002DC 80867FAC 000240C0 */ sll $t0, $v0, 3 -/* 002E0 80867FB0 01024021 */ addu $t0, $t0, $v0 -/* 002E4 80867FB4 00084080 */ sll $t0, $t0, 2 -/* 002E8 80867FB8 01024023 */ subu $t0, $t0, $v0 -/* 002EC 80867FBC 2509FEE8 */ addiu $t1, $t0, 0xFEE8 ## $t1 = FFFFFEE8 -/* 002F0 80867FC0 46000002 */ mul.s $f0, $f0, $f0 -/* 002F4 80867FC4 46004281 */ sub.s $f10, $f8, $f0 -/* 002F8 80867FC8 44814000 */ mtc1 $at, $f8 ## $f8 = 2.00 -/* 002FC 80867FCC 3C018087 */ lui $at, %hi(D_80869B84) ## $at = 80870000 -/* 00300 80867FD0 460C5402 */ mul.s $f16, $f10, $f12 -/* 00304 80867FD4 46024281 */ sub.s $f10, $f8, $f2 -/* 00308 80867FD8 46128100 */ add.s $f4, $f16, $f18 -/* 0030C 80867FDC 4600218D */ trunc.w.s $f6, $f4 -/* 00310 80867FE0 44193000 */ mfc1 $t9, $f6 -/* 00314 80867FE4 00000000 */ nop -/* 00318 80867FE8 A499014C */ sh $t9, 0x014C($a0) ## 0000014C -/* 0031C 80867FEC C4309B84 */ lwc1 $f16, %lo(D_80869B84)($at) -/* 00320 80867FF0 28410010 */ slti $at, $v0, 0x0010 -/* 00324 80867FF4 46105482 */ mul.s $f18, $f10, $f16 -/* 00328 80867FF8 46121100 */ add.s $f4, $f2, $f18 -/* 0032C 80867FFC 10200002 */ beq $at, $zero, .L80868008 -/* 00330 80868000 E4840160 */ swc1 $f4, 0x0160($a0) ## 00000160 -/* 00334 80868004 A0890150 */ sb $t1, 0x0150($a0) ## 00000150 -.L80868008: -/* 00338 80868008 28610009 */ slti $at, $v1, 0x0009 -/* 0033C 8086800C 1420000E */ bne $at, $zero, .L80868048 -/* 00340 80868010 00601025 */ or $v0, $v1, $zero ## $v0 = 0000FFFF -/* 00344 80868014 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00348 80868018 44813000 */ mtc1 $at, $f6 ## $f6 = 1.00 -/* 0034C 8086801C C4800164 */ lwc1 $f0, 0x0164($a0) ## 00000164 -/* 00350 80868020 3C013E80 */ lui $at, 0x3E80 ## $at = 3E800000 -/* 00354 80868024 4606003C */ c.lt.s $f0, $f6 -/* 00358 80868028 00000000 */ nop -/* 0035C 8086802C 45020012 */ bc1fl .L80868078 -/* 00360 80868030 28410008 */ slti $at, $v0, 0x0008 -/* 00364 80868034 44814000 */ mtc1 $at, $f8 ## $f8 = 0.25 -/* 00368 80868038 9482014E */ lhu $v0, 0x014E($a0) ## 0000014E -/* 0036C 8086803C 46080280 */ add.s $f10, $f0, $f8 -/* 00370 80868040 1000000C */ beq $zero, $zero, .L80868074 -/* 00374 80868044 E48A0164 */ swc1 $f10, 0x0164($a0) ## 00000164 -.L80868048: -/* 00378 80868048 C4800164 */ lwc1 $f0, 0x0164($a0) ## 00000164 -/* 0037C 8086804C 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00 -/* 00380 80868050 3C013E00 */ lui $at, 0x3E00 ## $at = 3E000000 -/* 00384 80868054 4600803C */ c.lt.s $f16, $f0 -/* 00388 80868058 00000000 */ nop -/* 0038C 8086805C 45020006 */ bc1fl .L80868078 -/* 00390 80868060 28410008 */ slti $at, $v0, 0x0008 -/* 00394 80868064 44819000 */ mtc1 $at, $f18 ## $f18 = 0.12 -/* 00398 80868068 9482014E */ lhu $v0, 0x014E($a0) ## 0000014E -/* 0039C 8086806C 46120101 */ sub.s $f4, $f0, $f18 -/* 003A0 80868070 E4840164 */ swc1 $f4, 0x0164($a0) ## 00000164 -.L80868074: -/* 003A4 80868074 28410008 */ slti $at, $v0, 0x0008 -.L80868078: -/* 003A8 80868078 10200003 */ beq $at, $zero, .L80868088 -/* 003AC 8086807C 00000000 */ nop -/* 003B0 80868080 A0800150 */ sb $zero, 0x0150($a0) ## 00000150 -/* 003B4 80868084 9482014E */ lhu $v0, 0x014E($a0) ## 0000014E -.L80868088: -/* 003B8 80868088 54400004 */ bnel $v0, $zero, .L8086809C -/* 003BC 8086808C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 003C0 80868090 0C00B55C */ jal Actor_Kill - -/* 003C4 80868094 A48A014E */ sh $t2, 0x014E($a0) ## 0000014E -/* 003C8 80868098 8FBF0014 */ lw $ra, 0x0014($sp) -.L8086809C: -/* 003CC 8086809C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 003D0 808680A0 03E00008 */ jr $ra -/* 003D4 808680A4 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_808680A8.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_808680A8.s deleted file mode 100644 index 0707e0080f..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_808680A8.s +++ /dev/null @@ -1,99 +0,0 @@ -glabel func_808680A8 -/* 003D8 808680A8 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 003DC 808680AC AFBF001C */ sw $ra, 0x001C($sp) -/* 003E0 808680B0 AFB00018 */ sw $s0, 0x0018($sp) -/* 003E4 808680B4 AFA5003C */ sw $a1, 0x003C($sp) -/* 003E8 808680B8 8C820118 */ lw $v0, 0x0118($a0) ## 00000118 -/* 003EC 808680BC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 003F0 808680C0 10400004 */ beq $v0, $zero, .L808680D4 -/* 003F4 808680C4 00000000 */ nop -/* 003F8 808680C8 8C4E0130 */ lw $t6, 0x0130($v0) ## 00000130 -/* 003FC 808680CC 55C00006 */ bnel $t6, $zero, .L808680E8 -/* 00400 808680D0 8C580024 */ lw $t8, 0x0024($v0) ## 00000024 -.L808680D4: -/* 00404 808680D4 0C00B55C */ jal Actor_Kill - -/* 00408 808680D8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0040C 808680DC 10000043 */ beq $zero, $zero, .L808681EC -/* 00410 808680E0 8FBF001C */ lw $ra, 0x001C($sp) -/* 00414 808680E4 8C580024 */ lw $t8, 0x0024($v0) ## 00000024 -.L808680E8: -/* 00418 808680E8 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024 -/* 0041C 808680EC 26040154 */ addiu $a0, $s0, 0x0154 ## $a0 = 00000154 -/* 00420 808680F0 ACB80000 */ sw $t8, 0x0000($a1) ## 00000024 -/* 00424 808680F4 8C4F0028 */ lw $t7, 0x0028($v0) ## 00000028 -/* 00428 808680F8 ACAF0004 */ sw $t7, 0x0004($a1) ## 00000028 -/* 0042C 808680FC 8C58002C */ lw $t8, 0x002C($v0) ## 0000002C -/* 00430 80868100 ACB80008 */ sw $t8, 0x0008($a1) ## 0000002C -/* 00434 80868104 884800B4 */ lwl $t0, 0x00B4($v0) ## 000000B4 -/* 00438 80868108 984800B7 */ lwr $t0, 0x00B7($v0) ## 000000B7 -/* 0043C 8086810C AA0800B4 */ swl $t0, 0x00B4($s0) ## 000000B4 -/* 00440 80868110 BA0800B7 */ swr $t0, 0x00B7($s0) ## 000000B7 -/* 00444 80868114 944800B8 */ lhu $t0, 0x00B8($v0) ## 000000B8 -/* 00448 80868118 A60800B8 */ sh $t0, 0x00B8($s0) ## 000000B8 -/* 0044C 8086811C AFA50028 */ sw $a1, 0x0028($sp) -/* 00450 80868120 AFA40024 */ sw $a0, 0x0024($sp) -/* 00454 80868124 0C01DFE4 */ jal Math_Vec3f_DistXYZ - -/* 00458 80868128 AFA20034 */ sw $v0, 0x0034($sp) -/* 0045C 8086812C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00460 80868130 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00 -/* 00464 80868134 3C018087 */ lui $at, %hi(D_80869B88) ## $at = 80870000 -/* 00468 80868138 C4249B88 */ lwc1 $f4, %lo(D_80869B88)($at) -/* 0046C 8086813C 8FA20034 */ lw $v0, 0x0034($sp) -/* 00470 80868140 8FA40024 */ lw $a0, 0x0024($sp) -/* 00474 80868144 46040082 */ mul.s $f2, $f0, $f4 -/* 00478 80868148 8FA50028 */ lw $a1, 0x0028($sp) -/* 0047C 8086814C 3C063D4C */ lui $a2, 0x3D4C ## $a2 = 3D4C0000 -/* 00480 80868150 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3D4CCCCD -/* 00484 80868154 460C103C */ c.lt.s $f2, $f12 -/* 00488 80868158 E6020160 */ swc1 $f2, 0x0160($s0) ## 00000160 -/* 0048C 8086815C 45000002 */ bc1f .L80868168 -/* 00490 80868160 00000000 */ nop -/* 00494 80868164 E60C0160 */ swc1 $f12, 0x0160($s0) ## 00000160 -.L80868168: -/* 00498 80868168 0C219FA3 */ jal func_80867E8C -/* 0049C 8086816C AFA20034 */ sw $v0, 0x0034($sp) -/* 004A0 80868170 8FA20034 */ lw $v0, 0x0034($sp) -/* 004A4 80868174 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 004A8 80868178 90490249 */ lbu $t1, 0x0249($v0) ## 00000249 -/* 004AC 8086817C 312A0001 */ andi $t2, $t1, 0x0001 ## $t2 = 00000000 -/* 004B0 80868180 5140000D */ beql $t2, $zero, .L808681B8 -/* 004B4 80868184 904D0248 */ lbu $t5, 0x0248($v0) ## 00000248 -/* 004B8 80868188 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 004BC 8086818C 2405183B */ addiu $a1, $zero, 0x183B ## $a1 = 0000183B -/* 004C0 80868190 3C058086 */ lui $a1, %hi(func_80867EDC) ## $a1 = 80860000 -/* 004C4 80868194 24A57EDC */ addiu $a1, $a1, %lo(func_80867EDC) ## $a1 = 80867EDC -/* 004C8 80868198 0C219F34 */ jal func_80867CD0 -/* 004CC 8086819C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 004D0 808681A0 240B0020 */ addiu $t3, $zero, 0x0020 ## $t3 = 00000020 -/* 004D4 808681A4 240C00FF */ addiu $t4, $zero, 0x00FF ## $t4 = 000000FF -/* 004D8 808681A8 A60B014E */ sh $t3, 0x014E($s0) ## 0000014E -/* 004DC 808681AC 1000000E */ beq $zero, $zero, .L808681E8 -/* 004E0 808681B0 A20C0150 */ sb $t4, 0x0150($s0) ## 00000150 -/* 004E4 808681B4 904D0248 */ lbu $t5, 0x0248($v0) ## 00000248 -.L808681B8: -/* 004E8 808681B8 29A10022 */ slti $at, $t5, 0x0022 -/* 004EC 808681BC 5020000B */ beql $at, $zero, .L808681EC -/* 004F0 808681C0 8FBF001C */ lw $ra, 0x001C($sp) -/* 004F4 808681C4 92020150 */ lbu $v0, 0x0150($s0) ## 00000150 -/* 004F8 808681C8 28410023 */ slti $at, $v0, 0x0023 -/* 004FC 808681CC 10200005 */ beq $at, $zero, .L808681E4 -/* 00500 808681D0 244EFFE7 */ addiu $t6, $v0, 0xFFE7 ## $t6 = FFFFFFE7 -/* 00504 808681D4 0C00B55C */ jal Actor_Kill - -/* 00508 808681D8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0050C 808681DC 10000003 */ beq $zero, $zero, .L808681EC -/* 00510 808681E0 8FBF001C */ lw $ra, 0x001C($sp) -.L808681E4: -/* 00514 808681E4 A20E0150 */ sb $t6, 0x0150($s0) ## 00000150 -.L808681E8: -/* 00518 808681E8 8FBF001C */ lw $ra, 0x001C($sp) -.L808681EC: -/* 0051C 808681EC 8FB00018 */ lw $s0, 0x0018($sp) -/* 00520 808681F0 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 00524 808681F4 03E00008 */ jr $ra -/* 00528 808681F8 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Destroy.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Destroy.s deleted file mode 100644 index 95ba6ee6d9..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Destroy.s +++ /dev/null @@ -1,23 +0,0 @@ -glabel ArrowLight_Destroy -/* 00080 80869D30 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00084 80869D34 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00088 80869D38 AFA40018 */ sw $a0, 0x0018($sp) -/* 0008C 80869D3C 0C021DB2 */ jal func_800876C8 -/* 00090 80869D40 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00094 80869D44 3C048087 */ lui $a0, %hi(D_8086BB00) ## $a0 = 80870000 -/* 00098 80869D48 2484BB00 */ addiu $a0, $a0, %lo(D_8086BB00) ## $a0 = 8086BB00 -/* 0009C 80869D4C 0C000B84 */ jal LogUtils_LogThreadId - -/* 000A0 80869D50 24050193 */ addiu $a1, $zero, 0x0193 ## $a1 = 00000193 -/* 000A4 80869D54 3C048087 */ lui $a0, %hi(D_8086BB14) ## $a0 = 80870000 -/* 000A8 80869D58 3C058087 */ lui $a1, %hi(D_8086BB24) ## $a1 = 80870000 -/* 000AC 80869D5C 24A5BB24 */ addiu $a1, $a1, %lo(D_8086BB24) ## $a1 = 8086BB24 -/* 000B0 80869D60 0C00084C */ jal osSyncPrintf - -/* 000B4 80869D64 2484BB14 */ addiu $a0, $a0, %lo(D_8086BB14) ## $a0 = 8086BB14 -/* 000B8 80869D68 8FBF0014 */ lw $ra, 0x0014($sp) -/* 000BC 80869D6C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 000C0 80869D70 03E00008 */ jr $ra -/* 000C4 80869D74 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Init.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Init.s deleted file mode 100644 index cc8f959a4f..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Init.s +++ /dev/null @@ -1,35 +0,0 @@ -glabel ArrowLight_Init -/* 00008 80869CB8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 0000C 80869CBC AFA50024 */ sw $a1, 0x0024($sp) -/* 00010 80869CC0 AFBF001C */ sw $ra, 0x001C($sp) -/* 00014 80869CC4 AFB00018 */ sw $s0, 0x0018($sp) -/* 00018 80869CC8 3C058087 */ lui $a1, %hi(D_8086BAF0) ## $a1 = 80870000 -/* 0001C 80869CCC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00020 80869CD0 0C01E037 */ jal Actor_ProcessInitChain - -/* 00024 80869CD4 24A5BAF0 */ addiu $a1, $a1, %lo(D_8086BAF0) ## $a1 = 8086BAF0 -/* 00028 80869CD8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 0002C 80869CDC 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00 -/* 00030 80869CE0 3C058087 */ lui $a1, %hi(func_80869D78) ## $a1 = 80870000 -/* 00034 80869CE4 A600014C */ sh $zero, 0x014C($s0) ## 0000014C -/* 00038 80869CE8 24A59D78 */ addiu $a1, $a1, %lo(func_80869D78) ## $a1 = 80869D78 -/* 0003C 80869CEC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00040 80869CF0 0C21A72C */ jal func_80869CB0 -/* 00044 80869CF4 E6040160 */ swc1 $f4, 0x0160($s0) ## 00000160 -/* 00048 80869CF8 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000 -/* 0004C 80869CFC 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3C23D70A -/* 00050 80869D00 0C00B58B */ jal Actor_SetScale - -/* 00054 80869D04 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00058 80869D08 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 -/* 0005C 80869D0C 240E0082 */ addiu $t6, $zero, 0x0082 ## $t6 = 00000082 -/* 00060 80869D10 A20E0150 */ sb $t6, 0x0150($s0) ## 00000150 -/* 00064 80869D14 A600014E */ sh $zero, 0x014E($s0) ## 0000014E -/* 00068 80869D18 E6060164 */ swc1 $f6, 0x0164($s0) ## 00000164 -/* 0006C 80869D1C 8FBF001C */ lw $ra, 0x001C($sp) -/* 00070 80869D20 8FB00018 */ lw $s0, 0x0018($sp) -/* 00074 80869D24 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00078 80869D28 03E00008 */ jr $ra -/* 0007C 80869D2C 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Update.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Update.s deleted file mode 100644 index 9357b7f1f4..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Update.s +++ /dev/null @@ -1,28 +0,0 @@ -glabel ArrowLight_Update -/* 0052C 8086A1DC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00530 8086A1E0 3C020001 */ lui $v0, 0x0001 ## $v0 = 00010000 -/* 00534 8086A1E4 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00538 8086A1E8 00451021 */ addu $v0, $v0, $a1 -/* 0053C 8086A1EC 904203DC */ lbu $v0, 0x03DC($v0) ## 000103DC -/* 00540 8086A1F0 2401000D */ addiu $at, $zero, 0x000D ## $at = 0000000D -/* 00544 8086A1F4 10410003 */ beq $v0, $at, .L8086A204 -/* 00548 8086A1F8 24010011 */ addiu $at, $zero, 0x0011 ## $at = 00000011 -/* 0054C 8086A1FC 54410006 */ bnel $v0, $at, .L8086A218 -/* 00550 8086A200 8C990168 */ lw $t9, 0x0168($a0) ## 00000168 -.L8086A204: -/* 00554 8086A204 0C00B55C */ jal Actor_Kill - -/* 00558 8086A208 00000000 */ nop -/* 0055C 8086A20C 10000005 */ beq $zero, $zero, .L8086A224 -/* 00560 8086A210 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00564 8086A214 8C990168 */ lw $t9, 0x0168($a0) ## 00000168 -.L8086A218: -/* 00568 8086A218 0320F809 */ jalr $ra, $t9 -/* 0056C 8086A21C 00000000 */ nop -/* 00570 8086A220 8FBF0014 */ lw $ra, 0x0014($sp) -.L8086A224: -/* 00574 8086A224 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00578 8086A228 03E00008 */ jr $ra -/* 0057C 8086A22C 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869CB0.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869CB0.s deleted file mode 100644 index 8b54394d72..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869CB0.s +++ /dev/null @@ -1,5 +0,0 @@ -glabel func_80869CB0 -/* 00000 80869CB0 03E00008 */ jr $ra -/* 00004 80869CB4 AC850168 */ sw $a1, 0x0168($a0) ## 00000168 - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869D78.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869D78.s deleted file mode 100644 index d412f9e701..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869D78.s +++ /dev/null @@ -1,69 +0,0 @@ -glabel func_80869D78 -/* 000C8 80869D78 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 000CC 80869D7C AFBF0014 */ sw $ra, 0x0014($sp) -/* 000D0 80869D80 AFA50024 */ sw $a1, 0x0024($sp) -/* 000D4 80869D84 8C820118 */ lw $v0, 0x0118($a0) ## 00000118 -/* 000D8 80869D88 10400004 */ beq $v0, $zero, .L80869D9C -/* 000DC 80869D8C 00000000 */ nop -/* 000E0 80869D90 8C4E0130 */ lw $t6, 0x0130($v0) ## 00000130 -/* 000E4 80869D94 55C00006 */ bnel $t6, $zero, .L80869DB0 -/* 000E8 80869D98 8483014C */ lh $v1, 0x014C($a0) ## 0000014C -.L80869D9C: -/* 000EC 80869D9C 0C00B55C */ jal Actor_Kill - -/* 000F0 80869DA0 00000000 */ nop -/* 000F4 80869DA4 1000002E */ beq $zero, $zero, .L80869E60 -/* 000F8 80869DA8 8FBF0014 */ lw $ra, 0x0014($sp) -/* 000FC 80869DAC 8483014C */ lh $v1, 0x014C($a0) ## 0000014C -.L80869DB0: -/* 00100 80869DB0 2861000A */ slti $at, $v1, 0x000A -/* 00104 80869DB4 10200002 */ beq $at, $zero, .L80869DC0 -/* 00108 80869DB8 246F0001 */ addiu $t7, $v1, 0x0001 ## $t7 = 00000001 -/* 0010C 80869DBC A48F014C */ sh $t7, 0x014C($a0) ## 0000014C -.L80869DC0: -/* 00110 80869DC0 8C590024 */ lw $t9, 0x0024($v0) ## 00000024 -/* 00114 80869DC4 24830024 */ addiu $v1, $a0, 0x0024 ## $v1 = 00000024 -/* 00118 80869DC8 2405007F */ addiu $a1, $zero, 0x007F ## $a1 = 0000007F -/* 0011C 80869DCC AC790000 */ sw $t9, 0x0000($v1) ## 00000024 -/* 00120 80869DD0 8C580028 */ lw $t8, 0x0028($v0) ## 00000028 -/* 00124 80869DD4 AC780004 */ sw $t8, 0x0004($v1) ## 00000028 -/* 00128 80869DD8 8C59002C */ lw $t9, 0x002C($v0) ## 0000002C -/* 0012C 80869DDC AC790008 */ sw $t9, 0x0008($v1) ## 0000002C -/* 00130 80869DE0 884900B4 */ lwl $t1, 0x00B4($v0) ## 000000B4 -/* 00134 80869DE4 984900B7 */ lwr $t1, 0x00B7($v0) ## 000000B7 -/* 00138 80869DE8 A88900B4 */ swl $t1, 0x00B4($a0) ## 000000B4 -/* 0013C 80869DEC B88900B7 */ swr $t1, 0x00B7($a0) ## 000000B7 -/* 00140 80869DF0 944900B8 */ lhu $t1, 0x00B8($v0) ## 000000B8 -/* 00144 80869DF4 A48900B8 */ sh $t1, 0x00B8($a0) ## 000000B8 -/* 00148 80869DF8 AFA40020 */ sw $a0, 0x0020($sp) -/* 0014C 80869DFC AFA30018 */ sw $v1, 0x0018($sp) -/* 00150 80869E00 0C00BE5D */ jal func_8002F974 -/* 00154 80869E04 AFA2001C */ sw $v0, 0x001C($sp) -/* 00158 80869E08 8FA2001C */ lw $v0, 0x001C($sp) -/* 0015C 80869E0C 8FA30018 */ lw $v1, 0x0018($sp) -/* 00160 80869E10 8FA40020 */ lw $a0, 0x0020($sp) -/* 00164 80869E14 8C4A0118 */ lw $t2, 0x0118($v0) ## 00000118 -/* 00168 80869E18 55400011 */ bnel $t2, $zero, .L80869E60 -/* 0016C 80869E1C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00170 80869E20 8C6C0000 */ lw $t4, 0x0000($v1) ## 00000000 -/* 00174 80869E24 240D000A */ addiu $t5, $zero, 0x000A ## $t5 = 0000000A -/* 00178 80869E28 3C058087 */ lui $a1, %hi(func_8086A088) ## $a1 = 80870000 -/* 0017C 80869E2C AC8C0154 */ sw $t4, 0x0154($a0) ## 00000154 -/* 00180 80869E30 8C6B0004 */ lw $t3, 0x0004($v1) ## 00000004 -/* 00184 80869E34 24A5A088 */ addiu $a1, $a1, %lo(func_8086A088) ## $a1 = 8086A088 -/* 00188 80869E38 AC8B0158 */ sw $t3, 0x0158($a0) ## 00000158 -/* 0018C 80869E3C 8C6C0008 */ lw $t4, 0x0008($v1) ## 00000008 -/* 00190 80869E40 A48D014C */ sh $t5, 0x014C($a0) ## 0000014C -/* 00194 80869E44 AC8C015C */ sw $t4, 0x015C($a0) ## 0000015C -/* 00198 80869E48 0C21A72C */ jal func_80869CB0 -/* 0019C 80869E4C AFA40020 */ sw $a0, 0x0020($sp) -/* 001A0 80869E50 8FA40020 */ lw $a0, 0x0020($sp) -/* 001A4 80869E54 240E00FF */ addiu $t6, $zero, 0x00FF ## $t6 = 000000FF -/* 001A8 80869E58 A08E0150 */ sb $t6, 0x0150($a0) ## 00000150 -/* 001AC 80869E5C 8FBF0014 */ lw $ra, 0x0014($sp) -.L80869E60: -/* 001B0 80869E60 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 001B4 80869E64 03E00008 */ jr $ra -/* 001B8 80869E68 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869E6C.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869E6C.s deleted file mode 100644 index 9a70855be0..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869E6C.s +++ /dev/null @@ -1,23 +0,0 @@ -glabel func_80869E6C -/* 001BC 80869E6C C4800000 */ lwc1 $f0, 0x0000($a0) ## 00000000 -/* 001C0 80869E70 C4A40000 */ lwc1 $f4, 0x0000($a1) ## 00000000 -/* 001C4 80869E74 44866000 */ mtc1 $a2, $f12 ## $f12 = 0.00 -/* 001C8 80869E78 C4820004 */ lwc1 $f2, 0x0004($a0) ## 00000004 -/* 001CC 80869E7C 46002181 */ sub.s $f6, $f4, $f0 -/* 001D0 80869E80 C48E0008 */ lwc1 $f14, 0x0008($a0) ## 00000008 -/* 001D4 80869E84 460C3202 */ mul.s $f8, $f6, $f12 -/* 001D8 80869E88 46080280 */ add.s $f10, $f0, $f8 -/* 001DC 80869E8C E48A0000 */ swc1 $f10, 0x0000($a0) ## 00000000 -/* 001E0 80869E90 C4B00004 */ lwc1 $f16, 0x0004($a1) ## 00000004 -/* 001E4 80869E94 46028481 */ sub.s $f18, $f16, $f2 -/* 001E8 80869E98 460C9102 */ mul.s $f4, $f18, $f12 -/* 001EC 80869E9C 46041180 */ add.s $f6, $f2, $f4 -/* 001F0 80869EA0 E4860004 */ swc1 $f6, 0x0004($a0) ## 00000004 -/* 001F4 80869EA4 C4A80008 */ lwc1 $f8, 0x0008($a1) ## 00000008 -/* 001F8 80869EA8 460E4281 */ sub.s $f10, $f8, $f14 -/* 001FC 80869EAC 460C5402 */ mul.s $f16, $f10, $f12 -/* 00200 80869EB0 46107480 */ add.s $f18, $f14, $f16 -/* 00204 80869EB4 03E00008 */ jr $ra -/* 00208 80869EB8 E4920008 */ swc1 $f18, 0x0008($a0) ## 00000008 - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869EBC.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869EBC.s deleted file mode 100644 index 209e6c0196..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869EBC.s +++ /dev/null @@ -1,128 +0,0 @@ -glabel func_80869EBC -/* 0020C 80869EBC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00210 80869EC0 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00214 80869EC4 AFA5001C */ sw $a1, 0x001C($sp) -/* 00218 80869EC8 3C014248 */ lui $at, 0x4248 ## $at = 42480000 -/* 0021C 80869ECC 44811000 */ mtc1 $at, $f2 ## $f2 = 50.00 -/* 00220 80869ED0 C48000F0 */ lwc1 $f0, 0x00F0($a0) ## 000000F0 -/* 00224 80869ED4 3C018087 */ lui $at, %hi(D_8086BB68) ## $at = 80870000 -/* 00228 80869ED8 4602003C */ c.lt.s $f0, $f2 -/* 0022C 80869EDC 00000000 */ nop -/* 00230 80869EE0 45000005 */ bc1f .L80869EF8 -/* 00234 80869EE4 00000000 */ nop -/* 00238 80869EE8 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 0023C 80869EEC 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00 -/* 00240 80869EF0 10000012 */ beq $zero, $zero, .L80869F3C -/* 00244 80869EF4 9483014E */ lhu $v1, 0x014E($a0) ## 0000014E -.L80869EF8: -/* 00248 80869EF8 C424BB68 */ lwc1 $f4, %lo(D_8086BB68)($at) -/* 0024C 80869EFC 3C018087 */ lui $at, %hi(D_8086BB6C) ## $at = 80870000 -/* 00250 80869F00 4600203C */ c.lt.s $f4, $f0 -/* 00254 80869F04 00000000 */ nop -/* 00258 80869F08 45020006 */ bc1fl .L80869F24 -/* 0025C 80869F0C 46020181 */ sub.s $f6, $f0, $f2 -/* 00260 80869F10 3C01439B */ lui $at, 0x439B ## $at = 439B0000 -/* 00264 80869F14 44816000 */ mtc1 $at, $f12 ## $f12 = 310.00 -/* 00268 80869F18 10000008 */ beq $zero, $zero, .L80869F3C -/* 0026C 80869F1C 9483014E */ lhu $v1, 0x014E($a0) ## 0000014E -/* 00270 80869F20 46020181 */ sub.s $f6, $f0, $f2 -.L80869F24: -/* 00274 80869F24 C428BB6C */ lwc1 $f8, %lo(D_8086BB6C)($at) -/* 00278 80869F28 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 0027C 80869F2C 44818000 */ mtc1 $at, $f16 ## $f16 = 10.00 -/* 00280 80869F30 46083282 */ mul.s $f10, $f6, $f8 -/* 00284 80869F34 46105300 */ add.s $f12, $f10, $f16 -/* 00288 80869F38 9483014E */ lhu $v1, 0x014E($a0) ## 0000014E -.L80869F3C: -/* 0028C 80869F3C 240A00FF */ addiu $t2, $zero, 0x00FF ## $t2 = 000000FF -/* 00290 80869F40 10600029 */ beq $v1, $zero, .L80869FE8 -/* 00294 80869F44 246EFFFF */ addiu $t6, $v1, 0xFFFF ## $t6 = FFFFFFFF -/* 00298 80869F48 31C3FFFF */ andi $v1, $t6, 0xFFFF ## $v1 = 0000FFFF -/* 0029C 80869F4C 28610008 */ slti $at, $v1, 0x0008 -/* 002A0 80869F50 A48E014E */ sh $t6, 0x014E($a0) ## 0000014E -/* 002A4 80869F54 14200024 */ bne $at, $zero, .L80869FE8 -/* 002A8 80869F58 00601025 */ or $v0, $v1, $zero ## $v0 = 0000FFFF -/* 002AC 80869F5C 244FFFF8 */ addiu $t7, $v0, 0xFFF8 ## $t7 = 0000FFF7 -/* 002B0 80869F60 448F9000 */ mtc1 $t7, $f18 ## $f18 = 0.00 -/* 002B4 80869F64 3C018087 */ lui $at, %hi(D_8086BB70) ## $at = 80870000 -/* 002B8 80869F68 C426BB70 */ lwc1 $f6, %lo(D_8086BB70)($at) -/* 002BC 80869F6C 46809120 */ cvt.s.w $f4, $f18 -/* 002C0 80869F70 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 002C4 80869F74 44814000 */ mtc1 $at, $f8 ## $f8 = 1.00 -/* 002C8 80869F78 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 002CC 80869F7C 44819000 */ mtc1 $at, $f18 ## $f18 = 10.00 -/* 002D0 80869F80 3C014000 */ lui $at, 0x4000 ## $at = 40000000 -/* 002D4 80869F84 46062002 */ mul.s $f0, $f4, $f6 -/* 002D8 80869F88 C4820160 */ lwc1 $f2, 0x0160($a0) ## 00000160 -/* 002DC 80869F8C 000240C0 */ sll $t0, $v0, 3 -/* 002E0 80869F90 01024021 */ addu $t0, $t0, $v0 -/* 002E4 80869F94 00084080 */ sll $t0, $t0, 2 -/* 002E8 80869F98 01024023 */ subu $t0, $t0, $v0 -/* 002EC 80869F9C 2509FEE8 */ addiu $t1, $t0, 0xFEE8 ## $t1 = FFFFFEE8 -/* 002F0 80869FA0 46000002 */ mul.s $f0, $f0, $f0 -/* 002F4 80869FA4 46004281 */ sub.s $f10, $f8, $f0 -/* 002F8 80869FA8 44814000 */ mtc1 $at, $f8 ## $f8 = 2.00 -/* 002FC 80869FAC 3C018087 */ lui $at, %hi(D_8086BB74) ## $at = 80870000 -/* 00300 80869FB0 460C5402 */ mul.s $f16, $f10, $f12 -/* 00304 80869FB4 46024281 */ sub.s $f10, $f8, $f2 -/* 00308 80869FB8 46128100 */ add.s $f4, $f16, $f18 -/* 0030C 80869FBC 4600218D */ trunc.w.s $f6, $f4 -/* 00310 80869FC0 44193000 */ mfc1 $t9, $f6 -/* 00314 80869FC4 00000000 */ nop -/* 00318 80869FC8 A499014C */ sh $t9, 0x014C($a0) ## 0000014C -/* 0031C 80869FCC C430BB74 */ lwc1 $f16, %lo(D_8086BB74)($at) -/* 00320 80869FD0 28410010 */ slti $at, $v0, 0x0010 -/* 00324 80869FD4 46105482 */ mul.s $f18, $f10, $f16 -/* 00328 80869FD8 46121100 */ add.s $f4, $f2, $f18 -/* 0032C 80869FDC 10200002 */ beq $at, $zero, .L80869FE8 -/* 00330 80869FE0 E4840160 */ swc1 $f4, 0x0160($a0) ## 00000160 -/* 00334 80869FE4 A0890150 */ sb $t1, 0x0150($a0) ## 00000150 -.L80869FE8: -/* 00338 80869FE8 28610009 */ slti $at, $v1, 0x0009 -/* 0033C 80869FEC 1420000E */ bne $at, $zero, .L8086A028 -/* 00340 80869FF0 00601025 */ or $v0, $v1, $zero ## $v0 = 0000FFFF -/* 00344 80869FF4 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00348 80869FF8 44813000 */ mtc1 $at, $f6 ## $f6 = 1.00 -/* 0034C 80869FFC C4800164 */ lwc1 $f0, 0x0164($a0) ## 00000164 -/* 00350 8086A000 3C013E80 */ lui $at, 0x3E80 ## $at = 3E800000 -/* 00354 8086A004 4606003C */ c.lt.s $f0, $f6 -/* 00358 8086A008 00000000 */ nop -/* 0035C 8086A00C 45020012 */ bc1fl .L8086A058 -/* 00360 8086A010 28410008 */ slti $at, $v0, 0x0008 -/* 00364 8086A014 44814000 */ mtc1 $at, $f8 ## $f8 = 0.25 -/* 00368 8086A018 9482014E */ lhu $v0, 0x014E($a0) ## 0000014E -/* 0036C 8086A01C 46080280 */ add.s $f10, $f0, $f8 -/* 00370 8086A020 1000000C */ beq $zero, $zero, .L8086A054 -/* 00374 8086A024 E48A0164 */ swc1 $f10, 0x0164($a0) ## 00000164 -.L8086A028: -/* 00378 8086A028 C4800164 */ lwc1 $f0, 0x0164($a0) ## 00000164 -/* 0037C 8086A02C 44808000 */ mtc1 $zero, $f16 ## $f16 = 0.00 -/* 00380 8086A030 3C013E00 */ lui $at, 0x3E00 ## $at = 3E000000 -/* 00384 8086A034 4600803C */ c.lt.s $f16, $f0 -/* 00388 8086A038 00000000 */ nop -/* 0038C 8086A03C 45020006 */ bc1fl .L8086A058 -/* 00390 8086A040 28410008 */ slti $at, $v0, 0x0008 -/* 00394 8086A044 44819000 */ mtc1 $at, $f18 ## $f18 = 0.12 -/* 00398 8086A048 9482014E */ lhu $v0, 0x014E($a0) ## 0000014E -/* 0039C 8086A04C 46120101 */ sub.s $f4, $f0, $f18 -/* 003A0 8086A050 E4840164 */ swc1 $f4, 0x0164($a0) ## 00000164 -.L8086A054: -/* 003A4 8086A054 28410008 */ slti $at, $v0, 0x0008 -.L8086A058: -/* 003A8 8086A058 10200003 */ beq $at, $zero, .L8086A068 -/* 003AC 8086A05C 00000000 */ nop -/* 003B0 8086A060 A0800150 */ sb $zero, 0x0150($a0) ## 00000150 -/* 003B4 8086A064 9482014E */ lhu $v0, 0x014E($a0) ## 0000014E -.L8086A068: -/* 003B8 8086A068 54400004 */ bnel $v0, $zero, .L8086A07C -/* 003BC 8086A06C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 003C0 8086A070 0C00B55C */ jal Actor_Kill - -/* 003C4 8086A074 A48A014E */ sh $t2, 0x014E($a0) ## 0000014E -/* 003C8 8086A078 8FBF0014 */ lw $ra, 0x0014($sp) -.L8086A07C: -/* 003CC 8086A07C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 003D0 8086A080 03E00008 */ jr $ra -/* 003D4 8086A084 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_8086A088.s b/asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_8086A088.s deleted file mode 100644 index 3314640165..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_8086A088.s +++ /dev/null @@ -1,99 +0,0 @@ -glabel func_8086A088 -/* 003D8 8086A088 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 003DC 8086A08C AFBF001C */ sw $ra, 0x001C($sp) -/* 003E0 8086A090 AFB00018 */ sw $s0, 0x0018($sp) -/* 003E4 8086A094 AFA5003C */ sw $a1, 0x003C($sp) -/* 003E8 8086A098 8C820118 */ lw $v0, 0x0118($a0) ## 00000118 -/* 003EC 8086A09C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 003F0 8086A0A0 10400004 */ beq $v0, $zero, .L8086A0B4 -/* 003F4 8086A0A4 00000000 */ nop -/* 003F8 8086A0A8 8C4E0130 */ lw $t6, 0x0130($v0) ## 00000130 -/* 003FC 8086A0AC 55C00006 */ bnel $t6, $zero, .L8086A0C8 -/* 00400 8086A0B0 8C580024 */ lw $t8, 0x0024($v0) ## 00000024 -.L8086A0B4: -/* 00404 8086A0B4 0C00B55C */ jal Actor_Kill - -/* 00408 8086A0B8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0040C 8086A0BC 10000043 */ beq $zero, $zero, .L8086A1CC -/* 00410 8086A0C0 8FBF001C */ lw $ra, 0x001C($sp) -/* 00414 8086A0C4 8C580024 */ lw $t8, 0x0024($v0) ## 00000024 -.L8086A0C8: -/* 00418 8086A0C8 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024 -/* 0041C 8086A0CC 26040154 */ addiu $a0, $s0, 0x0154 ## $a0 = 00000154 -/* 00420 8086A0D0 ACB80000 */ sw $t8, 0x0000($a1) ## 00000024 -/* 00424 8086A0D4 8C4F0028 */ lw $t7, 0x0028($v0) ## 00000028 -/* 00428 8086A0D8 ACAF0004 */ sw $t7, 0x0004($a1) ## 00000028 -/* 0042C 8086A0DC 8C58002C */ lw $t8, 0x002C($v0) ## 0000002C -/* 00430 8086A0E0 ACB80008 */ sw $t8, 0x0008($a1) ## 0000002C -/* 00434 8086A0E4 884800B4 */ lwl $t0, 0x00B4($v0) ## 000000B4 -/* 00438 8086A0E8 984800B7 */ lwr $t0, 0x00B7($v0) ## 000000B7 -/* 0043C 8086A0EC AA0800B4 */ swl $t0, 0x00B4($s0) ## 000000B4 -/* 00440 8086A0F0 BA0800B7 */ swr $t0, 0x00B7($s0) ## 000000B7 -/* 00444 8086A0F4 944800B8 */ lhu $t0, 0x00B8($v0) ## 000000B8 -/* 00448 8086A0F8 A60800B8 */ sh $t0, 0x00B8($s0) ## 000000B8 -/* 0044C 8086A0FC AFA50028 */ sw $a1, 0x0028($sp) -/* 00450 8086A100 AFA40024 */ sw $a0, 0x0024($sp) -/* 00454 8086A104 0C01DFE4 */ jal Math_Vec3f_DistXYZ - -/* 00458 8086A108 AFA20034 */ sw $v0, 0x0034($sp) -/* 0045C 8086A10C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00460 8086A110 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00 -/* 00464 8086A114 3C018087 */ lui $at, %hi(D_8086BB78) ## $at = 80870000 -/* 00468 8086A118 C424BB78 */ lwc1 $f4, %lo(D_8086BB78)($at) -/* 0046C 8086A11C 8FA20034 */ lw $v0, 0x0034($sp) -/* 00470 8086A120 8FA40024 */ lw $a0, 0x0024($sp) -/* 00474 8086A124 46040082 */ mul.s $f2, $f0, $f4 -/* 00478 8086A128 8FA50028 */ lw $a1, 0x0028($sp) -/* 0047C 8086A12C 3C063D4C */ lui $a2, 0x3D4C ## $a2 = 3D4C0000 -/* 00480 8086A130 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3D4CCCCD -/* 00484 8086A134 460C103C */ c.lt.s $f2, $f12 -/* 00488 8086A138 E6020160 */ swc1 $f2, 0x0160($s0) ## 00000160 -/* 0048C 8086A13C 45000002 */ bc1f .L8086A148 -/* 00490 8086A140 00000000 */ nop -/* 00494 8086A144 E60C0160 */ swc1 $f12, 0x0160($s0) ## 00000160 -.L8086A148: -/* 00498 8086A148 0C21A79B */ jal func_80869E6C -/* 0049C 8086A14C AFA20034 */ sw $v0, 0x0034($sp) -/* 004A0 8086A150 8FA20034 */ lw $v0, 0x0034($sp) -/* 004A4 8086A154 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 004A8 8086A158 90490249 */ lbu $t1, 0x0249($v0) ## 00000249 -/* 004AC 8086A15C 312A0001 */ andi $t2, $t1, 0x0001 ## $t2 = 00000000 -/* 004B0 8086A160 5140000D */ beql $t2, $zero, .L8086A198 -/* 004B4 8086A164 904D0248 */ lbu $t5, 0x0248($v0) ## 00000248 -/* 004B8 8086A168 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 004BC 8086A16C 2405183C */ addiu $a1, $zero, 0x183C ## $a1 = 0000183C -/* 004C0 8086A170 3C058087 */ lui $a1, %hi(func_80869EBC) ## $a1 = 80870000 -/* 004C4 8086A174 24A59EBC */ addiu $a1, $a1, %lo(func_80869EBC) ## $a1 = 80869EBC -/* 004C8 8086A178 0C21A72C */ jal func_80869CB0 -/* 004CC 8086A17C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 004D0 8086A180 240B0020 */ addiu $t3, $zero, 0x0020 ## $t3 = 00000020 -/* 004D4 8086A184 240C00FF */ addiu $t4, $zero, 0x00FF ## $t4 = 000000FF -/* 004D8 8086A188 A60B014E */ sh $t3, 0x014E($s0) ## 0000014E -/* 004DC 8086A18C 1000000E */ beq $zero, $zero, .L8086A1C8 -/* 004E0 8086A190 A20C0150 */ sb $t4, 0x0150($s0) ## 00000150 -/* 004E4 8086A194 904D0248 */ lbu $t5, 0x0248($v0) ## 00000248 -.L8086A198: -/* 004E8 8086A198 29A10022 */ slti $at, $t5, 0x0022 -/* 004EC 8086A19C 5020000B */ beql $at, $zero, .L8086A1CC -/* 004F0 8086A1A0 8FBF001C */ lw $ra, 0x001C($sp) -/* 004F4 8086A1A4 92020150 */ lbu $v0, 0x0150($s0) ## 00000150 -/* 004F8 8086A1A8 28410023 */ slti $at, $v0, 0x0023 -/* 004FC 8086A1AC 10200005 */ beq $at, $zero, .L8086A1C4 -/* 00500 8086A1B0 244EFFE7 */ addiu $t6, $v0, 0xFFE7 ## $t6 = FFFFFFE7 -/* 00504 8086A1B4 0C00B55C */ jal Actor_Kill - -/* 00508 8086A1B8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0050C 8086A1BC 10000003 */ beq $zero, $zero, .L8086A1CC -/* 00510 8086A1C0 8FBF001C */ lw $ra, 0x001C($sp) -.L8086A1C4: -/* 00514 8086A1C4 A20E0150 */ sb $t6, 0x0150($s0) ## 00000150 -.L8086A1C8: -/* 00518 8086A1C8 8FBF001C */ lw $ra, 0x001C($sp) -.L8086A1CC: -/* 0051C 8086A1CC 8FB00018 */ lw $s0, 0x0018($sp) -/* 00520 8086A1D0 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 00524 8086A1D4 03E00008 */ jr $ra -/* 00528 8086A1D8 00000000 */ nop - - diff --git a/data/overlays/actors/z_arrow_fire.data.s b/data/overlays/actors/z_arrow_fire.data.s deleted file mode 100644 index e5fcaba2e5..0000000000 --- a/data/overlays/actors/z_arrow_fire.data.s +++ /dev/null @@ -1,38 +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 purposee registers - -.section .data - -glabel D_808666E0 - .word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000102, 0x01000001, 0x00000000, 0x00000000, 0x00010000, 0x00000000, 0x00000001, 0x00000000, 0x00000204, 0x02000101, 0x00000000, 0x00000000, 0x00010101, 0x00000001, 0x00000001, 0x00000000, 0x00000307, 0x03010102, 0x00000000, 0x00000000, 0x01010102, 0x00000002, 0x01010001, 0x00000000, 0x00010509, 0x04010103, 0x01000000, 0x00000000, 0x01020202, 0x00000104, 0x03020101, 0x00000000, 0x0001060C, 0x06010103, 0x01000000, 0x00000000, 0x02020202, 0x00000206, 0x05040101, 0x00000000, 0x0001080F, 0x07010103, 0x01000001, 0x00000000, 0x03030202, 0x00010408, 0x07060201, 0x00000000, 0x00010911, 0x08010103, 0x01000001, 0x00000001, 0x04040303, 0x0101050B, 0x0A080301, 0x00000000, 0x00020B14, 0x0A010103, 0x01000001, 0x00010102, 0x06060403, 0x0203070D, 0x0C0A0401, 0x00000000, 0x00030D17, 0x0B020103, 0x01010001, 0x00010205, 0x09080503, 0x0205090E, 0x0E0D0501, 0x00000000, 0x01050F18, 0x0C020102, 0x01010001, 0x00010408, 0x0D0B0502, 0x03070B0F, 0x0F0F0601, 0x00000000, 0x02081219, 0x0D030102, 0x00010001, 0x0001050B, 0x130F0702, 0x04080B0F, 0x10110801, 0x00000000, 0x030C1419, 0x0E040101, 0x00010001, 0x0001070F, 0x19140A03, 0x05090B0E, 0x10130A02, 0x00000001, 0x05121719, 0x0E040100, 0x00010102, 0x01020A13, 0x1F1A0F06, 0x06090A0C, 0x10150B03, 0x01000001, 0x08181B19, 0x0F050201, 0x01020102, 0x02040D18, 0x2721140A, 0x080A0A0C, 0x11160D04, 0x02020001, 0x0B1E1E19, 0x10070403, 0x02030202, 0x0408111D, 0x2F2A1B0F, 0x0A0B0B0D, 0x12180F06, 0x04040101, 0x0E242119, 0x11090606, 0x04040304, 0x070C1623, 0x38322214, 0x0E0D0E10, 0x141A1108, 0x06060102, 0x112A241A, 0x120B0909, 0x06050507, 0x0B111C29, 0x413B291B, 0x13101216, 0x181B1209, 0x08080304, 0x152F271B, 0x140E0C0C, 0x0907080B, 0x10172230, 0x4A433223, 0x1813161D, 0x1D1E140B, 0x0A0A0608, 0x1A342B1E, 0x17110F0F, 0x0C0B0D11, 0x171F2A38, 0x534C3B2B, 0x1E161C25, 0x2221160D, 0x0B0C0A0E, 0x21393023, 0x1B151211, 0x0F0F1217, 0x1E273240, 0x5C564534, 0x251B242F, 0x2924190F, 0x0E0E0F17, 0x293E372B, 0x21181513, 0x1113181E, 0x26303B48, 0x655F4E3E, 0x2D222D3A, 0x30271C13, 0x11111520, 0x32453F35, 0x281D1714, 0x14181E25, 0x2F3A4551, 0x6F695746, 0x362B3744, 0x372A1F17, 0x15151D2A, 0x3D4D483F, 0x31231A14, 0x171E252E, 0x38444F5B, 0x7974614F, 0x4036404C, 0x3C2D231D, 0x1A1A2637, 0x4957524A, 0x3A2A1D15, 0x1A252E37, 0x43505B66, 0x837F6C59, 0x4A414750, 0x3F2E2723, 0x21213245, 0x57625D54, 0x43312216, 0x1F2D3741, 0x4D5B6671, 0x8E8B7662, 0x544B4D51, 0x3F302C2C, 0x2B2D4054, 0x656D675E, 0x4C3A281A, 0x2536414B, 0x5867717B, 0x9896816C, 0x5E545150, 0x3F323337, 0x383C5063, 0x71777168, 0x56432F21, 0x2C3F4B56, 0x63727C86, 0xA2A08B76, 0x685D5651, 0x3F343A43, 0x484D5F70, 0x7D827B71, 0x5F4C3829, 0x34465462, 0x6F7C8690, 0xACA99581, 0x72655B53, 0x42394450, 0x585E6D7C, 0x878C8479, 0x68574334, 0x3D4E5E6E, 0x7B88919A, 0xB4B09E8C, 0x7C6E6155, 0x46414F5F, 0x676E7B87, 0x92958C80, 0x71625041, 0x4857697A, 0x86929BA3, 0xBBB7A796, 0x86776658, 0x4D4B5C6E, 0x777D8791, 0x9C9F9487, 0x7A6D5C4F, 0x54617486, 0x919CA4AB, 0xC2BBAFA1, 0x907F6C5D, 0x55576A7E, 0x8589929A, 0xA5A99D90, 0x8478695E, 0x5F697F93, 0x9DA6ACB2, 0xC8BFB6AC, 0x9A877465, 0x6064788D, 0x92949BA1, 0xADB2A89C, 0x8F83766C, 0x6A718AA1, 0xA9AFB2B8, 0xCEC3BDB6, 0xA4907E70, 0x6C72879B, 0x9C9CA2A8, 0xB5BBB3A9, 0x9B8E8279, 0x737693AE, 0xB4B6B9BE, 0xD5C9C5BF, 0xAF9C8B7E, 0x7A8094A5, 0xA4A0A7B0, 0xBDC5C0B7, 0xA8998E85, 0x7B7B9AB7, 0xBDBEC0C5, 0xDBCFCCC8, 0xBAA9998E, 0x898E9FAD, 0xA8A1ACB8, 0xC6CECCC5, 0xB6A4988F, 0x8381A0BE, 0xC4C6C8CD, 0xE0D4D3D1, 0xC5B7A89D, 0x989CA8B3, 0xABA2B0C0, 0xCED8D8D2, 0xC2AEA298, 0x8C89A6C3, 0xCACED1D5, 0xE5DBDAD8, 0xD0C4B6AB, 0xA6A8B1B8, 0xAEA4B5C7, 0xD6E0E3DE, 0xCDB7ABA2, 0x9590ACC9, 0xD0D5D9DC, 0xEBE1E0DE, 0xDAD1C4B9, 0xB2B2B8BC, 0xB1A7B9CE, 0xDEE8ECE8, 0xD6BDB3AC, 0x9E98B3CE, 0xD6DBE0E3, 0xF0E9E6E3, 0xE3DDD2C6, 0xBCBABEC0, 0xB4AABED5, 0xE5EFF3F0, 0xDDC2BBB6, 0xA79FB9D4, 0xDCE2E7E9, 0xF5F0ECE7, 0xEAE8DED2, 0xC6C1C2C3, 0xB7ADC4DD, 0xEBF3F8F5, 0xE1C6C2C1, 0xB1A7BFD8, 0xE1E7EDF0, 0xF9F5F1EB, 0xF0F0E9DD, 0xCFC7C7C6, 0xBBB1CBE5, 0xF0F5FBF7, 0xE3CACACC, 0xBBB0C5DC, 0xE5ECF4F6, 0xFCF9F5EE, 0xF5F7F0E7, 0xD7CDCCCB, 0xBFB7D2EB, 0xF4F7FBF6, 0xE4CDD2D6, 0xC6B9CBE0, 0xE9F1F9FB, 0xFDFCF8F2, 0xF9FAF6EE, 0xDFD5D3D0, 0xC5BDD9F0, 0xF7F9FBF4, 0xE5D0D9E0, 0xD1C2D2E4, 0xEDF5FCFE, 0xFEFDFAF4, 0xFBFCF9F3, 0xE6DDDAD7, 0xCBC3DEF4, 0xFAFBFCF3, 0xE5D3DEE8, 0xDBCDDAE9, 0xF2F8FEFF, 0xFEFDFCF6, 0xFCFDFCF7, 0xECE4E2DF, 0xD2C9E3F7, 0xFCFDFBF3, 0xE5D6E4EF, 0xE3D6E1EE, 0xF6FAFEFF, 0xFEFDFDF8, 0xFCFDFDFA, 0xF1EAE9E7, 0xD9CFE7F9, 0xFEFEFBF3, 0xE7DBE9F4, 0xEBDFE8F3, 0xF9FCFFFF, 0xFEFDFDFA, 0xFDFDFEFC, 0xF5EFEFEE, 0xE0D5ECFB, 0xFFFEFBF3, 0xE9E1EEF8, 0xF0E6EEF6, 0xFCFDFFFF, 0xFEFDFEFC, 0xFEFDFEFE, 0xF8F4F4F3, 0xE7DDF1FD, 0xFFFEFBF3, 0xECE7F3FC, 0xF5ECF2F9, 0xFDFEFFFF, 0xFEFDFFFE, 0xFFFDFEFE, 0xFAF7F8F7, 0xEDE5F5FE, 0xFFFEFBF5, 0xF0EDF7FD, 0xF9F1F5FA, 0xFEFFFFFF, 0xFEFDFFFF, 0xFFFEFEFF, 0xFCFAFAFA, 0xF2ECF8FE, 0xFFFEFCF7, 0xF4F3FAFE, 0xFBF6F8FB, 0xFEFFFFFF, 0xFEFDFFFF, 0xFFFEFEFF, 0xFDFCFCFC, 0xF7F2FBFF, 0xFFFEFCFA, 0xF8F7FCFF, 0xFEFAFBFC, 0xFFFFFFFF, 0xFEFEFFFF, 0xFFFFFFFF, 0xFEFDFEFD, 0xFAF7FCFF, 0xFFFEFDFC, 0xFCFBFDFF, 0xFFFDFDFD, 0xFFFFFFFF, 0xFFFEFFFF, 0xFFFFFFFF, 0xFFFEFEFE, 0xFCFAFDFF, 0xFFFEFEFE, 0xFEFDFEFF, 0xFFFFFEFD, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFDFCFEFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFEFEFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF -glabel D_80866EE0 - .word 0x2F3E56AB, 0xA4582102, 0x10417AB0, 0x805C312A, 0x32376DD4, 0xA2633907, 0x0B387DA2, 0x6D81470C, 0x3C5C60AC, 0xA5571801, 0x154C97B9, 0x68533236, 0x304276D6, 0x9B533108, 0x154A96B7, 0x7C9B400B, 0x3E756FAE, 0xAF5D1301, 0x1D59B4BF, 0x53432C38, 0x2F487DCC, 0x8A4A2406, 0x1F5DB0C8, 0x90B55110, 0x408B7FAA, 0xB76D1503, 0x286ACCBE, 0x43312030, 0x2B4C82BA, 0x77431607, 0x2B70C7D5, 0xA6B95B13, 0x409C93A6, 0xB87D1D08, 0x367FE1C1, 0x3C261629, 0x2A508AAB, 0x69410C0C, 0x3986DDDB, 0xB5AE6316, 0x40A0A7A1, 0xAA7D2610, 0x4596F1CD, 0x47281E36, 0x365C97A3, 0x63450713, 0x499DF0D8, 0xB49E721A, 0x409AB59F, 0x8A662D1C, 0x57AEFBDF, 0x6B404456, 0x536EA49B, 0x6A4D061E, 0x5CB6FCC6, 0x9A8E7F20, 0x428EBEA0, 0x623F2E2A, 0x69C6FFF0, 0x9A686569, 0x6F83AC92, 0x7F5D0B2A, 0x70CDFFB2, 0x77848D29, 0x4787C4A0, 0x401D2E3E, 0x7ED9FFFC, 0xC48F7973, 0x8598AE86, 0x9A701339, 0x85E1FFA6, 0x5E859534, 0x5189C99B, 0x2C0B3455, 0x92E9FFFA, 0xDCAB8071, 0x94ACAD7A, 0xB1882249, 0x9AF1FFB0, 0x6A8F9746, 0x6394CD8D, 0x290C416F, 0xA5EEFFF4, 0xDCB46B6D, 0xA1BFAD77, 0xB6A43A58, 0xAAF8FFC8, 0x84959963, 0x7BA4CE78, 0x351A588E, 0xB5E3F9F1, 0xCFAC6077, 0xABCFAC77, 0xA8C05A6A, 0xB2F3FFE1, 0xA3959471, 0x94B9D065, 0x473274A9, 0xBDCDECEF, 0xC2A05F86, 0xBADDAC78, 0x92D87C7D, 0xAFDEFDF1, 0xBC8C8971, 0xA6D2D45A, 0x584B95BB, 0xC1B3D5ED, 0xB8956697, 0xC5E9A670, 0x7AE6978F, 0xA4BEF0EF, 0xB9797360, 0xB1E8DD5D, 0x5D5FAFC7, 0xC49CB8E3, 0xAF8C78A5, 0xCBF19D5F, 0x6AE5A6A3, 0x9398DBE7, 0xB46A5841, 0xB8F2E871, 0x586DC1CD, 0xC78C9DD5, 0xAA878CB1, 0xD8F89249, 0x63DCABB3, 0x8576C5D8, 0xA95E4430, 0xC0EBEE91, 0x5378CACE, 0xC58087C5, 0xA4859EAE, 0xE1FD8A36, 0x60D0ACBD, 0x7765B9C5, 0x9C563A2B, 0xCED7E7B4, 0x5484C7CC, 0xB66F7CBB, 0x9F81A898, 0xE3FF8D2E, 0x63C8B0BA, 0x6D69B8B0, 0x93573B2E, 0xE0C2CED2, 0x6898C0C3, 0x97587EBC, 0x9D749570, 0xDEFF9D36, 0x67C8B4A8, 0x6682BD9B, 0x93643E37, 0xF0B4A8DE, 0x86A9B6B0, 0x70448BBE, 0x99617545, 0xD1FFB84E, 0x70CAB48C, 0x64A4BD8D, 0x96763D41, 0xFAAC82DA, 0xA7B6AE9A, 0x4D359AC0, 0x90494F27, 0xC0FFD675, 0x80CCAD6D, 0x63C1B681, 0x9C85374E, 0xFFA069C9, 0xC1BAA785, 0x3936A4B6, 0x7D342E18, 0xA9FFEEA5, 0x9AC59F56, 0x60D0A873, 0x9288315E, 0xFB8669B6, 0xD0B6A473, 0x3C47A39A, 0x6228241B, 0x8BFFF6CD, 0xB7BB8F47, 0x57CFA169, 0x77782C6B, 0xE56478AA, 0xD6AC9E64, 0x4E61977C, 0x4B232428, 0x6FFFEBE5, 0xD0AF813C, 0x44C2A266, 0x5B61296E, 0xC04188A8, 0xD4A09051, 0x5D788B61, 0x3E202234, 0x58F9D7DF, 0xDEA27332, 0x31AE9A6C, 0x3E4B2F62, 0x902688B3, 0xD0937A3F, 0x5D7D8B58, 0x37241F35, 0x46F2C5BF, 0xD7956528, 0x1E918E76, 0x3442424A, 0x601774C3, 0xCB8F6630, 0x48698261, 0x333C2729, 0x3CECBF95, 0xC2885420, 0x11717B78, 0x4952673A, 0x3D1153CD, 0xC994602F, 0x2D496F6D, 0x31674418, 0x32E7CA6C, 0xA77D4318, 0x09526672, 0x6B6F963E, 0x2B1036D0, 0xCAA26E3C, 0x1B2A5A7B, 0x3798700F, 0x2BDFD94D, 0x8C773712, 0x043C606C, 0x9086B955, 0x281225C9, 0xC7AD8954, 0x141B4085, 0x53CB9C10, 0x26D3E63A, 0x757A3B11, 0x0131666F, 0xAB87BA6A, 0x2E151FBF, 0xC1AEA16A, 0x1721388C, 0x81ECBB17, 0x23C1EE30, 0x6688561E, 0x02317381, 0xA36A9566, 0x3B171FB9, 0xB5A5AF7A, 0x1B384395, 0xABFBC81D, 0x20AAEB28, 0x61987838, 0x05358299, 0x85405D4E, 0x45181FB5, 0xA695B083, 0x1C55569C, 0xCEFFCF1E, 0x1A8CDA24, 0x62A39755, 0x0A398FAE, 0x601A2A2C, 0x49161FB1, 0x9A8BAC8A, 0x23736DA0, 0xE0FFD61E, 0x136BAF23, 0x70ABAD6D, 0x143D95BD, 0x41030D16, 0x41151DAA, 0x938BAA94, 0x2E8A8BA7, 0xE6FFD921, 0x0C4A7D2D, 0x7CACAB70, 0x244093C3, 0x38020F11, 0x2F151CA3, 0x9293ABA1, 0x3995AAB7, 0xEDF7D924, 0x072F5842, 0x83AE9C66, 0x3F498EC7, 0x420D2812, 0x1E151F9B, 0x989CB0B2, 0x4697C5CE, 0xF5F0D626, 0x061B435B, 0x85B18A5B, 0x5F568BCD, 0x54245213, 0x12172593, 0x9FA1BAC0, 0x5291D4E1, 0xFAF0D123, 0x0711416F, 0x82B2765B, 0x84668FCB, 0x684D8212, 0x1318308A, 0xA3A2C2C6, 0x5F88D3EE, 0xFEF6C81B, 0x0B104276, 0x85B06A72, 0xA97896C3, 0x7C81AC19, 0x24194083, 0xA2A0C6C4, 0x6A82CCF1, 0xFFFFB910, 0x14173E77, 0x8BAE6992, 0xC6879BB4, 0x92B3C933, 0x3C1D4F7D, 0x9DA2CCBE, 0x7381C6E6, 0xFFFFB111, 0x26233975, 0x92AF6DAF, 0xDB949AA3, 0xADDBDD64, 0x5927597B, 0x99AAD4B9, 0x7687C6D5, 0xFCFFB736, 0x432D3A78, 0x98B371BD, 0xE5A0989E, 0xCCF2EAA0, 0x753C5C80, 0x9DB9E3BC, 0x7896CFBF, 0xF6FFCB72, 0x64323F81, 0x9CBC70B4, 0xE3AC9EAD, 0xE6FBF6CF, 0x8B5C5C85, 0xA7C8F4C2, 0x7AA6D9A3, 0xF0FFE2A9, 0x8032448D, 0xA4C970A0, 0xDBB5AAC6, 0xF7FEFDE7, 0xA3806187, 0xB0D6FFC9, 0x7FB5D686, 0xE7FFF0D2, 0x8D2F4E98, 0xABD7768D, 0xCFB9B4E1, 0xF8F8FFE7, 0xB29B7089, 0xB7E4FFCD, 0x8CB8BF65, 0xD5FFF0D7, 0x8D34609D, 0xB4E48385, 0xC3BAB0F1, 0xE2E8FEDC, 0xB5A07A8D, 0xBDEFFFD0, 0x9AAB9543, 0xB9FFE9C3, 0x80447497, 0xC0EF9C90, 0xBDB997E5, 0xC2CCFBD4, 0xAB8F7387, 0xC8F8FFD4, 0xA4936324, 0x98FFE5B3, 0x6F577E8A, 0xCEFABCA8, 0xC0BC71C7, 0x9EADF4D2, 0x916D5D7B, 0xD4FEFFD6, 0xA575390F, 0x76FFE4A6, 0x656A7F7D, 0xDDFFDABF, 0xC8BF4CA1, 0x8095E8CC, 0x744A3B66, 0xDAFFFFD6, 0x9D5B1E04, 0x5DFDDF9A, 0x6075787A, 0xECFFF1CD, 0xCEC42E7C, 0x7087D6BF, 0x5A311F49, 0xD4FFFFD0, 0x8E4B1100, 0x50F7D892, 0x68767788, 0xF6FFFDCE, 0xCDC31E65, 0x6E88C3A8, 0x4922153A, 0xC3FFFDC4, 0x7F410B03, 0x4BEED08B, 0x747682A0, 0xFDFFFEBF, 0xBCB61456, 0x7792B18B, 0x3E19153D, 0xB5FFF8B2, 0x733B0908, 0x4DE0C487, 0x827797BC, 0xFFFFF8AB, 0x9E9B0E50, 0x869E9F6E, 0x3714184D, 0xB5FFF09E, 0x67380C11, 0x56CFB285, 0x8F7EADD4, 0xFFFFED96, 0x78730A53, 0x9CA98F57, 0x310F1C69, 0xC8FFE18A, 0x5D35161D, 0x64BC9E84, 0x978BBFE7, 0xFFFFDD81, 0x5348075A, 0xB5B07F48, 0x290A2088, 0xE1FFCF75, 0x5335272B, 0x74AD877F, 0x9C9DCFF3, 0xFFFEC86E, 0x35260864, 0xC6B16F3E, 0x200422A6, 0xF8FCB95F, 0x47373A3C, 0x86A36F73, 0x9FB0D9FA, 0xFFF7B15B, 0x21110E70, 0xCDAB6139, 0x160027C1, 0xFFF09F4C, 0x3B3A4B4D, 0x989D5B5D, 0x9DB5D9FE, 0xFFEA994C, 0x1509177B, 0xC8A15C3C, 0x0E022BD1, 0xFFE1873B, 0x2F3E5460, 0xA8954F44, 0x96A6CEFF, 0xFFD7823C, 0x0C0A2784, 0xB9956343, 0x0B0731DB, 0xFFCE722C, 0x22415672, 0xB58C4A31, 0x8A88BAFF, 0xFAC56E2E, 0x060F398F, 0xA989764A, 0x0A0C3AE1, 0xFFB85F20, 0x17425787, 0xBF824826, 0x775FA3FF, 0xF1B66121, 0x03164B98, 0x9A818E4A, 0x0A1040D4, 0xE8974D14, 0x11405495, 0xBB74401F, 0x603D86F1, 0xD7A35414, 0x02195694, 0x8476943E, 0x171A46C5, 0xCC7D3D0C, 0x0D3E599E, 0xAE6C371C, 0x4A2D72E3, 0xC38F4C0E, 0x03205F96, 0x766A792A, 0x242B4FB8, 0xB66A2E06, 0x0D3E66AA, 0x9B663322, 0x3B2D6CDD, 0xB47B450A, 0x062B6E9C, 0x6E705D17 -glabel D_808676E0 - .word 0x00420271, 0xFFBE0000, 0x060006C2, 0x3E52C2FF, 0x000002BC, 0x00000000, 0x07000800, 0x007800FF, 0x005D0271, 0x00000000, 0x080006C2, 0x575200FF, 0x00BD01DB, 0xFFB20000, 0x07000419, 0x5E3FD9FF, 0x00BD01DB, 0x004E0000, 0x09000419, 0x5E3F27FF, 0x01AF001B, 0x00000000, 0x08000005, 0x6B3500FF, 0x0131001B, 0x01310000, 0x0A000005, 0x4C354CFF, 0x000002BC, 0x00000000, 0x09000800, 0x007800FF, 0x00420271, 0x00420000, 0x0A0006C2, 0x3E523EFF, 0x004E01DB, 0x00BD0000, 0x0B000419, 0x273F5EFF, 0x0000001B, 0x01AF0000, 0x0C000005, 0x00356BFF, 0x000002BC, 0x00000000, 0x0B000800, 0x007800FF, 0x00000271, 0x005D0000, 0x0C0006C2, 0x005257FF, 0xFFB201DB, 0x00BD0000, 0x0D000419, 0xD93F5EFF, 0xFECF001B, 0x01310000, 0x0E000005, 0xB4354CFF, 0x000002BC, 0x00000000, 0x0D000800, 0x007800FF, 0xFFBE0271, 0x00420000, 0x0E0006C2, 0xC2523EFF, 0xFF4301DB, 0x004E0000, 0x0F000419, 0xA23F27FF, 0xFE51001B, 0x00000000, 0x10000005, 0x953500FF, 0xFFA30271, 0x00000000, 0x100006C2, 0xA95200FF, 0xFF4301DB, 0xFFB20000, 0x11000419, 0xA23FD9FF, 0xFE51001B, 0x00000000, 0x00000005, 0x953500FF, 0xFF4301DB, 0xFFB20000, 0x01000419, 0xA23FD9FF, 0xFECF001B, 0xFECF0000, 0x02000005, 0xB435B4FF, 0xFFA30271, 0x00000000, 0x000006C2, 0xA95200FF, 0x000002BC, 0x00000000, 0x01000800, 0x007800FF, 0xFFBE0271, 0xFFBE0000, 0x020006C2, 0xC252C2FF, 0xFFB201DB, 0xFF430000, 0x03000419, 0xD93FA2FF, 0x0000001B, 0xFE510000, 0x04000005, 0x003595FF, 0x000002BC, 0x00000000, 0x03000800, 0x007800FF, 0x00000271, 0xFFA30000, 0x040006C2, 0x0052A9FF, 0x004E01DB, 0xFF430000, 0x05000419, 0x273FA2FF -glabel D_808678E0 - .word 0x0000001B, 0xFE510000, 0x04000005, 0x003595FF, 0x004E01DB, 0xFF430000, 0x05000419, 0x273FA2FF, 0x0131001B, 0xFECF0000, 0x06000005, 0x4C35B4FF, 0x00000271, 0xFFA30000, 0x040006C2, 0x0052A9FF, 0x000002BC, 0x00000000, 0x05000800, 0x007800FF, 0x00420271, 0xFFBE0000, 0x060006C2, 0x3E52C2FF, 0x00BD01DB, 0xFFB20000, 0x07000419, 0x5E3FD9FF, 0x01AF001B, 0x00000000, 0x08000005, 0x6B3500FF, 0xFFBE0271, 0x00420000, 0x060006C2, 0xC2523EFF, 0x000002BC, 0x00000000, 0x07000800, 0x007800FF, 0xFFA30271, 0x00000000, 0x080006C2, 0xA95200FF -glabel D_80867990 - .word 0xE7000000, 0x00000000, 0xE3001001, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xFD900000 -.word D_808666E0 -.word 0xF5900000, 0x0705BC51, 0xE6000000, 0x00000000, 0xF3000000, 0x073FF200, 0xE7000000, 0x00000000, 0xF5880800, 0x0005BC51, 0xF2000000, 0x0007C0FC, 0xFD900000 -.word D_80866EE0 -.word 0xF5900100, 0x07058051, 0xE6000000, 0x00000000, 0xF3000000, 0x073FF200, 0xE7000000, 0x00000000, 0xF5880900, 0x01058051, 0xF2000000, 0x0107C0FC, 0xFC262A60, 0x350CE37F, 0xE200001C, 0x0C184B50, 0xD9F2FBFF, 0x00000000, 0xD9FFFFFF, 0x00020000, 0xDF000000, 0x00000000 -glabel D_80867A40 - .word 0x01020040 -.word D_808676E0 -.word 0x06000204, 0x00000406, 0x06060408, 0x0006080A, 0x060A080C, 0x00040E10, 0x06041008, 0x00081012, 0x0608120C, 0x000C1214, 0x06101618, 0x00101812, 0x0612181A, 0x00121A14, 0x06141A1C, 0x00181E20, 0x0618201A, 0x001A2022, 0x061A221C, 0x001C2224, 0x06202622, 0x00222628, 0x06222824, 0x002A2C2E, 0x06303234, 0x0030342C, 0x062C3436, 0x002C362E, 0x062E3638, 0x00343A3C, 0x06343C36, 0x00363C3E, 0x05363E38, 0x00000000, 0x0100B016 -.word D_808678E0 -.word 0x06000204, 0x0006080A, 0x06060A02, 0x00020A0C, 0x06020C04, 0x00040C0E, 0x05101214, 0x00000000, 0xDF000000, 0x00000000 -glabel Arrow_Fire_InitVars - .word 0x010A0700, 0x02000010, 0x00010000, 0x0000016C -.word ArrowFire_Init -.word ArrowFire_Destroy -.word ArrowFire_Update -.word ArrowFire_Draw -glabel D_80867B20 - .word 0x30F407D0, 0x00000000, 0x00000000, 0x00000000 - diff --git a/data/overlays/actors/z_arrow_fire.reloc.s b/data/overlays/actors/z_arrow_fire.reloc.s deleted file mode 100644 index a067183f5f..0000000000 --- a/data/overlays/actors/z_arrow_fire.reloc.s +++ /dev/null @@ -1,11 +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 purposee registers - -.section .rodata -glabel D_80867BD0 - -.incbin "baserom/ovl_Arrow_Fire", 0x1EC0, 0x00000100 diff --git a/data/overlays/actors/z_arrow_fire.rodata.s b/data/overlays/actors/z_arrow_fire.rodata.s deleted file mode 100644 index 03855e9754..0000000000 --- a/data/overlays/actors/z_arrow_fire.rodata.s +++ /dev/null @@ -1,53 +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 purposee registers - -.section .rodata - -glabel D_80867B30 - .asciz "../z_arrow_fire.c" - .balign 4 - -glabel D_80867B44 - .word 0x22BEC3CC, 0xC722203D, 0x2025730A, 0x00000000 -glabel D_80867B54 - .word 0xBEC3CCC7, 0x00000000 -glabel D_80867B5C - .asciz "../z_arrow_fire.c" - .balign 4 - -glabel D_80867B70 - .asciz "../z_arrow_fire.c" - .balign 4 - -glabel D_80867B84 - .asciz "../z_arrow_fire.c" - .balign 4 - -glabel D_80867B98 - .word 0x446D8000 -glabel D_80867B9C - .word 0x3EAAAAAB -glabel D_80867BA0 - .word 0x3D2AAAAB -glabel D_80867BA4 - .word 0x3DCCCCCD -glabel D_80867BA8 - .word 0x3D2AAAAB -glabel D_80867BAC - .word 0x38C90FDB -glabel D_80867BB0 - .word 0x38C90FDB -glabel D_80867BB4 - .word 0x38C90FDB -glabel D_80867BB8 - .word 0x3C23D70A -glabel D_80867BBC - .word 0x44BB8000 -glabel D_80867BC0 - .word 0x3E4CCCCD, 0x00000000, 0x00000000, 0x00000000 - - diff --git a/data/overlays/actors/z_arrow_ice.data.s b/data/overlays/actors/z_arrow_ice.data.s deleted file mode 100644 index 1da332a935..0000000000 --- a/data/overlays/actors/z_arrow_ice.data.s +++ /dev/null @@ -1,38 +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 purposee registers - -.section .data - -glabel D_808686C0 - .word 0x00061507, 0x00000000, 0x295A2B08, 0x10030F03, 0x0D070006, 0x00031625, 0x3F230012, 0x79590000, 0x00102C2A, 0x254A1B0E, 0xAFF66600, 0x00467E29, 0x08020000, 0x03383E0B, 0x0501000A, 0x31211C05, 0x00031C27, 0x4CA92F13, 0xB2EF5500, 0x057EBF37, 0x00000000, 0x0E493F13, 0x00000002, 0x335C3E03, 0x00000E07, 0x3C761200, 0x447E2200, 0x00426710, 0x00000000, 0x071C2208, 0x00000168, 0xE18F0F00, 0x00060E00, 0x0A100000, 0x0514022D, 0x1B020400, 0x00000000, 0x093A3F0A, 0x050010AE, 0xDA360000, 0x00070500, 0x00000000, 0x00001461, 0x3E050024, 0x24000000, 0x184E3755, 0x9132043C, 0x2F000000, 0x12020A54, 0x3C000200, 0x00000F3E, 0x2B041159, 0x2C000000, 0x030B22CE, 0xF9420000, 0x00000301, 0x371160EF, 0xAC6D2B00, 0x00000008, 0x05000D27, 0x06000000, 0x00001A91, 0x760B0000, 0x000B030A, 0x747DB0BD, 0xBDA31D00, 0x00000000, 0x00000000, 0x00000511, 0x01000209, 0x03020015, 0x583A0010, 0xC1E0892D, 0x532D0000, 0x03160600, 0x00050001, 0x15142E4E, 0x07000500, 0x100D004C, 0xB65C001B, 0xB2DF9417, 0x00000020, 0x57420400, 0x45882F00, 0x18093B3E, 0x01182F0D, 0x1405003F, 0xB75B001E, 0x5DC2E14F, 0x00000161, 0xBC4A005A, 0xECF84A00, 0x0011330F, 0x0044591C, 0x01001C7C, 0xB122001F, 0x5DE4FF71, 0x00000177, 0xBA3218D9, 0xFFC41700, 0x1E7B5A1C, 0x2B769635, 0x0044D5FA, 0x9E000530, 0xC7FFCE35, 0x00000035, 0x663441CF, 0xC9380000, 0x3D733C28, 0x3E709726, 0x0086FAF1, 0x9B170D4C, 0xC9812700, 0x000E1A02, 0x4C642544, 0x2B000000, 0x0D0E0508, 0x0A252F03, 0x00335297, 0xC75B014E, 0x77470600, 0x00160F00, 0x3A350016, 0x29070000, 0x0C3A3911, 0x00000003, 0x0100004B, 0x8F4B051C, 0x7F6C1C00, 0x00000000, 0x00000437, 0x2E030001, 0x2A6E6B2C, 0x0604000E, 0x0B000004, 0x19350814, 0x3E63813D, 0x13000000, 0x00000117, 0x06000000, 0x14362911, 0x312E021F, 0x13000000, 0x010C000C, 0x10B9EF72, 0x2D010000, 0x040C0C10, 0x02000000, 0x33410306, 0x3B30071D, 0x07000000, 0x00000000, 0x1BC2A129, 0x0D000000, 0x050E1112, 0x0100002E, 0xD2C22E00, 0x21593403, 0x00000000, 0x01010000, 0x0E451B00, 0x00000000, 0x0000060D, 0x00000061, 0xFFEA2E00, 0x3DA04200, 0x00000000, 0x06140B00, 0x00040200, 0x00000000, 0x00061B0C, 0x00000037, 0x8D620500, 0x2A8F5801, 0x00000000, 0x082E3404, 0x00000000, 0x00000003, 0x0A201B02, 0x00000000, 0x06000000, 0x11826503, 0x00060400, 0x07303402, 0x07010007, 0x2F1E0B0A, 0x09080000, 0x03000000, 0x00000000, 0x07452500, 0x0E361100, 0x000B0A00, 0x06000018, 0x3E170600, 0x00060F0D, 0x3E190000, 0x00000000, 0x00000000, 0x21360700, 0x00000000, 0x00000007, 0x09000000, 0x0A857124, 0x703C0000, 0x01000000, 0x00000000, 0x08050000, 0x00000000, 0x00000000, 0x00000000, 0x32D97112, 0x4A1B0001, 0x02050000, 0x00000000, 0x021A0A00, 0x00000613, 0x07000000, 0x00000000, 0x1E5D1700, 0x04000000, 0x37550400, 0x00000000, 0x14300600, 0x00003E5B, 0x08000000, 0x00000000, 0x2F2F0000, 0x00000007, 0x90840300, 0x0F070000, 0x06070000, 0x00055A62, 0x00000000, 0x00000020, 0xA77B0700, 0x0106000F, 0x612D0006, 0x1B030000, 0x00000001, 0x0000211A, 0x00000000, 0x0000002E, 0x944A0103, 0x3B390200, 0x04000011, 0x14000005, 0x302F0D10, 0x01000000, 0x00000000, 0x00000009, 0x10000015, 0x5D290000, 0x00000015, 0x09000027, 0x73510F09, 0x37410700, 0x00061408, 0x00000000, 0x25582D09, 0x12020E03, 0x0C070007, 0x00031627, 0x41240011, 0x795B0000, 0x00102D29, 0x244B1C0D, 0xB0F76600, 0x00467C28, 0x08020000, 0x02383E0B, 0x0401000A, 0x32231C04, 0x00031B28, 0x4CA83112, 0xB2EF5500, 0x057EBE38, 0x00000000, 0x0D493D13, 0x00000002, 0x325C3F03, 0x00000E08, 0x3D761200, 0x457F2200, 0x0043660F, 0x00000000, 0x071D2208, 0x00000168, 0xE1901000, 0x00070E00, 0x09110000, 0x0515022D, 0x1B020400, 0x00000000, 0x093B3E09, 0x050011AE, 0xD9370000, 0x00070500, 0x00000000, 0x00001462, 0x3E050024, 0x25000000, 0x184E3554, 0x9431043C, 0x2E000000, 0x12010955, 0x3C000300, 0x0000103E, 0x2B04115A, 0x2D000000, 0x030B22CE, 0xF9420000, 0x00000301, 0x361161EF, 0xAC6B2B00, 0x00000008, 0x05000D27, 0x07000000, 0x00001A8F, 0x760B0000, 0x000B030A, 0x727DB1BD, 0xBCA21C00, 0x00000000, 0x00000000, 0x00000610, 0x00000208, 0x03030016, 0x57390010, 0xC1E1892E, 0x522C0000, 0x03160600, 0x00060001, 0x14142F4E, 0x07000500, 0x100E004B, 0xB55C001B, 0xB0DD9416, 0x0000001F, 0x57430500, 0x468A3000, 0x16093B3E, 0x01192F0D, 0x1405003E, 0xB65B001D, 0x5CC1E04E, 0x0000005E, 0xBC4B0058, 0xEBFA4B00, 0x0011340E, 0x0045591C, 0x02001C7C, 0xB223001E, 0x5CE5FF71, 0x00000176, 0xB93216D8, 0xFFC21700, 0x1D7B5B1C, 0x2B759636, 0x0041D4FC, 0x9D000530, 0xC7FFCE36, 0x00000036, 0x663540CE, 0xC6360000, 0x3C743E29, 0x3E719827, 0x0085FAF0, 0x9B160D4E, 0xC9812600, 0x000F1A03, 0x4B642646, 0x2B000000, 0x0D0E0608, 0x0A253002, 0x00345299, 0xC85B014E, 0x75470600, 0x00160F00, 0x39350015, 0x29070000, 0x0C3A3911, 0x00000003, 0x0100004B, 0x914B051E, 0x7D6C1C01, 0x00000000, 0x00000437, 0x2E030001, 0x2A6F6A2A, 0x0604000E, 0x0B000003, 0x1A350814, 0x3E63813E, 0x13000000, 0x00000118, 0x07000000, 0x13382911, 0x302E0320, 0x14000000, 0x010D000C, 0x0FB9EE73, 0x2F000000, 0x040B0C11, 0x02000000, 0x36440307, 0x3B30071D, 0x07000000, 0x00000000, 0x1ABF9F29, 0x0E000000, 0x050F1112, 0x0100002D, 0xD3C42B00, 0x22593404, 0x00000000, 0x01010000, 0x0E451B00, 0x00000000, 0x0000070C, 0x00000061, 0xFFED2F00, 0x3EA04300, 0x00000000, 0x05140B00, 0x00030200, 0x00000000, 0x00061C0B, 0x00000037, 0x8F640500, 0x2A8F5901, 0x00000000, 0x082D3504, 0x00000000, 0x00010003, 0x0A201B02, 0x00000000, 0x07000000, 0x11826503, 0x00050400, 0x072F3503, 0x07010007, 0x2F1E0C0B, 0x09080000, 0x03000000, 0x00000000, 0x07462500, 0x0E361100, 0x000B0900, 0x04000018, 0x3E160600, 0x00060F0B, 0x3D190000, 0x00000000, 0x00000000, 0x21370600, 0x00000000, 0x00000007, 0x09000000, 0x0B866F22, 0x713C0000, 0x02000000, 0x00000000, 0x08060000, 0x00000000, 0x00000000, 0x00000000, 0x30D76F12, 0x4B1A0001, 0x02050000, 0x00000000, 0x021A0A00, 0x00000714, 0x08000000, 0x00000000, 0x1E5C1700, 0x03000000, 0x36560400, 0x00000000, 0x15300600, 0x00003F5D, 0x07000000, 0x00000000, 0x2E2F0000, 0x00000008, 0x8F840300, 0x0F060000, 0x06070000, 0x00065B61, 0x00000000, 0x00000020, 0xA67C0700, 0x0006000E, 0x612D0006, 0x1B030000, 0x00000001, 0x0001211B, 0x00000000, 0x0000002F, 0x93490103, 0x3B390200, 0x04000011, 0x13000005, 0x2F2E0C11, 0x02000000, 0x00000000, 0x00000008, 0x14030015, 0x5D2C0000, 0x00000115, 0x08000027, 0x724F0F0A, 0x353D0600 -glabel D_80868EC0 - .word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x02030404, 0x04040303, 0x03030303, 0x03020202, 0x02020201, 0x01010000, 0x00000000, 0x01010305, 0x090B0D0D, 0x0C0B0A0A, 0x0A0A0B0A, 0x09080707, 0x07070707, 0x07070705, 0x04030201, 0x0304070B, 0x11141717, 0x16141313, 0x14151514, 0x110D0B0B, 0x0C0D0F12, 0x13141413, 0x110C0905, 0x07070B12, 0x181E2121, 0x201F1F20, 0x2225221D, 0x17120F0F, 0x13171D23, 0x292D2D2A, 0x2219120A, 0x07080C13, 0x1B202223, 0x22232629, 0x2C2B261F, 0x17121112, 0x18202B36, 0x4046453D, 0x3022150C, 0x07080D15, 0x1C202325, 0x272A2E33, 0x3431281E, 0x16121217, 0x202E3F4F, 0x595D5A4E, 0x3B27170C, 0x07090F16, 0x1C202327, 0x2B32383C, 0x3B34291E, 0x1613161E, 0x2D425866, 0x6D6E6856, 0x3F28160B, 0x070A1117, 0x1C20252A, 0x333B4245, 0x41382C21, 0x18161B28, 0x3D586E7A, 0x7D7A6F58, 0x3C231309, 0x070C1318, 0x1E222932, 0x3C464E4F, 0x4A413529, 0x1F1D2232, 0x4C6A8189, 0x88816D50, 0x331D0E07, 0x090F181F, 0x252B343F, 0x4A555E5F, 0x5C524537, 0x2B272D40, 0x5D7C9197, 0x91816444, 0x29160B07, 0x0F19222A, 0x323B4550, 0x5D6D787D, 0x796B5B49, 0x3C373E52, 0x7190A2A2, 0x93785537, 0x20110A0A, 0x1D28343E, 0x47505A64, 0x738698A1, 0x9C8D7761, 0x534E566D, 0x8DA6B0A6, 0x8D69472C, 0x190F0E13, 0x36434F57, 0x5F676E77, 0x869BB0BC, 0xBBAF9A84, 0x74717D93, 0xADBCBBA5, 0x835E412A, 0x1D1A1E27, 0x5360696E, 0x73777C82, 0x8C9EB3C5, 0xCECBBEAB, 0x9F9FA9BC, 0xCACEBFA0, 0x7A593F2F, 0x282B3545, 0x6F767778, 0x78787A7F, 0x8593A8C2, 0xD6DDDAD2, 0xCCCBD2DA, 0xDFD7BE9B, 0x775A473C, 0x3A445463, 0x7E7D7875, 0x716D6D71, 0x78849BBA, 0xD8EAEDED, 0xEBEBEDED, 0xEBDABB97, 0x7862554F, 0x5562727B, 0x7F766E67, 0x625D5C5F, 0x697991B2, 0xD6EFF7F5, 0xF3F4F7F7, 0xEDD5B496, 0x7F70696B, 0x74808787, 0x796C5F57, 0x514D4C52, 0x5E738EAF, 0xD1EAF1ED, 0xEBEDF4F4, 0xE6CCB099, 0x8A818087, 0x91959288, 0x7261534A, 0x4541434A, 0x597290AE, 0xCADCE0DC, 0xDADDE5E6, 0xD9C2AD9D, 0x9390949D, 0xA2A09584, 0x6C5A4B41, 0x3B3B3D46, 0x57718EA9, 0xBDC9CBCA, 0xCACED2CF, 0xC3B3A398, 0x92939AA1, 0xA39D907F, 0x6955453C, 0x38373C46, 0x58718DA5, 0xB7C1C5C6, 0xC9CCCAC2, 0xB4A59A91, 0x8D91979D, 0x9E998D7D, 0x6752423A, 0x38383C46, 0x576F8AA2, 0xB3BFC6CB, 0xCECCC5B7, 0xA7988D86, 0x83868E95, 0x98968D7D, 0x644F403B, 0x393A3E47, 0x566C859C, 0xAFBDC7CE, 0xCEC8BCAA, 0x9A8A7F78, 0x777A838D, 0x94958C7A, 0x5E4C423E, 0x3E3E4047, 0x54677D94, 0xA9BAC7CD, 0xC9C0AF9F, 0x8E80746D, 0x6B707A86, 0x91928975, 0x5A4B4543, 0x43434448, 0x5161768C, 0xA3B5C3C7, 0xC1B4A394, 0x85776D66, 0x63687480, 0x8C8D836F, 0x574D4848, 0x4848484A, 0x505D7087, 0x9DB1BDBE, 0xB6A9998B, 0x7F746A63, 0x62656F7B, 0x84847A67, 0x554F4D4D, 0x4D4D4E4F, 0x535F6F85, 0x9BAEB8B8, 0xAFA29488, 0x7E756B65, 0x62656D75, 0x7B797061, 0x56535353, 0x5556585A, 0x6069788A, 0x9EAEB6B4, 0xAB9F948A, 0x817A726B, 0x67686B6F, 0x726E665D, 0x585A5C5E, 0x62676C70, 0x767E8A98, 0xA6B2B6B4, 0xACA1978E, 0x89837C76, 0x716E6C6C, 0x6A66605C, 0x5F62686F, 0x7680888F, 0x94999FA7, 0xAFB6B7B5, 0xAEA49C96, 0x928E8983, 0x7D76716B, 0x67625F5D, 0x676D7681, 0x8E9BA6AD, 0xB0B1B1B2, 0xB4B7B9B6, 0xB1A8A29E, 0x9B999590, 0x877F7770, 0x6A656364, 0x71788392, 0xA3B2BDC3, 0xC3BFBAB7, 0xB6B8B9B7, 0xB3ABA6A3, 0xA3A19E98, 0x91888079, 0x736E6C6D, 0x7A818C9C, 0xAFBFC9CE, 0xCBC4BDB7, 0xB7B8BBBA, 0xB4ACA6A4, 0xA4A5A4A0, 0x9A958F89, 0x837E7A79, 0x868A94A3, 0xB5C4CED0, 0xCCC5BEBA, 0xBBBFC1BF, 0xB7AEA8A5, 0xA7A9ABAC, 0xACAAA8A4, 0x9D968D88, 0x8F9199A7, 0xB7C5CCCD, 0xC9C4C0BF, 0xC3C7C8C2, 0xB7ADA7A6, 0xA8ADB3BA, 0xBFC3C4BF, 0xB7AB9E94, 0x97979FAB, 0xB9C3C8C9, 0xC7C5C4C7, 0xCCCFCBC2, 0xB6ADA8A8, 0xADB5C1CD, 0xD8E0E0D9, 0xCCBBAB9E, 0x9C9DA4AE, 0xBAC1C5C6, 0xC6C7CAD0, 0xD4D3CBC0, 0xB5ADABAD, 0xB6C2D2E3, 0xF1F9F8ED, 0xDAC5B2A3, 0xA2A4ABB4, 0xBBC1C4C5, 0xC8CCD2D7, 0xD8D3CABE, 0xB4B0B0B6, 0xC1D2E5F7, 0xFFFFFFF5, 0xE0C9B6A9, 0xA9ABB1B7, 0xBDC1C4C7, 0xCBD1D8DC, 0xDAD4C9BF, 0xB7B4B7BF, 0xCEE1F5FF, 0xFFFFFFF5, 0xDEC8B7AD, 0xB0B2B7BC, 0xC0C3C7CB, 0xD1D8DEDF, 0xDCD6CDC4, 0xBEBBBFC9, 0xD9EDFFFF, 0xFFFFFFEE, 0xD9C6B9B1, 0xB6BABEC2, 0xC5C8CCD2, 0xD8DFE3E4, 0xE1DBD4CC, 0xC6C4C8D2, 0xE2F6FFFF, 0xFFFFF7E5, 0xD3C5BBB6, 0xBEC2C6C9, 0xCDD0D5DA, 0xE1E6EAEB, 0xE9E4DED6, 0xD0CED1DB, 0xEAFAFFFF, 0xFFFDEEDD, 0xCFC5BFBD, 0xC7CBCFD3, 0xD6DADEE3, 0xE9EFF4F7, 0xF4EFE7E0, 0xDBD8DBE4, 0xF2FFFFFF, 0xFFF4E6D8, 0xCEC7C4C4, 0xD1D5D9DD, 0xE0E3E7EB, 0xF0F7FEFF, 0xFFFAF2EA, 0xE5E3E6EE, 0xFAFFFFFF, 0xFAEDE0D7, 0xD0CDCCCD, 0xDCE0E3E6, 0xE9EBEDF0, 0xF5FBFFFF, 0xFFFFFBF4, 0xEFEEF2F9, 0xFFFFFFFE, 0xF4E8DFD8, 0xD4D3D5D7, 0xE6E9EBED, 0xEEEFF1F2, 0xF5F9FFFF, 0xFFFFFFFD, 0xFAFAFDFF, 0xFFFFFFFA, 0xF0E7E1DD, 0xDBDCDEE2, 0xEDEFEFF0, 0xF0F0F0F1, 0xF2F5FAFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFF7, 0xEFE9E5E2, 0xE2E4E7EB, 0xF1F1F0F0, 0xEFEEEEEF, 0xF0F3F6FC, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFDF6, 0xF0ECEAE8, 0xEAECEFF1, 0xF2F1EFEF, 0xEEEDEDED, 0xEFF1F5FA, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFBF6, 0xF2F0EFEF, 0xF1F2F3F3, 0xF3F1EFEE, 0xEDEDEDED, 0xEFF2F5FA, 0xFEFFFFFF, 0xFFFFFFFF, 0xFFFDFAF7, 0xF5F4F4F5, 0xF6F7F6F5, 0xF3F1F0EF, 0xEEEEEEEF, 0xF1F3F6FA, 0xFDFFFFFF, 0xFFFFFFFF, 0xFFFCFAF8, 0xF7F6F7F8, 0xF8F8F7F5, 0xF5F3F2F1, 0xF0F0F0F1, 0xF3F5F8FA, 0xFCFDFDFD, 0xFDFEFEFE, 0xFDFBFAF9, 0xF8F9F9FA, 0xFAF9F8F7, 0xF7F5F3F3, 0xF3F2F3F4, 0xF5F7F9FB, 0xFDFDFEFE, 0xFEFEFEFD, 0xFCFBFAFA, 0xF9FAFAFB, 0xFBFAF9F8, 0xF8F7F6F5, 0xF5F5F5F6, 0xF7F9FAFC, 0xFDFEFEFF, 0xFFFFFEFD, 0xFDFBFBFA, 0xFAFAFBFB, 0xFBFBFBFA, 0xFAF9F8F7, 0xF7F7F8F8, 0xF9FAFBFC, 0xFEFFFFFF, 0xFFFFFEFD, 0xFCFCFBFB, 0xFBFBFBFC, 0xFCFCFCFB, 0xFBFAFAFA, 0xFAFAFAFA, 0xFBFBFCFD, 0xFEFFFFFF, 0xFFFFFEFE, 0xFDFCFCFC, 0xFBFCFCFD, 0xFDFDFDFC, 0xFCFCFBFB, 0xFBFBFBFC, 0xFCFCFDFE, 0xFFFFFFFF, 0xFFFFFFFE, 0xFEFDFDFD, 0xFDFDFDFD, 0xFEFEFDFD, 0xFDFDFDFD, 0xFDFDFDFD, 0xFDFDFEFE, 0xFFFFFFFF, 0xFFFFFFFE, 0xFEFEFEFD, 0xFDFEFEFE, 0xFEFEFEFE, 0xFEFEFEFE, 0xFEFEFEFE, 0xFEFEFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE, 0xFEFEFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF -glabel D_808696C0 - .word 0x00420271, 0xFFBE0000, 0x060006C2, 0x3E52C2FF, 0x000002BC, 0x00000000, 0x07000800, 0x007800FF, 0x005D0271, 0x00000000, 0x080006C2, 0x575200FF, 0x00BD01DB, 0xFFB20000, 0x07000419, 0x5E3FD9FF, 0x00BD01DB, 0x004E0000, 0x09000419, 0x5E3F27FF, 0x01AF001B, 0x00000000, 0x08000005, 0x6B3500FF, 0x0131001B, 0x01310000, 0x0A000005, 0x4C354CFF, 0x000002BC, 0x00000000, 0x09000800, 0x007800FF, 0x00420271, 0x00420000, 0x0A0006C2, 0x3E523EFF, 0x004E01DB, 0x00BD0000, 0x0B000419, 0x273F5EFF, 0x0000001B, 0x01AF0000, 0x0C000005, 0x00356BFF, 0x000002BC, 0x00000000, 0x0B000800, 0x007800FF, 0x00000271, 0x005D0000, 0x0C0006C2, 0x005257FF, 0xFFB201DB, 0x00BD0000, 0x0D000419, 0xD93F5EFF, 0xFECF001B, 0x01310000, 0x0E000005, 0xB4354CFF, 0x000002BC, 0x00000000, 0x0D000800, 0x007800FF, 0xFFBE0271, 0x00420000, 0x0E0006C2, 0xC2523EFF, 0xFF4301DB, 0x004E0000, 0x0F000419, 0xA23F27FF, 0xFE51001B, 0x00000000, 0x10000005, 0x953500FF, 0xFFA30271, 0x00000000, 0x100006C2, 0xA95200FF, 0xFF4301DB, 0xFFB20000, 0x11000419, 0xA23FD9FF, 0xFE51001B, 0x00000000, 0x00000005, 0x953500FF, 0xFF4301DB, 0xFFB20000, 0x01000419, 0xA23FD9FF, 0xFECF001B, 0xFECF0000, 0x02000005, 0xB435B4FF, 0xFFA30271, 0x00000000, 0x000006C2, 0xA95200FF, 0x000002BC, 0x00000000, 0x01000800, 0x007800FF, 0xFFBE0271, 0xFFBE0000, 0x020006C2, 0xC252C2FF, 0xFFB201DB, 0xFF430000, 0x03000419, 0xD93FA2FF, 0x0000001B, 0xFE510000, 0x04000005, 0x003595FF, 0x000002BC, 0x00000000, 0x03000800, 0x007800FF, 0x00000271, 0xFFA30000, 0x040006C2, 0x0052A9FF, 0x004E01DB, 0xFF430000, 0x05000419, 0x273FA2FF -glabel D_808698C0 - .word 0x0000001B, 0xFE510000, 0x04000005, 0x003595FF, 0x004E01DB, 0xFF430000, 0x05000419, 0x273FA2FF, 0x0131001B, 0xFECF0000, 0x06000005, 0x4C35B4FF, 0x00000271, 0xFFA30000, 0x040006C2, 0x0052A9FF, 0x000002BC, 0x00000000, 0x05000800, 0x007800FF, 0x00420271, 0xFFBE0000, 0x060006C2, 0x3E52C2FF, 0x00BD01DB, 0xFFB20000, 0x07000419, 0x5E3FD9FF, 0x01AF001B, 0x00000000, 0x08000005, 0x6B3500FF, 0xFFBE0271, 0x00420000, 0x060006C2, 0xC2523EFF, 0x000002BC, 0x00000000, 0x07000800, 0x007800FF, 0xFFA30271, 0x00000000, 0x080006C2, 0xA95200FF -glabel D_80869970 - .word 0xE7000000, 0x00000000, 0xE3001001, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xFD900000 -.word D_80868EC0 -.word 0xF5900000, 0x0705BC51, 0xE6000000, 0x00000000, 0xF3000000, 0x073FF200, 0xE7000000, 0x00000000, 0xF5880800, 0x0005BC51, 0xF2000000, 0x0007C0FC, 0xFD900000 -.word D_808686C0 -.word 0xF5900100, 0x0705B85D, 0xE6000000, 0x00000000, 0xF3000000, 0x073FF200, 0xE7000000, 0x00000000, 0xF5880900, 0x0105B85D, 0xF2000000, 0x0107C0FC, 0xFC262A60, 0x350CF37F, 0xE200001C, 0x0C184B50, 0xD9F2FBFF, 0x00000000, 0xD9FFFFFF, 0x00020000, 0xDF000000, 0x00000000 -glabel D_80869A20 - .word 0x01020040 -.word D_808696C0 -.word 0x06000204, 0x00000406, 0x06060408, 0x0006080A, 0x060A080C, 0x00040E10, 0x06041008, 0x00081012, 0x0608120C, 0x000C1214, 0x06101618, 0x00101812, 0x0612181A, 0x00121A14, 0x06141A1C, 0x00181E20, 0x0618201A, 0x001A2022, 0x061A221C, 0x001C2224, 0x06202622, 0x00222628, 0x06222824, 0x002A2C2E, 0x06303234, 0x0030342C, 0x062C3436, 0x002C362E, 0x062E3638, 0x00343A3C, 0x06343C36, 0x00363C3E, 0x05363E38, 0x00000000, 0x0100B016 -.word D_808698C0 -.word 0x06000204, 0x0006080A, 0x06060A02, 0x00020A0C, 0x06020C04, 0x00040C0E, 0x05101214, 0x00000000, 0xDF000000, 0x00000000 -glabel Arrow_Ice_InitVars - .word 0x010B0700, 0x02000010, 0x00010000, 0x0000016C -.word ArrowIce_Init -.word ArrowIce_Destroy -.word ArrowIce_Update -.word ArrowIce_Draw -glabel D_80869B00 - .word 0x30F407D0, 0x00000000, 0x00000000, 0x00000000 - diff --git a/data/overlays/actors/z_arrow_ice.reloc.s b/data/overlays/actors/z_arrow_ice.reloc.s deleted file mode 100644 index cfb049df5a..0000000000 --- a/data/overlays/actors/z_arrow_ice.reloc.s +++ /dev/null @@ -1,11 +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 purposee registers - -.section .rodata -glabel D_80869BB0 - -.incbin "baserom/ovl_Arrow_Ice", 0x1EE0, 0x00000100 diff --git a/data/overlays/actors/z_arrow_ice.rodata.s b/data/overlays/actors/z_arrow_ice.rodata.s deleted file mode 100644 index 8a8a7a26e9..0000000000 --- a/data/overlays/actors/z_arrow_ice.rodata.s +++ /dev/null @@ -1,57 +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 purposee registers - -.section .rodata - -glabel D_80869B10 - - .asciz "../z_arrow_ice.c" - .balign 4 - -glabel D_80869B24 - .word 0x22BEC3CC, 0xC722203D, 0x2025730A, 0x00000000 -glabel D_80869B34 - .word 0xBEC3CCC7, 0x00000000 -glabel D_80869B3C - - .asciz "../z_arrow_ice.c" - .balign 4 - -glabel D_80869B50 - - .asciz "../z_arrow_ice.c" - .balign 4 - -glabel D_80869B64 - - .asciz "../z_arrow_ice.c" - .balign 4 - -glabel D_80869B78 - .word 0x446D8000 -glabel D_80869B7C - .word 0x3EAAAAAB -glabel D_80869B80 - .word 0x3D2AAAAB -glabel D_80869B84 - .word 0x3DCCCCCD -glabel D_80869B88 - .word 0x3D2AAAAB -glabel D_80869B8C - .word 0x38C90FDB -glabel D_80869B90 - .word 0x38C90FDB -glabel D_80869B94 - .word 0x38C90FDB -glabel D_80869B98 - .word 0x3C23D70A -glabel D_80869B9C - .word 0x44BB8000 -glabel D_80869BA0 - .word 0x3E4CCCCD, 0x00000000, 0x00000000, 0x00000000 - - diff --git a/data/overlays/actors/z_arrow_light.data.s b/data/overlays/actors/z_arrow_light.data.s deleted file mode 100644 index 1f9e7f0af5..0000000000 --- a/data/overlays/actors/z_arrow_light.data.s +++ /dev/null @@ -1,38 +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 purposee registers - -.section .data - -glabel D_8086A6B0 - .word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000102, 0x01000001, 0x00000000, 0x00000000, 0x00010000, 0x00000000, 0x00000001, 0x00000000, 0x00000204, 0x02000101, 0x00000000, 0x00000000, 0x00010101, 0x00000001, 0x00000001, 0x00000000, 0x00000307, 0x03010102, 0x00000000, 0x00000000, 0x01010102, 0x00000002, 0x01010001, 0x00000000, 0x00010509, 0x04010103, 0x01000000, 0x00000000, 0x01020202, 0x00000104, 0x03020101, 0x00000000, 0x0001060C, 0x06010103, 0x01000000, 0x00000000, 0x02020202, 0x00000206, 0x05040101, 0x00000000, 0x0001080F, 0x07010103, 0x01000001, 0x00000000, 0x03030202, 0x00010408, 0x07060201, 0x00000000, 0x00010911, 0x08010103, 0x01000001, 0x00000001, 0x04040303, 0x0101050B, 0x0A080301, 0x00000000, 0x00020B14, 0x0A010103, 0x01000001, 0x00010102, 0x06060403, 0x0203070D, 0x0C0A0401, 0x00000000, 0x00030D17, 0x0B020103, 0x01010001, 0x00010205, 0x09080503, 0x0205090E, 0x0E0D0501, 0x00000000, 0x01050F18, 0x0C020102, 0x01010001, 0x00010408, 0x0D0B0502, 0x03070B0F, 0x0F0F0601, 0x00000000, 0x02081219, 0x0D030102, 0x00010001, 0x0001050B, 0x130F0702, 0x04080B0F, 0x10110801, 0x00000000, 0x030C1419, 0x0E040101, 0x00010001, 0x0001070F, 0x19140A03, 0x05090B0E, 0x10130A02, 0x00000001, 0x05121719, 0x0E040100, 0x00010102, 0x01020A13, 0x1F1A0F06, 0x06090A0C, 0x10150B03, 0x01000001, 0x08181B19, 0x0F050201, 0x01020102, 0x02040D18, 0x2721140A, 0x080A0A0C, 0x11160D04, 0x02020001, 0x0B1E1E19, 0x10070403, 0x02030202, 0x0408111D, 0x2F2A1B0F, 0x0A0B0B0D, 0x12180F06, 0x04040101, 0x0E242119, 0x11090606, 0x04040304, 0x070C1623, 0x38322214, 0x0E0D0E10, 0x141A1108, 0x06060102, 0x112A241A, 0x120B0909, 0x06050507, 0x0B111C29, 0x413B291B, 0x13101216, 0x181B1209, 0x08080304, 0x152F271B, 0x140E0C0C, 0x0907080B, 0x10172230, 0x4A433223, 0x1813161D, 0x1D1E140B, 0x0A0A0608, 0x1A342B1E, 0x17110F0F, 0x0C0B0D11, 0x171F2A38, 0x534C3B2B, 0x1E161C25, 0x2221160D, 0x0B0C0A0E, 0x21393023, 0x1B151211, 0x0F0F1217, 0x1E273240, 0x5C564534, 0x251B242F, 0x2924190F, 0x0E0E0F17, 0x293E372B, 0x21181513, 0x1113181E, 0x26303B48, 0x655F4E3E, 0x2D222D3A, 0x30271C13, 0x11111520, 0x32453F35, 0x281D1714, 0x14181E25, 0x2F3A4551, 0x6F695746, 0x362B3744, 0x372A1F17, 0x15151D2A, 0x3D4D483F, 0x31231A14, 0x171E252E, 0x38444F5B, 0x7974614F, 0x4036404C, 0x3C2D231D, 0x1A1A2637, 0x4957524A, 0x3A2A1D15, 0x1A252E37, 0x43505B66, 0x837F6C59, 0x4A414750, 0x3F2E2723, 0x21213245, 0x57625D54, 0x43312216, 0x1F2D3741, 0x4D5B6671, 0x8E8B7662, 0x544B4D51, 0x3F302C2C, 0x2B2D4054, 0x656D675E, 0x4C3A281A, 0x2536414B, 0x5867717B, 0x9896816C, 0x5E545150, 0x3F323337, 0x383C5063, 0x71777168, 0x56432F21, 0x2C3F4B56, 0x63727C86, 0xA2A08B76, 0x685D5651, 0x3F343A43, 0x484D5F70, 0x7D827B71, 0x5F4C3829, 0x34465462, 0x6F7C8690, 0xACA99581, 0x72655B53, 0x42394450, 0x585E6D7C, 0x878C8479, 0x68574334, 0x3D4E5E6E, 0x7B88919A, 0xB4B09E8C, 0x7C6E6155, 0x46414F5F, 0x676E7B87, 0x92958C80, 0x71625041, 0x4857697A, 0x86929BA3, 0xBBB7A796, 0x86776658, 0x4D4B5C6E, 0x777D8791, 0x9C9F9487, 0x7A6D5C4F, 0x54617486, 0x919CA4AB, 0xC2BBAFA1, 0x907F6C5D, 0x55576A7E, 0x8589929A, 0xA5A99D90, 0x8478695E, 0x5F697F93, 0x9DA6ACB2, 0xC8BFB6AC, 0x9A877465, 0x6064788D, 0x92949BA1, 0xADB2A89C, 0x8F83766C, 0x6A718AA1, 0xA9AFB2B8, 0xCEC3BDB6, 0xA4907E70, 0x6C72879B, 0x9C9CA2A8, 0xB5BBB3A9, 0x9B8E8279, 0x737693AE, 0xB4B6B9BE, 0xD5C9C5BF, 0xAF9C8B7E, 0x7A8094A5, 0xA4A0A7B0, 0xBDC5C0B7, 0xA8998E85, 0x7B7B9AB7, 0xBDBEC0C5, 0xDBCFCCC8, 0xBAA9998E, 0x898E9FAD, 0xA8A1ACB8, 0xC6CECCC5, 0xB6A4988F, 0x8381A0BE, 0xC4C6C8CD, 0xE0D4D3D1, 0xC5B7A89D, 0x989CA8B3, 0xABA2B0C0, 0xCED8D8D2, 0xC2AEA298, 0x8C89A6C3, 0xCACED1D5, 0xE5DBDAD8, 0xD0C4B6AB, 0xA6A8B1B8, 0xAEA4B5C7, 0xD6E0E3DE, 0xCDB7ABA2, 0x9590ACC9, 0xD0D5D9DC, 0xEBE1E0DE, 0xDAD1C4B9, 0xB2B2B8BC, 0xB1A7B9CE, 0xDEE8ECE8, 0xD6BDB3AC, 0x9E98B3CE, 0xD6DBE0E3, 0xF0E9E6E3, 0xE3DDD2C6, 0xBCBABEC0, 0xB4AABED5, 0xE5EFF3F0, 0xDDC2BBB6, 0xA79FB9D4, 0xDCE2E7E9, 0xF5F0ECE7, 0xEAE8DED2, 0xC6C1C2C3, 0xB7ADC4DD, 0xEBF3F8F5, 0xE1C6C2C1, 0xB1A7BFD8, 0xE1E7EDF0, 0xF9F5F1EB, 0xF0F0E9DD, 0xCFC7C7C6, 0xBBB1CBE5, 0xF0F5FBF7, 0xE3CACACC, 0xBBB0C5DC, 0xE5ECF4F6, 0xFCF9F5EE, 0xF5F7F0E7, 0xD7CDCCCB, 0xBFB7D2EB, 0xF4F7FBF6, 0xE4CDD2D6, 0xC6B9CBE0, 0xE9F1F9FB, 0xFDFCF8F2, 0xF9FAF6EE, 0xDFD5D3D0, 0xC5BDD9F0, 0xF7F9FBF4, 0xE5D0D9E0, 0xD1C2D2E4, 0xEDF5FCFE, 0xFEFDFAF4, 0xFBFCF9F3, 0xE6DDDAD7, 0xCBC3DEF4, 0xFAFBFCF3, 0xE5D3DEE8, 0xDBCDDAE9, 0xF2F8FEFF, 0xFEFDFCF6, 0xFCFDFCF7, 0xECE4E2DF, 0xD2C9E3F7, 0xFCFDFBF3, 0xE5D6E4EF, 0xE3D6E1EE, 0xF6FAFEFF, 0xFEFDFDF8, 0xFCFDFDFA, 0xF1EAE9E7, 0xD9CFE7F9, 0xFEFEFBF3, 0xE7DBE9F4, 0xEBDFE8F3, 0xF9FCFFFF, 0xFEFDFDFA, 0xFDFDFEFC, 0xF5EFEFEE, 0xE0D5ECFB, 0xFFFEFBF3, 0xE9E1EEF8, 0xF0E6EEF6, 0xFCFDFFFF, 0xFEFDFEFC, 0xFEFDFEFE, 0xF8F4F4F3, 0xE7DDF1FD, 0xFFFEFBF3, 0xECE7F3FC, 0xF5ECF2F9, 0xFDFEFFFF, 0xFEFDFFFE, 0xFFFDFEFE, 0xFAF7F8F7, 0xEDE5F5FE, 0xFFFEFBF5, 0xF0EDF7FD, 0xF9F1F5FA, 0xFEFFFFFF, 0xFEFDFFFF, 0xFFFEFEFF, 0xFCFAFAFA, 0xF2ECF8FE, 0xFFFEFCF7, 0xF4F3FAFE, 0xFBF6F8FB, 0xFEFFFFFF, 0xFEFDFFFF, 0xFFFEFEFF, 0xFDFCFCFC, 0xF7F2FBFF, 0xFFFEFCFA, 0xF8F7FCFF, 0xFEFAFBFC, 0xFFFFFFFF, 0xFEFEFFFF, 0xFFFFFFFF, 0xFEFDFEFD, 0xFAF7FCFF, 0xFFFEFDFC, 0xFCFBFDFF, 0xFFFDFDFD, 0xFFFFFFFF, 0xFFFEFFFF, 0xFFFFFFFF, 0xFFFEFEFE, 0xFCFAFDFF, 0xFFFEFEFE, 0xFEFDFEFF, 0xFFFFFEFD, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFDFCFEFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFEFEFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF -glabel D_8086AEB0 - .word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000001, 0x01000000, 0x00000102, 0x02010000, 0x00000001, 0x01010202, 0x00000000, 0x00000000, 0x00000202, 0x02000000, 0x01010205, 0x07050200, 0x00000001, 0x01010304, 0x02010000, 0x00000000, 0x00000305, 0x04010001, 0x05030307, 0x0A090401, 0x00000101, 0x01020206, 0x05030200, 0x00000000, 0x01010408, 0x08030003, 0x08080607, 0x09090602, 0x01000001, 0x01010104, 0x05060603, 0x02010002, 0x0505060A, 0x0C080404, 0x07090707, 0x06050709, 0x07010000, 0x01010101, 0x05080B0A, 0x06020205, 0x090A0A0C, 0x0F0E0A05, 0x05080905, 0x05040810, 0x10060000, 0x00010102, 0x050A1113, 0x0E080608, 0x0A0C0D10, 0x1514120D, 0x0E0C0D0B, 0x09080B15, 0x190F0402, 0x01000308, 0x0A0F161A, 0x180F0A0A, 0x0A0B0B12, 0x191B2A20, 0x221B1F1B, 0x1815141C, 0x22170806, 0x03030611, 0x1A1F201E, 0x1C140E0E, 0x0D0E0F11, 0x181D2F3D, 0x3F333532, 0x2C261F24, 0x2E230F0D, 0x0A090E18, 0x242E2D24, 0x1B141010, 0x11161813, 0x1618274A, 0x4E464948, 0x42383030, 0x39311712, 0x16151F24, 0x2331362A, 0x1B111013, 0x191D201C, 0x1E273145, 0x4F51565B, 0x584C4140, 0x4A3F1C14, 0x1E202D32, 0x242B3631, 0x22140F14, 0x1D23221D, 0x273C4A4E, 0x675F636D, 0x70645452, 0x564C2616, 0x2D363842, 0x38333F3F, 0x35241817, 0x242C2A25, 0x2F4F656C, 0x948A7E81, 0x887D6A63, 0x60583B2F, 0x4454575F, 0x5B555C5E, 0x56493E34, 0x39414644, 0x49627089, 0xBBBAA89B, 0x9B917A70, 0x67595152, 0x677A8184, 0x857F7A7C, 0x756D6A63, 0x5C5D626E, 0x767F8795, 0xC4D1CABB, 0xB5A68C82, 0x7D706B76, 0x8B969DA7, 0xAEA69592, 0x928C8B8A, 0x857D8094, 0xA5AAA8A5, 0xC4CEC9C7, 0xC2B69E94, 0x948F8991, 0x9EA4A9B7, 0xBEBDAFA2, 0xA2A49F9A, 0x99959BB7, 0xC9CECAC4, 0xD7CDC8C8, 0xCBC8B6AB, 0xAAAAA7A0, 0xA0A2ACBD, 0xC6CCC9BD, 0xB4BAB6A8, 0xA3A3AECF, 0xE3E4E0DE, 0xE6DBD4CE, 0xD0D0C6BA, 0xB6B6B3A7, 0x9FA7B4C7, 0xD5D7D8D3, 0xC9C9CDBF, 0xB1B2BED9, 0xF2ECE3E5, 0xECEAE1DA, 0xDBDDD7CB, 0xC2BFBCB4, 0xADB4C4D7, 0xE4E7E4DD, 0xD6D6E0DC, 0xC7BABFD4, 0xE9E8DFE2, 0xF0F4EDE8, 0xE6E7E7DD, 0xCFC9CAC9, 0xC8CEDCEA, 0xF3F6F1E7, 0xE0DEE3E7, 0xDAC2C3D6, 0xE4E8E3E5, 0xF7FBF8F1, 0xECEAEFEB, 0xDFDCDDE0, 0xE2E4E7EF, 0xF7FCFAF4, 0xEFE9E5E7, 0xE2CDC8D7, 0xE5E9EAEE, 0xFDFEFCF7, 0xF1EBEDF0, 0xE9E8EDF1, 0xF3F0EEF0, 0xF5FBFBF8, 0xF7F3E9E2, 0xDDD6D3E1, 0xEBEBEBF4, 0xFCFEFEFC, 0xF6F0F1F4, 0xEDEAF3FA, 0xFCF5EBEA, 0xF0F8F8F6, 0xF7F6EEE6, 0xE2E0E4ED, 0xEDE9E1EE, 0xFAFFFDFD, 0xFAF7F7F7, 0xF2EFF6FB, 0xFBF2E1DF, 0xEEF8F6F2, 0xF4F6F2EE, 0xEAE7ECF2, 0xEEE6E0E5, 0xF6FCFCFD, 0xFDFCFCF9, 0xF2F0F5FA, 0xFAF3DED8, 0xE8F7F7F3, 0xF4F8F7F6, 0xF2EEEEF0, 0xECE5E2E5, 0xF8FBF5F7, 0xFAFBFAF5, 0xEBE7F4FC, 0xFAF6E8DD, 0xE8F8FCF8, 0xF8F9FAFA, 0xF9F4EEE9, 0xE4DFE0E9, 0xF9FAF1EE, 0xF2F5F7F5, 0xEBE1EDFB, 0xFBFAF5EF, 0xF4FCFEFD, 0xFBF8F8FB, 0xFBF7F2EA, 0xE4DCD8E5, 0xF6FBF0EA, 0xECEFF3F2, 0xEDE5EAF9, 0xFDFCFDFC, 0xFCFDFDFC, 0xF9F5F7FA, 0xFCF9F6F2, 0xEBE0D6E1, 0xEDF9F5EE, 0xEDEEF0F0, 0xEEEBEFFA, 0xFEFEFFFC, 0xF9F6F8FB, 0xFAF7F6FA, 0xFDFDFBFA, 0xF7E8DCDB, 0xECF7F9F4, 0xF3F1F0EF, 0xECECF3FC, 0xFEFEFEF9, 0xF1EDEEF7, 0xFBFAF9FC, 0xFEFEFDFC, 0xFBF3DFE0, 0xF0F5FBFA, 0xF7F3F3F4, 0xF1EFF2F8, 0xFAFCFEFA, 0xF1EAE7F0, 0xFAFEFDFE, 0xFFFEFEFD, 0xFDFBE7E9, 0xF6FBFDFB, 0xF8F3F2F7, 0xF9F4EFF0, 0xF3F6FBFB, 0xF5EEEDF0, 0xFAFFFFFF, 0xFEFDFDFE, 0xFEFDF7F0, 0xF9FDFCFA, 0xF5ECEAF4, 0xFCF8ECE8, 0xEBEFF7FC, 0xF8F6F7F6, 0xF9FCFEFD, 0xFBFAF8FB, 0xFEFFFEF7, 0xF3FAFCF7, 0xEFE4E1EA, 0xF7F8EBE1, 0xE4EAEDF5, 0xF6F3F7F8, 0xF7F9FAF9, 0xF5F3F1F0, 0xF4FBFFFA, 0xECEEF6F4, 0xECE1DBE1, 0xEFF5EDE0, 0xE0E2E0E6, 0xEDEBEFF2, 0xF3F6F6F5, 0xEEECEDE6, 0xE2EEFEFA, 0xEAE3E6E6, 0xE5E2DEDF, 0xE7EDE7DD, 0xDBDDD8DA, 0xE5E6E8ED, 0xEEF2F4EF, 0xE3D9DFE4, 0xDDE2F7FB, 0xF2E5D8D2, 0xD4DDE3DB, 0xD7DCDCD4, 0xCFD1D5DC, 0xE6E7E8E8, 0xE5E9EBE3, 0xD1C5CEE0, 0xE2E2F3FD, 0xF8EAD6C2, 0xC1CDDCD7, 0xC5BFC4C1, 0xB7B9CCE7, 0xF0EDE2DD, 0xD8D4D7CA, 0xB4AFBFD6, 0xE4EBF2FC, 0xEEEAD8C2, 0xBABECCCF, 0xB9A1A3AA, 0xA6A2B0DB, 0xF0E9D8CE, 0xC6BFBDAE, 0x9292ACCC, 0xE0E4E3EB, 0xCFD5CFBF, 0xB3AEB1B6, 0xA68D8A95, 0x9A99A1C2, 0xE3DBC6BA, 0xB4ACA292, 0x757299C0, 0xD7D8CBC6, 0xA5B3BAB0, 0xA59A9293, 0x8C7A757E, 0x889198AE, 0xCACAB7A7, 0xA09C9480, 0x63597696, 0xAEC0BEA8, 0x8C959F97, 0x89807772, 0x6752536B, 0x79808896, 0xAEB8A894, 0x827E796B, 0x59556374, 0x849EB6A5, 0x918F8D7B, 0x6A676A66, 0x53363453, 0x6A6D6E76, 0x8A9D9E90, 0x73625D58, 0x5157605F, 0x5E749CA7, 0x96898163, 0x4E506064, 0x4A2A1E36, 0x565D5B5F, 0x697D8D8C, 0x714E4240, 0x44525E59, 0x5161869C, 0x81776D54, 0x3D3A4D5A, 0x46281B22, 0x363E424A, 0x545D6E7B, 0x714F3630, 0x313E4E4C, 0x44537384, 0x625B4E3E, 0x2E293646, 0x37201C20, 0x1E1D1F2D, 0x3E454A59, 0x5F4D2D20, 0x2229363E, 0x3B4A6A70, 0x453C3329, 0x211F2835, 0x2A1A1B20, 0x1307050F, 0x242C2933, 0x43442C18, 0x15151C2A, 0x3140655C, 0x251B1F1B, 0x15161F27, 0x261D1C20, 0x15040005, 0x141E1516, 0x26312716, 0x0E0C0D19, 0x28385556, 0x170D1511, 0x0A0B141E, 0x2222201F, 0x170B0403, 0x0D190F0B, 0x151F1B10, 0x0B08050C, 0x17264546, 0x130C140C, 0x03030C12, 0x13181F1C, 0x16100A07, 0x090E0F09, 0x11160F08, 0x0C0F0A09, 0x0F1B2E32, 0x12171D11, 0x0301070D, 0x0B0D1414, 0x110F110F, 0x0A07070A, 0x11150B04, 0x0C15130F, 0x0E0E1B23, 0x10172113, 0x0401050C, 0x0E09090B, 0x09090E13, 0x10090505, 0x0D120C04, 0x07141911, 0x0C0A1016, 0x09101811, 0x05020308, 0x0D090606, 0x0504060C, 0x110F0903, 0x060B0804, 0x030A100D, 0x0A090B0C, 0x05060A06, 0x01010204, 0x07080403, 0x02010307, 0x0A0D0B04, 0x02020302, 0x02030606, 0x04040708, 0x02020200, 0x00000201, 0x02030200, 0x00000102, 0x05060704, 0x01000001, 0x01020201, 0x00010406, 0x01000201, 0x00000000, 0x00000000, 0x00000001, 0x02020202, 0x01000000, 0x00000101, 0x00000102, 0x00000100, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 -glabel D_8086B6B0 - .word 0x00420271, 0xFFBE0000, 0x060006C2, 0x3E52C2FF, 0x000002BC, 0x00000000, 0x07000800, 0x007800FF, 0x005D0271, 0x00000000, 0x080006C2, 0x575200FF, 0x00BD01DB, 0xFFB20000, 0x07000419, 0x5E3FD9FF, 0x00BD01DB, 0x004E0000, 0x09000419, 0x5E3F27FF, 0x01AF001B, 0x00000000, 0x08000005, 0x6B3500FF, 0x0131001B, 0x01310000, 0x0A000005, 0x4C354CFF, 0x000002BC, 0x00000000, 0x09000800, 0x007800FF, 0x00420271, 0x00420000, 0x0A0006C2, 0x3E523EFF, 0x004E01DB, 0x00BD0000, 0x0B000419, 0x273F5EFF, 0x0000001B, 0x01AF0000, 0x0C000005, 0x00356BFF, 0x000002BC, 0x00000000, 0x0B000800, 0x007800FF, 0x00000271, 0x005D0000, 0x0C0006C2, 0x005257FF, 0xFFB201DB, 0x00BD0000, 0x0D000419, 0xD93F5EFF, 0xFECF001B, 0x01310000, 0x0E000005, 0xB4354CFF, 0x000002BC, 0x00000000, 0x0D000800, 0x007800FF, 0xFFBE0271, 0x00420000, 0x0E0006C2, 0xC2523EFF, 0xFF4301DB, 0x004E0000, 0x0F000419, 0xA23F27FF, 0xFE51001B, 0x00000000, 0x10000005, 0x953500FF, 0xFFA30271, 0x00000000, 0x100006C2, 0xA95200FF, 0xFF4301DB, 0xFFB20000, 0x11000419, 0xA23FD9FF, 0xFE51001B, 0x00000000, 0x00000005, 0x953500FF, 0xFF4301DB, 0xFFB20000, 0x01000419, 0xA23FD9FF, 0xFECF001B, 0xFECF0000, 0x02000005, 0xB435B4FF, 0xFFA30271, 0x00000000, 0x000006C2, 0xA95200FF, 0x000002BC, 0x00000000, 0x01000800, 0x007800FF, 0xFFBE0271, 0xFFBE0000, 0x020006C2, 0xC252C2FF, 0xFFB201DB, 0xFF430000, 0x03000419, 0xD93FA2FF, 0x0000001B, 0xFE510000, 0x04000005, 0x003595FF, 0x000002BC, 0x00000000, 0x03000800, 0x007800FF, 0x00000271, 0xFFA30000, 0x040006C2, 0x0052A9FF, 0x004E01DB, 0xFF430000, 0x05000419, 0x273FA2FF -glabel D_8086B8B0 - .word 0x0000001B, 0xFE510000, 0x04000005, 0x003595FF, 0x004E01DB, 0xFF430000, 0x05000419, 0x273FA2FF, 0x0131001B, 0xFECF0000, 0x06000005, 0x4C35B4FF, 0x00000271, 0xFFA30000, 0x040006C2, 0x0052A9FF, 0x000002BC, 0x00000000, 0x05000800, 0x007800FF, 0x00420271, 0xFFBE0000, 0x060006C2, 0x3E52C2FF, 0x00BD01DB, 0xFFB20000, 0x07000419, 0x5E3FD9FF, 0x01AF001B, 0x00000000, 0x08000005, 0x6B3500FF, 0xFFBE0271, 0x00420000, 0x060006C2, 0xC2523EFF, 0x000002BC, 0x00000000, 0x07000800, 0x007800FF, 0xFFA30271, 0x00000000, 0x080006C2, 0xA95200FF -glabel D_8086B960 - .word 0xE7000000, 0x00000000, 0xE3001001, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xFD900000 -.word D_8086A6B0 -.word 0xF5900000, 0x0705BC5D, 0xE6000000, 0x00000000, 0xF3000000, 0x073FF200, 0xE7000000, 0x00000000, 0xF5880800, 0x0005BC5D, 0xF2000000, 0x0007C0FC, 0xFD900000 -.word D_8086AEB0 -.word 0xF5900100, 0x0705B85E, 0xE6000000, 0x00000000, 0xF3000000, 0x073FF200, 0xE7000000, 0x00000000, 0xF5880900, 0x0105B85E, 0xF2000000, 0x0107C0FC, 0xFC262A60, 0x350CE37F, 0xE200001C, 0x0C184B50, 0xD9F2FBFF, 0x00000000, 0xD9FFFFFF, 0x00020000, 0xDF000000, 0x00000000 -glabel D_8086BA10 - .word 0x01020040 -.word D_8086B6B0 -.word 0x06000204, 0x00000406, 0x06060408, 0x0006080A, 0x060A080C, 0x00040E10, 0x06041008, 0x00081012, 0x0608120C, 0x000C1214, 0x06101618, 0x00101812, 0x0612181A, 0x00121A14, 0x06141A1C, 0x00181E20, 0x0618201A, 0x001A2022, 0x061A221C, 0x001C2224, 0x06202622, 0x00222628, 0x06222824, 0x002A2C2E, 0x06303234, 0x0030342C, 0x062C3436, 0x002C362E, 0x062E3638, 0x00343A3C, 0x06343C36, 0x00363C3E, 0x05363E38, 0x00000000, 0x0100B016 -.word D_8086B8B0 -.word 0x06000204, 0x0006080A, 0x06060A02, 0x00020A0C, 0x06020C04, 0x00040C0E, 0x05101214, 0x00000000, 0xDF000000, 0x00000000 -glabel Arrow_Light_InitVars - .word 0x010C0700, 0x02000010, 0x00010000, 0x0000016C -.word ArrowLight_Init -.word ArrowLight_Destroy -.word ArrowLight_Update -.word ArrowLight_Draw -glabel D_8086BAF0 - .word 0x30F407D0, 0x00000000, 0x00000000, 0x00000000 - diff --git a/data/overlays/actors/z_arrow_light.reloc.s b/data/overlays/actors/z_arrow_light.reloc.s deleted file mode 100644 index 419c81664f..0000000000 --- a/data/overlays/actors/z_arrow_light.reloc.s +++ /dev/null @@ -1,11 +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 purposee registers - -.section .rodata -glabel D_8086BBA0 - -.incbin "baserom/ovl_Arrow_Light", 0x1EF0, 0x00000100 diff --git a/data/overlays/actors/z_arrow_light.rodata.s b/data/overlays/actors/z_arrow_light.rodata.s deleted file mode 100644 index a06d95d41e..0000000000 --- a/data/overlays/actors/z_arrow_light.rodata.s +++ /dev/null @@ -1,57 +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 purposee registers - -.section .rodata - -glabel D_8086BB00 - - .asciz "../z_arrow_light.c" - .balign 4 - -glabel D_8086BB14 - .word 0x22BEC3CC, 0xC722203D, 0x2025730A, 0x00000000 -glabel D_8086BB24 - .word 0xBEC3CCC7, 0x00000000 -glabel D_8086BB2C - - .asciz "../z_arrow_light.c" - .balign 4 - -glabel D_8086BB40 - - .asciz "../z_arrow_light.c" - .balign 4 - -glabel D_8086BB54 - - .asciz "../z_arrow_light.c" - .balign 4 - -glabel D_8086BB68 - .word 0x446D8000 -glabel D_8086BB6C - .word 0x3EAAAAAB -glabel D_8086BB70 - .word 0x3D2AAAAB -glabel D_8086BB74 - .word 0x3DCCCCCD -glabel D_8086BB78 - .word 0x3D2AAAAB -glabel D_8086BB7C - .word 0x38C90FDB -glabel D_8086BB80 - .word 0x38C90FDB -glabel D_8086BB84 - .word 0x38C90FDB -glabel D_8086BB88 - .word 0x3C23D70A -glabel D_8086BB8C - .word 0x44BB8000 -glabel D_8086BB90 - .word 0x3E4CCCCD, 0x00000000, 0x00000000, 0x00000000 - - diff --git a/include/functions.h b/include/functions.h index c3f9560938..0681e243f5 100644 --- a/include/functions.h +++ b/include/functions.h @@ -756,8 +756,8 @@ s32 Actor_CollisionCheck_SetOT(GlobalContext* globalCtx, SubGlobalContext11E60* // ? func_80061C98(?); // ? func_80061E48(?); // ? func_80061E8C(?); -void func_80061ED4(SubActorStruct98* sub98, ActorDamageChart* damageChart, SubActor98Init* subActor98Init); -void func_80061EFC(SubActorStruct98* sub98, ActorDamageChart* damageChart, SubActor98Init* subActor98Init); +void func_80061ED4(SubActorStruct98* sub98, ActorDamageChart* damageChart, Sub98Init4* sub98Init); +void func_80061EFC(SubActorStruct98* sub98, ActorDamageChart* damageChart, Sub98Init4* sub98Init); // ? func_80061F64(?); // ? func_800622E4(?); // ? func_80062530(?); diff --git a/include/z64actor.h b/include/z64actor.h index 91a1f9f716..bee0433109 100644 --- a/include/z64actor.h +++ b/include/z64actor.h @@ -80,13 +80,6 @@ typedef struct { } attack[32]; } ActorDamageChart; -typedef struct { - /* 0x00 */ u8 health; - /* 0x02 */ s16 unk_02; - /* 0x04 */ s16 unk_04; - /* 0x06 */ u8 mass; -} SubActor98Init; - typedef struct { /* 0x00 */ ActorDamageChart* damageChart; // For actors which contain a damage chart (example: Stalfos)... /* 0x04 */ Vec3f displacement; // Amount to correct velocity (0x5C) by when colliding into a body @@ -182,6 +175,21 @@ typedef struct Actor { /* From here on, the structure and size varies for each actor */ } Actor; // size = 0x14C +typedef struct { + /* 0x00 */ u8 health; + /* 0x02 */ s16 unk_02; + /* 0x04 */ s16 unk_04; + /* 0x06 */ u8 mass; +} Sub98Init4; + +typedef struct { + /* 0x00 */ u8 health; + /* 0x02 */ s16 unk_10; + /* 0x04 */ s16 unk_12; + /* 0x06 */ u16 unk_14; + /* 0x08 */ u8 mass; +} Sub98Init5; + typedef enum { COLTYPE_CYLINDER = 1, COLTYPE_CYLINDER_GROUP = 0, diff --git a/spec b/spec index 8adfa49f1f..3959b14b72 100644 --- a/spec +++ b/spec @@ -670,25 +670,19 @@ endseg beginseg name "ovl_Arrow_Fire" include "build/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.o" - include "build/data/overlays/actors/z_arrow_fire.data.o" - include "build/data/overlays/actors/z_arrow_fire.rodata.o" - include "build/data/overlays/actors/z_arrow_fire.reloc.o" + include "build/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire_reloc.o" endseg beginseg name "ovl_Arrow_Ice" include "build/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.o" - include "build/data/overlays/actors/z_arrow_ice.data.o" - include "build/data/overlays/actors/z_arrow_ice.rodata.o" - include "build/data/overlays/actors/z_arrow_ice.reloc.o" + include "build/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice_reloc.o" endseg beginseg name "ovl_Arrow_Light" include "build/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.o" - include "build/data/overlays/actors/z_arrow_light.data.o" - include "build/data/overlays/actors/z_arrow_light.rodata.o" - include "build/data/overlays/actors/z_arrow_light.reloc.o" + include "build/src/overlays/actors/ovl_Arrow_Light/z_arrow_light_reloc.o" endseg beginseg diff --git a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c index 391c1798e6..af0fb9ca23 100644 --- a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c +++ b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c @@ -1,4 +1,11 @@ +/* + * File: z_arrow_fire.c + * Overlay: ovl_Arrow_Fire + * Description: Fire Arrow actor. Spawned by and attached to a normal arrow. + */ + #include "z_arrow_fire.h" +#include "../ovl_En_Arrow/z_en_arrow.h" #define ROOM 0x00 #define FLAGS 0x02000010 @@ -8,7 +15,12 @@ void ArrowFire_Destroy(ArrowFire* this, GlobalContext* globalCtx); void ArrowFire_Update(ArrowFire* this, GlobalContext* globalCtx); void ArrowFire_Draw(ArrowFire* this, GlobalContext* globalCtx); -/* +void ArrowFire_Charge(ArrowFire* this, GlobalContext* globalCtx); +void ArrowFire_Fly(ArrowFire* this, GlobalContext* globalCtx); +void ArrowFire_Hit(ArrowFire* this, GlobalContext* globalCtx); + +#include "z_arrow_fire_gfx.c" + const ActorInit Arrow_Fire_InitVars = { ACTOR_ARROW_FIRE, ACTORTYPE_ITEMACTION, @@ -21,21 +33,214 @@ const ActorInit Arrow_Fire_InitVars = { (ActorFunc)ArrowFire_Update, (ActorFunc)ArrowFire_Draw, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865D10.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Init.s") +static InitChainEntry initChain[] = { + ICHAIN_F32(unk_F4, 2000, ICHAIN_STOP), +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Destroy.s") +void ArrowFire_SetupAction(ArrowFire* this, ActorFunc* actionFunc) { + this->actionFunc = actionFunc; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865DD8.s") +void ArrowFire_Init(ArrowFire* this, GlobalContext* globalCtx) { + Actor_ProcessInitChain(&this->actor, initChain); + this->radius = 0; + this->unk_158 = 1.0f; + ArrowFire_SetupAction(&this->actor, ArrowFire_Charge); + Actor_SetScale(this, 0.01f); + this->alpha = 0xA0; + this->timer = 0; + this->unk_15C = 0.0f; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865ECC.s") +void ArrowFire_Destroy(ArrowFire* this, GlobalContext* globalCtx) { + func_800876C8(globalCtx); + LogUtils_LogThreadId("../z_arrow_fire.c", 421); + // Translates to: ""Disappearance" = Disappearance" + osSyncPrintf("\"消滅\" = %s\n", "消滅"); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_80865F1C.s") +void ArrowFire_Charge(ArrowFire* this, GlobalContext* globalCtx) { + EnArrow* arrow; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Fire/func_808660E8.s") + arrow = this->actor.attachedA; + if ((arrow == NULL) || (arrow->actor.update == NULL)) { + Actor_Kill(&this->actor); + return; + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Update.s") + if (this->radius < 10) { + this->radius += 1; + } + // copy position and rotation from the attached arrow + this->actor.posRot.pos = arrow->actor.posRot.pos; + this->actor.shape.rot = arrow->actor.shape.rot; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Fire/ArrowFire_Draw.s") + func_8002F974(&this->actor, NA_SE_PL_ARROW_CHARGE_FIRE); + + // If arrow's attached is null, Link has fired the arrow + if (arrow->actor.attachedA == NULL) { + this->unkPos = this->actor.posRot.pos; + this->radius = 10; + ArrowFire_SetupAction(this, ArrowFire_Fly); + this->alpha = 0xFF; + } +} + +void func_80865ECC(Vec3f* unkPos, Vec3f* firePos, f32 scale) { + unkPos->x += ((firePos->x - unkPos->x) * scale); + unkPos->y += ((firePos->y - unkPos->y) * scale); + unkPos->z += ((firePos->z - unkPos->z) * scale); +} + +void ArrowFire_Hit(ArrowFire* this, GlobalContext* globalCtx) { + f32 scale; + f32 offset; + u16 timer; + + if (this->actor.unk_F0 < 50.0f) { + scale = 10.0f; + } else { + if (950.0f < this->actor.unk_F0) { + scale = 310.0f; + } else { + scale = this->actor.unk_F0; + scale = ((scale - 50.0f) * (1.0f / 3.0f)) + 10.0f; + } + } + + timer = this->timer; + if (timer != 0) { + this->timer -= 1; + + if (this->timer >= 8) { + offset = ((this->timer - 8) * (1.0f / 24.0f)); + offset = SQ(offset); + this->radius = (((1.0f - offset) * scale) + 10.0f); + this->unk_158 += ((2.0f - this->unk_158) * 0.1f); + if (this->timer < 16) { + if (1) {} + this->alpha = ((this->timer * 0x23) - 0x118); + } + } + } + + if (this->timer >= 9) { + if (this->unk_15C < 1.0f) { + this->unk_15C += 0.25f; + } + } else { + if (this->unk_15C > 0.0f) { + this->unk_15C -= 0.125f; + } + } + + if (this->timer < 8) { + this->alpha = 0; + } + + if (this->timer == 0) { + this->timer = 255; + Actor_Kill(&this->actor); + } +} + +void ArrowFire_Fly(ArrowFire* this, GlobalContext* globalCtx) { + EnArrow* arrow; + f32 distanceScaled; + s32 pad; + + arrow = this->actor.attachedA; + if ((arrow == NULL) || (arrow->actor.update == NULL)) { + Actor_Kill(&this->actor); + return; + } + // copy position and rotation from the attached arrow + this->actor.posRot.pos = arrow->actor.posRot.pos; + this->actor.shape.rot = arrow->actor.shape.rot; + distanceScaled = Math_Vec3f_DistXYZ(&this->unkPos, &this->actor.posRot.pos) * (1.0f / 24.0f); + this->unk_158 = distanceScaled; + if (distanceScaled < 1.0f) { + this->unk_158 = 1.0f; + } + func_80865ECC(&this->unkPos, &this->actor.posRot.pos, 0.05f); + + if (arrow->hitWall & 1) { + Audio_PlayActorSound2(&this->actor, NA_SE_IT_EXPLOSION_FRAME); + ArrowFire_SetupAction(this, ArrowFire_Hit); + this->timer = 32; + this->alpha = 0xFF; + } else if (arrow->timer < 34) { + if (this->alpha < 0x23) { + Actor_Kill(&this->actor); + } else { + this->alpha -= 0x19; + } + } +} + +void ArrowFire_Update(ArrowFire* this, GlobalContext* globalCtx) { + if (globalCtx->msgCtx.msgMode == 0xD || globalCtx->msgCtx.msgMode == 0x11) { + Actor_Kill(&this->actor); + } else { + this->actionFunc(this, globalCtx); + } +} + +void ArrowFire_Draw(ArrowFire* this, GlobalContext* globalCtx) { + s32 pad1; + s32 pad2; + u32 stateFrames; + GraphicsContext* gfxCtx; + Actor* tranform; + EnArrow* arrow; + Gfx* gfxArr[4]; + + stateFrames = globalCtx->state.frames; + arrow = this->actor.attachedA; + if (1) {} + + if ((arrow != NULL) && (arrow->actor.update != NULL) && (this->timer < 255)) { + if (1) {} + tranform = (arrow->hitWall & 2) ? &this->actor : &arrow->actor; + // clang-format off + gfxCtx = globalCtx->state.gfxCtx; func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_fire.c", 618); + // clang-format on + Matrix_Translate(tranform->posRot.pos.x, tranform->posRot.pos.y, tranform->posRot.pos.z, MTXMODE_NEW); + Matrix_RotateY(tranform->shape.rot.y * (M_PI / 32768), MTXMODE_APPLY); + Matrix_RotateX(tranform->shape.rot.x * (M_PI / 32768), MTXMODE_APPLY); + Matrix_RotateZ(tranform->shape.rot.z * (M_PI / 32768), MTXMODE_APPLY); + Matrix_Scale(0.01f, 0.01f, 0.01f, MTXMODE_APPLY); + + // Draw red effect over the screen when arrow hits + if (this->unk_15C > 0) { + gfxCtx->polyXlu.p = func_800937C0(gfxCtx->polyXlu.p); + gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, (s32)(40.0f * this->unk_15C) & 0xFF, 0x00, 0x00, + (s32)(150.0f * this->unk_15C) & 0xFF); + gDPSetAlphaDither(gfxCtx->polyXlu.p++, G_AD_DISABLE); + gDPSetColorDither(gfxCtx->polyXlu.p++, G_CD_DISABLE); + gDPFillRectangle(gfxCtx->polyXlu.p++, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1); + } + + // Draw fire on the arrow + func_80093D84(globalCtx->state.gfxCtx); + gDPSetPrimColor(gfxCtx->polyXlu.p++, 0x80, 0x80, 0xFF, 0xC8, 0x00, this->alpha); + gDPSetEnvColor(gfxCtx->polyXlu.p++, 0xFF, 0x00, 0x00, 0x80); + Matrix_RotateZYX(0x4000, 0x0, 0x0, MTXMODE_APPLY); + if (this->timer != 0) { + Matrix_Translate(0.0f, 0.0f, 0.0f, MTXMODE_APPLY); + } else { + Matrix_Translate(0.0f, 1500.0f, 0.0f, MTXMODE_APPLY); + } + Matrix_Scale(this->radius * 0.2f, this->unk_158 * 4.0f, this->radius * 0.2f, MTXMODE_APPLY); + Matrix_Translate(0.0f, -700.0f, 0.0f, MTXMODE_APPLY); + gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_arrow_fire.c", 666), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(gfxCtx->polyXlu.p++, textureDL); + gSPDisplayList(gfxCtx->polyXlu.p++, + Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 255 - (stateFrames * 2) % 256, 0, 64, 32, 1, + 255 - stateFrames % 256, 511 - (stateFrames * 10) % 512, 64, 64)); + gSPDisplayList(gfxCtx->polyXlu.p++, vertexDL); + func_800C6B54(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_fire.c", 682); + } +} diff --git a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.h b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.h index abafd70da0..345d7409ed 100644 --- a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.h +++ b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.h @@ -6,7 +6,13 @@ typedef struct { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x20]; + /* 0x014C */ Vec3f unkPos; + /* 0x0158 */ f32 unk_158; + /* 0x015C */ f32 unk_15C; + /* 0x0160 */ ActorFunc actionFunc; + /* 0x0164 */ s16 radius; + /* 0x0166 */ u16 timer; + /* 0x0168 */ u8 alpha; } ArrowFire; // size = 0x016C extern const ActorInit Arrow_Fire_InitVars; diff --git a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire_gfx.c b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire_gfx.c new file mode 100644 index 0000000000..8c125d1d3c --- /dev/null +++ b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire_gfx.c @@ -0,0 +1,192 @@ +#include "z_arrow_fire.h" + +static UNK_TYPE texture1[] = { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000001, 0x00000000, 0x00000102, 0x01000001, 0x00000000, 0x00000000, 0x00010000, 0x00000000, + 0x00000001, 0x00000000, 0x00000204, 0x02000101, 0x00000000, 0x00000000, 0x00010101, 0x00000001, 0x00000001, + 0x00000000, 0x00000307, 0x03010102, 0x00000000, 0x00000000, 0x01010102, 0x00000002, 0x01010001, 0x00000000, + 0x00010509, 0x04010103, 0x01000000, 0x00000000, 0x01020202, 0x00000104, 0x03020101, 0x00000000, 0x0001060C, + 0x06010103, 0x01000000, 0x00000000, 0x02020202, 0x00000206, 0x05040101, 0x00000000, 0x0001080F, 0x07010103, + 0x01000001, 0x00000000, 0x03030202, 0x00010408, 0x07060201, 0x00000000, 0x00010911, 0x08010103, 0x01000001, + 0x00000001, 0x04040303, 0x0101050B, 0x0A080301, 0x00000000, 0x00020B14, 0x0A010103, 0x01000001, 0x00010102, + 0x06060403, 0x0203070D, 0x0C0A0401, 0x00000000, 0x00030D17, 0x0B020103, 0x01010001, 0x00010205, 0x09080503, + 0x0205090E, 0x0E0D0501, 0x00000000, 0x01050F18, 0x0C020102, 0x01010001, 0x00010408, 0x0D0B0502, 0x03070B0F, + 0x0F0F0601, 0x00000000, 0x02081219, 0x0D030102, 0x00010001, 0x0001050B, 0x130F0702, 0x04080B0F, 0x10110801, + 0x00000000, 0x030C1419, 0x0E040101, 0x00010001, 0x0001070F, 0x19140A03, 0x05090B0E, 0x10130A02, 0x00000001, + 0x05121719, 0x0E040100, 0x00010102, 0x01020A13, 0x1F1A0F06, 0x06090A0C, 0x10150B03, 0x01000001, 0x08181B19, + 0x0F050201, 0x01020102, 0x02040D18, 0x2721140A, 0x080A0A0C, 0x11160D04, 0x02020001, 0x0B1E1E19, 0x10070403, + 0x02030202, 0x0408111D, 0x2F2A1B0F, 0x0A0B0B0D, 0x12180F06, 0x04040101, 0x0E242119, 0x11090606, 0x04040304, + 0x070C1623, 0x38322214, 0x0E0D0E10, 0x141A1108, 0x06060102, 0x112A241A, 0x120B0909, 0x06050507, 0x0B111C29, + 0x413B291B, 0x13101216, 0x181B1209, 0x08080304, 0x152F271B, 0x140E0C0C, 0x0907080B, 0x10172230, 0x4A433223, + 0x1813161D, 0x1D1E140B, 0x0A0A0608, 0x1A342B1E, 0x17110F0F, 0x0C0B0D11, 0x171F2A38, 0x534C3B2B, 0x1E161C25, + 0x2221160D, 0x0B0C0A0E, 0x21393023, 0x1B151211, 0x0F0F1217, 0x1E273240, 0x5C564534, 0x251B242F, 0x2924190F, + 0x0E0E0F17, 0x293E372B, 0x21181513, 0x1113181E, 0x26303B48, 0x655F4E3E, 0x2D222D3A, 0x30271C13, 0x11111520, + 0x32453F35, 0x281D1714, 0x14181E25, 0x2F3A4551, 0x6F695746, 0x362B3744, 0x372A1F17, 0x15151D2A, 0x3D4D483F, + 0x31231A14, 0x171E252E, 0x38444F5B, 0x7974614F, 0x4036404C, 0x3C2D231D, 0x1A1A2637, 0x4957524A, 0x3A2A1D15, + 0x1A252E37, 0x43505B66, 0x837F6C59, 0x4A414750, 0x3F2E2723, 0x21213245, 0x57625D54, 0x43312216, 0x1F2D3741, + 0x4D5B6671, 0x8E8B7662, 0x544B4D51, 0x3F302C2C, 0x2B2D4054, 0x656D675E, 0x4C3A281A, 0x2536414B, 0x5867717B, + 0x9896816C, 0x5E545150, 0x3F323337, 0x383C5063, 0x71777168, 0x56432F21, 0x2C3F4B56, 0x63727C86, 0xA2A08B76, + 0x685D5651, 0x3F343A43, 0x484D5F70, 0x7D827B71, 0x5F4C3829, 0x34465462, 0x6F7C8690, 0xACA99581, 0x72655B53, + 0x42394450, 0x585E6D7C, 0x878C8479, 0x68574334, 0x3D4E5E6E, 0x7B88919A, 0xB4B09E8C, 0x7C6E6155, 0x46414F5F, + 0x676E7B87, 0x92958C80, 0x71625041, 0x4857697A, 0x86929BA3, 0xBBB7A796, 0x86776658, 0x4D4B5C6E, 0x777D8791, + 0x9C9F9487, 0x7A6D5C4F, 0x54617486, 0x919CA4AB, 0xC2BBAFA1, 0x907F6C5D, 0x55576A7E, 0x8589929A, 0xA5A99D90, + 0x8478695E, 0x5F697F93, 0x9DA6ACB2, 0xC8BFB6AC, 0x9A877465, 0x6064788D, 0x92949BA1, 0xADB2A89C, 0x8F83766C, + 0x6A718AA1, 0xA9AFB2B8, 0xCEC3BDB6, 0xA4907E70, 0x6C72879B, 0x9C9CA2A8, 0xB5BBB3A9, 0x9B8E8279, 0x737693AE, + 0xB4B6B9BE, 0xD5C9C5BF, 0xAF9C8B7E, 0x7A8094A5, 0xA4A0A7B0, 0xBDC5C0B7, 0xA8998E85, 0x7B7B9AB7, 0xBDBEC0C5, + 0xDBCFCCC8, 0xBAA9998E, 0x898E9FAD, 0xA8A1ACB8, 0xC6CECCC5, 0xB6A4988F, 0x8381A0BE, 0xC4C6C8CD, 0xE0D4D3D1, + 0xC5B7A89D, 0x989CA8B3, 0xABA2B0C0, 0xCED8D8D2, 0xC2AEA298, 0x8C89A6C3, 0xCACED1D5, 0xE5DBDAD8, 0xD0C4B6AB, + 0xA6A8B1B8, 0xAEA4B5C7, 0xD6E0E3DE, 0xCDB7ABA2, 0x9590ACC9, 0xD0D5D9DC, 0xEBE1E0DE, 0xDAD1C4B9, 0xB2B2B8BC, + 0xB1A7B9CE, 0xDEE8ECE8, 0xD6BDB3AC, 0x9E98B3CE, 0xD6DBE0E3, 0xF0E9E6E3, 0xE3DDD2C6, 0xBCBABEC0, 0xB4AABED5, + 0xE5EFF3F0, 0xDDC2BBB6, 0xA79FB9D4, 0xDCE2E7E9, 0xF5F0ECE7, 0xEAE8DED2, 0xC6C1C2C3, 0xB7ADC4DD, 0xEBF3F8F5, + 0xE1C6C2C1, 0xB1A7BFD8, 0xE1E7EDF0, 0xF9F5F1EB, 0xF0F0E9DD, 0xCFC7C7C6, 0xBBB1CBE5, 0xF0F5FBF7, 0xE3CACACC, + 0xBBB0C5DC, 0xE5ECF4F6, 0xFCF9F5EE, 0xF5F7F0E7, 0xD7CDCCCB, 0xBFB7D2EB, 0xF4F7FBF6, 0xE4CDD2D6, 0xC6B9CBE0, + 0xE9F1F9FB, 0xFDFCF8F2, 0xF9FAF6EE, 0xDFD5D3D0, 0xC5BDD9F0, 0xF7F9FBF4, 0xE5D0D9E0, 0xD1C2D2E4, 0xEDF5FCFE, + 0xFEFDFAF4, 0xFBFCF9F3, 0xE6DDDAD7, 0xCBC3DEF4, 0xFAFBFCF3, 0xE5D3DEE8, 0xDBCDDAE9, 0xF2F8FEFF, 0xFEFDFCF6, + 0xFCFDFCF7, 0xECE4E2DF, 0xD2C9E3F7, 0xFCFDFBF3, 0xE5D6E4EF, 0xE3D6E1EE, 0xF6FAFEFF, 0xFEFDFDF8, 0xFCFDFDFA, + 0xF1EAE9E7, 0xD9CFE7F9, 0xFEFEFBF3, 0xE7DBE9F4, 0xEBDFE8F3, 0xF9FCFFFF, 0xFEFDFDFA, 0xFDFDFEFC, 0xF5EFEFEE, + 0xE0D5ECFB, 0xFFFEFBF3, 0xE9E1EEF8, 0xF0E6EEF6, 0xFCFDFFFF, 0xFEFDFEFC, 0xFEFDFEFE, 0xF8F4F4F3, 0xE7DDF1FD, + 0xFFFEFBF3, 0xECE7F3FC, 0xF5ECF2F9, 0xFDFEFFFF, 0xFEFDFFFE, 0xFFFDFEFE, 0xFAF7F8F7, 0xEDE5F5FE, 0xFFFEFBF5, + 0xF0EDF7FD, 0xF9F1F5FA, 0xFEFFFFFF, 0xFEFDFFFF, 0xFFFEFEFF, 0xFCFAFAFA, 0xF2ECF8FE, 0xFFFEFCF7, 0xF4F3FAFE, + 0xFBF6F8FB, 0xFEFFFFFF, 0xFEFDFFFF, 0xFFFEFEFF, 0xFDFCFCFC, 0xF7F2FBFF, 0xFFFEFCFA, 0xF8F7FCFF, 0xFEFAFBFC, + 0xFFFFFFFF, 0xFEFEFFFF, 0xFFFFFFFF, 0xFEFDFEFD, 0xFAF7FCFF, 0xFFFEFDFC, 0xFCFBFDFF, 0xFFFDFDFD, 0xFFFFFFFF, + 0xFFFEFFFF, 0xFFFFFFFF, 0xFFFEFEFE, 0xFCFAFDFF, 0xFFFEFEFE, 0xFEFDFEFF, 0xFFFFFEFD, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFDFCFEFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFEFEFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, +}; + +static UNK_TYPE texture2[] = { + 0x2F3E56AB, 0xA4582102, 0x10417AB0, 0x805C312A, 0x32376DD4, 0xA2633907, 0x0B387DA2, 0x6D81470C, 0x3C5C60AC, + 0xA5571801, 0x154C97B9, 0x68533236, 0x304276D6, 0x9B533108, 0x154A96B7, 0x7C9B400B, 0x3E756FAE, 0xAF5D1301, + 0x1D59B4BF, 0x53432C38, 0x2F487DCC, 0x8A4A2406, 0x1F5DB0C8, 0x90B55110, 0x408B7FAA, 0xB76D1503, 0x286ACCBE, + 0x43312030, 0x2B4C82BA, 0x77431607, 0x2B70C7D5, 0xA6B95B13, 0x409C93A6, 0xB87D1D08, 0x367FE1C1, 0x3C261629, + 0x2A508AAB, 0x69410C0C, 0x3986DDDB, 0xB5AE6316, 0x40A0A7A1, 0xAA7D2610, 0x4596F1CD, 0x47281E36, 0x365C97A3, + 0x63450713, 0x499DF0D8, 0xB49E721A, 0x409AB59F, 0x8A662D1C, 0x57AEFBDF, 0x6B404456, 0x536EA49B, 0x6A4D061E, + 0x5CB6FCC6, 0x9A8E7F20, 0x428EBEA0, 0x623F2E2A, 0x69C6FFF0, 0x9A686569, 0x6F83AC92, 0x7F5D0B2A, 0x70CDFFB2, + 0x77848D29, 0x4787C4A0, 0x401D2E3E, 0x7ED9FFFC, 0xC48F7973, 0x8598AE86, 0x9A701339, 0x85E1FFA6, 0x5E859534, + 0x5189C99B, 0x2C0B3455, 0x92E9FFFA, 0xDCAB8071, 0x94ACAD7A, 0xB1882249, 0x9AF1FFB0, 0x6A8F9746, 0x6394CD8D, + 0x290C416F, 0xA5EEFFF4, 0xDCB46B6D, 0xA1BFAD77, 0xB6A43A58, 0xAAF8FFC8, 0x84959963, 0x7BA4CE78, 0x351A588E, + 0xB5E3F9F1, 0xCFAC6077, 0xABCFAC77, 0xA8C05A6A, 0xB2F3FFE1, 0xA3959471, 0x94B9D065, 0x473274A9, 0xBDCDECEF, + 0xC2A05F86, 0xBADDAC78, 0x92D87C7D, 0xAFDEFDF1, 0xBC8C8971, 0xA6D2D45A, 0x584B95BB, 0xC1B3D5ED, 0xB8956697, + 0xC5E9A670, 0x7AE6978F, 0xA4BEF0EF, 0xB9797360, 0xB1E8DD5D, 0x5D5FAFC7, 0xC49CB8E3, 0xAF8C78A5, 0xCBF19D5F, + 0x6AE5A6A3, 0x9398DBE7, 0xB46A5841, 0xB8F2E871, 0x586DC1CD, 0xC78C9DD5, 0xAA878CB1, 0xD8F89249, 0x63DCABB3, + 0x8576C5D8, 0xA95E4430, 0xC0EBEE91, 0x5378CACE, 0xC58087C5, 0xA4859EAE, 0xE1FD8A36, 0x60D0ACBD, 0x7765B9C5, + 0x9C563A2B, 0xCED7E7B4, 0x5484C7CC, 0xB66F7CBB, 0x9F81A898, 0xE3FF8D2E, 0x63C8B0BA, 0x6D69B8B0, 0x93573B2E, + 0xE0C2CED2, 0x6898C0C3, 0x97587EBC, 0x9D749570, 0xDEFF9D36, 0x67C8B4A8, 0x6682BD9B, 0x93643E37, 0xF0B4A8DE, + 0x86A9B6B0, 0x70448BBE, 0x99617545, 0xD1FFB84E, 0x70CAB48C, 0x64A4BD8D, 0x96763D41, 0xFAAC82DA, 0xA7B6AE9A, + 0x4D359AC0, 0x90494F27, 0xC0FFD675, 0x80CCAD6D, 0x63C1B681, 0x9C85374E, 0xFFA069C9, 0xC1BAA785, 0x3936A4B6, + 0x7D342E18, 0xA9FFEEA5, 0x9AC59F56, 0x60D0A873, 0x9288315E, 0xFB8669B6, 0xD0B6A473, 0x3C47A39A, 0x6228241B, + 0x8BFFF6CD, 0xB7BB8F47, 0x57CFA169, 0x77782C6B, 0xE56478AA, 0xD6AC9E64, 0x4E61977C, 0x4B232428, 0x6FFFEBE5, + 0xD0AF813C, 0x44C2A266, 0x5B61296E, 0xC04188A8, 0xD4A09051, 0x5D788B61, 0x3E202234, 0x58F9D7DF, 0xDEA27332, + 0x31AE9A6C, 0x3E4B2F62, 0x902688B3, 0xD0937A3F, 0x5D7D8B58, 0x37241F35, 0x46F2C5BF, 0xD7956528, 0x1E918E76, + 0x3442424A, 0x601774C3, 0xCB8F6630, 0x48698261, 0x333C2729, 0x3CECBF95, 0xC2885420, 0x11717B78, 0x4952673A, + 0x3D1153CD, 0xC994602F, 0x2D496F6D, 0x31674418, 0x32E7CA6C, 0xA77D4318, 0x09526672, 0x6B6F963E, 0x2B1036D0, + 0xCAA26E3C, 0x1B2A5A7B, 0x3798700F, 0x2BDFD94D, 0x8C773712, 0x043C606C, 0x9086B955, 0x281225C9, 0xC7AD8954, + 0x141B4085, 0x53CB9C10, 0x26D3E63A, 0x757A3B11, 0x0131666F, 0xAB87BA6A, 0x2E151FBF, 0xC1AEA16A, 0x1721388C, + 0x81ECBB17, 0x23C1EE30, 0x6688561E, 0x02317381, 0xA36A9566, 0x3B171FB9, 0xB5A5AF7A, 0x1B384395, 0xABFBC81D, + 0x20AAEB28, 0x61987838, 0x05358299, 0x85405D4E, 0x45181FB5, 0xA695B083, 0x1C55569C, 0xCEFFCF1E, 0x1A8CDA24, + 0x62A39755, 0x0A398FAE, 0x601A2A2C, 0x49161FB1, 0x9A8BAC8A, 0x23736DA0, 0xE0FFD61E, 0x136BAF23, 0x70ABAD6D, + 0x143D95BD, 0x41030D16, 0x41151DAA, 0x938BAA94, 0x2E8A8BA7, 0xE6FFD921, 0x0C4A7D2D, 0x7CACAB70, 0x244093C3, + 0x38020F11, 0x2F151CA3, 0x9293ABA1, 0x3995AAB7, 0xEDF7D924, 0x072F5842, 0x83AE9C66, 0x3F498EC7, 0x420D2812, + 0x1E151F9B, 0x989CB0B2, 0x4697C5CE, 0xF5F0D626, 0x061B435B, 0x85B18A5B, 0x5F568BCD, 0x54245213, 0x12172593, + 0x9FA1BAC0, 0x5291D4E1, 0xFAF0D123, 0x0711416F, 0x82B2765B, 0x84668FCB, 0x684D8212, 0x1318308A, 0xA3A2C2C6, + 0x5F88D3EE, 0xFEF6C81B, 0x0B104276, 0x85B06A72, 0xA97896C3, 0x7C81AC19, 0x24194083, 0xA2A0C6C4, 0x6A82CCF1, + 0xFFFFB910, 0x14173E77, 0x8BAE6992, 0xC6879BB4, 0x92B3C933, 0x3C1D4F7D, 0x9DA2CCBE, 0x7381C6E6, 0xFFFFB111, + 0x26233975, 0x92AF6DAF, 0xDB949AA3, 0xADDBDD64, 0x5927597B, 0x99AAD4B9, 0x7687C6D5, 0xFCFFB736, 0x432D3A78, + 0x98B371BD, 0xE5A0989E, 0xCCF2EAA0, 0x753C5C80, 0x9DB9E3BC, 0x7896CFBF, 0xF6FFCB72, 0x64323F81, 0x9CBC70B4, + 0xE3AC9EAD, 0xE6FBF6CF, 0x8B5C5C85, 0xA7C8F4C2, 0x7AA6D9A3, 0xF0FFE2A9, 0x8032448D, 0xA4C970A0, 0xDBB5AAC6, + 0xF7FEFDE7, 0xA3806187, 0xB0D6FFC9, 0x7FB5D686, 0xE7FFF0D2, 0x8D2F4E98, 0xABD7768D, 0xCFB9B4E1, 0xF8F8FFE7, + 0xB29B7089, 0xB7E4FFCD, 0x8CB8BF65, 0xD5FFF0D7, 0x8D34609D, 0xB4E48385, 0xC3BAB0F1, 0xE2E8FEDC, 0xB5A07A8D, + 0xBDEFFFD0, 0x9AAB9543, 0xB9FFE9C3, 0x80447497, 0xC0EF9C90, 0xBDB997E5, 0xC2CCFBD4, 0xAB8F7387, 0xC8F8FFD4, + 0xA4936324, 0x98FFE5B3, 0x6F577E8A, 0xCEFABCA8, 0xC0BC71C7, 0x9EADF4D2, 0x916D5D7B, 0xD4FEFFD6, 0xA575390F, + 0x76FFE4A6, 0x656A7F7D, 0xDDFFDABF, 0xC8BF4CA1, 0x8095E8CC, 0x744A3B66, 0xDAFFFFD6, 0x9D5B1E04, 0x5DFDDF9A, + 0x6075787A, 0xECFFF1CD, 0xCEC42E7C, 0x7087D6BF, 0x5A311F49, 0xD4FFFFD0, 0x8E4B1100, 0x50F7D892, 0x68767788, + 0xF6FFFDCE, 0xCDC31E65, 0x6E88C3A8, 0x4922153A, 0xC3FFFDC4, 0x7F410B03, 0x4BEED08B, 0x747682A0, 0xFDFFFEBF, + 0xBCB61456, 0x7792B18B, 0x3E19153D, 0xB5FFF8B2, 0x733B0908, 0x4DE0C487, 0x827797BC, 0xFFFFF8AB, 0x9E9B0E50, + 0x869E9F6E, 0x3714184D, 0xB5FFF09E, 0x67380C11, 0x56CFB285, 0x8F7EADD4, 0xFFFFED96, 0x78730A53, 0x9CA98F57, + 0x310F1C69, 0xC8FFE18A, 0x5D35161D, 0x64BC9E84, 0x978BBFE7, 0xFFFFDD81, 0x5348075A, 0xB5B07F48, 0x290A2088, + 0xE1FFCF75, 0x5335272B, 0x74AD877F, 0x9C9DCFF3, 0xFFFEC86E, 0x35260864, 0xC6B16F3E, 0x200422A6, 0xF8FCB95F, + 0x47373A3C, 0x86A36F73, 0x9FB0D9FA, 0xFFF7B15B, 0x21110E70, 0xCDAB6139, 0x160027C1, 0xFFF09F4C, 0x3B3A4B4D, + 0x989D5B5D, 0x9DB5D9FE, 0xFFEA994C, 0x1509177B, 0xC8A15C3C, 0x0E022BD1, 0xFFE1873B, 0x2F3E5460, 0xA8954F44, + 0x96A6CEFF, 0xFFD7823C, 0x0C0A2784, 0xB9956343, 0x0B0731DB, 0xFFCE722C, 0x22415672, 0xB58C4A31, 0x8A88BAFF, + 0xFAC56E2E, 0x060F398F, 0xA989764A, 0x0A0C3AE1, 0xFFB85F20, 0x17425787, 0xBF824826, 0x775FA3FF, 0xF1B66121, + 0x03164B98, 0x9A818E4A, 0x0A1040D4, 0xE8974D14, 0x11405495, 0xBB74401F, 0x603D86F1, 0xD7A35414, 0x02195694, + 0x8476943E, 0x171A46C5, 0xCC7D3D0C, 0x0D3E599E, 0xAE6C371C, 0x4A2D72E3, 0xC38F4C0E, 0x03205F96, 0x766A792A, + 0x242B4FB8, 0xB66A2E06, 0x0D3E66AA, 0x9B663322, 0x3B2D6CDD, 0xB47B450A, 0x062B6E9C, 0x6E705D17 +}; + +static UNK_TYPE vertices1[] = { + 0x00420271, 0xFFBE0000, 0x060006C2, 0x3E52C2FF, 0x000002BC, 0x00000000, 0x07000800, 0x007800FF, 0x005D0271, + 0x00000000, 0x080006C2, 0x575200FF, 0x00BD01DB, 0xFFB20000, 0x07000419, 0x5E3FD9FF, 0x00BD01DB, 0x004E0000, + 0x09000419, 0x5E3F27FF, 0x01AF001B, 0x00000000, 0x08000005, 0x6B3500FF, 0x0131001B, 0x01310000, 0x0A000005, + 0x4C354CFF, 0x000002BC, 0x00000000, 0x09000800, 0x007800FF, 0x00420271, 0x00420000, 0x0A0006C2, 0x3E523EFF, + 0x004E01DB, 0x00BD0000, 0x0B000419, 0x273F5EFF, 0x0000001B, 0x01AF0000, 0x0C000005, 0x00356BFF, 0x000002BC, + 0x00000000, 0x0B000800, 0x007800FF, 0x00000271, 0x005D0000, 0x0C0006C2, 0x005257FF, 0xFFB201DB, 0x00BD0000, + 0x0D000419, 0xD93F5EFF, 0xFECF001B, 0x01310000, 0x0E000005, 0xB4354CFF, 0x000002BC, 0x00000000, 0x0D000800, + 0x007800FF, 0xFFBE0271, 0x00420000, 0x0E0006C2, 0xC2523EFF, 0xFF4301DB, 0x004E0000, 0x0F000419, 0xA23F27FF, + 0xFE51001B, 0x00000000, 0x10000005, 0x953500FF, 0xFFA30271, 0x00000000, 0x100006C2, 0xA95200FF, 0xFF4301DB, + 0xFFB20000, 0x11000419, 0xA23FD9FF, 0xFE51001B, 0x00000000, 0x00000005, 0x953500FF, 0xFF4301DB, 0xFFB20000, + 0x01000419, 0xA23FD9FF, 0xFECF001B, 0xFECF0000, 0x02000005, 0xB435B4FF, 0xFFA30271, 0x00000000, 0x000006C2, + 0xA95200FF, 0x000002BC, 0x00000000, 0x01000800, 0x007800FF, 0xFFBE0271, 0xFFBE0000, 0x020006C2, 0xC252C2FF, + 0xFFB201DB, 0xFF430000, 0x03000419, 0xD93FA2FF, 0x0000001B, 0xFE510000, 0x04000005, 0x003595FF, 0x000002BC, + 0x00000000, 0x03000800, 0x007800FF, 0x00000271, 0xFFA30000, 0x040006C2, 0x0052A9FF, 0x004E01DB, 0xFF430000, + 0x05000419, 0x273FA2FF, +}; + +static UNK_TYPE vertices2[] = { + 0x0000001B, 0xFE510000, 0x04000005, 0x003595FF, 0x004E01DB, 0xFF430000, 0x05000419, 0x273FA2FF, 0x0131001B, + 0xFECF0000, 0x06000005, 0x4C35B4FF, 0x00000271, 0xFFA30000, 0x040006C2, 0x0052A9FF, 0x000002BC, 0x00000000, + 0x05000800, 0x007800FF, 0x00420271, 0xFFBE0000, 0x060006C2, 0x3E52C2FF, 0x00BD01DB, 0xFFB20000, 0x07000419, + 0x5E3FD9FF, 0x01AF001B, 0x00000000, 0x08000005, 0x6B3500FF, 0xFFBE0271, 0x00420000, 0x060006C2, 0xC2523EFF, + 0x000002BC, 0x00000000, 0x07000800, 0x007800FF, 0xFFA30271, 0x00000000, 0x080006C2, 0xA95200FF, +}; + +static Gfx textureDL[] = { + gsDPPipeSync(), + gsDPSetTextureLUT(G_TT_NONE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPLoadTextureBlock(texture1, G_IM_FMT_I, G_IM_SIZ_8b, 32, 64, 0, G_TX_NOMIRROR | G_TX_WRAP, + G_TX_MIRROR | G_TX_WRAP, 5, 6, 1, 15), + gsDPLoadMultiBlock(texture2, 0x0100, 1, G_IM_FMT_I, G_IM_SIZ_8b, 32, 64, 0, G_TX_NOMIRROR | G_TX_WRAP, + G_TX_MIRROR | G_TX_WRAP, 5, 6, 1, G_TX_NOLOD), + gsDPSetCombineLERP(TEXEL1, PRIMITIVE, ENV_ALPHA, TEXEL0, TEXEL1, 1, ENVIRONMENT, TEXEL0, PRIMITIVE, ENVIRONMENT, + COMBINED, ENVIRONMENT, COMBINED, 0, PRIMITIVE, 0), + gsDPSetRenderMode(Z_CMP | IM_RD | CVG_DST_SAVE | ZMODE_XLU | FORCE_BL | + GBL_c1(G_BL_CLR_IN, G_BL_0, G_BL_CLR_IN, G_BL_1), + G_RM_ZB_CLD_SURF2), + gsSPClearGeometryMode(G_CULL_BACK | G_FOG | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR), + gsSPSetGeometryMode(G_LIGHTING), + gsSPEndDisplayList(), +}; + +static Gfx vertexDL[] = { + gsSPVertex(vertices1, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(3, 2, 4, 0, 3, 4, 5, 0), + gsSP2Triangles(5, 4, 6, 0, 2, 7, 8, 0), + gsSP2Triangles(2, 8, 4, 0, 4, 8, 9, 0), + gsSP2Triangles(4, 9, 6, 0, 6, 9, 10, 0), + gsSP2Triangles(8, 11, 12, 0, 8, 12, 9, 0), + gsSP2Triangles(9, 12, 13, 0, 9, 13, 10, 0), + gsSP2Triangles(10, 13, 14, 0, 12, 15, 16, 0), + gsSP2Triangles(12, 16, 13, 0, 13, 16, 17, 0), + gsSP2Triangles(13, 17, 14, 0, 14, 17, 18, 0), + gsSP2Triangles(16, 19, 17, 0, 17, 19, 20, 0), + gsSP2Triangles(17, 20, 18, 0, 21, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 22, 0), + gsSP2Triangles(22, 26, 27, 0, 22, 27, 23, 0), + gsSP2Triangles(23, 27, 28, 0, 26, 29, 30, 0), + gsSP2Triangles(26, 30, 27, 0, 27, 30, 31, 0), + gsSP1Triangle(27, 31, 28, 0), + gsSPVertex(vertices2, 11, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(3, 5, 1, 0, 1, 5, 6, 0), + gsSP2Triangles(1, 6, 2, 0, 2, 6, 7, 0), + gsSP1Triangle(8, 9, 10, 0), + gsSPEndDisplayList(), +}; diff --git a/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c b/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c index c13d3f928f..5b70457f49 100644 --- a/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c +++ b/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c @@ -1,4 +1,11 @@ +/* + * File: z_arrow_ice.c + * Overlay: ovl_Arrow_Ice + * Description: Ice Arrow actor. Spawned by and attached to a normal arrow. + */ + #include "z_arrow_ice.h" +#include "../ovl_En_Arrow/z_en_arrow.h" #define ROOM 0x00 #define FLAGS 0x02000010 @@ -8,7 +15,12 @@ void ArrowIce_Destroy(ArrowIce* this, GlobalContext* globalCtx); void ArrowIce_Update(ArrowIce* this, GlobalContext* globalCtx); void ArrowIce_Draw(ArrowIce* this, GlobalContext* globalCtx); -/* +void ArrowIce_Charge(ArrowIce* this, GlobalContext* globalCtx); +void ArrowIce_Fly(ArrowIce* this, GlobalContext* globalCtx); +void ArrowIce_Hit(ArrowIce* this, GlobalContext* globalCtx); + +#include "z_arrow_ice_gfx.c" + const ActorInit Arrow_Ice_InitVars = { ACTOR_ARROW_ICE, ACTORTYPE_ITEMACTION, @@ -21,21 +33,214 @@ const ActorInit Arrow_Ice_InitVars = { (ActorFunc)ArrowIce_Update, (ActorFunc)ArrowIce_Draw, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867CD0.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Init.s") +static InitChainEntry initChain[] = { + ICHAIN_F32(unk_F4, 2000, ICHAIN_STOP), +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Destroy.s") +void ArrowIce_SetupAction(ArrowIce* this, ActorFunc* actionFunc) { + this->actionFunc = actionFunc; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867D98.s") +void ArrowIce_Init(ArrowIce* this, GlobalContext* globalCtx) { + Actor_ProcessInitChain(&this->actor, initChain); + this->radius = 0; + this->unk_160 = 1.0f; + ArrowIce_SetupAction(this, ArrowIce_Charge); + Actor_SetScale(&this->actor, 0.01f); + this->alpha = 0x64; + this->timer = 0; + this->unk_164 = 0.0f; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867E8C.s") +void ArrowIce_Destroy(ArrowIce* this, GlobalContext* globalCtx) { + func_800876C8(globalCtx); + LogUtils_LogThreadId("../z_arrow_ice.c", 415); + // Translates to: ""Disappearance" = Disappearance" + osSyncPrintf("\"消滅\" = %s\n", "消滅"); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_80867EDC.s") +void ArrowIce_Charge(ArrowIce* this, GlobalContext* globalCtx) { + EnArrow* arrow; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Ice/func_808680A8.s") + arrow = this->actor.attachedA; + if ((arrow == NULL) || (arrow->actor.update == NULL)) { + Actor_Kill(&this->actor); + return; + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Update.s") + if (this->radius < 10) { + this->radius += 1; + } + // copy position and rotation from the attached arrow + this->actor.posRot.pos = arrow->actor.posRot.pos; + this->actor.shape.rot = arrow->actor.shape.rot; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Ice/ArrowIce_Draw.s") + func_8002F974(&this->actor, NA_SE_PL_ARROW_CHARGE_ICE); + + // If arrow's attached is null, Link has fired the arrow + if (arrow->actor.attachedA == NULL) { + this->unkPos = this->actor.posRot.pos; + this->radius = 10; + ArrowIce_SetupAction(this, ArrowIce_Fly); + this->alpha = 0xFF; + } +} + +void func_80867E8C(Vec3f* unkPos, Vec3f* icePos, f32 scale) { + unkPos->x += ((icePos->x - unkPos->x) * scale); + unkPos->y += ((icePos->y - unkPos->y) * scale); + unkPos->z += ((icePos->z - unkPos->z) * scale); +} + +void ArrowIce_Hit(ArrowIce* this, GlobalContext* globalCtx) { + f32 scale; + f32 offset; + u16 timer; + + if (this->actor.unk_F0 < 50.0f) { + scale = 10.0f; + } else { + if (950.0f < this->actor.unk_F0) { + scale = 310.0f; + } else { + scale = this->actor.unk_F0; + scale = ((scale - 50.0f) * (1.0f / 3.0f)) + 10.0f; + } + } + + timer = this->timer; + if (timer != 0) { + this->timer -= 1; + + if (this->timer >= 8) { + offset = ((this->timer - 8) * (1.0f / 24.0f)); + offset = SQ(offset); + this->radius = (((1.0f - offset) * scale) + 10.0f); + this->unk_160 += ((2.0f - this->unk_160) * 0.1f); + if (this->timer < 16) { + if (1) {} + this->alpha = ((this->timer * 0x23) - 0x118); + } + } + } + + if (this->timer >= 9) { + if (this->unk_164 < 1.0f) { + this->unk_164 += 0.25f; + } + } else { + if (this->unk_164 > 0.0f) { + this->unk_164 -= 0.125f; + } + } + + if (this->timer < 8) { + this->alpha = 0; + } + + if (this->timer == 0) { + this->timer = 255; + Actor_Kill(&this->actor); + } +} + +void ArrowIce_Fly(ArrowIce* this, GlobalContext* globalCtx) { + EnArrow* arrow; + f32 distanceScaled; + s32 pad; + + arrow = this->actor.attachedA; + if ((arrow == NULL) || (arrow->actor.update == NULL)) { + Actor_Kill(&this->actor); + return; + } + // copy position and rotation from the attached arrow + this->actor.posRot.pos = arrow->actor.posRot.pos; + this->actor.shape.rot = arrow->actor.shape.rot; + distanceScaled = Math_Vec3f_DistXYZ(&this->unkPos, &this->actor.posRot.pos) * (1.0f / 24.0f); + this->unk_160 = distanceScaled; + if (distanceScaled < 1.0f) { + this->unk_160 = 1.0f; + } + func_80867E8C(&this->unkPos, &this->actor.posRot.pos, 0.05f); + + if (arrow->hitWall & 1) { + Audio_PlayActorSound2(&this->actor, NA_SE_IT_EXPLOSION_ICE); + ArrowIce_SetupAction(this, ArrowIce_Hit); + this->timer = 32; + this->alpha = 0xFF; + } else if (arrow->timer < 34) { + if (this->alpha < 0x23) { + Actor_Kill(&this->actor); + } else { + this->alpha -= 0x19; + } + } +} + +void ArrowIce_Update(ArrowIce* this, GlobalContext* globalCtx) { + if (globalCtx->msgCtx.msgMode == 0xD || globalCtx->msgCtx.msgMode == 0x11) { + Actor_Kill(&this->actor); + } else { + this->actionFunc(this, globalCtx); + } +} + +void ArrowIce_Draw(ArrowIce* this, GlobalContext* globalCtx) { + s32 pad1; + s32 pad2; + Actor* tranform; + u32 stateFrames; + GraphicsContext* gfxCtx; + EnArrow* arrow; + Gfx* gfxArr[4]; + + stateFrames = globalCtx->state.frames; + arrow = this->actor.attachedA; + if (1) {} + + if ((arrow != NULL) && (arrow->actor.update != NULL) && (this->timer < 255)) { + if (1) {} + tranform = (arrow->hitWall & 2) ? &this->actor : &arrow->actor; + // clang-format off + gfxCtx = globalCtx->state.gfxCtx; func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_ice.c", 610); + // clang-format on + Matrix_Translate(tranform->posRot.pos.x, tranform->posRot.pos.y, tranform->posRot.pos.z, MTXMODE_NEW); + Matrix_RotateY(tranform->shape.rot.y * (M_PI / 32768), MTXMODE_APPLY); + Matrix_RotateX(tranform->shape.rot.x * (M_PI / 32768), MTXMODE_APPLY); + Matrix_RotateZ(tranform->shape.rot.z * (M_PI / 32768), MTXMODE_APPLY); + Matrix_Scale(0.01f, 0.01f, 0.01f, MTXMODE_APPLY); + + // Draw blue effect over the screen when arrow hits + if (this->unk_164 > 0) { + gfxCtx->polyXlu.p = func_800937C0(gfxCtx->polyXlu.p); + gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 0, (s32)(10.0f * this->unk_164) & 0xFF, + (s32)(50.0f * this->unk_164) & 0xFF, (s32)(150.0f * this->unk_164) & 0xFF); + gDPSetAlphaDither(gfxCtx->polyXlu.p++, G_AD_DISABLE); + gDPSetColorDither(gfxCtx->polyXlu.p++, G_CD_DISABLE); + gDPFillRectangle(gfxCtx->polyXlu.p++, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1); + } + + // Draw ice on the arrow + func_80093D84(globalCtx->state.gfxCtx); + gDPSetPrimColor(gfxCtx->polyXlu.p++, 0x80, 0x80, 0xAA, 0xFF, 0xFF, this->alpha); + gDPSetEnvColor(gfxCtx->polyXlu.p++, 0x00, 0x00, 0xFF, 0x80); + Matrix_RotateZYX(0x4000, 0x0, 0x0, MTXMODE_APPLY); + if (this->timer != 0) { + Matrix_Translate(0.0f, 0.0f, 0.0f, MTXMODE_APPLY); + } else { + Matrix_Translate(0.0f, 1500.0f, 0.0f, MTXMODE_APPLY); + } + Matrix_Scale(this->radius * 0.2f, this->unk_160 * 3.0f, this->radius * 0.2f, MTXMODE_APPLY); + Matrix_Translate(0.0f, -700.0f, 0.0f, MTXMODE_APPLY); + gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_arrow_ice.c", 660), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(gfxCtx->polyXlu.p++, textureDL); + gSPDisplayList(gfxCtx->polyXlu.p++, + Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 511 - (stateFrames * 5) % 512, 0, 128, 32, 1, + 511 - (stateFrames * 10) % 512, 511 - (stateFrames * 10) % 512, 4, 16)); + gSPDisplayList(gfxCtx->polyXlu.p++, vertexDL); + func_800C6B54(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_ice.c", 676); + } +} diff --git a/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.h b/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.h index 25f6f108d8..7a15734797 100644 --- a/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.h +++ b/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.h @@ -6,7 +6,13 @@ typedef struct { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x20]; + /* 0x014C */ s16 radius; + /* 0x014E */ u16 timer; + /* 0x0150 */ u8 alpha; + /* 0x0154 */ Vec3f unkPos; + /* 0x0160 */ f32 unk_160; + /* 0x0164 */ f32 unk_164; + /* 0x0168 */ ActorFunc actionFunc; } ArrowIce; // size = 0x016C extern const ActorInit Arrow_Ice_InitVars; diff --git a/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice_gfx.c b/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice_gfx.c new file mode 100644 index 0000000000..664e9d3e4b --- /dev/null +++ b/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice_gfx.c @@ -0,0 +1,192 @@ +#include "z_arrow_ice.h" + +static UNK_TYPE texture1[] = { + 0x00061507, 0x00000000, 0x295A2B08, 0x10030F03, 0x0D070006, 0x00031625, 0x3F230012, 0x79590000, 0x00102C2A, + 0x254A1B0E, 0xAFF66600, 0x00467E29, 0x08020000, 0x03383E0B, 0x0501000A, 0x31211C05, 0x00031C27, 0x4CA92F13, + 0xB2EF5500, 0x057EBF37, 0x00000000, 0x0E493F13, 0x00000002, 0x335C3E03, 0x00000E07, 0x3C761200, 0x447E2200, + 0x00426710, 0x00000000, 0x071C2208, 0x00000168, 0xE18F0F00, 0x00060E00, 0x0A100000, 0x0514022D, 0x1B020400, + 0x00000000, 0x093A3F0A, 0x050010AE, 0xDA360000, 0x00070500, 0x00000000, 0x00001461, 0x3E050024, 0x24000000, + 0x184E3755, 0x9132043C, 0x2F000000, 0x12020A54, 0x3C000200, 0x00000F3E, 0x2B041159, 0x2C000000, 0x030B22CE, + 0xF9420000, 0x00000301, 0x371160EF, 0xAC6D2B00, 0x00000008, 0x05000D27, 0x06000000, 0x00001A91, 0x760B0000, + 0x000B030A, 0x747DB0BD, 0xBDA31D00, 0x00000000, 0x00000000, 0x00000511, 0x01000209, 0x03020015, 0x583A0010, + 0xC1E0892D, 0x532D0000, 0x03160600, 0x00050001, 0x15142E4E, 0x07000500, 0x100D004C, 0xB65C001B, 0xB2DF9417, + 0x00000020, 0x57420400, 0x45882F00, 0x18093B3E, 0x01182F0D, 0x1405003F, 0xB75B001E, 0x5DC2E14F, 0x00000161, + 0xBC4A005A, 0xECF84A00, 0x0011330F, 0x0044591C, 0x01001C7C, 0xB122001F, 0x5DE4FF71, 0x00000177, 0xBA3218D9, + 0xFFC41700, 0x1E7B5A1C, 0x2B769635, 0x0044D5FA, 0x9E000530, 0xC7FFCE35, 0x00000035, 0x663441CF, 0xC9380000, + 0x3D733C28, 0x3E709726, 0x0086FAF1, 0x9B170D4C, 0xC9812700, 0x000E1A02, 0x4C642544, 0x2B000000, 0x0D0E0508, + 0x0A252F03, 0x00335297, 0xC75B014E, 0x77470600, 0x00160F00, 0x3A350016, 0x29070000, 0x0C3A3911, 0x00000003, + 0x0100004B, 0x8F4B051C, 0x7F6C1C00, 0x00000000, 0x00000437, 0x2E030001, 0x2A6E6B2C, 0x0604000E, 0x0B000004, + 0x19350814, 0x3E63813D, 0x13000000, 0x00000117, 0x06000000, 0x14362911, 0x312E021F, 0x13000000, 0x010C000C, + 0x10B9EF72, 0x2D010000, 0x040C0C10, 0x02000000, 0x33410306, 0x3B30071D, 0x07000000, 0x00000000, 0x1BC2A129, + 0x0D000000, 0x050E1112, 0x0100002E, 0xD2C22E00, 0x21593403, 0x00000000, 0x01010000, 0x0E451B00, 0x00000000, + 0x0000060D, 0x00000061, 0xFFEA2E00, 0x3DA04200, 0x00000000, 0x06140B00, 0x00040200, 0x00000000, 0x00061B0C, + 0x00000037, 0x8D620500, 0x2A8F5801, 0x00000000, 0x082E3404, 0x00000000, 0x00000003, 0x0A201B02, 0x00000000, + 0x06000000, 0x11826503, 0x00060400, 0x07303402, 0x07010007, 0x2F1E0B0A, 0x09080000, 0x03000000, 0x00000000, + 0x07452500, 0x0E361100, 0x000B0A00, 0x06000018, 0x3E170600, 0x00060F0D, 0x3E190000, 0x00000000, 0x00000000, + 0x21360700, 0x00000000, 0x00000007, 0x09000000, 0x0A857124, 0x703C0000, 0x01000000, 0x00000000, 0x08050000, + 0x00000000, 0x00000000, 0x00000000, 0x32D97112, 0x4A1B0001, 0x02050000, 0x00000000, 0x021A0A00, 0x00000613, + 0x07000000, 0x00000000, 0x1E5D1700, 0x04000000, 0x37550400, 0x00000000, 0x14300600, 0x00003E5B, 0x08000000, + 0x00000000, 0x2F2F0000, 0x00000007, 0x90840300, 0x0F070000, 0x06070000, 0x00055A62, 0x00000000, 0x00000020, + 0xA77B0700, 0x0106000F, 0x612D0006, 0x1B030000, 0x00000001, 0x0000211A, 0x00000000, 0x0000002E, 0x944A0103, + 0x3B390200, 0x04000011, 0x14000005, 0x302F0D10, 0x01000000, 0x00000000, 0x00000009, 0x10000015, 0x5D290000, + 0x00000015, 0x09000027, 0x73510F09, 0x37410700, 0x00061408, 0x00000000, 0x25582D09, 0x12020E03, 0x0C070007, + 0x00031627, 0x41240011, 0x795B0000, 0x00102D29, 0x244B1C0D, 0xB0F76600, 0x00467C28, 0x08020000, 0x02383E0B, + 0x0401000A, 0x32231C04, 0x00031B28, 0x4CA83112, 0xB2EF5500, 0x057EBE38, 0x00000000, 0x0D493D13, 0x00000002, + 0x325C3F03, 0x00000E08, 0x3D761200, 0x457F2200, 0x0043660F, 0x00000000, 0x071D2208, 0x00000168, 0xE1901000, + 0x00070E00, 0x09110000, 0x0515022D, 0x1B020400, 0x00000000, 0x093B3E09, 0x050011AE, 0xD9370000, 0x00070500, + 0x00000000, 0x00001462, 0x3E050024, 0x25000000, 0x184E3554, 0x9431043C, 0x2E000000, 0x12010955, 0x3C000300, + 0x0000103E, 0x2B04115A, 0x2D000000, 0x030B22CE, 0xF9420000, 0x00000301, 0x361161EF, 0xAC6B2B00, 0x00000008, + 0x05000D27, 0x07000000, 0x00001A8F, 0x760B0000, 0x000B030A, 0x727DB1BD, 0xBCA21C00, 0x00000000, 0x00000000, + 0x00000610, 0x00000208, 0x03030016, 0x57390010, 0xC1E1892E, 0x522C0000, 0x03160600, 0x00060001, 0x14142F4E, + 0x07000500, 0x100E004B, 0xB55C001B, 0xB0DD9416, 0x0000001F, 0x57430500, 0x468A3000, 0x16093B3E, 0x01192F0D, + 0x1405003E, 0xB65B001D, 0x5CC1E04E, 0x0000005E, 0xBC4B0058, 0xEBFA4B00, 0x0011340E, 0x0045591C, 0x02001C7C, + 0xB223001E, 0x5CE5FF71, 0x00000176, 0xB93216D8, 0xFFC21700, 0x1D7B5B1C, 0x2B759636, 0x0041D4FC, 0x9D000530, + 0xC7FFCE36, 0x00000036, 0x663540CE, 0xC6360000, 0x3C743E29, 0x3E719827, 0x0085FAF0, 0x9B160D4E, 0xC9812600, + 0x000F1A03, 0x4B642646, 0x2B000000, 0x0D0E0608, 0x0A253002, 0x00345299, 0xC85B014E, 0x75470600, 0x00160F00, + 0x39350015, 0x29070000, 0x0C3A3911, 0x00000003, 0x0100004B, 0x914B051E, 0x7D6C1C01, 0x00000000, 0x00000437, + 0x2E030001, 0x2A6F6A2A, 0x0604000E, 0x0B000003, 0x1A350814, 0x3E63813E, 0x13000000, 0x00000118, 0x07000000, + 0x13382911, 0x302E0320, 0x14000000, 0x010D000C, 0x0FB9EE73, 0x2F000000, 0x040B0C11, 0x02000000, 0x36440307, + 0x3B30071D, 0x07000000, 0x00000000, 0x1ABF9F29, 0x0E000000, 0x050F1112, 0x0100002D, 0xD3C42B00, 0x22593404, + 0x00000000, 0x01010000, 0x0E451B00, 0x00000000, 0x0000070C, 0x00000061, 0xFFED2F00, 0x3EA04300, 0x00000000, + 0x05140B00, 0x00030200, 0x00000000, 0x00061C0B, 0x00000037, 0x8F640500, 0x2A8F5901, 0x00000000, 0x082D3504, + 0x00000000, 0x00010003, 0x0A201B02, 0x00000000, 0x07000000, 0x11826503, 0x00050400, 0x072F3503, 0x07010007, + 0x2F1E0C0B, 0x09080000, 0x03000000, 0x00000000, 0x07462500, 0x0E361100, 0x000B0900, 0x04000018, 0x3E160600, + 0x00060F0B, 0x3D190000, 0x00000000, 0x00000000, 0x21370600, 0x00000000, 0x00000007, 0x09000000, 0x0B866F22, + 0x713C0000, 0x02000000, 0x00000000, 0x08060000, 0x00000000, 0x00000000, 0x00000000, 0x30D76F12, 0x4B1A0001, + 0x02050000, 0x00000000, 0x021A0A00, 0x00000714, 0x08000000, 0x00000000, 0x1E5C1700, 0x03000000, 0x36560400, + 0x00000000, 0x15300600, 0x00003F5D, 0x07000000, 0x00000000, 0x2E2F0000, 0x00000008, 0x8F840300, 0x0F060000, + 0x06070000, 0x00065B61, 0x00000000, 0x00000020, 0xA67C0700, 0x0006000E, 0x612D0006, 0x1B030000, 0x00000001, + 0x0001211B, 0x00000000, 0x0000002F, 0x93490103, 0x3B390200, 0x04000011, 0x13000005, 0x2F2E0C11, 0x02000000, + 0x00000000, 0x00000008, 0x14030015, 0x5D2C0000, 0x00000115, 0x08000027, 0x724F0F0A, 0x353D0600, +}; + +static UNK_TYPE texture2[] = { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x02030404, + 0x04040303, 0x03030303, 0x03020202, 0x02020201, 0x01010000, 0x00000000, 0x01010305, 0x090B0D0D, 0x0C0B0A0A, + 0x0A0A0B0A, 0x09080707, 0x07070707, 0x07070705, 0x04030201, 0x0304070B, 0x11141717, 0x16141313, 0x14151514, + 0x110D0B0B, 0x0C0D0F12, 0x13141413, 0x110C0905, 0x07070B12, 0x181E2121, 0x201F1F20, 0x2225221D, 0x17120F0F, + 0x13171D23, 0x292D2D2A, 0x2219120A, 0x07080C13, 0x1B202223, 0x22232629, 0x2C2B261F, 0x17121112, 0x18202B36, + 0x4046453D, 0x3022150C, 0x07080D15, 0x1C202325, 0x272A2E33, 0x3431281E, 0x16121217, 0x202E3F4F, 0x595D5A4E, + 0x3B27170C, 0x07090F16, 0x1C202327, 0x2B32383C, 0x3B34291E, 0x1613161E, 0x2D425866, 0x6D6E6856, 0x3F28160B, + 0x070A1117, 0x1C20252A, 0x333B4245, 0x41382C21, 0x18161B28, 0x3D586E7A, 0x7D7A6F58, 0x3C231309, 0x070C1318, + 0x1E222932, 0x3C464E4F, 0x4A413529, 0x1F1D2232, 0x4C6A8189, 0x88816D50, 0x331D0E07, 0x090F181F, 0x252B343F, + 0x4A555E5F, 0x5C524537, 0x2B272D40, 0x5D7C9197, 0x91816444, 0x29160B07, 0x0F19222A, 0x323B4550, 0x5D6D787D, + 0x796B5B49, 0x3C373E52, 0x7190A2A2, 0x93785537, 0x20110A0A, 0x1D28343E, 0x47505A64, 0x738698A1, 0x9C8D7761, + 0x534E566D, 0x8DA6B0A6, 0x8D69472C, 0x190F0E13, 0x36434F57, 0x5F676E77, 0x869BB0BC, 0xBBAF9A84, 0x74717D93, + 0xADBCBBA5, 0x835E412A, 0x1D1A1E27, 0x5360696E, 0x73777C82, 0x8C9EB3C5, 0xCECBBEAB, 0x9F9FA9BC, 0xCACEBFA0, + 0x7A593F2F, 0x282B3545, 0x6F767778, 0x78787A7F, 0x8593A8C2, 0xD6DDDAD2, 0xCCCBD2DA, 0xDFD7BE9B, 0x775A473C, + 0x3A445463, 0x7E7D7875, 0x716D6D71, 0x78849BBA, 0xD8EAEDED, 0xEBEBEDED, 0xEBDABB97, 0x7862554F, 0x5562727B, + 0x7F766E67, 0x625D5C5F, 0x697991B2, 0xD6EFF7F5, 0xF3F4F7F7, 0xEDD5B496, 0x7F70696B, 0x74808787, 0x796C5F57, + 0x514D4C52, 0x5E738EAF, 0xD1EAF1ED, 0xEBEDF4F4, 0xE6CCB099, 0x8A818087, 0x91959288, 0x7261534A, 0x4541434A, + 0x597290AE, 0xCADCE0DC, 0xDADDE5E6, 0xD9C2AD9D, 0x9390949D, 0xA2A09584, 0x6C5A4B41, 0x3B3B3D46, 0x57718EA9, + 0xBDC9CBCA, 0xCACED2CF, 0xC3B3A398, 0x92939AA1, 0xA39D907F, 0x6955453C, 0x38373C46, 0x58718DA5, 0xB7C1C5C6, + 0xC9CCCAC2, 0xB4A59A91, 0x8D91979D, 0x9E998D7D, 0x6752423A, 0x38383C46, 0x576F8AA2, 0xB3BFC6CB, 0xCECCC5B7, + 0xA7988D86, 0x83868E95, 0x98968D7D, 0x644F403B, 0x393A3E47, 0x566C859C, 0xAFBDC7CE, 0xCEC8BCAA, 0x9A8A7F78, + 0x777A838D, 0x94958C7A, 0x5E4C423E, 0x3E3E4047, 0x54677D94, 0xA9BAC7CD, 0xC9C0AF9F, 0x8E80746D, 0x6B707A86, + 0x91928975, 0x5A4B4543, 0x43434448, 0x5161768C, 0xA3B5C3C7, 0xC1B4A394, 0x85776D66, 0x63687480, 0x8C8D836F, + 0x574D4848, 0x4848484A, 0x505D7087, 0x9DB1BDBE, 0xB6A9998B, 0x7F746A63, 0x62656F7B, 0x84847A67, 0x554F4D4D, + 0x4D4D4E4F, 0x535F6F85, 0x9BAEB8B8, 0xAFA29488, 0x7E756B65, 0x62656D75, 0x7B797061, 0x56535353, 0x5556585A, + 0x6069788A, 0x9EAEB6B4, 0xAB9F948A, 0x817A726B, 0x67686B6F, 0x726E665D, 0x585A5C5E, 0x62676C70, 0x767E8A98, + 0xA6B2B6B4, 0xACA1978E, 0x89837C76, 0x716E6C6C, 0x6A66605C, 0x5F62686F, 0x7680888F, 0x94999FA7, 0xAFB6B7B5, + 0xAEA49C96, 0x928E8983, 0x7D76716B, 0x67625F5D, 0x676D7681, 0x8E9BA6AD, 0xB0B1B1B2, 0xB4B7B9B6, 0xB1A8A29E, + 0x9B999590, 0x877F7770, 0x6A656364, 0x71788392, 0xA3B2BDC3, 0xC3BFBAB7, 0xB6B8B9B7, 0xB3ABA6A3, 0xA3A19E98, + 0x91888079, 0x736E6C6D, 0x7A818C9C, 0xAFBFC9CE, 0xCBC4BDB7, 0xB7B8BBBA, 0xB4ACA6A4, 0xA4A5A4A0, 0x9A958F89, + 0x837E7A79, 0x868A94A3, 0xB5C4CED0, 0xCCC5BEBA, 0xBBBFC1BF, 0xB7AEA8A5, 0xA7A9ABAC, 0xACAAA8A4, 0x9D968D88, + 0x8F9199A7, 0xB7C5CCCD, 0xC9C4C0BF, 0xC3C7C8C2, 0xB7ADA7A6, 0xA8ADB3BA, 0xBFC3C4BF, 0xB7AB9E94, 0x97979FAB, + 0xB9C3C8C9, 0xC7C5C4C7, 0xCCCFCBC2, 0xB6ADA8A8, 0xADB5C1CD, 0xD8E0E0D9, 0xCCBBAB9E, 0x9C9DA4AE, 0xBAC1C5C6, + 0xC6C7CAD0, 0xD4D3CBC0, 0xB5ADABAD, 0xB6C2D2E3, 0xF1F9F8ED, 0xDAC5B2A3, 0xA2A4ABB4, 0xBBC1C4C5, 0xC8CCD2D7, + 0xD8D3CABE, 0xB4B0B0B6, 0xC1D2E5F7, 0xFFFFFFF5, 0xE0C9B6A9, 0xA9ABB1B7, 0xBDC1C4C7, 0xCBD1D8DC, 0xDAD4C9BF, + 0xB7B4B7BF, 0xCEE1F5FF, 0xFFFFFFF5, 0xDEC8B7AD, 0xB0B2B7BC, 0xC0C3C7CB, 0xD1D8DEDF, 0xDCD6CDC4, 0xBEBBBFC9, + 0xD9EDFFFF, 0xFFFFFFEE, 0xD9C6B9B1, 0xB6BABEC2, 0xC5C8CCD2, 0xD8DFE3E4, 0xE1DBD4CC, 0xC6C4C8D2, 0xE2F6FFFF, + 0xFFFFF7E5, 0xD3C5BBB6, 0xBEC2C6C9, 0xCDD0D5DA, 0xE1E6EAEB, 0xE9E4DED6, 0xD0CED1DB, 0xEAFAFFFF, 0xFFFDEEDD, + 0xCFC5BFBD, 0xC7CBCFD3, 0xD6DADEE3, 0xE9EFF4F7, 0xF4EFE7E0, 0xDBD8DBE4, 0xF2FFFFFF, 0xFFF4E6D8, 0xCEC7C4C4, + 0xD1D5D9DD, 0xE0E3E7EB, 0xF0F7FEFF, 0xFFFAF2EA, 0xE5E3E6EE, 0xFAFFFFFF, 0xFAEDE0D7, 0xD0CDCCCD, 0xDCE0E3E6, + 0xE9EBEDF0, 0xF5FBFFFF, 0xFFFFFBF4, 0xEFEEF2F9, 0xFFFFFFFE, 0xF4E8DFD8, 0xD4D3D5D7, 0xE6E9EBED, 0xEEEFF1F2, + 0xF5F9FFFF, 0xFFFFFFFD, 0xFAFAFDFF, 0xFFFFFFFA, 0xF0E7E1DD, 0xDBDCDEE2, 0xEDEFEFF0, 0xF0F0F0F1, 0xF2F5FAFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFF7, 0xEFE9E5E2, 0xE2E4E7EB, 0xF1F1F0F0, 0xEFEEEEEF, 0xF0F3F6FC, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFDF6, 0xF0ECEAE8, 0xEAECEFF1, 0xF2F1EFEF, 0xEEEDEDED, 0xEFF1F5FA, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFBF6, 0xF2F0EFEF, 0xF1F2F3F3, 0xF3F1EFEE, 0xEDEDEDED, 0xEFF2F5FA, 0xFEFFFFFF, 0xFFFFFFFF, 0xFFFDFAF7, + 0xF5F4F4F5, 0xF6F7F6F5, 0xF3F1F0EF, 0xEEEEEEEF, 0xF1F3F6FA, 0xFDFFFFFF, 0xFFFFFFFF, 0xFFFCFAF8, 0xF7F6F7F8, + 0xF8F8F7F5, 0xF5F3F2F1, 0xF0F0F0F1, 0xF3F5F8FA, 0xFCFDFDFD, 0xFDFEFEFE, 0xFDFBFAF9, 0xF8F9F9FA, 0xFAF9F8F7, + 0xF7F5F3F3, 0xF3F2F3F4, 0xF5F7F9FB, 0xFDFDFEFE, 0xFEFEFEFD, 0xFCFBFAFA, 0xF9FAFAFB, 0xFBFAF9F8, 0xF8F7F6F5, + 0xF5F5F5F6, 0xF7F9FAFC, 0xFDFEFEFF, 0xFFFFFEFD, 0xFDFBFBFA, 0xFAFAFBFB, 0xFBFBFBFA, 0xFAF9F8F7, 0xF7F7F8F8, + 0xF9FAFBFC, 0xFEFFFFFF, 0xFFFFFEFD, 0xFCFCFBFB, 0xFBFBFBFC, 0xFCFCFCFB, 0xFBFAFAFA, 0xFAFAFAFA, 0xFBFBFCFD, + 0xFEFFFFFF, 0xFFFFFEFE, 0xFDFCFCFC, 0xFBFCFCFD, 0xFDFDFDFC, 0xFCFCFBFB, 0xFBFBFBFC, 0xFCFCFDFE, 0xFFFFFFFF, + 0xFFFFFFFE, 0xFEFDFDFD, 0xFDFDFDFD, 0xFEFEFDFD, 0xFDFDFDFD, 0xFDFDFDFD, 0xFDFDFEFE, 0xFFFFFFFF, 0xFFFFFFFE, + 0xFEFEFEFD, 0xFDFEFEFE, 0xFEFEFEFE, 0xFEFEFEFE, 0xFEFEFEFE, 0xFEFEFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE, + 0xFEFEFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, +}; + +static UNK_TYPE vertices1[] = { + 0x00420271, 0xFFBE0000, 0x060006C2, 0x3E52C2FF, 0x000002BC, 0x00000000, 0x07000800, 0x007800FF, 0x005D0271, + 0x00000000, 0x080006C2, 0x575200FF, 0x00BD01DB, 0xFFB20000, 0x07000419, 0x5E3FD9FF, 0x00BD01DB, 0x004E0000, + 0x09000419, 0x5E3F27FF, 0x01AF001B, 0x00000000, 0x08000005, 0x6B3500FF, 0x0131001B, 0x01310000, 0x0A000005, + 0x4C354CFF, 0x000002BC, 0x00000000, 0x09000800, 0x007800FF, 0x00420271, 0x00420000, 0x0A0006C2, 0x3E523EFF, + 0x004E01DB, 0x00BD0000, 0x0B000419, 0x273F5EFF, 0x0000001B, 0x01AF0000, 0x0C000005, 0x00356BFF, 0x000002BC, + 0x00000000, 0x0B000800, 0x007800FF, 0x00000271, 0x005D0000, 0x0C0006C2, 0x005257FF, 0xFFB201DB, 0x00BD0000, + 0x0D000419, 0xD93F5EFF, 0xFECF001B, 0x01310000, 0x0E000005, 0xB4354CFF, 0x000002BC, 0x00000000, 0x0D000800, + 0x007800FF, 0xFFBE0271, 0x00420000, 0x0E0006C2, 0xC2523EFF, 0xFF4301DB, 0x004E0000, 0x0F000419, 0xA23F27FF, + 0xFE51001B, 0x00000000, 0x10000005, 0x953500FF, 0xFFA30271, 0x00000000, 0x100006C2, 0xA95200FF, 0xFF4301DB, + 0xFFB20000, 0x11000419, 0xA23FD9FF, 0xFE51001B, 0x00000000, 0x00000005, 0x953500FF, 0xFF4301DB, 0xFFB20000, + 0x01000419, 0xA23FD9FF, 0xFECF001B, 0xFECF0000, 0x02000005, 0xB435B4FF, 0xFFA30271, 0x00000000, 0x000006C2, + 0xA95200FF, 0x000002BC, 0x00000000, 0x01000800, 0x007800FF, 0xFFBE0271, 0xFFBE0000, 0x020006C2, 0xC252C2FF, + 0xFFB201DB, 0xFF430000, 0x03000419, 0xD93FA2FF, 0x0000001B, 0xFE510000, 0x04000005, 0x003595FF, 0x000002BC, + 0x00000000, 0x03000800, 0x007800FF, 0x00000271, 0xFFA30000, 0x040006C2, 0x0052A9FF, 0x004E01DB, 0xFF430000, + 0x05000419, 0x273FA2FF, +}; + +static UNK_TYPE vertices2[] = { + 0x0000001B, 0xFE510000, 0x04000005, 0x003595FF, 0x004E01DB, 0xFF430000, 0x05000419, 0x273FA2FF, 0x0131001B, + 0xFECF0000, 0x06000005, 0x4C35B4FF, 0x00000271, 0xFFA30000, 0x040006C2, 0x0052A9FF, 0x000002BC, 0x00000000, + 0x05000800, 0x007800FF, 0x00420271, 0xFFBE0000, 0x060006C2, 0x3E52C2FF, 0x00BD01DB, 0xFFB20000, 0x07000419, + 0x5E3FD9FF, 0x01AF001B, 0x00000000, 0x08000005, 0x6B3500FF, 0xFFBE0271, 0x00420000, 0x060006C2, 0xC2523EFF, + 0x000002BC, 0x00000000, 0x07000800, 0x007800FF, 0xFFA30271, 0x00000000, 0x080006C2, 0xA95200FF, +}; + +static Gfx textureDL[] = { + gsDPPipeSync(), + gsDPSetTextureLUT(G_TT_NONE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPLoadTextureBlock(texture2, G_IM_FMT_I, G_IM_SIZ_8b, 32, 64, 0, G_TX_NOMIRROR | G_TX_WRAP, + G_TX_MIRROR | G_TX_WRAP, 5, 6, 1, 15), + gsDPLoadMultiBlock(texture1, 0x0100, 1, G_IM_FMT_I, G_IM_SIZ_8b, 32, 64, 0, G_TX_NOMIRROR | G_TX_WRAP, + G_TX_MIRROR | G_TX_WRAP, 5, 6, 13, 14), + gsDPSetCombineLERP(TEXEL1, PRIMITIVE, ENV_ALPHA, TEXEL0, TEXEL1, 0, ENVIRONMENT, TEXEL0, PRIMITIVE, ENVIRONMENT, + COMBINED, ENVIRONMENT, COMBINED, 0, PRIMITIVE, 0), + gsDPSetRenderMode(Z_CMP | IM_RD | CVG_DST_SAVE | ZMODE_XLU | FORCE_BL | + GBL_c1(G_BL_CLR_IN, G_BL_0, G_BL_CLR_IN, G_BL_1), + G_RM_ZB_CLD_SURF2), + gsSPClearGeometryMode(G_CULL_BACK | G_FOG | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR), + gsSPSetGeometryMode(G_LIGHTING), + gsSPEndDisplayList(), +}; + +static Gfx vertexDL[] = { + gsSPVertex(vertices1, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(3, 2, 4, 0, 3, 4, 5, 0), + gsSP2Triangles(5, 4, 6, 0, 2, 7, 8, 0), + gsSP2Triangles(2, 8, 4, 0, 4, 8, 9, 0), + gsSP2Triangles(4, 9, 6, 0, 6, 9, 10, 0), + gsSP2Triangles(8, 11, 12, 0, 8, 12, 9, 0), + gsSP2Triangles(9, 12, 13, 0, 9, 13, 10, 0), + gsSP2Triangles(10, 13, 14, 0, 12, 15, 16, 0), + gsSP2Triangles(12, 16, 13, 0, 13, 16, 17, 0), + gsSP2Triangles(13, 17, 14, 0, 14, 17, 18, 0), + gsSP2Triangles(16, 19, 17, 0, 17, 19, 20, 0), + gsSP2Triangles(17, 20, 18, 0, 21, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 22, 0), + gsSP2Triangles(22, 26, 27, 0, 22, 27, 23, 0), + gsSP2Triangles(23, 27, 28, 0, 26, 29, 30, 0), + gsSP2Triangles(26, 30, 27, 0, 27, 30, 31, 0), + gsSP1Triangle(27, 31, 28, 0), + gsSPVertex(vertices2, 11, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(3, 5, 1, 0, 1, 5, 6, 0), + gsSP2Triangles(1, 6, 2, 0, 2, 6, 7, 0), + gsSP1Triangle(8, 9, 10, 0), + gsSPEndDisplayList(), +}; diff --git a/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c b/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c index 508ac29251..4522c4c84d 100644 --- a/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c +++ b/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c @@ -1,4 +1,11 @@ +/* + * File: z_arrow_light.c + * Overlay: ovl_Arrow_Light + * Description: Light Arrow actor. Spawned by and attached to a normal arrow. + */ + #include "z_arrow_light.h" +#include "../ovl_En_Arrow/z_en_arrow.h" #define ROOM 0x00 #define FLAGS 0x02000010 @@ -8,7 +15,12 @@ void ArrowLight_Destroy(ArrowLight* this, GlobalContext* globalCtx); void ArrowLight_Update(ArrowLight* this, GlobalContext* globalCtx); void ArrowLight_Draw(ArrowLight* this, GlobalContext* globalCtx); -/* +void ArrowLight_Charge(ArrowLight* this, GlobalContext* globalCtx); +void ArrowLight_Fly(ArrowLight* this, GlobalContext* globalCtx); +void ArrowLight_Hit(ArrowLight* this, GlobalContext* globalCtx); + +#include "z_arrow_light_gfx.c" + const ActorInit Arrow_Light_InitVars = { ACTOR_ARROW_LIGHT, ACTORTYPE_ITEMACTION, @@ -21,21 +33,214 @@ const ActorInit Arrow_Light_InitVars = { (ActorFunc)ArrowLight_Update, (ActorFunc)ArrowLight_Draw, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869CB0.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Init.s") +static InitChainEntry initChain[] = { + ICHAIN_F32(unk_F4, 2000, ICHAIN_STOP), +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Destroy.s") +void ArrowLight_SetupAction(ArrowLight* this, ActorFunc* actionFunc) { + this->actionFunc = actionFunc; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869D78.s") +void ArrowLight_Init(ArrowLight* this, GlobalContext* globalCtx) { + Actor_ProcessInitChain(&this->actor, initChain); + this->radius = 0; + this->unk_160 = 1.0f; + ArrowLight_SetupAction(this, ArrowLight_Charge); + Actor_SetScale(&this->actor, 0.01f); + this->alpha = 0x82; + this->timer = 0; + this->unk_164 = 0.0f; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869E6C.s") +void ArrowLight_Destroy(ArrowLight* this, GlobalContext* globalCtx) { + func_800876C8(globalCtx); + LogUtils_LogThreadId("../z_arrow_light.c", 403); + // Translates to: ""Disappearance" = Disappearance" + osSyncPrintf("\"消滅\" = %s\n", "消滅"); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_80869EBC.s") +void ArrowLight_Charge(ArrowLight* this, GlobalContext* globalCtx) { + EnArrow* arrow; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Light/func_8086A088.s") + arrow = this->actor.attachedA; + if ((arrow == NULL) || (arrow->actor.update == NULL)) { + Actor_Kill(&this->actor); + return; + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Update.s") + if (this->radius < 10) { + this->radius += 1; + } + // copy position and rotation from the attached arrow + this->actor.posRot.pos = arrow->actor.posRot.pos; + this->actor.shape.rot = arrow->actor.shape.rot; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arrow_Light/ArrowLight_Draw.s") + func_8002F974(&this->actor, NA_SE_PL_ARROW_CHARGE_LIGHT); + + // If arrow's attached is null, Link has fired the arrow + if (arrow->actor.attachedA == NULL) { + this->unkPos = this->actor.posRot.pos; + this->radius = 10; + ArrowLight_SetupAction(this, ArrowLight_Fly); + this->alpha = 0xFF; + } +} + +void func_80869E6C(Vec3f* unkPos, Vec3f* lightPos, f32 scale) { + unkPos->x += ((lightPos->x - unkPos->x) * scale); + unkPos->y += ((lightPos->y - unkPos->y) * scale); + unkPos->z += ((lightPos->z - unkPos->z) * scale); +} + +void ArrowLight_Hit(ArrowLight* this, GlobalContext* globalCtx) { + f32 scale; + f32 offset; + u16 timer; + + if (this->actor.unk_F0 < 50.0f) { + scale = 10.0f; + } else { + if (950.0f < this->actor.unk_F0) { + scale = 310.0f; + } else { + scale = this->actor.unk_F0; + scale = ((scale - 50.0f) * (1.0f / 3.0f)) + 10.0f; + } + } + + timer = this->timer; + if (timer != 0) { + this->timer -= 1; + + if (this->timer >= 8) { + offset = ((this->timer - 8) * (1.0f / 24.0f)); + offset = SQ(offset); + this->radius = (((1.0f - offset) * scale) + 10.0f); + this->unk_160 += ((2.0f - this->unk_160) * 0.1f); + if (this->timer < 16) { + if (1) {} + this->alpha = ((this->timer * 0x23) - 0x118); + } + } + } + + if (this->timer >= 9) { + if (this->unk_164 < 1.0f) { + this->unk_164 += 0.25f; + } + } else { + if (this->unk_164 > 0.0f) { + this->unk_164 -= 0.125f; + } + } + + if (this->timer < 8) { + this->alpha = 0; + } + + if (this->timer == 0) { + this->timer = 255; + Actor_Kill(&this->actor); + } +} + +void ArrowLight_Fly(ArrowLight* this, GlobalContext* globalCtx) { + EnArrow* arrow; + f32 distanceScaled; + s32 pad; + + arrow = this->actor.attachedA; + if ((arrow == NULL) || (arrow->actor.update == NULL)) { + Actor_Kill(&this->actor); + return; + } + // copy position and rotation from the attached arrow + this->actor.posRot.pos = arrow->actor.posRot.pos; + this->actor.shape.rot = arrow->actor.shape.rot; + distanceScaled = Math_Vec3f_DistXYZ(&this->unkPos, &this->actor.posRot.pos) * (1.0f / 24.0f); + this->unk_160 = distanceScaled; + if (distanceScaled < 1.0f) { + this->unk_160 = 1.0f; + } + func_80869E6C(&this->unkPos, &this->actor.posRot.pos, 0.05f); + + if (arrow->hitWall & 1) { + Audio_PlayActorSound2(&this->actor, NA_SE_IT_EXPLOSION_LIGHT); + ArrowLight_SetupAction(this, ArrowLight_Hit); + this->timer = 32; + this->alpha = 0xFF; + } else if (arrow->timer < 34) { + if (this->alpha < 0x23) { + Actor_Kill(&this->actor); + } else { + this->alpha -= 0x19; + } + } +} + +void ArrowLight_Update(ArrowLight* this, GlobalContext* globalCtx) { + if (globalCtx->msgCtx.msgMode == 0xD || globalCtx->msgCtx.msgMode == 0x11) { + Actor_Kill(&this->actor); + } else { + this->actionFunc(this, globalCtx); + } +} + +void ArrowLight_Draw(ArrowLight* this, GlobalContext* globalCtx) { + s32 pad1; + s32 pad2; + u32 stateFrames; + GraphicsContext* gfxCtx; + Actor* tranform; + EnArrow* arrow; + Gfx* gfxArr[4]; + + stateFrames = globalCtx->state.frames; + arrow = this->actor.attachedA; + if (1) {} + + if ((arrow != NULL) && (arrow->actor.update != NULL) && (this->timer < 255)) { + if (1) {} + tranform = (arrow->hitWall & 2) ? &this->actor : &arrow->actor; + // clang-format off + gfxCtx = globalCtx->state.gfxCtx; func_800C6AC4(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_light.c", 598); + // clang-format on + Matrix_Translate(tranform->posRot.pos.x, tranform->posRot.pos.y, tranform->posRot.pos.z, MTXMODE_NEW); + Matrix_RotateY(tranform->shape.rot.y * (M_PI / 32768), MTXMODE_APPLY); + Matrix_RotateX(tranform->shape.rot.x * (M_PI / 32768), MTXMODE_APPLY); + Matrix_RotateZ(tranform->shape.rot.z * (M_PI / 32768), MTXMODE_APPLY); + Matrix_Scale(0.01f, 0.01f, 0.01f, MTXMODE_APPLY); + + // Draw yellow effect over the screen when arrow hits + if (this->unk_164 > 0) { + gfxCtx->polyXlu.p = func_800937C0(gfxCtx->polyXlu.p); + gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, (s32)(30.0f * this->unk_164) & 0xFF, + (s32)(40.0f * this->unk_164) & 0xFF, 0, (s32)(150.0f * this->unk_164) & 0xFF); + gDPSetAlphaDither(gfxCtx->polyXlu.p++, G_AD_DISABLE); + gDPSetColorDither(gfxCtx->polyXlu.p++, G_CD_DISABLE); + gDPFillRectangle(gfxCtx->polyXlu.p++, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1); + } + + // Draw light on the arrow + func_80093D84(globalCtx->state.gfxCtx); + gDPSetPrimColor(gfxCtx->polyXlu.p++, 0x80, 0x80, 0xFF, 0xFF, 0xAA, this->alpha); + gDPSetEnvColor(gfxCtx->polyXlu.p++, 0xFF, 0xFF, 0x00, 0x80); + Matrix_RotateZYX(0x4000, 0x0, 0x0, MTXMODE_APPLY); + if (this->timer != 0) { + Matrix_Translate(0.0f, 0.0f, 0.0f, MTXMODE_APPLY); + } else { + Matrix_Translate(0.0f, 1500.0f, 0.0f, MTXMODE_APPLY); + } + Matrix_Scale(this->radius * 0.2f, this->unk_160 * 4.0f, this->radius * 0.2f, MTXMODE_APPLY); + Matrix_Translate(0.0f, -700.0f, 0.0f, MTXMODE_APPLY); + gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_arrow_light.c", 648), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(gfxCtx->polyXlu.p++, textureDL); + gSPDisplayList(gfxCtx->polyXlu.p++, + Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 511 - (stateFrames * 5) % 512, 0, 4, 32, 1, + 511 - (stateFrames * 10) % 512, 511 - (stateFrames * 30) % 512, 8, 16)); + gSPDisplayList(gfxCtx->polyXlu.p++, vertexDL); + func_800C6B54(gfxArr, globalCtx->state.gfxCtx, "../z_arrow_light.c", 664); + } +} diff --git a/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.h b/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.h index 8f4e5946b4..11b0b7ac1f 100644 --- a/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.h +++ b/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.h @@ -6,7 +6,13 @@ typedef struct { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x20]; + /* 0x014C */ s16 radius; + /* 0x014E */ u16 timer; + /* 0x0150 */ u8 alpha; + /* 0x0154 */ Vec3f unkPos; + /* 0x0160 */ f32 unk_160; + /* 0x0164 */ f32 unk_164; + /* 0x0168 */ ActorFunc actionFunc; } ArrowLight; // size = 0x016C extern const ActorInit Arrow_Light_InitVars; diff --git a/src/overlays/actors/ovl_Arrow_Light/z_arrow_light_gfx.c b/src/overlays/actors/ovl_Arrow_Light/z_arrow_light_gfx.c new file mode 100644 index 0000000000..57612a4530 --- /dev/null +++ b/src/overlays/actors/ovl_Arrow_Light/z_arrow_light_gfx.c @@ -0,0 +1,192 @@ +#include "z_arrow_light.h" + +static UNK_TYPE texture1[] = { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000001, 0x00000000, 0x00000102, 0x01000001, 0x00000000, 0x00000000, 0x00010000, 0x00000000, + 0x00000001, 0x00000000, 0x00000204, 0x02000101, 0x00000000, 0x00000000, 0x00010101, 0x00000001, 0x00000001, + 0x00000000, 0x00000307, 0x03010102, 0x00000000, 0x00000000, 0x01010102, 0x00000002, 0x01010001, 0x00000000, + 0x00010509, 0x04010103, 0x01000000, 0x00000000, 0x01020202, 0x00000104, 0x03020101, 0x00000000, 0x0001060C, + 0x06010103, 0x01000000, 0x00000000, 0x02020202, 0x00000206, 0x05040101, 0x00000000, 0x0001080F, 0x07010103, + 0x01000001, 0x00000000, 0x03030202, 0x00010408, 0x07060201, 0x00000000, 0x00010911, 0x08010103, 0x01000001, + 0x00000001, 0x04040303, 0x0101050B, 0x0A080301, 0x00000000, 0x00020B14, 0x0A010103, 0x01000001, 0x00010102, + 0x06060403, 0x0203070D, 0x0C0A0401, 0x00000000, 0x00030D17, 0x0B020103, 0x01010001, 0x00010205, 0x09080503, + 0x0205090E, 0x0E0D0501, 0x00000000, 0x01050F18, 0x0C020102, 0x01010001, 0x00010408, 0x0D0B0502, 0x03070B0F, + 0x0F0F0601, 0x00000000, 0x02081219, 0x0D030102, 0x00010001, 0x0001050B, 0x130F0702, 0x04080B0F, 0x10110801, + 0x00000000, 0x030C1419, 0x0E040101, 0x00010001, 0x0001070F, 0x19140A03, 0x05090B0E, 0x10130A02, 0x00000001, + 0x05121719, 0x0E040100, 0x00010102, 0x01020A13, 0x1F1A0F06, 0x06090A0C, 0x10150B03, 0x01000001, 0x08181B19, + 0x0F050201, 0x01020102, 0x02040D18, 0x2721140A, 0x080A0A0C, 0x11160D04, 0x02020001, 0x0B1E1E19, 0x10070403, + 0x02030202, 0x0408111D, 0x2F2A1B0F, 0x0A0B0B0D, 0x12180F06, 0x04040101, 0x0E242119, 0x11090606, 0x04040304, + 0x070C1623, 0x38322214, 0x0E0D0E10, 0x141A1108, 0x06060102, 0x112A241A, 0x120B0909, 0x06050507, 0x0B111C29, + 0x413B291B, 0x13101216, 0x181B1209, 0x08080304, 0x152F271B, 0x140E0C0C, 0x0907080B, 0x10172230, 0x4A433223, + 0x1813161D, 0x1D1E140B, 0x0A0A0608, 0x1A342B1E, 0x17110F0F, 0x0C0B0D11, 0x171F2A38, 0x534C3B2B, 0x1E161C25, + 0x2221160D, 0x0B0C0A0E, 0x21393023, 0x1B151211, 0x0F0F1217, 0x1E273240, 0x5C564534, 0x251B242F, 0x2924190F, + 0x0E0E0F17, 0x293E372B, 0x21181513, 0x1113181E, 0x26303B48, 0x655F4E3E, 0x2D222D3A, 0x30271C13, 0x11111520, + 0x32453F35, 0x281D1714, 0x14181E25, 0x2F3A4551, 0x6F695746, 0x362B3744, 0x372A1F17, 0x15151D2A, 0x3D4D483F, + 0x31231A14, 0x171E252E, 0x38444F5B, 0x7974614F, 0x4036404C, 0x3C2D231D, 0x1A1A2637, 0x4957524A, 0x3A2A1D15, + 0x1A252E37, 0x43505B66, 0x837F6C59, 0x4A414750, 0x3F2E2723, 0x21213245, 0x57625D54, 0x43312216, 0x1F2D3741, + 0x4D5B6671, 0x8E8B7662, 0x544B4D51, 0x3F302C2C, 0x2B2D4054, 0x656D675E, 0x4C3A281A, 0x2536414B, 0x5867717B, + 0x9896816C, 0x5E545150, 0x3F323337, 0x383C5063, 0x71777168, 0x56432F21, 0x2C3F4B56, 0x63727C86, 0xA2A08B76, + 0x685D5651, 0x3F343A43, 0x484D5F70, 0x7D827B71, 0x5F4C3829, 0x34465462, 0x6F7C8690, 0xACA99581, 0x72655B53, + 0x42394450, 0x585E6D7C, 0x878C8479, 0x68574334, 0x3D4E5E6E, 0x7B88919A, 0xB4B09E8C, 0x7C6E6155, 0x46414F5F, + 0x676E7B87, 0x92958C80, 0x71625041, 0x4857697A, 0x86929BA3, 0xBBB7A796, 0x86776658, 0x4D4B5C6E, 0x777D8791, + 0x9C9F9487, 0x7A6D5C4F, 0x54617486, 0x919CA4AB, 0xC2BBAFA1, 0x907F6C5D, 0x55576A7E, 0x8589929A, 0xA5A99D90, + 0x8478695E, 0x5F697F93, 0x9DA6ACB2, 0xC8BFB6AC, 0x9A877465, 0x6064788D, 0x92949BA1, 0xADB2A89C, 0x8F83766C, + 0x6A718AA1, 0xA9AFB2B8, 0xCEC3BDB6, 0xA4907E70, 0x6C72879B, 0x9C9CA2A8, 0xB5BBB3A9, 0x9B8E8279, 0x737693AE, + 0xB4B6B9BE, 0xD5C9C5BF, 0xAF9C8B7E, 0x7A8094A5, 0xA4A0A7B0, 0xBDC5C0B7, 0xA8998E85, 0x7B7B9AB7, 0xBDBEC0C5, + 0xDBCFCCC8, 0xBAA9998E, 0x898E9FAD, 0xA8A1ACB8, 0xC6CECCC5, 0xB6A4988F, 0x8381A0BE, 0xC4C6C8CD, 0xE0D4D3D1, + 0xC5B7A89D, 0x989CA8B3, 0xABA2B0C0, 0xCED8D8D2, 0xC2AEA298, 0x8C89A6C3, 0xCACED1D5, 0xE5DBDAD8, 0xD0C4B6AB, + 0xA6A8B1B8, 0xAEA4B5C7, 0xD6E0E3DE, 0xCDB7ABA2, 0x9590ACC9, 0xD0D5D9DC, 0xEBE1E0DE, 0xDAD1C4B9, 0xB2B2B8BC, + 0xB1A7B9CE, 0xDEE8ECE8, 0xD6BDB3AC, 0x9E98B3CE, 0xD6DBE0E3, 0xF0E9E6E3, 0xE3DDD2C6, 0xBCBABEC0, 0xB4AABED5, + 0xE5EFF3F0, 0xDDC2BBB6, 0xA79FB9D4, 0xDCE2E7E9, 0xF5F0ECE7, 0xEAE8DED2, 0xC6C1C2C3, 0xB7ADC4DD, 0xEBF3F8F5, + 0xE1C6C2C1, 0xB1A7BFD8, 0xE1E7EDF0, 0xF9F5F1EB, 0xF0F0E9DD, 0xCFC7C7C6, 0xBBB1CBE5, 0xF0F5FBF7, 0xE3CACACC, + 0xBBB0C5DC, 0xE5ECF4F6, 0xFCF9F5EE, 0xF5F7F0E7, 0xD7CDCCCB, 0xBFB7D2EB, 0xF4F7FBF6, 0xE4CDD2D6, 0xC6B9CBE0, + 0xE9F1F9FB, 0xFDFCF8F2, 0xF9FAF6EE, 0xDFD5D3D0, 0xC5BDD9F0, 0xF7F9FBF4, 0xE5D0D9E0, 0xD1C2D2E4, 0xEDF5FCFE, + 0xFEFDFAF4, 0xFBFCF9F3, 0xE6DDDAD7, 0xCBC3DEF4, 0xFAFBFCF3, 0xE5D3DEE8, 0xDBCDDAE9, 0xF2F8FEFF, 0xFEFDFCF6, + 0xFCFDFCF7, 0xECE4E2DF, 0xD2C9E3F7, 0xFCFDFBF3, 0xE5D6E4EF, 0xE3D6E1EE, 0xF6FAFEFF, 0xFEFDFDF8, 0xFCFDFDFA, + 0xF1EAE9E7, 0xD9CFE7F9, 0xFEFEFBF3, 0xE7DBE9F4, 0xEBDFE8F3, 0xF9FCFFFF, 0xFEFDFDFA, 0xFDFDFEFC, 0xF5EFEFEE, + 0xE0D5ECFB, 0xFFFEFBF3, 0xE9E1EEF8, 0xF0E6EEF6, 0xFCFDFFFF, 0xFEFDFEFC, 0xFEFDFEFE, 0xF8F4F4F3, 0xE7DDF1FD, + 0xFFFEFBF3, 0xECE7F3FC, 0xF5ECF2F9, 0xFDFEFFFF, 0xFEFDFFFE, 0xFFFDFEFE, 0xFAF7F8F7, 0xEDE5F5FE, 0xFFFEFBF5, + 0xF0EDF7FD, 0xF9F1F5FA, 0xFEFFFFFF, 0xFEFDFFFF, 0xFFFEFEFF, 0xFCFAFAFA, 0xF2ECF8FE, 0xFFFEFCF7, 0xF4F3FAFE, + 0xFBF6F8FB, 0xFEFFFFFF, 0xFEFDFFFF, 0xFFFEFEFF, 0xFDFCFCFC, 0xF7F2FBFF, 0xFFFEFCFA, 0xF8F7FCFF, 0xFEFAFBFC, + 0xFFFFFFFF, 0xFEFEFFFF, 0xFFFFFFFF, 0xFEFDFEFD, 0xFAF7FCFF, 0xFFFEFDFC, 0xFCFBFDFF, 0xFFFDFDFD, 0xFFFFFFFF, + 0xFFFEFFFF, 0xFFFFFFFF, 0xFFFEFEFE, 0xFCFAFDFF, 0xFFFEFEFE, 0xFEFDFEFF, 0xFFFFFEFD, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFDFCFEFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFEFEFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, +}; + +static UNK_TYPE texture2[] = { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000001, 0x00000000, 0x00000000, 0x00000001, 0x01000000, 0x00000102, 0x02010000, 0x00000001, 0x01010202, + 0x00000000, 0x00000000, 0x00000202, 0x02000000, 0x01010205, 0x07050200, 0x00000001, 0x01010304, 0x02010000, + 0x00000000, 0x00000305, 0x04010001, 0x05030307, 0x0A090401, 0x00000101, 0x01020206, 0x05030200, 0x00000000, + 0x01010408, 0x08030003, 0x08080607, 0x09090602, 0x01000001, 0x01010104, 0x05060603, 0x02010002, 0x0505060A, + 0x0C080404, 0x07090707, 0x06050709, 0x07010000, 0x01010101, 0x05080B0A, 0x06020205, 0x090A0A0C, 0x0F0E0A05, + 0x05080905, 0x05040810, 0x10060000, 0x00010102, 0x050A1113, 0x0E080608, 0x0A0C0D10, 0x1514120D, 0x0E0C0D0B, + 0x09080B15, 0x190F0402, 0x01000308, 0x0A0F161A, 0x180F0A0A, 0x0A0B0B12, 0x191B2A20, 0x221B1F1B, 0x1815141C, + 0x22170806, 0x03030611, 0x1A1F201E, 0x1C140E0E, 0x0D0E0F11, 0x181D2F3D, 0x3F333532, 0x2C261F24, 0x2E230F0D, + 0x0A090E18, 0x242E2D24, 0x1B141010, 0x11161813, 0x1618274A, 0x4E464948, 0x42383030, 0x39311712, 0x16151F24, + 0x2331362A, 0x1B111013, 0x191D201C, 0x1E273145, 0x4F51565B, 0x584C4140, 0x4A3F1C14, 0x1E202D32, 0x242B3631, + 0x22140F14, 0x1D23221D, 0x273C4A4E, 0x675F636D, 0x70645452, 0x564C2616, 0x2D363842, 0x38333F3F, 0x35241817, + 0x242C2A25, 0x2F4F656C, 0x948A7E81, 0x887D6A63, 0x60583B2F, 0x4454575F, 0x5B555C5E, 0x56493E34, 0x39414644, + 0x49627089, 0xBBBAA89B, 0x9B917A70, 0x67595152, 0x677A8184, 0x857F7A7C, 0x756D6A63, 0x5C5D626E, 0x767F8795, + 0xC4D1CABB, 0xB5A68C82, 0x7D706B76, 0x8B969DA7, 0xAEA69592, 0x928C8B8A, 0x857D8094, 0xA5AAA8A5, 0xC4CEC9C7, + 0xC2B69E94, 0x948F8991, 0x9EA4A9B7, 0xBEBDAFA2, 0xA2A49F9A, 0x99959BB7, 0xC9CECAC4, 0xD7CDC8C8, 0xCBC8B6AB, + 0xAAAAA7A0, 0xA0A2ACBD, 0xC6CCC9BD, 0xB4BAB6A8, 0xA3A3AECF, 0xE3E4E0DE, 0xE6DBD4CE, 0xD0D0C6BA, 0xB6B6B3A7, + 0x9FA7B4C7, 0xD5D7D8D3, 0xC9C9CDBF, 0xB1B2BED9, 0xF2ECE3E5, 0xECEAE1DA, 0xDBDDD7CB, 0xC2BFBCB4, 0xADB4C4D7, + 0xE4E7E4DD, 0xD6D6E0DC, 0xC7BABFD4, 0xE9E8DFE2, 0xF0F4EDE8, 0xE6E7E7DD, 0xCFC9CAC9, 0xC8CEDCEA, 0xF3F6F1E7, + 0xE0DEE3E7, 0xDAC2C3D6, 0xE4E8E3E5, 0xF7FBF8F1, 0xECEAEFEB, 0xDFDCDDE0, 0xE2E4E7EF, 0xF7FCFAF4, 0xEFE9E5E7, + 0xE2CDC8D7, 0xE5E9EAEE, 0xFDFEFCF7, 0xF1EBEDF0, 0xE9E8EDF1, 0xF3F0EEF0, 0xF5FBFBF8, 0xF7F3E9E2, 0xDDD6D3E1, + 0xEBEBEBF4, 0xFCFEFEFC, 0xF6F0F1F4, 0xEDEAF3FA, 0xFCF5EBEA, 0xF0F8F8F6, 0xF7F6EEE6, 0xE2E0E4ED, 0xEDE9E1EE, + 0xFAFFFDFD, 0xFAF7F7F7, 0xF2EFF6FB, 0xFBF2E1DF, 0xEEF8F6F2, 0xF4F6F2EE, 0xEAE7ECF2, 0xEEE6E0E5, 0xF6FCFCFD, + 0xFDFCFCF9, 0xF2F0F5FA, 0xFAF3DED8, 0xE8F7F7F3, 0xF4F8F7F6, 0xF2EEEEF0, 0xECE5E2E5, 0xF8FBF5F7, 0xFAFBFAF5, + 0xEBE7F4FC, 0xFAF6E8DD, 0xE8F8FCF8, 0xF8F9FAFA, 0xF9F4EEE9, 0xE4DFE0E9, 0xF9FAF1EE, 0xF2F5F7F5, 0xEBE1EDFB, + 0xFBFAF5EF, 0xF4FCFEFD, 0xFBF8F8FB, 0xFBF7F2EA, 0xE4DCD8E5, 0xF6FBF0EA, 0xECEFF3F2, 0xEDE5EAF9, 0xFDFCFDFC, + 0xFCFDFDFC, 0xF9F5F7FA, 0xFCF9F6F2, 0xEBE0D6E1, 0xEDF9F5EE, 0xEDEEF0F0, 0xEEEBEFFA, 0xFEFEFFFC, 0xF9F6F8FB, + 0xFAF7F6FA, 0xFDFDFBFA, 0xF7E8DCDB, 0xECF7F9F4, 0xF3F1F0EF, 0xECECF3FC, 0xFEFEFEF9, 0xF1EDEEF7, 0xFBFAF9FC, + 0xFEFEFDFC, 0xFBF3DFE0, 0xF0F5FBFA, 0xF7F3F3F4, 0xF1EFF2F8, 0xFAFCFEFA, 0xF1EAE7F0, 0xFAFEFDFE, 0xFFFEFEFD, + 0xFDFBE7E9, 0xF6FBFDFB, 0xF8F3F2F7, 0xF9F4EFF0, 0xF3F6FBFB, 0xF5EEEDF0, 0xFAFFFFFF, 0xFEFDFDFE, 0xFEFDF7F0, + 0xF9FDFCFA, 0xF5ECEAF4, 0xFCF8ECE8, 0xEBEFF7FC, 0xF8F6F7F6, 0xF9FCFEFD, 0xFBFAF8FB, 0xFEFFFEF7, 0xF3FAFCF7, + 0xEFE4E1EA, 0xF7F8EBE1, 0xE4EAEDF5, 0xF6F3F7F8, 0xF7F9FAF9, 0xF5F3F1F0, 0xF4FBFFFA, 0xECEEF6F4, 0xECE1DBE1, + 0xEFF5EDE0, 0xE0E2E0E6, 0xEDEBEFF2, 0xF3F6F6F5, 0xEEECEDE6, 0xE2EEFEFA, 0xEAE3E6E6, 0xE5E2DEDF, 0xE7EDE7DD, + 0xDBDDD8DA, 0xE5E6E8ED, 0xEEF2F4EF, 0xE3D9DFE4, 0xDDE2F7FB, 0xF2E5D8D2, 0xD4DDE3DB, 0xD7DCDCD4, 0xCFD1D5DC, + 0xE6E7E8E8, 0xE5E9EBE3, 0xD1C5CEE0, 0xE2E2F3FD, 0xF8EAD6C2, 0xC1CDDCD7, 0xC5BFC4C1, 0xB7B9CCE7, 0xF0EDE2DD, + 0xD8D4D7CA, 0xB4AFBFD6, 0xE4EBF2FC, 0xEEEAD8C2, 0xBABECCCF, 0xB9A1A3AA, 0xA6A2B0DB, 0xF0E9D8CE, 0xC6BFBDAE, + 0x9292ACCC, 0xE0E4E3EB, 0xCFD5CFBF, 0xB3AEB1B6, 0xA68D8A95, 0x9A99A1C2, 0xE3DBC6BA, 0xB4ACA292, 0x757299C0, + 0xD7D8CBC6, 0xA5B3BAB0, 0xA59A9293, 0x8C7A757E, 0x889198AE, 0xCACAB7A7, 0xA09C9480, 0x63597696, 0xAEC0BEA8, + 0x8C959F97, 0x89807772, 0x6752536B, 0x79808896, 0xAEB8A894, 0x827E796B, 0x59556374, 0x849EB6A5, 0x918F8D7B, + 0x6A676A66, 0x53363453, 0x6A6D6E76, 0x8A9D9E90, 0x73625D58, 0x5157605F, 0x5E749CA7, 0x96898163, 0x4E506064, + 0x4A2A1E36, 0x565D5B5F, 0x697D8D8C, 0x714E4240, 0x44525E59, 0x5161869C, 0x81776D54, 0x3D3A4D5A, 0x46281B22, + 0x363E424A, 0x545D6E7B, 0x714F3630, 0x313E4E4C, 0x44537384, 0x625B4E3E, 0x2E293646, 0x37201C20, 0x1E1D1F2D, + 0x3E454A59, 0x5F4D2D20, 0x2229363E, 0x3B4A6A70, 0x453C3329, 0x211F2835, 0x2A1A1B20, 0x1307050F, 0x242C2933, + 0x43442C18, 0x15151C2A, 0x3140655C, 0x251B1F1B, 0x15161F27, 0x261D1C20, 0x15040005, 0x141E1516, 0x26312716, + 0x0E0C0D19, 0x28385556, 0x170D1511, 0x0A0B141E, 0x2222201F, 0x170B0403, 0x0D190F0B, 0x151F1B10, 0x0B08050C, + 0x17264546, 0x130C140C, 0x03030C12, 0x13181F1C, 0x16100A07, 0x090E0F09, 0x11160F08, 0x0C0F0A09, 0x0F1B2E32, + 0x12171D11, 0x0301070D, 0x0B0D1414, 0x110F110F, 0x0A07070A, 0x11150B04, 0x0C15130F, 0x0E0E1B23, 0x10172113, + 0x0401050C, 0x0E09090B, 0x09090E13, 0x10090505, 0x0D120C04, 0x07141911, 0x0C0A1016, 0x09101811, 0x05020308, + 0x0D090606, 0x0504060C, 0x110F0903, 0x060B0804, 0x030A100D, 0x0A090B0C, 0x05060A06, 0x01010204, 0x07080403, + 0x02010307, 0x0A0D0B04, 0x02020302, 0x02030606, 0x04040708, 0x02020200, 0x00000201, 0x02030200, 0x00000102, + 0x05060704, 0x01000001, 0x01020201, 0x00010406, 0x01000201, 0x00000000, 0x00000000, 0x00000001, 0x02020202, + 0x01000000, 0x00000101, 0x00000102, 0x00000100, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000100, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, +}; + +static UNK_TYPE vertices1[] = { + 0x00420271, 0xFFBE0000, 0x060006C2, 0x3E52C2FF, 0x000002BC, 0x00000000, 0x07000800, 0x007800FF, 0x005D0271, + 0x00000000, 0x080006C2, 0x575200FF, 0x00BD01DB, 0xFFB20000, 0x07000419, 0x5E3FD9FF, 0x00BD01DB, 0x004E0000, + 0x09000419, 0x5E3F27FF, 0x01AF001B, 0x00000000, 0x08000005, 0x6B3500FF, 0x0131001B, 0x01310000, 0x0A000005, + 0x4C354CFF, 0x000002BC, 0x00000000, 0x09000800, 0x007800FF, 0x00420271, 0x00420000, 0x0A0006C2, 0x3E523EFF, + 0x004E01DB, 0x00BD0000, 0x0B000419, 0x273F5EFF, 0x0000001B, 0x01AF0000, 0x0C000005, 0x00356BFF, 0x000002BC, + 0x00000000, 0x0B000800, 0x007800FF, 0x00000271, 0x005D0000, 0x0C0006C2, 0x005257FF, 0xFFB201DB, 0x00BD0000, + 0x0D000419, 0xD93F5EFF, 0xFECF001B, 0x01310000, 0x0E000005, 0xB4354CFF, 0x000002BC, 0x00000000, 0x0D000800, + 0x007800FF, 0xFFBE0271, 0x00420000, 0x0E0006C2, 0xC2523EFF, 0xFF4301DB, 0x004E0000, 0x0F000419, 0xA23F27FF, + 0xFE51001B, 0x00000000, 0x10000005, 0x953500FF, 0xFFA30271, 0x00000000, 0x100006C2, 0xA95200FF, 0xFF4301DB, + 0xFFB20000, 0x11000419, 0xA23FD9FF, 0xFE51001B, 0x00000000, 0x00000005, 0x953500FF, 0xFF4301DB, 0xFFB20000, + 0x01000419, 0xA23FD9FF, 0xFECF001B, 0xFECF0000, 0x02000005, 0xB435B4FF, 0xFFA30271, 0x00000000, 0x000006C2, + 0xA95200FF, 0x000002BC, 0x00000000, 0x01000800, 0x007800FF, 0xFFBE0271, 0xFFBE0000, 0x020006C2, 0xC252C2FF, + 0xFFB201DB, 0xFF430000, 0x03000419, 0xD93FA2FF, 0x0000001B, 0xFE510000, 0x04000005, 0x003595FF, 0x000002BC, + 0x00000000, 0x03000800, 0x007800FF, 0x00000271, 0xFFA30000, 0x040006C2, 0x0052A9FF, 0x004E01DB, 0xFF430000, + 0x05000419, 0x273FA2FF, +}; + +static UNK_TYPE vertices2[] = { + 0x0000001B, 0xFE510000, 0x04000005, 0x003595FF, 0x004E01DB, 0xFF430000, 0x05000419, 0x273FA2FF, 0x0131001B, + 0xFECF0000, 0x06000005, 0x4C35B4FF, 0x00000271, 0xFFA30000, 0x040006C2, 0x0052A9FF, 0x000002BC, 0x00000000, + 0x05000800, 0x007800FF, 0x00420271, 0xFFBE0000, 0x060006C2, 0x3E52C2FF, 0x00BD01DB, 0xFFB20000, 0x07000419, + 0x5E3FD9FF, 0x01AF001B, 0x00000000, 0x08000005, 0x6B3500FF, 0xFFBE0271, 0x00420000, 0x060006C2, 0xC2523EFF, + 0x000002BC, 0x00000000, 0x07000800, 0x007800FF, 0xFFA30271, 0x00000000, 0x080006C2, 0xA95200FF, +}; + +static Gfx textureDL[] = { + gsDPPipeSync(), + gsDPSetTextureLUT(G_TT_NONE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPLoadTextureBlock(texture1, G_IM_FMT_I, G_IM_SIZ_8b, 32, 64, 0, G_TX_NOMIRROR | G_TX_WRAP, + G_TX_MIRROR | G_TX_WRAP, 5, 6, 13, 15), + gsDPLoadMultiBlock(texture2, 0x0100, 1, G_IM_FMT_I, G_IM_SIZ_8b, 32, 64, 0, G_TX_NOMIRROR | G_TX_WRAP, + G_TX_MIRROR | G_TX_WRAP, 5, 6, 14, 14), + gsDPSetCombineLERP(TEXEL1, PRIMITIVE, ENV_ALPHA, TEXEL0, TEXEL1, 1, ENVIRONMENT, TEXEL0, PRIMITIVE, ENVIRONMENT, + COMBINED, ENVIRONMENT, COMBINED, 0, PRIMITIVE, 0), + gsDPSetRenderMode(Z_CMP | IM_RD | CVG_DST_SAVE | ZMODE_XLU | FORCE_BL | + GBL_c1(G_BL_CLR_IN, G_BL_0, G_BL_CLR_IN, G_BL_1), + G_RM_ZB_CLD_SURF2), + gsSPClearGeometryMode(G_CULL_BACK | G_FOG | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR), + gsSPSetGeometryMode(G_LIGHTING), + gsSPEndDisplayList(), +}; + +static Gfx vertexDL[] = { + gsSPVertex(vertices1, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(3, 2, 4, 0, 3, 4, 5, 0), + gsSP2Triangles(5, 4, 6, 0, 2, 7, 8, 0), + gsSP2Triangles(2, 8, 4, 0, 4, 8, 9, 0), + gsSP2Triangles(4, 9, 6, 0, 6, 9, 10, 0), + gsSP2Triangles(8, 11, 12, 0, 8, 12, 9, 0), + gsSP2Triangles(9, 12, 13, 0, 9, 13, 10, 0), + gsSP2Triangles(10, 13, 14, 0, 12, 15, 16, 0), + gsSP2Triangles(12, 16, 13, 0, 13, 16, 17, 0), + gsSP2Triangles(13, 17, 14, 0, 14, 17, 18, 0), + gsSP2Triangles(16, 19, 17, 0, 17, 19, 20, 0), + gsSP2Triangles(17, 20, 18, 0, 21, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 22, 0), + gsSP2Triangles(22, 26, 27, 0, 22, 27, 23, 0), + gsSP2Triangles(23, 27, 28, 0, 26, 29, 30, 0), + gsSP2Triangles(26, 30, 27, 0, 27, 30, 31, 0), + gsSP1Triangle(27, 31, 28, 0), + gsSPVertex(vertices2, 11, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), + gsSP2Triangles(3, 5, 1, 0, 1, 5, 6, 0), + gsSP2Triangles(1, 6, 2, 0, 2, 6, 7, 0), + gsSP1Triangle(8, 9, 10, 0), + gsSPEndDisplayList(), +}; diff --git a/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd.c b/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd.c index 7a6e130946..adbe4abf33 100644 --- a/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd.c +++ b/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd.c @@ -168,7 +168,7 @@ static ColliderCylinderInit colliderInit = { 0x00, 0x00, 0xFFCFFFFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000, 0x0001, 0x0000, 0x000A, 0x0046, 0x0000, }; -static SubActor98Init subActor98Init = { +static Sub98Init4 sub98Init = { 0x0A, 0x0023, 0x0064, @@ -202,7 +202,7 @@ static void BgTokiSwd_Init(BgTokiSwd* this, GlobalContext* globalCtx) { ActorCollider_AllocCylinder(globalCtx, collision); ActorCollider_InitCylinder(globalCtx, collision, thisx, &colliderInit); ActorCollider_Cylinder_Update(thisx, collision); - func_80061ED4(&thisx->sub_98, 0, &subActor98Init); + func_80061ED4(&thisx->sub_98, 0, &sub98Init); } static void BgTokiSwd_Destroy(BgTokiSwd* this, GlobalContext* globalCtx) { diff --git a/src/overlays/actors/ovl_En_Arrow/z_en_arrow.h b/src/overlays/actors/ovl_En_Arrow/z_en_arrow.h index f683d0281e..3ac1e13ac5 100644 --- a/src/overlays/actors/ovl_En_Arrow/z_en_arrow.h +++ b/src/overlays/actors/ovl_En_Arrow/z_en_arrow.h @@ -6,7 +6,10 @@ typedef struct { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x114]; + /* 0x014C */ char unk_14C[0xFC]; + /* 0x0248 */ u8 timer; // used for dissapearing when flying or hitting a wall + /* 0x0249 */ u8 hitWall; + /* 0x024A */ char unk_24A[0x16]; } EnArrow; // size = 0x0260 extern const ActorInit En_Arrow_InitVars; diff --git a/src/overlays/actors/ovl_En_Dog/z_en_dog.c b/src/overlays/actors/ovl_En_Dog/z_en_dog.c index 956f01ed51..ae3159cfca 100644 --- a/src/overlays/actors/ovl_En_Dog/z_en_dog.c +++ b/src/overlays/actors/ovl_En_Dog/z_en_dog.c @@ -1,3 +1,9 @@ +/* + * File: z_en_dog.c + * Overlay: ovl_En_Dog + * Description: Dog actor that Link can interact with + */ + #include "z_en_dog.h" #define ROOM 0x00 @@ -35,17 +41,7 @@ static ColliderCylinderInit cylinderInit = { 0x0010, 0x0014, 0x0000, 0x0000, 0x0000, 0x0000, }; -// There are multiple versions of sub98 init structs -// Keeping these local until z_collision_check is decompiled -typedef struct { - /* 0x00 */ u8 health; - /* 0x02 */ s16 unk_10; - /* 0x04 */ s16 unk_12; - /* 0x06 */ u16 unk_14; - /* 0x08 */ u8 mass; -} sub98Init; - -static sub98Init sub98Data = { +static Sub98Init5 sub98Data = { 0x00, // health 0x0000, // unk_10 0x0000, // unk_12 diff --git a/src/overlays/actors/ovl_En_Tk/z_en_tk.c b/src/overlays/actors/ovl_En_Tk/z_en_tk.c index 341b42ec1c..ac72d3d06a 100644 --- a/src/overlays/actors/ovl_En_Tk/z_en_tk.c +++ b/src/overlays/actors/ovl_En_Tk/z_en_tk.c @@ -1,15 +1,10 @@ -#include -#include -#include "z_en_tk.h" +/* + * File: z_en_tk.c + * Overlay: ovl_En_Tk + * Description: Dampe NPC from "Dampe's Heart-Pounding Gravedigging Tour" + */ -typedef struct { - /* 0x0000 */ u8 health; /* SubActorStruct98.health */ - /* 0x0002 */ s16 h_2; /* SubActorStruct98.unk_10 */ - /* 0x0004 */ s16 h_4; /* SubActorStruct98.unk_12 */ - /* 0x0006 */ s16 h_6; /* SubActorStruct98.unk_14 */ - /* 0x0008 */ u8 mass; /* SubActorStruct98.mass */ - /* 0x000A */ -} EnTk_SubActorStruct98Init; +#include "z_en_tk.h" #define ROOM 0x00 #define FLAGS 0x00000009 @@ -181,7 +176,7 @@ static ColliderCylinderInit D_80B1D508 = { 0x00, 0x00, 0x01, 0x00, 0x001E, 0x0034, 0x0000, 0x0000, 0x0000, 0x0000, }; -static EnTk_SubActorStruct98Init D_80B1D534 = { +static Sub98Init5 D_80B1D534 = { 0x00, 0x0000, 0x0000, 0x0000, 0xFF, }; diff --git a/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c b/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c index 48f1cae778..d106c9cd02 100644 --- a/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c +++ b/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c @@ -57,7 +57,12 @@ static ColliderCylinderInit colCylinderInit = { 0x00, 0x01, 0x01, 0x00, 0x001E, 0x0028, 0x0000, 0x0000, 0x0000, 0x0000, }; -static SubActor98Init subActor98Init = { 0x04, 0x001E, 0x0028, 0x96 }; +static Sub98Init4 sub98Init = { + 0x04, + 0x001E, + 0x0028, + 0x96, +}; static ActorDamageChart damageChart = { { { 0x1, 0x0 }, { 0x0, 0x2 }, { 0x0, 0x1 }, { 0x0, 0x2 }, { 0x1, 0x0 }, { 0x0, 0x2 }, { 0x0, 0x2 }, { 0x1, 0x0 }, @@ -96,7 +101,7 @@ static void EnWallmas_Init(EnWallmas* this, GlobalContext* globalCtx) { ActorCollider_AllocCylinder(globalCtx, &this->colCylinder); ActorCollider_InitCylinder(globalCtx, &this->colCylinder, &this->actor, &colCylinderInit); - func_80061ED4(&this->actor.sub_98, &damageChart, &subActor98Init); + func_80061ED4(&this->actor.sub_98, &damageChart, &sub98Init); this2->switchFlag = (u8)(this2->actor.params >> 0x8); this->actor.params = this->actor.params & 0xFF;