From 3dd521eef510605bd05ed821ef125c8c983440b2 Mon Sep 17 00:00:00 2001 From: Lucas Shaw <49287729+shawlucas@users.noreply.github.com> Date: Sun, 19 Jul 2020 14:41:59 -0700 Subject: [PATCH] ovl_En_Okarina_Tag OK (#273) * started okarinatag * did more * z_en_okarina_tag OK * finished okarinatag * Made suggested changes --- .../ovl_En_Okarina_Tag/EnOkarinaTag_Destroy.s | 4 - .../ovl_En_Okarina_Tag/EnOkarinaTag_Init.s | 203 ----------- .../ovl_En_Okarina_Tag/EnOkarinaTag_Update.s | 80 ----- .../actors/ovl_En_Okarina_Tag/func_80ABEF2C.s | 120 ------- .../actors/ovl_En_Okarina_Tag/func_80ABF0CC.s | 126 ------- .../actors/ovl_En_Okarina_Tag/func_80ABF28C.s | 167 --------- .../actors/ovl_En_Okarina_Tag/func_80ABF4C8.s | 166 --------- .../actors/ovl_En_Okarina_Tag/func_80ABF708.s | 54 --- .../actors/ovl_En_Okarina_Tag/func_80ABF7CC.s | 65 ---- data/overlays/actors/z_en_okarina_tag.data.s | 22 -- data/overlays/actors/z_en_okarina_tag.reloc.s | 13 - include/functions.h | 1 + include/z64.h | 4 +- spec | 4 +- .../actors/ovl_En_Okarina_Tag/overlay.cfg | 1 + .../ovl_En_Okarina_Tag/z_en_okarina_tag.c | 317 +++++++++++++++++- .../ovl_En_Okarina_Tag/z_en_okarina_tag.h | 11 +- .../z_en_okarina_tag_cutscene_data.c | 137 ++++++++ undefined_syms.txt | 5 + 19 files changed, 465 insertions(+), 1035 deletions(-) delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/EnOkarinaTag_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/EnOkarinaTag_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/EnOkarinaTag_Update.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/func_80ABEF2C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/func_80ABF0CC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/func_80ABF28C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/func_80ABF4C8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/func_80ABF708.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/func_80ABF7CC.s delete mode 100644 data/overlays/actors/z_en_okarina_tag.data.s delete mode 100644 data/overlays/actors/z_en_okarina_tag.reloc.s create mode 100644 src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag_cutscene_data.c diff --git a/asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/EnOkarinaTag_Destroy.s b/asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/EnOkarinaTag_Destroy.s deleted file mode 100644 index 938f1939eb..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/EnOkarinaTag_Destroy.s +++ /dev/null @@ -1,4 +0,0 @@ -glabel EnOkarinaTag_Destroy -/* 00000 80ABED20 AFA40000 */ sw $a0, 0x0000($sp) -/* 00004 80ABED24 03E00008 */ jr $ra -/* 00008 80ABED28 AFA50004 */ sw $a1, 0x0004($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/EnOkarinaTag_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/EnOkarinaTag_Init.s deleted file mode 100644 index 5251b04c16..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/EnOkarinaTag_Init.s +++ /dev/null @@ -1,203 +0,0 @@ -.rdata -glabel D_80AC0300 - .asciz "\n\n" - .balign 4 - -glabel D_80AC0304 - .asciz "☆☆☆☆☆ オカリナタグ発生 ☆☆☆☆☆ %x\n" - .balign 4 - -glabel D_80AC0338 - .asciz "☆☆☆☆☆ セーブ情報 ☆☆☆☆☆ %d\n" - .balign 4 - -glabel D_80AC0368 - .asciz "☆☆☆☆☆ 種類インデックス ☆☆☆☆☆ %d\n" - .balign 4 - -glabel D_80AC039C - .asciz "☆☆☆☆☆ 正解情報 ☆☆☆☆☆ %d\n" - .balign 4 - -glabel D_80AC03C8 - .asciz "☆☆☆☆☆ 範囲情報 ☆☆☆☆☆ %d\n" - .balign 4 - -glabel D_80AC03F4 - .asciz "☆☆☆☆☆ 処理範囲情報 ☆☆☆☆☆ %f\n" - .balign 4 - -glabel D_80AC0424 - .asciz "☆☆☆☆☆ 当り? ☆☆☆☆☆ %d\n" - .balign 4 - -glabel D_80AC0450 - .asciz "\n\n" - .balign 4 - -.late_rodata -glabel jtbl_80AC0508 -.word L80ABEEE8 -.word L80ABEEC8 -.word L80ABEF10 -.word L80ABEEE8 -.word L80ABEEF8 -.word L80ABEEE8 -.word L80ABEEB8 - -.text -glabel EnOkarinaTag_Init -/* 0000C 80ABED2C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 00010 80ABED30 AFB00018 */ sw $s0, 0x0018($sp) -/* 00014 80ABED34 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00018 80ABED38 AFBF001C */ sw $ra, 0x001C($sp) -/* 0001C 80ABED3C 3C0480AC */ lui $a0, %hi(D_80AC0300) ## $a0 = 80AC0000 -/* 00020 80ABED40 AFA50024 */ sw $a1, 0x0024($sp) -/* 00024 80ABED44 0C00084C */ jal osSyncPrintf - -/* 00028 80ABED48 24840300 */ addiu $a0, $a0, %lo(D_80AC0300) ## $a0 = 80AC0300 -/* 0002C 80ABED4C 3C0480AC */ lui $a0, %hi(D_80AC0304) ## $a0 = 80AC0000 -/* 00030 80ABED50 24840304 */ addiu $a0, $a0, %lo(D_80AC0304) ## $a0 = 80AC0304 -/* 00034 80ABED54 0C00084C */ jal osSyncPrintf - -/* 00038 80ABED58 8605001C */ lh $a1, 0x001C($s0) ## 0000001C -/* 0003C 80ABED5C 8602001C */ lh $v0, 0x001C($s0) ## 0000001C -/* 00040 80ABED60 8E0E0004 */ lw $t6, 0x0004($s0) ## 00000004 -/* 00044 80ABED64 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE -/* 00048 80ABED68 304A003F */ andi $t2, $v0, 0x003F ## $t2 = 00000000 -/* 0004C 80ABED6C A60A0154 */ sh $t2, 0x0154($s0) ## 00000154 -/* 00050 80ABED70 860B0154 */ lh $t3, 0x0154($s0) ## 00000154 -/* 00054 80ABED74 0002C283 */ sra $t8, $v0, 10 -/* 00058 80ABED78 00024183 */ sra $t0, $v0, 6 -/* 0005C 80ABED7C 01C17824 */ and $t7, $t6, $at -/* 00060 80ABED80 3319003F */ andi $t9, $t8, 0x003F ## $t9 = 00000000 -/* 00064 80ABED84 3109000F */ andi $t1, $t0, 0x000F ## $t1 = 00000000 -/* 00068 80ABED88 2401003F */ addiu $at, $zero, 0x003F ## $at = 0000003F -/* 0006C 80ABED8C AE0F0004 */ sw $t7, 0x0004($s0) ## 00000004 -/* 00070 80ABED90 A6190150 */ sh $t9, 0x0150($s0) ## 00000150 -/* 00074 80ABED94 15610003 */ bne $t3, $at, .L80ABEDA4 -/* 00078 80ABED98 A6090152 */ sh $t1, 0x0152($s0) ## 00000152 -/* 0007C 80ABED9C 240CFFFF */ addiu $t4, $zero, 0xFFFF ## $t4 = FFFFFFFF -/* 00080 80ABEDA0 A60C0154 */ sh $t4, 0x0154($s0) ## 00000154 -.L80ABEDA4: -/* 00084 80ABEDA4 860D0152 */ lh $t5, 0x0152($s0) ## 00000152 -/* 00088 80ABEDA8 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F -/* 0008C 80ABEDAC 3C0480AC */ lui $a0, %hi(D_80AC0338) ## $a0 = 80AC0000 -/* 00090 80ABEDB0 15A10004 */ bne $t5, $at, .L80ABEDC4 -/* 00094 80ABEDB4 24840338 */ addiu $a0, $a0, %lo(D_80AC0338) ## $a0 = 80AC0338 -/* 00098 80ABEDB8 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001 -/* 0009C 80ABEDBC A6000152 */ sh $zero, 0x0152($s0) ## 00000152 -/* 000A0 80ABEDC0 A60E0158 */ sh $t6, 0x0158($s0) ## 00000158 -.L80ABEDC4: -/* 000A4 80ABEDC4 86020034 */ lh $v0, 0x0034($s0) ## 00000034 -/* 000A8 80ABEDC8 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001 -/* 000AC 80ABEDCC A20F001F */ sb $t7, 0x001F($s0) ## 0000001F -/* 000B0 80ABEDD0 18400007 */ blez $v0, .L80ABEDF0 -/* 000B4 80ABEDD4 00000000 */ nop -/* 000B8 80ABEDD8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00 -/* 000BC 80ABEDDC 3C014220 */ lui $at, 0x4220 ## $at = 42200000 -/* 000C0 80ABEDE0 44814000 */ mtc1 $at, $f8 ## $f8 = 40.00 -/* 000C4 80ABEDE4 468021A0 */ cvt.s.w $f6, $f4 -/* 000C8 80ABEDE8 46083282 */ mul.s $f10, $f6, $f8 -/* 000CC 80ABEDEC E60A015C */ swc1 $f10, 0x015C($s0) ## 0000015C -.L80ABEDF0: -/* 000D0 80ABEDF0 0C00084C */ jal osSyncPrintf - -/* 000D4 80ABEDF4 86050154 */ lh $a1, 0x0154($s0) ## 00000154 -/* 000D8 80ABEDF8 3C0480AC */ lui $a0, %hi(D_80AC0368) ## $a0 = 80AC0000 -/* 000DC 80ABEDFC 24840368 */ addiu $a0, $a0, %lo(D_80AC0368) ## $a0 = 80AC0368 -/* 000E0 80ABEE00 0C00084C */ jal osSyncPrintf - -/* 000E4 80ABEE04 86050150 */ lh $a1, 0x0150($s0) ## 00000150 -/* 000E8 80ABEE08 3C0480AC */ lui $a0, %hi(D_80AC039C) ## $a0 = 80AC0000 -/* 000EC 80ABEE0C 2484039C */ addiu $a0, $a0, %lo(D_80AC039C) ## $a0 = 80AC039C -/* 000F0 80ABEE10 0C00084C */ jal osSyncPrintf - -/* 000F4 80ABEE14 86050152 */ lh $a1, 0x0152($s0) ## 00000152 -/* 000F8 80ABEE18 3C0480AC */ lui $a0, %hi(D_80AC03C8) ## $a0 = 80AC0000 -/* 000FC 80ABEE1C 248403C8 */ addiu $a0, $a0, %lo(D_80AC03C8) ## $a0 = 80AC03C8 -/* 00100 80ABEE20 0C00084C */ jal osSyncPrintf - -/* 00104 80ABEE24 86050034 */ lh $a1, 0x0034($s0) ## 00000034 -/* 00108 80ABEE28 C610015C */ lwc1 $f16, 0x015C($s0) ## 0000015C -/* 0010C 80ABEE2C 3C0480AC */ lui $a0, %hi(D_80AC03F4) ## $a0 = 80AC0000 -/* 00110 80ABEE30 248403F4 */ addiu $a0, $a0, %lo(D_80AC03F4) ## $a0 = 80AC03F4 -/* 00114 80ABEE34 460084A1 */ cvt.d.s $f18, $f16 -/* 00118 80ABEE38 44079000 */ mfc1 $a3, $f18 -/* 0011C 80ABEE3C 44069800 */ mfc1 $a2, $f19 -/* 00120 80ABEE40 0C00084C */ jal osSyncPrintf - -/* 00124 80ABEE44 00000000 */ nop -/* 00128 80ABEE48 3C0480AC */ lui $a0, %hi(D_80AC0424) ## $a0 = 80AC0000 -/* 0012C 80ABEE4C 24840424 */ addiu $a0, $a0, %lo(D_80AC0424) ## $a0 = 80AC0424 -/* 00130 80ABEE50 0C00084C */ jal osSyncPrintf - -/* 00134 80ABEE54 86050158 */ lh $a1, 0x0158($s0) ## 00000158 -/* 00138 80ABEE58 3C0480AC */ lui $a0, %hi(D_80AC0450) ## $a0 = 80AC0000 -/* 0013C 80ABEE5C 0C00084C */ jal osSyncPrintf - -/* 00140 80ABEE60 24840450 */ addiu $a0, $a0, %lo(D_80AC0450) ## $a0 = 80AC0450 -/* 00144 80ABEE64 86050154 */ lh $a1, 0x0154($s0) ## 00000154 -/* 00148 80ABEE68 04A2000A */ bltzl $a1, .L80ABEE94 -/* 0014C 80ABEE6C 86180150 */ lh $t8, 0x0150($s0) ## 00000150 -/* 00150 80ABEE70 0C00B2D0 */ jal Flags_GetSwitch - -/* 00154 80ABEE74 8FA40024 */ lw $a0, 0x0024($sp) -/* 00158 80ABEE78 50400006 */ beql $v0, $zero, .L80ABEE94 -/* 0015C 80ABEE7C 86180150 */ lh $t8, 0x0150($s0) ## 00000150 -/* 00160 80ABEE80 0C00B55C */ jal Actor_Kill - -/* 00164 80ABEE84 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00168 80ABEE88 10000024 */ beq $zero, $zero, .L80ABEF1C -/* 0016C 80ABEE8C 8FBF001C */ lw $ra, 0x001C($sp) -/* 00170 80ABEE90 86180150 */ lh $t8, 0x0150($s0) ## 00000150 -.L80ABEE94: -/* 00174 80ABEE94 2719FFFF */ addiu $t9, $t8, 0xFFFF ## $t9 = FFFFFFFF -/* 00178 80ABEE98 2F210007 */ sltiu $at, $t9, 0x0007 -/* 0017C 80ABEE9C 1020001C */ beq $at, $zero, .L80ABEF10 -/* 00180 80ABEEA0 0019C880 */ sll $t9, $t9, 2 -/* 00184 80ABEEA4 3C0180AC */ lui $at, %hi(jtbl_80AC0508) ## $at = 80AC0000 -/* 00188 80ABEEA8 00390821 */ addu $at, $at, $t9 -/* 0018C 80ABEEAC 8C390508 */ lw $t9, %lo(jtbl_80AC0508)($at) -/* 00190 80ABEEB0 03200008 */ jr $t9 -/* 00194 80ABEEB4 00000000 */ nop -glabel L80ABEEB8 -/* 00198 80ABEEB8 3C0880AC */ lui $t0, %hi(func_80ABEF2C) ## $t0 = 80AC0000 -/* 0019C 80ABEEBC 2508EF2C */ addiu $t0, $t0, %lo(func_80ABEF2C) ## $t0 = 80ABEF2C -/* 001A0 80ABEEC0 10000015 */ beq $zero, $zero, .L80ABEF18 -/* 001A4 80ABEEC4 AE08014C */ sw $t0, 0x014C($s0) ## 0000014C -glabel L80ABEEC8 -/* 001A8 80ABEEC8 3C098016 */ lui $t1, %hi(gSaveContext+4) -/* 001AC 80ABEECC 8D29E664 */ lw $t1, %lo(gSaveContext+4)($t1) -/* 001B0 80ABEED0 15200005 */ bne $t1, $zero, .L80ABEEE8 -/* 001B4 80ABEED4 00000000 */ nop -/* 001B8 80ABEED8 0C00B55C */ jal Actor_Kill - -/* 001BC 80ABEEDC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 001C0 80ABEEE0 1000000E */ beq $zero, $zero, .L80ABEF1C -/* 001C4 80ABEEE4 8FBF001C */ lw $ra, 0x001C($sp) -glabel L80ABEEE8 -.L80ABEEE8: -/* 001C8 80ABEEE8 3C0A80AC */ lui $t2, %hi(func_80ABF28C) ## $t2 = 80AC0000 -/* 001CC 80ABEEEC 254AF28C */ addiu $t2, $t2, %lo(func_80ABF28C) ## $t2 = 80ABF28C -/* 001D0 80ABEEF0 10000009 */ beq $zero, $zero, .L80ABEF18 -/* 001D4 80ABEEF4 AE0A014C */ sw $t2, 0x014C($s0) ## 0000014C -glabel L80ABEEF8 -/* 001D8 80ABEEF8 3C0C80AC */ lui $t4, %hi(func_80ABF708) ## $t4 = 80AC0000 -/* 001DC 80ABEEFC 240B5021 */ addiu $t3, $zero, 0x5021 ## $t3 = 00005021 -/* 001E0 80ABEF00 258CF708 */ addiu $t4, $t4, %lo(func_80ABF708) ## $t4 = 80ABF708 -/* 001E4 80ABEF04 A60B010E */ sh $t3, 0x010E($s0) ## 0000010E -/* 001E8 80ABEF08 10000003 */ beq $zero, $zero, .L80ABEF18 -/* 001EC 80ABEF0C AE0C014C */ sw $t4, 0x014C($s0) ## 0000014C -glabel L80ABEF10 -.L80ABEF10: -/* 001F0 80ABEF10 0C00B55C */ jal Actor_Kill - -/* 001F4 80ABEF14 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -.L80ABEF18: -/* 001F8 80ABEF18 8FBF001C */ lw $ra, 0x001C($sp) -.L80ABEF1C: -/* 001FC 80ABEF1C 8FB00018 */ lw $s0, 0x0018($sp) -/* 00200 80ABEF20 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00204 80ABEF24 03E00008 */ jr $ra -/* 00208 80ABEF28 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/EnOkarinaTag_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/EnOkarinaTag_Update.s deleted file mode 100644 index aead0f9178..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/EnOkarinaTag_Update.s +++ /dev/null @@ -1,80 +0,0 @@ -glabel EnOkarinaTag_Update -/* 00B88 80ABF8A8 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8 -/* 00B8C 80ABF8AC AFBF0044 */ sw $ra, 0x0044($sp) -/* 00B90 80ABF8B0 AFA40048 */ sw $a0, 0x0048($sp) -/* 00B94 80ABF8B4 AFA5004C */ sw $a1, 0x004C($sp) -/* 00B98 80ABF8B8 8C99014C */ lw $t9, 0x014C($a0) ## 0000014C -/* 00B9C 80ABF8BC 0320F809 */ jalr $ra, $t9 -/* 00BA0 80ABF8C0 00000000 */ nop -/* 00BA4 80ABF8C4 3C0E8016 */ lui $t6, %hi(gGameInfo) -/* 00BA8 80ABF8C8 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6) -/* 00BAC 80ABF8CC 8FA40048 */ lw $a0, 0x0048($sp) -/* 00BB0 80ABF8D0 8FA5004C */ lw $a1, 0x004C($sp) -/* 00BB4 80ABF8D4 85CF12D4 */ lh $t7, 0x12D4($t6) ## 801612D4 -/* 00BB8 80ABF8D8 51E0003A */ beql $t7, $zero, .L80ABF9C4 -/* 00BBC 80ABF8DC 8FBF0044 */ lw $ra, 0x0044($sp) -/* 00BC0 80ABF8E0 8482015A */ lh $v0, 0x015A($a0) ## 0000015A -/* 00BC4 80ABF8E4 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00BC8 80ABF8E8 240800FF */ addiu $t0, $zero, 0x00FF ## $t0 = 000000FF -/* 00BCC 80ABF8EC 1040001F */ beq $v0, $zero, .L80ABF96C -/* 00BD0 80ABF8F0 240900FF */ addiu $t1, $zero, 0x00FF ## $t1 = 000000FF -/* 00BD4 80ABF8F4 30580001 */ andi $t8, $v0, 0x0001 ## $t8 = 00000000 -/* 00BD8 80ABF8F8 17000031 */ bne $t8, $zero, .L80ABF9C0 -/* 00BDC 80ABF8FC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00BE0 80ABF900 84880032 */ lh $t0, 0x0032($a0) ## 00000032 -/* 00BE4 80ABF904 C48C0024 */ lwc1 $f12, 0x0024($a0) ## 00000024 -/* 00BE8 80ABF908 C48E0028 */ lwc1 $f14, 0x0028($a0) ## 00000028 -/* 00BEC 80ABF90C 8C86002C */ lw $a2, 0x002C($a0) ## 0000002C -/* 00BF0 80ABF910 84870030 */ lh $a3, 0x0030($a0) ## 00000030 -/* 00BF4 80ABF914 AFA80010 */ sw $t0, 0x0010($sp) -/* 00BF8 80ABF918 84890034 */ lh $t1, 0x0034($a0) ## 00000034 -/* 00BFC 80ABF91C 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00 -/* 00C00 80ABF920 240A0078 */ addiu $t2, $zero, 0x0078 ## $t2 = 00000078 -/* 00C04 80ABF924 240B0078 */ addiu $t3, $zero, 0x0078 ## $t3 = 00000078 -/* 00C08 80ABF928 240C0078 */ addiu $t4, $zero, 0x0078 ## $t4 = 00000078 -/* 00C0C 80ABF92C 240D00FF */ addiu $t5, $zero, 0x00FF ## $t5 = 000000FF -/* 00C10 80ABF930 24190004 */ addiu $t9, $zero, 0x0004 ## $t9 = 00000004 -/* 00C14 80ABF934 AFB90034 */ sw $t9, 0x0034($sp) -/* 00C18 80ABF938 AFAD0030 */ sw $t5, 0x0030($sp) -/* 00C1C 80ABF93C AFAC002C */ sw $t4, 0x002C($sp) -/* 00C20 80ABF940 AFAB0028 */ sw $t3, 0x0028($sp) -/* 00C24 80ABF944 AFAA0024 */ sw $t2, 0x0024($sp) -/* 00C28 80ABF948 AFA90014 */ sw $t1, 0x0014($sp) -/* 00C2C 80ABF94C E7A00018 */ swc1 $f0, 0x0018($sp) -/* 00C30 80ABF950 E7A0001C */ swc1 $f0, 0x001C($sp) -/* 00C34 80ABF954 E7A00020 */ swc1 $f0, 0x0020($sp) -/* 00C38 80ABF958 8CAE0000 */ lw $t6, 0x0000($a1) ## 00000000 -/* 00C3C 80ABF95C 0C018FA7 */ jal DebugDisplay_AddObject - -/* 00C40 80ABF960 AFAE0038 */ sw $t6, 0x0038($sp) -/* 00C44 80ABF964 10000017 */ beq $zero, $zero, .L80ABF9C4 -/* 00C48 80ABF968 8FBF0044 */ lw $ra, 0x0044($sp) -.L80ABF96C: -/* 00C4C 80ABF96C 848F0032 */ lh $t7, 0x0032($a0) ## 00000032 -/* 00C50 80ABF970 C48C0024 */ lwc1 $f12, 0x0024($a0) ## 00000024 -/* 00C54 80ABF974 C48E0028 */ lwc1 $f14, 0x0028($a0) ## 00000028 -/* 00C58 80ABF978 8C86002C */ lw $a2, 0x002C($a0) ## 0000002C -/* 00C5C 80ABF97C 84870030 */ lh $a3, 0x0030($a0) ## 00000030 -/* 00C60 80ABF980 AFAF0010 */ sw $t7, 0x0010($sp) -/* 00C64 80ABF984 84980034 */ lh $t8, 0x0034($a0) ## 00000034 -/* 00C68 80ABF988 44810000 */ mtc1 $at, $f0 ## $f0 = 0.00 -/* 00C6C 80ABF98C 240A0004 */ addiu $t2, $zero, 0x0004 ## $t2 = 00000004 -/* 00C70 80ABF990 AFAA0034 */ sw $t2, 0x0034($sp) -/* 00C74 80ABF994 AFA90030 */ sw $t1, 0x0030($sp) -/* 00C78 80ABF998 AFA0002C */ sw $zero, 0x002C($sp) -/* 00C7C 80ABF99C AFA00028 */ sw $zero, 0x0028($sp) -/* 00C80 80ABF9A0 AFA80024 */ sw $t0, 0x0024($sp) -/* 00C84 80ABF9A4 AFB80014 */ sw $t8, 0x0014($sp) -/* 00C88 80ABF9A8 E7A00018 */ swc1 $f0, 0x0018($sp) -/* 00C8C 80ABF9AC E7A0001C */ swc1 $f0, 0x001C($sp) -/* 00C90 80ABF9B0 E7A00020 */ swc1 $f0, 0x0020($sp) -/* 00C94 80ABF9B4 8CAB0000 */ lw $t3, 0x0000($a1) ## 00000000 -/* 00C98 80ABF9B8 0C018FA7 */ jal DebugDisplay_AddObject - -/* 00C9C 80ABF9BC AFAB0038 */ sw $t3, 0x0038($sp) -.L80ABF9C0: -/* 00CA0 80ABF9C0 8FBF0044 */ lw $ra, 0x0044($sp) -.L80ABF9C4: -/* 00CA4 80ABF9C4 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000 -/* 00CA8 80ABF9C8 03E00008 */ jr $ra -/* 00CAC 80ABF9CC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/func_80ABEF2C.s b/asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/func_80ABEF2C.s deleted file mode 100644 index 07a3cdde85..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/func_80ABEF2C.s +++ /dev/null @@ -1,120 +0,0 @@ -.rdata -glabel D_80AC0454 - .asciz "☆☆☆☆☆ 北!!!!! ☆☆☆☆☆ %f\n" - .balign 4 - -.text -glabel func_80ABEF2C -/* 0020C 80ABEF2C 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 00210 80ABEF30 AFBF001C */ sw $ra, 0x001C($sp) -/* 00214 80ABEF34 AFB00018 */ sw $s0, 0x0018($sp) -/* 00218 80ABEF38 AFA5002C */ sw $a1, 0x002C($sp) -/* 0021C 80ABEF3C 848F015A */ lh $t7, 0x015A($a0) ## 0000015A -/* 00220 80ABEF40 84860154 */ lh $a2, 0x0154($a0) ## 00000154 -/* 00224 80ABEF44 8CA81C44 */ lw $t0, 0x1C44($a1) ## 00001C44 -/* 00228 80ABEF48 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001 -/* 0022C 80ABEF4C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00230 80ABEF50 04C0000C */ bltz $a2, .L80ABEF84 -/* 00234 80ABEF54 A498015A */ sh $t8, 0x015A($a0) ## 0000015A -/* 00238 80ABEF58 8FA4002C */ lw $a0, 0x002C($sp) -/* 0023C 80ABEF5C 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000000 -/* 00240 80ABEF60 0C00B2D0 */ jal Flags_GetSwitch - -/* 00244 80ABEF64 AFA80024 */ sw $t0, 0x0024($sp) -/* 00248 80ABEF68 10400006 */ beq $v0, $zero, .L80ABEF84 -/* 0024C 80ABEF6C 8FA80024 */ lw $t0, 0x0024($sp) -/* 00250 80ABEF70 8E190004 */ lw $t9, 0x0004($s0) ## 00000004 -/* 00254 80ABEF74 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE -/* 00258 80ABEF78 03214824 */ and $t1, $t9, $at -/* 0025C 80ABEF7C 1000004E */ beq $zero, $zero, .L80ABF0B8 -/* 00260 80ABEF80 AE090004 */ sw $t1, 0x0004($s0) ## 00000004 -.L80ABEF84: -/* 00264 80ABEF84 860A0152 */ lh $t2, 0x0152($s0) ## 00000152 -/* 00268 80ABEF88 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006 -/* 0026C 80ABEF8C 3C0B8016 */ lui $t3, %hi(gSaveContext+0x12c5) -/* 00270 80ABEF90 55410005 */ bnel $t2, $at, .L80ABEFA8 -/* 00274 80ABEF94 8D0C0680 */ lw $t4, 0x0680($t0) ## 00000680 -/* 00278 80ABEF98 916BF925 */ lbu $t3, %lo(gSaveContext+0x12c5)($t3) -/* 0027C 80ABEF9C 51600047 */ beql $t3, $zero, .L80ABF0BC -/* 00280 80ABEFA0 8FBF001C */ lw $ra, 0x001C($sp) -/* 00284 80ABEFA4 8D0C0680 */ lw $t4, 0x0680($t0) ## 00000680 -.L80ABEFA8: -/* 00288 80ABEFA8 000C69C0 */ sll $t5, $t4, 7 -/* 0028C 80ABEFAC 05A3000C */ bgezl $t5, .L80ABEFE0 -/* 00290 80ABEFB0 3C0142B4 */ lui $at, 0x42B4 ## $at = 42B40000 -/* 00294 80ABEFB4 C6040090 */ lwc1 $f4, 0x0090($s0) ## 00000090 -/* 00298 80ABEFB8 3C0480AC */ lui $a0, %hi(D_80AC0454) ## $a0 = 80AC0000 -/* 0029C 80ABEFBC 24840454 */ addiu $a0, $a0, %lo(D_80AC0454) ## $a0 = 80AC0454 -/* 002A0 80ABEFC0 460021A1 */ cvt.d.s $f6, $f4 -/* 002A4 80ABEFC4 AFA80024 */ sw $t0, 0x0024($sp) -/* 002A8 80ABEFC8 44073000 */ mfc1 $a3, $f6 -/* 002AC 80ABEFCC 44063800 */ mfc1 $a2, $f7 -/* 002B0 80ABEFD0 0C00084C */ jal osSyncPrintf - -/* 002B4 80ABEFD4 00000000 */ nop -/* 002B8 80ABEFD8 8FA80024 */ lw $t0, 0x0024($sp) -/* 002BC 80ABEFDC 3C0142B4 */ lui $at, 0x42B4 ## $at = 42B40000 -.L80ABEFE0: -/* 002C0 80ABEFE0 44814000 */ mtc1 $at, $f8 ## $f8 = 90.00 -/* 002C4 80ABEFE4 C60C015C */ lwc1 $f12, 0x015C($s0) ## 0000015C -/* 002C8 80ABEFE8 C6020090 */ lwc1 $f2, 0x0090($s0) ## 00000090 -/* 002CC 80ABEFEC 460C4280 */ add.s $f10, $f8, $f12 -/* 002D0 80ABEFF0 460A103C */ c.lt.s $f2, $f10 -/* 002D4 80ABEFF4 00000000 */ nop -/* 002D8 80ABEFF8 45020030 */ bc1fl .L80ABF0BC -/* 002DC 80ABEFFC 8FBF001C */ lw $ra, 0x001C($sp) -/* 002E0 80ABF000 C5100028 */ lwc1 $f16, 0x0028($t0) ## 00000028 -/* 002E4 80ABF004 C6120028 */ lwc1 $f18, 0x0028($s0) ## 00000028 -/* 002E8 80ABF008 3C0142A0 */ lui $at, 0x42A0 ## $at = 42A00000 -/* 002EC 80ABF00C 44812000 */ mtc1 $at, $f4 ## $f4 = 80.00 -/* 002F0 80ABF010 46128381 */ sub.s $f14, $f16, $f18 -/* 002F4 80ABF014 46007385 */ abs.s $f14, $f14 -/* 002F8 80ABF018 4604703C */ c.lt.s $f14, $f4 -/* 002FC 80ABF01C 00000000 */ nop -/* 00300 80ABF020 45020026 */ bc1fl .L80ABF0BC -/* 00304 80ABF024 8FBF001C */ lw $ra, 0x001C($sp) -/* 00308 80ABF028 8D030680 */ lw $v1, 0x0680($t0) ## 00000680 -/* 0030C 80ABF02C 3C014248 */ lui $at, 0x4248 ## $at = 42480000 -/* 00310 80ABF030 00037180 */ sll $t6, $v1, 6 -/* 00314 80ABF034 05C30012 */ bgezl $t6, .L80ABF080 -/* 00318 80ABF038 44813000 */ mtc1 $at, $f6 ## $f6 = 50.00 -/* 0031C 80ABF03C 96020152 */ lhu $v0, 0x0152($s0) ## 00000152 -/* 00320 80ABF040 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006 -/* 00324 80ABF044 54410003 */ bnel $v0, $at, .L80ABF054 -/* 00328 80ABF048 3C010080 */ lui $at, 0x0080 ## $at = 00800000 -/* 0032C 80ABF04C 2402000A */ addiu $v0, $zero, 0x000A ## $v0 = 0000000A -/* 00330 80ABF050 3C010080 */ lui $at, 0x0080 ## $at = 00800000 -.L80ABF054: -/* 00334 80ABF054 00617825 */ or $t7, $v1, $at ## $t7 = 00800000 -/* 00338 80ABF058 AD0F0680 */ sw $t7, 0x0680($t0) ## 00000680 -/* 0033C 80ABF05C 24450022 */ addiu $a1, $v0, 0x0022 ## $a1 = 0000002C -/* 00340 80ABF060 30A5FFFF */ andi $a1, $a1, 0xFFFF ## $a1 = 0000002C -/* 00344 80ABF064 0C042F56 */ jal func_8010BD58 -/* 00348 80ABF068 8FA4002C */ lw $a0, 0x002C($sp) -/* 0034C 80ABF06C 3C1880AC */ lui $t8, %hi(func_80ABF0CC) ## $t8 = 80AC0000 -/* 00350 80ABF070 2718F0CC */ addiu $t8, $t8, %lo(func_80ABF0CC) ## $t8 = 80ABF0CC -/* 00354 80ABF074 10000010 */ beq $zero, $zero, .L80ABF0B8 -/* 00358 80ABF078 AE18014C */ sw $t8, 0x014C($s0) ## 0000014C -/* 0035C 80ABF07C 44813000 */ mtc1 $at, $f6 ## $f6 = 0.00 -.L80ABF080: -/* 00360 80ABF080 3C014220 */ lui $at, 0x4220 ## $at = 42200000 -/* 00364 80ABF084 460C3200 */ add.s $f8, $f6, $f12 -/* 00368 80ABF088 4608103C */ c.lt.s $f2, $f8 -/* 0036C 80ABF08C 00000000 */ nop -/* 00370 80ABF090 4502000A */ bc1fl .L80ABF0BC -/* 00374 80ABF094 8FBF001C */ lw $ra, 0x001C($sp) -/* 00378 80ABF098 44815000 */ mtc1 $at, $f10 ## $f10 = 40.00 -/* 0037C 80ABF09C 00000000 */ nop -/* 00380 80ABF0A0 460A703C */ c.lt.s $f14, $f10 -/* 00384 80ABF0A4 00000000 */ nop -/* 00388 80ABF0A8 45020004 */ bc1fl .L80ABF0BC -/* 0038C 80ABF0AC 8FBF001C */ lw $ra, 0x001C($sp) -/* 00390 80ABF0B0 A600015A */ sh $zero, 0x015A($s0) ## 0000015A -/* 00394 80ABF0B4 AD1006A8 */ sw $s0, 0x06A8($t0) ## 000006A8 -.L80ABF0B8: -/* 00398 80ABF0B8 8FBF001C */ lw $ra, 0x001C($sp) -.L80ABF0BC: -/* 0039C 80ABF0BC 8FB00018 */ lw $s0, 0x0018($sp) -/* 003A0 80ABF0C0 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 003A4 80ABF0C4 03E00008 */ jr $ra -/* 003A8 80ABF0C8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/func_80ABF0CC.s b/asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/func_80ABF0CC.s deleted file mode 100644 index 6d065f7f83..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/func_80ABF0CC.s +++ /dev/null @@ -1,126 +0,0 @@ -glabel func_80ABF0CC -/* 003AC 80ABF0CC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 003B0 80ABF0D0 3C020001 */ lui $v0, 0x0001 ## $v0 = 00010000 -/* 003B4 80ABF0D4 AFBF0014 */ sw $ra, 0x0014($sp) -/* 003B8 80ABF0D8 00451021 */ addu $v0, $v0, $a1 -/* 003BC 80ABF0DC 944204C6 */ lhu $v0, 0x04C6($v0) ## 000104C6 -/* 003C0 80ABF0E0 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004 -/* 003C4 80ABF0E4 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000 -/* 003C8 80ABF0E8 00A03025 */ or $a2, $a1, $zero ## $a2 = 00000000 -/* 003CC 80ABF0EC 14410005 */ bne $v0, $at, .L80ABF104 -/* 003D0 80ABF0F0 8CA31C44 */ lw $v1, 0x1C44($a1) ## 00001C44 -/* 003D4 80ABF0F4 3C0E80AC */ lui $t6, %hi(func_80ABEF2C) ## $t6 = 80AC0000 -/* 003D8 80ABF0F8 25CEEF2C */ addiu $t6, $t6, %lo(func_80ABEF2C) ## $t6 = 80ABEF2C -/* 003DC 80ABF0FC 1000005F */ beq $zero, $zero, .L80ABF27C -/* 003E0 80ABF100 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C -.L80ABF104: -/* 003E4 80ABF104 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 003E8 80ABF108 54410023 */ bnel $v0, $at, .L80ABF198 -/* 003EC 80ABF10C 84E80158 */ lh $t0, 0x0158($a3) ## 00000158 -/* 003F0 80ABF110 84E50154 */ lh $a1, 0x0154($a3) ## 00000154 -/* 003F4 80ABF114 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000 -/* 003F8 80ABF118 04A20007 */ bltzl $a1, .L80ABF138 -/* 003FC 80ABF11C 84C200A4 */ lh $v0, 0x00A4($a2) ## 000000A4 -/* 00400 80ABF120 AFA6001C */ sw $a2, 0x001C($sp) -/* 00404 80ABF124 0C00B2DD */ jal Flags_SetSwitch - -/* 00408 80ABF128 AFA70018 */ sw $a3, 0x0018($sp) -/* 0040C 80ABF12C 8FA6001C */ lw $a2, 0x001C($sp) -/* 00410 80ABF130 8FA70018 */ lw $a3, 0x0018($sp) -/* 00414 80ABF134 84C200A4 */ lh $v0, 0x00A4($a2) ## 000000A4 -.L80ABF138: -/* 00418 80ABF138 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005 -/* 0041C 80ABF13C 240F0037 */ addiu $t7, $zero, 0x0037 ## $t7 = 00000037 -/* 00420 80ABF140 14410005 */ bne $v0, $at, .L80ABF158 -/* 00424 80ABF144 24044802 */ addiu $a0, $zero, 0x4802 ## $a0 = 00004802 -/* 00428 80ABF148 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 0042C 80ABF14C 00260821 */ addu $at, $at, $a2 -/* 00430 80ABF150 A02F03DC */ sb $t7, 0x03DC($at) ## 000103DC -/* 00434 80ABF154 84C200A4 */ lh $v0, 0x00A4($a2) ## 000000A4 -.L80ABF158: -/* 00438 80ABF158 2401003B */ addiu $at, $zero, 0x003B ## $at = 0000003B -/* 0043C 80ABF15C 10410006 */ beq $v0, $at, .L80ABF178 -/* 00440 80ABF160 2401003D */ addiu $at, $zero, 0x003D ## $at = 0000003D -/* 00444 80ABF164 10410004 */ beq $v0, $at, .L80ABF178 -/* 00448 80ABF168 24180004 */ addiu $t8, $zero, 0x0004 ## $t8 = 00000004 -/* 0044C 80ABF16C 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00450 80ABF170 00260821 */ addu $at, $at, $a2 -/* 00454 80ABF174 A43804C6 */ sh $t8, 0x04C6($at) ## 000104C6 -.L80ABF178: -/* 00458 80ABF178 0C01E221 */ jal func_80078884 -/* 0045C 80ABF17C AFA70018 */ sw $a3, 0x0018($sp) -/* 00460 80ABF180 8FA70018 */ lw $a3, 0x0018($sp) -/* 00464 80ABF184 3C1980AC */ lui $t9, %hi(func_80ABEF2C) ## $t9 = 80AC0000 -/* 00468 80ABF188 2739EF2C */ addiu $t9, $t9, %lo(func_80ABEF2C) ## $t9 = 80ABEF2C -/* 0046C 80ABF18C 1000003B */ beq $zero, $zero, .L80ABF27C -/* 00470 80ABF190 ACF9014C */ sw $t9, 0x014C($a3) ## 0000014C -/* 00474 80ABF194 84E80158 */ lh $t0, 0x0158($a3) ## 00000158 -.L80ABF198: -/* 00478 80ABF198 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005 -/* 0047C 80ABF19C 51000025 */ beql $t0, $zero, .L80ABF234 -/* 00480 80ABF1A0 28410005 */ slti $at, $v0, 0x0005 -/* 00484 80ABF1A4 1041000D */ beq $v0, $at, .L80ABF1DC -/* 00488 80ABF1A8 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006 -/* 0048C 80ABF1AC 1041000B */ beq $v0, $at, .L80ABF1DC -/* 00490 80ABF1B0 24010007 */ addiu $at, $zero, 0x0007 ## $at = 00000007 -/* 00494 80ABF1B4 10410009 */ beq $v0, $at, .L80ABF1DC -/* 00498 80ABF1B8 24010008 */ addiu $at, $zero, 0x0008 ## $at = 00000008 -/* 0049C 80ABF1BC 10410007 */ beq $v0, $at, .L80ABF1DC -/* 004A0 80ABF1C0 24010009 */ addiu $at, $zero, 0x0009 ## $at = 00000009 -/* 004A4 80ABF1C4 10410005 */ beq $v0, $at, .L80ABF1DC -/* 004A8 80ABF1C8 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A -/* 004AC 80ABF1CC 10410003 */ beq $v0, $at, .L80ABF1DC -/* 004B0 80ABF1D0 2401000D */ addiu $at, $zero, 0x000D ## $at = 0000000D -/* 004B4 80ABF1D4 54410017 */ bnel $v0, $at, .L80ABF234 -/* 004B8 80ABF1D8 28410005 */ slti $at, $v0, 0x0005 -.L80ABF1DC: -/* 004BC 80ABF1DC 84E50154 */ lh $a1, 0x0154($a3) ## 00000154 -/* 004C0 80ABF1E0 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000 -/* 004C4 80ABF1E4 04A20007 */ bltzl $a1, .L80ABF204 -/* 004C8 80ABF1E8 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 004CC 80ABF1EC AFA6001C */ sw $a2, 0x001C($sp) -/* 004D0 80ABF1F0 0C00B2DD */ jal Flags_SetSwitch - -/* 004D4 80ABF1F4 AFA70018 */ sw $a3, 0x0018($sp) -/* 004D8 80ABF1F8 8FA6001C */ lw $a2, 0x001C($sp) -/* 004DC 80ABF1FC 8FA70018 */ lw $a3, 0x0018($sp) -/* 004E0 80ABF200 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -.L80ABF204: -/* 004E4 80ABF204 00260821 */ addu $at, $at, $a2 -/* 004E8 80ABF208 24090004 */ addiu $t1, $zero, 0x0004 ## $t1 = 00000004 -/* 004EC 80ABF20C A42904C6 */ sh $t1, 0x04C6($at) ## 000104C6 -/* 004F0 80ABF210 AFA70018 */ sw $a3, 0x0018($sp) -/* 004F4 80ABF214 0C01E221 */ jal func_80078884 -/* 004F8 80ABF218 24044802 */ addiu $a0, $zero, 0x4802 ## $a0 = 00004802 -/* 004FC 80ABF21C 8FA70018 */ lw $a3, 0x0018($sp) -/* 00500 80ABF220 3C0A80AC */ lui $t2, %hi(func_80ABEF2C) ## $t2 = 80AC0000 -/* 00504 80ABF224 254AEF2C */ addiu $t2, $t2, %lo(func_80ABEF2C) ## $t2 = 80ABEF2C -/* 00508 80ABF228 10000014 */ beq $zero, $zero, .L80ABF27C -/* 0050C 80ABF22C ACEA014C */ sw $t2, 0x014C($a3) ## 0000014C -/* 00510 80ABF230 28410005 */ slti $at, $v0, 0x0005 -.L80ABF234: -/* 00514 80ABF234 1420000A */ bne $at, $zero, .L80ABF260 -/* 00518 80ABF238 2841000E */ slti $at, $v0, 0x000E -/* 0051C 80ABF23C 10200008 */ beq $at, $zero, .L80ABF260 -/* 00520 80ABF240 240B0004 */ addiu $t3, $zero, 0x0004 ## $t3 = 00000004 -/* 00524 80ABF244 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00528 80ABF248 00260821 */ addu $at, $at, $a2 -/* 0052C 80ABF24C 3C0C80AC */ lui $t4, %hi(func_80ABEF2C) ## $t4 = 80AC0000 -/* 00530 80ABF250 A42B04C6 */ sh $t3, 0x04C6($at) ## 000104C6 -/* 00534 80ABF254 258CEF2C */ addiu $t4, $t4, %lo(func_80ABEF2C) ## $t4 = 80ABEF2C -/* 00538 80ABF258 10000008 */ beq $zero, $zero, .L80ABF27C -/* 0053C 80ABF25C ACEC014C */ sw $t4, 0x014C($a3) ## 0000014C -.L80ABF260: -/* 00540 80ABF260 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00544 80ABF264 54410006 */ bnel $v0, $at, .L80ABF280 -/* 00548 80ABF268 8FBF0014 */ lw $ra, 0x0014($sp) -/* 0054C 80ABF26C 8C6D0680 */ lw $t5, 0x0680($v1) ## 00000680 -/* 00550 80ABF270 3C010080 */ lui $at, 0x0080 ## $at = 00800000 -/* 00554 80ABF274 01A17025 */ or $t6, $t5, $at ## $t6 = 00800000 -/* 00558 80ABF278 AC6E0680 */ sw $t6, 0x0680($v1) ## 00000680 -.L80ABF27C: -/* 0055C 80ABF27C 8FBF0014 */ lw $ra, 0x0014($sp) -.L80ABF280: -/* 00560 80ABF280 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00564 80ABF284 03E00008 */ jr $ra -/* 00568 80ABF288 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/func_80ABF28C.s b/asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/func_80ABF28C.s deleted file mode 100644 index de06b68e43..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/func_80ABF28C.s +++ /dev/null @@ -1,167 +0,0 @@ -.rdata -glabel D_80AC0484 - .asciz "☆☆☆☆☆ オカリナ透明君デモ開始チェックエラー原 ☆☆☆☆☆ %d\n" - .balign 4 - -.text -glabel func_80ABF28C -/* 0056C 80ABF28C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 00570 80ABF290 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00574 80ABF294 8CAE1C44 */ lw $t6, 0x1C44($a1) ## 00001C44 -/* 00578 80ABF298 24030006 */ addiu $v1, $zero, 0x0006 ## $v1 = 00000006 -/* 0057C 80ABF29C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 00580 80ABF2A0 AFAE001C */ sw $t6, 0x001C($sp) -/* 00584 80ABF2A4 848F015A */ lh $t7, 0x015A($a0) ## 0000015A -/* 00588 80ABF2A8 84990152 */ lh $t9, 0x0152($a0) ## 00000152 -/* 0058C 80ABF2AC 00A03825 */ or $a3, $a1, $zero ## $a3 = 00000000 -/* 00590 80ABF2B0 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001 -/* 00594 80ABF2B4 14790005 */ bne $v1, $t9, .L80ABF2CC -/* 00598 80ABF2B8 A498015A */ sh $t8, 0x015A($a0) ## 0000015A -/* 0059C 80ABF2BC 3C088016 */ lui $t0, %hi(gSaveContext+0x12c5) -/* 005A0 80ABF2C0 9108F925 */ lbu $t0, %lo(gSaveContext+0x12c5)($t0) -/* 005A4 80ABF2C4 5100007D */ beql $t0, $zero, .L80ABF4BC -/* 005A8 80ABF2C8 8FBF0014 */ lw $ra, 0x0014($sp) -.L80ABF2CC: -/* 005AC 80ABF2CC 84C50154 */ lh $a1, 0x0154($a2) ## 00000154 -/* 005B0 80ABF2D0 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000 -/* 005B4 80ABF2D4 04A2000E */ bltzl $a1, .L80ABF310 -/* 005B8 80ABF2D8 84C50150 */ lh $a1, 0x0150($a2) ## 00000150 -/* 005BC 80ABF2DC AFA60020 */ sw $a2, 0x0020($sp) -/* 005C0 80ABF2E0 0C00B2D0 */ jal Flags_GetSwitch - -/* 005C4 80ABF2E4 AFA70024 */ sw $a3, 0x0024($sp) -/* 005C8 80ABF2E8 24030006 */ addiu $v1, $zero, 0x0006 ## $v1 = 00000006 -/* 005CC 80ABF2EC 8FA60020 */ lw $a2, 0x0020($sp) -/* 005D0 80ABF2F0 10400006 */ beq $v0, $zero, .L80ABF30C -/* 005D4 80ABF2F4 8FA70024 */ lw $a3, 0x0024($sp) -/* 005D8 80ABF2F8 8CC90004 */ lw $t1, 0x0004($a2) ## 00000004 -/* 005DC 80ABF2FC 2401FFFE */ addiu $at, $zero, 0xFFFE ## $at = FFFFFFFE -/* 005E0 80ABF300 01215024 */ and $t2, $t1, $at -/* 005E4 80ABF304 1000006C */ beq $zero, $zero, .L80ABF4B8 -/* 005E8 80ABF308 ACCA0004 */ sw $t2, 0x0004($a2) ## 00000004 -.L80ABF30C: -/* 005EC 80ABF30C 84C50150 */ lh $a1, 0x0150($a2) ## 00000150 -.L80ABF310: -/* 005F0 80ABF310 24040004 */ addiu $a0, $zero, 0x0004 ## $a0 = 00000004 -/* 005F4 80ABF314 3C0B8016 */ lui $t3, %hi(gSaveContext+0xedc) -/* 005F8 80ABF318 14850005 */ bne $a0, $a1, .L80ABF330 -/* 005FC 80ABF31C 00000000 */ nop -/* 00600 80ABF320 956BF53C */ lhu $t3, %lo(gSaveContext+0xedc)($t3) -/* 00604 80ABF324 316C0800 */ andi $t4, $t3, 0x0800 ## $t4 = 00000000 -/* 00608 80ABF328 55800064 */ bnel $t4, $zero, .L80ABF4BC -/* 0060C 80ABF32C 8FBF0014 */ lw $ra, 0x0014($sp) -.L80ABF330: -/* 00610 80ABF330 14650004 */ bne $v1, $a1, .L80ABF344 -/* 00614 80ABF334 3C0D8016 */ lui $t5, %hi(gSaveContext+0xed6) -/* 00618 80ABF338 95ADF536 */ lhu $t5, %lo(gSaveContext+0xed6)($t5) -/* 0061C 80ABF33C 31AE2000 */ andi $t6, $t5, 0x2000 ## $t6 = 00000000 -/* 00620 80ABF340 15C0005D */ bne $t6, $zero, .L80ABF4B8 -.L80ABF344: -/* 00624 80ABF344 3C0142B4 */ lui $at, 0x42B4 ## $at = 42B40000 -/* 00628 80ABF348 44812000 */ mtc1 $at, $f4 ## $f4 = 90.00 -/* 0062C 80ABF34C C4CC015C */ lwc1 $f12, 0x015C($a2) ## 0000015C -/* 00630 80ABF350 C4C20090 */ lwc1 $f2, 0x0090($a2) ## 00000090 -/* 00634 80ABF354 8FAF001C */ lw $t7, 0x001C($sp) -/* 00638 80ABF358 460C2180 */ add.s $f6, $f4, $f12 -/* 0063C 80ABF35C 4606103C */ c.lt.s $f2, $f6 -/* 00640 80ABF360 00000000 */ nop -/* 00644 80ABF364 45020055 */ bc1fl .L80ABF4BC -/* 00648 80ABF368 8FBF0014 */ lw $ra, 0x0014($sp) -/* 0064C 80ABF36C C5E80028 */ lwc1 $f8, 0x0028($t7) ## 00000028 -/* 00650 80ABF370 C4CA0028 */ lwc1 $f10, 0x0028($a2) ## 00000028 -/* 00654 80ABF374 3C0142A0 */ lui $at, 0x42A0 ## $at = 42A00000 -/* 00658 80ABF378 44818000 */ mtc1 $at, $f16 ## $f16 = 80.00 -/* 0065C 80ABF37C 460A4381 */ sub.s $f14, $f8, $f10 -/* 00660 80ABF380 46007385 */ abs.s $f14, $f14 -/* 00664 80ABF384 4610703C */ c.lt.s $f14, $f16 -/* 00668 80ABF388 00000000 */ nop -/* 0066C 80ABF38C 4502004B */ bc1fl .L80ABF4BC -/* 00670 80ABF390 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00674 80ABF394 8DF80680 */ lw $t8, 0x0680($t7) ## 00000680 -/* 00678 80ABF398 3C014248 */ lui $at, 0x4248 ## $at = 42480000 -/* 0067C 80ABF39C 0018C9C0 */ sll $t9, $t8, 7 -/* 00680 80ABF3A0 07230033 */ bgezl $t9, .L80ABF470 -/* 00684 80ABF3A4 44819000 */ mtc1 $at, $f18 ## $f18 = 50.00 -/* 00688 80ABF3A8 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 0068C 80ABF3AC 10A10009 */ beq $a1, $at, .L80ABF3D4 -/* 00690 80ABF3B0 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 00694 80ABF3B4 50A1000E */ beql $a1, $at, .L80ABF3F0 -/* 00698 80ABF3B8 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000 -/* 0069C 80ABF3BC 50A40012 */ beql $a1, $a0, .L80ABF408 -/* 006A0 80ABF3C0 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000 -/* 006A4 80ABF3C4 10A30015 */ beq $a1, $v1, .L80ABF41C -/* 006A8 80ABF3C8 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000 -/* 006AC 80ABF3CC 10000018 */ beq $zero, $zero, .L80ABF430 -/* 006B0 80ABF3D0 3C0480AC */ lui $a0, %hi(D_80AC0484) ## $a0 = 80AC0000 -.L80ABF3D4: -/* 006B4 80ABF3D4 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000 -/* 006B8 80ABF3D8 24050024 */ addiu $a1, $zero, 0x0024 ## $a1 = 00000024 -/* 006BC 80ABF3DC 0C042F56 */ jal func_8010BD58 -/* 006C0 80ABF3E0 AFA60020 */ sw $a2, 0x0020($sp) -/* 006C4 80ABF3E4 10000018 */ beq $zero, $zero, .L80ABF448 -/* 006C8 80ABF3E8 8FA60020 */ lw $a2, 0x0020($sp) -/* 006CC 80ABF3EC 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000 -.L80ABF3F0: -/* 006D0 80ABF3F0 24050027 */ addiu $a1, $zero, 0x0027 ## $a1 = 00000027 -/* 006D4 80ABF3F4 0C042F56 */ jal func_8010BD58 -/* 006D8 80ABF3F8 AFA60020 */ sw $a2, 0x0020($sp) -/* 006DC 80ABF3FC 10000012 */ beq $zero, $zero, .L80ABF448 -/* 006E0 80ABF400 8FA60020 */ lw $a2, 0x0020($sp) -/* 006E4 80ABF404 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000 -.L80ABF408: -/* 006E8 80ABF408 24050026 */ addiu $a1, $zero, 0x0026 ## $a1 = 00000026 -/* 006EC 80ABF40C 0C042F56 */ jal func_8010BD58 -/* 006F0 80ABF410 AFA60020 */ sw $a2, 0x0020($sp) -/* 006F4 80ABF414 1000000C */ beq $zero, $zero, .L80ABF448 -/* 006F8 80ABF418 8FA60020 */ lw $a2, 0x0020($sp) -.L80ABF41C: -/* 006FC 80ABF41C 24050024 */ addiu $a1, $zero, 0x0024 ## $a1 = 00000024 -/* 00700 80ABF420 0C042F56 */ jal func_8010BD58 -/* 00704 80ABF424 AFA60020 */ sw $a2, 0x0020($sp) -/* 00708 80ABF428 10000007 */ beq $zero, $zero, .L80ABF448 -/* 0070C 80ABF42C 8FA60020 */ lw $a2, 0x0020($sp) -.L80ABF430: -/* 00710 80ABF430 24840484 */ addiu $a0, $a0, %lo(D_80AC0484) ## $a0 = 00000484 -/* 00714 80ABF434 0C00084C */ jal osSyncPrintf - -/* 00718 80ABF438 AFA60020 */ sw $a2, 0x0020($sp) -/* 0071C 80ABF43C 0C00B55C */ jal Actor_Kill - -/* 00720 80ABF440 8FA40020 */ lw $a0, 0x0020($sp) -/* 00724 80ABF444 8FA60020 */ lw $a2, 0x0020($sp) -.L80ABF448: -/* 00728 80ABF448 8FA8001C */ lw $t0, 0x001C($sp) -/* 0072C 80ABF44C 3C010080 */ lui $at, 0x0080 ## $at = 00800000 -/* 00730 80ABF450 3C0B80AC */ lui $t3, %hi(func_80ABF4C8) ## $t3 = 80AC0000 -/* 00734 80ABF454 8D090680 */ lw $t1, 0x0680($t0) ## 00000680 -/* 00738 80ABF458 256BF4C8 */ addiu $t3, $t3, %lo(func_80ABF4C8) ## $t3 = 80ABF4C8 -/* 0073C 80ABF45C 01215025 */ or $t2, $t1, $at ## $t2 = 00800000 -/* 00740 80ABF460 AD0A0680 */ sw $t2, 0x0680($t0) ## 00000680 -/* 00744 80ABF464 10000014 */ beq $zero, $zero, .L80ABF4B8 -/* 00748 80ABF468 ACCB014C */ sw $t3, 0x014C($a2) ## 0000014C -/* 0074C 80ABF46C 44819000 */ mtc1 $at, $f18 ## $f18 = 0.00 -.L80ABF470: -/* 00750 80ABF470 3C014220 */ lui $at, 0x4220 ## $at = 42200000 -/* 00754 80ABF474 460C9100 */ add.s $f4, $f18, $f12 -/* 00758 80ABF478 4604103C */ c.lt.s $f2, $f4 -/* 0075C 80ABF47C 00000000 */ nop -/* 00760 80ABF480 4502000E */ bc1fl .L80ABF4BC -/* 00764 80ABF484 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00768 80ABF488 44813000 */ mtc1 $at, $f6 ## $f6 = 40.00 -/* 0076C 80ABF48C 00000000 */ nop -/* 00770 80ABF490 4606703C */ c.lt.s $f14, $f6 -/* 00774 80ABF494 00000000 */ nop -/* 00778 80ABF498 45020008 */ bc1fl .L80ABF4BC -/* 0077C 80ABF49C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00780 80ABF4A0 A4C0015A */ sh $zero, 0x015A($a2) ## 0000015A -/* 00784 80ABF4A4 8FAC001C */ lw $t4, 0x001C($sp) -/* 00788 80ABF4A8 3C010080 */ lui $at, 0x0080 ## $at = 00800000 -/* 0078C 80ABF4AC 8D8D0680 */ lw $t5, 0x0680($t4) ## 00000680 -/* 00790 80ABF4B0 01A17025 */ or $t6, $t5, $at ## $t6 = 00800000 -/* 00794 80ABF4B4 AD8E0680 */ sw $t6, 0x0680($t4) ## 00000680 -.L80ABF4B8: -/* 00798 80ABF4B8 8FBF0014 */ lw $ra, 0x0014($sp) -.L80ABF4BC: -/* 0079C 80ABF4BC 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 007A0 80ABF4C0 03E00008 */ jr $ra -/* 007A4 80ABF4C4 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/func_80ABF4C8.s b/asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/func_80ABF4C8.s deleted file mode 100644 index e989f1e4eb..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/func_80ABF4C8.s +++ /dev/null @@ -1,166 +0,0 @@ -.late_rodata -glabel D_80AC0524 - .word 0x3F983809, 0x00000000, 0x00000000 - -.text -glabel func_80ABF4C8 -/* 007A8 80ABF4C8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 007AC 80ABF4CC 3C020001 */ lui $v0, 0x0001 ## $v0 = 00010000 -/* 007B0 80ABF4D0 AFBF001C */ sw $ra, 0x001C($sp) -/* 007B4 80ABF4D4 AFB00018 */ sw $s0, 0x0018($sp) -/* 007B8 80ABF4D8 00451021 */ addu $v0, $v0, $a1 -/* 007BC 80ABF4DC 944204C6 */ lhu $v0, 0x04C6($v0) ## 000104C6 -/* 007C0 80ABF4E0 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004 -/* 007C4 80ABF4E4 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 007C8 80ABF4E8 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 007CC 80ABF4EC 14410005 */ bne $v0, $at, .L80ABF504 -/* 007D0 80ABF4F0 8CA31C44 */ lw $v1, 0x1C44($a1) ## 00001C44 -/* 007D4 80ABF4F4 3C0E80AC */ lui $t6, %hi(func_80ABF28C) ## $t6 = 80AC0000 -/* 007D8 80ABF4F8 25CEF28C */ addiu $t6, $t6, %lo(func_80ABF28C) ## $t6 = 80ABF28C -/* 007DC 80ABF4FC 1000007D */ beq $zero, $zero, .L80ABF6F4 -/* 007E0 80ABF500 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C -.L80ABF504: -/* 007E4 80ABF504 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 007E8 80ABF508 14410067 */ bne $v0, $at, .L80ABF6A8 -/* 007EC 80ABF50C 24044802 */ addiu $a0, $zero, 0x4802 ## $a0 = 00004802 -/* 007F0 80ABF510 0C01E221 */ jal func_80078884 -/* 007F4 80ABF514 AFA60020 */ sw $a2, 0x0020($sp) -/* 007F8 80ABF518 8FA60020 */ lw $a2, 0x0020($sp) -/* 007FC 80ABF51C 84C50154 */ lh $a1, 0x0154($a2) ## 00000154 -/* 00800 80ABF520 04A20005 */ bltzl $a1, .L80ABF538 -/* 00804 80ABF524 84C20150 */ lh $v0, 0x0150($a2) ## 00000150 -/* 00808 80ABF528 0C00B2DD */ jal Flags_SetSwitch - -/* 0080C 80ABF52C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00810 80ABF530 8FA60020 */ lw $a2, 0x0020($sp) -/* 00814 80ABF534 84C20150 */ lh $v0, 0x0150($a2) ## 00000150 -.L80ABF538: -/* 00818 80ABF538 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 0081C 80ABF53C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00820 80ABF540 1041000B */ beq $v0, $at, .L80ABF570 -/* 00824 80ABF544 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 00828 80ABF548 10410012 */ beq $v0, $at, .L80ABF594 -/* 0082C 80ABF54C 3C038016 */ lui $v1, %hi(gSaveContext) -/* 00830 80ABF550 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004 -/* 00834 80ABF554 1041001B */ beq $v0, $at, .L80ABF5C4 -/* 00838 80ABF558 3C038016 */ lui $v1, %hi(gSaveContext) -/* 0083C 80ABF55C 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006 -/* 00840 80ABF560 1041001F */ beq $v0, $at, .L80ABF5E0 -/* 00844 80ABF564 3C038016 */ lui $v1, %hi(gSaveContext) -/* 00848 80ABF568 10000048 */ beq $zero, $zero, .L80ABF68C -/* 0084C 80ABF56C 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -.L80ABF570: -/* 00850 80ABF570 0C00B2DD */ jal Flags_SetSwitch - -/* 00854 80ABF574 84C50154 */ lh $a1, 0x0154($a2) ## 00000154 -/* 00858 80ABF578 3C038016 */ lui $v1, %hi(gSaveContext) -/* 0085C 80ABF57C 2463E660 */ addiu $v1, %lo(gSaveContext) -/* 00860 80ABF580 946F0EDA */ lhu $t7, 0x0EDA($v1) ## 8015F53A -/* 00864 80ABF584 8FA60020 */ lw $a2, 0x0020($sp) -/* 00868 80ABF588 35F80200 */ ori $t8, $t7, 0x0200 ## $t8 = 00000200 -/* 0086C 80ABF58C 1000003E */ beq $zero, $zero, .L80ABF688 -/* 00870 80ABF590 A4780EDA */ sh $t8, 0x0EDA($v1) ## 8015F53A -.L80ABF594: -/* 00874 80ABF594 3C1980AC */ lui $t9, %hi(D_80ABF9D0) ## $t9 = 80AC0000 -/* 00878 80ABF598 2739F9D0 */ addiu $t9, $t9, %lo(D_80ABF9D0) ## $t9 = 80ABF9D0 -/* 0087C 80ABF59C 2463E660 */ addiu $v1, %lo(gSaveContext) -/* 00880 80ABF5A0 AE191D68 */ sw $t9, 0x1D68($s0) ## 00001D68 -/* 00884 80ABF5A4 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001 -/* 00888 80ABF5A8 A0681414 */ sb $t0, 0x1414($v1) ## 8015E0D4 -/* 0088C 80ABF5AC 3C0180AC */ lui $at, %hi(D_80AC0524) ## $at = 80AC0000 -/* 00890 80ABF5B0 C42C0524 */ lwc1 $f12, %lo(D_80AC0524)($at) -/* 00894 80ABF5B4 0C03D5D3 */ jal func_800F574C -/* 00898 80ABF5B8 2405005A */ addiu $a1, $zero, 0x005A ## $a1 = 0000005A -/* 0089C 80ABF5BC 10000032 */ beq $zero, $zero, .L80ABF688 -/* 008A0 80ABF5C0 8FA60020 */ lw $a2, 0x0020($sp) -.L80ABF5C4: -/* 008A4 80ABF5C4 3C0980AC */ lui $t1, %hi(D_80ABFB40) ## $t1 = 80AC0000 -/* 008A8 80ABF5C8 2529FB40 */ addiu $t1, $t1, %lo(D_80ABFB40) ## $t1 = 80ABFB40 -/* 008AC 80ABF5CC 2463E660 */ addiu $v1, %lo(gSaveContext) -/* 008B0 80ABF5D0 AE091D68 */ sw $t1, 0x1D68($s0) ## 00001D68 -/* 008B4 80ABF5D4 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001 -/* 008B8 80ABF5D8 1000002B */ beq $zero, $zero, .L80ABF688 -/* 008BC 80ABF5DC A06A1414 */ sb $t2, 0x1414($v1) ## FFFFFA74 -.L80ABF5E0: -/* 008C0 80ABF5E0 2463E660 */ addiu $v1, %lo(gSaveContext) -/* 008C4 80ABF5E4 8C6B0004 */ lw $t3, 0x0004($v1) ## FFFFCCC4 -/* 008C8 80ABF5E8 3C020200 */ lui $v0, 0x0200 ## $v0 = 02000000 -/* 008CC 80ABF5EC 24425020 */ addiu $v0, $v0, 0x5020 ## $v0 = 02005020 -/* 008D0 80ABF5F0 15600011 */ bne $t3, $zero, .L80ABF638 -/* 008D4 80ABF5F4 24044802 */ addiu $a0, $zero, 0x4802 ## $a0 = 00004802 -/* 008D8 80ABF5F8 3C020200 */ lui $v0, 0x0200 ## $v0 = 02000000 -/* 008DC 80ABF5FC 24423C80 */ addiu $v0, $v0, 0x3C80 ## $v0 = 02003C80 -/* 008E0 80ABF600 00026100 */ sll $t4, $v0, 4 -/* 008E4 80ABF604 000C6F02 */ srl $t5, $t4, 28 -/* 008E8 80ABF608 000D7080 */ sll $t6, $t5, 2 -/* 008EC 80ABF60C 3C0F8016 */ lui $t7, %hi(gSegments) -/* 008F0 80ABF610 01EE7821 */ addu $t7, $t7, $t6 -/* 008F4 80ABF614 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000 -/* 008F8 80ABF618 8DEF6FA8 */ lw $t7, %lo(gSegments)($t7) -/* 008FC 80ABF61C 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF -/* 00900 80ABF620 0041C024 */ and $t8, $v0, $at -/* 00904 80ABF624 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 00908 80ABF628 01F8C821 */ addu $t9, $t7, $t8 -/* 0090C 80ABF62C 03214021 */ addu $t0, $t9, $at -/* 00910 80ABF630 1000000E */ beq $zero, $zero, .L80ABF66C -/* 00914 80ABF634 AE081D68 */ sw $t0, 0x1D68($s0) ## 00001D68 -.L80ABF638: -/* 00918 80ABF638 00024900 */ sll $t1, $v0, 4 -/* 0091C 80ABF63C 00095702 */ srl $t2, $t1, 28 -/* 00920 80ABF640 000A5880 */ sll $t3, $t2, 2 -/* 00924 80ABF644 3C0C8016 */ lui $t4, %hi(gSegments) -/* 00928 80ABF648 018B6021 */ addu $t4, $t4, $t3 -/* 0092C 80ABF64C 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000 -/* 00930 80ABF650 8D8C6FA8 */ lw $t4, %lo(gSegments)($t4) -/* 00934 80ABF654 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF -/* 00938 80ABF658 00416824 */ and $t5, $v0, $at -/* 0093C 80ABF65C 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 00940 80ABF660 018D7021 */ addu $t6, $t4, $t5 -/* 00944 80ABF664 01C17821 */ addu $t7, $t6, $at -/* 00948 80ABF668 AE0F1D68 */ sw $t7, 0x1D68($s0) ## 00001D68 -.L80ABF66C: -/* 0094C 80ABF66C 94790ED6 */ lhu $t9, 0x0ED6($v1) ## FFFFDB96 -/* 00950 80ABF670 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001 -/* 00954 80ABF674 A0781414 */ sb $t8, 0x1414($v1) ## FFFFE0D4 -/* 00958 80ABF678 37282000 */ ori $t0, $t9, 0x2000 ## $t0 = 00002000 -/* 0095C 80ABF67C 0C01E221 */ jal func_80078884 -/* 00960 80ABF680 A4680ED6 */ sh $t0, 0x0ED6($v1) ## FFFFDB96 -/* 00964 80ABF684 8FA60020 */ lw $a2, 0x0020($sp) -.L80ABF688: -/* 00968 80ABF688 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -.L80ABF68C: -/* 0096C 80ABF68C 00300821 */ addu $at, $at, $s0 -/* 00970 80ABF690 24090004 */ addiu $t1, $zero, 0x0004 ## $t1 = 00000004 -/* 00974 80ABF694 3C0A80AC */ lui $t2, %hi(func_80ABF28C) ## $t2 = 80AC0000 -/* 00978 80ABF698 A42904C6 */ sh $t1, 0x04C6($at) ## 000104C6 -/* 0097C 80ABF69C 254AF28C */ addiu $t2, $t2, %lo(func_80ABF28C) ## $t2 = 80ABF28C -/* 00980 80ABF6A0 10000014 */ beq $zero, $zero, .L80ABF6F4 -/* 00984 80ABF6A4 ACCA014C */ sw $t2, 0x014C($a2) ## 0000014C -.L80ABF6A8: -/* 00988 80ABF6A8 28410005 */ slti $at, $v0, 0x0005 -/* 0098C 80ABF6AC 1420000A */ bne $at, $zero, .L80ABF6D8 -/* 00990 80ABF6B0 2841000E */ slti $at, $v0, 0x000E -/* 00994 80ABF6B4 10200008 */ beq $at, $zero, .L80ABF6D8 -/* 00998 80ABF6B8 240B0004 */ addiu $t3, $zero, 0x0004 ## $t3 = 00000004 -/* 0099C 80ABF6BC 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 009A0 80ABF6C0 00300821 */ addu $at, $at, $s0 -/* 009A4 80ABF6C4 3C0C80AC */ lui $t4, %hi(func_80ABF28C) ## $t4 = 80AC0000 -/* 009A8 80ABF6C8 A42B04C6 */ sh $t3, 0x04C6($at) ## 000104C6 -/* 009AC 80ABF6CC 258CF28C */ addiu $t4, $t4, %lo(func_80ABF28C) ## $t4 = 80ABF28C -/* 009B0 80ABF6D0 10000008 */ beq $zero, $zero, .L80ABF6F4 -/* 009B4 80ABF6D4 ACCC014C */ sw $t4, 0x014C($a2) ## 0000014C -.L80ABF6D8: -/* 009B8 80ABF6D8 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 009BC 80ABF6DC 54410006 */ bnel $v0, $at, .L80ABF6F8 -/* 009C0 80ABF6E0 8FBF001C */ lw $ra, 0x001C($sp) -/* 009C4 80ABF6E4 8C6D0680 */ lw $t5, 0x0680($v1) ## 00000680 -/* 009C8 80ABF6E8 3C010080 */ lui $at, 0x0080 ## $at = 00800000 -/* 009CC 80ABF6EC 01A17025 */ or $t6, $t5, $at ## $t6 = 00800000 -/* 009D0 80ABF6F0 AC6E0680 */ sw $t6, 0x0680($v1) ## 00000680 -.L80ABF6F4: -/* 009D4 80ABF6F4 8FBF001C */ lw $ra, 0x001C($sp) -.L80ABF6F8: -/* 009D8 80ABF6F8 8FB00018 */ lw $s0, 0x0018($sp) -/* 009DC 80ABF6FC 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 009E0 80ABF700 03E00008 */ jr $ra -/* 009E4 80ABF704 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/func_80ABF708.s b/asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/func_80ABF708.s deleted file mode 100644 index a47be1c462..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/func_80ABF708.s +++ /dev/null @@ -1,54 +0,0 @@ -glabel func_80ABF708 -/* 009E8 80ABF708 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 009EC 80ABF70C AFBF0014 */ sw $ra, 0x0014($sp) -/* 009F0 80ABF710 AFA5001C */ sw $a1, 0x001C($sp) -/* 009F4 80ABF714 0C00BC65 */ jal func_8002F194 -/* 009F8 80ABF718 AFA40018 */ sw $a0, 0x0018($sp) -/* 009FC 80ABF71C 10400005 */ beq $v0, $zero, .L80ABF734 -/* 00A00 80ABF720 8FA40018 */ lw $a0, 0x0018($sp) -/* 00A04 80ABF724 3C0E80AC */ lui $t6, %hi(func_80ABF7CC) ## $t6 = 80AC0000 -/* 00A08 80ABF728 25CEF7CC */ addiu $t6, $t6, %lo(func_80ABF7CC) ## $t6 = 80ABF7CC -/* 00A0C 80ABF72C 10000023 */ beq $zero, $zero, .L80ABF7BC -/* 00A10 80ABF730 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C -.L80ABF734: -/* 00A14 80ABF734 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000 -/* 00A18 80ABF738 44812000 */ mtc1 $at, $f4 ## $f4 = 120.00 -/* 00A1C 80ABF73C C4860090 */ lwc1 $f6, 0x0090($a0) ## 00000090 -/* 00A20 80ABF740 848F008A */ lh $t7, 0x008A($a0) ## 0000008A -/* 00A24 80ABF744 84980032 */ lh $t8, 0x0032($a0) ## 00000032 -/* 00A28 80ABF748 4606203C */ c.lt.s $f4, $f6 -/* 00A2C 80ABF74C 8499015A */ lh $t9, 0x015A($a0) ## 0000015A -/* 00A30 80ABF750 01F81823 */ subu $v1, $t7, $t8 -/* 00A34 80ABF754 00031C00 */ sll $v1, $v1, 16 -/* 00A38 80ABF758 27280001 */ addiu $t0, $t9, 0x0001 ## $t0 = 00000001 -/* 00A3C 80ABF75C 00031C03 */ sra $v1, $v1, 16 -/* 00A40 80ABF760 45010016 */ bc1t .L80ABF7BC -/* 00A44 80ABF764 A488015A */ sh $t0, 0x015A($a0) ## 0000015A -/* 00A48 80ABF768 3C098012 */ lui $t1, %hi(gBitFlags+0x3c) -/* 00A4C 80ABF76C 3C0A8016 */ lui $t2, %hi(gSaveContext+0xa4) -/* 00A50 80ABF770 8D4AE704 */ lw $t2, %lo(gSaveContext+0xa4)($t2) -/* 00A54 80ABF774 8D29715C */ lw $t1, %lo(gBitFlags+0x3c)($t1) -/* 00A58 80ABF778 00031023 */ subu $v0, $zero, $v1 -/* 00A5C 80ABF77C 240C5021 */ addiu $t4, $zero, 0x5021 ## $t4 = 00005021 -/* 00A60 80ABF780 012A5824 */ and $t3, $t1, $t2 -/* 00A64 80ABF784 11600002 */ beq $t3, $zero, .L80ABF790 -/* 00A68 80ABF788 00021400 */ sll $v0, $v0, 16 -/* 00A6C 80ABF78C A48C010E */ sh $t4, 0x010E($a0) ## 0000010E -.L80ABF790: -/* 00A70 80ABF790 04600004 */ bltz $v1, .L80ABF7A4 -/* 00A74 80ABF794 00021403 */ sra $v0, $v0, 16 -/* 00A78 80ABF798 00031400 */ sll $v0, $v1, 16 -/* 00A7C 80ABF79C 10000001 */ beq $zero, $zero, .L80ABF7A4 -/* 00A80 80ABF7A0 00021403 */ sra $v0, $v0, 16 -.L80ABF7A4: -/* 00A84 80ABF7A4 28414300 */ slti $at, $v0, 0x4300 -/* 00A88 80ABF7A8 10200004 */ beq $at, $zero, .L80ABF7BC -/* 00A8C 80ABF7AC 3C06428C */ lui $a2, 0x428C ## $a2 = 428C0000 -/* 00A90 80ABF7B0 A480015A */ sh $zero, 0x015A($a0) ## 0000015A -/* 00A94 80ABF7B4 0C00BCB3 */ jal func_8002F2CC -/* 00A98 80ABF7B8 8FA5001C */ lw $a1, 0x001C($sp) -.L80ABF7BC: -/* 00A9C 80ABF7BC 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00AA0 80ABF7C0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00AA4 80ABF7C4 03E00008 */ jr $ra -/* 00AA8 80ABF7C8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/func_80ABF7CC.s b/asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/func_80ABF7CC.s deleted file mode 100644 index 34200caf1b..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/func_80ABF7CC.s +++ /dev/null @@ -1,65 +0,0 @@ -.rdata -glabel D_80AC04D0 - .asciz "☆☆☆☆☆ 開けゴマゴマゴマ! ☆☆☆☆☆ %d\n" - .balign 4 - -.text -glabel func_80ABF7CC -/* 00AAC 80ABF7CC 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 00AB0 80ABF7D0 AFA40020 */ sw $a0, 0x0020($sp) -/* 00AB4 80ABF7D4 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00AB8 80ABF7D8 24A420D8 */ addiu $a0, $a1, 0x20D8 ## $a0 = 000020D8 -/* 00ABC 80ABF7DC AFA50024 */ sw $a1, 0x0024($sp) -/* 00AC0 80ABF7E0 0C042F6F */ jal func_8010BDBC -/* 00AC4 80ABF7E4 AFA40018 */ sw $a0, 0x0018($sp) -/* 00AC8 80ABF7E8 3C0480AC */ lui $a0, %hi(D_80AC04D0) ## $a0 = 80AC0000 -/* 00ACC 80ABF7EC 248404D0 */ addiu $a0, $a0, %lo(D_80AC04D0) ## $a0 = 80AC04D0 -/* 00AD0 80ABF7F0 0C00084C */ jal osSyncPrintf - -/* 00AD4 80ABF7F4 00402825 */ or $a1, $v0, $zero ## $a1 = 00000000 -/* 00AD8 80ABF7F8 0C042F6F */ jal func_8010BDBC -/* 00ADC 80ABF7FC 8FA40018 */ lw $a0, 0x0018($sp) -/* 00AE0 80ABF800 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005 -/* 00AE4 80ABF804 54410025 */ bnel $v0, $at, .L80ABF89C -/* 00AE8 80ABF808 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00AEC 80ABF80C 0C041AF2 */ jal func_80106BC8 -/* 00AF0 80ABF810 8FA40024 */ lw $a0, 0x0024($sp) -/* 00AF4 80ABF814 50400021 */ beql $v0, $zero, .L80ABF89C -/* 00AF8 80ABF818 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00AFC 80ABF81C 0C041B33 */ jal func_80106CCC -/* 00B00 80ABF820 8FA40024 */ lw $a0, 0x0024($sp) -/* 00B04 80ABF824 3C038016 */ lui $v1, %hi(gSaveContext) -/* 00B08 80ABF828 2463E660 */ addiu $v1, %lo(gSaveContext) -/* 00B0C 80ABF82C 3C0E8012 */ lui $t6, %hi(gBitFlags+0x3c) -/* 00B10 80ABF830 8DCE715C */ lw $t6, %lo(gBitFlags+0x3c)($t6) -/* 00B14 80ABF834 8C6F00A4 */ lw $t7, 0x00A4($v1) ## 8015E704 -/* 00B18 80ABF838 3C020200 */ lui $v0, 0x0200 ## $v0 = 02000000 -/* 00B1C 80ABF83C 244224A0 */ addiu $v0, $v0, 0x24A0 ## $v0 = 020024A0 -/* 00B20 80ABF840 01CFC024 */ and $t8, $t6, $t7 -/* 00B24 80ABF844 17000010 */ bne $t8, $zero, .L80ABF888 -/* 00B28 80ABF848 0002C900 */ sll $t9, $v0, 4 -/* 00B2C 80ABF84C 00194702 */ srl $t0, $t9, 28 -/* 00B30 80ABF850 00084880 */ sll $t1, $t0, 2 -/* 00B34 80ABF854 3C0A8016 */ lui $t2, %hi(gSegments) -/* 00B38 80ABF858 01495021 */ addu $t2, $t2, $t1 -/* 00B3C 80ABF85C 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000 -/* 00B40 80ABF860 8D4A6FA8 */ lw $t2, %lo(gSegments)($t2) -/* 00B44 80ABF864 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF -/* 00B48 80ABF868 00415824 */ and $t3, $v0, $at -/* 00B4C 80ABF86C 8FAE0024 */ lw $t6, 0x0024($sp) -/* 00B50 80ABF870 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 00B54 80ABF874 014B6021 */ addu $t4, $t2, $t3 -/* 00B58 80ABF878 01816821 */ addu $t5, $t4, $at -/* 00B5C 80ABF87C 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001 -/* 00B60 80ABF880 ADCD1D68 */ sw $t5, 0x1D68($t6) ## 80121D68 -/* 00B64 80ABF884 A06F1414 */ sb $t7, 0x1414($v1) ## 8015FA74 -.L80ABF888: -/* 00B68 80ABF888 8FB90020 */ lw $t9, 0x0020($sp) -/* 00B6C 80ABF88C 3C1880AC */ lui $t8, %hi(func_80ABF708) ## $t8 = 80AC0000 -/* 00B70 80ABF890 2718F708 */ addiu $t8, $t8, %lo(func_80ABF708) ## $t8 = 80ABF708 -/* 00B74 80ABF894 AF38014C */ sw $t8, 0x014C($t9) ## 0000014C -/* 00B78 80ABF898 8FBF0014 */ lw $ra, 0x0014($sp) -.L80ABF89C: -/* 00B7C 80ABF89C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00B80 80ABF8A0 03E00008 */ jr $ra -/* 00B84 80ABF8A4 00000000 */ nop diff --git a/data/overlays/actors/z_en_okarina_tag.data.s b/data/overlays/actors/z_en_okarina_tag.data.s deleted file mode 100644 index c8197660db..0000000000 --- a/data/overlays/actors/z_en_okarina_tag.data.s +++ /dev/null @@ -1,22 +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 D_80ABF9D0 - .word 0x00000004, 0x00000168, 0x000003E8, 0x00000001, 0x002A00C8, 0x00C900C9, 0x00000001, 0x00010000, 0x014B0000, 0x00000000, 0x42700000, 0x0C1C00C9, 0xFF9C3235, 0x00000000, 0x42700000, 0x0C1C00C9, 0xFF9C3336, 0x00000000, 0x42700000, 0x0C1C00C9, 0xFF9C392C, 0x00000000, 0x42700000, 0x0C6A00C9, 0x00712C20, 0x00000000, 0x42700000, 0x0C6A00C9, 0x00713235, 0x00000000, 0x42700000, 0x0C6A00C9, 0x00713238, 0x00000000, 0x42700000, 0x0C6A00C9, 0x00713639, 0xFF000000, 0x42700000, 0x0C6A00C9, 0x00712C20, 0x00000002, 0x00010000, 0x01680000, 0x0000001E, 0x42700000, 0x0BEE0089, 0xFFC03235, 0x0000001E, 0x42700000, 0x0BEE0089, 0xFFC03336, 0x0000005A, 0x42700000, 0x0BEE0089, 0xFFC0392C, 0x0000005A, 0x42700000, 0x0C2E008E, 0x00602C20, 0x0000001E, 0x42700000, 0x0C2E008E, 0x00603235, 0x0000001E, 0x42700000, 0x0C2E008E, 0x00603238, 0x0000001E, 0x42700000, 0x0C2E008E, 0x00603639, 0xFF00001E, 0x42700000, 0x0C2E008E, 0x00602C20, 0x00000003, 0x00000001, 0x0013001E, 0x001F0000, 0x00000000, 0xFFFFFFFE, 0x00000000, 0x00000002, 0xFFFFFFFE, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000 -glabel D_80ABFB40 - .word 0x00000012, 0x00000BB8, 0x00000021, 0x00000001, 0x00010000, 0x0BB80000, 0x00000000, 0x00000000, 0xFFFFFFAA, 0xFFFFFFAE, 0x00000000, 0xFFFFFFAA, 0xFFFFFFAE, 0x00000000, 0x00000000, 0x00000000, 0x0000000A, 0x00000003, 0x00110000, 0x00500000, 0x80000000, 0x00000000, 0xFFFFFFD8, 0x00000578, 0x00000000, 0xFFFFFFD8, 0x00000578, 0x00000000, 0x00000000, 0x00000001, 0x00120050, 0x00C90000, 0x80000000, 0x00000000, 0xFFFFFFD8, 0x00000578, 0x00000000, 0xFFFFFFD8, 0x00000578, 0x00000000, 0x00000000, 0x00000001, 0x000500C9, 0x02960000, 0x80000000, 0x00000000, 0xFFFFFFD8, 0x00000578, 0x00000000, 0xFFFFFFD8, 0x00000578, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x00000001, 0x000D01FE, 0x02630000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000030, 0x00000001, 0x000300A0, 0x01210000, 0x00000000, 0x00000000, 0x00000014, 0x00000578, 0x00000000, 0x0000003C, 0x00000578, 0x00000000, 0x3E9EC27B, 0x00000000, 0x00000030, 0x00000003, 0x00040154, 0x01A40000, 0x00000000, 0x00000000, 0x00000078, 0x00000537, 0x00000000, 0x00000028, 0x00000537, 0x00000000, 0xBF800000, 0x00000000, 0x000401A4, 0x01D10000, 0x00000000, 0x00000000, 0x00000028, 0x00000537, 0x00000000, 0x00000010, 0x00000537, 0x00000000, 0xBF088889, 0x00000000, 0x000201D1, 0x02070000, 0x00000000, 0x00000000, 0x00000010, 0x00000537, 0x00000000, 0x00000010, 0x00000537, 0x00000000, 0x00000000, 0x00000000, 0x00000003, 0x00000001, 0x0003026C, 0x026D0000, 0x00000000, 0x00000001, 0x00000000, 0xFFFFFFFF, 0x00000001, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x0000002D, 0x00000001, 0x00010152, 0x01550155, 0x0000002D, 0x00000001, 0x00050158, 0x015D015D, 0x00000003, 0x00000001, 0x000C0316, 0x03170000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x0000002D, 0x00000001, 0x0001009D, 0x00A000A0, 0x0000002D, 0x00000001, 0x0005009F, 0x00A600A6, 0x00000056, 0x00000001, 0x005A0230, 0x02310000, 0x00000000, 0x00000003, 0x00000000, 0x00000004, 0x00000003, 0x00000000, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00010000, 0x01C30000, 0x00000000, 0x42700000, 0x0002000B, 0x0575A220, 0x00000000, 0x42700000, 0x0002000B, 0x0575B820, 0x00000000, 0x42700000, 0x0002000B, 0x0575D0A1, 0x00000000, 0x42700000, 0x0000001B, 0x05A5BAEE, 0x00000000, 0x42700000, 0x0038001B, 0x0569A5AF, 0x00000000, 0x42700000, 0xFFED001B, 0x053DAE0A, 0x00000000, 0x42700000, 0xFFD4FFFC, 0x0595A8A5, 0x00000000, 0x42700000, 0xFFD4FFFC, 0x0595A5ED, 0x00000000, 0x42700000, 0xFFD4FFFC, 0x0595A220, 0x00000000, 0x42700000, 0xFFD4FFFC, 0x0595A5A4, 0x00000000, 0x42700000, 0xFFD4FFFC, 0x059520BA, 0x00000000, 0x42700000, 0xFFD4FFFC, 0x0595C9A5, 0x00000000, 0x42700000, 0xFFD4FFFC, 0x0595A5A2, 0x00000000, 0x42700000, 0xFFD4FFFC, 0x0595A5BB, 0x00000000, 0x42700000, 0xFFD4FFFC, 0x0595AE0A, 0xFF000000, 0x42700000, 0xFFD4FFFC, 0x0595B3A5, 0x00000001, 0x00010154, 0x05B50000, 0x00000000, 0x42700000, 0xFFFA000F, 0x0618A220, 0x00000000, 0x42700000, 0xFFFA000F, 0x0618B820, 0x00000000, 0x42700000, 0xFFFA000F, 0x0618D0A1, 0x00000000, 0x42700000, 0xFFFA000F, 0x0618BAEE, 0x00000000, 0x42700000, 0xFFFA000F, 0x0618A5AF, 0xFF000000, 0x42700000, 0xFFFA000F, 0x0618AE0A, 0x00000001, 0x000101EA, 0x03AD0000, 0x00000000, 0x42700000, 0x00000108, 0x0563A220, 0x00000000, 0x42700000, 0x00000108, 0x0563B820, 0x00000000, 0x42700000, 0x00000108, 0x0563D0A1, 0x00000000, 0x42700000, 0x00000108, 0x0563BAEE, 0x00000000, 0x42700000, 0x00000099, 0x0563A5AF, 0x00000000, 0x42700000, 0x00370020, 0x0576AE0A, 0x00000000, 0x42700000, 0x006FFFDA, 0x05E7A8A5, 0x00000000, 0x42700000, 0x006FFFDA, 0x05E7A5ED, 0x00000000, 0x42700000, 0x006FFFDA, 0x05E7A220, 0x00000000, 0x42700000, 0x006FFFDA, 0x05E7A5A4, 0x00000000, 0x42700000, 0x006FFFDA, 0x05E720BA, 0x00000000, 0x42700000, 0x006FFFDA, 0x05E7C9A5, 0x00000000, 0x42700000, 0x006FFFDA, 0x05E7A5A2, 0xFF000000, 0x42700000, 0x006FFFDA, 0x05E7A5BB, 0x00000002, 0x00010000, 0x01E00000, 0x0000001E, 0x42700000, 0x00020024, 0x0537A220, 0x0000001E, 0x42700000, 0x00020024, 0x0537B820, 0x0000001E, 0x42700000, 0x00020024, 0x0537D0A1, 0x0000001E, 0x42700000, 0x0000FFF8, 0x056FBAEE, 0x0000001E, 0x42700000, 0x0001FFFB, 0x0576A5AF, 0x0000001E, 0x42700000, 0xFFFEFFFD, 0x0572AE0A, 0x0000001E, 0x42700000, 0x00050000, 0x0577A8A5, 0x0000001E, 0x42700000, 0x0001000E, 0x0577A5ED, 0x0000001E, 0x42700000, 0xFFF70021, 0x057AA220, 0x0000001E, 0x42700000, 0xFFF20029, 0x0581A5A4, 0x0000001E, 0x42700000, 0xFFF20029, 0x058120BA, 0x0000001E, 0x42700000, 0xFFF20029, 0x0581C9A5, 0x0000001E, 0x42700000, 0xFFF20029, 0x0581A5A2, 0x0000001E, 0x42700000, 0xFFF20029, 0x0581A5BB, 0x0000001E, 0x42700000, 0xFFF20029, 0x0581AE0A, 0xFF00001E, 0x42700000, 0xFFF20029, 0x0581B3A5, 0x00000002, 0x00010154, 0x05D20000, 0x0000001E, 0x42700000, 0xFFFD0030, 0x0586A220, 0x0000001E, 0x42700000, 0xFFFD0030, 0x0586B820, 0x000003E8, 0x42700000, 0xFFFD0030, 0x0586D0A1, 0x0000001E, 0x42700000, 0xFFFD0030, 0x0586BAEE, 0x0000001E, 0x42700000, 0xFFFD002F, 0x0586A5AF, 0xFF00001E, 0x42700000, 0xFFFD002F, 0x0586AE0A, 0x00000002, 0x000101EA, 0x03CA0000, 0x0000001E, 0x42700000, 0x00000108, 0x04FAA220, 0x0000003C, 0x42700000, 0x00000108, 0x04FAB820, 0x0000003C, 0x42700000, 0x00000108, 0x04FAD0A1, 0x0000001E, 0x42700000, 0x00000108, 0x04FABAEE, 0x0000001E, 0x42700000, 0x000000AA, 0x04FBA5AF, 0x0000001E, 0x42700000, 0x000A0033, 0x051AAE0A, 0x0000001E, 0x42700000, 0x0044FFFE, 0x0590A8A5, 0x0000001E, 0x42700000, 0x0044FFFE, 0x0590A5ED, 0x0000001E, 0x42700000, 0x0044FFFE, 0x0590A220, 0x0000001E, 0x42700000, 0x0044FFFE, 0x0590A5A4, 0x0000001E, 0x42700000, 0x0044FFFE, 0x059020BA, 0x0000001E, 0x42700000, 0x0044FFFE, 0x0590C9A5, 0x0000001E, 0x42700000, 0x0044FFFE, 0x0590A5A2, 0xFF00001E, 0x42700000, 0x0044FFFE, 0x0590A5BB, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000 -glabel En_Okarina_Tag_InitVars - .word 0x012E0600, 0x02000010, 0x00010000, 0x00000160 -.word EnOkarinaTag_Init -.word EnOkarinaTag_Destroy -.word EnOkarinaTag_Update -.word 0x00000000 - diff --git a/data/overlays/actors/z_en_okarina_tag.reloc.s b/data/overlays/actors/z_en_okarina_tag.reloc.s deleted file mode 100644 index c1568fcc80..0000000000 --- a/data/overlays/actors/z_en_okarina_tag.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_80AC0530 - .incbin "baserom/ovl_En_Okarina_Tag", 0x1810, 0x00000130 diff --git a/include/functions.h b/include/functions.h index 1ef004e947..ac242f1435 100644 --- a/include/functions.h +++ b/include/functions.h @@ -2208,6 +2208,7 @@ void func_800F4C58(Vec3f*, u16, u8); // ? func_800F5510(?); // ? func_800F5550(?); // ? func_800F56A8(?); +void func_800F574C(f32 arg0, UNK_TYPE arg2); void func_800F595C(u16); void func_800F59E8(u16); // ? func_800F5ACC(?); diff --git a/include/z64.h b/include/z64.h index ebb5940096..17ca067982 100644 --- a/include/z64.h +++ b/include/z64.h @@ -151,7 +151,9 @@ typedef struct { /* 0x0EF8 */ u16 infTable[30]; // "inf_table" /* 0x0F34 */ char unk_F34[0x0004]; /* 0x0F38 */ u32 worldMapAreaData; // "area_arrival" - /* 0x0F3C */ char unk_F3C[0x040C]; + /* 0x0F3C */ char unk_F3C[0x0389]; + /* 0x12C5 */ u8 unk_12C5; + /* 0x12C6 */ char unk_12C6[0x0082]; /* 0x1348 */ HorseData horseData; /* 0x1352 */ u16 checksum; // "check_sum" /* 0x1354 */ s32 fileNum; // "file_no" diff --git a/spec b/spec index 52d1fb1fbc..d0beb62432 100644 --- a/spec +++ b/spec @@ -2975,9 +2975,9 @@ endseg beginseg name "ovl_En_Okarina_Tag" + include "build/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag_cutscene_data.o" include "build/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.o" - include "build/data/overlays/actors/z_en_okarina_tag.data.o" - include "build/data/overlays/actors/z_en_okarina_tag.reloc.o" + include "build/src/overlays/actors/ovl_En_Okarina_Tag/ovl_En_Okarina_Tag_reloc.o" endseg beginseg diff --git a/src/overlays/actors/ovl_En_Okarina_Tag/overlay.cfg b/src/overlays/actors/ovl_En_Okarina_Tag/overlay.cfg index effc4854f3..0cb0a85cc2 100644 --- a/src/overlays/actors/ovl_En_Okarina_Tag/overlay.cfg +++ b/src/overlays/actors/ovl_En_Okarina_Tag/overlay.cfg @@ -1,2 +1,3 @@ ovl_En_Okarina_Tag +z_en_okarina_tag_cutscene_data.c z_en_okarina_tag.c \ No newline at end of file diff --git a/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c b/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c index b718856636..2fa9db91ff 100644 --- a/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c +++ b/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c @@ -1,4 +1,11 @@ +/* + * File: z_en_okarina_tag.c + * Overlay: ovl_En_Okarina_Tag + * Description: Music Staff (Ocarina) spot + */ + #include "z_en_okarina_tag.h" +#include #define FLAGS 0x02000010 @@ -8,7 +15,13 @@ void EnOkarinaTag_Init(Actor* thisx, GlobalContext* globalCtx); void EnOkarinaTag_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnOkarinaTag_Update(Actor* thisx, GlobalContext* globalCtx); -/* +void func_80ABEF2C(EnOkarinaTag* this, GlobalContext* globalCtx); +void func_80ABF708(EnOkarinaTag* this, GlobalContext* globalCtx); +void func_80ABF28C(EnOkarinaTag* this, GlobalContext* globalCtx); +void func_80ABF0CC(EnOkarinaTag* this, GlobalContext* globalCtx); +void func_80ABF4C8(EnOkarinaTag* this, GlobalContext* globalCtx); +void func_80ABF7CC(EnOkarinaTag* this, GlobalContext* globalCtx); + const ActorInit En_Okarina_Tag_InitVars = { ACTOR_EN_OKARINA_TAG, ACTORTYPE_PROP, @@ -20,21 +33,303 @@ const ActorInit En_Okarina_Tag_InitVars = { (ActorFunc)EnOkarinaTag_Update, NULL, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/EnOkarinaTag_Destroy.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/EnOkarinaTag_Init.s") +extern CutsceneData D_02003C80[]; +extern CutsceneData D_02005020[]; +extern CutsceneData D_020024A0[]; +extern CutsceneData D_80ABF9D0[]; +extern CutsceneData D_80ABFB40[]; + +void EnOkarinaTag_Destroy(Actor* thisx, GlobalContext* globalCtx) { +} + +void EnOkarinaTag_Init(Actor* thisx, GlobalContext* globalCtx) { + EnOkarinaTag* this = THIS; + + osSyncPrintf("\n\n"); + // "Ocarina tag outbreak" + osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ オカリナタグ発生 ☆☆☆☆☆ %x\n" VT_RST, this->actor.params); + this->actor.flags &= ~1; + this->unk_150 = (this->actor.params >> 0xA) & 0x3F; + this->unk_152 = (this->actor.params >> 6) & 0xF; + this->switchFlag = this->actor.params & 0x3F; + if (this->switchFlag == 0x3F) { + this->switchFlag = -1; + } + if (this->unk_152 == 0xF) { + this->unk_152 = 0; + this->unk_158 = 1; + } + this->actor.unk_1F = 1; + if (this->actor.posRot.rot.z > 0) { + this->unk_15C = this->actor.posRot.rot.z * 40.0f; + } + + // "Save information" + osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ セーブ情報\t ☆☆☆☆☆ %d\n" VT_RST, this->switchFlag); + // "Type index" + osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ 種類インデックス ☆☆☆☆☆ %d\n" VT_RST, this->unk_150); + // "Correct answer information" + osSyncPrintf(VT_FGCOL(PURPLE) "☆☆☆☆☆ 正解情報\t ☆☆☆☆☆ %d\n" VT_RST, this->unk_152); + // "Range information" + osSyncPrintf(VT_FGCOL(CYAN) "☆☆☆☆☆ 範囲情報\t ☆☆☆☆☆ %d\n" VT_RST, this->actor.posRot.rot.z); + // "Processing range information" + osSyncPrintf(VT_FGCOL(CYAN) "☆☆☆☆☆ 処理範囲情報\t ☆☆☆☆☆ %f\n" VT_RST, this->unk_15C); + // "Hit?" + osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ 当り?\t\t ☆☆☆☆☆ %d\n" VT_RST, this->unk_158); + osSyncPrintf("\n\n"); + + if ((this->switchFlag >= 0) && (Flags_GetSwitch(globalCtx, this->switchFlag))) { + Actor_Kill(&this->actor); + } else { + switch (this->unk_150) { + case 7: + this->actionFunc = func_80ABEF2C; + break; + case 2: + if (LINK_IS_ADULT) { + Actor_Kill(&this->actor); + break; + } + case 1: + case 4: + case 6: + this->actionFunc = func_80ABF28C; + break; + case 5: + // "This poem is dedicated to the memory of the dearly departed members of the Royal Family." + this->actor.textId = 0x5021; + this->actionFunc = func_80ABF708; + break; + default: + Actor_Kill(&this->actor); + break; + } + } +} + +void func_80ABEF2C(EnOkarinaTag* this, GlobalContext* globalCtx) { + Player* player; + u16 unk_152; + + player = PLAYER; + this->unk_15A++; + if ((this->switchFlag >= 0) && (Flags_GetSwitch(globalCtx, this->switchFlag))) { + this->actor.flags &= ~1; + } else { + if ((this->unk_152 != 6) || (gSaveContext.unk_12C5 != 0)) { + if (player->stateFlags2 & 0x1000000) { + // "North! ! ! ! !" + osSyncPrintf(VT_FGCOL(RED) "☆☆☆☆☆ 北!!!!! ☆☆☆☆☆ %f\n" VT_RST, this->actor.xzDistFromLink); + } + if ((this->actor.xzDistFromLink < (90.0f + this->unk_15C)) && + (fabsf(player->actor.posRot.pos.y - this->actor.posRot.pos.y) < 80.0f)) { + if (player->stateFlags2 & 0x2000000) { + unk_152 = this->unk_152; + if (unk_152 == 6) { + unk_152 = 0xA; + } + player->stateFlags2 |= 0x800000; + func_8010BD58(globalCtx, unk_152 + 0x22); + this->actionFunc = func_80ABF0CC; + } else if ((this->actor.xzDistFromLink < (50.0f + this->unk_15C) && + ((fabsf(player->actor.posRot.pos.y - this->actor.posRot.pos.y) < 40.0f)))) { + this->unk_15A = 0; + player->unk_6A8 = &this->actor; + } + } + } + } +} + +void func_80ABF0CC(EnOkarinaTag* this, GlobalContext* globalCtx) { + Player* player = PLAYER; + + if (globalCtx->msgCtx.unk_E3EE == 4) { + this->actionFunc = func_80ABEF2C; + } else { + if (globalCtx->msgCtx.unk_E3EE == 3) { + if (this->switchFlag >= 0) { + Flags_SetSwitch(globalCtx, this->switchFlag); + } + if (globalCtx->sceneNum == SCENE_MIZUSIN) { + globalCtx->msgCtx.msgMode = 0x37; + } + if ((globalCtx->sceneNum != SCENE_DAIYOUSEI_IZUMI) && (globalCtx->sceneNum != SCENE_YOUSEI_IZUMI_YOKO)) { + globalCtx->msgCtx.unk_E3EE = 4; + } + func_80078884(NA_SE_SY_CORRECT_CHIME); + this->actionFunc = func_80ABEF2C; + return; + } + if (this->unk_158 != 0) { + if ((globalCtx->msgCtx.unk_E3EE == 5) || (globalCtx->msgCtx.unk_E3EE == 6) || + (globalCtx->msgCtx.unk_E3EE == 7) || (globalCtx->msgCtx.unk_E3EE == 8) || + (globalCtx->msgCtx.unk_E3EE == 9) || (globalCtx->msgCtx.unk_E3EE == 10) || + (globalCtx->msgCtx.unk_E3EE == 13)) { + if (this->switchFlag >= 0) { + Flags_SetSwitch(globalCtx, this->switchFlag); + } + globalCtx->msgCtx.unk_E3EE = 4; + func_80078884(NA_SE_SY_CORRECT_CHIME); + this->actionFunc = func_80ABEF2C; + return; + } + } + if ((globalCtx->msgCtx.unk_E3EE >= 5) && (globalCtx->msgCtx.unk_E3EE < 0xE)) { + globalCtx->msgCtx.unk_E3EE = 4; + this->actionFunc = func_80ABEF2C; + } else if (globalCtx->msgCtx.unk_E3EE == 1) { + player->stateFlags2 |= 0x800000; + } + } +} + +void func_80ABF28C(EnOkarinaTag* this, GlobalContext* globalCtx) { + Player* player = PLAYER; + + this->unk_15A++; + if ((this->unk_152 != 6) || (gSaveContext.unk_12C5 != 0)) { + if ((this->switchFlag >= 0) && Flags_GetSwitch(globalCtx, this->switchFlag)) { + this->actor.flags &= ~1; + } else if (((this->unk_150 != 4) || !(gSaveContext.eventChkInf[4] & 0x800)) && + ((this->unk_150 != 6) || !(gSaveContext.eventChkInf[1] & 0x2000)) && + (this->actor.xzDistFromLink < (90.0f + this->unk_15C)) && + (fabsf(player->actor.posRot.pos.y - this->actor.posRot.pos.y) < 80.0f)) { + if (player->stateFlags2 & 0x1000000) { + switch (this->unk_150) { + case 1: + func_8010BD58(globalCtx, 0x24); + break; + case 2: + func_8010BD58(globalCtx, 0x27); + break; + case 4: + func_8010BD58(globalCtx, 0x26); + break; + case 6: + func_8010BD58(globalCtx, 0x24); + break; + default: + // "Ocarina Invisible-kun demo start check error source" + osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ オカリナ透明君デモ開始チェックエラー原 ☆☆☆☆☆ %d\n" VT_RST, + this->unk_150); + Actor_Kill(&this->actor); + break; + } + player->stateFlags2 |= 0x800000; + this->actionFunc = func_80ABF4C8; + } else if ((this->actor.xzDistFromLink < (50.0f + this->unk_15C)) && + (fabsf(player->actor.posRot.pos.y - this->actor.posRot.pos.y) < 40.0f)) { + this->unk_15A = 0; + player->stateFlags2 |= 0x800000; + } + } + } +} + +void func_80ABF4C8(EnOkarinaTag* this, GlobalContext* globalCtx) { + Player* player = PLAYER; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/func_80ABEF2C.s") + if (globalCtx->msgCtx.unk_E3EE == 4) { + this->actionFunc = func_80ABF28C; + } else if (globalCtx->msgCtx.unk_E3EE == 3) { + func_80078884(NA_SE_SY_CORRECT_CHIME); + if (this->switchFlag >= 0) { + Flags_SetSwitch(globalCtx, this->switchFlag); + } + switch (this->unk_150) { + case 1: + Flags_SetSwitch(globalCtx, this->switchFlag); + gSaveContext.eventChkInf[3] |= 0x200; + break; + case 2: + globalCtx->csCtx.segment = D_80ABF9D0; + gSaveContext.cutsceneTrigger = 1; + func_800F574C(1.18921f, 0x5A); + break; + case 4: + globalCtx->csCtx.segment = D_80ABFB40; + gSaveContext.cutsceneTrigger = 1; + break; + case 6: + globalCtx->csCtx.segment = + (LINK_IS_ADULT) ? SEGMENTED_TO_VIRTUAL(&D_02003C80) : SEGMENTED_TO_VIRTUAL(&D_02005020); + gSaveContext.cutsceneTrigger = 1; + gSaveContext.eventChkInf[1] |= 0x2000; + func_80078884(NA_SE_SY_CORRECT_CHIME); + break; + default: + break; + } + globalCtx->msgCtx.unk_E3EE = 4; + this->actionFunc = func_80ABF28C; + } else { + if (globalCtx->msgCtx.unk_E3EE >= 5) { + if (globalCtx->msgCtx.unk_E3EE < 0xE) { + globalCtx->msgCtx.unk_E3EE = 4; + this->actionFunc = func_80ABF28C; + return; + } + } + if (globalCtx->msgCtx.unk_E3EE == 1) { + player->stateFlags2 |= 0x800000; + } + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/func_80ABF0CC.s") +void func_80ABF708(EnOkarinaTag* this, GlobalContext* globalCtx) { + s16 yawDiff; + s16 yawDiffNew; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/func_80ABF28C.s") + if (func_8002F194(&this->actor, globalCtx) != 0) { + this->actionFunc = func_80ABF7CC; + } else { + yawDiff = this->actor.yawTowardsLink - this->actor.posRot.rot.y; + this->unk_15A++; + if (!(this->actor.xzDistFromLink > 120.0f)) { + if (CHECK_QUEST_ITEM(QUEST_SONG_SUN)) { + // "This poem is dedicated to the memory of the dearly departed members of the Royal Family." + this->actor.textId = 0x5021; + } + yawDiffNew = ABS(yawDiff); + if (yawDiffNew < 0x4300) { + this->unk_15A = 0; + func_8002F2CC(&this->actor, globalCtx, 70.0f); + } + } + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/func_80ABF4C8.s") +void func_80ABF7CC(EnOkarinaTag* this, GlobalContext* globalCtx) { + // "Open sesame sesame!" + osSyncPrintf(VT_FGCOL(PURPLE) "☆☆☆☆☆ 開けゴマゴマゴマ! ☆☆☆☆☆ %d\n" VT_RST, func_8010BDBC(&globalCtx->msgCtx)); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/func_80ABF708.s") + if ((func_8010BDBC(&globalCtx->msgCtx) == 5) && (func_80106BC8(globalCtx) != 0)) { + func_80106CCC(globalCtx); + if (!CHECK_QUEST_ITEM(QUEST_SONG_SUN)) { + globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(&D_020024A0); + gSaveContext.cutsceneTrigger = 1; + } + this->actionFunc = func_80ABF708; + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/func_80ABF7CC.s") +void EnOkarinaTag_Update(Actor* thisx, GlobalContext* globalCtx) { + EnOkarinaTag* this = THIS; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Okarina_Tag/EnOkarinaTag_Update.s") + this->actionFunc(this, globalCtx); + if (BREG(0) != 0) { + if (this->unk_15A != 0) { + if (!(this->unk_15A & 1)) { + DebugDisplay_AddObject(this->actor.posRot.pos.x, this->actor.posRot.pos.y, this->actor.posRot.pos.z, + this->actor.posRot.rot.x, this->actor.posRot.rot.y, this->actor.posRot.rot.z, + 1.0f, 1.0f, 1.0f, 120, 120, 120, 255, 4, globalCtx->state.gfxCtx); + } + } else { + DebugDisplay_AddObject(this->actor.posRot.pos.x, this->actor.posRot.pos.y, this->actor.posRot.pos.z, + this->actor.posRot.rot.x, this->actor.posRot.rot.y, this->actor.posRot.rot.z, 1.0f, + 1.0f, 1.0f, 255, 0, 0, 255, 4, globalCtx->state.gfxCtx); + } + } +} diff --git a/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.h b/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.h index 73795d3525..5ff95ab05a 100644 --- a/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.h +++ b/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.h @@ -6,9 +6,18 @@ struct EnOkarinaTag; +typedef void (*EnOkarinaTagActionFunc)(struct EnOkarinaTag*, GlobalContext*); + typedef struct EnOkarinaTag { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x14]; + /* 0x014C */ EnOkarinaTagActionFunc actionFunc; + /* 0x0150 */ s16 unk_150; + /* 0x0152 */ s16 unk_152; + /* 0x0154 */ s16 switchFlag; + /* 0x0156 */ char unk_156[0x2]; + /* 0x0158 */ s16 unk_158; + /* 0x015A */ s16 unk_15A; + /* 0x015C */ f32 unk_15C; } EnOkarinaTag; // size = 0x0160 extern const ActorInit En_Okarina_Tag_InitVars; diff --git a/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag_cutscene_data.c b/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag_cutscene_data.c new file mode 100644 index 0000000000..74b5604390 --- /dev/null +++ b/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag_cutscene_data.c @@ -0,0 +1,137 @@ +#include "z_en_okarina_tag.h" +#include + +// clang-format off +CutsceneData D_80ABF9D0[] = { + CS_BEGIN_CUTSCENE(4, 360), + CS_TERMINATOR(KAKARIKO_VILLAGE_DRAIN_WELL, 200, 201), + CS_CAM_POS_LIST(0, 331), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 3100, 201, -100, 0x3235), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 3100, 201, -100, 0x3336), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 3100, 201, -100, 0x392C), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 3178, 201, 113, 0x2C20), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 3178, 201, 113, 0x3235), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 3178, 201, 113, 0x3238), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 3178, 201, 113, 0x3639), + CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 60.0f, 3178, 201, 113, 0x2C20), + CS_CAM_FOCUS_POINT_LIST(0, 360), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, 3054, 137, -64, 0x3235), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, 3054, 137, -64, 0x3336), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 90, 60.0f, 3054, 137, -64, 0x392C), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 90, 60.0f, 3118, 142, 96, 0x2C20), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, 3118, 142, 96, 0x3235), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, 3118, 142, 96, 0x3238), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, 3118, 142, 96, 0x3639), + CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 60.0f, 3118, 142, 96, 0x2C20), + CS_MISC_LIST(1), + CS_MISC(0x0013, 30, 31, 0x0000, 0x00000000, 0xFFFFFFFE, 0x00000000, 0x00000002, 0xFFFFFFFE, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000000), + CS_END(), +}; + +CutsceneData D_80ABFB40[] = { + CS_BEGIN_CUTSCENE(18, 3000), + CS_UNK_DATA_LIST(0x00000021, 1), + CS_UNK_DATA(0x00010000, 0x0BB80000, 0x00000000, 0x00000000, 0xFFFFFFAA, 0xFFFFFFAE, 0x00000000, 0xFFFFFFAA, 0xFFFFFFAE, 0x00000000, 0x00000000, 0x00000000), + CS_PLAYER_ACTION_LIST(3), + CS_PLAYER_ACTION(0x0011, 0, 80, 0x0000, 0x8000, 0x0000, 0, -40, 1400, 0, -40, 1400, 0.0f, 0.0f, 1.401298464324817e-45f), + CS_PLAYER_ACTION(0x0012, 80, 201, 0x0000, 0x8000, 0x0000, 0, -40, 1400, 0, -40, 1400, 0.0f, 0.0f, 1.401298464324817e-45f), + CS_PLAYER_ACTION(0x0005, 201, 662, 0x0000, 0x8000, 0x0000, 0, -40, 1400, 0, -40, 1400, 0.0f, 0.0f, 1.401298464324817e-45f), + CS_MISC_LIST(1), + CS_MISC(0x000D, 510, 611, 0x0000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000), + CS_NPC_ACTION_LIST(48, 1), + CS_NPC_ACTION(0x0003, 160, 289, 0x0000, 0x0000, 0x0000, 0, 20, 1400, 0, 60, 1400, 0.0f, 0.3100775182247162f, 0.0f), + CS_NPC_ACTION_LIST(48, 3), + CS_NPC_ACTION(0x0004, 340, 420, 0x0000, 0x0000, 0x0000, 0, 120, 1335, 0, 40, 1335, 0.0f, -1.0f, 0.0f), + CS_NPC_ACTION(0x0004, 420, 465, 0x0000, 0x0000, 0x0000, 0, 40, 1335, 0, 16, 1335, 0.0f, -0.5333333611488342f, 0.0f), + CS_NPC_ACTION(0x0002, 465, 519, 0x0000, 0x0000, 0x0000, 0, 16, 1335, 0, 16, 1335, 0.0f, 0.0f, 0.0f), + CS_MISC_LIST(1), + CS_MISC(0x0003, 620, 621, 0x0000, 0x00000000, 0x00000001, 0x00000000, 0xFFFFFFFF, 0x00000001, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000), + CS_SCENE_TRANS_FX(0x0001, 338, 341), + CS_SCENE_TRANS_FX(0x0005, 344, 349), + CS_MISC_LIST(1), + CS_MISC(0x000C, 790, 791, 0x0000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000000), + CS_SCENE_TRANS_FX(0x0001, 157, 160), + CS_SCENE_TRANS_FX(0x0005, 159, 166), + CS_PLAY_BGM_LIST(1), + CS_PLAY_BGM(0x005A, 560, 561, 0x0000, 0x00000000, 0x00000003, 0x00000000, 0x00000004, 0x00000003, 0x00000000, 0x00000004), + CS_CAM_POS_LIST(0, 451), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 2, 11, 1397, 0xA220), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 2, 11, 1397, 0xB820), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 2, 11, 1397, 0xD0A1), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 0, 27, 1445, 0xBAEE), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 56, 27, 1385, 0xA5AF), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -19, 27, 1341, 0xAE0A), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -44, -4, 1429, 0xA8A5), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -44, -4, 1429, 0xA5ED), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -44, -4, 1429, 0xA220), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -44, -4, 1429, 0xA5A4), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -44, -4, 1429, 0x20BA), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -44, -4, 1429, 0xC9A5), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -44, -4, 1429, 0xA5A2), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -44, -4, 1429, 0xA5BB), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -44, -4, 1429, 0xAE0A), + CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 60.0f, -44, -4, 1429, 0xB3A5), + CS_CAM_POS_LIST(340, 1461), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -6, 15, 1560, 0xA220), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -6, 15, 1560, 0xB820), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -6, 15, 1560, 0xD0A1), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -6, 15, 1560, 0xBAEE), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -6, 15, 1560, 0xA5AF), + CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 60.0f, -6, 15, 1560, 0xAE0A), + CS_CAM_POS_LIST(490, 941), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 0, 264, 1379, 0xA220), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 0, 264, 1379, 0xB820), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 0, 264, 1379, 0xD0A1), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 0, 264, 1379, 0xBAEE), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 0, 153, 1379, 0xA5AF), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 55, 32, 1398, 0xAE0A), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 111, -38, 1511, 0xA8A5), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 111, -38, 1511, 0xA5ED), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 111, -38, 1511, 0xA220), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 111, -38, 1511, 0xA5A4), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 111, -38, 1511, 0x20BA), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 111, -38, 1511, 0xC9A5), + CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 111, -38, 1511, 0xA5A2), + CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 60.0f, 111, -38, 1511, 0xA5BB), + CS_CAM_FOCUS_POINT_LIST(0, 480), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, 2, 36, 1335, 0xA220), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, 2, 36, 1335, 0xB820), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, 2, 36, 1335, 0xD0A1), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, 0, -8, 1391, 0xBAEE), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, 1, -5, 1398, 0xA5AF), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, -2, -3, 1394, 0xAE0A), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, 5, 0, 1399, 0xA8A5), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, 1, 14, 1399, 0xA5ED), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, -9, 33, 1402, 0xA220), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, -14, 41, 1409, 0xA5A4), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, -14, 41, 1409, 0x20BA), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, -14, 41, 1409, 0xC9A5), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, -14, 41, 1409, 0xA5A2), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, -14, 41, 1409, 0xA5BB), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, -14, 41, 1409, 0xAE0A), + CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 60.0f, -14, 41, 1409, 0xB3A5), + CS_CAM_FOCUS_POINT_LIST(340, 1490), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, -3, 48, 1414, 0xA220), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, -3, 48, 1414, 0xB820), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 60.0f, -3, 48, 1414, 0xD0A1), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, -3, 48, 1414, 0xBAEE), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, -3, 47, 1414, 0xA5AF), + CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 60.0f, -3, 47, 1414, 0xAE0A), + CS_CAM_FOCUS_POINT_LIST(490, 970), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, 0, 264, 1274, 0xA220), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 60, 60.0f, 0, 264, 1274, 0xB820), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 60, 60.0f, 0, 264, 1274, 0xD0A1), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, 0, 264, 1274, 0xBAEE), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, 0, 170, 1275, 0xA5AF), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, 10, 51, 1306, 0xAE0A), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, 68, -2, 1424, 0xA8A5), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, 68, -2, 1424, 0xA5ED), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, 68, -2, 1424, 0xA220), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, 68, -2, 1424, 0xA5A4), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, 68, -2, 1424, 0x20BA), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, 68, -2, 1424, 0xC9A5), + CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, 68, -2, 1424, 0xA5A2), + CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 60.0f, 68, -2, 1424, 0xA5BB), + CS_END(), +}; +// clang-format on diff --git a/undefined_syms.txt b/undefined_syms.txt index bba26acde0..dd0ab78f98 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -741,3 +741,8 @@ D_06000A60 = 0x06000A60; // z_en_insect D_04035590 = 0x04035590; D_040341FC = 0x040341FC; + +// z_en_okarina_Tag +D_02003C80 = 0x02003C80; +D_02005020 = 0x02005020; +D_020024A0 = 0x020024A0;