From 09fe32e198569a68140c8c7a6483278c1ea55bcd Mon Sep 17 00:00:00 2001 From: Sirius902 <10891979+Sirius902@users.noreply.github.com> Date: Tue, 1 Dec 2020 18:36:39 -0800 Subject: [PATCH] ovl_Magic_Dark (#495) * merge upstream * Merge upstream * Small formatting * Data section * MagicDark_Draw * Gross match of func_80B874E4 * Add func_8005A9CC to functions.h * Work on func_80B87A18 * func_80B8772C * Remove comment * Work on func_80B87A18 * Correct fp constant * Add regalloc comment ;( * Move negatives to numbers * Stupid casts >:( * Use this->actor when possible * It's so close * Use cast + 0xFF * func_80B87A18 * Delete asm and replace globalCtx2 * Update spec * static everything * Name scale * Use decimal for alpha * Name some stuff * Delete reloc * Name orbOffset * Name some functions * Make unused data colors (because it probably is) * Change >= to > * Use clamps * Name MagicDark_DimLighting * Name gfx * Rename prototype params * Cleanup * Funny cast Co-authored-by: Ethan Roseman --- .../actors/ovl_Magic_Dark/MagicDark_Draw.s | 295 ------------------ .../actors/ovl_Magic_Dark/func_80B874E4.s | 178 ----------- .../actors/ovl_Magic_Dark/func_80B8772C.s | 100 ------ .../actors/ovl_Magic_Dark/func_80B87A18.s | 195 ------------ data/overlays/actors/z_magic_dark.data.s | 30 -- data/overlays/actors/z_magic_dark.reloc.s | 13 - include/functions.h | 1 + include/variables.h | 2 +- include/z64.h | 5 +- spec | 3 +- .../actors/ovl_Magic_Dark/z_magic_dark.c | 252 ++++++++++++--- .../actors/ovl_Magic_Dark/z_magic_dark.h | 10 +- .../actors/ovl_Magic_Dark/z_magic_dark_gfx.c | 99 ++++++ undefined_syms.txt | 3 + 14 files changed, 328 insertions(+), 858 deletions(-) delete mode 100644 asm/non_matchings/overlays/actors/ovl_Magic_Dark/MagicDark_Draw.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Magic_Dark/func_80B874E4.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Magic_Dark/func_80B8772C.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_Magic_Dark/func_80B87A18.s delete mode 100644 data/overlays/actors/z_magic_dark.data.s delete mode 100644 data/overlays/actors/z_magic_dark.reloc.s create mode 100644 src/overlays/actors/ovl_Magic_Dark/z_magic_dark_gfx.c diff --git a/asm/non_matchings/overlays/actors/ovl_Magic_Dark/MagicDark_Draw.s b/asm/non_matchings/overlays/actors/ovl_Magic_Dark/MagicDark_Draw.s deleted file mode 100644 index bf3623b3a4..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Magic_Dark/MagicDark_Draw.s +++ /dev/null @@ -1,295 +0,0 @@ -.rdata -glabel D_80B88B5C - .asciz "../z_magic_dark.c" - .balign 4 - -glabel D_80B88B70 - .asciz "../z_magic_dark.c" - .balign 4 - -glabel D_80B88B84 - .asciz "../z_magic_dark.c" - .balign 4 - -glabel D_80B88B98 - .asciz "../z_magic_dark.c" - .balign 4 - -.late_rodata -glabel D_80B88BFC - .float 1.4 - -glabel D_80B88C00 - .word 0x3DC90FDB -glabel D_80B88C04 - .word 0x3DC90FDB, 0x00000000, 0x00000000 - -.text -glabel MagicDark_Draw -/* 008EC 80B87CBC 27BDFF78 */ addiu $sp, $sp, 0xFF78 ## $sp = FFFFFF78 -/* 008F0 80B87CC0 AFBF0024 */ sw $ra, 0x0024($sp) -/* 008F4 80B87CC4 AFB20020 */ sw $s2, 0x0020($sp) -/* 008F8 80B87CC8 AFB1001C */ sw $s1, 0x001C($sp) -/* 008FC 80B87CCC AFB00018 */ sw $s0, 0x0018($sp) -/* 00900 80B87CD0 8CAE009C */ lw $t6, 0x009C($a1) ## 0000009C -/* 00904 80B87CD4 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000 -/* 00908 80B87CD8 00A09025 */ or $s2, $a1, $zero ## $s2 = 00000000 -/* 0090C 80B87CDC 31CF001F */ andi $t7, $t6, 0x001F ## $t7 = 00000000 -/* 00910 80B87CE0 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00 -/* 00914 80B87CE4 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44 -/* 00918 80B87CE8 05E10005 */ bgez $t7, .L80B87D00 -/* 0091C 80B87CEC 468021A0 */ cvt.s.w $f6, $f4 -/* 00920 80B87CF0 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000 -/* 00924 80B87CF4 44814000 */ mtc1 $at, $f8 ## $f8 = 4294967296.00 -/* 00928 80B87CF8 00000000 */ nop -/* 0092C 80B87CFC 46083180 */ add.s $f6, $f6, $f8 -.L80B87D00: -/* 00930 80B87D00 E7A6006C */ swc1 $f6, 0x006C($sp) -/* 00934 80B87D04 8623014C */ lh $v1, 0x014C($s1) ## 0000014C -/* 00938 80B87D08 28610020 */ slti $at, $v1, 0x0020 -/* 0093C 80B87D0C 50200026 */ beql $at, $zero, .L80B87DA8 -/* 00940 80B87D10 28610082 */ slti $at, $v1, 0x0082 -/* 00944 80B87D14 C44A09BC */ lwc1 $f10, 0x09BC($v0) ## 000009BC -/* 00948 80B87D18 C4500998 */ lwc1 $f16, 0x0998($v0) ## 00000998 -/* 0094C 80B87D1C 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000 -/* 00950 80B87D20 44810000 */ mtc1 $at, $f0 ## $f0 = 0.50 -/* 00954 80B87D24 46105480 */ add.s $f18, $f10, $f16 -/* 00958 80B87D28 27B90078 */ addiu $t9, $sp, 0x0078 ## $t9 = FFFFFFF0 -/* 0095C 80B87D2C 46009102 */ mul.s $f4, $f18, $f0 -/* 00960 80B87D30 E7A40078 */ swc1 $f4, 0x0078($sp) -/* 00964 80B87D34 C446099C */ lwc1 $f6, 0x099C($v0) ## 0000099C -/* 00968 80B87D38 C44809C0 */ lwc1 $f8, 0x09C0($v0) ## 000009C0 -/* 0096C 80B87D3C 46064280 */ add.s $f10, $f8, $f6 -/* 00970 80B87D40 46005402 */ mul.s $f16, $f10, $f0 -/* 00974 80B87D44 E7B0007C */ swc1 $f16, 0x007C($sp) -/* 00978 80B87D48 C44409A0 */ lwc1 $f4, 0x09A0($v0) ## 000009A0 -/* 0097C 80B87D4C C45209C4 */ lwc1 $f18, 0x09C4($v0) ## 000009C4 -/* 00980 80B87D50 46049200 */ add.s $f8, $f18, $f4 -/* 00984 80B87D54 46004182 */ mul.s $f6, $f8, $f0 -/* 00988 80B87D58 E7A60080 */ swc1 $f6, 0x0080($sp) -/* 0098C 80B87D5C 8623014C */ lh $v1, 0x014C($s1) ## 0000014C -/* 00990 80B87D60 28610015 */ slti $at, $v1, 0x0015 -/* 00994 80B87D64 14200008 */ bne $at, $zero, .L80B87D88 -/* 00998 80B87D68 2478FFEC */ addiu $t8, $v1, 0xFFEC ## $t8 = FFFFFFEC -/* 0099C 80B87D6C 44985000 */ mtc1 $t8, $f10 ## $f10 = NaN -/* 009A0 80B87D70 3C0180B9 */ lui $at, %hi(D_80B88BFC) ## $at = 80B90000 -/* 009A4 80B87D74 C4248BFC */ lwc1 $f4, %lo(D_80B88BFC)($at) -/* 009A8 80B87D78 468054A0 */ cvt.s.w $f18, $f10 -/* 009AC 80B87D7C 46049202 */ mul.s $f8, $f18, $f4 -/* 009B0 80B87D80 46088180 */ add.s $f6, $f16, $f8 -/* 009B4 80B87D84 E7A6007C */ swc1 $f6, 0x007C($sp) -.L80B87D88: -/* 009B8 80B87D88 8F290000 */ lw $t1, 0x0000($t9) ## FFFFFFF0 -/* 009BC 80B87D8C AE290150 */ sw $t1, 0x0150($s1) ## 00000150 -/* 009C0 80B87D90 8F280004 */ lw $t0, 0x0004($t9) ## FFFFFFF4 -/* 009C4 80B87D94 AE280154 */ sw $t0, 0x0154($s1) ## 00000154 -/* 009C8 80B87D98 8F290008 */ lw $t1, 0x0008($t9) ## FFFFFFF8 -/* 009CC 80B87D9C 1000000B */ beq $zero, $zero, .L80B87DCC -/* 009D0 80B87DA0 AE290158 */ sw $t1, 0x0158($s1) ## 00000158 -/* 009D4 80B87DA4 28610082 */ slti $at, $v1, 0x0082 -.L80B87DA8: -/* 009D8 80B87DA8 502000BD */ beql $at, $zero, .L80B880A0 -/* 009DC 80B87DAC 8FBF0024 */ lw $ra, 0x0024($sp) -/* 009E0 80B87DB0 8E2C0150 */ lw $t4, 0x0150($s1) ## 00000150 -/* 009E4 80B87DB4 27AA0078 */ addiu $t2, $sp, 0x0078 ## $t2 = FFFFFFF0 -/* 009E8 80B87DB8 AD4C0000 */ sw $t4, 0x0000($t2) ## FFFFFFF0 -/* 009EC 80B87DBC 8E2B0154 */ lw $t3, 0x0154($s1) ## 00000154 -/* 009F0 80B87DC0 AD4B0004 */ sw $t3, 0x0004($t2) ## FFFFFFF4 -/* 009F4 80B87DC4 8E2C0158 */ lw $t4, 0x0158($s1) ## 00000158 -/* 009F8 80B87DC8 AD4C0008 */ sw $t4, 0x0008($t2) ## FFFFFFF8 -.L80B87DCC: -/* 009FC 80B87DCC 864D07A0 */ lh $t5, 0x07A0($s2) ## 000007A0 -/* 00A00 80B87DD0 000D7080 */ sll $t6, $t5, 2 -/* 00A04 80B87DD4 024E7821 */ addu $t7, $s2, $t6 -/* 00A08 80B87DD8 0C016A73 */ jal func_8005A9CC -/* 00A0C 80B87DDC 8DE40790 */ lw $a0, 0x0790($t7) ## 00000790 -/* 00A10 80B87DE0 00022400 */ sll $a0, $v0, 16 -/* 00A14 80B87DE4 0C01DE0D */ jal Math_Coss - ## coss? -/* 00A18 80B87DE8 00042403 */ sra $a0, $a0, 16 -/* 00A1C 80B87DEC E7A00034 */ swc1 $f0, 0x0034($sp) -/* 00A20 80B87DF0 865807A0 */ lh $t8, 0x07A0($s2) ## 000007A0 -/* 00A24 80B87DF4 0018C880 */ sll $t9, $t8, 2 -/* 00A28 80B87DF8 02594021 */ addu $t0, $s2, $t9 -/* 00A2C 80B87DFC 0C016A7D */ jal func_8005A9F4 -/* 00A30 80B87E00 8D040790 */ lw $a0, 0x0790($t0) ## 00000790 -/* 00A34 80B87E04 00022400 */ sll $a0, $v0, 16 -/* 00A38 80B87E08 0C01DE1C */ jal Math_Sins - ## sins? -/* 00A3C 80B87E0C 00042403 */ sra $a0, $a0, 16 -/* 00A40 80B87E10 3C014396 */ lui $at, 0x4396 ## $at = 43960000 -/* 00A44 80B87E14 44819000 */ mtc1 $at, $f18 ## $f18 = 300.00 -/* 00A48 80B87E18 C62A0050 */ lwc1 $f10, 0x0050($s1) ## 00000050 -/* 00A4C 80B87E1C C7A80034 */ lwc1 $f8, 0x0034($sp) -/* 00A50 80B87E20 46125102 */ mul.s $f4, $f10, $f18 -/* 00A54 80B87E24 C7AA0078 */ lwc1 $f10, 0x0078($sp) -/* 00A58 80B87E28 46002402 */ mul.s $f16, $f4, $f0 -/* 00A5C 80B87E2C 00000000 */ nop -/* 00A60 80B87E30 46088182 */ mul.s $f6, $f16, $f8 -/* 00A64 80B87E34 46065481 */ sub.s $f18, $f10, $f6 -/* 00A68 80B87E38 E7B20078 */ swc1 $f18, 0x0078($sp) -/* 00A6C 80B87E3C 864907A0 */ lh $t1, 0x07A0($s2) ## 000007A0 -/* 00A70 80B87E40 00095080 */ sll $t2, $t1, 2 -/* 00A74 80B87E44 024A5821 */ addu $t3, $s2, $t2 -/* 00A78 80B87E48 0C016A73 */ jal func_8005A9CC -/* 00A7C 80B87E4C 8D640790 */ lw $a0, 0x0790($t3) ## 00000790 -/* 00A80 80B87E50 00022400 */ sll $a0, $v0, 16 -/* 00A84 80B87E54 0C01DE1C */ jal Math_Sins - ## sins? -/* 00A88 80B87E58 00042403 */ sra $a0, $a0, 16 -/* 00A8C 80B87E5C 3C014396 */ lui $at, 0x4396 ## $at = 43960000 -/* 00A90 80B87E60 44818000 */ mtc1 $at, $f16 ## $f16 = 300.00 -/* 00A94 80B87E64 C6240050 */ lwc1 $f4, 0x0050($s1) ## 00000050 -/* 00A98 80B87E68 C7A6007C */ lwc1 $f6, 0x007C($sp) -/* 00A9C 80B87E6C 46102202 */ mul.s $f8, $f4, $f16 -/* 00AA0 80B87E70 00000000 */ nop -/* 00AA4 80B87E74 46004282 */ mul.s $f10, $f8, $f0 -/* 00AA8 80B87E78 460A3481 */ sub.s $f18, $f6, $f10 -/* 00AAC 80B87E7C E7B2007C */ swc1 $f18, 0x007C($sp) -/* 00AB0 80B87E80 864C07A0 */ lh $t4, 0x07A0($s2) ## 000007A0 -/* 00AB4 80B87E84 000C6880 */ sll $t5, $t4, 2 -/* 00AB8 80B87E88 024D7021 */ addu $t6, $s2, $t5 -/* 00ABC 80B87E8C 0C016A73 */ jal func_8005A9CC -/* 00AC0 80B87E90 8DC40790 */ lw $a0, 0x0790($t6) ## 00000790 -/* 00AC4 80B87E94 00022400 */ sll $a0, $v0, 16 -/* 00AC8 80B87E98 0C01DE0D */ jal Math_Coss - ## coss? -/* 00ACC 80B87E9C 00042403 */ sra $a0, $a0, 16 -/* 00AD0 80B87EA0 E7A00034 */ swc1 $f0, 0x0034($sp) -/* 00AD4 80B87EA4 864F07A0 */ lh $t7, 0x07A0($s2) ## 000007A0 -/* 00AD8 80B87EA8 000FC080 */ sll $t8, $t7, 2 -/* 00ADC 80B87EAC 0258C821 */ addu $t9, $s2, $t8 -/* 00AE0 80B87EB0 0C016A7D */ jal func_8005A9F4 -/* 00AE4 80B87EB4 8F240790 */ lw $a0, 0x0790($t9) ## 00000790 -/* 00AE8 80B87EB8 00022400 */ sll $a0, $v0, 16 -/* 00AEC 80B87EBC 0C01DE0D */ jal Math_Coss - ## coss? -/* 00AF0 80B87EC0 00042403 */ sra $a0, $a0, 16 -/* 00AF4 80B87EC4 3C014396 */ lui $at, 0x4396 ## $at = 43960000 -/* 00AF8 80B87EC8 44818000 */ mtc1 $at, $f16 ## $f16 = 300.00 -/* 00AFC 80B87ECC C6240050 */ lwc1 $f4, 0x0050($s1) ## 00000050 -/* 00B00 80B87ED0 C7AA0034 */ lwc1 $f10, 0x0034($sp) -/* 00B04 80B87ED4 3C0680B9 */ lui $a2, %hi(D_80B88B5C) ## $a2 = 80B90000 -/* 00B08 80B87ED8 46102202 */ mul.s $f8, $f4, $f16 -/* 00B0C 80B87EDC C7A40080 */ lwc1 $f4, 0x0080($sp) -/* 00B10 80B87EE0 24C68B5C */ addiu $a2, $a2, %lo(D_80B88B5C) ## $a2 = 80B88B5C -/* 00B14 80B87EE4 27A40058 */ addiu $a0, $sp, 0x0058 ## $a0 = FFFFFFD0 -/* 00B18 80B87EE8 2407026B */ addiu $a3, $zero, 0x026B ## $a3 = 0000026B -/* 00B1C 80B87EEC 46004182 */ mul.s $f6, $f8, $f0 -/* 00B20 80B87EF0 00000000 */ nop -/* 00B24 80B87EF4 460A3482 */ mul.s $f18, $f6, $f10 -/* 00B28 80B87EF8 46122401 */ sub.s $f16, $f4, $f18 -/* 00B2C 80B87EFC E7B00080 */ swc1 $f16, 0x0080($sp) -/* 00B30 80B87F00 8E450000 */ lw $a1, 0x0000($s2) ## 00000000 -/* 00B34 80B87F04 0C031AB1 */ jal Graph_OpenDisps -/* 00B38 80B87F08 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000 -/* 00B3C 80B87F0C 0C024F61 */ jal func_80093D84 -/* 00B40 80B87F10 8E440000 */ lw $a0, 0x0000($s2) ## 00000000 -/* 00B44 80B87F14 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00B48 80B87F18 3C09FA00 */ lui $t1, 0xFA00 ## $t1 = FA000000 -/* 00B4C 80B87F1C 3C0AAAFF */ lui $t2, 0xAAFF ## $t2 = AAFF0000 -/* 00B50 80B87F20 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008 -/* 00B54 80B87F24 AE0802D0 */ sw $t0, 0x02D0($s0) ## 000002D0 -/* 00B58 80B87F28 354AFFFF */ ori $t2, $t2, 0xFFFF ## $t2 = AAFFFFFF -/* 00B5C 80B87F2C 35290080 */ ori $t1, $t1, 0x0080 ## $t1 = FA000080 -/* 00B60 80B87F30 AC490000 */ sw $t1, 0x0000($v0) ## 00000000 -/* 00B64 80B87F34 AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004 -/* 00B68 80B87F38 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00B6C 80B87F3C 3C0D0096 */ lui $t5, 0x0096 ## $t5 = 00960000 -/* 00B70 80B87F40 35ADFFFF */ ori $t5, $t5, 0xFFFF ## $t5 = 0096FFFF -/* 00B74 80B87F44 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 00B78 80B87F48 AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0 -/* 00B7C 80B87F4C 3C0CFB00 */ lui $t4, 0xFB00 ## $t4 = FB000000 -/* 00B80 80B87F50 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000 -/* 00B84 80B87F54 AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004 -/* 00B88 80B87F58 8FA60080 */ lw $a2, 0x0080($sp) -/* 00B8C 80B87F5C C7AE007C */ lwc1 $f14, 0x007C($sp) -/* 00B90 80B87F60 C7AC0078 */ lwc1 $f12, 0x0078($sp) -/* 00B94 80B87F64 0C034261 */ jal Matrix_Translate -/* 00B98 80B87F68 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 00B9C 80B87F6C C62C0050 */ lwc1 $f12, 0x0050($s1) ## 00000050 -/* 00BA0 80B87F70 C62E0054 */ lwc1 $f14, 0x0054($s1) ## 00000054 -/* 00BA4 80B87F74 8E260058 */ lw $a2, 0x0058($s1) ## 00000058 -/* 00BA8 80B87F78 0C0342A3 */ jal Matrix_Scale -/* 00BAC 80B87F7C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 00BB0 80B87F80 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00BB4 80B87F84 34211DA0 */ ori $at, $at, 0x1DA0 ## $at = 00011DA0 -/* 00BB8 80B87F88 02412021 */ addu $a0, $s2, $at -/* 00BBC 80B87F8C 0C03424C */ jal Matrix_Mult -/* 00BC0 80B87F90 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 00BC4 80B87F94 0C034213 */ jal Matrix_Push -/* 00BC8 80B87F98 00000000 */ nop -/* 00BCC 80B87F9C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00BD0 80B87FA0 3C0FDA38 */ lui $t7, 0xDA38 ## $t7 = DA380000 -/* 00BD4 80B87FA4 35EF0003 */ ori $t7, $t7, 0x0003 ## $t7 = DA380003 -/* 00BD8 80B87FA8 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 00BDC 80B87FAC AE0E02D0 */ sw $t6, 0x02D0($s0) ## 000002D0 -/* 00BE0 80B87FB0 3C0580B9 */ lui $a1, %hi(D_80B88B70) ## $a1 = 80B90000 -/* 00BE4 80B87FB4 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 00BE8 80B87FB8 8E440000 */ lw $a0, 0x0000($s2) ## 00000000 -/* 00BEC 80B87FBC 24A58B70 */ addiu $a1, $a1, %lo(D_80B88B70) ## $a1 = 80B88B70 -/* 00BF0 80B87FC0 24060278 */ addiu $a2, $zero, 0x0278 ## $a2 = 00000278 -/* 00BF4 80B87FC4 0C0346A2 */ jal Matrix_NewMtx -/* 00BF8 80B87FC8 00408825 */ or $s1, $v0, $zero ## $s1 = 00000000 -/* 00BFC 80B87FCC AE220004 */ sw $v0, 0x0004($s1) ## 00000004 -/* 00C00 80B87FD0 3C0180B9 */ lui $at, %hi(D_80B88C00) ## $at = 80B90000 -/* 00C04 80B87FD4 C4268C00 */ lwc1 $f6, %lo(D_80B88C00)($at) -/* 00C08 80B87FD8 C7A8006C */ lwc1 $f8, 0x006C($sp) -/* 00C0C 80B87FDC 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 00C10 80B87FE0 46064302 */ mul.s $f12, $f8, $f6 -/* 00C14 80B87FE4 0C0343B5 */ jal Matrix_RotateZ -/* 00C18 80B87FE8 00000000 */ nop -/* 00C1C 80B87FEC 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00C20 80B87FF0 3C040401 */ lui $a0, 0x0401 ## $a0 = 04010000 -/* 00C24 80B87FF4 24840130 */ addiu $a0, $a0, 0x0130 ## $a0 = 04010130 -/* 00C28 80B87FF8 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 00C2C 80B87FFC AE1802D0 */ sw $t8, 0x02D0($s0) ## 000002D0 -/* 00C30 80B88000 3C19DE00 */ lui $t9, 0xDE00 ## $t9 = DE000000 -/* 00C34 80B88004 AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 00C38 80B88008 AC440004 */ sw $a0, 0x0004($v0) ## 00000004 -/* 00C3C 80B8800C 0C034221 */ jal Matrix_Pull -/* 00C40 80B88010 AFA4002C */ sw $a0, 0x002C($sp) -/* 00C44 80B88014 C7AA006C */ lwc1 $f10, 0x006C($sp) -/* 00C48 80B88018 3C0180B9 */ lui $at, %hi(D_80B88C04) ## $at = 80B90000 -/* 00C4C 80B8801C C4328C04 */ lwc1 $f18, %lo(D_80B88C04)($at) -/* 00C50 80B88020 46005107 */ neg.s $f4, $f10 -/* 00C54 80B88024 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 00C58 80B88028 46122302 */ mul.s $f12, $f4, $f18 -/* 00C5C 80B8802C 0C0343B5 */ jal Matrix_RotateZ -/* 00C60 80B88030 00000000 */ nop -/* 00C64 80B88034 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00C68 80B88038 3C09DA38 */ lui $t1, 0xDA38 ## $t1 = DA380000 -/* 00C6C 80B8803C 35290003 */ ori $t1, $t1, 0x0003 ## $t1 = DA380003 -/* 00C70 80B88040 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008 -/* 00C74 80B88044 AE0802D0 */ sw $t0, 0x02D0($s0) ## 000002D0 -/* 00C78 80B88048 3C0580B9 */ lui $a1, %hi(D_80B88B84) ## $a1 = 80B90000 -/* 00C7C 80B8804C AC490000 */ sw $t1, 0x0000($v0) ## 00000000 -/* 00C80 80B88050 8E440000 */ lw $a0, 0x0000($s2) ## 00000000 -/* 00C84 80B88054 24A58B84 */ addiu $a1, $a1, %lo(D_80B88B84) ## $a1 = 80B88B84 -/* 00C88 80B88058 2406027F */ addiu $a2, $zero, 0x027F ## $a2 = 0000027F -/* 00C8C 80B8805C 0C0346A2 */ jal Matrix_NewMtx -/* 00C90 80B88060 00408825 */ or $s1, $v0, $zero ## $s1 = 00000000 -/* 00C94 80B88064 AE220004 */ sw $v0, 0x0004($s1) ## 00000004 -/* 00C98 80B88068 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0 -/* 00C9C 80B8806C 3C0BDE00 */ lui $t3, 0xDE00 ## $t3 = DE000000 -/* 00CA0 80B88070 3C0680B9 */ lui $a2, %hi(D_80B88B98) ## $a2 = 80B90000 -/* 00CA4 80B88074 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008 -/* 00CA8 80B88078 AE0A02D0 */ sw $t2, 0x02D0($s0) ## 000002D0 -/* 00CAC 80B8807C AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000 -/* 00CB0 80B88080 8FAC002C */ lw $t4, 0x002C($sp) -/* 00CB4 80B88084 24C68B98 */ addiu $a2, $a2, %lo(D_80B88B98) ## $a2 = 80B88B98 -/* 00CB8 80B88088 27A40058 */ addiu $a0, $sp, 0x0058 ## $a0 = FFFFFFD0 -/* 00CBC 80B8808C AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004 -/* 00CC0 80B88090 8E450000 */ lw $a1, 0x0000($s2) ## 00000000 -/* 00CC4 80B88094 0C031AD5 */ jal Graph_CloseDisps -/* 00CC8 80B88098 24070283 */ addiu $a3, $zero, 0x0283 ## $a3 = 00000283 -/* 00CCC 80B8809C 8FBF0024 */ lw $ra, 0x0024($sp) -.L80B880A0: -/* 00CD0 80B880A0 8FB00018 */ lw $s0, 0x0018($sp) -/* 00CD4 80B880A4 8FB1001C */ lw $s1, 0x001C($sp) -/* 00CD8 80B880A8 8FB20020 */ lw $s2, 0x0020($sp) -/* 00CDC 80B880AC 03E00008 */ jr $ra -/* 00CE0 80B880B0 27BD0088 */ addiu $sp, $sp, 0x0088 ## $sp = 00000000 -/* 00CE4 80B880B4 00000000 */ nop -/* 00CE8 80B880B8 00000000 */ nop -/* 00CEC 80B880BC 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Magic_Dark/func_80B874E4.s b/asm/non_matchings/overlays/actors/ovl_Magic_Dark/func_80B874E4.s deleted file mode 100644 index 05864e67e9..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Magic_Dark/func_80B874E4.s +++ /dev/null @@ -1,178 +0,0 @@ -.late_rodata -glabel D_80B88BBC - .float 0.03 - -glabel D_80B88BC0 - .float 1.6 - -glabel D_80B88BC4 - .float 0.01 - -glabel D_80B88BC8 - .float 0.8 - -glabel D_80B88BCC - .float 1.3 - -.text -glabel func_80B874E4 -/* 00114 80B874E4 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 00118 80B874E8 3C020001 */ lui $v0, 0x0001 ## $v0 = 00010000 -/* 0011C 80B874EC AFBF0014 */ sw $ra, 0x0014($sp) -/* 00120 80B874F0 00451021 */ addu $v0, $v0, $a1 -/* 00124 80B874F4 904203DC */ lbu $v0, 0x03DC($v0) ## 000103DC -/* 00128 80B874F8 3C088016 */ lui $t0, %hi(gSaveContext) -/* 0012C 80B874FC 2508E660 */ addiu $t0, %lo(gSaveContext) -/* 00130 80B87500 2409000D */ addiu $t1, $zero, 0x000D ## $t1 = 0000000D -/* 00134 80B87504 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 00138 80B87508 8CA71C44 */ lw $a3, 0x1C44($a1) ## 00001C44 -/* 0013C 80B8750C 10490004 */ beq $v0, $t1, .L80B87520 -/* 00140 80B87510 850313C8 */ lh $v1, 0x13C8($t0) ## 8015FA28 -/* 00144 80B87514 24010011 */ addiu $at, $zero, 0x0011 ## $at = 00000011 -/* 00148 80B87518 54410006 */ bnel $v0, $at, .L80B87534 -/* 0014C 80B8751C 286104B0 */ slti $at, $v1, 0x04B0 -.L80B87520: -/* 00150 80B87520 0C00B55C */ jal Actor_Kill - -/* 00154 80B87524 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000 -/* 00158 80B87528 1000007D */ beq $zero, $zero, .L80B87720 -/* 0015C 80B8752C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00160 80B87530 286104B0 */ slti $at, $v1, 0x04B0 -.L80B87534: -/* 00164 80B87534 14200007 */ bne $at, $zero, .L80B87554 -/* 00168 80B87538 240EFF9C */ addiu $t6, $zero, 0xFF9C ## $t6 = FFFFFF9C -/* 0016C 80B8753C A0E00A78 */ sb $zero, 0x0A78($a3) ## 00000A78 -/* 00170 80B87540 A50013C8 */ sh $zero, 0x13C8($t0) ## 000013C8 -/* 00174 80B87544 0C00B55C */ jal Actor_Kill - -/* 00178 80B87548 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000 -/* 0017C 80B8754C 10000074 */ beq $zero, $zero, .L80B87720 -/* 00180 80B87550 8FBF0014 */ lw $ra, 0x0014($sp) -.L80B87554: -/* 00184 80B87554 A0EE0A78 */ sb $t6, 0x0A78($a3) ## 00000A78 -/* 00188 80B87558 84C2014C */ lh $v0, 0x014C($a2) ## 0000014C -/* 0018C 80B8755C C4C0015C */ lwc1 $f0, 0x015C($a2) ## 0000015C -/* 00190 80B87560 240400FF */ addiu $a0, $zero, 0x00FF ## $a0 = 000000FF -/* 00194 80B87564 28410014 */ slti $at, $v0, 0x0014 -/* 00198 80B87568 E4C00058 */ swc1 $f0, 0x0058($a2) ## 00000058 -/* 0019C 80B8756C 1020001B */ beq $at, $zero, .L80B875DC -/* 001A0 80B87570 E4C00050 */ swc1 $f0, 0x0050($a2) ## 00000050 -/* 001A4 80B87574 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00 -/* 001A8 80B87578 3C0180B9 */ lui $at, %hi(D_80B88BBC) ## $at = 80B90000 -/* 001AC 80B8757C C4288BBC */ lwc1 $f8, %lo(D_80B88BBC)($at) -/* 001B0 80B87580 468021A0 */ cvt.s.w $f6, $f4 -/* 001B4 80B87584 3C0180B9 */ lui $at, %hi(D_80B88BC0) ## $at = 80B90000 -/* 001B8 80B87588 C4308BC0 */ lwc1 $f16, %lo(D_80B88BC0)($at) -/* 001BC 80B8758C C4C4015C */ lwc1 $f4, 0x015C($a2) ## 0000015C -/* 001C0 80B87590 84CF014C */ lh $t7, 0x014C($a2) ## 0000014C -/* 001C4 80B87594 3C0180B9 */ lui $at, %hi(D_80B88BC4) ## $at = 80B90000 -/* 001C8 80B87598 46083282 */ mul.s $f10, $f6, $f8 -/* 001CC 80B8759C 448F3000 */ mtc1 $t7, $f6 ## $f6 = 0.00 -/* 001D0 80B875A0 00000000 */ nop -/* 001D4 80B875A4 46803220 */ cvt.s.w $f8, $f6 -/* 001D8 80B875A8 C4C6015C */ lwc1 $f6, 0x015C($a2) ## 0000015C -/* 001DC 80B875AC 460A8481 */ sub.s $f18, $f16, $f10 -/* 001E0 80B875B0 46049002 */ mul.s $f0, $f18, $f4 -/* 001E4 80B875B4 E4C00058 */ swc1 $f0, 0x0058($a2) ## 00000058 -/* 001E8 80B875B8 E4C00050 */ swc1 $f0, 0x0050($a2) ## 00000050 -/* 001EC 80B875BC C4308BC4 */ lwc1 $f16, %lo(D_80B88BC4)($at) -/* 001F0 80B875C0 3C0180B9 */ lui $at, %hi(D_80B88BC8) ## $at = 80B90000 -/* 001F4 80B875C4 C4328BC8 */ lwc1 $f18, %lo(D_80B88BC8)($at) -/* 001F8 80B875C8 46104282 */ mul.s $f10, $f8, $f16 -/* 001FC 80B875CC 46125100 */ add.s $f4, $f10, $f18 -/* 00200 80B875D0 46062202 */ mul.s $f8, $f4, $f6 -/* 00204 80B875D4 10000006 */ beq $zero, $zero, .L80B875F0 -/* 00208 80B875D8 E4C80054 */ swc1 $f8, 0x0054($a2) ## 00000054 -.L80B875DC: -/* 0020C 80B875DC C4C0015C */ lwc1 $f0, 0x015C($a2) ## 0000015C -/* 00210 80B875E0 C4D0015C */ lwc1 $f16, 0x015C($a2) ## 0000015C -/* 00214 80B875E4 E4C00058 */ swc1 $f0, 0x0058($a2) ## 00000058 -/* 00218 80B875E8 E4C00050 */ swc1 $f0, 0x0050($a2) ## 00000050 -/* 0021C 80B875EC E4D00054 */ swc1 $f16, 0x0054($a2) ## 00000054 -.L80B875F0: -/* 00220 80B875F0 3C0180B9 */ lui $at, %hi(D_80B88BCC) ## $at = 80B90000 -/* 00224 80B875F4 C4208BCC */ lwc1 $f0, %lo(D_80B88BCC)($at) -/* 00228 80B875F8 C4CA0050 */ lwc1 $f10, 0x0050($a2) ## 00000050 -/* 0022C 80B875FC C4C40058 */ lwc1 $f4, 0x0058($a2) ## 00000058 -/* 00230 80B87600 84C2014C */ lh $v0, 0x014C($a2) ## 0000014C -/* 00234 80B87604 46005482 */ mul.s $f18, $f10, $f0 -/* 00238 80B87608 28410014 */ slti $at, $v0, 0x0014 -/* 0023C 80B8760C 46002182 */ mul.s $f6, $f4, $f0 -/* 00240 80B87610 E4D20050 */ swc1 $f18, 0x0050($a2) ## 00000050 -/* 00244 80B87614 10200006 */ beq $at, $zero, .L80B87630 -/* 00248 80B87618 E4C60058 */ swc1 $f6, 0x0058($a2) ## 00000058 -/* 0024C 80B8761C 00022080 */ sll $a0, $v0, 2 -/* 00250 80B87620 00822023 */ subu $a0, $a0, $v0 -/* 00254 80B87624 00042080 */ sll $a0, $a0, 2 -/* 00258 80B87628 10000001 */ beq $zero, $zero, .L80B87630 -/* 0025C 80B8762C 308400FF */ andi $a0, $a0, 0x00FF ## $a0 = 000000FF -.L80B87630: -/* 00260 80B87630 2861049C */ slti $at, $v1, 0x049C -/* 00264 80B87634 5420000D */ bnel $at, $zero, .L80B8766C -/* 00268 80B87638 2861044C */ slti $at, $v1, 0x044C -/* 0026C 80B8763C 00690019 */ multu $v1, $t1 -/* 00270 80B87640 24193CEB */ addiu $t9, $zero, 0x3CEB ## $t9 = 00003CEB -/* 00274 80B87644 306B0001 */ andi $t3, $v1, 0x0001 ## $t3 = 00000000 -/* 00278 80B87648 0000C012 */ mflo $t8 -/* 0027C 80B8764C 03385023 */ subu $t2, $t9, $t8 -/* 00280 80B87650 1160000D */ beq $t3, $zero, .L80B87688 -/* 00284 80B87654 A0CA014E */ sb $t2, 0x014E($a2) ## 0000014E -/* 00288 80B87658 314C00FF */ andi $t4, $t2, 0x00FF ## $t4 = 00000000 -/* 0028C 80B8765C 000C6843 */ sra $t5, $t4, 1 -/* 00290 80B87660 10000009 */ beq $zero, $zero, .L80B87688 -/* 00294 80B87664 A0CD014E */ sb $t5, 0x014E($a2) ## 0000014E -/* 00298 80B87668 2861044C */ slti $at, $v1, 0x044C -.L80B8766C: -/* 0029C 80B8766C 14200005 */ bne $at, $zero, .L80B87684 -/* 002A0 80B87670 241800FF */ addiu $t8, $zero, 0x00FF ## $t8 = 000000FF -/* 002A4 80B87674 000379C0 */ sll $t7, $v1, 7 -/* 002A8 80B87678 25F9007F */ addiu $t9, $t7, 0x007F ## $t9 = 0000007F -/* 002AC 80B8767C 10000002 */ beq $zero, $zero, .L80B87688 -/* 002B0 80B87680 A0D9014E */ sb $t9, 0x014E($a2) ## 0000014E -.L80B87684: -/* 002B4 80B87684 A0D8014E */ sb $t8, 0x014E($a2) ## 0000014E -.L80B87688: -/* 002B8 80B87688 90CA014E */ lbu $t2, 0x014E($a2) ## 0000014E -/* 002BC 80B8768C 008A082A */ slt $at, $a0, $t2 -/* 002C0 80B87690 50200003 */ beql $at, $zero, .L80B876A0 -/* 002C4 80B87694 84CB0032 */ lh $t3, 0x0032($a2) ## 00000032 -/* 002C8 80B87698 A0C4014E */ sb $a0, 0x014E($a2) ## 0000014E -/* 002CC 80B8769C 84CB0032 */ lh $t3, 0x0032($a2) ## 00000032 -.L80B876A0: -/* 002D0 80B876A0 256C03E8 */ addiu $t4, $t3, 0x03E8 ## $t4 = 000003E8 -/* 002D4 80B876A4 A4CC0032 */ sh $t4, 0x0032($a2) ## 00000032 -/* 002D8 80B876A8 84AD07A0 */ lh $t5, 0x07A0($a1) ## 000007A0 -/* 002DC 80B876AC 000D7080 */ sll $t6, $t5, 2 -/* 002E0 80B876B0 00AE7821 */ addu $t7, $a1, $t6 -/* 002E4 80B876B4 8DE40790 */ lw $a0, 0x0790($t7) ## 00000790 -/* 002E8 80B876B8 AFA60028 */ sw $a2, 0x0028($sp) -/* 002EC 80B876BC 0C016A7D */ jal func_8005A9F4 -/* 002F0 80B876C0 A7A30018 */ sh $v1, 0x0018($sp) -/* 002F4 80B876C4 8FA60028 */ lw $a2, 0x0028($sp) -/* 002F8 80B876C8 87A30018 */ lh $v1, 0x0018($sp) -/* 002FC 80B876CC 3C088016 */ lui $t0, %hi(gSaveContext) -/* 00300 80B876D0 84D90032 */ lh $t9, 0x0032($a2) ## 00000032 -/* 00304 80B876D4 84CA014C */ lh $t2, 0x014C($a2) ## 0000014C -/* 00308 80B876D8 2508E660 */ addiu $t0, %lo(gSaveContext) -/* 0030C 80B876DC 0059C021 */ addu $t8, $v0, $t9 -/* 00310 80B876E0 254B0001 */ addiu $t3, $t2, 0x0001 ## $t3 = 00000001 -/* 00314 80B876E4 A4D800B6 */ sh $t8, 0x00B6($a2) ## 000000B6 -/* 00318 80B876E8 A4CB014C */ sh $t3, 0x014C($a2) ## 0000014C -/* 0031C 80B876EC 246C0001 */ addiu $t4, $v1, 0x0001 ## $t4 = 00000001 -/* 00320 80B876F0 2861044C */ slti $at, $v1, 0x044C -/* 00324 80B876F4 10200006 */ beq $at, $zero, .L80B87710 -/* 00328 80B876F8 A50C13C8 */ sh $t4, 0x13C8($t0) ## 8015FA28 -/* 0032C 80B876FC 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000 -/* 00330 80B87700 0C00BE5D */ jal func_8002F974 -/* 00334 80B87704 2405007C */ addiu $a1, $zero, 0x007C ## $a1 = 0000007C -/* 00338 80B87708 10000005 */ beq $zero, $zero, .L80B87720 -/* 0033C 80B8770C 8FBF0014 */ lw $ra, 0x0014($sp) -.L80B87710: -/* 00340 80B87710 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000 -/* 00344 80B87714 0C00BE5D */ jal func_8002F974 -/* 00348 80B87718 240500C0 */ addiu $a1, $zero, 0x00C0 ## $a1 = 000000C0 -/* 0034C 80B8771C 8FBF0014 */ lw $ra, 0x0014($sp) -.L80B87720: -/* 00350 80B87720 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 00354 80B87724 03E00008 */ jr $ra -/* 00358 80B87728 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Magic_Dark/func_80B8772C.s b/asm/non_matchings/overlays/actors/ovl_Magic_Dark/func_80B8772C.s deleted file mode 100644 index 3f701fe589..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Magic_Dark/func_80B8772C.s +++ /dev/null @@ -1,100 +0,0 @@ -.late_rodata -glabel D_80B88BD0 - .float 0.2 - -glabel D_80B88BD4 - .word 0x44548000 - -.text -glabel func_80B8772C -/* 0035C 80B8772C 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00360 80B87730 00811021 */ addu $v0, $a0, $at -/* 00364 80B87734 904E1CBF */ lbu $t6, 0x1CBF($v0) ## 00001CBF -/* 00368 80B87738 44856000 */ mtc1 $a1, $f12 ## $f12 = 0.00 -/* 0036C 80B8773C 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005 -/* 00370 80B87740 11C1004B */ beq $t6, $at, .L80B87870 -/* 00374 80B87744 00000000 */ nop -/* 00378 80B87748 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00 -/* 0037C 80B8774C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00380 80B87750 44817000 */ mtc1 $at, $f14 ## $f14 = 1.00 -/* 00384 80B87754 4602603C */ c.lt.s $f12, $f2 -/* 00388 80B87758 3C0180B9 */ lui $at, %hi(D_80B88BD0) ## $at = 80B90000 -/* 0038C 80B8775C 45020003 */ bc1fl .L80B8776C -/* 00390 80B87760 460C703C */ c.lt.s $f14, $f12 -/* 00394 80B87764 46001306 */ mov.s $f12, $f2 -/* 00398 80B87768 460C703C */ c.lt.s $f14, $f12 -.L80B8776C: -/* 0039C 80B8776C 00000000 */ nop -/* 003A0 80B87770 45000002 */ bc1f .L80B8777C -/* 003A4 80B87774 00000000 */ nop -/* 003A8 80B87778 46007306 */ mov.s $f12, $f14 -.L80B8777C: -/* 003AC 80B8777C C4308BD0 */ lwc1 $f16, %lo(D_80B88BD0)($at) -/* 003B0 80B87780 4610603C */ c.lt.s $f12, $f16 -/* 003B4 80B87784 46106001 */ sub.s $f0, $f12, $f16 -/* 003B8 80B87788 45020003 */ bc1fl .L80B87798 -/* 003BC 80B8778C 844F0AF6 */ lh $t7, 0x0AF6($v0) ## 00000AF6 -/* 003C0 80B87790 46001006 */ mov.s $f0, $f2 -/* 003C4 80B87794 844F0AF6 */ lh $t7, 0x0AF6($v0) ## 00000AF6 -.L80B87798: -/* 003C8 80B87798 3C0180B9 */ lui $at, %hi(D_80B88BD4) ## $at = 80B90000 -/* 003CC 80B8779C C4248BD4 */ lwc1 $f4, %lo(D_80B88BD4)($at) -/* 003D0 80B877A0 448F3000 */ mtc1 $t7, $f6 ## $f6 = 0.00 -/* 003D4 80B877A4 46026032 */ c.eq.s $f12, $f2 -/* 003D8 80B877A8 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 003DC 80B877AC 46803220 */ cvt.s.w $f8, $f6 -/* 003E0 80B877B0 00240821 */ addu $at, $at, $a0 -/* 003E4 80B877B4 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -/* 003E8 80B877B8 46082281 */ sub.s $f10, $f4, $f8 -/* 003EC 80B877BC 46005482 */ mul.s $f18, $f10, $f0 -/* 003F0 80B877C0 4600918D */ trunc.w.s $f6, $f18 -/* 003F4 80B877C4 44193000 */ mfc1 $t9, $f6 -/* 003F8 80B877C8 4500000B */ bc1f .L80B877F8 -/* 003FC 80B877CC A4390AC2 */ sh $t9, 0x0AC2($at) ## 00010AC2 -/* 00400 80B877D0 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00404 80B877D4 00811821 */ addu $v1, $a0, $at -/* 00408 80B877D8 24040003 */ addiu $a0, $zero, 0x0003 ## $a0 = 00000003 -/* 0040C 80B877DC 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L80B877E0: -/* 00410 80B877E0 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001 -/* 00414 80B877E4 24630002 */ addiu $v1, $v1, 0x0002 ## $v1 = 00000002 -/* 00418 80B877E8 1444FFFD */ bne $v0, $a0, .L80B877E0 -/* 0041C 80B877EC A4600ABA */ sh $zero, 0x0ABA($v1) ## 00000ABC -/* 00420 80B877F0 03E00008 */ jr $ra -/* 00424 80B877F4 00000000 */ nop -.L80B877F8: -/* 00428 80B877F8 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000 -/* 0042C 80B877FC 44812000 */ mtc1 $at, $f4 ## $f4 = 5.00 -/* 00430 80B87800 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00434 80B87804 00811821 */ addu $v1, $a0, $at -/* 00438 80B87808 46046002 */ mul.s $f0, $f12, $f4 -/* 0043C 80B8780C 00812821 */ addu $a1, $a0, $at -/* 00440 80B87810 24040003 */ addiu $a0, $zero, 0x0003 ## $a0 = 00000003 -/* 00444 80B87814 4600703C */ c.lt.s $f14, $f0 -/* 00448 80B87818 00000000 */ nop -/* 0044C 80B8781C 45000002 */ bc1f .L80B87828 -/* 00450 80B87820 00000000 */ nop -/* 00454 80B87824 46007006 */ mov.s $f0, $f14 -.L80B87828: -/* 00458 80B87828 90A80AF3 */ lbu $t0, 0x0AF3($a1) ## 00000AF3 -/* 0045C 80B8782C 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000 -/* 00460 80B87830 44884000 */ mtc1 $t0, $f8 ## $f8 = 0.00 -/* 00464 80B87834 05010004 */ bgez $t0, .L80B87848 -/* 00468 80B87838 468042A0 */ cvt.s.w $f10, $f8 -/* 0046C 80B8783C 44819000 */ mtc1 $at, $f18 ## $f18 = 4294967296.00 -/* 00470 80B87840 00000000 */ nop -/* 00474 80B87844 46125280 */ add.s $f10, $f10, $f18 -.L80B87848: -/* 00478 80B87848 46005182 */ mul.s $f6, $f10, $f0 -/* 0047C 80B8784C 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000002 -/* 00480 80B87850 24630002 */ addiu $v1, $v1, 0x0002 ## $v1 = 00000004 -/* 00484 80B87854 24A50001 */ addiu $a1, $a1, 0x0001 ## $a1 = 00000001 -/* 00488 80B87858 4600310D */ trunc.w.s $f4, $f6 -/* 0048C 80B8785C 440C2000 */ mfc1 $t4, $f4 -/* 00490 80B87860 00000000 */ nop -/* 00494 80B87864 000C6823 */ subu $t5, $zero, $t4 -/* 00498 80B87868 1444FFEF */ bne $v0, $a0, .L80B87828 -/* 0049C 80B8786C A46D0ABA */ sh $t5, 0x0ABA($v1) ## 00000ABE -.L80B87870: -/* 004A0 80B87870 03E00008 */ jr $ra -/* 004A4 80B87874 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Magic_Dark/func_80B87A18.s b/asm/non_matchings/overlays/actors/ovl_Magic_Dark/func_80B87A18.s deleted file mode 100644 index e1a3f67ae9..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Magic_Dark/func_80B87A18.s +++ /dev/null @@ -1,195 +0,0 @@ -.rdata -glabel D_80B88B20 - .asciz "../z_magic_dark.c" - .balign 4 - -glabel D_80B88B34 - .asciz "../z_magic_dark.c" - .balign 4 - -glabel D_80B88B48 - .asciz "../z_magic_dark.c" - .balign 4 - -.late_rodata -glabel D_80B88BF4 - .float 9.58738019108e-05 - -glabel D_80B88BF8 - .float 0.6 - -.text -glabel func_80B87A18 -/* 00648 80B87A18 27BDFF70 */ addiu $sp, $sp, 0xFF70 ## $sp = FFFFFF70 -/* 0064C 80B87A1C 3C0E0001 */ lui $t6, 0x0001 ## $t6 = 00010000 -/* 00650 80B87A20 AFBF0044 */ sw $ra, 0x0044($sp) -/* 00654 80B87A24 AFB20040 */ sw $s2, 0x0040($sp) -/* 00658 80B87A28 AFB1003C */ sw $s1, 0x003C($sp) -/* 0065C 80B87A2C AFB00038 */ sw $s0, 0x0038($sp) -/* 00660 80B87A30 01C57021 */ addu $t6, $t6, $a1 -/* 00664 80B87A34 8DCE1DE4 */ lw $t6, 0x1DE4($t6) ## 00011DE4 -/* 00668 80B87A38 00A09025 */ or $s2, $a1, $zero ## $s2 = 00000000 -/* 0066C 80B87A3C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00670 80B87A40 A7AE0086 */ sh $t6, 0x0086($sp) -/* 00674 80B87A44 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000 -/* 00678 80B87A48 3C0680B9 */ lui $a2, %hi(D_80B88B20) ## $a2 = 80B90000 -/* 0067C 80B87A4C 24C68B20 */ addiu $a2, $a2, %lo(D_80B88B20) ## $a2 = 80B88B20 -/* 00680 80B87A50 27A40070 */ addiu $a0, $sp, 0x0070 ## $a0 = FFFFFFE0 -/* 00684 80B87A54 2407020D */ addiu $a3, $zero, 0x020D ## $a3 = 0000020D -/* 00688 80B87A58 0C031AB1 */ jal Graph_OpenDisps -/* 0068C 80B87A5C 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 00690 80B87A60 0C024F61 */ jal func_80093D84 -/* 00694 80B87A64 8E440000 */ lw $a0, 0x0000($s2) ## 00000000 -/* 00698 80B87A68 8E421C44 */ lw $v0, 0x1C44($s2) ## 00001C44 -/* 0069C 80B87A6C C60E0028 */ lwc1 $f14, 0x0028($s0) ## 00000028 -/* 006A0 80B87A70 3C01C000 */ lui $at, 0xC000 ## $at = C0000000 -/* 006A4 80B87A74 C4440908 */ lwc1 $f4, 0x0908($v0) ## 00000908 -/* 006A8 80B87A78 44814000 */ mtc1 $at, $f8 ## $f8 = -2.00 -/* 006AC 80B87A7C 3C014000 */ lui $at, 0x4000 ## $at = 40000000 -/* 006B0 80B87A80 E6040024 */ swc1 $f4, 0x0024($s0) ## 00000024 -/* 006B4 80B87A84 C4460910 */ lwc1 $f6, 0x0910($v0) ## 00000910 -/* 006B8 80B87A88 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 006BC 80B87A8C E606002C */ swc1 $f6, 0x002C($s0) ## 0000002C -/* 006C0 80B87A90 C440090C */ lwc1 $f0, 0x090C($v0) ## 0000090C -/* 006C4 80B87A94 460E0081 */ sub.s $f2, $f0, $f14 -/* 006C8 80B87A98 4608103C */ c.lt.s $f2, $f8 -/* 006CC 80B87A9C 00000000 */ nop -/* 006D0 80B87AA0 45020009 */ bc1fl .L80B87AC8 -/* 006D4 80B87AA4 44816000 */ mtc1 $at, $f12 ## $f12 = 2.00 -/* 006D8 80B87AA8 3C014000 */ lui $at, 0x4000 ## $at = 40000000 -/* 006DC 80B87AAC 44816000 */ mtc1 $at, $f12 ## $f12 = 2.00 -/* 006E0 80B87AB0 00000000 */ nop -/* 006E4 80B87AB4 460C0280 */ add.s $f10, $f0, $f12 -/* 006E8 80B87AB8 E60A0028 */ swc1 $f10, 0x0028($s0) ## 00000028 -/* 006EC 80B87ABC 1000000A */ beq $zero, $zero, .L80B87AE8 -/* 006F0 80B87AC0 C60E0028 */ lwc1 $f14, 0x0028($s0) ## 00000028 -/* 006F4 80B87AC4 44816000 */ mtc1 $at, $f12 ## $f12 = 2.00 -.L80B87AC8: -/* 006F8 80B87AC8 00000000 */ nop -/* 006FC 80B87ACC 4602603C */ c.lt.s $f12, $f2 -/* 00700 80B87AD0 00000000 */ nop -/* 00704 80B87AD4 45020005 */ bc1fl .L80B87AEC -/* 00708 80B87AD8 C60C0024 */ lwc1 $f12, 0x0024($s0) ## 00000024 -/* 0070C 80B87ADC 460C0401 */ sub.s $f16, $f0, $f12 -/* 00710 80B87AE0 E6100028 */ swc1 $f16, 0x0028($s0) ## 00000028 -/* 00714 80B87AE4 C60E0028 */ lwc1 $f14, 0x0028($s0) ## 00000028 -.L80B87AE8: -/* 00718 80B87AE8 C60C0024 */ lwc1 $f12, 0x0024($s0) ## 00000024 -.L80B87AEC: -/* 0071C 80B87AEC 0C034261 */ jal Matrix_Translate -/* 00720 80B87AF0 8E06002C */ lw $a2, 0x002C($s0) ## 0000002C -/* 00724 80B87AF4 C60C0050 */ lwc1 $f12, 0x0050($s0) ## 00000050 -/* 00728 80B87AF8 C60E0054 */ lwc1 $f14, 0x0054($s0) ## 00000054 -/* 0072C 80B87AFC 8E060058 */ lw $a2, 0x0058($s0) ## 00000058 -/* 00730 80B87B00 0C0342A3 */ jal Matrix_Scale -/* 00734 80B87B04 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 00738 80B87B08 860F00B6 */ lh $t7, 0x00B6($s0) ## 000000B6 -/* 0073C 80B87B0C 3C0180B9 */ lui $at, %hi(D_80B88BF4) ## $at = 80B90000 -/* 00740 80B87B10 C4268BF4 */ lwc1 $f6, %lo(D_80B88BF4)($at) -/* 00744 80B87B14 448F9000 */ mtc1 $t7, $f18 ## $f18 = 0.00 -/* 00748 80B87B18 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001 -/* 0074C 80B87B1C 46809120 */ cvt.s.w $f4, $f18 -/* 00750 80B87B20 46062302 */ mul.s $f12, $f4, $f6 -/* 00754 80B87B24 0C034348 */ jal Matrix_RotateY -/* 00758 80B87B28 00000000 */ nop -/* 0075C 80B87B2C 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0 -/* 00760 80B87B30 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000 -/* 00764 80B87B34 37390003 */ ori $t9, $t9, 0x0003 ## $t9 = DA380003 -/* 00768 80B87B38 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 0076C 80B87B3C AE3802D0 */ sw $t8, 0x02D0($s1) ## 000002D0 -/* 00770 80B87B40 AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 00774 80B87B44 8E440000 */ lw $a0, 0x0000($s2) ## 00000000 -/* 00778 80B87B48 3C0580B9 */ lui $a1, %hi(D_80B88B34) ## $a1 = 80B90000 -/* 0077C 80B87B4C 24A58B34 */ addiu $a1, $a1, %lo(D_80B88B34) ## $a1 = 80B88B34 -/* 00780 80B87B50 24060229 */ addiu $a2, $zero, 0x0229 ## $a2 = 00000229 -/* 00784 80B87B54 0C0346A2 */ jal Matrix_NewMtx -/* 00788 80B87B58 AFA20064 */ sw $v0, 0x0064($sp) -/* 0078C 80B87B5C 8FA30064 */ lw $v1, 0x0064($sp) -/* 00790 80B87B60 3C0AFA00 */ lui $t2, 0xFA00 ## $t2 = FA000000 -/* 00794 80B87B64 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000 -/* 00798 80B87B68 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 0079C 80B87B6C 8E2302D0 */ lw $v1, 0x02D0($s1) ## 000002D0 -/* 007A0 80B87B70 24690008 */ addiu $t1, $v1, 0x0008 ## $t1 = 00000008 -/* 007A4 80B87B74 AE2902D0 */ sw $t1, 0x02D0($s1) ## 000002D0 -/* 007A8 80B87B78 AC6A0000 */ sw $t2, 0x0000($v1) ## 00000000 -/* 007AC 80B87B7C 920B014E */ lbu $t3, 0x014E($s0) ## 0000014E -/* 007B0 80B87B80 448B4000 */ mtc1 $t3, $f8 ## $f8 = 0.00 -/* 007B4 80B87B84 05610004 */ bgez $t3, .L80B87B98 -/* 007B8 80B87B88 468042A0 */ cvt.s.w $f10, $f8 -/* 007BC 80B87B8C 44818000 */ mtc1 $at, $f16 ## $f16 = 4294967296.00 -/* 007C0 80B87B90 00000000 */ nop -/* 007C4 80B87B94 46105280 */ add.s $f10, $f10, $f16 -.L80B87B98: -/* 007C8 80B87B98 3C0180B9 */ lui $at, %hi(D_80B88BF8) ## $at = 80B90000 -/* 007CC 80B87B9C C4328BF8 */ lwc1 $f18, %lo(D_80B88BF8)($at) -/* 007D0 80B87BA0 3C01AAFF */ lui $at, 0xAAFF ## $at = AAFF0000 -/* 007D4 80B87BA4 3421FF00 */ ori $at, $at, 0xFF00 ## $at = AAFFFF00 -/* 007D8 80B87BA8 46125102 */ mul.s $f4, $f10, $f18 -/* 007DC 80B87BAC 3C0A0064 */ lui $t2, 0x0064 ## $t2 = 00640000 -/* 007E0 80B87BB0 354AFF80 */ ori $t2, $t2, 0xFF80 ## $t2 = 0064FF80 -/* 007E4 80B87BB4 3C09FB00 */ lui $t1, 0xFB00 ## $t1 = FB000000 -/* 007E8 80B87BB8 3C0C80B9 */ lui $t4, %hi(D_80B88A20) ## $t4 = 80B90000 -/* 007EC 80B87BBC 258C8A20 */ addiu $t4, $t4, %lo(D_80B88A20) ## $t4 = 80B88A20 -/* 007F0 80B87BC0 3C08DE00 */ lui $t0, 0xDE00 ## $t0 = DE000000 -/* 007F4 80B87BC4 4600218D */ trunc.w.s $f6, $f4 -/* 007F8 80B87BC8 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 007FC 80B87BCC 440E3000 */ mfc1 $t6, $f6 -/* 00800 80B87BD0 00000000 */ nop -/* 00804 80B87BD4 31CF00FF */ andi $t7, $t6, 0x00FF ## $t7 = 00000000 -/* 00808 80B87BD8 01E1C025 */ or $t8, $t7, $at ## $t8 = AAFFFF00 -/* 0080C 80B87BDC AC780004 */ sw $t8, 0x0004($v1) ## 00000004 -/* 00810 80B87BE0 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0 -/* 00814 80B87BE4 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001 -/* 00818 80B87BE8 240F0020 */ addiu $t7, $zero, 0x0020 ## $t7 = 00000020 -/* 0081C 80B87BEC 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 00820 80B87BF0 AE3902D0 */ sw $t9, 0x02D0($s1) ## 000002D0 -/* 00824 80B87BF4 AC490000 */ sw $t1, 0x0000($v0) ## 00000000 -/* 00828 80B87BF8 AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004 -/* 0082C 80B87BFC 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0 -/* 00830 80B87C00 240A0020 */ addiu $t2, $zero, 0x0020 ## $t2 = 00000020 -/* 00834 80B87C04 24090040 */ addiu $t1, $zero, 0x0040 ## $t1 = 00000040 -/* 00838 80B87C08 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 0083C 80B87C0C AE2B02D0 */ sw $t3, 0x02D0($s1) ## 000002D0 -/* 00840 80B87C10 AC480000 */ sw $t0, 0x0000($v0) ## 00000000 -/* 00844 80B87C14 AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004 -/* 00848 80B87C18 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0 -/* 0084C 80B87C1C 240E0020 */ addiu $t6, $zero, 0x0020 ## $t6 = 00000020 -/* 00850 80B87C20 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008 -/* 00854 80B87C24 AE2D02D0 */ sw $t5, 0x02D0($s1) ## 000002D0 -/* 00858 80B87C28 AC480000 */ sw $t0, 0x0000($v0) ## 00000000 -/* 0085C 80B87C2C 8E440000 */ lw $a0, 0x0000($s2) ## 00000000 -/* 00860 80B87C30 97A30086 */ lhu $v1, 0x0086($sp) -/* 00864 80B87C34 AFAA0028 */ sw $t2, 0x0028($sp) -/* 00868 80B87C38 AFA90024 */ sw $t1, 0x0024($sp) -/* 0086C 80B87C3C 00030823 */ subu $at, $zero, $v1 -/* 00870 80B87C40 0001C900 */ sll $t9, $at, 4 -/* 00874 80B87C44 AFB90020 */ sw $t9, 0x0020($sp) -/* 00878 80B87C48 00013880 */ sll $a3, $at, 2 -/* 0087C 80B87C4C AFA0001C */ sw $zero, 0x001C($sp) -/* 00880 80B87C50 AFB80018 */ sw $t8, 0x0018($sp) -/* 00884 80B87C54 AFAF0014 */ sw $t7, 0x0014($sp) -/* 00888 80B87C58 AFAE0010 */ sw $t6, 0x0010($sp) -/* 0088C 80B87C5C 00408025 */ or $s0, $v0, $zero ## $s0 = 00000000 -/* 00890 80B87C60 0C0253D0 */ jal Gfx_TwoTexScroll -/* 00894 80B87C64 00033040 */ sll $a2, $v1, 1 -/* 00898 80B87C68 AE020004 */ sw $v0, 0x0004($s0) ## 00000004 -/* 0089C 80B87C6C 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0 -/* 008A0 80B87C70 3C0D80B9 */ lui $t5, %hi(D_80B88AD0) ## $t5 = 80B90000 -/* 008A4 80B87C74 25AD8AD0 */ addiu $t5, $t5, %lo(D_80B88AD0) ## $t5 = 80B88AD0 -/* 008A8 80B87C78 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008 -/* 008AC 80B87C7C AE2B02D0 */ sw $t3, 0x02D0($s1) ## 000002D0 -/* 008B0 80B87C80 3C0CDE00 */ lui $t4, 0xDE00 ## $t4 = DE000000 -/* 008B4 80B87C84 3C0680B9 */ lui $a2, %hi(D_80B88B48) ## $a2 = 80B90000 -/* 008B8 80B87C88 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000 -/* 008BC 80B87C8C AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004 -/* 008C0 80B87C90 8E450000 */ lw $a1, 0x0000($s2) ## 00000000 -/* 008C4 80B87C94 24C68B48 */ addiu $a2, $a2, %lo(D_80B88B48) ## $a2 = 80B88B48 -/* 008C8 80B87C98 27A40070 */ addiu $a0, $sp, 0x0070 ## $a0 = FFFFFFE0 -/* 008CC 80B87C9C 0C031AD5 */ jal Graph_CloseDisps -/* 008D0 80B87CA0 2407023A */ addiu $a3, $zero, 0x023A ## $a3 = 0000023A -/* 008D4 80B87CA4 8FBF0044 */ lw $ra, 0x0044($sp) -/* 008D8 80B87CA8 8FB00038 */ lw $s0, 0x0038($sp) -/* 008DC 80B87CAC 8FB1003C */ lw $s1, 0x003C($sp) -/* 008E0 80B87CB0 8FB20040 */ lw $s2, 0x0040($sp) -/* 008E4 80B87CB4 03E00008 */ jr $ra -/* 008E8 80B87CB8 27BD0090 */ addiu $sp, $sp, 0x0090 ## $sp = 00000000 diff --git a/data/overlays/actors/z_magic_dark.data.s b/data/overlays/actors/z_magic_dark.data.s deleted file mode 100644 index 217b11cb68..0000000000 --- a/data/overlays/actors/z_magic_dark.data.s +++ /dev/null @@ -1,30 +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 Magic_Dark_InitVars - .word 0x00F40700, 0x02000010, 0x00010000, 0x00000164 -.word MagicDark_Init -.word MagicDark_Destroy -.word MagicDark_Update -.word MagicDark_Draw -glabel D_80B880E0 - .word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000102, 0x01000001, 0x00000000, 0x00000000, 0x00010000, 0x00000000, 0x00000001, 0x00000000, 0x00000204, 0x02000101, 0x00000000, 0x00000000, 0x00010101, 0x00000001, 0x00000001, 0x00000000, 0x00000307, 0x03010102, 0x00000000, 0x00000000, 0x01010102, 0x00000002, 0x01010001, 0x00000000, 0x00010509, 0x04010103, 0x01000000, 0x00000000, 0x01020202, 0x00000104, 0x03020101, 0x00000000, 0x0001060C, 0x06010103, 0x01000000, 0x00000000, 0x02020202, 0x00000206, 0x05040101, 0x00000000, 0x0001080F, 0x07010103, 0x01000001, 0x00000000, 0x03030202, 0x00010408, 0x07060201, 0x00000000, 0x00010911, 0x08010103, 0x01000001, 0x00000001, 0x04040303, 0x0101050B, 0x0A080301, 0x00000000, 0x00020B14, 0x0A010103, 0x01000001, 0x00010102, 0x06060403, 0x0203070D, 0x0C0A0401, 0x00000000, 0x00030D17, 0x0B020103, 0x01010001, 0x00010205, 0x09080503, 0x0205090E, 0x0E0D0501, 0x00000000, 0x01050F18, 0x0C020102, 0x01010001, 0x00010408, 0x0D0B0502, 0x03070B0F, 0x0F0F0601, 0x00000000, 0x02081219, 0x0D030102, 0x00010001, 0x0001050B, 0x130F0702, 0x04080B0F, 0x10110801, 0x00000000, 0x030C1419, 0x0E040101, 0x00010001, 0x0001070F, 0x19140A03, 0x05090B0E, 0x10130A02, 0x00000001, 0x05121719, 0x0E040100, 0x00010102, 0x01020A13, 0x1F1A0F06, 0x06090A0C, 0x10150B03, 0x01000001, 0x08181B19, 0x0F050201, 0x01020102, 0x02040D18, 0x2721140A, 0x080A0A0C, 0x11160D04, 0x02020001, 0x0B1E1E19, 0x10070403, 0x02030202, 0x0408111D, 0x2F2A1B0F, 0x0A0B0B0D, 0x12180F06, 0x04040101, 0x0E242119, 0x11090606, 0x04040304, 0x070C1623, 0x38322214, 0x0E0D0E10, 0x141A1108, 0x06060102, 0x112A241A, 0x120B0909, 0x06050507, 0x0B111C29, 0x413B291B, 0x13101216, 0x181B1209, 0x08080304, 0x152F271B, 0x140E0C0C, 0x0907080B, 0x10172230, 0x4A433223, 0x1813161D, 0x1D1E140B, 0x0A0A0608, 0x1A342B1E, 0x17110F0F, 0x0C0B0D11, 0x171F2A38, 0x534C3B2B, 0x1E161C25, 0x2221160D, 0x0B0C0A0E, 0x21393023, 0x1B151211, 0x0F0F1217, 0x1E273240, 0x5C564534, 0x251B242F, 0x2924190F, 0x0E0E0F17, 0x293E372B, 0x21181513, 0x1113181E, 0x26303B48, 0x655F4E3E, 0x2D222D3A, 0x30271C13, 0x11111520, 0x32453F35, 0x281D1714, 0x14181E25, 0x2F3A4551, 0x6F695746, 0x362B3744, 0x372A1F17, 0x15151D2A, 0x3D4D483F, 0x31231A14, 0x171E252E, 0x38444F5B, 0x7974614F, 0x4036404C, 0x3C2D231D, 0x1A1A2637, 0x4957524A, 0x3A2A1D15, 0x1A252E37, 0x43505B66, 0x837F6C59, 0x4A414750, 0x3F2E2723, 0x21213245, 0x57625D54, 0x43312216, 0x1F2D3741, 0x4D5B6671, 0x8E8B7662, 0x544B4D51, 0x3F302C2C, 0x2B2D4054, 0x656D675E, 0x4C3A281A, 0x2536414B, 0x5867717B, 0x9896816C, 0x5E545150, 0x3F323337, 0x383C5063, 0x71777168, 0x56432F21, 0x2C3F4B56, 0x63727C86, 0xA2A08B76, 0x685D5651, 0x3F343A43, 0x484D5F70, 0x7D827B71, 0x5F4C3829, 0x34465462, 0x6F7C8690, 0xACA99581, 0x72655B53, 0x42394450, 0x585E6D7C, 0x878C8479, 0x68574334, 0x3D4E5E6E, 0x7B88919A, 0xB4B09E8C, 0x7C6E6155, 0x46414F5F, 0x676E7B87, 0x92958C80, 0x71625041, 0x4857697A, 0x86929BA3, 0xBBB7A796, 0x86776658, 0x4D4B5C6E, 0x777D8791, 0x9C9F9487, 0x7A6D5C4F, 0x54617486, 0x919CA4AB, 0xC2BBAFA1, 0x907F6C5D, 0x55576A7E, 0x8589929A, 0xA5A99D90, 0x8478695E, 0x5F697F93, 0x9DA6ACB2, 0xC8BFB6AC, 0x9A877465, 0x6064788D, 0x92949BA1, 0xADB2A89C, 0x8F83766C, 0x6A718AA1, 0xA9AFB2B8, 0xCEC3BDB6, 0xA4907E70, 0x6C72879B, 0x9C9CA2A8, 0xB5BBB3A9, 0x9B8E8279, 0x737693AE, 0xB4B6B9BE, 0xD5C9C5BF, 0xAF9C8B7E, 0x7A8094A5, 0xA4A0A7B0, 0xBDC5C0B7, 0xA8998E85, 0x7B7B9AB7, 0xBDBEC0C5, 0xDBCFCCC8, 0xBAA9998E, 0x898E9FAD, 0xA8A1ACB8, 0xC6CECCC5, 0xB6A4988F, 0x8381A0BE, 0xC4C6C8CD, 0xE0D4D3D1, 0xC5B7A89D, 0x989CA8B3, 0xABA2B0C0, 0xCED8D8D2, 0xC2AEA298, 0x8C89A6C3, 0xCACED1D5, 0xE5DBDAD8, 0xD0C4B6AB, 0xA6A8B1B8, 0xAEA4B5C7, 0xD6E0E3DE, 0xCDB7ABA2, 0x9590ACC9, 0xD0D5D9DC, 0xEBE1E0DE, 0xDAD1C4B9, 0xB2B2B8BC, 0xB1A7B9CE, 0xDEE8ECE8, 0xD6BDB3AC, 0x9E98B3CE, 0xD6DBE0E3, 0xF0E9E6E3, 0xE3DDD2C6, 0xBCBABEC0, 0xB4AABED5, 0xE5EFF3F0, 0xDDC2BBB6, 0xA79FB9D4, 0xDCE2E7E9, 0xF5F0ECE7, 0xEAE8DED2, 0xC6C1C2C3, 0xB7ADC4DD, 0xEBF3F8F5, 0xE1C6C2C1, 0xB1A7BFD8, 0xE1E7EDF0, 0xF9F5F1EB, 0xF0F0E9DD, 0xCFC7C7C6, 0xBBB1CBE5, 0xF0F5FBF7, 0xE3CACACC, 0xBBB0C5DC, 0xE5ECF4F6, 0xFCF9F5EE, 0xF5F7F0E7, 0xD7CDCCCB, 0xBFB7D2EB, 0xF4F7FBF6, 0xE4CDD2D6, 0xC6B9CBE0, 0xE9F1F9FB, 0xFDFCF8F2, 0xF9FAF6EE, 0xDFD5D3D0, 0xC5BDD9F0, 0xF7F9FBF4, 0xE5D0D9E0, 0xD1C2D2E4, 0xEDF5FCFE, 0xFEFDFAF4, 0xFBFCF9F3, 0xE6DDDAD7, 0xCBC3DEF4, 0xFAFBFCF3, 0xE5D3DEE8, 0xDBCDDAE9, 0xF2F8FEFF, 0xFEFDFCF6, 0xFCFDFCF7, 0xECE4E2DF, 0xD2C9E3F7, 0xFCFDFBF3, 0xE5D6E4EF, 0xE3D6E1EE, 0xF6FAFEFF, 0xFEFDFDF8, 0xFCFDFDFA, 0xF1EAE9E7, 0xD9CFE7F9, 0xFEFEFBF3, 0xE7DBE9F4, 0xEBDFE8F3, 0xF9FCFFFF, 0xFEFDFDFA, 0xFDFDFEFC, 0xF5EFEFEE, 0xE0D5ECFB, 0xFFFEFBF3, 0xE9E1EEF8, 0xF0E6EEF6, 0xFCFDFFFF, 0xFEFDFEFC, 0xFEFDFEFE, 0xF8F4F4F3, 0xE7DDF1FD, 0xFFFEFBF3, 0xECE7F3FC, 0xF5ECF2F9, 0xFDFEFFFF, 0xFEFDFFFE, 0xFFFDFEFE, 0xFAF7F8F7, 0xEDE5F5FE, 0xFFFEFBF5, 0xF0EDF7FD, 0xF9F1F5FA, 0xFEFFFFFF, 0xFEFDFFFF, 0xFFFEFEFF, 0xFCFAFAFA, 0xF2ECF8FE, 0xFFFEFCF7, 0xF4F3FAFE, 0xFBF6F8FB, 0xFEFFFFFF, 0xFEFDFFFF, 0xFFFEFEFF, 0xFDFCFCFC, 0xF7F2FBFF, 0xFFFEFCFA, 0xF8F7FCFF, 0xFEFAFBFC, 0xFFFFFFFF, 0xFEFEFFFF, 0xFFFFFFFF, 0xFEFDFEFD, 0xFAF7FCFF, 0xFFFEFDFC, 0xFCFBFDFF, 0xFFFDFDFD, 0xFFFFFFFF, 0xFFFEFFFF, 0xFFFFFFFF, 0xFFFEFEFE, 0xFCFAFDFF, 0xFFFEFEFE, 0xFEFDFEFF, 0xFFFFFEFD, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFDFCFEFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFEFEFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF -glabel D_80B888E0 - .word 0x00000000, 0x00400000, 0x04000200, 0x000078FF, 0x00370000, 0x00200000, 0x06AB0200, 0x67003CFF, 0x0000006C, 0x00000000, 0x05550000, 0x007800FF, 0x00370000, 0xFFE00000, 0x09550200, 0x6700C4FF, 0x0000006C, 0x00000000, 0x08000000, 0x007800FF, 0x00000000, 0xFFC00000, 0x0C000200, 0x000088FF, 0x0000006C, 0x00000000, 0x0AAB0000, 0x007800FF, 0xFFC90000, 0xFFE00000, 0x0EAB0200, 0x9900C4FF, 0x0000006C, 0x00000000, 0x0D550000, 0x007800FF, 0xFFC90000, 0x00200000, 0x11550200, 0x98003CFF, 0x0000006C, 0x00000000, 0x10000000, 0x007800FF, 0xFFC90000, 0x00200000, 0x01550200, 0x98003CFF, 0x0000006C, 0x00000000, 0x02AB0000, 0x007800FF, 0x0000FF94, 0x00000000, 0x02AB0400, 0x008800FF, 0x0000FF94, 0x00000000, 0x0D550400, 0x008800FF, 0x0000FF94, 0x00000000, 0x0AAB0400, 0x008800FF, 0x0000FF94, 0x00000000, 0x08000400, 0x008800FF, 0x0000FF94, 0x00000000, 0x05550400, 0x008800FF, 0xFFC90000, 0x00200000, 0x09550200, 0x98003CFF, 0xFFC90000, 0xFFE00000, 0x06AB0200, 0x9900C4FF -glabel D_80B88A20 - .word 0xE7000000, 0x00000000, 0xE3001001, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xFD900000, 0x04032490, 0xF5900000, 0x07014450, 0xE6000000, 0x00000000, 0xF3000000, 0x071FF200, 0xE7000000, 0x00000000, 0xF5880800, 0x00014450, 0xF2000000, 0x0007C07C, 0xFD900000 -.word D_80B880E0 -.word 0xF5900100, 0x0705B45D, 0xE6000000, 0x00000000, 0xF3000000, 0x073FF200, 0xE7000000, 0x00000000, 0xF5880900, 0x0105B45D, 0xF2000000, 0x0107C0FC, 0xFC262A60, 0x350C937F, 0xE200001C, 0x0C1849D8, 0xD9F2FFFF, 0x00000000, 0xD9FFFFFF, 0x00020400, 0xDF000000, 0x00000000 -glabel D_80B88AD0 - .word 0x01014028 -.word D_80B888E0 -.word 0x06000204, 0x00020608, 0x06060A0C, 0x000A0E10, 0x060E1214, 0x00160018, 0x061A0016, 0x001C0E0A, 0x061E0A06, 0x00200602, 0x06220200, 0x00202426, 0xDF000000, 0x00000000, 0x326496C8, 0xFFC89664, 0x00000000, 0x00000000 - diff --git a/data/overlays/actors/z_magic_dark.reloc.s b/data/overlays/actors/z_magic_dark.reloc.s deleted file mode 100644 index 0020832a63..0000000000 --- a/data/overlays/actors/z_magic_dark.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_80B88C10 - .incbin "baserom/ovl_Magic_Dark", 0x1840, 0x00000160 diff --git a/include/functions.h b/include/functions.h index eca3cb4f5b..d212395538 100644 --- a/include/functions.h +++ b/include/functions.h @@ -768,6 +768,7 @@ s32 func_8005A77C(Camera* camera, s16 button); // ? func_8005A8C4(?); s16 func_8005A948(Camera* camera); Vec3s* func_8005A970(Vec3s*, Camera*); +s16 func_8005A9CC(s32 arg0); s16 func_8005A9F4(Camera* camera); s32 func_8005AA1C(Camera* camera, s32, s16, s32); s32 Camera_SetParam(Camera*, s32, void*); diff --git a/include/variables.h b/include/variables.h index 5f596427d8..9db5dc932d 100644 --- a/include/variables.h +++ b/include/variables.h @@ -37,7 +37,7 @@ extern u32 D_04004298; extern u8 D_04006020[]; extern Gfx D_0400C820[]; extern u32 D_0400CB70; -extern u32 D_04010130; +extern Gfx D_04010130[]; extern Gfx D_04015720[]; extern Gfx D_04015760[]; //extern ? D_0401A0B0; diff --git a/include/z64.h b/include/z64.h index 4bb583948d..81e9452c14 100644 --- a/include/z64.h +++ b/include/z64.h @@ -725,7 +725,10 @@ typedef struct { /* 0xB8 */ UNK_PTR lightSettingsList; /* 0xBC */ char unk_BC[0x03]; /* 0xBF */ u8 unk_BF; - /* 0xC0 */ char unk_C0[0x16]; + /* 0xC0 */ char unk_C0[0x0F]; + /* 0xCF */ u8 unk_CF[3]; + /* 0xD2 */ s16 unk_D2; + /* 0xD4 */ char unk_D4[0x02]; /* 0xD6 */ s16 unk_D6; /* 0xD8 */ f32 unk_D8; /* 0xDC */ u8 unk_DC; diff --git a/spec b/spec index 7c34d74db7..f40cb61052 100644 --- a/spec +++ b/spec @@ -3367,8 +3367,7 @@ endseg beginseg name "ovl_Magic_Dark" include "build/src/overlays/actors/ovl_Magic_Dark/z_magic_dark.o" - include "build/data/overlays/actors/z_magic_dark.data.o" - include "build/data/overlays/actors/z_magic_dark.reloc.o" + include "build/src/overlays/actors/ovl_Magic_Dark/ovl_Magic_Dark_reloc.o" endseg beginseg diff --git a/src/overlays/actors/ovl_Magic_Dark/z_magic_dark.c b/src/overlays/actors/ovl_Magic_Dark/z_magic_dark.c index 38cc79dfe2..91cae9b134 100644 --- a/src/overlays/actors/ovl_Magic_Dark/z_magic_dark.c +++ b/src/overlays/actors/ovl_Magic_Dark/z_magic_dark.c @@ -12,14 +12,13 @@ void MagicDark_Init(Actor* thisx, GlobalContext* globalCtx); void MagicDark_Destroy(Actor* thisx, GlobalContext* globalCtx); -void MagicDark_Update(Actor* thisx, GlobalContext* globalCtx); -void MagicDark_Draw(Actor* thisx, GlobalContext* globalCtx); +void MagicDark_OrbUpdate(Actor* thisx, GlobalContext* globalCtx); +void MagicDark_OrbDraw(Actor* thisx, GlobalContext* globalCtx); +void MagicDark_DiamondUpdate(Actor* thisx, GlobalContext* globalCtx); +void MagicDark_DiamondDraw(Actor* thisx, GlobalContext* globalCtx); -void func_80B874E4(Actor* thisx, GlobalContext* globalCtx); -void func_80B8772C(GlobalContext* globalCtx, f32 a1); -void func_80B87A18(Actor* thisx, GlobalContext* globalCtx); +void MagicDark_DimLighting(GlobalContext* globalCtx, f32 intensity); -/* const ActorInit Magic_Dark_InitVars = { ACTOR_MAGIC_DARK, ACTORTYPE_ITEMACTION, @@ -28,19 +27,23 @@ const ActorInit Magic_Dark_InitVars = { sizeof(MagicDark), (ActorFunc)MagicDark_Init, (ActorFunc)MagicDark_Destroy, - (ActorFunc)MagicDark_Update, - (ActorFunc)MagicDark_Draw, + (ActorFunc)MagicDark_OrbUpdate, + (ActorFunc)MagicDark_OrbDraw, }; -*/ + +#include "z_magic_dark_gfx.c" + +// unused +static Color_RGBA8 D_80B88B10[] = { { 50, 100, 150, 200 }, { 255, 200, 150, 100 } }; void MagicDark_Init(Actor* thisx, GlobalContext* globalCtx) { MagicDark* this = THIS; Player* player = PLAYER; if (LINK_IS_CHILD) { - this->unk_15C = 0.4f; + this->scale = 0.4f; } else { - this->unk_15C = 0.6f; + this->scale = 0.6f; } thisx->posRot.pos = player->actor.posRot.pos; @@ -48,14 +51,14 @@ void MagicDark_Init(Actor* thisx, GlobalContext* globalCtx) { thisx->room = -1; if (gSaveContext.nayrusLoveTimer != 0) { - thisx->update = func_80B874E4; - thisx->draw = func_80B87A18; - thisx->scale.x = thisx->scale.z = this->unk_15C * 1.6f; - thisx->scale.y = this->unk_15C * 0.8f; - this->unk_14C = 0; - this->unk_14E = 0; + thisx->update = MagicDark_DiamondUpdate; + thisx->draw = MagicDark_DiamondDraw; + thisx->scale.x = thisx->scale.z = this->scale * 1.6f; + thisx->scale.y = this->scale * 0.8f; + this->timer = 0; + this->primAlpha = 0; } else { - this->unk_14C = 0; + this->timer = 0; gSaveContext.nayrusLoveTimer = 0; } } @@ -66,37 +69,212 @@ void MagicDark_Destroy(Actor* thisx, GlobalContext* globalCtx) { } } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Magic_Dark/func_80B874E4.s") +void MagicDark_DiamondUpdate(Actor* thisx, GlobalContext* globalCtx) { + MagicDark* this = THIS; + u8 phi_a0; + Player* player = PLAYER; + s16 pad; + s16 nayrusLoveTimer = gSaveContext.nayrusLoveTimer; + s32 msgMode = globalCtx->msgCtx.msgMode; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Magic_Dark/func_80B8772C.s") + if (1) {} -void MagicDark_Update(Actor* thisx, GlobalContext* globalCtx) { + if ((msgMode == 0xD) || (msgMode == 0x11)) { + Actor_Kill(thisx); + return; + } + + if (nayrusLoveTimer >= 1200) { + player->invincibilityTimer = 0; + gSaveContext.nayrusLoveTimer = 0; + Actor_Kill(thisx); + return; + } + + player->invincibilityTimer = -100; + thisx->scale.x = thisx->scale.z = this->scale; + + if (this->timer < 20) { + thisx->scale.x = thisx->scale.z = (1.6f - (this->timer * 0.03f)) * this->scale; + thisx->scale.y = ((this->timer * 0.01f) + 0.8f) * this->scale; + } else { + thisx->scale.x = thisx->scale.z = this->scale; + thisx->scale.y = this->scale; + } + + thisx->scale.x *= 1.3f; + thisx->scale.z *= 1.3f; + + phi_a0 = (this->timer < 20) ? (this->timer * 12) : 255; + + if (nayrusLoveTimer >= 1180) { + this->primAlpha = 15595 - (nayrusLoveTimer * 13); + if (nayrusLoveTimer & 1) { + this->primAlpha = (u8)(this->primAlpha >> 1); + } + } else if (nayrusLoveTimer >= 1100) { + this->primAlpha = (u8)(nayrusLoveTimer << 7) + 127; + } else { + this->primAlpha = 255; + } + + if (this->primAlpha > phi_a0) { + this->primAlpha = phi_a0; + } + + thisx->posRot.rot.y += 0x3E8; + thisx->shape.rot.y = thisx->posRot.rot.y + func_8005A9F4(ACTIVE_CAM); + this->timer++; + gSaveContext.nayrusLoveTimer = nayrusLoveTimer + 1; + + if (nayrusLoveTimer < 1100) { + func_8002F974(thisx, NA_SE_PL_MAGIC_SOUL_NORMAL - SFX_FLAG); + } else { + func_8002F974(thisx, NA_SE_PL_MAGIC_SOUL_FLASH - SFX_FLAG); + } +} + +void MagicDark_DimLighting(GlobalContext* globalCtx, f32 intensity) { + s32 i; + f32 temp_f0; + f32 phi_f0; + + if (globalCtx->roomCtx.curRoom.unk_03 != 5) { + intensity = CLAMP_MIN(intensity, 0.0f); + intensity = CLAMP_MAX(intensity, 1.0f); + phi_f0 = intensity - 0.2f; + if (intensity < 0.2f) { + phi_f0 = 0.0f; + } + globalCtx->envCtx.unk_9E = (850.0f - globalCtx->envCtx.unk_D2) * phi_f0; + if (intensity == 0.0f) { + for (i = 0; i < ARRAY_COUNT(globalCtx->envCtx.unk_8C[2]); i++) { + globalCtx->envCtx.unk_8C[2][i] = 0; + } + } else { + temp_f0 = intensity * 5.0f; + if (temp_f0 > 1.0f) { + temp_f0 = 1.0f; + } + + for (i = 0; i < ARRAY_COUNT(globalCtx->envCtx.unk_8C[2]); i++) { + globalCtx->envCtx.unk_8C[2][i] = -(s16)(globalCtx->envCtx.unk_CF[i] * temp_f0); + } + } + } +} + +void MagicDark_OrbUpdate(Actor* thisx, GlobalContext* globalCtx) { MagicDark* this = THIS; s32 pad; Player* player = PLAYER; func_8002F974(&this->actor, NA_SE_PL_MAGIC_SOUL_BALL - SFX_FLAG); - if (this->unk_14C < 35) { - func_80B8772C(globalCtx, this->unk_14C * (1 / 45.0f)); - Math_SmoothScaleMaxMinF(&thisx->scale.x, this->unk_15C * (1 / 12.000001f), 0.05f, 0.01f, 0.0001f); + if (this->timer < 35) { + MagicDark_DimLighting(globalCtx, this->timer * (1 / 45.0f)); + Math_SmoothScaleMaxMinF(&thisx->scale.x, this->scale * (1 / 12.000001f), 0.05f, 0.01f, 0.0001f); Actor_SetScale(&this->actor, thisx->scale.x); - } else if (this->unk_14C < 55) { + } else if (this->timer < 55) { Actor_SetScale(&this->actor, thisx->scale.x * 0.9f); - Math_SmoothScaleMaxMinF(&this->unk_154, player->bodyPartsPos[0].y, 0.5f, 3.0f, 1.0f); - if (this->unk_14C >= 49) { - func_80B8772C(globalCtx, (54 - this->unk_14C) * 0.2f); + Math_SmoothScaleMaxMinF(&this->orbOffset.y, player->bodyPartsPos[0].y, 0.5f, 3.0f, 1.0f); + if (this->timer > 48) { + MagicDark_DimLighting(globalCtx, (54 - this->timer) * 0.2f); } } else { - thisx->update = func_80B874E4; - thisx->draw = func_80B87A18; - thisx->scale.x = thisx->scale.z = this->unk_15C * 1.6f; - thisx->scale.y = this->unk_15C * 0.8f; - this->unk_14C = 0; - this->unk_14E = 0; + thisx->update = MagicDark_DiamondUpdate; + thisx->draw = MagicDark_DiamondDraw; + thisx->scale.x = thisx->scale.z = this->scale * 1.6f; + thisx->scale.y = this->scale * 0.8f; + this->timer = 0; + this->primAlpha = 0; } - this->unk_14C += 1; + + this->timer++; } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Magic_Dark/func_80B87A18.s") +void MagicDark_DiamondDraw(Actor* thisx, GlobalContext* globalCtx) { + MagicDark* this = THIS; + s32 pad; + u16 gameplayFrames = globalCtx->gameplayFrames; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Magic_Dark/MagicDark_Draw.s") + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_magic_dark.c", 525); + + func_80093D84(globalCtx->state.gfxCtx); + + { + Player* player = PLAYER; + f32 heightDiff; + + this->actor.posRot.pos.x = player->bodyPartsPos[0].x; + this->actor.posRot.pos.z = player->bodyPartsPos[0].z; + heightDiff = player->bodyPartsPos[0].y - this->actor.posRot.pos.y; + if (heightDiff < -2.0f) { + this->actor.posRot.pos.y = player->bodyPartsPos[0].y + 2.0f; + } else if (heightDiff > 2.0f) { + this->actor.posRot.pos.y = player->bodyPartsPos[0].y - 2.0f; + } + Matrix_Translate(this->actor.posRot.pos.x, this->actor.posRot.pos.y, this->actor.posRot.pos.z, MTXMODE_NEW); + Matrix_Scale(this->actor.scale.x, this->actor.scale.y, this->actor.scale.z, MTXMODE_APPLY); + Matrix_RotateY(this->actor.shape.rot.y * (M_PI / 0x8000), MTXMODE_APPLY); + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_magic_dark.c", 553), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 170, 255, 255, (s32)(this->primAlpha * 0.6f) & 0xFF); + gDPSetEnvColor(POLY_XLU_DISP++, 0, 100, 255, 128); + gSPDisplayList(POLY_XLU_DISP++, sDiamondTextureDList); + gSPDisplayList(POLY_XLU_DISP++, + Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, gameplayFrames * 2, gameplayFrames * -4, 32, 32, 1, + 0, gameplayFrames * -16, 64, 32)); + gSPDisplayList(POLY_XLU_DISP++, sDiamondVertsDList); + } + + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_magic_dark.c", 570); +} + +void MagicDark_OrbDraw(Actor* thisx, GlobalContext* globalCtx) { + MagicDark* this = THIS; + Vec3f pos; + Player* player = PLAYER; + s32 pad; + f32 sp6C = globalCtx->state.frames & 0x1F; + + if (this->timer < 32) { + pos.x = (player->bodyPartsPos[12].x + player->bodyPartsPos[15].x) * 0.5f; + pos.y = (player->bodyPartsPos[12].y + player->bodyPartsPos[15].y) * 0.5f; + pos.z = (player->bodyPartsPos[12].z + player->bodyPartsPos[15].z) * 0.5f; + if (this->timer > 20) { + pos.y += (this->timer - 20) * 1.4f; + } + this->orbOffset = pos; + } else if (this->timer < 130) { + pos = this->orbOffset; + } else { + return; + } + + pos.x -= + (this->actor.scale.x * 300.0f * Math_Sins(func_8005A9F4(ACTIVE_CAM)) * Math_Coss(func_8005A9CC(ACTIVE_CAM))); + pos.y -= (this->actor.scale.x * 300.0f * Math_Sins(func_8005A9CC(ACTIVE_CAM))); + pos.z -= + (this->actor.scale.x * 300.0f * Math_Coss(func_8005A9F4(ACTIVE_CAM)) * Math_Coss(func_8005A9CC(ACTIVE_CAM))); + + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_magic_dark.c", 619); + + func_80093D84(globalCtx->state.gfxCtx); + gDPSetPrimColor(POLY_XLU_DISP++, 0, 0x80, 170, 255, 255, 255); + gDPSetEnvColor(POLY_XLU_DISP++, 0, 150, 255, 255); + Matrix_Translate(pos.x, pos.y, pos.z, MTXMODE_NEW); + Matrix_Scale(this->actor.scale.x, this->actor.scale.y, this->actor.scale.z, MTXMODE_APPLY); + Matrix_Mult(&globalCtx->mf_11DA0, MTXMODE_APPLY); + Matrix_Push(); + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_magic_dark.c", 632), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + Matrix_RotateZ(sp6C * (M_PI / 32), MTXMODE_APPLY); + gSPDisplayList(POLY_XLU_DISP++, D_04010130); + Matrix_Pull(); + Matrix_RotateZ(-sp6C * (M_PI / 32), MTXMODE_APPLY); + gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_magic_dark.c", 639), + G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_XLU_DISP++, D_04010130); + + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_magic_dark.c", 643); +} diff --git a/src/overlays/actors/ovl_Magic_Dark/z_magic_dark.h b/src/overlays/actors/ovl_Magic_Dark/z_magic_dark.h index d57f29109c..cb12c8d537 100644 --- a/src/overlays/actors/ovl_Magic_Dark/z_magic_dark.h +++ b/src/overlays/actors/ovl_Magic_Dark/z_magic_dark.h @@ -8,12 +8,10 @@ struct MagicDark; typedef struct MagicDark { /* 0x0000 */ Actor actor; - /* 0x014C */ s16 unk_14C; - /* 0x014E */ u8 unk_14E; - /* 0x014F */ char unk_14F[0x5]; - /* 0x0154 */ f32 unk_154; - /* 0x0158 */ char unk_158[0x4]; - /* 0x015C */ f32 unk_15C; + /* 0x014C */ s16 timer; + /* 0x014E */ u8 primAlpha; + /* 0x0150 */ Vec3f orbOffset; + /* 0x015C */ f32 scale; /* 0x0160 */ char unk_160[0x4]; } MagicDark; // size = 0x0164 diff --git a/src/overlays/actors/ovl_Magic_Dark/z_magic_dark_gfx.c b/src/overlays/actors/ovl_Magic_Dark/z_magic_dark_gfx.c new file mode 100644 index 0000000000..165054b177 --- /dev/null +++ b/src/overlays/actors/ovl_Magic_Dark/z_magic_dark_gfx.c @@ -0,0 +1,99 @@ +#include "z_magic_dark.h" + +extern UNK_TYPE D_04032490[]; + +static UNK_TYPE sDiamondTexture[] = { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000001, 0x00000000, 0x00000102, 0x01000001, 0x00000000, 0x00000000, 0x00010000, 0x00000000, + 0x00000001, 0x00000000, 0x00000204, 0x02000101, 0x00000000, 0x00000000, 0x00010101, 0x00000001, 0x00000001, + 0x00000000, 0x00000307, 0x03010102, 0x00000000, 0x00000000, 0x01010102, 0x00000002, 0x01010001, 0x00000000, + 0x00010509, 0x04010103, 0x01000000, 0x00000000, 0x01020202, 0x00000104, 0x03020101, 0x00000000, 0x0001060C, + 0x06010103, 0x01000000, 0x00000000, 0x02020202, 0x00000206, 0x05040101, 0x00000000, 0x0001080F, 0x07010103, + 0x01000001, 0x00000000, 0x03030202, 0x00010408, 0x07060201, 0x00000000, 0x00010911, 0x08010103, 0x01000001, + 0x00000001, 0x04040303, 0x0101050B, 0x0A080301, 0x00000000, 0x00020B14, 0x0A010103, 0x01000001, 0x00010102, + 0x06060403, 0x0203070D, 0x0C0A0401, 0x00000000, 0x00030D17, 0x0B020103, 0x01010001, 0x00010205, 0x09080503, + 0x0205090E, 0x0E0D0501, 0x00000000, 0x01050F18, 0x0C020102, 0x01010001, 0x00010408, 0x0D0B0502, 0x03070B0F, + 0x0F0F0601, 0x00000000, 0x02081219, 0x0D030102, 0x00010001, 0x0001050B, 0x130F0702, 0x04080B0F, 0x10110801, + 0x00000000, 0x030C1419, 0x0E040101, 0x00010001, 0x0001070F, 0x19140A03, 0x05090B0E, 0x10130A02, 0x00000001, + 0x05121719, 0x0E040100, 0x00010102, 0x01020A13, 0x1F1A0F06, 0x06090A0C, 0x10150B03, 0x01000001, 0x08181B19, + 0x0F050201, 0x01020102, 0x02040D18, 0x2721140A, 0x080A0A0C, 0x11160D04, 0x02020001, 0x0B1E1E19, 0x10070403, + 0x02030202, 0x0408111D, 0x2F2A1B0F, 0x0A0B0B0D, 0x12180F06, 0x04040101, 0x0E242119, 0x11090606, 0x04040304, + 0x070C1623, 0x38322214, 0x0E0D0E10, 0x141A1108, 0x06060102, 0x112A241A, 0x120B0909, 0x06050507, 0x0B111C29, + 0x413B291B, 0x13101216, 0x181B1209, 0x08080304, 0x152F271B, 0x140E0C0C, 0x0907080B, 0x10172230, 0x4A433223, + 0x1813161D, 0x1D1E140B, 0x0A0A0608, 0x1A342B1E, 0x17110F0F, 0x0C0B0D11, 0x171F2A38, 0x534C3B2B, 0x1E161C25, + 0x2221160D, 0x0B0C0A0E, 0x21393023, 0x1B151211, 0x0F0F1217, 0x1E273240, 0x5C564534, 0x251B242F, 0x2924190F, + 0x0E0E0F17, 0x293E372B, 0x21181513, 0x1113181E, 0x26303B48, 0x655F4E3E, 0x2D222D3A, 0x30271C13, 0x11111520, + 0x32453F35, 0x281D1714, 0x14181E25, 0x2F3A4551, 0x6F695746, 0x362B3744, 0x372A1F17, 0x15151D2A, 0x3D4D483F, + 0x31231A14, 0x171E252E, 0x38444F5B, 0x7974614F, 0x4036404C, 0x3C2D231D, 0x1A1A2637, 0x4957524A, 0x3A2A1D15, + 0x1A252E37, 0x43505B66, 0x837F6C59, 0x4A414750, 0x3F2E2723, 0x21213245, 0x57625D54, 0x43312216, 0x1F2D3741, + 0x4D5B6671, 0x8E8B7662, 0x544B4D51, 0x3F302C2C, 0x2B2D4054, 0x656D675E, 0x4C3A281A, 0x2536414B, 0x5867717B, + 0x9896816C, 0x5E545150, 0x3F323337, 0x383C5063, 0x71777168, 0x56432F21, 0x2C3F4B56, 0x63727C86, 0xA2A08B76, + 0x685D5651, 0x3F343A43, 0x484D5F70, 0x7D827B71, 0x5F4C3829, 0x34465462, 0x6F7C8690, 0xACA99581, 0x72655B53, + 0x42394450, 0x585E6D7C, 0x878C8479, 0x68574334, 0x3D4E5E6E, 0x7B88919A, 0xB4B09E8C, 0x7C6E6155, 0x46414F5F, + 0x676E7B87, 0x92958C80, 0x71625041, 0x4857697A, 0x86929BA3, 0xBBB7A796, 0x86776658, 0x4D4B5C6E, 0x777D8791, + 0x9C9F9487, 0x7A6D5C4F, 0x54617486, 0x919CA4AB, 0xC2BBAFA1, 0x907F6C5D, 0x55576A7E, 0x8589929A, 0xA5A99D90, + 0x8478695E, 0x5F697F93, 0x9DA6ACB2, 0xC8BFB6AC, 0x9A877465, 0x6064788D, 0x92949BA1, 0xADB2A89C, 0x8F83766C, + 0x6A718AA1, 0xA9AFB2B8, 0xCEC3BDB6, 0xA4907E70, 0x6C72879B, 0x9C9CA2A8, 0xB5BBB3A9, 0x9B8E8279, 0x737693AE, + 0xB4B6B9BE, 0xD5C9C5BF, 0xAF9C8B7E, 0x7A8094A5, 0xA4A0A7B0, 0xBDC5C0B7, 0xA8998E85, 0x7B7B9AB7, 0xBDBEC0C5, + 0xDBCFCCC8, 0xBAA9998E, 0x898E9FAD, 0xA8A1ACB8, 0xC6CECCC5, 0xB6A4988F, 0x8381A0BE, 0xC4C6C8CD, 0xE0D4D3D1, + 0xC5B7A89D, 0x989CA8B3, 0xABA2B0C0, 0xCED8D8D2, 0xC2AEA298, 0x8C89A6C3, 0xCACED1D5, 0xE5DBDAD8, 0xD0C4B6AB, + 0xA6A8B1B8, 0xAEA4B5C7, 0xD6E0E3DE, 0xCDB7ABA2, 0x9590ACC9, 0xD0D5D9DC, 0xEBE1E0DE, 0xDAD1C4B9, 0xB2B2B8BC, + 0xB1A7B9CE, 0xDEE8ECE8, 0xD6BDB3AC, 0x9E98B3CE, 0xD6DBE0E3, 0xF0E9E6E3, 0xE3DDD2C6, 0xBCBABEC0, 0xB4AABED5, + 0xE5EFF3F0, 0xDDC2BBB6, 0xA79FB9D4, 0xDCE2E7E9, 0xF5F0ECE7, 0xEAE8DED2, 0xC6C1C2C3, 0xB7ADC4DD, 0xEBF3F8F5, + 0xE1C6C2C1, 0xB1A7BFD8, 0xE1E7EDF0, 0xF9F5F1EB, 0xF0F0E9DD, 0xCFC7C7C6, 0xBBB1CBE5, 0xF0F5FBF7, 0xE3CACACC, + 0xBBB0C5DC, 0xE5ECF4F6, 0xFCF9F5EE, 0xF5F7F0E7, 0xD7CDCCCB, 0xBFB7D2EB, 0xF4F7FBF6, 0xE4CDD2D6, 0xC6B9CBE0, + 0xE9F1F9FB, 0xFDFCF8F2, 0xF9FAF6EE, 0xDFD5D3D0, 0xC5BDD9F0, 0xF7F9FBF4, 0xE5D0D9E0, 0xD1C2D2E4, 0xEDF5FCFE, + 0xFEFDFAF4, 0xFBFCF9F3, 0xE6DDDAD7, 0xCBC3DEF4, 0xFAFBFCF3, 0xE5D3DEE8, 0xDBCDDAE9, 0xF2F8FEFF, 0xFEFDFCF6, + 0xFCFDFCF7, 0xECE4E2DF, 0xD2C9E3F7, 0xFCFDFBF3, 0xE5D6E4EF, 0xE3D6E1EE, 0xF6FAFEFF, 0xFEFDFDF8, 0xFCFDFDFA, + 0xF1EAE9E7, 0xD9CFE7F9, 0xFEFEFBF3, 0xE7DBE9F4, 0xEBDFE8F3, 0xF9FCFFFF, 0xFEFDFDFA, 0xFDFDFEFC, 0xF5EFEFEE, + 0xE0D5ECFB, 0xFFFEFBF3, 0xE9E1EEF8, 0xF0E6EEF6, 0xFCFDFFFF, 0xFEFDFEFC, 0xFEFDFEFE, 0xF8F4F4F3, 0xE7DDF1FD, + 0xFFFEFBF3, 0xECE7F3FC, 0xF5ECF2F9, 0xFDFEFFFF, 0xFEFDFFFE, 0xFFFDFEFE, 0xFAF7F8F7, 0xEDE5F5FE, 0xFFFEFBF5, + 0xF0EDF7FD, 0xF9F1F5FA, 0xFEFFFFFF, 0xFEFDFFFF, 0xFFFEFEFF, 0xFCFAFAFA, 0xF2ECF8FE, 0xFFFEFCF7, 0xF4F3FAFE, + 0xFBF6F8FB, 0xFEFFFFFF, 0xFEFDFFFF, 0xFFFEFEFF, 0xFDFCFCFC, 0xF7F2FBFF, 0xFFFEFCFA, 0xF8F7FCFF, 0xFEFAFBFC, + 0xFFFFFFFF, 0xFEFEFFFF, 0xFFFFFFFF, 0xFEFDFEFD, 0xFAF7FCFF, 0xFFFEFDFC, 0xFCFBFDFF, 0xFFFDFDFD, 0xFFFFFFFF, + 0xFFFEFFFF, 0xFFFFFFFF, 0xFFFEFEFE, 0xFCFAFDFF, 0xFFFEFEFE, 0xFEFDFEFF, 0xFFFFFEFD, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFDFCFEFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFEFEFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, + 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF +}; + +static Vtx sDiamondVerts[] = { + VTX(0, 0, 64, 1024, 512, 0x00, 0x00, 0x78, 0xFF), VTX(55, 0, 32, 1707, 512, 0x67, 0x00, 0x3C, 0xFF), + VTX(0, 108, 0, 1365, 0, 0x00, 0x78, 0x00, 0xFF), VTX(55, 0, -32, 2389, 512, 0x67, 0x00, 0xC4, 0xFF), + VTX(0, 108, 0, 2048, 0, 0x00, 0x78, 0x00, 0xFF), VTX(0, 0, -64, 3072, 512, 0x00, 0x00, 0x88, 0xFF), + VTX(0, 108, 0, 2731, 0, 0x00, 0x78, 0x00, 0xFF), VTX(-55, 0, -32, 3755, 512, 0x99, 0x00, 0xC4, 0xFF), + VTX(0, 108, 0, 3413, 0, 0x00, 0x78, 0x00, 0xFF), VTX(-55, 0, 32, 4437, 512, 0x98, 0x00, 0x3C, 0xFF), + VTX(0, 108, 0, 4096, 0, 0x00, 0x78, 0x00, 0xFF), VTX(-55, 0, 32, 341, 512, 0x98, 0x00, 0x3C, 0xFF), + VTX(0, 108, 0, 683, 0, 0x00, 0x78, 0x00, 0xFF), VTX(0, -108, 0, 683, 1024, 0x00, 0x88, 0x00, 0xFF), + VTX(0, -108, 0, 3413, 1024, 0x00, 0x88, 0x00, 0xFF), VTX(0, -108, 0, 2731, 1024, 0x00, 0x88, 0x00, 0xFF), + VTX(0, -108, 0, 2048, 1024, 0x00, 0x88, 0x00, 0xFF), VTX(0, -108, 0, 1365, 1024, 0x00, 0x88, 0x00, 0xFF), + VTX(-55, 0, 32, 2389, 512, 0x98, 0x00, 0x3C, 0xFF), VTX(-55, 0, -32, 1707, 512, 0x99, 0x00, 0xC4, 0xFF), +}; + +static Gfx sDiamondTextureDList[] = { + gsDPPipeSync(), + gsDPSetTextureLUT(G_TT_NONE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPLoadTextureBlock(D_04032490, G_IM_FMT_I, G_IM_SIZ_8b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP, + G_TX_NOMIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, 1), + gsDPLoadMultiBlock(sDiamondTexture, 0x0100, 1, G_IM_FMT_I, G_IM_SIZ_8b, 32, 64, 0, G_TX_NOMIRROR | G_TX_WRAP, + G_TX_MIRROR | G_TX_WRAP, 5, 6, 13, 13), + gsDPSetCombineLERP(TEXEL1, PRIMITIVE, ENV_ALPHA, TEXEL0, TEXEL1, TEXEL0, ENVIRONMENT, TEXEL0, PRIMITIVE, + ENVIRONMENT, COMBINED, ENVIRONMENT, COMBINED, 0, PRIMITIVE, 0), + gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_XLU_SURF2), + gsSPClearGeometryMode(G_FOG | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR), + gsSPSetGeometryMode(G_CULL_BACK | G_LIGHTING), + gsSPEndDisplayList(), +}; + +static Gfx sDiamondVertsDList[] = { + gsSPVertex(sDiamondVerts, 20, 0), gsSP2Triangles(0, 1, 2, 0, 1, 3, 4, 0), + gsSP2Triangles(3, 5, 6, 0, 5, 7, 8, 0), gsSP2Triangles(7, 9, 10, 0, 11, 0, 12, 0), + gsSP2Triangles(13, 0, 11, 0, 14, 7, 5, 0), gsSP2Triangles(15, 5, 3, 0, 16, 3, 1, 0), + gsSP2Triangles(17, 1, 0, 0, 16, 18, 19, 0), gsSPEndDisplayList(), +}; diff --git a/undefined_syms.txt b/undefined_syms.txt index e05c5b8cbd..964f99ba45 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -1473,6 +1473,9 @@ D_06002428 = 0x06002428; D_060023D0 = 0x060023D0; D_06002594 = 0x06002594; +// z_magic_dark +D_04032490 = 0x04032490; + // z_en_dns D_060041A8 = 0x060041A8; D_060009A0 = 0x060009A0;