1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-11-13 04:39:36 +00:00

Decompiles fcurve_skelanime, code_8006C510, and actor MagicWind (#135)

* decompile z_fcurve_skelanime and code_8006C510

* format

* Decomp Magic_Wind

* PR Updates

* add space between ActorFunc and MagicWindFunc

* missing pr updates
This commit is contained in:
krimtonz 2020-05-19 15:27:25 -05:00 committed by GitHub
parent c599318a17
commit b8b334f90a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
32 changed files with 1309 additions and 864 deletions

View file

@ -25,7 +25,7 @@ glabel D_8013BAFC
.balign 4
.text
glabel func_8006CBAC
glabel SkelCurve_DrawLimb
/* AE3D4C 8006CBAC 27BDFF68 */ addiu $sp, $sp, -0x98
/* AE3D50 8006CBB0 AFBF002C */ sw $ra, 0x2c($sp)
/* AE3D54 8006CBB4 AFB00028 */ sw $s0, 0x28($sp)
@ -243,7 +243,7 @@ glabel func_8006CBAC
/* AE4088 8006CEE8 8FAD00B0 */ lw $t5, 0xb0($sp)
/* AE408C 8006CEEC AFB00010 */ sw $s0, 0x10($sp)
/* AE4090 8006CEF0 AFA90014 */ sw $t1, 0x14($sp)
/* AE4094 8006CEF4 0C01B2EB */ jal func_8006CBAC
/* AE4094 8006CEF4 0C01B2EB */ jal SkelCurve_DrawLimb
/* AE4098 8006CEF8 AFAD0018 */ sw $t5, 0x18($sp)
.L8006CEFC:
/* AE409C 8006CEFC 0C034221 */ jal Matrix_Pull
@ -260,7 +260,7 @@ glabel func_8006CBAC
/* AE40C8 8006CF28 8FAF00B0 */ lw $t7, 0xb0($sp)
/* AE40CC 8006CF2C AFB00010 */ sw $s0, 0x10($sp)
/* AE40D0 8006CF30 AFB80014 */ sw $t8, 0x14($sp)
/* AE40D4 8006CF34 0C01B2EB */ jal func_8006CBAC
/* AE40D4 8006CF34 0C01B2EB */ jal SkelCurve_DrawLimb
/* AE40D8 8006CF38 AFAF0018 */ sw $t7, 0x18($sp)
/* AE40DC 8006CF3C 8FB90098 */ lw $t9, 0x98($sp)
.L8006CF40:

View file

@ -1,12 +0,0 @@
glabel func_8006C750
/* AE38F0 8006C750 44800000 */ mtc1 $zero, $f0
/* AE38F4 8006C754 A0800000 */ sb $zero, ($a0)
/* AE38F8 8006C758 AC800004 */ sw $zero, 4($a0)
/* AE38FC 8006C75C AC800008 */ sw $zero, 8($a0)
/* AE3900 8006C760 AC80001C */ sw $zero, 0x1c($a0)
/* AE3904 8006C764 E4800018 */ swc1 $f0, 0x18($a0)
/* AE3908 8006C768 E4800014 */ swc1 $f0, 0x14($a0)
/* AE390C 8006C76C E4800010 */ swc1 $f0, 0x10($a0)
/* AE3910 8006C770 03E00008 */ jr $ra
/* AE3914 8006C774 E480000C */ swc1 $f0, 0xc($a0)

View file

@ -1,74 +0,0 @@
.rdata
glabel D_8013B9E0
.asciz "../z_fcurve_data_skelanime.c"
.balign 4
glabel D_8013BA00
.asciz "this->now_joint != NULL"
.balign 4
glabel D_8013BA18
.asciz "../z_fcurve_data_skelanime.c"
.balign 4
.text
glabel func_8006C778
/* AE3918 8006C778 00067100 */ sll $t6, $a2, 4
/* AE391C 8006C77C 3C088016 */ lui $t0, %hi(gSegments) # $t0, 0x8016
/* AE3920 8006C780 000E7F02 */ srl $t7, $t6, 0x1c
/* AE3924 8006C784 25086FA8 */ addiu $t0, %lo(gSegments) # addiu $t0, $t0, 0x6fa8
/* AE3928 8006C788 000FC080 */ sll $t8, $t7, 2
/* AE392C 8006C78C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* AE3930 8006C790 0118C821 */ addu $t9, $t0, $t8
/* AE3934 8006C794 8F2B0000 */ lw $t3, ($t9)
/* AE3938 8006C798 3C0900FF */ lui $t1, (0x00FFFFFF >> 16) # lui $t1, 0xff
/* AE393C 8006C79C 3529FFFF */ ori $t1, (0x00FFFFFF & 0xFFFF) # ori $t1, $t1, 0xffff
/* AE3940 8006C7A0 00C96024 */ and $t4, $a2, $t1
/* AE3944 8006C7A4 3C0A8000 */ lui $t2, 0x8000
/* AE3948 8006C7A8 016C6821 */ addu $t5, $t3, $t4
/* AE394C 8006C7AC AFBF001C */ sw $ra, 0x1c($sp)
/* AE3950 8006C7B0 AFB00018 */ sw $s0, 0x18($sp)
/* AE3954 8006C7B4 AFA40020 */ sw $a0, 0x20($sp)
/* AE3958 8006C7B8 AFA60028 */ sw $a2, 0x28($sp)
/* AE395C 8006C7BC AFA7002C */ sw $a3, 0x2c($sp)
/* AE3960 8006C7C0 01AA1021 */ addu $v0, $t5, $t2
/* AE3964 8006C7C4 904E0004 */ lbu $t6, 4($v0)
/* AE3968 8006C7C8 00A08025 */ move $s0, $a1
/* AE396C 8006C7CC 2406007D */ li $a2, 125
/* AE3970 8006C7D0 A0AE0000 */ sb $t6, ($a1)
/* AE3974 8006C7D4 8C430000 */ lw $v1, ($v0)
/* AE3978 8006C7D8 90A40000 */ lbu $a0, ($a1)
/* AE397C 8006C7DC 00037900 */ sll $t7, $v1, 4
/* AE3980 8006C7E0 000FC702 */ srl $t8, $t7, 0x1c
/* AE3984 8006C7E4 0018C880 */ sll $t9, $t8, 2
/* AE3988 8006C7E8 01195821 */ addu $t3, $t0, $t9
/* AE398C 8006C7EC 8D6C0000 */ lw $t4, ($t3)
/* AE3990 8006C7F0 00696824 */ and $t5, $v1, $t1
/* AE3994 8006C7F4 00800821 */ addu $at, $a0, $zero
/* AE3998 8006C7F8 018D7021 */ addu $t6, $t4, $t5
/* AE399C 8006C7FC 01CA7821 */ addu $t7, $t6, $t2
/* AE39A0 8006C800 ACAF0004 */ sw $t7, 4($a1)
/* AE39A4 8006C804 000420C0 */ sll $a0, $a0, 3
/* AE39A8 8006C808 00812021 */ addu $a0, $a0, $at
/* AE39AC 8006C80C 3C058014 */ lui $a1, %hi(D_8013B9E0) # $a1, 0x8014
/* AE39B0 8006C810 24A5B9E0 */ addiu $a1, %lo(D_8013B9E0) # addiu $a1, $a1, -0x4620
/* AE39B4 8006C814 0C01EBB8 */ jal ZeldaArena_MallocDebug
/* AE39B8 8006C818 00042040 */ sll $a0, $a0, 1
/* AE39BC 8006C81C 14400007 */ bnez $v0, .L8006C83C
/* AE39C0 8006C820 AE02001C */ sw $v0, 0x1c($s0)
/* AE39C4 8006C824 3C048014 */ lui $a0, %hi(D_8013BA00) # $a0, 0x8014
/* AE39C8 8006C828 3C058014 */ lui $a1, %hi(D_8013BA18)
/* AE39CC 8006C82C 24A5BA18 */ addiu $a1, %lo(D_8013BA18) # addiu $a1, $a1, -0x45e8
/* AE39D0 8006C830 2484BA00 */ addiu $a0, %lo(D_8013BA00) # addiu $a0, $a0, -0x4600
/* AE39D4 8006C834 0C0007FC */ jal __assert
/* AE39D8 8006C838 2406007F */ li $a2, 127
.L8006C83C:
/* AE39DC 8006C83C 44802000 */ mtc1 $zero, $f4
/* AE39E0 8006C840 24020001 */ li $v0, 1
/* AE39E4 8006C844 E6040018 */ swc1 $f4, 0x18($s0)
/* AE39E8 8006C848 8FBF001C */ lw $ra, 0x1c($sp)
/* AE39EC 8006C84C 8FB00018 */ lw $s0, 0x18($sp)
/* AE39F0 8006C850 27BD0020 */ addiu $sp, $sp, 0x20
/* AE39F4 8006C854 03E00008 */ jr $ra
/* AE39F8 8006C858 00000000 */ nop

View file

@ -1,23 +0,0 @@
.rdata
glabel D_8013BA38
.asciz "../z_fcurve_data_skelanime.c"
.balign 4
.text
glabel func_8006C85C
/* AE39FC 8006C85C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* AE3A00 8006C860 AFBF0014 */ sw $ra, 0x14($sp)
/* AE3A04 8006C864 AFA40018 */ sw $a0, 0x18($sp)
/* AE3A08 8006C868 8CA4001C */ lw $a0, 0x1c($a1)
/* AE3A0C 8006C86C 3C058014 */ lui $a1, %hi(D_8013BA38) # $a1, 0x8014
/* AE3A10 8006C870 24A5BA38 */ addiu $a1, %lo(D_8013BA38) # addiu $a1, $a1, -0x45c8
/* AE3A14 8006C874 50800004 */ beql $a0, $zero, .L8006C888
/* AE3A18 8006C878 8FBF0014 */ lw $ra, 0x14($sp)
/* AE3A1C 8006C87C 0C01EC35 */ jal ZeldaArena_FreeDebug
/* AE3A20 8006C880 24060092 */ li $a2, 146
/* AE3A24 8006C884 8FBF0014 */ lw $ra, 0x14($sp)
.L8006C888:
/* AE3A28 8006C888 27BD0018 */ addiu $sp, $sp, 0x18
/* AE3A2C 8006C88C 03E00008 */ jr $ra
/* AE3A30 8006C890 00000000 */ nop

View file

@ -1,14 +0,0 @@
glabel func_8006C894
/* AE3A34 8006C894 44866000 */ mtc1 $a2, $f12
/* AE3A38 8006C898 C4840014 */ lwc1 $f4, 0x14($a0)
/* AE3A3C 8006C89C 44877000 */ mtc1 $a3, $f14
/* AE3A40 8006C8A0 46046181 */ sub.s $f6, $f12, $f4
/* AE3A44 8006C8A4 E48E0010 */ swc1 $f14, 0x10($a0)
/* AE3A48 8006C8A8 E486000C */ swc1 $f6, 0xc($a0)
/* AE3A4C 8006C8AC C7A80010 */ lwc1 $f8, 0x10($sp)
/* AE3A50 8006C8B0 E4880018 */ swc1 $f8, 0x18($a0)
/* AE3A54 8006C8B4 C7AA0014 */ lwc1 $f10, 0x14($sp)
/* AE3A58 8006C8B8 AC850008 */ sw $a1, 8($a0)
/* AE3A5C 8006C8BC 03E00008 */ jr $ra
/* AE3A60 8006C8C0 E48A0014 */ swc1 $f10, 0x14($a0)

View file

@ -1,204 +0,0 @@
.late_rodata
glabel D_8013BB1C
.float 182.04445
.text
glabel func_8006C8C4
/* AE3A64 8006C8C4 27BDFF90 */ addiu $sp, $sp, -0x70
/* AE3A68 8006C8C8 AFBF0054 */ sw $ra, 0x54($sp)
/* AE3A6C 8006C8CC AFBE0050 */ sw $fp, 0x50($sp)
/* AE3A70 8006C8D0 AFB7004C */ sw $s7, 0x4c($sp)
/* AE3A74 8006C8D4 AFB60048 */ sw $s6, 0x48($sp)
/* AE3A78 8006C8D8 AFB50044 */ sw $s5, 0x44($sp)
/* AE3A7C 8006C8DC AFB40040 */ sw $s4, 0x40($sp)
/* AE3A80 8006C8E0 AFB3003C */ sw $s3, 0x3c($sp)
/* AE3A84 8006C8E4 AFB20038 */ sw $s2, 0x38($sp)
/* AE3A88 8006C8E8 AFB10034 */ sw $s1, 0x34($sp)
/* AE3A8C 8006C8EC AFB00030 */ sw $s0, 0x30($sp)
/* AE3A90 8006C8F0 F7B80028 */ sdc1 $f24, 0x28($sp)
/* AE3A94 8006C8F4 F7B60020 */ sdc1 $f22, 0x20($sp)
/* AE3A98 8006C8F8 F7B40018 */ sdc1 $f20, 0x18($sp)
/* AE3A9C 8006C8FC AFA40070 */ sw $a0, 0x70($sp)
/* AE3AA0 8006C900 AFA50074 */ sw $a1, 0x74($sp)
/* AE3AA4 8006C904 AFA00058 */ sw $zero, 0x58($sp)
/* AE3AA8 8006C908 8CA30008 */ lw $v1, 8($a1)
/* AE3AAC 8006C90C 3C088016 */ lui $t0, %hi(gSegments) # $t0, 0x8016
/* AE3AB0 8006C910 25086FA8 */ addiu $t0, %lo(gSegments) # addiu $t0, $t0, 0x6fa8
/* AE3AB4 8006C914 00037900 */ sll $t7, $v1, 4
/* AE3AB8 8006C918 000FC702 */ srl $t8, $t7, 0x1c
/* AE3ABC 8006C91C 0018C880 */ sll $t9, $t8, 2
/* AE3AC0 8006C920 01195821 */ addu $t3, $t0, $t9
/* AE3AC4 8006C924 8D6C0000 */ lw $t4, ($t3)
/* AE3AC8 8006C928 3C0900FF */ lui $t1, (0x00FFFFFF >> 16) # lui $t1, 0xff
/* AE3ACC 8006C92C 3529FFFF */ ori $t1, (0x00FFFFFF & 0xFFFF) # ori $t1, $t1, 0xffff
/* AE3AD0 8006C930 00696824 */ and $t5, $v1, $t1
/* AE3AD4 8006C934 3C0A8000 */ li $t2, 0x80000000 # 0.000000
/* AE3AD8 8006C938 018D7821 */ addu $t7, $t4, $t5
/* AE3ADC 8006C93C 01EA1021 */ addu $v0, $t7, $t2
/* AE3AE0 8006C940 8C440000 */ lw $a0, ($v0)
/* AE3AE4 8006C944 8C460004 */ lw $a2, 4($v0)
/* AE3AE8 8006C948 8C470008 */ lw $a3, 8($v0)
/* AE3AEC 8006C94C 0004C100 */ sll $t8, $a0, 4
/* AE3AF0 8006C950 0018CF02 */ srl $t9, $t8, 0x1c
/* AE3AF4 8006C954 00195880 */ sll $t3, $t9, 2
/* AE3AF8 8006C958 010B6021 */ addu $t4, $t0, $t3
/* AE3AFC 8006C95C 8D8D0000 */ lw $t5, ($t4)
/* AE3B00 8006C960 0006C900 */ sll $t9, $a2, 4
/* AE3B04 8006C964 00195F02 */ srl $t3, $t9, 0x1c
/* AE3B08 8006C968 00897824 */ and $t7, $a0, $t1
/* AE3B0C 8006C96C 000B6080 */ sll $t4, $t3, 2
/* AE3B10 8006C970 01AFC021 */ addu $t8, $t5, $t7
/* AE3B14 8006C974 010C6821 */ addu $t5, $t0, $t4
/* AE3B18 8006C978 00075900 */ sll $t3, $a3, 4
/* AE3B1C 8006C97C 8DAF0000 */ lw $t7, ($t5)
/* AE3B20 8006C980 000B6702 */ srl $t4, $t3, 0x1c
/* AE3B24 8006C984 000C6880 */ sll $t5, $t4, 2
/* AE3B28 8006C988 030A9821 */ addu $s3, $t8, $t2
/* AE3B2C 8006C98C 3C0C8016 */ lui $t4, %hi(gGameInfo)
/* AE3B30 8006C990 8D8CFA90 */ lw $t4, %lo(gGameInfo)($t4)
/* AE3B34 8006C994 00C9C024 */ and $t8, $a2, $t1
/* AE3B38 8006C998 01F8C821 */ addu $t9, $t7, $t8
/* AE3B3C 8006C99C 010D7821 */ addu $t7, $t0, $t5
/* AE3B40 8006C9A0 858D0110 */ lh $t5, 0x110($t4)
/* AE3B44 8006C9A4 C4A20014 */ lwc1 $f2, 0x14($a1)
/* AE3B48 8006C9A8 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* AE3B4C 8006C9AC 448D2000 */ mtc1 $t5, $f4
/* AE3B50 8006C9B0 44815000 */ mtc1 $at, $f10
/* AE3B54 8006C9B4 44806000 */ mtc1 $zero, $f12
/* AE3B58 8006C9B8 468021A0 */ cvt.s.w $f6, $f4
/* AE3B5C 8006C9BC C4B20018 */ lwc1 $f18, 0x18($a1)
/* AE3B60 8006C9C0 8DF80000 */ lw $t8, ($t7)
/* AE3B64 8006C9C4 032AA021 */ addu $s4, $t9, $t2
/* AE3B68 8006C9C8 00E9C824 */ and $t9, $a3, $t1
/* AE3B6C 8006C9CC 4602603E */ c.le.s $f12, $f2
/* AE3B70 8006C9D0 46061202 */ mul.s $f8, $f2, $f6
/* AE3B74 8006C9D4 03195821 */ addu $t3, $t8, $t9
/* AE3B78 8006C9D8 016AA821 */ addu $s5, $t3, $t2
/* AE3B7C 8006C9DC 8CB0001C */ lw $s0, 0x1c($a1)
/* AE3B80 8006C9E0 3C0142C8 */ li $at, 0x42C80000 # 0.000000
/* AE3B84 8006C9E4 2417000C */ li $s7, 12
/* AE3B88 8006C9E8 241E0001 */ li $fp, 1
/* AE3B8C 8006C9EC 460A4402 */ mul.s $f16, $f8, $f10
/* AE3B90 8006C9F0 46109100 */ add.s $f4, $f18, $f16
/* AE3B94 8006C9F4 45000008 */ bc1f .L8006CA18
/* AE3B98 8006C9F8 E4A40018 */ swc1 $f4, 0x18($a1)
/* AE3B9C 8006C9FC 8FAF0074 */ lw $t7, 0x74($sp)
/* AE3BA0 8006CA00 C5E00010 */ lwc1 $f0, 0x10($t7)
/* AE3BA4 8006CA04 C5E60018 */ lwc1 $f6, 0x18($t7)
/* AE3BA8 8006CA08 4606003C */ c.lt.s $f0, $f6
/* AE3BAC 8006CA0C 00000000 */ nop
/* AE3BB0 8006CA10 4503000C */ bc1tl .L8006CA44
/* AE3BB4 8006CA14 8FB90074 */ lw $t9, 0x74($sp)
.L8006CA18:
/* AE3BB8 8006CA18 460C103C */ c.lt.s $f2, $f12
/* AE3BBC 8006CA1C 8FB80074 */ lw $t8, 0x74($sp)
/* AE3BC0 8006CA20 4502000C */ bc1fl .L8006CA54
/* AE3BC4 8006CA24 8FAC0074 */ lw $t4, 0x74($sp)
/* AE3BC8 8006CA28 C7000010 */ lwc1 $f0, 0x10($t8)
/* AE3BCC 8006CA2C C7080018 */ lwc1 $f8, 0x18($t8)
/* AE3BD0 8006CA30 4600403C */ c.lt.s $f8, $f0
/* AE3BD4 8006CA34 00000000 */ nop
/* AE3BD8 8006CA38 45020006 */ bc1fl .L8006CA54
/* AE3BDC 8006CA3C 8FAC0074 */ lw $t4, 0x74($sp)
/* AE3BE0 8006CA40 8FB90074 */ lw $t9, 0x74($sp)
.L8006CA44:
/* AE3BE4 8006CA44 240B0001 */ li $t3, 1
/* AE3BE8 8006CA48 E7200018 */ swc1 $f0, 0x18($t9)
/* AE3BEC 8006CA4C AFAB0058 */ sw $t3, 0x58($sp)
/* AE3BF0 8006CA50 8FAC0074 */ lw $t4, 0x74($sp)
.L8006CA54:
/* AE3BF4 8006CA54 AFA0005C */ sw $zero, 0x5c($sp)
/* AE3BF8 8006CA58 918D0000 */ lbu $t5, ($t4)
/* AE3BFC 8006CA5C 59A00044 */ blezl $t5, .L8006CB70
/* AE3C00 8006CA60 8FBF0054 */ lw $ra, 0x54($sp)
/* AE3C04 8006CA64 4481C000 */ mtc1 $at, $f24
/* AE3C08 8006CA68 3C018014 */ lui $at, %hi(D_8013BB1C)
/* AE3C0C 8006CA6C C436BB1C */ lwc1 $f22, %lo(D_8013BB1C)($at)
/* AE3C10 8006CA70 3C014480 */ li $at, 0x44800000 # 0.000000
/* AE3C14 8006CA74 4481A000 */ mtc1 $at, $f20
/* AE3C18 8006CA78 24160003 */ li $s6, 3
/* AE3C1C 8006CA7C 00009025 */ move $s2, $zero
.L8006CA80:
/* AE3C20 8006CA80 00008825 */ move $s1, $zero
.L8006CA84:
/* AE3C24 8006CA84 92660000 */ lbu $a2, ($s3)
/* AE3C28 8006CA88 8FB90074 */ lw $t9, 0x74($sp)
/* AE3C2C 8006CA8C 02802825 */ move $a1, $s4
/* AE3C30 8006CA90 14C0000E */ bnez $a2, .L8006CACC
/* AE3C34 8006CA94 00000000 */ nop
/* AE3C38 8006CA98 96AE0000 */ lhu $t6, ($s5)
/* AE3C3C 8006CA9C 3C014F80 */ li $at, 0x4F800000 # 0.000000
/* AE3C40 8006CAA0 448E5000 */ mtc1 $t6, $f10
/* AE3C44 8006CAA4 05C10004 */ bgez $t6, .L8006CAB8
/* AE3C48 8006CAA8 46805020 */ cvt.s.w $f0, $f10
/* AE3C4C 8006CAAC 44819000 */ mtc1 $at, $f18
/* AE3C50 8006CAB0 00000000 */ nop
/* AE3C54 8006CAB4 46120000 */ add.s $f0, $f0, $f18
.L8006CAB8:
/* AE3C58 8006CAB8 4600040D */ trunc.w.s $f16, $f0
/* AE3C5C 8006CABC 26B50002 */ addiu $s5, $s5, 2
/* AE3C60 8006CAC0 44188000 */ mfc1 $t8, $f16
/* AE3C64 8006CAC4 1000001A */ b .L8006CB30
/* AE3C68 8006CAC8 A6180000 */ sh $t8, ($s0)
.L8006CACC:
/* AE3C6C 8006CACC 0C01B16A */ jal func_8006C5A8
/* AE3C70 8006CAD0 C72C0018 */ lwc1 $f12, 0x18($t9)
/* AE3C74 8006CAD4 926B0000 */ lbu $t3, ($s3)
/* AE3C78 8006CAD8 01770019 */ multu $t3, $s7
/* AE3C7C 8006CADC 00006012 */ mflo $t4
/* AE3C80 8006CAE0 028CA021 */ addu $s4, $s4, $t4
/* AE3C84 8006CAE4 16400006 */ bnez $s2, .L8006CB00
/* AE3C88 8006CAE8 00000000 */ nop
/* AE3C8C 8006CAEC 46140102 */ mul.s $f4, $f0, $f20
/* AE3C90 8006CAF0 4600218D */ trunc.w.s $f6, $f4
/* AE3C94 8006CAF4 440E3000 */ mfc1 $t6, $f6
/* AE3C98 8006CAF8 1000000D */ b .L8006CB30
/* AE3C9C 8006CAFC A60E0000 */ sh $t6, ($s0)
.L8006CB00:
/* AE3CA0 8006CB00 165E0006 */ bne $s2, $fp, .L8006CB1C
/* AE3CA4 8006CB04 00000000 */ nop
/* AE3CA8 8006CB08 46160202 */ mul.s $f8, $f0, $f22
/* AE3CAC 8006CB0C 4600428D */ trunc.w.s $f10, $f8
/* AE3CB0 8006CB10 44185000 */ mfc1 $t8, $f10
/* AE3CB4 8006CB14 10000006 */ b .L8006CB30
/* AE3CB8 8006CB18 A6180000 */ sh $t8, ($s0)
.L8006CB1C:
/* AE3CBC 8006CB1C 46180482 */ mul.s $f18, $f0, $f24
/* AE3CC0 8006CB20 4600940D */ trunc.w.s $f16, $f18
/* AE3CC4 8006CB24 440B8000 */ mfc1 $t3, $f16
/* AE3CC8 8006CB28 00000000 */ nop
/* AE3CCC 8006CB2C A60B0000 */ sh $t3, ($s0)
.L8006CB30:
/* AE3CD0 8006CB30 26310001 */ addiu $s1, $s1, 1
/* AE3CD4 8006CB34 26730001 */ addiu $s3, $s3, 1
/* AE3CD8 8006CB38 1636FFD2 */ bne $s1, $s6, .L8006CA84
/* AE3CDC 8006CB3C 26100002 */ addiu $s0, $s0, 2
/* AE3CE0 8006CB40 26520001 */ addiu $s2, $s2, 1
/* AE3CE4 8006CB44 5656FFCF */ bnel $s2, $s6, .L8006CA84
/* AE3CE8 8006CB48 00008825 */ move $s1, $zero
/* AE3CEC 8006CB4C 8FAC005C */ lw $t4, 0x5c($sp)
/* AE3CF0 8006CB50 8FAE0074 */ lw $t6, 0x74($sp)
/* AE3CF4 8006CB54 258D0001 */ addiu $t5, $t4, 1
/* AE3CF8 8006CB58 AFAD005C */ sw $t5, 0x5c($sp)
/* AE3CFC 8006CB5C 91CF0000 */ lbu $t7, ($t6)
/* AE3D00 8006CB60 01AF082A */ slt $at, $t5, $t7
/* AE3D04 8006CB64 5420FFC6 */ bnezl $at, .L8006CA80
/* AE3D08 8006CB68 00009025 */ move $s2, $zero
/* AE3D0C 8006CB6C 8FBF0054 */ lw $ra, 0x54($sp)
.L8006CB70:
/* AE3D10 8006CB70 8FA20058 */ lw $v0, 0x58($sp)
/* AE3D14 8006CB74 D7B40018 */ ldc1 $f20, 0x18($sp)
/* AE3D18 8006CB78 D7B60020 */ ldc1 $f22, 0x20($sp)
/* AE3D1C 8006CB7C D7B80028 */ ldc1 $f24, 0x28($sp)
/* AE3D20 8006CB80 8FB00030 */ lw $s0, 0x30($sp)
/* AE3D24 8006CB84 8FB10034 */ lw $s1, 0x34($sp)
/* AE3D28 8006CB88 8FB20038 */ lw $s2, 0x38($sp)
/* AE3D2C 8006CB8C 8FB3003C */ lw $s3, 0x3c($sp)
/* AE3D30 8006CB90 8FB40040 */ lw $s4, 0x40($sp)
/* AE3D34 8006CB94 8FB50044 */ lw $s5, 0x44($sp)
/* AE3D38 8006CB98 8FB60048 */ lw $s6, 0x48($sp)
/* AE3D3C 8006CB9C 8FB7004C */ lw $s7, 0x4c($sp)
/* AE3D40 8006CBA0 8FBE0050 */ lw $fp, 0x50($sp)
/* AE3D44 8006CBA4 03E00008 */ jr $ra
/* AE3D48 8006CBA8 27BD0070 */ addiu $sp, $sp, 0x70

View file

@ -1,20 +0,0 @@
glabel func_8006CF6C
/* AE410C 8006CF6C 27BDFFD8 */ addiu $sp, $sp, -0x28
/* AE4110 8006CF70 AFBF0024 */ sw $ra, 0x24($sp)
/* AE4114 8006CF74 AFA40028 */ sw $a0, 0x28($sp)
/* AE4118 8006CF78 8CCE001C */ lw $t6, 0x1c($a2)
/* AE411C 8006CF7C 00A02025 */ move $a0, $a1
/* AE4120 8006CF80 00002825 */ move $a1, $zero
/* AE4124 8006CF84 11C00007 */ beqz $t6, .L8006CFA4
/* AE4128 8006CF88 8FAF0038 */ lw $t7, 0x38($sp)
/* AE412C 8006CF8C 8FB8003C */ lw $t8, 0x3c($sp)
/* AE4130 8006CF90 8FB90040 */ lw $t9, 0x40($sp)
/* AE4134 8006CF94 AFAF0010 */ sw $t7, 0x10($sp)
/* AE4138 8006CF98 AFB80014 */ sw $t8, 0x14($sp)
/* AE413C 8006CF9C 0C01B2EB */ jal func_8006CBAC
/* AE4140 8006CFA0 AFB90018 */ sw $t9, 0x18($sp)
.L8006CFA4:
/* AE4144 8006CFA4 8FBF0024 */ lw $ra, 0x24($sp)
/* AE4148 8006CFA8 27BD0028 */ addiu $sp, $sp, 0x28
/* AE414C 8006CFAC 03E00008 */ jr $ra
/* AE4150 8006CFB0 00000000 */ nop

View file

@ -1,22 +1,22 @@
glabel DemoEffect_Destroy
/* 009C4 80971914 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 009C8 80971918 AFBF0014 */ sw $ra, 0x0014($sp)
/* 009C8 80971918 AFBF0014 */ sw $ra, 0x0014($sp)
/* 009CC 8097191C 8482001C */ lh $v0, 0x001C($a0) ## 0000001C
/* 009D0 80971920 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
/* 009D4 80971924 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 009D8 80971928 304200FF */ andi $v0, $v0, 0x00FF ## $v0 = 00000000
/* 009DC 8097192C 10410005 */ beq $v0, $at, .L80971944
/* 009DC 8097192C 10410005 */ beq $v0, $at, .L80971944
/* 009E0 80971930 00A03825 */ or $a3, $a1, $zero ## $a3 = 00000000
/* 009E4 80971934 24010018 */ addiu $at, $zero, 0x0018 ## $at = 00000018
/* 009E8 80971938 10410002 */ beq $v0, $at, .L80971944
/* 009E8 80971938 10410002 */ beq $v0, $at, .L80971944
/* 009EC 8097193C 24010019 */ addiu $at, $zero, 0x0019 ## $at = 00000019
/* 009F0 80971940 14410003 */ bne $v0, $at, .L80971950
/* 009F0 80971940 14410003 */ bne $v0, $at, .L80971950
.L80971944:
/* 009F4 80971944 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 009F8 80971948 0C01B217 */ jal func_8006C85C
/* 009F8 80971948 0C01B217 */ jal SkelCurve_Destroy
/* 009FC 8097194C 24C5014C */ addiu $a1, $a2, 0x014C ## $a1 = 0000014C
.L80971950:
/* 00A00 80971950 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00A00 80971950 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00A04 80971954 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00A08 80971958 03E00008 */ jr $ra
/* 00A08 80971958 03E00008 */ jr $ra
/* 00A0C 8097195C 00000000 */ nop

View file

@ -63,54 +63,54 @@ glabel jtbl_80976CC0
.text
glabel DemoEffect_Init
/* 00170 809710C0 27BDFFA0 */ addiu $sp, $sp, 0xFFA0 ## $sp = FFFFFFA0
/* 00174 809710C4 AFBF003C */ sw $ra, 0x003C($sp)
/* 00178 809710C8 AFB00038 */ sw $s0, 0x0038($sp)
/* 0017C 809710CC AFA50064 */ sw $a1, 0x0064($sp)
/* 00174 809710C4 AFBF003C */ sw $ra, 0x003C($sp)
/* 00178 809710C8 AFB00038 */ sw $s0, 0x0038($sp)
/* 0017C 809710CC AFA50064 */ sw $a1, 0x0064($sp)
/* 00180 809710D0 8482001C */ lh $v0, 0x001C($a0) ## 0000001C
/* 00184 809710D4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00188 809710D8 3C048097 */ lui $a0, %hi(D_80976880) ## $a0 = 80970000
/* 0018C 809710DC 304EF000 */ andi $t6, $v0, 0xF000 ## $t6 = 00000000
/* 00190 809710E0 000E7B03 */ sra $t7, $t6, 12
/* 00190 809710E0 000E7B03 */ sra $t7, $t6, 12
/* 00194 809710E4 304500FF */ andi $a1, $v0, 0x00FF ## $a1 = 00000000
/* 00198 809710E8 AFAF0050 */ sw $t7, 0x0050($sp)
/* 0019C 809710EC AFA50054 */ sw $a1, 0x0054($sp)
/* 00198 809710E8 AFAF0050 */ sw $t7, 0x0050($sp)
/* 0019C 809710EC AFA50054 */ sw $a1, 0x0054($sp)
/* 001A0 809710F0 0C00084C */ jal osSyncPrintf
/* 001A4 809710F4 24846880 */ addiu $a0, $a0, %lo(D_80976880) ## $a0 = 80976880
/* 001A8 809710F8 8FB80054 */ lw $t8, 0x0054($sp)
/* 001A8 809710F8 8FB80054 */ lw $t8, 0x0054($sp)
/* 001AC 809710FC 3C058097 */ lui $a1, %hi(D_80976814) ## $a1 = 80970000
/* 001B0 80971100 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 001B4 80971104 0018C840 */ sll $t9, $t8, 1
/* 001B8 80971108 00B92821 */ addu $a1, $a1, $t9
/* 001BC 8097110C 84A56814 */ lh $a1, %lo(D_80976814)($a1)
/* 001C0 80971110 8FA40064 */ lw $a0, 0x0064($sp)
/* 001C4 80971114 54A10004 */ bnel $a1, $at, .L80971128
/* 001B4 80971104 0018C840 */ sll $t9, $t8, 1
/* 001B8 80971108 00B92821 */ addu $a1, $a1, $t9
/* 001BC 8097110C 84A56814 */ lh $a1, %lo(D_80976814)($a1)
/* 001C0 80971110 8FA40064 */ lw $a0, 0x0064($sp)
/* 001C4 80971114 54A10004 */ bnel $a1, $at, .L80971128
/* 001C8 80971118 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 001CC 8097111C 10000006 */ beq $zero, $zero, .L80971138
/* 001CC 8097111C 10000006 */ beq $zero, $zero, .L80971138
/* 001D0 80971120 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 001D4 80971124 3C010001 */ lui $at, 0x0001 ## $at = 00010000
.L80971128:
/* 001D8 80971128 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4
/* 001DC 8097112C 0C02604B */ jal Object_GetIndex
## ObjectIndex
/* 001E0 80971130 00812021 */ addu $a0, $a0, $at
/* 001E0 80971130 00812021 */ addu $a0, $a0, $at
/* 001E4 80971134 00402825 */ or $a1, $v0, $zero ## $a1 = 00000000
.L80971138:
/* 001E8 80971138 3C048097 */ lui $a0, %hi(D_80976894) ## $a0 = 80970000
/* 001EC 8097113C 24846894 */ addiu $a0, $a0, %lo(D_80976894) ## $a0 = 80976894
/* 001F0 80971140 0C00084C */ jal osSyncPrintf
/* 001F4 80971144 AFA5004C */ sw $a1, 0x004C($sp)
/* 001F8 80971148 8FA5004C */ lw $a1, 0x004C($sp)
/* 001F4 80971144 AFA5004C */ sw $a1, 0x004C($sp)
/* 001F8 80971148 8FA5004C */ lw $a1, 0x004C($sp)
/* 001FC 8097114C 3C048097 */ lui $a0, %hi(D_809768AC) ## $a0 = 80970000
/* 00200 80971150 248468AC */ addiu $a0, $a0, %lo(D_809768AC) ## $a0 = 809768AC
/* 00204 80971154 04A10006 */ bgez $a1, .L80971170
/* 00204 80971154 04A10006 */ bgez $a1, .L80971170
/* 00208 80971158 240602D3 */ addiu $a2, $zero, 0x02D3 ## $a2 = 000002D3
/* 0020C 8097115C 3C058097 */ lui $a1, %hi(D_809768B0) ## $a1 = 80970000
/* 00210 80971160 0C0007FC */ jal __assert
/* 00214 80971164 24A568B0 */ addiu $a1, $a1, %lo(D_809768B0) ## $a1 = 809768B0
/* 00218 80971168 10000003 */ beq $zero, $zero, .L80971178
/* 00218 80971168 10000003 */ beq $zero, $zero, .L80971178
/* 0021C 8097116C 3C053E4C */ lui $a1, 0x3E4C ## $a1 = 3E4C0000
.L80971170:
/* 00220 80971170 A205016C */ sb $a1, 0x016C($s0) ## 0000016C
@ -119,16 +119,16 @@ glabel DemoEffect_Init
/* 00228 80971178 A600018A */ sh $zero, 0x018A($s0) ## 0000018A
/* 0022C 8097117C 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3E4CCCCD
/* 00230 80971180 0C00B58B */ jal Actor_SetScale
/* 00234 80971184 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00238 80971188 8FA80054 */ lw $t0, 0x0054($sp)
/* 0023C 8097118C 2D01001A */ sltiu $at, $t0, 0x001A
/* 00240 80971190 102001CA */ beq $at, $zero, .L809718BC
/* 00244 80971194 00084080 */ sll $t0, $t0, 2
/* 00238 80971188 8FA80054 */ lw $t0, 0x0054($sp)
/* 0023C 8097118C 2D01001A */ sltiu $at, $t0, 0x001A
/* 00240 80971190 102001CA */ beq $at, $zero, .L809718BC
/* 00244 80971194 00084080 */ sll $t0, $t0, 2
/* 00248 80971198 3C018097 */ lui $at, %hi(jtbl_80976C58) ## $at = 80970000
/* 0024C 8097119C 00280821 */ addu $at, $at, $t0
/* 00250 809711A0 8C286C58 */ lw $t0, %lo(jtbl_80976C58)($at)
/* 00254 809711A4 01000008 */ jr $t0
/* 0024C 8097119C 00280821 */ addu $at, $at, $t0
/* 00250 809711A0 8C286C58 */ lw $t0, %lo(jtbl_80976C58)($at)
/* 00254 809711A4 01000008 */ jr $t0
/* 00258 809711A8 00000000 */ nop
glabel L809711AC
/* 0025C 809711AC 3C098097 */ lui $t1, %hi(func_80974B80) ## $t1 = 80970000
@ -136,7 +136,7 @@ glabel L809711AC
/* 00264 809711B4 25294B80 */ addiu $t1, $t1, %lo(func_80974B80) ## $t1 = 80974B80
/* 00268 809711B8 254A19F0 */ addiu $t2, $t2, %lo(func_809719F0) ## $t2 = 809719F0
/* 0026C 809711BC AE090198 */ sw $t1, 0x0198($s0) ## 00000198
/* 00270 809711C0 100001C4 */ beq $zero, $zero, .L809718D4
/* 00270 809711C0 100001C4 */ beq $zero, $zero, .L809718D4
/* 00274 809711C4 AE0A0194 */ sw $t2, 0x0194($s0) ## 00000194
glabel L809711C8
/* 00278 809711C8 3C0B8097 */ lui $t3, %hi(func_80974EB4) ## $t3 = 80970000
@ -148,9 +148,9 @@ glabel L809711C8
/* 00290 809711E0 AE0C0194 */ sw $t4, 0x0194($s0) ## 00000194
/* 00294 809711E4 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3DCCCCCD
/* 00298 809711E8 0C00B58B */ jal Actor_SetScale
/* 0029C 809711EC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 002A0 809711F0 100001B9 */ beq $zero, $zero, .L809718D8
/* 002A0 809711F0 100001B9 */ beq $zero, $zero, .L809718D8
/* 002A4 809711F4 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
glabel L809711F8
/* 002A8 809711F8 3C0D8097 */ lui $t5, %hi(func_8097571C) ## $t5 = 80970000
@ -167,7 +167,7 @@ glabel L809711F8
/* 002D4 80971224 A6000188 */ sh $zero, 0x0188($s0) ## 00000188
/* 002D8 80971228 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3D4CCCCD
/* 002DC 8097122C 0C00B58B */ jal Actor_SetScale
/* 002E0 80971230 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 002E4 80971234 240200FF */ addiu $v0, $zero, 0x00FF ## $v0 = 000000FF
/* 002E8 80971238 241800BC */ addiu $t8, $zero, 0x00BC ## $t8 = 000000BC
@ -177,7 +177,7 @@ glabel L809711F8
/* 002F8 80971248 A202017A */ sb $v0, 0x017A($s0) ## 0000017A
/* 002FC 8097124C A219017C */ sb $t9, 0x017C($s0) ## 0000017C
/* 00300 80971250 A202017D */ sb $v0, 0x017D($s0) ## 0000017D
/* 00304 80971254 1000019F */ beq $zero, $zero, .L809718D4
/* 00304 80971254 1000019F */ beq $zero, $zero, .L809718D4
/* 00308 80971258 A200017B */ sb $zero, 0x017B($s0) ## 0000017B
glabel L8097125C
/* 0030C 8097125C 3C088097 */ lui $t0, %hi(func_80975494) ## $t0 = 80970000
@ -191,14 +191,14 @@ glabel L8097125C
/* 0032C 8097127C A2000185 */ sb $zero, 0x0185($s0) ## 00000185
/* 00330 80971280 A2000186 */ sb $zero, 0x0186($s0) ## 00000186
/* 00334 80971284 A6000188 */ sh $zero, 0x0188($s0) ## 00000188
/* 00338 80971288 8FAA0050 */ lw $t2, 0x0050($sp)
/* 0033C 8097128C 2D410007 */ sltiu $at, $t2, 0x0007
/* 00340 80971290 1020003E */ beq $at, $zero, .L8097138C
/* 00344 80971294 000A5080 */ sll $t2, $t2, 2
/* 00338 80971288 8FAA0050 */ lw $t2, 0x0050($sp)
/* 0033C 8097128C 2D410007 */ sltiu $at, $t2, 0x0007
/* 00340 80971290 1020003E */ beq $at, $zero, .L8097138C
/* 00344 80971294 000A5080 */ sll $t2, $t2, 2
/* 00348 80971298 3C018097 */ lui $at, %hi(jtbl_80976CC0) ## $at = 80970000
/* 0034C 8097129C 002A0821 */ addu $at, $at, $t2
/* 00350 809712A0 8C2A6CC0 */ lw $t2, %lo(jtbl_80976CC0)($at)
/* 00354 809712A4 01400008 */ jr $t2
/* 0034C 8097129C 002A0821 */ addu $at, $at, $t2
/* 00350 809712A0 8C2A6CC0 */ lw $t2, %lo(jtbl_80976CC0)($at)
/* 00354 809712A4 01400008 */ jr $t2
/* 00358 809712A8 00000000 */ nop
glabel L809712AC
/* 0035C 809712AC 240B0032 */ addiu $t3, $zero, 0x0032 ## $t3 = 00000032
@ -207,7 +207,7 @@ glabel L809712AC
/* 00368 809712B8 A202017A */ sb $v0, 0x017A($s0) ## 0000017A
/* 0036C 809712BC A20B017C */ sb $t3, 0x017C($s0) ## 0000017C
/* 00370 809712C0 A202017B */ sb $v0, 0x017B($s0) ## 0000017B
/* 00374 809712C4 10000031 */ beq $zero, $zero, .L8097138C
/* 00374 809712C4 10000031 */ beq $zero, $zero, .L8097138C
/* 00378 809712C8 A200017D */ sb $zero, 0x017D($s0) ## 0000017D
glabel L809712CC
/* 0037C 809712CC 240C0096 */ addiu $t4, $zero, 0x0096 ## $t4 = 00000096
@ -216,7 +216,7 @@ glabel L809712CC
/* 00388 809712D8 A202017A */ sb $v0, 0x017A($s0) ## 0000017A
/* 0038C 809712DC A20C017C */ sb $t4, 0x017C($s0) ## 0000017C
/* 00390 809712E0 A200017B */ sb $zero, 0x017B($s0) ## 0000017B
/* 00394 809712E4 10000029 */ beq $zero, $zero, .L8097138C
/* 00394 809712E4 10000029 */ beq $zero, $zero, .L8097138C
/* 00398 809712E8 A202017D */ sb $v0, 0x017D($s0) ## 0000017D
glabel L809712EC
/* 0039C 809712EC 240D00C8 */ addiu $t5, $zero, 0x00C8 ## $t5 = 000000C8
@ -225,7 +225,7 @@ glabel L809712EC
/* 003A8 809712F8 A202017A */ sb $v0, 0x017A($s0) ## 0000017A
/* 003AC 809712FC A20D017C */ sb $t5, 0x017C($s0) ## 0000017C
/* 003B0 80971300 A200017B */ sb $zero, 0x017B($s0) ## 0000017B
/* 003B4 80971304 10000021 */ beq $zero, $zero, .L8097138C
/* 003B4 80971304 10000021 */ beq $zero, $zero, .L8097138C
/* 003B8 80971308 A200017D */ sb $zero, 0x017D($s0) ## 0000017D
glabel L8097130C
/* 003BC 8097130C 240E0096 */ addiu $t6, $zero, 0x0096 ## $t6 = 00000096
@ -234,7 +234,7 @@ glabel L8097130C
/* 003C8 80971318 A202017A */ sb $v0, 0x017A($s0) ## 0000017A
/* 003CC 8097131C A20E017C */ sb $t6, 0x017C($s0) ## 0000017C
/* 003D0 80971320 A202017B */ sb $v0, 0x017B($s0) ## 0000017B
/* 003D4 80971324 10000019 */ beq $zero, $zero, .L8097138C
/* 003D4 80971324 10000019 */ beq $zero, $zero, .L8097138C
/* 003D8 80971328 A200017D */ sb $zero, 0x017D($s0) ## 0000017D
glabel L8097132C
/* 003DC 8097132C 240F00C8 */ addiu $t7, $zero, 0x00C8 ## $t7 = 000000C8
@ -243,7 +243,7 @@ glabel L8097132C
/* 003E8 80971338 A202017A */ sb $v0, 0x017A($s0) ## 0000017A
/* 003EC 8097133C A20F017B */ sb $t7, 0x017B($s0) ## 0000017B
/* 003F0 80971340 A202017C */ sb $v0, 0x017C($s0) ## 0000017C
/* 003F4 80971344 10000011 */ beq $zero, $zero, .L8097138C
/* 003F4 80971344 10000011 */ beq $zero, $zero, .L8097138C
/* 003F8 80971348 A200017D */ sb $zero, 0x017D($s0) ## 0000017D
glabel L8097134C
/* 003FC 8097134C 241800C8 */ addiu $t8, $zero, 0x00C8 ## $t8 = 000000C8
@ -253,7 +253,7 @@ glabel L8097134C
/* 0040C 8097135C A202017A */ sb $v0, 0x017A($s0) ## 0000017A
/* 00410 80971360 A219017C */ sb $t9, 0x017C($s0) ## 0000017C
/* 00414 80971364 A218017B */ sb $t8, 0x017B($s0) ## 0000017B
/* 00418 80971368 10000008 */ beq $zero, $zero, .L8097138C
/* 00418 80971368 10000008 */ beq $zero, $zero, .L8097138C
/* 0041C 8097136C A202017D */ sb $v0, 0x017D($s0) ## 0000017D
glabel L80971370
/* 00420 80971370 240800C8 */ addiu $t0, $zero, 0x00C8 ## $t0 = 000000C8
@ -268,9 +268,9 @@ glabel L80971370
/* 00440 80971390 A609018C */ sh $t1, 0x018C($s0) ## 0000018C
/* 00444 80971394 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00448 80971398 0C00B58B */ jal Actor_SetScale
/* 0044C 8097139C 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
/* 00450 809713A0 1000014D */ beq $zero, $zero, .L809718D8
/* 00450 809713A0 1000014D */ beq $zero, $zero, .L809718D8
/* 00454 809713A4 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
glabel L809713A8
/* 00458 809713A8 3C0A8097 */ lui $t2, %hi(func_8097587C) ## $t2 = 80970000
@ -280,13 +280,13 @@ glabel L809713A8
/* 00468 809713B8 256B2E3C */ addiu $t3, $t3, %lo(func_80972E3C) ## $t3 = 80972E3C
/* 0046C 809713BC A2020184 */ sb $v0, 0x0184($s0) ## 00000184
/* 00470 809713C0 AE0A0198 */ sw $t2, 0x0198($s0) ## 00000198
/* 00474 809713C4 10000143 */ beq $zero, $zero, .L809718D4
/* 00474 809713C4 10000143 */ beq $zero, $zero, .L809718D4
/* 00478 809713C8 AE0B0194 */ sw $t3, 0x0194($s0) ## 00000194
glabel L809713CC
/* 0047C 809713CC 3C053DCC */ lui $a1, 0x3DCC ## $a1 = 3DCC0000
/* 00480 809713D0 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3DCCCCCD
/* 00484 809713D4 0C00B58B */ jal Actor_SetScale
/* 00488 809713D8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0048C 809713DC 240200FF */ addiu $v0, $zero, 0x00FF ## $v0 = 000000FF
/* 00490 809713E0 3C0C8097 */ lui $t4, %hi(func_80975074) ## $t4 = 80970000
@ -304,24 +304,24 @@ glabel L809713CC
/* 004C0 80971410 A2000184 */ sb $zero, 0x0184($s0) ## 00000184
/* 004C4 80971414 A2000186 */ sb $zero, 0x0186($s0) ## 00000186
/* 004C8 80971418 AE0D0194 */ sw $t5, 0x0194($s0) ## 00000194
/* 004CC 8097141C 1000012D */ beq $zero, $zero, .L809718D4
/* 004CC 8097141C 1000012D */ beq $zero, $zero, .L809718D4
/* 004D0 80971420 A600018C */ sh $zero, 0x018C($s0) ## 0000018C
glabel L80971424
/* 004D4 80971424 3C0E8016 */ lui $t6, %hi(gSaveContext)
/* 004D8 80971428 8DCEE660 */ lw $t6, %lo(gSaveContext)($t6)
/* 004DC 8097142C 2401013D */ addiu $at, $zero, 0x013D ## $at = 0000013D
/* 004E0 80971430 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 004E4 80971434 15C10006 */ bne $t6, $at, .L80971450
/* 004E4 80971434 15C10006 */ bne $t6, $at, .L80971450
/* 004E8 80971438 3C053DCC */ lui $a1, 0x3DCC ## $a1 = 3DCC0000
/* 004EC 8097143C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 004F0 80971440 0C00B58B */ jal Actor_SetScale
/* 004F4 80971444 3C053F80 */ lui $a1, 0x3F80 ## $a1 = 3F800000
/* 004F8 80971448 10000004 */ beq $zero, $zero, .L8097145C
/* 004F8 80971448 10000004 */ beq $zero, $zero, .L8097145C
/* 004FC 8097144C 240200FF */ addiu $v0, $zero, 0x00FF ## $v0 = 000000FF
.L80971450:
/* 00500 80971450 0C00B58B */ jal Actor_SetScale
/* 00504 80971454 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 0000CCCD
/* 00508 80971458 240200FF */ addiu $v0, $zero, 0x00FF ## $v0 = 000000FF
.L8097145C:
@ -346,25 +346,25 @@ glabel L80971424
/* 00554 809714A4 A2000186 */ sb $zero, 0x0186($s0) ## 00000186
/* 00558 809714A8 A6000188 */ sh $zero, 0x0188($s0) ## 00000188
/* 0055C 809714AC AE090194 */ sw $t1, 0x0194($s0) ## 00000194
/* 00560 809714B0 10000108 */ beq $zero, $zero, .L809718D4
/* 00560 809714B0 10000108 */ beq $zero, $zero, .L809718D4
/* 00564 809714B4 A60A018C */ sh $t2, 0x018C($s0) ## 0000018C
glabel L809714B8
/* 00568 809714B8 3C0B8016 */ lui $t3, %hi(gSaveContext)
/* 0056C 809714BC 8D6BE660 */ lw $t3, %lo(gSaveContext)($t3)
/* 00570 809714C0 240100EE */ addiu $at, $zero, 0x00EE ## $at = 000000EE
/* 00574 809714C4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00578 809714C8 15610007 */ bne $t3, $at, .L809714E8
/* 00578 809714C8 15610007 */ bne $t3, $at, .L809714E8
/* 0057C 809714CC 3C053DCC */ lui $a1, 0x3DCC ## $a1 = 3DCC0000
/* 00580 809714D0 3C054019 */ lui $a1, 0x4019 ## $a1 = 40190000
/* 00584 809714D4 34A5999A */ ori $a1, $a1, 0x999A ## $a1 = 4019999A
/* 00588 809714D8 0C00B58B */ jal Actor_SetScale
/* 0058C 809714DC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00590 809714E0 10000003 */ beq $zero, $zero, .L809714F0
/* 00590 809714E0 10000003 */ beq $zero, $zero, .L809714F0
/* 00594 809714E4 00000000 */ nop
.L809714E8:
/* 00598 809714E8 0C00B58B */ jal Actor_SetScale
/* 0059C 809714EC 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 0000CCCD
.L809714F0:
/* 005A0 809714F0 3C0C8097 */ lui $t4, %hi(func_80975074) ## $t4 = 80970000
@ -386,7 +386,7 @@ glabel L809714B8
/* 005E0 80971530 A20E0184 */ sb $t6, 0x0184($s0) ## 00000184
/* 005E4 80971534 A2000186 */ sb $zero, 0x0186($s0) ## 00000186
/* 005E8 80971538 AE0F0194 */ sw $t7, 0x0194($s0) ## 00000194
/* 005EC 8097153C 100000E5 */ beq $zero, $zero, .L809718D4
/* 005EC 8097153C 100000E5 */ beq $zero, $zero, .L809718D4
/* 005F0 80971540 A618018C */ sh $t8, 0x018C($s0) ## 0000018C
glabel L80971544
/* 005F4 80971544 3C198097 */ lui $t9, %hi(func_80975A3C) ## $t9 = 80970000
@ -400,7 +400,7 @@ glabel L80971544
/* 00614 80971564 AE080194 */ sw $t0, 0x0194($s0) ## 00000194
/* 00618 80971568 A6090188 */ sh $t1, 0x0188($s0) ## 00000188
/* 0061C 8097156C A20A0184 */ sb $t2, 0x0184($s0) ## 00000184
/* 00620 80971570 100000D8 */ beq $zero, $zero, .L809718D4
/* 00620 80971570 100000D8 */ beq $zero, $zero, .L809718D4
/* 00624 80971574 A2020185 */ sb $v0, 0x0185($s0) ## 00000185
glabel L80971578
/* 00628 80971578 3C0B8097 */ lui $t3, %hi(func_80975A3C) ## $t3 = 80970000
@ -415,7 +415,7 @@ glabel L80971578
/* 0064C 8097159C A60D0188 */ sh $t5, 0x0188($s0) ## 00000188
/* 00650 809715A0 A20E0184 */ sb $t6, 0x0184($s0) ## 00000184
/* 00654 809715A4 A2000185 */ sb $zero, 0x0185($s0) ## 00000185
/* 00658 809715A8 100000CA */ beq $zero, $zero, .L809718D4
/* 00658 809715A8 100000CA */ beq $zero, $zero, .L809718D4
/* 0065C 809715AC A60F018C */ sh $t7, 0x018C($s0) ## 0000018C
glabel L809715B0
/* 00660 809715B0 3C188097 */ lui $t8, %hi(func_80975A3C) ## $t8 = 80970000
@ -428,7 +428,7 @@ glabel L809715B0
/* 0067C 809715CC AE190194 */ sw $t9, 0x0194($s0) ## 00000194
/* 00680 809715D0 A6080188 */ sh $t0, 0x0188($s0) ## 00000188
/* 00684 809715D4 A2090184 */ sb $t1, 0x0184($s0) ## 00000184
/* 00688 809715D8 100000BE */ beq $zero, $zero, .L809718D4
/* 00688 809715D8 100000BE */ beq $zero, $zero, .L809718D4
/* 0068C 809715DC A2000185 */ sb $zero, 0x0185($s0) ## 00000185
glabel L809715E0
/* 00690 809715E0 3C0A8097 */ lui $t2, %hi(func_80975BD4) ## $t2 = 80970000
@ -447,99 +447,99 @@ glabel L809715E0
/* 006C4 80971614 A60C018C */ sh $t4, 0x018C($s0) ## 0000018C
/* 006C8 80971618 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 3CA3D70A
/* 006CC 8097161C 0C00B58B */ jal Actor_SetScale
/* 006D0 80971620 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 006D4 80971624 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
/* 006D8 80971628 8FA60064 */ lw $a2, 0x0064($sp)
/* 006D8 80971628 8FA60064 */ lw $a2, 0x0064($sp)
/* 006DC 8097162C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 006E0 80971630 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 006E0 80971630 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 006E4 80971634 C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028
/* 006E8 80971638 24C41C24 */ addiu $a0, $a2, 0x1C24 ## $a0 = 00001C24
/* 006EC 8097163C 2407008B */ addiu $a3, $zero, 0x008B ## $a3 = 0000008B
/* 006F0 80971640 E7A60014 */ swc1 $f6, 0x0014($sp)
/* 006F0 80971640 E7A60014 */ swc1 $f6, 0x0014($sp)
/* 006F4 80971644 C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C
/* 006F8 80971648 AFA40040 */ sw $a0, 0x0040($sp)
/* 006FC 8097164C AFA00028 */ sw $zero, 0x0028($sp)
/* 00700 80971650 AFA00024 */ sw $zero, 0x0024($sp)
/* 00704 80971654 AFA00020 */ sw $zero, 0x0020($sp)
/* 00708 80971658 AFA0001C */ sw $zero, 0x001C($sp)
/* 006F8 80971648 AFA40040 */ sw $a0, 0x0040($sp)
/* 006FC 8097164C AFA00028 */ sw $zero, 0x0028($sp)
/* 00700 80971650 AFA00024 */ sw $zero, 0x0024($sp)
/* 00704 80971654 AFA00020 */ sw $zero, 0x0020($sp)
/* 00708 80971658 AFA0001C */ sw $zero, 0x001C($sp)
/* 0070C 8097165C 0C00C916 */ jal Actor_SpawnAttached
/* 00710 80971660 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00714 80971664 10400005 */ beq $v0, $zero, .L8097167C
/* 00718 80971668 AFA20048 */ sw $v0, 0x0048($sp)
/* 00710 80971660 E7A80018 */ swc1 $f8, 0x0018($sp)
/* 00714 80971664 10400005 */ beq $v0, $zero, .L8097167C
/* 00718 80971668 AFA20048 */ sw $v0, 0x0048($sp)
/* 0071C 8097166C 3C053F19 */ lui $a1, 0x3F19 ## $a1 = 3F190000
/* 00720 80971670 34A5999A */ ori $a1, $a1, 0x999A ## $a1 = 3F19999A
/* 00724 80971674 0C00B58B */ jal Actor_SetScale
/* 00728 80971678 00402025 */ or $a0, $v0, $zero ## $a0 = 00000000
.L8097167C:
/* 0072C 8097167C C60A0024 */ lwc1 $f10, 0x0024($s0) ## 00000024
/* 00730 80971680 240D0011 */ addiu $t5, $zero, 0x0011 ## $t5 = 00000011
/* 00734 80971684 8FA60064 */ lw $a2, 0x0064($sp)
/* 00738 80971688 E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 00734 80971684 8FA60064 */ lw $a2, 0x0064($sp)
/* 00738 80971688 E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 0073C 8097168C C6100028 */ lwc1 $f16, 0x0028($s0) ## 00000028
/* 00740 80971690 8FA40040 */ lw $a0, 0x0040($sp)
/* 00744 80971694 8FA50048 */ lw $a1, 0x0048($sp)
/* 00748 80971698 E7B00014 */ swc1 $f16, 0x0014($sp)
/* 00740 80971690 8FA40040 */ lw $a0, 0x0040($sp)
/* 00744 80971694 8FA50048 */ lw $a1, 0x0048($sp)
/* 00748 80971698 E7B00014 */ swc1 $f16, 0x0014($sp)
/* 0074C 8097169C C612002C */ lwc1 $f18, 0x002C($s0) ## 0000002C
/* 00750 809716A0 AFAD0028 */ sw $t5, 0x0028($sp)
/* 00754 809716A4 AFA00024 */ sw $zero, 0x0024($sp)
/* 00758 809716A8 AFA00020 */ sw $zero, 0x0020($sp)
/* 0075C 809716AC AFA0001C */ sw $zero, 0x001C($sp)
/* 00750 809716A0 AFAD0028 */ sw $t5, 0x0028($sp)
/* 00754 809716A4 AFA00024 */ sw $zero, 0x0024($sp)
/* 00758 809716A8 AFA00020 */ sw $zero, 0x0020($sp)
/* 0075C 809716AC AFA0001C */ sw $zero, 0x001C($sp)
/* 00760 809716B0 2407008B */ addiu $a3, $zero, 0x008B ## $a3 = 0000008B
/* 00764 809716B4 0C00C916 */ jal Actor_SpawnAttached
/* 00768 809716B8 E7B20018 */ swc1 $f18, 0x0018($sp)
/* 0076C 809716BC 10400085 */ beq $v0, $zero, .L809718D4
/* 00768 809716B8 E7B20018 */ swc1 $f18, 0x0018($sp)
/* 0076C 809716BC 10400085 */ beq $v0, $zero, .L809718D4
/* 00770 809716C0 00402025 */ or $a0, $v0, $zero ## $a0 = 00000000
/* 00774 809716C4 3C053ECC */ lui $a1, 0x3ECC ## $a1 = 3ECC0000
/* 00778 809716C8 0C00B58B */ jal Actor_SetScale
/* 0077C 809716CC 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3ECCCCCD
/* 00780 809716D0 10000081 */ beq $zero, $zero, .L809718D8
/* 00780 809716D0 10000081 */ beq $zero, $zero, .L809718D8
/* 00784 809716D4 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
glabel L809716D8
/* 00788 809716D8 0C25C41C */ jal func_80971070
/* 00788 809716D8 0C25C41C */ jal func_80971070
/* 0078C 809716DC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00790 809716E0 240E000C */ addiu $t6, $zero, 0x000C ## $t6 = 0000000C
/* 00794 809716E4 1000007B */ beq $zero, $zero, .L809718D4
/* 00794 809716E4 1000007B */ beq $zero, $zero, .L809718D4
/* 00798 809716E8 A20E0186 */ sb $t6, 0x0186($s0) ## 00000186
glabel L809716EC
/* 0079C 809716EC 0C25C41C */ jal func_80971070
/* 0079C 809716EC 0C25C41C */ jal func_80971070
/* 007A0 809716F0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 007A4 809716F4 240F000D */ addiu $t7, $zero, 0x000D ## $t7 = 0000000D
/* 007A8 809716F8 10000076 */ beq $zero, $zero, .L809718D4
/* 007A8 809716F8 10000076 */ beq $zero, $zero, .L809718D4
/* 007AC 809716FC A20F0186 */ sb $t7, 0x0186($s0) ## 00000186
glabel L80971700
/* 007B0 80971700 0C25C41C */ jal func_80971070
/* 007B0 80971700 0C25C41C */ jal func_80971070
/* 007B4 80971704 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 007B8 80971708 2418000B */ addiu $t8, $zero, 0x000B ## $t8 = 0000000B
/* 007BC 8097170C 10000071 */ beq $zero, $zero, .L809718D4
/* 007BC 8097170C 10000071 */ beq $zero, $zero, .L809718D4
/* 007C0 80971710 A2180186 */ sb $t8, 0x0186($s0) ## 00000186
glabel L80971714
/* 007C4 80971714 0C25C41C */ jal func_80971070
/* 007C4 80971714 0C25C41C */ jal func_80971070
/* 007C8 80971718 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 007CC 8097171C 2419000E */ addiu $t9, $zero, 0x000E ## $t9 = 0000000E
/* 007D0 80971720 1000006C */ beq $zero, $zero, .L809718D4
/* 007D0 80971720 1000006C */ beq $zero, $zero, .L809718D4
/* 007D4 80971724 A2190186 */ sb $t9, 0x0186($s0) ## 00000186
glabel L80971728
/* 007D8 80971728 0C25C41C */ jal func_80971070
/* 007D8 80971728 0C25C41C */ jal func_80971070
/* 007DC 8097172C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 007E0 80971730 2408000F */ addiu $t0, $zero, 0x000F ## $t0 = 0000000F
/* 007E4 80971734 10000067 */ beq $zero, $zero, .L809718D4
/* 007E4 80971734 10000067 */ beq $zero, $zero, .L809718D4
/* 007E8 80971738 A2080186 */ sb $t0, 0x0186($s0) ## 00000186
glabel L8097173C
/* 007EC 8097173C 0C25C41C */ jal func_80971070
/* 007EC 8097173C 0C25C41C */ jal func_80971070
/* 007F0 80971740 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 007F4 80971744 24090010 */ addiu $t1, $zero, 0x0010 ## $t1 = 00000010
/* 007F8 80971748 10000062 */ beq $zero, $zero, .L809718D4
/* 007F8 80971748 10000062 */ beq $zero, $zero, .L809718D4
/* 007FC 8097174C A2090186 */ sb $t1, 0x0186($s0) ## 00000186
glabel L80971750
/* 00800 80971750 0C25C41C */ jal func_80971070
/* 00800 80971750 0C25C41C */ jal func_80971070
/* 00804 80971754 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00808 80971758 240A0061 */ addiu $t2, $zero, 0x0061 ## $t2 = 00000061
/* 0080C 8097175C 1000005D */ beq $zero, $zero, .L809718D4
/* 0080C 8097175C 1000005D */ beq $zero, $zero, .L809718D4
/* 00810 80971760 A20A0186 */ sb $t2, 0x0186($s0) ## 00000186
glabel L80971764
/* 00814 80971764 8E0B0004 */ lw $t3, 0x0004($s0) ## 00000004
@ -558,9 +558,9 @@ glabel L80971774
/* 00844 80971794 A200017B */ sb $zero, 0x017B($s0) ## 0000017B
/* 00848 80971798 A20F017C */ sb $t7, 0x017C($s0) ## 0000017C
/* 0084C 8097179C A202017D */ sb $v0, 0x017D($s0) ## 0000017D
/* 00850 809717A0 0C01B1D4 */ jal func_8006C750
/* 00850 809717A0 0C01B1D4 */ jal SkelCurve_Clear
/* 00854 809717A4 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
/* 00858 809717A8 1000004A */ beq $zero, $zero, .L809718D4
/* 00858 809717A8 1000004A */ beq $zero, $zero, .L809718D4
/* 0085C 809717AC A6000188 */ sh $zero, 0x0188($s0) ## 00000188
glabel L809717B0
/* 00860 809717B0 3C180600 */ lui $t8, 0x0600 ## $t8 = 06000000
@ -572,10 +572,10 @@ glabel L809717B0
/* 00878 809717C8 AE190174 */ sw $t9, 0x0174($s0) ## 00000174
/* 0087C 809717CC A2080184 */ sb $t0, 0x0184($s0) ## 00000184
/* 00880 809717D0 A2000185 */ sb $zero, 0x0185($s0) ## 00000185
/* 00884 809717D4 8FA40064 */ lw $a0, 0x0064($sp)
/* 00888 809717D8 0C25C3ED */ jal func_80970FB4
/* 00884 809717D4 8FA40064 */ lw $a0, 0x0064($sp)
/* 00888 809717D8 0C25C3ED */ jal func_80970FB4
/* 0088C 809717DC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00890 809717E0 1000003D */ beq $zero, $zero, .L809718D8
/* 00890 809717E0 1000003D */ beq $zero, $zero, .L809718D8
/* 00894 809717E4 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
glabel L809717E8
/* 00898 809717E8 3C090600 */ lui $t1, 0x0600 ## $t1 = 06000000
@ -587,10 +587,10 @@ glabel L809717E8
/* 008B0 80971800 AE0A0174 */ sw $t2, 0x0174($s0) ## 00000174
/* 008B4 80971804 A20B0184 */ sb $t3, 0x0184($s0) ## 00000184
/* 008B8 80971808 A2000185 */ sb $zero, 0x0185($s0) ## 00000185
/* 008BC 8097180C 8FA40064 */ lw $a0, 0x0064($sp)
/* 008C0 80971810 0C25C3ED */ jal func_80970FB4
/* 008BC 8097180C 8FA40064 */ lw $a0, 0x0064($sp)
/* 008C0 80971810 0C25C3ED */ jal func_80970FB4
/* 008C4 80971814 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 008C8 80971818 1000002F */ beq $zero, $zero, .L809718D8
/* 008C8 80971818 1000002F */ beq $zero, $zero, .L809718D8
/* 008CC 8097181C 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
glabel L80971820
/* 008D0 80971820 3C0C0600 */ lui $t4, 0x0600 ## $t4 = 06000000
@ -602,30 +602,30 @@ glabel L80971820
/* 008E8 80971838 AE0D0174 */ sw $t5, 0x0174($s0) ## 00000174
/* 008EC 8097183C A20E0184 */ sb $t6, 0x0184($s0) ## 00000184
/* 008F0 80971840 A2000185 */ sb $zero, 0x0185($s0) ## 00000185
/* 008F4 80971844 8FA40064 */ lw $a0, 0x0064($sp)
/* 008F8 80971848 0C25C3ED */ jal func_80970FB4
/* 008F4 80971844 8FA40064 */ lw $a0, 0x0064($sp)
/* 008F8 80971848 0C25C3ED */ jal func_80970FB4
/* 008FC 8097184C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00900 80971850 8FA40064 */ lw $a0, 0x0064($sp)
/* 00900 80971850 8FA40064 */ lw $a0, 0x0064($sp)
/* 00904 80971854 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 00908 80971858 24070009 */ addiu $a3, $zero, 0x0009 ## $a3 = 00000009
/* 0090C 8097185C 0C00CDD2 */ jal Actor_ChangeType
/* 00910 80971860 24851C24 */ addiu $a1, $a0, 0x1C24 ## $a1 = 00001C24
/* 00914 80971864 8FAF0064 */ lw $t7, 0x0064($sp)
/* 00914 80971864 8FAF0064 */ lw $t7, 0x0064($sp)
/* 00918 80971868 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 0091C 8097186C 3C198016 */ lui $t9, %hi(gSaveContext+0xf20)
/* 00920 80971870 85F800A4 */ lh $t8, 0x00A4($t7) ## 000000A4
/* 00924 80971874 57010018 */ bnel $t8, $at, .L809718D8
/* 00924 80971874 57010018 */ bnel $t8, $at, .L809718D8
/* 00928 80971878 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 0092C 8097187C 9739F580 */ lhu $t9, %lo(gSaveContext+0xf20)($t9)
/* 00930 80971880 33280020 */ andi $t0, $t9, 0x0020 ## $t0 = 00000000
/* 00934 80971884 51000014 */ beql $t0, $zero, .L809718D8
/* 00934 80971884 51000014 */ beql $t0, $zero, .L809718D8
/* 00938 80971888 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 0093C 8097188C 0C00B55C */ jal Actor_Kill
/* 00940 80971890 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00944 80971894 1000001B */ beq $zero, $zero, .L80971904
/* 00948 80971898 8FBF003C */ lw $ra, 0x003C($sp)
/* 00944 80971894 1000001B */ beq $zero, $zero, .L80971904
/* 00948 80971898 8FBF003C */ lw $ra, 0x003C($sp)
glabel L8097189C
/* 0094C 8097189C 3C098097 */ lui $t1, %hi(func_8097456C) ## $t1 = 80970000
/* 00950 809718A0 2529456C */ addiu $t1, $t1, %lo(func_8097456C) ## $t1 = 8097456C
@ -633,7 +633,7 @@ glabel L8097189C
/* 00958 809718A8 AE000198 */ sw $zero, 0x0198($s0) ## 00000198
/* 0095C 809718AC AE090194 */ sw $t1, 0x0194($s0) ## 00000194
/* 00960 809718B0 A2000184 */ sb $zero, 0x0184($s0) ## 00000184
/* 00964 809718B4 10000007 */ beq $zero, $zero, .L809718D4
/* 00964 809718B4 10000007 */ beq $zero, $zero, .L809718D4
/* 00968 809718B8 A60A018C */ sh $t2, 0x018C($s0) ## 0000018C
.L809718BC:
/* 0096C 809718BC 3C048097 */ lui $a0, %hi(D_809768C4) ## $a0 = 80970000
@ -641,25 +641,25 @@ glabel L8097189C
/* 00974 809718C4 24A568C8 */ addiu $a1, $a1, %lo(D_809768C8) ## $a1 = 809768C8
/* 00978 809718C8 248468C4 */ addiu $a0, $a0, %lo(D_809768C4) ## $a0 = 809768C4
/* 0097C 809718CC 0C0007FC */ jal __assert
/* 00980 809718D0 24060426 */ addiu $a2, $zero, 0x0426 ## $a2 = 00000426
.L809718D4:
/* 00984 809718D4 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
.L809718D8:
/* 00988 809718D8 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
/* 0098C 809718DC 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 00990 809718E0 44050000 */ mfc1 $a1, $f0
/* 00994 809718E4 44070000 */ mfc1 $a3, $f0
/* 00990 809718E0 44050000 */ mfc1 $a1, $f0
/* 00994 809718E4 44070000 */ mfc1 $a3, $f0
/* 00998 809718E8 0C00AC78 */ jal ActorShape_Init
/* 0099C 809718EC 00000000 */ nop
/* 009A0 809718F0 3C058097 */ lui $a1, %hi(func_80971960) ## $a1 = 80970000
/* 009A4 809718F4 24A51960 */ addiu $a1, $a1, %lo(func_80971960) ## $a1 = 80971960
/* 009A8 809718F8 0C25C3D4 */ jal func_80970F50
/* 009A8 809718F8 0C25C3D4 */ jal func_80970F50
/* 009AC 809718FC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 009B0 80971900 8FBF003C */ lw $ra, 0x003C($sp)
/* 009B0 80971900 8FBF003C */ lw $ra, 0x003C($sp)
.L80971904:
/* 009B4 80971904 8FB00038 */ lw $s0, 0x0038($sp)
/* 009B4 80971904 8FB00038 */ lw $s0, 0x0038($sp)
/* 009B8 80971908 27BD0060 */ addiu $sp, $sp, 0x0060 ## $sp = 00000000
/* 009BC 8097190C 03E00008 */ jr $ra
/* 009BC 8097190C 03E00008 */ jr $ra
/* 009C0 80971910 00000000 */ nop

View file

@ -22,10 +22,10 @@ glabel D_80976CE4
.text
glabel func_80971DFC
/* 00EAC 80971DFC 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00EB0 80971E00 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00EB4 80971E04 AFB00020 */ sw $s0, 0x0020($sp)
/* 00EB8 80971E08 AFA40030 */ sw $a0, 0x0030($sp)
/* 00EBC 80971E0C AFA50034 */ sw $a1, 0x0034($sp)
/* 00EB0 80971E00 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00EB4 80971E04 AFB00020 */ sw $s0, 0x0020($sp)
/* 00EB8 80971E08 AFA40030 */ sw $a0, 0x0030($sp)
/* 00EBC 80971E0C AFA50034 */ sw $a1, 0x0034($sp)
/* 00EC0 80971E10 848F001C */ lh $t7, 0x001C($a0) ## 0000001C
/* 00EC4 80971E14 00807025 */ or $t6, $a0, $zero ## $t6 = 00000000
/* 00EC8 80971E18 25D0014C */ addiu $s0, $t6, 0x014C ## $s0 = 0000014C
@ -33,27 +33,27 @@ glabel func_80971DFC
/* 00ED0 80971E20 3C060600 */ lui $a2, 0x0600 ## $a2 = 06000000
/* 00ED4 80971E24 3C070600 */ lui $a3, 0x0600 ## $a3 = 06000000
/* 00ED8 80971E28 31F800FF */ andi $t8, $t7, 0x00FF ## $t8 = 00000000
/* 00EDC 80971E2C AFB8002C */ sw $t8, 0x002C($sp)
/* 00EDC 80971E2C AFB8002C */ sw $t8, 0x002C($sp)
/* 00EE0 80971E30 24E70050 */ addiu $a3, $a3, 0x0050 ## $a3 = 06000050
/* 00EE4 80971E34 24C612E8 */ addiu $a2, $a2, 0x12E8 ## $a2 = 060012E8
/* 00EE8 80971E38 0C01B1DE */ jal func_8006C778
/* 00EE8 80971E38 0C01B1DE */ jal SkelCurve_Init
/* 00EEC 80971E3C 02002825 */ or $a1, $s0, $zero ## $a1 = 0000014C
/* 00EF0 80971E40 14400006 */ bne $v0, $zero, .L80971E5C
/* 00EF0 80971E40 14400006 */ bne $v0, $zero, .L80971E5C
/* 00EF4 80971E44 3C048097 */ lui $a0, %hi(D_809768FC) ## $a0 = 80970000
/* 00EF8 80971E48 3C058097 */ lui $a1, %hi(D_80976900) ## $a1 = 80970000
/* 00EFC 80971E4C 24A56900 */ addiu $a1, $a1, %lo(D_80976900) ## $a1 = 80976900
/* 00F00 80971E50 248468FC */ addiu $a0, $a0, %lo(D_809768FC) ## $a0 = 809768FC
/* 00F04 80971E54 0C0007FC */ jal __assert
/* 00F08 80971E58 24060503 */ addiu $a2, $zero, 0x0503 ## $a2 = 00000503
.L80971E5C:
/* 00F0C 80971E5C 8FA2002C */ lw $v0, 0x002C($sp)
/* 00F0C 80971E5C 8FA2002C */ lw $v0, 0x002C($sp)
/* 00F10 80971E60 24010018 */ addiu $at, $zero, 0x0018 ## $at = 00000018
/* 00F14 80971E64 02002025 */ or $a0, $s0, $zero ## $a0 = 0000014C
/* 00F18 80971E68 10410004 */ beq $v0, $at, .L80971E7C
/* 00F18 80971E68 10410004 */ beq $v0, $at, .L80971E7C
/* 00F1C 80971E6C 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 00F20 80971E70 24010019 */ addiu $at, $zero, 0x0019 ## $at = 00000019
/* 00F24 80971E74 14410022 */ bne $v0, $at, .L80971F00
/* 00F24 80971E74 14410022 */ bne $v0, $at, .L80971F00
/* 00F28 80971E78 3C038016 */ lui $v1, %hi(gSaveContext)
.L80971E7C:
/* 00F2C 80971E7C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
@ -61,54 +61,54 @@ glabel func_80971DFC
/* 00F34 80971E84 3C01426C */ lui $at, 0x426C ## $at = 426C0000
/* 00F38 80971E88 44811000 */ mtc1 $at, $f2 ## $f2 = 59.00
/* 00F3C 80971E8C 3C018097 */ lui $at, %hi(D_80976CE4) ## $at = 80970000
/* 00F40 80971E90 C4246CE4 */ lwc1 $f4, %lo(D_80976CE4)($at)
/* 00F44 80971E94 44060000 */ mfc1 $a2, $f0
/* 00F48 80971E98 44071000 */ mfc1 $a3, $f2
/* 00F40 80971E90 C4246CE4 */ lwc1 $f4, %lo(D_80976CE4)($at)
/* 00F44 80971E94 44060000 */ mfc1 $a2, $f0
/* 00F48 80971E98 44071000 */ mfc1 $a3, $f2
/* 00F4C 80971E9C 24A50050 */ addiu $a1, $a1, 0x0050 ## $a1 = 06000050
/* 00F50 80971EA0 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 00F54 80971EA4 0C01B225 */ jal func_8006C894
/* 00F58 80971EA8 E7A40014 */ swc1 $f4, 0x0014($sp)
/* 00F5C 80971EAC 8FA40034 */ lw $a0, 0x0034($sp)
/* 00F60 80971EB0 0C01B231 */ jal func_8006C8C4
/* 00F50 80971EA0 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 00F54 80971EA4 0C01B225 */ jal SkelCurve_SetAnim
/* 00F58 80971EA8 E7A40014 */ swc1 $f4, 0x0014($sp)
/* 00F5C 80971EAC 8FA40034 */ lw $a0, 0x0034($sp)
/* 00F60 80971EB0 0C01B231 */ jal SkelCurve_Update
/* 00F64 80971EB4 02002825 */ or $a1, $s0, $zero ## $a1 = 0000014C
/* 00F68 80971EB8 8FA40030 */ lw $a0, 0x0030($sp)
/* 00F68 80971EB8 8FA40030 */ lw $a0, 0x0030($sp)
/* 00F6C 80971EBC 3C198097 */ lui $t9, %hi(func_80972344) ## $t9 = 80970000
/* 00F70 80971EC0 27392344 */ addiu $t9, $t9, %lo(func_80972344) ## $t9 = 80972344
/* 00F74 80971EC4 AC99019C */ sw $t9, 0x019C($a0) ## 0000019C
/* 00F78 80971EC8 8FA8002C */ lw $t0, 0x002C($sp)
/* 00F78 80971EC8 8FA8002C */ lw $t0, 0x002C($sp)
/* 00F7C 80971ECC 24010018 */ addiu $at, $zero, 0x0018 ## $at = 00000018
/* 00F80 80971ED0 3C053DAC */ lui $a1, 0x3DAC ## $a1 = 3DAC0000
/* 00F84 80971ED4 15010006 */ bne $t0, $at, .L80971EF0
/* 00F84 80971ED4 15010006 */ bne $t0, $at, .L80971EF0
/* 00F88 80971ED8 00000000 */ nop
/* 00F8C 80971EDC 3C053E0F */ lui $a1, 0x3E0F ## $a1 = 3E0F0000
/* 00F90 80971EE0 0C00B58B */ jal Actor_SetScale
/* 00F94 80971EE4 34A55C29 */ ori $a1, $a1, 0x5C29 ## $a1 = 3E0F5C29
/* 00F98 80971EE8 10000043 */ beq $zero, $zero, .L80971FF8
/* 00F9C 80971EEC 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00F98 80971EE8 10000043 */ beq $zero, $zero, .L80971FF8
/* 00F9C 80971EEC 8FBF0024 */ lw $ra, 0x0024($sp)
.L80971EF0:
/* 00FA0 80971EF0 0C00B58B */ jal Actor_SetScale
/* 00FA4 80971EF4 34A50832 */ ori $a1, $a1, 0x0832 ## $a1 = 00000832
/* 00FA8 80971EF8 1000003F */ beq $zero, $zero, .L80971FF8
/* 00FAC 80971EFC 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00FA8 80971EF8 1000003F */ beq $zero, $zero, .L80971FF8
/* 00FAC 80971EFC 8FBF0024 */ lw $ra, 0x0024($sp)
.L80971F00:
/* 00FB0 80971F00 2463E660 */ addiu $v1, %lo(gSaveContext)
/* 00FB4 80971F04 8C621360 */ lw $v0, 0x1360($v1) ## FFFFF9C0
/* 00FB8 80971F08 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
/* 00FBC 80971F0C 02002025 */ or $a0, $s0, $zero ## $a0 = 0000014C
/* 00FC0 80971F10 1041000B */ beq $v0, $at, .L80971F40
/* 00FC0 80971F10 1041000B */ beq $v0, $at, .L80971F40
/* 00FC4 80971F14 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 00FC8 80971F18 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 00FCC 80971F1C 50410009 */ beql $v0, $at, .L80971F44
/* 00FCC 80971F1C 50410009 */ beql $v0, $at, .L80971F44
/* 00FD0 80971F20 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00FD4 80971F24 8C690000 */ lw $t1, 0x0000($v1) ## FFFFE660
/* 00FD8 80971F28 24010324 */ addiu $at, $zero, 0x0324 ## $at = 00000324
/* 00FDC 80971F2C 5521001C */ bnel $t1, $at, .L80971FA0
/* 00FDC 80971F2C 5521001C */ bnel $t1, $at, .L80971FA0
/* 00FE0 80971F30 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00FE4 80971F34 946A0EEC */ lhu $t2, 0x0EEC($v1) ## FFFFF54C
/* 00FE8 80971F38 314B0200 */ andi $t3, $t2, 0x0200 ## $t3 = 00000000
/* 00FEC 80971F3C 15600017 */ bne $t3, $zero, .L80971F9C
/* 00FEC 80971F3C 15600017 */ bne $t3, $zero, .L80971F9C
.L80971F40:
/* 00FF0 80971F40 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
.L80971F44:
@ -116,25 +116,25 @@ glabel func_80971DFC
/* 00FF8 80971F48 3C01426C */ lui $at, 0x426C ## $at = 426C0000
/* 00FFC 80971F4C 44811000 */ mtc1 $at, $f2 ## $f2 = 59.00
/* 01000 80971F50 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
/* 01004 80971F54 44060000 */ mfc1 $a2, $f0
/* 01008 80971F58 44071000 */ mfc1 $a3, $f2
/* 01004 80971F54 44060000 */ mfc1 $a2, $f0
/* 01008 80971F58 44071000 */ mfc1 $a3, $f2
/* 0100C 80971F5C 24A50050 */ addiu $a1, $a1, 0x0050 ## $a1 = 06000050
/* 01010 80971F60 E7A20010 */ swc1 $f2, 0x0010($sp)
/* 01014 80971F64 0C01B225 */ jal func_8006C894
/* 01018 80971F68 E7A60014 */ swc1 $f6, 0x0014($sp)
/* 0101C 80971F6C 8FA40034 */ lw $a0, 0x0034($sp)
/* 01020 80971F70 0C01B231 */ jal func_8006C8C4
/* 01010 80971F60 E7A20010 */ swc1 $f2, 0x0010($sp)
/* 01014 80971F64 0C01B225 */ jal SkelCurve_SetAnim
/* 01018 80971F68 E7A60014 */ swc1 $f6, 0x0014($sp)
/* 0101C 80971F6C 8FA40034 */ lw $a0, 0x0034($sp)
/* 01020 80971F70 0C01B231 */ jal SkelCurve_Update
/* 01024 80971F74 02002825 */ or $a1, $s0, $zero ## $a1 = 0000014C
/* 01028 80971F78 8FAD0030 */ lw $t5, 0x0030($sp)
/* 01028 80971F78 8FAD0030 */ lw $t5, 0x0030($sp)
/* 0102C 80971F7C 3C0C8097 */ lui $t4, %hi(func_809721D0) ## $t4 = 80970000
/* 01030 80971F80 258C21D0 */ addiu $t4, $t4, %lo(func_809721D0) ## $t4 = 809721D0
/* 01034 80971F84 3C048097 */ lui $a0, %hi(D_80976914) ## $a0 = 80970000
/* 01038 80971F88 24846914 */ addiu $a0, $a0, %lo(D_80976914) ## $a0 = 80976914
/* 0103C 80971F8C 0C00084C */ jal osSyncPrintf
/* 01040 80971F90 ADAC019C */ sw $t4, 0x019C($t5) ## 0000019C
/* 01044 80971F94 10000018 */ beq $zero, $zero, .L80971FF8
/* 01048 80971F98 8FBF0024 */ lw $ra, 0x0024($sp)
/* 01044 80971F94 10000018 */ beq $zero, $zero, .L80971FF8
/* 01048 80971F98 8FBF0024 */ lw $ra, 0x0024($sp)
.L80971F9C:
/* 0104C 80971F9C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
.L80971FA0:
@ -142,27 +142,27 @@ glabel func_80971DFC
/* 01054 80971FA4 3C01426C */ lui $at, 0x426C ## $at = 426C0000
/* 01058 80971FA8 44811000 */ mtc1 $at, $f2 ## $f2 = 59.00
/* 0105C 80971FAC 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 01060 80971FB0 44060000 */ mfc1 $a2, $f0
/* 01064 80971FB4 44071000 */ mfc1 $a3, $f2
/* 01060 80971FB0 44060000 */ mfc1 $a2, $f0
/* 01064 80971FB4 44071000 */ mfc1 $a3, $f2
/* 01068 80971FB8 24A50050 */ addiu $a1, $a1, 0x0050 ## $a1 = 06000050
/* 0106C 80971FBC 02002025 */ or $a0, $s0, $zero ## $a0 = 0000014C
/* 01070 80971FC0 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 01074 80971FC4 0C01B225 */ jal func_8006C894
/* 01078 80971FC8 E7A00014 */ swc1 $f0, 0x0014($sp)
/* 0107C 80971FCC 8FA40034 */ lw $a0, 0x0034($sp)
/* 01080 80971FD0 0C01B231 */ jal func_8006C8C4
/* 01070 80971FC0 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 01074 80971FC4 0C01B225 */ jal SkelCurve_SetAnim
/* 01078 80971FC8 E7A00014 */ swc1 $f0, 0x0014($sp)
/* 0107C 80971FCC 8FA40034 */ lw $a0, 0x0034($sp)
/* 01080 80971FD0 0C01B231 */ jal SkelCurve_Update
/* 01084 80971FD4 02002825 */ or $a1, $s0, $zero ## $a1 = 0000014C
/* 01088 80971FD8 8FB80030 */ lw $t8, 0x0030($sp)
/* 01088 80971FD8 8FB80030 */ lw $t8, 0x0030($sp)
/* 0108C 80971FDC 3C0F8097 */ lui $t7, %hi(func_80972008) ## $t7 = 80970000
/* 01090 80971FE0 25EF2008 */ addiu $t7, $t7, %lo(func_80972008) ## $t7 = 80972008
/* 01094 80971FE4 3C048097 */ lui $a0, %hi(D_80976930) ## $a0 = 80970000
/* 01098 80971FE8 24846930 */ addiu $a0, $a0, %lo(D_80976930) ## $a0 = 80976930
/* 0109C 80971FEC 0C00084C */ jal osSyncPrintf
/* 010A0 80971FF0 AF0F019C */ sw $t7, 0x019C($t8) ## 0000019C
/* 010A4 80971FF4 8FBF0024 */ lw $ra, 0x0024($sp)
/* 010A4 80971FF4 8FBF0024 */ lw $ra, 0x0024($sp)
.L80971FF8:
/* 010A8 80971FF8 8FB00020 */ lw $s0, 0x0020($sp)
/* 010A8 80971FF8 8FB00020 */ lw $s0, 0x0020($sp)
/* 010AC 80971FFC 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 010B0 80972000 03E00008 */ jr $ra
/* 010B0 80972000 03E00008 */ jr $ra
/* 010B4 80972004 00000000 */ nop

View file

@ -1,32 +1,32 @@
glabel func_80972008
/* 010B8 80972008 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 010BC 8097200C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 010C0 80972010 AFBF001C */ sw $ra, 0x001C($sp)
/* 010C4 80972014 AFA5002C */ sw $a1, 0x002C($sp)
/* 010C0 80972010 AFBF001C */ sw $ra, 0x001C($sp)
/* 010C4 80972014 AFA5002C */ sw $a1, 0x002C($sp)
/* 010C8 80972018 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 010CC 8097201C 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 010D0 80972020 0C01B129 */ jal Flags_GetEnv
/* 010D4 80972024 AFA60028 */ sw $a2, 0x0028($sp)
/* 010D8 80972028 1040001C */ beq $v0, $zero, .L8097209C
/* 010DC 8097202C 8FA60028 */ lw $a2, 0x0028($sp)
/* 010D0 80972020 0C01B129 */ jal Flags_GetEnv
/* 010D4 80972024 AFA60028 */ sw $a2, 0x0028($sp)
/* 010D8 80972028 1040001C */ beq $v0, $zero, .L8097209C
/* 010DC 8097202C 8FA60028 */ lw $a2, 0x0028($sp)
/* 010E0 80972030 84CE018A */ lh $t6, 0x018A($a2) ## 0000018A
/* 010E4 80972034 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000
/* 010E8 80972038 31CF0002 */ andi $t7, $t6, 0x0002 ## $t7 = 00000000
/* 010EC 8097203C 55E00008 */ bnel $t7, $zero, .L80972060
/* 010EC 8097203C 55E00008 */ bnel $t7, $zero, .L80972060
/* 010F0 80972040 24C5014C */ addiu $a1, $a2, 0x014C ## $a1 = 0000014C
/* 010F4 80972044 0C03CFCF */ jal func_800F3F3C
/* 010F8 80972048 AFA60028 */ sw $a2, 0x0028($sp)
/* 010FC 8097204C 8FA60028 */ lw $a2, 0x0028($sp)
/* 010F4 80972044 0C03CFCF */ jal func_800F3F3C
/* 010F8 80972048 AFA60028 */ sw $a2, 0x0028($sp)
/* 010FC 8097204C 8FA60028 */ lw $a2, 0x0028($sp)
/* 01100 80972050 84D8018A */ lh $t8, 0x018A($a2) ## 0000018A
/* 01104 80972054 37190002 */ ori $t9, $t8, 0x0002 ## $t9 = 00000002
/* 01108 80972058 A4D9018A */ sh $t9, 0x018A($a2) ## 0000018A
/* 0110C 8097205C 24C5014C */ addiu $a1, $a2, 0x014C ## $a1 = 0000014C
.L80972060:
/* 01110 80972060 AFA50024 */ sw $a1, 0x0024($sp)
/* 01114 80972064 0C01B231 */ jal func_8006C8C4
/* 01118 80972068 8FA4002C */ lw $a0, 0x002C($sp)
/* 0111C 8097206C 1040000B */ beq $v0, $zero, .L8097209C
/* 01120 80972070 8FA40024 */ lw $a0, 0x0024($sp)
/* 01110 80972060 AFA50024 */ sw $a1, 0x0024($sp)
/* 01114 80972064 0C01B231 */ jal SkelCurve_Update
/* 01118 80972068 8FA4002C */ lw $a0, 0x002C($sp)
/* 0111C 8097206C 1040000B */ beq $v0, $zero, .L8097209C
/* 01120 80972070 8FA40024 */ lw $a0, 0x0024($sp)
/* 01124 80972074 3C01426C */ lui $at, 0x426C ## $at = 426C0000
/* 01128 80972078 44812000 */ mtc1 $at, $f4 ## $f4 = 59.00
/* 0112C 8097207C 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
@ -34,11 +34,11 @@ glabel func_80972008
/* 01134 80972084 24A50050 */ addiu $a1, $a1, 0x0050 ## $a1 = 06000050
/* 01138 80972088 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 0113C 8097208C 3C074270 */ lui $a3, 0x4270 ## $a3 = 42700000
/* 01140 80972090 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 01144 80972094 0C01B225 */ jal func_8006C894
/* 01148 80972098 E7A60014 */ swc1 $f6, 0x0014($sp)
/* 01140 80972090 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 01144 80972094 0C01B225 */ jal SkelCurve_SetAnim
/* 01148 80972098 E7A60014 */ swc1 $f6, 0x0014($sp)
.L8097209C:
/* 0114C 8097209C 8FBF001C */ lw $ra, 0x001C($sp)
/* 0114C 8097209C 8FBF001C */ lw $ra, 0x001C($sp)
/* 01150 809720A0 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 01154 809720A4 03E00008 */ jr $ra
/* 01154 809720A4 03E00008 */ jr $ra
/* 01158 809720A8 00000000 */ nop

View file

@ -1,17 +1,17 @@
glabel func_80972344
/* 013F4 80972344 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 013F8 80972348 AFBF001C */ sw $ra, 0x001C($sp)
/* 013FC 8097234C AFA5002C */ sw $a1, 0x002C($sp)
/* 01400 80972350 AFA40028 */ sw $a0, 0x0028($sp)
/* 01404 80972354 0C00BE52 */ jal func_8002F948
/* 013F8 80972348 AFBF001C */ sw $ra, 0x001C($sp)
/* 013FC 8097234C AFA5002C */ sw $a1, 0x002C($sp)
/* 01400 80972350 AFA40028 */ sw $a0, 0x0028($sp)
/* 01404 80972354 0C00BE52 */ jal func_8002F948
/* 01408 80972358 2405209D */ addiu $a1, $zero, 0x209D ## $a1 = 0000209D
/* 0140C 8097235C 8FA50028 */ lw $a1, 0x0028($sp)
/* 01410 80972360 8FA4002C */ lw $a0, 0x002C($sp)
/* 0140C 8097235C 8FA50028 */ lw $a1, 0x0028($sp)
/* 01410 80972360 8FA4002C */ lw $a0, 0x002C($sp)
/* 01414 80972364 24A5014C */ addiu $a1, $a1, 0x014C ## $a1 = 0000014C
/* 01418 80972368 0C01B231 */ jal func_8006C8C4
/* 0141C 8097236C AFA50024 */ sw $a1, 0x0024($sp)
/* 01420 80972370 10400010 */ beq $v0, $zero, .L809723B4
/* 01424 80972374 8FA40024 */ lw $a0, 0x0024($sp)
/* 01418 80972368 0C01B231 */ jal SkelCurve_Update
/* 0141C 8097236C AFA50024 */ sw $a1, 0x0024($sp)
/* 01420 80972370 10400010 */ beq $v0, $zero, .L809723B4
/* 01424 80972374 8FA40024 */ lw $a0, 0x0024($sp)
/* 01428 80972378 3C01426C */ lui $at, 0x426C ## $at = 426C0000
/* 0142C 8097237C 44812000 */ mtc1 $at, $f4 ## $f4 = 59.00
/* 01430 80972380 44803000 */ mtc1 $zero, $f6 ## $f6 = 0.00
@ -19,16 +19,16 @@ glabel func_80972344
/* 01438 80972388 24A50050 */ addiu $a1, $a1, 0x0050 ## $a1 = 06000050
/* 0143C 8097238C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
/* 01440 80972390 3C074270 */ lui $a3, 0x4270 ## $a3 = 42700000
/* 01444 80972394 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 01448 80972398 0C01B225 */ jal func_8006C894
/* 0144C 8097239C E7A60014 */ swc1 $f6, 0x0014($sp)
/* 01450 809723A0 8FA20028 */ lw $v0, 0x0028($sp)
/* 01444 80972394 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 01448 80972398 0C01B225 */ jal SkelCurve_SetAnim
/* 0144C 8097239C E7A60014 */ swc1 $f6, 0x0014($sp)
/* 01450 809723A0 8FA20028 */ lw $v0, 0x0028($sp)
/* 01454 809723A4 3C0E8097 */ lui $t6, %hi(func_80972288) ## $t6 = 80970000
/* 01458 809723A8 25CE2288 */ addiu $t6, $t6, %lo(func_80972288) ## $t6 = 80972288
/* 0145C 809723AC AC4E019C */ sw $t6, 0x019C($v0) ## 0000019C
/* 01460 809723B0 A4400188 */ sh $zero, 0x0188($v0) ## 00000188
.L809723B4:
/* 01464 809723B4 8FBF001C */ lw $ra, 0x001C($sp)
/* 01464 809723B4 8FBF001C */ lw $ra, 0x001C($sp)
/* 01468 809723B8 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 0146C 809723BC 03E00008 */ jr $ra
/* 0146C 809723BC 03E00008 */ jr $ra
/* 01470 809723C0 00000000 */ nop

View file

@ -10,66 +10,66 @@ glabel D_80976C44
.text
glabel func_80976404
/* 054B4 80976404 27BDFFA8 */ addiu $sp, $sp, 0xFFA8 ## $sp = FFFFFFA8
/* 054B8 80976408 AFBF002C */ sw $ra, 0x002C($sp)
/* 054BC 8097640C AFB00028 */ sw $s0, 0x0028($sp)
/* 054C0 80976410 AFA40058 */ sw $a0, 0x0058($sp)
/* 054C4 80976414 AFA5005C */ sw $a1, 0x005C($sp)
/* 054B8 80976408 AFBF002C */ sw $ra, 0x002C($sp)
/* 054BC 8097640C AFB00028 */ sw $s0, 0x0028($sp)
/* 054C0 80976410 AFA40058 */ sw $a0, 0x0058($sp)
/* 054C4 80976414 AFA5005C */ sw $a1, 0x005C($sp)
/* 054C8 80976418 8482001C */ lh $v0, 0x001C($a0) ## 0000001C
/* 054CC 8097641C 24010018 */ addiu $at, $zero, 0x0018 ## $at = 00000018
/* 054D0 80976420 8CB00000 */ lw $s0, 0x0000($a1) ## 00000000
/* 054D4 80976424 304200FF */ andi $v0, $v0, 0x00FF ## $v0 = 00000000
/* 054D8 80976428 1041000F */ beq $v0, $at, .L80976468
/* 054D8 80976428 1041000F */ beq $v0, $at, .L80976468
/* 054DC 8097642C 24010019 */ addiu $at, $zero, 0x0019 ## $at = 00000019
/* 054E0 80976430 1041000D */ beq $v0, $at, .L80976468
/* 054E0 80976430 1041000D */ beq $v0, $at, .L80976468
/* 054E4 80976434 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 054E8 80976438 0C01B129 */ jal Flags_GetEnv
/* 054E8 80976438 0C01B129 */ jal Flags_GetEnv
/* 054EC 8097643C 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 054F0 80976440 14400009 */ bne $v0, $zero, .L80976468
/* 054F0 80976440 14400009 */ bne $v0, $zero, .L80976468
/* 054F4 80976444 3C028016 */ lui $v0, %hi(gSaveContext)
/* 054F8 80976448 2442E660 */ addiu $v0, %lo(gSaveContext)
/* 054FC 8097644C 8C581360 */ lw $t8, 0x1360($v0) ## 8015F9C0
/* 05500 80976450 2B010004 */ slti $at, $t8, 0x0004
/* 05504 80976454 10200004 */ beq $at, $zero, .L80976468
/* 05500 80976450 2B010004 */ slti $at, $t8, 0x0004
/* 05504 80976454 10200004 */ beq $at, $zero, .L80976468
/* 05508 80976458 00000000 */ nop
/* 0550C 8097645C 8C590000 */ lw $t9, 0x0000($v0) ## 8015E660
/* 05510 80976460 24010324 */ addiu $at, $zero, 0x0324 ## $at = 00000324
/* 05514 80976464 17210020 */ bne $t9, $at, .L809764E8
/* 05514 80976464 17210020 */ bne $t9, $at, .L809764E8
.L80976468:
/* 05518 80976468 3C068097 */ lui $a2, %hi(D_80976C30) ## $a2 = 80970000
/* 0551C 8097646C 24C66C30 */ addiu $a2, $a2, %lo(D_80976C30) ## $a2 = 80976C30
/* 05520 80976470 27A40038 */ addiu $a0, $sp, 0x0038 ## $a0 = FFFFFFE0
/* 05524 80976474 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 05528 80976478 0C031AB1 */ jal Graph_OpenDisps
/* 05528 80976478 0C031AB1 */ jal Graph_OpenDisps
/* 0552C 8097647C 24070C81 */ addiu $a3, $zero, 0x0C81 ## $a3 = 00000C81
/* 05530 80976480 8E0402D0 */ lw $a0, 0x02D0($s0) ## 000002D0
/* 05534 80976484 0C024DDD */ jal Gfx_CallSetupDL
/* 05534 80976484 0C024DDD */ jal Gfx_CallSetupDL
/* 05538 80976488 24050019 */ addiu $a1, $zero, 0x0019 ## $a1 = 00000019
/* 0553C 8097648C 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 05540 80976490 44816000 */ mtc1 $at, $f12 ## $f12 = 2.00
/* 05544 80976494 AE0202D0 */ sw $v0, 0x02D0($s0) ## 000002D0
/* 05548 80976498 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 0554C 8097649C 44066000 */ mfc1 $a2, $f12
/* 05550 809764A0 0C0342A3 */ jal Matrix_Scale
/* 05554 809764A4 46006386 */ mov.s $f14, $f12
/* 05558 809764A8 8FA40058 */ lw $a0, 0x0058($sp)
/* 0554C 8097649C 44066000 */ mfc1 $a2, $f12
/* 05550 809764A0 0C0342A3 */ jal Matrix_Scale
/* 05554 809764A4 46006386 */ mov.s $f14, $f12
/* 05558 809764A8 8FA40058 */ lw $a0, 0x0058($sp)
/* 0555C 809764AC 3C078097 */ lui $a3, %hi(func_80976254) ## $a3 = 80970000
/* 05560 809764B0 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
/* 05564 809764B4 AFA80014 */ sw $t0, 0x0014($sp)
/* 05564 809764B4 AFA80014 */ sw $t0, 0x0014($sp)
/* 05568 809764B8 24E76254 */ addiu $a3, $a3, %lo(func_80976254) ## $a3 = 80976254
/* 0556C 809764BC 8FA5005C */ lw $a1, 0x005C($sp)
/* 05570 809764C0 AFA00010 */ sw $zero, 0x0010($sp)
/* 0556C 809764BC 8FA5005C */ lw $a1, 0x005C($sp)
/* 05570 809764C0 AFA00010 */ sw $zero, 0x0010($sp)
/* 05574 809764C4 2486014C */ addiu $a2, $a0, 0x014C ## $a2 = 0000014C
/* 05578 809764C8 0C01B3DB */ jal func_8006CF6C
/* 0557C 809764CC AFA40018 */ sw $a0, 0x0018($sp)
/* 05578 809764C8 0C01B3DB */ jal SkelCurve_Draw
/* 0557C 809764CC AFA40018 */ sw $a0, 0x0018($sp)
/* 05580 809764D0 3C068097 */ lui $a2, %hi(D_80976C44) ## $a2 = 80970000
/* 05584 809764D4 24C66C44 */ addiu $a2, $a2, %lo(D_80976C44) ## $a2 = 80976C44
/* 05588 809764D8 27A40038 */ addiu $a0, $sp, 0x0038 ## $a0 = FFFFFFE0
/* 0558C 809764DC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 05590 809764E0 0C031AD5 */ jal Graph_CloseDisps
/* 05590 809764E0 0C031AD5 */ jal Graph_CloseDisps
/* 05594 809764E4 24070C90 */ addiu $a3, $zero, 0x0C90 ## $a3 = 00000C90
.L809764E8:
/* 05598 809764E8 8FBF002C */ lw $ra, 0x002C($sp)
/* 0559C 809764EC 8FB00028 */ lw $s0, 0x0028($sp)
/* 05598 809764E8 8FBF002C */ lw $ra, 0x002C($sp)
/* 0559C 809764EC 8FB00028 */ lw $s0, 0x0028($sp)
/* 055A0 809764F0 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000
/* 055A4 809764F4 03E00008 */ jr $ra
/* 055A4 809764F4 03E00008 */ jr $ra
/* 055A8 809764F8 00000000 */ nop

View file

@ -1,11 +1,11 @@
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)
/* 00074 80993734 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00078 80993738 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 0007C 8099373C 0C01B217 */ jal func_8006C85C
/* 0007C 8099373C 0C01B217 */ jal SkelCurve_Destroy
/* 00080 80993740 24C5014C */ addiu $a1, $a2, 0x014C ## $a1 = 0000014C
/* 00084 80993744 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00084 80993744 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00088 80993748 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 0008C 8099374C 03E00008 */ jr $ra
/* 0008C 8099374C 03E00008 */ jr $ra
/* 00090 80993750 00000000 */ nop

View file

@ -1,25 +1,25 @@
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)
/* 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
/* 00618 80993CD8 0C031AB1 */ jal Graph_OpenDisps
/* 0061C 80993CDC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00620 80993CE0 8FAF0058 */ lw $t7, 0x0058($sp)
/* 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
/* 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)
/* 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
@ -28,23 +28,23 @@ glabel DemoTreLgt_Draw
/* 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)
/* 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 func_8006CF6C
/* 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
/* 00690 80993D50 0C031AD5 */ jal Graph_CloseDisps
/* 00694 80993D54 240701DC */ addiu $a3, $zero, 0x01DC ## $a3 = 000001DC
/* 00698 80993D58 8FBF002C */ lw $ra, 0x002C($sp)
/* 00698 80993D58 8FBF002C */ lw $ra, 0x002C($sp)
.L80993D5C:
/* 0069C 80993D5C 8FB00028 */ lw $s0, 0x0028($sp)
/* 0069C 80993D5C 8FB00028 */ lw $s0, 0x0028($sp)
/* 006A0 80993D60 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000
/* 006A4 80993D64 03E00008 */ jr $ra
/* 006A4 80993D64 03E00008 */ jr $ra
/* 006A8 80993D68 00000000 */ nop
/* 006AC 80993D6C 00000000 */ nop

View file

@ -1,30 +1,30 @@
glabel DemoTreLgt_Init
/* 00000 809936C0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00004 809936C4 AFB00018 */ sw $s0, 0x0018($sp)
/* 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)
/* 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)
/* 00020 809936E0 8CE73DB0 */ lw $a3, %lo(D_80993DB0)($a3)
/* 00024 809936E4 24C65EB8 */ addiu $a2, $a2, 0x5EB8 ## $a2 = 06005EB8
/* 00028 809936E8 0C01B1DE */ jal func_8006C778
/* 00028 809936E8 0C01B1DE */ jal SkelCurve_Init
/* 0002C 809936EC 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
/* 00030 809936F0 14400003 */ bne $v0, $zero, .L80993700
/* 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
/* 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)
/* 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
/* 00064 80993724 03E00008 */ jr $ra
/* 00068 80993728 00000000 */ nop

View file

@ -1,38 +1,38 @@
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)
/* 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
/* 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)
/* 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
/* 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 func_8006C894
/* 00168 80993828 E7AC0010 */ swc1 $f12, 0x0010($sp)
/* 0016C 8099382C 8FA40034 */ lw $a0, 0x0034($sp)
/* 00170 80993830 0C01B231 */ jal func_8006C8C4
/* 00174 80993834 8FA50020 */ lw $a1, 0x0020($sp)
/* 00178 80993838 8FBF001C */ lw $ra, 0x001C($sp)
/* 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
/* 00180 80993840 03E00008 */ jr $ra
/* 00184 80993844 00000000 */ nop

View file

@ -5,76 +5,76 @@ glabel func_80993848
/* 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
/* 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
/* 001BC 8099387C 0003C900 */ sll $t9, $v1, 4
/* 001C0 80993880 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 001C4 80993884 4604003C */ c.lt.s $f0, $f4
/* 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
/* 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
/* 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
/* 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
/* 00200 809938C0 4502002B */ bc1fl .L80993970
/* 00204 809938C4 44817000 */ mtc1 $at, $f14 ## $f14 = 255.00
/* 00208 809938C8 46006201 */ sub.s $f8, $f12, $f0
/* 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
/* 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
/* 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
/* 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
/* 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
/* 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
/* 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
/* 00270 80993930 15200005 */ bne $t1, $zero, .L80993948
/* 00274 80993934 00000000 */ nop
/* 00278 80993938 44092000 */ mfc1 $t1, $f4
/* 00278 80993938 44092000 */ mfc1 $t1, $f4
/* 0027C 8099393C 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 00280 80993940 10000007 */ beq $zero, $zero, .L80993960
/* 00280 80993940 10000007 */ beq $zero, $zero, .L80993960
/* 00284 80993944 01214825 */ or $t1, $t1, $at ## $t1 = 80000000
.L80993948:
/* 00288 80993948 10000005 */ beq $zero, $zero, .L80993960
/* 00288 80993948 10000005 */ beq $zero, $zero, .L80993960
/* 0028C 8099394C 2409FFFF */ addiu $t1, $zero, 0xFFFF ## $t1 = FFFFFFFF
/* 00290 80993950 44092000 */ mfc1 $t1, $f4
/* 00290 80993950 44092000 */ mfc1 $t1, $f4
.L80993954:
/* 00294 80993954 00000000 */ nop
/* 00298 80993958 0520FFFB */ bltz $t1, .L80993948
/* 00298 80993958 0520FFFB */ bltz $t1, .L80993948
/* 0029C 8099395C 00000000 */ nop
.L80993960:
/* 002A0 80993960 44C8F800 */ ctc1 $t0, $31
/* 002A4 80993964 10000003 */ beq $zero, $zero, .L80993974
/* 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:
@ -82,108 +82,108 @@ glabel func_80993848
.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
/* 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
/* 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
/* 002D8 80993998 45020004 */ bc1fl .L809939AC
/* 002DC 8099399C 44811000 */ mtc1 $at, $f2 ## $f2 = 10.00
/* 002E0 809939A0 10000033 */ beq $zero, $zero, .L80993A70
/* 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
/* 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
/* 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
/* 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
/* 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
/* 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
/* 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
/* 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
/* 00370 80993A30 15000005 */ bne $t0, $zero, .L80993A48
/* 00374 80993A34 00000000 */ nop
/* 00378 80993A38 44085000 */ mfc1 $t0, $f10
/* 00378 80993A38 44085000 */ mfc1 $t0, $f10
/* 0037C 80993A3C 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 00380 80993A40 10000007 */ beq $zero, $zero, .L80993A60
/* 00380 80993A40 10000007 */ beq $zero, $zero, .L80993A60
/* 00384 80993A44 01014025 */ or $t0, $t0, $at ## $t0 = 80000000
.L80993A48:
/* 00388 80993A48 10000005 */ beq $zero, $zero, .L80993A60
/* 00388 80993A48 10000005 */ beq $zero, $zero, .L80993A60
/* 0038C 80993A4C 2408FFFF */ addiu $t0, $zero, 0xFFFF ## $t0 = FFFFFFFF
/* 00390 80993A50 44085000 */ mfc1 $t0, $f10
/* 00390 80993A50 44085000 */ mfc1 $t0, $f10
.L80993A54:
/* 00394 80993A54 00000000 */ nop
/* 00398 80993A58 0500FFFB */ bltz $t0, .L80993A48
/* 00398 80993A58 0500FFFB */ bltz $t0, .L80993A48
/* 0039C 80993A5C 00000000 */ nop
.L80993A60:
/* 003A0 80993A60 44D9F800 */ ctc1 $t9, $31
/* 003A4 80993A64 10000002 */ beq $zero, $zero, .L80993A70
/* 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
/* 003BC 80993A7C 4600803C */ c.lt.s $f16, $f0
/* 003C0 80993A80 00000000 */ nop
/* 003C4 80993A84 45020011 */ bc1fl .L80993ACC
/* 003C8 80993A88 8FA4002C */ lw $a0, 0x002C($sp)
/* 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
/* 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)
/* 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)
/* 00408 80993AC8 8FA4002C */ lw $a0, 0x002C($sp)
.L80993ACC:
/* 0040C 80993ACC 0C01B231 */ jal func_8006C8C4
/* 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)
/* 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)
/* 00424 80993AE4 8FBF0024 */ lw $ra, 0x0024($sp)
.L80993AE8:
/* 00428 80993AE8 8FB00020 */ lw $s0, 0x0020($sp)
/* 00428 80993AE8 8FB00020 */ lw $s0, 0x0020($sp)
/* 0042C 80993AEC 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00430 80993AF0 03E00008 */ jr $ra
/* 00430 80993AF0 03E00008 */ jr $ra
/* 00434 80993AF4 00000000 */ nop

View file

@ -15,25 +15,25 @@ glabel D_80B8CE34
glabel MagicWind_Destroy
/* 00150 80B8B250 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00154 80B8B254 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 00158 80B8B258 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0015C 80B8B25C AFA5001C */ sw $a1, 0x001C($sp)
/* 00158 80B8B258 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0015C 80B8B25C AFA5001C */ sw $a1, 0x001C($sp)
/* 00160 80B8B260 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00164 80B8B264 0C01B217 */ jal func_8006C85C
/* 00164 80B8B264 0C01B217 */ jal SkelCurve_Destroy
/* 00168 80B8B268 24C5014C */ addiu $a1, $a2, 0x014C ## $a1 = 0000014C
/* 0016C 80B8B26C 0C021DB2 */ jal func_800876C8
/* 00170 80B8B270 8FA4001C */ lw $a0, 0x001C($sp)
/* 0016C 80B8B26C 0C021DB2 */ jal func_800876C8
/* 00170 80B8B270 8FA4001C */ lw $a0, 0x001C($sp)
/* 00174 80B8B274 3C0480B9 */ lui $a0, %hi(D_80B8CE10) ## $a0 = 80B90000
/* 00178 80B8B278 2484CE10 */ addiu $a0, $a0, %lo(D_80B8CE10) ## $a0 = 80B8CE10
/* 0017C 80B8B27C 0C000B84 */ jal LogUtils_LogThreadId
/* 00180 80B8B280 240501F9 */ addiu $a1, $zero, 0x01F9 ## $a1 = 000001F9
/* 00184 80B8B284 3C0480B9 */ lui $a0, %hi(D_80B8CE24) ## $a0 = 80B90000
/* 00188 80B8B288 3C0580B9 */ lui $a1, %hi(D_80B8CE34) ## $a1 = 80B90000
/* 0018C 80B8B28C 24A5CE34 */ addiu $a1, $a1, %lo(D_80B8CE34) ## $a1 = 80B8CE34
/* 00190 80B8B290 0C00084C */ jal osSyncPrintf
/* 00194 80B8B294 2484CE24 */ addiu $a0, $a0, %lo(D_80B8CE24) ## $a0 = 80B8CE24
/* 00198 80B8B298 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00198 80B8B298 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0019C 80B8B29C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 001A0 80B8B2A0 03E00008 */ jr $ra
/* 001A0 80B8B2A0 03E00008 */ jr $ra
/* 001A4 80B8B2A4 00000000 */ nop

View file

@ -10,48 +10,48 @@ glabel D_80B8CEAC
.text
glabel MagicWind_Draw
/* 006AC 80B8B7AC 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
/* 006B0 80B8B7B0 AFBF002C */ sw $ra, 0x002C($sp)
/* 006B4 80B8B7B4 AFB00028 */ sw $s0, 0x0028($sp)
/* 006B8 80B8B7B8 AFA40050 */ sw $a0, 0x0050($sp)
/* 006BC 80B8B7BC AFA50054 */ sw $a1, 0x0054($sp)
/* 006B0 80B8B7B0 AFBF002C */ sw $ra, 0x002C($sp)
/* 006B4 80B8B7B4 AFB00028 */ sw $s0, 0x0028($sp)
/* 006B8 80B8B7B8 AFA40050 */ sw $a0, 0x0050($sp)
/* 006BC 80B8B7BC AFA50054 */ sw $a1, 0x0054($sp)
/* 006C0 80B8B7C0 8CB00000 */ lw $s0, 0x0000($a1) ## 00000000
/* 006C4 80B8B7C4 3C0680B9 */ lui $a2, %hi(D_80B8CE98) ## $a2 = 80B90000
/* 006C8 80B8B7C8 24C6CE98 */ addiu $a2, $a2, %lo(D_80B8CE98) ## $a2 = 80B8CE98
/* 006CC 80B8B7CC 27A40034 */ addiu $a0, $sp, 0x0034 ## $a0 = FFFFFFE4
/* 006D0 80B8B7D0 24070295 */ addiu $a3, $zero, 0x0295 ## $a3 = 00000295
/* 006D4 80B8B7D4 0C031AB1 */ jal Graph_OpenDisps
/* 006D4 80B8B7D4 0C031AB1 */ jal Graph_OpenDisps
/* 006D8 80B8B7D8 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 006DC 80B8B7DC 8FB80050 */ lw $t8, 0x0050($sp)
/* 006DC 80B8B7DC 8FB80050 */ lw $t8, 0x0050($sp)
/* 006E0 80B8B7E0 3C0F80B9 */ lui $t7, %hi(func_80B8B3C8) ## $t7 = 80B90000
/* 006E4 80B8B7E4 25EFB3C8 */ addiu $t7, $t7, %lo(func_80B8B3C8) ## $t7 = 80B8B3C8
/* 006E8 80B8B7E8 8F190170 */ lw $t9, 0x0170($t8) ## 00000170
/* 006EC 80B8B7EC 24050019 */ addiu $a1, $zero, 0x0019 ## $a1 = 00000019
/* 006F0 80B8B7F0 11F9000E */ beq $t7, $t9, .L80B8B82C
/* 006F0 80B8B7F0 11F9000E */ beq $t7, $t9, .L80B8B82C
/* 006F4 80B8B7F4 00000000 */ nop
/* 006F8 80B8B7F8 0C024DDD */ jal Gfx_CallSetupDL
/* 006F8 80B8B7F8 0C024DDD */ jal Gfx_CallSetupDL
/* 006FC 80B8B7FC 8E0402D0 */ lw $a0, 0x02D0($s0) ## 000002D0
/* 00700 80B8B800 8FA40050 */ lw $a0, 0x0050($sp)
/* 00700 80B8B800 8FA40050 */ lw $a0, 0x0050($sp)
/* 00704 80B8B804 AE0202D0 */ sw $v0, 0x02D0($s0) ## 000002D0
/* 00708 80B8B808 3C0780B9 */ lui $a3, %hi(func_80B8B5F4) ## $a3 = 80B90000
/* 0070C 80B8B80C 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
/* 00710 80B8B810 AFA80014 */ sw $t0, 0x0014($sp)
/* 00710 80B8B810 AFA80014 */ sw $t0, 0x0014($sp)
/* 00714 80B8B814 24E7B5F4 */ addiu $a3, $a3, %lo(func_80B8B5F4) ## $a3 = 80B8B5F4
/* 00718 80B8B818 AFA00018 */ sw $zero, 0x0018($sp)
/* 0071C 80B8B81C AFA00010 */ sw $zero, 0x0010($sp)
/* 00720 80B8B820 8FA50054 */ lw $a1, 0x0054($sp)
/* 00724 80B8B824 0C01B3DB */ jal func_8006CF6C
/* 00718 80B8B818 AFA00018 */ sw $zero, 0x0018($sp)
/* 0071C 80B8B81C AFA00010 */ sw $zero, 0x0010($sp)
/* 00720 80B8B820 8FA50054 */ lw $a1, 0x0054($sp)
/* 00724 80B8B824 0C01B3DB */ jal SkelCurve_Draw
/* 00728 80B8B828 2486014C */ addiu $a2, $a0, 0x014C ## $a2 = 0000014C
.L80B8B82C:
/* 0072C 80B8B82C 3C0680B9 */ lui $a2, %hi(D_80B8CEAC) ## $a2 = 80B90000
/* 00730 80B8B830 24C6CEAC */ addiu $a2, $a2, %lo(D_80B8CEAC) ## $a2 = 80B8CEAC
/* 00734 80B8B834 27A40034 */ addiu $a0, $sp, 0x0034 ## $a0 = FFFFFFE4
/* 00738 80B8B838 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 0073C 80B8B83C 0C031AD5 */ jal Graph_CloseDisps
/* 0073C 80B8B83C 0C031AD5 */ jal Graph_CloseDisps
/* 00740 80B8B840 240702A1 */ addiu $a3, $zero, 0x02A1 ## $a3 = 000002A1
/* 00744 80B8B844 8FBF002C */ lw $ra, 0x002C($sp)
/* 00748 80B8B848 8FB00028 */ lw $s0, 0x0028($sp)
/* 00744 80B8B844 8FBF002C */ lw $ra, 0x002C($sp)
/* 00748 80B8B848 8FB00028 */ lw $s0, 0x0028($sp)
/* 0074C 80B8B84C 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
/* 00750 80B8B850 03E00008 */ jr $ra
/* 00750 80B8B850 03E00008 */ jr $ra
/* 00754 80B8B854 00000000 */ nop
/* 00758 80B8B858 00000000 */ nop
/* 0075C 80B8B85C 00000000 */ nop

View file

@ -18,9 +18,9 @@ glabel D_80B8CE04
.text
glabel MagicWind_Init
/* 00008 80B8B108 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 0000C 80B8B10C AFB00020 */ sw $s0, 0x0020($sp)
/* 00010 80B8B110 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00014 80B8B114 AFA5003C */ sw $a1, 0x003C($sp)
/* 0000C 80B8B10C AFB00020 */ sw $s0, 0x0020($sp)
/* 00010 80B8B110 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00014 80B8B114 AFA5003C */ sw $a1, 0x003C($sp)
/* 00018 80B8B118 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44
/* 0001C 80B8B11C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00020 80B8B120 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
@ -29,46 +29,46 @@ glabel MagicWind_Init
/* 0002C 80B8B12C 3C0780B9 */ lui $a3, %hi(D_80B8CD50) ## $a3 = 80B90000
/* 00030 80B8B130 24E7CD50 */ addiu $a3, $a3, %lo(D_80B8CD50) ## $a3 = 80B8CD50
/* 00034 80B8B134 24C6CD90 */ addiu $a2, $a2, %lo(D_80B8CD90) ## $a2 = 80B8CD90
/* 00038 80B8B138 AFA50028 */ sw $a1, 0x0028($sp)
/* 0003C 80B8B13C 0C01B1DE */ jal func_8006C778
/* 00040 80B8B140 AFAF0030 */ sw $t7, 0x0030($sp)
/* 00044 80B8B144 14400003 */ bne $v0, $zero, .L80B8B154
/* 00038 80B8B138 AFA50028 */ sw $a1, 0x0028($sp)
/* 0003C 80B8B13C 0C01B1DE */ jal SkelCurve_Init
/* 00040 80B8B140 AFAF0030 */ sw $t7, 0x0030($sp)
/* 00044 80B8B144 14400003 */ bne $v0, $zero, .L80B8B154
/* 00048 80B8B148 3C0480B9 */ lui $a0, %hi(D_80B8CDB0) ## $a0 = 80B90000
/* 0004C 80B8B14C 0C00084C */ jal osSyncPrintf
/* 00050 80B8B150 2484CDB0 */ addiu $a0, $a0, %lo(D_80B8CDB0) ## $a0 = 80B8CDB0
.L80B8B154:
/* 00054 80B8B154 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
/* 00058 80B8B158 2418FFFF */ addiu $t8, $zero, 0xFFFF ## $t8 = FFFFFFFF
/* 0005C 80B8B15C A2180003 */ sb $t8, 0x0003($s0) ## 00000003
/* 00060 80B8B160 10400006 */ beq $v0, $zero, .L80B8B17C
/* 00060 80B8B160 10400006 */ beq $v0, $zero, .L80B8B17C
/* 00064 80B8B164 3C014270 */ lui $at, 0x4270 ## $at = 42700000
/* 00068 80B8B168 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 0006C 80B8B16C 10410017 */ beq $v0, $at, .L80B8B1CC
/* 00070 80B8B170 8FA40028 */ lw $a0, 0x0028($sp)
/* 00074 80B8B174 10000032 */ beq $zero, $zero, .L80B8B240
/* 00078 80B8B178 8FBF0024 */ lw $ra, 0x0024($sp)
/* 0006C 80B8B16C 10410017 */ beq $v0, $at, .L80B8B1CC
/* 00070 80B8B170 8FA40028 */ lw $a0, 0x0028($sp)
/* 00074 80B8B174 10000032 */ beq $zero, $zero, .L80B8B240
/* 00078 80B8B178 8FBF0024 */ lw $ra, 0x0024($sp)
.L80B8B17C:
/* 0007C 80B8B17C 44810000 */ mtc1 $at, $f0 ## $f0 = 0.00
/* 00080 80B8B180 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
/* 00084 80B8B184 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00088 80B8B188 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00
/* 0008C 80B8B18C 3C0580B9 */ lui $a1, %hi(D_80B8CD50) ## $a1 = 80B90000
/* 00090 80B8B190 44070000 */ mfc1 $a3, $f0
/* 00094 80B8B194 44061000 */ mfc1 $a2, $f2
/* 00090 80B8B190 44070000 */ mfc1 $a3, $f0
/* 00094 80B8B194 44061000 */ mfc1 $a2, $f2
/* 00098 80B8B198 24A5CD50 */ addiu $a1, $a1, %lo(D_80B8CD50) ## $a1 = 80B8CD50
/* 0009C 80B8B19C 8FA40028 */ lw $a0, 0x0028($sp)
/* 000A0 80B8B1A0 E7A20010 */ swc1 $f2, 0x0010($sp)
/* 000A4 80B8B1A4 0C01B225 */ jal func_8006C894
/* 000A8 80B8B1A8 E7A40014 */ swc1 $f4, 0x0014($sp)
/* 0009C 80B8B19C 8FA40028 */ lw $a0, 0x0028($sp)
/* 000A0 80B8B1A0 E7A20010 */ swc1 $f2, 0x0010($sp)
/* 000A4 80B8B1A4 0C01B225 */ jal SkelCurve_SetAnim
/* 000A8 80B8B1A8 E7A40014 */ swc1 $f4, 0x0014($sp)
/* 000AC 80B8B1AC 2419001D */ addiu $t9, $zero, 0x001D ## $t9 = 0000001D
/* 000B0 80B8B1B0 3C0580B9 */ lui $a1, %hi(func_80B8B3C8) ## $a1 = 80B90000
/* 000B4 80B8B1B4 A619016C */ sh $t9, 0x016C($s0) ## 0000016C
/* 000B8 80B8B1B8 24A5B3C8 */ addiu $a1, $a1, %lo(func_80B8B3C8) ## $a1 = 80B8B3C8
/* 000BC 80B8B1BC 0C2E2C40 */ jal func_80B8B100
/* 000BC 80B8B1BC 0C2E2C40 */ jal func_80B8B100
/* 000C0 80B8B1C0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 000C4 80B8B1C4 1000001E */ beq $zero, $zero, .L80B8B240
/* 000C8 80B8B1C8 8FBF0024 */ lw $ra, 0x0024($sp)
/* 000C4 80B8B1C4 1000001E */ beq $zero, $zero, .L80B8B240
/* 000C8 80B8B1C8 8FBF0024 */ lw $ra, 0x0024($sp)
.L80B8B1CC:
/* 000CC 80B8B1CC 3C014270 */ lui $at, 0x4270 ## $at = 42700000
/* 000D0 80B8B1D0 44810000 */ mtc1 $at, $f0 ## $f0 = 60.00
@ -76,33 +76,33 @@ glabel MagicWind_Init
/* 000D8 80B8B1D8 3C01BF80 */ lui $at, 0xBF80 ## $at = BF800000
/* 000DC 80B8B1DC 44813000 */ mtc1 $at, $f6 ## $f6 = -1.00
/* 000E0 80B8B1E0 3C0580B9 */ lui $a1, %hi(D_80B8CD50) ## $a1 = 80B90000
/* 000E4 80B8B1E4 44060000 */ mfc1 $a2, $f0
/* 000E8 80B8B1E8 44071000 */ mfc1 $a3, $f2
/* 000E4 80B8B1E4 44060000 */ mfc1 $a2, $f0
/* 000E8 80B8B1E8 44071000 */ mfc1 $a3, $f2
/* 000EC 80B8B1EC 24A5CD50 */ addiu $a1, $a1, %lo(D_80B8CD50) ## $a1 = 80B8CD50
/* 000F0 80B8B1F0 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 000F4 80B8B1F4 0C01B225 */ jal func_8006C894
/* 000F8 80B8B1F8 E7A60014 */ swc1 $f6, 0x0014($sp)
/* 000F0 80B8B1F0 E7A00010 */ swc1 $f0, 0x0010($sp)
/* 000F4 80B8B1F4 0C01B225 */ jal SkelCurve_SetAnim
/* 000F8 80B8B1F8 E7A60014 */ swc1 $f6, 0x0014($sp)
/* 000FC 80B8B1FC 3C0580B9 */ lui $a1, %hi(func_80B8B564) ## $a1 = 80B90000
/* 00100 80B8B200 24A5B564 */ addiu $a1, $a1, %lo(func_80B8B564) ## $a1 = 80B8B564
/* 00104 80B8B204 0C2E2C40 */ jal func_80B8B100
/* 00104 80B8B204 0C2E2C40 */ jal func_80B8B100
/* 00108 80B8B208 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0010C 80B8B20C 3C0480B9 */ lui $a0, %hi(D_80B8CDDC) ## $a0 = 80B90000
/* 00110 80B8B210 2484CDDC */ addiu $a0, $a0, %lo(D_80B8CDDC) ## $a0 = 80B8CDDC
/* 00114 80B8B214 0C000B84 */ jal LogUtils_LogThreadId
/* 00118 80B8B218 240501E6 */ addiu $a1, $zero, 0x01E6 ## $a1 = 000001E6
/* 0011C 80B8B21C 3C0480B9 */ lui $a0, %hi(D_80B8CDF0) ## $a0 = 80B90000
/* 00120 80B8B220 3C0580B9 */ lui $a1, %hi(D_80B8CE04) ## $a1 = 80B90000
/* 00124 80B8B224 24A5CE04 */ addiu $a1, $a1, %lo(D_80B8CE04) ## $a1 = 80B8CE04
/* 00128 80B8B228 0C00084C */ jal osSyncPrintf
/* 0012C 80B8B22C 2484CDF0 */ addiu $a0, $a0, %lo(D_80B8CDF0) ## $a0 = 80B8CDF0
/* 00130 80B8B230 8FA40030 */ lw $a0, 0x0030($sp)
/* 00134 80B8B234 0C00BDF7 */ jal func_8002F7DC
/* 00130 80B8B230 8FA40030 */ lw $a0, 0x0030($sp)
/* 00134 80B8B234 0C00BDF7 */ jal func_8002F7DC
/* 00138 80B8B238 2405087B */ addiu $a1, $zero, 0x087B ## $a1 = 0000087B
/* 0013C 80B8B23C 8FBF0024 */ lw $ra, 0x0024($sp)
/* 0013C 80B8B23C 8FBF0024 */ lw $ra, 0x0024($sp)
.L80B8B240:
/* 00140 80B8B240 8FB00020 */ lw $s0, 0x0020($sp)
/* 00140 80B8B240 8FB00020 */ lw $s0, 0x0020($sp)
/* 00144 80B8B244 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 00148 80B8B248 03E00008 */ jr $ra
/* 00148 80B8B248 03E00008 */ jr $ra
/* 0014C 80B8B24C 00000000 */ nop

View file

@ -14,46 +14,46 @@ glabel D_80B8CE64
.text
glabel func_80B8B3C8
/* 002C8 80B8B3C8 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 002CC 80B8B3CC AFBF0014 */ sw $ra, 0x0014($sp)
/* 002D0 80B8B3D0 AFA50024 */ sw $a1, 0x0024($sp)
/* 002CC 80B8B3CC AFBF0014 */ sw $ra, 0x0014($sp)
/* 002D0 80B8B3D0 AFA50024 */ sw $a1, 0x0024($sp)
/* 002D4 80B8B3D4 8CAF1C44 */ lw $t7, 0x1C44($a1) ## 00001C44
/* 002D8 80B8B3D8 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 002DC 80B8B3DC 2405021B */ addiu $a1, $zero, 0x021B ## $a1 = 0000021B
/* 002E0 80B8B3E0 AFAF001C */ sw $t7, 0x001C($sp)
/* 002E0 80B8B3E0 AFAF001C */ sw $t7, 0x001C($sp)
/* 002E4 80B8B3E4 8482016C */ lh $v0, 0x016C($a0) ## 0000016C
/* 002E8 80B8B3E8 18400003 */ blez $v0, .L80B8B3F8
/* 002E8 80B8B3E8 18400003 */ blez $v0, .L80B8B3F8
/* 002EC 80B8B3EC 2458FFFF */ addiu $t8, $v0, 0xFFFF ## $t8 = FFFFFFFF
/* 002F0 80B8B3F0 10000019 */ beq $zero, $zero, .L80B8B458
/* 002F0 80B8B3F0 10000019 */ beq $zero, $zero, .L80B8B458
/* 002F4 80B8B3F4 A498016C */ sh $t8, 0x016C($a0) ## 0000016C
.L80B8B3F8:
/* 002F8 80B8B3F8 3C0480B9 */ lui $a0, %hi(D_80B8CE3C) ## $a0 = 80B90000
/* 002FC 80B8B3FC 2484CE3C */ addiu $a0, $a0, %lo(D_80B8CE3C) ## $a0 = 80B8CE3C
/* 00300 80B8B400 0C000B84 */ jal LogUtils_LogThreadId
/* 00304 80B8B404 AFA60020 */ sw $a2, 0x0020($sp)
/* 00304 80B8B404 AFA60020 */ sw $a2, 0x0020($sp)
/* 00308 80B8B408 3C0480B9 */ lui $a0, %hi(D_80B8CE50) ## $a0 = 80B90000
/* 0030C 80B8B40C 3C0580B9 */ lui $a1, %hi(D_80B8CE64) ## $a1 = 80B90000
/* 00310 80B8B410 24A5CE64 */ addiu $a1, $a1, %lo(D_80B8CE64) ## $a1 = 80B8CE64
/* 00314 80B8B414 0C00084C */ jal osSyncPrintf
/* 00318 80B8B418 2484CE50 */ addiu $a0, $a0, %lo(D_80B8CE50) ## $a0 = 80B8CE50
/* 0031C 80B8B41C 8FA4001C */ lw $a0, 0x001C($sp)
/* 00320 80B8B420 0C00BDF7 */ jal func_8002F7DC
/* 0031C 80B8B41C 8FA4001C */ lw $a0, 0x001C($sp)
/* 00320 80B8B420 0C00BDF7 */ jal func_8002F7DC
/* 00324 80B8B424 2405087A */ addiu $a1, $zero, 0x087A ## $a1 = 0000087A
/* 00328 80B8B428 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 0032C 80B8B42C 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00
/* 00330 80B8B430 0C2E2CAA */ jal func_80B8B2A8
/* 00330 80B8B430 0C2E2CAA */ jal func_80B8B2A8
/* 00334 80B8B434 00000000 */ nop
/* 00338 80B8B438 3C0580B9 */ lui $a1, %hi(func_80B8B468) ## $a1 = 80B90000
/* 0033C 80B8B43C 24A5B468 */ addiu $a1, $a1, %lo(func_80B8B468) ## $a1 = 80B8B468
/* 00340 80B8B440 0C2E2C40 */ jal func_80B8B100
/* 00344 80B8B444 8FA40020 */ lw $a0, 0x0020($sp)
/* 00348 80B8B448 8FA50020 */ lw $a1, 0x0020($sp)
/* 0034C 80B8B44C 8FA40024 */ lw $a0, 0x0024($sp)
/* 00350 80B8B450 0C01B231 */ jal func_8006C8C4
/* 00340 80B8B440 0C2E2C40 */ jal func_80B8B100
/* 00344 80B8B444 8FA40020 */ lw $a0, 0x0020($sp)
/* 00348 80B8B448 8FA50020 */ lw $a1, 0x0020($sp)
/* 0034C 80B8B44C 8FA40024 */ lw $a0, 0x0024($sp)
/* 00350 80B8B450 0C01B231 */ jal SkelCurve_Update
/* 00354 80B8B454 24A5014C */ addiu $a1, $a1, 0x014C ## $a1 = 0000014C
.L80B8B458:
/* 00358 80B8B458 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00358 80B8B458 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0035C 80B8B45C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00360 80B8B460 03E00008 */ jr $ra
/* 00360 80B8B460 03E00008 */ jr $ra
/* 00364 80B8B464 00000000 */ nop

View file

@ -1,21 +1,21 @@
glabel func_80B8B468
/* 00368 80B8B468 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0036C 80B8B46C AFA40018 */ sw $a0, 0x0018($sp)
/* 0036C 80B8B46C AFA40018 */ sw $a0, 0x0018($sp)
/* 00370 80B8B470 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00374 80B8B474 8FA50018 */ lw $a1, 0x0018($sp)
/* 00378 80B8B478 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0037C 80B8B47C 0C01B231 */ jal func_8006C8C4
/* 00374 80B8B474 8FA50018 */ lw $a1, 0x0018($sp)
/* 00378 80B8B478 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0037C 80B8B47C 0C01B231 */ jal SkelCurve_Update
/* 00380 80B8B480 24A5014C */ addiu $a1, $a1, 0x014C ## $a1 = 0000014C
/* 00384 80B8B484 10400007 */ beq $v0, $zero, .L80B8B4A4
/* 00388 80B8B488 8FA40018 */ lw $a0, 0x0018($sp)
/* 00384 80B8B484 10400007 */ beq $v0, $zero, .L80B8B4A4
/* 00388 80B8B488 8FA40018 */ lw $a0, 0x0018($sp)
/* 0038C 80B8B48C 3C0580B9 */ lui $a1, %hi(func_80B8B4B4) ## $a1 = 80B90000
/* 00390 80B8B490 0C2E2C40 */ jal func_80B8B100
/* 00390 80B8B490 0C2E2C40 */ jal func_80B8B100
/* 00394 80B8B494 24A5B4B4 */ addiu $a1, $a1, %lo(func_80B8B4B4) ## $a1 = 80B8B4B4
/* 00398 80B8B498 8FAF0018 */ lw $t7, 0x0018($sp)
/* 00398 80B8B498 8FAF0018 */ lw $t7, 0x0018($sp)
/* 0039C 80B8B49C 240E0032 */ addiu $t6, $zero, 0x0032 ## $t6 = 00000032
/* 003A0 80B8B4A0 A5EE016C */ sh $t6, 0x016C($t7) ## 0000016C
.L80B8B4A4:
/* 003A4 80B8B4A4 8FBF0014 */ lw $ra, 0x0014($sp)
/* 003A4 80B8B4A4 8FBF0014 */ lw $ra, 0x0014($sp)
/* 003A8 80B8B4A8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 003AC 80B8B4AC 03E00008 */ jr $ra
/* 003AC 80B8B4AC 03E00008 */ jr $ra
/* 003B0 80B8B4B0 00000000 */ nop

View file

@ -1,18 +1,18 @@
glabel func_80B8B564
/* 00464 80B8B564 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00468 80B8B568 AFA40018 */ sw $a0, 0x0018($sp)
/* 00468 80B8B568 AFA40018 */ sw $a0, 0x0018($sp)
/* 0046C 80B8B56C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00470 80B8B570 8FA50018 */ lw $a1, 0x0018($sp)
/* 00474 80B8B574 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00478 80B8B578 0C01B231 */ jal func_8006C8C4
/* 00470 80B8B570 8FA50018 */ lw $a1, 0x0018($sp)
/* 00474 80B8B574 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00478 80B8B578 0C01B231 */ jal SkelCurve_Update
/* 0047C 80B8B57C 24A5014C */ addiu $a1, $a1, 0x014C ## $a1 = 0000014C
/* 00480 80B8B580 50400004 */ beql $v0, $zero, .L80B8B594
/* 00484 80B8B584 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00480 80B8B580 50400004 */ beql $v0, $zero, .L80B8B594
/* 00484 80B8B584 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00488 80B8B588 0C00B55C */ jal Actor_Kill
/* 0048C 80B8B58C 8FA40018 */ lw $a0, 0x0018($sp)
/* 00490 80B8B590 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0048C 80B8B58C 8FA40018 */ lw $a0, 0x0018($sp)
/* 00490 80B8B590 8FBF0014 */ lw $ra, 0x0014($sp)
.L80B8B594:
/* 00494 80B8B594 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00498 80B8B598 03E00008 */ jr $ra
/* 00498 80B8B598 03E00008 */ jr $ra
/* 0049C 80B8B59C 00000000 */ nop

View file

@ -868,9 +868,16 @@ void Flags_UnsetAllEnv(GlobalContext* globalCtx);
void Flags_SetEnv(GlobalContext* globalCtx, s16 flag);
void Flags_UnsetEnv(GlobalContext* globalCtx, s16 flag);
s32 Flags_GetEnv(GlobalContext* globalCtx, s16 flag);
// ? func_8006C510(?);
// ? func_8006C5A8(?);
// ? func_8006CBAC(?);
f32 func_8006C5A8(f32 target, TransformData* transData, s32 refIdx);
void SkelCurve_Clear(SkelAnimeCurve* skelCurve);
s32 SkelCurve_Init(GlobalContext* globalCtx, SkelAnimeCurve* skelCurve, SkelCurveLimbList* limbListSeg,
TransformData* transData);
void SkelCurve_Destroy(GlobalContext* globalCtx, SkelAnimeCurve* skelCurve);
void SkelCurve_SetAnim(SkelAnimeCurve* skelCurve, TransformUpdateIndex* transUpdIdx, f32 arg2, f32 animFinalFrame,
f32 animCurFrame, f32 animSpeed);
s32 SkelCurve_Update(GlobalContext* globalCtx, SkelAnimeCurve* skelCurve);
void SkelCurve_Draw(Actor* actor, GlobalContext* globalCtx, SkelAnimeCurve* skelCurve,
OverrideCurveLimbDraw overrideLimbDraw, PostCurveLimbDraw postLimbDraw, s32 lod, Actor* actor2);
// ? func_8006CFC0(?);
// ? func_8006D074(?);
// ? func_8006D0AC(?);

View file

@ -188,4 +188,53 @@ typedef void (*AnimationEntryCallback)(struct GlobalContext*, AnimationEntryType
extern u32 link_animetion_segment;
// fcurve_skelanime structs
typedef struct {
/* 0x0000 */ u16 unk_00; // appears to be flags
/* 0x0002 */ s16 unk_02;
/* 0x0004 */ s16 unk_04;
/* 0x0006 */ s16 unk_06;
/* 0x0008 */ f32 unk_08;
} TransformData; // size = 0xC
typedef struct {
/* 0x0000 */ u8* refIndex;
/* 0x0004 */ TransformData *transformData;
/* 0x0008 */ s16* copyValues;
/* 0x000C */ s16 unk_0C;
/* 0x000E */ s16 unk_10;
} TransformUpdateIndex; // size 0x10
typedef struct {
/* 0x0000 */ u8 firstChildIdx;
/* 0x0001 */ u8 nextLimbIdx;
/* 0x0004 */ Gfx* dList[2];
} SkelCurveLimb; // size >= 0x8
typedef struct {
/* 0x0000 */ SkelCurveLimb** limbs;
/* 0x0004 */ u8 limbCount;
} SkelCurveLimbList; // size = 0x8
typedef struct {
/* 0x0000 */ Vec3s scale;
/* 0x0006 */ Vec3s rot;
/* 0x000C */ Vec3s pos;
} LimbTransform; // size = 0x12
typedef struct {
/* 0x0000 */ u8 limbCount;
/* 0x0004 */ SkelCurveLimb** limbList;
/* 0x0008 */ TransformUpdateIndex *transUpdIdx;
/* 0x000C */ f32 unk_0C; // seems to be unused
/* 0x0010 */ f32 animFinalFrame;
/* 0x0014 */ f32 animSpeed;
/* 0x0018 */ f32 animCurFrame;
/* 0x001C */ LimbTransform* transforms;
} SkelAnimeCurve; // size = 0x20
typedef s32 (*OverrideCurveLimbDraw)(struct GlobalContext* globalCtx, SkelAnimeCurve* skelCuve, s32 limbIndex, struct Actor* actor);
typedef void (*PostCurveLimbDraw)(struct GlobalContext* globalCtx, SkelAnimeCurve* skelCuve, s32 limbIndex, struct Actor* actor);
#endif

3
spec
View file

@ -3600,8 +3600,7 @@ endseg
beginseg
name "ovl_Magic_Wind"
include "build/src/overlays/actors/ovl_Magic_Wind/z_magic_wind.o"
include "build/data/overlays/actors/z_magic_wind.data.o"
include "build/data/overlays/actors/z_magic_wind.reloc.o"
include "build/src/overlays/actors/ovl_Magic_Wind/z_magic_wind_reloc.o"
endseg
beginseg

View file

@ -1,6 +1,41 @@
#include <ultra64.h>
#include <global.h>
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8006C510/func_8006C510.s")
f32 func_8006C510(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5) {
char pad[0x1C];
f32 sq = SQ(arg0);
f32 cube = sq * arg0;
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8006C510/func_8006C5A8.s")
return (((cube + cube) - sq * 3.0f) + 1.0f) * arg2 + (sq * 3.0f - (cube + cube)) * arg3 +
((cube - (sq + sq)) + arg0) * arg4 * arg1 + (cube - sq) * arg5 * arg1;
}
f32 func_8006C5A8(f32 target, TransformData* transData, s32 refIdx) {
s32 i;
s32 j;
if (target <= transData->unk_02) {
return transData->unk_08;
}
if (target >= transData[refIdx - 1].unk_02) {
return transData[refIdx - 1].unk_08;
}
for (i = 0;; i++) {
j = i + 1;
if (transData[j].unk_02 > target) {
if (transData[i].unk_00 & 1) {
return transData[i].unk_08;
} else if (transData[i].unk_00 & 2) {
return transData[i].unk_08 +
((target - (f32)transData[i].unk_02) / ((f32)transData[j].unk_02 - (f32)transData[i].unk_02)) *
(transData[j].unk_08 - transData[i].unk_08);
} else {
f32 diff = (f32)transData[j].unk_02 - (f32)transData[i].unk_02;
return func_8006C510((target - transData[i].unk_02) / ((f32)transData[j].unk_02 - transData[i].unk_02),
diff * (1.0f / 30.0f), transData[i].unk_08, transData[j].unk_08,
transData[i].unk_06, transData[j].unk_04);
}
}
}
}

View file

@ -1,16 +1,188 @@
#include <ultra64.h>
#include <global.h>
#pragma GLOBAL_ASM("asm/non_matchings/code/z_fcurve_data_skelanime/func_8006C750.s")
void SkelCurve_Clear(SkelAnimeCurve* skelCurve) {
skelCurve->limbCount = 0;
skelCurve->limbList = NULL;
skelCurve->transUpdIdx = NULL;
skelCurve->animCurFrame = 0.0f;
skelCurve->animSpeed = 0.0f;
skelCurve->animFinalFrame = 0.0f;
skelCurve->transforms = NULL;
skelCurve->unk_0C = 0.0f;
}
#pragma GLOBAL_ASM("asm/non_matchings/code/z_fcurve_data_skelanime/func_8006C778.s")
s32 SkelCurve_Init(GlobalContext* globalCtx, SkelAnimeCurve* skelCurve, SkelCurveLimbList* limbListSeg,
TransformData* transData) {
SkelCurveLimb** limbs;
SkelCurveLimbList* limbList = SEGMENTED_TO_VIRTUAL(limbListSeg);
#pragma GLOBAL_ASM("asm/non_matchings/code/z_fcurve_data_skelanime/func_8006C85C.s")
skelCurve->limbCount = limbList->limbCount;
skelCurve->limbList = SEGMENTED_TO_VIRTUAL(limbList->limbs);
#pragma GLOBAL_ASM("asm/non_matchings/code/z_fcurve_data_skelanime/func_8006C894.s")
skelCurve->transforms = ZeldaArena_MallocDebug(sizeof(*skelCurve->transforms) * skelCurve->limbCount,
"../z_fcurve_data_skelanime.c", 125);
if (skelCurve->transforms == NULL) {
__assert("this->now_joint != NULL", "../z_fcurve_data_skelanime.c", 127);
}
do {
skelCurve->animCurFrame = 0.0f;
} while (0);
return 1;
}
#pragma GLOBAL_ASM("asm/non_matchings/code/z_fcurve_data_skelanime/func_8006C8C4.s")
void SkelCurve_Destroy(GlobalContext* globalCtx, SkelAnimeCurve* skelCurve) {
if (skelCurve->transforms != NULL) {
ZeldaArena_FreeDebug(skelCurve->transforms, "../z_fcurve_data_skelanime.c", 146);
}
}
#pragma GLOBAL_ASM("asm/non_matchings/code/z_fcurve_data_skelanime/func_8006CBAC.s")
void SkelCurve_SetAnim(SkelAnimeCurve* skelCurve, TransformUpdateIndex* transUpdIdx, f32 arg2, f32 animFinalFrame,
f32 animCurFrame, f32 animSpeed) {
skelCurve->unk_0C = arg2 - skelCurve->animSpeed;
skelCurve->animFinalFrame = animFinalFrame;
skelCurve->animCurFrame = animCurFrame;
skelCurve->animSpeed = animSpeed;
skelCurve->transUpdIdx = transUpdIdx;
}
#pragma GLOBAL_ASM("asm/non_matchings/code/z_fcurve_data_skelanime/func_8006CF6C.s")
s32 SkelCurve_Update(GlobalContext* globalCtx, SkelAnimeCurve* skelCurve) {
s16* transforms;
u8* transformRefIdx;
TransformUpdateIndex* transformIndex;
u16* transformCopyValues;
s32 i;
s32 ret;
s32 k;
TransformData* transData;
f32 transformValue;
s32 j;
ret = 0;
transformIndex = SEGMENTED_TO_VIRTUAL(skelCurve->transUpdIdx);
transformRefIdx = SEGMENTED_TO_VIRTUAL(transformIndex->refIndex);
transData = SEGMENTED_TO_VIRTUAL(transformIndex->transformData);
transformCopyValues = SEGMENTED_TO_VIRTUAL(transformIndex->copyValues);
transforms = (s16*)skelCurve->transforms;
skelCurve->animCurFrame += skelCurve->animSpeed * R_UPDATE_RATE * 0.5f;
if ((skelCurve->animSpeed >= 0.0f && skelCurve->animCurFrame > skelCurve->animFinalFrame) ||
(skelCurve->animSpeed < 0.0f && skelCurve->animCurFrame < skelCurve->animFinalFrame)) {
skelCurve->animCurFrame = skelCurve->animFinalFrame;
ret = 1;
}
for (i = 0; i < skelCurve->limbCount; i++) {
for (j = 0; j < 3; j++) {
for (k = 0; k < 3; k++, transformRefIdx++, transforms++) {
if (*transformRefIdx == 0) {
transformValue = *transformCopyValues;
*transforms = transformValue;
transformCopyValues++;
} else {
transformValue = func_8006C5A8(skelCurve->animCurFrame, transData, *transformRefIdx);
transData += *transformRefIdx;
if (j == 0) {
*transforms = transformValue * 1024.0f;
} else if (j == 1) {
*transforms = transformValue * (32768.0f / 180.0f);
} else {
*transforms = transformValue * 100.0f;
}
}
}
}
}
return ret;
}
#ifdef NON_MATCHING
// Very minor stack alloc, lod = 0 gSPMatrix places gfxPtr at stack + 0x4c instead of 0x50
void SkelCurve_DrawLimb(GlobalContext* globalCtx, s32 limbIndex, SkelAnimeCurve* skelCurve,
OverrideCurveLimbDraw overrideLimbDraw, PostCurveLimbDraw postLimbDraw, s32 lod, Actor* actor) {
SkelCurveLimb* limb = SEGMENTED_TO_VIRTUAL(skelCurve->limbList[limbIndex]);
Gfx* dispRefs[5];
Vec3f scale;
Vec3s rot;
Vec3f pos;
Gfx* d;
Vec3s* transform;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
s32 pad;
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_fcurve_data_skelanime.c", 279);
Matrix_Push();
if (overrideLimbDraw == NULL ||
(overrideLimbDraw != NULL && overrideLimbDraw(globalCtx, skelCurve, limbIndex, actor))) {
transform = &skelCurve->transforms[limbIndex];
scale.x = transform->x * (1.0f / 1024.0f);
scale.y = transform->y * (1.0f / 1024.0f);
scale.z = transform->z * (1.0f / 1024.0f);
transform++;
rot.x = transform->x;
rot.y = transform->y;
rot.z = transform->z;
transform++;
pos.x = transform->x;
pos.y = transform->y;
pos.z = transform->z;
Matrix_JointPosition(&pos, &rot);
Matrix_Scale(scale.x, scale.y, scale.z, MTXMODE_APPLY);
if (lod == 0) {
d = limb->dList[0];
if (d != NULL) {
gSPMatrix(gfxCtx->polyOpa.p++,
Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_fcurve_data_skelanime.c", 321),
G_MTX_LOAD | G_MTX_NOPUSH | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, d);
}
} else if (lod == 1) {
d = limb->dList[0];
if (d != NULL) {
gSPMatrix(gfxCtx->polyOpa.p++,
Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_fcurve_data_skelanime.c", 332),
G_MTX_LOAD | G_MTX_NOPUSH | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, d);
}
d = limb->dList[1];
if (d != NULL) {
gSPMatrix(gfxCtx->polyXlu.p++,
Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_fcurve_data_skelanime.c", 338),
G_MTX_LOAD | G_MTX_NOPUSH | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyXlu.p++, d);
}
} else {
// FcSkeletonInfo_draw_child (): Not supported
osSyncPrintf("FcSkeletonInfo_draw_child():未対応\n");
}
}
if (postLimbDraw != NULL) {
postLimbDraw(globalCtx, skelCurve, limbIndex, actor);
}
if (limb->firstChildIdx != LIMB_DONE) {
SkelCurve_DrawLimb(globalCtx, limb->firstChildIdx, skelCurve, overrideLimbDraw, postLimbDraw, lod, actor);
}
Matrix_Pull();
if (limb->nextLimbIdx != LIMB_DONE) {
SkelCurve_DrawLimb(globalCtx, limb->nextLimbIdx, skelCurve, overrideLimbDraw, postLimbDraw, lod, actor);
}
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_fcurve_data_skelanime.c", 371);
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/z_fcurve_data_skelanime/SkelCurve_DrawLimb.s")
#endif
void SkelCurve_Draw(Actor* actor, GlobalContext* globalCtx, SkelAnimeCurve* skelCurve,
OverrideCurveLimbDraw overrideLimbDraw, PostCurveLimbDraw postLimbDraw, s32 lod, Actor* actor2) {
if (skelCurve->transforms != NULL) {
SkelCurve_DrawLimb(globalCtx, 0, skelCurve, overrideLimbDraw, postLimbDraw, lod, actor2);
}
}

View file

@ -15,7 +15,12 @@ void MagicWind_Destroy(Actor* thisx, GlobalContext* globalCtx);
void MagicWind_Update(Actor* thisx, GlobalContext* globalCtx);
void MagicWind_Draw(Actor* thisx, GlobalContext* globalCtx);
/*
void MagicWind_Shrink(MagicWind* this, GlobalContext* globalCtx);
void MagicWind_WaitForTimer(MagicWind* this, GlobalContext* globalCtx);
void MagicWind_FadeOut(MagicWind* this, GlobalContext* globalCtx);
void MagicWind_WaitAtFullSize(MagicWind* this, GlobalContext* globalCtx);
void MagicWind_Grow(MagicWind* this, GlobalContext* globalCtx);
const ActorInit Magic_Wind_InitVars = {
ACTOR_MAGIC_WIND,
ACTORTYPE_ITEMACTION,
@ -27,27 +32,233 @@ const ActorInit Magic_Wind_InitVars = {
(ActorFunc)MagicWind_Update,
(ActorFunc)MagicWind_Draw,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Magic_Wind/func_80B8B100.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Magic_Wind/MagicWind_Init.s")
#include "z_magic_wind_gfx.c"
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Magic_Wind/MagicWind_Destroy.s")
u8 sTransformRefIdx[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Magic_Wind/func_80B8B2A8.s")
s16 sCopyValues[] = {
0x0400, 0x0400, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0200, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x02CD, 0x02CD, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Magic_Wind/func_80B8B3C8.s")
TransformData sTransformData[] = {
{
0x000C,
0x0001,
0x0001,
0x0001,
0.0f,
},
{
0x0014,
0x003C,
0x0000,
0x0000,
1.5f,
},
{
0x000C,
0x0001,
0x0001,
0x0001,
0.0f,
},
{
0x0014,
0x003C,
0x0000,
0x0000,
1.0f,
},
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Magic_Wind/func_80B8B468.s")
TransformUpdateIndex sTransformUpdIdx = {
sTransformRefIdx, sTransformData, sCopyValues, 0x0001, 0x0003C,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Magic_Wind/func_80B8B4B4.s")
SkelCurveLimb sRootLimb = {
0x01,
0xFF,
{
NULL,
NULL,
},
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Magic_Wind/func_80B8B500.s")
SkelCurveLimb sInnerCylinder = {
0xFF,
0x02,
{
NULL,
sInnerCylinderDList,
},
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Magic_Wind/func_80B8B564.s")
SkelCurveLimb sOuterCylinder = {
0xFF,
0xFF,
{
NULL,
sOuterCylinderDList,
},
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Magic_Wind/MagicWind_Update.s")
SkelCurveLimb* sLimbs[] = {
&sRootLimb,
&sInnerCylinder,
&sOuterCylinder,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Magic_Wind/func_80B8B5F4.s")
SkelCurveLimbList sLimbList = {
sLimbs,
0x03,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Magic_Wind/MagicWind_Draw.s")
u8 sAlphaUpdVals[] = {
0x00, 0x03, 0x04, 0x07, 0x09, 0x0A, 0x0D, 0x0F, 0x11, 0x12, 0x15, 0x16, 0x19, 0x1B, 0x1C, 0x1F, 0x21, 0x23,
};
void MagicWind_SetupAction(MagicWind* this, MagicWindFunc actionFunc) {
this->actionFunc = actionFunc;
}
void MagicWind_Init(Actor* thisx, GlobalContext* globalCtx) {
MagicWind* this = THIS;
Player* player = PLAYER;
if (SkelCurve_Init(globalCtx, &this->skelCurve, &sLimbList, &sTransformUpdIdx) == 0) {
// Magic_Wind_Actor_ct (): Construct failed
osSyncPrintf("Magic_Wind_Actor_ct():コンストラクト失敗\n");
}
this->actor.room = -1;
switch (this->actor.params) {
case 0:
SkelCurve_SetAnim(&this->skelCurve, &sTransformUpdIdx, 0.0f, 60.0f, 0.0f, 1.0f);
this->timer = 29;
MagicWind_SetupAction(this, MagicWind_WaitForTimer);
break;
case 1:
SkelCurve_SetAnim(&this->skelCurve, &sTransformUpdIdx, 60.0f, 0.0f, 60.0f, -1.0f);
MagicWind_SetupAction(this, MagicWind_Shrink);
// "Indicates start" = %s
// Means start
LOG_STRING("表示開始", "../z_magic_wind.c", 486);
func_8002F7DC(player, 0x087B);
break;
}
}
void MagicWind_Destroy(Actor* thisx, GlobalContext* globalCtx) {
MagicWind* this = THIS;
SkelCurve_Destroy(globalCtx, &this->skelCurve);
func_800876C8(globalCtx);
// wipe out
LOG_STRING("消滅", "../z_magic_wind.c", 505);
}
void MagicWind_UpdateAlpha(f32 alpha) {
s32 i;
for (i = 0; i < ARRAY_COUNT(sAlphaUpdVals); i++) {
sCylinderVtx[sAlphaUpdVals[i]].n.a = alpha * 255.0f;
}
}
void MagicWind_WaitForTimer(MagicWind* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
if (this->timer > 0) {
this->timer--;
return;
}
// Means start
LOG_STRING("表示開始", "../z_magic_wind.c", 539);
func_8002F7DC(&player->actor, 0x87A);
MagicWind_UpdateAlpha(1.0f);
MagicWind_SetupAction(this, MagicWind_Grow);
SkelCurve_Update(globalCtx, &this->skelCurve);
}
void MagicWind_Grow(MagicWind* this, GlobalContext* globalCtx) {
if (SkelCurve_Update(globalCtx, &this->skelCurve)) {
MagicWind_SetupAction(this, MagicWind_WaitAtFullSize);
this->timer = 50;
}
}
void MagicWind_WaitAtFullSize(MagicWind* this, GlobalContext* globalCtx) {
if (this->timer > 0) {
this->timer--;
} else {
MagicWind_SetupAction(this, MagicWind_FadeOut);
this->timer = 30;
}
}
void MagicWind_FadeOut(MagicWind* this, GlobalContext* globalCtx) {
if (this->timer > 0) {
MagicWind_UpdateAlpha((f32)this->timer * (1.0f / 30.0f));
this->timer--;
} else {
Actor_Kill(&this->actor);
}
}
void MagicWind_Shrink(MagicWind* this, GlobalContext* globalCtx) {
if (SkelCurve_Update(globalCtx, &this->skelCurve)) {
Actor_Kill(&this->actor);
}
}
void MagicWind_Update(Actor* thisx, GlobalContext* globalCtx) {
MagicWind* this = THIS;
if (globalCtx->msgCtx.msgMode == 0xD || globalCtx->msgCtx.msgMode == 0x11) {
Actor_Kill(thisx);
return;
}
this->actionFunc(this, globalCtx);
}
s32 MagicWind_OverrideLimbDraw(GlobalContext* globalCtx, SkelAnimeCurve* skelCurve, s32 limbIndex, Actor* thisx) {
MagicWind* this = THIS;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, globalCtx->state.gfxCtx, "../z_magic_wind.c", 615);
if (limbIndex == 1) {
gSPSegment(gfxCtx->polyXlu.p++, 8,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, (globalCtx->state.frames * 9) & 0xFF,
0xFF - ((globalCtx->state.frames * 0xF) & 0xFF), 0x40, 0x40, 1,
(globalCtx->state.frames * 0xF) & 0xFF,
0xFF - ((globalCtx->state.frames * 0x1E) & 0xFF), 0x40, 0x40));
} else if (limbIndex == 2) {
gSPSegment(gfxCtx->polyXlu.p++, 9,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, (globalCtx->state.frames * 3) & 0xFF,
0xFF - ((globalCtx->state.frames * 5) & 0xFF), 0x40, 0x40, 1,
(globalCtx->state.frames * 6) & 0xFF,
0xFF - ((globalCtx->state.frames * 0xA) & 0xFF), 0x40, 0x40));
}
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_magic_wind.c", 646);
return 1;
}
void MagicWind_Draw(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
MagicWind* this = THIS;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* dispRefs[4];
Graph_OpenDisps(dispRefs, gfxCtx, "../z_magic_wind.c", 661);
if (this->actionFunc != MagicWind_WaitForTimer) {
gfxCtx->polyXlu.p = Gfx_CallSetupDL(gfxCtx->polyXlu.p, 25);
SkelCurve_Draw(thisx, globalCtx, &this->skelCurve, MagicWind_OverrideLimbDraw, NULL, 1, NULL);
}
Graph_CloseDisps(dispRefs, gfxCtx, "../z_magic_wind.c", 673);
}

View file

@ -6,9 +6,13 @@
struct MagicWind;
typedef void (*MagicWindFunc)(struct MagicWind* this, GlobalContext* globalCtx);
typedef struct MagicWind {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x28];
/* 0x014C */ SkelAnimeCurve skelCurve;
/* 0x016C */ s16 timer;
/* 0x0170 */ MagicWindFunc actionFunc;
} MagicWind; // size = 0x0174
extern const ActorInit Magic_Wind_InitVars;

View file

@ -0,0 +1,315 @@
#include <global.h>
Vtx sCylinderVtx[] = {
VTX(0, 0, -6000, 1024, 2048, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(-4243, 12800, -4243, 1280, 0, 0xFF, 0xFF, 0xFF, 0x00),
VTX(0, 12800, -6000, 1024, 0, 0xFF, 0xFF, 0xFF, 0x00),
VTX(-4243, 0, -4243, 1280, 2048, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(0, 0, 6000, 0, 2048, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(4243, 12800, 4243, 256, 0, 0xFF, 0xFF, 0xFF, 0x00),
VTX(0, 12800, 6000, 0, 0, 0xFF, 0xFF, 0xFF, 0x00),
VTX(4243, 0, 4243, 256, 2048, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(-6000, 12800, 0, 1536, 0, 0xFF, 0xFF, 0xFF, 0x00),
VTX(-6000, 0, 0, 1536, 2048, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(4243, 0, -4243, 768, 2048, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(4243, 12800, -4243, 768, 0, 0xFF, 0xFF, 0xFF, 0x00),
VTX(-4243, 12800, 4243, 1792, 0, 0xFF, 0xFF, 0xFF, 0x00),
VTX(-4243, 0, 4243, 1792, 2048, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(6000, 12800, 0, 512, 0, 0xFF, 0xFF, 0xFF, 0x00),
VTX(6000, 0, 0, 512, 2048, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(0, 12800, 6000, 2048, 0, 0xFF, 0xFF, 0xFF, 0x00),
VTX(0, 0, 6000, 2048, 2048, 0xFF, 0xFF, 0xFF, 0xFF),
// 2nd Set
VTX(0, 0, -6000, 1024, 2048, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(-4243, 12800, -4243, 1280, 0, 0xFF, 0xFF, 0xFF, 0x00),
VTX(0, 12800, -6000, 1024, 0, 0xFF, 0xFF, 0xFF, 0x00),
VTX(-4243, 0, -4243, 1280, 2048, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(0, 0, 6000, 0, 2048, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(4243, 12800, 4243, 256, 0, 0xFF, 0xFF, 0xFF, 0x00),
VTX(0, 12800, 6000, 0, 0, 0xFF, 0xFF, 0xFF, 0x00),
VTX(4243, 0, 4243, 256, 2048, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(-6000, 12800, 0, 1536, 0, 0xFF, 0xFF, 0xFF, 0x00),
VTX(-6000, 0, 0, 1536, 2048, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(4243, 0, -4243, 768, 2048, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(4243, 12800, -4243, 768, 0, 0xFF, 0xFF, 0xFF, 0x00),
VTX(-4243, 12800, 4243, 1792, 0, 0xFF, 0xFF, 0xFF, 0x00),
VTX(-4243, 0, 4243, 1792, 2048, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(6000, 12800, 0, 512, 0, 0xFF, 0xFF, 0xFF, 0x00),
VTX(6000, 0, 0, 512, 2048, 0xFF, 0xFF, 0xFF, 0xFF),
VTX(0, 12800, 6000, 2048, 0, 0xFF, 0xFF, 0xFF, 0x00),
VTX(0, 0, 6000, 2048, 2048, 0xFF, 0xFF, 0xFF, 0xFF),
};
char sWindEffTexture[] = {
0x06, 0x19, 0x28, 0x43, 0x66, 0x82, 0xA0, 0xAE, 0xA3, 0x93, 0x76, 0x56, 0x32, 0x12, 0x00, 0x00, 0x03, 0x15, 0x25,
0x39, 0x57, 0x81, 0xAD, 0xBC, 0xA4, 0x7B, 0x5D, 0x45, 0x33, 0x20, 0x24, 0x38, 0x33, 0x1F, 0x26, 0x4F, 0x71, 0x8C,
0xB2, 0xC9, 0xC7, 0xAE, 0x87, 0x57, 0x33, 0x24, 0x11, 0x00, 0x00, 0x05, 0x1C, 0x3B, 0x5E, 0x7D, 0x90, 0x93, 0x85,
0x76, 0x78, 0x81, 0x70, 0x3E, 0x14, 0x01, 0x16, 0x27, 0x33, 0x4F, 0x6C, 0x84, 0x96, 0x9A, 0x9B, 0x8C, 0x70, 0x4F,
0x27, 0x09, 0x00, 0x00, 0x05, 0x15, 0x29, 0x43, 0x68, 0x96, 0xB9, 0xB7, 0x99, 0x6E, 0x4C, 0x34, 0x2A, 0x20, 0x26,
0x31, 0x2B, 0x20, 0x2F, 0x4D, 0x66, 0x8F, 0xB5, 0xC0, 0xB4, 0x97, 0x6B, 0x46, 0x31, 0x1E, 0x07, 0x00, 0x00, 0x0C,
0x27, 0x4C, 0x6B, 0x8C, 0x9E, 0x9A, 0x8B, 0x7A, 0x7A, 0x7C, 0x66, 0x42, 0x1E, 0x0B, 0x27, 0x30, 0x3E, 0x61, 0x7C,
0x8F, 0x97, 0xA0, 0xA2, 0x87, 0x6F, 0x51, 0x2A, 0x0C, 0x00, 0x00, 0x09, 0x1D, 0x35, 0x59, 0x83, 0xAC, 0xC0, 0xB5,
0x8E, 0x5E, 0x3E, 0x2E, 0x28, 0x25, 0x24, 0x27, 0x26, 0x28, 0x39, 0x4D, 0x6C, 0xA0, 0xB8, 0xB3, 0xA0, 0x7A, 0x58,
0x40, 0x2E, 0x13, 0x00, 0x00, 0x06, 0x1B, 0x3B, 0x5D, 0x84, 0xA9, 0xB2, 0xAD, 0x99, 0x8B, 0x8F, 0x87, 0x67, 0x43,
0x25, 0x1C, 0x2D, 0x3A, 0x4F, 0x73, 0x8D, 0x9D, 0xA8, 0xAB, 0x9F, 0x85, 0x72, 0x5B, 0x36, 0x16, 0x03, 0x00, 0x11,
0x29, 0x48, 0x72, 0xA0, 0xC6, 0xC7, 0xAC, 0x80, 0x52, 0x36, 0x28, 0x27, 0x23, 0x1B, 0x1E, 0x24, 0x2E, 0x3A, 0x50,
0x7B, 0xA6, 0xB3, 0xA6, 0x8F, 0x68, 0x4D, 0x39, 0x24, 0x08, 0x00, 0x00, 0x11, 0x2D, 0x4F, 0x73, 0xA2, 0xC1, 0xC8,
0xBD, 0xAF, 0xB2, 0xB4, 0x95, 0x65, 0x40, 0x2B, 0x25, 0x30, 0x48, 0x5E, 0x7D, 0x96, 0xA9, 0xB4, 0xAC, 0x9B, 0x8A,
0x79, 0x60, 0x3A, 0x1B, 0x0B, 0x0A, 0x1A, 0x35, 0x5C, 0x8B, 0xBC, 0xD6, 0xC9, 0xA0, 0x73, 0x4D, 0x2F, 0x1E, 0x20,
0x1D, 0x11, 0x19, 0x28, 0x31, 0x38, 0x53, 0x83, 0xA2, 0xA9, 0x9D, 0x81, 0x5B, 0x42, 0x30, 0x1D, 0x02, 0x00, 0x06,
0x1D, 0x3C, 0x61, 0x8D, 0xBA, 0xD8, 0xDB, 0xC7, 0xC7, 0xCE, 0xC1, 0x8C, 0x5C, 0x44, 0x35, 0x27, 0x3A, 0x58, 0x6C,
0x84, 0x9B, 0xAF, 0xB4, 0xAE, 0xA3, 0x91, 0x78, 0x52, 0x2E, 0x17, 0x11, 0x14, 0x26, 0x48, 0x72, 0xA4, 0xD4, 0xDF,
0xC7, 0x99, 0x72, 0x53, 0x32, 0x1C, 0x1F, 0x1B, 0x19, 0x2A, 0x39, 0x3C, 0x46, 0x63, 0x8A, 0xA0, 0xA3, 0x96, 0x73,
0x51, 0x3D, 0x30, 0x1C, 0x02, 0x00, 0x10, 0x2A, 0x4D, 0x79, 0xA6, 0xD5, 0xEF, 0xE6, 0xD5, 0xD0, 0xC8, 0xAB, 0x77,
0x57, 0x4F, 0x3F, 0x2E, 0x44, 0x63, 0x77, 0x87, 0x9F, 0xAD, 0xB3, 0xB7, 0xAF, 0x90, 0x64, 0x39, 0x1C, 0x11, 0x14,
0x1F, 0x38, 0x5C, 0x8A, 0xBF, 0xE8, 0xE7, 0xC6, 0x9E, 0x7F, 0x64, 0x48, 0x31, 0x2B, 0x31, 0x3F, 0x4C, 0x4E, 0x53,
0x66, 0x80, 0x96, 0xA4, 0xA3, 0x8E, 0x66, 0x4F, 0x47, 0x3B, 0x1F, 0x06, 0x06, 0x1C, 0x3A, 0x63, 0x93, 0xC2, 0xEF,
0xFC, 0xED, 0xDD, 0xC2, 0xA4, 0x85, 0x64, 0x5A, 0x5A, 0x43, 0x38, 0x48, 0x66, 0x7A, 0x8A, 0xA0, 0xAA, 0xB2, 0xBC,
0xAB, 0x78, 0x45, 0x21, 0x10, 0x0D, 0x19, 0x2F, 0x4D, 0x72, 0xA3, 0xD7, 0xF7, 0xED, 0xCC, 0xAE, 0x94, 0x7F, 0x69,
0x53, 0x52, 0x63, 0x65, 0x5E, 0x5C, 0x69, 0x80, 0x97, 0xA4, 0xAA, 0xA1, 0x80, 0x60, 0x5B, 0x5E, 0x4C, 0x27, 0x0D,
0x12, 0x2B, 0x4E, 0x7B, 0xAB, 0xDE, 0xFF, 0xFD, 0xEC, 0xD2, 0xA5, 0x7A, 0x69, 0x62, 0x66, 0x61, 0x45, 0x40, 0x4D,
0x62, 0x79, 0x8D, 0xA3, 0xAB, 0xB3, 0xB0, 0x89, 0x52, 0x28, 0x12, 0x0A, 0x10, 0x25, 0x43, 0x63, 0x8C, 0xBE, 0xEA,
0xFF, 0xF7, 0xDE, 0xC4, 0xB0, 0x9F, 0x8B, 0x7C, 0x8B, 0x89, 0x6F, 0x62, 0x66, 0x77, 0x8C, 0xA3, 0xB2, 0xAF, 0x99,
0x73, 0x67, 0x73, 0x72, 0x58, 0x33, 0x1C, 0x23, 0x3D, 0x65, 0x91, 0xC4, 0xF2, 0xFF, 0xF5, 0xDD, 0xBA, 0x8A, 0x66,
0x6E, 0x79, 0x79, 0x66, 0x4A, 0x47, 0x57, 0x65, 0x7D, 0x95, 0xAA, 0xB5, 0xB3, 0x94, 0x5C, 0x2E, 0x16, 0x0B, 0x0B,
0x1B, 0x39, 0x59, 0x7D, 0xA6, 0xD5, 0xF9, 0xFF, 0xFF, 0xF5, 0xE0, 0xCC, 0xB8, 0xAC, 0xAB, 0xA9, 0x8D, 0x6F, 0x66,
0x71, 0x86, 0x9D, 0xAE, 0xBC, 0xAE, 0x8E, 0x76, 0x80, 0x8A, 0x7C, 0x60, 0x44, 0x33, 0x38, 0x52, 0x7B, 0xAA, 0xDD,
0xFE, 0xFF, 0xE7, 0xC9, 0xA4, 0x7F, 0x76, 0x90, 0x9B, 0x86, 0x6B, 0x52, 0x50, 0x63, 0x76, 0x8B, 0xA1, 0xB9, 0xC0,
0xAA, 0x75, 0x3A, 0x19, 0x12, 0x12, 0x19, 0x2E, 0x50, 0x75, 0x9B, 0xC1, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xF5, 0xDF,
0xCC, 0xC7, 0xB6, 0x9A, 0x7D, 0x67, 0x69, 0x85, 0xA0, 0xB0, 0xC0, 0xC1, 0xA8, 0x8C, 0x87, 0x99, 0x96, 0x7B, 0x65,
0x5B, 0x52, 0x52, 0x6B, 0x90, 0xC2, 0xEC, 0xFF, 0xFB, 0xDD, 0xBD, 0xA1, 0x90, 0x9B, 0xB2, 0xA9, 0x82, 0x68, 0x61,
0x5E, 0x6B, 0x81, 0x9E, 0xB4, 0xCA, 0xC4, 0x9D, 0x5C, 0x28, 0x15, 0x1C, 0x27, 0x30, 0x47, 0x6E, 0x96, 0xB8, 0xD7,
0xF2, 0xFB, 0xF9, 0xFA, 0xFF, 0xF9, 0xE7, 0xD6, 0xBF, 0x9E, 0x7F, 0x67, 0x5D, 0x75, 0xA1, 0xB0, 0xBE, 0xCC, 0xC0,
0xA3, 0x94, 0x9B, 0xA8, 0x96, 0x78, 0x70, 0x78, 0x73, 0x71, 0x80, 0xA6, 0xD6, 0xF1, 0xF6, 0xF2, 0xDD, 0xC4, 0xB7,
0xB4, 0xBD, 0xB9, 0xA0, 0x79, 0x6D, 0x6F, 0x6B, 0x6D, 0x87, 0xAC, 0xCA, 0xD5, 0xC0, 0x8E, 0x4F, 0x28, 0x23, 0x31,
0x3F, 0x4C, 0x69, 0x93, 0xB5, 0xCE, 0xE3, 0xED, 0xEA, 0xE5, 0xE6, 0xEC, 0xF1, 0xE5, 0xCD, 0xAA, 0x8A, 0x6F, 0x5E,
0x67, 0x8D, 0xB2, 0xB7, 0xC8, 0xD1, 0xBF, 0xA4, 0x99, 0xA1, 0xA4, 0x8E, 0x7D, 0x86, 0x95, 0x8F, 0x87, 0x94, 0xBD,
0xDF, 0xE6, 0xE7, 0xE9, 0xE1, 0xDD, 0xD6, 0xD0, 0xC8, 0xAC, 0x98, 0x7B, 0x76, 0x75, 0x69, 0x6E, 0x8E, 0xB7, 0xDD,
0xDB, 0xB9, 0x84, 0x54, 0x39, 0x39, 0x45, 0x53, 0x68, 0x8D, 0xB6, 0xCB, 0xD6, 0xDF, 0xDE, 0xD7, 0xD3, 0xD4, 0xDE,
0xE2, 0xD7, 0xBD, 0x9F, 0x80, 0x69, 0x6C, 0x87, 0xA3, 0xBA, 0xC4, 0xD4, 0xD6, 0xC2, 0xA9, 0x96, 0x93, 0x90, 0x87,
0x8D, 0x9E, 0xAA, 0xA0, 0x96, 0xA6, 0xC9, 0xD8, 0xD1, 0xD2, 0xDC, 0xE5, 0xE9, 0xE1, 0xD4, 0xBD, 0xA0, 0x94, 0x82,
0x77, 0x67, 0x5E, 0x71, 0x95, 0xC7, 0xEB, 0xDC, 0xB0, 0x87, 0x69, 0x54, 0x4E, 0x51, 0x63, 0x84, 0xAE, 0xD0, 0xD1,
0xD0, 0xD3, 0xCE, 0xC9, 0xC7, 0xC7, 0xCE, 0xD0, 0xC7, 0xAF, 0x96, 0x79, 0x6F, 0x82, 0x9F, 0xB5, 0xC7, 0xD7, 0xE3,
0xDD, 0xC8, 0xA9, 0x87, 0x76, 0x77, 0x89, 0x9F, 0xB0, 0xB4, 0xA5, 0xA0, 0xB2, 0xC7, 0xC8, 0xB8, 0xBC, 0xCA, 0xD8,
0xDB, 0xD8, 0xC8, 0xAC, 0x97, 0x86, 0x76, 0x62, 0x51, 0x59, 0x73, 0xA1, 0xDF, 0xF7, 0xD3, 0xA8, 0x95, 0x86, 0x73,
0x5C, 0x59, 0x71, 0x9F, 0xC8, 0xD3, 0xCA, 0xC9, 0xCA, 0xC2, 0xBA, 0xB8, 0xB7, 0xBA, 0xBF, 0xB7, 0xA3, 0x90, 0x76,
0x7B, 0x94, 0xAA, 0xC3, 0xD3, 0xE1, 0xF0, 0xE2, 0xC6, 0xA2, 0x73, 0x58, 0x65, 0x8C, 0xAB, 0xB7, 0xB3, 0xA5, 0xA9,
0xB4, 0xBC, 0xAF, 0xA0, 0xA4, 0xB3, 0xC1, 0xD0, 0xD1, 0xB7, 0x99, 0x85, 0x70, 0x53, 0x40, 0x47, 0x5A, 0x7B, 0xB8,
0xF6, 0xF6, 0xC8, 0xA3, 0xA0, 0x9F, 0x85, 0x65, 0x63, 0x85, 0xB6, 0xCE, 0xCB, 0xC9, 0xCC, 0xC4, 0xB0, 0xA2, 0xA1,
0xA4, 0xAA, 0xB2, 0xAD, 0x9D, 0x8E, 0x79, 0x89, 0xA5, 0xBC, 0xCB, 0xCE, 0xDE, 0xF2, 0xDE, 0xBD, 0x96, 0x61, 0x46,
0x60, 0x8D, 0xAE, 0xB3, 0xAE, 0xAB, 0xB4, 0xB5, 0xAA, 0x90, 0x86, 0x8D, 0xA0, 0xBA, 0xD2, 0xCA, 0xA4, 0x82, 0x70,
0x5B, 0x36, 0x30, 0x46, 0x5C, 0x8D, 0xD2, 0xFC, 0xEC, 0xC4, 0xA8, 0xA5, 0xA4, 0x8B, 0x71, 0x75, 0x9E, 0xC1, 0xCC,
0xCA, 0xCD, 0xCD, 0xB6, 0x91, 0x80, 0x85, 0x93, 0xA0, 0xAB, 0xAA, 0x9A, 0x90, 0x85, 0x97, 0xB7, 0xC6, 0xBD, 0xB9,
0xD6, 0xEB, 0xD8, 0xB4, 0x86, 0x5A, 0x45, 0x62, 0x8D, 0xA6, 0xAB, 0xB2, 0xB9, 0xBF, 0xB3, 0x8E, 0x72, 0x6E, 0x7D,
0xA2, 0xCA, 0xD0, 0xB5, 0x8E, 0x70, 0x65, 0x50, 0x38, 0x34, 0x43, 0x5D, 0xA0, 0xE0, 0xF4, 0xE6, 0xCA, 0xAE, 0xA3,
0x9A, 0x8D, 0x83, 0x90, 0xB2, 0xC9, 0xCC, 0xCC, 0xCD, 0xBF, 0x98, 0x6B, 0x5D, 0x6F, 0x85, 0xA1, 0xB2, 0xAC, 0x9B,
0x95, 0x8F, 0x9F, 0xAE, 0xA5, 0x97, 0xA5, 0xCE, 0xE5, 0xD4, 0xAC, 0x83, 0x63, 0x56, 0x6B, 0x8C, 0x9E, 0xAC, 0xBF,
0xCA, 0xC3, 0x9F, 0x70, 0x5A, 0x62, 0x86, 0xBF, 0xD7, 0xBD, 0x9A, 0x80, 0x6D, 0x65, 0x54, 0x4C, 0x3F, 0x40, 0x63,
0xAD, 0xDD, 0xEA, 0xE2, 0xCE, 0xAC, 0x9A, 0x93, 0x90, 0x9A, 0xAF, 0xC1, 0xCC, 0xC8, 0xC8, 0xBF, 0x9E, 0x70, 0x48,
0x47, 0x63, 0x84, 0xB0, 0xB9, 0xAD, 0x9A, 0x91, 0x8E, 0x8D, 0x7D, 0x6F, 0x76, 0x99, 0xC4, 0xDE, 0xD4, 0xAF, 0x8D,
0x73, 0x70, 0x7C, 0x91, 0xA2, 0xB7, 0xCB, 0xD0, 0xB0, 0x7F, 0x5A, 0x52, 0x6D, 0xAA, 0xDC, 0xCA, 0xA1, 0x8D, 0x7D,
0x71, 0x6F, 0x68, 0x5C, 0x40, 0x42, 0x71, 0xB6, 0xD8, 0xE2, 0xDB, 0xC4, 0x9F, 0x95, 0x94, 0x98, 0xB3, 0xC9, 0xC9,
0xC3, 0xBE, 0xB8, 0xA1, 0x76, 0x4D, 0x33, 0x3D, 0x66, 0x96, 0xC0, 0xB6, 0xA5, 0x97, 0x82, 0x77, 0x60, 0x42, 0x46,
0x65, 0x91, 0xBD, 0xD5, 0xD9, 0xBD, 0x9E, 0x8D, 0x8B, 0x97, 0xA6, 0xB4, 0xC6, 0xCD, 0xBA, 0x90, 0x66, 0x52, 0x5D,
0x8C, 0xCB, 0xD7, 0xAD, 0x93, 0x8A, 0x80, 0x76, 0x7B, 0x7B, 0x5B, 0x3C, 0x4A, 0x80, 0xC2, 0xDF, 0xD9, 0xC6, 0xA0,
0x8E, 0x9A, 0x9E, 0xA4, 0xC7, 0xD4, 0xC2, 0xB7, 0xB0, 0xA2, 0x80, 0x52, 0x34, 0x2E, 0x47, 0x7F, 0xAB, 0xBF, 0xAC,
0x94, 0x7C, 0x5E, 0x4E, 0x30, 0x1D, 0x35, 0x60, 0x8D, 0xB6, 0xCE, 0xDD, 0xCD, 0xB6, 0xA8, 0xA4, 0xB4, 0xC4, 0xCC,
0xCD, 0xBC, 0x9A, 0x76, 0x5A, 0x57, 0x73, 0xA8, 0xCA, 0xBF, 0x9E, 0x8F, 0x89, 0x7D, 0x7B, 0x81, 0x71, 0x4A, 0x3B,
0x58, 0x8D, 0xD0, 0xE1, 0xC9, 0x99, 0x72, 0x87, 0xA9, 0xB0, 0xB3, 0xD1, 0xD2, 0xB7, 0xAC, 0xA2, 0x8C, 0x65, 0x3B,
0x29, 0x3C, 0x6C, 0x9B, 0xB4, 0xB0, 0x9B, 0x72, 0x4C, 0x38, 0x2A, 0x15, 0x11, 0x33, 0x5D, 0x8A, 0xB3, 0xC7, 0xDB,
0xE2, 0xD0, 0xBE, 0xB6, 0xCE, 0xDE, 0xD8, 0xC3, 0xA2, 0x81, 0x65, 0x56, 0x5E, 0x85, 0xA5, 0xAD, 0xAE, 0x9B, 0x8D,
0x86, 0x82, 0x7D, 0x70, 0x51, 0x36, 0x3B, 0x63, 0x99, 0xD0, 0xD1, 0xA1, 0x64, 0x58, 0x89, 0xB7, 0xBD, 0xBA, 0xD0,
0xC9, 0xB0, 0xA2, 0x95, 0x79, 0x52, 0x2F, 0x2F, 0x5E, 0x91, 0xA5, 0xA9, 0x9A, 0x79, 0x4C, 0x2D, 0x25, 0x1C, 0x0F,
0x12, 0x30, 0x59, 0x87, 0xAB, 0xBF, 0xDC, 0xF5, 0xE3, 0xC9, 0xC0, 0xE1, 0xE7, 0xD3, 0xB3, 0x8F, 0x71, 0x59, 0x4F,
0x5E, 0x80, 0x8D, 0x95, 0xA3, 0x97, 0x86, 0x83, 0x85, 0x6F, 0x50, 0x39, 0x26, 0x3B, 0x6F, 0xA2, 0xB9, 0xA0, 0x67,
0x46, 0x54, 0x8C, 0xB6, 0xB9, 0xC1, 0xD0, 0xBF, 0xA9, 0x99, 0x84, 0x63, 0x42, 0x30, 0x44, 0x79, 0x99, 0x9A, 0x93,
0x80, 0x58, 0x38, 0x27, 0x23, 0x1A, 0x12, 0x16, 0x25, 0x52, 0x7B, 0x9B, 0xB8, 0xDB, 0xFE, 0xEB, 0xD0, 0xCA, 0xDF,
0xD6, 0xC4, 0xA4, 0x82, 0x64, 0x4A, 0x42, 0x54, 0x6C, 0x77, 0x86, 0x96, 0x89, 0x79, 0x77, 0x75, 0x5B, 0x39, 0x28,
0x20, 0x47, 0x7F, 0xA3, 0x8D, 0x5A, 0x3D, 0x45, 0x5C, 0x85, 0xA3, 0xB2, 0xCE, 0xD1, 0xB3, 0xA0, 0x8F, 0x71, 0x4E,
0x3A, 0x3E, 0x56, 0x7A, 0x83, 0x7C, 0x78, 0x66, 0x4E, 0x3D, 0x2D, 0x20, 0x1A, 0x1C, 0x20, 0x23, 0x45, 0x67, 0x8A,
0xAF, 0xD3, 0xF6, 0xE7, 0xD7, 0xCD, 0xC8, 0xBC, 0xAE, 0x99, 0x72, 0x56, 0x3A, 0x31, 0x45, 0x58, 0x6C, 0x7B, 0x82,
0x75, 0x66, 0x62, 0x58, 0x4C, 0x35, 0x24, 0x2D, 0x5E, 0x8B, 0x9D, 0x60, 0x29, 0x2D, 0x4F, 0x5D, 0x70, 0x8D, 0xB5,
0xDC, 0xC4, 0xA8, 0x9A, 0x83, 0x5D, 0x40, 0x42, 0x4C, 0x59, 0x65, 0x60, 0x5D, 0x60, 0x54, 0x50, 0x47, 0x32, 0x1C,
0x1A, 0x2D, 0x3E, 0x34, 0x33, 0x51, 0x79, 0xA4, 0xC3, 0xE3, 0xE1, 0xD6, 0xC3, 0xAB, 0x9D, 0x97, 0x8B, 0x62, 0x44,
0x27, 0x1F, 0x34, 0x49, 0x61, 0x6C, 0x6C, 0x64, 0x5C, 0x50, 0x44, 0x43, 0x43, 0x3A, 0x4A, 0x75, 0x90, 0x8E, 0x48,
0x17, 0x28, 0x51, 0x50, 0x5A, 0x8C, 0xBC, 0xD3, 0xB3, 0xA0, 0x98, 0x77, 0x50, 0x46, 0x4F, 0x4E, 0x4F, 0x4C, 0x47,
0x4C, 0x4F, 0x4D, 0x4D, 0x46, 0x32, 0x1B, 0x26, 0x50, 0x66, 0x4A, 0x2A, 0x42, 0x73, 0x9D, 0xB2, 0xD4, 0xD9, 0xCB,
0xB2, 0x8C, 0x7F, 0x84, 0x7A, 0x52, 0x32, 0x1B, 0x10, 0x23, 0x3B, 0x4C, 0x53, 0x59, 0x5D, 0x5B, 0x48, 0x40, 0x4C,
0x5D, 0x66, 0x6B, 0x81, 0x8D, 0x80, 0x42, 0x16, 0x24, 0x44, 0x3B, 0x58, 0x94, 0xB3, 0xC1, 0xAA, 0xA2, 0x94, 0x6F,
0x54, 0x54, 0x56, 0x47, 0x3D, 0x3D, 0x3C, 0x43, 0x45, 0x47, 0x4A, 0x45, 0x36, 0x2D, 0x52, 0x7C, 0x79, 0x53, 0x29,
0x3F, 0x73, 0x99, 0xAB, 0xC7, 0xCD, 0xBD, 0x98, 0x70, 0x6C, 0x73, 0x6B, 0x47, 0x27, 0x14, 0x08, 0x11, 0x28, 0x32,
0x39, 0x4D, 0x5D, 0x5A, 0x4F, 0x51, 0x68, 0x8D, 0x8E, 0x80, 0x81, 0x85, 0x71, 0x38, 0x13, 0x1C, 0x2F, 0x33, 0x62,
0x8F, 0xA6, 0xBD, 0xB0, 0xA8, 0x8C, 0x77, 0x64, 0x5E, 0x56, 0x3F, 0x2F, 0x2E, 0x31, 0x3F, 0x43, 0x45, 0x4D, 0x4E,
0x50, 0x6B, 0x99, 0x9B, 0x7D, 0x5A, 0x2D, 0x3F, 0x71, 0x9B, 0xAB, 0xBC, 0xC0, 0xA3, 0x80, 0x5D, 0x5E, 0x63, 0x5C,
0x44, 0x2A, 0x1C, 0x0B, 0x0B, 0x19, 0x21, 0x2D, 0x44, 0x60, 0x63, 0x67, 0x71, 0x97, 0xB4, 0x9D, 0x84, 0x79, 0x73,
0x5B, 0x21, 0x10, 0x17, 0x24, 0x34, 0x62, 0x86, 0xA3, 0xC2, 0xBD, 0xA8, 0x8D, 0x86, 0x75, 0x6B, 0x58, 0x3C, 0x21,
0x15, 0x24, 0x42, 0x4C, 0x4E, 0x57, 0x65, 0x8A, 0xC3, 0xCB, 0xAB, 0x84, 0x60, 0x31, 0x3E, 0x6E, 0x98, 0xAD, 0xB3,
0xB2, 0x8C, 0x71, 0x50, 0x54, 0x5A, 0x58, 0x4D, 0x3E, 0x2F, 0x1E, 0x15, 0x15, 0x1E, 0x2F, 0x45, 0x62, 0x7A, 0x87,
0xA0, 0xBD, 0xAA, 0x8D, 0x7B, 0x69, 0x52, 0x3C, 0x11, 0x15, 0x1E, 0x1E, 0x32, 0x5B, 0x82, 0xA4, 0xC8, 0xBE, 0xA5,
0x97, 0x91, 0x83, 0x79, 0x5D, 0x3C, 0x1A, 0x0F, 0x25, 0x4C, 0x60, 0x61, 0x65, 0x8C, 0xCA, 0xF7, 0xDE, 0xB9, 0x8D,
0x64, 0x36, 0x3B, 0x66, 0x90, 0xAA, 0xA8, 0x9F, 0x81, 0x62, 0x46, 0x50, 0x5A, 0x64, 0x61, 0x52, 0x42, 0x35, 0x25,
0x19, 0x20, 0x38, 0x4F, 0x68, 0x8D, 0xAC, 0xC3, 0xAB, 0x77, 0x6B, 0x67, 0x4E, 0x30, 0x1D, 0x14, 0x23, 0x25, 0x17,
0x32, 0x58, 0x7C, 0xA3, 0xC0, 0xB3, 0xA1, 0x9A, 0x97, 0x8D, 0x82, 0x60, 0x3C, 0x1E, 0x1E, 0x39, 0x5C, 0x7A, 0x76,
0x82, 0xBA, 0xE5, 0xFF, 0xEB, 0xC2, 0x94, 0x68, 0x3D, 0x32, 0x5C, 0x82, 0x9E, 0x9B, 0x8C, 0x69, 0x48, 0x44, 0x56,
0x6E, 0x81, 0x76, 0x63, 0x57, 0x4A, 0x2F, 0x1F, 0x2A, 0x44, 0x5B, 0x78, 0xA0, 0xC6, 0xAF, 0x72, 0x42, 0x42, 0x44,
0x2E, 0x11, 0x0A, 0x21, 0x2A, 0x21, 0x13, 0x32, 0x53, 0x79, 0x9A, 0xB0, 0xA5, 0x96, 0x97, 0x9D, 0x91, 0x83, 0x5C,
0x43, 0x33, 0x39, 0x4F, 0x73, 0x90, 0x90, 0xAC, 0xD3, 0xE6, 0xFF, 0xF4, 0xC4, 0x98, 0x6B, 0x40, 0x28, 0x4F, 0x6F,
0x8E, 0x8B, 0x6C, 0x39, 0x30, 0x4E, 0x6C, 0x93, 0x9B, 0x87, 0x79, 0x6F, 0x56, 0x31, 0x26, 0x38, 0x51, 0x68, 0x87,
0xB2, 0xB3, 0x7B, 0x47, 0x1F, 0x19, 0x1E, 0x0F, 0x00, 0x0F, 0x2A, 0x27, 0x16, 0x0B, 0x30, 0x51, 0x77, 0x8C, 0xA0,
0x98, 0x8E, 0x96, 0xA2, 0x99, 0x7F, 0x5E, 0x54, 0x50, 0x51, 0x61, 0x8A, 0x9E, 0xAE, 0xC8, 0xD9, 0xF0, 0xFF, 0xF9,
0xC7, 0x93, 0x67, 0x44, 0x1C, 0x3C, 0x60, 0x7F, 0x6E, 0x36, 0x14, 0x35, 0x67, 0x87, 0xA8, 0xA2, 0x9D, 0x96, 0x7A,
0x4D, 0x2D, 0x2E, 0x45, 0x61, 0x76, 0x96, 0xAA, 0x87, 0x5D, 0x39, 0x12, 0x00, 0x03, 0x00, 0x0D, 0x21, 0x27, 0x19,
0x08, 0x06, 0x2E, 0x52, 0x71, 0x80, 0x95, 0x91, 0x8F, 0x9A, 0xAA, 0xA0, 0x80, 0x6B, 0x6F, 0x6B, 0x65, 0x70, 0x97,
0xAB, 0xC3, 0xD4, 0xE9, 0xFE, 0xFF, 0xFB, 0xC2, 0x89, 0x66, 0x44, 0x0D, 0x2B, 0x50, 0x64, 0x38, 0x0F, 0x1D, 0x58,
0x84, 0x94, 0x9F, 0xA0, 0xB3, 0xA2, 0x69, 0x38, 0x29, 0x39, 0x58, 0x6F, 0x81, 0x9D, 0x95, 0x77, 0x5D, 0x3F, 0x17,
0x00, 0x00, 0x11, 0x2D, 0x35, 0x17, 0x05, 0x01, 0x06, 0x2F, 0x52, 0x6B, 0x7A, 0x8F, 0x94, 0x99, 0xA4, 0xAF, 0xA3,
0x8B, 0x80, 0x85, 0x7D, 0x75, 0x7F, 0xA5, 0xBA, 0xD1, 0xE5, 0xFC, 0xFF, 0xFF, 0xF6, 0xBA, 0x8C, 0x6C, 0x39, 0x06,
0x1C, 0x3B, 0x33, 0x0C, 0x15, 0x42, 0x79, 0x91, 0x8C, 0x95, 0xA9, 0xB8, 0x8F, 0x4F, 0x2F, 0x34, 0x4F, 0x6E, 0x7B,
0x89, 0x9A, 0x91, 0x81, 0x68, 0x4A, 0x23, 0x06, 0x1A, 0x3B, 0x4D, 0x3D, 0x07, 0x00, 0x05, 0x0B, 0x2E, 0x50, 0x6B,
0x7B, 0x8F, 0x9A, 0xA5, 0xAB, 0xAD, 0xA8, 0xA2, 0x96, 0x8C, 0x89, 0x81, 0x90, 0xB4, 0xC3, 0xDE, 0xF4, 0xFF, 0xFF,
0xFF, 0xEF, 0xC0, 0x9E, 0x6B, 0x29, 0x02, 0x11, 0x19, 0x0A, 0x11, 0x34, 0x5B, 0x7F, 0x8C, 0x87, 0x9E, 0xB3, 0xA0,
0x70, 0x46, 0x3A, 0x51, 0x70, 0x83, 0x85, 0x8B, 0xA1, 0xA1, 0x8F, 0x6E, 0x50, 0x31, 0x29, 0x51, 0x6C, 0x60, 0x33,
0x08, 0x07, 0x10, 0x12, 0x29, 0x50, 0x73, 0x81, 0x93, 0xA4, 0xA9, 0xA9, 0xAC, 0xB9, 0xB8, 0x98, 0x8C, 0x8C, 0x8D,
0xA2, 0xB9, 0xC8, 0xE3, 0xF6, 0xFF, 0xFF, 0xF3, 0xF4, 0xD1, 0xA2, 0x5C, 0x17, 0x01, 0x06, 0x02, 0x0D, 0x30, 0x45,
0x5E, 0x70, 0x81, 0x8E, 0xA8, 0xA9, 0x7F, 0x63, 0x4F, 0x59, 0x7D, 0x97, 0x97, 0x8D, 0x90, 0xB2, 0xB4, 0x91, 0x6C,
0x58, 0x54, 0x66, 0x8F, 0x89, 0x5E, 0x27, 0x23, 0x24, 0x21, 0x16, 0x29, 0x59, 0x7D, 0x85, 0x97, 0xA8, 0xA0, 0xA4,
0xB8, 0xCC, 0xBD, 0x93, 0x8C, 0x8C, 0x95, 0xA6, 0xBA, 0xCE, 0xE3, 0xFA, 0xFF, 0xFA, 0xF5, 0xFF, 0xD5, 0x94, 0x48,
0x0C, 0x00, 0x00, 0x09, 0x2A, 0x44, 0x44, 0x5B, 0x66, 0x81, 0x9B, 0xA4, 0x93, 0x72, 0x67, 0x66, 0x82, 0xAB, 0xB5,
0xA5, 0x98, 0xA0, 0xBE, 0xB5, 0x8B, 0x6C, 0x6C, 0x8F, 0xAD, 0xB6, 0x8E, 0x5A, 0x2E, 0x4F, 0x49, 0x31, 0x1E, 0x34,
0x64, 0x82, 0x87, 0x94, 0xA0, 0x99, 0xAD, 0xC8, 0xD1, 0xB9, 0x99, 0x8D, 0x8D, 0x91, 0xA2, 0xB9, 0xD4, 0xEB, 0xFD,
0xFA, 0xF5, 0xFF, 0xFF, 0xC6, 0x7D, 0x3E, 0x11, 0x05, 0x0D, 0x21, 0x3A, 0x44, 0x44, 0x5C, 0x69, 0x8B, 0xA2, 0x9A,
0x8B, 0x78, 0x78, 0x85, 0xAA, 0xC7, 0xC0, 0xAF, 0xA8, 0xAD, 0xB7, 0xAA, 0x85, 0x77, 0x94, 0xCE, 0xE1, 0xC0, 0x8F,
0x65, 0x4F, 0x7B, 0x62, 0x3E, 0x2F, 0x48, 0x6D, 0x7D, 0x81, 0x8F, 0x96, 0x9F, 0xBC, 0xCC, 0xCE, 0xBF, 0xA8, 0x93,
0x87, 0x89, 0x9E, 0xBA, 0xDC, 0xF2, 0xF4, 0xEC, 0xF5, 0xFF, 0xFA, 0xB0, 0x73, 0x48, 0x30, 0x31, 0x3C, 0x3D, 0x39,
0x40, 0x47, 0x5E, 0x72, 0x96, 0xA0, 0x98, 0x93, 0x89, 0x90, 0xA4, 0xC0, 0xC8, 0xC2, 0xB8, 0xB4, 0xAD, 0xAA, 0xA2,
0x8A, 0x97, 0xCC, 0xFC, 0xF6, 0xC4, 0x9D, 0x87, 0x82, 0x94, 0x68, 0x4E, 0x49, 0x5D, 0x72, 0x70, 0x7C, 0x90, 0x9A,
0xB2, 0xC3, 0xCD, 0xD6, 0xCD, 0xB4, 0x97, 0x83, 0x87, 0xA3, 0xC6, 0xE3, 0xEF, 0xE9, 0xDF, 0xEF, 0xFF, 0xE7, 0xA8,
0x7F, 0x67, 0x68, 0x70, 0x6B, 0x53, 0x39, 0x3F, 0x49, 0x5E, 0x7F, 0x9B, 0xA0, 0xA2, 0x9F, 0x9A, 0xA9, 0xB3, 0xBD,
0xBF, 0xBD, 0xBC, 0xB7, 0xA5, 0xA2, 0xA4, 0xA4, 0xCB, 0xFB, 0xFF, 0xFB, 0xD4, 0xBE, 0xB7, 0xAF, 0x97, 0x6C, 0x62,
0x67, 0x72, 0x76, 0x6D, 0x80, 0x95, 0xAB, 0xC1, 0xCA, 0xD9, 0xE7, 0xD7, 0xB9, 0x9A, 0x87, 0x91, 0xB2, 0xD2, 0xE5,
0xE7, 0xDB, 0xD1, 0xE7, 0xFE, 0xE0, 0xB4, 0x9D, 0x97, 0xA0, 0x99, 0x7B, 0x5D, 0x3B, 0x3F, 0x4A, 0x63, 0x8E, 0x9F,
0xAA, 0xAE, 0xA6, 0xA8, 0xB2, 0xAD, 0xB3, 0xB4, 0xB6, 0xBE, 0xB6, 0xA2, 0xA2, 0xB8, 0xD0, 0xFB, 0xFF, 0xFF, 0xFE,
0xEC, 0xE5, 0xDF, 0xC8, 0x96, 0x78, 0x7D, 0x87, 0x7D, 0x7C, 0x7B, 0x8B, 0x9F, 0xB3, 0xC9, 0xDB, 0xEF, 0xF1, 0xDB,
0xBA, 0x9F, 0x91, 0xA2, 0xC3, 0xD9, 0xDC, 0xD3, 0xBF, 0xC0, 0xDE, 0xFB, 0xEC, 0xD5, 0xC9, 0xC6, 0xBD, 0xA2, 0x79,
0x5B, 0x38, 0x3C, 0x54, 0x76, 0x9E, 0xA5, 0xB7, 0xB8, 0xAC, 0xAC, 0xAD, 0xA8, 0xAC, 0xAD, 0xB6, 0xBE, 0xB4, 0xA5,
0xAF, 0xD7, 0xF0, 0xFF, 0xFF, 0xFF, 0xFB, 0xFC, 0xFF, 0xF3, 0xCA, 0x9E, 0x90, 0x9D, 0x96, 0x81, 0x86, 0x8A, 0x9D,
0xAA, 0xB7, 0xD4, 0xF2, 0xFF, 0xF5, 0xD9, 0xBA, 0xA4, 0xA1, 0xB7, 0xD5, 0xD6, 0xBD, 0xA6, 0x9F, 0xAF, 0xD0, 0xEF,
0xFB, 0xFA, 0xED, 0xDF, 0xC1, 0x9B, 0x70, 0x51, 0x32, 0x44, 0x6E, 0x94, 0xA6, 0xA9, 0xBF, 0xC1, 0xB3, 0xAC, 0xA8,
0xA5, 0xA9, 0xAF, 0xBC, 0xBE, 0xB7, 0xB5, 0xC8, 0xE0, 0xF2, 0xFF, 0xFF, 0xF3, 0xEA, 0xF7, 0xFF, 0xF3, 0xC7, 0xB0,
0xB0, 0xAB, 0x8A, 0x81, 0x89, 0x91, 0xA2, 0xAC, 0xC6, 0xE5, 0xFF, 0xFF, 0xF7, 0xD9, 0xBD, 0xAD, 0xB3, 0xCC, 0xD8,
0xB9, 0x86, 0x76, 0x81, 0x9D, 0xBC, 0xDB, 0xF9, 0xFF, 0xF7, 0xE0, 0xBA, 0x8E, 0x65, 0x45, 0x34, 0x61, 0x94, 0xA4,
0x9F, 0xA6, 0xC4, 0xCC, 0xC0, 0xAF, 0xA9, 0xAA, 0xB2, 0xBE, 0xC0, 0xBF, 0xC2, 0xCB, 0xCD, 0xCC, 0xDE, 0xF3, 0xEA,
0xD2, 0xD5, 0xE5, 0xF1, 0xEA, 0xC7, 0xC8, 0xC0, 0x9D, 0x79, 0x78, 0x7F, 0x8A, 0x93, 0xA5, 0xD2, 0xF5, 0xFF, 0xFF,
0xF7, 0xD9, 0xC3, 0xBC, 0xC4, 0xCD, 0xBA, 0x83, 0x52, 0x52, 0x68, 0x85, 0xA4, 0xC9, 0xEB, 0xFB, 0xED, 0xD7, 0xAE,
0x80, 0x59, 0x40, 0x48, 0x87, 0xA9, 0x93, 0x8F, 0xA5, 0xCE, 0xDE, 0xD0, 0xBA, 0xB3, 0xBA, 0xC7, 0xCB, 0xC2, 0xC3,
0xCD, 0xCE, 0xB8, 0xB0, 0xC2, 0xCB, 0xBD, 0xB7, 0xC1, 0xD2, 0xE0, 0xE1, 0xCC, 0xCA, 0xAB, 0x84, 0x6C, 0x66, 0x69,
0x72, 0x80, 0xA1, 0xD5, 0xFF, 0xFF, 0xFF, 0xF6, 0xDD, 0xCE, 0xCA, 0xC2, 0xAC, 0x86, 0x50, 0x2E, 0x36, 0x4F, 0x6E,
0x94, 0xBD, 0xE1, 0xF3, 0xE1, 0xCC, 0x9F, 0x70, 0x54, 0x50, 0x6E, 0x98, 0x97, 0x7C, 0x89, 0xAD, 0xE0, 0xF0, 0xDC,
0xCB, 0xC8, 0xD4, 0xD9, 0xD0, 0xC7, 0xC8, 0xC8, 0xB8, 0x9A, 0x93, 0x98, 0x97, 0x9A, 0xA1, 0xB3, 0xC7, 0xD5, 0xDC,
0xD0, 0xAA, 0x81, 0x6B, 0x5A, 0x51, 0x51, 0x5B, 0x76, 0xA2, 0xD5, 0xFC, 0xFF, 0xFF, 0xF6, 0xE5, 0xD9, 0xC7, 0xA5,
0x80, 0x58, 0x30, 0x16, 0x1C, 0x36, 0x5C, 0x8A, 0xB8, 0xDC, 0xEC, 0xD9, 0xC0, 0x8D, 0x67, 0x60, 0x6E, 0x86, 0x85,
0x7A, 0x7B, 0x90, 0xBF, 0xF4, 0xFD, 0xEA, 0xE1, 0xE3, 0xE8, 0xDF, 0xD2, 0xCB, 0xC3, 0xB4, 0x9A, 0x7F, 0x70, 0x6B,
0x71, 0x83, 0x94, 0xAD, 0xC2, 0xD0, 0xD2, 0xC4, 0x7B, 0x5B, 0x4A, 0x3E, 0x38, 0x3A, 0x4D, 0x73, 0xA4, 0xD1, 0xEF,
0xFF, 0xFF, 0xF9, 0xEA, 0xD7, 0xAF, 0x85, 0x5E, 0x3C, 0x1F, 0x09, 0x08, 0x25, 0x51, 0x84, 0xB5, 0xD7, 0xE7, 0xD1,
0xAF, 0x80, 0x67, 0x6E, 0x85, 0x7F, 0x6B, 0x70, 0x89, 0xA6, 0xD9, 0xFF, 0xFF, 0xFB, 0xFA, 0xFB, 0xEF, 0xDD, 0xD4,
0xCB, 0xB4, 0x98, 0x7F, 0x65, 0x50, 0x50, 0x5D, 0x73, 0x91, 0xAD, 0xC1, 0xCA, 0xC0, 0xA3, 0x58, 0x3F, 0x2F, 0x21,
0x1B, 0x27, 0x46, 0x76, 0xA4, 0xC6, 0xE3, 0xFF, 0xFF, 0xFB, 0xE8, 0xC4, 0x97, 0x70, 0x4D, 0x2E, 0x15, 0x02, 0x00,
0x1B, 0x4E, 0x83, 0xB3, 0xD4, 0xDC, 0xC2, 0xA2, 0x7A, 0x6C, 0x7B, 0x87, 0x70, 0x66, 0x78, 0x9B, 0xC4, 0xF1, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xEB, 0xD6, 0xD0, 0xC1, 0xA1, 0x7C, 0x62, 0x48, 0x3D, 0x47, 0x57, 0x73, 0x96, 0xAE, 0xC0,
0xBF, 0xA6, 0x7B, 0x3F, 0x2D, 0x1F, 0x13, 0x0B, 0x1A, 0x43, 0x76, 0x9F, 0xC1, 0xE3, 0xFF, 0xFF, 0xF7, 0xDB, 0xAE,
0x84, 0x61, 0x42, 0x26, 0x0F, 0x00, 0x00, 0x17, 0x4D, 0x84, 0xB6, 0xD0, 0xCC, 0xB3, 0x98, 0x79, 0x75, 0x83, 0x82,
0x73, 0x72, 0x8B, 0xB8, 0xE1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE0, 0xC8, 0xC1, 0xAF, 0x89, 0x5B, 0x3F, 0x31,
0x35, 0x44, 0x5A, 0x7D, 0xA0, 0xB3, 0xBA, 0xAD, 0x86, 0x5C, 0x31, 0x23, 0x19, 0x0D, 0x08, 0x13, 0x40, 0x71, 0x9F,
0xC9, 0xF3, 0xFF, 0xFF, 0xEF, 0xC8, 0x9A, 0x73, 0x53, 0x39, 0x21, 0x0C, 0x02, 0x06, 0x1C, 0x51, 0x8B, 0xB7, 0xC7,
0xBC, 0xA2, 0x8E, 0x7F, 0x7C, 0x85, 0x85, 0x84, 0x86, 0xA5, 0xD6, 0xF4, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xCB,
0xB2, 0xAC, 0x96, 0x66, 0x35, 0x20, 0x25, 0x31, 0x47, 0x67, 0x91, 0xB3, 0xB6, 0xAF, 0x94, 0x69, 0x48, 0x2A, 0x1F,
0x13, 0x09, 0x08, 0x19, 0x3E, 0x73, 0xAD, 0xE3, 0xFF, 0xFF, 0xFD, 0xDE, 0xB2, 0x87, 0x64, 0x48, 0x32, 0x1F, 0x0C,
0x08, 0x14, 0x27, 0x5B, 0x8F, 0xB3, 0xBC, 0xAA, 0x8F, 0x87, 0x82, 0x81, 0x86, 0x91, 0x98, 0xA0, 0xC3, 0xEB, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xDD, 0xAD, 0x96, 0x8E, 0x71, 0x3E, 0x17, 0x0F, 0x1D, 0x32, 0x52, 0x7C, 0xAA, 0xC3,
0xB5, 0xA0, 0x7C, 0x56, 0x3C, 0x28, 0x1C, 0x0B, 0x05, 0x0C, 0x21, 0x45, 0x83, 0xCB, 0xFF, 0xFF, 0xFF, 0xF2, 0xCA,
0x9B, 0x73, 0x54, 0x3D, 0x2D, 0x1C, 0x10, 0x16, 0x28, 0x3A, 0x64, 0x94, 0xAF, 0xAF, 0x9B, 0x82, 0x82, 0x81, 0x82,
0x89, 0x9D, 0xAA, 0xBC, 0xDF, 0xFA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0xC1, 0x8F, 0x76, 0x69, 0x48, 0x1D, 0x05,
0x06, 0x1A, 0x3B, 0x65, 0x95, 0xBE, 0xC7, 0xAB, 0x8E, 0x69, 0x46, 0x33, 0x28, 0x15, 0x00, 0x01, 0x13, 0x2F, 0x57,
0xA1, 0xED, 0xFF, 0xFF, 0xFF, 0xDF, 0xB2, 0x83, 0x60, 0x46, 0x35, 0x27, 0x1D, 0x1C, 0x29, 0x3C, 0x49, 0x6E, 0x97,
0xA9, 0xA5, 0x8E, 0x79, 0x7A, 0x7B, 0x7C, 0x89, 0xA5, 0xBD, 0xD4, 0xEF, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDB,
0xA4, 0x77, 0x58, 0x44, 0x25, 0x08, 0x00, 0x02, 0x1E, 0x4A, 0x7C, 0xA9, 0xC7, 0xBC, 0x9D, 0x7C, 0x5A, 0x3B, 0x2F,
0x27, 0x0C, 0x00, 0x02, 0x1A, 0x3F, 0x73, 0xC3, 0xFE, 0xFF, 0xFF, 0xF4, 0xC9, 0x97, 0x6B, 0x4E, 0x3B, 0x2D, 0x23,
0x25, 0x2D, 0x3C, 0x48, 0x57, 0x7C, 0x9A, 0xA6, 0x9B, 0x81, 0x71, 0x6D, 0x70, 0x73, 0x85, 0xB2, 0xCE, 0xDC, 0xE5,
0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xBD, 0x8B, 0x62, 0x3E, 0x26, 0x0F, 0x00, 0x00, 0x07, 0x2B, 0x5E, 0x91, 0xB4,
0xC0, 0xAC, 0x8D, 0x6D, 0x4E, 0x38, 0x32, 0x26, 0x03, 0x00, 0x06, 0x21, 0x52, 0x94, 0xD6, 0xFF, 0xFF, 0xFF, 0xE1,
0xAE, 0x7B, 0x56, 0x3F, 0x2E, 0x23, 0x24, 0x30, 0x3D, 0x47, 0x50, 0x67, 0x8C, 0xA3, 0xA6, 0x8F, 0x73, 0x64, 0x5E,
0x65, 0x6D, 0x87, 0xBA, 0xCD, 0xC7, 0xCE, 0xEB, 0xFF, 0xFF, 0xFF, 0xFE, 0xD3, 0xA1, 0x77, 0x4E, 0x2B, 0x13, 0x02,
0x00, 0x00, 0x10, 0x3A, 0x72, 0x9F, 0xB3, 0xB4, 0x9D, 0x7B, 0x60, 0x4A, 0x43, 0x3E, 0x20, 0x00, 0x00, 0x0A, 0x2A,
0x66, 0xA4, 0xD9, 0xFF, 0xFF, 0xF4, 0xCB, 0x93, 0x65, 0x45, 0x32, 0x21, 0x1B, 0x28, 0x3A, 0x46, 0x4D, 0x5A, 0x78,
0x9E, 0xAF, 0xA2, 0x81, 0x64, 0x54, 0x52, 0x5D, 0x6F, 0x8D, 0xB3, 0xB0, 0xA8, 0xBF, 0xE3, 0xFF, 0xFF, 0xFF, 0xE9,
0xB8, 0x8D, 0x67, 0x3F, 0x1D, 0x07, 0x00, 0x00, 0x02, 0x1D, 0x48, 0x82, 0xA0, 0xAD, 0xAB, 0x8D, 0x6F, 0x59, 0x57,
0x5A, 0x48, 0x11, 0x00, 0x00, 0x0D, 0x35, 0x72, 0xAA, 0xDE, 0xFF, 0xFF, 0xE0, 0xAC, 0x79, 0x51, 0x34, 0x24, 0x16,
0x16, 0x2A, 0x3D, 0x47, 0x50, 0x66, 0x8B, 0xAF, 0xB4, 0x9D, 0x71, 0x52, 0x48, 0x45, 0x53, 0x6E, 0x83, 0x8F, 0x87,
0x8F, 0xB3, 0xD9, 0xFB, 0xFF, 0xF6, 0xCC, 0xA0, 0x7D, 0x5D, 0x32, 0x10, 0x00, 0x00, 0x00, 0x0D, 0x2A, 0x5A, 0x86,
0x9E, 0xA6, 0x9D, 0x7D, 0x65, 0x62, 0x70, 0x6E, 0x45, 0x00, 0x00, 0x03, 0x15, 0x3D, 0x77, 0xAF, 0xDD, 0xF0, 0xE6,
0xBA, 0x86, 0x5E, 0x39, 0x23, 0x14, 0x0C, 0x14, 0x2A, 0x3C, 0x46, 0x54, 0x72, 0x9E, 0xB6, 0xAF, 0x8C, 0x63, 0x49,
0x3A, 0x35, 0x47, 0x5B, 0x61, 0x61, 0x68, 0x7F, 0xA6, 0xD0, 0xE9, 0xED, 0xD7, 0xAC, 0x89, 0x71, 0x4A, 0x21, 0x07,
0x00, 0x00, 0x05, 0x1A, 0x3A, 0x62, 0x87, 0x9A, 0x97, 0x87, 0x6D, 0x66, 0x76, 0x7D, 0x60, 0x26, 0x00, 0x01, 0x0B,
0x25, 0x4A, 0x7F, 0xB0, 0xD3, 0xDB, 0xC1, 0x95, 0x6B, 0x49, 0x2A, 0x14, 0x06, 0x07, 0x14, 0x2A, 0x39, 0x46, 0x5E,
0x83, 0xAD, 0xB7, 0x9F, 0x75, 0x5D, 0x49, 0x2D, 0x29, 0x3B, 0x46, 0x3E, 0x3C, 0x54, 0x76, 0xA0, 0xC1, 0xD5, 0xD7,
0xBF, 0x9B, 0x7C, 0x5C, 0x31, 0x17, 0x05, 0x00, 0x00, 0x0C, 0x26, 0x45, 0x69, 0x8B, 0x91, 0x8B, 0x78, 0x69, 0x76,
0x85, 0x6D, 0x30, 0x02, 0x00, 0x09, 0x1A, 0x35, 0x5D, 0x85, 0xA9, 0xC6, 0xBF, 0xA1, 0x80, 0x5E, 0x3D, 0x1F, 0x07,
0x00, 0x05, 0x16, 0x27, 0x35, 0x4C, 0x6D, 0x99, 0xB9, 0xB2, 0x8A, 0x68, 0x58, 0x42, 0x25, 0x24, 0x39, 0x3C, 0x28,
0x29, 0x4E, 0x77, 0x98, 0xB5, 0xCC, 0xD0, 0xB7, 0x98, 0x70, 0x40, 0x26, 0x15, 0x05, 0x00, 0x02, 0x14, 0x30, 0x51,
0x78, 0x8C, 0x8F, 0x86, 0x73, 0x72, 0x82, 0x83, 0x4E, 0x12, 0x00,
};
Gfx sInnerCylinderDList[] = {
gsDPPipeSync(),
gsDPSetTextureLUT(G_TT_NONE),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPLoadTextureBlock(sWindEffTexture, G_IM_FMT_I, G_IM_SIZ_8b, 64, 64, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMIRROR | G_TX_WRAP, 6, 6, G_TX_NOLOD, G_TX_NOLOD),
gsDPLoadMultiBlock(sWindEffTexture, 0x0100, 1, G_IM_FMT_I, G_IM_SIZ_8b, 64, 64, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMIRROR | G_TX_WRAP, 6, 6, 14, 14),
gsDPSetCombineLERP(TEXEL1, PRIMITIVE, PRIM_LOD_FRAC, TEXEL0, TEXEL1, TEXEL0, PRIM_LOD_FRAC, TEXEL0, PRIMITIVE,
ENVIRONMENT, COMBINED, ENVIRONMENT, COMBINED, 0, SHADE, 0),
gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_XLU_SURF2),
gsSPClearGeometryMode(G_CULL_BACK | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR),
gsDPSetPrimColor(0, 0x80, 0xFF, 0xFF, 0xAA, 0xFF),
gsDPSetEnvColor(0x96, 0xFF, 0x00, 0x00),
gsSPDisplayList(0x08000000),
gsSPVertex(&sCylinderVtx[0], 18, 0),
gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0),
gsSP2Triangles(4, 5, 6, 0, 4, 7, 5, 0),
gsSP2Triangles(3, 8, 1, 0, 3, 9, 8, 0),
gsSP2Triangles(10, 2, 11, 0, 10, 0, 2, 0),
gsSP2Triangles(9, 12, 8, 0, 9, 13, 12, 0),
gsSP2Triangles(7, 14, 5, 0, 7, 15, 14, 0),
gsSP2Triangles(15, 11, 14, 0, 15, 10, 11, 0),
gsSP2Triangles(13, 16, 12, 0, 13, 17, 16, 0),
gsSPEndDisplayList(),
};
Gfx sOuterCylinderDList[] = {
gsDPPipeSync(),
gsDPSetTextureLUT(G_TT_NONE),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPLoadTextureBlock(sWindEffTexture, G_IM_FMT_I, G_IM_SIZ_8b, 64, 64, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMIRROR | G_TX_WRAP, 6, 6, G_TX_NOLOD, G_TX_NOLOD),
gsDPLoadMultiBlock(sWindEffTexture, 0x0100, 1, G_IM_FMT_I, G_IM_SIZ_8b, 64, 64, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMIRROR | G_TX_WRAP, 6, 6, 15, 15),
gsDPSetCombineLERP(TEXEL1, PRIMITIVE, PRIM_LOD_FRAC, TEXEL0, TEXEL1, TEXEL0, PRIM_LOD_FRAC, TEXEL0, PRIMITIVE,
ENVIRONMENT, COMBINED, ENVIRONMENT, COMBINED, 0, SHADE, 0),
gsDPSetRenderMode(G_RM_PASS, G_RM_AA_ZB_XLU_SURF2),
gsSPClearGeometryMode(G_CULL_BACK | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR),
gsDPSetPrimColor(0, 0x80, 0xFF, 0xFF, 0xAA, 0xFF),
gsDPSetEnvColor(0x00, 0x96, 0x00, 0x00),
gsSPDisplayList(0x09000000),
gsSPVertex(&sCylinderVtx[18], 18, 0),
gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0),
gsSP2Triangles(4, 5, 6, 0, 4, 7, 5, 0),
gsSP2Triangles(3, 8, 1, 0, 3, 9, 8, 0),
gsSP2Triangles(10, 2, 11, 0, 10, 0, 2, 0),
gsSP2Triangles(9, 12, 8, 0, 9, 13, 12, 0),
gsSP2Triangles(7, 14, 5, 0, 7, 15, 14, 0),
gsSP2Triangles(15, 11, 14, 0, 15, 10, 11, 0),
gsSP2Triangles(13, 16, 12, 0, 13, 17, 16, 0),
gsSPEndDisplayList(),
};