mirror of https://github.com/n64decomp/mk64.git
5969 lines
294 KiB
ArmAsm
5969 lines
294 KiB
ArmAsm
# Mario Kart 64 (U) disassembly and split file
|
|
# generated by n64split v0.4a - N64 ROM splitter
|
|
|
|
# assembler directives
|
|
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
.set gp=64
|
|
|
|
.include "macros.inc"
|
|
|
|
.section .text, "ax"
|
|
|
|
/* 08CDD0 8008C1D0 03E00008 */ jr $ra
|
|
/* 08CDD4 8008C1D4 00000000 */ nop
|
|
|
|
glabel func_8008C1D8
|
|
/* 08CDD8 8008C1D8 03E00008 */ jr $ra
|
|
/* 08CDDC 8008C1DC AFA40000 */ sw $a0, ($sp)
|
|
|
|
glabel func_8008C1E0
|
|
/* 08CDE0 8008C1E0 AFA40000 */ sw $a0, ($sp)
|
|
/* 08CDE4 8008C1E4 03E00008 */ jr $ra
|
|
/* 08CDE8 8008C1E8 AFA50004 */ sw $a1, 4($sp)
|
|
|
|
/* 08CDEC 8008C1EC 03E00008 */ jr $ra
|
|
/* 08CDF0 8008C1F0 AFA40000 */ sw $a0, ($sp)
|
|
|
|
/* 08CDF4 8008C1F4 03E00008 */ jr $ra
|
|
/* 08CDF8 8008C1F8 AFA40000 */ sw $a0, ($sp)
|
|
|
|
/* 08CDFC 8008C1FC 03E00008 */ jr $ra
|
|
/* 08CE00 8008C200 00000000 */ nop
|
|
|
|
glabel func_8008C204
|
|
/* 08CE04 8008C204 03E00008 */ jr $ra
|
|
/* 08CE08 8008C208 00000000 */ nop
|
|
|
|
/* 08CE0C 8008C20C 03E00008 */ jr $ra
|
|
/* 08CE10 8008C210 00000000 */ nop
|
|
|
|
glabel func_8008C214
|
|
/* 08CE14 8008C214 03E00008 */ jr $ra
|
|
/* 08CE18 8008C218 00000000 */ nop
|
|
|
|
/* 08CE1C 8008C21C 03E00008 */ jr $ra
|
|
/* 08CE20 8008C220 00000000 */ nop
|
|
|
|
/* 08CE24 8008C224 03E00008 */ jr $ra
|
|
/* 08CE28 8008C228 00000000 */ nop
|
|
|
|
/* 08CE2C 8008C22C 03E00008 */ jr $ra
|
|
/* 08CE30 8008C230 00000000 */ nop
|
|
|
|
/* 08CE34 8008C234 03E00008 */ jr $ra
|
|
/* 08CE38 8008C238 00000000 */ nop
|
|
|
|
glabel func_8008C23C
|
|
/* 08CE3C 8008C23C 03E00008 */ jr $ra
|
|
/* 08CE40 8008C240 00000000 */ nop
|
|
|
|
/* 08CE44 8008C244 03E00008 */ jr $ra
|
|
/* 08CE48 8008C248 00000000 */ nop
|
|
|
|
/* 08CE4C 8008C24C 03E00008 */ jr $ra
|
|
/* 08CE50 8008C250 00000000 */ nop
|
|
|
|
/* 08CE54 8008C254 03E00008 */ jr $ra
|
|
/* 08CE58 8008C258 00000000 */ nop
|
|
|
|
/* 08CE5C 8008C25C 03E00008 */ jr $ra
|
|
/* 08CE60 8008C260 00000000 */ nop
|
|
|
|
/* 08CE64 8008C264 03E00008 */ jr $ra
|
|
/* 08CE68 8008C268 00000000 */ nop
|
|
|
|
/* 08CE6C 8008C26C 03E00008 */ jr $ra
|
|
/* 08CE70 8008C270 00000000 */ nop
|
|
|
|
/* 08CE74 8008C274 03E00008 */ jr $ra
|
|
/* 08CE78 8008C278 00000000 */ nop
|
|
|
|
/* 08CE7C 8008C27C 03E00008 */ jr $ra
|
|
/* 08CE80 8008C280 00000000 */ nop
|
|
|
|
/* 08CE84 8008C284 03E00008 */ jr $ra
|
|
/* 08CE88 8008C288 00000000 */ nop
|
|
|
|
/* 08CE8C 8008C28C 03E00008 */ jr $ra
|
|
/* 08CE90 8008C290 00000000 */ nop
|
|
|
|
/* 08CE94 8008C294 03E00008 */ jr $ra
|
|
/* 08CE98 8008C298 00000000 */ nop
|
|
|
|
/* 08CE9C 8008C29C 03E00008 */ jr $ra
|
|
/* 08CEA0 8008C2A0 00000000 */ nop
|
|
|
|
/* 08CEA4 8008C2A4 03E00008 */ jr $ra
|
|
/* 08CEA8 8008C2A8 00000000 */ nop
|
|
|
|
/* 08CEAC 8008C2AC AFA40000 */ sw $a0, ($sp)
|
|
/* 08CEB0 8008C2B0 03E00008 */ jr $ra
|
|
/* 08CEB4 8008C2B4 AFA50004 */ sw $a1, 4($sp)
|
|
|
|
/* 08CEB8 8008C2B8 03E00008 */ jr $ra
|
|
/* 08CEBC 8008C2BC 00000000 */ nop
|
|
|
|
/* 08CEC0 8008C2C0 03E00008 */ jr $ra
|
|
/* 08CEC4 8008C2C4 00000000 */ nop
|
|
|
|
/* 08CEC8 8008C2C8 03E00008 */ jr $ra
|
|
/* 08CECC 8008C2CC 00000000 */ nop
|
|
|
|
/* 08CED0 8008C2D0 03E00008 */ jr $ra
|
|
/* 08CED4 8008C2D4 00000000 */ nop
|
|
|
|
/* 08CED8 8008C2D8 03E00008 */ jr $ra
|
|
/* 08CEDC 8008C2DC 00000000 */ nop
|
|
|
|
/* 08CEE0 8008C2E0 03E00008 */ jr $ra
|
|
/* 08CEE4 8008C2E4 00000000 */ nop
|
|
|
|
/* 08CEE8 8008C2E8 03E00008 */ jr $ra
|
|
/* 08CEEC 8008C2EC 00000000 */ nop
|
|
|
|
/* 08CEF0 8008C2F0 03E00008 */ jr $ra
|
|
/* 08CEF4 8008C2F4 00000000 */ nop
|
|
|
|
/* 08CEF8 8008C2F8 03E00008 */ jr $ra
|
|
/* 08CEFC 8008C2FC 00000000 */ nop
|
|
|
|
/* 08CF00 8008C300 03E00008 */ jr $ra
|
|
/* 08CF04 8008C304 00000000 */ nop
|
|
|
|
/* 08CF08 8008C308 03E00008 */ jr $ra
|
|
/* 08CF0C 8008C30C 00000000 */ nop
|
|
|
|
glabel func_8008C310
|
|
/* 08CF10 8008C310 8C82000C */ lw $v0, 0xc($a0)
|
|
/* 08CF14 8008C314 304E0002 */ andi $t6, $v0, 2
|
|
/* 08CF18 8008C318 15C00007 */ bnez $t6, .L8008C338
|
|
/* 08CF1C 8008C31C 304F0004 */ andi $t7, $v0, 4
|
|
/* 08CF20 8008C320 15E00005 */ bnez $t7, .L8008C338
|
|
/* 08CF24 8008C324 0002C240 */ sll $t8, $v0, 9
|
|
/* 08CF28 8008C328 07000003 */ bltz $t8, .L8008C338
|
|
/* 08CF2C 8008C32C 0002C9C0 */ sll $t9, $v0, 7
|
|
/* 08CF30 8008C330 07210004 */ bgez $t9, .L8008C344
|
|
/* 08CF34 8008C334 00000000 */ nop
|
|
.L8008C338:
|
|
/* 08CF38 8008C338 948800B6 */ lhu $t0, 0xb6($a0)
|
|
/* 08CF3C 8008C33C 35091000 */ ori $t1, $t0, 0x1000
|
|
/* 08CF40 8008C340 A48900B6 */ sh $t1, 0xb6($a0)
|
|
.L8008C344:
|
|
/* 08CF44 8008C344 03E00008 */ jr $ra
|
|
/* 08CF48 8008C348 00000000 */ nop
|
|
|
|
/* 08CF4C 8008C34C 03E00008 */ jr $ra
|
|
/* 08CF50 8008C350 00000000 */ nop
|
|
|
|
glabel func_8008C354
|
|
/* 08CF54 8008C354 27BDFFE0 */ addiu $sp, $sp, -0x20
|
|
/* 08CF58 8008C358 AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* 08CF5C 8008C35C AFB00018 */ sw $s0, 0x18($sp)
|
|
/* 08CF60 8008C360 AFA50024 */ sw $a1, 0x24($sp)
|
|
/* 08CF64 8008C364 8C8200BC */ lw $v0, 0xbc($a0)
|
|
/* 08CF68 8008C368 24010400 */ li $at, 1024
|
|
/* 08CF6C 8008C36C 00808025 */ move $s0, $a0
|
|
/* 08CF70 8008C370 304E0400 */ andi $t6, $v0, 0x400
|
|
/* 08CF74 8008C374 55C10005 */ bnel $t6, $at, .L8008C38C
|
|
/* 08CF78 8008C378 304F0080 */ andi $t7, $v0, 0x80
|
|
/* 08CF7C 8008C37C 0C0231B4 */ jal func_8008C6D0
|
|
/* 08CF80 8008C380 83A50027 */ lb $a1, 0x27($sp)
|
|
/* 08CF84 8008C384 8E0200BC */ lw $v0, 0xbc($s0)
|
|
/* 08CF88 8008C388 304F0080 */ andi $t7, $v0, 0x80
|
|
.L8008C38C:
|
|
/* 08CF8C 8008C38C 24010080 */ li $at, 128
|
|
/* 08CF90 8008C390 11E10003 */ beq $t7, $at, .L8008C3A0
|
|
/* 08CF94 8008C394 30580040 */ andi $t8, $v0, 0x40
|
|
/* 08CF98 8008C398 24010040 */ li $at, 64
|
|
/* 08CF9C 8008C39C 17010004 */ bne $t8, $at, .L8008C3B0
|
|
.L8008C3A0:
|
|
/* 08CFA0 8008C3A0 02002025 */ move $a0, $s0
|
|
/* 08CFA4 8008C3A4 0C023231 */ jal func_8008C8C4
|
|
/* 08CFA8 8008C3A8 83A50027 */ lb $a1, 0x27($sp)
|
|
/* 08CFAC 8008C3AC 8E0200BC */ lw $v0, 0xbc($s0)
|
|
.L8008C3B0:
|
|
/* 08CFB0 8008C3B0 30590800 */ andi $t9, $v0, 0x800
|
|
/* 08CFB4 8008C3B4 24010800 */ li $at, 2048
|
|
/* 08CFB8 8008C3B8 17210003 */ bne $t9, $at, .L8008C3C8
|
|
/* 08CFBC 8008C3BC 02002025 */ move $a0, $s0
|
|
/* 08CFC0 8008C3C0 0C023439 */ jal func_8008D0E4
|
|
/* 08CFC4 8008C3C4 83A50027 */ lb $a1, 0x27($sp)
|
|
.L8008C3C8:
|
|
/* 08CFC8 8008C3C8 86080044 */ lh $t0, 0x44($s0)
|
|
/* 08CFCC 8008C3CC 31094000 */ andi $t1, $t0, 0x4000
|
|
/* 08CFD0 8008C3D0 11200003 */ beqz $t1, .L8008C3E0
|
|
/* 08CFD4 8008C3D4 02002025 */ move $a0, $s0
|
|
/* 08CFD8 8008C3D8 0C0234EC */ jal func_8008D3B0
|
|
/* 08CFDC 8008C3DC 83A50027 */ lb $a1, 0x27($sp)
|
|
.L8008C3E0:
|
|
/* 08CFE0 8008C3E0 8E0200BC */ lw $v0, 0xbc($s0)
|
|
/* 08CFE4 8008C3E4 24012000 */ li $at, 8192
|
|
/* 08CFE8 8008C3E8 304A2000 */ andi $t2, $v0, 0x2000
|
|
/* 08CFEC 8008C3EC 55410005 */ bnel $t2, $at, .L8008C404
|
|
/* 08CFF0 8008C3F0 3C030008 */ lui $v1, 8
|
|
/* 08CFF4 8008C3F4 0C023555 */ jal func_8008D554
|
|
/* 08CFF8 8008C3F8 02002025 */ move $a0, $s0
|
|
/* 08CFFC 8008C3FC 8E0200BC */ lw $v0, 0xbc($s0)
|
|
/* 08D000 8008C400 3C030008 */ lui $v1, 8
|
|
.L8008C404:
|
|
/* 08D004 8008C404 00435824 */ and $t3, $v0, $v1
|
|
/* 08D008 8008C408 546B0005 */ bnel $v1, $t3, .L8008C420
|
|
/* 08D00C 8008C40C 3C030080 */ lui $v1, 0x80
|
|
/* 08D010 8008C410 0C0235D8 */ jal func_8008D760
|
|
/* 08D014 8008C414 02002025 */ move $a0, $s0
|
|
/* 08D018 8008C418 8E0200BC */ lw $v0, 0xbc($s0)
|
|
/* 08D01C 8008C41C 3C030080 */ lui $v1, 0x80
|
|
.L8008C420:
|
|
/* 08D020 8008C420 00436024 */ and $t4, $v0, $v1
|
|
/* 08D024 8008C424 546C0005 */ bnel $v1, $t4, .L8008C43C
|
|
/* 08D028 8008C428 3C030100 */ lui $v1, 0x100
|
|
/* 08D02C 8008C42C 0C02365F */ jal func_8008D97C
|
|
/* 08D030 8008C430 02002025 */ move $a0, $s0
|
|
/* 08D034 8008C434 8E0200BC */ lw $v0, 0xbc($s0)
|
|
/* 08D038 8008C438 3C030100 */ lui $v1, 0x100
|
|
.L8008C43C:
|
|
/* 08D03C 8008C43C 00436824 */ and $t5, $v0, $v1
|
|
/* 08D040 8008C440 146D0004 */ bne $v1, $t5, .L8008C454
|
|
/* 08D044 8008C444 02002025 */ move $a0, $s0
|
|
/* 08D048 8008C448 0C023A21 */ jal func_8008E884
|
|
/* 08D04C 8008C44C 83A50027 */ lb $a1, 0x27($sp)
|
|
/* 08D050 8008C450 8E0200BC */ lw $v0, 0xbc($s0)
|
|
.L8008C454:
|
|
/* 08D054 8008C454 3C030200 */ lui $v1, 0x200
|
|
/* 08D058 8008C458 00437024 */ and $t6, $v0, $v1
|
|
/* 08D05C 8008C45C 146E0004 */ bne $v1, $t6, .L8008C470
|
|
/* 08D060 8008C460 02002025 */ move $a0, $s0
|
|
/* 08D064 8008C464 0C023B0D */ jal func_8008EC34
|
|
/* 08D068 8008C468 83A50027 */ lb $a1, 0x27($sp)
|
|
/* 08D06C 8008C46C 8E0200BC */ lw $v0, 0xbc($s0)
|
|
.L8008C470:
|
|
/* 08D070 8008C470 3C030010 */ lui $v1, 0x10
|
|
/* 08D074 8008C474 00437824 */ and $t7, $v0, $v1
|
|
/* 08D078 8008C478 546F0005 */ bnel $v1, $t7, .L8008C490
|
|
/* 08D07C 8008C47C 30580004 */ andi $t8, $v0, 4
|
|
/* 08D080 8008C480 0C023BB1 */ jal func_8008EEC4
|
|
/* 08D084 8008C484 02002025 */ move $a0, $s0
|
|
/* 08D088 8008C488 8E0200BC */ lw $v0, 0xbc($s0)
|
|
/* 08D08C 8008C48C 30580004 */ andi $t8, $v0, 4
|
|
.L8008C490:
|
|
/* 08D090 8008C490 24010004 */ li $at, 4
|
|
/* 08D094 8008C494 57010005 */ bnel $t8, $at, .L8008C4AC
|
|
/* 08D098 8008C498 30594000 */ andi $t9, $v0, 0x4000
|
|
/* 08D09C 8008C49C 0C023C3A */ jal func_8008F0E8
|
|
/* 08D0A0 8008C4A0 02002025 */ move $a0, $s0
|
|
/* 08D0A4 8008C4A4 8E0200BC */ lw $v0, 0xbc($s0)
|
|
/* 08D0A8 8008C4A8 30594000 */ andi $t9, $v0, 0x4000
|
|
.L8008C4AC:
|
|
/* 08D0AC 8008C4AC 24014000 */ li $at, 16384
|
|
/* 08D0B0 8008C4B0 57210005 */ bnel $t9, $at, .L8008C4C8
|
|
/* 08D0B4 8008C4B4 3C030001 */ lui $v1, 1
|
|
/* 08D0B8 8008C4B8 0C023CF8 */ jal func_8008F3E0
|
|
/* 08D0BC 8008C4BC 02002025 */ move $a0, $s0
|
|
/* 08D0C0 8008C4C0 8E0200BC */ lw $v0, 0xbc($s0)
|
|
/* 08D0C4 8008C4C4 3C030001 */ lui $v1, 1
|
|
.L8008C4C8:
|
|
/* 08D0C8 8008C4C8 00434024 */ and $t0, $v0, $v1
|
|
/* 08D0CC 8008C4CC 14680004 */ bne $v1, $t0, .L8008C4E0
|
|
/* 08D0D0 8008C4D0 02002025 */ move $a0, $s0
|
|
/* 08D0D4 8008C4D4 0C023D69 */ jal func_8008F5A4
|
|
/* 08D0D8 8008C4D8 83A50027 */ lb $a1, 0x27($sp)
|
|
/* 08D0DC 8008C4DC 8E0200BC */ lw $v0, 0xbc($s0)
|
|
.L8008C4E0:
|
|
/* 08D0E0 8008C4E0 3C031000 */ lui $v1, 0x1000
|
|
/* 08D0E4 8008C4E4 00434824 */ and $t1, $v0, $v1
|
|
/* 08D0E8 8008C4E8 14690004 */ bne $v1, $t1, .L8008C4FC
|
|
/* 08D0EC 8008C4EC 02002025 */ move $a0, $s0
|
|
/* 08D0F0 8008C4F0 0C023FB7 */ jal func_8008FEDC
|
|
/* 08D0F4 8008C4F4 83A50027 */ lb $a1, 0x27($sp)
|
|
/* 08D0F8 8008C4F8 8E0200BC */ lw $v0, 0xbc($s0)
|
|
.L8008C4FC:
|
|
/* 08D0FC 8008C4FC 860A0044 */ lh $t2, 0x44($s0)
|
|
/* 08D100 8008C500 2401FFDF */ li $at, -33
|
|
/* 08D104 8008C504 00416024 */ and $t4, $v0, $at
|
|
/* 08D108 8008C508 314BFFFE */ andi $t3, $t2, 0xfffe
|
|
/* 08D10C 8008C50C A60B0044 */ sh $t3, 0x44($s0)
|
|
/* 08D110 8008C510 AE0C00BC */ sw $t4, 0xbc($s0)
|
|
/* 08D114 8008C514 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* 08D118 8008C518 8FB00018 */ lw $s0, 0x18($sp)
|
|
/* 08D11C 8008C51C 27BD0020 */ addiu $sp, $sp, 0x20
|
|
/* 08D120 8008C520 03E00008 */ jr $ra
|
|
/* 08D124 8008C524 00000000 */ nop
|
|
|
|
glabel func_8008C528
|
|
/* 08D128 8008C528 27BDFFD0 */ addiu $sp, $sp, -0x30
|
|
/* 08D12C 8008C52C AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* 08D130 8008C530 AFB00018 */ sw $s0, 0x18($sp)
|
|
/* 08D134 8008C534 AFA50034 */ sw $a1, 0x34($sp)
|
|
/* 08D138 8008C538 00808025 */ move $s0, $a0
|
|
/* 08D13C 8008C53C 0C0230D5 */ jal func_8008C354
|
|
/* 08D140 8008C540 83A50037 */ lb $a1, 0x37($sp)
|
|
/* 08D144 8008C544 0C0230C4 */ jal func_8008C310
|
|
/* 08D148 8008C548 02002025 */ move $a0, $s0
|
|
/* 08D14C 8008C54C 96030254 */ lhu $v1, 0x254($s0)
|
|
/* 08D150 8008C550 3C01800E */ lui $at, %hi(D_800E37B0)
|
|
/* 08D154 8008C554 A60000C2 */ sh $zero, 0xc2($s0)
|
|
/* 08D158 8008C558 00031080 */ sll $v0, $v1, 2
|
|
/* 08D15C 8008C55C 00220821 */ addu $at, $at, $v0
|
|
/* 08D160 8008C560 C42437B0 */ lwc1 $f4, %lo(D_800E37B0)($at)
|
|
/* 08D164 8008C564 44803000 */ mtc1 $zero, $f6
|
|
/* 08D168 8008C568 3C01800E */ lui $at, %hi(D_800E3790)
|
|
/* 08D16C 8008C56C 00220821 */ addu $at, $at, $v0
|
|
/* 08D170 8008C570 E60400F0 */ swc1 $f4, 0xf0($s0)
|
|
/* 08D174 8008C574 E60600F4 */ swc1 $f6, 0xf4($s0)
|
|
/* 08D178 8008C578 C4283790 */ lwc1 $f8, %lo(D_800E3790)($at)
|
|
/* 08D17C 8008C57C 8E0E00BC */ lw $t6, 0xbc($s0)
|
|
/* 08D180 8008C580 96040000 */ lhu $a0, ($s0)
|
|
/* 08D184 8008C584 2401FFEF */ li $at, -17
|
|
/* 08D188 8008C588 35CF0400 */ ori $t7, $t6, 0x400
|
|
/* 08D18C 8008C58C 01E1C824 */ and $t9, $t7, $at
|
|
/* 08D190 8008C590 AE0F00BC */ sw $t7, 0xbc($s0)
|
|
/* 08D194 8008C594 24080002 */ li $t0, 2
|
|
/* 08D198 8008C598 24014000 */ li $at, 16384
|
|
/* 08D19C 8008C59C 30894000 */ andi $t1, $a0, 0x4000
|
|
/* 08D1A0 8008C5A0 A60000A8 */ sh $zero, 0xa8($s0)
|
|
/* 08D1A4 8008C5A4 AE1900BC */ sw $t9, 0xbc($s0)
|
|
/* 08D1A8 8008C5A8 A60000C0 */ sh $zero, 0xc0($s0)
|
|
/* 08D1AC 8008C5AC A6080236 */ sh $t0, 0x236($s0)
|
|
/* 08D1B0 8008C5B0 A6000042 */ sh $zero, 0x42($s0)
|
|
/* 08D1B4 8008C5B4 15210011 */ bne $t1, $at, .L8008C5FC
|
|
/* 08D1B8 8008C5B8 E60800EC */ swc1 $f8, 0xec($s0)
|
|
/* 08D1BC 8008C5BC 308A0100 */ andi $t2, $a0, 0x100
|
|
/* 08D1C0 8008C5C0 24010100 */ li $at, 256
|
|
/* 08D1C4 8008C5C4 1141000D */ beq $t2, $at, .L8008C5FC
|
|
/* 08D1C8 8008C5C8 93A40037 */ lbu $a0, 0x37($sp)
|
|
/* 08D1CC 8008C5CC 3C012900 */ lui $at, (0x29008005 >> 16) # lui $at, 0x2900
|
|
/* 08D1D0 8008C5D0 34218005 */ ori $at, (0x29008005 & 0xFFFF) # ori $at, $at, 0x8005
|
|
/* 08D1D4 8008C5D4 00032900 */ sll $a1, $v1, 4
|
|
/* 08D1D8 8008C5D8 00A12821 */ addu $a1, $a1, $at
|
|
/* 08D1DC 8008C5DC 0C03243D */ jal func_800C90F4
|
|
/* 08D1E0 8008C5E0 AFA40024 */ sw $a0, 0x24($sp)
|
|
/* 08D1E4 8008C5E4 3C051900 */ lui $a1, (0x19009005 >> 16) # lui $a1, 0x1900
|
|
/* 08D1E8 8008C5E8 8FA40024 */ lw $a0, 0x24($sp)
|
|
/* 08D1EC 8008C5EC 0C032418 */ jal func_800C9060
|
|
/* 08D1F0 8008C5F0 34A59005 */ ori $a1, (0x19009005 & 0xFFFF) # ori $a1, $a1, 0x9005
|
|
/* 08D1F4 8008C5F4 10000005 */ b .L8008C60C
|
|
/* 08D1F8 8008C5F8 8E0B000C */ lw $t3, 0xc($s0)
|
|
.L8008C5FC:
|
|
/* 08D1FC 8008C5FC 83A40037 */ lb $a0, 0x37($sp)
|
|
/* 08D200 8008C600 0C00263F */ jal func_800098FC
|
|
/* 08D204 8008C604 02002825 */ move $a1, $s0
|
|
/* 08D208 8008C608 8E0B000C */ lw $t3, 0xc($s0)
|
|
.L8008C60C:
|
|
/* 08D20C 8008C60C 2401FFFB */ li $at, -5
|
|
/* 08D210 8008C610 01616024 */ and $t4, $t3, $at
|
|
/* 08D214 8008C614 AE0C000C */ sw $t4, 0xc($s0)
|
|
/* 08D218 8008C618 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* 08D21C 8008C61C 8FB00018 */ lw $s0, 0x18($sp)
|
|
/* 08D220 8008C620 27BD0030 */ addiu $sp, $sp, 0x30
|
|
/* 08D224 8008C624 03E00008 */ jr $ra
|
|
/* 08D228 8008C628 00000000 */ nop
|
|
|
|
glabel func_8008C62C
|
|
/* 08D22C 8008C62C 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 08D230 8008C630 AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 08D234 8008C634 AFA5001C */ sw $a1, 0x1c($sp)
|
|
/* 08D238 8008C638 3C0540A0 */ lui $a1, 0x40a0
|
|
/* 08D23C 8008C63C 0C00C7D2 */ jal func_80031F48
|
|
/* 08D240 8008C640 AFA40018 */ sw $a0, 0x18($sp)
|
|
/* 08D244 8008C644 8FA40018 */ lw $a0, 0x18($sp)
|
|
/* 08D248 8008C648 848E00A8 */ lh $t6, 0xa8($a0)
|
|
/* 08D24C 8008C64C 84980042 */ lh $t8, 0x42($a0)
|
|
/* 08D250 8008C650 25CF00A0 */ addiu $t7, $t6, 0xa0
|
|
/* 08D254 8008C654 A48F00A8 */ sh $t7, 0xa8($a0)
|
|
/* 08D258 8008C658 848800A8 */ lh $t0, 0xa8($a0)
|
|
/* 08D25C 8008C65C 2719071C */ addiu $t9, $t8, 0x71c
|
|
/* 08D260 8008C660 A4990042 */ sh $t9, 0x42($a0)
|
|
/* 08D264 8008C664 29012000 */ slti $at, $t0, 0x2000
|
|
/* 08D268 8008C668 54200016 */ bnel $at, $zero, .L8008C6C4
|
|
/* 08D26C 8008C66C 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 08D270 8008C670 84890236 */ lh $t1, 0x236($a0)
|
|
/* 08D274 8008C674 A48000A8 */ sh $zero, 0xa8($a0)
|
|
/* 08D278 8008C678 240C2000 */ li $t4, 8192
|
|
/* 08D27C 8008C67C 252AFFFF */ addiu $t2, $t1, -1
|
|
/* 08D280 8008C680 A48A0236 */ sh $t2, 0x236($a0)
|
|
/* 08D284 8008C684 848B0236 */ lh $t3, 0x236($a0)
|
|
/* 08D288 8008C688 5560000E */ bnel $t3, $zero, .L8008C6C4
|
|
/* 08D28C 8008C68C 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 08D290 8008C690 A48C00A8 */ sh $t4, 0xa8($a0)
|
|
/* 08D294 8008C694 AFA40018 */ sw $a0, 0x18($sp)
|
|
/* 08D298 8008C698 0C0231B4 */ jal func_8008C6D0
|
|
/* 08D29C 8008C69C 83A5001F */ lb $a1, 0x1f($sp)
|
|
/* 08D2A0 8008C6A0 3C0D800E */ lui $t5, %hi(gModeSelection) # $t5, 0x800e
|
|
/* 08D2A4 8008C6A4 8DADC53C */ lw $t5, %lo(gModeSelection)($t5)
|
|
/* 08D2A8 8008C6A8 24010003 */ li $at, 3
|
|
/* 08D2AC 8008C6AC 8FA40018 */ lw $a0, 0x18($sp)
|
|
/* 08D2B0 8008C6B0 55A10004 */ bnel $t5, $at, .L8008C6C4
|
|
/* 08D2B4 8008C6B4 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 08D2B8 8008C6B8 0C01AE2D */ jal func_8006B8B4
|
|
/* 08D2BC 8008C6BC 83A5001F */ lb $a1, 0x1f($sp)
|
|
/* 08D2C0 8008C6C0 8FBF0014 */ lw $ra, 0x14($sp)
|
|
.L8008C6C4:
|
|
/* 08D2C4 8008C6C4 27BD0018 */ addiu $sp, $sp, 0x18
|
|
/* 08D2C8 8008C6C8 03E00008 */ jr $ra
|
|
/* 08D2CC 8008C6CC 00000000 */ nop
|
|
|
|
glabel func_8008C6D0
|
|
/* 08D2D0 8008C6D0 AFA50004 */ sw $a1, 4($sp)
|
|
/* 08D2D4 8008C6D4 8C9800BC */ lw $t8, 0xbc($a0)
|
|
/* 08D2D8 8008C6D8 44802000 */ mtc1 $zero, $f4
|
|
/* 08D2DC 8008C6DC 00057600 */ sll $t6, $a1, 0x18
|
|
/* 08D2E0 8008C6E0 000E7E03 */ sra $t7, $t6, 0x18
|
|
/* 08D2E4 8008C6E4 2401FBFF */ li $at, -1025
|
|
/* 08D2E8 8008C6E8 3C098016 */ lui $t1, %hi(D_80165190) # $t1, 0x8016
|
|
/* 08D2EC 8008C6EC 25295190 */ addiu $t1, %lo(D_80165190) # addiu $t1, $t1, 0x5190
|
|
/* 08D2F0 8008C6F0 000F4040 */ sll $t0, $t7, 1
|
|
/* 08D2F4 8008C6F4 0301C824 */ and $t9, $t8, $at
|
|
/* 08D2F8 8008C6F8 24030001 */ li $v1, 1
|
|
/* 08D2FC 8008C6FC A4800206 */ sh $zero, 0x206($a0)
|
|
/* 08D300 8008C700 A48000C4 */ sh $zero, 0xc4($a0)
|
|
/* 08D304 8008C704 AC9900BC */ sw $t9, 0xbc($a0)
|
|
/* 08D308 8008C708 A48000A8 */ sh $zero, 0xa8($a0)
|
|
/* 08D30C 8008C70C A48000C0 */ sh $zero, 0xc0($a0)
|
|
/* 08D310 8008C710 AC80007C */ sw $zero, 0x7c($a0)
|
|
/* 08D314 8008C714 A4800236 */ sh $zero, 0x236($a0)
|
|
/* 08D318 8008C718 A4800078 */ sh $zero, 0x78($a0)
|
|
/* 08D31C 8008C71C 01091021 */ addu $v0, $t0, $t1
|
|
/* 08D320 8008C720 E484009C */ swc1 $f4, 0x9c($a0)
|
|
/* 08D324 8008C724 A4430000 */ sh $v1, ($v0)
|
|
/* 08D328 8008C728 A4430010 */ sh $v1, 0x10($v0)
|
|
/* 08D32C 8008C72C A4430020 */ sh $v1, 0x20($v0)
|
|
/* 08D330 8008C730 A4430030 */ sh $v1, 0x30($v0)
|
|
/* 08D334 8008C734 03E00008 */ jr $ra
|
|
/* 08D338 8008C738 A4800042 */ sh $zero, 0x42($a0)
|
|
|
|
glabel func_8008C73C
|
|
/* 08D33C 8008C73C 27BDFFE0 */ addiu $sp, $sp, -0x20
|
|
/* 08D340 8008C740 AFB00018 */ sw $s0, 0x18($sp)
|
|
/* 08D344 8008C744 00058600 */ sll $s0, $a1, 0x18
|
|
/* 08D348 8008C748 00107603 */ sra $t6, $s0, 0x18
|
|
/* 08D34C 8008C74C AFA50024 */ sw $a1, 0x24($sp)
|
|
/* 08D350 8008C750 000E2E00 */ sll $a1, $t6, 0x18
|
|
/* 08D354 8008C754 AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* 08D358 8008C758 00057E03 */ sra $t7, $a1, 0x18
|
|
/* 08D35C 8008C75C 01C08025 */ move $s0, $t6
|
|
/* 08D360 8008C760 01E02825 */ move $a1, $t7
|
|
/* 08D364 8008C764 0C0230D5 */ jal func_8008C354
|
|
/* 08D368 8008C768 AFA40020 */ sw $a0, 0x20($sp)
|
|
/* 08D36C 8008C76C 8FA60020 */ lw $a2, 0x20($sp)
|
|
/* 08D370 8008C770 24010080 */ li $at, 128
|
|
/* 08D374 8008C774 8CC200BC */ lw $v0, 0xbc($a2)
|
|
/* 08D378 8008C778 30580080 */ andi $t8, $v0, 0x80
|
|
/* 08D37C 8008C77C 1301004C */ beq $t8, $at, .L8008C8B0
|
|
/* 08D380 8008C780 30590040 */ andi $t9, $v0, 0x40
|
|
/* 08D384 8008C784 24010040 */ li $at, 64
|
|
/* 08D388 8008C788 13210049 */ beq $t9, $at, .L8008C8B0
|
|
/* 08D38C 8008C78C 24050001 */ li $a1, 1
|
|
/* 08D390 8008C790 84C900C0 */ lh $t1, 0xc0($a2)
|
|
/* 08D394 8008C794 2401FFEF */ li $at, -17
|
|
/* 08D398 8008C798 00414024 */ and $t0, $v0, $at
|
|
/* 08D39C 8008C79C 240100B6 */ li $at, 182
|
|
/* 08D3A0 8008C7A0 0121001A */ div $zero, $t1, $at
|
|
/* 08D3A4 8008C7A4 00005012 */ mflo $t2
|
|
/* 08D3A8 8008C7A8 ACC800BC */ sw $t0, 0xbc($a2)
|
|
/* 08D3AC 8008C7AC 05400004 */ bltz $t2, .L8008C7C0
|
|
/* 08D3B0 8008C7B0 00102040 */ sll $a0, $s0, 1
|
|
/* 08D3B4 8008C7B4 350C0040 */ ori $t4, $t0, 0x40
|
|
/* 08D3B8 8008C7B8 10000004 */ b .L8008C7CC
|
|
/* 08D3BC 8008C7BC ACCC00BC */ sw $t4, 0xbc($a2)
|
|
.L8008C7C0:
|
|
/* 08D3C0 8008C7C0 8CCD00BC */ lw $t5, 0xbc($a2)
|
|
/* 08D3C4 8008C7C4 35AE0080 */ ori $t6, $t5, 0x80
|
|
/* 08D3C8 8008C7C8 ACCE00BC */ sw $t6, 0xbc($a2)
|
|
.L8008C7CC:
|
|
/* 08D3CC 8008C7CC 94CF00B6 */ lhu $t7, 0xb6($a2)
|
|
/* 08D3D0 8008C7D0 84D9002E */ lh $t9, 0x2e($a2)
|
|
/* 08D3D4 8008C7D4 3C098016 */ lui $t1, %hi(D_80165190) # $t1, 0x8016
|
|
/* 08D3D8 8008C7D8 24080002 */ li $t0, 2
|
|
/* 08D3DC 8008C7DC 25295190 */ addiu $t1, %lo(D_80165190) # addiu $t1, $t1, 0x5190
|
|
/* 08D3E0 8008C7E0 35F80080 */ ori $t8, $t7, 0x80
|
|
/* 08D3E4 8008C7E4 A4D800B6 */ sh $t8, 0xb6($a2)
|
|
/* 08D3E8 8008C7E8 A4C800B2 */ sh $t0, 0xb2($a2)
|
|
/* 08D3EC 8008C7EC A4C000C0 */ sh $zero, 0xc0($a2)
|
|
/* 08D3F0 8008C7F0 ACC0007C */ sw $zero, 0x7c($a2)
|
|
/* 08D3F4 8008C7F4 A4C00078 */ sh $zero, 0x78($a2)
|
|
/* 08D3F8 8008C7F8 00891821 */ addu $v1, $a0, $t1
|
|
/* 08D3FC 8008C7FC A4D900AE */ sh $t9, 0xae($a2)
|
|
/* 08D400 8008C800 A4650000 */ sh $a1, ($v1)
|
|
/* 08D404 8008C804 A4650010 */ sh $a1, 0x10($v1)
|
|
/* 08D408 8008C808 A4650020 */ sh $a1, 0x20($v1)
|
|
/* 08D40C 8008C80C A4650030 */ sh $a1, 0x30($v1)
|
|
/* 08D410 8008C810 C4C4009C */ lwc1 $f4, 0x9c($a2)
|
|
/* 08D414 8008C814 00101080 */ sll $v0, $s0, 2
|
|
/* 08D418 8008C818 3C018016 */ lui $at, %hi(D_80165280)
|
|
/* 08D41C 8008C81C 00220821 */ addu $at, $at, $v0
|
|
/* 08D420 8008C820 E4245280 */ swc1 $f4, %lo(D_80165280)($at)
|
|
/* 08D424 8008C824 3C018016 */ lui $at, %hi(D_80165480) # 0x8016
|
|
/* 08D428 8008C828 00220821 */ addu $at, $at, $v0
|
|
/* 08D42C 8008C82C AC205480 */ sw $zero, %lo(D_80165480)($at) # 0x5480($at)
|
|
/* 08D430 8008C830 3C018016 */ lui $at, %hi(D_80165460) # 0x8016
|
|
/* 08D434 8008C834 00220821 */ addu $at, $at, $v0
|
|
/* 08D438 8008C838 AC205460 */ sw $zero, %lo(D_80165460)($at) # 0x5460($at)
|
|
/* 08D43C 8008C83C 3C018016 */ lui $at, %hi(D_80165440) # 0x8016
|
|
/* 08D440 8008C840 00220821 */ addu $at, $at, $v0
|
|
/* 08D444 8008C844 AC205440 */ sw $zero, %lo(D_80165440)($at) # 0x5440($at)
|
|
/* 08D448 8008C848 3C018016 */ lui $at, %hi(D_80165420) # 0x8016
|
|
/* 08D44C 8008C84C 00220821 */ addu $at, $at, $v0
|
|
/* 08D450 8008C850 AC205420 */ sw $zero, %lo(D_80165420)($at) # 0x5420($at)
|
|
/* 08D454 8008C854 3C018019 */ lui $at, %hi(D_8018D920) # 0x8019
|
|
/* 08D458 8008C858 00240821 */ addu $at, $at, $a0
|
|
/* 08D45C 8008C85C A420D920 */ sh $zero, %lo(D_8018D920)($at) # -0x26e0($at)
|
|
/* 08D460 8008C860 94C70000 */ lhu $a3, ($a2)
|
|
/* 08D464 8008C864 24014000 */ li $at, 16384
|
|
/* 08D468 8008C868 02002025 */ move $a0, $s0
|
|
/* 08D46C 8008C86C 30EA4000 */ andi $t2, $a3, 0x4000
|
|
/* 08D470 8008C870 1541000D */ bne $t2, $at, .L8008C8A8
|
|
/* 08D474 8008C874 30EB0100 */ andi $t3, $a3, 0x100
|
|
/* 08D478 8008C878 24010100 */ li $at, 256
|
|
/* 08D47C 8008C87C 1161000A */ beq $t3, $at, .L8008C8A8
|
|
/* 08D480 8008C880 00000000 */ nop
|
|
/* 08D484 8008C884 94C50254 */ lhu $a1, 0x254($a2)
|
|
/* 08D488 8008C888 3C012900 */ lui $at, (0x29008003 >> 16) # lui $at, 0x2900
|
|
/* 08D48C 8008C88C 34218003 */ ori $at, (0x29008003 & 0xFFFF) # ori $at, $at, 0x8003
|
|
/* 08D490 8008C890 00056100 */ sll $t4, $a1, 4
|
|
/* 08D494 8008C894 01812821 */ addu $a1, $t4, $at
|
|
/* 08D498 8008C898 0C03243D */ jal func_800C90F4
|
|
/* 08D49C 8008C89C 320400FF */ andi $a0, $s0, 0xff
|
|
/* 08D4A0 8008C8A0 10000004 */ b .L8008C8B4
|
|
/* 08D4A4 8008C8A4 8FBF001C */ lw $ra, 0x1c($sp)
|
|
.L8008C8A8:
|
|
/* 08D4A8 8008C8A8 0C00263F */ jal func_800098FC
|
|
/* 08D4AC 8008C8AC 00C02825 */ move $a1, $a2
|
|
.L8008C8B0:
|
|
/* 08D4B0 8008C8B0 8FBF001C */ lw $ra, 0x1c($sp)
|
|
.L8008C8B4:
|
|
/* 08D4B4 8008C8B4 8FB00018 */ lw $s0, 0x18($sp)
|
|
/* 08D4B8 8008C8B8 27BD0020 */ addiu $sp, $sp, 0x20
|
|
/* 08D4BC 8008C8BC 03E00008 */ jr $ra
|
|
/* 08D4C0 8008C8C0 00000000 */ nop
|
|
|
|
glabel func_8008C8C4
|
|
/* 08D4C4 8008C8C4 AFA50004 */ sw $a1, 4($sp)
|
|
/* 08D4C8 8008C8C8 8C9800BC */ lw $t8, 0xbc($a0)
|
|
/* 08D4CC 8008C8CC 2401FF7F */ li $at, -129
|
|
/* 08D4D0 8008C8D0 00057600 */ sll $t6, $a1, 0x18
|
|
/* 08D4D4 8008C8D4 0301C824 */ and $t9, $t8, $at
|
|
/* 08D4D8 8008C8D8 2401FFBF */ li $at, -65
|
|
/* 08D4DC 8008C8DC 03214824 */ and $t1, $t9, $at
|
|
/* 08D4E0 8008C8E0 848A00AE */ lh $t2, 0xae($a0)
|
|
/* 08D4E4 8008C8E4 000E2E03 */ sra $a1, $t6, 0x18
|
|
/* 08D4E8 8008C8E8 AC9900BC */ sw $t9, 0xbc($a0)
|
|
/* 08D4EC 8008C8EC 2401F7FF */ li $at, -2049
|
|
/* 08D4F0 8008C8F0 3C0E8016 */ lui $t6, %hi(D_80165190) # $t6, 0x8016
|
|
/* 08D4F4 8008C8F4 AC8900BC */ sw $t1, 0xbc($a0)
|
|
/* 08D4F8 8008C8F8 01216024 */ and $t4, $t1, $at
|
|
/* 08D4FC 8008C8FC 25CE5190 */ addiu $t6, %lo(D_80165190) # addiu $t6, $t6, 0x5190
|
|
/* 08D500 8008C900 00056840 */ sll $t5, $a1, 1
|
|
/* 08D504 8008C904 24060001 */ li $a2, 1
|
|
/* 08D508 8008C908 A48000A8 */ sh $zero, 0xa8($a0)
|
|
/* 08D50C 8008C90C AC80007C */ sw $zero, 0x7c($a0)
|
|
/* 08D510 8008C910 A48000C0 */ sh $zero, 0xc0($a0)
|
|
/* 08D514 8008C914 AC8C00BC */ sw $t4, 0xbc($a0)
|
|
/* 08D518 8008C918 01AE1021 */ addu $v0, $t5, $t6
|
|
/* 08D51C 8008C91C A48A002E */ sh $t2, 0x2e($a0)
|
|
/* 08D520 8008C920 A4460000 */ sh $a2, ($v0)
|
|
/* 08D524 8008C924 A4460010 */ sh $a2, 0x10($v0)
|
|
/* 08D528 8008C928 A4460020 */ sh $a2, 0x20($v0)
|
|
/* 08D52C 8008C92C A4460030 */ sh $a2, 0x30($v0)
|
|
/* 08D530 8008C930 948F0046 */ lhu $t7, 0x46($a0)
|
|
/* 08D534 8008C934 3C198016 */ lui $t9, %hi(D_80165460) # 0x8016
|
|
/* 08D538 8008C938 00051880 */ sll $v1, $a1, 2
|
|
/* 08D53C 8008C93C 31F8FFBF */ andi $t8, $t7, 0xffbf
|
|
/* 08D540 8008C940 A4980046 */ sh $t8, 0x46($a0)
|
|
/* 08D544 8008C944 0323C821 */ addu $t9, $t9, $v1
|
|
/* 08D548 8008C948 8F395460 */ lw $t9, %lo(D_80165460)($t9) # 0x5460($t9)
|
|
/* 08D54C 8008C94C 3C0A800E */ lui $t2, %hi(gModeSelection) # $t2, 0x800e
|
|
/* 08D550 8008C950 14D9000A */ bne $a2, $t9, .L8008C97C
|
|
/* 08D554 8008C954 00000000 */ nop
|
|
/* 08D558 8008C958 94880000 */ lhu $t0, ($a0)
|
|
/* 08D55C 8008C95C 24014000 */ li $at, 16384
|
|
/* 08D560 8008C960 31094000 */ andi $t1, $t0, 0x4000
|
|
/* 08D564 8008C964 15210005 */ bne $t1, $at, .L8008C97C
|
|
/* 08D568 8008C968 3C0142C8 */ li $at, 0x42C80000 # 100.000000
|
|
/* 08D56C 8008C96C 44813000 */ mtc1 $at, $f6
|
|
/* 08D570 8008C970 C484009C */ lwc1 $f4, 0x9c($a0)
|
|
/* 08D574 8008C974 46062200 */ add.s $f8, $f4, $f6
|
|
/* 08D578 8008C978 E488009C */ swc1 $f8, 0x9c($a0)
|
|
.L8008C97C:
|
|
/* 08D57C 8008C97C 8D4AC53C */ lw $t2, %lo(gModeSelection)($t2)
|
|
/* 08D580 8008C980 24010002 */ li $at, 2
|
|
/* 08D584 8008C984 15410017 */ bne $t2, $at, .L8008C9E4
|
|
/* 08D588 8008C988 00000000 */ nop
|
|
/* 08D58C 8008C98C 948B0000 */ lhu $t3, ($a0)
|
|
/* 08D590 8008C990 24011000 */ li $at, 4096
|
|
/* 08D594 8008C994 3C0D800E */ lui $t5, %hi(D_800DC51C) # $t5, 0x800e
|
|
/* 08D598 8008C998 316C1000 */ andi $t4, $t3, 0x1000
|
|
/* 08D59C 8008C99C 15810011 */ bne $t4, $at, .L8008C9E4
|
|
/* 08D5A0 8008C9A0 00000000 */ nop
|
|
/* 08D5A4 8008C9A4 95ADC51C */ lhu $t5, %lo(D_800DC51C)($t5)
|
|
/* 08D5A8 8008C9A8 15A0000E */ bnez $t5, .L8008C9E4
|
|
/* 08D5AC 8008C9AC 00000000 */ nop
|
|
/* 08D5B0 8008C9B0 848E00CA */ lh $t6, 0xca($a0)
|
|
/* 08D5B4 8008C9B4 3C188016 */ lui $t8, %hi(D_801643B8)
|
|
/* 08D5B8 8008C9B8 0303C021 */ addu $t8, $t8, $v1
|
|
/* 08D5BC 8008C9BC 31CF0002 */ andi $t7, $t6, 2
|
|
/* 08D5C0 8008C9C0 15E00008 */ bnez $t7, .L8008C9E4
|
|
/* 08D5C4 8008C9C4 00000000 */ nop
|
|
/* 08D5C8 8008C9C8 8F1843B8 */ lw $t8, %lo(D_801643B8)($t8)
|
|
/* 08D5CC 8008C9CC 13000005 */ beqz $t8, .L8008C9E4
|
|
/* 08D5D0 8008C9D0 00000000 */ nop
|
|
/* 08D5D4 8008C9D4 8C99000C */ lw $t9, 0xc($a0)
|
|
/* 08D5D8 8008C9D8 3C010040 */ lui $at, 0x40
|
|
/* 08D5DC 8008C9DC 03214025 */ or $t0, $t9, $at
|
|
/* 08D5E0 8008C9E0 AC88000C */ sw $t0, 0xc($a0)
|
|
.L8008C9E4:
|
|
/* 08D5E4 8008C9E4 03E00008 */ jr $ra
|
|
/* 08D5E8 8008C9E8 00000000 */ nop
|
|
|
|
glabel func_8008C9EC
|
|
/* 08D5EC 8008C9EC 27BDFFC0 */ addiu $sp, $sp, -0x40
|
|
/* 08D5F0 8008C9F0 3C0F800E */ lui $t7, %hi(D_800E6F60) # $t7, 0x800e
|
|
/* 08D5F4 8008C9F4 AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* 08D5F8 8008C9F8 AFB00018 */ sw $s0, 0x18($sp)
|
|
/* 08D5FC 8008C9FC AFA50044 */ sw $a1, 0x44($sp)
|
|
/* 08D600 8008CA00 25EF6F60 */ addiu $t7, %lo(D_800E6F60) # addiu $t7, $t7, 0x6f60
|
|
/* 08D604 8008CA04 8DE10000 */ lw $at, ($t7)
|
|
/* 08D608 8008CA08 27AE0030 */ addiu $t6, $sp, 0x30
|
|
/* 08D60C 8008CA0C 8DE80004 */ lw $t0, 4($t7)
|
|
/* 08D610 8008CA10 ADC10000 */ sw $at, ($t6)
|
|
/* 08D614 8008CA14 95E10008 */ lhu $at, 8($t7)
|
|
/* 08D618 8008CA18 ADC80004 */ sw $t0, 4($t6)
|
|
/* 08D61C 8008CA1C 00808025 */ move $s0, $a0
|
|
/* 08D620 8008CA20 A5C10008 */ sh $at, 8($t6)
|
|
/* 08D624 8008CA24 94890046 */ lhu $t1, 0x46($a0)
|
|
/* 08D628 8008CA28 24010040 */ li $at, 64
|
|
/* 08D62C 8008CA2C A4800206 */ sh $zero, 0x206($a0)
|
|
/* 08D630 8008CA30 312A0040 */ andi $t2, $t1, 0x40
|
|
/* 08D634 8008CA34 15410005 */ bne $t2, $at, .L8008CA4C
|
|
/* 08D638 8008CA38 A48000C4 */ sh $zero, 0xc4($a0)
|
|
/* 08D63C 8008CA3C 0C00C7D2 */ jal func_80031F48
|
|
/* 08D640 8008CA40 3C0542C8 */ lui $a1, 0x42c8
|
|
/* 08D644 8008CA44 10000015 */ b .L8008CA9C
|
|
/* 08D648 8008CA48 8E1800BC */ lw $t8, 0xbc($s0)
|
|
.L8008CA4C:
|
|
/* 08D64C 8008CA4C 960B0000 */ lhu $t3, ($s0)
|
|
/* 08D650 8008CA50 24014000 */ li $at, 16384
|
|
/* 08D654 8008CA54 3C053F80 */ lui $a1, 0x3f80
|
|
/* 08D658 8008CA58 316C4000 */ andi $t4, $t3, 0x4000
|
|
/* 08D65C 8008CA5C 15810005 */ bne $t4, $at, .L8008CA74
|
|
/* 08D660 8008CA60 02002025 */ move $a0, $s0
|
|
/* 08D664 8008CA64 0C00C7D2 */ jal func_80031F48
|
|
/* 08D668 8008CA68 02002025 */ move $a0, $s0
|
|
/* 08D66C 8008CA6C 10000004 */ b .L8008CA80
|
|
/* 08D670 8008CA70 960D0000 */ lhu $t5, ($s0)
|
|
.L8008CA74:
|
|
/* 08D674 8008CA74 0C00C7D2 */ jal func_80031F48
|
|
/* 08D678 8008CA78 3C054080 */ lui $a1, 0x4080
|
|
/* 08D67C 8008CA7C 960D0000 */ lhu $t5, ($s0)
|
|
.L8008CA80:
|
|
/* 08D680 8008CA80 02002025 */ move $a0, $s0
|
|
/* 08D684 8008CA84 31B94000 */ andi $t9, $t5, 0x4000
|
|
/* 08D688 8008CA88 57200004 */ bnel $t9, $zero, .L8008CA9C
|
|
/* 08D68C 8008CA8C 8E1800BC */ lw $t8, 0xbc($s0)
|
|
/* 08D690 8008CA90 0C00C7D2 */ jal func_80031F48
|
|
/* 08D694 8008CA94 3C0541F0 */ lui $a1, 0x41f0
|
|
/* 08D698 8008CA98 8E1800BC */ lw $t8, 0xbc($s0)
|
|
.L8008CA9C:
|
|
/* 08D69C 8008CA9C 24010080 */ li $at, 128
|
|
/* 08D6A0 8008CAA0 330E0080 */ andi $t6, $t8, 0x80
|
|
/* 08D6A4 8008CAA4 55C10057 */ bnel $t6, $at, .L8008CC04
|
|
/* 08D6A8 8008CAA8 860C00B2 */ lh $t4, 0xb2($s0)
|
|
/* 08D6AC 8008CAAC 860F00B2 */ lh $t7, 0xb2($s0)
|
|
/* 08D6B0 8008CAB0 27A60030 */ addiu $a2, $sp, 0x30
|
|
/* 08D6B4 8008CAB4 8609002E */ lh $t1, 0x2e($s0)
|
|
/* 08D6B8 8008CAB8 000F4040 */ sll $t0, $t7, 1
|
|
/* 08D6BC 8008CABC 00C82021 */ addu $a0, $a2, $t0
|
|
/* 08D6C0 8008CAC0 848A0000 */ lh $t2, ($a0)
|
|
/* 08D6C4 8008CAC4 3C198019 */ lui $t9, %hi(D_8018D920) # $t9, 0x8019
|
|
/* 08D6C8 8008CAC8 2739D920 */ addiu $t9, %lo(D_8018D920) # addiu $t9, $t9, -0x26e0
|
|
/* 08D6CC 8008CACC 012A5823 */ subu $t3, $t1, $t2
|
|
/* 08D6D0 8008CAD0 A60B002E */ sh $t3, 0x2e($s0)
|
|
/* 08D6D4 8008CAD4 83AC0047 */ lb $t4, 0x47($sp)
|
|
/* 08D6D8 8008CAD8 848E0000 */ lh $t6, ($a0)
|
|
/* 08D6DC 8008CADC 240100B6 */ li $at, 182
|
|
/* 08D6E0 8008CAE0 000C6840 */ sll $t5, $t4, 1
|
|
/* 08D6E4 8008CAE4 01B91021 */ addu $v0, $t5, $t9
|
|
/* 08D6E8 8008CAE8 84580000 */ lh $t8, ($v0)
|
|
/* 08D6EC 8008CAEC 240D0168 */ li $t5, 360
|
|
/* 08D6F0 8008CAF0 030E7823 */ subu $t7, $t8, $t6
|
|
/* 08D6F4 8008CAF4 A44F0000 */ sh $t7, ($v0)
|
|
/* 08D6F8 8008CAF8 860300B2 */ lh $v1, 0xb2($s0)
|
|
/* 08D6FC 8008CAFC 3C180001 */ lui $t8, 1
|
|
/* 08D700 8008CB00 31E8FFFF */ andi $t0, $t7, 0xffff
|
|
/* 08D704 8008CB04 00034840 */ sll $t1, $v1, 1
|
|
/* 08D708 8008CB08 00C95021 */ addu $t2, $a2, $t1
|
|
/* 08D70C 8008CB0C 854B0000 */ lh $t3, ($t2)
|
|
/* 08D710 8008CB10 246AFFFF */ addiu $t2, $v1, -1
|
|
/* 08D714 8008CB14 0161001A */ div $zero, $t3, $at
|
|
/* 08D718 8008CB18 00006012 */ mflo $t4
|
|
/* 08D71C 8008CB1C 00000000 */ nop
|
|
/* 08D720 8008CB20 00000000 */ nop
|
|
/* 08D724 8008CB24 01AC001A */ div $zero, $t5, $t4
|
|
/* 08D728 8008CB28 0000C812 */ mflo $t9
|
|
/* 08D72C 8008CB2C 15800002 */ bnez $t4, .L8008CB38
|
|
/* 08D730 8008CB30 00000000 */ nop
|
|
/* 08D734 8008CB34 0007000D */ break 7
|
|
.L8008CB38:
|
|
/* 08D738 8008CB38 2401FFFF */ li $at, -1
|
|
/* 08D73C 8008CB3C 15810004 */ bne $t4, $at, .L8008CB50
|
|
/* 08D740 8008CB40 3C018000 */ lui $at, 0x8000
|
|
/* 08D744 8008CB44 15A10002 */ bne $t5, $at, .L8008CB50
|
|
/* 08D748 8008CB48 00000000 */ nop
|
|
/* 08D74C 8008CB4C 0006000D */ break 6
|
|
.L8008CB50:
|
|
/* 08D750 8008CB50 0319001A */ div $zero, $t8, $t9
|
|
/* 08D754 8008CB54 00007012 */ mflo $t6
|
|
/* 08D758 8008CB58 17200002 */ bnez $t9, .L8008CB64
|
|
/* 08D75C 8008CB5C 00000000 */ nop
|
|
/* 08D760 8008CB60 0007000D */ break 7
|
|
.L8008CB64:
|
|
/* 08D764 8008CB64 2401FFFF */ li $at, -1
|
|
/* 08D768 8008CB68 17210004 */ bne $t9, $at, .L8008CB7C
|
|
/* 08D76C 8008CB6C 3C018000 */ lui $at, 0x8000
|
|
/* 08D770 8008CB70 17010002 */ bne $t8, $at, .L8008CB7C
|
|
/* 08D774 8008CB74 00000000 */ nop
|
|
/* 08D778 8008CB78 0006000D */ break 6
|
|
.L8008CB7C:
|
|
/* 08D77C 8008CB7C 010E001A */ div $zero, $t0, $t6
|
|
/* 08D780 8008CB80 00002812 */ mflo $a1
|
|
/* 08D784 8008CB84 00057C00 */ sll $t7, $a1, 0x10
|
|
/* 08D788 8008CB88 000F4C03 */ sra $t1, $t7, 0x10
|
|
/* 08D78C 8008CB8C 15C00002 */ bnez $t6, .L8008CB98
|
|
/* 08D790 8008CB90 00000000 */ nop
|
|
/* 08D794 8008CB94 0007000D */ break 7
|
|
.L8008CB98:
|
|
/* 08D798 8008CB98 2401FFFF */ li $at, -1
|
|
/* 08D79C 8008CB9C 15C10004 */ bne $t6, $at, .L8008CBB0
|
|
/* 08D7A0 8008CBA0 3C018000 */ lui $at, 0x8000
|
|
/* 08D7A4 8008CBA4 15010002 */ bne $t0, $at, .L8008CBB0
|
|
/* 08D7A8 8008CBA8 00000000 */ nop
|
|
/* 08D7AC 8008CBAC 0006000D */ break 6
|
|
.L8008CBB0:
|
|
/* 08D7B0 8008CBB0 01202825 */ move $a1, $t1
|
|
/* 08D7B4 8008CBB4 55200066 */ bnel $t1, $zero, .L8008CD50
|
|
/* 08D7B8 8008CBB8 83A20047 */ lb $v0, 0x47($sp)
|
|
/* 08D7BC 8008CBBC A60A00B2 */ sh $t2, 0xb2($s0)
|
|
/* 08D7C0 8008CBC0 860B00B2 */ lh $t3, 0xb2($s0)
|
|
/* 08D7C4 8008CBC4 3C0D800E */ lui $t5, %hi(gModeSelection) # $t5, 0x800e
|
|
/* 08D7C8 8008CBC8 5D600061 */ bgtzl $t3, .L8008CD50
|
|
/* 08D7CC 8008CBCC 83A20047 */ lb $v0, 0x47($sp)
|
|
/* 08D7D0 8008CBD0 8DADC53C */ lw $t5, %lo(gModeSelection)($t5)
|
|
/* 08D7D4 8008CBD4 24010003 */ li $at, 3
|
|
/* 08D7D8 8008CBD8 02002025 */ move $a0, $s0
|
|
/* 08D7DC 8008CBDC 55A10004 */ bnel $t5, $at, .L8008CBF0
|
|
/* 08D7E0 8008CBE0 02002025 */ move $a0, $s0
|
|
/* 08D7E4 8008CBE4 0C01AE2D */ jal func_8006B8B4
|
|
/* 08D7E8 8008CBE8 83A50047 */ lb $a1, 0x47($sp)
|
|
/* 08D7EC 8008CBEC 02002025 */ move $a0, $s0
|
|
.L8008CBF0:
|
|
/* 08D7F0 8008CBF0 0C023231 */ jal func_8008C8C4
|
|
/* 08D7F4 8008CBF4 83A50047 */ lb $a1, 0x47($sp)
|
|
/* 08D7F8 8008CBF8 10000055 */ b .L8008CD50
|
|
/* 08D7FC 8008CBFC 83A20047 */ lb $v0, 0x47($sp)
|
|
/* 08D800 8008CC00 860C00B2 */ lh $t4, 0xb2($s0)
|
|
.L8008CC04:
|
|
/* 08D804 8008CC04 27B90030 */ addiu $t9, $sp, 0x30
|
|
/* 08D808 8008CC08 8608002E */ lh $t0, 0x2e($s0)
|
|
/* 08D80C 8008CC0C 000CC040 */ sll $t8, $t4, 1
|
|
/* 08D810 8008CC10 03192021 */ addu $a0, $t8, $t9
|
|
/* 08D814 8008CC14 848E0000 */ lh $t6, ($a0)
|
|
/* 08D818 8008CC18 3C0B8019 */ lui $t3, %hi(D_8018D920) # $t3, 0x8019
|
|
/* 08D81C 8008CC1C 256BD920 */ addiu $t3, %lo(D_8018D920) # addiu $t3, $t3, -0x26e0
|
|
/* 08D820 8008CC20 010E7821 */ addu $t7, $t0, $t6
|
|
/* 08D824 8008CC24 A60F002E */ sh $t7, 0x2e($s0)
|
|
/* 08D828 8008CC28 83A90047 */ lb $t1, 0x47($sp)
|
|
/* 08D82C 8008CC2C 848C0000 */ lh $t4, ($a0)
|
|
/* 08D830 8008CC30 240100B6 */ li $at, 182
|
|
/* 08D834 8008CC34 00095040 */ sll $t2, $t1, 1
|
|
/* 08D838 8008CC38 014B1021 */ addu $v0, $t2, $t3
|
|
/* 08D83C 8008CC3C 844D0000 */ lh $t5, ($v0)
|
|
/* 08D840 8008CC40 24090168 */ li $t1, 360
|
|
/* 08D844 8008CC44 3C0B0001 */ lui $t3, 1
|
|
/* 08D848 8008CC48 01ACC023 */ subu $t8, $t5, $t4
|
|
/* 08D84C 8008CC4C A4580000 */ sh $t8, ($v0)
|
|
/* 08D850 8008CC50 860300B2 */ lh $v1, 0xb2($s0)
|
|
/* 08D854 8008CC54 3319FFFF */ andi $t9, $t8, 0xffff
|
|
/* 08D858 8008CC58 00034040 */ sll $t0, $v1, 1
|
|
/* 08D85C 8008CC5C 03A87021 */ addu $t6, $sp, $t0
|
|
/* 08D860 8008CC60 85CE0030 */ lh $t6, 0x30($t6)
|
|
/* 08D864 8008CC64 2468FFFF */ addiu $t0, $v1, -1
|
|
/* 08D868 8008CC68 01C1001A */ div $zero, $t6, $at
|
|
/* 08D86C 8008CC6C 00007812 */ mflo $t7
|
|
/* 08D870 8008CC70 00000000 */ nop
|
|
/* 08D874 8008CC74 00000000 */ nop
|
|
/* 08D878 8008CC78 012F001A */ div $zero, $t1, $t7
|
|
/* 08D87C 8008CC7C 00005012 */ mflo $t2
|
|
/* 08D880 8008CC80 15E00002 */ bnez $t7, .L8008CC8C
|
|
/* 08D884 8008CC84 00000000 */ nop
|
|
/* 08D888 8008CC88 0007000D */ break 7
|
|
.L8008CC8C:
|
|
/* 08D88C 8008CC8C 2401FFFF */ li $at, -1
|
|
/* 08D890 8008CC90 15E10004 */ bne $t7, $at, .L8008CCA4
|
|
/* 08D894 8008CC94 3C018000 */ lui $at, 0x8000
|
|
/* 08D898 8008CC98 15210002 */ bne $t1, $at, .L8008CCA4
|
|
/* 08D89C 8008CC9C 00000000 */ nop
|
|
/* 08D8A0 8008CCA0 0006000D */ break 6
|
|
.L8008CCA4:
|
|
/* 08D8A4 8008CCA4 016A001A */ div $zero, $t3, $t2
|
|
/* 08D8A8 8008CCA8 00006812 */ mflo $t5
|
|
/* 08D8AC 8008CCAC 15400002 */ bnez $t2, .L8008CCB8
|
|
/* 08D8B0 8008CCB0 00000000 */ nop
|
|
/* 08D8B4 8008CCB4 0007000D */ break 7
|
|
.L8008CCB8:
|
|
/* 08D8B8 8008CCB8 2401FFFF */ li $at, -1
|
|
/* 08D8BC 8008CCBC 15410004 */ bne $t2, $at, .L8008CCD0
|
|
/* 08D8C0 8008CCC0 3C018000 */ lui $at, 0x8000
|
|
/* 08D8C4 8008CCC4 15610002 */ bne $t3, $at, .L8008CCD0
|
|
/* 08D8C8 8008CCC8 00000000 */ nop
|
|
/* 08D8CC 8008CCCC 0006000D */ break 6
|
|
.L8008CCD0:
|
|
/* 08D8D0 8008CCD0 032D001A */ div $zero, $t9, $t5
|
|
/* 08D8D4 8008CCD4 00002812 */ mflo $a1
|
|
/* 08D8D8 8008CCD8 00056400 */ sll $t4, $a1, 0x10
|
|
/* 08D8DC 8008CCDC 000CC403 */ sra $t8, $t4, 0x10
|
|
/* 08D8E0 8008CCE0 15A00002 */ bnez $t5, .L8008CCEC
|
|
/* 08D8E4 8008CCE4 00000000 */ nop
|
|
/* 08D8E8 8008CCE8 0007000D */ break 7
|
|
.L8008CCEC:
|
|
/* 08D8EC 8008CCEC 2401FFFF */ li $at, -1
|
|
/* 08D8F0 8008CCF0 15A10004 */ bne $t5, $at, .L8008CD04
|
|
/* 08D8F4 8008CCF4 3C018000 */ lui $at, 0x8000
|
|
/* 08D8F8 8008CCF8 17210002 */ bne $t9, $at, .L8008CD04
|
|
/* 08D8FC 8008CCFC 00000000 */ nop
|
|
/* 08D900 8008CD00 0006000D */ break 6
|
|
.L8008CD04:
|
|
/* 08D904 8008CD04 03002825 */ move $a1, $t8
|
|
/* 08D908 8008CD08 57000011 */ bnel $t8, $zero, .L8008CD50
|
|
/* 08D90C 8008CD0C 83A20047 */ lb $v0, 0x47($sp)
|
|
/* 08D910 8008CD10 A60800B2 */ sh $t0, 0xb2($s0)
|
|
/* 08D914 8008CD14 860E00B2 */ lh $t6, 0xb2($s0)
|
|
/* 08D918 8008CD18 02002025 */ move $a0, $s0
|
|
/* 08D91C 8008CD1C 5DC0000C */ bgtzl $t6, .L8008CD50
|
|
/* 08D920 8008CD20 83A20047 */ lb $v0, 0x47($sp)
|
|
/* 08D924 8008CD24 0C023231 */ jal func_8008C8C4
|
|
/* 08D928 8008CD28 83A50047 */ lb $a1, 0x47($sp)
|
|
/* 08D92C 8008CD2C 3C09800E */ lui $t1, %hi(gModeSelection) # $t1, 0x800e
|
|
/* 08D930 8008CD30 8D29C53C */ lw $t1, %lo(gModeSelection)($t1)
|
|
/* 08D934 8008CD34 24010003 */ li $at, 3
|
|
/* 08D938 8008CD38 02002025 */ move $a0, $s0
|
|
/* 08D93C 8008CD3C 55210004 */ bnel $t1, $at, .L8008CD50
|
|
/* 08D940 8008CD40 83A20047 */ lb $v0, 0x47($sp)
|
|
/* 08D944 8008CD44 0C01AE2D */ jal func_8006B8B4
|
|
/* 08D948 8008CD48 83A50047 */ lb $a1, 0x47($sp)
|
|
/* 08D94C 8008CD4C 83A20047 */ lb $v0, 0x47($sp)
|
|
.L8008CD50:
|
|
/* 08D950 8008CD50 3C0B8016 */ lui $t3, %hi(D_80165460) # 0x8016
|
|
/* 08D954 8008CD54 24010001 */ li $at, 1
|
|
/* 08D958 8008CD58 00027880 */ sll $t7, $v0, 2
|
|
/* 08D95C 8008CD5C 016F5821 */ addu $t3, $t3, $t7
|
|
/* 08D960 8008CD60 8D6B5460 */ lw $t3, %lo(D_80165460)($t3) # 0x5460($t3)
|
|
/* 08D964 8008CD64 55610012 */ bnel $t3, $at, .L8008CDB0
|
|
/* 08D968 8008CD68 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* 08D96C 8008CD6C 960A0000 */ lhu $t2, ($s0)
|
|
/* 08D970 8008CD70 24014000 */ li $at, 16384
|
|
/* 08D974 8008CD74 240D0078 */ li $t5, 120
|
|
/* 08D978 8008CD78 31594000 */ andi $t9, $t2, 0x4000
|
|
/* 08D97C 8008CD7C 1721000B */ bne $t9, $at, .L8008CDAC
|
|
/* 08D980 8008CD80 3C0142B4 */ li $at, 0x42B40000 # 90.000000
|
|
/* 08D984 8008CD84 44810000 */ mtc1 $at, $f0
|
|
/* 08D988 8008CD88 3C018016 */ lui $at, %hi(D_80165480) # 0x8016
|
|
/* 08D98C 8008CD8C 002F0821 */ addu $at, $at, $t7
|
|
/* 08D990 8008CD90 AC2D5480 */ sw $t5, %lo(D_80165480)($at) # 0x5480($at)
|
|
/* 08D994 8008CD94 C604009C */ lwc1 $f4, 0x9c($s0)
|
|
/* 08D998 8008CD98 4600203E */ c.le.s $f4, $f0
|
|
/* 08D99C 8008CD9C 00000000 */ nop
|
|
/* 08D9A0 8008CDA0 45020003 */ bc1fl .L8008CDB0
|
|
/* 08D9A4 8008CDA4 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* 08D9A8 8008CDA8 E600009C */ swc1 $f0, 0x9c($s0)
|
|
.L8008CDAC:
|
|
/* 08D9AC 8008CDAC 8FBF001C */ lw $ra, 0x1c($sp)
|
|
.L8008CDB0:
|
|
/* 08D9B0 8008CDB0 8FB00018 */ lw $s0, 0x18($sp)
|
|
/* 08D9B4 8008CDB4 27BD0040 */ addiu $sp, $sp, 0x40
|
|
/* 08D9B8 8008CDB8 03E00008 */ jr $ra
|
|
/* 08D9BC 8008CDBC 00000000 */ nop
|
|
|
|
glabel func_8008CDC0
|
|
/* 08D9C0 8008CDC0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 08D9C4 8008CDC4 AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 08D9C8 8008CDC8 AFA5001C */ sw $a1, 0x1c($sp)
|
|
/* 08D9CC 8008CDCC 83A5001F */ lb $a1, 0x1f($sp)
|
|
/* 08D9D0 8008CDD0 0C0230D5 */ jal func_8008C354
|
|
/* 08D9D4 8008CDD4 AFA40018 */ sw $a0, 0x18($sp)
|
|
/* 08D9D8 8008CDD8 8FA40018 */ lw $a0, 0x18($sp)
|
|
/* 08D9DC 8008CDDC 2401FFFE */ li $at, -2
|
|
/* 08D9E0 8008CDE0 24180001 */ li $t8, 1
|
|
/* 08D9E4 8008CDE4 8C8E000C */ lw $t6, 0xc($a0)
|
|
/* 08D9E8 8008CDE8 8C9900BC */ lw $t9, 0xbc($a0)
|
|
/* 08D9EC 8008CDEC 8C82007C */ lw $v0, 0x7c($a0)
|
|
/* 08D9F0 8008CDF0 01C17824 */ and $t7, $t6, $at
|
|
/* 08D9F4 8008CDF4 3C014040 */ li $at, 0x40400000 # 3.000000
|
|
/* 08D9F8 8008CDF8 44812000 */ mtc1 $at, $f4
|
|
/* 08D9FC 8008CDFC 2401FFEF */ li $at, -17
|
|
/* 08DA00 8008CE00 03214024 */ and $t0, $t9, $at
|
|
/* 08DA04 8008CE04 00024C03 */ sra $t1, $v0, 0x10
|
|
/* 08DA08 8008CE08 29210014 */ slti $at, $t1, 0x14
|
|
/* 08DA0C 8008CE0C AC8F000C */ sw $t7, 0xc($a0)
|
|
/* 08DA10 8008CE10 A48000B4 */ sh $zero, 0xb4($a0)
|
|
/* 08DA14 8008CE14 A49800AC */ sh $t8, 0xac($a0)
|
|
/* 08DA18 8008CE18 AC8800BC */ sw $t0, 0xbc($a0)
|
|
/* 08DA1C 8008CE1C 1020001B */ beqz $at, .L8008CE8C
|
|
/* 08DA20 8008CE20 E48400B8 */ swc1 $f4, 0xb8($a0)
|
|
/* 08DA24 8008CE24 2921FFED */ slti $at, $t1, -0x13
|
|
/* 08DA28 8008CE28 14200018 */ bnez $at, .L8008CE8C
|
|
/* 08DA2C 8008CE2C 3C0141F0 */ li $at, 0x41F00000 # 30.000000
|
|
/* 08DA30 8008CE30 44813000 */ mtc1 $at, $f6
|
|
/* 08DA34 8008CE34 3C014190 */ li $at, 0x41900000 # 18.000000
|
|
/* 08DA38 8008CE38 44815000 */ mtc1 $at, $f10
|
|
/* 08DA3C 8008CE3C C4880094 */ lwc1 $f8, 0x94($a0)
|
|
/* 08DA40 8008CE40 3C014358 */ li $at, 0x43580000 # 216.000000
|
|
/* 08DA44 8008CE44 44819000 */ mtc1 $at, $f18
|
|
/* 08DA48 8008CE48 460A4403 */ div.s $f16, $f8, $f10
|
|
/* 08DA4C 8008CE4C 310A0008 */ andi $t2, $t0, 8
|
|
/* 08DA50 8008CE50 46128102 */ mul.s $f4, $f16, $f18
|
|
/* 08DA54 8008CE54 4606203E */ c.le.s $f4, $f6
|
|
/* 08DA58 8008CE58 00000000 */ nop
|
|
/* 08DA5C 8008CE5C 4501000B */ bc1t .L8008CE8C
|
|
/* 08DA60 8008CE60 00000000 */ nop
|
|
/* 08DA64 8008CE64 15400009 */ bnez $t2, .L8008CE8C
|
|
/* 08DA68 8008CE68 01001025 */ move $v0, $t0
|
|
/* 08DA6C 8008CE6C 948B0000 */ lhu $t3, ($a0)
|
|
/* 08DA70 8008CE70 310D1000 */ andi $t5, $t0, 0x1000
|
|
/* 08DA74 8008CE74 344E0800 */ ori $t6, $v0, 0x800
|
|
/* 08DA78 8008CE78 316C4000 */ andi $t4, $t3, 0x4000
|
|
/* 08DA7C 8008CE7C 55800008 */ bnel $t4, $zero, .L8008CEA0
|
|
/* 08DA80 8008CE80 AC8E00BC */ sw $t6, 0xbc($a0)
|
|
/* 08DA84 8008CE84 55A00006 */ bnel $t5, $zero, .L8008CEA0
|
|
/* 08DA88 8008CE88 AC8E00BC */ sw $t6, 0xbc($a0)
|
|
.L8008CE8C:
|
|
/* 08DA8C 8008CE8C 0C0231CF */ jal func_8008C73C
|
|
/* 08DA90 8008CE90 83A5001F */ lb $a1, 0x1f($sp)
|
|
/* 08DA94 8008CE94 10000003 */ b .L8008CEA4
|
|
/* 08DA98 8008CE98 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 08DA9C 8008CE9C AC8E00BC */ sw $t6, 0xbc($a0)
|
|
.L8008CEA0:
|
|
/* 08DAA0 8008CEA0 8FBF0014 */ lw $ra, 0x14($sp)
|
|
.L8008CEA4:
|
|
/* 08DAA4 8008CEA4 27BD0018 */ addiu $sp, $sp, 0x18
|
|
/* 08DAA8 8008CEA8 03E00008 */ jr $ra
|
|
/* 08DAAC 8008CEAC 00000000 */ nop
|
|
|
|
glabel func_8008CEB0
|
|
/* 08DAB0 8008CEB0 27BDFFD0 */ addiu $sp, $sp, -0x30
|
|
/* 08DAB4 8008CEB4 AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* 08DAB8 8008CEB8 AFB00018 */ sw $s0, 0x18($sp)
|
|
/* 08DABC 8008CEBC AFA50034 */ sw $a1, 0x34($sp)
|
|
/* 08DAC0 8008CEC0 848300B4 */ lh $v1, 0xb4($a0)
|
|
/* 08DAC4 8008CEC4 3C01800F */ lui $at, %hi(D_800EF540)
|
|
/* 08DAC8 8008CEC8 D424F540 */ ldc1 $f4, %lo(D_800EF540)($at)
|
|
/* 08DACC 8008CECC 24630001 */ addiu $v1, $v1, 1
|
|
/* 08DAD0 8008CED0 00037400 */ sll $t6, $v1, 0x10
|
|
/* 08DAD4 8008CED4 000E1C03 */ sra $v1, $t6, 0x10
|
|
/* 08DAD8 8008CED8 00630019 */ multu $v1, $v1
|
|
/* 08DADC 8008CEDC 44838000 */ mtc1 $v1, $f16
|
|
/* 08DAE0 8008CEE0 C48000B8 */ lwc1 $f0, 0xb8($a0)
|
|
/* 08DAE4 8008CEE4 00808025 */ move $s0, $a0
|
|
/* 08DAE8 8008CEE8 468084A0 */ cvt.s.w $f18, $f16
|
|
/* 08DAEC 8008CEEC 848700AC */ lh $a3, 0xac($a0)
|
|
/* 08DAF0 8008CEF0 0000C012 */ mflo $t8
|
|
/* 08DAF4 8008CEF4 44983000 */ mtc1 $t8, $f6
|
|
/* 08DAF8 8008CEF8 00000000 */ nop
|
|
/* 08DAFC 8008CEFC 46803221 */ cvt.d.w $f8, $f6
|
|
/* 08DB00 8008CF00 46282282 */ mul.d $f10, $f4, $f8
|
|
/* 08DB04 8008CF04 00000000 */ nop
|
|
/* 08DB08 8008CF08 46009182 */ mul.s $f6, $f18, $f0
|
|
/* 08DB0C 8008CF0C 46003121 */ cvt.d.s $f4, $f6
|
|
/* 08DB10 8008CF10 462A2201 */ sub.d $f8, $f4, $f10
|
|
/* 08DB14 8008CF14 4620440D */ trunc.w.d $f16, $f8
|
|
/* 08DB18 8008CF18 44028000 */ mfc1 $v0, $f16
|
|
/* 08DB1C 8008CF1C 00000000 */ nop
|
|
/* 08DB20 8008CF20 00023400 */ sll $a2, $v0, 0x10
|
|
/* 08DB24 8008CF24 00064403 */ sra $t0, $a2, 0x10
|
|
/* 08DB28 8008CF28 10600047 */ beqz $v1, .L8008D048
|
|
/* 08DB2C 8008CF2C 01003025 */ move $a2, $t0
|
|
/* 08DB30 8008CF30 00024C00 */ sll $t1, $v0, 0x10
|
|
/* 08DB34 8008CF34 00095403 */ sra $t2, $t1, 0x10
|
|
/* 08DB38 8008CF38 05410043 */ bgez $t2, .L8008D048
|
|
/* 08DB3C 8008CF3C 3C01800F */ lui $at, %hi(D_800EF548)
|
|
/* 08DB40 8008CF40 D426F548 */ ldc1 $f6, %lo(D_800EF548)($at)
|
|
/* 08DB44 8008CF44 460004A1 */ cvt.d.s $f18, $f0
|
|
/* 08DB48 8008CF48 8C8200BC */ lw $v0, 0xbc($a0)
|
|
/* 08DB4C 8008CF4C 46269102 */ mul.d $f4, $f18, $f6
|
|
/* 08DB50 8008CF50 00073823 */ negu $a3, $a3
|
|
/* 08DB54 8008CF54 00075C00 */ sll $t3, $a3, 0x10
|
|
/* 08DB58 8008CF58 24010001 */ li $at, 1
|
|
/* 08DB5C 8008CF5C 304D0001 */ andi $t5, $v0, 1
|
|
/* 08DB60 8008CF60 00001825 */ move $v1, $zero
|
|
/* 08DB64 8008CF64 000B3C03 */ sra $a3, $t3, 0x10
|
|
/* 08DB68 8008CF68 15A10004 */ bne $t5, $at, .L8008CF7C
|
|
/* 08DB6C 8008CF6C 46202020 */ cvt.s.d $f0, $f4
|
|
/* 08DB70 8008CF70 3C040004 */ lui $a0, 4
|
|
/* 08DB74 8008CF74 00447025 */ or $t6, $v0, $a0
|
|
/* 08DB78 8008CF78 AE0E00BC */ sw $t6, 0xbc($s0)
|
|
.L8008CF7C:
|
|
/* 08DB7C 8008CF7C 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
|
/* 08DB80 8008CF80 44815000 */ mtc1 $at, $f10
|
|
/* 08DB84 8008CF84 3C040004 */ lui $a0, 4
|
|
/* 08DB88 8008CF88 460A003E */ c.le.s $f0, $f10
|
|
/* 08DB8C 8008CF8C 00000000 */ nop
|
|
/* 08DB90 8008CF90 4500002D */ bc1f .L8008D048
|
|
/* 08DB94 8008CF94 00000000 */ nop
|
|
/* 08DB98 8008CF98 8E0F00BC */ lw $t7, 0xbc($s0)
|
|
/* 08DB9C 8008CF9C 2401F7FF */ li $at, -2049
|
|
/* 08DBA0 8008CFA0 01E11024 */ and $v0, $t7, $at
|
|
/* 08DBA4 8008CFA4 0044C824 */ and $t9, $v0, $a0
|
|
/* 08DBA8 8008CFA8 1099000D */ beq $a0, $t9, .L8008CFE0
|
|
/* 08DBAC 8008CFAC AE0200BC */ sw $v0, 0xbc($s0)
|
|
/* 08DBB0 8008CFB0 02002025 */ move $a0, $s0
|
|
/* 08DBB4 8008CFB4 83A50037 */ lb $a1, 0x37($sp)
|
|
/* 08DBB8 8008CFB8 A7A3002A */ sh $v1, 0x2a($sp)
|
|
/* 08DBBC 8008CFBC A7A60026 */ sh $a2, 0x26($sp)
|
|
/* 08DBC0 8008CFC0 A7A70028 */ sh $a3, 0x28($sp)
|
|
/* 08DBC4 8008CFC4 0C0231CF */ jal func_8008C73C
|
|
/* 08DBC8 8008CFC8 E7A0002C */ swc1 $f0, 0x2c($sp)
|
|
/* 08DBCC 8008CFCC 87A3002A */ lh $v1, 0x2a($sp)
|
|
/* 08DBD0 8008CFD0 87A60026 */ lh $a2, 0x26($sp)
|
|
/* 08DBD4 8008CFD4 87A70028 */ lh $a3, 0x28($sp)
|
|
/* 08DBD8 8008CFD8 1000001B */ b .L8008D048
|
|
/* 08DBDC 8008CFDC C7A0002C */ lwc1 $f0, 0x2c($sp)
|
|
.L8008CFE0:
|
|
/* 08DBE0 8008CFE0 960800B6 */ lhu $t0, 0xb6($s0)
|
|
/* 08DBE4 8008CFE4 960B0000 */ lhu $t3, ($s0)
|
|
/* 08DBE8 8008CFE8 3C01FFFB */ lui $at, (0xFFFBFFFF >> 16) # lui $at, 0xfffb
|
|
/* 08DBEC 8008CFEC 3421FFFF */ ori $at, (0xFFFBFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
|
/* 08DBF0 8008CFF0 00415024 */ and $t2, $v0, $at
|
|
/* 08DBF4 8008CFF4 24014000 */ li $at, 16384
|
|
/* 08DBF8 8008CFF8 35090020 */ ori $t1, $t0, 0x20
|
|
/* 08DBFC 8008CFFC 316C4000 */ andi $t4, $t3, 0x4000
|
|
/* 08DC00 8008D000 A60900B6 */ sh $t1, 0xb6($s0)
|
|
/* 08DC04 8008D004 15810010 */ bne $t4, $at, .L8008D048
|
|
/* 08DC08 8008D008 AE0A00BC */ sw $t2, 0xbc($s0)
|
|
/* 08DC0C 8008D00C 96050254 */ lhu $a1, 0x254($s0)
|
|
/* 08DC10 8008D010 3C012900 */ lui $at, (0x29008008 >> 16) # lui $at, 0x2900
|
|
/* 08DC14 8008D014 34218008 */ ori $at, (0x29008008 & 0xFFFF) # ori $at, $at, 0x8008
|
|
/* 08DC18 8008D018 00056900 */ sll $t5, $a1, 4
|
|
/* 08DC1C 8008D01C 01A12821 */ addu $a1, $t5, $at
|
|
/* 08DC20 8008D020 E7A0002C */ swc1 $f0, 0x2c($sp)
|
|
/* 08DC24 8008D024 A7A70028 */ sh $a3, 0x28($sp)
|
|
/* 08DC28 8008D028 A7A60026 */ sh $a2, 0x26($sp)
|
|
/* 08DC2C 8008D02C A7A3002A */ sh $v1, 0x2a($sp)
|
|
/* 08DC30 8008D030 0C03243D */ jal func_800C90F4
|
|
/* 08DC34 8008D034 93A40037 */ lbu $a0, 0x37($sp)
|
|
/* 08DC38 8008D038 87A3002A */ lh $v1, 0x2a($sp)
|
|
/* 08DC3C 8008D03C 87A60026 */ lh $a2, 0x26($sp)
|
|
/* 08DC40 8008D040 87A70028 */ lh $a3, 0x28($sp)
|
|
/* 08DC44 8008D044 C7A0002C */ lwc1 $f0, 0x2c($sp)
|
|
.L8008D048:
|
|
/* 08DC48 8008D048 00C70019 */ multu $a2, $a3
|
|
/* 08DC4C 8008D04C 8E0200BC */ lw $v0, 0xbc($s0)
|
|
/* 08DC50 8008D050 24010001 */ li $at, 1
|
|
/* 08DC54 8008D054 02002025 */ move $a0, $s0
|
|
/* 08DC58 8008D058 30490008 */ andi $t1, $v0, 8
|
|
/* 08DC5C 8008D05C 00003012 */ mflo $a2
|
|
/* 08DC60 8008D060 00067400 */ sll $t6, $a2, 0x10
|
|
/* 08DC64 8008D064 000E3403 */ sra $a2, $t6, 0x10
|
|
/* 08DC68 8008D068 1CC00004 */ bgtz $a2, .L8008D07C
|
|
/* 08DC6C 8008D06C 00000000 */ nop
|
|
/* 08DC70 8008D070 14E10002 */ bne $a3, $at, .L8008D07C
|
|
/* 08DC74 8008D074 00000000 */ nop
|
|
/* 08DC78 8008D078 00003025 */ move $a2, $zero
|
|
.L8008D07C:
|
|
/* 08DC7C 8008D07C 04C00004 */ bltz $a2, .L8008D090
|
|
/* 08DC80 8008D080 2401FFFF */ li $at, -1
|
|
/* 08DC84 8008D084 54E10003 */ bnel $a3, $at, .L8008D094
|
|
/* 08DC88 8008D088 86180078 */ lh $t8, 0x78($s0)
|
|
/* 08DC8C 8008D08C 00003025 */ move $a2, $zero
|
|
.L8008D090:
|
|
/* 08DC90 8008D090 86180078 */ lh $t8, 0x78($s0)
|
|
.L8008D094:
|
|
/* 08DC94 8008D094 0006C8C0 */ sll $t9, $a2, 3
|
|
/* 08DC98 8008D098 0326C821 */ addu $t9, $t9, $a2
|
|
/* 08DC9C 8008D09C 0019C840 */ sll $t9, $t9, 1
|
|
/* 08DCA0 8008D0A0 03194021 */ addu $t0, $t8, $t9
|
|
/* 08DCA4 8008D0A4 A6080078 */ sh $t0, 0x78($s0)
|
|
/* 08DCA8 8008D0A8 E60000B8 */ swc1 $f0, 0xb8($s0)
|
|
/* 08DCAC 8008D0AC A60300B4 */ sh $v1, 0xb4($s0)
|
|
/* 08DCB0 8008D0B0 11200007 */ beqz $t1, .L8008D0D0
|
|
/* 08DCB4 8008D0B4 A60700AC */ sh $a3, 0xac($s0)
|
|
/* 08DCB8 8008D0B8 0C0231CF */ jal func_8008C73C
|
|
/* 08DCBC 8008D0BC 83A50037 */ lb $a1, 0x37($sp)
|
|
/* 08DCC0 8008D0C0 8E0A00BC */ lw $t2, 0xbc($s0)
|
|
/* 08DCC4 8008D0C4 2401F7FF */ li $at, -2049
|
|
/* 08DCC8 8008D0C8 01415824 */ and $t3, $t2, $at
|
|
/* 08DCCC 8008D0CC AE0B00BC */ sw $t3, 0xbc($s0)
|
|
.L8008D0D0:
|
|
/* 08DCD0 8008D0D0 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* 08DCD4 8008D0D4 8FB00018 */ lw $s0, 0x18($sp)
|
|
/* 08DCD8 8008D0D8 27BD0030 */ addiu $sp, $sp, 0x30
|
|
/* 08DCDC 8008D0DC 03E00008 */ jr $ra
|
|
/* 08DCE0 8008D0E0 00000000 */ nop
|
|
|
|
glabel func_8008D0E4
|
|
/* 08DCE4 8008D0E4 AFA50004 */ sw $a1, 4($sp)
|
|
/* 08DCE8 8008D0E8 8C8E00BC */ lw $t6, 0xbc($a0)
|
|
/* 08DCEC 8008D0EC 2401F7FF */ li $at, -2049
|
|
/* 08DCF0 8008D0F0 01C17824 */ and $t7, $t6, $at
|
|
/* 08DCF4 8008D0F4 03E00008 */ jr $ra
|
|
/* 08DCF8 8008D0F8 AC8F00BC */ sw $t7, 0xbc($a0)
|
|
|
|
glabel func_8008D0FC
|
|
/* 08DCFC 8008D0FC 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 08DD00 8008D100 AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 08DD04 8008D104 AFA5001C */ sw $a1, 0x1c($sp)
|
|
/* 08DD08 8008D108 00057600 */ sll $t6, $a1, 0x18
|
|
/* 08DD0C 8008D10C 000E2E03 */ sra $a1, $t6, 0x18
|
|
/* 08DD10 8008D110 0C0230D5 */ jal func_8008C354
|
|
/* 08DD14 8008D114 AFA40018 */ sw $a0, 0x18($sp)
|
|
/* 08DD18 8008D118 8FA40018 */ lw $a0, 0x18($sp)
|
|
/* 08DD1C 8008D11C 2401FF7F */ li $at, -129
|
|
/* 08DD20 8008D120 24080001 */ li $t0, 1
|
|
/* 08DD24 8008D124 8C98000C */ lw $t8, 0xc($a0)
|
|
/* 08DD28 8008D128 8C8900BC */ lw $t1, 0xbc($a0)
|
|
/* 08DD2C 8008D12C 848B0044 */ lh $t3, 0x44($a0)
|
|
/* 08DD30 8008D130 0301C824 */ and $t9, $t8, $at
|
|
/* 08DD34 8008D134 3C014000 */ li $at, 0x40000000 # 2.000000
|
|
/* 08DD38 8008D138 44812000 */ mtc1 $at, $f4
|
|
/* 08DD3C 8008D13C 2401FFEF */ li $at, -17
|
|
/* 08DD40 8008D140 01215024 */ and $t2, $t1, $at
|
|
/* 08DD44 8008D144 356C4000 */ ori $t4, $t3, 0x4000
|
|
/* 08DD48 8008D148 AC99000C */ sw $t9, 0xc($a0)
|
|
/* 08DD4C 8008D14C A48000B4 */ sh $zero, 0xb4($a0)
|
|
/* 08DD50 8008D150 A48800AC */ sh $t0, 0xac($a0)
|
|
/* 08DD54 8008D154 AC8A00BC */ sw $t2, 0xbc($a0)
|
|
/* 08DD58 8008D158 A48C0044 */ sh $t4, 0x44($a0)
|
|
/* 08DD5C 8008D15C E48400B8 */ swc1 $f4, 0xb8($a0)
|
|
/* 08DD60 8008D160 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 08DD64 8008D164 27BD0018 */ addiu $sp, $sp, 0x18
|
|
/* 08DD68 8008D168 03E00008 */ jr $ra
|
|
/* 08DD6C 8008D16C 00000000 */ nop
|
|
|
|
glabel func_8008D170
|
|
/* 08DD70 8008D170 27BDFFD0 */ addiu $sp, $sp, -0x30
|
|
/* 08DD74 8008D174 AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* 08DD78 8008D178 AFB00018 */ sw $s0, 0x18($sp)
|
|
/* 08DD7C 8008D17C AFA50034 */ sw $a1, 0x34($sp)
|
|
/* 08DD80 8008D180 848300B4 */ lh $v1, 0xb4($a0)
|
|
/* 08DD84 8008D184 3C01800F */ lui $at, %hi(D_800EF550)
|
|
/* 08DD88 8008D188 D424F550 */ ldc1 $f4, %lo(D_800EF550)($at)
|
|
/* 08DD8C 8008D18C 24630001 */ addiu $v1, $v1, 1
|
|
/* 08DD90 8008D190 00037400 */ sll $t6, $v1, 0x10
|
|
/* 08DD94 8008D194 000E1C03 */ sra $v1, $t6, 0x10
|
|
/* 08DD98 8008D198 00630019 */ multu $v1, $v1
|
|
/* 08DD9C 8008D19C 44838000 */ mtc1 $v1, $f16
|
|
/* 08DDA0 8008D1A0 C48000B8 */ lwc1 $f0, 0xb8($a0)
|
|
/* 08DDA4 8008D1A4 00808025 */ move $s0, $a0
|
|
/* 08DDA8 8008D1A8 468084A0 */ cvt.s.w $f18, $f16
|
|
/* 08DDAC 8008D1AC 848700AC */ lh $a3, 0xac($a0)
|
|
/* 08DDB0 8008D1B0 0000C012 */ mflo $t8
|
|
/* 08DDB4 8008D1B4 44983000 */ mtc1 $t8, $f6
|
|
/* 08DDB8 8008D1B8 00000000 */ nop
|
|
/* 08DDBC 8008D1BC 46803221 */ cvt.d.w $f8, $f6
|
|
/* 08DDC0 8008D1C0 46282282 */ mul.d $f10, $f4, $f8
|
|
/* 08DDC4 8008D1C4 00000000 */ nop
|
|
/* 08DDC8 8008D1C8 46009182 */ mul.s $f6, $f18, $f0
|
|
/* 08DDCC 8008D1CC 46003121 */ cvt.d.s $f4, $f6
|
|
/* 08DDD0 8008D1D0 462A2201 */ sub.d $f8, $f4, $f10
|
|
/* 08DDD4 8008D1D4 4620440D */ trunc.w.d $f16, $f8
|
|
/* 08DDD8 8008D1D8 44028000 */ mfc1 $v0, $f16
|
|
/* 08DDDC 8008D1DC 00000000 */ nop
|
|
/* 08DDE0 8008D1E0 00023400 */ sll $a2, $v0, 0x10
|
|
/* 08DDE4 8008D1E4 00064403 */ sra $t0, $a2, 0x10
|
|
/* 08DDE8 8008D1E8 1060004B */ beqz $v1, .L8008D318
|
|
/* 08DDEC 8008D1EC 01003025 */ move $a2, $t0
|
|
/* 08DDF0 8008D1F0 00024C00 */ sll $t1, $v0, 0x10
|
|
/* 08DDF4 8008D1F4 00095403 */ sra $t2, $t1, 0x10
|
|
/* 08DDF8 8008D1F8 05410047 */ bgez $t2, .L8008D318
|
|
/* 08DDFC 8008D1FC 3C01800F */ lui $at, %hi(D_800EF558)
|
|
/* 08DE00 8008D200 D426F558 */ ldc1 $f6, %lo(D_800EF558)($at)
|
|
/* 08DE04 8008D204 460004A1 */ cvt.d.s $f18, $f0
|
|
/* 08DE08 8008D208 8C8200BC */ lw $v0, 0xbc($a0)
|
|
/* 08DE0C 8008D20C 46269102 */ mul.d $f4, $f18, $f6
|
|
/* 08DE10 8008D210 00073823 */ negu $a3, $a3
|
|
/* 08DE14 8008D214 00075C00 */ sll $t3, $a3, 0x10
|
|
/* 08DE18 8008D218 24010001 */ li $at, 1
|
|
/* 08DE1C 8008D21C 304D0001 */ andi $t5, $v0, 1
|
|
/* 08DE20 8008D220 00001825 */ move $v1, $zero
|
|
/* 08DE24 8008D224 000B3C03 */ sra $a3, $t3, 0x10
|
|
/* 08DE28 8008D228 11A10004 */ beq $t5, $at, .L8008D23C
|
|
/* 08DE2C 8008D22C 46202020 */ cvt.s.d $f0, $f4
|
|
/* 08DE30 8008D230 848E0044 */ lh $t6, 0x44($a0)
|
|
/* 08DE34 8008D234 31CF0020 */ andi $t7, $t6, 0x20
|
|
/* 08DE38 8008D238 15E00003 */ bnez $t7, .L8008D248
|
|
.L8008D23C:
|
|
/* 08DE3C 8008D23C 3C040004 */ lui $a0, 4
|
|
/* 08DE40 8008D240 0044C025 */ or $t8, $v0, $a0
|
|
/* 08DE44 8008D244 AE1800BC */ sw $t8, 0xbc($s0)
|
|
.L8008D248:
|
|
/* 08DE48 8008D248 3C01800F */ lui $at, %hi(D_800EF560)
|
|
/* 08DE4C 8008D24C D42AF560 */ ldc1 $f10, %lo(D_800EF560)($at)
|
|
/* 08DE50 8008D250 46000221 */ cvt.d.s $f8, $f0
|
|
/* 08DE54 8008D254 3C040004 */ lui $a0, 4
|
|
/* 08DE58 8008D258 462A403E */ c.le.d $f8, $f10
|
|
/* 08DE5C 8008D25C 00000000 */ nop
|
|
/* 08DE60 8008D260 4500002D */ bc1f .L8008D318
|
|
/* 08DE64 8008D264 00000000 */ nop
|
|
/* 08DE68 8008D268 86190044 */ lh $t9, 0x44($s0)
|
|
/* 08DE6C 8008D26C 8E0200BC */ lw $v0, 0xbc($s0)
|
|
/* 08DE70 8008D270 3C01FFFB */ lui $at, (0xFFFBFFFF >> 16) # lui $at, 0xfffb
|
|
/* 08DE74 8008D274 3328BFFF */ andi $t0, $t9, 0xbfff
|
|
/* 08DE78 8008D278 00444824 */ and $t1, $v0, $a0
|
|
/* 08DE7C 8008D27C 1089000D */ beq $a0, $t1, .L8008D2B4
|
|
/* 08DE80 8008D280 A6080044 */ sh $t0, 0x44($s0)
|
|
/* 08DE84 8008D284 02002025 */ move $a0, $s0
|
|
/* 08DE88 8008D288 83A50037 */ lb $a1, 0x37($sp)
|
|
/* 08DE8C 8008D28C A7A3002A */ sh $v1, 0x2a($sp)
|
|
/* 08DE90 8008D290 A7A60026 */ sh $a2, 0x26($sp)
|
|
/* 08DE94 8008D294 A7A70028 */ sh $a3, 0x28($sp)
|
|
/* 08DE98 8008D298 0C0231CF */ jal func_8008C73C
|
|
/* 08DE9C 8008D29C E7A0002C */ swc1 $f0, 0x2c($sp)
|
|
/* 08DEA0 8008D2A0 87A3002A */ lh $v1, 0x2a($sp)
|
|
/* 08DEA4 8008D2A4 87A60026 */ lh $a2, 0x26($sp)
|
|
/* 08DEA8 8008D2A8 87A70028 */ lh $a3, 0x28($sp)
|
|
/* 08DEAC 8008D2AC 1000001A */ b .L8008D318
|
|
/* 08DEB0 8008D2B0 C7A0002C */ lwc1 $f0, 0x2c($sp)
|
|
.L8008D2B4:
|
|
/* 08DEB4 8008D2B4 960A00B6 */ lhu $t2, 0xb6($s0)
|
|
/* 08DEB8 8008D2B8 960D0000 */ lhu $t5, ($s0)
|
|
/* 08DEBC 8008D2BC 3421FFFF */ ori $at, (0xFFFBFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
|
/* 08DEC0 8008D2C0 00416024 */ and $t4, $v0, $at
|
|
/* 08DEC4 8008D2C4 24014000 */ li $at, 16384
|
|
/* 08DEC8 8008D2C8 354B0020 */ ori $t3, $t2, 0x20
|
|
/* 08DECC 8008D2CC 31AE4000 */ andi $t6, $t5, 0x4000
|
|
/* 08DED0 8008D2D0 A60B00B6 */ sh $t3, 0xb6($s0)
|
|
/* 08DED4 8008D2D4 15C10010 */ bne $t6, $at, .L8008D318
|
|
/* 08DED8 8008D2D8 AE0C00BC */ sw $t4, 0xbc($s0)
|
|
/* 08DEDC 8008D2DC 96050254 */ lhu $a1, 0x254($s0)
|
|
/* 08DEE0 8008D2E0 3C012900 */ lui $at, (0x29008008 >> 16) # lui $at, 0x2900
|
|
/* 08DEE4 8008D2E4 34218008 */ ori $at, (0x29008008 & 0xFFFF) # ori $at, $at, 0x8008
|
|
/* 08DEE8 8008D2E8 00057900 */ sll $t7, $a1, 4
|
|
/* 08DEEC 8008D2EC 01E12821 */ addu $a1, $t7, $at
|
|
/* 08DEF0 8008D2F0 E7A0002C */ swc1 $f0, 0x2c($sp)
|
|
/* 08DEF4 8008D2F4 A7A70028 */ sh $a3, 0x28($sp)
|
|
/* 08DEF8 8008D2F8 A7A60026 */ sh $a2, 0x26($sp)
|
|
/* 08DEFC 8008D2FC A7A3002A */ sh $v1, 0x2a($sp)
|
|
/* 08DF00 8008D300 0C03243D */ jal func_800C90F4
|
|
/* 08DF04 8008D304 93A40037 */ lbu $a0, 0x37($sp)
|
|
/* 08DF08 8008D308 87A3002A */ lh $v1, 0x2a($sp)
|
|
/* 08DF0C 8008D30C 87A60026 */ lh $a2, 0x26($sp)
|
|
/* 08DF10 8008D310 87A70028 */ lh $a3, 0x28($sp)
|
|
/* 08DF14 8008D314 C7A0002C */ lwc1 $f0, 0x2c($sp)
|
|
.L8008D318:
|
|
/* 08DF18 8008D318 00C70019 */ multu $a2, $a3
|
|
/* 08DF1C 8008D31C 8E0200BC */ lw $v0, 0xbc($s0)
|
|
/* 08DF20 8008D320 24010001 */ li $at, 1
|
|
/* 08DF24 8008D324 02002025 */ move $a0, $s0
|
|
/* 08DF28 8008D328 304B0008 */ andi $t3, $v0, 8
|
|
/* 08DF2C 8008D32C 00003012 */ mflo $a2
|
|
/* 08DF30 8008D330 0006C400 */ sll $t8, $a2, 0x10
|
|
/* 08DF34 8008D334 00183403 */ sra $a2, $t8, 0x10
|
|
/* 08DF38 8008D338 1CC00004 */ bgtz $a2, .L8008D34C
|
|
/* 08DF3C 8008D33C 00000000 */ nop
|
|
/* 08DF40 8008D340 14E10002 */ bne $a3, $at, .L8008D34C
|
|
/* 08DF44 8008D344 00000000 */ nop
|
|
/* 08DF48 8008D348 00003025 */ move $a2, $zero
|
|
.L8008D34C:
|
|
/* 08DF4C 8008D34C 04C00004 */ bltz $a2, .L8008D360
|
|
/* 08DF50 8008D350 2401FFFF */ li $at, -1
|
|
/* 08DF54 8008D354 54E10003 */ bnel $a3, $at, .L8008D364
|
|
/* 08DF58 8008D358 86080078 */ lh $t0, 0x78($s0)
|
|
/* 08DF5C 8008D35C 00003025 */ move $a2, $zero
|
|
.L8008D360:
|
|
/* 08DF60 8008D360 86080078 */ lh $t0, 0x78($s0)
|
|
.L8008D364:
|
|
/* 08DF64 8008D364 00064880 */ sll $t1, $a2, 2
|
|
/* 08DF68 8008D368 01264821 */ addu $t1, $t1, $a2
|
|
/* 08DF6C 8008D36C 00094880 */ sll $t1, $t1, 2
|
|
/* 08DF70 8008D370 01095021 */ addu $t2, $t0, $t1
|
|
/* 08DF74 8008D374 A60A0078 */ sh $t2, 0x78($s0)
|
|
/* 08DF78 8008D378 E60000B8 */ swc1 $f0, 0xb8($s0)
|
|
/* 08DF7C 8008D37C A60300B4 */ sh $v1, 0xb4($s0)
|
|
/* 08DF80 8008D380 11600006 */ beqz $t3, .L8008D39C
|
|
/* 08DF84 8008D384 A60700AC */ sh $a3, 0xac($s0)
|
|
/* 08DF88 8008D388 0C0231CF */ jal func_8008C73C
|
|
/* 08DF8C 8008D38C 83A50037 */ lb $a1, 0x37($sp)
|
|
/* 08DF90 8008D390 860C0044 */ lh $t4, 0x44($s0)
|
|
/* 08DF94 8008D394 318DBFFF */ andi $t5, $t4, 0xbfff
|
|
/* 08DF98 8008D398 A60D0044 */ sh $t5, 0x44($s0)
|
|
.L8008D39C:
|
|
/* 08DF9C 8008D39C 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* 08DFA0 8008D3A0 8FB00018 */ lw $s0, 0x18($sp)
|
|
/* 08DFA4 8008D3A4 27BD0030 */ addiu $sp, $sp, 0x30
|
|
/* 08DFA8 8008D3A8 03E00008 */ jr $ra
|
|
/* 08DFAC 8008D3AC 00000000 */ nop
|
|
|
|
glabel func_8008D3B0
|
|
/* 08DFB0 8008D3B0 AFA50004 */ sw $a1, 4($sp)
|
|
/* 08DFB4 8008D3B4 848E0044 */ lh $t6, 0x44($a0)
|
|
/* 08DFB8 8008D3B8 31CFBFFF */ andi $t7, $t6, 0xbfff
|
|
/* 08DFBC 8008D3BC 03E00008 */ jr $ra
|
|
/* 08DFC0 8008D3C0 A48F0044 */ sh $t7, 0x44($a0)
|
|
|
|
glabel func_8008D3C4
|
|
/* 08DFC4 8008D3C4 27BDFFD8 */ addiu $sp, $sp, -0x28
|
|
/* 08DFC8 8008D3C8 AFA5002C */ sw $a1, 0x2c($sp)
|
|
/* 08DFCC 8008D3CC 00057600 */ sll $t6, $a1, 0x18
|
|
/* 08DFD0 8008D3D0 000E2E03 */ sra $a1, $t6, 0x18
|
|
/* 08DFD4 8008D3D4 AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* 08DFD8 8008D3D8 AFB00018 */ sw $s0, 0x18($sp)
|
|
/* 08DFDC 8008D3DC 00808025 */ move $s0, $a0
|
|
/* 08DFE0 8008D3E0 0C0230D5 */ jal func_8008C354
|
|
/* 08DFE4 8008D3E4 A3A5002F */ sb $a1, 0x2f($sp)
|
|
/* 08DFE8 8008D3E8 8E08000C */ lw $t0, 0xc($s0)
|
|
/* 08DFEC 8008D3EC 2401FDFF */ li $at, -513
|
|
/* 08DFF0 8008D3F0 8E1800BC */ lw $t8, 0xbc($s0)
|
|
/* 08DFF4 8008D3F4 01014824 */ and $t1, $t0, $at
|
|
/* 08DFF8 8008D3F8 83A5002F */ lb $a1, 0x2f($sp)
|
|
/* 08DFFC 8008D3FC 3C014100 */ li $at, 0x41000000 # 8.000000
|
|
/* 08E000 8008D400 44812000 */ mtc1 $at, $f4
|
|
/* 08E004 8008D404 37192000 */ ori $t9, $t8, 0x2000
|
|
/* 08E008 8008D408 AE1900BC */ sw $t9, 0xbc($s0)
|
|
/* 08E00C 8008D40C AE09000C */ sw $t1, 0xc($s0)
|
|
/* 08E010 8008D410 A6000DB4 */ sh $zero, 0xdb4($s0)
|
|
/* 08E014 8008D414 3C0A8016 */ lui $t2, %hi(D_8015F890) # $t2, 0x8016
|
|
/* 08E018 8008D418 E6040DBC */ swc1 $f4, 0xdbc($s0)
|
|
/* 08E01C 8008D41C 954AF890 */ lhu $t2, %lo(D_8015F890)($t2)
|
|
/* 08E020 8008D420 24010001 */ li $at, 1
|
|
/* 08E024 8008D424 3C0D800E */ lui $t5, %hi(D_800DC4DC) # $t5, 0x800e
|
|
/* 08E028 8008D428 11410011 */ beq $t2, $at, .L8008D470
|
|
/* 08E02C 8008D42C 00000000 */ nop
|
|
/* 08E030 8008D430 96020000 */ lhu $v0, ($s0)
|
|
/* 08E034 8008D434 24014000 */ li $at, 16384
|
|
/* 08E038 8008D438 304B4000 */ andi $t3, $v0, 0x4000
|
|
/* 08E03C 8008D43C 15610016 */ bne $t3, $at, .L8008D498
|
|
/* 08E040 8008D440 304C0100 */ andi $t4, $v0, 0x100
|
|
/* 08E044 8008D444 24010100 */ li $at, 256
|
|
/* 08E048 8008D448 11810013 */ beq $t4, $at, .L8008D498
|
|
/* 08E04C 8008D44C 30A400FF */ andi $a0, $a1, 0xff
|
|
/* 08E050 8008D450 0C032494 */ jal func_800C9250
|
|
/* 08E054 8008D454 AFA40024 */ sw $a0, 0x24($sp)
|
|
/* 08E058 8008D458 3C051900 */ lui $a1, (0x1900A40B >> 16) # lui $a1, 0x1900
|
|
/* 08E05C 8008D45C 8FA40024 */ lw $a0, 0x24($sp)
|
|
/* 08E060 8008D460 0C032418 */ jal func_800C9060
|
|
/* 08E064 8008D464 34A5A40B */ ori $a1, (0x1900A40B & 0xFFFF) # ori $a1, $a1, 0xa40b
|
|
/* 08E068 8008D468 1000000C */ b .L8008D49C
|
|
/* 08E06C 8008D46C 240E0050 */ li $t6, 80
|
|
.L8008D470:
|
|
/* 08E070 8008D470 8DADC4DC */ lw $t5, %lo(D_800DC4DC)($t5)
|
|
/* 08E074 8008D474 30A400FF */ andi $a0, $a1, 0xff
|
|
/* 08E078 8008D478 560D0008 */ bnel $s0, $t5, .L8008D49C
|
|
/* 08E07C 8008D47C 240E0050 */ li $t6, 80
|
|
/* 08E080 8008D480 0C032494 */ jal func_800C9250
|
|
/* 08E084 8008D484 AFA40024 */ sw $a0, 0x24($sp)
|
|
/* 08E088 8008D488 3C051900 */ lui $a1, (0x1900A40B >> 16) # lui $a1, 0x1900
|
|
/* 08E08C 8008D48C 8FA40024 */ lw $a0, 0x24($sp)
|
|
/* 08E090 8008D490 0C032418 */ jal func_800C9060
|
|
/* 08E094 8008D494 34A5A40B */ ori $a1, (0x1900A40B & 0xFFFF) # ori $a1, $a1, 0xa40b
|
|
.L8008D498:
|
|
/* 08E098 8008D498 240E0050 */ li $t6, 80
|
|
.L8008D49C:
|
|
/* 08E09C 8008D49C A60E00DC */ sh $t6, 0xdc($s0)
|
|
/* 08E0A0 8008D4A0 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* 08E0A4 8008D4A4 8FB00018 */ lw $s0, 0x18($sp)
|
|
/* 08E0A8 8008D4A8 27BD0028 */ addiu $sp, $sp, 0x28
|
|
/* 08E0AC 8008D4AC 03E00008 */ jr $ra
|
|
/* 08E0B0 8008D4B0 00000000 */ nop
|
|
|
|
glabel func_8008D4B4
|
|
/* 08E0B4 8008D4B4 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 08E0B8 8008D4B8 AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 08E0BC 8008D4BC 848200DC */ lh $v0, 0xdc($a0)
|
|
/* 08E0C0 8008D4C0 C4840214 */ lwc1 $f4, 0x214($a0)
|
|
/* 08E0C4 8008D4C4 00803825 */ move $a3, $a0
|
|
/* 08E0C8 8008D4C8 18400004 */ blez $v0, .L8008D4DC
|
|
/* 08E0CC 8008D4CC E484009C */ swc1 $f4, 0x9c($a0)
|
|
/* 08E0D0 8008D4D0 244EFFFF */ addiu $t6, $v0, -1
|
|
/* 08E0D4 8008D4D4 A48E00DC */ sh $t6, 0xdc($a0)
|
|
/* 08E0D8 8008D4D8 848200DC */ lh $v0, 0xdc($a0)
|
|
.L8008D4DC:
|
|
/* 08E0DC 8008D4DC 10400008 */ beqz $v0, .L8008D500
|
|
/* 08E0E0 8008D4E0 24E40080 */ addiu $a0, $a3, 0x80
|
|
/* 08E0E4 8008D4E4 24E40080 */ addiu $a0, $a3, 0x80
|
|
/* 08E0E8 8008D4E8 3C0543C8 */ lui $a1, 0x43c8
|
|
/* 08E0EC 8008D4EC 3C063F00 */ lui $a2, 0x3f00
|
|
/* 08E0F0 8008D4F0 0C008973 */ jal func_800225CC
|
|
/* 08E0F4 8008D4F4 AFA70018 */ sw $a3, 0x18($sp)
|
|
/* 08E0F8 8008D4F8 10000007 */ b .L8008D518
|
|
/* 08E0FC 8008D4FC 8FA70018 */ lw $a3, 0x18($sp)
|
|
.L8008D500:
|
|
/* 08E100 8008D500 3C063DCC */ lui $a2, (0x3DCCCCCD >> 16) # lui $a2, 0x3dcc
|
|
/* 08E104 8008D504 34C6CCCD */ ori $a2, (0x3DCCCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd
|
|
/* 08E108 8008D508 24050000 */ li $a1, 0
|
|
/* 08E10C 8008D50C 0C008973 */ jal func_800225CC
|
|
/* 08E110 8008D510 AFA70018 */ sw $a3, 0x18($sp)
|
|
/* 08E114 8008D514 8FA70018 */ lw $a3, 0x18($sp)
|
|
.L8008D518:
|
|
/* 08E118 8008D518 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
|
/* 08E11C 8008D51C 44813000 */ mtc1 $at, $f6
|
|
/* 08E120 8008D520 C4E80080 */ lwc1 $f8, 0x80($a3)
|
|
/* 08E124 8008D524 4606403E */ c.le.s $f8, $f6
|
|
/* 08E128 8008D528 00000000 */ nop
|
|
/* 08E12C 8008D52C 45020006 */ bc1fl .L8008D548
|
|
/* 08E130 8008D530 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 08E134 8008D534 8CEF00BC */ lw $t7, 0xbc($a3)
|
|
/* 08E138 8008D538 2401DFFF */ li $at, -8193
|
|
/* 08E13C 8008D53C 01E1C024 */ and $t8, $t7, $at
|
|
/* 08E140 8008D540 ACF800BC */ sw $t8, 0xbc($a3)
|
|
/* 08E144 8008D544 8FBF0014 */ lw $ra, 0x14($sp)
|
|
.L8008D548:
|
|
/* 08E148 8008D548 27BD0018 */ addiu $sp, $sp, 0x18
|
|
/* 08E14C 8008D54C 03E00008 */ jr $ra
|
|
/* 08E150 8008D550 00000000 */ nop
|
|
|
|
glabel func_8008D554
|
|
/* 08E154 8008D554 8C8E00BC */ lw $t6, 0xbc($a0)
|
|
/* 08E158 8008D558 44802000 */ mtc1 $zero, $f4
|
|
/* 08E15C 8008D55C 2401DFFF */ li $at, -8193
|
|
/* 08E160 8008D560 01C17824 */ and $t7, $t6, $at
|
|
/* 08E164 8008D564 AC8F00BC */ sw $t7, 0xbc($a0)
|
|
/* 08E168 8008D568 03E00008 */ jr $ra
|
|
/* 08E16C 8008D56C E4840080 */ swc1 $f4, 0x80($a0)
|
|
|
|
glabel func_8008D570
|
|
/* 08E170 8008D570 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 08E174 8008D574 AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 08E178 8008D578 AFA5001C */ sw $a1, 0x1c($sp)
|
|
/* 08E17C 8008D57C 83A5001F */ lb $a1, 0x1f($sp)
|
|
/* 08E180 8008D580 0C0230D5 */ jal func_8008C354
|
|
/* 08E184 8008D584 AFA40018 */ sw $a0, 0x18($sp)
|
|
/* 08E188 8008D588 8FA60018 */ lw $a2, 0x18($sp)
|
|
/* 08E18C 8008D58C 3C010008 */ lui $at, 8
|
|
/* 08E190 8008D590 83A7001F */ lb $a3, 0x1f($sp)
|
|
/* 08E194 8008D594 8CCF00BC */ lw $t7, 0xbc($a2)
|
|
/* 08E198 8008D598 8CC9000C */ lw $t1, 0xc($a2)
|
|
/* 08E19C 8008D59C 94C20254 */ lhu $v0, 0x254($a2)
|
|
/* 08E1A0 8008D5A0 01E1C025 */ or $t8, $t7, $at
|
|
/* 08E1A4 8008D5A4 2401FFEF */ li $at, -17
|
|
/* 08E1A8 8008D5A8 03014024 */ and $t0, $t8, $at
|
|
/* 08E1AC 8008D5AC 84CE002E */ lh $t6, 0x2e($a2)
|
|
/* 08E1B0 8008D5B0 2401EFFF */ li $at, -4097
|
|
/* 08E1B4 8008D5B4 01215024 */ and $t2, $t1, $at
|
|
/* 08E1B8 8008D5B8 3C01800E */ lui $at, %hi(D_800E3730)
|
|
/* 08E1BC 8008D5BC ACD800BC */ sw $t8, 0xbc($a2)
|
|
/* 08E1C0 8008D5C0 00025880 */ sll $t3, $v0, 2
|
|
/* 08E1C4 8008D5C4 002B0821 */ addu $at, $at, $t3
|
|
/* 08E1C8 8008D5C8 ACC800BC */ sw $t0, 0xbc($a2)
|
|
/* 08E1CC 8008D5CC ACCA000C */ sw $t2, 0xc($a2)
|
|
/* 08E1D0 8008D5D0 A4CE00AE */ sh $t6, 0xae($a2)
|
|
/* 08E1D4 8008D5D4 C4243730 */ lwc1 $f4, %lo(D_800E3730)($at)
|
|
/* 08E1D8 8008D5D8 44803000 */ mtc1 $zero, $f6
|
|
/* 08E1DC 8008D5DC 3C01800E */ lui $at, %hi(D_800E3710)
|
|
/* 08E1E0 8008D5E0 002B0821 */ addu $at, $at, $t3
|
|
/* 08E1E4 8008D5E4 E4C400F0 */ swc1 $f4, 0xf0($a2)
|
|
/* 08E1E8 8008D5E8 E4C600F4 */ swc1 $f6, 0xf4($a2)
|
|
/* 08E1EC 8008D5EC C4283710 */ lwc1 $f8, %lo(D_800E3710)($at)
|
|
/* 08E1F0 8008D5F0 240C0001 */ li $t4, 1
|
|
/* 08E1F4 8008D5F4 3C018019 */ lui $at, %hi(D_8018D920) # 0x8019
|
|
/* 08E1F8 8008D5F8 00076840 */ sll $t5, $a3, 1
|
|
/* 08E1FC 8008D5FC 002D0821 */ addu $at, $at, $t5
|
|
/* 08E200 8008D600 A4CC00B2 */ sh $t4, 0xb2($a2)
|
|
/* 08E204 8008D604 A4C000C0 */ sh $zero, 0xc0($a2)
|
|
/* 08E208 8008D608 ACC0007C */ sw $zero, 0x7c($a2)
|
|
/* 08E20C 8008D60C A4C00078 */ sh $zero, 0x78($a2)
|
|
/* 08E210 8008D610 E4C800EC */ swc1 $f8, 0xec($a2)
|
|
/* 08E214 8008D614 A420D920 */ sh $zero, %lo(D_8018D920)($at) # -0x26e0($at)
|
|
/* 08E218 8008D618 94C30000 */ lhu $v1, ($a2)
|
|
/* 08E21C 8008D61C 24014000 */ li $at, 16384
|
|
/* 08E220 8008D620 30644000 */ andi $a0, $v1, 0x4000
|
|
/* 08E224 8008D624 1481000C */ bne $a0, $at, .L8008D658
|
|
/* 08E228 8008D628 306E0100 */ andi $t6, $v1, 0x100
|
|
/* 08E22C 8008D62C 24010100 */ li $at, 256
|
|
/* 08E230 8008D630 11C10009 */ beq $t6, $at, .L8008D658
|
|
/* 08E234 8008D634 3C051900 */ lui $a1, (0x19008002 >> 16) # lui $a1, 0x1900
|
|
/* 08E238 8008D638 30E400FF */ andi $a0, $a3, 0xff
|
|
/* 08E23C 8008D63C 34A58002 */ ori $a1, (0x19008002 & 0xFFFF) # ori $a1, $a1, 0x8002
|
|
/* 08E240 8008D640 0C032418 */ jal func_800C9060
|
|
/* 08E244 8008D644 AFA60018 */ sw $a2, 0x18($sp)
|
|
/* 08E248 8008D648 8FA60018 */ lw $a2, 0x18($sp)
|
|
/* 08E24C 8008D64C 83A7001F */ lb $a3, 0x1f($sp)
|
|
/* 08E250 8008D650 94C30000 */ lhu $v1, ($a2)
|
|
/* 08E254 8008D654 30644000 */ andi $a0, $v1, 0x4000
|
|
.L8008D658:
|
|
/* 08E258 8008D658 24014000 */ li $at, 16384
|
|
/* 08E25C 8008D65C 1481000A */ bne $a0, $at, .L8008D688
|
|
/* 08E260 8008D660 306F0100 */ andi $t7, $v1, 0x100
|
|
/* 08E264 8008D664 24010100 */ li $at, 256
|
|
/* 08E268 8008D668 11E10007 */ beq $t7, $at, .L8008D688
|
|
/* 08E26C 8008D66C 30E400FF */ andi $a0, $a3, 0xff
|
|
/* 08E270 8008D670 94C50254 */ lhu $a1, 0x254($a2)
|
|
/* 08E274 8008D674 3C012900 */ lui $at, (0x2900800C >> 16) # lui $at, 0x2900
|
|
/* 08E278 8008D678 3421800C */ ori $at, (0x2900800C & 0xFFFF) # ori $at, $at, 0x800c
|
|
/* 08E27C 8008D67C 0005C100 */ sll $t8, $a1, 4
|
|
/* 08E280 8008D680 0C03243D */ jal func_800C90F4
|
|
/* 08E284 8008D684 03012821 */ addu $a1, $t8, $at
|
|
.L8008D688:
|
|
/* 08E288 8008D688 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 08E28C 8008D68C 27BD0018 */ addiu $sp, $sp, 0x18
|
|
/* 08E290 8008D690 03E00008 */ jr $ra
|
|
/* 08E294 8008D694 00000000 */ nop
|
|
|
|
glabel func_8008D698
|
|
/* 08E298 8008D698 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 08E29C 8008D69C AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 08E2A0 8008D6A0 AFA5001C */ sw $a1, 0x1c($sp)
|
|
/* 08E2A4 8008D6A4 849800B2 */ lh $t8, 0xb2($a0)
|
|
/* 08E2A8 8008D6A8 00057600 */ sll $t6, $a1, 0x18
|
|
/* 08E2AC 8008D6AC 000E2E03 */ sra $a1, $t6, 0x18
|
|
/* 08E2B0 8008D6B0 17000005 */ bnez $t8, .L8008D6C8
|
|
/* 08E2B4 8008D6B4 00055040 */ sll $t2, $a1, 1
|
|
/* 08E2B8 8008D6B8 849900AE */ lh $t9, 0xae($a0)
|
|
/* 08E2BC 8008D6BC 00001825 */ move $v1, $zero
|
|
/* 08E2C0 8008D6C0 10000010 */ b .L8008D704
|
|
/* 08E2C4 8008D6C4 A499002E */ sh $t9, 0x2e($a0)
|
|
.L8008D6C8:
|
|
/* 08E2C8 8008D6C8 8488002E */ lh $t0, 0x2e($a0)
|
|
/* 08E2CC 8008D6CC 3C0B8019 */ lui $t3, %hi(D_8018D920) # $t3, 0x8019
|
|
/* 08E2D0 8008D6D0 256BD920 */ addiu $t3, %lo(D_8018D920) # addiu $t3, $t3, -0x26e0
|
|
/* 08E2D4 8008D6D4 2509F8E4 */ addiu $t1, $t0, -0x71c
|
|
/* 08E2D8 8008D6D8 A489002E */ sh $t1, 0x2e($a0)
|
|
/* 08E2DC 8008D6DC 014B1021 */ addu $v0, $t2, $t3
|
|
/* 08E2E0 8008D6E0 844C0000 */ lh $t4, ($v0)
|
|
/* 08E2E4 8008D6E4 2401071C */ li $at, 1820
|
|
/* 08E2E8 8008D6E8 258DF8E4 */ addiu $t5, $t4, -0x71c
|
|
/* 08E2EC 8008D6EC 31A3FFFF */ andi $v1, $t5, 0xffff
|
|
/* 08E2F0 8008D6F0 0061001A */ div $zero, $v1, $at
|
|
/* 08E2F4 8008D6F4 00007012 */ mflo $t6
|
|
/* 08E2F8 8008D6F8 000E7C00 */ sll $t7, $t6, 0x10
|
|
/* 08E2FC 8008D6FC A44D0000 */ sh $t5, ($v0)
|
|
/* 08E300 8008D700 000F1C03 */ sra $v1, $t7, 0x10
|
|
.L8008D704:
|
|
/* 08E304 8008D704 54600013 */ bnel $v1, $zero, .L8008D754
|
|
/* 08E308 8008D708 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 08E30C 8008D70C 849900B2 */ lh $t9, 0xb2($a0)
|
|
/* 08E310 8008D710 2728FFFF */ addiu $t0, $t9, -1
|
|
/* 08E314 8008D714 A48800B2 */ sh $t0, 0xb2($a0)
|
|
/* 08E318 8008D718 848200B2 */ lh $v0, 0xb2($a0)
|
|
/* 08E31C 8008D71C 1C400003 */ bgtz $v0, .L8008D72C
|
|
/* 08E320 8008D720 00000000 */ nop
|
|
/* 08E324 8008D724 A48000B2 */ sh $zero, 0xb2($a0)
|
|
/* 08E328 8008D728 848200B2 */ lh $v0, 0xb2($a0)
|
|
.L8008D72C:
|
|
/* 08E32C 8008D72C 54400009 */ bnel $v0, $zero, .L8008D754
|
|
/* 08E330 8008D730 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 08E334 8008D734 8C8900BC */ lw $t1, 0xbc($a0)
|
|
/* 08E338 8008D738 24010008 */ li $at, 8
|
|
/* 08E33C 8008D73C 312A0008 */ andi $t2, $t1, 8
|
|
/* 08E340 8008D740 51410004 */ beql $t2, $at, .L8008D754
|
|
/* 08E344 8008D744 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 08E348 8008D748 0C0235D8 */ jal func_8008D760
|
|
/* 08E34C 8008D74C 00000000 */ nop
|
|
/* 08E350 8008D750 8FBF0014 */ lw $ra, 0x14($sp)
|
|
.L8008D754:
|
|
/* 08E354 8008D754 27BD0018 */ addiu $sp, $sp, 0x18
|
|
/* 08E358 8008D758 03E00008 */ jr $ra
|
|
/* 08E35C 8008D75C 00000000 */ nop
|
|
|
|
glabel func_8008D760
|
|
/* 08E360 8008D760 8C8F00BC */ lw $t7, 0xbc($a0)
|
|
/* 08E364 8008D764 94990254 */ lhu $t9, 0x254($a0)
|
|
/* 08E368 8008D768 3C01FFF7 */ lui $at, (0xFFF7FFFF >> 16) # lui $at, 0xfff7
|
|
/* 08E36C 8008D76C 848E00AE */ lh $t6, 0xae($a0)
|
|
/* 08E370 8008D770 3421FFFF */ ori $at, (0xFFF7FFFF & 0xFFFF) # ori $at, $at, 0xffff
|
|
/* 08E374 8008D774 01E1C024 */ and $t8, $t7, $at
|
|
/* 08E378 8008D778 94890000 */ lhu $t1, ($a0)
|
|
/* 08E37C 8008D77C 3C01800E */ lui $at, %hi(gKartGravityTable)
|
|
/* 08E380 8008D780 00194080 */ sll $t0, $t9, 2
|
|
/* 08E384 8008D784 A48000A8 */ sh $zero, 0xa8($a0)
|
|
/* 08E388 8008D788 AC80007C */ sw $zero, 0x7c($a0)
|
|
/* 08E38C 8008D78C A48000C0 */ sh $zero, 0xc0($a0)
|
|
/* 08E390 8008D790 AC9800BC */ sw $t8, 0xbc($a0)
|
|
/* 08E394 8008D794 00280821 */ addu $at, $at, $t0
|
|
/* 08E398 8008D798 A48E002E */ sh $t6, 0x2e($a0)
|
|
/* 08E39C 8008D79C C4242650 */ lwc1 $f4, %lo(gKartGravityTable)($at)
|
|
/* 08E3A0 8008D7A0 312AFF7F */ andi $t2, $t1, 0xff7f
|
|
/* 08E3A4 8008D7A4 A48A0000 */ sh $t2, ($a0)
|
|
/* 08E3A8 8008D7A8 03E00008 */ jr $ra
|
|
/* 08E3AC 8008D7AC E4840100 */ swc1 $f4, 0x100($a0)
|
|
|
|
glabel func_8008D7B0
|
|
/* 08E3B0 8008D7B0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 08E3B4 8008D7B4 AFA5001C */ sw $a1, 0x1c($sp)
|
|
/* 08E3B8 8008D7B8 00A07025 */ move $t6, $a1
|
|
/* 08E3BC 8008D7BC 000E2E00 */ sll $a1, $t6, 0x18
|
|
/* 08E3C0 8008D7C0 AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 08E3C4 8008D7C4 00057E03 */ sra $t7, $a1, 0x18
|
|
/* 08E3C8 8008D7C8 01E02825 */ move $a1, $t7
|
|
/* 08E3CC 8008D7CC A3AE001F */ sb $t6, 0x1f($sp)
|
|
/* 08E3D0 8008D7D0 0C0230D5 */ jal func_8008C354
|
|
/* 08E3D4 8008D7D4 AFA40018 */ sw $a0, 0x18($sp)
|
|
/* 08E3D8 8008D7D8 8FA60018 */ lw $a2, 0x18($sp)
|
|
/* 08E3DC 8008D7DC 3C010080 */ lui $at, 0x80
|
|
/* 08E3E0 8008D7E0 83A7001F */ lb $a3, 0x1f($sp)
|
|
/* 08E3E4 8008D7E4 8CD900BC */ lw $t9, 0xbc($a2)
|
|
/* 08E3E8 8008D7E8 8CCB000C */ lw $t3, 0xc($a2)
|
|
/* 08E3EC 8008D7EC 94C20254 */ lhu $v0, 0x254($a2)
|
|
/* 08E3F0 8008D7F0 03214025 */ or $t0, $t9, $at
|
|
/* 08E3F4 8008D7F4 2401FFEF */ li $at, -17
|
|
/* 08E3F8 8008D7F8 01015024 */ and $t2, $t0, $at
|
|
/* 08E3FC 8008D7FC 3C01FFFD */ lui $at, (0xFFFDFFFF >> 16) # lui $at, 0xfffd
|
|
/* 08E400 8008D800 84D8002E */ lh $t8, 0x2e($a2)
|
|
/* 08E404 8008D804 3421FFFF */ ori $at, (0xFFFDFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
|
/* 08E408 8008D808 01616024 */ and $t4, $t3, $at
|
|
/* 08E40C 8008D80C 3C01800E */ lui $at, %hi(D_800E3770)
|
|
/* 08E410 8008D810 ACC800BC */ sw $t0, 0xbc($a2)
|
|
/* 08E414 8008D814 00026880 */ sll $t5, $v0, 2
|
|
/* 08E418 8008D818 002D0821 */ addu $at, $at, $t5
|
|
/* 08E41C 8008D81C ACCA00BC */ sw $t2, 0xbc($a2)
|
|
/* 08E420 8008D820 ACCC000C */ sw $t4, 0xc($a2)
|
|
/* 08E424 8008D824 A4D800AE */ sh $t8, 0xae($a2)
|
|
/* 08E428 8008D828 C4243770 */ lwc1 $f4, %lo(D_800E3770)($at)
|
|
/* 08E42C 8008D82C 44803000 */ mtc1 $zero, $f6
|
|
/* 08E430 8008D830 3C01800E */ lui $at, %hi(D_800E3750)
|
|
/* 08E434 8008D834 002D0821 */ addu $at, $at, $t5
|
|
/* 08E438 8008D838 E4C400F0 */ swc1 $f4, 0xf0($a2)
|
|
/* 08E43C 8008D83C E4C600F4 */ swc1 $f6, 0xf4($a2)
|
|
/* 08E440 8008D840 C4283750 */ lwc1 $f8, %lo(D_800E3750)($at)
|
|
/* 08E444 8008D844 3C018019 */ lui $at, %hi(D_8018D920) # 0x8019
|
|
/* 08E448 8008D848 00077040 */ sll $t6, $a3, 1
|
|
/* 08E44C 8008D84C 002E0821 */ addu $at, $at, $t6
|
|
/* 08E450 8008D850 E4C800EC */ swc1 $f8, 0xec($a2)
|
|
/* 08E454 8008D854 A420D920 */ sh $zero, %lo(D_8018D920)($at) # -0x26e0($at)
|
|
/* 08E458 8008D858 94C30000 */ lhu $v1, ($a2)
|
|
/* 08E45C 8008D85C 240F0004 */ li $t7, 4
|
|
/* 08E460 8008D860 24014000 */ li $at, 16384
|
|
/* 08E464 8008D864 30784000 */ andi $t8, $v1, 0x4000
|
|
/* 08E468 8008D868 A4CF00B2 */ sh $t7, 0xb2($a2)
|
|
/* 08E46C 8008D86C A4C000C0 */ sh $zero, 0xc0($a2)
|
|
/* 08E470 8008D870 ACC0007C */ sw $zero, 0x7c($a2)
|
|
/* 08E474 8008D874 1701000B */ bne $t8, $at, .L8008D8A4
|
|
/* 08E478 8008D878 A4C00078 */ sh $zero, 0x78($a2)
|
|
/* 08E47C 8008D87C 30790100 */ andi $t9, $v1, 0x100
|
|
/* 08E480 8008D880 24010100 */ li $at, 256
|
|
/* 08E484 8008D884 13210007 */ beq $t9, $at, .L8008D8A4
|
|
/* 08E488 8008D888 30E400FF */ andi $a0, $a3, 0xff
|
|
/* 08E48C 8008D88C 94C50254 */ lhu $a1, 0x254($a2)
|
|
/* 08E490 8008D890 3C012900 */ lui $at, (0x29008003 >> 16) # lui $at, 0x2900
|
|
/* 08E494 8008D894 34218003 */ ori $at, (0x29008003 & 0xFFFF) # ori $at, $at, 0x8003
|
|
/* 08E498 8008D898 00054100 */ sll $t0, $a1, 4
|
|
/* 08E49C 8008D89C 0C03243D */ jal func_800C90F4
|
|
/* 08E4A0 8008D8A0 01012821 */ addu $a1, $t0, $at
|
|
.L8008D8A4:
|
|
/* 08E4A4 8008D8A4 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 08E4A8 8008D8A8 27BD0018 */ addiu $sp, $sp, 0x18
|
|
/* 08E4AC 8008D8AC 03E00008 */ jr $ra
|
|
/* 08E4B0 8008D8B0 00000000 */ nop
|
|
|
|
glabel func_8008D8B4
|
|
/* 08E4B4 8008D8B4 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 08E4B8 8008D8B8 AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 08E4BC 8008D8BC AFA5001C */ sw $a1, 0x1c($sp)
|
|
/* 08E4C0 8008D8C0 849800B2 */ lh $t8, 0xb2($a0)
|
|
/* 08E4C4 8008D8C4 00057600 */ sll $t6, $a1, 0x18
|
|
/* 08E4C8 8008D8C8 000E2E03 */ sra $a1, $t6, 0x18
|
|
/* 08E4CC 8008D8CC 17000005 */ bnez $t8, .L8008D8E4
|
|
/* 08E4D0 8008D8D0 00055040 */ sll $t2, $a1, 1
|
|
/* 08E4D4 8008D8D4 849900AE */ lh $t9, 0xae($a0)
|
|
/* 08E4D8 8008D8D8 00001825 */ move $v1, $zero
|
|
/* 08E4DC 8008D8DC 10000010 */ b .L8008D920
|
|
/* 08E4E0 8008D8E0 A499002E */ sh $t9, 0x2e($a0)
|
|
.L8008D8E4:
|
|
/* 08E4E4 8008D8E4 8488002E */ lh $t0, 0x2e($a0)
|
|
/* 08E4E8 8008D8E8 3C0B8019 */ lui $t3, %hi(D_8018D920) # $t3, 0x8019
|
|
/* 08E4EC 8008D8EC 256BD920 */ addiu $t3, %lo(D_8018D920) # addiu $t3, $t3, -0x26e0
|
|
/* 08E4F0 8008D8F0 2509F8E4 */ addiu $t1, $t0, -0x71c
|
|
/* 08E4F4 8008D8F4 A489002E */ sh $t1, 0x2e($a0)
|
|
/* 08E4F8 8008D8F8 014B1021 */ addu $v0, $t2, $t3
|
|
/* 08E4FC 8008D8FC 844C0000 */ lh $t4, ($v0)
|
|
/* 08E500 8008D900 2401071C */ li $at, 1820
|
|
/* 08E504 8008D904 258DF8E4 */ addiu $t5, $t4, -0x71c
|
|
/* 08E508 8008D908 31A3FFFF */ andi $v1, $t5, 0xffff
|
|
/* 08E50C 8008D90C 0061001A */ div $zero, $v1, $at
|
|
/* 08E510 8008D910 00007012 */ mflo $t6
|
|
/* 08E514 8008D914 000E7C00 */ sll $t7, $t6, 0x10
|
|
/* 08E518 8008D918 A44D0000 */ sh $t5, ($v0)
|
|
/* 08E51C 8008D91C 000F1C03 */ sra $v1, $t7, 0x10
|
|
.L8008D920:
|
|
/* 08E520 8008D920 54600013 */ bnel $v1, $zero, .L8008D970
|
|
/* 08E524 8008D924 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 08E528 8008D928 849900B2 */ lh $t9, 0xb2($a0)
|
|
/* 08E52C 8008D92C 2728FFFF */ addiu $t0, $t9, -1
|
|
/* 08E530 8008D930 A48800B2 */ sh $t0, 0xb2($a0)
|
|
/* 08E534 8008D934 848200B2 */ lh $v0, 0xb2($a0)
|
|
/* 08E538 8008D938 1C400003 */ bgtz $v0, .L8008D948
|
|
/* 08E53C 8008D93C 00000000 */ nop
|
|
/* 08E540 8008D940 A48000B2 */ sh $zero, 0xb2($a0)
|
|
/* 08E544 8008D944 848200B2 */ lh $v0, 0xb2($a0)
|
|
.L8008D948:
|
|
/* 08E548 8008D948 54400009 */ bnel $v0, $zero, .L8008D970
|
|
/* 08E54C 8008D94C 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 08E550 8008D950 8C8900BC */ lw $t1, 0xbc($a0)
|
|
/* 08E554 8008D954 24010008 */ li $at, 8
|
|
/* 08E558 8008D958 312A0008 */ andi $t2, $t1, 8
|
|
/* 08E55C 8008D95C 51410004 */ beql $t2, $at, .L8008D970
|
|
/* 08E560 8008D960 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 08E564 8008D964 0C02365F */ jal func_8008D97C
|
|
/* 08E568 8008D968 00000000 */ nop
|
|
/* 08E56C 8008D96C 8FBF0014 */ lw $ra, 0x14($sp)
|
|
.L8008D970:
|
|
/* 08E570 8008D970 27BD0018 */ addiu $sp, $sp, 0x18
|
|
/* 08E574 8008D974 03E00008 */ jr $ra
|
|
/* 08E578 8008D978 00000000 */ nop
|
|
|
|
glabel func_8008D97C
|
|
/* 08E57C 8008D97C 8C8F00BC */ lw $t7, 0xbc($a0)
|
|
/* 08E580 8008D980 94990254 */ lhu $t9, 0x254($a0)
|
|
/* 08E584 8008D984 3C01FF7F */ lui $at, (0xFF7FFFFF >> 16) # lui $at, 0xff7f
|
|
/* 08E588 8008D988 848E00AE */ lh $t6, 0xae($a0)
|
|
/* 08E58C 8008D98C 3421FFFF */ ori $at, (0xFF7FFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
|
/* 08E590 8008D990 01E1C024 */ and $t8, $t7, $at
|
|
/* 08E594 8008D994 3C01800E */ lui $at, %hi(gKartGravityTable)
|
|
/* 08E598 8008D998 00194080 */ sll $t0, $t9, 2
|
|
/* 08E59C 8008D99C A48000A8 */ sh $zero, 0xa8($a0)
|
|
/* 08E5A0 8008D9A0 AC80007C */ sw $zero, 0x7c($a0)
|
|
/* 08E5A4 8008D9A4 A48000C0 */ sh $zero, 0xc0($a0)
|
|
/* 08E5A8 8008D9A8 AC9800BC */ sw $t8, 0xbc($a0)
|
|
/* 08E5AC 8008D9AC 00280821 */ addu $at, $at, $t0
|
|
/* 08E5B0 8008D9B0 A48E002E */ sh $t6, 0x2e($a0)
|
|
/* 08E5B4 8008D9B4 C4242650 */ lwc1 $f4, %lo(gKartGravityTable)($at)
|
|
/* 08E5B8 8008D9B8 03E00008 */ jr $ra
|
|
/* 08E5BC 8008D9BC E4840100 */ swc1 $f4, 0x100($a0)
|
|
|
|
glabel func_8008D9C0
|
|
/* 08E5C0 8008D9C0 3C01430C */ li $at, 0x430C0000 # 140.000000
|
|
/* 08E5C4 8008D9C4 44810000 */ mtc1 $at, $f0
|
|
/* 08E5C8 8008D9C8 3C014100 */ li $at, 0x41000000 # 8.000000
|
|
/* 08E5CC 8008D9CC 44813000 */ mtc1 $at, $f6
|
|
/* 08E5D0 8008D9D0 C4840DA0 */ lwc1 $f4, 0xda0($a0)
|
|
/* 08E5D4 8008D9D4 46062200 */ add.s $f8, $f4, $f6
|
|
/* 08E5D8 8008D9D8 E4880DA0 */ swc1 $f8, 0xda0($a0)
|
|
/* 08E5DC 8008D9DC C48A0DA0 */ lwc1 $f10, 0xda0($a0)
|
|
/* 08E5E0 8008D9E0 460A003E */ c.le.s $f0, $f10
|
|
/* 08E5E4 8008D9E4 00000000 */ nop
|
|
/* 08E5E8 8008D9E8 45020003 */ bc1fl .L8008D9F8
|
|
/* 08E5EC 8008D9EC 848E0D98 */ lh $t6, 0xd98($a0)
|
|
/* 08E5F0 8008D9F0 E4800DA0 */ swc1 $f0, 0xda0($a0)
|
|
/* 08E5F4 8008D9F4 848E0D98 */ lh $t6, 0xd98($a0)
|
|
.L8008D9F8:
|
|
/* 08E5F8 8008D9F8 24010001 */ li $at, 1
|
|
/* 08E5FC 8008D9FC 55C10017 */ bnel $t6, $at, .L8008DA5C
|
|
/* 08E600 8008DA00 84990D98 */ lh $t9, 0xd98($a0)
|
|
/* 08E604 8008DA04 C4900D9C */ lwc1 $f16, 0xd9c($a0)
|
|
/* 08E608 8008DA08 C4920DA0 */ lwc1 $f18, 0xda0($a0)
|
|
/* 08E60C 8008DA0C 3C01800F */ lui $at, %hi(D_800EF568) # $at, 0x800f
|
|
/* 08E610 8008DA10 46128100 */ add.s $f4, $f16, $f18
|
|
/* 08E614 8008DA14 E4840D9C */ swc1 $f4, 0xd9c($a0)
|
|
/* 08E618 8008DA18 C428F568 */ lwc1 $f8, %lo(D_800EF568)($at)
|
|
/* 08E61C 8008DA1C C4860D9C */ lwc1 $f6, 0xd9c($a0)
|
|
/* 08E620 8008DA20 4606403E */ c.le.s $f8, $f6
|
|
/* 08E624 8008DA24 00000000 */ nop
|
|
/* 08E628 8008DA28 4502000C */ bc1fl .L8008DA5C
|
|
/* 08E62C 8008DA2C 84990D98 */ lh $t9, 0xd98($a0)
|
|
/* 08E630 8008DA30 848F0D98 */ lh $t7, 0xd98($a0)
|
|
/* 08E634 8008DA34 2402FFFF */ li $v0, -1
|
|
/* 08E638 8008DA38 3C014120 */ li $at, 0x41200000 # 10.000000
|
|
/* 08E63C 8008DA3C 01E20019 */ multu $t7, $v0
|
|
/* 08E640 8008DA40 44815000 */ mtc1 $at, $f10
|
|
/* 08E644 8008DA44 00000000 */ nop
|
|
/* 08E648 8008DA48 E48A0DA0 */ swc1 $f10, 0xda0($a0)
|
|
/* 08E64C 8008DA4C 0000C012 */ mflo $t8
|
|
/* 08E650 8008DA50 A4980D98 */ sh $t8, 0xd98($a0)
|
|
/* 08E654 8008DA54 00000000 */ nop
|
|
/* 08E658 8008DA58 84990D98 */ lh $t9, 0xd98($a0)
|
|
.L8008DA5C:
|
|
/* 08E65C 8008DA5C 2402FFFF */ li $v0, -1
|
|
/* 08E660 8008DA60 14590014 */ bne $v0, $t9, .L8008DAB4
|
|
/* 08E664 8008DA64 00000000 */ nop
|
|
/* 08E668 8008DA68 C4900D9C */ lwc1 $f16, 0xd9c($a0)
|
|
/* 08E66C 8008DA6C C4920DA0 */ lwc1 $f18, 0xda0($a0)
|
|
/* 08E670 8008DA70 3C01800F */ lui $at, %hi(D_800EF56C) # $at, 0x800f
|
|
/* 08E674 8008DA74 46128101 */ sub.s $f4, $f16, $f18
|
|
/* 08E678 8008DA78 E4840D9C */ swc1 $f4, 0xd9c($a0)
|
|
/* 08E67C 8008DA7C C4880D9C */ lwc1 $f8, 0xd9c($a0)
|
|
/* 08E680 8008DA80 C426F56C */ lwc1 $f6, %lo(D_800EF56C)($at)
|
|
/* 08E684 8008DA84 4606403E */ c.le.s $f8, $f6
|
|
/* 08E688 8008DA88 00000000 */ nop
|
|
/* 08E68C 8008DA8C 45000009 */ bc1f .L8008DAB4
|
|
/* 08E690 8008DA90 00000000 */ nop
|
|
/* 08E694 8008DA94 84880D98 */ lh $t0, 0xd98($a0)
|
|
/* 08E698 8008DA98 3C014120 */ li $at, 0x41200000 # 10.000000
|
|
/* 08E69C 8008DA9C 44815000 */ mtc1 $at, $f10
|
|
/* 08E6A0 8008DAA0 01020019 */ multu $t0, $v0
|
|
/* 08E6A4 8008DAA4 E48A0DA0 */ swc1 $f10, 0xda0($a0)
|
|
/* 08E6A8 8008DAA8 00004812 */ mflo $t1
|
|
/* 08E6AC 8008DAAC A4890D98 */ sh $t1, 0xd98($a0)
|
|
/* 08E6B0 8008DAB0 00000000 */ nop
|
|
.L8008DAB4:
|
|
/* 08E6B4 8008DAB4 03E00008 */ jr $ra
|
|
/* 08E6B8 8008DAB8 00000000 */ nop
|
|
|
|
glabel func_8008DABC
|
|
/* 08E6BC 8008DABC 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 08E6C0 8008DAC0 AFA5001C */ sw $a1, 0x1c($sp)
|
|
/* 08E6C4 8008DAC4 00A07025 */ move $t6, $a1
|
|
/* 08E6C8 8008DAC8 000E2E00 */ sll $a1, $t6, 0x18
|
|
/* 08E6CC 8008DACC AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 08E6D0 8008DAD0 00057E03 */ sra $t7, $a1, 0x18
|
|
/* 08E6D4 8008DAD4 01E02825 */ move $a1, $t7
|
|
/* 08E6D8 8008DAD8 A3AE001F */ sb $t6, 0x1f($sp)
|
|
/* 08E6DC 8008DADC 0C0230D5 */ jal func_8008C354
|
|
/* 08E6E0 8008DAE0 AFA40018 */ sw $a0, 0x18($sp)
|
|
/* 08E6E4 8008DAE4 8FA60018 */ lw $a2, 0x18($sp)
|
|
/* 08E6E8 8008DAE8 83A7001F */ lb $a3, 0x1f($sp)
|
|
/* 08E6EC 8008DAEC 3C080400 */ lui $t0, 0x400
|
|
/* 08E6F0 8008DAF0 8CD800BC */ lw $t8, 0xbc($a2)
|
|
/* 08E6F4 8008DAF4 24030001 */ li $v1, 1
|
|
/* 08E6F8 8008DAF8 3C014090 */ li $at, 0x40900000 # 4.500000
|
|
/* 08E6FC 8008DAFC 0018C940 */ sll $t9, $t8, 5
|
|
/* 08E700 8008DB00 0720003D */ bltz $t9, .L8008DBF8
|
|
/* 08E704 8008DB04 00074880 */ sll $t1, $a3, 2
|
|
/* 08E708 8008DB08 44812000 */ mtc1 $at, $f4
|
|
/* 08E70C 8008DB0C 3C018019 */ lui $at, %hi(D_8018D990) # 0x8019
|
|
/* 08E710 8008DB10 A4C00DB6 */ sh $zero, 0xdb6($a2)
|
|
/* 08E714 8008DB14 A4C00238 */ sh $zero, 0x238($a2)
|
|
/* 08E718 8008DB18 00290821 */ addu $at, $at, $t1
|
|
/* 08E71C 8008DB1C E4C40DC4 */ swc1 $f4, 0xdc4($a2)
|
|
/* 08E720 8008DB20 AC20D990 */ sw $zero, %lo(D_8018D990)($at) # -0x2670($at)
|
|
/* 08E724 8008DB24 8CCA00BC */ lw $t2, 0xbc($a2)
|
|
/* 08E728 8008DB28 3C01F7FF */ lui $at, (0xF7FFFFEF >> 16) # lui $at, 0xf7ff
|
|
/* 08E72C 8008DB2C 3421FFEF */ ori $at, (0xF7FFFFEF & 0xFFFF) # ori $at, $at, 0xffef
|
|
/* 08E730 8008DB30 3C0D8016 */ lui $t5, %hi(D_80165190) # $t5, 0x8016
|
|
/* 08E734 8008DB34 25AD5190 */ addiu $t5, %lo(D_80165190) # addiu $t5, $t5, 0x5190
|
|
/* 08E738 8008DB38 00076040 */ sll $t4, $a3, 1
|
|
/* 08E73C 8008DB3C 01415824 */ and $t3, $t2, $at
|
|
/* 08E740 8008DB40 ACCB00BC */ sw $t3, 0xbc($a2)
|
|
/* 08E744 8008DB44 018D1021 */ addu $v0, $t4, $t5
|
|
/* 08E748 8008DB48 A4430000 */ sh $v1, ($v0)
|
|
/* 08E74C 8008DB4C A4430010 */ sh $v1, 0x10($v0)
|
|
/* 08E750 8008DB50 A4430020 */ sh $v1, 0x20($v0)
|
|
/* 08E754 8008DB54 A4430030 */ sh $v1, 0x30($v0)
|
|
/* 08E758 8008DB58 8CCE000C */ lw $t6, 0xc($a2)
|
|
/* 08E75C 8008DB5C 3C014282 */ li $at, 0x42820000 # 65.000000
|
|
/* 08E760 8008DB60 44803000 */ mtc1 $zero, $f6
|
|
/* 08E764 8008DB64 44814000 */ mtc1 $at, $f8
|
|
/* 08E768 8008DB68 31CF0100 */ andi $t7, $t6, 0x100
|
|
/* 08E76C 8008DB6C A4C30D98 */ sh $v1, 0xd98($a2)
|
|
/* 08E770 8008DB70 E4C60D9C */ swc1 $f6, 0xd9c($a2)
|
|
/* 08E774 8008DB74 11E00004 */ beqz $t7, .L8008DB88
|
|
/* 08E778 8008DB78 E4C80DA0 */ swc1 $f8, 0xda0($a2)
|
|
/* 08E77C 8008DB7C 94D80046 */ lhu $t8, 0x46($a2)
|
|
/* 08E780 8008DB80 37190080 */ ori $t9, $t8, 0x80
|
|
/* 08E784 8008DB84 A4D90046 */ sh $t9, 0x46($a2)
|
|
.L8008DB88:
|
|
/* 08E788 8008DB88 94C20000 */ lhu $v0, ($a2)
|
|
/* 08E78C 8008DB8C 30494000 */ andi $t1, $v0, 0x4000
|
|
/* 08E790 8008DB90 51200012 */ beql $t1, $zero, .L8008DBDC
|
|
/* 08E794 8008DB94 8CCD00BC */ lw $t5, 0xbc($a2)
|
|
/* 08E798 8008DB98 8CCA00BC */ lw $t2, 0xbc($a2)
|
|
/* 08E79C 8008DB9C 3C012900 */ lui $at, (0x29008005 >> 16) # lui $at, 0x2900
|
|
/* 08E7A0 8008DBA0 34218005 */ ori $at, (0x29008005 & 0xFFFF) # ori $at, $at, 0x8005
|
|
/* 08E7A4 8008DBA4 01485824 */ and $t3, $t2, $t0
|
|
/* 08E7A8 8008DBA8 1560000B */ bnez $t3, .L8008DBD8
|
|
/* 08E7AC 8008DBAC 30E400FF */ andi $a0, $a3, 0xff
|
|
/* 08E7B0 8008DBB0 94C50254 */ lhu $a1, 0x254($a2)
|
|
/* 08E7B4 8008DBB4 A3A7001F */ sb $a3, 0x1f($sp)
|
|
/* 08E7B8 8008DBB8 AFA60018 */ sw $a2, 0x18($sp)
|
|
/* 08E7BC 8008DBBC 00056100 */ sll $t4, $a1, 4
|
|
/* 08E7C0 8008DBC0 0C03243D */ jal func_800C90F4
|
|
/* 08E7C4 8008DBC4 01812821 */ addu $a1, $t4, $at
|
|
/* 08E7C8 8008DBC8 8FA60018 */ lw $a2, 0x18($sp)
|
|
/* 08E7CC 8008DBCC 83A7001F */ lb $a3, 0x1f($sp)
|
|
/* 08E7D0 8008DBD0 3C080400 */ lui $t0, 0x400
|
|
/* 08E7D4 8008DBD4 94C20000 */ lhu $v0, ($a2)
|
|
.L8008DBD8:
|
|
/* 08E7D8 8008DBD8 8CCD00BC */ lw $t5, 0xbc($a2)
|
|
.L8008DBDC:
|
|
/* 08E7DC 8008DBDC 304F1000 */ andi $t7, $v0, 0x1000
|
|
/* 08E7E0 8008DBE0 00E02025 */ move $a0, $a3
|
|
/* 08E7E4 8008DBE4 01A87025 */ or $t6, $t5, $t0
|
|
/* 08E7E8 8008DBE8 11E00003 */ beqz $t7, .L8008DBF8
|
|
/* 08E7EC 8008DBEC ACCE00BC */ sw $t6, 0xbc($a2)
|
|
/* 08E7F0 8008DBF0 0C00263F */ jal func_800098FC
|
|
/* 08E7F4 8008DBF4 00C02825 */ move $a1, $a2
|
|
.L8008DBF8:
|
|
/* 08E7F8 8008DBF8 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 08E7FC 8008DBFC 27BD0018 */ addiu $sp, $sp, 0x18
|
|
/* 08E800 8008DC00 03E00008 */ jr $ra
|
|
/* 08E804 8008DC04 00000000 */ nop
|
|
|
|
glabel func_8008DC08
|
|
/* 08E808 8008DC08 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 08E80C 8008DC0C AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 08E810 8008DC10 AFA5001C */ sw $a1, 0x1c($sp)
|
|
/* 08E814 8008DC14 3C014416 */ li $at, 0x44160000 # 600.000000
|
|
/* 08E818 8008DC18 44810000 */ mtc1 $at, $f0
|
|
/* 08E81C 8008DC1C C4840124 */ lwc1 $f4, 0x124($a0)
|
|
/* 08E820 8008DC20 44806000 */ mtc1 $zero, $f12
|
|
/* 08E824 8008DC24 00053E00 */ sll $a3, $a1, 0x18
|
|
/* 08E828 8008DC28 4604003E */ c.le.s $f0, $f4
|
|
/* 08E82C 8008DC2C 00077603 */ sra $t6, $a3, 0x18
|
|
/* 08E830 8008DC30 01C03825 */ move $a3, $t6
|
|
/* 08E834 8008DC34 00803025 */ move $a2, $a0
|
|
/* 08E838 8008DC38 A48000C2 */ sh $zero, 0xc2($a0)
|
|
/* 08E83C 8008DC3C A48000A8 */ sh $zero, 0xa8($a0)
|
|
/* 08E840 8008DC40 AC80007C */ sw $zero, 0x7c($a0)
|
|
/* 08E844 8008DC44 A48000C0 */ sh $zero, 0xc0($a0)
|
|
/* 08E848 8008DC48 E48C008C */ swc1 $f12, 0x8c($a0)
|
|
/* 08E84C 8008DC4C 45010004 */ bc1t .L8008DC60
|
|
/* 08E850 8008DC50 E48C009C */ swc1 $f12, 0x9c($a0)
|
|
/* 08E854 8008DC54 8C8F00BC */ lw $t7, 0xbc($a0)
|
|
/* 08E858 8008DC58 31F81000 */ andi $t8, $t7, 0x1000
|
|
/* 08E85C 8008DC5C 13000005 */ beqz $t8, .L8008DC74
|
|
.L8008DC60:
|
|
/* 08E860 8008DC60 0007C880 */ sll $t9, $a3, 2
|
|
/* 08E864 8008DC64 3C018019 */ lui $at, %hi(D_8018D990) # 0x8019
|
|
/* 08E868 8008DC68 00390821 */ addu $at, $at, $t9
|
|
/* 08E86C 8008DC6C 24050003 */ li $a1, 3
|
|
/* 08E870 8008DC70 AC25D990 */ sw $a1, %lo(D_8018D990)($at) # -0x2670($at)
|
|
.L8008DC74:
|
|
/* 08E874 8008DC74 3C098019 */ lui $t1, %hi(D_8018D990) # $t1, 0x8019
|
|
/* 08E878 8008DC78 2529D990 */ addiu $t1, %lo(D_8018D990) # addiu $t1, $t1, -0x2670
|
|
/* 08E87C 8008DC7C 00074080 */ sll $t0, $a3, 2
|
|
/* 08E880 8008DC80 01091821 */ addu $v1, $t0, $t1
|
|
/* 08E884 8008DC84 8C620000 */ lw $v0, ($v1)
|
|
/* 08E888 8008DC88 24050003 */ li $a1, 3
|
|
/* 08E88C 8008DC8C 24040001 */ li $a0, 1
|
|
/* 08E890 8008DC90 5040000B */ beql $v0, $zero, .L8008DCC0
|
|
/* 08E894 8008DC94 84C20238 */ lh $v0, 0x238($a2)
|
|
/* 08E898 8008DC98 10440037 */ beq $v0, $a0, .L8008DD78
|
|
/* 08E89C 8008DC9C 3C014090 */ lui $at, 0x4090
|
|
/* 08E8A0 8008DCA0 24010002 */ li $at, 2
|
|
/* 08E8A4 8008DCA4 50410070 */ beql $v0, $at, .L8008DE68
|
|
/* 08E8A8 8008DCA8 84CC0238 */ lh $t4, 0x238($a2)
|
|
/* 08E8AC 8008DCAC 1045008F */ beq $v0, $a1, .L8008DEEC
|
|
/* 08E8B0 8008DCB0 3C014040 */ li $at, 0x40400000 # 3.000000
|
|
/* 08E8B4 8008DCB4 100000B5 */ b .L8008DF8C
|
|
/* 08E8B8 8008DCB8 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 08E8BC 8008DCBC 84C20238 */ lh $v0, 0x238($a2)
|
|
.L8008DCC0:
|
|
/* 08E8C0 8008DCC0 3C014090 */ li $at, 0x40900000 # 4.500000
|
|
/* 08E8C4 8008DCC4 44813000 */ mtc1 $at, $f6
|
|
/* 08E8C8 8008DCC8 2841003D */ slti $at, $v0, 0x3d
|
|
/* 08E8CC 8008DCCC 10200003 */ beqz $at, .L8008DCDC
|
|
/* 08E8D0 8008DCD0 E4C60DC4 */ swc1 $f6, 0xdc4($a2)
|
|
/* 08E8D4 8008DCD4 244A0001 */ addiu $t2, $v0, 1
|
|
/* 08E8D8 8008DCD8 A4CA0238 */ sh $t2, 0x238($a2)
|
|
.L8008DCDC:
|
|
/* 08E8DC 8008DCDC 94CB0046 */ lhu $t3, 0x46($a2)
|
|
/* 08E8E0 8008DCE0 316C0080 */ andi $t4, $t3, 0x80
|
|
/* 08E8E4 8008DCE4 51800012 */ beql $t4, $zero, .L8008DD30
|
|
/* 08E8E8 8008DCE8 84D90238 */ lh $t9, 0x238($a2)
|
|
/* 08E8EC 8008DCEC 8CCD000C */ lw $t5, 0xc($a2)
|
|
/* 08E8F0 8008DCF0 24040001 */ li $a0, 1
|
|
/* 08E8F4 8008DCF4 31AE0100 */ andi $t6, $t5, 0x100
|
|
/* 08E8F8 8008DCF8 55C000A4 */ bnel $t6, $zero, .L8008DF8C
|
|
/* 08E8FC 8008DCFC 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 08E900 8008DD00 AC640000 */ sw $a0, ($v1)
|
|
/* 08E904 8008DD04 94CF0000 */ lhu $t7, ($a2)
|
|
/* 08E908 8008DD08 A4C00238 */ sh $zero, 0x238($a2)
|
|
/* 08E90C 8008DD0C 30E400FF */ andi $a0, $a3, 0xff
|
|
/* 08E910 8008DD10 31F84000 */ andi $t8, $t7, 0x4000
|
|
/* 08E914 8008DD14 1300009C */ beqz $t8, .L8008DF88
|
|
/* 08E918 8008DD18 3C051901 */ lui $a1, (0x1901904B >> 16) # lui $a1, 0x1901
|
|
/* 08E91C 8008DD1C 0C032418 */ jal func_800C9060
|
|
/* 08E920 8008DD20 34A5904B */ ori $a1, (0x1901904B & 0xFFFF) # ori $a1, $a1, 0x904b
|
|
/* 08E924 8008DD24 10000099 */ b .L8008DF8C
|
|
/* 08E928 8008DD28 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 08E92C 8008DD2C 84D90238 */ lh $t9, 0x238($a2)
|
|
.L8008DD30:
|
|
/* 08E930 8008DD30 24040001 */ li $a0, 1
|
|
/* 08E934 8008DD34 27280001 */ addiu $t0, $t9, 1
|
|
/* 08E938 8008DD38 A4C80238 */ sh $t0, 0x238($a2)
|
|
/* 08E93C 8008DD3C 84C90238 */ lh $t1, 0x238($a2)
|
|
/* 08E940 8008DD40 2921001E */ slti $at, $t1, 0x1e
|
|
/* 08E944 8008DD44 54200091 */ bnel $at, $zero, .L8008DF8C
|
|
/* 08E948 8008DD48 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 08E94C 8008DD4C AC640000 */ sw $a0, ($v1)
|
|
/* 08E950 8008DD50 94CA0000 */ lhu $t2, ($a2)
|
|
/* 08E954 8008DD54 A4C00238 */ sh $zero, 0x238($a2)
|
|
/* 08E958 8008DD58 30E400FF */ andi $a0, $a3, 0xff
|
|
/* 08E95C 8008DD5C 314B4000 */ andi $t3, $t2, 0x4000
|
|
/* 08E960 8008DD60 11600089 */ beqz $t3, .L8008DF88
|
|
/* 08E964 8008DD64 3C051901 */ lui $a1, (0x1901904B >> 16) # lui $a1, 0x1901
|
|
/* 08E968 8008DD68 0C032418 */ jal func_800C9060
|
|
/* 08E96C 8008DD6C 34A5904B */ ori $a1, (0x1901904B & 0xFFFF) # ori $a1, $a1, 0x904b
|
|
/* 08E970 8008DD70 10000086 */ b .L8008DF8C
|
|
/* 08E974 8008DD74 8FBF0014 */ lw $ra, 0x14($sp)
|
|
.L8008DD78:
|
|
/* 08E978 8008DD78 44814000 */ mtc1 $at, $f8
|
|
/* 08E97C 8008DD7C C4CA0018 */ lwc1 $f10, 0x18($a2)
|
|
/* 08E980 8008DD80 3C01800F */ lui $at, %hi(D_800EF570)
|
|
/* 08E984 8008DD84 E4C80DC4 */ swc1 $f8, 0xdc4($a2)
|
|
/* 08E988 8008DD88 D432F570 */ ldc1 $f18, %lo(D_800EF570)($at)
|
|
/* 08E98C 8008DD8C 46005421 */ cvt.d.s $f16, $f10
|
|
/* 08E990 8008DD90 84CC0238 */ lh $t4, 0x238($a2)
|
|
/* 08E994 8008DD94 46328100 */ add.d $f4, $f16, $f18
|
|
/* 08E998 8008DD98 94CE0046 */ lhu $t6, 0x46($a2)
|
|
/* 08E99C 8008DD9C 258D0001 */ addiu $t5, $t4, 1
|
|
/* 08E9A0 8008DDA0 A4CD0238 */ sh $t5, 0x238($a2)
|
|
/* 08E9A4 8008DDA4 462021A0 */ cvt.s.d $f6, $f4
|
|
/* 08E9A8 8008DDA8 31CF0080 */ andi $t7, $t6, 0x80
|
|
/* 08E9AC 8008DDAC 11E0000C */ beqz $t7, .L8008DDE0
|
|
/* 08E9B0 8008DDB0 E4C60018 */ swc1 $f6, 0x18($a2)
|
|
/* 08E9B4 8008DDB4 84D80238 */ lh $t8, 0x238($a2)
|
|
/* 08E9B8 8008DDB8 24190002 */ li $t9, 2
|
|
/* 08E9BC 8008DDBC 2B010032 */ slti $at, $t8, 0x32
|
|
/* 08E9C0 8008DDC0 5420000F */ bnel $at, $zero, .L8008DE00
|
|
/* 08E9C4 8008DDC4 3C0142B4 */ lui $at, 0x42b4
|
|
/* 08E9C8 8008DDC8 AC790000 */ sw $t9, ($v1)
|
|
/* 08E9CC 8008DDCC 94C80046 */ lhu $t0, 0x46($a2)
|
|
/* 08E9D0 8008DDD0 A4C00238 */ sh $zero, 0x238($a2)
|
|
/* 08E9D4 8008DDD4 3109FF7F */ andi $t1, $t0, 0xff7f
|
|
/* 08E9D8 8008DDD8 10000008 */ b .L8008DDFC
|
|
/* 08E9DC 8008DDDC A4C90046 */ sh $t1, 0x46($a2)
|
|
.L8008DDE0:
|
|
/* 08E9E0 8008DDE0 84CA0238 */ lh $t2, 0x238($a2)
|
|
/* 08E9E4 8008DDE4 240B0002 */ li $t3, 2
|
|
/* 08E9E8 8008DDE8 29410050 */ slti $at, $t2, 0x50
|
|
/* 08E9EC 8008DDEC 54200004 */ bnel $at, $zero, .L8008DE00
|
|
/* 08E9F0 8008DDF0 3C0142B4 */ lui $at, 0x42b4
|
|
/* 08E9F4 8008DDF4 AC6B0000 */ sw $t3, ($v1)
|
|
/* 08E9F8 8008DDF8 A4C00238 */ sh $zero, 0x238($a2)
|
|
.L8008DDFC:
|
|
/* 08E9FC 8008DDFC 3C0142B4 */ li $at, 0x42B40000 # 90.000000
|
|
.L8008DE00:
|
|
/* 08EA00 8008DE00 44811000 */ mtc1 $at, $f2
|
|
/* 08EA04 8008DE04 3C0140C0 */ li $at, 0x40C00000 # 6.000000
|
|
/* 08EA08 8008DE08 44815000 */ mtc1 $at, $f10
|
|
/* 08EA0C 8008DE0C C4C80DA0 */ lwc1 $f8, 0xda0($a2)
|
|
/* 08EA10 8008DE10 460A4400 */ add.s $f16, $f8, $f10
|
|
/* 08EA14 8008DE14 E4D00DA0 */ swc1 $f16, 0xda0($a2)
|
|
/* 08EA18 8008DE18 C4C00DA0 */ lwc1 $f0, 0xda0($a2)
|
|
/* 08EA1C 8008DE1C 4600103E */ c.le.s $f2, $f0
|
|
/* 08EA20 8008DE20 00000000 */ nop
|
|
/* 08EA24 8008DE24 45020004 */ bc1fl .L8008DE38
|
|
/* 08EA28 8008DE28 C4D20D9C */ lwc1 $f18, 0xd9c($a2)
|
|
/* 08EA2C 8008DE2C E4C20DA0 */ swc1 $f2, 0xda0($a2)
|
|
/* 08EA30 8008DE30 C4C00DA0 */ lwc1 $f0, 0xda0($a2)
|
|
/* 08EA34 8008DE34 C4D20D9C */ lwc1 $f18, 0xd9c($a2)
|
|
.L8008DE38:
|
|
/* 08EA38 8008DE38 3C01800F */ lui $at, %hi(D_800EF578) # $at, 0x800f
|
|
/* 08EA3C 8008DE3C 46009100 */ add.s $f4, $f18, $f0
|
|
/* 08EA40 8008DE40 E4C40D9C */ swc1 $f4, 0xd9c($a2)
|
|
/* 08EA44 8008DE44 C428F578 */ lwc1 $f8, %lo(D_800EF578)($at)
|
|
/* 08EA48 8008DE48 C4C60D9C */ lwc1 $f6, 0xd9c($a2)
|
|
/* 08EA4C 8008DE4C 4606403E */ c.le.s $f8, $f6
|
|
/* 08EA50 8008DE50 00000000 */ nop
|
|
/* 08EA54 8008DE54 4502004D */ bc1fl .L8008DF8C
|
|
/* 08EA58 8008DE58 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 08EA5C 8008DE5C 1000004A */ b .L8008DF88
|
|
/* 08EA60 8008DE60 E4CC0DA0 */ swc1 $f12, 0xda0($a2)
|
|
/* 08EA64 8008DE64 84CC0238 */ lh $t4, 0x238($a2)
|
|
.L8008DE68:
|
|
/* 08EA68 8008DE68 258D0001 */ addiu $t5, $t4, 1
|
|
/* 08EA6C 8008DE6C A4CD0238 */ sh $t5, 0x238($a2)
|
|
/* 08EA70 8008DE70 84CE0238 */ lh $t6, 0x238($a2)
|
|
/* 08EA74 8008DE74 29C10259 */ slti $at, $t6, 0x259
|
|
/* 08EA78 8008DE78 54200004 */ bnel $at, $zero, .L8008DE8C
|
|
/* 08EA7C 8008DE7C C4CA0124 */ lwc1 $f10, 0x124($a2)
|
|
/* 08EA80 8008DE80 AC650000 */ sw $a1, ($v1)
|
|
/* 08EA84 8008DE84 A4C00238 */ sh $zero, 0x238($a2)
|
|
/* 08EA88 8008DE88 C4CA0124 */ lwc1 $f10, 0x124($a2)
|
|
.L8008DE8C:
|
|
/* 08EA8C 8008DE8C 3C014090 */ li $at, 0x40900000 # 4.500000
|
|
/* 08EA90 8008DE90 44818000 */ mtc1 $at, $f16
|
|
/* 08EA94 8008DE94 460A003E */ c.le.s $f0, $f10
|
|
/* 08EA98 8008DE98 3C01800F */ lui $at, %hi(D_800EF580)
|
|
/* 08EA9C 8008DE9C 45020003 */ bc1fl .L8008DEAC
|
|
/* 08EAA0 8008DEA0 C4D20018 */ lwc1 $f18, 0x18($a2)
|
|
/* 08EAA4 8008DEA4 AC650000 */ sw $a1, ($v1)
|
|
/* 08EAA8 8008DEA8 C4D20018 */ lwc1 $f18, 0x18($a2)
|
|
.L8008DEAC:
|
|
/* 08EAAC 8008DEAC E4D00DC4 */ swc1 $f16, 0xdc4($a2)
|
|
/* 08EAB0 8008DEB0 D426F580 */ ldc1 $f6, %lo(D_800EF580)($at)
|
|
/* 08EAB4 8008DEB4 46009121 */ cvt.d.s $f4, $f18
|
|
/* 08EAB8 8008DEB8 8CCF00BC */ lw $t7, 0xbc($a2)
|
|
/* 08EABC 8008DEBC 46262201 */ sub.d $f8, $f4, $f6
|
|
/* 08EAC0 8008DEC0 24010008 */ li $at, 8
|
|
/* 08EAC4 8008DEC4 31F80008 */ andi $t8, $t7, 8
|
|
/* 08EAC8 8008DEC8 462042A0 */ cvt.s.d $f10, $f8
|
|
/* 08EACC 8008DECC 13010003 */ beq $t8, $at, .L8008DEDC
|
|
/* 08EAD0 8008DED0 E4CA0018 */ swc1 $f10, 0x18($a2)
|
|
/* 08EAD4 8008DED4 AC650000 */ sw $a1, ($v1)
|
|
/* 08EAD8 8008DED8 A4C00238 */ sh $zero, 0x238($a2)
|
|
.L8008DEDC:
|
|
/* 08EADC 8008DEDC 0C023670 */ jal func_8008D9C0
|
|
/* 08EAE0 8008DEE0 00C02025 */ move $a0, $a2
|
|
/* 08EAE4 8008DEE4 10000029 */ b .L8008DF8C
|
|
/* 08EAE8 8008DEE8 8FBF0014 */ lw $ra, 0x14($sp)
|
|
.L8008DEEC:
|
|
/* 08EAEC 8008DEEC 44818000 */ mtc1 $at, $f16
|
|
/* 08EAF0 8008DEF0 8CD900BC */ lw $t9, 0xbc($a2)
|
|
/* 08EAF4 8008DEF4 3C01FBFF */ lui $at, (0xFBFFFFFF >> 16) # lui $at, 0xfbff
|
|
/* 08EAF8 8008DEF8 3421FFFF */ ori $at, (0xFBFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
|
/* 08EAFC 8008DEFC 03214024 */ and $t0, $t9, $at
|
|
/* 08EB00 8008DF00 3C010800 */ lui $at, 0x800
|
|
/* 08EB04 8008DF04 01015025 */ or $t2, $t0, $at
|
|
/* 08EB08 8008DF08 94CB0254 */ lhu $t3, 0x254($a2)
|
|
/* 08EB0C 8008DF0C 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
|
/* 08EB10 8008DF10 44819000 */ mtc1 $at, $f18
|
|
/* 08EB14 8008DF14 ACC800BC */ sw $t0, 0xbc($a2)
|
|
/* 08EB18 8008DF18 3C01800E */ lui $at, %hi(gKartBoundingBoxTable)
|
|
/* 08EB1C 8008DF1C 000B6080 */ sll $t4, $t3, 2
|
|
/* 08EB20 8008DF20 A4C00DB6 */ sh $zero, 0xdb6($a2)
|
|
/* 08EB24 8008DF24 ACCA00BC */ sw $t2, 0xbc($a2)
|
|
/* 08EB28 8008DF28 002C0821 */ addu $at, $at, $t4
|
|
/* 08EB2C 8008DF2C E4D00DC4 */ swc1 $f16, 0xdc4($a2)
|
|
/* 08EB30 8008DF30 E4D20224 */ swc1 $f18, 0x224($a2)
|
|
/* 08EB34 8008DF34 C42426B0 */ lwc1 $f4, %lo(gKartBoundingBoxTable)($at)
|
|
/* 08EB38 8008DF38 3C0E8016 */ lui $t6, %hi(D_80165190) # $t6, 0x8016
|
|
/* 08EB3C 8008DF3C 25CE5190 */ addiu $t6, %lo(D_80165190) # addiu $t6, $t6, 0x5190
|
|
/* 08EB40 8008DF40 00076840 */ sll $t5, $a3, 1
|
|
/* 08EB44 8008DF44 01AE1021 */ addu $v0, $t5, $t6
|
|
/* 08EB48 8008DF48 E4C40070 */ swc1 $f4, 0x70($a2)
|
|
/* 08EB4C 8008DF4C A4440000 */ sh $a0, ($v0)
|
|
/* 08EB50 8008DF50 A4440010 */ sh $a0, 0x10($v0)
|
|
/* 08EB54 8008DF54 A4440020 */ sh $a0, 0x20($v0)
|
|
/* 08EB58 8008DF58 A4440030 */ sh $a0, 0x30($v0)
|
|
/* 08EB5C 8008DF5C 94CF0000 */ lhu $t7, ($a2)
|
|
/* 08EB60 8008DF60 30E400FF */ andi $a0, $a3, 0xff
|
|
/* 08EB64 8008DF64 31F84000 */ andi $t8, $t7, 0x4000
|
|
/* 08EB68 8008DF68 53000008 */ beql $t8, $zero, .L8008DF8C
|
|
/* 08EB6C 8008DF6C 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 08EB70 8008DF70 94C50254 */ lhu $a1, 0x254($a2)
|
|
/* 08EB74 8008DF74 3C012900 */ lui $at, (0x29008008 >> 16) # lui $at, 0x2900
|
|
/* 08EB78 8008DF78 34218008 */ ori $at, (0x29008008 & 0xFFFF) # ori $at, $at, 0x8008
|
|
/* 08EB7C 8008DF7C 0005C900 */ sll $t9, $a1, 4
|
|
/* 08EB80 8008DF80 0C03243D */ jal func_800C90F4
|
|
/* 08EB84 8008DF84 03212821 */ addu $a1, $t9, $at
|
|
.L8008DF88:
|
|
/* 08EB88 8008DF88 8FBF0014 */ lw $ra, 0x14($sp)
|
|
.L8008DF8C:
|
|
/* 08EB8C 8008DF8C 27BD0018 */ addiu $sp, $sp, 0x18
|
|
/* 08EB90 8008DF90 03E00008 */ jr $ra
|
|
/* 08EB94 8008DF94 00000000 */ nop
|
|
|
|
glabel func_8008DF98
|
|
/* 08EB98 8008DF98 27BDFFE0 */ addiu $sp, $sp, -0x20
|
|
/* 08EB9C 8008DF9C AFB10018 */ sw $s1, 0x18($sp)
|
|
/* 08EBA0 8008DFA0 00058E00 */ sll $s1, $a1, 0x18
|
|
/* 08EBA4 8008DFA4 00117603 */ sra $t6, $s1, 0x18
|
|
/* 08EBA8 8008DFA8 AFA50024 */ sw $a1, 0x24($sp)
|
|
/* 08EBAC 8008DFAC 000E2E00 */ sll $a1, $t6, 0x18
|
|
/* 08EBB0 8008DFB0 AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* 08EBB4 8008DFB4 AFB00014 */ sw $s0, 0x14($sp)
|
|
/* 08EBB8 8008DFB8 00057E03 */ sra $t7, $a1, 0x18
|
|
/* 08EBBC 8008DFBC 00808025 */ move $s0, $a0
|
|
/* 08EBC0 8008DFC0 01C08825 */ move $s1, $t6
|
|
/* 08EBC4 8008DFC4 0C0230D5 */ jal func_8008C354
|
|
/* 08EBC8 8008DFC8 01E02825 */ move $a1, $t7
|
|
/* 08EBCC 8008DFCC 8E18000C */ lw $t8, 0xc($s0)
|
|
/* 08EBD0 8008DFD0 8E0800BC */ lw $t0, 0xbc($s0)
|
|
/* 08EBD4 8008DFD4 2401BFFF */ li $at, -16385
|
|
/* 08EBD8 8008DFD8 0301C824 */ and $t9, $t8, $at
|
|
/* 08EBDC 8008DFDC 3C014002 */ lui $at, 0x4002
|
|
/* 08EBE0 8008DFE0 01014825 */ or $t1, $t0, $at
|
|
/* 08EBE4 8008DFE4 2401FFEF */ li $at, -17
|
|
/* 08EBE8 8008DFE8 01215824 */ and $t3, $t1, $at
|
|
/* 08EBEC 8008DFEC C604008C */ lwc1 $f4, 0x8c($s0)
|
|
/* 08EBF0 8008DFF0 AE0900BC */ sw $t1, 0xbc($s0)
|
|
/* 08EBF4 8008DFF4 AE19000C */ sw $t9, 0xc($s0)
|
|
/* 08EBF8 8008DFF8 AE0B00BC */ sw $t3, 0xbc($s0)
|
|
/* 08EBFC 8008DFFC 3C01800F */ lui $at, %hi(D_800EF588)
|
|
/* 08EC00 8008E000 D428F588 */ ldc1 $f8, %lo(D_800EF588)($at)
|
|
/* 08EC04 8008E004 460021A1 */ cvt.d.s $f6, $f4
|
|
/* 08EC08 8008E008 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
|
/* 08EC0C 8008E00C 46283282 */ mul.d $f10, $f6, $f8
|
|
/* 08EC10 8008E010 44819000 */ mtc1 $at, $f18
|
|
/* 08EC14 8008E014 A60000B0 */ sh $zero, 0xb0($s0)
|
|
/* 08EC18 8008E018 3C01800E */ lui $at, %hi(gCourseTimer) # $at, 0x800e
|
|
/* 08EC1C 8008E01C E6120224 */ swc1 $f18, 0x224($s0)
|
|
/* 08EC20 8008E020 00117080 */ sll $t6, $s1, 2
|
|
/* 08EC24 8008E024 3C198016 */ lui $t9, %hi(D_80165190) # $t9, 0x8016
|
|
/* 08EC28 8008E028 24180002 */ li $t8, 2
|
|
/* 08EC2C 8008E02C 46205420 */ cvt.s.d $f16, $f10
|
|
/* 08EC30 8008E030 27395190 */ addiu $t9, %lo(D_80165190) # addiu $t9, $t9, 0x5190
|
|
/* 08EC34 8008E034 00111840 */ sll $v1, $s1, 1
|
|
/* 08EC38 8008E038 24050001 */ li $a1, 1
|
|
/* 08EC3C 8008E03C E610008C */ swc1 $f16, 0x8c($s0)
|
|
/* 08EC40 8008E040 C424C598 */ lwc1 $f4, %lo(gCourseTimer)($at)
|
|
/* 08EC44 8008E044 3C018019 */ lui $at, %hi(D_8018D930) # 0x8019
|
|
/* 08EC48 8008E048 002E0821 */ addu $at, $at, $t6
|
|
/* 08EC4C 8008E04C 4600218D */ trunc.w.s $f6, $f4
|
|
/* 08EC50 8008E050 00791021 */ addu $v0, $v1, $t9
|
|
/* 08EC54 8008E054 440D3000 */ mfc1 $t5, $f6
|
|
/* 08EC58 8008E058 00000000 */ nop
|
|
/* 08EC5C 8008E05C AC2DD930 */ sw $t5, %lo(D_8018D930)($at) # -0x26d0($at)
|
|
/* 08EC60 8008E060 860F002E */ lh $t7, 0x2e($s0)
|
|
/* 08EC64 8008E064 A61800B2 */ sh $t8, 0xb2($s0)
|
|
/* 08EC68 8008E068 A60000C0 */ sh $zero, 0xc0($s0)
|
|
/* 08EC6C 8008E06C AE00007C */ sw $zero, 0x7c($s0)
|
|
/* 08EC70 8008E070 A6000078 */ sh $zero, 0x78($s0)
|
|
/* 08EC74 8008E074 A60F00AE */ sh $t7, 0xae($s0)
|
|
/* 08EC78 8008E078 3C018019 */ lui $at, %hi(D_8018D920) # 0x8019
|
|
/* 08EC7C 8008E07C A4450000 */ sh $a1, ($v0)
|
|
/* 08EC80 8008E080 A4450010 */ sh $a1, 0x10($v0)
|
|
/* 08EC84 8008E084 A4450020 */ sh $a1, 0x20($v0)
|
|
/* 08EC88 8008E088 A4450030 */ sh $a1, 0x30($v0)
|
|
/* 08EC8C 8008E08C 00230821 */ addu $at, $at, $v1
|
|
/* 08EC90 8008E090 A420D920 */ sh $zero, %lo(D_8018D920)($at) # -0x26e0($at)
|
|
/* 08EC94 8008E094 96040000 */ lhu $a0, ($s0)
|
|
/* 08EC98 8008E098 24014000 */ li $at, 16384
|
|
/* 08EC9C 8008E09C 02002825 */ move $a1, $s0
|
|
/* 08ECA0 8008E0A0 30884000 */ andi $t0, $a0, 0x4000
|
|
/* 08ECA4 8008E0A4 1501000C */ bne $t0, $at, .L8008E0D8
|
|
/* 08ECA8 8008E0A8 30890100 */ andi $t1, $a0, 0x100
|
|
/* 08ECAC 8008E0AC 24010100 */ li $at, 256
|
|
/* 08ECB0 8008E0B0 11210009 */ beq $t1, $at, .L8008E0D8
|
|
/* 08ECB4 8008E0B4 322400FF */ andi $a0, $s1, 0xff
|
|
/* 08ECB8 8008E0B8 96050254 */ lhu $a1, 0x254($s0)
|
|
/* 08ECBC 8008E0BC 3C012900 */ lui $at, (0x29008003 >> 16) # lui $at, 0x2900
|
|
/* 08ECC0 8008E0C0 34218003 */ ori $at, (0x29008003 & 0xFFFF) # ori $at, $at, 0x8003
|
|
/* 08ECC4 8008E0C4 00055100 */ sll $t2, $a1, 4
|
|
/* 08ECC8 8008E0C8 0C03243D */ jal func_800C90F4
|
|
/* 08ECCC 8008E0CC 01412821 */ addu $a1, $t2, $at
|
|
/* 08ECD0 8008E0D0 10000003 */ b .L8008E0E0
|
|
/* 08ECD4 8008E0D4 00000000 */ nop
|
|
.L8008E0D8:
|
|
/* 08ECD8 8008E0D8 0C00263F */ jal func_800098FC
|
|
/* 08ECDC 8008E0DC 02202025 */ move $a0, $s1
|
|
.L8008E0E0:
|
|
/* 08ECE0 8008E0E0 3C0B800E */ lui $t3, %hi(gModeSelection) # $t3, 0x800e
|
|
/* 08ECE4 8008E0E4 8D6BC53C */ lw $t3, %lo(gModeSelection)($t3)
|
|
/* 08ECE8 8008E0E8 24010003 */ li $at, 3
|
|
/* 08ECEC 8008E0EC 02002025 */ move $a0, $s0
|
|
/* 08ECF0 8008E0F0 15610004 */ bne $t3, $at, .L8008E104
|
|
/* 08ECF4 8008E0F4 00112E00 */ sll $a1, $s1, 0x18
|
|
/* 08ECF8 8008E0F8 00056603 */ sra $t4, $a1, 0x18
|
|
/* 08ECFC 8008E0FC 0C01AE2D */ jal func_8006B8B4
|
|
/* 08ED00 8008E100 01802825 */ move $a1, $t4
|
|
.L8008E104:
|
|
/* 08ED04 8008E104 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* 08ED08 8008E108 8FB00014 */ lw $s0, 0x14($sp)
|
|
/* 08ED0C 8008E10C 8FB10018 */ lw $s1, 0x18($sp)
|
|
/* 08ED10 8008E110 03E00008 */ jr $ra
|
|
/* 08ED14 8008E114 27BD0020 */ addiu $sp, $sp, 0x20
|
|
|
|
glabel func_8008E118
|
|
/* 08ED18 8008E118 27BDFFE0 */ addiu $sp, $sp, -0x20
|
|
/* 08ED1C 8008E11C AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* 08ED20 8008E120 AFB00018 */ sw $s0, 0x18($sp)
|
|
/* 08ED24 8008E124 AFA50024 */ sw $a1, 0x24($sp)
|
|
/* 08ED28 8008E128 8C8200BC */ lw $v0, 0xbc($a0)
|
|
/* 08ED2C 8008E12C 00053600 */ sll $a2, $a1, 0x18
|
|
/* 08ED30 8008E130 00067603 */ sra $t6, $a2, 0x18
|
|
/* 08ED34 8008E134 34018000 */ li $at, 32768
|
|
/* 08ED38 8008E138 304F8000 */ andi $t7, $v0, 0x8000
|
|
/* 08ED3C 8008E13C 01C03025 */ move $a2, $t6
|
|
/* 08ED40 8008E140 15E10023 */ bne $t7, $at, .L8008E1D0
|
|
/* 08ED44 8008E144 00808025 */ move $s0, $a0
|
|
/* 08ED48 8008E148 3C030400 */ lui $v1, 0x400
|
|
/* 08ED4C 8008E14C 0043C024 */ and $t8, $v0, $v1
|
|
/* 08ED50 8008E150 1078001F */ beq $v1, $t8, .L8008E1D0
|
|
/* 08ED54 8008E154 3C01FFFD */ lui $at, (0xFFFDFFFF >> 16) # lui $at, 0xfffd
|
|
/* 08ED58 8008E158 848800AE */ lh $t0, 0xae($a0)
|
|
/* 08ED5C 8008E15C 3421FFFF */ ori $at, (0xFFFDFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
|
/* 08ED60 8008E160 0041C824 */ and $t9, $v0, $at
|
|
/* 08ED64 8008E164 000E2E00 */ sll $a1, $t6, 0x18
|
|
/* 08ED68 8008E168 AC9900BC */ sw $t9, 0xbc($a0)
|
|
/* 08ED6C 8008E16C A48000A8 */ sh $zero, 0xa8($a0)
|
|
/* 08ED70 8008E170 AC80007C */ sw $zero, 0x7c($a0)
|
|
/* 08ED74 8008E174 A48000C0 */ sh $zero, 0xc0($a0)
|
|
/* 08ED78 8008E178 00054E03 */ sra $t1, $a1, 0x18
|
|
/* 08ED7C 8008E17C A488002E */ sh $t0, 0x2e($a0)
|
|
/* 08ED80 8008E180 A3AE0027 */ sb $t6, 0x27($sp)
|
|
/* 08ED84 8008E184 0C0238F0 */ jal func_8008E3C0
|
|
/* 08ED88 8008E188 01202825 */ move $a1, $t1
|
|
/* 08ED8C 8008E18C 83A60027 */ lb $a2, 0x27($sp)
|
|
/* 08ED90 8008E190 3C0B8016 */ lui $t3, %hi(D_80165190) # $t3, 0x8016
|
|
/* 08ED94 8008E194 256B5190 */ addiu $t3, %lo(D_80165190) # addiu $t3, $t3, 0x5190
|
|
/* 08ED98 8008E198 00065040 */ sll $t2, $a2, 1
|
|
/* 08ED9C 8008E19C 24030001 */ li $v1, 1
|
|
/* 08EDA0 8008E1A0 014B1021 */ addu $v0, $t2, $t3
|
|
/* 08EDA4 8008E1A4 00062E00 */ sll $a1, $a2, 0x18
|
|
/* 08EDA8 8008E1A8 00056603 */ sra $t4, $a1, 0x18
|
|
/* 08EDAC 8008E1AC A4430000 */ sh $v1, ($v0)
|
|
/* 08EDB0 8008E1B0 A4430010 */ sh $v1, 0x10($v0)
|
|
/* 08EDB4 8008E1B4 A4430020 */ sh $v1, 0x20($v0)
|
|
/* 08EDB8 8008E1B8 A4430030 */ sh $v1, 0x30($v0)
|
|
/* 08EDBC 8008E1BC 01802825 */ move $a1, $t4
|
|
/* 08EDC0 8008E1C0 0C0236AF */ jal func_8008DABC
|
|
/* 08EDC4 8008E1C4 02002025 */ move $a0, $s0
|
|
/* 08EDC8 8008E1C8 10000079 */ b .L8008E3B0
|
|
/* 08EDCC 8008E1CC 8FBF001C */ lw $ra, 0x1c($sp)
|
|
.L8008E1D0:
|
|
/* 08EDD0 8008E1D0 3C030002 */ lui $v1, 2
|
|
/* 08EDD4 8008E1D4 00436824 */ and $t5, $v0, $v1
|
|
/* 08EDD8 8008E1D8 146D002D */ bne $v1, $t5, .L8008E290
|
|
/* 08EDDC 8008E1DC 00062040 */ sll $a0, $a2, 1
|
|
/* 08EDE0 8008E1E0 860E002E */ lh $t6, 0x2e($s0)
|
|
/* 08EDE4 8008E1E4 3C188019 */ lui $t8, %hi(D_8018D920) # $t8, 0x8019
|
|
/* 08EDE8 8008E1E8 2718D920 */ addiu $t8, %lo(D_8018D920) # addiu $t8, $t8, -0x26e0
|
|
/* 08EDEC 8008E1EC 25CFFA50 */ addiu $t7, $t6, -0x5b0
|
|
/* 08EDF0 8008E1F0 A60F002E */ sh $t7, 0x2e($s0)
|
|
/* 08EDF4 8008E1F4 00981021 */ addu $v0, $a0, $t8
|
|
/* 08EDF8 8008E1F8 84590000 */ lh $t9, ($v0)
|
|
/* 08EDFC 8008E1FC 240105B0 */ li $at, 1456
|
|
/* 08EE00 8008E200 3C053F80 */ lui $a1, 0x3f80
|
|
/* 08EE04 8008E204 2728FA50 */ addiu $t0, $t9, -0x5b0
|
|
/* 08EE08 8008E208 3103FFFF */ andi $v1, $t0, 0xffff
|
|
/* 08EE0C 8008E20C 0061001A */ div $zero, $v1, $at
|
|
/* 08EE10 8008E210 00004812 */ mflo $t1
|
|
/* 08EE14 8008E214 00095400 */ sll $t2, $t1, 0x10
|
|
/* 08EE18 8008E218 000A5C03 */ sra $t3, $t2, 0x10
|
|
/* 08EE1C 8008E21C 15600018 */ bnez $t3, .L8008E280
|
|
/* 08EE20 8008E220 A4480000 */ sh $t0, ($v0)
|
|
/* 08EE24 8008E224 860C00B2 */ lh $t4, 0xb2($s0)
|
|
/* 08EE28 8008E228 3C01FFFD */ lui $at, (0xFFFDFFFF >> 16) # lui $at, 0xfffd
|
|
/* 08EE2C 8008E22C 3C088016 */ lui $t0, %hi(D_80165190) # $t0, 0x8016
|
|
/* 08EE30 8008E230 258DFFFF */ addiu $t5, $t4, -1
|
|
/* 08EE34 8008E234 A60D00B2 */ sh $t5, 0xb2($s0)
|
|
/* 08EE38 8008E238 860E00B2 */ lh $t6, 0xb2($s0)
|
|
/* 08EE3C 8008E23C 24030001 */ li $v1, 1
|
|
/* 08EE40 8008E240 3421FFFF */ ori $at, (0xFFFDFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
|
/* 08EE44 8008E244 1DC0000E */ bgtz $t6, .L8008E280
|
|
/* 08EE48 8008E248 25085190 */ addiu $t0, %lo(D_80165190) # addiu $t0, $t0, 0x5190
|
|
/* 08EE4C 8008E24C 8E0F00BC */ lw $t7, 0xbc($s0)
|
|
/* 08EE50 8008E250 861900AE */ lh $t9, 0xae($s0)
|
|
/* 08EE54 8008E254 A60000A8 */ sh $zero, 0xa8($s0)
|
|
/* 08EE58 8008E258 01E1C024 */ and $t8, $t7, $at
|
|
/* 08EE5C 8008E25C AE1800BC */ sw $t8, 0xbc($s0)
|
|
/* 08EE60 8008E260 AE00007C */ sw $zero, 0x7c($s0)
|
|
/* 08EE64 8008E264 A60000C0 */ sh $zero, 0xc0($s0)
|
|
/* 08EE68 8008E268 00881021 */ addu $v0, $a0, $t0
|
|
/* 08EE6C 8008E26C A619002E */ sh $t9, 0x2e($s0)
|
|
/* 08EE70 8008E270 A4430000 */ sh $v1, ($v0)
|
|
/* 08EE74 8008E274 A4430010 */ sh $v1, 0x10($v0)
|
|
/* 08EE78 8008E278 A4430020 */ sh $v1, 0x20($v0)
|
|
/* 08EE7C 8008E27C A4430030 */ sh $v1, 0x30($v0)
|
|
.L8008E280:
|
|
/* 08EE80 8008E280 0C00C7D2 */ jal func_80031F48
|
|
/* 08EE84 8008E284 02002025 */ move $a0, $s0
|
|
/* 08EE88 8008E288 10000049 */ b .L8008E3B0
|
|
/* 08EE8C 8008E28C 8FBF001C */ lw $ra, 0x1c($sp)
|
|
.L8008E290:
|
|
/* 08EE90 8008E290 860900B0 */ lh $t1, 0xb0($s0)
|
|
/* 08EE94 8008E294 C604008C */ lwc1 $f4, 0x8c($s0)
|
|
/* 08EE98 8008E298 3C01800F */ lui $at, %hi(D_800EF590)
|
|
/* 08EE9C 8008E29C 252A0001 */ addiu $t2, $t1, 1
|
|
/* 08EEA0 8008E2A0 A60A00B0 */ sh $t2, 0xb0($s0)
|
|
/* 08EEA4 8008E2A4 D428F590 */ ldc1 $f8, %lo(D_800EF590)($at)
|
|
/* 08EEA8 8008E2A8 460021A1 */ cvt.d.s $f6, $f4
|
|
/* 08EEAC 8008E2AC 860200B0 */ lh $v0, 0xb0($s0)
|
|
/* 08EEB0 8008E2B0 46283282 */ mul.d $f10, $f6, $f8
|
|
/* 08EEB4 8008E2B4 24030001 */ li $v1, 1
|
|
/* 08EEB8 8008E2B8 46205420 */ cvt.s.d $f16, $f10
|
|
/* 08EEBC 8008E2BC 1462000F */ bne $v1, $v0, .L8008E2FC
|
|
/* 08EEC0 8008E2C0 E610008C */ swc1 $f16, 0x8c($s0)
|
|
/* 08EEC4 8008E2C4 960B0000 */ lhu $t3, ($s0)
|
|
/* 08EEC8 8008E2C8 30C400FF */ andi $a0, $a2, 0xff
|
|
/* 08EECC 8008E2CC 3C012900 */ lui $at, (0x29008005 >> 16) # lui $at, 0x2900
|
|
/* 08EED0 8008E2D0 316C4000 */ andi $t4, $t3, 0x4000
|
|
/* 08EED4 8008E2D4 11800009 */ beqz $t4, .L8008E2FC
|
|
/* 08EED8 8008E2D8 00000000 */ nop
|
|
/* 08EEDC 8008E2DC 96050254 */ lhu $a1, 0x254($s0)
|
|
/* 08EEE0 8008E2E0 34218005 */ ori $at, (0x29008005 & 0xFFFF) # ori $at, $at, 0x8005
|
|
/* 08EEE4 8008E2E4 A3A60027 */ sb $a2, 0x27($sp)
|
|
/* 08EEE8 8008E2E8 00056900 */ sll $t5, $a1, 4
|
|
/* 08EEEC 8008E2EC 0C03243D */ jal func_800C90F4
|
|
/* 08EEF0 8008E2F0 01A12821 */ addu $a1, $t5, $at
|
|
/* 08EEF4 8008E2F4 83A60027 */ lb $a2, 0x27($sp)
|
|
/* 08EEF8 8008E2F8 860200B0 */ lh $v0, 0xb0($s0)
|
|
.L8008E2FC:
|
|
/* 08EEFC 8008E2FC 0440001A */ bltz $v0, .L8008E368
|
|
/* 08EF00 8008E300 284101CC */ slti $at, $v0, 0x1cc
|
|
/* 08EF04 8008E304 10200018 */ beqz $at, .L8008E368
|
|
/* 08EF08 8008E308 26040224 */ addiu $a0, $s0, 0x224
|
|
/* 08EF0C 8008E30C 3C053F33 */ lui $a1, (0x3F333333 >> 16) # lui $a1, 0x3f33
|
|
/* 08EF10 8008E310 3C063DCC */ lui $a2, (0x3DCCCCCD >> 16) # lui $a2, 0x3dcc
|
|
/* 08EF14 8008E314 34C6CCCD */ ori $a2, (0x3DCCCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd
|
|
/* 08EF18 8008E318 0C008973 */ jal func_800225CC
|
|
/* 08EF1C 8008E31C 34A53333 */ ori $a1, (0x3F333333 & 0xFFFF) # ori $a1, $a1, 0x3333
|
|
/* 08EF20 8008E320 960E0254 */ lhu $t6, 0x254($s0)
|
|
/* 08EF24 8008E324 3C01800E */ lui $at, %hi(gKartBoundingBoxTable)
|
|
/* 08EF28 8008E328 3C063DCC */ lui $a2, (0x3DCCCCCD >> 16) # lui $a2, 0x3dcc
|
|
/* 08EF2C 8008E32C 000E7880 */ sll $t7, $t6, 2
|
|
/* 08EF30 8008E330 002F0821 */ addu $at, $at, $t7
|
|
/* 08EF34 8008E334 C43226B0 */ lwc1 $f18, %lo(gKartBoundingBoxTable)($at)
|
|
/* 08EF38 8008E338 3C01800F */ lui $at, %hi(D_800EF598)
|
|
/* 08EF3C 8008E33C D426F598 */ ldc1 $f6, %lo(D_800EF598)($at)
|
|
/* 08EF40 8008E340 46009121 */ cvt.d.s $f4, $f18
|
|
/* 08EF44 8008E344 34C6CCCD */ ori $a2, (0x3DCCCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd
|
|
/* 08EF48 8008E348 46262202 */ mul.d $f8, $f4, $f6
|
|
/* 08EF4C 8008E34C 26040070 */ addiu $a0, $s0, 0x70
|
|
/* 08EF50 8008E350 462042A0 */ cvt.s.d $f10, $f8
|
|
/* 08EF54 8008E354 44055000 */ mfc1 $a1, $f10
|
|
/* 08EF58 8008E358 0C008973 */ jal func_800225CC
|
|
/* 08EF5C 8008E35C 00000000 */ nop
|
|
/* 08EF60 8008E360 10000013 */ b .L8008E3B0
|
|
/* 08EF64 8008E364 8FBF001C */ lw $ra, 0x1c($sp)
|
|
.L8008E368:
|
|
/* 08EF68 8008E368 00062E00 */ sll $a1, $a2, 0x18
|
|
/* 08EF6C 8008E36C 0005C603 */ sra $t8, $a1, 0x18
|
|
/* 08EF70 8008E370 03002825 */ move $a1, $t8
|
|
/* 08EF74 8008E374 02002025 */ move $a0, $s0
|
|
/* 08EF78 8008E378 0C0238F0 */ jal func_8008E3C0
|
|
/* 08EF7C 8008E37C A3A60027 */ sb $a2, 0x27($sp)
|
|
/* 08EF80 8008E380 96190000 */ lhu $t9, ($s0)
|
|
/* 08EF84 8008E384 83A60027 */ lb $a2, 0x27($sp)
|
|
/* 08EF88 8008E388 33284000 */ andi $t0, $t9, 0x4000
|
|
/* 08EF8C 8008E38C 11000007 */ beqz $t0, .L8008E3AC
|
|
/* 08EF90 8008E390 30C400FF */ andi $a0, $a2, 0xff
|
|
/* 08EF94 8008E394 96050254 */ lhu $a1, 0x254($s0)
|
|
/* 08EF98 8008E398 3C012900 */ lui $at, (0x29008008 >> 16) # lui $at, 0x2900
|
|
/* 08EF9C 8008E39C 34218008 */ ori $at, (0x29008008 & 0xFFFF) # ori $at, $at, 0x8008
|
|
/* 08EFA0 8008E3A0 00054900 */ sll $t1, $a1, 4
|
|
/* 08EFA4 8008E3A4 0C03243D */ jal func_800C90F4
|
|
/* 08EFA8 8008E3A8 01212821 */ addu $a1, $t1, $at
|
|
.L8008E3AC:
|
|
/* 08EFAC 8008E3AC 8FBF001C */ lw $ra, 0x1c($sp)
|
|
.L8008E3B0:
|
|
/* 08EFB0 8008E3B0 8FB00018 */ lw $s0, 0x18($sp)
|
|
/* 08EFB4 8008E3B4 27BD0020 */ addiu $sp, $sp, 0x20
|
|
/* 08EFB8 8008E3B8 03E00008 */ jr $ra
|
|
/* 08EFBC 8008E3BC 00000000 */ nop
|
|
|
|
glabel func_8008E3C0
|
|
/* 08EFC0 8008E3C0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 08EFC4 8008E3C4 AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 08EFC8 8008E3C8 AFA5001C */ sw $a1, 0x1c($sp)
|
|
/* 08EFCC 8008E3CC 00803825 */ move $a3, $a0
|
|
/* 08EFD0 8008E3D0 3C063DCC */ lui $a2, (0x3DCCCCCD >> 16) # lui $a2, 0x3dcc
|
|
/* 08EFD4 8008E3D4 34C6CCCD */ ori $a2, (0x3DCCCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd
|
|
/* 08EFD8 8008E3D8 AFA70018 */ sw $a3, 0x18($sp)
|
|
/* 08EFDC 8008E3DC 24840224 */ addiu $a0, $a0, 0x224
|
|
/* 08EFE0 8008E3E0 0C008973 */ jal func_800225CC
|
|
/* 08EFE4 8008E3E4 3C053F80 */ lui $a1, 0x3f80
|
|
/* 08EFE8 8008E3E8 8FA70018 */ lw $a3, 0x18($sp)
|
|
/* 08EFEC 8008E3EC 3C05800E */ lui $a1, %hi(gKartBoundingBoxTable) # 0x800e
|
|
/* 08EFF0 8008E3F0 3C063DCC */ lui $a2, (0x3DCCCCCD >> 16) # lui $a2, 0x3dcc
|
|
/* 08EFF4 8008E3F4 94EE0254 */ lhu $t6, 0x254($a3)
|
|
/* 08EFF8 8008E3F8 34C6CCCD */ ori $a2, (0x3DCCCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd
|
|
/* 08EFFC 8008E3FC 24E40070 */ addiu $a0, $a3, 0x70
|
|
/* 08F000 8008E400 000E7880 */ sll $t7, $t6, 2
|
|
/* 08F004 8008E404 00AF2821 */ addu $a1, $a1, $t7
|
|
/* 08F008 8008E408 0C008973 */ jal func_800225CC
|
|
/* 08F00C 8008E40C 8CA526B0 */ lw $a1, %lo(gKartBoundingBoxTable)($a1) # 0x26b0($a1)
|
|
/* 08F010 8008E410 8FA70018 */ lw $a3, 0x18($sp)
|
|
/* 08F014 8008E414 3C01BFFF */ lui $at, (0xBFFFFFFF >> 16) # lui $at, 0xbfff
|
|
/* 08F018 8008E418 3421FFFF */ ori $at, (0xBFFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
|
/* 08F01C 8008E41C 8CF800BC */ lw $t8, 0xbc($a3)
|
|
/* 08F020 8008E420 94E80254 */ lhu $t0, 0x254($a3)
|
|
/* 08F024 8008E424 3C030002 */ lui $v1, 2
|
|
/* 08F028 8008E428 0301C824 */ and $t9, $t8, $at
|
|
/* 08F02C 8008E42C 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
|
/* 08F030 8008E430 44812000 */ mtc1 $at, $f4
|
|
/* 08F034 8008E434 3C01800E */ lui $at, %hi(gKartBoundingBoxTable)
|
|
/* 08F038 8008E438 00084880 */ sll $t1, $t0, 2
|
|
/* 08F03C 8008E43C 00290821 */ addu $at, $at, $t1
|
|
/* 08F040 8008E440 ACF900BC */ sw $t9, 0xbc($a3)
|
|
/* 08F044 8008E444 E4E40224 */ swc1 $f4, 0x224($a3)
|
|
/* 08F048 8008E448 C42626B0 */ lwc1 $f6, %lo(gKartBoundingBoxTable)($at)
|
|
/* 08F04C 8008E44C 3C014040 */ li $at, 0x40400000 # 3.000000
|
|
/* 08F050 8008E450 44814000 */ mtc1 $at, $f8
|
|
/* 08F054 8008E454 3C010800 */ lui $at, 0x800
|
|
/* 08F058 8008E458 03215825 */ or $t3, $t9, $at
|
|
/* 08F05C 8008E45C 01636024 */ and $t4, $t3, $v1
|
|
/* 08F060 8008E460 01601025 */ move $v0, $t3
|
|
/* 08F064 8008E464 A4E00DB6 */ sh $zero, 0xdb6($a3)
|
|
/* 08F068 8008E468 ACEB00BC */ sw $t3, 0xbc($a3)
|
|
/* 08F06C 8008E46C E4E60070 */ swc1 $f6, 0x70($a3)
|
|
/* 08F070 8008E470 146C0004 */ bne $v1, $t4, .L8008E484
|
|
/* 08F074 8008E474 E4E80DC4 */ swc1 $f8, 0xdc4($a3)
|
|
/* 08F078 8008E478 84ED00AE */ lh $t5, 0xae($a3)
|
|
/* 08F07C 8008E47C 01601025 */ move $v0, $t3
|
|
/* 08F080 8008E480 A4ED002E */ sh $t5, 0x2e($a3)
|
|
.L8008E484:
|
|
/* 08F084 8008E484 3C01FFFD */ lui $at, (0xFFFDFFFF >> 16) # lui $at, 0xfffd
|
|
/* 08F088 8008E488 3421FFFF */ ori $at, (0xFFFDFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
|
/* 08F08C 8008E48C 00417024 */ and $t6, $v0, $at
|
|
/* 08F090 8008E490 ACEE00BC */ sw $t6, 0xbc($a3)
|
|
/* 08F094 8008E494 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 08F098 8008E498 27BD0018 */ addiu $sp, $sp, 0x18
|
|
/* 08F09C 8008E49C 03E00008 */ jr $ra
|
|
/* 08F0A0 8008E4A0 00000000 */ nop
|
|
|
|
glabel func_8008E4A4
|
|
/* 08F0A4 8008E4A4 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 08F0A8 8008E4A8 AFA5001C */ sw $a1, 0x1c($sp)
|
|
/* 08F0AC 8008E4AC AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 08F0B0 8008E4B0 8C8900BC */ lw $t1, 0xbc($a0)
|
|
/* 08F0B4 8008E4B4 44800000 */ mtc1 $zero, $f0
|
|
/* 08F0B8 8008E4B8 84990042 */ lh $t9, 0x42($a0)
|
|
/* 08F0BC 8008E4BC 2401FF3F */ li $at, -193
|
|
/* 08F0C0 8008E4C0 01215024 */ and $t2, $t1, $at
|
|
/* 08F0C4 8008E4C4 00057600 */ sll $t6, $a1, 0x18
|
|
/* 08F0C8 8008E4C8 2418000F */ li $t8, 15
|
|
/* 08F0CC 8008E4CC 314C0008 */ andi $t4, $t2, 8
|
|
/* 08F0D0 8008E4D0 24010008 */ li $at, 8
|
|
/* 08F0D4 8008E4D4 27280AAA */ addiu $t0, $t9, 0xaaa
|
|
/* 08F0D8 8008E4D8 000E2E03 */ sra $a1, $t6, 0x18
|
|
/* 08F0DC 8008E4DC A4800206 */ sh $zero, 0x206($a0)
|
|
/* 08F0E0 8008E4E0 A48000C4 */ sh $zero, 0xc4($a0)
|
|
/* 08F0E4 8008E4E4 A48000C0 */ sh $zero, 0xc0($a0)
|
|
/* 08F0E8 8008E4E8 AC80007C */ sw $zero, 0x7c($a0)
|
|
/* 08F0EC 8008E4EC A49800C2 */ sh $t8, 0xc2($a0)
|
|
/* 08F0F0 8008E4F0 A4880042 */ sh $t0, 0x42($a0)
|
|
/* 08F0F4 8008E4F4 AC8A00BC */ sw $t2, 0xbc($a0)
|
|
/* 08F0F8 8008E4F8 E480008C */ swc1 $f0, 0x8c($a0)
|
|
/* 08F0FC 8008E4FC E480009C */ swc1 $f0, 0x9c($a0)
|
|
/* 08F100 8008E500 E4800034 */ swc1 $f0, 0x34($a0)
|
|
/* 08F104 8008E504 11810004 */ beq $t4, $at, .L8008E518
|
|
/* 08F108 8008E508 E480003C */ swc1 $f0, 0x3c($a0)
|
|
/* 08F10C 8008E50C 848D00E0 */ lh $t5, 0xe0($a0)
|
|
/* 08F110 8008E510 25AE0001 */ addiu $t6, $t5, 1
|
|
/* 08F114 8008E514 A48E00E0 */ sh $t6, 0xe0($a0)
|
|
.L8008E518:
|
|
/* 08F118 8008E518 848F00E0 */ lh $t7, 0xe0($a0)
|
|
/* 08F11C 8008E51C 24060003 */ li $a2, 3
|
|
/* 08F120 8008E520 24030001 */ li $v1, 1
|
|
/* 08F124 8008E524 14CF0029 */ bne $a2, $t7, .L8008E5CC
|
|
/* 08F128 8008E528 3C01FEFF */ lui $at, (0xFEFFFFFF >> 16) # lui $at, 0xfeff
|
|
/* 08F12C 8008E52C 8C9800BC */ lw $t8, 0xbc($a0)
|
|
/* 08F130 8008E530 3421FFFF */ ori $at, (0xFEFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
|
/* 08F134 8008E534 3C098016 */ lui $t1, %hi(D_80165190) # $t1, 0x8016
|
|
/* 08F138 8008E538 25295190 */ addiu $t1, %lo(D_80165190) # addiu $t1, $t1, 0x5190
|
|
/* 08F13C 8008E53C 00054040 */ sll $t0, $a1, 1
|
|
/* 08F140 8008E540 0301C824 */ and $t9, $t8, $at
|
|
/* 08F144 8008E544 AC9900BC */ sw $t9, 0xbc($a0)
|
|
/* 08F148 8008E548 A48000A8 */ sh $zero, 0xa8($a0)
|
|
/* 08F14C 8008E54C A4800236 */ sh $zero, 0x236($a0)
|
|
/* 08F150 8008E550 01091021 */ addu $v0, $t0, $t1
|
|
/* 08F154 8008E554 A4430000 */ sh $v1, ($v0)
|
|
/* 08F158 8008E558 A4430010 */ sh $v1, 0x10($v0)
|
|
/* 08F15C 8008E55C A4430020 */ sh $v1, 0x20($v0)
|
|
/* 08F160 8008E560 A4430030 */ sh $v1, 0x30($v0)
|
|
/* 08F164 8008E564 948A0000 */ lhu $t2, ($a0)
|
|
/* 08F168 8008E568 2401FF7F */ li $at, -129
|
|
/* 08F16C 8008E56C 00056080 */ sll $t4, $a1, 2
|
|
/* 08F170 8008E570 3C0D8016 */ lui $t5, %hi(D_80165460) # 0x8016
|
|
/* 08F174 8008E574 01415824 */ and $t3, $t2, $at
|
|
/* 08F178 8008E578 A4800042 */ sh $zero, 0x42($a0)
|
|
/* 08F17C 8008E57C A48B0000 */ sh $t3, ($a0)
|
|
/* 08F180 8008E580 01AC6821 */ addu $t5, $t5, $t4
|
|
/* 08F184 8008E584 8DAD5460 */ lw $t5, %lo(D_80165460)($t5) # 0x5460($t5)
|
|
/* 08F188 8008E588 316F4000 */ andi $t7, $t3, 0x4000
|
|
/* 08F18C 8008E58C 24014000 */ li $at, 16384
|
|
/* 08F190 8008E590 146D0007 */ bne $v1, $t5, .L8008E5B0
|
|
/* 08F194 8008E594 3C18800E */ lui $t8, %hi(gModeSelection) # $t8, 0x800e
|
|
/* 08F198 8008E598 15E10005 */ bne $t7, $at, .L8008E5B0
|
|
/* 08F19C 8008E59C 3C0142C8 */ li $at, 0x42C80000 # 100.000000
|
|
/* 08F1A0 8008E5A0 44813000 */ mtc1 $at, $f6
|
|
/* 08F1A4 8008E5A4 C484009C */ lwc1 $f4, 0x9c($a0)
|
|
/* 08F1A8 8008E5A8 46062200 */ add.s $f8, $f4, $f6
|
|
/* 08F1AC 8008E5AC E488009C */ swc1 $f8, 0x9c($a0)
|
|
.L8008E5B0:
|
|
/* 08F1B0 8008E5B0 8F18C53C */ lw $t8, %lo(gModeSelection)($t8)
|
|
/* 08F1B4 8008E5B4 54D8003F */ bnel $a2, $t8, .L8008E6B4
|
|
/* 08F1B8 8008E5B8 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 08F1BC 8008E5BC 0C01AE2D */ jal func_8006B8B4
|
|
/* 08F1C0 8008E5C0 00000000 */ nop
|
|
/* 08F1C4 8008E5C4 1000003B */ b .L8008E6B4
|
|
/* 08F1C8 8008E5C8 8FBF0014 */ lw $ra, 0x14($sp)
|
|
.L8008E5CC:
|
|
/* 08F1CC 8008E5CC 849900A8 */ lh $t9, 0xa8($a0)
|
|
/* 08F1D0 8008E5D0 27280080 */ addiu $t0, $t9, 0x80
|
|
/* 08F1D4 8008E5D4 A48800A8 */ sh $t0, 0xa8($a0)
|
|
/* 08F1D8 8008E5D8 848900A8 */ lh $t1, 0xa8($a0)
|
|
/* 08F1DC 8008E5DC 29212000 */ slti $at, $t1, 0x2000
|
|
/* 08F1E0 8008E5E0 54200034 */ bnel $at, $zero, .L8008E6B4
|
|
/* 08F1E4 8008E5E4 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 08F1E8 8008E5E8 848A0236 */ lh $t2, 0x236($a0)
|
|
/* 08F1EC 8008E5EC 3C01FEFF */ lui $at, (0xFEFFFFFF >> 16) # lui $at, 0xfeff
|
|
/* 08F1F0 8008E5F0 A48000A8 */ sh $zero, 0xa8($a0)
|
|
/* 08F1F4 8008E5F4 254BFFFF */ addiu $t3, $t2, -1
|
|
/* 08F1F8 8008E5F8 A48B0236 */ sh $t3, 0x236($a0)
|
|
/* 08F1FC 8008E5FC 848C0236 */ lh $t4, 0x236($a0)
|
|
/* 08F200 8008E600 24030001 */ li $v1, 1
|
|
/* 08F204 8008E604 3421FFFF */ ori $at, (0xFEFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
|
/* 08F208 8008E608 15800029 */ bnez $t4, .L8008E6B0
|
|
/* 08F20C 8008E60C 00057840 */ sll $t7, $a1, 1
|
|
/* 08F210 8008E610 8C8D00BC */ lw $t5, 0xbc($a0)
|
|
/* 08F214 8008E614 3C188016 */ lui $t8, %hi(D_80165190) # $t8, 0x8016
|
|
/* 08F218 8008E618 27185190 */ addiu $t8, %lo(D_80165190) # addiu $t8, $t8, 0x5190
|
|
/* 08F21C 8008E61C 01A17024 */ and $t6, $t5, $at
|
|
/* 08F220 8008E620 AC8E00BC */ sw $t6, 0xbc($a0)
|
|
/* 08F224 8008E624 A4800236 */ sh $zero, 0x236($a0)
|
|
/* 08F228 8008E628 01F81021 */ addu $v0, $t7, $t8
|
|
/* 08F22C 8008E62C A4430000 */ sh $v1, ($v0)
|
|
/* 08F230 8008E630 A4430010 */ sh $v1, 0x10($v0)
|
|
/* 08F234 8008E634 A4430020 */ sh $v1, 0x20($v0)
|
|
/* 08F238 8008E638 A4430030 */ sh $v1, 0x30($v0)
|
|
/* 08F23C 8008E63C A4800042 */ sh $zero, 0x42($a0)
|
|
/* 08F240 8008E640 3C19800E */ lui $t9, %hi(gModeSelection) # $t9, 0x800e
|
|
/* 08F244 8008E644 8F39C53C */ lw $t9, %lo(gModeSelection)($t9)
|
|
/* 08F248 8008E648 54D90008 */ bnel $a2, $t9, .L8008E66C
|
|
/* 08F24C 8008E64C 00054080 */ sll $t0, $a1, 2
|
|
/* 08F250 8008E650 AFA40018 */ sw $a0, 0x18($sp)
|
|
/* 08F254 8008E654 0C01AE2D */ jal func_8006B8B4
|
|
/* 08F258 8008E658 A3A5001F */ sb $a1, 0x1f($sp)
|
|
/* 08F25C 8008E65C 24030001 */ li $v1, 1
|
|
/* 08F260 8008E660 8FA40018 */ lw $a0, 0x18($sp)
|
|
/* 08F264 8008E664 83A5001F */ lb $a1, 0x1f($sp)
|
|
/* 08F268 8008E668 00054080 */ sll $t0, $a1, 2
|
|
.L8008E66C:
|
|
/* 08F26C 8008E66C 3C098016 */ lui $t1, %hi(D_80165460) # 0x8016
|
|
/* 08F270 8008E670 01284821 */ addu $t1, $t1, $t0
|
|
/* 08F274 8008E674 8D295460 */ lw $t1, %lo(D_80165460)($t1) # 0x5460($t1)
|
|
/* 08F278 8008E678 5469000B */ bnel $v1, $t1, .L8008E6A8
|
|
/* 08F27C 8008E67C 948C0000 */ lhu $t4, ($a0)
|
|
/* 08F280 8008E680 948A0000 */ lhu $t2, ($a0)
|
|
/* 08F284 8008E684 24014000 */ li $at, 16384
|
|
/* 08F288 8008E688 314B4000 */ andi $t3, $t2, 0x4000
|
|
/* 08F28C 8008E68C 15610005 */ bne $t3, $at, .L8008E6A4
|
|
/* 08F290 8008E690 3C0142C8 */ li $at, 0x42C80000 # 100.000000
|
|
/* 08F294 8008E694 44818000 */ mtc1 $at, $f16
|
|
/* 08F298 8008E698 C48A009C */ lwc1 $f10, 0x9c($a0)
|
|
/* 08F29C 8008E69C 46105480 */ add.s $f18, $f10, $f16
|
|
/* 08F2A0 8008E6A0 E492009C */ swc1 $f18, 0x9c($a0)
|
|
.L8008E6A4:
|
|
/* 08F2A4 8008E6A4 948C0000 */ lhu $t4, ($a0)
|
|
.L8008E6A8:
|
|
/* 08F2A8 8008E6A8 318DFF7F */ andi $t5, $t4, 0xff7f
|
|
/* 08F2AC 8008E6AC A48D0000 */ sh $t5, ($a0)
|
|
.L8008E6B0:
|
|
/* 08F2B0 8008E6B0 8FBF0014 */ lw $ra, 0x14($sp)
|
|
.L8008E6B4:
|
|
/* 08F2B4 8008E6B4 27BD0018 */ addiu $sp, $sp, 0x18
|
|
/* 08F2B8 8008E6B8 03E00008 */ jr $ra
|
|
/* 08F2BC 8008E6BC 00000000 */ nop
|
|
|
|
glabel func_8008E6C0
|
|
/* 08F2C0 8008E6C0 27BDFFD8 */ addiu $sp, $sp, -0x28
|
|
/* 08F2C4 8008E6C4 AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* 08F2C8 8008E6C8 AFB00018 */ sw $s0, 0x18($sp)
|
|
/* 08F2CC 8008E6CC AFA5002C */ sw $a1, 0x2c($sp)
|
|
/* 08F2D0 8008E6D0 00808025 */ move $s0, $a0
|
|
/* 08F2D4 8008E6D4 0C0230D5 */ jal func_8008C354
|
|
/* 08F2D8 8008E6D8 83A5002F */ lb $a1, 0x2f($sp)
|
|
/* 08F2DC 8008E6DC 0C0230C4 */ jal func_8008C310
|
|
/* 08F2E0 8008E6E0 02002025 */ move $a0, $s0
|
|
/* 08F2E4 8008E6E4 8E0E00BC */ lw $t6, 0xbc($s0)
|
|
/* 08F2E8 8008E6E8 44800000 */ mtc1 $zero, $f0
|
|
/* 08F2EC 8008E6EC 3C010100 */ lui $at, 0x100
|
|
/* 08F2F0 8008E6F0 96060254 */ lhu $a2, 0x254($s0)
|
|
/* 08F2F4 8008E6F4 01C17825 */ or $t7, $t6, $at
|
|
/* 08F2F8 8008E6F8 2401FFEF */ li $at, -17
|
|
/* 08F2FC 8008E6FC 01E1C824 */ and $t9, $t7, $at
|
|
/* 08F300 8008E700 AE0F00BC */ sw $t7, 0xbc($s0)
|
|
/* 08F304 8008E704 3C01800E */ lui $at, %hi(D_800E3730)
|
|
/* 08F308 8008E708 00061080 */ sll $v0, $a2, 2
|
|
/* 08F30C 8008E70C A60000A8 */ sh $zero, 0xa8($s0)
|
|
/* 08F310 8008E710 AE1900BC */ sw $t9, 0xbc($s0)
|
|
/* 08F314 8008E714 00220821 */ addu $at, $at, $v0
|
|
/* 08F318 8008E718 E60000F0 */ swc1 $f0, 0xf0($s0)
|
|
/* 08F31C 8008E71C E60000F4 */ swc1 $f0, 0xf4($s0)
|
|
/* 08F320 8008E720 E60000EC */ swc1 $f0, 0xec($s0)
|
|
/* 08F324 8008E724 C4243730 */ lwc1 $f4, %lo(D_800E3730)($at)
|
|
/* 08F328 8008E728 3C01800E */ lui $at, %hi(D_800E3710)
|
|
/* 08F32C 8008E72C 00220821 */ addu $at, $at, $v0
|
|
/* 08F330 8008E730 E60400F0 */ swc1 $f4, 0xf0($s0)
|
|
/* 08F334 8008E734 C4263710 */ lwc1 $f6, %lo(D_800E3710)($at)
|
|
/* 08F338 8008E738 96030000 */ lhu $v1, ($s0)
|
|
/* 08F33C 8008E73C 24080004 */ li $t0, 4
|
|
/* 08F340 8008E740 24014000 */ li $at, 16384
|
|
/* 08F344 8008E744 30694000 */ andi $t1, $v1, 0x4000
|
|
/* 08F348 8008E748 A6080236 */ sh $t0, 0x236($s0)
|
|
/* 08F34C 8008E74C A6000042 */ sh $zero, 0x42($s0)
|
|
/* 08F350 8008E750 A60000E0 */ sh $zero, 0xe0($s0)
|
|
/* 08F354 8008E754 1521002E */ bne $t1, $at, .L8008E810
|
|
/* 08F358 8008E758 E60600EC */ swc1 $f6, 0xec($s0)
|
|
/* 08F35C 8008E75C 306A0100 */ andi $t2, $v1, 0x100
|
|
/* 08F360 8008E760 24010100 */ li $at, 256
|
|
/* 08F364 8008E764 1141002A */ beq $t2, $at, .L8008E810
|
|
/* 08F368 8008E768 3C0B800E */ lui $t3, %hi(gModeSelection) # $t3, 0x800e
|
|
/* 08F36C 8008E76C 8D6BC53C */ lw $t3, %lo(gModeSelection)($t3)
|
|
/* 08F370 8008E770 24010002 */ li $at, 2
|
|
/* 08F374 8008E774 306C1000 */ andi $t4, $v1, 0x1000
|
|
/* 08F378 8008E778 5561000A */ bnel $t3, $at, .L8008E7A4
|
|
/* 08F37C 8008E77C 93A4002F */ lbu $a0, 0x2f($sp)
|
|
/* 08F380 8008E780 11800007 */ beqz $t4, .L8008E7A0
|
|
/* 08F384 8008E784 3C0D800E */ lui $t5, %hi(D_800DC51C) # $t5, 0x800e
|
|
/* 08F388 8008E788 95ADC51C */ lhu $t5, %lo(D_800DC51C)($t5)
|
|
/* 08F38C 8008E78C 55A00005 */ bnel $t5, $zero, .L8008E7A4
|
|
/* 08F390 8008E790 93A4002F */ lbu $a0, 0x2f($sp)
|
|
/* 08F394 8008E794 0C032893 */ jal func_800CA24C
|
|
/* 08F398 8008E798 93A4002F */ lbu $a0, 0x2f($sp)
|
|
/* 08F39C 8008E79C 96060254 */ lhu $a2, 0x254($s0)
|
|
.L8008E7A0:
|
|
/* 08F3A0 8008E7A0 93A4002F */ lbu $a0, 0x2f($sp)
|
|
.L8008E7A4:
|
|
/* 08F3A4 8008E7A4 3C012900 */ lui $at, (0x29008005 >> 16) # lui $at, 0x2900
|
|
/* 08F3A8 8008E7A8 34218005 */ ori $at, (0x29008005 & 0xFFFF) # ori $at, $at, 0x8005
|
|
/* 08F3AC 8008E7AC 00062900 */ sll $a1, $a2, 4
|
|
/* 08F3B0 8008E7B0 00A12821 */ addu $a1, $a1, $at
|
|
/* 08F3B4 8008E7B4 0C03243D */ jal func_800C90F4
|
|
/* 08F3B8 8008E7B8 AFA40020 */ sw $a0, 0x20($sp)
|
|
/* 08F3BC 8008E7BC 3C0E800E */ lui $t6, %hi(gModeSelection) # $t6, 0x800e
|
|
/* 08F3C0 8008E7C0 8DCEC53C */ lw $t6, %lo(gModeSelection)($t6)
|
|
/* 08F3C4 8008E7C4 24010002 */ li $at, 2
|
|
/* 08F3C8 8008E7C8 55C1000C */ bnel $t6, $at, .L8008E7FC
|
|
/* 08F3CC 8008E7CC 3C051900 */ lui $a1, 0x1900
|
|
/* 08F3D0 8008E7D0 960F0000 */ lhu $t7, ($s0)
|
|
/* 08F3D4 8008E7D4 3C19800E */ lui $t9, %hi(D_800DC51C) # $t9, 0x800e
|
|
/* 08F3D8 8008E7D8 31F81000 */ andi $t8, $t7, 0x1000
|
|
/* 08F3DC 8008E7DC 53000007 */ beql $t8, $zero, .L8008E7FC
|
|
/* 08F3E0 8008E7E0 3C051900 */ lui $a1, 0x1900
|
|
/* 08F3E4 8008E7E4 9739C51C */ lhu $t9, %lo(D_800DC51C)($t9)
|
|
/* 08F3E8 8008E7E8 57200004 */ bnel $t9, $zero, .L8008E7FC
|
|
/* 08F3EC 8008E7EC 3C051900 */ lui $a1, 0x1900
|
|
/* 08F3F0 8008E7F0 0C032893 */ jal func_800CA24C
|
|
/* 08F3F4 8008E7F4 93A40023 */ lbu $a0, 0x23($sp)
|
|
/* 08F3F8 8008E7F8 3C051900 */ lui $a1, (0x19009005 >> 16) # lui $a1, 0x1900
|
|
.L8008E7FC:
|
|
/* 08F3FC 8008E7FC 34A59005 */ ori $a1, (0x19009005 & 0xFFFF) # ori $a1, $a1, 0x9005
|
|
/* 08F400 8008E800 0C032418 */ jal func_800C9060
|
|
/* 08F404 8008E804 93A40023 */ lbu $a0, 0x23($sp)
|
|
/* 08F408 8008E808 10000005 */ b .L8008E820
|
|
/* 08F40C 8008E80C 8E08000C */ lw $t0, 0xc($s0)
|
|
.L8008E810:
|
|
/* 08F410 8008E810 83A4002F */ lb $a0, 0x2f($sp)
|
|
/* 08F414 8008E814 0C00263F */ jal func_800098FC
|
|
/* 08F418 8008E818 02002825 */ move $a1, $s0
|
|
/* 08F41C 8008E81C 8E08000C */ lw $t0, 0xc($s0)
|
|
.L8008E820:
|
|
/* 08F420 8008E820 960A00B6 */ lhu $t2, 0xb6($s0)
|
|
/* 08F424 8008E824 3C01FFB7 */ lui $at, (0xFFB7FFFF >> 16) # lui $at, 0xffb7
|
|
/* 08F428 8008E828 3421FFFF */ ori $at, (0xFFB7FFFF & 0xFFFF) # ori $at, $at, 0xffff
|
|
/* 08F42C 8008E82C 01014824 */ and $t1, $t0, $at
|
|
/* 08F430 8008E830 354B0040 */ ori $t3, $t2, 0x40
|
|
/* 08F434 8008E834 AE09000C */ sw $t1, 0xc($s0)
|
|
/* 08F438 8008E838 A60B00B6 */ sh $t3, 0xb6($s0)
|
|
/* 08F43C 8008E83C 83A2002F */ lb $v0, 0x2f($sp)
|
|
/* 08F440 8008E840 3C018016 */ lui $at, %hi(D_80165480) # 0x8016
|
|
/* 08F444 8008E844 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* 08F448 8008E848 00026080 */ sll $t4, $v0, 2
|
|
/* 08F44C 8008E84C 002C0821 */ addu $at, $at, $t4
|
|
/* 08F450 8008E850 AC205480 */ sw $zero, %lo(D_80165480)($at) # 0x5480($at)
|
|
/* 08F454 8008E854 3C018016 */ lui $at, %hi(D_80165460) # 0x8016
|
|
/* 08F458 8008E858 002C0821 */ addu $at, $at, $t4
|
|
/* 08F45C 8008E85C AC205460 */ sw $zero, %lo(D_80165460)($at) # 0x5460($at)
|
|
/* 08F460 8008E860 3C018016 */ lui $at, %hi(D_80165440) # 0x8016
|
|
/* 08F464 8008E864 002C0821 */ addu $at, $at, $t4
|
|
/* 08F468 8008E868 AC205440 */ sw $zero, %lo(D_80165440)($at) # 0x5440($at)
|
|
/* 08F46C 8008E86C 3C018016 */ lui $at, %hi(D_80165420) # 0x8016
|
|
/* 08F470 8008E870 002C0821 */ addu $at, $at, $t4
|
|
/* 08F474 8008E874 8FB00018 */ lw $s0, 0x18($sp)
|
|
/* 08F478 8008E878 AC205420 */ sw $zero, %lo(D_80165420)($at) # 0x5420($at)
|
|
/* 08F47C 8008E87C 03E00008 */ jr $ra
|
|
/* 08F480 8008E880 27BD0028 */ addiu $sp, $sp, 0x28
|
|
|
|
glabel func_8008E884
|
|
/* 08F484 8008E884 AFA50004 */ sw $a1, 4($sp)
|
|
/* 08F488 8008E888 8C9800BC */ lw $t8, 0xbc($a0)
|
|
/* 08F48C 8008E88C 00057600 */ sll $t6, $a1, 0x18
|
|
/* 08F490 8008E890 3C01FEFF */ lui $at, (0xFEFFFFFF >> 16) # lui $at, 0xfeff
|
|
/* 08F494 8008E894 000E7E03 */ sra $t7, $t6, 0x18
|
|
/* 08F498 8008E898 3421FFFF */ ori $at, (0xFEFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
|
/* 08F49C 8008E89C 3C098016 */ lui $t1, %hi(D_80165190) # $t1, 0x8016
|
|
/* 08F4A0 8008E8A0 25295190 */ addiu $t1, %lo(D_80165190) # addiu $t1, $t1, 0x5190
|
|
/* 08F4A4 8008E8A4 000F4040 */ sll $t0, $t7, 1
|
|
/* 08F4A8 8008E8A8 0301C824 */ and $t9, $t8, $at
|
|
/* 08F4AC 8008E8AC 24030001 */ li $v1, 1
|
|
/* 08F4B0 8008E8B0 AC9900BC */ sw $t9, 0xbc($a0)
|
|
/* 08F4B4 8008E8B4 A48000A8 */ sh $zero, 0xa8($a0)
|
|
/* 08F4B8 8008E8B8 A4800236 */ sh $zero, 0x236($a0)
|
|
/* 08F4BC 8008E8BC 01091021 */ addu $v0, $t0, $t1
|
|
/* 08F4C0 8008E8C0 A4430000 */ sh $v1, ($v0)
|
|
/* 08F4C4 8008E8C4 A4430010 */ sh $v1, 0x10($v0)
|
|
/* 08F4C8 8008E8C8 A4430020 */ sh $v1, 0x20($v0)
|
|
/* 08F4CC 8008E8CC A4430030 */ sh $v1, 0x30($v0)
|
|
/* 08F4D0 8008E8D0 03E00008 */ jr $ra
|
|
/* 08F4D4 8008E8D4 A4800042 */ sh $zero, 0x42($a0)
|
|
|
|
glabel func_8008E8D8
|
|
/* 08F4D8 8008E8D8 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 08F4DC 8008E8DC AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 08F4E0 8008E8E0 AFA5001C */ sw $a1, 0x1c($sp)
|
|
/* 08F4E4 8008E8E4 3C014000 */ li $at, 0x40000000 # 2.000000
|
|
/* 08F4E8 8008E8E8 44813000 */ mtc1 $at, $f6
|
|
/* 08F4EC 8008E8EC C484008C */ lwc1 $f4, 0x8c($a0)
|
|
/* 08F4F0 8008E8F0 8C8900BC */ lw $t1, 0xbc($a0)
|
|
/* 08F4F4 8008E8F4 84990042 */ lh $t9, 0x42($a0)
|
|
/* 08F4F8 8008E8F8 46062203 */ div.s $f8, $f4, $f6
|
|
/* 08F4FC 8008E8FC 2401FF3F */ li $at, -193
|
|
/* 08F500 8008E900 01215024 */ and $t2, $t1, $at
|
|
/* 08F504 8008E904 44805000 */ mtc1 $zero, $f10
|
|
/* 08F508 8008E908 00057600 */ sll $t6, $a1, 0x18
|
|
/* 08F50C 8008E90C 27280AAA */ addiu $t0, $t9, 0xaaa
|
|
/* 08F510 8008E910 000E2E03 */ sra $a1, $t6, 0x18
|
|
/* 08F514 8008E914 2418000F */ li $t8, 15
|
|
/* 08F518 8008E918 A4880042 */ sh $t0, 0x42($a0)
|
|
/* 08F51C 8008E91C 314C0008 */ andi $t4, $t2, 8
|
|
/* 08F520 8008E920 24010008 */ li $at, 8
|
|
/* 08F524 8008E924 3C098016 */ lui $t1, %hi(D_80165190) # $t1, 0x8016
|
|
/* 08F528 8008E928 A4800206 */ sh $zero, 0x206($a0)
|
|
/* 08F52C 8008E92C A48000C4 */ sh $zero, 0xc4($a0)
|
|
/* 08F530 8008E930 A48000C0 */ sh $zero, 0xc0($a0)
|
|
/* 08F534 8008E934 AC80007C */ sw $zero, 0x7c($a0)
|
|
/* 08F538 8008E938 A49800C2 */ sh $t8, 0xc2($a0)
|
|
/* 08F53C 8008E93C AC8A00BC */ sw $t2, 0xbc($a0)
|
|
/* 08F540 8008E940 24030001 */ li $v1, 1
|
|
/* 08F544 8008E944 25295190 */ addiu $t1, %lo(D_80165190) # addiu $t1, $t1, 0x5190
|
|
/* 08F548 8008E948 00054040 */ sll $t0, $a1, 1
|
|
/* 08F54C 8008E94C E48A009C */ swc1 $f10, 0x9c($a0)
|
|
/* 08F550 8008E950 11810004 */ beq $t4, $at, .L8008E964
|
|
/* 08F554 8008E954 E488008C */ swc1 $f8, 0x8c($a0)
|
|
/* 08F558 8008E958 848D00E0 */ lh $t5, 0xe0($a0)
|
|
/* 08F55C 8008E95C 25AE0001 */ addiu $t6, $t5, 1
|
|
/* 08F560 8008E960 A48E00E0 */ sh $t6, 0xe0($a0)
|
|
.L8008E964:
|
|
/* 08F564 8008E964 848F00E0 */ lh $t7, 0xe0($a0)
|
|
/* 08F568 8008E968 24010004 */ li $at, 4
|
|
/* 08F56C 8008E96C 01091021 */ addu $v0, $t0, $t1
|
|
/* 08F570 8008E970 15E10024 */ bne $t7, $at, .L8008EA04
|
|
/* 08F574 8008E974 00055080 */ sll $t2, $a1, 2
|
|
/* 08F578 8008E978 8C9800BC */ lw $t8, 0xbc($a0)
|
|
/* 08F57C 8008E97C 3C01FDFF */ lui $at, (0xFDFFFFFF >> 16) # lui $at, 0xfdff
|
|
/* 08F580 8008E980 3421FFFF */ ori $at, (0xFDFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
|
/* 08F584 8008E984 0301C824 */ and $t9, $t8, $at
|
|
/* 08F588 8008E988 AC9900BC */ sw $t9, 0xbc($a0)
|
|
/* 08F58C 8008E98C A48000A8 */ sh $zero, 0xa8($a0)
|
|
/* 08F590 8008E990 A4800236 */ sh $zero, 0x236($a0)
|
|
/* 08F594 8008E994 A4430030 */ sh $v1, 0x30($v0)
|
|
/* 08F598 8008E998 A4430000 */ sh $v1, ($v0)
|
|
/* 08F59C 8008E99C A4430010 */ sh $v1, 0x10($v0)
|
|
/* 08F5A0 8008E9A0 A4430020 */ sh $v1, 0x20($v0)
|
|
/* 08F5A4 8008E9A4 3C0B8016 */ lui $t3, %hi(D_80165460) # 0x8016
|
|
/* 08F5A8 8008E9A8 A4800042 */ sh $zero, 0x42($a0)
|
|
/* 08F5AC 8008E9AC 016A5821 */ addu $t3, $t3, $t2
|
|
/* 08F5B0 8008E9B0 8D6B5460 */ lw $t3, %lo(D_80165460)($t3) # 0x5460($t3)
|
|
/* 08F5B4 8008E9B4 3C0E800E */ lui $t6, %hi(gModeSelection) # $t6, 0x800e
|
|
/* 08F5B8 8008E9B8 146B000A */ bne $v1, $t3, .L8008E9E4
|
|
/* 08F5BC 8008E9BC 00000000 */ nop
|
|
/* 08F5C0 8008E9C0 948C0000 */ lhu $t4, ($a0)
|
|
/* 08F5C4 8008E9C4 24014000 */ li $at, 16384
|
|
/* 08F5C8 8008E9C8 318D4000 */ andi $t5, $t4, 0x4000
|
|
/* 08F5CC 8008E9CC 15A10005 */ bne $t5, $at, .L8008E9E4
|
|
/* 08F5D0 8008E9D0 3C0142C8 */ li $at, 0x42C80000 # 100.000000
|
|
/* 08F5D4 8008E9D4 44819000 */ mtc1 $at, $f18
|
|
/* 08F5D8 8008E9D8 C490009C */ lwc1 $f16, 0x9c($a0)
|
|
/* 08F5DC 8008E9DC 46128100 */ add.s $f4, $f16, $f18
|
|
/* 08F5E0 8008E9E0 E484009C */ swc1 $f4, 0x9c($a0)
|
|
.L8008E9E4:
|
|
/* 08F5E4 8008E9E4 8DCEC53C */ lw $t6, %lo(gModeSelection)($t6)
|
|
/* 08F5E8 8008E9E8 24010003 */ li $at, 3
|
|
/* 08F5EC 8008E9EC 55C10039 */ bnel $t6, $at, .L8008EAD4
|
|
/* 08F5F0 8008E9F0 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 08F5F4 8008E9F4 0C01AE2D */ jal func_8006B8B4
|
|
/* 08F5F8 8008E9F8 00000000 */ nop
|
|
/* 08F5FC 8008E9FC 10000035 */ b .L8008EAD4
|
|
/* 08F600 8008EA00 8FBF0014 */ lw $ra, 0x14($sp)
|
|
.L8008EA04:
|
|
/* 08F604 8008EA04 848F00A8 */ lh $t7, 0xa8($a0)
|
|
/* 08F608 8008EA08 25F80090 */ addiu $t8, $t7, 0x90
|
|
/* 08F60C 8008EA0C A49800A8 */ sh $t8, 0xa8($a0)
|
|
/* 08F610 8008EA10 849900A8 */ lh $t9, 0xa8($a0)
|
|
/* 08F614 8008EA14 2B212000 */ slti $at, $t9, 0x2000
|
|
/* 08F618 8008EA18 5420002E */ bnel $at, $zero, .L8008EAD4
|
|
/* 08F61C 8008EA1C 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 08F620 8008EA20 84880236 */ lh $t0, 0x236($a0)
|
|
/* 08F624 8008EA24 3C01FDFF */ lui $at, (0xFDFFFFFF >> 16) # lui $at, 0xfdff
|
|
/* 08F628 8008EA28 A48000A8 */ sh $zero, 0xa8($a0)
|
|
/* 08F62C 8008EA2C 2509FFFF */ addiu $t1, $t0, -1
|
|
/* 08F630 8008EA30 A4890236 */ sh $t1, 0x236($a0)
|
|
/* 08F634 8008EA34 848A0236 */ lh $t2, 0x236($a0)
|
|
/* 08F638 8008EA38 24030001 */ li $v1, 1
|
|
/* 08F63C 8008EA3C 3421FFFF */ ori $at, (0xFDFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
|
/* 08F640 8008EA40 15400023 */ bnez $t2, .L8008EAD0
|
|
/* 08F644 8008EA44 00056840 */ sll $t5, $a1, 1
|
|
/* 08F648 8008EA48 8C8B00BC */ lw $t3, 0xbc($a0)
|
|
/* 08F64C 8008EA4C 3C0E8016 */ lui $t6, %hi(D_80165190) # $t6, 0x8016
|
|
/* 08F650 8008EA50 25CE5190 */ addiu $t6, %lo(D_80165190) # addiu $t6, $t6, 0x5190
|
|
/* 08F654 8008EA54 01616024 */ and $t4, $t3, $at
|
|
/* 08F658 8008EA58 AC8C00BC */ sw $t4, 0xbc($a0)
|
|
/* 08F65C 8008EA5C A4800236 */ sh $zero, 0x236($a0)
|
|
/* 08F660 8008EA60 01AE1021 */ addu $v0, $t5, $t6
|
|
/* 08F664 8008EA64 A4430000 */ sh $v1, ($v0)
|
|
/* 08F668 8008EA68 A4430010 */ sh $v1, 0x10($v0)
|
|
/* 08F66C 8008EA6C A4430020 */ sh $v1, 0x20($v0)
|
|
/* 08F670 8008EA70 A4430030 */ sh $v1, 0x30($v0)
|
|
/* 08F674 8008EA74 00057880 */ sll $t7, $a1, 2
|
|
/* 08F678 8008EA78 3C188016 */ lui $t8, %hi(D_80165460) # 0x8016
|
|
/* 08F67C 8008EA7C A4800042 */ sh $zero, 0x42($a0)
|
|
/* 08F680 8008EA80 030FC021 */ addu $t8, $t8, $t7
|
|
/* 08F684 8008EA84 8F185460 */ lw $t8, %lo(D_80165460)($t8) # 0x5460($t8)
|
|
/* 08F688 8008EA88 3C09800E */ lui $t1, %hi(gModeSelection) # $t1, 0x800e
|
|
/* 08F68C 8008EA8C 1478000A */ bne $v1, $t8, .L8008EAB8
|
|
/* 08F690 8008EA90 00000000 */ nop
|
|
/* 08F694 8008EA94 94990000 */ lhu $t9, ($a0)
|
|
/* 08F698 8008EA98 24014000 */ li $at, 16384
|
|
/* 08F69C 8008EA9C 33284000 */ andi $t0, $t9, 0x4000
|
|
/* 08F6A0 8008EAA0 15010005 */ bne $t0, $at, .L8008EAB8
|
|
/* 08F6A4 8008EAA4 3C0142C8 */ li $at, 0x42C80000 # 100.000000
|
|
/* 08F6A8 8008EAA8 44814000 */ mtc1 $at, $f8
|
|
/* 08F6AC 8008EAAC C486009C */ lwc1 $f6, 0x9c($a0)
|
|
/* 08F6B0 8008EAB0 46083280 */ add.s $f10, $f6, $f8
|
|
/* 08F6B4 8008EAB4 E48A009C */ swc1 $f10, 0x9c($a0)
|
|
.L8008EAB8:
|
|
/* 08F6B8 8008EAB8 8D29C53C */ lw $t1, %lo(gModeSelection)($t1)
|
|
/* 08F6BC 8008EABC 24010003 */ li $at, 3
|
|
/* 08F6C0 8008EAC0 55210004 */ bnel $t1, $at, .L8008EAD4
|
|
/* 08F6C4 8008EAC4 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 08F6C8 8008EAC8 0C01AE2D */ jal func_8006B8B4
|
|
/* 08F6CC 8008EACC 00000000 */ nop
|
|
.L8008EAD0:
|
|
/* 08F6D0 8008EAD0 8FBF0014 */ lw $ra, 0x14($sp)
|
|
.L8008EAD4:
|
|
/* 08F6D4 8008EAD4 27BD0018 */ addiu $sp, $sp, 0x18
|
|
/* 08F6D8 8008EAD8 03E00008 */ jr $ra
|
|
/* 08F6DC 8008EADC 00000000 */ nop
|
|
|
|
glabel func_8008EAE0
|
|
/* 08F6E0 8008EAE0 27BDFFD8 */ addiu $sp, $sp, -0x28
|
|
/* 08F6E4 8008EAE4 AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* 08F6E8 8008EAE8 AFB00018 */ sw $s0, 0x18($sp)
|
|
/* 08F6EC 8008EAEC AFA5002C */ sw $a1, 0x2c($sp)
|
|
/* 08F6F0 8008EAF0 00808025 */ move $s0, $a0
|
|
/* 08F6F4 8008EAF4 0C0230D5 */ jal func_8008C354
|
|
/* 08F6F8 8008EAF8 83A5002F */ lb $a1, 0x2f($sp)
|
|
/* 08F6FC 8008EAFC 0C0230C4 */ jal func_8008C310
|
|
/* 08F700 8008EB00 02002025 */ move $a0, $s0
|
|
/* 08F704 8008EB04 44800000 */ mtc1 $zero, $f0
|
|
/* 08F708 8008EB08 8E0E00BC */ lw $t6, 0xbc($s0)
|
|
/* 08F70C 8008EB0C 96030254 */ lhu $v1, 0x254($s0)
|
|
/* 08F710 8008EB10 2401FFEF */ li $at, -17
|
|
/* 08F714 8008EB14 01C17824 */ and $t7, $t6, $at
|
|
/* 08F718 8008EB18 3C01800E */ lui $at, %hi(D_800E3730)
|
|
/* 08F71C 8008EB1C 00031080 */ sll $v0, $v1, 2
|
|
/* 08F720 8008EB20 A60000A8 */ sh $zero, 0xa8($s0)
|
|
/* 08F724 8008EB24 AE0F00BC */ sw $t7, 0xbc($s0)
|
|
/* 08F728 8008EB28 00220821 */ addu $at, $at, $v0
|
|
/* 08F72C 8008EB2C E60000F0 */ swc1 $f0, 0xf0($s0)
|
|
/* 08F730 8008EB30 E60000F4 */ swc1 $f0, 0xf4($s0)
|
|
/* 08F734 8008EB34 E60000EC */ swc1 $f0, 0xec($s0)
|
|
/* 08F738 8008EB38 C4243730 */ lwc1 $f4, %lo(D_800E3730)($at)
|
|
/* 08F73C 8008EB3C 3C01800E */ lui $at, %hi(D_800E3710)
|
|
/* 08F740 8008EB40 00220821 */ addu $at, $at, $v0
|
|
/* 08F744 8008EB44 E60400F0 */ swc1 $f4, 0xf0($s0)
|
|
/* 08F748 8008EB48 C4263710 */ lwc1 $f6, %lo(D_800E3710)($at)
|
|
/* 08F74C 8008EB4C 96040000 */ lhu $a0, ($s0)
|
|
/* 08F750 8008EB50 24180004 */ li $t8, 4
|
|
/* 08F754 8008EB54 24014000 */ li $at, 16384
|
|
/* 08F758 8008EB58 30994000 */ andi $t9, $a0, 0x4000
|
|
/* 08F75C 8008EB5C A6180236 */ sh $t8, 0x236($s0)
|
|
/* 08F760 8008EB60 A6000042 */ sh $zero, 0x42($s0)
|
|
/* 08F764 8008EB64 A60000E0 */ sh $zero, 0xe0($s0)
|
|
/* 08F768 8008EB68 17210011 */ bne $t9, $at, .L8008EBB0
|
|
/* 08F76C 8008EB6C E60600EC */ swc1 $f6, 0xec($s0)
|
|
/* 08F770 8008EB70 30880100 */ andi $t0, $a0, 0x100
|
|
/* 08F774 8008EB74 24010100 */ li $at, 256
|
|
/* 08F778 8008EB78 1101000D */ beq $t0, $at, .L8008EBB0
|
|
/* 08F77C 8008EB7C 93A4002F */ lbu $a0, 0x2f($sp)
|
|
/* 08F780 8008EB80 3C012900 */ lui $at, (0x29008005 >> 16) # lui $at, 0x2900
|
|
/* 08F784 8008EB84 34218005 */ ori $at, (0x29008005 & 0xFFFF) # ori $at, $at, 0x8005
|
|
/* 08F788 8008EB88 00032900 */ sll $a1, $v1, 4
|
|
/* 08F78C 8008EB8C 00A12821 */ addu $a1, $a1, $at
|
|
/* 08F790 8008EB90 0C03243D */ jal func_800C90F4
|
|
/* 08F794 8008EB94 AFA40020 */ sw $a0, 0x20($sp)
|
|
/* 08F798 8008EB98 3C051900 */ lui $a1, (0x19009005 >> 16) # lui $a1, 0x1900
|
|
/* 08F79C 8008EB9C 8FA40020 */ lw $a0, 0x20($sp)
|
|
/* 08F7A0 8008EBA0 0C032418 */ jal func_800C9060
|
|
/* 08F7A4 8008EBA4 34A59005 */ ori $a1, (0x19009005 & 0xFFFF) # ori $a1, $a1, 0x9005
|
|
/* 08F7A8 8008EBA8 10000005 */ b .L8008EBC0
|
|
/* 08F7AC 8008EBAC 8E0900BC */ lw $t1, 0xbc($s0)
|
|
.L8008EBB0:
|
|
/* 08F7B0 8008EBB0 83A4002F */ lb $a0, 0x2f($sp)
|
|
/* 08F7B4 8008EBB4 0C00263F */ jal func_800098FC
|
|
/* 08F7B8 8008EBB8 02002825 */ move $a1, $s0
|
|
/* 08F7BC 8008EBBC 8E0900BC */ lw $t1, 0xbc($s0)
|
|
.L8008EBC0:
|
|
/* 08F7C0 8008EBC0 3C010200 */ lui $at, 0x200
|
|
/* 08F7C4 8008EBC4 960B00B6 */ lhu $t3, 0xb6($s0)
|
|
/* 08F7C8 8008EBC8 8E0D000C */ lw $t5, 0xc($s0)
|
|
/* 08F7CC 8008EBCC 01215025 */ or $t2, $t1, $at
|
|
/* 08F7D0 8008EBD0 3C01FEFF */ lui $at, (0xFEFFFFFD >> 16) # lui $at, 0xfeff
|
|
/* 08F7D4 8008EBD4 3421FFFD */ ori $at, (0xFEFFFFFD & 0xFFFF) # ori $at, $at, 0xfffd
|
|
/* 08F7D8 8008EBD8 356C0040 */ ori $t4, $t3, 0x40
|
|
/* 08F7DC 8008EBDC 01A17024 */ and $t6, $t5, $at
|
|
/* 08F7E0 8008EBE0 AE0A00BC */ sw $t2, 0xbc($s0)
|
|
/* 08F7E4 8008EBE4 A60C00B6 */ sh $t4, 0xb6($s0)
|
|
/* 08F7E8 8008EBE8 AE0E000C */ sw $t6, 0xc($s0)
|
|
/* 08F7EC 8008EBEC 83A2002F */ lb $v0, 0x2f($sp)
|
|
/* 08F7F0 8008EBF0 3C018016 */ lui $at, %hi(D_80165480) # 0x8016
|
|
/* 08F7F4 8008EBF4 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* 08F7F8 8008EBF8 00027880 */ sll $t7, $v0, 2
|
|
/* 08F7FC 8008EBFC 002F0821 */ addu $at, $at, $t7
|
|
/* 08F800 8008EC00 AC205480 */ sw $zero, %lo(D_80165480)($at) # 0x5480($at)
|
|
/* 08F804 8008EC04 3C018016 */ lui $at, %hi(D_80165460) # 0x8016
|
|
/* 08F808 8008EC08 002F0821 */ addu $at, $at, $t7
|
|
/* 08F80C 8008EC0C AC205460 */ sw $zero, %lo(D_80165460)($at) # 0x5460($at)
|
|
/* 08F810 8008EC10 3C018016 */ lui $at, %hi(D_80165440) # 0x8016
|
|
/* 08F814 8008EC14 002F0821 */ addu $at, $at, $t7
|
|
/* 08F818 8008EC18 AC205440 */ sw $zero, %lo(D_80165440)($at) # 0x5440($at)
|
|
/* 08F81C 8008EC1C 3C018016 */ lui $at, %hi(D_80165420) # 0x8016
|
|
/* 08F820 8008EC20 002F0821 */ addu $at, $at, $t7
|
|
/* 08F824 8008EC24 8FB00018 */ lw $s0, 0x18($sp)
|
|
/* 08F828 8008EC28 AC205420 */ sw $zero, %lo(D_80165420)($at) # 0x5420($at)
|
|
/* 08F82C 8008EC2C 03E00008 */ jr $ra
|
|
/* 08F830 8008EC30 27BD0028 */ addiu $sp, $sp, 0x28
|
|
|
|
glabel func_8008EC34
|
|
/* 08F834 8008EC34 AFA50004 */ sw $a1, 4($sp)
|
|
/* 08F838 8008EC38 8C9800BC */ lw $t8, 0xbc($a0)
|
|
/* 08F83C 8008EC3C 00057600 */ sll $t6, $a1, 0x18
|
|
/* 08F840 8008EC40 3C01FDFF */ lui $at, (0xFDFFFFFF >> 16) # lui $at, 0xfdff
|
|
/* 08F844 8008EC44 000E7E03 */ sra $t7, $t6, 0x18
|
|
/* 08F848 8008EC48 3421FFFF */ ori $at, (0xFDFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
|
/* 08F84C 8008EC4C 3C098016 */ lui $t1, %hi(D_80165190) # $t1, 0x8016
|
|
/* 08F850 8008EC50 25295190 */ addiu $t1, %lo(D_80165190) # addiu $t1, $t1, 0x5190
|
|
/* 08F854 8008EC54 000F4040 */ sll $t0, $t7, 1
|
|
/* 08F858 8008EC58 0301C824 */ and $t9, $t8, $at
|
|
/* 08F85C 8008EC5C 24030001 */ li $v1, 1
|
|
/* 08F860 8008EC60 AC9900BC */ sw $t9, 0xbc($a0)
|
|
/* 08F864 8008EC64 A48000A8 */ sh $zero, 0xa8($a0)
|
|
/* 08F868 8008EC68 A4800236 */ sh $zero, 0x236($a0)
|
|
/* 08F86C 8008EC6C 01091021 */ addu $v0, $t0, $t1
|
|
/* 08F870 8008EC70 A4430000 */ sh $v1, ($v0)
|
|
/* 08F874 8008EC74 A4430010 */ sh $v1, 0x10($v0)
|
|
/* 08F878 8008EC78 A4430020 */ sh $v1, 0x20($v0)
|
|
/* 08F87C 8008EC7C A4430030 */ sh $v1, 0x30($v0)
|
|
/* 08F880 8008EC80 03E00008 */ jr $ra
|
|
/* 08F884 8008EC84 A4800042 */ sh $zero, 0x42($a0)
|
|
|
|
glabel func_8008EC88
|
|
/* 08F888 8008EC88 27BDFFD8 */ addiu $sp, $sp, -0x28
|
|
/* 08F88C 8008EC8C AFA5002C */ sw $a1, 0x2c($sp)
|
|
/* 08F890 8008EC90 00A07025 */ move $t6, $a1
|
|
/* 08F894 8008EC94 000E2E00 */ sll $a1, $t6, 0x18
|
|
/* 08F898 8008EC98 AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* 08F89C 8008EC9C AFB00018 */ sw $s0, 0x18($sp)
|
|
/* 08F8A0 8008ECA0 00057E03 */ sra $t7, $a1, 0x18
|
|
/* 08F8A4 8008ECA4 00808025 */ move $s0, $a0
|
|
/* 08F8A8 8008ECA8 01E02825 */ move $a1, $t7
|
|
/* 08F8AC 8008ECAC 0C0230D5 */ jal func_8008C354
|
|
/* 08F8B0 8008ECB0 A3AE002F */ sb $t6, 0x2f($sp)
|
|
/* 08F8B4 8008ECB4 8E1800BC */ lw $t8, 0xbc($s0)
|
|
/* 08F8B8 8008ECB8 3C010010 */ lui $at, 0x10
|
|
/* 08F8BC 8008ECBC 8E08000C */ lw $t0, 0xc($s0)
|
|
/* 08F8C0 8008ECC0 0301C825 */ or $t9, $t8, $at
|
|
/* 08F8C4 8008ECC4 3C01FF7F */ lui $at, (0xFF7FFFFF >> 16) # lui $at, 0xff7f
|
|
/* 08F8C8 8008ECC8 3421FFFF */ ori $at, (0xFF7FFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
|
/* 08F8CC 8008ECCC 01014824 */ and $t1, $t0, $at
|
|
/* 08F8D0 8008ECD0 83A6002F */ lb $a2, 0x2f($sp)
|
|
/* 08F8D4 8008ECD4 3C014100 */ li $at, 0x41000000 # 8.000000
|
|
/* 08F8D8 8008ECD8 44812000 */ mtc1 $at, $f4
|
|
/* 08F8DC 8008ECDC AE1900BC */ sw $t9, 0xbc($s0)
|
|
/* 08F8E0 8008ECE0 AE09000C */ sw $t1, 0xc($s0)
|
|
/* 08F8E4 8008ECE4 A6000DB4 */ sh $zero, 0xdb4($s0)
|
|
/* 08F8E8 8008ECE8 3C0A8016 */ lui $t2, %hi(D_8015F890) # $t2, 0x8016
|
|
/* 08F8EC 8008ECEC E6040DBC */ swc1 $f4, 0xdbc($s0)
|
|
/* 08F8F0 8008ECF0 954AF890 */ lhu $t2, %lo(D_8015F890)($t2)
|
|
/* 08F8F4 8008ECF4 24010001 */ li $at, 1
|
|
/* 08F8F8 8008ECF8 3C0E800E */ lui $t6, %hi(D_800DC4DC) # $t6, 0x800e
|
|
/* 08F8FC 8008ECFC 11410015 */ beq $t2, $at, .L8008ED54
|
|
/* 08F900 8008ED00 00000000 */ nop
|
|
/* 08F904 8008ED04 96020000 */ lhu $v0, ($s0)
|
|
/* 08F908 8008ED08 24014000 */ li $at, 16384
|
|
/* 08F90C 8008ED0C 304B4000 */ andi $t3, $v0, 0x4000
|
|
/* 08F910 8008ED10 1561001F */ bne $t3, $at, .L8008ED90
|
|
/* 08F914 8008ED14 304C0100 */ andi $t4, $v0, 0x100
|
|
/* 08F918 8008ED18 1580001D */ bnez $t4, .L8008ED90
|
|
/* 08F91C 8008ED1C 30C400FF */ andi $a0, $a2, 0xff
|
|
/* 08F920 8008ED20 96050254 */ lhu $a1, 0x254($s0)
|
|
/* 08F924 8008ED24 3C012900 */ lui $at, (0x29008001 >> 16) # lui $at, 0x2900
|
|
/* 08F928 8008ED28 34218001 */ ori $at, (0x29008001 & 0xFFFF) # ori $at, $at, 0x8001
|
|
/* 08F92C 8008ED2C 00056900 */ sll $t5, $a1, 4
|
|
/* 08F930 8008ED30 01A12821 */ addu $a1, $t5, $at
|
|
/* 08F934 8008ED34 0C03243D */ jal func_800C90F4
|
|
/* 08F938 8008ED38 AFA40024 */ sw $a0, 0x24($sp)
|
|
/* 08F93C 8008ED3C 3C051900 */ lui $a1, (0x1900A40B >> 16) # lui $a1, 0x1900
|
|
/* 08F940 8008ED40 8FA40024 */ lw $a0, 0x24($sp)
|
|
/* 08F944 8008ED44 0C032418 */ jal func_800C9060
|
|
/* 08F948 8008ED48 34A5A40B */ ori $a1, (0x1900A40B & 0xFFFF) # ori $a1, $a1, 0xa40b
|
|
/* 08F94C 8008ED4C 10000011 */ b .L8008ED94
|
|
/* 08F950 8008ED50 86180044 */ lh $t8, 0x44($s0)
|
|
.L8008ED54:
|
|
/* 08F954 8008ED54 8DCEC4DC */ lw $t6, %lo(D_800DC4DC)($t6)
|
|
/* 08F958 8008ED58 30C400FF */ andi $a0, $a2, 0xff
|
|
/* 08F95C 8008ED5C 3C012900 */ lui $at, (0x29008001 >> 16) # lui $at, 0x2900
|
|
/* 08F960 8008ED60 560E000C */ bnel $s0, $t6, .L8008ED94
|
|
/* 08F964 8008ED64 86180044 */ lh $t8, 0x44($s0)
|
|
/* 08F968 8008ED68 96050254 */ lhu $a1, 0x254($s0)
|
|
/* 08F96C 8008ED6C 34218001 */ ori $at, (0x29008001 & 0xFFFF) # ori $at, $at, 0x8001
|
|
/* 08F970 8008ED70 AFA40024 */ sw $a0, 0x24($sp)
|
|
/* 08F974 8008ED74 00057900 */ sll $t7, $a1, 4
|
|
/* 08F978 8008ED78 0C03243D */ jal func_800C90F4
|
|
/* 08F97C 8008ED7C 01E12821 */ addu $a1, $t7, $at
|
|
/* 08F980 8008ED80 3C051900 */ lui $a1, (0x1900A40B >> 16) # lui $a1, 0x1900
|
|
/* 08F984 8008ED84 8FA40024 */ lw $a0, 0x24($sp)
|
|
/* 08F988 8008ED88 0C032418 */ jal func_800C9060
|
|
/* 08F98C 8008ED8C 34A5A40B */ ori $a1, (0x1900A40B & 0xFFFF) # ori $a1, $a1, 0xa40b
|
|
.L8008ED90:
|
|
/* 08F990 8008ED90 86180044 */ lh $t8, 0x44($s0)
|
|
.L8008ED94:
|
|
/* 08F994 8008ED94 8E0800BC */ lw $t0, 0xbc($s0)
|
|
/* 08F998 8008ED98 2401FFDF */ li $at, -33
|
|
/* 08F99C 8008ED9C 3319FFFE */ andi $t9, $t8, 0xfffe
|
|
/* 08F9A0 8008EDA0 01014824 */ and $t1, $t0, $at
|
|
/* 08F9A4 8008EDA4 A6190044 */ sh $t9, 0x44($s0)
|
|
/* 08F9A8 8008EDA8 AE0900BC */ sw $t1, 0xbc($s0)
|
|
/* 08F9AC 8008EDAC 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* 08F9B0 8008EDB0 8FB00018 */ lw $s0, 0x18($sp)
|
|
/* 08F9B4 8008EDB4 27BD0028 */ addiu $sp, $sp, 0x28
|
|
/* 08F9B8 8008EDB8 03E00008 */ jr $ra
|
|
/* 08F9BC 8008EDBC 00000000 */ nop
|
|
|
|
glabel func_8008EDC0
|
|
/* 08F9C0 8008EDC0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 08F9C4 8008EDC4 AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 08F9C8 8008EDC8 948E0256 */ lhu $t6, 0x256($a0)
|
|
/* 08F9CC 8008EDCC C4840214 */ lwc1 $f4, 0x214($a0)
|
|
/* 08F9D0 8008EDD0 00803825 */ move $a3, $a0
|
|
/* 08F9D4 8008EDD4 19C00004 */ blez $t6, .L8008EDE8
|
|
/* 08F9D8 8008EDD8 E484009C */ swc1 $f4, 0x9c($a0)
|
|
/* 08F9DC 8008EDDC 44803000 */ mtc1 $zero, $f6
|
|
/* 08F9E0 8008EDE0 00000000 */ nop
|
|
/* 08F9E4 8008EDE4 E486009C */ swc1 $f6, 0x9c($a0)
|
|
.L8008EDE8:
|
|
/* 08F9E8 8008EDE8 94EF00F8 */ lhu $t7, 0xf8($a3)
|
|
/* 08F9EC 8008EDEC 240100FE */ li $at, 254
|
|
/* 08F9F0 8008EDF0 24E40080 */ addiu $a0, $a3, 0x80
|
|
/* 08F9F4 8008EDF4 11E1000D */ beq $t7, $at, .L8008EE2C
|
|
/* 08F9F8 8008EDF8 3C0543C8 */ lui $a1, 0x43c8
|
|
/* 08F9FC 8008EDFC 8CF800BC */ lw $t8, 0xbc($a3)
|
|
/* 08FA00 8008EE00 24010008 */ li $at, 8
|
|
/* 08FA04 8008EE04 3C063F80 */ lui $a2, 0x3f80
|
|
/* 08FA08 8008EE08 33190008 */ andi $t9, $t8, 8
|
|
/* 08FA0C 8008EE0C 53210008 */ beql $t9, $at, .L8008EE30
|
|
/* 08FA10 8008EE10 3C063C23 */ lui $a2, 0x3c23
|
|
/* 08FA14 8008EE14 24E40080 */ addiu $a0, $a3, 0x80
|
|
/* 08FA18 8008EE18 24050000 */ li $a1, 0
|
|
/* 08FA1C 8008EE1C 0C008973 */ jal func_800225CC
|
|
/* 08FA20 8008EE20 AFA70018 */ sw $a3, 0x18($sp)
|
|
/* 08FA24 8008EE24 10000006 */ b .L8008EE40
|
|
/* 08FA28 8008EE28 8FA70018 */ lw $a3, 0x18($sp)
|
|
.L8008EE2C:
|
|
/* 08FA2C 8008EE2C 3C063C23 */ lui $a2, (0x3C23D70A >> 16) # lui $a2, 0x3c23
|
|
.L8008EE30:
|
|
/* 08FA30 8008EE30 34C6D70A */ ori $a2, (0x3C23D70A & 0xFFFF) # ori $a2, $a2, 0xd70a
|
|
/* 08FA34 8008EE34 0C008973 */ jal func_800225CC
|
|
/* 08FA38 8008EE38 AFA70018 */ sw $a3, 0x18($sp)
|
|
/* 08FA3C 8008EE3C 8FA70018 */ lw $a3, 0x18($sp)
|
|
.L8008EE40:
|
|
/* 08FA40 8008EE40 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
|
/* 08FA44 8008EE44 44814000 */ mtc1 $at, $f8
|
|
/* 08FA48 8008EE48 C4EA0080 */ lwc1 $f10, 0x80($a3)
|
|
/* 08FA4C 8008EE4C 3C01FFEF */ lui $at, (0xFFEFFFFF >> 16) # lui $at, 0xffef
|
|
/* 08FA50 8008EE50 3421FFFF */ ori $at, (0xFFEFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
|
/* 08FA54 8008EE54 4608503E */ c.le.s $f10, $f8
|
|
/* 08FA58 8008EE58 00000000 */ nop
|
|
/* 08FA5C 8008EE5C 45020016 */ bc1fl .L8008EEB8
|
|
/* 08FA60 8008EE60 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 08FA64 8008EE64 8CE800BC */ lw $t0, 0xbc($a3)
|
|
/* 08FA68 8008EE68 84EA00C2 */ lh $t2, 0xc2($a3)
|
|
/* 08FA6C 8008EE6C 44808000 */ mtc1 $zero, $f16
|
|
/* 08FA70 8008EE70 01014824 */ and $t1, $t0, $at
|
|
/* 08FA74 8008EE74 29410033 */ slti $at, $t2, 0x33
|
|
/* 08FA78 8008EE78 ACE900BC */ sw $t1, 0xbc($a3)
|
|
/* 08FA7C 8008EE7C 1420000D */ bnez $at, .L8008EEB4
|
|
/* 08FA80 8008EE80 E4F00080 */ swc1 $f16, 0x80($a3)
|
|
/* 08FA84 8008EE84 C4F2009C */ lwc1 $f18, 0x9c($a3)
|
|
/* 08FA88 8008EE88 3C01800F */ lui $at, %hi(D_800EF5A0)
|
|
/* 08FA8C 8008EE8C D420F5A0 */ ldc1 $f0, %lo(D_800EF5A0)($at)
|
|
/* 08FA90 8008EE90 C4EA008C */ lwc1 $f10, 0x8c($a3)
|
|
/* 08FA94 8008EE94 46009121 */ cvt.d.s $f4, $f18
|
|
/* 08FA98 8008EE98 46202182 */ mul.d $f6, $f4, $f0
|
|
/* 08FA9C 8008EE9C 46005421 */ cvt.d.s $f16, $f10
|
|
/* 08FAA0 8008EEA0 46208482 */ mul.d $f18, $f16, $f0
|
|
/* 08FAA4 8008EEA4 46203220 */ cvt.s.d $f8, $f6
|
|
/* 08FAA8 8008EEA8 46209120 */ cvt.s.d $f4, $f18
|
|
/* 08FAAC 8008EEAC E4E8009C */ swc1 $f8, 0x9c($a3)
|
|
/* 08FAB0 8008EEB0 E4E4008C */ swc1 $f4, 0x8c($a3)
|
|
.L8008EEB4:
|
|
/* 08FAB4 8008EEB4 8FBF0014 */ lw $ra, 0x14($sp)
|
|
.L8008EEB8:
|
|
/* 08FAB8 8008EEB8 27BD0018 */ addiu $sp, $sp, 0x18
|
|
/* 08FABC 8008EEBC 03E00008 */ jr $ra
|
|
/* 08FAC0 8008EEC0 00000000 */ nop
|
|
|
|
glabel func_8008EEC4
|
|
/* 08FAC4 8008EEC4 8C8E00BC */ lw $t6, 0xbc($a0)
|
|
/* 08FAC8 8008EEC8 3C01FFEF */ lui $at, (0xFFEFFFFF >> 16) # lui $at, 0xffef
|
|
/* 08FACC 8008EECC 44802000 */ mtc1 $zero, $f4
|
|
/* 08FAD0 8008EED0 3421FFFF */ ori $at, (0xFFEFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
|
/* 08FAD4 8008EED4 01C17824 */ and $t7, $t6, $at
|
|
/* 08FAD8 8008EED8 AC8F00BC */ sw $t7, 0xbc($a0)
|
|
/* 08FADC 8008EEDC 03E00008 */ jr $ra
|
|
/* 08FAE0 8008EEE0 E4840080 */ swc1 $f4, 0x80($a0)
|
|
|
|
glabel func_8008EEE4
|
|
/* 08FAE4 8008EEE4 27BDFFD8 */ addiu $sp, $sp, -0x28
|
|
/* 08FAE8 8008EEE8 AFA5002C */ sw $a1, 0x2c($sp)
|
|
/* 08FAEC 8008EEEC 00A07025 */ move $t6, $a1
|
|
/* 08FAF0 8008EEF0 000E2E00 */ sll $a1, $t6, 0x18
|
|
/* 08FAF4 8008EEF4 AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* 08FAF8 8008EEF8 AFB00018 */ sw $s0, 0x18($sp)
|
|
/* 08FAFC 8008EEFC 00057E03 */ sra $t7, $a1, 0x18
|
|
/* 08FB00 8008EF00 00808025 */ move $s0, $a0
|
|
/* 08FB04 8008EF04 01E02825 */ move $a1, $t7
|
|
/* 08FB08 8008EF08 0C0230D5 */ jal func_8008C354
|
|
/* 08FB0C 8008EF0C A3AE002F */ sb $t6, 0x2f($sp)
|
|
/* 08FB10 8008EF10 8E1800BC */ lw $t8, 0xbc($s0)
|
|
/* 08FB14 8008EF14 8E08000C */ lw $t0, 0xc($s0)
|
|
/* 08FB18 8008EF18 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff
|
|
/* 08FB1C 8008EF1C 83A6002F */ lb $a2, 0x2f($sp)
|
|
/* 08FB20 8008EF20 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff
|
|
/* 08FB24 8008EF24 37190004 */ ori $t9, $t8, 4
|
|
/* 08FB28 8008EF28 01014824 */ and $t1, $t0, $at
|
|
/* 08FB2C 8008EF2C AE1900BC */ sw $t9, 0xbc($s0)
|
|
/* 08FB30 8008EF30 AE09000C */ sw $t1, 0xc($s0)
|
|
/* 08FB34 8008EF34 3C0A8016 */ lui $t2, %hi(D_8015F890) # $t2, 0x8016
|
|
/* 08FB38 8008EF38 954AF890 */ lhu $t2, %lo(D_8015F890)($t2)
|
|
/* 08FB3C 8008EF3C 24010001 */ li $at, 1
|
|
/* 08FB40 8008EF40 3C0E800E */ lui $t6, %hi(D_800DC4DC) # $t6, 0x800e
|
|
/* 08FB44 8008EF44 11410015 */ beq $t2, $at, .L8008EF9C
|
|
/* 08FB48 8008EF48 00000000 */ nop
|
|
/* 08FB4C 8008EF4C 96020000 */ lhu $v0, ($s0)
|
|
/* 08FB50 8008EF50 24014000 */ li $at, 16384
|
|
/* 08FB54 8008EF54 304B4000 */ andi $t3, $v0, 0x4000
|
|
/* 08FB58 8008EF58 1561001F */ bne $t3, $at, .L8008EFD8
|
|
/* 08FB5C 8008EF5C 304C0100 */ andi $t4, $v0, 0x100
|
|
/* 08FB60 8008EF60 1580001D */ bnez $t4, .L8008EFD8
|
|
/* 08FB64 8008EF64 30C400FF */ andi $a0, $a2, 0xff
|
|
/* 08FB68 8008EF68 96050254 */ lhu $a1, 0x254($s0)
|
|
/* 08FB6C 8008EF6C 3C012900 */ lui $at, (0x29008001 >> 16) # lui $at, 0x2900
|
|
/* 08FB70 8008EF70 34218001 */ ori $at, (0x29008001 & 0xFFFF) # ori $at, $at, 0x8001
|
|
/* 08FB74 8008EF74 00056900 */ sll $t5, $a1, 4
|
|
/* 08FB78 8008EF78 01A12821 */ addu $a1, $t5, $at
|
|
/* 08FB7C 8008EF7C 0C03243D */ jal func_800C90F4
|
|
/* 08FB80 8008EF80 AFA40024 */ sw $a0, 0x24($sp)
|
|
/* 08FB84 8008EF84 3C051900 */ lui $a1, (0x1900A40B >> 16) # lui $a1, 0x1900
|
|
/* 08FB88 8008EF88 8FA40024 */ lw $a0, 0x24($sp)
|
|
/* 08FB8C 8008EF8C 0C032418 */ jal func_800C9060
|
|
/* 08FB90 8008EF90 34A5A40B */ ori $a1, (0x1900A40B & 0xFFFF) # ori $a1, $a1, 0xa40b
|
|
/* 08FB94 8008EF94 10000011 */ b .L8008EFDC
|
|
/* 08FB98 8008EF98 86180044 */ lh $t8, 0x44($s0)
|
|
.L8008EF9C:
|
|
/* 08FB9C 8008EF9C 8DCEC4DC */ lw $t6, %lo(D_800DC4DC)($t6)
|
|
/* 08FBA0 8008EFA0 30C400FF */ andi $a0, $a2, 0xff
|
|
/* 08FBA4 8008EFA4 3C012900 */ lui $at, (0x29008001 >> 16) # lui $at, 0x2900
|
|
/* 08FBA8 8008EFA8 560E000C */ bnel $s0, $t6, .L8008EFDC
|
|
/* 08FBAC 8008EFAC 86180044 */ lh $t8, 0x44($s0)
|
|
/* 08FBB0 8008EFB0 96050254 */ lhu $a1, 0x254($s0)
|
|
/* 08FBB4 8008EFB4 34218001 */ ori $at, (0x29008001 & 0xFFFF) # ori $at, $at, 0x8001
|
|
/* 08FBB8 8008EFB8 AFA40024 */ sw $a0, 0x24($sp)
|
|
/* 08FBBC 8008EFBC 00057900 */ sll $t7, $a1, 4
|
|
/* 08FBC0 8008EFC0 0C03243D */ jal func_800C90F4
|
|
/* 08FBC4 8008EFC4 01E12821 */ addu $a1, $t7, $at
|
|
/* 08FBC8 8008EFC8 3C051900 */ lui $a1, (0x1900A40B >> 16) # lui $a1, 0x1900
|
|
/* 08FBCC 8008EFCC 8FA40024 */ lw $a0, 0x24($sp)
|
|
/* 08FBD0 8008EFD0 0C032418 */ jal func_800C9060
|
|
/* 08FBD4 8008EFD4 34A5A40B */ ori $a1, (0x1900A40B & 0xFFFF) # ori $a1, $a1, 0xa40b
|
|
.L8008EFD8:
|
|
/* 08FBD8 8008EFD8 86180044 */ lh $t8, 0x44($s0)
|
|
.L8008EFDC:
|
|
/* 08FBDC 8008EFDC 8E0800BC */ lw $t0, 0xbc($s0)
|
|
/* 08FBE0 8008EFE0 2401FFDF */ li $at, -33
|
|
/* 08FBE4 8008EFE4 3319FFFE */ andi $t9, $t8, 0xfffe
|
|
/* 08FBE8 8008EFE8 01014824 */ and $t1, $t0, $at
|
|
/* 08FBEC 8008EFEC A6190044 */ sh $t9, 0x44($s0)
|
|
/* 08FBF0 8008EFF0 AE0900BC */ sw $t1, 0xbc($s0)
|
|
/* 08FBF4 8008EFF4 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* 08FBF8 8008EFF8 8FB00018 */ lw $s0, 0x18($sp)
|
|
/* 08FBFC 8008EFFC 27BD0028 */ addiu $sp, $sp, 0x28
|
|
/* 08FC00 8008F000 03E00008 */ jr $ra
|
|
/* 08FC04 8008F004 00000000 */ nop
|
|
|
|
glabel func_8008F008
|
|
/* 08FC08 8008F008 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 08FC0C 8008F00C AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 08FC10 8008F010 948F0254 */ lhu $t7, 0x254($a0)
|
|
/* 08FC14 8008F014 3C0E800E */ lui $t6, %hi(D_800E261C) # $t6, 0x800e
|
|
/* 08FC18 8008F018 8DCE261C */ lw $t6, %lo(D_800E261C)($t6)
|
|
/* 08FC1C 8008F01C 000FC080 */ sll $t8, $t7, 2
|
|
/* 08FC20 8008F020 948800F8 */ lhu $t0, 0xf8($a0)
|
|
/* 08FC24 8008F024 01D8C821 */ addu $t9, $t6, $t8
|
|
/* 08FC28 8008F028 C7240000 */ lwc1 $f4, ($t9)
|
|
/* 08FC2C 8008F02C 240100FC */ li $at, 252
|
|
/* 08FC30 8008F030 00803825 */ move $a3, $a0
|
|
/* 08FC34 8008F034 1101000C */ beq $t0, $at, .L8008F068
|
|
/* 08FC38 8008F038 E484009C */ swc1 $f4, 0x9c($a0)
|
|
/* 08FC3C 8008F03C 8C8900BC */ lw $t1, 0xbc($a0)
|
|
/* 08FC40 8008F040 24010008 */ li $at, 8
|
|
/* 08FC44 8008F044 24840080 */ addiu $a0, $a0, 0x80
|
|
/* 08FC48 8008F048 312A0008 */ andi $t2, $t1, 8
|
|
/* 08FC4C 8008F04C 11410006 */ beq $t2, $at, .L8008F068
|
|
/* 08FC50 8008F050 24050000 */ li $a1, 0
|
|
/* 08FC54 8008F054 3C063F80 */ lui $a2, 0x3f80
|
|
/* 08FC58 8008F058 0C008973 */ jal func_800225CC
|
|
/* 08FC5C 8008F05C AFA70018 */ sw $a3, 0x18($sp)
|
|
/* 08FC60 8008F060 10000008 */ b .L8008F084
|
|
/* 08FC64 8008F064 8FA70018 */ lw $a3, 0x18($sp)
|
|
.L8008F068:
|
|
/* 08FC68 8008F068 3C063DCC */ lui $a2, (0x3DCCCCCD >> 16) # lui $a2, 0x3dcc
|
|
/* 08FC6C 8008F06C 34C6CCCD */ ori $a2, (0x3DCCCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd
|
|
/* 08FC70 8008F070 24E40080 */ addiu $a0, $a3, 0x80
|
|
/* 08FC74 8008F074 3C054396 */ lui $a1, 0x4396
|
|
/* 08FC78 8008F078 0C008973 */ jal func_800225CC
|
|
/* 08FC7C 8008F07C AFA70018 */ sw $a3, 0x18($sp)
|
|
/* 08FC80 8008F080 8FA70018 */ lw $a3, 0x18($sp)
|
|
.L8008F084:
|
|
/* 08FC84 8008F084 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
|
/* 08FC88 8008F088 44813000 */ mtc1 $at, $f6
|
|
/* 08FC8C 8008F08C C4E80080 */ lwc1 $f8, 0x80($a3)
|
|
/* 08FC90 8008F090 3C014000 */ li $at, 0x40000000 # 2.000000
|
|
/* 08FC94 8008F094 4606403E */ c.le.s $f8, $f6
|
|
/* 08FC98 8008F098 00000000 */ nop
|
|
/* 08FC9C 8008F09C 4502000F */ bc1fl .L8008F0DC
|
|
/* 08FCA0 8008F0A0 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 08FCA4 8008F0A4 44810000 */ mtc1 $at, $f0
|
|
/* 08FCA8 8008F0A8 C4F0009C */ lwc1 $f16, 0x9c($a3)
|
|
/* 08FCAC 8008F0AC C4E4008C */ lwc1 $f4, 0x8c($a3)
|
|
/* 08FCB0 8008F0B0 8CEB00BC */ lw $t3, 0xbc($a3)
|
|
/* 08FCB4 8008F0B4 46008483 */ div.s $f18, $f16, $f0
|
|
/* 08FCB8 8008F0B8 44805000 */ mtc1 $zero, $f10
|
|
/* 08FCBC 8008F0BC 2401FFFB */ li $at, -5
|
|
/* 08FCC0 8008F0C0 01616024 */ and $t4, $t3, $at
|
|
/* 08FCC4 8008F0C4 ACEC00BC */ sw $t4, 0xbc($a3)
|
|
/* 08FCC8 8008F0C8 E4EA0080 */ swc1 $f10, 0x80($a3)
|
|
/* 08FCCC 8008F0CC 46002183 */ div.s $f6, $f4, $f0
|
|
/* 08FCD0 8008F0D0 E4F2009C */ swc1 $f18, 0x9c($a3)
|
|
/* 08FCD4 8008F0D4 E4E6008C */ swc1 $f6, 0x8c($a3)
|
|
/* 08FCD8 8008F0D8 8FBF0014 */ lw $ra, 0x14($sp)
|
|
.L8008F0DC:
|
|
/* 08FCDC 8008F0DC 27BD0018 */ addiu $sp, $sp, 0x18
|
|
/* 08FCE0 8008F0E0 03E00008 */ jr $ra
|
|
/* 08FCE4 8008F0E4 00000000 */ nop
|
|
|
|
glabel func_8008F0E8
|
|
/* 08FCE8 8008F0E8 8C8E00BC */ lw $t6, 0xbc($a0)
|
|
/* 08FCEC 8008F0EC 44802000 */ mtc1 $zero, $f4
|
|
/* 08FCF0 8008F0F0 2401FFFB */ li $at, -5
|
|
/* 08FCF4 8008F0F4 01C17824 */ and $t7, $t6, $at
|
|
/* 08FCF8 8008F0F8 AC8F00BC */ sw $t7, 0xbc($a0)
|
|
/* 08FCFC 8008F0FC 03E00008 */ jr $ra
|
|
/* 08FD00 8008F100 E4840080 */ swc1 $f4, 0x80($a0)
|
|
|
|
glabel func_8008F104
|
|
/* 08FD04 8008F104 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 08FD08 8008F108 AFA5001C */ sw $a1, 0x1c($sp)
|
|
/* 08FD0C 8008F10C 00A07025 */ move $t6, $a1
|
|
/* 08FD10 8008F110 000E2E00 */ sll $a1, $t6, 0x18
|
|
/* 08FD14 8008F114 AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 08FD18 8008F118 00057E03 */ sra $t7, $a1, 0x18
|
|
/* 08FD1C 8008F11C 01E02825 */ move $a1, $t7
|
|
/* 08FD20 8008F120 A3AE001F */ sb $t6, 0x1f($sp)
|
|
/* 08FD24 8008F124 0C0230D5 */ jal func_8008C354
|
|
/* 08FD28 8008F128 AFA40018 */ sw $a0, 0x18($sp)
|
|
/* 08FD2C 8008F12C 8FA60018 */ lw $a2, 0x18($sp)
|
|
/* 08FD30 8008F130 83A7001F */ lb $a3, 0x1f($sp)
|
|
/* 08FD34 8008F134 24190002 */ li $t9, 2
|
|
/* 08FD38 8008F138 8CC800BC */ lw $t0, 0xbc($a2)
|
|
/* 08FD3C 8008F13C 84D8002E */ lh $t8, 0x2e($a2)
|
|
/* 08FD40 8008F140 3C018019 */ lui $at, %hi(D_8018D920) # 0x8019
|
|
/* 08FD44 8008F144 00075840 */ sll $t3, $a3, 1
|
|
/* 08FD48 8008F148 35094000 */ ori $t1, $t0, 0x4000
|
|
/* 08FD4C 8008F14C 002B0821 */ addu $at, $at, $t3
|
|
/* 08FD50 8008F150 240A8000 */ li $t2, -32768
|
|
/* 08FD54 8008F154 A4D900B2 */ sh $t9, 0xb2($a2)
|
|
/* 08FD58 8008F158 A4C000C0 */ sh $zero, 0xc0($a2)
|
|
/* 08FD5C 8008F15C ACC0007C */ sw $zero, 0x7c($a2)
|
|
/* 08FD60 8008F160 ACC900BC */ sw $t1, 0xbc($a2)
|
|
/* 08FD64 8008F164 A4C00078 */ sh $zero, 0x78($a2)
|
|
/* 08FD68 8008F168 A4D800AE */ sh $t8, 0xae($a2)
|
|
/* 08FD6C 8008F16C A42AD920 */ sh $t2, %lo(D_8018D920)($at) # -0x26e0($at)
|
|
/* 08FD70 8008F170 94C20000 */ lhu $v0, ($a2)
|
|
/* 08FD74 8008F174 24014000 */ li $at, 16384
|
|
/* 08FD78 8008F178 304C4000 */ andi $t4, $v0, 0x4000
|
|
/* 08FD7C 8008F17C 1581000A */ bne $t4, $at, .L8008F1A8
|
|
/* 08FD80 8008F180 304D0100 */ andi $t5, $v0, 0x100
|
|
/* 08FD84 8008F184 24010100 */ li $at, 256
|
|
/* 08FD88 8008F188 11A10007 */ beq $t5, $at, .L8008F1A8
|
|
/* 08FD8C 8008F18C 30E400FF */ andi $a0, $a3, 0xff
|
|
/* 08FD90 8008F190 94C50254 */ lhu $a1, 0x254($a2)
|
|
/* 08FD94 8008F194 3C012900 */ lui $at, (0x29008003 >> 16) # lui $at, 0x2900
|
|
/* 08FD98 8008F198 34218003 */ ori $at, (0x29008003 & 0xFFFF) # ori $at, $at, 0x8003
|
|
/* 08FD9C 8008F19C 00057100 */ sll $t6, $a1, 4
|
|
/* 08FDA0 8008F1A0 0C03243D */ jal func_800C90F4
|
|
/* 08FDA4 8008F1A4 01C12821 */ addu $a1, $t6, $at
|
|
.L8008F1A8:
|
|
/* 08FDA8 8008F1A8 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 08FDAC 8008F1AC 27BD0018 */ addiu $sp, $sp, 0x18
|
|
/* 08FDB0 8008F1B0 03E00008 */ jr $ra
|
|
/* 08FDB4 8008F1B4 00000000 */ nop
|
|
|
|
glabel func_8008F1B8
|
|
/* 08FDB8 8008F1B8 AFA50004 */ sw $a1, 4($sp)
|
|
/* 08FDBC 8008F1BC C4840210 */ lwc1 $f4, 0x210($a0)
|
|
/* 08FDC0 8008F1C0 3C01800F */ lui $at, %hi(D_800EF5A8)
|
|
/* 08FDC4 8008F1C4 D428F5A8 */ ldc1 $f8, %lo(D_800EF5A8)($at)
|
|
/* 08FDC8 8008F1C8 460021A1 */ cvt.d.s $f6, $f4
|
|
/* 08FDCC 8008F1CC 848200B2 */ lh $v0, 0xb2($a0)
|
|
/* 08FDD0 8008F1D0 46283282 */ mul.d $f10, $f6, $f8
|
|
/* 08FDD4 8008F1D4 00057600 */ sll $t6, $a1, 0x18
|
|
/* 08FDD8 8008F1D8 000E7E03 */ sra $t7, $t6, 0x18
|
|
/* 08FDDC 8008F1DC 01E02825 */ move $a1, $t7
|
|
/* 08FDE0 8008F1E0 304E0001 */ andi $t6, $v0, 1
|
|
/* 08FDE4 8008F1E4 46205420 */ cvt.s.d $f16, $f10
|
|
/* 08FDE8 8008F1E8 04410043 */ bgez $v0, .L8008F2F8
|
|
/* 08FDEC 8008F1EC E490008C */ swc1 $f16, 0x8c($a0)
|
|
/* 08FDF0 8008F1F0 84980044 */ lh $t8, 0x44($a0)
|
|
/* 08FDF4 8008F1F4 24010080 */ li $at, 128
|
|
/* 08FDF8 8008F1F8 00056840 */ sll $t5, $a1, 1
|
|
/* 08FDFC 8008F1FC 33190080 */ andi $t9, $t8, 0x80
|
|
/* 08FE00 8008F200 17210020 */ bne $t9, $at, .L8008F284
|
|
/* 08FE04 8008F204 3C0E8019 */ lui $t6, %hi(D_8018D920) # 0x8019
|
|
/* 08FE08 8008F208 8488002E */ lh $t0, 0x2e($a0)
|
|
/* 08FE0C 8008F20C 3C0B8019 */ lui $t3, %hi(D_8018D920) # $t3, 0x8019
|
|
/* 08FE10 8008F210 256BD920 */ addiu $t3, %lo(D_8018D920) # addiu $t3, $t3, -0x26e0
|
|
/* 08FE14 8008F214 000F5040 */ sll $t2, $t7, 1
|
|
/* 08FE18 8008F218 250900B6 */ addiu $t1, $t0, 0xb6
|
|
/* 08FE1C 8008F21C A489002E */ sh $t1, 0x2e($a0)
|
|
/* 08FE20 8008F220 014B1021 */ addu $v0, $t2, $t3
|
|
/* 08FE24 8008F224 844C0000 */ lh $t4, ($v0)
|
|
/* 08FE28 8008F228 240100B6 */ li $at, 182
|
|
/* 08FE2C 8008F22C 258D00B6 */ addiu $t5, $t4, 0xb6
|
|
/* 08FE30 8008F230 31A3FFFF */ andi $v1, $t5, 0xffff
|
|
/* 08FE34 8008F234 0061001A */ div $zero, $v1, $at
|
|
/* 08FE38 8008F238 00007012 */ mflo $t6
|
|
/* 08FE3C 8008F23C 000E7C00 */ sll $t7, $t6, 0x10
|
|
/* 08FE40 8008F240 000FC403 */ sra $t8, $t7, 0x10
|
|
/* 08FE44 8008F244 240100B4 */ li $at, 180
|
|
/* 08FE48 8008F248 17010063 */ bne $t8, $at, .L8008F3D8
|
|
/* 08FE4C 8008F24C A44D0000 */ sh $t5, ($v0)
|
|
/* 08FE50 8008F250 8C9900BC */ lw $t9, 0xbc($a0)
|
|
/* 08FE54 8008F254 2401BFFF */ li $at, -16385
|
|
/* 08FE58 8008F258 C492009C */ lwc1 $f18, 0x9c($a0)
|
|
/* 08FE5C 8008F25C 03214024 */ and $t0, $t9, $at
|
|
/* 08FE60 8008F260 3C014040 */ li $at, 0x40400000 # 3.000000
|
|
/* 08FE64 8008F264 44812000 */ mtc1 $at, $f4
|
|
/* 08FE68 8008F268 94890000 */ lhu $t1, ($a0)
|
|
/* 08FE6C 8008F26C AC8800BC */ sw $t0, 0xbc($a0)
|
|
/* 08FE70 8008F270 46049183 */ div.s $f6, $f18, $f4
|
|
/* 08FE74 8008F274 312AFF7F */ andi $t2, $t1, 0xff7f
|
|
/* 08FE78 8008F278 A48A0000 */ sh $t2, ($a0)
|
|
/* 08FE7C 8008F27C 03E00008 */ jr $ra
|
|
/* 08FE80 8008F280 E486009C */ swc1 $f6, 0x9c($a0)
|
|
|
|
.L8008F284:
|
|
/* 08FE84 8008F284 848B002E */ lh $t3, 0x2e($a0)
|
|
/* 08FE88 8008F288 25CED920 */ addiu $t6, $t6, %lo(D_8018D920) # -0x26e0
|
|
/* 08FE8C 8008F28C 01AE1021 */ addu $v0, $t5, $t6
|
|
/* 08FE90 8008F290 256CFF4A */ addiu $t4, $t3, -0xb6
|
|
/* 08FE94 8008F294 A48C002E */ sh $t4, 0x2e($a0)
|
|
/* 08FE98 8008F298 844F0000 */ lh $t7, ($v0)
|
|
/* 08FE9C 8008F29C 240100B6 */ li $at, 182
|
|
/* 08FEA0 8008F2A0 25F8FF4A */ addiu $t8, $t7, -0xb6
|
|
/* 08FEA4 8008F2A4 3303FFFF */ andi $v1, $t8, 0xffff
|
|
/* 08FEA8 8008F2A8 0061001A */ div $zero, $v1, $at
|
|
/* 08FEAC 8008F2AC 0000C812 */ mflo $t9
|
|
/* 08FEB0 8008F2B0 00194400 */ sll $t0, $t9, 0x10
|
|
/* 08FEB4 8008F2B4 00084C03 */ sra $t1, $t0, 0x10
|
|
/* 08FEB8 8008F2B8 240100B4 */ li $at, 180
|
|
/* 08FEBC 8008F2BC 15210046 */ bne $t1, $at, .L8008F3D8
|
|
/* 08FEC0 8008F2C0 A4580000 */ sh $t8, ($v0)
|
|
/* 08FEC4 8008F2C4 8C8A00BC */ lw $t2, 0xbc($a0)
|
|
/* 08FEC8 8008F2C8 2401BFFF */ li $at, -16385
|
|
/* 08FECC 8008F2CC C488009C */ lwc1 $f8, 0x9c($a0)
|
|
/* 08FED0 8008F2D0 01415824 */ and $t3, $t2, $at
|
|
/* 08FED4 8008F2D4 3C014040 */ li $at, 0x40400000 # 3.000000
|
|
/* 08FED8 8008F2D8 44815000 */ mtc1 $at, $f10
|
|
/* 08FEDC 8008F2DC 948C0000 */ lhu $t4, ($a0)
|
|
/* 08FEE0 8008F2E0 AC8B00BC */ sw $t3, 0xbc($a0)
|
|
/* 08FEE4 8008F2E4 460A4403 */ div.s $f16, $f8, $f10
|
|
/* 08FEE8 8008F2E8 318DFF7F */ andi $t5, $t4, 0xff7f
|
|
/* 08FEEC 8008F2EC A48D0000 */ sh $t5, ($a0)
|
|
/* 08FEF0 8008F2F0 03E00008 */ jr $ra
|
|
/* 08FEF4 8008F2F4 E490009C */ swc1 $f16, 0x9c($a0)
|
|
|
|
.L8008F2F8:
|
|
/* 08FEF8 8008F2F8 11C0001D */ beqz $t6, .L8008F370
|
|
/* 08FEFC 8008F2FC 00056040 */ sll $t4, $a1, 1
|
|
/* 08FF00 8008F300 848F002E */ lh $t7, 0x2e($a0)
|
|
/* 08FF04 8008F304 3C088019 */ lui $t0, %hi(D_8018D920) # $t0, 0x8019
|
|
/* 08FF08 8008F308 2508D920 */ addiu $t0, %lo(D_8018D920) # addiu $t0, $t0, -0x26e0
|
|
/* 08FF0C 8008F30C 0005C840 */ sll $t9, $a1, 1
|
|
/* 08FF10 8008F310 25F8FE94 */ addiu $t8, $t7, -0x16c
|
|
/* 08FF14 8008F314 A498002E */ sh $t8, 0x2e($a0)
|
|
/* 08FF18 8008F318 03281021 */ addu $v0, $t9, $t0
|
|
/* 08FF1C 8008F31C 84490000 */ lh $t1, ($v0)
|
|
/* 08FF20 8008F320 2401016C */ li $at, 364
|
|
/* 08FF24 8008F324 252AFE94 */ addiu $t2, $t1, -0x16c
|
|
/* 08FF28 8008F328 3143FFFF */ andi $v1, $t2, 0xffff
|
|
/* 08FF2C 8008F32C 0061001A */ div $zero, $v1, $at
|
|
/* 08FF30 8008F330 00005812 */ mflo $t3
|
|
/* 08FF34 8008F334 000B6400 */ sll $t4, $t3, 0x10
|
|
/* 08FF38 8008F338 000C6C03 */ sra $t5, $t4, 0x10
|
|
/* 08FF3C 8008F33C 29A10047 */ slti $at, $t5, 0x47
|
|
/* 08FF40 8008F340 10200004 */ beqz $at, .L8008F354
|
|
/* 08FF44 8008F344 A44A0000 */ sh $t2, ($v0)
|
|
/* 08FF48 8008F348 848E00B2 */ lh $t6, 0xb2($a0)
|
|
/* 08FF4C 8008F34C 25CFFFFF */ addiu $t7, $t6, -1
|
|
/* 08FF50 8008F350 A48F00B2 */ sh $t7, 0xb2($a0)
|
|
.L8008F354:
|
|
/* 08FF54 8008F354 84980044 */ lh $t8, 0x44($a0)
|
|
/* 08FF58 8008F358 37190080 */ ori $t9, $t8, 0x80
|
|
/* 08FF5C 8008F35C A4990044 */ sh $t9, 0x44($a0)
|
|
/* 08FF60 8008F360 84880044 */ lh $t0, 0x44($a0)
|
|
/* 08FF64 8008F364 3109FFBF */ andi $t1, $t0, 0xffbf
|
|
/* 08FF68 8008F368 03E00008 */ jr $ra
|
|
/* 08FF6C 8008F36C A4890044 */ sh $t1, 0x44($a0)
|
|
|
|
.L8008F370:
|
|
/* 08FF70 8008F370 848A002E */ lh $t2, 0x2e($a0)
|
|
/* 08FF74 8008F374 3C0D8019 */ lui $t5, %hi(D_8018D920) # $t5, 0x8019
|
|
/* 08FF78 8008F378 25ADD920 */ addiu $t5, %lo(D_8018D920) # addiu $t5, $t5, -0x26e0
|
|
/* 08FF7C 8008F37C 254B016C */ addiu $t3, $t2, 0x16c
|
|
/* 08FF80 8008F380 A48B002E */ sh $t3, 0x2e($a0)
|
|
/* 08FF84 8008F384 018D1021 */ addu $v0, $t4, $t5
|
|
/* 08FF88 8008F388 844E0000 */ lh $t6, ($v0)
|
|
/* 08FF8C 8008F38C 2401016C */ li $at, 364
|
|
/* 08FF90 8008F390 25CF016C */ addiu $t7, $t6, 0x16c
|
|
/* 08FF94 8008F394 31E3FFFF */ andi $v1, $t7, 0xffff
|
|
/* 08FF98 8008F398 0061001A */ div $zero, $v1, $at
|
|
/* 08FF9C 8008F39C 0000C012 */ mflo $t8
|
|
/* 08FFA0 8008F3A0 0018CC00 */ sll $t9, $t8, 0x10
|
|
/* 08FFA4 8008F3A4 00194403 */ sra $t0, $t9, 0x10
|
|
/* 08FFA8 8008F3A8 2901006E */ slti $at, $t0, 0x6e
|
|
/* 08FFAC 8008F3AC 14200004 */ bnez $at, .L8008F3C0
|
|
/* 08FFB0 8008F3B0 A44F0000 */ sh $t7, ($v0)
|
|
/* 08FFB4 8008F3B4 848900B2 */ lh $t1, 0xb2($a0)
|
|
/* 08FFB8 8008F3B8 252AFFFF */ addiu $t2, $t1, -1
|
|
/* 08FFBC 8008F3BC A48A00B2 */ sh $t2, 0xb2($a0)
|
|
.L8008F3C0:
|
|
/* 08FFC0 8008F3C0 848B0044 */ lh $t3, 0x44($a0)
|
|
/* 08FFC4 8008F3C4 356C0040 */ ori $t4, $t3, 0x40
|
|
/* 08FFC8 8008F3C8 A48C0044 */ sh $t4, 0x44($a0)
|
|
/* 08FFCC 8008F3CC 848D0044 */ lh $t5, 0x44($a0)
|
|
/* 08FFD0 8008F3D0 31AEFF7F */ andi $t6, $t5, 0xff7f
|
|
/* 08FFD4 8008F3D4 A48E0044 */ sh $t6, 0x44($a0)
|
|
.L8008F3D8:
|
|
/* 08FFD8 8008F3D8 03E00008 */ jr $ra
|
|
/* 08FFDC 8008F3DC 00000000 */ nop
|
|
|
|
glabel func_8008F3E0
|
|
/* 08FFE0 8008F3E0 8C8E00BC */ lw $t6, 0xbc($a0)
|
|
/* 08FFE4 8008F3E4 2401BFFF */ li $at, -16385
|
|
/* 08FFE8 8008F3E8 01C17824 */ and $t7, $t6, $at
|
|
/* 08FFEC 8008F3EC 03E00008 */ jr $ra
|
|
/* 08FFF0 8008F3F0 AC8F00BC */ sw $t7, 0xbc($a0)
|
|
|
|
glabel func_8008F3F4
|
|
/* 08FFF4 8008F3F4 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 08FFF8 8008F3F8 AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 08FFFC 8008F3FC AFA5001C */ sw $a1, 0x1c($sp)
|
|
/* 090000 8008F400 3C014000 */ li $at, 0x40000000 # 2.000000
|
|
/* 090004 8008F404 44814000 */ mtc1 $at, $f8
|
|
/* 090008 8008F408 C486008C */ lwc1 $f6, 0x8c($a0)
|
|
/* 09000C 8008F40C 848E00A8 */ lh $t6, 0xa8($a0)
|
|
/* 090010 8008F410 84980042 */ lh $t8, 0x42($a0)
|
|
/* 090014 8008F414 46083283 */ div.s $f10, $f6, $f8
|
|
/* 090018 8008F418 25CF0080 */ addiu $t7, $t6, 0x80
|
|
/* 09001C 8008F41C A48F00A8 */ sh $t7, 0xa8($a0)
|
|
/* 090020 8008F420 848800A8 */ lh $t0, 0xa8($a0)
|
|
/* 090024 8008F424 44802000 */ mtc1 $zero, $f4
|
|
/* 090028 8008F428 2719071C */ addiu $t9, $t8, 0x71c
|
|
/* 09002C 8008F42C 29012000 */ slti $at, $t0, 0x2000
|
|
/* 090030 8008F430 A4990042 */ sh $t9, 0x42($a0)
|
|
/* 090034 8008F434 AC80007C */ sw $zero, 0x7c($a0)
|
|
/* 090038 8008F438 E484009C */ swc1 $f4, 0x9c($a0)
|
|
/* 09003C 8008F43C 14200011 */ bnez $at, .L8008F484
|
|
/* 090040 8008F440 E48A008C */ swc1 $f10, 0x8c($a0)
|
|
/* 090044 8008F444 84890236 */ lh $t1, 0x236($a0)
|
|
/* 090048 8008F448 A48000A8 */ sh $zero, 0xa8($a0)
|
|
/* 09004C 8008F44C 252AFFFF */ addiu $t2, $t1, -1
|
|
/* 090050 8008F450 A48A0236 */ sh $t2, 0x236($a0)
|
|
/* 090054 8008F454 848B0236 */ lh $t3, 0x236($a0)
|
|
/* 090058 8008F458 5560000B */ bnel $t3, $zero, .L8008F488
|
|
/* 09005C 8008F45C 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 090060 8008F460 8C8C00BC */ lw $t4, 0xbc($a0)
|
|
/* 090064 8008F464 3C01FFFE */ lui $at, (0xFFFEFFFF >> 16) # lui $at, 0xfffe
|
|
/* 090068 8008F468 3421FFFF */ ori $at, (0xFFFEFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
|
/* 09006C 8008F46C 01816824 */ and $t5, $t4, $at
|
|
/* 090070 8008F470 AC8D00BC */ sw $t5, 0xbc($a0)
|
|
/* 090074 8008F474 0C0241DE */ jal func_80090778
|
|
/* 090078 8008F478 AFA40018 */ sw $a0, 0x18($sp)
|
|
/* 09007C 8008F47C 0C02421A */ jal func_80090868
|
|
/* 090080 8008F480 8FA40018 */ lw $a0, 0x18($sp)
|
|
.L8008F484:
|
|
/* 090084 8008F484 8FBF0014 */ lw $ra, 0x14($sp)
|
|
.L8008F488:
|
|
/* 090088 8008F488 27BD0018 */ addiu $sp, $sp, 0x18
|
|
/* 09008C 8008F48C 03E00008 */ jr $ra
|
|
/* 090090 8008F490 00000000 */ nop
|
|
|
|
glabel func_8008F494
|
|
/* 090094 8008F494 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 090098 8008F498 AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 09009C 8008F49C AFA5001C */ sw $a1, 0x1c($sp)
|
|
/* 0900A0 8008F4A0 8C8200BC */ lw $v0, 0xbc($a0)
|
|
/* 0900A4 8008F4A4 00803025 */ move $a2, $a0
|
|
/* 0900A8 8008F4A8 00C02025 */ move $a0, $a2
|
|
/* 0900AC 8008F4AC 304E0080 */ andi $t6, $v0, 0x80
|
|
/* 0900B0 8008F4B0 15C00008 */ bnez $t6, .L8008F4D4
|
|
/* 0900B4 8008F4B4 304F0040 */ andi $t7, $v0, 0x40
|
|
/* 0900B8 8008F4B8 15E00006 */ bnez $t7, .L8008F4D4
|
|
/* 0900BC 8008F4BC 0002C1C0 */ sll $t8, $v0, 7
|
|
/* 0900C0 8008F4C0 07000004 */ bltz $t8, .L8008F4D4
|
|
/* 0900C4 8008F4C4 0002C980 */ sll $t9, $v0, 6
|
|
/* 0900C8 8008F4C8 07200002 */ bltz $t9, .L8008F4D4
|
|
/* 0900CC 8008F4CC 30480400 */ andi $t0, $v0, 0x400
|
|
/* 0900D0 8008F4D0 11000008 */ beqz $t0, .L8008F4F4
|
|
.L8008F4D4:
|
|
/* 0900D4 8008F4D4 3C09800E */ lui $t1, %hi(gModeSelection) # $t1, 0x800e
|
|
/* 0900D8 8008F4D8 8D29C53C */ lw $t1, %lo(gModeSelection)($t1)
|
|
/* 0900DC 8008F4DC 24010003 */ li $at, 3
|
|
/* 0900E0 8008F4E0 55210005 */ bnel $t1, $at, .L8008F4F8
|
|
/* 0900E4 8008F4E4 83A5001F */ lb $a1, 0x1f($sp)
|
|
/* 0900E8 8008F4E8 84CA0044 */ lh $t2, 0x44($a2)
|
|
/* 0900EC 8008F4EC 354B8000 */ ori $t3, $t2, 0x8000
|
|
/* 0900F0 8008F4F0 A4CB0044 */ sh $t3, 0x44($a2)
|
|
.L8008F4F4:
|
|
/* 0900F4 8008F4F4 83A5001F */ lb $a1, 0x1f($sp)
|
|
.L8008F4F8:
|
|
/* 0900F8 8008F4F8 0C0230D5 */ jal func_8008C354
|
|
/* 0900FC 8008F4FC AFA60018 */ sw $a2, 0x18($sp)
|
|
/* 090100 8008F500 8FA40018 */ lw $a0, 0x18($sp)
|
|
/* 090104 8008F504 0C023E1B */ jal func_8008F86C
|
|
/* 090108 8008F508 83A5001F */ lb $a1, 0x1f($sp)
|
|
/* 09010C 8008F50C 8FA60018 */ lw $a2, 0x18($sp)
|
|
/* 090110 8008F510 3C010001 */ lui $at, 1
|
|
/* 090114 8008F514 2418001E */ li $t8, 30
|
|
/* 090118 8008F518 8CCC00BC */ lw $t4, 0xbc($a2)
|
|
/* 09011C 8008F51C 94C20000 */ lhu $v0, ($a2)
|
|
/* 090120 8008F520 A4C000A8 */ sh $zero, 0xa8($a2)
|
|
/* 090124 8008F524 01816825 */ or $t5, $t4, $at
|
|
/* 090128 8008F528 2401FFEF */ li $at, -17
|
|
/* 09012C 8008F52C 01A17824 */ and $t7, $t5, $at
|
|
/* 090130 8008F530 ACCD00BC */ sw $t5, 0xbc($a2)
|
|
/* 090134 8008F534 30594000 */ andi $t9, $v0, 0x4000
|
|
/* 090138 8008F538 ACCF00BC */ sw $t7, 0xbc($a2)
|
|
/* 09013C 8008F53C A4D80236 */ sh $t8, 0x236($a2)
|
|
/* 090140 8008F540 13200014 */ beqz $t9, .L8008F594
|
|
/* 090144 8008F544 A4C00042 */ sh $zero, 0x42($a2)
|
|
/* 090148 8008F548 30480100 */ andi $t0, $v0, 0x100
|
|
/* 09014C 8008F54C 55000012 */ bnel $t0, $zero, .L8008F598
|
|
/* 090150 8008F550 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 090154 8008F554 84C900CA */ lh $t1, 0xca($a2)
|
|
/* 090158 8008F558 312A0002 */ andi $t2, $t1, 2
|
|
/* 09015C 8008F55C 5540000E */ bnel $t2, $zero, .L8008F598
|
|
/* 090160 8008F560 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 090164 8008F564 94C200DE */ lhu $v0, 0xde($a2)
|
|
/* 090168 8008F568 304B0001 */ andi $t3, $v0, 1
|
|
/* 09016C 8008F56C 15600009 */ bnez $t3, .L8008F594
|
|
/* 090170 8008F570 304C0002 */ andi $t4, $v0, 2
|
|
/* 090174 8008F574 15800007 */ bnez $t4, .L8008F594
|
|
/* 090178 8008F578 93A4001F */ lbu $a0, 0x1f($sp)
|
|
/* 09017C 8008F57C 94C50254 */ lhu $a1, 0x254($a2)
|
|
/* 090180 8008F580 3C012900 */ lui $at, (0x29008004 >> 16) # lui $at, 0x2900
|
|
/* 090184 8008F584 34218004 */ ori $at, (0x29008004 & 0xFFFF) # ori $at, $at, 0x8004
|
|
/* 090188 8008F588 00056900 */ sll $t5, $a1, 4
|
|
/* 09018C 8008F58C 0C03243D */ jal func_800C90F4
|
|
/* 090190 8008F590 01A12821 */ addu $a1, $t5, $at
|
|
.L8008F594:
|
|
/* 090194 8008F594 8FBF0014 */ lw $ra, 0x14($sp)
|
|
.L8008F598:
|
|
/* 090198 8008F598 27BD0018 */ addiu $sp, $sp, 0x18
|
|
/* 09019C 8008F59C 03E00008 */ jr $ra
|
|
/* 0901A0 8008F5A0 00000000 */ nop
|
|
|
|
glabel func_8008F5A4
|
|
/* 0901A4 8008F5A4 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 0901A8 8008F5A8 AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 0901AC 8008F5AC AFA5001C */ sw $a1, 0x1c($sp)
|
|
/* 0901B0 8008F5B0 848E0044 */ lh $t6, 0x44($a0)
|
|
/* 0901B4 8008F5B4 83A5001F */ lb $a1, 0x1f($sp)
|
|
/* 0901B8 8008F5B8 31CF8000 */ andi $t7, $t6, 0x8000
|
|
/* 0901BC 8008F5BC 51E00008 */ beql $t7, $zero, .L8008F5E0
|
|
/* 0901C0 8008F5C0 8C8800BC */ lw $t0, 0xbc($a0)
|
|
/* 0901C4 8008F5C4 0C01AE2D */ jal func_8006B8B4
|
|
/* 0901C8 8008F5C8 AFA40018 */ sw $a0, 0x18($sp)
|
|
/* 0901CC 8008F5CC 8FA40018 */ lw $a0, 0x18($sp)
|
|
/* 0901D0 8008F5D0 84980044 */ lh $t8, 0x44($a0)
|
|
/* 0901D4 8008F5D4 33197FFF */ andi $t9, $t8, 0x7fff
|
|
/* 0901D8 8008F5D8 A4990044 */ sh $t9, 0x44($a0)
|
|
/* 0901DC 8008F5DC 8C8800BC */ lw $t0, 0xbc($a0)
|
|
.L8008F5E0:
|
|
/* 0901E0 8008F5E0 44802000 */ mtc1 $zero, $f4
|
|
/* 0901E4 8008F5E4 3C01FFFE */ lui $at, (0xFFFEFFFF >> 16) # lui $at, 0xfffe
|
|
/* 0901E8 8008F5E8 3421FFFF */ ori $at, (0xFFFEFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
|
/* 0901EC 8008F5EC 01014824 */ and $t1, $t0, $at
|
|
/* 0901F0 8008F5F0 A4800206 */ sh $zero, 0x206($a0)
|
|
/* 0901F4 8008F5F4 A48000C4 */ sh $zero, 0xc4($a0)
|
|
/* 0901F8 8008F5F8 AC8900BC */ sw $t1, 0xbc($a0)
|
|
/* 0901FC 8008F5FC A48000A8 */ sh $zero, 0xa8($a0)
|
|
/* 090200 8008F600 A48000C0 */ sh $zero, 0xc0($a0)
|
|
/* 090204 8008F604 AC80007C */ sw $zero, 0x7c($a0)
|
|
/* 090208 8008F608 A4800236 */ sh $zero, 0x236($a0)
|
|
/* 09020C 8008F60C A4800078 */ sh $zero, 0x78($a0)
|
|
/* 090210 8008F610 E484009C */ swc1 $f4, 0x9c($a0)
|
|
/* 090214 8008F614 83AA001F */ lb $t2, 0x1f($sp)
|
|
/* 090218 8008F618 3C0C8016 */ lui $t4, %hi(D_80165190) # $t4, 0x8016
|
|
/* 09021C 8008F61C 258C5190 */ addiu $t4, %lo(D_80165190) # addiu $t4, $t4, 0x5190
|
|
/* 090220 8008F620 000A5840 */ sll $t3, $t2, 1
|
|
/* 090224 8008F624 24030001 */ li $v1, 1
|
|
/* 090228 8008F628 016C1021 */ addu $v0, $t3, $t4
|
|
/* 09022C 8008F62C A4430000 */ sh $v1, ($v0)
|
|
/* 090230 8008F630 A4430010 */ sh $v1, 0x10($v0)
|
|
/* 090234 8008F634 A4430020 */ sh $v1, 0x20($v0)
|
|
/* 090238 8008F638 A4430030 */ sh $v1, 0x30($v0)
|
|
/* 09023C 8008F63C A4800042 */ sh $zero, 0x42($a0)
|
|
/* 090240 8008F640 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 090244 8008F644 27BD0018 */ addiu $sp, $sp, 0x18
|
|
/* 090248 8008F648 03E00008 */ jr $ra
|
|
/* 09024C 8008F64C 00000000 */ nop
|
|
|
|
glabel func_8008F650
|
|
/* 090250 8008F650 3C01800E */ lui $at, %hi(gCourseTimer) # $at, 0x800e
|
|
/* 090254 8008F654 C424C598 */ lwc1 $f4, %lo(gCourseTimer)($at)
|
|
/* 090258 8008F658 27BDFFD8 */ addiu $sp, $sp, -0x28
|
|
/* 09025C 8008F65C AFA5002C */ sw $a1, 0x2c($sp)
|
|
/* 090260 8008F660 4600218D */ trunc.w.s $f6, $f4
|
|
/* 090264 8008F664 00057600 */ sll $t6, $a1, 0x18
|
|
/* 090268 8008F668 000E2E03 */ sra $a1, $t6, 0x18
|
|
/* 09026C 8008F66C 3C188019 */ lui $t8, %hi(D_8018D930) # $t8, 0x8019
|
|
/* 090270 8008F670 2718D930 */ addiu $t8, %lo(D_8018D930) # addiu $t8, $t8, -0x26d0
|
|
/* 090274 8008F674 00053080 */ sll $a2, $a1, 2
|
|
/* 090278 8008F678 00D83821 */ addu $a3, $a2, $t8
|
|
/* 09027C 8008F67C 8CEA0000 */ lw $t2, ($a3)
|
|
/* 090280 8008F680 44093000 */ mfc1 $t1, $f6
|
|
/* 090284 8008F684 AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 090288 8008F688 AFA40028 */ sw $a0, 0x28($sp)
|
|
/* 09028C 8008F68C 012A1823 */ subu $v1, $t1, $t2
|
|
/* 090290 8008F690 28610009 */ slti $at, $v1, 9
|
|
/* 090294 8008F694 1420002D */ bnez $at, .L8008F74C
|
|
/* 090298 8008F698 24080001 */ li $t0, 1
|
|
/* 09029C 8008F69C 3C0B8019 */ lui $t3, %hi(D_8018D900) # $t3, 0x8019
|
|
/* 0902A0 8008F6A0 256BD900 */ addiu $t3, %lo(D_8018D900) # addiu $t3, $t3, -0x2700
|
|
/* 0902A4 8008F6A4 00CB1021 */ addu $v0, $a2, $t3
|
|
/* 0902A8 8008F6A8 AC480000 */ sw $t0, ($v0)
|
|
/* 0902AC 8008F6AC 94840000 */ lhu $a0, ($a0)
|
|
/* 0902B0 8008F6B0 24014000 */ li $at, 16384
|
|
/* 0902B4 8008F6B4 308D4000 */ andi $t5, $a0, 0x4000
|
|
/* 0902B8 8008F6B8 15A10013 */ bne $t5, $at, .L8008F708
|
|
/* 0902BC 8008F6BC 308E0100 */ andi $t6, $a0, 0x100
|
|
/* 0902C0 8008F6C0 24010100 */ li $at, 256
|
|
/* 0902C4 8008F6C4 51C10011 */ beql $t6, $at, .L8008F70C
|
|
/* 0902C8 8008F6C8 8C4A0000 */ lw $t2, ($v0)
|
|
/* 0902CC 8008F6CC 1508001F */ bne $t0, $t0, .L8008F74C
|
|
/* 0902D0 8008F6D0 30A400FF */ andi $a0, $a1, 0xff
|
|
/* 0902D4 8008F6D4 AFA20018 */ sw $v0, 0x18($sp)
|
|
/* 0902D8 8008F6D8 0C0329CC */ jal func_800CA730
|
|
/* 0902DC 8008F6DC AFA70020 */ sw $a3, 0x20($sp)
|
|
/* 0902E0 8008F6E0 8FA20018 */ lw $v0, 0x18($sp)
|
|
/* 0902E4 8008F6E4 3C01800E */ lui $at, %hi(gCourseTimer) # $at, 0x800e
|
|
/* 0902E8 8008F6E8 8FA70020 */ lw $a3, 0x20($sp)
|
|
/* 0902EC 8008F6EC AC400000 */ sw $zero, ($v0)
|
|
/* 0902F0 8008F6F0 C428C598 */ lwc1 $f8, %lo(gCourseTimer)($at)
|
|
/* 0902F4 8008F6F4 8CE90000 */ lw $t1, ($a3)
|
|
/* 0902F8 8008F6F8 4600428D */ trunc.w.s $f10, $f8
|
|
/* 0902FC 8008F6FC 44195000 */ mfc1 $t9, $f10
|
|
/* 090300 8008F700 10000012 */ b .L8008F74C
|
|
/* 090304 8008F704 03291823 */ subu $v1, $t9, $t1
|
|
.L8008F708:
|
|
/* 090308 8008F708 8C4A0000 */ lw $t2, ($v0)
|
|
.L8008F70C:
|
|
/* 09030C 8008F70C 30A400FF */ andi $a0, $a1, 0xff
|
|
/* 090310 8008F710 550A000F */ bnel $t0, $t2, .L8008F750
|
|
/* 090314 8008F714 2861000A */ slti $at, $v1, 0xa
|
|
/* 090318 8008F718 AFA20018 */ sw $v0, 0x18($sp)
|
|
/* 09031C 8008F71C 0C032AB3 */ jal func_800CAACC
|
|
/* 090320 8008F720 AFA70020 */ sw $a3, 0x20($sp)
|
|
/* 090324 8008F724 8FA20018 */ lw $v0, 0x18($sp)
|
|
/* 090328 8008F728 3C01800E */ lui $at, %hi(gCourseTimer) # $at, 0x800e
|
|
/* 09032C 8008F72C 8FA70020 */ lw $a3, 0x20($sp)
|
|
/* 090330 8008F730 AC400000 */ sw $zero, ($v0)
|
|
/* 090334 8008F734 C430C598 */ lwc1 $f16, %lo(gCourseTimer)($at)
|
|
/* 090338 8008F738 8CED0000 */ lw $t5, ($a3)
|
|
/* 09033C 8008F73C 4600848D */ trunc.w.s $f18, $f16
|
|
/* 090340 8008F740 440C9000 */ mfc1 $t4, $f18
|
|
/* 090344 8008F744 00000000 */ nop
|
|
/* 090348 8008F748 018D1823 */ subu $v1, $t4, $t5
|
|
.L8008F74C:
|
|
/* 09034C 8008F74C 2861000A */ slti $at, $v1, 0xa
|
|
.L8008F750:
|
|
/* 090350 8008F750 14200005 */ bnez $at, .L8008F768
|
|
/* 090354 8008F754 8FAE0028 */ lw $t6, 0x28($sp)
|
|
/* 090358 8008F758 8DCF00BC */ lw $t7, 0xbc($t6)
|
|
/* 09035C 8008F75C 2401FDFF */ li $at, -513
|
|
/* 090360 8008F760 01E1C024 */ and $t8, $t7, $at
|
|
/* 090364 8008F764 ADD800BC */ sw $t8, 0xbc($t6)
|
|
.L8008F768:
|
|
/* 090368 8008F768 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 09036C 8008F76C 27BD0028 */ addiu $sp, $sp, 0x28
|
|
/* 090370 8008F770 03E00008 */ jr $ra
|
|
/* 090374 8008F774 00000000 */ nop
|
|
|
|
glabel func_8008F778
|
|
/* 090378 8008F778 27BDFFE0 */ addiu $sp, $sp, -0x20
|
|
/* 09037C 8008F77C AFA50024 */ sw $a1, 0x24($sp)
|
|
/* 090380 8008F780 00A07025 */ move $t6, $a1
|
|
/* 090384 8008F784 000E2E00 */ sll $a1, $t6, 0x18
|
|
/* 090388 8008F788 AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 09038C 8008F78C 00057E03 */ sra $t7, $a1, 0x18
|
|
/* 090390 8008F790 01E02825 */ move $a1, $t7
|
|
/* 090394 8008F794 A3AE0027 */ sb $t6, 0x27($sp)
|
|
/* 090398 8008F798 0C0230D5 */ jal func_8008C354
|
|
/* 09039C 8008F79C AFA40020 */ sw $a0, 0x20($sp)
|
|
/* 0903A0 8008F7A0 8FA40020 */ lw $a0, 0x20($sp)
|
|
/* 0903A4 8008F7A4 2401DFFF */ li $at, -8193
|
|
/* 0903A8 8008F7A8 83A60027 */ lb $a2, 0x27($sp)
|
|
/* 0903AC 8008F7AC 8C88000C */ lw $t0, 0xc($a0)
|
|
/* 0903B0 8008F7B0 8C9800BC */ lw $t8, 0xbc($a0)
|
|
/* 0903B4 8008F7B4 3C0C8019 */ lui $t4, %hi(D_8018D900) # $t4, 0x8019
|
|
/* 0903B8 8008F7B8 01014824 */ and $t1, $t0, $at
|
|
/* 0903BC 8008F7BC 37190200 */ ori $t9, $t8, 0x200
|
|
/* 0903C0 8008F7C0 3C01800E */ lui $at, %hi(gCourseTimer) # $at, 0x800e
|
|
/* 0903C4 8008F7C4 AC9900BC */ sw $t9, 0xbc($a0)
|
|
/* 0903C8 8008F7C8 AC89000C */ sw $t1, 0xc($a0)
|
|
/* 0903CC 8008F7CC C424C598 */ lwc1 $f4, %lo(gCourseTimer)($at)
|
|
/* 0903D0 8008F7D0 3C018019 */ lui $at, %hi(D_8018D930) # 0x8019
|
|
/* 0903D4 8008F7D4 00061080 */ sll $v0, $a2, 2
|
|
/* 0903D8 8008F7D8 4600218D */ trunc.w.s $f6, $f4
|
|
/* 0903DC 8008F7DC 00220821 */ addu $at, $at, $v0
|
|
/* 0903E0 8008F7E0 258CD900 */ addiu $t4, %lo(D_8018D900) # addiu $t4, $t4, -0x2700
|
|
/* 0903E4 8008F7E4 24070001 */ li $a3, 1
|
|
/* 0903E8 8008F7E8 440B3000 */ mfc1 $t3, $f6
|
|
/* 0903EC 8008F7EC 004C1821 */ addu $v1, $v0, $t4
|
|
/* 0903F0 8008F7F0 AC2BD930 */ sw $t3, %lo(D_8018D930)($at) # -0x26d0($at)
|
|
/* 0903F4 8008F7F4 AC670000 */ sw $a3, ($v1)
|
|
/* 0903F8 8008F7F8 94850000 */ lhu $a1, ($a0)
|
|
/* 0903FC 8008F7FC 24014000 */ li $at, 16384
|
|
/* 090400 8008F800 30AD4000 */ andi $t5, $a1, 0x4000
|
|
/* 090404 8008F804 15A1000C */ bne $t5, $at, .L8008F838
|
|
/* 090408 8008F808 30AE0100 */ andi $t6, $a1, 0x100
|
|
/* 09040C 8008F80C 24010100 */ li $at, 256
|
|
/* 090410 8008F810 51C1000A */ beql $t6, $at, .L8008F83C
|
|
/* 090414 8008F814 8C790000 */ lw $t9, ($v1)
|
|
/* 090418 8008F818 14E70010 */ bne $a3, $a3, .L8008F85C
|
|
/* 09041C 8008F81C 30C400FF */ andi $a0, $a2, 0xff
|
|
/* 090420 8008F820 0C032967 */ jal func_800CA59C
|
|
/* 090424 8008F824 AFA3001C */ sw $v1, 0x1c($sp)
|
|
/* 090428 8008F828 8FA3001C */ lw $v1, 0x1c($sp)
|
|
/* 09042C 8008F82C 24180002 */ li $t8, 2
|
|
/* 090430 8008F830 1000000A */ b .L8008F85C
|
|
/* 090434 8008F834 AC780000 */ sw $t8, ($v1)
|
|
.L8008F838:
|
|
/* 090438 8008F838 8C790000 */ lw $t9, ($v1)
|
|
.L8008F83C:
|
|
/* 09043C 8008F83C 30C400FF */ andi $a0, $a2, 0xff
|
|
/* 090440 8008F840 54F90007 */ bnel $a3, $t9, .L8008F860
|
|
/* 090444 8008F844 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 090448 8008F848 0C032A61 */ jal func_800CA984
|
|
/* 09044C 8008F84C AFA3001C */ sw $v1, 0x1c($sp)
|
|
/* 090450 8008F850 8FA3001C */ lw $v1, 0x1c($sp)
|
|
/* 090454 8008F854 24080002 */ li $t0, 2
|
|
/* 090458 8008F858 AC680000 */ sw $t0, ($v1)
|
|
.L8008F85C:
|
|
/* 09045C 8008F85C 8FBF0014 */ lw $ra, 0x14($sp)
|
|
.L8008F860:
|
|
/* 090460 8008F860 27BD0020 */ addiu $sp, $sp, 0x20
|
|
/* 090464 8008F864 03E00008 */ jr $ra
|
|
/* 090468 8008F868 00000000 */ nop
|
|
|
|
glabel func_8008F86C
|
|
/* 09046C 8008F86C 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 090470 8008F870 AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 090474 8008F874 AFA5001C */ sw $a1, 0x1c($sp)
|
|
/* 090478 8008F878 8C9800BC */ lw $t8, 0xbc($a0)
|
|
/* 09047C 8008F87C 94820000 */ lhu $v0, ($a0)
|
|
/* 090480 8008F880 2401FDFF */ li $at, -513
|
|
/* 090484 8008F884 00057600 */ sll $t6, $a1, 0x18
|
|
/* 090488 8008F888 0301C824 */ and $t9, $t8, $at
|
|
/* 09048C 8008F88C 000E7E03 */ sra $t7, $t6, 0x18
|
|
/* 090490 8008F890 24014000 */ li $at, 16384
|
|
/* 090494 8008F894 30484000 */ andi $t0, $v0, 0x4000
|
|
/* 090498 8008F898 01E02825 */ move $a1, $t7
|
|
/* 09049C 8008F89C 15010009 */ bne $t0, $at, .L8008F8C4
|
|
/* 0904A0 8008F8A0 AC9900BC */ sw $t9, 0xbc($a0)
|
|
/* 0904A4 8008F8A4 30490100 */ andi $t1, $v0, 0x100
|
|
/* 0904A8 8008F8A8 24010100 */ li $at, 256
|
|
/* 0904AC 8008F8AC 11210005 */ beq $t1, $at, .L8008F8C4
|
|
/* 0904B0 8008F8B0 00000000 */ nop
|
|
/* 0904B4 8008F8B4 0C0329CC */ jal func_800CA730
|
|
/* 0904B8 8008F8B8 31E400FF */ andi $a0, $t7, 0xff
|
|
/* 0904BC 8008F8BC 10000004 */ b .L8008F8D0
|
|
/* 0904C0 8008F8C0 8FBF0014 */ lw $ra, 0x14($sp)
|
|
.L8008F8C4:
|
|
/* 0904C4 8008F8C4 0C032AB3 */ jal func_800CAACC
|
|
/* 0904C8 8008F8C8 30A400FF */ andi $a0, $a1, 0xff
|
|
/* 0904CC 8008F8CC 8FBF0014 */ lw $ra, 0x14($sp)
|
|
.L8008F8D0:
|
|
/* 0904D0 8008F8D0 27BD0018 */ addiu $sp, $sp, 0x18
|
|
/* 0904D4 8008F8D4 03E00008 */ jr $ra
|
|
/* 0904D8 8008F8D8 00000000 */ nop
|
|
|
|
glabel func_8008F8DC
|
|
/* 0904DC 8008F8DC 3C01800E */ lui $at, %hi(gCourseTimer) # $at, 0x800e
|
|
/* 0904E0 8008F8E0 C424C598 */ lwc1 $f4, %lo(gCourseTimer)($at)
|
|
/* 0904E4 8008F8E4 27BDFFE0 */ addiu $sp, $sp, -0x20
|
|
/* 0904E8 8008F8E8 AFA50024 */ sw $a1, 0x24($sp)
|
|
/* 0904EC 8008F8EC 4600218D */ trunc.w.s $f6, $f4
|
|
/* 0904F0 8008F8F0 00057600 */ sll $t6, $a1, 0x18
|
|
/* 0904F4 8008F8F4 000E2E03 */ sra $a1, $t6, 0x18
|
|
/* 0904F8 8008F8F8 00051880 */ sll $v1, $a1, 2
|
|
/* 0904FC 8008F8FC 3C088019 */ lui $t0, %hi(D_8018D950) # 0x8019
|
|
/* 090500 8008F900 01034021 */ addu $t0, $t0, $v1
|
|
/* 090504 8008F904 8D08D950 */ lw $t0, %lo(D_8018D950)($t0) # -0x26b0($t0)
|
|
/* 090508 8008F908 44193000 */ mfc1 $t9, $f6
|
|
/* 09050C 8008F90C AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 090510 8008F910 00803025 */ move $a2, $a0
|
|
/* 090514 8008F914 03281023 */ subu $v0, $t9, $t0
|
|
/* 090518 8008F918 28410007 */ slti $at, $v0, 7
|
|
/* 09051C 8008F91C 10200012 */ beqz $at, .L8008F968
|
|
/* 090520 8008F920 3C0D8019 */ lui $t5, %hi(D_8018D970) # $t5, 0x8019
|
|
/* 090524 8008F924 848900C6 */ lh $t1, 0xc6($a0)
|
|
/* 090528 8008F928 25ADD970 */ addiu $t5, %lo(D_8018D970) # addiu $t5, $t5, -0x2690
|
|
/* 09052C 8008F92C 240C0060 */ li $t4, 96
|
|
/* 090530 8008F930 252AFFFE */ addiu $t2, $t1, -2
|
|
/* 090534 8008F934 A48A00C6 */ sh $t2, 0xc6($a0)
|
|
/* 090538 8008F938 848B00C6 */ lh $t3, 0xc6($a0)
|
|
/* 09053C 8008F93C 006D1021 */ addu $v0, $v1, $t5
|
|
/* 090540 8008F940 29610061 */ slti $at, $t3, 0x61
|
|
/* 090544 8008F944 50200003 */ beql $at, $zero, .L8008F954
|
|
/* 090548 8008F948 8C4E0000 */ lw $t6, ($v0)
|
|
/* 09054C 8008F94C A48C00C6 */ sh $t4, 0xc6($a0)
|
|
/* 090550 8008F950 8C4E0000 */ lw $t6, ($v0)
|
|
.L8008F954:
|
|
/* 090554 8008F954 25CFFFFE */ addiu $t7, $t6, -2
|
|
/* 090558 8008F958 1DE00033 */ bgtz $t7, .L8008FA28
|
|
/* 09055C 8008F95C AC4F0000 */ sw $t7, ($v0)
|
|
/* 090560 8008F960 10000031 */ b .L8008FA28
|
|
/* 090564 8008F964 AC400000 */ sw $zero, ($v0)
|
|
.L8008F968:
|
|
/* 090568 8008F968 84D900C6 */ lh $t9, 0xc6($a2)
|
|
/* 09056C 8008F96C 240700FF */ li $a3, 255
|
|
/* 090570 8008F970 27280004 */ addiu $t0, $t9, 4
|
|
/* 090574 8008F974 A4C800C6 */ sh $t0, 0xc6($a2)
|
|
/* 090578 8008F978 84C900C6 */ lh $t1, 0xc6($a2)
|
|
/* 09057C 8008F97C 292100F0 */ slti $at, $t1, 0xf0
|
|
/* 090580 8008F980 14200014 */ bnez $at, .L8008F9D4
|
|
/* 090584 8008F984 3C018019 */ lui $at, %hi(D_8018D970) # 0x8019
|
|
/* 090588 8008F988 A4C700C6 */ sh $a3, 0xc6($a2)
|
|
/* 09058C 8008F98C 00230821 */ addu $at, $at, $v1
|
|
/* 090590 8008F990 AC27D970 */ sw $a3, %lo(D_8018D970)($at) # -0x2690($at)
|
|
/* 090594 8008F994 8CCA00BC */ lw $t2, 0xbc($a2)
|
|
/* 090598 8008F998 94CC0000 */ lhu $t4, ($a2)
|
|
/* 09059C 8008F99C 3C017FFF */ lui $at, (0x7FFFFFFF >> 16) # lui $at, 0x7fff
|
|
/* 0905A0 8008F9A0 3421FFFF */ ori $at, (0x7FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
|
/* 0905A4 8008F9A4 01415824 */ and $t3, $t2, $at
|
|
/* 0905A8 8008F9A8 318D4000 */ andi $t5, $t4, 0x4000
|
|
/* 0905AC 8008F9AC 11A00009 */ beqz $t5, .L8008F9D4
|
|
/* 0905B0 8008F9B0 ACCB00BC */ sw $t3, 0xbc($a2)
|
|
/* 0905B4 8008F9B4 30A400FF */ andi $a0, $a1, 0xff
|
|
/* 0905B8 8008F9B8 AFA30018 */ sw $v1, 0x18($sp)
|
|
/* 0905BC 8008F9BC A3A50027 */ sb $a1, 0x27($sp)
|
|
/* 0905C0 8008F9C0 0C032C19 */ jal func_800CB064
|
|
/* 0905C4 8008F9C4 AFA60020 */ sw $a2, 0x20($sp)
|
|
/* 0905C8 8008F9C8 8FA30018 */ lw $v1, 0x18($sp)
|
|
/* 0905CC 8008F9CC 83A50027 */ lb $a1, 0x27($sp)
|
|
/* 0905D0 8008F9D0 8FA60020 */ lw $a2, 0x20($sp)
|
|
.L8008F9D4:
|
|
/* 0905D4 8008F9D4 3C0E8019 */ lui $t6, %hi(D_8018D970) # $t6, 0x8019
|
|
/* 0905D8 8008F9D8 25CED970 */ addiu $t6, %lo(D_8018D970) # addiu $t6, $t6, -0x2690
|
|
/* 0905DC 8008F9DC 006E1021 */ addu $v0, $v1, $t6
|
|
/* 0905E0 8008F9E0 8C4F0000 */ lw $t7, ($v0)
|
|
/* 0905E4 8008F9E4 240700FF */ li $a3, 255
|
|
/* 0905E8 8008F9E8 25F80008 */ addiu $t8, $t7, 8
|
|
/* 0905EC 8008F9EC 2B0100F0 */ slti $at, $t8, 0xf0
|
|
/* 0905F0 8008F9F0 1420000D */ bnez $at, .L8008FA28
|
|
/* 0905F4 8008F9F4 AC580000 */ sw $t8, ($v0)
|
|
/* 0905F8 8008F9F8 AC470000 */ sw $a3, ($v0)
|
|
/* 0905FC 8008F9FC 8CC800BC */ lw $t0, 0xbc($a2)
|
|
/* 090600 8008FA00 94CA0000 */ lhu $t2, ($a2)
|
|
/* 090604 8008FA04 3C017FFF */ lui $at, (0x7FFFFFFF >> 16) # lui $at, 0x7fff
|
|
/* 090608 8008FA08 3421FFFF */ ori $at, (0x7FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
|
/* 09060C 8008FA0C 01014824 */ and $t1, $t0, $at
|
|
/* 090610 8008FA10 314B4000 */ andi $t3, $t2, 0x4000
|
|
/* 090614 8008FA14 A4C700C6 */ sh $a3, 0xc6($a2)
|
|
/* 090618 8008FA18 11600003 */ beqz $t3, .L8008FA28
|
|
/* 09061C 8008FA1C ACC900BC */ sw $t1, 0xbc($a2)
|
|
/* 090620 8008FA20 0C032C19 */ jal func_800CB064
|
|
/* 090624 8008FA24 30A400FF */ andi $a0, $a1, 0xff
|
|
.L8008FA28:
|
|
/* 090628 8008FA28 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 09062C 8008FA2C 27BD0020 */ addiu $sp, $sp, 0x20
|
|
/* 090630 8008FA30 03E00008 */ jr $ra
|
|
/* 090634 8008FA34 00000000 */ nop
|
|
|
|
glabel func_8008FA38
|
|
/* 090638 8008FA38 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 09063C 8008FA3C AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 090640 8008FA40 AFA5001C */ sw $a1, 0x1c($sp)
|
|
/* 090644 8008FA44 94980000 */ lhu $t8, ($a0)
|
|
/* 090648 8008FA48 00057600 */ sll $t6, $a1, 0x18
|
|
/* 09064C 8008FA4C 000E2E03 */ sra $a1, $t6, 0x18
|
|
/* 090650 8008FA50 33194000 */ andi $t9, $t8, 0x4000
|
|
/* 090654 8008FA54 13200011 */ beqz $t9, .L8008FA9C
|
|
/* 090658 8008FA58 00803025 */ move $a2, $a0
|
|
/* 09065C 8008FA5C 84880044 */ lh $t0, 0x44($a0)
|
|
/* 090660 8008FA60 00001825 */ move $v1, $zero
|
|
/* 090664 8008FA64 35090200 */ ori $t1, $t0, 0x200
|
|
/* 090668 8008FA68 A4890044 */ sh $t1, 0x44($a0)
|
|
/* 09066C 8008FA6C 24040048 */ li $a0, 72
|
|
.L8008FA70:
|
|
/* 090670 8008FA70 00640019 */ multu $v1, $a0
|
|
/* 090674 8008FA74 24630001 */ addiu $v1, $v1, 1
|
|
/* 090678 8008FA78 00035C00 */ sll $t3, $v1, 0x10
|
|
/* 09067C 8008FA7C 000B1C03 */ sra $v1, $t3, 0x10
|
|
/* 090680 8008FA80 2861000A */ slti $at, $v1, 0xa
|
|
/* 090684 8008FA84 00005012 */ mflo $t2
|
|
/* 090688 8008FA88 00CA1021 */ addu $v0, $a2, $t2
|
|
/* 09068C 8008FA8C A4400274 */ sh $zero, 0x274($v0)
|
|
/* 090690 8008FA90 A4400276 */ sh $zero, 0x276($v0)
|
|
/* 090694 8008FA94 1420FFF6 */ bnez $at, .L8008FA70
|
|
/* 090698 8008FA98 A440026A */ sh $zero, 0x26a($v0)
|
|
.L8008FA9C:
|
|
/* 09069C 8008FA9C 00C02025 */ move $a0, $a2
|
|
/* 0906A0 8008FAA0 A3A5001F */ sb $a1, 0x1f($sp)
|
|
/* 0906A4 8008FAA4 0C0230D5 */ jal func_8008C354
|
|
/* 0906A8 8008FAA8 AFA60018 */ sw $a2, 0x18($sp)
|
|
/* 0906AC 8008FAAC 8FA60018 */ lw $a2, 0x18($sp)
|
|
/* 0906B0 8008FAB0 3C018000 */ lui $at, 0x8000
|
|
/* 0906B4 8008FAB4 83A5001F */ lb $a1, 0x1f($sp)
|
|
/* 0906B8 8008FAB8 8CCD00BC */ lw $t5, 0xbc($a2)
|
|
/* 0906BC 8008FABC 8CCF000C */ lw $t7, 0xc($a2)
|
|
/* 0906C0 8008FAC0 00051080 */ sll $v0, $a1, 2
|
|
/* 0906C4 8008FAC4 01A17025 */ or $t6, $t5, $at
|
|
/* 0906C8 8008FAC8 2401F7FF */ li $at, -2049
|
|
/* 0906CC 8008FACC 01E1C024 */ and $t8, $t7, $at
|
|
/* 0906D0 8008FAD0 3C01800E */ lui $at, %hi(gCourseTimer) # $at, 0x800e
|
|
/* 0906D4 8008FAD4 ACCE00BC */ sw $t6, 0xbc($a2)
|
|
/* 0906D8 8008FAD8 ACD8000C */ sw $t8, 0xc($a2)
|
|
/* 0906DC 8008FADC C424C598 */ lwc1 $f4, %lo(gCourseTimer)($at)
|
|
/* 0906E0 8008FAE0 3C018019 */ lui $at, %hi(D_8018D950) # 0x8019
|
|
/* 0906E4 8008FAE4 00220821 */ addu $at, $at, $v0
|
|
/* 0906E8 8008FAE8 4600218D */ trunc.w.s $f6, $f4
|
|
/* 0906EC 8008FAEC 240900FF */ li $t1, 255
|
|
/* 0906F0 8008FAF0 44083000 */ mfc1 $t0, $f6
|
|
/* 0906F4 8008FAF4 00000000 */ nop
|
|
/* 0906F8 8008FAF8 AC28D950 */ sw $t0, %lo(D_8018D950)($at) # -0x26b0($at)
|
|
/* 0906FC 8008FAFC 3C018019 */ lui $at, %hi(D_8018D970) # 0x8019
|
|
/* 090700 8008FB00 00220821 */ addu $at, $at, $v0
|
|
/* 090704 8008FB04 AC29D970 */ sw $t1, %lo(D_8018D970)($at) # -0x2690($at)
|
|
/* 090708 8008FB08 94CA0000 */ lhu $t2, ($a2)
|
|
/* 09070C 8008FB0C 314B4000 */ andi $t3, $t2, 0x4000
|
|
/* 090710 8008FB10 51600004 */ beql $t3, $zero, .L8008FB24
|
|
/* 090714 8008FB14 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 090718 8008FB18 0C032BF0 */ jal func_800CAFC0
|
|
/* 09071C 8008FB1C 30A400FF */ andi $a0, $a1, 0xff
|
|
/* 090720 8008FB20 8FBF0014 */ lw $ra, 0x14($sp)
|
|
.L8008FB24:
|
|
/* 090724 8008FB24 27BD0018 */ addiu $sp, $sp, 0x18
|
|
/* 090728 8008FB28 03E00008 */ jr $ra
|
|
/* 09072C 8008FB2C 00000000 */ nop
|
|
|
|
glabel func_8008FB30
|
|
/* 090730 8008FB30 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 090734 8008FB34 AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 090738 8008FB38 AFA5001C */ sw $a1, 0x1c($sp)
|
|
/* 09073C 8008FB3C 849800C6 */ lh $t8, 0xc6($a0)
|
|
/* 090740 8008FB40 00057600 */ sll $t6, $a1, 0x18
|
|
/* 090744 8008FB44 000E7E03 */ sra $t7, $t6, 0x18
|
|
/* 090748 8008FB48 27190008 */ addiu $t9, $t8, 8
|
|
/* 09074C 8008FB4C A49900C6 */ sh $t9, 0xc6($a0)
|
|
/* 090750 8008FB50 848800C6 */ lh $t0, 0xc6($a0)
|
|
/* 090754 8008FB54 01E02825 */ move $a1, $t7
|
|
/* 090758 8008FB58 00803025 */ move $a2, $a0
|
|
/* 09075C 8008FB5C 290100F0 */ slti $at, $t0, 0xf0
|
|
/* 090760 8008FB60 14200014 */ bnez $at, .L8008FBB4
|
|
/* 090764 8008FB64 240300FF */ li $v1, 255
|
|
/* 090768 8008FB68 000F4880 */ sll $t1, $t7, 2
|
|
/* 09076C 8008FB6C 3C018019 */ lui $at, %hi(D_8018D970) # 0x8019
|
|
/* 090770 8008FB70 A48300C6 */ sh $v1, 0xc6($a0)
|
|
/* 090774 8008FB74 00290821 */ addu $at, $at, $t1
|
|
/* 090778 8008FB78 AC23D970 */ sw $v1, %lo(D_8018D970)($at) # -0x2690($at)
|
|
/* 09077C 8008FB7C 8C8A00BC */ lw $t2, 0xbc($a0)
|
|
/* 090780 8008FB80 948C0000 */ lhu $t4, ($a0)
|
|
/* 090784 8008FB84 3C017FFF */ lui $at, (0x7FFFFFFF >> 16) # lui $at, 0x7fff
|
|
/* 090788 8008FB88 3421FFFF */ ori $at, (0x7FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
|
/* 09078C 8008FB8C 01415824 */ and $t3, $t2, $at
|
|
/* 090790 8008FB90 318D4000 */ andi $t5, $t4, 0x4000
|
|
/* 090794 8008FB94 11A00007 */ beqz $t5, .L8008FBB4
|
|
/* 090798 8008FB98 AC8B00BC */ sw $t3, 0xbc($a0)
|
|
/* 09079C 8008FB9C 31E400FF */ andi $a0, $t7, 0xff
|
|
/* 0907A0 8008FBA0 A3AF001F */ sb $t7, 0x1f($sp)
|
|
/* 0907A4 8008FBA4 0C032C19 */ jal func_800CB064
|
|
/* 0907A8 8008FBA8 AFA60018 */ sw $a2, 0x18($sp)
|
|
/* 0907AC 8008FBAC 83A5001F */ lb $a1, 0x1f($sp)
|
|
/* 0907B0 8008FBB0 8FA60018 */ lw $a2, 0x18($sp)
|
|
.L8008FBB4:
|
|
/* 0907B4 8008FBB4 3C0F8019 */ lui $t7, %hi(D_8018D970) # $t7, 0x8019
|
|
/* 0907B8 8008FBB8 25EFD970 */ addiu $t7, %lo(D_8018D970) # addiu $t7, $t7, -0x2690
|
|
/* 0907BC 8008FBBC 00057080 */ sll $t6, $a1, 2
|
|
/* 0907C0 8008FBC0 01CF1021 */ addu $v0, $t6, $t7
|
|
/* 0907C4 8008FBC4 8C580000 */ lw $t8, ($v0)
|
|
/* 0907C8 8008FBC8 240300FF */ li $v1, 255
|
|
/* 0907CC 8008FBCC 27190010 */ addiu $t9, $t8, 0x10
|
|
/* 0907D0 8008FBD0 2B2100E0 */ slti $at, $t9, 0xe0
|
|
/* 0907D4 8008FBD4 1420000D */ bnez $at, .L8008FC0C
|
|
/* 0907D8 8008FBD8 AC590000 */ sw $t9, ($v0)
|
|
/* 0907DC 8008FBDC AC430000 */ sw $v1, ($v0)
|
|
/* 0907E0 8008FBE0 8CC900BC */ lw $t1, 0xbc($a2)
|
|
/* 0907E4 8008FBE4 94CB0000 */ lhu $t3, ($a2)
|
|
/* 0907E8 8008FBE8 3C017FFF */ lui $at, (0x7FFFFFFF >> 16) # lui $at, 0x7fff
|
|
/* 0907EC 8008FBEC 3421FFFF */ ori $at, (0x7FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
|
/* 0907F0 8008FBF0 01215024 */ and $t2, $t1, $at
|
|
/* 0907F4 8008FBF4 316C4000 */ andi $t4, $t3, 0x4000
|
|
/* 0907F8 8008FBF8 A4C300C6 */ sh $v1, 0xc6($a2)
|
|
/* 0907FC 8008FBFC 11800003 */ beqz $t4, .L8008FC0C
|
|
/* 090800 8008FC00 ACCA00BC */ sw $t2, 0xbc($a2)
|
|
/* 090804 8008FC04 0C032C19 */ jal func_800CB064
|
|
/* 090808 8008FC08 30A400FF */ andi $a0, $a1, 0xff
|
|
.L8008FC0C:
|
|
/* 09080C 8008FC0C 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 090810 8008FC10 27BD0018 */ addiu $sp, $sp, 0x18
|
|
/* 090814 8008FC14 03E00008 */ jr $ra
|
|
/* 090818 8008FC18 00000000 */ nop
|
|
|
|
glabel func_8008FC1C
|
|
/* 09081C 8008FC1C 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 090820 8008FC20 AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 090824 8008FC24 948E0000 */ lhu $t6, ($a0)
|
|
/* 090828 8008FC28 00802825 */ move $a1, $a0
|
|
/* 09082C 8008FC2C 31CF0040 */ andi $t7, $t6, 0x40
|
|
/* 090830 8008FC30 51E00009 */ beql $t7, $zero, .L8008FC58
|
|
/* 090834 8008FC34 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 090838 8008FC38 0C009F40 */ jal func_80027D00
|
|
/* 09083C 8008FC3C AFA50018 */ sw $a1, 0x18($sp)
|
|
/* 090840 8008FC40 8FA50018 */ lw $a1, 0x18($sp)
|
|
/* 090844 8008FC44 24187000 */ li $t8, 28672
|
|
/* 090848 8008FC48 00402025 */ move $a0, $v0
|
|
/* 09084C 8008FC4C 0C015AA5 */ jal func_80056A94
|
|
/* 090850 8008FC50 A4B80000 */ sh $t8, ($a1)
|
|
/* 090854 8008FC54 8FBF0014 */ lw $ra, 0x14($sp)
|
|
.L8008FC58:
|
|
/* 090858 8008FC58 27BD0018 */ addiu $sp, $sp, 0x18
|
|
/* 09085C 8008FC5C 03E00008 */ jr $ra
|
|
/* 090860 8008FC60 00000000 */ nop
|
|
|
|
glabel func_8008FC64
|
|
/* 090864 8008FC64 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 090868 8008FC68 AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 09086C 8008FC6C AFA5001C */ sw $a1, 0x1c($sp)
|
|
/* 090870 8008FC70 848E00C6 */ lh $t6, 0xc6($a0)
|
|
/* 090874 8008FC74 25CFFFFC */ addiu $t7, $t6, -4
|
|
/* 090878 8008FC78 A48F00C6 */ sh $t7, 0xc6($a0)
|
|
/* 09087C 8008FC7C 849800C6 */ lh $t8, 0xc6($a0)
|
|
/* 090880 8008FC80 2B010005 */ slti $at, $t8, 5
|
|
/* 090884 8008FC84 50200012 */ beql $at, $zero, .L8008FCD0
|
|
/* 090888 8008FC88 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 09088C 8008FC8C 8C99000C */ lw $t9, 0xc($a0)
|
|
/* 090890 8008FC90 3C01FBFF */ lui $at, (0xFBFFFFFF >> 16) # lui $at, 0xfbff
|
|
/* 090894 8008FC94 3421FFFF */ ori $at, (0xFBFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
|
/* 090898 8008FC98 948B0000 */ lhu $t3, ($a0)
|
|
/* 09089C 8008FC9C 03214024 */ and $t0, $t9, $at
|
|
/* 0908A0 8008FCA0 3C010800 */ lui $at, 0x800
|
|
/* 0908A4 8008FCA4 AC88000C */ sw $t0, 0xc($a0)
|
|
/* 0908A8 8008FCA8 01015025 */ or $t2, $t0, $at
|
|
/* 0908AC 8008FCAC 356C0040 */ ori $t4, $t3, 0x40
|
|
/* 0908B0 8008FCB0 A48000C6 */ sh $zero, 0xc6($a0)
|
|
/* 0908B4 8008FCB4 AC8A000C */ sw $t2, 0xc($a0)
|
|
/* 0908B8 8008FCB8 A48C0000 */ sh $t4, ($a0)
|
|
/* 0908BC 8008FCBC 0C023F6A */ jal func_8008FDA8
|
|
/* 0908C0 8008FCC0 83A5001F */ lb $a1, 0x1f($sp)
|
|
/* 0908C4 8008FCC4 0C015A7D */ jal func_800569F4
|
|
/* 0908C8 8008FCC8 83A4001F */ lb $a0, 0x1f($sp)
|
|
/* 0908CC 8008FCCC 8FBF0014 */ lw $ra, 0x14($sp)
|
|
.L8008FCD0:
|
|
/* 0908D0 8008FCD0 27BD0018 */ addiu $sp, $sp, 0x18
|
|
/* 0908D4 8008FCD4 03E00008 */ jr $ra
|
|
/* 0908D8 8008FCD8 00000000 */ nop
|
|
|
|
glabel func_8008FCDC
|
|
/* 0908DC 8008FCDC 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 0908E0 8008FCE0 AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 0908E4 8008FCE4 AFA5001C */ sw $a1, 0x1c($sp)
|
|
/* 0908E8 8008FCE8 848F00C6 */ lh $t7, 0xc6($a0)
|
|
/* 0908EC 8008FCEC 00053600 */ sll $a2, $a1, 0x18
|
|
/* 0908F0 8008FCF0 00067603 */ sra $t6, $a2, 0x18
|
|
/* 0908F4 8008FCF4 25F80002 */ addiu $t8, $t7, 2
|
|
/* 0908F8 8008FCF8 A49800C6 */ sh $t8, 0xc6($a0)
|
|
/* 0908FC 8008FCFC 848200C6 */ lh $v0, 0xc6($a0)
|
|
/* 090900 8008FD00 01C03025 */ move $a2, $t6
|
|
/* 090904 8008FD04 241900FF */ li $t9, 255
|
|
/* 090908 8008FD08 284100F0 */ slti $at, $v0, 0xf0
|
|
/* 09090C 8008FD0C 54200009 */ bnel $at, $zero, .L8008FD34
|
|
/* 090910 8008FD10 00C02025 */ move $a0, $a2
|
|
/* 090914 8008FD14 8C88000C */ lw $t0, 0xc($a0)
|
|
/* 090918 8008FD18 3C01F7FF */ lui $at, (0xF7FFFFFF >> 16) # lui $at, 0xf7ff
|
|
/* 09091C 8008FD1C 3421FFFF */ ori $at, (0xF7FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
|
/* 090920 8008FD20 A49900C6 */ sh $t9, 0xc6($a0)
|
|
/* 090924 8008FD24 01014824 */ and $t1, $t0, $at
|
|
/* 090928 8008FD28 AC89000C */ sw $t1, 0xc($a0)
|
|
/* 09092C 8008FD2C 848200C6 */ lh $v0, 0xc6($a0)
|
|
/* 090930 8008FD30 00C02025 */ move $a0, $a2
|
|
.L8008FD34:
|
|
/* 090934 8008FD34 0C015A90 */ jal func_80056A40
|
|
/* 090938 8008FD38 00402825 */ move $a1, $v0
|
|
/* 09093C 8008FD3C 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 090940 8008FD40 27BD0018 */ addiu $sp, $sp, 0x18
|
|
/* 090944 8008FD44 03E00008 */ jr $ra
|
|
/* 090948 8008FD48 00000000 */ nop
|
|
|
|
glabel func_8008FD4C
|
|
/* 09094C 8008FD4C AFA50004 */ sw $a1, 4($sp)
|
|
/* 090950 8008FD50 8C8E000C */ lw $t6, 0xc($a0)
|
|
/* 090954 8008FD54 84980044 */ lh $t8, 0x44($a0)
|
|
/* 090958 8008FD58 3C010400 */ lui $at, 0x400
|
|
/* 09095C 8008FD5C 01C17825 */ or $t7, $t6, $at
|
|
/* 090960 8008FD60 37190200 */ ori $t9, $t8, 0x200
|
|
/* 090964 8008FD64 AC8F000C */ sw $t7, 0xc($a0)
|
|
/* 090968 8008FD68 A4990044 */ sh $t9, 0x44($a0)
|
|
/* 09096C 8008FD6C 24050048 */ li $a1, 72
|
|
/* 090970 8008FD70 00001025 */ move $v0, $zero
|
|
.L8008FD74:
|
|
/* 090974 8008FD74 00450019 */ multu $v0, $a1
|
|
/* 090978 8008FD78 24420001 */ addiu $v0, $v0, 1
|
|
/* 09097C 8008FD7C 00024C00 */ sll $t1, $v0, 0x10
|
|
/* 090980 8008FD80 00091403 */ sra $v0, $t1, 0x10
|
|
/* 090984 8008FD84 2841000A */ slti $at, $v0, 0xa
|
|
/* 090988 8008FD88 00004012 */ mflo $t0
|
|
/* 09098C 8008FD8C 00881821 */ addu $v1, $a0, $t0
|
|
/* 090990 8008FD90 A4600274 */ sh $zero, 0x274($v1)
|
|
/* 090994 8008FD94 A4600276 */ sh $zero, 0x276($v1)
|
|
/* 090998 8008FD98 1420FFF6 */ bnez $at, .L8008FD74
|
|
/* 09099C 8008FD9C A460026A */ sh $zero, 0x26a($v1)
|
|
/* 0909A0 8008FDA0 03E00008 */ jr $ra
|
|
/* 0909A4 8008FDA4 00000000 */ nop
|
|
|
|
glabel func_8008FDA8
|
|
/* 0909A8 8008FDA8 AFA50004 */ sw $a1, 4($sp)
|
|
/* 0909AC 8008FDAC 848E0044 */ lh $t6, 0x44($a0)
|
|
/* 0909B0 8008FDB0 24050048 */ li $a1, 72
|
|
/* 0909B4 8008FDB4 00001025 */ move $v0, $zero
|
|
/* 0909B8 8008FDB8 35CF0200 */ ori $t7, $t6, 0x200
|
|
/* 0909BC 8008FDBC A48F0044 */ sh $t7, 0x44($a0)
|
|
.L8008FDC0:
|
|
/* 0909C0 8008FDC0 00450019 */ multu $v0, $a1
|
|
/* 0909C4 8008FDC4 24420001 */ addiu $v0, $v0, 1
|
|
/* 0909C8 8008FDC8 0002CC00 */ sll $t9, $v0, 0x10
|
|
/* 0909CC 8008FDCC 00191403 */ sra $v0, $t9, 0x10
|
|
/* 0909D0 8008FDD0 2841000A */ slti $at, $v0, 0xa
|
|
/* 0909D4 8008FDD4 0000C012 */ mflo $t8
|
|
/* 0909D8 8008FDD8 00981821 */ addu $v1, $a0, $t8
|
|
/* 0909DC 8008FDDC A4600274 */ sh $zero, 0x274($v1)
|
|
/* 0909E0 8008FDE0 A4600276 */ sh $zero, 0x276($v1)
|
|
/* 0909E4 8008FDE4 1420FFF6 */ bnez $at, .L8008FDC0
|
|
/* 0909E8 8008FDE8 A460026A */ sh $zero, 0x26a($v1)
|
|
/* 0909EC 8008FDEC 03E00008 */ jr $ra
|
|
/* 0909F0 8008FDF0 00000000 */ nop
|
|
|
|
/* 0909F4 8008FDF4 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 0909F8 8008FDF8 AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 0909FC 8008FDFC AFA5001C */ sw $a1, 0x1c($sp)
|
|
/* 090A00 8008FE00 00057600 */ sll $t6, $a1, 0x18
|
|
/* 090A04 8008FE04 000E2E03 */ sra $a1, $t6, 0x18
|
|
/* 090A08 8008FE08 0C0230D5 */ jal func_8008C354
|
|
/* 090A0C 8008FE0C AFA40018 */ sw $a0, 0x18($sp)
|
|
/* 090A10 8008FE10 8FA40018 */ lw $a0, 0x18($sp)
|
|
/* 090A14 8008FE14 2401FFEF */ li $at, -17
|
|
/* 090A18 8008FE18 44803000 */ mtc1 $zero, $f6
|
|
/* 090A1C 8008FE1C 8C9800BC */ lw $t8, 0xbc($a0)
|
|
/* 090A20 8008FE20 94820254 */ lhu $v0, 0x254($a0)
|
|
/* 090A24 8008FE24 8C89000C */ lw $t1, 0xc($a0)
|
|
/* 090A28 8008FE28 0301C824 */ and $t9, $t8, $at
|
|
/* 090A2C 8008FE2C 3C01800E */ lui $at, %hi(D_800E37F0)
|
|
/* 090A30 8008FE30 00024080 */ sll $t0, $v0, 2
|
|
/* 090A34 8008FE34 00280821 */ addu $at, $at, $t0
|
|
/* 090A38 8008FE38 AC9900BC */ sw $t9, 0xbc($a0)
|
|
/* 090A3C 8008FE3C C42437F0 */ lwc1 $f4, %lo(D_800E37F0)($at)
|
|
/* 090A40 8008FE40 3C01800E */ lui $at, %hi(D_800E37D0)
|
|
/* 090A44 8008FE44 00280821 */ addu $at, $at, $t0
|
|
/* 090A48 8008FE48 E48600F4 */ swc1 $f6, 0xf4($a0)
|
|
/* 090A4C 8008FE4C E48400F0 */ swc1 $f4, 0xf0($a0)
|
|
/* 090A50 8008FE50 C42837D0 */ lwc1 $f8, %lo(D_800E37D0)($at)
|
|
/* 090A54 8008FE54 3C01FFEF */ lui $at, (0xFFEFFFFF >> 16) # lui $at, 0xffef
|
|
/* 090A58 8008FE58 3421FFFF */ ori $at, (0xFFEFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
|
/* 090A5C 8008FE5C 01215024 */ and $t2, $t1, $at
|
|
/* 090A60 8008FE60 3C011000 */ lui $at, 0x1000
|
|
/* 090A64 8008FE64 03216025 */ or $t4, $t9, $at
|
|
/* 090A68 8008FE68 AC8A000C */ sw $t2, 0xc($a0)
|
|
/* 090A6C 8008FE6C AC8C00BC */ sw $t4, 0xbc($a0)
|
|
/* 090A70 8008FE70 E48800EC */ swc1 $f8, 0xec($a0)
|
|
/* 090A74 8008FE74 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 090A78 8008FE78 27BD0018 */ addiu $sp, $sp, 0x18
|
|
/* 090A7C 8008FE7C 03E00008 */ jr $ra
|
|
/* 090A80 8008FE80 00000000 */ nop
|
|
|
|
/* 090A84 8008FE84 AFA50004 */ sw $a1, 4($sp)
|
|
/* 090A88 8008FE88 8C8E00BC */ lw $t6, 0xbc($a0)
|
|
/* 090A8C 8008FE8C 2401FFEF */ li $at, -17
|
|
/* 090A90 8008FE90 01C17824 */ and $t7, $t6, $at
|
|
/* 090A94 8008FE94 31F80008 */ andi $t8, $t7, 8
|
|
/* 090A98 8008FE98 24010008 */ li $at, 8
|
|
/* 090A9C 8008FE9C 1301000D */ beq $t8, $at, .L8008FED4
|
|
/* 090AA0 8008FEA0 AC8F00BC */ sw $t7, 0xbc($a0)
|
|
/* 090AA4 8008FEA4 3C014000 */ li $at, 0x40000000 # 2.000000
|
|
/* 090AA8 8008FEA8 44810000 */ mtc1 $at, $f0
|
|
/* 090AAC 8008FEAC C484009C */ lwc1 $f4, 0x9c($a0)
|
|
/* 090AB0 8008FEB0 C488008C */ lwc1 $f8, 0x8c($a0)
|
|
/* 090AB4 8008FEB4 3C01EFFF */ lui $at, (0xEFFFFFFF >> 16) # lui $at, 0xefff
|
|
/* 090AB8 8008FEB8 46002183 */ div.s $f6, $f4, $f0
|
|
/* 090ABC 8008FEBC 3421FFFF */ ori $at, (0xEFFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
|
/* 090AC0 8008FEC0 01E1C824 */ and $t9, $t7, $at
|
|
/* 090AC4 8008FEC4 AC9900BC */ sw $t9, 0xbc($a0)
|
|
/* 090AC8 8008FEC8 46004283 */ div.s $f10, $f8, $f0
|
|
/* 090ACC 8008FECC E486009C */ swc1 $f6, 0x9c($a0)
|
|
/* 090AD0 8008FED0 E48A008C */ swc1 $f10, 0x8c($a0)
|
|
.L8008FED4:
|
|
/* 090AD4 8008FED4 03E00008 */ jr $ra
|
|
/* 090AD8 8008FED8 00000000 */ nop
|
|
|
|
glabel func_8008FEDC
|
|
/* 090ADC 8008FEDC AFA50004 */ sw $a1, 4($sp)
|
|
/* 090AE0 8008FEE0 44800000 */ mtc1 $zero, $f0
|
|
/* 090AE4 8008FEE4 8C8E00BC */ lw $t6, 0xbc($a0)
|
|
/* 090AE8 8008FEE8 3C01EFFF */ lui $at, (0xEFFFFFFF >> 16) # lui $at, 0xefff
|
|
/* 090AEC 8008FEEC 3421FFFF */ ori $at, (0xEFFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
|
/* 090AF0 8008FEF0 01C17824 */ and $t7, $t6, $at
|
|
/* 090AF4 8008FEF4 AC8F00BC */ sw $t7, 0xbc($a0)
|
|
/* 090AF8 8008FEF8 E48000F0 */ swc1 $f0, 0xf0($a0)
|
|
/* 090AFC 8008FEFC E48000EC */ swc1 $f0, 0xec($a0)
|
|
/* 090B00 8008FF00 03E00008 */ jr $ra
|
|
/* 090B04 8008FF04 E48000F4 */ swc1 $f0, 0xf4($a0)
|
|
|
|
glabel func_8008FF08
|
|
/* 090B08 8008FF08 3C18800E */ lui $t8, %hi(gCurrentCourseId) # $t8, 0x800e
|
|
/* 090B0C 8008FF0C 8718C5A0 */ lh $t8, %lo(gCurrentCourseId)($t8)
|
|
/* 090B10 8008FF10 AFA50004 */ sw $a1, 4($sp)
|
|
/* 090B14 8008FF14 00057600 */ sll $t6, $a1, 0x18
|
|
/* 090B18 8008FF18 2719FFFE */ addiu $t9, $t8, -2
|
|
/* 090B1C 8008FF1C 2F210012 */ sltiu $at, $t9, 0x12
|
|
/* 090B20 8008FF20 10200087 */ beqz $at, .L80090140
|
|
/* 090B24 8008FF24 000E2E03 */ sra $a1, $t6, 0x18
|
|
/* 090B28 8008FF28 0019C880 */ sll $t9, $t9, 2
|
|
/* 090B2C 8008FF2C 3C01800F */ lui $at, %hi(D_800EF5B0)
|
|
/* 090B30 8008FF30 00390821 */ addu $at, $at, $t9
|
|
/* 090B34 8008FF34 8C39F5B0 */ lw $t9, %lo(D_800EF5B0)($at)
|
|
/* 090B38 8008FF38 03200008 */ jr $t9
|
|
/* 090B3C 8008FF3C 00000000 */ nop
|
|
glabel L8008FF40
|
|
/* 090B40 8008FF40 00054040 */ sll $t0, $a1, 1
|
|
/* 090B44 8008FF44 3C038016 */ lui $v1, %hi(D_80164438) # 0x8016
|
|
/* 090B48 8008FF48 00681821 */ addu $v1, $v1, $t0
|
|
/* 090B4C 8008FF4C 94634438 */ lhu $v1, %lo(D_80164438)($v1) # 0x4438($v1)
|
|
/* 090B50 8008FF50 00031400 */ sll $v0, $v1, 0x10
|
|
/* 090B54 8008FF54 00024C03 */ sra $t1, $v0, 0x10
|
|
/* 090B58 8008FF58 29210235 */ slti $at, $t1, 0x235
|
|
/* 090B5C 8008FF5C 14200006 */ bnez $at, .L8008FF78
|
|
/* 090B60 8008FF60 01201025 */ move $v0, $t1
|
|
/* 090B64 8008FF64 29210247 */ slti $at, $t1, 0x247
|
|
/* 090B68 8008FF68 10200003 */ beqz $at, .L8008FF78
|
|
/* 090B6C 8008FF6C 240A0214 */ li $t2, 532
|
|
/* 090B70 8008FF70 03E00008 */ jr $ra
|
|
/* 090B74 8008FF74 A48A0220 */ sh $t2, 0x220($a0)
|
|
|
|
.L8008FF78:
|
|
/* 090B78 8008FF78 28410267 */ slti $at, $v0, 0x267
|
|
/* 090B7C 8008FF7C 14200005 */ bnez $at, .L8008FF94
|
|
/* 090B80 8008FF80 28410277 */ slti $at, $v0, 0x277
|
|
/* 090B84 8008FF84 10200003 */ beqz $at, .L8008FF94
|
|
/* 090B88 8008FF88 240B025B */ li $t3, 603
|
|
/* 090B8C 8008FF8C 03E00008 */ jr $ra
|
|
/* 090B90 8008FF90 A48B0220 */ sh $t3, 0x220($a0)
|
|
|
|
.L8008FF94:
|
|
/* 090B94 8008FF94 A4830220 */ sh $v1, 0x220($a0)
|
|
/* 090B98 8008FF98 84820220 */ lh $v0, 0x220($a0)
|
|
/* 090B9C 8008FF9C 3C0C8016 */ lui $t4, %hi(D_801645C8) # $t4, 0x8016
|
|
/* 090BA0 8008FFA0 04410073 */ bgez $v0, .L80090170
|
|
/* 090BA4 8008FFA4 00000000 */ nop
|
|
/* 090BA8 8008FFA8 958C45C8 */ lhu $t4, %lo(D_801645C8)($t4)
|
|
/* 090BAC 8008FFAC 01826821 */ addu $t5, $t4, $v0
|
|
/* 090BB0 8008FFB0 03E00008 */ jr $ra
|
|
/* 090BB4 8008FFB4 A48D0220 */ sh $t5, 0x220($a0)
|
|
|
|
glabel L8008FFB8
|
|
/* 090BB8 8008FFB8 00057040 */ sll $t6, $a1, 1
|
|
/* 090BBC 8008FFBC 3C038016 */ lui $v1, %hi(D_80164438) # 0x8016
|
|
/* 090BC0 8008FFC0 006E1821 */ addu $v1, $v1, $t6
|
|
/* 090BC4 8008FFC4 94634438 */ lhu $v1, %lo(D_80164438)($v1) # 0x4438($v1)
|
|
/* 090BC8 8008FFC8 00031400 */ sll $v0, $v1, 0x10
|
|
/* 090BCC 8008FFCC 00027C03 */ sra $t7, $v0, 0x10
|
|
/* 090BD0 8008FFD0 29E1012C */ slti $at, $t7, 0x12c
|
|
/* 090BD4 8008FFD4 14200005 */ bnez $at, .L8008FFEC
|
|
/* 090BD8 8008FFD8 29E1013C */ slti $at, $t7, 0x13c
|
|
/* 090BDC 8008FFDC 10200003 */ beqz $at, .L8008FFEC
|
|
/* 090BE0 8008FFE0 2418012C */ li $t8, 300
|
|
/* 090BE4 8008FFE4 03E00008 */ jr $ra
|
|
/* 090BE8 8008FFE8 A4980220 */ sh $t8, 0x220($a0)
|
|
|
|
.L8008FFEC:
|
|
/* 090BEC 8008FFEC A4830220 */ sh $v1, 0x220($a0)
|
|
/* 090BF0 8008FFF0 84820220 */ lh $v0, 0x220($a0)
|
|
/* 090BF4 8008FFF4 3C198016 */ lui $t9, %hi(D_801645C8) # $t9, 0x8016
|
|
/* 090BF8 8008FFF8 0441005D */ bgez $v0, .L80090170
|
|
/* 090BFC 8008FFFC 00000000 */ nop
|
|
/* 090C00 80090000 973945C8 */ lhu $t9, %lo(D_801645C8)($t9)
|
|
/* 090C04 80090004 03224021 */ addu $t0, $t9, $v0
|
|
/* 090C08 80090008 03E00008 */ jr $ra
|
|
/* 090C0C 8009000C A4880220 */ sh $t0, 0x220($a0)
|
|
|
|
glabel L80090010
|
|
/* 090C10 80090010 00054840 */ sll $t1, $a1, 1
|
|
/* 090C14 80090014 3C0A8016 */ lui $t2, %hi(D_80165320) # 0x8016
|
|
/* 090C18 80090018 01495021 */ addu $t2, $t2, $t1
|
|
/* 090C1C 8009001C 854A5320 */ lh $t2, %lo(D_80165320)($t2) # 0x5320($t2)
|
|
/* 090C20 80090020 03E00008 */ jr $ra
|
|
/* 090C24 80090024 A48A0220 */ sh $t2, 0x220($a0)
|
|
|
|
glabel L80090028
|
|
/* 090C28 80090028 00051840 */ sll $v1, $a1, 1
|
|
/* 090C2C 8009002C 3C028016 */ lui $v0, %hi(D_80164438) # 0x8016
|
|
/* 090C30 80090030 00431021 */ addu $v0, $v0, $v1
|
|
/* 090C34 80090034 84424438 */ lh $v0, %lo(D_80164438)($v0) # 0x4438($v0)
|
|
/* 090C38 80090038 3C0C8016 */ lui $t4, %hi(D_80165320) # 0x8016
|
|
/* 090C3C 8009003C 01836021 */ addu $t4, $t4, $v1
|
|
/* 090C40 80090040 284100F0 */ slti $at, $v0, 0xf0
|
|
/* 090C44 80090044 14200005 */ bnez $at, .L8009005C
|
|
/* 090C48 80090048 28410105 */ slti $at, $v0, 0x105
|
|
/* 090C4C 8009004C 10200003 */ beqz $at, .L8009005C
|
|
/* 090C50 80090050 240B00F0 */ li $t3, 240
|
|
/* 090C54 80090054 03E00008 */ jr $ra
|
|
/* 090C58 80090058 A48B0220 */ sh $t3, 0x220($a0)
|
|
|
|
.L8009005C:
|
|
/* 090C5C 8009005C 858C5320 */ lh $t4, %lo(D_80165320)($t4) # 0x5320($t4)
|
|
/* 090C60 80090060 3C0D8016 */ lui $t5, %hi(D_801645C8) # $t5, 0x8016
|
|
/* 090C64 80090064 A48C0220 */ sh $t4, 0x220($a0)
|
|
/* 090C68 80090068 84820220 */ lh $v0, 0x220($a0)
|
|
/* 090C6C 8009006C 04410040 */ bgez $v0, .L80090170
|
|
/* 090C70 80090070 00000000 */ nop
|
|
/* 090C74 80090074 95AD45C8 */ lhu $t5, %lo(D_801645C8)($t5)
|
|
/* 090C78 80090078 01A27021 */ addu $t6, $t5, $v0
|
|
/* 090C7C 8009007C 03E00008 */ jr $ra
|
|
/* 090C80 80090080 A48E0220 */ sh $t6, 0x220($a0)
|
|
|
|
glabel L80090084
|
|
/* 090C84 80090084 00051840 */ sll $v1, $a1, 1
|
|
/* 090C88 80090088 3C028016 */ lui $v0, %hi(D_80164438) # 0x8016
|
|
/* 090C8C 8009008C 00431021 */ addu $v0, $v0, $v1
|
|
/* 090C90 80090090 84424438 */ lh $v0, %lo(D_80164438)($v0) # 0x4438($v0)
|
|
/* 090C94 80090094 3C188016 */ lui $t8, %hi(D_80165320) # 0x8016
|
|
/* 090C98 80090098 0303C021 */ addu $t8, $t8, $v1
|
|
/* 090C9C 8009009C 28410258 */ slti $at, $v0, 0x258
|
|
/* 090CA0 800900A0 14200005 */ bnez $at, .L800900B8
|
|
/* 090CA4 800900A4 284102A4 */ slti $at, $v0, 0x2a4
|
|
/* 090CA8 800900A8 10200003 */ beqz $at, .L800900B8
|
|
/* 090CAC 800900AC 240F0258 */ li $t7, 600
|
|
/* 090CB0 800900B0 03E00008 */ jr $ra
|
|
/* 090CB4 800900B4 A48F0220 */ sh $t7, 0x220($a0)
|
|
|
|
.L800900B8:
|
|
/* 090CB8 800900B8 87185320 */ lh $t8, %lo(D_80165320)($t8) # 0x5320($t8)
|
|
/* 090CBC 800900BC 3C198016 */ lui $t9, %hi(D_801645C8) # $t9, 0x8016
|
|
/* 090CC0 800900C0 A4980220 */ sh $t8, 0x220($a0)
|
|
/* 090CC4 800900C4 84820220 */ lh $v0, 0x220($a0)
|
|
/* 090CC8 800900C8 04410029 */ bgez $v0, .L80090170
|
|
/* 090CCC 800900CC 00000000 */ nop
|
|
/* 090CD0 800900D0 973945C8 */ lhu $t9, %lo(D_801645C8)($t9)
|
|
/* 090CD4 800900D4 03224021 */ addu $t0, $t9, $v0
|
|
/* 090CD8 800900D8 03E00008 */ jr $ra
|
|
/* 090CDC 800900DC A4880220 */ sh $t0, 0x220($a0)
|
|
|
|
glabel L800900E0
|
|
/* 090CE0 800900E0 00054840 */ sll $t1, $a1, 1
|
|
/* 090CE4 800900E4 3C038016 */ lui $v1, %hi(D_80164438) # 0x8016
|
|
/* 090CE8 800900E8 00691821 */ addu $v1, $v1, $t1
|
|
/* 090CEC 800900EC 94634438 */ lhu $v1, %lo(D_80164438)($v1) # 0x4438($v1)
|
|
/* 090CF0 800900F0 00031400 */ sll $v0, $v1, 0x10
|
|
/* 090CF4 800900F4 00025403 */ sra $t2, $v0, 0x10
|
|
/* 090CF8 800900F8 294100B9 */ slti $at, $t2, 0xb9
|
|
/* 090CFC 800900FC 14200005 */ bnez $at, .L80090114
|
|
/* 090D00 80090100 29410119 */ slti $at, $t2, 0x119
|
|
/* 090D04 80090104 10200003 */ beqz $at, .L80090114
|
|
/* 090D08 80090108 240B00B9 */ li $t3, 185
|
|
/* 090D0C 8009010C 03E00008 */ jr $ra
|
|
/* 090D10 80090110 A48B0220 */ sh $t3, 0x220($a0)
|
|
|
|
.L80090114:
|
|
/* 090D14 80090114 A4830220 */ sh $v1, 0x220($a0)
|
|
/* 090D18 80090118 84820220 */ lh $v0, 0x220($a0)
|
|
/* 090D1C 8009011C 3C0C8016 */ lui $t4, %hi(D_801645C8) # $t4, 0x8016
|
|
/* 090D20 80090120 04410013 */ bgez $v0, .L80090170
|
|
/* 090D24 80090124 00000000 */ nop
|
|
/* 090D28 80090128 958C45C8 */ lhu $t4, %lo(D_801645C8)($t4)
|
|
/* 090D2C 8009012C 01826821 */ addu $t5, $t4, $v0
|
|
/* 090D30 80090130 03E00008 */ jr $ra
|
|
/* 090D34 80090134 A48D0220 */ sh $t5, 0x220($a0)
|
|
|
|
glabel L80090138
|
|
/* 090D38 80090138 03E00008 */ jr $ra
|
|
/* 090D3C 8009013C A4800220 */ sh $zero, 0x220($a0)
|
|
|
|
.L80090140:
|
|
glabel L80090140
|
|
/* 090D40 80090140 00057040 */ sll $t6, $a1, 1
|
|
/* 090D44 80090144 3C0F8016 */ lui $t7, %hi(D_80164438) # 0x8016
|
|
/* 090D48 80090148 01EE7821 */ addu $t7, $t7, $t6
|
|
/* 090D4C 8009014C 95EF4438 */ lhu $t7, %lo(D_80164438)($t7) # 0x4438($t7)
|
|
/* 090D50 80090150 3C188016 */ lui $t8, %hi(D_801645C8) # $t8, 0x8016
|
|
/* 090D54 80090154 A48F0220 */ sh $t7, 0x220($a0)
|
|
/* 090D58 80090158 84820220 */ lh $v0, 0x220($a0)
|
|
/* 090D5C 8009015C 04410004 */ bgez $v0, .L80090170
|
|
/* 090D60 80090160 00000000 */ nop
|
|
/* 090D64 80090164 971845C8 */ lhu $t8, %lo(D_801645C8)($t8)
|
|
/* 090D68 80090168 0302C821 */ addu $t9, $t8, $v0
|
|
/* 090D6C 8009016C A4990220 */ sh $t9, 0x220($a0)
|
|
.L80090170:
|
|
/* 090D70 80090170 03E00008 */ jr $ra
|
|
/* 090D74 80090174 00000000 */ nop
|
|
|
|
glabel func_80090178
|
|
/* 090D78 80090178 27BDFEF0 */ addiu $sp, $sp, -0x110
|
|
/* 090D7C 8009017C 3C18800E */ lui $t8, %hi(D_800E6F6C) # $t8, 0x800e
|
|
/* 090D80 80090180 AFA50114 */ sw $a1, 0x114($sp)
|
|
/* 090D84 80090184 27186F6C */ addiu $t8, %lo(D_800E6F6C) # addiu $t8, $t8, 0x6f6c
|
|
/* 090D88 80090188 8F010000 */ lw $at, ($t8)
|
|
/* 090D8C 8009018C 27A200F8 */ addiu $v0, $sp, 0xf8
|
|
/* 090D90 80090190 00057600 */ sll $t6, $a1, 0x18
|
|
/* 090D94 80090194 AC410000 */ sw $at, ($v0)
|
|
/* 090D98 80090198 8F0F0004 */ lw $t7, 4($t8)
|
|
/* 090D9C 8009019C 000E2E03 */ sra $a1, $t6, 0x18
|
|
/* 090DA0 800901A0 3C0E800E */ lui $t6, %hi(D_800E6F7C) # $t6, 0x800e
|
|
/* 090DA4 800901A4 AC4F0004 */ sw $t7, 4($v0)
|
|
/* 090DA8 800901A8 8F010008 */ lw $at, 8($t8)
|
|
/* 090DAC 800901AC 25CE6F7C */ addiu $t6, %lo(D_800E6F7C) # addiu $t6, $t6, 0x6f7c
|
|
/* 090DB0 800901B0 27A300E8 */ addiu $v1, $sp, 0xe8
|
|
/* 090DB4 800901B4 AC410008 */ sw $at, 8($v0)
|
|
/* 090DB8 800901B8 8F0F000C */ lw $t7, 0xc($t8)
|
|
/* 090DBC 800901BC 3C18800E */ lui $t8, %hi(D_800E6F8C) # $t8, 0x800e
|
|
/* 090DC0 800901C0 27186F8C */ addiu $t8, %lo(D_800E6F8C) # addiu $t8, $t8, 0x6f8c
|
|
/* 090DC4 800901C4 AC4F000C */ sw $t7, 0xc($v0)
|
|
/* 090DC8 800901C8 8DC10000 */ lw $at, ($t6)
|
|
/* 090DCC 800901CC 27A800D8 */ addiu $t0, $sp, 0xd8
|
|
/* 090DD0 800901D0 27A900C8 */ addiu $t1, $sp, 0xc8
|
|
/* 090DD4 800901D4 AC610000 */ sw $at, ($v1)
|
|
/* 090DD8 800901D8 8DCF0004 */ lw $t7, 4($t6)
|
|
/* 090DDC 800901DC 27AA00B8 */ addiu $t2, $sp, 0xb8
|
|
/* 090DE0 800901E0 27AB00A8 */ addiu $t3, $sp, 0xa8
|
|
/* 090DE4 800901E4 AC6F0004 */ sw $t7, 4($v1)
|
|
/* 090DE8 800901E8 8DC10008 */ lw $at, 8($t6)
|
|
/* 090DEC 800901EC 27AC0098 */ addiu $t4, $sp, 0x98
|
|
/* 090DF0 800901F0 27AD0088 */ addiu $t5, $sp, 0x88
|
|
/* 090DF4 800901F4 AC610008 */ sw $at, 8($v1)
|
|
/* 090DF8 800901F8 8DCF000C */ lw $t7, 0xc($t6)
|
|
/* 090DFC 800901FC 3C0E800E */ lui $t6, %hi(D_800E6F9C) # $t6, 0x800e
|
|
/* 090E00 80090200 25CE6F9C */ addiu $t6, %lo(D_800E6F9C) # addiu $t6, $t6, 0x6f9c
|
|
/* 090E04 80090204 AC6F000C */ sw $t7, 0xc($v1)
|
|
/* 090E08 80090208 8F010000 */ lw $at, ($t8)
|
|
/* 090E0C 8009020C 3C19800E */ lui $t9, %hi(D_800E6FEC) # $t9, 0x800e
|
|
/* 090E10 80090210 27396FEC */ addiu $t9, %lo(D_800E6FEC) # addiu $t9, $t9, 0x6fec
|
|
/* 090E14 80090214 AD010000 */ sw $at, ($t0)
|
|
/* 090E18 80090218 8F0F0004 */ lw $t7, 4($t8)
|
|
/* 090E1C 8009021C AD0F0004 */ sw $t7, 4($t0)
|
|
/* 090E20 80090220 8F010008 */ lw $at, 8($t8)
|
|
/* 090E24 80090224 AD010008 */ sw $at, 8($t0)
|
|
/* 090E28 80090228 8F0F000C */ lw $t7, 0xc($t8)
|
|
/* 090E2C 8009022C 3C18800E */ lui $t8, %hi(D_800E6FAC) # $t8, 0x800e
|
|
/* 090E30 80090230 27186FAC */ addiu $t8, %lo(D_800E6FAC) # addiu $t8, $t8, 0x6fac
|
|
/* 090E34 80090234 AD0F000C */ sw $t7, 0xc($t0)
|
|
/* 090E38 80090238 8DC10000 */ lw $at, ($t6)
|
|
/* 090E3C 8009023C AD210000 */ sw $at, ($t1)
|
|
/* 090E40 80090240 8DCF0004 */ lw $t7, 4($t6)
|
|
/* 090E44 80090244 AD2F0004 */ sw $t7, 4($t1)
|
|
/* 090E48 80090248 8DC10008 */ lw $at, 8($t6)
|
|
/* 090E4C 8009024C AD210008 */ sw $at, 8($t1)
|
|
/* 090E50 80090250 8DCF000C */ lw $t7, 0xc($t6)
|
|
/* 090E54 80090254 3C0E800E */ lui $t6, %hi(D_800E6FBC) # $t6, 0x800e
|
|
/* 090E58 80090258 25CE6FBC */ addiu $t6, %lo(D_800E6FBC) # addiu $t6, $t6, 0x6fbc
|
|
/* 090E5C 8009025C AD2F000C */ sw $t7, 0xc($t1)
|
|
/* 090E60 80090260 8F010000 */ lw $at, ($t8)
|
|
/* 090E64 80090264 AD410000 */ sw $at, ($t2)
|
|
/* 090E68 80090268 8F0F0004 */ lw $t7, 4($t8)
|
|
/* 090E6C 8009026C AD4F0004 */ sw $t7, 4($t2)
|
|
/* 090E70 80090270 8F010008 */ lw $at, 8($t8)
|
|
/* 090E74 80090274 AD410008 */ sw $at, 8($t2)
|
|
/* 090E78 80090278 8F0F000C */ lw $t7, 0xc($t8)
|
|
/* 090E7C 8009027C 3C18800E */ lui $t8, %hi(D_800E6FCC) # $t8, 0x800e
|
|
/* 090E80 80090280 27186FCC */ addiu $t8, %lo(D_800E6FCC) # addiu $t8, $t8, 0x6fcc
|
|
/* 090E84 80090284 AD4F000C */ sw $t7, 0xc($t2)
|
|
/* 090E88 80090288 8DC10000 */ lw $at, ($t6)
|
|
/* 090E8C 8009028C AD610000 */ sw $at, ($t3)
|
|
/* 090E90 80090290 8DCF0004 */ lw $t7, 4($t6)
|
|
/* 090E94 80090294 AD6F0004 */ sw $t7, 4($t3)
|
|
/* 090E98 80090298 8DC10008 */ lw $at, 8($t6)
|
|
/* 090E9C 8009029C AD610008 */ sw $at, 8($t3)
|
|
/* 090EA0 800902A0 8DCF000C */ lw $t7, 0xc($t6)
|
|
/* 090EA4 800902A4 3C0E800E */ lui $t6, %hi(D_800E6FDC) # $t6, 0x800e
|
|
/* 090EA8 800902A8 25CE6FDC */ addiu $t6, %lo(D_800E6FDC) # addiu $t6, $t6, 0x6fdc
|
|
/* 090EAC 800902AC AD6F000C */ sw $t7, 0xc($t3)
|
|
/* 090EB0 800902B0 8F010000 */ lw $at, ($t8)
|
|
/* 090EB4 800902B4 AD810000 */ sw $at, ($t4)
|
|
/* 090EB8 800902B8 8F0F0004 */ lw $t7, 4($t8)
|
|
/* 090EBC 800902BC AD8F0004 */ sw $t7, 4($t4)
|
|
/* 090EC0 800902C0 8F010008 */ lw $at, 8($t8)
|
|
/* 090EC4 800902C4 AD810008 */ sw $at, 8($t4)
|
|
/* 090EC8 800902C8 8F0F000C */ lw $t7, 0xc($t8)
|
|
/* 090ECC 800902CC 27B80078 */ addiu $t8, $sp, 0x78
|
|
/* 090ED0 800902D0 AD8F000C */ sw $t7, 0xc($t4)
|
|
/* 090ED4 800902D4 8DC10000 */ lw $at, ($t6)
|
|
/* 090ED8 800902D8 ADA10000 */ sw $at, ($t5)
|
|
/* 090EDC 800902DC 8DCF0004 */ lw $t7, 4($t6)
|
|
/* 090EE0 800902E0 ADAF0004 */ sw $t7, 4($t5)
|
|
/* 090EE4 800902E4 8DC10008 */ lw $at, 8($t6)
|
|
/* 090EE8 800902E8 ADA10008 */ sw $at, 8($t5)
|
|
/* 090EEC 800902EC 8DCF000C */ lw $t7, 0xc($t6)
|
|
/* 090EF0 800902F0 27AE0068 */ addiu $t6, $sp, 0x68
|
|
/* 090EF4 800902F4 ADAF000C */ sw $t7, 0xc($t5)
|
|
/* 090EF8 800902F8 8F2F0004 */ lw $t7, 4($t9)
|
|
/* 090EFC 800902FC 8F210000 */ lw $at, ($t9)
|
|
/* 090F00 80090300 AF0F0004 */ sw $t7, 4($t8)
|
|
/* 090F04 80090304 AF010000 */ sw $at, ($t8)
|
|
/* 090F08 80090308 8F210008 */ lw $at, 8($t9)
|
|
/* 090F0C 8009030C 8F2F000C */ lw $t7, 0xc($t9)
|
|
/* 090F10 80090310 27B90058 */ addiu $t9, $sp, 0x58
|
|
/* 090F14 80090314 AF010008 */ sw $at, 8($t8)
|
|
/* 090F18 80090318 AF0F000C */ sw $t7, 0xc($t8)
|
|
/* 090F1C 8009031C 3C18800E */ lui $t8, %hi(D_800E6FFC) # $t8, 0x800e
|
|
/* 090F20 80090320 27186FFC */ addiu $t8, %lo(D_800E6FFC) # addiu $t8, $t8, 0x6ffc
|
|
/* 090F24 80090324 8F010000 */ lw $at, ($t8)
|
|
/* 090F28 80090328 8F0F0004 */ lw $t7, 4($t8)
|
|
/* 090F2C 8009032C ADC10000 */ sw $at, ($t6)
|
|
/* 090F30 80090330 ADCF0004 */ sw $t7, 4($t6)
|
|
/* 090F34 80090334 8F0F000C */ lw $t7, 0xc($t8)
|
|
/* 090F38 80090338 8F010008 */ lw $at, 8($t8)
|
|
/* 090F3C 8009033C 27B80048 */ addiu $t8, $sp, 0x48
|
|
/* 090F40 80090340 ADCF000C */ sw $t7, 0xc($t6)
|
|
/* 090F44 80090344 ADC10008 */ sw $at, 8($t6)
|
|
/* 090F48 80090348 3C0E800E */ lui $t6, %hi(D_800E700C) # $t6, 0x800e
|
|
/* 090F4C 8009034C 25CE700C */ addiu $t6, %lo(D_800E700C) # addiu $t6, $t6, 0x700c
|
|
/* 090F50 80090350 8DC10000 */ lw $at, ($t6)
|
|
/* 090F54 80090354 8DCF0004 */ lw $t7, 4($t6)
|
|
/* 090F58 80090358 AF210000 */ sw $at, ($t9)
|
|
/* 090F5C 8009035C AF2F0004 */ sw $t7, 4($t9)
|
|
/* 090F60 80090360 8DCF000C */ lw $t7, 0xc($t6)
|
|
/* 090F64 80090364 8DC10008 */ lw $at, 8($t6)
|
|
/* 090F68 80090368 27AE0038 */ addiu $t6, $sp, 0x38
|
|
/* 090F6C 8009036C AF2F000C */ sw $t7, 0xc($t9)
|
|
/* 090F70 80090370 AF210008 */ sw $at, 8($t9)
|
|
/* 090F74 80090374 3C19800E */ lui $t9, %hi(D_800E701C) # $t9, 0x800e
|
|
/* 090F78 80090378 2739701C */ addiu $t9, %lo(D_800E701C) # addiu $t9, $t9, 0x701c
|
|
/* 090F7C 8009037C 8F210000 */ lw $at, ($t9)
|
|
/* 090F80 80090380 8F2F0004 */ lw $t7, 4($t9)
|
|
/* 090F84 80090384 AF010000 */ sw $at, ($t8)
|
|
/* 090F88 80090388 AF0F0004 */ sw $t7, 4($t8)
|
|
/* 090F8C 8009038C 8F2F000C */ lw $t7, 0xc($t9)
|
|
/* 090F90 80090390 8F210008 */ lw $at, 8($t9)
|
|
/* 090F94 80090394 27B90028 */ addiu $t9, $sp, 0x28
|
|
/* 090F98 80090398 AF0F000C */ sw $t7, 0xc($t8)
|
|
/* 090F9C 8009039C AF010008 */ sw $at, 8($t8)
|
|
/* 090FA0 800903A0 3C18800E */ lui $t8, %hi(D_800E702C) # $t8, 0x800e
|
|
/* 090FA4 800903A4 2718702C */ addiu $t8, %lo(D_800E702C) # addiu $t8, $t8, 0x702c
|
|
/* 090FA8 800903A8 8F010000 */ lw $at, ($t8)
|
|
/* 090FAC 800903AC 8F0F0004 */ lw $t7, 4($t8)
|
|
/* 090FB0 800903B0 ADC10000 */ sw $at, ($t6)
|
|
/* 090FB4 800903B4 ADCF0004 */ sw $t7, 4($t6)
|
|
/* 090FB8 800903B8 8F0F000C */ lw $t7, 0xc($t8)
|
|
/* 090FBC 800903BC 8F010008 */ lw $at, 8($t8)
|
|
/* 090FC0 800903C0 27B80018 */ addiu $t8, $sp, 0x18
|
|
/* 090FC4 800903C4 ADCF000C */ sw $t7, 0xc($t6)
|
|
/* 090FC8 800903C8 ADC10008 */ sw $at, 8($t6)
|
|
/* 090FCC 800903CC 3C0E800E */ lui $t6, %hi(D_800E703C) # $t6, 0x800e
|
|
/* 090FD0 800903D0 25CE703C */ addiu $t6, %lo(D_800E703C) # addiu $t6, $t6, 0x703c
|
|
/* 090FD4 800903D4 8DC10000 */ lw $at, ($t6)
|
|
/* 090FD8 800903D8 8DCF0004 */ lw $t7, 4($t6)
|
|
/* 090FDC 800903DC AF210000 */ sw $at, ($t9)
|
|
/* 090FE0 800903E0 AF2F0004 */ sw $t7, 4($t9)
|
|
/* 090FE4 800903E4 8DCF000C */ lw $t7, 0xc($t6)
|
|
/* 090FE8 800903E8 8DC10008 */ lw $at, 8($t6)
|
|
/* 090FEC 800903EC 27AE0008 */ addiu $t6, $sp, 8
|
|
/* 090FF0 800903F0 AF2F000C */ sw $t7, 0xc($t9)
|
|
/* 090FF4 800903F4 AF210008 */ sw $at, 8($t9)
|
|
/* 090FF8 800903F8 3C19800E */ lui $t9, %hi(D_800E704C) # $t9, 0x800e
|
|
/* 090FFC 800903FC 2739704C */ addiu $t9, %lo(D_800E704C) # addiu $t9, $t9, 0x704c
|
|
/* 091000 80090400 8F210000 */ lw $at, ($t9)
|
|
/* 091004 80090404 8F2F0004 */ lw $t7, 4($t9)
|
|
/* 091008 80090408 AF010000 */ sw $at, ($t8)
|
|
/* 09100C 8009040C AF0F0004 */ sw $t7, 4($t8)
|
|
/* 091010 80090410 8F2F000C */ lw $t7, 0xc($t9)
|
|
/* 091014 80090414 8F210008 */ lw $at, 8($t9)
|
|
/* 091018 80090418 3C19800E */ lui $t9, %hi(gCurrentCourseId) # $t9, 0x800e
|
|
/* 09101C 8009041C AF0F000C */ sw $t7, 0xc($t8)
|
|
/* 091020 80090420 AF010008 */ sw $at, 8($t8)
|
|
/* 091024 80090424 3C18800E */ lui $t8, %hi(D_800E705C) # $t8, 0x800e
|
|
/* 091028 80090428 2718705C */ addiu $t8, %lo(D_800E705C) # addiu $t8, $t8, 0x705c
|
|
/* 09102C 8009042C 8F010000 */ lw $at, ($t8)
|
|
/* 091030 80090430 8F0F0004 */ lw $t7, 4($t8)
|
|
/* 091034 80090434 ADC10000 */ sw $at, ($t6)
|
|
/* 091038 80090438 ADCF0004 */ sw $t7, 4($t6)
|
|
/* 09103C 8009043C 8F0F000C */ lw $t7, 0xc($t8)
|
|
/* 091040 80090440 8F010008 */ lw $at, 8($t8)
|
|
/* 091044 80090444 ADCF000C */ sw $t7, 0xc($t6)
|
|
/* 091048 80090448 ADC10008 */ sw $at, 8($t6)
|
|
/* 09104C 8009044C 8739C5A0 */ lh $t9, %lo(gCurrentCourseId)($t9)
|
|
/* 091050 80090450 272EFFFC */ addiu $t6, $t9, -4
|
|
/* 091054 80090454 2DC10010 */ sltiu $at, $t6, 0x10
|
|
/* 091058 80090458 1020008F */ beqz $at, .L80090698
|
|
/* 09105C 8009045C 000E7080 */ sll $t6, $t6, 2
|
|
/* 091060 80090460 3C01800F */ lui $at, %hi(D_800EF5F8)
|
|
/* 091064 80090464 002E0821 */ addu $at, $at, $t6
|
|
/* 091068 80090468 8C2EF5F8 */ lw $t6, %lo(D_800EF5F8)($at)
|
|
/* 09106C 8009046C 01C00008 */ jr $t6
|
|
/* 091070 80090470 00000000 */ nop
|
|
glabel L80090474
|
|
/* 091074 80090474 3C0F8016 */ lui $t7, %hi(D_80165310) # $t7, 0x8016
|
|
/* 091078 80090478 25EF5310 */ addiu $t7, %lo(D_80165310) # addiu $t7, $t7, 0x5310
|
|
/* 09107C 8009047C 0005C040 */ sll $t8, $a1, 1
|
|
/* 091080 80090480 030F4021 */ addu $t0, $t8, $t7
|
|
/* 091084 80090484 95190000 */ lhu $t9, ($t0)
|
|
/* 091088 80090488 3C0A8016 */ lui $t2, %hi(D_80164550) # $t2, 0x8016
|
|
/* 09108C 8009048C 254A4550 */ addiu $t2, %lo(D_80164550) # addiu $t2, $t2, 0x4550
|
|
/* 091090 80090490 00197080 */ sll $t6, $t9, 2
|
|
/* 091094 80090494 94820220 */ lhu $v0, 0x220($a0)
|
|
/* 091098 80090498 014EC021 */ addu $t8, $t2, $t6
|
|
/* 09109C 8009049C 8F0F0000 */ lw $t7, ($t8)
|
|
/* 0910A0 800904A0 0002C8C0 */ sll $t9, $v0, 3
|
|
/* 0910A4 800904A4 01F91821 */ addu $v1, $t7, $t9
|
|
/* 0910A8 800904A8 846E0000 */ lh $t6, ($v1)
|
|
/* 0910AC 800904AC 448E2000 */ mtc1 $t6, $f4
|
|
/* 0910B0 800904B0 00000000 */ nop
|
|
/* 0910B4 800904B4 468021A0 */ cvt.s.w $f6, $f4
|
|
/* 0910B8 800904B8 E4C60000 */ swc1 $f6, ($a2)
|
|
/* 0910BC 800904BC 84780002 */ lh $t8, 2($v1)
|
|
/* 0910C0 800904C0 44984000 */ mtc1 $t8, $f8
|
|
/* 0910C4 800904C4 00000000 */ nop
|
|
/* 0910C8 800904C8 468042A0 */ cvt.s.w $f10, $f8
|
|
/* 0910CC 800904CC E4CA0004 */ swc1 $f10, 4($a2)
|
|
/* 0910D0 800904D0 846F0004 */ lh $t7, 4($v1)
|
|
/* 0910D4 800904D4 448F8000 */ mtc1 $t7, $f16
|
|
/* 0910D8 800904D8 3C0F8016 */ lui $t7, %hi(D_801645C8) # 0x8016
|
|
/* 0910DC 800904DC 468084A0 */ cvt.s.w $f18, $f16
|
|
/* 0910E0 800904E0 E4D20008 */ swc1 $f18, 8($a2)
|
|
/* 0910E4 800904E4 95090000 */ lhu $t1, ($t0)
|
|
/* 0910E8 800904E8 84990220 */ lh $t9, 0x220($a0)
|
|
/* 0910EC 800904EC 0009C040 */ sll $t8, $t1, 1
|
|
/* 0910F0 800904F0 01F87821 */ addu $t7, $t7, $t8
|
|
/* 0910F4 800904F4 95EF45C8 */ lhu $t7, %lo(D_801645C8)($t7) # 0x45c8($t7)
|
|
/* 0910F8 800904F8 272E0005 */ addiu $t6, $t9, 5
|
|
/* 0910FC 800904FC 25F90001 */ addiu $t9, $t7, 1
|
|
/* 091100 80090500 01D9001A */ div $zero, $t6, $t9
|
|
/* 091104 80090504 17200002 */ bnez $t9, .L80090510
|
|
/* 091108 80090508 00000000 */ nop
|
|
/* 09110C 8009050C 0007000D */ break 7
|
|
.L80090510:
|
|
/* 091110 80090510 2401FFFF */ li $at, -1
|
|
/* 091114 80090514 17210004 */ bne $t9, $at, .L80090528
|
|
/* 091118 80090518 3C018000 */ lui $at, 0x8000
|
|
/* 09111C 8009051C 15C10002 */ bne $t6, $at, .L80090528
|
|
/* 091120 80090520 00000000 */ nop
|
|
/* 091124 80090524 0006000D */ break 6
|
|
.L80090528:
|
|
/* 091128 80090528 0000C010 */ mfhi $t8
|
|
/* 09112C 8009052C 00097080 */ sll $t6, $t1, 2
|
|
/* 091130 80090530 014EC821 */ addu $t9, $t2, $t6
|
|
/* 091134 80090534 001878C0 */ sll $t7, $t8, 3
|
|
/* 091138 80090538 8F380000 */ lw $t8, ($t9)
|
|
/* 09113C 8009053C 01F81821 */ addu $v1, $t7, $t8
|
|
/* 091140 80090540 846E0000 */ lh $t6, ($v1)
|
|
/* 091144 80090544 448E2000 */ mtc1 $t6, $f4
|
|
/* 091148 80090548 00000000 */ nop
|
|
/* 09114C 8009054C 468021A0 */ cvt.s.w $f6, $f4
|
|
/* 091150 80090550 E4E60000 */ swc1 $f6, ($a3)
|
|
/* 091154 80090554 84790002 */ lh $t9, 2($v1)
|
|
/* 091158 80090558 44994000 */ mtc1 $t9, $f8
|
|
/* 09115C 8009055C 00000000 */ nop
|
|
/* 091160 80090560 468042A0 */ cvt.s.w $f10, $f8
|
|
/* 091164 80090564 E4EA0004 */ swc1 $f10, 4($a3)
|
|
/* 091168 80090568 846F0004 */ lh $t7, 4($v1)
|
|
/* 09116C 8009056C 448F8000 */ mtc1 $t7, $f16
|
|
/* 091170 80090570 00000000 */ nop
|
|
/* 091174 80090574 468084A0 */ cvt.s.w $f18, $f16
|
|
/* 091178 80090578 1000007D */ b .L80090770
|
|
/* 09117C 8009057C E4F20008 */ swc1 $f18, 8($a3)
|
|
glabel L80090580
|
|
/* 091180 80090580 00052080 */ sll $a0, $a1, 2
|
|
/* 091184 80090584 0044C021 */ addu $t8, $v0, $a0
|
|
/* 091188 80090588 44800000 */ mtc1 $zero, $f0
|
|
/* 09118C 8009058C C7040000 */ lwc1 $f4, ($t8)
|
|
/* 091190 80090590 00647021 */ addu $t6, $v1, $a0
|
|
/* 091194 80090594 E4C00004 */ swc1 $f0, 4($a2)
|
|
/* 091198 80090598 E4C40000 */ swc1 $f4, ($a2)
|
|
/* 09119C 8009059C C5C60000 */ lwc1 $f6, ($t6)
|
|
/* 0911A0 800905A0 0104C821 */ addu $t9, $t0, $a0
|
|
/* 0911A4 800905A4 01247821 */ addu $t7, $t1, $a0
|
|
/* 0911A8 800905A8 E4C60008 */ swc1 $f6, 8($a2)
|
|
/* 0911AC 800905AC C7280000 */ lwc1 $f8, ($t9)
|
|
/* 0911B0 800905B0 E4E00004 */ swc1 $f0, 4($a3)
|
|
/* 0911B4 800905B4 E4E80000 */ swc1 $f8, ($a3)
|
|
/* 0911B8 800905B8 C5EA0000 */ lwc1 $f10, ($t7)
|
|
/* 0911BC 800905BC 1000006C */ b .L80090770
|
|
/* 0911C0 800905C0 E4EA0008 */ swc1 $f10, 8($a3)
|
|
glabel L800905C4
|
|
/* 0911C4 800905C4 00052080 */ sll $a0, $a1, 2
|
|
/* 0911C8 800905C8 3C0143F0 */ li $at, 0x43F00000 # 480.000000
|
|
/* 0911CC 800905CC 0144C021 */ addu $t8, $t2, $a0
|
|
/* 0911D0 800905D0 44810000 */ mtc1 $at, $f0
|
|
/* 0911D4 800905D4 C7100000 */ lwc1 $f16, ($t8)
|
|
/* 0911D8 800905D8 01647021 */ addu $t6, $t3, $a0
|
|
/* 0911DC 800905DC E4C00004 */ swc1 $f0, 4($a2)
|
|
/* 0911E0 800905E0 E4D00000 */ swc1 $f16, ($a2)
|
|
/* 0911E4 800905E4 C5D20000 */ lwc1 $f18, ($t6)
|
|
/* 0911E8 800905E8 0184C821 */ addu $t9, $t4, $a0
|
|
/* 0911EC 800905EC 01A47821 */ addu $t7, $t5, $a0
|
|
/* 0911F0 800905F0 E4D20008 */ swc1 $f18, 8($a2)
|
|
/* 0911F4 800905F4 C7240000 */ lwc1 $f4, ($t9)
|
|
/* 0911F8 800905F8 E4E00004 */ swc1 $f0, 4($a3)
|
|
/* 0911FC 800905FC E4E40000 */ swc1 $f4, ($a3)
|
|
/* 091200 80090600 C5E60000 */ lwc1 $f6, ($t7)
|
|
/* 091204 80090604 1000005A */ b .L80090770
|
|
/* 091208 80090608 E4E60008 */ swc1 $f6, 8($a3)
|
|
glabel L8009060C
|
|
/* 09120C 8009060C 00052080 */ sll $a0, $a1, 2
|
|
/* 091210 80090610 03A4C021 */ addu $t8, $sp, $a0
|
|
/* 091214 80090614 44800000 */ mtc1 $zero, $f0
|
|
/* 091218 80090618 C7080078 */ lwc1 $f8, 0x78($t8)
|
|
/* 09121C 8009061C 03A47021 */ addu $t6, $sp, $a0
|
|
/* 091220 80090620 E4C00004 */ swc1 $f0, 4($a2)
|
|
/* 091224 80090624 E4C80000 */ swc1 $f8, ($a2)
|
|
/* 091228 80090628 C5CA0068 */ lwc1 $f10, 0x68($t6)
|
|
/* 09122C 8009062C 03A4C821 */ addu $t9, $sp, $a0
|
|
/* 091230 80090630 03A47821 */ addu $t7, $sp, $a0
|
|
/* 091234 80090634 E4CA0008 */ swc1 $f10, 8($a2)
|
|
/* 091238 80090638 C7300058 */ lwc1 $f16, 0x58($t9)
|
|
/* 09123C 8009063C E4E00004 */ swc1 $f0, 4($a3)
|
|
/* 091240 80090640 E4F00000 */ swc1 $f16, ($a3)
|
|
/* 091244 80090644 C5F20048 */ lwc1 $f18, 0x48($t7)
|
|
/* 091248 80090648 10000049 */ b .L80090770
|
|
/* 09124C 8009064C E4F20008 */ swc1 $f18, 8($a3)
|
|
glabel L80090650
|
|
/* 091250 80090650 00052080 */ sll $a0, $a1, 2
|
|
/* 091254 80090654 3C014348 */ li $at, 0x43480000 # 200.000000
|
|
/* 091258 80090658 03A4C021 */ addu $t8, $sp, $a0
|
|
/* 09125C 8009065C 44810000 */ mtc1 $at, $f0
|
|
/* 091260 80090660 C7040038 */ lwc1 $f4, 0x38($t8)
|
|
/* 091264 80090664 03A47021 */ addu $t6, $sp, $a0
|
|
/* 091268 80090668 E4C00004 */ swc1 $f0, 4($a2)
|
|
/* 09126C 8009066C E4C40000 */ swc1 $f4, ($a2)
|
|
/* 091270 80090670 C5C60028 */ lwc1 $f6, 0x28($t6)
|
|
/* 091274 80090674 03A4C821 */ addu $t9, $sp, $a0
|
|
/* 091278 80090678 03A47821 */ addu $t7, $sp, $a0
|
|
/* 09127C 8009067C E4C60008 */ swc1 $f6, 8($a2)
|
|
/* 091280 80090680 C7280018 */ lwc1 $f8, 0x18($t9)
|
|
/* 091284 80090684 E4E00004 */ swc1 $f0, 4($a3)
|
|
/* 091288 80090688 E4E80000 */ swc1 $f8, ($a3)
|
|
/* 09128C 8009068C C5EA0008 */ lwc1 $f10, 8($t7)
|
|
/* 091290 80090690 10000037 */ b .L80090770
|
|
/* 091294 80090694 E4EA0008 */ swc1 $f10, 8($a3)
|
|
.L80090698:
|
|
glabel L80090698
|
|
/* 091298 80090698 3C0A8016 */ lui $t2, %hi(D_80164550) # $t2, 0x8016
|
|
/* 09129C 8009069C 94820220 */ lhu $v0, 0x220($a0)
|
|
/* 0912A0 800906A0 254A4550 */ addiu $t2, %lo(D_80164550) # addiu $t2, $t2, 0x4550
|
|
/* 0912A4 800906A4 8D580000 */ lw $t8, ($t2)
|
|
/* 0912A8 800906A8 000270C0 */ sll $t6, $v0, 3
|
|
/* 0912AC 800906AC 030E1821 */ addu $v1, $t8, $t6
|
|
/* 0912B0 800906B0 84790000 */ lh $t9, ($v1)
|
|
/* 0912B4 800906B4 44998000 */ mtc1 $t9, $f16
|
|
/* 0912B8 800906B8 00000000 */ nop
|
|
/* 0912BC 800906BC 468084A0 */ cvt.s.w $f18, $f16
|
|
/* 0912C0 800906C0 E4D20000 */ swc1 $f18, ($a2)
|
|
/* 0912C4 800906C4 846F0002 */ lh $t7, 2($v1)
|
|
/* 0912C8 800906C8 448F2000 */ mtc1 $t7, $f4
|
|
/* 0912CC 800906CC 3C0F8016 */ lui $t7, %hi(D_801645C8) # $t7, 0x8016
|
|
/* 0912D0 800906D0 468021A0 */ cvt.s.w $f6, $f4
|
|
/* 0912D4 800906D4 E4C60004 */ swc1 $f6, 4($a2)
|
|
/* 0912D8 800906D8 84780004 */ lh $t8, 4($v1)
|
|
/* 0912DC 800906DC 44984000 */ mtc1 $t8, $f8
|
|
/* 0912E0 800906E0 00000000 */ nop
|
|
/* 0912E4 800906E4 468042A0 */ cvt.s.w $f10, $f8
|
|
/* 0912E8 800906E8 E4CA0008 */ swc1 $f10, 8($a2)
|
|
/* 0912EC 800906EC 848E0220 */ lh $t6, 0x220($a0)
|
|
/* 0912F0 800906F0 95EF45C8 */ lhu $t7, %lo(D_801645C8)($t7)
|
|
/* 0912F4 800906F4 25D90005 */ addiu $t9, $t6, 5
|
|
/* 0912F8 800906F8 25F80001 */ addiu $t8, $t7, 1
|
|
/* 0912FC 800906FC 0338001A */ div $zero, $t9, $t8
|
|
/* 091300 80090700 17000002 */ bnez $t8, .L8009070C
|
|
/* 091304 80090704 00000000 */ nop
|
|
/* 091308 80090708 0007000D */ break 7
|
|
.L8009070C:
|
|
/* 09130C 8009070C 2401FFFF */ li $at, -1
|
|
/* 091310 80090710 17010004 */ bne $t8, $at, .L80090724
|
|
/* 091314 80090714 3C018000 */ lui $at, 0x8000
|
|
/* 091318 80090718 17210002 */ bne $t9, $at, .L80090724
|
|
/* 09131C 8009071C 00000000 */ nop
|
|
/* 091320 80090720 0006000D */ break 6
|
|
.L80090724:
|
|
/* 091324 80090724 8D590000 */ lw $t9, ($t2)
|
|
/* 091328 80090728 00007010 */ mfhi $t6
|
|
/* 09132C 8009072C 000E78C0 */ sll $t7, $t6, 3
|
|
/* 091330 80090730 01F91821 */ addu $v1, $t7, $t9
|
|
/* 091334 80090734 84780000 */ lh $t8, ($v1)
|
|
/* 091338 80090738 44988000 */ mtc1 $t8, $f16
|
|
/* 09133C 8009073C 00000000 */ nop
|
|
/* 091340 80090740 468084A0 */ cvt.s.w $f18, $f16
|
|
/* 091344 80090744 E4F20000 */ swc1 $f18, ($a3)
|
|
/* 091348 80090748 846E0002 */ lh $t6, 2($v1)
|
|
/* 09134C 8009074C 448E2000 */ mtc1 $t6, $f4
|
|
/* 091350 80090750 00000000 */ nop
|
|
/* 091354 80090754 468021A0 */ cvt.s.w $f6, $f4
|
|
/* 091358 80090758 E4E60004 */ swc1 $f6, 4($a3)
|
|
/* 09135C 8009075C 846F0004 */ lh $t7, 4($v1)
|
|
/* 091360 80090760 448F4000 */ mtc1 $t7, $f8
|
|
/* 091364 80090764 00000000 */ nop
|
|
/* 091368 80090768 468042A0 */ cvt.s.w $f10, $f8
|
|
/* 09136C 8009076C E4EA0008 */ swc1 $f10, 8($a3)
|
|
.L80090770:
|
|
/* 091370 80090770 03E00008 */ jr $ra
|
|
/* 091374 80090774 27BD0110 */ addiu $sp, $sp, 0x110
|
|
|
|
glabel func_80090778
|
|
/* 091378 80090778 27BDFFD0 */ addiu $sp, $sp, -0x30
|
|
/* 09137C 8009077C AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* 091380 80090780 AFB00018 */ sw $s0, 0x18($sp)
|
|
/* 091384 80090784 0C009F40 */ jal func_80027D00
|
|
/* 091388 80090788 00808025 */ move $s0, $a0
|
|
/* 09138C 8009078C AFA2002C */ sw $v0, 0x2c($sp)
|
|
/* 091390 80090790 860E00CA */ lh $t6, 0xca($s0)
|
|
/* 091394 80090794 8E1800BC */ lw $t8, 0xbc($s0)
|
|
/* 091398 80090798 44802000 */ mtc1 $zero, $f4
|
|
/* 09139C 8009079C 2401FFEF */ li $at, -17
|
|
/* 0913A0 800907A0 00022E00 */ sll $a1, $v0, 0x18
|
|
/* 0913A4 800907A4 00054603 */ sra $t0, $a1, 0x18
|
|
/* 0913A8 800907A8 35CF0008 */ ori $t7, $t6, 8
|
|
/* 0913AC 800907AC 0301C824 */ and $t9, $t8, $at
|
|
/* 0913B0 800907B0 A6000078 */ sh $zero, 0x78($s0)
|
|
/* 0913B4 800907B4 AE00007C */ sw $zero, 0x7c($s0)
|
|
/* 0913B8 800907B8 A60000C0 */ sh $zero, 0xc0($s0)
|
|
/* 0913BC 800907BC A60F00CA */ sh $t7, 0xca($s0)
|
|
/* 0913C0 800907C0 AE1900BC */ sw $t9, 0xbc($s0)
|
|
/* 0913C4 800907C4 A6000222 */ sh $zero, 0x222($s0)
|
|
/* 0913C8 800907C8 01002825 */ move $a1, $t0
|
|
/* 0913CC 800907CC 02002025 */ move $a0, $s0
|
|
/* 0913D0 800907D0 0C0230D5 */ jal func_8008C354
|
|
/* 0913D4 800907D4 E604008C */ swc1 $f4, 0x8c($s0)
|
|
/* 0913D8 800907D8 83A5002F */ lb $a1, 0x2f($sp)
|
|
/* 0913DC 800907DC 02002025 */ move $a0, $s0
|
|
/* 0913E0 800907E0 0C023E1B */ jal func_8008F86C
|
|
/* 0913E4 800907E4 AFA50024 */ sw $a1, 0x24($sp)
|
|
/* 0913E8 800907E8 8E0200BC */ lw $v0, 0xbc($s0)
|
|
/* 0913EC 800907EC 44803000 */ mtc1 $zero, $f6
|
|
/* 0913F0 800907F0 3C034000 */ lui $v1, 0x4000
|
|
/* 0913F4 800907F4 8FA50024 */ lw $a1, 0x24($sp)
|
|
/* 0913F8 800907F8 00434824 */ and $t1, $v0, $v1
|
|
/* 0913FC 800907FC A6000DB4 */ sh $zero, 0xdb4($s0)
|
|
/* 091400 80090800 A60000C2 */ sh $zero, 0xc2($s0)
|
|
/* 091404 80090804 14690010 */ bne $v1, $t1, .L80090848
|
|
/* 091408 80090808 E6060DBC */ swc1 $f6, 0xdbc($s0)
|
|
/* 09140C 8009080C 3C030002 */ lui $v1, 2
|
|
/* 091410 80090810 00435024 */ and $t2, $v0, $v1
|
|
/* 091414 80090814 146A0009 */ bne $v1, $t2, .L8009083C
|
|
/* 091418 80090818 3C01FFFD */ lui $at, (0xFFFDFFFF >> 16) # lui $at, 0xfffd
|
|
/* 09141C 8009081C 860C00AE */ lh $t4, 0xae($s0)
|
|
/* 091420 80090820 3421FFFF */ ori $at, (0xFFFDFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
|
/* 091424 80090824 00415824 */ and $t3, $v0, $at
|
|
/* 091428 80090828 AE0B00BC */ sw $t3, 0xbc($s0)
|
|
/* 09142C 8009082C A60000A8 */ sh $zero, 0xa8($s0)
|
|
/* 091430 80090830 AE00007C */ sw $zero, 0x7c($s0)
|
|
/* 091434 80090834 A60000C0 */ sh $zero, 0xc0($s0)
|
|
/* 091438 80090838 A60C002E */ sh $t4, 0x2e($s0)
|
|
.L8009083C:
|
|
/* 09143C 8009083C 0C0238F0 */ jal func_8008E3C0
|
|
/* 091440 80090840 02002025 */ move $a0, $s0
|
|
/* 091444 80090844 8E0200BC */ lw $v0, 0xbc($s0)
|
|
.L80090848:
|
|
/* 091448 80090848 2401FFDF */ li $at, -33
|
|
/* 09144C 8009084C 00416824 */ and $t5, $v0, $at
|
|
/* 091450 80090850 AE0D00BC */ sw $t5, 0xbc($s0)
|
|
/* 091454 80090854 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* 091458 80090858 8FB00018 */ lw $s0, 0x18($sp)
|
|
/* 09145C 8009085C 27BD0030 */ addiu $sp, $sp, 0x30
|
|
/* 091460 80090860 03E00008 */ jr $ra
|
|
/* 091464 80090864 00000000 */ nop
|
|
|
|
glabel func_80090868
|
|
/* 091468 80090868 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 09146C 8009086C AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 091470 80090870 44802000 */ mtc1 $zero, $f4
|
|
/* 091474 80090874 A4800078 */ sh $zero, 0x78($a0)
|
|
/* 091478 80090878 AC80007C */ sw $zero, 0x7c($a0)
|
|
/* 09147C 8009087C A48000C0 */ sh $zero, 0xc0($a0)
|
|
/* 091480 80090880 E484008C */ swc1 $f4, 0x8c($a0)
|
|
/* 091484 80090884 0C009F40 */ jal func_80027D00
|
|
/* 091488 80090888 AFA40018 */ sw $a0, 0x18($sp)
|
|
/* 09148C 8009088C 8FA40018 */ lw $a0, 0x18($sp)
|
|
/* 091490 80090890 00022E00 */ sll $a1, $v0, 0x18
|
|
/* 091494 80090894 24010002 */ li $at, 2
|
|
/* 091498 80090898 848E00CA */ lh $t6, 0xca($a0)
|
|
/* 09149C 8009089C 0005CE03 */ sra $t9, $a1, 0x18
|
|
/* 0914A0 800908A0 24180001 */ li $t8, 1
|
|
/* 0914A4 800908A4 31CF0002 */ andi $t7, $t6, 2
|
|
/* 0914A8 800908A8 11E1002D */ beq $t7, $at, .L80090960
|
|
/* 0914AC 800908AC 03202825 */ move $a1, $t9
|
|
/* 0914B0 800908B0 3C013F00 */ li $at, 0x3F000000 # 0.500000
|
|
/* 0914B4 800908B4 44803000 */ mtc1 $zero, $f6
|
|
/* 0914B8 800908B8 44814000 */ mtc1 $at, $f8
|
|
/* 0914BC 800908BC A4980D98 */ sh $t8, 0xd98($a0)
|
|
/* 0914C0 800908C0 E4860D9C */ swc1 $f6, 0xd9c($a0)
|
|
/* 0914C4 800908C4 E4880DA0 */ swc1 $f8, 0xda0($a0)
|
|
/* 0914C8 800908C8 0C023FC2 */ jal func_8008FF08
|
|
/* 0914CC 800908CC AFA40018 */ sw $a0, 0x18($sp)
|
|
/* 0914D0 800908D0 8FA40018 */ lw $a0, 0x18($sp)
|
|
/* 0914D4 800908D4 24010001 */ li $at, 1
|
|
/* 0914D8 800908D8 3C03800E */ lui $v1, %hi(gCurrentCourseId) # $v1, 0x800e
|
|
/* 0914DC 800908DC 848800CA */ lh $t0, 0xca($a0)
|
|
/* 0914E0 800908E0 948A00DE */ lhu $t2, 0xde($a0)
|
|
/* 0914E4 800908E4 A4800222 */ sh $zero, 0x222($a0)
|
|
/* 0914E8 800908E8 35090002 */ ori $t1, $t0, 2
|
|
/* 0914EC 800908EC 314B0001 */ andi $t3, $t2, 1
|
|
/* 0914F0 800908F0 A48900CA */ sh $t1, 0xca($a0)
|
|
/* 0914F4 800908F4 1561001A */ bne $t3, $at, .L80090960
|
|
/* 0914F8 800908F8 A48000C8 */ sh $zero, 0xc8($a0)
|
|
/* 0914FC 800908FC 2463C5A0 */ addiu $v1, %lo(gCurrentCourseId) # addiu $v1, $v1, -0x3a60
|
|
/* 091500 80090900 84620000 */ lh $v0, ($v1)
|
|
/* 091504 80090904 24010002 */ li $at, 2
|
|
/* 091508 80090908 10410003 */ beq $v0, $at, .L80090918
|
|
/* 09150C 8009090C 24010013 */ li $at, 19
|
|
/* 091510 80090910 54410006 */ bnel $v0, $at, .L8009092C
|
|
/* 091514 80090914 848E00CA */ lh $t6, 0xca($a0)
|
|
.L80090918:
|
|
/* 091518 80090918 848C00CA */ lh $t4, 0xca($a0)
|
|
/* 09151C 8009091C 358D1000 */ ori $t5, $t4, 0x1000
|
|
/* 091520 80090920 10000004 */ b .L80090934
|
|
/* 091524 80090924 A48D00CA */ sh $t5, 0xca($a0)
|
|
/* 091528 80090928 848E00CA */ lh $t6, 0xca($a0)
|
|
.L8009092C:
|
|
/* 09152C 8009092C 35CF2000 */ ori $t7, $t6, 0x2000
|
|
/* 091530 80090930 A48F00CA */ sh $t7, 0xca($a0)
|
|
.L80090934:
|
|
/* 091534 80090934 84620000 */ lh $v0, ($v1)
|
|
/* 091538 80090938 2401000C */ li $at, 12
|
|
/* 09153C 8009093C 10410005 */ beq $v0, $at, .L80090954
|
|
/* 091540 80090940 24010010 */ li $at, 16
|
|
/* 091544 80090944 10410003 */ beq $v0, $at, .L80090954
|
|
/* 091548 80090948 2401000D */ li $at, 13
|
|
/* 09154C 8009094C 54410005 */ bnel $v0, $at, .L80090964
|
|
/* 091550 80090950 8FBF0014 */ lw $ra, 0x14($sp)
|
|
.L80090954:
|
|
/* 091554 80090954 849800CA */ lh $t8, 0xca($a0)
|
|
/* 091558 80090958 3319CFFF */ andi $t9, $t8, 0xcfff
|
|
/* 09155C 8009095C A49900CA */ sh $t9, 0xca($a0)
|
|
.L80090960:
|
|
/* 091560 80090960 8FBF0014 */ lw $ra, 0x14($sp)
|
|
.L80090964:
|
|
/* 091564 80090964 27BD0018 */ addiu $sp, $sp, 0x18
|
|
/* 091568 80090968 03E00008 */ jr $ra
|
|
/* 09156C 8009096C 00000000 */ nop
|
|
|
|
glabel func_80090970
|
|
/* 091570 80090970 27BDFFA8 */ addiu $sp, $sp, -0x58
|
|
/* 091574 80090974 AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* 091578 80090978 AFB00018 */ sw $s0, 0x18($sp)
|
|
/* 09157C 8009097C AFA5005C */ sw $a1, 0x5c($sp)
|
|
/* 091580 80090980 AFA60060 */ sw $a2, 0x60($sp)
|
|
/* 091584 80090984 44802000 */ mtc1 $zero, $f4
|
|
/* 091588 80090988 240E000C */ li $t6, 12
|
|
/* 09158C 8009098C A48E00C2 */ sh $t6, 0xc2($a0)
|
|
/* 091590 80090990 A4800078 */ sh $zero, 0x78($a0)
|
|
/* 091594 80090994 AC80007C */ sw $zero, 0x7c($a0)
|
|
/* 091598 80090998 A48000C0 */ sh $zero, 0xc0($a0)
|
|
/* 09159C 8009099C E484008C */ swc1 $f4, 0x8c($a0)
|
|
/* 0915A0 800909A0 00808025 */ move $s0, $a0
|
|
/* 0915A4 800909A4 0C0230D5 */ jal func_8008C354
|
|
/* 0915A8 800909A8 83A5005F */ lb $a1, 0x5f($sp)
|
|
/* 0915AC 800909AC 960F0222 */ lhu $t7, 0x222($s0)
|
|
/* 0915B0 800909B0 2DE10005 */ sltiu $at, $t7, 5
|
|
/* 0915B4 800909B4 1020018C */ beqz $at, .L80090FE8
|
|
/* 0915B8 800909B8 000F7880 */ sll $t7, $t7, 2
|
|
/* 0915BC 800909BC 3C01800F */ lui $at, %hi(D_800EF638) # 0x800f
|
|
/* 0915C0 800909C0 002F0821 */ addu $at, $at, $t7
|
|
/* 0915C4 800909C4 8C2FF638 */ lw $t7, %lo(D_800EF638)($at) # -0x9c8($at)
|
|
/* 0915C8 800909C8 01E00008 */ jr $t7
|
|
/* 0915CC 800909CC 00000000 */ nop
|
|
glabel L800909D0
|
|
/* 0915D0 800909D0 860300CA */ lh $v1, 0xca($s0)
|
|
/* 0915D4 800909D4 24010001 */ li $at, 1
|
|
/* 0915D8 800909D8 30780001 */ andi $t8, $v1, 1
|
|
/* 0915DC 800909DC 1701003A */ bne $t8, $at, .L80090AC8
|
|
/* 0915E0 800909E0 306B0002 */ andi $t3, $v1, 2
|
|
/* 0915E4 800909E4 860200C8 */ lh $v0, 0xc8($s0)
|
|
/* 0915E8 800909E8 30790002 */ andi $t9, $v1, 2
|
|
/* 0915EC 800909EC 2841003C */ slti $at, $v0, 0x3c
|
|
/* 0915F0 800909F0 14200004 */ bnez $at, .L80090A04
|
|
/* 0915F4 800909F4 24480001 */ addiu $t0, $v0, 1
|
|
/* 0915F8 800909F8 24010002 */ li $at, 2
|
|
/* 0915FC 800909FC 13210009 */ beq $t9, $at, .L80090A24
|
|
/* 091600 80090A00 83AB005F */ lb $t3, 0x5f($sp)
|
|
.L80090A04:
|
|
/* 091604 80090A04 A60800C8 */ sh $t0, 0xc8($s0)
|
|
/* 091608 80090A08 860900C8 */ lh $t1, 0xc8($s0)
|
|
/* 09160C 80090A0C 240A003C */ li $t2, 60
|
|
/* 091610 80090A10 2921003C */ slti $at, $t1, 0x3c
|
|
/* 091614 80090A14 54200051 */ bnel $at, $zero, .L80090B5C
|
|
/* 091618 80090A18 8E0800BC */ lw $t0, 0xbc($s0)
|
|
/* 09161C 80090A1C 1000004E */ b .L80090B58
|
|
/* 091620 80090A20 A60A00C8 */ sh $t2, 0xc8($s0)
|
|
.L80090A24:
|
|
/* 091624 80090A24 3C0D8016 */ lui $t5, %hi(D_801652A0) # $t5, 0x8016
|
|
/* 091628 80090A28 25AD52A0 */ addiu $t5, %lo(D_801652A0) # addiu $t5, $t5, 0x52a0
|
|
/* 09162C 80090A2C 000B6080 */ sll $t4, $t3, 2
|
|
/* 091630 80090A30 018D1021 */ addu $v0, $t4, $t5
|
|
/* 091634 80090A34 3C0142C8 */ li $at, 0x42C80000 # 100.000000
|
|
/* 091638 80090A38 44814000 */ mtc1 $at, $f8
|
|
/* 09163C 80090A3C C4460000 */ lwc1 $f6, ($v0)
|
|
/* 091640 80090A40 3C063C44 */ lui $a2, (0x3C449BA6 >> 16) # lui $a2, 0x3c44
|
|
/* 091644 80090A44 34C69BA6 */ ori $a2, (0x3C449BA6 & 0xFFFF) # ori $a2, $a2, 0x9ba6
|
|
/* 091648 80090A48 46083280 */ add.s $f10, $f6, $f8
|
|
/* 09164C 80090A4C AFA20028 */ sw $v0, 0x28($sp)
|
|
/* 091650 80090A50 26040018 */ addiu $a0, $s0, 0x18
|
|
/* 091654 80090A54 44055000 */ mfc1 $a1, $f10
|
|
/* 091658 80090A58 0C008973 */ jal func_800225CC
|
|
/* 09165C 80090A5C 00000000 */ nop
|
|
/* 091660 80090A60 83AE0063 */ lb $t6, 0x63($sp)
|
|
/* 091664 80090A64 3C063E4C */ lui $a2, (0x3E4CCCCD >> 16) # lui $a2, 0x3e4c
|
|
/* 091668 80090A68 34C6CCCD */ ori $a2, (0x3E4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd
|
|
/* 09166C 80090A6C 000E7840 */ sll $t7, $t6, 1
|
|
/* 091670 80090A70 020F2021 */ addu $a0, $s0, $t7
|
|
/* 091674 80090A74 248400CC */ addiu $a0, $a0, 0xcc
|
|
/* 091678 80090A78 0C00898D */ jal func_80022634
|
|
/* 09167C 80090A7C 00002825 */ move $a1, $zero
|
|
/* 091680 80090A80 8FB80028 */ lw $t8, 0x28($sp)
|
|
/* 091684 80090A84 3C014220 */ li $at, 0x42200000 # 40.000000
|
|
/* 091688 80090A88 44812000 */ mtc1 $at, $f4
|
|
/* 09168C 80090A8C C7120000 */ lwc1 $f18, ($t8)
|
|
/* 091690 80090A90 C6100018 */ lwc1 $f16, 0x18($s0)
|
|
/* 091694 80090A94 24190001 */ li $t9, 1
|
|
/* 091698 80090A98 46049180 */ add.s $f6, $f18, $f4
|
|
/* 09169C 80090A9C 240A00FF */ li $t2, 255
|
|
/* 0916A0 80090AA0 4610303E */ c.le.s $f6, $f16
|
|
/* 0916A4 80090AA4 00000000 */ nop
|
|
/* 0916A8 80090AA8 4502002C */ bc1fl .L80090B5C
|
|
/* 0916AC 80090AAC 8E0800BC */ lw $t0, 0xbc($s0)
|
|
/* 0916B0 80090AB0 860800CA */ lh $t0, 0xca($s0)
|
|
/* 0916B4 80090AB4 A6190222 */ sh $t9, 0x222($s0)
|
|
/* 0916B8 80090AB8 A60A00C6 */ sh $t2, 0xc6($s0)
|
|
/* 0916BC 80090ABC 35090004 */ ori $t1, $t0, 4
|
|
/* 0916C0 80090AC0 10000025 */ b .L80090B58
|
|
/* 0916C4 80090AC4 A60900CA */ sh $t1, 0xca($s0)
|
|
.L80090AC8:
|
|
/* 0916C8 80090AC8 24010002 */ li $at, 2
|
|
/* 0916CC 80090ACC 15610022 */ bne $t3, $at, .L80090B58
|
|
/* 0916D0 80090AD0 3C0142C8 */ li $at, 0x42C80000 # 100.000000
|
|
/* 0916D4 80090AD4 44815000 */ mtc1 $at, $f10
|
|
/* 0916D8 80090AD8 C6080074 */ lwc1 $f8, 0x74($s0)
|
|
/* 0916DC 80090ADC 3C063CCC */ lui $a2, (0x3CCCCCCD >> 16) # lui $a2, 0x3ccc
|
|
/* 0916E0 80090AE0 34C6CCCD */ ori $a2, (0x3CCCCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd
|
|
/* 0916E4 80090AE4 460A4480 */ add.s $f18, $f8, $f10
|
|
/* 0916E8 80090AE8 26040018 */ addiu $a0, $s0, 0x18
|
|
/* 0916EC 80090AEC 44059000 */ mfc1 $a1, $f18
|
|
/* 0916F0 80090AF0 0C008973 */ jal func_800225CC
|
|
/* 0916F4 80090AF4 00000000 */ nop
|
|
/* 0916F8 80090AF8 83AC0063 */ lb $t4, 0x63($sp)
|
|
/* 0916FC 80090AFC 3C063E4C */ lui $a2, (0x3E4CCCCD >> 16) # lui $a2, 0x3e4c
|
|
/* 091700 80090B00 34C6CCCD */ ori $a2, (0x3E4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd
|
|
/* 091704 80090B04 000C6840 */ sll $t5, $t4, 1
|
|
/* 091708 80090B08 020D2021 */ addu $a0, $s0, $t5
|
|
/* 09170C 80090B0C 248400CC */ addiu $a0, $a0, 0xcc
|
|
/* 091710 80090B10 0C00898D */ jal func_80022634
|
|
/* 091714 80090B14 00002825 */ move $a1, $zero
|
|
/* 091718 80090B18 3C014220 */ li $at, 0x42200000 # 40.000000
|
|
/* 09171C 80090B1C 44813000 */ mtc1 $at, $f6
|
|
/* 091720 80090B20 C6100074 */ lwc1 $f16, 0x74($s0)
|
|
/* 091724 80090B24 C6040018 */ lwc1 $f4, 0x18($s0)
|
|
/* 091728 80090B28 240E0001 */ li $t6, 1
|
|
/* 09172C 80090B2C 46068200 */ add.s $f8, $f16, $f6
|
|
/* 091730 80090B30 241900FF */ li $t9, 255
|
|
/* 091734 80090B34 4604403E */ c.le.s $f8, $f4
|
|
/* 091738 80090B38 00000000 */ nop
|
|
/* 09173C 80090B3C 45020007 */ bc1fl .L80090B5C
|
|
/* 091740 80090B40 8E0800BC */ lw $t0, 0xbc($s0)
|
|
/* 091744 80090B44 860F00CA */ lh $t7, 0xca($s0)
|
|
/* 091748 80090B48 A60E0222 */ sh $t6, 0x222($s0)
|
|
/* 09174C 80090B4C A61900C6 */ sh $t9, 0xc6($s0)
|
|
/* 091750 80090B50 35F80004 */ ori $t8, $t7, 4
|
|
/* 091754 80090B54 A61800CA */ sh $t8, 0xca($s0)
|
|
.L80090B58:
|
|
/* 091758 80090B58 8E0800BC */ lw $t0, 0xbc($s0)
|
|
.L80090B5C:
|
|
/* 09175C 80090B5C 3C028000 */ lui $v0, %hi(D_80004334) # 0x8000
|
|
/* 091760 80090B60 02002025 */ move $a0, $s0
|
|
/* 091764 80090B64 01024824 */ and $t1, $t0, $v0
|
|
/* 091768 80090B68 54490120 */ bnel $v0, $t1, .L80090FEC
|
|
/* 09176C 80090B6C 3C014334 */ lui $at, %lo(D_80004334) # 0x4334
|
|
/* 091770 80090B70 0C023ECC */ jal func_8008FB30
|
|
/* 091774 80090B74 83A5005F */ lb $a1, 0x5f($sp)
|
|
/* 091778 80090B78 1000011C */ b .L80090FEC
|
|
/* 09177C 80090B7C 3C014334 */ lui $at, 0x4334
|
|
glabel L80090B80
|
|
/* 091780 80090B80 96020000 */ lhu $v0, ($s0)
|
|
/* 091784 80090B84 24014000 */ li $at, 16384
|
|
/* 091788 80090B88 304A4000 */ andi $t2, $v0, 0x4000
|
|
/* 09178C 80090B8C 15410005 */ bne $t2, $at, .L80090BA4
|
|
/* 091790 80090B90 304B1000 */ andi $t3, $v0, 0x1000
|
|
/* 091794 80090B94 15600003 */ bnez $t3, .L80090BA4
|
|
/* 091798 80090B98 83A4005F */ lb $a0, 0x5f($sp)
|
|
/* 09179C 80090B9C 0C027822 */ jal func_8009E088
|
|
/* 0917A0 80090BA0 2405000A */ li $a1, 10
|
|
.L80090BA4:
|
|
/* 0917A4 80090BA4 860C00CA */ lh $t4, 0xca($s0)
|
|
/* 0917A8 80090BA8 83AE005F */ lb $t6, 0x5f($sp)
|
|
/* 0917AC 80090BAC 24010001 */ li $at, 1
|
|
/* 0917B0 80090BB0 318D0001 */ andi $t5, $t4, 1
|
|
/* 0917B4 80090BB4 15A1001B */ bne $t5, $at, .L80090C24
|
|
/* 0917B8 80090BB8 000E7880 */ sll $t7, $t6, 2
|
|
/* 0917BC 80090BBC 3C018016 */ lui $at, %hi(D_801652A0)
|
|
/* 0917C0 80090BC0 002F0821 */ addu $at, $at, $t7
|
|
/* 0917C4 80090BC4 C42A52A0 */ lwc1 $f10, %lo(D_801652A0)($at)
|
|
/* 0917C8 80090BC8 3C014220 */ li $at, 0x42200000 # 40.000000
|
|
/* 0917CC 80090BCC 44819000 */ mtc1 $at, $f18
|
|
/* 0917D0 80090BD0 3C063CA3 */ lui $a2, (0x3CA3D70A >> 16) # lui $a2, 0x3ca3
|
|
/* 0917D4 80090BD4 34C6D70A */ ori $a2, (0x3CA3D70A & 0xFFFF) # ori $a2, $a2, 0xd70a
|
|
/* 0917D8 80090BD8 46125400 */ add.s $f16, $f10, $f18
|
|
/* 0917DC 80090BDC 26040018 */ addiu $a0, $s0, 0x18
|
|
/* 0917E0 80090BE0 44058000 */ mfc1 $a1, $f16
|
|
/* 0917E4 80090BE4 0C008973 */ jal func_800225CC
|
|
/* 0917E8 80090BE8 00000000 */ nop
|
|
/* 0917EC 80090BEC 861800C6 */ lh $t8, 0xc6($s0)
|
|
/* 0917F0 80090BF0 24090002 */ li $t1, 2
|
|
/* 0917F4 80090BF4 2719FFF8 */ addiu $t9, $t8, -8
|
|
/* 0917F8 80090BF8 A61900C6 */ sh $t9, 0xc6($s0)
|
|
/* 0917FC 80090BFC 860800C6 */ lh $t0, 0xc6($s0)
|
|
/* 091800 80090C00 29010009 */ slti $at, $t0, 9
|
|
/* 091804 80090C04 5020001C */ beql $at, $zero, .L80090C78
|
|
/* 091808 80090C08 861800CA */ lh $t8, 0xca($s0)
|
|
/* 09180C 80090C0C 860A00CA */ lh $t2, 0xca($s0)
|
|
/* 091810 80090C10 A60000C6 */ sh $zero, 0xc6($s0)
|
|
/* 091814 80090C14 A6090222 */ sh $t1, 0x222($s0)
|
|
/* 091818 80090C18 314BFFFE */ andi $t3, $t2, 0xfffe
|
|
/* 09181C 80090C1C 10000015 */ b .L80090C74
|
|
/* 091820 80090C20 A60B00CA */ sh $t3, 0xca($s0)
|
|
.L80090C24:
|
|
/* 091824 80090C24 3C014220 */ li $at, 0x42200000 # 40.000000
|
|
/* 091828 80090C28 44812000 */ mtc1 $at, $f4
|
|
/* 09182C 80090C2C C6060024 */ lwc1 $f6, 0x24($s0)
|
|
/* 091830 80090C30 3C063CA3 */ lui $a2, (0x3CA3D70A >> 16) # lui $a2, 0x3ca3
|
|
/* 091834 80090C34 34C6D70A */ ori $a2, (0x3CA3D70A & 0xFFFF) # ori $a2, $a2, 0xd70a
|
|
/* 091838 80090C38 46043200 */ add.s $f8, $f6, $f4
|
|
/* 09183C 80090C3C 26040018 */ addiu $a0, $s0, 0x18
|
|
/* 091840 80090C40 44054000 */ mfc1 $a1, $f8
|
|
/* 091844 80090C44 0C008973 */ jal func_800225CC
|
|
/* 091848 80090C48 00000000 */ nop
|
|
/* 09184C 80090C4C 860C00C6 */ lh $t4, 0xc6($s0)
|
|
/* 091850 80090C50 240F0002 */ li $t7, 2
|
|
/* 091854 80090C54 258DFFF8 */ addiu $t5, $t4, -8
|
|
/* 091858 80090C58 A60D00C6 */ sh $t5, 0xc6($s0)
|
|
/* 09185C 80090C5C 860E00C6 */ lh $t6, 0xc6($s0)
|
|
/* 091860 80090C60 29C10009 */ slti $at, $t6, 9
|
|
/* 091864 80090C64 50200004 */ beql $at, $zero, .L80090C78
|
|
/* 091868 80090C68 861800CA */ lh $t8, 0xca($s0)
|
|
/* 09186C 80090C6C A60000C6 */ sh $zero, 0xc6($s0)
|
|
/* 091870 80090C70 A60F0222 */ sh $t7, 0x222($s0)
|
|
.L80090C74:
|
|
/* 091874 80090C74 861800CA */ lh $t8, 0xca($s0)
|
|
.L80090C78:
|
|
/* 091878 80090C78 3319DFFF */ andi $t9, $t8, 0xdfff
|
|
/* 09187C 80090C7C 100000DA */ b .L80090FE8
|
|
/* 091880 80090C80 A61900CA */ sh $t9, 0xca($s0)
|
|
glabel L80090C84
|
|
/* 091884 80090C84 02002025 */ move $a0, $s0
|
|
/* 091888 80090C88 83A5005F */ lb $a1, 0x5f($sp)
|
|
/* 09188C 80090C8C 27A60044 */ addiu $a2, $sp, 0x44
|
|
/* 091890 80090C90 0C02405E */ jal func_80090178
|
|
/* 091894 80090C94 27A70038 */ addiu $a3, $sp, 0x38
|
|
/* 091898 80090C98 27A40044 */ addiu $a0, $sp, 0x44
|
|
/* 09189C 80090C9C 0C0AD489 */ jal func_802B5224
|
|
/* 0918A0 80090CA0 27A50038 */ addiu $a1, $sp, 0x38
|
|
/* 0918A4 80090CA4 00025023 */ negu $t2, $v0
|
|
/* 0918A8 80090CA8 A60A002E */ sh $t2, 0x2e($s0)
|
|
/* 0918AC 80090CAC C7AA0044 */ lwc1 $f10, 0x44($sp)
|
|
/* 0918B0 80090CB0 3C014220 */ li $at, 0x42200000 # 40.000000
|
|
/* 0918B4 80090CB4 44818000 */ mtc1 $at, $f16
|
|
/* 0918B8 80090CB8 E60A0014 */ swc1 $f10, 0x14($s0)
|
|
/* 0918BC 80090CBC C7B20048 */ lwc1 $f18, 0x48($sp)
|
|
/* 0918C0 80090CC0 240B0003 */ li $t3, 3
|
|
/* 0918C4 80090CC4 46109180 */ add.s $f6, $f18, $f16
|
|
/* 0918C8 80090CC8 E6060018 */ swc1 $f6, 0x18($s0)
|
|
/* 0918CC 80090CCC C7A4004C */ lwc1 $f4, 0x4c($sp)
|
|
/* 0918D0 80090CD0 A60B0222 */ sh $t3, 0x222($s0)
|
|
/* 0918D4 80090CD4 100000C4 */ b .L80090FE8
|
|
/* 0918D8 80090CD8 E604001C */ swc1 $f4, 0x1c($s0)
|
|
glabel L80090CDC
|
|
/* 0918DC 80090CDC 83AC005F */ lb $t4, 0x5f($sp)
|
|
/* 0918E0 80090CE0 3C018016 */ lui $at, %hi(D_80165330) # 0x8016
|
|
/* 0918E4 80090CE4 000C6840 */ sll $t5, $t4, 1
|
|
/* 0918E8 80090CE8 002D0821 */ addu $at, $at, $t5
|
|
/* 0918EC 80090CEC A4205330 */ sh $zero, %lo(D_80165330)($at) # 0x5330($at)
|
|
/* 0918F0 80090CF0 96020000 */ lhu $v0, ($s0)
|
|
/* 0918F4 80090CF4 24014000 */ li $at, 16384
|
|
/* 0918F8 80090CF8 304E4000 */ andi $t6, $v0, 0x4000
|
|
/* 0918FC 80090CFC 15C10005 */ bne $t6, $at, .L80090D14
|
|
/* 091900 80090D00 304F1000 */ andi $t7, $v0, 0x1000
|
|
/* 091904 80090D04 15E00003 */ bnez $t7, .L80090D14
|
|
/* 091908 80090D08 01802025 */ move $a0, $t4
|
|
/* 09190C 80090D0C 0C027808 */ jal func_8009E020
|
|
/* 091910 80090D10 24050014 */ li $a1, 20
|
|
.L80090D14:
|
|
/* 091914 80090D14 02002025 */ move $a0, $s0
|
|
/* 091918 80090D18 83A5005F */ lb $a1, 0x5f($sp)
|
|
/* 09191C 80090D1C 27A60044 */ addiu $a2, $sp, 0x44
|
|
/* 091920 80090D20 0C02405E */ jal func_80090178
|
|
/* 091924 80090D24 27A70038 */ addiu $a3, $sp, 0x38
|
|
/* 091928 80090D28 C7A80044 */ lwc1 $f8, 0x44($sp)
|
|
/* 09192C 80090D2C 3C014220 */ li $at, 0x42200000 # 40.000000
|
|
/* 091930 80090D30 44819000 */ mtc1 $at, $f18
|
|
/* 091934 80090D34 E6080014 */ swc1 $f8, 0x14($s0)
|
|
/* 091938 80090D38 C7AA0048 */ lwc1 $f10, 0x48($sp)
|
|
/* 09193C 80090D3C 8619002E */ lh $t9, 0x2e($s0)
|
|
/* 091940 80090D40 46125400 */ add.s $f16, $f10, $f18
|
|
/* 091944 80090D44 E6100018 */ swc1 $f16, 0x18($s0)
|
|
/* 091948 80090D48 C7A6004C */ lwc1 $f6, 0x4c($sp)
|
|
/* 09194C 80090D4C E606001C */ swc1 $f6, 0x1c($s0)
|
|
/* 091950 80090D50 83A2005F */ lb $v0, 0x5f($sp)
|
|
/* 091954 80090D54 0002C0C0 */ sll $t8, $v0, 3
|
|
/* 091958 80090D58 0302C023 */ subu $t8, $t8, $v0
|
|
/* 09195C 80090D5C 0018C0C0 */ sll $t8, $t8, 3
|
|
/* 091960 80090D60 0302C021 */ addu $t8, $t8, $v0
|
|
/* 091964 80090D64 0018C0C0 */ sll $t8, $t8, 3
|
|
/* 091968 80090D68 0302C023 */ subu $t8, $t8, $v0
|
|
/* 09196C 80090D6C 00181100 */ sll $v0, $t8, 4
|
|
/* 091970 80090D70 00592023 */ subu $a0, $v0, $t9
|
|
/* 091974 80090D74 3088FFFF */ andi $t0, $a0, 0xffff
|
|
/* 091978 80090D78 01002025 */ move $a0, $t0
|
|
/* 09197C 80090D7C 0C0AE00E */ jal func_802B8038
|
|
/* 091980 80090D80 AFA20028 */ sw $v0, 0x28($sp)
|
|
/* 091984 80090D84 3C01C0A0 */ li $at, 0xC0A00000 # -5.000000
|
|
/* 091988 80090D88 44812000 */ mtc1 $at, $f4
|
|
/* 09198C 80090D8C C60A001C */ lwc1 $f10, 0x1c($s0)
|
|
/* 091990 80090D90 8FA20028 */ lw $v0, 0x28($sp)
|
|
/* 091994 80090D94 46040202 */ mul.s $f8, $f0, $f4
|
|
/* 091998 80090D98 8609002E */ lh $t1, 0x2e($s0)
|
|
/* 09199C 80090D9C 00492023 */ subu $a0, $v0, $t1
|
|
/* 0919A0 80090DA0 308AFFFF */ andi $t2, $a0, 0xffff
|
|
/* 0919A4 80090DA4 01402025 */ move $a0, $t2
|
|
/* 0919A8 80090DA8 460A4480 */ add.s $f18, $f8, $f10
|
|
/* 0919AC 80090DAC 0C0AE006 */ jal func_802B8018
|
|
/* 0919B0 80090DB0 E612001C */ swc1 $f18, 0x1c($s0)
|
|
/* 0919B4 80090DB4 3C01C0A0 */ li $at, 0xC0A00000 # -5.000000
|
|
/* 0919B8 80090DB8 44818000 */ mtc1 $at, $f16
|
|
/* 0919BC 80090DBC 860B00C6 */ lh $t3, 0xc6($s0)
|
|
/* 0919C0 80090DC0 C6040014 */ lwc1 $f4, 0x14($s0)
|
|
/* 0919C4 80090DC4 46100182 */ mul.s $f6, $f0, $f16
|
|
/* 0919C8 80090DC8 256D0008 */ addiu $t5, $t3, 8
|
|
/* 0919CC 80090DCC A60D00C6 */ sh $t5, 0xc6($s0)
|
|
/* 0919D0 80090DD0 860E00C6 */ lh $t6, 0xc6($s0)
|
|
/* 0919D4 80090DD4 240F00FF */ li $t7, 255
|
|
/* 0919D8 80090DD8 240C0004 */ li $t4, 4
|
|
/* 0919DC 80090DDC 29C100F0 */ slti $at, $t6, 0xf0
|
|
/* 0919E0 80090DE0 46043200 */ add.s $f8, $f6, $f4
|
|
/* 0919E4 80090DE4 14200080 */ bnez $at, .L80090FE8
|
|
/* 0919E8 80090DE8 E6080014 */ swc1 $f8, 0x14($s0)
|
|
/* 0919EC 80090DEC 861800CA */ lh $t8, 0xca($s0)
|
|
/* 0919F0 80090DF0 A60F00C6 */ sh $t7, 0xc6($s0)
|
|
/* 0919F4 80090DF4 A60C0222 */ sh $t4, 0x222($s0)
|
|
/* 0919F8 80090DF8 3319FFFB */ andi $t9, $t8, 0xfffb
|
|
/* 0919FC 80090DFC A61900CA */ sh $t9, 0xca($s0)
|
|
/* 091A00 80090E00 10000079 */ b .L80090FE8
|
|
/* 091A04 80090E04 A60000C8 */ sh $zero, 0xc8($s0)
|
|
glabel L80090E08
|
|
/* 091A08 80090E08 860200C8 */ lh $v0, 0xc8($s0)
|
|
/* 091A0C 80090E0C 24010096 */ li $at, 150
|
|
/* 091A10 80090E10 10410005 */ beq $v0, $at, .L80090E28
|
|
/* 091A14 80090E14 240100C8 */ li $at, 200
|
|
/* 091A18 80090E18 10410003 */ beq $v0, $at, .L80090E28
|
|
/* 091A1C 80090E1C 240100FA */ li $at, 250
|
|
/* 091A20 80090E20 54410019 */ bnel $v0, $at, .L80090E88
|
|
/* 091A24 80090E24 240100FC */ li $at, 252
|
|
.L80090E28:
|
|
/* 091A28 80090E28 8604002E */ lh $a0, 0x2e($s0)
|
|
/* 091A2C 80090E2C 00042023 */ negu $a0, $a0
|
|
/* 091A30 80090E30 3088FFFF */ andi $t0, $a0, 0xffff
|
|
/* 091A34 80090E34 0C0AE00E */ jal func_802B8038
|
|
/* 091A38 80090E38 01002025 */ move $a0, $t0
|
|
/* 091A3C 80090E3C 3C01C120 */ li $at, 0xC1200000 # -10.000000
|
|
/* 091A40 80090E40 44815000 */ mtc1 $at, $f10
|
|
/* 091A44 80090E44 C610001C */ lwc1 $f16, 0x1c($s0)
|
|
/* 091A48 80090E48 8604002E */ lh $a0, 0x2e($s0)
|
|
/* 091A4C 80090E4C 460A0482 */ mul.s $f18, $f0, $f10
|
|
/* 091A50 80090E50 00042023 */ negu $a0, $a0
|
|
/* 091A54 80090E54 3089FFFF */ andi $t1, $a0, 0xffff
|
|
/* 091A58 80090E58 01202025 */ move $a0, $t1
|
|
/* 091A5C 80090E5C 46109180 */ add.s $f6, $f18, $f16
|
|
/* 091A60 80090E60 0C0AE006 */ jal func_802B8018
|
|
/* 091A64 80090E64 E606001C */ swc1 $f6, 0x1c($s0)
|
|
/* 091A68 80090E68 3C01C120 */ li $at, 0xC1200000 # -10.000000
|
|
/* 091A6C 80090E6C 44812000 */ mtc1 $at, $f4
|
|
/* 091A70 80090E70 C60A0014 */ lwc1 $f10, 0x14($s0)
|
|
/* 091A74 80090E74 860200C8 */ lh $v0, 0xc8($s0)
|
|
/* 091A78 80090E78 46040202 */ mul.s $f8, $f0, $f4
|
|
/* 091A7C 80090E7C 460A4480 */ add.s $f18, $f8, $f10
|
|
/* 091A80 80090E80 E6120014 */ swc1 $f18, 0x14($s0)
|
|
/* 091A84 80090E84 240100FC */ li $at, 252
|
|
.L80090E88:
|
|
/* 091A88 80090E88 14410011 */ bne $v0, $at, .L80090ED0
|
|
/* 091A8C 80090E8C 3C028016 */ lui $v0, %hi(D_80164550) # $v0, 0x8016
|
|
/* 091A90 80090E90 8C424550 */ lw $v0, %lo(D_80164550)($v0)
|
|
/* 091A94 80090E94 844A0000 */ lh $t2, ($v0)
|
|
/* 091A98 80090E98 448A8000 */ mtc1 $t2, $f16
|
|
/* 091A9C 80090E9C 00000000 */ nop
|
|
/* 091AA0 80090EA0 468081A0 */ cvt.s.w $f6, $f16
|
|
/* 091AA4 80090EA4 E6060014 */ swc1 $f6, 0x14($s0)
|
|
/* 091AA8 80090EA8 844B0002 */ lh $t3, 2($v0)
|
|
/* 091AAC 80090EAC 448B2000 */ mtc1 $t3, $f4
|
|
/* 091AB0 80090EB0 00000000 */ nop
|
|
/* 091AB4 80090EB4 46802220 */ cvt.s.w $f8, $f4
|
|
/* 091AB8 80090EB8 E6080018 */ swc1 $f8, 0x18($s0)
|
|
/* 091ABC 80090EBC 844D0004 */ lh $t5, 4($v0)
|
|
/* 091AC0 80090EC0 448D5000 */ mtc1 $t5, $f10
|
|
/* 091AC4 80090EC4 00000000 */ nop
|
|
/* 091AC8 80090EC8 468054A0 */ cvt.s.w $f18, $f10
|
|
/* 091ACC 80090ECC E612001C */ swc1 $f18, 0x1c($s0)
|
|
.L80090ED0:
|
|
/* 091AD0 80090ED0 C6100074 */ lwc1 $f16, 0x74($s0)
|
|
/* 091AD4 80090ED4 C6060070 */ lwc1 $f6, 0x70($s0)
|
|
/* 091AD8 80090ED8 3C014000 */ li $at, 0x40000000 # 2.000000
|
|
/* 091ADC 80090EDC 44814000 */ mtc1 $at, $f8
|
|
/* 091AE0 80090EE0 46068100 */ add.s $f4, $f16, $f6
|
|
/* 091AE4 80090EE4 3C063D23 */ lui $a2, (0x3D23D70A >> 16) # lui $a2, 0x3d23
|
|
/* 091AE8 80090EE8 34C6D70A */ ori $a2, (0x3D23D70A & 0xFFFF) # ori $a2, $a2, 0xd70a
|
|
/* 091AEC 80090EEC 26040018 */ addiu $a0, $s0, 0x18
|
|
/* 091AF0 80090EF0 46082281 */ sub.s $f10, $f4, $f8
|
|
/* 091AF4 80090EF4 44055000 */ mfc1 $a1, $f10
|
|
/* 091AF8 80090EF8 0C008973 */ jal func_800225CC
|
|
/* 091AFC 80090EFC 00000000 */ nop
|
|
/* 091B00 80090F00 860E00C8 */ lh $t6, 0xc8($s0)
|
|
/* 091B04 80090F04 8E0200BC */ lw $v0, 0xbc($s0)
|
|
/* 091B08 80090F08 24010008 */ li $at, 8
|
|
/* 091B0C 80090F0C 25CF0001 */ addiu $t7, $t6, 1
|
|
/* 091B10 80090F10 304C0008 */ andi $t4, $v0, 8
|
|
/* 091B14 80090F14 15810004 */ bne $t4, $at, .L80090F28
|
|
/* 091B18 80090F18 A60F00C8 */ sh $t7, 0xc8($s0)
|
|
/* 091B1C 80090F1C 30588000 */ andi $t8, $v0, %hi(D_80004334) # 0x8000
|
|
/* 091B20 80090F20 53000032 */ beql $t8, $zero, .L80090FEC
|
|
/* 091B24 80090F24 3C014334 */ lui $at, %lo(D_80004334) # 0x4334
|
|
.L80090F28:
|
|
/* 091B28 80090F28 861900CA */ lh $t9, 0xca($s0)
|
|
/* 091B2C 80090F2C 860900C8 */ lh $t1, 0xc8($s0)
|
|
/* 091B30 80090F30 3328EFFF */ andi $t0, $t9, 0xefff
|
|
/* 091B34 80090F34 2921005B */ slti $at, $t1, 0x5b
|
|
/* 091B38 80090F38 1420002B */ bnez $at, .L80090FE8
|
|
/* 091B3C 80090F3C A60800CA */ sh $t0, 0xca($s0)
|
|
/* 091B40 80090F40 960A0000 */ lhu $t2, ($s0)
|
|
/* 091B44 80090F44 93A4005F */ lbu $a0, 0x5f($sp)
|
|
/* 091B48 80090F48 3C050100 */ lui $a1, (0x0100FA28 >> 16) # lui $a1, 0x100
|
|
/* 091B4C 80090F4C 314B4000 */ andi $t3, $t2, 0x4000
|
|
/* 091B50 80090F50 11600003 */ beqz $t3, .L80090F60
|
|
/* 091B54 80090F54 00000000 */ nop
|
|
/* 091B58 80090F58 0C032406 */ jal func_800C9018
|
|
/* 091B5C 80090F5C 34A5FA28 */ ori $a1, (0x0100FA28 & 0xFFFF) # ori $a1, $a1, 0xfa28
|
|
.L80090F60:
|
|
/* 091B60 80090F60 3C0D800E */ lui $t5, %hi(gModeSelection) # $t5, 0x800e
|
|
/* 091B64 80090F64 8DADC53C */ lw $t5, %lo(gModeSelection)($t5)
|
|
/* 091B68 80090F68 24010003 */ li $at, 3
|
|
/* 091B6C 80090F6C 02002025 */ move $a0, $s0
|
|
/* 091B70 80090F70 55A10004 */ bnel $t5, $at, .L80090F84
|
|
/* 091B74 80090F74 860E00CA */ lh $t6, 0xca($s0)
|
|
/* 091B78 80090F78 0C01AE2D */ jal func_8006B8B4
|
|
/* 091B7C 80090F7C 83A5005F */ lb $a1, 0x5f($sp)
|
|
/* 091B80 80090F80 860E00CA */ lh $t6, 0xca($s0)
|
|
.L80090F84:
|
|
/* 091B84 80090F84 960C00DE */ lhu $t4, 0xde($s0)
|
|
/* 091B88 80090F88 24010080 */ li $at, 128
|
|
/* 091B8C 80090F8C 31CFFFFD */ andi $t7, $t6, 0xfffd
|
|
/* 091B90 80090F90 A60F00CA */ sh $t7, 0xca($s0)
|
|
/* 091B94 80090F94 860300CA */ lh $v1, 0xca($s0)
|
|
/* 091B98 80090F98 3198FFFB */ andi $t8, $t4, 0xfffb
|
|
/* 091B9C 80090F9C A61800DE */ sh $t8, 0xde($s0)
|
|
/* 091BA0 80090FA0 30790080 */ andi $t9, $v1, 0x80
|
|
/* 091BA4 80090FA4 13210010 */ beq $t9, $at, .L80090FE8
|
|
/* 091BA8 80090FA8 3068FFF7 */ andi $t0, $v1, 0xfff7
|
|
/* 091BAC 80090FAC C6060214 */ lwc1 $f6, 0x214($s0)
|
|
/* 091BB0 80090FB0 A60800CA */ sh $t0, 0xca($s0)
|
|
/* 091BB4 80090FB4 3C01800F */ lui $at, %hi(D_800EF650)
|
|
/* 091BB8 80090FB8 D428F650 */ ldc1 $f8, %lo(D_800EF650)($at)
|
|
/* 091BBC 80090FBC 46003121 */ cvt.d.s $f4, $f6
|
|
/* 091BC0 80090FC0 C612009C */ lwc1 $f18, 0x9c($s0)
|
|
/* 091BC4 80090FC4 46282282 */ mul.d $f10, $f4, $f8
|
|
/* 091BC8 80090FC8 02002025 */ move $a0, $s0
|
|
/* 091BCC 80090FCC 46009421 */ cvt.d.s $f16, $f18
|
|
/* 091BD0 80090FD0 4630503E */ c.le.d $f10, $f16
|
|
/* 091BD4 80090FD4 00000000 */ nop
|
|
/* 091BD8 80090FD8 45020004 */ bc1fl .L80090FEC
|
|
/* 091BDC 80090FDC 3C014334 */ lui $at, 0x4334
|
|
/* 091BE0 80090FE0 0C023C41 */ jal func_8008F104
|
|
/* 091BE4 80090FE4 83A5005F */ lb $a1, 0x5f($sp)
|
|
.L80090FE8:
|
|
/* 091BE8 80090FE8 3C014334 */ li $at, 0x43340000 # 180.000000
|
|
.L80090FEC:
|
|
/* 091BEC 80090FEC 44810000 */ mtc1 $at, $f0
|
|
/* 091BF0 80090FF0 3C014100 */ li $at, 0x41000000 # 8.000000
|
|
/* 091BF4 80090FF4 44813000 */ mtc1 $at, $f6
|
|
/* 091BF8 80090FF8 C6120DA0 */ lwc1 $f18, 0xda0($s0)
|
|
/* 091BFC 80090FFC 46069100 */ add.s $f4, $f18, $f6
|
|
/* 091C00 80091000 E6040DA0 */ swc1 $f4, 0xda0($s0)
|
|
/* 091C04 80091004 C6080DA0 */ lwc1 $f8, 0xda0($s0)
|
|
/* 091C08 80091008 4608003E */ c.le.s $f0, $f8
|
|
/* 091C0C 8009100C 00000000 */ nop
|
|
/* 091C10 80091010 45020003 */ bc1fl .L80091020
|
|
/* 091C14 80091014 86090D98 */ lh $t1, 0xd98($s0)
|
|
/* 091C18 80091018 E6000DA0 */ swc1 $f0, 0xda0($s0)
|
|
/* 091C1C 8009101C 86090D98 */ lh $t1, 0xd98($s0)
|
|
.L80091020:
|
|
/* 091C20 80091020 24010001 */ li $at, 1
|
|
/* 091C24 80091024 55210015 */ bnel $t1, $at, .L8009107C
|
|
/* 091C28 80091028 860D0D98 */ lh $t5, 0xd98($s0)
|
|
/* 091C2C 8009102C C6100D9C */ lwc1 $f16, 0xd9c($s0)
|
|
/* 091C30 80091030 C60A0DA0 */ lwc1 $f10, 0xda0($s0)
|
|
/* 091C34 80091034 3C01800F */ lui $at, %hi(D_800EF658) # $at, 0x800f
|
|
/* 091C38 80091038 460A8480 */ add.s $f18, $f16, $f10
|
|
/* 091C3C 8009103C E6120D9C */ swc1 $f18, 0xd9c($s0)
|
|
/* 091C40 80091040 C424F658 */ lwc1 $f4, %lo(D_800EF658)($at)
|
|
/* 091C44 80091044 C6060D9C */ lwc1 $f6, 0xd9c($s0)
|
|
/* 091C48 80091048 4606203E */ c.le.s $f4, $f6
|
|
/* 091C4C 8009104C 00000000 */ nop
|
|
/* 091C50 80091050 4502000A */ bc1fl .L8009107C
|
|
/* 091C54 80091054 860D0D98 */ lh $t5, 0xd98($s0)
|
|
/* 091C58 80091058 860A0D98 */ lh $t2, 0xd98($s0)
|
|
/* 091C5C 8009105C 2402FFFF */ li $v0, -1
|
|
/* 091C60 80091060 44804000 */ mtc1 $zero, $f8
|
|
/* 091C64 80091064 01420019 */ multu $t2, $v0
|
|
/* 091C68 80091068 E6080DA0 */ swc1 $f8, 0xda0($s0)
|
|
/* 091C6C 8009106C 00005812 */ mflo $t3
|
|
/* 091C70 80091070 A60B0D98 */ sh $t3, 0xd98($s0)
|
|
/* 091C74 80091074 00000000 */ nop
|
|
/* 091C78 80091078 860D0D98 */ lh $t5, 0xd98($s0)
|
|
.L8009107C:
|
|
/* 091C7C 8009107C 2402FFFF */ li $v0, -1
|
|
/* 091C80 80091080 544D0014 */ bnel $v0, $t5, .L800910D4
|
|
/* 091C84 80091084 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* 091C88 80091088 C6100D9C */ lwc1 $f16, 0xd9c($s0)
|
|
/* 091C8C 8009108C C60A0DA0 */ lwc1 $f10, 0xda0($s0)
|
|
/* 091C90 80091090 3C01800F */ lui $at, %hi(D_800EF65C) # $at, 0x800f
|
|
/* 091C94 80091094 460A8481 */ sub.s $f18, $f16, $f10
|
|
/* 091C98 80091098 E6120D9C */ swc1 $f18, 0xd9c($s0)
|
|
/* 091C9C 8009109C C6040D9C */ lwc1 $f4, 0xd9c($s0)
|
|
/* 091CA0 800910A0 C426F65C */ lwc1 $f6, %lo(D_800EF65C)($at)
|
|
/* 091CA4 800910A4 4606203E */ c.le.s $f4, $f6
|
|
/* 091CA8 800910A8 00000000 */ nop
|
|
/* 091CAC 800910AC 45020009 */ bc1fl .L800910D4
|
|
/* 091CB0 800910B0 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* 091CB4 800910B4 860E0D98 */ lh $t6, 0xd98($s0)
|
|
/* 091CB8 800910B8 44804000 */ mtc1 $zero, $f8
|
|
/* 091CBC 800910BC 01C20019 */ multu $t6, $v0
|
|
/* 091CC0 800910C0 E6080DA0 */ swc1 $f8, 0xda0($s0)
|
|
/* 091CC4 800910C4 00007812 */ mflo $t7
|
|
/* 091CC8 800910C8 A60F0D98 */ sh $t7, 0xd98($s0)
|
|
/* 091CCC 800910CC 00000000 */ nop
|
|
/* 091CD0 800910D0 8FBF001C */ lw $ra, 0x1c($sp)
|
|
.L800910D4:
|
|
/* 091CD4 800910D4 8FB00018 */ lw $s0, 0x18($sp)
|
|
/* 091CD8 800910D8 27BD0058 */ addiu $sp, $sp, 0x58
|
|
/* 091CDC 800910DC 03E00008 */ jr $ra
|
|
/* 091CE0 800910E0 00000000 */ nop
|
|
|
|
glabel func_800910E4
|
|
/* 091CE4 800910E4 848300CA */ lh $v1, 0xca($a0)
|
|
/* 091CE8 800910E8 24010002 */ li $at, 2
|
|
/* 091CEC 800910EC 00001025 */ move $v0, $zero
|
|
/* 091CF0 800910F0 306E0002 */ andi $t6, $v1, 2
|
|
/* 091CF4 800910F4 11C1000C */ beq $t6, $at, .L80091128
|
|
/* 091CF8 800910F8 306F0008 */ andi $t7, $v1, 8
|
|
/* 091CFC 800910FC 24010008 */ li $at, 8
|
|
/* 091D00 80091100 11E10009 */ beq $t7, $at, .L80091128
|
|
/* 091D04 80091104 00000000 */ nop
|
|
/* 091D08 80091108 94830000 */ lhu $v1, ($a0)
|
|
/* 091D0C 8009110C 30780040 */ andi $t8, $v1, 0x40
|
|
/* 091D10 80091110 17000005 */ bnez $t8, .L80091128
|
|
/* 091D14 80091114 30790800 */ andi $t9, $v1, 0x800
|
|
/* 091D18 80091118 17200003 */ bnez $t9, .L80091128
|
|
/* 091D1C 8009111C 30688000 */ andi $t0, $v1, 0x8000
|
|
/* 091D20 80091120 55000004 */ bnel $t0, $zero, .L80091134
|
|
/* 091D24 80091124 84890010 */ lh $t1, 0x10($a0)
|
|
.L80091128:
|
|
/* 091D28 80091128 03E00008 */ jr $ra
|
|
/* 091D2C 8009112C 24020001 */ li $v0, 1
|
|
|
|
/* 091D30 80091130 84890010 */ lh $t1, 0x10($a0)
|
|
.L80091134:
|
|
/* 091D34 80091134 252AFFF6 */ addiu $t2, $t1, -0xa
|
|
/* 091D38 80091138 2D410006 */ sltiu $at, $t2, 6
|
|
/* 091D3C 8009113C 10200015 */ beqz $at, .L80091194
|
|
/* 091D40 80091140 000A5080 */ sll $t2, $t2, 2
|
|
/* 091D44 80091144 3C01800F */ lui $at, %hi(D_800EF660)
|
|
/* 091D48 80091148 002A0821 */ addu $at, $at, $t2
|
|
/* 091D4C 8009114C 8C2AF660 */ lw $t2, %lo(D_800EF660)($at)
|
|
/* 091D50 80091150 01400008 */ jr $t2
|
|
/* 091D54 80091154 00000000 */ nop
|
|
glabel L80091158
|
|
/* 091D58 80091158 8C8B00BC */ lw $t3, 0xbc($a0)
|
|
/* 091D5C 8009115C 3C025F93 */ lui $v0, 0x5f93
|
|
/* 091D60 80091160 316C0008 */ andi $t4, $t3, 8
|
|
/* 091D64 80091164 11800003 */ beqz $t4, .L80091174
|
|
/* 091D68 80091168 00000000 */ nop
|
|
/* 091D6C 8009116C 03E00008 */ jr $ra
|
|
/* 091D70 80091170 24020001 */ li $v0, 1
|
|
|
|
.L80091174:
|
|
/* 091D74 80091174 10000007 */ b .L80091194
|
|
/* 091D78 80091178 34424EC4 */ ori $v0, $v0, 0x4ec4
|
|
glabel L8009117C
|
|
/* 091D7C 8009117C 3C02DF93 */ lui $v0, (0xDF934EC4 >> 16) # lui $v0, 0xdf93
|
|
/* 091D80 80091180 34424EC4 */ ori $v0, (0xDF934EC4 & 0xFFFF) # ori $v0, $v0, 0x4ec4
|
|
glabel L80091184
|
|
/* 091D84 80091184 3C01DF93 */ lui $at, (0xDF934EC4 >> 16) # lui $at, 0xdf93
|
|
/* 091D88 80091188 34214EC4 */ ori $at, (0xDF934EC4 & 0xFFFF) # ori $at, $at, 0x4ec4
|
|
/* 091D8C 8009118C 00416825 */ or $t5, $v0, $at
|
|
/* 091D90 80091190 01A01025 */ move $v0, $t5
|
|
.L80091194:
|
|
/* 091D94 80091194 8C8E00BC */ lw $t6, 0xbc($a0)
|
|
/* 091D98 80091198 01C27824 */ and $t7, $t6, $v0
|
|
/* 091D9C 8009119C 11E00003 */ beqz $t7, .L800911AC
|
|
/* 091DA0 800911A0 00001025 */ move $v0, $zero
|
|
/* 091DA4 800911A4 03E00008 */ jr $ra
|
|
/* 091DA8 800911A8 24020001 */ li $v0, 1
|
|
|
|
.L800911AC:
|
|
/* 091DAC 800911AC 03E00008 */ jr $ra
|
|
/* 091DB0 800911B0 00000000 */ nop
|
|
|
|
glabel func_800911B4
|
|
/* 091DB4 800911B4 AFA50004 */ sw $a1, 4($sp)
|
|
/* 091DB8 800911B8 84990044 */ lh $t9, 0x44($a0)
|
|
/* 091DBC 800911BC 8498002E */ lh $t8, 0x2e($a0)
|
|
/* 091DC0 800911C0 3C01800F */ lui $at, %hi(D_800EF678) # $at, 0x800f
|
|
/* 091DC4 800911C4 37281800 */ ori $t0, $t9, 0x1800
|
|
/* 091DC8 800911C8 A4880044 */ sh $t0, 0x44($a0)
|
|
/* 091DCC 800911CC 84890044 */ lh $t1, 0x44($a0)
|
|
/* 091DD0 800911D0 A49800AE */ sh $t8, 0xae($a0)
|
|
/* 091DD4 800911D4 44803000 */ mtc1 $zero, $f6
|
|
/* 091DD8 800911D8 312AFBFF */ andi $t2, $t1, 0xfbff
|
|
/* 091DDC 800911DC A48A0044 */ sh $t2, 0x44($a0)
|
|
/* 091DE0 800911E0 848B0044 */ lh $t3, 0x44($a0)
|
|
/* 091DE4 800911E4 00057600 */ sll $t6, $a1, 0x18
|
|
/* 091DE8 800911E8 000E7E03 */ sra $t7, $t6, 0x18
|
|
/* 091DEC 800911EC 356C2000 */ ori $t4, $t3, 0x2000
|
|
/* 091DF0 800911F0 A48C0044 */ sh $t4, 0x44($a0)
|
|
/* 091DF4 800911F4 C424F678 */ lwc1 $f4, %lo(D_800EF678)($at)
|
|
/* 091DF8 800911F8 3C01800F */ lui $at, %hi(D_800EF67C) # $at, 0x800f
|
|
/* 091DFC 800911FC E48600F4 */ swc1 $f6, 0xf4($a0)
|
|
/* 091E00 80091200 E48400F0 */ swc1 $f4, 0xf0($a0)
|
|
/* 091E04 80091204 C428F67C */ lwc1 $f8, %lo(D_800EF67C)($at)
|
|
/* 091E08 80091208 240D0002 */ li $t5, 2
|
|
/* 091E0C 8009120C 3C018019 */ lui $at, %hi(D_8018D920) # 0x8019
|
|
/* 091E10 80091210 000F7040 */ sll $t6, $t7, 1
|
|
/* 091E14 80091214 A48D00B2 */ sh $t5, 0xb2($a0)
|
|
/* 091E18 80091218 A48000C0 */ sh $zero, 0xc0($a0)
|
|
/* 091E1C 8009121C AC80007C */ sw $zero, 0x7c($a0)
|
|
/* 091E20 80091220 A4800078 */ sh $zero, 0x78($a0)
|
|
/* 091E24 80091224 002E0821 */ addu $at, $at, $t6
|
|
/* 091E28 80091228 E48800EC */ swc1 $f8, 0xec($a0)
|
|
/* 091E2C 8009122C A420D920 */ sh $zero, %lo(D_8018D920)($at) # -0x26e0($at)
|
|
/* 091E30 80091230 A4800B22 */ sh $zero, 0xb22($a0)
|
|
/* 091E34 80091234 A4800B2E */ sh $zero, 0xb2e($a0)
|
|
/* 091E38 80091238 A4800B2C */ sh $zero, 0xb2c($a0)
|
|
/* 091E3C 8009123C A4800ADA */ sh $zero, 0xada($a0)
|
|
/* 091E40 80091240 A4800AE6 */ sh $zero, 0xae6($a0)
|
|
/* 091E44 80091244 A4800AE4 */ sh $zero, 0xae4($a0)
|
|
/* 091E48 80091248 24830090 */ addiu $v1, $a0, 0x90
|
|
/* 091E4C 8009124C 2404000A */ li $a0, 10
|
|
/* 091E50 80091250 24020002 */ li $v0, 2
|
|
.L80091254:
|
|
/* 091E54 80091254 24420004 */ addiu $v0, $v0, 4
|
|
/* 091E58 80091258 A4600B2C */ sh $zero, 0xb2c($v1)
|
|
/* 091E5C 8009125C A4600B2E */ sh $zero, 0xb2e($v1)
|
|
/* 091E60 80091260 A4600B22 */ sh $zero, 0xb22($v1)
|
|
/* 091E64 80091264 A4600B74 */ sh $zero, 0xb74($v1)
|
|
/* 091E68 80091268 A4600B76 */ sh $zero, 0xb76($v1)
|
|
/* 091E6C 8009126C A4600B6A */ sh $zero, 0xb6a($v1)
|
|
/* 091E70 80091270 A4600BBC */ sh $zero, 0xbbc($v1)
|
|
/* 091E74 80091274 A4600BBE */ sh $zero, 0xbbe($v1)
|
|
/* 091E78 80091278 A4600BB2 */ sh $zero, 0xbb2($v1)
|
|
/* 091E7C 8009127C 24630120 */ addiu $v1, $v1, 0x120
|
|
/* 091E80 80091280 A46009C4 */ sh $zero, 0x9c4($v1)
|
|
/* 091E84 80091284 A46009C6 */ sh $zero, 0x9c6($v1)
|
|
/* 091E88 80091288 1444FFF2 */ bne $v0, $a0, .L80091254
|
|
/* 091E8C 8009128C A46009BA */ sh $zero, 0x9ba($v1)
|
|
/* 091E90 80091290 03E00008 */ jr $ra
|
|
/* 091E94 80091294 00000000 */ nop
|
|
|
|
glabel func_80091298
|
|
/* 091E98 80091298 27BDFFE0 */ addiu $sp, $sp, -0x20
|
|
/* 091E9C 8009129C 3C18800E */ lui $t8, %hi(D_800E706C) # $t8, 0x800e
|
|
/* 091EA0 800912A0 AFA50024 */ sw $a1, 0x24($sp)
|
|
/* 091EA4 800912A4 2718706C */ addiu $t8, %lo(D_800E706C) # addiu $t8, $t8, 0x706c
|
|
/* 091EA8 800912A8 8F010000 */ lw $at, ($t8)
|
|
/* 091EAC 800912AC 27A7000C */ addiu $a3, $sp, 0xc
|
|
/* 091EB0 800912B0 00057600 */ sll $t6, $a1, 0x18
|
|
/* 091EB4 800912B4 ACE10000 */ sw $at, ($a3)
|
|
/* 091EB8 800912B8 8F090004 */ lw $t1, 4($t8)
|
|
/* 091EBC 800912BC 000E2E03 */ sra $a1, $t6, 0x18
|
|
/* 091EC0 800912C0 00057040 */ sll $t6, $a1, 1
|
|
/* 091EC4 800912C4 ACE90004 */ sw $t1, 4($a3)
|
|
/* 091EC8 800912C8 8F010008 */ lw $at, 8($t8)
|
|
/* 091ECC 800912CC 3C0F8019 */ lui $t7, %hi(D_8018D920) # $t7, 0x8019
|
|
/* 091ED0 800912D0 ACE10008 */ sw $at, 8($a3)
|
|
/* 091ED4 800912D4 848A0044 */ lh $t2, 0x44($a0)
|
|
/* 091ED8 800912D8 848200B2 */ lh $v0, 0xb2($a0)
|
|
/* 091EDC 800912DC 354B2000 */ ori $t3, $t2, 0x2000
|
|
/* 091EE0 800912E0 14400003 */ bnez $v0, .L800912F0
|
|
/* 091EE4 800912E4 A48B0044 */ sh $t3, 0x44($a0)
|
|
/* 091EE8 800912E8 10000010 */ b .L8009132C
|
|
/* 091EEC 800912EC 00001825 */ move $v1, $zero
|
|
.L800912F0:
|
|
/* 091EF0 800912F0 848C002E */ lh $t4, 0x2e($a0)
|
|
/* 091EF4 800912F4 25EFD920 */ addiu $t7, %lo(D_8018D920) # addiu $t7, $t7, -0x26e0
|
|
/* 091EF8 800912F8 01CF3021 */ addu $a2, $t6, $t7
|
|
/* 091EFC 800912FC 258DF1C8 */ addiu $t5, $t4, -0xe38
|
|
/* 091F00 80091300 A48D002E */ sh $t5, 0x2e($a0)
|
|
/* 091F04 80091304 84C80000 */ lh $t0, ($a2)
|
|
/* 091F08 80091308 24010E38 */ li $at, 3640
|
|
/* 091F0C 8009130C 2519F1C8 */ addiu $t9, $t0, -0xe38
|
|
/* 091F10 80091310 3323FFFF */ andi $v1, $t9, 0xffff
|
|
/* 091F14 80091314 0061001A */ div $zero, $v1, $at
|
|
/* 091F18 80091318 0000C012 */ mflo $t8
|
|
/* 091F1C 8009131C A4D90000 */ sh $t9, ($a2)
|
|
/* 091F20 80091320 00184C00 */ sll $t1, $t8, 0x10
|
|
/* 091F24 80091324 00091C03 */ sra $v1, $t1, 0x10
|
|
/* 091F28 80091328 848200B2 */ lh $v0, 0xb2($a0)
|
|
.L8009132C:
|
|
/* 091F2C 8009132C 24010009 */ li $at, 9
|
|
/* 091F30 80091330 14610003 */ bne $v1, $at, .L80091340
|
|
/* 091F34 80091334 24010001 */ li $at, 1
|
|
/* 091F38 80091338 50410007 */ beql $v0, $at, .L80091358
|
|
/* 091F3C 8009133C 244BFFFF */ addiu $t3, $v0, -1
|
|
.L80091340:
|
|
/* 091F40 80091340 14600003 */ bnez $v1, .L80091350
|
|
/* 091F44 80091344 24010002 */ li $at, 2
|
|
/* 091F48 80091348 50410003 */ beql $v0, $at, .L80091358
|
|
/* 091F4C 8009134C 244BFFFF */ addiu $t3, $v0, -1
|
|
.L80091350:
|
|
/* 091F50 80091350 14400039 */ bnez $v0, .L80091438
|
|
/* 091F54 80091354 244BFFFF */ addiu $t3, $v0, -1
|
|
.L80091358:
|
|
/* 091F58 80091358 A48B00B2 */ sh $t3, 0xb2($a0)
|
|
/* 091F5C 8009135C 848200B2 */ lh $v0, 0xb2($a0)
|
|
/* 091F60 80091360 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
|
/* 091F64 80091364 1C400003 */ bgtz $v0, .L80091374
|
|
/* 091F68 80091368 00000000 */ nop
|
|
/* 091F6C 8009136C A48000B2 */ sh $zero, 0xb2($a0)
|
|
/* 091F70 80091370 848200B2 */ lh $v0, 0xb2($a0)
|
|
.L80091374:
|
|
/* 091F74 80091374 14400030 */ bnez $v0, .L80091438
|
|
/* 091F78 80091378 00000000 */ nop
|
|
/* 091F7C 8009137C C4820070 */ lwc1 $f2, 0x70($a0)
|
|
/* 091F80 80091380 44813000 */ mtc1 $at, $f6
|
|
/* 091F84 80091384 C4840018 */ lwc1 $f4, 0x18($a0)
|
|
/* 091F88 80091388 00056080 */ sll $t4, $a1, 2
|
|
/* 091F8C 8009138C 46061200 */ add.s $f8, $f2, $f6
|
|
/* 091F90 80091390 00EC6821 */ addu $t5, $a3, $t4
|
|
/* 091F94 80091394 C5A00000 */ lwc1 $f0, ($t5)
|
|
/* 091F98 80091398 3C01800F */ lui $at, %hi(D_800EF680)
|
|
/* 091F9C 8009139C 46082281 */ sub.s $f10, $f4, $f8
|
|
/* 091FA0 800913A0 4600503E */ c.le.s $f10, $f0
|
|
/* 091FA4 800913A4 00000000 */ nop
|
|
/* 091FA8 800913A8 45000023 */ bc1f .L80091438
|
|
/* 091FAC 800913AC 00000000 */ nop
|
|
/* 091FB0 800913B0 46020400 */ add.s $f16, $f0, $f2
|
|
/* 091FB4 800913B4 D426F680 */ ldc1 $f6, %lo(D_800EF680)($at)
|
|
/* 091FB8 800913B8 848E0044 */ lh $t6, 0x44($a0)
|
|
/* 091FBC 800913BC 94880254 */ lhu $t0, 0x254($a0)
|
|
/* 091FC0 800913C0 460084A1 */ cvt.d.s $f18, $f16
|
|
/* 091FC4 800913C4 3C014040 */ li $at, 0x40400000 # 3.000000
|
|
/* 091FC8 800913C8 46269100 */ add.d $f4, $f18, $f6
|
|
/* 091FCC 800913CC 44815000 */ mtc1 $at, $f10
|
|
/* 091FD0 800913D0 3C01800E */ lui $at, %hi(gKartGravityTable)
|
|
/* 091FD4 800913D4 31CFF7FF */ andi $t7, $t6, 0xf7ff
|
|
/* 091FD8 800913D8 46202220 */ cvt.s.d $f8, $f4
|
|
/* 091FDC 800913DC 0008C880 */ sll $t9, $t0, 2
|
|
/* 091FE0 800913E0 A4800DCC */ sh $zero, 0xdcc($a0)
|
|
/* 091FE4 800913E4 A48000A8 */ sh $zero, 0xa8($a0)
|
|
/* 091FE8 800913E8 E4880018 */ swc1 $f8, 0x18($a0)
|
|
/* 091FEC 800913EC AC80007C */ sw $zero, 0x7c($a0)
|
|
/* 091FF0 800913F0 A48000C0 */ sh $zero, 0xc0($a0)
|
|
/* 091FF4 800913F4 A48F0044 */ sh $t7, 0x44($a0)
|
|
/* 091FF8 800913F8 00390821 */ addu $at, $at, $t9
|
|
/* 091FFC 800913FC E48A0DC0 */ swc1 $f10, 0xdc0($a0)
|
|
/* 092000 80091400 C4302650 */ lwc1 $f16, %lo(gKartGravityTable)($at)
|
|
/* 092004 80091404 44806000 */ mtc1 $zero, $f12
|
|
/* 092008 80091408 94980000 */ lhu $t8, ($a0)
|
|
/* 09200C 8009140C A48000D4 */ sh $zero, 0xd4($a0)
|
|
/* 092010 80091410 E4900100 */ swc1 $f16, 0x100($a0)
|
|
/* 092014 80091414 37092000 */ ori $t1, $t8, 0x2000
|
|
/* 092018 80091418 A4890000 */ sh $t1, ($a0)
|
|
/* 09201C 8009141C E48C0094 */ swc1 $f12, 0x94($a0)
|
|
/* 092020 80091420 E48C008C */ swc1 $f12, 0x8c($a0)
|
|
/* 092024 80091424 14A00004 */ bnez $a1, .L80091438
|
|
/* 092028 80091428 E48C009C */ swc1 $f12, 0x9c($a0)
|
|
/* 09202C 8009142C 240A0001 */ li $t2, 1
|
|
/* 092030 80091430 3C018016 */ lui $at, %hi(D_801658BC) # $at, 0x8016
|
|
/* 092034 80091434 A02A58BC */ sb $t2, %lo(D_801658BC)($at)
|
|
.L80091438:
|
|
/* 092038 80091438 03E00008 */ jr $ra
|
|
/* 09203C 8009143C 27BD0020 */ addiu $sp, $sp, 0x20
|
|
|
|
glabel func_80091440
|
|
/* 092040 80091440 00047600 */ sll $t6, $a0, 0x18
|
|
/* 092044 80091444 000E7E03 */ sra $t7, $t6, 0x18
|
|
/* 092048 80091448 000FC0C0 */ sll $t8, $t7, 3
|
|
/* 09204C 8009144C 030FC023 */ subu $t8, $t8, $t7
|
|
/* 092050 80091450 0018C100 */ sll $t8, $t8, 4
|
|
/* 092054 80091454 030FC023 */ subu $t8, $t8, $t7
|
|
/* 092058 80091458 0018C080 */ sll $t8, $t8, 2
|
|
/* 09205C 8009145C 030FC023 */ subu $t8, $t8, $t7
|
|
/* 092060 80091460 3C19800F */ lui $t9, %hi(D_800F6990) # $t9, 0x800f
|
|
/* 092064 80091464 27396990 */ addiu $t9, %lo(D_800F6990) # addiu $t9, $t9, 0x6990
|
|
/* 092068 80091468 0018C0C0 */ sll $t8, $t8, 3
|
|
/* 09206C 8009146C 03191021 */ addu $v0, $t8, $t9
|
|
/* 092070 80091470 84430044 */ lh $v1, 0x44($v0)
|
|
/* 092074 80091474 AFA40000 */ sw $a0, ($sp)
|
|
/* 092078 80091478 30680800 */ andi $t0, $v1, 0x800
|
|
/* 09207C 8009147C 15000006 */ bnez $t0, .L80091498
|
|
/* 092080 80091480 00000000 */ nop
|
|
/* 092084 80091484 944A0000 */ lhu $t2, ($v0)
|
|
/* 092088 80091488 34692400 */ ori $t1, $v1, 0x2400
|
|
/* 09208C 8009148C A4490044 */ sh $t1, 0x44($v0)
|
|
/* 092090 80091490 314BDFFF */ andi $t3, $t2, 0xdfff
|
|
/* 092094 80091494 A44B0000 */ sh $t3, ($v0)
|
|
.L80091498:
|
|
/* 092098 80091498 03E00008 */ jr $ra
|
|
/* 09209C 8009149C 00000000 */ nop
|
|
|
|
glabel func_800914A0
|
|
/* 0920A0 800914A0 3C0E800E */ lui $t6, %hi(D_800DC4FC) # $t6, 0x800e
|
|
/* 0920A4 800914A4 8DCEC4FC */ lw $t6, %lo(D_800DC4FC)($t6)
|
|
/* 0920A8 800914A8 3C048015 */ lui $a0, %hi(D_80152308) # $a0, 0x8015
|
|
/* 0920AC 800914AC 24842308 */ addiu $a0, %lo(D_80152308) # addiu $a0, $a0, 0x2308
|
|
/* 0920B0 800914B0 95CF0006 */ lhu $t7, 6($t6)
|
|
/* 0920B4 800914B4 3C028016 */ lui $v0, %hi(D_8015F6F8) # $v0, 0x8016
|
|
/* 0920B8 800914B8 25F80007 */ addiu $t8, $t7, 7
|
|
/* 0920BC 800914BC A4980000 */ sh $t8, ($a0)
|
|
/* 0920C0 800914C0 9442F6F8 */ lhu $v0, %lo(D_8015F6F8)($v0)
|
|
/* 0920C4 800914C4 3303FFFF */ andi $v1, $t8, 0xffff
|
|
/* 0920C8 800914C8 0043082A */ slt $at, $v0, $v1
|
|
/* 0920CC 800914CC 10200002 */ beqz $at, .L800914D8
|
|
/* 0920D0 800914D0 0062C823 */ subu $t9, $v1, $v0
|
|
/* 0920D4 800914D4 A4990000 */ sh $t9, ($a0)
|
|
.L800914D8:
|
|
/* 0920D8 800914D8 03E00008 */ jr $ra
|
|
/* 0920DC 800914DC 00000000 */ nop
|
|
|
|
/* 0920E0 800914E0 27BDFF90 */ addiu $sp, $sp, -0x70
|
|
/* 0920E4 800914E4 3C0F800E */ lui $t7, %hi(D_800E7080) # $t7, 0x800e
|
|
/* 0920E8 800914E8 AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* 0920EC 800914EC 25EF7080 */ addiu $t7, %lo(D_800E7080) # addiu $t7, $t7, 0x7080
|
|
/* 0920F0 800914F0 8DE10000 */ lw $at, ($t7)
|
|
/* 0920F4 800914F4 27AE0064 */ addiu $t6, $sp, 0x64
|
|
/* 0920F8 800914F8 8DEA0004 */ lw $t2, 4($t7)
|
|
/* 0920FC 800914FC ADC10000 */ sw $at, ($t6)
|
|
/* 092100 80091500 8DE10008 */ lw $at, 8($t7)
|
|
/* 092104 80091504 3C0C800E */ lui $t4, %hi(D_800E708C) # $t4, 0x800e
|
|
/* 092108 80091508 258C708C */ addiu $t4, %lo(D_800E708C) # addiu $t4, $t4, 0x708c
|
|
/* 09210C 8009150C ADCA0004 */ sw $t2, 4($t6)
|
|
/* 092110 80091510 ADC10008 */ sw $at, 8($t6)
|
|
/* 092114 80091514 8D810000 */ lw $at, ($t4)
|
|
/* 092118 80091518 27AB0058 */ addiu $t3, $sp, 0x58
|
|
/* 09211C 8009151C 8D980004 */ lw $t8, 4($t4)
|
|
/* 092120 80091520 AD610000 */ sw $at, ($t3)
|
|
/* 092124 80091524 8D810008 */ lw $at, 8($t4)
|
|
/* 092128 80091528 3C028016 */ lui $v0, %hi(D_8015F718) # $v0, 0x8016
|
|
/* 09212C 8009152C AD780004 */ sw $t8, 4($t3)
|
|
/* 092130 80091530 AD610008 */ sw $at, 8($t3)
|
|
/* 092134 80091534 8C42F718 */ lw $v0, %lo(D_8015F718)($v0)
|
|
/* 092138 80091538 3C0F8015 */ lui $t7, %hi(gSegmentTable)
|
|
/* 09213C 8009153C 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
|
|
/* 092140 80091540 00021E02 */ srl $v1, $v0, 0x18
|
|
/* 092144 80091544 00037080 */ sll $t6, $v1, 2
|
|
/* 092148 80091548 01EE7821 */ addu $t7, $t7, $t6
|
|
/* 09214C 8009154C 8DEF0258 */ lw $t7, %lo(gSegmentTable)($t7)
|
|
/* 092150 80091550 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
|
/* 092154 80091554 3C09800E */ lui $t1, %hi(D_800DC4FC) # $t1, 0x800e
|
|
/* 092158 80091558 00412024 */ and $a0, $v0, $at
|
|
/* 09215C 8009155C 2529C4FC */ addiu $t1, %lo(D_800DC4FC) # addiu $t1, $t1, -0x3b04
|
|
/* 092160 80091560 8D2B0000 */ lw $t3, ($t1)
|
|
/* 092164 80091564 3C018000 */ lui $at, 0x8000
|
|
/* 092168 80091568 01E45021 */ addu $t2, $t7, $a0
|
|
/* 09216C 8009156C 0141C821 */ addu $t9, $t2, $at
|
|
/* 092170 80091570 AFB90048 */ sw $t9, 0x48($sp)
|
|
/* 092174 80091574 3C088015 */ lui $t0, %hi(D_80152308) # $t0, 0x8015
|
|
/* 092178 80091578 44800000 */ mtc1 $zero, $f0
|
|
/* 09217C 8009157C 95082308 */ lhu $t0, %lo(D_80152308)($t0)
|
|
/* 092180 80091580 85670006 */ lh $a3, 6($t3)
|
|
/* 092184 80091584 3C058016 */ lui $a1, %hi(D_801646F0) # $a1, 0x8016
|
|
/* 092188 80091588 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
|
/* 09218C 8009158C 44812000 */ mtc1 $at, $f4
|
|
/* 092190 80091590 24A546F0 */ addiu $a1, %lo(D_801646F0) # addiu $a1, $a1, 0x46f0
|
|
/* 092194 80091594 00E81023 */ subu $v0, $a3, $t0
|
|
/* 092198 80091598 00021C00 */ sll $v1, $v0, 0x10
|
|
/* 09219C 8009159C E4A00018 */ swc1 $f0, 0x18($a1)
|
|
/* 0921A0 800915A0 E4A00020 */ swc1 $f0, 0x20($a1)
|
|
/* 0921A4 800915A4 E4A4001C */ swc1 $f4, 0x1c($a1)
|
|
/* 0921A8 800915A8 24050007 */ li $a1, 7
|
|
/* 0921AC 800915AC 0003C403 */ sra $t8, $v1, 0x10
|
|
/* 0921B0 800915B0 14B80008 */ bne $a1, $t8, .L800915D4
|
|
/* 0921B4 800915B4 03001825 */ move $v1, $t8
|
|
/* 0921B8 800915B8 0C024528 */ jal func_800914A0
|
|
/* 0921BC 800915BC 00000000 */ nop
|
|
/* 0921C0 800915C0 3C09800E */ lui $t1, %hi(D_800DC4FC) # $t1, 0x800e
|
|
/* 0921C4 800915C4 3C088015 */ lui $t0, %hi(D_80152308) # $t0, 0x8015
|
|
/* 0921C8 800915C8 95082308 */ lhu $t0, %lo(D_80152308)($t0)
|
|
/* 0921CC 800915CC 10000010 */ b .L80091610
|
|
/* 0921D0 800915D0 2529C4FC */ addiu $t1, %lo(D_800DC4FC) # addiu $t1, $t1, -0x3b04
|
|
.L800915D4:
|
|
/* 0921D4 800915D4 2861000E */ slti $at, $v1, 0xe
|
|
/* 0921D8 800915D8 1020000D */ beqz $at, .L80091610
|
|
/* 0921DC 800915DC 3C0E8016 */ lui $t6, %hi(D_8015F6F8) # $t6, 0x8016
|
|
/* 0921E0 800915E0 85CEF6F8 */ lh $t6, %lo(D_8015F6F8)($t6)
|
|
/* 0921E4 800915E4 006E2021 */ addu $a0, $v1, $t6
|
|
/* 0921E8 800915E8 00047C00 */ sll $t7, $a0, 0x10
|
|
/* 0921EC 800915EC 000F5403 */ sra $t2, $t7, 0x10
|
|
/* 0921F0 800915F0 55450008 */ bnel $t2, $a1, .L80091614
|
|
/* 0921F4 800915F4 8FAD0048 */ lw $t5, 0x48($sp)
|
|
/* 0921F8 800915F8 0C024528 */ jal func_800914A0
|
|
/* 0921FC 800915FC 00000000 */ nop
|
|
/* 092200 80091600 3C09800E */ lui $t1, %hi(D_800DC4FC) # $t1, 0x800e
|
|
/* 092204 80091604 3C088015 */ lui $t0, %hi(D_80152308) # $t0, 0x8015
|
|
/* 092208 80091608 95082308 */ lhu $t0, %lo(D_80152308)($t0)
|
|
/* 09220C 8009160C 2529C4FC */ addiu $t1, %lo(D_800DC4FC) # addiu $t1, $t1, -0x3b04
|
|
.L80091610:
|
|
/* 092210 80091610 8FAD0048 */ lw $t5, 0x48($sp)
|
|
.L80091614:
|
|
/* 092214 80091614 0008C8C0 */ sll $t9, $t0, 3
|
|
/* 092218 80091618 3C018016 */ lui $at, %hi(D_801646F0) # $at, 0x8016
|
|
/* 09221C 8009161C 032D1021 */ addu $v0, $t9, $t5
|
|
/* 092220 80091620 844B0000 */ lh $t3, ($v0)
|
|
/* 092224 80091624 3C048016 */ lui $a0, %hi(D_80164744) # $a0, 0x8016
|
|
/* 092228 80091628 24844744 */ addiu $a0, %lo(D_80164744) # addiu $a0, $a0, 0x4744
|
|
/* 09222C 8009162C 256C000A */ addiu $t4, $t3, 0xa
|
|
/* 092230 80091630 448C3000 */ mtc1 $t4, $f6
|
|
/* 092234 80091634 3C0541A0 */ lui $a1, 0x41a0
|
|
/* 092238 80091638 46803220 */ cvt.s.w $f8, $f6
|
|
/* 09223C 8009163C E42846F0 */ swc1 $f8, %lo(D_801646F0)($at)
|
|
/* 092240 80091640 84580002 */ lh $t8, 2($v0)
|
|
/* 092244 80091644 3C018016 */ lui $at, %hi(D_801646F4) # $at, 0x8016
|
|
/* 092248 80091648 44064000 */ mfc1 $a2, $f8
|
|
/* 09224C 8009164C 270E0007 */ addiu $t6, $t8, 7
|
|
/* 092250 80091650 448E5000 */ mtc1 $t6, $f10
|
|
/* 092254 80091654 00000000 */ nop
|
|
/* 092258 80091658 46805420 */ cvt.s.w $f16, $f10
|
|
/* 09225C 8009165C E43046F4 */ swc1 $f16, %lo(D_801646F4)($at)
|
|
/* 092260 80091660 844F0004 */ lh $t7, 4($v0)
|
|
/* 092264 80091664 3C018016 */ lui $at, %hi(D_801646F8) # $at, 0x8016
|
|
/* 092268 80091668 44078000 */ mfc1 $a3, $f16
|
|
/* 09226C 8009166C 25EAFFEC */ addiu $t2, $t7, -0x14
|
|
/* 092270 80091670 448A9000 */ mtc1 $t2, $f18
|
|
/* 092274 80091674 00000000 */ nop
|
|
/* 092278 80091678 46809120 */ cvt.s.w $f4, $f18
|
|
/* 09227C 8009167C E42446F8 */ swc1 $f4, %lo(D_801646F8)($at)
|
|
/* 092280 80091680 8D390000 */ lw $t9, ($t1)
|
|
/* 092284 80091684 3C018016 */ lui $at, %hi(D_801646FC) # $at, 0x8016
|
|
/* 092288 80091688 C7260014 */ lwc1 $f6, 0x14($t9)
|
|
/* 09228C 8009168C E42646FC */ swc1 $f6, %lo(D_801646FC)($at)
|
|
/* 092290 80091690 8D2D0000 */ lw $t5, ($t1)
|
|
/* 092294 80091694 3C018016 */ lui $at, %hi(D_80164700) # $at, 0x8016
|
|
/* 092298 80091698 C5AA0018 */ lwc1 $f10, 0x18($t5)
|
|
/* 09229C 8009169C E42A4700 */ swc1 $f10, %lo(D_80164700)($at)
|
|
/* 0922A0 800916A0 8D2B0000 */ lw $t3, ($t1)
|
|
/* 0922A4 800916A4 3C018016 */ lui $at, %hi(D_80164704) # $at, 0x8016
|
|
/* 0922A8 800916A8 C572001C */ lwc1 $f18, 0x1c($t3)
|
|
/* 0922AC 800916AC E7A40010 */ swc1 $f4, 0x10($sp)
|
|
/* 0922B0 800916B0 0C0AB772 */ jal func_802ADDC8
|
|
/* 0922B4 800916B4 E4324704 */ swc1 $f18, %lo(D_80164704)($at)
|
|
/* 0922B8 800916B8 3C018016 */ lui $at, %hi(D_801646FC) # $at, 0x8016
|
|
/* 0922BC 800916BC C42646FC */ lwc1 $f6, %lo(D_801646FC)($at)
|
|
/* 0922C0 800916C0 3C018016 */ lui $at, %hi(D_801646F0) # $at, 0x8016
|
|
/* 0922C4 800916C4 C42A46F0 */ lwc1 $f10, %lo(D_801646F0)($at)
|
|
/* 0922C8 800916C8 3C018016 */ lui $at, %hi(D_80164700) # $at, 0x8016
|
|
/* 0922CC 800916CC C4324700 */ lwc1 $f18, %lo(D_80164700)($at)
|
|
/* 0922D0 800916D0 3C018016 */ lui $at, %hi(D_801646F4) # $at, 0x8016
|
|
/* 0922D4 800916D4 C42846F4 */ lwc1 $f8, %lo(D_801646F4)($at)
|
|
/* 0922D8 800916D8 3C018016 */ lui $at, %hi(D_80164704) # $at, 0x8016
|
|
/* 0922DC 800916DC C4244704 */ lwc1 $f4, %lo(D_80164704)($at)
|
|
/* 0922E0 800916E0 460A3301 */ sub.s $f12, $f6, $f10
|
|
/* 0922E4 800916E4 3C018016 */ lui $at, %hi(D_801646F8) # $at, 0x8016
|
|
/* 0922E8 800916E8 C42646F8 */ lwc1 $f6, %lo(D_801646F8)($at)
|
|
/* 0922EC 800916EC 46089401 */ sub.s $f16, $f18, $f8
|
|
/* 0922F0 800916F0 E7AC0038 */ swc1 $f12, 0x38($sp)
|
|
/* 0922F4 800916F4 46062381 */ sub.s $f14, $f4, $f6
|
|
/* 0922F8 800916F8 E7B00034 */ swc1 $f16, 0x34($sp)
|
|
/* 0922FC 800916FC 0C0ADE0C */ jal func_802B7830
|
|
/* 092300 80091700 E7AE0030 */ swc1 $f14, 0x30($sp)
|
|
/* 092304 80091704 C7A00038 */ lwc1 $f0, 0x38($sp)
|
|
/* 092308 80091708 C7AE0030 */ lwc1 $f14, 0x30($sp)
|
|
/* 09230C 8009170C 3C018016 */ lui $at, %hi(D_80164716) # $at, 0x8016
|
|
/* 092310 80091710 46000282 */ mul.s $f10, $f0, $f0
|
|
/* 092314 80091714 A4224716 */ sh $v0, %lo(D_80164716)($at)
|
|
/* 092318 80091718 460E7482 */ mul.s $f18, $f14, $f14
|
|
/* 09231C 8009171C 0C033850 */ jal sqrtf
|
|
/* 092320 80091720 46125300 */ add.s $f12, $f10, $f18
|
|
/* 092324 80091724 46000306 */ mov.s $f12, $f0
|
|
/* 092328 80091728 0C0ADE0C */ jal func_802B7830
|
|
/* 09232C 8009172C C7AE0034 */ lwc1 $f14, 0x34($sp)
|
|
/* 092330 80091730 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* 092334 80091734 3C018016 */ lui $at, %hi(D_80164714) # $at, 0x8016
|
|
/* 092338 80091738 A4224714 */ sh $v0, %lo(D_80164714)($at)
|
|
/* 09233C 8009173C 3C018016 */ lui $at, %hi(D_80164718) # $at, 0x8016
|
|
/* 092340 80091740 A4204718 */ sh $zero, %lo(D_80164718)($at)
|
|
/* 092344 80091744 03E00008 */ jr $ra
|
|
/* 092348 80091748 27BD0070 */ addiu $sp, $sp, 0x70
|
|
|
|
/* 09234C 8009174C 00000000 */ nop
|