From 88b05cd9a27aa05aaa2503df7f1e86e06e3d864f Mon Sep 17 00:00:00 2001 From: nfaltermeier Date: Mon, 15 Feb 2021 15:27:22 -0600 Subject: [PATCH] En_anubice OK (#688) * init, func_809B1120, and func_809B11C0 OK Also migrate data to c * Match Destroy, func_809B142C, func_809B1524, func_809B15CC Start on func_809B16AC, but float register diffs :( * Everything OK but func_809B16AC and what a devil it is... * Work on func_809B16AC What an ugly function * Do some documentation * More documentation * Run formatter * Rename a few things * Address PR comments * Missed a couple angle macro opportunities * Update src/overlays/actors/ovl_En_Anubice/z_en_anubice.c Co-authored-by: mzxrules * Anubice OK * Deleted the wrong part of the spec * A curtain was missed * Forgot a comment I changed the declaration but not the reference :I * More PR comments Co-authored-by: mzxrules --- .../actors/ovl_En_Anubice/EnAnubice_Destroy.s | 25 - .../actors/ovl_En_Anubice/EnAnubice_Draw.s | 25 - .../actors/ovl_En_Anubice/EnAnubice_Init.s | 98 ---- .../actors/ovl_En_Anubice/EnAnubice_Update.s | 285 ----------- .../actors/ovl_En_Anubice/func_809B1120.s | 49 -- .../actors/ovl_En_Anubice/func_809B11C0.s | 65 --- .../actors/ovl_En_Anubice/func_809B142C.s | 81 --- .../actors/ovl_En_Anubice/func_809B1524.s | 45 -- .../actors/ovl_En_Anubice/func_809B15CC.s | 65 --- .../actors/ovl_En_Anubice/func_809B16AC.s | 100 ---- .../actors/ovl_En_Anubice/func_809B17FC.s | 37 -- .../actors/ovl_En_Anubice/func_809B1884.s | 71 --- .../actors/ovl_En_Anubice/func_809B1984.s | 56 --- .../actors/ovl_En_Anubice/func_809B1A54.s | 199 -------- .../actors/ovl_En_Anubice/func_809B2104.s | 21 - .../actors/ovl_En_Anubice/func_809B2150.s | 81 --- data/overlays/actors/z_en_anubice.data.s | 28 -- data/overlays/actors/z_en_anubice.reloc.s | 13 - include/z64math.h | 1 + spec | 3 +- .../actors/ovl_En_Anubice/z_en_anubice.c | 461 +++++++++++++++++- .../actors/ovl_En_Anubice/z_en_anubice.h | 36 +- .../ovl_En_Anubice_Tag/z_en_anubice_tag.c | 12 +- 23 files changed, 474 insertions(+), 1383 deletions(-) delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Anubice/EnAnubice_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Anubice/EnAnubice_Draw.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Anubice/EnAnubice_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Anubice/EnAnubice_Update.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1120.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B11C0.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B142C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1524.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B15CC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B16AC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B17FC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1884.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1984.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1A54.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B2104.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B2150.s delete mode 100644 data/overlays/actors/z_en_anubice.data.s delete mode 100644 data/overlays/actors/z_en_anubice.reloc.s diff --git a/asm/non_matchings/overlays/actors/ovl_En_Anubice/EnAnubice_Destroy.s b/asm/non_matchings/overlays/actors/ovl_En_Anubice/EnAnubice_Destroy.s deleted file mode 100644 index ab29471598..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Anubice/EnAnubice_Destroy.s +++ /dev/null @@ -1,25 +0,0 @@ -glabel EnAnubice_Destroy -/* 002B4 809B13D4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 002B8 809B13D8 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 002BC 809B13DC AFBF0014 */ sw $ra, 0x0014($sp) -/* 002C0 809B13E0 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 002C4 809B13E4 24C502C8 */ addiu $a1, $a2, 0x02C8 ## $a1 = 000002C8 -/* 002C8 809B13E8 0C0170EB */ jal Collider_DestroyCylinder - -/* 002CC 809B13EC AFA60018 */ sw $a2, 0x0018($sp) -/* 002D0 809B13F0 8FA60018 */ lw $a2, 0x0018($sp) -/* 002D4 809B13F4 84CE001C */ lh $t6, 0x001C($a2) ## 0000001C -/* 002D8 809B13F8 51C00009 */ beql $t6, $zero, .L809B1420 -/* 002DC 809B13FC 8FBF0014 */ lw $ra, 0x0014($sp) -/* 002E0 809B1400 8CC30118 */ lw $v1, 0x0118($a2) ## 00000118 -/* 002E4 809B1404 50600006 */ beql $v1, $zero, .L809B1420 -/* 002E8 809B1408 8FBF0014 */ lw $ra, 0x0014($sp) -/* 002EC 809B140C 8C6F0130 */ lw $t7, 0x0130($v1) ## 00000130 -/* 002F0 809B1410 51E00003 */ beql $t7, $zero, .L809B1420 -/* 002F4 809B1414 8FBF0014 */ lw $ra, 0x0014($sp) -/* 002F8 809B1418 AC600150 */ sw $zero, 0x0150($v1) ## 00000150 -/* 002FC 809B141C 8FBF0014 */ lw $ra, 0x0014($sp) -.L809B1420: -/* 00300 809B1420 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00304 809B1424 03E00008 */ jr $ra -/* 00308 809B1428 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Anubice/EnAnubice_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Anubice/EnAnubice_Draw.s deleted file mode 100644 index 80c59fab7d..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Anubice/EnAnubice_Draw.s +++ /dev/null @@ -1,25 +0,0 @@ -glabel EnAnubice_Draw -/* 01134 809B2254 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 01138 809B2258 AFBF001C */ sw $ra, 0x001C($sp) -/* 0113C 809B225C AFA40020 */ sw $a0, 0x0020($sp) -/* 01140 809B2260 AFA50024 */ sw $a1, 0x0024($sp) -/* 01144 809B2264 0C024F61 */ jal func_80093D84 -/* 01148 809B2268 8CA40000 */ lw $a0, 0x0000($a1) ## 00000000 -/* 0114C 809B226C 8FA20020 */ lw $v0, 0x0020($sp) -/* 01150 809B2270 3C0F809B */ lui $t7, %hi(func_809B2150) ## $t7 = 809B0000 -/* 01154 809B2274 25EF2150 */ addiu $t7, $t7, %lo(func_809B2150) ## $t7 = 809B2150 -/* 01158 809B2278 3C07809B */ lui $a3, %hi(func_809B2104) ## $a3 = 809B0000 -/* 0115C 809B227C 8C450150 */ lw $a1, 0x0150($v0) ## 00000150 -/* 01160 809B2280 8C46016C */ lw $a2, 0x016C($v0) ## 0000016C -/* 01164 809B2284 AFAF0010 */ sw $t7, 0x0010($sp) -/* 01168 809B2288 24E72104 */ addiu $a3, $a3, %lo(func_809B2104) ## $a3 = 809B2104 -/* 0116C 809B228C 8FA40024 */ lw $a0, 0x0024($sp) -/* 01170 809B2290 0C028572 */ jal SkelAnime_DrawOpa - -/* 01174 809B2294 AFA20014 */ sw $v0, 0x0014($sp) -/* 01178 809B2298 8FBF001C */ lw $ra, 0x001C($sp) -/* 0117C 809B229C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 01180 809B22A0 03E00008 */ jr $ra -/* 01184 809B22A4 00000000 */ nop -/* 01188 809B22A8 00000000 */ nop -/* 0118C 809B22AC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Anubice/EnAnubice_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Anubice/EnAnubice_Init.s deleted file mode 100644 index 38cf5d1f60..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Anubice/EnAnubice_Init.s +++ /dev/null @@ -1,98 +0,0 @@ -.rdata -glabel D_809B2340 - .asciz "\n\n" - .balign 4 - -glabel D_809B2344 - .asciz "\x1b[33m☆☆☆☆☆ アヌビス発生 ☆☆☆☆☆ \n\x1b[m" - .balign 4 - -.late_rodata -glabel D_809B241C - .float -4230.0 - -.text -glabel EnAnubice_Init -/* 00184 809B12A4 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 00188 809B12A8 AFB00028 */ sw $s0, 0x0028($sp) -/* 0018C 809B12AC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00190 809B12B0 AFBF002C */ sw $ra, 0x002C($sp) -/* 00194 809B12B4 AFA5003C */ sw $a1, 0x003C($sp) -/* 00198 809B12B8 3C068003 */ lui $a2, %hi(ActorShadow_DrawCircle) -/* 0019C 809B12BC 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawCircle) -/* 001A0 809B12C0 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000 -/* 001A4 809B12C4 248400B4 */ addiu $a0, $a0, 0x00B4 ## $a0 = 000000B4 -/* 001A8 809B12C8 0C00AC78 */ jal ActorShape_Init - -/* 001AC 809B12CC 3C0741A0 */ lui $a3, 0x41A0 ## $a3 = 41A00000 -/* 001B0 809B12D0 3C060600 */ lui $a2, %hi(D_06003990) ## $a2 = 06000000 -/* 001B4 809B12D4 3C070600 */ lui $a3, %hi(D_06000F74) ## $a3 = 06000000 -/* 001B8 809B12D8 260E0190 */ addiu $t6, $s0, 0x0190 ## $t6 = 00000190 -/* 001BC 809B12DC 260F01F0 */ addiu $t7, $s0, 0x01F0 ## $t7 = 000001F0 -/* 001C0 809B12E0 24180010 */ addiu $t8, $zero, 0x0010 ## $t8 = 00000010 -/* 001C4 809B12E4 AFB80018 */ sw $t8, 0x0018($sp) -/* 001C8 809B12E8 AFAF0014 */ sw $t7, 0x0014($sp) -/* 001CC 809B12EC AFAE0010 */ sw $t6, 0x0010($sp) -/* 001D0 809B12F0 24E70F74 */ addiu $a3, $a3, %lo(D_06000F74) ## $a3 = 06000F74 -/* 001D4 809B12F4 24C63990 */ addiu $a2, $a2, %lo(D_06003990) ## $a2 = 06003990 -/* 001D8 809B12F8 8FA4003C */ lw $a0, 0x003C($sp) -/* 001DC 809B12FC 0C02915F */ jal SkelAnime_Init - -/* 001E0 809B1300 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C -/* 001E4 809B1304 3C04809B */ lui $a0, %hi(D_809B2340) ## $a0 = 809B0000 -/* 001E8 809B1308 0C00084C */ jal osSyncPrintf - -/* 001EC 809B130C 24842340 */ addiu $a0, $a0, %lo(D_809B2340) ## $a0 = 809B2340 -/* 001F0 809B1310 3C04809B */ lui $a0, %hi(D_809B2344) ## $a0 = 809B0000 -/* 001F4 809B1314 0C00084C */ jal osSyncPrintf - -/* 001F8 809B1318 24842344 */ addiu $a0, $a0, %lo(D_809B2344) ## $a0 = 809B2344 -/* 001FC 809B131C 2419003A */ addiu $t9, $zero, 0x003A ## $t9 = 0000003A -/* 00200 809B1320 A2190117 */ sb $t9, 0x0117($s0) ## 00000117 -/* 00204 809B1324 260502C8 */ addiu $a1, $s0, 0x02C8 ## $a1 = 000002C8 -/* 00208 809B1328 AFA50030 */ sw $a1, 0x0030($sp) -/* 0020C 809B132C 0C0170D9 */ jal Collider_InitCylinder - -/* 00210 809B1330 8FA4003C */ lw $a0, 0x003C($sp) -/* 00214 809B1334 3C07809B */ lui $a3, %hi(D_809B22D0) ## $a3 = 809B0000 -/* 00218 809B1338 8FA50030 */ lw $a1, 0x0030($sp) -/* 0021C 809B133C 24E722D0 */ addiu $a3, $a3, %lo(D_809B22D0) ## $a3 = 809B22D0 -/* 00220 809B1340 8FA4003C */ lw $a0, 0x003C($sp) -/* 00224 809B1344 0C01712B */ jal Collider_SetCylinder - -/* 00228 809B1348 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 0022C 809B134C 3C053C75 */ lui $a1, 0x3C75 ## $a1 = 3C750000 -/* 00230 809B1350 34A5C28F */ ori $a1, $a1, 0xC28F ## $a1 = 3C75C28F -/* 00234 809B1354 0C00B58B */ jal Actor_SetScale - -/* 00238 809B1358 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0023C 809B135C 3C08809B */ lui $t0, %hi(D_809B22FC) ## $t0 = 809B0000 -/* 00240 809B1360 250822FC */ addiu $t0, $t0, %lo(D_809B22FC) ## $t0 = 809B22FC -/* 00244 809B1364 240900FF */ addiu $t1, $zero, 0x00FF ## $t1 = 000000FF -/* 00248 809B1368 AE080098 */ sw $t0, 0x0098($s0) ## 00000098 -/* 0024C 809B136C A20900AE */ sb $t1, 0x00AE($s0) ## 000000AE -/* 00250 809B1370 3C01809B */ lui $at, %hi(D_809B241C) ## $at = 809B0000 -/* 00254 809B1374 C424241C */ lwc1 $f4, %lo(D_809B241C)($at) -/* 00258 809B1378 8E0D0024 */ lw $t5, 0x0024($s0) ## 00000024 -/* 0025C 809B137C 8E0A0004 */ lw $t2, 0x0004($s0) ## 00000004 -/* 00260 809B1380 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 -/* 00264 809B1384 AE0D0298 */ sw $t5, 0x0298($s0) ## 00000298 -/* 00268 809B1388 8E0D002C */ lw $t5, 0x002C($s0) ## 0000002C -/* 0026C 809B138C 8E0C0028 */ lw $t4, 0x0028($s0) ## 00000028 -/* 00270 809B1390 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE -/* 00274 809B1394 3C0F809B */ lui $t7, %hi(func_809B142C) ## $t7 = 809B0000 -/* 00278 809B1398 240E0003 */ addiu $t6, $zero, 0x0003 ## $t6 = 00000003 -/* 0027C 809B139C 25EF142C */ addiu $t7, $t7, %lo(func_809B142C) ## $t7 = 809B142C -/* 00280 809B13A0 01415824 */ and $t3, $t2, $at -/* 00284 809B13A4 AE0B0004 */ sw $t3, 0x0004($s0) ## 00000004 -/* 00288 809B13A8 A20E001F */ sb $t6, 0x001F($s0) ## 0000001F -/* 0028C 809B13AC AE0F0250 */ sw $t7, 0x0250($s0) ## 00000250 -/* 00290 809B13B0 E60400BC */ swc1 $f4, 0x00BC($s0) ## 000000BC -/* 00294 809B13B4 E606027C */ swc1 $f6, 0x027C($s0) ## 0000027C -/* 00298 809B13B8 AE0D02A0 */ sw $t5, 0x02A0($s0) ## 000002A0 -/* 0029C 809B13BC AE0C029C */ sw $t4, 0x029C($s0) ## 0000029C -/* 002A0 809B13C0 8FBF002C */ lw $ra, 0x002C($sp) -/* 002A4 809B13C4 8FB00028 */ lw $s0, 0x0028($sp) -/* 002A8 809B13C8 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 002AC 809B13CC 03E00008 */ jr $ra -/* 002B0 809B13D0 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Anubice/EnAnubice_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Anubice/EnAnubice_Update.s deleted file mode 100644 index be841328b3..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Anubice/EnAnubice_Update.s +++ /dev/null @@ -1,285 +0,0 @@ -.late_rodata -glabel D_809B2438 - .float 3.1415927 - -.text -glabel EnAnubice_Update -/* 00BE8 809B1D08 27BDFFA0 */ addiu $sp, $sp, 0xFFA0 ## $sp = FFFFFFA0 -/* 00BEC 809B1D0C 3C0E809B */ lui $t6, %hi(func_809B1984) ## $t6 = 809B0000 -/* 00BF0 809B1D10 25CE1984 */ addiu $t6, $t6, %lo(func_809B1984) ## $t6 = 809B1984 -/* 00BF4 809B1D14 AFBF0024 */ sw $ra, 0x0024($sp) -/* 00BF8 809B1D18 AFB00020 */ sw $s0, 0x0020($sp) -/* 00BFC 809B1D1C AFA50064 */ sw $a1, 0x0064($sp) -/* 00C00 809B1D20 AFAE0034 */ sw $t6, 0x0034($sp) -/* 00C04 809B1D24 8C820250 */ lw $v0, 0x0250($a0) ## 00000250 -/* 00C08 809B1D28 3C0F809B */ lui $t7, %hi(func_809B1A54) ## $t7 = 809B0000 -/* 00C0C 809B1D2C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00C10 809B1D30 11C2009B */ beq $t6, $v0, .L809B1FA0 -/* 00C14 809B1D34 25EF1A54 */ addiu $t7, $t7, %lo(func_809B1A54) ## $t7 = 809B1A54 -/* 00C18 809B1D38 51E2009A */ beql $t7, $v0, .L809B1FA4 -/* 00C1C 809B1D3C 860E0254 */ lh $t6, 0x0254($s0) ## 00000254 -/* 00C20 809B1D40 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 00C24 809B1D44 C48600BC */ lwc1 $f6, 0x00BC($a0) ## 000000BC -/* 00C28 809B1D48 46062032 */ c.eq.s $f4, $f6 -/* 00C2C 809B1D4C 00000000 */ nop -/* 00C30 809B1D50 45020094 */ bc1fl .L809B1FA4 -/* 00C34 809B1D54 860E0254 */ lh $t6, 0x0254($s0) ## 00000254 -/* 00C38 809B1D58 0C26C448 */ jal func_809B1120 -/* 00C3C 809B1D5C 00000000 */ nop -/* 00C40 809B1D60 3C014270 */ lui $at, 0x4270 ## $at = 42700000 -/* 00C44 809B1D64 44811000 */ mtc1 $at, $f2 ## $f2 = 60.00 -/* 00C48 809B1D68 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000 -/* 00C4C 809B1D6C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 00C50 809B1D70 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014 -.L809B1D74: -/* 00C54 809B1D74 8CA302B0 */ lw $v1, 0x02B0($a1) ## 000002B0 -/* 00C58 809B1D78 24840004 */ addiu $a0, $a0, 0x0004 ## $a0 = 00000004 -/* 00C5C 809B1D7C 10600026 */ beq $v1, $zero, .L809B1E18 -/* 00C60 809B1D80 00000000 */ nop -/* 00C64 809B1D84 C4680024 */ lwc1 $f8, 0x0024($v1) ## 00000024 -/* 00C68 809B1D88 C60A0024 */ lwc1 $f10, 0x0024($s0) ## 00000024 -/* 00C6C 809B1D8C 460A4001 */ sub.s $f0, $f8, $f10 -/* 00C70 809B1D90 46000005 */ abs.s $f0, $f0 -/* 00C74 809B1D94 4602003C */ c.lt.s $f0, $f2 -/* 00C78 809B1D98 00000000 */ nop -/* 00C7C 809B1D9C 4500001E */ bc1f .L809B1E18 -/* 00C80 809B1DA0 00000000 */ nop -/* 00C84 809B1DA4 C470002C */ lwc1 $f16, 0x002C($v1) ## 0000002C -/* 00C88 809B1DA8 C612002C */ lwc1 $f18, 0x002C($s0) ## 0000002C -/* 00C8C 809B1DAC 46128001 */ sub.s $f0, $f16, $f18 -/* 00C90 809B1DB0 46000005 */ abs.s $f0, $f0 -/* 00C94 809B1DB4 4602003C */ c.lt.s $f0, $f2 -/* 00C98 809B1DB8 00000000 */ nop -/* 00C9C 809B1DBC 45000016 */ bc1f .L809B1E18 -/* 00CA0 809B1DC0 00000000 */ nop -/* 00CA4 809B1DC4 84780154 */ lh $t8, 0x0154($v1) ## 00000154 -/* 00CA8 809B1DC8 13000013 */ beq $t8, $zero, .L809B1E18 -/* 00CAC 809B1DCC 00000000 */ nop -/* 00CB0 809B1DD0 8FA40064 */ lw $a0, 0x0064($sp) -/* 00CB4 809B1DD4 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 00CB8 809B1DD8 24070006 */ addiu $a3, $zero, 0x0006 ## $a3 = 00000006 -/* 00CBC 809B1DDC 0C00CDD2 */ jal Actor_ChangeCategory - -/* 00CC0 809B1DE0 24851C24 */ addiu $a1, $a0, 0x1C24 ## $a1 = 00001C28 -/* 00CC4 809B1DE4 8E190004 */ lw $t9, 0x0004($s0) ## 00000004 -/* 00CC8 809B1DE8 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE -/* 00CCC 809B1DEC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 00CD0 809B1DF0 03214024 */ and $t0, $t9, $at -/* 00CD4 809B1DF4 AE080004 */ sw $t0, 0x0004($s0) ## 00000004 -/* 00CD8 809B1DF8 0C00CB1F */ jal func_80032C7C -/* 00CDC 809B1DFC 8FA40064 */ lw $a0, 0x0064($sp) -/* 00CE0 809B1E00 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00CE4 809B1E04 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 00CE8 809B1E08 2405399F */ addiu $a1, $zero, 0x399F ## $a1 = 0000399F -/* 00CEC 809B1E0C 8FA90034 */ lw $t1, 0x0034($sp) -/* 00CF0 809B1E10 100000B7 */ beq $zero, $zero, .L809B20F0 -/* 00CF4 809B1E14 AE090250 */ sw $t1, 0x0250($s0) ## 00000250 -.L809B1E18: -/* 00CF8 809B1E18 1486FFD6 */ bne $a0, $a2, .L809B1D74 -/* 00CFC 809B1E1C 24A50004 */ addiu $a1, $a1, 0x0004 ## $a1 = 00000004 -/* 00D00 809B1E20 920202D9 */ lbu $v0, 0x02D9($s0) ## 000002D9 -/* 00D04 809B1E24 304A0002 */ andi $t2, $v0, 0x0002 ## $t2 = 00000000 -/* 00D08 809B1E28 51400044 */ beql $t2, $zero, .L809B1F3C -/* 00D0C 809B1E2C 860A0262 */ lh $t2, 0x0262($s0) ## 00000262 -/* 00D10 809B1E30 920C00B1 */ lbu $t4, 0x00B1($s0) ## 000000B1 -/* 00D14 809B1E34 304BFFFD */ andi $t3, $v0, 0xFFFD ## $t3 = 00000000 -/* 00D18 809B1E38 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 00D1C 809B1E3C 15810013 */ bne $t4, $at, .L809B1E8C -/* 00D20 809B1E40 A20B02D9 */ sb $t3, 0x02D9($s0) ## 000002D9 -/* 00D24 809B1E44 8FA40064 */ lw $a0, 0x0064($sp) -/* 00D28 809B1E48 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 00D2C 809B1E4C 24070006 */ addiu $a3, $zero, 0x0006 ## $a3 = 00000006 -/* 00D30 809B1E50 0C00CDD2 */ jal Actor_ChangeCategory - -/* 00D34 809B1E54 24851C24 */ addiu $a1, $a0, 0x1C24 ## $a1 = 00001C24 -/* 00D38 809B1E58 8E0D0004 */ lw $t5, 0x0004($s0) ## 00000004 -/* 00D3C 809B1E5C 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE -/* 00D40 809B1E60 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 00D44 809B1E64 01A17024 */ and $t6, $t5, $at -/* 00D48 809B1E68 AE0E0004 */ sw $t6, 0x0004($s0) ## 00000004 -/* 00D4C 809B1E6C 0C00CB1F */ jal func_80032C7C -/* 00D50 809B1E70 8FA40064 */ lw $a0, 0x0064($sp) -/* 00D54 809B1E74 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00D58 809B1E78 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 00D5C 809B1E7C 2405399F */ addiu $a1, $zero, 0x399F ## $a1 = 0000399F -/* 00D60 809B1E80 8FAF0034 */ lw $t7, 0x0034($sp) -/* 00D64 809B1E84 1000009A */ beq $zero, $zero, .L809B20F0 -/* 00D68 809B1E88 AE0F0250 */ sw $t7, 0x0250($s0) ## 00000250 -.L809B1E8C: -/* 00D6C 809B1E8C 86180262 */ lh $t8, 0x0262($s0) ## 00000262 -/* 00D70 809B1E90 2419000A */ addiu $t9, $zero, 0x000A ## $t9 = 0000000A -/* 00D74 809B1E94 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001 -/* 00D78 809B1E98 17000027 */ bne $t8, $zero, .L809B1F38 -/* 00D7C 809B1E9C 3C01C120 */ lui $at, 0xC120 ## $at = C1200000 -/* 00D80 809B1EA0 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 00D84 809B1EA4 A619025C */ sh $t9, 0x025C($s0) ## 0000025C -/* 00D88 809B1EA8 A6080262 */ sh $t0, 0x0262($s0) ## 00000262 -/* 00D8C 809B1EAC 44812000 */ mtc1 $at, $f4 ## $f4 = -10.00 -/* 00D90 809B1EB0 E7A00048 */ swc1 $f0, 0x0048($sp) -/* 00D94 809B1EB4 E7A0004C */ swc1 $f0, 0x004C($sp) -/* 00D98 809B1EB8 E7A0003C */ swc1 $f0, 0x003C($sp) -/* 00D9C 809B1EBC E7A00040 */ swc1 $f0, 0x0040($sp) -/* 00DA0 809B1EC0 E7A00044 */ swc1 $f0, 0x0044($sp) -/* 00DA4 809B1EC4 E7A40050 */ swc1 $f4, 0x0050($sp) -/* 00DA8 809B1EC8 860900B6 */ lh $t1, 0x00B6($s0) ## 000000B6 -/* 00DAC 809B1ECC 3C014700 */ lui $at, 0x4700 ## $at = 47000000 -/* 00DB0 809B1ED0 44815000 */ mtc1 $at, $f10 ## $f10 = 32768.00 -/* 00DB4 809B1ED4 44893000 */ mtc1 $t1, $f6 ## $f6 = 0.00 -/* 00DB8 809B1ED8 3C01809B */ lui $at, %hi(D_809B2438) ## $at = 809B0000 -/* 00DBC 809B1EDC C4322438 */ lwc1 $f18, %lo(D_809B2438)($at) -/* 00DC0 809B1EE0 46803220 */ cvt.s.w $f8, $f6 -/* 00DC4 809B1EE4 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00DC8 809B1EE8 460A4403 */ div.s $f16, $f8, $f10 -/* 00DCC 809B1EEC 46128302 */ mul.s $f12, $f16, $f18 -/* 00DD0 809B1EF0 0C034348 */ jal Matrix_RotateY -/* 00DD4 809B1EF4 00000000 */ nop -/* 00DD8 809B1EF8 27A40048 */ addiu $a0, $sp, 0x0048 ## $a0 = FFFFFFE8 -/* 00DDC 809B1EFC 0C0346BD */ jal Matrix_MultVec3f -/* 00DE0 809B1F00 27A5003C */ addiu $a1, $sp, 0x003C ## $a1 = FFFFFFDC -/* 00DE4 809B1F04 C7A4003C */ lwc1 $f4, 0x003C($sp) -/* 00DE8 809B1F08 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00DEC 809B1F0C 2405393B */ addiu $a1, $zero, 0x393B ## $a1 = 0000393B -/* 00DF0 809B1F10 E604005C */ swc1 $f4, 0x005C($s0) ## 0000005C -/* 00DF4 809B1F14 C7A60044 */ lwc1 $f6, 0x0044($sp) -/* 00DF8 809B1F18 E6060064 */ swc1 $f6, 0x0064($s0) ## 00000064 -/* 00DFC 809B1F1C C7A8003C */ lwc1 $f8, 0x003C($sp) -/* 00E00 809B1F20 46004287 */ neg.s $f10, $f8 -/* 00E04 809B1F24 E60A02A4 */ swc1 $f10, 0x02A4($s0) ## 000002A4 -/* 00E08 809B1F28 C7B00044 */ lwc1 $f16, 0x0044($sp) -/* 00E0C 809B1F2C 46008487 */ neg.s $f18, $f16 -/* 00E10 809B1F30 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 00E14 809B1F34 E61202AC */ swc1 $f18, 0x02AC($s0) ## 000002AC -.L809B1F38: -/* 00E18 809B1F38 860A0262 */ lh $t2, 0x0262($s0) ## 00000262 -.L809B1F3C: -/* 00E1C 809B1F3C 3C063E99 */ lui $a2, 0x3E99 ## $a2 = 3E990000 -/* 00E20 809B1F40 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 3E99999A -/* 00E24 809B1F44 11400016 */ beq $t2, $zero, .L809B1FA0 -/* 00E28 809B1F48 2604005C */ addiu $a0, $s0, 0x005C ## $a0 = 0000005C -/* 00E2C 809B1F4C 860B00B6 */ lh $t3, 0x00B6($s0) ## 000000B6 -/* 00E30 809B1F50 8E0502A4 */ lw $a1, 0x02A4($s0) ## 000002A4 -/* 00E34 809B1F54 3C073F80 */ lui $a3, 0x3F80 ## $a3 = 3F800000 -/* 00E38 809B1F58 256C1964 */ addiu $t4, $t3, 0x1964 ## $t4 = 00001964 -/* 00E3C 809B1F5C 0C01E107 */ jal Math_ApproachF - -/* 00E40 809B1F60 A60C00B6 */ sh $t4, 0x00B6($s0) ## 000000B6 -/* 00E44 809B1F64 3C063E99 */ lui $a2, 0x3E99 ## $a2 = 3E990000 -/* 00E48 809B1F68 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 3E99999A -/* 00E4C 809B1F6C 26040064 */ addiu $a0, $s0, 0x0064 ## $a0 = 00000064 -/* 00E50 809B1F70 8E0502AC */ lw $a1, 0x02AC($s0) ## 000002AC -/* 00E54 809B1F74 0C01E107 */ jal Math_ApproachF - -/* 00E58 809B1F78 3C073F80 */ lui $a3, 0x3F80 ## $a3 = 3F800000 -/* 00E5C 809B1F7C 860D025C */ lh $t5, 0x025C($s0) ## 0000025C -/* 00E60 809B1F80 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 00E64 809B1F84 55A00007 */ bnel $t5, $zero, .L809B1FA4 -/* 00E68 809B1F88 860E0254 */ lh $t6, 0x0254($s0) ## 00000254 -/* 00E6C 809B1F8C E6000064 */ swc1 $f0, 0x0064($s0) ## 00000064 -/* 00E70 809B1F90 E600005C */ swc1 $f0, 0x005C($s0) ## 0000005C -/* 00E74 809B1F94 E60002AC */ swc1 $f0, 0x02AC($s0) ## 000002AC -/* 00E78 809B1F98 E60002A4 */ swc1 $f0, 0x02A4($s0) ## 000002A4 -/* 00E7C 809B1F9C A6000262 */ sh $zero, 0x0262($s0) ## 00000262 -.L809B1FA0: -/* 00E80 809B1FA0 860E0254 */ lh $t6, 0x0254($s0) ## 00000254 -.L809B1FA4: -/* 00E84 809B1FA4 8602025C */ lh $v0, 0x025C($s0) ## 0000025C -/* 00E88 809B1FA8 25CF0001 */ addiu $t7, $t6, 0x0001 ## $t7 = 00000001 -/* 00E8C 809B1FAC 10400003 */ beq $v0, $zero, .L809B1FBC -/* 00E90 809B1FB0 A60F0254 */ sh $t7, 0x0254($s0) ## 00000254 -/* 00E94 809B1FB4 2458FFFF */ addiu $t8, $v0, 0xFFFF ## $t8 = FFFFFFFF -/* 00E98 809B1FB8 A618025C */ sh $t8, 0x025C($s0) ## 0000025C -.L809B1FBC: -/* 00E9C 809B1FBC 8602025A */ lh $v0, 0x025A($s0) ## 0000025A -/* 00EA0 809B1FC0 10400002 */ beq $v0, $zero, .L809B1FCC -/* 00EA4 809B1FC4 2459FFFF */ addiu $t9, $v0, 0xFFFF ## $t9 = FFFFFFFF -/* 00EA8 809B1FC8 A619025A */ sh $t9, 0x025A($s0) ## 0000025A -.L809B1FCC: -/* 00EAC 809B1FCC 8E190250 */ lw $t9, 0x0250($s0) ## 00000250 -/* 00EB0 809B1FD0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00EB4 809B1FD4 8FA50064 */ lw $a1, 0x0064($sp) -/* 00EB8 809B1FD8 0320F809 */ jalr $ra, $t9 -/* 00EBC 809B1FDC 00000000 */ nop -/* 00EC0 809B1FE0 C6040060 */ lwc1 $f4, 0x0060($s0) ## 00000060 -/* 00EC4 809B1FE4 C606006C */ lwc1 $f6, 0x006C($s0) ## 0000006C -/* 00EC8 809B1FE8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00ECC 809B1FEC 46062200 */ add.s $f8, $f4, $f6 -/* 00ED0 809B1FF0 0C00B5FB */ jal func_8002D7EC -/* 00ED4 809B1FF4 E6080060 */ swc1 $f8, 0x0060($s0) ## 00000060 -/* 00ED8 809B1FF8 86080260 */ lh $t0, 0x0260($s0) ## 00000260 -/* 00EDC 809B1FFC 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000 -/* 00EE0 809B2000 8FA40064 */ lw $a0, 0x0064($sp) -/* 00EE4 809B2004 1500000F */ bne $t0, $zero, .L809B2044 -/* 00EE8 809B2008 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 00EEC 809B200C 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000 -/* 00EF0 809B2010 44810000 */ mtc1 $at, $f0 ## $f0 = 5.00 -/* 00EF4 809B2014 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 00EF8 809B2018 44815000 */ mtc1 $at, $f10 ## $f10 = 10.00 -/* 00EFC 809B201C 2409001D */ addiu $t1, $zero, 0x001D ## $t1 = 0000001D -/* 00F00 809B2020 44060000 */ mfc1 $a2, $f0 -/* 00F04 809B2024 44070000 */ mfc1 $a3, $f0 -/* 00F08 809B2028 AFA90014 */ sw $t1, 0x0014($sp) -/* 00F0C 809B202C 8FA40064 */ lw $a0, 0x0064($sp) -/* 00F10 809B2030 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 00F14 809B2034 0C00B92D */ jal Actor_UpdateBgCheckInfo -/* 00F18 809B2038 E7AA0010 */ swc1 $f10, 0x0010($sp) -/* 00F1C 809B203C 1000000B */ beq $zero, $zero, .L809B206C -/* 00F20 809B2040 8E020250 */ lw $v0, 0x0250($s0) ## 00000250 -.L809B2044: -/* 00F24 809B2044 44810000 */ mtc1 $at, $f0 ## $f0 = 0.00 -/* 00F28 809B2048 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 00F2C 809B204C 44818000 */ mtc1 $at, $f16 ## $f16 = 10.00 -/* 00F30 809B2050 240A001C */ addiu $t2, $zero, 0x001C ## $t2 = 0000001C -/* 00F34 809B2054 44060000 */ mfc1 $a2, $f0 -/* 00F38 809B2058 44070000 */ mfc1 $a3, $f0 -/* 00F3C 809B205C AFAA0014 */ sw $t2, 0x0014($sp) -/* 00F40 809B2060 0C00B92D */ jal Actor_UpdateBgCheckInfo -/* 00F44 809B2064 E7B00010 */ swc1 $f16, 0x0010($sp) -/* 00F48 809B2068 8E020250 */ lw $v0, 0x0250($s0) ## 00000250 -.L809B206C: -/* 00F4C 809B206C 8FAB0034 */ lw $t3, 0x0034($sp) -/* 00F50 809B2070 3C0C809B */ lui $t4, %hi(func_809B1A54) ## $t4 = 809B0000 -/* 00F54 809B2074 258C1A54 */ addiu $t4, $t4, %lo(func_809B1A54) ## $t4 = 809B1A54 -/* 00F58 809B2078 5162001E */ beql $t3, $v0, .L809B20F4 -/* 00F5C 809B207C 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00F60 809B2080 1182001B */ beq $t4, $v0, .L809B20F0 -/* 00F64 809B2084 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00F68 809B2088 0C00B56E */ jal Actor_SetFocus - -/* 00F6C 809B208C 8E05027C */ lw $a1, 0x027C($s0) ## 0000027C -/* 00F70 809B2090 260502C8 */ addiu $a1, $s0, 0x02C8 ## $a1 = 000002C8 -/* 00F74 809B2094 AFA50030 */ sw $a1, 0x0030($sp) -/* 00F78 809B2098 0C0189B7 */ jal Collider_UpdateCylinder - -/* 00F7C 809B209C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00F80 809B20A0 8FA40064 */ lw $a0, 0x0064($sp) -/* 00F84 809B20A4 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00F88 809B20A8 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 00F8C 809B20AC 00812821 */ addu $a1, $a0, $at -/* 00F90 809B20B0 AFA50034 */ sw $a1, 0x0034($sp) -/* 00F94 809B20B4 0C017713 */ jal CollisionCheck_SetOC - ## CollisionCheck_setOC -/* 00F98 809B20B8 8FA60030 */ lw $a2, 0x0030($sp) -/* 00F9C 809B20BC 860D0262 */ lh $t5, 0x0262($s0) ## 00000262 -/* 00FA0 809B20C0 8FA50034 */ lw $a1, 0x0034($sp) -/* 00FA4 809B20C4 55A0000B */ bnel $t5, $zero, .L809B20F4 -/* 00FA8 809B20C8 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00FAC 809B20CC 44809000 */ mtc1 $zero, $f18 ## $f18 = 0.00 -/* 00FB0 809B20D0 C60400BC */ lwc1 $f4, 0x00BC($s0) ## 000000BC -/* 00FB4 809B20D4 8FA40064 */ lw $a0, 0x0064($sp) -/* 00FB8 809B20D8 46049032 */ c.eq.s $f18, $f4 -/* 00FBC 809B20DC 00000000 */ nop -/* 00FC0 809B20E0 45020004 */ bc1fl .L809B20F4 -/* 00FC4 809B20E4 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00FC8 809B20E8 0C01767D */ jal CollisionCheck_SetAC - ## CollisionCheck_setAC -/* 00FCC 809B20EC 8FA60030 */ lw $a2, 0x0030($sp) -.L809B20F0: -/* 00FD0 809B20F0 8FBF0024 */ lw $ra, 0x0024($sp) -.L809B20F4: -/* 00FD4 809B20F4 8FB00020 */ lw $s0, 0x0020($sp) -/* 00FD8 809B20F8 27BD0060 */ addiu $sp, $sp, 0x0060 ## $sp = 00000000 -/* 00FDC 809B20FC 03E00008 */ jr $ra -/* 00FE0 809B2100 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1120.s b/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1120.s deleted file mode 100644 index 716bf54b1f..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1120.s +++ /dev/null @@ -1,49 +0,0 @@ -.late_rodata -glabel D_809B2410 - .float 1500.0 - -.text -glabel func_809B1120 -/* 00000 809B1120 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 00004 809B1124 AFBF001C */ sw $ra, 0x001C($sp) -/* 00008 809B1128 AFB00018 */ sw $s0, 0x0018($sp) -/* 0000C 809B112C AFA50024 */ sw $a1, 0x0024($sp) -/* 00010 809B1130 3C01809B */ lui $at, %hi(D_809B2410) ## $at = 809B0000 -/* 00014 809B1134 C4262410 */ lwc1 $f6, %lo(D_809B2410)($at) -/* 00018 809B1138 C4840268 */ lwc1 $f4, 0x0268($a0) ## 00000268 -/* 0001C 809B113C 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44 -/* 00020 809B1140 C4900274 */ lwc1 $f16, 0x0274($a0) ## 00000274 -/* 00024 809B1144 46062200 */ add.s $f8, $f4, $f6 -/* 00028 809B1148 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0002C 809B114C 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000 -/* 00030 809B1150 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD -/* 00034 809B1154 E4880268 */ swc1 $f8, 0x0268($a0) ## 00000268 -/* 00038 809B1158 C44A0028 */ lwc1 $f10, 0x0028($v0) ## 00000028 -/* 0003C 809B115C 24840028 */ addiu $a0, $a0, 0x0028 ## $a0 = 00000028 -/* 00040 809B1160 3C074120 */ lui $a3, 0x4120 ## $a3 = 41200000 -/* 00044 809B1164 46105480 */ add.s $f18, $f10, $f16 -/* 00048 809B1168 E4920248 */ swc1 $f18, 0x0248($a0) ## 00000270 -/* 0004C 809B116C 0C01E107 */ jal Math_ApproachF - -/* 00050 809B1170 8E050270 */ lw $a1, 0x0270($s0) ## 00000270 -/* 00054 809B1174 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000 -/* 00058 809B1178 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD -/* 0005C 809B117C 26040274 */ addiu $a0, $s0, 0x0274 ## $a0 = 00000274 -/* 00060 809B1180 3C054120 */ lui $a1, 0x4120 ## $a1 = 41200000 -/* 00064 809B1184 0C01E107 */ jal Math_ApproachF - -/* 00068 809B1188 3C073F00 */ lui $a3, 0x3F00 ## $a3 = 3F000000 -/* 0006C 809B118C C6040268 */ lwc1 $f4, 0x0268($s0) ## 00000268 -/* 00070 809B1190 4600218D */ trunc.w.s $f6, $f4 -/* 00074 809B1194 44043000 */ mfc1 $a0, $f6 -/* 00078 809B1198 00000000 */ nop -/* 0007C 809B119C 00042400 */ sll $a0, $a0, 16 -/* 00080 809B11A0 0C01DE1C */ jal Math_SinS - ## sins? -/* 00084 809B11A4 00042403 */ sra $a0, $a0, 16 -/* 00088 809B11A8 E6000060 */ swc1 $f0, 0x0060($s0) ## 00000060 -/* 0008C 809B11AC 8FBF001C */ lw $ra, 0x001C($sp) -/* 00090 809B11B0 8FB00018 */ lw $s0, 0x0018($sp) -/* 00094 809B11B4 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00098 809B11B8 03E00008 */ jr $ra -/* 0009C 809B11BC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B11C0.s b/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B11C0.s deleted file mode 100644 index 6fd17dc810..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B11C0.s +++ /dev/null @@ -1,65 +0,0 @@ -.late_rodata -glabel D_809B2414 - .float 10430.378 -glabel D_809B2418 - .float 10430.378 - -.text -glabel func_809B11C0 -/* 000A0 809B11C0 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 000A4 809B11C4 AFBF0014 */ sw $ra, 0x0014($sp) -/* 000A8 809B11C8 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44 -/* 000AC 809B11CC 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 000B0 809B11D0 C4860280 */ lwc1 $f6, 0x0280($a0) ## 00000280 -/* 000B4 809B11D4 44815000 */ mtc1 $at, $f10 ## $f10 = 10.00 -/* 000B8 809B11D8 C4440024 */ lwc1 $f4, 0x0024($v0) ## 00000024 -/* 000BC 809B11DC C4480028 */ lwc1 $f8, 0x0028($v0) ## 00000028 -/* 000C0 809B11E0 46062081 */ sub.s $f2, $f4, $f6 -/* 000C4 809B11E4 C446002C */ lwc1 $f6, 0x002C($v0) ## 0000002C -/* 000C8 809B11E8 C4840284 */ lwc1 $f4, 0x0284($a0) ## 00000284 -/* 000CC 809B11EC 460A4480 */ add.s $f18, $f8, $f10 -/* 000D0 809B11F0 C4880288 */ lwc1 $f8, 0x0288($a0) ## 00000288 -/* 000D4 809B11F4 46021282 */ mul.s $f10, $f2, $f2 -/* 000D8 809B11F8 E7A20020 */ swc1 $f2, 0x0020($sp) -/* 000DC 809B11FC 46083401 */ sub.s $f16, $f6, $f8 -/* 000E0 809B1200 AFA40028 */ sw $a0, 0x0028($sp) -/* 000E4 809B1204 46049301 */ sub.s $f12, $f18, $f4 -/* 000E8 809B1208 46108482 */ mul.s $f18, $f16, $f16 -/* 000EC 809B120C E7B00018 */ swc1 $f16, 0x0018($sp) -/* 000F0 809B1210 46125000 */ add.s $f0, $f10, $f18 -/* 000F4 809B1214 0C03F494 */ jal Math_FAtan2F -/* 000F8 809B1218 46000384 */ sqrt.s $f14, $f0 -/* 000FC 809B121C 3C01809B */ lui $at, %hi(D_809B2414) ## $at = 809B0000 -/* 00100 809B1220 C4242414 */ lwc1 $f4, %lo(D_809B2414)($at) -/* 00104 809B1224 8FA40028 */ lw $a0, 0x0028($sp) -/* 00108 809B1228 46040182 */ mul.s $f6, $f0, $f4 -/* 0010C 809B122C 4600320D */ trunc.w.s $f8, $f6 -/* 00110 809B1230 440F4000 */ mfc1 $t7, $f8 -/* 00114 809B1234 00000000 */ nop -/* 00118 809B1238 000FC400 */ sll $t8, $t7, 16 -/* 0011C 809B123C 0018CC03 */ sra $t9, $t8, 16 -/* 00120 809B1240 00194023 */ subu $t0, $zero, $t9 -/* 00124 809B1244 44885000 */ mtc1 $t0, $f10 ## $f10 = 0.00 -/* 00128 809B1248 00000000 */ nop -/* 0012C 809B124C 468054A0 */ cvt.s.w $f18, $f10 -/* 00130 809B1250 E492028C */ swc1 $f18, 0x028C($a0) ## 0000028C -/* 00134 809B1254 C7AE0018 */ lwc1 $f14, 0x0018($sp) -/* 00138 809B1258 0C03F494 */ jal Math_FAtan2F -/* 0013C 809B125C C7AC0020 */ lwc1 $f12, 0x0020($sp) -/* 00140 809B1260 3C01809B */ lui $at, %hi(D_809B2418) ## $at = 809B0000 -/* 00144 809B1264 C4242418 */ lwc1 $f4, %lo(D_809B2418)($at) -/* 00148 809B1268 8FA40028 */ lw $a0, 0x0028($sp) -/* 0014C 809B126C 46040182 */ mul.s $f6, $f0, $f4 -/* 00150 809B1270 4600320D */ trunc.w.s $f8, $f6 -/* 00154 809B1274 440A4000 */ mfc1 $t2, $f8 -/* 00158 809B1278 00000000 */ nop -/* 0015C 809B127C 000A5C00 */ sll $t3, $t2, 16 -/* 00160 809B1280 000B6403 */ sra $t4, $t3, 16 -/* 00164 809B1284 448C5000 */ mtc1 $t4, $f10 ## $f10 = 0.00 -/* 00168 809B1288 00000000 */ nop -/* 0016C 809B128C 468054A0 */ cvt.s.w $f18, $f10 -/* 00170 809B1290 E4920290 */ swc1 $f18, 0x0290($a0) ## 00000290 -/* 00174 809B1294 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00178 809B1298 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 0017C 809B129C 03E00008 */ jr $ra -/* 00180 809B12A0 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B142C.s b/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B142C.s deleted file mode 100644 index 659192068d..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B142C.s +++ /dev/null @@ -1,81 +0,0 @@ -.rdata -glabel D_809B2374 - .asciz "\x1b[32m☆☆☆☆☆ 火は幾つ? ☆☆☆☆☆ %d\n\x1b[m" - .balign 4 - -glabel D_809B23A4 - .asciz "\x1b[33m☆☆☆☆☆ 火は幾つ? ☆☆☆☆☆ %x\n\x1b[m" - .balign 4 - -.text -glabel func_809B142C -/* 0030C 809B142C 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 00310 809B1430 AFBF0034 */ sw $ra, 0x0034($sp) -/* 00314 809B1434 AFB60030 */ sw $s6, 0x0030($sp) -/* 00318 809B1438 AFB5002C */ sw $s5, 0x002C($sp) -/* 0031C 809B143C AFB40028 */ sw $s4, 0x0028($sp) -/* 00320 809B1440 AFB30024 */ sw $s3, 0x0024($sp) -/* 00324 809B1444 AFB20020 */ sw $s2, 0x0020($sp) -/* 00328 809B1448 AFB1001C */ sw $s1, 0x001C($sp) -/* 0032C 809B144C AFB00018 */ sw $s0, 0x0018($sp) -/* 00330 809B1450 848E025E */ lh $t6, 0x025E($a0) ## 0000025E -/* 00334 809B1454 0080B025 */ or $s6, $a0, $zero ## $s6 = 00000000 -/* 00338 809B1458 51C00029 */ beql $t6, $zero, .L809B1500 -/* 0033C 809B145C 8FBF0034 */ lw $ra, 0x0034($sp) -/* 00340 809B1460 848F0264 */ lh $t7, 0x0264($a0) ## 00000264 -/* 00344 809B1464 55E00020 */ bnel $t7, $zero, .L809B14E8 -/* 00348 809B1468 8EC90004 */ lw $t1, 0x0004($s6) ## 00000004 -/* 0034C 809B146C 8CB01C64 */ lw $s0, 0x1C64($a1) ## 00001C64 -/* 00350 809B1470 3C15809B */ lui $s5, %hi(D_809B23A4) ## $s5 = 809B0000 -/* 00354 809B1474 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000 -/* 00358 809B1478 12000018 */ beq $s0, $zero, .L809B14DC -/* 0035C 809B147C 26B523A4 */ addiu $s5, $s5, %lo(D_809B23A4) ## $s5 = 809B23A4 -/* 00360 809B1480 3C14809B */ lui $s4, %hi(D_809B2374) ## $s4 = 809B0000 -/* 00364 809B1484 26942374 */ addiu $s4, $s4, %lo(D_809B2374) ## $s4 = 809B2374 -/* 00368 809B1488 24130049 */ addiu $s3, $zero, 0x0049 ## $s3 = 00000049 -/* 0036C 809B148C 86180000 */ lh $t8, 0x0000($s0) ## 00000000 -.L809B1490: -/* 00370 809B1490 0012C880 */ sll $t9, $s2, 2 -/* 00374 809B1494 02D98821 */ addu $s1, $s6, $t9 -/* 00378 809B1498 12780003 */ beq $s3, $t8, .L809B14A8 -/* 0037C 809B149C 02802025 */ or $a0, $s4, $zero ## $a0 = 809B2374 -/* 00380 809B14A0 1000000C */ beq $zero, $zero, .L809B14D4 -/* 00384 809B14A4 8E100124 */ lw $s0, 0x0124($s0) ## 00000124 -.L809B14A8: -/* 00388 809B14A8 AE3002B0 */ sw $s0, 0x02B0($s1) ## 000002B0 -/* 0038C 809B14AC 0C00084C */ jal osSyncPrintf - -/* 00390 809B14B0 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000 -/* 00394 809B14B4 02A02025 */ or $a0, $s5, $zero ## $a0 = 809B23A4 -/* 00398 809B14B8 0C00084C */ jal osSyncPrintf - -/* 0039C 809B14BC 8E2502B0 */ lw $a1, 0x02B0($s1) ## 000002B0 -/* 003A0 809B14C0 2A410004 */ slti $at, $s2, 0x0004 -/* 003A4 809B14C4 50200003 */ beql $at, $zero, .L809B14D4 -/* 003A8 809B14C8 8E100124 */ lw $s0, 0x0124($s0) ## 00000124 -/* 003AC 809B14CC 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000001 -/* 003B0 809B14D0 8E100124 */ lw $s0, 0x0124($s0) ## 00000124 -.L809B14D4: -/* 003B4 809B14D4 5600FFEE */ bnel $s0, $zero, .L809B1490 -/* 003B8 809B14D8 86180000 */ lh $t8, 0x0000($s0) ## 00000000 -.L809B14DC: -/* 003BC 809B14DC 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001 -/* 003C0 809B14E0 A6C80264 */ sh $t0, 0x0264($s6) ## 00000264 -/* 003C4 809B14E4 8EC90004 */ lw $t1, 0x0004($s6) ## 00000004 -.L809B14E8: -/* 003C8 809B14E8 3C0B809B */ lui $t3, %hi(func_809B1524) ## $t3 = 809B0000 -/* 003CC 809B14EC 256B1524 */ addiu $t3, $t3, %lo(func_809B1524) ## $t3 = 809B1524 -/* 003D0 809B14F0 352A0001 */ ori $t2, $t1, 0x0001 ## $t2 = 00000001 -/* 003D4 809B14F4 AECA0004 */ sw $t2, 0x0004($s6) ## 00000004 -/* 003D8 809B14F8 AECB0250 */ sw $t3, 0x0250($s6) ## 00000250 -/* 003DC 809B14FC 8FBF0034 */ lw $ra, 0x0034($sp) -.L809B1500: -/* 003E0 809B1500 8FB00018 */ lw $s0, 0x0018($sp) -/* 003E4 809B1504 8FB1001C */ lw $s1, 0x001C($sp) -/* 003E8 809B1508 8FB20020 */ lw $s2, 0x0020($sp) -/* 003EC 809B150C 8FB30024 */ lw $s3, 0x0024($sp) -/* 003F0 809B1510 8FB40028 */ lw $s4, 0x0028($sp) -/* 003F4 809B1514 8FB5002C */ lw $s5, 0x002C($sp) -/* 003F8 809B1518 8FB60030 */ lw $s6, 0x0030($sp) -/* 003FC 809B151C 03E00008 */ jr $ra -/* 00400 809B1520 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1524.s b/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1524.s deleted file mode 100644 index 83b8de8624..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1524.s +++ /dev/null @@ -1,45 +0,0 @@ -glabel func_809B1524 -/* 00404 809B1524 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 -/* 00408 809B1528 AFB00028 */ sw $s0, 0x0028($sp) -/* 0040C 809B152C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00410 809B1530 AFBF002C */ sw $ra, 0x002C($sp) -/* 00414 809B1534 3C040600 */ lui $a0, %hi(D_06000F74) ## $a0 = 06000000 -/* 00418 809B1538 AFA50034 */ sw $a1, 0x0034($sp) -/* 0041C 809B153C 0C028800 */ jal Animation_GetLastFrame - -/* 00420 809B1540 24840F74 */ addiu $a0, $a0, %lo(D_06000F74) ## $a0 = 06000F74 -/* 00424 809B1544 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00 -/* 00428 809B1548 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 0042C 809B154C 3C01C120 */ lui $at, 0xC120 ## $at = C1200000 -/* 00430 809B1550 468021A0 */ cvt.s.w $f6, $f4 -/* 00434 809B1554 44819000 */ mtc1 $at, $f18 ## $f18 = -10.00 -/* 00438 809B1558 3C050600 */ lui $a1, %hi(D_06000F74) ## $a1 = 06000000 -/* 0043C 809B155C 44070000 */ mfc1 $a3, $f0 -/* 00440 809B1560 24A50F74 */ addiu $a1, $a1, %lo(D_06000F74) ## $a1 = 06000F74 -/* 00444 809B1564 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C -/* 00448 809B1568 4600320D */ trunc.w.s $f8, $f6 -/* 0044C 809B156C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 00450 809B1570 AFA00014 */ sw $zero, 0x0014($sp) -/* 00454 809B1574 E7B20018 */ swc1 $f18, 0x0018($sp) -/* 00458 809B1578 440F4000 */ mfc1 $t7, $f8 -/* 0045C 809B157C 00000000 */ nop -/* 00460 809B1580 000FC400 */ sll $t8, $t7, 16 -/* 00464 809B1584 0018CC03 */ sra $t9, $t8, 16 -/* 00468 809B1588 44995000 */ mtc1 $t9, $f10 ## $f10 = 0.00 -/* 0046C 809B158C 00000000 */ nop -/* 00470 809B1590 46805420 */ cvt.s.w $f16, $f10 -/* 00474 809B1594 0C029468 */ jal Animation_Change - -/* 00478 809B1598 E7B00010 */ swc1 $f16, 0x0010($sp) -/* 0047C 809B159C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 00480 809B15A0 3C08809B */ lui $t0, %hi(func_809B15CC) ## $t0 = 809B0000 -/* 00484 809B15A4 250815CC */ addiu $t0, $t0, %lo(func_809B15CC) ## $t0 = 809B15CC -/* 00488 809B15A8 AE080250 */ sw $t0, 0x0250($s0) ## 00000250 -/* 0048C 809B15AC E600006C */ swc1 $f0, 0x006C($s0) ## 0000006C -/* 00490 809B15B0 E6000064 */ swc1 $f0, 0x0064($s0) ## 00000064 -/* 00494 809B15B4 E600005C */ swc1 $f0, 0x005C($s0) ## 0000005C -/* 00498 809B15B8 8FBF002C */ lw $ra, 0x002C($sp) -/* 0049C 809B15BC 8FB00028 */ lw $s0, 0x0028($sp) -/* 004A0 809B15C0 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000 -/* 004A4 809B15C4 03E00008 */ jr $ra -/* 004A8 809B15C8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B15CC.s b/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B15CC.s deleted file mode 100644 index b217333523..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B15CC.s +++ /dev/null @@ -1,65 +0,0 @@ -glabel func_809B15CC -/* 004AC 809B15CC 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 -/* 004B0 809B15D0 AFBF0024 */ sw $ra, 0x0024($sp) -/* 004B4 809B15D4 AFB00020 */ sw $s0, 0x0020($sp) -/* 004B8 809B15D8 8CAE1C44 */ lw $t6, 0x1C44($a1) ## 00001C44 -/* 004BC 809B15DC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 004C0 809B15E0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C -/* 004C4 809B15E4 0C02927F */ jal SkelAnime_Update - -/* 004C8 809B15E8 AFAE002C */ sw $t6, 0x002C($sp) -/* 004CC 809B15EC 260400BC */ addiu $a0, $s0, 0x00BC ## $a0 = 000000BC -/* 004D0 809B15F0 3C053F00 */ lui $a1, 0x3F00 ## $a1 = 3F000000 -/* 004D4 809B15F4 0C01E123 */ jal Math_ApproachZeroF - -/* 004D8 809B15F8 3C064396 */ lui $a2, 0x4396 ## $a2 = 43960000 -/* 004DC 809B15FC 2604027C */ addiu $a0, $s0, 0x027C ## $a0 = 0000027C -/* 004E0 809B1600 3C05428C */ lui $a1, 0x428C ## $a1 = 428C0000 -/* 004E4 809B1604 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000 -/* 004E8 809B1608 0C01E107 */ jal Math_ApproachF - -/* 004EC 809B160C 3C0740A0 */ lui $a3, 0x40A0 ## $a3 = 40A00000 -/* 004F0 809B1610 860F0262 */ lh $t7, 0x0262($s0) ## 00000262 -/* 004F4 809B1614 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6 -/* 004F8 809B1618 24060005 */ addiu $a2, $zero, 0x0005 ## $a2 = 00000005 -/* 004FC 809B161C 15E00004 */ bne $t7, $zero, .L809B1630 -/* 00500 809B1620 24070BB8 */ addiu $a3, $zero, 0x0BB8 ## $a3 = 00000BB8 -/* 00504 809B1624 8605008A */ lh $a1, 0x008A($s0) ## 0000008A -/* 00508 809B1628 0C01E1A7 */ jal Math_SmoothStepToS - -/* 0050C 809B162C AFA00010 */ sw $zero, 0x0010($sp) -.L809B1630: -/* 00510 809B1630 3C01C000 */ lui $at, 0xC000 ## $at = C0000000 -/* 00514 809B1634 44812000 */ mtc1 $at, $f4 ## $f4 = -2.00 -/* 00518 809B1638 C60600BC */ lwc1 $f6, 0x00BC($s0) ## 000000BC -/* 0051C 809B163C 4606203C */ c.lt.s $f4, $f6 -/* 00520 809B1640 00000000 */ nop -/* 00524 809B1644 45020015 */ bc1fl .L809B169C -/* 00528 809B1648 8FBF0024 */ lw $ra, 0x0024($sp) -/* 0052C 809B164C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 00530 809B1650 3C08809B */ lui $t0, %hi(func_809B17FC) ## $t0 = 809B0000 -/* 00534 809B1654 250817FC */ addiu $t0, $t0, %lo(func_809B17FC) ## $t0 = 809B17FC -/* 00538 809B1658 E60000BC */ swc1 $f0, 0x00BC($s0) ## 000000BC -/* 0053C 809B165C 8FB8002C */ lw $t8, 0x002C($sp) -/* 00540 809B1660 83190843 */ lb $t9, 0x0843($t8) ## 00000843 -/* 00544 809B1664 53200004 */ beql $t9, $zero, .L809B1678 -/* 00548 809B1668 86090260 */ lh $t1, 0x0260($s0) ## 00000260 -/* 0054C 809B166C 1000000A */ beq $zero, $zero, .L809B1698 -/* 00550 809B1670 AE080250 */ sw $t0, 0x0250($s0) ## 00000250 -/* 00554 809B1674 86090260 */ lh $t1, 0x0260($s0) ## 00000260 -.L809B1678: -/* 00558 809B1678 3C0A809B */ lui $t2, %hi(func_809B16AC) ## $t2 = 809B0000 -/* 0055C 809B167C 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000 -/* 00560 809B1680 11200005 */ beq $t1, $zero, .L809B1698 -/* 00564 809B1684 254A16AC */ addiu $t2, $t2, %lo(func_809B16AC) ## $t2 = 809B16AC -/* 00568 809B1688 44814000 */ mtc1 $at, $f8 ## $f8 = -1.00 -/* 0056C 809B168C E6000060 */ swc1 $f0, 0x0060($s0) ## 00000060 -/* 00570 809B1690 AE0A0250 */ sw $t2, 0x0250($s0) ## 00000250 -/* 00574 809B1694 E608006C */ swc1 $f8, 0x006C($s0) ## 0000006C -.L809B1698: -/* 00578 809B1698 8FBF0024 */ lw $ra, 0x0024($sp) -.L809B169C: -/* 0057C 809B169C 8FB00020 */ lw $s0, 0x0020($sp) -/* 00580 809B16A0 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000 -/* 00584 809B16A4 03E00008 */ jr $ra -/* 00588 809B16A8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B16AC.s b/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B16AC.s deleted file mode 100644 index e342bd45a8..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B16AC.s +++ /dev/null @@ -1,100 +0,0 @@ -.late_rodata -glabel D_809B2420 - .float -4220.0 -glabel D_809B2424 - .float -4230.0 - -.text -glabel func_809B16AC -/* 0058C 809B16AC 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0 -/* 00590 809B16B0 AFB00020 */ sw $s0, 0x0020($sp) -/* 00594 809B16B4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00598 809B16B8 AFBF0024 */ sw $ra, 0x0024($sp) -/* 0059C 809B16BC AFA50054 */ sw $a1, 0x0054($sp) -/* 005A0 809B16C0 0C02927F */ jal SkelAnime_Update - -/* 005A4 809B16C4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C -/* 005A8 809B16C8 3C05C584 */ lui $a1, 0xC584 ## $a1 = C5840000 -/* 005AC 809B16CC 34A53000 */ ori $a1, $a1, 0x3000 ## $a1 = C5843000 -/* 005B0 809B16D0 260400BC */ addiu $a0, $s0, 0x00BC ## $a0 = 000000BC -/* 005B4 809B16D4 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000 -/* 005B8 809B16D8 0C01E107 */ jal Math_ApproachF - -/* 005BC 809B16DC 3C074396 */ lui $a3, 0x4396 ## $a3 = 43960000 -/* 005C0 809B16E0 2604027C */ addiu $a0, $s0, 0x027C ## $a0 = 0000027C -/* 005C4 809B16E4 3C053F00 */ lui $a1, 0x3F00 ## $a1 = 3F000000 -/* 005C8 809B16E8 0C01E123 */ jal Math_ApproachZeroF - -/* 005CC 809B16EC 3C0640A0 */ lui $a2, 0x40A0 ## $a2 = 40A00000 -/* 005D0 809B16F0 860E0262 */ lh $t6, 0x0262($s0) ## 00000262 -/* 005D4 809B16F4 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6 -/* 005D8 809B16F8 24060005 */ addiu $a2, $zero, 0x0005 ## $a2 = 00000005 -/* 005DC 809B16FC 15C00004 */ bne $t6, $zero, .L809B1710 -/* 005E0 809B1700 24070BB8 */ addiu $a3, $zero, 0x0BB8 ## $a3 = 00000BB8 -/* 005E4 809B1704 8605008A */ lh $a1, 0x008A($s0) ## 0000008A -/* 005E8 809B1708 0C01E1A7 */ jal Math_SmoothStepToS - -/* 005EC 809B170C AFA00010 */ sw $zero, 0x0010($sp) -.L809B1710: -/* 005F0 809B1710 C60E0024 */ lwc1 $f14, 0x0024($s0) ## 00000024 -/* 005F4 809B1714 C6040298 */ lwc1 $f4, 0x0298($s0) ## 00000298 -/* 005F8 809B1718 3C014040 */ lui $at, 0x4040 ## $at = 40400000 -/* 005FC 809B171C 44811000 */ mtc1 $at, $f2 ## $f2 = 3.00 -/* 00600 809B1720 460E2401 */ sub.s $f16, $f4, $f14 -/* 00604 809B1724 3C01809B */ lui $at, %hi(D_809B2420) ## $at = 809B0000 -/* 00608 809B1728 46008005 */ abs.s $f0, $f16 -/* 0060C 809B172C 4600103C */ c.lt.s $f2, $f0 -/* 00610 809B1730 00000000 */ nop -/* 00614 809B1734 4502001D */ bc1fl .L809B17AC -/* 00618 809B1738 C60800BC */ lwc1 $f8, 0x00BC($s0) ## 000000BC -/* 0061C 809B173C C612002C */ lwc1 $f18, 0x002C($s0) ## 0000002C -/* 00620 809B1740 C60602A0 */ lwc1 $f6, 0x02A0($s0) ## 000002A0 -/* 00624 809B1744 46123201 */ sub.s $f8, $f6, $f18 -/* 00628 809B1748 E7A8002C */ swc1 $f8, 0x002C($sp) -/* 0062C 809B174C C7AA002C */ lwc1 $f10, 0x002C($sp) -/* 00630 809B1750 46005005 */ abs.s $f0, $f10 -/* 00634 809B1754 4600103C */ c.lt.s $f2, $f0 -/* 00638 809B1758 00000000 */ nop -/* 0063C 809B175C 45020013 */ bc1fl .L809B17AC -/* 00640 809B1760 C60800BC */ lwc1 $f8, 0x00BC($s0) ## 000000BC -/* 00644 809B1764 46108102 */ mul.s $f4, $f16, $f16 -/* 00648 809B1768 46005306 */ mov.s $f12, $f10 -/* 0064C 809B176C 3C014100 */ lui $at, 0x4100 ## $at = 41000000 -/* 00650 809B1770 460A5182 */ mul.s $f6, $f10, $f10 -/* 00654 809B1774 44815000 */ mtc1 $at, $f10 ## $f10 = 8.00 -/* 00658 809B1778 46062000 */ add.s $f0, $f4, $f6 -/* 0065C 809B177C 46000004 */ sqrt.s $f0, $f0 -/* 00660 809B1780 46008203 */ div.s $f8, $f16, $f0 -/* 00664 809B1784 460A4102 */ mul.s $f4, $f8, $f10 -/* 00668 809B1788 46006203 */ div.s $f8, $f12, $f0 -/* 0066C 809B178C 44815000 */ mtc1 $at, $f10 ## $f10 = 8.00 -/* 00670 809B1790 46047180 */ add.s $f6, $f14, $f4 -/* 00674 809B1794 E6060024 */ swc1 $f6, 0x0024($s0) ## 00000024 -/* 00678 809B1798 460A4102 */ mul.s $f4, $f8, $f10 -/* 0067C 809B179C 46049180 */ add.s $f6, $f18, $f4 -/* 00680 809B17A0 10000011 */ beq $zero, $zero, .L809B17E8 -/* 00684 809B17A4 E606002C */ swc1 $f6, 0x002C($s0) ## 0000002C -/* 00688 809B17A8 C60800BC */ lwc1 $f8, 0x00BC($s0) ## 000000BC -.L809B17AC: -/* 0068C 809B17AC C42A2420 */ lwc1 $f10, %lo(D_809B2420)($at) -/* 00690 809B17B0 3C18809B */ lui $t8, %hi(func_809B142C) ## $t8 = 809B0000 -/* 00694 809B17B4 3C01809B */ lui $at, %hi(D_809B2424) ## $at = 809B0000 -/* 00698 809B17B8 460A403C */ c.lt.s $f8, $f10 -/* 0069C 809B17BC 2718142C */ addiu $t8, $t8, %lo(func_809B142C) ## $t8 = 809B142C -/* 006A0 809B17C0 4502000A */ bc1fl .L809B17EC -/* 006A4 809B17C4 8FBF0024 */ lw $ra, 0x0024($sp) -/* 006A8 809B17C8 C4242424 */ lwc1 $f4, %lo(D_809B2424)($at) -/* 006AC 809B17CC A6000260 */ sh $zero, 0x0260($s0) ## 00000260 -/* 006B0 809B17D0 860F0260 */ lh $t7, 0x0260($s0) ## 00000260 -/* 006B4 809B17D4 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 -/* 006B8 809B17D8 AE180250 */ sw $t8, 0x0250($s0) ## 00000250 -/* 006BC 809B17DC E60400BC */ swc1 $f4, 0x00BC($s0) ## 000000BC -/* 006C0 809B17E0 A60F025E */ sh $t7, 0x025E($s0) ## 0000025E -/* 006C4 809B17E4 E606006C */ swc1 $f6, 0x006C($s0) ## 0000006C -.L809B17E8: -/* 006C8 809B17E8 8FBF0024 */ lw $ra, 0x0024($sp) -.L809B17EC: -/* 006CC 809B17EC 8FB00020 */ lw $s0, 0x0020($sp) -/* 006D0 809B17F0 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000 -/* 006D4 809B17F4 03E00008 */ jr $ra -/* 006D8 809B17F8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B17FC.s b/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B17FC.s deleted file mode 100644 index 505825550a..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B17FC.s +++ /dev/null @@ -1,37 +0,0 @@ -glabel func_809B17FC -/* 006DC 809B17FC 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 -/* 006E0 809B1800 AFB00028 */ sw $s0, 0x0028($sp) -/* 006E4 809B1804 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 006E8 809B1808 AFBF002C */ sw $ra, 0x002C($sp) -/* 006EC 809B180C 3C040600 */ lui $a0, %hi(D_0600078C) ## $a0 = 06000000 -/* 006F0 809B1810 AFA50034 */ sw $a1, 0x0034($sp) -/* 006F4 809B1814 0C028800 */ jal Animation_GetLastFrame - -/* 006F8 809B1818 2484078C */ addiu $a0, $a0, %lo(D_0600078C) ## $a0 = 0600078C -/* 006FC 809B181C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00 -/* 00700 809B1820 3C01C120 */ lui $at, 0xC120 ## $at = C1200000 -/* 00704 809B1824 44813000 */ mtc1 $at, $f6 ## $f6 = -10.00 -/* 00708 809B1828 46802020 */ cvt.s.w $f0, $f4 -/* 0070C 809B182C 3C050600 */ lui $a1, %hi(D_0600078C) ## $a1 = 06000000 -/* 00710 809B1830 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002 -/* 00714 809B1834 24A5078C */ addiu $a1, $a1, %lo(D_0600078C) ## $a1 = 0600078C -/* 00718 809B1838 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C -/* 0071C 809B183C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 00720 809B1840 E600026C */ swc1 $f0, 0x026C($s0) ## 0000026C -/* 00724 809B1844 AFAE0014 */ sw $t6, 0x0014($sp) -/* 00728 809B1848 E7A00010 */ swc1 $f0, 0x0010($sp) -/* 0072C 809B184C 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000 -/* 00730 809B1850 0C029468 */ jal Animation_Change - -/* 00734 809B1854 E7A60018 */ swc1 $f6, 0x0018($sp) -/* 00738 809B1858 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 0073C 809B185C 3C0F809B */ lui $t7, %hi(func_809B1884) ## $t7 = 809B0000 -/* 00740 809B1860 25EF1884 */ addiu $t7, $t7, %lo(func_809B1884) ## $t7 = 809B1884 -/* 00744 809B1864 AE0F0250 */ sw $t7, 0x0250($s0) ## 00000250 -/* 00748 809B1868 E6000064 */ swc1 $f0, 0x0064($s0) ## 00000064 -/* 0074C 809B186C E600005C */ swc1 $f0, 0x005C($s0) ## 0000005C -/* 00750 809B1870 8FBF002C */ lw $ra, 0x002C($sp) -/* 00754 809B1874 8FB00028 */ lw $s0, 0x0028($sp) -/* 00758 809B1878 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000 -/* 0075C 809B187C 03E00008 */ jr $ra -/* 00760 809B1880 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1884.s b/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1884.s deleted file mode 100644 index 64cc4a46c6..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1884.s +++ /dev/null @@ -1,71 +0,0 @@ -glabel func_809B1884 -/* 00764 809B1884 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0 -/* 00768 809B1888 AFBF0034 */ sw $ra, 0x0034($sp) -/* 0076C 809B188C AFB00030 */ sw $s0, 0x0030($sp) -/* 00770 809B1890 AFA50044 */ sw $a1, 0x0044($sp) -/* 00774 809B1894 C4840164 */ lwc1 $f4, 0x0164($a0) ## 00000164 -/* 00778 809B1898 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0077C 809B189C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C -/* 00780 809B18A0 0C02927F */ jal SkelAnime_Update - -/* 00784 809B18A4 E7A4003C */ swc1 $f4, 0x003C($sp) -/* 00788 809B18A8 860E0262 */ lh $t6, 0x0262($s0) ## 00000262 -/* 0078C 809B18AC 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6 -/* 00790 809B18B0 24060005 */ addiu $a2, $zero, 0x0005 ## $a2 = 00000005 -/* 00794 809B18B4 15C00004 */ bne $t6, $zero, .L809B18C8 -/* 00798 809B18B8 24070BB8 */ addiu $a3, $zero, 0x0BB8 ## $a3 = 00000BB8 -/* 0079C 809B18BC 8605008A */ lh $a1, 0x008A($s0) ## 0000008A -/* 007A0 809B18C0 0C01E1A7 */ jal Math_SmoothStepToS - -/* 007A4 809B18C4 AFA00010 */ sw $zero, 0x0010($sp) -.L809B18C8: -/* 007A8 809B18C8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 007AC 809B18CC 0C26C470 */ jal func_809B11C0 -/* 007B0 809B18D0 8FA50044 */ lw $a1, 0x0044($sp) -/* 007B4 809B18D4 3C014140 */ lui $at, 0x4140 ## $at = 41400000 -/* 007B8 809B18D8 44814000 */ mtc1 $at, $f8 ## $f8 = 12.00 -/* 007BC 809B18DC C7A6003C */ lwc1 $f6, 0x003C($sp) -/* 007C0 809B18E0 3C014170 */ lui $at, 0x4170 ## $at = 41700000 -/* 007C4 809B18E4 46083032 */ c.eq.s $f6, $f8 -/* 007C8 809B18E8 00000000 */ nop -/* 007CC 809B18EC 45020018 */ bc1fl .L809B1950 -/* 007D0 809B18F0 C7B2003C */ lwc1 $f18, 0x003C($sp) -/* 007D4 809B18F4 C60A0284 */ lwc1 $f10, 0x0284($s0) ## 00000284 -/* 007D8 809B18F8 44818000 */ mtc1 $at, $f16 ## $f16 = 15.00 -/* 007DC 809B18FC 8E070280 */ lw $a3, 0x0280($s0) ## 00000280 -/* 007E0 809B1900 8FA50044 */ lw $a1, 0x0044($sp) -/* 007E4 809B1904 46105480 */ add.s $f18, $f10, $f16 -/* 007E8 809B1908 240600E1 */ addiu $a2, $zero, 0x00E1 ## $a2 = 000000E1 -/* 007EC 809B190C 24A41C24 */ addiu $a0, $a1, 0x1C24 ## $a0 = 00001C24 -/* 007F0 809B1910 E7B20010 */ swc1 $f18, 0x0010($sp) -/* 007F4 809B1914 C6040288 */ lwc1 $f4, 0x0288($s0) ## 00000288 -/* 007F8 809B1918 E7A40014 */ swc1 $f4, 0x0014($sp) -/* 007FC 809B191C C606028C */ lwc1 $f6, 0x028C($s0) ## 0000028C -/* 00800 809B1920 4600320D */ trunc.w.s $f8, $f6 -/* 00804 809B1924 44194000 */ mfc1 $t9, $f8 -/* 00808 809B1928 00000000 */ nop -/* 0080C 809B192C AFB90018 */ sw $t9, 0x0018($sp) -/* 00810 809B1930 C60A0290 */ lwc1 $f10, 0x0290($s0) ## 00000290 -/* 00814 809B1934 AFA00024 */ sw $zero, 0x0024($sp) -/* 00818 809B1938 AFA00020 */ sw $zero, 0x0020($sp) -/* 0081C 809B193C 4600540D */ trunc.w.s $f16, $f10 -/* 00820 809B1940 44098000 */ mfc1 $t1, $f16 -/* 00824 809B1944 0C00C7D4 */ jal Actor_Spawn - ## ActorSpawn -/* 00828 809B1948 AFA9001C */ sw $t1, 0x001C($sp) -/* 0082C 809B194C C7B2003C */ lwc1 $f18, 0x003C($sp) -.L809B1950: -/* 00830 809B1950 C604026C */ lwc1 $f4, 0x026C($s0) ## 0000026C -/* 00834 809B1954 3C0A809B */ lui $t2, %hi(func_809B1524) ## $t2 = 809B0000 -/* 00838 809B1958 254A1524 */ addiu $t2, $t2, %lo(func_809B1524) ## $t2 = 809B1524 -/* 0083C 809B195C 4612203E */ c.le.s $f4, $f18 -/* 00840 809B1960 00000000 */ nop -/* 00844 809B1964 45020003 */ bc1fl .L809B1974 -/* 00848 809B1968 8FBF0034 */ lw $ra, 0x0034($sp) -/* 0084C 809B196C AE0A0250 */ sw $t2, 0x0250($s0) ## 00000250 -/* 00850 809B1970 8FBF0034 */ lw $ra, 0x0034($sp) -.L809B1974: -/* 00854 809B1974 8FB00030 */ lw $s0, 0x0030($sp) -/* 00858 809B1978 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000 -/* 0085C 809B197C 03E00008 */ jr $ra -/* 00860 809B1980 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1984.s b/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1984.s deleted file mode 100644 index 1584f9a2f4..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1984.s +++ /dev/null @@ -1,56 +0,0 @@ -glabel func_809B1984 -/* 00864 809B1984 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 -/* 00868 809B1988 AFB00028 */ sw $s0, 0x0028($sp) -/* 0086C 809B198C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00870 809B1990 AFBF002C */ sw $ra, 0x002C($sp) -/* 00874 809B1994 3C040600 */ lui $a0, %hi(D_06000348) ## $a0 = 06000000 -/* 00878 809B1998 AFA50034 */ sw $a1, 0x0034($sp) -/* 0087C 809B199C 0C028800 */ jal Animation_GetLastFrame - -/* 00880 809B19A0 24840348 */ addiu $a0, $a0, %lo(D_06000348) ## $a0 = 06000348 -/* 00884 809B19A4 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00 -/* 00888 809B19A8 3C01C1A0 */ lui $at, 0xC1A0 ## $at = C1A00000 -/* 0088C 809B19AC 44813000 */ mtc1 $at, $f6 ## $f6 = -20.00 -/* 00890 809B19B0 46802020 */ cvt.s.w $f0, $f4 -/* 00894 809B19B4 3C050600 */ lui $a1, %hi(D_06000348) ## $a1 = 06000000 -/* 00898 809B19B8 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002 -/* 0089C 809B19BC 24A50348 */ addiu $a1, $a1, %lo(D_06000348) ## $a1 = 06000348 -/* 008A0 809B19C0 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C -/* 008A4 809B19C4 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 008A8 809B19C8 E600026C */ swc1 $f0, 0x026C($s0) ## 0000026C -/* 008AC 809B19CC AFAE0014 */ sw $t6, 0x0014($sp) -/* 008B0 809B19D0 E7A00010 */ swc1 $f0, 0x0010($sp) -/* 008B4 809B19D4 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000 -/* 008B8 809B19D8 0C029468 */ jal Animation_Change - -/* 008BC 809B19DC E7A60018 */ swc1 $f6, 0x0018($sp) -/* 008C0 809B19E0 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 008C4 809B19E4 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000 -/* 008C8 809B19E8 44814000 */ mtc1 $at, $f8 ## $f8 = -1.00 -/* 008CC 809B19EC 240F0014 */ addiu $t7, $zero, 0x0014 ## $t7 = 00000014 -/* 008D0 809B19F0 A6000256 */ sh $zero, 0x0256($s0) ## 00000256 -/* 008D4 809B19F4 A6000258 */ sh $zero, 0x0258($s0) ## 00000258 -/* 008D8 809B19F8 A60F025A */ sh $t7, 0x025A($s0) ## 0000025A -/* 008DC 809B19FC E6000064 */ swc1 $f0, 0x0064($s0) ## 00000064 -/* 008E0 809B1A00 E600005C */ swc1 $f0, 0x005C($s0) ## 0000005C -/* 008E4 809B1A04 E608006C */ swc1 $f8, 0x006C($s0) ## 0000006C -/* 008E8 809B1A08 8FA40034 */ lw $a0, 0x0034($sp) -/* 008EC 809B1A0C 26050280 */ addiu $a1, $s0, 0x0280 ## $a1 = 00000280 -/* 008F0 809B1A10 3C06428C */ lui $a2, 0x428C ## $a2 = 428C0000 -/* 008F4 809B1A14 0C00F8C3 */ jal BgCheck_SphVsFirstPoly -/* 008F8 809B1A18 248407C0 */ addiu $a0, $a0, 0x07C0 ## $a0 = 000007C0 -/* 008FC 809B1A1C 10400006 */ beq $v0, $zero, .L809B1A38 -/* 00900 809B1A20 3C09809B */ lui $t1, %hi(func_809B1A54) ## $t1 = 809B0000 -/* 00904 809B1A24 861900B4 */ lh $t9, 0x00B4($s0) ## 000000B4 -/* 00908 809B1A28 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001 -/* 0090C 809B1A2C A6180256 */ sh $t8, 0x0256($s0) ## 00000256 -/* 00910 809B1A30 27288100 */ addiu $t0, $t9, 0x8100 ## $t0 = FFFF8100 -/* 00914 809B1A34 A6080258 */ sh $t0, 0x0258($s0) ## 00000258 -.L809B1A38: -/* 00918 809B1A38 25291A54 */ addiu $t1, $t1, %lo(func_809B1A54) ## $t1 = 809B1A54 -/* 0091C 809B1A3C AE090250 */ sw $t1, 0x0250($s0) ## 00000250 -/* 00920 809B1A40 8FBF002C */ lw $ra, 0x002C($sp) -/* 00924 809B1A44 8FB00028 */ lw $s0, 0x0028($sp) -/* 00928 809B1A48 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000 -/* 0092C 809B1A4C 03E00008 */ jr $ra -/* 00930 809B1A50 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1A54.s b/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1A54.s deleted file mode 100644 index ad813d1c06..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1A54.s +++ /dev/null @@ -1,199 +0,0 @@ -.late_rodata -glabel D_809B2428 - .float -11000.0 -glabel D_809B242C - .float -3000.0 -glabel D_809B2430 - .float 3.1415927 # pi -glabel D_809B2434 - .float 3.1415927 # pi - -.text -glabel func_809B1A54 -/* 00934 809B1A54 27BDFFA0 */ addiu $sp, $sp, 0xFFA0 ## $sp = FFFFFFA0 -/* 00938 809B1A58 3C0F809B */ lui $t7, %hi(D_809B231C) ## $t7 = 809B0000 -/* 0093C 809B1A5C AFBF002C */ sw $ra, 0x002C($sp) -/* 00940 809B1A60 AFB00028 */ sw $s0, 0x0028($sp) -/* 00944 809B1A64 AFA50064 */ sw $a1, 0x0064($sp) -/* 00948 809B1A68 25EF231C */ addiu $t7, $t7, %lo(D_809B231C) ## $t7 = 809B231C -/* 0094C 809B1A6C 8DF90000 */ lw $t9, 0x0000($t7) ## 809B231C -/* 00950 809B1A70 27AE004C */ addiu $t6, $sp, 0x004C ## $t6 = FFFFFFEC -/* 00954 809B1A74 8DF80004 */ lw $t8, 0x0004($t7) ## 809B2320 -/* 00958 809B1A78 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFEC -/* 0095C 809B1A7C 8DF90008 */ lw $t9, 0x0008($t7) ## 809B2324 -/* 00960 809B1A80 3C09809B */ lui $t1, %hi(D_809B2328) ## $t1 = 809B0000 -/* 00964 809B1A84 25292328 */ addiu $t1, $t1, %lo(D_809B2328) ## $t1 = 809B2328 -/* 00968 809B1A88 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFF0 -/* 0096C 809B1A8C ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFF4 -/* 00970 809B1A90 8D2B0000 */ lw $t3, 0x0000($t1) ## 809B2328 -/* 00974 809B1A94 27A80040 */ addiu $t0, $sp, 0x0040 ## $t0 = FFFFFFE0 -/* 00978 809B1A98 8D2A0004 */ lw $t2, 0x0004($t1) ## 809B232C -/* 0097C 809B1A9C AD0B0000 */ sw $t3, 0x0000($t0) ## FFFFFFE0 -/* 00980 809B1AA0 8D2B0008 */ lw $t3, 0x0008($t1) ## 809B2330 -/* 00984 809B1AA4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00988 809B1AA8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C -/* 0098C 809B1AAC AD0A0004 */ sw $t2, 0x0004($t0) ## FFFFFFE4 -/* 00990 809B1AB0 0C02927F */ jal SkelAnime_Update - -/* 00994 809B1AB4 AD0B0008 */ sw $t3, 0x0008($t0) ## FFFFFFE8 -/* 00998 809B1AB8 3C053ECC */ lui $a1, 0x3ECC ## $a1 = 3ECC0000 -/* 0099C 809B1ABC 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3ECCCCCD -/* 009A0 809B1AC0 260400C4 */ addiu $a0, $s0, 0x00C4 ## $a0 = 000000C4 -/* 009A4 809B1AC4 0C01E123 */ jal Math_ApproachZeroF - -/* 009A8 809B1AC8 3C063E80 */ lui $a2, 0x3E80 ## $a2 = 3E800000 -/* 009AC 809B1ACC 860C0256 */ lh $t4, 0x0256($s0) ## 00000256 -/* 009B0 809B1AD0 11800015 */ beq $t4, $zero, .L809B1B28 -/* 009B4 809B1AD4 00000000 */ nop -/* 009B8 809B1AD8 86050258 */ lh $a1, 0x0258($s0) ## 00000258 -/* 009BC 809B1ADC AFA00010 */ sw $zero, 0x0010($sp) -/* 009C0 809B1AE0 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6 -/* 009C4 809B1AE4 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001 -/* 009C8 809B1AE8 0C01E1A7 */ jal Math_SmoothStepToS - -/* 009CC 809B1AEC 24072710 */ addiu $a3, $zero, 0x2710 ## $a3 = 00002710 -/* 009D0 809B1AF0 860D00B6 */ lh $t5, 0x00B6($s0) ## 000000B6 -/* 009D4 809B1AF4 860E0258 */ lh $t6, 0x0258($s0) ## 00000258 -/* 009D8 809B1AF8 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 009DC 809B1AFC 44813000 */ mtc1 $at, $f6 ## $f6 = 100.00 -/* 009E0 809B1B00 01AE7823 */ subu $t7, $t5, $t6 -/* 009E4 809B1B04 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00 -/* 009E8 809B1B08 00000000 */ nop -/* 009EC 809B1B0C 46802020 */ cvt.s.w $f0, $f4 -/* 009F0 809B1B10 46000005 */ abs.s $f0, $f0 -/* 009F4 809B1B14 4606003C */ c.lt.s $f0, $f6 -/* 009F8 809B1B18 00000000 */ nop -/* 009FC 809B1B1C 45000002 */ bc1f .L809B1B28 -/* 00A00 809B1B20 00000000 */ nop -/* 00A04 809B1B24 A6000256 */ sh $zero, 0x0256($s0) ## 00000256 -.L809B1B28: -/* 00A08 809B1B28 3C01809B */ lui $at, %hi(D_809B2428) ## $at = 809B0000 -/* 00A0C 809B1B2C C42C2428 */ lwc1 $f12, %lo(D_809B2428)($at) -/* 00A10 809B1B30 3C01809B */ lui $at, %hi(D_809B242C) ## $at = 809B0000 -/* 00A14 809B1B34 C60E0164 */ lwc1 $f14, 0x0164($s0) ## 00000164 -/* 00A18 809B1B38 C428242C */ lwc1 $f8, %lo(D_809B242C)($at) -/* 00A1C 809B1B3C 860200B6 */ lh $v0, 0x00B6($s0) ## 000000B6 -/* 00A20 809B1B40 46087082 */ mul.s $f2, $f14, $f8 -/* 00A24 809B1B44 44825000 */ mtc1 $v0, $f10 ## $f10 = 0.00 -/* 00A28 809B1B48 460C103C */ c.lt.s $f2, $f12 -/* 00A2C 809B1B4C 00000000 */ nop -/* 00A30 809B1B50 45020003 */ bc1fl .L809B1B60 -/* 00A34 809B1B54 46805420 */ cvt.s.w $f16, $f10 -/* 00A38 809B1B58 46006086 */ mov.s $f2, $f12 -/* 00A3C 809B1B5C 46805420 */ cvt.s.w $f16, $f10 -.L809B1B60: -/* 00A40 809B1B60 3C014700 */ lui $at, 0x4700 ## $at = 47000000 -/* 00A44 809B1B64 44819000 */ mtc1 $at, $f18 ## $f18 = 32768.00 -/* 00A48 809B1B68 3C01809B */ lui $at, %hi(D_809B2430) ## $at = 809B0000 -/* 00A4C 809B1B6C C4262430 */ lwc1 $f6, %lo(D_809B2430)($at) -/* 00A50 809B1B70 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00A54 809B1B74 46128103 */ div.s $f4, $f16, $f18 -/* 00A58 809B1B78 E7A20058 */ swc1 $f2, 0x0058($sp) -/* 00A5C 809B1B7C E7AE005C */ swc1 $f14, 0x005C($sp) -/* 00A60 809B1B80 46062302 */ mul.s $f12, $f4, $f6 -/* 00A64 809B1B84 0C034348 */ jal Matrix_RotateY -/* 00A68 809B1B88 00000000 */ nop -/* 00A6C 809B1B8C 3C014700 */ lui $at, 0x4700 ## $at = 47000000 -/* 00A70 809B1B90 C7A20058 */ lwc1 $f2, 0x0058($sp) -/* 00A74 809B1B94 44814000 */ mtc1 $at, $f8 ## $f8 = 32768.00 -/* 00A78 809B1B98 3C01809B */ lui $at, %hi(D_809B2434) ## $at = 809B0000 -/* 00A7C 809B1B9C C4302434 */ lwc1 $f16, %lo(D_809B2434)($at) -/* 00A80 809B1BA0 46081283 */ div.s $f10, $f2, $f8 -/* 00A84 809B1BA4 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 00A88 809B1BA8 46105302 */ mul.s $f12, $f10, $f16 -/* 00A8C 809B1BAC 0C0342DC */ jal Matrix_RotateX -/* 00A90 809B1BB0 00000000 */ nop -/* 00A94 809B1BB4 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 00A98 809B1BB8 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00 -/* 00A9C 809B1BBC 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00AA0 809B1BC0 00000000 */ nop -/* 00AA4 809B1BC4 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 00AA8 809B1BC8 44819000 */ mtc1 $at, $f18 ## $f18 = 30.00 -/* 00AAC 809B1BCC 27A4004C */ addiu $a0, $sp, 0x004C ## $a0 = FFFFFFEC -/* 00AB0 809B1BD0 27A50040 */ addiu $a1, $sp, 0x0040 ## $a1 = FFFFFFE0 -/* 00AB4 809B1BD4 46120100 */ add.s $f4, $f0, $f18 -/* 00AB8 809B1BD8 0C0346BD */ jal Matrix_MultVec3f -/* 00ABC 809B1BDC E7A40050 */ swc1 $f4, 0x0050($sp) -/* 00AC0 809B1BE0 3C014220 */ lui $at, 0x4220 ## $at = 42200000 -/* 00AC4 809B1BE4 44816000 */ mtc1 $at, $f12 ## $f12 = 40.00 -/* 00AC8 809B1BE8 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00ACC 809B1BEC 00000000 */ nop -/* 00AD0 809B1BF0 C6080024 */ lwc1 $f8, 0x0024($s0) ## 00000024 -/* 00AD4 809B1BF4 C7A60040 */ lwc1 $f6, 0x0040($sp) -/* 00AD8 809B1BF8 3C014220 */ lui $at, 0x4220 ## $at = 42200000 -/* 00ADC 809B1BFC 46004280 */ add.s $f10, $f8, $f0 -/* 00AE0 809B1C00 44816000 */ mtc1 $at, $f12 ## $f12 = 40.00 -/* 00AE4 809B1C04 460A3400 */ add.s $f16, $f6, $f10 -/* 00AE8 809B1C08 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00AEC 809B1C0C E7B00040 */ swc1 $f16, 0x0040($sp) -/* 00AF0 809B1C10 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028 -/* 00AF4 809B1C14 C7B20044 */ lwc1 $f18, 0x0044($sp) -/* 00AF8 809B1C18 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 00AFC 809B1C1C 46002200 */ add.s $f8, $f4, $f0 -/* 00B00 809B1C20 44816000 */ mtc1 $at, $f12 ## $f12 = 30.00 -/* 00B04 809B1C24 46089180 */ add.s $f6, $f18, $f8 -/* 00B08 809B1C28 0C00CFC8 */ jal Rand_CenteredFloat - -/* 00B0C 809B1C2C E7A60044 */ swc1 $f6, 0x0044($sp) -/* 00B10 809B1C30 C610002C */ lwc1 $f16, 0x002C($s0) ## 0000002C -/* 00B14 809B1C34 C7AA0048 */ lwc1 $f10, 0x0048($sp) -/* 00B18 809B1C38 24180008 */ addiu $t8, $zero, 0x0008 ## $t8 = 00000008 -/* 00B1C 809B1C3C 46008100 */ add.s $f4, $f16, $f0 -/* 00B20 809B1C40 AFB80010 */ sw $t8, 0x0010($sp) -/* 00B24 809B1C44 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00B28 809B1C48 24054000 */ addiu $a1, $zero, 0x4000 ## $a1 = 00004000 -/* 00B2C 809B1C4C 46045480 */ add.s $f18, $f10, $f4 -/* 00B30 809B1C50 24060080 */ addiu $a2, $zero, 0x0080 ## $a2 = 00000080 -/* 00B34 809B1C54 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 00B38 809B1C58 0C00D09B */ jal Actor_SetColorFilter -/* 00B3C 809B1C5C E7B20048 */ swc1 $f18, 0x0048($sp) -/* 00B40 809B1C60 2419FFFF */ addiu $t9, $zero, 0xFFFF ## $t9 = FFFFFFFF -/* 00B44 809B1C64 AFB90018 */ sw $t9, 0x0018($sp) -/* 00B48 809B1C68 8FA40064 */ lw $a0, 0x0064($sp) -/* 00B4C 809B1C6C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 00B50 809B1C70 27A60040 */ addiu $a2, $sp, 0x0040 ## $a2 = FFFFFFE0 -/* 00B54 809B1C74 24070064 */ addiu $a3, $zero, 0x0064 ## $a3 = 00000064 -/* 00B58 809B1C78 AFA00010 */ sw $zero, 0x0010($sp) -/* 00B5C 809B1C7C 0C00A935 */ jal EffectSsEnFire_SpawnVec3f -/* 00B60 809B1C80 AFA00014 */ sw $zero, 0x0014($sp) -/* 00B64 809B1C84 C7A8005C */ lwc1 $f8, 0x005C($sp) -/* 00B68 809B1C88 C606026C */ lwc1 $f6, 0x026C($s0) ## 0000026C -/* 00B6C 809B1C8C 4608303E */ c.le.s $f6, $f8 -/* 00B70 809B1C90 00000000 */ nop -/* 00B74 809B1C94 45020018 */ bc1fl .L809B1CF8 -/* 00B78 809B1C98 8FBF002C */ lw $ra, 0x002C($sp) -/* 00B7C 809B1C9C 96080088 */ lhu $t0, 0x0088($s0) ## 00000088 -/* 00B80 809B1CA0 3C05C584 */ lui $a1, 0xC584 ## $a1 = C5840000 -/* 00B84 809B1CA4 34A53000 */ ori $a1, $a1, 0x3000 ## $a1 = C5843000 -/* 00B88 809B1CA8 31090001 */ andi $t1, $t0, 0x0001 ## $t1 = 00000000 -/* 00B8C 809B1CAC 11200011 */ beq $t1, $zero, .L809B1CF4 -/* 00B90 809B1CB0 260400BC */ addiu $a0, $s0, 0x00BC ## $a0 = 000000BC -/* 00B94 809B1CB4 3C063F00 */ lui $a2, 0x3F00 ## $a2 = 3F000000 -/* 00B98 809B1CB8 0C01E107 */ jal Math_ApproachF - -/* 00B9C 809B1CBC 3C074396 */ lui $a3, 0x4396 ## $a3 = 43960000 -/* 00BA0 809B1CC0 3C01C4FA */ lui $at, 0xC4FA ## $at = C4FA0000 -/* 00BA4 809B1CC4 44815000 */ mtc1 $at, $f10 ## $f10 = -2000.00 -/* 00BA8 809B1CC8 C61000BC */ lwc1 $f16, 0x00BC($s0) ## 000000BC -/* 00BAC 809B1CCC 8FA40064 */ lw $a0, 0x0064($sp) -/* 00BB0 809B1CD0 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 00BB4 809B1CD4 460A803C */ c.lt.s $f16, $f10 -/* 00BB8 809B1CD8 26060024 */ addiu $a2, $s0, 0x0024 ## $a2 = 00000024 -/* 00BBC 809B1CDC 45020006 */ bc1fl .L809B1CF8 -/* 00BC0 809B1CE0 8FBF002C */ lw $ra, 0x002C($sp) -/* 00BC4 809B1CE4 0C007E50 */ jal Item_DropCollectibleRandom - -/* 00BC8 809B1CE8 240700C0 */ addiu $a3, $zero, 0x00C0 ## $a3 = 000000C0 -/* 00BCC 809B1CEC 0C00B55C */ jal Actor_Kill - -/* 00BD0 809B1CF0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -.L809B1CF4: -/* 00BD4 809B1CF4 8FBF002C */ lw $ra, 0x002C($sp) -.L809B1CF8: -/* 00BD8 809B1CF8 8FB00028 */ lw $s0, 0x0028($sp) -/* 00BDC 809B1CFC 27BD0060 */ addiu $sp, $sp, 0x0060 ## $sp = 00000000 -/* 00BE0 809B1D00 03E00008 */ jr $ra -/* 00BE4 809B1D04 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B2104.s b/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B2104.s deleted file mode 100644 index ab3a86d643..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B2104.s +++ /dev/null @@ -1,21 +0,0 @@ -glabel func_809B2104 -/* 00FE4 809B2104 2401000D */ addiu $at, $zero, 0x000D ## $at = 0000000D -/* 00FE8 809B2108 AFA40000 */ sw $a0, 0x0000($sp) -/* 00FEC 809B210C AFA60008 */ sw $a2, 0x0008($sp) -/* 00FF0 809B2110 14A1000D */ bne $a1, $at, .L809B2148 -/* 00FF4 809B2114 AFA7000C */ sw $a3, 0x000C($sp) -/* 00FF8 809B2118 8FA20010 */ lw $v0, 0x0010($sp) -/* 00FFC 809B211C 8FAF0014 */ lw $t7, 0x0014($sp) -/* 01000 809B2120 844E0004 */ lh $t6, 0x0004($v0) ## 00000004 -/* 01004 809B2124 C5E80278 */ lwc1 $f8, 0x0278($t7) ## 00000278 -/* 01008 809B2128 448E2000 */ mtc1 $t6, $f4 ## $f4 = 0.00 -/* 0100C 809B212C 00000000 */ nop -/* 01010 809B2130 468021A0 */ cvt.s.w $f6, $f4 -/* 01014 809B2134 46083280 */ add.s $f10, $f6, $f8 -/* 01018 809B2138 4600540D */ trunc.w.s $f16, $f10 -/* 0101C 809B213C 44198000 */ mfc1 $t9, $f16 -/* 01020 809B2140 00000000 */ nop -/* 01024 809B2144 A4590004 */ sh $t9, 0x0004($v0) ## 00000004 -.L809B2148: -/* 01028 809B2148 03E00008 */ jr $ra -/* 0102C 809B214C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B2150.s b/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B2150.s deleted file mode 100644 index 69d1b91b69..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B2150.s +++ /dev/null @@ -1,81 +0,0 @@ -.rdata -glabel D_809B23D4 - .asciz "../z_en_anubice.c" - .balign 4 - -glabel D_809B23E8 - .asciz "../z_en_anubice.c" - .balign 4 - -glabel D_809B23FC - .asciz "../z_en_anubice.c" - .balign 4 - -.text -glabel func_809B2150 -/* 01030 809B2150 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8 -/* 01034 809B2154 3C0F809B */ lui $t7, %hi(D_809B2334) ## $t7 = 809B0000 -/* 01038 809B2158 AFBF0014 */ sw $ra, 0x0014($sp) -/* 0103C 809B215C AFA40048 */ sw $a0, 0x0048($sp) -/* 01040 809B2160 AFA60050 */ sw $a2, 0x0050($sp) -/* 01044 809B2164 AFA70054 */ sw $a3, 0x0054($sp) -/* 01048 809B2168 25EF2334 */ addiu $t7, $t7, %lo(D_809B2334) ## $t7 = 809B2334 -/* 0104C 809B216C 8DF90000 */ lw $t9, 0x0000($t7) ## 809B2334 -/* 01050 809B2170 27AE0038 */ addiu $t6, $sp, 0x0038 ## $t6 = FFFFFFF0 -/* 01054 809B2174 8DF80004 */ lw $t8, 0x0004($t7) ## 809B2338 -/* 01058 809B2178 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF0 -/* 0105C 809B217C 8DF90008 */ lw $t9, 0x0008($t7) ## 809B233C -/* 01060 809B2180 2401000D */ addiu $at, $zero, 0x000D ## $at = 0000000D -/* 01064 809B2184 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFF4 -/* 01068 809B2188 14A1002E */ bne $a1, $at, .L809B2244 -/* 0106C 809B218C ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFF8 -/* 01070 809B2190 8FA90048 */ lw $t1, 0x0048($sp) -/* 01074 809B2194 3C06809B */ lui $a2, %hi(D_809B23D4) ## $a2 = 809B0000 -/* 01078 809B2198 24C623D4 */ addiu $a2, $a2, %lo(D_809B23D4) ## $a2 = 809B23D4 -/* 0107C 809B219C 8D250000 */ lw $a1, 0x0000($t1) ## 00000000 -/* 01080 809B21A0 27A40024 */ addiu $a0, $sp, 0x0024 ## $a0 = FFFFFFDC -/* 01084 809B21A4 24070355 */ addiu $a3, $zero, 0x0355 ## $a3 = 00000355 -/* 01088 809B21A8 0C031AB1 */ jal Graph_OpenDisps -/* 0108C 809B21AC AFA50034 */ sw $a1, 0x0034($sp) -/* 01090 809B21B0 8FA80034 */ lw $t0, 0x0034($sp) -/* 01094 809B21B4 3C0BDA38 */ lui $t3, 0xDA38 ## $t3 = DA380000 -/* 01098 809B21B8 356B0003 */ ori $t3, $t3, 0x0003 ## $t3 = DA380003 -/* 0109C 809B21BC 8D0202D0 */ lw $v0, 0x02D0($t0) ## 000002D0 -/* 010A0 809B21C0 3C05809B */ lui $a1, %hi(D_809B23E8) ## $a1 = 809B0000 -/* 010A4 809B21C4 24A523E8 */ addiu $a1, $a1, %lo(D_809B23E8) ## $a1 = 809B23E8 -/* 010A8 809B21C8 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008 -/* 010AC 809B21CC AD0A02D0 */ sw $t2, 0x02D0($t0) ## 000002D0 -/* 010B0 809B21D0 AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000 -/* 010B4 809B21D4 8FAC0048 */ lw $t4, 0x0048($sp) -/* 010B8 809B21D8 24060358 */ addiu $a2, $zero, 0x0358 ## $a2 = 00000358 -/* 010BC 809B21DC 8D840000 */ lw $a0, 0x0000($t4) ## 00000000 -/* 010C0 809B21E0 AFA80034 */ sw $t0, 0x0034($sp) -/* 010C4 809B21E4 0C0346A2 */ jal Matrix_NewMtx -/* 010C8 809B21E8 AFA20020 */ sw $v0, 0x0020($sp) -/* 010CC 809B21EC 8FA30020 */ lw $v1, 0x0020($sp) -/* 010D0 809B21F0 8FA80034 */ lw $t0, 0x0034($sp) -/* 010D4 809B21F4 3C0F0600 */ lui $t7, %hi(D_06003468) ## $t7 = 06000000 -/* 010D8 809B21F8 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 010DC 809B21FC 8D0202D0 */ lw $v0, 0x02D0($t0) ## 000002D0 -/* 010E0 809B2200 25EF3468 */ addiu $t7, $t7, %lo(D_06003468) ## $t7 = 06003468 -/* 010E4 809B2204 3C0EDE00 */ lui $t6, 0xDE00 ## $t6 = DE000000 -/* 010E8 809B2208 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008 -/* 010EC 809B220C AD0D02D0 */ sw $t5, 0x02D0($t0) ## 000002D0 -/* 010F0 809B2210 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004 -/* 010F4 809B2214 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 010F8 809B2218 8FA50058 */ lw $a1, 0x0058($sp) -/* 010FC 809B221C 27A40038 */ addiu $a0, $sp, 0x0038 ## $a0 = FFFFFFF0 -/* 01100 809B2220 0C0346BD */ jal Matrix_MultVec3f -/* 01104 809B2224 24A50280 */ addiu $a1, $a1, 0x0280 ## $a1 = 00000280 -/* 01108 809B2228 8FB80048 */ lw $t8, 0x0048($sp) -/* 0110C 809B222C 3C06809B */ lui $a2, %hi(D_809B23FC) ## $a2 = 809B0000 -/* 01110 809B2230 24C623FC */ addiu $a2, $a2, %lo(D_809B23FC) ## $a2 = 809B23FC -/* 01114 809B2234 27A40024 */ addiu $a0, $sp, 0x0024 ## $a0 = FFFFFFDC -/* 01118 809B2238 24070364 */ addiu $a3, $zero, 0x0364 ## $a3 = 00000364 -/* 0111C 809B223C 0C031AD5 */ jal Graph_CloseDisps -/* 01120 809B2240 8F050000 */ lw $a1, 0x0000($t8) ## 00000000 -.L809B2244: -/* 01124 809B2244 8FBF0014 */ lw $ra, 0x0014($sp) -/* 01128 809B2248 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000 -/* 0112C 809B224C 03E00008 */ jr $ra -/* 01130 809B2250 00000000 */ nop diff --git a/data/overlays/actors/z_en_anubice.data.s b/data/overlays/actors/z_en_anubice.data.s deleted file mode 100644 index 927031dfaa..0000000000 --- a/data/overlays/actors/z_en_anubice.data.s +++ /dev/null @@ -1,28 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purpose registers - -.section .data - -.balign 16 - -glabel En_Anubice_InitVars - .word 0x00E00500, 0x00000015, 0x00D60000, 0x00000314 -.word EnAnubice_Init -.word EnAnubice_Destroy -.word EnAnubice_Update -.word EnAnubice_Draw -glabel D_809B22D0 - .word 0x0A000939, 0x10010000, 0x00000000, 0xFFCFFFFF, 0x00000000, 0xFFCFFFFF, 0x00000000, 0x00010100, 0x001D0067, 0x00000000, 0x00000000 -glabel D_809B22FC - .word 0x00F0F0F0, 0xF0F0F1F2, 0xF0F2F622, 0xF0F0F0F0, 0xF0230000, 0x0000F0F6, 0xF2F0FCF4, 0x00000000 -glabel D_809B231C - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_809B2328 - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_809B2334 - .word 0x00000000, 0x00000000, 0x00000000 - diff --git a/data/overlays/actors/z_en_anubice.reloc.s b/data/overlays/actors/z_en_anubice.reloc.s deleted file mode 100644 index 564d65701e..0000000000 --- a/data/overlays/actors/z_en_anubice.reloc.s +++ /dev/null @@ -1,13 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purpose registers - -.section .rodata - -.balign 16 - -glabel D_809B2440 - .incbin "baserom/ovl_En_Anubice", 0x1320, 0x00000160 diff --git a/include/z64math.h b/include/z64math.h index 32c19fbcb4..1b38a7ba48 100644 --- a/include/z64math.h +++ b/include/z64math.h @@ -92,6 +92,7 @@ typedef struct { // Trig macros #define DEGF_TO_BINANG(degreesf) (s16)(degreesf * 182.04167f + .5f) +#define RADF_TO_BINANG(radf) (s16)(radf * (32768.0f / M_PI)) #define RADF_TO_DEGF(radf) (radf * (180.0f / M_PI)) #define DEGF_TO_RADF(degf) (degf * (M_PI / 180.0f)) #define BINANG_ROT180(angle) ((s16)(angle - 0x7FFF)) diff --git a/spec b/spec index 4fee15be22..e73cf4f89c 100644 --- a/spec +++ b/spec @@ -1850,8 +1850,7 @@ endseg beginseg name "ovl_En_Anubice" include "build/src/overlays/actors/ovl_En_Anubice/z_en_anubice.o" - include "build/data/overlays/actors/z_en_anubice.data.o" - include "build/data/overlays/actors/z_en_anubice.reloc.o" + include "build/src/overlays/actors/ovl_En_Anubice/ovl_En_Anubice_reloc.o" endseg beginseg diff --git a/src/overlays/actors/ovl_En_Anubice/z_en_anubice.c b/src/overlays/actors/ovl_En_Anubice/z_en_anubice.c index 532e66b646..c61a0912cd 100644 --- a/src/overlays/actors/ovl_En_Anubice/z_en_anubice.c +++ b/src/overlays/actors/ovl_En_Anubice/z_en_anubice.c @@ -5,6 +5,9 @@ */ #include "z_en_anubice.h" +#include "overlays/actors/ovl_En_Anubice_Tag/z_en_anubice_tag.h" +#include "overlays/actors/ovl_Bg_Hidan_Curtain/z_bg_hidan_curtain.h" +#include "vt.h" #define FLAGS 0x00000015 @@ -15,13 +18,20 @@ void EnAnubice_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnAnubice_Update(Actor* thisx, GlobalContext* globalCtx); void EnAnubice_Draw(Actor* thisx, GlobalContext* globalCtx); -extern UNK_TYPE D_06000348; -extern UNK_TYPE D_0600078C; -extern UNK_TYPE D_06000F74; -extern UNK_TYPE D_06003468; -extern UNK_TYPE D_06003990; +void EnAnubice_FindFlameCircles(EnAnubice* this, GlobalContext* globalCtx); +void EnAnubice_SetupIdle(EnAnubice* this, GlobalContext* globalCtx); +void EnAnubice_Idle(EnAnubice* this, GlobalContext* globalCtx); +void EnAnubice_GoToHome(EnAnubice* this, GlobalContext* globalCtx); +void EnAnubis_SetupShootFireball(EnAnubice* this, GlobalContext* globalCtx); +void EnAnubis_ShootFireball(EnAnubice* this, GlobalContext* globalCtx); +void EnAnubice_Die(EnAnubice* this, GlobalContext* globalCtx); + +extern AnimationHeader D_06000348; +extern AnimationHeader D_0600078C; +extern AnimationHeader D_06000F74; +extern Gfx D_06003468[]; +extern SkeletonHeader D_06003990; -/* const ActorInit En_Anubice_InitVars = { ACTOR_EN_ANUBICE, ACTORCAT_ENEMY, @@ -34,7 +44,7 @@ const ActorInit En_Anubice_InitVars = { (ActorFunc)EnAnubice_Draw, }; -static ColliderCylinderInit D_809B22D0 = { +static ColliderCylinderInit sCylinderInit = { { COLTYPE_NONE, AT_NONE, @@ -53,35 +63,438 @@ static ColliderCylinderInit D_809B22D0 = { }, { 29, 103, 0, { 0, 0, 0 } }, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1120.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B11C0.s") +static DamageTable sDamageTable[] = { + /* Deku nut */ DMG_ENTRY(0, 0x0), + /* Deku stick */ DMG_ENTRY(0, 0xF), + /* Slingshot */ DMG_ENTRY(0, 0xF), + /* Explosive */ DMG_ENTRY(0, 0xF), + /* Boomerang */ DMG_ENTRY(0, 0xF), + /* Normal arrow */ DMG_ENTRY(0, 0xF), + /* Hammer swing */ DMG_ENTRY(1, 0xF), + /* Hookshot */ DMG_ENTRY(2, 0xF), + /* Kokiri sword */ DMG_ENTRY(0, 0xF), + /* Master sword */ DMG_ENTRY(2, 0xF), + /* Giant's Knife */ DMG_ENTRY(6, 0xF), + /* Fire arrow */ DMG_ENTRY(2, 0x2), + /* Ice arrow */ DMG_ENTRY(0, 0xF), + /* Light arrow */ DMG_ENTRY(0, 0xF), + /* Unk arrow 1 */ DMG_ENTRY(0, 0xF), + /* Unk arrow 2 */ DMG_ENTRY(0, 0xF), + /* Unk arrow 3 */ DMG_ENTRY(0, 0xF), + /* Fire magic */ DMG_ENTRY(3, 0x2), + /* Ice magic */ DMG_ENTRY(0, 0x0), + /* Light magic */ DMG_ENTRY(0, 0x0), + /* Shield */ DMG_ENTRY(0, 0x0), + /* Mirror Ray */ DMG_ENTRY(0, 0x0), + /* Kokiri spin */ DMG_ENTRY(0, 0xF), + /* Giant spin */ DMG_ENTRY(6, 0xF), + /* Master spin */ DMG_ENTRY(2, 0xF), + /* Kokiri jump */ DMG_ENTRY(0, 0xF), + /* Giant jump */ DMG_ENTRY(12, 0xF), + /* Master jump */ DMG_ENTRY(4, 0xF), + /* Unknown 1 */ DMG_ENTRY(0, 0x0), + /* Unblockable */ DMG_ENTRY(0, 0x0), + /* Hammer jump */ DMG_ENTRY(0, 0x0), + /* Unknown 2 */ DMG_ENTRY(0, 0x0), +}; + +Vec3f D_809B231C = { 0.0f, 0.0f, 0.0f }; +Vec3f D_809B2328 = { 0.0f, 0.0f, 0.0f }; +Vec3f D_809B2334 = { 0.0f, 0.0f, 0.0f }; + +void EnAnubice_Hover(EnAnubice* this, GlobalContext* globalCtx) { + Player* player = PLAYER; + + this->hoverVelocityTimer += 1500.0f; + this->targetHeight = player->actor.world.pos.y + this->playerHeightOffset; + Math_ApproachF(&this->actor.world.pos.y, this->targetHeight, 0.1f, 10.0f); + Math_ApproachF(&this->playerHeightOffset, 10.0f, 0.1f, 0.5f); + this->actor.velocity.y = Math_SinS(this->hoverVelocityTimer); +} + +void EnAnubice_SetFireballRot(EnAnubice* this, GlobalContext* globalCtx) { + f32 xzdist; + f32 x; + f32 y; + f32 z; + Player* player = PLAYER; + + x = player->actor.world.pos.x - this->fireballPos.x; + y = player->actor.world.pos.y + 10.0f - this->fireballPos.y; + z = player->actor.world.pos.z - this->fireballPos.z; + xzdist = sqrtf(SQ(x) + SQ(z)); + + this->fireballRot.x = -RADF_TO_BINANG(Math_FAtan2F(y, xzdist)); + this->fireballRot.y = RADF_TO_BINANG(Math_FAtan2F(x, z)); +} + +void EnAnubice_Init(Actor* thisx, GlobalContext* globalCtx) { + EnAnubice* this = THIS; + + ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 20.0f); + SkelAnime_Init(globalCtx, &this->skelAnime, &D_06003990, &D_06000F74, this->jointTable, this->morphTable, 16); + + osSyncPrintf("\n\n"); + // ☆☆☆☆☆ Anubis occurence ☆☆☆☆☆ + osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ アヌビス発生 ☆☆☆☆☆ \n" VT_RST); + + this->actor.naviEnemyId = 0x3A; + + Collider_InitCylinder(globalCtx, &this->col); + Collider_SetCylinder(globalCtx, &this->col, &this->actor, &sCylinderInit); + + Actor_SetScale(&this->actor, 0.015f); + + this->actor.colChkInfo.damageTable = sDamageTable; + this->actor.colChkInfo.mass = MASS_IMMOVABLE; + this->actor.shape.yOffset = -4230.0f; + this->focusHeightOffset = 0.0f; + this->actor.flags &= ~1; + this->home = this->actor.world.pos; + this->actor.targetMode = 3; + this->actionFunc = EnAnubice_FindFlameCircles; +} + +void EnAnubice_Destroy(Actor* thisx, GlobalContext* globalCtx) { + EnAnubice* this = THIS; + EnAnubiceTag* temp_v1; + + Collider_DestroyCylinder(globalCtx, &this->col); + + if (this->actor.params != 0) { + if (this->actor.parent) {} + + temp_v1 = (EnAnubiceTag*)this->actor.parent; + if (temp_v1 != NULL && temp_v1->actor.update != NULL) { + temp_v1->anubis = NULL; + } + } +} + +void EnAnubice_FindFlameCircles(EnAnubice* this, GlobalContext* globalCtx) { + Actor* currentProp; + s32 flameCirclesFound; + + if (this->isMirroringLink) { + if (!this->hasSearchedForFlameCircles) { + flameCirclesFound = 0; + currentProp = globalCtx->actorCtx.actorLists[ACTORCAT_PROP].head; + while (currentProp != NULL) { + if (currentProp->id != ACTOR_BG_HIDAN_CURTAIN) { + currentProp = currentProp->next; + } else { + this->flameCircles[flameCirclesFound] = (BgHidanCurtain*)currentProp; + // ☆☆☆☆☆ How many fires? ☆☆☆☆☆ + osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ 火は幾つ? ☆☆☆☆☆ %d\n" VT_RST, flameCirclesFound); + osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ 火は幾つ? ☆☆☆☆☆ %x\n" VT_RST, + this->flameCircles[flameCirclesFound]); + if (flameCirclesFound < 4) { + flameCirclesFound++; + } + currentProp = currentProp->next; + } + } + this->hasSearchedForFlameCircles = true; + } + this->actor.flags |= 1; + this->actionFunc = EnAnubice_SetupIdle; + } +} + +void EnAnubice_SetupIdle(EnAnubice* this, GlobalContext* globalCtx) { + f32 lastFrame = Animation_GetLastFrame(&D_06000F74); + + Animation_Change(&this->skelAnime, &D_06000F74, 1.0f, 0.0f, (s16)lastFrame, 0, -10.0f); + + this->actionFunc = EnAnubice_Idle; + this->actor.velocity.x = this->actor.velocity.z = this->actor.gravity = 0.0f; +} + +void EnAnubice_Idle(EnAnubice* this, GlobalContext* globalCtx) { + Player* player = PLAYER; + + SkelAnime_Update(&this->skelAnime); + Math_ApproachZeroF(&this->actor.shape.yOffset, 0.5f, 300.0f); + Math_ApproachF(&this->focusHeightOffset, 70.0f, 0.5f, 5.0f); + + if (!this->isKnockedback) { + Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 5, 3000, 0); + } + + if (this->actor.shape.yOffset > -2.0f) { + this->actor.shape.yOffset = 0.0f; + + if (player->swordState != 0) { + this->actionFunc = EnAnubis_SetupShootFireball; + } else if (this->isLinkOutOfRange) { + this->actor.velocity.y = 0.0f; + this->actor.gravity = -1.0f; + this->actionFunc = EnAnubice_GoToHome; + } + } +} + +void EnAnubice_GoToHome(EnAnubice* this, GlobalContext* globalCtx) { + f32 xzdist; + f32 xRatio; + f32 zRatio; + f32 x; + f32 z; + + SkelAnime_Update(&this->skelAnime); + Math_ApproachF(&this->actor.shape.yOffset, -4230.0f, 0.5f, 300.0f); + Math_ApproachZeroF(&this->focusHeightOffset, 0.5f, 5.0f); + + if (!this->isKnockedback) { + Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 5, 3000, 0); + } + + if (fabsf(this->home.x - this->actor.world.pos.x) > 3.0f && fabsf(this->home.z - this->actor.world.pos.z) > 3.0f) { + x = this->home.x - this->actor.world.pos.x; + z = this->home.z - this->actor.world.pos.z; + xzdist = sqrtf(SQ(x) + SQ(z)); + xRatio = ((x) / xzdist); + zRatio = ((z) / xzdist); + this->actor.world.pos.x += (xRatio * 8); + this->actor.world.pos.z += (zRatio * 8.0f); + } else if (this->actor.shape.yOffset < -4220.0f) { + this->actor.shape.yOffset = -4230.0f; + this->isMirroringLink = this->isLinkOutOfRange = false; + this->actionFunc = EnAnubice_FindFlameCircles; + this->actor.gravity = 0.0f; + } +} + +void EnAnubis_SetupShootFireball(EnAnubice* this, GlobalContext* globalCtx) { + f32 lastFrame = Animation_GetLastFrame(&D_0600078C); + + this->animLastFrame = lastFrame; + Animation_Change(&this->skelAnime, &D_0600078C, 1.0f, 0.0f, lastFrame, 2, -10.0f); + this->actionFunc = EnAnubis_ShootFireball; + this->actor.velocity.x = this->actor.velocity.z = 0.0f; +} + +void EnAnubis_ShootFireball(EnAnubice* this, GlobalContext* globalCtx) { + f32 curFrame = this->skelAnime.curFrame; + + SkelAnime_Update(&this->skelAnime); + + if (!this->isKnockedback) { + Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 5, 3000, 0); + } + + EnAnubice_SetFireballRot(this, globalCtx); + + if (curFrame == 12.0f) { + Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_ANUBICE_FIRE, this->fireballPos.x, + this->fireballPos.y + 15.0f, this->fireballPos.z, this->fireballRot.x, this->fireballRot.y, 0, 0); + } + + if (this->animLastFrame <= curFrame) { + this->actionFunc = EnAnubice_SetupIdle; + } +} + +void EnAnubice_SetupDie(EnAnubice* this, GlobalContext* globalCtx) { + f32 lastFrame = Animation_GetLastFrame(&D_06000348); + + this->animLastFrame = lastFrame; + Animation_Change(&this->skelAnime, &D_06000348, 1.0f, 0.0f, lastFrame, 2, -20.0f); + + this->unk_256 = false; + this->unk_258 = 0; + this->deathTimer = 20; + this->actor.velocity.x = this->actor.velocity.z = 0.0f; + this->actor.gravity = -1.0f; + + if (BgCheck_SphVsFirstPoly(&globalCtx->colCtx, &this->fireballPos, 70.0f)) { + this->unk_256 = true; + this->unk_258 = this->actor.shape.rot.x - 0x7F00; + } + + this->actionFunc = EnAnubice_Die; +} + +void EnAnubice_Die(EnAnubice* this, GlobalContext* globalCtx) { + f32 curFrame; + f32 phi_f2; + Vec3f sp4C = D_809B231C; + Vec3f fireEffectPos = D_809B2328; + s32 pad; + + SkelAnime_Update(&this->skelAnime); + Math_ApproachZeroF(&this->actor.shape.shadowScale, 0.4f, 0.25f); + + if (this->unk_256) { + Math_SmoothStepToS(&this->actor.shape.rot.y, this->unk_258, 1, 10000, 0); + if (fabsf(this->actor.shape.rot.y - this->unk_258) < 100.0f) { + this->unk_256 = false; + } + } + + curFrame = this->skelAnime.curFrame; + phi_f2 = curFrame * -3000.0f; + phi_f2 = CLAMP_MIN(phi_f2, -11000.0f); + + Matrix_RotateY(BINANG_TO_RAD(this->actor.shape.rot.y), MTXMODE_NEW); + Matrix_RotateX(BINANG_TO_RAD(phi_f2), MTXMODE_APPLY); + sp4C.y = Rand_CenteredFloat(10.0f) + 30.0f; + Matrix_MultVec3f(&sp4C, &fireEffectPos); + fireEffectPos.x += this->actor.world.pos.x + Rand_CenteredFloat(40.0f); + fireEffectPos.y += this->actor.world.pos.y + Rand_CenteredFloat(40.0f); + fireEffectPos.z += this->actor.world.pos.z + Rand_CenteredFloat(30.0f); + Actor_SetColorFilter(&this->actor, 0x4000, 0x80, 0, 8); + EffectSsEnFire_SpawnVec3f(globalCtx, &this->actor, &fireEffectPos, 100, 0, 0, -1); + + if (this->animLastFrame <= curFrame && (this->actor.bgCheckFlags & 1)) { + Math_ApproachF(&this->actor.shape.yOffset, -4230.0f, 0.5f, 300.0f); + if (this->actor.shape.yOffset < -2000.0f) { + Item_DropCollectibleRandom(globalCtx, &this->actor, &this->actor.world.pos, 0xC0); + Actor_Kill(&this->actor); + } + } +} + +void EnAnubice_Update(Actor* thisx, GlobalContext* globalCtx) { + f32 zero; + BgHidanCurtain* flameCircle; + s32 i; + Vec3f sp48; + Vec3f sp3C; + EnAnubice* this = THIS; + + if (this->actionFunc != EnAnubice_SetupDie && this->actionFunc != EnAnubice_Die && + this->actor.shape.yOffset == 0.0f) { + EnAnubice_Hover(this, globalCtx); + for (i = 0; i < 5; i++) { + flameCircle = this->flameCircles[i]; + + if (flameCircle != NULL && fabsf(flameCircle->actor.world.pos.x - this->actor.world.pos.x) < 60.0f && + fabsf(this->flameCircles[i]->actor.world.pos.z - this->actor.world.pos.z) < 60.0f && + flameCircle->timer != 0) { + Actor_ChangeCategory(globalCtx, &globalCtx->actorCtx, &this->actor, ACTORCAT_PROP); + this->actor.flags &= ~1; + func_80032C7C(globalCtx, &this->actor); + Audio_PlayActorSound2(&this->actor, NA_SE_EN_ANUBIS_DEAD); + this->actionFunc = EnAnubice_SetupDie; + return; + } + } + + if (this->col.base.acFlags & 2) { + this->col.base.acFlags &= ~2; + if (this->actor.colChkInfo.damageEffect == 2) { + Actor_ChangeCategory(globalCtx, &globalCtx->actorCtx, &this->actor, ACTORCAT_PROP); + this->actor.flags &= ~1; + func_80032C7C(globalCtx, &this->actor); + Audio_PlayActorSound2(&this->actor, NA_SE_EN_ANUBIS_DEAD); + this->actionFunc = EnAnubice_SetupDie; + return; + } + + if (!this->isKnockedback) { + this->knockbackTimer = 10; + this->isKnockedback = true; + + sp48.x = 0.0f; + sp48.y = 0.0f; + sp48.z = -10.0f; + sp3C.x = 0.0f; + sp3C.y = 0.0f; + sp3C.z = 0.0f; + + Matrix_RotateY(BINANG_TO_RAD(this->actor.shape.rot.y), MTXMODE_NEW); + Matrix_MultVec3f(&sp48, &sp3C); + + this->actor.velocity.x = sp3C.x; + this->actor.velocity.z = sp3C.z; + this->knockbackRecoveryVelocity.x = -sp3C.x; + this->knockbackRecoveryVelocity.z = -sp3C.z; + + Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_CUTBODY); + } + } + + if (this->isKnockedback) { + this->actor.shape.rot.y += 6500; + Math_ApproachF(&this->actor.velocity.x, this->knockbackRecoveryVelocity.x, 0.3f, 1.0f); + Math_ApproachF(&this->actor.velocity.z, this->knockbackRecoveryVelocity.z, 0.3f, 1.0f); + + zero = 0.0f; + if (zero) {} + + if (this->knockbackTimer == 0) { + this->actor.velocity.x = this->actor.velocity.z = 0.0f; + this->knockbackRecoveryVelocity.x = this->knockbackRecoveryVelocity.z = 0.0f; + this->isKnockedback = false; + } + } + } + + this->timeAlive++; + + if (this->knockbackTimer != 0) { + this->knockbackTimer--; + } + + if (this->deathTimer != 0) { + this->deathTimer--; + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Anubice/EnAnubice_Init.s") + this->actionFunc(this, globalCtx); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Anubice/EnAnubice_Destroy.s") + this->actor.velocity.y += this->actor.gravity; + func_8002D7EC(&this->actor); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B142C.s") + if (!this->isLinkOutOfRange) { + Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 5.0f, 5.0f, 10.0f, 0x1D); + } else { + Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 5.0f, 5.0f, 10.0f, 0x1C); + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1524.s") + if (this->actionFunc != EnAnubice_SetupDie && this->actionFunc != EnAnubice_Die) { + Actor_SetFocus(&this->actor, this->focusHeightOffset); + Collider_UpdateCylinder(&this->actor, &this->col); + CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->col.base); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B15CC.s") + if (!this->isKnockedback && this->actor.shape.yOffset == 0.0f) { + CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->col.base); + } + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B16AC.s") +s32 EnAnubis_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, + void* thisx) { + EnAnubice* this = THIS; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B17FC.s") + if (limbIndex == 13) { + rot->z += this->unk_278; + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1884.s") + return false; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1984.s") +void EnAnubis_PostLimbDraw(struct GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { + EnAnubice* this = THIS; + Vec3f sp38 = D_809B2334; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B1A54.s") + if (limbIndex == 13) { + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_anubice.c", 853); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Anubice/EnAnubice_Update.s") + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_anubice.c", 856), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, D_06003468); + Matrix_MultVec3f(&sp38, &this->fireballPos); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B2104.s") + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_anubice.c", 868); + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Anubice/func_809B2150.s") +void EnAnubice_Draw(Actor* thisx, GlobalContext* globalCtx) { + EnAnubice* this = THIS; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Anubice/EnAnubice_Draw.s") + func_80093D84(globalCtx->state.gfxCtx); + SkelAnime_DrawOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, EnAnubis_OverrideLimbDraw, + EnAnubis_PostLimbDraw, this); +} diff --git a/src/overlays/actors/ovl_En_Anubice/z_en_anubice.h b/src/overlays/actors/ovl_En_Anubice/z_en_anubice.h index 53b2b01ead..4bd0785a99 100644 --- a/src/overlays/actors/ovl_En_Anubice/z_en_anubice.h +++ b/src/overlays/actors/ovl_En_Anubice/z_en_anubice.h @@ -3,18 +3,40 @@ #include "ultra64.h" #include "global.h" +#include "overlays/actors/ovl_Bg_Hidan_Curtain/z_bg_hidan_curtain.h" struct EnAnubice; +typedef void (*EnAnubiceActionFunc)(struct EnAnubice*, struct GlobalContext*); + typedef struct EnAnubice { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x10E]; - /* 0x025A */ s16 unk_25A; - /* 0x025C */ char unk_25C[0x2]; - /* 0x025E */ s16 unk_25E; - /* 0x0260 */ s16 unk_260; - /* 0x0262 */ s16 unk_262; - /* 0x0264 */ char unk_264[0xB0]; + /* 0x014C */ SkelAnime skelAnime; + /* 0x0190 */ Vec3s jointTable[16]; + /* 0x01F0 */ Vec3s morphTable[16]; + /* 0x0250 */ EnAnubiceActionFunc actionFunc; + /* 0x0254 */ s16 timeAlive; + /* 0x0256 */ s16 unk_256; + /* 0x0258 */ s16 unk_258; + /* 0x025A */ s16 deathTimer; + /* 0x025C */ s16 knockbackTimer; + /* 0x025E */ s16 isMirroringLink; + /* 0x0260 */ s16 isLinkOutOfRange; + /* 0x0262 */ s16 isKnockedback; + /* 0x0264 */ s16 hasSearchedForFlameCircles; + /* 0x0268 */ f32 hoverVelocityTimer; + /* 0x026C */ f32 animLastFrame; + /* 0x0270 */ f32 targetHeight; + /* 0x0274 */ f32 playerHeightOffset; // How high above the player to hover at + /* 0x0278 */ f32 unk_278; + /* 0x027C */ f32 focusHeightOffset; + /* 0x0280 */ Vec3f fireballPos; + /* 0x028C */ Vec3f fireballRot; + /* 0x0298 */ Vec3f home; + /* 0x02A4 */ Vec3f knockbackRecoveryVelocity; + /* 0x02B0 */ BgHidanCurtain* flameCircles[4]; + /* 0x02C0 */ char unk_2C0[0x8]; + /* 0x02C8 */ ColliderCylinder col; } EnAnubice; // size = 0x0314 extern const ActorInit En_Anubice_InitVars; diff --git a/src/overlays/actors/ovl_En_Anubice_Tag/z_en_anubice_tag.c b/src/overlays/actors/ovl_En_Anubice_Tag/z_en_anubice_tag.c index a239c166e1..2b99106909 100644 --- a/src/overlays/actors/ovl_En_Anubice_Tag/z_en_anubice_tag.c +++ b/src/overlays/actors/ovl_En_Anubice_Tag/z_en_anubice_tag.c @@ -74,15 +74,15 @@ void EnAnubiceTag_ManageAnubis(EnAnubiceTag* this, GlobalContext* globalCtx) { return; } - if (anubis->unk_25A != 0) { + if (anubis->deathTimer != 0) { Actor_Kill(&this->actor); return; } if (this->actor.xzDistToPlayer < (200.0f + this->triggerRange)) { - if (anubis->unk_260 == 0) { - if (anubis->unk_262 == 0) { - anubis->unk_25E = 1; + if (!anubis->isLinkOutOfRange) { + if (!anubis->isKnockedback) { + anubis->isMirroringLink = true; offset.x = -Math_SinS(this->actor.yawTowardsPlayer) * this->actor.xzDistToPlayer; offset.z = -Math_CosS(this->actor.yawTowardsPlayer) * this->actor.xzDistToPlayer; Math_ApproachF(&anubis->actor.world.pos.x, (this->actor.world.pos.x + offset.x), 0.3f, 10.0f); @@ -91,8 +91,8 @@ void EnAnubiceTag_ManageAnubis(EnAnubiceTag* this, GlobalContext* globalCtx) { } } } else { - if (anubis->unk_25E != 0) { - anubis->unk_260 = 1; + if (anubis->isMirroringLink) { + anubis->isLinkOutOfRange = true; } } }