From da993894d3eefd55f81a0519d3fa906c85f42851 Mon Sep 17 00:00:00 2001 From: Zelllll <56516451+Zelllll@users.noreply.github.com> Date: Sun, 31 Jan 2021 17:14:47 -0600 Subject: [PATCH] En_Daiku_Kakariko OK (Kakariko Village Carpenters) (#635) * mostly done, one function left * daiku_kakariko OK * should be ready for pr * removed unused asm * should build OK now * builds OK now * all of fig's suggestions resolved --- .../EnDaikuKakariko_Destroy.s | 12 - .../EnDaikuKakariko_Draw.s | 99 ---- .../EnDaikuKakariko_Init.s | 238 --------- .../EnDaikuKakariko_Update.s | 104 ---- .../ovl_En_Daiku_Kakariko/func_809E4320.s | 50 -- .../ovl_En_Daiku_Kakariko/func_809E474C.s | 46 -- .../ovl_En_Daiku_Kakariko/func_809E47EC.s | 123 ----- .../ovl_En_Daiku_Kakariko/func_809E49A8.s | 61 --- .../ovl_En_Daiku_Kakariko/func_809E4A7C.s | 44 -- .../ovl_En_Daiku_Kakariko/func_809E4B14.s | 50 -- .../ovl_En_Daiku_Kakariko/func_809E4BC4.s | 247 --------- .../ovl_En_Daiku_Kakariko/func_809E50B4.s | 149 ------ .../ovl_En_Daiku_Kakariko/func_809E5288.s | 58 --- .../actors/z_en_daiku_kakariko.data.s | 34 -- .../actors/z_en_daiku_kakariko.reloc.s | 13 - include/z64.h | 2 +- spec | 3 +- .../z_en_daiku_kakariko.c | 484 +++++++++++++++++- .../z_en_daiku_kakariko.h | 21 +- 19 files changed, 489 insertions(+), 1349 deletions(-) delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/EnDaikuKakariko_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/EnDaikuKakariko_Draw.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/EnDaikuKakariko_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/EnDaikuKakariko_Update.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4320.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E474C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E47EC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E49A8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4A7C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4B14.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4BC4.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E50B4.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E5288.s delete mode 100644 data/overlays/actors/z_en_daiku_kakariko.data.s delete mode 100644 data/overlays/actors/z_en_daiku_kakariko.reloc.s diff --git a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/EnDaikuKakariko_Destroy.s b/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/EnDaikuKakariko_Destroy.s deleted file mode 100644 index df61b9943d..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/EnDaikuKakariko_Destroy.s +++ /dev/null @@ -1,12 +0,0 @@ -glabel EnDaikuKakariko_Destroy -/* 00404 809E4724 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00408 809E4728 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 0040C 809E472C AFBF0014 */ sw $ra, 0x0014($sp) -/* 00410 809E4730 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00414 809E4734 0C0170EB */ jal Collider_DestroyCylinder - -/* 00418 809E4738 24C50194 */ addiu $a1, $a2, 0x0194 ## $a1 = 00000194 -/* 0041C 809E473C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00420 809E4740 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00424 809E4744 03E00008 */ jr $ra -/* 00428 809E4748 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/EnDaikuKakariko_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/EnDaikuKakariko_Draw.s deleted file mode 100644 index 8df487e431..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/EnDaikuKakariko_Draw.s +++ /dev/null @@ -1,99 +0,0 @@ -.rdata -glabel D_809E55E0 - .asciz "../z_en_daiku_kakariko.c" - .balign 4 - -glabel D_809E55FC - .asciz "../z_en_daiku_kakariko.c" - .balign 4 - -.text -glabel EnDaikuKakariko_Draw -/* 01020 809E5340 27BDFFA8 */ addiu $sp, $sp, 0xFFA8 ## $sp = FFFFFFA8 -/* 01024 809E5344 AFBF0024 */ sw $ra, 0x0024($sp) -/* 01028 809E5348 AFA40058 */ sw $a0, 0x0058($sp) -/* 0102C 809E534C AFA5005C */ sw $a1, 0x005C($sp) -/* 01030 809E5350 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000 -/* 01034 809E5354 3C06809E */ lui $a2, %hi(D_809E55E0) ## $a2 = 809E0000 -/* 01038 809E5358 24C655E0 */ addiu $a2, $a2, %lo(D_809E55E0) ## $a2 = 809E55E0 -/* 0103C 809E535C 27A40040 */ addiu $a0, $sp, 0x0040 ## $a0 = FFFFFFE8 -/* 01040 809E5360 24070464 */ addiu $a3, $zero, 0x0464 ## $a3 = 00000464 -/* 01044 809E5364 0C031AB1 */ jal Graph_OpenDisps -/* 01048 809E5368 AFA50050 */ sw $a1, 0x0050($sp) -/* 0104C 809E536C 8FAF005C */ lw $t7, 0x005C($sp) -/* 01050 809E5370 0C024F46 */ jal func_80093D18 -/* 01054 809E5374 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000 -/* 01058 809E5378 8FA90058 */ lw $t1, 0x0058($sp) -/* 0105C 809E537C 8FA80050 */ lw $t0, 0x0050($sp) -/* 01060 809E5380 3C19FB00 */ lui $t9, 0xFB00 ## $t9 = FB000000 -/* 01064 809E5384 8522001C */ lh $v0, 0x001C($t1) ## 0000001C -/* 01068 809E5388 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 0106C 809E538C 30420003 */ andi $v0, $v0, 0x0003 ## $v0 = 00000000 -/* 01070 809E5390 14400009 */ bne $v0, $zero, .L809E53B8 -/* 01074 809E5394 00000000 */ nop -/* 01078 809E5398 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 0107C 809E539C 3C0AAA0A */ lui $t2, 0xAA0A ## $t2 = AA0A0000 -/* 01080 809E53A0 354A46FF */ ori $t2, $t2, 0x46FF ## $t2 = AA0A46FF -/* 01084 809E53A4 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 01088 809E53A8 AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0 -/* 0108C 809E53AC AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004 -/* 01090 809E53B0 10000020 */ beq $zero, $zero, .L809E5434 -/* 01094 809E53B4 AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -.L809E53B8: -/* 01098 809E53B8 14410009 */ bne $v0, $at, .L809E53E0 -/* 0109C 809E53BC 3C0CFB00 */ lui $t4, 0xFB00 ## $t4 = FB000000 -/* 010A0 809E53C0 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 010A4 809E53C4 3C0DAAC8 */ lui $t5, 0xAAC8 ## $t5 = AAC80000 -/* 010A8 809E53C8 35ADFFFF */ ori $t5, $t5, 0xFFFF ## $t5 = AAC8FFFF -/* 010AC 809E53CC 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 010B0 809E53D0 AD0B02C0 */ sw $t3, 0x02C0($t0) ## 000002C0 -/* 010B4 809E53D4 AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004 -/* 010B8 809E53D8 10000016 */ beq $zero, $zero, .L809E5434 -/* 010BC 809E53DC AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000 -.L809E53E0: -/* 010C0 809E53E0 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 010C4 809E53E4 14410009 */ bne $v0, $at, .L809E540C -/* 010C8 809E53E8 3C0FFB00 */ lui $t7, 0xFB00 ## $t7 = FB000000 -/* 010CC 809E53EC 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 010D0 809E53F0 3C1800E6 */ lui $t8, 0x00E6 ## $t8 = 00E60000 -/* 010D4 809E53F4 371846FF */ ori $t8, $t8, 0x46FF ## $t8 = 00E646FF -/* 010D8 809E53F8 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 010DC 809E53FC AD0E02C0 */ sw $t6, 0x02C0($t0) ## 000002C0 -/* 010E0 809E5400 AC580004 */ sw $t8, 0x0004($v0) ## 00000004 -/* 010E4 809E5404 1000000B */ beq $zero, $zero, .L809E5434 -/* 010E8 809E5408 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -.L809E540C: -/* 010EC 809E540C 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 010F0 809E5410 14410008 */ bne $v0, $at, .L809E5434 -/* 010F4 809E5414 3C0AFB00 */ lui $t2, 0xFB00 ## $t2 = FB000000 -/* 010F8 809E5418 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 010FC 809E541C 3C0BC800 */ lui $t3, 0xC800 ## $t3 = C8000000 -/* 01100 809E5420 356B96FF */ ori $t3, $t3, 0x96FF ## $t3 = C80096FF -/* 01104 809E5424 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 01108 809E5428 AD1902C0 */ sw $t9, 0x02C0($t0) ## 000002C0 -/* 0110C 809E542C AC4B0004 */ sw $t3, 0x0004($v0) ## 00000004 -/* 01110 809E5430 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000 -.L809E5434: -/* 01114 809E5434 8D250150 */ lw $a1, 0x0150($t1) ## 00000150 -/* 01118 809E5438 8D26016C */ lw $a2, 0x016C($t1) ## 0000016C -/* 0111C 809E543C 9127014E */ lbu $a3, 0x014E($t1) ## 0000014E -/* 01120 809E5440 3C0C809E */ lui $t4, %hi(func_809E50B4) ## $t4 = 809E0000 -/* 01124 809E5444 3C0D809E */ lui $t5, %hi(func_809E5288) ## $t5 = 809E0000 -/* 01128 809E5448 25AD5288 */ addiu $t5, $t5, %lo(func_809E5288) ## $t5 = 809E5288 -/* 0112C 809E544C 258C50B4 */ addiu $t4, $t4, %lo(func_809E50B4) ## $t4 = 809E50B4 -/* 01130 809E5450 AFAC0010 */ sw $t4, 0x0010($sp) -/* 01134 809E5454 AFAD0014 */ sw $t5, 0x0014($sp) -/* 01138 809E5458 AFA90018 */ sw $t1, 0x0018($sp) -/* 0113C 809E545C 0C0286B2 */ jal SkelAnime_DrawFlexOpa -/* 01140 809E5460 8FA4005C */ lw $a0, 0x005C($sp) -/* 01144 809E5464 8FAE005C */ lw $t6, 0x005C($sp) -/* 01148 809E5468 3C06809E */ lui $a2, %hi(D_809E55FC) ## $a2 = 809E0000 -/* 0114C 809E546C 24C655FC */ addiu $a2, $a2, %lo(D_809E55FC) ## $a2 = 809E55FC -/* 01150 809E5470 27A40040 */ addiu $a0, $sp, 0x0040 ## $a0 = FFFFFFE8 -/* 01154 809E5474 2407047F */ addiu $a3, $zero, 0x047F ## $a3 = 0000047F -/* 01158 809E5478 0C031AD5 */ jal Graph_CloseDisps -/* 0115C 809E547C 8DC50000 */ lw $a1, 0x0000($t6) ## 00000000 -/* 01160 809E5480 8FBF0024 */ lw $ra, 0x0024($sp) -/* 01164 809E5484 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000 -/* 01168 809E5488 03E00008 */ jr $ra -/* 0116C 809E548C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/EnDaikuKakariko_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/EnDaikuKakariko_Init.s deleted file mode 100644 index ac0f2634ce..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/EnDaikuKakariko_Init.s +++ /dev/null @@ -1,238 +0,0 @@ -glabel EnDaikuKakariko_Init -/* 000B0 809E43D0 3C038016 */ lui $v1, %hi(gSaveContext) -/* 000B4 809E43D4 2463E660 */ addiu $v1, %lo(gSaveContext) -/* 000B8 809E43D8 8C6E0004 */ lw $t6, 0x0004($v1) ## 8015E664 -/* 000BC 809E43DC 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8 -/* 000C0 809E43E0 AFB00028 */ sw $s0, 0x0028($sp) -/* 000C4 809E43E4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 000C8 809E43E8 AFBF002C */ sw $ra, 0x002C($sp) -/* 000CC 809E43EC 11C00003 */ beq $t6, $zero, .L809E43FC -/* 000D0 809E43F0 AFA5004C */ sw $a1, 0x004C($sp) -/* 000D4 809E43F4 10000002 */ beq $zero, $zero, .L809E4400 -/* 000D8 809E43F8 24020005 */ addiu $v0, $zero, 0x0005 ## $v0 = 00000005 -.L809E43FC: -/* 000DC 809E43FC 24020011 */ addiu $v0, $zero, 0x0011 ## $v0 = 00000011 -.L809E4400: -/* 000E0 809E4400 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005 -/* 000E4 809E4404 54410025 */ bnel $v0, $at, .L809E449C -/* 000E8 809E4408 960B0200 */ lhu $t3, 0x0200($s0) ## 00000200 -/* 000EC 809E440C 8FAF004C */ lw $t7, 0x004C($sp) -/* 000F0 809E4410 2401002A */ addiu $at, $zero, 0x002A ## $at = 0000002A -/* 000F4 809E4414 85E200A4 */ lh $v0, 0x00A4($t7) ## 000000A4 -/* 000F8 809E4418 10410014 */ beq $v0, $at, .L809E446C -/* 000FC 809E441C 24010030 */ addiu $at, $zero, 0x0030 ## $at = 00000030 -/* 00100 809E4420 1041001A */ beq $v0, $at, .L809E448C -/* 00104 809E4424 24010052 */ addiu $at, $zero, 0x0052 ## $at = 00000052 -/* 00108 809E4428 5441001C */ bnel $v0, $at, .L809E449C -/* 0010C 809E442C 960B0200 */ lhu $t3, 0x0200($s0) ## 00000200 -/* 00110 809E4430 8C780010 */ lw $t8, 0x0010($v1) ## 8015E670 -/* 00114 809E4434 57000019 */ bnel $t8, $zero, .L809E449C -/* 00118 809E4438 960B0200 */ lhu $t3, 0x0200($s0) ## 00000200 -/* 0011C 809E443C 860A001C */ lh $t2, 0x001C($s0) ## 0000001C -/* 00120 809E4440 96190200 */ lhu $t9, 0x0200($s0) ## 00000200 -/* 00124 809E4444 3C0D809E */ lui $t5, %hi(D_809E5568) ## $t5 = 809E0000 -/* 00128 809E4448 314B0003 */ andi $t3, $t2, 0x0003 ## $t3 = 00000000 -/* 0012C 809E444C 000B6040 */ sll $t4, $t3, 1 -/* 00130 809E4450 37290001 */ ori $t1, $t9, 0x0001 ## $t1 = 00000001 -/* 00134 809E4454 A6090200 */ sh $t1, 0x0200($s0) ## 00000200 -/* 00138 809E4458 01AC6821 */ addu $t5, $t5, $t4 -/* 0013C 809E445C 95AD5568 */ lhu $t5, %lo(D_809E5568)($t5) -/* 00140 809E4460 012D7025 */ or $t6, $t1, $t5 ## $t6 = 809E0001 -/* 00144 809E4464 1000000C */ beq $zero, $zero, .L809E4498 -/* 00148 809E4468 A60E0200 */ sh $t6, 0x0200($s0) ## 00000200 -.L809E446C: -/* 0014C 809E446C 8C6F0010 */ lw $t7, 0x0010($v1) ## 8015E670 -/* 00150 809E4470 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00154 809E4474 55E10009 */ bnel $t7, $at, .L809E449C -/* 00158 809E4478 960B0200 */ lhu $t3, 0x0200($s0) ## 00000200 -/* 0015C 809E447C 96180200 */ lhu $t8, 0x0200($s0) ## 00000200 -/* 00160 809E4480 37190002 */ ori $t9, $t8, 0x0002 ## $t9 = 00000002 -/* 00164 809E4484 10000004 */ beq $zero, $zero, .L809E4498 -/* 00168 809E4488 A6190200 */ sh $t9, 0x0200($s0) ## 00000200 -.L809E448C: -/* 0016C 809E448C 96080200 */ lhu $t0, 0x0200($s0) ## 00000200 -/* 00170 809E4490 350A0004 */ ori $t2, $t0, 0x0004 ## $t2 = 00000004 -/* 00174 809E4494 A60A0200 */ sh $t2, 0x0200($s0) ## 00000200 -.L809E4498: -/* 00178 809E4498 960B0200 */ lhu $t3, 0x0200($s0) ## 00000200 -.L809E449C: -/* 0017C 809E449C 316C0007 */ andi $t4, $t3, 0x0007 ## $t4 = 00000000 -/* 00180 809E44A0 55800006 */ bnel $t4, $zero, .L809E44BC -/* 00184 809E44A4 8C690010 */ lw $t1, 0x0010($v1) ## 8015E670 -/* 00188 809E44A8 0C00B55C */ jal Actor_Kill - -/* 0018C 809E44AC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00190 809E44B0 3C038016 */ lui $v1, %hi(gSaveContext) -/* 00194 809E44B4 2463E660 */ addiu $v1, %lo(gSaveContext) -/* 00198 809E44B8 8C690010 */ lw $t1, 0x0010($v1) ## 8015E670 -.L809E44BC: -/* 0019C 809E44BC 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 001A0 809E44C0 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4 -/* 001A4 809E44C4 15210004 */ bne $t1, $at, .L809E44D8 -/* 001A8 809E44C8 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000 -/* 001AC 809E44CC 960D0200 */ lhu $t5, 0x0200($s0) ## 00000200 -/* 001B0 809E44D0 35AE0008 */ ori $t6, $t5, 0x0008 ## $t6 = 00000008 -/* 001B4 809E44D4 A60E0200 */ sh $t6, 0x0200($s0) ## 00000200 -.L809E44D8: -/* 001B8 809E44D8 3C068003 */ lui $a2, %hi(ActorShadow_DrawCircle) -/* 001BC 809E44DC 24C6B5EC */ addiu $a2, %lo(ActorShadow_DrawCircle) -/* 001C0 809E44E0 0C00AC78 */ jal ActorShape_Init - -/* 001C4 809E44E4 3C074220 */ lui $a3, 0x4220 ## $a3 = 42200000 -/* 001C8 809E44E8 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C -/* 001CC 809E44EC 3C060600 */ lui $a2, %hi(D_06007958) ## $a2 = 06000000 -/* 001D0 809E44F0 260F022C */ addiu $t7, $s0, 0x022C ## $t7 = 0000022C -/* 001D4 809E44F4 26180292 */ addiu $t8, $s0, 0x0292 ## $t8 = 00000292 -/* 001D8 809E44F8 24190011 */ addiu $t9, $zero, 0x0011 ## $t9 = 00000011 -/* 001DC 809E44FC AFB90018 */ sw $t9, 0x0018($sp) -/* 001E0 809E4500 AFB80014 */ sw $t8, 0x0014($sp) -/* 001E4 809E4504 AFAF0010 */ sw $t7, 0x0010($sp) -/* 001E8 809E4508 24C67958 */ addiu $a2, $a2, %lo(D_06007958) ## $a2 = 06007958 -/* 001EC 809E450C AFA50034 */ sw $a1, 0x0034($sp) -/* 001F0 809E4510 8FA4004C */ lw $a0, 0x004C($sp) -/* 001F4 809E4514 0C0291BE */ jal SkelAnime_InitFlex -/* 001F8 809E4518 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 001FC 809E451C 26050194 */ addiu $a1, $s0, 0x0194 ## $a1 = 00000194 -/* 00200 809E4520 AFA50030 */ sw $a1, 0x0030($sp) -/* 00204 809E4524 0C0170D9 */ jal Collider_InitCylinder - -/* 00208 809E4528 8FA4004C */ lw $a0, 0x004C($sp) -/* 0020C 809E452C 3C07809E */ lui $a3, %hi(D_809E54B0) ## $a3 = 809E0000 -/* 00210 809E4530 8FA50030 */ lw $a1, 0x0030($sp) -/* 00214 809E4534 24E754B0 */ addiu $a3, $a3, %lo(D_809E54B0) ## $a3 = 809E54B0 -/* 00218 809E4538 8FA4004C */ lw $a0, 0x004C($sp) -/* 0021C 809E453C 0C01712B */ jal Collider_SetCylinder - -/* 00220 809E4540 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 00224 809E4544 3C05809E */ lui $a1, %hi(D_809E54E8) ## $a1 = 809E0000 -/* 00228 809E4548 3C06809E */ lui $a2, %hi(D_809E54DC) ## $a2 = 809E0000 -/* 0022C 809E454C 24C654DC */ addiu $a2, $a2, %lo(D_809E54DC) ## $a2 = 809E54DC -/* 00230 809E4550 24A554E8 */ addiu $a1, $a1, %lo(D_809E54E8) ## $a1 = 809E54E8 -/* 00234 809E4554 0C0187BF */ jal CollisionCheck_SetInfo2 -/* 00238 809E4558 26040098 */ addiu $a0, $s0, 0x0098 ## $a0 = 00000098 -/* 0023C 809E455C 3C03809E */ lui $v1, %hi(D_809E5508) ## $v1 = 809E0000 -/* 00240 809E4560 24635508 */ addiu $v1, $v1, %lo(D_809E5508) ## $v1 = 809E5508 -/* 00244 809E4564 0C028800 */ jal Animation_GetLastFrame - -/* 00248 809E4568 8C640000 */ lw $a0, 0x0000($v1) ## 809E5508 -/* 0024C 809E456C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00 -/* 00250 809E4570 3C03809E */ lui $v1, %hi(D_809E5508) ## $v1 = 809E0000 -/* 00254 809E4574 24635508 */ addiu $v1, $v1, %lo(D_809E5508) ## $v1 = 809E5508 -/* 00258 809E4578 468021A0 */ cvt.s.w $f6, $f4 -/* 0025C 809E457C 90680008 */ lbu $t0, 0x0008($v1) ## 809E5510 -/* 00260 809E4580 C468000C */ lwc1 $f8, 0x000C($v1) ## 809E5514 -/* 00264 809E4584 8C650000 */ lw $a1, 0x0000($v1) ## 809E5508 -/* 00268 809E4588 8FA40034 */ lw $a0, 0x0034($sp) -/* 0026C 809E458C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 00270 809E4590 E7A60010 */ swc1 $f6, 0x0010($sp) -/* 00274 809E4594 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000 -/* 00278 809E4598 AFA80014 */ sw $t0, 0x0014($sp) -/* 0027C 809E459C 0C029468 */ jal Animation_Change - -/* 00280 809E45A0 E7A80018 */ swc1 $f8, 0x0018($sp) -/* 00284 809E45A4 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 00288 809E45A8 240A0004 */ addiu $t2, $zero, 0x0004 ## $t2 = 00000004 -/* 0028C 809E45AC AFAA0014 */ sw $t2, 0x0014($sp) -/* 00290 809E45B0 44060000 */ mfc1 $a2, $f0 -/* 00294 809E45B4 44070000 */ mfc1 $a3, $f0 -/* 00298 809E45B8 8FA4004C */ lw $a0, 0x004C($sp) -/* 0029C 809E45BC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 002A0 809E45C0 0C00B92D */ jal Actor_UpdateBgCheckInfo -/* 002A4 809E45C4 E7A00010 */ swc1 $f0, 0x0010($sp) -/* 002A8 809E45C8 3C014040 */ lui $at, 0x4040 ## $at = 40400000 -/* 002AC 809E45CC 44818000 */ mtc1 $at, $f16 ## $f16 = 3.00 -/* 002B0 809E45D0 96020200 */ lhu $v0, 0x0200($s0) ## 00000200 -/* 002B4 809E45D4 3C014496 */ lui $at, 0x4496 ## $at = 44960000 -/* 002B8 809E45D8 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00 -/* 002BC 809E45DC 44819000 */ mtc1 $at, $f18 ## $f18 = 1200.00 -/* 002C0 809E45E0 240B0006 */ addiu $t3, $zero, 0x0006 ## $t3 = 00000006 -/* 002C4 809E45E4 240CFFFF */ addiu $t4, $zero, 0xFFFF ## $t4 = FFFFFFFF -/* 002C8 809E45E8 30490040 */ andi $t1, $v0, 0x0040 ## $t1 = 00000000 -/* 002CC 809E45EC A20B001F */ sb $t3, 0x001F($s0) ## 0000001F -/* 002D0 809E45F0 AE0C01EC */ sw $t4, 0x01EC($s0) ## 000001EC -/* 002D4 809E45F4 E61001E8 */ swc1 $f16, 0x01E8($s0) ## 000001E8 -/* 002D8 809E45F8 E60A006C */ swc1 $f10, 0x006C($s0) ## 0000006C -/* 002DC 809E45FC 11200005 */ beq $t1, $zero, .L809E4614 -/* 002E0 809E4600 E61200F4 */ swc1 $f18, 0x00F4($s0) ## 000000F4 -/* 002E4 809E4604 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000 -/* 002E8 809E4608 44812000 */ mtc1 $at, $f4 ## $f4 = -1.00 -/* 002EC 809E460C 96020200 */ lhu $v0, 0x0200($s0) ## 00000200 -/* 002F0 809E4610 E604006C */ swc1 $f4, 0x006C($s0) ## 0000006C -.L809E4614: -/* 002F4 809E4614 304D0010 */ andi $t5, $v0, 0x0010 ## $t5 = 00000000 -/* 002F8 809E4618 11A00009 */ beq $t5, $zero, .L809E4640 -/* 002FC 809E461C 304F0008 */ andi $t7, $v0, 0x0008 ## $t7 = 00000000 -/* 00300 809E4620 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00304 809E4624 24050003 */ addiu $a1, $zero, 0x0003 ## $a1 = 00000003 -/* 00308 809E4628 0C2790C8 */ jal func_809E4320 -/* 0030C 809E462C 260601EC */ addiu $a2, $s0, 0x01EC ## $a2 = 000001EC -/* 00310 809E4630 3C0E809E */ lui $t6, %hi(func_809E4BC4) ## $t6 = 809E0000 -/* 00314 809E4634 25CE4BC4 */ addiu $t6, $t6, %lo(func_809E4BC4) ## $t6 = 809E4BC4 -/* 00318 809E4638 10000035 */ beq $zero, $zero, .L809E4710 -/* 0031C 809E463C AE0E0190 */ sw $t6, 0x0190($s0) ## 00000190 -.L809E4640: -/* 00320 809E4640 11E0001F */ beq $t7, $zero, .L809E46C0 -/* 00324 809E4644 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00328 809E4648 8602001C */ lh $v0, 0x001C($s0) ## 0000001C -/* 0032C 809E464C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00330 809E4650 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00334 809E4654 30420003 */ andi $v0, $v0, 0x0003 ## $v0 = 00000000 -/* 00338 809E4658 10410004 */ beq $v0, $at, .L809E466C -/* 0033C 809E465C 24050005 */ addiu $a1, $zero, 0x0005 ## $a1 = 00000005 -/* 00340 809E4660 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 00344 809E4664 14410007 */ bne $v0, $at, .L809E4684 -/* 00348 809E4668 260601EC */ addiu $a2, $s0, 0x01EC ## $a2 = 000001EC -.L809E466C: -/* 0034C 809E466C 0C2790C8 */ jal func_809E4320 -/* 00350 809E4670 260601EC */ addiu $a2, $s0, 0x01EC ## $a2 = 000001EC -/* 00354 809E4674 96180200 */ lhu $t8, 0x0200($s0) ## 00000200 -/* 00358 809E4678 37190800 */ ori $t9, $t8, 0x0800 ## $t9 = 00000800 -/* 0035C 809E467C 10000004 */ beq $zero, $zero, .L809E4690 -/* 00360 809E4680 A6190200 */ sh $t9, 0x0200($s0) ## 00000200 -.L809E4684: -/* 00364 809E4684 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00368 809E4688 0C2790C8 */ jal func_809E4320 -/* 0036C 809E468C 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -.L809E4690: -/* 00370 809E4690 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 00374 809E4694 00000000 */ nop -/* 00378 809E4698 C606015C */ lwc1 $f6, 0x015C($s0) ## 0000015C -/* 0037C 809E469C 46060202 */ mul.s $f8, $f0, $f6 -/* 00380 809E46A0 4600428D */ trunc.w.s $f10, $f8 -/* 00384 809E46A4 440A5000 */ mfc1 $t2, $f10 -/* 00388 809E46A8 00000000 */ nop -/* 0038C 809E46AC 448A8000 */ mtc1 $t2, $f16 ## $f16 = 0.00 -/* 00390 809E46B0 00000000 */ nop -/* 00394 809E46B4 468084A0 */ cvt.s.w $f18, $f16 -/* 00398 809E46B8 1000000F */ beq $zero, $zero, .L809E46F8 -/* 0039C 809E46BC E6120164 */ swc1 $f18, 0x0164($s0) ## 00000164 -.L809E46C0: -/* 003A0 809E46C0 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 003A4 809E46C4 0C2790C8 */ jal func_809E4320 -/* 003A8 809E46C8 260601EC */ addiu $a2, $s0, 0x01EC ## $a2 = 000001EC -/* 003AC 809E46CC 0C03F66B */ jal Rand_ZeroOne - ## Rand.Next() float -/* 003B0 809E46D0 00000000 */ nop -/* 003B4 809E46D4 C604015C */ lwc1 $f4, 0x015C($s0) ## 0000015C -/* 003B8 809E46D8 46040182 */ mul.s $f6, $f0, $f4 -/* 003BC 809E46DC 4600320D */ trunc.w.s $f8, $f6 -/* 003C0 809E46E0 440C4000 */ mfc1 $t4, $f8 -/* 003C4 809E46E4 00000000 */ nop -/* 003C8 809E46E8 448C5000 */ mtc1 $t4, $f10 ## $f10 = 0.00 -/* 003CC 809E46EC 00000000 */ nop -/* 003D0 809E46F0 46805420 */ cvt.s.w $f16, $f10 -/* 003D4 809E46F4 E6100164 */ swc1 $f16, 0x0164($s0) ## 00000164 -.L809E46F8: -/* 003D8 809E46F8 96090200 */ lhu $t1, 0x0200($s0) ## 00000200 -/* 003DC 809E46FC 3C0E809E */ lui $t6, %hi(func_809E4A7C) ## $t6 = 809E0000 -/* 003E0 809E4700 25CE4A7C */ addiu $t6, $t6, %lo(func_809E4A7C) ## $t6 = 809E4A7C -/* 003E4 809E4704 352D0100 */ ori $t5, $t1, 0x0100 ## $t5 = 00000100 -/* 003E8 809E4708 A60D0200 */ sh $t5, 0x0200($s0) ## 00000200 -/* 003EC 809E470C AE0E0190 */ sw $t6, 0x0190($s0) ## 00000190 -.L809E4710: -/* 003F0 809E4710 8FBF002C */ lw $ra, 0x002C($sp) -/* 003F4 809E4714 8FB00028 */ lw $s0, 0x0028($sp) -/* 003F8 809E4718 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000 -/* 003FC 809E471C 03E00008 */ jr $ra -/* 00400 809E4720 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/EnDaikuKakariko_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/EnDaikuKakariko_Update.s deleted file mode 100644 index 52444c1cfd..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/EnDaikuKakariko_Update.s +++ /dev/null @@ -1,104 +0,0 @@ -glabel EnDaikuKakariko_Update -/* 00C20 809E4F40 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0 -/* 00C24 809E4F44 AFBF0024 */ sw $ra, 0x0024($sp) -/* 00C28 809E4F48 AFB00020 */ sw $s0, 0x0020($sp) -/* 00C2C 809E4F4C AFA50044 */ sw $a1, 0x0044($sp) -/* 00C30 809E4F50 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44 -/* 00C34 809E4F54 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 00C38 809E4F58 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00C3C 809E4F5C AFAF0034 */ sw $t7, 0x0034($sp) -/* 00C40 809E4F60 8C9801EC */ lw $t8, 0x01EC($a0) ## 000001EC -/* 00C44 809E4F64 5701000E */ bnel $t8, $at, .L809E4FA0 -/* 00C48 809E4F68 26060194 */ addiu $a2, $s0, 0x0194 ## $a2 = 00000194 -/* 00C4C 809E4F6C C4840164 */ lwc1 $f4, 0x0164($a0) ## 00000164 -/* 00C50 809E4F70 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006 -/* 00C54 809E4F74 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00C58 809E4F78 4600218D */ trunc.w.s $f6, $f4 -/* 00C5C 809E4F7C 44023000 */ mfc1 $v0, $f6 -/* 00C60 809E4F80 00000000 */ nop -/* 00C64 809E4F84 10410003 */ beq $v0, $at, .L809E4F94 -/* 00C68 809E4F88 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F -/* 00C6C 809E4F8C 54410004 */ bnel $v0, $at, .L809E4FA0 -/* 00C70 809E4F90 26060194 */ addiu $a2, $s0, 0x0194 ## $a2 = 00000194 -.L809E4F94: -/* 00C74 809E4F94 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 00C78 809E4F98 240538B8 */ addiu $a1, $zero, 0x38B8 ## $a1 = 000038B8 -/* 00C7C 809E4F9C 26060194 */ addiu $a2, $s0, 0x0194 ## $a2 = 00000194 -.L809E4FA0: -/* 00C80 809E4FA0 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000194 -/* 00C84 809E4FA4 AFA6002C */ sw $a2, 0x002C($sp) -/* 00C88 809E4FA8 0C0189B7 */ jal Collider_UpdateCylinder - -/* 00C8C 809E4FAC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00C90 809E4FB0 96080200 */ lhu $t0, 0x0200($s0) ## 00000200 -/* 00C94 809E4FB4 8FA6002C */ lw $a2, 0x002C($sp) -/* 00C98 809E4FB8 240E003F */ addiu $t6, $zero, 0x003F ## $t6 = 0000003F -/* 00C9C 809E4FBC 31090004 */ andi $t1, $t0, 0x0004 ## $t1 = 00000000 -/* 00CA0 809E4FC0 11200008 */ beq $t1, $zero, .L809E4FE4 -/* 00CA4 809E4FC4 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00CA8 809E4FC8 860A01DA */ lh $t2, 0x01DA($s0) ## 000001DA -/* 00CAC 809E4FCC 860C01DE */ lh $t4, 0x01DE($s0) ## 000001DE -/* 00CB0 809E4FD0 A60E01D4 */ sh $t6, 0x01D4($s0) ## 000001D4 -/* 00CB4 809E4FD4 254BFFE5 */ addiu $t3, $t2, 0xFFE5 ## $t3 = FFFFFFE5 -/* 00CB8 809E4FD8 258DFFE5 */ addiu $t5, $t4, 0xFFE5 ## $t5 = FFFFFFE5 -/* 00CBC 809E4FDC A60B01DA */ sh $t3, 0x01DA($s0) ## 000001DA -/* 00CC0 809E4FE0 A60D01DE */ sh $t5, 0x01DE($s0) ## 000001DE -.L809E4FE4: -/* 00CC4 809E4FE4 8FA40044 */ lw $a0, 0x0044($sp) -/* 00CC8 809E4FE8 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 00CCC 809E4FEC 0C017713 */ jal CollisionCheck_SetOC - ## CollisionCheck_setOC -/* 00CD0 809E4FF0 00812821 */ addu $a1, $a0, $at -/* 00CD4 809E4FF4 8E190190 */ lw $t9, 0x0190($s0) ## 00000190 -/* 00CD8 809E4FF8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00CDC 809E4FFC 8FA50044 */ lw $a1, 0x0044($sp) -/* 00CE0 809E5000 0320F809 */ jalr $ra, $t9 -/* 00CE4 809E5004 00000000 */ nop -/* 00CE8 809E5008 8FA30034 */ lw $v1, 0x0034($sp) -/* 00CEC 809E500C 96020200 */ lhu $v0, 0x0200($s0) ## 00000200 -/* 00CF0 809E5010 2418170C */ addiu $t8, $zero, 0x170C ## $t8 = 0000170C -/* 00CF4 809E5014 C4680038 */ lwc1 $f8, 0x0038($v1) ## 00000038 -/* 00CF8 809E5018 304F0100 */ andi $t7, $v0, 0x0100 ## $t7 = 00000000 -/* 00CFC 809E501C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00D00 809E5020 E608021C */ swc1 $f8, 0x021C($s0) ## 0000021C -/* 00D04 809E5024 C46A003C */ lwc1 $f10, 0x003C($v1) ## 0000003C -/* 00D08 809E5028 26050204 */ addiu $a1, $s0, 0x0204 ## $a1 = 00000204 -/* 00D0C 809E502C 34481000 */ ori $t0, $v0, 0x1000 ## $t0 = 00001000 -/* 00D10 809E5030 E60A0220 */ swc1 $f10, 0x0220($s0) ## 00000220 -/* 00D14 809E5034 C4700040 */ lwc1 $f16, 0x0040($v1) ## 00000040 -/* 00D18 809E5038 30490200 */ andi $t1, $v0, 0x0200 ## $t1 = 00000000 -/* 00D1C 809E503C 11E00008 */ beq $t7, $zero, .L809E5060 -/* 00D20 809E5040 E6100224 */ swc1 $f16, 0x0224($s0) ## 00000224 -/* 00D24 809E5044 A6180302 */ sh $t8, 0x0302($s0) ## 00000302 -/* 00D28 809E5048 A6080200 */ sh $t0, 0x0200($s0) ## 00000200 -/* 00D2C 809E504C 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 00D30 809E5050 0C00D285 */ jal func_80034A14 -/* 00D34 809E5054 24070002 */ addiu $a3, $zero, 0x0002 ## $a3 = 00000002 -/* 00D38 809E5058 1000000C */ beq $zero, $zero, .L809E508C -/* 00D3C 809E505C 86050302 */ lh $a1, 0x0302($s0) ## 00000302 -.L809E5060: -/* 00D40 809E5060 11200009 */ beq $t1, $zero, .L809E5088 -/* 00D44 809E5064 240A170C */ addiu $t2, $zero, 0x170C ## $t2 = 0000170C -/* 00D48 809E5068 344B1000 */ ori $t3, $v0, 0x1000 ## $t3 = 00001000 -/* 00D4C 809E506C A60A0302 */ sh $t2, 0x0302($s0) ## 00000302 -/* 00D50 809E5070 A60B0200 */ sh $t3, 0x0200($s0) ## 00000200 -/* 00D54 809E5074 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00D58 809E5078 26050204 */ addiu $a1, $s0, 0x0204 ## $a1 = 00000204 -/* 00D5C 809E507C 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 00D60 809E5080 0C00D285 */ jal func_80034A14 -/* 00D64 809E5084 24070004 */ addiu $a3, $zero, 0x0004 ## $a3 = 00000004 -.L809E5088: -/* 00D68 809E5088 86050302 */ lh $a1, 0x0302($s0) ## 00000302 -.L809E508C: -/* 00D6C 809E508C AFA00010 */ sw $zero, 0x0010($sp) -/* 00D70 809E5090 260402FC */ addiu $a0, $s0, 0x02FC ## $a0 = 000002FC -/* 00D74 809E5094 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001 -/* 00D78 809E5098 0C01E1A7 */ jal Math_SmoothStepToS - -/* 00D7C 809E509C 2407071C */ addiu $a3, $zero, 0x071C ## $a3 = 0000071C -/* 00D80 809E50A0 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00D84 809E50A4 8FB00020 */ lw $s0, 0x0020($sp) -/* 00D88 809E50A8 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000 -/* 00D8C 809E50AC 03E00008 */ jr $ra -/* 00D90 809E50B0 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4320.s b/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4320.s deleted file mode 100644 index 4862aef21f..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4320.s +++ /dev/null @@ -1,50 +0,0 @@ -glabel func_809E4320 -/* 00000 809E4320 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 00004 809E4324 AFBF0024 */ sw $ra, 0x0024($sp) -/* 00008 809E4328 AFA40038 */ sw $a0, 0x0038($sp) -/* 0000C 809E432C AFA60040 */ sw $a2, 0x0040($sp) -/* 00010 809E4330 8CC20000 */ lw $v0, 0x0000($a2) ## 00000000 -/* 00014 809E4334 3C18809E */ lui $t8, %hi(D_809E5508) ## $t8 = 809E0000 -/* 00018 809E4338 27185508 */ addiu $t8, $t8, %lo(D_809E5508) ## $t8 = 809E5508 -/* 0001C 809E433C 04400003 */ bltz $v0, .L809E434C -/* 00020 809E4340 00057900 */ sll $t7, $a1, 4 -/* 00024 809E4344 14A20004 */ bne $a1, $v0, .L809E4358 -/* 00028 809E4348 0005C900 */ sll $t9, $a1, 4 -.L809E434C: -/* 0002C 809E434C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 00030 809E4350 10000005 */ beq $zero, $zero, .L809E4368 -/* 00034 809E4354 01F81821 */ addu $v1, $t7, $t8 -.L809E4358: -/* 00038 809E4358 3C08809E */ lui $t0, %hi(D_809E5508) ## $t0 = 809E0000 -/* 0003C 809E435C 25085508 */ addiu $t0, $t0, %lo(D_809E5508) ## $t0 = 809E5508 -/* 00040 809E4360 03281821 */ addu $v1, $t9, $t0 -/* 00044 809E4364 C460000C */ lwc1 $f0, 0x000C($v1) ## 0000000C -.L809E4368: -/* 00048 809E4368 8C640000 */ lw $a0, 0x0000($v1) ## 00000000 -/* 0004C 809E436C AFA3002C */ sw $v1, 0x002C($sp) -/* 00050 809E4370 AFA5003C */ sw $a1, 0x003C($sp) -/* 00054 809E4374 0C028800 */ jal Animation_GetLastFrame - -/* 00058 809E4378 E7A00034 */ swc1 $f0, 0x0034($sp) -/* 0005C 809E437C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00 -/* 00060 809E4380 8FA3002C */ lw $v1, 0x002C($sp) -/* 00064 809E4384 C7A00034 */ lwc1 $f0, 0x0034($sp) -/* 00068 809E4388 468021A0 */ cvt.s.w $f6, $f4 -/* 0006C 809E438C 8FA40038 */ lw $a0, 0x0038($sp) -/* 00070 809E4390 90690008 */ lbu $t1, 0x0008($v1) ## 00000008 -/* 00074 809E4394 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000 -/* 00078 809E4398 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000 -/* 0007C 809E439C 8C650000 */ lw $a1, 0x0000($v1) ## 00000000 -/* 00080 809E43A0 E7A60010 */ swc1 $f6, 0x0010($sp) -/* 00084 809E43A4 E7A00018 */ swc1 $f0, 0x0018($sp) -/* 00088 809E43A8 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C -/* 0008C 809E43AC 0C029468 */ jal Animation_Change - -/* 00090 809E43B0 AFA90014 */ sw $t1, 0x0014($sp) -/* 00094 809E43B4 8FAA003C */ lw $t2, 0x003C($sp) -/* 00098 809E43B8 8FAB0040 */ lw $t3, 0x0040($sp) -/* 0009C 809E43BC AD6A0000 */ sw $t2, 0x0000($t3) ## 00000000 -/* 000A0 809E43C0 8FBF0024 */ lw $ra, 0x0024($sp) -/* 000A4 809E43C4 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 000A8 809E43C8 03E00008 */ jr $ra -/* 000AC 809E43CC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E474C.s b/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E474C.s deleted file mode 100644 index 43ce12f33d..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E474C.s +++ /dev/null @@ -1,46 +0,0 @@ -glabel func_809E474C -/* 0042C 809E474C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 00430 809E4750 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00434 809E4754 AFA40020 */ sw $a0, 0x0020($sp) -/* 00438 809E4758 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002 -/* 0043C 809E475C AFA50024 */ sw $a1, 0x0024($sp) -/* 00440 809E4760 AFAE001C */ sw $t6, 0x001C($sp) -/* 00444 809E4764 0C042F6F */ jal func_8010BDBC -/* 00448 809E4768 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8 -/* 0044C 809E476C 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006 -/* 00450 809E4770 5441001A */ bnel $v0, $at, .L809E47DC -/* 00454 809E4774 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00458 809E4778 0C041AF2 */ jal func_80106BC8 -/* 0045C 809E477C 8FA40024 */ lw $a0, 0x0024($sp) -/* 00460 809E4780 10400015 */ beq $v0, $zero, .L809E47D8 -/* 00464 809E4784 8FAF0020 */ lw $t7, 0x0020($sp) -/* 00468 809E4788 95E2010E */ lhu $v0, 0x010E($t7) ## 0000010E -/* 0046C 809E478C 24016061 */ addiu $at, $zero, 0x6061 ## $at = 00006061 -/* 00470 809E4790 10410005 */ beq $v0, $at, .L809E47A8 -/* 00474 809E4794 24016064 */ addiu $at, $zero, 0x6064 ## $at = 00006064 -/* 00478 809E4798 10410009 */ beq $v0, $at, .L809E47C0 -/* 0047C 809E479C 00000000 */ nop -/* 00480 809E47A0 1000000D */ beq $zero, $zero, .L809E47D8 -/* 00484 809E47A4 AFA0001C */ sw $zero, 0x001C($sp) -.L809E47A8: -/* 00488 809E47A8 3C028016 */ lui $v0, %hi(gSaveContext) -/* 0048C 809E47AC 2442E660 */ addiu $v0, %lo(gSaveContext) -/* 00490 809E47B0 94580F26 */ lhu $t8, 0x0F26($v0) ## 8015F586 -/* 00494 809E47B4 37190040 */ ori $t9, $t8, 0x0040 ## $t9 = 00000040 -/* 00498 809E47B8 10000006 */ beq $zero, $zero, .L809E47D4 -/* 0049C 809E47BC A4590F26 */ sh $t9, 0x0F26($v0) ## 8015F586 -.L809E47C0: -/* 004A0 809E47C0 3C028016 */ lui $v0, %hi(gSaveContext) -/* 004A4 809E47C4 2442E660 */ addiu $v0, %lo(gSaveContext) -/* 004A8 809E47C8 94480F26 */ lhu $t0, 0x0F26($v0) ## 8015F586 -/* 004AC 809E47CC 35090100 */ ori $t1, $t0, 0x0100 ## $t1 = 00000100 -/* 004B0 809E47D0 A4490F26 */ sh $t1, 0x0F26($v0) ## 8015F586 -.L809E47D4: -/* 004B4 809E47D4 AFA0001C */ sw $zero, 0x001C($sp) -.L809E47D8: -/* 004B8 809E47D8 8FBF0014 */ lw $ra, 0x0014($sp) -.L809E47DC: -/* 004BC 809E47DC 8FA2001C */ lw $v0, 0x001C($sp) -/* 004C0 809E47E0 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 004C4 809E47E4 03E00008 */ jr $ra -/* 004C8 809E47E8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E47EC.s b/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E47EC.s deleted file mode 100644 index 1fd044c14d..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E47EC.s +++ /dev/null @@ -1,123 +0,0 @@ -glabel func_809E47EC -/* 004CC 809E47EC 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 004D0 809E47F0 AFBF001C */ sw $ra, 0x001C($sp) -/* 004D4 809E47F4 AFB00018 */ sw $s0, 0x0018($sp) -/* 004D8 809E47F8 8C8E01E0 */ lw $t6, 0x01E0($a0) ## 000001E0 -/* 004DC 809E47FC 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 004E0 809E4800 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 004E4 809E4804 55C10006 */ bnel $t6, $at, .L809E4820 -/* 004E8 809E4808 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 004EC 809E480C 0C2791D3 */ jal func_809E474C -/* 004F0 809E4810 00000000 */ nop -/* 004F4 809E4814 1000005F */ beq $zero, $zero, .L809E4994 -/* 004F8 809E4818 AE0201E0 */ sw $v0, 0x01E0($s0) ## 000001E0 -/* 004FC 809E481C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -.L809E4820: -/* 00500 809E4820 0C00BC65 */ jal func_8002F194 -/* 00504 809E4824 AFA5002C */ sw $a1, 0x002C($sp) -/* 00508 809E4828 10400004 */ beq $v0, $zero, .L809E483C -/* 0050C 809E482C 8FA4002C */ lw $a0, 0x002C($sp) -/* 00510 809E4830 240F0002 */ addiu $t7, $zero, 0x0002 ## $t7 = 00000002 -/* 00514 809E4834 10000057 */ beq $zero, $zero, .L809E4994 -/* 00518 809E4838 AE0F01E0 */ sw $t7, 0x01E0($s0) ## 000001E0 -.L809E483C: -/* 0051C 809E483C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 00520 809E4840 27A60026 */ addiu $a2, $sp, 0x0026 ## $a2 = FFFFFFFE -/* 00524 809E4844 0C00BCDD */ jal func_8002F374 -/* 00528 809E4848 27A70024 */ addiu $a3, $sp, 0x0024 ## $a3 = FFFFFFFC -/* 0052C 809E484C 87A20026 */ lh $v0, 0x0026($sp) -/* 00530 809E4850 04400050 */ bltz $v0, .L809E4994 -/* 00534 809E4854 28410141 */ slti $at, $v0, 0x0141 -/* 00538 809E4858 1020004E */ beq $at, $zero, .L809E4994 -/* 0053C 809E485C 87A20024 */ lh $v0, 0x0024($sp) -/* 00540 809E4860 0440004C */ bltz $v0, .L809E4994 -/* 00544 809E4864 284100F1 */ slti $at, $v0, 0x00F1 -/* 00548 809E4868 5020004B */ beql $at, $zero, .L809E4998 -/* 0054C 809E486C 8FBF001C */ lw $ra, 0x001C($sp) -/* 00550 809E4870 8E1801E0 */ lw $t8, 0x01E0($s0) ## 000001E0 -/* 00554 809E4874 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00558 809E4878 8FA5002C */ lw $a1, 0x002C($sp) -/* 0055C 809E487C 57000046 */ bnel $t8, $zero, .L809E4998 -/* 00560 809E4880 8FBF001C */ lw $ra, 0x001C($sp) -/* 00564 809E4884 0C00BCB3 */ jal func_8002F2CC -/* 00568 809E4888 3C0642C8 */ lui $a2, 0x42C8 ## $a2 = 42C80000 -/* 0056C 809E488C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00570 809E4890 54410041 */ bnel $v0, $at, .L809E4998 -/* 00574 809E4894 8FBF001C */ lw $ra, 0x001C($sp) -/* 00578 809E4898 8619001C */ lh $t9, 0x001C($s0) ## 0000001C -/* 0057C 809E489C 3C05809E */ lui $a1, %hi(D_809E5570) ## $a1 = 809E0000 -/* 00580 809E48A0 8FA4002C */ lw $a0, 0x002C($sp) -/* 00584 809E48A4 33280003 */ andi $t0, $t9, 0x0003 ## $t0 = 00000000 -/* 00588 809E48A8 00084880 */ sll $t1, $t0, 2 -/* 0058C 809E48AC 00A92821 */ addu $a1, $a1, $t1 -/* 00590 809E48B0 0C01B0D8 */ jal Text_GetFaceReaction -/* 00594 809E48B4 8CA55570 */ lw $a1, %lo(D_809E5570)($a1) -/* 00598 809E48B8 304AFFFF */ andi $t2, $v0, 0xFFFF ## $t2 = 00000000 -/* 0059C 809E48BC 15400035 */ bne $t2, $zero, .L809E4994 -/* 005A0 809E48C0 A602010E */ sh $v0, 0x010E($s0) ## 0000010E -/* 005A4 809E48C4 8602001C */ lh $v0, 0x001C($s0) ## 0000001C -/* 005A8 809E48C8 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 005AC 809E48CC 30420003 */ andi $v0, $v0, 0x0003 ## $v0 = 00000000 -/* 005B0 809E48D0 5040000A */ beql $v0, $zero, .L809E48FC -/* 005B4 809E48D4 960B0200 */ lhu $t3, 0x0200($s0) ## 00000200 -/* 005B8 809E48D8 10410011 */ beq $v0, $at, .L809E4920 -/* 005BC 809E48DC 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 005C0 809E48E0 10410019 */ beq $v0, $at, .L809E4948 -/* 005C4 809E48E4 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 005C8 809E48E8 50410022 */ beql $v0, $at, .L809E4974 -/* 005CC 809E48EC 960D0200 */ lhu $t5, 0x0200($s0) ## 00000200 -/* 005D0 809E48F0 10000029 */ beq $zero, $zero, .L809E4998 -/* 005D4 809E48F4 8FBF001C */ lw $ra, 0x001C($sp) -/* 005D8 809E48F8 960B0200 */ lhu $t3, 0x0200($s0) ## 00000200 -.L809E48FC: -/* 005DC 809E48FC 240D5076 */ addiu $t5, $zero, 0x5076 ## $t5 = 00005076 -/* 005E0 809E4900 240E5075 */ addiu $t6, $zero, 0x5075 ## $t6 = 00005075 -/* 005E4 809E4904 316C0008 */ andi $t4, $t3, 0x0008 ## $t4 = 00000000 -/* 005E8 809E4908 11800003 */ beq $t4, $zero, .L809E4918 -/* 005EC 809E490C 00000000 */ nop -/* 005F0 809E4910 10000020 */ beq $zero, $zero, .L809E4994 -/* 005F4 809E4914 A60D010E */ sh $t5, 0x010E($s0) ## 0000010E -.L809E4918: -/* 005F8 809E4918 1000001E */ beq $zero, $zero, .L809E4994 -/* 005FC 809E491C A60E010E */ sh $t6, 0x010E($s0) ## 0000010E -.L809E4920: -/* 00600 809E4920 960F0200 */ lhu $t7, 0x0200($s0) ## 00000200 -/* 00604 809E4924 2419502A */ addiu $t9, $zero, 0x502A ## $t9 = 0000502A -/* 00608 809E4928 24085074 */ addiu $t0, $zero, 0x5074 ## $t0 = 00005074 -/* 0060C 809E492C 31F80001 */ andi $t8, $t7, 0x0001 ## $t8 = 00000000 -/* 00610 809E4930 13000003 */ beq $t8, $zero, .L809E4940 -/* 00614 809E4934 00000000 */ nop -/* 00618 809E4938 10000016 */ beq $zero, $zero, .L809E4994 -/* 0061C 809E493C A619010E */ sh $t9, 0x010E($s0) ## 0000010E -.L809E4940: -/* 00620 809E4940 10000014 */ beq $zero, $zero, .L809E4994 -/* 00624 809E4944 A608010E */ sh $t0, 0x010E($s0) ## 0000010E -.L809E4948: -/* 00628 809E4948 96090200 */ lhu $t1, 0x0200($s0) ## 00000200 -/* 0062C 809E494C 240B506A */ addiu $t3, $zero, 0x506A ## $t3 = 0000506A -/* 00630 809E4950 240C506B */ addiu $t4, $zero, 0x506B ## $t4 = 0000506B -/* 00634 809E4954 312A0001 */ andi $t2, $t1, 0x0001 ## $t2 = 00000000 -/* 00638 809E4958 11400003 */ beq $t2, $zero, .L809E4968 -/* 0063C 809E495C 00000000 */ nop -/* 00640 809E4960 1000000C */ beq $zero, $zero, .L809E4994 -/* 00644 809E4964 A60B010E */ sh $t3, 0x010E($s0) ## 0000010E -.L809E4968: -/* 00648 809E4968 1000000A */ beq $zero, $zero, .L809E4994 -/* 0064C 809E496C A60C010E */ sh $t4, 0x010E($s0) ## 0000010E -/* 00650 809E4970 960D0200 */ lhu $t5, 0x0200($s0) ## 00000200 -.L809E4974: -/* 00654 809E4974 240F5077 */ addiu $t7, $zero, 0x5077 ## $t7 = 00005077 -/* 00658 809E4978 24185078 */ addiu $t8, $zero, 0x5078 ## $t8 = 00005078 -/* 0065C 809E497C 31AE0001 */ andi $t6, $t5, 0x0001 ## $t6 = 00000000 -/* 00660 809E4980 51C00004 */ beql $t6, $zero, .L809E4994 -/* 00664 809E4984 A618010E */ sh $t8, 0x010E($s0) ## 0000010E -/* 00668 809E4988 10000002 */ beq $zero, $zero, .L809E4994 -/* 0066C 809E498C A60F010E */ sh $t7, 0x010E($s0) ## 0000010E -/* 00670 809E4990 A618010E */ sh $t8, 0x010E($s0) ## 0000010E -.L809E4994: -/* 00674 809E4994 8FBF001C */ lw $ra, 0x001C($sp) -.L809E4998: -/* 00678 809E4998 8FB00018 */ lw $s0, 0x0018($sp) -/* 0067C 809E499C 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 00680 809E49A0 03E00008 */ jr $ra -/* 00684 809E49A4 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E49A8.s b/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E49A8.s deleted file mode 100644 index 577076a4b6..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E49A8.s +++ /dev/null @@ -1,61 +0,0 @@ -glabel func_809E49A8 -/* 00688 809E49A8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 0068C 809E49AC AFB00018 */ sw $s0, 0x0018($sp) -/* 00690 809E49B0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00694 809E49B4 AFBF001C */ sw $ra, 0x001C($sp) -/* 00698 809E49B8 AFA50024 */ sw $a1, 0x0024($sp) -/* 0069C 809E49BC 0C02927F */ jal SkelAnime_Update - -/* 006A0 809E49C0 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C -/* 006A4 809E49C4 10400004 */ beq $v0, $zero, .L809E49D8 -/* 006A8 809E49C8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 006AC 809E49CC 24050003 */ addiu $a1, $zero, 0x0003 ## $a1 = 00000003 -/* 006B0 809E49D0 0C2790C8 */ jal func_809E4320 -/* 006B4 809E49D4 260601EC */ addiu $a2, $s0, 0x01EC ## $a2 = 000001EC -.L809E49D8: -/* 006B8 809E49D8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 006BC 809E49DC 0C2791FB */ jal func_809E47EC -/* 006C0 809E49E0 8FA50024 */ lw $a1, 0x0024($sp) -/* 006C4 809E49E4 8E0E01E0 */ lw $t6, 0x01E0($s0) ## 000001E0 -/* 006C8 809E49E8 55C00020 */ bnel $t6, $zero, .L809E4A6C -/* 006CC 809E49EC 8FBF001C */ lw $ra, 0x001C($sp) -/* 006D0 809E49F0 96020200 */ lhu $v0, 0x0200($s0) ## 00000200 -/* 006D4 809E49F4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 006D8 809E49F8 24050003 */ addiu $a1, $zero, 0x0003 ## $a1 = 00000003 -/* 006DC 809E49FC 304F0010 */ andi $t7, $v0, 0x0010 ## $t7 = 00000000 -/* 006E0 809E4A00 11E0000A */ beq $t7, $zero, .L809E4A2C -/* 006E4 809E4A04 30490008 */ andi $t1, $v0, 0x0008 ## $t1 = 00000000 -/* 006E8 809E4A08 0C2790C8 */ jal func_809E4320 -/* 006EC 809E4A0C 260601EC */ addiu $a2, $s0, 0x01EC ## $a2 = 000001EC -/* 006F0 809E4A10 96180200 */ lhu $t8, 0x0200($s0) ## 00000200 -/* 006F4 809E4A14 3C08809E */ lui $t0, %hi(func_809E4BC4) ## $t0 = 809E0000 -/* 006F8 809E4A18 25084BC4 */ addiu $t0, $t0, %lo(func_809E4BC4) ## $t0 = 809E4BC4 -/* 006FC 809E4A1C 3319FCFF */ andi $t9, $t8, 0xFCFF ## $t9 = 00000000 -/* 00700 809E4A20 A6190200 */ sh $t9, 0x0200($s0) ## 00000200 -/* 00704 809E4A24 10000010 */ beq $zero, $zero, .L809E4A68 -/* 00708 809E4A28 AE080190 */ sw $t0, 0x0190($s0) ## 00000190 -.L809E4A2C: -/* 0070C 809E4A2C 15200005 */ bne $t1, $zero, .L809E4A44 -/* 00710 809E4A30 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00714 809E4A34 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00718 809E4A38 0C2790C8 */ jal func_809E4320 -/* 0071C 809E4A3C 260601EC */ addiu $a2, $s0, 0x01EC ## $a2 = 000001EC -/* 00720 809E4A40 96020200 */ lhu $v0, 0x0200($s0) ## 00000200 -.L809E4A44: -/* 00724 809E4A44 304A0800 */ andi $t2, $v0, 0x0800 ## $t2 = 00000000 -/* 00728 809E4A48 15400005 */ bne $t2, $zero, .L809E4A60 -/* 0072C 809E4A4C 3C0E809E */ lui $t6, %hi(func_809E4A7C) ## $t6 = 809E0000 -/* 00730 809E4A50 304CFDFF */ andi $t4, $v0, 0xFDFF ## $t4 = 00000000 -/* 00734 809E4A54 A60C0200 */ sh $t4, 0x0200($s0) ## 00000200 -/* 00738 809E4A58 358D0100 */ ori $t5, $t4, 0x0100 ## $t5 = 00000100 -/* 0073C 809E4A5C A60D0200 */ sh $t5, 0x0200($s0) ## 00000200 -.L809E4A60: -/* 00740 809E4A60 25CE4A7C */ addiu $t6, $t6, %lo(func_809E4A7C) ## $t6 = 809E4A7C -/* 00744 809E4A64 AE0E0190 */ sw $t6, 0x0190($s0) ## 00000190 -.L809E4A68: -/* 00748 809E4A68 8FBF001C */ lw $ra, 0x001C($sp) -.L809E4A6C: -/* 0074C 809E4A6C 8FB00018 */ lw $s0, 0x0018($sp) -/* 00750 809E4A70 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00754 809E4A74 03E00008 */ jr $ra -/* 00758 809E4A78 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4A7C.s b/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4A7C.s deleted file mode 100644 index aa52ee26ff..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4A7C.s +++ /dev/null @@ -1,44 +0,0 @@ -glabel func_809E4A7C -/* 0075C 809E4A7C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 00760 809E4A80 AFBF001C */ sw $ra, 0x001C($sp) -/* 00764 809E4A84 AFB00018 */ sw $s0, 0x0018($sp) -/* 00768 809E4A88 0C2791FB */ jal func_809E47EC -/* 0076C 809E4A8C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00770 809E4A90 0C02927F */ jal SkelAnime_Update - -/* 00774 809E4A94 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C -/* 00778 809E4A98 10400004 */ beq $v0, $zero, .L809E4AAC -/* 0077C 809E4A9C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00780 809E4AA0 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00784 809E4AA4 0C2790C8 */ jal func_809E4320 -/* 00788 809E4AA8 260601EC */ addiu $a2, $s0, 0x01EC ## $a2 = 000001EC -.L809E4AAC: -/* 0078C 809E4AAC 8E0E01E0 */ lw $t6, 0x01E0($s0) ## 000001E0 -/* 00790 809E4AB0 51C00014 */ beql $t6, $zero, .L809E4B04 -/* 00794 809E4AB4 8FBF001C */ lw $ra, 0x001C($sp) -/* 00798 809E4AB8 96020200 */ lhu $v0, 0x0200($s0) ## 00000200 -/* 0079C 809E4ABC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 007A0 809E4AC0 24050004 */ addiu $a1, $zero, 0x0004 ## $a1 = 00000004 -/* 007A4 809E4AC4 304F0008 */ andi $t7, $v0, 0x0008 ## $t7 = 00000000 -/* 007A8 809E4AC8 55E00005 */ bnel $t7, $zero, .L809E4AE0 -/* 007AC 809E4ACC 30580800 */ andi $t8, $v0, 0x0800 ## $t8 = 00000000 -/* 007B0 809E4AD0 0C2790C8 */ jal func_809E4320 -/* 007B4 809E4AD4 260601EC */ addiu $a2, $s0, 0x01EC ## $a2 = 000001EC -/* 007B8 809E4AD8 96020200 */ lhu $v0, 0x0200($s0) ## 00000200 -/* 007BC 809E4ADC 30580800 */ andi $t8, $v0, 0x0800 ## $t8 = 00000000 -.L809E4AE0: -/* 007C0 809E4AE0 17000005 */ bne $t8, $zero, .L809E4AF8 -/* 007C4 809E4AE4 3C0A809E */ lui $t2, %hi(func_809E49A8) ## $t2 = 809E0000 -/* 007C8 809E4AE8 34480200 */ ori $t0, $v0, 0x0200 ## $t0 = 00000200 -/* 007CC 809E4AEC A6080200 */ sh $t0, 0x0200($s0) ## 00000200 -/* 007D0 809E4AF0 3109FEFF */ andi $t1, $t0, 0xFEFF ## $t1 = 00000200 -/* 007D4 809E4AF4 A6090200 */ sh $t1, 0x0200($s0) ## 00000200 -.L809E4AF8: -/* 007D8 809E4AF8 254A49A8 */ addiu $t2, $t2, %lo(func_809E49A8) ## $t2 = 809E49A8 -/* 007DC 809E4AFC AE0A0190 */ sw $t2, 0x0190($s0) ## 00000190 -/* 007E0 809E4B00 8FBF001C */ lw $ra, 0x001C($sp) -.L809E4B04: -/* 007E4 809E4B04 8FB00018 */ lw $s0, 0x0018($sp) -/* 007E8 809E4B08 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 007EC 809E4B0C 03E00008 */ jr $ra -/* 007F0 809E4B10 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4B14.s b/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4B14.s deleted file mode 100644 index 4ab3697c11..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4B14.s +++ /dev/null @@ -1,50 +0,0 @@ -glabel func_809E4B14 -/* 007F4 809E4B14 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 007F8 809E4B18 AFB00018 */ sw $s0, 0x0018($sp) -/* 007FC 809E4B1C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00800 809E4B20 AFBF001C */ sw $ra, 0x001C($sp) -/* 00804 809E4B24 AFA50024 */ sw $a1, 0x0024($sp) -/* 00808 809E4B28 0C02927F */ jal SkelAnime_Update - -/* 0080C 809E4B2C 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C -/* 00810 809E4B30 50400010 */ beql $v0, $zero, .L809E4B74 -/* 00814 809E4B34 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00818 809E4B38 8E0E02F8 */ lw $t6, 0x02F8($s0) ## 000002F8 -/* 0081C 809E4B3C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00820 809E4B40 24050003 */ addiu $a1, $zero, 0x0003 ## $a1 = 00000003 -/* 00824 809E4B44 25CFFFFF */ addiu $t7, $t6, 0xFFFF ## $t7 = FFFFFFFF -/* 00828 809E4B48 1DE00007 */ bgtz $t7, .L809E4B68 -/* 0082C 809E4B4C AE0F02F8 */ sw $t7, 0x02F8($s0) ## 000002F8 -/* 00830 809E4B50 0C2790C8 */ jal func_809E4320 -/* 00834 809E4B54 260601EC */ addiu $a2, $s0, 0x01EC ## $a2 = 000001EC -/* 00838 809E4B58 3C19809E */ lui $t9, %hi(func_809E4BC4) ## $t9 = 809E0000 -/* 0083C 809E4B5C 27394BC4 */ addiu $t9, $t9, %lo(func_809E4BC4) ## $t9 = 809E4BC4 -/* 00840 809E4B60 10000003 */ beq $zero, $zero, .L809E4B70 -/* 00844 809E4B64 AE190190 */ sw $t9, 0x0190($s0) ## 00000190 -.L809E4B68: -/* 00848 809E4B68 C6040158 */ lwc1 $f4, 0x0158($s0) ## 00000158 -/* 0084C 809E4B6C E6040164 */ swc1 $f4, 0x0164($s0) ## 00000164 -.L809E4B70: -/* 00850 809E4B70 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -.L809E4B74: -/* 00854 809E4B74 0C2791FB */ jal func_809E47EC -/* 00858 809E4B78 8FA50024 */ lw $a1, 0x0024($sp) -/* 0085C 809E4B7C 8E0801E0 */ lw $t0, 0x01E0($s0) ## 000001E0 -/* 00860 809E4B80 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00864 809E4B84 5100000B */ beql $t0, $zero, .L809E4BB4 -/* 00868 809E4B88 8FBF001C */ lw $ra, 0x001C($sp) -/* 0086C 809E4B8C 96090200 */ lhu $t1, 0x0200($s0) ## 00000200 -/* 00870 809E4B90 24050004 */ addiu $a1, $zero, 0x0004 ## $a1 = 00000004 -/* 00874 809E4B94 260601EC */ addiu $a2, $s0, 0x01EC ## $a2 = 000001EC -/* 00878 809E4B98 352A0200 */ ori $t2, $t1, 0x0200 ## $t2 = 00000200 -/* 0087C 809E4B9C 0C2790C8 */ jal func_809E4320 -/* 00880 809E4BA0 A60A0200 */ sh $t2, 0x0200($s0) ## 00000200 -/* 00884 809E4BA4 3C0B809E */ lui $t3, %hi(func_809E49A8) ## $t3 = 809E0000 -/* 00888 809E4BA8 256B49A8 */ addiu $t3, $t3, %lo(func_809E49A8) ## $t3 = 809E49A8 -/* 0088C 809E4BAC AE0B0190 */ sw $t3, 0x0190($s0) ## 00000190 -/* 00890 809E4BB0 8FBF001C */ lw $ra, 0x001C($sp) -.L809E4BB4: -/* 00894 809E4BB4 8FB00018 */ lw $s0, 0x0018($sp) -/* 00898 809E4BB8 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 0089C 809E4BBC 03E00008 */ jr $ra -/* 008A0 809E4BC0 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4BC4.s b/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4BC4.s deleted file mode 100644 index 64d02f9a83..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4BC4.s +++ /dev/null @@ -1,247 +0,0 @@ -.late_rodata -glabel D_809E5618 - .word 0x4622F983 - -.text -glabel func_809E4BC4 -/* 008A4 809E4BC4 27BDFF98 */ addiu $sp, $sp, 0xFF98 ## $sp = FFFFFF98 -/* 008A8 809E4BC8 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 008AC 809E4BCC AFB30038 */ sw $s3, 0x0038($sp) -/* 008B0 809E4BD0 AFB0002C */ sw $s0, 0x002C($sp) -/* 008B4 809E4BD4 00A13021 */ addu $a2, $a1, $at -/* 008B8 809E4BD8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 008BC 809E4BDC AFBF003C */ sw $ra, 0x003C($sp) -/* 008C0 809E4BE0 AFB20034 */ sw $s2, 0x0034($sp) -/* 008C4 809E4BE4 AFB10030 */ sw $s1, 0x0030($sp) -/* 008C8 809E4BE8 F7B60020 */ sdc1 $f22, 0x0020($sp) -/* 008CC 809E4BEC F7B40018 */ sdc1 $f20, 0x0018($sp) -/* 008D0 809E4BF0 AFA5006C */ sw $a1, 0x006C($sp) -/* 008D4 809E4BF4 AFA60040 */ sw $a2, 0x0040($sp) -/* 008D8 809E4BF8 24130001 */ addiu $s3, $zero, 0x0001 ## $s3 = 00000001 -/* 008DC 809E4BFC 8FA60040 */ lw $a2, 0x0040($sp) -.L809E4C00: -/* 008E0 809E4C00 860F001C */ lh $t7, 0x001C($s0) ## 0000001C -/* 008E4 809E4C04 3C0C8016 */ lui $t4, %hi(gSegments) -/* 008E8 809E4C08 8CCE1E08 */ lw $t6, 0x1E08($a2) ## 00001E08 -/* 008EC 809E4C0C 000FC203 */ sra $t8, $t7, 8 -/* 008F0 809E4C10 331900FF */ andi $t9, $t8, 0x00FF ## $t9 = 00000000 -/* 008F4 809E4C14 001940C0 */ sll $t0, $t9, 3 -/* 008F8 809E4C18 01C88821 */ addu $s1, $t6, $t0 -/* 008FC 809E4C1C 8E230004 */ lw $v1, 0x0004($s1) ## 00000004 -/* 00900 809E4C20 8E1801E4 */ lw $t8, 0x01E4($s0) ## 000001E4 -/* 00904 809E4C24 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000 -/* 00908 809E4C28 00034900 */ sll $t1, $v1, 4 -/* 0090C 809E4C2C 00095702 */ srl $t2, $t1, 28 -/* 00910 809E4C30 000A5880 */ sll $t3, $t2, 2 -/* 00914 809E4C34 018B6021 */ addu $t4, $t4, $t3 -/* 00918 809E4C38 8D8C6FA8 */ lw $t4, %lo(gSegments)($t4) -/* 0091C 809E4C3C 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF -/* 00920 809E4C40 0018C880 */ sll $t9, $t8, 2 -/* 00924 809E4C44 00616824 */ and $t5, $v1, $at -/* 00928 809E4C48 0338C823 */ subu $t9, $t9, $t8 -/* 0092C 809E4C4C 0019C840 */ sll $t9, $t9, 1 -/* 00930 809E4C50 018D7821 */ addu $t7, $t4, $t5 -/* 00934 809E4C54 01F91021 */ addu $v0, $t7, $t9 -/* 00938 809E4C58 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 0093C 809E4C5C 00411021 */ addu $v0, $v0, $at -/* 00940 809E4C60 844E0000 */ lh $t6, 0x0000($v0) ## 00000000 -/* 00944 809E4C64 84480004 */ lh $t0, 0x0004($v0) ## 00000004 -/* 00948 809E4C68 C6080024 */ lwc1 $f8, 0x0024($s0) ## 00000024 -/* 0094C 809E4C6C 448E2000 */ mtc1 $t6, $f4 ## $f4 = 0.00 -/* 00950 809E4C70 44885000 */ mtc1 $t0, $f10 ## $f10 = 0.00 -/* 00954 809E4C74 C612002C */ lwc1 $f18, 0x002C($s0) ## 0000002C -/* 00958 809E4C78 468021A0 */ cvt.s.w $f6, $f4 -/* 0095C 809E4C7C 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000 -/* 00960 809E4C80 46805420 */ cvt.s.w $f16, $f10 -/* 00964 809E4C84 46083501 */ sub.s $f20, $f6, $f8 -/* 00968 809E4C88 46128581 */ sub.s $f22, $f16, $f18 -/* 0096C 809E4C8C 4600A306 */ mov.s $f12, $f20 -/* 00970 809E4C90 0C03F494 */ jal Math_FAtan2F -/* 00974 809E4C94 4600B386 */ mov.s $f14, $f22 -/* 00978 809E4C98 3C01809E */ lui $at, %hi(D_809E5618) ## $at = 809E0000 -/* 0097C 809E4C9C C4245618 */ lwc1 $f4, %lo(D_809E5618)($at) -/* 00980 809E4CA0 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 00984 809E4CA4 44819000 */ mtc1 $at, $f18 ## $f18 = 10.00 -/* 00988 809E4CA8 46040182 */ mul.s $f6, $f0, $f4 -/* 0098C 809E4CAC 00000000 */ nop -/* 00990 809E4CB0 4614A282 */ mul.s $f10, $f20, $f20 -/* 00994 809E4CB4 00000000 */ nop -/* 00998 809E4CB8 4616B402 */ mul.s $f16, $f22, $f22 -/* 0099C 809E4CBC 4600320D */ trunc.w.s $f8, $f6 -/* 009A0 809E4CC0 46105000 */ add.s $f0, $f10, $f16 -/* 009A4 809E4CC4 44054000 */ mfc1 $a1, $f8 -/* 009A8 809E4CC8 46000084 */ sqrt.s $f2, $f0 -/* 009AC 809E4CCC 00052C00 */ sll $a1, $a1, 16 -/* 009B0 809E4CD0 00052C03 */ sra $a1, $a1, 16 -/* 009B4 809E4CD4 4612103E */ c.le.s $f2, $f18 -/* 009B8 809E4CD8 00000000 */ nop -/* 009BC 809E4CDC 45000039 */ bc1f .L809E4DC4 -/* 009C0 809E4CE0 00000000 */ nop -/* 009C4 809E4CE4 8E0A01F8 */ lw $t2, 0x01F8($s0) ## 000001F8 -/* 009C8 809E4CE8 55400022 */ bnel $t2, $zero, .L809E4D74 -/* 009CC 809E4CEC 8E0901E4 */ lw $t1, 0x01E4($s0) ## 000001E4 -/* 009D0 809E4CF0 8E0B01E4 */ lw $t3, 0x01E4($s0) ## 000001E4 -/* 009D4 809E4CF4 256C0001 */ addiu $t4, $t3, 0x0001 ## $t4 = 00000001 -/* 009D8 809E4CF8 AE0C01E4 */ sw $t4, 0x01E4($s0) ## 000001E4 -/* 009DC 809E4CFC 92230000 */ lbu $v1, 0x0000($s1) ## 00000000 -/* 009E0 809E4D00 0183082A */ slt $at, $t4, $v1 -/* 009E4 809E4D04 54200018 */ bnel $at, $zero, .L809E4D68 -/* 009E8 809E4D08 02609025 */ or $s2, $s3, $zero ## $s2 = 00000001 -/* 009EC 809E4D0C 96020200 */ lhu $v0, 0x0200($s0) ## 00000200 -/* 009F0 809E4D10 246FFFFE */ addiu $t7, $v1, 0xFFFE ## $t7 = FFFFFFFE -/* 009F4 809E4D14 30580020 */ andi $t8, $v0, 0x0020 ## $t8 = 00000000 -/* 009F8 809E4D18 1300000F */ beq $t8, $zero, .L809E4D58 -/* 009FC 809E4D1C 30590400 */ andi $t9, $v0, 0x0400 ## $t9 = 00000000 -/* 00A00 809E4D20 AE0F01E4 */ sw $t7, 0x01E4($s0) ## 000001E4 -/* 00A04 809E4D24 AE1301F8 */ sw $s3, 0x01F8($s0) ## 000001F8 -/* 00A08 809E4D28 13200026 */ beq $t9, $zero, .L809E4DC4 -/* 00A0C 809E4D2C AE0001FC */ sw $zero, 0x01FC($s0) ## 000001FC -/* 00A10 809E4D30 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002 -/* 00A14 809E4D34 AE0E02F8 */ sw $t6, 0x02F8($s0) ## 000002F8 -/* 00A18 809E4D38 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00A1C 809E4D3C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00A20 809E4D40 0C2790C8 */ jal func_809E4320 -/* 00A24 809E4D44 260601EC */ addiu $a2, $s0, 0x01EC ## $a2 = 000001EC -/* 00A28 809E4D48 3C08809E */ lui $t0, %hi(func_809E4B14) ## $t0 = 809E0000 -/* 00A2C 809E4D4C 25084B14 */ addiu $t0, $t0, %lo(func_809E4B14) ## $t0 = 809E4B14 -/* 00A30 809E4D50 10000072 */ beq $zero, $zero, .L809E4F1C -/* 00A34 809E4D54 AE080190 */ sw $t0, 0x0190($s0) ## 00000190 -.L809E4D58: -/* 00A38 809E4D58 AE0001E4 */ sw $zero, 0x01E4($s0) ## 000001E4 -/* 00A3C 809E4D5C 10000019 */ beq $zero, $zero, .L809E4DC4 -/* 00A40 809E4D60 02609025 */ or $s2, $s3, $zero ## $s2 = 00000001 -/* 00A44 809E4D64 02609025 */ or $s2, $s3, $zero ## $s2 = 00000001 -.L809E4D68: -/* 00A48 809E4D68 10000016 */ beq $zero, $zero, .L809E4DC4 -/* 00A4C 809E4D6C AE1301FC */ sw $s3, 0x01FC($s0) ## 000001FC -/* 00A50 809E4D70 8E0901E4 */ lw $t1, 0x01E4($s0) ## 000001E4 -.L809E4D74: -/* 00A54 809E4D74 252AFFFF */ addiu $t2, $t1, 0xFFFF ## $t2 = FFFFFFFF -/* 00A58 809E4D78 05410011 */ bgez $t2, .L809E4DC0 -/* 00A5C 809E4D7C AE0A01E4 */ sw $t2, 0x01E4($s0) ## 000001E4 -/* 00A60 809E4D80 960C0200 */ lhu $t4, 0x0200($s0) ## 00000200 -/* 00A64 809E4D84 AE1301E4 */ sw $s3, 0x01E4($s0) ## 000001E4 -/* 00A68 809E4D88 AE0001F8 */ sw $zero, 0x01F8($s0) ## 000001F8 -/* 00A6C 809E4D8C 318D0400 */ andi $t5, $t4, 0x0400 ## $t5 = 00000000 -/* 00A70 809E4D90 11A0000C */ beq $t5, $zero, .L809E4DC4 -/* 00A74 809E4D94 AE0001FC */ sw $zero, 0x01FC($s0) ## 000001FC -/* 00A78 809E4D98 24180002 */ addiu $t8, $zero, 0x0002 ## $t8 = 00000002 -/* 00A7C 809E4D9C AE1802F8 */ sw $t8, 0x02F8($s0) ## 000002F8 -/* 00A80 809E4DA0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00A84 809E4DA4 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00A88 809E4DA8 0C2790C8 */ jal func_809E4320 -/* 00A8C 809E4DAC 260601EC */ addiu $a2, $s0, 0x01EC ## $a2 = 000001EC -/* 00A90 809E4DB0 3C0F809E */ lui $t7, %hi(func_809E4B14) ## $t7 = 809E0000 -/* 00A94 809E4DB4 25EF4B14 */ addiu $t7, $t7, %lo(func_809E4B14) ## $t7 = 809E4B14 -/* 00A98 809E4DB8 10000058 */ beq $zero, $zero, .L809E4F1C -/* 00A9C 809E4DBC AE0F0190 */ sw $t7, 0x0190($s0) ## 00000190 -.L809E4DC0: -/* 00AA0 809E4DC0 02609025 */ or $s2, $s3, $zero ## $s2 = 00000001 -.L809E4DC4: -/* 00AA4 809E4DC4 5640FF8E */ bnel $s2, $zero, .L809E4C00 -/* 00AA8 809E4DC8 8FA60040 */ lw $a2, 0x0040($sp) -/* 00AAC 809E4DCC 00133400 */ sll $a2, $s3, 16 -/* 00AB0 809E4DD0 00063403 */ sra $a2, $a2, 16 -/* 00AB4 809E4DD4 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6 -/* 00AB8 809E4DD8 24071388 */ addiu $a3, $zero, 0x1388 ## $a3 = 00001388 -/* 00ABC 809E4DDC AFA00010 */ sw $zero, 0x0010($sp) -/* 00AC0 809E4DE0 0C01E1A7 */ jal Math_SmoothStepToS - -/* 00AC4 809E4DE4 E7A2004C */ swc1 $f2, 0x004C($sp) -/* 00AC8 809E4DE8 8E0301FC */ lw $v1, 0x01FC($s0) ## 000001FC -/* 00ACC 809E4DEC 861900B6 */ lh $t9, 0x00B6($s0) ## 000000B6 -/* 00AD0 809E4DF0 C7A2004C */ lwc1 $f2, 0x004C($sp) -/* 00AD4 809E4DF4 14600008 */ bne $v1, $zero, .L809E4E18 -/* 00AD8 809E4DF8 A6190032 */ sh $t9, 0x0032($s0) ## 00000032 -/* 00ADC 809E4DFC 14400003 */ bne $v0, $zero, .L809E4E0C -/* 00AE0 809E4E00 02601825 */ or $v1, $s3, $zero ## $v1 = 00000001 -/* 00AE4 809E4E04 10000004 */ beq $zero, $zero, .L809E4E18 -/* 00AE8 809E4E08 AE1301FC */ sw $s3, 0x01FC($s0) ## 000001FC -.L809E4E0C: -/* 00AEC 809E4E0C 4480A000 */ mtc1 $zero, $f20 ## $f20 = 0.00 -/* 00AF0 809E4E10 8E0301FC */ lw $v1, 0x01FC($s0) ## 000001FC -/* 00AF4 809E4E14 E6140068 */ swc1 $f20, 0x0068($s0) ## 00000068 -.L809E4E18: -/* 00AF8 809E4E18 4480A000 */ mtc1 $zero, $f20 ## $f20 = 0.00 -/* 00AFC 809E4E1C 16630007 */ bne $s3, $v1, .L809E4E3C -/* 00B00 809E4E20 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068 -/* 00B04 809E4E24 8E0501E8 */ lw $a1, 0x01E8($s0) ## 000001E8 -/* 00B08 809E4E28 3C063F4C */ lui $a2, 0x3F4C ## $a2 = 3F4C0000 -/* 00B0C 809E4E2C 44071000 */ mfc1 $a3, $f2 -/* 00B10 809E4E30 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3F4CCCCD -/* 00B14 809E4E34 0C01E0C4 */ jal Math_SmoothStepToF - -/* 00B18 809E4E38 E7B40010 */ swc1 $f20, 0x0010($sp) -.L809E4E3C: -/* 00B1C 809E4E3C 0C00B638 */ jal Actor_MoveForward - -/* 00B20 809E4E40 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00B24 809E4E44 96020200 */ lhu $v0, 0x0200($s0) ## 00000200 -/* 00B28 809E4E48 8FA4006C */ lw $a0, 0x006C($sp) -/* 00B2C 809E4E4C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 00B30 809E4E50 304E0040 */ andi $t6, $v0, 0x0040 ## $t6 = 00000000 -/* 00B34 809E4E54 11C00009 */ beq $t6, $zero, .L809E4E7C -/* 00B38 809E4E58 30490080 */ andi $t1, $v0, 0x0080 ## $t1 = 00000000 -/* 00B3C 809E4E5C 4406A000 */ mfc1 $a2, $f20 -/* 00B40 809E4E60 4407A000 */ mfc1 $a3, $f20 -/* 00B44 809E4E64 24080004 */ addiu $t0, $zero, 0x0004 ## $t0 = 00000004 -/* 00B48 809E4E68 AFA80014 */ sw $t0, 0x0014($sp) -/* 00B4C 809E4E6C 0C00B92D */ jal Actor_UpdateBgCheckInfo -/* 00B50 809E4E70 E7B40010 */ swc1 $f20, 0x0010($sp) -/* 00B54 809E4E74 10000017 */ beq $zero, $zero, .L809E4ED4 -/* 00B58 809E4E78 00000000 */ nop -.L809E4E7C: -/* 00B5C 809E4E7C 51200008 */ beql $t1, $zero, .L809E4EA0 -/* 00B60 809E4E80 960D0202 */ lhu $t5, 0x0202($s0) ## 00000202 -/* 00B64 809E4E84 960A0202 */ lhu $t2, 0x0202($s0) ## 00000202 -/* 00B68 809E4E88 304CFF7F */ andi $t4, $v0, 0xFF7F ## $t4 = 00000000 -/* 00B6C 809E4E8C A60C0200 */ sh $t4, 0x0200($s0) ## 00000200 -/* 00B70 809E4E90 354B0001 */ ori $t3, $t2, 0x0001 ## $t3 = 00000001 -/* 00B74 809E4E94 1000000F */ beq $zero, $zero, .L809E4ED4 -/* 00B78 809E4E98 A60B0202 */ sh $t3, 0x0202($s0) ## 00000202 -/* 00B7C 809E4E9C 960D0202 */ lhu $t5, 0x0202($s0) ## 00000202 -.L809E4EA0: -/* 00B80 809E4EA0 8FA4006C */ lw $a0, 0x006C($sp) -/* 00B84 809E4EA4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 00B88 809E4EA8 31B80001 */ andi $t8, $t5, 0x0001 ## $t8 = 00000000 -/* 00B8C 809E4EAC 13000009 */ beq $t8, $zero, .L809E4ED4 -/* 00B90 809E4EB0 240F0004 */ addiu $t7, $zero, 0x0004 ## $t7 = 00000004 -/* 00B94 809E4EB4 4406A000 */ mfc1 $a2, $f20 -/* 00B98 809E4EB8 4407A000 */ mfc1 $a3, $f20 -/* 00B9C 809E4EBC E7B40010 */ swc1 $f20, 0x0010($sp) -/* 00BA0 809E4EC0 0C00B92D */ jal Actor_UpdateBgCheckInfo -/* 00BA4 809E4EC4 AFAF0014 */ sw $t7, 0x0014($sp) -/* 00BA8 809E4EC8 96190202 */ lhu $t9, 0x0202($s0) ## 00000202 -/* 00BAC 809E4ECC 332EFFFE */ andi $t6, $t9, 0xFFFE ## $t6 = 00000000 -/* 00BB0 809E4ED0 A60E0202 */ sh $t6, 0x0202($s0) ## 00000202 -.L809E4ED4: -/* 00BB4 809E4ED4 0C02927F */ jal SkelAnime_Update - -/* 00BB8 809E4ED8 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C -/* 00BBC 809E4EDC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00BC0 809E4EE0 0C2791FB */ jal func_809E47EC -/* 00BC4 809E4EE4 8FA5006C */ lw $a1, 0x006C($sp) -/* 00BC8 809E4EE8 8E0801E0 */ lw $t0, 0x01E0($s0) ## 000001E0 -/* 00BCC 809E4EEC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00BD0 809E4EF0 5100000B */ beql $t0, $zero, .L809E4F20 -/* 00BD4 809E4EF4 8FBF003C */ lw $ra, 0x003C($sp) -/* 00BD8 809E4EF8 96090200 */ lhu $t1, 0x0200($s0) ## 00000200 -/* 00BDC 809E4EFC 24050004 */ addiu $a1, $zero, 0x0004 ## $a1 = 00000004 -/* 00BE0 809E4F00 260601EC */ addiu $a2, $s0, 0x01EC ## $a2 = 000001EC -/* 00BE4 809E4F04 352A0200 */ ori $t2, $t1, 0x0200 ## $t2 = 00000200 -/* 00BE8 809E4F08 0C2790C8 */ jal func_809E4320 -/* 00BEC 809E4F0C A60A0200 */ sh $t2, 0x0200($s0) ## 00000200 -/* 00BF0 809E4F10 3C0B809E */ lui $t3, %hi(func_809E49A8) ## $t3 = 809E0000 -/* 00BF4 809E4F14 256B49A8 */ addiu $t3, $t3, %lo(func_809E49A8) ## $t3 = 809E49A8 -/* 00BF8 809E4F18 AE0B0190 */ sw $t3, 0x0190($s0) ## 00000190 -.L809E4F1C: -/* 00BFC 809E4F1C 8FBF003C */ lw $ra, 0x003C($sp) -.L809E4F20: -/* 00C00 809E4F20 D7B40018 */ ldc1 $f20, 0x0018($sp) -/* 00C04 809E4F24 D7B60020 */ ldc1 $f22, 0x0020($sp) -/* 00C08 809E4F28 8FB0002C */ lw $s0, 0x002C($sp) -/* 00C0C 809E4F2C 8FB10030 */ lw $s1, 0x0030($sp) -/* 00C10 809E4F30 8FB20034 */ lw $s2, 0x0034($sp) -/* 00C14 809E4F34 8FB30038 */ lw $s3, 0x0038($sp) -/* 00C18 809E4F38 03E00008 */ jr $ra -/* 00C1C 809E4F3C 27BD0068 */ addiu $sp, $sp, 0x0068 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E50B4.s b/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E50B4.s deleted file mode 100644 index b864ef7796..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E50B4.s +++ /dev/null @@ -1,149 +0,0 @@ -.rdata -glabel D_809E55A0 - .asciz "<%d>\n" - .balign 4 - -.late_rodata -glabel D_809E561C - .float 9.58738019108e-05 - -glabel D_809E5620 - .float 9.58738019108e-05 - -glabel D_809E5624 - .float 9.58738019108e-05 - -glabel D_809E5628 - .float 9.58738019108e-05 - -glabel D_809E562C - .float 9.58738019108e-05 - -glabel D_809E5630 - .float 9.58738019108e-05 - -.text -glabel func_809E50B4 -/* 00D94 809E50B4 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 00D98 809E50B8 24010008 */ addiu $at, $zero, 0x0008 ## $at = 00000008 -/* 00D9C 809E50BC AFBF0014 */ sw $ra, 0x0014($sp) -/* 00DA0 809E50C0 AFA40028 */ sw $a0, 0x0028($sp) -/* 00DA4 809E50C4 AFA60030 */ sw $a2, 0x0030($sp) -/* 00DA8 809E50C8 10A10006 */ beq $a1, $at, .L809E50E4 -/* 00DAC 809E50CC AFA70034 */ sw $a3, 0x0034($sp) -/* 00DB0 809E50D0 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F -/* 00DB4 809E50D4 50A10020 */ beql $a1, $at, .L809E5158 -/* 00DB8 809E50D8 44807000 */ mtc1 $zero, $f14 ## $f14 = 0.00 -/* 00DBC 809E50DC 10000066 */ beq $zero, $zero, .L809E5278 -/* 00DC0 809E50E0 8FBF0014 */ lw $ra, 0x0014($sp) -.L809E50E4: -/* 00DC4 809E50E4 8FAF003C */ lw $t7, 0x003C($sp) -/* 00DC8 809E50E8 27AE001C */ addiu $t6, $sp, 0x001C ## $t6 = FFFFFFF4 -/* 00DCC 809E50EC 3C01809E */ lui $at, %hi(D_809E561C) ## $at = 809E0000 -/* 00DD0 809E50F0 89F90212 */ lwl $t9, 0x0212($t7) ## 00000212 -/* 00DD4 809E50F4 99F90215 */ lwr $t9, 0x0215($t7) ## 00000215 -/* 00DD8 809E50F8 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 00DDC 809E50FC ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF4 -/* 00DE0 809E5100 95F90216 */ lhu $t9, 0x0216($t7) ## 00000216 -/* 00DE4 809E5104 A5D90004 */ sh $t9, 0x0004($t6) ## FFFFFFF8 -/* 00DE8 809E5108 87A8001E */ lh $t0, 0x001E($sp) -/* 00DEC 809E510C C428561C */ lwc1 $f8, %lo(D_809E561C)($at) -/* 00DF0 809E5110 44882000 */ mtc1 $t0, $f4 ## $f4 = 0.00 -/* 00DF4 809E5114 00000000 */ nop -/* 00DF8 809E5118 468021A0 */ cvt.s.w $f6, $f4 -/* 00DFC 809E511C 46083302 */ mul.s $f12, $f6, $f8 -/* 00E00 809E5120 0C0342DC */ jal Matrix_RotateX -/* 00E04 809E5124 46006307 */ neg.s $f12, $f12 -/* 00E08 809E5128 87A9001C */ lh $t1, 0x001C($sp) -/* 00E0C 809E512C 3C01809E */ lui $at, %hi(D_809E5620) ## $at = 809E0000 -/* 00E10 809E5130 C4325620 */ lwc1 $f18, %lo(D_809E5620)($at) -/* 00E14 809E5134 44895000 */ mtc1 $t1, $f10 ## $f10 = 0.00 -/* 00E18 809E5138 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 00E1C 809E513C 46805420 */ cvt.s.w $f16, $f10 -/* 00E20 809E5140 46128302 */ mul.s $f12, $f16, $f18 -/* 00E24 809E5144 0C0343B5 */ jal Matrix_RotateZ -/* 00E28 809E5148 46006307 */ neg.s $f12, $f12 -/* 00E2C 809E514C 1000004A */ beq $zero, $zero, .L809E5278 -/* 00E30 809E5150 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00E34 809E5154 44807000 */ mtc1 $zero, $f14 ## $f14 = 0.00 -.L809E5158: -/* 00E38 809E5158 3C0144AF */ lui $at, 0x44AF ## $at = 44AF0000 -/* 00E3C 809E515C 44816000 */ mtc1 $at, $f12 ## $f12 = 1400.00 -/* 00E40 809E5160 44067000 */ mfc1 $a2, $f14 -/* 00E44 809E5164 0C034261 */ jal Matrix_Translate -/* 00E48 809E5168 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 00E4C 809E516C 8FA2003C */ lw $v0, 0x003C($sp) -/* 00E50 809E5170 27AA001C */ addiu $t2, $sp, 0x001C ## $t2 = FFFFFFF4 -/* 00E54 809E5174 3C04809E */ lui $a0, %hi(D_809E55A0) ## $a0 = 809E0000 -/* 00E58 809E5178 884C020C */ lwl $t4, 0x020C($v0) ## 0000020C -/* 00E5C 809E517C 984C020F */ lwr $t4, 0x020F($v0) ## 0000020F -/* 00E60 809E5180 248455A0 */ addiu $a0, $a0, %lo(D_809E55A0) ## $a0 = 809E55A0 -/* 00E64 809E5184 AD4C0000 */ sw $t4, 0x0000($t2) ## FFFFFFF4 -/* 00E68 809E5188 944C0210 */ lhu $t4, 0x0210($v0) ## 00000210 -/* 00E6C 809E518C A54C0004 */ sh $t4, 0x0004($t2) ## FFFFFFF8 -/* 00E70 809E5190 944D0200 */ lhu $t5, 0x0200($v0) ## 00000200 -/* 00E74 809E5194 31AE1000 */ andi $t6, $t5, 0x1000 ## $t6 = 00000000 -/* 00E78 809E5198 11C0001F */ beq $t6, $zero, .L809E5218 -/* 00E7C 809E519C 87AD001E */ lh $t5, 0x001E($sp) -/* 00E80 809E51A0 0C00084C */ jal osSyncPrintf - -/* 00E84 809E51A4 844502FC */ lh $a1, 0x02FC($v0) ## 000002FC -/* 00E88 809E51A8 8FB8003C */ lw $t8, 0x003C($sp) -/* 00E8C 809E51AC 87AF001E */ lh $t7, 0x001E($sp) -/* 00E90 809E51B0 3C01809E */ lui $at, %hi(D_809E5624) ## $at = 809E0000 -/* 00E94 809E51B4 871902FE */ lh $t9, 0x02FE($t8) ## 000002FE -/* 00E98 809E51B8 C4285624 */ lwc1 $f8, %lo(D_809E5624)($at) -/* 00E9C 809E51BC 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 00EA0 809E51C0 01F94021 */ addu $t0, $t7, $t9 -/* 00EA4 809E51C4 44882000 */ mtc1 $t0, $f4 ## $f4 = 0.00 -/* 00EA8 809E51C8 00000000 */ nop -/* 00EAC 809E51CC 468021A0 */ cvt.s.w $f6, $f4 -/* 00EB0 809E51D0 46083302 */ mul.s $f12, $f6, $f8 -/* 00EB4 809E51D4 0C0342DC */ jal Matrix_RotateX -/* 00EB8 809E51D8 00000000 */ nop -/* 00EBC 809E51DC 8FAA003C */ lw $t2, 0x003C($sp) -/* 00EC0 809E51E0 87A9001C */ lh $t1, 0x001C($sp) -/* 00EC4 809E51E4 3C01809E */ lui $at, %hi(D_809E5628) ## $at = 809E0000 -/* 00EC8 809E51E8 854B02FC */ lh $t3, 0x02FC($t2) ## 000002FC -/* 00ECC 809E51EC C4325628 */ lwc1 $f18, %lo(D_809E5628)($at) -/* 00ED0 809E51F0 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 00ED4 809E51F4 012B6021 */ addu $t4, $t1, $t3 -/* 00ED8 809E51F8 448C5000 */ mtc1 $t4, $f10 ## $f10 = 0.00 -/* 00EDC 809E51FC 00000000 */ nop -/* 00EE0 809E5200 46805420 */ cvt.s.w $f16, $f10 -/* 00EE4 809E5204 46128302 */ mul.s $f12, $f16, $f18 -/* 00EE8 809E5208 0C0343B5 */ jal Matrix_RotateZ -/* 00EEC 809E520C 00000000 */ nop -/* 00EF0 809E5210 10000013 */ beq $zero, $zero, .L809E5260 -/* 00EF4 809E5214 44807000 */ mtc1 $zero, $f14 ## $f14 = 0.00 -.L809E5218: -/* 00EF8 809E5218 448D2000 */ mtc1 $t5, $f4 ## $f4 = 0.00 -/* 00EFC 809E521C 3C01809E */ lui $at, %hi(D_809E562C) ## $at = 809E0000 -/* 00F00 809E5220 C428562C */ lwc1 $f8, %lo(D_809E562C)($at) -/* 00F04 809E5224 468021A0 */ cvt.s.w $f6, $f4 -/* 00F08 809E5228 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 00F0C 809E522C 46083302 */ mul.s $f12, $f6, $f8 -/* 00F10 809E5230 0C0342DC */ jal Matrix_RotateX -/* 00F14 809E5234 00000000 */ nop -/* 00F18 809E5238 87AE001C */ lh $t6, 0x001C($sp) -/* 00F1C 809E523C 3C01809E */ lui $at, %hi(D_809E5630) ## $at = 809E0000 -/* 00F20 809E5240 C4325630 */ lwc1 $f18, %lo(D_809E5630)($at) -/* 00F24 809E5244 448E5000 */ mtc1 $t6, $f10 ## $f10 = 0.00 -/* 00F28 809E5248 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 00F2C 809E524C 46805420 */ cvt.s.w $f16, $f10 -/* 00F30 809E5250 46128302 */ mul.s $f12, $f16, $f18 -/* 00F34 809E5254 0C0343B5 */ jal Matrix_RotateZ -/* 00F38 809E5258 00000000 */ nop -/* 00F3C 809E525C 44807000 */ mtc1 $zero, $f14 ## $f14 = 0.00 -.L809E5260: -/* 00F40 809E5260 3C01C4AF */ lui $at, 0xC4AF ## $at = C4AF0000 -/* 00F44 809E5264 44816000 */ mtc1 $at, $f12 ## $f12 = -1400.00 -/* 00F48 809E5268 44067000 */ mfc1 $a2, $f14 -/* 00F4C 809E526C 0C034261 */ jal Matrix_Translate -/* 00F50 809E5270 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 00F54 809E5274 8FBF0014 */ lw $ra, 0x0014($sp) -.L809E5278: -/* 00F58 809E5278 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 00F5C 809E527C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -/* 00F60 809E5280 03E00008 */ jr $ra -/* 00F64 809E5284 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E5288.s b/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E5288.s deleted file mode 100644 index ed08f0a495..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E5288.s +++ /dev/null @@ -1,58 +0,0 @@ -.rdata -glabel D_809E55A8 - .asciz "../z_en_daiku_kakariko.c" - .balign 4 - -glabel D_809E55C4 - .asciz "../z_en_daiku_kakariko.c" - .balign 4 - -.text -glabel func_809E5288 -/* 00F68 809E5288 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 00F6C 809E528C AFBF0014 */ sw $ra, 0x0014($sp) -/* 00F70 809E5290 AFA40038 */ sw $a0, 0x0038($sp) -/* 00F74 809E5294 AFA5003C */ sw $a1, 0x003C($sp) -/* 00F78 809E5298 AFA60040 */ sw $a2, 0x0040($sp) -/* 00F7C 809E529C AFA70044 */ sw $a3, 0x0044($sp) -/* 00F80 809E52A0 8C850000 */ lw $a1, 0x0000($a0) ## 00000000 -/* 00F84 809E52A4 3C06809E */ lui $a2, %hi(D_809E55A8) ## $a2 = 809E0000 -/* 00F88 809E52A8 24C655A8 */ addiu $a2, $a2, %lo(D_809E55A8) ## $a2 = 809E55A8 -/* 00F8C 809E52AC 27A40020 */ addiu $a0, $sp, 0x0020 ## $a0 = FFFFFFE8 -/* 00F90 809E52B0 24070450 */ addiu $a3, $zero, 0x0450 ## $a3 = 00000450 -/* 00F94 809E52B4 0C031AB1 */ jal Graph_OpenDisps -/* 00F98 809E52B8 AFA50030 */ sw $a1, 0x0030($sp) -/* 00F9C 809E52BC 8FAF003C */ lw $t7, 0x003C($sp) -/* 00FA0 809E52C0 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F -/* 00FA4 809E52C4 3C04809E */ lui $a0, %hi(D_809E5590) ## $a0 = 809E0000 -/* 00FA8 809E52C8 15E10012 */ bne $t7, $at, .L809E5314 -/* 00FAC 809E52CC 8FA50048 */ lw $a1, 0x0048($sp) -/* 00FB0 809E52D0 24845590 */ addiu $a0, $a0, %lo(D_809E5590) ## $a0 = 809E5590 -/* 00FB4 809E52D4 0C0346BD */ jal Matrix_MultVec3f -/* 00FB8 809E52D8 24A50038 */ addiu $a1, $a1, 0x0038 ## $a1 = 00000038 -/* 00FBC 809E52DC 8FA40030 */ lw $a0, 0x0030($sp) -/* 00FC0 809E52E0 3C19DE00 */ lui $t9, 0xDE00 ## $t9 = DE000000 -/* 00FC4 809E52E4 3C0C809E */ lui $t4, %hi(D_809E5580) ## $t4 = 809E0000 -/* 00FC8 809E52E8 8C8302C0 */ lw $v1, 0x02C0($a0) ## 000002C0 -/* 00FCC 809E52EC 24780008 */ addiu $t8, $v1, 0x0008 ## $t8 = 00000008 -/* 00FD0 809E52F0 AC9802C0 */ sw $t8, 0x02C0($a0) ## 000002C0 -/* 00FD4 809E52F4 AC790000 */ sw $t9, 0x0000($v1) ## 00000000 -/* 00FD8 809E52F8 8FA80048 */ lw $t0, 0x0048($sp) -/* 00FDC 809E52FC 8509001C */ lh $t1, 0x001C($t0) ## 0000001C -/* 00FE0 809E5300 312A0003 */ andi $t2, $t1, 0x0003 ## $t2 = 00000000 -/* 00FE4 809E5304 000A5880 */ sll $t3, $t2, 2 -/* 00FE8 809E5308 018B6021 */ addu $t4, $t4, $t3 -/* 00FEC 809E530C 8D8C5580 */ lw $t4, %lo(D_809E5580)($t4) -/* 00FF0 809E5310 AC6C0004 */ sw $t4, 0x0004($v1) ## 00000004 -.L809E5314: -/* 00FF4 809E5314 8FAD0038 */ lw $t5, 0x0038($sp) -/* 00FF8 809E5318 3C06809E */ lui $a2, %hi(D_809E55C4) ## $a2 = 809E0000 -/* 00FFC 809E531C 24C655C4 */ addiu $a2, $a2, %lo(D_809E55C4) ## $a2 = 809E55C4 -/* 01000 809E5320 27A40020 */ addiu $a0, $sp, 0x0020 ## $a0 = FFFFFFE8 -/* 01004 809E5324 24070459 */ addiu $a3, $zero, 0x0459 ## $a3 = 00000459 -/* 01008 809E5328 0C031AD5 */ jal Graph_CloseDisps -/* 0100C 809E532C 8DA50000 */ lw $a1, 0x0000($t5) ## 00000000 -/* 01010 809E5330 8FBF0014 */ lw $ra, 0x0014($sp) -/* 01014 809E5334 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 01018 809E5338 03E00008 */ jr $ra -/* 0101C 809E533C 00000000 */ nop diff --git a/data/overlays/actors/z_en_daiku_kakariko.data.s b/data/overlays/actors/z_en_daiku_kakariko.data.s deleted file mode 100644 index b166990f1c..0000000000 --- a/data/overlays/actors/z_en_daiku_kakariko.data.s +++ /dev/null @@ -1,34 +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_Daiku_Kakariko_InitVars - .word 0x01BC0400, 0x00000019, 0x01220000, 0x00000308 -.word EnDaikuKakariko_Init -.word EnDaikuKakariko_Destroy -.word EnDaikuKakariko_Update -.word EnDaikuKakariko_Draw -glabel D_809E54B0 - .word 0x0A000039, 0x20010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x00120042, 0x00000000, 0x00000000 -glabel D_809E54DC - .word 0x00000000, 0x00000000, 0xFF000000 -glabel D_809E54E8 - .word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 -glabel D_809E5508 - .word 0x06001AB0, 0x3F800000, 0x02000000, 0xC0E00000, 0x06007DE0, 0x3F800000, 0x00000000, 0xC0E00000, 0x0600885C, 0x3F800000, 0x00000000, 0xC0E00000, 0x06000C44, 0x3F800000, 0x00000000, 0xC0E00000, 0x06000600, 0x3F800000, 0x00000000, 0xC0E00000, 0x06008164, 0x3F800000, 0x00000000, 0xC0E00000 -glabel D_809E5568 - .word 0x008000B0, 0x00700470 -glabel D_809E5570 - .word 0x00000001, 0x00000002, 0x00000003, 0x00000004 -glabel D_809E5580 - .word 0x06005BD0, 0x06005AC0, 0x06005990, 0x06005880 -glabel D_809E5590 - .word 0x442F0000, 0x44898000, 0x00000000, 0x00000000 - diff --git a/data/overlays/actors/z_en_daiku_kakariko.reloc.s b/data/overlays/actors/z_en_daiku_kakariko.reloc.s deleted file mode 100644 index 269a6bbfb8..0000000000 --- a/data/overlays/actors/z_en_daiku_kakariko.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_809E5640 - .incbin "baserom/ovl_En_Daiku_Kakariko", 0x1320, 0x00000190 diff --git a/include/z64.h b/include/z64.h index 437047de3c..376595be47 100644 --- a/include/z64.h +++ b/include/z64.h @@ -1061,7 +1061,7 @@ typedef struct { /* 0x0E */ Vec3s unk_0E; /* 0x14 */ f32 unk_14; /* 0x18 */ Vec3f unk_18; - /* 0x24 */ char unk_24[0x4]; + /* 0x24 */ s16 unk_24; } struct_80034A14_arg1; // size = 0x28 typedef struct { diff --git a/spec b/spec index 8d8fe22c7d..d348b9a614 100644 --- a/spec +++ b/spec @@ -2058,8 +2058,7 @@ endseg beginseg name "ovl_En_Daiku_Kakariko" include "build/src/overlays/actors/ovl_En_Daiku_Kakariko/z_en_daiku_kakariko.o" - include "build/data/overlays/actors/z_en_daiku_kakariko.data.o" - include "build/data/overlays/actors/z_en_daiku_kakariko.reloc.o" + include "build/src/overlays/actors/ovl_En_Daiku_Kakariko/ovl_En_Daiku_Kakariko_reloc.o" endseg beginseg diff --git a/src/overlays/actors/ovl_En_Daiku_Kakariko/z_en_daiku_kakariko.c b/src/overlays/actors/ovl_En_Daiku_Kakariko/z_en_daiku_kakariko.c index 7bec3178a7..f9954bbf77 100644 --- a/src/overlays/actors/ovl_En_Daiku_Kakariko/z_en_daiku_kakariko.c +++ b/src/overlays/actors/ovl_En_Daiku_Kakariko/z_en_daiku_kakariko.c @@ -1,17 +1,32 @@ +/* + * File: z_en_daiku_kakariko.c + * Overlay: ovl_En_Daiku_Kakariko + * Description: Kakariko Village Carpenters + */ + #include "z_en_daiku_kakariko.h" #define FLAGS 0x00000019 #define THIS ((EnDaikuKakariko*)thisx) +typedef enum { + /* 0x0 */ CARPENTER_ICHIRO, // Red and purple pants, normal hair + /* 0x1 */ CARPENTER_SABOORO, // Light blue pants + /* 0x2 */ CARPENTER_JIRO, // Green pants + /* 0x3 */ CARPENTER_SHIRO // Pink and purple pants, two-spiked hair +} KakarikoCarpenterType; + void EnDaikuKakariko_Init(Actor* thisx, GlobalContext* globalCtx); void EnDaikuKakariko_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnDaikuKakariko_Update(Actor* thisx, GlobalContext* globalCtx); void EnDaikuKakariko_Draw(Actor* thisx, GlobalContext* globalCtx); -extern UNK_TYPE D_06007958; +void EnDaikuKakariko_Wait(EnDaikuKakariko* this, GlobalContext* globalCtx); +void EnDaikuKakariko_Run(EnDaikuKakariko* this, GlobalContext* globalCtx); + +extern FlexSkeletonHeader D_06007958; -/* const ActorInit En_Daiku_Kakariko_InitVars = { ACTOR_EN_DAIKU_KAKARIKO, ACTORCAT_NPC, @@ -24,7 +39,7 @@ const ActorInit En_Daiku_Kakariko_InitVars = { (ActorFunc)EnDaikuKakariko_Draw, }; -static ColliderCylinderInit D_809E54B0 = { +static ColliderCylinderInit sCylinderInit = { { COLTYPE_NONE, AT_NONE, @@ -43,29 +58,464 @@ static ColliderCylinderInit D_809E54B0 = { }, { 18, 66, 0, { 0, 0, 0 } }, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4320.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/EnDaikuKakariko_Init.s") +static CollisionCheckInfoInit2 sColChkInit = { 0, 0, 0, 0, MASS_IMMOVABLE }; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/EnDaikuKakariko_Destroy.s") +static DamageTable sDamageTable = { 0 }; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E474C.s") +static struct_D_80AA1678 sAnimations[] = { + { 0x06001AB0, 1.0f, 2, -7.0f }, { 0x06007DE0, 1.0f, 0, -7.0f }, { 0x0600885C, 1.0f, 0, -7.0f }, + { 0x06000C44, 1.0f, 0, -7.0f }, { 0x06000600, 1.0f, 0, -7.0f }, { 0x06008164, 1.0f, 0, -7.0f }, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E47EC.s") +void EnDaikuKakariko_SetAnimFromIndex(EnDaikuKakariko* this, s32 animIndex, s32* currentAnimIndex) { + f32 morphFrames; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E49A8.s") + if ((*currentAnimIndex < 0) || (animIndex == *currentAnimIndex)) { + morphFrames = 0.0f; + } else { + morphFrames = sAnimations[animIndex].transitionRate; + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4A7C.s") + Animation_Change(&this->skelAnime, sAnimations[animIndex].animation, 1.0f, 0.0f, + Animation_GetLastFrame(sAnimations[animIndex].animation), sAnimations[animIndex].mode, + morphFrames); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4B14.s") + *currentAnimIndex = animIndex; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E4BC4.s") +void EnDaikuKakariko_Init(Actor* thisx, GlobalContext* globalCtx) { + static u16 initFlags[] = { 0x0080, 0x00B0, 0x0070, 0x0470 }; // List of inital values for this->flags + EnDaikuKakariko* this = THIS; + s32 pad; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/EnDaikuKakariko_Update.s") + if (LINK_AGE_IN_YEARS == YEARS_CHILD) { + switch (globalCtx->sceneNum) { + case SCENE_SPOT01: + if (gSaveContext.nightFlag == 0) { + this->flags |= 1; + this->flags |= initFlags[this->actor.params & 3]; + } + break; + case SCENE_KAKARIKO: + if (gSaveContext.nightFlag == 1) { + this->flags |= 2; + } + break; + case SCENE_DRAG: + this->flags |= 4; + break; + } + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E50B4.s") + if (!(this->flags & 7)) { + Actor_Kill(&this->actor); + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/func_809E5288.s") + if (gSaveContext.nightFlag == 1) { + this->flags |= 8; + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Daiku_Kakariko/EnDaikuKakariko_Draw.s") + ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 40.0f); + + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06007958, NULL, &this->jointTable, &this->morphTable, 17); + Collider_InitCylinder(globalCtx, &this->collider); + Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit); + + CollisionCheck_SetInfo2(&this->actor.colChkInfo, &sDamageTable, &sColChkInit); + + Animation_Change(&this->skelAnime, sAnimations->animation, 1.0f, 0.0f, + Animation_GetLastFrame(sAnimations->animation), sAnimations->mode, sAnimations->transitionRate); + + Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 0.0f, 0.0f, 0.0f, 4); + + this->actor.gravity = 0.0f; + this->runSpeed = 3.0f; + this->actor.uncullZoneForward = 1200.0f; + this->actor.targetMode = 6; + this->currentAnimIndex = -1; + + if (this->flags & 0x40) { + this->actor.gravity = -1.0f; + } + + if (this->flags & 0x10) { + EnDaikuKakariko_SetAnimFromIndex(this, 3, &this->currentAnimIndex); + this->actionFunc = EnDaikuKakariko_Run; + } else { + if (this->flags & 8) { + if (((this->actor.params & 3) == CARPENTER_SABOORO) || ((this->actor.params & 3) == CARPENTER_SHIRO)) { + EnDaikuKakariko_SetAnimFromIndex(this, 5, &this->currentAnimIndex); + this->flags |= 0x800; + } else { + EnDaikuKakariko_SetAnimFromIndex(this, 1, &this->currentAnimIndex); + } + + this->skelAnime.curFrame = (s32)(Rand_ZeroOne() * this->skelAnime.endFrame); + } else { + EnDaikuKakariko_SetAnimFromIndex(this, 0, &this->currentAnimIndex); + this->skelAnime.curFrame = (s32)(Rand_ZeroOne() * this->skelAnime.endFrame); + } + + this->flags |= 0x100; + this->actionFunc = EnDaikuKakariko_Wait; + } +} + +void EnDaikuKakariko_Destroy(Actor* thisx, GlobalContext* globalCtx) { + EnDaikuKakariko* this = THIS; + + Collider_DestroyCylinder(globalCtx, &this->collider); +} + +s32 EnDaikuKakariko_GetTalkState(EnDaikuKakariko* this, GlobalContext* globalCtx) { + s32 talkState = 2; + + if ((func_8010BDBC(&globalCtx->msgCtx) == 6) && (func_80106BC8(globalCtx))) { + switch (this->actor.textId) { + case 0x6061: + gSaveContext.infTable[23] |= 0x40; + break; + case 0x6064: + gSaveContext.infTable[23] |= 0x100; + break; + } + talkState = 0; + } + return talkState; +} + +void EnDaikuKakariko_HandleTalking(EnDaikuKakariko* this, GlobalContext* globalCtx) { + static s32 maskReactionSets[] = { 1, 2, 3, 4 }; + s16 sp26; + s16 sp24; + + if (this->talkState == 2) { + this->talkState = EnDaikuKakariko_GetTalkState(this, globalCtx); + } else if (func_8002F194(&this->actor, globalCtx)) { + this->talkState = 2; + } else { + func_8002F374(globalCtx, &this->actor, &sp26, &sp24); + + if ((sp26 >= 0) && (sp26 <= 320) && (sp24 >= 0) && (sp24 <= 240) && (this->talkState == 0) && + (func_8002F2CC(&this->actor, globalCtx, 100.0f) == 1)) { + this->actor.textId = Text_GetFaceReaction(globalCtx, maskReactionSets[this->actor.params & 3]); + + if (this->actor.textId == 0) { + switch (this->actor.params & 3) { + case 0: + if (this->flags & 8) { + this->actor.textId = 0x5076; + } else { + this->actor.textId = 0x5075; + } + break; + case 1: + if (this->flags & 1) { + this->actor.textId = 0x502A; + } else { + this->actor.textId = 0x5074; + } + break; + case 2: + if (this->flags & 1) { + this->actor.textId = 0x506A; + } else { + this->actor.textId = 0x506B; + } + break; + case 3: + if (this->flags & 1) { + this->actor.textId = 0x5077; + } else { + this->actor.textId = 0x5078; + } + break; + } + } + } + } +} + +void EnDaikuKakariko_Talk(EnDaikuKakariko* this, GlobalContext* globalCtx) { + if (SkelAnime_Update(&this->skelAnime)) { + EnDaikuKakariko_SetAnimFromIndex(this, 3, &this->currentAnimIndex); + } + + EnDaikuKakariko_HandleTalking(this, globalCtx); + + if (this->talkState == 0) { + if (this->flags & 0x10) { + EnDaikuKakariko_SetAnimFromIndex(this, 3, &this->currentAnimIndex); + this->flags &= ~0x0300; + this->actionFunc = EnDaikuKakariko_Run; + return; + } + + if (!(this->flags & 8)) { + EnDaikuKakariko_SetAnimFromIndex(this, 0, &this->currentAnimIndex); + } + + if ((this->flags & 0x800) == 0) { + this->flags &= ~0x0200; + this->flags |= 0x100; + } + + this->actionFunc = EnDaikuKakariko_Wait; + } +} + +void EnDaikuKakariko_Wait(EnDaikuKakariko* this, GlobalContext* globalCtx) { + EnDaikuKakariko_HandleTalking(this, globalCtx); + + if (SkelAnime_Update(&this->skelAnime)) { + EnDaikuKakariko_SetAnimFromIndex(this, 0, &this->currentAnimIndex); + } + + if (this->talkState != 0) { + if (!(this->flags & 8)) { + EnDaikuKakariko_SetAnimFromIndex(this, 4, &this->currentAnimIndex); + } + + if (!(this->flags & 0x800)) { + this->flags |= 0x200; + this->flags &= ~0x0100; + } + + this->actionFunc = EnDaikuKakariko_Talk; + } +} + +void EnDaikuKakariko_StopRunning(EnDaikuKakariko* this, GlobalContext* globalCtx) { + if (SkelAnime_Update(&this->skelAnime)) { + this->timer--; + + if (this->timer <= 0) { + EnDaikuKakariko_SetAnimFromIndex(this, 3, &this->currentAnimIndex); + this->actionFunc = EnDaikuKakariko_Run; + } else { + this->skelAnime.curFrame = this->skelAnime.startFrame; + } + } + + EnDaikuKakariko_HandleTalking(this, globalCtx); + + if (this->talkState != 0) { + this->flags |= 0x200; + EnDaikuKakariko_SetAnimFromIndex(this, 4, &this->currentAnimIndex); + this->actionFunc = EnDaikuKakariko_Talk; + } +} + +void EnDaikuKakariko_Run(EnDaikuKakariko* this, GlobalContext* globalCtx) { + s32 pad; + Path* path; + Vec3s* pathPos; + f32 xDist; + f32 zDist; + s16 runAngle; + f32 runDist; + s16 angleStepDiff; + s32 run; + + do { + path = &globalCtx->setupPathList[(this->actor.params >> 8) & 0xFF]; + pathPos = &((Vec3s*)SEGMENTED_TO_VIRTUAL(path->points))[this->waypoint]; + xDist = pathPos->x - this->actor.world.pos.x; + zDist = pathPos->z - this->actor.world.pos.z; + runAngle = Math_FAtan2F(xDist, zDist) * (32768.0f / M_PI); + runDist = sqrtf((xDist * xDist) + (zDist * zDist)); + + run = false; + + if (runDist <= 10.0f) { + if (this->pathContinue == false) { + this->waypoint++; + + if (this->waypoint >= path->count) { + if (this->flags & 0x20) { + this->waypoint = path->count - 2; + this->pathContinue = true; + this->run = run = false; + + if (this->flags & 0x400) { + this->timer = 2; + EnDaikuKakariko_SetAnimFromIndex(this, 0, &this->currentAnimIndex); + this->actionFunc = EnDaikuKakariko_StopRunning; + return; + } + } else { + this->waypoint = 0; + run = true; + } + } else { + this->run = run = true; + } + } else { + this->waypoint--; + + if (this->waypoint < 0) { + this->waypoint = 1; + this->pathContinue = false; + this->run = run = false; + + if (this->flags & 0x400) { + this->timer = 2; + EnDaikuKakariko_SetAnimFromIndex(this, 0, &this->currentAnimIndex); + this->actionFunc = EnDaikuKakariko_StopRunning; + return; + } + } else { + run = true; + } + } + } + } while (run); + + angleStepDiff = Math_SmoothStepToS(&this->actor.shape.rot.y, runAngle, 1, 5000, 0); + + this->actor.world.rot.y = this->actor.shape.rot.y; + + if (this->run == false) { + if (angleStepDiff == 0) { + this->run = true; + } else { + this->actor.speedXZ = 0.0f; + } + } + + if (this->run == true) { + Math_SmoothStepToF(&this->actor.speedXZ, this->runSpeed, 0.8f, runDist, 0.0f); + } + + Actor_MoveForward(&this->actor); + + if (this->flags & 0x40) { + Actor_UpdateBgCheckInfo(globalCtx, this, 0.0f, 0.0f, 0.0f, 4); + } else if (this->flags & 0x80) { + this->runFlag |= 1; + this->flags &= ~0x0080; + } else if (this->runFlag & 1) { + Actor_UpdateBgCheckInfo(globalCtx, this, 0.0f, 0.0f, 0.0f, 4); + this->runFlag &= ~1; + } + + SkelAnime_Update(&this->skelAnime); + EnDaikuKakariko_HandleTalking(this, globalCtx); + + if (this->talkState != 0) { + this->flags |= 0x200; + EnDaikuKakariko_SetAnimFromIndex(this, 4, &this->currentAnimIndex); + this->actionFunc = EnDaikuKakariko_Talk; + } +} + +void EnDaikuKakariko_Update(Actor* thisx, GlobalContext* globalCtx) { + EnDaikuKakariko* this = THIS; + s32 pad; + Player* player = PLAYER; + s32 pad2; + + if (this->currentAnimIndex == 3) { + if (((s32)this->skelAnime.curFrame == 6) || ((s32)this->skelAnime.curFrame == 15)) { + Audio_PlayActorSound2(&this->actor, NA_SE_EN_MORIBLIN_WALK); + } + } + + Collider_UpdateCylinder(&this->actor, &this->collider); + + if (this->flags & 4) { + this->collider.dim.pos.x -= 27; + this->collider.dim.pos.z -= 27; + this->collider.dim.radius = 63; + } + + CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base); + + this->actionFunc(this, globalCtx); + + this->npcInfo.unk_18.x = player->actor.focus.pos.x; + this->npcInfo.unk_18.y = player->actor.focus.pos.y; + this->npcInfo.unk_18.z = player->actor.focus.pos.z; + + if (this->flags & 0x100) { + this->neckAngleTarget.x = 5900; + this->flags |= 0x1000; + func_80034A14(&this->actor, &this->npcInfo, 0, 2); + } else if (this->flags & 0x200) { + this->neckAngleTarget.x = 5900; + this->flags |= 0x1000; + func_80034A14(&this->actor, &this->npcInfo, 0, 4); + } + + Math_SmoothStepToS(&this->neckAngle.x, this->neckAngleTarget.x, 1, 1820, 0); +} + +s32 EnDaikuKakariko_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, + void* thisx) { + EnDaikuKakariko* this = THIS; + Vec3s angle; + + switch (limbIndex) { + case 8: + angle = this->npcInfo.unk_0E; + Matrix_RotateX(-(angle.y * (M_PI / 32768.0f)), MTXMODE_APPLY); + Matrix_RotateZ(-(angle.x * (M_PI / 32768.0f)), MTXMODE_APPLY); + break; + case 15: + Matrix_Translate(1400.0f, 0.0f, 0.0f, MTXMODE_APPLY); + angle = this->npcInfo.unk_08; + + if (this->flags & 0x1000) { + osSyncPrintf("<%d>\n", this->neckAngle.x); + Matrix_RotateX((angle.y + this->neckAngle.y) * (M_PI / 32768.0f), MTXMODE_APPLY); + Matrix_RotateZ((angle.x + this->neckAngle.x) * (M_PI / 32768.0f), MTXMODE_APPLY); + } else { + Matrix_RotateX(angle.y * (M_PI / 32768.0f), MTXMODE_APPLY); + Matrix_RotateZ(angle.x * (M_PI / 32768.0f), MTXMODE_APPLY); + } + + Matrix_Translate(-1400.0f, 0.0f, 0.0f, MTXMODE_APPLY); + break; + } + + return 0; +} + +void EnDaikuKakariko_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { + static Gfx* carpenterHeadDLists[] = { 0x06005BD0, 0x06005AC0, 0x06005990, 0x06005880 }; + static Vec3f unkVec = { 700.0f, 1100.0f, 0.0f }; + EnDaikuKakariko* this = THIS; + + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_daiku_kakariko.c", 1104); + + if (limbIndex == 15) { + Matrix_MultVec3f(&unkVec, &this->actor.focus.pos); + gSPDisplayList(POLY_OPA_DISP++, carpenterHeadDLists[this->actor.params & 3]); + } + + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_daiku_kakariko.c", 1113); +} + +void EnDaikuKakariko_Draw(Actor* thisx, GlobalContext* globalCtx) { + EnDaikuKakariko* this = THIS; + + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_daiku_kakariko.c", 1124); + + func_80093D18(globalCtx->state.gfxCtx); + + if ((thisx->params & 3) == CARPENTER_ICHIRO) { + gDPSetEnvColor(POLY_OPA_DISP++, 170, 10, 70, 255); + } else if ((thisx->params & 3) == CARPENTER_SABOORO) { + gDPSetEnvColor(POLY_OPA_DISP++, 170, 200, 255, 255); + } else if ((thisx->params & 3) == CARPENTER_JIRO) { + gDPSetEnvColor(POLY_OPA_DISP++, 0, 230, 70, 255); + } else if ((thisx->params & 3) == CARPENTER_SHIRO) { + gDPSetEnvColor(POLY_OPA_DISP++, 200, 0, 150, 255); + } + + SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, + EnDaikuKakariko_OverrideLimbDraw, EnDaikuKakariko_PostLimbDraw, thisx); + + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_daiku_kakariko.c", 1151); +} diff --git a/src/overlays/actors/ovl_En_Daiku_Kakariko/z_en_daiku_kakariko.h b/src/overlays/actors/ovl_En_Daiku_Kakariko/z_en_daiku_kakariko.h index ec07a3a077..3ea130c1b3 100644 --- a/src/overlays/actors/ovl_En_Daiku_Kakariko/z_en_daiku_kakariko.h +++ b/src/overlays/actors/ovl_En_Daiku_Kakariko/z_en_daiku_kakariko.h @@ -6,9 +6,28 @@ struct EnDaikuKakariko; +typedef void (*EnDaikuKakarikoActionFunc)(struct EnDaikuKakariko*, GlobalContext*); + typedef struct EnDaikuKakariko { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x1BC]; + /* 0x014C */ SkelAnime skelAnime; + /* 0x0190 */ EnDaikuKakarikoActionFunc actionFunc; + /* 0x0194 */ ColliderCylinder collider; + /* 0x01E0 */ s32 talkState; + /* 0x01E4 */ s32 waypoint; + /* 0x01E8 */ f32 runSpeed; + /* 0x01EC */ s32 currentAnimIndex; + /* 0x01F0 */ char unk_1F0[8]; // Unused variables? + /* 0x01F8 */ s32 pathContinue; // If true, continue looping through the path data + /* 0x01FC */ s32 run; // If true the carpenter will run + /* 0x0200 */ u16 flags; + /* 0x0202 */ u16 runFlag; + /* 0x0204 */ struct_80034A14_arg1 npcInfo; // Info related to NPCs and turning their head towards the player + /* 0x022C */ Vec3s jointTable[17]; + /* 0x0292 */ Vec3s morphTable[17]; + /* 0x02F8 */ s32 timer; + /* 0x02FC */ Vec3s neckAngle; + /* 0x0302 */ Vec3s neckAngleTarget; } EnDaikuKakariko; // size = 0x0308 extern const ActorInit En_Daiku_Kakariko_InitVars;