mirror of
https://github.com/zeldaret/oot.git
synced 2024-11-13 04:39:36 +00:00
name more skelanime struct members, match all but 1 function, name more functions, some documentation
This commit is contained in:
parent
48968f90b7
commit
f069777b19
11 changed files with 85 additions and 1383 deletions
|
@ -1,161 +0,0 @@
|
|||
.rdata
|
||||
glabel D_801402D8
|
||||
.asciz "\x1b[31m"
|
||||
.balign 4
|
||||
|
||||
glabel D_801402E0
|
||||
.asciz "Si2_draw2():skelがNULLです。NULLを返します。\n"
|
||||
# EUC-JP: がNULLです。| Is null. Returns null.
|
||||
.balign 4
|
||||
|
||||
glabel D_80140310
|
||||
.asciz "\x1b[m"
|
||||
.balign 4
|
||||
|
||||
glabel D_80140314
|
||||
.asciz "../z_skelanime.c"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel SkelAnime_Draw2
|
||||
/* B19428 800A2288 27BDFFA8 */ addiu $sp, $sp, -0x58
|
||||
/* B1942C 800A228C AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* B19430 800A2290 AFA40058 */ sw $a0, 0x58($sp)
|
||||
/* B19434 800A2294 AFA5005C */ sw $a1, 0x5c($sp)
|
||||
/* B19438 800A2298 AFA60060 */ sw $a2, 0x60($sp)
|
||||
/* B1943C 800A229C 14A0000C */ bnez $a1, .L800A22D0
|
||||
/* B19440 800A22A0 AFA70064 */ sw $a3, 0x64($sp)
|
||||
/* B19444 800A22A4 3C048014 */ lui $a0, %hi(D_801402D8) # $a0, 0x8014
|
||||
/* B19448 800A22A8 0C00084C */ jal osSyncPrintf
|
||||
/* B1944C 800A22AC 248402D8 */ addiu $a0, %lo(D_801402D8) # addiu $a0, $a0, 0x2d8
|
||||
/* B19450 800A22B0 3C048014 */ lui $a0, %hi(D_801402E0) # $a0, 0x8014
|
||||
/* B19454 800A22B4 0C00084C */ jal osSyncPrintf
|
||||
/* B19458 800A22B8 248402E0 */ addiu $a0, %lo(D_801402E0) # addiu $a0, $a0, 0x2e0
|
||||
/* B1945C 800A22BC 3C048014 */ lui $a0, %hi(D_80140310) # $a0, 0x8014
|
||||
/* B19460 800A22C0 0C00084C */ jal osSyncPrintf
|
||||
/* B19464 800A22C4 24840310 */ addiu $a0, %lo(D_80140310) # addiu $a0, $a0, 0x310
|
||||
/* B19468 800A22C8 10000071 */ b .L800A2490
|
||||
/* B1946C 800A22CC 00001025 */ move $v0, $zero
|
||||
.L800A22D0:
|
||||
/* B19470 800A22D0 0C034213 */ jal Matrix_Push
|
||||
/* B19474 800A22D4 00000000 */ nop
|
||||
/* B19478 800A22D8 8FAF005C */ lw $t7, 0x5c($sp)
|
||||
/* B1947C 800A22DC 3C0A8016 */ lui $t2, %hi(gSegments)
|
||||
/* B19480 800A22E0 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
|
||||
/* B19484 800A22E4 8DE20000 */ lw $v0, ($t7)
|
||||
/* B19488 800A22E8 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
||||
/* B1948C 800A22EC 8FA30060 */ lw $v1, 0x60($sp)
|
||||
/* B19490 800A22F0 0002C900 */ sll $t9, $v0, 4
|
||||
/* B19494 800A22F4 00194702 */ srl $t0, $t9, 0x1c
|
||||
/* B19498 800A22F8 00084880 */ sll $t1, $t0, 2
|
||||
/* B1949C 800A22FC 01495021 */ addu $t2, $t2, $t1
|
||||
/* B194A0 800A2300 8D4A6FA8 */ lw $t2, %lo(gSegments)($t2)
|
||||
/* B194A4 800A2304 0041C024 */ and $t8, $v0, $at
|
||||
/* B194A8 800A2308 3C018000 */ lui $at, 0x8000
|
||||
/* B194AC 800A230C 030A5821 */ addu $t3, $t8, $t2
|
||||
/* B194B0 800A2310 01616021 */ addu $t4, $t3, $at
|
||||
/* B194B4 800A2314 AFAC0054 */ sw $t4, 0x54($sp)
|
||||
/* B194B8 800A2318 846D0000 */ lh $t5, ($v1)
|
||||
/* B194BC 800A231C 27B90038 */ addiu $t9, $sp, 0x38
|
||||
/* B194C0 800A2320 27AC0038 */ addiu $t4, $sp, 0x38
|
||||
/* B194C4 800A2324 448D2000 */ mtc1 $t5, $f4
|
||||
/* B194C8 800A2328 24050001 */ li $a1, 1
|
||||
/* B194CC 800A232C 27A6004C */ addiu $a2, $sp, 0x4c
|
||||
/* B194D0 800A2330 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* B194D4 800A2334 27A70040 */ addiu $a3, $sp, 0x40
|
||||
/* B194D8 800A2338 E7A60040 */ swc1 $f6, 0x40($sp)
|
||||
/* B194DC 800A233C 846E0002 */ lh $t6, 2($v1)
|
||||
/* B194E0 800A2340 448E4000 */ mtc1 $t6, $f8
|
||||
/* B194E4 800A2344 27AE0070 */ addiu $t6, $sp, 0x70
|
||||
/* B194E8 800A2348 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* B194EC 800A234C E7AA0044 */ swc1 $f10, 0x44($sp)
|
||||
/* B194F0 800A2350 846F0004 */ lh $t7, 4($v1)
|
||||
/* B194F4 800A2354 448F8000 */ mtc1 $t7, $f16
|
||||
/* B194F8 800A2358 00000000 */ nop
|
||||
/* B194FC 800A235C 468084A0 */ cvt.s.w $f18, $f16
|
||||
/* B19500 800A2360 E7B20048 */ swc1 $f18, 0x48($sp)
|
||||
/* B19504 800A2364 88690006 */ lwl $t1, 6($v1)
|
||||
/* B19508 800A2368 98690009 */ lwr $t1, 9($v1)
|
||||
/* B1950C 800A236C AF290000 */ sw $t1, ($t9)
|
||||
/* B19510 800A2370 9469000A */ lhu $t1, 0xa($v1)
|
||||
/* B19514 800A2374 A7290004 */ sh $t1, 4($t9)
|
||||
/* B19518 800A2378 8FB80054 */ lw $t8, 0x54($sp)
|
||||
/* B1951C 800A237C 8FAB0064 */ lw $t3, 0x64($sp)
|
||||
/* B19520 800A2380 8FA40058 */ lw $a0, 0x58($sp)
|
||||
/* B19524 800A2384 8F0A0008 */ lw $t2, 8($t8)
|
||||
/* B19528 800A2388 11600007 */ beqz $t3, .L800A23A8
|
||||
/* B1952C 800A238C AFAA004C */ sw $t2, 0x4c($sp)
|
||||
/* B19530 800A2390 8FAD006C */ lw $t5, 0x6c($sp)
|
||||
/* B19534 800A2394 AFAC0010 */ sw $t4, 0x10($sp)
|
||||
/* B19538 800A2398 AFAE0018 */ sw $t6, 0x18($sp)
|
||||
/* B1953C 800A239C 0160F809 */ jalr $t3
|
||||
/* B19540 800A23A0 AFAD0014 */ sw $t5, 0x14($sp)
|
||||
/* B19544 800A23A4 1440001B */ bnez $v0, .L800A2414
|
||||
.L800A23A8:
|
||||
/* B19548 800A23A8 27A40040 */ addiu $a0, $sp, 0x40
|
||||
/* B1954C 800A23AC 0C0344D0 */ jal Matrix_TranslateThenRotateZYX
|
||||
/* B19550 800A23B0 27A50038 */ addiu $a1, $sp, 0x38
|
||||
/* B19554 800A23B4 8FAF004C */ lw $t7, 0x4c($sp)
|
||||
/* B19558 800A23B8 8FB90070 */ lw $t9, 0x70($sp)
|
||||
/* B1955C 800A23BC 3C09DA38 */ lui $t1, (0xDA380003 >> 16) # lui $t1, 0xda38
|
||||
/* B19560 800A23C0 11E00014 */ beqz $t7, .L800A2414
|
||||
/* B19564 800A23C4 27280008 */ addiu $t0, $t9, 8
|
||||
/* B19568 800A23C8 AFA80070 */ sw $t0, 0x70($sp)
|
||||
/* B1956C 800A23CC 35290003 */ ori $t1, (0xDA380003 & 0xFFFF) # ori $t1, $t1, 3
|
||||
/* B19570 800A23D0 AF290000 */ sw $t1, ($t9)
|
||||
/* B19574 800A23D4 8FB80058 */ lw $t8, 0x58($sp)
|
||||
/* B19578 800A23D8 3C058014 */ lui $a1, %hi(D_80140314) # $a1, 0x8014
|
||||
/* B1957C 800A23DC 24A50314 */ addiu $a1, %lo(D_80140314) # addiu $a1, $a1, 0x314
|
||||
/* B19580 800A23E0 8F040000 */ lw $a0, ($t8)
|
||||
/* B19584 800A23E4 AFB90034 */ sw $t9, 0x34($sp)
|
||||
/* B19588 800A23E8 0C0346A2 */ jal Matrix_NewMtx
|
||||
/* B1958C 800A23EC 24060616 */ li $a2, 1558
|
||||
/* B19590 800A23F0 8FA30034 */ lw $v1, 0x34($sp)
|
||||
/* B19594 800A23F4 3C0DDE00 */ lui $t5, 0xde00
|
||||
/* B19598 800A23F8 AC620004 */ sw $v0, 4($v1)
|
||||
/* B1959C 800A23FC 8FAA0070 */ lw $t2, 0x70($sp)
|
||||
/* B195A0 800A2400 254C0008 */ addiu $t4, $t2, 8
|
||||
/* B195A4 800A2404 AFAC0070 */ sw $t4, 0x70($sp)
|
||||
/* B195A8 800A2408 AD4D0000 */ sw $t5, ($t2)
|
||||
/* B195AC 800A240C 8FAE004C */ lw $t6, 0x4c($sp)
|
||||
/* B195B0 800A2410 AD4E0004 */ sw $t6, 4($t2)
|
||||
.L800A2414:
|
||||
/* B195B4 800A2414 8FA20068 */ lw $v0, 0x68($sp)
|
||||
/* B195B8 800A2418 8FA40058 */ lw $a0, 0x58($sp)
|
||||
/* B195BC 800A241C 24050001 */ li $a1, 1
|
||||
/* B195C0 800A2420 10400008 */ beqz $v0, .L800A2444
|
||||
/* B195C4 800A2424 27A6004C */ addiu $a2, $sp, 0x4c
|
||||
/* B195C8 800A2428 8FAB006C */ lw $t3, 0x6c($sp)
|
||||
/* B195CC 800A242C 27AF0070 */ addiu $t7, $sp, 0x70
|
||||
/* B195D0 800A2430 AFAF0014 */ sw $t7, 0x14($sp)
|
||||
/* B195D4 800A2434 27A70038 */ addiu $a3, $sp, 0x38
|
||||
/* B195D8 800A2438 0040F809 */ jalr $v0
|
||||
/* B195DC 800A243C AFAB0010 */ sw $t3, 0x10($sp)
|
||||
/* B195E0 800A2440 8FA20068 */ lw $v0, 0x68($sp)
|
||||
.L800A2444:
|
||||
/* B195E4 800A2444 8FB90054 */ lw $t9, 0x54($sp)
|
||||
/* B195E8 800A2448 240100FF */ li $at, 255
|
||||
/* B195EC 800A244C 8FA40058 */ lw $a0, 0x58($sp)
|
||||
/* B195F0 800A2450 93250006 */ lbu $a1, 6($t9)
|
||||
/* B195F4 800A2454 8FA6005C */ lw $a2, 0x5c($sp)
|
||||
/* B195F8 800A2458 8FA70060 */ lw $a3, 0x60($sp)
|
||||
/* B195FC 800A245C 10A10009 */ beq $a1, $at, .L800A2484
|
||||
/* B19600 800A2460 8FA80064 */ lw $t0, 0x64($sp)
|
||||
/* B19604 800A2464 8FA9006C */ lw $t1, 0x6c($sp)
|
||||
/* B19608 800A2468 8FB80070 */ lw $t8, 0x70($sp)
|
||||
/* B1960C 800A246C AFA80010 */ sw $t0, 0x10($sp)
|
||||
/* B19610 800A2470 AFA20014 */ sw $v0, 0x14($sp)
|
||||
/* B19614 800A2474 AFA90018 */ sw $t1, 0x18($sp)
|
||||
/* B19618 800A2478 0C028811 */ jal SkelAnime_Draw2Limb
|
||||
/* B1961C 800A247C AFB8001C */ sw $t8, 0x1c($sp)
|
||||
/* B19620 800A2480 AFA20070 */ sw $v0, 0x70($sp)
|
||||
.L800A2484:
|
||||
/* B19624 800A2484 0C034221 */ jal Matrix_Pull
|
||||
/* B19628 800A2488 00000000 */ nop
|
||||
/* B1962C 800A248C 8FA20070 */ lw $v0, 0x70($sp)
|
||||
.L800A2490:
|
||||
/* B19630 800A2490 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* B19634 800A2494 27BD0058 */ addiu $sp, $sp, 0x58
|
||||
/* B19638 800A2498 03E00008 */ jr $ra
|
||||
/* B1963C 800A249C 00000000 */ nop
|
||||
|
|
@ -1,201 +0,0 @@
|
|||
.rdata
|
||||
glabel D_8014016C
|
||||
.asciz "../z_skelanime.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80140180
|
||||
.asciz "../z_skelanime.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80140194
|
||||
.asciz "../z_skelanime.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_801401A8
|
||||
.asciz "../z_skelanime.c"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel SkelAnime_DrawLimbSV
|
||||
/* B189AC 800A180C 27BDFF98 */ addiu $sp, $sp, -0x68
|
||||
/* B189B0 800A1810 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* B189B4 800A1814 AFA40068 */ sw $a0, 0x68($sp)
|
||||
/* B189B8 800A1818 AFA5006C */ sw $a1, 0x6c($sp)
|
||||
/* B189BC 800A181C AFA60070 */ sw $a2, 0x70($sp)
|
||||
/* B189C0 800A1820 AFA70074 */ sw $a3, 0x74($sp)
|
||||
/* B189C4 800A1824 8C850000 */ lw $a1, ($a0)
|
||||
/* B189C8 800A1828 3C068014 */ lui $a2, %hi(D_8014016C) # $a2, 0x8014
|
||||
/* B189CC 800A182C 24C6016C */ addiu $a2, %lo(D_8014016C) # addiu $a2, $a2, 0x16c
|
||||
/* B189D0 800A1830 27A40034 */ addiu $a0, $sp, 0x34
|
||||
/* B189D4 800A1834 240704BE */ li $a3, 1214
|
||||
/* B189D8 800A1838 0C031AB1 */ jal func_800C6AC4
|
||||
/* B189DC 800A183C AFA50044 */ sw $a1, 0x44($sp)
|
||||
/* B189E0 800A1840 0C034213 */ jal Matrix_Push
|
||||
/* B189E4 800A1844 00000000 */ nop
|
||||
/* B189E8 800A1848 8FB8006C */ lw $t8, 0x6c($sp)
|
||||
/* B189EC 800A184C 8FAF0070 */ lw $t7, 0x70($sp)
|
||||
/* B189F0 800A1850 3C0D8016 */ lui $t5, %hi(gSegments)
|
||||
/* B189F4 800A1854 0018C880 */ sll $t9, $t8, 2
|
||||
/* B189F8 800A1858 01F94021 */ addu $t0, $t7, $t9
|
||||
/* B189FC 800A185C 8D020000 */ lw $v0, ($t0)
|
||||
/* B18A00 800A1860 270E0001 */ addiu $t6, $t8, 1
|
||||
/* B18A04 800A1864 8FB90074 */ lw $t9, 0x74($sp)
|
||||
/* B18A08 800A1868 000E4080 */ sll $t0, $t6, 2
|
||||
/* B18A0C 800A186C 00025100 */ sll $t2, $v0, 4
|
||||
/* B18A10 800A1870 000A5F02 */ srl $t3, $t2, 0x1c
|
||||
/* B18A14 800A1874 010E4023 */ subu $t0, $t0, $t6
|
||||
/* B18A18 800A1878 000B6080 */ sll $t4, $t3, 2
|
||||
/* B18A1C 800A187C 00084040 */ sll $t0, $t0, 1
|
||||
/* B18A20 800A1880 01AC6821 */ addu $t5, $t5, $t4
|
||||
/* B18A24 800A1884 AFAE006C */ sw $t6, 0x6c($sp)
|
||||
/* B18A28 800A1888 03285021 */ addu $t2, $t9, $t0
|
||||
/* B18A2C 800A188C 894C0000 */ lwl $t4, ($t2)
|
||||
/* B18A30 800A1890 994C0003 */ lwr $t4, 3($t2)
|
||||
/* B18A34 800A1894 8DAD6FA8 */ lw $t5, %lo(gSegments)($t5)
|
||||
/* B18A38 800A1898 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
|
||||
/* B18A3C 800A189C 27AF0048 */ addiu $t7, $sp, 0x48
|
||||
/* B18A40 800A18A0 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
||||
/* B18A44 800A18A4 ADEC0000 */ sw $t4, ($t7)
|
||||
/* B18A48 800A18A8 954C0004 */ lhu $t4, 4($t2)
|
||||
/* B18A4C 800A18AC 00414824 */ and $t1, $v0, $at
|
||||
/* B18A50 800A18B0 3C018000 */ lui $at, 0x8000
|
||||
/* B18A54 800A18B4 012D1821 */ addu $v1, $t1, $t5
|
||||
/* B18A58 800A18B8 00611821 */ addu $v1, $v1, $at
|
||||
/* B18A5C 800A18BC A5EC0004 */ sh $t4, 4($t7)
|
||||
/* B18A60 800A18C0 84690000 */ lh $t1, ($v1)
|
||||
/* B18A64 800A18C4 8FA80078 */ lw $t0, 0x78($sp)
|
||||
/* B18A68 800A18C8 8FA5006C */ lw $a1, 0x6c($sp)
|
||||
/* B18A6C 800A18CC 44892000 */ mtc1 $t1, $f4
|
||||
/* B18A70 800A18D0 8FA40068 */ lw $a0, 0x68($sp)
|
||||
/* B18A74 800A18D4 27AF0048 */ addiu $t7, $sp, 0x48
|
||||
/* B18A78 800A18D8 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* B18A7C 800A18DC 27A60060 */ addiu $a2, $sp, 0x60
|
||||
/* B18A80 800A18E0 27A70050 */ addiu $a3, $sp, 0x50
|
||||
/* B18A84 800A18E4 E7A60050 */ swc1 $f6, 0x50($sp)
|
||||
/* B18A88 800A18E8 846D0002 */ lh $t5, 2($v1)
|
||||
/* B18A8C 800A18EC 448D4000 */ mtc1 $t5, $f8
|
||||
/* B18A90 800A18F0 00000000 */ nop
|
||||
/* B18A94 800A18F4 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* B18A98 800A18F8 E7AA0054 */ swc1 $f10, 0x54($sp)
|
||||
/* B18A9C 800A18FC 84780004 */ lh $t8, 4($v1)
|
||||
/* B18AA0 800A1900 44988000 */ mtc1 $t8, $f16
|
||||
/* B18AA4 800A1904 00000000 */ nop
|
||||
/* B18AA8 800A1908 468084A0 */ cvt.s.w $f18, $f16
|
||||
/* B18AAC 800A190C E7B20058 */ swc1 $f18, 0x58($sp)
|
||||
/* B18AB0 800A1910 8C6E0008 */ lw $t6, 8($v1)
|
||||
/* B18AB4 800A1914 AFA30064 */ sw $v1, 0x64($sp)
|
||||
/* B18AB8 800A1918 AFAE005C */ sw $t6, 0x5c($sp)
|
||||
/* B18ABC 800A191C 11000007 */ beqz $t0, .L800A193C
|
||||
/* B18AC0 800A1920 AFAE0060 */ sw $t6, 0x60($sp)
|
||||
/* B18AC4 800A1924 8FAA0080 */ lw $t2, 0x80($sp)
|
||||
/* B18AC8 800A1928 AFAF0010 */ sw $t7, 0x10($sp)
|
||||
/* B18ACC 800A192C AFA30064 */ sw $v1, 0x64($sp)
|
||||
/* B18AD0 800A1930 0100F809 */ jalr $t0
|
||||
/* B18AD4 800A1934 AFAA0014 */ sw $t2, 0x14($sp)
|
||||
/* B18AD8 800A1938 1440002D */ bnez $v0, .L800A19F0
|
||||
.L800A193C:
|
||||
/* B18ADC 800A193C 27A40050 */ addiu $a0, $sp, 0x50
|
||||
/* B18AE0 800A1940 0C0344D0 */ jal Matrix_TranslateThenRotateZYX
|
||||
/* B18AE4 800A1944 27A50048 */ addiu $a1, $sp, 0x48
|
||||
/* B18AE8 800A1948 8FAB0060 */ lw $t3, 0x60($sp)
|
||||
/* B18AEC 800A194C 8FAC0084 */ lw $t4, 0x84($sp)
|
||||
/* B18AF0 800A1950 3C058014 */ lui $a1, %hi(D_80140180) # $a1, 0x8014
|
||||
/* B18AF4 800A1954 1160001B */ beqz $t3, .L800A19C4
|
||||
/* B18AF8 800A1958 8FA9005C */ lw $t1, 0x5c($sp)
|
||||
/* B18AFC 800A195C 8D840000 */ lw $a0, ($t4)
|
||||
/* B18B00 800A1960 24A50180 */ addiu $a1, %lo(D_80140180) # addiu $a1, $a1, 0x180
|
||||
/* B18B04 800A1964 0C034695 */ jal Matrix_ToMtx
|
||||
/* B18B08 800A1968 240604DA */ li $a2, 1242
|
||||
/* B18B0C 800A196C 8FA40044 */ lw $a0, 0x44($sp)
|
||||
/* B18B10 800A1970 3C0DDA38 */ lui $t5, (0xDA380003 >> 16) # lui $t5, 0xda38
|
||||
/* B18B14 800A1974 35AD0003 */ ori $t5, (0xDA380003 & 0xFFFF) # ori $t5, $t5, 3
|
||||
/* B18B18 800A1978 8C8302C0 */ lw $v1, 0x2c0($a0)
|
||||
/* B18B1C 800A197C 3C0FDE00 */ lui $t7, 0xde00
|
||||
/* B18B20 800A1980 24690008 */ addiu $t1, $v1, 8
|
||||
/* B18B24 800A1984 AC8902C0 */ sw $t1, 0x2c0($a0)
|
||||
/* B18B28 800A1988 AC6D0000 */ sw $t5, ($v1)
|
||||
/* B18B2C 800A198C 8FB80084 */ lw $t8, 0x84($sp)
|
||||
/* B18B30 800A1990 8F0E0000 */ lw $t6, ($t8)
|
||||
/* B18B34 800A1994 AC6E0004 */ sw $t6, 4($v1)
|
||||
/* B18B38 800A1998 8C8302C0 */ lw $v1, 0x2c0($a0)
|
||||
/* B18B3C 800A199C 24790008 */ addiu $t9, $v1, 8
|
||||
/* B18B40 800A19A0 AC9902C0 */ sw $t9, 0x2c0($a0)
|
||||
/* B18B44 800A19A4 AC6F0000 */ sw $t7, ($v1)
|
||||
/* B18B48 800A19A8 8FAA0060 */ lw $t2, 0x60($sp)
|
||||
/* B18B4C 800A19AC AC6A0004 */ sw $t2, 4($v1)
|
||||
/* B18B50 800A19B0 8FA80084 */ lw $t0, 0x84($sp)
|
||||
/* B18B54 800A19B4 8D0B0000 */ lw $t3, ($t0)
|
||||
/* B18B58 800A19B8 256C0040 */ addiu $t4, $t3, 0x40
|
||||
/* B18B5C 800A19BC 1000000C */ b .L800A19F0
|
||||
/* B18B60 800A19C0 AD0C0000 */ sw $t4, ($t0)
|
||||
.L800A19C4:
|
||||
/* B18B64 800A19C4 1120000A */ beqz $t1, .L800A19F0
|
||||
/* B18B68 800A19C8 8FAD0084 */ lw $t5, 0x84($sp)
|
||||
/* B18B6C 800A19CC 3C058014 */ lui $a1, %hi(D_80140194) # $a1, 0x8014
|
||||
/* B18B70 800A19D0 24A50194 */ addiu $a1, %lo(D_80140194) # addiu $a1, $a1, 0x194
|
||||
/* B18B74 800A19D4 8DA40000 */ lw $a0, ($t5)
|
||||
/* B18B78 800A19D8 0C034695 */ jal Matrix_ToMtx
|
||||
/* B18B7C 800A19DC 240604E1 */ li $a2, 1249
|
||||
/* B18B80 800A19E0 8FB80084 */ lw $t8, 0x84($sp)
|
||||
/* B18B84 800A19E4 8F0E0000 */ lw $t6, ($t8)
|
||||
/* B18B88 800A19E8 25D90040 */ addiu $t9, $t6, 0x40
|
||||
/* B18B8C 800A19EC AF190000 */ sw $t9, ($t8)
|
||||
.L800A19F0:
|
||||
/* B18B90 800A19F0 8FAF007C */ lw $t7, 0x7c($sp)
|
||||
/* B18B94 800A19F4 8FA40068 */ lw $a0, 0x68($sp)
|
||||
/* B18B98 800A19F8 8FA5006C */ lw $a1, 0x6c($sp)
|
||||
/* B18B9C 800A19FC 11E00005 */ beqz $t7, .L800A1A14
|
||||
/* B18BA0 800A1A00 27A6005C */ addiu $a2, $sp, 0x5c
|
||||
/* B18BA4 800A1A04 8FAA0080 */ lw $t2, 0x80($sp)
|
||||
/* B18BA8 800A1A08 27A70048 */ addiu $a3, $sp, 0x48
|
||||
/* B18BAC 800A1A0C 01E0F809 */ jalr $t7
|
||||
/* B18BB0 800A1A10 AFAA0010 */ sw $t2, 0x10($sp)
|
||||
.L800A1A14:
|
||||
/* B18BB4 800A1A14 8FAB0064 */ lw $t3, 0x64($sp)
|
||||
/* B18BB8 800A1A18 240100FF */ li $at, 255
|
||||
/* B18BBC 800A1A1C 8FA40068 */ lw $a0, 0x68($sp)
|
||||
/* B18BC0 800A1A20 91650006 */ lbu $a1, 6($t3)
|
||||
/* B18BC4 800A1A24 8FA60070 */ lw $a2, 0x70($sp)
|
||||
/* B18BC8 800A1A28 8FA70074 */ lw $a3, 0x74($sp)
|
||||
/* B18BCC 800A1A2C 10A10009 */ beq $a1, $at, .L800A1A54
|
||||
/* B18BD0 800A1A30 8FAC0078 */ lw $t4, 0x78($sp)
|
||||
/* B18BD4 800A1A34 8FA8007C */ lw $t0, 0x7c($sp)
|
||||
/* B18BD8 800A1A38 8FA90080 */ lw $t1, 0x80($sp)
|
||||
/* B18BDC 800A1A3C 8FAD0084 */ lw $t5, 0x84($sp)
|
||||
/* B18BE0 800A1A40 AFAC0010 */ sw $t4, 0x10($sp)
|
||||
/* B18BE4 800A1A44 AFA80014 */ sw $t0, 0x14($sp)
|
||||
/* B18BE8 800A1A48 AFA90018 */ sw $t1, 0x18($sp)
|
||||
/* B18BEC 800A1A4C 0C028603 */ jal SkelAnime_DrawLimbSV
|
||||
/* B18BF0 800A1A50 AFAD001C */ sw $t5, 0x1c($sp)
|
||||
.L800A1A54:
|
||||
/* B18BF4 800A1A54 0C034221 */ jal Matrix_Pull
|
||||
/* B18BF8 800A1A58 00000000 */ nop
|
||||
/* B18BFC 800A1A5C 8FAE0064 */ lw $t6, 0x64($sp)
|
||||
/* B18C00 800A1A60 240100FF */ li $at, 255
|
||||
/* B18C04 800A1A64 8FA40068 */ lw $a0, 0x68($sp)
|
||||
/* B18C08 800A1A68 91C50007 */ lbu $a1, 7($t6)
|
||||
/* B18C0C 800A1A6C 8FA60070 */ lw $a2, 0x70($sp)
|
||||
/* B18C10 800A1A70 8FA70074 */ lw $a3, 0x74($sp)
|
||||
/* B18C14 800A1A74 10A10009 */ beq $a1, $at, .L800A1A9C
|
||||
/* B18C18 800A1A78 8FB90078 */ lw $t9, 0x78($sp)
|
||||
/* B18C1C 800A1A7C 8FB8007C */ lw $t8, 0x7c($sp)
|
||||
/* B18C20 800A1A80 8FAA0080 */ lw $t2, 0x80($sp)
|
||||
/* B18C24 800A1A84 8FAF0084 */ lw $t7, 0x84($sp)
|
||||
/* B18C28 800A1A88 AFB90010 */ sw $t9, 0x10($sp)
|
||||
/* B18C2C 800A1A8C AFB80014 */ sw $t8, 0x14($sp)
|
||||
/* B18C30 800A1A90 AFAA0018 */ sw $t2, 0x18($sp)
|
||||
/* B18C34 800A1A94 0C028603 */ jal SkelAnime_DrawLimbSV
|
||||
/* B18C38 800A1A98 AFAF001C */ sw $t7, 0x1c($sp)
|
||||
.L800A1A9C:
|
||||
/* B18C3C 800A1A9C 8FAB0068 */ lw $t3, 0x68($sp)
|
||||
/* B18C40 800A1AA0 3C068014 */ lui $a2, %hi(D_801401A8) # $a2, 0x8014
|
||||
/* B18C44 800A1AA4 24C601A8 */ addiu $a2, %lo(D_801401A8) # addiu $a2, $a2, 0x1a8
|
||||
/* B18C48 800A1AA8 27A40034 */ addiu $a0, $sp, 0x34
|
||||
/* B18C4C 800A1AAC 240704F1 */ li $a3, 1265
|
||||
/* B18C50 800A1AB0 0C031AD5 */ jal func_800C6B54
|
||||
/* B18C54 800A1AB4 8D650000 */ lw $a1, ($t3)
|
||||
/* B18C58 800A1AB8 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* B18C5C 800A1ABC 27BD0068 */ addiu $sp, $sp, 0x68
|
||||
/* B18C60 800A1AC0 03E00008 */ jr $ra
|
||||
/* B18C64 800A1AC4 00000000 */ nop
|
||||
|
|
@ -1,217 +0,0 @@
|
|||
.rdata
|
||||
glabel D_801401BC
|
||||
.asciz "\x1b[31m"
|
||||
.balign 4
|
||||
|
||||
glabel D_801401C4
|
||||
.asciz "Si2_draw_SV():skelがNULLです。\n"
|
||||
# EUC-JP: がNULLです。| Is null
|
||||
.balign 4
|
||||
|
||||
glabel D_801401E4
|
||||
.asciz "\x1b[m"
|
||||
.balign 4
|
||||
|
||||
glabel D_801401E8
|
||||
.asciz "../z_skelanime.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_801401FC
|
||||
.asciz "../z_skelanime.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80140210
|
||||
.asciz "../z_skelanime.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80140224
|
||||
.asciz "../z_skelanime.c"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel SkelAnime_DrawSV
|
||||
/* B18C68 800A1AC8 27BDFF88 */ addiu $sp, $sp, -0x78
|
||||
/* B18C6C 800A1ACC AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* B18C70 800A1AD0 AFA40078 */ sw $a0, 0x78($sp)
|
||||
/* B18C74 800A1AD4 AFA5007C */ sw $a1, 0x7c($sp)
|
||||
/* B18C78 800A1AD8 AFA60080 */ sw $a2, 0x80($sp)
|
||||
/* B18C7C 800A1ADC 8C840000 */ lw $a0, ($a0)
|
||||
/* B18C80 800A1AE0 0C031A73 */ jal Graph_Alloc
|
||||
/* B18C84 800A1AE4 00072980 */ sll $a1, $a3, 6
|
||||
/* B18C88 800A1AE8 8FAF007C */ lw $t7, 0x7c($sp)
|
||||
/* B18C8C 800A1AEC AFA20050 */ sw $v0, 0x50($sp)
|
||||
/* B18C90 800A1AF0 8FB80078 */ lw $t8, 0x78($sp)
|
||||
/* B18C94 800A1AF4 15E0000C */ bnez $t7, .L800A1B28
|
||||
/* B18C98 800A1AF8 27A4003C */ addiu $a0, $sp, 0x3c
|
||||
/* B18C9C 800A1AFC 3C048014 */ lui $a0, %hi(D_801401BC) # $a0, 0x8014
|
||||
/* B18CA0 800A1B00 0C00084C */ jal osSyncPrintf
|
||||
/* B18CA4 800A1B04 248401BC */ addiu $a0, %lo(D_801401BC) # addiu $a0, $a0, 0x1bc
|
||||
/* B18CA8 800A1B08 3C048014 */ lui $a0, %hi(D_801401C4) # $a0, 0x8014
|
||||
/* B18CAC 800A1B0C 0C00084C */ jal osSyncPrintf
|
||||
/* B18CB0 800A1B10 248401C4 */ addiu $a0, %lo(D_801401C4) # addiu $a0, $a0, 0x1c4
|
||||
/* B18CB4 800A1B14 3C048014 */ lui $a0, %hi(D_801401E4) # $a0, 0x8014
|
||||
/* B18CB8 800A1B18 0C00084C */ jal osSyncPrintf
|
||||
/* B18CBC 800A1B1C 248401E4 */ addiu $a0, %lo(D_801401E4) # addiu $a0, $a0, 0x1e4
|
||||
/* B18CC0 800A1B20 10000097 */ b .L800A1D80
|
||||
/* B18CC4 800A1B24 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L800A1B28:
|
||||
/* B18CC8 800A1B28 8F050000 */ lw $a1, ($t8)
|
||||
/* B18CCC 800A1B2C 3C068014 */ lui $a2, %hi(D_801401E8) # $a2, 0x8014
|
||||
/* B18CD0 800A1B30 24C601E8 */ addiu $a2, %lo(D_801401E8) # addiu $a2, $a2, 0x1e8
|
||||
/* B18CD4 800A1B34 2407050E */ li $a3, 1294
|
||||
/* B18CD8 800A1B38 0C031AB1 */ jal func_800C6AC4
|
||||
/* B18CDC 800A1B3C AFA5004C */ sw $a1, 0x4c($sp)
|
||||
/* B18CE0 800A1B40 8FA8004C */ lw $t0, 0x4c($sp)
|
||||
/* B18CE4 800A1B44 3C09DB06 */ lui $t1, (0xDB060034 >> 16) # lui $t1, 0xdb06
|
||||
/* B18CE8 800A1B48 35290034 */ ori $t1, (0xDB060034 & 0xFFFF) # ori $t1, $t1, 0x34
|
||||
/* B18CEC 800A1B4C 8D0202C0 */ lw $v0, 0x2c0($t0)
|
||||
/* B18CF0 800A1B50 24590008 */ addiu $t9, $v0, 8
|
||||
/* B18CF4 800A1B54 AD1902C0 */ sw $t9, 0x2c0($t0)
|
||||
/* B18CF8 800A1B58 AC490000 */ sw $t1, ($v0)
|
||||
/* B18CFC 800A1B5C 8FAA0050 */ lw $t2, 0x50($sp)
|
||||
/* B18D00 800A1B60 AC4A0004 */ sw $t2, 4($v0)
|
||||
/* B18D04 800A1B64 0C034213 */ jal Matrix_Push
|
||||
/* B18D08 800A1B68 AFA8004C */ sw $t0, 0x4c($sp)
|
||||
/* B18D0C 800A1B6C 8FAB007C */ lw $t3, 0x7c($sp)
|
||||
/* B18D10 800A1B70 3C188016 */ lui $t8, %hi(gSegments)
|
||||
/* B18D14 800A1B74 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
|
||||
/* B18D18 800A1B78 8D620000 */ lw $v0, ($t3)
|
||||
/* B18D1C 800A1B7C 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
||||
/* B18D20 800A1B80 8FA30080 */ lw $v1, 0x80($sp)
|
||||
/* B18D24 800A1B84 00026900 */ sll $t5, $v0, 4
|
||||
/* B18D28 800A1B88 000D7702 */ srl $t6, $t5, 0x1c
|
||||
/* B18D2C 800A1B8C 000E7880 */ sll $t7, $t6, 2
|
||||
/* B18D30 800A1B90 030FC021 */ addu $t8, $t8, $t7
|
||||
/* B18D34 800A1B94 8F186FA8 */ lw $t8, %lo(gSegments)($t8)
|
||||
/* B18D38 800A1B98 00416024 */ and $t4, $v0, $at
|
||||
/* B18D3C 800A1B9C 3C018000 */ lui $at, 0x8000
|
||||
/* B18D40 800A1BA0 0198C821 */ addu $t9, $t4, $t8
|
||||
/* B18D44 800A1BA4 03214821 */ addu $t1, $t9, $at
|
||||
/* B18D48 800A1BA8 AFA90074 */ sw $t1, 0x74($sp)
|
||||
/* B18D4C 800A1BAC 846A0000 */ lh $t2, ($v1)
|
||||
/* B18D50 800A1BB0 8FA8004C */ lw $t0, 0x4c($sp)
|
||||
/* B18D54 800A1BB4 27AE0054 */ addiu $t6, $sp, 0x54
|
||||
/* B18D58 800A1BB8 448A2000 */ mtc1 $t2, $f4
|
||||
/* B18D5C 800A1BBC 27AA0054 */ addiu $t2, $sp, 0x54
|
||||
/* B18D60 800A1BC0 24050001 */ li $a1, 1
|
||||
/* B18D64 800A1BC4 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* B18D68 800A1BC8 27A6006C */ addiu $a2, $sp, 0x6c
|
||||
/* B18D6C 800A1BCC 27A7005C */ addiu $a3, $sp, 0x5c
|
||||
/* B18D70 800A1BD0 E7A6005C */ swc1 $f6, 0x5c($sp)
|
||||
/* B18D74 800A1BD4 846B0002 */ lh $t3, 2($v1)
|
||||
/* B18D78 800A1BD8 448B4000 */ mtc1 $t3, $f8
|
||||
/* B18D7C 800A1BDC 00000000 */ nop
|
||||
/* B18D80 800A1BE0 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* B18D84 800A1BE4 E7AA0060 */ swc1 $f10, 0x60($sp)
|
||||
/* B18D88 800A1BE8 846D0004 */ lh $t5, 4($v1)
|
||||
/* B18D8C 800A1BEC 448D8000 */ mtc1 $t5, $f16
|
||||
/* B18D90 800A1BF0 00000000 */ nop
|
||||
/* B18D94 800A1BF4 468084A0 */ cvt.s.w $f18, $f16
|
||||
/* B18D98 800A1BF8 E7B20064 */ swc1 $f18, 0x64($sp)
|
||||
/* B18D9C 800A1BFC 886C0006 */ lwl $t4, 6($v1)
|
||||
/* B18DA0 800A1C00 986C0009 */ lwr $t4, 9($v1)
|
||||
/* B18DA4 800A1C04 ADCC0000 */ sw $t4, ($t6)
|
||||
/* B18DA8 800A1C08 946C000A */ lhu $t4, 0xa($v1)
|
||||
/* B18DAC 800A1C0C A5CC0004 */ sh $t4, 4($t6)
|
||||
/* B18DB0 800A1C10 8FB80074 */ lw $t8, 0x74($sp)
|
||||
/* B18DB4 800A1C14 8FA90088 */ lw $t1, 0x88($sp)
|
||||
/* B18DB8 800A1C18 8FA40078 */ lw $a0, 0x78($sp)
|
||||
/* B18DBC 800A1C1C 8F190008 */ lw $t9, 8($t8)
|
||||
/* B18DC0 800A1C20 AFB90068 */ sw $t9, 0x68($sp)
|
||||
/* B18DC4 800A1C24 11200008 */ beqz $t1, .L800A1C48
|
||||
/* B18DC8 800A1C28 AFB9006C */ sw $t9, 0x6c($sp)
|
||||
/* B18DCC 800A1C2C 8FAB0090 */ lw $t3, 0x90($sp)
|
||||
/* B18DD0 800A1C30 AFAA0010 */ sw $t2, 0x10($sp)
|
||||
/* B18DD4 800A1C34 AFA8004C */ sw $t0, 0x4c($sp)
|
||||
/* B18DD8 800A1C38 0120F809 */ jalr $t1
|
||||
/* B18DDC 800A1C3C AFAB0014 */ sw $t3, 0x14($sp)
|
||||
/* B18DE0 800A1C40 1440002C */ bnez $v0, .L800A1CF4
|
||||
/* B18DE4 800A1C44 8FA8004C */ lw $t0, 0x4c($sp)
|
||||
.L800A1C48:
|
||||
/* B18DE8 800A1C48 27A4005C */ addiu $a0, $sp, 0x5c
|
||||
/* B18DEC 800A1C4C 27A50054 */ addiu $a1, $sp, 0x54
|
||||
/* B18DF0 800A1C50 0C0344D0 */ jal Matrix_TranslateThenRotateZYX
|
||||
/* B18DF4 800A1C54 AFA8004C */ sw $t0, 0x4c($sp)
|
||||
/* B18DF8 800A1C58 8FAD006C */ lw $t5, 0x6c($sp)
|
||||
/* B18DFC 800A1C5C 8FA8004C */ lw $t0, 0x4c($sp)
|
||||
/* B18E00 800A1C60 8FA40050 */ lw $a0, 0x50($sp)
|
||||
/* B18E04 800A1C64 11A00019 */ beqz $t5, .L800A1CCC
|
||||
/* B18E08 800A1C68 3C058014 */ lui $a1, %hi(D_801401FC) # $a1, 0x8014
|
||||
/* B18E0C 800A1C6C 24A501FC */ addiu $a1, %lo(D_801401FC) # addiu $a1, $a1, 0x1fc
|
||||
/* B18E10 800A1C70 2406052F */ li $a2, 1327
|
||||
/* B18E14 800A1C74 0C034695 */ jal Matrix_ToMtx
|
||||
/* B18E18 800A1C78 AFA8004C */ sw $t0, 0x4c($sp)
|
||||
/* B18E1C 800A1C7C 8FA8004C */ lw $t0, 0x4c($sp)
|
||||
/* B18E20 800A1C80 3C0FDA38 */ lui $t7, (0xDA380003 >> 16) # lui $t7, 0xda38
|
||||
/* B18E24 800A1C84 35EF0003 */ ori $t7, (0xDA380003 & 0xFFFF) # ori $t7, $t7, 3
|
||||
/* B18E28 800A1C88 8D0202C0 */ lw $v0, 0x2c0($t0)
|
||||
/* B18E2C 800A1C8C 3C19DE00 */ lui $t9, 0xde00
|
||||
/* B18E30 800A1C90 244E0008 */ addiu $t6, $v0, 8
|
||||
/* B18E34 800A1C94 AD0E02C0 */ sw $t6, 0x2c0($t0)
|
||||
/* B18E38 800A1C98 AC4F0000 */ sw $t7, ($v0)
|
||||
/* B18E3C 800A1C9C 8FAC0050 */ lw $t4, 0x50($sp)
|
||||
/* B18E40 800A1CA0 AC4C0004 */ sw $t4, 4($v0)
|
||||
/* B18E44 800A1CA4 8D0202C0 */ lw $v0, 0x2c0($t0)
|
||||
/* B18E48 800A1CA8 24580008 */ addiu $t8, $v0, 8
|
||||
/* B18E4C 800A1CAC AD1802C0 */ sw $t8, 0x2c0($t0)
|
||||
/* B18E50 800A1CB0 AC590000 */ sw $t9, ($v0)
|
||||
/* B18E54 800A1CB4 8FAA006C */ lw $t2, 0x6c($sp)
|
||||
/* B18E58 800A1CB8 AC4A0004 */ sw $t2, 4($v0)
|
||||
/* B18E5C 800A1CBC 8FAB0050 */ lw $t3, 0x50($sp)
|
||||
/* B18E60 800A1CC0 25690040 */ addiu $t1, $t3, 0x40
|
||||
/* B18E64 800A1CC4 1000000B */ b .L800A1CF4
|
||||
/* B18E68 800A1CC8 AFA90050 */ sw $t1, 0x50($sp)
|
||||
.L800A1CCC:
|
||||
/* B18E6C 800A1CCC 8FAD0068 */ lw $t5, 0x68($sp)
|
||||
/* B18E70 800A1CD0 3C058014 */ lui $a1, %hi(D_80140210) # $a1, 0x8014
|
||||
/* B18E74 800A1CD4 24A50210 */ addiu $a1, %lo(D_80140210) # addiu $a1, $a1, 0x210
|
||||
/* B18E78 800A1CD8 11A00006 */ beqz $t5, .L800A1CF4
|
||||
/* B18E7C 800A1CDC 8FA40050 */ lw $a0, 0x50($sp)
|
||||
/* B18E80 800A1CE0 0C034695 */ jal Matrix_ToMtx
|
||||
/* B18E84 800A1CE4 24060536 */ li $a2, 1334
|
||||
/* B18E88 800A1CE8 8FAE0050 */ lw $t6, 0x50($sp)
|
||||
/* B18E8C 800A1CEC 25CF0040 */ addiu $t7, $t6, 0x40
|
||||
/* B18E90 800A1CF0 AFAF0050 */ sw $t7, 0x50($sp)
|
||||
.L800A1CF4:
|
||||
/* B18E94 800A1CF4 8FA2008C */ lw $v0, 0x8c($sp)
|
||||
/* B18E98 800A1CF8 8FA40078 */ lw $a0, 0x78($sp)
|
||||
/* B18E9C 800A1CFC 24050001 */ li $a1, 1
|
||||
/* B18EA0 800A1D00 10400006 */ beqz $v0, .L800A1D1C
|
||||
/* B18EA4 800A1D04 27A60068 */ addiu $a2, $sp, 0x68
|
||||
/* B18EA8 800A1D08 8FAC0090 */ lw $t4, 0x90($sp)
|
||||
/* B18EAC 800A1D0C 27A70054 */ addiu $a3, $sp, 0x54
|
||||
/* B18EB0 800A1D10 0040F809 */ jalr $v0
|
||||
/* B18EB4 800A1D14 AFAC0010 */ sw $t4, 0x10($sp)
|
||||
/* B18EB8 800A1D18 8FA2008C */ lw $v0, 0x8c($sp)
|
||||
.L800A1D1C:
|
||||
/* B18EBC 800A1D1C 8FB80074 */ lw $t8, 0x74($sp)
|
||||
/* B18EC0 800A1D20 240100FF */ li $at, 255
|
||||
/* B18EC4 800A1D24 8FA40078 */ lw $a0, 0x78($sp)
|
||||
/* B18EC8 800A1D28 93050006 */ lbu $a1, 6($t8)
|
||||
/* B18ECC 800A1D2C 8FA6007C */ lw $a2, 0x7c($sp)
|
||||
/* B18ED0 800A1D30 8FA70080 */ lw $a3, 0x80($sp)
|
||||
/* B18ED4 800A1D34 10A10008 */ beq $a1, $at, .L800A1D58
|
||||
/* B18ED8 800A1D38 8FB90088 */ lw $t9, 0x88($sp)
|
||||
/* B18EDC 800A1D3C 8FAA0090 */ lw $t2, 0x90($sp)
|
||||
/* B18EE0 800A1D40 27AB0050 */ addiu $t3, $sp, 0x50
|
||||
/* B18EE4 800A1D44 AFAB001C */ sw $t3, 0x1c($sp)
|
||||
/* B18EE8 800A1D48 AFB90010 */ sw $t9, 0x10($sp)
|
||||
/* B18EEC 800A1D4C AFA20014 */ sw $v0, 0x14($sp)
|
||||
/* B18EF0 800A1D50 0C028603 */ jal SkelAnime_DrawLimbSV
|
||||
/* B18EF4 800A1D54 AFAA0018 */ sw $t2, 0x18($sp)
|
||||
.L800A1D58:
|
||||
/* B18EF8 800A1D58 0C034221 */ jal Matrix_Pull
|
||||
/* B18EFC 800A1D5C 00000000 */ nop
|
||||
/* B18F00 800A1D60 8FA90078 */ lw $t1, 0x78($sp)
|
||||
/* B18F04 800A1D64 3C068014 */ lui $a2, %hi(D_80140224) # $a2, 0x8014
|
||||
/* B18F08 800A1D68 24C60224 */ addiu $a2, %lo(D_80140224) # addiu $a2, $a2, 0x224
|
||||
/* B18F0C 800A1D6C 27A4003C */ addiu $a0, $sp, 0x3c
|
||||
/* B18F10 800A1D70 24070543 */ li $a3, 1347
|
||||
/* B18F14 800A1D74 0C031AD5 */ jal func_800C6B54
|
||||
/* B18F18 800A1D78 8D250000 */ lw $a1, ($t1)
|
||||
/* B18F1C 800A1D7C 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L800A1D80:
|
||||
/* B18F20 800A1D80 27BD0078 */ addiu $sp, $sp, 0x78
|
||||
/* B18F24 800A1D84 03E00008 */ jr $ra
|
||||
/* B18F28 800A1D88 00000000 */ nop
|
||||
|
|
@ -1,100 +0,0 @@
|
|||
glabel SkelAnime_LinkChangeAnimation
|
||||
/* B1B0A8 800A3F08 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* B1B0AC 800A3F0C C7AC0044 */ lwc1 $f12, 0x44($sp)
|
||||
/* B1B0B0 800A3F10 44802000 */ mtc1 $zero, $f4
|
||||
/* B1B0B4 800A3F14 93AE0043 */ lbu $t6, 0x43($sp)
|
||||
/* B1B0B8 800A3F18 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* B1B0BC 800A3F1C 46046032 */ c.eq.s $f12, $f4
|
||||
/* B1B0C0 800A3F20 AFB10020 */ sw $s1, 0x20($sp)
|
||||
/* B1B0C4 800A3F24 AFB0001C */ sw $s0, 0x1c($sp)
|
||||
/* B1B0C8 800A3F28 AFA40028 */ sw $a0, 0x28($sp)
|
||||
/* B1B0CC 800A3F2C AFA70034 */ sw $a3, 0x34($sp)
|
||||
/* B1B0D0 800A3F30 00A08025 */ move $s0, $a1
|
||||
/* B1B0D4 800A3F34 00C08825 */ move $s1, $a2
|
||||
/* B1B0D8 800A3F38 4501002D */ bc1t .L800A3FF0
|
||||
/* B1B0DC 800A3F3C A0AE0001 */ sb $t6, 1($a1)
|
||||
/* B1B0E0 800A3F40 8CAF0008 */ lw $t7, 8($a1)
|
||||
/* B1B0E4 800A3F44 C7A60038 */ lwc1 $f6, 0x38($sp)
|
||||
/* B1B0E8 800A3F48 54CF0007 */ bnel $a2, $t7, .L800A3F68
|
||||
/* B1B0EC 800A3F4C 44805000 */ mtc1 $zero, $f10
|
||||
/* B1B0F0 800A3F50 C4A80018 */ lwc1 $f8, 0x18($a1)
|
||||
/* B1B0F4 800A3F54 46083032 */ c.eq.s $f6, $f8
|
||||
/* B1B0F8 800A3F58 00000000 */ nop
|
||||
/* B1B0FC 800A3F5C 45010024 */ bc1t .L800A3FF0
|
||||
/* B1B100 800A3F60 00000000 */ nop
|
||||
/* B1B104 800A3F64 44805000 */ mtc1 $zero, $f10
|
||||
.L800A3F68:
|
||||
/* B1B108 800A3F68 3C18800A */ lui $t8, %hi(func_800A3BE4) # $t8, 0x800a
|
||||
/* B1B10C 800A3F6C 02002025 */ move $a0, $s0
|
||||
/* B1B110 800A3F70 460A603C */ c.lt.s $f12, $f10
|
||||
/* B1B114 800A3F74 27183BE4 */ addiu $t8, %lo(func_800A3BE4) # addiu $t8, $t8, 0x3be4
|
||||
/* B1B118 800A3F78 4502000B */ bc1fl .L800A3FA8
|
||||
/* B1B11C 800A3F7C AE180030 */ sw $t8, 0x30($s0)
|
||||
/* B1B120 800A3F80 0C028EE3 */ jal func_800A3B8C
|
||||
/* B1B124 800A3F84 E7AC0044 */ swc1 $f12, 0x44($sp)
|
||||
/* B1B128 800A3F88 02002025 */ move $a0, $s0
|
||||
/* B1B12C 800A3F8C 8E050024 */ lw $a1, 0x24($s0)
|
||||
/* B1B130 800A3F90 0C0295DD */ jal SkelAnime_CopyVec3s
|
||||
/* B1B134 800A3F94 8E060020 */ lw $a2, 0x20($s0)
|
||||
/* B1B138 800A3F98 C7AC0044 */ lwc1 $f12, 0x44($sp)
|
||||
/* B1B13C 800A3F9C 1000000D */ b .L800A3FD4
|
||||
/* B1B140 800A3FA0 46006307 */ neg.s $f12, $f12
|
||||
/* B1B144 800A3FA4 AE180030 */ sw $t8, 0x30($s0)
|
||||
.L800A3FA8:
|
||||
/* B1B148 800A3FA8 C7B00038 */ lwc1 $f16, 0x38($sp)
|
||||
/* B1B14C 800A3FAC 8E080024 */ lw $t0, 0x24($s0)
|
||||
/* B1B150 800A3FB0 92070000 */ lbu $a3, ($s0)
|
||||
/* B1B154 800A3FB4 4600848D */ trunc.w.s $f18, $f16
|
||||
/* B1B158 800A3FB8 E7AC0044 */ swc1 $f12, 0x44($sp)
|
||||
/* B1B15C 800A3FBC 8FA40028 */ lw $a0, 0x28($sp)
|
||||
/* B1B160 800A3FC0 02202825 */ move $a1, $s1
|
||||
/* B1B164 800A3FC4 44069000 */ mfc1 $a2, $f18
|
||||
/* B1B168 800A3FC8 0C028CDB */ jal SkelAnime_LoadLinkAnimetion
|
||||
/* B1B16C 800A3FCC AFA80010 */ sw $t0, 0x10($sp)
|
||||
/* B1B170 800A3FD0 C7AC0044 */ lwc1 $f12, 0x44($sp)
|
||||
.L800A3FD4:
|
||||
/* B1B174 800A3FD4 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B1B178 800A3FD8 44810000 */ mtc1 $at, $f0
|
||||
/* B1B17C 800A3FDC 00000000 */ nop
|
||||
/* B1B180 800A3FE0 460C0103 */ div.s $f4, $f0, $f12
|
||||
/* B1B184 800A3FE4 E6000028 */ swc1 $f0, 0x28($s0)
|
||||
/* B1B188 800A3FE8 10000010 */ b .L800A402C
|
||||
/* B1B18C 800A3FEC E604002C */ swc1 $f4, 0x2c($s0)
|
||||
.L800A3FF0:
|
||||
/* B1B190 800A3FF0 0C028EE3 */ jal func_800A3B8C
|
||||
/* B1B194 800A3FF4 02002025 */ move $a0, $s0
|
||||
/* B1B198 800A3FF8 C7A60038 */ lwc1 $f6, 0x38($sp)
|
||||
/* B1B19C 800A3FFC 8E0A0020 */ lw $t2, 0x20($s0)
|
||||
/* B1B1A0 800A4000 92070000 */ lbu $a3, ($s0)
|
||||
/* B1B1A4 800A4004 4600320D */ trunc.w.s $f8, $f6
|
||||
/* B1B1A8 800A4008 8FA40028 */ lw $a0, 0x28($sp)
|
||||
/* B1B1AC 800A400C 02202825 */ move $a1, $s1
|
||||
/* B1B1B0 800A4010 AFAA0010 */ sw $t2, 0x10($sp)
|
||||
/* B1B1B4 800A4014 44064000 */ mfc1 $a2, $f8
|
||||
/* B1B1B8 800A4018 0C028CDB */ jal SkelAnime_LoadLinkAnimetion
|
||||
/* B1B1BC 800A401C 00000000 */ nop
|
||||
/* B1B1C0 800A4020 44805000 */ mtc1 $zero, $f10
|
||||
/* B1B1C4 800A4024 00000000 */ nop
|
||||
/* B1B1C8 800A4028 E60A0028 */ swc1 $f10, 0x28($s0)
|
||||
.L800A402C:
|
||||
/* B1B1CC 800A402C AE110008 */ sw $s1, 8($s0)
|
||||
/* B1B1D0 800A4030 C7B00038 */ lwc1 $f16, 0x38($sp)
|
||||
/* B1B1D4 800A4034 02202025 */ move $a0, $s1
|
||||
/* B1B1D8 800A4038 E610000C */ swc1 $f16, 0xc($s0)
|
||||
/* B1B1DC 800A403C C7B20038 */ lwc1 $f18, 0x38($sp)
|
||||
/* B1B1E0 800A4040 E6120018 */ swc1 $f18, 0x18($s0)
|
||||
/* B1B1E4 800A4044 C7A4003C */ lwc1 $f4, 0x3c($sp)
|
||||
/* B1B1E8 800A4048 0C0287F2 */ jal SkelAnime_GetTotalFrames
|
||||
/* B1B1EC 800A404C E6040010 */ swc1 $f4, 0x10($s0)
|
||||
/* B1B1F0 800A4050 44823000 */ mtc1 $v0, $f6
|
||||
/* B1B1F4 800A4054 00000000 */ nop
|
||||
/* B1B1F8 800A4058 46803220 */ cvt.s.w $f8, $f6
|
||||
/* B1B1FC 800A405C E6080014 */ swc1 $f8, 0x14($s0)
|
||||
/* B1B200 800A4060 C7AA0034 */ lwc1 $f10, 0x34($sp)
|
||||
/* B1B204 800A4064 E60A001C */ swc1 $f10, 0x1c($s0)
|
||||
/* B1B208 800A4068 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* B1B20C 800A406C 8FB10020 */ lw $s1, 0x20($sp)
|
||||
/* B1B210 800A4070 8FB0001C */ lw $s0, 0x1c($sp)
|
||||
/* B1B214 800A4074 03E00008 */ jr $ra
|
||||
/* B1B218 800A4078 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
|
|
@ -1,208 +0,0 @@
|
|||
.rdata
|
||||
glabel D_8013FFF8
|
||||
.asciz "../z_skelanime.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_8014000C
|
||||
.asciz "../z_skelanime.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80140020
|
||||
.asciz "../z_skelanime.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80140034
|
||||
.asciz "../z_skelanime.c"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel SkelAnime_LodDrawLimbSV
|
||||
/* B17F34 800A0D94 27BDFF90 */ addiu $sp, $sp, -0x70
|
||||
/* B17F38 800A0D98 AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* B17F3C 800A0D9C AFA40070 */ sw $a0, 0x70($sp)
|
||||
/* B17F40 800A0DA0 AFA50074 */ sw $a1, 0x74($sp)
|
||||
/* B17F44 800A0DA4 AFA60078 */ sw $a2, 0x78($sp)
|
||||
/* B17F48 800A0DA8 0C034213 */ jal Matrix_Push
|
||||
/* B17F4C 800A0DAC AFA7007C */ sw $a3, 0x7c($sp)
|
||||
/* B17F50 800A0DB0 8FAF0074 */ lw $t7, 0x74($sp)
|
||||
/* B17F54 800A0DB4 8FAE0078 */ lw $t6, 0x78($sp)
|
||||
/* B17F58 800A0DB8 3C0D8016 */ lui $t5, %hi(gSegments)
|
||||
/* B17F5C 800A0DBC 000FC080 */ sll $t8, $t7, 2
|
||||
/* B17F60 800A0DC0 01D8C821 */ addu $t9, $t6, $t8
|
||||
/* B17F64 800A0DC4 8F220000 */ lw $v0, ($t9)
|
||||
/* B17F68 800A0DC8 25EE0001 */ addiu $t6, $t7, 1
|
||||
/* B17F6C 800A0DCC 8FB9007C */ lw $t9, 0x7c($sp)
|
||||
/* B17F70 800A0DD0 00025100 */ sll $t2, $v0, 4
|
||||
/* B17F74 800A0DD4 000A5F02 */ srl $t3, $t2, 0x1c
|
||||
/* B17F78 800A0DD8 000B6080 */ sll $t4, $t3, 2
|
||||
/* B17F7C 800A0DDC 01AC6821 */ addu $t5, $t5, $t4
|
||||
/* B17F80 800A0DE0 8DAD6FA8 */ lw $t5, %lo(gSegments)($t5)
|
||||
/* B17F84 800A0DE4 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
|
||||
/* B17F88 800A0DE8 000E5080 */ sll $t2, $t6, 2
|
||||
/* B17F8C 800A0DEC 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
||||
/* B17F90 800A0DF0 014E5023 */ subu $t2, $t2, $t6
|
||||
/* B17F94 800A0DF4 000A5040 */ sll $t2, $t2, 1
|
||||
/* B17F98 800A0DF8 00414824 */ and $t1, $v0, $at
|
||||
/* B17F9C 800A0DFC AFAE0074 */ sw $t6, 0x74($sp)
|
||||
/* B17FA0 800A0E00 032A5821 */ addu $t3, $t9, $t2
|
||||
/* B17FA4 800A0E04 012D1821 */ addu $v1, $t1, $t5
|
||||
/* B17FA8 800A0E08 89690000 */ lwl $t1, ($t3)
|
||||
/* B17FAC 800A0E0C 99690003 */ lwr $t1, 3($t3)
|
||||
/* B17FB0 800A0E10 27B80050 */ addiu $t8, $sp, 0x50
|
||||
/* B17FB4 800A0E14 3C018000 */ lui $at, 0x8000
|
||||
/* B17FB8 800A0E18 AF090000 */ sw $t1, ($t8)
|
||||
/* B17FBC 800A0E1C 95690004 */ lhu $t1, 4($t3)
|
||||
/* B17FC0 800A0E20 00611821 */ addu $v1, $v1, $at
|
||||
/* B17FC4 800A0E24 27A60068 */ addiu $a2, $sp, 0x68
|
||||
/* B17FC8 800A0E28 A7090004 */ sh $t1, 4($t8)
|
||||
/* B17FCC 800A0E2C 846D0000 */ lh $t5, ($v1)
|
||||
/* B17FD0 800A0E30 8FB9008C */ lw $t9, 0x8c($sp)
|
||||
/* B17FD4 800A0E34 8FAC0080 */ lw $t4, 0x80($sp)
|
||||
/* B17FD8 800A0E38 448D2000 */ mtc1 $t5, $f4
|
||||
/* B17FDC 800A0E3C 00195080 */ sll $t2, $t9, 2
|
||||
/* B17FE0 800A0E40 006AC021 */ addu $t8, $v1, $t2
|
||||
/* B17FE4 800A0E44 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* B17FE8 800A0E48 8FA50074 */ lw $a1, 0x74($sp)
|
||||
/* B17FEC 800A0E4C 8FA40070 */ lw $a0, 0x70($sp)
|
||||
/* B17FF0 800A0E50 27A90050 */ addiu $t1, $sp, 0x50
|
||||
/* B17FF4 800A0E54 27A70058 */ addiu $a3, $sp, 0x58
|
||||
/* B17FF8 800A0E58 E7A60058 */ swc1 $f6, 0x58($sp)
|
||||
/* B17FFC 800A0E5C 846F0002 */ lh $t7, 2($v1)
|
||||
/* B18000 800A0E60 448F4000 */ mtc1 $t7, $f8
|
||||
/* B18004 800A0E64 00000000 */ nop
|
||||
/* B18008 800A0E68 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* B1800C 800A0E6C E7AA005C */ swc1 $f10, 0x5c($sp)
|
||||
/* B18010 800A0E70 846E0004 */ lh $t6, 4($v1)
|
||||
/* B18014 800A0E74 448E8000 */ mtc1 $t6, $f16
|
||||
/* B18018 800A0E78 00000000 */ nop
|
||||
/* B1801C 800A0E7C 468084A0 */ cvt.s.w $f18, $f16
|
||||
/* B18020 800A0E80 E7B20060 */ swc1 $f18, 0x60($sp)
|
||||
/* B18024 800A0E84 8F0B0008 */ lw $t3, 8($t8)
|
||||
/* B18028 800A0E88 AFA3006C */ sw $v1, 0x6c($sp)
|
||||
/* B1802C 800A0E8C AFAB0064 */ sw $t3, 0x64($sp)
|
||||
/* B18030 800A0E90 11800007 */ beqz $t4, .L800A0EB0
|
||||
/* B18034 800A0E94 AFAB0068 */ sw $t3, 0x68($sp)
|
||||
/* B18038 800A0E98 8FAD0088 */ lw $t5, 0x88($sp)
|
||||
/* B1803C 800A0E9C AFA90010 */ sw $t1, 0x10($sp)
|
||||
/* B18040 800A0EA0 AFA3006C */ sw $v1, 0x6c($sp)
|
||||
/* B18044 800A0EA4 0180F809 */ jalr $t4
|
||||
/* B18048 800A0EA8 AFAD0014 */ sw $t5, 0x14($sp)
|
||||
/* B1804C 800A0EAC 1440003C */ bnez $v0, .L800A0FA0
|
||||
.L800A0EB0:
|
||||
/* B18050 800A0EB0 27A40058 */ addiu $a0, $sp, 0x58
|
||||
/* B18054 800A0EB4 0C0344D0 */ jal Matrix_TranslateThenRotateZYX
|
||||
/* B18058 800A0EB8 27A50050 */ addiu $a1, $sp, 0x50
|
||||
/* B1805C 800A0EBC 8FAF0068 */ lw $t7, 0x68($sp)
|
||||
/* B18060 800A0EC0 8FAE0090 */ lw $t6, 0x90($sp)
|
||||
/* B18064 800A0EC4 3C058014 */ lui $a1, %hi(D_8013FFF8) # $a1, 0x8014
|
||||
/* B18068 800A0EC8 11E0002A */ beqz $t7, .L800A0F74
|
||||
/* B1806C 800A0ECC 8FAB0064 */ lw $t3, 0x64($sp)
|
||||
/* B18070 800A0ED0 8DC40000 */ lw $a0, ($t6)
|
||||
/* B18074 800A0ED4 24A5FFF8 */ addiu $a1, %lo(D_8013FFF8) # addiu $a1, $a1, -8
|
||||
/* B18078 800A0ED8 0C034695 */ jal Matrix_ToMtx
|
||||
/* B1807C 800A0EDC 240603B1 */ li $a2, 945
|
||||
/* B18080 800A0EE0 8FB90070 */ lw $t9, 0x70($sp)
|
||||
/* B18084 800A0EE4 3C068014 */ lui $a2, %hi(D_8014000C) # $a2, 0x8014
|
||||
/* B18088 800A0EE8 24C6000C */ addiu $a2, %lo(D_8014000C) # addiu $a2, $a2, 0xc
|
||||
/* B1808C 800A0EEC 8F250000 */ lw $a1, ($t9)
|
||||
/* B18090 800A0EF0 27A4003C */ addiu $a0, $sp, 0x3c
|
||||
/* B18094 800A0EF4 240703B2 */ li $a3, 946
|
||||
/* B18098 800A0EF8 0C031AB1 */ jal func_800C6AC4
|
||||
/* B1809C 800A0EFC AFA5004C */ sw $a1, 0x4c($sp)
|
||||
/* B180A0 800A0F00 8FA8004C */ lw $t0, 0x4c($sp)
|
||||
/* B180A4 800A0F04 3C18DA38 */ lui $t8, (0xDA380003 >> 16) # lui $t8, 0xda38
|
||||
/* B180A8 800A0F08 37180003 */ ori $t8, (0xDA380003 & 0xFFFF) # ori $t8, $t8, 3
|
||||
/* B180AC 800A0F0C 8D0302C0 */ lw $v1, 0x2c0($t0)
|
||||
/* B180B0 800A0F10 3C0CDE00 */ lui $t4, 0xde00
|
||||
/* B180B4 800A0F14 3C068014 */ lui $a2, %hi(D_80140020) # $a2, 0x8014
|
||||
/* B180B8 800A0F18 246A0008 */ addiu $t2, $v1, 8
|
||||
/* B180BC 800A0F1C AD0A02C0 */ sw $t2, 0x2c0($t0)
|
||||
/* B180C0 800A0F20 AC780000 */ sw $t8, ($v1)
|
||||
/* B180C4 800A0F24 8FAB0090 */ lw $t3, 0x90($sp)
|
||||
/* B180C8 800A0F28 24C60020 */ addiu $a2, %lo(D_80140020) # addiu $a2, $a2, 0x20
|
||||
/* B180CC 800A0F2C 27A4003C */ addiu $a0, $sp, 0x3c
|
||||
/* B180D0 800A0F30 8D690000 */ lw $t1, ($t3)
|
||||
/* B180D4 800A0F34 240703B5 */ li $a3, 949
|
||||
/* B180D8 800A0F38 AC690004 */ sw $t1, 4($v1)
|
||||
/* B180DC 800A0F3C 8D0302C0 */ lw $v1, 0x2c0($t0)
|
||||
/* B180E0 800A0F40 246D0008 */ addiu $t5, $v1, 8
|
||||
/* B180E4 800A0F44 AD0D02C0 */ sw $t5, 0x2c0($t0)
|
||||
/* B180E8 800A0F48 AC6C0000 */ sw $t4, ($v1)
|
||||
/* B180EC 800A0F4C 8FAF0068 */ lw $t7, 0x68($sp)
|
||||
/* B180F0 800A0F50 AC6F0004 */ sw $t7, 4($v1)
|
||||
/* B180F4 800A0F54 8FAE0070 */ lw $t6, 0x70($sp)
|
||||
/* B180F8 800A0F58 0C031AD5 */ jal func_800C6B54
|
||||
/* B180FC 800A0F5C 8DC50000 */ lw $a1, ($t6)
|
||||
/* B18100 800A0F60 8FB90090 */ lw $t9, 0x90($sp)
|
||||
/* B18104 800A0F64 8F2A0000 */ lw $t2, ($t9)
|
||||
/* B18108 800A0F68 25580040 */ addiu $t8, $t2, 0x40
|
||||
/* B1810C 800A0F6C 1000000C */ b .L800A0FA0
|
||||
/* B18110 800A0F70 AF380000 */ sw $t8, ($t9)
|
||||
.L800A0F74:
|
||||
/* B18114 800A0F74 1160000A */ beqz $t3, .L800A0FA0
|
||||
/* B18118 800A0F78 8FA90090 */ lw $t1, 0x90($sp)
|
||||
/* B1811C 800A0F7C 3C058014 */ lui $a1, %hi(D_80140034) # $a1, 0x8014
|
||||
/* B18120 800A0F80 24A50034 */ addiu $a1, %lo(D_80140034) # addiu $a1, $a1, 0x34
|
||||
/* B18124 800A0F84 8D240000 */ lw $a0, ($t1)
|
||||
/* B18128 800A0F88 0C034695 */ jal Matrix_ToMtx
|
||||
/* B1812C 800A0F8C 240603BA */ li $a2, 954
|
||||
/* B18130 800A0F90 8FAD0090 */ lw $t5, 0x90($sp)
|
||||
/* B18134 800A0F94 8DAC0000 */ lw $t4, ($t5)
|
||||
/* B18138 800A0F98 258F0040 */ addiu $t7, $t4, 0x40
|
||||
/* B1813C 800A0F9C ADAF0000 */ sw $t7, ($t5)
|
||||
.L800A0FA0:
|
||||
/* B18140 800A0FA0 8FAE0084 */ lw $t6, 0x84($sp)
|
||||
/* B18144 800A0FA4 8FA40070 */ lw $a0, 0x70($sp)
|
||||
/* B18148 800A0FA8 8FA50074 */ lw $a1, 0x74($sp)
|
||||
/* B1814C 800A0FAC 11C00005 */ beqz $t6, .L800A0FC4
|
||||
/* B18150 800A0FB0 27A60064 */ addiu $a2, $sp, 0x64
|
||||
/* B18154 800A0FB4 8FAA0088 */ lw $t2, 0x88($sp)
|
||||
/* B18158 800A0FB8 27A70050 */ addiu $a3, $sp, 0x50
|
||||
/* B1815C 800A0FBC 01C0F809 */ jalr $t6
|
||||
/* B18160 800A0FC0 AFAA0010 */ sw $t2, 0x10($sp)
|
||||
.L800A0FC4:
|
||||
/* B18164 800A0FC4 8FB8006C */ lw $t8, 0x6c($sp)
|
||||
/* B18168 800A0FC8 240100FF */ li $at, 255
|
||||
/* B1816C 800A0FCC 8FA40070 */ lw $a0, 0x70($sp)
|
||||
/* B18170 800A0FD0 93050006 */ lbu $a1, 6($t8)
|
||||
/* B18174 800A0FD4 8FA60078 */ lw $a2, 0x78($sp)
|
||||
/* B18178 800A0FD8 8FA7007C */ lw $a3, 0x7c($sp)
|
||||
/* B1817C 800A0FDC 10A1000B */ beq $a1, $at, .L800A100C
|
||||
/* B18180 800A0FE0 8FB90080 */ lw $t9, 0x80($sp)
|
||||
/* B18184 800A0FE4 8FAB0084 */ lw $t3, 0x84($sp)
|
||||
/* B18188 800A0FE8 8FA90088 */ lw $t1, 0x88($sp)
|
||||
/* B1818C 800A0FEC 8FAC008C */ lw $t4, 0x8c($sp)
|
||||
/* B18190 800A0FF0 8FAF0090 */ lw $t7, 0x90($sp)
|
||||
/* B18194 800A0FF4 AFB90010 */ sw $t9, 0x10($sp)
|
||||
/* B18198 800A0FF8 AFAB0014 */ sw $t3, 0x14($sp)
|
||||
/* B1819C 800A0FFC AFA90018 */ sw $t1, 0x18($sp)
|
||||
/* B181A0 800A1000 AFAC001C */ sw $t4, 0x1c($sp)
|
||||
/* B181A4 800A1004 0C028365 */ jal SkelAnime_LodDrawLimbSV
|
||||
/* B181A8 800A1008 AFAF0020 */ sw $t7, 0x20($sp)
|
||||
.L800A100C:
|
||||
/* B181AC 800A100C 0C034221 */ jal Matrix_Pull
|
||||
/* B181B0 800A1010 00000000 */ nop
|
||||
/* B181B4 800A1014 8FAD006C */ lw $t5, 0x6c($sp)
|
||||
/* B181B8 800A1018 240100FF */ li $at, 255
|
||||
/* B181BC 800A101C 8FA40070 */ lw $a0, 0x70($sp)
|
||||
/* B181C0 800A1020 91A50007 */ lbu $a1, 7($t5)
|
||||
/* B181C4 800A1024 8FA60078 */ lw $a2, 0x78($sp)
|
||||
/* B181C8 800A1028 8FA7007C */ lw $a3, 0x7c($sp)
|
||||
/* B181CC 800A102C 10A1000B */ beq $a1, $at, .L800A105C
|
||||
/* B181D0 800A1030 8FAA0080 */ lw $t2, 0x80($sp)
|
||||
/* B181D4 800A1034 8FAE0084 */ lw $t6, 0x84($sp)
|
||||
/* B181D8 800A1038 8FB80088 */ lw $t8, 0x88($sp)
|
||||
/* B181DC 800A103C 8FB9008C */ lw $t9, 0x8c($sp)
|
||||
/* B181E0 800A1040 8FAB0090 */ lw $t3, 0x90($sp)
|
||||
/* B181E4 800A1044 AFAA0010 */ sw $t2, 0x10($sp)
|
||||
/* B181E8 800A1048 AFAE0014 */ sw $t6, 0x14($sp)
|
||||
/* B181EC 800A104C AFB80018 */ sw $t8, 0x18($sp)
|
||||
/* B181F0 800A1050 AFB9001C */ sw $t9, 0x1c($sp)
|
||||
/* B181F4 800A1054 0C028365 */ jal SkelAnime_LodDrawLimbSV
|
||||
/* B181F8 800A1058 AFAB0020 */ sw $t3, 0x20($sp)
|
||||
.L800A105C:
|
||||
/* B181FC 800A105C 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* B18200 800A1060 27BD0070 */ addiu $sp, $sp, 0x70
|
||||
/* B18204 800A1064 03E00008 */ jr $ra
|
||||
/* B18208 800A1068 00000000 */ nop
|
||||
|
|
@ -1,222 +0,0 @@
|
|||
.rdata
|
||||
glabel D_80140048
|
||||
.asciz "\x1b[31m"
|
||||
.balign 4
|
||||
|
||||
glabel D_80140050
|
||||
.asciz "Si2_Lod_draw_SV():skelがNULLです。\n"
|
||||
# EUC-JP: がNULLです。| Is null
|
||||
.balign 4
|
||||
|
||||
glabel D_80140074
|
||||
.asciz "\x1b[m"
|
||||
.balign 4
|
||||
|
||||
glabel D_80140078
|
||||
.asciz "../z_skelanime.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_8014008C
|
||||
.asciz "../z_skelanime.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_801400A0
|
||||
.asciz "../z_skelanime.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_801400B4
|
||||
.asciz "../z_skelanime.c"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel SkelAnime_LodDrawSV
|
||||
/* B1820C 800A106C 27BDFF80 */ addiu $sp, $sp, -0x80
|
||||
/* B18210 800A1070 AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* B18214 800A1074 AFA40080 */ sw $a0, 0x80($sp)
|
||||
/* B18218 800A1078 AFA50084 */ sw $a1, 0x84($sp)
|
||||
/* B1821C 800A107C AFA60088 */ sw $a2, 0x88($sp)
|
||||
/* B18220 800A1080 8C840000 */ lw $a0, ($a0)
|
||||
/* B18224 800A1084 0C031A73 */ jal Graph_Alloc
|
||||
/* B18228 800A1088 00072980 */ sll $a1, $a3, 6
|
||||
/* B1822C 800A108C 8FAF0084 */ lw $t7, 0x84($sp)
|
||||
/* B18230 800A1090 AFA20058 */ sw $v0, 0x58($sp)
|
||||
/* B18234 800A1094 8FB80080 */ lw $t8, 0x80($sp)
|
||||
/* B18238 800A1098 15E0000C */ bnez $t7, .L800A10CC
|
||||
/* B1823C 800A109C 27A40044 */ addiu $a0, $sp, 0x44
|
||||
/* B18240 800A10A0 3C048014 */ lui $a0, %hi(D_80140048) # $a0, 0x8014
|
||||
/* B18244 800A10A4 0C00084C */ jal osSyncPrintf
|
||||
/* B18248 800A10A8 24840048 */ addiu $a0, %lo(D_80140048) # addiu $a0, $a0, 0x48
|
||||
/* B1824C 800A10AC 3C048014 */ lui $a0, %hi(D_80140050) # $a0, 0x8014
|
||||
/* B18250 800A10B0 0C00084C */ jal osSyncPrintf
|
||||
/* B18254 800A10B4 24840050 */ addiu $a0, %lo(D_80140050) # addiu $a0, $a0, 0x50
|
||||
/* B18258 800A10B8 3C048014 */ lui $a0, %hi(D_80140074) # $a0, 0x8014
|
||||
/* B1825C 800A10BC 0C00084C */ jal osSyncPrintf
|
||||
/* B18260 800A10C0 24840074 */ addiu $a0, %lo(D_80140074) # addiu $a0, $a0, 0x74
|
||||
/* B18264 800A10C4 1000009C */ b .L800A1338
|
||||
/* B18268 800A10C8 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
.L800A10CC:
|
||||
/* B1826C 800A10CC 8F050000 */ lw $a1, ($t8)
|
||||
/* B18270 800A10D0 3C068014 */ lui $a2, %hi(D_80140078) # $a2, 0x8014
|
||||
/* B18274 800A10D4 24C60078 */ addiu $a2, %lo(D_80140078) # addiu $a2, $a2, 0x78
|
||||
/* B18278 800A10D8 240703E8 */ li $a3, 1000
|
||||
/* B1827C 800A10DC 0C031AB1 */ jal func_800C6AC4
|
||||
/* B18280 800A10E0 AFA50054 */ sw $a1, 0x54($sp)
|
||||
/* B18284 800A10E4 8FA80054 */ lw $t0, 0x54($sp)
|
||||
/* B18288 800A10E8 3C09DB06 */ lui $t1, (0xDB060034 >> 16) # lui $t1, 0xdb06
|
||||
/* B1828C 800A10EC 35290034 */ ori $t1, (0xDB060034 & 0xFFFF) # ori $t1, $t1, 0x34
|
||||
/* B18290 800A10F0 8D0202C0 */ lw $v0, 0x2c0($t0)
|
||||
/* B18294 800A10F4 24590008 */ addiu $t9, $v0, 8
|
||||
/* B18298 800A10F8 AD1902C0 */ sw $t9, 0x2c0($t0)
|
||||
/* B1829C 800A10FC AC490000 */ sw $t1, ($v0)
|
||||
/* B182A0 800A1100 8FAA0058 */ lw $t2, 0x58($sp)
|
||||
/* B182A4 800A1104 AC4A0004 */ sw $t2, 4($v0)
|
||||
/* B182A8 800A1108 0C034213 */ jal Matrix_Push
|
||||
/* B182AC 800A110C AFA80054 */ sw $t0, 0x54($sp)
|
||||
/* B182B0 800A1110 8FAB0084 */ lw $t3, 0x84($sp)
|
||||
/* B182B4 800A1114 3C188016 */ lui $t8, %hi(gSegments)
|
||||
/* B182B8 800A1118 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
|
||||
/* B182BC 800A111C 8D620000 */ lw $v0, ($t3)
|
||||
/* B182C0 800A1120 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
||||
/* B182C4 800A1124 8FA30088 */ lw $v1, 0x88($sp)
|
||||
/* B182C8 800A1128 00026900 */ sll $t5, $v0, 4
|
||||
/* B182CC 800A112C 000D7702 */ srl $t6, $t5, 0x1c
|
||||
/* B182D0 800A1130 000E7880 */ sll $t7, $t6, 2
|
||||
/* B182D4 800A1134 030FC021 */ addu $t8, $t8, $t7
|
||||
/* B182D8 800A1138 8F186FA8 */ lw $t8, %lo(gSegments)($t8)
|
||||
/* B182DC 800A113C 00416024 */ and $t4, $v0, $at
|
||||
/* B182E0 800A1140 3C018000 */ lui $at, 0x8000
|
||||
/* B182E4 800A1144 0198C821 */ addu $t9, $t4, $t8
|
||||
/* B182E8 800A1148 03214821 */ addu $t1, $t9, $at
|
||||
/* B182EC 800A114C AFA9007C */ sw $t1, 0x7c($sp)
|
||||
/* B182F0 800A1150 846A0000 */ lh $t2, ($v1)
|
||||
/* B182F4 800A1154 8FA80054 */ lw $t0, 0x54($sp)
|
||||
/* B182F8 800A1158 27AE005C */ addiu $t6, $sp, 0x5c
|
||||
/* B182FC 800A115C 448A2000 */ mtc1 $t2, $f4
|
||||
/* B18300 800A1160 24050001 */ li $a1, 1
|
||||
/* B18304 800A1164 27A60074 */ addiu $a2, $sp, 0x74
|
||||
/* B18308 800A1168 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* B1830C 800A116C 27A70064 */ addiu $a3, $sp, 0x64
|
||||
/* B18310 800A1170 E7A60064 */ swc1 $f6, 0x64($sp)
|
||||
/* B18314 800A1174 846B0002 */ lh $t3, 2($v1)
|
||||
/* B18318 800A1178 448B4000 */ mtc1 $t3, $f8
|
||||
/* B1831C 800A117C 00000000 */ nop
|
||||
/* B18320 800A1180 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* B18324 800A1184 E7AA0068 */ swc1 $f10, 0x68($sp)
|
||||
/* B18328 800A1188 846D0004 */ lh $t5, 4($v1)
|
||||
/* B1832C 800A118C 448D8000 */ mtc1 $t5, $f16
|
||||
/* B18330 800A1190 00000000 */ nop
|
||||
/* B18334 800A1194 468084A0 */ cvt.s.w $f18, $f16
|
||||
/* B18338 800A1198 E7B2006C */ swc1 $f18, 0x6c($sp)
|
||||
/* B1833C 800A119C 886C0006 */ lwl $t4, 6($v1)
|
||||
/* B18340 800A11A0 986C0009 */ lwr $t4, 9($v1)
|
||||
/* B18344 800A11A4 ADCC0000 */ sw $t4, ($t6)
|
||||
/* B18348 800A11A8 946C000A */ lhu $t4, 0xa($v1)
|
||||
/* B1834C 800A11AC A5CC0004 */ sh $t4, 4($t6)
|
||||
/* B18350 800A11B0 8FB9009C */ lw $t9, 0x9c($sp)
|
||||
/* B18354 800A11B4 8FB8007C */ lw $t8, 0x7c($sp)
|
||||
/* B18358 800A11B8 8FAD0090 */ lw $t5, 0x90($sp)
|
||||
/* B1835C 800A11BC 00194880 */ sll $t1, $t9, 2
|
||||
/* B18360 800A11C0 03095021 */ addu $t2, $t8, $t1
|
||||
/* B18364 800A11C4 8D4B0008 */ lw $t3, 8($t2)
|
||||
/* B18368 800A11C8 8FA40080 */ lw $a0, 0x80($sp)
|
||||
/* B1836C 800A11CC 27AE005C */ addiu $t6, $sp, 0x5c
|
||||
/* B18370 800A11D0 AFAB0070 */ sw $t3, 0x70($sp)
|
||||
/* B18374 800A11D4 11A00008 */ beqz $t5, .L800A11F8
|
||||
/* B18378 800A11D8 AFAB0074 */ sw $t3, 0x74($sp)
|
||||
/* B1837C 800A11DC 8FAF0098 */ lw $t7, 0x98($sp)
|
||||
/* B18380 800A11E0 AFAE0010 */ sw $t6, 0x10($sp)
|
||||
/* B18384 800A11E4 AFA80054 */ sw $t0, 0x54($sp)
|
||||
/* B18388 800A11E8 01A0F809 */ jalr $t5
|
||||
/* B1838C 800A11EC AFAF0014 */ sw $t7, 0x14($sp)
|
||||
/* B18390 800A11F0 1440002C */ bnez $v0, .L800A12A4
|
||||
/* B18394 800A11F4 8FA80054 */ lw $t0, 0x54($sp)
|
||||
.L800A11F8:
|
||||
/* B18398 800A11F8 27A40064 */ addiu $a0, $sp, 0x64
|
||||
/* B1839C 800A11FC 27A5005C */ addiu $a1, $sp, 0x5c
|
||||
/* B183A0 800A1200 0C0344D0 */ jal Matrix_TranslateThenRotateZYX
|
||||
/* B183A4 800A1204 AFA80054 */ sw $t0, 0x54($sp)
|
||||
/* B183A8 800A1208 8FAC0074 */ lw $t4, 0x74($sp)
|
||||
/* B183AC 800A120C 8FA80054 */ lw $t0, 0x54($sp)
|
||||
/* B183B0 800A1210 8FA40058 */ lw $a0, 0x58($sp)
|
||||
/* B183B4 800A1214 11800019 */ beqz $t4, .L800A127C
|
||||
/* B183B8 800A1218 3C058014 */ lui $a1, %hi(D_8014008C) # $a1, 0x8014
|
||||
/* B183BC 800A121C 24A5008C */ addiu $a1, %lo(D_8014008C) # addiu $a1, $a1, 0x8c
|
||||
/* B183C0 800A1220 24060409 */ li $a2, 1033
|
||||
/* B183C4 800A1224 0C034695 */ jal Matrix_ToMtx
|
||||
/* B183C8 800A1228 AFA80054 */ sw $t0, 0x54($sp)
|
||||
/* B183CC 800A122C 8FA80054 */ lw $t0, 0x54($sp)
|
||||
/* B183D0 800A1230 3C18DA38 */ lui $t8, (0xDA380003 >> 16) # lui $t8, 0xda38
|
||||
/* B183D4 800A1234 37180003 */ ori $t8, (0xDA380003 & 0xFFFF) # ori $t8, $t8, 3
|
||||
/* B183D8 800A1238 8D0202C0 */ lw $v0, 0x2c0($t0)
|
||||
/* B183DC 800A123C 3C0BDE00 */ lui $t3, 0xde00
|
||||
/* B183E0 800A1240 24590008 */ addiu $t9, $v0, 8
|
||||
/* B183E4 800A1244 AD1902C0 */ sw $t9, 0x2c0($t0)
|
||||
/* B183E8 800A1248 AC580000 */ sw $t8, ($v0)
|
||||
/* B183EC 800A124C 8FA90058 */ lw $t1, 0x58($sp)
|
||||
/* B183F0 800A1250 AC490004 */ sw $t1, 4($v0)
|
||||
/* B183F4 800A1254 8D0202C0 */ lw $v0, 0x2c0($t0)
|
||||
/* B183F8 800A1258 244A0008 */ addiu $t2, $v0, 8
|
||||
/* B183FC 800A125C AD0A02C0 */ sw $t2, 0x2c0($t0)
|
||||
/* B18400 800A1260 AC4B0000 */ sw $t3, ($v0)
|
||||
/* B18404 800A1264 8FAE0074 */ lw $t6, 0x74($sp)
|
||||
/* B18408 800A1268 AC4E0004 */ sw $t6, 4($v0)
|
||||
/* B1840C 800A126C 8FAF0058 */ lw $t7, 0x58($sp)
|
||||
/* B18410 800A1270 25ED0040 */ addiu $t5, $t7, 0x40
|
||||
/* B18414 800A1274 1000000B */ b .L800A12A4
|
||||
/* B18418 800A1278 AFAD0058 */ sw $t5, 0x58($sp)
|
||||
.L800A127C:
|
||||
/* B1841C 800A127C 8FAC0070 */ lw $t4, 0x70($sp)
|
||||
/* B18420 800A1280 3C058014 */ lui $a1, %hi(D_801400A0) # $a1, 0x8014
|
||||
/* B18424 800A1284 24A500A0 */ addiu $a1, %lo(D_801400A0) # addiu $a1, $a1, 0xa0
|
||||
/* B18428 800A1288 11800006 */ beqz $t4, .L800A12A4
|
||||
/* B1842C 800A128C 8FA40058 */ lw $a0, 0x58($sp)
|
||||
/* B18430 800A1290 0C034695 */ jal Matrix_ToMtx
|
||||
/* B18434 800A1294 24060410 */ li $a2, 1040
|
||||
/* B18438 800A1298 8FB90058 */ lw $t9, 0x58($sp)
|
||||
/* B1843C 800A129C 27380040 */ addiu $t8, $t9, 0x40
|
||||
/* B18440 800A12A0 AFB80058 */ sw $t8, 0x58($sp)
|
||||
.L800A12A4:
|
||||
/* B18444 800A12A4 8FA20094 */ lw $v0, 0x94($sp)
|
||||
/* B18448 800A12A8 8FA40080 */ lw $a0, 0x80($sp)
|
||||
/* B1844C 800A12AC 24050001 */ li $a1, 1
|
||||
/* B18450 800A12B0 10400006 */ beqz $v0, .L800A12CC
|
||||
/* B18454 800A12B4 27A60070 */ addiu $a2, $sp, 0x70
|
||||
/* B18458 800A12B8 8FA90098 */ lw $t1, 0x98($sp)
|
||||
/* B1845C 800A12BC 27A7005C */ addiu $a3, $sp, 0x5c
|
||||
/* B18460 800A12C0 0040F809 */ jalr $v0
|
||||
/* B18464 800A12C4 AFA90010 */ sw $t1, 0x10($sp)
|
||||
/* B18468 800A12C8 8FA20094 */ lw $v0, 0x94($sp)
|
||||
.L800A12CC:
|
||||
/* B1846C 800A12CC 8FAA007C */ lw $t2, 0x7c($sp)
|
||||
/* B18470 800A12D0 240100FF */ li $at, 255
|
||||
/* B18474 800A12D4 8FA40080 */ lw $a0, 0x80($sp)
|
||||
/* B18478 800A12D8 91450006 */ lbu $a1, 6($t2)
|
||||
/* B1847C 800A12DC 8FA60084 */ lw $a2, 0x84($sp)
|
||||
/* B18480 800A12E0 8FA70088 */ lw $a3, 0x88($sp)
|
||||
/* B18484 800A12E4 10A1000A */ beq $a1, $at, .L800A1310
|
||||
/* B18488 800A12E8 8FAB0090 */ lw $t3, 0x90($sp)
|
||||
/* B1848C 800A12EC 8FAE0098 */ lw $t6, 0x98($sp)
|
||||
/* B18490 800A12F0 8FAF009C */ lw $t7, 0x9c($sp)
|
||||
/* B18494 800A12F4 27AD0058 */ addiu $t5, $sp, 0x58
|
||||
/* B18498 800A12F8 AFAD0020 */ sw $t5, 0x20($sp)
|
||||
/* B1849C 800A12FC AFAB0010 */ sw $t3, 0x10($sp)
|
||||
/* B184A0 800A1300 AFA20014 */ sw $v0, 0x14($sp)
|
||||
/* B184A4 800A1304 AFAE0018 */ sw $t6, 0x18($sp)
|
||||
/* B184A8 800A1308 0C028365 */ jal SkelAnime_LodDrawLimbSV
|
||||
/* B184AC 800A130C AFAF001C */ sw $t7, 0x1c($sp)
|
||||
.L800A1310:
|
||||
/* B184B0 800A1310 0C034221 */ jal Matrix_Pull
|
||||
/* B184B4 800A1314 00000000 */ nop
|
||||
/* B184B8 800A1318 8FAC0080 */ lw $t4, 0x80($sp)
|
||||
/* B184BC 800A131C 3C068014 */ lui $a2, %hi(D_801400B4) # $a2, 0x8014
|
||||
/* B184C0 800A1320 24C600B4 */ addiu $a2, %lo(D_801400B4) # addiu $a2, $a2, 0xb4
|
||||
/* B184C4 800A1324 27A40044 */ addiu $a0, $sp, 0x44
|
||||
/* B184C8 800A1328 2407041D */ li $a3, 1053
|
||||
/* B184CC 800A132C 0C031AD5 */ jal func_800C6B54
|
||||
/* B184D0 800A1330 8D850000 */ lw $a1, ($t4)
|
||||
/* B184D4 800A1334 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
.L800A1338:
|
||||
/* B184D8 800A1338 27BD0080 */ addiu $sp, $sp, 0x80
|
||||
/* B184DC 800A133C 03E00008 */ jr $ra
|
||||
/* B184E0 800A1340 00000000 */ nop
|
||||
|
|
@ -1,108 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_8014066C
|
||||
.float 0.33333334
|
||||
|
||||
.text
|
||||
glabel func_800A4AD8
|
||||
/* B1BC78 800A4AD8 3C0F8016 */ lui $t7, %hi(gGameInfo)
|
||||
/* B1BC7C 800A4ADC 8DEFFA90 */ lw $t7, %lo(gGameInfo)($t7)
|
||||
/* B1BC80 800A4AE0 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* B1BC84 800A4AE4 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* B1BC88 800A4AE8 AFB00020 */ sw $s0, 0x20($sp)
|
||||
/* B1BC8C 800A4AEC 85F80110 */ lh $t8, 0x110($t7)
|
||||
/* B1BC90 800A4AF0 3C014680 */ li $at, 0x46800000 # 0.000000
|
||||
/* B1BC94 800A4AF4 44812000 */ mtc1 $at, $f4
|
||||
/* B1BC98 800A4AF8 44985000 */ mtc1 $t8, $f10
|
||||
/* B1BC9C 800A4AFC C4800028 */ lwc1 $f0, 0x28($a0)
|
||||
/* B1BCA0 800A4B00 3C018014 */ lui $at, %hi(D_8014066C)
|
||||
/* B1BCA4 800A4B04 46805420 */ cvt.s.w $f16, $f10
|
||||
/* B1BCA8 800A4B08 46040182 */ mul.s $f6, $f0, $f4
|
||||
/* B1BCAC 800A4B0C C432066C */ lwc1 $f18, %lo(D_8014066C)($at)
|
||||
/* B1BCB0 800A4B10 C484002C */ lwc1 $f4, 0x2c($a0)
|
||||
/* B1BCB4 800A4B14 44805000 */ mtc1 $zero, $f10
|
||||
/* B1BCB8 800A4B18 00808025 */ move $s0, $a0
|
||||
/* B1BCBC 800A4B1C 46128082 */ mul.s $f2, $f16, $f18
|
||||
/* B1BCC0 800A4B20 4600320D */ trunc.w.s $f8, $f6
|
||||
/* B1BCC4 800A4B24 46022182 */ mul.s $f6, $f4, $f2
|
||||
/* B1BCC8 800A4B28 44064000 */ mfc1 $a2, $f8
|
||||
/* B1BCCC 800A4B2C 00000000 */ nop
|
||||
/* B1BCD0 800A4B30 00063400 */ sll $a2, $a2, 0x10
|
||||
/* B1BCD4 800A4B34 46060201 */ sub.s $f8, $f0, $f6
|
||||
/* B1BCD8 800A4B38 00063403 */ sra $a2, $a2, 0x10
|
||||
/* B1BCDC 800A4B3C E4880028 */ swc1 $f8, 0x28($a0)
|
||||
/* B1BCE0 800A4B40 C4800028 */ lwc1 $f0, 0x28($a0)
|
||||
/* B1BCE4 800A4B44 460A003E */ c.le.s $f0, $f10
|
||||
/* B1BCE8 800A4B48 00000000 */ nop
|
||||
/* B1BCEC 800A4B4C 45020008 */ bc1fl .L800A4B70
|
||||
/* B1BCF0 800A4B50 3C014680 */ li $at, 0x46800000 # 0.000000
|
||||
/* B1BCF4 800A4B54 0C02926C */ jal func_800A49B0
|
||||
/* B1BCF8 800A4B58 A7A6002E */ sh $a2, 0x2e($sp)
|
||||
/* B1BCFC 800A4B5C 44808000 */ mtc1 $zero, $f16
|
||||
/* B1BD00 800A4B60 87A6002E */ lh $a2, 0x2e($sp)
|
||||
/* B1BD04 800A4B64 E6100028 */ swc1 $f16, 0x28($s0)
|
||||
/* B1BD08 800A4B68 C6000028 */ lwc1 $f0, 0x28($s0)
|
||||
/* B1BD0C 800A4B6C 3C014680 */ li $at, 0x46800000 # 0.000000
|
||||
.L800A4B70:
|
||||
/* B1BD10 800A4B70 44819000 */ mtc1 $at, $f18
|
||||
/* B1BD14 800A4B74 82080003 */ lb $t0, 3($s0)
|
||||
/* B1BD18 800A4B78 00062400 */ sll $a0, $a2, 0x10
|
||||
/* B1BD1C 800A4B7C 46120102 */ mul.s $f4, $f0, $f18
|
||||
/* B1BD20 800A4B80 00042403 */ sra $a0, $a0, 0x10
|
||||
/* B1BD24 800A4B84 4600218D */ trunc.w.s $f6, $f4
|
||||
/* B1BD28 800A4B88 44053000 */ mfc1 $a1, $f6
|
||||
/* B1BD2C 800A4B8C 00000000 */ nop
|
||||
/* B1BD30 800A4B90 00052C00 */ sll $a1, $a1, 0x10
|
||||
/* B1BD34 800A4B94 05010011 */ bgez $t0, .L800A4BDC
|
||||
/* B1BD38 800A4B98 00052C03 */ sra $a1, $a1, 0x10
|
||||
/* B1BD3C 800A4B9C 00062400 */ sll $a0, $a2, 0x10
|
||||
/* B1BD40 800A4BA0 00042403 */ sra $a0, $a0, 0x10
|
||||
/* B1BD44 800A4BA4 0C01DE0D */ jal Math_Coss
|
||||
/* B1BD48 800A4BA8 A7A5002C */ sh $a1, 0x2c($sp)
|
||||
/* B1BD4C 800A4BAC 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B1BD50 800A4BB0 44814000 */ mtc1 $at, $f8
|
||||
/* B1BD54 800A4BB4 87A5002C */ lh $a1, 0x2c($sp)
|
||||
/* B1BD58 800A4BB8 46004281 */ sub.s $f10, $f8, $f0
|
||||
/* B1BD5C 800A4BBC 00052400 */ sll $a0, $a1, 0x10
|
||||
/* B1BD60 800A4BC0 00042403 */ sra $a0, $a0, 0x10
|
||||
/* B1BD64 800A4BC4 0C01DE0D */ jal Math_Coss
|
||||
/* B1BD68 800A4BC8 E7AA0028 */ swc1 $f10, 0x28($sp)
|
||||
/* B1BD6C 800A4BCC 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B1BD70 800A4BD0 44818000 */ mtc1 $at, $f16
|
||||
/* B1BD74 800A4BD4 10000009 */ b .L800A4BFC
|
||||
/* B1BD78 800A4BD8 46008081 */ sub.s $f2, $f16, $f0
|
||||
.L800A4BDC:
|
||||
/* B1BD7C 800A4BDC 0C01DE1C */ jal Math_Sins
|
||||
/* B1BD80 800A4BE0 A7A5002C */ sh $a1, 0x2c($sp)
|
||||
/* B1BD84 800A4BE4 87A5002C */ lh $a1, 0x2c($sp)
|
||||
/* B1BD88 800A4BE8 E7A00028 */ swc1 $f0, 0x28($sp)
|
||||
/* B1BD8C 800A4BEC 00052400 */ sll $a0, $a1, 0x10
|
||||
/* B1BD90 800A4BF0 0C01DE1C */ jal Math_Sins
|
||||
/* B1BD94 800A4BF4 00042403 */ sra $a0, $a0, 0x10
|
||||
/* B1BD98 800A4BF8 46000086 */ mov.s $f2, $f0
|
||||
.L800A4BFC:
|
||||
/* B1BD9C 800A4BFC 44809000 */ mtc1 $zero, $f18
|
||||
/* B1BDA0 800A4C00 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B1BDA4 800A4C04 44813000 */ mtc1 $at, $f6
|
||||
/* B1BDA8 800A4C08 46121032 */ c.eq.s $f2, $f18
|
||||
/* B1BDAC 800A4C0C C7A40028 */ lwc1 $f4, 0x28($sp)
|
||||
/* B1BDB0 800A4C10 45030004 */ bc1tl .L800A4C24
|
||||
/* B1BDB4 800A4C14 44801000 */ mtc1 $zero, $f2
|
||||
/* B1BDB8 800A4C18 10000003 */ b .L800A4C28
|
||||
/* B1BDBC 800A4C1C 46041083 */ div.s $f2, $f2, $f4
|
||||
/* B1BDC0 800A4C20 44801000 */ mtc1 $zero, $f2
|
||||
.L800A4C24:
|
||||
/* B1BDC4 800A4C24 00000000 */ nop
|
||||
.L800A4C28:
|
||||
/* B1BDC8 800A4C28 46023201 */ sub.s $f8, $f6, $f2
|
||||
/* B1BDCC 800A4C2C 8E050020 */ lw $a1, 0x20($s0)
|
||||
/* B1BDD0 800A4C30 92040000 */ lbu $a0, ($s0)
|
||||
/* B1BDD4 800A4C34 8E070024 */ lw $a3, 0x24($s0)
|
||||
/* B1BDD8 800A4C38 E7A80010 */ swc1 $f8, 0x10($sp)
|
||||
/* B1BDDC 800A4C3C 0C028B9C */ jal SkelAnime_InterpolateRotation
|
||||
/* B1BDE0 800A4C40 00A03025 */ move $a2, $a1
|
||||
/* B1BDE4 800A4C44 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* B1BDE8 800A4C48 8FB00020 */ lw $s0, 0x20($sp)
|
||||
/* B1BDEC 800A4C4C 27BD0030 */ addiu $sp, $sp, 0x30
|
||||
/* B1BDF0 800A4C50 03E00008 */ jr $ra
|
||||
/* B1BDF4 800A4C54 00001025 */ move $v0, $zero
|
||||
|
|
@ -1,93 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_80140670
|
||||
.float 0.33333334
|
||||
|
||||
.text
|
||||
glabel func_800A4C58
|
||||
/* B1BDF8 800A4C58 27BDFD70 */ addiu $sp, $sp, -0x290
|
||||
/* B1BDFC 800A4C5C AFB00020 */ sw $s0, 0x20($sp)
|
||||
/* B1BE00 800A4C60 00808025 */ move $s0, $a0
|
||||
/* B1BE04 800A4C64 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* B1BE08 800A4C68 C6040018 */ lwc1 $f4, 0x18($s0)
|
||||
/* B1BE0C 800A4C6C 8E070020 */ lw $a3, 0x20($s0)
|
||||
/* B1BE10 800A4C70 92060000 */ lbu $a2, ($s0)
|
||||
/* B1BE14 800A4C74 4600218D */ trunc.w.s $f6, $f4
|
||||
/* B1BE18 800A4C78 8C840008 */ lw $a0, 8($a0)
|
||||
/* B1BE1C 800A4C7C 44053000 */ mfc1 $a1, $f6
|
||||
/* B1BE20 800A4C80 0C028763 */ jal SkelAnime_AnimateFrame
|
||||
/* B1BE24 800A4C84 00000000 */ nop
|
||||
/* B1BE28 800A4C88 920F0001 */ lbu $t7, 1($s0)
|
||||
/* B1BE2C 800A4C8C 27A70038 */ addiu $a3, $sp, 0x38
|
||||
/* B1BE30 800A4C90 31F80001 */ andi $t8, $t7, 1
|
||||
/* B1BE34 800A4C94 5300001B */ beql $t8, $zero, .L800A4D04
|
||||
/* B1BE38 800A4C98 C6000028 */ lwc1 $f0, 0x28($s0)
|
||||
/* B1BE3C 800A4C9C C6000018 */ lwc1 $f0, 0x18($s0)
|
||||
/* B1BE40 800A4CA0 C6120014 */ lwc1 $f18, 0x14($s0)
|
||||
/* B1BE44 800A4CA4 4600020D */ trunc.w.s $f8, $f0
|
||||
/* B1BE48 800A4CA8 4600910D */ trunc.w.s $f4, $f18
|
||||
/* B1BE4C 800A4CAC 44054000 */ mfc1 $a1, $f8
|
||||
/* B1BE50 800A4CB0 00000000 */ nop
|
||||
/* B1BE54 800A4CB4 44855000 */ mtc1 $a1, $f10
|
||||
/* B1BE58 800A4CB8 44092000 */ mfc1 $t1, $f4
|
||||
/* B1BE5C 800A4CBC 24A50001 */ addiu $a1, $a1, 1
|
||||
/* B1BE60 800A4CC0 46805420 */ cvt.s.w $f16, $f10
|
||||
/* B1BE64 800A4CC4 00A9082A */ slt $at, $a1, $t1
|
||||
/* B1BE68 800A4CC8 14200002 */ bnez $at, .L800A4CD4
|
||||
/* B1BE6C 800A4CCC 46100081 */ sub.s $f2, $f0, $f16
|
||||
/* B1BE70 800A4CD0 00002825 */ move $a1, $zero
|
||||
.L800A4CD4:
|
||||
/* B1BE74 800A4CD4 8E040008 */ lw $a0, 8($s0)
|
||||
/* B1BE78 800A4CD8 92060000 */ lbu $a2, ($s0)
|
||||
/* B1BE7C 800A4CDC 0C028763 */ jal SkelAnime_AnimateFrame
|
||||
/* B1BE80 800A4CE0 E7A20030 */ swc1 $f2, 0x30($sp)
|
||||
/* B1BE84 800A4CE4 C7A20030 */ lwc1 $f2, 0x30($sp)
|
||||
/* B1BE88 800A4CE8 8E050020 */ lw $a1, 0x20($s0)
|
||||
/* B1BE8C 800A4CEC 92040000 */ lbu $a0, ($s0)
|
||||
/* B1BE90 800A4CF0 27A70038 */ addiu $a3, $sp, 0x38
|
||||
/* B1BE94 800A4CF4 E7A20010 */ swc1 $f2, 0x10($sp)
|
||||
/* B1BE98 800A4CF8 0C028B9C */ jal SkelAnime_InterpolateRotation
|
||||
/* B1BE9C 800A4CFC 00A03025 */ move $a2, $a1
|
||||
/* B1BEA0 800A4D00 C6000028 */ lwc1 $f0, 0x28($s0)
|
||||
.L800A4D04:
|
||||
/* B1BEA4 800A4D04 44803000 */ mtc1 $zero, $f6
|
||||
/* B1BEA8 800A4D08 3C0A8016 */ lui $t2, %hi(gGameInfo) # $t2, 0x8016
|
||||
/* B1BEAC 800A4D0C 46003032 */ c.eq.s $f6, $f0
|
||||
/* B1BEB0 800A4D10 00000000 */ nop
|
||||
/* B1BEB4 800A4D14 4503001D */ bc1tl .L800A4D8C
|
||||
/* B1BEB8 800A4D18 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* B1BEBC 800A4D1C 8D4AFA90 */ lw $t2, %lo(gGameInfo)($t2)
|
||||
/* B1BEC0 800A4D20 3C018014 */ lui $at, %hi(D_80140670)
|
||||
/* B1BEC4 800A4D24 C4300670 */ lwc1 $f16, %lo(D_80140670)($at)
|
||||
/* B1BEC8 800A4D28 854B0110 */ lh $t3, 0x110($t2)
|
||||
/* B1BECC 800A4D2C C612002C */ lwc1 $f18, 0x2c($s0)
|
||||
/* B1BED0 800A4D30 44806000 */ mtc1 $zero, $f12
|
||||
/* B1BED4 800A4D34 448B4000 */ mtc1 $t3, $f8
|
||||
/* B1BED8 800A4D38 00000000 */ nop
|
||||
/* B1BEDC 800A4D3C 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* B1BEE0 800A4D40 46105082 */ mul.s $f2, $f10, $f16
|
||||
/* B1BEE4 800A4D44 00000000 */ nop
|
||||
/* B1BEE8 800A4D48 46029102 */ mul.s $f4, $f18, $f2
|
||||
/* B1BEEC 800A4D4C 46040181 */ sub.s $f6, $f0, $f4
|
||||
/* B1BEF0 800A4D50 E6060028 */ swc1 $f6, 0x28($s0)
|
||||
/* B1BEF4 800A4D54 C6000028 */ lwc1 $f0, 0x28($s0)
|
||||
/* B1BEF8 800A4D58 460C003E */ c.le.s $f0, $f12
|
||||
/* B1BEFC 800A4D5C 00000000 */ nop
|
||||
/* B1BF00 800A4D60 45000003 */ bc1f .L800A4D70
|
||||
/* B1BF04 800A4D64 00000000 */ nop
|
||||
/* B1BF08 800A4D68 10000007 */ b .L800A4D88
|
||||
/* B1BF0C 800A4D6C E60C0028 */ swc1 $f12, 0x28($s0)
|
||||
.L800A4D70:
|
||||
/* B1BF10 800A4D70 8E050020 */ lw $a1, 0x20($s0)
|
||||
/* B1BF14 800A4D74 92040000 */ lbu $a0, ($s0)
|
||||
/* B1BF18 800A4D78 8E070024 */ lw $a3, 0x24($s0)
|
||||
/* B1BF1C 800A4D7C E7A00010 */ swc1 $f0, 0x10($sp)
|
||||
/* B1BF20 800A4D80 0C028B9C */ jal SkelAnime_InterpolateRotation
|
||||
/* B1BF24 800A4D84 00A03025 */ move $a2, $a1
|
||||
.L800A4D88:
|
||||
/* B1BF28 800A4D88 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L800A4D8C:
|
||||
/* B1BF2C 800A4D8C 8FB00020 */ lw $s0, 0x20($sp)
|
||||
/* B1BF30 800A4D90 27BD0290 */ addiu $sp, $sp, 0x290
|
||||
/* B1BF34 800A4D94 03E00008 */ jr $ra
|
||||
/* B1BF38 800A4D98 00000000 */ nop
|
||||
|
|
@ -158,7 +158,7 @@ glabel L80863884
|
|||
/* 04278 808638C8 8E0701A8 */ lw $a3, 0x01A8($s0) ## 000001A8
|
||||
/* 0427C 808638CC 00A03025 */ or $a2, $a1, $zero ## $a2 = 00000000
|
||||
/* 04280 808638D0 46086281 */ sub.s $f10, $f12, $f8
|
||||
/* 04284 808638D4 0C028B9C */ jal SkelAnime_InterpolateRotation
|
||||
/* 04284 808638D4 0C028B9C */ jal SkelAnime_InterpolateVec3s
|
||||
/* 04288 808638D8 E7AA0010 */ swc1 $f10, 0x0010($sp)
|
||||
/* 0428C 808638DC 3C078086 */ lui $a3, %hi(D_80864510) ## $a3 = 80860000
|
||||
/* 04290 808638E0 24E74510 */ addiu $a3, $a3, %lo(D_80864510) ## $a3 = 80864510
|
||||
|
|
|
@ -1157,7 +1157,7 @@ Gfx* SkelAnime_Draw2(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* actorD
|
|||
Gfx* SkelAnime_DrawSV2(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* actorDrawTable, s32 dListCount,
|
||||
SkelAnime_LimbUpdateMatrix2 updateMtxFunc, SkelAnime_LimbAppendDlist2 appendDlistFunc,
|
||||
Actor* actor, Gfx* gfx);
|
||||
void SkelAnime_InterpolateRotation(s32, Vec3s*, Vec3s*, Vec3s*, f32);
|
||||
void SkelAnime_InterpolateVec3s(s32, Vec3s*, Vec3s*, Vec3s*, f32);
|
||||
void SkelAnime_AnimationCtxReset(AnimationContext* animationCtx);
|
||||
void func_800A32F4(GlobalContext* globalCtx);
|
||||
void func_800A3310(GlobalContext* globalCtx);
|
||||
|
@ -1179,12 +1179,14 @@ void func_800A3EE8(GlobalContext* globalCtx, SkelAnime* skelAnime, f32 arg2);
|
|||
void SkelAnime_LinkChangeAnimation(GlobalContext* globalCtx, SkelAnime* skelAnime,
|
||||
LinkAnimetionEntry* linkAnimetionEntrySeg, f32 playbackSpeed, f32 frame,
|
||||
f32 frameCount, u8 arg6, f32 transitionRate);
|
||||
void SkelAnime_LinkChangeAnimationDefaultStop(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimetionEntry* linkAnimetionEntrySeg);
|
||||
void SkelAnime_LinkChangeAnimationPlaybackStop(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimetionEntry* linkAnimetionEntrySeg,
|
||||
f32 playbackSpeed);
|
||||
void SkelAnime_LinkChangeAnimationDefaultRepeat(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimetionEntry* linkAnimetionEntrySeg);
|
||||
void SkelAnime_LinkChangeAnimationPlaybackRepeat(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimetionEntry* linkAnimetionEntrySeg,
|
||||
f32 playbackSpeed);
|
||||
void SkelAnime_LinkChangeAnimationDefaultStop(GlobalContext* globalCtx, SkelAnime* skelAnime,
|
||||
LinkAnimetionEntry* linkAnimetionEntrySeg);
|
||||
void SkelAnime_LinkChangeAnimationPlaybackStop(GlobalContext* globalCtx, SkelAnime* skelAnime,
|
||||
LinkAnimetionEntry* linkAnimetionEntrySeg, f32 playbackSpeed);
|
||||
void SkelAnime_LinkChangeAnimationDefaultRepeat(GlobalContext* globalCtx, SkelAnime* skelAnime,
|
||||
LinkAnimetionEntry* linkAnimetionEntrySeg);
|
||||
void SkelAnime_LinkChangeAnimationPlaybackRepeat(GlobalContext* globalCtx, SkelAnime* skelAnime,
|
||||
LinkAnimetionEntry* linkAnimetionEntrySeg, f32 playbackSpeed);
|
||||
void func_800A41FC(GlobalContext* globalCtx, SkelAnime* skelAnime);
|
||||
void func_800A425C(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimetionEntry* linkAnimetionEntrySeg,
|
||||
f32 frame);
|
||||
|
|
|
@ -3,13 +3,11 @@
|
|||
#include <vt.h>
|
||||
|
||||
#define ONE_THIRD (1.0f / 3.0f)
|
||||
#define NON_MATCHING
|
||||
s32 func_800A3D70(GlobalContext*, SkelAnime*);
|
||||
s32 func_800A3E0C(GlobalContext*, SkelAnime*);
|
||||
s32 func_800A4D9C(SkelAnime* skelAnime);
|
||||
s32 func_800A4EE0(SkelAnime* skelAnime);
|
||||
s32 func_800A4E38(SkelAnime* skelAnime);
|
||||
s32 func_800A4AD8(SkelAnime* skelAnime);
|
||||
void SkelAnime_CopyVec3s(SkelAnime* skelAnime, Vec3s* dst, Vec3s* src);
|
||||
void SkelAnime_LinkAnimetionLoaded(GlobalContext* globalCtx, AnimationEntryType0* entry);
|
||||
void SkelAnime_AnimationType1Loaded(GlobalContext* globalCtx, AnimationEntryType1* entry);
|
||||
|
@ -30,7 +28,7 @@ u32 D_801600B0;
|
|||
|
||||
/*
|
||||
* Draws the limb at `limbIndex` with a level of detail display lists index by `dListIndex`
|
||||
*/
|
||||
*/
|
||||
void SkelAnime_LodDrawLimb(GlobalContext* globalCtx, s32 limbIndex, Skeleton* skeleton, Vec3s* actorDrawTable,
|
||||
SkelAnime_LimbUpdateMatrix updateMtxFunc, SkelAnime_LimbAppendDlist appendDlistFunc,
|
||||
Actor* actor, s32 dListIndex) {
|
||||
|
@ -88,7 +86,7 @@ void SkelAnime_LodDrawLimb(GlobalContext* globalCtx, s32 limbIndex, Skeleton* sk
|
|||
|
||||
/*
|
||||
* Draws the Skeleton described by `skeleton` with a level of detail display list indexed by `dListIndex`
|
||||
*/
|
||||
*/
|
||||
void SkelAnime_LodDraw(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* actorDrawTable,
|
||||
SkelAnime_LimbUpdateMatrix updateMtxFunc, SkelAnime_LimbAppendDlist appendDlistFunc,
|
||||
Actor* actor, s32 dListIndex) {
|
||||
|
@ -102,7 +100,7 @@ void SkelAnime_LodDraw(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* acto
|
|||
|
||||
if (skeleton == NULL) {
|
||||
osSyncPrintf(VT_FGCOL(RED));
|
||||
osSyncPrintf("Si2_Lod_draw():skelがNULLです。\n");
|
||||
osSyncPrintf("Si2_Lod_draw():skelがNULLです。\n"); // Si2_Lod_draw (): skel is NULL.
|
||||
osSyncPrintf(VT_RST);
|
||||
return;
|
||||
}
|
||||
|
@ -142,7 +140,7 @@ void SkelAnime_LodDraw(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* acto
|
|||
/*
|
||||
* Draws the limb at `limbIndex` with a level of detail display lists index by `dListIndex`, Limb matrices come
|
||||
* from a dynamic allocation from the graph arena.
|
||||
*/
|
||||
*/
|
||||
void SkelAnime_LodDrawLimbSV(GlobalContext* globalCtx, s32 limbIndex, Skeleton* skeleton, Vec3s* actorDrawTable,
|
||||
SkelAnime_LimbUpdateMatrix updateMtxFunc, SkelAnime_LimbAppendDlist appendDlistFunc,
|
||||
Actor* actor, s32 dListIndex, Mtx** mtx) {
|
||||
|
@ -202,7 +200,7 @@ void SkelAnime_LodDrawLimbSV(GlobalContext* globalCtx, s32 limbIndex, Skeleton*
|
|||
* Draws the Skeleton described by `skeleton` with a level of detail display list indexed by `dListIndex`
|
||||
* Matricies for the limbs are dynamically allocted from the graph arena. The dynamic allocation occurs
|
||||
* because the Skeleton is too large to be supported by the normal matrix stack.
|
||||
*/
|
||||
*/
|
||||
void SkelAnime_LodDrawSV(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* actorDrawTable, s32 dListCount,
|
||||
SkelAnime_LimbUpdateMatrix updateMtxFunc, SkelAnime_LimbAppendDlist appendDlistFunc,
|
||||
Actor* actor, s32 dListIndex) {
|
||||
|
@ -219,7 +217,7 @@ void SkelAnime_LodDrawSV(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* ac
|
|||
|
||||
if (skeleton == NULL) {
|
||||
osSyncPrintf(VT_FGCOL(RED));
|
||||
osSyncPrintf("Si2_Lod_draw_SV():skelがNULLです。\n");
|
||||
osSyncPrintf("Si2_Lod_draw_SV():skelがNULLです。\n"); // Si2_Lod_draw_SV (): skel is NULL.
|
||||
osSyncPrintf(VT_RST);
|
||||
return;
|
||||
}
|
||||
|
@ -266,7 +264,7 @@ void SkelAnime_LodDrawSV(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* ac
|
|||
|
||||
/*
|
||||
* Draws the limb of the Skeleton `skeleton` at `limbIndex`
|
||||
*/
|
||||
*/
|
||||
void SkelAnime_DrawLimb(GlobalContext* globalCtx, s32 limbIndex, Skeleton* skeleton, Vec3s* actorDrawTable,
|
||||
SkelAnime_LimbUpdateMatrix updateMtxFunc, SkelAnime_LimbAppendDlist appendDlistFunc,
|
||||
Actor* actor) {
|
||||
|
@ -544,7 +542,6 @@ s16 SkelAnime_GetTotalFrames(GenericAnimationHeader* animationSeg) {
|
|||
return animation->frameCount;
|
||||
}
|
||||
|
||||
|
||||
s16 SkelAnime_GetFrameCount(GenericAnimationHeader* animationSeg) {
|
||||
GenericAnimationHeader* animation = SEGMENTED_TO_VIRTUAL(animationSeg);
|
||||
// Loads an unsigned half for some reason.
|
||||
|
@ -554,7 +551,7 @@ s16 SkelAnime_GetFrameCount(GenericAnimationHeader* animationSeg) {
|
|||
/*
|
||||
* Draws the Skeleton `skeleton`'s limb at index `limbIndex`. Appends all generated graphics commands to
|
||||
* `gfx`. Returns a pointer to the next gfx to be appended to.
|
||||
*/
|
||||
*/
|
||||
Gfx* SkelAnime_Draw2Limb(GlobalContext* globalCtx, s32 limbIndex, Skeleton* skeleton, Vec3s* actorDrawTable,
|
||||
SkelAnime_LimbUpdateMatrix2 updateMtxFunc, SkelAnime_LimbAppendDlist2 appendDlistFunc,
|
||||
Actor* actor, Gfx* gfx) {
|
||||
|
@ -606,7 +603,7 @@ Gfx* SkelAnime_Draw2Limb(GlobalContext* globalCtx, s32 limbIndex, Skeleton* skel
|
|||
/*
|
||||
* Draws the Skeleton `skeleton` Appends all generated graphics to `gfx`, and returns a pointer to the
|
||||
* next gfx to be appended to.
|
||||
*/
|
||||
*/
|
||||
Gfx* SkelAnime_Draw2(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* actorDrawTable,
|
||||
SkelAnime_LimbUpdateMatrix2 updateMtxFunc, SkelAnime_LimbAppendDlist2 appendDlistFunc,
|
||||
Actor* actor, Gfx* gfx) {
|
||||
|
@ -618,7 +615,7 @@ Gfx* SkelAnime_Draw2(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* actorD
|
|||
|
||||
if (skeleton == NULL) {
|
||||
osSyncPrintf(VT_FGCOL(RED));
|
||||
osSyncPrintf("Si2_draw2():skelがNULLです。NULLを返します。\n");
|
||||
osSyncPrintf("Si2_draw2():skelがNULLです。NULLを返します。\n"); // Si2_draw2 (): skel is NULL. Returns NULL.
|
||||
osSyncPrintf(VT_RST);
|
||||
return NULL;
|
||||
}
|
||||
|
@ -710,6 +707,10 @@ Gfx* SkelAnime_DrawLimbSV2(GlobalContext* globalCtx, s32 limbIndex, Skeleton* sk
|
|||
return gfx;
|
||||
}
|
||||
|
||||
/*
|
||||
* Draws the Skeleton `skeleton` Appends all generated graphics to `gfx`, and returns a pointer to the
|
||||
* next gfx to be appended to. Allocates matricies for display lists on the graph heap.
|
||||
*/
|
||||
Gfx* SkelAnime_DrawSV2(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* actorDrawTable, s32 dListCount,
|
||||
SkelAnime_LimbUpdateMatrix2 updateMtxFunc, SkelAnime_LimbAppendDlist2 appendDlistFunc,
|
||||
Actor* actor, Gfx* gfx) {
|
||||
|
@ -724,7 +725,8 @@ Gfx* SkelAnime_DrawSV2(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* acto
|
|||
mtx = Graph_Alloc(globalCtx->state.gfxCtx, dListCount * sizeof(*mtx));
|
||||
if (skeleton == NULL) {
|
||||
osSyncPrintf(VT_FGCOL(RED));
|
||||
osSyncPrintf("Si2_draw2_SV():skelがNULLです。NULLを返します。\n");
|
||||
osSyncPrintf(
|
||||
"Si2_draw2_SV():skelがNULLです。NULLを返します。\n"); // Si2_draw2_SV (): skel is NULL. Returns NULL.
|
||||
osSyncPrintf(VT_RST);
|
||||
return NULL;
|
||||
}
|
||||
|
@ -769,11 +771,11 @@ Gfx* SkelAnime_DrawSV2(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* acto
|
|||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
s32 func_800A29BC(s32 arg0, s32 arg1, Vec3s *arg2)
|
||||
{
|
||||
// Function is unused. This is functionally equivilent, misplace andi which caused regalloc
|
||||
s32 func_800A29BC(s32 arg0, s32 arg1, Vec3s* arg2) {
|
||||
s16* temp_t1;
|
||||
s16* temp_a3;
|
||||
AnimationHeader *temp_v0;
|
||||
AnimationHeader* temp_v0;
|
||||
s32 phi_v0;
|
||||
s32 t;
|
||||
|
||||
|
@ -790,19 +792,19 @@ s32 func_800A29BC(s32 arg0, s32 arg1, Vec3s *arg2)
|
|||
arg2++;
|
||||
temp_a3 += 6;
|
||||
|
||||
if(t > 0){
|
||||
if(t & 1){
|
||||
if (t > 0) {
|
||||
if (t & 1) {
|
||||
phi_v0++;
|
||||
arg2->x = arg1 < temp_a3[0] ? ((s16*)((arg1 * 2) + (u32)temp_t1))[temp_a3[1]] : temp_t1[temp_a3[1]];
|
||||
arg2->y = arg1 < temp_a3[2] ? ((s16*)((arg1 * 2) + (u32)temp_t1))[temp_a3[3]] : temp_t1[temp_a3[3]];
|
||||
arg2->z = arg1 < temp_a3[4] ? ((s16*)((arg1 * 2) + (u32)temp_t1))[temp_a3[5]] : temp_t1[temp_a3[5]];
|
||||
temp_a3 += 6;
|
||||
arg2++;
|
||||
if(t + 1 == phi_v0){
|
||||
if (t + 1 == phi_v0) {
|
||||
goto ret;
|
||||
}
|
||||
}
|
||||
do{
|
||||
do {
|
||||
phi_v0 += 2;
|
||||
arg2->x = arg1 < temp_a3[0] ? ((s16*)((arg1 * 2) + (u32)temp_t1))[temp_a3[1]] : temp_t1[temp_a3[1]];
|
||||
arg2->y = arg1 < temp_a3[2] ? ((s16*)((arg1 * 2) + (u32)temp_t1))[temp_a3[3]] : temp_t1[temp_a3[3]];
|
||||
|
@ -814,8 +816,7 @@ s32 func_800A29BC(s32 arg0, s32 arg1, Vec3s *arg2)
|
|||
arg2->z = arg1 < temp_a3[4] ? ((s16*)((arg1 * 2) + (u32)temp_t1))[temp_a3[5]] : temp_t1[temp_a3[5]];
|
||||
temp_a3 += 6;
|
||||
arg2++;
|
||||
} while(phi_v0 != t + 1);
|
||||
|
||||
} while (phi_v0 != t + 1);
|
||||
}
|
||||
ret:
|
||||
return t;
|
||||
|
@ -833,7 +834,7 @@ s16 func_800A2DBC(GenericAnimationHeader* animationSeg) {
|
|||
/*
|
||||
* Appears to be unused anywhere in the game. Appears to be a clone of
|
||||
* SkelAnime_GetTotalFrames
|
||||
*/
|
||||
*/
|
||||
s16 SkelAnime_GetTotalFrames2(GenericAnimationHeader* animationSeg) {
|
||||
GenericAnimationHeader* animation = SEGMENTED_TO_VIRTUAL(animationSeg);
|
||||
|
||||
|
@ -843,20 +844,20 @@ s16 SkelAnime_GetTotalFrames2(GenericAnimationHeader* animationSeg) {
|
|||
/*
|
||||
* Appears to be unused anywhere in the game. Appears to be a clone of
|
||||
* SkelAnime_GetFrameCount
|
||||
*/
|
||||
*/
|
||||
s16 SkelAnime_GetFrameCount2(GenericAnimationHeader* animationSeg) {
|
||||
GenericAnimationHeader* animation = SEGMENTED_TO_VIRTUAL(animationSeg);
|
||||
|
||||
return animation->frameCount - 1;
|
||||
}
|
||||
|
||||
void SkelAnime_InterpolateRotation(s32 limbCount, Vec3s* dst, Vec3s* vec2, Vec3s* vec3, f32 unkf) {
|
||||
void SkelAnime_InterpolateVec3s(s32 limbCount, Vec3s* dst, Vec3s* vec2, Vec3s* vec3, f32 unkf) {
|
||||
s32 i;
|
||||
s16 dist;
|
||||
s16 temp2;
|
||||
|
||||
if(unkf < 1.0f){
|
||||
for(i = 0; i < limbCount;i++, dst++, vec2++, vec3++){
|
||||
if (unkf < 1.0f) {
|
||||
for (i = 0; i < limbCount; i++, dst++, vec2++, vec3++) {
|
||||
temp2 = vec2->x;
|
||||
dist = vec3->x - temp2;
|
||||
dst->x = (s16)(dist * unkf) + temp2;
|
||||
|
@ -867,9 +868,8 @@ void SkelAnime_InterpolateRotation(s32 limbCount, Vec3s* dst, Vec3s* vec2, Vec3s
|
|||
dist = vec3->z - temp2;
|
||||
dst->z = (s16)(dist * unkf) + temp2;
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (i = 0;i < limbCount; i++, dst++, vec3++) {
|
||||
} else {
|
||||
for (i = 0; i < limbCount; i++, dst++, vec3++) {
|
||||
dst->x = vec3->x;
|
||||
dst->y = vec3->y;
|
||||
dst->z = vec3->z;
|
||||
|
@ -1001,7 +1001,7 @@ void SkelAnime_AnimationType1Loaded(GlobalContext* globalCtx, AnimationEntryType
|
|||
|
||||
void SkelAnime_AnimationType2Loaded(GlobalContext* globalCtx, AnimationEntryType2* entry) {
|
||||
if ((entry->unk_00 & D_8012A480) == 0) {
|
||||
SkelAnime_InterpolateRotation(entry->limbCount, entry->unk_04, entry->unk_04, entry->unk_08, entry->unk_0C);
|
||||
SkelAnime_InterpolateVec3s(entry->limbCount, entry->unk_04, entry->unk_04, entry->unk_08, entry->unk_0C);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1152,8 +1152,8 @@ void func_800A3C9C(GlobalContext* globalCtx, SkelAnime* skelAnime) {
|
|||
skelAnime->transCurrentFrame = 0.0f;
|
||||
return;
|
||||
}
|
||||
SkelAnime_LoadAnimationType2(globalCtx, skelAnime->limbCount, skelAnime->actorDrawTbl, skelAnime->transitionDrawTbl,
|
||||
skelAnime->transCurrentFrame);
|
||||
SkelAnime_LoadAnimationType2(globalCtx, skelAnime->limbCount, skelAnime->actorDrawTbl,
|
||||
skelAnime->transitionDrawTbl, skelAnime->transCurrentFrame);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1230,39 +1230,44 @@ void SkelAnime_LinkChangeAnimation(GlobalContext* globalCtx, SkelAnime* skelAnim
|
|||
skelAnime->animPlaybackSpeed = playbackSpeed;
|
||||
}
|
||||
|
||||
void SkelAnime_LinkChangeAnimationDefaultStop(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimetionEntry* linkAnimetionEntrySeg) {
|
||||
void SkelAnime_LinkChangeAnimationDefaultStop(GlobalContext* globalCtx, SkelAnime* skelAnime,
|
||||
LinkAnimetionEntry* linkAnimetionEntrySeg) {
|
||||
SkelAnime_LinkChangeAnimation(globalCtx, skelAnime, linkAnimetionEntrySeg, 1.0f, 0.0f,
|
||||
SkelAnime_GetFrameCount(&linkAnimetionEntrySeg->genericHeader), 2, 0.0f);
|
||||
}
|
||||
|
||||
void SkelAnime_LinkChangeAnimationPlaybackStop(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimetionEntry* linkAnimetionEntrySeg,
|
||||
f32 playbackSpeed) {
|
||||
void SkelAnime_LinkChangeAnimationPlaybackStop(GlobalContext* globalCtx, SkelAnime* skelAnime,
|
||||
LinkAnimetionEntry* linkAnimetionEntrySeg, f32 playbackSpeed) {
|
||||
SkelAnime_LinkChangeAnimation(globalCtx, skelAnime, linkAnimetionEntrySeg, playbackSpeed, 0.0f,
|
||||
SkelAnime_GetFrameCount(&linkAnimetionEntrySeg->genericHeader), 2, 0.0f);
|
||||
}
|
||||
|
||||
void SkelAnime_LinkChangeAnimationDefaultRepeat(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimetionEntry* linkAnimetionEntrySeg) {
|
||||
void SkelAnime_LinkChangeAnimationDefaultRepeat(GlobalContext* globalCtx, SkelAnime* skelAnime,
|
||||
LinkAnimetionEntry* linkAnimetionEntrySeg) {
|
||||
SkelAnime_LinkChangeAnimation(globalCtx, skelAnime, linkAnimetionEntrySeg, 1.0f, 0.0f,
|
||||
SkelAnime_GetFrameCount(&linkAnimetionEntrySeg->genericHeader), 0, 0.0f);
|
||||
}
|
||||
|
||||
void SkelAnime_LinkChangeAnimationPlaybackRepeat(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimetionEntry* linkAnimetionEntrySeg,
|
||||
f32 playbackSpeed) {
|
||||
void SkelAnime_LinkChangeAnimationPlaybackRepeat(GlobalContext* globalCtx, SkelAnime* skelAnime,
|
||||
LinkAnimetionEntry* linkAnimetionEntrySeg, f32 playbackSpeed) {
|
||||
SkelAnime_LinkChangeAnimation(globalCtx, skelAnime, linkAnimetionEntrySeg, playbackSpeed, 0.0f,
|
||||
SkelAnime_GetFrameCount(&linkAnimetionEntrySeg->genericHeader), 0, 0.0f);
|
||||
}
|
||||
|
||||
void func_800A41FC(GlobalContext* globalCtx, SkelAnime* skelAnime) {
|
||||
SkelAnime_LoadAnimationType1(globalCtx, skelAnime->limbCount, skelAnime->transitionDrawTbl, skelAnime->actorDrawTbl);
|
||||
SkelAnime_LoadAnimationType1(globalCtx, skelAnime->limbCount, skelAnime->transitionDrawTbl,
|
||||
skelAnime->actorDrawTbl);
|
||||
}
|
||||
|
||||
void func_800A422C(GlobalContext* globalCtx, SkelAnime* skelAnime) {
|
||||
SkelAnime_LoadAnimationType1(globalCtx, skelAnime->limbCount, skelAnime->actorDrawTbl, skelAnime->transitionDrawTbl);
|
||||
SkelAnime_LoadAnimationType1(globalCtx, skelAnime->limbCount, skelAnime->actorDrawTbl,
|
||||
skelAnime->transitionDrawTbl);
|
||||
}
|
||||
|
||||
void func_800A425C(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimetionEntry* linkAnimetionEntrySeg,
|
||||
f32 frame) {
|
||||
SkelAnime_LoadLinkAnimetion(globalCtx, linkAnimetionEntrySeg, (s32)frame, skelAnime->limbCount, skelAnime->transitionDrawTbl);
|
||||
SkelAnime_LoadLinkAnimetion(globalCtx, linkAnimetionEntrySeg, (s32)frame, skelAnime->limbCount,
|
||||
skelAnime->transitionDrawTbl);
|
||||
}
|
||||
|
||||
void func_800A42A0(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimetionEntry* linkAnimetionEntrySeg,
|
||||
|
@ -1272,7 +1277,8 @@ void func_800A42A0(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimetion
|
|||
}
|
||||
|
||||
void func_800A42E4(GlobalContext* globalCtx, SkelAnime* skelAnime, f32 arg2) {
|
||||
SkelAnime_LoadAnimationType2(globalCtx, skelAnime->limbCount, skelAnime->actorDrawTbl, skelAnime->transitionDrawTbl, arg2);
|
||||
SkelAnime_LoadAnimationType2(globalCtx, skelAnime->limbCount, skelAnime->actorDrawTbl, skelAnime->transitionDrawTbl,
|
||||
arg2);
|
||||
}
|
||||
|
||||
void func_800A431C(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimetionEntry* linkAnimetionEntrySeg, f32 frame,
|
||||
|
@ -1291,7 +1297,8 @@ void func_800A43B8(GlobalContext* globalCtx, SkelAnime* skelAnime, LinkAnimetion
|
|||
LinkAnimetionEntry* linkAnimetionEntrySeg2, f32 arg5, f32 arg6, Vec3s* arg7) {
|
||||
Vec3s* alignedArg7;
|
||||
|
||||
SkelAnime_LoadLinkAnimetion(globalCtx, linkAnimetionEntrySeg, (s32)frame, skelAnime->limbCount, skelAnime->transitionDrawTbl);
|
||||
SkelAnime_LoadLinkAnimetion(globalCtx, linkAnimetionEntrySeg, (s32)frame, skelAnime->limbCount,
|
||||
skelAnime->transitionDrawTbl);
|
||||
|
||||
alignedArg7 = (Vec3s*)ALIGN16((u32)arg7);
|
||||
|
||||
|
@ -1313,7 +1320,7 @@ s32 func_800A4478(SkelAnime* skelAnime, f32 arg1, f32 updateRate) {
|
|||
nextFrame = skelAnime->animCurrentFrame - updateSpeed;
|
||||
if (nextFrame < 0.0f) {
|
||||
nextFrame += skelAnime->totalFrames;
|
||||
} else if (skelAnime->totalFrames <= nextFrame) {
|
||||
} else if (skelAnime->totalFrames <= nextFrame) {
|
||||
nextFrame -= skelAnime->totalFrames;
|
||||
}
|
||||
|
||||
|
@ -1344,8 +1351,8 @@ void SkelAnime_Init(GlobalContext* globalCtx, SkelAnime* skelAnime, SkeletonHead
|
|||
if (actorDrawTable == NULL) {
|
||||
skelAnime->actorDrawTbl =
|
||||
ZeldaArena_MallocDebug(skelAnime->limbCount * sizeof(*skelAnime->actorDrawTbl), "../z_skelanime.c", 2968);
|
||||
skelAnime->transitionDrawTbl =
|
||||
ZeldaArena_MallocDebug(skelAnime->limbCount * sizeof(*skelAnime->transitionDrawTbl), "../z_skelanime.c", 2969);
|
||||
skelAnime->transitionDrawTbl = ZeldaArena_MallocDebug(
|
||||
skelAnime->limbCount * sizeof(*skelAnime->transitionDrawTbl), "../z_skelanime.c", 2969);
|
||||
} else {
|
||||
if (limbCount != skelAnime->limbCount) {
|
||||
__assert("joint_buff_num == this->joint_num", "../z_skelanime.c", 2973);
|
||||
|
@ -1377,8 +1384,8 @@ void SkelAnime_InitSV(GlobalContext* globalCtx, SkelAnime* skelAnime, SkeletonHe
|
|||
skelAnime->actorDrawTbl =
|
||||
ZeldaArena_MallocDebug(skelAnime->limbCount * sizeof(*skelAnime->actorDrawTbl), "../z_skelanime.c", 3047);
|
||||
|
||||
skelAnime->transitionDrawTbl =
|
||||
ZeldaArena_MallocDebug(skelAnime->limbCount * sizeof(*skelAnime->transitionDrawTbl), "../z_skelanime.c", 3048);
|
||||
skelAnime->transitionDrawTbl = ZeldaArena_MallocDebug(
|
||||
skelAnime->limbCount * sizeof(*skelAnime->transitionDrawTbl), "../z_skelanime.c", 3048);
|
||||
} else {
|
||||
if (limbCount != skelAnime->limbCount) {
|
||||
__assert("joint_buff_num == this->joint_num", "../z_skelanime.c", 3052);
|
||||
|
@ -1446,8 +1453,8 @@ s32 func_800A4A20(SkelAnime* skelAnime) {
|
|||
func_800A49B0(skelAnime);
|
||||
skelAnime->transCurrentFrame = 0.0f;
|
||||
}
|
||||
SkelAnime_InterpolateRotation(skelAnime->limbCount, skelAnime->actorDrawTbl, skelAnime->actorDrawTbl, skelAnime->transitionDrawTbl,
|
||||
1.0f - (skelAnime->transCurrentFrame / prevUnk28));
|
||||
SkelAnime_InterpolateVec3s(skelAnime->limbCount, skelAnime->actorDrawTbl, skelAnime->actorDrawTbl,
|
||||
skelAnime->transitionDrawTbl, 1.0f - (skelAnime->transCurrentFrame / prevUnk28));
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1478,8 +1485,8 @@ s32 func_800A4AD8(SkelAnime* skelAnime) {
|
|||
} else {
|
||||
phi_f2 = 0.0f;
|
||||
}
|
||||
SkelAnime_InterpolateRotation(skelAnime->limbCount, skelAnime->actorDrawTbl, skelAnime->actorDrawTbl, skelAnime->transitionDrawTbl,
|
||||
1.0f - phi_f2);
|
||||
SkelAnime_InterpolateVec3s(skelAnime->limbCount, skelAnime->actorDrawTbl, skelAnime->actorDrawTbl,
|
||||
skelAnime->transitionDrawTbl, 1.0f - phi_f2);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1502,7 +1509,8 @@ void func_800A4C58(SkelAnime* skelAnime) {
|
|||
t = 0;
|
||||
}
|
||||
SkelAnime_AnimateFrame(skelAnime->animCurrentSeg, t, skelAnime->limbCount, sp38);
|
||||
SkelAnime_InterpolateRotation(skelAnime->limbCount, skelAnime->actorDrawTbl, skelAnime->actorDrawTbl, sp38, temp_f2);
|
||||
SkelAnime_InterpolateVec3s(skelAnime->limbCount, skelAnime->actorDrawTbl, skelAnime->actorDrawTbl, sp38,
|
||||
temp_f2);
|
||||
}
|
||||
if (skelAnime->transCurrentFrame != 0) {
|
||||
updateRate = R_UPDATE_RATE * ONE_THIRD;
|
||||
|
@ -1511,8 +1519,8 @@ void func_800A4C58(SkelAnime* skelAnime) {
|
|||
skelAnime->transCurrentFrame = 0.0f;
|
||||
return;
|
||||
}
|
||||
SkelAnime_InterpolateRotation(skelAnime->limbCount, skelAnime->actorDrawTbl, skelAnime->actorDrawTbl, skelAnime->transitionDrawTbl,
|
||||
skelAnime->transCurrentFrame);
|
||||
SkelAnime_InterpolateVec3s(skelAnime->limbCount, skelAnime->actorDrawTbl, skelAnime->actorDrawTbl,
|
||||
skelAnime->transitionDrawTbl, skelAnime->transCurrentFrame);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1532,9 +1540,11 @@ s32 func_800A4E38(SkelAnime* skelAnime) {
|
|||
f32 updateRate = R_UPDATE_RATE * ONE_THIRD;
|
||||
skelAnime->animCurrentFrame += skelAnime->animPlaybackSpeed * updateRate;
|
||||
if (skelAnime->animCurrentFrame < skelAnime->initialFrame) {
|
||||
skelAnime->animCurrentFrame = (skelAnime->animCurrentFrame - skelAnime->initialFrame) + skelAnime->animFrameCount;
|
||||
skelAnime->animCurrentFrame =
|
||||
(skelAnime->animCurrentFrame - skelAnime->initialFrame) + skelAnime->animFrameCount;
|
||||
} else if (skelAnime->animFrameCount <= skelAnime->animCurrentFrame) {
|
||||
skelAnime->animCurrentFrame = (skelAnime->animCurrentFrame - skelAnime->animFrameCount) + skelAnime->initialFrame;
|
||||
skelAnime->animCurrentFrame =
|
||||
(skelAnime->animCurrentFrame - skelAnime->animFrameCount) + skelAnime->initialFrame;
|
||||
}
|
||||
|
||||
func_800A4C58(skelAnime);
|
||||
|
@ -1542,9 +1552,9 @@ s32 func_800A4E38(SkelAnime* skelAnime) {
|
|||
}
|
||||
|
||||
s32 func_800A4EE0(SkelAnime* skelAnime) {
|
||||
f32 temp_f14;
|
||||
f32 updateRate;
|
||||
|
||||
temp_f14 = R_UPDATE_RATE * ONE_THIRD;
|
||||
updateRate = R_UPDATE_RATE * ONE_THIRD;
|
||||
if (skelAnime->animCurrentFrame == skelAnime->animFrameCount) {
|
||||
|
||||
SkelAnime_AnimateFrame(skelAnime->animCurrentSeg, (s32)skelAnime->animCurrentFrame, skelAnime->limbCount,
|
||||
|
@ -1552,7 +1562,7 @@ s32 func_800A4EE0(SkelAnime* skelAnime) {
|
|||
func_800A4C58(skelAnime);
|
||||
return 1;
|
||||
}
|
||||
skelAnime->animCurrentFrame += skelAnime->animPlaybackSpeed * temp_f14;
|
||||
skelAnime->animCurrentFrame += skelAnime->animPlaybackSpeed * updateRate;
|
||||
if (0.0f < ((skelAnime->animCurrentFrame - skelAnime->animFrameCount) * skelAnime->animPlaybackSpeed)) {
|
||||
skelAnime->animCurrentFrame = skelAnime->animFrameCount;
|
||||
} else {
|
||||
|
@ -1634,7 +1644,8 @@ void SkelAnime_ChangeAnimationDefaultRepeat(SkelAnime* skelAnime, AnimationHeade
|
|||
SkelAnime_GetFrameCount(&animationSeg->genericHeader), 0, 0.0f);
|
||||
}
|
||||
|
||||
void SkelAnime_ChangeAnimationTransitionRepeat(SkelAnime* skelAnime, AnimationHeader* animationSeg, f32 transitionRate) {
|
||||
void SkelAnime_ChangeAnimationTransitionRepeat(SkelAnime* skelAnime, AnimationHeader* animationSeg,
|
||||
f32 transitionRate) {
|
||||
SkelAnime_ChangeAnimation(skelAnime, animationSeg, 1.0f, 0.0f, 0.0f, 0, transitionRate);
|
||||
}
|
||||
|
||||
|
@ -1649,7 +1660,6 @@ void SkelAnime_AnimationSetStop(SkelAnime* skelAnime) {
|
|||
func_800A49B0(skelAnime);
|
||||
}
|
||||
|
||||
|
||||
void SkelAnime_AnimationReverse(SkelAnime* skelAnime) {
|
||||
f32 initialFrame = skelAnime->initialFrame;
|
||||
|
||||
|
@ -1678,7 +1688,7 @@ void func_800A5490(SkelAnime* skelAnime, Vec3s* dst, Vec3s* src, u8* arg3) {
|
|||
|
||||
/*
|
||||
* Moves `pos` backwards on the xz plane from `angle`
|
||||
*/
|
||||
*/
|
||||
void func_800A54FC(SkelAnime* skelAnime, Vec3f* pos, s16 angle) {
|
||||
f32 x;
|
||||
f32 z;
|
||||
|
|
Loading…
Reference in a new issue