From 6615d212eb9df664632a3953c9680a08be814d04 Mon Sep 17 00:00:00 2001 From: petrie911 <69443847+petrie911@users.noreply.github.com> Date: Mon, 1 Feb 2021 13:52:23 -0600 Subject: [PATCH] Demo_Kekkai, its object, and its cutscenes (#627) * first pass * scene * object * name * git subrepo pull --force tools/ZAPD subrepo: subdir: "tools/ZAPD" merged: "44f5d7cb9" upstream: origin: "https://github.com/zeldaret/ZAPD.git" branch: "master" commit: "44f5d7cb9" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * now with cutscenes * one last name * git subrepo pull --force tools/ZAPD subrepo: subdir: "tools/ZAPD" merged: "0305ec2c2" upstream: origin: "https://github.com/zeldaret/ZAPD.git" branch: "master" commit: "0305ec2c2" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * ZAPD works * git subrepo pull --force tools/ZAPD subrepo: subdir: "tools/ZAPD" merged: "2e1174063" upstream: origin: "https://github.com/zeldaret/ZAPD.git" branch: "master" commit: "2e1174063" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * now with vtx arrays * revert zap changes * review Co-authored-by: petrie911 Co-authored-by: Fig02 --- .../BgGndFiremeiro_Draw.s | 4 +- .../BgGndFiremeiro_Init.s | 4 +- .../ovl_Demo_Kekkai/DemoKekkai_Destroy.s | 19 - .../actors/ovl_Demo_Kekkai/DemoKekkai_Draw.s | 107 ----- .../actors/ovl_Demo_Kekkai/DemoKekkai_Init.s | 169 -------- .../ovl_Demo_Kekkai/DemoKekkai_Update.s | 89 ----- .../actors/ovl_Demo_Kekkai/func_8098CFD0.s | 22 -- .../actors/ovl_Demo_Kekkai/func_8098D280.s | 167 -------- .../actors/ovl_Demo_Kekkai/func_8098D4D4.s | 88 ----- .../actors/ovl_Demo_Kekkai/func_8098D71C.s | 108 ------ .../actors/ovl_Demo_Kekkai/func_8098D87C.s | 103 ----- .../actors/ovl_Demo_Kekkai/func_8098D9C0.s | 366 ------------------ .../actors/ovl_Object_Kankyo/func_80BA54AC.s | 4 +- assets/xml/objects/object_demo_kekkai.xml | 41 ++ assets/xml/scenes/dungeons/ganontika.xml | 18 +- data/overlays/actors/z_demo_kekkai.data.s | 42 -- data/overlays/actors/z_demo_kekkai.reloc.s | 13 - include/functions.h | 6 +- include/variables.h | 1 - spec | 6 +- src/code/z_demo.c | 29 +- .../ovl_Bg_Gnd_Darkmeiro/z_bg_gnd_darkmeiro.c | 15 +- .../ovl_Bg_Gnd_Firemeiro/z_bg_gnd_firemeiro.c | 5 +- .../ovl_Bg_Gnd_Iceblock/z_bg_gnd_iceblock.c | 8 +- .../ovl_Bg_Gnd_Nisekabe/z_bg_gnd_nisekabe.c | 14 +- .../ovl_Bg_Gnd_Soulmeiro/z_bg_gnd_soulmeiro.c | 80 ++-- .../actors/ovl_Demo_Kekkai/z_demo_kekkai.c | 309 ++++++++++++++- .../actors/ovl_Demo_Kekkai/z_demo_kekkai.h | 22 +- .../actors/ovl_Door_Shutter/z_door_shutter.c | 3 +- .../ovl_Object_Kankyo/z_object_kankyo.c | 2 +- undefined_syms.txt | 1 - 31 files changed, 455 insertions(+), 1410 deletions(-) delete mode 100644 asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/DemoKekkai_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/DemoKekkai_Draw.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/DemoKekkai_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/DemoKekkai_Update.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098CFD0.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098D280.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098D4D4.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098D71C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098D87C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098D9C0.s create mode 100644 assets/xml/objects/object_demo_kekkai.xml delete mode 100644 data/overlays/actors/z_demo_kekkai.data.s delete mode 100644 data/overlays/actors/z_demo_kekkai.reloc.s diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Firemeiro/BgGndFiremeiro_Draw.s b/asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Firemeiro/BgGndFiremeiro_Draw.s index c4220bdc42..86480598c7 100644 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Firemeiro/BgGndFiremeiro_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Firemeiro/BgGndFiremeiro_Draw.s @@ -42,8 +42,8 @@ glabel BgGndFiremeiro_Draw /* 00494 80879954 0C0346A2 */ jal Matrix_NewMtx /* 00498 80879958 AFA20028 */ sw $v0, 0x0028($sp) /* 0049C 8087995C 8FA30028 */ lw $v1, 0x0028($sp) -/* 004A0 80879960 3C0B0601 */ lui $t3, %hi(D_0600E210) ## $t3 = 06010000 -/* 004A4 80879964 256BE210 */ addiu $t3, $t3, %lo(D_0600E210) ## $t3 = 0600E210 +/* 004A0 80879960 3C0B0601 */ lui $t3, %hi(gFireTrialPlatformDL) ## $t3 = 06010000 +/* 004A4 80879964 256BE210 */ addiu $t3, $t3, %lo(gFireTrialPlatformDL) ## $t3 = 0600E210 /* 004A8 80879968 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 /* 004AC 8087996C 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0 /* 004B0 80879970 3C0ADE00 */ lui $t2, 0xDE00 ## $t2 = DE000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Firemeiro/BgGndFiremeiro_Init.s b/asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Firemeiro/BgGndFiremeiro_Init.s index 332ff823ae..9acde9aede 100644 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Firemeiro/BgGndFiremeiro_Init.s +++ b/asm/non_matchings/overlays/actors/ovl_Bg_Gnd_Firemeiro/BgGndFiremeiro_Init.s @@ -29,8 +29,8 @@ glabel BgGndFiremeiro_Init /* 00064 80879524 0C010D20 */ jal DynaPolyActor_Init /* 00068 80879528 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 0006C 8087952C 3C040601 */ lui $a0, %hi(D_0600ECD8) ## $a0 = 06010000 -/* 00070 80879530 2484ECD8 */ addiu $a0, $a0, %lo(D_0600ECD8) ## $a0 = 0600ECD8 +/* 0006C 8087952C 3C040601 */ lui $a0, %hi(gFireTrialPlatformCol) ## $a0 = 06010000 +/* 00070 80879530 2484ECD8 */ addiu $a0, $a0, %lo(gFireTrialPlatformCol) ## $a0 = 0600ECD8 /* 00074 80879534 0C010620 */ jal CollisionHeader_GetVirtual /* 00078 80879538 27A50024 */ addiu $a1, $sp, 0x0024 ## $a1 = FFFFFFF4 diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/DemoKekkai_Destroy.s b/asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/DemoKekkai_Destroy.s deleted file mode 100644 index e77958f609..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/DemoKekkai_Destroy.s +++ /dev/null @@ -1,19 +0,0 @@ -glabel DemoKekkai_Destroy -/* 00270 8098D240 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00274 8098D244 AFA40018 */ sw $a0, 0x0018($sp) -/* 00278 8098D248 AFA5001C */ sw $a1, 0x001C($sp) -/* 0027C 8098D24C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00280 8098D250 8FA50018 */ lw $a1, 0x0018($sp) -/* 00284 8098D254 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00288 8098D258 0C0170EB */ jal Collider_DestroyCylinder - -/* 0028C 8098D25C 24A5014C */ addiu $a1, $a1, 0x014C ## $a1 = 0000014C -/* 00290 8098D260 8FA50018 */ lw $a1, 0x0018($sp) -/* 00294 8098D264 8FA4001C */ lw $a0, 0x001C($sp) -/* 00298 8098D268 0C0170EB */ jal Collider_DestroyCylinder - -/* 0029C 8098D26C 24A50198 */ addiu $a1, $a1, 0x0198 ## $a1 = 00000198 -/* 002A0 8098D270 8FBF0014 */ lw $ra, 0x0014($sp) -/* 002A4 8098D274 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 002A8 8098D278 03E00008 */ jr $ra -/* 002AC 8098D27C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/DemoKekkai_Draw.s b/asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/DemoKekkai_Draw.s deleted file mode 100644 index c7f0015106..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/DemoKekkai_Draw.s +++ /dev/null @@ -1,107 +0,0 @@ -.rdata -glabel D_8098E254 - .asciz "../z_demo_kekkai.c" - .balign 4 - -glabel D_8098E268 - .asciz "../z_demo_kekkai.c" - .balign 4 - -glabel D_8098E27C - .asciz "../z_demo_kekkai.c" - .balign 4 - -.text -glabel DemoKekkai_Draw -/* 00F50 8098DF20 27BDFF88 */ addiu $sp, $sp, 0xFF88 ## $sp = FFFFFF88 -/* 00F54 8098DF24 AFBF003C */ sw $ra, 0x003C($sp) -/* 00F58 8098DF28 AFB10038 */ sw $s1, 0x0038($sp) -/* 00F5C 8098DF2C AFB00034 */ sw $s0, 0x0034($sp) -/* 00F60 8098DF30 AFA40078 */ sw $a0, 0x0078($sp) -/* 00F64 8098DF34 C48401EC */ lwc1 $f4, 0x01EC($a0) ## 000001EC -/* 00F68 8098DF38 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 00F6C 8098DF3C 3C068099 */ lui $a2, %hi(D_8098E254) ## $a2 = 80990000 -/* 00F70 8098DF40 4600218D */ trunc.w.s $f6, $f4 -/* 00F74 8098DF44 24C6E254 */ addiu $a2, $a2, %lo(D_8098E254) ## $a2 = 8098E254 -/* 00F78 8098DF48 27A40058 */ addiu $a0, $sp, 0x0058 ## $a0 = FFFFFFE0 -/* 00F7C 8098DF4C 240702C1 */ addiu $a3, $zero, 0x02C1 ## $a3 = 000002C1 -/* 00F80 8098DF50 44183000 */ mfc1 $t8, $f6 -/* 00F84 8098DF54 00000000 */ nop -/* 00F88 8098DF58 3319FFFF */ andi $t9, $t8, 0xFFFF ## $t9 = 00000000 -/* 00F8C 8098DF5C AFB9006C */ sw $t9, 0x006C($sp) -/* 00F90 8098DF60 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000 -/* 00F94 8098DF64 0C031AB1 */ jal Graph_OpenDisps -/* 00F98 8098DF68 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 00F9C 8098DF6C 0C024F61 */ jal func_80093D84 -/* 00FA0 8098DF70 8E240000 */ lw $a0, 0x0000($s1) ## 00000000 -/* 00FA4 8098DF74 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00FA8 8098DF78 3C0ADA38 */ lui $t2, 0xDA38 ## $t2 = DA380000 -/* 00FAC 8098DF7C 354A0003 */ ori $t2, $t2, 0x0003 ## $t2 = DA380003 -/* 00FB0 8098DF80 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008 -/* 00FB4 8098DF84 AE0902D0 */ sw $t1, 0x02D0($s0) ## 000002D0 -/* 00FB8 8098DF88 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000 -/* 00FBC 8098DF8C 8E240000 */ lw $a0, 0x0000($s1) ## 00000000 -/* 00FC0 8098DF90 3C058099 */ lui $a1, %hi(D_8098E268) ## $a1 = 80990000 -/* 00FC4 8098DF94 24A5E268 */ addiu $a1, $a1, %lo(D_8098E268) ## $a1 = 8098E268 -/* 00FC8 8098DF98 240602C3 */ addiu $a2, $zero, 0x02C3 ## $a2 = 000002C3 -/* 00FCC 8098DF9C 0C0346A2 */ jal Matrix_NewMtx -/* 00FD0 8098DFA0 AFA20054 */ sw $v0, 0x0054($sp) -/* 00FD4 8098DFA4 8FA30054 */ lw $v1, 0x0054($sp) -/* 00FD8 8098DFA8 3C0CFA00 */ lui $t4, 0xFA00 ## $t4 = FA000000 -/* 00FDC 8098DFAC 3C0DFFAA */ lui $t5, 0xFFAA ## $t5 = FFAA0000 -/* 00FE0 8098DFB0 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 00FE4 8098DFB4 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00FE8 8098DFB8 35ADFFFF */ ori $t5, $t5, 0xFFFF ## $t5 = FFAAFFFF -/* 00FEC 8098DFBC 358C0080 */ ori $t4, $t4, 0x0080 ## $t4 = FA000080 -/* 00FF0 8098DFC0 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 00FF4 8098DFC4 AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0 -/* 00FF8 8098DFC8 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000 -/* 00FFC 8098DFCC AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004 -/* 01000 8098DFD0 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 01004 8098DFD4 8FA8006C */ lw $t0, 0x006C($sp) -/* 01008 8098DFD8 3C0FDB06 */ lui $t7, 0xDB06 ## $t7 = DB060000 -/* 0100C 8098DFDC 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 01010 8098DFE0 AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002D0 -/* 01014 8098DFE4 35EF0020 */ ori $t7, $t7, 0x0020 ## $t7 = DB060020 -/* 01018 8098DFE8 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 0101C 8098DFEC 8E240000 */ lw $a0, 0x0000($s1) ## 00000000 -/* 01020 8098DFF0 00080823 */ subu $at, $zero, $t0 -/* 01024 8098DFF4 00013880 */ sll $a3, $at, 2 -/* 01028 8098DFF8 240B0040 */ addiu $t3, $zero, 0x0040 ## $t3 = 00000040 -/* 0102C 8098DFFC 24180020 */ addiu $t8, $zero, 0x0020 ## $t8 = 00000020 -/* 01030 8098E000 24190040 */ addiu $t9, $zero, 0x0040 ## $t9 = 00000040 -/* 01034 8098E004 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001 -/* 01038 8098E008 240A0020 */ addiu $t2, $zero, 0x0020 ## $t2 = 00000020 -/* 0103C 8098E00C 00083040 */ sll $a2, $t0, 1 -/* 01040 8098E010 AFA6001C */ sw $a2, 0x001C($sp) -/* 01044 8098E014 AFAA0024 */ sw $t2, 0x0024($sp) -/* 01048 8098E018 AFA90018 */ sw $t1, 0x0018($sp) -/* 0104C 8098E01C AFB90014 */ sw $t9, 0x0014($sp) -/* 01050 8098E020 AFB80010 */ sw $t8, 0x0010($sp) -/* 01054 8098E024 AFAB0028 */ sw $t3, 0x0028($sp) -/* 01058 8098E028 AFA70020 */ sw $a3, 0x0020($sp) -/* 0105C 8098E02C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 01060 8098E030 0C0253D0 */ jal Gfx_TwoTexScroll -/* 01064 8098E034 AFA2004C */ sw $v0, 0x004C($sp) -/* 01068 8098E038 8FA3004C */ lw $v1, 0x004C($sp) -/* 0106C 8098E03C 3C0E0600 */ lui $t6, %hi(D_06004930) ## $t6 = 06000000 -/* 01070 8098E040 25CE4930 */ addiu $t6, $t6, %lo(D_06004930) ## $t6 = 06004930 -/* 01074 8098E044 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 01078 8098E048 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 0107C 8098E04C 3C0DDE00 */ lui $t5, 0xDE00 ## $t5 = DE000000 -/* 01080 8098E050 3C068099 */ lui $a2, %hi(D_8098E27C) ## $a2 = 80990000 -/* 01084 8098E054 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008 -/* 01088 8098E058 AE0C02D0 */ sw $t4, 0x02D0($s0) ## 000002D0 -/* 0108C 8098E05C AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004 -/* 01090 8098E060 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000 -/* 01094 8098E064 8E250000 */ lw $a1, 0x0000($s1) ## 00000000 -/* 01098 8098E068 24C6E27C */ addiu $a2, $a2, %lo(D_8098E27C) ## $a2 = 8098E27C -/* 0109C 8098E06C 27A40058 */ addiu $a0, $sp, 0x0058 ## $a0 = FFFFFFE0 -/* 010A0 8098E070 0C031AD5 */ jal Graph_CloseDisps -/* 010A4 8098E074 240702D2 */ addiu $a3, $zero, 0x02D2 ## $a3 = 000002D2 -/* 010A8 8098E078 8FBF003C */ lw $ra, 0x003C($sp) -/* 010AC 8098E07C 8FB00034 */ lw $s0, 0x0034($sp) -/* 010B0 8098E080 8FB10038 */ lw $s1, 0x0038($sp) -/* 010B4 8098E084 03E00008 */ jr $ra -/* 010B8 8098E088 27BD0078 */ addiu $sp, $sp, 0x0078 ## $sp = 00000000 -/* 010BC 8098E08C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/DemoKekkai_Init.s b/asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/DemoKekkai_Init.s deleted file mode 100644 index bdb5fc0ab2..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/DemoKekkai_Init.s +++ /dev/null @@ -1,169 +0,0 @@ -.late_rodata -glabel jtbl_8098E290 -.word L8098D0F0 -.word L8098D148 -.word L8098D148 -.word L8098D148 -.word L8098D148 -.word L8098D148 -.word L8098D148 -glabel D_8098E2AC - .float 6100.0 -glabel D_8098E2B0 - .float 5000.0 - -.text -glabel DemoKekkai_Init -/* 00044 8098D014 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 -/* 00048 8098D018 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 0004C 8098D01C 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00 -/* 00050 8098D020 AFBF001C */ sw $ra, 0x001C($sp) -/* 00054 8098D024 AFB00018 */ sw $s0, 0x0018($sp) -/* 00058 8098D028 AFA50034 */ sw $a1, 0x0034($sp) -/* 0005C 8098D02C 3C053DCC */ lui $a1, 0x3DCC ## $a1 = 3DCC0000 -/* 00060 8098D030 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00064 8098D034 A48001F6 */ sh $zero, 0x01F6($a0) ## 000001F6 -/* 00068 8098D038 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3DCCCCCD -/* 0006C 8098D03C 0C00B58B */ jal Actor_SetScale - -/* 00070 8098D040 E48401E4 */ swc1 $f4, 0x01E4($a0) ## 000001E4 -/* 00074 8098D044 240E00FF */ addiu $t6, $zero, 0x00FF ## $t6 = 000000FF -/* 00078 8098D048 A20E00AE */ sb $t6, 0x00AE($s0) ## 000000AE -/* 0007C 8098D04C 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C -/* 00080 8098D050 AFA50020 */ sw $a1, 0x0020($sp) -/* 00084 8098D054 0C0170D9 */ jal Collider_InitCylinder - -/* 00088 8098D058 8FA40034 */ lw $a0, 0x0034($sp) -/* 0008C 8098D05C 3C078099 */ lui $a3, %hi(D_8098E0B0) ## $a3 = 80990000 -/* 00090 8098D060 24E7E0B0 */ addiu $a3, $a3, %lo(D_8098E0B0) ## $a3 = 8098E0B0 -/* 00094 8098D064 8FA40034 */ lw $a0, 0x0034($sp) -/* 00098 8098D068 8FA50020 */ lw $a1, 0x0020($sp) -/* 0009C 8098D06C 0C01712B */ jal Collider_SetCylinder - -/* 000A0 8098D070 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 000A4 8098D074 26050198 */ addiu $a1, $s0, 0x0198 ## $a1 = 00000198 -/* 000A8 8098D078 AFA50024 */ sw $a1, 0x0024($sp) -/* 000AC 8098D07C 0C0170D9 */ jal Collider_InitCylinder - -/* 000B0 8098D080 8FA40034 */ lw $a0, 0x0034($sp) -/* 000B4 8098D084 3C078099 */ lui $a3, %hi(D_8098E0B0) ## $a3 = 80990000 -/* 000B8 8098D088 24E7E0B0 */ addiu $a3, $a3, %lo(D_8098E0B0) ## $a3 = 8098E0B0 -/* 000BC 8098D08C 8FA40034 */ lw $a0, 0x0034($sp) -/* 000C0 8098D090 8FA50024 */ lw $a1, 0x0024($sp) -/* 000C4 8098D094 0C01712B */ jal Collider_SetCylinder - -/* 000C8 8098D098 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 000CC 8098D09C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 000D0 8098D0A0 0C0189B7 */ jal Collider_UpdateCylinder - -/* 000D4 8098D0A4 8FA50020 */ lw $a1, 0x0020($sp) -/* 000D8 8098D0A8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 000DC 8098D0AC 0C0189B7 */ jal Collider_UpdateCylinder - -/* 000E0 8098D0B0 8FA50024 */ lw $a1, 0x0024($sp) -/* 000E4 8098D0B4 8604001C */ lh $a0, 0x001C($s0) ## 0000001C -/* 000E8 8098D0B8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 000EC 8098D0BC 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00 -/* 000F0 8098D0C0 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 -/* 000F4 8098D0C4 2C810007 */ sltiu $at, $a0, 0x0007 -/* 000F8 8098D0C8 A60001F4 */ sh $zero, 0x01F4($s0) ## 000001F4 -/* 000FC 8098D0CC E60001F0 */ swc1 $f0, 0x01F0($s0) ## 000001F0 -/* 00100 8098D0D0 10200049 */ beq $at, $zero, .L8098D1F8 -/* 00104 8098D0D4 E60601EC */ swc1 $f6, 0x01EC($s0) ## 000001EC -/* 00108 8098D0D8 00047880 */ sll $t7, $a0, 2 -/* 0010C 8098D0DC 3C018099 */ lui $at, %hi(jtbl_8098E290) ## $at = 80990000 -/* 00110 8098D0E0 002F0821 */ addu $at, $at, $t7 -/* 00114 8098D0E4 8C2FE290 */ lw $t7, %lo(jtbl_8098E290)($at) -/* 00118 8098D0E8 01E00008 */ jr $t7 -/* 0011C 8098D0EC 00000000 */ nop -glabel L8098D0F0 -/* 00120 8098D0F0 3C188099 */ lui $t8, %hi(func_8098D4D4) ## $t8 = 80990000 -/* 00124 8098D0F4 2718D4D4 */ addiu $t8, $t8, %lo(func_8098D4D4) ## $t8 = 8098D4D4 -/* 00128 8098D0F8 AE1801F8 */ sw $t8, 0x01F8($s0) ## 000001F8 -/* 0012C 8098D0FC 3C018099 */ lui $at, %hi(D_8098E2AC) ## $at = 80990000 -/* 00130 8098D100 C42AE2AC */ lwc1 $f10, %lo(D_8098E2AC)($at) -/* 00134 8098D104 C6080050 */ lwc1 $f8, 0x0050($s0) ## 00000050 -/* 00138 8098D108 3C018099 */ lui $at, %hi(D_8098E2B0) ## $at = 80990000 -/* 0013C 8098D10C C6040054 */ lwc1 $f4, 0x0054($s0) ## 00000054 -/* 00140 8098D110 460A4402 */ mul.s $f16, $f8, $f10 -/* 00144 8098D114 240B012C */ addiu $t3, $zero, 0x012C ## $t3 = 0000012C -/* 00148 8098D118 8604001C */ lh $a0, 0x001C($s0) ## 0000001C -/* 0014C 8098D11C 4600848D */ trunc.w.s $f18, $f16 -/* 00150 8098D120 44089000 */ mfc1 $t0, $f18 -/* 00154 8098D124 00000000 */ nop -/* 00158 8098D128 A60801D8 */ sh $t0, 0x01D8($s0) ## 000001D8 -/* 0015C 8098D12C C426E2B0 */ lwc1 $f6, %lo(D_8098E2B0)($at) -/* 00160 8098D130 A60B01DC */ sh $t3, 0x01DC($s0) ## 000001DC -/* 00164 8098D134 46062202 */ mul.s $f8, $f4, $f6 -/* 00168 8098D138 4600428D */ trunc.w.s $f10, $f8 -/* 0016C 8098D13C 440A5000 */ mfc1 $t2, $f10 -/* 00170 8098D140 1000002D */ beq $zero, $zero, .L8098D1F8 -/* 00174 8098D144 A60A01DA */ sh $t2, 0x01DA($s0) ## 000001DA -glabel L8098D148 -/* 00178 8098D148 3C053DCC */ lui $a1, 0x3DCC ## $a1 = 3DCC0000 -/* 0017C 8098D14C E60001E4 */ swc1 $f0, 0x01E4($s0) ## 000001E4 -/* 00180 8098D150 E60001E8 */ swc1 $f0, 0x01E8($s0) ## 000001E8 -/* 00184 8098D154 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3DCCCCCD -/* 00188 8098D158 0C00B58B */ jal Actor_SetScale - -/* 0018C 8098D15C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00190 8098D160 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000 -/* 00194 8098D164 44819000 */ mtc1 $at, $f18 ## $f18 = 120.00 -/* 00198 8098D168 C6100050 */ lwc1 $f16, 0x0050($s0) ## 00000050 -/* 0019C 8098D16C 3C0144FA */ lui $at, 0x44FA ## $at = 44FA0000 -/* 001A0 8098D170 44815000 */ mtc1 $at, $f10 ## $f10 = 2000.00 -/* 001A4 8098D174 46128102 */ mul.s $f4, $f16, $f18 -/* 001A8 8098D178 C6080054 */ lwc1 $f8, 0x0054($s0) ## 00000054 -/* 001AC 8098D17C 3C0143A0 */ lui $at, 0x43A0 ## $at = 43A00000 -/* 001B0 8098D180 3C0C8099 */ lui $t4, %hi(func_8098D87C) ## $t4 = 80990000 -/* 001B4 8098D184 460A4402 */ mul.s $f16, $f8, $f10 -/* 001B8 8098D188 258CD87C */ addiu $t4, $t4, %lo(func_8098D87C) ## $t4 = 8098D87C -/* 001BC 8098D18C AE0C0130 */ sw $t4, 0x0130($s0) ## 00000130 -/* 001C0 8098D190 3C0D8099 */ lui $t5, %hi(func_8098D9C0) ## $t5 = 80990000 -/* 001C4 8098D194 25ADD9C0 */ addiu $t5, $t5, %lo(func_8098D9C0) ## $t5 = 8098D9C0 -/* 001C8 8098D198 240C005F */ addiu $t4, $zero, 0x005F ## $t4 = 0000005F -/* 001CC 8098D19C 4600218D */ trunc.w.s $f6, $f4 -/* 001D0 8098D1A0 C6040050 */ lwc1 $f4, 0x0050($s0) ## 00000050 -/* 001D4 8098D1A4 AE0D0134 */ sw $t5, 0x0134($s0) ## 00000134 -/* 001D8 8098D1A8 4600848D */ trunc.w.s $f18, $f16 -/* 001DC 8098D1AC 440F3000 */ mfc1 $t7, $f6 -/* 001E0 8098D1B0 44813000 */ mtc1 $at, $f6 ## $f6 = 320.00 -/* 001E4 8098D1B4 3C0143FF */ lui $at, 0x43FF ## $at = 43FF0000 -/* 001E8 8098D1B8 44199000 */ mfc1 $t9, $f18 -/* 001EC 8098D1BC 46062202 */ mul.s $f8, $f4, $f6 -/* 001F0 8098D1C0 44819000 */ mtc1 $at, $f18 ## $f18 = 510.00 -/* 001F4 8098D1C4 C6100054 */ lwc1 $f16, 0x0054($s0) ## 00000054 -/* 001F8 8098D1C8 A6000190 */ sh $zero, 0x0190($s0) ## 00000190 -/* 001FC 8098D1CC A60C01DC */ sh $t4, 0x01DC($s0) ## 000001DC -/* 00200 8098D1D0 46128102 */ mul.s $f4, $f16, $f18 -/* 00204 8098D1D4 8604001C */ lh $a0, 0x001C($s0) ## 0000001C -/* 00208 8098D1D8 A60F018C */ sh $t7, 0x018C($s0) ## 0000018C -/* 0020C 8098D1DC A619018E */ sh $t9, 0x018E($s0) ## 0000018E -/* 00210 8098D1E0 4600428D */ trunc.w.s $f10, $f8 -/* 00214 8098D1E4 4600218D */ trunc.w.s $f6, $f4 -/* 00218 8098D1E8 44095000 */ mfc1 $t1, $f10 -/* 0021C 8098D1EC 440B3000 */ mfc1 $t3, $f6 -/* 00220 8098D1F0 A60901D8 */ sh $t1, 0x01D8($s0) ## 000001D8 -/* 00224 8098D1F4 A60B01DA */ sh $t3, 0x01DA($s0) ## 000001DA -.L8098D1F8: -/* 00228 8098D1F8 0C2633F4 */ jal func_8098CFD0 -/* 0022C 8098D1FC 00000000 */ nop -/* 00230 8098D200 5040000B */ beql $v0, $zero, .L8098D230 -/* 00234 8098D204 8FBF001C */ lw $ra, 0x001C($sp) -/* 00238 8098D208 860D001C */ lh $t5, 0x001C($s0) ## 0000001C -/* 0023C 8098D20C 8FAF0034 */ lw $t7, 0x0034($sp) -/* 00240 8098D210 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00244 8098D214 15A00003 */ bne $t5, $zero, .L8098D224 -/* 00248 8098D218 002F0821 */ addu $at, $at, $t7 -/* 0024C 8098D21C 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001 -/* 00250 8098D220 A02E0AE3 */ sb $t6, 0x0AE3($at) ## 00010AE3 -.L8098D224: -/* 00254 8098D224 0C00B55C */ jal Actor_Kill - -/* 00258 8098D228 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0025C 8098D22C 8FBF001C */ lw $ra, 0x001C($sp) -.L8098D230: -/* 00260 8098D230 8FB00018 */ lw $s0, 0x0018($sp) -/* 00264 8098D234 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000 -/* 00268 8098D238 03E00008 */ jr $ra -/* 0026C 8098D23C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/DemoKekkai_Update.s b/asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/DemoKekkai_Update.s deleted file mode 100644 index 530774a1bf..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/DemoKekkai_Update.s +++ /dev/null @@ -1,89 +0,0 @@ -.late_rodata -glabel D_8098E2C0 - .float 0.99 - -.text -glabel DemoKekkai_Update -/* 00620 8098D5F0 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0 -/* 00624 8098D5F4 AFBF002C */ sw $ra, 0x002C($sp) -/* 00628 8098D5F8 AFB20028 */ sw $s2, 0x0028($sp) -/* 0062C 8098D5FC AFB10024 */ sw $s1, 0x0024($sp) -/* 00630 8098D600 AFB00020 */ sw $s0, 0x0020($sp) -/* 00634 8098D604 3C018099 */ lui $at, %hi(D_8098E2C0) ## $at = 80990000 -/* 00638 8098D608 C424E2C0 */ lwc1 $f4, %lo(D_8098E2C0)($at) -/* 0063C 8098D60C C48601E4 */ lwc1 $f6, 0x01E4($a0) ## 000001E4 -/* 00640 8098D610 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00644 8098D614 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 00648 8098D618 4606203C */ c.lt.s $f4, $f6 -/* 0064C 8098D61C 00000000 */ nop -/* 00650 8098D620 45020027 */ bc1fl .L8098D6C0 -/* 00654 8098D624 8E1901F8 */ lw $t9, 0x01F8($s0) ## 000001F8 -/* 00658 8098D628 908E015C */ lbu $t6, 0x015C($a0) ## 0000015C -/* 0065C 8098D62C 3C0140C0 */ lui $at, 0x40C0 ## $at = 40C00000 -/* 00660 8098D630 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 00664 8098D634 31CF0002 */ andi $t7, $t6, 0x0002 ## $t7 = 00000000 -/* 00668 8098D638 55E00006 */ bnel $t7, $zero, .L8098D654 -/* 0066C 8098D63C 44810000 */ mtc1 $at, $f0 ## $f0 = 6.00 -/* 00670 8098D640 909801A8 */ lbu $t8, 0x01A8($a0) ## 000001A8 -/* 00674 8098D644 33190002 */ andi $t9, $t8, 0x0002 ## $t9 = 00000000 -/* 00678 8098D648 53200008 */ beql $t9, $zero, .L8098D66C -/* 0067C 8098D64C 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00680 8098D650 44810000 */ mtc1 $at, $f0 ## $f0 = 0.00 -.L8098D654: -/* 00684 8098D654 8607008A */ lh $a3, 0x008A($s0) ## 0000008A -/* 00688 8098D658 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 0068C 8098D65C 44060000 */ mfc1 $a2, $f0 -/* 00690 8098D660 0C00BDC7 */ jal func_8002F71C -/* 00694 8098D664 E7A00010 */ swc1 $f0, 0x0010($sp) -/* 00698 8098D668 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -.L8098D66C: -/* 0069C 8098D66C 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 006A0 8098D670 02219021 */ addu $s2, $s1, $at -/* 006A4 8098D674 2606014C */ addiu $a2, $s0, 0x014C ## $a2 = 0000014C -/* 006A8 8098D678 AFA60030 */ sw $a2, 0x0030($sp) -/* 006AC 8098D67C 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000 -/* 006B0 8098D680 0C0175E7 */ jal CollisionCheck_SetAT - ## CollisionCheck_setAT -/* 006B4 8098D684 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 006B8 8098D688 8FA60030 */ lw $a2, 0x0030($sp) -/* 006BC 8098D68C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 006C0 8098D690 0C017713 */ jal CollisionCheck_SetOC - ## CollisionCheck_setOC -/* 006C4 8098D694 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000 -/* 006C8 8098D698 26060198 */ addiu $a2, $s0, 0x0198 ## $a2 = 00000198 -/* 006CC 8098D69C AFA60030 */ sw $a2, 0x0030($sp) -/* 006D0 8098D6A0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 006D4 8098D6A4 0C0175E7 */ jal CollisionCheck_SetAT - ## CollisionCheck_setAT -/* 006D8 8098D6A8 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000 -/* 006DC 8098D6AC 8FA60030 */ lw $a2, 0x0030($sp) -/* 006E0 8098D6B0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 006E4 8098D6B4 0C017713 */ jal CollisionCheck_SetOC - ## CollisionCheck_setOC -/* 006E8 8098D6B8 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000 -/* 006EC 8098D6BC 8E1901F8 */ lw $t9, 0x01F8($s0) ## 000001F8 -.L8098D6C0: -/* 006F0 8098D6C0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 006F4 8098D6C4 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 006F8 8098D6C8 0320F809 */ jalr $ra, $t9 -/* 006FC 8098D6CC 00000000 */ nop -/* 00700 8098D6D0 C60801EC */ lwc1 $f8, 0x01EC($s0) ## 000001EC -/* 00704 8098D6D4 C60A01F0 */ lwc1 $f10, 0x01F0($s0) ## 000001F0 -/* 00708 8098D6D8 3C014780 */ lui $at, 0x4780 ## $at = 47800000 -/* 0070C 8098D6DC 44811000 */ mtc1 $at, $f2 ## $f2 = 65536.00 -/* 00710 8098D6E0 460A4400 */ add.s $f16, $f8, $f10 -/* 00714 8098D6E4 E61001EC */ swc1 $f16, 0x01EC($s0) ## 000001EC -/* 00718 8098D6E8 C60001EC */ lwc1 $f0, 0x01EC($s0) ## 000001EC -/* 0071C 8098D6EC 4600103C */ c.lt.s $f2, $f0 -/* 00720 8098D6F0 00000000 */ nop -/* 00724 8098D6F4 45020004 */ bc1fl .L8098D708 -/* 00728 8098D6F8 8FBF002C */ lw $ra, 0x002C($sp) -/* 0072C 8098D6FC 46020481 */ sub.s $f18, $f0, $f2 -/* 00730 8098D700 E61201EC */ swc1 $f18, 0x01EC($s0) ## 000001EC -/* 00734 8098D704 8FBF002C */ lw $ra, 0x002C($sp) -.L8098D708: -/* 00738 8098D708 8FB00020 */ lw $s0, 0x0020($sp) -/* 0073C 8098D70C 8FB10024 */ lw $s1, 0x0024($sp) -/* 00740 8098D710 8FB20028 */ lw $s2, 0x0028($sp) -/* 00744 8098D714 03E00008 */ jr $ra -/* 00748 8098D718 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098CFD0.s b/asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098CFD0.s deleted file mode 100644 index b830cc5d08..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098CFD0.s +++ /dev/null @@ -1,22 +0,0 @@ -glabel func_8098CFD0 -/* 00000 8098CFD0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00004 8098CFD4 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00008 8098CFD8 04800004 */ bltz $a0, .L8098CFEC -/* 0000C 8098CFDC 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000 -/* 00010 8098CFE0 28810007 */ slti $at, $a0, 0x0007 -/* 00014 8098CFE4 14200003 */ bne $at, $zero, .L8098CFF4 -/* 00018 8098CFE8 00057080 */ sll $t6, $a1, 2 -.L8098CFEC: -/* 0001C 8098CFEC 10000005 */ beq $zero, $zero, .L8098D004 -/* 00020 8098CFF0 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001 -.L8098CFF4: -/* 00024 8098CFF4 3C048099 */ lui $a0, %hi(D_8098E100) ## $a0 = 80990000 -/* 00028 8098CFF8 008E2021 */ addu $a0, $a0, $t6 -/* 0002C 8098CFFC 0C00D6D3 */ jal Flags_GetEventChkInf - -/* 00030 8098D000 8C84E100 */ lw $a0, %lo(D_8098E100)($a0) -.L8098D004: -/* 00034 8098D004 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00038 8098D008 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 0003C 8098D00C 03E00008 */ jr $ra -/* 00040 8098D010 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098D280.s b/asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098D280.s deleted file mode 100644 index 99d98813a9..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098D280.s +++ /dev/null @@ -1,167 +0,0 @@ -.late_rodata -glabel D_8098E2B4 - .float 65535.0 - -.text -glabel func_8098D280 -/* 002B0 8098D280 27BDFF60 */ addiu $sp, $sp, 0xFF60 ## $sp = FFFFFF60 -/* 002B4 8098D284 F7BE0050 */ sdc1 $f30, 0x0050($sp) -/* 002B8 8098D288 3C014040 */ lui $at, 0x4040 ## $at = 40400000 -/* 002BC 8098D28C 4481F000 */ mtc1 $at, $f30 ## $f30 = 3.00 -/* 002C0 8098D290 F7BC0048 */ sdc1 $f28, 0x0048($sp) -/* 002C4 8098D294 3C0140E0 */ lui $at, 0x40E0 ## $at = 40E00000 -/* 002C8 8098D298 4481E000 */ mtc1 $at, $f28 ## $f28 = 7.00 -/* 002CC 8098D29C F7BA0040 */ sdc1 $f26, 0x0040($sp) -/* 002D0 8098D2A0 3C014100 */ lui $at, 0x4100 ## $at = 41000000 -/* 002D4 8098D2A4 AFBE0078 */ sw $s8, 0x0078($sp) -/* 002D8 8098D2A8 AFB70074 */ sw $s7, 0x0074($sp) -/* 002DC 8098D2AC AFB60070 */ sw $s6, 0x0070($sp) -/* 002E0 8098D2B0 AFB5006C */ sw $s5, 0x006C($sp) -/* 002E4 8098D2B4 4481D000 */ mtc1 $at, $f26 ## $f26 = 8.00 -/* 002E8 8098D2B8 AFB40068 */ sw $s4, 0x0068($sp) -/* 002EC 8098D2BC AFB30064 */ sw $s3, 0x0064($sp) -/* 002F0 8098D2C0 AFB20060 */ sw $s2, 0x0060($sp) -/* 002F4 8098D2C4 F7B80038 */ sdc1 $f24, 0x0038($sp) -/* 002F8 8098D2C8 3C018099 */ lui $at, %hi(D_8098E2B4) ## $at = 80990000 -/* 002FC 8098D2CC 3C158099 */ lui $s5, %hi(D_8098E11C) ## $s5 = 80990000 -/* 00300 8098D2D0 3C168099 */ lui $s6, %hi(D_8098E128) ## $s6 = 80990000 -/* 00304 8098D2D4 3C178099 */ lui $s7, %hi(D_8098E134) ## $s7 = 80990000 -/* 00308 8098D2D8 3C1E8099 */ lui $s8, %hi(D_8098E138) ## $s8 = 80990000 -/* 0030C 8098D2DC 00809825 */ or $s3, $a0, $zero ## $s3 = 00000000 -/* 00310 8098D2E0 AFBF007C */ sw $ra, 0x007C($sp) -/* 00314 8098D2E4 AFB1005C */ sw $s1, 0x005C($sp) -/* 00318 8098D2E8 AFB00058 */ sw $s0, 0x0058($sp) -/* 0031C 8098D2EC F7B60030 */ sdc1 $f22, 0x0030($sp) -/* 00320 8098D2F0 F7B40028 */ sdc1 $f20, 0x0028($sp) -/* 00324 8098D2F4 AFA500A4 */ sw $a1, 0x00A4($sp) -/* 00328 8098D2F8 27DEE138 */ addiu $s8, $s8, %lo(D_8098E138) ## $s8 = 8098E138 -/* 0032C 8098D2FC 26F7E134 */ addiu $s7, $s7, %lo(D_8098E134) ## $s7 = 8098E134 -/* 00330 8098D300 26D6E128 */ addiu $s6, $s6, %lo(D_8098E128) ## $s6 = 8098E128 -/* 00334 8098D304 26B5E11C */ addiu $s5, $s5, %lo(D_8098E11C) ## $s5 = 8098E11C -/* 00338 8098D308 C438E2B4 */ lwc1 $f24, %lo(D_8098E2B4)($at) -/* 0033C 8098D30C 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000 -/* 00340 8098D310 27B40094 */ addiu $s4, $sp, 0x0094 ## $s4 = FFFFFFF4 -.L8098D314: -/* 00344 8098D314 0C00CFBE */ jal Rand_ZeroFloat - -/* 00348 8098D318 4600C306 */ mov.s $f12, $f24 -/* 0034C 8098D31C 4600010D */ trunc.w.s $f4, $f0 -/* 00350 8098D320 4600C306 */ mov.s $f12, $f24 -/* 00354 8098D324 44112000 */ mfc1 $s1, $f4 -/* 00358 8098D328 00000000 */ nop -/* 0035C 8098D32C 00118C00 */ sll $s1, $s1, 16 -/* 00360 8098D330 0C00CFBE */ jal Rand_ZeroFloat - -/* 00364 8098D334 00118C03 */ sra $s1, $s1, 16 -/* 00368 8098D338 4600018D */ trunc.w.s $f6, $f0 -/* 0036C 8098D33C 00112400 */ sll $a0, $s1, 16 -/* 00370 8098D340 00042403 */ sra $a0, $a0, 16 -/* 00374 8098D344 44103000 */ mfc1 $s0, $f6 -/* 00378 8098D348 00000000 */ nop -/* 0037C 8098D34C 00108400 */ sll $s0, $s0, 16 -/* 00380 8098D350 0C01DE0D */ jal Math_CosS - ## coss? -/* 00384 8098D354 00108403 */ sra $s0, $s0, 16 -/* 00388 8098D358 00102400 */ sll $a0, $s0, 16 -/* 0038C 8098D35C 00042403 */ sra $a0, $a0, 16 -/* 00390 8098D360 0C01DE1C */ jal Math_SinS - ## sins? -/* 00394 8098D364 46000586 */ mov.s $f22, $f0 -/* 00398 8098D368 46000506 */ mov.s $f20, $f0 -/* 0039C 8098D36C 0C00CFBE */ jal Rand_ZeroFloat - -/* 003A0 8098D370 4600D306 */ mov.s $f12, $f26 -/* 003A4 8098D374 4616A202 */ mul.s $f8, $f20, $f22 -/* 003A8 8098D378 3C018099 */ lui $at, %hi(D_8098E11C) ## $at = 80990000 -/* 003AC 8098D37C 00112400 */ sll $a0, $s1, 16 -/* 003B0 8098D380 00042403 */ sra $a0, $a0, 16 -/* 003B4 8098D384 46080282 */ mul.s $f10, $f0, $f8 -/* 003B8 8098D388 0C01DE0D */ jal Math_CosS - ## coss? -/* 003BC 8098D38C E42AE11C */ swc1 $f10, %lo(D_8098E11C)($at) -/* 003C0 8098D390 00102400 */ sll $a0, $s0, 16 -/* 003C4 8098D394 00042403 */ sra $a0, $a0, 16 -/* 003C8 8098D398 0C01DE0D */ jal Math_CosS - ## coss? -/* 003CC 8098D39C 46000586 */ mov.s $f22, $f0 -/* 003D0 8098D3A0 46000506 */ mov.s $f20, $f0 -/* 003D4 8098D3A4 0C00CFBE */ jal Rand_ZeroFloat - -/* 003D8 8098D3A8 4600D306 */ mov.s $f12, $f26 -/* 003DC 8098D3AC 4616A402 */ mul.s $f16, $f20, $f22 -/* 003E0 8098D3B0 3C018099 */ lui $at, %hi(D_8098E124) ## $at = 80990000 -/* 003E4 8098D3B4 00112400 */ sll $a0, $s1, 16 -/* 003E8 8098D3B8 00042403 */ sra $a0, $a0, 16 -/* 003EC 8098D3BC 46100482 */ mul.s $f18, $f0, $f16 -/* 003F0 8098D3C0 0C01DE1C */ jal Math_SinS - ## sins? -/* 003F4 8098D3C4 E432E124 */ swc1 $f18, %lo(D_8098E124)($at) -/* 003F8 8098D3C8 46000506 */ mov.s $f20, $f0 -/* 003FC 8098D3CC 0C00CFBE */ jal Rand_ZeroFloat - -/* 00400 8098D3D0 4600F306 */ mov.s $f12, $f30 -/* 00404 8098D3D4 46140102 */ mul.s $f4, $f0, $f20 -/* 00408 8098D3D8 3C018099 */ lui $at, %hi(D_8098E120) ## $at = 80990000 -/* 0040C 8098D3DC E424E120 */ swc1 $f4, %lo(D_8098E120)($at) -/* 00410 8098D3E0 3C018099 */ lui $at, %hi(D_8098E11C) ## $at = 80990000 -/* 00414 8098D3E4 C426E11C */ lwc1 $f6, %lo(D_8098E11C)($at) -/* 00418 8098D3E8 3C018099 */ lui $at, %hi(D_8098E120) ## $at = 80990000 -/* 0041C 8098D3EC C432E120 */ lwc1 $f18, %lo(D_8098E120)($at) -/* 00420 8098D3F0 461C3202 */ mul.s $f8, $f6, $f28 -/* 00424 8098D3F4 C66A0024 */ lwc1 $f10, 0x0024($s3) ## 00000024 -/* 00428 8098D3F8 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000 -/* 0042C 8098D3FC 44812000 */ mtc1 $at, $f4 ## $f4 = 20.00 -/* 00430 8098D400 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000 -/* 00434 8098D404 46049182 */ mul.s $f6, $f18, $f4 -/* 00438 8098D408 460A4400 */ add.s $f16, $f8, $f10 -/* 0043C 8098D40C E7B00094 */ swc1 $f16, 0x0094($sp) -/* 00440 8098D410 C6680028 */ lwc1 $f8, 0x0028($s3) ## 00000028 -/* 00444 8098D414 44818000 */ mtc1 $at, $f16 ## $f16 = 120.00 -/* 00448 8098D418 3C018099 */ lui $at, %hi(D_8098E124) ## $at = 80990000 -/* 0044C 8098D41C 46083280 */ add.s $f10, $f6, $f8 -/* 00450 8098D420 C424E124 */ lwc1 $f4, %lo(D_8098E124)($at) -/* 00454 8098D424 3C014220 */ lui $at, 0x4220 ## $at = 42200000 -/* 00458 8098D428 44816000 */ mtc1 $at, $f12 ## $f12 = 40.00 -/* 0045C 8098D42C 46105480 */ add.s $f18, $f10, $f16 -/* 00460 8098D430 461C2182 */ mul.s $f6, $f4, $f28 -/* 00464 8098D434 E7B20098 */ swc1 $f18, 0x0098($sp) -/* 00468 8098D438 C668002C */ lwc1 $f8, 0x002C($s3) ## 0000002C -/* 0046C 8098D43C 46083280 */ add.s $f10, $f6, $f8 -/* 00470 8098D440 0C00CFBE */ jal Rand_ZeroFloat - -/* 00474 8098D444 E7AA009C */ swc1 $f10, 0x009C($sp) -/* 00478 8098D448 4600040D */ trunc.w.s $f16, $f0 -/* 0047C 8098D44C 24180BB8 */ addiu $t8, $zero, 0x0BB8 ## $t8 = 00000BB8 -/* 00480 8098D450 AFB80018 */ sw $t8, 0x0018($sp) -/* 00484 8098D454 8FA400A4 */ lw $a0, 0x00A4($sp) -/* 00488 8098D458 44088000 */ mfc1 $t0, $f16 -/* 0048C 8098D45C 02802825 */ or $a1, $s4, $zero ## $a1 = FFFFFFF4 -/* 00490 8098D460 02A03025 */ or $a2, $s5, $zero ## $a2 = 8098E11C -/* 00494 8098D464 2509002D */ addiu $t1, $t0, 0x002D ## $t1 = 0000002D -/* 00498 8098D468 AFA9001C */ sw $t1, 0x001C($sp) -/* 0049C 8098D46C 02C03825 */ or $a3, $s6, $zero ## $a3 = 8098E128 -/* 004A0 8098D470 AFB70010 */ sw $s7, 0x0010($sp) -/* 004A4 8098D474 0C00A33B */ jal EffectSsKiraKira_SpawnFocused -/* 004A8 8098D478 AFBE0014 */ sw $s8, 0x0014($sp) -/* 004AC 8098D47C 26520001 */ addiu $s2, $s2, 0x0001 ## $s2 = 00000001 -/* 004B0 8098D480 24010055 */ addiu $at, $zero, 0x0055 ## $at = 00000055 -/* 004B4 8098D484 1641FFA3 */ bne $s2, $at, .L8098D314 -/* 004B8 8098D488 00000000 */ nop -/* 004BC 8098D48C 8FBF007C */ lw $ra, 0x007C($sp) -/* 004C0 8098D490 D7B40028 */ ldc1 $f20, 0x0028($sp) -/* 004C4 8098D494 D7B60030 */ ldc1 $f22, 0x0030($sp) -/* 004C8 8098D498 D7B80038 */ ldc1 $f24, 0x0038($sp) -/* 004CC 8098D49C D7BA0040 */ ldc1 $f26, 0x0040($sp) -/* 004D0 8098D4A0 D7BC0048 */ ldc1 $f28, 0x0048($sp) -/* 004D4 8098D4A4 D7BE0050 */ ldc1 $f30, 0x0050($sp) -/* 004D8 8098D4A8 8FB00058 */ lw $s0, 0x0058($sp) -/* 004DC 8098D4AC 8FB1005C */ lw $s1, 0x005C($sp) -/* 004E0 8098D4B0 8FB20060 */ lw $s2, 0x0060($sp) -/* 004E4 8098D4B4 8FB30064 */ lw $s3, 0x0064($sp) -/* 004E8 8098D4B8 8FB40068 */ lw $s4, 0x0068($sp) -/* 004EC 8098D4BC 8FB5006C */ lw $s5, 0x006C($sp) -/* 004F0 8098D4C0 8FB60070 */ lw $s6, 0x0070($sp) -/* 004F4 8098D4C4 8FB70074 */ lw $s7, 0x0074($sp) -/* 004F8 8098D4C8 8FBE0078 */ lw $s8, 0x0078($sp) -/* 004FC 8098D4CC 03E00008 */ jr $ra -/* 00500 8098D4D0 27BD00A0 */ addiu $sp, $sp, 0x00A0 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098D4D4.s b/asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098D4D4.s deleted file mode 100644 index 32fe5e7536..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098D4D4.s +++ /dev/null @@ -1,88 +0,0 @@ -.late_rodata -glabel D_8098E2B8 - .float 0.2 - -glabel D_8098E2BC - .float 0.003 - -.text -glabel func_8098D4D4 -/* 00504 8098D4D4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00508 8098D4D8 AFBF0014 */ sw $ra, 0x0014($sp) -/* 0050C 8098D4DC 90AE1D6C */ lbu $t6, 0x1D6C($a1) ## 00001D6C -/* 00510 8098D4E0 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 00514 8098D4E4 51C00038 */ beql $t6, $zero, .L8098D5C8 -/* 00518 8098D4E8 94CB01F6 */ lhu $t3, 0x01F6($a2) ## 000001F6 -/* 0051C 8098D4EC 8CA21D8C */ lw $v0, 0x1D8C($a1) ## 00001D8C -/* 00520 8098D4F0 50400035 */ beql $v0, $zero, .L8098D5C8 -/* 00524 8098D4F4 94CB01F6 */ lhu $t3, 0x01F6($a2) ## 000001F6 -/* 00528 8098D4F8 94430000 */ lhu $v1, 0x0000($v0) ## 00000000 -/* 0052C 8098D4FC 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00530 8098D500 10610030 */ beq $v1, $at, .L8098D5C4 -/* 00534 8098D504 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 00538 8098D508 5461002F */ bnel $v1, $at, .L8098D5C8 -/* 0053C 8098D50C 94CB01F6 */ lhu $t3, 0x01F6($a2) ## 000001F6 -/* 00540 8098D510 948F01F6 */ lhu $t7, 0x01F6($a0) ## 000001F6 -/* 00544 8098D514 2404000C */ addiu $a0, $zero, 0x000C ## $a0 = 0000000C -/* 00548 8098D518 31F80001 */ andi $t8, $t7, 0x0001 ## $t8 = 00000000 -/* 0054C 8098D51C 57000008 */ bnel $t8, $zero, .L8098D540 -/* 00550 8098D520 3C0140E0 */ lui $at, 0x40E0 ## $at = 40E00000 -/* 00554 8098D524 0C03CFCF */ jal func_800F3F3C -/* 00558 8098D528 AFA60018 */ sw $a2, 0x0018($sp) -/* 0055C 8098D52C 8FA60018 */ lw $a2, 0x0018($sp) -/* 00560 8098D530 94D901F6 */ lhu $t9, 0x01F6($a2) ## 000001F6 -/* 00564 8098D534 37280001 */ ori $t0, $t9, 0x0001 ## $t0 = 00000001 -/* 00568 8098D538 A4C801F6 */ sh $t0, 0x01F6($a2) ## 000001F6 -/* 0056C 8098D53C 3C0140E0 */ lui $at, 0x40E0 ## $at = 40E00000 -.L8098D540: -/* 00570 8098D540 44812000 */ mtc1 $at, $f4 ## $f4 = 7.00 -/* 00574 8098D544 C4C001F0 */ lwc1 $f0, 0x01F0($a2) ## 000001F0 -/* 00578 8098D548 3C018099 */ lui $at, %hi(D_8098E2B8) ## $at = 80990000 -/* 0057C 8098D54C 4604003C */ c.lt.s $f0, $f4 -/* 00580 8098D550 00000000 */ nop -/* 00584 8098D554 45020006 */ bc1fl .L8098D570 -/* 00588 8098D558 94C901F4 */ lhu $t1, 0x01F4($a2) ## 000001F4 -/* 0058C 8098D55C C426E2B8 */ lwc1 $f6, %lo(D_8098E2B8)($at) -/* 00590 8098D560 46060200 */ add.s $f8, $f0, $f6 -/* 00594 8098D564 10000017 */ beq $zero, $zero, .L8098D5C4 -/* 00598 8098D568 E4C801F0 */ swc1 $f8, 0x01F0($a2) ## 000001F0 -/* 0059C 8098D56C 94C901F4 */ lhu $t1, 0x01F4($a2) ## 000001F4 -.L8098D570: -/* 005A0 8098D570 240400C3 */ addiu $a0, $zero, 0x00C3 ## $a0 = 000000C3 -/* 005A4 8098D574 252A0001 */ addiu $t2, $t1, 0x0001 ## $t2 = 00000001 -/* 005A8 8098D578 3142FFFF */ andi $v0, $t2, 0xFFFF ## $v0 = 00000001 -/* 005AC 8098D57C 28410065 */ slti $at, $v0, 0x0065 -/* 005B0 8098D580 14200007 */ bne $at, $zero, .L8098D5A0 -/* 005B4 8098D584 A4CA01F4 */ sh $t2, 0x01F4($a2) ## 000001F4 -/* 005B8 8098D588 0C00D6DD */ jal Flags_SetEventChkInf - -/* 005BC 8098D58C AFA60018 */ sw $a2, 0x0018($sp) -/* 005C0 8098D590 0C00B55C */ jal Actor_Kill - -/* 005C4 8098D594 8FA40018 */ lw $a0, 0x0018($sp) -/* 005C8 8098D598 10000012 */ beq $zero, $zero, .L8098D5E4 -/* 005CC 8098D59C 8FBF0014 */ lw $ra, 0x0014($sp) -.L8098D5A0: -/* 005D0 8098D5A0 28410029 */ slti $at, $v0, 0x0029 -/* 005D4 8098D5A4 14200007 */ bne $at, $zero, .L8098D5C4 -/* 005D8 8098D5A8 3C018099 */ lui $at, %hi(D_8098E2BC) ## $at = 80990000 -/* 005DC 8098D5AC C430E2BC */ lwc1 $f16, %lo(D_8098E2BC)($at) -/* 005E0 8098D5B0 C4CA0050 */ lwc1 $f10, 0x0050($a2) ## 00000050 -/* 005E4 8098D5B4 46105480 */ add.s $f18, $f10, $f16 -/* 005E8 8098D5B8 E4D20050 */ swc1 $f18, 0x0050($a2) ## 00000050 -/* 005EC 8098D5BC C4C40050 */ lwc1 $f4, 0x0050($a2) ## 00000050 -/* 005F0 8098D5C0 E4C40058 */ swc1 $f4, 0x0058($a2) ## 00000058 -.L8098D5C4: -/* 005F4 8098D5C4 94CB01F6 */ lhu $t3, 0x01F6($a2) ## 000001F6 -.L8098D5C8: -/* 005F8 8098D5C8 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000 -/* 005FC 8098D5CC 316C0001 */ andi $t4, $t3, 0x0001 ## $t4 = 00000000 -/* 00600 8098D5D0 55800004 */ bnel $t4, $zero, .L8098D5E4 -/* 00604 8098D5D4 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00608 8098D5D8 0C00BE5D */ jal func_8002F974 -/* 0060C 8098D5DC 240520EE */ addiu $a1, $zero, 0x20EE ## $a1 = 000020EE -/* 00610 8098D5E0 8FBF0014 */ lw $ra, 0x0014($sp) -.L8098D5E4: -/* 00614 8098D5E4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00618 8098D5E8 03E00008 */ jr $ra -/* 0061C 8098D5EC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098D71C.s b/asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098D71C.s deleted file mode 100644 index 84f6ab1829..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098D71C.s +++ /dev/null @@ -1,108 +0,0 @@ -.late_rodata -glabel D_8098E2C4 - .float 0.05 - -glabel D_8098E2C8 - .float 6.25e-4 - -.text -glabel func_8098D71C -/* 0074C 8098D71C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 00750 8098D720 AFBF001C */ sw $ra, 0x001C($sp) -/* 00754 8098D724 AFB00018 */ sw $s0, 0x0018($sp) -/* 00758 8098D728 AFA50024 */ sw $a1, 0x0024($sp) -/* 0075C 8098D72C 8498001C */ lh $t8, 0x001C($a0) ## 0000001C -/* 00760 8098D730 3C088099 */ lui $t0, %hi(D_8098E13C) ## $t0 = 80990000 -/* 00764 8098D734 94AF1D74 */ lhu $t7, 0x1D74($a1) ## 00001D74 -/* 00768 8098D738 0018C840 */ sll $t9, $t8, 1 -/* 0076C 8098D73C 01194021 */ addu $t0, $t0, $t9 -/* 00770 8098D740 9508E13C */ lhu $t0, %lo(D_8098E13C)($t0) -/* 00774 8098D744 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00778 8098D748 15E80003 */ bne $t7, $t0, .L8098D758 -/* 0077C 8098D74C 00000000 */ nop -/* 00780 8098D750 0C03CFCF */ jal func_800F3F3C -/* 00784 8098D754 2404000A */ addiu $a0, $zero, 0x000A ## $a0 = 0000000A -.L8098D758: -/* 00788 8098D758 3C018099 */ lui $at, %hi(D_8098E2C4) ## $at = 80990000 -/* 0078C 8098D75C C422E2C4 */ lwc1 $f2, %lo(D_8098E2C4)($at) -/* 00790 8098D760 C60001E4 */ lwc1 $f0, 0x01E4($s0) ## 000001E4 -/* 00794 8098D764 24090050 */ addiu $t1, $zero, 0x0050 ## $t1 = 00000050 -/* 00798 8098D768 4600103E */ c.le.s $f2, $f0 -/* 0079C 8098D76C 00000000 */ nop -/* 007A0 8098D770 45020005 */ bc1fl .L8098D788 -/* 007A4 8098D774 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 -/* 007A8 8098D778 46020101 */ sub.s $f4, $f0, $f2 -/* 007AC 8098D77C 10000004 */ beq $zero, $zero, .L8098D790 -/* 007B0 8098D780 E60401E4 */ swc1 $f4, 0x01E4($s0) ## 000001E4 -/* 007B4 8098D784 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 -.L8098D788: -/* 007B8 8098D788 00000000 */ nop -/* 007BC 8098D78C E60601E4 */ swc1 $f6, 0x01E4($s0) ## 000001E4 -.L8098D790: -/* 007C0 8098D790 960301F4 */ lhu $v1, 0x01F4($s0) ## 000001F4 -/* 007C4 8098D794 28610028 */ slti $at, $v1, 0x0028 -/* 007C8 8098D798 10200014 */ beq $at, $zero, .L8098D7EC -/* 007CC 8098D79C 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000 -/* 007D0 8098D7A0 01235023 */ subu $t2, $t1, $v1 -/* 007D4 8098D7A4 448A4000 */ mtc1 $t2, $f8 ## $f8 = 0.00 -/* 007D8 8098D7A8 44838000 */ mtc1 $v1, $f16 ## $f16 = 0.00 -/* 007DC 8098D7AC 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000 -/* 007E0 8098D7B0 468042A0 */ cvt.s.w $f10, $f8 -/* 007E4 8098D7B4 04610004 */ bgez $v1, .L8098D7C8 -/* 007E8 8098D7B8 468084A0 */ cvt.s.w $f18, $f16 -/* 007EC 8098D7BC 44812000 */ mtc1 $at, $f4 ## $f4 = 4294967296.00 -/* 007F0 8098D7C0 00000000 */ nop -/* 007F4 8098D7C4 46049480 */ add.s $f18, $f18, $f4 -.L8098D7C8: -/* 007F8 8098D7C8 46125182 */ mul.s $f6, $f10, $f18 -/* 007FC 8098D7CC 3C018099 */ lui $at, %hi(D_8098E2C8) ## $at = 80990000 -/* 00800 8098D7D0 C428E2C8 */ lwc1 $f8, %lo(D_8098E2C8)($at) -/* 00804 8098D7D4 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00808 8098D7D8 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00 -/* 0080C 8098D7DC 46083402 */ mul.s $f16, $f6, $f8 -/* 00810 8098D7E0 46048280 */ add.s $f10, $f16, $f4 -/* 00814 8098D7E4 10000014 */ beq $zero, $zero, .L8098D838 -/* 00818 8098D7E8 E60A01E8 */ swc1 $f10, 0x01E8($s0) ## 000001E8 -.L8098D7EC: -/* 0081C 8098D7EC 28410032 */ slti $at, $v0, 0x0032 -/* 00820 8098D7F0 10200004 */ beq $at, $zero, .L8098D804 -/* 00824 8098D7F4 3C014000 */ lui $at, 0x4000 ## $at = 40000000 -/* 00828 8098D7F8 44819000 */ mtc1 $at, $f18 ## $f18 = 2.00 -/* 0082C 8098D7FC 1000000E */ beq $zero, $zero, .L8098D838 -/* 00830 8098D800 E61201E8 */ swc1 $f18, 0x01E8($s0) ## 000001E8 -.L8098D804: -/* 00834 8098D804 24010032 */ addiu $at, $zero, 0x0032 ## $at = 00000032 -/* 00838 8098D808 14410008 */ bne $v0, $at, .L8098D82C -/* 0083C 8098D80C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00840 8098D810 0C00BE0A */ jal Audio_PlayActorSound2 - -/* 00844 8098D814 24051842 */ addiu $a1, $zero, 0x1842 ## $a1 = 00001842 -/* 00848 8098D818 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0084C 8098D81C 0C2634A0 */ jal func_8098D280 -/* 00850 8098D820 8FA50024 */ lw $a1, 0x0024($sp) -/* 00854 8098D824 10000005 */ beq $zero, $zero, .L8098D83C -/* 00858 8098D828 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00 -.L8098D82C: -/* 0085C 8098D82C 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00 -/* 00860 8098D830 00000000 */ nop -/* 00864 8098D834 E60601E8 */ swc1 $f6, 0x01E8($s0) ## 000001E8 -.L8098D838: -/* 00868 8098D838 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00 -.L8098D83C: -/* 0086C 8098D83C C61001E8 */ lwc1 $f16, 0x01E8($s0) ## 000001E8 -/* 00870 8098D840 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00874 8098D844 46104032 */ c.eq.s $f8, $f16 -/* 00878 8098D848 00000000 */ nop -/* 0087C 8098D84C 45030004 */ bc1tl .L8098D860 -/* 00880 8098D850 960B01F4 */ lhu $t3, 0x01F4($s0) ## 000001F4 -/* 00884 8098D854 0C00BE5D */ jal func_8002F974 -/* 00888 8098D858 240520ED */ addiu $a1, $zero, 0x20ED ## $a1 = 000020ED -/* 0088C 8098D85C 960B01F4 */ lhu $t3, 0x01F4($s0) ## 000001F4 -.L8098D860: -/* 00890 8098D860 256C0001 */ addiu $t4, $t3, 0x0001 ## $t4 = 00000001 -/* 00894 8098D864 A60C01F4 */ sh $t4, 0x01F4($s0) ## 000001F4 -/* 00898 8098D868 8FBF001C */ lw $ra, 0x001C($sp) -/* 0089C 8098D86C 8FB00018 */ lw $s0, 0x0018($sp) -/* 008A0 8098D870 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 008A4 8098D874 03E00008 */ jr $ra -/* 008A8 8098D878 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098D87C.s b/asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098D87C.s deleted file mode 100644 index fb26e35f1e..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098D87C.s +++ /dev/null @@ -1,103 +0,0 @@ -.rdata -glabel D_8098E1D0 - .asciz "../z_demo_kekkai.c" - .balign 4 - -glabel D_8098E1E4 - .asciz "\"当ったよ\" = %s\n" - .balign 4 - -glabel D_8098E1F8 - .asciz "当ったよ" - .balign 4 - -.text -glabel func_8098D87C -/* 008AC 8098D87C 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 008B0 8098D880 AFBF0024 */ sw $ra, 0x0024($sp) -/* 008B4 8098D884 AFB10020 */ sw $s1, 0x0020($sp) -/* 008B8 8098D888 AFB0001C */ sw $s0, 0x001C($sp) -/* 008BC 8098D88C 908E015C */ lbu $t6, 0x015C($a0) ## 0000015C -/* 008C0 8098D890 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 008C4 8098D894 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 008C8 8098D898 31CF0002 */ andi $t7, $t6, 0x0002 ## $t7 = 00000000 -/* 008CC 8098D89C 11E00008 */ beq $t7, $zero, .L8098D8C0 -/* 008D0 8098D8A0 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000 -/* 008D4 8098D8A4 44810000 */ mtc1 $at, $f0 ## $f0 = 5.00 -/* 008D8 8098D8A8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 008DC 8098D8AC 8607008A */ lh $a3, 0x008A($s0) ## 0000008A -/* 008E0 8098D8B0 44060000 */ mfc1 $a2, $f0 -/* 008E4 8098D8B4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 008E8 8098D8B8 0C00BDC7 */ jal func_8002F71C -/* 008EC 8098D8BC E7A00010 */ swc1 $f0, 0x0010($sp) -.L8098D8C0: -/* 008F0 8098D8C0 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 008F4 8098D8C4 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60 -/* 008F8 8098D8C8 02212821 */ addu $a1, $s1, $at -/* 008FC 8098D8CC 2606014C */ addiu $a2, $s0, 0x014C ## $a2 = 0000014C -/* 00900 8098D8D0 AFA60028 */ sw $a2, 0x0028($sp) -/* 00904 8098D8D4 AFA5002C */ sw $a1, 0x002C($sp) -/* 00908 8098D8D8 0C0175E7 */ jal CollisionCheck_SetAT - ## CollisionCheck_setAT -/* 0090C 8098D8DC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00910 8098D8E0 8FA60028 */ lw $a2, 0x0028($sp) -/* 00914 8098D8E4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00918 8098D8E8 0C017713 */ jal CollisionCheck_SetOC - ## CollisionCheck_setOC -/* 0091C 8098D8EC 8FA5002C */ lw $a1, 0x002C($sp) -/* 00920 8098D8F0 921801A9 */ lbu $t8, 0x01A9($s0) ## 000001A9 -/* 00924 8098D8F4 33190002 */ andi $t9, $t8, 0x0002 ## $t9 = 00000000 -/* 00928 8098D8F8 53200026 */ beql $t9, $zero, .L8098D994 -/* 0092C 8098D8FC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00930 8098D900 0C01E221 */ jal func_80078884 -/* 00934 8098D904 24044802 */ addiu $a0, $zero, 0x4802 ## $a0 = 00004802 -/* 00938 8098D908 3C048099 */ lui $a0, %hi(D_8098E1D0) ## $a0 = 80990000 -/* 0093C 8098D90C 2484E1D0 */ addiu $a0, $a0, %lo(D_8098E1D0) ## $a0 = 8098E1D0 -/* 00940 8098D910 0C000B84 */ jal LogUtils_LogThreadId - -/* 00944 8098D914 2405023C */ addiu $a1, $zero, 0x023C ## $a1 = 0000023C -/* 00948 8098D918 3C048099 */ lui $a0, %hi(D_8098E1E4) ## $a0 = 80990000 -/* 0094C 8098D91C 3C058099 */ lui $a1, %hi(D_8098E1F8) ## $a1 = 80990000 -/* 00950 8098D920 24A5E1F8 */ addiu $a1, $a1, %lo(D_8098E1F8) ## $a1 = 8098E1F8 -/* 00954 8098D924 0C00084C */ jal osSyncPrintf - -/* 00958 8098D928 2484E1E4 */ addiu $a0, $a0, %lo(D_8098E1E4) ## $a0 = 8098E1E4 -/* 0095C 8098D92C 8609001C */ lh $t1, 0x001C($s0) ## 0000001C -/* 00960 8098D930 3C088099 */ lui $t0, %hi(func_8098D71C) ## $t0 = 80990000 -/* 00964 8098D934 2508D71C */ addiu $t0, $t0, %lo(func_8098D71C) ## $t0 = 8098D71C -/* 00968 8098D938 3C028099 */ lui $v0, %hi(D_8098E14C) ## $v0 = 80990000 -/* 0096C 8098D93C 00095080 */ sll $t2, $t1, 2 -/* 00970 8098D940 AE080130 */ sw $t0, 0x0130($s0) ## 00000130 -/* 00974 8098D944 A60001F4 */ sh $zero, 0x01F4($s0) ## 000001F4 -/* 00978 8098D948 004A1021 */ addu $v0, $v0, $t2 -/* 0097C 8098D94C 8C42E14C */ lw $v0, %lo(D_8098E14C)($v0) -/* 00980 8098D950 3C0F8016 */ lui $t7, %hi(gSegments) -/* 00984 8098D954 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000 -/* 00988 8098D958 00026100 */ sll $t4, $v0, 4 -/* 0098C 8098D95C 000C6F02 */ srl $t5, $t4, 28 -/* 00990 8098D960 000D7080 */ sll $t6, $t5, 2 -/* 00994 8098D964 01EE7821 */ addu $t7, $t7, $t6 -/* 00998 8098D968 8DEF6FA8 */ lw $t7, %lo(gSegments)($t7) -/* 0099C 8098D96C 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF -/* 009A0 8098D970 00415824 */ and $t3, $v0, $at -/* 009A4 8098D974 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 009A8 8098D978 016FC021 */ addu $t8, $t3, $t7 -/* 009AC 8098D97C 0301C821 */ addu $t9, $t8, $at -/* 009B0 8098D980 AE391D68 */ sw $t9, 0x1D68($s1) ## 00001D68 -/* 009B4 8098D984 3C018016 */ lui $at, %hi(gSaveContext+0x1414) -/* 009B8 8098D988 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001 -/* 009BC 8098D98C A028FA74 */ sb $t0, %lo(gSaveContext+0x1414)($at) -/* 009C0 8098D990 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -.L8098D994: -/* 009C4 8098D994 8FA5002C */ lw $a1, 0x002C($sp) -/* 009C8 8098D998 0C01767D */ jal CollisionCheck_SetAC - ## CollisionCheck_setAC -/* 009CC 8098D99C 26060198 */ addiu $a2, $s0, 0x0198 ## $a2 = 00000198 -/* 009D0 8098D9A0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 009D4 8098D9A4 0C00BE5D */ jal func_8002F974 -/* 009D8 8098D9A8 240520ED */ addiu $a1, $zero, 0x20ED ## $a1 = 000020ED -/* 009DC 8098D9AC 8FBF0024 */ lw $ra, 0x0024($sp) -/* 009E0 8098D9B0 8FB0001C */ lw $s0, 0x001C($sp) -/* 009E4 8098D9B4 8FB10020 */ lw $s1, 0x0020($sp) -/* 009E8 8098D9B8 03E00008 */ jr $ra -/* 009EC 8098D9BC 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098D9C0.s b/asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098D9C0.s deleted file mode 100644 index 6eaa3f5f15..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098D9C0.s +++ /dev/null @@ -1,366 +0,0 @@ -.rdata -glabel D_8098E204 - .asciz "../z_demo_kekkai.c" - .balign 4 - -glabel D_8098E218 - .asciz "../z_demo_kekkai.c" - .balign 4 - -glabel D_8098E22C - .asciz "../z_demo_kekkai.c" - .balign 4 - -glabel D_8098E240 - .asciz "../z_demo_kekkai.c" - .balign 4 - -.text -glabel func_8098D9C0 -/* 009F0 8098D9C0 27BDFEE0 */ addiu $sp, $sp, 0xFEE0 ## $sp = FFFFFEE0 -/* 009F4 8098D9C4 3C0F0001 */ lui $t7, 0x0001 ## $t7 = 00010000 -/* 009F8 8098D9C8 AFBF003C */ sw $ra, 0x003C($sp) -/* 009FC 8098D9CC AFB00038 */ sw $s0, 0x0038($sp) -/* 00A00 8098D9D0 AFA40120 */ sw $a0, 0x0120($sp) -/* 00A04 8098D9D4 AFA50124 */ sw $a1, 0x0124($sp) -/* 00A08 8098D9D8 01E57821 */ addu $t7, $t7, $a1 -/* 00A0C 8098D9DC 8DEF1DE4 */ lw $t7, 0x1DE4($t7) ## 00011DE4 -/* 00A10 8098D9E0 3C098099 */ lui $t1, %hi(D_8098E168) ## $t1 = 80990000 -/* 00A14 8098D9E4 2529E168 */ addiu $t1, $t1, %lo(D_8098E168) ## $t1 = 8098E168 -/* 00A18 8098D9E8 31F8FFFF */ andi $t8, $t7, 0xFFFF ## $t8 = 00000000 -/* 00A1C 8098D9EC AFB80118 */ sw $t8, 0x0118($sp) -/* 00A20 8098D9F0 252C0060 */ addiu $t4, $t1, 0x0060 ## $t4 = 8098E1C8 -/* 00A24 8098D9F4 27B900B0 */ addiu $t9, $sp, 0x00B0 ## $t9 = FFFFFF90 -.L8098D9F8: -/* 00A28 8098D9F8 8D2B0000 */ lw $t3, 0x0000($t1) ## 8098E168 -/* 00A2C 8098D9FC 2529000C */ addiu $t1, $t1, 0x000C ## $t1 = 8098E174 -/* 00A30 8098DA00 2739000C */ addiu $t9, $t9, 0x000C ## $t9 = FFFFFF9C -/* 00A34 8098DA04 AF2BFFF4 */ sw $t3, -0x000C($t9) ## FFFFFF90 -/* 00A38 8098DA08 8D2AFFF8 */ lw $t2, -0x0008($t1) ## 8098E16C -/* 00A3C 8098DA0C AF2AFFF8 */ sw $t2, -0x0008($t9) ## FFFFFF94 -/* 00A40 8098DA10 8D2BFFFC */ lw $t3, -0x0004($t1) ## 8098E170 -/* 00A44 8098DA14 152CFFF8 */ bne $t1, $t4, .L8098D9F8 -/* 00A48 8098DA18 AF2BFFFC */ sw $t3, -0x0004($t9) ## FFFFFF98 -/* 00A4C 8098DA1C 8D2B0000 */ lw $t3, 0x0000($t1) ## 8098E174 -/* 00A50 8098DA20 3C020600 */ lui $v0, %hi(D_06004FD0) ## $v0 = 06000000 -/* 00A54 8098DA24 24424FD0 */ addiu $v0, $v0, %lo(D_06004FD0) ## $v0 = 06004FD0 -/* 00A58 8098DA28 AF2B0000 */ sw $t3, 0x0000($t9) ## FFFFFF9C -/* 00A5C 8098DA2C 952B0004 */ lhu $t3, 0x0004($t1) ## 8098E178 -/* 00A60 8098DA30 00026900 */ sll $t5, $v0, 4 -/* 00A64 8098DA34 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 -/* 00A68 8098DA38 A72B0004 */ sh $t3, 0x0004($t9) ## FFFFFFA0 -/* 00A6C 8098DA3C 8FA90120 */ lw $t1, 0x0120($sp) -/* 00A70 8098DA40 000D7702 */ srl $t6, $t5, 28 -/* 00A74 8098DA44 000E7880 */ sll $t7, $t6, 2 -/* 00A78 8098DA48 C52601E8 */ lwc1 $f6, 0x01E8($t1) ## 8098E35C -/* 00A7C 8098DA4C 3C188016 */ lui $t8, %hi(gSegments) -/* 00A80 8098DA50 030FC021 */ addu $t8, $t8, $t7 -/* 00A84 8098DA54 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000 -/* 00A88 8098DA58 46062032 */ c.eq.s $f4, $f6 -/* 00A8C 8098DA5C 8F186FA8 */ lw $t8, %lo(gSegments)($t8) -/* 00A90 8098DA60 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF -/* 00A94 8098DA64 00416024 */ and $t4, $v0, $at -/* 00A98 8098DA68 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 00A9C 8098DA6C 030C3021 */ addu $a2, $t8, $t4 -/* 00AA0 8098DA70 45010126 */ bc1t .L8098DF0C -/* 00AA4 8098DA74 00C13021 */ addu $a2, $a2, $at -/* 00AA8 8098DA78 3C01434A */ lui $at, 0x434A ## $at = 434A0000 -/* 00AAC 8098DA7C 44815000 */ mtc1 $at, $f10 ## $f10 = 202.00 -/* 00AB0 8098DA80 C52801E4 */ lwc1 $f8, 0x01E4($t1) ## 8098E358 -/* 00AB4 8098DA84 3C0142FC */ lui $at, 0x42FC ## $at = 42FC0000 -/* 00AB8 8098DA88 44813000 */ mtc1 $at, $f6 ## $f6 = 126.00 -/* 00ABC 8098DA8C 460A4402 */ mul.s $f16, $f8, $f10 -/* 00AC0 8098DA90 93AF00B0 */ lbu $t7, 0x00B0($sp) -/* 00AC4 8098DA94 27A400A4 */ addiu $a0, $sp, 0x00A4 ## $a0 = FFFFFF84 -/* 00AC8 8098DA98 24C30020 */ addiu $v1, $a2, 0x0020 ## $v1 = 00000020 -/* 00ACC 8098DA9C 008FC021 */ addu $t8, $a0, $t7 -/* 00AD0 8098DAA0 27A200B2 */ addiu $v0, $sp, 0x00B2 ## $v0 = FFFFFF92 -/* 00AD4 8098DAA4 27A50116 */ addiu $a1, $sp, 0x0116 ## $a1 = FFFFFFF6 -/* 00AD8 8098DAA8 4600848D */ trunc.w.s $f18, $f16 -/* 00ADC 8098DAAC 440B9000 */ mfc1 $t3, $f18 -/* 00AE0 8098DAB0 00000000 */ nop -/* 00AE4 8098DAB4 A3AB00A6 */ sb $t3, 0x00A6($sp) -/* 00AE8 8098DAB8 C52401E4 */ lwc1 $f4, 0x01E4($t1) ## 8098E358 -/* 00AEC 8098DABC A3A000A4 */ sb $zero, 0x00A4($sp) -/* 00AF0 8098DAC0 46062202 */ mul.s $f8, $f4, $f6 -/* 00AF4 8098DAC4 4600428D */ trunc.w.s $f10, $f8 -/* 00AF8 8098DAC8 440E5000 */ mfc1 $t6, $f10 -/* 00AFC 8098DACC 00000000 */ nop -/* 00B00 8098DAD0 A3AE00A5 */ sb $t6, 0x00A5($sp) -/* 00B04 8098DAD4 930C0000 */ lbu $t4, 0x0000($t8) ## 80160000 -/* 00B08 8098DAD8 A0CC000F */ sb $t4, 0x000F($a2) ## 0000000F -/* 00B0C 8098DADC 93A900B1 */ lbu $t1, 0x00B1($sp) -/* 00B10 8098DAE0 00895021 */ addu $t2, $a0, $t1 -/* 00B14 8098DAE4 914B0000 */ lbu $t3, 0x0000($t2) ## 00000000 -/* 00B18 8098DAE8 A0CB001F */ sb $t3, 0x001F($a2) ## 0000001F -.L8098DAEC: -/* 00B1C 8098DAEC 90590000 */ lbu $t9, 0x0000($v0) ## FFFFFF92 -/* 00B20 8098DAF0 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = FFFFFF96 -/* 00B24 8098DAF4 24630040 */ addiu $v1, $v1, 0x0040 ## $v1 = 00000060 -/* 00B28 8098DAF8 00996821 */ addu $t5, $a0, $t9 -/* 00B2C 8098DAFC 91AE0000 */ lbu $t6, 0x0000($t5) ## 00000000 -/* 00B30 8098DB00 A06EFFCF */ sb $t6, -0x0031($v1) ## 0000002F -/* 00B34 8098DB04 904FFFFD */ lbu $t7, -0x0003($v0) ## FFFFFF93 -/* 00B38 8098DB08 008FC021 */ addu $t8, $a0, $t7 -/* 00B3C 8098DB0C 930C0000 */ lbu $t4, 0x0000($t8) ## 80160000 -/* 00B40 8098DB10 A06CFFDF */ sb $t4, -0x0021($v1) ## 0000003F -/* 00B44 8098DB14 9049FFFE */ lbu $t1, -0x0002($v0) ## FFFFFF94 -/* 00B48 8098DB18 00895021 */ addu $t2, $a0, $t1 -/* 00B4C 8098DB1C 914B0000 */ lbu $t3, 0x0000($t2) ## 00000000 -/* 00B50 8098DB20 A06BFFEF */ sb $t3, -0x0011($v1) ## 0000004F -/* 00B54 8098DB24 9059FFFF */ lbu $t9, -0x0001($v0) ## FFFFFF95 -/* 00B58 8098DB28 00996821 */ addu $t5, $a0, $t9 -/* 00B5C 8098DB2C 91AE0000 */ lbu $t6, 0x0000($t5) ## 00000000 -/* 00B60 8098DB30 1445FFEE */ bne $v0, $a1, .L8098DAEC -/* 00B64 8098DB34 A06EFFFF */ sb $t6, -0x0001($v1) ## 0000005F -/* 00B68 8098DB38 8FAF0120 */ lw $t7, 0x0120($sp) -/* 00B6C 8098DB3C 8FAA0124 */ lw $t2, 0x0124($sp) -/* 00B70 8098DB40 3C068099 */ lui $a2, %hi(D_8098E204) ## $a2 = 80990000 -/* 00B74 8098DB44 85F8001C */ lh $t8, 0x001C($t7) ## 0001001C -/* 00B78 8098DB48 24C6E204 */ addiu $a2, $a2, %lo(D_8098E204) ## $a2 = 8098E204 -/* 00B7C 8098DB4C 27A40088 */ addiu $a0, $sp, 0x0088 ## $a0 = FFFFFF68 -/* 00B80 8098DB50 00186080 */ sll $t4, $t8, 2 -/* 00B84 8098DB54 01986023 */ subu $t4, $t4, $t8 -/* 00B88 8098DB58 000C6040 */ sll $t4, $t4, 1 -/* 00B8C 8098DB5C 2589FFFA */ addiu $t1, $t4, 0xFFFA ## $t1 = 8098E1C2 -/* 00B90 8098DB60 AFA900AC */ sw $t1, 0x00AC($sp) -/* 00B94 8098DB64 8D450000 */ lw $a1, 0x0000($t2) ## 00000000 -/* 00B98 8098DB68 24070278 */ addiu $a3, $zero, 0x0278 ## $a3 = 00000278 -/* 00B9C 8098DB6C 0C031AB1 */ jal Graph_OpenDisps -/* 00BA0 8098DB70 00A08025 */ or $s0, $a1, $zero ## $s0 = FFFFFFF6 -/* 00BA4 8098DB74 8FAB0124 */ lw $t3, 0x0124($sp) -/* 00BA8 8098DB78 0C024F61 */ jal func_80093D84 -/* 00BAC 8098DB7C 8D640000 */ lw $a0, 0x0000($t3) ## 00000000 -/* 00BB0 8098DB80 0C034213 */ jal Matrix_Push -/* 00BB4 8098DB84 00000000 */ nop -/* 00BB8 8098DB88 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00 -/* 00BBC 8098DB8C 3C014496 */ lui $at, 0x4496 ## $at = 44960000 -/* 00BC0 8098DB90 44817000 */ mtc1 $at, $f14 ## $f14 = 1200.00 -/* 00BC4 8098DB94 44066000 */ mfc1 $a2, $f12 -/* 00BC8 8098DB98 0C034261 */ jal Matrix_Translate -/* 00BCC 8098DB9C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 00BD0 8098DBA0 8FB90120 */ lw $t9, 0x0120($sp) -/* 00BD4 8098DBA4 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 00BD8 8098DBA8 C72C01E8 */ lwc1 $f12, 0x01E8($t9) ## 000001E8 -/* 00BDC 8098DBAC 44066000 */ mfc1 $a2, $f12 -/* 00BE0 8098DBB0 0C0342A3 */ jal Matrix_Scale -/* 00BE4 8098DBB4 46006386 */ mov.s $f14, $f12 -/* 00BE8 8098DBB8 3C01C496 */ lui $at, 0xC496 ## $at = C4960000 -/* 00BEC 8098DBBC 44817000 */ mtc1 $at, $f14 ## $f14 = -1200.00 -/* 00BF0 8098DBC0 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00 -/* 00BF4 8098DBC4 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000 -/* 00BF8 8098DBC8 0C034261 */ jal Matrix_Translate -/* 00BFC 8098DBCC 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 00C00 8098DBD0 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002C6 -/* 00C04 8098DBD4 3C0EDA38 */ lui $t6, 0xDA38 ## $t6 = DA380000 -/* 00C08 8098DBD8 35CE0003 */ ori $t6, $t6, 0x0003 ## $t6 = DA380003 -/* 00C0C 8098DBDC 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008 -/* 00C10 8098DBE0 AE0D02D0 */ sw $t5, 0x02D0($s0) ## 000002C6 -/* 00C14 8098DBE4 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 00C18 8098DBE8 8FAF0124 */ lw $t7, 0x0124($sp) -/* 00C1C 8098DBEC 3C058099 */ lui $a1, %hi(D_8098E218) ## $a1 = 80990000 -/* 00C20 8098DBF0 24A5E218 */ addiu $a1, $a1, %lo(D_8098E218) ## $a1 = 8098E218 -/* 00C24 8098DBF4 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000 -/* 00C28 8098DBF8 2406027F */ addiu $a2, $zero, 0x027F ## $a2 = 0000027F -/* 00C2C 8098DBFC 0C0346A2 */ jal Matrix_NewMtx -/* 00C30 8098DC00 AFA20084 */ sw $v0, 0x0084($sp) -/* 00C34 8098DC04 8FA30084 */ lw $v1, 0x0084($sp) -/* 00C38 8098DC08 3C0CDB06 */ lui $t4, 0xDB06 ## $t4 = DB060000 -/* 00C3C 8098DC0C 358C0024 */ ori $t4, $t4, 0x0024 ## $t4 = DB060024 -/* 00C40 8098DC10 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 00C44 8098DC14 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002C6 -/* 00C48 8098DC18 8FA80118 */ lw $t0, 0x0118($sp) -/* 00C4C 8098DC1C 240A0020 */ addiu $t2, $zero, 0x0020 ## $t2 = 00000020 -/* 00C50 8098DC20 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 00C54 8098DC24 AE1802D0 */ sw $t8, 0x02D0($s0) ## 000002C6 -/* 00C58 8098DC28 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000 -/* 00C5C 8098DC2C 8FA90124 */ lw $t1, 0x0124($sp) -/* 00C60 8098DC30 00080823 */ subu $at, $zero, $t0 -/* 00C64 8098DC34 00013880 */ sll $a3, $at, 2 -/* 00C68 8098DC38 8D240000 */ lw $a0, 0x0000($t1) ## 00000000 -/* 00C6C 8098DC3C 00E13821 */ addu $a3, $a3, $at -/* 00C70 8098DC40 00083080 */ sll $a2, $t0, 2 -/* 00C74 8098DC44 00073840 */ sll $a3, $a3, 1 -/* 00C78 8098DC48 240B0020 */ addiu $t3, $zero, 0x0020 ## $t3 = 00000020 -/* 00C7C 8098DC4C 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001 -/* 00C80 8098DC50 240D0020 */ addiu $t5, $zero, 0x0020 ## $t5 = 00000020 -/* 00C84 8098DC54 240E0020 */ addiu $t6, $zero, 0x0020 ## $t6 = 00000020 -/* 00C88 8098DC58 00C83021 */ addu $a2, $a2, $t0 -/* 00C8C 8098DC5C AFA6001C */ sw $a2, 0x001C($sp) -/* 00C90 8098DC60 AFA60050 */ sw $a2, 0x0050($sp) -/* 00C94 8098DC64 AFAE0028 */ sw $t6, 0x0028($sp) -/* 00C98 8098DC68 AFAD0024 */ sw $t5, 0x0024($sp) -/* 00C9C 8098DC6C AFB90018 */ sw $t9, 0x0018($sp) -/* 00CA0 8098DC70 AFAB0014 */ sw $t3, 0x0014($sp) -/* 00CA4 8098DC74 AFA70020 */ sw $a3, 0x0020($sp) -/* 00CA8 8098DC78 AFA7004C */ sw $a3, 0x004C($sp) -/* 00CAC 8098DC7C AFAA0010 */ sw $t2, 0x0010($sp) -/* 00CB0 8098DC80 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00CB4 8098DC84 0C0253D0 */ jal Gfx_TwoTexScroll -/* 00CB8 8098DC88 AFA20080 */ sw $v0, 0x0080($sp) -/* 00CBC 8098DC8C 8FA30080 */ lw $v1, 0x0080($sp) -/* 00CC0 8098DC90 3C0C0600 */ lui $t4, %hi(D_06005CB0) ## $t4 = 06000000 -/* 00CC4 8098DC94 258C5CB0 */ addiu $t4, $t4, %lo(D_06005CB0) ## $t4 = 06005CB0 -/* 00CC8 8098DC98 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 00CCC 8098DC9C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002C6 -/* 00CD0 8098DCA0 3C18DE00 */ lui $t8, 0xDE00 ## $t8 = DE000000 -/* 00CD4 8098DCA4 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008 -/* 00CD8 8098DCA8 AE0F02D0 */ sw $t7, 0x02D0($s0) ## 000002C6 -/* 00CDC 8098DCAC AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004 -/* 00CE0 8098DCB0 0C034221 */ jal Matrix_Pull -/* 00CE4 8098DCB4 AC580000 */ sw $t8, 0x0000($v0) ## 00000000 -/* 00CE8 8098DCB8 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002C6 -/* 00CEC 8098DCBC 3C0ADA38 */ lui $t2, 0xDA38 ## $t2 = DA380000 -/* 00CF0 8098DCC0 354A0003 */ ori $t2, $t2, 0x0003 ## $t2 = DA380003 -/* 00CF4 8098DCC4 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008 -/* 00CF8 8098DCC8 AE0902D0 */ sw $t1, 0x02D0($s0) ## 000002C6 -/* 00CFC 8098DCCC AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000 -/* 00D00 8098DCD0 8FAB0124 */ lw $t3, 0x0124($sp) -/* 00D04 8098DCD4 3C058099 */ lui $a1, %hi(D_8098E22C) ## $a1 = 80990000 -/* 00D08 8098DCD8 24A5E22C */ addiu $a1, $a1, %lo(D_8098E22C) ## $a1 = 8098E22C -/* 00D0C 8098DCDC 8D640000 */ lw $a0, 0x0000($t3) ## 00000000 -/* 00D10 8098DCE0 24060290 */ addiu $a2, $zero, 0x0290 ## $a2 = 00000290 -/* 00D14 8098DCE4 0C0346A2 */ jal Matrix_NewMtx -/* 00D18 8098DCE8 AFA20078 */ sw $v0, 0x0078($sp) -/* 00D1C 8098DCEC 8FA30078 */ lw $v1, 0x0078($sp) -/* 00D20 8098DCF0 3C0DE700 */ lui $t5, 0xE700 ## $t5 = E7000000 -/* 00D24 8098DCF4 3C0FFA00 */ lui $t7, 0xFA00 ## $t7 = FA000000 -/* 00D28 8098DCF8 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 00D2C 8098DCFC 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002C6 -/* 00D30 8098DD00 3C183200 */ lui $t8, 0x3200 ## $t8 = 32000000 -/* 00D34 8098DD04 371864FF */ ori $t8, $t8, 0x64FF ## $t8 = 320064FF -/* 00D38 8098DD08 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 00D3C 8098DD0C AE1902D0 */ sw $t9, 0x02D0($s0) ## 000002C6 -/* 00D40 8098DD10 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000 -/* 00D44 8098DD14 AC400004 */ sw $zero, 0x0004($v0) ## 00000004 -/* 00D48 8098DD18 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002C6 -/* 00D4C 8098DD1C 35EF0080 */ ori $t7, $t7, 0x0080 ## $t7 = FA000080 -/* 00D50 8098DD20 3C09DB06 */ lui $t1, 0xDB06 ## $t1 = DB060000 -/* 00D54 8098DD24 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 00D58 8098DD28 AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002C6 -/* 00D5C 8098DD2C AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 00D60 8098DD30 AC580004 */ sw $t8, 0x0004($v0) ## 00000004 -/* 00D64 8098DD34 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002C6 -/* 00D68 8098DD38 35290028 */ ori $t1, $t1, 0x0028 ## $t1 = DB060028 -/* 00D6C 8098DD3C 24180020 */ addiu $t8, $zero, 0x0020 ## $t8 = 00000020 -/* 00D70 8098DD40 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008 -/* 00D74 8098DD44 AE0C02D0 */ sw $t4, 0x02D0($s0) ## 000002C6 -/* 00D78 8098DD48 AC490000 */ sw $t1, 0x0000($v0) ## 00000000 -/* 00D7C 8098DD4C 8FAA0124 */ lw $t2, 0x0124($sp) -/* 00D80 8098DD50 8FAE0118 */ lw $t6, 0x0118($sp) -/* 00D84 8098DD54 240F0020 */ addiu $t7, $zero, 0x0020 ## $t7 = 00000020 -/* 00D88 8098DD58 8D440000 */ lw $a0, 0x0000($t2) ## 00000000 -/* 00D8C 8098DD5C 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001 -/* 00D90 8098DD60 24190020 */ addiu $t9, $zero, 0x0020 ## $t9 = 00000020 -/* 00D94 8098DD64 240B0020 */ addiu $t3, $zero, 0x0020 ## $t3 = 00000020 -/* 00D98 8098DD68 AFAB0010 */ sw $t3, 0x0010($sp) -/* 00D9C 8098DD6C AFB90014 */ sw $t9, 0x0014($sp) -/* 00DA0 8098DD70 AFAD0018 */ sw $t5, 0x0018($sp) -/* 00DA4 8098DD74 AFB80028 */ sw $t8, 0x0028($sp) -/* 00DA8 8098DD78 AFAF0024 */ sw $t7, 0x0024($sp) -/* 00DAC 8098DD7C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00DB0 8098DD80 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 00DB4 8098DD84 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 00DB8 8098DD88 AFA2006C */ sw $v0, 0x006C($sp) -/* 00DBC 8098DD8C AFAE0020 */ sw $t6, 0x0020($sp) -/* 00DC0 8098DD90 0C0253D0 */ jal Gfx_TwoTexScroll -/* 00DC4 8098DD94 AFAE001C */ sw $t6, 0x001C($sp) -/* 00DC8 8098DD98 8FA3006C */ lw $v1, 0x006C($sp) -/* 00DCC 8098DD9C 3C0A0600 */ lui $t2, %hi(D_06004F00) ## $t2 = 06000000 -/* 00DD0 8098DDA0 254A4F00 */ addiu $t2, $t2, %lo(D_06004F00) ## $t2 = 06004F00 -/* 00DD4 8098DDA4 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 00DD8 8098DDA8 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002C6 -/* 00DDC 8098DDAC 3C09DE00 */ lui $t1, 0xDE00 ## $t1 = DE000000 -/* 00DE0 8098DDB0 3C19E700 */ lui $t9, 0xE700 ## $t9 = E7000000 -/* 00DE4 8098DDB4 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008 -/* 00DE8 8098DDB8 AE0C02D0 */ sw $t4, 0x02D0($s0) ## 000002C6 -/* 00DEC 8098DDBC AC490000 */ sw $t1, 0x0000($v0) ## 00000000 -/* 00DF0 8098DDC0 AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004 -/* 00DF4 8098DDC4 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002C6 -/* 00DF8 8098DDC8 3C0EFA00 */ lui $t6, 0xFA00 ## $t6 = FA000000 -/* 00DFC 8098DDCC 35CE0080 */ ori $t6, $t6, 0x0080 ## $t6 = FA000080 -/* 00E00 8098DDD0 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 00E04 8098DDD4 AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002C6 -/* 00E08 8098DDD8 AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 00E0C 8098DDDC AC400004 */ sw $zero, 0x0004($v0) ## 00000004 -/* 00E10 8098DDE0 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002C6 -/* 00E14 8098DDE4 3C188099 */ lui $t8, %hi(D_8098E0DC) ## $t8 = 80990000 -/* 00E18 8098DDE8 2718E0DC */ addiu $t8, $t8, %lo(D_8098E0DC) ## $t8 = 8098E0DC -/* 00E1C 8098DDEC 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008 -/* 00E20 8098DDF0 AE0D02D0 */ sw $t5, 0x02D0($s0) ## 000002C6 -/* 00E24 8098DDF4 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 00E28 8098DDF8 8FAF00AC */ lw $t7, 0x00AC($sp) -/* 00E2C 8098DDFC 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00E30 8098DE00 01F81821 */ addu $v1, $t7, $t8 -/* 00E34 8098DE04 90690002 */ lbu $t1, 0x0002($v1) ## 00000002 -/* 00E38 8098DE08 90790000 */ lbu $t9, 0x0000($v1) ## 00000000 -/* 00E3C 8098DE0C 90780001 */ lbu $t8, 0x0001($v1) ## 00000001 -/* 00E40 8098DE10 00095200 */ sll $t2, $t1, 8 -/* 00E44 8098DE14 00196E00 */ sll $t5, $t9, 24 -/* 00E48 8098DE18 014D7025 */ or $t6, $t2, $t5 ## $t6 = 06004F08 -/* 00E4C 8098DE1C 00186400 */ sll $t4, $t8, 16 -/* 00E50 8098DE20 01CC4825 */ or $t1, $t6, $t4 ## $t1 = 06004F08 -/* 00E54 8098DE24 352B00FF */ ori $t3, $t1, 0x00FF ## $t3 = 06004FFF -/* 00E58 8098DE28 AC4B0004 */ sw $t3, 0x0004($v0) ## 00000004 -/* 00E5C 8098DE2C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002C6 -/* 00E60 8098DE30 3C0AFB00 */ lui $t2, 0xFB00 ## $t2 = FB000000 -/* 00E64 8098DE34 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 00E68 8098DE38 AE1902D0 */ sw $t9, 0x02D0($s0) ## 000002C6 -/* 00E6C 8098DE3C AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000 -/* 00E70 8098DE40 906C0003 */ lbu $t4, 0x0003($v1) ## 00000003 -/* 00E74 8098DE44 906F0005 */ lbu $t7, 0x0005($v1) ## 00000005 -/* 00E78 8098DE48 906A0004 */ lbu $t2, 0x0004($v1) ## 00000004 -/* 00E7C 8098DE4C 000C4E00 */ sll $t1, $t4, 24 -/* 00E80 8098DE50 000FC200 */ sll $t8, $t7, 8 -/* 00E84 8098DE54 03095825 */ or $t3, $t8, $t1 ## $t3 = 8698EFDC -/* 00E88 8098DE58 000A6C00 */ sll $t5, $t2, 16 -/* 00E8C 8098DE5C 016D7825 */ or $t7, $t3, $t5 ## $t7 = 8698EFDC -/* 00E90 8098DE60 35EE0080 */ ori $t6, $t7, 0x0080 ## $t6 = 8698EFDC -/* 00E94 8098DE64 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004 -/* 00E98 8098DE68 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002C6 -/* 00E9C 8098DE6C 8FA7004C */ lw $a3, 0x004C($sp) -/* 00EA0 8098DE70 8FA60050 */ lw $a2, 0x0050($sp) -/* 00EA4 8098DE74 3C18DB06 */ lui $t8, 0xDB06 ## $t8 = DB060000 -/* 00EA8 8098DE78 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008 -/* 00EAC 8098DE7C AE0C02D0 */ sw $t4, 0x02D0($s0) ## 000002C6 -/* 00EB0 8098DE80 37180020 */ ori $t8, $t8, 0x0020 ## $t8 = DB060020 -/* 00EB4 8098DE84 AC580000 */ sw $t8, 0x0000($v0) ## 00000000 -/* 00EB8 8098DE88 8FA90124 */ lw $t1, 0x0124($sp) -/* 00EBC 8098DE8C 240F0040 */ addiu $t7, $zero, 0x0040 ## $t7 = 00000040 -/* 00EC0 8098DE90 240D0020 */ addiu $t5, $zero, 0x0020 ## $t5 = 00000020 -/* 00EC4 8098DE94 8D240000 */ lw $a0, 0x0000($t1) ## 06004F08 -/* 00EC8 8098DE98 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001 -/* 00ECC 8098DE9C 240A0020 */ addiu $t2, $zero, 0x0020 ## $t2 = 00000020 -/* 00ED0 8098DEA0 24190020 */ addiu $t9, $zero, 0x0020 ## $t9 = 00000020 -/* 00ED4 8098DEA4 AFB90010 */ sw $t9, 0x0010($sp) -/* 00ED8 8098DEA8 AFAA0014 */ sw $t2, 0x0014($sp) -/* 00EDC 8098DEAC AFAB0018 */ sw $t3, 0x0018($sp) -/* 00EE0 8098DEB0 AFAF0028 */ sw $t7, 0x0028($sp) -/* 00EE4 8098DEB4 AFAD0024 */ sw $t5, 0x0024($sp) -/* 00EE8 8098DEB8 AFA20058 */ sw $v0, 0x0058($sp) -/* 00EEC 8098DEBC AFA70020 */ sw $a3, 0x0020($sp) -/* 00EF0 8098DEC0 0C0253D0 */ jal Gfx_TwoTexScroll -/* 00EF4 8098DEC4 AFA6001C */ sw $a2, 0x001C($sp) -/* 00EF8 8098DEC8 8FA30058 */ lw $v1, 0x0058($sp) -/* 00EFC 8098DECC 3C180600 */ lui $t8, %hi(D_06005A30) ## $t8 = 06000000 -/* 00F00 8098DED0 27185A30 */ addiu $t8, $t8, %lo(D_06005A30) ## $t8 = 06005A30 -/* 00F04 8098DED4 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 00F08 8098DED8 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002C6 -/* 00F0C 8098DEDC 3C0CDE00 */ lui $t4, 0xDE00 ## $t4 = DE000000 -/* 00F10 8098DEE0 3C068099 */ lui $a2, %hi(D_8098E240) ## $a2 = 80990000 -/* 00F14 8098DEE4 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 00F18 8098DEE8 AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002C6 -/* 00F1C 8098DEEC AC580004 */ sw $t8, 0x0004($v0) ## 00000004 -/* 00F20 8098DEF0 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000 -/* 00F24 8098DEF4 8FA90124 */ lw $t1, 0x0124($sp) -/* 00F28 8098DEF8 24C6E240 */ addiu $a2, $a2, %lo(D_8098E240) ## $a2 = 8098E240 -/* 00F2C 8098DEFC 27A40088 */ addiu $a0, $sp, 0x0088 ## $a0 = FFFFFF68 -/* 00F30 8098DF00 240702B8 */ addiu $a3, $zero, 0x02B8 ## $a3 = 000002B8 -/* 00F34 8098DF04 0C031AD5 */ jal Graph_CloseDisps -/* 00F38 8098DF08 8D250000 */ lw $a1, 0x0000($t1) ## 00000000 -.L8098DF0C: -/* 00F3C 8098DF0C 8FBF003C */ lw $ra, 0x003C($sp) -/* 00F40 8098DF10 8FB00038 */ lw $s0, 0x0038($sp) -/* 00F44 8098DF14 27BD0120 */ addiu $sp, $sp, 0x0120 ## $sp = 00000000 -/* 00F48 8098DF18 03E00008 */ jr $ra -/* 00F4C 8098DF1C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA54AC.s b/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA54AC.s index fe609ccf85..56d67d2be8 100644 --- a/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA54AC.s +++ b/asm/non_matchings/overlays/actors/ovl_Object_Kankyo/func_80BA54AC.s @@ -135,8 +135,8 @@ glabel func_80BA54AC .L80BA5660: /* 02BC0 80BA5660 02770019 */ multu $s3, $s7 /* 02BC4 80BA5664 00138080 */ sll $s0, $s3, 2 -/* 02BC8 80BA5668 3C150600 */ lui $s5, %hi(D_06005FF0) ## $s5 = 06000000 -/* 02BCC 80BA566C 26B55FF0 */ addiu $s5, $s5, %lo(D_06005FF0) ## $s5 = 06005FF0 +/* 02BC8 80BA5668 3C150600 */ lui $s5, %hi(gDemoKekkaiDL_005FF0) ## $s5 = 06000000 +/* 02BCC 80BA566C 26B55FF0 */ addiu $s5, $s5, %lo(gDemoKekkaiDL_005FF0) ## $s5 = 06005FF0 /* 02BD0 80BA5670 03B0C021 */ addu $t8, $sp, $s0 /* 02BD4 80BA5674 03B0C821 */ addu $t9, $sp, $s0 /* 02BD8 80BA5678 03B04021 */ addu $t0, $sp, $s0 diff --git a/assets/xml/objects/object_demo_kekkai.xml b/assets/xml/objects/object_demo_kekkai.xml new file mode 100644 index 0000000000..1b9c9b4027 --- /dev/null +++ b/assets/xml/objects/object_demo_kekkai.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/xml/scenes/dungeons/ganontika.xml b/assets/xml/scenes/dungeons/ganontika.xml index 7d8255e149..18c1543982 100644 --- a/assets/xml/scenes/dungeons/ganontika.xml +++ b/assets/xml/scenes/dungeons/ganontika.xml @@ -1,6 +1,22 @@ - + + + + + + + + + + + + + + + + + diff --git a/data/overlays/actors/z_demo_kekkai.data.s b/data/overlays/actors/z_demo_kekkai.data.s deleted file mode 100644 index 839a12e89a..0000000000 --- a/data/overlays/actors/z_demo_kekkai.data.s +++ /dev/null @@ -1,42 +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 Demo_Kekkai_InitVars - .word 0x01A70700, 0x00000030, 0x01790000, 0x000001FC -.word DemoKekkai_Init -.word DemoKekkai_Destroy -.word DemoKekkai_Update -.word DemoKekkai_Draw -glabel D_8098E0B0 - .word 0x0A110939, 0x10010000, 0x00000000, 0x20000000, 0x07040000, 0x00002000, 0x00000000, 0x01010100, 0x02A800DC, 0x00780000, 0x00000000 -glabel D_8098E0DC - .word 0xAAFFFF00, 0x32FFFFFF, 0xAAC8FF00, 0xFFFFAAC8, 0x0000FFAA, 0xFF6400C8, 0xFFFFAAFF, 0x7800FFFF, 0xAA00C800 -glabel D_8098E100 - .word 0x000000C3, 0x000000BC, 0x000000BF, 0x000000BE, 0x000000BD, 0x000000AD, 0x000000BB -glabel D_8098E11C - .word 0x00000000 -glabel D_8098E120 - .word 0x00000000 -glabel D_8098E124 - .word 0x00000000 -glabel D_8098E128 - .word 0x00000000, 0x00000000, 0x00000000 -glabel D_8098E134 - .word 0xFFFFAA00 -glabel D_8098E138 - .word 0xC8000000 -glabel D_8098E13C - .word 0x00000118, 0x01180118, 0x01180118, 0x01180000 -glabel D_8098E14C - .word 0x00000000, 0x0201A8E0, 0x0201C6B0, 0x0201BC80, 0x0201B2B0, 0x0201D080, 0x02019EE0 -glabel D_8098E168 - .word 0x01010000, 0x02020202, 0x02020202, 0x02020202, 0x01010000, 0x00010202, 0x02020202, 0x01000001, 0x02020101, 0x02020202, 0x02020202, 0x02020101, 0x00000001, 0x01000202, 0x02020202, 0x02020202, 0x02020202, 0x01010000, 0x00010100, 0x02020202, 0x02020202, 0x02020100, 0x01000202, 0x02020202, 0x02010102, 0x00000000 - diff --git a/data/overlays/actors/z_demo_kekkai.reloc.s b/data/overlays/actors/z_demo_kekkai.reloc.s deleted file mode 100644 index cd21de6284..0000000000 --- a/data/overlays/actors/z_demo_kekkai.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_8098E2D0 - .incbin "baserom/ovl_Demo_Kekkai", 0x1300, 0x00000190 diff --git a/include/functions.h b/include/functions.h index 3680951e69..c5c0626a9f 100644 --- a/include/functions.h +++ b/include/functions.h @@ -947,7 +947,7 @@ void func_80074CE8(GlobalContext* globalCtx, s32 arg1); // ? func_80074D6C(?); // ? func_80074FF4(?); // ? func_800750C0(?); -// ? func_800753C4(?); +void func_800753C4(GlobalContext* globalCtx, u8 arg1); // ? func_8007542C(?); // ? func_800758AC(?); // ? func_80075B44(?); @@ -2205,7 +2205,7 @@ void func_800ED858(u8); // ? func_800EE57C(?); // ? func_800EE5EC(?); // ? func_800EE6F4(?); -// ? func_800EE824(?); +void func_800EE824(CutsceneContext* csCtx); // ? func_800EE930(?); // ? func_800EE97C(?); // ? func_800EE9D0(?); @@ -2284,7 +2284,7 @@ void func_800F6AB0(u8); // ? func_800F6BB8(?); void func_800F6C14(); // ? func_800F6C34(?); -// ? func_800F6D58(?); +void func_800F6D58(u8, u8, u8); // ? func_800F6E7C(?); // ? func_800F6FB4(?); void func_800F70F8(); diff --git a/include/variables.h b/include/variables.h index 122408062b..1b6cbfc58e 100644 --- a/include/variables.h +++ b/include/variables.h @@ -24,7 +24,6 @@ extern u8 D_020035C0[][0x40]; extern u8 D_020038C0[]; extern u8 D_02003940[]; extern u8 D_02003AC0[]; -extern u32 D_0201DA50; extern u32 D_0300AA48; extern u32 D_03012B20; //extern ? D_0500CA70; diff --git a/spec b/spec index 85a8602b8d..bdd99d7f74 100644 --- a/spec +++ b/spec @@ -1543,8 +1543,7 @@ endseg beginseg name "ovl_Demo_Kekkai" include "build/src/overlays/actors/ovl_Demo_Kekkai/z_demo_kekkai.o" - include "build/data/overlays/actors/z_demo_kekkai.data.o" - include "build/data/overlays/actors/z_demo_kekkai.reloc.o" + include "build/src/overlays/actors/ovl_Demo_Kekkai/ovl_Demo_Kekkai_reloc.o" endseg beginseg @@ -5657,7 +5656,8 @@ endseg beginseg name "object_demo_kekkai" romalign 0x1000 - include "build/baserom/object_demo_kekkai.o" + include "build/assets/objects/object_demo_kekkai/object_demo_kekkai.o" + number 6 endseg beginseg diff --git a/src/code/z_demo.c b/src/code/z_demo.c index 4c6bfe5290..d79a17c002 100644 --- a/src/code/z_demo.c +++ b/src/code/z_demo.c @@ -1,5 +1,6 @@ #include "global.h" #include "z64camera.h" +#include "scenes/dungeons/ganontika/ganontika_scene.h" u16 D_8011E1C0 = 0; u16 D_8011E1C4 = 0; @@ -25,22 +26,22 @@ u8 sTitleCsState = 0; // TODO: use symbols for these cutscene locations once scenes and rooms are in C EntranceCutscene sEntranceCutsceneTable[] = { - { 0x0185, 2, 0xA0, 0x02013AA0 }, { 0x013D, 2, 0xA1, 0x02007EA0 }, { 0x00DB, 2, 0xA3, 0x0200A540 }, - { 0x0108, 2, 0xA4, 0x02003D70 }, { 0x0138, 1, 0xA5, 0x02003F40 }, { 0x014D, 2, 0xA6, 0x02008400 }, - { 0x0053, 2, 0xA7, 0x0200CE00 }, { 0x0000, 2, 0xA8, 0x0200B650 }, { 0x028A, 0, 0x18, 0x0200F9E0 }, - { 0x0292, 0, 0x18, 0x0200FF00 }, { 0x028E, 0, 0x18, 0x02010550 }, { 0x0476, 0, 0x18, 0x02010B30 }, - { 0x050F, 1, 0xA9, 0x0200BB80 }, { 0x0102, 2, 0xB1, 0x02007A30 }, { 0x0117, 2, 0xB2, 0x020031E0 }, - { 0x0129, 2, 0xB3, 0x02006490 }, { 0x0157, 2, 0xB4, 0x02005BD0 }, { 0x0028, 2, 0xB5, 0x02015600 }, - { 0x00E4, 2, 0xB6, 0x020070C0 }, { 0x0225, 2, 0xB7, 0x02004A80 }, { 0x0123, 2, 0xB8, 0x02007990 }, - { 0x0147, 2, 0xB9, 0x020076D0 }, { 0x0138, 0, 0xBA, 0x02004280 }, { 0x0574, 2, 0x5A, 0x020028E0 }, - { 0x0538, 2, 0xBB, 0x0201E790 }, { 0x053C, 2, 0xBC, 0x0201EF70 }, { 0x0540, 2, 0xBD, 0x02021380 }, - { 0x0544, 2, 0xBE, 0x0201E3E0 }, { 0x0548, 2, 0xBF, 0x0201DF90 }, { 0x054C, 2, 0xAD, 0x0201EB40 }, - { 0x008D, 0, 0xC0, 0x02002BB0 }, { 0x03B4, 0, 0xC7, 0x020055C0 }, { 0x0246, 2, 0xB9, 0x020076D0 }, + { 0x0185, 2, 0xA0, 0x02013AA0 }, { 0x013D, 2, 0xA1, 0x02007EA0 }, { 0x00DB, 2, 0xA3, 0x0200A540 }, + { 0x0108, 2, 0xA4, 0x02003D70 }, { 0x0138, 1, 0xA5, 0x02003F40 }, { 0x014D, 2, 0xA6, 0x02008400 }, + { 0x0053, 2, 0xA7, 0x0200CE00 }, { 0x0000, 2, 0xA8, 0x0200B650 }, { 0x028A, 0, 0x18, 0x0200F9E0 }, + { 0x0292, 0, 0x18, 0x0200FF00 }, { 0x028E, 0, 0x18, 0x02010550 }, { 0x0476, 0, 0x18, 0x02010B30 }, + { 0x050F, 1, 0xA9, 0x0200BB80 }, { 0x0102, 2, 0xB1, 0x02007A30 }, { 0x0117, 2, 0xB2, 0x020031E0 }, + { 0x0129, 2, 0xB3, 0x02006490 }, { 0x0157, 2, 0xB4, 0x02005BD0 }, { 0x0028, 2, 0xB5, 0x02015600 }, + { 0x00E4, 2, 0xB6, 0x020070C0 }, { 0x0225, 2, 0xB7, 0x02004A80 }, { 0x0123, 2, 0xB8, 0x02007990 }, + { 0x0147, 2, 0xB9, 0x020076D0 }, { 0x0138, 0, 0xBA, 0x02004280 }, { 0x0574, 2, 0x5A, 0x020028E0 }, + { 0x0538, 2, 0xBB, gForestBarrierCs }, { 0x053C, 2, 0xBC, gWaterBarrierCs }, { 0x0540, 2, 0xBD, gShadowBarrierCs }, + { 0x0544, 2, 0xBE, gFireBarrierCs }, { 0x0548, 2, 0xBF, gLightBarrierCs }, { 0x054C, 2, 0xAD, gSpiritBarrierCs }, + { 0x008D, 0, 0xC0, 0x02002BB0 }, { 0x03B4, 0, 0xC7, 0x020055C0 }, { 0x0246, 2, 0xB9, 0x020076D0 }, { 0x05E8, 2, 0xC6, 0x0200C9D0 }, }; // Unused, seems to be an early list of dungeon entrance cutscene locations -u32 D_8011E304[] = { 0x0200B650, 0x02015600, 0x02014F80, 0x02003F80, 0x02000330, 0x0201DA50 }; +u32 D_8011E304[] = { 0x0200B650, 0x02015600, 0x02014F80, 0x02003F80, 0x02000330, gTowerBarrierCs }; u16 D_8015FCC0; u16 D_8015FCC2; @@ -164,7 +165,7 @@ void func_80064824(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase* sp3F = 0; - if ((csCtx->frames < cmd->startFrame) || (csCtx->frames >= cmd->endFrame) && (cmd->endFrame != cmd->startFrame)) { + if ((csCtx->frames < cmd->startFrame) || ((csCtx->frames >= cmd->endFrame) && (cmd->endFrame != cmd->startFrame))) { return; } @@ -1123,7 +1124,7 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt case 113: if (Flags_GetEventChkInf(0xBB) && Flags_GetEventChkInf(0xBC) && Flags_GetEventChkInf(0xBD) && Flags_GetEventChkInf(0xBE) && Flags_GetEventChkInf(0xBF) && Flags_GetEventChkInf(0xAD)) { - globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(&D_0201DA50); + globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gTowerBarrierCs); globalCtx->csCtx.frames = 0; gSaveContext.cutsceneTrigger = 1; gSaveContext.cutsceneIndex = 0xFFFF; diff --git a/src/overlays/actors/ovl_Bg_Gnd_Darkmeiro/z_bg_gnd_darkmeiro.c b/src/overlays/actors/ovl_Bg_Gnd_Darkmeiro/z_bg_gnd_darkmeiro.c index 5997d1d8e0..ffa122f8ea 100644 --- a/src/overlays/actors/ovl_Bg_Gnd_Darkmeiro/z_bg_gnd_darkmeiro.c +++ b/src/overlays/actors/ovl_Bg_Gnd_Darkmeiro/z_bg_gnd_darkmeiro.c @@ -5,6 +5,7 @@ */ #include "z_bg_gnd_darkmeiro.h" +#include "objects/object_demo_kekkai/object_demo_kekkai.h" #define FLAGS 0x00000030 @@ -34,10 +35,6 @@ const ActorInit Bg_Gnd_Darkmeiro_InitVars = { NULL, }; -extern Gfx D_060088B0[]; -extern Gfx D_0600BEC0[]; -extern CollisionHeader D_0600C080; - void BgGndDarkmeiro_ToggleBlock(BgGndDarkmeiro* this, GlobalContext* globalCtx) { if (this->actionFlags & 2) { if (this->timer1 == 0) { @@ -63,7 +60,7 @@ void BgGndDarkmeiro_Init(Actor* thisx, GlobalContext* globalCtx) { this->dyna.actor.flags |= 0x80; break; case DARKMEIRO_CLEAR_BLOCK: - CollisionHeader_GetVirtual(&D_0600C080, &colHeader); + CollisionHeader_GetVirtual(&gClearBlockCol, &colHeader); this->dyna.bgId = DynaPoly_SetBgActor(globalCtx2, &globalCtx2->colCtx.dyna, &this->dyna.actor, colHeader); if (((this->dyna.actor.params >> 8) & 0x3F) == 0x3F) { this->updateFunc = BgGndDarkmeiro_UpdateStaticBlock; @@ -181,7 +178,7 @@ void BgGndDarkmeiro_Update(Actor* thisx, GlobalContext* globalCtx) { } void BgGndDarkmeiro_DrawInvisiblePath(Actor* thisx, GlobalContext* globalCtx) { - Gfx_DrawDListXlu(globalCtx, D_060088B0); + Gfx_DrawDListXlu(globalCtx, gShadowTrialPathDL); } void BgGndDarkmeiro_DrawSwitchBlock(Actor* thisx, GlobalContext* globalCtx) { @@ -202,11 +199,11 @@ void BgGndDarkmeiro_DrawSwitchBlock(Actor* thisx, GlobalContext* globalCtx) { } OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_gnd_darkmeiro.c", 378); - //@bug Due to a bug in the display list, the transparency data is not used. + //! @bug Due to a bug in the display list, the transparency data is not used. gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 198, 202, 208, this->timer2); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_gnd_darkmeiro.c", 380); - Gfx_DrawDListXlu(globalCtx, D_0600BEC0); + Gfx_DrawDListXlu(globalCtx, gClearBlockDL); } } @@ -215,5 +212,5 @@ void BgGndDarkmeiro_DrawStaticBlock(Actor* thisx, GlobalContext* globalCtx) { gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 198, 202, 208, 255); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_gnd_darkmeiro.c", 393); - Gfx_DrawDListXlu(globalCtx, D_0600BEC0); + Gfx_DrawDListXlu(globalCtx, gClearBlockDL); } diff --git a/src/overlays/actors/ovl_Bg_Gnd_Firemeiro/z_bg_gnd_firemeiro.c b/src/overlays/actors/ovl_Bg_Gnd_Firemeiro/z_bg_gnd_firemeiro.c index a5f7652033..38070fa919 100644 --- a/src/overlays/actors/ovl_Bg_Gnd_Firemeiro/z_bg_gnd_firemeiro.c +++ b/src/overlays/actors/ovl_Bg_Gnd_Firemeiro/z_bg_gnd_firemeiro.c @@ -5,6 +5,7 @@ */ #include "z_bg_gnd_firemeiro.h" +#include "objects/object_demo_kekkai/object_demo_kekkai.h" #define FLAGS 0x00000030 @@ -19,8 +20,8 @@ void func_808795AC(BgGndFiremeiro* this, GlobalContext* globalCtx); void func_80879668(BgGndFiremeiro* this, GlobalContext* globalCtx); void func_80879808(BgGndFiremeiro* this, GlobalContext* globalCtx); -extern UNK_TYPE D_0600E210; -extern UNK_TYPE D_0600ECD8; +// extern Gfx gFireTrialPlatformDL[]; +// extern CollisionHeader gFireTrialPlatformCol; /* const ActorInit Bg_Gnd_Firemeiro_InitVars = { diff --git a/src/overlays/actors/ovl_Bg_Gnd_Iceblock/z_bg_gnd_iceblock.c b/src/overlays/actors/ovl_Bg_Gnd_Iceblock/z_bg_gnd_iceblock.c index c079e69e08..0e90be3e5c 100644 --- a/src/overlays/actors/ovl_Bg_Gnd_Iceblock/z_bg_gnd_iceblock.c +++ b/src/overlays/actors/ovl_Bg_Gnd_Iceblock/z_bg_gnd_iceblock.c @@ -5,6 +5,7 @@ */ #include "z_bg_gnd_iceblock.h" +#include "objects/object_demo_kekkai/object_demo_kekkai.h" #define FLAGS 0x00000030 @@ -24,9 +25,6 @@ void BgGndIceblock_Draw(Actor* thisx, GlobalContext* globalCtx); void BgGndIceblock_Idle(BgGndIceblock* this, GlobalContext* globalCtx); void BgGndIceblock_Slide(BgGndIceblock* this, GlobalContext* globalCtx); -extern Gfx D_06004420[]; -extern CollisionHeader D_06004618; - const ActorInit Bg_Gnd_Iceblock_InitVars = { ACTOR_BG_GND_ICEBLOCK, ACTORCAT_PROP, @@ -55,7 +53,7 @@ void BgGndIceblock_Init(Actor* thisx, GlobalContext* globalCtx) { Actor_ProcessInitChain(&this->dyna.actor, sInitChain); DynaPolyActor_Init(&this->dyna, DPM_UNK); - CollisionHeader_GetVirtual(&D_06004618, &colHeader); + CollisionHeader_GetVirtual(&gWaterTrialIceBlockCol, &colHeader); this->targetPos = this->dyna.actor.home.pos; this->actionFunc = BgGndIceblock_Idle; this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader); @@ -358,5 +356,5 @@ void BgGndIceblock_Draw(Actor* thisx, GlobalContext* globalCtx) { s32 pad; BgGndIceblock* this = THIS; - Gfx_DrawDListOpa(globalCtx, D_06004420); + Gfx_DrawDListOpa(globalCtx, gWaterTrialIceBlockDL); } diff --git a/src/overlays/actors/ovl_Bg_Gnd_Nisekabe/z_bg_gnd_nisekabe.c b/src/overlays/actors/ovl_Bg_Gnd_Nisekabe/z_bg_gnd_nisekabe.c index af0f8acf17..c0c5359123 100644 --- a/src/overlays/actors/ovl_Bg_Gnd_Nisekabe/z_bg_gnd_nisekabe.c +++ b/src/overlays/actors/ovl_Bg_Gnd_Nisekabe/z_bg_gnd_nisekabe.c @@ -5,6 +5,7 @@ */ #include "z_bg_gnd_nisekabe.h" +#include "objects/object_demo_kekkai/object_demo_kekkai.h" #define FLAGS 0x00000010 @@ -27,8 +28,6 @@ const ActorInit Bg_Gnd_Nisekabe_InitVars = { (ActorFunc)BgGndNisekabe_Draw, }; -static Gfx* sDLists[] = { 0x06009230, 0x0600A390, 0x0600B4A0 }; - void BgGndNisekabe_Init(Actor* thisx, GlobalContext* globalCtx) { BgGndNisekabe* this = THIS; @@ -45,17 +44,22 @@ void BgGndNisekabe_Update(Actor* thisx, GlobalContext* globalCtx) { if (globalCtx->actorCtx.unk_03 != 0) { this->actor.flags |= 0x80; } else { - this->actor.flags &= 0xFFFFFF7F; + this->actor.flags &= ~0x80; } } void BgGndNisekabe_Draw(Actor* thisx, GlobalContext* globalCtx) { + static Gfx* dLists[] = { + gLightTrialFakeWallDL, + gGanonsCastleUnusedFakeWallDL, + gGanonsCastleScrubsFakeWallDL, + }; BgGndNisekabe* this = THIS; u32 index = this->actor.params & 0xFF; if ((this->actor.flags & 0x80) == 0x80) { - Gfx_DrawDListXlu(globalCtx, sDLists[index]); + Gfx_DrawDListXlu(globalCtx, dLists[index]); } else { - Gfx_DrawDListOpa(globalCtx, sDLists[index]); + Gfx_DrawDListOpa(globalCtx, dLists[index]); } } diff --git a/src/overlays/actors/ovl_Bg_Gnd_Soulmeiro/z_bg_gnd_soulmeiro.c b/src/overlays/actors/ovl_Bg_Gnd_Soulmeiro/z_bg_gnd_soulmeiro.c index ee410ce7fc..69cdaebb0c 100644 --- a/src/overlays/actors/ovl_Bg_Gnd_Soulmeiro/z_bg_gnd_soulmeiro.c +++ b/src/overlays/actors/ovl_Bg_Gnd_Soulmeiro/z_bg_gnd_soulmeiro.c @@ -5,6 +5,7 @@ */ #include "z_bg_gnd_soulmeiro.h" +#include "objects/object_demo_kekkai/object_demo_kekkai.h" #include "global.h" #define FLAGS 0x00000000 @@ -59,13 +60,9 @@ static InitChainEntry sInitChain[] = { ICHAIN_F32(uncullZoneDownward, 1000, ICHAIN_STOP), }; -static Vec3f sZeroVec = { 0.0f, 0.0f, 0.0f }; - -static Gfx* D_8087B578[] = { 0x06007C00, 0x06002320, 0x060035A0 }; - void BgGndSoulmeiro_Init(Actor* thisx, GlobalContext* globalCtx) { - BgGndSoulmeiro* this = THIS; s32 pad; + BgGndSoulmeiro* this = THIS; Actor_ProcessInitChain(&this->actor, sInitChain); this->actionFunc = NULL; @@ -107,61 +104,54 @@ void BgGndSoulmeiro_Destroy(Actor* thisx, GlobalContext* globalCtx) { } void func_8087AF38(BgGndSoulmeiro* this, GlobalContext* globalCtx) { + static Vec3f zeroVec = { 0.0f, 0.0f, 0.0f }; Vec3f vecA; Vec3f vecB; - s16 temp_1; - s16 temp_2; - f32 temp_3; - f32 temp_4; - f32 distXZ; - s32 i; - BgGndSoulmeiro* this2; + Actor* thisx = &this->actor; if (this->unk_198 != 0) { this->unk_198--; } if (this->unk_198 == 20) { - Flags_SetSwitch(globalCtx, (this->actor.params >> 8) & 0x3F); - this->actor.draw = NULL; + Flags_SetSwitch(globalCtx, (thisx->params >> 8) & 0x3F); + thisx->draw = NULL; } // This should be this->unk_198 == 0, this is required to match if (!this->unk_198) { - Flags_SetSwitch(globalCtx, (this->actor.params >> 8) & 0x3F); + Flags_SetSwitch(globalCtx, (thisx->params >> 8) & 0x3F); Actor_Kill(&this->actor); - Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_MIR_RAY, this->actor.world.pos.x, this->actor.world.pos.y, - this->actor.world.pos.z, 0, 0, 0, 9); - return; - } + Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_MIR_RAY, thisx->world.pos.x, thisx->world.pos.y, + thisx->world.pos.z, 0, 0, 0, 9); + } else if ((this->unk_198 % 6) == 0) { + s32 i; + s16 temp_2 = Rand_ZeroOne() * (10922.0f); // This should be: 0x10000 / 6.0f - if (1) {} - - if ((this->unk_198 % 6) == 0) { - temp_2 = Rand_ZeroOne() * (10922.0f); // This should be: 0x10000 / 6.0f vecA.y = 0.0f; - vecB.y = this->actor.world.pos.y; + vecB.y = thisx->world.pos.y; - this2 = this; for (i = 0; i < 6; i++) { - temp_1 = Rand_CenteredFloat(0x2800) + temp_2; - temp_3 = Math_SinS(temp_1); - temp_4 = Math_CosS(temp_1); - vecB.x = this2->actor.world.pos.x + (120.0f * temp_3); - vecB.z = this2->actor.world.pos.z + (120.0f * temp_4); - distXZ = Math_Vec3f_DistXZ(&this2->actor.home.pos, &vecB) * (1.0f / 120.0f); + s16 temp_1 = Rand_CenteredFloat(0x2800) + temp_2; + f32 temp_3 = Math_SinS(temp_1); + f32 temp_4 = Math_CosS(temp_1); + f32 distXZ; + + vecB.x = thisx->world.pos.x + (120.0f * temp_3); + vecB.z = thisx->world.pos.z + (120.0f * temp_4); + distXZ = Math_Vec3f_DistXZ(&thisx->home.pos, &vecB) * (1.0f / 120.0f); if (distXZ < 0.7f) { temp_3 = Math_SinS(temp_1 + 0x8000); temp_4 = Math_CosS(temp_1 + 0x8000); - vecB.x = this->actor.world.pos.x + (120.0f * temp_3); - vecB.z = this->actor.world.pos.z + (120.0f * temp_4); - distXZ = Math_Vec3f_DistXZ(&this->actor.home.pos, &vecB) * (1.0f / 120.0f); + vecB.x = thisx->world.pos.x + (120.0f * temp_3); + vecB.z = thisx->world.pos.z + (120.0f * temp_4); + distXZ = Math_Vec3f_DistXZ(&thisx->home.pos, &vecB) * (1.0f / 120.0f); } vecA.x = 4.0f * temp_3 * distXZ; vecA.y = 0.0f; vecA.z = 4.0f * temp_4 * distXZ; - EffectSsDeadDb_Spawn(globalCtx, &this->actor.home.pos, &vecA, &sZeroVec, 60, 6, 255, 255, 150, 170, 255, 0, + EffectSsDeadDb_Spawn(globalCtx, &thisx->home.pos, &vecA, &zeroVec, 60, 6, 255, 255, 150, 170, 255, 0, 0, 1, 14, true); temp_2 += 0x2AAA; } @@ -177,15 +167,14 @@ void func_8087B284(BgGndSoulmeiro* this, GlobalContext* globalCtx) { Audio_PlaySoundGeneral(NA_SE_SY_CORRECT_CHIME, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); this->unk_198 = 40; this->actionFunc = func_8087AF38; - return; + } else { + Collider_UpdateCylinder(&this->actor, &this->collider); + CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base); } - Collider_UpdateCylinder(&this->actor, &this->collider); - CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base); } } void func_8087B350(BgGndSoulmeiro* this, GlobalContext* globalCtx) { - if (Flags_GetSwitch(globalCtx, (this->actor.params >> 8) & 0x3F)) { this->actor.draw = BgGndSoulmeiro_Draw; } else { @@ -202,6 +191,11 @@ void BgGndSoulmeiro_Update(Actor* thisx, GlobalContext* globalCtx) { } void BgGndSoulmeiro_Draw(Actor* thisx, GlobalContext* globalCtx) { + static Gfx* dLists[] = { + gSpiritTrialWebDL, + gSpiritTrialLightSourceDL, + gSpiritTrialLightFloorDL, + }; s32 params = thisx->params & 0xFF; if (1) {} @@ -209,19 +203,17 @@ void BgGndSoulmeiro_Draw(Actor* thisx, GlobalContext* globalCtx) { switch (params) { case 0: OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_gnd_soulmeiro.c", 398); - func_80093D84(globalCtx->state.gfxCtx); gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_gnd_soulmeiro.c", 400), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - - gSPDisplayList(POLY_XLU_DISP++, D_8087B578[params]); + gSPDisplayList(POLY_XLU_DISP++, dLists[params]); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_gnd_soulmeiro.c", 403); break; case 1: - Gfx_DrawDListXlu(globalCtx, D_8087B578[params]); + Gfx_DrawDListXlu(globalCtx, dLists[params]); break; case 2: - Gfx_DrawDListOpa(globalCtx, D_8087B578[params]); + Gfx_DrawDListOpa(globalCtx, dLists[params]); break; } } diff --git a/src/overlays/actors/ovl_Demo_Kekkai/z_demo_kekkai.c b/src/overlays/actors/ovl_Demo_Kekkai/z_demo_kekkai.c index 7d37fc17dd..5f59423bbd 100644 --- a/src/overlays/actors/ovl_Demo_Kekkai/z_demo_kekkai.c +++ b/src/overlays/actors/ovl_Demo_Kekkai/z_demo_kekkai.c @@ -1,4 +1,12 @@ +/** + * File: z_demo_kekkai.c + * Overlay: ovl_Demo_Kekkai + * Description: Ganon's castle barriers + */ + #include "z_demo_kekkai.h" +#include "objects/object_demo_kekkai/object_demo_kekkai.h" +#include "scenes/dungeons/ganontika/ganontika_scene.h" #define FLAGS 0x00000030 @@ -7,15 +15,14 @@ void DemoKekkai_Init(Actor* thisx, GlobalContext* globalCtx); void DemoKekkai_Destroy(Actor* thisx, GlobalContext* globalCtx); void DemoKekkai_Update(Actor* thisx, GlobalContext* globalCtx); -void DemoKekkai_Draw(Actor* thisx, GlobalContext* globalCtx); +void DemoKekkai_DrawTowerBarrier(Actor* thisx, GlobalContext* globalCtx); -extern UNK_TYPE D_06004930; -extern UNK_TYPE D_06004F00; -extern UNK_TYPE D_06004FD0; -extern UNK_TYPE D_06005A30; -extern UNK_TYPE D_06005CB0; +void DemoKekkai_TrialBarrierDispel(Actor* thisx, GlobalContext* globalCtx); +void DemoKekkai_TrialBarrierIdle(Actor* thisx, GlobalContext* globalCtx); +void DemoKekkai_DrawTrialBarrier(Actor* thisx, GlobalContext* globalCtx); + +void DemoKekkai_TowerBarrier(DemoKekkai* this, GlobalContext* globalCtx); -/* const ActorInit Demo_Kekkai_InitVars = { ACTOR_DEMO_KEKKAI, ACTORCAT_ITEMACTION, @@ -25,10 +32,10 @@ const ActorInit Demo_Kekkai_InitVars = { (ActorFunc)DemoKekkai_Init, (ActorFunc)DemoKekkai_Destroy, (ActorFunc)DemoKekkai_Update, - (ActorFunc)DemoKekkai_Draw, + (ActorFunc)DemoKekkai_DrawTowerBarrier, }; -static ColliderCylinderInit D_8098E0B0 = { +static ColliderCylinderInit sCylinderInit = { { COLTYPE_NONE, AT_ON | AT_TYPE_ENEMY, @@ -47,23 +54,285 @@ static ColliderCylinderInit D_8098E0B0 = { }, { 680, 220, 120, { 0, 0, 0 } }, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098CFD0.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/DemoKekkai_Init.s") +static u8 sEnergyColors[] = { + /* Water prim */ 170, 255, 255, /* env */ 0, 50, 255, + /* Light prim */ 255, 255, 170, /* env */ 200, 255, 0, + /* Fire prim */ 255, 255, 170, /* env */ 200, 0, 0, + /* Shadow prim */ 255, 170, 255, /* env */ 100, 0, 200, + /* Spirit prim */ 255, 255, 170, /* env */ 255, 120, 0, + /* Forest prim */ 255, 255, 170, /* env */ 0, 200, 0, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/DemoKekkai_Destroy.s") +s32 DemoKekkai_CheckEventFlag(s32 params) { + static s32 eventFlags[] = { 0xC3, 0xBC, 0xBF, 0xBE, 0xBD, 0xAD, 0xBB }; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098D280.s") + if ((params < KEKKAI_TOWER) || (params > KEKKAI_FOREST)) { + return true; + } + return Flags_GetEventChkInf(eventFlags[params]); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098D4D4.s") +void DemoKekkai_Init(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + DemoKekkai* this = THIS; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/DemoKekkai_Update.s") + this->sfxFlag = 0; + this->energyAlpha = 1.0f; + Actor_SetScale(thisx, 0.1f); + thisx->colChkInfo.mass = MASS_IMMOVABLE; + Collider_InitCylinder(globalCtx, &this->collider1); + Collider_SetCylinder(globalCtx, &this->collider1, thisx, &sCylinderInit); + Collider_InitCylinder(globalCtx, &this->collider2); + Collider_SetCylinder(globalCtx, &this->collider2, thisx, &sCylinderInit); + Collider_UpdateCylinder(thisx, &this->collider1); + Collider_UpdateCylinder(thisx, &this->collider2); + this->timer = 0; + this->barrierScrollRate = 1.0f; + this->barrierScroll = 0.0f; + switch (thisx->params) { + case KEKKAI_TOWER: + this->updateFunc = DemoKekkai_TowerBarrier; + this->collider2.dim.radius = thisx->scale.x * 6100.0f; + this->collider2.dim.height = thisx->scale.y * 5000.0f; + this->collider2.dim.yShift = 300; + break; + case KEKKAI_WATER: + case KEKKAI_LIGHT: + case KEKKAI_FIRE: + case KEKKAI_SHADOW: + case KEKKAI_SPIRIT: + case KEKKAI_FOREST: + this->energyAlpha = 1.0f; + this->orbScale = 1.0f; + Actor_SetScale(thisx, 0.1f); + thisx->update = DemoKekkai_TrialBarrierIdle; + thisx->draw = DemoKekkai_DrawTrialBarrier; + this->collider1.dim.radius = thisx->scale.x * 120.0f; + this->collider1.dim.height = thisx->scale.y * 2000.0f; + this->collider1.dim.yShift = 0; + this->collider2.dim.radius = thisx->scale.x * 320.0f; + this->collider2.dim.height = thisx->scale.y * 510.0f; + this->collider2.dim.yShift = 95; + break; + } + if (DemoKekkai_CheckEventFlag(thisx->params)) { + if (thisx->params == KEKKAI_TOWER) { + globalCtx->envCtx.unk_BF = 1; + } + Actor_Kill(thisx); + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098D71C.s") +void DemoKekkai_Destroy(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + DemoKekkai* this = THIS; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098D87C.s") + Collider_DestroyCylinder(globalCtx, &this->collider1); + Collider_DestroyCylinder(globalCtx, &this->collider2); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/func_8098D9C0.s") +void DemoKekkai_SpawnParticles(DemoKekkai* this, GlobalContext* globalCtx) { + static Vec3f vel = { 0.0f, 0.0f, 0.0f }; + static Vec3f accel = { 0.0f, 0.0f, 0.0f }; + static Color_RGBA8 lightYellow = { 255, 255, 170, 0 }; + static Color_RGBA8 darkRed = { 200, 0, 0, 0 }; + Vec3f pos; + s32 i; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Kekkai/DemoKekkai_Draw.s") + for (i = 0; i < 85; i++) { + s16 roll = Rand_ZeroFloat(65535.0f); + s16 yaw = Rand_ZeroFloat(65535.0f); + + vel.x = Math_SinS(yaw) * Math_CosS(roll) * Rand_ZeroFloat(8.0f); + vel.z = Math_CosS(yaw) * Math_CosS(roll) * Rand_ZeroFloat(8.0f); + vel.y = Math_SinS(roll) * Rand_ZeroFloat(3.0f); + + pos.x = (vel.x * 7.0f) + this->actor.world.pos.x; + pos.y = (vel.y * 20.0f) + this->actor.world.pos.y + 120.0f; + pos.z = (vel.z * 7.0f) + this->actor.world.pos.z; + + EffectSsKiraKira_SpawnFocused(globalCtx, &pos, &vel, &accel, &lightYellow, &darkRed, 3000, + (s32)Rand_ZeroFloat(40.0f) + 45); + } +} + +void DemoKekkai_TowerBarrier(DemoKekkai* this, GlobalContext* globalCtx) { + if ((globalCtx->csCtx.state != 0) && (globalCtx->csCtx.npcActions[0] != NULL) && + (globalCtx->csCtx.npcActions[0]->action != 1) && (globalCtx->csCtx.npcActions[0]->action == 2)) { + if (!(this->sfxFlag & 1)) { + func_800F3F3C(0xC); + this->sfxFlag |= 1; + } + if (this->barrierScrollRate < 7.0f) { + this->barrierScrollRate += 0.2f; + } else { + this->timer++; + if (this->timer > 100) { + Flags_SetEventChkInf(0xC3); + Actor_Kill(&this->actor); + return; + } else if (this->timer > 40) { + this->actor.scale.z = this->actor.scale.x += 0.003f; + } + } + } + if (!(this->sfxFlag & 1)) { + func_8002F974(&this->actor, NA_SE_EV_TOWER_BARRIER - SFX_FLAG); + } +} + +void DemoKekkai_Update(Actor* thisx, GlobalContext* globalCtx2) { + GlobalContext* globalCtx = globalCtx2; + DemoKekkai* this = THIS; + + if (this->energyAlpha > 0.99f) { + if ((this->collider1.base.atFlags & AT_HIT) || (this->collider2.base.atFlags & AT_HIT)) { + func_8002F71C(globalCtx, &this->actor, 6.0f, this->actor.yawTowardsPlayer, 6.0f); + } + CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->collider1.base); + CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider1.base); + CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->collider2.base); + CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider2.base); + } + this->updateFunc(this, globalCtx); + this->barrierScroll += this->barrierScrollRate; + if (this->barrierScroll > 65536.0f) { + this->barrierScroll -= 65536.0f; + } +} + +void DemoKekkai_TrialBarrierDispel(Actor* thisx, GlobalContext* globalCtx) { + static u16 csFrames[] = { 0, 280, 280, 280, 280, 280, 280 }; + s32 pad; + DemoKekkai* this = THIS; + + if (globalCtx->csCtx.frames == csFrames[this->actor.params]) { + func_800F3F3C(0xA); + } + if (this->energyAlpha >= 0.05f) { + this->energyAlpha -= 0.05f; + } else { + this->energyAlpha = 0.0f; + } + if (this->timer < 40) { + this->orbScale = ((80 - this->timer) * (f32)this->timer * 0.000625f) + 1.0f; + } else if (this->timer < 50) { + this->orbScale = 2.0f; + } else if (this->timer == 50) { + Audio_PlayActorSound2(&this->actor, NA_SE_IT_DM_RING_EXPLOSION); + DemoKekkai_SpawnParticles(this, globalCtx); + } else { + this->orbScale = 0.0f; + } + if (this->orbScale != 0.0f) { + func_8002F974(&this->actor, NA_SE_EV_TOWER_ENERGY - SFX_FLAG); + } + this->timer++; +} + +static CutsceneData* sSageCutscenes[] = { + NULL, + gWaterTrialSageCs, + gLightTrialSageCs, + gFireTrialSageCs, + gShadowTrialSageCs, + gSpiritTrialSageCs, + gForestTrialSageCs, +}; + +void DemoKekkai_TrialBarrierIdle(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + DemoKekkai* this = THIS; + + if (this->collider1.base.atFlags & AT_HIT) { + func_8002F71C(globalCtx, &this->actor, 5.0f, this->actor.yawTowardsPlayer, 5.0f); + } + CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->collider1.base); + CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider1.base); + if (this->collider2.base.acFlags & AC_HIT) { + func_80078884(NA_SE_SY_CORRECT_CHIME); + // I got it + LOG_STRING("当ったよ", "../z_demo_kekkai.c", 572); + this->actor.update = DemoKekkai_TrialBarrierDispel; + this->timer = 0; + globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(sSageCutscenes[this->actor.params]); + gSaveContext.cutsceneTrigger = 1; + } + CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider2.base); + func_8002F974(&this->actor, NA_SE_EV_TOWER_ENERGY - SFX_FLAG); +} + +void DemoKekkai_DrawTrialBarrier(Actor* thisx, GlobalContext* globalCtx2) { + GlobalContext* globalCtx = globalCtx2; + s32 frames = globalCtx->gameplayFrames & 0xFFFF; + u8 alphaIndex[102] = { + 1, 1, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 1, 0, 0, 1, 2, 2, + 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 0, 0, 0, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 1, 1, 0, 0, 0, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 1, 0, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 0, 0, + }; + s32 colorIndex; + DemoKekkai* this = THIS; + u8 alphas[3]; + Vtx* energyVtx = SEGMENTED_TO_VIRTUAL(gTrialBarrierEnergyVtx); + s32 i; + + if (this->orbScale != 0.0f) { + if (1) {} + alphas[2] = (s32)(this->energyAlpha * 202.0f); + alphas[1] = (s32)(this->energyAlpha * 126.0f); + alphas[0] = 0; + for (i = 0; i < 102; i++) { + energyVtx[i].v.cn[3] = alphas[alphaIndex[i]]; + } + colorIndex = (this->actor.params - 1) * 6; + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_demo_kekkai.c", 632); + func_80093D84(globalCtx->state.gfxCtx); + Matrix_Push(); + Matrix_Translate(0.0f, 1200.0f, 0.0f, MTXMODE_APPLY); + Matrix_Scale(this->orbScale, this->orbScale, this->orbScale, MTXMODE_APPLY); + Matrix_Translate(0.0f, -1200.0f, 0.0f, MTXMODE_APPLY); + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_demo_kekkai.c", 639), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPSegment(POLY_XLU_DISP++, 0x09, + Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, frames * 5, frames * -10, 0x20, 0x20, 1, frames * 5, + frames * -10, 0x20, 0x20)); + gSPDisplayList(POLY_XLU_DISP++, gTrialBarrierOrbDL); + Matrix_Pull(); + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_demo_kekkai.c", 656), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gDPPipeSync(POLY_XLU_DISP++); + gDPSetPrimColor(POLY_XLU_DISP++, 0x00, 0x80, 50, 0, 100, 255); + gSPSegment(POLY_XLU_DISP++, 0x0A, + Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, 0, 0x20, 0x20, 1, frames, frames, 0x20, 0x20)); + gSPDisplayList(POLY_XLU_DISP++, gTrialBarrierFloorDL); + gDPPipeSync(POLY_XLU_DISP++); + gDPSetPrimColor(POLY_XLU_DISP++, 0x00, 0x80, sEnergyColors[colorIndex + 0], sEnergyColors[colorIndex + 1], + sEnergyColors[colorIndex + 2], 255); + gDPSetEnvColor(POLY_XLU_DISP++, sEnergyColors[colorIndex + 3], sEnergyColors[colorIndex + 4], + sEnergyColors[colorIndex + 5], 128); + gSPSegment(POLY_XLU_DISP++, 0x08, + Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, frames * 5, frames * -10, 0x20, 0x20, 1, frames * 5, + frames * -10, 0x20, 0x40)); + gSPDisplayList(POLY_XLU_DISP++, gTrialBarrierEnergyDL); + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_demo_kekkai.c", 696); + } +} + +void DemoKekkai_DrawTowerBarrier(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + DemoKekkai* this = THIS; + s32 scroll; + + scroll = (s32)this->barrierScroll & 0xFFFF; + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_demo_kekkai.c", 705); + func_80093D84(globalCtx->state.gfxCtx); + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_demo_kekkai.c", 707), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gDPSetPrimColor(POLY_XLU_DISP++, 0x00, 0x80, 255, 170, 255, 255); + gSPSegment(POLY_XLU_DISP++, 0x08, + Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, scroll * 2, scroll * -4, 0x20, 0x40, 1, scroll * 2, + scroll * -4, 0x20, 0x40)); + gSPDisplayList(POLY_XLU_DISP++, gTowerBarrierDL); + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_demo_kekkai.c", 722); +} diff --git a/src/overlays/actors/ovl_Demo_Kekkai/z_demo_kekkai.h b/src/overlays/actors/ovl_Demo_Kekkai/z_demo_kekkai.h index 708eae610f..2abc817272 100644 --- a/src/overlays/actors/ovl_Demo_Kekkai/z_demo_kekkai.h +++ b/src/overlays/actors/ovl_Demo_Kekkai/z_demo_kekkai.h @@ -6,11 +6,31 @@ struct DemoKekkai; +typedef void (*DemoKekkaiUpdateFunc)(struct DemoKekkai* this, GlobalContext* globalCtx); + typedef struct DemoKekkai { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0xB0]; + /* 0x014C */ ColliderCylinder collider1; + /* 0x0198 */ ColliderCylinder collider2; + /* 0x01E4 */ f32 energyAlpha; + /* 0x01E8 */ f32 orbScale; + /* 0x01EC */ f32 barrierScroll; + /* 0x01F0 */ f32 barrierScrollRate; + /* 0x01F4 */ u16 timer; + /* 0x01F6 */ u16 sfxFlag; + /* 0x01F8 */ DemoKekkaiUpdateFunc updateFunc; } DemoKekkai; // size = 0x01FC extern const ActorInit Demo_Kekkai_InitVars; +typedef enum { + /* 0 */ KEKKAI_TOWER, + /* 1 */ KEKKAI_WATER, + /* 2 */ KEKKAI_LIGHT, + /* 3 */ KEKKAI_FIRE, + /* 4 */ KEKKAI_SHADOW, + /* 5 */ KEKKAI_SPIRIT, + /* 6 */ KEKKAI_FOREST +} DemoKekkaiType; + #endif diff --git a/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c b/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c index 6ab00688ee..9cbdcfc159 100644 --- a/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c +++ b/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c @@ -5,6 +5,7 @@ */ #include "z_door_shutter.h" +#include "objects/object_demo_kekkai/object_demo_kekkai.h" #include "overlays/actors/ovl_Boss_Goma/z_boss_goma.h" #include "objects/gameplay_keep/gameplay_keep.h" @@ -99,7 +100,7 @@ static ShutterInfo D_80998134[] = { { 0x06003890, gDungeonDoorDL, 130, 12, 20, 15 }, { 0x06001D10, gDungeonDoorDL, 130, 12, 20, 15 }, { 0x060010D0, gDungeonDoorDL, 130, 12, 20, 15 }, - { 0x060020D0, gDungeonDoorDL, 130, 12, 20, 15 }, + { gGanonsCastleDoorDL, gDungeonDoorDL, 130, 12, 20, 15 }, { 0x060000C0, gDungeonDoorDL, 130, 12, 20, 15 }, }; diff --git a/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.c b/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.c index 31fedde2c1..85f9fbbc12 100644 --- a/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.c +++ b/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.c @@ -5,6 +5,7 @@ */ #include "z_object_kankyo.h" +#include "objects/object_demo_kekkai/object_demo_kekkai.h" #include "objects/gameplay_keep/gameplay_keep.h" #define FLAGS 0x02000030 @@ -17,7 +18,6 @@ void ObjectKankyo_Update(Actor* thisx, GlobalContext* globalCtx); void ObjectKankyo_Draw(Actor* thisx, GlobalContext* globalCtx); extern UNK_TYPE D_01000000; -extern UNK_TYPE D_06005FF0; extern UNK_TYPE D_06009620; /* diff --git a/undefined_syms.txt b/undefined_syms.txt index 57379e23c0..e17508bfff 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -2007,7 +2007,6 @@ D_06008390 = 0x06008390; // z_demo_kekkai D_06004930 = 0x06004930; D_06004F00 = 0x06004F00; -D_06004FD0 = 0x06004FD0; D_06005A30 = 0x06005A30; D_06005CB0 = 0x06005CB0;