From 0d233fdf377ba40eeda5824c58b6f7a191999d5a Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sun, 24 Jul 2022 00:59:16 +1000 Subject: [PATCH] Decompile model0001bfa8 --- src/include/lib/model.h | 4 +- src/include/types.h | 11 +- src/lib/model.c | 1838 +++------------------------------------ 3 files changed, 154 insertions(+), 1699 deletions(-) diff --git a/src/include/lib/model.h b/src/include/lib/model.h index cadc02363..00e1ad18b 100644 --- a/src/include/lib/model.h +++ b/src/include/lib/model.h @@ -35,8 +35,8 @@ void model0001b07c(struct coord *arg0, struct coord *arg1, f32 mult); void model0001b0e8(struct model *model, struct modelnode *node); void model0001b3bc(struct model *model); void model0001b400(struct modelrenderdata *arg0, struct model *model, struct modelnode *node); -u32 model0001b80c(void); -u32 model0001bc14(void); +void model0001b80c(struct modelrenderdata *renderdata, struct model *model, struct modelnode *node, struct coord *arg3, struct coord *arg4, bool arg5, struct coord *arg6); +void model0001bc14(struct modelrenderdata *renderdata, struct model *model, struct modelnode *node, f32 arg3[4], struct coord *arg4, struct coord *arg5); void model0001bfa8(struct modelrenderdata *arg0, struct model *model, struct modelnode *node); void model0001c5b4(struct modelrenderdata *arg0, struct model *model, struct modelnode *node); void model0001c664(struct model *model, struct modelnode *node); diff --git a/src/include/types.h b/src/include/types.h index b0b11b7c7..aff97f185 100644 --- a/src/include/types.h +++ b/src/include/types.h @@ -401,7 +401,14 @@ struct modelrodata_chrinfo { // type 0x01 struct modelrodata_position { // type 0x02 struct coord pos; u16 part; - s16 pieces[3]; + union { + s16 mtxindexes[3]; + struct { + s16 mtxindex0; + s16 mtxindex1; + s16 mtxindex2; + }; + }; f32 drawdist; }; @@ -500,7 +507,7 @@ struct modelrodata_toggle { // type 0x12 struct modelrodata_positionheld { // type 0x15 struct coord pos; - s16 unk0c; + s16 mtxindex; }; struct modelrodata_type16 { // type 0x16 diff --git a/src/lib/model.c b/src/lib/model.c index bf32dfdf6..d31a77bba 100644 --- a/src/lib/model.c +++ b/src/lib/model.c @@ -66,10 +66,10 @@ s32 model0001a524(struct modelnode *node, s32 arg1) return rodata1->chrinfo.mtxindex; case MODELNODETYPE_POSITION: rodata2 = node->rodata; - return rodata2->position.pieces[arg1 == 0x200 ? 2 : (arg1 == 0x100 ? 1 : 0)]; + return rodata2->position.mtxindexes[arg1 == 0x200 ? 2 : (arg1 == 0x100 ? 1 : 0)]; case MODELNODETYPE_POSITIONHELD: rodata3 = node->rodata; - return rodata3->positionheld.unk0c; + return rodata3->positionheld.mtxindex; } node = node->parent; @@ -111,15 +111,15 @@ struct modelnode *model0001a634(struct model *model, s32 mtxindex) break; case MODELNODETYPE_POSITION: rodata2 = node->rodata; - if (mtxindex == rodata2->position.pieces[0] - || mtxindex == rodata2->position.pieces[1] - || mtxindex == rodata2->position.pieces[2]) { + if (mtxindex == rodata2->position.mtxindexes[0] + || mtxindex == rodata2->position.mtxindexes[1] + || mtxindex == rodata2->position.mtxindexes[2]) { return node; } break; case MODELNODETYPE_POSITIONHELD: rodata3 = node->rodata; - if (mtxindex == rodata3->positionheld.unk0c) { + if (mtxindex == rodata3->positionheld.mtxindex) { return node; } break; @@ -1329,1703 +1329,151 @@ glabel var70054320 /* 1bfa4: 00000000 */ nop ); -#if VERSION >= VERSION_JPN_FINAL -GLOBAL_ASM( -glabel model0001bfa8 -.late_rodata -glabel var70053fc0pf -.word 0x3c23d70a -.text -/* 1bf60: 27bdfea0 */ addiu $sp,$sp,-352 -/* 1bf64: afbf002c */ sw $ra,0x2c($sp) -/* 1bf68: afb00028 */ sw $s0,0x28($sp) -/* 1bf6c: afa40160 */ sw $a0,0x160($sp) -/* 1bf70: afa50164 */ sw $a1,0x164($sp) -/* 1bf74: afa60168 */ sw $a2,0x168($sp) -/* 1bf78: 8ccf0004 */ lw $t7,0x4($a2) -/* 1bf7c: afaf0158 */ sw $t7,0x158($sp) -/* 1bf80: 8cb00020 */ lw $s0,0x20($a1) -/* 1bf84: 5200015a */ beqzl $s0,.JF0001c4f0 -/* 1bf88: 8faf0168 */ lw $t7,0x168($sp) -/* 1bf8c: 95f9000c */ lhu $t9,0xc($t7) -/* 1bf90: 3c098006 */ lui $t1,0x8006 -/* 1bf94: 27b80144 */ addiu $t8,$sp,0x144 -/* 1bf98: afb90154 */ sw $t9,0x154($sp) -/* 1bf9c: 8ca20008 */ lw $v0,0x8($a1) -/* 1bfa0: 3c013f80 */ lui $at,0x3f80 -/* 1bfa4: 8c480004 */ lw $t0,0x4($v0) -/* 1bfa8: afa80150 */ sw $t0,0x150($sp) -/* 1bfac: 86070000 */ lh $a3,0x0($s0) -/* 1bfb0: 27a80138 */ addiu $t0,$sp,0x138 -/* 1bfb4: 10e00054 */ beqz $a3,.JF0001c108 -/* 1bfb8: 00075080 */ sll $t2,$a3,0x2 -/* 1bfbc: 8d29eecc */ lw $t1,-0x1134($t1) -/* 1bfc0: 01475023 */ subu $t2,$t2,$a3 -/* 1bfc4: 000a5080 */ sll $t2,$t2,0x2 -/* 1bfc8: 012a5821 */ addu $t3,$t1,$t2 -/* 1bfcc: 9163000b */ lbu $v1,0xb($t3) -/* 1bfd0: 27a9012c */ addiu $t1,$sp,0x12c -/* 1bfd4: 306c0002 */ andi $t4,$v1,0x2 -/* 1bfd8: 000c182b */ sltu $v1,$zero,$t4 -/* 1bfdc: 50600005 */ beqzl $v1,.JF0001bff4 -/* 1bfe0: afa30128 */ sw $v1,0x128($sp) -/* 1bfe4: 8c4f0000 */ lw $t7,0x0($v0) -/* 1bfe8: 00cf1826 */ xor $v1,$a2,$t7 -/* 1bfec: 2c630001 */ sltiu $v1,$v1,0x1 -/* 1bff0: afa30128 */ sw $v1,0x128($sp) -.JF0001bff4: -/* 1bff4: 92190004 */ lbu $t9,0x4($s0) -/* 1bff8: 82050008 */ lb $a1,0x8($s0) -/* 1bffc: afa3003c */ sw $v1,0x3c($sp) -/* 1c000: afa9001c */ sw $t1,0x1c($sp) -/* 1c004: afa80018 */ sw $t0,0x18($sp) -/* 1c008: afb80014 */ sw $t8,0x14($sp) -/* 1c00c: 8fa40154 */ lw $a0,0x154($sp) -/* 1c010: 8fa60150 */ lw $a2,0x150($sp) -/* 1c014: 0c008ed8 */ jal anim00024050 -/* 1c018: afb90010 */ sw $t9,0x10($sp) -/* 1c01c: 3c0a800a */ lui $t2,0x800a -/* 1c020: 8d4aaafc */ lw $t2,-0x5504($t2) -/* 1c024: 51400013 */ beqzl $t2,.JF0001c074 -/* 1c028: 44807000 */ mtc1 $zero,$f14 -/* 1c02c: 44807000 */ mtc1 $zero,$f14 -/* 1c030: c600001c */ lwc1 $f0,0x1c($s0) -/* 1c034: 4600703c */ c.lt.s $f14,$f0 -/* 1c038: 00000000 */ nop -/* 1c03c: 4502000d */ bc1fl .JF0001c074 -/* 1c040: 44807000 */ mtc1 $zero,$f14 -/* 1c044: c6040010 */ lwc1 $f4,0x10($s0) -/* 1c048: 3c017005 */ lui $at,0x7005 -/* 1c04c: c42841dc */ lwc1 $f8,0x41dc($at) -/* 1c050: 46002183 */ div.s $f6,$f4,$f0 -/* 1c054: 0fc2618c */ jal floorf -/* 1c058: 46083300 */ add.s $f12,$f6,$f8 -/* 1c05c: c60a001c */ lwc1 $f10,0x1c($s0) -/* 1c060: 44807000 */ mtc1 $zero,$f14 -/* 1c064: 460a0082 */ mul.s $f2,$f0,$f10 -/* 1c068: 10000004 */ b .JF0001c07c -/* 1c06c: 460e1032 */ c.eq.s $f2,$f14 -/* 1c070: 44807000 */ mtc1 $zero,$f14 -.JF0001c074: -/* 1c074: c6020010 */ lwc1 $f2,0x10($s0) -/* 1c078: 460e1032 */ c.eq.s $f2,$f14 -.JF0001c07c: -/* 1c07c: 8fa40154 */ lw $a0,0x154($sp) -/* 1c080: 8fa60150 */ lw $a2,0x150($sp) -/* 1c084: 27ac00d4 */ addiu $t4,$sp,0xd4 -/* 1c088: 4501001c */ bc1t .JF0001c0fc -/* 1c08c: 27ad00c8 */ addiu $t5,$sp,0xc8 -/* 1c090: 920b0005 */ lbu $t3,0x5($s0) -/* 1c094: 82050008 */ lb $a1,0x8($s0) -/* 1c098: 86070000 */ lh $a3,0x0($s0) -/* 1c09c: 27ae00bc */ addiu $t6,$sp,0xbc -/* 1c0a0: afae001c */ sw $t6,0x1c($sp) -/* 1c0a4: e7a200e0 */ swc1 $f2,0xe0($sp) -/* 1c0a8: afad0018 */ sw $t5,0x18($sp) -/* 1c0ac: afac0014 */ sw $t4,0x14($sp) -/* 1c0b0: 0c008ed8 */ jal anim00024050 -/* 1c0b4: afab0010 */ sw $t3,0x10($sp) -/* 1c0b8: c7a200e0 */ lwc1 $f2,0xe0($sp) -/* 1c0bc: 27a40144 */ addiu $a0,$sp,0x144 -/* 1c0c0: 27a500d4 */ addiu $a1,$sp,0xd4 -/* 1c0c4: 44061000 */ mfc1 $a2,$f2 -/* 1c0c8: 0c006c07 */ jal model0001b07c -/* 1c0cc: 00000000 */ nop -/* 1c0d0: 8faf003c */ lw $t7,0x3c($sp) -/* 1c0d4: c7a200e0 */ lwc1 $f2,0xe0($sp) -/* 1c0d8: 3c198006 */ lui $t9,0x8006 -/* 1c0dc: 15e00004 */ bnez $t7,.JF0001c0f0 -/* 1c0e0: 27a40138 */ addiu $a0,$sp,0x138 -/* 1c0e4: 8f39ee7c */ lw $t9,-0x1184($t9) -/* 1c0e8: 53200005 */ beqzl $t9,.JF0001c100 -/* 1c0ec: 44807000 */ mtc1 $zero,$f14 -.JF0001c0f0: -/* 1c0f0: 44061000 */ mfc1 $a2,$f2 -/* 1c0f4: 0c006bce */ jal model0001af98 -/* 1c0f8: 27a500c8 */ addiu $a1,$sp,0xc8 -.JF0001c0fc: -/* 1c0fc: 44807000 */ mtc1 $zero,$f14 -.JF0001c100: -/* 1c100: 10000010 */ b .JF0001c144 -/* 1c104: c6120054 */ lwc1 $f18,0x54($s0) -.JF0001c108: -/* 1c108: 44800000 */ mtc1 $zero,$f0 -/* 1c10c: 44801000 */ mtc1 $zero,$f2 -/* 1c110: 44807000 */ mtc1 $zero,$f14 -/* 1c114: e7a00140 */ swc1 $f0,0x140($sp) -/* 1c118: e7a0013c */ swc1 $f0,0x13c($sp) -/* 1c11c: e7a00138 */ swc1 $f0,0x138($sp) -/* 1c120: 44810000 */ mtc1 $at,$f0 -/* 1c124: afa00128 */ sw $zero,0x128($sp) -/* 1c128: e7a20148 */ swc1 $f2,0x148($sp) -/* 1c12c: e7a20144 */ swc1 $f2,0x144($sp) -/* 1c130: e7a2014c */ swc1 $f2,0x14c($sp) -/* 1c134: e7a00130 */ swc1 $f0,0x130($sp) -/* 1c138: e7a0012c */ swc1 $f0,0x12c($sp) -/* 1c13c: e7a00134 */ swc1 $f0,0x134($sp) -/* 1c140: c6120054 */ lwc1 $f18,0x54($s0) -.JF0001c144: -/* 1c144: 8fa40154 */ lw $a0,0x154($sp) -/* 1c148: 8fa60150 */ lw $a2,0x150($sp) -/* 1c14c: 46127032 */ c.eq.s $f14,$f18 -/* 1c150: 27a800b0 */ addiu $t0,$sp,0xb0 -/* 1c154: 27a900a4 */ addiu $t1,$sp,0xa4 -/* 1c158: 27aa0098 */ addiu $t2,$sp,0x98 -/* 1c15c: 4501007a */ bc1t .JF0001c348 -/* 1c160: 8fb90128 */ lw $t9,0x128($sp) -/* 1c164: 92180006 */ lbu $t8,0x6($s0) -/* 1c168: 82050009 */ lb $a1,0x9($s0) -/* 1c16c: 86070002 */ lh $a3,0x2($s0) -/* 1c170: afaa001c */ sw $t2,0x1c($sp) -/* 1c174: afa90018 */ sw $t1,0x18($sp) -/* 1c178: afa80014 */ sw $t0,0x14($sp) -/* 1c17c: 0c008ed8 */ jal anim00024050 -/* 1c180: afb80010 */ sw $t8,0x10($sp) -/* 1c184: 44802000 */ mtc1 $zero,$f4 -/* 1c188: c6060034 */ lwc1 $f6,0x34($s0) -/* 1c18c: 8fa40154 */ lw $a0,0x154($sp) -/* 1c190: 8fa60150 */ lw $a2,0x150($sp) -/* 1c194: 46062032 */ c.eq.s $f4,$f6 -/* 1c198: 27ac005c */ addiu $t4,$sp,0x5c -/* 1c19c: 27ad0050 */ addiu $t5,$sp,0x50 -/* 1c1a0: 27ae0044 */ addiu $t6,$sp,0x44 -/* 1c1a4: 4503000e */ bc1tl .JF0001c1e0 -/* 1c1a8: 27a40144 */ addiu $a0,$sp,0x144 -/* 1c1ac: 920b0007 */ lbu $t3,0x7($s0) -/* 1c1b0: 82050009 */ lb $a1,0x9($s0) -/* 1c1b4: 86070002 */ lh $a3,0x2($s0) -/* 1c1b8: afae001c */ sw $t6,0x1c($sp) -/* 1c1bc: afad0018 */ sw $t5,0x18($sp) -/* 1c1c0: afac0014 */ sw $t4,0x14($sp) -/* 1c1c4: 0c008ed8 */ jal anim00024050 -/* 1c1c8: afab0010 */ sw $t3,0x10($sp) -/* 1c1cc: 27a400b0 */ addiu $a0,$sp,0xb0 -/* 1c1d0: 27a5005c */ addiu $a1,$sp,0x5c -/* 1c1d4: 0c006c07 */ jal model0001b07c -/* 1c1d8: 8e060034 */ lw $a2,0x34($s0) -/* 1c1dc: 27a40144 */ addiu $a0,$sp,0x144 -.JF0001c1e0: -/* 1c1e0: 0fc25e90 */ jal quaternion0f096ca0 -/* 1c1e4: 27a50088 */ addiu $a1,$sp,0x88 -/* 1c1e8: 27a400b0 */ addiu $a0,$sp,0xb0 -/* 1c1ec: 0fc25e90 */ jal quaternion0f096ca0 -/* 1c1f0: 27a50078 */ addiu $a1,$sp,0x78 -/* 1c1f4: 27a40088 */ addiu $a0,$sp,0x88 -/* 1c1f8: 0fc26118 */ jal quaternion0f0976c0 -/* 1c1fc: 27a50078 */ addiu $a1,$sp,0x78 -/* 1c200: 27a70068 */ addiu $a3,$sp,0x68 -/* 1c204: 27a40088 */ addiu $a0,$sp,0x88 -/* 1c208: 27a50078 */ addiu $a1,$sp,0x78 -/* 1c20c: 0fc26016 */ jal quaternionSlerp -/* 1c210: 8e060054 */ lw $a2,0x54($s0) -/* 1c214: 44804000 */ mtc1 $zero,$f8 -/* 1c218: c7aa0138 */ lwc1 $f10,0x138($sp) -/* 1c21c: 27a70068 */ addiu $a3,$sp,0x68 -/* 1c220: c7b2013c */ lwc1 $f18,0x13c($sp) -/* 1c224: 460a4032 */ c.eq.s $f8,$f10 -/* 1c228: c7a80138 */ lwc1 $f8,0x138($sp) -/* 1c22c: 27b80138 */ addiu $t8,$sp,0x138 -/* 1c230: 27a8012c */ addiu $t0,$sp,0x12c -/* 1c234: 4502000e */ bc1fl .JF0001c270 -/* 1c238: c60a0088 */ lwc1 $f10,0x88($s0) -/* 1c23c: 44808000 */ mtc1 $zero,$f16 -/* 1c240: c7a60140 */ lwc1 $f6,0x140($sp) -/* 1c244: 46128032 */ c.eq.s $f16,$f18 -/* 1c248: 00000000 */ nop -/* 1c24c: 45020008 */ bc1fl .JF0001c270 -/* 1c250: c60a0088 */ lwc1 $f10,0x88($s0) -/* 1c254: 44802000 */ mtc1 $zero,$f4 -/* 1c258: 8fa90164 */ lw $t1,0x164($sp) -/* 1c25c: 46062032 */ c.eq.s $f4,$f6 -/* 1c260: 00000000 */ nop -/* 1c264: 45030023 */ bc1tl .JF0001c2f4 -/* 1c268: 8d2a0008 */ lw $t2,0x8($t1) -/* 1c26c: c60a0088 */ lwc1 $f10,0x88($s0) -.JF0001c270: -/* 1c270: c7b2013c */ lwc1 $f18,0x13c($sp) -/* 1c274: 8fa50164 */ lw $a1,0x164($sp) -/* 1c278: 460a4402 */ mul.s $f16,$f8,$f10 -/* 1c27c: c7a80140 */ lwc1 $f8,0x140($sp) -/* 1c280: 8fa60168 */ lw $a2,0x168($sp) -/* 1c284: 8fa20158 */ lw $v0,0x158($sp) -/* 1c288: e7b00138 */ swc1 $f16,0x138($sp) -/* 1c28c: c6040088 */ lwc1 $f4,0x88($s0) -/* 1c290: 46049182 */ mul.s $f6,$f18,$f4 -/* 1c294: e7a6013c */ swc1 $f6,0x13c($sp) -/* 1c298: c60a0088 */ lwc1 $f10,0x88($s0) -/* 1c29c: 460a4482 */ mul.s $f18,$f8,$f10 -/* 1c2a0: e7b20140 */ swc1 $f18,0x140($sp) -/* 1c2a4: 8caf0008 */ lw $t7,0x8($a1) -/* 1c2a8: 8df90000 */ lw $t9,0x0($t7) -/* 1c2ac: 50d9000b */ beql $a2,$t9,.JF0001c2dc -/* 1c2b0: 8fa40160 */ lw $a0,0x160($sp) -/* 1c2b4: c4440000 */ lwc1 $f4,0x0($v0) -/* 1c2b8: 46048200 */ add.s $f8,$f16,$f4 -/* 1c2bc: e7a80138 */ swc1 $f8,0x138($sp) -/* 1c2c0: c44a0004 */ lwc1 $f10,0x4($v0) -/* 1c2c4: 460a3400 */ add.s $f16,$f6,$f10 -/* 1c2c8: e7b0013c */ swc1 $f16,0x13c($sp) -/* 1c2cc: c4440008 */ lwc1 $f4,0x8($v0) -/* 1c2d0: 46049200 */ add.s $f8,$f18,$f4 -/* 1c2d4: e7a80140 */ swc1 $f8,0x140($sp) -/* 1c2d8: 8fa40160 */ lw $a0,0x160($sp) -.JF0001c2dc: -/* 1c2dc: afb80010 */ sw $t8,0x10($sp) -/* 1c2e0: 0c006ef3 */ jal model0001bc14 -/* 1c2e4: afa80014 */ sw $t0,0x14($sp) -/* 1c2e8: 100000a2 */ b .JF0001c574 -/* 1c2ec: 8fbf002c */ lw $ra,0x2c($sp) -/* 1c2f0: 8d2a0008 */ lw $t2,0x8($t1) -.JF0001c2f4: -/* 1c2f4: 8fa60168 */ lw $a2,0x168($sp) -/* 1c2f8: 8fa40160 */ lw $a0,0x160($sp) -/* 1c2fc: 8d4b0000 */ lw $t3,0x0($t2) -/* 1c300: 8fa50164 */ lw $a1,0x164($sp) -/* 1c304: 27ae0138 */ addiu $t6,$sp,0x138 -/* 1c308: 10cb000a */ beq $a2,$t3,.JF0001c334 -/* 1c30c: 27af012c */ addiu $t7,$sp,0x12c -/* 1c310: 8fac0158 */ lw $t4,0x158($sp) -/* 1c314: 27ad012c */ addiu $t5,$sp,0x12c -/* 1c318: afad0014 */ sw $t5,0x14($sp) -/* 1c31c: 8fa40160 */ lw $a0,0x160($sp) -/* 1c320: 01202825 */ move $a1,$t1 -/* 1c324: 0c006ef3 */ jal model0001bc14 -/* 1c328: afac0010 */ sw $t4,0x10($sp) -/* 1c32c: 10000091 */ b .JF0001c574 -/* 1c330: 8fbf002c */ lw $ra,0x2c($sp) -.JF0001c334: -/* 1c334: afae0010 */ sw $t6,0x10($sp) -/* 1c338: 0c006ef3 */ jal model0001bc14 -/* 1c33c: afaf0014 */ sw $t7,0x14($sp) -/* 1c340: 1000008c */ b .JF0001c574 -/* 1c344: 8fbf002c */ lw $ra,0x2c($sp) -.JF0001c348: -/* 1c348: 13200019 */ beqz $t9,.JF0001c3b0 -/* 1c34c: c7a60138 */ lwc1 $f6,0x138($sp) -/* 1c350: 0fc57326 */ jal func0f15c888 -/* 1c354: 00000000 */ nop -/* 1c358: c7a60138 */ lwc1 $f6,0x138($sp) -/* 1c35c: c7b0013c */ lwc1 $f16,0x13c($sp) -/* 1c360: c7a40140 */ lwc1 $f4,0x140($sp) -/* 1c364: 46003282 */ mul.s $f10,$f6,$f0 -/* 1c368: 27b80138 */ addiu $t8,$sp,0x138 -/* 1c36c: 24080001 */ li $t0,0x1 -/* 1c370: 46008482 */ mul.s $f18,$f16,$f0 -/* 1c374: 27aa012c */ addiu $t2,$sp,0x12c -/* 1c378: afaa0018 */ sw $t2,0x18($sp) -/* 1c37c: 46002202 */ mul.s $f8,$f4,$f0 -/* 1c380: e7aa0138 */ swc1 $f10,0x138($sp) -/* 1c384: afa80014 */ sw $t0,0x14($sp) -/* 1c388: afb80010 */ sw $t8,0x10($sp) -/* 1c38c: e7b2013c */ swc1 $f18,0x13c($sp) -/* 1c390: 8fa40160 */ lw $a0,0x160($sp) -/* 1c394: 8fa50164 */ lw $a1,0x164($sp) -/* 1c398: e7a80140 */ swc1 $f8,0x140($sp) -/* 1c39c: 8fa60168 */ lw $a2,0x168($sp) -/* 1c3a0: 0c006df1 */ jal model0001b80c -/* 1c3a4: 27a70144 */ addiu $a3,$sp,0x144 -/* 1c3a8: 10000072 */ b .JF0001c574 -/* 1c3ac: 8fbf002c */ lw $ra,0x2c($sp) -.JF0001c3b0: -/* 1c3b0: 46067032 */ c.eq.s $f14,$f6 -/* 1c3b4: c7aa013c */ lwc1 $f10,0x13c($sp) -/* 1c3b8: c7b20138 */ lwc1 $f18,0x138($sp) -/* 1c3bc: 27a70144 */ addiu $a3,$sp,0x144 -/* 1c3c0: 45000009 */ bc1f .JF0001c3e8 -/* 1c3c4: 27af0138 */ addiu $t7,$sp,0x138 -/* 1c3c8: 460a7032 */ c.eq.s $f14,$f10 -/* 1c3cc: c7b00140 */ lwc1 $f16,0x140($sp) -/* 1c3d0: 45020006 */ bc1fl .JF0001c3ec -/* 1c3d4: c6040088 */ lwc1 $f4,0x88($s0) -/* 1c3d8: 46107032 */ c.eq.s $f14,$f16 -/* 1c3dc: 8fa80164 */ lw $t0,0x164($sp) -/* 1c3e0: 45030027 */ bc1tl .JF0001c480 -/* 1c3e4: 8d0a0008 */ lw $t2,0x8($t0) -.JF0001c3e8: -/* 1c3e8: c6040088 */ lwc1 $f4,0x88($s0) -.JF0001c3ec: -/* 1c3ec: c7a6013c */ lwc1 $f6,0x13c($sp) -/* 1c3f0: 8fa90164 */ lw $t1,0x164($sp) -/* 1c3f4: 46049202 */ mul.s $f8,$f18,$f4 -/* 1c3f8: c7b20140 */ lwc1 $f18,0x140($sp) -/* 1c3fc: 8fab0168 */ lw $t3,0x168($sp) -/* 1c400: 8fae0158 */ lw $t6,0x158($sp) -/* 1c404: 27b9012c */ addiu $t9,$sp,0x12c -/* 1c408: e7a80138 */ swc1 $f8,0x138($sp) -/* 1c40c: c60a0088 */ lwc1 $f10,0x88($s0) -/* 1c410: 460a3402 */ mul.s $f16,$f6,$f10 -/* 1c414: e7b0013c */ swc1 $f16,0x13c($sp) -/* 1c418: c6040088 */ lwc1 $f4,0x88($s0) -/* 1c41c: 46049182 */ mul.s $f6,$f18,$f4 -/* 1c420: e7a60140 */ swc1 $f6,0x140($sp) -/* 1c424: 8d2c0008 */ lw $t4,0x8($t1) -/* 1c428: 8d8d0000 */ lw $t5,0x0($t4) -/* 1c42c: 516d000b */ beql $t3,$t5,.JF0001c45c -/* 1c430: 8fa40160 */ lw $a0,0x160($sp) -/* 1c434: c5ca0000 */ lwc1 $f10,0x0($t6) -/* 1c438: 460a4480 */ add.s $f18,$f8,$f10 -/* 1c43c: e7b20138 */ swc1 $f18,0x138($sp) -/* 1c440: c5c40004 */ lwc1 $f4,0x4($t6) -/* 1c444: 46048200 */ add.s $f8,$f16,$f4 -/* 1c448: e7a8013c */ swc1 $f8,0x13c($sp) -/* 1c44c: c5ca0008 */ lwc1 $f10,0x8($t6) -/* 1c450: 460a3480 */ add.s $f18,$f6,$f10 -/* 1c454: e7b20140 */ swc1 $f18,0x140($sp) -/* 1c458: 8fa40160 */ lw $a0,0x160($sp) -.JF0001c45c: -/* 1c45c: 8fa50164 */ lw $a1,0x164($sp) -/* 1c460: 8fa60168 */ lw $a2,0x168($sp) -/* 1c464: afaf0010 */ sw $t7,0x10($sp) -/* 1c468: afa00014 */ sw $zero,0x14($sp) -/* 1c46c: 0c006df1 */ jal model0001b80c -/* 1c470: afb90018 */ sw $t9,0x18($sp) -/* 1c474: 1000003f */ b .JF0001c574 -/* 1c478: 8fbf002c */ lw $ra,0x2c($sp) -/* 1c47c: 8d0a0008 */ lw $t2,0x8($t0) -.JF0001c480: -/* 1c480: 8fb80168 */ lw $t8,0x168($sp) -/* 1c484: 8fa40160 */ lw $a0,0x160($sp) -/* 1c488: 8d490000 */ lw $t1,0x0($t2) -/* 1c48c: 8fa50164 */ lw $a1,0x164($sp) -/* 1c490: 8fa60168 */ lw $a2,0x168($sp) -/* 1c494: 1309000d */ beq $t8,$t1,.JF0001c4cc -/* 1c498: 27a70144 */ addiu $a3,$sp,0x144 -/* 1c49c: 8fac0158 */ lw $t4,0x158($sp) -/* 1c4a0: 27ab012c */ addiu $t3,$sp,0x12c -/* 1c4a4: afab0018 */ sw $t3,0x18($sp) -/* 1c4a8: 8fa40160 */ lw $a0,0x160($sp) -/* 1c4ac: 01002825 */ move $a1,$t0 -/* 1c4b0: 03003025 */ move $a2,$t8 -/* 1c4b4: 27a70144 */ addiu $a3,$sp,0x144 -/* 1c4b8: afa00014 */ sw $zero,0x14($sp) -/* 1c4bc: 0c006df1 */ jal model0001b80c -/* 1c4c0: afac0010 */ sw $t4,0x10($sp) -/* 1c4c4: 1000002b */ b .JF0001c574 -/* 1c4c8: 8fbf002c */ lw $ra,0x2c($sp) -.JF0001c4cc: -/* 1c4cc: 27ad0138 */ addiu $t5,$sp,0x138 -/* 1c4d0: 27ae012c */ addiu $t6,$sp,0x12c -/* 1c4d4: afae0018 */ sw $t6,0x18($sp) -/* 1c4d8: afad0010 */ sw $t5,0x10($sp) -/* 1c4dc: 0c006df1 */ jal model0001b80c -/* 1c4e0: afa00014 */ sw $zero,0x14($sp) -/* 1c4e4: 10000023 */ b .JF0001c574 -/* 1c4e8: 8fbf002c */ lw $ra,0x2c($sp) -/* 1c4ec: 8faf0168 */ lw $t7,0x168($sp) -.JF0001c4f0: -/* 1c4f0: 8fa40164 */ lw $a0,0x164($sp) -/* 1c4f4: 8fb90160 */ lw $t9,0x160($sp) -/* 1c4f8: 8de50008 */ lw $a1,0x8($t7) -/* 1c4fc: 50a00006 */ beqzl $a1,.JF0001c518 -/* 1c500: 8f300000 */ lw $s0,0x0($t9) -/* 1c504: 0c00695b */ jal model0001a5cc -/* 1c508: 00003025 */ move $a2,$zero -/* 1c50c: 10000002 */ b .JF0001c518 -/* 1c510: 00408025 */ move $s0,$v0 -/* 1c514: 8f300000 */ lw $s0,0x0($t9) -.JF0001c518: -/* 1c518: 1200000f */ beqz $s0,.JF0001c558 -/* 1c51c: 8fa40158 */ lw $a0,0x158($sp) -/* 1c520: 8fa40158 */ lw $a0,0x158($sp) -/* 1c524: 0c00599f */ jal mtx4LoadTranslation -/* 1c528: 27a500e8 */ addiu $a1,$sp,0xe8 -/* 1c52c: 8fa80158 */ lw $t0,0x158($sp) -/* 1c530: 8faa0164 */ lw $t2,0x164($sp) -/* 1c534: 02002025 */ move $a0,$s0 -/* 1c538: 8518000e */ lh $t8,0xe($t0) -/* 1c53c: 8d49000c */ lw $t1,0xc($t2) -/* 1c540: 27a500e8 */ addiu $a1,$sp,0xe8 -/* 1c544: 00186180 */ sll $t4,$t8,0x6 -/* 1c548: 0c0056e1 */ jal mtx00015be4 -/* 1c54c: 012c3021 */ addu $a2,$t1,$t4 -/* 1c550: 10000008 */ b .JF0001c574 -/* 1c554: 8fbf002c */ lw $ra,0x2c($sp) -.JF0001c558: -/* 1c558: 8fad0164 */ lw $t5,0x164($sp) -/* 1c55c: 848f000e */ lh $t7,0xe($a0) -/* 1c560: 8dae000c */ lw $t6,0xc($t5) -/* 1c564: 000fc980 */ sll $t9,$t7,0x6 -/* 1c568: 0c00599f */ jal mtx4LoadTranslation -/* 1c56c: 01d92821 */ addu $a1,$t6,$t9 -/* 1c570: 8fbf002c */ lw $ra,0x2c($sp) -.JF0001c574: -/* 1c574: 8fb00028 */ lw $s0,0x28($sp) -/* 1c578: 27bd0160 */ addiu $sp,$sp,0x160 -/* 1c57c: 03e00008 */ jr $ra -/* 1c580: 00000000 */ nop -); -#elif VERSION >= VERSION_PAL_FINAL -GLOBAL_ASM( -glabel model0001bfa8 -.late_rodata -glabel var70053fc0pf -.word 0x3c23d70a -.text -/* 1bd50: 27bdfea0 */ addiu $sp,$sp,-352 -/* 1bd54: afbf002c */ sw $ra,0x2c($sp) -/* 1bd58: afb00028 */ sw $s0,0x28($sp) -/* 1bd5c: afa40160 */ sw $a0,0x160($sp) -/* 1bd60: afa50164 */ sw $a1,0x164($sp) -/* 1bd64: afa60168 */ sw $a2,0x168($sp) -/* 1bd68: 8ccf0004 */ lw $t7,0x4($a2) -/* 1bd6c: afaf0158 */ sw $t7,0x158($sp) -/* 1bd70: 8cb00020 */ lw $s0,0x20($a1) -/* 1bd74: 5200015a */ beqzl $s0,.PF0001c2e0 -/* 1bd78: 8faf0168 */ lw $t7,0x168($sp) -/* 1bd7c: 95f9000c */ lhu $t9,0xc($t7) -/* 1bd80: 3c098006 */ lui $t1,0x8006 -/* 1bd84: 27b80144 */ addiu $t8,$sp,0x144 -/* 1bd88: afb90154 */ sw $t9,0x154($sp) -/* 1bd8c: 8ca20008 */ lw $v0,0x8($a1) -/* 1bd90: 3c013f80 */ lui $at,0x3f80 -/* 1bd94: 8c480004 */ lw $t0,0x4($v0) -/* 1bd98: afa80150 */ sw $t0,0x150($sp) -/* 1bd9c: 86070000 */ lh $a3,0x0($s0) -/* 1bda0: 27a80138 */ addiu $t0,$sp,0x138 -/* 1bda4: 10e00054 */ beqz $a3,.PF0001bef8 -/* 1bda8: 00075080 */ sll $t2,$a3,0x2 -/* 1bdac: 8d29ecbc */ lw $t1,-0x1344($t1) -/* 1bdb0: 01475023 */ subu $t2,$t2,$a3 -/* 1bdb4: 000a5080 */ sll $t2,$t2,0x2 -/* 1bdb8: 012a5821 */ addu $t3,$t1,$t2 -/* 1bdbc: 9163000b */ lbu $v1,0xb($t3) -/* 1bdc0: 27a9012c */ addiu $t1,$sp,0x12c -/* 1bdc4: 306c0002 */ andi $t4,$v1,0x2 -/* 1bdc8: 000c182b */ sltu $v1,$zero,$t4 -/* 1bdcc: 50600005 */ beqzl $v1,.PF0001bde4 -/* 1bdd0: afa30128 */ sw $v1,0x128($sp) -/* 1bdd4: 8c4f0000 */ lw $t7,0x0($v0) -/* 1bdd8: 00cf1826 */ xor $v1,$a2,$t7 -/* 1bddc: 2c630001 */ sltiu $v1,$v1,0x1 -/* 1bde0: afa30128 */ sw $v1,0x128($sp) -.PF0001bde4: -/* 1bde4: 92190004 */ lbu $t9,0x4($s0) -/* 1bde8: 82050008 */ lb $a1,0x8($s0) -/* 1bdec: afa3003c */ sw $v1,0x3c($sp) -/* 1bdf0: afa9001c */ sw $t1,0x1c($sp) -/* 1bdf4: afa80018 */ sw $t0,0x18($sp) -/* 1bdf8: afb80014 */ sw $t8,0x14($sp) -/* 1bdfc: 8fa40154 */ lw $a0,0x154($sp) -/* 1be00: 8fa60150 */ lw $a2,0x150($sp) -/* 1be04: 0c008e54 */ jal anim00024050 -/* 1be08: afb90010 */ sw $t9,0x10($sp) -/* 1be0c: 3c0a800a */ lui $t2,0x800a -/* 1be10: 8d4aa9dc */ lw $t2,-0x5624($t2) -/* 1be14: 51400013 */ beqzl $t2,.PF0001be64 -/* 1be18: 44807000 */ mtc1 $zero,$f14 -/* 1be1c: 44807000 */ mtc1 $zero,$f14 -/* 1be20: c600001c */ lwc1 $f0,0x1c($s0) -/* 1be24: 4600703c */ c.lt.s $f14,$f0 -/* 1be28: 00000000 */ nop -/* 1be2c: 4502000d */ bc1fl .PF0001be64 -/* 1be30: 44807000 */ mtc1 $zero,$f14 -/* 1be34: c6040010 */ lwc1 $f4,0x10($s0) -/* 1be38: 3c017005 */ lui $at,0x7005 -/* 1be3c: c4283fcc */ lwc1 $f8,0x3fcc($at) -/* 1be40: 46002183 */ div.s $f6,$f4,$f0 -/* 1be44: 0fc25dec */ jal floorf -/* 1be48: 46083300 */ add.s $f12,$f6,$f8 -/* 1be4c: c60a001c */ lwc1 $f10,0x1c($s0) -/* 1be50: 44807000 */ mtc1 $zero,$f14 -/* 1be54: 460a0082 */ mul.s $f2,$f0,$f10 -/* 1be58: 10000004 */ b .PF0001be6c -/* 1be5c: 460e1032 */ c.eq.s $f2,$f14 -/* 1be60: 44807000 */ mtc1 $zero,$f14 -.PF0001be64: -/* 1be64: c6020010 */ lwc1 $f2,0x10($s0) -/* 1be68: 460e1032 */ c.eq.s $f2,$f14 -.PF0001be6c: -/* 1be6c: 8fa40154 */ lw $a0,0x154($sp) -/* 1be70: 8fa60150 */ lw $a2,0x150($sp) -/* 1be74: 27ac00d4 */ addiu $t4,$sp,0xd4 -/* 1be78: 4501001c */ bc1t .PF0001beec -/* 1be7c: 27ad00c8 */ addiu $t5,$sp,0xc8 -/* 1be80: 920b0005 */ lbu $t3,0x5($s0) -/* 1be84: 82050008 */ lb $a1,0x8($s0) -/* 1be88: 86070000 */ lh $a3,0x0($s0) -/* 1be8c: 27ae00bc */ addiu $t6,$sp,0xbc -/* 1be90: afae001c */ sw $t6,0x1c($sp) -/* 1be94: e7a200e0 */ swc1 $f2,0xe0($sp) -/* 1be98: afad0018 */ sw $t5,0x18($sp) -/* 1be9c: afac0014 */ sw $t4,0x14($sp) -/* 1bea0: 0c008e54 */ jal anim00024050 -/* 1bea4: afab0010 */ sw $t3,0x10($sp) -/* 1bea8: c7a200e0 */ lwc1 $f2,0xe0($sp) -/* 1beac: 27a40144 */ addiu $a0,$sp,0x144 -/* 1beb0: 27a500d4 */ addiu $a1,$sp,0xd4 -/* 1beb4: 44061000 */ mfc1 $a2,$f2 -/* 1beb8: 0c006b83 */ jal model0001b07c -/* 1bebc: 00000000 */ nop -/* 1bec0: 8faf003c */ lw $t7,0x3c($sp) -/* 1bec4: c7a200e0 */ lwc1 $f2,0xe0($sp) -/* 1bec8: 3c198006 */ lui $t9,0x8006 -/* 1becc: 15e00004 */ bnez $t7,.PF0001bee0 -/* 1bed0: 27a40138 */ addiu $a0,$sp,0x138 -/* 1bed4: 8f39ec6c */ lw $t9,-0x1394($t9) -/* 1bed8: 53200005 */ beqzl $t9,.PF0001bef0 -/* 1bedc: 44807000 */ mtc1 $zero,$f14 -.PF0001bee0: -/* 1bee0: 44061000 */ mfc1 $a2,$f2 -/* 1bee4: 0c006b4a */ jal model0001af98 -/* 1bee8: 27a500c8 */ addiu $a1,$sp,0xc8 -.PF0001beec: -/* 1beec: 44807000 */ mtc1 $zero,$f14 -.PF0001bef0: -/* 1bef0: 10000010 */ b .PF0001bf34 -/* 1bef4: c6120054 */ lwc1 $f18,0x54($s0) -.PF0001bef8: -/* 1bef8: 44800000 */ mtc1 $zero,$f0 -/* 1befc: 44801000 */ mtc1 $zero,$f2 -/* 1bf00: 44807000 */ mtc1 $zero,$f14 -/* 1bf04: e7a00140 */ swc1 $f0,0x140($sp) -/* 1bf08: e7a0013c */ swc1 $f0,0x13c($sp) -/* 1bf0c: e7a00138 */ swc1 $f0,0x138($sp) -/* 1bf10: 44810000 */ mtc1 $at,$f0 -/* 1bf14: afa00128 */ sw $zero,0x128($sp) -/* 1bf18: e7a20148 */ swc1 $f2,0x148($sp) -/* 1bf1c: e7a20144 */ swc1 $f2,0x144($sp) -/* 1bf20: e7a2014c */ swc1 $f2,0x14c($sp) -/* 1bf24: e7a00130 */ swc1 $f0,0x130($sp) -/* 1bf28: e7a0012c */ swc1 $f0,0x12c($sp) -/* 1bf2c: e7a00134 */ swc1 $f0,0x134($sp) -/* 1bf30: c6120054 */ lwc1 $f18,0x54($s0) -.PF0001bf34: -/* 1bf34: 8fa40154 */ lw $a0,0x154($sp) -/* 1bf38: 8fa60150 */ lw $a2,0x150($sp) -/* 1bf3c: 46127032 */ c.eq.s $f14,$f18 -/* 1bf40: 27a800b0 */ addiu $t0,$sp,0xb0 -/* 1bf44: 27a900a4 */ addiu $t1,$sp,0xa4 -/* 1bf48: 27aa0098 */ addiu $t2,$sp,0x98 -/* 1bf4c: 4501007a */ bc1t .PF0001c138 -/* 1bf50: 8fb90128 */ lw $t9,0x128($sp) -/* 1bf54: 92180006 */ lbu $t8,0x6($s0) -/* 1bf58: 82050009 */ lb $a1,0x9($s0) -/* 1bf5c: 86070002 */ lh $a3,0x2($s0) -/* 1bf60: afaa001c */ sw $t2,0x1c($sp) -/* 1bf64: afa90018 */ sw $t1,0x18($sp) -/* 1bf68: afa80014 */ sw $t0,0x14($sp) -/* 1bf6c: 0c008e54 */ jal anim00024050 -/* 1bf70: afb80010 */ sw $t8,0x10($sp) -/* 1bf74: 44802000 */ mtc1 $zero,$f4 -/* 1bf78: c6060034 */ lwc1 $f6,0x34($s0) -/* 1bf7c: 8fa40154 */ lw $a0,0x154($sp) -/* 1bf80: 8fa60150 */ lw $a2,0x150($sp) -/* 1bf84: 46062032 */ c.eq.s $f4,$f6 -/* 1bf88: 27ac005c */ addiu $t4,$sp,0x5c -/* 1bf8c: 27ad0050 */ addiu $t5,$sp,0x50 -/* 1bf90: 27ae0044 */ addiu $t6,$sp,0x44 -/* 1bf94: 4503000e */ bc1tl .PF0001bfd0 -/* 1bf98: 27a40144 */ addiu $a0,$sp,0x144 -/* 1bf9c: 920b0007 */ lbu $t3,0x7($s0) -/* 1bfa0: 82050009 */ lb $a1,0x9($s0) -/* 1bfa4: 86070002 */ lh $a3,0x2($s0) -/* 1bfa8: afae001c */ sw $t6,0x1c($sp) -/* 1bfac: afad0018 */ sw $t5,0x18($sp) -/* 1bfb0: afac0014 */ sw $t4,0x14($sp) -/* 1bfb4: 0c008e54 */ jal anim00024050 -/* 1bfb8: afab0010 */ sw $t3,0x10($sp) -/* 1bfbc: 27a400b0 */ addiu $a0,$sp,0xb0 -/* 1bfc0: 27a5005c */ addiu $a1,$sp,0x5c -/* 1bfc4: 0c006b83 */ jal model0001b07c -/* 1bfc8: 8e060034 */ lw $a2,0x34($s0) -/* 1bfcc: 27a40144 */ addiu $a0,$sp,0x144 -.PF0001bfd0: -/* 1bfd0: 0fc25af0 */ jal quaternion0f096ca0 -/* 1bfd4: 27a50088 */ addiu $a1,$sp,0x88 -/* 1bfd8: 27a400b0 */ addiu $a0,$sp,0xb0 -/* 1bfdc: 0fc25af0 */ jal quaternion0f096ca0 -/* 1bfe0: 27a50078 */ addiu $a1,$sp,0x78 -/* 1bfe4: 27a40088 */ addiu $a0,$sp,0x88 -/* 1bfe8: 0fc25d78 */ jal quaternion0f0976c0 -/* 1bfec: 27a50078 */ addiu $a1,$sp,0x78 -/* 1bff0: 27a70068 */ addiu $a3,$sp,0x68 -/* 1bff4: 27a40088 */ addiu $a0,$sp,0x88 -/* 1bff8: 27a50078 */ addiu $a1,$sp,0x78 -/* 1bffc: 0fc25c76 */ jal quaternionSlerp -/* 1c000: 8e060054 */ lw $a2,0x54($s0) -/* 1c004: 44804000 */ mtc1 $zero,$f8 -/* 1c008: c7aa0138 */ lwc1 $f10,0x138($sp) -/* 1c00c: 27a70068 */ addiu $a3,$sp,0x68 -/* 1c010: c7b2013c */ lwc1 $f18,0x13c($sp) -/* 1c014: 460a4032 */ c.eq.s $f8,$f10 -/* 1c018: c7a80138 */ lwc1 $f8,0x138($sp) -/* 1c01c: 27b80138 */ addiu $t8,$sp,0x138 -/* 1c020: 27a8012c */ addiu $t0,$sp,0x12c -/* 1c024: 4502000e */ bc1fl .PF0001c060 -/* 1c028: c60a0088 */ lwc1 $f10,0x88($s0) -/* 1c02c: 44808000 */ mtc1 $zero,$f16 -/* 1c030: c7a60140 */ lwc1 $f6,0x140($sp) -/* 1c034: 46128032 */ c.eq.s $f16,$f18 -/* 1c038: 00000000 */ nop -/* 1c03c: 45020008 */ bc1fl .PF0001c060 -/* 1c040: c60a0088 */ lwc1 $f10,0x88($s0) -/* 1c044: 44802000 */ mtc1 $zero,$f4 -/* 1c048: 8fa90164 */ lw $t1,0x164($sp) -/* 1c04c: 46062032 */ c.eq.s $f4,$f6 -/* 1c050: 00000000 */ nop -/* 1c054: 45030023 */ bc1tl .PF0001c0e4 -/* 1c058: 8d2a0008 */ lw $t2,0x8($t1) -/* 1c05c: c60a0088 */ lwc1 $f10,0x88($s0) -.PF0001c060: -/* 1c060: c7b2013c */ lwc1 $f18,0x13c($sp) -/* 1c064: 8fa50164 */ lw $a1,0x164($sp) -/* 1c068: 460a4402 */ mul.s $f16,$f8,$f10 -/* 1c06c: c7a80140 */ lwc1 $f8,0x140($sp) -/* 1c070: 8fa60168 */ lw $a2,0x168($sp) -/* 1c074: 8fa20158 */ lw $v0,0x158($sp) -/* 1c078: e7b00138 */ swc1 $f16,0x138($sp) -/* 1c07c: c6040088 */ lwc1 $f4,0x88($s0) -/* 1c080: 46049182 */ mul.s $f6,$f18,$f4 -/* 1c084: e7a6013c */ swc1 $f6,0x13c($sp) -/* 1c088: c60a0088 */ lwc1 $f10,0x88($s0) -/* 1c08c: 460a4482 */ mul.s $f18,$f8,$f10 -/* 1c090: e7b20140 */ swc1 $f18,0x140($sp) -/* 1c094: 8caf0008 */ lw $t7,0x8($a1) -/* 1c098: 8df90000 */ lw $t9,0x0($t7) -/* 1c09c: 50d9000b */ beql $a2,$t9,.PF0001c0cc -/* 1c0a0: 8fa40160 */ lw $a0,0x160($sp) -/* 1c0a4: c4440000 */ lwc1 $f4,0x0($v0) -/* 1c0a8: 46048200 */ add.s $f8,$f16,$f4 -/* 1c0ac: e7a80138 */ swc1 $f8,0x138($sp) -/* 1c0b0: c44a0004 */ lwc1 $f10,0x4($v0) -/* 1c0b4: 460a3400 */ add.s $f16,$f6,$f10 -/* 1c0b8: e7b0013c */ swc1 $f16,0x13c($sp) -/* 1c0bc: c4440008 */ lwc1 $f4,0x8($v0) -/* 1c0c0: 46049200 */ add.s $f8,$f18,$f4 -/* 1c0c4: e7a80140 */ swc1 $f8,0x140($sp) -/* 1c0c8: 8fa40160 */ lw $a0,0x160($sp) -.PF0001c0cc: -/* 1c0cc: afb80010 */ sw $t8,0x10($sp) -/* 1c0d0: 0c006e6f */ jal model0001bc14 -/* 1c0d4: afa80014 */ sw $t0,0x14($sp) -/* 1c0d8: 100000a2 */ b .PF0001c364 -/* 1c0dc: 8fbf002c */ lw $ra,0x2c($sp) -/* 1c0e0: 8d2a0008 */ lw $t2,0x8($t1) -.PF0001c0e4: -/* 1c0e4: 8fa60168 */ lw $a2,0x168($sp) -/* 1c0e8: 8fa40160 */ lw $a0,0x160($sp) -/* 1c0ec: 8d4b0000 */ lw $t3,0x0($t2) -/* 1c0f0: 8fa50164 */ lw $a1,0x164($sp) -/* 1c0f4: 27ae0138 */ addiu $t6,$sp,0x138 -/* 1c0f8: 10cb000a */ beq $a2,$t3,.PF0001c124 -/* 1c0fc: 27af012c */ addiu $t7,$sp,0x12c -/* 1c100: 8fac0158 */ lw $t4,0x158($sp) -/* 1c104: 27ad012c */ addiu $t5,$sp,0x12c -/* 1c108: afad0014 */ sw $t5,0x14($sp) -/* 1c10c: 8fa40160 */ lw $a0,0x160($sp) -/* 1c110: 01202825 */ move $a1,$t1 -/* 1c114: 0c006e6f */ jal model0001bc14 -/* 1c118: afac0010 */ sw $t4,0x10($sp) -/* 1c11c: 10000091 */ b .PF0001c364 -/* 1c120: 8fbf002c */ lw $ra,0x2c($sp) -.PF0001c124: -/* 1c124: afae0010 */ sw $t6,0x10($sp) -/* 1c128: 0c006e6f */ jal model0001bc14 -/* 1c12c: afaf0014 */ sw $t7,0x14($sp) -/* 1c130: 1000008c */ b .PF0001c364 -/* 1c134: 8fbf002c */ lw $ra,0x2c($sp) -.PF0001c138: -/* 1c138: 13200019 */ beqz $t9,.PF0001c1a0 -/* 1c13c: c7a60138 */ lwc1 $f6,0x138($sp) -/* 1c140: 0fc57602 */ jal func0f15c888 -/* 1c144: 00000000 */ nop -/* 1c148: c7a60138 */ lwc1 $f6,0x138($sp) -/* 1c14c: c7b0013c */ lwc1 $f16,0x13c($sp) -/* 1c150: c7a40140 */ lwc1 $f4,0x140($sp) -/* 1c154: 46003282 */ mul.s $f10,$f6,$f0 -/* 1c158: 27b80138 */ addiu $t8,$sp,0x138 -/* 1c15c: 24080001 */ li $t0,0x1 -/* 1c160: 46008482 */ mul.s $f18,$f16,$f0 -/* 1c164: 27aa012c */ addiu $t2,$sp,0x12c -/* 1c168: afaa0018 */ sw $t2,0x18($sp) -/* 1c16c: 46002202 */ mul.s $f8,$f4,$f0 -/* 1c170: e7aa0138 */ swc1 $f10,0x138($sp) -/* 1c174: afa80014 */ sw $t0,0x14($sp) -/* 1c178: afb80010 */ sw $t8,0x10($sp) -/* 1c17c: e7b2013c */ swc1 $f18,0x13c($sp) -/* 1c180: 8fa40160 */ lw $a0,0x160($sp) -/* 1c184: 8fa50164 */ lw $a1,0x164($sp) -/* 1c188: e7a80140 */ swc1 $f8,0x140($sp) -/* 1c18c: 8fa60168 */ lw $a2,0x168($sp) -/* 1c190: 0c006d6d */ jal model0001b80c -/* 1c194: 27a70144 */ addiu $a3,$sp,0x144 -/* 1c198: 10000072 */ b .PF0001c364 -/* 1c19c: 8fbf002c */ lw $ra,0x2c($sp) -.PF0001c1a0: -/* 1c1a0: 46067032 */ c.eq.s $f14,$f6 -/* 1c1a4: c7aa013c */ lwc1 $f10,0x13c($sp) -/* 1c1a8: c7b20138 */ lwc1 $f18,0x138($sp) -/* 1c1ac: 27a70144 */ addiu $a3,$sp,0x144 -/* 1c1b0: 45000009 */ bc1f .PF0001c1d8 -/* 1c1b4: 27af0138 */ addiu $t7,$sp,0x138 -/* 1c1b8: 460a7032 */ c.eq.s $f14,$f10 -/* 1c1bc: c7b00140 */ lwc1 $f16,0x140($sp) -/* 1c1c0: 45020006 */ bc1fl .PF0001c1dc -/* 1c1c4: c6040088 */ lwc1 $f4,0x88($s0) -/* 1c1c8: 46107032 */ c.eq.s $f14,$f16 -/* 1c1cc: 8fa80164 */ lw $t0,0x164($sp) -/* 1c1d0: 45030027 */ bc1tl .PF0001c270 -/* 1c1d4: 8d0a0008 */ lw $t2,0x8($t0) -.PF0001c1d8: -/* 1c1d8: c6040088 */ lwc1 $f4,0x88($s0) -.PF0001c1dc: -/* 1c1dc: c7a6013c */ lwc1 $f6,0x13c($sp) -/* 1c1e0: 8fa90164 */ lw $t1,0x164($sp) -/* 1c1e4: 46049202 */ mul.s $f8,$f18,$f4 -/* 1c1e8: c7b20140 */ lwc1 $f18,0x140($sp) -/* 1c1ec: 8fab0168 */ lw $t3,0x168($sp) -/* 1c1f0: 8fae0158 */ lw $t6,0x158($sp) -/* 1c1f4: 27b9012c */ addiu $t9,$sp,0x12c -/* 1c1f8: e7a80138 */ swc1 $f8,0x138($sp) -/* 1c1fc: c60a0088 */ lwc1 $f10,0x88($s0) -/* 1c200: 460a3402 */ mul.s $f16,$f6,$f10 -/* 1c204: e7b0013c */ swc1 $f16,0x13c($sp) -/* 1c208: c6040088 */ lwc1 $f4,0x88($s0) -/* 1c20c: 46049182 */ mul.s $f6,$f18,$f4 -/* 1c210: e7a60140 */ swc1 $f6,0x140($sp) -/* 1c214: 8d2c0008 */ lw $t4,0x8($t1) -/* 1c218: 8d8d0000 */ lw $t5,0x0($t4) -/* 1c21c: 516d000b */ beql $t3,$t5,.PF0001c24c -/* 1c220: 8fa40160 */ lw $a0,0x160($sp) -/* 1c224: c5ca0000 */ lwc1 $f10,0x0($t6) -/* 1c228: 460a4480 */ add.s $f18,$f8,$f10 -/* 1c22c: e7b20138 */ swc1 $f18,0x138($sp) -/* 1c230: c5c40004 */ lwc1 $f4,0x4($t6) -/* 1c234: 46048200 */ add.s $f8,$f16,$f4 -/* 1c238: e7a8013c */ swc1 $f8,0x13c($sp) -/* 1c23c: c5ca0008 */ lwc1 $f10,0x8($t6) -/* 1c240: 460a3480 */ add.s $f18,$f6,$f10 -/* 1c244: e7b20140 */ swc1 $f18,0x140($sp) -/* 1c248: 8fa40160 */ lw $a0,0x160($sp) -.PF0001c24c: -/* 1c24c: 8fa50164 */ lw $a1,0x164($sp) -/* 1c250: 8fa60168 */ lw $a2,0x168($sp) -/* 1c254: afaf0010 */ sw $t7,0x10($sp) -/* 1c258: afa00014 */ sw $zero,0x14($sp) -/* 1c25c: 0c006d6d */ jal model0001b80c -/* 1c260: afb90018 */ sw $t9,0x18($sp) -/* 1c264: 1000003f */ b .PF0001c364 -/* 1c268: 8fbf002c */ lw $ra,0x2c($sp) -/* 1c26c: 8d0a0008 */ lw $t2,0x8($t0) -.PF0001c270: -/* 1c270: 8fb80168 */ lw $t8,0x168($sp) -/* 1c274: 8fa40160 */ lw $a0,0x160($sp) -/* 1c278: 8d490000 */ lw $t1,0x0($t2) -/* 1c27c: 8fa50164 */ lw $a1,0x164($sp) -/* 1c280: 8fa60168 */ lw $a2,0x168($sp) -/* 1c284: 1309000d */ beq $t8,$t1,.PF0001c2bc -/* 1c288: 27a70144 */ addiu $a3,$sp,0x144 -/* 1c28c: 8fac0158 */ lw $t4,0x158($sp) -/* 1c290: 27ab012c */ addiu $t3,$sp,0x12c -/* 1c294: afab0018 */ sw $t3,0x18($sp) -/* 1c298: 8fa40160 */ lw $a0,0x160($sp) -/* 1c29c: 01002825 */ move $a1,$t0 -/* 1c2a0: 03003025 */ move $a2,$t8 -/* 1c2a4: 27a70144 */ addiu $a3,$sp,0x144 -/* 1c2a8: afa00014 */ sw $zero,0x14($sp) -/* 1c2ac: 0c006d6d */ jal model0001b80c -/* 1c2b0: afac0010 */ sw $t4,0x10($sp) -/* 1c2b4: 1000002b */ b .PF0001c364 -/* 1c2b8: 8fbf002c */ lw $ra,0x2c($sp) -.PF0001c2bc: -/* 1c2bc: 27ad0138 */ addiu $t5,$sp,0x138 -/* 1c2c0: 27ae012c */ addiu $t6,$sp,0x12c -/* 1c2c4: afae0018 */ sw $t6,0x18($sp) -/* 1c2c8: afad0010 */ sw $t5,0x10($sp) -/* 1c2cc: 0c006d6d */ jal model0001b80c -/* 1c2d0: afa00014 */ sw $zero,0x14($sp) -/* 1c2d4: 10000023 */ b .PF0001c364 -/* 1c2d8: 8fbf002c */ lw $ra,0x2c($sp) -/* 1c2dc: 8faf0168 */ lw $t7,0x168($sp) -.PF0001c2e0: -/* 1c2e0: 8fa40164 */ lw $a0,0x164($sp) -/* 1c2e4: 8fb90160 */ lw $t9,0x160($sp) -/* 1c2e8: 8de50008 */ lw $a1,0x8($t7) -/* 1c2ec: 50a00006 */ beqzl $a1,.PF0001c308 -/* 1c2f0: 8f300000 */ lw $s0,0x0($t9) -/* 1c2f4: 0c0068d7 */ jal model0001a5cc -/* 1c2f8: 00003025 */ move $a2,$zero -/* 1c2fc: 10000002 */ b .PF0001c308 -/* 1c300: 00408025 */ move $s0,$v0 -/* 1c304: 8f300000 */ lw $s0,0x0($t9) -.PF0001c308: -/* 1c308: 1200000f */ beqz $s0,.PF0001c348 -/* 1c30c: 8fa40158 */ lw $a0,0x158($sp) -/* 1c310: 8fa40158 */ lw $a0,0x158($sp) -/* 1c314: 0c00591b */ jal mtx4LoadTranslation -/* 1c318: 27a500e8 */ addiu $a1,$sp,0xe8 -/* 1c31c: 8fa80158 */ lw $t0,0x158($sp) -/* 1c320: 8faa0164 */ lw $t2,0x164($sp) -/* 1c324: 02002025 */ move $a0,$s0 -/* 1c328: 8518000e */ lh $t8,0xe($t0) -/* 1c32c: 8d49000c */ lw $t1,0xc($t2) -/* 1c330: 27a500e8 */ addiu $a1,$sp,0xe8 -/* 1c334: 00186180 */ sll $t4,$t8,0x6 -/* 1c338: 0c00565d */ jal mtx00015be4 -/* 1c33c: 012c3021 */ addu $a2,$t1,$t4 -/* 1c340: 10000008 */ b .PF0001c364 -/* 1c344: 8fbf002c */ lw $ra,0x2c($sp) -.PF0001c348: -/* 1c348: 8fad0164 */ lw $t5,0x164($sp) -/* 1c34c: 848f000e */ lh $t7,0xe($a0) -/* 1c350: 8dae000c */ lw $t6,0xc($t5) -/* 1c354: 000fc980 */ sll $t9,$t7,0x6 -/* 1c358: 0c00591b */ jal mtx4LoadTranslation -/* 1c35c: 01d92821 */ addu $a1,$t6,$t9 -/* 1c360: 8fbf002c */ lw $ra,0x2c($sp) -.PF0001c364: -/* 1c364: 8fb00028 */ lw $s0,0x28($sp) -/* 1c368: 27bd0160 */ addiu $sp,$sp,0x160 -/* 1c36c: 03e00008 */ jr $ra -/* 1c370: 00000000 */ nop -); -#elif VERSION >= VERSION_PAL_BETA -GLOBAL_ASM( -glabel model0001bfa8 -.late_rodata -glabel var70053fc0pf -.word 0x3c23d70a -.text -/* 1ca10: 27bdfea0 */ addiu $sp,$sp,-352 -/* 1ca14: afbf002c */ sw $ra,0x2c($sp) -/* 1ca18: afb00028 */ sw $s0,0x28($sp) -/* 1ca1c: afa40160 */ sw $a0,0x160($sp) -/* 1ca20: afa50164 */ sw $a1,0x164($sp) -/* 1ca24: afa60168 */ sw $a2,0x168($sp) -/* 1ca28: 8ccf0004 */ lw $t7,0x4($a2) -/* 1ca2c: afaf0158 */ sw $t7,0x158($sp) -/* 1ca30: 8cb00020 */ lw $s0,0x20($a1) -/* 1ca34: 5200015a */ beqzl $s0,.PB0001cfa0 -/* 1ca38: 8faf0168 */ lw $t7,0x168($sp) -/* 1ca3c: 95f9000c */ lhu $t9,0xc($t7) -/* 1ca40: 3c098006 */ lui $t1,0x8006 -/* 1ca44: 27b80144 */ addiu $t8,$sp,0x144 -/* 1ca48: afb90154 */ sw $t9,0x154($sp) -/* 1ca4c: 8ca20008 */ lw $v0,0x8($a1) -/* 1ca50: 3c013f80 */ lui $at,0x3f80 -/* 1ca54: 8c480004 */ lw $t0,0x4($v0) -/* 1ca58: afa80150 */ sw $t0,0x150($sp) -/* 1ca5c: 86070000 */ lh $a3,0x0($s0) -/* 1ca60: 27a80138 */ addiu $t0,$sp,0x138 -/* 1ca64: 10e00054 */ beqz $a3,.PB0001cbb8 -/* 1ca68: 00075080 */ sll $t2,$a3,0x2 -/* 1ca6c: 8d2906ac */ lw $t1,0x6ac($t1) -/* 1ca70: 01475023 */ subu $t2,$t2,$a3 -/* 1ca74: 000a5080 */ sll $t2,$t2,0x2 -/* 1ca78: 012a5821 */ addu $t3,$t1,$t2 -/* 1ca7c: 9163000b */ lbu $v1,0xb($t3) -/* 1ca80: 27a9012c */ addiu $t1,$sp,0x12c -/* 1ca84: 306c0002 */ andi $t4,$v1,0x2 -/* 1ca88: 000c182b */ sltu $v1,$zero,$t4 -/* 1ca8c: 50600005 */ beqzl $v1,.PB0001caa4 -/* 1ca90: afa30128 */ sw $v1,0x128($sp) -/* 1ca94: 8c4f0000 */ lw $t7,0x0($v0) -/* 1ca98: 00cf1826 */ xor $v1,$a2,$t7 -/* 1ca9c: 2c630001 */ sltiu $v1,$v1,0x1 -/* 1caa0: afa30128 */ sw $v1,0x128($sp) -.PB0001caa4: -/* 1caa4: 92190004 */ lbu $t9,0x4($s0) -/* 1caa8: 82050008 */ lb $a1,0x8($s0) -/* 1caac: afa3003c */ sw $v1,0x3c($sp) -/* 1cab0: afa9001c */ sw $t1,0x1c($sp) -/* 1cab4: afa80018 */ sw $t0,0x18($sp) -/* 1cab8: afb80014 */ sw $t8,0x14($sp) -/* 1cabc: 8fa40154 */ lw $a0,0x154($sp) -/* 1cac0: 8fa60150 */ lw $a2,0x150($sp) -/* 1cac4: 0c009184 */ jal anim00024050 -/* 1cac8: afb90010 */ sw $t9,0x10($sp) -/* 1cacc: 3c0a800a */ lui $t2,0x800a -/* 1cad0: 8d4ae99c */ lw $t2,-0x1664($t2) -/* 1cad4: 51400013 */ beqzl $t2,.PB0001cb24 -/* 1cad8: 44807000 */ mtc1 $zero,$f14 -/* 1cadc: 44807000 */ mtc1 $zero,$f14 -/* 1cae0: c600001c */ lwc1 $f0,0x1c($s0) -/* 1cae4: 4600703c */ c.lt.s $f14,$f0 -/* 1cae8: 00000000 */ nop -/* 1caec: 4502000d */ bc1fl .PB0001cb24 -/* 1caf0: 44807000 */ mtc1 $zero,$f14 -/* 1caf4: c6040010 */ lwc1 $f4,0x10($s0) -/* 1caf8: 3c017005 */ lui $at,0x7005 -/* 1cafc: c4284cbc */ lwc1 $f8,0x4cbc($at) -/* 1cb00: 46002183 */ div.s $f6,$f4,$f0 -/* 1cb04: 0fc25dc0 */ jal floorf -/* 1cb08: 46083300 */ add.s $f12,$f6,$f8 -/* 1cb0c: c60a001c */ lwc1 $f10,0x1c($s0) -/* 1cb10: 44807000 */ mtc1 $zero,$f14 -/* 1cb14: 460a0082 */ mul.s $f2,$f0,$f10 -/* 1cb18: 10000004 */ b .PB0001cb2c -/* 1cb1c: 460e1032 */ c.eq.s $f2,$f14 -/* 1cb20: 44807000 */ mtc1 $zero,$f14 -.PB0001cb24: -/* 1cb24: c6020010 */ lwc1 $f2,0x10($s0) -/* 1cb28: 460e1032 */ c.eq.s $f2,$f14 -.PB0001cb2c: -/* 1cb2c: 8fa40154 */ lw $a0,0x154($sp) -/* 1cb30: 8fa60150 */ lw $a2,0x150($sp) -/* 1cb34: 27ac00d4 */ addiu $t4,$sp,0xd4 -/* 1cb38: 4501001c */ bc1t .PB0001cbac -/* 1cb3c: 27ad00c8 */ addiu $t5,$sp,0xc8 -/* 1cb40: 920b0005 */ lbu $t3,0x5($s0) -/* 1cb44: 82050008 */ lb $a1,0x8($s0) -/* 1cb48: 86070000 */ lh $a3,0x0($s0) -/* 1cb4c: 27ae00bc */ addiu $t6,$sp,0xbc -/* 1cb50: afae001c */ sw $t6,0x1c($sp) -/* 1cb54: e7a200e0 */ swc1 $f2,0xe0($sp) -/* 1cb58: afad0018 */ sw $t5,0x18($sp) -/* 1cb5c: afac0014 */ sw $t4,0x14($sp) -/* 1cb60: 0c009184 */ jal anim00024050 -/* 1cb64: afab0010 */ sw $t3,0x10($sp) -/* 1cb68: c7a200e0 */ lwc1 $f2,0xe0($sp) -/* 1cb6c: 27a40144 */ addiu $a0,$sp,0x144 -/* 1cb70: 27a500d4 */ addiu $a1,$sp,0xd4 -/* 1cb74: 44061000 */ mfc1 $a2,$f2 -/* 1cb78: 0c006eb3 */ jal model0001b07c -/* 1cb7c: 00000000 */ nop -/* 1cb80: 8faf003c */ lw $t7,0x3c($sp) -/* 1cb84: c7a200e0 */ lwc1 $f2,0xe0($sp) -/* 1cb88: 3c198006 */ lui $t9,0x8006 -/* 1cb8c: 15e00004 */ bnez $t7,.PB0001cba0 -/* 1cb90: 27a40138 */ addiu $a0,$sp,0x138 -/* 1cb94: 8f39065c */ lw $t9,0x65c($t9) -/* 1cb98: 53200005 */ beqzl $t9,.PB0001cbb0 -/* 1cb9c: 44807000 */ mtc1 $zero,$f14 -.PB0001cba0: -/* 1cba0: 44061000 */ mfc1 $a2,$f2 -/* 1cba4: 0c006e7a */ jal model0001af98 -/* 1cba8: 27a500c8 */ addiu $a1,$sp,0xc8 -.PB0001cbac: -/* 1cbac: 44807000 */ mtc1 $zero,$f14 -.PB0001cbb0: -/* 1cbb0: 10000010 */ b .PB0001cbf4 -/* 1cbb4: c6120054 */ lwc1 $f18,0x54($s0) -.PB0001cbb8: -/* 1cbb8: 44800000 */ mtc1 $zero,$f0 -/* 1cbbc: 44801000 */ mtc1 $zero,$f2 -/* 1cbc0: 44807000 */ mtc1 $zero,$f14 -/* 1cbc4: e7a00140 */ swc1 $f0,0x140($sp) -/* 1cbc8: e7a0013c */ swc1 $f0,0x13c($sp) -/* 1cbcc: e7a00138 */ swc1 $f0,0x138($sp) -/* 1cbd0: 44810000 */ mtc1 $at,$f0 -/* 1cbd4: afa00128 */ sw $zero,0x128($sp) -/* 1cbd8: e7a20148 */ swc1 $f2,0x148($sp) -/* 1cbdc: e7a20144 */ swc1 $f2,0x144($sp) -/* 1cbe0: e7a2014c */ swc1 $f2,0x14c($sp) -/* 1cbe4: e7a00130 */ swc1 $f0,0x130($sp) -/* 1cbe8: e7a0012c */ swc1 $f0,0x12c($sp) -/* 1cbec: e7a00134 */ swc1 $f0,0x134($sp) -/* 1cbf0: c6120054 */ lwc1 $f18,0x54($s0) -.PB0001cbf4: -/* 1cbf4: 8fa40154 */ lw $a0,0x154($sp) -/* 1cbf8: 8fa60150 */ lw $a2,0x150($sp) -/* 1cbfc: 46127032 */ c.eq.s $f14,$f18 -/* 1cc00: 27a800b0 */ addiu $t0,$sp,0xb0 -/* 1cc04: 27a900a4 */ addiu $t1,$sp,0xa4 -/* 1cc08: 27aa0098 */ addiu $t2,$sp,0x98 -/* 1cc0c: 4501007a */ bc1t .PB0001cdf8 -/* 1cc10: 8fb90128 */ lw $t9,0x128($sp) -/* 1cc14: 92180006 */ lbu $t8,0x6($s0) -/* 1cc18: 82050009 */ lb $a1,0x9($s0) -/* 1cc1c: 86070002 */ lh $a3,0x2($s0) -/* 1cc20: afaa001c */ sw $t2,0x1c($sp) -/* 1cc24: afa90018 */ sw $t1,0x18($sp) -/* 1cc28: afa80014 */ sw $t0,0x14($sp) -/* 1cc2c: 0c009184 */ jal anim00024050 -/* 1cc30: afb80010 */ sw $t8,0x10($sp) -/* 1cc34: 44802000 */ mtc1 $zero,$f4 -/* 1cc38: c6060034 */ lwc1 $f6,0x34($s0) -/* 1cc3c: 8fa40154 */ lw $a0,0x154($sp) -/* 1cc40: 8fa60150 */ lw $a2,0x150($sp) -/* 1cc44: 46062032 */ c.eq.s $f4,$f6 -/* 1cc48: 27ac005c */ addiu $t4,$sp,0x5c -/* 1cc4c: 27ad0050 */ addiu $t5,$sp,0x50 -/* 1cc50: 27ae0044 */ addiu $t6,$sp,0x44 -/* 1cc54: 4503000e */ bc1tl .PB0001cc90 -/* 1cc58: 27a40144 */ addiu $a0,$sp,0x144 -/* 1cc5c: 920b0007 */ lbu $t3,0x7($s0) -/* 1cc60: 82050009 */ lb $a1,0x9($s0) -/* 1cc64: 86070002 */ lh $a3,0x2($s0) -/* 1cc68: afae001c */ sw $t6,0x1c($sp) -/* 1cc6c: afad0018 */ sw $t5,0x18($sp) -/* 1cc70: afac0014 */ sw $t4,0x14($sp) -/* 1cc74: 0c009184 */ jal anim00024050 -/* 1cc78: afab0010 */ sw $t3,0x10($sp) -/* 1cc7c: 27a400b0 */ addiu $a0,$sp,0xb0 -/* 1cc80: 27a5005c */ addiu $a1,$sp,0x5c -/* 1cc84: 0c006eb3 */ jal model0001b07c -/* 1cc88: 8e060034 */ lw $a2,0x34($s0) -/* 1cc8c: 27a40144 */ addiu $a0,$sp,0x144 -.PB0001cc90: -/* 1cc90: 0fc25ac4 */ jal quaternion0f096ca0 -/* 1cc94: 27a50088 */ addiu $a1,$sp,0x88 -/* 1cc98: 27a400b0 */ addiu $a0,$sp,0xb0 -/* 1cc9c: 0fc25ac4 */ jal quaternion0f096ca0 -/* 1cca0: 27a50078 */ addiu $a1,$sp,0x78 -/* 1cca4: 27a40088 */ addiu $a0,$sp,0x88 -/* 1cca8: 0fc25d4c */ jal quaternion0f0976c0 -/* 1ccac: 27a50078 */ addiu $a1,$sp,0x78 -/* 1ccb0: 27a70068 */ addiu $a3,$sp,0x68 -/* 1ccb4: 27a40088 */ addiu $a0,$sp,0x88 -/* 1ccb8: 27a50078 */ addiu $a1,$sp,0x78 -/* 1ccbc: 0fc25c4a */ jal quaternionSlerp -/* 1ccc0: 8e060054 */ lw $a2,0x54($s0) -/* 1ccc4: 44804000 */ mtc1 $zero,$f8 -/* 1ccc8: c7aa0138 */ lwc1 $f10,0x138($sp) -/* 1cccc: 27a70068 */ addiu $a3,$sp,0x68 -/* 1ccd0: c7b2013c */ lwc1 $f18,0x13c($sp) -/* 1ccd4: 460a4032 */ c.eq.s $f8,$f10 -/* 1ccd8: c7a80138 */ lwc1 $f8,0x138($sp) -/* 1ccdc: 27b80138 */ addiu $t8,$sp,0x138 -/* 1cce0: 27a8012c */ addiu $t0,$sp,0x12c -/* 1cce4: 4502000e */ bc1fl .PB0001cd20 -/* 1cce8: c60a0088 */ lwc1 $f10,0x88($s0) -/* 1ccec: 44808000 */ mtc1 $zero,$f16 -/* 1ccf0: c7a60140 */ lwc1 $f6,0x140($sp) -/* 1ccf4: 46128032 */ c.eq.s $f16,$f18 -/* 1ccf8: 00000000 */ nop -/* 1ccfc: 45020008 */ bc1fl .PB0001cd20 -/* 1cd00: c60a0088 */ lwc1 $f10,0x88($s0) -/* 1cd04: 44802000 */ mtc1 $zero,$f4 -/* 1cd08: 8fa90164 */ lw $t1,0x164($sp) -/* 1cd0c: 46062032 */ c.eq.s $f4,$f6 -/* 1cd10: 00000000 */ nop -/* 1cd14: 45030023 */ bc1tl .PB0001cda4 -/* 1cd18: 8d2a0008 */ lw $t2,0x8($t1) -/* 1cd1c: c60a0088 */ lwc1 $f10,0x88($s0) -.PB0001cd20: -/* 1cd20: c7b2013c */ lwc1 $f18,0x13c($sp) -/* 1cd24: 8fa50164 */ lw $a1,0x164($sp) -/* 1cd28: 460a4402 */ mul.s $f16,$f8,$f10 -/* 1cd2c: c7a80140 */ lwc1 $f8,0x140($sp) -/* 1cd30: 8fa60168 */ lw $a2,0x168($sp) -/* 1cd34: 8fa20158 */ lw $v0,0x158($sp) -/* 1cd38: e7b00138 */ swc1 $f16,0x138($sp) -/* 1cd3c: c6040088 */ lwc1 $f4,0x88($s0) -/* 1cd40: 46049182 */ mul.s $f6,$f18,$f4 -/* 1cd44: e7a6013c */ swc1 $f6,0x13c($sp) -/* 1cd48: c60a0088 */ lwc1 $f10,0x88($s0) -/* 1cd4c: 460a4482 */ mul.s $f18,$f8,$f10 -/* 1cd50: e7b20140 */ swc1 $f18,0x140($sp) -/* 1cd54: 8caf0008 */ lw $t7,0x8($a1) -/* 1cd58: 8df90000 */ lw $t9,0x0($t7) -/* 1cd5c: 50d9000b */ beql $a2,$t9,.PB0001cd8c -/* 1cd60: 8fa40160 */ lw $a0,0x160($sp) -/* 1cd64: c4440000 */ lwc1 $f4,0x0($v0) -/* 1cd68: 46048200 */ add.s $f8,$f16,$f4 -/* 1cd6c: e7a80138 */ swc1 $f8,0x138($sp) -/* 1cd70: c44a0004 */ lwc1 $f10,0x4($v0) -/* 1cd74: 460a3400 */ add.s $f16,$f6,$f10 -/* 1cd78: e7b0013c */ swc1 $f16,0x13c($sp) -/* 1cd7c: c4440008 */ lwc1 $f4,0x8($v0) -/* 1cd80: 46049200 */ add.s $f8,$f18,$f4 -/* 1cd84: e7a80140 */ swc1 $f8,0x140($sp) -/* 1cd88: 8fa40160 */ lw $a0,0x160($sp) -.PB0001cd8c: -/* 1cd8c: afb80010 */ sw $t8,0x10($sp) -/* 1cd90: 0c00719f */ jal model0001bc14 -/* 1cd94: afa80014 */ sw $t0,0x14($sp) -/* 1cd98: 100000a2 */ b .PB0001d024 -/* 1cd9c: 8fbf002c */ lw $ra,0x2c($sp) -/* 1cda0: 8d2a0008 */ lw $t2,0x8($t1) -.PB0001cda4: -/* 1cda4: 8fa60168 */ lw $a2,0x168($sp) -/* 1cda8: 8fa40160 */ lw $a0,0x160($sp) -/* 1cdac: 8d4b0000 */ lw $t3,0x0($t2) -/* 1cdb0: 8fa50164 */ lw $a1,0x164($sp) -/* 1cdb4: 27ae0138 */ addiu $t6,$sp,0x138 -/* 1cdb8: 10cb000a */ beq $a2,$t3,.PB0001cde4 -/* 1cdbc: 27af012c */ addiu $t7,$sp,0x12c -/* 1cdc0: 8fac0158 */ lw $t4,0x158($sp) -/* 1cdc4: 27ad012c */ addiu $t5,$sp,0x12c -/* 1cdc8: afad0014 */ sw $t5,0x14($sp) -/* 1cdcc: 8fa40160 */ lw $a0,0x160($sp) -/* 1cdd0: 01202825 */ move $a1,$t1 -/* 1cdd4: 0c00719f */ jal model0001bc14 -/* 1cdd8: afac0010 */ sw $t4,0x10($sp) -/* 1cddc: 10000091 */ b .PB0001d024 -/* 1cde0: 8fbf002c */ lw $ra,0x2c($sp) -.PB0001cde4: -/* 1cde4: afae0010 */ sw $t6,0x10($sp) -/* 1cde8: 0c00719f */ jal model0001bc14 -/* 1cdec: afaf0014 */ sw $t7,0x14($sp) -/* 1cdf0: 1000008c */ b .PB0001d024 -/* 1cdf4: 8fbf002c */ lw $ra,0x2c($sp) -.PB0001cdf8: -/* 1cdf8: 13200019 */ beqz $t9,.PB0001ce60 -/* 1cdfc: c7a60138 */ lwc1 $f6,0x138($sp) -/* 1ce00: 0fc577be */ jal func0f15c888 -/* 1ce04: 00000000 */ nop -/* 1ce08: c7a60138 */ lwc1 $f6,0x138($sp) -/* 1ce0c: c7b0013c */ lwc1 $f16,0x13c($sp) -/* 1ce10: c7a40140 */ lwc1 $f4,0x140($sp) -/* 1ce14: 46003282 */ mul.s $f10,$f6,$f0 -/* 1ce18: 27b80138 */ addiu $t8,$sp,0x138 -/* 1ce1c: 24080001 */ li $t0,0x1 -/* 1ce20: 46008482 */ mul.s $f18,$f16,$f0 -/* 1ce24: 27aa012c */ addiu $t2,$sp,0x12c -/* 1ce28: afaa0018 */ sw $t2,0x18($sp) -/* 1ce2c: 46002202 */ mul.s $f8,$f4,$f0 -/* 1ce30: e7aa0138 */ swc1 $f10,0x138($sp) -/* 1ce34: afa80014 */ sw $t0,0x14($sp) -/* 1ce38: afb80010 */ sw $t8,0x10($sp) -/* 1ce3c: e7b2013c */ swc1 $f18,0x13c($sp) -/* 1ce40: 8fa40160 */ lw $a0,0x160($sp) -/* 1ce44: 8fa50164 */ lw $a1,0x164($sp) -/* 1ce48: e7a80140 */ swc1 $f8,0x140($sp) -/* 1ce4c: 8fa60168 */ lw $a2,0x168($sp) -/* 1ce50: 0c00709d */ jal model0001b80c -/* 1ce54: 27a70144 */ addiu $a3,$sp,0x144 -/* 1ce58: 10000072 */ b .PB0001d024 -/* 1ce5c: 8fbf002c */ lw $ra,0x2c($sp) -.PB0001ce60: -/* 1ce60: 46067032 */ c.eq.s $f14,$f6 -/* 1ce64: c7aa013c */ lwc1 $f10,0x13c($sp) -/* 1ce68: c7b20138 */ lwc1 $f18,0x138($sp) -/* 1ce6c: 27a70144 */ addiu $a3,$sp,0x144 -/* 1ce70: 45000009 */ bc1f .PB0001ce98 -/* 1ce74: 27af0138 */ addiu $t7,$sp,0x138 -/* 1ce78: 460a7032 */ c.eq.s $f14,$f10 -/* 1ce7c: c7b00140 */ lwc1 $f16,0x140($sp) -/* 1ce80: 45020006 */ bc1fl .PB0001ce9c -/* 1ce84: c6040088 */ lwc1 $f4,0x88($s0) -/* 1ce88: 46107032 */ c.eq.s $f14,$f16 -/* 1ce8c: 8fa80164 */ lw $t0,0x164($sp) -/* 1ce90: 45030027 */ bc1tl .PB0001cf30 -/* 1ce94: 8d0a0008 */ lw $t2,0x8($t0) -.PB0001ce98: -/* 1ce98: c6040088 */ lwc1 $f4,0x88($s0) -.PB0001ce9c: -/* 1ce9c: c7a6013c */ lwc1 $f6,0x13c($sp) -/* 1cea0: 8fa90164 */ lw $t1,0x164($sp) -/* 1cea4: 46049202 */ mul.s $f8,$f18,$f4 -/* 1cea8: c7b20140 */ lwc1 $f18,0x140($sp) -/* 1ceac: 8fab0168 */ lw $t3,0x168($sp) -/* 1ceb0: 8fae0158 */ lw $t6,0x158($sp) -/* 1ceb4: 27b9012c */ addiu $t9,$sp,0x12c -/* 1ceb8: e7a80138 */ swc1 $f8,0x138($sp) -/* 1cebc: c60a0088 */ lwc1 $f10,0x88($s0) -/* 1cec0: 460a3402 */ mul.s $f16,$f6,$f10 -/* 1cec4: e7b0013c */ swc1 $f16,0x13c($sp) -/* 1cec8: c6040088 */ lwc1 $f4,0x88($s0) -/* 1cecc: 46049182 */ mul.s $f6,$f18,$f4 -/* 1ced0: e7a60140 */ swc1 $f6,0x140($sp) -/* 1ced4: 8d2c0008 */ lw $t4,0x8($t1) -/* 1ced8: 8d8d0000 */ lw $t5,0x0($t4) -/* 1cedc: 516d000b */ beql $t3,$t5,.PB0001cf0c -/* 1cee0: 8fa40160 */ lw $a0,0x160($sp) -/* 1cee4: c5ca0000 */ lwc1 $f10,0x0($t6) -/* 1cee8: 460a4480 */ add.s $f18,$f8,$f10 -/* 1ceec: e7b20138 */ swc1 $f18,0x138($sp) -/* 1cef0: c5c40004 */ lwc1 $f4,0x4($t6) -/* 1cef4: 46048200 */ add.s $f8,$f16,$f4 -/* 1cef8: e7a8013c */ swc1 $f8,0x13c($sp) -/* 1cefc: c5ca0008 */ lwc1 $f10,0x8($t6) -/* 1cf00: 460a3480 */ add.s $f18,$f6,$f10 -/* 1cf04: e7b20140 */ swc1 $f18,0x140($sp) -/* 1cf08: 8fa40160 */ lw $a0,0x160($sp) -.PB0001cf0c: -/* 1cf0c: 8fa50164 */ lw $a1,0x164($sp) -/* 1cf10: 8fa60168 */ lw $a2,0x168($sp) -/* 1cf14: afaf0010 */ sw $t7,0x10($sp) -/* 1cf18: afa00014 */ sw $zero,0x14($sp) -/* 1cf1c: 0c00709d */ jal model0001b80c -/* 1cf20: afb90018 */ sw $t9,0x18($sp) -/* 1cf24: 1000003f */ b .PB0001d024 -/* 1cf28: 8fbf002c */ lw $ra,0x2c($sp) -/* 1cf2c: 8d0a0008 */ lw $t2,0x8($t0) -.PB0001cf30: -/* 1cf30: 8fb80168 */ lw $t8,0x168($sp) -/* 1cf34: 8fa40160 */ lw $a0,0x160($sp) -/* 1cf38: 8d490000 */ lw $t1,0x0($t2) -/* 1cf3c: 8fa50164 */ lw $a1,0x164($sp) -/* 1cf40: 8fa60168 */ lw $a2,0x168($sp) -/* 1cf44: 1309000d */ beq $t8,$t1,.PB0001cf7c -/* 1cf48: 27a70144 */ addiu $a3,$sp,0x144 -/* 1cf4c: 8fac0158 */ lw $t4,0x158($sp) -/* 1cf50: 27ab012c */ addiu $t3,$sp,0x12c -/* 1cf54: afab0018 */ sw $t3,0x18($sp) -/* 1cf58: 8fa40160 */ lw $a0,0x160($sp) -/* 1cf5c: 01002825 */ move $a1,$t0 -/* 1cf60: 03003025 */ move $a2,$t8 -/* 1cf64: 27a70144 */ addiu $a3,$sp,0x144 -/* 1cf68: afa00014 */ sw $zero,0x14($sp) -/* 1cf6c: 0c00709d */ jal model0001b80c -/* 1cf70: afac0010 */ sw $t4,0x10($sp) -/* 1cf74: 1000002b */ b .PB0001d024 -/* 1cf78: 8fbf002c */ lw $ra,0x2c($sp) -.PB0001cf7c: -/* 1cf7c: 27ad0138 */ addiu $t5,$sp,0x138 -/* 1cf80: 27ae012c */ addiu $t6,$sp,0x12c -/* 1cf84: afae0018 */ sw $t6,0x18($sp) -/* 1cf88: afad0010 */ sw $t5,0x10($sp) -/* 1cf8c: 0c00709d */ jal model0001b80c -/* 1cf90: afa00014 */ sw $zero,0x14($sp) -/* 1cf94: 10000023 */ b .PB0001d024 -/* 1cf98: 8fbf002c */ lw $ra,0x2c($sp) -/* 1cf9c: 8faf0168 */ lw $t7,0x168($sp) -.PB0001cfa0: -/* 1cfa0: 8fa40164 */ lw $a0,0x164($sp) -/* 1cfa4: 8fb90160 */ lw $t9,0x160($sp) -/* 1cfa8: 8de50008 */ lw $a1,0x8($t7) -/* 1cfac: 50a00006 */ beqzl $a1,.PB0001cfc8 -/* 1cfb0: 8f300000 */ lw $s0,0x0($t9) -/* 1cfb4: 0c006c07 */ jal model0001a5cc -/* 1cfb8: 00003025 */ move $a2,$zero -/* 1cfbc: 10000002 */ b .PB0001cfc8 -/* 1cfc0: 00408025 */ move $s0,$v0 -/* 1cfc4: 8f300000 */ lw $s0,0x0($t9) -.PB0001cfc8: -/* 1cfc8: 1200000f */ beqz $s0,.PB0001d008 -/* 1cfcc: 8fa40158 */ lw $a0,0x158($sp) -/* 1cfd0: 8fa40158 */ lw $a0,0x158($sp) -/* 1cfd4: 0c005c4b */ jal mtx4LoadTranslation -/* 1cfd8: 27a500e8 */ addiu $a1,$sp,0xe8 -/* 1cfdc: 8fa80158 */ lw $t0,0x158($sp) -/* 1cfe0: 8faa0164 */ lw $t2,0x164($sp) -/* 1cfe4: 02002025 */ move $a0,$s0 -/* 1cfe8: 8518000e */ lh $t8,0xe($t0) -/* 1cfec: 8d49000c */ lw $t1,0xc($t2) -/* 1cff0: 27a500e8 */ addiu $a1,$sp,0xe8 -/* 1cff4: 00186180 */ sll $t4,$t8,0x6 -/* 1cff8: 0c00598d */ jal mtx00015be4 -/* 1cffc: 012c3021 */ addu $a2,$t1,$t4 -/* 1d000: 10000008 */ b .PB0001d024 -/* 1d004: 8fbf002c */ lw $ra,0x2c($sp) -.PB0001d008: -/* 1d008: 8fad0164 */ lw $t5,0x164($sp) -/* 1d00c: 848f000e */ lh $t7,0xe($a0) -/* 1d010: 8dae000c */ lw $t6,0xc($t5) -/* 1d014: 000fc980 */ sll $t9,$t7,0x6 -/* 1d018: 0c005c4b */ jal mtx4LoadTranslation -/* 1d01c: 01d92821 */ addu $a1,$t6,$t9 -/* 1d020: 8fbf002c */ lw $ra,0x2c($sp) -.PB0001d024: -/* 1d024: 8fb00028 */ lw $s0,0x28($sp) -/* 1d028: 27bd0160 */ addiu $sp,$sp,0x160 -/* 1d02c: 03e00008 */ jr $ra -/* 1d030: 00000000 */ nop -); +void model0001bfa8(struct modelrenderdata *renderdata, struct model *model, struct modelnode *node) +{ + struct anim *anim; + struct modelrodata_position *rodata = &node->rodata->position; + s32 partnum; + struct skeleton *skel; + struct coord sp144; + struct coord sp138; + struct coord sp12c; + bool sp128; + Mtxf spe8; + Mtxf *mtx; + f32 spe0; + struct coord spd4; + struct coord spc8; + struct coord spbc; + struct coord spb0; + struct coord spa4; + struct coord sp98; + f32 sp88[4]; + f32 sp78[4]; + f32 sp68[4]; + struct coord sp5c; + struct coord sp50; + struct coord sp44; + + anim = model->anim; + + if (anim != NULL) { + partnum = rodata->part; + skel = model->filedata->skel; + + if (anim->animnum != 0) { + sp128 = (g_Anims[anim->animnum].flags & ANIMFLAG_02) && node == model->filedata->rootnode; + + anim00024050(partnum, anim->flip, skel, anim->animnum, anim->unk04, &sp144, &sp138, &sp12c); + + if (g_Vars.in_cutscene && anim->speed > 0.0f) { +#if VERSION >= VERSION_PAL_BETA + spe0 = floorf(anim->frac / anim->speed + 0.0099999997764826f) * anim->speed; #else -GLOBAL_ASM( -glabel model0001bfa8 -/* 1bfa8: 27bdfea0 */ addiu $sp,$sp,-352 -/* 1bfac: afbf002c */ sw $ra,0x2c($sp) -/* 1bfb0: afb00028 */ sw $s0,0x28($sp) -/* 1bfb4: afa40160 */ sw $a0,0x160($sp) -/* 1bfb8: afa50164 */ sw $a1,0x164($sp) -/* 1bfbc: afa60168 */ sw $a2,0x168($sp) -/* 1bfc0: 8ccf0004 */ lw $t7,0x4($a2) -/* 1bfc4: 8fae0168 */ lw $t6,0x168($sp) -/* 1bfc8: afaf0158 */ sw $t7,0x158($sp) -/* 1bfcc: 8cb00020 */ lw $s0,0x20($a1) -/* 1bfd0: 52000154 */ beqzl $s0,.L0001c524 -/* 1bfd4: 8dc50008 */ lw $a1,0x8($t6) -/* 1bfd8: 95f9000c */ lhu $t9,0xc($t7) -/* 1bfdc: 3c098006 */ lui $t1,%hi(g_Anims) -/* 1bfe0: 27b80144 */ addiu $t8,$sp,0x144 -/* 1bfe4: afb90154 */ sw $t9,0x154($sp) -/* 1bfe8: 8ca20008 */ lw $v0,0x8($a1) -/* 1bfec: 3c013f80 */ lui $at,0x3f80 -/* 1bff0: 8c480004 */ lw $t0,0x4($v0) -/* 1bff4: afa80150 */ sw $t0,0x150($sp) -/* 1bff8: 86070000 */ lh $a3,0x0($s0) -/* 1bffc: 27a80138 */ addiu $t0,$sp,0x138 -/* 1c000: 10e0004e */ beqz $a3,.L0001c13c -/* 1c004: 00075080 */ sll $t2,$a3,0x2 -/* 1c008: 8d29f00c */ lw $t1,%lo(g_Anims)($t1) -/* 1c00c: 01475023 */ subu $t2,$t2,$a3 -/* 1c010: 000a5080 */ sll $t2,$t2,0x2 -/* 1c014: 012a5821 */ addu $t3,$t1,$t2 -/* 1c018: 9163000b */ lbu $v1,0xb($t3) -/* 1c01c: 27a9012c */ addiu $t1,$sp,0x12c -/* 1c020: 306c0002 */ andi $t4,$v1,0x2 -/* 1c024: 000c182b */ sltu $v1,$zero,$t4 -/* 1c028: 50600005 */ beqzl $v1,.L0001c040 -/* 1c02c: afa30128 */ sw $v1,0x128($sp) -/* 1c030: 8c4f0000 */ lw $t7,0x0($v0) -/* 1c034: 00cf1826 */ xor $v1,$a2,$t7 -/* 1c038: 2c630001 */ sltiu $v1,$v1,0x1 -/* 1c03c: afa30128 */ sw $v1,0x128($sp) -.L0001c040: -/* 1c040: 92190004 */ lbu $t9,0x4($s0) -/* 1c044: 82050008 */ lb $a1,0x8($s0) -/* 1c048: afa3003c */ sw $v1,0x3c($sp) -/* 1c04c: afa9001c */ sw $t1,0x1c($sp) -/* 1c050: afa80018 */ sw $t0,0x18($sp) -/* 1c054: afb80014 */ sw $t8,0x14($sp) -/* 1c058: 8fa40154 */ lw $a0,0x154($sp) -/* 1c05c: 8fa60150 */ lw $a2,0x150($sp) -/* 1c060: 0c009014 */ jal anim00024050 -/* 1c064: afb90010 */ sw $t9,0x10($sp) -/* 1c068: 3c0a800a */ lui $t2,%hi(g_Vars+0x4cc) -/* 1c06c: 8d4aa48c */ lw $t2,%lo(g_Vars+0x4cc)($t2) -/* 1c070: 51400010 */ beqzl $t2,.L0001c0b4 -/* 1c074: 44807000 */ mtc1 $zero,$f14 -/* 1c078: 44807000 */ mtc1 $zero,$f14 -/* 1c07c: c600001c */ lwc1 $f0,0x1c($s0) -/* 1c080: 4600703c */ c.lt.s $f14,$f0 -/* 1c084: 00000000 */ nop -/* 1c088: 4502000a */ bc1fl .L0001c0b4 -/* 1c08c: 44807000 */ mtc1 $zero,$f14 -/* 1c090: c6040010 */ lwc1 $f4,0x10($s0) -/* 1c094: 0fc25e24 */ jal floorf -/* 1c098: 46002303 */ div.s $f12,$f4,$f0 -/* 1c09c: c606001c */ lwc1 $f6,0x1c($s0) -/* 1c0a0: 44807000 */ mtc1 $zero,$f14 -/* 1c0a4: 46060082 */ mul.s $f2,$f0,$f6 -/* 1c0a8: 10000004 */ b .L0001c0bc -/* 1c0ac: 460e1032 */ c.eq.s $f2,$f14 -/* 1c0b0: 44807000 */ mtc1 $zero,$f14 -.L0001c0b4: -/* 1c0b4: c6020010 */ lwc1 $f2,0x10($s0) -/* 1c0b8: 460e1032 */ c.eq.s $f2,$f14 -.L0001c0bc: -/* 1c0bc: 8fa40154 */ lw $a0,0x154($sp) -/* 1c0c0: 8fa60150 */ lw $a2,0x150($sp) -/* 1c0c4: 27ac00d4 */ addiu $t4,$sp,0xd4 -/* 1c0c8: 45010019 */ bc1t .L0001c130 -/* 1c0cc: 27ad00c8 */ addiu $t5,$sp,0xc8 -/* 1c0d0: 920b0005 */ lbu $t3,0x5($s0) -/* 1c0d4: 82050008 */ lb $a1,0x8($s0) -/* 1c0d8: 86070000 */ lh $a3,0x0($s0) -/* 1c0dc: 27ae00bc */ addiu $t6,$sp,0xbc -/* 1c0e0: afae001c */ sw $t6,0x1c($sp) -/* 1c0e4: e7a200e0 */ swc1 $f2,0xe0($sp) -/* 1c0e8: afad0018 */ sw $t5,0x18($sp) -/* 1c0ec: afac0014 */ sw $t4,0x14($sp) -/* 1c0f0: 0c009014 */ jal anim00024050 -/* 1c0f4: afab0010 */ sw $t3,0x10($sp) -/* 1c0f8: c7a200e0 */ lwc1 $f2,0xe0($sp) -/* 1c0fc: 27a40144 */ addiu $a0,$sp,0x144 -/* 1c100: 27a500d4 */ addiu $a1,$sp,0xd4 -/* 1c104: 44061000 */ mfc1 $a2,$f2 -/* 1c108: 0c006c1f */ jal model0001b07c -/* 1c10c: 00000000 */ nop -/* 1c110: 8faf003c */ lw $t7,0x3c($sp) -/* 1c114: c7a200e0 */ lwc1 $f2,0xe0($sp) -/* 1c118: 27a40138 */ addiu $a0,$sp,0x138 -/* 1c11c: 51e00005 */ beqzl $t7,.L0001c134 -/* 1c120: 44807000 */ mtc1 $zero,$f14 -/* 1c124: 44061000 */ mfc1 $a2,$f2 -/* 1c128: 0c006be6 */ jal model0001af98 -/* 1c12c: 27a500c8 */ addiu $a1,$sp,0xc8 -.L0001c130: -/* 1c130: 44807000 */ mtc1 $zero,$f14 -.L0001c134: -/* 1c134: 10000010 */ b .L0001c178 -/* 1c138: c60a0054 */ lwc1 $f10,0x54($s0) -.L0001c13c: -/* 1c13c: 44800000 */ mtc1 $zero,$f0 -/* 1c140: 44801000 */ mtc1 $zero,$f2 -/* 1c144: 44807000 */ mtc1 $zero,$f14 -/* 1c148: e7a00140 */ swc1 $f0,0x140($sp) -/* 1c14c: e7a0013c */ swc1 $f0,0x13c($sp) -/* 1c150: e7a00138 */ swc1 $f0,0x138($sp) -/* 1c154: 44810000 */ mtc1 $at,$f0 -/* 1c158: afa00128 */ sw $zero,0x128($sp) -/* 1c15c: e7a20148 */ swc1 $f2,0x148($sp) -/* 1c160: e7a20144 */ swc1 $f2,0x144($sp) -/* 1c164: e7a2014c */ swc1 $f2,0x14c($sp) -/* 1c168: e7a00130 */ swc1 $f0,0x130($sp) -/* 1c16c: e7a0012c */ swc1 $f0,0x12c($sp) -/* 1c170: e7a00134 */ swc1 $f0,0x134($sp) -/* 1c174: c60a0054 */ lwc1 $f10,0x54($s0) -.L0001c178: -/* 1c178: 8fa40154 */ lw $a0,0x154($sp) -/* 1c17c: 8fa60150 */ lw $a2,0x150($sp) -/* 1c180: 460a7032 */ c.eq.s $f14,$f10 -/* 1c184: 27b800b0 */ addiu $t8,$sp,0xb0 -/* 1c188: 27a800a4 */ addiu $t0,$sp,0xa4 -/* 1c18c: 27a90098 */ addiu $t1,$sp,0x98 -/* 1c190: 4501007a */ bc1t .L0001c37c -/* 1c194: 8faf0128 */ lw $t7,0x128($sp) -/* 1c198: 92190006 */ lbu $t9,0x6($s0) -/* 1c19c: 82050009 */ lb $a1,0x9($s0) -/* 1c1a0: 86070002 */ lh $a3,0x2($s0) -/* 1c1a4: afa9001c */ sw $t1,0x1c($sp) -/* 1c1a8: afa80018 */ sw $t0,0x18($sp) -/* 1c1ac: afb80014 */ sw $t8,0x14($sp) -/* 1c1b0: 0c009014 */ jal anim00024050 -/* 1c1b4: afb90010 */ sw $t9,0x10($sp) -/* 1c1b8: 44808000 */ mtc1 $zero,$f16 -/* 1c1bc: c6120034 */ lwc1 $f18,0x34($s0) -/* 1c1c0: 8fa40154 */ lw $a0,0x154($sp) -/* 1c1c4: 8fa60150 */ lw $a2,0x150($sp) -/* 1c1c8: 46128032 */ c.eq.s $f16,$f18 -/* 1c1cc: 27ab005c */ addiu $t3,$sp,0x5c -/* 1c1d0: 27ac0050 */ addiu $t4,$sp,0x50 -/* 1c1d4: 27ad0044 */ addiu $t5,$sp,0x44 -/* 1c1d8: 4503000e */ bc1tl .L0001c214 -/* 1c1dc: 27a40144 */ addiu $a0,$sp,0x144 -/* 1c1e0: 920a0007 */ lbu $t2,0x7($s0) -/* 1c1e4: 82050009 */ lb $a1,0x9($s0) -/* 1c1e8: 86070002 */ lh $a3,0x2($s0) -/* 1c1ec: afad001c */ sw $t5,0x1c($sp) -/* 1c1f0: afac0018 */ sw $t4,0x18($sp) -/* 1c1f4: afab0014 */ sw $t3,0x14($sp) -/* 1c1f8: 0c009014 */ jal anim00024050 -/* 1c1fc: afaa0010 */ sw $t2,0x10($sp) -/* 1c200: 27a400b0 */ addiu $a0,$sp,0xb0 -/* 1c204: 27a5005c */ addiu $a1,$sp,0x5c -/* 1c208: 0c006c1f */ jal model0001b07c -/* 1c20c: 8e060034 */ lw $a2,0x34($s0) -/* 1c210: 27a40144 */ addiu $a0,$sp,0x144 -.L0001c214: -/* 1c214: 0fc25b28 */ jal quaternion0f096ca0 -/* 1c218: 27a50088 */ addiu $a1,$sp,0x88 -/* 1c21c: 27a400b0 */ addiu $a0,$sp,0xb0 -/* 1c220: 0fc25b28 */ jal quaternion0f096ca0 -/* 1c224: 27a50078 */ addiu $a1,$sp,0x78 -/* 1c228: 27a40088 */ addiu $a0,$sp,0x88 -/* 1c22c: 0fc25db0 */ jal quaternion0f0976c0 -/* 1c230: 27a50078 */ addiu $a1,$sp,0x78 -/* 1c234: 27a70068 */ addiu $a3,$sp,0x68 -/* 1c238: 27a40088 */ addiu $a0,$sp,0x88 -/* 1c23c: 27a50078 */ addiu $a1,$sp,0x78 -/* 1c240: 0fc25cae */ jal quaternionSlerp -/* 1c244: 8e060054 */ lw $a2,0x54($s0) -/* 1c248: 44802000 */ mtc1 $zero,$f4 -/* 1c24c: c7a60138 */ lwc1 $f6,0x138($sp) -/* 1c250: 27a70068 */ addiu $a3,$sp,0x68 -/* 1c254: c7aa013c */ lwc1 $f10,0x13c($sp) -/* 1c258: 46062032 */ c.eq.s $f4,$f6 -/* 1c25c: c7a40138 */ lwc1 $f4,0x138($sp) -/* 1c260: 27b90138 */ addiu $t9,$sp,0x138 -/* 1c264: 27b8012c */ addiu $t8,$sp,0x12c -/* 1c268: 4502000e */ bc1fl .L0001c2a4 -/* 1c26c: c6060088 */ lwc1 $f6,0x88($s0) -/* 1c270: 44804000 */ mtc1 $zero,$f8 -/* 1c274: c7b20140 */ lwc1 $f18,0x140($sp) -/* 1c278: 460a4032 */ c.eq.s $f8,$f10 -/* 1c27c: 00000000 */ nop -/* 1c280: 45020008 */ bc1fl .L0001c2a4 -/* 1c284: c6060088 */ lwc1 $f6,0x88($s0) -/* 1c288: 44808000 */ mtc1 $zero,$f16 -/* 1c28c: 8fa80164 */ lw $t0,0x164($sp) -/* 1c290: 46128032 */ c.eq.s $f16,$f18 -/* 1c294: 00000000 */ nop -/* 1c298: 45030023 */ bc1tl .L0001c328 -/* 1c29c: 8d090008 */ lw $t1,0x8($t0) -/* 1c2a0: c6060088 */ lwc1 $f6,0x88($s0) -.L0001c2a4: -/* 1c2a4: c7aa013c */ lwc1 $f10,0x13c($sp) -/* 1c2a8: 8fa50164 */ lw $a1,0x164($sp) -/* 1c2ac: 46062202 */ mul.s $f8,$f4,$f6 -/* 1c2b0: c7a40140 */ lwc1 $f4,0x140($sp) -/* 1c2b4: 8fa60168 */ lw $a2,0x168($sp) -/* 1c2b8: 8fa20158 */ lw $v0,0x158($sp) -/* 1c2bc: e7a80138 */ swc1 $f8,0x138($sp) -/* 1c2c0: c6100088 */ lwc1 $f16,0x88($s0) -/* 1c2c4: 46105482 */ mul.s $f18,$f10,$f16 -/* 1c2c8: e7b2013c */ swc1 $f18,0x13c($sp) -/* 1c2cc: c6060088 */ lwc1 $f6,0x88($s0) -/* 1c2d0: 46062282 */ mul.s $f10,$f4,$f6 -/* 1c2d4: e7aa0140 */ swc1 $f10,0x140($sp) -/* 1c2d8: 8cae0008 */ lw $t6,0x8($a1) -/* 1c2dc: 8dcf0000 */ lw $t7,0x0($t6) -/* 1c2e0: 50cf000b */ beql $a2,$t7,.L0001c310 -/* 1c2e4: 8fa40160 */ lw $a0,0x160($sp) -/* 1c2e8: c4500000 */ lwc1 $f16,0x0($v0) -/* 1c2ec: 46104100 */ add.s $f4,$f8,$f16 -/* 1c2f0: e7a40138 */ swc1 $f4,0x138($sp) -/* 1c2f4: c4460004 */ lwc1 $f6,0x4($v0) -/* 1c2f8: 46069200 */ add.s $f8,$f18,$f6 -/* 1c2fc: e7a8013c */ swc1 $f8,0x13c($sp) -/* 1c300: c4500008 */ lwc1 $f16,0x8($v0) -/* 1c304: 46105100 */ add.s $f4,$f10,$f16 -/* 1c308: e7a40140 */ swc1 $f4,0x140($sp) -/* 1c30c: 8fa40160 */ lw $a0,0x160($sp) -.L0001c310: -/* 1c310: afb90010 */ sw $t9,0x10($sp) -/* 1c314: 0c006f05 */ jal model0001bc14 -/* 1c318: afb80014 */ sw $t8,0x14($sp) -/* 1c31c: 100000a1 */ b .L0001c5a4 -/* 1c320: 8fbf002c */ lw $ra,0x2c($sp) -/* 1c324: 8d090008 */ lw $t1,0x8($t0) -.L0001c328: -/* 1c328: 8fa60168 */ lw $a2,0x168($sp) -/* 1c32c: 8fa40160 */ lw $a0,0x160($sp) -/* 1c330: 8d2a0000 */ lw $t2,0x0($t1) -/* 1c334: 8fa50164 */ lw $a1,0x164($sp) -/* 1c338: 27ad0138 */ addiu $t5,$sp,0x138 -/* 1c33c: 10ca000a */ beq $a2,$t2,.L0001c368 -/* 1c340: 27ae012c */ addiu $t6,$sp,0x12c -/* 1c344: 8fab0158 */ lw $t3,0x158($sp) -/* 1c348: 27ac012c */ addiu $t4,$sp,0x12c -/* 1c34c: afac0014 */ sw $t4,0x14($sp) -/* 1c350: 8fa40160 */ lw $a0,0x160($sp) -/* 1c354: 01002825 */ or $a1,$t0,$zero -/* 1c358: 0c006f05 */ jal model0001bc14 -/* 1c35c: afab0010 */ sw $t3,0x10($sp) -/* 1c360: 10000090 */ b .L0001c5a4 -/* 1c364: 8fbf002c */ lw $ra,0x2c($sp) -.L0001c368: -/* 1c368: afad0010 */ sw $t5,0x10($sp) -/* 1c36c: 0c006f05 */ jal model0001bc14 -/* 1c370: afae0014 */ sw $t6,0x14($sp) -/* 1c374: 1000008b */ b .L0001c5a4 -/* 1c378: 8fbf002c */ lw $ra,0x2c($sp) -.L0001c37c: -/* 1c37c: 11e00019 */ beqz $t7,.L0001c3e4 -/* 1c380: c7b20138 */ lwc1 $f18,0x138($sp) -/* 1c384: 0fc57222 */ jal func0f15c888 -/* 1c388: 00000000 */ nop -/* 1c38c: c7b20138 */ lwc1 $f18,0x138($sp) -/* 1c390: c7a8013c */ lwc1 $f8,0x13c($sp) -/* 1c394: c7b00140 */ lwc1 $f16,0x140($sp) -/* 1c398: 46009182 */ mul.s $f6,$f18,$f0 -/* 1c39c: 27b90138 */ addiu $t9,$sp,0x138 -/* 1c3a0: 24180001 */ addiu $t8,$zero,0x1 -/* 1c3a4: 46004282 */ mul.s $f10,$f8,$f0 -/* 1c3a8: 27a9012c */ addiu $t1,$sp,0x12c -/* 1c3ac: afa90018 */ sw $t1,0x18($sp) -/* 1c3b0: 46008102 */ mul.s $f4,$f16,$f0 -/* 1c3b4: e7a60138 */ swc1 $f6,0x138($sp) -/* 1c3b8: afb80014 */ sw $t8,0x14($sp) -/* 1c3bc: afb90010 */ sw $t9,0x10($sp) -/* 1c3c0: e7aa013c */ swc1 $f10,0x13c($sp) -/* 1c3c4: 8fa40160 */ lw $a0,0x160($sp) -/* 1c3c8: 8fa50164 */ lw $a1,0x164($sp) -/* 1c3cc: e7a40140 */ swc1 $f4,0x140($sp) -/* 1c3d0: 8fa60168 */ lw $a2,0x168($sp) -/* 1c3d4: 0c006e03 */ jal model0001b80c -/* 1c3d8: 27a70144 */ addiu $a3,$sp,0x144 -/* 1c3dc: 10000071 */ b .L0001c5a4 -/* 1c3e0: 8fbf002c */ lw $ra,0x2c($sp) -.L0001c3e4: -/* 1c3e4: 46127032 */ c.eq.s $f14,$f18 -/* 1c3e8: c7a6013c */ lwc1 $f6,0x13c($sp) -/* 1c3ec: c7aa0138 */ lwc1 $f10,0x138($sp) -/* 1c3f0: 27a70144 */ addiu $a3,$sp,0x144 -/* 1c3f4: 45000009 */ bc1f .L0001c41c -/* 1c3f8: 27ae0138 */ addiu $t6,$sp,0x138 -/* 1c3fc: 46067032 */ c.eq.s $f14,$f6 -/* 1c400: c7a80140 */ lwc1 $f8,0x140($sp) -/* 1c404: 45020006 */ bc1fl .L0001c420 -/* 1c408: c6100088 */ lwc1 $f16,0x88($s0) -/* 1c40c: 46087032 */ c.eq.s $f14,$f8 -/* 1c410: 8fb80164 */ lw $t8,0x164($sp) -/* 1c414: 45030027 */ bc1tl .L0001c4b4 -/* 1c418: 8f090008 */ lw $t1,0x8($t8) -.L0001c41c: -/* 1c41c: c6100088 */ lwc1 $f16,0x88($s0) -.L0001c420: -/* 1c420: c7b2013c */ lwc1 $f18,0x13c($sp) -/* 1c424: 8fa80164 */ lw $t0,0x164($sp) -/* 1c428: 46105102 */ mul.s $f4,$f10,$f16 -/* 1c42c: c7aa0140 */ lwc1 $f10,0x140($sp) -/* 1c430: 8faa0168 */ lw $t2,0x168($sp) -/* 1c434: 8fad0158 */ lw $t5,0x158($sp) -/* 1c438: 27af012c */ addiu $t7,$sp,0x12c -/* 1c43c: e7a40138 */ swc1 $f4,0x138($sp) -/* 1c440: c6060088 */ lwc1 $f6,0x88($s0) -/* 1c444: 46069202 */ mul.s $f8,$f18,$f6 -/* 1c448: e7a8013c */ swc1 $f8,0x13c($sp) -/* 1c44c: c6100088 */ lwc1 $f16,0x88($s0) -/* 1c450: 46105482 */ mul.s $f18,$f10,$f16 -/* 1c454: e7b20140 */ swc1 $f18,0x140($sp) -/* 1c458: 8d0b0008 */ lw $t3,0x8($t0) -/* 1c45c: 8d6c0000 */ lw $t4,0x0($t3) -/* 1c460: 514c000b */ beql $t2,$t4,.L0001c490 -/* 1c464: 8fa40160 */ lw $a0,0x160($sp) -/* 1c468: c5a60000 */ lwc1 $f6,0x0($t5) -/* 1c46c: 46062280 */ add.s $f10,$f4,$f6 -/* 1c470: e7aa0138 */ swc1 $f10,0x138($sp) -/* 1c474: c5b00004 */ lwc1 $f16,0x4($t5) -/* 1c478: 46104100 */ add.s $f4,$f8,$f16 -/* 1c47c: e7a4013c */ swc1 $f4,0x13c($sp) -/* 1c480: c5a60008 */ lwc1 $f6,0x8($t5) -/* 1c484: 46069280 */ add.s $f10,$f18,$f6 -/* 1c488: e7aa0140 */ swc1 $f10,0x140($sp) -/* 1c48c: 8fa40160 */ lw $a0,0x160($sp) -.L0001c490: -/* 1c490: 8fa50164 */ lw $a1,0x164($sp) -/* 1c494: 8fa60168 */ lw $a2,0x168($sp) -/* 1c498: afae0010 */ sw $t6,0x10($sp) -/* 1c49c: afa00014 */ sw $zero,0x14($sp) -/* 1c4a0: 0c006e03 */ jal model0001b80c -/* 1c4a4: afaf0018 */ sw $t7,0x18($sp) -/* 1c4a8: 1000003e */ b .L0001c5a4 -/* 1c4ac: 8fbf002c */ lw $ra,0x2c($sp) -/* 1c4b0: 8f090008 */ lw $t1,0x8($t8) -.L0001c4b4: -/* 1c4b4: 8fb90168 */ lw $t9,0x168($sp) -/* 1c4b8: 8fa40160 */ lw $a0,0x160($sp) -/* 1c4bc: 8d280000 */ lw $t0,0x0($t1) -/* 1c4c0: 8fa50164 */ lw $a1,0x164($sp) -/* 1c4c4: 8fa60168 */ lw $a2,0x168($sp) -/* 1c4c8: 1328000d */ beq $t9,$t0,.L0001c500 -/* 1c4cc: 27a70144 */ addiu $a3,$sp,0x144 -/* 1c4d0: 8fab0158 */ lw $t3,0x158($sp) -/* 1c4d4: 27aa012c */ addiu $t2,$sp,0x12c -/* 1c4d8: afaa0018 */ sw $t2,0x18($sp) -/* 1c4dc: 8fa40160 */ lw $a0,0x160($sp) -/* 1c4e0: 03002825 */ or $a1,$t8,$zero -/* 1c4e4: 03203025 */ or $a2,$t9,$zero -/* 1c4e8: 27a70144 */ addiu $a3,$sp,0x144 -/* 1c4ec: afa00014 */ sw $zero,0x14($sp) -/* 1c4f0: 0c006e03 */ jal model0001b80c -/* 1c4f4: afab0010 */ sw $t3,0x10($sp) -/* 1c4f8: 1000002a */ b .L0001c5a4 -/* 1c4fc: 8fbf002c */ lw $ra,0x2c($sp) -.L0001c500: -/* 1c500: 27ac0138 */ addiu $t4,$sp,0x138 -/* 1c504: 27ad012c */ addiu $t5,$sp,0x12c -/* 1c508: afad0018 */ sw $t5,0x18($sp) -/* 1c50c: afac0010 */ sw $t4,0x10($sp) -/* 1c510: 0c006e03 */ jal model0001b80c -/* 1c514: afa00014 */ sw $zero,0x14($sp) -/* 1c518: 10000022 */ b .L0001c5a4 -/* 1c51c: 8fbf002c */ lw $ra,0x2c($sp) -/* 1c520: 8dc50008 */ lw $a1,0x8($t6) -.L0001c524: -/* 1c524: 8fa40164 */ lw $a0,0x164($sp) -/* 1c528: 8faf0160 */ lw $t7,0x160($sp) -/* 1c52c: 50a00006 */ beqzl $a1,.L0001c548 -/* 1c530: 8df00000 */ lw $s0,0x0($t7) -/* 1c534: 0c006973 */ jal model0001a5cc -/* 1c538: 00003025 */ or $a2,$zero,$zero -/* 1c53c: 10000002 */ b .L0001c548 -/* 1c540: 00408025 */ or $s0,$v0,$zero -/* 1c544: 8df00000 */ lw $s0,0x0($t7) -.L0001c548: -/* 1c548: 1200000f */ beqz $s0,.L0001c588 -/* 1c54c: 8fa40158 */ lw $a0,0x158($sp) -/* 1c550: 8fa40158 */ lw $a0,0x158($sp) -/* 1c554: 0c0059b7 */ jal mtx4LoadTranslation -/* 1c558: 27a500e8 */ addiu $a1,$sp,0xe8 -/* 1c55c: 8fb80158 */ lw $t8,0x158($sp) -/* 1c560: 8fa90164 */ lw $t1,0x164($sp) -/* 1c564: 02002025 */ or $a0,$s0,$zero -/* 1c568: 8719000e */ lh $t9,0xe($t8) -/* 1c56c: 8d28000c */ lw $t0,0xc($t1) -/* 1c570: 27a500e8 */ addiu $a1,$sp,0xe8 -/* 1c574: 00195980 */ sll $t3,$t9,0x6 -/* 1c578: 0c0056f9 */ jal mtx00015be4 -/* 1c57c: 010b3021 */ addu $a2,$t0,$t3 -/* 1c580: 10000008 */ b .L0001c5a4 -/* 1c584: 8fbf002c */ lw $ra,0x2c($sp) -.L0001c588: -/* 1c588: 8fac0164 */ lw $t4,0x164($sp) -/* 1c58c: 848e000e */ lh $t6,0xe($a0) -/* 1c590: 8d8d000c */ lw $t5,0xc($t4) -/* 1c594: 000e7980 */ sll $t7,$t6,0x6 -/* 1c598: 0c0059b7 */ jal mtx4LoadTranslation -/* 1c59c: 01af2821 */ addu $a1,$t5,$t7 -/* 1c5a0: 8fbf002c */ lw $ra,0x2c($sp) -.L0001c5a4: -/* 1c5a4: 8fb00028 */ lw $s0,0x28($sp) -/* 1c5a8: 27bd0160 */ addiu $sp,$sp,0x160 -/* 1c5ac: 03e00008 */ jr $ra -/* 1c5b0: 00000000 */ nop -); + spe0 = floorf(anim->frac / anim->speed) * anim->speed; #endif + } else { + spe0 = anim->frac; + } + + if (spe0 != 0.0f) { + anim00024050(partnum, anim->flip, skel, anim->animnum, anim->unk05, &spd4, &spc8, &spbc); + model0001b07c(&sp144, &spd4, spe0); + +#if VERSION >= VERSION_PAL_BETA + if (sp128 || var8005efd8_2) +#else + if (sp128) +#endif + { + model0001af98(&sp138, &spc8, spe0); + } + } + } else { + sp138.f[0] = sp138.f[1] = sp138.f[2] = 0.0f; + sp144.f[0] = sp144.f[1] = sp144.f[2] = 0.0f; + sp12c.f[0] = sp12c.f[1] = sp12c.f[2] = 1.0f; + + sp128 = false; + } + + if (anim->fracmerge != 0.0f) { + anim00024050(partnum, anim->flip2, skel, anim->animnum2, anim->unk06, &spb0, &spa4, &sp98); + + if (anim->frac2 != 0.0f) { + anim00024050(partnum, anim->flip2, skel, anim->animnum2, anim->unk07, &sp5c, &sp50, &sp44); + model0001b07c(&spb0, &sp5c, anim->frac2); + } + + quaternion0f096ca0(&sp144, sp88); + quaternion0f096ca0(&spb0, sp78); + quaternion0f0976c0(sp88, sp78); + quaternionSlerp(sp88, sp78, anim->fracmerge, sp68); + + if (sp138.f[0] != 0.0f || sp138.f[1] != 0.0f || sp138.f[2] != 0.0f) { + sp138.x *= anim->animscale; + sp138.y *= anim->animscale; + sp138.z *= anim->animscale; + + if (node != model->filedata->rootnode) { + sp138.x += rodata->pos.x; + sp138.y += rodata->pos.y; + sp138.z += rodata->pos.z; + } + + model0001bc14(renderdata, model, node, sp68, &sp138, &sp12c); + } else if (node != model->filedata->rootnode) { + model0001bc14(renderdata, model, node, sp68, &rodata->pos, &sp12c); + } else { + model0001bc14(renderdata, model, node, sp68, &sp138, &sp12c); + } + } else if (sp128) { + f32 mult = func0f15c888(); + + sp138.x *= mult; + sp138.y *= mult; + sp138.z *= mult; + + model0001b80c(renderdata, model, node, &sp144, &sp138, true, &sp12c); + } else if (sp138.f[0] != 0.0f || sp138.f[1] != 0.0f || sp138.f[2] != 0.0f) { + sp138.x *= anim->animscale; + sp138.y *= anim->animscale; + sp138.z *= anim->animscale; + + if (node != model->filedata->rootnode) { + sp138.x += rodata->pos.x; + sp138.y += rodata->pos.y; + sp138.z += rodata->pos.z; + } + + model0001b80c(renderdata, model, node, &sp144, &sp138, false, &sp12c); + } else if (node != model->filedata->rootnode) { + model0001b80c(renderdata, model, node, &sp144, &rodata->pos, false, &sp12c); + } else { + model0001b80c(renderdata, model, node, &sp144, &sp138, false, &sp12c); + } + } else { + if (node->parent) { + mtx = model0001a5cc(model, node->parent, 0); + } else { + mtx = renderdata->unk00; + } + + if (mtx) { + mtx4LoadTranslation(&rodata->pos, &spe8); + mtx00015be4(mtx, &spe8, &model->matrices[rodata->mtxindex0]); + } else { + mtx4LoadTranslation(&rodata->pos, &model->matrices[rodata->mtxindex0]); + } + } +} void model0001c5b4(struct modelrenderdata *arg0, struct model *model, struct modelnode *node) { union modelrodata *rodata = node->rodata; Mtxf *sp68; Mtxf sp28; - s32 mtxindex = rodata->positionheld.unk0c; + s32 mtxindex = rodata->positionheld.mtxindex; Mtxf *matrices = model->matrices; if (node->parent) {