diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/DemoTreLgt_Destroy.s b/asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/DemoTreLgt_Destroy.s deleted file mode 100644 index c1ca375c37..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/DemoTreLgt_Destroy.s +++ /dev/null @@ -1,11 +0,0 @@ -glabel DemoTreLgt_Destroy -/* 0006C 8099372C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00070 80993730 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 00074 80993734 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00078 80993738 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 0007C 8099373C 0C01B217 */ jal SkelCurve_Destroy -/* 00080 80993740 24C5014C */ addiu $a1, $a2, 0x014C ## $a1 = 0000014C -/* 00084 80993744 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00088 80993748 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 0008C 8099374C 03E00008 */ jr $ra -/* 00090 80993750 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/DemoTreLgt_Draw.s b/asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/DemoTreLgt_Draw.s deleted file mode 100644 index e323e235dc..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/DemoTreLgt_Draw.s +++ /dev/null @@ -1,60 +0,0 @@ -.rdata -glabel D_80993E2C - .asciz "../z_demo_tre_lgt.c" - .balign 4 - -glabel D_80993E40 - .asciz "../z_demo_tre_lgt.c" - .balign 4 - -.text -glabel DemoTreLgt_Draw -/* 005F0 80993CB0 27BDFFA8 */ addiu $sp, $sp, 0xFFA8 ## $sp = FFFFFFA8 -/* 005F4 80993CB4 AFBF002C */ sw $ra, 0x002C($sp) -/* 005F8 80993CB8 AFB00028 */ sw $s0, 0x0028($sp) -/* 005FC 80993CBC AFA40058 */ sw $a0, 0x0058($sp) -/* 00600 80993CC0 AFA5005C */ sw $a1, 0x005C($sp) -/* 00604 80993CC4 8CB00000 */ lw $s0, 0x0000($a1) ## 00000000 -/* 00608 80993CC8 3C068099 */ lui $a2, %hi(D_80993E2C) ## $a2 = 80990000 -/* 0060C 80993CCC 24C63E2C */ addiu $a2, $a2, %lo(D_80993E2C) ## $a2 = 80993E2C -/* 00610 80993CD0 27A4003C */ addiu $a0, $sp, 0x003C ## $a0 = FFFFFFE4 -/* 00614 80993CD4 240701CD */ addiu $a3, $zero, 0x01CD ## $a3 = 000001CD -/* 00618 80993CD8 0C031AB1 */ jal Graph_OpenDisps -/* 0061C 80993CDC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 00620 80993CE0 8FAF0058 */ lw $t7, 0x0058($sp) -/* 00624 80993CE4 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00628 80993CE8 8DF8016C */ lw $t8, 0x016C($t7) ## 0000016C -/* 0062C 80993CEC 5701001B */ bnel $t8, $at, .L80993D5C -/* 00630 80993CF0 8FBF002C */ lw $ra, 0x002C($sp) -/* 00634 80993CF4 0C024F61 */ jal func_80093D84 -/* 00638 80993CF8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0063C 80993CFC 8E0302D0 */ lw $v1, 0x02D0($s0) ## 000002D0 -/* 00640 80993D00 8FA40058 */ lw $a0, 0x0058($sp) -/* 00644 80993D04 3C08FB00 */ lui $t0, 0xFB00 ## $t0 = FB000000 -/* 00648 80993D08 24790008 */ addiu $t9, $v1, 0x0008 ## $t9 = 00000008 -/* 0064C 80993D0C AE1902D0 */ sw $t9, 0x02D0($s0) ## 000002D0 -/* 00650 80993D10 3C09C8FF */ lui $t1, 0xC8FF ## $t1 = C8FF0000 -/* 00654 80993D14 AC690004 */ sw $t1, 0x0004($v1) ## 00000004 -/* 00658 80993D18 AC680000 */ sw $t0, 0x0000($v1) ## 00000000 -/* 0065C 80993D1C 3C078099 */ lui $a3, %hi(func_80993B2C) ## $a3 = 80990000 -/* 00660 80993D20 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001 -/* 00664 80993D24 AFAA0014 */ sw $t2, 0x0014($sp) -/* 00668 80993D28 24E73B2C */ addiu $a3, $a3, %lo(func_80993B2C) ## $a3 = 80993B2C -/* 0066C 80993D2C AFA00010 */ sw $zero, 0x0010($sp) -/* 00670 80993D30 8FA5005C */ lw $a1, 0x005C($sp) -/* 00674 80993D34 AFA40018 */ sw $a0, 0x0018($sp) -/* 00678 80993D38 0C01B3DB */ jal SkelCurve_Draw -/* 0067C 80993D3C 2486014C */ addiu $a2, $a0, 0x014C ## $a2 = 0000014C -/* 00680 80993D40 3C068099 */ lui $a2, %hi(D_80993E40) ## $a2 = 80990000 -/* 00684 80993D44 24C63E40 */ addiu $a2, $a2, %lo(D_80993E40) ## $a2 = 80993E40 -/* 00688 80993D48 27A4003C */ addiu $a0, $sp, 0x003C ## $a0 = FFFFFFE4 -/* 0068C 80993D4C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 00690 80993D50 0C031AD5 */ jal Graph_CloseDisps -/* 00694 80993D54 240701DC */ addiu $a3, $zero, 0x01DC ## $a3 = 000001DC -/* 00698 80993D58 8FBF002C */ lw $ra, 0x002C($sp) -.L80993D5C: -/* 0069C 80993D5C 8FB00028 */ lw $s0, 0x0028($sp) -/* 006A0 80993D60 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000 -/* 006A4 80993D64 03E00008 */ jr $ra -/* 006A8 80993D68 00000000 */ nop -/* 006AC 80993D6C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/DemoTreLgt_Init.s b/asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/DemoTreLgt_Init.s deleted file mode 100644 index a1eaed5b7b..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/DemoTreLgt_Init.s +++ /dev/null @@ -1,45 +0,0 @@ -.rdata -glabel D_80993DC0 - # Construct failure - .asciz "Demo_Tre_Lgt_Actor_ct();コンストラクト失敗\n" - .balign 4 - -glabel D_80993DE4 - .asciz "1" - .balign 4 - -glabel D_80993DE8 - .asciz "../z_demo_tre_lgt.c" - .balign 4 - -.text -glabel DemoTreLgt_Init -/* 00000 809936C0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 00004 809936C4 AFB00018 */ sw $s0, 0x0018($sp) -/* 00008 809936C8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0000C 809936CC AFBF001C */ sw $ra, 0x001C($sp) -/* 00010 809936D0 AFA50024 */ sw $a1, 0x0024($sp) -/* 00014 809936D4 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00018 809936D8 3C060600 */ lui $a2, 0x0600 ## $a2 = 06000000 -/* 0001C 809936DC 3C078099 */ lui $a3, %hi(D_80993DB0) ## $a3 = 80990000 -/* 00020 809936E0 8CE73DB0 */ lw $a3, %lo(D_80993DB0)($a3) -/* 00024 809936E4 24C65EB8 */ addiu $a2, $a2, 0x5EB8 ## $a2 = 06005EB8 -/* 00028 809936E8 0C01B1DE */ jal SkelCurve_Init -/* 0002C 809936EC 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C -/* 00030 809936F0 14400003 */ bne $v0, $zero, .L80993700 -/* 00034 809936F4 3C048099 */ lui $a0, %hi(D_80993DC0) ## $a0 = 80990000 -/* 00038 809936F8 0C00084C */ jal osSyncPrintf - -/* 0003C 809936FC 24843DC0 */ addiu $a0, $a0, %lo(D_80993DC0) ## $a0 = 80993DC0 -.L80993700: -/* 00040 80993700 240200FF */ addiu $v0, $zero, 0x00FF ## $v0 = 000000FF -/* 00044 80993704 AE020170 */ sw $v0, 0x0170($s0) ## 00000170 -/* 00048 80993708 AE020174 */ sw $v0, 0x0174($s0) ## 00000174 -/* 0004C 8099370C A2000178 */ sb $zero, 0x0178($s0) ## 00000178 -/* 00050 80993710 0C264DD5 */ jal func_80993754 -/* 00054 80993714 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00058 80993718 8FBF001C */ lw $ra, 0x001C($sp) -/* 0005C 8099371C 8FB00018 */ lw $s0, 0x0018($sp) -/* 00060 80993720 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 00064 80993724 03E00008 */ jr $ra -/* 00068 80993728 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/DemoTreLgt_Update.s b/asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/DemoTreLgt_Update.s deleted file mode 100644 index 2c11f6a115..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/DemoTreLgt_Update.s +++ /dev/null @@ -1,14 +0,0 @@ -glabel DemoTreLgt_Update -/* 00438 80993AF8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 0043C 80993AFC AFBF0014 */ sw $ra, 0x0014($sp) -/* 00440 80993B00 8C8E016C */ lw $t6, 0x016C($a0) ## 0000016C -/* 00444 80993B04 3C198099 */ lui $t9, %hi(D_80993DB8) ## $t9 = 80990000 -/* 00448 80993B08 000E7880 */ sll $t7, $t6, 2 -/* 0044C 80993B0C 032FC821 */ addu $t9, $t9, $t7 -/* 00450 80993B10 8F393DB8 */ lw $t9, %lo(D_80993DB8)($t9) -/* 00454 80993B14 0320F809 */ jalr $ra, $t9 -/* 00458 80993B18 00000000 */ nop -/* 0045C 80993B1C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00460 80993B20 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00464 80993B24 03E00008 */ jr $ra -/* 00468 80993B28 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/func_80993754.s b/asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/func_80993754.s deleted file mode 100644 index baa6b83a6a..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/func_80993754.s +++ /dev/null @@ -1,3 +0,0 @@ -glabel func_80993754 -/* 00094 80993754 03E00008 */ jr $ra -/* 00098 80993758 AC80016C */ sw $zero, 0x016C($a0) ## 0000016C diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/func_8099375C.s b/asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/func_8099375C.s deleted file mode 100644 index 4360f4807e..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/func_8099375C.s +++ /dev/null @@ -1,24 +0,0 @@ -glabel func_8099375C -/* 0009C 8099375C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0 -/* 000A0 80993760 AFBF0014 */ sw $ra, 0x0014($sp) -/* 000A4 80993764 AFA50024 */ sw $a1, 0x0024($sp) -/* 000A8 80993768 8C830118 */ lw $v1, 0x0118($a0) ## 00000118 -/* 000AC 8099376C 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000 -/* 000B0 80993770 3C054120 */ lui $a1, 0x4120 ## $a1 = 41200000 -/* 000B4 80993774 1060000B */ beq $v1, $zero, .L809937A4 -/* 000B8 80993778 24640164 */ addiu $a0, $v1, 0x0164 ## $a0 = 00000164 -/* 000BC 8099377C AFA3001C */ sw $v1, 0x001C($sp) -/* 000C0 80993780 0C0295B2 */ jal func_800A56C8 -/* 000C4 80993784 AFA70020 */ sw $a3, 0x0020($sp) -/* 000C8 80993788 8FA3001C */ lw $v1, 0x001C($sp) -/* 000CC 8099378C 10400005 */ beq $v0, $zero, .L809937A4 -/* 000D0 80993790 8FA70020 */ lw $a3, 0x0020($sp) -/* 000D4 80993794 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000 -/* 000D8 80993798 8FA50024 */ lw $a1, 0x0024($sp) -/* 000DC 8099379C 0C264DED */ jal func_809937B4 -/* 000E0 809937A0 8C66017C */ lw $a2, 0x017C($v1) ## 0000017C -.L809937A4: -/* 000E4 809937A4 8FBF0014 */ lw $ra, 0x0014($sp) -/* 000E8 809937A8 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000 -/* 000EC 809937AC 03E00008 */ jr $ra -/* 000F0 809937B0 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/func_809937B4.s b/asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/func_809937B4.s deleted file mode 100644 index b3ff684966..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/func_809937B4.s +++ /dev/null @@ -1,38 +0,0 @@ -glabel func_809937B4 -/* 000F4 809937B4 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0 -/* 000F8 809937B8 AFBF001C */ sw $ra, 0x001C($sp) -/* 000FC 809937BC AFA40030 */ sw $a0, 0x0030($sp) -/* 00100 809937C0 AFA50034 */ sw $a1, 0x0034($sp) -/* 00104 809937C4 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001 -/* 00108 809937C8 AC8E016C */ sw $t6, 0x016C($a0) ## 0000016C -/* 0010C 809937CC 3C028016 */ lui $v0, %hi(gSaveContext+4) -/* 00110 809937D0 8C42E664 */ lw $v0, %lo(gSaveContext+4)($v0) -/* 00114 809937D4 3C088099 */ lui $t0, %hi(D_80993D70) ## $t0 = 80990000 -/* 00118 809937D8 25083D70 */ addiu $t0, $t0, %lo(D_80993D70) ## $t0 = 80993D70 -/* 0011C 809937DC 0002C900 */ sll $t9, $v0, 4 -/* 00120 809937E0 03281821 */ addu $v1, $t9, $t0 -/* 00124 809937E4 C4640008 */ lwc1 $f4, 0x0008($v1) ## 00000008 -/* 00128 809937E8 C4660004 */ lwc1 $f6, 0x0004($v1) ## 00000004 -/* 0012C 809937EC 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00130 809937F0 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00 -/* 00134 809937F4 46062200 */ add.s $f8, $f4, $f6 -/* 00138 809937F8 8FA40030 */ lw $a0, 0x0030($sp) -/* 0013C 809937FC 44866000 */ mtc1 $a2, $f12 ## $f12 = 0.00 -/* 00140 80993800 3C058099 */ lui $a1, %hi(D_80993DB0) ## $a1 = 80990000 -/* 00144 80993804 0002C080 */ sll $t8, $v0, 2 -/* 00148 80993808 00B82821 */ addu $a1, $a1, $t8 -/* 0014C 8099380C 44074000 */ mfc1 $a3, $f8 -/* 00150 80993810 44060000 */ mfc1 $a2, $f0 -/* 00154 80993814 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C -/* 00158 80993818 AFA40020 */ sw $a0, 0x0020($sp) -/* 0015C 8099381C 8CA53DB0 */ lw $a1, %lo(D_80993DB0)($a1) -/* 00160 80993820 E7A00014 */ swc1 $f0, 0x0014($sp) -/* 00164 80993824 0C01B225 */ jal SkelCurve_SetAnim -/* 00168 80993828 E7AC0010 */ swc1 $f12, 0x0010($sp) -/* 0016C 8099382C 8FA40034 */ lw $a0, 0x0034($sp) -/* 00170 80993830 0C01B231 */ jal SkelCurve_Update -/* 00174 80993834 8FA50020 */ lw $a1, 0x0020($sp) -/* 00178 80993838 8FBF001C */ lw $ra, 0x001C($sp) -/* 0017C 8099383C 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000 -/* 00180 80993840 03E00008 */ jr $ra -/* 00184 80993844 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/func_80993848.s b/asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/func_80993848.s deleted file mode 100644 index 2abe0eae5c..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/func_80993848.s +++ /dev/null @@ -1,189 +0,0 @@ -glabel func_80993848 -/* 00188 80993848 3C078016 */ lui $a3, %hi(gSaveContext) -/* 0018C 8099384C 24E7E660 */ addiu $a3, %lo(gSaveContext) -/* 00190 80993850 8CE30004 */ lw $v1, 0x0004($a3) ## 8015E664 -/* 00194 80993854 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 00198 80993858 3C068099 */ lui $a2, %hi(D_80993D70) ## $a2 = 80990000 -/* 0019C 8099385C 24C63D70 */ addiu $a2, $a2, %lo(D_80993D70) ## $a2 = 80993D70 -/* 001A0 80993860 00037100 */ sll $t6, $v1, 4 -/* 001A4 80993864 AFBF0024 */ sw $ra, 0x0024($sp) -/* 001A8 80993868 AFB00020 */ sw $s0, 0x0020($sp) -/* 001AC 8099386C AFA5002C */ sw $a1, 0x002C($sp) -/* 001B0 80993870 00CE7821 */ addu $t7, $a2, $t6 -/* 001B4 80993874 C4800164 */ lwc1 $f0, 0x0164($a0) ## 00000164 -/* 001B8 80993878 C5E40004 */ lwc1 $f4, 0x0004($t7) ## 00000004 -/* 001BC 8099387C 0003C900 */ sll $t9, $v1, 4 -/* 001C0 80993880 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 001C4 80993884 4604003C */ c.lt.s $f0, $f4 -/* 001C8 80993888 241800FF */ addiu $t8, $zero, 0x00FF ## $t8 = 000000FF -/* 001CC 8099388C 3C01437F */ lui $at, 0x437F ## $at = 437F0000 -/* 001D0 80993890 00D91021 */ addu $v0, $a2, $t9 -/* 001D4 80993894 45000004 */ bc1f .L809938A8 -/* 001D8 80993898 240C00FF */ addiu $t4, $zero, 0x00FF ## $t4 = 000000FF -/* 001DC 8099389C 44817000 */ mtc1 $at, $f14 ## $f14 = 255.00 -/* 001E0 809938A0 10000034 */ beq $zero, $zero, .L80993974 -/* 001E4 809938A4 AC980170 */ sw $t8, 0x0170($a0) ## 00000170 -.L809938A8: -/* 001E8 809938A8 C4420008 */ lwc1 $f2, 0x0008($v0) ## 00000008 -/* 001EC 809938AC C44C0004 */ lwc1 $f12, 0x0004($v0) ## 00000004 -/* 001F0 809938B0 3C01437F */ lui $at, 0x437F ## $at = 437F0000 -/* 001F4 809938B4 460C1180 */ add.s $f6, $f2, $f12 -/* 001F8 809938B8 4606003E */ c.le.s $f0, $f6 -/* 001FC 809938BC 00000000 */ nop -/* 00200 809938C0 4502002B */ bc1fl .L80993970 -/* 00204 809938C4 44817000 */ mtc1 $at, $f14 ## $f14 = 255.00 -/* 00208 809938C8 46006201 */ sub.s $f8, $f12, $f0 -/* 0020C 809938CC 3C01437F */ lui $at, 0x437F ## $at = 437F0000 -/* 00210 809938D0 44817000 */ mtc1 $at, $f14 ## $f14 = 255.00 -/* 00214 809938D4 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001 -/* 00218 809938D8 46024283 */ div.s $f10, $f8, $f2 -/* 0021C 809938DC 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000 -/* 00220 809938E0 460E5402 */ mul.s $f16, $f10, $f14 -/* 00224 809938E4 460E8480 */ add.s $f18, $f16, $f14 -/* 00228 809938E8 4448F800 */ cfc1 $t0, $31 -/* 0022C 809938EC 44C9F800 */ ctc1 $t1, $31 -/* 00230 809938F0 00000000 */ nop -/* 00234 809938F4 46009124 */ cvt.w.s $f4, $f18 -/* 00238 809938F8 4449F800 */ cfc1 $t1, $31 -/* 0023C 809938FC 00000000 */ nop -/* 00240 80993900 31290078 */ andi $t1, $t1, 0x0078 ## $t1 = 00000000 -/* 00244 80993904 51200013 */ beql $t1, $zero, .L80993954 -/* 00248 80993908 44092000 */ mfc1 $t1, $f4 -/* 0024C 8099390C 44812000 */ mtc1 $at, $f4 ## $f4 = 2147483648.00 -/* 00250 80993910 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001 -/* 00254 80993914 46049101 */ sub.s $f4, $f18, $f4 -/* 00258 80993918 44C9F800 */ ctc1 $t1, $31 -/* 0025C 8099391C 00000000 */ nop -/* 00260 80993920 46002124 */ cvt.w.s $f4, $f4 -/* 00264 80993924 4449F800 */ cfc1 $t1, $31 -/* 00268 80993928 00000000 */ nop -/* 0026C 8099392C 31290078 */ andi $t1, $t1, 0x0078 ## $t1 = 00000000 -/* 00270 80993930 15200005 */ bne $t1, $zero, .L80993948 -/* 00274 80993934 00000000 */ nop -/* 00278 80993938 44092000 */ mfc1 $t1, $f4 -/* 0027C 8099393C 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 00280 80993940 10000007 */ beq $zero, $zero, .L80993960 -/* 00284 80993944 01214825 */ or $t1, $t1, $at ## $t1 = 80000000 -.L80993948: -/* 00288 80993948 10000005 */ beq $zero, $zero, .L80993960 -/* 0028C 8099394C 2409FFFF */ addiu $t1, $zero, 0xFFFF ## $t1 = FFFFFFFF -/* 00290 80993950 44092000 */ mfc1 $t1, $f4 -.L80993954: -/* 00294 80993954 00000000 */ nop -/* 00298 80993958 0520FFFB */ bltz $t1, .L80993948 -/* 0029C 8099395C 00000000 */ nop -.L80993960: -/* 002A0 80993960 44C8F800 */ ctc1 $t0, $31 -/* 002A4 80993964 10000003 */ beq $zero, $zero, .L80993974 -/* 002A8 80993968 AE090170 */ sw $t1, 0x0170($s0) ## 00000170 -/* 002AC 8099396C 44817000 */ mtc1 $at, $f14 ## $f14 = -0.00 -.L80993970: -/* 002B0 80993970 AE000170 */ sw $zero, 0x0170($s0) ## 00000170 -.L80993974: -/* 002B4 80993974 8CE20004 */ lw $v0, 0x0004($a3) ## 8015E664 -/* 002B8 80993978 3C014120 */ lui $at, 0x4120 ## $at = 41200000 -/* 002BC 8099397C 00025100 */ sll $t2, $v0, 4 -/* 002C0 80993980 00CA5821 */ addu $t3, $a2, $t2 -/* 002C4 80993984 C566000C */ lwc1 $f6, 0x000C($t3) ## 0000000C -/* 002C8 80993988 00026900 */ sll $t5, $v0, 4 -/* 002CC 8099398C 00CD7021 */ addu $t6, $a2, $t5 -/* 002D0 80993990 4606003C */ c.lt.s $f0, $f6 -/* 002D4 80993994 00000000 */ nop -/* 002D8 80993998 45020004 */ bc1fl .L809939AC -/* 002DC 8099399C 44811000 */ mtc1 $at, $f2 ## $f2 = 10.00 -/* 002E0 809939A0 10000033 */ beq $zero, $zero, .L80993A70 -/* 002E4 809939A4 AE0C0174 */ sw $t4, 0x0174($s0) ## 00000174 -/* 002E8 809939A8 44811000 */ mtc1 $at, $f2 ## $f2 = 10.00 -.L809939AC: -/* 002EC 809939AC C5C8000C */ lwc1 $f8, 0x000C($t6) ## 0000000C -/* 002F0 809939B0 00027900 */ sll $t7, $v0, 4 -/* 002F4 809939B4 00CFC021 */ addu $t8, $a2, $t7 -/* 002F8 809939B8 46024280 */ add.s $f10, $f8, $f2 -/* 002FC 809939BC 460A003C */ c.lt.s $f0, $f10 -/* 00300 809939C0 00000000 */ nop -/* 00304 809939C4 4502002A */ bc1fl .L80993A70 -/* 00308 809939C8 AE000174 */ sw $zero, 0x0174($s0) ## 00000174 -/* 0030C 809939CC C710000C */ lwc1 $f16, 0x000C($t8) ## 0000010B -/* 00310 809939D0 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001 -/* 00314 809939D4 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000 -/* 00318 809939D8 46008481 */ sub.s $f18, $f16, $f0 -/* 0031C 809939DC 46029103 */ div.s $f4, $f18, $f2 -/* 00320 809939E0 460E2182 */ mul.s $f6, $f4, $f14 -/* 00324 809939E4 460E3200 */ add.s $f8, $f6, $f14 -/* 00328 809939E8 4459F800 */ cfc1 $t9, $31 -/* 0032C 809939EC 44C8F800 */ ctc1 $t0, $31 -/* 00330 809939F0 00000000 */ nop -/* 00334 809939F4 460042A4 */ cvt.w.s $f10, $f8 -/* 00338 809939F8 4448F800 */ cfc1 $t0, $31 -/* 0033C 809939FC 00000000 */ nop -/* 00340 80993A00 31080078 */ andi $t0, $t0, 0x0078 ## $t0 = 00000000 -/* 00344 80993A04 51000013 */ beql $t0, $zero, .L80993A54 -/* 00348 80993A08 44085000 */ mfc1 $t0, $f10 -/* 0034C 80993A0C 44815000 */ mtc1 $at, $f10 ## $f10 = 2147483648.00 -/* 00350 80993A10 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001 -/* 00354 80993A14 460A4281 */ sub.s $f10, $f8, $f10 -/* 00358 80993A18 44C8F800 */ ctc1 $t0, $31 -/* 0035C 80993A1C 00000000 */ nop -/* 00360 80993A20 460052A4 */ cvt.w.s $f10, $f10 -/* 00364 80993A24 4448F800 */ cfc1 $t0, $31 -/* 00368 80993A28 00000000 */ nop -/* 0036C 80993A2C 31080078 */ andi $t0, $t0, 0x0078 ## $t0 = 00000000 -/* 00370 80993A30 15000005 */ bne $t0, $zero, .L80993A48 -/* 00374 80993A34 00000000 */ nop -/* 00378 80993A38 44085000 */ mfc1 $t0, $f10 -/* 0037C 80993A3C 3C018000 */ lui $at, 0x8000 ## $at = 80000000 -/* 00380 80993A40 10000007 */ beq $zero, $zero, .L80993A60 -/* 00384 80993A44 01014025 */ or $t0, $t0, $at ## $t0 = 80000000 -.L80993A48: -/* 00388 80993A48 10000005 */ beq $zero, $zero, .L80993A60 -/* 0038C 80993A4C 2408FFFF */ addiu $t0, $zero, 0xFFFF ## $t0 = FFFFFFFF -/* 00390 80993A50 44085000 */ mfc1 $t0, $f10 -.L80993A54: -/* 00394 80993A54 00000000 */ nop -/* 00398 80993A58 0500FFFB */ bltz $t0, .L80993A48 -/* 0039C 80993A5C 00000000 */ nop -.L80993A60: -/* 003A0 80993A60 44D9F800 */ ctc1 $t9, $31 -/* 003A4 80993A64 10000002 */ beq $zero, $zero, .L80993A70 -/* 003A8 80993A68 AE080174 */ sw $t0, 0x0174($s0) ## 00000174 -/* 003AC 80993A6C AE000174 */ sw $zero, 0x0174($s0) ## 00000174 -.L80993A70: -/* 003B0 80993A70 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000 -/* 003B4 80993A74 44818000 */ mtc1 $at, $f16 ## $f16 = 30.00 -/* 003B8 80993A78 00000000 */ nop -/* 003BC 80993A7C 4600803C */ c.lt.s $f16, $f0 -/* 003C0 80993A80 00000000 */ nop -/* 003C4 80993A84 45020011 */ bc1fl .L80993ACC -/* 003C8 80993A88 8FA4002C */ lw $a0, 0x002C($sp) -/* 003CC 80993A8C 92020178 */ lbu $v0, 0x0178($s0) ## 00000178 -/* 003D0 80993A90 3C078013 */ lui $a3, %hi(D_801333E0) -/* 003D4 80993A94 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 003D8 80993A98 30490001 */ andi $t1, $v0, 0x0001 ## $t1 = 00000000 -/* 003DC 80993A9C 1520000A */ bne $t1, $zero, .L80993AC8 -/* 003E0 80993AA0 344A0001 */ ori $t2, $v0, 0x0001 ## $t2 = 00000001 -/* 003E4 80993AA4 3C0B8013 */ lui $t3, %hi(D_801333E8) -/* 003E8 80993AA8 A20A0178 */ sb $t2, 0x0178($s0) ## 00000178 -/* 003EC 80993AAC 256B33E8 */ addiu $t3, %lo(D_801333E8) -/* 003F0 80993AB0 AFAB0014 */ sw $t3, 0x0014($sp) -/* 003F4 80993AB4 AFA70010 */ sw $a3, 0x0010($sp) -/* 003F8 80993AB8 24042884 */ addiu $a0, $zero, 0x2884 ## $a0 = 00002884 -/* 003FC 80993ABC 260500E4 */ addiu $a1, $s0, 0x00E4 ## $a1 = 000000E4 -/* 00400 80993AC0 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 00404 80993AC4 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -.L80993AC8: -/* 00408 80993AC8 8FA4002C */ lw $a0, 0x002C($sp) -.L80993ACC: -/* 0040C 80993ACC 0C01B231 */ jal SkelCurve_Update -/* 00410 80993AD0 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C -/* 00414 80993AD4 50400004 */ beql $v0, $zero, .L80993AE8 -/* 00418 80993AD8 8FBF0024 */ lw $ra, 0x0024($sp) -/* 0041C 80993ADC 0C00B55C */ jal Actor_Kill - -/* 00420 80993AE0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00424 80993AE4 8FBF0024 */ lw $ra, 0x0024($sp) -.L80993AE8: -/* 00428 80993AE8 8FB00020 */ lw $s0, 0x0020($sp) -/* 0042C 80993AEC 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 00430 80993AF0 03E00008 */ jr $ra -/* 00434 80993AF4 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/func_80993B2C.s b/asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/func_80993B2C.s deleted file mode 100644 index be775836f0..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/func_80993B2C.s +++ /dev/null @@ -1,112 +0,0 @@ -.rdata -glabel D_80993E04 - .asciz "../z_demo_tre_lgt.c" - .balign 4 - -glabel D_80993E18 - .asciz "../z_demo_tre_lgt.c" - .balign 4 - -.text -glabel func_80993B2C -/* 0046C 80993B2C 27BDFF90 */ addiu $sp, $sp, 0xFF90 ## $sp = FFFFFF90 -/* 00470 80993B30 AFB00038 */ sw $s0, 0x0038($sp) -/* 00474 80993B34 AFBF003C */ sw $ra, 0x003C($sp) -/* 00478 80993B38 AFA40070 */ sw $a0, 0x0070($sp) -/* 0047C 80993B3C AFA50074 */ sw $a1, 0x0074($sp) -/* 00480 80993B40 AFA7007C */ sw $a3, 0x007C($sp) -/* 00484 80993B44 8C850000 */ lw $a1, 0x0000($a0) ## 00000000 -/* 00488 80993B48 00C08025 */ or $s0, $a2, $zero ## $s0 = 00000000 -/* 0048C 80993B4C 3C068099 */ lui $a2, %hi(D_80993E04) ## $a2 = 80990000 -/* 00490 80993B50 24C63E04 */ addiu $a2, $a2, %lo(D_80993E04) ## $a2 = 80993E04 -/* 00494 80993B54 27A40054 */ addiu $a0, $sp, 0x0054 ## $a0 = FFFFFFE4 -/* 00498 80993B58 240701A7 */ addiu $a3, $zero, 0x01A7 ## $a3 = 000001A7 -/* 0049C 80993B5C 0C031AB1 */ jal Graph_OpenDisps -/* 004A0 80993B60 AFA50064 */ sw $a1, 0x0064($sp) -/* 004A4 80993B64 8FA90064 */ lw $t1, 0x0064($sp) -/* 004A8 80993B68 8FAA0070 */ lw $t2, 0x0070($sp) -/* 004AC 80993B6C 3C18DB06 */ lui $t8, 0xDB06 ## $t8 = DB060000 -/* 004B0 80993B70 8D2202D0 */ lw $v0, 0x02D0($t1) ## 000002D0 -/* 004B4 80993B74 37180020 */ ori $t8, $t8, 0x0020 ## $t8 = DB060020 -/* 004B8 80993B78 24190040 */ addiu $t9, $zero, 0x0040 ## $t9 = 00000040 -/* 004BC 80993B7C 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008 -/* 004C0 80993B80 AD2F02D0 */ sw $t7, 0x02D0($t1) ## 000002D0 -/* 004C4 80993B84 AC580000 */ sw $t8, 0x0000($v0) ## 00000000 -/* 004C8 80993B88 8D43009C */ lw $v1, 0x009C($t2) ## 0000009C -/* 004CC 80993B8C 8D440000 */ lw $a0, 0x0000($t2) ## 00000000 -/* 004D0 80993B90 24180020 */ addiu $t8, $zero, 0x0020 ## $t8 = 00000020 -/* 004D4 80993B94 00030823 */ subu $at, $zero, $v1 -/* 004D8 80993B98 00016840 */ sll $t5, $at, 1 -/* 004DC 80993B9C 31AE00FF */ andi $t6, $t5, 0x00FF ## $t6 = 00000000 -/* 004E0 80993BA0 240F0040 */ addiu $t7, $zero, 0x0040 ## $t7 = 00000040 -/* 004E4 80993BA4 240B0020 */ addiu $t3, $zero, 0x0020 ## $t3 = 00000020 -/* 004E8 80993BA8 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001 -/* 004EC 80993BAC 00033040 */ sll $a2, $v1, 1 -/* 004F0 80993BB0 30C600FF */ andi $a2, $a2, 0x00FF ## $a2 = 00000000 -/* 004F4 80993BB4 AFAC0018 */ sw $t4, 0x0018($sp) -/* 004F8 80993BB8 AFAB0014 */ sw $t3, 0x0014($sp) -/* 004FC 80993BBC AFAF0024 */ sw $t7, 0x0024($sp) -/* 00500 80993BC0 AFAE001C */ sw $t6, 0x001C($sp) -/* 00504 80993BC4 AFB80028 */ sw $t8, 0x0028($sp) -/* 00508 80993BC8 AFA00020 */ sw $zero, 0x0020($sp) -/* 0050C 80993BCC AFB90010 */ sw $t9, 0x0010($sp) -/* 00510 80993BD0 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00514 80993BD4 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 00518 80993BD8 AFA90064 */ sw $t1, 0x0064($sp) -/* 0051C 80993BDC 0C0253D0 */ jal Gfx_TwoTexScroll -/* 00520 80993BE0 AFA20050 */ sw $v0, 0x0050($sp) -/* 00524 80993BE4 8FA80050 */ lw $t0, 0x0050($sp) -/* 00528 80993BE8 8FA90064 */ lw $t1, 0x0064($sp) -/* 0052C 80993BEC 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 00530 80993BF0 1601000E */ bne $s0, $at, .L80993C2C -/* 00534 80993BF4 AD020004 */ sw $v0, 0x0004($t0) ## 00000004 -/* 00538 80993BF8 8D2202D0 */ lw $v0, 0x02D0($t1) ## 000002D0 -/* 0053C 80993BFC 3C0BFA00 */ lui $t3, 0xFA00 ## $t3 = FA000000 -/* 00540 80993C00 356B0080 */ ori $t3, $t3, 0x0080 ## $t3 = FA000080 -/* 00544 80993C04 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 00548 80993C08 AD3902D0 */ sw $t9, 0x02D0($t1) ## 000002D0 -/* 0054C 80993C0C AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000 -/* 00550 80993C10 8FAC007C */ lw $t4, 0x007C($sp) -/* 00554 80993C14 2401B400 */ addiu $at, $zero, 0xB400 ## $at = FFFFB400 -/* 00558 80993C18 8D8D0170 */ lw $t5, 0x0170($t4) ## 00000170 -/* 0055C 80993C1C 31AE00FF */ andi $t6, $t5, 0x00FF ## $t6 = 00000000 -/* 00560 80993C20 01C17825 */ or $t7, $t6, $at ## $t7 = FFFFB400 -/* 00564 80993C24 10000016 */ beq $zero, $zero, .L80993C80 -/* 00568 80993C28 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004 -.L80993C2C: -/* 0056C 80993C2C 2401000D */ addiu $at, $zero, 0x000D ## $at = 0000000D -/* 00570 80993C30 12010007 */ beq $s0, $at, .L80993C50 -/* 00574 80993C34 24010007 */ addiu $at, $zero, 0x0007 ## $at = 00000007 -/* 00578 80993C38 12010005 */ beq $s0, $at, .L80993C50 -/* 0057C 80993C3C 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004 -/* 00580 80993C40 12010003 */ beq $s0, $at, .L80993C50 -/* 00584 80993C44 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A -/* 00588 80993C48 5601000E */ bnel $s0, $at, .L80993C84 -/* 0058C 80993C4C 8FAF0070 */ lw $t7, 0x0070($sp) -.L80993C50: -/* 00590 80993C50 8D2202D0 */ lw $v0, 0x02D0($t1) ## 000002D0 -/* 00594 80993C54 3C19FA00 */ lui $t9, 0xFA00 ## $t9 = FA000000 -/* 00598 80993C58 37390080 */ ori $t9, $t9, 0x0080 ## $t9 = FA000080 -/* 0059C 80993C5C 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 005A0 80993C60 AD3802D0 */ sw $t8, 0x02D0($t1) ## 000002D0 -/* 005A4 80993C64 AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 005A8 80993C68 8FAB007C */ lw $t3, 0x007C($sp) -/* 005AC 80993C6C 2401B400 */ addiu $at, $zero, 0xB400 ## $at = FFFFB400 -/* 005B0 80993C70 8D6C0174 */ lw $t4, 0x0174($t3) ## FA0001F4 -/* 005B4 80993C74 318D00FF */ andi $t5, $t4, 0x00FF ## $t5 = 00000000 -/* 005B8 80993C78 01A17025 */ or $t6, $t5, $at ## $t6 = FFFFB400 -/* 005BC 80993C7C AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004 -.L80993C80: -/* 005C0 80993C80 8FAF0070 */ lw $t7, 0x0070($sp) -.L80993C84: -/* 005C4 80993C84 3C068099 */ lui $a2, %hi(D_80993E18) ## $a2 = 80990000 -/* 005C8 80993C88 24C63E18 */ addiu $a2, $a2, %lo(D_80993E18) ## $a2 = 80993E18 -/* 005CC 80993C8C 27A40054 */ addiu $a0, $sp, 0x0054 ## $a0 = FFFFFFE4 -/* 005D0 80993C90 240701C0 */ addiu $a3, $zero, 0x01C0 ## $a3 = 000001C0 -/* 005D4 80993C94 0C031AD5 */ jal Graph_CloseDisps -/* 005D8 80993C98 8DE50000 */ lw $a1, 0x0000($t7) ## FFFFB400 -/* 005DC 80993C9C 8FBF003C */ lw $ra, 0x003C($sp) -/* 005E0 80993CA0 8FB00038 */ lw $s0, 0x0038($sp) -/* 005E4 80993CA4 27BD0070 */ addiu $sp, $sp, 0x0070 ## $sp = 00000000 -/* 005E8 80993CA8 03E00008 */ jr $ra -/* 005EC 80993CAC 00000000 */ nop diff --git a/data/overlays/actors/z_demo_tre_lgt.data.s b/data/overlays/actors/z_demo_tre_lgt.data.s deleted file mode 100644 index c9ab54a6ed..0000000000 --- a/data/overlays/actors/z_demo_tre_lgt.data.s +++ /dev/null @@ -1,25 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purpose registers - -.section .data - -.balign 16 - -glabel D_80993D70 - .word 0x3F800000, 0x43080000, 0x433E0000, 0x42200000, 0x3F800000, 0x43080000, 0x435C0000, 0x42480000 -glabel Demo_Tre_Lgt_InitVars - .word 0x00AA0700, 0x00000010, 0x000E0000, 0x0000017C -.word DemoTreLgt_Init -.word DemoTreLgt_Destroy -.word DemoTreLgt_Update -.word DemoTreLgt_Draw -glabel D_80993DB0 - .word 0x06004B60, 0x06004F70 -glabel D_80993DB8 - .word func_8099375C -.word func_80993848 - diff --git a/data/overlays/actors/z_demo_tre_lgt.reloc.s b/data/overlays/actors/z_demo_tre_lgt.reloc.s deleted file mode 100644 index a8b729040b..0000000000 --- a/data/overlays/actors/z_demo_tre_lgt.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_80993E60 - .incbin "baserom/ovl_Demo_Tre_Lgt", 0x7A0, 0x00000090 diff --git a/include/z64animation.h b/include/z64animation.h index 6881cbe1e9..8f575ffcbc 100755 --- a/include/z64animation.h +++ b/include/z64animation.h @@ -214,8 +214,8 @@ typedef struct { /* 0x001C */ LimbTransform* transforms; } SkelAnimeCurve; // size = 0x20 -typedef s32 (*OverrideCurveLimbDraw)(struct GlobalContext* globalCtx, SkelAnimeCurve* skelCuve, s32 limbIndex, void*); -typedef void (*PostCurveLimbDraw)(struct GlobalContext* globalCtx, SkelAnimeCurve* skelCuve, s32 limbIndex, void*); +typedef s32 (*OverrideCurveLimbDraw)(struct GlobalContext* globalCtx, SkelAnimeCurve* skelCurve, s32 limbIndex, void*); +typedef void (*PostCurveLimbDraw)(struct GlobalContext* globalCtx, SkelAnimeCurve* skelCurve, s32 limbIndex, void*); typedef s32 (*AnimationUpdateFunc)(); diff --git a/spec b/spec index 4aaaaae682..33a679007e 100644 --- a/spec +++ b/spec @@ -1579,8 +1579,7 @@ endseg beginseg name "ovl_Demo_Tre_Lgt" include "build/src/overlays/actors/ovl_Demo_Tre_Lgt/z_demo_tre_lgt.o" - include "build/data/overlays/actors/z_demo_tre_lgt.data.o" - include "build/data/overlays/actors/z_demo_tre_lgt.reloc.o" + include "build/src/overlays/actors/ovl_Demo_Tre_Lgt/ovl_Demo_Tre_Lgt_reloc.o" endseg beginseg diff --git a/src/overlays/actors/ovl_Demo_Tre_Lgt/z_demo_tre_lgt.c b/src/overlays/actors/ovl_Demo_Tre_Lgt/z_demo_tre_lgt.c index efa30cc21c..9820c70864 100644 --- a/src/overlays/actors/ovl_Demo_Tre_Lgt/z_demo_tre_lgt.c +++ b/src/overlays/actors/ovl_Demo_Tre_Lgt/z_demo_tre_lgt.c @@ -1,4 +1,5 @@ #include "z_demo_tre_lgt.h" +#include "overlays/actors/ovl_En_Box/z_en_box.h" #define FLAGS 0x00000010 @@ -9,9 +10,25 @@ void DemoTreLgt_Destroy(Actor* thisx, GlobalContext* globalCtx); void DemoTreLgt_Update(Actor* thisx, GlobalContext* globalCtx); void DemoTreLgt_Draw(Actor* thisx, GlobalContext* globalCtx); -extern UNK_TYPE D_06005EB8; +void func_80993848(DemoTreLgt* this, GlobalContext* globalCtx); +void func_80993754(DemoTreLgt* this); +void func_8099375C(DemoTreLgt* this, GlobalContext* globalCtx); +void func_809937B4(DemoTreLgt* this, GlobalContext* globalCtx, f32 currentFrame); + +extern SkelCurveLimbList D_06005EB8; + +typedef struct { + /* 0x00 */ f32 startFrame; + /* 0x04 */ f32 endFrame; + /* 0x08 */ f32 unk_08; + /* 0x0C */ f32 unk_0C; +} DemoTreLgtInfo; // size = 0x10 + +static DemoTreLgtInfo sDemoTreLgtInfo[] = { + { 1.0f, 136.0f, 190.0f, 40.0f }, + { 1.0f, 136.0f, 220.0f, 50.0f }, +}; -/* const ActorInit Demo_Tre_Lgt_InitVars = { ACTOR_DEMO_TRE_LGT, ACTORTYPE_ITEMACTION, @@ -23,21 +40,135 @@ const ActorInit Demo_Tre_Lgt_InitVars = { (ActorFunc)DemoTreLgt_Update, (ActorFunc)DemoTreLgt_Draw, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/DemoTreLgt_Init.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/DemoTreLgt_Destroy.s") +static TransformUpdateIndex* sTransformUpdIdx[] = { 0x06004B60, 0x06004F70 }; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/func_80993754.s") +static DemoTreLgtActionFunc sActionFuncs[] = { + func_8099375C, + func_80993848, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/func_8099375C.s") +void DemoTreLgt_Init(Actor* thisx, GlobalContext* globalCtx) { + DemoTreLgt* this = THIS; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/func_809937B4.s") + if (!SkelCurve_Init(globalCtx, &this->skelCurve, &D_06005EB8, sTransformUpdIdx[0])) { + osSyncPrintf("Demo_Tre_Lgt_Actor_ct();コンストラクト失敗\n"); + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/func_80993848.s") + // This assert is optimized out but it exists due to its presence in rodata + if (0) { + __assert("1", "../z_demo_tre_lgt.c", UNK_LINE); + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/DemoTreLgt_Update.s") + this->unk_170 = 255; + this->unk_174 = 255; + this->status = 0; + func_80993754(this); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/func_80993B2C.s") +void DemoTreLgt_Destroy(Actor* thisx, GlobalContext* globalCtx) { + DemoTreLgt* this = THIS; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Tre_Lgt/DemoTreLgt_Draw.s") + SkelCurve_Destroy(globalCtx, &this->skelCurve); +} + +void func_80993754(DemoTreLgt* this) { + this->action = DEMO_TRE_LGT_ACTION_WAIT; +} + +void func_8099375C(DemoTreLgt* this, GlobalContext* globalCtx) { + EnBox* treasureChest = (EnBox*)this->actor.parent; + + if (treasureChest != NULL && func_800A56C8(&treasureChest->skelanime, 10.0f)) { + func_809937B4(this, globalCtx, treasureChest->skelanime.animCurrentFrame); + } +} + +void func_809937B4(DemoTreLgt* this, GlobalContext* globalCtx, f32 currentFrame) { + SkelAnimeCurve* skelCurve = &this->skelCurve; + s32 pad[2]; + + this->action = DEMO_TRE_LGT_ACTION_ANIMATE; + + SkelCurve_SetAnim(skelCurve, sTransformUpdIdx[gSaveContext.linkAge], 1.0f, + sDemoTreLgtInfo[gSaveContext.linkAge].endFrame + + sDemoTreLgtInfo[gSaveContext.linkAge].unk_08, + currentFrame, 1.0f); + SkelCurve_Update(globalCtx, skelCurve); +} + +void func_80993848(DemoTreLgt* this, GlobalContext* globalCtx) { + f32 currentFrame = this->skelCurve.animCurFrame; + + if (currentFrame < sDemoTreLgtInfo[(0, gSaveContext.linkAge)].endFrame) { + this->unk_170 = 255; + } else { + if (currentFrame <= (sDemoTreLgtInfo[(0, gSaveContext.linkAge)].endFrame + + sDemoTreLgtInfo[(0, gSaveContext.linkAge)].unk_08)) { + this->unk_170 = ((((sDemoTreLgtInfo[(0, gSaveContext.linkAge)].endFrame - currentFrame) / + sDemoTreLgtInfo[(0, gSaveContext.linkAge)].unk_08) * + 255.0f) + + 255.0f); + } else { + this->unk_170 = 0; + } + } + if (currentFrame < sDemoTreLgtInfo[(0, gSaveContext.linkAge)].unk_0C) { + this->unk_174 = 255; + } else if (currentFrame < (sDemoTreLgtInfo[(0, gSaveContext.linkAge)].unk_0C + 10.0f)) { + this->unk_174 = + ((((sDemoTreLgtInfo[(0, gSaveContext.linkAge)].unk_0C - currentFrame) / 10.0f) * 255.0f) + + 255.0f); + } else { + this->unk_174 = 0; + } + if ((currentFrame > 30.0f) && !(this->status & 1)) { + this->status |= 1; + Audio_PlaySoundGeneral(NA_SE_EV_TRE_BOX_FLASH, &this->actor.projectedPos, 4, &D_801333E0, &D_801333E0, + &D_801333E8); + } + if (SkelCurve_Update(globalCtx, &this->skelCurve)) { + Actor_Kill(&this->actor); + } +} + +void DemoTreLgt_Update(Actor* thisx, GlobalContext* globalCtx) { + DemoTreLgt* this = THIS; + + sActionFuncs[this->action](this, globalCtx); +} + +s32 DemoTreLgt_PostLimbDraw(GlobalContext* globalCtx, SkelAnimeCurve* skelCurve, s32 limbIndex, void* thisx) { + s32 pad; + DemoTreLgt* this = THIS; + + OPEN_DISPS(globalCtx->state.gfxCtx, "../z_demo_tre_lgt.c", 423); + gSPSegment(POLY_XLU_DISP++, 0x08, + Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, (globalCtx->state.frames * 2) % 256, 0, 64, 32, 1, + (globalCtx->state.frames * -2) % 256, 0, 64, 32)); + + if (limbIndex == 1) { + gDPSetPrimColor(POLY_XLU_DISP++, 0, 0x80, 255, 255, 180, this->unk_170); + } else if ((limbIndex == 13) || (limbIndex == 7) || (limbIndex == 4) || (limbIndex == 10)) { + gDPSetPrimColor(POLY_XLU_DISP++, 0, 0x80, 255, 255, 180, this->unk_174); + } + + CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_demo_tre_lgt.c", 448); +} + +void DemoTreLgt_Draw(Actor* thisx, GlobalContext* globalCtx) { + GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; + DemoTreLgt* this = THIS; + + OPEN_DISPS(gfxCtx, "../z_demo_tre_lgt.c", 461); + + if (this->action != DEMO_TRE_LGT_ACTION_ANIMATE) { + return; + } + + func_80093D84(gfxCtx); + gDPSetEnvColor(POLY_XLU_DISP++, 200, 255, 0, 0); + SkelCurve_Draw(&this->actor, globalCtx, &this->skelCurve, DemoTreLgt_PostLimbDraw, NULL, 1, thisx); + + CLOSE_DISPS(gfxCtx, "../z_demo_tre_lgt.c", 476); +} diff --git a/src/overlays/actors/ovl_Demo_Tre_Lgt/z_demo_tre_lgt.h b/src/overlays/actors/ovl_Demo_Tre_Lgt/z_demo_tre_lgt.h index 431c093ee8..327bebadee 100644 --- a/src/overlays/actors/ovl_Demo_Tre_Lgt/z_demo_tre_lgt.h +++ b/src/overlays/actors/ovl_Demo_Tre_Lgt/z_demo_tre_lgt.h @@ -6,11 +6,22 @@ struct DemoTreLgt; +typedef void (*DemoTreLgtActionFunc)(struct DemoTreLgt*, GlobalContext*); + typedef struct DemoTreLgt { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x30]; + /* 0x014C */ SkelAnimeCurve skelCurve; + /* 0x016C */ s32 action; + /* 0x0170 */ u32 unk_170; // some sort of alpha + /* 0x0174 */ u32 unk_174; // another sort of alpha + /* 0x0178 */ u8 status; } DemoTreLgt; // size = 0x017C +typedef enum { + /* 0x00 */ DEMO_TRE_LGT_ACTION_WAIT, // wait until animation is needed + /* 0x01 */ DEMO_TRE_LGT_ACTION_ANIMATE +} DemoTreLgtAction; + extern const ActorInit Demo_Tre_Lgt_InitVars; #endif