2279 lines
45 KiB
ArmAsm
2279 lines
45 KiB
ArmAsm
#include "versions.h"
|
|
#include "macros.inc"
|
|
.set noat
|
|
.set noreorder
|
|
|
|
.data
|
|
|
|
glabel var8005ef40
|
|
.word 0x00040800
|
|
.word 0x00000000
|
|
.word 0x0c100000
|
|
.word 0x00000000
|
|
.word 0x00001400
|
|
.word 0x0018001c
|
|
.word 0x00000000
|
|
|
|
glabel var8005ef5c
|
|
.word model00018680+0xef4
|
|
.word model00018680+0xa3c
|
|
.word model00018680+0x3a8
|
|
.word model00018680+0x990
|
|
.word model00018680+0xecc
|
|
.word model00018680+0xed4
|
|
.word model00018680+0xe60
|
|
.word model00018680+0xe24
|
|
|
|
glabel var8005ef7c
|
|
.word 0x00000000
|
|
|
|
glabel var8005ef80
|
|
.word model00019be0+0x84
|
|
.word model00019be0+0x90
|
|
.word model00019be0+0xa8
|
|
.word model00019be0+0xcc
|
|
|
|
glabel var8005ef90
|
|
.word 0xff08ffff
|
|
.word 0xffffffff
|
|
.word 0x0c22ff44
|
|
.word 0x20ffffff
|
|
.word 0xffff04ff
|
|
.word 0xffffff00
|
|
.word 0x14000000
|
|
|
|
.rdata
|
|
|
|
glabel var70054210
|
|
.word 0xbf7ffcb9
|
|
|
|
glabel var70054214
|
|
.word 0x3f7ffcb9
|
|
|
|
glabel var70054218
|
|
.word 0x40490fdb
|
|
|
|
glabel var7005421c
|
|
.word 0x40c90fdb
|
|
|
|
glabel var70054220
|
|
.word 0x3fc90fda
|
|
|
|
glabel var70054224
|
|
.word 0xbf7ffcb9
|
|
|
|
glabel var70054228
|
|
.word 0x3f7ffcb9
|
|
|
|
glabel var7005422c
|
|
.word 0x38c90fdb
|
|
|
|
glabel var70054230
|
|
.word 0x3fc90fda
|
|
|
|
glabel var70054234
|
|
.word 0x38490fdb
|
|
|
|
glabel var70054238
|
|
.word 0x3fc90fdb
|
|
|
|
glabel var7005423c
|
|
.word 0x46fffe00
|
|
|
|
glabel var70054240
|
|
.word 0x384910a4
|
|
|
|
glabel var70054244
|
|
.word 0x3fc90fda
|
|
|
|
glabel var70054248
|
|
.word 0x362edef8
|
|
|
|
glabel var7005424c
|
|
.word 0xb94fb7ff
|
|
|
|
glabel var70054250
|
|
.word 0x3c08876a
|
|
|
|
glabel var70054254
|
|
.word 0xbe2aaaa6
|
|
|
|
glabel var70054258
|
|
.word 0x3ea2f983
|
|
|
|
glabel var7005425c
|
|
.word 0x40490fdb
|
|
|
|
glabel var70054260
|
|
.word 0x330885a3
|
|
|
|
glabel var70054264
|
|
.word 0x362edef8
|
|
|
|
glabel var70054268
|
|
.word 0xb94fb7ff
|
|
|
|
glabel var7005426c
|
|
.word 0x3c08876a
|
|
|
|
glabel var70054270
|
|
.word 0xbe2aaaa6
|
|
|
|
.text
|
|
|
|
glabel model00018680
|
|
addiu $sp, $sp, -2048
|
|
sw $s0, 0x780($sp)
|
|
sw $s1, 0x784($sp)
|
|
sw $s2, 0x788($sp)
|
|
sw $s3, 0x78c($sp)
|
|
sw $s4, 0x790($sp)
|
|
sw $s5, 0x794($sp)
|
|
sw $s6, 0x798($sp)
|
|
sw $s7, 0x79c($sp)
|
|
sw $s8, 0x7a0($sp)
|
|
sw $gp, 0x7a4($sp)
|
|
sw $ra, 0x7a8($sp)
|
|
swc1 $f20, 0x7b0($sp)
|
|
swc1 $f21, 0x7b4($sp)
|
|
swc1 $f22, 0x7b8($sp)
|
|
swc1 $f23, 0x7bc($sp)
|
|
swc1 $f24, 0x7c0($sp)
|
|
swc1 $f25, 0x7c4($sp)
|
|
swc1 $f26, 0x7c8($sp)
|
|
swc1 $f27, 0x7cc($sp)
|
|
swc1 $f28, 0x7d0($sp)
|
|
swc1 $f29, 0x7d4($sp)
|
|
swc1 $f30, 0x7d8($sp)
|
|
swc1 $f31, 0x7dc($sp)
|
|
sw $zero, 0x7f8($sp)
|
|
lui $at, 0x3f80
|
|
mtc1 $at, $f31
|
|
or $t0, $sp, $zero
|
|
lw $t1, 0x8($a1)
|
|
lhu $t1, 0xe($t1)
|
|
.L000186f8:
|
|
sh $zero, 0x0($t0)
|
|
addiu $t1, $t1, -1
|
|
bnezl $t1, .L000186f8
|
|
addiu $t0, $t0, 0x8
|
|
add $t0, $zero, $a1
|
|
lw $a2, 0x20($a1)
|
|
beqz $a2, .L000189cc
|
|
nop
|
|
or $t0, $sp, $zero
|
|
addi $t1, $zero, 0x0
|
|
lui $t4, %hi(var8005f010)
|
|
addiu $t4, $t4, %lo(var8005f010)
|
|
lw $t4, 0x0($t4)
|
|
lh $t5, 0x0($a2)
|
|
add $t4, $t4, $t5
|
|
lbu $t3, 0x0($t4)
|
|
lui $t4, %hi(var8009a888)
|
|
addiu $t4, $t4, %lo(var8009a888)
|
|
lw $t4, 0x0($t4)
|
|
sll $t3, $t3, 0x2
|
|
add $t4, $t4, $t3
|
|
lw $t2, 0x0($t4)
|
|
lui $t4, %hi(g_Anims)
|
|
addiu $t4, $t4, %lo(g_Anims)
|
|
lw $t4, 0x0($t4)
|
|
sll $t5, $t5, 0x2
|
|
add $t6, $t5, $t5
|
|
add $t5, $t5, $t6
|
|
add $t4, $t4, $t5
|
|
lh $t5, 0x8($t4)
|
|
lbu $t4, 0xa($t4)
|
|
add $t3, $t2, $t5
|
|
lui $t5, %hi(var8009a874)
|
|
addiu $t5, $t5, %lo(var8009a874)
|
|
lw $t5, 0x0($t5)
|
|
beq $t2, $t3, .L00018874
|
|
addi $v0, $zero, 0x0
|
|
lbu $t6, 0x4($a2)
|
|
sll $t6, $t6, 0x2
|
|
add $t6, $t5, $t6
|
|
lw $t6, 0x0($t6)
|
|
jal model00019634
|
|
addi $gp, $zero, 0x0
|
|
mtc1 $zero, $f1
|
|
lwc1 $f0, 0x10($a2)
|
|
c.eq.s $f1, $f0
|
|
bc1t .L00018874
|
|
nop
|
|
or $t0, $sp, $zero
|
|
addiu $t0, $t0, 0x3c0
|
|
lw $t1, 0x8($a1)
|
|
lhu $t1, 0xe($t1)
|
|
.L000187c8:
|
|
sh $zero, 0x0($t0)
|
|
addiu $t1, $t1, -1
|
|
bnezl $t1, .L000187c8
|
|
addiu $t0, $t0, 0x8
|
|
lui $at, 0x4580
|
|
mtc1 $at, $f2
|
|
or $t0, $sp, $zero
|
|
mul.s $f0, $f0, $f2
|
|
addi $t1, $zero, 0x0
|
|
trunc.w.s $f0, $f0
|
|
lui $t4, %hi(var8005f010)
|
|
addiu $t4, $t4, %lo(var8005f010)
|
|
lw $t4, 0x0($t4)
|
|
lh $t5, 0x0($a2)
|
|
add $t4, $t4, $t5
|
|
lbu $t3, 0x0($t4)
|
|
lui $t4, %hi(var8009a888)
|
|
addiu $t4, $t4, %lo(var8009a888)
|
|
lw $t4, 0x0($t4)
|
|
sll $t3, $t3, 0x2
|
|
add $t4, $t4, $t3
|
|
lw $t2, 0x0($t4)
|
|
lui $t4, %hi(g_Anims)
|
|
addiu $t4, $t4, %lo(g_Anims)
|
|
lw $t4, 0x0($t4)
|
|
sll $t5, $t5, 0x2
|
|
add $t6, $t5, $t5
|
|
add $t5, $t5, $t6
|
|
add $t4, $t4, $t5
|
|
lh $t5, 0x8($t4)
|
|
lbu $t4, 0xa($t4)
|
|
add $t3, $t2, $t5
|
|
lui $t5, %hi(var8009a874)
|
|
addiu $t5, $t5, %lo(var8009a874)
|
|
lw $t5, 0x0($t5)
|
|
beq $t2, $t3, .L00018874
|
|
addi $v0, $zero, 0x0
|
|
lbu $t6, 0x5($a2)
|
|
sll $t6, $t6, 0x2
|
|
add $t6, $t5, $t6
|
|
lw $t6, 0x0($t6)
|
|
jal model000198dc
|
|
addi $gp, $zero, 0x0
|
|
.L00018874:
|
|
mtc1 $zero, $f1
|
|
lwc1 $f0, 0x54($a2)
|
|
c.eq.s $f0, $f1
|
|
bc1t .L000189cc
|
|
swc1 $f0, 0x7e0($sp)
|
|
or $t0, $sp, $zero
|
|
addiu $t0, $t0, 0x3c0
|
|
addi $t1, $zero, 0x0
|
|
lui $t4, %hi(var8005f010)
|
|
addiu $t4, $t4, %lo(var8005f010)
|
|
lw $t4, 0x0($t4)
|
|
lh $t5, 0x2($a2)
|
|
add $t4, $t4, $t5
|
|
lbu $t3, 0x0($t4)
|
|
lui $t4, %hi(var8009a888)
|
|
addiu $t4, $t4, %lo(var8009a888)
|
|
lw $t4, 0x0($t4)
|
|
sll $t3, $t3, 0x2
|
|
add $t4, $t4, $t3
|
|
lw $t2, 0x0($t4)
|
|
lui $t4, %hi(g_Anims)
|
|
addiu $t4, $t4, %lo(g_Anims)
|
|
lw $t4, 0x0($t4)
|
|
sll $t5, $t5, 0x2
|
|
add $t6, $t5, $t5
|
|
add $t5, $t5, $t6
|
|
add $t4, $t4, $t5
|
|
lh $t5, 0x8($t4)
|
|
lbu $t4, 0xa($t4)
|
|
add $t3, $t2, $t5
|
|
lui $t5, %hi(var8009a874)
|
|
addiu $t5, $t5, %lo(var8009a874)
|
|
lw $t5, 0x0($t5)
|
|
beq $t2, $t3, .L000189cc
|
|
addi $v0, $zero, 0x0
|
|
lbu $t6, 0x6($a2)
|
|
sll $t6, $t6, 0x2
|
|
add $t6, $t5, $t6
|
|
lw $t6, 0x0($t6)
|
|
jal model00019634
|
|
addi $gp, $zero, 0x0
|
|
mtc1 $zero, $f1
|
|
lwc1 $f0, 0x34($a2)
|
|
c.eq.s $f1, $f0
|
|
bc1t .L000189cc
|
|
nop
|
|
lui $at, 0x4580
|
|
mtc1 $at, $f2
|
|
or $t0, $sp, $zero
|
|
addiu $t0, $t0, 0x3c0
|
|
mul.s $f0, $f0, $f2
|
|
addi $t1, $zero, 0x0
|
|
trunc.w.s $f0, $f0
|
|
lui $t4, %hi(var8005f010)
|
|
addiu $t4, $t4, %lo(var8005f010)
|
|
lw $t4, 0x0($t4)
|
|
lh $t5, 0x2($a2)
|
|
add $t4, $t4, $t5
|
|
lbu $t3, 0x0($t4)
|
|
lui $t4, %hi(var8009a888)
|
|
addiu $t4, $t4, %lo(var8009a888)
|
|
lw $t4, 0x0($t4)
|
|
sll $t3, $t3, 0x2
|
|
add $t4, $t4, $t3
|
|
lw $t2, 0x0($t4)
|
|
lui $t4, %hi(g_Anims)
|
|
addiu $t4, $t4, %lo(g_Anims)
|
|
lw $t4, 0x0($t4)
|
|
sll $t5, $t5, 0x2
|
|
add $t6, $t5, $t5
|
|
add $t5, $t5, $t6
|
|
add $t4, $t4, $t5
|
|
lh $t5, 0x8($t4)
|
|
lbu $t4, 0xa($t4)
|
|
add $t3, $t2, $t5
|
|
lui $t5, %hi(var8009a874)
|
|
addiu $t5, $t5, %lo(var8009a874)
|
|
lw $t5, 0x0($t5)
|
|
beq $t2, $t3, .L000189cc
|
|
addi $v0, $zero, 0x0
|
|
lbu $t6, 0x7($a2)
|
|
sll $t6, $t6, 0x2
|
|
add $t6, $t5, $t6
|
|
lw $t6, 0x0($t6)
|
|
jal model000198dc
|
|
addi $gp, $zero, 0x0
|
|
.L000189cc:
|
|
lw $a3, 0x8($a1)
|
|
lw $gp, 0x0($a3)
|
|
lw $s6, 0x4($a3)
|
|
or $s7, $sp, $zero
|
|
beqz $gp, .L000195c8
|
|
addiu $v0, $v0, 0x1
|
|
.L000189e4:
|
|
lui $t1, %hi(var8005ef40)
|
|
addiu $t1, $t1, %lo(var8005ef40)
|
|
lhu $t0, 0x0($gp)
|
|
andi $t0, $t0, 0xff
|
|
add $t0, $t0, $t1
|
|
lui $t1, %hi(var8005ef5c)
|
|
addiu $t1, $t1, %lo(var8005ef5c)
|
|
lbu $t0, 0x0($t0)
|
|
add $t0, $t1, $t0
|
|
lw $t1, 0x0($t0)
|
|
lhu $t0, 0x0($gp)
|
|
jr $t1
|
|
andi $t0, $t0, 0xff
|
|
beqz $gp, .L000195c8
|
|
addiu $v0, $v0, 0x1
|
|
lh $t0, 0x0($gp)
|
|
andi $t0, $t0, 0xff
|
|
sw $zero, 0x7e4($sp)
|
|
beqz $a1, .L0001900c
|
|
lw $t0, 0x4($gp)
|
|
beqz $a2, .L00018fd8
|
|
lhu $t1, 0xc($t0)
|
|
lhu $t2, 0x0($a2)
|
|
mtc1 $zero, $f29
|
|
lwc1 $f30, 0x7e0($sp)
|
|
c.eq.s $f29, $f30
|
|
bc1t .L00018ba8
|
|
nop
|
|
lbu $t2, 0x8($a2)
|
|
beqz $t2, .L00018ab0
|
|
nop
|
|
lw $t2, 0x4($s6)
|
|
sll $t1, $t1, 0x1
|
|
add $t2, $t2, $t1
|
|
lbu $t1, 0x1($t2)
|
|
sll $t1, $t1, 0x3
|
|
add $t0, $s7, $t1
|
|
lhu $s8, 0x0($t0)
|
|
lui $t2, 0x1
|
|
lhu $t4, 0x6($t0)
|
|
bnez $t4, .L00018a90
|
|
sub $t4, $t2, $t4
|
|
addi $t4, $zero, 0x0
|
|
.L00018a90:
|
|
lhu $t3, 0x4($t0)
|
|
bnez $t3, .L00018aa0
|
|
sub $t3, $t2, $t3
|
|
addi $t3, $zero, 0x0
|
|
.L00018aa0:
|
|
andi $t3, $t3, 0xffff
|
|
andi $t4, $t4, 0xffff
|
|
j .L00018ac8
|
|
lhu $t2, 0x2($t0)
|
|
.L00018ab0:
|
|
sll $t1, $t1, 0x3
|
|
add $t0, $s7, $t1
|
|
lhu $s8, 0x0($t0)
|
|
lhu $t2, 0x2($t0)
|
|
lhu $t3, 0x4($t0)
|
|
lhu $t4, 0x6($t0)
|
|
.L00018ac8:
|
|
lw $s0, 0x4($gp)
|
|
lbu $s1, 0x9($a2)
|
|
beqz $s1, .L00018b28
|
|
lhu $t1, 0xc($s0)
|
|
lw $s0, 0x4($s6)
|
|
sll $t1, $t1, 0x1
|
|
add $s0, $s0, $t1
|
|
lbu $t1, 0x1($s0)
|
|
sll $t1, $t1, 0x3
|
|
add $t0, $s7, $t1
|
|
lui $s0, 0x1
|
|
lhu $s4, 0x3c6($t0)
|
|
bnez $s4, .L00018b04
|
|
sub $s4, $s0, $s4
|
|
addi $s4, $zero, 0x0
|
|
.L00018b04:
|
|
lhu $s3, 0x3c4($t0)
|
|
bnez $s3, .L00018b14
|
|
sub $s3, $s0, $s3
|
|
addi $s3, $zero, 0x0
|
|
.L00018b14:
|
|
andi $s3, $s3, 0xffff
|
|
andi $s4, $s4, 0xffff
|
|
lhu $s0, 0x2($t0)
|
|
b .L00018b3c
|
|
lhu $s2, 0x3c2($t0)
|
|
.L00018b28:
|
|
sll $t1, $t1, 0x3
|
|
add $t0, $s7, $t1
|
|
lhu $s2, 0x3c2($t0)
|
|
lhu $s3, 0x3c4($t0)
|
|
lhu $s4, 0x3c6($t0)
|
|
.L00018b3c:
|
|
jal model0001a024
|
|
sw $t0, 0x7e8($sp)
|
|
jal model00019f2c
|
|
nop
|
|
mov.s $f16, $f0
|
|
mov.s $f17, $f1
|
|
mov.s $f18, $f2
|
|
mov.s $f19, $f3
|
|
or $t2, $s2, $zero
|
|
or $t3, $s3, $zero
|
|
jal model0001a024
|
|
or $t4, $s4, $zero
|
|
jal model00019f2c
|
|
nop
|
|
jal model00019ddc
|
|
lwc1 $f30, 0x7e0($sp)
|
|
addiu $t0, $zero, 0x1
|
|
sw $t0, 0x7e4($sp)
|
|
lw $t0, 0x7e8($sp)
|
|
swc1 $f0, 0x7e8($sp)
|
|
swc1 $f1, 0x7ec($sp)
|
|
swc1 $f2, 0x7f0($sp)
|
|
swc1 $f3, 0x7f4($sp)
|
|
jal model0001a110
|
|
nop
|
|
j .L00018c6c
|
|
nop
|
|
.L00018ba8:
|
|
lbu $t2, 0x8($a2)
|
|
beqz $t2, .L00018c04
|
|
nop
|
|
lw $t2, 0x4($s6)
|
|
sll $t1, $t1, 0x1
|
|
add $t2, $t2, $t1
|
|
lbu $t1, 0x1($t2)
|
|
sll $t1, $t1, 0x3
|
|
add $t0, $s7, $t1
|
|
lhu $s8, 0x0($t0)
|
|
lui $t2, 0x1
|
|
lhu $t4, 0x6($t0)
|
|
bnez $t4, .L00018be4
|
|
sub $t4, $t2, $t4
|
|
addi $t4, $zero, 0x0
|
|
.L00018be4:
|
|
lhu $t3, 0x4($t0)
|
|
bnez $t3, .L00018bf4
|
|
sub $t3, $t2, $t3
|
|
addi $t3, $zero, 0x0
|
|
.L00018bf4:
|
|
andi $t3, $t3, 0xffff
|
|
andi $t4, $t4, 0xffff
|
|
b .L00018c1c
|
|
lhu $t2, 0x2($t0)
|
|
.L00018c04:
|
|
sll $t1, $t1, 0x3
|
|
add $t0, $s7, $t1
|
|
lhu $s8, 0x0($t0)
|
|
lhu $t4, 0x6($t0)
|
|
lhu $t3, 0x4($t0)
|
|
lhu $t2, 0x2($t0)
|
|
.L00018c1c:
|
|
andi $t5, $s8, 0x1
|
|
bnez $t5, .L00018c50
|
|
add $s0, $zero, $t2
|
|
mtc1 $zero, $f13
|
|
mov.s $f12, $f31
|
|
mov.s $f16, $f31
|
|
mov.s $f20, $f31
|
|
mov.s $f14, $f13
|
|
mov.s $f15, $f13
|
|
mov.s $f17, $f13
|
|
mov.s $f18, $f13
|
|
j .L00018c6c
|
|
mov.s $f19, $f13
|
|
.L00018c50:
|
|
add $s0, $zero, $t2
|
|
add $s1, $zero, $t3
|
|
add $s2, $zero, $t4
|
|
jal model00019f98
|
|
add $s3, $zero, $t0
|
|
jal model0001a0ac
|
|
add $t0, $zero, $s3
|
|
.L00018c6c:
|
|
andi $t2, $s8, 0x2
|
|
beqz $t2, .L00018d04
|
|
nop
|
|
lh $t2, 0x1e0($t0)
|
|
lh $t3, 0x1e2($t0)
|
|
lh $t4, 0x1e4($t0)
|
|
lw $t5, 0x0($a3)
|
|
bne $t5, $gp, .L00018cc0
|
|
lw $t0, 0x4($gp)
|
|
lwc1 $f0, 0x88($a2)
|
|
mtc1 $t2, $f21
|
|
mtc1 $t3, $f22
|
|
cvt.s.w $f21, $f21
|
|
mul.s $f21, $f21, $f0
|
|
mtc1 $t4, $f23
|
|
cvt.s.w $f22, $f22
|
|
mul.s $f22, $f22, $f0
|
|
cvt.s.w $f23, $f23
|
|
mul.s $f23, $f23, $f0
|
|
b .L00018d2c
|
|
nop
|
|
.L00018cc0:
|
|
lwc1 $f3, 0x88($a2)
|
|
mtc1 $t2, $f0
|
|
mtc1 $t3, $f1
|
|
cvt.s.w $f0, $f0
|
|
mul.s $f0, $f0, $f3
|
|
mtc1 $t4, $f2
|
|
cvt.s.w $f1, $f1
|
|
mul.s $f1, $f1, $f3
|
|
cvt.s.w $f2, $f2
|
|
mul.s $f2, $f2, $f3
|
|
lwc1 $f21, 0x0($t0)
|
|
lwc1 $f22, 0x4($t0)
|
|
lwc1 $f23, 0x8($t0)
|
|
add.s $f21, $f21, $f0
|
|
add.s $f22, $f22, $f1
|
|
b .L00018d2c
|
|
add.s $f23, $f23, $f2
|
|
.L00018d04:
|
|
lw $t2, 0x0($a3)
|
|
beq $gp, $t2, .L00018d20
|
|
lw $t0, 0x4($gp)
|
|
lwc1 $f21, 0x0($t0)
|
|
lwc1 $f22, 0x4($t0)
|
|
j .L00018d2c
|
|
lwc1 $f23, 0x8($t0)
|
|
.L00018d20:
|
|
mtc1 $zero, $f21
|
|
mtc1 $zero, $f22
|
|
mtc1 $zero, $f23
|
|
.L00018d2c:
|
|
lw $t0, 0x8($gp)
|
|
beqz $t0, .L00018d48
|
|
nop
|
|
jal model0001a25c
|
|
nop
|
|
b .L00018d4c
|
|
nop
|
|
.L00018d48:
|
|
lw $t0, 0x0($a0)
|
|
.L00018d4c:
|
|
lw $t1, 0x4($gp)
|
|
lhu $t2, 0xe($t1)
|
|
sll $t2, $t2, 0x6
|
|
lw $t1, 0xc($a1)
|
|
jal model0001a1c0
|
|
add $t1, $t1, $t2
|
|
lui $t3, %hi(var8005efcc)
|
|
addiu $t3, $t3, %lo(var8005efcc)
|
|
lw $t3, 0x0($t3)
|
|
beqz $t3, .L00018e80
|
|
nop
|
|
addiu $sp, $sp, -128
|
|
sw $ra, 0x0($sp)
|
|
sw $at, 0x4($sp)
|
|
sw $v0, 0x8($sp)
|
|
sw $v1, 0xc($sp)
|
|
sw $a0, 0x10($sp)
|
|
sw $a1, 0x14($sp)
|
|
sw $a2, 0x18($sp)
|
|
sw $a3, 0x1c($sp)
|
|
sw $t0, 0x20($sp)
|
|
sw $t1, 0x24($sp)
|
|
sw $t2, 0x28($sp)
|
|
sw $t3, 0x2c($sp)
|
|
sw $t4, 0x30($sp)
|
|
sw $t5, 0x34($sp)
|
|
sw $t6, 0x38($sp)
|
|
sw $t7, 0x3c($sp)
|
|
sw $s0, 0x40($sp)
|
|
sw $s1, 0x44($sp)
|
|
sw $s2, 0x48($sp)
|
|
sw $s3, 0x4c($sp)
|
|
sw $s4, 0x50($sp)
|
|
sw $s5, 0x54($sp)
|
|
sw $s6, 0x58($sp)
|
|
sw $s7, 0x5c($sp)
|
|
sw $t8, 0x60($sp)
|
|
sw $t9, 0x64($sp)
|
|
sw $gp, 0x70($sp)
|
|
sw $sp, 0x74($sp)
|
|
sw $s8, 0x78($sp)
|
|
lw $t1, 0x4($gp)
|
|
lhu $a0, 0xe($t1)
|
|
sll $t2, $a0, 0x6
|
|
lw $t1, 0xc($a1)
|
|
jalr $t3
|
|
add $a1, $t1, $t2
|
|
lw $ra, 0x0($sp)
|
|
lw $at, 0x4($sp)
|
|
lw $v0, 0x8($sp)
|
|
lw $v1, 0xc($sp)
|
|
lw $a0, 0x10($sp)
|
|
lw $a1, 0x14($sp)
|
|
lw $a2, 0x18($sp)
|
|
lw $a3, 0x1c($sp)
|
|
lw $t0, 0x20($sp)
|
|
lw $t1, 0x24($sp)
|
|
lw $t2, 0x28($sp)
|
|
lw $t3, 0x2c($sp)
|
|
lw $t4, 0x30($sp)
|
|
lw $t5, 0x34($sp)
|
|
lw $t6, 0x38($sp)
|
|
lw $t7, 0x3c($sp)
|
|
lw $s0, 0x40($sp)
|
|
lw $s1, 0x44($sp)
|
|
lw $s2, 0x48($sp)
|
|
lw $s3, 0x4c($sp)
|
|
lw $s4, 0x50($sp)
|
|
lw $s5, 0x54($sp)
|
|
lw $s6, 0x58($sp)
|
|
lw $s7, 0x5c($sp)
|
|
lw $t8, 0x60($sp)
|
|
lw $t9, 0x64($sp)
|
|
lw $gp, 0x70($sp)
|
|
lw $sp, 0x74($sp)
|
|
lw $s8, 0x78($sp)
|
|
addiu $sp, $sp, 0x80
|
|
.L00018e80:
|
|
lh $t2, 0x0($gp)
|
|
andi $t2, $t2, 0x100
|
|
beqz $t2, .L00019574
|
|
nop
|
|
lw $v0, 0x7e4($sp)
|
|
beqz $v0, .L00018eb0
|
|
addiu $t0, $t0, -12
|
|
lwc1 $f0, 0x7e8($sp)
|
|
lwc1 $f1, 0x7ec($sp)
|
|
lwc1 $f2, 0x7f0($sp)
|
|
j .L00018ecc
|
|
lwc1 $f3, 0x7f4($sp)
|
|
.L00018eb0:
|
|
add $t2, $zero, $s0
|
|
add $t3, $zero, $s1
|
|
add $t4, $zero, $s2
|
|
jal model0001a024
|
|
add $s0, $zero, $t0
|
|
jal model00019f2c
|
|
add $t0, $zero, $s0
|
|
.L00018ecc:
|
|
lui $at, 0x3f00
|
|
mtc1 $at, $f8
|
|
mtc1 $zero, $f4
|
|
mov.s $f6, $f0
|
|
lui $at, %hi(var70054210)
|
|
lwc1 $f7, %lo(var70054210)($at)
|
|
c.lt.s $f6, $f4
|
|
bc1f .L00018ef8
|
|
mov.s $f5, $f31
|
|
neg.s $f6, $f6
|
|
neg.s $f5, $f5
|
|
.L00018ef8:
|
|
c.lt.s $f6, $f7
|
|
lui $at, %hi(var70054214)
|
|
lwc1 $f7, %lo(var70054214)($at)
|
|
bc1f .L00018f38
|
|
nop
|
|
mul.s $f0, $f0, $f8
|
|
nop
|
|
mul.s $f4, $f5, $f8
|
|
nop
|
|
mul.s $f1, $f1, $f8
|
|
nop
|
|
mul.s $f2, $f2, $f8
|
|
nop
|
|
mul.s $f3, $f3, $f8
|
|
b .L00018fb4
|
|
sub.s $f0, $f0, $f4
|
|
.L00018f38:
|
|
c.le.s $f6, $f7
|
|
bc1f .L00018f8c
|
|
nop
|
|
jal model0001a2dc
|
|
nop
|
|
mov.s $f17, $f0
|
|
mul.s $f12, $f6, $f8
|
|
add $s0, $zero, $t0
|
|
jal sinf
|
|
add $s1, $zero, $t1
|
|
mul.s $f3, $f3, $f0
|
|
add $t0, $zero, $s0
|
|
mul.s $f2, $f2, $f0
|
|
add $t1, $zero, $s1
|
|
mul.s $f1, $f1, $f0
|
|
nop
|
|
mul.s $f5, $f5, $f0
|
|
nop
|
|
mul.s $f0, $f0, $f17
|
|
b .L00018fb4
|
|
add.s $f0, $f0, $f5
|
|
.L00018f8c:
|
|
mul.s $f0, $f0, $f8
|
|
nop
|
|
mul.s $f4, $f5, $f8
|
|
nop
|
|
mul.s $f1, $f1, $f8
|
|
nop
|
|
mul.s $f2, $f2, $f8
|
|
nop
|
|
mul.s $f3, $f3, $f8
|
|
add.s $f0, $f0, $f4
|
|
.L00018fb4:
|
|
jal model0001a110
|
|
lw $t1, 0x4($gp)
|
|
lhu $t2, 0x10($t1)
|
|
sll $t2, $t2, 0x6
|
|
lw $t1, 0xc($a1)
|
|
jal model0001a1c0
|
|
add $t1, $t1, $t2
|
|
j .L00019574
|
|
nop
|
|
.L00018fd8:
|
|
mtc1 $zero, $f13
|
|
mov.s $f12, $f31
|
|
mov.s $f16, $f31
|
|
mov.s $f20, $f31
|
|
mov.s $f14, $f13
|
|
mov.s $f15, $f13
|
|
mov.s $f17, $f13
|
|
mov.s $f18, $f13
|
|
mov.s $f19, $f13
|
|
sll $t1, $t1, 0x3
|
|
add $t0, $s7, $t1
|
|
j .L00018c6c
|
|
lhu $s8, 0x0($t0)
|
|
.L0001900c:
|
|
syscall
|
|
jal model0001a25c
|
|
add $t0, $zero, $gp
|
|
lui $t2, %hi(g_ModelDistanceDisabled)
|
|
addiu $t2, $t2, %lo(g_ModelDistanceDisabled)
|
|
jal model00019d1c
|
|
lw $t1, 0x4($gp)
|
|
lw $t2, 0x0($t2)
|
|
bnez $t2, .L00019068
|
|
mtc1 $zero, $f0
|
|
beqz $t0, .L00019068
|
|
mtc1 $zero, $f0
|
|
lui $t2, %hi(g_Vars)
|
|
addiu $t2, $t2, %lo(g_Vars)
|
|
lwc1 $f0, 0x38($t0)
|
|
lw $t2, 0x284($t2)
|
|
neg.s $f0, $f0
|
|
lwc1 $f1, 0x1774($t2)
|
|
mul.s $f0, $f0, $f1
|
|
lui $t0, %hi(g_ModelDistanceScale)
|
|
addiu $t0, $t0, %lo(g_ModelDistanceScale)
|
|
lwc1 $f1, 0x0($t0)
|
|
mul.s $f0, $f0, $f1
|
|
.L00019068:
|
|
lwc1 $f1, 0x0($t1)
|
|
lwc1 $f2, 0x14($a1)
|
|
mtc1 $zero, $f4
|
|
mul.s $f3, $f1, $f2
|
|
c.eq.s $f1, $f4
|
|
bc1t .L00019090
|
|
lwc1 $f4, 0x4($t1)
|
|
c.lt.s $f3, $f0
|
|
bc1f .L000190b0
|
|
nop
|
|
.L00019090:
|
|
mul.s $f3, $f4, $f2
|
|
c.le.s $f0, $f3
|
|
bc1f .L000190b0
|
|
lw $t1, 0x8($t1)
|
|
addiu $t0, $zero, 0x1
|
|
sw $t0, 0x0($v0)
|
|
j .L00019574
|
|
sw $t1, 0x14($gp)
|
|
.L000190b0:
|
|
sw $zero, 0x0($v0)
|
|
j .L00019574
|
|
sw $zero, 0x14($gp)
|
|
beqz $a1, .L000194a0
|
|
lw $t0, 0x4($gp)
|
|
lhu $t2, 0x0($a2)
|
|
beqz $a2, .L0001946c
|
|
lhu $t1, 0x0($t0)
|
|
mtc1 $zero, $f29
|
|
lwc1 $f30, 0x7e0($sp)
|
|
c.eq.s $f29, $f30
|
|
bc1t .L00019220
|
|
nop
|
|
lbu $t2, 0x8($a2)
|
|
beqz $t2, .L00019140
|
|
nop
|
|
lw $t2, 0x4($s6)
|
|
sll $t1, $t1, 0x1
|
|
add $t2, $t2, $t1
|
|
lbu $t1, 0x1($t2)
|
|
sll $t1, $t1, 0x3
|
|
add $t0, $s7, $t1
|
|
lhu $s8, 0x0($t0)
|
|
lui $t2, 0x1
|
|
lhu $t4, 0x6($t0)
|
|
bnez $t4, .L00019120
|
|
sub $t4, $t2, $t4
|
|
addi $t4, $zero, 0x0
|
|
.L00019120:
|
|
lhu $t3, 0x4($t0)
|
|
bnez $t3, .L00019130
|
|
sub $t3, $t2, $t3
|
|
addi $t3, $zero, 0x0
|
|
.L00019130:
|
|
andi $t3, $t3, 0xffff
|
|
andi $t4, $t4, 0xffff
|
|
j .L00019158
|
|
lhu $t2, 0x2($t0)
|
|
.L00019140:
|
|
sll $t1, $t1, 0x3
|
|
add $t0, $s7, $t1
|
|
lhu $s8, 0x0($t0)
|
|
lhu $t2, 0x2($t0)
|
|
lhu $t3, 0x4($t0)
|
|
lhu $t4, 0x6($t0)
|
|
.L00019158:
|
|
lw $s0, 0x4($gp)
|
|
lbu $s1, 0x9($a2)
|
|
beqz $s1, .L000191b8
|
|
lhu $t1, 0x0($s0)
|
|
lw $s0, 0x4($s6)
|
|
sll $t1, $t1, 0x1
|
|
add $s0, $s0, $t1
|
|
lbu $t1, 0x1($s0)
|
|
sll $t1, $t1, 0x3
|
|
add $t0, $s7, $t1
|
|
lui $s0, 0x1
|
|
lhu $s4, 0x3c6($t0)
|
|
bnez $s4, .L00019194
|
|
sub $s4, $s0, $s4
|
|
addi $s4, $zero, 0x0
|
|
.L00019194:
|
|
lhu $s3, 0x3c4($t0)
|
|
bnez $s3, .L000191a4
|
|
sub $s3, $s0, $s3
|
|
addi $s3, $zero, 0x0
|
|
.L000191a4:
|
|
andi $s3, $s3, 0xffff
|
|
andi $s4, $s4, 0xffff
|
|
lhu $s0, 0x2($t0)
|
|
b .L000191cc
|
|
lhu $s2, 0x3c2($t0)
|
|
.L000191b8:
|
|
sll $t1, $t1, 0x3
|
|
add $t0, $s7, $t1
|
|
lhu $s2, 0x3c2($t0)
|
|
lhu $s3, 0x3c4($t0)
|
|
lhu $s4, 0x3c6($t0)
|
|
.L000191cc:
|
|
jal model0001a024
|
|
sw $t0, 0x7e8($sp)
|
|
jal model00019f2c
|
|
nop
|
|
mov.s $f16, $f0
|
|
mov.s $f17, $f1
|
|
mov.s $f18, $f2
|
|
mov.s $f19, $f3
|
|
or $t2, $s2, $zero
|
|
or $t3, $s3, $zero
|
|
jal model0001a024
|
|
or $t4, $s4, $zero
|
|
jal model00019f2c
|
|
nop
|
|
jal model00019ddc
|
|
lwc1 $f30, 0x7e0($sp)
|
|
lw $t0, 0x7e8($sp)
|
|
jal model0001a110
|
|
nop
|
|
j .L000192a8
|
|
nop
|
|
.L00019220:
|
|
lbu $t2, 0x8($a2)
|
|
beqz $t2, .L00019284
|
|
lhu $t1, 0x0($t0)
|
|
lw $t2, 0x4($s6)
|
|
sll $t1, $t1, 0x1
|
|
add $t2, $t2, $t1
|
|
lbu $t1, 0x1($t2)
|
|
sll $t1, $t1, 0x3
|
|
add $t0, $s7, $t1
|
|
lhu $s8, 0x0($t0)
|
|
lui $t2, 0x1
|
|
lhu $t4, 0x6($t0)
|
|
bnez $t4, .L0001925c
|
|
sub $t4, $t2, $t4
|
|
addi $t4, $zero, 0x0
|
|
.L0001925c:
|
|
lhu $t3, 0x4($t0)
|
|
bnez $t3, .L0001926c
|
|
sub $t3, $t2, $t3
|
|
addi $t3, $zero, 0x0
|
|
.L0001926c:
|
|
andi $t3, $t3, 0xffff
|
|
andi $t4, $t4, 0xffff
|
|
jal model00019f98
|
|
lhu $t2, 0x2($t0)
|
|
b .L000192a0
|
|
nop
|
|
.L00019284:
|
|
sll $t1, $t1, 0x3
|
|
add $t0, $s7, $t1
|
|
lhu $s8, 0x0($t0)
|
|
lhu $t4, 0x6($t0)
|
|
lhu $t3, 0x4($t0)
|
|
jal model00019f98
|
|
lhu $t2, 0x2($t0)
|
|
.L000192a0:
|
|
jal model0001a0ac
|
|
nop
|
|
.L000192a8:
|
|
jal model00019d1c
|
|
mtc1 $zero, $f0
|
|
mov.s $f27, $f12
|
|
mov.s $f28, $f13
|
|
mov.s $f29, $f14
|
|
mov.s $f30, $f15
|
|
lwc1 $f1, 0x18($v0)
|
|
c.eq.s $f0, $f1
|
|
bc1t .L0001933c
|
|
lwc1 $f12, 0x14($v0)
|
|
lwc1 $f3, 0x1c($v0)
|
|
lui $at, %hi(var70054218)
|
|
lwc1 $f4, %lo(var70054218)($at)
|
|
sub.s $f5, $f3, $f12
|
|
lui $at, %hi(var7005421c)
|
|
lwc1 $f6, %lo(var7005421c)($at)
|
|
c.lt.s $f5, $f0
|
|
bc1f .L000192f8
|
|
nop
|
|
add.s $f5, $f5, $f6
|
|
.L000192f8:
|
|
c.lt.s $f5, $f4
|
|
bc1t .L00019320
|
|
nop
|
|
mul.s $f5, $f5, $f1
|
|
add.s $f12, $f12, $f5
|
|
c.le.s $f12, $f6
|
|
bc1t .L0001933c
|
|
nop
|
|
j .L0001933c
|
|
sub.s $f12, $f12, $f6
|
|
.L00019320:
|
|
sub.s $f5, $f6, $f5
|
|
mul.s $f5, $f5, $f1
|
|
sub.s $f12, $f12, $f5
|
|
c.lt.s $f12, $f0
|
|
bc1f .L0001933c
|
|
nop
|
|
add.s $f12, $f12, $f6
|
|
.L0001933c:
|
|
lui $at, %hi(var70054220)
|
|
lwc1 $f1, %lo(var70054220)($at)
|
|
jal sinf
|
|
add.s $f1, $f12, $f1
|
|
mov.s $f12, $f1
|
|
jal sinf
|
|
mov.s $f1, $f0
|
|
neg.s $f2, $f1
|
|
mov.s $f12, $f27
|
|
mov.s $f13, $f28
|
|
mov.s $f14, $f29
|
|
mov.s $f15, $f30
|
|
lwc1 $f21, 0x8($v0)
|
|
lwc1 $f22, 0xc($v0)
|
|
lwc1 $f23, 0x10($v0)
|
|
mul.s $f3, $f0, $f12
|
|
nop
|
|
mul.s $f4, $f1, $f14
|
|
nop
|
|
mul.s $f5, $f0, $f15
|
|
add.s $f3, $f3, $f4
|
|
mul.s $f6, $f1, $f17
|
|
nop
|
|
mul.s $f7, $f0, $f18
|
|
add.s $f5, $f5, $f6
|
|
mul.s $f8, $f1, $f20
|
|
nop
|
|
mul.s $f9, $f2, $f12
|
|
add.s $f7, $f7, $f8
|
|
mul.s $f10, $f0, $f14
|
|
nop
|
|
mul.s $f4, $f2, $f15
|
|
add.s $f14, $f9, $f10
|
|
mul.s $f6, $f0, $f17
|
|
nop
|
|
mul.s $f8, $f2, $f18
|
|
add.s $f17, $f4, $f6
|
|
mul.s $f10, $f0, $f20
|
|
mov.s $f12, $f3
|
|
add.s $f20, $f8, $f10
|
|
mov.s $f15, $f5
|
|
mov.s $f18, $f7
|
|
lwc1 $f0, 0x14($a1)
|
|
c.eq.s $f31, $f0
|
|
bc1t .L00019438
|
|
nop
|
|
mul.s $f12, $f12, $f0
|
|
nop
|
|
mul.s $f13, $f13, $f0
|
|
nop
|
|
mul.s $f14, $f14, $f0
|
|
nop
|
|
mul.s $f15, $f15, $f0
|
|
nop
|
|
mul.s $f16, $f16, $f0
|
|
nop
|
|
mul.s $f17, $f17, $f0
|
|
nop
|
|
mul.s $f18, $f18, $f0
|
|
nop
|
|
mul.s $f19, $f19, $f0
|
|
nop
|
|
mul.s $f20, $f20, $f0
|
|
.L00019438:
|
|
lw $t0, 0x8($gp)
|
|
beqz $t0, .L00019448
|
|
nop
|
|
syscall
|
|
.L00019448:
|
|
lw $t1, 0x4($gp)
|
|
lw $t0, 0x0($a0)
|
|
lhu $t2, 0x2($t1)
|
|
sll $t2, $t2, 0x6
|
|
lw $t1, 0xc($a1)
|
|
jal model0001a1c0
|
|
add $t1, $t1, $t2
|
|
j .L00019574
|
|
nop
|
|
.L0001946c:
|
|
mtc1 $zero, $f13
|
|
mov.s $f12, $f31
|
|
mov.s $f16, $f31
|
|
mov.s $f20, $f31
|
|
mov.s $f14, $f13
|
|
mov.s $f15, $f13
|
|
mov.s $f17, $f13
|
|
mov.s $f18, $f13
|
|
mov.s $f19, $f13
|
|
sll $t1, $t1, 0x3
|
|
add $t0, $s7, $t1
|
|
j .L000192a8
|
|
lhu $s8, 0x0($t0)
|
|
.L000194a0:
|
|
syscall
|
|
jal model00019d1c
|
|
nop
|
|
lw $t1, 0x0($v0)
|
|
beqz $t1, .L00019574
|
|
nop
|
|
sw $sp, 0x7f8($sp)
|
|
lw $t2, 0x0($t1)
|
|
beqz $t2, .L00019574
|
|
sw $t2, 0x14($gp)
|
|
.L000194c8:
|
|
sw $gp, 0x8($t2)
|
|
lw $t2, 0xc($t2)
|
|
bnez $t2, .L000194c8
|
|
nop
|
|
j .L00019574
|
|
nop
|
|
lw $t0, 0x8($gp)
|
|
bnez $t0, .L000194f4
|
|
nop
|
|
j .L000194fc
|
|
lw $t0, 0x0($a0)
|
|
.L000194f4:
|
|
jal model0001a25c
|
|
nop
|
|
.L000194fc:
|
|
lw $t1, 0x4($gp)
|
|
mtc1 $zero, $f13
|
|
mov.s $f12, $f31
|
|
mov.s $f16, $f31
|
|
mov.s $f20, $f31
|
|
mov.s $f14, $f13
|
|
mov.s $f15, $f13
|
|
mov.s $f17, $f13
|
|
mov.s $f18, $f13
|
|
mov.s $f19, $f13
|
|
lwc1 $f21, 0x0($t1)
|
|
lwc1 $f22, 0x4($t1)
|
|
lwc1 $f23, 0x8($t1)
|
|
lhu $t2, 0xc($t1)
|
|
sll $t2, $t2, 0x6
|
|
lw $t1, 0xc($a1)
|
|
jal model0001a1c0
|
|
add $t1, $t1, $t2
|
|
j .L00019574
|
|
nop
|
|
j .L00019574
|
|
nop
|
|
jal model00019d1c
|
|
lw $t0, 0x4($gp)
|
|
lw $t1, 0x0($v0)
|
|
beqz $t1, .L00019570
|
|
lw $t1, 0x0($t0)
|
|
j .L00019574
|
|
sw $t1, 0x14($gp)
|
|
.L00019570:
|
|
sw $zero, 0x14($gp)
|
|
.L00019574:
|
|
lw $t0, 0x14($gp)
|
|
beqz $t0, .L00019588
|
|
nop
|
|
j .L000189e4
|
|
add $gp, $zero, $t0
|
|
.L00019588:
|
|
lw $t0, 0xc($gp)
|
|
beqz $t0, .L0001959c
|
|
nop
|
|
j .L000189e4
|
|
add $gp, $zero, $t0
|
|
.L0001959c:
|
|
lw $gp, 0x8($gp)
|
|
beqz $gp, .L000195c8
|
|
nop
|
|
lhu $t0, 0x0($gp)
|
|
andi $t0, $t0, 0xff
|
|
addiu $at, $zero, 0x17
|
|
bne $t0, $at, .L00019588
|
|
nop
|
|
sw $t0, 0x7f8($sp)
|
|
bnez $gp, .L00019588
|
|
nop
|
|
.L000195c8:
|
|
addiu $v0, $zero, 0x1
|
|
.L000195cc:
|
|
lw $s0, 0x780($sp)
|
|
lw $s1, 0x784($sp)
|
|
lw $s2, 0x788($sp)
|
|
lw $s3, 0x78c($sp)
|
|
lw $s4, 0x790($sp)
|
|
lw $s5, 0x794($sp)
|
|
lw $s6, 0x798($sp)
|
|
lw $s7, 0x79c($sp)
|
|
lw $s8, 0x7a0($sp)
|
|
lw $gp, 0x7a4($sp)
|
|
lw $ra, 0x7a8($sp)
|
|
lwc1 $f20, 0x7b0($sp)
|
|
lwc1 $f21, 0x7b4($sp)
|
|
lwc1 $f22, 0x7b8($sp)
|
|
lwc1 $f23, 0x7bc($sp)
|
|
lwc1 $f24, 0x7c0($sp)
|
|
lwc1 $f25, 0x7c4($sp)
|
|
lwc1 $f26, 0x7c8($sp)
|
|
lwc1 $f27, 0x7cc($sp)
|
|
lwc1 $f28, 0x7d0($sp)
|
|
lwc1 $f29, 0x7d4($sp)
|
|
lwc1 $f30, 0x7d8($sp)
|
|
lwc1 $f31, 0x7dc($sp)
|
|
jr $ra
|
|
addiu $sp, $sp, 0x800
|
|
syscall
|
|
|
|
glabel model00019634
|
|
sw $ra, 0x7ac($sp)
|
|
.L00019638:
|
|
lbu $t7, 0x0($t2)
|
|
addiu $t2, $t2, 0x1
|
|
sh $t7, 0x0($t0)
|
|
ori $t8, $zero, 0x0f
|
|
slt $at, $t8, $t7
|
|
bnez $at, .L000195cc
|
|
addi $v0, $zero, 0x0
|
|
andi $t8, $t7, 0x2
|
|
bnez $t8, .L000196cc
|
|
addi $s0, $zero, 0x0
|
|
andi $t8, $t7, 0x8
|
|
addi $s1, $zero, 0x0
|
|
beqz $t8, .L00019808
|
|
addi $s2, $zero, 0x0
|
|
lbu $v0, 0x2($t2)
|
|
lbu $v1, 0x5($t2)
|
|
add $v0, $v0, $v1
|
|
lbu $v1, 0x8($t2)
|
|
add $v0, $v0, $v1
|
|
lbu $v1, 0xb($t2)
|
|
add $v0, $v0, $v1
|
|
slt $at, $v0, $gp
|
|
bnez $at, .L000196c4
|
|
sub $v0, $v0, $gp
|
|
addi $s8, $zero, 0x0
|
|
srl $t8, $v0, 0x3
|
|
add $t6, $t6, $t8
|
|
sll $t8, $t8, 0x3
|
|
sub $v0, $v0, $t8
|
|
lbu $s8, 0x0($t6)
|
|
addiu $gp, $zero, 0x8
|
|
addiu $t6, $t6, 0x1
|
|
sub $gp, $gp, $v0
|
|
j .L00019808
|
|
addi $t2, $t2, 0xc
|
|
.L000196c4:
|
|
j .L00019808
|
|
addi $t2, $t2, 0xc
|
|
.L000196cc:
|
|
jal model00019be0
|
|
lbu $v1, 0x2($t2)
|
|
add $s0, $zero, $v0
|
|
lbu $v1, 0x2($t2)
|
|
addiu $s3, $zero, 0x10
|
|
slt $at, $v1, $s3
|
|
beqz $at, .L00019718
|
|
addiu $s3, $zero, 0x1
|
|
addiu $v0, $v1, -1
|
|
sllv $s3, $s3, $v0
|
|
and $s4, $s0, $s3
|
|
beqz $s4, .L00019718
|
|
addiu $s4, $zero, 0x10
|
|
sub $s4, $s4, $v1
|
|
addiu $v0, $zero, 0x1
|
|
sllv $v0, $v0, $s4
|
|
addiu $v0, $v0, -1
|
|
sllv $v0, $v0, $v1
|
|
or $s0, $s0, $v0
|
|
.L00019718:
|
|
lbu $s3, 0x0($t2)
|
|
sll $s3, $s3, 0x8
|
|
lbu $s4, 0x1($t2)
|
|
addu $s3, $s3, $s4
|
|
addu $s0, $s0, $s3
|
|
andi $s0, $s0, 0xffff
|
|
jal model00019be0
|
|
lbu $v1, 0x5($t2)
|
|
add $s1, $zero, $v0
|
|
lbu $v1, 0x5($t2)
|
|
addiu $s3, $zero, 0x10
|
|
slt $at, $v1, $s3
|
|
beqz $at, .L0001977c
|
|
addiu $s3, $zero, 0x1
|
|
addiu $v0, $v1, -1
|
|
sllv $s3, $s3, $v0
|
|
and $s4, $s1, $s3
|
|
beqz $s4, .L0001977c
|
|
addiu $s4, $zero, 0x10
|
|
sub $s4, $s4, $v1
|
|
addiu $v0, $zero, 0x1
|
|
sllv $v0, $v0, $s4
|
|
addiu $v0, $v0, -1
|
|
sllv $v0, $v0, $v1
|
|
or $s1, $s1, $v0
|
|
.L0001977c:
|
|
lbu $s3, 0x3($t2)
|
|
sll $s3, $s3, 0x8
|
|
lbu $s4, 0x4($t2)
|
|
addu $s3, $s3, $s4
|
|
addu $s1, $s1, $s3
|
|
andi $s1, $s1, 0xffff
|
|
jal model00019be0
|
|
lbu $v1, 0x8($t2)
|
|
add $s2, $zero, $v0
|
|
lbu $v1, 0x8($t2)
|
|
addiu $s3, $zero, 0x10
|
|
slt $at, $v1, $s3
|
|
beqz $at, .L000197e0
|
|
addiu $s3, $zero, 0x1
|
|
addiu $v0, $v1, -1
|
|
sllv $s3, $s3, $v0
|
|
and $s4, $s2, $s3
|
|
beqz $s4, .L000197e0
|
|
addiu $s4, $zero, 0x10
|
|
sub $s4, $s4, $v1
|
|
addiu $v0, $zero, 0x1
|
|
sllv $v0, $v0, $s4
|
|
addiu $v0, $v0, -1
|
|
sllv $v0, $v0, $v1
|
|
or $s2, $s2, $v0
|
|
.L000197e0:
|
|
lbu $s3, 0x6($t2)
|
|
sll $s3, $s3, 0x8
|
|
lbu $s4, 0x7($t2)
|
|
addu $s3, $s3, $s4
|
|
addu $s2, $s2, $s3
|
|
andi $s2, $s2, 0xffff
|
|
addi $t2, $t2, 0x9
|
|
sh $s0, 0x1e0($t0)
|
|
sh $s1, 0x1e2($t0)
|
|
sh $s2, 0x1e4($t0)
|
|
.L00019808:
|
|
andi $t8, $t7, 0x1
|
|
bnez $t8, .L00019820
|
|
addi $s0, $zero, 0x0
|
|
addi $s1, $zero, 0x0
|
|
j .L000198b4
|
|
addi $s2, $zero, 0x0
|
|
.L00019820:
|
|
jal model00019be0
|
|
lbu $v1, 0x2($t2)
|
|
add $s0, $zero, $v0
|
|
lbu $v1, 0x0($t2)
|
|
sll $v1, $v1, 0x8
|
|
lbu $v0, 0x1($t2)
|
|
addu $v1, $v1, $v0
|
|
addiu $v0, $zero, 0x10
|
|
addu $s0, $s0, $v1
|
|
sub $v0, $v0, $t4
|
|
sllv $s0, $s0, $v0
|
|
andi $s0, $s0, 0xffff
|
|
jal model00019be0
|
|
lbu $v1, 0x5($t2)
|
|
add $s1, $zero, $v0
|
|
lbu $v1, 0x3($t2)
|
|
sll $v1, $v1, 0x8
|
|
lbu $v0, 0x4($t2)
|
|
addu $v1, $v1, $v0
|
|
addiu $v0, $zero, 0x10
|
|
addu $s1, $s1, $v1
|
|
sub $v0, $v0, $t4
|
|
sllv $s1, $s1, $v0
|
|
andi $s1, $s1, 0xffff
|
|
jal model00019be0
|
|
lbu $v1, 0x8($t2)
|
|
add $s2, $zero, $v0
|
|
lbu $v1, 0x6($t2)
|
|
sll $v1, $v1, 0x8
|
|
lbu $v0, 0x7($t2)
|
|
addu $v1, $v1, $v0
|
|
addiu $v0, $zero, 0x10
|
|
addu $s2, $s2, $v1
|
|
sub $v0, $v0, $t4
|
|
sllv $s2, $s2, $v0
|
|
andi $s2, $s2, 0xffff
|
|
addi $t2, $t2, 0x9
|
|
.L000198b4:
|
|
sh $s0, 0x2($t0)
|
|
sh $s1, 0x4($t0)
|
|
sh $s2, 0x6($t0)
|
|
addi $t0, $t0, 0x8
|
|
slt $at, $t2, $t3
|
|
bnez $at, .L00019638
|
|
nop
|
|
lw $ra, 0x7ac($sp)
|
|
jr $ra
|
|
nop
|
|
|
|
glabel model000198dc
|
|
sw $ra, 0x7ac($sp)
|
|
.L000198e0:
|
|
lbu $t7, 0x0($t2)
|
|
addi $t2, $t2, 0x1
|
|
ori $t8, $zero, 0x0f
|
|
slt $at, $t8, $t7
|
|
bnez $at, .L000195cc
|
|
addi $v0, $zero, 0x0
|
|
andi $t8, $t7, 0x2
|
|
bnez $t8, .L00019970
|
|
addi $s0, $zero, 0x0
|
|
andi $t8, $t7, 0x8
|
|
addi $s1, $zero, 0x0
|
|
beqz $t8, .L000199b8
|
|
addi $s2, $zero, 0x0
|
|
lbu $v0, 0x2($t2)
|
|
lbu $v1, 0x5($t2)
|
|
add $v0, $v0, $v1
|
|
lbu $v1, 0x8($t2)
|
|
add $v0, $v0, $v1
|
|
lbu $v1, 0xb($t2)
|
|
add $v0, $v0, $v1
|
|
slt $at, $v0, $gp
|
|
bnez $at, .L00019968
|
|
sub $v0, $v0, $gp
|
|
addi $s8, $zero, 0x0
|
|
srl $t8, $v0, 0x3
|
|
add $t6, $t6, $t8
|
|
sll $t8, $t8, 0x3
|
|
sub $v0, $v0, $t8
|
|
lbu $s8, 0x0($t6)
|
|
addiu $gp, $zero, 0x8
|
|
addiu $t6, $t6, 0x1
|
|
sub $gp, $gp, $v0
|
|
j .L000199b8
|
|
addi $t2, $t2, 0xc
|
|
.L00019968:
|
|
j .L000199b8
|
|
addi $t2, $t2, 0xc
|
|
.L00019970:
|
|
lbu $v0, 0x2($t2)
|
|
lbu $v1, 0x5($t2)
|
|
add $v0, $v0, $v1
|
|
lbu $v1, 0x8($t2)
|
|
add $v0, $v0, $v1
|
|
slt $at, $v0, $gp
|
|
bnez $at, .L000199b4
|
|
sub $v0, $v0, $gp
|
|
addi $s8, $zero, 0x0
|
|
srl $t8, $v0, 0x3
|
|
add $t6, $t6, $t8
|
|
sll $t8, $t8, 0x3
|
|
sub $v0, $v0, $t8
|
|
lbu $s8, 0x0($t6)
|
|
addiu $gp, $zero, 0x8
|
|
addiu $t6, $t6, 0x1
|
|
sub $gp, $gp, $v0
|
|
.L000199b4:
|
|
addi $t2, $t2, 0x9
|
|
.L000199b8:
|
|
andi $t8, $t7, 0x1
|
|
bnez $t8, .L000199d0
|
|
addi $s0, $zero, 0x0
|
|
addi $s1, $zero, 0x0
|
|
j .L00019a64
|
|
addi $s2, $zero, 0x0
|
|
.L000199d0:
|
|
jal model00019be0
|
|
lbu $v1, 0x2($t2)
|
|
add $s0, $zero, $v0
|
|
lbu $v1, 0x0($t2)
|
|
sll $v1, $v1, 0x8
|
|
lbu $v0, 0x1($t2)
|
|
addu $v1, $v1, $v0
|
|
addiu $v0, $zero, 0x10
|
|
addu $s0, $s0, $v1
|
|
sub $v0, $v0, $t4
|
|
sllv $s0, $s0, $v0
|
|
andi $s0, $s0, 0xffff
|
|
jal model00019be0
|
|
lbu $v1, 0x5($t2)
|
|
add $s1, $zero, $v0
|
|
lbu $v1, 0x3($t2)
|
|
sll $v1, $v1, 0x8
|
|
lbu $v0, 0x4($t2)
|
|
addu $v1, $v1, $v0
|
|
addiu $v0, $zero, 0x10
|
|
addu $s1, $s1, $v1
|
|
sub $v0, $v0, $t4
|
|
sllv $s1, $s1, $v0
|
|
andi $s1, $s1, 0xffff
|
|
jal model00019be0
|
|
lbu $v1, 0x8($t2)
|
|
add $s2, $zero, $v0
|
|
lbu $v1, 0x6($t2)
|
|
sll $v1, $v1, 0x8
|
|
lbu $v0, 0x7($t2)
|
|
addu $v1, $v1, $v0
|
|
addiu $v0, $zero, 0x10
|
|
addu $s2, $s2, $v1
|
|
sub $v0, $v0, $t4
|
|
sllv $s2, $s2, $v0
|
|
andi $s2, $s2, 0xffff
|
|
addi $t2, $t2, 0x9
|
|
.L00019a64:
|
|
mfc1 $s3, $f0
|
|
lui $v1, 0x1
|
|
lhu $s4, 0x2($t0)
|
|
sub $s5, $s0, $s4
|
|
bgez $s5, .L00019a80
|
|
nop
|
|
add $s5, $s5, $v1
|
|
.L00019a80:
|
|
dli $at, 0x8000
|
|
slt $at, $s5, $at
|
|
beqz $at, .L00019abc
|
|
nop
|
|
multu $s5, $s3
|
|
mflo $s5
|
|
sra $s5, $s5, 0xc
|
|
add $s0, $s4, $s5
|
|
lui $at, 0x1
|
|
slt $at, $s0, $at
|
|
bnez $at, .L00019adc
|
|
nop
|
|
lui $s4, 0x1
|
|
j .L00019adc
|
|
sub $s0, $s0, $s4
|
|
.L00019abc:
|
|
sub $s5, $v1, $s5
|
|
multu $s5, $s3
|
|
mflo $s5
|
|
sra $s5, $s5, 0xc
|
|
sub $s0, $s4, $s5
|
|
bgez $s0, .L00019adc
|
|
nop
|
|
add $s0, $s0, $v1
|
|
.L00019adc:
|
|
lhu $s4, 0x4($t0)
|
|
sub $s5, $s1, $s4
|
|
bgez $s5, .L00019af0
|
|
nop
|
|
add $s5, $s5, $v1
|
|
.L00019af0:
|
|
dli $at, 0x8000
|
|
slt $at, $s5, $at
|
|
beqz $at, .L00019b28
|
|
nop
|
|
multu $s5, $s3
|
|
mflo $s5
|
|
sra $s5, $s5, 0xc
|
|
add $s1, $s4, $s5
|
|
lui $at, 0x1
|
|
slt $at, $s1, $at
|
|
bnez $at, .L00019b48
|
|
nop
|
|
j .L00019b48
|
|
sub $s1, $s1, $v1
|
|
.L00019b28:
|
|
sub $s5, $v1, $s5
|
|
multu $s5, $s3
|
|
mflo $s5
|
|
sra $s5, $s5, 0xc
|
|
sub $s1, $s4, $s5
|
|
bgez $s1, .L00019b48
|
|
nop
|
|
add $s1, $s1, $v1
|
|
.L00019b48:
|
|
lhu $s4, 0x6($t0)
|
|
sub $s5, $s2, $s4
|
|
bgez $s5, .L00019b5c
|
|
nop
|
|
add $s5, $s5, $v1
|
|
.L00019b5c:
|
|
dli $at, 0x8000
|
|
slt $at, $s5, $at
|
|
beqz $at, .L00019b94
|
|
nop
|
|
multu $s5, $s3
|
|
mflo $s5
|
|
sra $s5, $s5, 0xc
|
|
add $s2, $s4, $s5
|
|
lui $at, 0x1
|
|
slt $at, $s2, $at
|
|
bnez $at, .L00019bb8
|
|
nop
|
|
j .L00019bb8
|
|
sub $s2, $s2, $v1
|
|
.L00019b94:
|
|
sub $s5, $v1, $s5
|
|
multu $s5, $s3
|
|
mflo $s5
|
|
sra $s5, $s5, 0xc
|
|
sub $s2, $s4, $s5
|
|
bgez $s2, .L00019bb8
|
|
nop
|
|
lui $s4, 0x1
|
|
add $s2, $s2, $s4
|
|
.L00019bb8:
|
|
sh $s0, 0x2($t0)
|
|
sh $s1, 0x4($t0)
|
|
sh $s2, 0x6($t0)
|
|
addi $t0, $t0, 0x8
|
|
slt $at, $t2, $t3
|
|
bnez $at, .L000198e0
|
|
nop
|
|
lw $ra, 0x7ac($sp)
|
|
jr $ra
|
|
nop
|
|
|
|
glabel model00019be0
|
|
beqz $v1, .L00019d14
|
|
addi $v0, $zero, 0x0
|
|
.L00019be8:
|
|
slt $at, $gp, $v1
|
|
beqz $at, .L00019cf4
|
|
nop
|
|
sub $v1, $v1, $gp
|
|
addi $s6, $zero, 0x1
|
|
sllv $s6, $s6, $gp
|
|
addi $s6, $s6, -1
|
|
and $s6, $s8, $s6
|
|
sllv $s6, $s6, $v1
|
|
or $v0, $v0, $s6
|
|
sub $s6, $t3, $t6
|
|
slti $at, $s6, 0x4
|
|
bnez $at, .L00019c24
|
|
nop
|
|
addiu $s6, $zero, 0x4
|
|
.L00019c24:
|
|
andi $s8, $t6, 0x3
|
|
addiu $s8, $s8, -4
|
|
neg $s8, $s8
|
|
beqz $s8, .L00019c48
|
|
nop
|
|
slt $at, $s8, $s6
|
|
beqz $at, .L00019c48
|
|
nop
|
|
or $s6, $s8, $zero
|
|
.L00019c48:
|
|
lui $s8, %hi(var8005ef7c)
|
|
addiu $s8, $s8, %lo(var8005ef7c)
|
|
sll $s6, $s6, 0x2
|
|
add $s6, $s8, $s6
|
|
lw $s6, 0x0($s6)
|
|
jr $s6
|
|
lbu $s8, 0x0($t6)
|
|
addiu $t6, $t6, 0x1
|
|
j .L00019be8
|
|
addiu $gp, $zero, 0x8
|
|
sll $s8, $s8, 0x8
|
|
lbu $s6, 0x1($t6)
|
|
or $s8, $s8, $s6
|
|
addiu $t6, $t6, 0x2
|
|
j .L00019be8
|
|
addiu $gp, $zero, 0x10
|
|
sll $s8, $s8, 0x8
|
|
lbu $s6, 0x1($t6)
|
|
or $s8, $s8, $s6
|
|
sll $s8, $s8, 0x8
|
|
lbu $s6, 0x2($t6)
|
|
or $s8, $s8, $s6
|
|
addiu $t6, $t6, 0x3
|
|
j .L00019be8
|
|
addiu $gp, $zero, 0x18
|
|
andi $s6, $t6, 0x3
|
|
beqz $s6, .L00019ce4
|
|
sll $s8, $s8, 0x8
|
|
lbu $s6, 0x1($t6)
|
|
or $s8, $s8, $s6
|
|
sll $s8, $s8, 0x8
|
|
lbu $s6, 0x2($t6)
|
|
or $s8, $s8, $s6
|
|
sll $s8, $s8, 0x8
|
|
lbu $s6, 0x3($t6)
|
|
or $s8, $s8, $s6
|
|
addiu $t6, $t6, 0x4
|
|
j .L00019be8
|
|
addiu $gp, $zero, 0x20
|
|
.L00019ce4:
|
|
lw $s8, 0x0($t6)
|
|
addiu $t6, $t6, 0x4
|
|
j .L00019be8
|
|
addiu $gp, $zero, 0x20
|
|
.L00019cf4:
|
|
beqz $v1, .L00019d14
|
|
sub $gp, $gp, $v1
|
|
srav $s6, $s8, $gp
|
|
addi $s7, $zero, 0x1
|
|
sllv $s7, $s7, $v1
|
|
addi $s7, $s7, -1
|
|
and $s6, $s6, $s7
|
|
or $v0, $v0, $s6
|
|
.L00019d14:
|
|
jr $ra
|
|
nop
|
|
|
|
glabel model00019d1c
|
|
addiu $sp, $sp, -32
|
|
sw $gp, 0x0($sp)
|
|
sw $t0, 0x4($sp)
|
|
sw $t1, 0x8($sp)
|
|
sw $t2, 0xc($sp)
|
|
sw $t3, 0x10($sp)
|
|
sw $t4, 0x14($sp)
|
|
sw $ra, 0x18($sp)
|
|
lw $t4, 0x4($gp)
|
|
lui $t2, %hi(var8005ef90)
|
|
addiu $t2, $t2, %lo(var8005ef90)
|
|
lhu $t1, 0x0($gp)
|
|
andi $t1, $t1, 0xff
|
|
or $t0, $zero, $zero
|
|
slti $at, $t1, 0x1a
|
|
beqz $at, .L00019d78
|
|
lw $t3, 0x10($a1)
|
|
add $t2, $t2, $t1
|
|
lbu $t2, 0x0($t2)
|
|
addiu $at, $zero, 0xff
|
|
beq $t2, $at, .L00019d78
|
|
add $t2, $t4, $t2
|
|
lhu $t0, 0x0($t2)
|
|
.L00019d78:
|
|
lw $t1, 0x818($sp)
|
|
beqz $t1, .L00019db0
|
|
nop
|
|
.L00019d84:
|
|
lw $t1, 0x8($gp)
|
|
beqz $t1, .L00019db0
|
|
or $gp, $t1, $zero
|
|
lhu $t1, 0x0($gp)
|
|
andi $t1, $t1, 0xff
|
|
addiu $at, $zero, 0x17
|
|
bne $t1, $at, .L00019d84
|
|
nop
|
|
jal model00019d1c
|
|
nop
|
|
lw $t3, 0x4($v0)
|
|
.L00019db0:
|
|
sll $t0, $t0, 0x2
|
|
add $v0, $t3, $t0
|
|
lw $gp, 0x0($sp)
|
|
lw $t0, 0x4($sp)
|
|
lw $t1, 0x8($sp)
|
|
lw $t2, 0xc($sp)
|
|
lw $t3, 0x10($sp)
|
|
lw $t4, 0x14($sp)
|
|
lw $ra, 0x18($sp)
|
|
jr $ra
|
|
addiu $sp, $sp, 0x20
|
|
|
|
#if VERSION < VERSION_NTSC_1_0
|
|
/**
|
|
* NTSC beta uses a simple version of this function, implemented here in ASM.
|
|
* NTSC 1.0 and newer reimplements the function in C and adds more to it.
|
|
*/
|
|
glabel modelGetNodeRwData
|
|
addiu $sp, $sp, -16
|
|
sw $t0, 0x0($sp)
|
|
sw $t1, 0x4($sp)
|
|
sw $t3, 0x8($sp)
|
|
sw $ra, 0xc($sp)
|
|
lw $t4, 0x4($a1)
|
|
lui $t2, 0x8006
|
|
addiu $t2, $t2, 0x1360
|
|
lhu $t1, 0x0($a1)
|
|
andi $t1, $t1, 0xff
|
|
or $t0, $zero, $zero
|
|
slti $at, $t1, 0x1a
|
|
beqz $at, .NB0001aefc
|
|
lw $t3, 0x10($a0)
|
|
add $t2, $t2, $t1
|
|
lbu $t2, 0x0($t2)
|
|
addiu $at, $zero, 0xff
|
|
beq $t2, $at, .NB0001aefc
|
|
add $t2, $t4, $t2
|
|
lhu $t0, 0x0($t2)
|
|
.NB0001aefc:
|
|
lbu $t1, 0x0($a0)
|
|
beqz $t1, .NB0001af34
|
|
sll $zero, $zero, 0x0
|
|
.NB0001af08:
|
|
lw $t1, 0x8($a1)
|
|
beqz $t1, .NB0001af34
|
|
or $a1, $t1, $zero
|
|
lhu $t1, 0x0($a1)
|
|
andi $t1, $t1, 0xff
|
|
addiu $at, $zero, 0x17
|
|
bne $t1, $at, .NB0001af08
|
|
sll $zero, $zero, 0x0
|
|
jal modelGetNodeRwData
|
|
sll $zero, $zero, 0x0
|
|
lw $t3, 0x4($v0)
|
|
.NB0001af34:
|
|
sll $t0, $t0, 0x2
|
|
add $v0, $t3, $t0
|
|
lw $t0, 0x0($sp)
|
|
lw $t1, 0x4($sp)
|
|
lw $t3, 0x8($sp)
|
|
lw $ra, 0xc($sp)
|
|
jr $ra
|
|
addiu $sp, $sp, 0x10
|
|
#endif
|
|
|
|
glabel model00019ddc
|
|
sw $ra, 0x7ac($sp)
|
|
.L00019de0:
|
|
mul.s $f5, $f16, $f0
|
|
mtc1 $zero, $f4
|
|
mul.s $f6, $f17, $f1
|
|
nop
|
|
mul.s $f7, $f18, $f2
|
|
add.s $f6, $f5, $f6
|
|
mul.s $f5, $f19, $f3
|
|
add.s $f6, $f6, $f7
|
|
add.s $f6, $f6, $f5
|
|
c.lt.s $f6, $f4
|
|
bc1fl .L00019e24
|
|
nop
|
|
neg.s $f0, $f0
|
|
neg.s $f1, $f1
|
|
neg.s $f2, $f2
|
|
j .L00019de0
|
|
neg.s $f3, $f3
|
|
.L00019e24:
|
|
lui $at, %hi(var70054224)
|
|
lwc1 $f7, %lo(var70054224)($at)
|
|
c.lt.s $f6, $f7
|
|
bc1fl .L00019e80
|
|
nop
|
|
mul.s $f6, $f30, $f16
|
|
sub.s $f5, $f5, $f30
|
|
mul.s $f7, $f5, $f0
|
|
sub.s $f0, $f7, $f6
|
|
mul.s $f6, $f30, $f17
|
|
nop
|
|
mul.s $f7, $f5, $f1
|
|
nop
|
|
mul.s $f8, $f30, $f18
|
|
sub.s $f1, $f7, $f6
|
|
mul.s $f9, $f5, $f2
|
|
nop
|
|
mul.s $f6, $f30, $f19
|
|
sub.s $f2, $f9, $f8
|
|
mul.s $f7, $f5, $f3
|
|
lw $ra, 0x7ac($sp)
|
|
jr $ra
|
|
sub.s $f2, $f7, $f6
|
|
.L00019e80:
|
|
lui $at, %hi(var70054228)
|
|
lwc1 $f7, %lo(var70054228)($at)
|
|
c.le.s $f6, $f7
|
|
bc1f .L00019f20
|
|
nop
|
|
jal model0001a2dc
|
|
nop
|
|
mov.s $f20, $f0
|
|
jal sinf
|
|
mov.s $f12, $f7
|
|
mov.s $f12, $f31
|
|
sub.s $f12, $f12, $f30
|
|
mul.s $f12, $f12, $f7
|
|
jal sinf
|
|
mov.s $f21, $f0
|
|
mul.s $f12, $f7, $f30
|
|
jal sinf
|
|
mov.s $f22, $f0
|
|
div.s $f5, $f22, $f21
|
|
nop
|
|
div.s $f30, $f0, $f21
|
|
mov.s $f0, $f20
|
|
.L00019ed8:
|
|
mul.s $f6, $f5, $f16
|
|
nop
|
|
mul.s $f7, $f30, $f0
|
|
nop
|
|
mul.s $f8, $f5, $f17
|
|
add.s $f0, $f6, $f7
|
|
mul.s $f9, $f30, $f1
|
|
nop
|
|
mul.s $f6, $f5, $f18
|
|
add.s $f1, $f8, $f9
|
|
mul.s $f7, $f30, $f2
|
|
nop
|
|
mul.s $f8, $f5, $f19
|
|
add.s $f2, $f6, $f7
|
|
mul.s $f9, $f30, $f3
|
|
lw $ra, 0x7ac($sp)
|
|
jr $ra
|
|
add.s $f3, $f8, $f9
|
|
.L00019f20:
|
|
mov.s $f5, $f31
|
|
j .L00019ed8
|
|
sub.s $f5, $f5, $f30
|
|
|
|
glabel model00019f2c
|
|
mul.s $f6, $f0, $f2
|
|
nop
|
|
mul.s $f7, $f0, $f3
|
|
nop
|
|
mul.s $f8, $f1, $f2
|
|
nop
|
|
mul.s $f9, $f1, $f3
|
|
nop
|
|
mul.s $f0, $f6, $f4
|
|
nop
|
|
mul.s $f1, $f9, $f5
|
|
nop
|
|
mul.s $f2, $f8, $f4
|
|
add.s $f0, $f0, $f1
|
|
mul.s $f1, $f7, $f5
|
|
nop
|
|
mul.s $f3, $f7, $f5
|
|
nop
|
|
mul.s $f10, $f7, $f4
|
|
sub.s $f1, $f2, $f1
|
|
mul.s $f11, $f8, $f5
|
|
nop
|
|
mul.s $f26, $f6, $f5
|
|
add.s $f2, $f10, $f11
|
|
mul.s $f10, $f9, $f4
|
|
jr $ra
|
|
sub.s $f3, $f26, $f10
|
|
|
|
glabel model00019f98
|
|
add $t5, $zero, $ra
|
|
lui $at, %hi(var7005422c)
|
|
lwc1 $f29, %lo(var7005422c)($at)
|
|
mtc1 $t4, $f8
|
|
mtc1 $t3, $f7
|
|
mtc1 $t2, $f6
|
|
cvt.s.w $f8, $f8
|
|
cvt.s.w $f7, $f7
|
|
cvt.s.w $f6, $f6
|
|
mul.s $f8, $f8, $f29
|
|
lui $at, %hi(var70054230)
|
|
lwc1 $f30, %lo(var70054230)($at)
|
|
mul.s $f7, $f7, $f29
|
|
mov.s $f12, $f8
|
|
jal sinf
|
|
nop
|
|
mul.s $f6, $f6, $f29
|
|
add.s $f12, $f8, $f30
|
|
jal sinf
|
|
mov.s $f5, $f0
|
|
mov.s $f12, $f7
|
|
jal sinf
|
|
mov.s $f4, $f0
|
|
add.s $f12, $f7, $f30
|
|
jal sinf
|
|
mov.s $f3, $f0
|
|
mov.s $f12, $f6
|
|
jal sinf
|
|
mov.s $f2, $f0
|
|
add.s $f12, $f6, $f30
|
|
jal sinf
|
|
mov.s $f1, $f0
|
|
add $ra, $zero, $t5
|
|
jr $ra
|
|
nop
|
|
|
|
glabel model0001a024
|
|
add $t5, $zero, $ra
|
|
lui $at, %hi(var70054234)
|
|
lwc1 $f29, %lo(var70054234)($at)
|
|
mtc1 $t4, $f8
|
|
mtc1 $t3, $f7
|
|
mtc1 $t2, $f6
|
|
cvt.s.w $f8, $f8
|
|
cvt.s.w $f7, $f7
|
|
cvt.s.w $f6, $f6
|
|
mul.s $f8, $f8, $f29
|
|
lui $at, %hi(var70054238)
|
|
lwc1 $f30, %lo(var70054238)($at)
|
|
mul.s $f7, $f7, $f29
|
|
jal sinf
|
|
mov.s $f12, $f8
|
|
mul.s $f6, $f6, $f29
|
|
add.s $f12, $f8, $f30
|
|
jal sinf
|
|
mov.s $f5, $f0
|
|
mov.s $f12, $f7
|
|
jal sinf
|
|
mov.s $f4, $f0
|
|
add.s $f12, $f7, $f30
|
|
jal sinf
|
|
mov.s $f3, $f0
|
|
mov.s $f12, $f6
|
|
jal sinf
|
|
mov.s $f2, $f0
|
|
add.s $f12, $f6, $f30
|
|
jal sinf
|
|
mov.s $f1, $f0
|
|
add $ra, $zero, $t5
|
|
jr $ra
|
|
nop
|
|
|
|
glabel model0001a0ac
|
|
mul.s $f6, $f1, $f5
|
|
nop
|
|
mul.s $f7, $f0, $f5
|
|
nop
|
|
mul.s $f8, $f1, $f4
|
|
nop
|
|
mul.s $f9, $f0, $f4
|
|
nop
|
|
mul.s $f12, $f2, $f4
|
|
neg.s $f14, $f3
|
|
mul.s $f13, $f2, $f5
|
|
nop
|
|
mul.s $f15, $f8, $f3
|
|
nop
|
|
mul.s $f16, $f6, $f3
|
|
sub.s $f15, $f15, $f7
|
|
mul.s $f17, $f1, $f2
|
|
add.s $f16, $f16, $f9
|
|
mul.s $f18, $f9, $f3
|
|
nop
|
|
mul.s $f19, $f7, $f3
|
|
add.s $f18, $f18, $f6
|
|
mul.s $f20, $f0, $f2
|
|
jr $ra
|
|
sub.s $f19, $f19, $f8
|
|
|
|
glabel model0001a110
|
|
mul.s $f4, $f0, $f0
|
|
nop
|
|
mul.s $f5, $f1, $f1
|
|
nop
|
|
mul.s $f6, $f2, $f2
|
|
add.s $f4, $f4, $f5
|
|
mul.s $f5, $f3, $f3
|
|
add.s $f4, $f4, $f6
|
|
lui $at, 0x4000
|
|
mtc1 $at, $f6
|
|
add.s $f4, $f4, $f5
|
|
div.s $f4, $f6, $f4
|
|
mul.s $f5, $f1, $f4
|
|
nop
|
|
mul.s $f6, $f2, $f4
|
|
nop
|
|
mul.s $f7, $f3, $f4
|
|
nop
|
|
mul.s $f8, $f0, $f5
|
|
nop
|
|
mul.s $f9, $f0, $f6
|
|
nop
|
|
mul.s $f10, $f0, $f7
|
|
nop
|
|
mul.s $f11, $f1, $f5
|
|
nop
|
|
mul.s $f24, $f1, $f6
|
|
sub.s $f16, $f31, $f11
|
|
mul.s $f25, $f1, $f7
|
|
sub.s $f20, $f31, $f11
|
|
mul.s $f26, $f2, $f6
|
|
add.s $f13, $f24, $f10
|
|
mul.s $f27, $f2, $f7
|
|
sub.s $f12, $f31, $f26
|
|
mul.s $f28, $f3, $f7
|
|
sub.s $f14, $f25, $f9
|
|
sub.s $f12, $f12, $f28
|
|
sub.s $f15, $f24, $f10
|
|
sub.s $f16, $f16, $f28
|
|
add.s $f17, $f27, $f8
|
|
add.s $f18, $f25, $f9
|
|
sub.s $f19, $f27, $f8
|
|
jr $ra
|
|
sub.s $f20, $f20, $f26
|
|
|
|
glabel model0001a1c0
|
|
addiu $t2, $zero, 0x3
|
|
.L0001a1c4:
|
|
lwc1 $f0, 0x0($t0)
|
|
addiu $t0, $t0, 0x4
|
|
mul.s $f4, $f0, $f12
|
|
lwc1 $f1, 0xc($t0)
|
|
lwc1 $f2, 0x1c($t0)
|
|
mul.s $f5, $f1, $f13
|
|
lwc1 $f3, 0x2c($t0)
|
|
mul.s $f6, $f2, $f14
|
|
add.s $f7, $f4, $f5
|
|
mul.s $f8, $f0, $f15
|
|
add.s $f7, $f7, $f6
|
|
mul.s $f9, $f1, $f16
|
|
swc1 $f7, 0x0($t1)
|
|
mul.s $f10, $f2, $f17
|
|
add.s $f11, $f8, $f9
|
|
mul.s $f4, $f0, $f18
|
|
add.s $f11, $f11, $f10
|
|
mul.s $f5, $f1, $f19
|
|
swc1 $f11, 0x10($t1)
|
|
mul.s $f6, $f2, $f20
|
|
add.s $f7, $f4, $f5
|
|
mul.s $f8, $f0, $f21
|
|
add.s $f7, $f7, $f6
|
|
mul.s $f9, $f1, $f22
|
|
swc1 $f7, 0x20($t1)
|
|
mul.s $f10, $f2, $f23
|
|
add.s $f8, $f8, $f9
|
|
add.s $f10, $f10, $f3
|
|
addiu $t2, $t2, -1
|
|
add.s $f10, $f8, $f10
|
|
addiu $t1, $t1, 0x4
|
|
bnez $t2, .L0001a1c4
|
|
swc1 $f10, 0x2c($t1)
|
|
sw $zero, 0x0($t1)
|
|
sw $zero, 0x10($t1)
|
|
sw $zero, 0x20($t1)
|
|
jr $ra
|
|
swc1 $f31, 0x30($t1)
|
|
|
|
glabel model0001a25c
|
|
.L0001a25c:
|
|
lh $t1, 0x0($t0)
|
|
andi $t1, $t1, 0xff
|
|
addiu $t2, $zero, 0x1
|
|
bne $t1, $t2, .L0001a288
|
|
addiu $t2, $zero, 0x2
|
|
lw $t2, 0x4($t0)
|
|
lhu $t2, 0x2($t2)
|
|
sll $t2, $t2, 0x6
|
|
lw $t1, 0xc($a1)
|
|
jr $ra
|
|
add $t0, $t1, $t2
|
|
.L0001a288:
|
|
bne $t1, $t2, .L0001a2a8
|
|
addiu $t2, $zero, 0x15
|
|
lw $t2, 0x4($t0)
|
|
lhu $t2, 0xe($t2)
|
|
sll $t2, $t2, 0x6
|
|
lw $t1, 0xc($a1)
|
|
jr $ra
|
|
add $t0, $t1, $t2
|
|
.L0001a2a8:
|
|
bne $t1, $t2, .L0001a2c8
|
|
nop
|
|
lw $t2, 0x4($t0)
|
|
lhu $t2, 0xc($t2)
|
|
sll $t2, $t2, 0x6
|
|
lw $t1, 0xc($a1)
|
|
jr $ra
|
|
add $t0, $t1, $t2
|
|
.L0001a2c8:
|
|
lw $t0, 0x8($t0)
|
|
bnez $t0, .L0001a25c
|
|
nop
|
|
jr $ra
|
|
add $t0, $zero, $zero
|
|
|
|
glabel model0001a2dc
|
|
lui $at, %hi(var7005423c)
|
|
lwc1 $f7, %lo(var7005423c)($at)
|
|
mul.s $f7, $f6, $f7
|
|
trunc.w.s $f7, $f7
|
|
mfc1 $t2, $f7
|
|
nop
|
|
slti $at, $t2, 0x7fff
|
|
bnez $at, .L0001a308
|
|
nop
|
|
b .L0001a318
|
|
addiu $t2, $zero, 0x7fff
|
|
.L0001a308:
|
|
slti $at, $t2, -32767
|
|
beqz $at, .L0001a318
|
|
nop
|
|
addiu $t2, $zero, -32767
|
|
.L0001a318:
|
|
bgez $t2, .L0001a324
|
|
add $t3, $zero, $t2
|
|
neg $t3, $t3
|
|
.L0001a324:
|
|
slti $at, $t3, 0x7fe0
|
|
bnez $at, .L0001a348
|
|
nop
|
|
lui $t4, %hi(var8006af8c)
|
|
addiu $t4, $t4, %lo(var8006af8c)
|
|
addi $t3, $t3, -32736
|
|
addiu $t5, $zero, 0x3
|
|
b .L0001a37c
|
|
addiu $t6, $zero, 0x7
|
|
.L0001a348:
|
|
slti $at, $t3, 0x7800
|
|
bnez $at, .L0001a36c
|
|
nop
|
|
lui $t4, %hi(var8006af0c)
|
|
addiu $t4, $t4, %lo(var8006af0c)
|
|
addi $t3, $t3, -30720
|
|
addiu $t5, $zero, 0x5
|
|
b .L0001a37c
|
|
addiu $t6, $zero, 0x1f
|
|
.L0001a36c:
|
|
lui $t4, %hi(var8006ae90)
|
|
addiu $t4, $t4, %lo(var8006ae90)
|
|
addiu $t5, $zero, 0x9
|
|
addiu $t6, $zero, 0x1ff
|
|
.L0001a37c:
|
|
srav $s0, $t3, $t5
|
|
sll $s0, $s0, 0x1
|
|
add $t4, $t4, $s0
|
|
lhu $s1, 0x0($t4)
|
|
lhu $s2, 0x2($t4)
|
|
sub $s3, $s1, $s2
|
|
and $s4, $t3, $t6
|
|
multu $s3, $s4
|
|
mflo $s3
|
|
srav $s3, $s3, $t5
|
|
sub $t3, $s1, $s3
|
|
bgez $t2, .L0001a3b4
|
|
dli $t2, 0xffff
|
|
sub $t3, $t2, $t3
|
|
.L0001a3b4:
|
|
mtc1 $t3, $f8
|
|
lui $at, %hi(var70054240)
|
|
lwc1 $f7, %lo(var70054240)($at)
|
|
cvt.s.w $f8, $f8
|
|
mul.s $f7, $f8, $f7
|
|
jr $ra
|
|
nop
|
|
|
|
glabel cosf
|
|
lui $at, %hi(var70054244)
|
|
lwc1 $f13, %lo(var70054244)($at)
|
|
add.s $f12, $f12, $f13
|
|
|
|
glabel sinf
|
|
mfc1 $t0, $f12
|
|
nop
|
|
sra $t0, $t0, 22
|
|
andi $t0, $t0, 0x1ff
|
|
slti $at, $t0, 255
|
|
beqz $at, .L0001a454
|
|
nop
|
|
slti $at, $t0, 230
|
|
bnez $at, .L0001a4f0
|
|
mov.s $f0, $f12
|
|
mul.s $f14, $f12, $f12
|
|
lui $at, %hi(var70054248)
|
|
lwc1 $f15, %lo(var70054248)($at)
|
|
lui $at, %hi(var7005424c)
|
|
lwc1 $f13, %lo(var7005424c)($at)
|
|
mul.s $f15, $f15, $f14
|
|
add.s $f15, $f13, $f15
|
|
lui $at, %hi(var70054250)
|
|
lwc1 $f13, %lo(var70054250)($at)
|
|
mul.s $f15, $f15, $f14
|
|
add.s $f15, $f13, $f15
|
|
lui $at, %hi(var70054254)
|
|
lwc1 $f13, %lo(var70054254)($at)
|
|
mul.s $f15, $f15, $f14
|
|
add.s $f15, $f13, $f15
|
|
mul.s $f15, $f15, $f14
|
|
nop
|
|
mul.s $f15, $f15, $f12
|
|
jr $ra
|
|
add.s $f0, $f15, $f12
|
|
.L0001a454:
|
|
slti $at, $t0, 310
|
|
beqzl $at, .L0001a4f0
|
|
mtc1 $zero, $f0
|
|
lui $at, %hi(var70054258)
|
|
lwc1 $f14, %lo(var70054258)($at)
|
|
mul.s $f14, $f14, $f12
|
|
round.w.s $f14, $f14
|
|
mfc1 $t1, $f14
|
|
cvt.s.w $f14, $f14
|
|
lui $at, %hi(var7005425c)
|
|
lwc1 $f15, %lo(var7005425c)($at)
|
|
mul.s $f15, $f15, $f14
|
|
sub.s $f12, $f12, $f15
|
|
lui $at, %hi(var70054260)
|
|
lwc1 $f15, %lo(var70054260)($at)
|
|
mul.s $f15, $f15, $f14
|
|
sub.s $f12, $f12, $f15
|
|
lui $at, %hi(var70054264)
|
|
lwc1 $f15, %lo(var70054264)($at)
|
|
mul.s $f14, $f12, $f12
|
|
lui $at, %hi(var70054268)
|
|
lwc1 $f13, %lo(var70054268)($at)
|
|
mul.s $f15, $f15, $f14
|
|
add.s $f15, $f13, $f15
|
|
lui $at, %hi(var7005426c)
|
|
lwc1 $f13, %lo(var7005426c)($at)
|
|
mul.s $f15, $f15, $f14
|
|
add.s $f15, $f13, $f15
|
|
lui $at, %hi(var70054270)
|
|
lwc1 $f13, %lo(var70054270)($at)
|
|
mul.s $f15, $f15, $f14
|
|
add.s $f15, $f13, $f15
|
|
mul.s $f15, $f15, $f14
|
|
nop
|
|
mul.s $f15, $f15, $f12
|
|
andi $t1, $t1, 1
|
|
add.s $f0, $f15, $f12
|
|
bnezl $t1, .L0001a4f0
|
|
neg.s $f0, $f0
|
|
.L0001a4f0:
|
|
jr $ra
|
|
nop
|