mirror of
https://github.com/zeldaret/oot.git
synced 2024-12-26 22:56:20 +00:00
z_demo_tre_lgt OK (#521)
* z_demo_tre_lgt ok * ok * made suggested changes * fixed
This commit is contained in:
parent
60b1f5dd41
commit
81c269b417
15 changed files with 158 additions and 551 deletions
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -1,3 +0,0 @@
|
|||
glabel func_80993754
|
||||
/* 00094 80993754 03E00008 */ jr $ra
|
||||
/* 00098 80993758 AC80016C */ sw $zero, 0x016C($a0) ## 0000016C
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
||||
|
|
@ -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
|
|
@ -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)();
|
||||
|
||||
|
|
3
spec
3
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
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue