1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-07-03 14:34:32 +00:00

Split remaining z_camera files (#98)

* split func_800473A0.s

* split func_80051B3C.s

* split func_80054478

* split func_8004B5A0, match a few functions

* rename Matrix_TranslateThenRotateZYX to Matrix_RotateRPYf (#96)

* rename Matrix_TranslateThenRotateZYX to Matrix_RotateRPYf

* rename Matrix_RotateRPYf to Matrix_JointPosition

* rename Matrix_RotateZYX to Matrix_RotateRPY

* extract camera floats, and jump tables

* decompile baby functions

priv_wip

wip

* rename struct_80045714 to VecSph
This commit is contained in:
krimtonz 2020-04-30 09:49:11 -05:00 committed by GitHub
parent 58e38276c6
commit 16b304d548
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
61 changed files with 16903 additions and 16217 deletions

View file

@ -31,7 +31,7 @@ glabel func_80044ADC
/* ABBCA0 80044B00 0C01DE0D */ jal Math_Coss
/* ABBCA4 80044B04 87A40076 */ lh $a0, 0x76($sp)
/* ABBCA8 80044B08 8E040090 */ lw $a0, 0x90($s0)
/* ABBCAC 80044B0C 0C00B721 */ jal func_8002DC84
/* ABBCAC 80044B0C 0C00B721 */ jal Player_GetCameraYOffset
/* ABBCB0 80044B10 E7A00038 */ swc1 $f0, 0x38($sp)
/* ABBCB4 80044B14 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016
/* ABBCB8 80044B18 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0)

View file

@ -21,7 +21,7 @@ glabel func_800458D4
/* ABCA88 800458E8 AFA60078 */ sw $a2, 0x78($sp)
/* ABCA8C 800458EC AFA7007C */ sw $a3, 0x7c($sp)
/* ABCA90 800458F0 00A08825 */ move $s1, $a1
/* ABCA94 800458F4 0C00B721 */ jal func_8002DC84
/* ABCA94 800458F4 0C00B721 */ jal Player_GetCameraYOffset
/* ABCA98 800458F8 8C840090 */ lw $a0, 0x90($a0)
/* ABCA9C 800458FC C7A40078 */ lwc1 $f4, 0x78($sp)
/* ABCAA0 80045900 44801000 */ mtc1 $zero, $f2

View file

@ -36,7 +36,7 @@ glabel func_80045C74
/* ABCE28 80045C88 AFBF002C */ sw $ra, 0x2c($sp)
/* ABCE2C 80045C8C AFA50084 */ sw $a1, 0x84($sp)
/* ABCE30 80045C90 AFA7008C */ sw $a3, 0x8c($sp)
/* ABCE34 80045C94 0C00B721 */ jal func_8002DC84
/* ABCE34 80045C94 0C00B721 */ jal Player_GetCameraYOffset
/* ABCE38 80045C98 8C840090 */ lw $a0, 0x90($a0)
/* ABCE3C 80045C9C 46140100 */ add.s $f4, $f0, $f20
/* ABCE40 80045CA0 44801000 */ mtc1 $zero, $f2

View file

@ -59,7 +59,7 @@ glabel func_800460A8
/* ABD25C 800460BC AFA500AC */ sw $a1, 0xac($sp)
/* ABD260 800460C0 AFA600B0 */ sw $a2, 0xb0($sp)
/* ABD264 800460C4 AFA700B4 */ sw $a3, 0xb4($sp)
/* ABD268 800460C8 0C00B721 */ jal func_8002DC84
/* ABD268 800460C8 0C00B721 */ jal Player_GetCameraYOffset
/* ABD26C 800460CC 8C840090 */ lw $a0, 0x90($a0)
/* ABD270 800460D0 C7A400B4 */ lwc1 $f4, 0xb4($sp)
/* ABD274 800460D4 44801000 */ mtc1 $zero, $f2

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,617 @@
.late_rodata
glabel D_80139EC4
.float 0.01
glabel D_80139EC8
.float 0.01
glabel D_80139ECC
.float 182.041671753
.float 0.01
glabel D_80139ED4
.float 0.01
.float 0.01
glabel D_80139EDC
.float 0.01
glabel D_80139EE0
.float 0.01
glabel D_80139EE4
.float 0.01
glabel D_80139EE8
.float 0.01
glabel D_80139EEC
.float 0.05
.text
glabel func_80047F64
/* ABF104 80047F64 27BDFF20 */ addiu $sp, $sp, -0xe0
/* ABF108 80047F68 AFB0001C */ sw $s0, 0x1c($sp)
/* ABF10C 80047F6C 00808025 */ move $s0, $a0
/* ABF110 80047F70 AFBF0024 */ sw $ra, 0x24($sp)
/* ABF114 80047F74 AFB10020 */ sw $s1, 0x20($sp)
/* ABF118 80047F78 0C00B721 */ jal Player_GetCameraYOffset
/* ABF11C 80047F7C 8C840090 */ lw $a0, 0x90($a0)
/* ABF120 80047F80 3C038016 */ lui $v1, %hi(gGameInfo) # $v1, 0x8016
/* ABF124 80047F84 8C63FA90 */ lw $v1, %lo(gGameInfo)($v1)
/* ABF128 80047F88 3C018014 */ lui $at, %hi(D_80139EC4)
/* ABF12C 80047F8C C4309EC4 */ lwc1 $f16, %lo(D_80139EC4)($at)
/* ABF130 80047F90 846E01F0 */ lh $t6, 0x1f0($v1)
/* ABF134 80047F94 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* ABF138 80047F98 44814000 */ mtc1 $at, $f8
/* ABF13C 80047F9C 448E2000 */ mtc1 $t6, $f4
/* ABF140 80047FA0 3C014288 */ li $at, 0x42880000 # 0.000000
/* ABF144 80047FA4 44819000 */ mtc1 $at, $f18
/* ABF148 80047FA8 468021A0 */ cvt.s.w $f6, $f4
/* ABF14C 80047FAC 846F0314 */ lh $t7, 0x314($v1)
/* ABF150 80047FB0 46000306 */ mov.s $f12, $f0
/* ABF154 80047FB4 46009103 */ div.s $f4, $f18, $f0
/* ABF158 80047FB8 46103082 */ mul.s $f2, $f6, $f16
/* ABF15C 80047FBC 46024280 */ add.s $f10, $f8, $f2
/* ABF160 80047FC0 46041182 */ mul.s $f6, $f2, $f4
/* ABF164 80047FC4 11E00009 */ beqz $t7, .L80047FEC
/* ABF168 80047FC8 46065381 */ sub.s $f14, $f10, $f6
/* ABF16C 80047FCC 02002025 */ move $a0, $s0
/* ABF170 80047FD0 E7AC0060 */ swc1 $f12, 0x60($sp)
/* ABF174 80047FD4 0C011495 */ jal func_80045254
/* ABF178 80047FD8 E7AE005C */ swc1 $f14, 0x5c($sp)
/* ABF17C 80047FDC 3C018014 */ lui $at, %hi(D_80139EC8)
/* ABF180 80047FE0 C4309EC8 */ lwc1 $f16, %lo(D_80139EC8)($at)
/* ABF184 80047FE4 C7AC0060 */ lwc1 $f12, 0x60($sp)
/* ABF188 80047FE8 C7AE005C */ lwc1 $f14, 0x5c($sp)
.L80047FEC:
/* ABF18C 80047FEC 8602015E */ lh $v0, 0x15e($s0)
/* ABF190 80047FF0 10400009 */ beqz $v0, .L80048018
/* ABF194 80047FF4 2401000A */ li $at, 10
/* ABF198 80047FF8 10410007 */ beq $v0, $at, .L80048018
/* ABF19C 80047FFC 24010014 */ li $at, 20
/* ABF1A0 80048000 10410005 */ beq $v0, $at, .L80048018
/* ABF1A4 80048004 3C188016 */ lui $t8, %hi(gGameInfo) # $t8, 0x8016
/* ABF1A8 80048008 8F18FA90 */ lw $t8, %lo(gGameInfo)($t8)
/* ABF1AC 8004800C 87030314 */ lh $v1, 0x314($t8)
/* ABF1B0 80048010 10600050 */ beqz $v1, .L80048154
/* ABF1B4 80048014 00000000 */ nop
.L80048018:
/* ABF1B8 80048018 86190142 */ lh $t9, 0x142($s0)
/* ABF1BC 8004801C 3C098012 */ lui $t1, %hi(D_8011D068)
/* ABF1C0 80048020 860A0144 */ lh $t2, 0x144($s0)
/* ABF1C4 80048024 001940C0 */ sll $t0, $t9, 3
/* ABF1C8 80048028 01284821 */ addu $t1, $t1, $t0
/* ABF1CC 8004802C 8D29D068 */ lw $t1, %lo(D_8011D068)($t1)
/* ABF1D0 80048030 000A58C0 */ sll $t3, $t2, 3
/* ABF1D4 80048034 3C018014 */ lui $at, %hi(D_80139ECC)
/* ABF1D8 80048038 012B6021 */ addu $t4, $t1, $t3
/* ABF1DC 8004803C 8D820004 */ lw $v0, 4($t4)
/* ABF1E0 80048040 844D0000 */ lh $t5, ($v0)
/* ABF1E4 80048044 24420020 */ addiu $v0, $v0, 0x20
/* ABF1E8 80048048 448D4000 */ mtc1 $t5, $f8
/* ABF1EC 8004804C 00000000 */ nop
/* ABF1F0 80048050 468044A0 */ cvt.s.w $f18, $f8
/* ABF1F4 80048054 46109102 */ mul.s $f4, $f18, $f16
/* ABF1F8 80048058 00000000 */ nop
/* ABF1FC 8004805C 460C2282 */ mul.s $f10, $f4, $f12
/* ABF200 80048060 00000000 */ nop
/* ABF204 80048064 460E5182 */ mul.s $f6, $f10, $f14
/* ABF208 80048068 E6060000 */ swc1 $f6, ($s0)
/* ABF20C 8004806C 844EFFE4 */ lh $t6, -0x1c($v0)
/* ABF210 80048070 448E4000 */ mtc1 $t6, $f8
/* ABF214 80048074 3C0E8016 */ lui $t6, %hi(gGameInfo)
/* ABF218 80048078 468044A0 */ cvt.s.w $f18, $f8
/* ABF21C 8004807C 46109102 */ mul.s $f4, $f18, $f16
/* ABF220 80048080 00000000 */ nop
/* ABF224 80048084 460C2282 */ mul.s $f10, $f4, $f12
/* ABF228 80048088 00000000 */ nop
/* ABF22C 8004808C 460E5182 */ mul.s $f6, $f10, $f14
/* ABF230 80048090 E6060004 */ swc1 $f6, 4($s0)
/* ABF234 80048094 844FFFE8 */ lh $t7, -0x18($v0)
/* ABF238 80048098 448F4000 */ mtc1 $t7, $f8
/* ABF23C 8004809C 00000000 */ nop
/* ABF240 800480A0 468044A0 */ cvt.s.w $f18, $f8
/* ABF244 800480A4 46109102 */ mul.s $f4, $f18, $f16
/* ABF248 800480A8 00000000 */ nop
/* ABF24C 800480AC 460C2282 */ mul.s $f10, $f4, $f12
/* ABF250 800480B0 00000000 */ nop
/* ABF254 800480B4 460E5182 */ mul.s $f6, $f10, $f14
/* ABF258 800480B8 E6060008 */ swc1 $f6, 8($s0)
/* ABF25C 800480BC 8458FFEC */ lh $t8, -0x14($v0)
/* ABF260 800480C0 C4249ECC */ lwc1 $f4, %lo(D_80139ECC)($at)
/* ABF264 800480C4 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* ABF268 800480C8 44984000 */ mtc1 $t8, $f8
/* ABF26C 800480CC 44813000 */ mtc1 $at, $f6
/* ABF270 800480D0 468044A0 */ cvt.s.w $f18, $f8
/* ABF274 800480D4 46049282 */ mul.s $f10, $f18, $f4
/* ABF278 800480D8 46065200 */ add.s $f8, $f10, $f6
/* ABF27C 800480DC 4600448D */ trunc.w.s $f18, $f8
/* ABF280 800480E0 44089000 */ mfc1 $t0, $f18
/* ABF284 800480E4 00000000 */ nop
/* ABF288 800480E8 A608001C */ sh $t0, 0x1c($s0)
/* ABF28C 800480EC 844AFFF0 */ lh $t2, -0x10($v0)
/* ABF290 800480F0 448A2000 */ mtc1 $t2, $f4
/* ABF294 800480F4 00000000 */ nop
/* ABF298 800480F8 468022A0 */ cvt.s.w $f10, $f4
/* ABF29C 800480FC E60A000C */ swc1 $f10, 0xc($s0)
/* ABF2A0 80048100 8449FFF4 */ lh $t1, -0xc($v0)
/* ABF2A4 80048104 44893000 */ mtc1 $t1, $f6
/* ABF2A8 80048108 00000000 */ nop
/* ABF2AC 8004810C 46803220 */ cvt.s.w $f8, $f6
/* ABF2B0 80048110 46104482 */ mul.s $f18, $f8, $f16
/* ABF2B4 80048114 E6120010 */ swc1 $f18, 0x10($s0)
/* ABF2B8 80048118 844BFFF8 */ lh $t3, -8($v0)
/* ABF2BC 8004811C 448B2000 */ mtc1 $t3, $f4
/* ABF2C0 80048120 00000000 */ nop
/* ABF2C4 80048124 468022A0 */ cvt.s.w $f10, $f4
/* ABF2C8 80048128 E60A0014 */ swc1 $f10, 0x14($s0)
/* ABF2CC 8004812C 844CFFFC */ lh $t4, -4($v0)
/* ABF2D0 80048130 448C3000 */ mtc1 $t4, $f6
/* ABF2D4 80048134 00000000 */ nop
/* ABF2D8 80048138 46803220 */ cvt.s.w $f8, $f6
/* ABF2DC 8004813C 46104482 */ mul.s $f18, $f8, $f16
/* ABF2E0 80048140 E6120018 */ swc1 $f18, 0x18($s0)
/* ABF2E4 80048144 844D0000 */ lh $t5, ($v0)
/* ABF2E8 80048148 A60D001E */ sh $t5, 0x1e($s0)
/* ABF2EC 8004814C 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
/* ABF2F0 80048150 85C30314 */ lh $v1, 0x314($t6)
.L80048154:
/* ABF2F4 80048154 50600004 */ beql $v1, $zero, .L80048168
/* ABF2F8 80048158 860F001E */ lh $t7, 0x1e($s0)
/* ABF2FC 8004815C 0C011495 */ jal func_80045254
/* ABF300 80048160 02002025 */ move $a0, $s0
/* ABF304 80048164 860F001E */ lh $t7, 0x1e($s0)
.L80048168:
/* ABF308 80048168 3C018012 */ lui $at, %hi(D_8011D3A0)
/* ABF30C 8004816C AC2FD3A0 */ sw $t7, %lo(D_8011D3A0)($at)
/* ABF310 80048170 8602015E */ lh $v0, 0x15e($s0)
/* ABF314 80048174 10400007 */ beqz $v0, .L80048194
/* ABF318 80048178 2401000A */ li $at, 10
/* ABF31C 8004817C 10410005 */ beq $v0, $at, .L80048194
/* ABF320 80048180 24010014 */ li $at, 20
/* ABF324 80048184 10410003 */ beq $v0, $at, .L80048194
/* ABF328 80048188 24010019 */ li $at, 25
/* ABF32C 8004818C 14410042 */ bne $v0, $at, .L80048298
/* ABF330 80048190 26180094 */ addiu $t8, $s0, 0x94
.L80048194:
/* ABF334 80048194 0C0111DB */ jal func_8004476C
/* ABF338 80048198 02002025 */ move $a0, $s0
/* ABF33C 8004819C 26110020 */ addiu $s1, $s0, 0x20
/* ABF340 800481A0 02202025 */ move $a0, $s1
/* ABF344 800481A4 00402825 */ move $a1, $v0
/* ABF348 800481A8 0C010EF1 */ jal func_80043BC4
/* ABF34C 800481AC AFA20064 */ sw $v0, 0x64($sp)
/* ABF350 800481B0 8FA60064 */ lw $a2, 0x64($sp)
/* ABF354 800481B4 26080094 */ addiu $t0, $s0, 0x94
/* ABF358 800481B8 2404FFFF */ li $a0, -1
/* ABF35C 800481BC 84D80006 */ lh $t8, 6($a2)
/* ABF360 800481C0 27A50088 */ addiu $a1, $sp, 0x88
/* ABF364 800481C4 A6380020 */ sh $t8, 0x20($s1)
/* ABF368 800481C8 84D90008 */ lh $t9, 8($a2)
/* ABF36C 800481CC A6390022 */ sh $t9, 0x22($s1)
/* ABF370 800481D0 AFA8003C */ sw $t0, 0x3c($sp)
/* ABF374 800481D4 C5040004 */ lwc1 $f4, 4($t0)
/* ABF378 800481D8 E6240024 */ swc1 $f4, 0x24($s1)
/* ABF37C 800481DC 84C3000C */ lh $v1, 0xc($a2)
/* ABF380 800481E0 14830004 */ bne $a0, $v1, .L800481F4
/* ABF384 800481E4 28610169 */ slti $at, $v1, 0x169
/* ABF388 800481E8 C60A0014 */ lwc1 $f10, 0x14($s0)
/* ABF38C 800481EC 1000000E */ b .L80048228
/* ABF390 800481F0 E62A001C */ swc1 $f10, 0x1c($s1)
.L800481F4:
/* ABF394 800481F4 54200009 */ bnezl $at, .L8004821C
/* ABF398 800481F8 44832000 */ mtc1 $v1, $f4
/* ABF39C 800481FC 44833000 */ mtc1 $v1, $f6
/* ABF3A0 80048200 3C018014 */ lui $at, %hi(D_80139ED4)
/* ABF3A4 80048204 C4329ED4 */ lwc1 $f18, %lo(D_80139ED4)($at)
/* ABF3A8 80048208 46803220 */ cvt.s.w $f8, $f6
/* ABF3AC 8004820C 46124002 */ mul.s $f0, $f8, $f18
/* ABF3B0 80048210 10000005 */ b .L80048228
/* ABF3B4 80048214 E620001C */ swc1 $f0, 0x1c($s1)
/* ABF3B8 80048218 44832000 */ mtc1 $v1, $f4
.L8004821C:
/* ABF3BC 8004821C 00000000 */ nop
/* ABF3C0 80048220 46802020 */ cvt.s.w $f0, $f4
/* ABF3C4 80048224 E620001C */ swc1 $f0, 0x1c($s1)
.L80048228:
/* ABF3C8 80048228 84C2000E */ lh $v0, 0xe($a2)
/* ABF3CC 8004822C 44805000 */ mtc1 $zero, $f10
/* ABF3D0 80048230 54820004 */ bnel $a0, $v0, .L80048244
/* ABF3D4 80048234 A6220028 */ sh $v0, 0x28($s1)
/* ABF3D8 80048238 10000002 */ b .L80048244
/* ABF3DC 8004823C A6200028 */ sh $zero, 0x28($s1)
/* ABF3E0 80048240 A6220028 */ sh $v0, 0x28($s1)
.L80048244:
/* ABF3E4 80048244 E62A0018 */ swc1 $f10, 0x18($s1)
/* ABF3E8 80048248 8609001E */ lh $t1, 0x1e($s0)
/* ABF3EC 8004824C 312B0004 */ andi $t3, $t1, 4
/* ABF3F0 80048250 5160000C */ beql $t3, $zero, .L80048284
/* ABF3F4 80048254 3C014248 */ lui $at, 0x4248
/* ABF3F8 80048258 862C0020 */ lh $t4, 0x20($s1)
/* ABF3FC 8004825C 3C0142C8 */ li $at, 0x42C80000 # 0.000000
/* ABF400 80048260 44813000 */ mtc1 $at, $f6
/* ABF404 80048264 A7AC008C */ sh $t4, 0x8c($sp)
/* ABF408 80048268 862D0022 */ lh $t5, 0x22($s1)
/* ABF40C 8004826C 2624000C */ addiu $a0, $s1, 0xc
/* ABF410 80048270 E7A60088 */ swc1 $f6, 0x88($sp)
/* ABF414 80048274 25AE3FFF */ addiu $t6, $t5, 0x3fff
/* ABF418 80048278 0C01F097 */ jal func_8007C25C
/* ABF41C 8004827C A7AE008E */ sh $t6, 0x8e($sp)
/* ABF420 80048280 3C014248 */ li $at, 0x42480000 # 0.000000
.L80048284:
/* ABF424 80048284 44814000 */ mtc1 $at, $f8
/* ABF428 80048288 240F0001 */ li $t7, 1
/* ABF42C 8004828C A60F015E */ sh $t7, 0x15e($s0)
/* ABF430 80048290 1000000A */ b .L800482BC
/* ABF434 80048294 E60800C8 */ swc1 $f8, 0xc8($s0)
.L80048298:
/* ABF438 80048298 AFB8003C */ sw $t8, 0x3c($sp)
/* ABF43C 8004829C C6120104 */ lwc1 $f18, 0x104($s0)
/* ABF440 800482A0 C7000004 */ lwc1 $f0, 4($t8)
/* ABF444 800482A4 26110020 */ addiu $s1, $s0, 0x20
/* ABF448 800482A8 46120032 */ c.eq.s $f0, $f18
/* ABF44C 800482AC 00000000 */ nop
/* ABF450 800482B0 45000002 */ bc1f .L800482BC
/* ABF454 800482B4 00000000 */ nop
/* ABF458 800482B8 E6000044 */ swc1 $f0, 0x44($s0)
.L800482BC:
/* ABF45C 800482BC 26050050 */ addiu $a1, $s0, 0x50
/* ABF460 800482C0 2606005C */ addiu $a2, $s0, 0x5c
/* ABF464 800482C4 AFA60048 */ sw $a2, 0x48($sp)
/* ABF468 800482C8 AFA50044 */ sw $a1, 0x44($sp)
/* ABF46C 800482CC 0C01F124 */ jal func_8007C490
/* ABF470 800482D0 27A40080 */ addiu $a0, $sp, 0x80
/* ABF474 800482D4 26060074 */ addiu $a2, $s0, 0x74
/* ABF478 800482D8 AFA60040 */ sw $a2, 0x40($sp)
/* ABF47C 800482DC 27A40078 */ addiu $a0, $sp, 0x78
/* ABF480 800482E0 0C01F124 */ jal func_8007C490
/* ABF484 800482E4 8FA50044 */ lw $a1, 0x44($sp)
/* ABF488 800482E8 3C018014 */ lui $at, %hi(D_80139EDC)
/* ABF48C 800482EC C4309EDC */ lwc1 $f16, %lo(D_80139EDC)($at)
/* ABF490 800482F0 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* ABF494 800482F4 44815000 */ mtc1 $at, $f10
/* ABF498 800482F8 C60400E0 */ lwc1 $f4, 0xe0($s0)
/* ABF49C 800482FC 3C038016 */ lui $v1, %hi(gGameInfo) # $v1, 0x8016
/* ABF4A0 80048300 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* ABF4A4 80048304 460A2182 */ mul.s $f6, $f4, $f10
/* ABF4A8 80048308 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* ABF4AC 8004830C E60600E0 */ swc1 $f6, 0xe0($s0)
/* ABF4B0 80048310 8C63FA90 */ lw $v1, %lo(gGameInfo)($v1)
/* ABF4B4 80048314 C60000E0 */ lwc1 $f0, 0xe0($s0)
/* ABF4B8 80048318 846801C6 */ lh $t0, 0x1c6($v1)
/* ABF4BC 8004831C 44884000 */ mtc1 $t0, $f8
/* ABF4C0 80048320 00000000 */ nop
/* ABF4C4 80048324 468044A0 */ cvt.s.w $f18, $f8
/* ABF4C8 80048328 46109082 */ mul.s $f2, $f18, $f16
/* ABF4CC 8004832C 00000000 */ nop
/* ABF4D0 80048330 46001102 */ mul.s $f4, $f2, $f0
/* ABF4D4 80048334 44061000 */ mfc1 $a2, $f2
/* ABF4D8 80048338 E7A400A4 */ swc1 $f4, 0xa4($sp)
/* ABF4DC 8004833C 846A01C8 */ lh $t2, 0x1c8($v1)
/* ABF4E0 80048340 448A5000 */ mtc1 $t2, $f10
/* ABF4E4 80048344 00000000 */ nop
/* ABF4E8 80048348 468051A0 */ cvt.s.w $f6, $f10
/* ABF4EC 8004834C 46103202 */ mul.s $f8, $f6, $f16
/* ABF4F0 80048350 00000000 */ nop
/* ABF4F4 80048354 46004482 */ mul.s $f18, $f8, $f0
/* ABF4F8 80048358 E7B200A0 */ swc1 $f18, 0xa0($sp)
/* ABF4FC 8004835C C60400C8 */ lwc1 $f4, 0xc8($s0)
/* ABF500 80048360 C60C000C */ lwc1 $f12, 0xc($s0)
/* ABF504 80048364 46002382 */ mul.s $f14, $f4, $f0
/* ABF508 80048368 0C010E27 */ jal func_8004389C
/* ABF50C 8004836C 00000000 */ nop
/* ABF510 80048370 E60000C8 */ swc1 $f0, 0xc8($s0)
/* ABF514 80048374 3C098016 */ lui $t1, %hi(gGameInfo) # $t1, 0x8016
/* ABF518 80048378 8D29FA90 */ lw $t1, %lo(gGameInfo)($t1)
/* ABF51C 8004837C 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* ABF520 80048380 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* ABF524 80048384 852B01A2 */ lh $t3, 0x1a2($t1)
/* ABF528 80048388 8FA600A0 */ lw $a2, 0xa0($sp)
/* ABF52C 8004838C C60E00C4 */ lwc1 $f14, 0xc4($s0)
/* ABF530 80048390 448B5000 */ mtc1 $t3, $f10
/* ABF534 80048394 0C010E27 */ jal func_8004389C
/* ABF538 80048398 46805320 */ cvt.s.w $f12, $f10
/* ABF53C 8004839C E60000C4 */ swc1 $f0, 0xc4($s0)
/* ABF540 800483A0 3C0C8016 */ lui $t4, %hi(gGameInfo) # $t4, 0x8016
/* ABF544 800483A4 8D8CFA90 */ lw $t4, %lo(gGameInfo)($t4)
/* ABF548 800483A8 3C018014 */ lui $at, %hi(D_80139EE0)
/* ABF54C 800483AC C4329EE0 */ lwc1 $f18, %lo(D_80139EE0)($at)
/* ABF550 800483B0 858D0198 */ lh $t5, 0x198($t4)
/* ABF554 800483B4 3C073DCC */ li $a3, 0x3DCC0000 # 0.000000
/* ABF558 800483B8 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* ABF55C 800483BC 448D3000 */ mtc1 $t5, $f6
/* ABF560 800483C0 8FA600A4 */ lw $a2, 0xa4($sp)
/* ABF564 800483C4 C60E00CC */ lwc1 $f14, 0xcc($s0)
/* ABF568 800483C8 46803220 */ cvt.s.w $f8, $f6
/* ABF56C 800483CC 46124302 */ mul.s $f12, $f8, $f18
/* ABF570 800483D0 0C010E27 */ jal func_8004389C
/* ABF574 800483D4 00000000 */ nop
/* ABF578 800483D8 E60000CC */ swc1 $f0, 0xcc($s0)
/* ABF57C 800483DC 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016
/* ABF580 800483E0 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
/* ABF584 800483E4 3C018014 */ lui $at, %hi(D_80139EE4)
/* ABF588 800483E8 C4269EE4 */ lwc1 $f6, %lo(D_80139EE4)($at)
/* ABF58C 800483EC 85CF019A */ lh $t7, 0x19a($t6)
/* ABF590 800483F0 3C073DCC */ li $a3, 0x3DCC0000 # 0.000000
/* ABF594 800483F4 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* ABF598 800483F8 448F2000 */ mtc1 $t7, $f4
/* ABF59C 800483FC 8FA600A0 */ lw $a2, 0xa0($sp)
/* ABF5A0 80048400 C60E00D0 */ lwc1 $f14, 0xd0($s0)
/* ABF5A4 80048404 468022A0 */ cvt.s.w $f10, $f4
/* ABF5A8 80048408 46065302 */ mul.s $f12, $f10, $f6
/* ABF5AC 8004840C 0C010E27 */ jal func_8004389C
/* ABF5B0 80048410 00000000 */ nop
/* ABF5B4 80048414 E60000D0 */ swc1 $f0, 0xd0($s0)
/* ABF5B8 80048418 3C188016 */ lui $t8, %hi(gGameInfo) # $t8, 0x8016
/* ABF5BC 8004841C 8F18FA90 */ lw $t8, %lo(gGameInfo)($t8)
/* ABF5C0 80048420 3C018014 */ lui $at, %hi(D_80139EE8)
/* ABF5C4 80048424 C4249EE8 */ lwc1 $f4, %lo(D_80139EE8)($at)
/* ABF5C8 80048428 8719019C */ lh $t9, 0x19c($t8)
/* ABF5CC 8004842C 3C018014 */ lui $at, %hi(D_80139EEC)
/* ABF5D0 80048430 C4269EEC */ lwc1 $f6, %lo(D_80139EEC)($at)
/* ABF5D4 80048434 44994000 */ mtc1 $t9, $f8
/* ABF5D8 80048438 C60A00E0 */ lwc1 $f10, 0xe0($s0)
/* ABF5DC 8004843C 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* ABF5E0 80048440 468044A0 */ cvt.s.w $f18, $f8
/* ABF5E4 80048444 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* ABF5E8 80048448 46000386 */ mov.s $f14, $f0
/* ABF5EC 8004844C 46049302 */ mul.s $f12, $f18, $f4
/* ABF5F0 80048450 00000000 */ nop
/* ABF5F4 80048454 46065202 */ mul.s $f8, $f10, $f6
/* ABF5F8 80048458 44064000 */ mfc1 $a2, $f8
/* ABF5FC 8004845C 0C010E27 */ jal func_8004389C
/* ABF600 80048460 00000000 */ nop
/* ABF604 80048464 8602001E */ lh $v0, 0x1e($s0)
/* ABF608 80048468 E60000D4 */ swc1 $f0, 0xd4($s0)
/* ABF60C 8004846C 30480080 */ andi $t0, $v0, 0x80
/* ABF610 80048470 15000009 */ bnez $t0, .L80048498
/* ABF614 80048474 30470001 */ andi $a3, $v0, 1
/* ABF618 80048478 00073C00 */ sll $a3, $a3, 0x10
/* ABF61C 8004847C 00073C03 */ sra $a3, $a3, 0x10
/* ABF620 80048480 02002025 */ move $a0, $s0
/* ABF624 80048484 27A50078 */ addiu $a1, $sp, 0x78
/* ABF628 80048488 0C0115EA */ jal func_800457A8
/* ABF62C 8004848C 8E060000 */ lw $a2, ($s0)
/* ABF630 80048490 10000009 */ b .L800484B8
/* ABF634 80048494 8609001E */ lh $t1, 0x1e($s0)
.L80048498:
/* ABF638 80048498 8E060000 */ lw $a2, ($s0)
/* ABF63C 8004849C 304A0001 */ andi $t2, $v0, 1
/* ABF640 800484A0 AFAA0010 */ sw $t2, 0x10($sp)
/* ABF644 800484A4 02002025 */ move $a0, $s0
/* ABF648 800484A8 27A50078 */ addiu $a1, $sp, 0x78
/* ABF64C 800484AC 0C011635 */ jal func_800458D4
/* ABF650 800484B0 26270024 */ addiu $a3, $s1, 0x24
/* ABF654 800484B4 8609001E */ lh $t1, 0x1e($s0)
.L800484B8:
/* ABF658 800484B8 312B0004 */ andi $t3, $t1, 4
/* ABF65C 800484BC 5160000B */ beql $t3, $zero, .L800484EC
/* ABF660 800484C0 8FA2003C */ lw $v0, 0x3c($sp)
/* ABF664 800484C4 8FA2003C */ lw $v0, 0x3c($sp)
/* ABF668 800484C8 C624000C */ lwc1 $f4, 0xc($s1)
/* ABF66C 800484CC C6280014 */ lwc1 $f8, 0x14($s1)
/* ABF670 800484D0 C4520000 */ lwc1 $f18, ($v0)
/* ABF674 800484D4 46049280 */ add.s $f10, $f18, $f4
/* ABF678 800484D8 E62A0000 */ swc1 $f10, ($s1)
/* ABF67C 800484DC C4460008 */ lwc1 $f6, 8($v0)
/* ABF680 800484E0 46083480 */ add.s $f18, $f6, $f8
/* ABF684 800484E4 E6320008 */ swc1 $f18, 8($s1)
/* ABF688 800484E8 8FA2003C */ lw $v0, 0x3c($sp)
.L800484EC:
/* ABF68C 800484EC 27A40088 */ addiu $a0, $sp, 0x88
/* ABF690 800484F0 02202825 */ move $a1, $s1
/* ABF694 800484F4 C4440004 */ lwc1 $f4, 4($v0)
/* ABF698 800484F8 E6240004 */ swc1 $f4, 4($s1)
/* ABF69C 800484FC 0C01F124 */ jal func_8007C490
/* ABF6A0 80048500 8FA60044 */ lw $a2, 0x44($sp)
/* ABF6A4 80048504 27A40090 */ addiu $a0, $sp, 0x90
/* ABF6A8 80048508 8FA50044 */ lw $a1, 0x44($sp)
/* ABF6AC 8004850C 0C01F124 */ jal func_8007C490
/* ABF6B0 80048510 8FA60040 */ lw $a2, 0x40($sp)
/* ABF6B4 80048514 862C0028 */ lh $t4, 0x28($s1)
/* ABF6B8 80048518 318D0002 */ andi $t5, $t4, 2
/* ABF6BC 8004851C 51A00004 */ beql $t5, $zero, .L80048530
/* ABF6C0 80048520 8605001C */ lh $a1, 0x1c($s0)
/* ABF6C4 80048524 10000002 */ b .L80048530
/* ABF6C8 80048528 86250022 */ lh $a1, 0x22($s1)
/* ABF6CC 8004852C 8605001C */ lh $a1, 0x1c($s0)
.L80048530:
/* ABF6D0 80048530 28A14000 */ slti $at, $a1, 0x4000
/* ABF6D4 80048534 1020000B */ beqz $at, .L80048564
/* ABF6D8 80048538 87AE0096 */ lh $t6, 0x96($sp)
/* ABF6DC 8004853C 87AF008E */ lh $t7, 0x8e($sp)
/* ABF6E0 80048540 01CF1823 */ subu $v1, $t6, $t7
/* ABF6E4 80048544 00031C00 */ sll $v1, $v1, 0x10
/* ABF6E8 80048548 00031C03 */ sra $v1, $v1, 0x10
/* ABF6EC 8004854C 04600003 */ bltz $v1, .L8004855C
/* ABF6F0 80048550 00031023 */ negu $v0, $v1
/* ABF6F4 80048554 10000001 */ b .L8004855C
/* ABF6F8 80048558 00601025 */ move $v0, $v1
.L8004855C:
/* ABF6FC 8004855C 00A2082A */ slt $at, $a1, $v0
/* ABF700 80048560 1420000E */ bnez $at, .L8004859C
.L80048564:
/* ABF704 80048564 28A14000 */ slti $at, $a1, 0x4000
/* ABF708 80048568 14200030 */ bnez $at, .L8004862C
/* ABF70C 8004856C 87B80096 */ lh $t8, 0x96($sp)
/* ABF710 80048570 87B9008E */ lh $t9, 0x8e($sp)
/* ABF714 80048574 03191823 */ subu $v1, $t8, $t9
/* ABF718 80048578 00031C00 */ sll $v1, $v1, 0x10
/* ABF71C 8004857C 00031C03 */ sra $v1, $v1, 0x10
/* ABF720 80048580 04600003 */ bltz $v1, .L80048590
/* ABF724 80048584 00031023 */ negu $v0, $v1
/* ABF728 80048588 10000001 */ b .L80048590
/* ABF72C 8004858C 00601025 */ move $v0, $v1
.L80048590:
/* ABF730 80048590 0045082A */ slt $at, $v0, $a1
/* ABF734 80048594 50200026 */ beql $at, $zero, .L80048630
/* ABF738 80048598 27AC0090 */ addiu $t4, $sp, 0x90
.L8004859C:
/* ABF73C 8004859C 04610005 */ bgez $v1, .L800485B4
/* ABF740 800485A0 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* ABF744 800485A4 00052023 */ negu $a0, $a1
/* ABF748 800485A8 00042400 */ sll $a0, $a0, 0x10
/* ABF74C 800485AC 10000003 */ b .L800485BC
/* ABF750 800485B0 00042403 */ sra $a0, $a0, 0x10
.L800485B4:
/* ABF754 800485B4 00052400 */ sll $a0, $a1, 0x10
/* ABF758 800485B8 00042403 */ sra $a0, $a0, 0x10
.L800485BC:
/* ABF75C 800485BC 44815000 */ mtc1 $at, $f10
/* ABF760 800485C0 C60600C8 */ lwc1 $f6, 0xc8($s0)
/* ABF764 800485C4 C61200E0 */ lwc1 $f18, 0xe0($s0)
/* ABF768 800485C8 87A8008E */ lh $t0, 0x8e($sp)
/* ABF76C 800485CC 46065203 */ div.s $f8, $f10, $f6
/* ABF770 800485D0 87A50086 */ lh $a1, 0x86($sp)
/* ABF774 800485D4 00882021 */ addu $a0, $a0, $t0
/* ABF778 800485D8 00042400 */ sll $a0, $a0, 0x10
/* ABF77C 800485DC 00042403 */ sra $a0, $a0, 0x10
/* ABF780 800485E0 2407000A */ li $a3, 10
/* ABF784 800485E4 46124102 */ mul.s $f4, $f8, $f18
/* ABF788 800485E8 44062000 */ mfc1 $a2, $f4
/* ABF78C 800485EC 0C010E47 */ jal func_8004391C
/* ABF790 800485F0 00000000 */ nop
/* ABF794 800485F4 A7A2009E */ sh $v0, 0x9e($sp)
/* ABF798 800485F8 862A0028 */ lh $t2, 0x28($s1)
/* ABF79C 800485FC 02002025 */ move $a0, $s0
/* ABF7A0 80048600 87A5007C */ lh $a1, 0x7c($sp)
/* ABF7A4 80048604 31490001 */ andi $t1, $t2, 1
/* ABF7A8 80048608 11200006 */ beqz $t1, .L80048624
/* ABF7AC 8004860C 87A30084 */ lh $v1, 0x84($sp)
/* ABF7B0 80048610 86260020 */ lh $a2, 0x20($s1)
/* ABF7B4 80048614 0C011AD1 */ jal func_80046B44
/* ABF7B8 80048618 00003825 */ move $a3, $zero
/* ABF7BC 8004861C 10000009 */ b .L80048644
/* ABF7C0 80048620 A7A2009C */ sh $v0, 0x9c($sp)
.L80048624:
/* ABF7C4 80048624 10000007 */ b .L80048644
/* ABF7C8 80048628 A7A3009C */ sh $v1, 0x9c($sp)
.L8004862C:
/* ABF7CC 8004862C 27AC0090 */ addiu $t4, $sp, 0x90
.L80048630:
/* ABF7D0 80048630 8D8E0000 */ lw $t6, ($t4)
/* ABF7D4 80048634 27AB0098 */ addiu $t3, $sp, 0x98
/* ABF7D8 80048638 AD6E0000 */ sw $t6, ($t3)
/* ABF7DC 8004863C 8D8D0004 */ lw $t5, 4($t4)
/* ABF7E0 80048640 AD6D0004 */ sw $t5, 4($t3)
.L80048644:
/* ABF7E4 80048644 8E060004 */ lw $a2, 4($s0)
/* ABF7E8 80048648 8E070008 */ lw $a3, 8($s0)
/* ABF7EC 8004864C AFA00010 */ sw $zero, 0x10($sp)
/* ABF7F0 80048650 02002025 */ move $a0, $s0
/* ABF7F4 80048654 0C011A70 */ jal func_800469C0
/* ABF7F8 80048658 8FA50090 */ lw $a1, 0x90($sp)
/* ABF7FC 8004865C E7A00098 */ swc1 $f0, 0x98($sp)
/* ABF800 80048660 E60000DC */ swc1 $f0, 0xdc($s0)
/* ABF804 80048664 862F0028 */ lh $t7, 0x28($s1)
/* ABF808 80048668 87A3009C */ lh $v1, 0x9c($sp)
/* ABF80C 8004866C 27A60098 */ addiu $a2, $sp, 0x98
/* ABF810 80048670 31F80001 */ andi $t8, $t7, 1
/* ABF814 80048674 17000015 */ bnez $t8, .L800486CC
/* ABF818 80048678 28610E39 */ slti $at, $v1, 0xe39
/* ABF81C 8004867C 14200008 */ bnez $at, .L800486A0
/* ABF820 80048680 24190E38 */ li $t9, 3640
/* ABF824 80048684 03234023 */ subu $t0, $t9, $v1
/* ABF828 80048688 00085400 */ sll $t2, $t0, 0x10
/* ABF82C 8004868C 000A4C03 */ sra $t1, $t2, 0x10
/* ABF830 80048690 00095883 */ sra $t3, $t1, 2
/* ABF834 80048694 006B1821 */ addu $v1, $v1, $t3
/* ABF838 80048698 00031C00 */ sll $v1, $v1, 0x10
/* ABF83C 8004869C 00031C03 */ sra $v1, $v1, 0x10
.L800486A0:
/* ABF840 800486A0 0461000A */ bgez $v1, .L800486CC
/* ABF844 800486A4 A7A3009C */ sh $v1, 0x9c($sp)
/* ABF848 800486A8 240CFC72 */ li $t4, -910
/* ABF84C 800486AC 01836823 */ subu $t5, $t4, $v1
/* ABF850 800486B0 000D7400 */ sll $t6, $t5, 0x10
/* ABF854 800486B4 000E7C03 */ sra $t7, $t6, 0x10
/* ABF858 800486B8 000FC083 */ sra $t8, $t7, 2
/* ABF85C 800486BC 00781821 */ addu $v1, $v1, $t8
/* ABF860 800486C0 00031C00 */ sll $v1, $v1, 0x10
/* ABF864 800486C4 00031C03 */ sra $v1, $v1, 0x10
/* ABF868 800486C8 A7A3009C */ sh $v1, 0x9c($sp)
.L800486CC:
/* ABF86C 800486CC 8FA40040 */ lw $a0, 0x40($sp)
/* ABF870 800486D0 0C010F0A */ jal func_80043C28
/* ABF874 800486D4 8FA50044 */ lw $a1, 0x44($sp)
/* ABF878 800486D8 86190140 */ lh $t9, 0x140($s0)
/* ABF87C 800486DC 24010007 */ li $at, 7
/* ABF880 800486E0 8FA80040 */ lw $t0, 0x40($sp)
/* ABF884 800486E4 57210032 */ bnel $t9, $at, .L800487B0
/* ABF888 800486E8 C62C001C */ lwc1 $f12, 0x1c($s1)
/* ABF88C 800486EC 8D090000 */ lw $t1, ($t0)
/* ABF890 800486F0 27A600AC */ addiu $a2, $sp, 0xac
/* ABF894 800486F4 3C0C0001 */ lui $t4, 1
/* ABF898 800486F8 ACC90000 */ sw $t1, ($a2)
/* ABF89C 800486FC 8D0A0004 */ lw $t2, 4($t0)
/* ABF8A0 80048700 02002025 */ move $a0, $s0
/* ABF8A4 80048704 ACCA0004 */ sw $t2, 4($a2)
/* ABF8A8 80048708 8D090008 */ lw $t1, 8($t0)
/* ABF8AC 8004870C ACC90008 */ sw $t1, 8($a2)
/* ABF8B0 80048710 8E0B008C */ lw $t3, 0x8c($s0)
/* ABF8B4 80048714 018B6021 */ addu $t4, $t4, $t3
/* ABF8B8 80048718 918C0A39 */ lbu $t4, 0xa39($t4)
/* ABF8BC 8004871C 11800006 */ beqz $t4, .L80048738
/* ABF8C0 80048720 00000000 */ nop
/* ABF8C4 80048724 860D001E */ lh $t5, 0x1e($s0)
/* ABF8C8 80048728 8FA50044 */ lw $a1, 0x44($sp)
/* ABF8CC 8004872C 31AE0010 */ andi $t6, $t5, 0x10
/* ABF8D0 80048730 11C0000C */ beqz $t6, .L80048764
/* ABF8D4 80048734 00000000 */ nop
.L80048738:
/* ABF8D8 80048738 0C010F46 */ jal func_80043D18
/* ABF8DC 8004873C 8FA50044 */ lw $a1, 0x44($sp)
/* ABF8E0 80048740 27B800AC */ addiu $t8, $sp, 0xac
/* ABF8E4 80048744 8F080000 */ lw $t0, ($t8)
/* ABF8E8 80048748 8FAF0048 */ lw $t7, 0x48($sp)
/* ABF8EC 8004874C ADE80000 */ sw $t0, ($t7)
/* ABF8F0 80048750 8F190004 */ lw $t9, 4($t8)
/* ABF8F4 80048754 ADF90004 */ sw $t9, 4($t7)
/* ABF8F8 80048758 8F080008 */ lw $t0, 8($t8)
/* ABF8FC 8004875C 10000013 */ b .L800487AC
/* ABF900 80048760 ADE80008 */ sw $t0, 8($t7)
.L80048764:
/* ABF904 80048764 0C010FE5 */ jal func_80043F94
/* ABF908 80048768 02002025 */ move $a0, $s0
/* ABF90C 8004876C 27AA00AC */ addiu $t2, $sp, 0xac
/* ABF910 80048770 8FA50048 */ lw $a1, 0x48($sp)
/* ABF914 80048774 8D4B0000 */ lw $t3, ($t2)
/* ABF918 80048778 27A40098 */ addiu $a0, $sp, 0x98
/* ABF91C 8004877C ACAB0000 */ sw $t3, ($a1)
/* ABF920 80048780 8D490004 */ lw $t1, 4($t2)
/* ABF924 80048784 ACA90004 */ sw $t1, 4($a1)
/* ABF928 80048788 8D4B0008 */ lw $t3, 8($t2)
/* ABF92C 8004878C ACAB0008 */ sw $t3, 8($a1)
/* ABF930 80048790 0C01F124 */ jal func_8007C490
/* ABF934 80048794 8FA60044 */ lw $a2, 0x44($sp)
/* ABF938 80048798 87AC009C */ lh $t4, 0x9c($sp)
/* ABF93C 8004879C A60C0134 */ sh $t4, 0x134($s0)
/* ABF940 800487A0 87AD009E */ lh $t5, 0x9e($sp)
/* ABF944 800487A4 A6000138 */ sh $zero, 0x138($s0)
/* ABF948 800487A8 A60D0136 */ sh $t5, 0x136($s0)
.L800487AC:
/* ABF94C 800487AC C62C001C */ lwc1 $f12, 0x1c($s1)
.L800487B0:
/* ABF950 800487B0 C60E00FC */ lwc1 $f14, 0xfc($s0)
/* ABF954 800487B4 8E0600D4 */ lw $a2, 0xd4($s0)
/* ABF958 800487B8 0C010E27 */ jal func_8004389C
/* ABF95C 800487BC 3C073F80 */ lui $a3, 0x3f80
/* ABF960 800487C0 E60000FC */ swc1 $f0, 0xfc($s0)
/* ABF964 800487C4 00002025 */ move $a0, $zero
/* ABF968 800487C8 8605015A */ lh $a1, 0x15a($s0)
/* ABF96C 800487CC 3C063F00 */ lui $a2, 0x3f00
/* ABF970 800487D0 0C010E47 */ jal func_8004391C
/* ABF974 800487D4 2407000A */ li $a3, 10
/* ABF978 800487D8 A602015A */ sh $v0, 0x15a($s0)
/* ABF97C 800487DC 02002025 */ move $a0, $s0
/* ABF980 800487E0 0C011429 */ jal func_800450A4
/* ABF984 800487E4 8E050018 */ lw $a1, 0x18($s0)
/* ABF988 800487E8 E6000100 */ swc1 $f0, 0x100($s0)
/* ABF98C 800487EC 8FBF0024 */ lw $ra, 0x24($sp)
/* ABF990 800487F0 8FB10020 */ lw $s1, 0x20($sp)
/* ABF994 800487F4 8FB0001C */ lw $s0, 0x1c($sp)
/* ABF998 800487F8 27BD00E0 */ addiu $sp, $sp, 0xe0
/* ABF99C 800487FC 03E00008 */ jr $ra
/* ABF9A0 80048800 24020001 */ li $v0, 1

View file

@ -0,0 +1,545 @@
.late_rodata
glabel D_80139EF0
.float 0.01
glabel D_80139EF4
.float 182.04167
glabel D_80139EF8
.float 0.01
glabel D_80139EFC
.float 0.01
glabel D_80139F00
.float 0.01
glabel D_80139F04
.float 0.01
glabel D_80139F08
.float 0.01
glabel D_80139F0C
.float 0.001
glabel D_80139F10
.float 0.002
.text
glabel func_80048804
/* ABF9A4 80048804 27BDFF58 */ addiu $sp, $sp, -0xa8
/* ABF9A8 80048808 AFB0001C */ sw $s0, 0x1c($sp)
/* ABF9AC 8004880C 00808025 */ move $s0, $a0
/* ABF9B0 80048810 AFBF0024 */ sw $ra, 0x24($sp)
/* ABF9B4 80048814 AFB10020 */ sw $s1, 0x20($sp)
/* ABF9B8 80048818 0C00B721 */ jal Player_GetCameraYOffset
/* ABF9BC 8004881C 8C840090 */ lw $a0, 0x90($a0)
/* ABF9C0 80048820 8602015E */ lh $v0, 0x15e($s0)
/* ABF9C4 80048824 10400009 */ beqz $v0, .L8004884C
/* ABF9C8 80048828 2401000A */ li $at, 10
/* ABF9CC 8004882C 10410007 */ beq $v0, $at, .L8004884C
/* ABF9D0 80048830 24010014 */ li $at, 20
/* ABF9D4 80048834 10410005 */ beq $v0, $at, .L8004884C
/* ABF9D8 80048838 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016
/* ABF9DC 8004883C 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
/* ABF9E0 80048840 85C30314 */ lh $v1, 0x314($t6)
/* ABF9E4 80048844 10600048 */ beqz $v1, .L80048968
/* ABF9E8 80048848 00000000 */ nop
.L8004884C:
/* ABF9EC 8004884C 860F0142 */ lh $t7, 0x142($s0)
/* ABF9F0 80048850 3C198012 */ lui $t9, %hi(D_8011D068)
/* ABF9F4 80048854 86080144 */ lh $t0, 0x144($s0)
/* ABF9F8 80048858 000FC0C0 */ sll $t8, $t7, 3
/* ABF9FC 8004885C 0338C821 */ addu $t9, $t9, $t8
/* ABFA00 80048860 8F39D068 */ lw $t9, %lo(D_8011D068)($t9)
/* ABFA04 80048864 000848C0 */ sll $t1, $t0, 3
/* ABFA08 80048868 3C018014 */ lui $at, %hi(D_80139EF0)
/* ABFA0C 8004886C 03295021 */ addu $t2, $t9, $t1
/* ABFA10 80048870 8D420004 */ lw $v0, 4($t2)
/* ABFA14 80048874 C4249EF0 */ lwc1 $f4, %lo(D_80139EF0)($at)
/* ABFA18 80048878 3C018014 */ lui $at, %hi(D_80139EF4)
/* ABFA1C 8004887C 844B0000 */ lh $t3, ($v0)
/* ABFA20 80048880 46040082 */ mul.s $f2, $f0, $f4
/* ABFA24 80048884 24420020 */ addiu $v0, $v0, 0x20
/* ABFA28 80048888 448B3000 */ mtc1 $t3, $f6
/* ABFA2C 8004888C 00000000 */ nop
/* ABFA30 80048890 46803220 */ cvt.s.w $f8, $f6
/* ABFA34 80048894 46024282 */ mul.s $f10, $f8, $f2
/* ABFA38 80048898 E60A0000 */ swc1 $f10, ($s0)
/* ABFA3C 8004889C 844CFFE4 */ lh $t4, -0x1c($v0)
/* ABFA40 800488A0 448C9000 */ mtc1 $t4, $f18
/* ABFA44 800488A4 3C0C8016 */ lui $t4, %hi(gGameInfo)
/* ABFA48 800488A8 46809120 */ cvt.s.w $f4, $f18
/* ABFA4C 800488AC 46022182 */ mul.s $f6, $f4, $f2
/* ABFA50 800488B0 E6060004 */ swc1 $f6, 4($s0)
/* ABFA54 800488B4 844DFFE8 */ lh $t5, -0x18($v0)
/* ABFA58 800488B8 448D4000 */ mtc1 $t5, $f8
/* ABFA5C 800488BC 00000000 */ nop
/* ABFA60 800488C0 468042A0 */ cvt.s.w $f10, $f8
/* ABFA64 800488C4 46025482 */ mul.s $f18, $f10, $f2
/* ABFA68 800488C8 E6120008 */ swc1 $f18, 8($s0)
/* ABFA6C 800488CC 844EFFEC */ lh $t6, -0x14($v0)
/* ABFA70 800488D0 C4289EF4 */ lwc1 $f8, %lo(D_80139EF4)($at)
/* ABFA74 800488D4 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* ABFA78 800488D8 448E2000 */ mtc1 $t6, $f4
/* ABFA7C 800488DC 44819000 */ mtc1 $at, $f18
/* ABFA80 800488E0 3C018014 */ lui $at, %hi(D_80139EF8)
/* ABFA84 800488E4 468021A0 */ cvt.s.w $f6, $f4
/* ABFA88 800488E8 46083282 */ mul.s $f10, $f6, $f8
/* ABFA8C 800488EC 46125100 */ add.s $f4, $f10, $f18
/* ABFA90 800488F0 4600218D */ trunc.w.s $f6, $f4
/* ABFA94 800488F4 44183000 */ mfc1 $t8, $f6
/* ABFA98 800488F8 00000000 */ nop
/* ABFA9C 800488FC A618001C */ sh $t8, 0x1c($s0)
/* ABFAA0 80048900 8448FFF0 */ lh $t0, -0x10($v0)
/* ABFAA4 80048904 44884000 */ mtc1 $t0, $f8
/* ABFAA8 80048908 00000000 */ nop
/* ABFAAC 8004890C 468042A0 */ cvt.s.w $f10, $f8
/* ABFAB0 80048910 E60A000C */ swc1 $f10, 0xc($s0)
/* ABFAB4 80048914 8459FFF4 */ lh $t9, -0xc($v0)
/* ABFAB8 80048918 44999000 */ mtc1 $t9, $f18
/* ABFABC 8004891C 00000000 */ nop
/* ABFAC0 80048920 46809120 */ cvt.s.w $f4, $f18
/* ABFAC4 80048924 E6040010 */ swc1 $f4, 0x10($s0)
/* ABFAC8 80048928 8449FFF8 */ lh $t1, -8($v0)
/* ABFACC 8004892C 44893000 */ mtc1 $t1, $f6
/* ABFAD0 80048930 00000000 */ nop
/* ABFAD4 80048934 46803220 */ cvt.s.w $f8, $f6
/* ABFAD8 80048938 E6080014 */ swc1 $f8, 0x14($s0)
/* ABFADC 8004893C 844AFFFC */ lh $t2, -4($v0)
/* ABFAE0 80048940 C4249EF8 */ lwc1 $f4, %lo(D_80139EF8)($at)
/* ABFAE4 80048944 448A5000 */ mtc1 $t2, $f10
/* ABFAE8 80048948 00000000 */ nop
/* ABFAEC 8004894C 468054A0 */ cvt.s.w $f18, $f10
/* ABFAF0 80048950 46049182 */ mul.s $f6, $f18, $f4
/* ABFAF4 80048954 E6060018 */ swc1 $f6, 0x18($s0)
/* ABFAF8 80048958 844B0000 */ lh $t3, ($v0)
/* ABFAFC 8004895C A60B001E */ sh $t3, 0x1e($s0)
/* ABFB00 80048960 8D8CFA90 */ lw $t4, %lo(gGameInfo)($t4)
/* ABFB04 80048964 85830314 */ lh $v1, 0x314($t4)
.L80048968:
/* ABFB08 80048968 50600004 */ beql $v1, $zero, .L8004897C
/* ABFB0C 8004896C 26050050 */ addiu $a1, $s0, 0x50
/* ABFB10 80048970 0C011495 */ jal func_80045254
/* ABFB14 80048974 02002025 */ move $a0, $s0
/* ABFB18 80048978 26050050 */ addiu $a1, $s0, 0x50
.L8004897C:
/* ABFB1C 8004897C 2606005C */ addiu $a2, $s0, 0x5c
/* ABFB20 80048980 AFA60048 */ sw $a2, 0x48($sp)
/* ABFB24 80048984 AFA50044 */ sw $a1, 0x44($sp)
/* ABFB28 80048988 0C01F124 */ jal func_8007C490
/* ABFB2C 8004898C 27A4007C */ addiu $a0, $sp, 0x7c
/* ABFB30 80048990 26060074 */ addiu $a2, $s0, 0x74
/* ABFB34 80048994 AFA60040 */ sw $a2, 0x40($sp)
/* ABFB38 80048998 27A40074 */ addiu $a0, $sp, 0x74
/* ABFB3C 8004899C 0C01F124 */ jal func_8007C490
/* ABFB40 800489A0 8FA50044 */ lw $a1, 0x44($sp)
/* ABFB44 800489A4 24040001 */ li $a0, 1
/* ABFB48 800489A8 3C018012 */ lui $at, %hi(D_8011D3E8) # $at, 0x8012
/* ABFB4C 800489AC AC24D3E8 */ sw $a0, %lo(D_8011D3E8)($at)
/* ABFB50 800489B0 860D001E */ lh $t5, 0x1e($s0)
/* ABFB54 800489B4 3C018012 */ lui $at, %hi(D_8011D3A0)
/* ABFB58 800489B8 AC2DD3A0 */ sw $t5, %lo(D_8011D3A0)($at)
/* ABFB5C 800489BC 8603015E */ lh $v1, 0x15e($s0)
/* ABFB60 800489C0 1060000A */ beqz $v1, .L800489EC
/* ABFB64 800489C4 2401000A */ li $at, 10
/* ABFB68 800489C8 10610008 */ beq $v1, $at, .L800489EC
/* ABFB6C 800489CC 24010014 */ li $at, 20
/* ABFB70 800489D0 10610006 */ beq $v1, $at, .L800489EC
/* ABFB74 800489D4 24010019 */ li $at, 25
/* ABFB78 800489D8 10610004 */ beq $v1, $at, .L800489EC
/* ABFB7C 800489DC 260E0094 */ addiu $t6, $s0, 0x94
/* ABFB80 800489E0 AFAE003C */ sw $t6, 0x3c($sp)
/* ABFB84 800489E4 1000002D */ b .L80048A9C
/* ABFB88 800489E8 26110020 */ addiu $s1, $s0, 0x20
.L800489EC:
/* ABFB8C 800489EC 44804000 */ mtc1 $zero, $f8
/* ABFB90 800489F0 26110020 */ addiu $s1, $s0, 0x20
/* ABFB94 800489F4 AE20000C */ sw $zero, 0xc($s1)
/* ABFB98 800489F8 A6200024 */ sh $zero, 0x24($s1)
/* ABFB9C 800489FC E628001C */ swc1 $f8, 0x1c($s1)
/* ABFBA0 80048A00 C60A0104 */ lwc1 $f10, 0x104($s0)
/* ABFBA4 80048A04 A6200018 */ sh $zero, 0x18($s1)
/* ABFBA8 80048A08 86220018 */ lh $v0, 0x18($s1)
/* ABFBAC 80048A0C E62A0020 */ swc1 $f10, 0x20($s1)
/* ABFBB0 80048A10 3C188016 */ lui $t8, %hi(gGameInfo) # $t8, 0x8016
/* ABFBB4 80048A14 A6220014 */ sh $v0, 0x14($s1)
/* ABFBB8 80048A18 A6220016 */ sh $v0, 0x16($s1)
/* ABFBBC 80048A1C C612000C */ lwc1 $f18, 0xc($s0)
/* ABFBC0 80048A20 260F0094 */ addiu $t7, $s0, 0x94
/* ABFBC4 80048A24 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* ABFBC8 80048A28 E6320010 */ swc1 $f18, 0x10($s1)
/* ABFBCC 80048A2C 8F18FA90 */ lw $t8, %lo(gGameInfo)($t8)
/* ABFBD0 80048A30 AFAF003C */ sw $t7, 0x3c($sp)
/* ABFBD4 80048A34 44812000 */ mtc1 $at, $f4
/* ABFBD8 80048A38 870801C2 */ lh $t0, 0x1c2($t8)
/* ABFBDC 80048A3C 85E9000E */ lh $t1, 0xe($t7)
/* ABFBE0 80048A40 87AD0082 */ lh $t5, 0x82($sp)
/* ABFBE4 80048A44 44883000 */ mtc1 $t0, $f6
/* ABFBE8 80048A48 252C8001 */ addiu $t4, $t1, -0x7fff
/* ABFBEC 80048A4C 018D7023 */ subu $t6, $t4, $t5
/* ABFBF0 80048A50 46803220 */ cvt.s.w $f8, $f6
/* ABFBF4 80048A54 000E7C00 */ sll $t7, $t6, 0x10
/* ABFBF8 80048A58 000FC403 */ sra $t8, $t7, 0x10
/* ABFBFC 80048A5C 44989000 */ mtc1 $t8, $f18
/* ABFC00 80048A60 2409000A */ li $t1, 10
/* ABFC04 80048A64 A629002A */ sh $t1, 0x2a($s1)
/* ABFC08 80048A68 46082283 */ div.s $f10, $f4, $f8
/* ABFC0C 80048A6C 3C0A8016 */ lui $t2, %hi(gGameInfo) # $t2, 0x8016
/* ABFC10 80048A70 468091A0 */ cvt.s.w $f6, $f18
/* ABFC14 80048A74 46065102 */ mul.s $f4, $f10, $f6
/* ABFC18 80048A78 4600220D */ trunc.w.s $f8, $f4
/* ABFC1C 80048A7C 44194000 */ mfc1 $t9, $f8
/* ABFC20 80048A80 00000000 */ nop
/* ABFC24 80048A84 A6390026 */ sh $t9, 0x26($s1)
/* ABFC28 80048A88 8D4AFA90 */ lw $t2, %lo(gGameInfo)($t2)
/* ABFC2C 80048A8C 854B01C2 */ lh $t3, 0x1c2($t2)
/* ABFC30 80048A90 A62B0028 */ sh $t3, 0x28($s1)
/* ABFC34 80048A94 A604015E */ sh $a0, 0x15e($s0)
/* ABFC38 80048A98 A620001A */ sh $zero, 0x1a($s1)
.L80048A9C:
/* ABFC3C 80048A9C 8622002A */ lh $v0, 0x2a($s1)
/* ABFC40 80048AA0 3C038016 */ lui $v1, %hi(gGameInfo) # $v1, 0x8016
/* ABFC44 80048AA4 10400002 */ beqz $v0, .L80048AB0
/* ABFC48 80048AA8 244CFFFF */ addiu $t4, $v0, -1
/* ABFC4C 80048AAC A62C002A */ sh $t4, 0x2a($s1)
.L80048AB0:
/* ABFC50 80048AB0 8C63FA90 */ lw $v1, %lo(gGameInfo)($v1)
/* ABFC54 80048AB4 3C018014 */ lui $at, %hi(D_80139EFC)
/* ABFC58 80048AB8 C4209EFC */ lwc1 $f0, %lo(D_80139EFC)($at)
/* ABFC5C 80048ABC 846D01C6 */ lh $t5, 0x1c6($v1)
/* ABFC60 80048AC0 846E01C8 */ lh $t6, 0x1c8($v1)
/* ABFC64 80048AC4 C60200E0 */ lwc1 $f2, 0xe0($s0)
/* ABFC68 80048AC8 448D9000 */ mtc1 $t5, $f18
/* ABFC6C 80048ACC 448E2000 */ mtc1 $t6, $f4
/* ABFC70 80048AD0 468092A0 */ cvt.s.w $f10, $f18
/* ABFC74 80048AD4 46802220 */ cvt.s.w $f8, $f4
/* ABFC78 80048AD8 46005182 */ mul.s $f6, $f10, $f0
/* ABFC7C 80048ADC 00000000 */ nop
/* ABFC80 80048AE0 46023402 */ mul.s $f16, $f6, $f2
/* ABFC84 80048AE4 00000000 */ nop
/* ABFC88 80048AE8 46004482 */ mul.s $f18, $f8, $f0
/* ABFC8C 80048AEC 00000000 */ nop
/* ABFC90 80048AF0 46029282 */ mul.s $f10, $f18, $f2
/* ABFC94 80048AF4 E7AA0094 */ swc1 $f10, 0x94($sp)
/* ABFC98 80048AF8 8622001A */ lh $v0, 0x1a($s1)
/* ABFC9C 80048AFC 10400022 */ beqz $v0, .L80048B88
/* ABFCA0 80048B00 00000000 */ nop
/* ABFCA4 80048B04 00027840 */ sll $t7, $v0, 1
/* ABFCA8 80048B08 448F2000 */ mtc1 $t7, $f4
/* ABFCAC 80048B0C C606000C */ lwc1 $f6, 0xc($s0)
/* ABFCB0 80048B10 C60E00C8 */ lwc1 $f14, 0xc8($s0)
/* ABFCB4 80048B14 46802220 */ cvt.s.w $f8, $f4
/* ABFCB8 80048B18 44068000 */ mfc1 $a2, $f16
/* ABFCBC 80048B1C 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* ABFCC0 80048B20 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* ABFCC4 80048B24 E7B00098 */ swc1 $f16, 0x98($sp)
/* ABFCC8 80048B28 0C010E27 */ jal func_8004389C
/* ABFCCC 80048B2C 46083300 */ add.s $f12, $f6, $f8
/* ABFCD0 80048B30 E60000C8 */ swc1 $f0, 0xc8($s0)
/* ABFCD4 80048B34 3C188016 */ lui $t8, %hi(gGameInfo) # $t8, 0x8016
/* ABFCD8 80048B38 8F18FA90 */ lw $t8, %lo(gGameInfo)($t8)
/* ABFCDC 80048B3C 8639001A */ lh $t9, 0x1a($s1)
/* ABFCE0 80048B40 3C073DCC */ li $a3, 0x3DCC0000 # 0.000000
/* ABFCE4 80048B44 870801A2 */ lh $t0, 0x1a2($t8)
/* ABFCE8 80048B48 00194840 */ sll $t1, $t9, 1
/* ABFCEC 80048B4C 44892000 */ mtc1 $t1, $f4
/* ABFCF0 80048B50 44889000 */ mtc1 $t0, $f18
/* ABFCF4 80048B54 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* ABFCF8 80048B58 468021A0 */ cvt.s.w $f6, $f4
/* ABFCFC 80048B5C 8FA60094 */ lw $a2, 0x94($sp)
/* ABFD00 80048B60 C60E00C4 */ lwc1 $f14, 0xc4($s0)
/* ABFD04 80048B64 468092A0 */ cvt.s.w $f10, $f18
/* ABFD08 80048B68 0C010E27 */ jal func_8004389C
/* ABFD0C 80048B6C 46065300 */ add.s $f12, $f10, $f6
/* ABFD10 80048B70 C7B00098 */ lwc1 $f16, 0x98($sp)
/* ABFD14 80048B74 E60000C4 */ swc1 $f0, 0xc4($s0)
/* ABFD18 80048B78 862A001A */ lh $t2, 0x1a($s1)
/* ABFD1C 80048B7C 254BFFFF */ addiu $t3, $t2, -1
/* ABFD20 80048B80 10000015 */ b .L80048BD8
/* ABFD24 80048B84 A62B001A */ sh $t3, 0x1a($s1)
.L80048B88:
/* ABFD28 80048B88 C60C000C */ lwc1 $f12, 0xc($s0)
/* ABFD2C 80048B8C C60E00C8 */ lwc1 $f14, 0xc8($s0)
/* ABFD30 80048B90 44068000 */ mfc1 $a2, $f16
/* ABFD34 80048B94 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* ABFD38 80048B98 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* ABFD3C 80048B9C 0C010E27 */ jal func_8004389C
/* ABFD40 80048BA0 E7B00098 */ swc1 $f16, 0x98($sp)
/* ABFD44 80048BA4 E60000C8 */ swc1 $f0, 0xc8($s0)
/* ABFD48 80048BA8 3C0C8016 */ lui $t4, %hi(gGameInfo) # $t4, 0x8016
/* ABFD4C 80048BAC 8D8CFA90 */ lw $t4, %lo(gGameInfo)($t4)
/* ABFD50 80048BB0 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* ABFD54 80048BB4 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* ABFD58 80048BB8 858D01A2 */ lh $t5, 0x1a2($t4)
/* ABFD5C 80048BBC 8FA60094 */ lw $a2, 0x94($sp)
/* ABFD60 80048BC0 C60E00C4 */ lwc1 $f14, 0xc4($s0)
/* ABFD64 80048BC4 448D4000 */ mtc1 $t5, $f8
/* ABFD68 80048BC8 0C010E27 */ jal func_8004389C
/* ABFD6C 80048BCC 46804320 */ cvt.s.w $f12, $f8
/* ABFD70 80048BD0 C7B00098 */ lwc1 $f16, 0x98($sp)
/* ABFD74 80048BD4 E60000C4 */ swc1 $f0, 0xc4($s0)
.L80048BD8:
/* ABFD78 80048BD8 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016
/* ABFD7C 80048BDC 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
/* ABFD80 80048BE0 3C018014 */ lui $at, %hi(D_80139F00)
/* ABFD84 80048BE4 C42A9F00 */ lwc1 $f10, %lo(D_80139F00)($at)
/* ABFD88 80048BE8 85CF0198 */ lh $t7, 0x198($t6)
/* ABFD8C 80048BEC 44068000 */ mfc1 $a2, $f16
/* ABFD90 80048BF0 3C073DCC */ li $a3, 0x3DCC0000 # 0.000000
/* ABFD94 80048BF4 448F9000 */ mtc1 $t7, $f18
/* ABFD98 80048BF8 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* ABFD9C 80048BFC C60E00CC */ lwc1 $f14, 0xcc($s0)
/* ABFDA0 80048C00 46809120 */ cvt.s.w $f4, $f18
/* ABFDA4 80048C04 460A2302 */ mul.s $f12, $f4, $f10
/* ABFDA8 80048C08 0C010E27 */ jal func_8004389C
/* ABFDAC 80048C0C 00000000 */ nop
/* ABFDB0 80048C10 E60000CC */ swc1 $f0, 0xcc($s0)
/* ABFDB4 80048C14 3C188016 */ lui $t8, %hi(gGameInfo) # $t8, 0x8016
/* ABFDB8 80048C18 8F18FA90 */ lw $t8, %lo(gGameInfo)($t8)
/* ABFDBC 80048C1C 3C018014 */ lui $at, %hi(D_80139F04)
/* ABFDC0 80048C20 C4329F04 */ lwc1 $f18, %lo(D_80139F04)($at)
/* ABFDC4 80048C24 8708019A */ lh $t0, 0x19a($t8)
/* ABFDC8 80048C28 3C073DCC */ li $a3, 0x3DCC0000 # 0.000000
/* ABFDCC 80048C2C 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* ABFDD0 80048C30 44883000 */ mtc1 $t0, $f6
/* ABFDD4 80048C34 8FA60094 */ lw $a2, 0x94($sp)
/* ABFDD8 80048C38 C60E00D0 */ lwc1 $f14, 0xd0($s0)
/* ABFDDC 80048C3C 46803220 */ cvt.s.w $f8, $f6
/* ABFDE0 80048C40 46124302 */ mul.s $f12, $f8, $f18
/* ABFDE4 80048C44 0C010E27 */ jal func_8004389C
/* ABFDE8 80048C48 00000000 */ nop
/* ABFDEC 80048C4C E60000D0 */ swc1 $f0, 0xd0($s0)
/* ABFDF0 80048C50 3C198016 */ lui $t9, %hi(gGameInfo) # $t9, 0x8016
/* ABFDF4 80048C54 8F39FA90 */ lw $t9, %lo(gGameInfo)($t9)
/* ABFDF8 80048C58 3C018014 */ lui $at, %hi(D_80139F08)
/* ABFDFC 80048C5C C4269F08 */ lwc1 $f6, %lo(D_80139F08)($at)
/* ABFE00 80048C60 8729019C */ lh $t1, 0x19c($t9)
/* ABFE04 80048C64 3C073DCC */ li $a3, 0x3DCC0000 # 0.000000
/* ABFE08 80048C68 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* ABFE0C 80048C6C 44892000 */ mtc1 $t1, $f4
/* ABFE10 80048C70 8FA60094 */ lw $a2, 0x94($sp)
/* ABFE14 80048C74 C60E00D4 */ lwc1 $f14, 0xd4($s0)
/* ABFE18 80048C78 468022A0 */ cvt.s.w $f10, $f4
/* ABFE1C 80048C7C 46065302 */ mul.s $f12, $f10, $f6
/* ABFE20 80048C80 0C010E27 */ jal func_8004389C
/* ABFE24 80048C84 00000000 */ nop
/* ABFE28 80048C88 E60000D4 */ swc1 $f0, 0xd4($s0)
/* ABFE2C 80048C8C 87A50082 */ lh $a1, 0x82($sp)
/* ABFE30 80048C90 02002025 */ move $a0, $s0
/* ABFE34 80048C94 24060001 */ li $a2, 1
/* ABFE38 80048C98 24A58001 */ addiu $a1, $a1, -0x7fff
/* ABFE3C 80048C9C 00052C00 */ sll $a1, $a1, 0x10
/* ABFE40 80048CA0 0C0112B7 */ jal func_80044ADC
/* ABFE44 80048CA4 00052C03 */ sra $a1, $a1, 0x10
/* ABFE48 80048CA8 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* ABFE4C 80048CAC 44816000 */ mtc1 $at, $f12
/* ABFE50 80048CB0 C6080010 */ lwc1 $f8, 0x10($s0)
/* ABFE54 80048CB4 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* ABFE58 80048CB8 44812000 */ mtc1 $at, $f4
/* ABFE5C 80048CBC 46086483 */ div.s $f18, $f12, $f8
/* ABFE60 80048CC0 C60A00E0 */ lwc1 $f10, 0xe0($s0)
/* ABFE64 80048CC4 00022400 */ sll $a0, $v0, 0x10
/* ABFE68 80048CC8 00042403 */ sra $a0, $a0, 0x10
/* ABFE6C 80048CCC 460A6181 */ sub.s $f6, $f12, $f10
/* ABFE70 80048CD0 86250024 */ lh $a1, 0x24($s1)
/* ABFE74 80048CD4 2407000F */ li $a3, 15
/* ABFE78 80048CD8 46049002 */ mul.s $f0, $f18, $f4
/* ABFE7C 80048CDC 00000000 */ nop
/* ABFE80 80048CE0 46060082 */ mul.s $f2, $f0, $f6
/* ABFE84 80048CE4 46020200 */ add.s $f8, $f0, $f2
/* ABFE88 80048CE8 44064000 */ mfc1 $a2, $f8
/* ABFE8C 80048CEC 0C010E47 */ jal func_8004391C
/* ABFE90 80048CF0 00000000 */ nop
/* ABFE94 80048CF4 A6220024 */ sh $v0, 0x24($s1)
/* ABFE98 80048CF8 8E060000 */ lw $a2, ($s0)
/* ABFE9C 80048CFC 240A0001 */ li $t2, 1
/* ABFEA0 80048D00 AFAA0010 */ sw $t2, 0x10($sp)
/* ABFEA4 80048D04 02002025 */ move $a0, $s0
/* ABFEA8 80048D08 27A50074 */ addiu $a1, $sp, 0x74
/* ABFEAC 80048D0C 0C0119BE */ jal func_800466F8
/* ABFEB0 80048D10 26270020 */ addiu $a3, $s1, 0x20
/* ABFEB4 80048D14 C6120008 */ lwc1 $f18, 8($s0)
/* ABFEB8 80048D18 C6040004 */ lwc1 $f4, 4($s0)
/* ABFEBC 80048D1C 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* ABFEC0 80048D20 44813000 */ mtc1 $at, $f6
/* ABFEC4 80048D24 46049280 */ add.s $f10, $f18, $f4
/* ABFEC8 80048D28 27A40084 */ addiu $a0, $sp, 0x84
/* ABFECC 80048D2C 8FA50044 */ lw $a1, 0x44($sp)
/* ABFED0 80048D30 8FA60040 */ lw $a2, 0x40($sp)
/* ABFED4 80048D34 46065202 */ mul.s $f8, $f10, $f6
/* ABFED8 80048D38 0C01F124 */ jal func_8007C490
/* ABFEDC 80048D3C E7A80090 */ swc1 $f8, 0x90($sp)
/* ABFEE0 80048D40 862B002A */ lh $t3, 0x2a($s1)
/* ABFEE4 80048D44 8E060004 */ lw $a2, 4($s0)
/* ABFEE8 80048D48 8E070008 */ lw $a3, 8($s0)
/* ABFEEC 80048D4C 02002025 */ move $a0, $s0
/* ABFEF0 80048D50 8FA50084 */ lw $a1, 0x84($sp)
/* ABFEF4 80048D54 0C011A70 */ jal func_800469C0
/* ABFEF8 80048D58 AFAB0010 */ sw $t3, 0x10($sp)
/* ABFEFC 80048D5C E7A00084 */ swc1 $f0, 0x84($sp)
/* ABFF00 80048D60 E60000DC */ swc1 $f0, 0xdc($s0)
/* ABFF04 80048D64 3C018014 */ lui $at, %hi(D_80139F0C)
/* ABFF08 80048D68 C4329F0C */ lwc1 $f18, %lo(D_80139F0C)($at)
/* ABFF0C 80048D6C C60400D8 */ lwc1 $f4, 0xd8($s0)
/* ABFF10 80048D70 4604903C */ c.lt.s $f18, $f4
/* ABFF14 80048D74 00000000 */ nop
/* ABFF18 80048D78 4502000A */ bc1fl .L80048DA4
/* ABFF1C 80048D7C 3C013F80 */ lui $at, 0x3f80
/* ABFF20 80048D80 C7A00084 */ lwc1 $f0, 0x84($sp)
/* ABFF24 80048D84 C7AA0090 */ lwc1 $f10, 0x90($sp)
/* ABFF28 80048D88 3C018014 */ lui $at, %hi(D_80139F10)
/* ABFF2C 80048D8C C4289F10 */ lwc1 $f8, %lo(D_80139F10)($at)
/* ABFF30 80048D90 46005181 */ sub.s $f6, $f10, $f0
/* ABFF34 80048D94 46083482 */ mul.s $f18, $f6, $f8
/* ABFF38 80048D98 46120000 */ add.s $f0, $f0, $f18
/* ABFF3C 80048D9C E7A00084 */ swc1 $f0, 0x84($sp)
/* ABFF40 80048DA0 3C013F80 */ li $at, 0x3F800000 # 0.000000
.L80048DA4:
/* ABFF44 80048DA4 44812000 */ mtc1 $at, $f4
/* ABFF48 80048DA8 C60A00C4 */ lwc1 $f10, 0xc4($s0)
/* ABFF4C 80048DAC 860C001C */ lh $t4, 0x1c($s0)
/* ABFF50 80048DB0 862D0024 */ lh $t5, 0x24($s1)
/* ABFF54 80048DB4 460A2183 */ div.s $f6, $f4, $f10
/* ABFF58 80048DB8 87A50078 */ lh $a1, 0x78($sp)
/* ABFF5C 80048DBC 018D2023 */ subu $a0, $t4, $t5
/* ABFF60 80048DC0 00042400 */ sll $a0, $a0, 0x10
/* ABFF64 80048DC4 00042403 */ sra $a0, $a0, 0x10
/* ABFF68 80048DC8 2407000A */ li $a3, 10
/* ABFF6C 80048DCC 44063000 */ mfc1 $a2, $f6
/* ABFF70 80048DD0 0C010E47 */ jal func_8004391C
/* ABFF74 80048DD4 00000000 */ nop
/* ABFF78 80048DD8 3C038016 */ lui $v1, %hi(gGameInfo) # $v1, 0x8016
/* ABFF7C 80048DDC 8C63FA90 */ lw $v1, %lo(gGameInfo)($v1)
/* ABFF80 80048DE0 A7A20088 */ sh $v0, 0x88($sp)
/* ABFF84 80048DE4 27A60084 */ addiu $a2, $sp, 0x84
/* ABFF88 80048DE8 8464019E */ lh $a0, 0x19e($v1)
/* ABFF8C 80048DEC 0082082A */ slt $at, $a0, $v0
/* ABFF90 80048DF0 50200003 */ beql $at, $zero, .L80048E00
/* ABFF94 80048DF4 846201D8 */ lh $v0, 0x1d8($v1)
/* ABFF98 80048DF8 A7A40088 */ sh $a0, 0x88($sp)
/* ABFF9C 80048DFC 846201D8 */ lh $v0, 0x1d8($v1)
.L80048E00:
/* ABFFA0 80048E00 87AE0088 */ lh $t6, 0x88($sp)
/* ABFFA4 80048E04 01C2082A */ slt $at, $t6, $v0
/* ABFFA8 80048E08 50200003 */ beql $at, $zero, .L80048E18
/* ABFFAC 80048E0C 8FAF003C */ lw $t7, 0x3c($sp)
/* ABFFB0 80048E10 A7A20088 */ sh $v0, 0x88($sp)
/* ABFFB4 80048E14 8FAF003C */ lw $t7, 0x3c($sp)
.L80048E18:
/* ABFFB8 80048E18 87A8007A */ lh $t0, 0x7a($sp)
/* ABFFBC 80048E1C 85F8000E */ lh $t8, 0xe($t7)
/* ABFFC0 80048E20 250A8001 */ addiu $t2, $t0, -0x7fff
/* ABFFC4 80048E24 030A2023 */ subu $a0, $t8, $t2
/* ABFFC8 80048E28 00042400 */ sll $a0, $a0, 0x10
/* ABFFCC 80048E2C 00042403 */ sra $a0, $a0, 0x10
/* ABFFD0 80048E30 04800003 */ bltz $a0, .L80048E40
/* ABFFD4 80048E34 00041823 */ negu $v1, $a0
/* ABFFD8 80048E38 10000001 */ b .L80048E40
/* ABFFDC 80048E3C 00801825 */ move $v1, $a0
.L80048E40:
/* ABFFE0 80048E40 28612AF9 */ slti $at, $v1, 0x2af9
/* ABFFE4 80048E44 14200006 */ bnez $at, .L80048E60
/* ABFFE8 80048E48 87AE007A */ lh $t6, 0x7a($sp)
/* ABFFEC 80048E4C 58800004 */ blezl $a0, .L80048E60
/* ABFFF0 80048E50 2404D508 */ li $a0, -11000
/* ABFFF4 80048E54 10000002 */ b .L80048E60
/* ABFFF8 80048E58 24042AF8 */ li $a0, 11000
/* ABFFFC 80048E5C 2404D508 */ li $a0, -11000
.L80048E60:
/* AC0000 80048E60 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* AC0004 80048E64 44816000 */ mtc1 $at, $f12
/* AC0008 80048E68 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC000C 80048E6C 44812000 */ mtc1 $at, $f4
/* AC0010 80048E70 C60200E0 */ lwc1 $f2, 0xe0($s0)
/* AC0014 80048E74 44844000 */ mtc1 $a0, $f8
/* AC0018 80048E78 460C2281 */ sub.s $f10, $f4, $f12
/* AC001C 80048E7C 3C014316 */ li $at, 0x43160000 # 0.000000
/* AC0020 80048E80 87AB007A */ lh $t3, 0x7a($sp)
/* AC0024 80048E84 468044A0 */ cvt.s.w $f18, $f8
/* AC0028 80048E88 460A1182 */ mul.s $f6, $f2, $f10
/* AC002C 80048E8C C60A00C8 */ lwc1 $f10, 0xc8($s0)
/* AC0030 80048E90 460C3200 */ add.s $f8, $f6, $f12
/* AC0034 80048E94 44813000 */ mtc1 $at, $f6
/* AC0038 80048E98 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC003C 80048E9C 46089102 */ mul.s $f4, $f18, $f8
/* AC0040 80048EA0 44819000 */ mtc1 $at, $f18
/* AC0044 80048EA4 00000000 */ nop
/* AC0048 80048EA8 46029201 */ sub.s $f8, $f18, $f2
/* AC004C 80048EAC 460A2403 */ div.s $f16, $f4, $f10
/* AC0050 80048EB0 46083102 */ mul.s $f4, $f6, $f8
/* AC0054 80048EB4 46008005 */ abs.s $f0, $f16
/* AC0058 80048EB8 4600203C */ c.lt.s $f4, $f0
/* AC005C 80048EBC 00000000 */ nop
/* AC0060 80048EC0 4502000A */ bc1fl .L80048EEC
/* AC0064 80048EC4 A7AE008A */ sh $t6, 0x8a($sp)
/* AC0068 80048EC8 448B5000 */ mtc1 $t3, $f10
/* AC006C 80048ECC 00000000 */ nop
/* AC0070 80048ED0 468054A0 */ cvt.s.w $f18, $f10
/* AC0074 80048ED4 46109180 */ add.s $f6, $f18, $f16
/* AC0078 80048ED8 4600320D */ trunc.w.s $f8, $f6
/* AC007C 80048EDC 440D4000 */ mfc1 $t5, $f8
/* AC0080 80048EE0 10000002 */ b .L80048EEC
/* AC0084 80048EE4 A7AD008A */ sh $t5, 0x8a($sp)
/* AC0088 80048EE8 A7AE008A */ sh $t6, 0x8a($sp)
.L80048EEC:
/* AC008C 80048EEC 862F0028 */ lh $t7, 0x28($s1)
/* AC0090 80048EF0 87A8008A */ lh $t0, 0x8a($sp)
/* AC0094 80048EF4 59E00008 */ blezl $t7, .L80048F18
/* AC0098 80048EF8 8FA40040 */ lw $a0, 0x40($sp)
/* AC009C 80048EFC 86390026 */ lh $t9, 0x26($s1)
/* AC00A0 80048F00 01194821 */ addu $t1, $t0, $t9
/* AC00A4 80048F04 A7A9008A */ sh $t1, 0x8a($sp)
/* AC00A8 80048F08 86380028 */ lh $t8, 0x28($s1)
/* AC00AC 80048F0C 270AFFFF */ addiu $t2, $t8, -1
/* AC00B0 80048F10 A62A0028 */ sh $t2, 0x28($s1)
/* AC00B4 80048F14 8FA40040 */ lw $a0, 0x40($sp)
.L80048F18:
/* AC00B8 80048F18 0C010F0A */ jal func_80043C28
/* AC00BC 80048F1C 8FA50044 */ lw $a1, 0x44($sp)
/* AC00C0 80048F20 860B0140 */ lh $t3, 0x140($s0)
/* AC00C4 80048F24 24010007 */ li $at, 7
/* AC00C8 80048F28 02002025 */ move $a0, $s0
/* AC00CC 80048F2C 1561000A */ bne $t3, $at, .L80048F58
/* AC00D0 80048F30 8FAE0040 */ lw $t6, 0x40($sp)
/* AC00D4 80048F34 8E060004 */ lw $a2, 4($s0)
/* AC00D8 80048F38 8E07000C */ lw $a3, 0xc($s0)
/* AC00DC 80048F3C 27AC008C */ addiu $t4, $sp, 0x8c
/* AC00E0 80048F40 AFAC0010 */ sw $t4, 0x10($sp)
/* AC00E4 80048F44 AFB10014 */ sw $s1, 0x14($sp)
/* AC00E8 80048F48 0C011B88 */ jal func_80046E20
/* AC00EC 80048F4C 27A50084 */ addiu $a1, $sp, 0x84
/* AC00F0 80048F50 10000009 */ b .L80048F78
/* AC00F4 80048F54 C60C0014 */ lwc1 $f12, 0x14($s0)
.L80048F58:
/* AC00F8 80048F58 8FAD0048 */ lw $t5, 0x48($sp)
/* AC00FC 80048F5C 8DC80000 */ lw $t0, ($t6)
/* AC0100 80048F60 ADA80000 */ sw $t0, ($t5)
/* AC0104 80048F64 8DCF0004 */ lw $t7, 4($t6)
/* AC0108 80048F68 ADAF0004 */ sw $t7, 4($t5)
/* AC010C 80048F6C 8DC80008 */ lw $t0, 8($t6)
/* AC0110 80048F70 ADA80008 */ sw $t0, 8($t5)
/* AC0114 80048F74 C60C0014 */ lwc1 $f12, 0x14($s0)
.L80048F78:
/* AC0118 80048F78 C60E00FC */ lwc1 $f14, 0xfc($s0)
/* AC011C 80048F7C 8E0600D4 */ lw $a2, 0xd4($s0)
/* AC0120 80048F80 0C010E27 */ jal func_8004389C
/* AC0124 80048F84 3C073F80 */ lui $a3, 0x3f80
/* AC0128 80048F88 E60000FC */ swc1 $f0, 0xfc($s0)
/* AC012C 80048F8C 00002025 */ move $a0, $zero
/* AC0130 80048F90 8605015A */ lh $a1, 0x15a($s0)
/* AC0134 80048F94 3C063F00 */ lui $a2, 0x3f00
/* AC0138 80048F98 0C010E47 */ jal func_8004391C
/* AC013C 80048F9C 2407000A */ li $a3, 10
/* AC0140 80048FA0 A602015A */ sh $v0, 0x15a($s0)
/* AC0144 80048FA4 02002025 */ move $a0, $s0
/* AC0148 80048FA8 0C011429 */ jal func_800450A4
/* AC014C 80048FAC 8E050018 */ lw $a1, 0x18($s0)
/* AC0150 80048FB0 E6000100 */ swc1 $f0, 0x100($s0)
/* AC0154 80048FB4 8FBF0024 */ lw $ra, 0x24($sp)
/* AC0158 80048FB8 8FB10020 */ lw $s1, 0x20($sp)
/* AC015C 80048FBC 8FB0001C */ lw $s0, 0x1c($sp)
/* AC0160 80048FC0 27BD00A8 */ addiu $sp, $sp, 0xa8
/* AC0164 80048FC4 03E00008 */ jr $ra
/* AC0168 80048FC8 24020001 */ li $v0, 1

View file

@ -0,0 +1,675 @@
.late_rodata
glabel D_80139F14
.float 182.04167
glabel D_80139F18
.float 0.01
.float 0.01
.float 0.01
glabel D_80139F24
.float 0.01
glabel D_80139F28
.float 0.01
glabel D_80139F2C
.float 0.01
glabel D_80139F30
.float 0.01
glabel D_80139F34
.float 0.05
glabel D_80139F38
.float 0.3
glabel D_80139F3C
.float 0.7
glabel D_80139F40
.float -0.1
.text
glabel func_8004900C
/* AC01AC 8004900C 27BDFF38 */ addiu $sp, $sp, -0xc8
/* AC01B0 80049010 AFB00020 */ sw $s0, 0x20($sp)
/* AC01B4 80049014 00808025 */ move $s0, $a0
/* AC01B8 80049018 AFBF0024 */ sw $ra, 0x24($sp)
/* AC01BC 8004901C 0C00B721 */ jal Player_GetCameraYOffset
/* AC01C0 80049020 8C840090 */ lw $a0, 0x90($a0)
/* AC01C4 80049024 8602015E */ lh $v0, 0x15e($s0)
/* AC01C8 80049028 10400008 */ beqz $v0, .L8004904C
/* AC01CC 8004902C 2401000A */ li $at, 10
/* AC01D0 80049030 10410006 */ beq $v0, $at, .L8004904C
/* AC01D4 80049034 24010014 */ li $at, 20
/* AC01D8 80049038 10410004 */ beq $v0, $at, .L8004904C
/* AC01DC 8004903C 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016
/* AC01E0 80049040 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
/* AC01E4 80049044 85C20314 */ lh $v0, 0x314($t6)
/* AC01E8 80049048 1040006F */ beqz $v0, .L80049208
.L8004904C:
/* AC01EC 8004904C 3C0C8016 */ lui $t4, %hi(gGameInfo) # $t4, 0x8016
/* AC01F0 80049050 8D8CFA90 */ lw $t4, %lo(gGameInfo)($t4)
/* AC01F4 80049054 3C018014 */ lui $at, %hi(D_80139F14)
/* AC01F8 80049058 C42E9F14 */ lwc1 $f14, %lo(D_80139F14)($at)
/* AC01FC 8004905C 858D01F0 */ lh $t5, 0x1f0($t4)
/* AC0200 80049060 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* AC0204 80049064 44818000 */ mtc1 $at, $f16
/* AC0208 80049068 448D2000 */ mtc1 $t5, $f4
/* AC020C 8004906C 3C018014 */ lui $at, %hi(D_80139F18)
/* AC0210 80049070 C4329F18 */ lwc1 $f18, %lo(D_80139F18)($at)
/* AC0214 80049074 468021A0 */ cvt.s.w $f6, $f4
/* AC0218 80049078 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC021C 8004907C 44814000 */ mtc1 $at, $f8
/* AC0220 80049080 3C014288 */ li $at, 0x42880000 # 0.000000
/* AC0224 80049084 44812000 */ mtc1 $at, $f4
/* AC0228 80049088 860F0142 */ lh $t7, 0x142($s0)
/* AC022C 8004908C 46123082 */ mul.s $f2, $f6, $f18
/* AC0230 80049090 46002183 */ div.s $f6, $f4, $f0
/* AC0234 80049094 3C198012 */ lui $t9, %hi(D_8011D068)
/* AC0238 80049098 000FC0C0 */ sll $t8, $t7, 3
/* AC023C 8004909C 86090144 */ lh $t1, 0x144($s0)
/* AC0240 800490A0 0338C821 */ addu $t9, $t9, $t8
/* AC0244 800490A4 8F39D068 */ lw $t9, %lo(D_8011D068)($t9)
/* AC0248 800490A8 000950C0 */ sll $t2, $t1, 3
/* AC024C 800490AC 46024280 */ add.s $f10, $f8, $f2
/* AC0250 800490B0 032A5821 */ addu $t3, $t9, $t2
/* AC0254 800490B4 8D620004 */ lw $v0, 4($t3)
/* AC0258 800490B8 3C0B8016 */ lui $t3, %hi(gGameInfo)
/* AC025C 800490BC 844E0000 */ lh $t6, ($v0)
/* AC0260 800490C0 24420028 */ addiu $v0, $v0, 0x28
/* AC0264 800490C4 448E2000 */ mtc1 $t6, $f4
/* AC0268 800490C8 46061202 */ mul.s $f8, $f2, $f6
/* AC026C 800490CC 468021A0 */ cvt.s.w $f6, $f4
/* AC0270 800490D0 46085301 */ sub.s $f12, $f10, $f8
/* AC0274 800490D4 46123282 */ mul.s $f10, $f6, $f18
/* AC0278 800490D8 00000000 */ nop
/* AC027C 800490DC 46005202 */ mul.s $f8, $f10, $f0
/* AC0280 800490E0 00000000 */ nop
/* AC0284 800490E4 460C4102 */ mul.s $f4, $f8, $f12
/* AC0288 800490E8 E6040000 */ swc1 $f4, ($s0)
/* AC028C 800490EC 844FFFDC */ lh $t7, -0x24($v0)
/* AC0290 800490F0 448F3000 */ mtc1 $t7, $f6
/* AC0294 800490F4 00000000 */ nop
/* AC0298 800490F8 468032A0 */ cvt.s.w $f10, $f6
/* AC029C 800490FC 46125202 */ mul.s $f8, $f10, $f18
/* AC02A0 80049100 00000000 */ nop
/* AC02A4 80049104 46004102 */ mul.s $f4, $f8, $f0
/* AC02A8 80049108 00000000 */ nop
/* AC02AC 8004910C 460C2182 */ mul.s $f6, $f4, $f12
/* AC02B0 80049110 E6060004 */ swc1 $f6, 4($s0)
/* AC02B4 80049114 8458FFE0 */ lh $t8, -0x20($v0)
/* AC02B8 80049118 44985000 */ mtc1 $t8, $f10
/* AC02BC 8004911C 00000000 */ nop
/* AC02C0 80049120 46805220 */ cvt.s.w $f8, $f10
/* AC02C4 80049124 460E4102 */ mul.s $f4, $f8, $f14
/* AC02C8 80049128 46102180 */ add.s $f6, $f4, $f16
/* AC02CC 8004912C 4600328D */ trunc.w.s $f10, $f6
/* AC02D0 80049130 44195000 */ mfc1 $t9, $f10
/* AC02D4 80049134 00000000 */ nop
/* AC02D8 80049138 A6190020 */ sh $t9, 0x20($s0)
/* AC02DC 8004913C 844AFFE4 */ lh $t2, -0x1c($v0)
/* AC02E0 80049140 448A4000 */ mtc1 $t2, $f8
/* AC02E4 80049144 00000000 */ nop
/* AC02E8 80049148 46804120 */ cvt.s.w $f4, $f8
/* AC02EC 8004914C 460E2182 */ mul.s $f6, $f4, $f14
/* AC02F0 80049150 46103280 */ add.s $f10, $f6, $f16
/* AC02F4 80049154 4600520D */ trunc.w.s $f8, $f10
/* AC02F8 80049158 440C4000 */ mfc1 $t4, $f8
/* AC02FC 8004915C 00000000 */ nop
/* AC0300 80049160 A60C0022 */ sh $t4, 0x22($s0)
/* AC0304 80049164 844DFFE8 */ lh $t5, -0x18($v0)
/* AC0308 80049168 448D2000 */ mtc1 $t5, $f4
/* AC030C 8004916C 00000000 */ nop
/* AC0310 80049170 468021A0 */ cvt.s.w $f6, $f4
/* AC0314 80049174 E6060008 */ swc1 $f6, 8($s0)
/* AC0318 80049178 844EFFEC */ lh $t6, -0x14($v0)
/* AC031C 8004917C 448E5000 */ mtc1 $t6, $f10
/* AC0320 80049180 00000000 */ nop
/* AC0324 80049184 46805220 */ cvt.s.w $f8, $f10
/* AC0328 80049188 E608000C */ swc1 $f8, 0xc($s0)
/* AC032C 8004918C 844FFFF0 */ lh $t7, -0x10($v0)
/* AC0330 80049190 448F2000 */ mtc1 $t7, $f4
/* AC0334 80049194 00000000 */ nop
/* AC0338 80049198 468021A0 */ cvt.s.w $f6, $f4
/* AC033C 8004919C E6060010 */ swc1 $f6, 0x10($s0)
/* AC0340 800491A0 8458FFF4 */ lh $t8, -0xc($v0)
/* AC0344 800491A4 44985000 */ mtc1 $t8, $f10
/* AC0348 800491A8 00000000 */ nop
/* AC034C 800491AC 46805220 */ cvt.s.w $f8, $f10
/* AC0350 800491B0 46124102 */ mul.s $f4, $f8, $f18
/* AC0354 800491B4 E6040014 */ swc1 $f4, 0x14($s0)
/* AC0358 800491B8 8449FFF8 */ lh $t1, -8($v0)
/* AC035C 800491BC A6090024 */ sh $t1, 0x24($s0)
/* AC0360 800491C0 8459FFFC */ lh $t9, -4($v0)
/* AC0364 800491C4 44993000 */ mtc1 $t9, $f6
/* AC0368 800491C8 00000000 */ nop
/* AC036C 800491CC 468032A0 */ cvt.s.w $f10, $f6
/* AC0370 800491D0 46125202 */ mul.s $f8, $f10, $f18
/* AC0374 800491D4 00000000 */ nop
/* AC0378 800491D8 46004102 */ mul.s $f4, $f8, $f0
/* AC037C 800491DC 00000000 */ nop
/* AC0380 800491E0 460C2182 */ mul.s $f6, $f4, $f12
/* AC0384 800491E4 E6060018 */ swc1 $f6, 0x18($s0)
/* AC0388 800491E8 844A0000 */ lh $t2, ($v0)
/* AC038C 800491EC 448A5000 */ mtc1 $t2, $f10
/* AC0390 800491F0 00000000 */ nop
/* AC0394 800491F4 46805220 */ cvt.s.w $f8, $f10
/* AC0398 800491F8 46124102 */ mul.s $f4, $f8, $f18
/* AC039C 800491FC E604001C */ swc1 $f4, 0x1c($s0)
/* AC03A0 80049200 8D6BFA90 */ lw $t3, %lo(gGameInfo)($t3)
/* AC03A4 80049204 85620314 */ lh $v0, 0x314($t3)
.L80049208:
/* AC03A8 80049208 50400004 */ beql $v0, $zero, .L8004921C
/* AC03AC 8004920C 26050050 */ addiu $a1, $s0, 0x50
/* AC03B0 80049210 0C011495 */ jal func_80045254
/* AC03B4 80049214 02002025 */ move $a0, $s0
/* AC03B8 80049218 26050050 */ addiu $a1, $s0, 0x50
.L8004921C:
/* AC03BC 8004921C 2606005C */ addiu $a2, $s0, 0x5c
/* AC03C0 80049220 AFA60040 */ sw $a2, 0x40($sp)
/* AC03C4 80049224 AFA5003C */ sw $a1, 0x3c($sp)
/* AC03C8 80049228 0C01F124 */ jal func_8007C490
/* AC03CC 8004922C 27A400A0 */ addiu $a0, $sp, 0xa0
/* AC03D0 80049230 26060074 */ addiu $a2, $s0, 0x74
/* AC03D4 80049234 AFA60038 */ sw $a2, 0x38($sp)
/* AC03D8 80049238 27A40098 */ addiu $a0, $sp, 0x98
/* AC03DC 8004923C 0C01F124 */ jal func_8007C490
/* AC03E0 80049240 8FA5003C */ lw $a1, 0x3c($sp)
/* AC03E4 80049244 8603015E */ lh $v1, 0x15e($s0)
/* AC03E8 80049248 10600009 */ beqz $v1, .L80049270
/* AC03EC 8004924C 2401000A */ li $at, 10
/* AC03F0 80049250 10610007 */ beq $v1, $at, .L80049270
/* AC03F4 80049254 24010014 */ li $at, 20
/* AC03F8 80049258 10610005 */ beq $v1, $at, .L80049270
/* AC03FC 8004925C 24010019 */ li $at, 25
/* AC0400 80049260 50610004 */ beql $v1, $at, .L80049274
/* AC0404 80049264 26080028 */ addiu $t0, $s0, 0x28
/* AC0408 80049268 10000017 */ b .L800492C8
/* AC040C 8004926C 26080028 */ addiu $t0, $s0, 0x28
.L80049270:
/* AC0410 80049270 26080028 */ addiu $t0, $s0, 0x28
.L80049274:
/* AC0414 80049274 A5000016 */ sh $zero, 0x16($t0)
/* AC0418 80049278 A5000010 */ sh $zero, 0x10($t0)
/* AC041C 8004927C 860C0024 */ lh $t4, 0x24($s0)
/* AC0420 80049280 44803000 */ mtc1 $zero, $f6
/* AC0424 80049284 240E0014 */ li $t6, 20
/* AC0428 80049288 318D0004 */ andi $t5, $t4, 4
/* AC042C 8004928C 11A00003 */ beqz $t5, .L8004929C
/* AC0430 80049290 3C0F8016 */ lui $t7, %hi(gGameInfo) # $t7, 0x8016
/* AC0434 80049294 10000004 */ b .L800492A8
/* AC0438 80049298 A50E0018 */ sh $t6, 0x18($t0)
.L8004929C:
/* AC043C 8004929C 8DEFFA90 */ lw $t7, %lo(gGameInfo)($t7)
/* AC0440 800492A0 85F801C2 */ lh $t8, 0x1c2($t7)
/* AC0444 800492A4 A5180018 */ sh $t8, 0x18($t0)
.L800492A8:
/* AC0448 800492A8 E5060000 */ swc1 $f6, ($t0)
/* AC044C 800492AC C60800F4 */ lwc1 $f8, 0xf4($s0)
/* AC0450 800492B0 C60A0098 */ lwc1 $f10, 0x98($s0)
/* AC0454 800492B4 46085101 */ sub.s $f4, $f10, $f8
/* AC0458 800492B8 E504000C */ swc1 $f4, 0xc($t0)
/* AC045C 800492BC 8609015E */ lh $t1, 0x15e($s0)
/* AC0460 800492C0 25390001 */ addiu $t9, $t1, 1
/* AC0464 800492C4 A619015E */ sh $t9, 0x15e($s0)
.L800492C8:
/* AC0468 800492C8 850A0018 */ lh $t2, 0x18($t0)
/* AC046C 800492CC 3C038016 */ lui $v1, %hi(gGameInfo) # $v1, 0x8016
/* AC0470 800492D0 51400013 */ beql $t2, $zero, .L80049320
/* AC0474 800492D4 86020024 */ lh $v0, 0x24($s0)
/* AC0478 800492D8 86020024 */ lh $v0, 0x24($s0)
/* AC047C 800492DC 304B0002 */ andi $t3, $v0, 2
/* AC0480 800492E0 11600007 */ beqz $t3, .L80049300
/* AC0484 800492E4 30590004 */ andi $t9, $v0, 4
/* AC0488 800492E8 860C00A2 */ lh $t4, 0xa2($s0)
/* AC048C 800492EC 86180022 */ lh $t8, 0x22($s0)
/* AC0490 800492F0 258F8001 */ addiu $t7, $t4, -0x7fff
/* AC0494 800492F4 01F84821 */ addu $t1, $t7, $t8
/* AC0498 800492F8 10000014 */ b .L8004934C
/* AC049C 800492FC A5090012 */ sh $t1, 0x12($t0)
.L80049300:
/* AC04A0 80049300 13200004 */ beqz $t9, .L80049314
/* AC04A4 80049304 87AB009E */ lh $t3, 0x9e($sp)
/* AC04A8 80049308 860A0022 */ lh $t2, 0x22($s0)
/* AC04AC 8004930C 1000000F */ b .L8004934C
/* AC04B0 80049310 A50A0012 */ sh $t2, 0x12($t0)
.L80049314:
/* AC04B4 80049314 1000000D */ b .L8004934C
/* AC04B8 80049318 A50B0012 */ sh $t3, 0x12($t0)
/* AC04BC 8004931C 86020024 */ lh $v0, 0x24($s0)
.L80049320:
/* AC04C0 80049320 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012
/* AC04C4 80049324 304C0020 */ andi $t4, $v0, 0x20
/* AC04C8 80049328 11800007 */ beqz $t4, .L80049348
/* AC04CC 8004932C 00000000 */ nop
/* AC04D0 80049330 860D00A2 */ lh $t5, 0xa2($s0)
/* AC04D4 80049334 86090022 */ lh $t1, 0x22($s0)
/* AC04D8 80049338 25B88001 */ addiu $t8, $t5, -0x7fff
/* AC04DC 8004933C 0309C821 */ addu $t9, $t8, $t1
/* AC04E0 80049340 A5190012 */ sh $t9, 0x12($t0)
/* AC04E4 80049344 86020024 */ lh $v0, 0x24($s0)
.L80049348:
/* AC04E8 80049348 AC22D3A0 */ sw $v0, %lo(D_8011D3A0)($at)
.L8004934C:
/* AC04EC 8004934C 860A0020 */ lh $t2, 0x20($s0)
/* AC04F0 80049350 24010015 */ li $at, 21
/* AC04F4 80049354 A50A0014 */ sh $t2, 0x14($t0)
/* AC04F8 80049358 8602015E */ lh $v0, 0x15e($s0)
/* AC04FC 8004935C 54410006 */ bnel $v0, $at, .L80049378
/* AC0500 80049360 2401000B */ li $at, 11
/* AC0504 80049364 24020001 */ li $v0, 1
/* AC0508 80049368 A5020016 */ sh $v0, 0x16($t0)
/* AC050C 8004936C 10000005 */ b .L80049384
/* AC0510 80049370 A602015E */ sh $v0, 0x15e($s0)
/* AC0514 80049374 2401000B */ li $at, 11
.L80049378:
/* AC0518 80049378 14410002 */ bne $v0, $at, .L80049384
/* AC051C 8004937C 24020001 */ li $v0, 1
/* AC0520 80049380 A602015E */ sh $v0, 0x15e($s0)
.L80049384:
/* AC0524 80049384 8C63FA90 */ lw $v1, %lo(gGameInfo)($v1)
/* AC0528 80049388 3C018014 */ lui $at, %hi(D_80139F24)
/* AC052C 8004938C C4309F24 */ lwc1 $f16, %lo(D_80139F24)($at)
/* AC0530 80049390 846B01C6 */ lh $t3, 0x1c6($v1)
/* AC0534 80049394 846C01C8 */ lh $t4, 0x1c8($v1)
/* AC0538 80049398 C60000E0 */ lwc1 $f0, 0xe0($s0)
/* AC053C 8004939C 448B3000 */ mtc1 $t3, $f6
/* AC0540 800493A0 448C2000 */ mtc1 $t4, $f4
/* AC0544 800493A4 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* AC0548 800493A8 468032A0 */ cvt.s.w $f10, $f6
/* AC054C 800493AC 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC0550 800493B0 468021A0 */ cvt.s.w $f6, $f4
/* AC0554 800493B4 46105202 */ mul.s $f8, $f10, $f16
/* AC0558 800493B8 00000000 */ nop
/* AC055C 800493BC 46004082 */ mul.s $f2, $f8, $f0
/* AC0560 800493C0 00000000 */ nop
/* AC0564 800493C4 46103282 */ mul.s $f10, $f6, $f16
/* AC0568 800493C8 44061000 */ mfc1 $a2, $f2
/* AC056C 800493CC 46005202 */ mul.s $f8, $f10, $f0
/* AC0570 800493D0 E7A800B4 */ swc1 $f8, 0xb4($sp)
/* AC0574 800493D4 846D01A0 */ lh $t5, 0x1a0($v1)
/* AC0578 800493D8 C60E00C0 */ lwc1 $f14, 0xc0($s0)
/* AC057C 800493DC E7A200B8 */ swc1 $f2, 0xb8($sp)
/* AC0580 800493E0 448D2000 */ mtc1 $t5, $f4
/* AC0584 800493E4 AFA80034 */ sw $t0, 0x34($sp)
/* AC0588 800493E8 0C010E27 */ jal func_8004389C
/* AC058C 800493EC 46802320 */ cvt.s.w $f12, $f4
/* AC0590 800493F0 C7A200B8 */ lwc1 $f2, 0xb8($sp)
/* AC0594 800493F4 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* AC0598 800493F8 E60000C0 */ swc1 $f0, 0xc0($s0)
/* AC059C 800493FC 44061000 */ mfc1 $a2, $f2
/* AC05A0 80049400 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC05A4 80049404 C60C0008 */ lwc1 $f12, 8($s0)
/* AC05A8 80049408 0C010E27 */ jal func_8004389C
/* AC05AC 8004940C C60E00C8 */ lwc1 $f14, 0xc8($s0)
/* AC05B0 80049410 3C014000 */ li $at, 0x40000000 # 0.000000
/* AC05B4 80049414 E60000C8 */ swc1 $f0, 0xc8($s0)
/* AC05B8 80049418 44816000 */ mtc1 $at, $f12
/* AC05BC 8004941C 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* AC05C0 80049420 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC05C4 80049424 8FA600B4 */ lw $a2, 0xb4($sp)
/* AC05C8 80049428 0C010E27 */ jal func_8004389C
/* AC05CC 8004942C C60E00C4 */ lwc1 $f14, 0xc4($s0)
/* AC05D0 80049430 C7A200B8 */ lwc1 $f2, 0xb8($sp)
/* AC05D4 80049434 E60000C4 */ swc1 $f0, 0xc4($s0)
/* AC05D8 80049438 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016
/* AC05DC 8004943C 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
/* AC05E0 80049440 3C018014 */ lui $at, %hi(D_80139F28)
/* AC05E4 80049444 C4289F28 */ lwc1 $f8, %lo(D_80139F28)($at)
/* AC05E8 80049448 85CF0198 */ lh $t7, 0x198($t6)
/* AC05EC 8004944C 3C073DCC */ li $a3, 0x3DCC0000 # 0.000000
/* AC05F0 80049450 44061000 */ mfc1 $a2, $f2
/* AC05F4 80049454 448F3000 */ mtc1 $t7, $f6
/* AC05F8 80049458 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC05FC 8004945C C60E00CC */ lwc1 $f14, 0xcc($s0)
/* AC0600 80049460 468032A0 */ cvt.s.w $f10, $f6
/* AC0604 80049464 46085302 */ mul.s $f12, $f10, $f8
/* AC0608 80049468 0C010E27 */ jal func_8004389C
/* AC060C 8004946C 00000000 */ nop
/* AC0610 80049470 E60000CC */ swc1 $f0, 0xcc($s0)
/* AC0614 80049474 3C188016 */ lui $t8, %hi(gGameInfo) # $t8, 0x8016
/* AC0618 80049478 8F18FA90 */ lw $t8, %lo(gGameInfo)($t8)
/* AC061C 8004947C 3C018014 */ lui $at, %hi(D_80139F2C)
/* AC0620 80049480 C42A9F2C */ lwc1 $f10, %lo(D_80139F2C)($at)
/* AC0624 80049484 8709019A */ lh $t1, 0x19a($t8)
/* AC0628 80049488 3C073DCC */ li $a3, 0x3DCC0000 # 0.000000
/* AC062C 8004948C 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC0630 80049490 44892000 */ mtc1 $t1, $f4
/* AC0634 80049494 8FA600B4 */ lw $a2, 0xb4($sp)
/* AC0638 80049498 C60E00D0 */ lwc1 $f14, 0xd0($s0)
/* AC063C 8004949C 468021A0 */ cvt.s.w $f6, $f4
/* AC0640 800494A0 460A3302 */ mul.s $f12, $f6, $f10
/* AC0644 800494A4 0C010E27 */ jal func_8004389C
/* AC0648 800494A8 00000000 */ nop
/* AC064C 800494AC E60000D0 */ swc1 $f0, 0xd0($s0)
/* AC0650 800494B0 3C198016 */ lui $t9, %hi(gGameInfo) # $t9, 0x8016
/* AC0654 800494B4 8F39FA90 */ lw $t9, %lo(gGameInfo)($t9)
/* AC0658 800494B8 3C018014 */ lui $at, %hi(D_80139F30)
/* AC065C 800494BC C4269F30 */ lwc1 $f6, %lo(D_80139F30)($at)
/* AC0660 800494C0 872A019C */ lh $t2, 0x19c($t9)
/* AC0664 800494C4 3C018014 */ lui $at, %hi(D_80139F34)
/* AC0668 800494C8 C60A00E0 */ lwc1 $f10, 0xe0($s0)
/* AC066C 800494CC 448A4000 */ mtc1 $t2, $f8
/* AC0670 800494D0 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* AC0674 800494D4 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC0678 800494D8 46804120 */ cvt.s.w $f4, $f8
/* AC067C 800494DC C4289F34 */ lwc1 $f8, %lo(D_80139F34)($at)
/* AC0680 800494E0 C60E00D4 */ lwc1 $f14, 0xd4($s0)
/* AC0684 800494E4 46062302 */ mul.s $f12, $f4, $f6
/* AC0688 800494E8 00000000 */ nop
/* AC068C 800494EC 46085102 */ mul.s $f4, $f10, $f8
/* AC0690 800494F0 44062000 */ mfc1 $a2, $f4
/* AC0694 800494F4 0C010E27 */ jal func_8004389C
/* AC0698 800494F8 00000000 */ nop
/* AC069C 800494FC 860B0024 */ lh $t3, 0x24($s0)
/* AC06A0 80049500 8FA80034 */ lw $t0, 0x34($sp)
/* AC06A4 80049504 E60000D4 */ swc1 $f0, 0xd4($s0)
/* AC06A8 80049508 316C0001 */ andi $t4, $t3, 1
/* AC06AC 8004950C 51800024 */ beql $t4, $zero, .L800495A0
/* AC06B0 80049510 A5000010 */ sh $zero, 0x10($t0)
/* AC06B4 80049514 87A500A6 */ lh $a1, 0xa6($sp)
/* AC06B8 80049518 02002025 */ move $a0, $s0
/* AC06BC 8004951C 24060001 */ li $a2, 1
/* AC06C0 80049520 24A58001 */ addiu $a1, $a1, -0x7fff
/* AC06C4 80049524 00052C00 */ sll $a1, $a1, 0x10
/* AC06C8 80049528 00052C03 */ sra $a1, $a1, 0x10
/* AC06CC 8004952C 0C0112B7 */ jal func_80044ADC
/* AC06D0 80049530 AFA80034 */ sw $t0, 0x34($sp)
/* AC06D4 80049534 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC06D8 80049538 44817000 */ mtc1 $at, $f14
/* AC06DC 8004953C C606000C */ lwc1 $f6, 0xc($s0)
/* AC06E0 80049540 3C018014 */ lui $at, %hi(D_80139F38)
/* AC06E4 80049544 C42A9F38 */ lwc1 $f10, %lo(D_80139F38)($at)
/* AC06E8 80049548 46067003 */ div.s $f0, $f14, $f6
/* AC06EC 8004954C 3C018014 */ lui $at, %hi(D_80139F3C)
/* AC06F0 80049550 C4289F3C */ lwc1 $f8, %lo(D_80139F3C)($at)
/* AC06F4 80049554 C60600E0 */ lwc1 $f6, 0xe0($s0)
/* AC06F8 80049558 8FA80034 */ lw $t0, 0x34($sp)
/* AC06FC 8004955C 00022400 */ sll $a0, $v0, 0x10
/* AC0700 80049560 00042403 */ sra $a0, $a0, 0x10
/* AC0704 80049564 2407000F */ li $a3, 15
/* AC0708 80049568 85050010 */ lh $a1, 0x10($t0)
/* AC070C 8004956C 460A0082 */ mul.s $f2, $f0, $f10
/* AC0710 80049570 46067281 */ sub.s $f10, $f14, $f6
/* AC0714 80049574 46080102 */ mul.s $f4, $f0, $f8
/* AC0718 80049578 00000000 */ nop
/* AC071C 8004957C 460A2302 */ mul.s $f12, $f4, $f10
/* AC0720 80049580 460C1200 */ add.s $f8, $f2, $f12
/* AC0724 80049584 44064000 */ mfc1 $a2, $f8
/* AC0728 80049588 0C010E47 */ jal func_8004391C
/* AC072C 8004958C 00000000 */ nop
/* AC0730 80049590 8FA80034 */ lw $t0, 0x34($sp)
/* AC0734 80049594 10000002 */ b .L800495A0
/* AC0738 80049598 A5020010 */ sh $v0, 0x10($t0)
/* AC073C 8004959C A5000010 */ sh $zero, 0x10($t0)
.L800495A0:
/* AC0740 800495A0 C6060098 */ lwc1 $f6, 0x98($s0)
/* AC0744 800495A4 C6040104 */ lwc1 $f4, 0x104($s0)
/* AC0748 800495A8 46043032 */ c.eq.s $f6, $f4
/* AC074C 800495AC 00000000 */ nop
/* AC0750 800495B0 4503000F */ bc1tl .L800495F0
/* AC0754 800495B4 C6060098 */ lwc1 $f6, 0x98($s0)
/* AC0758 800495B8 8E020090 */ lw $v0, 0x90($s0)
/* AC075C 800495BC 3C018014 */ lui $at, %hi(D_80139F40)
/* AC0760 800495C0 C42A9F40 */ lwc1 $f10, %lo(D_80139F40)($at)
/* AC0764 800495C4 C448006C */ lwc1 $f8, 0x6c($v0)
/* AC0768 800495C8 4608503C */ c.lt.s $f10, $f8
/* AC076C 800495CC 00000000 */ nop
/* AC0770 800495D0 45030007 */ bc1tl .L800495F0
/* AC0774 800495D4 C6060098 */ lwc1 $f6, 0x98($s0)
/* AC0778 800495D8 8C4D067C */ lw $t5, 0x67c($v0)
/* AC077C 800495DC 240F0001 */ li $t7, 1
/* AC0780 800495E0 000D7280 */ sll $t6, $t5, 0xa
/* AC0784 800495E4 05C30006 */ bgezl $t6, .L80049600
/* AC0788 800495E8 A7AF006A */ sh $t7, 0x6a($sp)
/* AC078C 800495EC C6060098 */ lwc1 $f6, 0x98($s0)
.L800495F0:
/* AC0790 800495F0 E506000C */ swc1 $f6, 0xc($t0)
/* AC0794 800495F4 10000002 */ b .L80049600
/* AC0798 800495F8 A7A0006A */ sh $zero, 0x6a($sp)
/* AC079C 800495FC A7AF006A */ sh $t7, 0x6a($sp)
.L80049600:
/* AC07A0 80049600 86020024 */ lh $v0, 0x24($s0)
/* AC07A4 80049604 87A9006A */ lh $t1, 0x6a($sp)
/* AC07A8 80049608 02002025 */ move $a0, $s0
/* AC07AC 8004960C 30580080 */ andi $t8, $v0, 0x80
/* AC07B0 80049610 1700000C */ bnez $t8, .L80049644
/* AC07B4 80049614 27A50098 */ addiu $a1, $sp, 0x98
/* AC07B8 80049618 1520000A */ bnez $t1, .L80049644
/* AC07BC 8004961C 2507000C */ addiu $a3, $t0, 0xc
/* AC07C0 80049620 8E060000 */ lw $a2, ($s0)
/* AC07C4 80049624 30590001 */ andi $t9, $v0, 1
/* AC07C8 80049628 AFB90010 */ sw $t9, 0x10($sp)
/* AC07CC 8004962C AFA80034 */ sw $t0, 0x34($sp)
/* AC07D0 80049630 02002025 */ move $a0, $s0
/* AC07D4 80049634 0C01171D */ jal func_80045C74
/* AC07D8 80049638 27A50098 */ addiu $a1, $sp, 0x98
/* AC07DC 8004963C 10000008 */ b .L80049660
/* AC07E0 80049640 8FA80034 */ lw $t0, 0x34($sp)
.L80049644:
/* AC07E4 80049644 8E060018 */ lw $a2, 0x18($s0)
/* AC07E8 80049648 304A0001 */ andi $t2, $v0, 1
/* AC07EC 8004964C AFAA0010 */ sw $t2, 0x10($sp)
/* AC07F0 80049650 AFA80034 */ sw $t0, 0x34($sp)
/* AC07F4 80049654 0C011635 */ jal func_800458D4
/* AC07F8 80049658 2507000C */ addiu $a3, $t0, 0xc
/* AC07FC 8004965C 8FA80034 */ lw $t0, 0x34($sp)
.L80049660:
/* AC0800 80049660 850B0018 */ lh $t3, 0x18($t0)
/* AC0804 80049664 51600028 */ beql $t3, $zero, .L80049708
/* AC0808 80049668 A5000016 */ sh $zero, 0x16($t0)
/* AC080C 8004966C 860C014C */ lh $t4, 0x14c($s0)
/* AC0810 80049670 358D0020 */ ori $t5, $t4, 0x20
/* AC0814 80049674 A60D014C */ sh $t5, 0x14c($s0)
/* AC0818 80049678 85020018 */ lh $v0, 0x18($t0)
/* AC081C 8004967C 87B800A6 */ lh $t8, 0xa6($sp)
/* AC0820 80049680 850F0012 */ lh $t7, 0x12($t0)
/* AC0824 80049684 244E0001 */ addiu $t6, $v0, 1
/* AC0828 80049688 01C20019 */ multu $t6, $v0
/* AC082C 8004968C 01F84823 */ subu $t1, $t7, $t8
/* AC0830 80049690 0009CC00 */ sll $t9, $t1, 0x10
/* AC0834 80049694 00195403 */ sra $t2, $t9, 0x10
/* AC0838 80049698 87AE00A4 */ lh $t6, 0xa4($sp)
/* AC083C 8004969C C7A400A0 */ lwc1 $f4, 0xa0($sp)
/* AC0840 800496A0 A7AE00AC */ sh $t6, 0xac($sp)
/* AC0844 800496A4 E7A400A8 */ swc1 $f4, 0xa8($sp)
/* AC0848 800496A8 00001812 */ mflo $v1
/* AC084C 800496AC 00031843 */ sra $v1, $v1, 1
/* AC0850 800496B0 00031C00 */ sll $v1, $v1, 0x10
/* AC0854 800496B4 00031C03 */ sra $v1, $v1, 0x10
/* AC0858 800496B8 0143001A */ div $zero, $t2, $v1
/* AC085C 800496BC 00005812 */ mflo $t3
/* AC0860 800496C0 14600002 */ bnez $v1, .L800496CC
/* AC0864 800496C4 00000000 */ nop
/* AC0868 800496C8 0007000D */ break 7
.L800496CC:
/* AC086C 800496CC 2401FFFF */ li $at, -1
/* AC0870 800496D0 14610004 */ bne $v1, $at, .L800496E4
/* AC0874 800496D4 3C018000 */ lui $at, 0x8000
/* AC0878 800496D8 15410002 */ bne $t2, $at, .L800496E4
/* AC087C 800496DC 00000000 */ nop
/* AC0880 800496E0 0006000D */ break 6
.L800496E4:
/* AC0884 800496E4 01620019 */ multu $t3, $v0
/* AC0888 800496E8 00006012 */ mflo $t4
/* AC088C 800496EC 030C6821 */ addu $t5, $t8, $t4
/* AC0890 800496F0 A7AD00AE */ sh $t5, 0xae($sp)
/* AC0894 800496F4 850F0018 */ lh $t7, 0x18($t0)
/* AC0898 800496F8 25E9FFFF */ addiu $t1, $t7, -1
/* AC089C 800496FC 1000004D */ b .L80049834
/* AC08A0 80049700 A5090018 */ sh $t1, 0x18($t0)
/* AC08A4 80049704 A5000016 */ sh $zero, 0x16($t0)
.L80049708:
/* AC08A8 80049708 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC08AC 8004970C 44815000 */ mtc1 $at, $f10
/* AC08B0 80049710 C60800C0 */ lwc1 $f8, 0xc0($s0)
/* AC08B4 80049714 C60E00DC */ lwc1 $f14, 0xdc($s0)
/* AC08B8 80049718 C60C0004 */ lwc1 $f12, 4($s0)
/* AC08BC 8004971C 46085183 */ div.s $f6, $f10, $f8
/* AC08C0 80049720 AFA80034 */ sw $t0, 0x34($sp)
/* AC08C4 80049724 3C074000 */ lui $a3, 0x4000
/* AC08C8 80049728 44063000 */ mfc1 $a2, $f6
/* AC08CC 8004972C 0C010E27 */ jal func_8004389C
/* AC08D0 80049730 00000000 */ nop
/* AC08D4 80049734 E60000DC */ swc1 $f0, 0xdc($s0)
/* AC08D8 80049738 8FA60038 */ lw $a2, 0x38($sp)
/* AC08DC 8004973C 8FA5003C */ lw $a1, 0x3c($sp)
/* AC08E0 80049740 0C01F124 */ jal func_8007C490
/* AC08E4 80049744 27A400A8 */ addiu $a0, $sp, 0xa8
/* AC08E8 80049748 C60400DC */ lwc1 $f4, 0xdc($s0)
/* AC08EC 8004974C 3C063F4C */ lui $a2, (0x3F4CCCCD >> 16) # lui $a2, 0x3f4c
/* AC08F0 80049750 8FA80034 */ lw $t0, 0x34($sp)
/* AC08F4 80049754 E7A400A8 */ swc1 $f4, 0xa8($sp)
/* AC08F8 80049758 86190024 */ lh $t9, 0x24($s0)
/* AC08FC 8004975C 34C6CCCD */ ori $a2, (0x3F4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd
/* AC0900 80049760 87A5009E */ lh $a1, 0x9e($sp)
/* AC0904 80049764 332A0040 */ andi $t2, $t9, 0x40
/* AC0908 80049768 1140000B */ beqz $t2, .L80049798
/* AC090C 8004976C 2407000A */ li $a3, 10
/* AC0910 80049770 85040012 */ lh $a0, 0x12($t0)
/* AC0914 80049774 3C063F19 */ lui $a2, (0x3F19999A >> 16) # lui $a2, 0x3f19
/* AC0918 80049778 34C6999A */ ori $a2, (0x3F19999A & 0xFFFF) # ori $a2, $a2, 0x999a
/* AC091C 8004977C AFA80034 */ sw $t0, 0x34($sp)
/* AC0920 80049780 87A5009E */ lh $a1, 0x9e($sp)
/* AC0924 80049784 0C010E47 */ jal func_8004391C
/* AC0928 80049788 2407000A */ li $a3, 10
/* AC092C 8004978C 8FA80034 */ lw $t0, 0x34($sp)
/* AC0930 80049790 10000006 */ b .L800497AC
/* AC0934 80049794 A7A200AE */ sh $v0, 0xae($sp)
.L80049798:
/* AC0938 80049798 85040012 */ lh $a0, 0x12($t0)
/* AC093C 8004979C 0C010E47 */ jal func_8004391C
/* AC0940 800497A0 AFA80034 */ sw $t0, 0x34($sp)
/* AC0944 800497A4 8FA80034 */ lw $t0, 0x34($sp)
/* AC0948 800497A8 A7A200AE */ sh $v0, 0xae($sp)
.L800497AC:
/* AC094C 800497AC 860B0024 */ lh $t3, 0x24($s0)
/* AC0950 800497B0 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC0954 800497B4 44815000 */ mtc1 $at, $f10
/* AC0958 800497B8 31780001 */ andi $t8, $t3, 1
/* AC095C 800497BC 53000008 */ beql $t8, $zero, .L800497E0
/* AC0960 800497C0 85040014 */ lh $a0, 0x14($t0)
/* AC0964 800497C4 850C0014 */ lh $t4, 0x14($t0)
/* AC0968 800497C8 850D0010 */ lh $t5, 0x10($t0)
/* AC096C 800497CC 018D2023 */ subu $a0, $t4, $t5
/* AC0970 800497D0 00042400 */ sll $a0, $a0, 0x10
/* AC0974 800497D4 10000002 */ b .L800497E0
/* AC0978 800497D8 00042403 */ sra $a0, $a0, 0x10
/* AC097C 800497DC 85040014 */ lh $a0, 0x14($t0)
.L800497E0:
/* AC0980 800497E0 C60800C4 */ lwc1 $f8, 0xc4($s0)
/* AC0984 800497E4 87A5009C */ lh $a1, 0x9c($sp)
/* AC0988 800497E8 24070004 */ li $a3, 4
/* AC098C 800497EC 46085183 */ div.s $f6, $f10, $f8
/* AC0990 800497F0 44063000 */ mfc1 $a2, $f6
/* AC0994 800497F4 0C010E47 */ jal func_8004391C
/* AC0998 800497F8 00000000 */ nop
/* AC099C 800497FC 3C038016 */ lui $v1, %hi(gGameInfo) # $v1, 0x8016
/* AC09A0 80049800 8C63FA90 */ lw $v1, %lo(gGameInfo)($v1)
/* AC09A4 80049804 A7A200AC */ sh $v0, 0xac($sp)
/* AC09A8 80049808 8464019E */ lh $a0, 0x19e($v1)
/* AC09AC 8004980C 0082082A */ slt $at, $a0, $v0
/* AC09B0 80049810 50200003 */ beql $at, $zero, .L80049820
/* AC09B4 80049814 846201D8 */ lh $v0, 0x1d8($v1)
/* AC09B8 80049818 A7A400AC */ sh $a0, 0xac($sp)
/* AC09BC 8004981C 846201D8 */ lh $v0, 0x1d8($v1)
.L80049820:
/* AC09C0 80049820 87AE00AC */ lh $t6, 0xac($sp)
/* AC09C4 80049824 01C2082A */ slt $at, $t6, $v0
/* AC09C8 80049828 50200003 */ beql $at, $zero, .L80049838
/* AC09CC 8004982C 8FA40038 */ lw $a0, 0x38($sp)
/* AC09D0 80049830 A7A200AC */ sh $v0, 0xac($sp)
.L80049834:
/* AC09D4 80049834 8FA40038 */ lw $a0, 0x38($sp)
.L80049838:
/* AC09D8 80049838 8FA5003C */ lw $a1, 0x3c($sp)
/* AC09DC 8004983C 0C010F0A */ jal func_80043C28
/* AC09E0 80049840 27A600A8 */ addiu $a2, $sp, 0xa8
/* AC09E4 80049844 860F0140 */ lh $t7, 0x140($s0)
/* AC09E8 80049848 24010007 */ li $at, 7
/* AC09EC 8004984C 8FA90038 */ lw $t1, 0x38($sp)
/* AC09F0 80049850 55E10032 */ bnel $t7, $at, .L8004991C
/* AC09F4 80049854 C60C0010 */ lwc1 $f12, 0x10($s0)
/* AC09F8 80049858 8D2A0000 */ lw $t2, ($t1)
/* AC09FC 8004985C 27A6006C */ addiu $a2, $sp, 0x6c
/* AC0A00 80049860 3C180001 */ lui $t8, 1
/* AC0A04 80049864 ACCA0000 */ sw $t2, ($a2)
/* AC0A08 80049868 8D390004 */ lw $t9, 4($t1)
/* AC0A0C 8004986C 02002025 */ move $a0, $s0
/* AC0A10 80049870 ACD90004 */ sw $t9, 4($a2)
/* AC0A14 80049874 8D2A0008 */ lw $t2, 8($t1)
/* AC0A18 80049878 ACCA0008 */ sw $t2, 8($a2)
/* AC0A1C 8004987C 8E0B008C */ lw $t3, 0x8c($s0)
/* AC0A20 80049880 030BC021 */ addu $t8, $t8, $t3
/* AC0A24 80049884 93180A39 */ lbu $t8, 0xa39($t8)
/* AC0A28 80049888 13000006 */ beqz $t8, .L800498A4
/* AC0A2C 8004988C 00000000 */ nop
/* AC0A30 80049890 860C0024 */ lh $t4, 0x24($s0)
/* AC0A34 80049894 8FA5003C */ lw $a1, 0x3c($sp)
/* AC0A38 80049898 318D0010 */ andi $t5, $t4, 0x10
/* AC0A3C 8004989C 11A0000C */ beqz $t5, .L800498D0
/* AC0A40 800498A0 00000000 */ nop
.L800498A4:
/* AC0A44 800498A4 0C010F46 */ jal func_80043D18
/* AC0A48 800498A8 8FA5003C */ lw $a1, 0x3c($sp)
/* AC0A4C 800498AC 27AF006C */ addiu $t7, $sp, 0x6c
/* AC0A50 800498B0 8DF90000 */ lw $t9, ($t7)
/* AC0A54 800498B4 8FAE0040 */ lw $t6, 0x40($sp)
/* AC0A58 800498B8 ADD90000 */ sw $t9, ($t6)
/* AC0A5C 800498BC 8DE90004 */ lw $t1, 4($t7)
/* AC0A60 800498C0 ADC90004 */ sw $t1, 4($t6)
/* AC0A64 800498C4 8DF90008 */ lw $t9, 8($t7)
/* AC0A68 800498C8 10000013 */ b .L80049918
/* AC0A6C 800498CC ADD90008 */ sw $t9, 8($t6)
.L800498D0:
/* AC0A70 800498D0 0C010FE5 */ jal func_80043F94
/* AC0A74 800498D4 02002025 */ move $a0, $s0
/* AC0A78 800498D8 27AA006C */ addiu $t2, $sp, 0x6c
/* AC0A7C 800498DC 8FA50040 */ lw $a1, 0x40($sp)
/* AC0A80 800498E0 8D580000 */ lw $t8, ($t2)
/* AC0A84 800498E4 27A400A8 */ addiu $a0, $sp, 0xa8
/* AC0A88 800498E8 ACB80000 */ sw $t8, ($a1)
/* AC0A8C 800498EC 8D4B0004 */ lw $t3, 4($t2)
/* AC0A90 800498F0 ACAB0004 */ sw $t3, 4($a1)
/* AC0A94 800498F4 8D580008 */ lw $t8, 8($t2)
/* AC0A98 800498F8 ACB80008 */ sw $t8, 8($a1)
/* AC0A9C 800498FC 0C01F124 */ jal func_8007C490
/* AC0AA0 80049900 8FA6003C */ lw $a2, 0x3c($sp)
/* AC0AA4 80049904 87AC00AC */ lh $t4, 0xac($sp)
/* AC0AA8 80049908 A60C0134 */ sh $t4, 0x134($s0)
/* AC0AAC 8004990C 87AD00AE */ lh $t5, 0xae($sp)
/* AC0AB0 80049910 A6000138 */ sh $zero, 0x138($s0)
/* AC0AB4 80049914 A60D0136 */ sh $t5, 0x136($s0)
.L80049918:
/* AC0AB8 80049918 C60C0010 */ lwc1 $f12, 0x10($s0)
.L8004991C:
/* AC0ABC 8004991C C60E00FC */ lwc1 $f14, 0xfc($s0)
/* AC0AC0 80049920 8E0600D4 */ lw $a2, 0xd4($s0)
/* AC0AC4 80049924 0C010E27 */ jal func_8004389C
/* AC0AC8 80049928 3C073F80 */ lui $a3, 0x3f80
/* AC0ACC 8004992C E60000FC */ swc1 $f0, 0xfc($s0)
/* AC0AD0 80049930 00002025 */ move $a0, $zero
/* AC0AD4 80049934 8605015A */ lh $a1, 0x15a($s0)
/* AC0AD8 80049938 3C063F00 */ lui $a2, 0x3f00
/* AC0ADC 8004993C 0C010E47 */ jal func_8004391C
/* AC0AE0 80049940 2407000A */ li $a3, 10
/* AC0AE4 80049944 A602015A */ sh $v0, 0x15a($s0)
/* AC0AE8 80049948 87AE006A */ lh $t6, 0x6a($sp)
/* AC0AEC 8004994C 51C00004 */ beql $t6, $zero, .L80049960
/* AC0AF0 80049950 C6000014 */ lwc1 $f0, 0x14($s0)
/* AC0AF4 80049954 10000002 */ b .L80049960
/* AC0AF8 80049958 C600001C */ lwc1 $f0, 0x1c($s0)
/* AC0AFC 8004995C C6000014 */ lwc1 $f0, 0x14($s0)
.L80049960:
/* AC0B00 80049960 44050000 */ mfc1 $a1, $f0
/* AC0B04 80049964 0C011429 */ jal func_800450A4
/* AC0B08 80049968 02002025 */ move $a0, $s0
/* AC0B0C 8004996C E6000100 */ swc1 $f0, 0x100($s0)
/* AC0B10 80049970 8FBF0024 */ lw $ra, 0x24($sp)
/* AC0B14 80049974 8FB00020 */ lw $s0, 0x20($sp)
/* AC0B18 80049978 27BD00C8 */ addiu $sp, $sp, 0xc8
/* AC0B1C 8004997C 03E00008 */ jr $ra
/* AC0B20 80049980 00000000 */ nop

View file

@ -0,0 +1,28 @@
glabel func_800499A4
/* AC0B44 800499A4 848E0142 */ lh $t6, 0x142($a0)
/* AC0B48 800499A8 3C188012 */ lui $t8, %hi(D_8011D068)
/* AC0B4C 800499AC 84990144 */ lh $t9, 0x144($a0)
/* AC0B50 800499B0 000E78C0 */ sll $t7, $t6, 3
/* AC0B54 800499B4 030FC021 */ addu $t8, $t8, $t7
/* AC0B58 800499B8 8F18D068 */ lw $t8, %lo(D_8011D068)($t8)
/* AC0B5C 800499BC 001940C0 */ sll $t0, $t9, 3
/* AC0B60 800499C0 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012
/* AC0B64 800499C4 03084821 */ addu $t1, $t8, $t0
/* AC0B68 800499C8 8D220004 */ lw $v0, 4($t1)
/* AC0B6C 800499CC 84430000 */ lh $v1, ($v0)
/* AC0B70 800499D0 306A0001 */ andi $t2, $v1, 1
/* AC0B74 800499D4 11400004 */ beqz $t2, .L800499E8
/* AC0B78 800499D8 AC23D3A0 */ sw $v1, %lo(D_8011D3A0)($at)
/* AC0B7C 800499DC 848B014C */ lh $t3, 0x14c($a0)
/* AC0B80 800499E0 356C0400 */ ori $t4, $t3, 0x400
/* AC0B84 800499E4 A48C014C */ sh $t4, 0x14c($a0)
.L800499E8:
/* AC0B88 800499E8 306D0002 */ andi $t5, $v1, 2
/* AC0B8C 800499EC 11A00004 */ beqz $t5, .L80049A00
/* AC0B90 800499F0 00000000 */ nop
/* AC0B94 800499F4 848E014C */ lh $t6, 0x14c($a0)
/* AC0B98 800499F8 35CF0010 */ ori $t7, $t6, 0x10
/* AC0B9C 800499FC A48F014C */ sh $t7, 0x14c($a0)
.L80049A00:
/* AC0BA0 80049A00 03E00008 */ jr $ra
/* AC0BA4 80049A04 00000000 */ nop

View file

@ -0,0 +1,576 @@
.late_rodata
glabel D_80139F44
.float 0.01
.float 0.01
.float 0.01
glabel D_80139F50
.float 0.0001
glabel D_80139F54
.float 0.01
glabel D_80139F58
.float 0.01
glabel D_80139F5C
.float 0.01
glabel D_80139F60
.float 0.01
glabel D_80139F64
.float 0.01
glabel D_80139F68
.float 0.01
glabel D_80139F6C
.float 0.01
glabel D_80139F70
.float 0.01
glabel D_80139F74
.float 0.01
glabel D_80139F78
.float 0.01
glabel D_80139F7C
.float 0.99
.text
glabel func_80049A48
/* AC0BE8 80049A48 27BDFF48 */ addiu $sp, $sp, -0xb8
/* AC0BEC 80049A4C AFB0001C */ sw $s0, 0x1c($sp)
/* AC0BF0 80049A50 00808025 */ move $s0, $a0
/* AC0BF4 80049A54 AFBF0024 */ sw $ra, 0x24($sp)
/* AC0BF8 80049A58 AFB10020 */ sw $s1, 0x20($sp)
/* AC0BFC 80049A5C 0C00B721 */ jal Player_GetCameraYOffset
/* AC0C00 80049A60 8C840090 */ lw $a0, 0x90($a0)
/* AC0C04 80049A64 8603015E */ lh $v1, 0x15e($s0)
/* AC0C08 80049A68 10600008 */ beqz $v1, .L80049A8C
/* AC0C0C 80049A6C 2401000A */ li $at, 10
/* AC0C10 80049A70 10610006 */ beq $v1, $at, .L80049A8C
/* AC0C14 80049A74 24010014 */ li $at, 20
/* AC0C18 80049A78 10610004 */ beq $v1, $at, .L80049A8C
/* AC0C1C 80049A7C 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016
/* AC0C20 80049A80 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
/* AC0C24 80049A84 85C30314 */ lh $v1, 0x314($t6)
/* AC0C28 80049A88 10600052 */ beqz $v1, .L80049BD4
.L80049A8C:
/* AC0C2C 80049A8C 3C018014 */ lui $at, %hi(D_80139F44)
/* AC0C30 80049A90 C42E9F44 */ lwc1 $f14, %lo(D_80139F44)($at)
/* AC0C34 80049A94 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC0C38 80049A98 44814000 */ mtc1 $at, $f8
/* AC0C3C 80049A9C 3C014288 */ lui $at, 0x4288
/* AC0C40 80049AA0 3C0B8016 */ lui $t3, %hi(gGameInfo)
/* AC0C44 80049AA4 8D6BFA90 */ lw $t3, %lo(gGameInfo)($t3)
/* AC0C48 80049AA8 44818000 */ mtc1 $at, $f16
/* AC0C4C 80049AAC 860F0142 */ lh $t7, 0x142($s0)
/* AC0C50 80049AB0 856C01F0 */ lh $t4, 0x1f0($t3)
/* AC0C54 80049AB4 46008483 */ div.s $f18, $f16, $f0
/* AC0C58 80049AB8 3C198012 */ lui $t9, %hi(D_8011D068)
/* AC0C5C 80049ABC 448C2000 */ mtc1 $t4, $f4
/* AC0C60 80049AC0 000FC0C0 */ sll $t8, $t7, 3
/* AC0C64 80049AC4 86080144 */ lh $t0, 0x144($s0)
/* AC0C68 80049AC8 468021A0 */ cvt.s.w $f6, $f4
/* AC0C6C 80049ACC 0338C821 */ addu $t9, $t9, $t8
/* AC0C70 80049AD0 8F39D068 */ lw $t9, %lo(D_8011D068)($t9)
/* AC0C74 80049AD4 000848C0 */ sll $t1, $t0, 3
/* AC0C78 80049AD8 3C0B8016 */ lui $t3, %hi(gGameInfo) # $t3, 0x8016
/* AC0C7C 80049ADC 03295021 */ addu $t2, $t9, $t1
/* AC0C80 80049AE0 8D420004 */ lw $v0, 4($t2)
/* AC0C84 80049AE4 844D0000 */ lh $t5, ($v0)
/* AC0C88 80049AE8 2442001C */ addiu $v0, $v0, 0x1c
/* AC0C8C 80049AEC 460E3302 */ mul.s $f12, $f6, $f14
/* AC0C90 80049AF0 448D3000 */ mtc1 $t5, $f6
/* AC0C94 80049AF4 460C4280 */ add.s $f10, $f8, $f12
/* AC0C98 80049AF8 46126102 */ mul.s $f4, $f12, $f18
/* AC0C9C 80049AFC 46803220 */ cvt.s.w $f8, $f6
/* AC0CA0 80049B00 46045081 */ sub.s $f2, $f10, $f4
/* AC0CA4 80049B04 460E4402 */ mul.s $f16, $f8, $f14
/* AC0CA8 80049B08 00000000 */ nop
/* AC0CAC 80049B0C 46008482 */ mul.s $f18, $f16, $f0
/* AC0CB0 80049B10 00000000 */ nop
/* AC0CB4 80049B14 46029282 */ mul.s $f10, $f18, $f2
/* AC0CB8 80049B18 E60A0000 */ swc1 $f10, ($s0)
/* AC0CBC 80049B1C 844EFFE8 */ lh $t6, -0x18($v0)
/* AC0CC0 80049B20 448E2000 */ mtc1 $t6, $f4
/* AC0CC4 80049B24 00000000 */ nop
/* AC0CC8 80049B28 468021A0 */ cvt.s.w $f6, $f4
/* AC0CCC 80049B2C 460E3202 */ mul.s $f8, $f6, $f14
/* AC0CD0 80049B30 00000000 */ nop
/* AC0CD4 80049B34 46004402 */ mul.s $f16, $f8, $f0
/* AC0CD8 80049B38 00000000 */ nop
/* AC0CDC 80049B3C 46028482 */ mul.s $f18, $f16, $f2
/* AC0CE0 80049B40 E6120004 */ swc1 $f18, 4($s0)
/* AC0CE4 80049B44 844FFFEC */ lh $t7, -0x14($v0)
/* AC0CE8 80049B48 448F5000 */ mtc1 $t7, $f10
/* AC0CEC 80049B4C 00000000 */ nop
/* AC0CF0 80049B50 46805120 */ cvt.s.w $f4, $f10
/* AC0CF4 80049B54 460E2182 */ mul.s $f6, $f4, $f14
/* AC0CF8 80049B58 00000000 */ nop
/* AC0CFC 80049B5C 46003202 */ mul.s $f8, $f6, $f0
/* AC0D00 80049B60 00000000 */ nop
/* AC0D04 80049B64 46024402 */ mul.s $f16, $f8, $f2
/* AC0D08 80049B68 E6100008 */ swc1 $f16, 8($s0)
/* AC0D0C 80049B6C 8458FFF0 */ lh $t8, -0x10($v0)
/* AC0D10 80049B70 44989000 */ mtc1 $t8, $f18
/* AC0D14 80049B74 00000000 */ nop
/* AC0D18 80049B78 468092A0 */ cvt.s.w $f10, $f18
/* AC0D1C 80049B7C E60A000C */ swc1 $f10, 0xc($s0)
/* AC0D20 80049B80 8448FFF4 */ lh $t0, -0xc($v0)
/* AC0D24 80049B84 44882000 */ mtc1 $t0, $f4
/* AC0D28 80049B88 00000000 */ nop
/* AC0D2C 80049B8C 468021A0 */ cvt.s.w $f6, $f4
/* AC0D30 80049B90 460E3202 */ mul.s $f8, $f6, $f14
/* AC0D34 80049B94 E6080010 */ swc1 $f8, 0x10($s0)
/* AC0D38 80049B98 8459FFF8 */ lh $t9, -8($v0)
/* AC0D3C 80049B9C 44998000 */ mtc1 $t9, $f16
/* AC0D40 80049BA0 00000000 */ nop
/* AC0D44 80049BA4 468084A0 */ cvt.s.w $f18, $f16
/* AC0D48 80049BA8 E6120014 */ swc1 $f18, 0x14($s0)
/* AC0D4C 80049BAC 8449FFFC */ lh $t1, -4($v0)
/* AC0D50 80049BB0 44895000 */ mtc1 $t1, $f10
/* AC0D54 80049BB4 00000000 */ nop
/* AC0D58 80049BB8 46805120 */ cvt.s.w $f4, $f10
/* AC0D5C 80049BBC 460E2182 */ mul.s $f6, $f4, $f14
/* AC0D60 80049BC0 E6060018 */ swc1 $f6, 0x18($s0)
/* AC0D64 80049BC4 844A0000 */ lh $t2, ($v0)
/* AC0D68 80049BC8 A60A001C */ sh $t2, 0x1c($s0)
/* AC0D6C 80049BCC 8D6BFA90 */ lw $t3, %lo(gGameInfo)($t3)
/* AC0D70 80049BD0 85630314 */ lh $v1, 0x314($t3)
.L80049BD4:
/* AC0D74 80049BD4 50600004 */ beql $v1, $zero, .L80049BE8
/* AC0D78 80049BD8 27A40060 */ addiu $a0, $sp, 0x60
/* AC0D7C 80049BDC 0C011495 */ jal func_80045254
/* AC0D80 80049BE0 02002025 */ move $a0, $s0
/* AC0D84 80049BE4 27A40060 */ addiu $a0, $sp, 0x60
.L80049BE8:
/* AC0D88 80049BE8 0C00BBB9 */ jal func_8002EEE4
/* AC0D8C 80049BEC 8E050090 */ lw $a1, 0x90($s0)
/* AC0D90 80049BF0 26050050 */ addiu $a1, $s0, 0x50
/* AC0D94 80049BF4 2606005C */ addiu $a2, $s0, 0x5c
/* AC0D98 80049BF8 AFA60040 */ sw $a2, 0x40($sp)
/* AC0D9C 80049BFC AFA5003C */ sw $a1, 0x3c($sp)
/* AC0DA0 80049C00 0C01F124 */ jal func_8007C490
/* AC0DA4 80049C04 27A40090 */ addiu $a0, $sp, 0x90
/* AC0DA8 80049C08 26060074 */ addiu $a2, $s0, 0x74
/* AC0DAC 80049C0C AFA60038 */ sw $a2, 0x38($sp)
/* AC0DB0 80049C10 27A40088 */ addiu $a0, $sp, 0x88
/* AC0DB4 80049C14 0C01F124 */ jal func_8007C490
/* AC0DB8 80049C18 8FA5003C */ lw $a1, 0x3c($sp)
/* AC0DBC 80049C1C 860C001C */ lh $t4, 0x1c($s0)
/* AC0DC0 80049C20 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012
/* AC0DC4 80049C24 AC2CD3A0 */ sw $t4, %lo(D_8011D3A0)($at)
/* AC0DC8 80049C28 8603015E */ lh $v1, 0x15e($s0)
/* AC0DCC 80049C2C 10600004 */ beqz $v1, .L80049C40
/* AC0DD0 80049C30 2401000A */ li $at, 10
/* AC0DD4 80049C34 10610002 */ beq $v1, $at, .L80049C40
/* AC0DD8 80049C38 24010014 */ li $at, 20
/* AC0DDC 80049C3C 1461001B */ bne $v1, $at, .L80049CAC
.L80049C40:
/* AC0DE0 80049C40 26110020 */ addiu $s1, $s0, 0x20
/* AC0DE4 80049C44 A6200018 */ sh $zero, 0x18($s1)
/* AC0DE8 80049C48 862D0018 */ lh $t5, 0x18($s1)
/* AC0DEC 80049C4C 240E00C8 */ li $t6, 200
/* AC0DF0 80049C50 AE20000C */ sw $zero, 0xc($s1)
/* AC0DF4 80049C54 A6200024 */ sh $zero, 0x24($s1)
/* AC0DF8 80049C58 A62E0026 */ sh $t6, 0x26($s1)
/* AC0DFC 80049C5C A620001A */ sh $zero, 0x1a($s1)
/* AC0E00 80049C60 A62D0016 */ sh $t5, 0x16($s1)
/* AC0E04 80049C64 C608000C */ lwc1 $f8, 0xc($s0)
/* AC0E08 80049C68 3C018014 */ lui $at, %hi(D_80139F50)
/* AC0E0C 80049C6C E6280010 */ swc1 $f8, 0x10($s1)
/* AC0E10 80049C70 C61200F4 */ lwc1 $f18, 0xf4($s0)
/* AC0E14 80049C74 C6100098 */ lwc1 $f16, 0x98($s0)
/* AC0E18 80049C78 46128281 */ sub.s $f10, $f16, $f18
/* AC0E1C 80049C7C E62A001C */ swc1 $f10, 0x1c($s1)
/* AC0E20 80049C80 C7A40090 */ lwc1 $f4, 0x90($sp)
/* AC0E24 80049C84 E6240020 */ swc1 $f4, 0x20($s1)
/* AC0E28 80049C88 C60600E8 */ lwc1 $f6, 0xe8($s0)
/* AC0E2C 80049C8C C60800F4 */ lwc1 $f8, 0xf4($s0)
/* AC0E30 80049C90 860F015E */ lh $t7, 0x15e($s0)
/* AC0E34 80049C94 46083401 */ sub.s $f16, $f6, $f8
/* AC0E38 80049C98 25F80001 */ addiu $t8, $t7, 1
/* AC0E3C 80049C9C E61000E8 */ swc1 $f16, 0xe8($s0)
/* AC0E40 80049CA0 C4329F50 */ lwc1 $f18, %lo(D_80139F50)($at)
/* AC0E44 80049CA4 A618015E */ sh $t8, 0x15e($s0)
/* AC0E48 80049CA8 E61200CC */ swc1 $f18, 0xcc($s0)
.L80049CAC:
/* AC0E4C 80049CAC 26110020 */ addiu $s1, $s0, 0x20
/* AC0E50 80049CB0 8622001A */ lh $v0, 0x1a($s1)
/* AC0E54 80049CB4 1040002D */ beqz $v0, .L80049D6C
/* AC0E58 80049CB8 3C088016 */ lui $t0, %hi(gGameInfo)
/* AC0E5C 80049CBC 8D08FA90 */ lw $t0, %lo(gGameInfo)($t0)
/* AC0E60 80049CC0 44822000 */ mtc1 $v0, $f4
/* AC0E64 80049CC4 3C018014 */ lui $at, %hi(D_80139F54)
/* AC0E68 80049CC8 851901C8 */ lh $t9, 0x1c8($t0)
/* AC0E6C 80049CCC C4329F54 */ lwc1 $f18, %lo(D_80139F54)($at)
/* AC0E70 80049CD0 468021A0 */ cvt.s.w $f6, $f4
/* AC0E74 80049CD4 44994000 */ mtc1 $t9, $f8
/* AC0E78 80049CD8 C60A000C */ lwc1 $f10, 0xc($s0)
/* AC0E7C 80049CDC 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* AC0E80 80049CE0 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC0E84 80049CE4 46804420 */ cvt.s.w $f16, $f8
/* AC0E88 80049CE8 C60E00C8 */ lwc1 $f14, 0xc8($s0)
/* AC0E8C 80049CEC 46065300 */ add.s $f12, $f10, $f6
/* AC0E90 80049CF0 46128102 */ mul.s $f4, $f16, $f18
/* AC0E94 80049CF4 44062000 */ mfc1 $a2, $f4
/* AC0E98 80049CF8 0C010E27 */ jal func_8004389C
/* AC0E9C 80049CFC 00000000 */ nop
/* AC0EA0 80049D00 E60000C8 */ swc1 $f0, 0xc8($s0)
/* AC0EA4 80049D04 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016
/* AC0EA8 80049D08 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0)
/* AC0EAC 80049D0C 862A001A */ lh $t2, 0x1a($s1)
/* AC0EB0 80049D10 3C018014 */ lui $at, %hi(D_80139F58)
/* AC0EB4 80049D14 844B01C8 */ lh $t3, 0x1c8($v0)
/* AC0EB8 80049D18 844901A2 */ lh $t1, 0x1a2($v0)
/* AC0EBC 80049D1C 448A4000 */ mtc1 $t2, $f8
/* AC0EC0 80049D20 448B9000 */ mtc1 $t3, $f18
/* AC0EC4 80049D24 44895000 */ mtc1 $t1, $f10
/* AC0EC8 80049D28 46804420 */ cvt.s.w $f16, $f8
/* AC0ECC 80049D2C 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* AC0ED0 80049D30 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC0ED4 80049D34 C60E00C4 */ lwc1 $f14, 0xc4($s0)
/* AC0ED8 80049D38 46809120 */ cvt.s.w $f4, $f18
/* AC0EDC 80049D3C 468051A0 */ cvt.s.w $f6, $f10
/* AC0EE0 80049D40 C42A9F58 */ lwc1 $f10, %lo(D_80139F58)($at)
/* AC0EE4 80049D44 460A2202 */ mul.s $f8, $f4, $f10
/* AC0EE8 80049D48 46103300 */ add.s $f12, $f6, $f16
/* AC0EEC 80049D4C 44064000 */ mfc1 $a2, $f8
/* AC0EF0 80049D50 0C010E27 */ jal func_8004389C
/* AC0EF4 80049D54 00000000 */ nop
/* AC0EF8 80049D58 E60000C4 */ swc1 $f0, 0xc4($s0)
/* AC0EFC 80049D5C 862C001A */ lh $t4, 0x1a($s1)
/* AC0F00 80049D60 258DFFFF */ addiu $t5, $t4, -1
/* AC0F04 80049D64 10000023 */ b .L80049DF4
/* AC0F08 80049D68 A62D001A */ sh $t5, 0x1a($s1)
.L80049D6C:
/* AC0F0C 80049D6C 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016
/* AC0F10 80049D70 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
/* AC0F14 80049D74 3C018014 */ lui $at, %hi(D_80139F5C)
/* AC0F18 80049D78 C4329F5C */ lwc1 $f18, %lo(D_80139F5C)($at)
/* AC0F1C 80049D7C 85CF01C8 */ lh $t7, 0x1c8($t6)
/* AC0F20 80049D80 3C073DCC */ li $a3, 0x3DCC0000 # 0.000000
/* AC0F24 80049D84 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC0F28 80049D88 448F3000 */ mtc1 $t7, $f6
/* AC0F2C 80049D8C C60C000C */ lwc1 $f12, 0xc($s0)
/* AC0F30 80049D90 C60E00C8 */ lwc1 $f14, 0xc8($s0)
/* AC0F34 80049D94 46803420 */ cvt.s.w $f16, $f6
/* AC0F38 80049D98 46128102 */ mul.s $f4, $f16, $f18
/* AC0F3C 80049D9C 44062000 */ mfc1 $a2, $f4
/* AC0F40 80049DA0 0C010E27 */ jal func_8004389C
/* AC0F44 80049DA4 00000000 */ nop
/* AC0F48 80049DA8 E60000C8 */ swc1 $f0, 0xc8($s0)
/* AC0F4C 80049DAC 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016
/* AC0F50 80049DB0 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0)
/* AC0F54 80049DB4 3C018014 */ lui $at, %hi(D_80139F60)
/* AC0F58 80049DB8 C4309F60 */ lwc1 $f16, %lo(D_80139F60)($at)
/* AC0F5C 80049DBC 844801C8 */ lh $t0, 0x1c8($v0)
/* AC0F60 80049DC0 845801A2 */ lh $t8, 0x1a2($v0)
/* AC0F64 80049DC4 3C073DCC */ li $a3, 0x3DCC0000 # 0.000000
/* AC0F68 80049DC8 44884000 */ mtc1 $t0, $f8
/* AC0F6C 80049DCC 44985000 */ mtc1 $t8, $f10
/* AC0F70 80049DD0 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC0F74 80049DD4 468041A0 */ cvt.s.w $f6, $f8
/* AC0F78 80049DD8 C60E00C4 */ lwc1 $f14, 0xc4($s0)
/* AC0F7C 80049DDC 46805320 */ cvt.s.w $f12, $f10
/* AC0F80 80049DE0 46103482 */ mul.s $f18, $f6, $f16
/* AC0F84 80049DE4 44069000 */ mfc1 $a2, $f18
/* AC0F88 80049DE8 0C010E27 */ jal func_8004389C
/* AC0F8C 80049DEC 00000000 */ nop
/* AC0F90 80049DF0 E60000C4 */ swc1 $f0, 0xc4($s0)
.L80049DF4:
/* AC0F94 80049DF4 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016
/* AC0F98 80049DF8 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0)
/* AC0F9C 80049DFC 3C018014 */ lui $at, %hi(D_80139F64)
/* AC0FA0 80049E00 C4209F64 */ lwc1 $f0, %lo(D_80139F64)($at)
/* AC0FA4 80049E04 84590198 */ lh $t9, 0x198($v0)
/* AC0FA8 80049E08 844901C6 */ lh $t1, 0x1c6($v0)
/* AC0FAC 80049E0C 3C073DCC */ li $a3, 0x3DCC0000 # 0.000000
/* AC0FB0 80049E10 44992000 */ mtc1 $t9, $f4
/* AC0FB4 80049E14 44894000 */ mtc1 $t1, $f8
/* AC0FB8 80049E18 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC0FBC 80049E1C 468022A0 */ cvt.s.w $f10, $f4
/* AC0FC0 80049E20 C60E00CC */ lwc1 $f14, 0xcc($s0)
/* AC0FC4 80049E24 468041A0 */ cvt.s.w $f6, $f8
/* AC0FC8 80049E28 46005302 */ mul.s $f12, $f10, $f0
/* AC0FCC 80049E2C 00000000 */ nop
/* AC0FD0 80049E30 46003402 */ mul.s $f16, $f6, $f0
/* AC0FD4 80049E34 44068000 */ mfc1 $a2, $f16
/* AC0FD8 80049E38 0C010E27 */ jal func_8004389C
/* AC0FDC 80049E3C 00000000 */ nop
/* AC0FE0 80049E40 3C018014 */ lui $at, %hi(D_80139F68)
/* AC0FE4 80049E44 C4229F68 */ lwc1 $f2, %lo(D_80139F68)($at)
/* AC0FE8 80049E48 E60000CC */ swc1 $f0, 0xcc($s0)
/* AC0FEC 80049E4C 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016
/* AC0FF0 80049E50 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0)
/* AC0FF4 80049E54 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* AC0FF8 80049E58 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC0FFC 80049E5C 844A019A */ lh $t2, 0x19a($v0)
/* AC1000 80049E60 844B01C8 */ lh $t3, 0x1c8($v0)
/* AC1004 80049E64 C60E00D0 */ lwc1 $f14, 0xd0($s0)
/* AC1008 80049E68 448A9000 */ mtc1 $t2, $f18
/* AC100C 80049E6C 448B5000 */ mtc1 $t3, $f10
/* AC1010 80049E70 46809120 */ cvt.s.w $f4, $f18
/* AC1014 80049E74 46805220 */ cvt.s.w $f8, $f10
/* AC1018 80049E78 46022302 */ mul.s $f12, $f4, $f2
/* AC101C 80049E7C 00000000 */ nop
/* AC1020 80049E80 46024182 */ mul.s $f6, $f8, $f2
/* AC1024 80049E84 44063000 */ mfc1 $a2, $f6
/* AC1028 80049E88 0C010E27 */ jal func_8004389C
/* AC102C 80049E8C 00000000 */ nop
/* AC1030 80049E90 E60000D0 */ swc1 $f0, 0xd0($s0)
/* AC1034 80049E94 3C0C8016 */ lui $t4, %hi(gGameInfo) # $t4, 0x8016
/* AC1038 80049E98 8D8CFA90 */ lw $t4, %lo(gGameInfo)($t4)
/* AC103C 80049E9C 3C018014 */ lui $at, %hi(D_80139F6C)
/* AC1040 80049EA0 C4249F6C */ lwc1 $f4, %lo(D_80139F6C)($at)
/* AC1044 80049EA4 858D019C */ lh $t5, 0x19c($t4)
/* AC1048 80049EA8 3C063D4C */ lui $a2, (0x3D4CCCCD >> 16) # lui $a2, 0x3d4c
/* AC104C 80049EAC 3C073DCC */ li $a3, 0x3DCC0000 # 0.000000
/* AC1050 80049EB0 448D8000 */ mtc1 $t5, $f16
/* AC1054 80049EB4 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC1058 80049EB8 34C6CCCD */ ori $a2, (0x3D4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd
/* AC105C 80049EBC 468084A0 */ cvt.s.w $f18, $f16
/* AC1060 80049EC0 46000386 */ mov.s $f14, $f0
/* AC1064 80049EC4 46049302 */ mul.s $f12, $f18, $f4
/* AC1068 80049EC8 0C010E27 */ jal func_8004389C
/* AC106C 80049ECC 00000000 */ nop
/* AC1070 80049ED0 E60000D4 */ swc1 $f0, 0xd4($s0)
/* AC1074 80049ED4 8E060000 */ lw $a2, ($s0)
/* AC1078 80049ED8 AFA00010 */ sw $zero, 0x10($sp)
/* AC107C 80049EDC 02002025 */ move $a0, $s0
/* AC1080 80049EE0 27A50088 */ addiu $a1, $sp, 0x88
/* AC1084 80049EE4 0C011635 */ jal func_800458D4
/* AC1088 80049EE8 2627001C */ addiu $a3, $s1, 0x1c
/* AC108C 80049EEC 27AF0090 */ addiu $t7, $sp, 0x90
/* AC1090 80049EF0 8DE80000 */ lw $t0, ($t7)
/* AC1094 80049EF4 27AE0080 */ addiu $t6, $sp, 0x80
/* AC1098 80049EF8 27A40078 */ addiu $a0, $sp, 0x78
/* AC109C 80049EFC ADC80000 */ sw $t0, ($t6)
/* AC10A0 80049F00 8DF80004 */ lw $t8, 4($t7)
/* AC10A4 80049F04 ADD80004 */ sw $t8, 4($t6)
/* AC10A8 80049F08 8FA60040 */ lw $a2, 0x40($sp)
/* AC10AC 80049F0C 0C01F124 */ jal func_8007C490
/* AC10B0 80049F10 8FA5003C */ lw $a1, 0x3c($sp)
/* AC10B4 80049F14 3C198016 */ lui $t9, %hi(gGameInfo) # $t9, 0x8016
/* AC10B8 80049F18 8F39FA90 */ lw $t9, %lo(gGameInfo)($t9)
/* AC10BC 80049F1C 3C018014 */ lui $at, %hi(D_80139F70)
/* AC10C0 80049F20 C4269F70 */ lwc1 $f6, %lo(D_80139F70)($at)
/* AC10C4 80049F24 872901CE */ lh $t1, 0x1ce($t9)
/* AC10C8 80049F28 C7AC0078 */ lwc1 $f12, 0x78($sp)
/* AC10CC 80049F2C C7AE0090 */ lwc1 $f14, 0x90($sp)
/* AC10D0 80049F30 44895000 */ mtc1 $t1, $f10
/* AC10D4 80049F34 3C073F80 */ lui $a3, 0x3f80
/* AC10D8 80049F38 46805220 */ cvt.s.w $f8, $f10
/* AC10DC 80049F3C 46064402 */ mul.s $f16, $f8, $f6
/* AC10E0 80049F40 44068000 */ mfc1 $a2, $f16
/* AC10E4 80049F44 0C010E27 */ jal func_8004389C
/* AC10E8 80049F48 00000000 */ nop
/* AC10EC 80049F4C 3C0A8016 */ lui $t2, %hi(gGameInfo) # $t2, 0x8016
/* AC10F0 80049F50 8D4AFA90 */ lw $t2, %lo(gGameInfo)($t2)
/* AC10F4 80049F54 E7A00080 */ swc1 $f0, 0x80($sp)
/* AC10F8 80049F58 3C018014 */ lui $at, %hi(D_80139F74)
/* AC10FC 80049F5C 854B01CE */ lh $t3, 0x1ce($t2)
/* AC1100 80049F60 C42A9F74 */ lwc1 $f10, %lo(D_80139F74)($at)
/* AC1104 80049F64 87A4007C */ lh $a0, 0x7c($sp)
/* AC1108 80049F68 448B9000 */ mtc1 $t3, $f18
/* AC110C 80049F6C 87A50094 */ lh $a1, 0x94($sp)
/* AC1110 80049F70 2407000A */ li $a3, 10
/* AC1114 80049F74 46809120 */ cvt.s.w $f4, $f18
/* AC1118 80049F78 460A2202 */ mul.s $f8, $f4, $f10
/* AC111C 80049F7C 44064000 */ mfc1 $a2, $f8
/* AC1120 80049F80 0C010E47 */ jal func_8004391C
/* AC1124 80049F84 00000000 */ nop
/* AC1128 80049F88 A7A20084 */ sh $v0, 0x84($sp)
/* AC112C 80049F8C 862C0018 */ lh $t4, 0x18($s1)
/* AC1130 80049F90 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC1134 80049F94 02002025 */ move $a0, $s0
/* AC1138 80049F98 11800017 */ beqz $t4, .L80049FF8
/* AC113C 80049F9C 87A5008E */ lh $a1, 0x8e($sp)
/* AC1140 80049FA0 44813000 */ mtc1 $at, $f6
/* AC1144 80049FA4 C61000C8 */ lwc1 $f16, 0xc8($s0)
/* AC1148 80049FA8 86240016 */ lh $a0, 0x16($s1)
/* AC114C 80049FAC 87A5008E */ lh $a1, 0x8e($sp)
/* AC1150 80049FB0 46103483 */ div.s $f18, $f6, $f16
/* AC1154 80049FB4 2407000A */ li $a3, 10
/* AC1158 80049FB8 44069000 */ mfc1 $a2, $f18
/* AC115C 80049FBC 0C010E47 */ jal func_8004391C
/* AC1160 80049FC0 00000000 */ nop
/* AC1164 80049FC4 A7A20086 */ sh $v0, 0x86($sp)
/* AC1168 80049FC8 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC116C 80049FCC 44812000 */ mtc1 $at, $f4
/* AC1170 80049FD0 C60A00C8 */ lwc1 $f10, 0xc8($s0)
/* AC1174 80049FD4 86240014 */ lh $a0, 0x14($s1)
/* AC1178 80049FD8 87A5008C */ lh $a1, 0x8c($sp)
/* AC117C 80049FDC 460A2203 */ div.s $f8, $f4, $f10
/* AC1180 80049FE0 2407000A */ li $a3, 10
/* AC1184 80049FE4 44064000 */ mfc1 $a2, $f8
/* AC1188 80049FE8 0C010E47 */ jal func_8004391C
/* AC118C 80049FEC 00000000 */ nop
/* AC1190 80049FF0 10000007 */ b .L8004A010
/* AC1194 80049FF4 A7A20084 */ sh $v0, 0x84($sp)
.L80049FF8:
/* AC1198 80049FF8 44803000 */ mtc1 $zero, $f6
/* AC119C 80049FFC 860600A2 */ lh $a2, 0xa2($s0)
/* AC11A0 8004A000 8E070010 */ lw $a3, 0x10($s0)
/* AC11A4 8004A004 0C011B2D */ jal func_80046CB4
/* AC11A8 8004A008 E7A60010 */ swc1 $f6, 0x10($sp)
/* AC11AC 8004A00C A7A20086 */ sh $v0, 0x86($sp)
.L8004A010:
/* AC11B0 8004A010 C6000004 */ lwc1 $f0, 4($s0)
/* AC11B4 8004A014 C7B00080 */ lwc1 $f16, 0x80($sp)
/* AC11B8 8004A018 C7B20080 */ lwc1 $f18, 0x80($sp)
/* AC11BC 8004A01C 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016
/* AC11C0 8004A020 4600803C */ c.lt.s $f16, $f0
/* AC11C4 8004A024 27A40098 */ addiu $a0, $sp, 0x98
/* AC11C8 8004A028 27A60080 */ addiu $a2, $sp, 0x80
/* AC11CC 8004A02C 45020004 */ bc1fl .L8004A040
/* AC11D0 8004A030 C6000008 */ lwc1 $f0, 8($s0)
/* AC11D4 8004A034 10000007 */ b .L8004A054
/* AC11D8 8004A038 E7A00080 */ swc1 $f0, 0x80($sp)
/* AC11DC 8004A03C C6000008 */ lwc1 $f0, 8($s0)
.L8004A040:
/* AC11E0 8004A040 4612003C */ c.lt.s $f0, $f18
/* AC11E4 8004A044 00000000 */ nop
/* AC11E8 8004A048 45000002 */ bc1f .L8004A054
/* AC11EC 8004A04C 00000000 */ nop
/* AC11F0 8004A050 E7A00080 */ swc1 $f0, 0x80($sp)
.L8004A054:
/* AC11F4 8004A054 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0)
/* AC11F8 8004A058 87AD0084 */ lh $t5, 0x84($sp)
/* AC11FC 8004A05C 87AE0084 */ lh $t6, 0x84($sp)
/* AC1200 8004A060 8443019E */ lh $v1, 0x19e($v0)
/* AC1204 8004A064 006D082A */ slt $at, $v1, $t5
/* AC1208 8004A068 50200004 */ beql $at, $zero, .L8004A07C
/* AC120C 8004A06C 844301DA */ lh $v1, 0x1da($v0)
/* AC1210 8004A070 10000006 */ b .L8004A08C
/* AC1214 8004A074 A7A30084 */ sh $v1, 0x84($sp)
/* AC1218 8004A078 844301DA */ lh $v1, 0x1da($v0)
.L8004A07C:
/* AC121C 8004A07C 01C3082A */ slt $at, $t6, $v1
/* AC1220 8004A080 10200002 */ beqz $at, .L8004A08C
/* AC1224 8004A084 00000000 */ nop
/* AC1228 8004A088 A7A30084 */ sh $v1, 0x84($sp)
.L8004A08C:
/* AC122C 8004A08C 0C010F0A */ jal func_80043C28
/* AC1230 8004A090 8FA5003C */ lw $a1, 0x3c($sp)
/* AC1234 8004A094 8FA30038 */ lw $v1, 0x38($sp)
/* AC1238 8004A098 C7A40098 */ lwc1 $f4, 0x98($sp)
/* AC123C 8004A09C 3C0F8016 */ lui $t7, %hi(gGameInfo) # $t7, 0x8016
/* AC1240 8004A0A0 3C018014 */ lui $at, %hi(D_80139F78)
/* AC1244 8004A0A4 E4640000 */ swc1 $f4, ($v1)
/* AC1248 8004A0A8 C7AA00A0 */ lwc1 $f10, 0xa0($sp)
/* AC124C 8004A0AC C4600004 */ lwc1 $f0, 4($v1)
/* AC1250 8004A0B0 E46A0008 */ swc1 $f10, 8($v1)
/* AC1254 8004A0B4 8DEFFA90 */ lw $t7, %lo(gGameInfo)($t7)
/* AC1258 8004A0B8 C4309F78 */ lwc1 $f16, %lo(D_80139F78)($at)
/* AC125C 8004A0BC C7A4009C */ lwc1 $f4, 0x9c($sp)
/* AC1260 8004A0C0 85F801D2 */ lh $t8, 0x1d2($t7)
/* AC1264 8004A0C4 24010007 */ li $at, 7
/* AC1268 8004A0C8 46002281 */ sub.s $f10, $f4, $f0
/* AC126C 8004A0CC 44984000 */ mtc1 $t8, $f8
/* AC1270 8004A0D0 00000000 */ nop
/* AC1274 8004A0D4 468041A0 */ cvt.s.w $f6, $f8
/* AC1278 8004A0D8 46103482 */ mul.s $f18, $f6, $f16
/* AC127C 8004A0DC 00000000 */ nop
/* AC1280 8004A0E0 46125202 */ mul.s $f8, $f10, $f18
/* AC1284 8004A0E4 46080180 */ add.s $f6, $f0, $f8
/* AC1288 8004A0E8 E4660004 */ swc1 $f6, 4($v1)
/* AC128C 8004A0EC 86080140 */ lh $t0, 0x140($s0)
/* AC1290 8004A0F0 15010037 */ bne $t0, $at, .L8004A1D0
/* AC1294 8004A0F4 00000000 */ nop
/* AC1298 8004A0F8 8619001C */ lh $t9, 0x1c($s0)
/* AC129C 8004A0FC 02002025 */ move $a0, $s0
/* AC12A0 8004A100 27A50080 */ addiu $a1, $sp, 0x80
/* AC12A4 8004A104 33290010 */ andi $t1, $t9, 0x10
/* AC12A8 8004A108 15200031 */ bnez $t1, .L8004A1D0
/* AC12AC 8004A10C 27AA00A4 */ addiu $t2, $sp, 0xa4
/* AC12B0 8004A110 8E060004 */ lw $a2, 4($s0)
/* AC12B4 8004A114 8E07000C */ lw $a3, 0xc($s0)
/* AC12B8 8004A118 AFB10014 */ sw $s1, 0x14($sp)
/* AC12BC 8004A11C 0C011B88 */ jal func_80046E20
/* AC12C0 8004A120 AFAA0010 */ sw $t2, 0x10($sp)
/* AC12C4 8004A124 860B001C */ lh $t3, 0x1c($s0)
/* AC12C8 8004A128 87AD0094 */ lh $t5, 0x94($sp)
/* AC12CC 8004A12C 27A40080 */ addiu $a0, $sp, 0x80
/* AC12D0 8004A130 316C0004 */ andi $t4, $t3, 4
/* AC12D4 8004A134 11800008 */ beqz $t4, .L8004A158
/* AC12D8 8004A138 8FA50040 */ lw $a1, 0x40($sp)
/* AC12DC 8004A13C 000D7023 */ negu $t6, $t5
/* AC12E0 8004A140 A60E0134 */ sh $t6, 0x134($s0)
/* AC12E4 8004A144 87AF0096 */ lh $t7, 0x96($sp)
/* AC12E8 8004A148 A6000138 */ sh $zero, 0x138($s0)
/* AC12EC 8004A14C 25F88001 */ addiu $t8, $t7, -0x7fff
/* AC12F0 8004A150 10000008 */ b .L8004A174
/* AC12F4 8004A154 A6180136 */ sh $t8, 0x136($s0)
.L8004A158:
/* AC12F8 8004A158 0C01F124 */ jal func_8007C490
/* AC12FC 8004A15C 8FA6003C */ lw $a2, 0x3c($sp)
/* AC1300 8004A160 87A80084 */ lh $t0, 0x84($sp)
/* AC1304 8004A164 A6080134 */ sh $t0, 0x134($s0)
/* AC1308 8004A168 87B90086 */ lh $t9, 0x86($sp)
/* AC130C 8004A16C A6000138 */ sh $zero, 0x138($s0)
/* AC1310 8004A170 A6190136 */ sh $t9, 0x136($s0)
.L8004A174:
/* AC1314 8004A174 86290018 */ lh $t1, 0x18($s1)
/* AC1318 8004A178 3C018014 */ lui $at, %hi(D_80139F7C)
/* AC131C 8004A17C C7A400A4 */ lwc1 $f4, 0xa4($sp)
/* AC1320 8004A180 51200020 */ beql $t1, $zero, .L8004A204
/* AC1324 8004A184 8FA4003C */ lw $a0, 0x3c($sp)
/* AC1328 8004A188 C4309F7C */ lwc1 $f16, %lo(D_80139F7C)($at)
/* AC132C 8004A18C 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC1330 8004A190 44819000 */ mtc1 $at, $f18
/* AC1334 8004A194 46048282 */ mul.s $f10, $f16, $f4
/* AC1338 8004A198 862A0016 */ lh $t2, 0x16($s1)
/* AC133C 8004A19C 86050136 */ lh $a1, 0x136($s0)
/* AC1340 8004A1A0 2407000A */ li $a3, 10
/* AC1344 8004A1A4 254D8001 */ addiu $t5, $t2, -0x7fff
/* AC1348 8004A1A8 01A5C023 */ subu $t8, $t5, $a1
/* AC134C 8004A1AC 00B82021 */ addu $a0, $a1, $t8
/* AC1350 8004A1B0 460A9201 */ sub.s $f8, $f18, $f10
/* AC1354 8004A1B4 00042400 */ sll $a0, $a0, 0x10
/* AC1358 8004A1B8 00042403 */ sra $a0, $a0, 0x10
/* AC135C 8004A1BC 44064000 */ mfc1 $a2, $f8
/* AC1360 8004A1C0 0C010E47 */ jal func_8004391C
/* AC1364 8004A1C4 00000000 */ nop
/* AC1368 8004A1C8 1000000D */ b .L8004A200
/* AC136C 8004A1CC A6020136 */ sh $v0, 0x136($s0)
.L8004A1D0:
/* AC1370 8004A1D0 C606000C */ lwc1 $f6, 0xc($s0)
/* AC1374 8004A1D4 A6200018 */ sh $zero, 0x18($s1)
/* AC1378 8004A1D8 3C018012 */ lui $at, %hi(D_8011D3E8) # $at, 0x8012
/* AC137C 8004A1DC E6260010 */ swc1 $f6, 0x10($s1)
/* AC1380 8004A1E0 AC20D3E8 */ sw $zero, %lo(D_8011D3E8)($at)
/* AC1384 8004A1E4 8C690000 */ lw $t1, ($v1)
/* AC1388 8004A1E8 8FA80040 */ lw $t0, 0x40($sp)
/* AC138C 8004A1EC AD090000 */ sw $t1, ($t0)
/* AC1390 8004A1F0 8C790004 */ lw $t9, 4($v1)
/* AC1394 8004A1F4 AD190004 */ sw $t9, 4($t0)
/* AC1398 8004A1F8 8C690008 */ lw $t1, 8($v1)
/* AC139C 8004A1FC AD090008 */ sw $t1, 8($t0)
.L8004A200:
/* AC13A0 8004A200 8FA4003C */ lw $a0, 0x3c($sp)
.L8004A204:
/* AC13A4 8004A204 0C01EFE4 */ jal func_8007BF90
/* AC13A8 8004A208 8FA50040 */ lw $a1, 0x40($sp)
/* AC13AC 8004A20C E60000DC */ swc1 $f0, 0xdc($s0)
/* AC13B0 8004A210 00002025 */ move $a0, $zero
/* AC13B4 8004A214 8605015A */ lh $a1, 0x15a($s0)
/* AC13B8 8004A218 3C063F00 */ lui $a2, 0x3f00
/* AC13BC 8004A21C 0C010E47 */ jal func_8004391C
/* AC13C0 8004A220 2407000A */ li $a3, 10
/* AC13C4 8004A224 A602015A */ sh $v0, 0x15a($s0)
/* AC13C8 8004A228 02002025 */ move $a0, $s0
/* AC13CC 8004A22C 0C011429 */ jal func_800450A4
/* AC13D0 8004A230 8E050018 */ lw $a1, 0x18($s0)
/* AC13D4 8004A234 E6000100 */ swc1 $f0, 0x100($s0)
/* AC13D8 8004A238 8FBF0024 */ lw $ra, 0x24($sp)
/* AC13DC 8004A23C 8FB10020 */ lw $s1, 0x20($sp)
/* AC13E0 8004A240 8FB0001C */ lw $s0, 0x1c($sp)
/* AC13E4 8004A244 27BD00B8 */ addiu $sp, $sp, 0xb8
/* AC13E8 8004A248 03E00008 */ jr $ra
/* AC13EC 8004A24C 24020001 */ li $v0, 1

View file

@ -0,0 +1,747 @@
.rdata
glabel D_80139140
.asciz "\x1B[43;30mcamera: climb: no floor \n\x1B[m"
.balign 4
.late_rodata
glabel D_80139F80
.float 0.01
.float 0.01
.float 0.01
glabel D_80139F8C
.float 0.01
glabel D_80139F90
.float 0.01
glabel D_80139F94
.float 0.01
glabel D_80139F98
.float 0.05
glabel D_80139F9C
.float 2.2
glabel D_80139FA0
.float 0.01
glabel D_80139FA4
.float 0.01
glabel D_80139FA8
.float 0.01
glabel D_80139FAC
.float 0.01
.text
glabel func_8004A250
/* AC13F0 8004A250 27BDFF20 */ addiu $sp, $sp, -0xe0
/* AC13F4 8004A254 AFB00018 */ sw $s0, 0x18($sp)
/* AC13F8 8004A258 00808025 */ move $s0, $a0
/* AC13FC 8004A25C AFBF001C */ sw $ra, 0x1c($sp)
/* AC1400 8004A260 0C00B721 */ jal Player_GetCameraYOffset
/* AC1404 8004A264 8C840090 */ lw $a0, 0x90($a0)
/* AC1408 8004A268 E7A00048 */ swc1 $f0, 0x48($sp)
/* AC140C 8004A26C 8603015E */ lh $v1, 0x15e($s0)
/* AC1410 8004A270 10600009 */ beqz $v1, .L8004A298
/* AC1414 8004A274 2401000A */ li $at, 10
/* AC1418 8004A278 10610007 */ beq $v1, $at, .L8004A298
/* AC141C 8004A27C 24010014 */ li $at, 20
/* AC1420 8004A280 10610005 */ beq $v1, $at, .L8004A298
/* AC1424 8004A284 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016
/* AC1428 8004A288 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
/* AC142C 8004A28C 85C30314 */ lh $v1, 0x314($t6)
/* AC1430 8004A290 10600066 */ beqz $v1, .L8004A42C
/* AC1434 8004A294 00000000 */ nop
.L8004A298:
/* AC1438 8004A298 860F0142 */ lh $t7, 0x142($s0)
/* AC143C 8004A29C 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016
/* AC1440 8004A2A0 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
/* AC1444 8004A2A4 3C018014 */ lui $at, %hi(D_80139F80)
/* AC1448 8004A2A8 000FC0C0 */ sll $t8, $t7, 3
/* AC144C 8004A2AC C42E9F80 */ lwc1 $f14, %lo(D_80139F80)($at)
/* AC1450 8004A2B0 85CF01F0 */ lh $t7, 0x1f0($t6)
/* AC1454 8004A2B4 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC1458 8004A2B8 44814000 */ mtc1 $at, $f8
/* AC145C 8004A2BC 448F2000 */ mtc1 $t7, $f4
/* AC1460 8004A2C0 3C014288 */ li $at, 0x42880000 # 0.000000
/* AC1464 8004A2C4 44819000 */ mtc1 $at, $f18
/* AC1468 8004A2C8 468021A0 */ cvt.s.w $f6, $f4
/* AC146C 8004A2CC 3C198012 */ lui $t9, %hi(D_8011D068)
/* AC1470 8004A2D0 860B0144 */ lh $t3, 0x144($s0)
/* AC1474 8004A2D4 0338C821 */ addu $t9, $t9, $t8
/* AC1478 8004A2D8 8F39D068 */ lw $t9, %lo(D_8011D068)($t9)
/* AC147C 8004A2DC 46009103 */ div.s $f4, $f18, $f0
/* AC1480 8004A2E0 C61200F4 */ lwc1 $f18, 0xf4($s0)
/* AC1484 8004A2E4 000B60C0 */ sll $t4, $t3, 3
/* AC1488 8004A2E8 032C6821 */ addu $t5, $t9, $t4
/* AC148C 8004A2EC 460E3082 */ mul.s $f2, $f6, $f14
/* AC1490 8004A2F0 8DA20004 */ lw $v0, 4($t5)
/* AC1494 8004A2F4 3C014120 */ li $at, 0x41200000 # 0.000000
/* AC1498 8004A2F8 46024280 */ add.s $f10, $f8, $f2
/* AC149C 8004A2FC 44804000 */ mtc1 $zero, $f8
/* AC14A0 8004A300 46041182 */ mul.s $f6, $f2, $f4
/* AC14A4 8004A304 4612403C */ c.lt.s $f8, $f18
/* AC14A8 8004A308 00000000 */ nop
/* AC14AC 8004A30C 45000005 */ bc1f .L8004A324
/* AC14B0 8004A310 46065301 */ sub.s $f12, $f10, $f6
/* AC14B4 8004A314 3C01C120 */ li $at, 0xC1200000 # 0.000000
/* AC14B8 8004A318 44811000 */ mtc1 $at, $f2
/* AC14BC 8004A31C 10000004 */ b .L8004A330
/* AC14C0 8004A320 84580000 */ lh $t8, ($v0)
.L8004A324:
/* AC14C4 8004A324 44811000 */ mtc1 $at, $f2
/* AC14C8 8004A328 00000000 */ nop
/* AC14CC 8004A32C 84580000 */ lh $t8, ($v0)
.L8004A330:
/* AC14D0 8004A330 24420020 */ addiu $v0, $v0, 0x20
/* AC14D4 8004A334 44982000 */ mtc1 $t8, $f4
/* AC14D8 8004A338 00000000 */ nop
/* AC14DC 8004A33C 468022A0 */ cvt.s.w $f10, $f4
/* AC14E0 8004A340 46025180 */ add.s $f6, $f10, $f2
/* AC14E4 8004A344 460E3202 */ mul.s $f8, $f6, $f14
/* AC14E8 8004A348 00000000 */ nop
/* AC14EC 8004A34C 46004482 */ mul.s $f18, $f8, $f0
/* AC14F0 8004A350 00000000 */ nop
/* AC14F4 8004A354 460C9102 */ mul.s $f4, $f18, $f12
/* AC14F8 8004A358 E6040000 */ swc1 $f4, ($s0)
/* AC14FC 8004A35C 844BFFE4 */ lh $t3, -0x1c($v0)
/* AC1500 8004A360 448B5000 */ mtc1 $t3, $f10
/* AC1504 8004A364 00000000 */ nop
/* AC1508 8004A368 468051A0 */ cvt.s.w $f6, $f10
/* AC150C 8004A36C 460E3202 */ mul.s $f8, $f6, $f14
/* AC1510 8004A370 00000000 */ nop
/* AC1514 8004A374 46004482 */ mul.s $f18, $f8, $f0
/* AC1518 8004A378 00000000 */ nop
/* AC151C 8004A37C 460C9102 */ mul.s $f4, $f18, $f12
/* AC1520 8004A380 E6040004 */ swc1 $f4, 4($s0)
/* AC1524 8004A384 8459FFE8 */ lh $t9, -0x18($v0)
/* AC1528 8004A388 44995000 */ mtc1 $t9, $f10
/* AC152C 8004A38C 3C198016 */ lui $t9, %hi(gGameInfo) # $t9, 0x8016
/* AC1530 8004A390 468051A0 */ cvt.s.w $f6, $f10
/* AC1534 8004A394 460E3202 */ mul.s $f8, $f6, $f14
/* AC1538 8004A398 00000000 */ nop
/* AC153C 8004A39C 46004482 */ mul.s $f18, $f8, $f0
/* AC1540 8004A3A0 00000000 */ nop
/* AC1544 8004A3A4 460C9102 */ mul.s $f4, $f18, $f12
/* AC1548 8004A3A8 E6040008 */ swc1 $f4, 8($s0)
/* AC154C 8004A3AC 844CFFEC */ lh $t4, -0x14($v0)
/* AC1550 8004A3B0 448C5000 */ mtc1 $t4, $f10
/* AC1554 8004A3B4 00000000 */ nop
/* AC1558 8004A3B8 468051A0 */ cvt.s.w $f6, $f10
/* AC155C 8004A3BC 460E3202 */ mul.s $f8, $f6, $f14
/* AC1560 8004A3C0 E608000C */ swc1 $f8, 0xc($s0)
/* AC1564 8004A3C4 844DFFF0 */ lh $t5, -0x10($v0)
/* AC1568 8004A3C8 448D9000 */ mtc1 $t5, $f18
/* AC156C 8004A3CC 00000000 */ nop
/* AC1570 8004A3D0 46809120 */ cvt.s.w $f4, $f18
/* AC1574 8004A3D4 E6040010 */ swc1 $f4, 0x10($s0)
/* AC1578 8004A3D8 844EFFF4 */ lh $t6, -0xc($v0)
/* AC157C 8004A3DC 448E5000 */ mtc1 $t6, $f10
/* AC1580 8004A3E0 00000000 */ nop
/* AC1584 8004A3E4 468051A0 */ cvt.s.w $f6, $f10
/* AC1588 8004A3E8 460E3202 */ mul.s $f8, $f6, $f14
/* AC158C 8004A3EC E6080014 */ swc1 $f8, 0x14($s0)
/* AC1590 8004A3F0 844FFFF8 */ lh $t7, -8($v0)
/* AC1594 8004A3F4 448F9000 */ mtc1 $t7, $f18
/* AC1598 8004A3F8 00000000 */ nop
/* AC159C 8004A3FC 46809120 */ cvt.s.w $f4, $f18
/* AC15A0 8004A400 E6040018 */ swc1 $f4, 0x18($s0)
/* AC15A4 8004A404 8458FFFC */ lh $t8, -4($v0)
/* AC15A8 8004A408 44985000 */ mtc1 $t8, $f10
/* AC15AC 8004A40C 00000000 */ nop
/* AC15B0 8004A410 468051A0 */ cvt.s.w $f6, $f10
/* AC15B4 8004A414 460E3202 */ mul.s $f8, $f6, $f14
/* AC15B8 8004A418 E608001C */ swc1 $f8, 0x1c($s0)
/* AC15BC 8004A41C 844B0000 */ lh $t3, ($v0)
/* AC15C0 8004A420 A60B0020 */ sh $t3, 0x20($s0)
/* AC15C4 8004A424 8F39FA90 */ lw $t9, %lo(gGameInfo)($t9)
/* AC15C8 8004A428 87230314 */ lh $v1, 0x314($t9)
.L8004A42C:
/* AC15CC 8004A42C 50600004 */ beql $v1, $zero, .L8004A440
/* AC15D0 8004A430 26050050 */ addiu $a1, $s0, 0x50
/* AC15D4 8004A434 0C011495 */ jal func_80045254
/* AC15D8 8004A438 02002025 */ move $a0, $s0
/* AC15DC 8004A43C 26050050 */ addiu $a1, $s0, 0x50
.L8004A440:
/* AC15E0 8004A440 2606005C */ addiu $a2, $s0, 0x5c
/* AC15E4 8004A444 AFA60038 */ sw $a2, 0x38($sp)
/* AC15E8 8004A448 AFA50034 */ sw $a1, 0x34($sp)
/* AC15EC 8004A44C 0C01F124 */ jal func_8007C490
/* AC15F0 8004A450 27A4009C */ addiu $a0, $sp, 0x9c
/* AC15F4 8004A454 26060074 */ addiu $a2, $s0, 0x74
/* AC15F8 8004A458 AFA60030 */ sw $a2, 0x30($sp)
/* AC15FC 8004A45C 27A400A4 */ addiu $a0, $sp, 0xa4
/* AC1600 8004A460 0C01F124 */ jal func_8007C490
/* AC1604 8004A464 8FA50034 */ lw $a1, 0x34($sp)
/* AC1608 8004A468 860C0020 */ lh $t4, 0x20($s0)
/* AC160C 8004A46C 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012
/* AC1610 8004A470 AC2CD3A0 */ sw $t4, %lo(D_8011D3A0)($at)
/* AC1614 8004A474 8603015E */ lh $v1, 0x15e($s0)
/* AC1618 8004A478 10600004 */ beqz $v1, .L8004A48C
/* AC161C 8004A47C 2401000A */ li $at, 10
/* AC1620 8004A480 10610002 */ beq $v1, $at, .L8004A48C
/* AC1624 8004A484 24010014 */ li $at, 20
/* AC1628 8004A488 1461006C */ bne $v1, $at, .L8004A63C
.L8004A48C:
/* AC162C 8004A48C 26080094 */ addiu $t0, $s0, 0x94
/* AC1630 8004A490 8D0E0000 */ lw $t6, ($t0)
/* AC1634 8004A494 27A500C8 */ addiu $a1, $sp, 0xc8
/* AC1638 8004A498 02002025 */ move $a0, $s0
/* AC163C 8004A49C ACAE0000 */ sw $t6, ($a1)
/* AC1640 8004A4A0 8D0D0004 */ lw $t5, 4($t0)
/* AC1644 8004A4A4 ACAD0004 */ sw $t5, 4($a1)
/* AC1648 8004A4A8 8D0E0008 */ lw $t6, 8($t0)
/* AC164C 8004A4AC ACAE0008 */ sw $t6, 8($a1)
/* AC1650 8004A4B0 0C011144 */ jal func_80044510
/* AC1654 8004A4B4 AFA8002C */ sw $t0, 0x2c($sp)
/* AC1658 8004A4B8 3C01C6FA */ li $at, 0xC6FA0000 # 0.000000
/* AC165C 8004A4BC 44819000 */ mtc1 $at, $f18
/* AC1660 8004A4C0 8FA8002C */ lw $t0, 0x2c($sp)
/* AC1664 8004A4C4 26090024 */ addiu $t1, $s0, 0x24
/* AC1668 8004A4C8 46120032 */ c.eq.s $f0, $f18
/* AC166C 8004A4CC E5200000 */ swc1 $f0, ($t1)
/* AC1670 8004A4D0 87AF00AA */ lh $t7, 0xaa($sp)
/* AC1674 8004A4D4 A5200006 */ sh $zero, 6($t1)
/* AC1678 8004A4D8 45000010 */ bc1f .L8004A51C
/* AC167C 8004A4DC A52F0004 */ sh $t7, 4($t1)
/* AC1680 8004A4E0 3C048014 */ lui $a0, %hi(D_80139140) # $a0, 0x8014
/* AC1684 8004A4E4 24849140 */ addiu $a0, %lo(D_80139140) # addiu $a0, $a0, -0x6ec0
/* AC1688 8004A4E8 AFA8002C */ sw $t0, 0x2c($sp)
/* AC168C 8004A4EC 0C00084C */ jal osSyncPrintf
/* AC1690 8004A4F0 AFA90028 */ sw $t1, 0x28($sp)
/* AC1694 8004A4F4 8FA90028 */ lw $t1, 0x28($sp)
/* AC1698 8004A4F8 8FA8002C */ lw $t0, 0x2c($sp)
/* AC169C 8004A4FC 2418FFFF */ li $t8, -1
/* AC16A0 8004A500 3C01447A */ li $at, 0x447A0000 # 0.000000
/* AC16A4 8004A504 A538000A */ sh $t8, 0xa($t1)
/* AC16A8 8004A508 44815000 */ mtc1 $at, $f10
/* AC16AC 8004A50C C5040004 */ lwc1 $f4, 4($t0)
/* AC16B0 8004A510 460A2181 */ sub.s $f6, $f4, $f10
/* AC16B4 8004A514 1000000E */ b .L8004A550
/* AC16B8 8004A518 E5260000 */ swc1 $f6, ($t1)
.L8004A51C:
/* AC16BC 8004A51C C5080004 */ lwc1 $f8, 4($t0)
/* AC16C0 8004A520 C5320000 */ lwc1 $f18, ($t1)
/* AC16C4 8004A524 C7AA0048 */ lwc1 $f10, 0x48($sp)
/* AC16C8 8004A528 240B0001 */ li $t3, 1
/* AC16CC 8004A52C 46124101 */ sub.s $f4, $f8, $f18
/* AC16D0 8004A530 2419FFFF */ li $t9, -1
/* AC16D4 8004A534 460A203C */ c.lt.s $f4, $f10
/* AC16D8 8004A538 00000000 */ nop
/* AC16DC 8004A53C 45020004 */ bc1fl .L8004A550
/* AC16E0 8004A540 A539000A */ sh $t9, 0xa($t1)
/* AC16E4 8004A544 10000002 */ b .L8004A550
/* AC16E8 8004A548 A52B000A */ sh $t3, 0xa($t1)
/* AC16EC 8004A54C A539000A */ sh $t9, 0xa($t1)
.L8004A550:
/* AC16F0 8004A550 850C000E */ lh $t4, 0xe($t0)
/* AC16F4 8004A554 3C038016 */ lui $v1, %hi(gGameInfo) # $v1, 0x8016
/* AC16F8 8004A558 2463FA90 */ addiu $v1, %lo(gGameInfo) # addiu $v1, $v1, -0x570
/* AC16FC 8004A55C 87B800AA */ lh $t8, 0xaa($sp)
/* AC1700 8004A560 8C6B0000 */ lw $t3, ($v1)
/* AC1704 8004A564 258D8001 */ addiu $t5, $t4, -0x7fff
/* AC1708 8004A568 000D7400 */ sll $t6, $t5, 0x10
/* AC170C 8004A56C 000E7C03 */ sra $t7, $t6, 0x10
/* AC1710 8004A570 857901C2 */ lh $t9, 0x1c2($t3)
/* AC1714 8004A574 01F81023 */ subu $v0, $t7, $t8
/* AC1718 8004A578 00021400 */ sll $v0, $v0, 0x10
/* AC171C 8004A57C 00021403 */ sra $v0, $v0, 0x10
/* AC1720 8004A580 0059001A */ div $zero, $v0, $t9
/* AC1724 8004A584 17200002 */ bnez $t9, .L8004A590
/* AC1728 8004A588 00000000 */ nop
/* AC172C 8004A58C 0007000D */ break 7
.L8004A590:
/* AC1730 8004A590 2401FFFF */ li $at, -1
/* AC1734 8004A594 17210004 */ bne $t9, $at, .L8004A5A8
/* AC1738 8004A598 3C018000 */ lui $at, 0x8000
/* AC173C 8004A59C 14410002 */ bne $v0, $at, .L8004A5A8
/* AC1740 8004A5A0 00000000 */ nop
/* AC1744 8004A5A4 0006000D */ break 6
.L8004A5A8:
/* AC1748 8004A5A8 00006012 */ mflo $t4
/* AC174C 8004A5AC 240B000A */ li $t3, 10
/* AC1750 8004A5B0 05810003 */ bgez $t4, .L8004A5C0
/* AC1754 8004A5B4 000C6883 */ sra $t5, $t4, 2
/* AC1758 8004A5B8 25810003 */ addiu $at, $t4, 3
/* AC175C 8004A5BC 00016883 */ sra $t5, $at, 2
.L8004A5C0:
/* AC1760 8004A5C0 000D7080 */ sll $t6, $t5, 2
/* AC1764 8004A5C4 01CD7023 */ subu $t6, $t6, $t5
/* AC1768 8004A5C8 A52E0006 */ sh $t6, 6($t1)
/* AC176C 8004A5CC 860F0020 */ lh $t7, 0x20($s0)
/* AC1770 8004A5D0 24192710 */ li $t9, 10000
/* AC1774 8004A5D4 31F80002 */ andi $t8, $t7, 2
/* AC1778 8004A5D8 53000004 */ beql $t8, $zero, .L8004A5EC
/* AC177C 8004A5DC A5390008 */ sh $t9, 8($t1)
/* AC1780 8004A5E0 10000002 */ b .L8004A5EC
/* AC1784 8004A5E4 A52B0008 */ sh $t3, 8($t1)
/* AC1788 8004A5E8 A5390008 */ sh $t9, 8($t1)
.L8004A5EC:
/* AC178C 8004A5EC C5060000 */ lwc1 $f6, ($t0)
/* AC1790 8004A5F0 C60800F0 */ lwc1 $f8, 0xf0($s0)
/* AC1794 8004A5F4 C5040004 */ lwc1 $f4, 4($t0)
/* AC1798 8004A5F8 46083481 */ sub.s $f18, $f6, $f8
/* AC179C 8004A5FC C5080008 */ lwc1 $f8, 8($t0)
/* AC17A0 8004A600 E5120000 */ swc1 $f18, ($t0)
/* AC17A4 8004A604 C60A00F4 */ lwc1 $f10, 0xf4($s0)
/* AC17A8 8004A608 460A2181 */ sub.s $f6, $f4, $f10
/* AC17AC 8004A60C E5060004 */ swc1 $f6, 4($t0)
/* AC17B0 8004A610 C61200F8 */ lwc1 $f18, 0xf8($s0)
/* AC17B4 8004A614 46124101 */ sub.s $f4, $f8, $f18
/* AC17B8 8004A618 E5040008 */ swc1 $f4, 8($t0)
/* AC17BC 8004A61C 8C6C0000 */ lw $t4, ($v1)
/* AC17C0 8004A620 858D01C2 */ lh $t5, 0x1c2($t4)
/* AC17C4 8004A624 A52D000C */ sh $t5, 0xc($t1)
/* AC17C8 8004A628 860E015E */ lh $t6, 0x15e($s0)
/* AC17CC 8004A62C C60A001C */ lwc1 $f10, 0x1c($s0)
/* AC17D0 8004A630 25CF0001 */ addiu $t7, $t6, 1
/* AC17D4 8004A634 A60F015E */ sh $t7, 0x15e($s0)
/* AC17D8 8004A638 E60A0100 */ swc1 $f10, 0x100($s0)
.L8004A63C:
/* AC17DC 8004A63C 3C038016 */ lui $v1, %hi(gGameInfo) # $v1, 0x8016
/* AC17E0 8004A640 2463FA90 */ addiu $v1, %lo(gGameInfo) # addiu $v1, $v1, -0x570
/* AC17E4 8004A644 8C620000 */ lw $v0, ($v1)
/* AC17E8 8004A648 3C018014 */ lui $at, %hi(D_80139F8C)
/* AC17EC 8004A64C C4309F8C */ lwc1 $f16, %lo(D_80139F8C)($at)
/* AC17F0 8004A650 845801C6 */ lh $t8, 0x1c6($v0)
/* AC17F4 8004A654 844B01C8 */ lh $t3, 0x1c8($v0)
/* AC17F8 8004A658 C60000E0 */ lwc1 $f0, 0xe0($s0)
/* AC17FC 8004A65C 44983000 */ mtc1 $t8, $f6
/* AC1800 8004A660 448B2000 */ mtc1 $t3, $f4
/* AC1804 8004A664 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* AC1808 8004A668 46803220 */ cvt.s.w $f8, $f6
/* AC180C 8004A66C 26080094 */ addiu $t0, $s0, 0x94
/* AC1810 8004A670 26090024 */ addiu $t1, $s0, 0x24
/* AC1814 8004A674 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC1818 8004A678 468022A0 */ cvt.s.w $f10, $f4
/* AC181C 8004A67C 46104482 */ mul.s $f18, $f8, $f16
/* AC1820 8004A680 00000000 */ nop
/* AC1824 8004A684 46009082 */ mul.s $f2, $f18, $f0
/* AC1828 8004A688 00000000 */ nop
/* AC182C 8004A68C 46105182 */ mul.s $f6, $f10, $f16
/* AC1830 8004A690 44061000 */ mfc1 $a2, $f2
/* AC1834 8004A694 46003202 */ mul.s $f8, $f6, $f0
/* AC1838 8004A698 E7A8008C */ swc1 $f8, 0x8c($sp)
/* AC183C 8004A69C C60E00C8 */ lwc1 $f14, 0xc8($s0)
/* AC1840 8004A6A0 C60C0010 */ lwc1 $f12, 0x10($s0)
/* AC1844 8004A6A4 E7A20090 */ swc1 $f2, 0x90($sp)
/* AC1848 8004A6A8 AFA90028 */ sw $t1, 0x28($sp)
/* AC184C 8004A6AC 0C010E27 */ jal func_8004389C
/* AC1850 8004A6B0 AFA8002C */ sw $t0, 0x2c($sp)
/* AC1854 8004A6B4 C7A20090 */ lwc1 $f2, 0x90($sp)
/* AC1858 8004A6B8 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* AC185C 8004A6BC E60000C8 */ swc1 $f0, 0xc8($s0)
/* AC1860 8004A6C0 44061000 */ mfc1 $a2, $f2
/* AC1864 8004A6C4 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC1868 8004A6C8 C60C0014 */ lwc1 $f12, 0x14($s0)
/* AC186C 8004A6CC 0C010E27 */ jal func_8004389C
/* AC1870 8004A6D0 C60E00CC */ lwc1 $f14, 0xcc($s0)
/* AC1874 8004A6D4 E60000CC */ swc1 $f0, 0xcc($s0)
/* AC1878 8004A6D8 3C198016 */ lui $t9, %hi(gGameInfo) # $t9, 0x8016
/* AC187C 8004A6DC 8F39FA90 */ lw $t9, %lo(gGameInfo)($t9)
/* AC1880 8004A6E0 3C018014 */ lui $at, %hi(D_80139F90)
/* AC1884 8004A6E4 C42A9F90 */ lwc1 $f10, %lo(D_80139F90)($at)
/* AC1888 8004A6E8 872C019A */ lh $t4, 0x19a($t9)
/* AC188C 8004A6EC 3C073DCC */ li $a3, 0x3DCC0000 # 0.000000
/* AC1890 8004A6F0 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC1894 8004A6F4 448C9000 */ mtc1 $t4, $f18
/* AC1898 8004A6F8 8FA6008C */ lw $a2, 0x8c($sp)
/* AC189C 8004A6FC C60E00D0 */ lwc1 $f14, 0xd0($s0)
/* AC18A0 8004A700 46809120 */ cvt.s.w $f4, $f18
/* AC18A4 8004A704 460A2302 */ mul.s $f12, $f4, $f10
/* AC18A8 8004A708 0C010E27 */ jal func_8004389C
/* AC18AC 8004A70C 00000000 */ nop
/* AC18B0 8004A710 E60000D0 */ swc1 $f0, 0xd0($s0)
/* AC18B4 8004A714 3C0D8016 */ lui $t5, %hi(gGameInfo) # $t5, 0x8016
/* AC18B8 8004A718 8DADFA90 */ lw $t5, %lo(gGameInfo)($t5)
/* AC18BC 8004A71C 3C018014 */ lui $at, %hi(D_80139F94)
/* AC18C0 8004A720 C4329F94 */ lwc1 $f18, %lo(D_80139F94)($at)
/* AC18C4 8004A724 85AE019C */ lh $t6, 0x19c($t5)
/* AC18C8 8004A728 3C018014 */ lui $at, %hi(D_80139F98)
/* AC18CC 8004A72C C42A9F98 */ lwc1 $f10, %lo(D_80139F98)($at)
/* AC18D0 8004A730 448E3000 */ mtc1 $t6, $f6
/* AC18D4 8004A734 C60400E0 */ lwc1 $f4, 0xe0($s0)
/* AC18D8 8004A738 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* AC18DC 8004A73C 46803220 */ cvt.s.w $f8, $f6
/* AC18E0 8004A740 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC18E4 8004A744 46000386 */ mov.s $f14, $f0
/* AC18E8 8004A748 46124302 */ mul.s $f12, $f8, $f18
/* AC18EC 8004A74C 00000000 */ nop
/* AC18F0 8004A750 460A2182 */ mul.s $f6, $f4, $f10
/* AC18F4 8004A754 44063000 */ mfc1 $a2, $f6
/* AC18F8 8004A758 0C010E27 */ jal func_8004389C
/* AC18FC 8004A75C 00000000 */ nop
/* AC1900 8004A760 E60000D4 */ swc1 $f0, 0xd4($s0)
/* AC1904 8004A764 3C0F8016 */ lui $t7, %hi(gGameInfo) # $t7, 0x8016
/* AC1908 8004A768 8DEFFA90 */ lw $t7, %lo(gGameInfo)($t7)
/* AC190C 8004A76C 02002025 */ move $a0, $s0
/* AC1910 8004A770 27A500A4 */ addiu $a1, $sp, 0xa4
/* AC1914 8004A774 85F801CA */ lh $t8, 0x1ca($t7)
/* AC1918 8004A778 8E060000 */ lw $a2, ($s0)
/* AC191C 8004A77C 00003825 */ move $a3, $zero
/* AC1920 8004A780 44984000 */ mtc1 $t8, $f8
/* AC1924 8004A784 00000000 */ nop
/* AC1928 8004A788 468044A0 */ cvt.s.w $f18, $f8
/* AC192C 8004A78C 0C0115EA */ jal func_800457A8
/* AC1930 8004A790 E61200C0 */ swc1 $f18, 0xc0($s0)
/* AC1934 8004A794 27A400B4 */ addiu $a0, $sp, 0xb4
/* AC1938 8004A798 8FA50034 */ lw $a1, 0x34($sp)
/* AC193C 8004A79C 0C01F124 */ jal func_8007C490
/* AC1940 8004A7A0 8FA60038 */ lw $a2, 0x38($sp)
/* AC1944 8004A7A4 C60C0008 */ lwc1 $f12, 8($s0)
/* AC1948 8004A7A8 C60E000C */ lwc1 $f14, 0xc($s0)
/* AC194C 8004A7AC C6000004 */ lwc1 $f0, 4($s0)
/* AC1950 8004A7B0 C7A600B4 */ lwc1 $f6, 0xb4($sp)
/* AC1954 8004A7B4 460E6102 */ mul.s $f4, $f12, $f14
/* AC1958 8004A7B8 8FA8002C */ lw $t0, 0x2c($sp)
/* AC195C 8004A7BC 8FA90028 */ lw $t1, 0x28($sp)
/* AC1960 8004A7C0 460E0282 */ mul.s $f10, $f0, $f14
/* AC1964 8004A7C4 46046080 */ add.s $f2, $f12, $f4
/* AC1968 8004A7C8 460A0401 */ sub.s $f16, $f0, $f10
/* AC196C 8004A7CC 4606103C */ c.lt.s $f2, $f6
/* AC1970 8004A7D0 00000000 */ nop
/* AC1974 8004A7D4 45020004 */ bc1fl .L8004A7E8
/* AC1978 8004A7D8 C7A800B4 */ lwc1 $f8, 0xb4($sp)
/* AC197C 8004A7DC 10000007 */ b .L8004A7FC
/* AC1980 8004A7E0 E7A200B4 */ swc1 $f2, 0xb4($sp)
/* AC1984 8004A7E4 C7A800B4 */ lwc1 $f8, 0xb4($sp)
.L8004A7E8:
/* AC1988 8004A7E8 4610403C */ c.lt.s $f8, $f16
/* AC198C 8004A7EC 00000000 */ nop
/* AC1990 8004A7F0 45020003 */ bc1fl .L8004A800
/* AC1994 8004A7F4 850A000E */ lh $t2, 0xe($t0)
/* AC1998 8004A7F8 E7B000B4 */ swc1 $f16, 0xb4($sp)
.L8004A7FC:
/* AC199C 8004A7FC 850A000E */ lh $t2, 0xe($t0)
.L8004A800:
/* AC19A0 8004A800 87AC00BA */ lh $t4, 0xba($sp)
/* AC19A4 8004A804 8523000C */ lh $v1, 0xc($t1)
/* AC19A8 8004A808 254A8001 */ addiu $t2, $t2, -0x7fff
/* AC19AC 8004A80C 014C1023 */ subu $v0, $t2, $t4
/* AC19B0 8004A810 00021400 */ sll $v0, $v0, 0x10
/* AC19B4 8004A814 1060000F */ beqz $v1, .L8004A854
/* AC19B8 8004A818 00021403 */ sra $v0, $v0, 0x10
/* AC19BC 8004A81C A52A0004 */ sh $t2, 4($t1)
/* AC19C0 8004A820 246DFFFF */ addiu $t5, $v1, -1
/* AC19C4 8004A824 A52D000C */ sh $t5, 0xc($t1)
/* AC19C8 8004A828 85240004 */ lh $a0, 4($t1)
/* AC19CC 8004A82C AFA90028 */ sw $t1, 0x28($sp)
/* AC19D0 8004A830 AFA8002C */ sw $t0, 0x2c($sp)
/* AC19D4 8004A834 87A500AA */ lh $a1, 0xaa($sp)
/* AC19D8 8004A838 3C063F00 */ lui $a2, 0x3f00
/* AC19DC 8004A83C 0C010E47 */ jal func_8004391C
/* AC19E0 8004A840 2407000A */ li $a3, 10
/* AC19E4 8004A844 8FA8002C */ lw $t0, 0x2c($sp)
/* AC19E8 8004A848 8FA90028 */ lw $t1, 0x28($sp)
/* AC19EC 8004A84C 10000029 */ b .L8004A8F4
/* AC19F0 8004A850 A7A200BA */ sh $v0, 0xba($sp)
.L8004A854:
/* AC19F4 8004A854 04400003 */ bltz $v0, .L8004A864
/* AC19F8 8004A858 00021823 */ negu $v1, $v0
/* AC19FC 8004A85C 10000001 */ b .L8004A864
/* AC1A00 8004A860 00401825 */ move $v1, $v0
.L8004A864:
/* AC1A04 8004A864 85240008 */ lh $a0, 8($t1)
/* AC1A08 8004A868 87A500AA */ lh $a1, 0xaa($sp)
/* AC1A0C 8004A86C 3C063E80 */ lui $a2, 0x3e80
/* AC1A10 8004A870 0083082A */ slt $at, $a0, $v1
/* AC1A14 8004A874 10200018 */ beqz $at, .L8004A8D8
/* AC1A18 8004A878 2407000A */ li $a3, 10
/* AC1A1C 8004A87C 000A2C00 */ sll $a1, $t2, 0x10
/* AC1A20 8004A880 04410005 */ bgez $v0, .L8004A898
/* AC1A24 8004A884 00052C03 */ sra $a1, $a1, 0x10
/* AC1A28 8004A888 00A41821 */ addu $v1, $a1, $a0
/* AC1A2C 8004A88C 00031C00 */ sll $v1, $v1, 0x10
/* AC1A30 8004A890 10000004 */ b .L8004A8A4
/* AC1A34 8004A894 00031C03 */ sra $v1, $v1, 0x10
.L8004A898:
/* AC1A38 8004A898 00A41823 */ subu $v1, $a1, $a0
/* AC1A3C 8004A89C 00031C00 */ sll $v1, $v1, 0x10
/* AC1A40 8004A8A0 00031C03 */ sra $v1, $v1, 0x10
.L8004A8A4:
/* AC1A44 8004A8A4 00032400 */ sll $a0, $v1, 0x10
/* AC1A48 8004A8A8 3C063DCC */ lui $a2, (0x3DCCCCCD >> 16) # lui $a2, 0x3dcc
/* AC1A4C 8004A8AC 34C6CCCD */ ori $a2, (0x3DCCCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd
/* AC1A50 8004A8B0 00042403 */ sra $a0, $a0, 0x10
/* AC1A54 8004A8B4 87A500AA */ lh $a1, 0xaa($sp)
/* AC1A58 8004A8B8 2407000A */ li $a3, 10
/* AC1A5C 8004A8BC AFA8002C */ sw $t0, 0x2c($sp)
/* AC1A60 8004A8C0 0C010E6B */ jal func_800439AC
/* AC1A64 8004A8C4 AFA90028 */ sw $t1, 0x28($sp)
/* AC1A68 8004A8C8 8FA8002C */ lw $t0, 0x2c($sp)
/* AC1A6C 8004A8CC 8FA90028 */ lw $t1, 0x28($sp)
/* AC1A70 8004A8D0 10000008 */ b .L8004A8F4
/* AC1A74 8004A8D4 A7A200BA */ sh $v0, 0xba($sp)
.L8004A8D8:
/* AC1A78 8004A8D8 87A400BA */ lh $a0, 0xba($sp)
/* AC1A7C 8004A8DC AFA8002C */ sw $t0, 0x2c($sp)
/* AC1A80 8004A8E0 0C010E47 */ jal func_8004391C
/* AC1A84 8004A8E4 AFA90028 */ sw $t1, 0x28($sp)
/* AC1A88 8004A8E8 8FA8002C */ lw $t0, 0x2c($sp)
/* AC1A8C 8004A8EC 8FA90028 */ lw $t1, 0x28($sp)
/* AC1A90 8004A8F0 A7A200BA */ sh $v0, 0xba($sp)
.L8004A8F4:
/* AC1A94 8004A8F4 8504000E */ lh $a0, 0xe($t0)
/* AC1A98 8004A8F8 AFA90028 */ sw $t1, 0x28($sp)
/* AC1A9C 8004A8FC 0C01DE1C */ jal Math_Sins
/* AC1AA0 8004A900 AFA8002C */ sw $t0, 0x2c($sp)
/* AC1AA4 8004A904 3C0141C8 */ li $at, 0x41C80000 # 0.000000
/* AC1AA8 8004A908 44819000 */ mtc1 $at, $f18
/* AC1AAC 8004A90C 8FA8002C */ lw $t0, 0x2c($sp)
/* AC1AB0 8004A910 3C018014 */ lui $at, %hi(D_80139F9C)
/* AC1AB4 8004A914 46120102 */ mul.s $f4, $f0, $f18
/* AC1AB8 8004A918 C50A0000 */ lwc1 $f10, ($t0)
/* AC1ABC 8004A91C C4329F9C */ lwc1 $f18, %lo(D_80139F9C)($at)
/* AC1AC0 8004A920 C7A80048 */ lwc1 $f8, 0x48($sp)
/* AC1AC4 8004A924 460A2180 */ add.s $f6, $f4, $f10
/* AC1AC8 8004A928 46124102 */ mul.s $f4, $f8, $f18
/* AC1ACC 8004A92C E7A600C8 */ swc1 $f6, 0xc8($sp)
/* AC1AD0 8004A930 C50A0004 */ lwc1 $f10, 4($t0)
/* AC1AD4 8004A934 46045180 */ add.s $f6, $f10, $f4
/* AC1AD8 8004A938 E7A600CC */ swc1 $f6, 0xcc($sp)
/* AC1ADC 8004A93C 0C01DE0D */ jal Math_Coss
/* AC1AE0 8004A940 8504000E */ lh $a0, 0xe($t0)
/* AC1AE4 8004A944 3C0141C8 */ li $at, 0x41C80000 # 0.000000
/* AC1AE8 8004A948 44814000 */ mtc1 $at, $f8
/* AC1AEC 8004A94C 8FA8002C */ lw $t0, 0x2c($sp)
/* AC1AF0 8004A950 02002025 */ move $a0, $s0
/* AC1AF4 8004A954 46080482 */ mul.s $f18, $f0, $f8
/* AC1AF8 8004A958 C50A0008 */ lwc1 $f10, 8($t0)
/* AC1AFC 8004A95C 27A500BC */ addiu $a1, $sp, 0xbc
/* AC1B00 8004A960 27A600C8 */ addiu $a2, $sp, 0xc8
/* AC1B04 8004A964 27A70088 */ addiu $a3, $sp, 0x88
/* AC1B08 8004A968 460A9100 */ add.s $f4, $f18, $f10
/* AC1B0C 8004A96C 0C01110D */ jal func_80044434
/* AC1B10 8004A970 E7A400D0 */ swc1 $f4, 0xd0($sp)
/* AC1B14 8004A974 3C01C6FA */ li $at, 0xC6FA0000 # 0.000000
/* AC1B18 8004A978 44813000 */ mtc1 $at, $f6
/* AC1B1C 8004A97C 8FA8002C */ lw $t0, 0x2c($sp)
/* AC1B20 8004A980 8FA90028 */ lw $t1, 0x28($sp)
/* AC1B24 8004A984 46060032 */ c.eq.s $f0, $f6
/* AC1B28 8004A988 00000000 */ nop
/* AC1B2C 8004A98C 45030036 */ bc1tl .L8004AA68
/* AC1B30 8004A990 C50A0004 */ lwc1 $f10, 4($t0)
/* AC1B34 8004A994 C5080004 */ lwc1 $f8, 4($t0)
/* AC1B38 8004A998 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016
/* AC1B3C 8004A99C 4600403C */ c.lt.s $f8, $f0
/* AC1B40 8004A9A0 00000000 */ nop
/* AC1B44 8004A9A4 45020030 */ bc1fl .L8004AA68
/* AC1B48 8004A9A8 C50A0004 */ lwc1 $f10, 4($t0)
/* AC1B4C 8004A9AC 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
/* AC1B50 8004A9B0 3C0141A0 */ li $at, 0x41A00000 # 0.000000
/* AC1B54 8004A9B4 44816000 */ mtc1 $at, $f12
/* AC1B58 8004A9B8 85CF01C8 */ lh $t7, 0x1c8($t6)
/* AC1B5C 8004A9BC 3C018014 */ lui $at, %hi(D_80139FA0)
/* AC1B60 8004A9C0 C4249FA0 */ lwc1 $f4, %lo(D_80139FA0)($at)
/* AC1B64 8004A9C4 448F9000 */ mtc1 $t7, $f18
/* AC1B68 8004A9C8 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* AC1B6C 8004A9CC 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC1B70 8004A9D0 468092A0 */ cvt.s.w $f10, $f18
/* AC1B74 8004A9D4 C60E00C4 */ lwc1 $f14, 0xc4($s0)
/* AC1B78 8004A9D8 46045182 */ mul.s $f6, $f10, $f4
/* AC1B7C 8004A9DC 44063000 */ mfc1 $a2, $f6
/* AC1B80 8004A9E0 0C010E27 */ jal func_8004389C
/* AC1B84 8004A9E4 00000000 */ nop
/* AC1B88 8004A9E8 E60000C4 */ swc1 $f0, 0xc4($s0)
/* AC1B8C 8004A9EC 3C188016 */ lui $t8, %hi(gGameInfo) # $t8, 0x8016
/* AC1B90 8004A9F0 8F18FA90 */ lw $t8, %lo(gGameInfo)($t8)
/* AC1B94 8004A9F4 3C0141A0 */ li $at, 0x41A00000 # 0.000000
/* AC1B98 8004A9F8 44816000 */ mtc1 $at, $f12
/* AC1B9C 8004A9FC 870B01C8 */ lh $t3, 0x1c8($t8)
/* AC1BA0 8004AA00 3C018014 */ lui $at, %hi(D_80139FA4)
/* AC1BA4 8004AA04 C42A9FA4 */ lwc1 $f10, %lo(D_80139FA4)($at)
/* AC1BA8 8004AA08 448B4000 */ mtc1 $t3, $f8
/* AC1BAC 8004AA0C 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* AC1BB0 8004AA10 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC1BB4 8004AA14 468044A0 */ cvt.s.w $f18, $f8
/* AC1BB8 8004AA18 C60E00C0 */ lwc1 $f14, 0xc0($s0)
/* AC1BBC 8004AA1C 460A9102 */ mul.s $f4, $f18, $f10
/* AC1BC0 8004AA20 44062000 */ mfc1 $a2, $f4
/* AC1BC4 8004AA24 0C010E27 */ jal func_8004389C
/* AC1BC8 8004AA28 00000000 */ nop
/* AC1BCC 8004AA2C 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC1BD0 8004AA30 44813000 */ mtc1 $at, $f6
/* AC1BD4 8004AA34 C60800C4 */ lwc1 $f8, 0xc4($s0)
/* AC1BD8 8004AA38 E60000C0 */ swc1 $f0, 0xc0($s0)
/* AC1BDC 8004AA3C 87A500A8 */ lh $a1, 0xa8($sp)
/* AC1BE0 8004AA40 46083483 */ div.s $f18, $f6, $f8
/* AC1BE4 8004AA44 240401F4 */ li $a0, 500
/* AC1BE8 8004AA48 2407000A */ li $a3, 10
/* AC1BEC 8004AA4C 44069000 */ mfc1 $a2, $f18
/* AC1BF0 8004AA50 0C010E47 */ jal func_8004391C
/* AC1BF4 8004AA54 00000000 */ nop
/* AC1BF8 8004AA58 00021C00 */ sll $v1, $v0, 0x10
/* AC1BFC 8004AA5C 1000003E */ b .L8004AB58
/* AC1C00 8004AA60 00031C03 */ sra $v1, $v1, 0x10
/* AC1C04 8004AA64 C50A0004 */ lwc1 $f10, 4($t0)
.L8004AA68:
/* AC1C08 8004AA68 C5240000 */ lwc1 $f4, ($t1)
/* AC1C0C 8004AA6C C7A80048 */ lwc1 $f8, 0x48($sp)
/* AC1C10 8004AA70 3C198016 */ lui $t9, %hi(gGameInfo) # $t9, 0x8016
/* AC1C14 8004AA74 46045181 */ sub.s $f6, $f10, $f4
/* AC1C18 8004AA78 3C0142C8 */ li $at, 0x42C80000 # 0.000000
/* AC1C1C 8004AA7C 4608303C */ c.lt.s $f6, $f8
/* AC1C20 8004AA80 00000000 */ nop
/* AC1C24 8004AA84 45020030 */ bc1fl .L8004AB48
/* AC1C28 8004AA88 44810000 */ mtc1 $at, $f0
/* AC1C2C 8004AA8C 8F39FA90 */ lw $t9, %lo(gGameInfo)($t9)
/* AC1C30 8004AA90 3C0141A0 */ li $at, 0x41A00000 # 0.000000
/* AC1C34 8004AA94 44816000 */ mtc1 $at, $f12
/* AC1C38 8004AA98 872C01C8 */ lh $t4, 0x1c8($t9)
/* AC1C3C 8004AA9C 3C018014 */ lui $at, %hi(D_80139FA8)
/* AC1C40 8004AAA0 C4249FA8 */ lwc1 $f4, %lo(D_80139FA8)($at)
/* AC1C44 8004AAA4 448C9000 */ mtc1 $t4, $f18
/* AC1C48 8004AAA8 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* AC1C4C 8004AAAC 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC1C50 8004AAB0 468092A0 */ cvt.s.w $f10, $f18
/* AC1C54 8004AAB4 C60E00C4 */ lwc1 $f14, 0xc4($s0)
/* AC1C58 8004AAB8 46045182 */ mul.s $f6, $f10, $f4
/* AC1C5C 8004AABC 44063000 */ mfc1 $a2, $f6
/* AC1C60 8004AAC0 0C010E27 */ jal func_8004389C
/* AC1C64 8004AAC4 00000000 */ nop
/* AC1C68 8004AAC8 E60000C4 */ swc1 $f0, 0xc4($s0)
/* AC1C6C 8004AACC 3C0D8016 */ lui $t5, %hi(gGameInfo) # $t5, 0x8016
/* AC1C70 8004AAD0 8DADFA90 */ lw $t5, %lo(gGameInfo)($t5)
/* AC1C74 8004AAD4 3C0141A0 */ li $at, 0x41A00000 # 0.000000
/* AC1C78 8004AAD8 44816000 */ mtc1 $at, $f12
/* AC1C7C 8004AADC 85AE01C8 */ lh $t6, 0x1c8($t5)
/* AC1C80 8004AAE0 3C018014 */ lui $at, %hi(D_80139FAC)
/* AC1C84 8004AAE4 C42A9FAC */ lwc1 $f10, %lo(D_80139FAC)($at)
/* AC1C88 8004AAE8 448E4000 */ mtc1 $t6, $f8
/* AC1C8C 8004AAEC 3C073DCC */ li $a3, 0x3DCC0000 # 0.000000
/* AC1C90 8004AAF0 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC1C94 8004AAF4 468044A0 */ cvt.s.w $f18, $f8
/* AC1C98 8004AAF8 C60E00C0 */ lwc1 $f14, 0xc0($s0)
/* AC1C9C 8004AAFC 460A9102 */ mul.s $f4, $f18, $f10
/* AC1CA0 8004AB00 44062000 */ mfc1 $a2, $f4
/* AC1CA4 8004AB04 0C010E27 */ jal func_8004389C
/* AC1CA8 8004AB08 00000000 */ nop
/* AC1CAC 8004AB0C 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC1CB0 8004AB10 44813000 */ mtc1 $at, $f6
/* AC1CB4 8004AB14 C60800C4 */ lwc1 $f8, 0xc4($s0)
/* AC1CB8 8004AB18 E60000C0 */ swc1 $f0, 0xc0($s0)
/* AC1CBC 8004AB1C 87A500A8 */ lh $a1, 0xa8($sp)
/* AC1CC0 8004AB20 46083483 */ div.s $f18, $f6, $f8
/* AC1CC4 8004AB24 240401F4 */ li $a0, 500
/* AC1CC8 8004AB28 2407000A */ li $a3, 10
/* AC1CCC 8004AB2C 44069000 */ mfc1 $a2, $f18
/* AC1CD0 8004AB30 0C010E47 */ jal func_8004391C
/* AC1CD4 8004AB34 00000000 */ nop
/* AC1CD8 8004AB38 A7A200B8 */ sh $v0, 0xb8($sp)
/* AC1CDC 8004AB3C 10000006 */ b .L8004AB58
/* AC1CE0 8004AB40 87A300B8 */ lh $v1, 0xb8($sp)
/* AC1CE4 8004AB44 44810000 */ mtc1 $at, $f0
.L8004AB48:
/* AC1CE8 8004AB48 00000000 */ nop
/* AC1CEC 8004AB4C E60000C4 */ swc1 $f0, 0xc4($s0)
/* AC1CF0 8004AB50 E60000C0 */ swc1 $f0, 0xc0($s0)
/* AC1CF4 8004AB54 87A300B8 */ lh $v1, 0xb8($sp)
.L8004AB58:
/* AC1CF8 8004AB58 28612AF9 */ slti $at, $v1, 0x2af9
/* AC1CFC 8004AB5C 14200002 */ bnez $at, .L8004AB68
/* AC1D00 8004AB60 27A600B4 */ addiu $a2, $sp, 0xb4
/* AC1D04 8004AB64 24032AF8 */ li $v1, 11000
.L8004AB68:
/* AC1D08 8004AB68 2861D508 */ slti $at, $v1, -0x2af8
/* AC1D0C 8004AB6C 10200003 */ beqz $at, .L8004AB7C
/* AC1D10 8004AB70 A7A300B8 */ sh $v1, 0xb8($sp)
/* AC1D14 8004AB74 2403D508 */ li $v1, -11000
/* AC1D18 8004AB78 A7A300B8 */ sh $v1, 0xb8($sp)
.L8004AB7C:
/* AC1D1C 8004AB7C 8FA40030 */ lw $a0, 0x30($sp)
/* AC1D20 8004AB80 0C010F0A */ jal func_80043C28
/* AC1D24 8004AB84 8FA50034 */ lw $a1, 0x34($sp)
/* AC1D28 8004AB88 8FAF0030 */ lw $t7, 0x30($sp)
/* AC1D2C 8004AB8C 27A60060 */ addiu $a2, $sp, 0x60
/* AC1D30 8004AB90 02002025 */ move $a0, $s0
/* AC1D34 8004AB94 8DEB0000 */ lw $t3, ($t7)
/* AC1D38 8004AB98 ACCB0000 */ sw $t3, ($a2)
/* AC1D3C 8004AB9C 8DF80004 */ lw $t8, 4($t7)
/* AC1D40 8004ABA0 ACD80004 */ sw $t8, 4($a2)
/* AC1D44 8004ABA4 8DEB0008 */ lw $t3, 8($t7)
/* AC1D48 8004ABA8 ACCB0008 */ sw $t3, 8($a2)
/* AC1D4C 8004ABAC 0C010F46 */ jal func_80043D18
/* AC1D50 8004ABB0 8FA50034 */ lw $a1, 0x34($sp)
/* AC1D54 8004ABB4 10400030 */ beqz $v0, .L8004AC78
/* AC1D58 8004ABB8 8FAD0030 */ lw $t5, 0x30($sp)
/* AC1D5C 8004ABBC 27A40060 */ addiu $a0, $sp, 0x60
/* AC1D60 8004ABC0 8C8D0000 */ lw $t5, ($a0)
/* AC1D64 8004ABC4 27B900C8 */ addiu $t9, $sp, 0xc8
/* AC1D68 8004ABC8 27A600AC */ addiu $a2, $sp, 0xac
/* AC1D6C 8004ABCC AF2D0000 */ sw $t5, ($t9)
/* AC1D70 8004ABD0 8C8C0004 */ lw $t4, 4($a0)
/* AC1D74 8004ABD4 AF2C0004 */ sw $t4, 4($t9)
/* AC1D78 8004ABD8 8C8D0008 */ lw $t5, 8($a0)
/* AC1D7C 8004ABDC AF2D0008 */ sw $t5, 8($t9)
/* AC1D80 8004ABE0 C7AA00B4 */ lwc1 $f10, 0xb4($sp)
/* AC1D84 8004ABE4 87AE00BA */ lh $t6, 0xba($sp)
/* AC1D88 8004ABE8 A7A000B0 */ sh $zero, 0xb0($sp)
/* AC1D8C 8004ABEC 8FA50034 */ lw $a1, 0x34($sp)
/* AC1D90 8004ABF0 E7AA00AC */ swc1 $f10, 0xac($sp)
/* AC1D94 8004ABF4 0C010F0A */ jal func_80043C28
/* AC1D98 8004ABF8 A7AE00B2 */ sh $t6, 0xb2($sp)
/* AC1D9C 8004ABFC 02002025 */ move $a0, $s0
/* AC1DA0 8004AC00 8FA50034 */ lw $a1, 0x34($sp)
/* AC1DA4 8004AC04 0C010F46 */ jal func_80043D18
/* AC1DA8 8004AC08 27A60060 */ addiu $a2, $sp, 0x60
/* AC1DAC 8004AC0C 1040000A */ beqz $v0, .L8004AC38
/* AC1DB0 8004AC10 00002025 */ move $a0, $zero
/* AC1DB4 8004AC14 27B800C8 */ addiu $t8, $sp, 0xc8
/* AC1DB8 8004AC18 8F190000 */ lw $t9, ($t8)
/* AC1DBC 8004AC1C 8FAF0038 */ lw $t7, 0x38($sp)
/* AC1DC0 8004AC20 ADF90000 */ sw $t9, ($t7)
/* AC1DC4 8004AC24 8F0B0004 */ lw $t3, 4($t8)
/* AC1DC8 8004AC28 ADEB0004 */ sw $t3, 4($t7)
/* AC1DCC 8004AC2C 8F190008 */ lw $t9, 8($t8)
/* AC1DD0 8004AC30 10000018 */ b .L8004AC94
/* AC1DD4 8004AC34 ADF90008 */ sw $t9, 8($t7)
.L8004AC38:
/* AC1DD8 8004AC38 3C063E4C */ lui $a2, (0x3E4CCCCD >> 16) # lui $a2, 0x3e4c
/* AC1DDC 8004AC3C 34C6CCCD */ ori $a2, (0x3E4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd
/* AC1DE0 8004AC40 87A500B8 */ lh $a1, 0xb8($sp)
/* AC1DE4 8004AC44 0C010E47 */ jal func_8004391C
/* AC1DE8 8004AC48 2407000A */ li $a3, 10
/* AC1DEC 8004AC4C A7A200B8 */ sh $v0, 0xb8($sp)
/* AC1DF0 8004AC50 8FA40038 */ lw $a0, 0x38($sp)
/* AC1DF4 8004AC54 8FA50034 */ lw $a1, 0x34($sp)
/* AC1DF8 8004AC58 0C010F0A */ jal func_80043C28
/* AC1DFC 8004AC5C 27A600B4 */ addiu $a2, $sp, 0xb4
/* AC1E00 8004AC60 02002025 */ move $a0, $s0
/* AC1E04 8004AC64 8FA50034 */ lw $a1, 0x34($sp)
/* AC1E08 8004AC68 0C010FCD */ jal func_80043F34
/* AC1E0C 8004AC6C 8FA60038 */ lw $a2, 0x38($sp)
/* AC1E10 8004AC70 10000009 */ b .L8004AC98
/* AC1E14 8004AC74 C7A400B4 */ lwc1 $f4, 0xb4($sp)
.L8004AC78:
/* AC1E18 8004AC78 8FAC0038 */ lw $t4, 0x38($sp)
/* AC1E1C 8004AC7C 8DAF0000 */ lw $t7, ($t5)
/* AC1E20 8004AC80 AD8F0000 */ sw $t7, ($t4)
/* AC1E24 8004AC84 8DAE0004 */ lw $t6, 4($t5)
/* AC1E28 8004AC88 AD8E0004 */ sw $t6, 4($t4)
/* AC1E2C 8004AC8C 8DAF0008 */ lw $t7, 8($t5)
/* AC1E30 8004AC90 AD8F0008 */ sw $t7, 8($t4)
.L8004AC94:
/* AC1E34 8004AC94 C7A400B4 */ lwc1 $f4, 0xb4($sp)
.L8004AC98:
/* AC1E38 8004AC98 C60C0018 */ lwc1 $f12, 0x18($s0)
/* AC1E3C 8004AC9C C60E00FC */ lwc1 $f14, 0xfc($s0)
/* AC1E40 8004ACA0 8E0600D4 */ lw $a2, 0xd4($s0)
/* AC1E44 8004ACA4 3C073F80 */ lui $a3, 0x3f80
/* AC1E48 8004ACA8 0C010E27 */ jal func_8004389C
/* AC1E4C 8004ACAC E60400DC */ swc1 $f4, 0xdc($s0)
/* AC1E50 8004ACB0 E60000FC */ swc1 $f0, 0xfc($s0)
/* AC1E54 8004ACB4 00002025 */ move $a0, $zero
/* AC1E58 8004ACB8 8605015A */ lh $a1, 0x15a($s0)
/* AC1E5C 8004ACBC 3C063F00 */ lui $a2, 0x3f00
/* AC1E60 8004ACC0 0C010E47 */ jal func_8004391C
/* AC1E64 8004ACC4 2407000A */ li $a3, 10
/* AC1E68 8004ACC8 A602015A */ sh $v0, 0x15a($s0)
/* AC1E6C 8004ACCC 8FBF001C */ lw $ra, 0x1c($sp)
/* AC1E70 8004ACD0 8FB00018 */ lw $s0, 0x18($sp)
/* AC1E74 8004ACD4 27BD00E0 */ addiu $sp, $sp, 0xe0
/* AC1E78 8004ACD8 03E00008 */ jr $ra
/* AC1E7C 8004ACDC 24020001 */ li $v0, 1

View file

@ -0,0 +1,604 @@
.late_rodata
glabel D_80139FB0
.float 0.01
glabel D_80139FB4
.float 182.04167
glabel D_80139FB8
.float 0.01
glabel D_80139FBC
.float 0.01
glabel D_80139FC0
.float 0.01
glabel D_80139FC4
.float 0.01
glabel D_80139FC8
.float 0.01
glabel D_80139FCC
.float 0.05
glabel D_80139FD0
.float 0.99
.text
glabel func_8004ACE0
/* AC1E80 8004ACE0 27BDFF28 */ addiu $sp, $sp, -0xd8
/* AC1E84 8004ACE4 AFB0001C */ sw $s0, 0x1c($sp)
/* AC1E88 8004ACE8 00808025 */ move $s0, $a0
/* AC1E8C 8004ACEC AFBF0024 */ sw $ra, 0x24($sp)
/* AC1E90 8004ACF0 AFB10020 */ sw $s1, 0x20($sp)
/* AC1E94 8004ACF4 0C00B721 */ jal Player_GetCameraYOffset
/* AC1E98 8004ACF8 8C840090 */ lw $a0, 0x90($a0)
/* AC1E9C 8004ACFC E7A00074 */ swc1 $f0, 0x74($sp)
/* AC1EA0 8004AD00 8E050090 */ lw $a1, 0x90($s0)
/* AC1EA4 8004AD04 0C00BBB9 */ jal func_8002EEE4
/* AC1EA8 8004AD08 27A40060 */ addiu $a0, $sp, 0x60
/* AC1EAC 8004AD0C 3C038016 */ lui $v1, %hi(gGameInfo) # $v1, 0x8016
/* AC1EB0 8004AD10 8C63FA90 */ lw $v1, %lo(gGameInfo)($v1)
/* AC1EB4 8004AD14 2606005C */ addiu $a2, $s0, 0x5c
/* AC1EB8 8004AD18 C4C60004 */ lwc1 $f6, 4($a2)
/* AC1EBC 8004AD1C 846E01EC */ lh $t6, 0x1ec($v1)
/* AC1EC0 8004AD20 C6040114 */ lwc1 $f4, 0x114($s0)
/* AC1EC4 8004AD24 00003825 */ move $a3, $zero
/* AC1EC8 8004AD28 448E4000 */ mtc1 $t6, $f8
/* AC1ECC 8004AD2C 46062001 */ sub.s $f0, $f4, $f6
/* AC1ED0 8004AD30 27A40098 */ addiu $a0, $sp, 0x98
/* AC1ED4 8004AD34 26050050 */ addiu $a1, $s0, 0x50
/* AC1ED8 8004AD38 468042A0 */ cvt.s.w $f10, $f8
/* AC1EDC 8004AD3C 460A003C */ c.lt.s $f0, $f10
/* AC1EE0 8004AD40 00000000 */ nop
/* AC1EE4 8004AD44 45030004 */ bc1tl .L8004AD58
/* AC1EE8 8004AD48 26110024 */ addiu $s1, $s0, 0x24
/* AC1EEC 8004AD4C 860F015E */ lh $t7, 0x15e($s0)
/* AC1EF0 8004AD50 15E00007 */ bnez $t7, .L8004AD70
/* AC1EF4 8004AD54 26110024 */ addiu $s1, $s0, 0x24
.L8004AD58:
/* AC1EF8 8004AD58 86380022 */ lh $t8, 0x22($s1)
/* AC1EFC 8004AD5C 53000015 */ beql $t8, $zero, .L8004ADB4
/* AC1F00 8004AD60 26110024 */ addiu $s1, $s0, 0x24
/* AC1F04 8004AD64 A6200022 */ sh $zero, 0x22($s1)
/* AC1F08 8004AD68 10000011 */ b .L8004ADB0
/* AC1F0C 8004AD6C 24070001 */ li $a3, 1
.L8004AD70:
/* AC1F10 8004AD70 847901EE */ lh $t9, 0x1ee($v1)
/* AC1F14 8004AD74 26110024 */ addiu $s1, $s0, 0x24
/* AC1F18 8004AD78 44992000 */ mtc1 $t9, $f4
/* AC1F1C 8004AD7C 00000000 */ nop
/* AC1F20 8004AD80 468021A0 */ cvt.s.w $f6, $f4
/* AC1F24 8004AD84 4600303C */ c.lt.s $f6, $f0
/* AC1F28 8004AD88 00000000 */ nop
/* AC1F2C 8004AD8C 45020009 */ bc1fl .L8004ADB4
/* AC1F30 8004AD90 26110024 */ addiu $s1, $s0, 0x24
/* AC1F34 8004AD94 86280022 */ lh $t0, 0x22($s1)
/* AC1F38 8004AD98 2401000A */ li $at, 10
/* AC1F3C 8004AD9C 2409000A */ li $t1, 10
/* AC1F40 8004ADA0 51010004 */ beql $t0, $at, .L8004ADB4
/* AC1F44 8004ADA4 26110024 */ addiu $s1, $s0, 0x24
/* AC1F48 8004ADA8 A6290022 */ sh $t1, 0x22($s1)
/* AC1F4C 8004ADAC 24070001 */ li $a3, 1
.L8004ADB0:
/* AC1F50 8004ADB0 26110024 */ addiu $s1, $s0, 0x24
.L8004ADB4:
/* AC1F54 8004ADB4 AFA5003C */ sw $a1, 0x3c($sp)
/* AC1F58 8004ADB8 AFA60040 */ sw $a2, 0x40($sp)
/* AC1F5C 8004ADBC 0C01F124 */ jal func_8007C490
/* AC1F60 8004ADC0 AFA70054 */ sw $a3, 0x54($sp)
/* AC1F64 8004ADC4 26060074 */ addiu $a2, $s0, 0x74
/* AC1F68 8004ADC8 AFA60038 */ sw $a2, 0x38($sp)
/* AC1F6C 8004ADCC 27A40090 */ addiu $a0, $sp, 0x90
/* AC1F70 8004ADD0 0C01F124 */ jal func_8007C490
/* AC1F74 8004ADD4 8FA5003C */ lw $a1, 0x3c($sp)
/* AC1F78 8004ADD8 8603015E */ lh $v1, 0x15e($s0)
/* AC1F7C 8004ADDC 8FA70054 */ lw $a3, 0x54($sp)
/* AC1F80 8004ADE0 1060000A */ beqz $v1, .L8004AE0C
/* AC1F84 8004ADE4 2401000A */ li $at, 10
/* AC1F88 8004ADE8 10610008 */ beq $v1, $at, .L8004AE0C
/* AC1F8C 8004ADEC 24010014 */ li $at, 20
/* AC1F90 8004ADF0 10610006 */ beq $v1, $at, .L8004AE0C
/* AC1F94 8004ADF4 00000000 */ nop
/* AC1F98 8004ADF8 14E00004 */ bnez $a3, .L8004AE0C
/* AC1F9C 8004ADFC 3C0A8016 */ lui $t2, %hi(gGameInfo) # $t2, 0x8016
/* AC1FA0 8004AE00 8D4AFA90 */ lw $t2, %lo(gGameInfo)($t2)
/* AC1FA4 8004AE04 85430314 */ lh $v1, 0x314($t2)
/* AC1FA8 8004AE08 1060005C */ beqz $v1, .L8004AF7C
.L8004AE0C:
/* AC1FAC 8004AE0C 3C198016 */ lui $t9, %hi(gGameInfo) # $t9, 0x8016
/* AC1FB0 8004AE10 8F39FA90 */ lw $t9, %lo(gGameInfo)($t9)
/* AC1FB4 8004AE14 3C018014 */ lui $at, %hi(D_80139FB0)
/* AC1FB8 8004AE18 C4309FB0 */ lwc1 $f16, %lo(D_80139FB0)($at)
/* AC1FBC 8004AE1C 872801F0 */ lh $t0, 0x1f0($t9)
/* AC1FC0 8004AE20 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC1FC4 8004AE24 44812000 */ mtc1 $at, $f4
/* AC1FC8 8004AE28 44884000 */ mtc1 $t0, $f8
/* AC1FCC 8004AE2C 3C014288 */ li $at, 0x42880000 # 0.000000
/* AC1FD0 8004AE30 C7AE0074 */ lwc1 $f14, 0x74($sp)
/* AC1FD4 8004AE34 468042A0 */ cvt.s.w $f10, $f8
/* AC1FD8 8004AE38 44814000 */ mtc1 $at, $f8
/* AC1FDC 8004AE3C 860B0142 */ lh $t3, 0x142($s0)
/* AC1FE0 8004AE40 3C0D8012 */ lui $t5, %hi(D_8011D068)
/* AC1FE4 8004AE44 862E0022 */ lh $t6, 0x22($s1)
/* AC1FE8 8004AE48 000B60C0 */ sll $t4, $t3, 3
/* AC1FEC 8004AE4C 46105082 */ mul.s $f2, $f10, $f16
/* AC1FF0 8004AE50 460E4283 */ div.s $f10, $f8, $f14
/* AC1FF4 8004AE54 01AC6821 */ addu $t5, $t5, $t4
/* AC1FF8 8004AE58 8DADD068 */ lw $t5, %lo(D_8011D068)($t5)
/* AC1FFC 8004AE5C 000E78C0 */ sll $t7, $t6, 3
/* AC2000 8004AE60 3C018014 */ lui $at, %hi(D_80139FB4)
/* AC2004 8004AE64 01AFC021 */ addu $t8, $t5, $t7
/* AC2008 8004AE68 46022180 */ add.s $f6, $f4, $f2
/* AC200C 8004AE6C 8F020004 */ lw $v0, 4($t8)
/* AC2010 8004AE70 84490000 */ lh $t1, ($v0)
/* AC2014 8004AE74 24420024 */ addiu $v0, $v0, 0x24
/* AC2018 8004AE78 460A1102 */ mul.s $f4, $f2, $f10
/* AC201C 8004AE7C 44895000 */ mtc1 $t1, $f10
/* AC2020 8004AE80 46107202 */ mul.s $f8, $f14, $f16
/* AC2024 8004AE84 46043301 */ sub.s $f12, $f6, $f4
/* AC2028 8004AE88 468051A0 */ cvt.s.w $f6, $f10
/* AC202C 8004AE8C 460C4002 */ mul.s $f0, $f8, $f12
/* AC2030 8004AE90 00000000 */ nop
/* AC2034 8004AE94 46003102 */ mul.s $f4, $f6, $f0
/* AC2038 8004AE98 E6040000 */ swc1 $f4, ($s0)
/* AC203C 8004AE9C 844AFFE0 */ lh $t2, -0x20($v0)
/* AC2040 8004AEA0 448A4000 */ mtc1 $t2, $f8
/* AC2044 8004AEA4 00000000 */ nop
/* AC2048 8004AEA8 468042A0 */ cvt.s.w $f10, $f8
/* AC204C 8004AEAC 46005182 */ mul.s $f6, $f10, $f0
/* AC2050 8004AEB0 E6060004 */ swc1 $f6, 4($s0)
/* AC2054 8004AEB4 844BFFE4 */ lh $t3, -0x1c($v0)
/* AC2058 8004AEB8 448B2000 */ mtc1 $t3, $f4
/* AC205C 8004AEBC 3C0B8016 */ lui $t3, %hi(gGameInfo)
/* AC2060 8004AEC0 46802220 */ cvt.s.w $f8, $f4
/* AC2064 8004AEC4 46004282 */ mul.s $f10, $f8, $f0
/* AC2068 8004AEC8 E60A0008 */ swc1 $f10, 8($s0)
/* AC206C 8004AECC 844CFFE8 */ lh $t4, -0x18($v0)
/* AC2070 8004AED0 C4289FB4 */ lwc1 $f8, %lo(D_80139FB4)($at)
/* AC2074 8004AED4 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* AC2078 8004AED8 448C3000 */ mtc1 $t4, $f6
/* AC207C 8004AEDC 00000000 */ nop
/* AC2080 8004AEE0 46803120 */ cvt.s.w $f4, $f6
/* AC2084 8004AEE4 44813000 */ mtc1 $at, $f6
/* AC2088 8004AEE8 46082282 */ mul.s $f10, $f4, $f8
/* AC208C 8004AEEC 46065100 */ add.s $f4, $f10, $f6
/* AC2090 8004AEF0 4600220D */ trunc.w.s $f8, $f4
/* AC2094 8004AEF4 440D4000 */ mfc1 $t5, $f8
/* AC2098 8004AEF8 00000000 */ nop
/* AC209C 8004AEFC A60D0020 */ sh $t5, 0x20($s0)
/* AC20A0 8004AF00 844FFFEC */ lh $t7, -0x14($v0)
/* AC20A4 8004AF04 448F5000 */ mtc1 $t7, $f10
/* AC20A8 8004AF08 00000000 */ nop
/* AC20AC 8004AF0C 468051A0 */ cvt.s.w $f6, $f10
/* AC20B0 8004AF10 E606000C */ swc1 $f6, 0xc($s0)
/* AC20B4 8004AF14 8458FFF0 */ lh $t8, -0x10($v0)
/* AC20B8 8004AF18 44982000 */ mtc1 $t8, $f4
/* AC20BC 8004AF1C 00000000 */ nop
/* AC20C0 8004AF20 46802220 */ cvt.s.w $f8, $f4
/* AC20C4 8004AF24 E6080010 */ swc1 $f8, 0x10($s0)
/* AC20C8 8004AF28 8459FFF4 */ lh $t9, -0xc($v0)
/* AC20CC 8004AF2C 44995000 */ mtc1 $t9, $f10
/* AC20D0 8004AF30 00000000 */ nop
/* AC20D4 8004AF34 468051A0 */ cvt.s.w $f6, $f10
/* AC20D8 8004AF38 46103102 */ mul.s $f4, $f6, $f16
/* AC20DC 8004AF3C E6040014 */ swc1 $f4, 0x14($s0)
/* AC20E0 8004AF40 8448FFF8 */ lh $t0, -8($v0)
/* AC20E4 8004AF44 44884000 */ mtc1 $t0, $f8
/* AC20E8 8004AF48 00000000 */ nop
/* AC20EC 8004AF4C 468042A0 */ cvt.s.w $f10, $f8
/* AC20F0 8004AF50 E60A0018 */ swc1 $f10, 0x18($s0)
/* AC20F4 8004AF54 8449FFFC */ lh $t1, -4($v0)
/* AC20F8 8004AF58 44893000 */ mtc1 $t1, $f6
/* AC20FC 8004AF5C 00000000 */ nop
/* AC2100 8004AF60 46803120 */ cvt.s.w $f4, $f6
/* AC2104 8004AF64 46102202 */ mul.s $f8, $f4, $f16
/* AC2108 8004AF68 E608001C */ swc1 $f8, 0x1c($s0)
/* AC210C 8004AF6C 844A0000 */ lh $t2, ($v0)
/* AC2110 8004AF70 A60A0022 */ sh $t2, 0x22($s0)
/* AC2114 8004AF74 8D6BFA90 */ lw $t3, %lo(gGameInfo)($t3)
/* AC2118 8004AF78 85630314 */ lh $v1, 0x314($t3)
.L8004AF7C:
/* AC211C 8004AF7C 3C018014 */ lui $at, %hi(D_80139FB8)
/* AC2120 8004AF80 1060000B */ beqz $v1, .L8004AFB0
/* AC2124 8004AF84 C4309FB8 */ lwc1 $f16, %lo(D_80139FB8)($at)
/* AC2128 8004AF88 860C0144 */ lh $t4, 0x144($s0)
/* AC212C 8004AF8C 02002025 */ move $a0, $s0
/* AC2130 8004AF90 AFAC00C8 */ sw $t4, 0xc8($sp)
/* AC2134 8004AF94 862E0022 */ lh $t6, 0x22($s1)
/* AC2138 8004AF98 0C011495 */ jal func_80045254
/* AC213C 8004AF9C A60E0144 */ sh $t6, 0x144($s0)
/* AC2140 8004AFA0 8FAD00C8 */ lw $t5, 0xc8($sp)
/* AC2144 8004AFA4 3C018014 */ lui $at, %hi(D_80139FBC)
/* AC2148 8004AFA8 A60D0144 */ sh $t5, 0x144($s0)
/* AC214C 8004AFAC C4309FBC */ lwc1 $f16, %lo(D_80139FBC)($at)
.L8004AFB0:
/* AC2150 8004AFB0 860F0022 */ lh $t7, 0x22($s0)
/* AC2154 8004AFB4 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012
/* AC2158 8004AFB8 AC2FD3A0 */ sw $t7, %lo(D_8011D3A0)($at)
/* AC215C 8004AFBC 8602015E */ lh $v0, 0x15e($s0)
/* AC2160 8004AFC0 10400007 */ beqz $v0, .L8004AFE0
/* AC2164 8004AFC4 2401000A */ li $at, 10
/* AC2168 8004AFC8 10410005 */ beq $v0, $at, .L8004AFE0
/* AC216C 8004AFCC 24010014 */ li $at, 20
/* AC2170 8004AFD0 10410003 */ beq $v0, $at, .L8004AFE0
/* AC2174 8004AFD4 24010019 */ li $at, 25
/* AC2178 8004AFD8 14410013 */ bne $v0, $at, .L8004B028
/* AC217C 8004AFDC 3C038016 */ lui $v1, %hi(gGameInfo)
.L8004AFE0:
/* AC2180 8004AFE0 AE20000C */ sw $zero, 0xc($s1)
/* AC2184 8004AFE4 C60A0104 */ lwc1 $f10, 0x104($s0)
/* AC2188 8004AFE8 A6200018 */ sh $zero, 0x18($s1)
/* AC218C 8004AFEC 86220018 */ lh $v0, 0x18($s1)
/* AC2190 8004AFF0 2418000A */ li $t8, 10
/* AC2194 8004AFF4 A6380020 */ sh $t8, 0x20($s1)
/* AC2198 8004AFF8 E62A001C */ swc1 $f10, 0x1c($s1)
/* AC219C 8004AFFC A6220014 */ sh $v0, 0x14($s1)
/* AC21A0 8004B000 A6220016 */ sh $v0, 0x16($s1)
/* AC21A4 8004B004 C606000C */ lwc1 $f6, 0xc($s0)
/* AC21A8 8004B008 3C038016 */ lui $v1, %hi(gGameInfo) # $v1, 0x8016
/* AC21AC 8004B00C E6260010 */ swc1 $f6, 0x10($s1)
/* AC21B0 8004B010 8619015E */ lh $t9, 0x15e($s0)
/* AC21B4 8004B014 27280001 */ addiu $t0, $t9, 1
/* AC21B8 8004B018 A608015E */ sh $t0, 0x15e($s0)
/* AC21BC 8004B01C A620001A */ sh $zero, 0x1a($s1)
/* AC21C0 8004B020 10000006 */ b .L8004B03C
/* AC21C4 8004B024 8C63FA90 */ lw $v1, %lo(gGameInfo)($v1)
.L8004B028:
/* AC21C8 8004B028 86220020 */ lh $v0, 0x20($s1)
/* AC21CC 8004B02C 10400002 */ beqz $v0, .L8004B038
/* AC21D0 8004B030 2449FFFF */ addiu $t1, $v0, -1
/* AC21D4 8004B034 A6290020 */ sh $t1, 0x20($s1)
.L8004B038:
/* AC21D8 8004B038 8C63FA90 */ lw $v1, %lo(gGameInfo)($v1)
.L8004B03C:
/* AC21DC 8004B03C 8FAB0040 */ lw $t3, 0x40($sp)
/* AC21E0 8004B040 27AA00B0 */ addiu $t2, $sp, 0xb0
/* AC21E4 8004B044 8D6E0000 */ lw $t6, ($t3)
/* AC21E8 8004B048 AD4E0000 */ sw $t6, ($t2)
/* AC21EC 8004B04C 8D6C0004 */ lw $t4, 4($t3)
/* AC21F0 8004B050 AD4C0004 */ sw $t4, 4($t2)
/* AC21F4 8004B054 8D6E0008 */ lw $t6, 8($t3)
/* AC21F8 8004B058 AD4E0008 */ sw $t6, 8($t2)
/* AC21FC 8004B05C 846D01C6 */ lh $t5, 0x1c6($v1)
/* AC2200 8004B060 846F01C8 */ lh $t7, 0x1c8($v1)
/* AC2204 8004B064 C60000E0 */ lwc1 $f0, 0xe0($s0)
/* AC2208 8004B068 448D2000 */ mtc1 $t5, $f4
/* AC220C 8004B06C 448F5000 */ mtc1 $t7, $f10
/* AC2210 8004B070 46802220 */ cvt.s.w $f8, $f4
/* AC2214 8004B074 468051A0 */ cvt.s.w $f6, $f10
/* AC2218 8004B078 46104082 */ mul.s $f2, $f8, $f16
/* AC221C 8004B07C 00000000 */ nop
/* AC2220 8004B080 46001482 */ mul.s $f18, $f2, $f0
/* AC2224 8004B084 00000000 */ nop
/* AC2228 8004B088 46103102 */ mul.s $f4, $f6, $f16
/* AC222C 8004B08C 00000000 */ nop
/* AC2230 8004B090 46002202 */ mul.s $f8, $f4, $f0
/* AC2234 8004B094 E7A800C0 */ swc1 $f8, 0xc0($sp)
/* AC2238 8004B098 86380018 */ lh $t8, 0x18($s1)
/* AC223C 8004B09C 13000003 */ beqz $t8, .L8004B0AC
/* AC2240 8004B0A0 00000000 */ nop
/* AC2244 8004B0A4 10000002 */ b .L8004B0B0
/* AC2248 8004B0A8 E7A200BC */ swc1 $f2, 0xbc($sp)
.L8004B0AC:
/* AC224C 8004B0AC E7B200BC */ swc1 $f18, 0xbc($sp)
.L8004B0B0:
/* AC2250 8004B0B0 8622001A */ lh $v0, 0x1a($s1)
/* AC2254 8004B0B4 1040001D */ beqz $v0, .L8004B12C
/* AC2258 8004B0B8 0002C840 */ sll $t9, $v0, 1
/* AC225C 8004B0BC 44993000 */ mtc1 $t9, $f6
/* AC2260 8004B0C0 C62A0010 */ lwc1 $f10, 0x10($s1)
/* AC2264 8004B0C4 C60E00C8 */ lwc1 $f14, 0xc8($s0)
/* AC2268 8004B0C8 46803120 */ cvt.s.w $f4, $f6
/* AC226C 8004B0CC 44069000 */ mfc1 $a2, $f18
/* AC2270 8004B0D0 3C073DCC */ li $a3, 0x3DCC0000 # 0.000000
/* AC2274 8004B0D4 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC2278 8004B0D8 E7B200C4 */ swc1 $f18, 0xc4($sp)
/* AC227C 8004B0DC 0C010E27 */ jal func_8004389C
/* AC2280 8004B0E0 46045300 */ add.s $f12, $f10, $f4
/* AC2284 8004B0E4 E60000C8 */ swc1 $f0, 0xc8($s0)
/* AC2288 8004B0E8 8628001A */ lh $t0, 0x1a($s1)
/* AC228C 8004B0EC 3C014220 */ li $at, 0x42200000 # 0.000000
/* AC2290 8004B0F0 44815000 */ mtc1 $at, $f10
/* AC2294 8004B0F4 00084840 */ sll $t1, $t0, 1
/* AC2298 8004B0F8 44894000 */ mtc1 $t1, $f8
/* AC229C 8004B0FC 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* AC22A0 8004B100 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC22A4 8004B104 468041A0 */ cvt.s.w $f6, $f8
/* AC22A8 8004B108 8FA600C0 */ lw $a2, 0xc0($sp)
/* AC22AC 8004B10C C60E00C4 */ lwc1 $f14, 0xc4($s0)
/* AC22B0 8004B110 0C010E27 */ jal func_8004389C
/* AC22B4 8004B114 460A3300 */ add.s $f12, $f6, $f10
/* AC22B8 8004B118 E60000C4 */ swc1 $f0, 0xc4($s0)
/* AC22BC 8004B11C 862A001A */ lh $t2, 0x1a($s1)
/* AC22C0 8004B120 254BFFFF */ addiu $t3, $t2, -1
/* AC22C4 8004B124 10000011 */ b .L8004B16C
/* AC22C8 8004B128 A62B001A */ sh $t3, 0x1a($s1)
.L8004B12C:
/* AC22CC 8004B12C C62C0010 */ lwc1 $f12, 0x10($s1)
/* AC22D0 8004B130 C60E00C8 */ lwc1 $f14, 0xc8($s0)
/* AC22D4 8004B134 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* AC22D8 8004B138 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC22DC 8004B13C E7B200C4 */ swc1 $f18, 0xc4($sp)
/* AC22E0 8004B140 0C010E27 */ jal func_8004389C
/* AC22E4 8004B144 8FA600BC */ lw $a2, 0xbc($sp)
/* AC22E8 8004B148 3C014220 */ li $at, 0x42200000 # 0.000000
/* AC22EC 8004B14C E60000C8 */ swc1 $f0, 0xc8($s0)
/* AC22F0 8004B150 44816000 */ mtc1 $at, $f12
/* AC22F4 8004B154 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* AC22F8 8004B158 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC22FC 8004B15C 8FA600C0 */ lw $a2, 0xc0($sp)
/* AC2300 8004B160 0C010E27 */ jal func_8004389C
/* AC2304 8004B164 C60E00C4 */ lwc1 $f14, 0xc4($s0)
/* AC2308 8004B168 E60000C4 */ swc1 $f0, 0xc4($s0)
.L8004B16C:
/* AC230C 8004B16C 3C0C8016 */ lui $t4, %hi(gGameInfo) # $t4, 0x8016
/* AC2310 8004B170 8D8CFA90 */ lw $t4, %lo(gGameInfo)($t4)
/* AC2314 8004B174 3C018014 */ lui $at, %hi(D_80139FC0)
/* AC2318 8004B178 C4269FC0 */ lwc1 $f6, %lo(D_80139FC0)($at)
/* AC231C 8004B17C 858E0198 */ lh $t6, 0x198($t4)
/* AC2320 8004B180 3C073DCC */ li $a3, 0x3DCC0000 # 0.000000
/* AC2324 8004B184 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC2328 8004B188 448E2000 */ mtc1 $t6, $f4
/* AC232C 8004B18C C60E00CC */ lwc1 $f14, 0xcc($s0)
/* AC2330 8004B190 8FA600C4 */ lw $a2, 0xc4($sp)
/* AC2334 8004B194 46802220 */ cvt.s.w $f8, $f4
/* AC2338 8004B198 46064302 */ mul.s $f12, $f8, $f6
/* AC233C 8004B19C 0C010E27 */ jal func_8004389C
/* AC2340 8004B1A0 00000000 */ nop
/* AC2344 8004B1A4 E60000CC */ swc1 $f0, 0xcc($s0)
/* AC2348 8004B1A8 3C0D8016 */ lui $t5, %hi(gGameInfo) # $t5, 0x8016
/* AC234C 8004B1AC 8DADFA90 */ lw $t5, %lo(gGameInfo)($t5)
/* AC2350 8004B1B0 3C018014 */ lui $at, %hi(D_80139FC4)
/* AC2354 8004B1B4 C4289FC4 */ lwc1 $f8, %lo(D_80139FC4)($at)
/* AC2358 8004B1B8 85AF019A */ lh $t7, 0x19a($t5)
/* AC235C 8004B1BC 3C073DCC */ li $a3, 0x3DCC0000 # 0.000000
/* AC2360 8004B1C0 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC2364 8004B1C4 448F5000 */ mtc1 $t7, $f10
/* AC2368 8004B1C8 8FA600C0 */ lw $a2, 0xc0($sp)
/* AC236C 8004B1CC C60E00D0 */ lwc1 $f14, 0xd0($s0)
/* AC2370 8004B1D0 46805120 */ cvt.s.w $f4, $f10
/* AC2374 8004B1D4 46082302 */ mul.s $f12, $f4, $f8
/* AC2378 8004B1D8 0C010E27 */ jal func_8004389C
/* AC237C 8004B1DC 00000000 */ nop
/* AC2380 8004B1E0 E60000D0 */ swc1 $f0, 0xd0($s0)
/* AC2384 8004B1E4 3C188016 */ lui $t8, %hi(gGameInfo) # $t8, 0x8016
/* AC2388 8004B1E8 8F18FA90 */ lw $t8, %lo(gGameInfo)($t8)
/* AC238C 8004B1EC 3C018014 */ lui $at, %hi(D_80139FC8)
/* AC2390 8004B1F0 C4249FC8 */ lwc1 $f4, %lo(D_80139FC8)($at)
/* AC2394 8004B1F4 8719019C */ lh $t9, 0x19c($t8)
/* AC2398 8004B1F8 3C018014 */ lui $at, %hi(D_80139FCC)
/* AC239C 8004B1FC C60800E0 */ lwc1 $f8, 0xe0($s0)
/* AC23A0 8004B200 44993000 */ mtc1 $t9, $f6
/* AC23A4 8004B204 3C073DCC */ li $a3, 0x3DCC0000 # 0.000000
/* AC23A8 8004B208 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC23AC 8004B20C 468032A0 */ cvt.s.w $f10, $f6
/* AC23B0 8004B210 C4269FCC */ lwc1 $f6, %lo(D_80139FCC)($at)
/* AC23B4 8004B214 46000386 */ mov.s $f14, $f0
/* AC23B8 8004B218 46045302 */ mul.s $f12, $f10, $f4
/* AC23BC 8004B21C 00000000 */ nop
/* AC23C0 8004B220 46064282 */ mul.s $f10, $f8, $f6
/* AC23C4 8004B224 44065000 */ mfc1 $a2, $f10
/* AC23C8 8004B228 0C010E27 */ jal func_8004389C
/* AC23CC 8004B22C 00000000 */ nop
/* AC23D0 8004B230 E60000D4 */ swc1 $f0, 0xd4($s0)
/* AC23D4 8004B234 02002025 */ move $a0, $s0
/* AC23D8 8004B238 27A50090 */ addiu $a1, $sp, 0x90
/* AC23DC 8004B23C 8E060000 */ lw $a2, ($s0)
/* AC23E0 8004B240 0C0115EA */ jal func_800457A8
/* AC23E4 8004B244 86070022 */ lh $a3, 0x22($s0)
/* AC23E8 8004B248 27A400A8 */ addiu $a0, $sp, 0xa8
/* AC23EC 8004B24C 8FA5003C */ lw $a1, 0x3c($sp)
/* AC23F0 8004B250 0C01F124 */ jal func_8007C490
/* AC23F4 8004B254 8FA60038 */ lw $a2, 0x38($sp)
/* AC23F8 8004B258 86280020 */ lh $t0, 0x20($s1)
/* AC23FC 8004B25C 8E060004 */ lw $a2, 4($s0)
/* AC2400 8004B260 8E070008 */ lw $a3, 8($s0)
/* AC2404 8004B264 02002025 */ move $a0, $s0
/* AC2408 8004B268 8FA500A8 */ lw $a1, 0xa8($sp)
/* AC240C 8004B26C 0C011A70 */ jal func_800469C0
/* AC2410 8004B270 AFA80010 */ sw $t0, 0x10($sp)
/* AC2414 8004B274 E7A000A8 */ swc1 $f0, 0xa8($sp)
/* AC2418 8004B278 E60000DC */ swc1 $f0, 0xdc($s0)
/* AC241C 8004B27C 26020094 */ addiu $v0, $s0, 0x94
/* AC2420 8004B280 C44C0004 */ lwc1 $f12, 4($v0)
/* AC2424 8004B284 C6020104 */ lwc1 $f2, 0x104($s0)
/* AC2428 8004B288 3C014120 */ li $at, 0x41200000 # 0.000000
/* AC242C 8004B28C 44812000 */ mtc1 $at, $f4
/* AC2430 8004B290 460C103E */ c.le.s $f2, $f12
/* AC2434 8004B294 00000000 */ nop
/* AC2438 8004B298 45020004 */ bc1fl .L8004B2AC
/* AC243C 8004B29C 46026001 */ sub.s $f0, $f12, $f2
/* AC2440 8004B2A0 10000003 */ b .L8004B2B0
/* AC2444 8004B2A4 46026001 */ sub.s $f0, $f12, $f2
/* AC2448 8004B2A8 46026001 */ sub.s $f0, $f12, $f2
.L8004B2AC:
/* AC244C 8004B2AC 46000007 */ neg.s $f0, $f0
.L8004B2B0:
/* AC2450 8004B2B0 4604003C */ c.lt.s $f0, $f4
/* AC2454 8004B2B4 C7A80064 */ lwc1 $f8, 0x64($sp)
/* AC2458 8004B2B8 3C014248 */ li $at, 0x42480000 # 0.000000
/* AC245C 8004B2BC 45030014 */ bc1tl .L8004B310
/* AC2460 8004B2C0 86290018 */ lh $t1, 0x18($s1)
/* AC2464 8004B2C4 C6000114 */ lwc1 $f0, 0x114($s0)
/* AC2468 8004B2C8 44815000 */ mtc1 $at, $f10
/* AC246C 8004B2CC C7A60064 */ lwc1 $f6, 0x64($sp)
/* AC2470 8004B2D0 4608003E */ c.le.s $f0, $f8
/* AC2474 8004B2D4 3C0142C8 */ li $at, 0x42C80000 # 0.000000
/* AC2478 8004B2D8 45020004 */ bc1fl .L8004B2EC
/* AC247C 8004B2DC 46003081 */ sub.s $f2, $f6, $f0
/* AC2480 8004B2E0 10000003 */ b .L8004B2F0
/* AC2484 8004B2E4 46004081 */ sub.s $f2, $f8, $f0
/* AC2488 8004B2E8 46003081 */ sub.s $f2, $f6, $f0
.L8004B2EC:
/* AC248C 8004B2EC 46001087 */ neg.s $f2, $f2
.L8004B2F0:
/* AC2490 8004B2F0 460A103C */ c.lt.s $f2, $f10
/* AC2494 8004B2F4 00000000 */ nop
/* AC2498 8004B2F8 45030005 */ bc1tl .L8004B310
/* AC249C 8004B2FC 86290018 */ lh $t1, 0x18($s1)
/* AC24A0 8004B300 44812000 */ mtc1 $at, $f4
/* AC24A4 8004B304 00000000 */ nop
/* AC24A8 8004B308 E60400C4 */ swc1 $f4, 0xc4($s0)
/* AC24AC 8004B30C 86290018 */ lh $t1, 0x18($s1)
.L8004B310:
/* AC24B0 8004B310 02002025 */ move $a0, $s0
/* AC24B4 8004B314 87A50096 */ lh $a1, 0x96($sp)
/* AC24B8 8004B318 11200017 */ beqz $t1, .L8004B378
/* AC24BC 8004B31C 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC24C0 8004B320 44814000 */ mtc1 $at, $f8
/* AC24C4 8004B324 C60600C8 */ lwc1 $f6, 0xc8($s0)
/* AC24C8 8004B328 86240016 */ lh $a0, 0x16($s1)
/* AC24CC 8004B32C 87A50096 */ lh $a1, 0x96($sp)
/* AC24D0 8004B330 46064283 */ div.s $f10, $f8, $f6
/* AC24D4 8004B334 2407000A */ li $a3, 10
/* AC24D8 8004B338 44065000 */ mfc1 $a2, $f10
/* AC24DC 8004B33C 0C010E47 */ jal func_8004391C
/* AC24E0 8004B340 00000000 */ nop
/* AC24E4 8004B344 A7A200AE */ sh $v0, 0xae($sp)
/* AC24E8 8004B348 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC24EC 8004B34C 44812000 */ mtc1 $at, $f4
/* AC24F0 8004B350 C60800C8 */ lwc1 $f8, 0xc8($s0)
/* AC24F4 8004B354 86240014 */ lh $a0, 0x14($s1)
/* AC24F8 8004B358 87A50094 */ lh $a1, 0x94($sp)
/* AC24FC 8004B35C 46082183 */ div.s $f6, $f4, $f8
/* AC2500 8004B360 2407000A */ li $a3, 10
/* AC2504 8004B364 44063000 */ mfc1 $a2, $f6
/* AC2508 8004B368 0C010E47 */ jal func_8004391C
/* AC250C 8004B36C 00000000 */ nop
/* AC2510 8004B370 1000000D */ b .L8004B3A8
/* AC2514 8004B374 A7A200AC */ sh $v0, 0xac($sp)
.L8004B378:
/* AC2518 8004B378 44805000 */ mtc1 $zero, $f10
/* AC251C 8004B37C 8446000E */ lh $a2, 0xe($v0)
/* AC2520 8004B380 8E070014 */ lw $a3, 0x14($s0)
/* AC2524 8004B384 0C011B2D */ jal func_80046CB4
/* AC2528 8004B388 E7AA0010 */ swc1 $f10, 0x10($sp)
/* AC252C 8004B38C A7A200AE */ sh $v0, 0xae($sp)
/* AC2530 8004B390 86060020 */ lh $a2, 0x20($s0)
/* AC2534 8004B394 02002025 */ move $a0, $s0
/* AC2538 8004B398 87A50094 */ lh $a1, 0x94($sp)
/* AC253C 8004B39C 0C011AD1 */ jal func_80046B44
/* AC2540 8004B3A0 00003825 */ move $a3, $zero
/* AC2544 8004B3A4 A7A200AC */ sh $v0, 0xac($sp)
.L8004B3A8:
/* AC2548 8004B3A8 3C038016 */ lui $v1, %hi(gGameInfo) # $v1, 0x8016
/* AC254C 8004B3AC 8C63FA90 */ lw $v1, %lo(gGameInfo)($v1)
/* AC2550 8004B3B0 27A600A8 */ addiu $a2, $sp, 0xa8
/* AC2554 8004B3B4 8464019E */ lh $a0, 0x19e($v1)
/* AC2558 8004B3B8 0082082A */ slt $at, $a0, $v0
/* AC255C 8004B3BC 50200003 */ beql $at, $zero, .L8004B3CC
/* AC2560 8004B3C0 846201D8 */ lh $v0, 0x1d8($v1)
/* AC2564 8004B3C4 A7A400AC */ sh $a0, 0xac($sp)
/* AC2568 8004B3C8 846201D8 */ lh $v0, 0x1d8($v1)
.L8004B3CC:
/* AC256C 8004B3CC 87AA00AC */ lh $t2, 0xac($sp)
/* AC2570 8004B3D0 0142082A */ slt $at, $t2, $v0
/* AC2574 8004B3D4 50200003 */ beql $at, $zero, .L8004B3E4
/* AC2578 8004B3D8 8FA40038 */ lw $a0, 0x38($sp)
/* AC257C 8004B3DC A7A200AC */ sh $v0, 0xac($sp)
/* AC2580 8004B3E0 8FA40038 */ lw $a0, 0x38($sp)
.L8004B3E4:
/* AC2584 8004B3E4 0C010F0A */ jal func_80043C28
/* AC2588 8004B3E8 8FA5003C */ lw $a1, 0x3c($sp)
/* AC258C 8004B3EC 860B0140 */ lh $t3, 0x140($s0)
/* AC2590 8004B3F0 24010007 */ li $at, 7
/* AC2594 8004B3F4 55610038 */ bnel $t3, $at, .L8004B4D8
/* AC2598 8004B3F8 C608000C */ lwc1 $f8, 0xc($s0)
/* AC259C 8004B3FC 860C0022 */ lh $t4, 0x22($s0)
/* AC25A0 8004B400 02002025 */ move $a0, $s0
/* AC25A4 8004B404 27A500A8 */ addiu $a1, $sp, 0xa8
/* AC25A8 8004B408 318E0010 */ andi $t6, $t4, 0x10
/* AC25AC 8004B40C 15C00031 */ bnez $t6, .L8004B4D4
/* AC25B0 8004B410 27AD00BC */ addiu $t5, $sp, 0xbc
/* AC25B4 8004B414 8E060004 */ lw $a2, 4($s0)
/* AC25B8 8004B418 8E07000C */ lw $a3, 0xc($s0)
/* AC25BC 8004B41C AFB10014 */ sw $s1, 0x14($sp)
/* AC25C0 8004B420 0C011B88 */ jal func_80046E20
/* AC25C4 8004B424 AFAD0010 */ sw $t5, 0x10($sp)
/* AC25C8 8004B428 860F0022 */ lh $t7, 0x22($s0)
/* AC25CC 8004B42C 87B9009C */ lh $t9, 0x9c($sp)
/* AC25D0 8004B430 27A400A8 */ addiu $a0, $sp, 0xa8
/* AC25D4 8004B434 31F80004 */ andi $t8, $t7, 4
/* AC25D8 8004B438 13000008 */ beqz $t8, .L8004B45C
/* AC25DC 8004B43C 8FA50040 */ lw $a1, 0x40($sp)
/* AC25E0 8004B440 00194023 */ negu $t0, $t9
/* AC25E4 8004B444 A6080134 */ sh $t0, 0x134($s0)
/* AC25E8 8004B448 87A9009E */ lh $t1, 0x9e($sp)
/* AC25EC 8004B44C A6000138 */ sh $zero, 0x138($s0)
/* AC25F0 8004B450 252A8001 */ addiu $t2, $t1, -0x7fff
/* AC25F4 8004B454 10000008 */ b .L8004B478
/* AC25F8 8004B458 A60A0136 */ sh $t2, 0x136($s0)
.L8004B45C:
/* AC25FC 8004B45C 0C01F124 */ jal func_8007C490
/* AC2600 8004B460 8FA6003C */ lw $a2, 0x3c($sp)
/* AC2604 8004B464 87AB00AC */ lh $t3, 0xac($sp)
/* AC2608 8004B468 A60B0134 */ sh $t3, 0x134($s0)
/* AC260C 8004B46C 87AC00AE */ lh $t4, 0xae($sp)
/* AC2610 8004B470 A6000138 */ sh $zero, 0x138($s0)
/* AC2614 8004B474 A60C0136 */ sh $t4, 0x136($s0)
.L8004B478:
/* AC2618 8004B478 862E0018 */ lh $t6, 0x18($s1)
/* AC261C 8004B47C 3C018014 */ lui $at, %hi(D_80139FD0)
/* AC2620 8004B480 C7A800BC */ lwc1 $f8, 0xbc($sp)
/* AC2624 8004B484 51C00021 */ beql $t6, $zero, .L8004B50C
/* AC2628 8004B488 C60C0018 */ lwc1 $f12, 0x18($s0)
/* AC262C 8004B48C C4249FD0 */ lwc1 $f4, %lo(D_80139FD0)($at)
/* AC2630 8004B490 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC2634 8004B494 44815000 */ mtc1 $at, $f10
/* AC2638 8004B498 46082182 */ mul.s $f6, $f4, $f8
/* AC263C 8004B49C 862D0016 */ lh $t5, 0x16($s1)
/* AC2640 8004B4A0 86050136 */ lh $a1, 0x136($s0)
/* AC2644 8004B4A4 2407000A */ li $a3, 10
/* AC2648 8004B4A8 25B98001 */ addiu $t9, $t5, -0x7fff
/* AC264C 8004B4AC 03255023 */ subu $t2, $t9, $a1
/* AC2650 8004B4B0 00AA2021 */ addu $a0, $a1, $t2
/* AC2654 8004B4B4 46065101 */ sub.s $f4, $f10, $f6
/* AC2658 8004B4B8 00042400 */ sll $a0, $a0, 0x10
/* AC265C 8004B4BC 00042403 */ sra $a0, $a0, 0x10
/* AC2660 8004B4C0 44062000 */ mfc1 $a2, $f4
/* AC2664 8004B4C4 0C010E47 */ jal func_8004391C
/* AC2668 8004B4C8 00000000 */ nop
/* AC266C 8004B4CC 1000000E */ b .L8004B508
/* AC2670 8004B4D0 A6020136 */ sh $v0, 0x136($s0)
.L8004B4D4:
/* AC2674 8004B4D4 C608000C */ lwc1 $f8, 0xc($s0)
.L8004B4D8:
/* AC2678 8004B4D8 A6200018 */ sh $zero, 0x18($s1)
/* AC267C 8004B4DC 3C018012 */ lui $at, %hi(D_8011D3E8) # $at, 0x8012
/* AC2680 8004B4E0 E6280010 */ swc1 $f8, 0x10($s1)
/* AC2684 8004B4E4 8FAC0038 */ lw $t4, 0x38($sp)
/* AC2688 8004B4E8 AC20D3E8 */ sw $zero, %lo(D_8011D3E8)($at)
/* AC268C 8004B4EC 8FAB0040 */ lw $t3, 0x40($sp)
/* AC2690 8004B4F0 8D8D0000 */ lw $t5, ($t4)
/* AC2694 8004B4F4 AD6D0000 */ sw $t5, ($t3)
/* AC2698 8004B4F8 8D8E0004 */ lw $t6, 4($t4)
/* AC269C 8004B4FC AD6E0004 */ sw $t6, 4($t3)
/* AC26A0 8004B500 8D8D0008 */ lw $t5, 8($t4)
/* AC26A4 8004B504 AD6D0008 */ sw $t5, 8($t3)
.L8004B508:
/* AC26A8 8004B508 C60C0018 */ lwc1 $f12, 0x18($s0)
.L8004B50C:
/* AC26AC 8004B50C C60E00FC */ lwc1 $f14, 0xfc($s0)
/* AC26B0 8004B510 8E0600D4 */ lw $a2, 0xd4($s0)
/* AC26B4 8004B514 0C010E27 */ jal func_8004389C
/* AC26B8 8004B518 3C073F80 */ lui $a3, 0x3f80
/* AC26BC 8004B51C E60000FC */ swc1 $f0, 0xfc($s0)
/* AC26C0 8004B520 00002025 */ move $a0, $zero
/* AC26C4 8004B524 8605015A */ lh $a1, 0x15a($s0)
/* AC26C8 8004B528 3C063F00 */ lui $a2, 0x3f00
/* AC26CC 8004B52C 0C010E47 */ jal func_8004391C
/* AC26D0 8004B530 2407000A */ li $a3, 10
/* AC26D4 8004B534 A602015A */ sh $v0, 0x15a($s0)
/* AC26D8 8004B538 02002025 */ move $a0, $s0
/* AC26DC 8004B53C 0C011429 */ jal func_800450A4
/* AC26E0 8004B540 8E05001C */ lw $a1, 0x1c($s0)
/* AC26E4 8004B544 E6000100 */ swc1 $f0, 0x100($s0)
/* AC26E8 8004B548 8FBF0024 */ lw $ra, 0x24($sp)
/* AC26EC 8004B54C 8FB10020 */ lw $s1, 0x20($sp)
/* AC26F0 8004B550 8FB0001C */ lw $s0, 0x1c($sp)
/* AC26F4 8004B554 27BD00D8 */ addiu $sp, $sp, 0xd8
/* AC26F8 8004B558 03E00008 */ jr $ra
/* AC26FC 8004B55C 24020001 */ li $v0, 1

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,299 @@
.late_rodata
glabel D_8013A050
.float 0.01
glabel D_8013A054
.float 182.041671753
.float 0.01
.float 0.01
glabel D_8013A060
.float 0.01
glabel D_8013A064
.float 0.025
glabel D_8013A068
.float 0.01
glabel D_8013A06C
.float 0.01
glabel D_8013A070
.float 0.01
glabel D_8013A074
.float 9.99999974738e-05
.text
glabel func_8004C634
/* AC37D4 8004C634 27BDFF88 */ addiu $sp, $sp, -0x78
/* AC37D8 8004C638 AFB00018 */ sw $s0, 0x18($sp)
/* AC37DC 8004C63C 00808025 */ move $s0, $a0
/* AC37E0 8004C640 AFBF001C */ sw $ra, 0x1c($sp)
/* AC37E4 8004C644 0C00B721 */ jal Player_GetCameraYOffset
/* AC37E8 8004C648 8C840090 */ lw $a0, 0x90($a0)
/* AC37EC 8004C64C 8602015E */ lh $v0, 0x15e($s0)
/* AC37F0 8004C650 10400008 */ beqz $v0, .L8004C674
/* AC37F4 8004C654 2401000A */ li $at, 10
/* AC37F8 8004C658 10410006 */ beq $v0, $at, .L8004C674
/* AC37FC 8004C65C 24010014 */ li $at, 20
/* AC3800 8004C660 10410004 */ beq $v0, $at, .L8004C674
/* AC3804 8004C664 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016
/* AC3808 8004C668 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
/* AC380C 8004C66C 85C30314 */ lh $v1, 0x314($t6)
/* AC3810 8004C670 10600050 */ beqz $v1, .L8004C7B4
.L8004C674:
/* AC3814 8004C674 3C018014 */ lui $at, %hi(D_8013A050)
/* AC3818 8004C678 C42EA050 */ lwc1 $f14, %lo(D_8013A050)($at)
/* AC381C 8004C67C 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC3820 8004C680 44814000 */ mtc1 $at, $f8
/* AC3824 8004C684 3C014288 */ lui $at, 0x4288
/* AC3828 8004C688 3C0B8016 */ lui $t3, %hi(gGameInfo)
/* AC382C 8004C68C 8D6BFA90 */ lw $t3, %lo(gGameInfo)($t3)
/* AC3830 8004C690 44818000 */ mtc1 $at, $f16
/* AC3834 8004C694 860F0142 */ lh $t7, 0x142($s0)
/* AC3838 8004C698 856C01F0 */ lh $t4, 0x1f0($t3)
/* AC383C 8004C69C 46008483 */ div.s $f18, $f16, $f0
/* AC3840 8004C6A0 3C198012 */ lui $t9, %hi(D_8011D068)
/* AC3844 8004C6A4 448C2000 */ mtc1 $t4, $f4
/* AC3848 8004C6A8 000FC0C0 */ sll $t8, $t7, 3
/* AC384C 8004C6AC 86080144 */ lh $t0, 0x144($s0)
/* AC3850 8004C6B0 468021A0 */ cvt.s.w $f6, $f4
/* AC3854 8004C6B4 0338C821 */ addu $t9, $t9, $t8
/* AC3858 8004C6B8 8F39D068 */ lw $t9, %lo(D_8011D068)($t9)
/* AC385C 8004C6BC 000848C0 */ sll $t1, $t0, 3
/* AC3860 8004C6C0 3C018014 */ lui $at, %hi(D_8013A054)
/* AC3864 8004C6C4 03295021 */ addu $t2, $t9, $t1
/* AC3868 8004C6C8 8D420004 */ lw $v0, 4($t2)
/* AC386C 8004C6CC 3C0C8016 */ lui $t4, %hi(gGameInfo)
/* AC3870 8004C6D0 844D0000 */ lh $t5, ($v0)
/* AC3874 8004C6D4 24420018 */ addiu $v0, $v0, 0x18
/* AC3878 8004C6D8 460E3302 */ mul.s $f12, $f6, $f14
/* AC387C 8004C6DC 448D3000 */ mtc1 $t5, $f6
/* AC3880 8004C6E0 460C4280 */ add.s $f10, $f8, $f12
/* AC3884 8004C6E4 46126102 */ mul.s $f4, $f12, $f18
/* AC3888 8004C6E8 46803220 */ cvt.s.w $f8, $f6
/* AC388C 8004C6EC 46045081 */ sub.s $f2, $f10, $f4
/* AC3890 8004C6F0 460E4402 */ mul.s $f16, $f8, $f14
/* AC3894 8004C6F4 00000000 */ nop
/* AC3898 8004C6F8 46008482 */ mul.s $f18, $f16, $f0
/* AC389C 8004C6FC 00000000 */ nop
/* AC38A0 8004C700 46029282 */ mul.s $f10, $f18, $f2
/* AC38A4 8004C704 E60A0000 */ swc1 $f10, ($s0)
/* AC38A8 8004C708 844EFFEC */ lh $t6, -0x14($v0)
/* AC38AC 8004C70C 448E2000 */ mtc1 $t6, $f4
/* AC38B0 8004C710 00000000 */ nop
/* AC38B4 8004C714 468021A0 */ cvt.s.w $f6, $f4
/* AC38B8 8004C718 460E3202 */ mul.s $f8, $f6, $f14
/* AC38BC 8004C71C 00000000 */ nop
/* AC38C0 8004C720 46004402 */ mul.s $f16, $f8, $f0
/* AC38C4 8004C724 00000000 */ nop
/* AC38C8 8004C728 46028482 */ mul.s $f18, $f16, $f2
/* AC38CC 8004C72C E6120004 */ swc1 $f18, 4($s0)
/* AC38D0 8004C730 844FFFF0 */ lh $t7, -0x10($v0)
/* AC38D4 8004C734 C426A054 */ lwc1 $f6, %lo(D_8013A054)($at)
/* AC38D8 8004C738 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* AC38DC 8004C73C 448F5000 */ mtc1 $t7, $f10
/* AC38E0 8004C740 44818000 */ mtc1 $at, $f16
/* AC38E4 8004C744 46805120 */ cvt.s.w $f4, $f10
/* AC38E8 8004C748 46062202 */ mul.s $f8, $f4, $f6
/* AC38EC 8004C74C 46104480 */ add.s $f18, $f8, $f16
/* AC38F0 8004C750 4600928D */ trunc.w.s $f10, $f18
/* AC38F4 8004C754 44085000 */ mfc1 $t0, $f10
/* AC38F8 8004C758 00000000 */ nop
/* AC38FC 8004C75C A6080008 */ sh $t0, 8($s0)
/* AC3900 8004C760 8459FFF4 */ lh $t9, -0xc($v0)
/* AC3904 8004C764 44992000 */ mtc1 $t9, $f4
/* AC3908 8004C768 00000000 */ nop
/* AC390C 8004C76C 468021A0 */ cvt.s.w $f6, $f4
/* AC3910 8004C770 460E3202 */ mul.s $f8, $f6, $f14
/* AC3914 8004C774 E608000C */ swc1 $f8, 0xc($s0)
/* AC3918 8004C778 8449FFF8 */ lh $t1, -8($v0)
/* AC391C 8004C77C 44898000 */ mtc1 $t1, $f16
/* AC3920 8004C780 00000000 */ nop
/* AC3924 8004C784 468084A0 */ cvt.s.w $f18, $f16
/* AC3928 8004C788 E6120010 */ swc1 $f18, 0x10($s0)
/* AC392C 8004C78C 844AFFFC */ lh $t2, -4($v0)
/* AC3930 8004C790 448A5000 */ mtc1 $t2, $f10
/* AC3934 8004C794 00000000 */ nop
/* AC3938 8004C798 46805120 */ cvt.s.w $f4, $f10
/* AC393C 8004C79C 460E2182 */ mul.s $f6, $f4, $f14
/* AC3940 8004C7A0 E6060014 */ swc1 $f6, 0x14($s0)
/* AC3944 8004C7A4 844B0000 */ lh $t3, ($v0)
/* AC3948 8004C7A8 A60B0018 */ sh $t3, 0x18($s0)
/* AC394C 8004C7AC 8D8CFA90 */ lw $t4, %lo(gGameInfo)($t4)
/* AC3950 8004C7B0 85830314 */ lh $v1, 0x314($t4)
.L8004C7B4:
/* AC3954 8004C7B4 50600004 */ beql $v1, $zero, .L8004C7C8
/* AC3958 8004C7B8 26050050 */ addiu $a1, $s0, 0x50
/* AC395C 8004C7BC 0C011495 */ jal func_80045254
/* AC3960 8004C7C0 02002025 */ move $a0, $s0
/* AC3964 8004C7C4 26050050 */ addiu $a1, $s0, 0x50
.L8004C7C8:
/* AC3968 8004C7C8 2606005C */ addiu $a2, $s0, 0x5c
/* AC396C 8004C7CC AFA60034 */ sw $a2, 0x34($sp)
/* AC3970 8004C7D0 AFA50030 */ sw $a1, 0x30($sp)
/* AC3974 8004C7D4 0C01F124 */ jal func_8007C490
/* AC3978 8004C7D8 27A4005C */ addiu $a0, $sp, 0x5c
/* AC397C 8004C7DC 26060074 */ addiu $a2, $s0, 0x74
/* AC3980 8004C7E0 AFA6002C */ sw $a2, 0x2c($sp)
/* AC3984 8004C7E4 27A40054 */ addiu $a0, $sp, 0x54
/* AC3988 8004C7E8 0C01F124 */ jal func_8007C490
/* AC398C 8004C7EC 8FA50030 */ lw $a1, 0x30($sp)
/* AC3990 8004C7F0 860D0018 */ lh $t5, 0x18($s0)
/* AC3994 8004C7F4 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012
/* AC3998 8004C7F8 240E0032 */ li $t6, 50
/* AC399C 8004C7FC AC2DD3A0 */ sw $t5, %lo(D_8011D3A0)($at)
/* AC39A0 8004C800 8603015E */ lh $v1, 0x15e($s0)
/* AC39A4 8004C804 2401000A */ li $at, 10
/* AC39A8 8004C808 3C088016 */ lui $t0, %hi(gGameInfo) # $t0, 0x8016
/* AC39AC 8004C80C 50600008 */ beql $v1, $zero, .L8004C830
/* AC39B0 8004C810 2603001C */ addiu $v1, $s0, 0x1c
/* AC39B4 8004C814 10610005 */ beq $v1, $at, .L8004C82C
/* AC39B8 8004C818 24010014 */ li $at, 20
/* AC39BC 8004C81C 50610004 */ beql $v1, $at, .L8004C830
/* AC39C0 8004C820 2603001C */ addiu $v1, $s0, 0x1c
/* AC39C4 8004C824 10000006 */ b .L8004C840
/* AC39C8 8004C828 2603001C */ addiu $v1, $s0, 0x1c
.L8004C82C:
/* AC39CC 8004C82C 2603001C */ addiu $v1, $s0, 0x1c
.L8004C830:
/* AC39D0 8004C830 A46E0000 */ sh $t6, ($v1)
/* AC39D4 8004C834 860F015E */ lh $t7, 0x15e($s0)
/* AC39D8 8004C838 25F80001 */ addiu $t8, $t7, 1
/* AC39DC 8004C83C A618015E */ sh $t8, 0x15e($s0)
.L8004C840:
/* AC39E0 8004C840 8D08FA90 */ lw $t0, %lo(gGameInfo)($t0)
/* AC39E4 8004C844 3C018014 */ lui $at, %hi(D_8013A060)
/* AC39E8 8004C848 C432A060 */ lwc1 $f18, %lo(D_8013A060)($at)
/* AC39EC 8004C84C 851901C6 */ lh $t9, 0x1c6($t0)
/* AC39F0 8004C850 C60400E0 */ lwc1 $f4, 0xe0($s0)
/* AC39F4 8004C854 C60C000C */ lwc1 $f12, 0xc($s0)
/* AC39F8 8004C858 44994000 */ mtc1 $t9, $f8
/* AC39FC 8004C85C C60E00C8 */ lwc1 $f14, 0xc8($s0)
/* AC3A00 8004C860 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* AC3A04 8004C864 46804420 */ cvt.s.w $f16, $f8
/* AC3A08 8004C868 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC3A0C 8004C86C AFA30028 */ sw $v1, 0x28($sp)
/* AC3A10 8004C870 46128282 */ mul.s $f10, $f16, $f18
/* AC3A14 8004C874 00000000 */ nop
/* AC3A18 8004C878 46045182 */ mul.s $f6, $f10, $f4
/* AC3A1C 8004C87C 44063000 */ mfc1 $a2, $f6
/* AC3A20 8004C880 0C010E27 */ jal func_8004389C
/* AC3A24 8004C884 00000000 */ nop
/* AC3A28 8004C888 3C01447A */ li $at, 0x447A0000 # 0.000000
/* AC3A2C 8004C88C 44811000 */ mtc1 $at, $f2
/* AC3A30 8004C890 E60000C8 */ swc1 $f0, 0xc8($s0)
/* AC3A34 8004C894 3C098016 */ lui $t1, %hi(gGameInfo) # $t1, 0x8016
/* AC3A38 8004C898 E60200C0 */ swc1 $f2, 0xc0($s0)
/* AC3A3C 8004C89C E60200C4 */ swc1 $f2, 0xc4($s0)
/* AC3A40 8004C8A0 8D29FA90 */ lw $t1, %lo(gGameInfo)($t1)
/* AC3A44 8004C8A4 3C018014 */ lui $at, %hi(D_8013A064)
/* AC3A48 8004C8A8 C42CA064 */ lwc1 $f12, %lo(D_8013A064)($at)
/* AC3A4C 8004C8AC 852A01C6 */ lh $t2, 0x1c6($t1)
/* AC3A50 8004C8B0 3C018014 */ lui $at, %hi(D_8013A068)
/* AC3A54 8004C8B4 C432A068 */ lwc1 $f18, %lo(D_8013A068)($at)
/* AC3A58 8004C8B8 448A4000 */ mtc1 $t2, $f8
/* AC3A5C 8004C8BC 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* AC3A60 8004C8C0 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC3A64 8004C8C4 46804420 */ cvt.s.w $f16, $f8
/* AC3A68 8004C8C8 C60E00CC */ lwc1 $f14, 0xcc($s0)
/* AC3A6C 8004C8CC 46128282 */ mul.s $f10, $f16, $f18
/* AC3A70 8004C8D0 44065000 */ mfc1 $a2, $f10
/* AC3A74 8004C8D4 0C010E27 */ jal func_8004389C
/* AC3A78 8004C8D8 00000000 */ nop
/* AC3A7C 8004C8DC E60000CC */ swc1 $f0, 0xcc($s0)
/* AC3A80 8004C8E0 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016
/* AC3A84 8004C8E4 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0)
/* AC3A88 8004C8E8 3C018014 */ lui $at, %hi(D_8013A06C)
/* AC3A8C 8004C8EC C428A06C */ lwc1 $f8, %lo(D_8013A06C)($at)
/* AC3A90 8004C8F0 844B019A */ lh $t3, 0x19a($v0)
/* AC3A94 8004C8F4 844C01C8 */ lh $t4, 0x1c8($v0)
/* AC3A98 8004C8F8 3C018014 */ lui $at, %hi(D_8013A070)
/* AC3A9C 8004C8FC 448B2000 */ mtc1 $t3, $f4
/* AC3AA0 8004C900 448C8000 */ mtc1 $t4, $f16
/* AC3AA4 8004C904 C42AA070 */ lwc1 $f10, %lo(D_8013A070)($at)
/* AC3AA8 8004C908 468021A0 */ cvt.s.w $f6, $f4
/* AC3AAC 8004C90C 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* AC3AB0 8004C910 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC3AB4 8004C914 C60E00D0 */ lwc1 $f14, 0xd0($s0)
/* AC3AB8 8004C918 468084A0 */ cvt.s.w $f18, $f16
/* AC3ABC 8004C91C 46083302 */ mul.s $f12, $f6, $f8
/* AC3AC0 8004C920 C60600E0 */ lwc1 $f6, 0xe0($s0)
/* AC3AC4 8004C924 460A9102 */ mul.s $f4, $f18, $f10
/* AC3AC8 8004C928 00000000 */ nop
/* AC3ACC 8004C92C 46062202 */ mul.s $f8, $f4, $f6
/* AC3AD0 8004C930 44064000 */ mfc1 $a2, $f8
/* AC3AD4 8004C934 0C010E27 */ jal func_8004389C
/* AC3AD8 8004C938 00000000 */ nop
/* AC3ADC 8004C93C E60000D0 */ swc1 $f0, 0xd0($s0)
/* AC3AE0 8004C940 3C018014 */ lui $at, %hi(D_8013A074)
/* AC3AE4 8004C944 C430A074 */ lwc1 $f16, %lo(D_8013A074)($at)
/* AC3AE8 8004C948 02002025 */ move $a0, $s0
/* AC3AEC 8004C94C 27A50054 */ addiu $a1, $sp, 0x54
/* AC3AF0 8004C950 8E060000 */ lw $a2, ($s0)
/* AC3AF4 8004C954 24070001 */ li $a3, 1
/* AC3AF8 8004C958 0C0115EA */ jal func_800457A8
/* AC3AFC 8004C95C E61000D4 */ swc1 $f16, 0xd4($s0)
/* AC3B00 8004C960 8FA30028 */ lw $v1, 0x28($sp)
/* AC3B04 8004C964 87AE0062 */ lh $t6, 0x62($sp)
/* AC3B08 8004C968 87B90062 */ lh $t9, 0x62($sp)
/* AC3B0C 8004C96C 846D0000 */ lh $t5, ($v1)
/* AC3B10 8004C970 24070002 */ li $a3, 2
/* AC3B14 8004C974 51A0000B */ beql $t5, $zero, .L8004C9A4
/* AC3B18 8004C978 A7B9006A */ sh $t9, 0x6a($sp)
/* AC3B1C 8004C97C 87AF0060 */ lh $t7, 0x60($sp)
/* AC3B20 8004C980 C7B2005C */ lwc1 $f18, 0x5c($sp)
/* AC3B24 8004C984 A7AE006A */ sh $t6, 0x6a($sp)
/* AC3B28 8004C988 A7AF0068 */ sh $t7, 0x68($sp)
/* AC3B2C 8004C98C E7B20064 */ swc1 $f18, 0x64($sp)
/* AC3B30 8004C990 84780000 */ lh $t8, ($v1)
/* AC3B34 8004C994 2708FFFF */ addiu $t0, $t8, -1
/* AC3B38 8004C998 1000000E */ b .L8004C9D4
/* AC3B3C 8004C99C A4680000 */ sh $t0, ($v1)
/* AC3B40 8004C9A0 A7B9006A */ sh $t9, 0x6a($sp)
.L8004C9A4:
/* AC3B44 8004C9A4 8E06000C */ lw $a2, 0xc($s0)
/* AC3B48 8004C9A8 86040008 */ lh $a0, 8($s0)
/* AC3B4C 8004C9AC 0C010E47 */ jal func_8004391C
/* AC3B50 8004C9B0 87A50060 */ lh $a1, 0x60($sp)
/* AC3B54 8004C9B4 A7A20068 */ sh $v0, 0x68($sp)
/* AC3B58 8004C9B8 3C073A83 */ lui $a3, (0x3A83126F >> 16) # lui $a3, 0x3a83
/* AC3B5C 8004C9BC 34E7126F */ ori $a3, (0x3A83126F & 0xFFFF) # ori $a3, $a3, 0x126f
/* AC3B60 8004C9C0 8E06000C */ lw $a2, 0xc($s0)
/* AC3B64 8004C9C4 C60C0004 */ lwc1 $f12, 4($s0)
/* AC3B68 8004C9C8 0C010E27 */ jal func_8004389C
/* AC3B6C 8004C9CC C7AE005C */ lwc1 $f14, 0x5c($sp)
/* AC3B70 8004C9D0 E7A00064 */ swc1 $f0, 0x64($sp)
.L8004C9D4:
/* AC3B74 8004C9D4 8FA4002C */ lw $a0, 0x2c($sp)
/* AC3B78 8004C9D8 8FA50030 */ lw $a1, 0x30($sp)
/* AC3B7C 8004C9DC 0C010F0A */ jal func_80043C28
/* AC3B80 8004C9E0 27A60064 */ addiu $a2, $sp, 0x64
/* AC3B84 8004C9E4 8FAA002C */ lw $t2, 0x2c($sp)
/* AC3B88 8004C9E8 8FA90034 */ lw $t1, 0x34($sp)
/* AC3B8C 8004C9EC 3C073F80 */ lui $a3, 0x3f80
/* AC3B90 8004C9F0 8D4C0000 */ lw $t4, ($t2)
/* AC3B94 8004C9F4 AD2C0000 */ sw $t4, ($t1)
/* AC3B98 8004C9F8 8D4B0004 */ lw $t3, 4($t2)
/* AC3B9C 8004C9FC AD2B0004 */ sw $t3, 4($t1)
/* AC3BA0 8004CA00 8D4C0008 */ lw $t4, 8($t2)
/* AC3BA4 8004CA04 AD2C0008 */ sw $t4, 8($t1)
/* AC3BA8 8004CA08 C7AA0064 */ lwc1 $f10, 0x64($sp)
/* AC3BAC 8004CA0C 8E06000C */ lw $a2, 0xc($s0)
/* AC3BB0 8004CA10 C60E00FC */ lwc1 $f14, 0xfc($s0)
/* AC3BB4 8004CA14 C60C0010 */ lwc1 $f12, 0x10($s0)
/* AC3BB8 8004CA18 0C010E27 */ jal func_8004389C
/* AC3BBC 8004CA1C E60A00DC */ swc1 $f10, 0xdc($s0)
/* AC3BC0 8004CA20 E60000FC */ swc1 $f0, 0xfc($s0)
/* AC3BC4 8004CA24 A600015A */ sh $zero, 0x15a($s0)
/* AC3BC8 8004CA28 02002025 */ move $a0, $s0
/* AC3BCC 8004CA2C 0C011429 */ jal func_800450A4
/* AC3BD0 8004CA30 8E050014 */ lw $a1, 0x14($s0)
/* AC3BD4 8004CA34 E6000100 */ swc1 $f0, 0x100($s0)
/* AC3BD8 8004CA38 8FBF001C */ lw $ra, 0x1c($sp)
/* AC3BDC 8004CA3C 8FB00018 */ lw $s0, 0x18($sp)
/* AC3BE0 8004CA40 27BD0078 */ addiu $sp, $sp, 0x78
/* AC3BE4 8004CA44 03E00008 */ jr $ra
/* AC3BE8 8004CA48 24020001 */ li $v0, 1

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,726 @@
.rdata
glabel D_80139294
.asciz "\x1B[43;30mcamera: warning: talk: target is not valid, change parallel\n\x1B[m"
.balign 4
glabel D_801392DC
.asciz "camera: talk: BG&collision check %d time(s)\n"
.balign 4
.late_rodata
glabel D_8013A0CC
.float 0.01
glabel D_8013A0D0
.float 182.04167
glabel D_8013A0D4
.float 0.6
glabel D_8013A0D8
.float 0.001
.text
glabel func_8004D9E4
/* AC4B84 8004D9E4 27BDFF18 */ addiu $sp, $sp, -0xe8
/* AC4B88 8004D9E8 AFB30028 */ sw $s3, 0x28($sp)
/* AC4B8C 8004D9EC 00809825 */ move $s3, $a0
/* AC4B90 8004D9F0 AFBF002C */ sw $ra, 0x2c($sp)
/* AC4B94 8004D9F4 AFB20024 */ sw $s2, 0x24($sp)
/* AC4B98 8004D9F8 AFB10020 */ sw $s1, 0x20($sp)
/* AC4B9C 8004D9FC AFB0001C */ sw $s0, 0x1c($sp)
/* AC4BA0 8004DA00 0C00B721 */ jal Player_GetCameraYOffset
/* AC4BA4 8004DA04 8C840090 */ lw $a0, 0x90($a0)
/* AC4BA8 8004DA08 E7A00058 */ swc1 $f0, 0x58($sp)
/* AC4BAC 8004DA0C 8E6200A8 */ lw $v0, 0xa8($s3)
/* AC4BB0 8004DA10 10400004 */ beqz $v0, .L8004DA24
/* AC4BB4 8004DA14 00000000 */ nop
/* AC4BB8 8004DA18 8C4E0130 */ lw $t6, 0x130($v0)
/* AC4BBC 8004DA1C 55C0000C */ bnezl $t6, .L8004DA50
/* AC4BC0 8004DA20 8663015E */ lh $v1, 0x15e($s3)
.L8004DA24:
/* AC4BC4 8004DA24 14400003 */ bnez $v0, .L8004DA34
/* AC4BC8 8004DA28 3C048014 */ lui $a0, %hi(D_80139294) # $a0, 0x8014
/* AC4BCC 8004DA2C 0C00084C */ jal osSyncPrintf
/* AC4BD0 8004DA30 24849294 */ addiu $a0, %lo(D_80139294) # addiu $a0, $a0, -0x6d6c
.L8004DA34:
/* AC4BD4 8004DA34 AE6000A8 */ sw $zero, 0xa8($s3)
/* AC4BD8 8004DA38 02602025 */ move $a0, $s3
/* AC4BDC 8004DA3C 0C016911 */ jal func_8005A444
/* AC4BE0 8004DA40 24050001 */ li $a1, 1
/* AC4BE4 8004DA44 1000027F */ b .L8004E444
/* AC4BE8 8004DA48 24020001 */ li $v0, 1
/* AC4BEC 8004DA4C 8663015E */ lh $v1, 0x15e($s3)
.L8004DA50:
/* AC4BF0 8004DA50 2401000A */ li $at, 10
/* AC4BF4 8004DA54 50600006 */ beql $v1, $zero, .L8004DA70
/* AC4BF8 8004DA58 8E64008C */ lw $a0, 0x8c($s3)
/* AC4BFC 8004DA5C 10610003 */ beq $v1, $at, .L8004DA6C
/* AC4C00 8004DA60 24010014 */ li $at, 20
/* AC4C04 8004DA64 54610012 */ bnel $v1, $at, .L8004DAB0
/* AC4C08 8004DA68 866D014C */ lh $t5, 0x14c($s3)
.L8004DA6C:
/* AC4C0C 8004DA6C 8E64008C */ lw $a0, 0x8c($s3)
.L8004DA70:
/* AC4C10 8004DA70 8C8F01DC */ lw $t7, 0x1dc($a0)
/* AC4C14 8004DA74 55E0000A */ bnezl $t7, .L8004DAA0
/* AC4C18 8004DA78 866B014C */ lh $t3, 0x14c($s3)
/* AC4C1C 8004DA7C 8678014C */ lh $t8, 0x14c($s3)
/* AC4C20 8004DA80 86690164 */ lh $t1, 0x164($s3)
/* AC4C24 8004DA84 24020001 */ li $v0, 1
/* AC4C28 8004DA88 37190020 */ ori $t9, $t8, 0x20
/* AC4C2C 8004DA8C A679014C */ sh $t9, 0x14c($s3)
/* AC4C30 8004DA90 352A0050 */ ori $t2, $t1, 0x50
/* AC4C34 8004DA94 1000026B */ b .L8004E444
/* AC4C38 8004DA98 AC8A01DC */ sw $t2, 0x1dc($a0)
/* AC4C3C 8004DA9C 866B014C */ lh $t3, 0x14c($s3)
.L8004DAA0:
/* AC4C40 8004DAA0 8663015E */ lh $v1, 0x15e($s3)
/* AC4C44 8004DAA4 316CFFDF */ andi $t4, $t3, 0xffdf
/* AC4C48 8004DAA8 A66C014C */ sh $t4, 0x14c($s3)
/* AC4C4C 8004DAAC 866D014C */ lh $t5, 0x14c($s3)
.L8004DAB0:
/* AC4C50 8004DAB0 2401000A */ li $at, 10
/* AC4C54 8004DAB4 31AEFFEF */ andi $t6, $t5, 0xffef
/* AC4C58 8004DAB8 10600008 */ beqz $v1, .L8004DADC
/* AC4C5C 8004DABC A66E014C */ sh $t6, 0x14c($s3)
/* AC4C60 8004DAC0 10610006 */ beq $v1, $at, .L8004DADC
/* AC4C64 8004DAC4 24010014 */ li $at, 20
/* AC4C68 8004DAC8 10610004 */ beq $v1, $at, .L8004DADC
/* AC4C6C 8004DACC 3C0F8016 */ lui $t7, %hi(gGameInfo) # $t7, 0x8016
/* AC4C70 8004DAD0 8DEFFA90 */ lw $t7, %lo(gGameInfo)($t7)
/* AC4C74 8004DAD4 85E20314 */ lh $v0, 0x314($t7)
/* AC4C78 8004DAD8 10400058 */ beqz $v0, .L8004DC3C
.L8004DADC:
/* AC4C7C 8004DADC 3C0D8016 */ lui $t5, %hi(gGameInfo) # $t5, 0x8016
/* AC4C80 8004DAE0 8DADFA90 */ lw $t5, %lo(gGameInfo)($t5)
/* AC4C84 8004DAE4 3C018014 */ lui $at, %hi(D_8013A0CC)
/* AC4C88 8004DAE8 C42EA0CC */ lwc1 $f14, %lo(D_8013A0CC)($at)
/* AC4C8C 8004DAEC 85AE01F0 */ lh $t6, 0x1f0($t5)
/* AC4C90 8004DAF0 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC4C94 8004DAF4 44814000 */ mtc1 $at, $f8
/* AC4C98 8004DAF8 448E2000 */ mtc1 $t6, $f4
/* AC4C9C 8004DAFC 3C014288 */ li $at, 0x42880000 # 0.000000
/* AC4CA0 8004DB00 86780142 */ lh $t8, 0x142($s3)
/* AC4CA4 8004DB04 468021A0 */ cvt.s.w $f6, $f4
/* AC4CA8 8004DB08 44812000 */ mtc1 $at, $f4
/* AC4CAC 8004DB0C 3C098012 */ lui $t1, %hi(D_8011D068)
/* AC4CB0 8004DB10 0018C8C0 */ sll $t9, $t8, 3
/* AC4CB4 8004DB14 866A0144 */ lh $t2, 0x144($s3)
/* AC4CB8 8004DB18 01394821 */ addu $t1, $t1, $t9
/* AC4CBC 8004DB1C 460E3082 */ mul.s $f2, $f6, $f14
/* AC4CC0 8004DB20 46002183 */ div.s $f6, $f4, $f0
/* AC4CC4 8004DB24 8D29D068 */ lw $t1, %lo(D_8011D068)($t1)
/* AC4CC8 8004DB28 000A58C0 */ sll $t3, $t2, 3
/* AC4CCC 8004DB2C 012B6021 */ addu $t4, $t1, $t3
/* AC4CD0 8004DB30 8D820004 */ lw $v0, 4($t4)
/* AC4CD4 8004DB34 46024280 */ add.s $f10, $f8, $f2
/* AC4CD8 8004DB38 844F0000 */ lh $t7, ($v0)
/* AC4CDC 8004DB3C 2442002C */ addiu $v0, $v0, 0x2c
/* AC4CE0 8004DB40 448F2000 */ mtc1 $t7, $f4
/* AC4CE4 8004DB44 46061202 */ mul.s $f8, $f2, $f6
/* AC4CE8 8004DB48 468021A0 */ cvt.s.w $f6, $f4
/* AC4CEC 8004DB4C 46085301 */ sub.s $f12, $f10, $f8
/* AC4CF0 8004DB50 460E3282 */ mul.s $f10, $f6, $f14
/* AC4CF4 8004DB54 00000000 */ nop
/* AC4CF8 8004DB58 46005202 */ mul.s $f8, $f10, $f0
/* AC4CFC 8004DB5C 00000000 */ nop
/* AC4D00 8004DB60 460C4102 */ mul.s $f4, $f8, $f12
/* AC4D04 8004DB64 E6640000 */ swc1 $f4, ($s3)
/* AC4D08 8004DB68 8458FFD8 */ lh $t8, -0x28($v0)
/* AC4D0C 8004DB6C 44983000 */ mtc1 $t8, $f6
/* AC4D10 8004DB70 00000000 */ nop
/* AC4D14 8004DB74 468032A0 */ cvt.s.w $f10, $f6
/* AC4D18 8004DB78 E66A0004 */ swc1 $f10, 4($s3)
/* AC4D1C 8004DB7C 8459FFDC */ lh $t9, -0x24($v0)
/* AC4D20 8004DB80 44994000 */ mtc1 $t9, $f8
/* AC4D24 8004DB84 00000000 */ nop
/* AC4D28 8004DB88 46804120 */ cvt.s.w $f4, $f8
/* AC4D2C 8004DB8C E6640008 */ swc1 $f4, 8($s3)
/* AC4D30 8004DB90 844AFFE0 */ lh $t2, -0x20($v0)
/* AC4D34 8004DB94 448A3000 */ mtc1 $t2, $f6
/* AC4D38 8004DB98 3C0A8016 */ lui $t2, %hi(gGameInfo) # $t2, 0x8016
/* AC4D3C 8004DB9C 468032A0 */ cvt.s.w $f10, $f6
/* AC4D40 8004DBA0 E66A000C */ swc1 $f10, 0xc($s3)
/* AC4D44 8004DBA4 8449FFE4 */ lh $t1, -0x1c($v0)
/* AC4D48 8004DBA8 44894000 */ mtc1 $t1, $f8
/* AC4D4C 8004DBAC 00000000 */ nop
/* AC4D50 8004DBB0 46804120 */ cvt.s.w $f4, $f8
/* AC4D54 8004DBB4 E6640010 */ swc1 $f4, 0x10($s3)
/* AC4D58 8004DBB8 844BFFE8 */ lh $t3, -0x18($v0)
/* AC4D5C 8004DBBC 448B3000 */ mtc1 $t3, $f6
/* AC4D60 8004DBC0 00000000 */ nop
/* AC4D64 8004DBC4 468032A0 */ cvt.s.w $f10, $f6
/* AC4D68 8004DBC8 E66A0014 */ swc1 $f10, 0x14($s3)
/* AC4D6C 8004DBCC 844CFFEC */ lh $t4, -0x14($v0)
/* AC4D70 8004DBD0 448C4000 */ mtc1 $t4, $f8
/* AC4D74 8004DBD4 00000000 */ nop
/* AC4D78 8004DBD8 46804120 */ cvt.s.w $f4, $f8
/* AC4D7C 8004DBDC E6640018 */ swc1 $f4, 0x18($s3)
/* AC4D80 8004DBE0 844DFFF0 */ lh $t5, -0x10($v0)
/* AC4D84 8004DBE4 448D3000 */ mtc1 $t5, $f6
/* AC4D88 8004DBE8 00000000 */ nop
/* AC4D8C 8004DBEC 468032A0 */ cvt.s.w $f10, $f6
/* AC4D90 8004DBF0 460E5202 */ mul.s $f8, $f10, $f14
/* AC4D94 8004DBF4 E668001C */ swc1 $f8, 0x1c($s3)
/* AC4D98 8004DBF8 844EFFF4 */ lh $t6, -0xc($v0)
/* AC4D9C 8004DBFC 448E2000 */ mtc1 $t6, $f4
/* AC4DA0 8004DC00 00000000 */ nop
/* AC4DA4 8004DC04 468021A0 */ cvt.s.w $f6, $f4
/* AC4DA8 8004DC08 E6660020 */ swc1 $f6, 0x20($s3)
/* AC4DAC 8004DC0C 844FFFF8 */ lh $t7, -8($v0)
/* AC4DB0 8004DC10 448F5000 */ mtc1 $t7, $f10
/* AC4DB4 8004DC14 00000000 */ nop
/* AC4DB8 8004DC18 46805220 */ cvt.s.w $f8, $f10
/* AC4DBC 8004DC1C 460E4102 */ mul.s $f4, $f8, $f14
/* AC4DC0 8004DC20 E6640024 */ swc1 $f4, 0x24($s3)
/* AC4DC4 8004DC24 8458FFFC */ lh $t8, -4($v0)
/* AC4DC8 8004DC28 A6780028 */ sh $t8, 0x28($s3)
/* AC4DCC 8004DC2C 84590000 */ lh $t9, ($v0)
/* AC4DD0 8004DC30 A679002A */ sh $t9, 0x2a($s3)
/* AC4DD4 8004DC34 8D4AFA90 */ lw $t2, %lo(gGameInfo)($t2)
/* AC4DD8 8004DC38 85420314 */ lh $v0, 0x314($t2)
.L8004DC3C:
/* AC4DDC 8004DC3C 50400004 */ beql $v0, $zero, .L8004DC50
/* AC4DE0 8004DC40 C7A60058 */ lwc1 $f6, 0x58($sp)
/* AC4DE4 8004DC44 0C011495 */ jal func_80045254
/* AC4DE8 8004DC48 02602025 */ move $a0, $s3
/* AC4DEC 8004DC4C C7A60058 */ lwc1 $f6, 0x58($sp)
.L8004DC50:
/* AC4DF0 8004DC50 C66A0000 */ lwc1 $f10, ($s3)
/* AC4DF4 8004DC54 26700050 */ addiu $s0, $s3, 0x50
/* AC4DF8 8004DC58 2666005C */ addiu $a2, $s3, 0x5c
/* AC4DFC 8004DC5C 460A3200 */ add.s $f8, $f6, $f10
/* AC4E00 8004DC60 AFA60048 */ sw $a2, 0x48($sp)
/* AC4E04 8004DC64 02002825 */ move $a1, $s0
/* AC4E08 8004DC68 27A40094 */ addiu $a0, $sp, 0x94
/* AC4E0C 8004DC6C 0C01F124 */ jal func_8007C490
/* AC4E10 8004DC70 E7A80058 */ swc1 $f8, 0x58($sp)
/* AC4E14 8004DC74 26720074 */ addiu $s2, $s3, 0x74
/* AC4E18 8004DC78 02403025 */ move $a2, $s2
/* AC4E1C 8004DC7C 27A4008C */ addiu $a0, $sp, 0x8c
/* AC4E20 8004DC80 0C01F124 */ jal func_8007C490
/* AC4E24 8004DC84 02002825 */ move $a1, $s0
/* AC4E28 8004DC88 267100AC */ addiu $s1, $s3, 0xac
/* AC4E2C 8004DC8C 02202025 */ move $a0, $s1
/* AC4E30 8004DC90 0C00BBB9 */ jal func_8002EEE4
/* AC4E34 8004DC94 8E6500A8 */ lw $a1, 0xa8($s3)
/* AC4E38 8004DC98 27A4006C */ addiu $a0, $sp, 0x6c
/* AC4E3C 8004DC9C 0C00BBB9 */ jal func_8002EEE4
/* AC4E40 8004DCA0 8E650090 */ lw $a1, 0x90($s3)
/* AC4E44 8004DCA4 26680094 */ addiu $t0, $s3, 0x94
/* AC4E48 8004DCA8 8D0B0000 */ lw $t3, ($t0)
/* AC4E4C 8004DCAC 27A500D0 */ addiu $a1, $sp, 0xd0
/* AC4E50 8004DCB0 27A400A4 */ addiu $a0, $sp, 0xa4
/* AC4E54 8004DCB4 ACAB0000 */ sw $t3, ($a1)
/* AC4E58 8004DCB8 8D090004 */ lw $t1, 4($t0)
/* AC4E5C 8004DCBC 02203025 */ move $a2, $s1
/* AC4E60 8004DCC0 ACA90004 */ sw $t1, 4($a1)
/* AC4E64 8004DCC4 8D0B0008 */ lw $t3, 8($t0)
/* AC4E68 8004DCC8 ACAB0008 */ sw $t3, 8($a1)
/* AC4E6C 8004DCCC C7A400D4 */ lwc1 $f4, 0xd4($sp)
/* AC4E70 8004DCD0 C7A60058 */ lwc1 $f6, 0x58($sp)
/* AC4E74 8004DCD4 AFA8003C */ sw $t0, 0x3c($sp)
/* AC4E78 8004DCD8 46062280 */ add.s $f10, $f4, $f6
/* AC4E7C 8004DCDC 0C01F124 */ jal func_8007C490
/* AC4E80 8004DCE0 E7AA00D4 */ swc1 $f10, 0xd4($sp)
/* AC4E84 8004DCE4 866C002A */ lh $t4, 0x2a($s3)
/* AC4E88 8004DCE8 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012
/* AC4E8C 8004DCEC 27A500D0 */ addiu $a1, $sp, 0xd0
/* AC4E90 8004DCF0 AC2CD3A0 */ sw $t4, %lo(D_8011D3A0)($at)
/* AC4E94 8004DCF4 8663015E */ lh $v1, 0x15e($s3)
/* AC4E98 8004DCF8 8FA8003C */ lw $t0, 0x3c($sp)
/* AC4E9C 8004DCFC 2401000A */ li $at, 10
/* AC4EA0 8004DD00 50600006 */ beql $v1, $zero, .L8004DD1C
/* AC4EA4 8004DD04 8E6D00A8 */ lw $t5, 0xa8($s3)
/* AC4EA8 8004DD08 10610003 */ beq $v1, $at, .L8004DD18
/* AC4EAC 8004DD0C 24010014 */ li $at, 20
/* AC4EB0 8004DD10 1461012F */ bne $v1, $at, .L8004E1D0
/* AC4EB4 8004DD14 2662002C */ addiu $v0, $s3, 0x2c
.L8004DD18:
/* AC4EB8 8004DD18 8E6D00A8 */ lw $t5, 0xa8($s3)
.L8004DD1C:
/* AC4EBC 8004DD1C 2667002C */ addiu $a3, $s3, 0x2c
/* AC4EC0 8004DD20 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC4EC4 8004DD24 AFAD00AC */ sw $t5, 0xac($sp)
/* AC4EC8 8004DD28 8E6E0090 */ lw $t6, 0x90($s3)
/* AC4ECC 8004DD2C AFAE00B0 */ sw $t6, 0xb0($sp)
/* AC4ED0 8004DD30 866F015E */ lh $t7, 0x15e($s3)
/* AC4ED4 8004DD34 8E7900A8 */ lw $t9, 0xa8($s3)
/* AC4ED8 8004DD38 25F80001 */ addiu $t8, $t7, 1
/* AC4EDC 8004DD3C A678015E */ sh $t8, 0x15e($s3)
/* AC4EE0 8004DD40 ACF9000C */ sw $t9, 0xc($a3)
/* AC4EE4 8004DD44 C7A800A4 */ lwc1 $f8, 0xa4($sp)
/* AC4EE8 8004DD48 C6600008 */ lwc1 $f0, 8($s3)
/* AC4EEC 8004DD4C C7A400A4 */ lwc1 $f4, 0xa4($sp)
/* AC4EF0 8004DD50 4608003C */ c.lt.s $f0, $f8
/* AC4EF4 8004DD54 00000000 */ nop
/* AC4EF8 8004DD58 45020005 */ bc1fl .L8004DD70
/* AC4EFC 8004DD5C 46002303 */ div.s $f12, $f4, $f0
/* AC4F00 8004DD60 44816000 */ mtc1 $at, $f12
/* AC4F04 8004DD64 10000002 */ b .L8004DD70
/* AC4F08 8004DD68 00000000 */ nop
/* AC4F0C 8004DD6C 46002303 */ div.s $f12, $f4, $f0
.L8004DD70:
/* AC4F10 8004DD70 3C018014 */ lui $at, %hi(D_8013A0D0)
/* AC4F14 8004DD74 C430A0D0 */ lwc1 $f16, %lo(D_8013A0D0)($at)
/* AC4F18 8004DD78 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* AC4F1C 8004DD7C 44819000 */ mtc1 $at, $f18
/* AC4F20 8004DD80 866A0028 */ lh $t2, 0x28($s3)
/* AC4F24 8004DD84 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC4F28 8004DD88 44813000 */ mtc1 $at, $f6
/* AC4F2C 8004DD8C A4EA001C */ sh $t2, 0x1c($a3)
/* AC4F30 8004DD90 84E9001C */ lh $t1, 0x1c($a3)
/* AC4F34 8004DD94 460C3281 */ sub.s $f10, $f6, $f12
/* AC4F38 8004DD98 C7A800A4 */ lwc1 $f8, 0xa4($sp)
/* AC4F3C 8004DD9C 44893000 */ mtc1 $t1, $f6
/* AC4F40 8004DDA0 87AB00A8 */ lh $t3, 0xa8($sp)
/* AC4F44 8004DDA4 46085102 */ mul.s $f4, $f10, $f8
/* AC4F48 8004DDA8 87A300AA */ lh $v1, 0xaa($sp)
/* AC4F4C 8004DDAC 87AD0092 */ lh $t5, 0x92($sp)
/* AC4F50 8004DDB0 006D7023 */ subu $t6, $v1, $t5
/* AC4F54 8004DDB4 468032A0 */ cvt.s.w $f10, $f6
/* AC4F58 8004DDB8 000EC400 */ sll $t8, $t6, 0x10
/* AC4F5C 8004DDBC 0018CC03 */ sra $t9, $t8, 0x10
/* AC4F60 8004DDC0 460A2203 */ div.s $f8, $f4, $f10
/* AC4F64 8004DDC4 E7A800BC */ swc1 $f8, 0xbc($sp)
/* AC4F68 8004DDC8 C6660018 */ lwc1 $f6, 0x18($s3)
/* AC4F6C 8004DDCC C6600014 */ lwc1 $f0, 0x14($s3)
/* AC4F70 8004DDD0 448B4000 */ mtc1 $t3, $f8
/* AC4F74 8004DDD4 46003101 */ sub.s $f4, $f6, $f0
/* AC4F78 8004DDD8 468041A0 */ cvt.s.w $f6, $f8
/* AC4F7C 8004DDDC 460C2282 */ mul.s $f10, $f4, $f12
/* AC4F80 8004DDE0 C664001C */ lwc1 $f4, 0x1c($s3)
/* AC4F84 8004DDE4 460A0380 */ add.s $f14, $f0, $f10
/* AC4F88 8004DDE8 46043282 */ mul.s $f10, $f6, $f4
/* AC4F8C 8004DDEC 00000000 */ nop
/* AC4F90 8004DDF0 46107102 */ mul.s $f4, $f14, $f16
/* AC4F94 8004DDF4 46005207 */ neg.s $f8, $f10
/* AC4F98 8004DDF8 4600418D */ trunc.w.s $f6, $f8
/* AC4F9C 8004DDFC 46122280 */ add.s $f10, $f4, $f18
/* AC4FA0 8004DE00 440F3000 */ mfc1 $t7, $f6
/* AC4FA4 8004DE04 4600520D */ trunc.w.s $f8, $f10
/* AC4FA8 8004DE08 44094000 */ mfc1 $t1, $f8
/* AC4FAC 8004DE0C 00000000 */ nop
/* AC4FB0 8004DE10 012F5821 */ addu $t3, $t1, $t7
/* AC4FB4 8004DE14 A7AB00A0 */ sh $t3, 0xa0($sp)
/* AC4FB8 8004DE18 C6660010 */ lwc1 $f6, 0x10($s3)
/* AC4FBC 8004DE1C C662000C */ lwc1 $f2, 0xc($s3)
/* AC4FC0 8004DE20 8662002A */ lh $v0, 0x2a($s3)
/* AC4FC4 8004DE24 46023101 */ sub.s $f4, $f6, $f2
/* AC4FC8 8004DE28 304C0010 */ andi $t4, $v0, 0x10
/* AC4FCC 8004DE2C 30490020 */ andi $t1, $v0, 0x20
/* AC4FD0 8004DE30 460C2282 */ mul.s $f10, $f4, $f12
/* AC4FD4 8004DE34 11800013 */ beqz $t4, .L8004DE84
/* AC4FD8 8004DE38 460A1380 */ add.s $f14, $f2, $f10
/* AC4FDC 8004DE3C 07210009 */ bgez $t9, .L8004DE64
/* AC4FE0 8004DE40 00000000 */ nop
/* AC4FE4 8004DE44 46107202 */ mul.s $f8, $f14, $f16
/* AC4FE8 8004DE48 46124180 */ add.s $f6, $f8, $f18
/* AC4FEC 8004DE4C 4600310D */ trunc.w.s $f4, $f6
/* AC4FF0 8004DE50 440B2000 */ mfc1 $t3, $f4
/* AC4FF4 8004DE54 00000000 */ nop
/* AC4FF8 8004DE58 006B6021 */ addu $t4, $v1, $t3
/* AC4FFC 8004DE5C 10000054 */ b .L8004DFB0
/* AC5000 8004DE60 A7AC00A2 */ sh $t4, 0xa2($sp)
.L8004DE64:
/* AC5004 8004DE64 46107282 */ mul.s $f10, $f14, $f16
/* AC5008 8004DE68 46125200 */ add.s $f8, $f10, $f18
/* AC500C 8004DE6C 4600418D */ trunc.w.s $f6, $f8
/* AC5010 8004DE70 44193000 */ mfc1 $t9, $f6
/* AC5014 8004DE74 00000000 */ nop
/* AC5018 8004DE78 00795023 */ subu $t2, $v1, $t9
/* AC501C 8004DE7C 1000004C */ b .L8004DFB0
/* AC5020 8004DE80 A7AA00A2 */ sh $t2, 0xa2($sp)
.L8004DE84:
/* AC5024 8004DE84 1120001A */ beqz $t1, .L8004DEF0
/* AC5028 8004DE88 87A300AA */ lh $v1, 0xaa($sp)
/* AC502C 8004DE8C 87A300AA */ lh $v1, 0xaa($sp)
/* AC5030 8004DE90 87AF0092 */ lh $t7, 0x92($sp)
/* AC5034 8004DE94 006F5823 */ subu $t3, $v1, $t7
/* AC5038 8004DE98 000B6400 */ sll $t4, $t3, 0x10
/* AC503C 8004DE9C 000C6C03 */ sra $t5, $t4, 0x10
/* AC5040 8004DEA0 05A1000A */ bgez $t5, .L8004DECC
/* AC5044 8004DEA4 00000000 */ nop
/* AC5048 8004DEA8 46107102 */ mul.s $f4, $f14, $f16
/* AC504C 8004DEAC 24798001 */ addiu $t9, $v1, -0x7fff
/* AC5050 8004DEB0 46122280 */ add.s $f10, $f4, $f18
/* AC5054 8004DEB4 4600520D */ trunc.w.s $f8, $f10
/* AC5058 8004DEB8 440B4000 */ mfc1 $t3, $f8
/* AC505C 8004DEBC 00000000 */ nop
/* AC5060 8004DEC0 032B6023 */ subu $t4, $t9, $t3
/* AC5064 8004DEC4 1000003A */ b .L8004DFB0
/* AC5068 8004DEC8 A7AC00A2 */ sh $t4, 0xa2($sp)
.L8004DECC:
/* AC506C 8004DECC 46107182 */ mul.s $f6, $f14, $f16
/* AC5070 8004DED0 24788001 */ addiu $t8, $v1, -0x7fff
/* AC5074 8004DED4 46123100 */ add.s $f4, $f6, $f18
/* AC5078 8004DED8 4600228D */ trunc.w.s $f10, $f4
/* AC507C 8004DEDC 44195000 */ mfc1 $t9, $f10
/* AC5080 8004DEE0 00000000 */ nop
/* AC5084 8004DEE4 03195821 */ addu $t3, $t8, $t9
/* AC5088 8004DEE8 10000031 */ b .L8004DFB0
/* AC508C 8004DEEC A7AB00A2 */ sh $t3, 0xa2($sp)
.L8004DEF0:
/* AC5090 8004DEF0 87AC0092 */ lh $t4, 0x92($sp)
/* AC5094 8004DEF4 006C1023 */ subu $v0, $v1, $t4
/* AC5098 8004DEF8 00021400 */ sll $v0, $v0, 0x10
/* AC509C 8004DEFC 00021403 */ sra $v0, $v0, 0x10
/* AC50A0 8004DF00 04400003 */ bltz $v0, .L8004DF10
/* AC50A4 8004DF04 00022023 */ negu $a0, $v0
/* AC50A8 8004DF08 10000001 */ b .L8004DF10
/* AC50AC 8004DF0C 00402025 */ move $a0, $v0
.L8004DF10:
/* AC50B0 8004DF10 28813FFF */ slti $at, $a0, 0x3fff
/* AC50B4 8004DF14 10200013 */ beqz $at, .L8004DF64
/* AC50B8 8004DF18 00000000 */ nop
/* AC50BC 8004DF1C 04410009 */ bgez $v0, .L8004DF44
/* AC50C0 8004DF20 00000000 */ nop
/* AC50C4 8004DF24 46107202 */ mul.s $f8, $f14, $f16
/* AC50C8 8004DF28 46124180 */ add.s $f6, $f8, $f18
/* AC50CC 8004DF2C 4600310D */ trunc.w.s $f4, $f6
/* AC50D0 8004DF30 44092000 */ mfc1 $t1, $f4
/* AC50D4 8004DF34 00000000 */ nop
/* AC50D8 8004DF38 00697821 */ addu $t7, $v1, $t1
/* AC50DC 8004DF3C 1000001C */ b .L8004DFB0
/* AC50E0 8004DF40 A7AF00A2 */ sh $t7, 0xa2($sp)
.L8004DF44:
/* AC50E4 8004DF44 46107282 */ mul.s $f10, $f14, $f16
/* AC50E8 8004DF48 46125200 */ add.s $f8, $f10, $f18
/* AC50EC 8004DF4C 4600418D */ trunc.w.s $f6, $f8
/* AC50F0 8004DF50 440C3000 */ mfc1 $t4, $f6
/* AC50F4 8004DF54 00000000 */ nop
/* AC50F8 8004DF58 006C6823 */ subu $t5, $v1, $t4
/* AC50FC 8004DF5C 10000014 */ b .L8004DFB0
/* AC5100 8004DF60 A7AD00A2 */ sh $t5, 0xa2($sp)
.L8004DF64:
/* AC5104 8004DF64 0441000A */ bgez $v0, .L8004DF90
/* AC5108 8004DF68 00000000 */ nop
/* AC510C 8004DF6C 46107102 */ mul.s $f4, $f14, $f16
/* AC5110 8004DF70 24698001 */ addiu $t1, $v1, -0x7fff
/* AC5114 8004DF74 46122280 */ add.s $f10, $f4, $f18
/* AC5118 8004DF78 4600520D */ trunc.w.s $f8, $f10
/* AC511C 8004DF7C 440B4000 */ mfc1 $t3, $f8
/* AC5120 8004DF80 00000000 */ nop
/* AC5124 8004DF84 012B6023 */ subu $t4, $t1, $t3
/* AC5128 8004DF88 10000009 */ b .L8004DFB0
/* AC512C 8004DF8C A7AC00A2 */ sh $t4, 0xa2($sp)
.L8004DF90:
/* AC5130 8004DF90 46107182 */ mul.s $f6, $f14, $f16
/* AC5134 8004DF94 246A8001 */ addiu $t2, $v1, -0x7fff
/* AC5138 8004DF98 46123100 */ add.s $f4, $f6, $f18
/* AC513C 8004DF9C 4600228D */ trunc.w.s $f10, $f4
/* AC5140 8004DFA0 44095000 */ mfc1 $t1, $f10
/* AC5144 8004DFA4 00000000 */ nop
/* AC5148 8004DFA8 01495821 */ addu $t3, $t2, $t1
/* AC514C 8004DFAC A7AB00A2 */ sh $t3, 0xa2($sp)
.L8004DFB0:
/* AC5150 8004DFB0 3C018014 */ lui $at, %hi(D_8013A0D4)
/* AC5154 8004DFB4 C420A0D4 */ lwc1 $f0, %lo(D_8013A0D4)($at)
/* AC5158 8004DFB8 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC515C 8004DFBC 44813000 */ mtc1 $at, $f6
/* AC5160 8004DFC0 C7AE00A4 */ lwc1 $f14, 0xa4($sp)
/* AC5164 8004DFC4 87AC00A2 */ lh $t4, 0xa2($sp)
/* AC5168 8004DFC8 46003101 */ sub.s $f4, $f6, $f0
/* AC516C 8004DFCC C7A600BC */ lwc1 $f6, 0xbc($sp)
/* AC5170 8004DFD0 87AD00A0 */ lh $t5, 0xa0($sp)
/* AC5174 8004DFD4 A7AC0080 */ sh $t4, 0x80($sp)
/* AC5178 8004DFD8 46047282 */ mul.s $f10, $f14, $f4
/* AC517C 8004DFDC A7AD0082 */ sh $t5, 0x82($sp)
/* AC5180 8004DFE0 24F10010 */ addiu $s1, $a3, 0x10
/* AC5184 8004DFE4 46003202 */ mul.s $f8, $f6, $f0
/* AC5188 8004DFE8 02202025 */ move $a0, $s1
/* AC518C 8004DFEC 27A600A4 */ addiu $a2, $sp, 0xa4
/* AC5190 8004DFF0 460A4100 */ add.s $f4, $f8, $f10
/* AC5194 8004DFF4 E7A400A4 */ swc1 $f4, 0xa4($sp)
/* AC5198 8004DFF8 8D0F0000 */ lw $t7, ($t0)
/* AC519C 8004DFFC ACAF0000 */ sw $t7, ($a1)
/* AC51A0 8004E000 8D0E0004 */ lw $t6, 4($t0)
/* AC51A4 8004E004 ACAE0004 */ sw $t6, 4($a1)
/* AC51A8 8004E008 8D0F0008 */ lw $t7, 8($t0)
/* AC51AC 8004E00C ACAF0008 */ sw $t7, 8($a1)
/* AC51B0 8004E010 C7A600D4 */ lwc1 $f6, 0xd4($sp)
/* AC51B4 8004E014 C7A80058 */ lwc1 $f8, 0x58($sp)
/* AC51B8 8004E018 AFA70038 */ sw $a3, 0x38($sp)
/* AC51BC 8004E01C E7AE00B8 */ swc1 $f14, 0xb8($sp)
/* AC51C0 8004E020 46083280 */ add.s $f10, $f6, $f8
/* AC51C4 8004E024 0C010F0A */ jal func_80043C28
/* AC51C8 8004E028 E7AA00D4 */ swc1 $f10, 0xd4($sp)
/* AC51CC 8004E02C 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* AC51D0 8004E030 C7AE00B8 */ lwc1 $f14, 0xb8($sp)
/* AC51D4 8004E034 44813000 */ mtc1 $at, $f6
/* AC51D8 8004E038 2418000E */ li $t8, 14
/* AC51DC 8004E03C AFB80084 */ sw $t8, 0x84($sp)
/* AC51E0 8004E040 46067202 */ mul.s $f8, $f14, $f6
/* AC51E4 8004E044 E7AE00A4 */ swc1 $f14, 0xa4($sp)
/* AC51E8 8004E048 C6640004 */ lwc1 $f4, 4($s3)
/* AC51EC 8004E04C C7A6008C */ lwc1 $f6, 0x8c($sp)
/* AC51F0 8004E050 27B200C4 */ addiu $s2, $sp, 0xc4
/* AC51F4 8004E054 00008025 */ move $s0, $zero
/* AC51F8 8004E058 02402025 */ move $a0, $s2
/* AC51FC 8004E05C 46082280 */ add.s $f10, $f4, $f8
/* AC5200 8004E060 02202825 */ move $a1, $s1
/* AC5204 8004E064 27A6009C */ addiu $a2, $sp, 0x9c
/* AC5208 8004E068 46065101 */ sub.s $f4, $f10, $f6
/* AC520C 8004E06C 46062200 */ add.s $f8, $f4, $f6
/* AC5210 8004E070 0C010F0A */ jal func_80043C28
/* AC5214 8004E074 E7A8009C */ swc1 $f8, 0x9c($sp)
/* AC5218 8004E078 8679002A */ lh $t9, 0x2a($s3)
/* AC521C 8004E07C 332A0080 */ andi $t2, $t9, 0x80
/* AC5220 8004E080 15400028 */ bnez $t2, .L8004E124
/* AC5224 8004E084 00000000 */ nop
/* AC5228 8004E088 8E64008C */ lw $a0, 0x8c($s3)
.L8004E08C:
/* AC522C 8004E08C 3C010001 */ lui $at, (0x00011E60 >> 16) # lui $at, 1
/* AC5230 8004E090 34211E60 */ ori $at, (0x00011E60 & 0xFFFF) # ori $at, $at, 0x1e60
/* AC5234 8004E094 27A900AC */ addiu $t1, $sp, 0xac
/* AC5238 8004E098 240B0002 */ li $t3, 2
/* AC523C 8004E09C AFAB0014 */ sw $t3, 0x14($sp)
/* AC5240 8004E0A0 AFA90010 */ sw $t1, 0x10($sp)
/* AC5244 8004E0A4 02203025 */ move $a2, $s1
/* AC5248 8004E0A8 02403825 */ move $a3, $s2
/* AC524C 8004E0AC 0C0189AC */ jal func_800626B0
/* AC5250 8004E0B0 00812821 */ addu $a1, $a0, $at
/* AC5254 8004E0B4 14400005 */ bnez $v0, .L8004E0CC
/* AC5258 8004E0B8 02602025 */ move $a0, $s3
/* AC525C 8004E0BC 02202825 */ move $a1, $s1
/* AC5260 8004E0C0 0C010FCD */ jal func_80043F34
/* AC5264 8004E0C4 02403025 */ move $a2, $s2
/* AC5268 8004E0C8 10400016 */ beqz $v0, .L8004E124
.L8004E0CC:
/* AC526C 8004E0CC 00101040 */ sll $v0, $s0, 1
/* AC5270 8004E0D0 3C0C8012 */ lui $t4, %hi(D_8011D3B0)
/* AC5274 8004E0D4 3C0F8012 */ lui $t7, %hi(D_8011D3CC)
/* AC5278 8004E0D8 01826021 */ addu $t4, $t4, $v0
/* AC527C 8004E0DC 01E27821 */ addu $t7, $t7, $v0
/* AC5280 8004E0E0 858CD3B0 */ lh $t4, %lo(D_8011D3B0)($t4)
/* AC5284 8004E0E4 87AD0080 */ lh $t5, 0x80($sp)
/* AC5288 8004E0E8 85EFD3CC */ lh $t7, %lo(D_8011D3CC)($t7)
/* AC528C 8004E0EC 87B80082 */ lh $t8, 0x82($sp)
/* AC5290 8004E0F0 018D7021 */ addu $t6, $t4, $t5
/* AC5294 8004E0F4 A7AE00A2 */ sh $t6, 0xa2($sp)
/* AC5298 8004E0F8 01F8C821 */ addu $t9, $t7, $t8
/* AC529C 8004E0FC A7B900A0 */ sh $t9, 0xa0($sp)
/* AC52A0 8004E100 02402025 */ move $a0, $s2
/* AC52A4 8004E104 02202825 */ move $a1, $s1
/* AC52A8 8004E108 0C010F0A */ jal func_80043C28
/* AC52AC 8004E10C 27A6009C */ addiu $a2, $sp, 0x9c
/* AC52B0 8004E110 8FAA0084 */ lw $t2, 0x84($sp)
/* AC52B4 8004E114 26100001 */ addiu $s0, $s0, 1
/* AC52B8 8004E118 020A082A */ slt $at, $s0, $t2
/* AC52BC 8004E11C 5420FFDB */ bnezl $at, .L8004E08C
/* AC52C0 8004E120 8E64008C */ lw $a0, 0x8c($s3)
.L8004E124:
/* AC52C4 8004E124 3C048014 */ lui $a0, %hi(D_801392DC)
/* AC52C8 8004E128 248492DC */ addiu $a0, %lo(D_801392DC) # addiu $a0, $a0, -0x6d24
/* AC52CC 8004E12C 0C00084C */ jal osSyncPrintf
/* AC52D0 8004E130 02002825 */ move $a1, $s0
/* AC52D4 8004E134 8669014C */ lh $t1, 0x14c($s3)
/* AC52D8 8004E138 8FA50038 */ lw $a1, 0x38($sp)
/* AC52DC 8004E13C 24020001 */ li $v0, 1
/* AC52E0 8004E140 312BFFF3 */ andi $t3, $t1, 0xfff3
/* AC52E4 8004E144 A66B014C */ sh $t3, 0x14c($s3)
/* AC52E8 8004E148 84A3001C */ lh $v1, 0x1c($a1)
/* AC52EC 8004E14C 87AE0092 */ lh $t6, 0x92($sp)
/* AC52F0 8004E150 87AD00A2 */ lh $t5, 0xa2($sp)
/* AC52F4 8004E154 246C0001 */ addiu $t4, $v1, 1
/* AC52F8 8004E158 01830019 */ multu $t4, $v1
/* AC52FC 8004E15C 01AE7823 */ subu $t7, $t5, $t6
/* AC5300 8004E160 000FC400 */ sll $t8, $t7, 0x10
/* AC5304 8004E164 0018CC03 */ sra $t9, $t8, 0x10
/* AC5308 8004E168 44992000 */ mtc1 $t9, $f4
/* AC530C 8004E16C 00000000 */ nop
/* AC5310 8004E170 468021A0 */ cvt.s.w $f6, $f4
/* AC5314 8004E174 00002012 */ mflo $a0
/* AC5318 8004E178 00042043 */ sra $a0, $a0, 1
/* AC531C 8004E17C 44845000 */ mtc1 $a0, $f10
/* AC5320 8004E180 00000000 */ nop
/* AC5324 8004E184 46805020 */ cvt.s.w $f0, $f10
/* AC5328 8004E188 46003203 */ div.s $f8, $f6, $f0
/* AC532C 8004E18C E4A80004 */ swc1 $f8, 4($a1)
/* AC5330 8004E190 87A90090 */ lh $t1, 0x90($sp)
/* AC5334 8004E194 87AA00A0 */ lh $t2, 0xa0($sp)
/* AC5338 8004E198 01495823 */ subu $t3, $t2, $t1
/* AC533C 8004E19C 000B6400 */ sll $t4, $t3, 0x10
/* AC5340 8004E1A0 000C6C03 */ sra $t5, $t4, 0x10
/* AC5344 8004E1A4 448D5000 */ mtc1 $t5, $f10
/* AC5348 8004E1A8 00000000 */ nop
/* AC534C 8004E1AC 46805120 */ cvt.s.w $f4, $f10
/* AC5350 8004E1B0 46002183 */ div.s $f6, $f4, $f0
/* AC5354 8004E1B4 E4A60008 */ swc1 $f6, 8($a1)
/* AC5358 8004E1B8 C7AA008C */ lwc1 $f10, 0x8c($sp)
/* AC535C 8004E1BC C7A8009C */ lwc1 $f8, 0x9c($sp)
/* AC5360 8004E1C0 460A4101 */ sub.s $f4, $f8, $f10
/* AC5364 8004E1C4 46002183 */ div.s $f6, $f4, $f0
/* AC5368 8004E1C8 1000009E */ b .L8004E444
/* AC536C 8004E1CC E4A60000 */ swc1 $f6, ($a1)
.L8004E1D0:
/* AC5370 8004E1D0 8443001C */ lh $v1, 0x1c($v0)
/* AC5374 8004E1D4 50600064 */ beql $v1, $zero, .L8004E368
/* AC5378 8004E1D8 866B014C */ lh $t3, 0x14c($s3)
/* AC537C 8004E1DC 44832000 */ mtc1 $v1, $f4
/* AC5380 8004E1E0 C6000000 */ lwc1 $f0, ($s0)
/* AC5384 8004E1E4 C4480010 */ lwc1 $f8, 0x10($v0)
/* AC5388 8004E1E8 468021A0 */ cvt.s.w $f6, $f4
/* AC538C 8004E1EC C6020004 */ lwc1 $f2, 4($s0)
/* AC5390 8004E1F0 C60C0008 */ lwc1 $f12, 8($s0)
/* AC5394 8004E1F4 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC5398 8004E1F8 02402025 */ move $a0, $s2
/* AC539C 8004E1FC 46004281 */ sub.s $f10, $f8, $f0
/* AC53A0 8004E200 02002825 */ move $a1, $s0
/* AC53A4 8004E204 27A6009C */ addiu $a2, $sp, 0x9c
/* AC53A8 8004E208 46065203 */ div.s $f8, $f10, $f6
/* AC53AC 8004E20C 46080100 */ add.s $f4, $f0, $f8
/* AC53B0 8004E210 E6040000 */ swc1 $f4, ($s0)
/* AC53B4 8004E214 844E001C */ lh $t6, 0x1c($v0)
/* AC53B8 8004E218 C44A0014 */ lwc1 $f10, 0x14($v0)
/* AC53BC 8004E21C 448E4000 */ mtc1 $t6, $f8
/* AC53C0 8004E220 46025181 */ sub.s $f6, $f10, $f2
/* AC53C4 8004E224 46804120 */ cvt.s.w $f4, $f8
/* AC53C8 8004E228 46043283 */ div.s $f10, $f6, $f4
/* AC53CC 8004E22C 460A1200 */ add.s $f8, $f2, $f10
/* AC53D0 8004E230 E6080004 */ swc1 $f8, 4($s0)
/* AC53D4 8004E234 844F001C */ lh $t7, 0x1c($v0)
/* AC53D8 8004E238 C4460018 */ lwc1 $f6, 0x18($v0)
/* AC53DC 8004E23C 448F5000 */ mtc1 $t7, $f10
/* AC53E0 8004E240 460C3101 */ sub.s $f4, $f6, $f12
/* AC53E4 8004E244 46805220 */ cvt.s.w $f8, $f10
/* AC53E8 8004E248 46082183 */ div.s $f6, $f4, $f8
/* AC53EC 8004E24C 46066280 */ add.s $f10, $f12, $f6
/* AC53F0 8004E250 E60A0008 */ swc1 $f10, 8($s0)
/* AC53F4 8004E254 8458001C */ lh $t8, 0x1c($v0)
/* AC53F8 8004E258 C4440000 */ lwc1 $f4, ($v0)
/* AC53FC 8004E25C 87AD0092 */ lh $t5, 0x92($sp)
/* AC5400 8004E260 44984000 */ mtc1 $t8, $f8
/* AC5404 8004E264 87AB0090 */ lh $t3, 0x90($sp)
/* AC5408 8004E268 468041A0 */ cvt.s.w $f6, $f8
/* AC540C 8004E26C C7A8008C */ lwc1 $f8, 0x8c($sp)
/* AC5410 8004E270 46062282 */ mul.s $f10, $f4, $f6
/* AC5414 8004E274 44813000 */ mtc1 $at, $f6
/* AC5418 8004E278 46085100 */ add.s $f4, $f10, $f8
/* AC541C 8004E27C 46062280 */ add.s $f10, $f4, $f6
/* AC5420 8004E280 E7AA009C */ swc1 $f10, 0x9c($sp)
/* AC5424 8004E284 8459001C */ lh $t9, 0x1c($v0)
/* AC5428 8004E288 C4480004 */ lwc1 $f8, 4($v0)
/* AC542C 8004E28C 44992000 */ mtc1 $t9, $f4
/* AC5430 8004E290 00000000 */ nop
/* AC5434 8004E294 468021A0 */ cvt.s.w $f6, $f4
/* AC5438 8004E298 46064282 */ mul.s $f10, $f8, $f6
/* AC543C 8004E29C 4600510D */ trunc.w.s $f4, $f10
/* AC5440 8004E2A0 440C2000 */ mfc1 $t4, $f4
/* AC5444 8004E2A4 00000000 */ nop
/* AC5448 8004E2A8 01AC7021 */ addu $t6, $t5, $t4
/* AC544C 8004E2AC A7AE00A2 */ sh $t6, 0xa2($sp)
/* AC5450 8004E2B0 844F001C */ lh $t7, 0x1c($v0)
/* AC5454 8004E2B4 C4480008 */ lwc1 $f8, 8($v0)
/* AC5458 8004E2B8 AFA20038 */ sw $v0, 0x38($sp)
/* AC545C 8004E2BC 448F3000 */ mtc1 $t7, $f6
/* AC5460 8004E2C0 00000000 */ nop
/* AC5464 8004E2C4 468032A0 */ cvt.s.w $f10, $f6
/* AC5468 8004E2C8 460A4102 */ mul.s $f4, $f8, $f10
/* AC546C 8004E2CC 4600218D */ trunc.w.s $f6, $f4
/* AC5470 8004E2D0 44093000 */ mfc1 $t1, $f6
/* AC5474 8004E2D4 00000000 */ nop
/* AC5478 8004E2D8 01696821 */ addu $t5, $t3, $t1
/* AC547C 8004E2DC 0C010F0A */ jal func_80043C28
/* AC5480 8004E2E0 A7AD00A0 */ sh $t5, 0xa0($sp)
/* AC5484 8004E2E4 8FAC0048 */ lw $t4, 0x48($sp)
/* AC5488 8004E2E8 8E4F0000 */ lw $t7, ($s2)
/* AC548C 8004E2EC 3C063F00 */ lui $a2, 0x3f00
/* AC5490 8004E2F0 3C073F80 */ lui $a3, 0x3f80
/* AC5494 8004E2F4 AD8F0000 */ sw $t7, ($t4)
/* AC5498 8004E2F8 8E4E0004 */ lw $t6, 4($s2)
/* AC549C 8004E2FC AD8E0004 */ sw $t6, 4($t4)
/* AC54A0 8004E300 8E4F0008 */ lw $t7, 8($s2)
/* AC54A4 8004E304 AD8F0008 */ sw $t7, 8($t4)
/* AC54A8 8004E308 C66E00FC */ lwc1 $f14, 0xfc($s3)
/* AC54AC 8004E30C 0C010E27 */ jal func_8004389C
/* AC54B0 8004E310 C66C0020 */ lwc1 $f12, 0x20($s3)
/* AC54B4 8004E314 E66000FC */ swc1 $f0, 0xfc($s3)
/* AC54B8 8004E318 00002025 */ move $a0, $zero
/* AC54BC 8004E31C 8665015A */ lh $a1, 0x15a($s3)
/* AC54C0 8004E320 3C063F00 */ lui $a2, 0x3f00
/* AC54C4 8004E324 0C010E47 */ jal func_8004391C
/* AC54C8 8004E328 2407000A */ li $a3, 10
/* AC54CC 8004E32C A662015A */ sh $v0, 0x15a($s3)
/* AC54D0 8004E330 02602025 */ move $a0, $s3
/* AC54D4 8004E334 0C011429 */ jal func_800450A4
/* AC54D8 8004E338 8E650024 */ lw $a1, 0x24($s3)
/* AC54DC 8004E33C E6600100 */ swc1 $f0, 0x100($s3)
/* AC54E0 8004E340 8FA60048 */ lw $a2, 0x48($sp)
/* AC54E4 8004E344 02602025 */ move $a0, $s3
/* AC54E8 8004E348 0C010FCD */ jal func_80043F34
/* AC54EC 8004E34C 02002825 */ move $a1, $s0
/* AC54F0 8004E350 8FB80038 */ lw $t8, 0x38($sp)
/* AC54F4 8004E354 8719001C */ lh $t9, 0x1c($t8)
/* AC54F8 8004E358 272AFFFF */ addiu $t2, $t9, -1
/* AC54FC 8004E35C 10000004 */ b .L8004E370
/* AC5500 8004E360 A70A001C */ sh $t2, 0x1c($t8)
/* AC5504 8004E364 866B014C */ lh $t3, 0x14c($s3)
.L8004E368:
/* AC5508 8004E368 35690410 */ ori $t1, $t3, 0x410
/* AC550C 8004E36C A669014C */ sh $t1, 0x14c($s3)
.L8004E370:
/* AC5510 8004E370 866D014C */ lh $t5, 0x14c($s3)
/* AC5514 8004E374 3C018012 */ lui $at, %hi(D_8011D3A0)
/* AC5518 8004E378 02602025 */ move $a0, $s3
/* AC551C 8004E37C 31AC0008 */ andi $t4, $t5, 8
/* AC5520 8004E380 51800030 */ beql $t4, $zero, .L8004E444
/* AC5524 8004E384 24020001 */ li $v0, 1
/* AC5528 8004E388 0C010ED8 */ jal func_80043B60
/* AC552C 8004E38C AC20D3A0 */ sw $zero, %lo(D_8011D3A0)($at)
/* AC5530 8004E390 44804000 */ mtc1 $zero, $f8
/* AC5534 8004E394 3C018014 */ lui $at, %hi(D_8013A0D8)
/* AC5538 8004E398 C66400D8 */ lwc1 $f4, 0xd8($s3)
/* AC553C 8004E39C E6680100 */ swc1 $f8, 0x100($s3)
/* AC5540 8004E3A0 C42AA0D8 */ lwc1 $f10, %lo(D_8013A0D8)($at)
/* AC5544 8004E3A4 3C0E8016 */ lui $t6, %hi(D_8015BD7C) # $t6, 0x8016
/* AC5548 8004E3A8 4604503C */ c.lt.s $f10, $f4
/* AC554C 8004E3AC 00000000 */ nop
/* AC5550 8004E3B0 4503001E */ bc1tl .L8004E42C
/* AC5554 8004E3B4 866E014C */ lh $t6, 0x14c($s3)
/* AC5558 8004E3B8 8DCEBD7C */ lw $t6, %lo(D_8015BD7C)($t6)
/* AC555C 8004E3BC 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff
/* AC5560 8004E3C0 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff
/* AC5564 8004E3C4 95C20020 */ lhu $v0, 0x20($t6)
/* AC5568 8004E3C8 00417827 */ nor $t7, $v0, $at
/* AC556C 8004E3CC 11E00016 */ beqz $t7, .L8004E428
/* AC5570 8004E3D0 2401BFFF */ li $at, -16385
/* AC5574 8004E3D4 0041C827 */ nor $t9, $v0, $at
/* AC5578 8004E3D8 13200013 */ beqz $t9, .L8004E428
/* AC557C 8004E3DC 2401FFFD */ li $at, -3
/* AC5580 8004E3E0 00415027 */ nor $t2, $v0, $at
/* AC5584 8004E3E4 11400010 */ beqz $t2, .L8004E428
/* AC5588 8004E3E8 2401FFFB */ li $at, -5
/* AC558C 8004E3EC 0041C027 */ nor $t8, $v0, $at
/* AC5590 8004E3F0 1300000D */ beqz $t8, .L8004E428
/* AC5594 8004E3F4 2401FFF7 */ li $at, -9
/* AC5598 8004E3F8 00415827 */ nor $t3, $v0, $at
/* AC559C 8004E3FC 1160000A */ beqz $t3, .L8004E428
/* AC55A0 8004E400 2401FFFE */ li $at, -2
/* AC55A4 8004E404 00414827 */ nor $t1, $v0, $at
/* AC55A8 8004E408 11200007 */ beqz $t1, .L8004E428
/* AC55AC 8004E40C 2401FFEF */ li $at, -17
/* AC55B0 8004E410 00416827 */ nor $t5, $v0, $at
/* AC55B4 8004E414 11A00004 */ beqz $t5, .L8004E428
/* AC55B8 8004E418 2401DFFF */ li $at, -8193
/* AC55BC 8004E41C 00416027 */ nor $t4, $v0, $at
/* AC55C0 8004E420 55800008 */ bnezl $t4, .L8004E444
/* AC55C4 8004E424 24020001 */ li $v0, 1
.L8004E428:
/* AC55C8 8004E428 866E014C */ lh $t6, 0x14c($s3)
.L8004E42C:
/* AC55CC 8004E42C 35CF0004 */ ori $t7, $t6, 4
/* AC55D0 8004E430 A66F014C */ sh $t7, 0x14c($s3)
/* AC55D4 8004E434 8679014C */ lh $t9, 0x14c($s3)
/* AC55D8 8004E438 332AFFF7 */ andi $t2, $t9, 0xfff7
/* AC55DC 8004E43C A66A014C */ sh $t2, 0x14c($s3)
/* AC55E0 8004E440 24020001 */ li $v0, 1
.L8004E444:
/* AC55E4 8004E444 8FBF002C */ lw $ra, 0x2c($sp)
/* AC55E8 8004E448 8FB0001C */ lw $s0, 0x1c($sp)
/* AC55EC 8004E44C 8FB10020 */ lw $s1, 0x20($sp)
/* AC55F0 8004E450 8FB20024 */ lw $s2, 0x24($sp)
/* AC55F4 8004E454 8FB30028 */ lw $s3, 0x28($sp)
/* AC55F8 8004E458 03E00008 */ jr $ra
/* AC55FC 8004E45C 27BD00E8 */ addiu $sp, $sp, 0xe8

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,222 @@
.rdata
glabel D_8013938C
.asciz "\x1B[43;30mcamera: warning: talk: target is not valid, change normal camera\n\x1B[m"
.balign 4
.late_rodata
glabel D_8013A160
.float 0.01
glabel D_8013A164
.float 0.01
glabel D_8013A168
.float 0.01
.text
glabel func_8004F3A4
/* AC6544 8004F3A4 27BDFF90 */ addiu $sp, $sp, -0x70
/* AC6548 8004F3A8 AFBF001C */ sw $ra, 0x1c($sp)
/* AC654C 8004F3AC AFB00018 */ sw $s0, 0x18($sp)
/* AC6550 8004F3B0 848E014C */ lh $t6, 0x14c($a0)
/* AC6554 8004F3B4 8483015E */ lh $v1, 0x15e($a0)
/* AC6558 8004F3B8 00808025 */ move $s0, $a0
/* AC655C 8004F3BC 31CFFFEF */ andi $t7, $t6, 0xffef
/* AC6560 8004F3C0 1060000A */ beqz $v1, .L8004F3EC
/* AC6564 8004F3C4 A48F014C */ sh $t7, 0x14c($a0)
/* AC6568 8004F3C8 2401000A */ li $at, 10
/* AC656C 8004F3CC 10610007 */ beq $v1, $at, .L8004F3EC
/* AC6570 8004F3D0 24010014 */ li $at, 20
/* AC6574 8004F3D4 10610005 */ beq $v1, $at, .L8004F3EC
/* AC6578 8004F3D8 3C188016 */ lui $t8, %hi(gGameInfo) # $t8, 0x8016
/* AC657C 8004F3DC 8F18FA90 */ lw $t8, %lo(gGameInfo)($t8)
/* AC6580 8004F3E0 87030314 */ lh $v1, 0x314($t8)
/* AC6584 8004F3E4 10600022 */ beqz $v1, .L8004F470
/* AC6588 8004F3E8 00000000 */ nop
.L8004F3EC:
/* AC658C 8004F3EC 86190142 */ lh $t9, 0x142($s0)
/* AC6590 8004F3F0 3C0A8012 */ lui $t2, %hi(D_8011D068)
/* AC6594 8004F3F4 860B0144 */ lh $t3, 0x144($s0)
/* AC6598 8004F3F8 001948C0 */ sll $t1, $t9, 3
/* AC659C 8004F3FC 01495021 */ addu $t2, $t2, $t1
/* AC65A0 8004F400 8D4AD068 */ lw $t2, %lo(D_8011D068)($t2)
/* AC65A4 8004F404 000B60C0 */ sll $t4, $t3, 3
/* AC65A8 8004F408 3C018014 */ lui $at, %hi(D_8013A160)
/* AC65AC 8004F40C 014C6821 */ addu $t5, $t2, $t4
/* AC65B0 8004F410 8DA20004 */ lw $v0, 4($t5)
/* AC65B4 8004F414 C428A160 */ lwc1 $f8, %lo(D_8013A160)($at)
/* AC65B8 8004F418 3C018014 */ lui $at, %hi(D_8013A164)
/* AC65BC 8004F41C 844E0000 */ lh $t6, ($v0)
/* AC65C0 8004F420 3C098016 */ lui $t1, %hi(gGameInfo)
/* AC65C4 8004F424 2442000C */ addiu $v0, $v0, 0xc
/* AC65C8 8004F428 448E2000 */ mtc1 $t6, $f4
/* AC65CC 8004F42C 00000000 */ nop
/* AC65D0 8004F430 468021A0 */ cvt.s.w $f6, $f4
/* AC65D4 8004F434 46083282 */ mul.s $f10, $f6, $f8
/* AC65D8 8004F438 E60A0000 */ swc1 $f10, ($s0)
/* AC65DC 8004F43C 844FFFF8 */ lh $t7, -8($v0)
/* AC65E0 8004F440 C424A164 */ lwc1 $f4, %lo(D_8013A164)($at)
/* AC65E4 8004F444 448F8000 */ mtc1 $t7, $f16
/* AC65E8 8004F448 00000000 */ nop
/* AC65EC 8004F44C 468084A0 */ cvt.s.w $f18, $f16
/* AC65F0 8004F450 46049182 */ mul.s $f6, $f18, $f4
/* AC65F4 8004F454 E6060004 */ swc1 $f6, 4($s0)
/* AC65F8 8004F458 8458FFFC */ lh $t8, -4($v0)
/* AC65FC 8004F45C A6180008 */ sh $t8, 8($s0)
/* AC6600 8004F460 84590000 */ lh $t9, ($v0)
/* AC6604 8004F464 A619000A */ sh $t9, 0xa($s0)
/* AC6608 8004F468 8D29FA90 */ lw $t1, %lo(gGameInfo)($t1)
/* AC660C 8004F46C 85230314 */ lh $v1, 0x314($t1)
.L8004F470:
/* AC6610 8004F470 10600003 */ beqz $v1, .L8004F480
/* AC6614 8004F474 00000000 */ nop
/* AC6618 8004F478 0C011495 */ jal func_80045254
/* AC661C 8004F47C 02002025 */ move $a0, $s0
.L8004F480:
/* AC6620 8004F480 0C0111DB */ jal func_8004476C
/* AC6624 8004F484 02002025 */ move $a0, $s0
/* AC6628 8004F488 26040074 */ addiu $a0, $s0, 0x74
/* AC662C 8004F48C AFA4002C */ sw $a0, 0x2c($sp)
/* AC6630 8004F490 00402825 */ move $a1, $v0
/* AC6634 8004F494 0C010EF1 */ jal func_80043BC4
/* AC6638 8004F498 AFA20044 */ sw $v0, 0x44($sp)
/* AC663C 8004F49C 8FA4002C */ lw $a0, 0x2c($sp)
/* AC6640 8004F4A0 8FA30044 */ lw $v1, 0x44($sp)
/* AC6644 8004F4A4 2606005C */ addiu $a2, $s0, 0x5c
/* AC6648 8004F4A8 8C8A0000 */ lw $t2, ($a0)
/* AC664C 8004F4AC 27AC003C */ addiu $t4, $sp, 0x3c
/* AC6650 8004F4B0 2401FFFF */ li $at, -1
/* AC6654 8004F4B4 ACCA0000 */ sw $t2, ($a2)
/* AC6658 8004F4B8 8C8B0004 */ lw $t3, 4($a0)
/* AC665C 8004F4BC ACCB0004 */ sw $t3, 4($a2)
/* AC6660 8004F4C0 8C8A0008 */ lw $t2, 8($a0)
/* AC6664 8004F4C4 ACCA0008 */ sw $t2, 8($a2)
/* AC6668 8004F4C8 886E0006 */ lwl $t6, 6($v1)
/* AC666C 8004F4CC 986E0009 */ lwr $t6, 9($v1)
/* AC6670 8004F4D0 AD8E0000 */ sw $t6, ($t4)
/* AC6674 8004F4D4 946E000A */ lhu $t6, 0xa($v1)
/* AC6678 8004F4D8 A58E0004 */ sh $t6, 4($t4)
/* AC667C 8004F4DC 8467000C */ lh $a3, 0xc($v1)
/* AC6680 8004F4E0 54E10003 */ bnel $a3, $at, .L8004F4F0
/* AC6684 8004F4E4 8E0500A8 */ lw $a1, 0xa8($s0)
/* AC6688 8004F4E8 24071770 */ li $a3, 6000
/* AC668C 8004F4EC 8E0500A8 */ lw $a1, 0xa8($s0)
.L8004F4F0:
/* AC6690 8004F4F0 10A00005 */ beqz $a1, .L8004F508
/* AC6694 8004F4F4 00000000 */ nop
/* AC6698 8004F4F8 8CAF0130 */ lw $t7, 0x130($a1)
/* AC669C 8004F4FC 260400AC */ addiu $a0, $s0, 0xac
/* AC66A0 8004F500 55E0000C */ bnezl $t7, .L8004F534
/* AC66A4 8004F504 AFA40028 */ sw $a0, 0x28($sp)
.L8004F508:
/* AC66A8 8004F508 14A00003 */ bnez $a1, .L8004F518
/* AC66AC 8004F50C 3C048014 */ lui $a0, %hi(D_8013938C) # $a0, 0x8014
/* AC66B0 8004F510 0C00084C */ jal osSyncPrintf
/* AC66B4 8004F514 2484938C */ addiu $a0, %lo(D_8013938C) # addiu $a0, $a0, -0x6c74
.L8004F518:
/* AC66B8 8004F518 AE0000A8 */ sw $zero, 0xa8($s0)
/* AC66BC 8004F51C 02002025 */ move $a0, $s0
/* AC66C0 8004F520 0C016911 */ jal func_8005A444
/* AC66C4 8004F524 00002825 */ move $a1, $zero
/* AC66C8 8004F528 10000059 */ b .L8004F690
/* AC66CC 8004F52C 24020001 */ li $v0, 1
/* AC66D0 8004F530 AFA40028 */ sw $a0, 0x28($sp)
.L8004F534:
/* AC66D4 8004F534 AFA60030 */ sw $a2, 0x30($sp)
/* AC66D8 8004F538 0C00BBB9 */ jal func_8002EEE4
/* AC66DC 8004F53C A7A7003A */ sh $a3, 0x3a($sp)
/* AC66E0 8004F540 26060050 */ addiu $a2, $s0, 0x50
/* AC66E4 8004F544 AFA6002C */ sw $a2, 0x2c($sp)
/* AC66E8 8004F548 27A40054 */ addiu $a0, $sp, 0x54
/* AC66EC 8004F54C 0C01F124 */ jal func_8007C490
/* AC66F0 8004F550 8FA50030 */ lw $a1, 0x30($sp)
/* AC66F4 8004F554 27A4005C */ addiu $a0, $sp, 0x5c
/* AC66F8 8004F558 8FA50030 */ lw $a1, 0x30($sp)
/* AC66FC 8004F55C 0C01F124 */ jal func_8007C490
/* AC6700 8004F560 8FA60028 */ lw $a2, 0x28($sp)
/* AC6704 8004F564 8618000A */ lh $t8, 0xa($s0)
/* AC6708 8004F568 3C018012 */ lui $at, %hi(D_8011D3A0)
/* AC670C 8004F56C 87A7003A */ lh $a3, 0x3a($sp)
/* AC6710 8004F570 AC38D3A0 */ sw $t8, %lo(D_8011D3A0)($at)
/* AC6714 8004F574 8603015E */ lh $v1, 0x15e($s0)
/* AC6718 8004F578 54600015 */ bnezl $v1, .L8004F5D0
/* AC671C 8004F57C 2608000C */ addiu $t0, $s0, 0xc
/* AC6720 8004F580 44874000 */ mtc1 $a3, $f8
/* AC6724 8004F584 24790001 */ addiu $t9, $v1, 1
/* AC6728 8004F588 A619015E */ sh $t9, 0x15e($s0)
/* AC672C 8004F58C 468042A0 */ cvt.s.w $f10, $f8
/* AC6730 8004F590 3C018014 */ lui $at, %hi(D_8013A168)
/* AC6734 8004F594 C430A168 */ lwc1 $f16, %lo(D_8013A168)($at)
/* AC6738 8004F598 44802000 */ mtc1 $zero, $f4
/* AC673C 8004F59C 86090008 */ lh $t1, 8($s0)
/* AC6740 8004F5A0 A600015A */ sh $zero, 0x15a($s0)
/* AC6744 8004F5A4 46105482 */ mul.s $f18, $f10, $f16
/* AC6748 8004F5A8 2608000C */ addiu $t0, $s0, 0xc
/* AC674C 8004F5AC E6040100 */ swc1 $f4, 0x100($s0)
/* AC6750 8004F5B0 E61200FC */ swc1 $f18, 0xfc($s0)
/* AC6754 8004F5B4 A5090004 */ sh $t1, 4($t0)
/* AC6758 8004F5B8 C6060000 */ lwc1 $f6, ($s0)
/* AC675C 8004F5BC C60000FC */ lwc1 $f0, 0xfc($s0)
/* AC6760 8004F5C0 46060202 */ mul.s $f8, $f0, $f6
/* AC6764 8004F5C4 46080281 */ sub.s $f10, $f0, $f8
/* AC6768 8004F5C8 E50A0000 */ swc1 $f10, ($t0)
/* AC676C 8004F5CC 2608000C */ addiu $t0, $s0, 0xc
.L8004F5D0:
/* AC6770 8004F5D0 85020004 */ lh $v0, 4($t0)
/* AC6774 8004F5D4 87AB0062 */ lh $t3, 0x62($sp)
/* AC6778 8004F5D8 87AA005A */ lh $t2, 0x5a($sp)
/* AC677C 8004F5DC 10400022 */ beqz $v0, .L8004F668
/* AC6780 8004F5E0 016A6023 */ subu $t4, $t3, $t2
/* AC6784 8004F5E4 000C6C00 */ sll $t5, $t4, 0x10
/* AC6788 8004F5E8 000D7403 */ sra $t6, $t5, 0x10
/* AC678C 8004F5EC 01C2001A */ div $zero, $t6, $v0
/* AC6790 8004F5F0 00007812 */ mflo $t7
/* AC6794 8004F5F4 448F8000 */ mtc1 $t7, $f16
/* AC6798 8004F5F8 C6040004 */ lwc1 $f4, 4($s0)
/* AC679C 8004F5FC 448A4000 */ mtc1 $t2, $f8
/* AC67A0 8004F600 468084A0 */ cvt.s.w $f18, $f16
/* AC67A4 8004F604 14400002 */ bnez $v0, .L8004F610
/* AC67A8 8004F608 00000000 */ nop
/* AC67AC 8004F60C 0007000D */ break 7
.L8004F610:
/* AC67B0 8004F610 2401FFFF */ li $at, -1
/* AC67B4 8004F614 14410004 */ bne $v0, $at, .L8004F628
/* AC67B8 8004F618 3C018000 */ lui $at, 0x8000
/* AC67BC 8004F61C 15C10002 */ bne $t6, $at, .L8004F628
/* AC67C0 8004F620 00000000 */ nop
/* AC67C4 8004F624 0006000D */ break 6
.L8004F628:
/* AC67C8 8004F628 46049182 */ mul.s $f6, $f18, $f4
/* AC67CC 8004F62C AFA80028 */ sw $t0, 0x28($sp)
/* AC67D0 8004F630 8FA4002C */ lw $a0, 0x2c($sp)
/* AC67D4 8004F634 8FA50030 */ lw $a1, 0x30($sp)
/* AC67D8 8004F638 27A60054 */ addiu $a2, $sp, 0x54
/* AC67DC 8004F63C 468042A0 */ cvt.s.w $f10, $f8
/* AC67E0 8004F640 46065400 */ add.s $f16, $f10, $f6
/* AC67E4 8004F644 4600848D */ trunc.w.s $f18, $f16
/* AC67E8 8004F648 44199000 */ mfc1 $t9, $f18
/* AC67EC 8004F64C 0C010F0A */ jal func_80043C28
/* AC67F0 8004F650 A7B9005A */ sh $t9, 0x5a($sp)
/* AC67F4 8004F654 8FA80028 */ lw $t0, 0x28($sp)
/* AC67F8 8004F658 85090004 */ lh $t1, 4($t0)
/* AC67FC 8004F65C 252BFFFF */ addiu $t3, $t1, -1
/* AC6800 8004F660 10000004 */ b .L8004F674
/* AC6804 8004F664 A50B0004 */ sh $t3, 4($t0)
.L8004F668:
/* AC6808 8004F668 860C014C */ lh $t4, 0x14c($s0)
/* AC680C 8004F66C 358D0410 */ ori $t5, $t4, 0x410
/* AC6810 8004F670 A60D014C */ sh $t5, 0x14c($s0)
.L8004F674:
/* AC6814 8004F674 C50C0000 */ lwc1 $f12, ($t0)
/* AC6818 8004F678 C60E00FC */ lwc1 $f14, 0xfc($s0)
/* AC681C 8004F67C 3C063F00 */ lui $a2, 0x3f00
/* AC6820 8004F680 0C010E27 */ jal func_8004389C
/* AC6824 8004F684 3C074120 */ lui $a3, 0x4120
/* AC6828 8004F688 E60000FC */ swc1 $f0, 0xfc($s0)
/* AC682C 8004F68C 24020001 */ li $v0, 1
.L8004F690:
/* AC6830 8004F690 8FBF001C */ lw $ra, 0x1c($sp)
/* AC6834 8004F694 8FB00018 */ lw $s0, 0x18($sp)
/* AC6838 8004F698 27BD0070 */ addiu $sp, $sp, 0x70
/* AC683C 8004F69C 03E00008 */ jr $ra
/* AC6840 8004F6A0 00000000 */ nop

View file

@ -0,0 +1,230 @@
.late_rodata
glabel D_8013A16C
.float 0.01
glabel D_8013A170
.float 0.01
glabel D_8013A174
.float 0.01
glabel D_8013A178
.float 0.1
glabel D_8013A17C
.float 0.2
.text
glabel func_8004F6A4
/* AC6844 8004F6A4 27BDFF80 */ addiu $sp, $sp, -0x80
/* AC6848 8004F6A8 AFB0001C */ sw $s0, 0x1c($sp)
/* AC684C 8004F6AC 00808025 */ move $s0, $a0
/* AC6850 8004F6B0 AFBF0024 */ sw $ra, 0x24($sp)
/* AC6854 8004F6B4 AFB10020 */ sw $s1, 0x20($sp)
/* AC6858 8004F6B8 0C00B721 */ jal Player_GetCameraYOffset
/* AC685C 8004F6BC 8C840090 */ lw $a0, 0x90($a0)
/* AC6860 8004F6C0 E7A00040 */ swc1 $f0, 0x40($sp)
/* AC6864 8004F6C4 8602015E */ lh $v0, 0x15e($s0)
/* AC6868 8004F6C8 10400009 */ beqz $v0, .L8004F6F0
/* AC686C 8004F6CC 2401000A */ li $at, 10
/* AC6870 8004F6D0 10410007 */ beq $v0, $at, .L8004F6F0
/* AC6874 8004F6D4 24010014 */ li $at, 20
/* AC6878 8004F6D8 10410005 */ beq $v0, $at, .L8004F6F0
/* AC687C 8004F6DC 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016
/* AC6880 8004F6E0 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
/* AC6884 8004F6E4 85C40314 */ lh $a0, 0x314($t6)
/* AC6888 8004F6E8 10800039 */ beqz $a0, .L8004F7D0
/* AC688C 8004F6EC 00000000 */ nop
.L8004F6F0:
/* AC6890 8004F6F0 860F0142 */ lh $t7, 0x142($s0)
/* AC6894 8004F6F4 3C198012 */ lui $t9, %hi(D_8011D068)
/* AC6898 8004F6F8 86080144 */ lh $t0, 0x144($s0)
/* AC689C 8004F6FC 000FC0C0 */ sll $t8, $t7, 3
/* AC68A0 8004F700 0338C821 */ addu $t9, $t9, $t8
/* AC68A4 8004F704 8F39D068 */ lw $t9, %lo(D_8011D068)($t9)
/* AC68A8 8004F708 000848C0 */ sll $t1, $t0, 3
/* AC68AC 8004F70C 02002025 */ move $a0, $s0
/* AC68B0 8004F710 03295021 */ addu $t2, $t9, $t1
/* AC68B4 8004F714 8D430004 */ lw $v1, 4($t2)
/* AC68B8 8004F718 0C0111DB */ jal func_8004476C
/* AC68BC 8004F71C AFA3003C */ sw $v1, 0x3c($sp)
/* AC68C0 8004F720 26110010 */ addiu $s1, $s0, 0x10
/* AC68C4 8004F724 02202025 */ move $a0, $s1
/* AC68C8 8004F728 00402825 */ move $a1, $v0
/* AC68CC 8004F72C 0C010EF1 */ jal func_80043BC4
/* AC68D0 8004F730 AFA20050 */ sw $v0, 0x50($sp)
/* AC68D4 8004F734 8FA60050 */ lw $a2, 0x50($sp)
/* AC68D8 8004F738 8FA3003C */ lw $v1, 0x3c($sp)
/* AC68DC 8004F73C 3C018014 */ lui $at, %hi(D_8013A16C)
/* AC68E0 8004F740 88CC0006 */ lwl $t4, 6($a2)
/* AC68E4 8004F744 98CC0009 */ lwr $t4, 9($a2)
/* AC68E8 8004F748 3C198016 */ lui $t9, %hi(gGameInfo) # $t9, 0x8016
/* AC68EC 8004F74C 2463000C */ addiu $v1, $v1, 0xc
/* AC68F0 8004F750 AA2C000C */ swl $t4, 0xc($s1)
/* AC68F4 8004F754 BA2C000F */ swr $t4, 0xf($s1)
/* AC68F8 8004F758 94CC000A */ lhu $t4, 0xa($a2)
/* AC68FC 8004F75C A62C0010 */ sh $t4, 0x10($s1)
/* AC6900 8004F760 84CD000C */ lh $t5, 0xc($a2)
/* AC6904 8004F764 A62D0014 */ sh $t5, 0x14($s1)
/* AC6908 8004F768 846EFFF4 */ lh $t6, -0xc($v1)
/* AC690C 8004F76C C428A16C */ lwc1 $f8, %lo(D_8013A16C)($at)
/* AC6910 8004F770 C7B00040 */ lwc1 $f16, 0x40($sp)
/* AC6914 8004F774 448E2000 */ mtc1 $t6, $f4
/* AC6918 8004F778 3C018014 */ lui $at, %hi(D_8013A170)
/* AC691C 8004F77C 468021A0 */ cvt.s.w $f6, $f4
/* AC6920 8004F780 46083282 */ mul.s $f10, $f6, $f8
/* AC6924 8004F784 00000000 */ nop
/* AC6928 8004F788 46105482 */ mul.s $f18, $f10, $f16
/* AC692C 8004F78C E6120000 */ swc1 $f18, ($s0)
/* AC6930 8004F790 846FFFF8 */ lh $t7, -8($v1)
/* AC6934 8004F794 C428A170 */ lwc1 $f8, %lo(D_8013A170)($at)
/* AC6938 8004F798 448F2000 */ mtc1 $t7, $f4
/* AC693C 8004F79C 00000000 */ nop
/* AC6940 8004F7A0 468021A0 */ cvt.s.w $f6, $f4
/* AC6944 8004F7A4 46083282 */ mul.s $f10, $f6, $f8
/* AC6948 8004F7A8 E60A0004 */ swc1 $f10, 4($s0)
/* AC694C 8004F7AC 8478FFFC */ lh $t8, -4($v1)
/* AC6950 8004F7B0 44988000 */ mtc1 $t8, $f16
/* AC6954 8004F7B4 00000000 */ nop
/* AC6958 8004F7B8 468084A0 */ cvt.s.w $f18, $f16
/* AC695C 8004F7BC E6120008 */ swc1 $f18, 8($s0)
/* AC6960 8004F7C0 84680000 */ lh $t0, ($v1)
/* AC6964 8004F7C4 A608000C */ sh $t0, 0xc($s0)
/* AC6968 8004F7C8 8F39FA90 */ lw $t9, %lo(gGameInfo)($t9)
/* AC696C 8004F7CC 87240314 */ lh $a0, 0x314($t9)
.L8004F7D0:
/* AC6970 8004F7D0 10800003 */ beqz $a0, .L8004F7E0
/* AC6974 8004F7D4 26110010 */ addiu $s1, $s0, 0x10
/* AC6978 8004F7D8 0C011495 */ jal func_80045254
/* AC697C 8004F7DC 02002025 */ move $a0, $s0
.L8004F7E0:
/* AC6980 8004F7E0 86220014 */ lh $v0, 0x14($s1)
/* AC6984 8004F7E4 2401FFFF */ li $at, -1
/* AC6988 8004F7E8 14410008 */ bne $v0, $at, .L8004F80C
/* AC698C 8004F7EC 3C0142C8 */ li $at, 0x42C80000 # 0.000000
/* AC6990 8004F7F0 44813000 */ mtc1 $at, $f6
/* AC6994 8004F7F4 C6040008 */ lwc1 $f4, 8($s0)
/* AC6998 8004F7F8 46062202 */ mul.s $f8, $f4, $f6
/* AC699C 8004F7FC 4600428D */ trunc.w.s $f10, $f8
/* AC69A0 8004F800 440A5000 */ mfc1 $t2, $f10
/* AC69A4 8004F804 10000009 */ b .L8004F82C
/* AC69A8 8004F808 A62A0014 */ sh $t2, 0x14($s1)
.L8004F80C:
/* AC69AC 8004F80C 28410169 */ slti $at, $v0, 0x169
/* AC69B0 8004F810 10200006 */ beqz $at, .L8004F82C
/* AC69B4 8004F814 00025880 */ sll $t3, $v0, 2
/* AC69B8 8004F818 01625823 */ subu $t3, $t3, $v0
/* AC69BC 8004F81C 000B58C0 */ sll $t3, $t3, 3
/* AC69C0 8004F820 01625821 */ addu $t3, $t3, $v0
/* AC69C4 8004F824 000B5880 */ sll $t3, $t3, 2
/* AC69C8 8004F828 A62B0014 */ sh $t3, 0x14($s1)
.L8004F82C:
/* AC69CC 8004F82C 860C000C */ lh $t4, 0xc($s0)
/* AC69D0 8004F830 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012
/* AC69D4 8004F834 02002025 */ move $a0, $s0
/* AC69D8 8004F838 AC2CD3A0 */ sw $t4, %lo(D_8011D3A0)($at)
/* AC69DC 8004F83C 8602015E */ lh $v0, 0x15e($s0)
/* AC69E0 8004F840 1440000D */ bnez $v0, .L8004F878
/* AC69E4 8004F844 244D0001 */ addiu $t5, $v0, 1
/* AC69E8 8004F848 0C010ED8 */ jal func_80043B60
/* AC69EC 8004F84C A60D015E */ sh $t5, 0x15e($s0)
/* AC69F0 8004F850 86220014 */ lh $v0, 0x14($s1)
/* AC69F4 8004F854 2401FFFF */ li $at, -1
/* AC69F8 8004F858 50410008 */ beql $v0, $at, .L8004F87C
/* AC69FC 8004F85C 2605005C */ addiu $a1, $s0, 0x5c
/* AC6A00 8004F860 44828000 */ mtc1 $v0, $f16
/* AC6A04 8004F864 3C018014 */ lui $at, %hi(D_8013A174)
/* AC6A08 8004F868 C424A174 */ lwc1 $f4, %lo(D_8013A174)($at)
/* AC6A0C 8004F86C 468084A0 */ cvt.s.w $f18, $f16
/* AC6A10 8004F870 46049182 */ mul.s $f6, $f18, $f4
/* AC6A14 8004F874 E6060008 */ swc1 $f6, 8($s0)
.L8004F878:
/* AC6A18 8004F878 2605005C */ addiu $a1, $s0, 0x5c
.L8004F87C:
/* AC6A1C 8004F87C 26060050 */ addiu $a2, $s0, 0x50
/* AC6A20 8004F880 AFA60030 */ sw $a2, 0x30($sp)
/* AC6A24 8004F884 AFA50034 */ sw $a1, 0x34($sp)
/* AC6A28 8004F888 0C01F124 */ jal func_8007C490
/* AC6A2C 8004F88C 27A40064 */ addiu $a0, $sp, 0x64
/* AC6A30 8004F890 3C018014 */ lui $at, %hi(D_8013A178)
/* AC6A34 8004F894 C420A178 */ lwc1 $f0, %lo(D_8013A178)($at)
/* AC6A38 8004F898 3C018014 */ lui $at, %hi(D_8013A17C)
/* AC6A3C 8004F89C C428A17C */ lwc1 $f8, %lo(D_8013A17C)($at)
/* AC6A40 8004F8A0 44060000 */ mfc1 $a2, $f0
/* AC6A44 8004F8A4 44070000 */ mfc1 $a3, $f0
/* AC6A48 8004F8A8 02202025 */ move $a0, $s1
/* AC6A4C 8004F8AC 8FA50034 */ lw $a1, 0x34($sp)
/* AC6A50 8004F8B0 0C010E8F */ jal func_80043A3C
/* AC6A54 8004F8B4 E7A80010 */ swc1 $f8, 0x10($sp)
/* AC6A58 8004F8B8 26020094 */ addiu $v0, $s0, 0x94
/* AC6A5C 8004F8BC 8C4F0000 */ lw $t7, ($v0)
/* AC6A60 8004F8C0 27A40054 */ addiu $a0, $sp, 0x54
/* AC6A64 8004F8C4 AC8F0000 */ sw $t7, ($a0)
/* AC6A68 8004F8C8 8C4E0004 */ lw $t6, 4($v0)
/* AC6A6C 8004F8CC AC8E0004 */ sw $t6, 4($a0)
/* AC6A70 8004F8D0 8C4F0008 */ lw $t7, 8($v0)
/* AC6A74 8004F8D4 AC8F0008 */ sw $t7, 8($a0)
/* AC6A78 8004F8D8 C7AA0058 */ lwc1 $f10, 0x58($sp)
/* AC6A7C 8004F8DC C7B00040 */ lwc1 $f16, 0x40($sp)
/* AC6A80 8004F8E0 AFA2002C */ sw $v0, 0x2c($sp)
/* AC6A84 8004F8E4 8FA50034 */ lw $a1, 0x34($sp)
/* AC6A88 8004F8E8 46105480 */ add.s $f18, $f10, $f16
/* AC6A8C 8004F8EC 0C01EFE4 */ jal func_8007BF90
/* AC6A90 8004F8F0 E7B20058 */ swc1 $f18, 0x58($sp)
/* AC6A94 8004F8F4 E60000DC */ swc1 $f0, 0xdc($s0)
/* AC6A98 8004F8F8 E7A0006C */ swc1 $f0, 0x6c($sp)
/* AC6A9C 8004F8FC 8624000C */ lh $a0, 0xc($s1)
/* AC6AA0 8004F900 8E060004 */ lw $a2, 4($s0)
/* AC6AA4 8004F904 87A50068 */ lh $a1, 0x68($sp)
/* AC6AA8 8004F908 00042023 */ negu $a0, $a0
/* AC6AAC 8004F90C 00042400 */ sll $a0, $a0, 0x10
/* AC6AB0 8004F910 00042403 */ sra $a0, $a0, 0x10
/* AC6AB4 8004F914 0C010E47 */ jal func_8004391C
/* AC6AB8 8004F918 24070005 */ li $a3, 5
/* AC6ABC 8004F91C A7A20070 */ sh $v0, 0x70($sp)
/* AC6AC0 8004F920 8E060004 */ lw $a2, 4($s0)
/* AC6AC4 8004F924 8624000E */ lh $a0, 0xe($s1)
/* AC6AC8 8004F928 87A5006A */ lh $a1, 0x6a($sp)
/* AC6ACC 8004F92C 0C010E47 */ jal func_8004391C
/* AC6AD0 8004F930 24070005 */ li $a3, 5
/* AC6AD4 8004F934 A7A20072 */ sh $v0, 0x72($sp)
/* AC6AD8 8004F938 8FA40030 */ lw $a0, 0x30($sp)
/* AC6ADC 8004F93C 8FA50034 */ lw $a1, 0x34($sp)
/* AC6AE0 8004F940 0C010F0A */ jal func_80043C28
/* AC6AE4 8004F944 27A6006C */ addiu $a2, $sp, 0x6c
/* AC6AE8 8004F948 8FB80034 */ lw $t8, 0x34($sp)
/* AC6AEC 8004F94C 3C073C23 */ li $a3, 0x3C230000 # 0.000000
/* AC6AF0 8004F950 34E7D70A */ ori $a3, (0x3C23D70A & 0xFFFF) # ori $a3, $a3, 0xd70a
/* AC6AF4 8004F954 8F190000 */ lw $t9, ($t8)
/* AC6AF8 8004F958 C60C0008 */ lwc1 $f12, 8($s0)
/* AC6AFC 8004F95C C60E00FC */ lwc1 $f14, 0xfc($s0)
/* AC6B00 8004F960 AE190074 */ sw $t9, 0x74($s0)
/* AC6B04 8004F964 8F080004 */ lw $t0, 4($t8)
/* AC6B08 8004F968 8E060004 */ lw $a2, 4($s0)
/* AC6B0C 8004F96C AE080078 */ sw $t0, 0x78($s0)
/* AC6B10 8004F970 8F190008 */ lw $t9, 8($t8)
/* AC6B14 8004F974 0C010E27 */ jal func_8004389C
/* AC6B18 8004F978 AE19007C */ sw $t9, 0x7c($s0)
/* AC6B1C 8004F97C 8FA3002C */ lw $v1, 0x2c($sp)
/* AC6B20 8004F980 44802000 */ mtc1 $zero, $f4
/* AC6B24 8004F984 E60000FC */ swc1 $f0, 0xfc($s0)
/* AC6B28 8004F988 A600015A */ sh $zero, 0x15a($s0)
/* AC6B2C 8004F98C E6040100 */ swc1 $f4, 0x100($s0)
/* AC6B30 8004F990 C6060050 */ lwc1 $f6, 0x50($s0)
/* AC6B34 8004F994 C4680000 */ lwc1 $f8, ($v1)
/* AC6B38 8004F998 C6100054 */ lwc1 $f16, 0x54($s0)
/* AC6B3C 8004F99C 24020001 */ li $v0, 1
/* AC6B40 8004F9A0 46083281 */ sub.s $f10, $f6, $f8
/* AC6B44 8004F9A4 C6060058 */ lwc1 $f6, 0x58($s0)
/* AC6B48 8004F9A8 E60A00E4 */ swc1 $f10, 0xe4($s0)
/* AC6B4C 8004F9AC C4720004 */ lwc1 $f18, 4($v1)
/* AC6B50 8004F9B0 46128101 */ sub.s $f4, $f16, $f18
/* AC6B54 8004F9B4 E60400E8 */ swc1 $f4, 0xe8($s0)
/* AC6B58 8004F9B8 C4680008 */ lwc1 $f8, 8($v1)
/* AC6B5C 8004F9BC 46083281 */ sub.s $f10, $f6, $f8
/* AC6B60 8004F9C0 E60A00EC */ swc1 $f10, 0xec($s0)
/* AC6B64 8004F9C4 8FBF0024 */ lw $ra, 0x24($sp)
/* AC6B68 8004F9C8 8FB10020 */ lw $s1, 0x20($sp)
/* AC6B6C 8004F9CC 8FB0001C */ lw $s0, 0x1c($sp)
/* AC6B70 8004F9D0 03E00008 */ jr $ra
/* AC6B74 8004F9D4 27BD0080 */ addiu $sp, $sp, 0x80

View file

@ -0,0 +1,282 @@
.late_rodata
glabel D_8013A180
.float 0.01
glabel D_8013A184
.float 0.1
glabel D_8013A188
.float 0.1
glabel D_8013A18C
.float 0.01
.text
glabel func_8004F9D8
/* AC6B78 8004F9D8 27BDFF70 */ addiu $sp, $sp, -0x90
/* AC6B7C 8004F9DC AFB0001C */ sw $s0, 0x1c($sp)
/* AC6B80 8004F9E0 00808025 */ move $s0, $a0
/* AC6B84 8004F9E4 AFBF0024 */ sw $ra, 0x24($sp)
/* AC6B88 8004F9E8 AFB10020 */ sw $s1, 0x20($sp)
/* AC6B8C 8004F9EC 0C00B721 */ jal Player_GetCameraYOffset
/* AC6B90 8004F9F0 8C840090 */ lw $a0, 0x90($a0)
/* AC6B94 8004F9F4 E7A00054 */ swc1 $f0, 0x54($sp)
/* AC6B98 8004F9F8 8602015E */ lh $v0, 0x15e($s0)
/* AC6B9C 8004F9FC 2401000A */ li $at, 10
/* AC6BA0 8004FA00 3C0C8016 */ lui $t4, %hi(gGameInfo) # $t4, 0x8016
/* AC6BA4 8004FA04 10400008 */ beqz $v0, .L8004FA28
/* AC6BA8 8004FA08 00000000 */ nop
/* AC6BAC 8004FA0C 10410006 */ beq $v0, $at, .L8004FA28
/* AC6BB0 8004FA10 24010014 */ li $at, 20
/* AC6BB4 8004FA14 10410004 */ beq $v0, $at, .L8004FA28
/* AC6BB8 8004FA18 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016
/* AC6BBC 8004FA1C 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
/* AC6BC0 8004FA20 85CF0314 */ lh $t7, 0x314($t6)
/* AC6BC4 8004FA24 11E0005A */ beqz $t7, .L8004FB90
.L8004FA28:
/* AC6BC8 8004FA28 3C018014 */ lui $at, %hi(D_8013A180)
/* AC6BCC 8004FA2C C42EA180 */ lwc1 $f14, %lo(D_8013A180)($at)
/* AC6BD0 8004FA30 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC6BD4 8004FA34 44814000 */ mtc1 $at, $f8
/* AC6BD8 8004FA38 3C014288 */ li $at, 0x42880000 # 0.000000
/* AC6BDC 8004FA3C 44818000 */ mtc1 $at, $f16
/* AC6BE0 8004FA40 8D8CFA90 */ lw $t4, %lo(gGameInfo)($t4)
/* AC6BE4 8004FA44 86180142 */ lh $t8, 0x142($s0)
/* AC6BE8 8004FA48 46008483 */ div.s $f18, $f16, $f0
/* AC6BEC 8004FA4C 858D01F0 */ lh $t5, 0x1f0($t4)
/* AC6BF0 8004FA50 3C088012 */ lui $t0, %hi(D_8011D068)
/* AC6BF4 8004FA54 0018C8C0 */ sll $t9, $t8, 3
/* AC6BF8 8004FA58 448D2000 */ mtc1 $t5, $f4
/* AC6BFC 8004FA5C 86090144 */ lh $t1, 0x144($s0)
/* AC6C00 8004FA60 01194021 */ addu $t0, $t0, $t9
/* AC6C04 8004FA64 468021A0 */ cvt.s.w $f6, $f4
/* AC6C08 8004FA68 8D08D068 */ lw $t0, %lo(D_8011D068)($t0)
/* AC6C0C 8004FA6C 000950C0 */ sll $t2, $t1, 3
/* AC6C10 8004FA70 3C0142C8 */ li $at, 0x42C80000 # 0.000000
/* AC6C14 8004FA74 010A5821 */ addu $t3, $t0, $t2
/* AC6C18 8004FA78 8D620004 */ lw $v0, 4($t3)
/* AC6C1C 8004FA7C 26110014 */ addiu $s1, $s0, 0x14
/* AC6C20 8004FA80 02002025 */ move $a0, $s0
/* AC6C24 8004FA84 844E0000 */ lh $t6, ($v0)
/* AC6C28 8004FA88 24420010 */ addiu $v0, $v0, 0x10
/* AC6C2C 8004FA8C 460E3082 */ mul.s $f2, $f6, $f14
/* AC6C30 8004FA90 448E3000 */ mtc1 $t6, $f6
/* AC6C34 8004FA94 46024280 */ add.s $f10, $f8, $f2
/* AC6C38 8004FA98 46121102 */ mul.s $f4, $f2, $f18
/* AC6C3C 8004FA9C 46803220 */ cvt.s.w $f8, $f6
/* AC6C40 8004FAA0 46045301 */ sub.s $f12, $f10, $f4
/* AC6C44 8004FAA4 460E4402 */ mul.s $f16, $f8, $f14
/* AC6C48 8004FAA8 00000000 */ nop
/* AC6C4C 8004FAAC 46008482 */ mul.s $f18, $f16, $f0
/* AC6C50 8004FAB0 00000000 */ nop
/* AC6C54 8004FAB4 460C9282 */ mul.s $f10, $f18, $f12
/* AC6C58 8004FAB8 E60A0000 */ swc1 $f10, ($s0)
/* AC6C5C 8004FABC 844FFFF4 */ lh $t7, -0xc($v0)
/* AC6C60 8004FAC0 448F2000 */ mtc1 $t7, $f4
/* AC6C64 8004FAC4 00000000 */ nop
/* AC6C68 8004FAC8 468021A0 */ cvt.s.w $f6, $f4
/* AC6C6C 8004FACC 460E3202 */ mul.s $f8, $f6, $f14
/* AC6C70 8004FAD0 E6080004 */ swc1 $f8, 4($s0)
/* AC6C74 8004FAD4 8458FFF8 */ lh $t8, -8($v0)
/* AC6C78 8004FAD8 44988000 */ mtc1 $t8, $f16
/* AC6C7C 8004FADC 00000000 */ nop
/* AC6C80 8004FAE0 468084A0 */ cvt.s.w $f18, $f16
/* AC6C84 8004FAE4 44818000 */ mtc1 $at, $f16
/* AC6C88 8004FAE8 460E9282 */ mul.s $f10, $f18, $f14
/* AC6C8C 8004FAEC E60A0008 */ swc1 $f10, 8($s0)
/* AC6C90 8004FAF0 8459FFFC */ lh $t9, -4($v0)
/* AC6C94 8004FAF4 44992000 */ mtc1 $t9, $f4
/* AC6C98 8004FAF8 00000000 */ nop
/* AC6C9C 8004FAFC 468021A0 */ cvt.s.w $f6, $f4
/* AC6CA0 8004FB00 E606000C */ swc1 $f6, 0xc($s0)
/* AC6CA4 8004FB04 C608000C */ lwc1 $f8, 0xc($s0)
/* AC6CA8 8004FB08 84490000 */ lh $t1, ($v0)
/* AC6CAC 8004FB0C 46104482 */ mul.s $f18, $f8, $f16
/* AC6CB0 8004FB10 A6090010 */ sh $t1, 0x10($s0)
/* AC6CB4 8004FB14 4600928D */ trunc.w.s $f10, $f18
/* AC6CB8 8004FB18 440A5000 */ mfc1 $t2, $f10
/* AC6CBC 8004FB1C 0C0111DB */ jal func_8004476C
/* AC6CC0 8004FB20 A62A000C */ sh $t2, 0xc($s1)
/* AC6CC4 8004FB24 1040000B */ beqz $v0, .L8004FB54
/* AC6CC8 8004FB28 00402825 */ move $a1, $v0
/* AC6CCC 8004FB2C 02202025 */ move $a0, $s1
/* AC6CD0 8004FB30 0C010EF1 */ jal func_80043BC4
/* AC6CD4 8004FB34 AFA20064 */ sw $v0, 0x64($sp)
/* AC6CD8 8004FB38 8FA50064 */ lw $a1, 0x64($sp)
/* AC6CDC 8004FB3C 2401FFFF */ li $at, -1
/* AC6CE0 8004FB40 84A3000C */ lh $v1, 0xc($a1)
/* AC6CE4 8004FB44 5061000A */ beql $v1, $at, .L8004FB70
/* AC6CE8 8004FB48 8622000C */ lh $v0, 0xc($s1)
/* AC6CEC 8004FB4C 10000007 */ b .L8004FB6C
/* AC6CF0 8004FB50 A623000C */ sh $v1, 0xc($s1)
.L8004FB54:
/* AC6CF4 8004FB54 8E0C005C */ lw $t4, 0x5c($s0)
/* AC6CF8 8004FB58 AE2C0000 */ sw $t4, ($s1)
/* AC6CFC 8004FB5C 8E0B0060 */ lw $t3, 0x60($s0)
/* AC6D00 8004FB60 AE2B0004 */ sw $t3, 4($s1)
/* AC6D04 8004FB64 8E0C0064 */ lw $t4, 0x64($s0)
/* AC6D08 8004FB68 AE2C0008 */ sw $t4, 8($s1)
.L8004FB6C:
/* AC6D0C 8004FB6C 8622000C */ lh $v0, 0xc($s1)
.L8004FB70:
/* AC6D10 8004FB70 28410169 */ slti $at, $v0, 0x169
/* AC6D14 8004FB74 10200006 */ beqz $at, .L8004FB90
/* AC6D18 8004FB78 00026880 */ sll $t5, $v0, 2
/* AC6D1C 8004FB7C 01A26823 */ subu $t5, $t5, $v0
/* AC6D20 8004FB80 000D68C0 */ sll $t5, $t5, 3
/* AC6D24 8004FB84 01A26821 */ addu $t5, $t5, $v0
/* AC6D28 8004FB88 000D6880 */ sll $t5, $t5, 2
/* AC6D2C 8004FB8C A62D000C */ sh $t5, 0xc($s1)
.L8004FB90:
/* AC6D30 8004FB90 3C0F8016 */ lui $t7, %hi(gGameInfo)
/* AC6D34 8004FB94 8DEFFA90 */ lw $t7, %lo(gGameInfo)($t7)
/* AC6D38 8004FB98 260E005C */ addiu $t6, $s0, 0x5c
/* AC6D3C 8004FB9C AFAE003C */ sw $t6, 0x3c($sp)
/* AC6D40 8004FBA0 85F80314 */ lh $t8, 0x314($t7)
/* AC6D44 8004FBA4 26110014 */ addiu $s1, $s0, 0x14
/* AC6D48 8004FBA8 53000004 */ beql $t8, $zero, .L8004FBBC
/* AC6D4C 8004FBAC 44801000 */ mtc1 $zero, $f2
/* AC6D50 8004FBB0 0C011495 */ jal func_80045254
/* AC6D54 8004FBB4 02002025 */ move $a0, $s0
/* AC6D58 8004FBB8 44801000 */ mtc1 $zero, $f2
.L8004FBBC:
/* AC6D5C 8004FBBC 86190010 */ lh $t9, 0x10($s0)
/* AC6D60 8004FBC0 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012
/* AC6D64 8004FBC4 E7A2006C */ swc1 $f2, 0x6c($sp)
/* AC6D68 8004FBC8 AC39D3A0 */ sw $t9, %lo(D_8011D3A0)($at)
/* AC6D6C 8004FBCC C6040000 */ lwc1 $f4, ($s0)
/* AC6D70 8004FBD0 C7A60054 */ lwc1 $f6, 0x54($sp)
/* AC6D74 8004FBD4 E7A20074 */ swc1 $f2, 0x74($sp)
/* AC6D78 8004FBD8 3C018014 */ lui $at, %hi(D_8013A184)
/* AC6D7C 8004FBDC 46062200 */ add.s $f8, $f4, $f6
/* AC6D80 8004FBE0 C430A184 */ lwc1 $f16, %lo(D_8013A184)($at)
/* AC6D84 8004FBE4 27A4006C */ addiu $a0, $sp, 0x6c
/* AC6D88 8004FBE8 260500E4 */ addiu $a1, $s0, 0xe4
/* AC6D8C 8004FBEC E7A80070 */ swc1 $f8, 0x70($sp)
/* AC6D90 8004FBF0 C6000008 */ lwc1 $f0, 8($s0)
/* AC6D94 8004FBF4 E7B00010 */ swc1 $f16, 0x10($sp)
/* AC6D98 8004FBF8 44060000 */ mfc1 $a2, $f0
/* AC6D9C 8004FBFC 44070000 */ mfc1 $a3, $f0
/* AC6DA0 8004FC00 0C010E8F */ jal func_80043A3C
/* AC6DA4 8004FC04 00000000 */ nop
/* AC6DA8 8004FC08 26030094 */ addiu $v1, $s0, 0x94
/* AC6DAC 8004FC0C C4720000 */ lwc1 $f18, ($v1)
/* AC6DB0 8004FC10 C60A00E4 */ lwc1 $f10, 0xe4($s0)
/* AC6DB4 8004FC14 02002025 */ move $a0, $s0
/* AC6DB8 8004FC18 460A9100 */ add.s $f4, $f18, $f10
/* AC6DBC 8004FC1C E7A40078 */ swc1 $f4, 0x78($sp)
/* AC6DC0 8004FC20 C60800E8 */ lwc1 $f8, 0xe8($s0)
/* AC6DC4 8004FC24 C4660004 */ lwc1 $f6, 4($v1)
/* AC6DC8 8004FC28 46083400 */ add.s $f16, $f6, $f8
/* AC6DCC 8004FC2C E7B0007C */ swc1 $f16, 0x7c($sp)
/* AC6DD0 8004FC30 C60A00EC */ lwc1 $f10, 0xec($s0)
/* AC6DD4 8004FC34 C4720008 */ lwc1 $f18, 8($v1)
/* AC6DD8 8004FC38 460A9100 */ add.s $f4, $f18, $f10
/* AC6DDC 8004FC3C E7A40080 */ swc1 $f4, 0x80($sp)
/* AC6DE0 8004FC40 8602015E */ lh $v0, 0x15e($s0)
/* AC6DE4 8004FC44 14400024 */ bnez $v0, .L8004FCD8
/* AC6DE8 8004FC48 24490001 */ addiu $t1, $v0, 1
/* AC6DEC 8004FC4C A609015E */ sh $t1, 0x15e($s0)
/* AC6DF0 8004FC50 0C010ED8 */ jal func_80043B60
/* AC6DF4 8004FC54 AFA30030 */ sw $v1, 0x30($sp)
/* AC6DF8 8004FC58 86080010 */ lh $t0, 0x10($s0)
/* AC6DFC 8004FC5C 8FA30030 */ lw $v1, 0x30($sp)
/* AC6E00 8004FC60 310A0001 */ andi $t2, $t0, 1
/* AC6E04 8004FC64 5540001D */ bnezl $t2, .L8004FCDC
/* AC6E08 8004FC68 C6000008 */ lwc1 $f0, 8($s0)
/* AC6E0C 8004FC6C 8E2C0000 */ lw $t4, ($s1)
/* AC6E10 8004FC70 27A20040 */ addiu $v0, $sp, 0x40
/* AC6E14 8004FC74 27A90078 */ addiu $t1, $sp, 0x78
/* AC6E18 8004FC78 AC4C0000 */ sw $t4, ($v0)
/* AC6E1C 8004FC7C 8E2B0004 */ lw $t3, 4($s1)
/* AC6E20 8004FC80 8C4E0000 */ lw $t6, ($v0)
/* AC6E24 8004FC84 AC4B0004 */ sw $t3, 4($v0)
/* AC6E28 8004FC88 8E2C0008 */ lw $t4, 8($s1)
/* AC6E2C 8004FC8C AC4C0008 */ sw $t4, 8($v0)
/* AC6E30 8004FC90 AE0E0074 */ sw $t6, 0x74($s0)
/* AC6E34 8004FC94 8C4D0004 */ lw $t5, 4($v0)
/* AC6E38 8004FC98 AE0D0078 */ sw $t5, 0x78($s0)
/* AC6E3C 8004FC9C 8C4E0008 */ lw $t6, 8($v0)
/* AC6E40 8004FCA0 AE0E007C */ sw $t6, 0x7c($s0)
/* AC6E44 8004FCA4 8C590000 */ lw $t9, ($v0)
/* AC6E48 8004FCA8 8FAF003C */ lw $t7, 0x3c($sp)
/* AC6E4C 8004FCAC ADF90000 */ sw $t9, ($t7)
/* AC6E50 8004FCB0 8C580004 */ lw $t8, 4($v0)
/* AC6E54 8004FCB4 ADF80004 */ sw $t8, 4($t7)
/* AC6E58 8004FCB8 8C590008 */ lw $t9, 8($v0)
/* AC6E5C 8004FCBC ADF90008 */ sw $t9, 8($t7)
/* AC6E60 8004FCC0 8D2A0000 */ lw $t2, ($t1)
/* AC6E64 8004FCC4 AE0A0050 */ sw $t2, 0x50($s0)
/* AC6E68 8004FCC8 8D280004 */ lw $t0, 4($t1)
/* AC6E6C 8004FCCC AE080054 */ sw $t0, 0x54($s0)
/* AC6E70 8004FCD0 8D2A0008 */ lw $t2, 8($t1)
/* AC6E74 8004FCD4 AE0A0058 */ sw $t2, 0x58($s0)
.L8004FCD8:
/* AC6E78 8004FCD8 C6000008 */ lwc1 $f0, 8($s0)
.L8004FCDC:
/* AC6E7C 8004FCDC 3C014120 */ li $at, 0x41200000 # 0.000000
/* AC6E80 8004FCE0 44813000 */ mtc1 $at, $f6
/* AC6E84 8004FCE4 26050050 */ addiu $a1, $s0, 0x50
/* AC6E88 8004FCE8 260B0074 */ addiu $t3, $s0, 0x74
/* AC6E8C 8004FCEC 44060000 */ mfc1 $a2, $f0
/* AC6E90 8004FCF0 44070000 */ mfc1 $a3, $f0
/* AC6E94 8004FCF4 AFAB0034 */ sw $t3, 0x34($sp)
/* AC6E98 8004FCF8 AFA50038 */ sw $a1, 0x38($sp)
/* AC6E9C 8004FCFC AFA30030 */ sw $v1, 0x30($sp)
/* AC6EA0 8004FD00 27A40078 */ addiu $a0, $sp, 0x78
/* AC6EA4 8004FD04 0C010E8F */ jal func_80043A3C
/* AC6EA8 8004FD08 E7A60010 */ swc1 $f6, 0x10($sp)
/* AC6EAC 8004FD0C C6000004 */ lwc1 $f0, 4($s0)
/* AC6EB0 8004FD10 3C018014 */ lui $at, %hi(D_8013A188)
/* AC6EB4 8004FD14 C428A188 */ lwc1 $f8, %lo(D_8013A188)($at)
/* AC6EB8 8004FD18 44060000 */ mfc1 $a2, $f0
/* AC6EBC 8004FD1C 44070000 */ mfc1 $a3, $f0
/* AC6EC0 8004FD20 02202025 */ move $a0, $s1
/* AC6EC4 8004FD24 8FA50034 */ lw $a1, 0x34($sp)
/* AC6EC8 8004FD28 0C010E8F */ jal func_80043A3C
/* AC6ECC 8004FD2C E7A80010 */ swc1 $f8, 0x10($sp)
/* AC6ED0 8004FD30 8FAD0034 */ lw $t5, 0x34($sp)
/* AC6ED4 8004FD34 8FAC003C */ lw $t4, 0x3c($sp)
/* AC6ED8 8004FD38 8DAF0000 */ lw $t7, ($t5)
/* AC6EDC 8004FD3C AD8F0000 */ sw $t7, ($t4)
/* AC6EE0 8004FD40 8DAE0004 */ lw $t6, 4($t5)
/* AC6EE4 8004FD44 AD8E0004 */ sw $t6, 4($t4)
/* AC6EE8 8004FD48 8DAF0008 */ lw $t7, 8($t5)
/* AC6EEC 8004FD4C AD8F0008 */ sw $t7, 8($t4)
/* AC6EF0 8004FD50 8FA5003C */ lw $a1, 0x3c($sp)
/* AC6EF4 8004FD54 0C01EFE4 */ jal func_8007BF90
/* AC6EF8 8004FD58 8FA40038 */ lw $a0, 0x38($sp)
/* AC6EFC 8004FD5C 44808000 */ mtc1 $zero, $f16
/* AC6F00 8004FD60 E60000DC */ swc1 $f0, 0xdc($s0)
/* AC6F04 8004FD64 A600015A */ sh $zero, 0x15a($s0)
/* AC6F08 8004FD68 E61000D8 */ swc1 $f16, 0xd8($s0)
/* AC6F0C 8004FD6C 8638000C */ lh $t8, 0xc($s1)
/* AC6F10 8004FD70 3C018014 */ lui $at, %hi(D_8013A18C)
/* AC6F14 8004FD74 C424A18C */ lwc1 $f4, %lo(D_8013A18C)($at)
/* AC6F18 8004FD78 44989000 */ mtc1 $t8, $f18
/* AC6F1C 8004FD7C 02002025 */ move $a0, $s0
/* AC6F20 8004FD80 3C053F80 */ lui $a1, 0x3f80
/* AC6F24 8004FD84 468092A0 */ cvt.s.w $f10, $f18
/* AC6F28 8004FD88 46045182 */ mul.s $f6, $f10, $f4
/* AC6F2C 8004FD8C 0C011429 */ jal func_800450A4
/* AC6F30 8004FD90 E60600FC */ swc1 $f6, 0xfc($s0)
/* AC6F34 8004FD94 8FA30030 */ lw $v1, 0x30($sp)
/* AC6F38 8004FD98 E6000100 */ swc1 $f0, 0x100($s0)
/* AC6F3C 8004FD9C C6080050 */ lwc1 $f8, 0x50($s0)
/* AC6F40 8004FDA0 C4700000 */ lwc1 $f16, ($v1)
/* AC6F44 8004FDA4 C60A0054 */ lwc1 $f10, 0x54($s0)
/* AC6F48 8004FDA8 24020001 */ li $v0, 1
/* AC6F4C 8004FDAC 46104481 */ sub.s $f18, $f8, $f16
/* AC6F50 8004FDB0 C6080058 */ lwc1 $f8, 0x58($s0)
/* AC6F54 8004FDB4 E61200E4 */ swc1 $f18, 0xe4($s0)
/* AC6F58 8004FDB8 C4640004 */ lwc1 $f4, 4($v1)
/* AC6F5C 8004FDBC 46045181 */ sub.s $f6, $f10, $f4
/* AC6F60 8004FDC0 E60600E8 */ swc1 $f6, 0xe8($s0)
/* AC6F64 8004FDC4 C4700008 */ lwc1 $f16, 8($v1)
/* AC6F68 8004FDC8 46104481 */ sub.s $f18, $f8, $f16
/* AC6F6C 8004FDCC E61200EC */ swc1 $f18, 0xec($s0)
/* AC6F70 8004FDD0 8FBF0024 */ lw $ra, 0x24($sp)
/* AC6F74 8004FDD4 8FB10020 */ lw $s1, 0x20($sp)
/* AC6F78 8004FDD8 8FB0001C */ lw $s0, 0x1c($sp)
/* AC6F7C 8004FDDC 03E00008 */ jr $ra
/* AC6F80 8004FDE0 27BD0090 */ addiu $sp, $sp, 0x90

View file

@ -0,0 +1,181 @@
.rdata
glabel D_801393DC
.asciz "camera: position change %d \n"
.balign 4
.late_rodata
glabel D_8013A190
.float 0.01
.text
glabel func_8004FDE4
/* AC6F84 8004FDE4 27BDFF98 */ addiu $sp, $sp, -0x68
/* AC6F88 8004FDE8 AFBF001C */ sw $ra, 0x1c($sp)
/* AC6F8C 8004FDEC AFB00018 */ sw $s0, 0x18($sp)
/* AC6F90 8004FDF0 0C0111DB */ jal func_8004476C
/* AC6F94 8004FDF4 00808025 */ move $s0, $a0
/* AC6F98 8004FDF8 2605005C */ addiu $a1, $s0, 0x5c
/* AC6F9C 8004FDFC 26060050 */ addiu $a2, $s0, 0x50
/* AC6FA0 8004FE00 AFA60030 */ sw $a2, 0x30($sp)
/* AC6FA4 8004FE04 AFA50034 */ sw $a1, 0x34($sp)
/* AC6FA8 8004FE08 27A40048 */ addiu $a0, $sp, 0x48
/* AC6FAC 8004FE0C 0C01F124 */ jal func_8007C490
/* AC6FB0 8004FE10 AFA20050 */ sw $v0, 0x50($sp)
/* AC6FB4 8004FE14 8603015E */ lh $v1, 0x15e($s0)
/* AC6FB8 8004FE18 8FA70050 */ lw $a3, 0x50($sp)
/* AC6FBC 8004FE1C 2401000A */ li $at, 10
/* AC6FC0 8004FE20 5060000A */ beql $v1, $zero, .L8004FE4C
/* AC6FC4 8004FE24 86180142 */ lh $t8, 0x142($s0)
/* AC6FC8 8004FE28 10610007 */ beq $v1, $at, .L8004FE48
/* AC6FCC 8004FE2C 24010014 */ li $at, 20
/* AC6FD0 8004FE30 10610005 */ beq $v1, $at, .L8004FE48
/* AC6FD4 8004FE34 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016
/* AC6FD8 8004FE38 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
/* AC6FDC 8004FE3C 85CF0314 */ lh $t7, 0x314($t6)
/* AC6FE0 8004FE40 11E00034 */ beqz $t7, .L8004FF14
/* AC6FE4 8004FE44 00000000 */ nop
.L8004FE48:
/* AC6FE8 8004FE48 86180142 */ lh $t8, 0x142($s0)
.L8004FE4C:
/* AC6FEC 8004FE4C 3C088012 */ lui $t0, %hi(D_8011D068)
/* AC6FF0 8004FE50 86090144 */ lh $t1, 0x144($s0)
/* AC6FF4 8004FE54 0018C8C0 */ sll $t9, $t8, 3
/* AC6FF8 8004FE58 01194021 */ addu $t0, $t0, $t9
/* AC6FFC 8004FE5C 8D08D068 */ lw $t0, %lo(D_8011D068)($t0)
/* AC7000 8004FE60 000950C0 */ sll $t2, $t1, 3
/* AC7004 8004FE64 26060074 */ addiu $a2, $s0, 0x74
/* AC7008 8004FE68 010A5821 */ addu $t3, $t0, $t2
/* AC700C 8004FE6C 8D620004 */ lw $v0, 4($t3)
/* AC7010 8004FE70 00C02025 */ move $a0, $a2
/* AC7014 8004FE74 00E02825 */ move $a1, $a3
/* AC7018 8004FE78 844C0000 */ lh $t4, ($v0)
/* AC701C 8004FE7C A60C0000 */ sh $t4, ($s0)
/* AC7020 8004FE80 AFA70050 */ sw $a3, 0x50($sp)
/* AC7024 8004FE84 0C010EF1 */ jal func_80043BC4
/* AC7028 8004FE88 AFA6002C */ sw $a2, 0x2c($sp)
/* AC702C 8004FE8C 8FA6002C */ lw $a2, 0x2c($sp)
/* AC7030 8004FE90 8FAD0034 */ lw $t5, 0x34($sp)
/* AC7034 8004FE94 8FA70050 */ lw $a3, 0x50($sp)
/* AC7038 8004FE98 8CCF0000 */ lw $t7, ($a2)
/* AC703C 8004FE9C 26030002 */ addiu $v1, $s0, 2
/* AC7040 8004FEA0 2401FFFF */ li $at, -1
/* AC7044 8004FEA4 ADAF0000 */ sw $t7, ($t5)
/* AC7048 8004FEA8 8CCE0004 */ lw $t6, 4($a2)
/* AC704C 8004FEAC 240A1770 */ li $t2, 6000
/* AC7050 8004FEB0 ADAE0004 */ sw $t6, 4($t5)
/* AC7054 8004FEB4 8CCF0008 */ lw $t7, 8($a2)
/* AC7058 8004FEB8 ADAF0008 */ sw $t7, 8($t5)
/* AC705C 8004FEBC 88F90006 */ lwl $t9, 6($a3)
/* AC7060 8004FEC0 98F90009 */ lwr $t9, 9($a3)
/* AC7064 8004FEC4 A8790000 */ swl $t9, ($v1)
/* AC7068 8004FEC8 B8790003 */ swr $t9, 3($v1)
/* AC706C 8004FECC 94F9000A */ lhu $t9, 0xa($a3)
/* AC7070 8004FED0 A4790004 */ sh $t9, 4($v1)
/* AC7074 8004FED4 84E9000C */ lh $t1, 0xc($a3)
/* AC7078 8004FED8 A4690006 */ sh $t1, 6($v1)
/* AC707C 8004FEDC 84640006 */ lh $a0, 6($v1)
/* AC7080 8004FEE0 84E8000E */ lh $t0, 0xe($a3)
/* AC7084 8004FEE4 14810003 */ bne $a0, $at, .L8004FEF4
/* AC7088 8004FEE8 A468000A */ sh $t0, 0xa($v1)
/* AC708C 8004FEEC A46A0006 */ sh $t2, 6($v1)
/* AC7090 8004FEF0 84640006 */ lh $a0, 6($v1)
.L8004FEF4:
/* AC7094 8004FEF4 28810169 */ slti $at, $a0, 0x169
/* AC7098 8004FEF8 10200006 */ beqz $at, .L8004FF14
/* AC709C 8004FEFC 00045880 */ sll $t3, $a0, 2
/* AC70A0 8004FF00 01645823 */ subu $t3, $t3, $a0
/* AC70A4 8004FF04 000B58C0 */ sll $t3, $t3, 3
/* AC70A8 8004FF08 01645821 */ addu $t3, $t3, $a0
/* AC70AC 8004FF0C 000B5880 */ sll $t3, $t3, 2
/* AC70B0 8004FF10 A46B0006 */ sh $t3, 6($v1)
.L8004FF14:
/* AC70B4 8004FF14 3C0C8016 */ lui $t4, %hi(gGameInfo) # $t4, 0x8016
/* AC70B8 8004FF18 8D8CFA90 */ lw $t4, %lo(gGameInfo)($t4)
/* AC70BC 8004FF1C 26030002 */ addiu $v1, $s0, 2
/* AC70C0 8004FF20 02002025 */ move $a0, $s0
/* AC70C4 8004FF24 858D0314 */ lh $t5, 0x314($t4)
/* AC70C8 8004FF28 51A00007 */ beql $t5, $zero, .L8004FF48
/* AC70CC 8004FF2C 860E015E */ lh $t6, 0x15e($s0)
/* AC70D0 8004FF30 AFA30028 */ sw $v1, 0x28($sp)
/* AC70D4 8004FF34 0C011495 */ jal func_80045254
/* AC70D8 8004FF38 AFA70050 */ sw $a3, 0x50($sp)
/* AC70DC 8004FF3C 8FA30028 */ lw $v1, 0x28($sp)
/* AC70E0 8004FF40 8FA70050 */ lw $a3, 0x50($sp)
/* AC70E4 8004FF44 860E015E */ lh $t6, 0x15e($s0)
.L8004FF48:
/* AC70E8 8004FF48 240F0005 */ li $t7, 5
/* AC70EC 8004FF4C 3C198016 */ lui $t9, %hi(gGameInfo) # $t9, 0x8016
/* AC70F0 8004FF50 15C00008 */ bnez $t6, .L8004FF74
/* AC70F4 8004FF54 3C048014 */ lui $a0, %hi(D_801393DC) # $a0, 0x8014
/* AC70F8 8004FF58 A46F0008 */ sh $t7, 8($v1)
/* AC70FC 8004FF5C 8F39FA90 */ lw $t9, %lo(gGameInfo)($t9)
/* AC7100 8004FF60 84780006 */ lh $t8, 6($v1)
/* AC7104 8004FF64 A7380262 */ sh $t8, 0x262($t9)
/* AC7108 8004FF68 8609015E */ lh $t1, 0x15e($s0)
/* AC710C 8004FF6C 25280001 */ addiu $t0, $t1, 1
/* AC7110 8004FF70 A608015E */ sh $t0, 0x15e($s0)
.L8004FF74:
/* AC7114 8004FF74 8465000A */ lh $a1, 0xa($v1)
/* AC7118 8004FF78 84EA000E */ lh $t2, 0xe($a3)
/* AC711C 8004FF7C 248493DC */ addiu $a0, %lo(D_801393DC) # addiu $a0, $a0, -0x6c24
/* AC7120 8004FF80 50AA000B */ beql $a1, $t2, .L8004FFB0
/* AC7124 8004FF84 84620008 */ lh $v0, 8($v1)
/* AC7128 8004FF88 AFA30028 */ sw $v1, 0x28($sp)
/* AC712C 8004FF8C 0C00084C */ jal osSyncPrintf
/* AC7130 8004FF90 AFA70050 */ sw $a3, 0x50($sp)
/* AC7134 8004FF94 8FA70050 */ lw $a3, 0x50($sp)
/* AC7138 8004FF98 8FA30028 */ lw $v1, 0x28($sp)
/* AC713C 8004FF9C 240C0005 */ li $t4, 5
/* AC7140 8004FFA0 84EB000E */ lh $t3, 0xe($a3)
/* AC7144 8004FFA4 A46C0008 */ sh $t4, 8($v1)
/* AC7148 8004FFA8 A46B000A */ sh $t3, 0xa($v1)
/* AC714C 8004FFAC 84620008 */ lh $v0, 8($v1)
.L8004FFB0:
/* AC7150 8004FFB0 240E0001 */ li $t6, 1
/* AC7154 8004FFB4 3C018012 */ lui $at, %hi(D_8011D3E8)
/* AC7158 8004FFB8 18400005 */ blez $v0, .L8004FFD0
/* AC715C 8004FFBC 244DFFFF */ addiu $t5, $v0, -1
/* AC7160 8004FFC0 A46D0008 */ sh $t5, 8($v1)
/* AC7164 8004FFC4 3C018012 */ lui $at, %hi(D_8011D3E8) # $at, 0x8012
/* AC7168 8004FFC8 10000002 */ b .L8004FFD4
/* AC716C 8004FFCC AC2ED3E8 */ sw $t6, %lo(D_8011D3E8)($at)
.L8004FFD0:
/* AC7170 8004FFD0 AC20D3E8 */ sw $zero, %lo(D_8011D3E8)($at)
.L8004FFD4:
/* AC7174 8004FFD4 3C014316 */ li $at, 0x43160000 # 0.000000
/* AC7178 8004FFD8 44812000 */ mtc1 $at, $f4
/* AC717C 8004FFDC 8FA40030 */ lw $a0, 0x30($sp)
/* AC7180 8004FFE0 8FA50034 */ lw $a1, 0x34($sp)
/* AC7184 8004FFE4 E7A40054 */ swc1 $f4, 0x54($sp)
/* AC7188 8004FFE8 846F0002 */ lh $t7, 2($v1)
/* AC718C 8004FFEC 27A60054 */ addiu $a2, $sp, 0x54
/* AC7190 8004FFF0 A7AF005A */ sh $t7, 0x5a($sp)
/* AC7194 8004FFF4 84780000 */ lh $t8, ($v1)
/* AC7198 8004FFF8 AFA30028 */ sw $v1, 0x28($sp)
/* AC719C 8004FFFC 0018C823 */ negu $t9, $t8
/* AC71A0 80050000 0C010F0A */ jal func_80043C28
/* AC71A4 80050004 A7B90058 */ sh $t9, 0x58($sp)
/* AC71A8 80050008 86090000 */ lh $t1, ($s0)
/* AC71AC 8005000C 3C088016 */ lui $t0, %hi(gGameInfo) # $t0, 0x8016
/* AC71B0 80050010 8D08FA90 */ lw $t0, %lo(gGameInfo)($t0)
/* AC71B4 80050014 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012
/* AC71B8 80050018 AC29D3A0 */ sw $t1, %lo(D_8011D3A0)($at)
/* AC71BC 8005001C 8FA30028 */ lw $v1, 0x28($sp)
/* AC71C0 80050020 850A0262 */ lh $t2, 0x262($t0)
/* AC71C4 80050024 3C018014 */ lui $at, %hi(D_8013A190)
/* AC71C8 80050028 44809000 */ mtc1 $zero, $f18
/* AC71CC 8005002C A46A0006 */ sh $t2, 6($v1)
/* AC71D0 80050030 A600015A */ sh $zero, 0x15a($s0)
/* AC71D4 80050034 846B0006 */ lh $t3, 6($v1)
/* AC71D8 80050038 C42AA190 */ lwc1 $f10, %lo(D_8013A190)($at)
/* AC71DC 8005003C E6120100 */ swc1 $f18, 0x100($s0)
/* AC71E0 80050040 448B3000 */ mtc1 $t3, $f6
/* AC71E4 80050044 24020001 */ li $v0, 1
/* AC71E8 80050048 46803220 */ cvt.s.w $f8, $f6
/* AC71EC 8005004C 460A4402 */ mul.s $f16, $f8, $f10
/* AC71F0 80050050 E61000FC */ swc1 $f16, 0xfc($s0)
/* AC71F4 80050054 8FBF001C */ lw $ra, 0x1c($sp)
/* AC71F8 80050058 8FB00018 */ lw $s0, 0x18($sp)
/* AC71FC 8005005C 27BD0068 */ addiu $sp, $sp, 0x68
/* AC7200 80050060 03E00008 */ jr $ra
/* AC7204 80050064 00000000 */ nop

View file

@ -0,0 +1,260 @@
.late_rodata
glabel D_8013A194
.float 0.01
glabel D_8013A198
.float 0.1
.text
glabel func_80050068
/* AC7208 80050068 27BDFF58 */ addiu $sp, $sp, -0xa8
/* AC720C 8005006C AFB00020 */ sw $s0, 0x20($sp)
/* AC7210 80050070 00808025 */ move $s0, $a0
/* AC7214 80050074 AFBF002C */ sw $ra, 0x2c($sp)
/* AC7218 80050078 AFB20028 */ sw $s2, 0x28($sp)
/* AC721C 8005007C AFB10024 */ sw $s1, 0x24($sp)
/* AC7220 80050080 0C00B721 */ jal Player_GetCameraYOffset
/* AC7224 80050084 8C840090 */ lw $a0, 0x90($a0)
/* AC7228 80050088 E7A00050 */ swc1 $f0, 0x50($sp)
/* AC722C 8005008C 8602015E */ lh $v0, 0x15e($s0)
/* AC7230 80050090 10400008 */ beqz $v0, .L800500B4
/* AC7234 80050094 2401000A */ li $at, 10
/* AC7238 80050098 10410006 */ beq $v0, $at, .L800500B4
/* AC723C 8005009C 24010014 */ li $at, 20
/* AC7240 800500A0 10410004 */ beq $v0, $at, .L800500B4
/* AC7244 800500A4 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016
/* AC7248 800500A8 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
/* AC724C 800500AC 85C30314 */ lh $v1, 0x314($t6)
/* AC7250 800500B0 10600049 */ beqz $v1, .L800501D8
.L800500B4:
/* AC7254 800500B4 3C0B8016 */ lui $t3, %hi(gGameInfo) # $t3, 0x8016
/* AC7258 800500B8 8D6BFA90 */ lw $t3, %lo(gGameInfo)($t3)
/* AC725C 800500BC 3C018014 */ lui $at, %hi(D_8013A194)
/* AC7260 800500C0 C42CA194 */ lwc1 $f12, %lo(D_8013A194)($at)
/* AC7264 800500C4 856C01F0 */ lh $t4, 0x1f0($t3)
/* AC7268 800500C8 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC726C 800500CC 44814000 */ mtc1 $at, $f8
/* AC7270 800500D0 448C2000 */ mtc1 $t4, $f4
/* AC7274 800500D4 3C014288 */ li $at, 0x42880000 # 0.000000
/* AC7278 800500D8 860F0142 */ lh $t7, 0x142($s0)
/* AC727C 800500DC 468021A0 */ cvt.s.w $f6, $f4
/* AC7280 800500E0 44812000 */ mtc1 $at, $f4
/* AC7284 800500E4 3C198012 */ lui $t9, %hi(D_8011D068)
/* AC7288 800500E8 000FC0C0 */ sll $t8, $t7, 3
/* AC728C 800500EC 86080144 */ lh $t0, 0x144($s0)
/* AC7290 800500F0 0338C821 */ addu $t9, $t9, $t8
/* AC7294 800500F4 460C3082 */ mul.s $f2, $f6, $f12
/* AC7298 800500F8 46002183 */ div.s $f6, $f4, $f0
/* AC729C 800500FC 8F39D068 */ lw $t9, %lo(D_8011D068)($t9)
/* AC72A0 80050100 000848C0 */ sll $t1, $t0, 3
/* AC72A4 80050104 02002025 */ move $a0, $s0
/* AC72A8 80050108 03295021 */ addu $t2, $t9, $t1
/* AC72AC 8005010C 8D420004 */ lw $v0, 4($t2)
/* AC72B0 80050110 46024280 */ add.s $f10, $f8, $f2
/* AC72B4 80050114 844D0000 */ lh $t5, ($v0)
/* AC72B8 80050118 24420010 */ addiu $v0, $v0, 0x10
/* AC72BC 8005011C 448D2000 */ mtc1 $t5, $f4
/* AC72C0 80050120 46061202 */ mul.s $f8, $f2, $f6
/* AC72C4 80050124 468021A0 */ cvt.s.w $f6, $f4
/* AC72C8 80050128 46085381 */ sub.s $f14, $f10, $f8
/* AC72CC 8005012C 460C3282 */ mul.s $f10, $f6, $f12
/* AC72D0 80050130 00000000 */ nop
/* AC72D4 80050134 46005202 */ mul.s $f8, $f10, $f0
/* AC72D8 80050138 00000000 */ nop
/* AC72DC 8005013C 460E4102 */ mul.s $f4, $f8, $f14
/* AC72E0 80050140 E6040000 */ swc1 $f4, ($s0)
/* AC72E4 80050144 844EFFF4 */ lh $t6, -0xc($v0)
/* AC72E8 80050148 448E3000 */ mtc1 $t6, $f6
/* AC72EC 8005014C 00000000 */ nop
/* AC72F0 80050150 468032A0 */ cvt.s.w $f10, $f6
/* AC72F4 80050154 460C5202 */ mul.s $f8, $f10, $f12
/* AC72F8 80050158 E6080004 */ swc1 $f8, 4($s0)
/* AC72FC 8005015C 844FFFF8 */ lh $t7, -8($v0)
/* AC7300 80050160 448F2000 */ mtc1 $t7, $f4
/* AC7304 80050164 00000000 */ nop
/* AC7308 80050168 468021A0 */ cvt.s.w $f6, $f4
/* AC730C 8005016C 460C3282 */ mul.s $f10, $f6, $f12
/* AC7310 80050170 E60A0008 */ swc1 $f10, 8($s0)
/* AC7314 80050174 8458FFFC */ lh $t8, -4($v0)
/* AC7318 80050178 44984000 */ mtc1 $t8, $f8
/* AC731C 8005017C 00000000 */ nop
/* AC7320 80050180 46804120 */ cvt.s.w $f4, $f8
/* AC7324 80050184 E604000C */ swc1 $f4, 0xc($s0)
/* AC7328 80050188 84480000 */ lh $t0, ($v0)
/* AC732C 8005018C 0C0111DB */ jal func_8004476C
/* AC7330 80050190 A6080010 */ sh $t0, 0x10($s0)
/* AC7334 80050194 10400007 */ beqz $v0, .L800501B4
/* AC7338 80050198 00402825 */ move $a1, $v0
/* AC733C 8005019C 0C010EF1 */ jal func_80043BC4
/* AC7340 800501A0 26040014 */ addiu $a0, $s0, 0x14
/* AC7344 800501A4 3C198016 */ lui $t9, %hi(gGameInfo) # $t9, 0x8016
/* AC7348 800501A8 8F39FA90 */ lw $t9, %lo(gGameInfo)($t9)
/* AC734C 800501AC 1000000A */ b .L800501D8
/* AC7350 800501B0 87230314 */ lh $v1, 0x314($t9)
.L800501B4:
/* AC7354 800501B4 8E0A005C */ lw $t2, 0x5c($s0)
/* AC7358 800501B8 8E090060 */ lw $t1, 0x60($s0)
/* AC735C 800501BC 3C0B8016 */ lui $t3, %hi(gGameInfo)
/* AC7360 800501C0 AE0A0014 */ sw $t2, 0x14($s0)
/* AC7364 800501C4 8E0A0064 */ lw $t2, 0x64($s0)
/* AC7368 800501C8 AE090018 */ sw $t1, 0x18($s0)
/* AC736C 800501CC AE0A001C */ sw $t2, 0x1c($s0)
/* AC7370 800501D0 8D6BFA90 */ lw $t3, %lo(gGameInfo)($t3)
/* AC7374 800501D4 85630314 */ lh $v1, 0x314($t3)
.L800501D8:
/* AC7378 800501D8 260C005C */ addiu $t4, $s0, 0x5c
/* AC737C 800501DC AFAC0044 */ sw $t4, 0x44($sp)
/* AC7380 800501E0 10600003 */ beqz $v1, .L800501F0
/* AC7384 800501E4 26120014 */ addiu $s2, $s0, 0x14
/* AC7388 800501E8 0C011495 */ jal func_80045254
/* AC738C 800501EC 02002025 */ move $a0, $s0
.L800501F0:
/* AC7390 800501F0 860D0010 */ lh $t5, 0x10($s0)
/* AC7394 800501F4 3C018012 */ lui $at, %hi(D_8011D3A0)
/* AC7398 800501F8 AC2DD3A0 */ sw $t5, %lo(D_8011D3A0)($at)
/* AC739C 800501FC 8602015E */ lh $v0, 0x15e($s0)
/* AC73A0 80050200 5440000C */ bnezl $v0, .L80050234
/* AC73A4 80050204 26110074 */ addiu $s1, $s0, 0x74
/* AC73A8 80050208 860F0010 */ lh $t7, 0x10($s0)
/* AC73AC 8005020C 244E0001 */ addiu $t6, $v0, 1
/* AC73B0 80050210 A60E015E */ sh $t6, 0x15e($s0)
/* AC73B4 80050214 31F80004 */ andi $t8, $t7, 4
/* AC73B8 80050218 57000004 */ bnezl $t8, .L8005022C
/* AC73BC 8005021C C6060008 */ lwc1 $f6, 8($s0)
/* AC73C0 80050220 0C010ED8 */ jal func_80043B60
/* AC73C4 80050224 02002025 */ move $a0, $s0
/* AC73C8 80050228 C6060008 */ lwc1 $f6, 8($s0)
.L8005022C:
/* AC73CC 8005022C E646000C */ swc1 $f6, 0xc($s2)
/* AC73D0 80050230 26110074 */ addiu $s1, $s0, 0x74
.L80050234:
/* AC73D4 80050234 C6200000 */ lwc1 $f0, ($s1)
/* AC73D8 80050238 C64A0000 */ lwc1 $f10, ($s2)
/* AC73DC 8005023C C6040004 */ lwc1 $f4, 4($s0)
/* AC73E0 80050240 3C018014 */ lui $at, %hi(D_8013A198)
/* AC73E4 80050244 46005201 */ sub.s $f8, $f10, $f0
/* AC73E8 80050248 C42EA198 */ lwc1 $f14, %lo(D_8013A198)($at)
/* AC73EC 8005024C C6220004 */ lwc1 $f2, 4($s1)
/* AC73F0 80050250 C62C0008 */ lwc1 $f12, 8($s1)
/* AC73F4 80050254 46044182 */ mul.s $f6, $f8, $f4
/* AC73F8 80050258 44808000 */ mtc1 $zero, $f16
/* AC73FC 8005025C 44067000 */ mfc1 $a2, $f14
/* AC7400 80050260 44077000 */ mfc1 $a3, $f14
/* AC7404 80050264 27A40078 */ addiu $a0, $sp, 0x78
/* AC7408 80050268 260500E4 */ addiu $a1, $s0, 0xe4
/* AC740C 8005026C 46060280 */ add.s $f10, $f0, $f6
/* AC7410 80050270 E62A0000 */ swc1 $f10, ($s1)
/* AC7414 80050274 C6480004 */ lwc1 $f8, 4($s2)
/* AC7418 80050278 C6060004 */ lwc1 $f6, 4($s0)
/* AC741C 8005027C 8E290000 */ lw $t1, ($s1)
/* AC7420 80050280 46024101 */ sub.s $f4, $f8, $f2
/* AC7424 80050284 46062282 */ mul.s $f10, $f4, $f6
/* AC7428 80050288 460A1200 */ add.s $f8, $f2, $f10
/* AC742C 8005028C E6280004 */ swc1 $f8, 4($s1)
/* AC7430 80050290 C6440008 */ lwc1 $f4, 8($s2)
/* AC7434 80050294 C60A0004 */ lwc1 $f10, 4($s0)
/* AC7438 80050298 460C2181 */ sub.s $f6, $f4, $f12
/* AC743C 8005029C 460A3202 */ mul.s $f8, $f6, $f10
/* AC7440 800502A0 46086100 */ add.s $f4, $f12, $f8
/* AC7444 800502A4 E6240008 */ swc1 $f4, 8($s1)
/* AC7448 800502A8 8FA80044 */ lw $t0, 0x44($sp)
/* AC744C 800502AC AD090000 */ sw $t1, ($t0)
/* AC7450 800502B0 8E390004 */ lw $t9, 4($s1)
/* AC7454 800502B4 AD190004 */ sw $t9, 4($t0)
/* AC7458 800502B8 8E290008 */ lw $t1, 8($s1)
/* AC745C 800502BC AD090008 */ sw $t1, 8($t0)
/* AC7460 800502C0 E7B00078 */ swc1 $f16, 0x78($sp)
/* AC7464 800502C4 C6060000 */ lwc1 $f6, ($s0)
/* AC7468 800502C8 C7AA0050 */ lwc1 $f10, 0x50($sp)
/* AC746C 800502CC E7AE0010 */ swc1 $f14, 0x10($sp)
/* AC7470 800502D0 E7B00080 */ swc1 $f16, 0x80($sp)
/* AC7474 800502D4 460A3200 */ add.s $f8, $f6, $f10
/* AC7478 800502D8 0C010E8F */ jal func_80043A3C
/* AC747C 800502DC E7A8007C */ swc1 $f8, 0x7c($sp)
/* AC7480 800502E0 26020094 */ addiu $v0, $s0, 0x94
/* AC7484 800502E4 C4440000 */ lwc1 $f4, ($v0)
/* AC7488 800502E8 C60600E4 */ lwc1 $f6, 0xe4($s0)
/* AC748C 800502EC C44A0004 */ lwc1 $f10, 4($v0)
/* AC7490 800502F0 C60800E8 */ lwc1 $f8, 0xe8($s0)
/* AC7494 800502F4 46062380 */ add.s $f14, $f4, $f6
/* AC7498 800502F8 26060050 */ addiu $a2, $s0, 0x50
/* AC749C 800502FC C4C00000 */ lwc1 $f0, ($a2)
/* AC74A0 80050300 46085400 */ add.s $f16, $f10, $f8
/* AC74A4 80050304 C60600EC */ lwc1 $f6, 0xec($s0)
/* AC74A8 80050308 C4440008 */ lwc1 $f4, 8($v0)
/* AC74AC 8005030C 46007281 */ sub.s $f10, $f14, $f0
/* AC74B0 80050310 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* AC74B4 80050314 44814000 */ mtc1 $at, $f8
/* AC74B8 80050318 46062480 */ add.s $f18, $f4, $f6
/* AC74BC 8005031C 27A40070 */ addiu $a0, $sp, 0x70
/* AC74C0 80050320 46085102 */ mul.s $f4, $f10, $f8
/* AC74C4 80050324 44814000 */ mtc1 $at, $f8
/* AC74C8 80050328 02202825 */ move $a1, $s1
/* AC74CC 8005032C 46040180 */ add.s $f6, $f0, $f4
/* AC74D0 80050330 E7A60084 */ swc1 $f6, 0x84($sp)
/* AC74D4 80050334 C4C20004 */ lwc1 $f2, 4($a2)
/* AC74D8 80050338 46028281 */ sub.s $f10, $f16, $f2
/* AC74DC 8005033C 46085102 */ mul.s $f4, $f10, $f8
/* AC74E0 80050340 44814000 */ mtc1 $at, $f8
/* AC74E4 80050344 46041180 */ add.s $f6, $f2, $f4
/* AC74E8 80050348 E7A60088 */ swc1 $f6, 0x88($sp)
/* AC74EC 8005034C C4CC0008 */ lwc1 $f12, 8($a2)
/* AC74F0 80050350 AFA60040 */ sw $a2, 0x40($sp)
/* AC74F4 80050354 460C9281 */ sub.s $f10, $f18, $f12
/* AC74F8 80050358 46085102 */ mul.s $f4, $f10, $f8
/* AC74FC 8005035C 46046180 */ add.s $f6, $f12, $f4
/* AC7500 80050360 0C01F124 */ jal func_8007C490
/* AC7504 80050364 E7A6008C */ swc1 $f6, 0x8c($sp)
/* AC7508 80050368 27A40068 */ addiu $a0, $sp, 0x68
/* AC750C 8005036C 02202825 */ move $a1, $s1
/* AC7510 80050370 0C01F124 */ jal func_8007C490
/* AC7514 80050374 27A60084 */ addiu $a2, $sp, 0x84
/* AC7518 80050378 C7AA0068 */ lwc1 $f10, 0x68($sp)
/* AC751C 8005037C C7A80070 */ lwc1 $f8, 0x70($sp)
/* AC7520 80050380 C646000C */ lwc1 $f6, 0xc($s2)
/* AC7524 80050384 87A4006C */ lh $a0, 0x6c($sp)
/* AC7528 80050388 46085101 */ sub.s $f4, $f10, $f8
/* AC752C 8005038C 87A50074 */ lh $a1, 0x74($sp)
/* AC7530 80050390 2407000A */ li $a3, 10
/* AC7534 80050394 46062282 */ mul.s $f10, $f4, $f6
/* AC7538 80050398 460A4100 */ add.s $f4, $f8, $f10
/* AC753C 8005039C E7A40070 */ swc1 $f4, 0x70($sp)
/* AC7540 800503A0 C60800E0 */ lwc1 $f8, 0xe0($s0)
/* AC7544 800503A4 C646000C */ lwc1 $f6, 0xc($s2)
/* AC7548 800503A8 46083282 */ mul.s $f10, $f6, $f8
/* AC754C 800503AC 44065000 */ mfc1 $a2, $f10
/* AC7550 800503B0 0C010E47 */ jal func_8004391C
/* AC7554 800503B4 00000000 */ nop
/* AC7558 800503B8 A7A20074 */ sh $v0, 0x74($sp)
/* AC755C 800503BC C60600E0 */ lwc1 $f6, 0xe0($s0)
/* AC7560 800503C0 C644000C */ lwc1 $f4, 0xc($s2)
/* AC7564 800503C4 87A4006E */ lh $a0, 0x6e($sp)
/* AC7568 800503C8 87A50076 */ lh $a1, 0x76($sp)
/* AC756C 800503CC 46062202 */ mul.s $f8, $f4, $f6
/* AC7570 800503D0 2407000A */ li $a3, 10
/* AC7574 800503D4 44064000 */ mfc1 $a2, $f8
/* AC7578 800503D8 0C010E47 */ jal func_8004391C
/* AC757C 800503DC 00000000 */ nop
/* AC7580 800503E0 A7A20076 */ sh $v0, 0x76($sp)
/* AC7584 800503E4 8FA40040 */ lw $a0, 0x40($sp)
/* AC7588 800503E8 02202825 */ move $a1, $s1
/* AC758C 800503EC 0C010F0A */ jal func_80043C28
/* AC7590 800503F0 27A60070 */ addiu $a2, $sp, 0x70
/* AC7594 800503F4 8FA40040 */ lw $a0, 0x40($sp)
/* AC7598 800503F8 0C01EFE4 */ jal func_8007BF90
/* AC759C 800503FC 8FA50044 */ lw $a1, 0x44($sp)
/* AC75A0 80050400 C60A000C */ lwc1 $f10, 0xc($s0)
/* AC75A4 80050404 E60000DC */ swc1 $f0, 0xdc($s0)
/* AC75A8 80050408 A600015A */ sh $zero, 0x15a($s0)
/* AC75AC 8005040C 02002025 */ move $a0, $s0
/* AC75B0 80050410 3C053F80 */ lui $a1, 0x3f80
/* AC75B4 80050414 0C011429 */ jal func_800450A4
/* AC75B8 80050418 E60A00FC */ swc1 $f10, 0xfc($s0)
/* AC75BC 8005041C E6000100 */ swc1 $f0, 0x100($s0)
/* AC75C0 80050420 8FBF002C */ lw $ra, 0x2c($sp)
/* AC75C4 80050424 8FB20028 */ lw $s2, 0x28($sp)
/* AC75C8 80050428 8FB10024 */ lw $s1, 0x24($sp)
/* AC75CC 8005042C 8FB00020 */ lw $s0, 0x20($sp)
/* AC75D0 80050430 27BD00A8 */ addiu $sp, $sp, 0xa8
/* AC75D4 80050434 03E00008 */ jr $ra
/* AC75D8 80050438 24020001 */ li $v0, 1

View file

@ -0,0 +1,444 @@
.late_rodata
glabel D_8013A19C
.float 0.1
glabel D_8013A1A0
.float 0.01
glabel D_8013A1A4
.float 0.01
glabel D_8013A1A8
.float 0.01
glabel D_8013A1AC
.float 0.01
.text
glabel func_8005049C
/* AC763C 8005049C 27BDFF50 */ addiu $sp, $sp, -0xb0
/* AC7640 800504A0 AFB10018 */ sw $s1, 0x18($sp)
/* AC7644 800504A4 AFB00014 */ sw $s0, 0x14($sp)
/* AC7648 800504A8 00808025 */ move $s0, $a0
/* AC764C 800504AC 27B10060 */ addiu $s1, $sp, 0x60
/* AC7650 800504B0 AFBF001C */ sw $ra, 0x1c($sp)
/* AC7654 800504B4 8E050090 */ lw $a1, 0x90($s0)
/* AC7658 800504B8 0C00BBB9 */ jal func_8002EEE4
/* AC765C 800504BC 02202025 */ move $a0, $s1
/* AC7660 800504C0 0C00B721 */ jal Player_GetCameraYOffset
/* AC7664 800504C4 8E040090 */ lw $a0, 0x90($s0)
/* AC7668 800504C8 E7A0003C */ swc1 $f0, 0x3c($sp)
/* AC766C 800504CC 8E03008C */ lw $v1, 0x8c($s0)
/* AC7670 800504D0 8C6E01DC */ lw $t6, 0x1dc($v1)
/* AC7674 800504D4 15C00006 */ bnez $t6, .L800504F0
/* AC7678 800504D8 00000000 */ nop
/* AC767C 800504DC 860F0164 */ lh $t7, 0x164($s0)
/* AC7680 800504E0 24020001 */ li $v0, 1
/* AC7684 800504E4 35F80050 */ ori $t8, $t7, 0x50
/* AC7688 800504E8 10000189 */ b .L80050B10
/* AC768C 800504EC AC7801DC */ sw $t8, 0x1dc($v1)
.L800504F0:
/* AC7690 800504F0 0C010EAF */ jal func_80043ABC
/* AC7694 800504F4 02002025 */ move $a0, $s0
/* AC7698 800504F8 0C011495 */ jal func_80045254
/* AC769C 800504FC 02002025 */ move $a0, $s0
/* AC76A0 80050500 86190142 */ lh $t9, 0x142($s0)
/* AC76A4 80050504 3C0B8012 */ lui $t3, %hi(D_8011D068)
/* AC76A8 80050508 860C0144 */ lh $t4, 0x144($s0)
/* AC76AC 8005050C 001950C0 */ sll $t2, $t9, 3
/* AC76B0 80050510 016A5821 */ addu $t3, $t3, $t2
/* AC76B4 80050514 8D6BD068 */ lw $t3, %lo(D_8011D068)($t3)
/* AC76B8 80050518 000C68C0 */ sll $t5, $t4, 3
/* AC76BC 8005051C 3C018014 */ lui $at, %hi(D_8013A19C)
/* AC76C0 80050520 016D7021 */ addu $t6, $t3, $t5
/* AC76C4 80050524 8DC30004 */ lw $v1, 4($t6)
/* AC76C8 80050528 C420A19C */ lwc1 $f0, %lo(D_8013A19C)($at)
/* AC76CC 8005052C 3C018014 */ lui $at, %hi(D_8013A1A0)
/* AC76D0 80050530 846F0000 */ lh $t7, ($v1)
/* AC76D4 80050534 C428A1A0 */ lwc1 $f8, %lo(D_8013A1A0)($at)
/* AC76D8 80050538 27A50098 */ addiu $a1, $sp, 0x98
/* AC76DC 8005053C 448F2000 */ mtc1 $t7, $f4
/* AC76E0 80050540 27A4008C */ addiu $a0, $sp, 0x8c
/* AC76E4 80050544 27A60084 */ addiu $a2, $sp, 0x84
/* AC76E8 80050548 468021A0 */ cvt.s.w $f6, $f4
/* AC76EC 8005054C C7A4003C */ lwc1 $f4, 0x3c($sp)
/* AC76F0 80050550 24630020 */ addiu $v1, $v1, 0x20
/* AC76F4 80050554 46083282 */ mul.s $f10, $f6, $f8
/* AC76F8 80050558 00000000 */ nop
/* AC76FC 8005055C 46045182 */ mul.s $f6, $f10, $f4
/* AC7700 80050560 E6060000 */ swc1 $f6, ($s0)
/* AC7704 80050564 8478FFE4 */ lh $t8, -0x1c($v1)
/* AC7708 80050568 44984000 */ mtc1 $t8, $f8
/* AC770C 8005056C 00000000 */ nop
/* AC7710 80050570 468042A0 */ cvt.s.w $f10, $f8
/* AC7714 80050574 E60A0004 */ swc1 $f10, 4($s0)
/* AC7718 80050578 8479FFE8 */ lh $t9, -0x18($v1)
/* AC771C 8005057C 44992000 */ mtc1 $t9, $f4
/* AC7720 80050580 00000000 */ nop
/* AC7724 80050584 468021A0 */ cvt.s.w $f6, $f4
/* AC7728 80050588 E6060008 */ swc1 $f6, 8($s0)
/* AC772C 8005058C 846AFFEC */ lh $t2, -0x14($v1)
/* AC7730 80050590 448A4000 */ mtc1 $t2, $f8
/* AC7734 80050594 00000000 */ nop
/* AC7738 80050598 468042A0 */ cvt.s.w $f10, $f8
/* AC773C 8005059C E60A000C */ swc1 $f10, 0xc($s0)
/* AC7740 800505A0 846CFFF0 */ lh $t4, -0x10($v1)
/* AC7744 800505A4 448C2000 */ mtc1 $t4, $f4
/* AC7748 800505A8 00000000 */ nop
/* AC774C 800505AC 468021A0 */ cvt.s.w $f6, $f4
/* AC7750 800505B0 46003202 */ mul.s $f8, $f6, $f0
/* AC7754 800505B4 E6080010 */ swc1 $f8, 0x10($s0)
/* AC7758 800505B8 846BFFF4 */ lh $t3, -0xc($v1)
/* AC775C 800505BC 448B5000 */ mtc1 $t3, $f10
/* AC7760 800505C0 00000000 */ nop
/* AC7764 800505C4 46805120 */ cvt.s.w $f4, $f10
/* AC7768 800505C8 46002182 */ mul.s $f6, $f4, $f0
/* AC776C 800505CC E6060014 */ swc1 $f6, 0x14($s0)
/* AC7770 800505D0 846DFFF8 */ lh $t5, -8($v1)
/* AC7774 800505D4 448D4000 */ mtc1 $t5, $f8
/* AC7778 800505D8 00000000 */ nop
/* AC777C 800505DC 468042A0 */ cvt.s.w $f10, $f8
/* AC7780 800505E0 46005102 */ mul.s $f4, $f10, $f0
/* AC7784 800505E4 C60A0008 */ lwc1 $f10, 8($s0)
/* AC7788 800505E8 E6040018 */ swc1 $f4, 0x18($s0)
/* AC778C 800505EC 846EFFFC */ lh $t6, -4($v1)
/* AC7790 800505F0 448E3000 */ mtc1 $t6, $f6
/* AC7794 800505F4 00000000 */ nop
/* AC7798 800505F8 46803220 */ cvt.s.w $f8, $f6
/* AC779C 800505FC E608001C */ swc1 $f8, 0x1c($s0)
/* AC77A0 80050600 846F0000 */ lh $t7, ($v1)
/* AC77A4 80050604 A60F0020 */ sh $t7, 0x20($s0)
/* AC77A8 80050608 87B8006E */ lh $t8, 0x6e($sp)
/* AC77AC 8005060C 87AA006C */ lh $t2, 0x6c($sp)
/* AC77B0 80050610 E7AA0084 */ swc1 $f10, 0x84($sp)
/* AC77B4 80050614 27198001 */ addiu $t9, $t8, -0x7fff
/* AC77B8 80050618 A7B9008A */ sh $t9, 0x8a($sp)
/* AC77BC 8005061C A7AA0088 */ sh $t2, 0x88($sp)
/* AC77C0 80050620 8E2B0000 */ lw $t3, ($s1)
/* AC77C4 80050624 8E2C0004 */ lw $t4, 4($s1)
/* AC77C8 80050628 ACAB0000 */ sw $t3, ($a1)
/* AC77CC 8005062C 8E2B0008 */ lw $t3, 8($s1)
/* AC77D0 80050630 ACAC0004 */ sw $t4, 4($a1)
/* AC77D4 80050634 ACAB0008 */ sw $t3, 8($a1)
/* AC77D8 80050638 C7A4009C */ lwc1 $f4, 0x9c($sp)
/* AC77DC 8005063C C6060000 */ lwc1 $f6, ($s0)
/* AC77E0 80050640 46062200 */ add.s $f8, $f4, $f6
/* AC77E4 80050644 0C010F0A */ jal func_80043C28
/* AC77E8 80050648 E7A8009C */ swc1 $f8, 0x9c($sp)
/* AC77EC 8005064C 26110050 */ addiu $s1, $s0, 0x50
/* AC77F0 80050650 2606005C */ addiu $a2, $s0, 0x5c
/* AC77F4 80050654 AFA60038 */ sw $a2, 0x38($sp)
/* AC77F8 80050658 02202825 */ move $a1, $s1
/* AC77FC 8005065C 0C01F124 */ jal func_8007C490
/* AC7800 80050660 27A4007C */ addiu $a0, $sp, 0x7c
/* AC7804 80050664 860D0020 */ lh $t5, 0x20($s0)
/* AC7808 80050668 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012
/* AC780C 8005066C C7AA007C */ lwc1 $f10, 0x7c($sp)
/* AC7810 80050670 AC2DD3A0 */ sw $t5, %lo(D_8011D3A0)($at)
/* AC7814 80050674 8603015E */ lh $v1, 0x15e($s0)
/* AC7818 80050678 2401000A */ li $at, 10
/* AC781C 8005067C 50600005 */ beql $v1, $zero, .L80050694
/* AC7820 80050680 26030024 */ addiu $v1, $s0, 0x24
/* AC7824 80050684 10610002 */ beq $v1, $at, .L80050690
/* AC7828 80050688 24010014 */ li $at, 20
/* AC782C 8005068C 14610014 */ bne $v1, $at, .L800506E0
.L80050690:
/* AC7830 80050690 26030024 */ addiu $v1, $s0, 0x24
.L80050694:
/* AC7834 80050694 E46A0000 */ swc1 $f10, ($v1)
/* AC7838 80050698 87AE0082 */ lh $t6, 0x82($sp)
/* AC783C 8005069C 3C188016 */ lui $t8, %hi(gGameInfo) # $t8, 0x8016
/* AC7840 800506A0 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC7844 800506A4 A46E0004 */ sh $t6, 4($v1)
/* AC7848 800506A8 87AF0080 */ lh $t7, 0x80($sp)
/* AC784C 800506AC 44813000 */ mtc1 $at, $f6
/* AC7850 800506B0 A46F0006 */ sh $t7, 6($v1)
/* AC7854 800506B4 8F18FA90 */ lw $t8, %lo(gGameInfo)($t8)
/* AC7858 800506B8 871901C2 */ lh $t9, 0x1c2($t8)
/* AC785C 800506BC A4790008 */ sh $t9, 8($v1)
/* AC7860 800506C0 C6040008 */ lwc1 $f4, 8($s0)
/* AC7864 800506C4 860A015E */ lh $t2, 0x15e($s0)
/* AC7868 800506C8 C6080008 */ lwc1 $f8, 8($s0)
/* AC786C 800506CC E60400DC */ swc1 $f4, 0xdc($s0)
/* AC7870 800506D0 254C0001 */ addiu $t4, $t2, 1
/* AC7874 800506D4 A60C015E */ sh $t4, 0x15e($s0)
/* AC7878 800506D8 E60600C0 */ swc1 $f6, 0xc0($s0)
/* AC787C 800506DC E60800DC */ swc1 $f8, 0xdc($s0)
.L800506E0:
/* AC7880 800506E0 26030024 */ addiu $v1, $s0, 0x24
/* AC7884 800506E4 84640008 */ lh $a0, 8($v1)
/* AC7888 800506E8 C4720000 */ lwc1 $f18, ($v1)
/* AC788C 800506EC 84650004 */ lh $a1, 4($v1)
/* AC7890 800506F0 1080009D */ beqz $a0, .L80050968
/* AC7894 800506F4 84680006 */ lh $t0, 6($v1)
/* AC7898 800506F8 44842000 */ mtc1 $a0, $f4
/* AC789C 800506FC 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC78A0 80050700 44815000 */ mtc1 $at, $f10
/* AC78A4 80050704 468021A0 */ cvt.s.w $f6, $f4
/* AC78A8 80050708 C6220000 */ lwc1 $f2, ($s1)
/* AC78AC 8005070C C7A80098 */ lwc1 $f8, 0x98($sp)
/* AC78B0 80050710 C62C0004 */ lwc1 $f12, 4($s1)
/* AC78B4 80050714 C62E0008 */ lwc1 $f14, 8($s1)
/* AC78B8 80050718 46024101 */ sub.s $f4, $f8, $f2
/* AC78BC 8005071C 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016
/* AC78C0 80050720 3C073F80 */ li $a3, 0x3F800000 # 0.000000
/* AC78C4 80050724 46065003 */ div.s $f0, $f10, $f6
/* AC78C8 80050728 46002282 */ mul.s $f10, $f4, $f0
/* AC78CC 8005072C 460A1180 */ add.s $f6, $f2, $f10
/* AC78D0 80050730 E6260000 */ swc1 $f6, ($s1)
/* AC78D4 80050734 C7A8009C */ lwc1 $f8, 0x9c($sp)
/* AC78D8 80050738 460C4101 */ sub.s $f4, $f8, $f12
/* AC78DC 8005073C 46002282 */ mul.s $f10, $f4, $f0
/* AC78E0 80050740 460A6180 */ add.s $f6, $f12, $f10
/* AC78E4 80050744 E6260004 */ swc1 $f6, 4($s1)
/* AC78E8 80050748 C7A800A0 */ lwc1 $f8, 0xa0($sp)
/* AC78EC 8005074C 460E4101 */ sub.s $f4, $f8, $f14
/* AC78F0 80050750 44814000 */ mtc1 $at, $f8
/* AC78F4 80050754 3C018014 */ lui $at, %hi(D_8013A1A4)
/* AC78F8 80050758 46002282 */ mul.s $f10, $f4, $f0
/* AC78FC 8005075C 460A7180 */ add.s $f6, $f14, $f10
/* AC7900 80050760 E6260008 */ swc1 $f6, 8($s1)
/* AC7904 80050764 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0)
/* AC7908 80050768 87AD008A */ lh $t5, 0x8a($sp)
/* AC790C 8005076C C7A60084 */ lwc1 $f6, 0x84($sp)
/* AC7910 80050770 844B01C2 */ lh $t3, 0x1c2($v0)
/* AC7914 80050774 00AD7023 */ subu $t6, $a1, $t5
/* AC7918 80050778 000E7C00 */ sll $t7, $t6, 0x10
/* AC791C 8005077C 448B2000 */ mtc1 $t3, $f4
/* AC7920 80050780 000FC403 */ sra $t8, $t7, 0x10
/* AC7924 80050784 87AA0088 */ lh $t2, 0x88($sp)
/* AC7928 80050788 468022A0 */ cvt.s.w $f10, $f4
/* AC792C 8005078C C7AE007C */ lwc1 $f14, 0x7c($sp)
/* AC7930 80050790 010A6023 */ subu $t4, $t0, $t2
/* AC7934 80050794 000C5C00 */ sll $t3, $t4, 0x10
/* AC7938 80050798 000B6C03 */ sra $t5, $t3, 0x10
/* AC793C 8005079C 46069101 */ sub.s $f4, $f18, $f6
/* AC7940 800507A0 460A4003 */ div.s $f0, $f8, $f10
/* AC7944 800507A4 44984000 */ mtc1 $t8, $f8
/* AC7948 800507A8 00000000 */ nop
/* AC794C 800507AC 468042A0 */ cvt.s.w $f10, $f8
/* AC7950 800507B0 46002402 */ mul.s $f16, $f4, $f0
/* AC7954 800507B4 00000000 */ nop
/* AC7958 800507B8 46005102 */ mul.s $f4, $f10, $f0
/* AC795C 800507BC 448D5000 */ mtc1 $t5, $f10
/* AC7960 800507C0 4600220D */ trunc.w.s $f8, $f4
/* AC7964 800507C4 46805120 */ cvt.s.w $f4, $f10
/* AC7968 800507C8 44094000 */ mfc1 $t1, $f8
/* AC796C 800507CC 00000000 */ nop
/* AC7970 800507D0 00094C00 */ sll $t1, $t1, 0x10
/* AC7974 800507D4 00094C03 */ sra $t1, $t1, 0x10
/* AC7978 800507D8 46002202 */ mul.s $f8, $f4, $f0
/* AC797C 800507DC 4600428D */ trunc.w.s $f10, $f8
/* AC7980 800507E0 440F5000 */ mfc1 $t7, $f10
/* AC7984 800507E4 00000000 */ nop
/* AC7988 800507E8 A7AF0050 */ sh $t7, 0x50($sp)
/* AC798C 800507EC 84780008 */ lh $t8, 8($v1)
/* AC7990 800507F0 845901CC */ lh $t9, 0x1cc($v0)
/* AC7994 800507F4 A7A90052 */ sh $t1, 0x52($sp)
/* AC7998 800507F8 44982000 */ mtc1 $t8, $f4
/* AC799C 800507FC AFA3002C */ sw $v1, 0x2c($sp)
/* AC79A0 80050800 46802220 */ cvt.s.w $f8, $f4
/* AC79A4 80050804 44992000 */ mtc1 $t9, $f4
/* AC79A8 80050808 46104282 */ mul.s $f10, $f8, $f16
/* AC79AC 8005080C 46802220 */ cvt.s.w $f8, $f4
/* AC79B0 80050810 46065300 */ add.s $f12, $f10, $f6
/* AC79B4 80050814 C42AA1A4 */ lwc1 $f10, %lo(D_8013A1A4)($at)
/* AC79B8 80050818 460A4182 */ mul.s $f6, $f8, $f10
/* AC79BC 8005081C 44063000 */ mfc1 $a2, $f6
/* AC79C0 80050820 0C010E27 */ jal func_8004389C
/* AC79C4 80050824 00000000 */ nop
/* AC79C8 80050828 3C0D8016 */ lui $t5, %hi(gGameInfo) # $t5, 0x8016
/* AC79CC 8005082C 8DADFA90 */ lw $t5, %lo(gGameInfo)($t5)
/* AC79D0 80050830 E7A0007C */ swc1 $f0, 0x7c($sp)
/* AC79D4 80050834 8FA3002C */ lw $v1, 0x2c($sp)
/* AC79D8 80050838 85AE01CC */ lh $t6, 0x1cc($t5)
/* AC79DC 8005083C 87A90052 */ lh $t1, 0x52($sp)
/* AC79E0 80050840 846C0008 */ lh $t4, 8($v1)
/* AC79E4 80050844 448E2000 */ mtc1 $t6, $f4
/* AC79E8 80050848 3C018014 */ lui $at, %hi(D_8013A1A8)
/* AC79EC 8005084C 012C0019 */ multu $t1, $t4
/* AC79F0 80050850 46802220 */ cvt.s.w $f8, $f4
/* AC79F4 80050854 C42AA1A8 */ lwc1 $f10, %lo(D_8013A1A8)($at)
/* AC79F8 80050858 87AA008A */ lh $t2, 0x8a($sp)
/* AC79FC 8005085C 87A50082 */ lh $a1, 0x82($sp)
/* AC7A00 80050860 2407000A */ li $a3, 10
/* AC7A04 80050864 460A4182 */ mul.s $f6, $f8, $f10
/* AC7A08 80050868 00005812 */ mflo $t3
/* AC7A0C 8005086C 014B2021 */ addu $a0, $t2, $t3
/* AC7A10 80050870 00042400 */ sll $a0, $a0, 0x10
/* AC7A14 80050874 00042403 */ sra $a0, $a0, 0x10
/* AC7A18 80050878 44063000 */ mfc1 $a2, $f6
/* AC7A1C 8005087C 0C010E47 */ jal func_8004391C
/* AC7A20 80050880 00000000 */ nop
/* AC7A24 80050884 3C0A8016 */ lui $t2, %hi(gGameInfo) # $t2, 0x8016
/* AC7A28 80050888 8D4AFA90 */ lw $t2, %lo(gGameInfo)($t2)
/* AC7A2C 8005088C A7A20082 */ sh $v0, 0x82($sp)
/* AC7A30 80050890 8FA3002C */ lw $v1, 0x2c($sp)
/* AC7A34 80050894 854B01CC */ lh $t3, 0x1cc($t2)
/* AC7A38 80050898 87AF0050 */ lh $t7, 0x50($sp)
/* AC7A3C 8005089C 84780008 */ lh $t8, 8($v1)
/* AC7A40 800508A0 448B2000 */ mtc1 $t3, $f4
/* AC7A44 800508A4 3C018014 */ lui $at, %hi(D_8013A1AC)
/* AC7A48 800508A8 01F80019 */ multu $t7, $t8
/* AC7A4C 800508AC 46802220 */ cvt.s.w $f8, $f4
/* AC7A50 800508B0 C42AA1AC */ lwc1 $f10, %lo(D_8013A1AC)($at)
/* AC7A54 800508B4 87AC0088 */ lh $t4, 0x88($sp)
/* AC7A58 800508B8 87A50080 */ lh $a1, 0x80($sp)
/* AC7A5C 800508BC 2407000A */ li $a3, 10
/* AC7A60 800508C0 460A4182 */ mul.s $f6, $f8, $f10
/* AC7A64 800508C4 0000C812 */ mflo $t9
/* AC7A68 800508C8 01992021 */ addu $a0, $t4, $t9
/* AC7A6C 800508CC 00042400 */ sll $a0, $a0, 0x10
/* AC7A70 800508D0 00042403 */ sra $a0, $a0, 0x10
/* AC7A74 800508D4 44063000 */ mfc1 $a2, $f6
/* AC7A78 800508D8 0C010E47 */ jal func_8004391C
/* AC7A7C 800508DC 00000000 */ nop
/* AC7A80 800508E0 26040074 */ addiu $a0, $s0, 0x74
/* AC7A84 800508E4 A7A20080 */ sh $v0, 0x80($sp)
/* AC7A88 800508E8 AFA40030 */ sw $a0, 0x30($sp)
/* AC7A8C 800508EC 02202825 */ move $a1, $s1
/* AC7A90 800508F0 0C010F0A */ jal func_80043C28
/* AC7A94 800508F4 27A6007C */ addiu $a2, $sp, 0x7c
/* AC7A98 800508F8 8FA40030 */ lw $a0, 0x30($sp)
/* AC7A9C 800508FC 8FA60038 */ lw $a2, 0x38($sp)
/* AC7AA0 80050900 8FA3002C */ lw $v1, 0x2c($sp)
/* AC7AA4 80050904 8C8E0000 */ lw $t6, ($a0)
/* AC7AA8 80050908 3C190001 */ lui $t9, 1
/* AC7AAC 8005090C 02202825 */ move $a1, $s1
/* AC7AB0 80050910 ACCE0000 */ sw $t6, ($a2)
/* AC7AB4 80050914 8C8D0004 */ lw $t5, 4($a0)
/* AC7AB8 80050918 ACCD0004 */ sw $t5, 4($a2)
/* AC7ABC 8005091C 8C8E0008 */ lw $t6, 8($a0)
/* AC7AC0 80050920 02002025 */ move $a0, $s0
/* AC7AC4 80050924 ACCE0008 */ sw $t6, 8($a2)
/* AC7AC8 80050928 846F0008 */ lh $t7, 8($v1)
/* AC7ACC 8005092C 25F8FFFF */ addiu $t8, $t7, -1
/* AC7AD0 80050930 A4780008 */ sh $t8, 8($v1)
/* AC7AD4 80050934 8E0C008C */ lw $t4, 0x8c($s0)
/* AC7AD8 80050938 032CC821 */ addu $t9, $t9, $t4
/* AC7ADC 8005093C 93390A39 */ lbu $t9, 0xa39($t9)
/* AC7AE0 80050940 17200005 */ bnez $t9, .L80050958
/* AC7AE4 80050944 00000000 */ nop
/* AC7AE8 80050948 0C010FCD */ jal func_80043F34
/* AC7AEC 8005094C 02002025 */ move $a0, $s0
/* AC7AF0 80050950 10000059 */ b .L80050AB8
/* AC7AF4 80050954 26020094 */ addiu $v0, $s0, 0x94
.L80050958:
/* AC7AF8 80050958 0C0110D0 */ jal func_80044340
/* AC7AFC 8005095C 02202825 */ move $a1, $s1
/* AC7B00 80050960 10000055 */ b .L80050AB8
/* AC7B04 80050964 26020094 */ addiu $v0, $s0, 0x94
.L80050968:
/* AC7B08 80050968 87A4006C */ lh $a0, 0x6c($sp)
/* AC7B0C 8005096C 00042023 */ negu $a0, $a0
/* AC7B10 80050970 00042400 */ sll $a0, $a0, 0x10
/* AC7B14 80050974 0C01DE1C */ jal Math_Sins
/* AC7B18 80050978 00042403 */ sra $a0, $a0, 0x10
/* AC7B1C 8005097C 87A4006C */ lh $a0, 0x6c($sp)
/* AC7B20 80050980 E7A00058 */ swc1 $f0, 0x58($sp)
/* AC7B24 80050984 00042023 */ negu $a0, $a0
/* AC7B28 80050988 00042400 */ sll $a0, $a0, 0x10
/* AC7B2C 8005098C 0C01DE0D */ jal Math_Coss
/* AC7B30 80050990 00042403 */ sra $a0, $a0, 0x10
/* AC7B34 80050994 C6040010 */ lwc1 $f4, 0x10($s0)
/* AC7B38 80050998 C7B00058 */ lwc1 $f16, 0x58($sp)
/* AC7B3C 8005099C 87A4006E */ lh $a0, 0x6e($sp)
/* AC7B40 800509A0 E7A40098 */ swc1 $f4, 0x98($sp)
/* AC7B44 800509A4 C6080014 */ lwc1 $f8, 0x14($s0)
/* AC7B48 800509A8 C6060018 */ lwc1 $f6, 0x18($s0)
/* AC7B4C 800509AC 24848001 */ addiu $a0, $a0, -0x7fff
/* AC7B50 800509B0 46004282 */ mul.s $f10, $f8, $f0
/* AC7B54 800509B4 00042400 */ sll $a0, $a0, 0x10
/* AC7B58 800509B8 00042403 */ sra $a0, $a0, 0x10
/* AC7B5C 800509BC 46103102 */ mul.s $f4, $f6, $f16
/* AC7B60 800509C0 46045201 */ sub.s $f8, $f10, $f4
/* AC7B64 800509C4 E7A8009C */ swc1 $f8, 0x9c($sp)
/* AC7B68 800509C8 C6060014 */ lwc1 $f6, 0x14($s0)
/* AC7B6C 800509CC C6040018 */ lwc1 $f4, 0x18($s0)
/* AC7B70 800509D0 46103282 */ mul.s $f10, $f6, $f16
/* AC7B74 800509D4 00000000 */ nop
/* AC7B78 800509D8 46002202 */ mul.s $f8, $f4, $f0
/* AC7B7C 800509DC 46085180 */ add.s $f6, $f10, $f8
/* AC7B80 800509E0 0C01DE1C */ jal Math_Sins
/* AC7B84 800509E4 E7A600A0 */ swc1 $f6, 0xa0($sp)
/* AC7B88 800509E8 87A4006E */ lh $a0, 0x6e($sp)
/* AC7B8C 800509EC E7A00058 */ swc1 $f0, 0x58($sp)
/* AC7B90 800509F0 24848001 */ addiu $a0, $a0, -0x7fff
/* AC7B94 800509F4 00042400 */ sll $a0, $a0, 0x10
/* AC7B98 800509F8 0C01DE0D */ jal Math_Coss
/* AC7B9C 800509FC 00042403 */ sra $a0, $a0, 0x10
/* AC7BA0 80050A00 C7B00058 */ lwc1 $f16, 0x58($sp)
/* AC7BA4 80050A04 C7A400A0 */ lwc1 $f4, 0xa0($sp)
/* AC7BA8 80050A08 C7A80098 */ lwc1 $f8, 0x98($sp)
/* AC7BAC 80050A0C 26040074 */ addiu $a0, $s0, 0x74
/* AC7BB0 80050A10 46102282 */ mul.s $f10, $f4, $f16
/* AC7BB4 80050A14 02202825 */ move $a1, $s1
/* AC7BB8 80050A18 27A6007C */ addiu $a2, $sp, 0x7c
/* AC7BBC 80050A1C 46004182 */ mul.s $f6, $f8, $f0
/* AC7BC0 80050A20 46065100 */ add.s $f4, $f10, $f6
/* AC7BC4 80050A24 E6040010 */ swc1 $f4, 0x10($s0)
/* AC7BC8 80050A28 C7A8009C */ lwc1 $f8, 0x9c($sp)
/* AC7BCC 80050A2C E6080014 */ swc1 $f8, 0x14($s0)
/* AC7BD0 80050A30 C7AA00A0 */ lwc1 $f10, 0xa0($sp)
/* AC7BD4 80050A34 C7A40098 */ lwc1 $f4, 0x98($sp)
/* AC7BD8 80050A38 46005182 */ mul.s $f6, $f10, $f0
/* AC7BDC 80050A3C 00000000 */ nop
/* AC7BE0 80050A40 46102202 */ mul.s $f8, $f4, $f16
/* AC7BE4 80050A44 C6040010 */ lwc1 $f4, 0x10($s0)
/* AC7BE8 80050A48 46083281 */ sub.s $f10, $f6, $f8
/* AC7BEC 80050A4C E60A0018 */ swc1 $f10, 0x18($s0)
/* AC7BF0 80050A50 C7A60060 */ lwc1 $f6, 0x60($sp)
/* AC7BF4 80050A54 46062200 */ add.s $f8, $f4, $f6
/* AC7BF8 80050A58 E6280000 */ swc1 $f8, ($s1)
/* AC7BFC 80050A5C C7A40064 */ lwc1 $f4, 0x64($sp)
/* AC7C00 80050A60 C60A0014 */ lwc1 $f10, 0x14($s0)
/* AC7C04 80050A64 46045180 */ add.s $f6, $f10, $f4
/* AC7C08 80050A68 E6260004 */ swc1 $f6, 4($s1)
/* AC7C0C 80050A6C C7AA0068 */ lwc1 $f10, 0x68($sp)
/* AC7C10 80050A70 C6080018 */ lwc1 $f8, 0x18($s0)
/* AC7C14 80050A74 460A4100 */ add.s $f4, $f8, $f10
/* AC7C18 80050A78 E6240008 */ swc1 $f4, 8($s1)
/* AC7C1C 80050A7C 87AA006E */ lh $t2, 0x6e($sp)
/* AC7C20 80050A80 C6060008 */ lwc1 $f6, 8($s0)
/* AC7C24 80050A84 87AD006C */ lh $t5, 0x6c($sp)
/* AC7C28 80050A88 254B8001 */ addiu $t3, $t2, -0x7fff
/* AC7C2C 80050A8C A7AB0082 */ sh $t3, 0x82($sp)
/* AC7C30 80050A90 E7A6007C */ swc1 $f6, 0x7c($sp)
/* AC7C34 80050A94 0C010F0A */ jal func_80043C28
/* AC7C38 80050A98 A7AD0080 */ sh $t5, 0x80($sp)
/* AC7C3C 80050A9C C6080004 */ lwc1 $f8, 4($s0)
/* AC7C40 80050AA0 8FA40038 */ lw $a0, 0x38($sp)
/* AC7C44 80050AA4 02202825 */ move $a1, $s1
/* AC7C48 80050AA8 27A6007C */ addiu $a2, $sp, 0x7c
/* AC7C4C 80050AAC 0C010F0A */ jal func_80043C28
/* AC7C50 80050AB0 E7A8007C */ swc1 $f8, 0x7c($sp)
/* AC7C54 80050AB4 26020094 */ addiu $v0, $s0, 0x94
.L80050AB8:
/* AC7C58 80050AB8 C4440000 */ lwc1 $f4, ($v0)
/* AC7C5C 80050ABC C60A0050 */ lwc1 $f10, 0x50($s0)
/* AC7C60 80050AC0 C6080054 */ lwc1 $f8, 0x54($s0)
/* AC7C64 80050AC4 C60C001C */ lwc1 $f12, 0x1c($s0)
/* AC7C68 80050AC8 46045181 */ sub.s $f6, $f10, $f4
/* AC7C6C 80050ACC C60E00FC */ lwc1 $f14, 0xfc($s0)
/* AC7C70 80050AD0 3C063E80 */ lui $a2, 0x3e80
/* AC7C74 80050AD4 3C073F80 */ li $a3, 0x3F800000 # 0.000000
/* AC7C78 80050AD8 E60600E4 */ swc1 $f6, 0xe4($s0)
/* AC7C7C 80050ADC C44A0004 */ lwc1 $f10, 4($v0)
/* AC7C80 80050AE0 C6060058 */ lwc1 $f6, 0x58($s0)
/* AC7C84 80050AE4 460A4101 */ sub.s $f4, $f8, $f10
/* AC7C88 80050AE8 E60400E8 */ swc1 $f4, 0xe8($s0)
/* AC7C8C 80050AEC C4480008 */ lwc1 $f8, 8($v0)
/* AC7C90 80050AF0 46083281 */ sub.s $f10, $f6, $f8
/* AC7C94 80050AF4 0C010E27 */ jal func_8004389C
/* AC7C98 80050AF8 E60A00EC */ swc1 $f10, 0xec($s0)
/* AC7C9C 80050AFC 44802000 */ mtc1 $zero, $f4
/* AC7CA0 80050B00 E60000FC */ swc1 $f0, 0xfc($s0)
/* AC7CA4 80050B04 A600015A */ sh $zero, 0x15a($s0)
/* AC7CA8 80050B08 24020001 */ li $v0, 1
/* AC7CAC 80050B0C E6040100 */ swc1 $f4, 0x100($s0)
.L80050B10:
/* AC7CB0 80050B10 8FBF001C */ lw $ra, 0x1c($sp)
/* AC7CB4 80050B14 8FB00014 */ lw $s0, 0x14($sp)
/* AC7CB8 80050B18 8FB10018 */ lw $s1, 0x18($sp)
/* AC7CBC 80050B1C 03E00008 */ jr $ra
/* AC7CC0 80050B20 27BD00B0 */ addiu $sp, $sp, 0xb0

View file

@ -0,0 +1,439 @@
.late_rodata
glabel D_8013A1B0
.float 0.416667
.text
glabel func_80050B24
/* AC7CC4 80050B24 27BDFF48 */ addiu $sp, $sp, -0xb8
/* AC7CC8 80050B28 AFBF0024 */ sw $ra, 0x24($sp)
/* AC7CCC 80050B2C AFB30020 */ sw $s3, 0x20($sp)
/* AC7CD0 80050B30 AFB2001C */ sw $s2, 0x1c($sp)
/* AC7CD4 80050B34 AFB10018 */ sw $s1, 0x18($sp)
/* AC7CD8 80050B38 AFB00014 */ sw $s0, 0x14($sp)
/* AC7CDC 80050B3C 8482015E */ lh $v0, 0x15e($a0)
/* AC7CE0 80050B40 00808825 */ move $s1, $a0
/* AC7CE4 80050B44 2401000A */ li $at, 10
/* AC7CE8 80050B48 5040000A */ beql $v0, $zero, .L80050B74
/* AC7CEC 80050B4C 862F0142 */ lh $t7, 0x142($s1)
/* AC7CF0 80050B50 10410007 */ beq $v0, $at, .L80050B70
/* AC7CF4 80050B54 24010014 */ li $at, 20
/* AC7CF8 80050B58 10410005 */ beq $v0, $at, .L80050B70
/* AC7CFC 80050B5C 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016
/* AC7D00 80050B60 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
/* AC7D04 80050B64 85C20314 */ lh $v0, 0x314($t6)
/* AC7D08 80050B68 1040000F */ beqz $v0, .L80050BA8
/* AC7D0C 80050B6C 00000000 */ nop
.L80050B70:
/* AC7D10 80050B70 862F0142 */ lh $t7, 0x142($s1)
.L80050B74:
/* AC7D14 80050B74 3C198012 */ lui $t9, %hi(D_8011D068)
/* AC7D18 80050B78 86280144 */ lh $t0, 0x144($s1)
/* AC7D1C 80050B7C 000FC0C0 */ sll $t8, $t7, 3
/* AC7D20 80050B80 0338C821 */ addu $t9, $t9, $t8
/* AC7D24 80050B84 8F39D068 */ lw $t9, %lo(D_8011D068)($t9)
/* AC7D28 80050B88 000848C0 */ sll $t1, $t0, 3
/* AC7D2C 80050B8C 3C0C8016 */ lui $t4, %hi(gGameInfo) # $t4, 0x8016
/* AC7D30 80050B90 03295021 */ addu $t2, $t9, $t1
/* AC7D34 80050B94 8D430004 */ lw $v1, 4($t2)
/* AC7D38 80050B98 846B0000 */ lh $t3, ($v1)
/* AC7D3C 80050B9C A62B0000 */ sh $t3, ($s1)
/* AC7D40 80050BA0 8D8CFA90 */ lw $t4, %lo(gGameInfo)($t4)
/* AC7D44 80050BA4 85820314 */ lh $v0, 0x314($t4)
.L80050BA8:
/* AC7D48 80050BA8 50400004 */ beql $v0, $zero, .L80050BBC
/* AC7D4C 80050BAC 8E23008C */ lw $v1, 0x8c($s1)
/* AC7D50 80050BB0 0C011495 */ jal func_80045254
/* AC7D54 80050BB4 02202025 */ move $a0, $s1
/* AC7D58 80050BB8 8E23008C */ lw $v1, 0x8c($s1)
.L80050BBC:
/* AC7D5C 80050BBC 27A4006C */ addiu $a0, $sp, 0x6c
/* AC7D60 80050BC0 8C6D01DC */ lw $t5, 0x1dc($v1)
/* AC7D64 80050BC4 15A00008 */ bnez $t5, .L80050BE8
/* AC7D68 80050BC8 00000000 */ nop
/* AC7D6C 80050BCC 862E0164 */ lh $t6, 0x164($s1)
/* AC7D70 80050BD0 24020001 */ li $v0, 1
/* AC7D74 80050BD4 35CF0050 */ ori $t7, $t6, 0x50
/* AC7D78 80050BD8 AC6F01DC */ sw $t7, 0x1dc($v1)
/* AC7D7C 80050BDC C62400D8 */ lwc1 $f4, 0xd8($s1)
/* AC7D80 80050BE0 10000168 */ b .L80051184
/* AC7D84 80050BE4 E6240028 */ swc1 $f4, 0x28($s1)
.L80050BE8:
/* AC7D88 80050BE8 0C00BBD1 */ jal func_8002EF44
/* AC7D8C 80050BEC 8E250090 */ lw $a1, 0x90($s1)
/* AC7D90 80050BF0 26320050 */ addiu $s2, $s1, 0x50
/* AC7D94 80050BF4 2633005C */ addiu $s3, $s1, 0x5c
/* AC7D98 80050BF8 02603025 */ move $a2, $s3
/* AC7D9C 80050BFC 02402825 */ move $a1, $s2
/* AC7DA0 80050C00 0C01F124 */ jal func_8007C490
/* AC7DA4 80050C04 27A4005C */ addiu $a0, $sp, 0x5c
/* AC7DA8 80050C08 86380000 */ lh $t8, ($s1)
/* AC7DAC 80050C0C 3C018012 */ lui $at, %hi(D_8011D3A0)
/* AC7DB0 80050C10 02202025 */ move $a0, $s1
/* AC7DB4 80050C14 AC38D3A0 */ sw $t8, %lo(D_8011D3A0)($at)
/* AC7DB8 80050C18 8628015E */ lh $t0, 0x15e($s1)
/* AC7DBC 80050C1C 55000056 */ bnezl $t0, .L80050D78
/* AC7DC0 80050C20 26300004 */ addiu $s0, $s1, 4
/* AC7DC4 80050C24 0C011207 */ jal func_8004481C
/* AC7DC8 80050C28 27A500AA */ addiu $a1, $sp, 0xaa
/* AC7DCC 80050C2C 26300004 */ addiu $s0, $s1, 4
/* AC7DD0 80050C30 AFA200A4 */ sw $v0, 0xa4($sp)
/* AC7DD4 80050C34 02002025 */ move $a0, $s0
/* AC7DD8 80050C38 0C010EF1 */ jal func_80043BC4
/* AC7DDC 80050C3C 24450006 */ addiu $a1, $v0, 6
/* AC7DE0 80050C40 97B900AA */ lhu $t9, 0xaa($sp)
/* AC7DE4 80050C44 8FAA00A4 */ lw $t2, 0xa4($sp)
/* AC7DE8 80050C48 27A40098 */ addiu $a0, $sp, 0x98
/* AC7DEC 80050C4C 00194880 */ sll $t1, $t9, 2
/* AC7DF0 80050C50 01394823 */ subu $t1, $t1, $t9
/* AC7DF4 80050C54 00094840 */ sll $t1, $t1, 1
/* AC7DF8 80050C58 012A2821 */ addu $a1, $t1, $t2
/* AC7DFC 80050C5C 0C010EF1 */ jal func_80043BC4
/* AC7E00 80050C60 24A5FFF4 */ addiu $a1, $a1, -0xc
/* AC7E04 80050C64 3C014120 */ li $at, 0x41200000 # 0.000000
/* AC7E08 80050C68 44813000 */ mtc1 $at, $f6
/* AC7E0C 80050C6C 240B238C */ li $t3, 9100
/* AC7E10 80050C70 A7AB0068 */ sh $t3, 0x68($sp)
/* AC7E14 80050C74 27A40098 */ addiu $a0, $sp, 0x98
/* AC7E18 80050C78 02002825 */ move $a1, $s0
/* AC7E1C 80050C7C 0C01129D */ jal func_80044A74
/* AC7E20 80050C80 E7A60064 */ swc1 $f6, 0x64($sp)
/* AC7E24 80050C84 26240094 */ addiu $a0, $s1, 0x94
/* AC7E28 80050C88 A7A2006A */ sh $v0, 0x6a($sp)
/* AC7E2C 80050C8C AFA40034 */ sw $a0, 0x34($sp)
/* AC7E30 80050C90 0C01EFE4 */ jal func_8007BF90
/* AC7E34 80050C94 02002825 */ move $a1, $s0
/* AC7E38 80050C98 8FA40034 */ lw $a0, 0x34($sp)
/* AC7E3C 80050C9C 27A50098 */ addiu $a1, $sp, 0x98
/* AC7E40 80050CA0 0C01EFE4 */ jal func_8007BF90
/* AC7E44 80050CA4 E7A00088 */ swc1 $f0, 0x88($sp)
/* AC7E48 80050CA8 C7A20088 */ lwc1 $f2, 0x88($sp)
/* AC7E4C 80050CAC C7AA0098 */ lwc1 $f10, 0x98($sp)
/* AC7E50 80050CB0 2419000A */ li $t9, 10
/* AC7E54 80050CB4 4602003C */ c.lt.s $f0, $f2
/* AC7E58 80050CB8 00000000 */ nop
/* AC7E5C 80050CBC 45020016 */ bc1fl .L80050D18
/* AC7E60 80050CC0 C6040000 */ lwc1 $f4, ($s0)
/* AC7E64 80050CC4 C6080000 */ lwc1 $f8, ($s0)
/* AC7E68 80050CC8 C7AA0098 */ lwc1 $f10, 0x98($sp)
/* AC7E6C 80050CCC C6060004 */ lwc1 $f6, 4($s0)
/* AC7E70 80050CD0 27AC0098 */ addiu $t4, $sp, 0x98
/* AC7E74 80050CD4 460A4101 */ sub.s $f4, $f8, $f10
/* AC7E78 80050CD8 E604000C */ swc1 $f4, 0xc($s0)
/* AC7E7C 80050CDC C7A8009C */ lwc1 $f8, 0x9c($sp)
/* AC7E80 80050CE0 C6040008 */ lwc1 $f4, 8($s0)
/* AC7E84 80050CE4 46083281 */ sub.s $f10, $f6, $f8
/* AC7E88 80050CE8 E60A0010 */ swc1 $f10, 0x10($s0)
/* AC7E8C 80050CEC C7A600A0 */ lwc1 $f6, 0xa0($sp)
/* AC7E90 80050CF0 46062201 */ sub.s $f8, $f4, $f6
/* AC7E94 80050CF4 E6080014 */ swc1 $f8, 0x14($s0)
/* AC7E98 80050CF8 8D8E0000 */ lw $t6, ($t4)
/* AC7E9C 80050CFC AE0E0000 */ sw $t6, ($s0)
/* AC7EA0 80050D00 8D8D0004 */ lw $t5, 4($t4)
/* AC7EA4 80050D04 AE0D0004 */ sw $t5, 4($s0)
/* AC7EA8 80050D08 8D8E0008 */ lw $t6, 8($t4)
/* AC7EAC 80050D0C 1000000F */ b .L80050D4C
/* AC7EB0 80050D10 AE0E0008 */ sw $t6, 8($s0)
/* AC7EB4 80050D14 C6040000 */ lwc1 $f4, ($s0)
.L80050D18:
/* AC7EB8 80050D18 46045181 */ sub.s $f6, $f10, $f4
/* AC7EBC 80050D1C C60A0004 */ lwc1 $f10, 4($s0)
/* AC7EC0 80050D20 E606000C */ swc1 $f6, 0xc($s0)
/* AC7EC4 80050D24 C7A8009C */ lwc1 $f8, 0x9c($sp)
/* AC7EC8 80050D28 460A4101 */ sub.s $f4, $f8, $f10
/* AC7ECC 80050D2C C6080008 */ lwc1 $f8, 8($s0)
/* AC7ED0 80050D30 E6040010 */ swc1 $f4, 0x10($s0)
/* AC7ED4 80050D34 C7A600A0 */ lwc1 $f6, 0xa0($sp)
/* AC7ED8 80050D38 46083281 */ sub.s $f10, $f6, $f8
/* AC7EDC 80050D3C E60A0014 */ swc1 $f10, 0x14($s0)
/* AC7EE0 80050D40 87AF006A */ lh $t7, 0x6a($sp)
/* AC7EE4 80050D44 25F88001 */ addiu $t8, $t7, -0x7fff
/* AC7EE8 80050D48 A7B8006A */ sh $t8, 0x6a($sp)
.L80050D4C:
/* AC7EEC 80050D4C 87A8006A */ lh $t0, 0x6a($sp)
/* AC7EF0 80050D50 44802000 */ mtc1 $zero, $f4
/* AC7EF4 80050D54 A6190032 */ sh $t9, 0x32($s0)
/* AC7EF8 80050D58 A600002C */ sh $zero, 0x2c($s0)
/* AC7EFC 80050D5C A600002E */ sh $zero, 0x2e($s0)
/* AC7F00 80050D60 A6080030 */ sh $t0, 0x30($s0)
/* AC7F04 80050D64 E6040028 */ swc1 $f4, 0x28($s0)
/* AC7F08 80050D68 8629015E */ lh $t1, 0x15e($s1)
/* AC7F0C 80050D6C 252A0001 */ addiu $t2, $t1, 1
/* AC7F10 80050D70 A62A015E */ sh $t2, 0x15e($s1)
/* AC7F14 80050D74 26300004 */ addiu $s0, $s1, 4
.L80050D78:
/* AC7F18 80050D78 860B0032 */ lh $t3, 0x32($s0)
/* AC7F1C 80050D7C 240C238C */ li $t4, 9100
/* AC7F20 80050D80 27A4008C */ addiu $a0, $sp, 0x8c
/* AC7F24 80050D84 11600062 */ beqz $t3, .L80050F10
/* AC7F28 80050D88 3C013F00 */ lui $at, 0x3f00
/* AC7F2C 80050D8C 3C014120 */ li $at, 0x41200000 # 0.000000
/* AC7F30 80050D90 44813000 */ mtc1 $at, $f6
/* AC7F34 80050D94 A7AC0068 */ sh $t4, 0x68($sp)
/* AC7F38 80050D98 27A5006C */ addiu $a1, $sp, 0x6c
/* AC7F3C 80050D9C E7A60064 */ swc1 $f6, 0x64($sp)
/* AC7F40 80050DA0 860D0030 */ lh $t5, 0x30($s0)
/* AC7F44 80050DA4 27A60064 */ addiu $a2, $sp, 0x64
/* AC7F48 80050DA8 0C010F0A */ jal func_80043C28
/* AC7F4C 80050DAC A7AD006A */ sh $t5, 0x6a($sp)
/* AC7F50 80050DB0 860E0032 */ lh $t6, 0x32($s0)
/* AC7F54 80050DB4 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC7F58 80050DB8 44812000 */ mtc1 $at, $f4
/* AC7F5C 80050DBC 448E4000 */ mtc1 $t6, $f8
/* AC7F60 80050DC0 C6400000 */ lwc1 $f0, ($s2)
/* AC7F64 80050DC4 C7A6008C */ lwc1 $f6, 0x8c($sp)
/* AC7F68 80050DC8 468042A0 */ cvt.s.w $f10, $f8
/* AC7F6C 80050DCC C64C0004 */ lwc1 $f12, 4($s2)
/* AC7F70 80050DD0 C64E0008 */ lwc1 $f14, 8($s2)
/* AC7F74 80050DD4 26270074 */ addiu $a3, $s1, 0x74
/* AC7F78 80050DD8 00E02025 */ move $a0, $a3
/* AC7F7C 80050DDC 46003201 */ sub.s $f8, $f6, $f0
/* AC7F80 80050DE0 02402825 */ move $a1, $s2
/* AC7F84 80050DE4 27A6005C */ addiu $a2, $sp, 0x5c
/* AC7F88 80050DE8 46045080 */ add.s $f2, $f10, $f4
/* AC7F8C 80050DEC 46024283 */ div.s $f10, $f8, $f2
/* AC7F90 80050DF0 460A0100 */ add.s $f4, $f0, $f10
/* AC7F94 80050DF4 E6440000 */ swc1 $f4, ($s2)
/* AC7F98 80050DF8 C7A60090 */ lwc1 $f6, 0x90($sp)
/* AC7F9C 80050DFC 460C3201 */ sub.s $f8, $f6, $f12
/* AC7FA0 80050E00 46024283 */ div.s $f10, $f8, $f2
/* AC7FA4 80050E04 460A6100 */ add.s $f4, $f12, $f10
/* AC7FA8 80050E08 E6440004 */ swc1 $f4, 4($s2)
/* AC7FAC 80050E0C C7A60094 */ lwc1 $f6, 0x94($sp)
/* AC7FB0 80050E10 460E3201 */ sub.s $f8, $f6, $f14
/* AC7FB4 80050E14 46024283 */ div.s $f10, $f8, $f2
/* AC7FB8 80050E18 460A7100 */ add.s $f4, $f14, $f10
/* AC7FBC 80050E1C E6440008 */ swc1 $f4, 8($s2)
/* AC7FC0 80050E20 C7A6005C */ lwc1 $f6, 0x5c($sp)
/* AC7FC4 80050E24 87AF007A */ lh $t7, 0x7a($sp)
/* AC7FC8 80050E28 87A90062 */ lh $t1, 0x62($sp)
/* AC7FCC 80050E2C 46023203 */ div.s $f8, $f6, $f2
/* AC7FD0 80050E30 25F88001 */ addiu $t8, $t7, -0x7fff
/* AC7FD4 80050E34 00184400 */ sll $t0, $t8, 0x10
/* AC7FD8 80050E38 0008CC03 */ sra $t9, $t0, 0x10
/* AC7FDC 80050E3C 03295023 */ subu $t2, $t9, $t1
/* AC7FE0 80050E40 000A5C00 */ sll $t3, $t2, 0x10
/* AC7FE4 80050E44 000B6403 */ sra $t4, $t3, 0x10
/* AC7FE8 80050E48 87A80060 */ lh $t0, 0x60($sp)
/* AC7FEC 80050E4C 87B80078 */ lh $t8, 0x78($sp)
/* AC7FF0 80050E50 0308C823 */ subu $t9, $t8, $t0
/* AC7FF4 80050E54 00195400 */ sll $t2, $t9, 0x10
/* AC7FF8 80050E58 000A5C03 */ sra $t3, $t2, 0x10
/* AC7FFC 80050E5C 46083281 */ sub.s $f10, $f6, $f8
/* AC8000 80050E60 E7AA005C */ swc1 $f10, 0x5c($sp)
/* AC8004 80050E64 860D0032 */ lh $t5, 0x32($s0)
/* AC8008 80050E68 018D001A */ div $zero, $t4, $t5
/* AC800C 80050E6C 00007012 */ mflo $t6
/* AC8010 80050E70 012E7821 */ addu $t7, $t1, $t6
/* AC8014 80050E74 15A00002 */ bnez $t5, .L80050E80
/* AC8018 80050E78 00000000 */ nop
/* AC801C 80050E7C 0007000D */ break 7
.L80050E80:
/* AC8020 80050E80 2401FFFF */ li $at, -1
/* AC8024 80050E84 15A10004 */ bne $t5, $at, .L80050E98
/* AC8028 80050E88 3C018000 */ lui $at, 0x8000
/* AC802C 80050E8C 15810002 */ bne $t4, $at, .L80050E98
/* AC8030 80050E90 00000000 */ nop
/* AC8034 80050E94 0006000D */ break 6
.L80050E98:
/* AC8038 80050E98 A7AF0062 */ sh $t7, 0x62($sp)
/* AC803C 80050E9C 860C0032 */ lh $t4, 0x32($s0)
/* AC8040 80050EA0 AFA70034 */ sw $a3, 0x34($sp)
/* AC8044 80050EA4 016C001A */ div $zero, $t3, $t4
/* AC8048 80050EA8 00006812 */ mflo $t5
/* AC804C 80050EAC 010D4821 */ addu $t1, $t0, $t5
/* AC8050 80050EB0 15800002 */ bnez $t4, .L80050EBC
/* AC8054 80050EB4 00000000 */ nop
/* AC8058 80050EB8 0007000D */ break 7
.L80050EBC:
/* AC805C 80050EBC 2401FFFF */ li $at, -1
/* AC8060 80050EC0 15810004 */ bne $t4, $at, .L80050ED4
/* AC8064 80050EC4 3C018000 */ li $at, 0x80000000 # 0.000000
/* AC8068 80050EC8 15610002 */ bne $t3, $at, .L80050ED4
/* AC806C 80050ECC 00000000 */ nop
/* AC8070 80050ED0 0006000D */ break 6
.L80050ED4:
/* AC8074 80050ED4 A7A90060 */ sh $t1, 0x60($sp)
/* AC8078 80050ED8 0C010F0A */ jal func_80043C28
/* AC807C 80050EDC 00000000 */ nop
/* AC8080 80050EE0 8FA70034 */ lw $a3, 0x34($sp)
/* AC8084 80050EE4 00001025 */ move $v0, $zero
/* AC8088 80050EE8 8CEF0000 */ lw $t7, ($a3)
/* AC808C 80050EEC AE6F0000 */ sw $t7, ($s3)
/* AC8090 80050EF0 8CEE0004 */ lw $t6, 4($a3)
/* AC8094 80050EF4 AE6E0004 */ sw $t6, 4($s3)
/* AC8098 80050EF8 8CEF0008 */ lw $t7, 8($a3)
/* AC809C 80050EFC AE6F0008 */ sw $t7, 8($s3)
/* AC80A0 80050F00 86180032 */ lh $t8, 0x32($s0)
/* AC80A4 80050F04 2719FFFF */ addiu $t9, $t8, -1
/* AC80A8 80050F08 1000009E */ b .L80051184
/* AC80AC 80050F0C A6190032 */ sh $t9, 0x32($s0)
.L80050F10:
/* AC80B0 80050F10 C6040024 */ lwc1 $f4, 0x24($s0)
/* AC80B4 80050F14 44813000 */ mtc1 $at, $f6
/* AC80B8 80050F18 27A4006C */ addiu $a0, $sp, 0x6c
/* AC80BC 80050F1C 4606203C */ c.lt.s $f4, $f6
/* AC80C0 80050F20 00000000 */ nop
/* AC80C4 80050F24 45000003 */ bc1f .L80050F34
/* AC80C8 80050F28 00000000 */ nop
/* AC80CC 80050F2C 10000095 */ b .L80051184
/* AC80D0 80050F30 00001025 */ move $v0, $zero
.L80050F34:
/* AC80D4 80050F34 0C00BBD1 */ jal func_8002EF44
/* AC80D8 80050F38 8E250090 */ lw $a1, 0x90($s1)
/* AC80DC 80050F3C 26270074 */ addiu $a3, $s1, 0x74
/* AC80E0 80050F40 00E03025 */ move $a2, $a3
/* AC80E4 80050F44 AFA70034 */ sw $a3, 0x34($sp)
/* AC80E8 80050F48 02002025 */ move $a0, $s0
/* AC80EC 80050F4C 0C032AE5 */ jal Math3D_LineVsPos
/* AC80F0 80050F50 27A5006C */ addiu $a1, $sp, 0x6c
/* AC80F4 80050F54 8FA50034 */ lw $a1, 0x34($sp)
/* AC80F8 80050F58 C60A000C */ lwc1 $f10, 0xc($s0)
/* AC80FC 80050F5C 3C0140A0 */ li $at, 0x40A00000 # 0.000000
/* AC8100 80050F60 C4A80000 */ lwc1 $f8, ($a1)
/* AC8104 80050F64 2408238C */ li $t0, 9100
/* AC8108 80050F68 27A40098 */ addiu $a0, $sp, 0x98
/* AC810C 80050F6C 460A4100 */ add.s $f4, $f8, $f10
/* AC8110 80050F70 27A60064 */ addiu $a2, $sp, 0x64
/* AC8114 80050F74 E6440000 */ swc1 $f4, ($s2)
/* AC8118 80050F78 C6080010 */ lwc1 $f8, 0x10($s0)
/* AC811C 80050F7C C4A60004 */ lwc1 $f6, 4($a1)
/* AC8120 80050F80 46083280 */ add.s $f10, $f6, $f8
/* AC8124 80050F84 E64A0004 */ swc1 $f10, 4($s2)
/* AC8128 80050F88 C6060014 */ lwc1 $f6, 0x14($s0)
/* AC812C 80050F8C C4A40008 */ lwc1 $f4, 8($a1)
/* AC8130 80050F90 44815000 */ mtc1 $at, $f10
/* AC8134 80050F94 46062200 */ add.s $f8, $f4, $f6
/* AC8138 80050F98 E6480008 */ swc1 $f8, 8($s2)
/* AC813C 80050F9C 8CAB0000 */ lw $t3, ($a1)
/* AC8140 80050FA0 AE6B0000 */ sw $t3, ($s3)
/* AC8144 80050FA4 8CAA0004 */ lw $t2, 4($a1)
/* AC8148 80050FA8 AE6A0004 */ sw $t2, 4($s3)
/* AC814C 80050FAC 8CAB0008 */ lw $t3, 8($a1)
/* AC8150 80050FB0 AE6B0008 */ sw $t3, 8($s3)
/* AC8154 80050FB4 860C0030 */ lh $t4, 0x30($s0)
/* AC8158 80050FB8 A7A80068 */ sh $t0, 0x68($sp)
/* AC815C 80050FBC E7AA0064 */ swc1 $f10, 0x64($sp)
/* AC8160 80050FC0 0C010F0A */ jal func_80043C28
/* AC8164 80050FC4 A7AC006A */ sh $t4, 0x6a($sp)
/* AC8168 80050FC8 860D002C */ lh $t5, 0x2c($s0)
/* AC816C 80050FCC 25A90BB8 */ addiu $t1, $t5, 0xbb8
/* AC8170 80050FD0 A609002C */ sh $t1, 0x2c($s0)
/* AC8174 80050FD4 0C01DE0D */ jal Math_Coss
/* AC8178 80050FD8 8604002C */ lh $a0, 0x2c($s0)
/* AC817C 80050FDC C66C0000 */ lwc1 $f12, ($s3)
/* AC8180 80050FE0 C7A40098 */ lwc1 $f4, 0x98($sp)
/* AC8184 80050FE4 46000406 */ mov.s $f16, $f0
/* AC8188 80050FE8 46000005 */ abs.s $f0, $f0
/* AC818C 80050FEC 460C2181 */ sub.s $f6, $f4, $f12
/* AC8190 80050FF0 8FA70034 */ lw $a3, 0x34($sp)
/* AC8194 80050FF4 C66E0004 */ lwc1 $f14, 4($s3)
/* AC8198 80050FF8 C6620008 */ lwc1 $f2, 8($s3)
/* AC819C 80050FFC 46003202 */ mul.s $f8, $f6, $f0
/* AC81A0 80051000 46008005 */ abs.s $f0, $f16
/* AC81A4 80051004 46086280 */ add.s $f10, $f12, $f8
/* AC81A8 80051008 E66A0000 */ swc1 $f10, ($s3)
/* AC81AC 8005100C C7A4009C */ lwc1 $f4, 0x9c($sp)
/* AC81B0 80051010 460E2181 */ sub.s $f6, $f4, $f14
/* AC81B4 80051014 46003202 */ mul.s $f8, $f6, $f0
/* AC81B8 80051018 46087280 */ add.s $f10, $f14, $f8
/* AC81BC 8005101C E66A0004 */ swc1 $f10, 4($s3)
/* AC81C0 80051020 C7A400A0 */ lwc1 $f4, 0xa0($sp)
/* AC81C4 80051024 46022181 */ sub.s $f6, $f4, $f2
/* AC81C8 80051028 46003202 */ mul.s $f8, $f6, $f0
/* AC81CC 8005102C 46081280 */ add.s $f10, $f2, $f8
/* AC81D0 80051030 E66A0008 */ swc1 $f10, 8($s3)
/* AC81D4 80051034 C6120028 */ lwc1 $f18, 0x28($s0)
/* AC81D8 80051038 4610903C */ c.lt.s $f18, $f16
/* AC81DC 8005103C 00000000 */ nop
/* AC81E0 80051040 45020013 */ bc1fl .L80051090
/* AC81E4 80051044 4612803C */ c.lt.s $f16, $f18
/* AC81E8 80051048 860E002E */ lh $t6, 0x2e($s0)
/* AC81EC 8005104C 240F0001 */ li $t7, 1
/* AC81F0 80051050 55C0000F */ bnezl $t6, .L80051090
/* AC81F4 80051054 4612803C */ c.lt.s $f16, $f18
/* AC81F8 80051058 8E220090 */ lw $v0, 0x90($s1)
/* AC81FC 8005105C A60F002E */ sh $t7, 0x2e($s0)
/* AC8200 80051060 3C064080 */ lui $a2, 0x4080
/* AC8204 80051064 9445089E */ lhu $a1, 0x89e($v0)
/* AC8208 80051068 E7B00080 */ swc1 $f16, 0x80($sp)
/* AC820C 8005106C AFA70034 */ sw $a3, 0x34($sp)
/* AC8210 80051070 24A508B0 */ addiu $a1, $a1, 0x8b0
/* AC8214 80051074 30A5FFFF */ andi $a1, $a1, 0xffff
/* AC8218 80051078 0C03D004 */ jal func_800F4010
/* AC821C 8005107C 244400E4 */ addiu $a0, $v0, 0xe4
/* AC8220 80051080 8FA70034 */ lw $a3, 0x34($sp)
/* AC8224 80051084 10000006 */ b .L800510A0
/* AC8228 80051088 C7B00080 */ lwc1 $f16, 0x80($sp)
/* AC822C 8005108C 4612803C */ c.lt.s $f16, $f18
.L80051090:
/* AC8230 80051090 00000000 */ nop
/* AC8234 80051094 45020003 */ bc1fl .L800510A4
/* AC8238 80051098 E6100028 */ swc1 $f16, 0x28($s0)
/* AC823C 8005109C A600002E */ sh $zero, 0x2e($s0)
.L800510A0:
/* AC8240 800510A0 E6100028 */ swc1 $f16, 0x28($s0)
.L800510A4:
/* AC8244 800510A4 8E380090 */ lw $t8, 0x90($s1)
/* AC8248 800510A8 8CEA0000 */ lw $t2, ($a3)
/* AC824C 800510AC 3C018014 */ lui $at, %hi(D_8013A1B0)
/* AC8250 800510B0 AF0A0024 */ sw $t2, 0x24($t8)
/* AC8254 800510B4 8CF90004 */ lw $t9, 4($a3)
/* AC8258 800510B8 AF190028 */ sw $t9, 0x28($t8)
/* AC825C 800510BC 8CEA0008 */ lw $t2, 8($a3)
/* AC8260 800510C0 AF0A002C */ sw $t2, 0x2c($t8)
/* AC8264 800510C4 8E2B0090 */ lw $t3, 0x90($s1)
/* AC8268 800510C8 C6240104 */ lwc1 $f4, 0x104($s1)
/* AC826C 800510CC E5640028 */ swc1 $f4, 0x28($t3)
/* AC8270 800510D0 8E280090 */ lw $t0, 0x90($s1)
/* AC8274 800510D4 87AC006A */ lh $t4, 0x6a($sp)
/* AC8278 800510D8 A50C00B6 */ sh $t4, 0xb6($t0)
/* AC827C 800510DC C428A1B0 */ lwc1 $f8, %lo(D_8013A1B0)($at)
/* AC8280 800510E0 C6060024 */ lwc1 $f6, 0x24($s0)
/* AC8284 800510E4 3C014370 */ li $at, 0x43700000 # 0.000000
/* AC8288 800510E8 44812000 */ mtc1 $at, $f4
/* AC828C 800510EC 46083282 */ mul.s $f10, $f6, $f8
/* AC8290 800510F0 860D0030 */ lh $t5, 0x30($s0)
/* AC8294 800510F4 46102182 */ mul.s $f6, $f4, $f16
/* AC8298 800510F8 448D4000 */ mtc1 $t5, $f8
/* AC829C 800510FC 00000000 */ nop
/* AC82A0 80051100 46804120 */ cvt.s.w $f4, $f8
/* AC82A4 80051104 460A3402 */ mul.s $f16, $f6, $f10
/* AC82A8 80051108 46102180 */ add.s $f6, $f4, $f16
/* AC82AC 8005110C 4600328D */ trunc.w.s $f10, $f6
/* AC82B0 80051110 44045000 */ mfc1 $a0, $f10
/* AC82B4 80051114 00000000 */ nop
/* AC82B8 80051118 00042400 */ sll $a0, $a0, 0x10
/* AC82BC 8005111C 00042403 */ sra $a0, $a0, 0x10
/* AC82C0 80051120 0C01DE1C */ jal Math_Sins
/* AC82C4 80051124 A7A4005A */ sh $a0, 0x5a($sp)
/* AC82C8 80051128 3C014120 */ li $at, 0x41200000 # 0.000000
/* AC82CC 8005112C 44814000 */ mtc1 $at, $f8
/* AC82D0 80051130 C6660000 */ lwc1 $f6, ($s3)
/* AC82D4 80051134 87A4005A */ lh $a0, 0x5a($sp)
/* AC82D8 80051138 46080102 */ mul.s $f4, $f0, $f8
/* AC82DC 8005113C 46062280 */ add.s $f10, $f4, $f6
/* AC82E0 80051140 E64A0000 */ swc1 $f10, ($s2)
/* AC82E4 80051144 C6680004 */ lwc1 $f8, 4($s3)
/* AC82E8 80051148 0C01DE0D */ jal Math_Coss
/* AC82EC 8005114C E6480004 */ swc1 $f8, 4($s2)
/* AC82F0 80051150 3C014120 */ li $at, 0x41200000 # 0.000000
/* AC82F4 80051154 44812000 */ mtc1 $at, $f4
/* AC82F8 80051158 C66A0008 */ lwc1 $f10, 8($s3)
/* AC82FC 8005115C 00002025 */ move $a0, $zero
/* AC8300 80051160 46040182 */ mul.s $f6, $f0, $f4
/* AC8304 80051164 3C063F00 */ lui $a2, 0x3f00
/* AC8308 80051168 2407000A */ li $a3, 10
/* AC830C 8005116C 460A3200 */ add.s $f8, $f6, $f10
/* AC8310 80051170 E6480008 */ swc1 $f8, 8($s2)
/* AC8314 80051174 0C010E47 */ jal func_8004391C
/* AC8318 80051178 8625015A */ lh $a1, 0x15a($s1)
/* AC831C 8005117C A622015A */ sh $v0, 0x15a($s1)
/* AC8320 80051180 24020001 */ li $v0, 1
.L80051184:
/* AC8324 80051184 8FBF0024 */ lw $ra, 0x24($sp)
/* AC8328 80051188 8FB00014 */ lw $s0, 0x14($sp)
/* AC832C 8005118C 8FB10018 */ lw $s1, 0x18($sp)
/* AC8330 80051190 8FB2001C */ lw $s2, 0x1c($sp)
/* AC8334 80051194 8FB30020 */ lw $s3, 0x20($sp)
/* AC8338 80051198 03E00008 */ jr $ra
/* AC833C 8005119C 27BD00B8 */ addiu $sp, $sp, 0xb8

View file

@ -0,0 +1,19 @@
.rdata
glabel D_801393FC
.asciz "chau!chau!\n"
.balign 4
.text
glabel func_800511E0
/* AC8380 800511E0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* AC8384 800511E4 AFA40018 */ sw $a0, 0x18($sp)
/* AC8388 800511E8 AFBF0014 */ sw $ra, 0x14($sp)
/* AC838C 800511EC 3C048014 */ lui $a0, %hi(D_801393FC) # $a0, 0x8014
/* AC8390 800511F0 0C00084C */ jal osSyncPrintf
/* AC8394 800511F4 248493FC */ addiu $a0, %lo(D_801393FC) # addiu $a0, $a0, -0x6c04
/* AC8398 800511F8 0C011CE8 */ jal func_800473A0
/* AC839C 800511FC 8FA40018 */ lw $a0, 0x18($sp)
/* AC83A0 80051200 8FBF0014 */ lw $ra, 0x14($sp)
/* AC83A4 80051204 27BD0018 */ addiu $sp, $sp, 0x18
/* AC83A8 80051208 03E00008 */ jr $ra
/* AC83AC 8005120C 00000000 */ nop

View file

@ -0,0 +1,236 @@
.late_rodata
glabel D_8013A1B4
.float 0.01
glabel D_8013A1B8
.float 0.01
glabel D_8013A1BC
.float 182.04167
glabel D_8013A1C0
.float 182.04167
.text
glabel func_80051250
/* AC83F0 80051250 27BDFF78 */ addiu $sp, $sp, -0x88
/* AC83F4 80051254 AFB00014 */ sw $s0, 0x14($sp)
/* AC83F8 80051258 00808025 */ move $s0, $a0
/* AC83FC 8005125C AFBF001C */ sw $ra, 0x1c($sp)
/* AC8400 80051260 AFB10018 */ sw $s1, 0x18($sp)
/* AC8404 80051264 0C00B721 */ jal Player_GetCameraYOffset
/* AC8408 80051268 8C840090 */ lw $a0, 0x90($a0)
/* AC840C 8005126C E7A00038 */ swc1 $f0, 0x38($sp)
/* AC8410 80051270 8602015E */ lh $v0, 0x15e($s0)
/* AC8414 80051274 2401000A */ li $at, 10
/* AC8418 80051278 10400008 */ beqz $v0, .L8005129C
/* AC841C 8005127C 00000000 */ nop
/* AC8420 80051280 10410006 */ beq $v0, $at, .L8005129C
/* AC8424 80051284 24010014 */ li $at, 20
/* AC8428 80051288 10410004 */ beq $v0, $at, .L8005129C
/* AC842C 8005128C 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016
/* AC8430 80051290 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
/* AC8434 80051294 85C20314 */ lh $v0, 0x314($t6)
/* AC8438 80051298 10400058 */ beqz $v0, .L800513FC
.L8005129C:
/* AC843C 8005129C 3C018014 */ lui $at, %hi(D_8013A1B4)
/* AC8440 800512A0 C42CA1B4 */ lwc1 $f12, %lo(D_8013A1B4)($at)
/* AC8444 800512A4 3C014288 */ li $at, 0x42880000 # 0.000000
/* AC8448 800512A8 44814000 */ mtc1 $at, $f8
/* AC844C 800512AC C7AA0038 */ lwc1 $f10, 0x38($sp)
/* AC8450 800512B0 3C0B8016 */ lui $t3, %hi(gGameInfo) # $t3, 0x8016
/* AC8454 800512B4 8D6BFA90 */ lw $t3, %lo(gGameInfo)($t3)
/* AC8458 800512B8 460A4403 */ div.s $f16, $f8, $f10
/* AC845C 800512BC 860F0142 */ lh $t7, 0x142($s0)
/* AC8460 800512C0 856C01F0 */ lh $t4, 0x1f0($t3)
/* AC8464 800512C4 3C198012 */ lui $t9, %hi(D_8011D068)
/* AC8468 800512C8 000FC0C0 */ sll $t8, $t7, 3
/* AC846C 800512CC 448C2000 */ mtc1 $t4, $f4
/* AC8470 800512D0 86080144 */ lh $t0, 0x144($s0)
/* AC8474 800512D4 0338C821 */ addu $t9, $t9, $t8
/* AC8478 800512D8 468021A0 */ cvt.s.w $f6, $f4
/* AC847C 800512DC 8F39D068 */ lw $t9, %lo(D_8011D068)($t9)
/* AC8480 800512E0 000848C0 */ sll $t1, $t0, 3
/* AC8484 800512E4 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC8488 800512E8 03295021 */ addu $t2, $t9, $t1
/* AC848C 800512EC 8D420004 */ lw $v0, 4($t2)
/* AC8490 800512F0 44812000 */ mtc1 $at, $f4
/* AC8494 800512F4 02002025 */ move $a0, $s0
/* AC8498 800512F8 844D0000 */ lh $t5, ($v0)
/* AC849C 800512FC 24420008 */ addiu $v0, $v0, 8
/* AC84A0 80051300 448D4000 */ mtc1 $t5, $f8
/* AC84A4 80051304 460C3002 */ mul.s $f0, $f6, $f12
/* AC84A8 80051308 00000000 */ nop
/* AC84AC 8005130C 46100482 */ mul.s $f18, $f0, $f16
/* AC84B0 80051310 46002180 */ add.s $f6, $f4, $f0
/* AC84B4 80051314 46804420 */ cvt.s.w $f16, $f8
/* AC84B8 80051318 46123081 */ sub.s $f2, $f6, $f18
/* AC84BC 8005131C 460C8102 */ mul.s $f4, $f16, $f12
/* AC84C0 80051320 00000000 */ nop
/* AC84C4 80051324 460A2182 */ mul.s $f6, $f4, $f10
/* AC84C8 80051328 00000000 */ nop
/* AC84CC 8005132C 46023482 */ mul.s $f18, $f6, $f2
/* AC84D0 80051330 E6120000 */ swc1 $f18, ($s0)
/* AC84D4 80051334 844EFFFC */ lh $t6, -4($v0)
/* AC84D8 80051338 448E4000 */ mtc1 $t6, $f8
/* AC84DC 8005133C 00000000 */ nop
/* AC84E0 80051340 46804420 */ cvt.s.w $f16, $f8
/* AC84E4 80051344 E6100004 */ swc1 $f16, 4($s0)
/* AC84E8 80051348 844F0000 */ lh $t7, ($v0)
/* AC84EC 8005134C 0C0111DB */ jal func_8004476C
/* AC84F0 80051350 A60F0008 */ sh $t7, 8($s0)
/* AC84F4 80051354 2611000C */ addiu $s1, $s0, 0xc
/* AC84F8 80051358 02202025 */ move $a0, $s1
/* AC84FC 8005135C 00402825 */ move $a1, $v0
/* AC8500 80051360 0C010EF1 */ jal func_80043BC4
/* AC8504 80051364 AFA20054 */ sw $v0, 0x54($sp)
/* AC8508 80051368 8FA60054 */ lw $a2, 0x54($sp)
/* AC850C 8005136C 2401FFFF */ li $at, -1
/* AC8510 80051370 88C80006 */ lwl $t0, 6($a2)
/* AC8514 80051374 98C80009 */ lwr $t0, 9($a2)
/* AC8518 80051378 AA28000C */ swl $t0, 0xc($s1)
/* AC851C 8005137C BA28000F */ swr $t0, 0xf($s1)
/* AC8520 80051380 94C8000A */ lhu $t0, 0xa($a2)
/* AC8524 80051384 A6280010 */ sh $t0, 0x10($s1)
/* AC8528 80051388 84C3000C */ lh $v1, 0xc($a2)
/* AC852C 8005138C 10610010 */ beq $v1, $at, .L800513D0
/* AC8530 80051390 A623001C */ sh $v1, 0x1c($s1)
/* AC8534 80051394 8622001C */ lh $v0, 0x1c($s1)
/* AC8538 80051398 28410169 */ slti $at, $v0, 0x169
/* AC853C 8005139C 50200007 */ beql $at, $zero, .L800513BC
/* AC8540 800513A0 44823000 */ mtc1 $v0, $f6
/* AC8544 800513A4 44822000 */ mtc1 $v0, $f4
/* AC8548 800513A8 00000000 */ nop
/* AC854C 800513AC 468022A0 */ cvt.s.w $f10, $f4
/* AC8550 800513B0 10000007 */ b .L800513D0
/* AC8554 800513B4 E60A0004 */ swc1 $f10, 4($s0)
/* AC8558 800513B8 44823000 */ mtc1 $v0, $f6
.L800513BC:
/* AC855C 800513BC 3C018014 */ lui $at, %hi(D_8013A1B8)
/* AC8560 800513C0 C428A1B8 */ lwc1 $f8, %lo(D_8013A1B8)($at)
/* AC8564 800513C4 468034A0 */ cvt.s.w $f18, $f6
/* AC8568 800513C8 46089402 */ mul.s $f16, $f18, $f8
/* AC856C 800513CC E6100004 */ swc1 $f16, 4($s0)
.L800513D0:
/* AC8570 800513D0 84D9000E */ lh $t9, 0xe($a2)
/* AC8574 800513D4 8E2A0000 */ lw $t2, ($s1)
/* AC8578 800513D8 3C0B8016 */ lui $t3, %hi(gGameInfo)
/* AC857C 800513DC A639001E */ sh $t9, 0x1e($s1)
/* AC8580 800513E0 AE0A005C */ sw $t2, 0x5c($s0)
/* AC8584 800513E4 8E290004 */ lw $t1, 4($s1)
/* AC8588 800513E8 AE090060 */ sw $t1, 0x60($s0)
/* AC858C 800513EC 8E2A0008 */ lw $t2, 8($s1)
/* AC8590 800513F0 AE0A0064 */ sw $t2, 0x64($s0)
/* AC8594 800513F4 8D6BFA90 */ lw $t3, %lo(gGameInfo)($t3)
/* AC8598 800513F8 85620314 */ lh $v0, 0x314($t3)
.L800513FC:
/* AC859C 800513FC 260C005C */ addiu $t4, $s0, 0x5c
/* AC85A0 80051400 AFAC0028 */ sw $t4, 0x28($sp)
/* AC85A4 80051404 10400003 */ beqz $v0, .L80051414
/* AC85A8 80051408 2611000C */ addiu $s1, $s0, 0xc
/* AC85AC 8005140C 0C011495 */ jal func_80045254
/* AC85B0 80051410 02002025 */ move $a0, $s0
.L80051414:
/* AC85B4 80051414 860D0008 */ lh $t5, 8($s0)
/* AC85B8 80051418 3C018012 */ lui $at, %hi(D_8011D3A0)
/* AC85BC 8005141C 02002025 */ move $a0, $s0
/* AC85C0 80051420 AC2DD3A0 */ sw $t5, %lo(D_8011D3A0)($at)
/* AC85C4 80051424 8602015E */ lh $v0, 0x15e($s0)
/* AC85C8 80051428 14400003 */ bnez $v0, .L80051438
/* AC85CC 8005142C 244E0001 */ addiu $t6, $v0, 1
/* AC85D0 80051430 0C010ED8 */ jal func_80043B60
/* AC85D4 80051434 A60E015E */ sh $t6, 0x15e($s0)
.L80051438:
/* AC85D8 80051438 26050050 */ addiu $a1, $s0, 0x50
/* AC85DC 8005143C AFA50024 */ sw $a1, 0x24($sp)
/* AC85E0 80051440 27A40064 */ addiu $a0, $sp, 0x64
/* AC85E4 80051444 0C01F124 */ jal func_8007C490
/* AC85E8 80051448 26060074 */ addiu $a2, $s0, 0x74
/* AC85EC 8005144C 02002025 */ move $a0, $s0
/* AC85F0 80051450 27A50064 */ addiu $a1, $sp, 0x64
/* AC85F4 80051454 8E060000 */ lw $a2, ($s0)
/* AC85F8 80051458 0C0115EA */ jal func_800457A8
/* AC85FC 8005145C 00003825 */ move $a3, $zero
/* AC8600 80051460 27A40074 */ addiu $a0, $sp, 0x74
/* AC8604 80051464 8FA50028 */ lw $a1, 0x28($sp)
/* AC8608 80051468 0C01F124 */ jal func_8007C490
/* AC860C 8005146C 8FA60024 */ lw $a2, 0x24($sp)
/* AC8610 80051470 C7A40074 */ lwc1 $f4, 0x74($sp)
/* AC8614 80051474 87AE007A */ lh $t6, 0x7a($sp)
/* AC8618 80051478 27A6006C */ addiu $a2, $sp, 0x6c
/* AC861C 8005147C E7A4006C */ swc1 $f4, 0x6c($sp)
/* AC8620 80051480 862F001E */ lh $t7, 0x1e($s1)
/* AC8624 80051484 31F80001 */ andi $t8, $t7, 1
/* AC8628 80051488 53000012 */ beql $t8, $zero, .L800514D4
/* AC862C 8005148C A7AE0072 */ sh $t6, 0x72($sp)
/* AC8630 80051490 8608012C */ lh $t0, 0x12c($s0)
/* AC8634 80051494 3C018014 */ lui $at, %hi(D_8013A1BC)
/* AC8638 80051498 C432A1BC */ lwc1 $f18, %lo(D_8013A1BC)($at)
/* AC863C 8005149C 44885000 */ mtc1 $t0, $f10
/* AC8640 800514A0 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* AC8644 800514A4 44818000 */ mtc1 $at, $f16
/* AC8648 800514A8 468051A0 */ cvt.s.w $f6, $f10
/* AC864C 800514AC 862C000E */ lh $t4, 0xe($s1)
/* AC8650 800514B0 46123202 */ mul.s $f8, $f6, $f18
/* AC8654 800514B4 46104100 */ add.s $f4, $f8, $f16
/* AC8658 800514B8 4600228D */ trunc.w.s $f10, $f4
/* AC865C 800514BC 440B5000 */ mfc1 $t3, $f10
/* AC8660 800514C0 00000000 */ nop
/* AC8664 800514C4 016C6821 */ addu $t5, $t3, $t4
/* AC8668 800514C8 10000002 */ b .L800514D4
/* AC866C 800514CC A7AD0072 */ sh $t5, 0x72($sp)
/* AC8670 800514D0 A7AE0072 */ sh $t6, 0x72($sp)
.L800514D4:
/* AC8674 800514D4 862F001E */ lh $t7, 0x1e($s1)
/* AC8678 800514D8 87AE0078 */ lh $t6, 0x78($sp)
/* AC867C 800514DC 31F80002 */ andi $t8, $t7, 2
/* AC8680 800514E0 53000012 */ beql $t8, $zero, .L8005152C
/* AC8684 800514E4 A7AE0070 */ sh $t6, 0x70($sp)
/* AC8688 800514E8 8608012E */ lh $t0, 0x12e($s0)
/* AC868C 800514EC 3C018014 */ lui $at, %hi(D_8013A1C0)
/* AC8690 800514F0 C428A1C0 */ lwc1 $f8, %lo(D_8013A1C0)($at)
/* AC8694 800514F4 44883000 */ mtc1 $t0, $f6
/* AC8698 800514F8 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* AC869C 800514FC 44812000 */ mtc1 $at, $f4
/* AC86A0 80051500 468034A0 */ cvt.s.w $f18, $f6
/* AC86A4 80051504 862C000C */ lh $t4, 0xc($s1)
/* AC86A8 80051508 46089402 */ mul.s $f16, $f18, $f8
/* AC86AC 8005150C 46048280 */ add.s $f10, $f16, $f4
/* AC86B0 80051510 4600518D */ trunc.w.s $f6, $f10
/* AC86B4 80051514 440B3000 */ mfc1 $t3, $f6
/* AC86B8 80051518 00000000 */ nop
/* AC86BC 8005151C 016C6821 */ addu $t5, $t3, $t4
/* AC86C0 80051520 10000002 */ b .L8005152C
/* AC86C4 80051524 A7AD0070 */ sh $t5, 0x70($sp)
/* AC86C8 80051528 A7AE0070 */ sh $t6, 0x70($sp)
.L8005152C:
/* AC86CC 8005152C 8FA40024 */ lw $a0, 0x24($sp)
/* AC86D0 80051530 0C010F0A */ jal func_80043C28
/* AC86D4 80051534 8FA50028 */ lw $a1, 0x28($sp)
/* AC86D8 80051538 8E180094 */ lw $t8, 0x94($s0)
/* AC86DC 8005153C 27A40048 */ addiu $a0, $sp, 0x48
/* AC86E0 80051540 AC980000 */ sw $t8, ($a0)
/* AC86E4 80051544 8E0F0098 */ lw $t7, 0x98($s0)
/* AC86E8 80051548 AC8F0004 */ sw $t7, 4($a0)
/* AC86EC 8005154C 8E18009C */ lw $t8, 0x9c($s0)
/* AC86F0 80051550 AC980008 */ sw $t8, 8($a0)
/* AC86F4 80051554 C7B2004C */ lwc1 $f18, 0x4c($sp)
/* AC86F8 80051558 C7A80038 */ lwc1 $f8, 0x38($sp)
/* AC86FC 8005155C 8FA50028 */ lw $a1, 0x28($sp)
/* AC8700 80051560 46089400 */ add.s $f16, $f18, $f8
/* AC8704 80051564 0C01EFE4 */ jal func_8007BF90
/* AC8708 80051568 E7B0004C */ swc1 $f16, 0x4c($sp)
/* AC870C 8005156C 44802000 */ mtc1 $zero, $f4
/* AC8710 80051570 C60A0004 */ lwc1 $f10, 4($s0)
/* AC8714 80051574 44803000 */ mtc1 $zero, $f6
/* AC8718 80051578 E60000DC */ swc1 $f0, 0xdc($s0)
/* AC871C 8005157C A600015A */ sh $zero, 0x15a($s0)
/* AC8720 80051580 E60400D8 */ swc1 $f4, 0xd8($s0)
/* AC8724 80051584 E60A00FC */ swc1 $f10, 0xfc($s0)
/* AC8728 80051588 E6060100 */ swc1 $f6, 0x100($s0)
/* AC872C 8005158C 8FBF001C */ lw $ra, 0x1c($sp)
/* AC8730 80051590 8FB10018 */ lw $s1, 0x18($sp)
/* AC8734 80051594 8FB00014 */ lw $s0, 0x14($sp)
/* AC8738 80051598 27BD0088 */ addiu $sp, $sp, 0x88
/* AC873C 8005159C 03E00008 */ jr $ra
/* AC8740 800515A0 24020001 */ li $v0, 1

View file

@ -0,0 +1,398 @@
.late_rodata
glabel D_8013A1C4
.float 0.01
glabel D_8013A1C8
.incbin "baserom.z64", 0xBB1368, 0xC
glabel D_8013A1D4
.float 0.01
glabel D_8013A1D8
.float 0.01
glabel D_8013A1DC
.float 0.01
glabel D_8013A1E0
.float 0.005
glabel D_8013A1E4
.float 0.01
glabel D_8013A1E8
.float 0.01
.text
glabel func_800515A4
/* AC8744 800515A4 27BDFF50 */ addiu $sp, $sp, -0xb0
/* AC8748 800515A8 AFB00014 */ sw $s0, 0x14($sp)
/* AC874C 800515AC 00808025 */ move $s0, $a0
/* AC8750 800515B0 AFBF001C */ sw $ra, 0x1c($sp)
/* AC8754 800515B4 AFB10018 */ sw $s1, 0x18($sp)
/* AC8758 800515B8 0C00B721 */ jal Player_GetCameraYOffset
/* AC875C 800515BC 8C840090 */ lw $a0, 0x90($a0)
/* AC8760 800515C0 8602015E */ lh $v0, 0x15e($s0)
/* AC8764 800515C4 10400008 */ beqz $v0, .L800515E8
/* AC8768 800515C8 2401000A */ li $at, 10
/* AC876C 800515CC 10410006 */ beq $v0, $at, .L800515E8
/* AC8770 800515D0 24010014 */ li $at, 20
/* AC8774 800515D4 10410004 */ beq $v0, $at, .L800515E8
/* AC8778 800515D8 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016
/* AC877C 800515DC 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
/* AC8780 800515E0 85C30314 */ lh $v1, 0x314($t6)
/* AC8784 800515E4 10600054 */ beqz $v1, .L80051738
.L800515E8:
/* AC8788 800515E8 3C018014 */ lui $at, %hi(D_8013A1C4)
/* AC878C 800515EC C42EA1C4 */ lwc1 $f14, %lo(D_8013A1C4)($at)
/* AC8790 800515F0 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC8794 800515F4 44814000 */ mtc1 $at, $f8
/* AC8798 800515F8 3C014288 */ lui $at, 0x4288
/* AC879C 800515FC 3C0B8016 */ lui $t3, %hi(gGameInfo)
/* AC87A0 80051600 8D6BFA90 */ lw $t3, %lo(gGameInfo)($t3)
/* AC87A4 80051604 44818000 */ mtc1 $at, $f16
/* AC87A8 80051608 860F0142 */ lh $t7, 0x142($s0)
/* AC87AC 8005160C 856C01F0 */ lh $t4, 0x1f0($t3)
/* AC87B0 80051610 46008483 */ div.s $f18, $f16, $f0
/* AC87B4 80051614 3C198012 */ lui $t9, %hi(D_8011D068)
/* AC87B8 80051618 448C2000 */ mtc1 $t4, $f4
/* AC87BC 8005161C 000FC0C0 */ sll $t8, $t7, 3
/* AC87C0 80051620 86080144 */ lh $t0, 0x144($s0)
/* AC87C4 80051624 468021A0 */ cvt.s.w $f6, $f4
/* AC87C8 80051628 0338C821 */ addu $t9, $t9, $t8
/* AC87CC 8005162C 8F39D068 */ lw $t9, %lo(D_8011D068)($t9)
/* AC87D0 80051630 000848C0 */ sll $t1, $t0, 3
/* AC87D4 80051634 3C018014 */ lui $at, %hi(D_8013A1C8)
/* AC87D8 80051638 03295021 */ addu $t2, $t9, $t1
/* AC87DC 8005163C 8D420004 */ lw $v0, 4($t2)
/* AC87E0 80051640 3C0C8016 */ lui $t4, %hi(gGameInfo)
/* AC87E4 80051644 844D0000 */ lh $t5, ($v0)
/* AC87E8 80051648 24420018 */ addiu $v0, $v0, 0x18
/* AC87EC 8005164C 460E3302 */ mul.s $f12, $f6, $f14
/* AC87F0 80051650 448D3000 */ mtc1 $t5, $f6
/* AC87F4 80051654 460C4280 */ add.s $f10, $f8, $f12
/* AC87F8 80051658 46126102 */ mul.s $f4, $f12, $f18
/* AC87FC 8005165C 46803220 */ cvt.s.w $f8, $f6
/* AC8800 80051660 46045081 */ sub.s $f2, $f10, $f4
/* AC8804 80051664 460E4402 */ mul.s $f16, $f8, $f14
/* AC8808 80051668 00000000 */ nop
/* AC880C 8005166C 46008482 */ mul.s $f18, $f16, $f0
/* AC8810 80051670 00000000 */ nop
/* AC8814 80051674 46029282 */ mul.s $f10, $f18, $f2
/* AC8818 80051678 E60A0000 */ swc1 $f10, ($s0)
/* AC881C 8005167C 844EFFEC */ lh $t6, -0x14($v0)
/* AC8820 80051680 448E2000 */ mtc1 $t6, $f4
/* AC8824 80051684 00000000 */ nop
/* AC8828 80051688 468021A0 */ cvt.s.w $f6, $f4
/* AC882C 8005168C 460E3202 */ mul.s $f8, $f6, $f14
/* AC8830 80051690 00000000 */ nop
/* AC8834 80051694 46004402 */ mul.s $f16, $f8, $f0
/* AC8838 80051698 00000000 */ nop
/* AC883C 8005169C 46028482 */ mul.s $f18, $f16, $f2
/* AC8840 800516A0 E6120004 */ swc1 $f18, 4($s0)
/* AC8844 800516A4 844FFFF0 */ lh $t7, -0x10($v0)
/* AC8848 800516A8 448F5000 */ mtc1 $t7, $f10
/* AC884C 800516AC 00000000 */ nop
/* AC8850 800516B0 46805120 */ cvt.s.w $f4, $f10
/* AC8854 800516B4 460E2182 */ mul.s $f6, $f4, $f14
/* AC8858 800516B8 00000000 */ nop
/* AC885C 800516BC 46003202 */ mul.s $f8, $f6, $f0
/* AC8860 800516C0 00000000 */ nop
/* AC8864 800516C4 46024402 */ mul.s $f16, $f8, $f2
/* AC8868 800516C8 E6100008 */ swc1 $f16, 8($s0)
/* AC886C 800516CC 8458FFF4 */ lh $t8, -0xc($v0)
/* AC8870 800516D0 C424A1C8 */ lwc1 $f4, %lo(D_8013A1C8)($at)
/* AC8874 800516D4 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* AC8878 800516D8 44989000 */ mtc1 $t8, $f18
/* AC887C 800516DC 44814000 */ mtc1 $at, $f8
/* AC8880 800516E0 468092A0 */ cvt.s.w $f10, $f18
/* AC8884 800516E4 46045182 */ mul.s $f6, $f10, $f4
/* AC8888 800516E8 46083400 */ add.s $f16, $f6, $f8
/* AC888C 800516EC 4600848D */ trunc.w.s $f18, $f16
/* AC8890 800516F0 44199000 */ mfc1 $t9, $f18
/* AC8894 800516F4 00000000 */ nop
/* AC8898 800516F8 A6190018 */ sh $t9, 0x18($s0)
/* AC889C 800516FC 8449FFF8 */ lh $t1, -8($v0)
/* AC88A0 80051700 44895000 */ mtc1 $t1, $f10
/* AC88A4 80051704 00000000 */ nop
/* AC88A8 80051708 46805120 */ cvt.s.w $f4, $f10
/* AC88AC 8005170C E6040010 */ swc1 $f4, 0x10($s0)
/* AC88B0 80051710 844AFFFC */ lh $t2, -4($v0)
/* AC88B4 80051714 448A3000 */ mtc1 $t2, $f6
/* AC88B8 80051718 00000000 */ nop
/* AC88BC 8005171C 46803220 */ cvt.s.w $f8, $f6
/* AC88C0 80051720 460E4402 */ mul.s $f16, $f8, $f14
/* AC88C4 80051724 E6100014 */ swc1 $f16, 0x14($s0)
/* AC88C8 80051728 844B0000 */ lh $t3, ($v0)
/* AC88CC 8005172C A60B001A */ sh $t3, 0x1a($s0)
/* AC88D0 80051730 8D8CFA90 */ lw $t4, %lo(gGameInfo)($t4)
/* AC88D4 80051734 85830314 */ lh $v1, 0x314($t4)
.L80051738:
/* AC88D8 80051738 50600004 */ beql $v1, $zero, .L8005174C
/* AC88DC 8005173C 240D0001 */ li $t5, 1
/* AC88E0 80051740 0C011495 */ jal func_80045254
/* AC88E4 80051744 02002025 */ move $a0, $s0
/* AC88E8 80051748 240D0001 */ li $t5, 1
.L8005174C:
/* AC88EC 8005174C 3C018012 */ lui $at, %hi(D_8011D3E8) # $at, 0x8012
/* AC88F0 80051750 26050050 */ addiu $a1, $s0, 0x50
/* AC88F4 80051754 2606005C */ addiu $a2, $s0, 0x5c
/* AC88F8 80051758 AC2DD3E8 */ sw $t5, %lo(D_8011D3E8)($at)
/* AC88FC 8005175C AFA60038 */ sw $a2, 0x38($sp)
/* AC8900 80051760 AFA50034 */ sw $a1, 0x34($sp)
/* AC8904 80051764 0C01F124 */ jal func_8007C490
/* AC8908 80051768 27A4007C */ addiu $a0, $sp, 0x7c
/* AC890C 8005176C 26060074 */ addiu $a2, $s0, 0x74
/* AC8910 80051770 AFA60030 */ sw $a2, 0x30($sp)
/* AC8914 80051774 27A40074 */ addiu $a0, $sp, 0x74
/* AC8918 80051778 0C01F124 */ jal func_8007C490
/* AC891C 8005177C 8FA50034 */ lw $a1, 0x34($sp)
/* AC8920 80051780 860E001A */ lh $t6, 0x1a($s0)
/* AC8924 80051784 3C018012 */ lui $at, %hi(D_8011D3A0)
/* AC8928 80051788 AC2ED3A0 */ sw $t6, %lo(D_8011D3A0)($at)
/* AC892C 8005178C 860F015E */ lh $t7, 0x15e($s0)
/* AC8930 80051790 55E0003E */ bnezl $t7, .L8005188C
/* AC8934 80051794 27A4005C */ addiu $a0, $sp, 0x5c
/* AC8938 80051798 C61200E8 */ lwc1 $f18, 0xe8($s0)
/* AC893C 8005179C C60A00F4 */ lwc1 $f10, 0xf4($s0)
/* AC8940 800517A0 44803000 */ mtc1 $zero, $f6
/* AC8944 800517A4 2611001C */ addiu $s1, $s0, 0x1c
/* AC8948 800517A8 460A9101 */ sub.s $f4, $f18, $f10
/* AC894C 800517AC 27A60098 */ addiu $a2, $sp, 0x98
/* AC8950 800517B0 27A40084 */ addiu $a0, $sp, 0x84
/* AC8954 800517B4 26050094 */ addiu $a1, $s0, 0x94
/* AC8958 800517B8 E60400E8 */ swc1 $f4, 0xe8($s0)
/* AC895C 800517BC 87B8007A */ lh $t8, 0x7a($sp)
/* AC8960 800517C0 E6260000 */ swc1 $f6, ($s1)
/* AC8964 800517C4 A6380004 */ sh $t8, 4($s1)
/* AC8968 800517C8 8E080090 */ lw $t0, 0x90($s0)
/* AC896C 800517CC 8D090908 */ lw $t1, 0x908($t0)
/* AC8970 800517D0 ACC90000 */ sw $t1, ($a2)
/* AC8974 800517D4 8D19090C */ lw $t9, 0x90c($t0)
/* AC8978 800517D8 ACD90004 */ sw $t9, 4($a2)
/* AC897C 800517DC 8D090910 */ lw $t1, 0x910($t0)
/* AC8980 800517E0 0C01F124 */ jal func_8007C490
/* AC8984 800517E4 ACC90008 */ sw $t1, 8($a2)
/* AC8988 800517E8 3C0A8016 */ lui $t2, %hi(gGameInfo) # $t2, 0x8016
/* AC898C 800517EC 8D4AFA90 */ lw $t2, %lo(gGameInfo)($t2)
/* AC8990 800517F0 854B01C2 */ lh $t3, 0x1c2($t2)
/* AC8994 800517F4 A62B0008 */ sh $t3, 8($s1)
/* AC8998 800517F8 87AD0082 */ lh $t5, 0x82($sp)
/* AC899C 800517FC 87AC008A */ lh $t4, 0x8a($sp)
/* AC89A0 80051800 018D1823 */ subu $v1, $t4, $t5
/* AC89A4 80051804 00031C00 */ sll $v1, $v1, 0x10
/* AC89A8 80051808 00031C03 */ sra $v1, $v1, 0x10
/* AC89AC 8005180C 04600003 */ bltz $v1, .L8005181C
/* AC89B0 80051810 00031023 */ negu $v0, $v1
/* AC89B4 80051814 10000001 */ b .L8005181C
/* AC89B8 80051818 00601025 */ move $v0, $v1
.L8005181C:
/* AC89BC 8005181C 28413A98 */ slti $at, $v0, 0x3a98
/* AC89C0 80051820 50200004 */ beql $at, $zero, .L80051834
/* AC89C4 80051824 862E0008 */ lh $t6, 8($s1)
/* AC89C8 80051828 10000014 */ b .L8005187C
/* AC89CC 8005182C A6200006 */ sh $zero, 6($s1)
/* AC89D0 80051830 862E0008 */ lh $t6, 8($s1)
.L80051834:
/* AC89D4 80051834 006E001A */ div $zero, $v1, $t6
/* AC89D8 80051838 15C00002 */ bnez $t6, .L80051844
/* AC89DC 8005183C 00000000 */ nop
/* AC89E0 80051840 0007000D */ break 7
.L80051844:
/* AC89E4 80051844 2401FFFF */ li $at, -1
/* AC89E8 80051848 15C10004 */ bne $t6, $at, .L8005185C
/* AC89EC 8005184C 3C018000 */ lui $at, 0x8000
/* AC89F0 80051850 14610002 */ bne $v1, $at, .L8005185C
/* AC89F4 80051854 00000000 */ nop
/* AC89F8 80051858 0006000D */ break 6
.L8005185C:
/* AC89FC 8005185C 00007812 */ mflo $t7
/* AC8A00 80051860 05E10003 */ bgez $t7, .L80051870
/* AC8A04 80051864 000FC083 */ sra $t8, $t7, 2
/* AC8A08 80051868 25E10003 */ addiu $at, $t7, 3
/* AC8A0C 8005186C 0001C083 */ sra $t8, $at, 2
.L80051870:
/* AC8A10 80051870 00184080 */ sll $t0, $t8, 2
/* AC8A14 80051874 01184023 */ subu $t0, $t0, $t8
/* AC8A18 80051878 A6280006 */ sh $t0, 6($s1)
.L8005187C:
/* AC8A1C 8005187C 8619015E */ lh $t9, 0x15e($s0)
/* AC8A20 80051880 27290001 */ addiu $t1, $t9, 1
/* AC8A24 80051884 A609015E */ sh $t1, 0x15e($s0)
/* AC8A28 80051888 27A4005C */ addiu $a0, $sp, 0x5c
.L8005188C:
/* AC8A2C 8005188C 8E050090 */ lw $a1, 0x90($s0)
/* AC8A30 80051890 0C00BBB9 */ jal func_8002EEE4
/* AC8A34 80051894 2611001C */ addiu $s1, $s0, 0x1c
/* AC8A38 80051898 3C0A8016 */ lui $t2, %hi(gGameInfo) # $t2, 0x8016
/* AC8A3C 8005189C 8D4AFA90 */ lw $t2, %lo(gGameInfo)($t2)
/* AC8A40 800518A0 3C0142C8 */ li $at, 0x42C80000 # 0.000000
/* AC8A44 800518A4 44816000 */ mtc1 $at, $f12
/* AC8A48 800518A8 854B01C6 */ lh $t3, 0x1c6($t2)
/* AC8A4C 800518AC 3C018014 */ lui $at, %hi(D_8013A1D4)
/* AC8A50 800518B0 C432A1D4 */ lwc1 $f18, %lo(D_8013A1D4)($at)
/* AC8A54 800518B4 448B4000 */ mtc1 $t3, $f8
/* AC8A58 800518B8 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* AC8A5C 800518BC 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC8A60 800518C0 46804420 */ cvt.s.w $f16, $f8
/* AC8A64 800518C4 C60E00C8 */ lwc1 $f14, 0xc8($s0)
/* AC8A68 800518C8 46128282 */ mul.s $f10, $f16, $f18
/* AC8A6C 800518CC 44065000 */ mfc1 $a2, $f10
/* AC8A70 800518D0 0C010E27 */ jal func_8004389C
/* AC8A74 800518D4 00000000 */ nop
/* AC8A78 800518D8 E60000C8 */ swc1 $f0, 0xc8($s0)
/* AC8A7C 800518DC 3C0C8016 */ lui $t4, %hi(gGameInfo) # $t4, 0x8016
/* AC8A80 800518E0 8D8CFA90 */ lw $t4, %lo(gGameInfo)($t4)
/* AC8A84 800518E4 3C0142C8 */ li $at, 0x42C80000 # 0.000000
/* AC8A88 800518E8 44816000 */ mtc1 $at, $f12
/* AC8A8C 800518EC 858D01C6 */ lh $t5, 0x1c6($t4)
/* AC8A90 800518F0 3C018014 */ lui $at, %hi(D_8013A1D8)
/* AC8A94 800518F4 C428A1D8 */ lwc1 $f8, %lo(D_8013A1D8)($at)
/* AC8A98 800518F8 448D2000 */ mtc1 $t5, $f4
/* AC8A9C 800518FC 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* AC8AA0 80051900 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC8AA4 80051904 468021A0 */ cvt.s.w $f6, $f4
/* AC8AA8 80051908 C60E00C4 */ lwc1 $f14, 0xc4($s0)
/* AC8AAC 8005190C 46083402 */ mul.s $f16, $f6, $f8
/* AC8AB0 80051910 44068000 */ mfc1 $a2, $f16
/* AC8AB4 80051914 0C010E27 */ jal func_8004389C
/* AC8AB8 80051918 00000000 */ nop
/* AC8ABC 8005191C 3C018014 */ lui $at, %hi(D_8013A1DC)
/* AC8AC0 80051920 C422A1DC */ lwc1 $f2, %lo(D_8013A1DC)($at)
/* AC8AC4 80051924 E60000C4 */ swc1 $f0, 0xc4($s0)
/* AC8AC8 80051928 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016
/* AC8ACC 8005192C 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
/* AC8AD0 80051930 3C018014 */ lui $at, %hi(D_8013A1E0)
/* AC8AD4 80051934 44071000 */ mfc1 $a3, $f2
/* AC8AD8 80051938 85CF01C6 */ lh $t7, 0x1c6($t6)
/* AC8ADC 8005193C C42CA1E0 */ lwc1 $f12, %lo(D_8013A1E0)($at)
/* AC8AE0 80051940 C60E00CC */ lwc1 $f14, 0xcc($s0)
/* AC8AE4 80051944 448F9000 */ mtc1 $t7, $f18
/* AC8AE8 80051948 00000000 */ nop
/* AC8AEC 8005194C 468092A0 */ cvt.s.w $f10, $f18
/* AC8AF0 80051950 46025102 */ mul.s $f4, $f10, $f2
/* AC8AF4 80051954 44062000 */ mfc1 $a2, $f4
/* AC8AF8 80051958 0C010E27 */ jal func_8004389C
/* AC8AFC 8005195C 00000000 */ nop
/* AC8B00 80051960 3C018014 */ lui $at, %hi(D_8013A1E4)
/* AC8B04 80051964 C42CA1E4 */ lwc1 $f12, %lo(D_8013A1E4)($at)
/* AC8B08 80051968 E60000CC */ swc1 $f0, 0xcc($s0)
/* AC8B0C 8005196C 3C188016 */ lui $t8, %hi(gGameInfo) # $t8, 0x8016
/* AC8B10 80051970 8F18FA90 */ lw $t8, %lo(gGameInfo)($t8)
/* AC8B14 80051974 44076000 */ mfc1 $a3, $f12
/* AC8B18 80051978 C60E00D0 */ lwc1 $f14, 0xd0($s0)
/* AC8B1C 8005197C 870801C8 */ lh $t0, 0x1c8($t8)
/* AC8B20 80051980 44883000 */ mtc1 $t0, $f6
/* AC8B24 80051984 00000000 */ nop
/* AC8B28 80051988 46803220 */ cvt.s.w $f8, $f6
/* AC8B2C 8005198C 460C4402 */ mul.s $f16, $f8, $f12
/* AC8B30 80051990 44068000 */ mfc1 $a2, $f16
/* AC8B34 80051994 0C010E27 */ jal func_8004389C
/* AC8B38 80051998 00000000 */ nop
/* AC8B3C 8005199C E60000D0 */ swc1 $f0, 0xd0($s0)
/* AC8B40 800519A0 3C198016 */ lui $t9, %hi(gGameInfo) # $t9, 0x8016
/* AC8B44 800519A4 8F39FA90 */ lw $t9, %lo(gGameInfo)($t9)
/* AC8B48 800519A8 3C018014 */ lui $at, %hi(D_8013A1E8)
/* AC8B4C 800519AC C424A1E8 */ lwc1 $f4, %lo(D_8013A1E8)($at)
/* AC8B50 800519B0 8729019C */ lh $t1, 0x19c($t9)
/* AC8B54 800519B4 3C063D4C */ lui $a2, (0x3D4CCCCD >> 16) # lui $a2, 0x3d4c
/* AC8B58 800519B8 3C073DCC */ li $a3, 0x3DCC0000 # 0.000000
/* AC8B5C 800519BC 44899000 */ mtc1 $t1, $f18
/* AC8B60 800519C0 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC8B64 800519C4 34C6CCCD */ ori $a2, (0x3D4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd
/* AC8B68 800519C8 468092A0 */ cvt.s.w $f10, $f18
/* AC8B6C 800519CC C60E00D4 */ lwc1 $f14, 0xd4($s0)
/* AC8B70 800519D0 46045302 */ mul.s $f12, $f10, $f4
/* AC8B74 800519D4 0C010E27 */ jal func_8004389C
/* AC8B78 800519D8 00000000 */ nop
/* AC8B7C 800519DC E60000D4 */ swc1 $f0, 0xd4($s0)
/* AC8B80 800519E0 02002025 */ move $a0, $s0
/* AC8B84 800519E4 27A50074 */ addiu $a1, $sp, 0x74
/* AC8B88 800519E8 8E060000 */ lw $a2, ($s0)
/* AC8B8C 800519EC 0C0115EA */ jal func_800457A8
/* AC8B90 800519F0 24070001 */ li $a3, 1
/* AC8B94 800519F4 27A4008C */ addiu $a0, $sp, 0x8c
/* AC8B98 800519F8 8FA50034 */ lw $a1, 0x34($sp)
/* AC8B9C 800519FC 0C01F124 */ jal func_8007C490
/* AC8BA0 80051A00 8FA60030 */ lw $a2, 0x30($sp)
/* AC8BA4 80051A04 02002025 */ move $a0, $s0
/* AC8BA8 80051A08 8FA5008C */ lw $a1, 0x8c($sp)
/* AC8BAC 80051A0C 8E060004 */ lw $a2, 4($s0)
/* AC8BB0 80051A10 0C011A33 */ jal func_800468CC
/* AC8BB4 80051A14 8E070008 */ lw $a3, 8($s0)
/* AC8BB8 80051A18 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC8BBC 80051A1C 44813000 */ mtc1 $at, $f6
/* AC8BC0 80051A20 C60800C4 */ lwc1 $f8, 0xc4($s0)
/* AC8BC4 80051A24 E60000DC */ swc1 $f0, 0xdc($s0)
/* AC8BC8 80051A28 86040018 */ lh $a0, 0x18($s0)
/* AC8BCC 80051A2C 46083403 */ div.s $f16, $f6, $f8
/* AC8BD0 80051A30 87A50078 */ lh $a1, 0x78($sp)
/* AC8BD4 80051A34 2407000A */ li $a3, 10
/* AC8BD8 80051A38 44068000 */ mfc1 $a2, $f16
/* AC8BDC 80051A3C 0C010E47 */ jal func_8004391C
/* AC8BE0 80051A40 00000000 */ nop
/* AC8BE4 80051A44 3C048016 */ lui $a0, %hi(gGameInfo) # $a0, 0x8016
/* AC8BE8 80051A48 8C84FA90 */ lw $a0, %lo(gGameInfo)($a0)
/* AC8BEC 80051A4C A7A20090 */ sh $v0, 0x90($sp)
/* AC8BF0 80051A50 3C063F00 */ lui $a2, 0x3f00
/* AC8BF4 80051A54 8483019E */ lh $v1, 0x19e($a0)
/* AC8BF8 80051A58 24072710 */ li $a3, 10000
/* AC8BFC 80051A5C 0062082A */ slt $at, $v1, $v0
/* AC8C00 80051A60 50200004 */ beql $at, $zero, .L80051A74
/* AC8C04 80051A64 87AA0090 */ lh $t2, 0x90($sp)
/* AC8C08 80051A68 A7A30090 */ sh $v1, 0x90($sp)
/* AC8C0C 80051A6C 8483019E */ lh $v1, 0x19e($a0)
/* AC8C10 80051A70 87AA0090 */ lh $t2, 0x90($sp)
.L80051A74:
/* AC8C14 80051A74 00031023 */ negu $v0, $v1
/* AC8C18 80051A78 0142082A */ slt $at, $t2, $v0
/* AC8C1C 80051A7C 50200003 */ beql $at, $zero, .L80051A8C
/* AC8C20 80051A80 86220008 */ lh $v0, 8($s1)
/* AC8C24 80051A84 A7A20090 */ sh $v0, 0x90($sp)
/* AC8C28 80051A88 86220008 */ lh $v0, 8($s1)
.L80051A8C:
/* AC8C2C 80051A8C 50400008 */ beql $v0, $zero, .L80051AB0
/* AC8C30 80051A90 86240004 */ lh $a0, 4($s1)
/* AC8C34 80051A94 862B0004 */ lh $t3, 4($s1)
/* AC8C38 80051A98 862C0006 */ lh $t4, 6($s1)
/* AC8C3C 80051A9C 244EFFFF */ addiu $t6, $v0, -1
/* AC8C40 80051AA0 A62E0008 */ sh $t6, 8($s1)
/* AC8C44 80051AA4 016C6821 */ addu $t5, $t3, $t4
/* AC8C48 80051AA8 A62D0004 */ sh $t5, 4($s1)
/* AC8C4C 80051AAC 86240004 */ lh $a0, 4($s1)
.L80051AB0:
/* AC8C50 80051AB0 0C010E6B */ jal func_800439AC
/* AC8C54 80051AB4 87A5007A */ lh $a1, 0x7a($sp)
/* AC8C58 80051AB8 A7A20092 */ sh $v0, 0x92($sp)
/* AC8C5C 80051ABC 8FA40030 */ lw $a0, 0x30($sp)
/* AC8C60 80051AC0 8FA50034 */ lw $a1, 0x34($sp)
/* AC8C64 80051AC4 0C010F0A */ jal func_80043C28
/* AC8C68 80051AC8 27A6008C */ addiu $a2, $sp, 0x8c
/* AC8C6C 80051ACC 8FAF0030 */ lw $t7, 0x30($sp)
/* AC8C70 80051AD0 8FA60038 */ lw $a2, 0x38($sp)
/* AC8C74 80051AD4 02002025 */ move $a0, $s0
/* AC8C78 80051AD8 8DE80000 */ lw $t0, ($t7)
/* AC8C7C 80051ADC ACC80000 */ sw $t0, ($a2)
/* AC8C80 80051AE0 8DF80004 */ lw $t8, 4($t7)
/* AC8C84 80051AE4 ACD80004 */ sw $t8, 4($a2)
/* AC8C88 80051AE8 8DE80008 */ lw $t0, 8($t7)
/* AC8C8C 80051AEC ACC80008 */ sw $t0, 8($a2)
/* AC8C90 80051AF0 0C010FCD */ jal func_80043F34
/* AC8C94 80051AF4 8FA50034 */ lw $a1, 0x34($sp)
/* AC8C98 80051AF8 C60C0010 */ lwc1 $f12, 0x10($s0)
/* AC8C9C 80051AFC C60E00FC */ lwc1 $f14, 0xfc($s0)
/* AC8CA0 80051B00 8E0600D4 */ lw $a2, 0xd4($s0)
/* AC8CA4 80051B04 0C010E27 */ jal func_8004389C
/* AC8CA8 80051B08 3C073F80 */ lui $a3, 0x3f80
/* AC8CAC 80051B0C E60000FC */ swc1 $f0, 0xfc($s0)
/* AC8CB0 80051B10 A600015A */ sh $zero, 0x15a($s0)
/* AC8CB4 80051B14 02002025 */ move $a0, $s0
/* AC8CB8 80051B18 0C011429 */ jal func_800450A4
/* AC8CBC 80051B1C 8E050014 */ lw $a1, 0x14($s0)
/* AC8CC0 80051B20 E6000100 */ swc1 $f0, 0x100($s0)
/* AC8CC4 80051B24 8FBF001C */ lw $ra, 0x1c($sp)
/* AC8CC8 80051B28 8FB10018 */ lw $s1, 0x18($sp)
/* AC8CCC 80051B2C 8FB00014 */ lw $s0, 0x14($sp)
/* AC8CD0 80051B30 27BD00B0 */ addiu $sp, $sp, 0xb0
/* AC8CD4 80051B34 03E00008 */ jr $ra
/* AC8CD8 80051B38 24020001 */ li $v0, 1

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,361 @@
.late_rodata
glabel D_8013A204
.float 0.01
glabel jtbl_8013A208
.word L800520A8
.word L800520EC
.word L800521A0
.word L80052208
.word L80052230
.word L80052318
glabel D_8013A220
.float 0.001
.text
glabel func_80051F58
/* AC90F8 80051F58 27BDFF98 */ addiu $sp, $sp, -0x68
/* AC90FC 80051F5C AFB00018 */ sw $s0, 0x18($sp)
/* AC9100 80051F60 00808025 */ move $s0, $a0
/* AC9104 80051F64 AFBF001C */ sw $ra, 0x1c($sp)
/* AC9108 80051F68 0C00B721 */ jal Player_GetCameraYOffset
/* AC910C 80051F6C 8C840090 */ lw $a0, 0x90($a0)
/* AC9110 80051F70 E7A0005C */ swc1 $f0, 0x5c($sp)
/* AC9114 80051F74 860E014C */ lh $t6, 0x14c($s0)
/* AC9118 80051F78 8602015E */ lh $v0, 0x15e($s0)
/* AC911C 80051F7C 2401000A */ li $at, 10
/* AC9120 80051F80 31CFFFEF */ andi $t7, $t6, 0xffef
/* AC9124 80051F84 10400008 */ beqz $v0, .L80051FA8
/* AC9128 80051F88 A60F014C */ sh $t7, 0x14c($s0)
/* AC912C 80051F8C 10410006 */ beq $v0, $at, .L80051FA8
/* AC9130 80051F90 24010014 */ li $at, 20
/* AC9134 80051F94 10410004 */ beq $v0, $at, .L80051FA8
/* AC9138 80051F98 3C188016 */ lui $t8, %hi(gGameInfo) # $t8, 0x8016
/* AC913C 80051F9C 8F18FA90 */ lw $t8, %lo(gGameInfo)($t8)
/* AC9140 80051FA0 87030314 */ lh $v1, 0x314($t8)
/* AC9144 80051FA4 1060002E */ beqz $v1, .L80052060
.L80051FA8:
/* AC9148 80051FA8 3C018014 */ lui $at, %hi(D_8013A204)
/* AC914C 80051FAC C42EA204 */ lwc1 $f14, %lo(D_8013A204)($at)
/* AC9150 80051FB0 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* AC9154 80051FB4 44814000 */ mtc1 $at, $f8
/* AC9158 80051FB8 3C014288 */ lui $at, 0x4288
/* AC915C 80051FBC 3C0D8016 */ lui $t5, %hi(gGameInfo)
/* AC9160 80051FC0 8DADFA90 */ lw $t5, %lo(gGameInfo)($t5)
/* AC9164 80051FC4 44818000 */ mtc1 $at, $f16
/* AC9168 80051FC8 86190142 */ lh $t9, 0x142($s0)
/* AC916C 80051FCC 85AE01F0 */ lh $t6, 0x1f0($t5)
/* AC9170 80051FD0 46008483 */ div.s $f18, $f16, $f0
/* AC9174 80051FD4 3C098012 */ lui $t1, %hi(D_8011D068)
/* AC9178 80051FD8 448E2000 */ mtc1 $t6, $f4
/* AC917C 80051FDC 001940C0 */ sll $t0, $t9, 3
/* AC9180 80051FE0 860A0144 */ lh $t2, 0x144($s0)
/* AC9184 80051FE4 468021A0 */ cvt.s.w $f6, $f4
/* AC9188 80051FE8 01284821 */ addu $t1, $t1, $t0
/* AC918C 80051FEC 8D29D068 */ lw $t1, %lo(D_8011D068)($t1)
/* AC9190 80051FF0 000A58C0 */ sll $t3, $t2, 3
/* AC9194 80051FF4 2604000C */ addiu $a0, $s0, 0xc
/* AC9198 80051FF8 012B6021 */ addu $t4, $t1, $t3
/* AC919C 80051FFC 8D820004 */ lw $v0, 4($t4)
/* AC91A0 80052000 3C088016 */ lui $t0, %hi(gGameInfo) # $t0, 0x8016
/* AC91A4 80052004 844F0000 */ lh $t7, ($v0)
/* AC91A8 80052008 24420008 */ addiu $v0, $v0, 8
/* AC91AC 8005200C 460E3082 */ mul.s $f2, $f6, $f14
/* AC91B0 80052010 448F3000 */ mtc1 $t7, $f6
/* AC91B4 80052014 46024280 */ add.s $f10, $f8, $f2
/* AC91B8 80052018 46121102 */ mul.s $f4, $f2, $f18
/* AC91BC 8005201C 46803220 */ cvt.s.w $f8, $f6
/* AC91C0 80052020 46045301 */ sub.s $f12, $f10, $f4
/* AC91C4 80052024 460E4402 */ mul.s $f16, $f8, $f14
/* AC91C8 80052028 00000000 */ nop
/* AC91CC 8005202C 46008482 */ mul.s $f18, $f16, $f0
/* AC91D0 80052030 00000000 */ nop
/* AC91D4 80052034 460C9282 */ mul.s $f10, $f18, $f12
/* AC91D8 80052038 E48A0000 */ swc1 $f10, ($a0)
/* AC91DC 8005203C 8458FFFC */ lh $t8, -4($v0)
/* AC91E0 80052040 44982000 */ mtc1 $t8, $f4
/* AC91E4 80052044 00000000 */ nop
/* AC91E8 80052048 468021A0 */ cvt.s.w $f6, $f4
/* AC91EC 8005204C E4860004 */ swc1 $f6, 4($a0)
/* AC91F0 80052050 84590000 */ lh $t9, ($v0)
/* AC91F4 80052054 A4990008 */ sh $t9, 8($a0)
/* AC91F8 80052058 8D08FA90 */ lw $t0, %lo(gGameInfo)($t0)
/* AC91FC 8005205C 85030314 */ lh $v1, 0x314($t0)
.L80052060:
/* AC9200 80052060 260A000C */ addiu $t2, $s0, 0xc
/* AC9204 80052064 10600003 */ beqz $v1, .L80052074
/* AC9208 80052068 AFAA0028 */ sw $t2, 0x28($sp)
/* AC920C 8005206C 0C011495 */ jal func_80045254
/* AC9210 80052070 02002025 */ move $a0, $s0
.L80052074:
/* AC9214 80052074 8FA90028 */ lw $t1, 0x28($sp)
/* AC9218 80052078 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012
/* AC921C 8005207C 852B0008 */ lh $t3, 8($t1)
/* AC9220 80052080 AC2BD3A0 */ sw $t3, %lo(D_8011D3A0)($at)
/* AC9224 80052084 960C015E */ lhu $t4, 0x15e($s0)
/* AC9228 80052088 2D810006 */ sltiu $at, $t4, 6
/* AC922C 8005208C 102000D1 */ beqz $at, .L800523D4
/* AC9230 80052090 000C6080 */ sll $t4, $t4, 2
/* AC9234 80052094 3C018014 */ lui $at, %hi(jtbl_8013A208)
/* AC9238 80052098 002C0821 */ addu $at, $at, $t4
/* AC923C 8005209C 8C2CA208 */ lw $t4, %lo(jtbl_8013A208)($at)
/* AC9240 800520A0 01800008 */ jr $t4
/* AC9244 800520A4 00000000 */ nop
glabel L800520A8
/* AC9248 800520A8 0C010ED8 */ jal func_80043B60
/* AC924C 800520AC 02002025 */ move $a0, $s0
/* AC9250 800520B0 860D014C */ lh $t5, 0x14c($s0)
/* AC9254 800520B4 C60800FC */ lwc1 $f8, 0xfc($s0)
/* AC9258 800520B8 26020018 */ addiu $v0, $s0, 0x18
/* AC925C 800520BC 31AEFFF3 */ andi $t6, $t5, 0xfff3
/* AC9260 800520C0 A60E014C */ sh $t6, 0x14c($s0)
/* AC9264 800520C4 E4480000 */ swc1 $f8, ($v0)
/* AC9268 800520C8 AFA2002C */ sw $v0, 0x2c($sp)
/* AC926C 800520CC 26040050 */ addiu $a0, $s0, 0x50
/* AC9270 800520D0 0C01EFE4 */ jal func_8007BF90
/* AC9274 800520D4 2605005C */ addiu $a1, $s0, 0x5c
/* AC9278 800520D8 8FA2002C */ lw $v0, 0x2c($sp)
/* AC927C 800520DC E4400004 */ swc1 $f0, 4($v0)
/* AC9280 800520E0 860F015E */ lh $t7, 0x15e($s0)
/* AC9284 800520E4 25F80001 */ addiu $t8, $t7, 1
/* AC9288 800520E8 A618015E */ sh $t8, 0x15e($s0)
glabel L800520EC
/* AC928C 800520EC 86020006 */ lh $v0, 6($s0)
/* AC9290 800520F0 02002025 */ move $a0, $s0
/* AC9294 800520F4 26080050 */ addiu $t0, $s0, 0x50
/* AC9298 800520F8 0002182A */ slt $v1, $zero, $v0
/* AC929C 800520FC 2459FFFF */ addiu $t9, $v0, -1
/* AC92A0 80052100 146000D2 */ bnez $v1, .L8005244C
/* AC92A4 80052104 A6190006 */ sh $t9, 6($s0)
/* AC92A8 80052108 260A005C */ addiu $t2, $s0, 0x5c
/* AC92AC 8005210C AFAA0024 */ sw $t2, 0x24($sp)
/* AC92B0 80052110 0C0111DB */ jal func_8004476C
/* AC92B4 80052114 AFA8002C */ sw $t0, 0x2c($sp)
/* AC92B8 80052118 26040074 */ addiu $a0, $s0, 0x74
/* AC92BC 8005211C AFA20054 */ sw $v0, 0x54($sp)
/* AC92C0 80052120 AFA40020 */ sw $a0, 0x20($sp)
/* AC92C4 80052124 0C010EF1 */ jal func_80043BC4
/* AC92C8 80052128 00402825 */ move $a1, $v0
/* AC92CC 8005212C 8FA90020 */ lw $t1, 0x20($sp)
/* AC92D0 80052130 8FA50024 */ lw $a1, 0x24($sp)
/* AC92D4 80052134 27AD004C */ addiu $t5, $sp, 0x4c
/* AC92D8 80052138 8D2C0000 */ lw $t4, ($t1)
/* AC92DC 8005213C 3C0142C8 */ li $at, 0x42C80000 # 0.000000
/* AC92E0 80052140 44818000 */ mtc1 $at, $f16
/* AC92E4 80052144 ACAC0000 */ sw $t4, ($a1)
/* AC92E8 80052148 8D2B0004 */ lw $t3, 4($t1)
/* AC92EC 8005214C 27A60060 */ addiu $a2, $sp, 0x60
/* AC92F0 80052150 ACAB0004 */ sw $t3, 4($a1)
/* AC92F4 80052154 8D2C0008 */ lw $t4, 8($t1)
/* AC92F8 80052158 ACAC0008 */ sw $t4, 8($a1)
/* AC92FC 8005215C 8FAE0054 */ lw $t6, 0x54($sp)
/* AC9300 80052160 89D80006 */ lwl $t8, 6($t6)
/* AC9304 80052164 99D80009 */ lwr $t8, 9($t6)
/* AC9308 80052168 ADB80000 */ sw $t8, ($t5)
/* AC930C 8005216C 95D8000A */ lhu $t8, 0xa($t6)
/* AC9310 80052170 A5B80004 */ sh $t8, 4($t5)
/* AC9314 80052174 87A8004C */ lh $t0, 0x4c($sp)
/* AC9318 80052178 87B9004E */ lh $t9, 0x4e($sp)
/* AC931C 8005217C 8FA4002C */ lw $a0, 0x2c($sp)
/* AC9320 80052180 00085023 */ negu $t2, $t0
/* AC9324 80052184 A7AA0064 */ sh $t2, 0x64($sp)
/* AC9328 80052188 E7B00060 */ swc1 $f16, 0x60($sp)
/* AC932C 8005218C 0C010F0A */ jal func_80043C28
/* AC9330 80052190 A7B90066 */ sh $t9, 0x66($sp)
/* AC9334 80052194 8609015E */ lh $t1, 0x15e($s0)
/* AC9338 80052198 252B0001 */ addiu $t3, $t1, 1
/* AC933C 8005219C A60B015E */ sh $t3, 0x15e($s0)
glabel L800521A0
/* AC9340 800521A0 8FAC0028 */ lw $t4, 0x28($sp)
/* AC9344 800521A4 858D0008 */ lh $t5, 8($t4)
/* AC9348 800521A8 31AE0004 */ andi $t6, $t5, 4
/* AC934C 800521AC 51C0000F */ beql $t6, $zero, .L800521EC
/* AC9350 800521B0 86020008 */ lh $v0, 8($s0)
/* AC9354 800521B4 8E180094 */ lw $t8, 0x94($s0)
/* AC9358 800521B8 8E0F0098 */ lw $t7, 0x98($s0)
/* AC935C 800521BC AE180050 */ sw $t8, 0x50($s0)
/* AC9360 800521C0 8E18009C */ lw $t8, 0x9c($s0)
/* AC9364 800521C4 AE0F0054 */ sw $t7, 0x54($s0)
/* AC9368 800521C8 C6060054 */ lwc1 $f6, 0x54($s0)
/* AC936C 800521CC AE180058 */ sw $t8, 0x58($s0)
/* AC9370 800521D0 8FB90028 */ lw $t9, 0x28($sp)
/* AC9374 800521D4 C7B2005C */ lwc1 $f18, 0x5c($sp)
/* AC9378 800521D8 C72A0000 */ lwc1 $f10, ($t9)
/* AC937C 800521DC 460A9100 */ add.s $f4, $f18, $f10
/* AC9380 800521E0 46043200 */ add.s $f8, $f6, $f4
/* AC9384 800521E4 E6080054 */ swc1 $f8, 0x54($s0)
/* AC9388 800521E8 86020008 */ lh $v0, 8($s0)
.L800521EC:
/* AC938C 800521EC 0002182A */ slt $v1, $zero, $v0
/* AC9390 800521F0 2448FFFF */ addiu $t0, $v0, -1
/* AC9394 800521F4 14600095 */ bnez $v1, .L8005244C
/* AC9398 800521F8 A6080008 */ sh $t0, 8($s0)
/* AC939C 800521FC 860A015E */ lh $t2, 0x15e($s0)
/* AC93A0 80052200 25490001 */ addiu $t1, $t2, 1
/* AC93A4 80052204 A609015E */ sh $t1, 0x15e($s0)
glabel L80052208
/* AC93A8 80052208 860B014C */ lh $t3, 0x14c($s0)
/* AC93AC 8005220C 356C0410 */ ori $t4, $t3, 0x410
/* AC93B0 80052210 A60C014C */ sh $t4, 0x14c($s0)
/* AC93B4 80052214 860D014C */ lh $t5, 0x14c($s0)
/* AC93B8 80052218 31AE0008 */ andi $t6, $t5, 8
/* AC93BC 8005221C 51C0008C */ beql $t6, $zero, .L80052450
/* AC93C0 80052220 8FBF001C */ lw $ra, 0x1c($sp)
/* AC93C4 80052224 860F015E */ lh $t7, 0x15e($s0)
/* AC93C8 80052228 25F80001 */ addiu $t8, $t7, 1
/* AC93CC 8005222C A618015E */ sh $t8, 0x15e($s0)
glabel L80052230
/* AC93D0 80052230 8FB90028 */ lw $t9, 0x28($sp)
/* AC93D4 80052234 240E0005 */ li $t6, 5
/* AC93D8 80052238 3C018014 */ lui $at, %hi(D_8013A220)
/* AC93DC 8005223C 87280008 */ lh $t0, 8($t9)
/* AC93E0 80052240 310A0002 */ andi $t2, $t0, 2
/* AC93E4 80052244 5140000E */ beql $t2, $zero, .L80052280
/* AC93E8 80052248 A60E000A */ sh $t6, 0xa($s0)
/* AC93EC 8005224C 8609014C */ lh $t1, 0x14c($s0)
/* AC93F0 80052250 02002025 */ move $a0, $s0
/* AC93F4 80052254 24050018 */ li $a1, 24
/* AC93F8 80052258 352B0004 */ ori $t3, $t1, 4
/* AC93FC 8005225C A60B014C */ sh $t3, 0x14c($s0)
/* AC9400 80052260 860C014C */ lh $t4, 0x14c($s0)
/* AC9404 80052264 24060002 */ li $a2, 2
/* AC9408 80052268 318DFFF7 */ andi $t5, $t4, 0xfff7
/* AC940C 8005226C 0C016952 */ jal func_8005A548
/* AC9410 80052270 A60D014C */ sh $t5, 0x14c($s0)
/* AC9414 80052274 10000076 */ b .L80052450
/* AC9418 80052278 8FBF001C */ lw $ra, 0x1c($sp)
/* AC941C 8005227C A60E000A */ sh $t6, 0xa($s0)
.L80052280:
/* AC9420 80052280 C430A220 */ lwc1 $f16, %lo(D_8013A220)($at)
/* AC9424 80052284 C61200D8 */ lwc1 $f18, 0xd8($s0)
/* AC9428 80052288 3C0F8016 */ lui $t7, %hi(D_8015BD7C) # $t7, 0x8016
/* AC942C 8005228C 4612803C */ c.lt.s $f16, $f18
/* AC9430 80052290 00000000 */ nop
/* AC9434 80052294 4503001E */ bc1tl .L80052310
/* AC9438 80052298 860E015E */ lh $t6, 0x15e($s0)
/* AC943C 8005229C 8DEFBD7C */ lw $t7, %lo(D_8015BD7C)($t7)
/* AC9440 800522A0 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff
/* AC9444 800522A4 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff
/* AC9448 800522A8 95E20020 */ lhu $v0, 0x20($t7)
/* AC944C 800522AC 0041C027 */ nor $t8, $v0, $at
/* AC9450 800522B0 13000016 */ beqz $t8, .L8005230C
/* AC9454 800522B4 2401BFFF */ li $at, -16385
/* AC9458 800522B8 0041C827 */ nor $t9, $v0, $at
/* AC945C 800522BC 13200013 */ beqz $t9, .L8005230C
/* AC9460 800522C0 2401FFFD */ li $at, -3
/* AC9464 800522C4 00414027 */ nor $t0, $v0, $at
/* AC9468 800522C8 11000010 */ beqz $t0, .L8005230C
/* AC946C 800522CC 2401FFFB */ li $at, -5
/* AC9470 800522D0 00415027 */ nor $t2, $v0, $at
/* AC9474 800522D4 1140000D */ beqz $t2, .L8005230C
/* AC9478 800522D8 2401FFF7 */ li $at, -9
/* AC947C 800522DC 00414827 */ nor $t1, $v0, $at
/* AC9480 800522E0 1120000A */ beqz $t1, .L8005230C
/* AC9484 800522E4 2401FFFE */ li $at, -2
/* AC9488 800522E8 00415827 */ nor $t3, $v0, $at
/* AC948C 800522EC 11600007 */ beqz $t3, .L8005230C
/* AC9490 800522F0 2401FFEF */ li $at, -17
/* AC9494 800522F4 00416027 */ nor $t4, $v0, $at
/* AC9498 800522F8 11800004 */ beqz $t4, .L8005230C
/* AC949C 800522FC 2401DFFF */ li $at, -8193
/* AC94A0 80052300 00416827 */ nor $t5, $v0, $at
/* AC94A4 80052304 55A00052 */ bnezl $t5, .L80052450
/* AC94A8 80052308 8FBF001C */ lw $ra, 0x1c($sp)
.L8005230C:
/* AC94AC 8005230C 860E015E */ lh $t6, 0x15e($s0)
.L80052310:
/* AC94B0 80052310 25CF0001 */ addiu $t7, $t6, 1
/* AC94B4 80052314 A60F015E */ sh $t7, 0x15e($s0)
glabel L80052318
/* AC94B8 80052318 C60C0018 */ lwc1 $f12, 0x18($s0)
/* AC94BC 8005231C C60E00FC */ lwc1 $f14, 0xfc($s0)
/* AC94C0 80052320 3C063ECC */ lui $a2, (0x3ECCCCCD >> 16) # lui $a2, 0x3ecc
/* AC94C4 80052324 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* AC94C8 80052328 26180050 */ addiu $t8, $s0, 0x50
/* AC94CC 8005232C 2619005C */ addiu $t9, $s0, 0x5c
/* AC94D0 80052330 26080074 */ addiu $t0, $s0, 0x74
/* AC94D4 80052334 AFA80020 */ sw $t0, 0x20($sp)
/* AC94D8 80052338 AFB90024 */ sw $t9, 0x24($sp)
/* AC94DC 8005233C AFB8002C */ sw $t8, 0x2c($sp)
/* AC94E0 80052340 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC94E4 80052344 0C010E27 */ jal func_8004389C
/* AC94E8 80052348 34C6CCCD */ ori $a2, (0x3ECCCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd
/* AC94EC 8005234C E60000FC */ swc1 $f0, 0xfc($s0)
/* AC94F0 80052350 8FA60024 */ lw $a2, 0x24($sp)
/* AC94F4 80052354 8FA5002C */ lw $a1, 0x2c($sp)
/* AC94F8 80052358 0C01F124 */ jal func_8007C490
/* AC94FC 8005235C 27A40060 */ addiu $a0, $sp, 0x60
/* AC9500 80052360 3C0142C8 */ li $at, 0x42C80000 # 0.000000
/* AC9504 80052364 44816000 */ mtc1 $at, $f12
/* AC9508 80052368 3C063ECC */ lui $a2, (0x3ECCCCCD >> 16) # lui $a2, 0x3ecc
/* AC950C 8005236C 3C073DCC */ li $a3, 0x3DCC0000 # 0.000000
/* AC9510 80052370 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* AC9514 80052374 34C6CCCD */ ori $a2, (0x3ECCCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd
/* AC9518 80052378 0C010E27 */ jal func_8004389C
/* AC951C 8005237C C7AE0060 */ lwc1 $f14, 0x60($sp)
/* AC9520 80052380 E7A00060 */ swc1 $f0, 0x60($sp)
/* AC9524 80052384 8FA40020 */ lw $a0, 0x20($sp)
/* AC9528 80052388 8FA5002C */ lw $a1, 0x2c($sp)
/* AC952C 8005238C 0C010F0A */ jal func_80043C28
/* AC9530 80052390 27A60060 */ addiu $a2, $sp, 0x60
/* AC9534 80052394 8FA90020 */ lw $t1, 0x20($sp)
/* AC9538 80052398 8FAA0024 */ lw $t2, 0x24($sp)
/* AC953C 8005239C 8D2C0000 */ lw $t4, ($t1)
/* AC9540 800523A0 AD4C0000 */ sw $t4, ($t2)
/* AC9544 800523A4 8D2B0004 */ lw $t3, 4($t1)
/* AC9548 800523A8 AD4B0004 */ sw $t3, 4($t2)
/* AC954C 800523AC 8D2C0008 */ lw $t4, 8($t1)
/* AC9550 800523B0 AD4C0008 */ sw $t4, 8($t2)
/* AC9554 800523B4 8604000A */ lh $a0, 0xa($s0)
/* AC9558 800523B8 0004182A */ slt $v1, $zero, $a0
/* AC955C 800523BC 248DFFFF */ addiu $t5, $a0, -1
/* AC9560 800523C0 14600022 */ bnez $v1, .L8005244C
/* AC9564 800523C4 A60D000A */ sh $t5, 0xa($s0)
/* AC9568 800523C8 860E015E */ lh $t6, 0x15e($s0)
/* AC956C 800523CC 25CF0001 */ addiu $t7, $t6, 1
/* AC9570 800523D0 A60F015E */ sh $t7, 0x15e($s0)
.L800523D4:
/* AC9574 800523D4 8618014C */ lh $t8, 0x14c($s0)
/* AC9578 800523D8 86050154 */ lh $a1, 0x154($s0)
/* AC957C 800523DC 26030094 */ addiu $v1, $s0, 0x94
/* AC9580 800523E0 37190004 */ ori $t9, $t8, 4
/* AC9584 800523E4 A619014C */ sh $t9, 0x14c($s0)
/* AC9588 800523E8 8608014C */ lh $t0, 0x14c($s0)
/* AC958C 800523EC 02002025 */ move $a0, $s0
/* AC9590 800523F0 24060002 */ li $a2, 2
/* AC9594 800523F4 310AFFF7 */ andi $t2, $t0, 0xfff7
/* AC9598 800523F8 A60A014C */ sh $t2, 0x14c($s0)
/* AC959C 800523FC 8FA90028 */ lw $t1, 0x28($sp)
/* AC95A0 80052400 C52A0004 */ lwc1 $f10, 4($t1)
/* AC95A4 80052404 E60A00FC */ swc1 $f10, 0xfc($s0)
/* AC95A8 80052408 0C016952 */ jal func_8005A548
/* AC95AC 8005240C AFA3002C */ sw $v1, 0x2c($sp)
/* AC95B0 80052410 44803000 */ mtc1 $zero, $f6
/* AC95B4 80052414 8FA3002C */ lw $v1, 0x2c($sp)
/* AC95B8 80052418 C6040050 */ lwc1 $f4, 0x50($s0)
/* AC95BC 8005241C E6060100 */ swc1 $f6, 0x100($s0)
/* AC95C0 80052420 C4680000 */ lwc1 $f8, ($v1)
/* AC95C4 80052424 C6120054 */ lwc1 $f18, 0x54($s0)
/* AC95C8 80052428 46082401 */ sub.s $f16, $f4, $f8
/* AC95CC 8005242C C6040058 */ lwc1 $f4, 0x58($s0)
/* AC95D0 80052430 E61000E4 */ swc1 $f16, 0xe4($s0)
/* AC95D4 80052434 C46A0004 */ lwc1 $f10, 4($v1)
/* AC95D8 80052438 460A9181 */ sub.s $f6, $f18, $f10
/* AC95DC 8005243C E60600E8 */ swc1 $f6, 0xe8($s0)
/* AC95E0 80052440 C4680008 */ lwc1 $f8, 8($v1)
/* AC95E4 80052444 46082401 */ sub.s $f16, $f4, $f8
/* AC95E8 80052448 E61000EC */ swc1 $f16, 0xec($s0)
.L8005244C:
/* AC95EC 8005244C 8FBF001C */ lw $ra, 0x1c($sp)
.L80052450:
/* AC95F0 80052450 8FB00018 */ lw $s0, 0x18($sp)
/* AC95F4 80052454 27BD0068 */ addiu $sp, $sp, 0x68
/* AC95F8 80052458 03E00008 */ jr $ra
/* AC95FC 8005245C 24020001 */ li $v0, 1

View file

@ -0,0 +1,377 @@
.late_rodata
glabel D_8013A224
.float 0.01
glabel D_8013A228
.float 0.001
.text
glabel func_80052460
/* AC9600 80052460 27BDFF78 */ addiu $sp, $sp, -0x88
/* AC9604 80052464 AFB00018 */ sw $s0, 0x18($sp)
/* AC9608 80052468 00808025 */ move $s0, $a0
/* AC960C 8005246C AFBF001C */ sw $ra, 0x1c($sp)
/* AC9610 80052470 0C00B721 */ jal Player_GetCameraYOffset
/* AC9614 80052474 8C840090 */ lw $a0, 0x90($a0)
/* AC9618 80052478 8E0E0090 */ lw $t6, 0x90($s0)
/* AC961C 8005247C 46000086 */ mov.s $f2, $f0
/* AC9620 80052480 2401000A */ li $at, 10
/* AC9624 80052484 AFAE007C */ sw $t6, 0x7c($sp)
/* AC9628 80052488 8602015E */ lh $v0, 0x15e($s0)
/* AC962C 8005248C 02002025 */ move $a0, $s0
/* AC9630 80052490 5040000A */ beql $v0, $zero, .L800524BC
/* AC9634 80052494 86180142 */ lh $t8, 0x142($s0)
/* AC9638 80052498 10410007 */ beq $v0, $at, .L800524B8
/* AC963C 8005249C 24010014 */ li $at, 20
/* AC9640 800524A0 10410005 */ beq $v0, $at, .L800524B8
/* AC9644 800524A4 3C0F8016 */ lui $t7, %hi(gGameInfo) # $t7, 0x8016
/* AC9648 800524A8 8DEFFA90 */ lw $t7, %lo(gGameInfo)($t7)
/* AC964C 800524AC 85E20314 */ lh $v0, 0x314($t7)
/* AC9650 800524B0 50400010 */ beql $v0, $zero, .L800524F4
/* AC9654 800524B4 260F000C */ addiu $t7, $s0, 0xc
.L800524B8:
/* AC9658 800524B8 86180142 */ lh $t8, 0x142($s0)
.L800524BC:
/* AC965C 800524BC 3C098012 */ lui $t1, %hi(D_8011D068)
/* AC9660 800524C0 860A0144 */ lh $t2, 0x144($s0)
/* AC9664 800524C4 0018C8C0 */ sll $t9, $t8, 3
/* AC9668 800524C8 01394821 */ addu $t1, $t1, $t9
/* AC966C 800524CC 8D29D068 */ lw $t1, %lo(D_8011D068)($t1)
/* AC9670 800524D0 000A58C0 */ sll $t3, $t2, 3
/* AC9674 800524D4 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016
/* AC9678 800524D8 012B6021 */ addu $t4, $t1, $t3
/* AC967C 800524DC 8D830004 */ lw $v1, 4($t4)
/* AC9680 800524E0 846D0000 */ lh $t5, ($v1)
/* AC9684 800524E4 A60D000C */ sh $t5, 0xc($s0)
/* AC9688 800524E8 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
/* AC968C 800524EC 85C20314 */ lh $v0, 0x314($t6)
/* AC9690 800524F0 260F000C */ addiu $t7, $s0, 0xc
.L800524F4:
/* AC9694 800524F4 10400004 */ beqz $v0, .L80052508
/* AC9698 800524F8 AFAF0030 */ sw $t7, 0x30($sp)
/* AC969C 800524FC 0C011495 */ jal func_80045254
/* AC96A0 80052500 E7A20084 */ swc1 $f2, 0x84($sp)
/* AC96A4 80052504 C7A20084 */ lwc1 $f2, 0x84($sp)
.L80052508:
/* AC96A8 80052508 26060094 */ addiu $a2, $s0, 0x94
/* AC96AC 8005250C 8CCA0000 */ lw $t2, ($a2)
/* AC96B0 80052510 27B80070 */ addiu $t8, $sp, 0x70
/* AC96B4 80052514 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012
/* AC96B8 80052518 AF0A0000 */ sw $t2, ($t8)
/* AC96BC 8005251C 8CD90004 */ lw $t9, 4($a2)
/* AC96C0 80052520 02002025 */ move $a0, $s0
/* AC96C4 80052524 AF190004 */ sw $t9, 4($t8)
/* AC96C8 80052528 8CCA0008 */ lw $t2, 8($a2)
/* AC96CC 8005252C AF0A0008 */ sw $t2, 8($t8)
/* AC96D0 80052530 C7A40074 */ lwc1 $f4, 0x74($sp)
/* AC96D4 80052534 8FA90030 */ lw $t1, 0x30($sp)
/* AC96D8 80052538 46022180 */ add.s $f6, $f4, $f2
/* AC96DC 8005253C E7A60074 */ swc1 $f6, 0x74($sp)
/* AC96E0 80052540 852B0000 */ lh $t3, ($t1)
/* AC96E4 80052544 AC2BD3A0 */ sw $t3, %lo(D_8011D3A0)($at)
/* AC96E8 80052548 860C015E */ lh $t4, 0x15e($s0)
/* AC96EC 8005254C 55800064 */ bnezl $t4, .L800526E0
/* AC96F0 80052550 8FAB007C */ lw $t3, 0x7c($sp)
/* AC96F4 80052554 0C010ED8 */ jal func_80043B60
/* AC96F8 80052558 AFA60034 */ sw $a2, 0x34($sp)
/* AC96FC 8005255C 860D014C */ lh $t5, 0x14c($s0)
/* AC9700 80052560 02002025 */ move $a0, $s0
/* AC9704 80052564 31AEFFFB */ andi $t6, $t5, 0xfffb
/* AC9708 80052568 0C0111DB */ jal func_8004476C
/* AC970C 8005256C A60E014C */ sh $t6, 0x14c($s0)
/* AC9710 80052570 26070010 */ addiu $a3, $s0, 0x10
/* AC9714 80052574 24E40010 */ addiu $a0, $a3, 0x10
/* AC9718 80052578 AFA40024 */ sw $a0, 0x24($sp)
/* AC971C 8005257C AFA7002C */ sw $a3, 0x2c($sp)
/* AC9720 80052580 00402825 */ move $a1, $v0
/* AC9724 80052584 0C010EF1 */ jal func_80043BC4
/* AC9728 80052588 AFA20064 */ sw $v0, 0x64($sp)
/* AC972C 8005258C 8FAF0024 */ lw $t7, 0x24($sp)
/* AC9730 80052590 8FA60064 */ lw $a2, 0x64($sp)
/* AC9734 80052594 27A40038 */ addiu $a0, $sp, 0x38
/* AC9738 80052598 8DF90000 */ lw $t9, ($t7)
/* AC973C 8005259C 8FA7002C */ lw $a3, 0x2c($sp)
/* AC9740 800525A0 2605005C */ addiu $a1, $s0, 0x5c
/* AC9744 800525A4 AC990000 */ sw $t9, ($a0)
/* AC9748 800525A8 8DF80004 */ lw $t8, 4($t7)
/* AC974C 800525AC 8C890000 */ lw $t1, ($a0)
/* AC9750 800525B0 27AD005C */ addiu $t5, $sp, 0x5c
/* AC9754 800525B4 AC980004 */ sw $t8, 4($a0)
/* AC9758 800525B8 8DF90008 */ lw $t9, 8($t7)
/* AC975C 800525BC 2408FFFF */ li $t0, -1
/* AC9760 800525C0 AC990008 */ sw $t9, 8($a0)
/* AC9764 800525C4 AE090074 */ sw $t1, 0x74($s0)
/* AC9768 800525C8 8C8A0004 */ lw $t2, 4($a0)
/* AC976C 800525CC AE0A0078 */ sw $t2, 0x78($s0)
/* AC9770 800525D0 8C890008 */ lw $t1, 8($a0)
/* AC9774 800525D4 AE09007C */ sw $t1, 0x7c($s0)
/* AC9778 800525D8 8C8C0000 */ lw $t4, ($a0)
/* AC977C 800525DC ACAC0000 */ sw $t4, ($a1)
/* AC9780 800525E0 8C8B0004 */ lw $t3, 4($a0)
/* AC9784 800525E4 ACAB0004 */ sw $t3, 4($a1)
/* AC9788 800525E8 8C8C0008 */ lw $t4, 8($a0)
/* AC978C 800525EC 27A40070 */ addiu $a0, $sp, 0x70
/* AC9790 800525F0 ACAC0008 */ sw $t4, 8($a1)
/* AC9794 800525F4 88CF0006 */ lwl $t7, 6($a2)
/* AC9798 800525F8 98CF0009 */ lwr $t7, 9($a2)
/* AC979C 800525FC ADAF0000 */ sw $t7, ($t5)
/* AC97A0 80052600 94CF000A */ lhu $t7, 0xa($a2)
/* AC97A4 80052604 A5AF0004 */ sh $t7, 4($t5)
/* AC97A8 80052608 84C3000C */ lh $v1, 0xc($a2)
/* AC97AC 8005260C 1068000E */ beq $v1, $t0, .L80052648
/* AC97B0 80052610 28610169 */ slti $at, $v1, 0x169
/* AC97B4 80052614 50200007 */ beql $at, $zero, .L80052634
/* AC97B8 80052618 44838000 */ mtc1 $v1, $f16
/* AC97BC 8005261C 44834000 */ mtc1 $v1, $f8
/* AC97C0 80052620 00000000 */ nop
/* AC97C4 80052624 468042A0 */ cvt.s.w $f10, $f8
/* AC97C8 80052628 10000007 */ b .L80052648
/* AC97CC 8005262C E60A00FC */ swc1 $f10, 0xfc($s0)
/* AC97D0 80052630 44838000 */ mtc1 $v1, $f16
.L80052634:
/* AC97D4 80052634 3C018014 */ lui $at, %hi(D_8013A224)
/* AC97D8 80052638 C424A224 */ lwc1 $f4, %lo(D_8013A224)($at)
/* AC97DC 8005263C 468084A0 */ cvt.s.w $f18, $f16
/* AC97E0 80052640 46049182 */ mul.s $f6, $f18, $f4
/* AC97E4 80052644 E60600FC */ swc1 $f6, 0xfc($s0)
.L80052648:
/* AC97E8 80052648 84D8000E */ lh $t8, 0xe($a2)
/* AC97EC 8005264C A4F8000C */ sh $t8, 0xc($a3)
/* AC97F0 80052650 84F9000C */ lh $t9, 0xc($a3)
/* AC97F4 80052654 15190005 */ bne $t0, $t9, .L8005266C
/* AC97F8 80052658 00000000 */ nop
/* AC97FC 8005265C 860A0006 */ lh $t2, 6($s0)
/* AC9800 80052660 86090008 */ lh $t1, 8($s0)
/* AC9804 80052664 01495821 */ addu $t3, $t2, $t1
/* AC9808 80052668 A4EB000C */ sh $t3, 0xc($a3)
.L8005266C:
/* AC980C 8005266C 0C01EFE4 */ jal func_8007BF90
/* AC9810 80052670 AFA7002C */ sw $a3, 0x2c($sp)
/* AC9814 80052674 87AD005C */ lh $t5, 0x5c($sp)
/* AC9818 80052678 8FA7002C */ lw $a3, 0x2c($sp)
/* AC981C 8005267C 87AC005E */ lh $t4, 0x5e($sp)
/* AC9820 80052680 000D7023 */ negu $t6, $t5
/* AC9824 80052684 E7A00068 */ swc1 $f0, 0x68($sp)
/* AC9828 80052688 A7AE006C */ sh $t6, 0x6c($sp)
/* AC982C 8005268C 27A50068 */ addiu $a1, $sp, 0x68
/* AC9830 80052690 24E4001C */ addiu $a0, $a3, 0x1c
/* AC9834 80052694 0C01F097 */ jal func_8007C25C
/* AC9838 80052698 A7AC006E */ sh $t4, 0x6e($sp)
/* AC983C 8005269C 8FA40024 */ lw $a0, 0x24($sp)
/* AC9840 800526A0 8FA50034 */ lw $a1, 0x34($sp)
/* AC9844 800526A4 0C032AE5 */ jal Math3D_LineVsPos
/* AC9848 800526A8 26060050 */ addiu $a2, $s0, 0x50
/* AC984C 800526AC 8FAF0034 */ lw $t7, 0x34($sp)
/* AC9850 800526B0 8FA7002C */ lw $a3, 0x2c($sp)
/* AC9854 800526B4 8DF90000 */ lw $t9, ($t7)
/* AC9858 800526B8 ACF90000 */ sw $t9, ($a3)
/* AC985C 800526BC 8DF80004 */ lw $t8, 4($t7)
/* AC9860 800526C0 ACF80004 */ sw $t8, 4($a3)
/* AC9864 800526C4 8DF90008 */ lw $t9, 8($t7)
/* AC9868 800526C8 ACF90008 */ sw $t9, 8($a3)
/* AC986C 800526CC 860A015E */ lh $t2, 0x15e($s0)
/* AC9870 800526D0 25490001 */ addiu $t1, $t2, 1
/* AC9874 800526D4 A609015E */ sh $t1, 0x15e($s0)
/* AC9878 800526D8 8FA60034 */ lw $a2, 0x34($sp)
/* AC987C 800526DC 8FAB007C */ lw $t3, 0x7c($sp)
.L800526E0:
/* AC9880 800526E0 3C032000 */ lui $v1, 0x2000
/* AC9884 800526E4 26070010 */ addiu $a3, $s0, 0x10
/* AC9888 800526E8 8D6C067C */ lw $t4, 0x67c($t3)
/* AC988C 800526EC 000C6880 */ sll $t5, $t4, 2
/* AC9890 800526F0 05A30008 */ bgezl $t5, .L80052714
/* AC9894 800526F4 8FB80030 */ lw $t8, 0x30($sp)
/* AC9898 800526F8 8CCF0000 */ lw $t7, ($a2)
/* AC989C 800526FC ACEF0000 */ sw $t7, ($a3)
/* AC98A0 80052700 8CCE0004 */ lw $t6, 4($a2)
/* AC98A4 80052704 ACEE0004 */ sw $t6, 4($a3)
/* AC98A8 80052708 8CCF0008 */ lw $t7, 8($a2)
/* AC98AC 8005270C ACEF0008 */ sw $t7, 8($a3)
/* AC98B0 80052710 8FB80030 */ lw $t8, 0x30($sp)
.L80052714:
/* AC98B4 80052714 87190000 */ lh $t9, ($t8)
/* AC98B8 80052718 332A0001 */ andi $t2, $t9, 1
/* AC98BC 8005271C 51400055 */ beql $t2, $zero, .L80052874
/* AC98C0 80052720 84E2000C */ lh $v0, 0xc($a3)
/* AC98C4 80052724 84E2000C */ lh $v0, 0xc($a3)
/* AC98C8 80052728 8FAD007C */ lw $t5, 0x7c($sp)
/* AC98CC 8005272C 18400009 */ blez $v0, .L80052754
/* AC98D0 80052730 2449FFFF */ addiu $t1, $v0, -1
/* AC98D4 80052734 A4E9000C */ sh $t1, 0xc($a3)
/* AC98D8 80052738 8CCC0000 */ lw $t4, ($a2)
/* AC98DC 8005273C ACEC0000 */ sw $t4, ($a3)
/* AC98E0 80052740 8CCB0004 */ lw $t3, 4($a2)
/* AC98E4 80052744 ACEB0004 */ sw $t3, 4($a3)
/* AC98E8 80052748 8CCC0008 */ lw $t4, 8($a2)
/* AC98EC 8005274C 1000009D */ b .L800529C4
/* AC98F0 80052750 ACEC0008 */ sw $t4, 8($a3)
.L80052754:
/* AC98F4 80052754 8DAE067C */ lw $t6, 0x67c($t5)
/* AC98F8 80052758 00C02025 */ move $a0, $a2
/* AC98FC 8005275C 00E02825 */ move $a1, $a3
/* AC9900 80052760 01C37824 */ and $t7, $t6, $v1
/* AC9904 80052764 55E00098 */ bnezl $t7, .L800529C8
/* AC9908 80052768 8FBF001C */ lw $ra, 0x1c($sp)
/* AC990C 8005276C 0C01F00A */ jal func_8007C028
/* AC9910 80052770 AFA60034 */ sw $a2, 0x34($sp)
/* AC9914 80052774 3C014120 */ li $at, 0x41200000 # 0.000000
/* AC9918 80052778 44814000 */ mtc1 $at, $f8
/* AC991C 8005277C 3C188016 */ lui $t8, %hi(D_8015BD7C) # $t8, 0x8016
/* AC9920 80052780 26040050 */ addiu $a0, $s0, 0x50
/* AC9924 80052784 4600403E */ c.le.s $f8, $f0
/* AC9928 80052788 00000000 */ nop
/* AC992C 8005278C 4501001D */ bc1t .L80052804
/* AC9930 80052790 00000000 */ nop
/* AC9934 80052794 8F18BD7C */ lw $t8, %lo(D_8015BD7C)($t8)
/* AC9938 80052798 3C01FFFF */ li $at, 0xFFFF0000 # 0.000000
/* AC993C 8005279C 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff
/* AC9940 800527A0 97020020 */ lhu $v0, 0x20($t8)
/* AC9944 800527A4 0041C827 */ nor $t9, $v0, $at
/* AC9948 800527A8 13200016 */ beqz $t9, .L80052804
/* AC994C 800527AC 2401BFFF */ li $at, -16385
/* AC9950 800527B0 00415027 */ nor $t2, $v0, $at
/* AC9954 800527B4 11400013 */ beqz $t2, .L80052804
/* AC9958 800527B8 2401FFFD */ li $at, -3
/* AC995C 800527BC 00414827 */ nor $t1, $v0, $at
/* AC9960 800527C0 11200010 */ beqz $t1, .L80052804
/* AC9964 800527C4 2401FFFB */ li $at, -5
/* AC9968 800527C8 00415827 */ nor $t3, $v0, $at
/* AC996C 800527CC 1160000D */ beqz $t3, .L80052804
/* AC9970 800527D0 2401FFF7 */ li $at, -9
/* AC9974 800527D4 00416027 */ nor $t4, $v0, $at
/* AC9978 800527D8 1180000A */ beqz $t4, .L80052804
/* AC997C 800527DC 2401FFFE */ li $at, -2
/* AC9980 800527E0 00416827 */ nor $t5, $v0, $at
/* AC9984 800527E4 11A00007 */ beqz $t5, .L80052804
/* AC9988 800527E8 2401FFEF */ li $at, -17
/* AC998C 800527EC 00417027 */ nor $t6, $v0, $at
/* AC9990 800527F0 11C00004 */ beqz $t6, .L80052804
/* AC9994 800527F4 2401DFFF */ li $at, -8193
/* AC9998 800527F8 00417827 */ nor $t7, $v0, $at
/* AC999C 800527FC 55E00072 */ bnezl $t7, .L800529C8
/* AC99A0 80052800 8FBF001C */ lw $ra, 0x1c($sp)
.L80052804:
/* AC99A4 80052804 0C01EFE4 */ jal func_8007BF90
/* AC99A8 80052808 2605005C */ addiu $a1, $s0, 0x5c
/* AC99AC 8005280C 8FA20034 */ lw $v0, 0x34($sp)
/* AC99B0 80052810 E60000DC */ swc1 $f0, 0xdc($s0)
/* AC99B4 80052814 C60A0050 */ lwc1 $f10, 0x50($s0)
/* AC99B8 80052818 C4500000 */ lwc1 $f16, ($v0)
/* AC99BC 8005281C C6040054 */ lwc1 $f4, 0x54($s0)
/* AC99C0 80052820 8618014C */ lh $t8, 0x14c($s0)
/* AC99C4 80052824 46105481 */ sub.s $f18, $f10, $f16
/* AC99C8 80052828 C60A0058 */ lwc1 $f10, 0x58($s0)
/* AC99CC 8005282C 37190004 */ ori $t9, $t8, 4
/* AC99D0 80052830 02002025 */ move $a0, $s0
/* AC99D4 80052834 E61200E4 */ swc1 $f18, 0xe4($s0)
/* AC99D8 80052838 C4460004 */ lwc1 $f6, 4($v0)
/* AC99DC 8005283C 86050154 */ lh $a1, 0x154($s0)
/* AC99E0 80052840 24060002 */ li $a2, 2
/* AC99E4 80052844 46062201 */ sub.s $f8, $f4, $f6
/* AC99E8 80052848 44802000 */ mtc1 $zero, $f4
/* AC99EC 8005284C E60800E8 */ swc1 $f8, 0xe8($s0)
/* AC99F0 80052850 C4500008 */ lwc1 $f16, 8($v0)
/* AC99F4 80052854 A619014C */ sh $t9, 0x14c($s0)
/* AC99F8 80052858 E6040100 */ swc1 $f4, 0x100($s0)
/* AC99FC 8005285C 46105481 */ sub.s $f18, $f10, $f16
/* AC9A00 80052860 0C016952 */ jal func_8005A548
/* AC9A04 80052864 E61200EC */ swc1 $f18, 0xec($s0)
/* AC9A08 80052868 10000057 */ b .L800529C8
/* AC9A0C 8005286C 8FBF001C */ lw $ra, 0x1c($sp)
/* AC9A10 80052870 84E2000C */ lh $v0, 0xc($a3)
.L80052874:
/* AC9A14 80052874 18400008 */ blez $v0, .L80052898
/* AC9A18 80052878 244AFFFF */ addiu $t2, $v0, -1
/* AC9A1C 8005287C A4EA000C */ sh $t2, 0xc($a3)
/* AC9A20 80052880 84E9000C */ lh $t1, 0xc($a3)
/* AC9A24 80052884 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012
/* AC9A28 80052888 5520000A */ bnezl $t1, .L800528B4
/* AC9A2C 8005288C 8FAD007C */ lw $t5, 0x7c($sp)
/* AC9A30 80052890 10000007 */ b .L800528B0
/* AC9A34 80052894 AC20D3A0 */ sw $zero, %lo(D_8011D3A0)($at)
.L80052898:
/* AC9A38 80052898 8CCC0000 */ lw $t4, ($a2)
/* AC9A3C 8005289C ACEC0000 */ sw $t4, ($a3)
/* AC9A40 800528A0 8CCB0004 */ lw $t3, 4($a2)
/* AC9A44 800528A4 ACEB0004 */ sw $t3, 4($a3)
/* AC9A48 800528A8 8CCC0008 */ lw $t4, 8($a2)
/* AC9A4C 800528AC ACEC0008 */ sw $t4, 8($a3)
.L800528B0:
/* AC9A50 800528B0 8FAD007C */ lw $t5, 0x7c($sp)
.L800528B4:
/* AC9A54 800528B4 3C018014 */ lui $at, %hi(D_8013A228)
/* AC9A58 800528B8 8DAE067C */ lw $t6, 0x67c($t5)
/* AC9A5C 800528BC 01C37824 */ and $t7, $t6, $v1
/* AC9A60 800528C0 55E00041 */ bnezl $t7, .L800529C8
/* AC9A64 800528C4 8FBF001C */ lw $ra, 0x1c($sp)
/* AC9A68 800528C8 C426A228 */ lwc1 $f6, %lo(D_8013A228)($at)
/* AC9A6C 800528CC C60800D8 */ lwc1 $f8, 0xd8($s0)
/* AC9A70 800528D0 3C188016 */ lui $t8, %hi(D_8015BD7C) # $t8, 0x8016
/* AC9A74 800528D4 26040050 */ addiu $a0, $s0, 0x50
/* AC9A78 800528D8 4608303C */ c.lt.s $f6, $f8
/* AC9A7C 800528DC 2605005C */ addiu $a1, $s0, 0x5c
/* AC9A80 800528E0 4501001D */ bc1t .L80052958
/* AC9A84 800528E4 00000000 */ nop
/* AC9A88 800528E8 8F18BD7C */ lw $t8, %lo(D_8015BD7C)($t8)
/* AC9A8C 800528EC 3C01FFFF */ li $at, 0xFFFF0000 # 0.000000
/* AC9A90 800528F0 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff
/* AC9A94 800528F4 97020020 */ lhu $v0, 0x20($t8)
/* AC9A98 800528F8 0041C827 */ nor $t9, $v0, $at
/* AC9A9C 800528FC 13200016 */ beqz $t9, .L80052958
/* AC9AA0 80052900 2401BFFF */ li $at, -16385
/* AC9AA4 80052904 00415027 */ nor $t2, $v0, $at
/* AC9AA8 80052908 11400013 */ beqz $t2, .L80052958
/* AC9AAC 8005290C 2401FFFD */ li $at, -3
/* AC9AB0 80052910 00414827 */ nor $t1, $v0, $at
/* AC9AB4 80052914 11200010 */ beqz $t1, .L80052958
/* AC9AB8 80052918 2401FFFB */ li $at, -5
/* AC9ABC 8005291C 00415827 */ nor $t3, $v0, $at
/* AC9AC0 80052920 1160000D */ beqz $t3, .L80052958
/* AC9AC4 80052924 2401FFF7 */ li $at, -9
/* AC9AC8 80052928 00416027 */ nor $t4, $v0, $at
/* AC9ACC 8005292C 1180000A */ beqz $t4, .L80052958
/* AC9AD0 80052930 2401FFFE */ li $at, -2
/* AC9AD4 80052934 00416827 */ nor $t5, $v0, $at
/* AC9AD8 80052938 11A00007 */ beqz $t5, .L80052958
/* AC9ADC 8005293C 2401FFEF */ li $at, -17
/* AC9AE0 80052940 00417027 */ nor $t6, $v0, $at
/* AC9AE4 80052944 11C00004 */ beqz $t6, .L80052958
/* AC9AE8 80052948 2401DFFF */ li $at, -8193
/* AC9AEC 8005294C 00417827 */ nor $t7, $v0, $at
/* AC9AF0 80052950 55E0001D */ bnezl $t7, .L800529C8
/* AC9AF4 80052954 8FBF001C */ lw $ra, 0x1c($sp)
.L80052958:
/* AC9AF8 80052958 0C01EFE4 */ jal func_8007BF90
/* AC9AFC 8005295C AFA60034 */ sw $a2, 0x34($sp)
/* AC9B00 80052960 E60000DC */ swc1 $f0, 0xdc($s0)
/* AC9B04 80052964 8FB80034 */ lw $t8, 0x34($sp)
/* AC9B08 80052968 C60A0050 */ lwc1 $f10, 0x50($s0)
/* AC9B0C 8005296C C6040054 */ lwc1 $f4, 0x54($s0)
/* AC9B10 80052970 C7100000 */ lwc1 $f16, ($t8)
/* AC9B14 80052974 02002025 */ move $a0, $s0
/* AC9B18 80052978 86050154 */ lh $a1, 0x154($s0)
/* AC9B1C 8005297C 46105481 */ sub.s $f18, $f10, $f16
/* AC9B20 80052980 C60A0058 */ lwc1 $f10, 0x58($s0)
/* AC9B24 80052984 24060002 */ li $a2, 2
/* AC9B28 80052988 E61200E4 */ swc1 $f18, 0xe4($s0)
/* AC9B2C 8005298C 8FB90034 */ lw $t9, 0x34($sp)
/* AC9B30 80052990 C7260004 */ lwc1 $f6, 4($t9)
/* AC9B34 80052994 46062201 */ sub.s $f8, $f4, $f6
/* AC9B38 80052998 44802000 */ mtc1 $zero, $f4
/* AC9B3C 8005299C E60800E8 */ swc1 $f8, 0xe8($s0)
/* AC9B40 800529A0 8FAA0034 */ lw $t2, 0x34($sp)
/* AC9B44 800529A4 C5500008 */ lwc1 $f16, 8($t2)
/* AC9B48 800529A8 E6040100 */ swc1 $f4, 0x100($s0)
/* AC9B4C 800529AC 46105481 */ sub.s $f18, $f10, $f16
/* AC9B50 800529B0 0C016952 */ jal func_8005A548
/* AC9B54 800529B4 E61200EC */ swc1 $f18, 0xec($s0)
/* AC9B58 800529B8 8609014C */ lh $t1, 0x14c($s0)
/* AC9B5C 800529BC 352B0004 */ ori $t3, $t1, 4
/* AC9B60 800529C0 A60B014C */ sh $t3, 0x14c($s0)
.L800529C4:
/* AC9B64 800529C4 8FBF001C */ lw $ra, 0x1c($sp)
.L800529C8:
/* AC9B68 800529C8 8FB00018 */ lw $s0, 0x18($sp)
/* AC9B6C 800529CC 27BD0088 */ addiu $sp, $sp, 0x88
/* AC9B70 800529D0 03E00008 */ jr $ra
/* AC9B74 800529D4 24020001 */ li $v0, 1

View file

@ -0,0 +1,104 @@
glabel func_80052A18
/* AC9BB8 80052A18 27BDFFC0 */ addiu $sp, $sp, -0x40
/* AC9BBC 80052A1C AFBF001C */ sw $ra, 0x1c($sp)
/* AC9BC0 80052A20 AFB00018 */ sw $s0, 0x18($sp)
/* AC9BC4 80052A24 8482015E */ lh $v0, 0x15e($a0)
/* AC9BC8 80052A28 00808025 */ move $s0, $a0
/* AC9BCC 80052A2C 2401000A */ li $at, 10
/* AC9BD0 80052A30 5040000A */ beql $v0, $zero, .L80052A5C
/* AC9BD4 80052A34 860F0142 */ lh $t7, 0x142($s0)
/* AC9BD8 80052A38 10410007 */ beq $v0, $at, .L80052A58
/* AC9BDC 80052A3C 24010014 */ li $at, 20
/* AC9BE0 80052A40 10410005 */ beq $v0, $at, .L80052A58
/* AC9BE4 80052A44 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016
/* AC9BE8 80052A48 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
/* AC9BEC 80052A4C 85C20314 */ lh $v0, 0x314($t6)
/* AC9BF0 80052A50 1040000F */ beqz $v0, .L80052A90
/* AC9BF4 80052A54 00000000 */ nop
.L80052A58:
/* AC9BF8 80052A58 860F0142 */ lh $t7, 0x142($s0)
.L80052A5C:
/* AC9BFC 80052A5C 3C198012 */ lui $t9, %hi(D_8011D068)
/* AC9C00 80052A60 86080144 */ lh $t0, 0x144($s0)
/* AC9C04 80052A64 000FC0C0 */ sll $t8, $t7, 3
/* AC9C08 80052A68 0338C821 */ addu $t9, $t9, $t8
/* AC9C0C 80052A6C 8F39D068 */ lw $t9, %lo(D_8011D068)($t9)
/* AC9C10 80052A70 000848C0 */ sll $t1, $t0, 3
/* AC9C14 80052A74 3C0C8016 */ lui $t4, %hi(gGameInfo) # $t4, 0x8016
/* AC9C18 80052A78 03295021 */ addu $t2, $t9, $t1
/* AC9C1C 80052A7C 8D430004 */ lw $v1, 4($t2)
/* AC9C20 80052A80 846B0000 */ lh $t3, ($v1)
/* AC9C24 80052A84 A60B0000 */ sh $t3, ($s0)
/* AC9C28 80052A88 8D8CFA90 */ lw $t4, %lo(gGameInfo)($t4)
/* AC9C2C 80052A8C 85820314 */ lh $v0, 0x314($t4)
.L80052A90:
/* AC9C30 80052A90 50400004 */ beql $v0, $zero, .L80052AA4
/* AC9C34 80052A94 860D0000 */ lh $t5, ($s0)
/* AC9C38 80052A98 0C011495 */ jal func_80045254
/* AC9C3C 80052A9C 02002025 */ move $a0, $s0
/* AC9C40 80052AA0 860D0000 */ lh $t5, ($s0)
.L80052AA4:
/* AC9C44 80052AA4 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012
/* AC9C48 80052AA8 02002025 */ move $a0, $s0
/* AC9C4C 80052AAC AC2DD3A0 */ sw $t5, %lo(D_8011D3A0)($at)
/* AC9C50 80052AB0 8602015E */ lh $v0, 0x15e($s0)
/* AC9C54 80052AB4 14400003 */ bnez $v0, .L80052AC4
/* AC9C58 80052AB8 244E0001 */ addiu $t6, $v0, 1
/* AC9C5C 80052ABC 0C010EAF */ jal func_80043ABC
/* AC9C60 80052AC0 A60E015E */ sh $t6, 0x15e($s0)
.L80052AC4:
/* AC9C64 80052AC4 8E040090 */ lw $a0, 0x90($s0)
/* AC9C68 80052AC8 2605005C */ addiu $a1, $s0, 0x5c
/* AC9C6C 80052ACC 10800020 */ beqz $a0, .L80052B50
/* AC9C70 80052AD0 00000000 */ nop
/* AC9C74 80052AD4 0C00B721 */ jal Player_GetCameraYOffset
/* AC9C78 80052AD8 00000000 */ nop
/* AC9C7C 80052ADC 26020094 */ addiu $v0, $s0, 0x94
/* AC9C80 80052AE0 8C580000 */ lw $t8, ($v0)
/* AC9C84 80052AE4 27A4002C */ addiu $a0, $sp, 0x2c
/* AC9C88 80052AE8 2605005C */ addiu $a1, $s0, 0x5c
/* AC9C8C 80052AEC AC980000 */ sw $t8, ($a0)
/* AC9C90 80052AF0 8C4F0004 */ lw $t7, 4($v0)
/* AC9C94 80052AF4 AC8F0004 */ sw $t7, 4($a0)
/* AC9C98 80052AF8 8C580008 */ lw $t8, 8($v0)
/* AC9C9C 80052AFC AC980008 */ sw $t8, 8($a0)
/* AC9CA0 80052B00 C7A40030 */ lwc1 $f4, 0x30($sp)
/* AC9CA4 80052B04 AFA20020 */ sw $v0, 0x20($sp)
/* AC9CA8 80052B08 46002180 */ add.s $f6, $f4, $f0
/* AC9CAC 80052B0C 0C01EFE4 */ jal func_8007BF90
/* AC9CB0 80052B10 E7A60030 */ swc1 $f6, 0x30($sp)
/* AC9CB4 80052B14 8FA20020 */ lw $v0, 0x20($sp)
/* AC9CB8 80052B18 E60000DC */ swc1 $f0, 0xdc($s0)
/* AC9CBC 80052B1C C6080050 */ lwc1 $f8, 0x50($s0)
/* AC9CC0 80052B20 C44A0000 */ lwc1 $f10, ($v0)
/* AC9CC4 80052B24 C6120054 */ lwc1 $f18, 0x54($s0)
/* AC9CC8 80052B28 460A4401 */ sub.s $f16, $f8, $f10
/* AC9CCC 80052B2C C6080058 */ lwc1 $f8, 0x58($s0)
/* AC9CD0 80052B30 E61000E4 */ swc1 $f16, 0xe4($s0)
/* AC9CD4 80052B34 C4440004 */ lwc1 $f4, 4($v0)
/* AC9CD8 80052B38 46049181 */ sub.s $f6, $f18, $f4
/* AC9CDC 80052B3C E60600E8 */ swc1 $f6, 0xe8($s0)
/* AC9CE0 80052B40 C44A0008 */ lwc1 $f10, 8($v0)
/* AC9CE4 80052B44 460A4401 */ sub.s $f16, $f8, $f10
/* AC9CE8 80052B48 10000004 */ b .L80052B5C
/* AC9CEC 80052B4C E61000EC */ swc1 $f16, 0xec($s0)
.L80052B50:
/* AC9CF0 80052B50 0C01EFE4 */ jal func_8007BF90
/* AC9CF4 80052B54 26040050 */ addiu $a0, $s0, 0x50
/* AC9CF8 80052B58 E60000DC */ swc1 $f0, 0xdc($s0)
.L80052B5C:
/* AC9CFC 80052B5C 86080000 */ lh $t0, ($s0)
/* AC9D00 80052B60 31190001 */ andi $t9, $t0, 1
/* AC9D04 80052B64 53200006 */ beql $t9, $zero, .L80052B80
/* AC9D08 80052B68 8FBF001C */ lw $ra, 0x1c($sp)
/* AC9D0C 80052B6C 86020160 */ lh $v0, 0x160($s0)
/* AC9D10 80052B70 18400002 */ blez $v0, .L80052B7C
/* AC9D14 80052B74 2449FFFF */ addiu $t1, $v0, -1
/* AC9D18 80052B78 A6090160 */ sh $t1, 0x160($s0)
.L80052B7C:
/* AC9D1C 80052B7C 8FBF001C */ lw $ra, 0x1c($sp)
.L80052B80:
/* AC9D20 80052B80 8FB00018 */ lw $s0, 0x18($sp)
/* AC9D24 80052B84 27BD0040 */ addiu $sp, $sp, 0x40
/* AC9D28 80052B88 03E00008 */ jr $ra
/* AC9D2C 80052B8C 24020001 */ li $v0, 1

View file

@ -0,0 +1,163 @@
.late_rodata
glabel D_8013A22C
.float 0.01
.text
glabel func_80052B90
/* AC9D30 80052B90 27BDFFA0 */ addiu $sp, $sp, -0x60
/* AC9D34 80052B94 AFBF001C */ sw $ra, 0x1c($sp)
/* AC9D38 80052B98 AFB00018 */ sw $s0, 0x18($sp)
/* AC9D3C 80052B9C 8482015E */ lh $v0, 0x15e($a0)
/* AC9D40 80052BA0 00808025 */ move $s0, $a0
/* AC9D44 80052BA4 10400009 */ beqz $v0, .L80052BCC
/* AC9D48 80052BA8 2401000A */ li $at, 10
/* AC9D4C 80052BAC 10410007 */ beq $v0, $at, .L80052BCC
/* AC9D50 80052BB0 24010014 */ li $at, 20
/* AC9D54 80052BB4 10410005 */ beq $v0, $at, .L80052BCC
/* AC9D58 80052BB8 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016
/* AC9D5C 80052BBC 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
/* AC9D60 80052BC0 85C30314 */ lh $v1, 0x314($t6)
/* AC9D64 80052BC4 10600015 */ beqz $v1, .L80052C1C
/* AC9D68 80052BC8 00000000 */ nop
.L80052BCC:
/* AC9D6C 80052BCC 860F0142 */ lh $t7, 0x142($s0)
/* AC9D70 80052BD0 3C198012 */ lui $t9, %hi(D_8011D068)
/* AC9D74 80052BD4 86080144 */ lh $t0, 0x144($s0)
/* AC9D78 80052BD8 000FC0C0 */ sll $t8, $t7, 3
/* AC9D7C 80052BDC 0338C821 */ addu $t9, $t9, $t8
/* AC9D80 80052BE0 8F39D068 */ lw $t9, %lo(D_8011D068)($t9)
/* AC9D84 80052BE4 000848C0 */ sll $t1, $t0, 3
/* AC9D88 80052BE8 3C0D8016 */ lui $t5, %hi(gGameInfo) # $t5, 0x8016
/* AC9D8C 80052BEC 03295021 */ addu $t2, $t9, $t1
/* AC9D90 80052BF0 8D420004 */ lw $v0, 4($t2)
/* AC9D94 80052BF4 844B0000 */ lh $t3, ($v0)
/* AC9D98 80052BF8 24420004 */ addiu $v0, $v0, 4
/* AC9D9C 80052BFC 448B2000 */ mtc1 $t3, $f4
/* AC9DA0 80052C00 00000000 */ nop
/* AC9DA4 80052C04 468021A0 */ cvt.s.w $f6, $f4
/* AC9DA8 80052C08 E6060000 */ swc1 $f6, ($s0)
/* AC9DAC 80052C0C 844C0000 */ lh $t4, ($v0)
/* AC9DB0 80052C10 A60C0004 */ sh $t4, 4($s0)
/* AC9DB4 80052C14 8DADFA90 */ lw $t5, %lo(gGameInfo)($t5)
/* AC9DB8 80052C18 85A30314 */ lh $v1, 0x314($t5)
.L80052C1C:
/* AC9DBC 80052C1C 10600003 */ beqz $v1, .L80052C2C
/* AC9DC0 80052C20 00000000 */ nop
/* AC9DC4 80052C24 0C011495 */ jal func_80045254
/* AC9DC8 80052C28 02002025 */ move $a0, $s0
.L80052C2C:
/* AC9DCC 80052C2C 0C0111DB */ jal func_8004476C
/* AC9DD0 80052C30 02002025 */ move $a0, $s0
/* AC9DD4 80052C34 26070074 */ addiu $a3, $s0, 0x74
/* AC9DD8 80052C38 AFA20044 */ sw $v0, 0x44($sp)
/* AC9DDC 80052C3C 00E02025 */ move $a0, $a3
/* AC9DE0 80052C40 AFA70020 */ sw $a3, 0x20($sp)
/* AC9DE4 80052C44 0C010EF1 */ jal func_80043BC4
/* AC9DE8 80052C48 00402825 */ move $a1, $v0
/* AC9DEC 80052C4C 8FA70020 */ lw $a3, 0x20($sp)
/* AC9DF0 80052C50 2605005C */ addiu $a1, $s0, 0x5c
/* AC9DF4 80052C54 27B8003C */ addiu $t8, $sp, 0x3c
/* AC9DF8 80052C58 8CEF0000 */ lw $t7, ($a3)
/* AC9DFC 80052C5C 27A4004C */ addiu $a0, $sp, 0x4c
/* AC9E00 80052C60 26060094 */ addiu $a2, $s0, 0x94
/* AC9E04 80052C64 ACAF0000 */ sw $t7, ($a1)
/* AC9E08 80052C68 8CEE0004 */ lw $t6, 4($a3)
/* AC9E0C 80052C6C ACAE0004 */ sw $t6, 4($a1)
/* AC9E10 80052C70 8CEF0008 */ lw $t7, 8($a3)
/* AC9E14 80052C74 ACAF0008 */ sw $t7, 8($a1)
/* AC9E18 80052C78 8FA80044 */ lw $t0, 0x44($sp)
/* AC9E1C 80052C7C 89090006 */ lwl $t1, 6($t0)
/* AC9E20 80052C80 99090009 */ lwr $t1, 9($t0)
/* AC9E24 80052C84 AF090000 */ sw $t1, ($t8)
/* AC9E28 80052C88 9509000A */ lhu $t1, 0xa($t0)
/* AC9E2C 80052C8C A7090004 */ sh $t1, 4($t8)
/* AC9E30 80052C90 0C01F124 */ jal func_8007C490
/* AC9E34 80052C94 AFA50024 */ sw $a1, 0x24($sp)
/* AC9E38 80052C98 8FAA0044 */ lw $t2, 0x44($sp)
/* AC9E3C 80052C9C 2401FFFF */ li $at, -1
/* AC9E40 80052CA0 3C063ECC */ lui $a2, (0x3ECCCCCD >> 16) # lui $a2, 0x3ecc
/* AC9E44 80052CA4 8543000C */ lh $v1, 0xc($t2)
/* AC9E48 80052CA8 34C6CCCD */ ori $a2, (0x3ECCCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd
/* AC9E4C 80052CAC 14610009 */ bne $v1, $at, .L80052CD4
/* AC9E50 80052CB0 3C0142C8 */ li $at, 0x42C80000 # 0.000000
/* AC9E54 80052CB4 44815000 */ mtc1 $at, $f10
/* AC9E58 80052CB8 C6080000 */ lwc1 $f8, ($s0)
/* AC9E5C 80052CBC 460A4402 */ mul.s $f16, $f8, $f10
/* AC9E60 80052CC0 4600848D */ trunc.w.s $f18, $f16
/* AC9E64 80052CC4 44039000 */ mfc1 $v1, $f18
/* AC9E68 80052CC8 00000000 */ nop
/* AC9E6C 80052CCC 00031C00 */ sll $v1, $v1, 0x10
/* AC9E70 80052CD0 00031C03 */ sra $v1, $v1, 0x10
.L80052CD4:
/* AC9E74 80052CD4 28610169 */ slti $at, $v1, 0x169
/* AC9E78 80052CD8 10200008 */ beqz $at, .L80052CFC
/* AC9E7C 80052CDC 00600821 */ addu $at, $v1, $zero
/* AC9E80 80052CE0 00031880 */ sll $v1, $v1, 2
/* AC9E84 80052CE4 00611823 */ subu $v1, $v1, $at
/* AC9E88 80052CE8 000318C0 */ sll $v1, $v1, 3
/* AC9E8C 80052CEC 00611821 */ addu $v1, $v1, $at
/* AC9E90 80052CF0 00031880 */ sll $v1, $v1, 2
/* AC9E94 80052CF4 00031C00 */ sll $v1, $v1, 0x10
/* AC9E98 80052CF8 00031C03 */ sra $v1, $v1, 0x10
.L80052CFC:
/* AC9E9C 80052CFC 860C0004 */ lh $t4, 4($s0)
/* AC9EA0 80052D00 3C018012 */ lui $at, %hi(D_8011D3A0)
/* AC9EA4 80052D04 AC2CD3A0 */ sw $t4, %lo(D_8011D3A0)($at)
/* AC9EA8 80052D08 8602015E */ lh $v0, 0x15e($s0)
/* AC9EAC 80052D0C 5440000F */ bnezl $v0, .L80052D4C
/* AC9EB0 80052D10 3C014270 */ li $at, 0x42700000 # 0.000000
/* AC9EB4 80052D14 44832000 */ mtc1 $v1, $f4
/* AC9EB8 80052D18 244D0001 */ addiu $t5, $v0, 1
/* AC9EBC 80052D1C A60D015E */ sh $t5, 0x15e($s0)
/* AC9EC0 80052D20 468021A0 */ cvt.s.w $f6, $f4
/* AC9EC4 80052D24 3C018014 */ lui $at, %hi(D_8013A22C)
/* AC9EC8 80052D28 C428A22C */ lwc1 $f8, %lo(D_8013A22C)($at)
/* AC9ECC 80052D2C 44808000 */ mtc1 $zero, $f16
/* AC9ED0 80052D30 A600015A */ sh $zero, 0x15a($s0)
/* AC9ED4 80052D34 46083282 */ mul.s $f10, $f6, $f8
/* AC9ED8 80052D38 E6100100 */ swc1 $f16, 0x100($s0)
/* AC9EDC 80052D3C E60A00FC */ swc1 $f10, 0xfc($s0)
/* AC9EE0 80052D40 87AE0052 */ lh $t6, 0x52($sp)
/* AC9EE4 80052D44 A60E0008 */ sh $t6, 8($s0)
/* AC9EE8 80052D48 3C014270 */ li $at, 0x42700000 # 0.000000
.L80052D4C:
/* AC9EEC 80052D4C 44819000 */ mtc1 $at, $f18
/* AC9EF0 80052D50 26030008 */ addiu $v1, $s0, 8
/* AC9EF4 80052D54 240707D0 */ li $a3, 2000
/* AC9EF8 80052D58 E61200FC */ swc1 $f18, 0xfc($s0)
/* AC9EFC 80052D5C 84650000 */ lh $a1, ($v1)
/* AC9F00 80052D60 AFA30020 */ sw $v1, 0x20($sp)
/* AC9F04 80052D64 0C010E6B */ jal func_800439AC
/* AC9F08 80052D68 87A40052 */ lh $a0, 0x52($sp)
/* AC9F0C 80052D6C 8FA30020 */ lw $v1, 0x20($sp)
/* AC9F10 80052D70 A4620000 */ sh $v0, ($v1)
/* AC9F14 80052D74 8FB80044 */ lw $t8, 0x44($sp)
/* AC9F18 80052D78 87AF0052 */ lh $t7, 0x52($sp)
/* AC9F1C 80052D7C 87080008 */ lh $t0, 8($t8)
/* AC9F20 80052D80 01E82023 */ subu $a0, $t7, $t0
/* AC9F24 80052D84 00042400 */ sll $a0, $a0, 0x10
/* AC9F28 80052D88 0C01DE0D */ jal Math_Coss
/* AC9F2C 80052D8C 00042403 */ sra $a0, $a0, 0x10
/* AC9F30 80052D90 8FB90044 */ lw $t9, 0x44($sp)
/* AC9F34 80052D94 26040050 */ addiu $a0, $s0, 0x50
/* AC9F38 80052D98 8FA50024 */ lw $a1, 0x24($sp)
/* AC9F3C 80052D9C 87290006 */ lh $t1, 6($t9)
/* AC9F40 80052DA0 27A6004C */ addiu $a2, $sp, 0x4c
/* AC9F44 80052DA4 00095023 */ negu $t2, $t1
/* AC9F48 80052DA8 448A2000 */ mtc1 $t2, $f4
/* AC9F4C 80052DAC 00000000 */ nop
/* AC9F50 80052DB0 468021A0 */ cvt.s.w $f6, $f4
/* AC9F54 80052DB4 46060202 */ mul.s $f8, $f0, $f6
/* AC9F58 80052DB8 4600428D */ trunc.w.s $f10, $f8
/* AC9F5C 80052DBC 440C5000 */ mfc1 $t4, $f10
/* AC9F60 80052DC0 0C010F0A */ jal func_80043C28
/* AC9F64 80052DC4 A7AC0050 */ sh $t4, 0x50($sp)
/* AC9F68 80052DC8 860D014C */ lh $t5, 0x14c($s0)
/* AC9F6C 80052DCC 24020001 */ li $v0, 1
/* AC9F70 80052DD0 35AE0400 */ ori $t6, $t5, 0x400
/* AC9F74 80052DD4 A60E014C */ sh $t6, 0x14c($s0)
/* AC9F78 80052DD8 8FBF001C */ lw $ra, 0x1c($sp)
/* AC9F7C 80052DDC 8FB00018 */ lw $s0, 0x18($sp)
/* AC9F80 80052DE0 27BD0060 */ addiu $sp, $sp, 0x60
/* AC9F84 80052DE4 03E00008 */ jr $ra
/* AC9F88 80052DE8 00000000 */ nop

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,209 @@
.rdata
glabel D_80139614
.asciz "\x1B[1m%06u:\x1B[m camera: spline demo: start %s \n"
.balign 4
glabel D_80139644
.asciz "" # actually japanese?
.balign 4
glabel D_8013964C
.asciz ""
.balign 4
glabel D_80139654
.asciz "CENTER"
.balign 4
glabel D_8013965C
.asciz " EYE"
.balign 4
glabel D_80139664
.asciz "\x1B[41;37mcamera: spline demo: owner dead\n\x1B[m"
.balign 4
.text
glabel func_800544D0
/* ACB670 800544D0 27BDFF68 */ addiu $sp, $sp, -0x98
/* ACB674 800544D4 AFBF0024 */ sw $ra, 0x24($sp)
/* ACB678 800544D8 AFB00020 */ sw $s0, 0x20($sp)
/* ACB67C 800544DC 8C8E0124 */ lw $t6, 0x124($a0)
/* ACB680 800544E0 00808025 */ move $s0, $a0
/* ACB684 800544E4 2401000A */ li $at, 10
/* ACB688 800544E8 AFAE0084 */ sw $t6, 0x84($sp)
/* ACB68C 800544EC 8C8F0128 */ lw $t7, 0x128($a0)
/* ACB690 800544F0 AFAF0080 */ sw $t7, 0x80($sp)
/* ACB694 800544F4 8482015E */ lh $v0, 0x15e($a0)
/* ACB698 800544F8 3C048014 */ lui $a0, %hi(D_80139614) # $a0, 0x8014
/* ACB69C 800544FC 5040000A */ beql $v0, $zero, .L80054528
/* ACB6A0 80054500 86090142 */ lh $t1, 0x142($s0)
/* ACB6A4 80054504 10410007 */ beq $v0, $at, .L80054524
/* ACB6A8 80054508 24010014 */ li $at, 20
/* ACB6AC 8005450C 10410005 */ beq $v0, $at, .L80054524
/* ACB6B0 80054510 3C188016 */ lui $t8, %hi(gGameInfo) # $t8, 0x8016
/* ACB6B4 80054514 8F18FA90 */ lw $t8, %lo(gGameInfo)($t8)
/* ACB6B8 80054518 87190314 */ lh $t9, 0x314($t8)
/* ACB6BC 8005451C 5320000D */ beql $t9, $zero, .L80054554
/* ACB6C0 80054520 86180000 */ lh $t8, ($s0)
.L80054524:
/* ACB6C4 80054524 86090142 */ lh $t1, 0x142($s0)
.L80054528:
/* ACB6C8 80054528 3C0B8012 */ lui $t3, %hi(D_8011D068)
/* ACB6CC 8005452C 860C0144 */ lh $t4, 0x144($s0)
/* ACB6D0 80054530 000950C0 */ sll $t2, $t1, 3
/* ACB6D4 80054534 016A5821 */ addu $t3, $t3, $t2
/* ACB6D8 80054538 8D6BD068 */ lw $t3, %lo(D_8011D068)($t3)
/* ACB6DC 8005453C 000C68C0 */ sll $t5, $t4, 3
/* ACB6E0 80054540 016D7021 */ addu $t6, $t3, $t5
/* ACB6E4 80054544 8DC20004 */ lw $v0, 4($t6)
/* ACB6E8 80054548 844F0000 */ lh $t7, ($v0)
/* ACB6EC 8005454C A60F0000 */ sh $t7, ($s0)
/* ACB6F0 80054550 86180000 */ lh $t8, ($s0)
.L80054554:
/* ACB6F4 80054554 3C018012 */ lui $at, %hi(D_8011D3A0)
/* ACB6F8 80054558 AC38D3A0 */ sw $t8, %lo(D_8011D3A0)($at)
/* ACB6FC 8005455C 8606015E */ lh $a2, 0x15e($s0)
/* ACB700 80054560 24010001 */ li $at, 1
/* ACB704 80054564 50C00006 */ beql $a2, $zero, .L80054580
/* ACB708 80054568 44802000 */ mtc1 $zero, $f4
/* ACB70C 8005456C 50C10025 */ beql $a2, $at, .L80054604
/* ACB710 80054570 26030004 */ addiu $v1, $s0, 4
/* ACB714 80054574 1000007B */ b .L80054764
/* ACB718 80054578 8FBF0024 */ lw $ra, 0x24($sp)
/* ACB71C 8005457C 44802000 */ mtc1 $zero, $f4
.L80054580:
/* ACB720 80054580 26030004 */ addiu $v1, $s0, 4
/* ACB724 80054584 A4600004 */ sh $zero, 4($v1)
/* ACB728 80054588 E4640000 */ swc1 $f4, ($v1)
/* ACB72C 8005458C 8619015E */ lh $t9, 0x15e($s0)
/* ACB730 80054590 860A012C */ lh $t2, 0x12c($s0)
/* ACB734 80054594 3C068014 */ lui $a2, %hi(D_8013964C)
/* ACB738 80054598 27290001 */ addiu $t1, $t9, 1
/* ACB73C 8005459C 15400004 */ bnez $t2, .L800545B0
/* ACB740 800545A0 A609015E */ sh $t1, 0x15e($s0)
/* ACB744 800545A4 3C068014 */ lui $a2, %hi(D_80139644) # $a2, 0x8014
/* ACB748 800545A8 10000002 */ b .L800545B4
/* ACB74C 800545AC 24C69644 */ addiu $a2, %lo(D_80139644) # addiu $a2, $a2, -0x69bc
.L800545B0:
/* ACB750 800545B0 24C6964C */ addiu $a2, %lo(D_8013964C)
.L800545B4:
/* ACB754 800545B4 8E0C008C */ lw $t4, 0x8c($s0)
/* ACB758 800545B8 24849614 */ addiu $a0, %lo(D_80139614) # addiu $a0, $a0, -0x69ec
/* ACB75C 800545BC 0C00084C */ jal osSyncPrintf
/* ACB760 800545C0 8D85009C */ lw $a1, 0x9c($t4)
/* ACB764 800545C4 3C0B8016 */ lui $t3, %hi(gGameInfo) # $t3, 0x8016
/* ACB768 800545C8 8D6BFA90 */ lw $t3, %lo(gGameInfo)($t3)
/* ACB76C 800545CC 3C048014 */ lui $a0, %hi(D_80139654) # $a0, 0x8014
/* ACB770 800545D0 24849654 */ addiu $a0, %lo(D_80139654) # addiu $a0, $a0, -0x69ac
/* ACB774 800545D4 856D030E */ lh $t5, 0x30e($t3)
/* ACB778 800545D8 24050005 */ li $a1, 5
/* ACB77C 800545DC 51A00009 */ beql $t5, $zero, .L80054604
/* ACB780 800545E0 26030004 */ addiu $v1, $s0, 4
/* ACB784 800545E4 0C0150C5 */ jal Camera_DebugPrintSplineArray
/* ACB788 800545E8 8FA60084 */ lw $a2, 0x84($sp)
/* ACB78C 800545EC 3C048014 */ lui $a0, %hi(D_8013965C) # $a0, 0x8014
/* ACB790 800545F0 2484965C */ addiu $a0, %lo(D_8013965C) # addiu $a0, $a0, -0x69a4
/* ACB794 800545F4 24050005 */ li $a1, 5
/* ACB798 800545F8 0C0150C5 */ jal Camera_DebugPrintSplineArray
/* ACB79C 800545FC 8FA60080 */ lw $a2, 0x80($sp)
/* ACB7A0 80054600 26030004 */ addiu $v1, $s0, 4
.L80054604:
/* ACB7A4 80054604 24680004 */ addiu $t0, $v1, 4
/* ACB7A8 80054608 260600FC */ addiu $a2, $s0, 0xfc
/* ACB7AC 8005460C 260E012C */ addiu $t6, $s0, 0x12c
/* ACB7B0 80054610 AFAE0030 */ sw $t6, 0x30($sp)
/* ACB7B4 80054614 AFA60034 */ sw $a2, 0x34($sp)
/* ACB7B8 80054618 AFA80010 */ sw $t0, 0x10($sp)
/* ACB7BC 8005461C AFA80028 */ sw $t0, 0x28($sp)
/* ACB7C0 80054620 AFA30014 */ sw $v1, 0x14($sp)
/* ACB7C4 80054624 AFA3002C */ sw $v1, 0x2c($sp)
/* ACB7C8 80054628 27A4005C */ addiu $a0, $sp, 0x5c
/* ACB7CC 8005462C 27A5004C */ addiu $a1, $sp, 0x4c
/* ACB7D0 80054630 0C02ECAD */ jal func_800BB2B4
/* ACB7D4 80054634 8FA70080 */ lw $a3, 0x80($sp)
/* ACB7D8 80054638 8FA3002C */ lw $v1, 0x2c($sp)
/* ACB7DC 8005463C 8FA60034 */ lw $a2, 0x34($sp)
/* ACB7E0 80054640 14400009 */ bnez $v0, .L80054668
/* ACB7E4 80054644 8FA80028 */ lw $t0, 0x28($sp)
/* ACB7E8 80054648 27A40050 */ addiu $a0, $sp, 0x50
/* ACB7EC 8005464C 27A5004C */ addiu $a1, $sp, 0x4c
/* ACB7F0 80054650 8FA70084 */ lw $a3, 0x84($sp)
/* ACB7F4 80054654 AFA80010 */ sw $t0, 0x10($sp)
/* ACB7F8 80054658 0C02ECAD */ jal func_800BB2B4
/* ACB7FC 8005465C AFA30014 */ sw $v1, 0x14($sp)
/* ACB800 80054660 50400005 */ beql $v0, $zero, .L80054678
/* ACB804 80054664 8FB90030 */ lw $t9, 0x30($sp)
.L80054668:
/* ACB808 80054668 860F015E */ lh $t7, 0x15e($s0)
/* ACB80C 8005466C 25F80001 */ addiu $t8, $t7, 1
/* ACB810 80054670 A618015E */ sh $t8, 0x15e($s0)
/* ACB814 80054674 8FB90030 */ lw $t9, 0x30($sp)
.L80054678:
/* ACB818 80054678 27A4005C */ addiu $a0, $sp, 0x5c
/* ACB81C 8005467C 26050074 */ addiu $a1, $s0, 0x74
/* ACB820 80054680 87290000 */ lh $t1, ($t9)
/* ACB824 80054684 1120001C */ beqz $t1, .L800546F8
/* ACB828 80054688 00000000 */ nop
/* ACB82C 8005468C 8E050090 */ lw $a1, 0x90($s0)
/* ACB830 80054690 3C048014 */ lui $a0, %hi(D_80139664)
/* ACB834 80054694 10A00012 */ beqz $a1, .L800546E0
/* ACB838 80054698 00000000 */ nop
/* ACB83C 8005469C 8CAA0130 */ lw $t2, 0x130($a1)
/* ACB840 800546A0 1140000F */ beqz $t2, .L800546E0
/* ACB844 800546A4 00000000 */ nop
/* ACB848 800546A8 0C00BBC5 */ jal func_8002EF14
/* ACB84C 800546AC 27A40068 */ addiu $a0, $sp, 0x68
/* ACB850 800546B0 26060074 */ addiu $a2, $s0, 0x74
/* ACB854 800546B4 AFA60030 */ sw $a2, 0x30($sp)
/* ACB858 800546B8 27A40068 */ addiu $a0, $sp, 0x68
/* ACB85C 800546BC 0C01511E */ jal func_80054478
/* ACB860 800546C0 27A5005C */ addiu $a1, $sp, 0x5c
/* ACB864 800546C4 26060050 */ addiu $a2, $s0, 0x50
/* ACB868 800546C8 AFA60034 */ sw $a2, 0x34($sp)
/* ACB86C 800546CC 27A40068 */ addiu $a0, $sp, 0x68
/* ACB870 800546D0 0C01511E */ jal func_80054478
/* ACB874 800546D4 27A50050 */ addiu $a1, $sp, 0x50
/* ACB878 800546D8 1000000F */ b .L80054718
/* ACB87C 800546DC 8FA60034 */ lw $a2, 0x34($sp)
.L800546E0:
/* ACB880 800546E0 0C00084C */ jal osSyncPrintf
/* ACB884 800546E4 24849664 */ addiu $a0, %lo(D_80139664)
/* ACB888 800546E8 260C0074 */ addiu $t4, $s0, 0x74
/* ACB88C 800546EC AFAC0030 */ sw $t4, 0x30($sp)
/* ACB890 800546F0 10000009 */ b .L80054718
/* ACB894 800546F4 26060050 */ addiu $a2, $s0, 0x50
.L800546F8:
/* ACB898 800546F8 0C015117 */ jal Camera_Vec3fCopy
/* ACB89C 800546FC AFA50030 */ sw $a1, 0x30($sp)
/* ACB8A0 80054700 26060050 */ addiu $a2, $s0, 0x50
/* ACB8A4 80054704 00C02825 */ move $a1, $a2
/* ACB8A8 80054708 AFA60034 */ sw $a2, 0x34($sp)
/* ACB8AC 8005470C 0C015117 */ jal Camera_Vec3fCopy
/* ACB8B0 80054710 27A40050 */ addiu $a0, $sp, 0x50
/* ACB8B4 80054714 8FA60034 */ lw $a2, 0x34($sp)
.L80054718:
/* ACB8B8 80054718 8FAD0030 */ lw $t5, 0x30($sp)
/* ACB8BC 8005471C 2605005C */ addiu $a1, $s0, 0x5c
/* ACB8C0 80054720 3C014380 */ li $at, 0x43800000 # 0.000000
/* ACB8C4 80054724 8DAF0000 */ lw $t7, ($t5)
/* ACB8C8 80054728 44814000 */ mtc1 $at, $f8
/* ACB8CC 8005472C 00C02025 */ move $a0, $a2
/* ACB8D0 80054730 ACAF0000 */ sw $t7, ($a1)
/* ACB8D4 80054734 8DAE0004 */ lw $t6, 4($t5)
/* ACB8D8 80054738 ACAE0004 */ sw $t6, 4($a1)
/* ACB8DC 8005473C 8DAF0008 */ lw $t7, 8($t5)
/* ACB8E0 80054740 ACAF0008 */ sw $t7, 8($a1)
/* ACB8E4 80054744 C7A6004C */ lwc1 $f6, 0x4c($sp)
/* ACB8E8 80054748 46083282 */ mul.s $f10, $f6, $f8
/* ACB8EC 8005474C 4600540D */ trunc.w.s $f16, $f10
/* ACB8F0 80054750 44198000 */ mfc1 $t9, $f16
/* ACB8F4 80054754 0C01EFE4 */ jal func_8007BF90
/* ACB8F8 80054758 A619015A */ sh $t9, 0x15a($s0)
/* ACB8FC 8005475C E60000DC */ swc1 $f0, 0xdc($s0)
/* ACB900 80054760 8FBF0024 */ lw $ra, 0x24($sp)
.L80054764:
/* ACB904 80054764 8FB00020 */ lw $s0, 0x20($sp)
/* ACB908 80054768 27BD0098 */ addiu $sp, $sp, 0x98
/* ACB90C 8005476C 03E00008 */ jr $ra
/* ACB910 80054770 24020001 */ li $v0, 1

View file

@ -0,0 +1,800 @@
.late_rodata
glabel jtbl_8013A2B8
.word L800548B8
.word L80054AB4
.word L80054C40
.word L80054DD8
.word L80054FAC
.word L8005508C
.word L8005508C
.word L8005508C
.word L8005508C
.word L8005508C
.word L80054F90
.word L8005508C
.word L8005508C
.word L8005508C
.word L8005508C
.word L8005508C
.word L8005508C
.word L8005508C
.word L8005508C
.word L8005508C
.word L80054F90
.word L8005508C
.word L8005508C
.word L8005508C
.word L8005508C
.word L8005508C
.word L8005508C
.word L8005508C
.word L8005508C
.word L8005508C
.word L80054F6C
glabel D_8013A334
.float 0.006849315
glabel D_8013A338
.float 0.002739726
glabel D_8013A33C
.float 0.1
glabel D_8013A340
.float 0.04
glabel D_8013A344
.float 0.11111111
glabel D_8013A348
.float 0.08888889
glabel D_8013A34C
.float 0.1
glabel D_8013A350
.float 0.001
glabel D_8013A354
.float 0.1
.text
glabel func_80054794
/* ACB934 80054794 27BDFF58 */ addiu $sp, $sp, -0xa8
/* ACB938 80054798 AFB10018 */ sw $s1, 0x18($sp)
/* ACB93C 8005479C 00808825 */ move $s1, $a0
/* ACB940 800547A0 AFBF001C */ sw $ra, 0x1c($sp)
/* ACB944 800547A4 AFB00014 */ sw $s0, 0x14($sp)
/* ACB948 800547A8 A3A00053 */ sb $zero, 0x53($sp)
/* ACB94C 800547AC 0C00B721 */ jal Player_GetCameraYOffset
/* ACB950 800547B0 8C840090 */ lw $a0, 0x90($a0)
/* ACB954 800547B4 862E014C */ lh $t6, 0x14c($s1)
/* ACB958 800547B8 8622015E */ lh $v0, 0x15e($s1)
/* ACB95C 800547BC 46000406 */ mov.s $f16, $f0
/* ACB960 800547C0 31CFFFEF */ andi $t7, $t6, 0xffef
/* ACB964 800547C4 1040000A */ beqz $v0, .L800547F0
/* ACB968 800547C8 A62F014C */ sh $t7, 0x14c($s1)
/* ACB96C 800547CC 2401000A */ li $at, 10
/* ACB970 800547D0 10410007 */ beq $v0, $at, .L800547F0
/* ACB974 800547D4 24010014 */ li $at, 20
/* ACB978 800547D8 10410005 */ beq $v0, $at, .L800547F0
/* ACB97C 800547DC 3C188016 */ lui $t8, %hi(gGameInfo) # $t8, 0x8016
/* ACB980 800547E0 8F18FA90 */ lw $t8, %lo(gGameInfo)($t8)
/* ACB984 800547E4 87030314 */ lh $v1, 0x314($t8)
/* ACB988 800547E8 1060001A */ beqz $v1, .L80054854
/* ACB98C 800547EC 00000000 */ nop
.L800547F0:
/* ACB990 800547F0 86390142 */ lh $t9, 0x142($s1)
/* ACB994 800547F4 3C098012 */ lui $t1, %hi(D_8011D068)
/* ACB998 800547F8 862A0144 */ lh $t2, 0x144($s1)
/* ACB99C 800547FC 001940C0 */ sll $t0, $t9, 3
/* ACB9A0 80054800 01284821 */ addu $t1, $t1, $t0
/* ACB9A4 80054804 8D29D068 */ lw $t1, %lo(D_8011D068)($t1)
/* ACB9A8 80054808 000A58C0 */ sll $t3, $t2, 3
/* ACB9AC 8005480C 3C188016 */ lui $t8, %hi(gGameInfo) # $t8, 0x8016
/* ACB9B0 80054810 012B6021 */ addu $t4, $t1, $t3
/* ACB9B4 80054814 8D820004 */ lw $v0, 4($t4)
/* ACB9B8 80054818 844D0000 */ lh $t5, ($v0)
/* ACB9BC 8005481C 24420008 */ addiu $v0, $v0, 8
/* ACB9C0 80054820 448D2000 */ mtc1 $t5, $f4
/* ACB9C4 80054824 00000000 */ nop
/* ACB9C8 80054828 468021A0 */ cvt.s.w $f6, $f4
/* ACB9CC 8005482C E6260000 */ swc1 $f6, ($s1)
/* ACB9D0 80054830 844EFFFC */ lh $t6, -4($v0)
/* ACB9D4 80054834 448E4000 */ mtc1 $t6, $f8
/* ACB9D8 80054838 00000000 */ nop
/* ACB9DC 8005483C 468042A0 */ cvt.s.w $f10, $f8
/* ACB9E0 80054840 E62A0004 */ swc1 $f10, 4($s1)
/* ACB9E4 80054844 844F0000 */ lh $t7, ($v0)
/* ACB9E8 80054848 A62F0008 */ sh $t7, 8($s1)
/* ACB9EC 8005484C 8F18FA90 */ lw $t8, %lo(gGameInfo)($t8)
/* ACB9F0 80054850 87030314 */ lh $v1, 0x314($t8)
.L80054854:
/* ACB9F4 80054854 10600004 */ beqz $v1, .L80054868
/* ACB9F8 80054858 02202025 */ move $a0, $s1
/* ACB9FC 8005485C 0C011495 */ jal func_80045254
/* ACBA00 80054860 E7B0004C */ swc1 $f16, 0x4c($sp)
/* ACBA04 80054864 C7B0004C */ lwc1 $f16, 0x4c($sp)
.L80054868:
/* ACBA08 80054868 26250050 */ addiu $a1, $s1, 0x50
/* ACBA0C 8005486C 2626005C */ addiu $a2, $s1, 0x5c
/* ACBA10 80054870 AFA60034 */ sw $a2, 0x34($sp)
/* ACBA14 80054874 AFA50030 */ sw $a1, 0x30($sp)
/* ACBA18 80054878 27A40090 */ addiu $a0, $sp, 0x90
/* ACBA1C 8005487C 0C01F124 */ jal func_8007C490
/* ACBA20 80054880 E7B0004C */ swc1 $f16, 0x4c($sp)
/* ACBA24 80054884 86390008 */ lh $t9, 8($s1)
/* ACBA28 80054888 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012
/* ACBA2C 8005488C C7B0004C */ lwc1 $f16, 0x4c($sp)
/* ACBA30 80054890 AC39D3A0 */ sw $t9, %lo(D_8011D3A0)($at)
/* ACBA34 80054894 9628015E */ lhu $t0, 0x15e($s1)
/* ACBA38 80054898 2D01001F */ sltiu $at, $t0, 0x1f
/* ACBA3C 8005489C 102001FB */ beqz $at, .L8005508C
/* ACBA40 800548A0 00084080 */ sll $t0, $t0, 2
/* ACBA44 800548A4 3C018014 */ lui $at, %hi(jtbl_8013A2B8)
/* ACBA48 800548A8 00280821 */ addu $at, $at, $t0
/* ACBA4C 800548AC 8C28A2B8 */ lw $t0, %lo(jtbl_8013A2B8)($at)
/* ACBA50 800548B0 01000008 */ jr $t0
/* ACBA54 800548B4 00000000 */ nop
glabel L800548B8
/* ACBA58 800548B8 862A014C */ lh $t2, 0x14c($s1)
/* ACBA5C 800548BC 02202025 */ move $a0, $s1
/* ACBA60 800548C0 3149FFF3 */ andi $t1, $t2, 0xfff3
/* ACBA64 800548C4 0C010ED8 */ jal func_80043B60
/* ACBA68 800548C8 A629014C */ sh $t1, 0x14c($s1)
/* ACBA6C 800548CC C6320000 */ lwc1 $f18, ($s1)
/* ACBA70 800548D0 2630000C */ addiu $s0, $s1, 0xc
/* ACBA74 800548D4 26220094 */ addiu $v0, $s1, 0x94
/* ACBA78 800548D8 E63200FC */ swc1 $f18, 0xfc($s1)
/* ACBA7C 800548DC A6000010 */ sh $zero, 0x10($s0)
/* ACBA80 800548E0 860B0010 */ lh $t3, 0x10($s0)
/* ACBA84 800548E4 3C01C6FA */ li $at, 0xC6FA0000 # 0.000000
/* ACBA88 800548E8 44812000 */ mtc1 $at, $f4
/* ACBA8C 800548EC A62B015A */ sh $t3, 0x15a($s1)
/* ACBA90 800548F0 8C4D0000 */ lw $t5, ($v0)
/* ACBA94 800548F4 AE0D0000 */ sw $t5, ($s0)
/* ACBA98 800548F8 8C4C0004 */ lw $t4, 4($v0)
/* ACBA9C 800548FC AE0C0004 */ sw $t4, 4($s0)
/* ACBAA0 80054900 8C4D0008 */ lw $t5, 8($v0)
/* ACBAA4 80054904 AE0D0008 */ sw $t5, 8($s0)
/* ACBAA8 80054908 C6200104 */ lwc1 $f0, 0x104($s1)
/* ACBAAC 8005490C 46002032 */ c.eq.s $f4, $f0
/* ACBAB0 80054910 00000000 */ nop
/* ACBAB4 80054914 45030003 */ bc1tl .L80054924
/* ACBAB8 80054918 8444000E */ lh $a0, 0xe($v0)
/* ACBABC 8005491C E6000004 */ swc1 $f0, 4($s0)
/* ACBAC0 80054920 8444000E */ lh $a0, 0xe($v0)
.L80054924:
/* ACBAC4 80054924 AFA20028 */ sw $v0, 0x28($sp)
/* ACBAC8 80054928 0C01DE1C */ jal Math_Sins
/* ACBACC 8005492C A7A4004A */ sh $a0, 0x4a($sp)
/* ACBAD0 80054930 3C014220 */ li $at, 0x42200000 # 0.000000
/* ACBAD4 80054934 44811000 */ mtc1 $at, $f2
/* ACBAD8 80054938 C6080000 */ lwc1 $f8, ($s0)
/* ACBADC 8005493C 87A4004A */ lh $a0, 0x4a($sp)
/* ACBAE0 80054940 46020182 */ mul.s $f6, $f0, $f2
/* ACBAE4 80054944 46083280 */ add.s $f10, $f6, $f8
/* ACBAE8 80054948 E7AA0068 */ swc1 $f10, 0x68($sp)
/* ACBAEC 8005494C C6120004 */ lwc1 $f18, 4($s0)
/* ACBAF0 80054950 46029100 */ add.s $f4, $f18, $f2
/* ACBAF4 80054954 0C01DE0D */ jal Math_Coss
/* ACBAF8 80054958 E7A4006C */ swc1 $f4, 0x6c($sp)
/* ACBAFC 8005495C 3C014220 */ li $at, 0x42200000 # 0.000000
/* ACBB00 80054960 44813000 */ mtc1 $at, $f6
/* ACBB04 80054964 C60A0008 */ lwc1 $f10, 8($s0)
/* ACBB08 80054968 87A4004A */ lh $a0, 0x4a($sp)
/* ACBB0C 8005496C 46060202 */ mul.s $f8, $f0, $f6
/* ACBB10 80054970 24190001 */ li $t9, 1
/* ACBB14 80054974 2408FFFF */ li $t0, -1
/* ACBB18 80054978 460A4480 */ add.s $f18, $f8, $f10
/* ACBB1C 8005497C E7B20070 */ swc1 $f18, 0x70($sp)
/* ACBB20 80054980 8E2E008C */ lw $t6, 0x8c($s1)
/* ACBB24 80054984 8DCF009C */ lw $t7, 0x9c($t6)
/* ACBB28 80054988 31F80001 */ andi $t8, $t7, 1
/* ACBB2C 8005498C 53000007 */ beql $t8, $zero, .L800549AC
/* ACBB30 80054990 24843FFF */ addiu $a0, $a0, 0x3fff
/* ACBB34 80054994 2484C001 */ addiu $a0, $a0, -0x3fff
/* ACBB38 80054998 00042400 */ sll $a0, $a0, 0x10
/* ACBB3C 8005499C 00042403 */ sra $a0, $a0, 0x10
/* ACBB40 800549A0 10000005 */ b .L800549B8
/* ACBB44 800549A4 A6190012 */ sh $t9, 0x12($s0)
/* ACBB48 800549A8 24843FFF */ addiu $a0, $a0, 0x3fff
.L800549AC:
/* ACBB4C 800549AC 00042400 */ sll $a0, $a0, 0x10
/* ACBB50 800549B0 00042403 */ sra $a0, $a0, 0x10
/* ACBB54 800549B4 A6080012 */ sh $t0, 0x12($s0)
.L800549B8:
/* ACBB58 800549B8 0C01DE1C */ jal Math_Sins
/* ACBB5C 800549BC A7A4004A */ sh $a0, 0x4a($sp)
/* ACBB60 800549C0 3C038012 */ lui $v1, %hi(D_8011D658) # $v1, 0x8012
/* ACBB64 800549C4 2463D658 */ addiu $v1, %lo(D_8011D658) # addiu $v1, $v1, -0x29a8
/* ACBB68 800549C8 C4640008 */ lwc1 $f4, 8($v1)
/* ACBB6C 800549CC C7A80068 */ lwc1 $f8, 0x68($sp)
/* ACBB70 800549D0 3C0140A0 */ li $at, 0x40A00000 # 0.000000
/* ACBB74 800549D4 46040182 */ mul.s $f6, $f0, $f4
/* ACBB78 800549D8 44812000 */ mtc1 $at, $f4
/* ACBB7C 800549DC 87A4004A */ lh $a0, 0x4a($sp)
/* ACBB80 800549E0 46083280 */ add.s $f10, $f6, $f8
/* ACBB84 800549E4 E7AA0074 */ swc1 $f10, 0x74($sp)
/* ACBB88 800549E8 C6120004 */ lwc1 $f18, 4($s0)
/* ACBB8C 800549EC 46049180 */ add.s $f6, $f18, $f4
/* ACBB90 800549F0 0C01DE0D */ jal Math_Coss
/* ACBB94 800549F4 E7A60078 */ swc1 $f6, 0x78($sp)
/* ACBB98 800549F8 3C038012 */ lui $v1, %hi(D_8011D658) # $v1, 0x8012
/* ACBB9C 800549FC 2463D658 */ addiu $v1, %lo(D_8011D658) # addiu $v1, $v1, -0x29a8
/* ACBBA0 80054A00 C4680008 */ lwc1 $f8, 8($v1)
/* ACBBA4 80054A04 C7B20070 */ lwc1 $f18, 0x70($sp)
/* ACBBA8 80054A08 02202025 */ move $a0, $s1
/* ACBBAC 80054A0C 46080282 */ mul.s $f10, $f0, $f8
/* ACBBB0 80054A10 27A50068 */ addiu $a1, $sp, 0x68
/* ACBBB4 80054A14 27A60074 */ addiu $a2, $sp, 0x74
/* ACBBB8 80054A18 46125100 */ add.s $f4, $f10, $f18
/* ACBBBC 80054A1C 0C010FCD */ jal func_80043F34
/* ACBBC0 80054A20 E7A4007C */ swc1 $f4, 0x7c($sp)
/* ACBBC4 80054A24 10400004 */ beqz $v0, .L80054A38
/* ACBBC8 80054A28 3C068012 */ lui $a2, %hi(D_8011D678)
/* ACBBCC 80054A2C 860A0012 */ lh $t2, 0x12($s0)
/* ACBBD0 80054A30 000A4823 */ negu $t1, $t2
/* ACBBD4 80054A34 A6090012 */ sh $t1, 0x12($s0)
.L80054A38:
/* ACBBD8 80054A38 24C5D678 */ addiu $a1, $a2, %lo(D_8011D678)
/* ACBBDC 80054A3C 0C01F0FD */ jal func_8007C3F4
/* ACBBE0 80054A40 27A40080 */ addiu $a0, $sp, 0x80
/* ACBBE4 80054A44 8FAC0028 */ lw $t4, 0x28($sp)
/* ACBBE8 80054A48 87AB0086 */ lh $t3, 0x86($sp)
/* ACBBEC 80054A4C 8FA40030 */ lw $a0, 0x30($sp)
/* ACBBF0 80054A50 858D000E */ lh $t5, 0xe($t4)
/* ACBBF4 80054A54 02002825 */ move $a1, $s0
/* ACBBF8 80054A58 27A60080 */ addiu $a2, $sp, 0x80
/* ACBBFC 80054A5C 016D7021 */ addu $t6, $t3, $t5
/* ACBC00 80054A60 0C010F0A */ jal func_80043C28
/* ACBC04 80054A64 A7AE0086 */ sh $t6, 0x86($sp)
/* ACBC08 80054A68 3C038012 */ lui $v1, %hi(D_8011D658) # $v1, 0x8012
/* ACBC0C 80054A6C 2463D658 */ addiu $v1, %lo(D_8011D658) # addiu $v1, $v1, -0x29a8
/* ACBC10 80054A70 C4660000 */ lwc1 $f6, ($v1)
/* ACBC14 80054A74 846F0004 */ lh $t7, 4($v1)
/* ACBC18 80054A78 84780006 */ lh $t8, 6($v1)
/* ACBC1C 80054A7C E7A60088 */ swc1 $f6, 0x88($sp)
/* ACBC20 80054A80 A7AF008C */ sh $t7, 0x8c($sp)
/* ACBC24 80054A84 86190012 */ lh $t9, 0x12($s0)
/* ACBC28 80054A88 8FAA0028 */ lw $t2, 0x28($sp)
/* ACBC2C 80054A8C 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* ACBC30 80054A90 03190019 */ multu $t8, $t9
/* ACBC34 80054A94 8549000E */ lh $t1, 0xe($t2)
/* ACBC38 80054A98 44814000 */ mtc1 $at, $f8
/* ACBC3C 80054A9C 00004012 */ mflo $t0
/* ACBC40 80054AA0 01096021 */ addu $t4, $t0, $t1
/* ACBC44 80054AA4 A7AC008E */ sh $t4, 0x8e($sp)
/* ACBC48 80054AA8 86060010 */ lh $a2, 0x10($s0)
/* ACBC4C 80054AAC 10000191 */ b .L800550F4
/* ACBC50 80054AB0 E608000C */ swc1 $f8, 0xc($s0)
glabel L80054AB4
/* ACBC54 80054AB4 2630000C */ addiu $s0, $s1, 0xc
/* ACBC58 80054AB8 860B0010 */ lh $t3, 0x10($s0)
/* ACBC5C 80054ABC 3C018014 */ lui $at, %hi(D_8013A334)
/* ACBC60 80054AC0 C424A334 */ lwc1 $f4, %lo(D_8013A334)($at)
/* ACBC64 80054AC4 256DFFFE */ addiu $t5, $t3, -2
/* ACBC68 80054AC8 448D5000 */ mtc1 $t5, $f10
/* ACBC6C 80054ACC 3C068012 */ lui $a2, %hi(D_8011D678)
/* ACBC70 80054AD0 24C6D678 */ addiu $a2, %lo(D_8011D678) # addiu $a2, $a2, -0x2988
/* ACBC74 80054AD4 468054A0 */ cvt.s.w $f18, $f10
/* ACBC78 80054AD8 C4C20000 */ lwc1 $f2, ($a2)
/* ACBC7C 80054ADC C4C6000C */ lwc1 $f6, 0xc($a2)
/* ACBC80 80054AE0 C4CC0004 */ lwc1 $f12, 4($a2)
/* ACBC84 80054AE4 C4CE0008 */ lwc1 $f14, 8($a2)
/* ACBC88 80054AE8 46023201 */ sub.s $f8, $f6, $f2
/* ACBC8C 80054AEC 46049002 */ mul.s $f0, $f18, $f4
/* ACBC90 80054AF0 C4C40010 */ lwc1 $f4, 0x10($a2)
/* ACBC94 80054AF4 27A40080 */ addiu $a0, $sp, 0x80
/* ACBC98 80054AF8 27A5005C */ addiu $a1, $sp, 0x5c
/* ACBC9C 80054AFC 460C2181 */ sub.s $f6, $f4, $f12
/* ACBCA0 80054B00 46004282 */ mul.s $f10, $f8, $f0
/* ACBCA4 80054B04 E7A00058 */ swc1 $f0, 0x58($sp)
/* ACBCA8 80054B08 46003202 */ mul.s $f8, $f6, $f0
/* ACBCAC 80054B0C 46025480 */ add.s $f18, $f10, $f2
/* ACBCB0 80054B10 460C4280 */ add.s $f10, $f8, $f12
/* ACBCB4 80054B14 E7B2005C */ swc1 $f18, 0x5c($sp)
/* ACBCB8 80054B18 C4D20014 */ lwc1 $f18, 0x14($a2)
/* ACBCBC 80054B1C E7AA0060 */ swc1 $f10, 0x60($sp)
/* ACBCC0 80054B20 460E9101 */ sub.s $f4, $f18, $f14
/* ACBCC4 80054B24 46002182 */ mul.s $f6, $f4, $f0
/* ACBCC8 80054B28 460E3200 */ add.s $f8, $f6, $f14
/* ACBCCC 80054B2C 0C01F0FD */ jal func_8007C3F4
/* ACBCD0 80054B30 E7A80064 */ swc1 $f8, 0x64($sp)
/* ACBCD4 80054B34 87AE0086 */ lh $t6, 0x86($sp)
/* ACBCD8 80054B38 860F0012 */ lh $t7, 0x12($s0)
/* ACBCDC 80054B3C 26230094 */ addiu $v1, $s1, 0x94
/* ACBCE0 80054B40 8479000E */ lh $t9, 0xe($v1)
/* ACBCE4 80054B44 01CF0019 */ multu $t6, $t7
/* ACBCE8 80054B48 AFA30028 */ sw $v1, 0x28($sp)
/* ACBCEC 80054B4C 8FA40030 */ lw $a0, 0x30($sp)
/* ACBCF0 80054B50 02002825 */ move $a1, $s0
/* ACBCF4 80054B54 27A60080 */ addiu $a2, $sp, 0x80
/* ACBCF8 80054B58 0000C012 */ mflo $t8
/* ACBCFC 80054B5C 03195021 */ addu $t2, $t8, $t9
/* ACBD00 80054B60 0C010F0A */ jal func_80043C28
/* ACBD04 80054B64 A7AA0086 */ sh $t2, 0x86($sp)
/* ACBD08 80054B68 3C038012 */ lui $v1, %hi(D_8011D658)
/* ACBD0C 80054B6C 2463D658 */ addiu $v1, %lo(D_8011D658) # addiu $v1, $v1, -0x29a8
/* ACBD10 80054B70 84640004 */ lh $a0, 4($v1)
/* ACBD14 80054B74 8468000C */ lh $t0, 0xc($v1)
/* ACBD18 80054B78 C4620000 */ lwc1 $f2, ($v1)
/* ACBD1C 80054B7C C46A0008 */ lwc1 $f10, 8($v1)
/* ACBD20 80054B80 01044823 */ subu $t1, $t0, $a0
/* ACBD24 80054B84 00096400 */ sll $t4, $t1, 0x10
/* ACBD28 80054B88 000C5C03 */ sra $t3, $t4, 0x10
/* ACBD2C 80054B8C 448B4000 */ mtc1 $t3, $f8
/* ACBD30 80054B90 46025481 */ sub.s $f18, $f10, $f2
/* ACBD34 80054B94 84650006 */ lh $a1, 6($v1)
/* ACBD38 80054B98 846A000E */ lh $t2, 0xe($v1)
/* ACBD3C 80054B9C 468042A0 */ cvt.s.w $f10, $f8
/* ACBD40 80054BA0 C7A00058 */ lwc1 $f0, 0x58($sp)
/* ACBD44 80054BA4 01454023 */ subu $t0, $t2, $a1
/* ACBD48 80054BA8 00084C00 */ sll $t1, $t0, 0x10
/* ACBD4C 80054BAC 46009102 */ mul.s $f4, $f18, $f0
/* ACBD50 80054BB0 00096403 */ sra $t4, $t1, 0x10
/* ACBD54 80054BB4 448C4000 */ mtc1 $t4, $f8
/* ACBD58 80054BB8 46005482 */ mul.s $f18, $f10, $f0
/* ACBD5C 80054BBC 8FAE0028 */ lw $t6, 0x28($sp)
/* ACBD60 80054BC0 3C018014 */ lui $at, %hi(D_8013A338)
/* ACBD64 80054BC4 46022180 */ add.s $f6, $f4, $f2
/* ACBD68 80054BC8 468042A0 */ cvt.s.w $f10, $f8
/* ACBD6C 80054BCC E7A60080 */ swc1 $f6, 0x80($sp)
/* ACBD70 80054BD0 E7A60088 */ swc1 $f6, 0x88($sp)
/* ACBD74 80054BD4 4600910D */ trunc.w.s $f4, $f18
/* ACBD78 80054BD8 46005482 */ mul.s $f18, $f10, $f0
/* ACBD7C 80054BDC C42AA338 */ lwc1 $f10, %lo(D_8013A338)($at)
/* ACBD80 80054BE0 44182000 */ mfc1 $t8, $f4
/* ACBD84 80054BE4 00000000 */ nop
/* ACBD88 80054BE8 0304C821 */ addu $t9, $t8, $a0
/* ACBD8C 80054BEC 4600910D */ trunc.w.s $f4, $f18
/* ACBD90 80054BF0 03204025 */ move $t0, $t9
/* ACBD94 80054BF4 A7B90084 */ sh $t9, 0x84($sp)
/* ACBD98 80054BF8 A7A8008C */ sh $t0, 0x8c($sp)
/* ACBD9C 80054BFC 440F2000 */ mfc1 $t7, $f4
/* ACBDA0 80054C00 00000000 */ nop
/* ACBDA4 80054C04 01E5C021 */ addu $t8, $t7, $a1
/* ACBDA8 80054C08 A7B80086 */ sh $t8, 0x86($sp)
/* ACBDAC 80054C0C 86090012 */ lh $t1, 0x12($s0)
/* ACBDB0 80054C10 00186400 */ sll $t4, $t8, 0x10
/* ACBDB4 80054C14 000C5C03 */ sra $t3, $t4, 0x10
/* ACBDB8 80054C18 01690019 */ multu $t3, $t1
/* ACBDBC 80054C1C 85CF000E */ lh $t7, 0xe($t6)
/* ACBDC0 80054C20 00006812 */ mflo $t5
/* ACBDC4 80054C24 01AFC821 */ addu $t9, $t5, $t7
/* ACBDC8 80054C28 A7B9008E */ sh $t9, 0x8e($sp)
/* ACBDCC 80054C2C C608000C */ lwc1 $f8, 0xc($s0)
/* ACBDD0 80054C30 86060010 */ lh $a2, 0x10($s0)
/* ACBDD4 80054C34 460A4481 */ sub.s $f18, $f8, $f10
/* ACBDD8 80054C38 1000012E */ b .L800550F4
/* ACBDDC 80054C3C E612000C */ swc1 $f18, 0xc($s0)
glabel L80054C40
/* ACBDE0 80054C40 2630000C */ addiu $s0, $s1, 0xc
/* ACBDE4 80054C44 860A0010 */ lh $t2, 0x10($s0)
/* ACBDE8 80054C48 3C018014 */ lui $at, %hi(D_8013A33C)
/* ACBDEC 80054C4C C428A33C */ lwc1 $f8, %lo(D_8013A33C)($at)
/* ACBDF0 80054C50 2548FF6C */ addiu $t0, $t2, -0x94
/* ACBDF4 80054C54 44882000 */ mtc1 $t0, $f4
/* ACBDF8 80054C58 3C068012 */ lui $a2, %hi(D_8011D678)
/* ACBDFC 80054C5C 24C6D678 */ addiu $a2, %lo(D_8011D678) # addiu $a2, $a2, -0x2988
/* ACBE00 80054C60 468021A0 */ cvt.s.w $f6, $f4
/* ACBE04 80054C64 C4C2000C */ lwc1 $f2, 0xc($a2)
/* ACBE08 80054C68 C4CA0018 */ lwc1 $f10, 0x18($a2)
/* ACBE0C 80054C6C C4CC0014 */ lwc1 $f12, 0x14($a2)
/* ACBE10 80054C70 27A40080 */ addiu $a0, $sp, 0x80
/* ACBE14 80054C74 46025481 */ sub.s $f18, $f10, $f2
/* ACBE18 80054C78 46083002 */ mul.s $f0, $f6, $f8
/* ACBE1C 80054C7C C4C80010 */ lwc1 $f8, 0x10($a2)
/* ACBE20 80054C80 C4CA001C */ lwc1 $f10, 0x1c($a2)
/* ACBE24 80054C84 27A5005C */ addiu $a1, $sp, 0x5c
/* ACBE28 80054C88 46104381 */ sub.s $f14, $f8, $f16
/* ACBE2C 80054C8C 46009102 */ mul.s $f4, $f18, $f0
/* ACBE30 80054C90 E7A00058 */ swc1 $f0, 0x58($sp)
/* ACBE34 80054C94 460E5481 */ sub.s $f18, $f10, $f14
/* ACBE38 80054C98 C4CA0020 */ lwc1 $f10, 0x20($a2)
/* ACBE3C 80054C9C 46022180 */ add.s $f6, $f4, $f2
/* ACBE40 80054CA0 46009102 */ mul.s $f4, $f18, $f0
/* ACBE44 80054CA4 460C5481 */ sub.s $f18, $f10, $f12
/* ACBE48 80054CA8 E7A6005C */ swc1 $f6, 0x5c($sp)
/* ACBE4C 80054CAC 460E2180 */ add.s $f6, $f4, $f14
/* ACBE50 80054CB0 46009102 */ mul.s $f4, $f18, $f0
/* ACBE54 80054CB4 E7A60060 */ swc1 $f6, 0x60($sp)
/* ACBE58 80054CB8 46103200 */ add.s $f8, $f6, $f16
/* ACBE5C 80054CBC 460C2180 */ add.s $f6, $f4, $f12
/* ACBE60 80054CC0 E7A80060 */ swc1 $f8, 0x60($sp)
/* ACBE64 80054CC4 0C01F0FD */ jal func_8007C3F4
/* ACBE68 80054CC8 E7A60064 */ swc1 $f6, 0x64($sp)
/* ACBE6C 80054CCC 87B80086 */ lh $t8, 0x86($sp)
/* ACBE70 80054CD0 860C0012 */ lh $t4, 0x12($s0)
/* ACBE74 80054CD4 26230094 */ addiu $v1, $s1, 0x94
/* ACBE78 80054CD8 8469000E */ lh $t1, 0xe($v1)
/* ACBE7C 80054CDC 030C0019 */ multu $t8, $t4
/* ACBE80 80054CE0 AFA30028 */ sw $v1, 0x28($sp)
/* ACBE84 80054CE4 8FA40030 */ lw $a0, 0x30($sp)
/* ACBE88 80054CE8 02002825 */ move $a1, $s0
/* ACBE8C 80054CEC 27A60080 */ addiu $a2, $sp, 0x80
/* ACBE90 80054CF0 00005812 */ mflo $t3
/* ACBE94 80054CF4 01697021 */ addu $t6, $t3, $t1
/* ACBE98 80054CF8 0C010F0A */ jal func_80043C28
/* ACBE9C 80054CFC A7AE0086 */ sh $t6, 0x86($sp)
/* ACBEA0 80054D00 3C038012 */ lui $v1, %hi(D_8011D658)
/* ACBEA4 80054D04 2463D658 */ addiu $v1, %lo(D_8011D658) # addiu $v1, $v1, -0x29a8
/* ACBEA8 80054D08 8464000C */ lh $a0, 0xc($v1)
/* ACBEAC 80054D0C 846D0014 */ lh $t5, 0x14($v1)
/* ACBEB0 80054D10 C4620008 */ lwc1 $f2, 8($v1)
/* ACBEB4 80054D14 C4680010 */ lwc1 $f8, 0x10($v1)
/* ACBEB8 80054D18 01A47823 */ subu $t7, $t5, $a0
/* ACBEBC 80054D1C 000FCC00 */ sll $t9, $t7, 0x10
/* ACBEC0 80054D20 00195403 */ sra $t2, $t9, 0x10
/* ACBEC4 80054D24 448A3000 */ mtc1 $t2, $f6
/* ACBEC8 80054D28 46024281 */ sub.s $f10, $f8, $f2
/* ACBECC 80054D2C 8465000E */ lh $a1, 0xe($v1)
/* ACBED0 80054D30 846E0016 */ lh $t6, 0x16($v1)
/* ACBED4 80054D34 46803220 */ cvt.s.w $f8, $f6
/* ACBED8 80054D38 C7A00058 */ lwc1 $f0, 0x58($sp)
/* ACBEDC 80054D3C 01C56823 */ subu $t5, $t6, $a1
/* ACBEE0 80054D40 000D7C00 */ sll $t7, $t5, 0x10
/* ACBEE4 80054D44 46005482 */ mul.s $f18, $f10, $f0
/* ACBEE8 80054D48 000FCC03 */ sra $t9, $t7, 0x10
/* ACBEEC 80054D4C 44993000 */ mtc1 $t9, $f6
/* ACBEF0 80054D50 46004282 */ mul.s $f10, $f8, $f0
/* ACBEF4 80054D54 8FB80028 */ lw $t8, 0x28($sp)
/* ACBEF8 80054D58 3C018014 */ lui $at, %hi(D_8013A340)
/* ACBEFC 80054D5C 46029100 */ add.s $f4, $f18, $f2
/* ACBF00 80054D60 46803220 */ cvt.s.w $f8, $f6
/* ACBF04 80054D64 E7A40080 */ swc1 $f4, 0x80($sp)
/* ACBF08 80054D68 E7A40088 */ swc1 $f4, 0x88($sp)
/* ACBF0C 80054D6C 4600548D */ trunc.w.s $f18, $f10
/* ACBF10 80054D70 46004282 */ mul.s $f10, $f8, $f0
/* ACBF14 80054D74 C428A340 */ lwc1 $f8, %lo(D_8013A340)($at)
/* ACBF18 80054D78 440B9000 */ mfc1 $t3, $f18
/* ACBF1C 80054D7C 00000000 */ nop
/* ACBF20 80054D80 01644821 */ addu $t1, $t3, $a0
/* ACBF24 80054D84 4600548D */ trunc.w.s $f18, $f10
/* ACBF28 80054D88 01206825 */ move $t5, $t1
/* ACBF2C 80054D8C A7A90084 */ sh $t1, 0x84($sp)
/* ACBF30 80054D90 A7AD008C */ sh $t5, 0x8c($sp)
/* ACBF34 80054D94 440C9000 */ mfc1 $t4, $f18
/* ACBF38 80054D98 00000000 */ nop
/* ACBF3C 80054D9C 01855821 */ addu $t3, $t4, $a1
/* ACBF40 80054DA0 A7AB0086 */ sh $t3, 0x86($sp)
/* ACBF44 80054DA4 860F0012 */ lh $t7, 0x12($s0)
/* ACBF48 80054DA8 000BCC00 */ sll $t9, $t3, 0x10
/* ACBF4C 80054DAC 00195403 */ sra $t2, $t9, 0x10
/* ACBF50 80054DB0 014F0019 */ multu $t2, $t7
/* ACBF54 80054DB4 870C000E */ lh $t4, 0xe($t8)
/* ACBF58 80054DB8 00004012 */ mflo $t0
/* ACBF5C 80054DBC 010C4821 */ addu $t1, $t0, $t4
/* ACBF60 80054DC0 A7A9008E */ sh $t1, 0x8e($sp)
/* ACBF64 80054DC4 C606000C */ lwc1 $f6, 0xc($s0)
/* ACBF68 80054DC8 86060010 */ lh $a2, 0x10($s0)
/* ACBF6C 80054DCC 46083281 */ sub.s $f10, $f6, $f8
/* ACBF70 80054DD0 100000C8 */ b .L800550F4
/* ACBF74 80054DD4 E60A000C */ swc1 $f10, 0xc($s0)
glabel L80054DD8
/* ACBF78 80054DD8 2630000C */ addiu $s0, $s1, 0xc
/* ACBF7C 80054DDC 860E0010 */ lh $t6, 0x10($s0)
/* ACBF80 80054DE0 3C018014 */ lui $at, %hi(D_8013A344)
/* ACBF84 80054DE4 C426A344 */ lwc1 $f6, %lo(D_8013A344)($at)
/* ACBF88 80054DE8 25CDFF61 */ addiu $t5, $t6, -0x9f
/* ACBF8C 80054DEC 448D9000 */ mtc1 $t5, $f18
/* ACBF90 80054DF0 3C068012 */ lui $a2, %hi(D_8011D678)
/* ACBF94 80054DF4 24C6D678 */ addiu $a2, %lo(D_8011D678) # addiu $a2, $a2, -0x2988
/* ACBF98 80054DF8 46809120 */ cvt.s.w $f4, $f18
/* ACBF9C 80054DFC C4C20018 */ lwc1 $f2, 0x18($a2)
/* ACBFA0 80054E00 C4C80024 */ lwc1 $f8, 0x24($a2)
/* ACBFA4 80054E04 C4CC001C */ lwc1 $f12, 0x1c($a2)
/* ACBFA8 80054E08 C4CE0020 */ lwc1 $f14, 0x20($a2)
/* ACBFAC 80054E0C 46024281 */ sub.s $f10, $f8, $f2
/* ACBFB0 80054E10 46062002 */ mul.s $f0, $f4, $f6
/* ACBFB4 80054E14 C4C60028 */ lwc1 $f6, 0x28($a2)
/* ACBFB8 80054E18 27A40080 */ addiu $a0, $sp, 0x80
/* ACBFBC 80054E1C 27A5005C */ addiu $a1, $sp, 0x5c
/* ACBFC0 80054E20 460C3201 */ sub.s $f8, $f6, $f12
/* ACBFC4 80054E24 C4C6002C */ lwc1 $f6, 0x2c($a2)
/* ACBFC8 80054E28 46005482 */ mul.s $f18, $f10, $f0
/* ACBFCC 80054E2C E7A00058 */ swc1 $f0, 0x58($sp)
/* ACBFD0 80054E30 46004282 */ mul.s $f10, $f8, $f0
/* ACBFD4 80054E34 460E3201 */ sub.s $f8, $f6, $f14
/* ACBFD8 80054E38 46029100 */ add.s $f4, $f18, $f2
/* ACBFDC 80054E3C 460C5480 */ add.s $f18, $f10, $f12
/* ACBFE0 80054E40 46004282 */ mul.s $f10, $f8, $f0
/* ACBFE4 80054E44 E7A4005C */ swc1 $f4, 0x5c($sp)
/* ACBFE8 80054E48 E7B20060 */ swc1 $f18, 0x60($sp)
/* ACBFEC 80054E4C 46109100 */ add.s $f4, $f18, $f16
/* ACBFF0 80054E50 460E5480 */ add.s $f18, $f10, $f14
/* ACBFF4 80054E54 E7A40060 */ swc1 $f4, 0x60($sp)
/* ACBFF8 80054E58 0C01F0FD */ jal func_8007C3F4
/* ACBFFC 80054E5C E7B20064 */ swc1 $f18, 0x64($sp)
/* ACC000 80054E60 87AB0086 */ lh $t3, 0x86($sp)
/* ACC004 80054E64 86190012 */ lh $t9, 0x12($s0)
/* ACC008 80054E68 26230094 */ addiu $v1, $s1, 0x94
/* ACC00C 80054E6C 846F000E */ lh $t7, 0xe($v1)
/* ACC010 80054E70 01790019 */ multu $t3, $t9
/* ACC014 80054E74 AFA30028 */ sw $v1, 0x28($sp)
/* ACC018 80054E78 8FA40030 */ lw $a0, 0x30($sp)
/* ACC01C 80054E7C 02002825 */ move $a1, $s0
/* ACC020 80054E80 27A60080 */ addiu $a2, $sp, 0x80
/* ACC024 80054E84 00005012 */ mflo $t2
/* ACC028 80054E88 014FC021 */ addu $t8, $t2, $t7
/* ACC02C 80054E8C 0C010F0A */ jal func_80043C28
/* ACC030 80054E90 A7B80086 */ sh $t8, 0x86($sp)
/* ACC034 80054E94 3C038012 */ lui $v1, %hi(D_8011D658)
/* ACC038 80054E98 2463D658 */ addiu $v1, %lo(D_8011D658) # addiu $v1, $v1, -0x29a8
/* ACC03C 80054E9C 84640014 */ lh $a0, 0x14($v1)
/* ACC040 80054EA0 8468001C */ lh $t0, 0x1c($v1)
/* ACC044 80054EA4 C4620010 */ lwc1 $f2, 0x10($v1)
/* ACC048 80054EA8 C4640018 */ lwc1 $f4, 0x18($v1)
/* ACC04C 80054EAC 01046023 */ subu $t4, $t0, $a0
/* ACC050 80054EB0 000C4C00 */ sll $t1, $t4, 0x10
/* ACC054 80054EB4 00097403 */ sra $t6, $t1, 0x10
/* ACC058 80054EB8 448E9000 */ mtc1 $t6, $f18
/* ACC05C 80054EBC 46022181 */ sub.s $f6, $f4, $f2
/* ACC060 80054EC0 84650016 */ lh $a1, 0x16($v1)
/* ACC064 80054EC4 8478001E */ lh $t8, 0x1e($v1)
/* ACC068 80054EC8 46809120 */ cvt.s.w $f4, $f18
/* ACC06C 80054ECC C7A00058 */ lwc1 $f0, 0x58($sp)
/* ACC070 80054ED0 03054023 */ subu $t0, $t8, $a1
/* ACC074 80054ED4 00086400 */ sll $t4, $t0, 0x10
/* ACC078 80054ED8 46003202 */ mul.s $f8, $f6, $f0
/* ACC07C 80054EDC 000C4C03 */ sra $t1, $t4, 0x10
/* ACC080 80054EE0 44899000 */ mtc1 $t1, $f18
/* ACC084 80054EE4 46002182 */ mul.s $f6, $f4, $f0
/* ACC088 80054EE8 8FAB0028 */ lw $t3, 0x28($sp)
/* ACC08C 80054EEC 3C018014 */ lui $at, %hi(D_8013A348)
/* ACC090 80054EF0 46024280 */ add.s $f10, $f8, $f2
/* ACC094 80054EF4 46809120 */ cvt.s.w $f4, $f18
/* ACC098 80054EF8 E7AA0080 */ swc1 $f10, 0x80($sp)
/* ACC09C 80054EFC E7AA0088 */ swc1 $f10, 0x88($sp)
/* ACC0A0 80054F00 4600320D */ trunc.w.s $f8, $f6
/* ACC0A4 80054F04 46002182 */ mul.s $f6, $f4, $f0
/* ACC0A8 80054F08 C424A348 */ lwc1 $f4, %lo(D_8013A348)($at)
/* ACC0AC 80054F0C 440A4000 */ mfc1 $t2, $f8
/* ACC0B0 80054F10 00000000 */ nop
/* ACC0B4 80054F14 01447821 */ addu $t7, $t2, $a0
/* ACC0B8 80054F18 4600320D */ trunc.w.s $f8, $f6
/* ACC0BC 80054F1C 01E04025 */ move $t0, $t7
/* ACC0C0 80054F20 A7AF0084 */ sh $t7, 0x84($sp)
/* ACC0C4 80054F24 A7A8008C */ sh $t0, 0x8c($sp)
/* ACC0C8 80054F28 44194000 */ mfc1 $t9, $f8
/* ACC0CC 80054F2C 00000000 */ nop
/* ACC0D0 80054F30 03255021 */ addu $t2, $t9, $a1
/* ACC0D4 80054F34 A7AA0086 */ sh $t2, 0x86($sp)
/* ACC0D8 80054F38 860C0012 */ lh $t4, 0x12($s0)
/* ACC0DC 80054F3C 000A4C00 */ sll $t1, $t2, 0x10
/* ACC0E0 80054F40 00097403 */ sra $t6, $t1, 0x10
/* ACC0E4 80054F44 01CC0019 */ multu $t6, $t4
/* ACC0E8 80054F48 8579000E */ lh $t9, 0xe($t3)
/* ACC0EC 80054F4C 00006812 */ mflo $t5
/* ACC0F0 80054F50 01B97821 */ addu $t7, $t5, $t9
/* ACC0F4 80054F54 A7AF008E */ sh $t7, 0x8e($sp)
/* ACC0F8 80054F58 C612000C */ lwc1 $f18, 0xc($s0)
/* ACC0FC 80054F5C 86060010 */ lh $a2, 0x10($s0)
/* ACC100 80054F60 46049180 */ add.s $f6, $f18, $f4
/* ACC104 80054F64 10000063 */ b .L800550F4
/* ACC108 80054F68 E606000C */ swc1 $f6, 0xc($s0)
glabel L80054F6C
/* ACC10C 80054F6C 8638014C */ lh $t8, 0x14c($s1)
/* ACC110 80054F70 240E0004 */ li $t6, 4
/* ACC114 80054F74 37080400 */ ori $t0, $t8, 0x400
/* ACC118 80054F78 A628014C */ sh $t0, 0x14c($s1)
/* ACC11C 80054F7C 862A014C */ lh $t2, 0x14c($s1)
/* ACC120 80054F80 31490008 */ andi $t1, $t2, 8
/* ACC124 80054F84 51200003 */ beql $t1, $zero, .L80054F94
/* ACC128 80054F88 240C0001 */ li $t4, 1
/* ACC12C 80054F8C A62E015E */ sh $t6, 0x15e($s1)
glabel L80054F90
/* ACC130 80054F90 240C0001 */ li $t4, 1
.L80054F94:
/* ACC134 80054F94 262B0094 */ addiu $t3, $s1, 0x94
/* ACC138 80054F98 A3AC0053 */ sb $t4, 0x53($sp)
/* ACC13C 80054F9C AFAB0028 */ sw $t3, 0x28($sp)
/* ACC140 80054FA0 2630000C */ addiu $s0, $s1, 0xc
/* ACC144 80054FA4 10000053 */ b .L800550F4
/* ACC148 80054FA8 86060010 */ lh $a2, 0x10($s0)
glabel L80054FAC
/* ACC14C 80054FAC 3C0142A0 */ li $at, 0x42A00000 # 0.000000
/* ACC150 80054FB0 44814000 */ mtc1 $at, $f8
/* ACC154 80054FB4 87AD0096 */ lh $t5, 0x96($sp)
/* ACC158 80054FB8 3C018014 */ lui $at, %hi(D_8013A34C)
/* ACC15C 80054FBC C42AA34C */ lwc1 $f10, %lo(D_8013A34C)($at)
/* ACC160 80054FC0 A7A0008C */ sh $zero, 0x8c($sp)
/* ACC164 80054FC4 2630000C */ addiu $s0, $s1, 0xc
/* ACC168 80054FC8 E7A80088 */ swc1 $f8, 0x88($sp)
/* ACC16C 80054FCC A7AD008E */ sh $t5, 0x8e($sp)
/* ACC170 80054FD0 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012
/* ACC174 80054FD4 24193400 */ li $t9, 13312
/* ACC178 80054FD8 E60A000C */ swc1 $f10, 0xc($s0)
/* ACC17C 80054FDC AC39D3A0 */ sw $t9, %lo(D_8011D3A0)($at)
/* ACC180 80054FE0 86060010 */ lh $a2, 0x10($s0)
/* ACC184 80054FE4 3C018014 */ lui $at, %hi(D_8013A350)
/* ACC188 80054FE8 04C20025 */ bltzl $a2, .L80055080
/* ACC18C 80054FEC 8639014C */ lh $t9, 0x14c($s1)
/* ACC190 80054FF0 C432A350 */ lwc1 $f18, %lo(D_8013A350)($at)
/* ACC194 80054FF4 C62400D8 */ lwc1 $f4, 0xd8($s1)
/* ACC198 80054FF8 3C0F8016 */ lui $t7, %hi(D_8015BD7C) # $t7, 0x8016
/* ACC19C 80054FFC 4604903C */ c.lt.s $f18, $f4
/* ACC1A0 80055000 00000000 */ nop
/* ACC1A4 80055004 4503001E */ bc1tl .L80055080
/* ACC1A8 80055008 8639014C */ lh $t9, 0x14c($s1)
/* ACC1AC 8005500C 8DEFBD7C */ lw $t7, %lo(D_8015BD7C)($t7)
/* ACC1B0 80055010 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff
/* ACC1B4 80055014 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff
/* ACC1B8 80055018 95E20020 */ lhu $v0, 0x20($t7)
/* ACC1BC 8005501C 0041C027 */ nor $t8, $v0, $at
/* ACC1C0 80055020 13000016 */ beqz $t8, .L8005507C
/* ACC1C4 80055024 2401BFFF */ li $at, -16385
/* ACC1C8 80055028 00414027 */ nor $t0, $v0, $at
/* ACC1CC 8005502C 11000013 */ beqz $t0, .L8005507C
/* ACC1D0 80055030 2401FFFD */ li $at, -3
/* ACC1D4 80055034 00415027 */ nor $t2, $v0, $at
/* ACC1D8 80055038 11400010 */ beqz $t2, .L8005507C
/* ACC1DC 8005503C 2401FFFB */ li $at, -5
/* ACC1E0 80055040 00414827 */ nor $t1, $v0, $at
/* ACC1E4 80055044 1120000D */ beqz $t1, .L8005507C
/* ACC1E8 80055048 2401FFF7 */ li $at, -9
/* ACC1EC 8005504C 00417027 */ nor $t6, $v0, $at
/* ACC1F0 80055050 11C0000A */ beqz $t6, .L8005507C
/* ACC1F4 80055054 2401FFFE */ li $at, -2
/* ACC1F8 80055058 00416027 */ nor $t4, $v0, $at
/* ACC1FC 8005505C 11800007 */ beqz $t4, .L8005507C
/* ACC200 80055060 2401FFEF */ li $at, -17
/* ACC204 80055064 00415827 */ nor $t3, $v0, $at
/* ACC208 80055068 11600004 */ beqz $t3, .L8005507C
/* ACC20C 8005506C 2401DFFF */ li $at, -8193
/* ACC210 80055070 00416827 */ nor $t5, $v0, $at
/* ACC214 80055074 55A0001C */ bnezl $t5, .L800550E8
/* ACC218 80055078 240C0001 */ li $t4, 1
.L8005507C:
/* ACC21C 8005507C 8639014C */ lh $t9, 0x14c($s1)
.L80055080:
/* ACC220 80055080 332F0008 */ andi $t7, $t9, 8
/* ACC224 80055084 51E00018 */ beql $t7, $zero, .L800550E8
/* ACC228 80055088 240C0001 */ li $t4, 1
.L8005508C:
glabel L8005508C
/* ACC22C 8005508C 8638014C */ lh $t8, 0x14c($s1)
/* ACC230 80055090 86250166 */ lh $a1, 0x166($s1)
/* ACC234 80055094 2630000C */ addiu $s0, $s1, 0xc
/* ACC238 80055098 37080014 */ ori $t0, $t8, 0x14
/* ACC23C 8005509C A628014C */ sh $t0, 0x14c($s1)
/* ACC240 800550A0 862A014C */ lh $t2, 0x14c($s1)
/* ACC244 800550A4 02202025 */ move $a0, $s1
/* ACC248 800550A8 24060002 */ li $a2, 2
/* ACC24C 800550AC 3149FFF7 */ andi $t1, $t2, 0xfff7
/* ACC250 800550B0 04A10005 */ bgez $a1, .L800550C8
/* ACC254 800550B4 A629014C */ sh $t1, 0x14c($s1)
/* ACC258 800550B8 0C016952 */ jal func_8005A548
/* ACC25C 800550BC 86250154 */ lh $a1, 0x154($s1)
/* ACC260 800550C0 10000005 */ b .L800550D8
/* ACC264 800550C4 00000000 */ nop
.L800550C8:
/* ACC268 800550C8 0C0169EA */ jal func_8005A7A8
/* ACC26C 800550CC 02202025 */ move $a0, $s1
/* ACC270 800550D0 240EFFFF */ li $t6, -1
/* ACC274 800550D4 A62E0166 */ sh $t6, 0x166($s1)
.L800550D8:
/* ACC278 800550D8 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012
/* ACC27C 800550DC AC20D3A0 */ sw $zero, %lo(D_8011D3A0)($at)
/* ACC280 800550E0 86060010 */ lh $a2, 0x10($s0)
/* ACC284 800550E4 240C0001 */ li $t4, 1
.L800550E8:
/* ACC288 800550E8 262B0094 */ addiu $t3, $s1, 0x94
/* ACC28C 800550EC A3AC0053 */ sb $t4, 0x53($sp)
/* ACC290 800550F0 AFAB0028 */ sw $t3, 0x28($sp)
.L800550F4:
/* ACC294 800550F4 24CD0001 */ addiu $t5, $a2, 1
/* ACC298 800550F8 A60D0010 */ sh $t5, 0x10($s0)
/* ACC29C 800550FC 86060010 */ lh $a2, 0x10($s0)
/* ACC2A0 80055100 24010001 */ li $at, 1
/* ACC2A4 80055104 14C10003 */ bne $a2, $at, .L80055114
/* ACC2A8 80055108 2419000A */ li $t9, 10
/* ACC2AC 8005510C 1000001E */ b .L80055188
/* ACC2B0 80055110 A639015E */ sh $t9, 0x15e($s1)
.L80055114:
/* ACC2B4 80055114 24020002 */ li $v0, 2
/* ACC2B8 80055118 14460004 */ bne $v0, $a2, .L8005512C
/* ACC2BC 8005511C 24010094 */ li $at, 148
/* ACC2C0 80055120 240F0001 */ li $t7, 1
/* ACC2C4 80055124 10000018 */ b .L80055188
/* ACC2C8 80055128 A62F015E */ sh $t7, 0x15e($s1)
.L8005512C:
/* ACC2CC 8005512C 54C10004 */ bnel $a2, $at, .L80055140
/* ACC2D0 80055130 2401009E */ li $at, 158
/* ACC2D4 80055134 10000014 */ b .L80055188
/* ACC2D8 80055138 A622015E */ sh $v0, 0x15e($s1)
/* ACC2DC 8005513C 2401009E */ li $at, 158
.L80055140:
/* ACC2E0 80055140 14C10003 */ bne $a2, $at, .L80055150
/* ACC2E4 80055144 24180014 */ li $t8, 20
/* ACC2E8 80055148 1000000F */ b .L80055188
/* ACC2EC 8005514C A638015E */ sh $t8, 0x15e($s1)
.L80055150:
/* ACC2F0 80055150 2401009F */ li $at, 159
/* ACC2F4 80055154 14C10003 */ bne $a2, $at, .L80055164
/* ACC2F8 80055158 24080003 */ li $t0, 3
/* ACC2FC 8005515C 1000000A */ b .L80055188
/* ACC300 80055160 A628015E */ sh $t0, 0x15e($s1)
.L80055164:
/* ACC304 80055164 240100A8 */ li $at, 168
/* ACC308 80055168 14C10003 */ bne $a2, $at, .L80055178
/* ACC30C 8005516C 240A001E */ li $t2, 30
/* ACC310 80055170 10000005 */ b .L80055188
/* ACC314 80055174 A62A015E */ sh $t2, 0x15e($s1)
.L80055178:
/* ACC318 80055178 240100E4 */ li $at, 228
/* ACC31C 8005517C 14C10002 */ bne $a2, $at, .L80055188
/* ACC320 80055180 24090004 */ li $t1, 4
/* ACC324 80055184 A629015E */ sh $t1, 0x15e($s1)
.L80055188:
/* ACC328 80055188 93AE0053 */ lbu $t6, 0x53($sp)
/* ACC32C 8005518C 55C00020 */ bnezl $t6, .L80055210
/* ACC330 80055190 8FA40030 */ lw $a0, 0x30($sp)
/* ACC334 80055194 C7AC0088 */ lwc1 $f12, 0x88($sp)
/* ACC338 80055198 C7AE0090 */ lwc1 $f14, 0x90($sp)
/* ACC33C 8005519C 8E06000C */ lw $a2, 0xc($s0)
/* ACC340 800551A0 0C010E27 */ jal func_8004389C
/* ACC344 800551A4 3C074000 */ lui $a3, 0x4000
/* ACC348 800551A8 E7A00088 */ swc1 $f0, 0x88($sp)
/* ACC34C 800551AC 8E06000C */ lw $a2, 0xc($s0)
/* ACC350 800551B0 87A4008C */ lh $a0, 0x8c($sp)
/* ACC354 800551B4 87A50094 */ lh $a1, 0x94($sp)
/* ACC358 800551B8 0C010E47 */ jal func_8004391C
/* ACC35C 800551BC 2407000A */ li $a3, 10
/* ACC360 800551C0 A7A2008C */ sh $v0, 0x8c($sp)
/* ACC364 800551C4 8E06000C */ lw $a2, 0xc($s0)
/* ACC368 800551C8 87A4008E */ lh $a0, 0x8e($sp)
/* ACC36C 800551CC 87A50096 */ lh $a1, 0x96($sp)
/* ACC370 800551D0 0C010E47 */ jal func_8004391C
/* ACC374 800551D4 2407000A */ li $a3, 10
/* ACC378 800551D8 26300074 */ addiu $s0, $s1, 0x74
/* ACC37C 800551DC A7A2008E */ sh $v0, 0x8e($sp)
/* ACC380 800551E0 02002025 */ move $a0, $s0
/* ACC384 800551E4 8FA50030 */ lw $a1, 0x30($sp)
/* ACC388 800551E8 0C010F0A */ jal func_80043C28
/* ACC38C 800551EC 27A60088 */ addiu $a2, $sp, 0x88
/* ACC390 800551F0 8FAC0034 */ lw $t4, 0x34($sp)
/* ACC394 800551F4 8E0D0000 */ lw $t5, ($s0)
/* ACC398 800551F8 AD8D0000 */ sw $t5, ($t4)
/* ACC39C 800551FC 8E0B0004 */ lw $t3, 4($s0)
/* ACC3A0 80055200 AD8B0004 */ sw $t3, 4($t4)
/* ACC3A4 80055204 8E0D0008 */ lw $t5, 8($s0)
/* ACC3A8 80055208 AD8D0008 */ sw $t5, 8($t4)
/* ACC3AC 8005520C 8FA40030 */ lw $a0, 0x30($sp)
.L80055210:
/* ACC3B0 80055210 0C01EFE4 */ jal func_8007BF90
/* ACC3B4 80055214 8FA50034 */ lw $a1, 0x34($sp)
/* ACC3B8 80055218 E62000DC */ swc1 $f0, 0xdc($s1)
/* ACC3BC 8005521C 3C018014 */ lui $at, %hi(D_8013A354)
/* ACC3C0 80055220 C426A354 */ lwc1 $f6, %lo(D_8013A354)($at)
/* ACC3C4 80055224 C6280050 */ lwc1 $f8, 0x50($s1)
/* ACC3C8 80055228 C6240054 */ lwc1 $f4, 0x54($s1)
/* ACC3CC 8005522C E6260100 */ swc1 $f6, 0x100($s1)
/* ACC3D0 80055230 8FB90028 */ lw $t9, 0x28($sp)
/* ACC3D4 80055234 24020001 */ li $v0, 1
/* ACC3D8 80055238 C72A0000 */ lwc1 $f10, ($t9)
/* ACC3DC 8005523C 460A4481 */ sub.s $f18, $f8, $f10
/* ACC3E0 80055240 C62A0058 */ lwc1 $f10, 0x58($s1)
/* ACC3E4 80055244 E63200E4 */ swc1 $f18, 0xe4($s1)
/* ACC3E8 80055248 8FAF0028 */ lw $t7, 0x28($sp)
/* ACC3EC 8005524C C5E60004 */ lwc1 $f6, 4($t7)
/* ACC3F0 80055250 46062201 */ sub.s $f8, $f4, $f6
/* ACC3F4 80055254 E62800E8 */ swc1 $f8, 0xe8($s1)
/* ACC3F8 80055258 8FB80028 */ lw $t8, 0x28($sp)
/* ACC3FC 8005525C C7120008 */ lwc1 $f18, 8($t8)
/* ACC400 80055260 46125101 */ sub.s $f4, $f10, $f18
/* ACC404 80055264 E62400EC */ swc1 $f4, 0xec($s1)
/* ACC408 80055268 8FBF001C */ lw $ra, 0x1c($sp)
/* ACC40C 8005526C 8FB10018 */ lw $s1, 0x18($sp)
/* ACC410 80055270 8FB00014 */ lw $s0, 0x14($sp)
/* ACC414 80055274 03E00008 */ jr $ra
/* ACC418 80055278 27BD00A8 */ addiu $sp, $sp, 0xa8

View file

@ -0,0 +1,705 @@
.rdata
glabel D_80139690
.asciz "\x1B[43;30mcamera: warning: attention: target is not valid, stop!\n\x1B[m"
.balign 4
glabel D_801396D4
.asciz "\x1B[43;30mcamera: attention demo: this door is dummy door!\n\x1B[m"
.balign 4
.late_rodata
glabel D_8013A358
.float 0.6
glabel D_8013A35C
.float 0.005
glabel D_8013A360
.float -0.2
glabel D_8013A364
.float 0.004
glabel D_8013A368
.float 0.005
.text
glabel func_8005529C
/* ACC43C 8005529C 27BDFF68 */ addiu $sp, $sp, -0x98
/* ACC440 800552A0 AFB00018 */ sw $s0, 0x18($sp)
/* ACC444 800552A4 00808025 */ move $s0, $a0
/* ACC448 800552A8 AFBF001C */ sw $ra, 0x1c($sp)
/* ACC44C 800552AC 8E050090 */ lw $a1, 0x90($s0)
/* ACC450 800552B0 0C00BBB9 */ jal func_8002EEE4
/* ACC454 800552B4 27A40064 */ addiu $a0, $sp, 0x64
/* ACC458 800552B8 8E0E0090 */ lw $t6, 0x90($s0)
/* ACC45C 800552BC 240F3200 */ li $t7, 12800
/* ACC460 800552C0 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012
/* ACC464 800552C4 AC2FD3A0 */ sw $t7, %lo(D_8011D3A0)($at)
/* ACC468 800552C8 AFAE004C */ sw $t6, 0x4c($sp)
/* ACC46C 800552CC 8E0500A8 */ lw $a1, 0xa8($s0)
/* ACC470 800552D0 10A00005 */ beqz $a1, .L800552E8
/* ACC474 800552D4 00000000 */ nop
/* ACC478 800552D8 8CB80130 */ lw $t8, 0x130($a1)
/* ACC47C 800552DC 260400AC */ addiu $a0, $s0, 0xac
/* ACC480 800552E0 17000008 */ bnez $t8, .L80055304
/* ACC484 800552E4 00000000 */ nop
.L800552E8:
/* ACC488 800552E8 14A00003 */ bnez $a1, .L800552F8
/* ACC48C 800552EC 3C048014 */ lui $a0, %hi(D_80139690) # $a0, 0x8014
/* ACC490 800552F0 0C00084C */ jal osSyncPrintf
/* ACC494 800552F4 24849690 */ addiu $a0, %lo(D_80139690) # addiu $a0, $a0, -0x6970
.L800552F8:
/* ACC498 800552F8 AE0000A8 */ sw $zero, 0xa8($s0)
/* ACC49C 800552FC 10000259 */ b .L80055C64
/* ACC4A0 80055300 24020001 */ li $v0, 1
.L80055304:
/* ACC4A4 80055304 0C00BBB9 */ jal func_8002EEE4
/* ACC4A8 80055308 AFA40020 */ sw $a0, 0x20($sp)
/* ACC4AC 8005530C 27A40088 */ addiu $a0, $sp, 0x88
/* ACC4B0 80055310 8FA50020 */ lw $a1, 0x20($sp)
/* ACC4B4 80055314 0C01F124 */ jal func_8007C490
/* ACC4B8 80055318 26060094 */ addiu $a2, $s0, 0x94
/* ACC4BC 8005531C 8E1900A8 */ lw $t9, 0xa8($s0)
/* ACC4C0 80055320 3C018012 */ lui $at, %hi(D_8011D3AC) # $at, 0x8012
/* ACC4C4 80055324 27A6007E */ addiu $a2, $sp, 0x7e
/* ACC4C8 80055328 93280002 */ lbu $t0, 2($t9)
/* ACC4CC 8005532C 27A7007C */ addiu $a3, $sp, 0x7c
/* ACC4D0 80055330 AC28D3AC */ sw $t0, %lo(D_8011D3AC)($at)
/* ACC4D4 80055334 8E0500A8 */ lw $a1, 0xa8($s0)
/* ACC4D8 80055338 0C00BCDD */ jal func_8002F374
/* ACC4DC 8005533C 8E04008C */ lw $a0, 0x8c($s0)
/* ACC4E0 80055340 8FA40020 */ lw $a0, 0x20($sp)
/* ACC4E4 80055344 0C01EFE4 */ jal func_8007BF90
/* ACC4E8 80055348 2605005C */ addiu $a1, $s0, 0x5c
/* ACC4EC 8005534C E7A00094 */ swc1 $f0, 0x94($sp)
/* ACC4F0 80055350 27A40080 */ addiu $a0, $sp, 0x80
/* ACC4F4 80055354 27A50064 */ addiu $a1, $sp, 0x64
/* ACC4F8 80055358 0C01F124 */ jal func_8007C490
/* ACC4FC 8005535C 26060074 */ addiu $a2, $s0, 0x74
/* ACC500 80055360 87A90086 */ lh $t1, 0x86($sp)
/* ACC504 80055364 87AA008E */ lh $t2, 0x8e($sp)
/* ACC508 80055368 24010002 */ li $at, 2
/* ACC50C 8005536C C7A40080 */ lwc1 $f4, 0x80($sp)
/* ACC510 80055370 012A5823 */ subu $t3, $t1, $t2
/* ACC514 80055374 A7AB004A */ sh $t3, 0x4a($sp)
/* ACC518 80055378 8E0C00A8 */ lw $t4, 0xa8($s0)
/* ACC51C 8005537C C7A00088 */ lwc1 $f0, 0x88($sp)
/* ACC520 80055380 91830002 */ lbu $v1, 2($t4)
/* ACC524 80055384 14610040 */ bne $v1, $at, .L80055488
/* ACC528 80055388 3C0141F0 */ li $at, 0x41F00000 # 0.000000
/* ACC52C 8005538C 44811000 */ mtc1 $at, $f2
/* ACC530 80055390 00000000 */ nop
/* ACC534 80055394 4604103C */ c.lt.s $f2, $f4
/* ACC538 80055398 00000000 */ nop
/* ACC53C 8005539C 45000021 */ bc1f .L80055424
/* ACC540 800553A0 00000000 */ nop
/* ACC544 800553A4 860D0160 */ lh $t5, 0x160($s0)
/* ACC548 800553A8 3C018012 */ lui $at, %hi(D_8011D6D8) # $at, 0x8012
/* ACC54C 800553AC 25AEFFFF */ addiu $t6, $t5, -1
/* ACC550 800553B0 0C03F66B */ jal Math_Rand_ZeroOne
/* ACC554 800553B4 A42ED6D8 */ sh $t6, %lo(D_8011D6D8)($at)
/* ACC558 800553B8 3C014120 */ li $at, 0x41200000 # 0.000000
/* ACC55C 800553BC 44813000 */ mtc1 $at, $f6
/* ACC560 800553C0 3C028012 */ lui $v0, %hi(D_8011D6AC) # $v0, 0x8012
/* ACC564 800553C4 2442D6AC */ addiu $v0, %lo(D_8011D6AC) # addiu $v0, $v0, -0x2954
/* ACC568 800553C8 46060202 */ mul.s $f8, $f0, $f6
/* ACC56C 800553CC 0C03F66B */ jal Math_Rand_ZeroOne
/* ACC570 800553D0 E4480040 */ swc1 $f8, 0x40($v0)
/* ACC574 800553D4 3C014120 */ li $at, 0x41200000 # 0.000000
/* ACC578 800553D8 44815000 */ mtc1 $at, $f10
/* ACC57C 800553DC 3C028012 */ lui $v0, %hi(D_8011D6AC)
/* ACC580 800553E0 2442D6AC */ addiu $v0, %lo(D_8011D6AC) # addiu $v0, $v0, -0x2954
/* ACC584 800553E4 460A0402 */ mul.s $f16, $f0, $f10
/* ACC588 800553E8 240F0003 */ li $t7, 3
/* ACC58C 800553EC 25E8FFFF */ addiu $t0, $t7, -1
/* ACC590 800553F0 E4500044 */ swc1 $f16, 0x44($v0)
/* ACC594 800553F4 86180162 */ lh $t8, 0x162($s0)
/* ACC598 800553F8 AE020004 */ sw $v0, 4($s0)
/* ACC59C 800553FC AE0F0000 */ sw $t7, ($s0)
/* ACC5A0 80055400 53000004 */ beql $t8, $zero, .L80055414
/* ACC5A4 80055404 86090160 */ lh $t1, 0x160($s0)
/* ACC5A8 80055408 100001C2 */ b .L80055B14
/* ACC5AC 8005540C AE080000 */ sw $t0, ($s0)
/* ACC5B0 80055410 86090160 */ lh $t1, 0x160($s0)
.L80055414:
/* ACC5B4 80055414 844A0054 */ lh $t2, 0x54($v0)
/* ACC5B8 80055418 012A5821 */ addu $t3, $t1, $t2
/* ACC5BC 8005541C 100001BD */ b .L80055B14
/* ACC5C0 80055420 A60B0160 */ sh $t3, 0x160($s0)
.L80055424:
/* ACC5C4 80055424 0C03F66B */ jal Math_Rand_ZeroOne
/* ACC5C8 80055428 00000000 */ nop
/* ACC5CC 8005542C 3C014120 */ li $at, 0x41200000 # 0.000000
/* ACC5D0 80055430 44819000 */ mtc1 $at, $f18
/* ACC5D4 80055434 3C028012 */ lui $v0, %hi(D_8011D724)
/* ACC5D8 80055438 2442D724 */ addiu $v0, %lo(D_8011D724) # addiu $v0, $v0, -0x28dc
/* ACC5DC 8005543C 46120102 */ mul.s $f4, $f0, $f18
/* ACC5E0 80055440 240E0003 */ li $t6, 3
/* ACC5E4 80055444 25D9FFFF */ addiu $t9, $t6, -1
/* ACC5E8 80055448 E4440044 */ swc1 $f4, 0x44($v0)
/* ACC5EC 8005544C 860C0160 */ lh $t4, 0x160($s0)
/* ACC5F0 80055450 258DFFFF */ addiu $t5, $t4, -1
/* ACC5F4 80055454 A44D002C */ sh $t5, 0x2c($v0)
/* ACC5F8 80055458 860F0162 */ lh $t7, 0x162($s0)
/* ACC5FC 8005545C AE020004 */ sw $v0, 4($s0)
/* ACC600 80055460 AE0E0000 */ sw $t6, ($s0)
/* ACC604 80055464 51E00004 */ beql $t7, $zero, .L80055478
/* ACC608 80055468 86080160 */ lh $t0, 0x160($s0)
/* ACC60C 8005546C 100001A9 */ b .L80055B14
/* ACC610 80055470 AE190000 */ sw $t9, ($s0)
/* ACC614 80055474 86080160 */ lh $t0, 0x160($s0)
.L80055478:
/* ACC618 80055478 84490054 */ lh $t1, 0x54($v0)
/* ACC61C 8005547C 01095021 */ addu $t2, $t0, $t1
/* ACC620 80055480 100001A4 */ b .L80055B14
/* ACC624 80055484 A60A0160 */ sh $t2, 0x160($s0)
.L80055488:
/* ACC628 80055488 3C0141F0 */ li $at, 0x41F00000 # 0.000000
/* ACC62C 8005548C 44811000 */ mtc1 $at, $f2
/* ACC630 80055490 3C028012 */ lui $v0, %hi(D_8011D79C)
/* ACC634 80055494 2442D79C */ addiu $v0, %lo(D_8011D79C) # addiu $v0, $v0, -0x2864
/* ACC638 80055498 4602003C */ c.lt.s $f0, $f2
/* ACC63C 8005549C 240B0004 */ li $t3, 4
/* ACC640 800554A0 C7AC0094 */ lwc1 $f12, 0x94($sp)
/* ACC644 800554A4 3C014396 */ li $at, 0x43960000 # 0.000000
/* ACC648 800554A8 4502002E */ bc1fl .L80055564
/* ACC64C 800554AC 44818000 */ mtc1 $at, $f16
/* ACC650 800554B0 AE020004 */ sw $v0, 4($s0)
/* ACC654 800554B4 AE0B0000 */ sw $t3, ($s0)
/* ACC658 800554B8 87AC007E */ lh $t4, 0x7e($sp)
/* ACC65C 800554BC 240D0041 */ li $t5, 65
/* ACC660 800554C0 29810015 */ slti $at, $t4, 0x15
/* ACC664 800554C4 14200007 */ bnez $at, .L800554E4
/* ACC668 800554C8 2981012C */ slti $at, $t4, 0x12c
/* ACC66C 800554CC 10200005 */ beqz $at, .L800554E4
/* ACC670 800554D0 87A3007C */ lh $v1, 0x7c($sp)
/* ACC674 800554D4 28610029 */ slti $at, $v1, 0x29
/* ACC678 800554D8 14200002 */ bnez $at, .L800554E4
/* ACC67C 800554DC 286100C8 */ slti $at, $v1, 0xc8
/* ACC680 800554E0 1420000E */ bnez $at, .L8005551C
.L800554E4:
/* ACC684 800554E4 3C01C1F0 */ li $at, 0xC1F00000 # 0.000000
/* ACC688 800554E8 44813000 */ mtc1 $at, $f6
/* ACC68C 800554EC 3C014120 */ li $at, 0x41200000 # 0.000000
/* ACC690 800554F0 44801000 */ mtc1 $zero, $f2
/* ACC694 800554F4 44814000 */ mtc1 $at, $f8
/* ACC698 800554F8 3C01C248 */ li $at, 0xC2480000 # 0.000000
/* ACC69C 800554FC 44815000 */ mtc1 $at, $f10
/* ACC6A0 80055500 A04D0000 */ sb $t5, ($v0)
/* ACC6A4 80055504 E4460014 */ swc1 $f6, 0x14($v0)
/* ACC6A8 80055508 E4420010 */ swc1 $f2, 0x10($v0)
/* ACC6AC 8005550C E4420018 */ swc1 $f2, 0x18($v0)
/* ACC6B0 80055510 E4420020 */ swc1 $f2, 0x20($v0)
/* ACC6B4 80055514 E448001C */ swc1 $f8, 0x1c($v0)
/* ACC6B8 80055518 E44A0024 */ swc1 $f10, 0x24($v0)
.L8005551C:
/* ACC6BC 8005551C 860E0160 */ lh $t6, 0x160($s0)
/* ACC6C0 80055520 25CFFFFF */ addiu $t7, $t6, -1
/* ACC6C4 80055524 A44F002C */ sh $t7, 0x2c($v0)
/* ACC6C8 80055528 86180162 */ lh $t8, 0x162($s0)
/* ACC6CC 8005552C 53000006 */ beql $t8, $zero, .L80055548
/* ACC6D0 80055530 86090160 */ lh $t1, 0x160($s0)
/* ACC6D4 80055534 8E190000 */ lw $t9, ($s0)
/* ACC6D8 80055538 2728FFFE */ addiu $t0, $t9, -2
/* ACC6DC 8005553C 10000175 */ b .L80055B14
/* ACC6E0 80055540 AE080000 */ sw $t0, ($s0)
/* ACC6E4 80055544 86090160 */ lh $t1, 0x160($s0)
.L80055548:
/* ACC6E8 80055548 844A0054 */ lh $t2, 0x54($v0)
/* ACC6EC 8005554C 844C007C */ lh $t4, 0x7c($v0)
/* ACC6F0 80055550 012A5821 */ addu $t3, $t1, $t2
/* ACC6F4 80055554 016C6821 */ addu $t5, $t3, $t4
/* ACC6F8 80055558 1000016E */ b .L80055B14
/* ACC6FC 8005555C A60D0160 */ sh $t5, 0x160($s0)
/* ACC700 80055560 44818000 */ mtc1 $at, $f16
.L80055564:
/* ACC704 80055564 C7B20080 */ lwc1 $f18, 0x80($sp)
/* ACC708 80055568 3C01442F */ li $at, 0x442F0000 # 0.000000
/* ACC70C 8005556C 4610603C */ c.lt.s $f12, $f16
/* ACC710 80055570 00000000 */ nop
/* ACC714 80055574 45020017 */ bc1fl .L800555D4
/* ACC718 80055578 44812000 */ mtc1 $at, $f4
/* ACC71C 8005557C 4602903C */ c.lt.s $f18, $f2
/* ACC720 80055580 00000000 */ nop
/* ACC724 80055584 45020013 */ bc1fl .L800555D4
/* ACC728 80055588 44812000 */ mtc1 $at, $f4
/* ACC72C 8005558C 860E0160 */ lh $t6, 0x160($s0)
/* ACC730 80055590 3C028012 */ lui $v0, %hi(D_8011D83C)
/* ACC734 80055594 2442D83C */ addiu $v0, %lo(D_8011D83C) # addiu $v0, $v0, -0x27c4
/* ACC738 80055598 A44E0004 */ sh $t6, 4($v0)
/* ACC73C 8005559C 86180162 */ lh $t8, 0x162($s0)
/* ACC740 800555A0 240F0002 */ li $t7, 2
/* ACC744 800555A4 AE020004 */ sw $v0, 4($s0)
/* ACC748 800555A8 13000004 */ beqz $t8, .L800555BC
/* ACC74C 800555AC AE0F0000 */ sw $t7, ($s0)
/* ACC750 800555B0 25E8FFFF */ addiu $t0, $t7, -1
/* ACC754 800555B4 10000157 */ b .L80055B14
/* ACC758 800555B8 AE080000 */ sw $t0, ($s0)
.L800555BC:
/* ACC75C 800555BC 86090160 */ lh $t1, 0x160($s0)
/* ACC760 800555C0 844A002C */ lh $t2, 0x2c($v0)
/* ACC764 800555C4 012A5821 */ addu $t3, $t1, $t2
/* ACC768 800555C8 10000152 */ b .L80055B14
/* ACC76C 800555CC A60B0160 */ sh $t3, 0x160($s0)
/* ACC770 800555D0 44812000 */ mtc1 $at, $f4
.L800555D4:
/* ACC774 800555D4 87A5004A */ lh $a1, 0x4a($sp)
/* ACC778 800555D8 4604603C */ c.lt.s $f12, $f4
/* ACC77C 800555DC 00000000 */ nop
/* ACC780 800555E0 45020064 */ bc1fl .L80055774
/* ACC784 800555E4 2401000A */ li $at, 10
/* ACC788 800555E8 04A00003 */ bltz $a1, .L800555F8
/* ACC78C 800555EC 00051023 */ negu $v0, $a1
/* ACC790 800555F0 10000001 */ b .L800555F8
/* ACC794 800555F4 00A01025 */ move $v0, $a1
.L800555F8:
/* ACC798 800555F8 284136B0 */ slti $at, $v0, 0x36b0
/* ACC79C 800555FC 5020005D */ beql $at, $zero, .L80055774
/* ACC7A0 80055600 2401000A */ li $at, 10
/* ACC7A4 80055604 87A3007E */ lh $v1, 0x7e($sp)
/* ACC7A8 80055608 28610015 */ slti $at, $v1, 0x15
/* ACC7AC 8005560C 1420001D */ bnez $at, .L80055684
/* ACC7B0 80055610 2861012C */ slti $at, $v1, 0x12c
/* ACC7B4 80055614 1020001B */ beqz $at, .L80055684
/* ACC7B8 80055618 87A3007C */ lh $v1, 0x7c($sp)
/* ACC7BC 8005561C 28610029 */ slti $at, $v1, 0x29
/* ACC7C0 80055620 14200018 */ bnez $at, .L80055684
/* ACC7C4 80055624 286100C8 */ slti $at, $v1, 0xc8
/* ACC7C8 80055628 10200016 */ beqz $at, .L80055684
/* ACC7CC 8005562C C7A60080 */ lwc1 $f6, 0x80($sp)
/* ACC7D0 80055630 4606103C */ c.lt.s $f2, $f6
/* ACC7D4 80055634 00000000 */ nop
/* ACC7D8 80055638 45000012 */ bc1f .L80055684
/* ACC7DC 8005563C 00000000 */ nop
/* ACC7E0 80055640 860C0160 */ lh $t4, 0x160($s0)
/* ACC7E4 80055644 3C028012 */ lui $v0, %hi(D_8011D88C) # $v0, 0x8012
/* ACC7E8 80055648 2442D88C */ addiu $v0, %lo(D_8011D88C) # addiu $v0, $v0, -0x2774
/* ACC7EC 8005564C A44C0004 */ sh $t4, 4($v0)
/* ACC7F0 80055650 860E0162 */ lh $t6, 0x162($s0)
/* ACC7F4 80055654 240D0002 */ li $t5, 2
/* ACC7F8 80055658 AE020004 */ sw $v0, 4($s0)
/* ACC7FC 8005565C 11C00004 */ beqz $t6, .L80055670
/* ACC800 80055660 AE0D0000 */ sw $t5, ($s0)
/* ACC804 80055664 25B8FFFF */ addiu $t8, $t5, -1
/* ACC808 80055668 1000012A */ b .L80055B14
/* ACC80C 8005566C AE180000 */ sw $t8, ($s0)
.L80055670:
/* ACC810 80055670 86190160 */ lh $t9, 0x160($s0)
/* ACC814 80055674 8448002C */ lh $t0, 0x2c($v0)
/* ACC818 80055678 03284821 */ addu $t1, $t9, $t0
/* ACC81C 8005567C 10000125 */ b .L80055B14
/* ACC820 80055680 A6090160 */ sh $t1, 0x160($s0)
.L80055684:
/* ACC824 80055684 3C018014 */ lui $at, %hi(D_8013A358)
/* ACC828 80055688 C428A358 */ lwc1 $f8, %lo(D_8013A358)($at)
/* ACC82C 8005568C 3C014248 */ li $at, 0x42480000 # 0.000000
/* ACC830 80055690 44818000 */ mtc1 $at, $f16
/* ACC834 80055694 46086282 */ mul.s $f10, $f12, $f8
/* ACC838 80055698 3C028012 */ lui $v0, %hi(D_8011D8DC) # $v0, 0x8012
/* ACC83C 8005569C 46106480 */ add.s $f18, $f12, $f16
/* ACC840 800556A0 2442D8DC */ addiu $v0, %lo(D_8011D8DC) # addiu $v0, $v0, -0x2724
/* ACC844 800556A4 E4520024 */ swc1 $f18, 0x24($v0)
/* ACC848 800556A8 0C03F66B */ jal Math_Rand_ZeroOne
/* ACC84C 800556AC E44A0018 */ swc1 $f10, 0x18($v0)
/* ACC850 800556B0 3C014120 */ li $at, 0x41200000 # 0.000000
/* ACC854 800556B4 44812000 */ mtc1 $at, $f4
/* ACC858 800556B8 87AA0086 */ lh $t2, 0x86($sp)
/* ACC85C 800556BC 87AB008E */ lh $t3, 0x8e($sp)
/* ACC860 800556C0 46040182 */ mul.s $f6, $f0, $f4
/* ACC864 800556C4 3C028012 */ lui $v0, %hi(D_8011D8DC) # $v0, 0x8012
/* ACC868 800556C8 014B6023 */ subu $t4, $t2, $t3
/* ACC86C 800556CC 000C6C00 */ sll $t5, $t4, 0x10
/* ACC870 800556D0 2442D8DC */ addiu $v0, %lo(D_8011D8DC) # addiu $v0, $v0, -0x2724
/* ACC874 800556D4 000D7403 */ sra $t6, $t5, 0x10
/* ACC878 800556D8 19C0000A */ blez $t6, .L80055704
/* ACC87C 800556DC E446001C */ swc1 $f6, 0x1c($v0)
/* ACC880 800556E0 C4480010 */ lwc1 $f8, 0x10($v0)
/* ACC884 800556E4 C450001C */ lwc1 $f16, 0x1c($v0)
/* ACC888 800556E8 844F0006 */ lh $t7, 6($v0)
/* ACC88C 800556EC 46004287 */ neg.s $f10, $f8
/* ACC890 800556F0 46008487 */ neg.s $f18, $f16
/* ACC894 800556F4 000FC023 */ negu $t8, $t7
/* ACC898 800556F8 E44A0010 */ swc1 $f10, 0x10($v0)
/* ACC89C 800556FC E452001C */ swc1 $f18, 0x1c($v0)
/* ACC8A0 80055700 A4580006 */ sh $t8, 6($v0)
.L80055704:
/* ACC8A4 80055704 86190160 */ lh $t9, 0x160($s0)
/* ACC8A8 80055708 3C018014 */ lui $at, %hi(D_8013A35C)
/* ACC8AC 8005570C C7A40094 */ lwc1 $f4, 0x94($sp)
/* ACC8B0 80055710 A4590004 */ sh $t9, 4($v0)
/* ACC8B4 80055714 C426A35C */ lwc1 $f6, %lo(D_8013A35C)($at)
/* ACC8B8 80055718 240D0003 */ li $t5, 3
/* ACC8BC 8005571C 25B8FFFE */ addiu $t8, $t5, -2
/* ACC8C0 80055720 46062202 */ mul.s $f8, $f4, $f6
/* ACC8C4 80055724 4600428D */ trunc.w.s $f10, $f8
/* ACC8C8 80055728 440B5000 */ mfc1 $t3, $f10
/* ACC8CC 8005572C 00000000 */ nop
/* ACC8D0 80055730 256C0008 */ addiu $t4, $t3, 8
/* ACC8D4 80055734 A44C002C */ sh $t4, 0x2c($v0)
/* ACC8D8 80055738 860E0162 */ lh $t6, 0x162($s0)
/* ACC8DC 8005573C AE020004 */ sw $v0, 4($s0)
/* ACC8E0 80055740 AE0D0000 */ sw $t5, ($s0)
/* ACC8E4 80055744 51C00004 */ beql $t6, $zero, .L80055758
/* ACC8E8 80055748 86190160 */ lh $t9, 0x160($s0)
/* ACC8EC 8005574C 100000F1 */ b .L80055B14
/* ACC8F0 80055750 AE180000 */ sw $t8, ($s0)
/* ACC8F4 80055754 86190160 */ lh $t9, 0x160($s0)
.L80055758:
/* ACC8F8 80055758 8448002C */ lh $t0, 0x2c($v0)
/* ACC8FC 8005575C 844A0054 */ lh $t2, 0x54($v0)
/* ACC900 80055760 03284821 */ addu $t1, $t9, $t0
/* ACC904 80055764 012A5821 */ addu $t3, $t1, $t2
/* ACC908 80055768 100000EA */ b .L80055B14
/* ACC90C 8005576C A60B0160 */ sh $t3, 0x160($s0)
/* ACC910 80055770 2401000A */ li $at, 10
.L80055774:
/* ACC914 80055774 14610090 */ bne $v1, $at, .L800559B8
/* ACC918 80055778 C7A00088 */ lwc1 $f0, 0x88($sp)
/* ACC91C 8005577C 860C0160 */ lh $t4, 0x160($s0)
/* ACC920 80055780 3C078012 */ lui $a3, %hi(D_8011D954) # $a3, 0x8012
/* ACC924 80055784 24E7D954 */ addiu $a3, %lo(D_8011D954) # addiu $a3, $a3, -0x26ac
/* ACC928 80055788 258DFFFB */ addiu $t5, $t4, -5
/* ACC92C 8005578C A4ED0004 */ sh $t5, 4($a3)
/* ACC930 80055790 A7A0004A */ sh $zero, 0x4a($sp)
/* ACC934 80055794 8E0500A8 */ lw $a1, 0xa8($s0)
/* ACC938 80055798 8E04008C */ lw $a0, 0x8c($s0)
/* ACC93C 8005579C 0C03034D */ jal func_800C0D34
/* ACC940 800557A0 27A6004A */ addiu $a2, $sp, 0x4a
/* ACC944 800557A4 3C078012 */ lui $a3, %hi(D_8011D954) # $a3, 0x8012
/* ACC948 800557A8 14400014 */ bnez $v0, .L800557FC
/* ACC94C 800557AC 24E7D954 */ addiu $a3, %lo(D_8011D954) # addiu $a3, $a3, -0x26ac
/* ACC950 800557B0 3C048014 */ lui $a0, %hi(D_801396D4)
/* ACC954 800557B4 0C00084C */ jal osSyncPrintf
/* ACC958 800557B8 248496D4 */ addiu $a0, %lo(D_801396D4) # addiu $a0, $a0, -0x692c
/* ACC95C 800557BC 8E0E00A8 */ lw $t6, 0xa8($s0)
/* ACC960 800557C0 87AF008E */ lh $t7, 0x8e($sp)
/* ACC964 800557C4 3C078012 */ lui $a3, %hi(D_8011D954)
/* ACC968 800557C8 85C400B6 */ lh $a0, 0xb6($t6)
/* ACC96C 800557CC 24E7D954 */ addiu $a3, %lo(D_8011D954) # addiu $a3, $a3, -0x26ac
/* ACC970 800557D0 01E41823 */ subu $v1, $t7, $a0
/* ACC974 800557D4 04600003 */ bltz $v1, .L800557E4
/* ACC978 800557D8 00031023 */ negu $v0, $v1
/* ACC97C 800557DC 10000001 */ b .L800557E4
/* ACC980 800557E0 00601025 */ move $v0, $v1
.L800557E4:
/* ACC984 800557E4 28414000 */ slti $at, $v0, 0x4000
/* ACC988 800557E8 14200003 */ bnez $at, .L800557F8
/* ACC98C 800557EC 24988001 */ addiu $t8, $a0, -0x7fff
/* ACC990 800557F0 10000002 */ b .L800557FC
/* ACC994 800557F4 A7A4004A */ sh $a0, 0x4a($sp)
.L800557F8:
/* ACC998 800557F8 A7B8004A */ sh $t8, 0x4a($sp)
.L800557FC:
/* ACC99C 800557FC 8E0800A8 */ lw $t0, 0xa8($s0)
/* ACC9A0 80055800 87B9004A */ lh $t9, 0x4a($sp)
/* ACC9A4 80055804 87A5004A */ lh $a1, 0x4a($sp)
/* ACC9A8 80055808 850900B6 */ lh $t1, 0xb6($t0)
/* ACC9AC 8005580C 3C014334 */ li $at, 0x43340000 # 0.000000
/* ACC9B0 80055810 57290005 */ bnel $t9, $t1, .L80055828
/* ACC9B4 80055814 44800000 */ mtc1 $zero, $f0
/* ACC9B8 80055818 44810000 */ mtc1 $at, $f0
/* ACC9BC 8005581C 10000004 */ b .L80055830
/* ACC9C0 80055820 87AA008E */ lh $t2, 0x8e($sp)
/* ACC9C4 80055824 44800000 */ mtc1 $zero, $f0
.L80055828:
/* ACC9C8 80055828 00000000 */ nop
/* ACC9CC 8005582C 87AA008E */ lh $t2, 0x8e($sp)
.L80055830:
/* ACC9D0 80055830 E4E0003C */ swc1 $f0, 0x3c($a3)
/* ACC9D4 80055834 E4E00020 */ swc1 $f0, 0x20($a3)
/* ACC9D8 80055838 01455823 */ subu $t3, $t2, $a1
/* ACC9DC 8005583C 000B6400 */ sll $t4, $t3, 0x10
/* ACC9E0 80055840 000C6C03 */ sra $t5, $t4, 0x10
/* ACC9E4 80055844 05A10005 */ bgez $t5, .L8005585C
/* ACC9E8 80055848 E4E00014 */ swc1 $f0, 0x14($a3)
/* ACC9EC 8005584C 3C0141A0 */ li $at, 0x41A00000 # 0.000000
/* ACC9F0 80055850 44816000 */ mtc1 $at, $f12
/* ACC9F4 80055854 10000004 */ b .L80055868
/* ACC9F8 80055858 00000000 */ nop
.L8005585C:
/* ACC9FC 8005585C 3C01C1A0 */ li $at, 0xC1A00000 # 0.000000
/* ACCA00 80055860 44816000 */ mtc1 $at, $f12
/* ACCA04 80055864 00000000 */ nop
.L80055868:
/* ACCA08 80055868 0C03F66B */ jal Math_Rand_ZeroOne
/* ACCA0C 8005586C E7AC0030 */ swc1 $f12, 0x30($sp)
/* ACCA10 80055870 C7AC0030 */ lwc1 $f12, 0x30($sp)
/* ACCA14 80055874 3C078012 */ lui $a3, %hi(D_8011D954) # $a3, 0x8012
/* ACCA18 80055878 24E7D954 */ addiu $a3, %lo(D_8011D954) # addiu $a3, $a3, -0x26ac
/* ACCA1C 8005587C 460C0082 */ mul.s $f2, $f0, $f12
/* ACCA20 80055880 C4F00020 */ lwc1 $f16, 0x20($a3)
/* ACCA24 80055884 46028480 */ add.s $f18, $f16, $f2
/* ACCA28 80055888 E7A20090 */ swc1 $f2, 0x90($sp)
/* ACCA2C 8005588C 0C03F66B */ jal Math_Rand_ZeroOne
/* ACCA30 80055890 E4F20020 */ swc1 $f18, 0x20($a3)
/* ACCA34 80055894 3C018014 */ lui $at, %hi(D_8013A360)
/* ACCA38 80055898 C426A360 */ lwc1 $f6, %lo(D_8013A360)($at)
/* ACCA3C 8005589C C7A40090 */ lwc1 $f4, 0x90($sp)
/* ACCA40 800558A0 3C078012 */ lui $a3, %hi(D_8011D954) # $a3, 0x8012
/* ACCA44 800558A4 24E7D954 */ addiu $a3, %lo(D_8011D954) # addiu $a3, $a3, -0x26ac
/* ACCA48 800558A8 46062202 */ mul.s $f8, $f4, $f6
/* ACCA4C 800558AC 27A40050 */ addiu $a0, $sp, 0x50
/* ACCA50 800558B0 46080282 */ mul.s $f10, $f0, $f8
/* ACCA54 800558B4 4600540D */ trunc.w.s $f16, $f10
/* ACCA58 800558B8 44028000 */ mfc1 $v0, $f16
/* ACCA5C 800558BC 00000000 */ nop
/* ACCA60 800558C0 A4E2002E */ sh $v0, 0x2e($a3)
/* ACCA64 800558C4 A4E20006 */ sh $v0, 6($a3)
/* ACCA68 800558C8 0C00BBB9 */ jal func_8002EEE4
/* ACCA6C 800558CC 8E0500A8 */ lw $a1, 0xa8($s0)
/* ACCA70 800558D0 87A5004A */ lh $a1, 0x4a($sp)
/* ACCA74 800558D4 24A48001 */ addiu $a0, $a1, -0x7fff
/* ACCA78 800558D8 00042400 */ sll $a0, $a0, 0x10
/* ACCA7C 800558DC 0C01DE1C */ jal Math_Sins
/* ACCA80 800558E0 00042403 */ sra $a0, $a0, 0x10
/* ACCA84 800558E4 3C014248 */ li $at, 0x42480000 # 0.000000
/* ACCA88 800558E8 44812000 */ mtc1 $at, $f4
/* ACCA8C 800558EC C7B20050 */ lwc1 $f18, 0x50($sp)
/* ACCA90 800558F0 87A5004A */ lh $a1, 0x4a($sp)
/* ACCA94 800558F4 46002182 */ mul.s $f6, $f4, $f0
/* ACCA98 800558F8 24A48001 */ addiu $a0, $a1, -0x7fff
/* ACCA9C 800558FC 00042400 */ sll $a0, $a0, 0x10
/* ACCAA0 80055900 00042403 */ sra $a0, $a0, 0x10
/* ACCAA4 80055904 46069200 */ add.s $f8, $f18, $f6
/* ACCAA8 80055908 0C01DE0D */ jal Math_Coss
/* ACCAAC 8005590C E7A80050 */ swc1 $f8, 0x50($sp)
/* ACCAB0 80055910 3C014248 */ li $at, 0x42480000 # 0.000000
/* ACCAB4 80055914 44818000 */ mtc1 $at, $f16
/* ACCAB8 80055918 C7AA0058 */ lwc1 $f10, 0x58($sp)
/* ACCABC 8005591C 02002025 */ move $a0, $s0
/* ACCAC0 80055920 46008102 */ mul.s $f4, $f16, $f0
/* ACCAC4 80055924 27A50064 */ addiu $a1, $sp, 0x64
/* ACCAC8 80055928 27A60050 */ addiu $a2, $sp, 0x50
/* ACCACC 8005592C 46045480 */ add.s $f18, $f10, $f4
/* ACCAD0 80055930 0C010FCD */ jal func_80043F34
/* ACCAD4 80055934 E7B20058 */ swc1 $f18, 0x58($sp)
/* ACCAD8 80055938 3C078012 */ lui $a3, %hi(D_8011D954) # $a3, 0x8012
/* ACCADC 8005593C 10400006 */ beqz $v0, .L80055958
/* ACCAE0 80055940 24E7D954 */ addiu $a3, %lo(D_8011D954) # addiu $a3, $a3, -0x26ac
/* ACCAE4 80055944 240F00C1 */ li $t7, 193
/* ACCAE8 80055948 2418008F */ li $t8, 143
/* ACCAEC 8005594C A0EF0028 */ sb $t7, 0x28($a3)
/* ACCAF0 80055950 1000000A */ b .L8005597C
/* ACCAF4 80055954 A0F80050 */ sb $t8, 0x50($a3)
.L80055958:
/* ACCAF8 80055958 3C018014 */ lui $at, %hi(D_8013A364)
/* ACCAFC 8005595C C428A364 */ lwc1 $f8, %lo(D_8013A364)($at)
/* ACCB00 80055960 C7A60094 */ lwc1 $f6, 0x94($sp)
/* ACCB04 80055964 46083402 */ mul.s $f16, $f6, $f8
/* ACCB08 80055968 4600828D */ trunc.w.s $f10, $f16
/* ACCB0C 8005596C 440A5000 */ mfc1 $t2, $f10
/* ACCB10 80055970 00000000 */ nop
/* ACCB14 80055974 254B0006 */ addiu $t3, $t2, 6
/* ACCB18 80055978 A4EB0054 */ sh $t3, 0x54($a3)
.L8005597C:
/* ACCB1C 8005597C 860D0162 */ lh $t5, 0x162($s0)
/* ACCB20 80055980 240C0004 */ li $t4, 4
/* ACCB24 80055984 AE070004 */ sw $a3, 4($s0)
/* ACCB28 80055988 11A00004 */ beqz $t5, .L8005599C
/* ACCB2C 8005598C AE0C0000 */ sw $t4, ($s0)
/* ACCB30 80055990 258FFFFE */ addiu $t7, $t4, -2
/* ACCB34 80055994 1000005F */ b .L80055B14
/* ACCB38 80055998 AE0F0000 */ sw $t7, ($s0)
.L8005599C:
/* ACCB3C 8005599C 86180160 */ lh $t8, 0x160($s0)
/* ACCB40 800559A0 84E80054 */ lh $t0, 0x54($a3)
/* ACCB44 800559A4 84E9007C */ lh $t1, 0x7c($a3)
/* ACCB48 800559A8 0308C821 */ addu $t9, $t8, $t0
/* ACCB4C 800559AC 03295021 */ addu $t2, $t9, $t1
/* ACCB50 800559B0 10000058 */ b .L80055B14
/* ACCB54 800559B4 A60A0160 */ sh $t2, 0x160($s0)
.L800559B8:
/* ACCB58 800559B8 3C014348 */ li $at, 0x43480000 # 0.000000
/* ACCB5C 800559BC 44812000 */ mtc1 $at, $f4
/* ACCB60 800559C0 3C013E80 */ lui $at, 0x3e80
/* ACCB64 800559C4 4604003C */ c.lt.s $f0, $f4
/* ACCB68 800559C8 00000000 */ nop
/* ACCB6C 800559CC 45020008 */ bc1fl .L800559F0
/* ACCB70 800559D0 3C0143C8 */ li $at, 0x43C80000 # 0.000000
/* ACCB74 800559D4 44819000 */ mtc1 $at, $f18
/* ACCB78 800559D8 3C038012 */ lui $v1, %hi(D_8011D9F4) # $v1, 0x8012
/* ACCB7C 800559DC 2463D9F4 */ addiu $v1, %lo(D_8011D9F4) # addiu $v1, $v1, -0x260c
/* ACCB80 800559E0 46120182 */ mul.s $f6, $f0, $f18
/* ACCB84 800559E4 E4600024 */ swc1 $f0, 0x24($v1)
/* ACCB88 800559E8 E4660018 */ swc1 $f6, 0x18($v1)
/* ACCB8C 800559EC 3C0143C8 */ li $at, 0x43C80000 # 0.000000
.L800559F0:
/* ACCB90 800559F0 44814000 */ mtc1 $at, $f8
/* ACCB94 800559F4 00000000 */ nop
/* ACCB98 800559F8 4608003C */ c.lt.s $f0, $f8
/* ACCB9C 800559FC 00000000 */ nop
/* ACCBA0 80055A00 45000009 */ bc1f .L80055A28
/* ACCBA4 80055A04 00000000 */ nop
/* ACCBA8 80055A08 0C03F66B */ jal Math_Rand_ZeroOne
/* ACCBAC 80055A0C 00000000 */ nop
/* ACCBB0 80055A10 3C0141C8 */ li $at, 0x41C80000 # 0.000000
/* ACCBB4 80055A14 44818000 */ mtc1 $at, $f16
/* ACCBB8 80055A18 3C038012 */ lui $v1, %hi(D_8011D9F4) # $v1, 0x8012
/* ACCBBC 80055A1C 2463D9F4 */ addiu $v1, %lo(D_8011D9F4) # addiu $v1, $v1, -0x260c
/* ACCBC0 80055A20 46100282 */ mul.s $f10, $f0, $f16
/* ACCBC4 80055A24 E46A001C */ swc1 $f10, 0x1c($v1)
.L80055A28:
/* ACCBC8 80055A28 0C00B721 */ jal Player_GetCameraYOffset
/* ACCBCC 80055A2C 8E040090 */ lw $a0, 0x90($s0)
/* ACCBD0 80055A30 860B0160 */ lh $t3, 0x160($s0)
/* ACCBD4 80055A34 3C038012 */ lui $v1, %hi(D_8011D9F4) # $v1, 0x8012
/* ACCBD8 80055A38 2463D9F4 */ addiu $v1, %lo(D_8011D9F4) # addiu $v1, $v1, -0x260c
/* ACCBDC 80055A3C A46B0004 */ sh $t3, 4($v1)
/* ACCBE0 80055A40 8E0500A8 */ lw $a1, 0xa8($s0)
/* ACCBE4 80055A44 0C00BBB9 */ jal func_8002EEE4
/* ACCBE8 80055A48 27A40050 */ addiu $a0, $sp, 0x50
/* ACCBEC 80055A4C 02002025 */ move $a0, $s0
/* ACCBF0 80055A50 27A50064 */ addiu $a1, $sp, 0x64
/* ACCBF4 80055A54 0C010FCD */ jal func_80043F34
/* ACCBF8 80055A58 27A60050 */ addiu $a2, $sp, 0x50
/* ACCBFC 80055A5C 3C038012 */ lui $v1, %hi(D_8011D9F4) # $v1, 0x8012
/* ACCC00 80055A60 10400006 */ beqz $v0, .L80055A7C
/* ACCC04 80055A64 2463D9F4 */ addiu $v1, %lo(D_8011D9F4) # addiu $v1, $v1, -0x260c
/* ACCC08 80055A68 240C0004 */ li $t4, 4
/* ACCC0C 80055A6C 240D008F */ li $t5, 143
/* ACCC10 80055A70 A46C002C */ sh $t4, 0x2c($v1)
/* ACCC14 80055A74 1000000A */ b .L80055AA0
/* ACCC18 80055A78 A06D0028 */ sb $t5, 0x28($v1)
.L80055A7C:
/* ACCC1C 80055A7C 3C018014 */ lui $at, %hi(D_8013A368)
/* ACCC20 80055A80 C432A368 */ lwc1 $f18, %lo(D_8013A368)($at)
/* ACCC24 80055A84 C7A40094 */ lwc1 $f4, 0x94($sp)
/* ACCC28 80055A88 46122182 */ mul.s $f6, $f4, $f18
/* ACCC2C 80055A8C 4600320D */ trunc.w.s $f8, $f6
/* ACCC30 80055A90 44084000 */ mfc1 $t0, $f8
/* ACCC34 80055A94 00000000 */ nop
/* ACCC38 80055A98 25190008 */ addiu $t9, $t0, 8
/* ACCC3C 80055A9C A479002C */ sh $t9, 0x2c($v1)
.L80055AA0:
/* ACCC40 80055AA0 860A0162 */ lh $t2, 0x162($s0)
/* ACCC44 80055AA4 24090003 */ li $t1, 3
/* ACCC48 80055AA8 AE030004 */ sw $v1, 4($s0)
/* ACCC4C 80055AAC 11400010 */ beqz $t2, .L80055AF0
/* ACCC50 80055AB0 AE090000 */ sw $t1, ($s0)
/* ACCC54 80055AB4 8E0B008C */ lw $t3, 0x8c($s0)
/* ACCC58 80055AB8 8D6C009C */ lw $t4, 0x9c($t3)
/* ACCC5C 80055ABC 318D0001 */ andi $t5, $t4, 1
/* ACCC60 80055AC0 51A00008 */ beql $t5, $zero, .L80055AE4
/* ACCC64 80055AC4 8E190000 */ lw $t9, ($s0)
/* ACCC68 80055AC8 846E0006 */ lh $t6, 6($v1)
/* ACCC6C 80055ACC 8478002E */ lh $t8, 0x2e($v1)
/* ACCC70 80055AD0 000E7823 */ negu $t7, $t6
/* ACCC74 80055AD4 00184023 */ negu $t0, $t8
/* ACCC78 80055AD8 A46F0006 */ sh $t7, 6($v1)
/* ACCC7C 80055ADC A468002E */ sh $t0, 0x2e($v1)
/* ACCC80 80055AE0 8E190000 */ lw $t9, ($s0)
.L80055AE4:
/* ACCC84 80055AE4 2729FFFE */ addiu $t1, $t9, -2
/* ACCC88 80055AE8 1000000A */ b .L80055B14
/* ACCC8C 80055AEC AE090000 */ sw $t1, ($s0)
.L80055AF0:
/* ACCC90 80055AF0 860A0160 */ lh $t2, 0x160($s0)
/* ACCC94 80055AF4 846B002C */ lh $t3, 0x2c($v1)
/* ACCC98 80055AF8 846D0054 */ lh $t5, 0x54($v1)
/* ACCC9C 80055AFC 014B6021 */ addu $t4, $t2, $t3
/* ACCCA0 80055B00 018D7021 */ addu $t6, $t4, $t5
/* ACCCA4 80055B04 A60E0160 */ sh $t6, 0x160($s0)
/* ACCCA8 80055B08 A460002E */ sh $zero, 0x2e($v1)
/* ACCCAC 80055B0C 846F002E */ lh $t7, 0x2e($v1)
/* ACCCB0 80055B10 A46F0006 */ sh $t7, 6($v1)
.L80055B14:
/* ACCCB4 80055B14 8E18008C */ lw $t8, 0x8c($s0)
/* ACCCB8 80055B18 3C088012 */ lui $t0, %hi(D_8011D6A8) # $t0, 0x8012
/* ACCCBC 80055B1C 8D08D6A8 */ lw $t0, %lo(D_8011D6A8)($t0)
/* ACCCC0 80055B20 8F02009C */ lw $v0, 0x9c($t8)
/* ACCCC4 80055B24 01021823 */ subu $v1, $t0, $v0
/* ACCCC8 80055B28 28610033 */ slti $at, $v1, 0x33
/* ACCCCC 80055B2C 10200003 */ beqz $at, .L80055B3C
/* ACCCD0 80055B30 2861FFCE */ slti $at, $v1, -0x32
/* ACCCD4 80055B34 10200005 */ beqz $at, .L80055B4C
/* ACCCD8 80055B38 00000000 */ nop
.L80055B3C:
/* ACCCDC 80055B3C 0C01E221 */ jal func_80078884
/* ACCCE0 80055B40 9604012A */ lhu $a0, 0x12a($s0)
/* ACCCE4 80055B44 8E19008C */ lw $t9, 0x8c($s0)
/* ACCCE8 80055B48 8F22009C */ lw $v0, 0x9c($t9)
.L80055B4C:
/* ACCCEC 80055B4C 3C018012 */ lui $at, %hi(D_8011D6A8) # $at, 0x8012
/* ACCCF0 80055B50 AC22D6A8 */ sw $v0, %lo(D_8011D6A8)($at)
/* ACCCF4 80055B54 8E090090 */ lw $t1, 0x90($s0)
/* ACCCF8 80055B58 87B80072 */ lh $t8, 0x72($sp)
/* ACCCFC 80055B5C 87A8008E */ lh $t0, 0x8e($sp)
/* ACCD00 80055B60 8D2A067C */ lw $t2, 0x67c($t1)
/* ACCD04 80055B64 8FA2004C */ lw $v0, 0x4c($sp)
/* ACCD08 80055B68 0308C823 */ subu $t9, $t8, $t0
/* ACCD0C 80055B6C 000A5900 */ sll $t3, $t2, 4
/* ACCD10 80055B70 0563000D */ bgezl $t3, .L80055BA8
/* ACCD14 80055B74 A7B9004A */ sh $t9, 0x4a($sp)
/* ACCD18 80055B78 804C014F */ lb $t4, 0x14f($v0)
/* ACCD1C 80055B7C 24010001 */ li $at, 1
/* ACCD20 80055B80 51810009 */ beql $t4, $at, .L80055BA8
/* ACCD24 80055B84 A7B9004A */ sh $t9, 0x4a($sp)
/* ACCD28 80055B88 8C4D067C */ lw $t5, 0x67c($v0)
/* ACCD2C 80055B8C 3C012000 */ lui $at, 0x2000
/* ACCD30 80055B90 01A17025 */ or $t6, $t5, $at
/* ACCD34 80055B94 AC4E067C */ sw $t6, 0x67c($v0)
/* ACCD38 80055B98 860F0160 */ lh $t7, 0x160($s0)
/* ACCD3C 80055B9C 10000026 */ b .L80055C38
/* ACCD40 80055BA0 A44F0110 */ sh $t7, 0x110($v0)
/* ACCD44 80055BA4 A7B9004A */ sh $t9, 0x4a($sp)
.L80055BA8:
/* ACCD48 80055BA8 8E0500A8 */ lw $a1, 0xa8($s0)
/* ACCD4C 80055BAC 24010002 */ li $at, 2
/* ACCD50 80055BB0 8FA2004C */ lw $v0, 0x4c($sp)
/* ACCD54 80055BB4 90A90002 */ lbu $t1, 2($a1)
/* ACCD58 80055BB8 3C0B8012 */ lui $t3, %hi(D_8011D3F4) # $t3, 0x8012
/* ACCD5C 80055BBC 24060001 */ li $a2, 1
/* ACCD60 80055BC0 1521001B */ bne $t1, $at, .L80055C30
/* ACCD64 80055BC4 00000000 */ nop
/* ACCD68 80055BC8 8E04008C */ lw $a0, 0x8c($s0)
/* ACCD6C 80055BCC 8C4C067C */ lw $t4, 0x67c($v0)
/* ACCD70 80055BD0 8D6BD3F4 */ lw $t3, %lo(D_8011D3F4)($t3)
/* ACCD74 80055BD4 8C8A009C */ lw $t2, 0x9c($a0)
/* ACCD78 80055BD8 318D0800 */ andi $t5, $t4, 0x800
/* ACCD7C 80055BDC 11A00005 */ beqz $t5, .L80055BF4
/* ACCD80 80055BE0 014B1823 */ subu $v1, $t2, $t3
/* ACCD84 80055BE4 0C00B7D5 */ jal func_8002DF54
/* ACCD88 80055BE8 24060008 */ li $a2, 8
/* ACCD8C 80055BEC 10000013 */ b .L80055C3C
/* ACCD90 80055BF0 8E0E008C */ lw $t6, 0x8c($s0)
.L80055BF4:
/* ACCD94 80055BF4 04600003 */ bltz $v1, .L80055C04
/* ACCD98 80055BF8 00031023 */ negu $v0, $v1
/* ACCD9C 80055BFC 10000001 */ b .L80055C04
/* ACCDA0 80055C00 00601025 */ move $v0, $v1
.L80055C04:
/* ACCDA4 80055C04 28410BB9 */ slti $at, $v0, 0xbb9
/* ACCDA8 80055C08 14200005 */ bnez $at, .L80055C20
/* ACCDAC 80055C0C 00000000 */ nop
/* ACCDB0 80055C10 0C00B7D5 */ jal func_8002DF54
/* ACCDB4 80055C14 2406000C */ li $a2, 12
/* ACCDB8 80055C18 10000008 */ b .L80055C3C
/* ACCDBC 80055C1C 8E0E008C */ lw $t6, 0x8c($s0)
.L80055C20:
/* ACCDC0 80055C20 0C00B7D5 */ jal func_8002DF54
/* ACCDC4 80055C24 24060045 */ li $a2, 69
/* ACCDC8 80055C28 10000004 */ b .L80055C3C
/* ACCDCC 80055C2C 8E0E008C */ lw $t6, 0x8c($s0)
.L80055C30:
/* ACCDD0 80055C30 0C00B7D5 */ jal func_8002DF54
/* ACCDD4 80055C34 8E04008C */ lw $a0, 0x8c($s0)
.L80055C38:
/* ACCDD8 80055C38 8E0E008C */ lw $t6, 0x8c($s0)
.L80055C3C:
/* ACCDDC 80055C3C 3C018012 */ lui $at, %hi(D_8011D3F4) # $at, 0x8012
/* ACCDE0 80055C40 02002025 */ move $a0, $s0
/* ACCDE4 80055C44 8DCF009C */ lw $t7, 0x9c($t6)
/* ACCDE8 80055C48 2405003C */ li $a1, 60
/* ACCDEC 80055C4C 24060005 */ li $a2, 5
/* ACCDF0 80055C50 0C016952 */ jal func_8005A548
/* ACCDF4 80055C54 AC2FD3F4 */ sw $t7, %lo(D_8011D3F4)($at)
/* ACCDF8 80055C58 0C014B83 */ jal func_80052E0C
/* ACCDFC 80055C5C 02002025 */ move $a0, $s0
/* ACCE00 80055C60 24020001 */ li $v0, 1
.L80055C64:
/* ACCE04 80055C64 8FBF001C */ lw $ra, 0x1c($sp)
/* ACCE08 80055C68 8FB00018 */ lw $s0, 0x18($sp)
/* ACCE0C 80055C6C 27BD0098 */ addiu $sp, $sp, 0x98
/* ACCE10 80055C70 03E00008 */ jr $ra
/* ACCE14 80055C74 00000000 */ nop

View file

@ -0,0 +1,204 @@
.late_rodata
glabel D_8013A36C
.float 0.1
.text
glabel func_80055C78
/* ACCE18 80055C78 27BDFF88 */ addiu $sp, $sp, -0x78
/* ACCE1C 80055C7C AFB00020 */ sw $s0, 0x20($sp)
/* ACCE20 80055C80 00808025 */ move $s0, $a0
/* ACCE24 80055C84 AFBF0024 */ sw $ra, 0x24($sp)
/* ACCE28 80055C88 8C84008C */ lw $a0, 0x8c($a0)
/* ACCE2C 80055C8C 0C030129 */ jal Gameplay_GetCamera
/* ACCE30 80055C90 00002825 */ move $a1, $zero
/* ACCE34 80055C94 AFA20074 */ sw $v0, 0x74($sp)
/* ACCE38 80055C98 8E0E00A8 */ lw $t6, 0xa8($s0)
/* ACCE3C 80055C9C 240F0037 */ li $t7, 55
/* ACCE40 80055CA0 24180046 */ li $t8, 70
/* ACCE44 80055CA4 2419005A */ li $t9, 90
/* ACCE48 80055CA8 A7AF0042 */ sh $t7, 0x42($sp)
/* ACCE4C 80055CAC A7B80044 */ sh $t8, 0x44($sp)
/* ACCE50 80055CB0 A7B90046 */ sh $t9, 0x46($sp)
/* ACCE54 80055CB4 AFAE005C */ sw $t6, 0x5c($sp)
/* ACCE58 80055CB8 8603015E */ lh $v1, 0x15e($s0)
/* ACCE5C 80055CBC 2401000A */ li $at, 10
/* ACCE60 80055CC0 5060000A */ beql $v1, $zero, .L80055CEC
/* ACCE64 80055CC4 860A0142 */ lh $t2, 0x142($s0)
/* ACCE68 80055CC8 10610007 */ beq $v1, $at, .L80055CE8
/* ACCE6C 80055CCC 24010014 */ li $at, 20
/* ACCE70 80055CD0 10610005 */ beq $v1, $at, .L80055CE8
/* ACCE74 80055CD4 3C098016 */ lui $t1, %hi(gGameInfo) # $t1, 0x8016
/* ACCE78 80055CD8 8D29FA90 */ lw $t1, %lo(gGameInfo)($t1)
/* ACCE7C 80055CDC 85220314 */ lh $v0, 0x314($t1)
/* ACCE80 80055CE0 1040000F */ beqz $v0, .L80055D20
/* ACCE84 80055CE4 00000000 */ nop
.L80055CE8:
/* ACCE88 80055CE8 860A0142 */ lh $t2, 0x142($s0)
.L80055CEC:
/* ACCE8C 80055CEC 3C0C8012 */ lui $t4, %hi(D_8011D068)
/* ACCE90 80055CF0 860D0144 */ lh $t5, 0x144($s0)
/* ACCE94 80055CF4 000A58C0 */ sll $t3, $t2, 3
/* ACCE98 80055CF8 018B6021 */ addu $t4, $t4, $t3
/* ACCE9C 80055CFC 8D8CD068 */ lw $t4, %lo(D_8011D068)($t4)
/* ACCEA0 80055D00 000D70C0 */ sll $t6, $t5, 3
/* ACCEA4 80055D04 3C198016 */ lui $t9, %hi(gGameInfo) # $t9, 0x8016
/* ACCEA8 80055D08 018E7821 */ addu $t7, $t4, $t6
/* ACCEAC 80055D0C 8DE30004 */ lw $v1, 4($t7)
/* ACCEB0 80055D10 84780000 */ lh $t8, ($v1)
/* ACCEB4 80055D14 A6180000 */ sh $t8, ($s0)
/* ACCEB8 80055D18 8F39FA90 */ lw $t9, %lo(gGameInfo)($t9)
/* ACCEBC 80055D1C 87220314 */ lh $v0, 0x314($t9)
.L80055D20:
/* ACCEC0 80055D20 50400004 */ beql $v0, $zero, .L80055D34
/* ACCEC4 80055D24 8603015E */ lh $v1, 0x15e($s0)
/* ACCEC8 80055D28 0C011495 */ jal func_80045254
/* ACCECC 80055D2C 02002025 */ move $a0, $s0
/* ACCED0 80055D30 8603015E */ lh $v1, 0x15e($s0)
.L80055D34:
/* ACCED4 80055D34 3C014270 */ li $at, 0x42700000 # 0.000000
/* ACCED8 80055D38 1060000A */ beqz $v1, .L80055D64
/* ACCEDC 80055D3C 00601025 */ move $v0, $v1
/* ACCEE0 80055D40 24010001 */ li $at, 1
/* ACCEE4 80055D44 10610031 */ beq $v1, $at, .L80055E0C
/* ACCEE8 80055D48 24010002 */ li $at, 2
/* ACCEEC 80055D4C 1041004C */ beq $v0, $at, .L80055E80
/* ACCEF0 80055D50 24010003 */ li $at, 3
/* ACCEF4 80055D54 10410061 */ beq $v0, $at, .L80055EDC
/* ACCEF8 80055D58 26080004 */ addiu $t0, $s0, 4
/* ACCEFC 80055D5C 10000076 */ b .L80055F38
/* ACCF00 80055D60 85020000 */ lh $v0, ($t0)
.L80055D64:
/* ACCF04 80055D64 44812000 */ mtc1 $at, $f4
/* ACCF08 80055D68 A6000004 */ sh $zero, 4($s0)
/* ACCF0C 80055D6C 27A40048 */ addiu $a0, $sp, 0x48
/* ACCF10 80055D70 E60400FC */ swc1 $f4, 0xfc($s0)
/* ACCF14 80055D74 0C00BBC5 */ jal func_8002EF14
/* ACCF18 80055D78 8FA5005C */ lw $a1, 0x5c($sp)
/* ACCF1C 80055D7C C7A60048 */ lwc1 $f6, 0x48($sp)
/* ACCF20 80055D80 3C0141A0 */ li $at, 0x41A00000 # 0.000000
/* ACCF24 80055D84 44815000 */ mtc1 $at, $f10
/* ACCF28 80055D88 E6060050 */ swc1 $f6, 0x50($s0)
/* ACCF2C 80055D8C C7A8004C */ lwc1 $f8, 0x4c($sp)
/* ACCF30 80055D90 3C014348 */ li $at, 0x43480000 # 0.000000
/* ACCF34 80055D94 44812000 */ mtc1 $at, $f4
/* ACCF38 80055D98 460A4400 */ add.s $f16, $f8, $f10
/* ACCF3C 80055D9C 27A40048 */ addiu $a0, $sp, 0x48
/* ACCF40 80055DA0 E6100054 */ swc1 $f16, 0x54($s0)
/* ACCF44 80055DA4 C7B20050 */ lwc1 $f18, 0x50($sp)
/* ACCF48 80055DA8 E6120058 */ swc1 $f18, 0x58($s0)
/* ACCF4C 80055DAC 8FA50074 */ lw $a1, 0x74($sp)
/* ACCF50 80055DB0 E7A40060 */ swc1 $f4, 0x60($sp)
/* ACCF54 80055DB4 0C01129D */ jal func_80044A74
/* ACCF58 80055DB8 24A50094 */ addiu $a1, $a1, 0x94
/* ACCF5C 80055DBC 244907D0 */ addiu $t1, $v0, 0x7d0
/* ACCF60 80055DC0 240AFC18 */ li $t2, -1000
/* ACCF64 80055DC4 26040074 */ addiu $a0, $s0, 0x74
/* ACCF68 80055DC8 A7A90066 */ sh $t1, 0x66($sp)
/* ACCF6C 80055DCC A7AA0064 */ sh $t2, 0x64($sp)
/* ACCF70 80055DD0 AFA40034 */ sw $a0, 0x34($sp)
/* ACCF74 80055DD4 26050050 */ addiu $a1, $s0, 0x50
/* ACCF78 80055DD8 0C010F0A */ jal func_80043C28
/* ACCF7C 80055DDC 27A60060 */ addiu $a2, $sp, 0x60
/* ACCF80 80055DE0 8FA40034 */ lw $a0, 0x34($sp)
/* ACCF84 80055DE4 860C015E */ lh $t4, 0x15e($s0)
/* ACCF88 80055DE8 8C8D0000 */ lw $t5, ($a0)
/* ACCF8C 80055DEC 258E0001 */ addiu $t6, $t4, 1
/* ACCF90 80055DF0 AE0D005C */ sw $t5, 0x5c($s0)
/* ACCF94 80055DF4 8C8B0004 */ lw $t3, 4($a0)
/* ACCF98 80055DF8 AE0B0060 */ sw $t3, 0x60($s0)
/* ACCF9C 80055DFC 8C8D0008 */ lw $t5, 8($a0)
/* ACCFA0 80055E00 A60E015E */ sh $t6, 0x15e($s0)
/* ACCFA4 80055E04 8603015E */ lh $v1, 0x15e($s0)
/* ACCFA8 80055E08 AE0D0064 */ sw $t5, 0x64($s0)
.L80055E0C:
/* ACCFAC 80055E0C 00037840 */ sll $t7, $v1, 1
/* ACCFB0 80055E10 03AFC021 */ addu $t8, $sp, $t7
/* ACCFB4 80055E14 26080004 */ addiu $t0, $s0, 4
/* ACCFB8 80055E18 85020000 */ lh $v0, ($t0)
/* ACCFBC 80055E1C 87180040 */ lh $t8, 0x40($t8)
/* ACCFC0 80055E20 24060008 */ li $a2, 8
/* ACCFC4 80055E24 0302082A */ slt $at, $t8, $v0
/* ACCFC8 80055E28 50200044 */ beql $at, $zero, .L80055F3C
/* ACCFCC 80055E2C 24580001 */ addiu $t8, $v0, 1
/* ACCFD0 80055E30 8E04008C */ lw $a0, 0x8c($s0)
/* ACCFD4 80055E34 8E050090 */ lw $a1, 0x90($s0)
/* ACCFD8 80055E38 0C00B7D5 */ jal func_8002DF54
/* ACCFDC 80055E3C AFA80034 */ sw $t0, 0x34($sp)
/* ACCFE0 80055E40 27A40048 */ addiu $a0, $sp, 0x48
/* ACCFE4 80055E44 0C00BBC5 */ jal func_8002EF14
/* ACCFE8 80055E48 8FA5005C */ lw $a1, 0x5c($sp)
/* ACCFEC 80055E4C 8FA80034 */ lw $t0, 0x34($sp)
/* ACCFF0 80055E50 C7A60048 */ lwc1 $f6, 0x48($sp)
/* ACCFF4 80055E54 3C0141A0 */ li $at, 0x41A00000 # 0.000000
/* ACCFF8 80055E58 44815000 */ mtc1 $at, $f10
/* ACCFFC 80055E5C E5060004 */ swc1 $f6, 4($t0)
/* ACD000 80055E60 C7A8004C */ lwc1 $f8, 0x4c($sp)
/* ACD004 80055E64 460A4401 */ sub.s $f16, $f8, $f10
/* ACD008 80055E68 E5100008 */ swc1 $f16, 8($t0)
/* ACD00C 80055E6C C7B20050 */ lwc1 $f18, 0x50($sp)
/* ACD010 80055E70 E512000C */ swc1 $f18, 0xc($t0)
/* ACD014 80055E74 8619015E */ lh $t9, 0x15e($s0)
/* ACD018 80055E78 27290001 */ addiu $t1, $t9, 1
/* ACD01C 80055E7C A609015E */ sh $t1, 0x15e($s0)
.L80055E80:
/* ACD020 80055E80 3C018014 */ lui $at, %hi(D_8013A36C)
/* ACD024 80055E84 C420A36C */ lwc1 $f0, %lo(D_8013A36C)($at)
/* ACD028 80055E88 3C014100 */ li $at, 0x41000000 # 0.000000
/* ACD02C 80055E8C 44812000 */ mtc1 $at, $f4
/* ACD030 80055E90 26080004 */ addiu $t0, $s0, 4
/* ACD034 80055E94 44060000 */ mfc1 $a2, $f0
/* ACD038 80055E98 44070000 */ mfc1 $a3, $f0
/* ACD03C 80055E9C 25040004 */ addiu $a0, $t0, 4
/* ACD040 80055EA0 AFA80034 */ sw $t0, 0x34($sp)
/* ACD044 80055EA4 26050050 */ addiu $a1, $s0, 0x50
/* ACD048 80055EA8 0C010E8F */ jal func_80043A3C
/* ACD04C 80055EAC E7A40010 */ swc1 $f4, 0x10($sp)
/* ACD050 80055EB0 8603015E */ lh $v1, 0x15e($s0)
/* ACD054 80055EB4 8FA80034 */ lw $t0, 0x34($sp)
/* ACD058 80055EB8 00035040 */ sll $t2, $v1, 1
/* ACD05C 80055EBC 03AA5821 */ addu $t3, $sp, $t2
/* ACD060 80055EC0 856B0040 */ lh $t3, 0x40($t3)
/* ACD064 80055EC4 85020000 */ lh $v0, ($t0)
/* ACD068 80055EC8 246D0001 */ addiu $t5, $v1, 1
/* ACD06C 80055ECC 0162082A */ slt $at, $t3, $v0
/* ACD070 80055ED0 5020001A */ beql $at, $zero, .L80055F3C
/* ACD074 80055ED4 24580001 */ addiu $t8, $v0, 1
/* ACD078 80055ED8 A60D015E */ sh $t5, 0x15e($s0)
.L80055EDC:
/* ACD07C 80055EDC 3C014248 */ li $at, 0x42480000 # 0.000000
/* ACD080 80055EE0 44816000 */ mtc1 $at, $f12
/* ACD084 80055EE4 C60E00FC */ lwc1 $f14, 0xfc($s0)
/* ACD088 80055EE8 3C063E4C */ lui $a2, (0x3E4CCCCD >> 16) # lui $a2, 0x3e4c
/* ACD08C 80055EEC 3C073C23 */ lui $a3, (0x3C23D70A >> 16) # lui $a3, 0x3c23
/* ACD090 80055EF0 26080004 */ addiu $t0, $s0, 4
/* ACD094 80055EF4 AFA80034 */ sw $t0, 0x34($sp)
/* ACD098 80055EF8 34E7D70A */ ori $a3, (0x3C23D70A & 0xFFFF) # ori $a3, $a3, 0xd70a
/* ACD09C 80055EFC 0C010E27 */ jal func_8004389C
/* ACD0A0 80055F00 34C6CCCD */ ori $a2, (0x3E4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd
/* ACD0A4 80055F04 860C015E */ lh $t4, 0x15e($s0)
/* ACD0A8 80055F08 8FA80034 */ lw $t0, 0x34($sp)
/* ACD0AC 80055F0C E60000FC */ swc1 $f0, 0xfc($s0)
/* ACD0B0 80055F10 000C7040 */ sll $t6, $t4, 1
/* ACD0B4 80055F14 03AE7821 */ addu $t7, $sp, $t6
/* ACD0B8 80055F18 85EF0040 */ lh $t7, 0x40($t7)
/* ACD0BC 80055F1C 85020000 */ lh $v0, ($t0)
/* ACD0C0 80055F20 01E2082A */ slt $at, $t7, $v0
/* ACD0C4 80055F24 50200005 */ beql $at, $zero, .L80055F3C
/* ACD0C8 80055F28 24580001 */ addiu $t8, $v0, 1
/* ACD0CC 80055F2C A6000160 */ sh $zero, 0x160($s0)
/* ACD0D0 80055F30 10000007 */ b .L80055F50
/* ACD0D4 80055F34 24020001 */ li $v0, 1
.L80055F38:
/* ACD0D8 80055F38 24580001 */ addiu $t8, $v0, 1
.L80055F3C:
/* ACD0DC 80055F3C A5180000 */ sh $t8, ($t0)
/* ACD0E0 80055F40 8FA5005C */ lw $a1, 0x5c($sp)
/* ACD0E4 80055F44 0C00BBC5 */ jal func_8002EF14
/* ACD0E8 80055F48 27A40048 */ addiu $a0, $sp, 0x48
/* ACD0EC 80055F4C 24020001 */ li $v0, 1
.L80055F50:
/* ACD0F0 80055F50 8FBF0024 */ lw $ra, 0x24($sp)
/* ACD0F4 80055F54 8FB00020 */ lw $s0, 0x20($sp)
/* ACD0F8 80055F58 27BD0078 */ addiu $sp, $sp, 0x78
/* ACD0FC 80055F5C 03E00008 */ jr $ra
/* ACD100 80055F60 00000000 */ nop

View file

@ -0,0 +1,15 @@
glabel func_80055F64
/* ACD104 80055F64 8482015E */ lh $v0, 0x15e($a0)
/* ACD108 80055F68 14400009 */ bnez $v0, .L80055F90
/* ACD10C 80055F6C 00000000 */ nop
/* ACD110 80055F70 848E014C */ lh $t6, 0x14c($a0)
/* ACD114 80055F74 24480001 */ addiu $t0, $v0, 1
/* ACD118 80055F78 A488015E */ sh $t0, 0x15e($a0)
/* ACD11C 80055F7C 31CFFFFB */ andi $t7, $t6, 0xfffb
/* ACD120 80055F80 A48F014C */ sh $t7, 0x14c($a0)
/* ACD124 80055F84 8498014C */ lh $t8, 0x14c($a0)
/* ACD128 80055F88 37191000 */ ori $t9, $t8, 0x1000
/* ACD12C 80055F8C A499014C */ sh $t9, 0x14c($a0)
.L80055F90:
/* ACD130 80055F90 03E00008 */ jr $ra
/* ACD134 80055F94 00000000 */ nop

View file

@ -0,0 +1,329 @@
.late_rodata
glabel jtbl_8013A370
.word L80056098
.word L800560E4
.word L800563F4
.word L80056374
.word L8005641C
glabel D_8013A384
.float 0.1
.text
glabel func_80055FB8
/* ACD158 80055FB8 27BDFF48 */ addiu $sp, $sp, -0xb8
/* ACD15C 80055FBC AFB00020 */ sw $s0, 0x20($sp)
/* ACD160 80055FC0 00808025 */ move $s0, $a0
/* ACD164 80055FC4 AFBF0024 */ sw $ra, 0x24($sp)
/* ACD168 80055FC8 8C84008C */ lw $a0, 0x8c($a0)
/* ACD16C 80055FCC 0C030129 */ jal Gameplay_GetCamera
/* ACD170 80055FD0 00002825 */ move $a1, $zero
/* ACD174 80055FD4 244E0094 */ addiu $t6, $v0, 0x94
/* ACD178 80055FD8 AFAE0064 */ sw $t6, 0x64($sp)
/* ACD17C 80055FDC 8603015E */ lh $v1, 0x15e($s0)
/* ACD180 80055FE0 00403025 */ move $a2, $v0
/* ACD184 80055FE4 2401000A */ li $at, 10
/* ACD188 80055FE8 5060000A */ beql $v1, $zero, .L80056014
/* ACD18C 80055FEC 86180142 */ lh $t8, 0x142($s0)
/* ACD190 80055FF0 10610007 */ beq $v1, $at, .L80056010
/* ACD194 80055FF4 24010014 */ li $at, 20
/* ACD198 80055FF8 10610005 */ beq $v1, $at, .L80056010
/* ACD19C 80055FFC 3C0F8016 */ lui $t7, %hi(gGameInfo) # $t7, 0x8016
/* ACD1A0 80056000 8DEFFA90 */ lw $t7, %lo(gGameInfo)($t7)
/* ACD1A4 80056004 85E20314 */ lh $v0, 0x314($t7)
/* ACD1A8 80056008 1040000F */ beqz $v0, .L80056048
/* ACD1AC 8005600C 00000000 */ nop
.L80056010:
/* ACD1B0 80056010 86180142 */ lh $t8, 0x142($s0)
.L80056014:
/* ACD1B4 80056014 3C098012 */ lui $t1, %hi(D_8011D068)
/* ACD1B8 80056018 860A0144 */ lh $t2, 0x144($s0)
/* ACD1BC 8005601C 0018C8C0 */ sll $t9, $t8, 3
/* ACD1C0 80056020 01394821 */ addu $t1, $t1, $t9
/* ACD1C4 80056024 8D29D068 */ lw $t1, %lo(D_8011D068)($t1)
/* ACD1C8 80056028 000A58C0 */ sll $t3, $t2, 3
/* ACD1CC 8005602C 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016
/* ACD1D0 80056030 012B6021 */ addu $t4, $t1, $t3
/* ACD1D4 80056034 8D830004 */ lw $v1, 4($t4)
/* ACD1D8 80056038 846D0000 */ lh $t5, ($v1)
/* ACD1DC 8005603C A60D000C */ sh $t5, 0xc($s0)
/* ACD1E0 80056040 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
/* ACD1E4 80056044 85C20314 */ lh $v0, 0x314($t6)
.L80056048:
/* ACD1E8 80056048 10400007 */ beqz $v0, .L80056068
/* ACD1EC 8005604C 2603000C */ addiu $v1, $s0, 0xc
/* ACD1F0 80056050 02002025 */ move $a0, $s0
/* ACD1F4 80056054 AFA30034 */ sw $v1, 0x34($sp)
/* ACD1F8 80056058 0C011495 */ jal func_80045254
/* ACD1FC 8005605C AFA6006C */ sw $a2, 0x6c($sp)
/* ACD200 80056060 8FA30034 */ lw $v1, 0x34($sp)
/* ACD204 80056064 8FA6006C */ lw $a2, 0x6c($sp)
.L80056068:
/* ACD208 80056068 846F0000 */ lh $t7, ($v1)
/* ACD20C 8005606C 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012
/* ACD210 80056070 AC2FD3A0 */ sw $t7, %lo(D_8011D3A0)($at)
/* ACD214 80056074 9618015E */ lhu $t8, 0x15e($s0)
/* ACD218 80056078 2F010005 */ sltiu $at, $t8, 5
/* ACD21C 8005607C 102000E7 */ beqz $at, .L8005641C
/* ACD220 80056080 0018C080 */ sll $t8, $t8, 2
/* ACD224 80056084 3C018014 */ lui $at, %hi(jtbl_8013A370)
/* ACD228 80056088 00380821 */ addu $at, $at, $t8
/* ACD22C 8005608C 8C38A370 */ lw $t8, %lo(jtbl_8013A370)($at)
/* ACD230 80056090 03000008 */ jr $t8
/* ACD234 80056094 00000000 */ nop
glabel L80056098
/* ACD238 80056098 44802000 */ mtc1 $zero, $f4
/* ACD23C 8005609C 26080010 */ addiu $t0, $s0, 0x10
/* ACD240 800560A0 A5000004 */ sh $zero, 4($t0)
/* ACD244 800560A4 A5000008 */ sh $zero, 8($t0)
/* ACD248 800560A8 E5040000 */ swc1 $f4, ($t0)
/* ACD24C 800560AC 8619015E */ lh $t9, 0x15e($s0)
/* ACD250 800560B0 272A0001 */ addiu $t2, $t9, 1
/* ACD254 800560B4 A60A015E */ sh $t2, 0x15e($s0)
/* ACD258 800560B8 A5000006 */ sh $zero, 6($t0)
/* ACD25C 800560BC 86020008 */ lh $v0, 8($s0)
/* ACD260 800560C0 3042F000 */ andi $v0, $v0, 0xf000
/* ACD264 800560C4 50400006 */ beql $v0, $zero, .L800560E0
/* ACD268 800560C8 860C000A */ lh $t4, 0xa($s0)
/* ACD26C 800560CC A5020008 */ sh $v0, 8($t0)
/* ACD270 800560D0 86090008 */ lh $t1, 8($s0)
/* ACD274 800560D4 312B0FFF */ andi $t3, $t1, 0xfff
/* ACD278 800560D8 A60B0008 */ sh $t3, 8($s0)
/* ACD27C 800560DC 860C000A */ lh $t4, 0xa($s0)
.L800560E0:
/* ACD280 800560E0 A50C000A */ sh $t4, 0xa($t0)
glabel L800560E4
/* ACD284 800560E4 26080010 */ addiu $t0, $s0, 0x10
/* ACD288 800560E8 850D000A */ lh $t5, 0xa($t0)
/* ACD28C 800560EC 25030004 */ addiu $v1, $t0, 4
/* ACD290 800560F0 27A4009C */ addiu $a0, $sp, 0x9c
/* ACD294 800560F4 19A0009F */ blez $t5, .L80056374
/* ACD298 800560F8 27A50074 */ addiu $a1, $sp, 0x74
/* ACD29C 800560FC 8E070004 */ lw $a3, 4($s0)
/* ACD2A0 80056100 260600FC */ addiu $a2, $s0, 0xfc
/* ACD2A4 80056104 AFA60034 */ sw $a2, 0x34($sp)
/* ACD2A8 80056108 AFA8002C */ sw $t0, 0x2c($sp)
/* ACD2AC 8005610C AFA30030 */ sw $v1, 0x30($sp)
/* ACD2B0 80056110 AFA80014 */ sw $t0, 0x14($sp)
/* ACD2B4 80056114 0C02ECAD */ jal func_800BB2B4
/* ACD2B8 80056118 AFA30010 */ sw $v1, 0x10($sp)
/* ACD2BC 8005611C 8FA30030 */ lw $v1, 0x30($sp)
/* ACD2C0 80056120 8FA60034 */ lw $a2, 0x34($sp)
/* ACD2C4 80056124 1440000A */ bnez $v0, .L80056150
/* ACD2C8 80056128 8FA8002C */ lw $t0, 0x2c($sp)
/* ACD2CC 8005612C 8E070000 */ lw $a3, ($s0)
/* ACD2D0 80056130 AFA8002C */ sw $t0, 0x2c($sp)
/* ACD2D4 80056134 AFA80014 */ sw $t0, 0x14($sp)
/* ACD2D8 80056138 AFA30010 */ sw $v1, 0x10($sp)
/* ACD2DC 8005613C 27A40090 */ addiu $a0, $sp, 0x90
/* ACD2E0 80056140 0C02ECAD */ jal func_800BB2B4
/* ACD2E4 80056144 27A50074 */ addiu $a1, $sp, 0x74
/* ACD2E8 80056148 10400003 */ beqz $v0, .L80056158
/* ACD2EC 8005614C 8FA8002C */ lw $t0, 0x2c($sp)
.L80056150:
/* ACD2F0 80056150 240E0002 */ li $t6, 2
/* ACD2F4 80056154 A60E015E */ sh $t6, 0x15e($s0)
.L80056158:
/* ACD2F8 80056158 86020008 */ lh $v0, 8($s0)
/* ACD2FC 8005615C 24010001 */ li $at, 1
/* ACD300 80056160 8FA40064 */ lw $a0, 0x64($sp)
/* ACD304 80056164 1441000C */ bne $v0, $at, .L80056198
/* ACD308 80056168 27A5009C */ addiu $a1, $sp, 0x9c
/* ACD30C 8005616C 27A60084 */ addiu $a2, $sp, 0x84
/* ACD310 80056170 0C01511E */ jal func_80054478
/* ACD314 80056174 AFA8002C */ sw $t0, 0x2c($sp)
/* ACD318 80056178 8FA40064 */ lw $a0, 0x64($sp)
/* ACD31C 8005617C 27A50090 */ addiu $a1, $sp, 0x90
/* ACD320 80056180 0C01511E */ jal func_80054478
/* ACD324 80056184 27A60078 */ addiu $a2, $sp, 0x78
/* ACD328 80056188 8FA8002C */ lw $t0, 0x2c($sp)
/* ACD32C 8005618C 2603005C */ addiu $v1, $s0, 0x5c
/* ACD330 80056190 10000046 */ b .L800562AC
/* ACD334 80056194 26050050 */ addiu $a1, $s0, 0x50
.L80056198:
/* ACD338 80056198 24010004 */ li $at, 4
/* ACD33C 8005619C 14410010 */ bne $v0, $at, .L800561E0
/* ACD340 800561A0 27A40050 */ addiu $a0, $sp, 0x50
/* ACD344 800561A4 8E050090 */ lw $a1, 0x90($s0)
/* ACD348 800561A8 0C00BBC5 */ jal func_8002EF14
/* ACD34C 800561AC AFA8002C */ sw $t0, 0x2c($sp)
/* ACD350 800561B0 27A40050 */ addiu $a0, $sp, 0x50
/* ACD354 800561B4 27A5009C */ addiu $a1, $sp, 0x9c
/* ACD358 800561B8 0C01511E */ jal func_80054478
/* ACD35C 800561BC 27A60084 */ addiu $a2, $sp, 0x84
/* ACD360 800561C0 27A40050 */ addiu $a0, $sp, 0x50
/* ACD364 800561C4 27A50090 */ addiu $a1, $sp, 0x90
/* ACD368 800561C8 0C01511E */ jal func_80054478
/* ACD36C 800561CC 27A60078 */ addiu $a2, $sp, 0x78
/* ACD370 800561D0 8FA8002C */ lw $t0, 0x2c($sp)
/* ACD374 800561D4 2603005C */ addiu $v1, $s0, 0x5c
/* ACD378 800561D8 10000034 */ b .L800562AC
/* ACD37C 800561DC 26050050 */ addiu $a1, $s0, 0x50
.L800561E0:
/* ACD380 800561E0 24010008 */ li $at, 8
/* ACD384 800561E4 14410028 */ bne $v0, $at, .L80056288
/* ACD388 800561E8 27A4009C */ addiu $a0, $sp, 0x9c
/* ACD38C 800561EC 8E0500A8 */ lw $a1, 0xa8($s0)
/* ACD390 800561F0 2603005C */ addiu $v1, $s0, 0x5c
/* ACD394 800561F4 50A00014 */ beql $a1, $zero, .L80056248
/* ACD398 800561F8 AE0000A8 */ sw $zero, 0xa8($s0)
/* ACD39C 800561FC 8CAF0130 */ lw $t7, 0x130($a1)
/* ACD3A0 80056200 27A40050 */ addiu $a0, $sp, 0x50
/* ACD3A4 80056204 51E00010 */ beql $t7, $zero, .L80056248
/* ACD3A8 80056208 AE0000A8 */ sw $zero, 0xa8($s0)
/* ACD3AC 8005620C 0C00BBC5 */ jal func_8002EF14
/* ACD3B0 80056210 AFA8002C */ sw $t0, 0x2c($sp)
/* ACD3B4 80056214 27A40050 */ addiu $a0, $sp, 0x50
/* ACD3B8 80056218 27A5009C */ addiu $a1, $sp, 0x9c
/* ACD3BC 8005621C 0C01511E */ jal func_80054478
/* ACD3C0 80056220 27A60084 */ addiu $a2, $sp, 0x84
/* ACD3C4 80056224 27A40050 */ addiu $a0, $sp, 0x50
/* ACD3C8 80056228 27A50090 */ addiu $a1, $sp, 0x90
/* ACD3CC 8005622C 0C01511E */ jal func_80054478
/* ACD3D0 80056230 27A60078 */ addiu $a2, $sp, 0x78
/* ACD3D4 80056234 8FA8002C */ lw $t0, 0x2c($sp)
/* ACD3D8 80056238 2603005C */ addiu $v1, $s0, 0x5c
/* ACD3DC 8005623C 1000001B */ b .L800562AC
/* ACD3E0 80056240 26050050 */ addiu $a1, $s0, 0x50
/* ACD3E4 80056244 AE0000A8 */ sw $zero, 0xa8($s0)
.L80056248:
/* ACD3E8 80056248 8C6A0000 */ lw $t2, ($v1)
/* ACD3EC 8005624C 27B80084 */ addiu $t8, $sp, 0x84
/* ACD3F0 80056250 26050050 */ addiu $a1, $s0, 0x50
/* ACD3F4 80056254 AF0A0000 */ sw $t2, ($t8)
/* ACD3F8 80056258 8C790004 */ lw $t9, 4($v1)
/* ACD3FC 8005625C 27A90078 */ addiu $t1, $sp, 0x78
/* ACD400 80056260 AF190004 */ sw $t9, 4($t8)
/* ACD404 80056264 8C6A0008 */ lw $t2, 8($v1)
/* ACD408 80056268 AF0A0008 */ sw $t2, 8($t8)
/* ACD40C 8005626C 8CAC0000 */ lw $t4, ($a1)
/* ACD410 80056270 AD2C0000 */ sw $t4, ($t1)
/* ACD414 80056274 8CAB0004 */ lw $t3, 4($a1)
/* ACD418 80056278 AD2B0004 */ sw $t3, 4($t1)
/* ACD41C 8005627C 8CAC0008 */ lw $t4, 8($a1)
/* ACD420 80056280 1000000A */ b .L800562AC
/* ACD424 80056284 AD2C0008 */ sw $t4, 8($t1)
.L80056288:
/* ACD428 80056288 27A50084 */ addiu $a1, $sp, 0x84
/* ACD42C 8005628C 0C015117 */ jal Camera_Vec3fCopy
/* ACD430 80056290 AFA8002C */ sw $t0, 0x2c($sp)
/* ACD434 80056294 27A40090 */ addiu $a0, $sp, 0x90
/* ACD438 80056298 0C015117 */ jal Camera_Vec3fCopy
/* ACD43C 8005629C 27A50078 */ addiu $a1, $sp, 0x78
/* ACD440 800562A0 8FA8002C */ lw $t0, 0x2c($sp)
/* ACD444 800562A4 2603005C */ addiu $v1, $s0, 0x5c
/* ACD448 800562A8 26050050 */ addiu $a1, $s0, 0x50
.L800562AC:
/* ACD44C 800562AC 27AD0084 */ addiu $t5, $sp, 0x84
/* ACD450 800562B0 8DAF0000 */ lw $t7, ($t5)
/* ACD454 800562B4 26020074 */ addiu $v0, $s0, 0x74
/* ACD458 800562B8 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* ACD45C 800562BC AC4F0000 */ sw $t7, ($v0)
/* ACD460 800562C0 8DAE0004 */ lw $t6, 4($t5)
/* ACD464 800562C4 8C590000 */ lw $t9, ($v0)
/* ACD468 800562C8 27A40078 */ addiu $a0, $sp, 0x78
/* ACD46C 800562CC AC4E0004 */ sw $t6, 4($v0)
/* ACD470 800562D0 8DAF0008 */ lw $t7, 8($t5)
/* ACD474 800562D4 27A90078 */ addiu $t1, $sp, 0x78
/* ACD478 800562D8 AC4F0008 */ sw $t7, 8($v0)
/* ACD47C 800562DC AC790000 */ sw $t9, ($v1)
/* ACD480 800562E0 8C580004 */ lw $t8, 4($v0)
/* ACD484 800562E4 AC780004 */ sw $t8, 4($v1)
/* ACD488 800562E8 8C590008 */ lw $t9, 8($v0)
/* ACD48C 800562EC AC790008 */ sw $t9, 8($v1)
/* ACD490 800562F0 850A0006 */ lh $t2, 6($t0)
/* ACD494 800562F4 5140000C */ beql $t2, $zero, .L80056328
/* ACD498 800562F8 8D2C0000 */ lw $t4, ($t1)
/* ACD49C 800562FC 44810000 */ mtc1 $at, $f0
/* ACD4A0 80056300 3C018014 */ lui $at, %hi(D_8013A384)
/* ACD4A4 80056304 C426A384 */ lwc1 $f6, %lo(D_8013A384)($at)
/* ACD4A8 80056308 44060000 */ mfc1 $a2, $f0
/* ACD4AC 8005630C 44070000 */ mfc1 $a3, $f0
/* ACD4B0 80056310 AFA8002C */ sw $t0, 0x2c($sp)
/* ACD4B4 80056314 0C010E8F */ jal func_80043A3C
/* ACD4B8 80056318 E7A60010 */ swc1 $f6, 0x10($sp)
/* ACD4BC 8005631C 10000009 */ b .L80056344
/* ACD4C0 80056320 8FA8002C */ lw $t0, 0x2c($sp)
/* ACD4C4 80056324 8D2C0000 */ lw $t4, ($t1)
.L80056328:
/* ACD4C8 80056328 240D0001 */ li $t5, 1
/* ACD4CC 8005632C ACAC0000 */ sw $t4, ($a1)
/* ACD4D0 80056330 8D2B0004 */ lw $t3, 4($t1)
/* ACD4D4 80056334 ACAB0004 */ sw $t3, 4($a1)
/* ACD4D8 80056338 8D2C0008 */ lw $t4, 8($t1)
/* ACD4DC 8005633C ACAC0008 */ sw $t4, 8($a1)
/* ACD4E0 80056340 A50D0006 */ sh $t5, 6($t0)
.L80056344:
/* ACD4E4 80056344 3C014380 */ li $at, 0x43800000 # 0.000000
/* ACD4E8 80056348 44815000 */ mtc1 $at, $f10
/* ACD4EC 8005634C C7A80074 */ lwc1 $f8, 0x74($sp)
/* ACD4F0 80056350 460A4402 */ mul.s $f16, $f8, $f10
/* ACD4F4 80056354 4600848D */ trunc.w.s $f18, $f16
/* ACD4F8 80056358 440F9000 */ mfc1 $t7, $f18
/* ACD4FC 8005635C 00000000 */ nop
/* ACD500 80056360 A60F015A */ sh $t7, 0x15a($s0)
/* ACD504 80056364 8518000A */ lh $t8, 0xa($t0)
/* ACD508 80056368 2719FFFF */ addiu $t9, $t8, -1
/* ACD50C 8005636C 1000002B */ b .L8005641C
/* ACD510 80056370 A519000A */ sh $t9, 0xa($t0)
.L80056374:
glabel L80056374
/* ACD514 80056374 86020018 */ lh $v0, 0x18($s0)
/* ACD518 80056378 A6000160 */ sh $zero, 0x160($s0)
/* ACD51C 8005637C 24011000 */ li $at, 4096
/* ACD520 80056380 50400027 */ beql $v0, $zero, .L80056420
/* ACD524 80056384 8FBF0024 */ lw $ra, 0x24($sp)
/* ACD528 80056388 10410016 */ beq $v0, $at, .L800563E4
/* ACD52C 8005638C 00C02025 */ move $a0, $a2
/* ACD530 80056390 24012000 */ li $at, 8192
/* ACD534 80056394 14410021 */ bne $v0, $at, .L8005641C
/* ACD538 80056398 240503FC */ li $a1, 1020
/* ACD53C 8005639C 8602000A */ lh $v0, 0xa($s0)
/* ACD540 800563A0 00003825 */ move $a3, $zero
/* ACD544 800563A4 28410032 */ slti $at, $v0, 0x32
/* ACD548 800563A8 50200004 */ beql $at, $zero, .L800563BC
/* ACD54C 800563AC 24010005 */ li $at, 5
/* ACD550 800563B0 10000006 */ b .L800563CC
/* ACD554 800563B4 24060005 */ li $a2, 5
/* ACD558 800563B8 24010005 */ li $at, 5
.L800563BC:
/* ACD55C 800563BC 0041001A */ div $zero, $v0, $at
/* ACD560 800563C0 00003012 */ mflo $a2
/* ACD564 800563C4 00063400 */ sll $a2, $a2, 0x10
/* ACD568 800563C8 00063403 */ sra $a2, $a2, 0x10
.L800563CC:
/* ACD56C 800563CC 860A0162 */ lh $t2, 0x162($s0)
/* ACD570 800563D0 8E04008C */ lw $a0, 0x8c($s0)
/* ACD574 800563D4 0C02003E */ jal func_800800F8
/* ACD578 800563D8 AFAA0010 */ sw $t2, 0x10($sp)
/* ACD57C 800563DC 10000010 */ b .L80056420
/* ACD580 800563E0 8FBF0024 */ lw $ra, 0x24($sp)
.L800563E4:
/* ACD584 800563E4 0C016B99 */ jal func_8005AE64
/* ACD588 800563E8 02002825 */ move $a1, $s0
/* ACD58C 800563EC 1000000C */ b .L80056420
/* ACD590 800563F0 8FBF0024 */ lw $ra, 0x24($sp)
glabel L800563F4
/* ACD594 800563F4 26080010 */ addiu $t0, $s0, 0x10
/* ACD598 800563F8 8509000A */ lh $t1, 0xa($t0)
/* ACD59C 800563FC 252BFFFF */ addiu $t3, $t1, -1
/* ACD5A0 80056400 A50B000A */ sh $t3, 0xa($t0)
/* ACD5A4 80056404 850C000A */ lh $t4, 0xa($t0)
/* ACD5A8 80056408 05830005 */ bgezl $t4, .L80056420
/* ACD5AC 8005640C 8FBF0024 */ lw $ra, 0x24($sp)
/* ACD5B0 80056410 860D015E */ lh $t5, 0x15e($s0)
/* ACD5B4 80056414 25AE0001 */ addiu $t6, $t5, 1
/* ACD5B8 80056418 A60E015E */ sh $t6, 0x15e($s0)
.L8005641C:
glabel L8005641C
/* ACD5BC 8005641C 8FBF0024 */ lw $ra, 0x24($sp)
.L80056420:
/* ACD5C0 80056420 8FB00020 */ lw $s0, 0x20($sp)
/* ACD5C4 80056424 27BD00B8 */ addiu $sp, $sp, 0xb8
/* ACD5C8 80056428 03E00008 */ jr $ra
/* ACD5CC 8005642C 24020001 */ li $v0, 1

View file

@ -0,0 +1,129 @@
.rdata
glabel D_80139714
.asciz "\x1B[43;30mcamera: warning: circle: target is not valid, stop!\n\x1B[m"
.balign 4
.late_rodata
glabel D_8013A388
.float 0.01
glabel D_8013A38C
.float 0.1
.text
glabel func_80056450
/* ACD5F0 80056450 27BDFFC0 */ addiu $sp, $sp, -0x40
/* ACD5F4 80056454 AFBF0024 */ sw $ra, 0x24($sp)
/* ACD5F8 80056458 AFB00020 */ sw $s0, 0x20($sp)
/* ACD5FC 8005645C 8482015E */ lh $v0, 0x15e($a0)
/* ACD600 80056460 00808025 */ move $s0, $a0
/* ACD604 80056464 2401000A */ li $at, 10
/* ACD608 80056468 5040000A */ beql $v0, $zero, .L80056494
/* ACD60C 8005646C 860F0142 */ lh $t7, 0x142($s0)
/* ACD610 80056470 10410007 */ beq $v0, $at, .L80056490
/* ACD614 80056474 24010014 */ li $at, 20
/* ACD618 80056478 10410005 */ beq $v0, $at, .L80056490
/* ACD61C 8005647C 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016
/* ACD620 80056480 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
/* ACD624 80056484 85C30314 */ lh $v1, 0x314($t6)
/* ACD628 80056488 10600018 */ beqz $v1, .L800564EC
/* ACD62C 8005648C 00000000 */ nop
.L80056490:
/* ACD630 80056490 860F0142 */ lh $t7, 0x142($s0)
.L80056494:
/* ACD634 80056494 3C198012 */ lui $t9, %hi(D_8011D068)
/* ACD638 80056498 86080144 */ lh $t0, 0x144($s0)
/* ACD63C 8005649C 000FC0C0 */ sll $t8, $t7, 3
/* ACD640 800564A0 0338C821 */ addu $t9, $t9, $t8
/* ACD644 800564A4 8F39D068 */ lw $t9, %lo(D_8011D068)($t9)
/* ACD648 800564A8 000848C0 */ sll $t1, $t0, 3
/* ACD64C 800564AC 3C018014 */ lui $at, %hi(D_8013A388)
/* ACD650 800564B0 03295021 */ addu $t2, $t9, $t1
/* ACD654 800564B4 8D420004 */ lw $v0, 4($t2)
/* ACD658 800564B8 C428A388 */ lwc1 $f8, %lo(D_8013A388)($at)
/* ACD65C 800564BC 3C0D8016 */ lui $t5, %hi(gGameInfo) # $t5, 0x8016
/* ACD660 800564C0 844B0000 */ lh $t3, ($v0)
/* ACD664 800564C4 24420004 */ addiu $v0, $v0, 4
/* ACD668 800564C8 448B2000 */ mtc1 $t3, $f4
/* ACD66C 800564CC 00000000 */ nop
/* ACD670 800564D0 468021A0 */ cvt.s.w $f6, $f4
/* ACD674 800564D4 46083282 */ mul.s $f10, $f6, $f8
/* ACD678 800564D8 E60A0000 */ swc1 $f10, ($s0)
/* ACD67C 800564DC 844C0000 */ lh $t4, ($v0)
/* ACD680 800564E0 A60C0004 */ sh $t4, 4($s0)
/* ACD684 800564E4 8DADFA90 */ lw $t5, %lo(gGameInfo)($t5)
/* ACD688 800564E8 85A30314 */ lh $v1, 0x314($t5)
.L800564EC:
/* ACD68C 800564EC 50600004 */ beql $v1, $zero, .L80056500
/* ACD690 800564F0 860E0004 */ lh $t6, 4($s0)
/* ACD694 800564F4 0C011495 */ jal func_80045254
/* ACD698 800564F8 02002025 */ move $a0, $s0
/* ACD69C 800564FC 860E0004 */ lh $t6, 4($s0)
.L80056500:
/* ACD6A0 80056500 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012
/* ACD6A4 80056504 AC2ED3A0 */ sw $t6, %lo(D_8011D3A0)($at)
/* ACD6A8 80056508 8602015E */ lh $v0, 0x15e($s0)
/* ACD6AC 8005650C 14400002 */ bnez $v0, .L80056518
/* ACD6B0 80056510 244F0001 */ addiu $t7, $v0, 1
/* ACD6B4 80056514 A60F015E */ sh $t7, 0x15e($s0)
.L80056518:
/* ACD6B8 80056518 8E0500A8 */ lw $a1, 0xa8($s0)
/* ACD6BC 8005651C 10A00005 */ beqz $a1, .L80056534
/* ACD6C0 80056520 00000000 */ nop
/* ACD6C4 80056524 8CB80130 */ lw $t8, 0x130($a1)
/* ACD6C8 80056528 260400AC */ addiu $a0, $s0, 0xac
/* ACD6CC 8005652C 17000008 */ bnez $t8, .L80056550
/* ACD6D0 80056530 00000000 */ nop
.L80056534:
/* ACD6D4 80056534 14A00003 */ bnez $a1, .L80056544
/* ACD6D8 80056538 3C048014 */ lui $a0, %hi(D_80139714) # $a0, 0x8014
/* ACD6DC 8005653C 0C00084C */ jal osSyncPrintf
/* ACD6E0 80056540 24849714 */ addiu $a0, %lo(D_80139714) # addiu $a0, $a0, -0x68ec
.L80056544:
/* ACD6E4 80056544 AE0000A8 */ sw $zero, 0xa8($s0)
/* ACD6E8 80056548 10000025 */ b .L800565E0
/* ACD6EC 8005654C 24020001 */ li $v0, 1
.L80056550:
/* ACD6F0 80056550 0C00BBB9 */ jal func_8002EEE4
/* ACD6F4 80056554 AFA4002C */ sw $a0, 0x2c($sp)
/* ACD6F8 80056558 C6000000 */ lwc1 $f0, ($s0)
/* ACD6FC 8005655C 3C018014 */ lui $at, %hi(D_8013A38C)
/* ACD700 80056560 C430A38C */ lwc1 $f16, %lo(D_8013A38C)($at)
/* ACD704 80056564 26050050 */ addiu $a1, $s0, 0x50
/* ACD708 80056568 44060000 */ mfc1 $a2, $f0
/* ACD70C 8005656C 44070000 */ mfc1 $a3, $f0
/* ACD710 80056570 8FA4002C */ lw $a0, 0x2c($sp)
/* ACD714 80056574 AFA50030 */ sw $a1, 0x30($sp)
/* ACD718 80056578 0C010E8F */ jal func_80043A3C
/* ACD71C 8005657C E7B00010 */ swc1 $f16, 0x10($sp)
/* ACD720 80056580 26020094 */ addiu $v0, $s0, 0x94
/* ACD724 80056584 C4440000 */ lwc1 $f4, ($v0)
/* ACD728 80056588 C6120050 */ lwc1 $f18, 0x50($s0)
/* ACD72C 8005658C C6080054 */ lwc1 $f8, 0x54($s0)
/* ACD730 80056590 2605005C */ addiu $a1, $s0, 0x5c
/* ACD734 80056594 46049181 */ sub.s $f6, $f18, $f4
/* ACD738 80056598 C6120058 */ lwc1 $f18, 0x58($s0)
/* ACD73C 8005659C E60600E4 */ swc1 $f6, 0xe4($s0)
/* ACD740 800565A0 C44A0004 */ lwc1 $f10, 4($v0)
/* ACD744 800565A4 460A4401 */ sub.s $f16, $f8, $f10
/* ACD748 800565A8 E61000E8 */ swc1 $f16, 0xe8($s0)
/* ACD74C 800565AC C4440008 */ lwc1 $f4, 8($v0)
/* ACD750 800565B0 46049181 */ sub.s $f6, $f18, $f4
/* ACD754 800565B4 E60600EC */ swc1 $f6, 0xec($s0)
/* ACD758 800565B8 0C01EFE4 */ jal func_8007BF90
/* ACD75C 800565BC 8FA40030 */ lw $a0, 0x30($sp)
/* ACD760 800565C0 86020160 */ lh $v0, 0x160($s0)
/* ACD764 800565C4 44804000 */ mtc1 $zero, $f8
/* ACD768 800565C8 E60000DC */ swc1 $f0, 0xdc($s0)
/* ACD76C 800565CC 18400003 */ blez $v0, .L800565DC
/* ACD770 800565D0 E60800D8 */ swc1 $f8, 0xd8($s0)
/* ACD774 800565D4 2448FFFF */ addiu $t0, $v0, -1
/* ACD778 800565D8 A6080160 */ sh $t0, 0x160($s0)
.L800565DC:
/* ACD77C 800565DC 24020001 */ li $v0, 1
.L800565E0:
/* ACD780 800565E0 8FBF0024 */ lw $ra, 0x24($sp)
/* ACD784 800565E4 8FB00020 */ lw $s0, 0x20($sp)
/* ACD788 800565E8 27BD0040 */ addiu $sp, $sp, 0x40
/* ACD78C 800565EC 03E00008 */ jr $ra
/* ACD790 800565F0 00000000 */ nop

View file

@ -0,0 +1,109 @@
glabel func_80056654
/* ACD7F4 80056654 27BDFFB0 */ addiu $sp, $sp, -0x50
/* ACD7F8 80056658 AFBF001C */ sw $ra, 0x1c($sp)
/* ACD7FC 8005665C AFB10018 */ sw $s1, 0x18($sp)
/* ACD800 80056660 AFB00014 */ sw $s0, 0x14($sp)
/* ACD804 80056664 848E015E */ lh $t6, 0x15e($a0)
/* ACD808 80056668 00808025 */ move $s0, $a0
/* ACD80C 8005666C 240F3200 */ li $t7, 12800
/* ACD810 80056670 15C0000B */ bnez $t6, .L800566A0
/* ACD814 80056674 26110160 */ addiu $s1, $s0, 0x160
/* ACD818 80056678 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012
/* ACD81C 8005667C AC2FD3A0 */ sw $t7, %lo(D_8011D3A0)($at)
/* ACD820 80056680 8498015E */ lh $t8, 0x15e($a0)
/* ACD824 80056684 3C014220 */ li $at, 0x42200000 # 0.000000
/* ACD828 80056688 44812000 */ mtc1 $at, $f4
/* ACD82C 8005668C 84880160 */ lh $t0, 0x160($a0)
/* ACD830 80056690 27190001 */ addiu $t9, $t8, 1
/* ACD834 80056694 A499015E */ sh $t9, 0x15e($a0)
/* ACD838 80056698 E48400FC */ swc1 $f4, 0xfc($a0)
/* ACD83C 8005669C A4880000 */ sh $t0, ($a0)
.L800566A0:
/* ACD840 800566A0 86290000 */ lh $t1, ($s1)
/* ACD844 800566A4 3C0142A0 */ li $at, 0x42A00000 # 0.000000
/* ACD848 800566A8 44816000 */ mtc1 $at, $f12
/* ACD84C 800566AC 44894000 */ mtc1 $t1, $f8
/* ACD850 800566B0 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* ACD854 800566B4 44813000 */ mtc1 $at, $f6
/* ACD858 800566B8 468042A0 */ cvt.s.w $f10, $f8
/* ACD85C 800566BC 3C073DCC */ lui $a3, (0x3DCCCCCD >> 16) # lui $a3, 0x3dcc
/* ACD860 800566C0 34E7CCCD */ ori $a3, (0x3DCCCCCD & 0xFFFF) # ori $a3, $a3, 0xcccd
/* ACD864 800566C4 C60E00FC */ lwc1 $f14, 0xfc($s0)
/* ACD868 800566C8 460A3403 */ div.s $f16, $f6, $f10
/* ACD86C 800566CC 44068000 */ mfc1 $a2, $f16
/* ACD870 800566D0 0C010E27 */ jal func_8004389C
/* ACD874 800566D4 00000000 */ nop
/* ACD878 800566D8 E60000FC */ swc1 $f0, 0xfc($s0)
/* ACD87C 800566DC 86230000 */ lh $v1, ($s1)
/* ACD880 800566E0 860A0000 */ lh $t2, ($s0)
/* ACD884 800566E4 240DFE0C */ li $t5, -500
/* ACD888 800566E8 27A4003C */ addiu $a0, $sp, 0x3c
/* ACD88C 800566EC 01435823 */ subu $t3, $t2, $v1
/* ACD890 800566F0 2961000F */ slti $at, $t3, 0xf
/* ACD894 800566F4 10200004 */ beqz $at, .L80056708
/* ACD898 800566F8 246CFFFF */ addiu $t4, $v1, -1
/* ACD89C 800566FC A62C0000 */ sh $t4, ($s1)
/* ACD8A0 80056700 10000038 */ b .L800567E4
/* ACD8A4 80056704 00001025 */ move $v0, $zero
.L80056708:
/* ACD8A8 80056708 A60D015A */ sh $t5, 0x15a($s0)
/* ACD8AC 8005670C 0C00BBC5 */ jal func_8002EF14
/* ACD8B0 80056710 8E0500A8 */ lw $a1, 0xa8($s0)
/* ACD8B4 80056714 27AE003C */ addiu $t6, $sp, 0x3c
/* ACD8B8 80056718 8DD80000 */ lw $t8, ($t6)
/* ACD8BC 8005671C 3C014316 */ li $at, 0x43160000 # 0.000000
/* ACD8C0 80056720 44812000 */ mtc1 $at, $f4
/* ACD8C4 80056724 AE180050 */ sw $t8, 0x50($s0)
/* ACD8C8 80056728 8DCF0004 */ lw $t7, 4($t6)
/* ACD8CC 8005672C AE0F0054 */ sw $t7, 0x54($s0)
/* ACD8D0 80056730 C6120054 */ lwc1 $f18, 0x54($s0)
/* ACD8D4 80056734 8DD80008 */ lw $t8, 8($t6)
/* ACD8D8 80056738 46049201 */ sub.s $f8, $f18, $f4
/* ACD8DC 8005673C AE180058 */ sw $t8, 0x58($s0)
/* ACD8E0 80056740 E6080054 */ swc1 $f8, 0x54($s0)
/* ACD8E4 80056744 87A2004A */ lh $v0, 0x4a($sp)
/* ACD8E8 80056748 24428001 */ addiu $v0, $v0, -0x7fff
/* ACD8EC 8005674C 00021400 */ sll $v0, $v0, 0x10
/* ACD8F0 80056750 00021403 */ sra $v0, $v0, 0x10
/* ACD8F4 80056754 244203E8 */ addiu $v0, $v0, 0x3e8
/* ACD8F8 80056758 00022400 */ sll $a0, $v0, 0x10
/* ACD8FC 8005675C A7A2003A */ sh $v0, 0x3a($sp)
/* ACD900 80056760 0C01DE1C */ jal Math_Sins
/* ACD904 80056764 00042403 */ sra $a0, $a0, 0x10
/* ACD908 80056768 3C014443 */ li $at, 0x44430000 # 0.000000
/* ACD90C 8005676C 44813000 */ mtc1 $at, $f6
/* ACD910 80056770 C6100050 */ lwc1 $f16, 0x50($s0)
/* ACD914 80056774 C6120054 */ lwc1 $f18, 0x54($s0)
/* ACD918 80056778 46060282 */ mul.s $f10, $f0, $f6
/* ACD91C 8005677C E6120078 */ swc1 $f18, 0x78($s0)
/* ACD920 80056780 46105080 */ add.s $f2, $f10, $f16
/* ACD924 80056784 E6020074 */ swc1 $f2, 0x74($s0)
/* ACD928 80056788 E602005C */ swc1 $f2, 0x5c($s0)
/* ACD92C 8005678C 0C01DE0D */ jal Math_Coss
/* ACD930 80056790 87A4003A */ lh $a0, 0x3a($sp)
/* ACD934 80056794 3C014443 */ li $at, 0x44430000 # 0.000000
/* ACD938 80056798 44812000 */ mtc1 $at, $f4
/* ACD93C 8005679C C6060058 */ lwc1 $f6, 0x58($s0)
/* ACD940 800567A0 02002025 */ move $a0, $s0
/* ACD944 800567A4 46040202 */ mul.s $f8, $f0, $f4
/* ACD948 800567A8 2605005C */ addiu $a1, $s0, 0x5c
/* ACD94C 800567AC 46064080 */ add.s $f2, $f8, $f6
/* ACD950 800567B0 E602007C */ swc1 $f2, 0x7c($s0)
/* ACD954 800567B4 E6020064 */ swc1 $f2, 0x64($s0)
/* ACD958 800567B8 C7AA0040 */ lwc1 $f10, 0x40($sp)
/* ACD95C 800567BC 0C011144 */ jal func_80044510
/* ACD960 800567C0 E60A0060 */ swc1 $f10, 0x60($s0)
/* ACD964 800567C4 3C0141A0 */ li $at, 0x41A00000 # 0.000000
/* ACD968 800567C8 44818000 */ mtc1 $at, $f16
/* ACD96C 800567CC 24020001 */ li $v0, 1
/* ACD970 800567D0 46100480 */ add.s $f18, $f0, $f16
/* ACD974 800567D4 E6120060 */ swc1 $f18, 0x60($s0)
/* ACD978 800567D8 86390000 */ lh $t9, ($s1)
/* ACD97C 800567DC 2728FFFF */ addiu $t0, $t9, -1
/* ACD980 800567E0 A6280000 */ sh $t0, ($s1)
.L800567E4:
/* ACD984 800567E4 8FBF001C */ lw $ra, 0x1c($sp)
/* ACD988 800567E8 8FB00014 */ lw $s0, 0x14($sp)
/* ACD98C 800567EC 8FB10018 */ lw $s1, 0x18($sp)
/* ACD990 800567F0 03E00008 */ jr $ra
/* ACD994 800567F4 27BD0050 */ addiu $sp, $sp, 0x50

View file

@ -0,0 +1,302 @@
.late_rodata
glabel D_8013A390
.float 0.01
glabel D_8013A394
.float 0.01
glabel D_8013A398
.float 182.04167
glabel D_8013A39C
.float 0.01
glabel D_8013A3A0
.float 2730.0
glabel D_8013A3A4
.float 2730.0
glabel D_8013A3A8
.float 0.01
.text
glabel func_800567F8
/* ACD998 800567F8 27BDFF38 */ addiu $sp, $sp, -0xc8
/* ACD99C 800567FC AFB00018 */ sw $s0, 0x18($sp)
/* ACD9A0 80056800 00808025 */ move $s0, $a0
/* ACD9A4 80056804 AFBF001C */ sw $ra, 0x1c($sp)
/* ACD9A8 80056808 0C00B721 */ jal Player_GetCameraYOffset
/* ACD9AC 8005680C 8C840090 */ lw $a0, 0x90($a0)
/* ACD9B0 80056810 8603015E */ lh $v1, 0x15e($s0)
/* ACD9B4 80056814 10600008 */ beqz $v1, .L80056838
/* ACD9B8 80056818 2401000A */ li $at, 10
/* ACD9BC 8005681C 10610006 */ beq $v1, $at, .L80056838
/* ACD9C0 80056820 24010014 */ li $at, 20
/* ACD9C4 80056824 10610004 */ beq $v1, $at, .L80056838
/* ACD9C8 80056828 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016
/* ACD9CC 8005682C 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
/* ACD9D0 80056830 85C30314 */ lh $v1, 0x314($t6)
/* ACD9D4 80056834 10600050 */ beqz $v1, .L80056978
.L80056838:
/* ACD9D8 80056838 3C0B8016 */ lui $t3, %hi(gGameInfo) # $t3, 0x8016
/* ACD9DC 8005683C 8D6BFA90 */ lw $t3, %lo(gGameInfo)($t3)
/* ACD9E0 80056840 3C018014 */ lui $at, %hi(D_8013A390)
/* ACD9E4 80056844 C428A390 */ lwc1 $f8, %lo(D_8013A390)($at)
/* ACD9E8 80056848 856C01F0 */ lh $t4, 0x1f0($t3)
/* ACD9EC 8005684C 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* ACD9F0 80056850 44815000 */ mtc1 $at, $f10
/* ACD9F4 80056854 448C2000 */ mtc1 $t4, $f4
/* ACD9F8 80056858 3C014288 */ li $at, 0x42880000 # 0.000000
/* ACD9FC 8005685C 44819000 */ mtc1 $at, $f18
/* ACDA00 80056860 468021A0 */ cvt.s.w $f6, $f4
/* ACDA04 80056864 860F0142 */ lh $t7, 0x142($s0)
/* ACDA08 80056868 3C198012 */ lui $t9, %hi(D_8011D068)
/* ACDA0C 8005686C 86080144 */ lh $t0, 0x144($s0)
/* ACDA10 80056870 000FC0C0 */ sll $t8, $t7, 3
/* ACDA14 80056874 46009103 */ div.s $f4, $f18, $f0
/* ACDA18 80056878 0338C821 */ addu $t9, $t9, $t8
/* ACDA1C 8005687C 8F39D068 */ lw $t9, %lo(D_8011D068)($t9)
/* ACDA20 80056880 000848C0 */ sll $t1, $t0, 3
/* ACDA24 80056884 46083082 */ mul.s $f2, $f6, $f8
/* ACDA28 80056888 03295021 */ addu $t2, $t9, $t1
/* ACDA2C 8005688C 8D420004 */ lw $v0, 4($t2)
/* ACDA30 80056890 3C018014 */ lui $at, %hi(D_8013A394)
/* ACDA34 80056894 C432A394 */ lwc1 $f18, %lo(D_8013A394)($at)
/* ACDA38 80056898 844D0000 */ lh $t5, ($v0)
/* ACDA3C 8005689C 3C018014 */ lui $at, %hi(D_8013A398)
/* ACDA40 800568A0 2442001C */ addiu $v0, $v0, 0x1c
/* ACDA44 800568A4 448D4000 */ mtc1 $t5, $f8
/* ACDA48 800568A8 3C0D8016 */ lui $t5, %hi(gGameInfo)
/* ACDA4C 800568AC 46025400 */ add.s $f16, $f10, $f2
/* ACDA50 800568B0 46041182 */ mul.s $f6, $f2, $f4
/* ACDA54 800568B4 468042A0 */ cvt.s.w $f10, $f8
/* ACDA58 800568B8 46068301 */ sub.s $f12, $f16, $f6
/* ACDA5C 800568BC 46125102 */ mul.s $f4, $f10, $f18
/* ACDA60 800568C0 00000000 */ nop
/* ACDA64 800568C4 46002402 */ mul.s $f16, $f4, $f0
/* ACDA68 800568C8 00000000 */ nop
/* ACDA6C 800568CC 460C8182 */ mul.s $f6, $f16, $f12
/* ACDA70 800568D0 E6060000 */ swc1 $f6, ($s0)
/* ACDA74 800568D4 844EFFE8 */ lh $t6, -0x18($v0)
/* ACDA78 800568D8 448E4000 */ mtc1 $t6, $f8
/* ACDA7C 800568DC 00000000 */ nop
/* ACDA80 800568E0 468042A0 */ cvt.s.w $f10, $f8
/* ACDA84 800568E4 E60A0004 */ swc1 $f10, 4($s0)
/* ACDA88 800568E8 844FFFEC */ lh $t7, -0x14($v0)
/* ACDA8C 800568EC 448F9000 */ mtc1 $t7, $f18
/* ACDA90 800568F0 00000000 */ nop
/* ACDA94 800568F4 46809120 */ cvt.s.w $f4, $f18
/* ACDA98 800568F8 E6040008 */ swc1 $f4, 8($s0)
/* ACDA9C 800568FC 8458FFF0 */ lh $t8, -0x10($v0)
/* ACDAA0 80056900 A6180014 */ sh $t8, 0x14($s0)
/* ACDAA4 80056904 8448FFF4 */ lh $t0, -0xc($v0)
/* ACDAA8 80056908 C428A398 */ lwc1 $f8, %lo(D_8013A398)($at)
/* ACDAAC 8005690C 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* ACDAB0 80056910 44888000 */ mtc1 $t0, $f16
/* ACDAB4 80056914 44819000 */ mtc1 $at, $f18
/* ACDAB8 80056918 3C018014 */ lui $at, %hi(D_8013A39C)
/* ACDABC 8005691C 468081A0 */ cvt.s.w $f6, $f16
/* ACDAC0 80056920 46083282 */ mul.s $f10, $f6, $f8
/* ACDAC4 80056924 46125100 */ add.s $f4, $f10, $f18
/* ACDAC8 80056928 4600240D */ trunc.w.s $f16, $f4
/* ACDACC 8005692C 44098000 */ mfc1 $t1, $f16
/* ACDAD0 80056930 00000000 */ nop
/* ACDAD4 80056934 A6090016 */ sh $t1, 0x16($s0)
/* ACDAD8 80056938 844AFFF8 */ lh $t2, -8($v0)
/* ACDADC 8005693C 448A3000 */ mtc1 $t2, $f6
/* ACDAE0 80056940 00000000 */ nop
/* ACDAE4 80056944 46803220 */ cvt.s.w $f8, $f6
/* ACDAE8 80056948 E608000C */ swc1 $f8, 0xc($s0)
/* ACDAEC 8005694C 844BFFFC */ lh $t3, -4($v0)
/* ACDAF0 80056950 C424A39C */ lwc1 $f4, %lo(D_8013A39C)($at)
/* ACDAF4 80056954 448B5000 */ mtc1 $t3, $f10
/* ACDAF8 80056958 00000000 */ nop
/* ACDAFC 8005695C 468054A0 */ cvt.s.w $f18, $f10
/* ACDB00 80056960 46049402 */ mul.s $f16, $f18, $f4
/* ACDB04 80056964 E6100010 */ swc1 $f16, 0x10($s0)
/* ACDB08 80056968 844C0000 */ lh $t4, ($v0)
/* ACDB0C 8005696C A60C0018 */ sh $t4, 0x18($s0)
/* ACDB10 80056970 8DADFA90 */ lw $t5, -0x570($t5)
/* ACDB14 80056974 85A30314 */ lh $v1, 0x314($t5)
.L80056978:
/* ACDB18 80056978 50600004 */ beql $v1, $zero, .L8005698C
/* ACDB1C 8005697C 26050050 */ addiu $a1, $s0, 0x50
/* ACDB20 80056980 0C011495 */ jal func_80045254
/* ACDB24 80056984 02002025 */ move $a0, $s0
/* ACDB28 80056988 26050050 */ addiu $a1, $s0, 0x50
.L8005698C:
/* ACDB2C 8005698C 2606005C */ addiu $a2, $s0, 0x5c
/* ACDB30 80056990 AFA60038 */ sw $a2, 0x38($sp)
/* ACDB34 80056994 AFA50034 */ sw $a1, 0x34($sp)
/* ACDB38 80056998 0C01F124 */ jal func_8007C490
/* ACDB3C 8005699C 27A40064 */ addiu $a0, $sp, 0x64
/* ACDB40 800569A0 26060074 */ addiu $a2, $s0, 0x74
/* ACDB44 800569A4 AFA60030 */ sw $a2, 0x30($sp)
/* ACDB48 800569A8 27A4005C */ addiu $a0, $sp, 0x5c
/* ACDB4C 800569AC 0C01F124 */ jal func_8007C490
/* ACDB50 800569B0 8FA50034 */ lw $a1, 0x34($sp)
/* ACDB54 800569B4 27A400A8 */ addiu $a0, $sp, 0xa8
/* ACDB58 800569B8 0C00BBC5 */ jal func_8002EF14
/* ACDB5C 800569BC 8E0500A8 */ lw $a1, 0xa8($s0)
/* ACDB60 800569C0 860E0018 */ lh $t6, 0x18($s0)
/* ACDB64 800569C4 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012
/* ACDB68 800569C8 2606001C */ addiu $a2, $s0, 0x1c
/* ACDB6C 800569CC AC2ED3A0 */ sw $t6, %lo(D_8011D3A0)($at)
/* ACDB70 800569D0 8603015E */ lh $v1, 0x15e($s0)
/* ACDB74 800569D4 54600006 */ bnezl $v1, .L800569F0
/* ACDB78 800569D8 84C20000 */ lh $v0, ($a2)
/* ACDB7C 800569DC 86180014 */ lh $t8, 0x14($s0)
/* ACDB80 800569E0 246F0001 */ addiu $t7, $v1, 1
/* ACDB84 800569E4 A60F015E */ sh $t7, 0x15e($s0)
/* ACDB88 800569E8 A618001C */ sh $t8, 0x1c($s0)
/* ACDB8C 800569EC 84C20000 */ lh $v0, ($a2)
.L800569F0:
/* ACDB90 800569F0 18400003 */ blez $v0, .L80056A00
/* ACDB94 800569F4 2448FFFF */ addiu $t0, $v0, -1
/* ACDB98 800569F8 10000062 */ b .L80056B84
/* ACDB9C 800569FC A4C80000 */ sh $t0, ($a2)
.L80056A00:
/* ACDBA0 80056A00 54400061 */ bnezl $v0, .L80056B88
/* ACDBA4 80056A04 02002025 */ move $a0, $s0
/* ACDBA8 80056A08 8E0300A8 */ lw $v1, 0xa8($s0)
/* ACDBAC 80056A0C 50600007 */ beql $v1, $zero, .L80056A2C
/* ACDBB0 80056A10 AE0000A8 */ sw $zero, 0xa8($s0)
/* ACDBB4 80056A14 8C790130 */ lw $t9, 0x130($v1)
/* ACDBB8 80056A18 2449FFFF */ addiu $t1, $v0, -1
/* ACDBBC 80056A1C 27A400A8 */ addiu $a0, $sp, 0xa8
/* ACDBC0 80056A20 17200004 */ bnez $t9, .L80056A34
/* ACDBC4 80056A24 26050094 */ addiu $a1, $s0, 0x94
/* ACDBC8 80056A28 AE0000A8 */ sw $zero, 0xa8($s0)
.L80056A2C:
/* ACDBCC 80056A2C 10000077 */ b .L80056C0C
/* ACDBD0 80056A30 24020001 */ li $v0, 1
.L80056A34:
/* ACDBD4 80056A34 A4C90000 */ sh $t1, ($a2)
/* ACDBD8 80056A38 0C01EFE4 */ jal func_8007BF90
/* ACDBDC 80056A3C AFA5002C */ sw $a1, 0x2c($sp)
/* ACDBE0 80056A40 C6060008 */ lwc1 $f6, 8($s0)
/* ACDBE4 80056A44 8FA2002C */ lw $v0, 0x2c($sp)
/* ACDBE8 80056A48 3C0141A0 */ li $at, 0x41A00000 # 0.000000
/* ACDBEC 80056A4C 4600303C */ c.lt.s $f6, $f0
/* ACDBF0 80056A50 27A4007C */ addiu $a0, $sp, 0x7c
/* ACDBF4 80056A54 4502004C */ bc1fl .L80056B88
/* ACDBF8 80056A58 02002025 */ move $a0, $s0
/* ACDBFC 80056A5C 844A000E */ lh $t2, 0xe($v0)
/* ACDC00 80056A60 44814000 */ mtc1 $at, $f8
/* ACDC04 80056A64 27A500A8 */ addiu $a1, $sp, 0xa8
/* ACDC08 80056A68 A7AA0072 */ sh $t2, 0x72($sp)
/* ACDC0C 80056A6C 844B000C */ lh $t3, 0xc($v0)
/* ACDC10 80056A70 27A6006C */ addiu $a2, $sp, 0x6c
/* ACDC14 80056A74 E7A8006C */ swc1 $f8, 0x6c($sp)
/* ACDC18 80056A78 000B6023 */ negu $t4, $t3
/* ACDC1C 80056A7C 0C010F0A */ jal func_80043C28
/* ACDC20 80056A80 A7AC0070 */ sh $t4, 0x70($sp)
/* ACDC24 80056A84 02002025 */ move $a0, $s0
/* ACDC28 80056A88 8FA50034 */ lw $a1, 0x34($sp)
/* ACDC2C 80056A8C 0C010F46 */ jal func_80043D18
/* ACDC30 80056A90 27A6007C */ addiu $a2, $sp, 0x7c
/* ACDC34 80056A94 27A4006C */ addiu $a0, $sp, 0x6c
/* ACDC38 80056A98 0C01F0FD */ jal func_8007C3F4
/* ACDC3C 80056A9C 27A50088 */ addiu $a1, $sp, 0x88
/* ACDC40 80056AA0 8FAD002C */ lw $t5, 0x2c($sp)
/* ACDC44 80056AA4 87AF0072 */ lh $t7, 0x72($sp)
/* ACDC48 80056AA8 85AE000E */ lh $t6, 0xe($t5)
/* ACDC4C 80056AAC 01CFC023 */ subu $t8, $t6, $t7
/* ACDC50 80056AB0 A7B800A4 */ sh $t8, 0xa4($sp)
/* ACDC54 80056AB4 C60A0004 */ lwc1 $f10, 4($s0)
/* ACDC58 80056AB8 0C03F66B */ jal Math_Rand_ZeroOne
/* ACDC5C 80056ABC E7AA0074 */ swc1 $f10, 0x74($sp)
/* ACDC60 80056AC0 87A800A4 */ lh $t0, 0xa4($sp)
/* ACDC64 80056AC4 8FAC002C */ lw $t4, 0x2c($sp)
/* ACDC68 80056AC8 3C018014 */ lui $at, %hi(D_8013A3A4)
/* ACDC6C 80056ACC 0501000E */ bgez $t0, .L80056B08
/* ACDC70 80056AD0 00000000 */ nop
/* ACDC74 80056AD4 3C018014 */ lui $at, %hi(D_8013A3A0)
/* ACDC78 80056AD8 C432A3A0 */ lwc1 $f18, %lo(D_8013A3A0)($at)
/* ACDC7C 80056ADC 46120102 */ mul.s $f4, $f0, $f18
/* ACDC80 80056AE0 4600240D */ trunc.w.s $f16, $f4
/* ACDC84 80056AE4 44028000 */ mfc1 $v0, $f16
/* ACDC88 80056AE8 00000000 */ nop
/* ACDC8C 80056AEC 00021400 */ sll $v0, $v0, 0x10
/* ACDC90 80056AF0 00021403 */ sra $v0, $v0, 0x10
/* ACDC94 80056AF4 24421553 */ addiu $v0, $v0, 0x1553
/* ACDC98 80056AF8 00021400 */ sll $v0, $v0, 0x10
/* ACDC9C 80056AFC 00021403 */ sra $v0, $v0, 0x10
/* ACDCA0 80056B00 1000000B */ b .L80056B30
/* ACDCA4 80056B04 00021023 */ negu $v0, $v0
.L80056B08:
/* ACDCA8 80056B08 C426A3A4 */ lwc1 $f6, %lo(D_8013A3A4)($at)
/* ACDCAC 80056B0C 46060202 */ mul.s $f8, $f0, $f6
/* ACDCB0 80056B10 4600428D */ trunc.w.s $f10, $f8
/* ACDCB4 80056B14 44025000 */ mfc1 $v0, $f10
/* ACDCB8 80056B18 00000000 */ nop
/* ACDCBC 80056B1C 00021400 */ sll $v0, $v0, 0x10
/* ACDCC0 80056B20 00021403 */ sra $v0, $v0, 0x10
/* ACDCC4 80056B24 24421553 */ addiu $v0, $v0, 0x1553
/* ACDCC8 80056B28 00021400 */ sll $v0, $v0, 0x10
/* ACDCCC 80056B2C 00021403 */ sra $v0, $v0, 0x10
.L80056B30:
/* ACDCD0 80056B30 858D000E */ lh $t5, 0xe($t4)
/* ACDCD4 80056B34 8FA40030 */ lw $a0, 0x30($sp)
/* ACDCD8 80056B38 27A500A8 */ addiu $a1, $sp, 0xa8
/* ACDCDC 80056B3C 25B88001 */ addiu $t8, $t5, -0x7fff
/* ACDCE0 80056B40 00584021 */ addu $t0, $v0, $t8
/* ACDCE4 80056B44 A7A8007A */ sh $t0, 0x7a($sp)
/* ACDCE8 80056B48 86190016 */ lh $t9, 0x16($s0)
/* ACDCEC 80056B4C 27A60074 */ addiu $a2, $sp, 0x74
/* ACDCF0 80056B50 0C010F0A */ jal func_80043C28
/* ACDCF4 80056B54 A7B90078 */ sh $t9, 0x78($sp)
/* ACDCF8 80056B58 8FA90030 */ lw $t1, 0x30($sp)
/* ACDCFC 80056B5C 8FA60038 */ lw $a2, 0x38($sp)
/* ACDD00 80056B60 02002025 */ move $a0, $s0
/* ACDD04 80056B64 8D2C0000 */ lw $t4, ($t1)
/* ACDD08 80056B68 27A500A8 */ addiu $a1, $sp, 0xa8
/* ACDD0C 80056B6C ACCC0000 */ sw $t4, ($a2)
/* ACDD10 80056B70 8D2A0004 */ lw $t2, 4($t1)
/* ACDD14 80056B74 ACCA0004 */ sw $t2, 4($a2)
/* ACDD18 80056B78 8D2C0008 */ lw $t4, 8($t1)
/* ACDD1C 80056B7C 0C010FCD */ jal func_80043F34
/* ACDD20 80056B80 ACCC0008 */ sw $t4, 8($a2)
.L80056B84:
/* ACDD24 80056B84 02002025 */ move $a0, $s0
.L80056B88:
/* ACDD28 80056B88 27A5005C */ addiu $a1, $sp, 0x5c
/* ACDD2C 80056B8C 8E060000 */ lw $a2, ($s0)
/* ACDD30 80056B90 0C0115EA */ jal func_800457A8
/* ACDD34 80056B94 00003825 */ move $a3, $zero
/* ACDD38 80056B98 3C0D8016 */ lui $t5, %hi(gGameInfo) # $t5, 0x8016
/* ACDD3C 80056B9C 8DADFA90 */ lw $t5, %lo(gGameInfo)($t5)
/* ACDD40 80056BA0 3C018014 */ lui $at, %hi(D_8013A3A8)
/* ACDD44 80056BA4 C430A3A8 */ lwc1 $f16, %lo(D_8013A3A8)($at)
/* ACDD48 80056BA8 85AE019C */ lh $t6, 0x19c($t5)
/* ACDD4C 80056BAC C6080100 */ lwc1 $f8, 0x100($s0)
/* ACDD50 80056BB0 C60C000C */ lwc1 $f12, 0xc($s0)
/* ACDD54 80056BB4 448E9000 */ mtc1 $t6, $f18
/* ACDD58 80056BB8 C60E00FC */ lwc1 $f14, 0xfc($s0)
/* ACDD5C 80056BBC 3C073F80 */ lui $a3, 0x3f80
/* ACDD60 80056BC0 46809120 */ cvt.s.w $f4, $f18
/* ACDD64 80056BC4 46102182 */ mul.s $f6, $f4, $f16
/* ACDD68 80056BC8 00000000 */ nop
/* ACDD6C 80056BCC 46083282 */ mul.s $f10, $f6, $f8
/* ACDD70 80056BD0 44065000 */ mfc1 $a2, $f10
/* ACDD74 80056BD4 0C010E27 */ jal func_8004389C
/* ACDD78 80056BD8 00000000 */ nop
/* ACDD7C 80056BDC E60000FC */ swc1 $f0, 0xfc($s0)
/* ACDD80 80056BE0 00002025 */ move $a0, $zero
/* ACDD84 80056BE4 8605015A */ lh $a1, 0x15a($s0)
/* ACDD88 80056BE8 3C063F00 */ lui $a2, 0x3f00
/* ACDD8C 80056BEC 0C010E47 */ jal func_8004391C
/* ACDD90 80056BF0 2407000A */ li $a3, 10
/* ACDD94 80056BF4 A602015A */ sh $v0, 0x15a($s0)
/* ACDD98 80056BF8 02002025 */ move $a0, $s0
/* ACDD9C 80056BFC 0C011429 */ jal func_800450A4
/* ACDDA0 80056C00 8E050010 */ lw $a1, 0x10($s0)
/* ACDDA4 80056C04 E6000100 */ swc1 $f0, 0x100($s0)
/* ACDDA8 80056C08 24020001 */ li $v0, 1
.L80056C0C:
/* ACDDAC 80056C0C 8FBF001C */ lw $ra, 0x1c($sp)
/* ACDDB0 80056C10 8FB00018 */ lw $s0, 0x18($sp)
/* ACDDB4 80056C14 27BD00C8 */ addiu $sp, $sp, 0xc8
/* ACDDB8 80056C18 03E00008 */ jr $ra
/* ACDDBC 80056C1C 00000000 */ nop

View file

@ -0,0 +1,238 @@
.late_rodata
glabel D_8013A3AC
.float 1500.0
glabel D_8013A3B0
.float 3000.0
glabel D_8013A3B4
.float 0.4
glabel D_8013A3B8
.float 0.1
glabel D_8013A3BC
.float 0.4
glabel D_8013A3C0
.float 0.1
.text
glabel func_80056C20
/* ACDDC0 80056C20 27BDFF90 */ addiu $sp, $sp, -0x70
/* ACDDC4 80056C24 AFB00020 */ sw $s0, 0x20($sp)
/* ACDDC8 80056C28 00808025 */ move $s0, $a0
/* ACDDCC 80056C2C AFBF002C */ sw $ra, 0x2c($sp)
/* ACDDD0 80056C30 AFB20028 */ sw $s2, 0x28($sp)
/* ACDDD4 80056C34 AFB10024 */ sw $s1, 0x24($sp)
/* ACDDD8 80056C38 0C00B721 */ jal Player_GetCameraYOffset
/* ACDDDC 80056C3C 8C840090 */ lw $a0, 0x90($a0)
/* ACDDE0 80056C40 860E015E */ lh $t6, 0x15e($s0)
/* ACDDE4 80056C44 46000086 */ mov.s $f2, $f0
/* ACDDE8 80056C48 27A4005C */ addiu $a0, $sp, 0x5c
/* ACDDEC 80056C4C 15C00023 */ bnez $t6, .L80056CDC
/* ACDDF0 80056C50 26120050 */ addiu $s2, $s0, 0x50
/* ACDDF4 80056C54 8E0F008C */ lw $t7, 0x8c($s0)
/* ACDDF8 80056C58 24010006 */ li $at, 6
/* ACDDFC 80056C5C 24190003 */ li $t9, 3
/* ACDE00 80056C60 85F800A4 */ lh $t8, 0xa4($t7)
/* ACDE04 80056C64 26110094 */ addiu $s1, $s0, 0x94
/* ACDE08 80056C68 17010003 */ bne $t8, $at, .L80056C78
/* ACDE0C 80056C6C 00000000 */ nop
/* ACDE10 80056C70 10000016 */ b .L80056CCC
/* ACDE14 80056C74 A6190000 */ sh $t9, ($s0)
.L80056C78:
/* ACDE18 80056C78 3C018014 */ lui $at, %hi(D_8013A3AC)
/* ACDE1C 80056C7C C426A3AC */ lwc1 $f6, %lo(D_8013A3AC)($at)
/* ACDE20 80056C80 C6240000 */ lwc1 $f4, ($s1)
/* ACDE24 80056C84 24080002 */ li $t0, 2
/* ACDE28 80056C88 3C018014 */ lui $at, %hi(D_8013A3B0)
/* ACDE2C 80056C8C 4606203C */ c.lt.s $f4, $f6
/* ACDE30 80056C90 00000000 */ nop
/* ACDE34 80056C94 45020004 */ bc1fl .L80056CA8
/* ACDE38 80056C98 C6280004 */ lwc1 $f8, 4($s1)
/* ACDE3C 80056C9C 1000000B */ b .L80056CCC
/* ACDE40 80056CA0 A6080000 */ sh $t0, ($s0)
/* ACDE44 80056CA4 C6280004 */ lwc1 $f8, 4($s1)
.L80056CA8:
/* ACDE48 80056CA8 C42AA3B0 */ lwc1 $f10, %lo(D_8013A3B0)($at)
/* ACDE4C 80056CAC 24090001 */ li $t1, 1
/* ACDE50 80056CB0 460A403C */ c.lt.s $f8, $f10
/* ACDE54 80056CB4 00000000 */ nop
/* ACDE58 80056CB8 45020004 */ bc1fl .L80056CCC
/* ACDE5C 80056CBC A6090000 */ sh $t1, ($s0)
/* ACDE60 80056CC0 10000002 */ b .L80056CCC
/* ACDE64 80056CC4 A6000000 */ sh $zero, ($s0)
/* ACDE68 80056CC8 A6090000 */ sh $t1, ($s0)
.L80056CCC:
/* ACDE6C 80056CCC 860A015E */ lh $t2, 0x15e($s0)
/* ACDE70 80056CD0 A600015A */ sh $zero, 0x15a($s0)
/* ACDE74 80056CD4 254B0001 */ addiu $t3, $t2, 1
/* ACDE78 80056CD8 A60B015E */ sh $t3, 0x15e($s0)
.L80056CDC:
/* ACDE7C 80056CDC 860C0000 */ lh $t4, ($s0)
/* ACDE80 80056CE0 3C018012 */ lui $at, %hi(D_8011DACC)
/* ACDE84 80056CE4 C6100054 */ lwc1 $f16, 0x54($s0)
/* ACDE88 80056CE8 000C6880 */ sll $t5, $t4, 2
/* ACDE8C 80056CEC 002D0821 */ addu $at, $at, $t5
/* ACDE90 80056CF0 C432DACC */ lwc1 $f18, %lo(D_8011DACC)($at)
/* ACDE94 80056CF4 26110094 */ addiu $s1, $s0, 0x94
/* ACDE98 80056CF8 4612803C */ c.lt.s $f16, $f18
/* ACDE9C 80056CFC 00000000 */ nop
/* ACDEA0 80056D00 45020050 */ bc1fl .L80056E44
/* ACDEA4 80056D04 8E2B0000 */ lw $t3, ($s1)
/* ACDEA8 80056D08 8E2F0000 */ lw $t7, ($s1)
/* ACDEAC 80056D0C 3C018014 */ lui $at, %hi(D_8013A3B4)
/* ACDEB0 80056D10 C420A3B4 */ lwc1 $f0, %lo(D_8013A3B4)($at)
/* ACDEB4 80056D14 AC8F0000 */ sw $t7, ($a0)
/* ACDEB8 80056D18 8E2E0004 */ lw $t6, 4($s1)
/* ACDEBC 80056D1C 3C0141A0 */ li $at, 0x41A00000 # 0.000000
/* ACDEC0 80056D20 44813000 */ mtc1 $at, $f6
/* ACDEC4 80056D24 AC8E0004 */ sw $t6, 4($a0)
/* ACDEC8 80056D28 8E2F0008 */ lw $t7, 8($s1)
/* ACDECC 80056D2C 3C018014 */ lui $at, %hi(D_8013A3B8)
/* ACDED0 80056D30 44060000 */ mfc1 $a2, $f0
/* ACDED4 80056D34 AC8F0008 */ sw $t7, 8($a0)
/* ACDED8 80056D38 C7A40060 */ lwc1 $f4, 0x60($sp)
/* ACDEDC 80056D3C C42AA3B8 */ lwc1 $f10, %lo(D_8013A3B8)($at)
/* ACDEE0 80056D40 44070000 */ mfc1 $a3, $f0
/* ACDEE4 80056D44 46062201 */ sub.s $f8, $f4, $f6
/* ACDEE8 80056D48 02402825 */ move $a1, $s2
/* ACDEEC 80056D4C E7AA0010 */ swc1 $f10, 0x10($sp)
/* ACDEF0 80056D50 0C010E8F */ jal func_80043A3C
/* ACDEF4 80056D54 E7A80060 */ swc1 $f8, 0x60($sp)
/* ACDEF8 80056D58 86180000 */ lh $t8, ($s0)
/* ACDEFC 80056D5C 3C088012 */ lui $t0, %hi(D_8011DA6C) # $t0, 0x8012
/* ACDF00 80056D60 2508DA6C */ addiu $t0, %lo(D_8011DA6C) # addiu $t0, $t0, -0x2594
/* ACDF04 80056D64 0018C880 */ sll $t9, $t8, 2
/* ACDF08 80056D68 0338C823 */ subu $t9, $t9, $t8
/* ACDF0C 80056D6C 0019C880 */ sll $t9, $t9, 2
/* ACDF10 80056D70 03284821 */ addu $t1, $t9, $t0
/* ACDF14 80056D74 8D2B0000 */ lw $t3, ($t1)
/* ACDF18 80056D78 27A40048 */ addiu $a0, $sp, 0x48
/* ACDF1C 80056D7C 2605005C */ addiu $a1, $s0, 0x5c
/* ACDF20 80056D80 AC8B0000 */ sw $t3, ($a0)
/* ACDF24 80056D84 8D2A0004 */ lw $t2, 4($t1)
/* ACDF28 80056D88 8C8D0000 */ lw $t5, ($a0)
/* ACDF2C 80056D8C 3C018012 */ lui $at, %hi(D_8011DADC)
/* ACDF30 80056D90 AC8A0004 */ sw $t2, 4($a0)
/* ACDF34 80056D94 8D2B0008 */ lw $t3, 8($t1)
/* ACDF38 80056D98 3C198012 */ lui $t9, %hi(D_8011DAEC)
/* ACDF3C 80056D9C AC8B0008 */ sw $t3, 8($a0)
/* ACDF40 80056DA0 AE0D0074 */ sw $t5, 0x74($s0)
/* ACDF44 80056DA4 8C8C0004 */ lw $t4, 4($a0)
/* ACDF48 80056DA8 AE0C0078 */ sw $t4, 0x78($s0)
/* ACDF4C 80056DAC 8C8D0008 */ lw $t5, 8($a0)
/* ACDF50 80056DB0 AE0D007C */ sw $t5, 0x7c($s0)
/* ACDF54 80056DB4 8C8F0000 */ lw $t7, ($a0)
/* ACDF58 80056DB8 ACAF0000 */ sw $t7, ($a1)
/* ACDF5C 80056DBC 8C8E0004 */ lw $t6, 4($a0)
/* ACDF60 80056DC0 ACAE0004 */ sw $t6, 4($a1)
/* ACDF64 80056DC4 8C8F0008 */ lw $t7, 8($a0)
/* ACDF68 80056DC8 ACAF0008 */ sw $t7, 8($a1)
/* ACDF6C 80056DCC 86020000 */ lh $v0, ($s0)
/* ACDF70 80056DD0 C6300004 */ lwc1 $f16, 4($s1)
/* ACDF74 80056DD4 00021880 */ sll $v1, $v0, 2
/* ACDF78 80056DD8 00230821 */ addu $at, $at, $v1
/* ACDF7C 80056DDC C422DADC */ lwc1 $f2, %lo(D_8011DADC)($at)
/* ACDF80 80056DE0 3C018012 */ lui $at, %hi(D_8011DACC)
/* ACDF84 80056DE4 00230821 */ addu $at, $at, $v1
/* ACDF88 80056DE8 C424DACC */ lwc1 $f4, %lo(D_8011DACC)($at)
/* ACDF8C 80056DEC 46028481 */ sub.s $f18, $f16, $f2
/* ACDF90 80056DF0 0002C040 */ sll $t8, $v0, 1
/* ACDF94 80056DF4 0338C821 */ addu $t9, $t9, $t8
/* ACDF98 80056DF8 46022181 */ sub.s $f6, $f4, $f2
/* ACDF9C 80056DFC 8739DAEC */ lh $t9, %lo(D_8011DAEC)($t9)
/* ACDFA0 80056E00 3C0141A0 */ li $at, 0x41A00000 # 0.000000
/* ACDFA4 80056E04 46069003 */ div.s $f0, $f18, $f6
/* ACDFA8 80056E08 44994000 */ mtc1 $t9, $f8
/* ACDFAC 80056E0C 44819000 */ mtc1 $at, $f18
/* ACDFB0 80056E10 3C014270 */ li $at, 0x42700000 # 0.000000
/* ACDFB4 80056E14 468042A0 */ cvt.s.w $f10, $f8
/* ACDFB8 80056E18 44814000 */ mtc1 $at, $f8
/* ACDFBC 80056E1C 46005402 */ mul.s $f16, $f10, $f0
/* ACDFC0 80056E20 4600810D */ trunc.w.s $f4, $f16
/* ACDFC4 80056E24 46009182 */ mul.s $f6, $f18, $f0
/* ACDFC8 80056E28 44092000 */ mfc1 $t1, $f4
/* ACDFCC 80056E2C 00000000 */ nop
/* ACDFD0 80056E30 A609015A */ sh $t1, 0x15a($s0)
/* ACDFD4 80056E34 46083280 */ add.s $f10, $f6, $f8
/* ACDFD8 80056E38 10000034 */ b .L80056F0C
/* ACDFDC 80056E3C E60A00FC */ swc1 $f10, 0xfc($s0)
/* ACDFE0 80056E40 8E2B0000 */ lw $t3, ($s1)
.L80056E44:
/* ACDFE4 80056E44 3C018014 */ lui $at, %hi(D_8013A3BC)
/* ACDFE8 80056E48 C420A3BC */ lwc1 $f0, %lo(D_8013A3BC)($at)
/* ACDFEC 80056E4C 27A4005C */ addiu $a0, $sp, 0x5c
/* ACDFF0 80056E50 AC8B0000 */ sw $t3, ($a0)
/* ACDFF4 80056E54 8E2A0004 */ lw $t2, 4($s1)
/* ACDFF8 80056E58 3C018014 */ lui $at, %hi(D_8013A3C0)
/* ACDFFC 80056E5C 26120050 */ addiu $s2, $s0, 0x50
/* ACE000 80056E60 AC8A0004 */ sw $t2, 4($a0)
/* ACE004 80056E64 8E2B0008 */ lw $t3, 8($s1)
/* ACE008 80056E68 44060000 */ mfc1 $a2, $f0
/* ACE00C 80056E6C 44070000 */ mfc1 $a3, $f0
/* ACE010 80056E70 AC8B0008 */ sw $t3, 8($a0)
/* ACE014 80056E74 C7B00060 */ lwc1 $f16, 0x60($sp)
/* ACE018 80056E78 C432A3C0 */ lwc1 $f18, %lo(D_8013A3C0)($at)
/* ACE01C 80056E7C 02402825 */ move $a1, $s2
/* ACE020 80056E80 46028100 */ add.s $f4, $f16, $f2
/* ACE024 80056E84 E7B20010 */ swc1 $f18, 0x10($sp)
/* ACE028 80056E88 0C010E8F */ jal func_80043A3C
/* ACE02C 80056E8C E7A40060 */ swc1 $f4, 0x60($sp)
/* ACE030 80056E90 860C0000 */ lh $t4, ($s0)
/* ACE034 80056E94 3C0E8012 */ lui $t6, %hi(D_8011DA9C)
/* ACE038 80056E98 25CEDA9C */ addiu $t6, %lo(D_8011DA9C) # addiu $t6, $t6, -0x2564
/* ACE03C 80056E9C 000C6880 */ sll $t5, $t4, 2
/* ACE040 80056EA0 01AC6823 */ subu $t5, $t5, $t4
/* ACE044 80056EA4 000D6880 */ sll $t5, $t5, 2
/* ACE048 80056EA8 A600015A */ sh $zero, 0x15a($s0)
/* ACE04C 80056EAC 01AE7821 */ addu $t7, $t5, $t6
/* ACE050 80056EB0 8DF90000 */ lw $t9, ($t7)
/* ACE054 80056EB4 27A40048 */ addiu $a0, $sp, 0x48
/* ACE058 80056EB8 2605005C */ addiu $a1, $s0, 0x5c
/* ACE05C 80056EBC AC990000 */ sw $t9, ($a0)
/* ACE060 80056EC0 8DF80004 */ lw $t8, 4($t7)
/* ACE064 80056EC4 8C890000 */ lw $t1, ($a0)
/* ACE068 80056EC8 3C01428C */ li $at, 0x428C0000 # 0.000000
/* ACE06C 80056ECC AC980004 */ sw $t8, 4($a0)
/* ACE070 80056ED0 8DF90008 */ lw $t9, 8($t7)
/* ACE074 80056ED4 44813000 */ mtc1 $at, $f6
/* ACE078 80056ED8 AC990008 */ sw $t9, 8($a0)
/* ACE07C 80056EDC AE090074 */ sw $t1, 0x74($s0)
/* ACE080 80056EE0 8C880004 */ lw $t0, 4($a0)
/* ACE084 80056EE4 AE080078 */ sw $t0, 0x78($s0)
/* ACE088 80056EE8 8C890008 */ lw $t1, 8($a0)
/* ACE08C 80056EEC AE09007C */ sw $t1, 0x7c($s0)
/* ACE090 80056EF0 8C8B0000 */ lw $t3, ($a0)
/* ACE094 80056EF4 ACAB0000 */ sw $t3, ($a1)
/* ACE098 80056EF8 8C8A0004 */ lw $t2, 4($a0)
/* ACE09C 80056EFC ACAA0004 */ sw $t2, 4($a1)
/* ACE0A0 80056F00 8C8B0008 */ lw $t3, 8($a0)
/* ACE0A4 80056F04 ACAB0008 */ sw $t3, 8($a1)
/* ACE0A8 80056F08 E60600FC */ swc1 $f6, 0xfc($s0)
.L80056F0C:
/* ACE0AC 80056F0C 0C01EFE4 */ jal func_8007BF90
/* ACE0B0 80056F10 02402025 */ move $a0, $s2
/* ACE0B4 80056F14 44804000 */ mtc1 $zero, $f8
/* ACE0B8 80056F18 E60000DC */ swc1 $f0, 0xdc($s0)
/* ACE0BC 80056F1C C60A0050 */ lwc1 $f10, 0x50($s0)
/* ACE0C0 80056F20 E6080100 */ swc1 $f8, 0x100($s0)
/* ACE0C4 80056F24 C6300000 */ lwc1 $f16, ($s1)
/* ACE0C8 80056F28 C6120054 */ lwc1 $f18, 0x54($s0)
/* ACE0CC 80056F2C 24020001 */ li $v0, 1
/* ACE0D0 80056F30 46105101 */ sub.s $f4, $f10, $f16
/* ACE0D4 80056F34 C60A0058 */ lwc1 $f10, 0x58($s0)
/* ACE0D8 80056F38 E60400E4 */ swc1 $f4, 0xe4($s0)
/* ACE0DC 80056F3C C6260004 */ lwc1 $f6, 4($s1)
/* ACE0E0 80056F40 46069201 */ sub.s $f8, $f18, $f6
/* ACE0E4 80056F44 E60800E8 */ swc1 $f8, 0xe8($s0)
/* ACE0E8 80056F48 C6300008 */ lwc1 $f16, 8($s1)
/* ACE0EC 80056F4C 46105101 */ sub.s $f4, $f10, $f16
/* ACE0F0 80056F50 E60400EC */ swc1 $f4, 0xec($s0)
/* ACE0F4 80056F54 8FBF002C */ lw $ra, 0x2c($sp)
/* ACE0F8 80056F58 8FB20028 */ lw $s2, 0x28($sp)
/* ACE0FC 80056F5C 8FB10024 */ lw $s1, 0x24($sp)
/* ACE100 80056F60 8FB00020 */ lw $s0, 0x20($sp)
/* ACE104 80056F64 03E00008 */ jr $ra
/* ACE108 80056F68 27BD0070 */ addiu $sp, $sp, 0x70

View file

@ -0,0 +1,326 @@
.late_rodata
glabel D_8013A3C4
.float 0.2
glabel D_8013A3C8
.float 0.01
glabel D_8013A3CC
.float 0.2
.text
glabel func_80056F6C
/* ACE10C 80056F6C 27BDFF40 */ addiu $sp, $sp, -0xc0
/* ACE110 80056F70 AFBF0024 */ sw $ra, 0x24($sp)
/* ACE114 80056F74 AFB20020 */ sw $s2, 0x20($sp)
/* ACE118 80056F78 AFB1001C */ sw $s1, 0x1c($sp)
/* ACE11C 80056F7C AFB00018 */ sw $s0, 0x18($sp)
/* ACE120 80056F80 8482015E */ lh $v0, 0x15e($a0)
/* ACE124 80056F84 00808025 */ move $s0, $a0
/* ACE128 80056F88 2401000A */ li $at, 10
/* ACE12C 80056F8C 5040000A */ beql $v0, $zero, .L80056FB8
/* ACE130 80056F90 860F0142 */ lh $t7, 0x142($s0)
/* ACE134 80056F94 10410007 */ beq $v0, $at, .L80056FB4
/* ACE138 80056F98 24010014 */ li $at, 20
/* ACE13C 80056F9C 10410005 */ beq $v0, $at, .L80056FB4
/* ACE140 80056FA0 3C0E8016 */ lui $t6, %hi(gGameInfo) # $t6, 0x8016
/* ACE144 80056FA4 8DCEFA90 */ lw $t6, %lo(gGameInfo)($t6)
/* ACE148 80056FA8 85C20314 */ lh $v0, 0x314($t6)
/* ACE14C 80056FAC 1040000F */ beqz $v0, .L80056FEC
/* ACE150 80056FB0 00000000 */ nop
.L80056FB4:
/* ACE154 80056FB4 860F0142 */ lh $t7, 0x142($s0)
.L80056FB8:
/* ACE158 80056FB8 3C198012 */ lui $t9, %hi(D_8011D068)
/* ACE15C 80056FBC 860B0144 */ lh $t3, 0x144($s0)
/* ACE160 80056FC0 000FC0C0 */ sll $t8, $t7, 3
/* ACE164 80056FC4 0338C821 */ addu $t9, $t9, $t8
/* ACE168 80056FC8 8F39D068 */ lw $t9, %lo(D_8011D068)($t9)
/* ACE16C 80056FCC 000B60C0 */ sll $t4, $t3, 3
/* ACE170 80056FD0 3C0F8016 */ lui $t7, %hi(gGameInfo) # $t7, 0x8016
/* ACE174 80056FD4 032C6821 */ addu $t5, $t9, $t4
/* ACE178 80056FD8 8DA30004 */ lw $v1, 4($t5)
/* ACE17C 80056FDC 846E0000 */ lh $t6, ($v1)
/* ACE180 80056FE0 A60E0000 */ sh $t6, ($s0)
/* ACE184 80056FE4 8DEFFA90 */ lw $t7, %lo(gGameInfo)($t7)
/* ACE188 80056FE8 85E20314 */ lh $v0, 0x314($t7)
.L80056FEC:
/* ACE18C 80056FEC 50400004 */ beql $v0, $zero, .L80057000
/* ACE190 80056FF0 2611005C */ addiu $s1, $s0, 0x5c
/* ACE194 80056FF4 0C011495 */ jal func_80045254
/* ACE198 80056FF8 02002025 */ move $a0, $s0
/* ACE19C 80056FFC 2611005C */ addiu $s1, $s0, 0x5c
.L80057000:
/* ACE1A0 80057000 26120050 */ addiu $s2, $s0, 0x50
/* ACE1A4 80057004 02403025 */ move $a2, $s2
/* ACE1A8 80057008 02202825 */ move $a1, $s1
/* ACE1AC 8005700C 0C01F124 */ jal func_8007C490
/* ACE1B0 80057010 27A40074 */ addiu $a0, $sp, 0x74
/* ACE1B4 80057014 0C0111DB */ jal func_8004476C
/* ACE1B8 80057018 02002025 */ move $a0, $s0
/* ACE1BC 8005701C 27A400A0 */ addiu $a0, $sp, 0xa0
/* ACE1C0 80057020 00402825 */ move $a1, $v0
/* ACE1C4 80057024 0C010EF1 */ jal func_80043BC4
/* ACE1C8 80057028 AFA2006C */ sw $v0, 0x6c($sp)
/* ACE1CC 8005702C 8FA3006C */ lw $v1, 0x6c($sp)
/* ACE1D0 80057030 27B80064 */ addiu $t8, $sp, 0x64
/* ACE1D4 80057034 2401FFFF */ li $at, -1
/* ACE1D8 80057038 88790006 */ lwl $t9, 6($v1)
/* ACE1DC 8005703C 98790009 */ lwr $t9, 9($v1)
/* ACE1E0 80057040 26040074 */ addiu $a0, $s0, 0x74
/* ACE1E4 80057044 3C098012 */ lui $t1, %hi(D_8011D3A0) # $t1, 0x8012
/* ACE1E8 80057048 AF190000 */ sw $t9, ($t8)
/* ACE1EC 8005704C 9479000A */ lhu $t9, 0xa($v1)
/* ACE1F0 80057050 A7190004 */ sh $t9, 4($t8)
/* ACE1F4 80057054 8468000C */ lh $t0, 0xc($v1)
/* ACE1F8 80057058 55010003 */ bnel $t0, $at, .L80057068
/* ACE1FC 8005705C 29010169 */ slti $at, $t0, 0x169
/* ACE200 80057060 24081770 */ li $t0, 6000
/* ACE204 80057064 29010169 */ slti $at, $t0, 0x169
.L80057068:
/* ACE208 80057068 10200008 */ beqz $at, .L8005708C
/* ACE20C 8005706C 01000821 */ addu $at, $t0, $zero
/* ACE210 80057070 00084080 */ sll $t0, $t0, 2
/* ACE214 80057074 01014023 */ subu $t0, $t0, $at
/* ACE218 80057078 000840C0 */ sll $t0, $t0, 3
/* ACE21C 8005707C 01014021 */ addu $t0, $t0, $at
/* ACE220 80057080 00084080 */ sll $t0, $t0, 2
/* ACE224 80057084 00084400 */ sll $t0, $t0, 0x10
/* ACE228 80057088 00084403 */ sra $t0, $t0, 0x10
.L8005708C:
/* ACE22C 8005708C 860C0000 */ lh $t4, ($s0)
/* ACE230 80057090 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012
/* ACE234 80057094 C7A400A0 */ lwc1 $f4, 0xa0($sp)
/* ACE238 80057098 AC2CD3A0 */ sw $t4, %lo(D_8011D3A0)($at)
/* ACE23C 8005709C C4860000 */ lwc1 $f6, ($a0)
/* ACE240 800570A0 C7A800A4 */ lwc1 $f8, 0xa4($sp)
/* ACE244 800570A4 46062032 */ c.eq.s $f4, $f6
/* ACE248 800570A8 00000000 */ nop
/* ACE24C 800570AC 45020010 */ bc1fl .L800570F0
/* ACE250 800570B0 8E0F0090 */ lw $t7, 0x90($s0)
/* ACE254 800570B4 C48A0004 */ lwc1 $f10, 4($a0)
/* ACE258 800570B8 C7A400A8 */ lwc1 $f4, 0xa8($sp)
/* ACE25C 800570BC 460A4032 */ c.eq.s $f8, $f10
/* ACE260 800570C0 00000000 */ nop
/* ACE264 800570C4 4502000A */ bc1fl .L800570F0
/* ACE268 800570C8 8E0F0090 */ lw $t7, 0x90($s0)
/* ACE26C 800570CC C4860008 */ lwc1 $f6, 8($a0)
/* ACE270 800570D0 46062032 */ c.eq.s $f4, $f6
/* ACE274 800570D4 00000000 */ nop
/* ACE278 800570D8 45020005 */ bc1fl .L800570F0
/* ACE27C 800570DC 8E0F0090 */ lw $t7, 0x90($s0)
/* ACE280 800570E0 860D015E */ lh $t5, 0x15e($s0)
/* ACE284 800570E4 55A0001A */ bnezl $t5, .L80057150
/* ACE288 800570E8 26030004 */ addiu $v1, $s0, 4
/* ACE28C 800570EC 8E0F0090 */ lw $t7, 0x90($s0)
.L800570F0:
/* ACE290 800570F0 240E000C */ li $t6, 12
/* ACE294 800570F4 2529D3A0 */ addiu $t1, %lo(D_8011D3A0) # addiu $t1, $t1, -0x2c60
/* ACE298 800570F8 A5EE0110 */ sh $t6, 0x110($t7)
/* ACE29C 800570FC 8D380000 */ lw $t8, ($t1)
/* ACE2A0 80057100 26030004 */ addiu $v1, $s0, 4
/* ACE2A4 80057104 240C000C */ li $t4, 12
/* ACE2A8 80057108 330BF0FF */ andi $t3, $t8, 0xf0ff
/* ACE2AC 8005710C 35790300 */ ori $t9, $t3, 0x300
/* ACE2B0 80057110 AD390000 */ sw $t9, ($t1)
/* ACE2B4 80057114 C6080098 */ lwc1 $f8, 0x98($s0)
/* ACE2B8 80057118 A46C0004 */ sh $t4, 4($v1)
/* ACE2BC 8005711C 27AD00A0 */ addiu $t5, $sp, 0xa0
/* ACE2C0 80057120 E4680000 */ swc1 $f8, ($v1)
/* ACE2C4 80057124 8DAF0000 */ lw $t7, ($t5)
/* ACE2C8 80057128 AC8F0000 */ sw $t7, ($a0)
/* ACE2CC 8005712C 8DAE0004 */ lw $t6, 4($t5)
/* ACE2D0 80057130 AC8E0004 */ sw $t6, 4($a0)
/* ACE2D4 80057134 8DAF0008 */ lw $t7, 8($t5)
/* ACE2D8 80057138 AC8F0008 */ sw $t7, 8($a0)
/* ACE2DC 8005713C 8602015E */ lh $v0, 0x15e($s0)
/* ACE2E0 80057140 14400002 */ bnez $v0, .L8005714C
/* ACE2E4 80057144 24580001 */ addiu $t8, $v0, 1
/* ACE2E8 80057148 A618015E */ sh $t8, 0x15e($s0)
.L8005714C:
/* ACE2EC 8005714C 26030004 */ addiu $v1, $s0, 4
.L80057150:
/* ACE2F0 80057150 84650004 */ lh $a1, 4($v1)
/* ACE2F4 80057154 3C098012 */ lui $t1, %hi(D_8011D3A0)
/* ACE2F8 80057158 2529D3A0 */ addiu $t1, %lo(D_8011D3A0) # addiu $t1, $t1, -0x2c60
/* ACE2FC 8005715C 18A00077 */ blez $a1, .L8005733C
/* ACE300 80057160 26020094 */ addiu $v0, $s0, 0x94
/* ACE304 80057164 44855000 */ mtc1 $a1, $f10
/* ACE308 80057168 27AA0094 */ addiu $t2, $sp, 0x94
/* ACE30C 8005716C 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* ACE310 80057170 46805120 */ cvt.s.w $f4, $f10
/* ACE314 80057174 44810000 */ mtc1 $at, $f0
/* ACE318 80057178 3C018014 */ lui $at, %hi(D_8013A3C4)
/* ACE31C 8005717C 27AC0088 */ addiu $t4, $sp, 0x88
/* ACE320 80057180 3C073C23 */ lui $a3, (0x3C23D70A >> 16) # lui $a3, 0x3c23
/* ACE324 80057184 44060000 */ mfc1 $a2, $f0
/* ACE328 80057188 E7A40058 */ swc1 $f4, 0x58($sp)
/* ACE32C 8005718C 8C990000 */ lw $t9, ($a0)
/* ACE330 80057190 34E7D70A */ ori $a3, (0x3C23D70A & 0xFFFF) # ori $a3, $a3, 0xd70a
/* ACE334 80057194 AD590000 */ sw $t9, ($t2)
/* ACE338 80057198 8C8B0004 */ lw $t3, 4($a0)
/* ACE33C 8005719C AD4B0004 */ sw $t3, 4($t2)
/* ACE340 800571A0 8C990008 */ lw $t9, 8($a0)
/* ACE344 800571A4 AD590008 */ sw $t9, 8($t2)
/* ACE348 800571A8 C7A80094 */ lwc1 $f8, 0x94($sp)
/* ACE34C 800571AC C4460000 */ lwc1 $f6, ($v0)
/* ACE350 800571B0 46083281 */ sub.s $f10, $f6, $f8
/* ACE354 800571B4 46005102 */ mul.s $f4, $f10, $f0
/* ACE358 800571B8 46044180 */ add.s $f6, $f8, $f4
/* ACE35C 800571BC E7A60094 */ swc1 $f6, 0x94($sp)
/* ACE360 800571C0 C4680000 */ lwc1 $f8, ($v1)
/* ACE364 800571C4 C44A0004 */ lwc1 $f10, 4($v0)
/* ACE368 800571C8 C426A3C4 */ lwc1 $f6, %lo(D_8013A3C4)($at)
/* ACE36C 800571CC 46085101 */ sub.s $f4, $f10, $f8
/* ACE370 800571D0 C7A80098 */ lwc1 $f8, 0x98($sp)
/* ACE374 800571D4 46062282 */ mul.s $f10, $f4, $f6
/* ACE378 800571D8 460A4100 */ add.s $f4, $f8, $f10
/* ACE37C 800571DC E7A40098 */ swc1 $f4, 0x98($sp)
/* ACE380 800571E0 8D4E0000 */ lw $t6, ($t2)
/* ACE384 800571E4 AD8E0000 */ sw $t6, ($t4)
/* ACE388 800571E8 8D4D0004 */ lw $t5, 4($t2)
/* ACE38C 800571EC AD8D0004 */ sw $t5, 4($t4)
/* ACE390 800571F0 8D4E0008 */ lw $t6, 8($t2)
/* ACE394 800571F4 AD8E0008 */ sw $t6, 8($t4)
/* ACE398 800571F8 C62E0004 */ lwc1 $f14, 4($s1)
/* ACE39C 800571FC A7A80062 */ sh $t0, 0x62($sp)
/* ACE3A0 80057200 AFA30030 */ sw $v1, 0x30($sp)
/* ACE3A4 80057204 0C010E27 */ jal func_8004389C
/* ACE3A8 80057208 C7AC0098 */ lwc1 $f12, 0x98($sp)
/* ACE3AC 8005720C 87B80064 */ lh $t8, 0x64($sp)
/* ACE3B0 80057210 3C0142C8 */ li $at, 0x42C80000 # 0.000000
/* ACE3B4 80057214 44813000 */ mtc1 $at, $f6
/* ACE3B8 80057218 87AF0066 */ lh $t7, 0x66($sp)
/* ACE3BC 8005721C 00185823 */ negu $t3, $t8
/* ACE3C0 80057220 E7A0008C */ swc1 $f0, 0x8c($sp)
/* ACE3C4 80057224 A7AB00B0 */ sh $t3, 0xb0($sp)
/* ACE3C8 80057228 27A4007C */ addiu $a0, $sp, 0x7c
/* ACE3CC 8005722C 27A50088 */ addiu $a1, $sp, 0x88
/* ACE3D0 80057230 27A600AC */ addiu $a2, $sp, 0xac
/* ACE3D4 80057234 E7A600AC */ swc1 $f6, 0xac($sp)
/* ACE3D8 80057238 0C010F0A */ jal func_80043C28
/* ACE3DC 8005723C A7AF00B2 */ sh $t7, 0xb2($sp)
/* ACE3E0 80057240 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* ACE3E4 80057244 44814000 */ mtc1 $at, $f8
/* ACE3E8 80057248 C7AA0058 */ lwc1 $f10, 0x58($sp)
/* ACE3EC 8005724C C7A40088 */ lwc1 $f4, 0x88($sp)
/* ACE3F0 80057250 8FA30030 */ lw $v1, 0x30($sp)
/* ACE3F4 80057254 460A4003 */ div.s $f0, $f8, $f10
/* ACE3F8 80057258 87A80062 */ lh $t0, 0x62($sp)
/* ACE3FC 8005725C 3C018014 */ lui $at, %hi(D_8013A3C8)
/* ACE400 80057260 E7A00054 */ swc1 $f0, 0x54($sp)
/* ACE404 80057264 C62C0000 */ lwc1 $f12, ($s1)
/* ACE408 80057268 C6220004 */ lwc1 $f2, 4($s1)
/* ACE40C 8005726C C62E0008 */ lwc1 $f14, 8($s1)
/* ACE410 80057270 460C2181 */ sub.s $f6, $f4, $f12
/* ACE414 80057274 46003202 */ mul.s $f8, $f6, $f0
/* ACE418 80057278 46086280 */ add.s $f10, $f12, $f8
/* ACE41C 8005727C E62A0000 */ swc1 $f10, ($s1)
/* ACE420 80057280 C7A4008C */ lwc1 $f4, 0x8c($sp)
/* ACE424 80057284 46022181 */ sub.s $f6, $f4, $f2
/* ACE428 80057288 46003202 */ mul.s $f8, $f6, $f0
/* ACE42C 8005728C 46081280 */ add.s $f10, $f2, $f8
/* ACE430 80057290 E62A0004 */ swc1 $f10, 4($s1)
/* ACE434 80057294 C7A40090 */ lwc1 $f4, 0x90($sp)
/* ACE438 80057298 460E2181 */ sub.s $f6, $f4, $f14
/* ACE43C 8005729C 46003202 */ mul.s $f8, $f6, $f0
/* ACE440 800572A0 46087280 */ add.s $f10, $f14, $f8
/* ACE444 800572A4 E62A0008 */ swc1 $f10, 8($s1)
/* ACE448 800572A8 C6500000 */ lwc1 $f16, ($s2)
/* ACE44C 800572AC C7A4007C */ lwc1 $f4, 0x7c($sp)
/* ACE450 800572B0 C6520004 */ lwc1 $f18, 4($s2)
/* ACE454 800572B4 C6420008 */ lwc1 $f2, 8($s2)
/* ACE458 800572B8 46102181 */ sub.s $f6, $f4, $f16
/* ACE45C 800572BC 46003202 */ mul.s $f8, $f6, $f0
/* ACE460 800572C0 46088280 */ add.s $f10, $f16, $f8
/* ACE464 800572C4 E64A0000 */ swc1 $f10, ($s2)
/* ACE468 800572C8 C7A40080 */ lwc1 $f4, 0x80($sp)
/* ACE46C 800572CC 46122181 */ sub.s $f6, $f4, $f18
/* ACE470 800572D0 46003202 */ mul.s $f8, $f6, $f0
/* ACE474 800572D4 46089280 */ add.s $f10, $f18, $f8
/* ACE478 800572D8 E64A0004 */ swc1 $f10, 4($s2)
/* ACE47C 800572DC C7A40084 */ lwc1 $f4, 0x84($sp)
/* ACE480 800572E0 C7A80054 */ lwc1 $f8, 0x54($sp)
/* ACE484 800572E4 46022181 */ sub.s $f6, $f4, $f2
/* ACE488 800572E8 46083282 */ mul.s $f10, $f6, $f8
/* ACE48C 800572EC 44883000 */ mtc1 $t0, $f6
/* ACE490 800572F0 00000000 */ nop
/* ACE494 800572F4 46803220 */ cvt.s.w $f8, $f6
/* ACE498 800572F8 460A1100 */ add.s $f4, $f2, $f10
/* ACE49C 800572FC E6440008 */ swc1 $f4, 8($s2)
/* ACE4A0 80057300 C42AA3C8 */ lwc1 $f10, %lo(D_8013A3C8)($at)
/* ACE4A4 80057304 84790004 */ lh $t9, 4($v1)
/* ACE4A8 80057308 C60000FC */ lwc1 $f0, 0xfc($s0)
/* ACE4AC 8005730C 460A4102 */ mul.s $f4, $f8, $f10
/* ACE4B0 80057310 44994000 */ mtc1 $t9, $f8
/* ACE4B4 80057314 00000000 */ nop
/* ACE4B8 80057318 468042A0 */ cvt.s.w $f10, $f8
/* ACE4BC 8005731C 46002181 */ sub.s $f6, $f4, $f0
/* ACE4C0 80057320 460A3103 */ div.s $f4, $f6, $f10
/* ACE4C4 80057324 46040200 */ add.s $f8, $f0, $f4
/* ACE4C8 80057328 E60800FC */ swc1 $f8, 0xfc($s0)
/* ACE4CC 8005732C 846C0004 */ lh $t4, 4($v1)
/* ACE4D0 80057330 258DFFFF */ addiu $t5, $t4, -1
/* ACE4D4 80057334 10000035 */ b .L8005740C
/* ACE4D8 80057338 A46D0004 */ sh $t5, 4($v1)
.L8005733C:
/* ACE4DC 8005733C 8D2E0000 */ lw $t6, ($t1)
/* ACE4E0 80057340 27AA0094 */ addiu $t2, $sp, 0x94
/* ACE4E4 80057344 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* ACE4E8 80057348 31CFF0FF */ andi $t7, $t6, 0xf0ff
/* ACE4EC 8005734C AD2F0000 */ sw $t7, ($t1)
/* ACE4F0 80057350 8C8B0000 */ lw $t3, ($a0)
/* ACE4F4 80057354 44810000 */ mtc1 $at, $f0
/* ACE4F8 80057358 3C018014 */ lui $at, %hi(D_8013A3CC)
/* ACE4FC 8005735C AD4B0000 */ sw $t3, ($t2)
/* ACE500 80057360 8C980004 */ lw $t8, 4($a0)
/* ACE504 80057364 3C073C23 */ lui $a3, (0x3C23D70A >> 16) # lui $a3, 0x3c23
/* ACE508 80057368 44060000 */ mfc1 $a2, $f0
/* ACE50C 8005736C AD580004 */ sw $t8, 4($t2)
/* ACE510 80057370 8C8B0008 */ lw $t3, 8($a0)
/* ACE514 80057374 34E7D70A */ ori $a3, (0x3C23D70A & 0xFFFF) # ori $a3, $a3, 0xd70a
/* ACE518 80057378 AD4B0008 */ sw $t3, 8($t2)
/* ACE51C 8005737C C7AA0094 */ lwc1 $f10, 0x94($sp)
/* ACE520 80057380 C4460000 */ lwc1 $f6, ($v0)
/* ACE524 80057384 460A3101 */ sub.s $f4, $f6, $f10
/* ACE528 80057388 46002202 */ mul.s $f8, $f4, $f0
/* ACE52C 8005738C 46085180 */ add.s $f6, $f10, $f8
/* ACE530 80057390 E7A60094 */ swc1 $f6, 0x94($sp)
/* ACE534 80057394 C46A0000 */ lwc1 $f10, ($v1)
/* ACE538 80057398 C4440004 */ lwc1 $f4, 4($v0)
/* ACE53C 8005739C C426A3CC */ lwc1 $f6, %lo(D_8013A3CC)($at)
/* ACE540 800573A0 460A2201 */ sub.s $f8, $f4, $f10
/* ACE544 800573A4 C7AA0098 */ lwc1 $f10, 0x98($sp)
/* ACE548 800573A8 46064102 */ mul.s $f4, $f8, $f6
/* ACE54C 800573AC 46045200 */ add.s $f8, $f10, $f4
/* ACE550 800573B0 E7A80098 */ swc1 $f8, 0x98($sp)
/* ACE554 800573B4 8D4C0000 */ lw $t4, ($t2)
/* ACE558 800573B8 AE2C0000 */ sw $t4, ($s1)
/* ACE55C 800573BC 8D590004 */ lw $t9, 4($t2)
/* ACE560 800573C0 AE390004 */ sw $t9, 4($s1)
/* ACE564 800573C4 8D4C0008 */ lw $t4, 8($t2)
/* ACE568 800573C8 C62E0004 */ lwc1 $f14, 4($s1)
/* ACE56C 800573CC AE2C0008 */ sw $t4, 8($s1)
/* ACE570 800573D0 0C010E27 */ jal func_8004389C
/* ACE574 800573D4 C7AC0098 */ lwc1 $f12, 0x98($sp)
/* ACE578 800573D8 E6200004 */ swc1 $f0, 4($s1)
/* ACE57C 800573DC 87AE0064 */ lh $t6, 0x64($sp)
/* ACE580 800573E0 3C0142C8 */ li $at, 0x42C80000 # 0.000000
/* ACE584 800573E4 44813000 */ mtc1 $at, $f6
/* ACE588 800573E8 87AD0066 */ lh $t5, 0x66($sp)
/* ACE58C 800573EC 000E7823 */ negu $t7, $t6
/* ACE590 800573F0 A7AF00B0 */ sh $t7, 0xb0($sp)
/* ACE594 800573F4 02402025 */ move $a0, $s2
/* ACE598 800573F8 02202825 */ move $a1, $s1
/* ACE59C 800573FC 27A600AC */ addiu $a2, $sp, 0xac
/* ACE5A0 80057400 E7A600AC */ swc1 $f6, 0xac($sp)
/* ACE5A4 80057404 0C010F0A */ jal func_80043C28
/* ACE5A8 80057408 A7AD00B2 */ sh $t5, 0xb2($sp)
.L8005740C:
/* ACE5AC 8005740C 8FBF0024 */ lw $ra, 0x24($sp)
/* ACE5B0 80057410 8FB00018 */ lw $s0, 0x18($sp)
/* ACE5B4 80057414 8FB1001C */ lw $s1, 0x1c($sp)
/* ACE5B8 80057418 8FB20020 */ lw $s2, 0x20($sp)
/* ACE5BC 8005741C 27BD00C0 */ addiu $sp, $sp, 0xc0
/* ACE5C0 80057420 03E00008 */ jr $ra
/* ACE5C4 80057424 24020001 */ li $v0, 1

View file

@ -0,0 +1,509 @@
.late_rodata
glabel D_8013A3D0
.float 0.01
glabel jtbl_8013A3D4
.word L8005763C
.word L80057694
.word L80057878
.word L80057910
.word L80057A38
glabel D_8013A3E8
.float 0.1
glabel D_8013A3EC
.float 0.1
glabel D_8013A3F0
.float 0.001
.text
glabel func_80057448
/* ACE5E8 80057448 27BDFF38 */ addiu $sp, $sp, -0xc8
/* ACE5EC 8005744C AFB00020 */ sw $s0, 0x20($sp)
/* ACE5F0 80057450 00808025 */ move $s0, $a0
/* ACE5F4 80057454 AFBF0024 */ sw $ra, 0x24($sp)
/* ACE5F8 80057458 0C00B721 */ jal Player_GetCameraYOffset
/* ACE5FC 8005745C 8C840090 */ lw $a0, 0x90($a0)
/* ACE600 80057460 3C018014 */ lui $at, %hi(D_8013A3D0)
/* ACE604 80057464 C42CA3D0 */ lwc1 $f12, %lo(D_8013A3D0)($at)
/* ACE608 80057468 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* ACE60C 8005746C 44814000 */ mtc1 $at, $f8
/* ACE610 80057470 E7A00098 */ swc1 $f0, 0x98($sp)
/* ACE614 80057474 860E014C */ lh $t6, 0x14c($s0)
/* ACE618 80057478 3C014288 */ li $at, 0x42880000 # 0.000000
/* ACE61C 8005747C 44818000 */ mtc1 $at, $f16
/* ACE620 80057480 31CFFFEF */ andi $t7, $t6, 0xffef
/* ACE624 80057484 A60F014C */ sh $t7, 0x14c($s0)
/* ACE628 80057488 46008483 */ div.s $f18, $f16, $f0
/* ACE62C 8005748C 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016
/* ACE630 80057490 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0)
/* ACE634 80057494 2401000A */ li $at, 10
/* ACE638 80057498 845801F0 */ lh $t8, 0x1f0($v0)
/* ACE63C 8005749C 44982000 */ mtc1 $t8, $f4
/* ACE640 800574A0 00000000 */ nop
/* ACE644 800574A4 468021A0 */ cvt.s.w $f6, $f4
/* ACE648 800574A8 460C3082 */ mul.s $f2, $f6, $f12
/* ACE64C 800574AC 00000000 */ nop
/* ACE650 800574B0 46121102 */ mul.s $f4, $f2, $f18
/* ACE654 800574B4 46024280 */ add.s $f10, $f8, $f2
/* ACE658 800574B8 46045181 */ sub.s $f6, $f10, $f4
/* ACE65C 800574BC E7A60078 */ swc1 $f6, 0x78($sp)
/* ACE660 800574C0 8603015E */ lh $v1, 0x15e($s0)
/* ACE664 800574C4 10600008 */ beqz $v1, .L800574E8
/* ACE668 800574C8 00000000 */ nop
/* ACE66C 800574CC 10610006 */ beq $v1, $at, .L800574E8
/* ACE670 800574D0 24010014 */ li $at, 20
/* ACE674 800574D4 50610005 */ beql $v1, $at, .L800574EC
/* ACE678 800574D8 86190142 */ lh $t9, 0x142($s0)
/* ACE67C 800574DC 84430314 */ lh $v1, 0x314($v0)
/* ACE680 800574E0 50600022 */ beql $v1, $zero, .L8005756C
/* ACE684 800574E4 260C000C */ addiu $t4, $s0, 0xc
.L800574E8:
/* ACE688 800574E8 86190142 */ lh $t9, 0x142($s0)
.L800574EC:
/* ACE68C 800574EC 3C0C8012 */ lui $t4, %hi(D_8011D068)
/* ACE690 800574F0 860D0144 */ lh $t5, 0x144($s0)
/* ACE694 800574F4 001958C0 */ sll $t3, $t9, 3
/* ACE698 800574F8 018B6021 */ addu $t4, $t4, $t3
/* ACE69C 800574FC 8D8CD068 */ lw $t4, %lo(D_8011D068)($t4)
/* ACE6A0 80057500 000D70C0 */ sll $t6, $t5, 3
/* ACE6A4 80057504 C7A40078 */ lwc1 $f4, 0x78($sp)
/* ACE6A8 80057508 018E7821 */ addu $t7, $t4, $t6
/* ACE6AC 8005750C 8DE20004 */ lw $v0, 4($t7)
/* ACE6B0 80057510 2604000C */ addiu $a0, $s0, 0xc
/* ACE6B4 80057514 3C0D8016 */ lui $t5, %hi(gGameInfo) # $t5, 0x8016
/* ACE6B8 80057518 84580000 */ lh $t8, ($v0)
/* ACE6BC 8005751C 24420008 */ addiu $v0, $v0, 8
/* ACE6C0 80057520 44984000 */ mtc1 $t8, $f8
/* ACE6C4 80057524 00000000 */ nop
/* ACE6C8 80057528 46804420 */ cvt.s.w $f16, $f8
/* ACE6CC 8005752C 460C8482 */ mul.s $f18, $f16, $f12
/* ACE6D0 80057530 00000000 */ nop
/* ACE6D4 80057534 46009282 */ mul.s $f10, $f18, $f0
/* ACE6D8 80057538 00000000 */ nop
/* ACE6DC 8005753C 46045182 */ mul.s $f6, $f10, $f4
/* ACE6E0 80057540 E4860000 */ swc1 $f6, ($a0)
/* ACE6E4 80057544 8459FFFC */ lh $t9, -4($v0)
/* ACE6E8 80057548 44994000 */ mtc1 $t9, $f8
/* ACE6EC 8005754C 00000000 */ nop
/* ACE6F0 80057550 46804420 */ cvt.s.w $f16, $f8
/* ACE6F4 80057554 E4900004 */ swc1 $f16, 4($a0)
/* ACE6F8 80057558 844B0000 */ lh $t3, ($v0)
/* ACE6FC 8005755C A48B0008 */ sh $t3, 8($a0)
/* ACE700 80057560 8DADFA90 */ lw $t5, %lo(gGameInfo)($t5)
/* ACE704 80057564 85A30314 */ lh $v1, 0x314($t5)
/* ACE708 80057568 260C000C */ addiu $t4, $s0, 0xc
.L8005756C:
/* ACE70C 8005756C 10600003 */ beqz $v1, .L8005757C
/* ACE710 80057570 AFAC0038 */ sw $t4, 0x38($sp)
/* ACE714 80057574 0C011495 */ jal func_80045254
/* ACE718 80057578 02002025 */ move $a0, $s0
.L8005757C:
/* ACE71C 8005757C 8E050000 */ lw $a1, ($s0)
/* ACE720 80057580 26020094 */ addiu $v0, $s0, 0x94
/* ACE724 80057584 50A00007 */ beql $a1, $zero, .L800575A4
/* ACE728 80057588 8C590000 */ lw $t9, ($v0)
/* ACE72C 8005758C 0C00BBD1 */ jal func_8002EF44
/* ACE730 80057590 27A4007C */ addiu $a0, $sp, 0x7c
/* ACE734 80057594 260E0094 */ addiu $t6, $s0, 0x94
/* ACE738 80057598 10000015 */ b .L800575F0
/* ACE73C 8005759C AFAE003C */ sw $t6, 0x3c($sp)
/* ACE740 800575A0 8C590000 */ lw $t9, ($v0)
.L800575A4:
/* ACE744 800575A4 27AF007C */ addiu $t7, $sp, 0x7c
/* ACE748 800575A8 ADF90000 */ sw $t9, ($t7)
/* ACE74C 800575AC 8C580004 */ lw $t8, 4($v0)
/* ACE750 800575B0 ADF80004 */ sw $t8, 4($t7)
/* ACE754 800575B4 8C590008 */ lw $t9, 8($v0)
/* ACE758 800575B8 ADF90008 */ sw $t9, 8($t7)
/* ACE75C 800575BC 8C58000C */ lw $t8, 0xc($v0)
/* ACE760 800575C0 ADF8000C */ sw $t8, 0xc($t7)
/* ACE764 800575C4 8C590010 */ lw $t9, 0x10($v0)
/* ACE768 800575C8 ADF90010 */ sw $t9, 0x10($t7)
/* ACE76C 800575CC 8FAB0038 */ lw $t3, 0x38($sp)
/* ACE770 800575D0 C7B20098 */ lwc1 $f18, 0x98($sp)
/* ACE774 800575D4 C7A60080 */ lwc1 $f6, 0x80($sp)
/* ACE778 800575D8 C56A0000 */ lwc1 $f10, ($t3)
/* ACE77C 800575DC AFA2003C */ sw $v0, 0x3c($sp)
/* ACE780 800575E0 A7A00088 */ sh $zero, 0x88($sp)
/* ACE784 800575E4 460A9100 */ add.s $f4, $f18, $f10
/* ACE788 800575E8 46043200 */ add.s $f8, $f6, $f4
/* ACE78C 800575EC E7A80080 */ swc1 $f8, 0x80($sp)
.L800575F0:
/* ACE790 800575F0 26050050 */ addiu $a1, $s0, 0x50
/* ACE794 800575F4 2606005C */ addiu $a2, $s0, 0x5c
/* ACE798 800575F8 AFA60048 */ sw $a2, 0x48($sp)
/* ACE79C 800575FC AFA50044 */ sw $a1, 0x44($sp)
/* ACE7A0 80057600 0C01F124 */ jal func_8007C490
/* ACE7A4 80057604 27A4009C */ addiu $a0, $sp, 0x9c
/* ACE7A8 80057608 8FAA0038 */ lw $t2, 0x38($sp)
/* ACE7AC 8005760C 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012
/* ACE7B0 80057610 854D0008 */ lh $t5, 8($t2)
/* ACE7B4 80057614 AC2DD3A0 */ sw $t5, %lo(D_8011D3A0)($at)
/* ACE7B8 80057618 8603015E */ lh $v1, 0x15e($s0)
/* ACE7BC 8005761C 2C610005 */ sltiu $at, $v1, 5
/* ACE7C0 80057620 10200107 */ beqz $at, .L80057A40
/* ACE7C4 80057624 00036080 */ sll $t4, $v1, 2
/* ACE7C8 80057628 3C018014 */ lui $at, %hi(jtbl_8013A3D4)
/* ACE7CC 8005762C 002C0821 */ addu $at, $at, $t4
/* ACE7D0 80057630 8C2CA3D4 */ lw $t4, %lo(jtbl_8013A3D4)($at)
/* ACE7D4 80057634 01800008 */ jr $t4
/* ACE7D8 80057638 00000000 */ nop
glabel L8005763C
/* ACE7DC 8005763C 860E014C */ lh $t6, 0x14c($s0)
/* ACE7E0 80057640 24780001 */ addiu $t8, $v1, 1
/* ACE7E4 80057644 A618015E */ sh $t8, 0x15e($s0)
/* ACE7E8 80057648 31CFFFF9 */ andi $t7, $t6, 0xfff9
/* ACE7EC 8005764C A60F014C */ sh $t7, 0x14c($s0)
/* ACE7F0 80057650 8FB9003C */ lw $t9, 0x3c($sp)
/* ACE7F4 80057654 87AD008A */ lh $t5, 0x8a($sp)
/* ACE7F8 80057658 87AC008A */ lh $t4, 0x8a($sp)
/* ACE7FC 8005765C 872B000E */ lh $t3, 0xe($t9)
/* ACE800 80057660 87AF008A */ lh $t7, 0x8a($sp)
/* ACE804 80057664 258E8001 */ addiu $t6, $t4, -0x7fff
/* ACE808 80057668 016D1023 */ subu $v0, $t3, $t5
/* ACE80C 8005766C 04400003 */ bltz $v0, .L8005767C
/* ACE810 80057670 00023823 */ negu $a3, $v0
/* ACE814 80057674 10000001 */ b .L8005767C
/* ACE818 80057678 00403825 */ move $a3, $v0
.L8005767C:
/* ACE81C 8005767C 28E14000 */ slti $at, $a3, 0x4000
/* ACE820 80057680 54200004 */ bnezl $at, .L80057694
/* ACE824 80057684 A60F0018 */ sh $t7, 0x18($s0)
/* ACE828 80057688 10000002 */ b .L80057694
/* ACE82C 8005768C A60E0018 */ sh $t6, 0x18($s0)
/* ACE830 80057690 A60F0018 */ sh $t7, 0x18($s0)
.L80057694:
glabel L80057694
/* ACE834 80057694 86180006 */ lh $t8, 6($s0)
/* ACE838 80057698 2719FFFF */ addiu $t9, $t8, -1
/* ACE83C 8005769C A6190006 */ sh $t9, 6($s0)
/* ACE840 800576A0 860B0006 */ lh $t3, 6($s0)
/* ACE844 800576A4 5D60011B */ bgtzl $t3, .L80057B14
/* ACE848 800576A8 8FB9003C */ lw $t9, 0x3c($sp)
/* ACE84C 800576AC 860D015E */ lh $t5, 0x15e($s0)
/* ACE850 800576B0 25AC0001 */ addiu $t4, $t5, 1
/* ACE854 800576B4 A60C015E */ sh $t4, 0x15e($s0)
/* ACE858 800576B8 854E0008 */ lh $t6, 8($t2)
/* ACE85C 800576BC 31CF0001 */ andi $t7, $t6, 1
/* ACE860 800576C0 51E0001F */ beql $t7, $zero, .L80057740
/* ACE864 800576C4 240B0E38 */ li $t3, 3640
/* ACE868 800576C8 0C0111DB */ jal func_8004476C
/* ACE86C 800576CC 02002025 */ move $a0, $s0
/* ACE870 800576D0 26040074 */ addiu $a0, $s0, 0x74
/* ACE874 800576D4 AFA40040 */ sw $a0, 0x40($sp)
/* ACE878 800576D8 0C010EF1 */ jal func_80043BC4
/* ACE87C 800576DC 00402825 */ move $a1, $v0
/* ACE880 800576E0 8FB80040 */ lw $t8, 0x40($sp)
/* ACE884 800576E4 27A7004C */ addiu $a3, $sp, 0x4c
/* ACE888 800576E8 27AF00AC */ addiu $t7, $sp, 0xac
/* ACE88C 800576EC 8F0B0000 */ lw $t3, ($t8)
/* ACE890 800576F0 ACEB0000 */ sw $t3, ($a3)
/* ACE894 800576F4 8F190004 */ lw $t9, 4($t8)
/* ACE898 800576F8 8CEE0000 */ lw $t6, ($a3)
/* ACE89C 800576FC ACF90004 */ sw $t9, 4($a3)
/* ACE8A0 80057700 8F0B0008 */ lw $t3, 8($t8)
/* ACE8A4 80057704 ACEB0008 */ sw $t3, 8($a3)
/* ACE8A8 80057708 8FAD0048 */ lw $t5, 0x48($sp)
/* ACE8AC 8005770C ADAE0000 */ sw $t6, ($t5)
/* ACE8B0 80057710 8CEC0004 */ lw $t4, 4($a3)
/* ACE8B4 80057714 ADAC0004 */ sw $t4, 4($t5)
/* ACE8B8 80057718 8CEE0008 */ lw $t6, 8($a3)
/* ACE8BC 8005771C ADAE0008 */ sw $t6, 8($t5)
/* ACE8C0 80057720 8CF90000 */ lw $t9, ($a3)
/* ACE8C4 80057724 ADF90000 */ sw $t9, ($t7)
/* ACE8C8 80057728 8CF80004 */ lw $t8, 4($a3)
/* ACE8CC 8005772C ADF80004 */ sw $t8, 4($t7)
/* ACE8D0 80057730 8CF90008 */ lw $t9, 8($a3)
/* ACE8D4 80057734 1000004F */ b .L80057874
/* ACE8D8 80057738 ADF90008 */ sw $t9, 8($t7)
/* ACE8DC 8005773C 240B0E38 */ li $t3, 3640
.L80057740:
/* ACE8E0 80057740 A7AB00A8 */ sh $t3, 0xa8($sp)
/* ACE8E4 80057744 8E0D008C */ lw $t5, 0x8c($s0)
/* ACE8E8 80057748 26030018 */ addiu $v1, $s0, 0x18
/* ACE8EC 8005774C 24010AAA */ li $at, 2730
/* ACE8F0 80057750 8DAC009C */ lw $t4, 0x9c($t5)
/* ACE8F4 80057754 26040074 */ addiu $a0, $s0, 0x74
/* ACE8F8 80057758 318E0001 */ andi $t6, $t4, 1
/* ACE8FC 8005775C 51C00004 */ beql $t6, $zero, .L80057770
/* ACE900 80057760 2407FFFF */ li $a3, -1
/* ACE904 80057764 10000002 */ b .L80057770
/* ACE908 80057768 24070001 */ li $a3, 1
/* ACE90C 8005776C 2407FFFF */ li $a3, -1
.L80057770:
/* ACE910 80057770 00E10019 */ multu $a3, $at
/* ACE914 80057774 3C014348 */ li $at, 0x43480000 # 0.000000
/* ACE918 80057778 44818000 */ mtc1 $at, $f16
/* ACE91C 8005777C C7B20078 */ lwc1 $f18, 0x78($sp)
/* ACE920 80057780 846F0000 */ lh $t7, ($v1)
/* ACE924 80057784 AFA40040 */ sw $a0, 0x40($sp)
/* ACE928 80057788 46128282 */ mul.s $f10, $f16, $f18
/* ACE92C 8005778C AFA30034 */ sw $v1, 0x34($sp)
/* ACE930 80057790 8FA50044 */ lw $a1, 0x44($sp)
/* ACE934 80057794 27A600A4 */ addiu $a2, $sp, 0xa4
/* ACE938 80057798 00001012 */ mflo $v0
/* ACE93C 8005779C 00024C00 */ sll $t1, $v0, 0x10
/* ACE940 800577A0 00094C03 */ sra $t1, $t1, 0x10
/* ACE944 800577A4 01E9C021 */ addu $t8, $t7, $t1
/* ACE948 800577A8 A7B800AA */ sh $t8, 0xaa($sp)
/* ACE94C 800577AC E7AA00A4 */ swc1 $f10, 0xa4($sp)
/* ACE950 800577B0 0C010F0A */ jal func_80043C28
/* ACE954 800577B4 AFA90030 */ sw $t1, 0x30($sp)
/* ACE958 800577B8 8FB90040 */ lw $t9, 0x40($sp)
/* ACE95C 800577BC 27A7004C */ addiu $a3, $sp, 0x4c
/* ACE960 800577C0 27B800AC */ addiu $t8, $sp, 0xac
/* ACE964 800577C4 8F2D0000 */ lw $t5, ($t9)
/* ACE968 800577C8 02002025 */ move $a0, $s0
/* ACE96C 800577CC 27A500AC */ addiu $a1, $sp, 0xac
/* ACE970 800577D0 ACED0000 */ sw $t5, ($a3)
/* ACE974 800577D4 8F2B0004 */ lw $t3, 4($t9)
/* ACE978 800577D8 8CEF0000 */ lw $t7, ($a3)
/* ACE97C 800577DC ACEB0004 */ sw $t3, 4($a3)
/* ACE980 800577E0 8F2D0008 */ lw $t5, 8($t9)
/* ACE984 800577E4 ACED0008 */ sw $t5, 8($a3)
/* ACE988 800577E8 8FAC0048 */ lw $t4, 0x48($sp)
/* ACE98C 800577EC AD8F0000 */ sw $t7, ($t4)
/* ACE990 800577F0 8CEE0004 */ lw $t6, 4($a3)
/* ACE994 800577F4 AD8E0004 */ sw $t6, 4($t4)
/* ACE998 800577F8 8CEF0008 */ lw $t7, 8($a3)
/* ACE99C 800577FC AD8F0008 */ sw $t7, 8($t4)
/* ACE9A0 80057800 8CEB0000 */ lw $t3, ($a3)
/* ACE9A4 80057804 AF0B0000 */ sw $t3, ($t8)
/* ACE9A8 80057808 8CF90004 */ lw $t9, 4($a3)
/* ACE9AC 8005780C AF190004 */ sw $t9, 4($t8)
/* ACE9B0 80057810 8CEB0008 */ lw $t3, 8($a3)
/* ACE9B4 80057814 AF0B0008 */ sw $t3, 8($t8)
/* ACE9B8 80057818 0C0110E8 */ jal func_800443A0
/* ACE9BC 8005781C 8FA6003C */ lw $a2, 0x3c($sp)
/* ACE9C0 80057820 10400014 */ beqz $v0, .L80057874
/* ACE9C4 80057824 8FA30034 */ lw $v1, 0x34($sp)
/* ACE9C8 80057828 8FA80030 */ lw $t0, 0x30($sp)
/* ACE9CC 8005782C 846D0000 */ lh $t5, ($v1)
/* ACE9D0 80057830 8FA40040 */ lw $a0, 0x40($sp)
/* ACE9D4 80057834 00084023 */ negu $t0, $t0
/* ACE9D8 80057838 00084400 */ sll $t0, $t0, 0x10
/* ACE9DC 8005783C 00084403 */ sra $t0, $t0, 0x10
/* ACE9E0 80057840 01A86021 */ addu $t4, $t5, $t0
/* ACE9E4 80057844 A7AC00AA */ sh $t4, 0xaa($sp)
/* ACE9E8 80057848 8FA50044 */ lw $a1, 0x44($sp)
/* ACE9EC 8005784C 0C010F0A */ jal func_80043C28
/* ACE9F0 80057850 27A600A4 */ addiu $a2, $sp, 0xa4
/* ACE9F4 80057854 8FAF0040 */ lw $t7, 0x40($sp)
/* ACE9F8 80057858 8FAE0048 */ lw $t6, 0x48($sp)
/* ACE9FC 8005785C 8DF90000 */ lw $t9, ($t7)
/* ACEA00 80057860 ADD90000 */ sw $t9, ($t6)
/* ACEA04 80057864 8DF80004 */ lw $t8, 4($t7)
/* ACEA08 80057868 ADD80004 */ sw $t8, 4($t6)
/* ACEA0C 8005786C 8DF90008 */ lw $t9, 8($t7)
/* ACEA10 80057870 ADD90008 */ sw $t9, 8($t6)
.L80057874:
/* ACEA14 80057874 8FAA0038 */ lw $t2, 0x38($sp)
glabel L80057878
/* ACEA18 80057878 8FAD003C */ lw $t5, 0x3c($sp)
/* ACEA1C 8005787C 27AB00AC */ addiu $t3, $sp, 0xac
/* ACEA20 80057880 3C013E80 */ li $at, 0x3E800000 # 0.000000
/* ACEA24 80057884 8DAE0000 */ lw $t6, ($t5)
/* ACEA28 80057888 44810000 */ mtc1 $at, $f0
/* ACEA2C 8005788C 3C018014 */ lui $at, %hi(D_8013A3E8)
/* ACEA30 80057890 AD6E0000 */ sw $t6, ($t3)
/* ACEA34 80057894 8DAC0004 */ lw $t4, 4($t5)
/* ACEA38 80057898 44060000 */ mfc1 $a2, $f0
/* ACEA3C 8005789C 44070000 */ mfc1 $a3, $f0
/* ACEA40 800578A0 AD6C0004 */ sw $t4, 4($t3)
/* ACEA44 800578A4 8DAE0008 */ lw $t6, 8($t5)
/* ACEA48 800578A8 27A400AC */ addiu $a0, $sp, 0xac
/* ACEA4C 800578AC AD6E0008 */ sw $t6, 8($t3)
/* ACEA50 800578B0 C5440000 */ lwc1 $f4, ($t2)
/* ACEA54 800578B4 C7A60098 */ lwc1 $f6, 0x98($sp)
/* ACEA58 800578B8 C7B000B0 */ lwc1 $f16, 0xb0($sp)
/* ACEA5C 800578BC C42AA3E8 */ lwc1 $f10, %lo(D_8013A3E8)($at)
/* ACEA60 800578C0 46043200 */ add.s $f8, $f6, $f4
/* ACEA64 800578C4 8FA50044 */ lw $a1, 0x44($sp)
/* ACEA68 800578C8 E7AA0010 */ swc1 $f10, 0x10($sp)
/* ACEA6C 800578CC 46088480 */ add.s $f18, $f16, $f8
/* ACEA70 800578D0 0C010E8F */ jal func_80043A3C
/* ACEA74 800578D4 E7B200B0 */ swc1 $f18, 0xb0($sp)
/* ACEA78 800578D8 860F0008 */ lh $t7, 8($s0)
/* ACEA7C 800578DC 25F8FFFF */ addiu $t8, $t7, -1
/* ACEA80 800578E0 A6180008 */ sh $t8, 8($s0)
/* ACEA84 800578E4 86190008 */ lh $t9, 8($s0)
/* ACEA88 800578E8 5F20008A */ bgtzl $t9, .L80057B14
/* ACEA8C 800578EC 8FB9003C */ lw $t9, 0x3c($sp)
/* ACEA90 800578F0 860B015E */ lh $t3, 0x15e($s0)
/* ACEA94 800578F4 26030018 */ addiu $v1, $s0, 0x18
/* ACEA98 800578F8 256D0001 */ addiu $t5, $t3, 1
/* ACEA9C 800578FC A60D015E */ sh $t5, 0x15e($s0)
/* ACEAA0 80057900 846C0000 */ lh $t4, ($v1)
/* ACEAA4 80057904 258E8001 */ addiu $t6, $t4, -0x7fff
/* ACEAA8 80057908 A46E0000 */ sh $t6, ($v1)
/* ACEAAC 8005790C 8FAA0038 */ lw $t2, 0x38($sp)
glabel L80057910
/* ACEAB0 80057910 8FB8003C */ lw $t8, 0x3c($sp)
/* ACEAB4 80057914 27AF00AC */ addiu $t7, $sp, 0xac
/* ACEAB8 80057918 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* ACEABC 8005791C 8F0B0000 */ lw $t3, ($t8)
/* ACEAC0 80057920 44810000 */ mtc1 $at, $f0
/* ACEAC4 80057924 3C018014 */ lui $at, %hi(D_8013A3EC)
/* ACEAC8 80057928 ADEB0000 */ sw $t3, ($t7)
/* ACEACC 8005792C 8F190004 */ lw $t9, 4($t8)
/* ACEAD0 80057930 260D0074 */ addiu $t5, $s0, 0x74
/* ACEAD4 80057934 26030018 */ addiu $v1, $s0, 0x18
/* ACEAD8 80057938 ADF90004 */ sw $t9, 4($t7)
/* ACEADC 8005793C 8F0B0008 */ lw $t3, 8($t8)
/* ACEAE0 80057940 44060000 */ mfc1 $a2, $f0
/* ACEAE4 80057944 44070000 */ mfc1 $a3, $f0
/* ACEAE8 80057948 ADEB0008 */ sw $t3, 8($t7)
/* ACEAEC 8005794C C5440000 */ lwc1 $f4, ($t2)
/* ACEAF0 80057950 C7A60098 */ lwc1 $f6, 0x98($sp)
/* ACEAF4 80057954 C7A800B0 */ lwc1 $f8, 0xb0($sp)
/* ACEAF8 80057958 C42AA3EC */ lwc1 $f10, %lo(D_8013A3EC)($at)
/* ACEAFC 8005795C 46043400 */ add.s $f16, $f6, $f4
/* ACEB00 80057960 AFA30034 */ sw $v1, 0x34($sp)
/* ACEB04 80057964 AFAD0040 */ sw $t5, 0x40($sp)
/* ACEB08 80057968 8FA50044 */ lw $a1, 0x44($sp)
/* ACEB0C 8005796C 46104480 */ add.s $f18, $f8, $f16
/* ACEB10 80057970 27A400AC */ addiu $a0, $sp, 0xac
/* ACEB14 80057974 E7AA0010 */ swc1 $f10, 0x10($sp)
/* ACEB18 80057978 0C010E8F */ jal func_80043A3C
/* ACEB1C 8005797C E7B200B0 */ swc1 $f18, 0xb0($sp)
/* ACEB20 80057980 3C063E99 */ lui $a2, (0x3E99999A >> 16) # lui $a2, 0x3e99
/* ACEB24 80057984 34C6999A */ ori $a2, (0x3E99999A & 0xFFFF) # ori $a2, $a2, 0x999a
/* ACEB28 80057988 24040AAA */ li $a0, 2730
/* ACEB2C 8005798C 87A500A0 */ lh $a1, 0xa0($sp)
/* ACEB30 80057990 0C010E47 */ jal func_8004391C
/* ACEB34 80057994 2407000A */ li $a3, 10
/* ACEB38 80057998 8FA30034 */ lw $v1, 0x34($sp)
/* ACEB3C 8005799C A7A200A8 */ sh $v0, 0xa8($sp)
/* ACEB40 800579A0 3C063E99 */ lui $a2, (0x3E99999A >> 16) # lui $a2, 0x3e99
/* ACEB44 800579A4 34C6999A */ ori $a2, (0x3E99999A & 0xFFFF) # ori $a2, $a2, 0x999a
/* ACEB48 800579A8 87A500A2 */ lh $a1, 0xa2($sp)
/* ACEB4C 800579AC 2407000A */ li $a3, 10
/* ACEB50 800579B0 0C010E47 */ jal func_8004391C
/* ACEB54 800579B4 84640000 */ lh $a0, ($v1)
/* ACEB58 800579B8 3C014270 */ li $at, 0x42700000 # 0.000000
/* ACEB5C 800579BC 44816000 */ mtc1 $at, $f12
/* ACEB60 800579C0 3C063E99 */ lui $a2, (0x3E99999A >> 16) # lui $a2, 0x3e99
/* ACEB64 800579C4 A7A200AA */ sh $v0, 0xaa($sp)
/* ACEB68 800579C8 34C6999A */ ori $a2, (0x3E99999A & 0xFFFF) # ori $a2, $a2, 0x999a
/* ACEB6C 800579CC C7AE009C */ lwc1 $f14, 0x9c($sp)
/* ACEB70 800579D0 0C010E27 */ jal func_8004389C
/* ACEB74 800579D4 3C073F80 */ lui $a3, 0x3f80
/* ACEB78 800579D8 E7A000A4 */ swc1 $f0, 0xa4($sp)
/* ACEB7C 800579DC 8FA40040 */ lw $a0, 0x40($sp)
/* ACEB80 800579E0 8FA50044 */ lw $a1, 0x44($sp)
/* ACEB84 800579E4 0C010F0A */ jal func_80043C28
/* ACEB88 800579E8 27A600A4 */ addiu $a2, $sp, 0xa4
/* ACEB8C 800579EC 8FAE0040 */ lw $t6, 0x40($sp)
/* ACEB90 800579F0 8FAC0048 */ lw $t4, 0x48($sp)
/* ACEB94 800579F4 8DD80000 */ lw $t8, ($t6)
/* ACEB98 800579F8 AD980000 */ sw $t8, ($t4)
/* ACEB9C 800579FC 8DCF0004 */ lw $t7, 4($t6)
/* ACEBA0 80057A00 AD8F0004 */ sw $t7, 4($t4)
/* ACEBA4 80057A04 8DD80008 */ lw $t8, 8($t6)
/* ACEBA8 80057A08 AD980008 */ sw $t8, 8($t4)
/* ACEBAC 80057A0C 8619000A */ lh $t9, 0xa($s0)
/* ACEBB0 80057A10 272BFFFF */ addiu $t3, $t9, -1
/* ACEBB4 80057A14 A60B000A */ sh $t3, 0xa($s0)
/* ACEBB8 80057A18 860D000A */ lh $t5, 0xa($s0)
/* ACEBBC 80057A1C 5DA0003D */ bgtzl $t5, .L80057B14
/* ACEBC0 80057A20 8FB9003C */ lw $t9, 0x3c($sp)
/* ACEBC4 80057A24 860C015E */ lh $t4, 0x15e($s0)
/* ACEBC8 80057A28 258E0001 */ addiu $t6, $t4, 1
/* ACEBCC 80057A2C A60E015E */ sh $t6, 0x15e($s0)
/* ACEBD0 80057A30 8FAA0038 */ lw $t2, 0x38($sp)
/* ACEBD4 80057A34 8603015E */ lh $v1, 0x15e($s0)
glabel L80057A38
/* ACEBD8 80057A38 246F0001 */ addiu $t7, $v1, 1
/* ACEBDC 80057A3C A60F015E */ sh $t7, 0x15e($s0)
.L80057A40:
/* ACEBE0 80057A40 8618014C */ lh $t8, 0x14c($s0)
/* ACEBE4 80057A44 3C018012 */ lui $at, %hi(D_8011D3A0) # $at, 0x8012
/* ACEBE8 80057A48 3C0B8016 */ lui $t3, %hi(D_8015BD7C) # $t3, 0x8016
/* ACEBEC 80057A4C 37190410 */ ori $t9, $t8, 0x410
/* ACEBF0 80057A50 A619014C */ sh $t9, 0x14c($s0)
/* ACEBF4 80057A54 AC20D3A0 */ sw $zero, %lo(D_8011D3A0)($at)
/* ACEBF8 80057A58 3C018014 */ lui $at, %hi(D_8013A3F0)
/* ACEBFC 80057A5C C426A3F0 */ lwc1 $f6, %lo(D_8013A3F0)($at)
/* ACEC00 80057A60 C60400D8 */ lwc1 $f4, 0xd8($s0)
/* ACEC04 80057A64 02002025 */ move $a0, $s0
/* ACEC08 80057A68 24060002 */ li $a2, 2
/* ACEC0C 80057A6C 4604303C */ c.lt.s $f6, $f4
/* ACEC10 80057A70 00000000 */ nop
/* ACEC14 80057A74 45010021 */ bc1t .L80057AFC
/* ACEC18 80057A78 00000000 */ nop
/* ACEC1C 80057A7C 8D6BBD7C */ lw $t3, %lo(D_8015BD7C)($t3)
/* ACEC20 80057A80 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff
/* ACEC24 80057A84 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff
/* ACEC28 80057A88 95620020 */ lhu $v0, 0x20($t3)
/* ACEC2C 80057A8C 00416827 */ nor $t5, $v0, $at
/* ACEC30 80057A90 11A0001A */ beqz $t5, .L80057AFC
/* ACEC34 80057A94 2401BFFF */ li $at, -16385
/* ACEC38 80057A98 00416027 */ nor $t4, $v0, $at
/* ACEC3C 80057A9C 11800017 */ beqz $t4, .L80057AFC
/* ACEC40 80057AA0 2401FFFD */ li $at, -3
/* ACEC44 80057AA4 00417027 */ nor $t6, $v0, $at
/* ACEC48 80057AA8 11C00014 */ beqz $t6, .L80057AFC
/* ACEC4C 80057AAC 2401FFFB */ li $at, -5
/* ACEC50 80057AB0 00417827 */ nor $t7, $v0, $at
/* ACEC54 80057AB4 11E00011 */ beqz $t7, .L80057AFC
/* ACEC58 80057AB8 2401FFF7 */ li $at, -9
/* ACEC5C 80057ABC 0041C027 */ nor $t8, $v0, $at
/* ACEC60 80057AC0 1300000E */ beqz $t8, .L80057AFC
/* ACEC64 80057AC4 2401FFFE */ li $at, -2
/* ACEC68 80057AC8 0041C827 */ nor $t9, $v0, $at
/* ACEC6C 80057ACC 1320000B */ beqz $t9, .L80057AFC
/* ACEC70 80057AD0 2401FFEF */ li $at, -17
/* ACEC74 80057AD4 00415827 */ nor $t3, $v0, $at
/* ACEC78 80057AD8 11600008 */ beqz $t3, .L80057AFC
/* ACEC7C 80057ADC 2401DFFF */ li $at, -8193
/* ACEC80 80057AE0 00416827 */ nor $t5, $v0, $at
/* ACEC84 80057AE4 11A00005 */ beqz $t5, .L80057AFC
/* ACEC88 80057AE8 00000000 */ nop
/* ACEC8C 80057AEC 854C0008 */ lh $t4, 8($t2)
/* ACEC90 80057AF0 318E0008 */ andi $t6, $t4, 8
/* ACEC94 80057AF4 51C00007 */ beql $t6, $zero, .L80057B14
/* ACEC98 80057AF8 8FB9003C */ lw $t9, 0x3c($sp)
.L80057AFC:
/* ACEC9C 80057AFC 0C016952 */ jal func_8005A548
/* ACECA0 80057B00 86050154 */ lh $a1, 0x154($s0)
/* ACECA4 80057B04 860F014C */ lh $t7, 0x14c($s0)
/* ACECA8 80057B08 35F80006 */ ori $t8, $t7, 6
/* ACECAC 80057B0C A618014C */ sh $t8, 0x14c($s0)
/* ACECB0 80057B10 8FB9003C */ lw $t9, 0x3c($sp)
.L80057B14:
/* ACECB4 80057B14 27A400AC */ addiu $a0, $sp, 0xac
/* ACECB8 80057B18 8F2D0000 */ lw $t5, ($t9)
/* ACECBC 80057B1C AC8D0000 */ sw $t5, ($a0)
/* ACECC0 80057B20 8F2B0004 */ lw $t3, 4($t9)
/* ACECC4 80057B24 AC8B0004 */ sw $t3, 4($a0)
/* ACECC8 80057B28 8F2D0008 */ lw $t5, 8($t9)
/* ACECCC 80057B2C AC8D0008 */ sw $t5, 8($a0)
/* ACECD0 80057B30 C7A800B0 */ lwc1 $f8, 0xb0($sp)
/* ACECD4 80057B34 C7B00098 */ lwc1 $f16, 0x98($sp)
/* ACECD8 80057B38 8FA50048 */ lw $a1, 0x48($sp)
/* ACECDC 80057B3C 46104480 */ add.s $f18, $f8, $f16
/* ACECE0 80057B40 0C01EFE4 */ jal func_8007BF90
/* ACECE4 80057B44 E7B200B0 */ swc1 $f18, 0xb0($sp)
/* ACECE8 80057B48 8FA3003C */ lw $v1, 0x3c($sp)
/* ACECEC 80057B4C E60000DC */ swc1 $f0, 0xdc($s0)
/* ACECF0 80057B50 C60A0050 */ lwc1 $f10, 0x50($s0)
/* ACECF4 80057B54 C4660000 */ lwc1 $f6, ($v1)
/* ACECF8 80057B58 C6080054 */ lwc1 $f8, 0x54($s0)
/* ACECFC 80057B5C 24020001 */ li $v0, 1
/* ACED00 80057B60 46065101 */ sub.s $f4, $f10, $f6
/* ACED04 80057B64 C60A0058 */ lwc1 $f10, 0x58($s0)
/* ACED08 80057B68 E60400E4 */ swc1 $f4, 0xe4($s0)
/* ACED0C 80057B6C C4700004 */ lwc1 $f16, 4($v1)
/* ACED10 80057B70 46104481 */ sub.s $f18, $f8, $f16
/* ACED14 80057B74 E61200E8 */ swc1 $f18, 0xe8($s0)
/* ACED18 80057B78 C4660008 */ lwc1 $f6, 8($v1)
/* ACED1C 80057B7C 46065101 */ sub.s $f4, $f10, $f6
/* ACED20 80057B80 E60400EC */ swc1 $f4, 0xec($s0)
/* ACED24 80057B84 8FBF0024 */ lw $ra, 0x24($sp)
/* ACED28 80057B88 8FB00020 */ lw $s0, 0x20($sp)
/* ACED2C 80057B8C 27BD00C8 */ addiu $sp, $sp, 0xc8
/* ACED30 80057B90 03E00008 */ jr $ra
/* ACED34 80057B94 00000000 */ nop

View file

@ -0,0 +1,48 @@
.rdata
glabel D_80139754
.asciz "../z_camera.c"
.balign 4
glabel D_80139764
.asciz "\x1B[34mcamera: create --- allocate %d byte\x1B[m\n"
.balign 4
glabel D_80139794
.asciz "\x1B[41;37mcamera: create: not enough memory\n\x1B[m"
.balign 4
.text
glabel func_80057B98
/* ACED38 80057B98 27BDFFE0 */ addiu $sp, $sp, -0x20
/* ACED3C 80057B9C AFA50024 */ sw $a1, 0x24($sp)
/* ACED40 80057BA0 AFBF0014 */ sw $ra, 0x14($sp)
/* ACED44 80057BA4 AFA40020 */ sw $a0, 0x20($sp)
/* ACED48 80057BA8 AFA60028 */ sw $a2, 0x28($sp)
/* ACED4C 80057BAC 3C058014 */ lui $a1, %hi(D_80139754) # $a1, 0x8014
/* ACED50 80057BB0 24A59754 */ addiu $a1, %lo(D_80139754) # addiu $a1, $a1, -0x68ac
/* ACED54 80057BB4 2406249A */ li $a2, 9370
/* ACED58 80057BB8 0C01EBB8 */ jal ZeldaArena_MallocDebug
/* ACED5C 80057BBC 2404016C */ li $a0, 364
/* ACED60 80057BC0 1040000C */ beqz $v0, .L80057BF4
/* ACED64 80057BC4 AFA2001C */ sw $v0, 0x1c($sp)
/* ACED68 80057BC8 3C048014 */ lui $a0, %hi(D_80139764) # $a0, 0x8014
/* ACED6C 80057BCC 24849764 */ addiu $a0, %lo(D_80139764) # addiu $a0, $a0, -0x689c
/* ACED70 80057BD0 0C00084C */ jal osSyncPrintf
/* ACED74 80057BD4 240505B0 */ li $a1, 1456
/* ACED78 80057BD8 8FA4001C */ lw $a0, 0x1c($sp)
/* ACED7C 80057BDC 8FA50020 */ lw $a1, 0x20($sp)
/* ACED80 80057BE0 8FA60024 */ lw $a2, 0x24($sp)
/* ACED84 80057BE4 0C015F1B */ jal func_80057C6C
/* ACED88 80057BE8 8FA70028 */ lw $a3, 0x28($sp)
/* ACED8C 80057BEC 10000005 */ b .L80057C04
/* ACED90 80057BF0 8FBF0014 */ lw $ra, 0x14($sp)
.L80057BF4:
/* ACED94 80057BF4 3C048014 */ lui $a0, %hi(D_80139794) # $a0, 0x8014
/* ACED98 80057BF8 0C00084C */ jal osSyncPrintf
/* ACED9C 80057BFC 24849794 */ addiu $a0, %lo(D_80139794) # addiu $a0, $a0, -0x686c
/* ACEDA0 80057C00 8FBF0014 */ lw $ra, 0x14($sp)
.L80057C04:
/* ACEDA4 80057C04 8FA2001C */ lw $v0, 0x1c($sp)
/* ACEDA8 80057C08 27BD0020 */ addiu $sp, $sp, 0x20
/* ACEDAC 80057C0C 03E00008 */ jr $ra
/* ACEDB0 80057C10 00000000 */ nop

View file

@ -0,0 +1,39 @@
.rdata
glabel D_801397C4
.asciz "\x1B[34mcamera: destroy ---\x1B[m\n"
.balign 4
glabel D_801397E4
.asciz "../z_camera.c"
.balign 4
glabel D_801397F4
.asciz "\x1B[43;30mcamera: destroy: already cleared\n\x1B[m"
.balign 4
.text
glabel func_80057C14
/* ACEDB4 80057C14 27BDFFE8 */ addiu $sp, $sp, -0x18
/* ACEDB8 80057C18 AFBF0014 */ sw $ra, 0x14($sp)
/* ACEDBC 80057C1C 1080000C */ beqz $a0, .L80057C50
/* ACEDC0 80057C20 00803825 */ move $a3, $a0
/* ACEDC4 80057C24 3C048014 */ lui $a0, %hi(D_801397C4) # $a0, 0x8014
/* ACEDC8 80057C28 248497C4 */ addiu $a0, %lo(D_801397C4) # addiu $a0, $a0, -0x683c
/* ACEDCC 80057C2C 0C00084C */ jal osSyncPrintf
/* ACEDD0 80057C30 AFA70018 */ sw $a3, 0x18($sp)
/* ACEDD4 80057C34 3C058014 */ lui $a1, %hi(D_801397E4) # $a1, 0x8014
/* ACEDD8 80057C38 8FA40018 */ lw $a0, 0x18($sp)
/* ACEDDC 80057C3C 24A597E4 */ addiu $a1, %lo(D_801397E4) # addiu $a1, $a1, -0x681c
/* ACEDE0 80057C40 0C01EC35 */ jal ZeldaArena_FreeDebug
/* ACEDE4 80057C44 240624AF */ li $a2, 9391
/* ACEDE8 80057C48 10000005 */ b .L80057C60
/* ACEDEC 80057C4C 8FBF0014 */ lw $ra, 0x14($sp)
.L80057C50:
/* ACEDF0 80057C50 3C048014 */ lui $a0, %hi(D_801397F4) # $a0, 0x8014
/* ACEDF4 80057C54 0C00084C */ jal osSyncPrintf
/* ACEDF8 80057C58 248497F4 */ addiu $a0, %lo(D_801397F4) # addiu $a0, $a0, -0x680c
/* ACEDFC 80057C5C 8FBF0014 */ lw $ra, 0x14($sp)
.L80057C60:
/* ACEE00 80057C60 27BD0018 */ addiu $sp, $sp, 0x18
/* ACEE04 80057C64 03E00008 */ jr $ra
/* ACEE08 80057C68 00000000 */ nop

View file

@ -12,7 +12,7 @@ glabel func_80058148
/* ACF2F8 80058158 AFA5006C */ sw $a1, 0x6c($sp)
/* ACF2FC 8005815C 0C00BBD1 */ jal func_8002EF44
/* ACF300 80058160 27A40054 */ addiu $a0, $sp, 0x54
/* ACF304 80058164 0C00B721 */ jal func_8002DC84
/* ACF304 80058164 0C00B721 */ jal Player_GetCameraYOffset
/* ACF308 80058168 8FA4006C */ lw $a0, 0x6c($sp)
/* ACF30C 8005816C 8FAE006C */ lw $t6, 0x6c($sp)
/* ACF310 80058170 27A20054 */ addiu $v0, $sp, 0x54

View file

@ -163,7 +163,7 @@ glabel func_800591EC
/* AD04E4 80059344 AD2B0004 */ sw $t3, 4($t1)
/* AD04E8 80059348 8D4C0008 */ lw $t4, 8($t2)
/* AD04EC 8005934C AD2C0008 */ sw $t4, 8($t1)
/* AD04F0 80059350 0C00B721 */ jal func_8002DC84
/* AD04F0 80059350 0C00B721 */ jal Player_GetCameraYOffset
/* AD04F4 80059354 8E040090 */ lw $a0, 0x90($s0)
/* AD04F8 80059358 C7AA00B0 */ lwc1 $f10, 0xb0($sp)
/* AD04FC 8005935C 3C068016 */ lui $a2, %hi(D_8015CE4C) # $a2, 0x8016

View file

@ -10,51 +10,51 @@ glabel D_80139BD8
glabel D_80139BF0
.asciz "\x1B[43;30mcamera: change camera mode: force NORMAL: %s %s refused\n\x1B[m"
.balign 4
.late_rodata
glabel jtbl_8013A450
.word 0x8005A28C # 1
.word 0x8005A268 # 2
.word 0x8005A28C # 3
.word 0x8005A260 # 4
.word 0x8005A290
.word 0x8005A258 # 6
.word 0x8005A290
.word 0x8005A28C # 8
.word 0x8005A290
.word 0x8005A290
.word 0x8005A290
.word 0x8005A290
.word 0x8005A290
.word 0x8005A290
.word 0x8005A28C # 15
.word 0x8005A290
.word 0x8005A290
.word 0x8005A290
.word 0x8005A28C # 19
.word L8005A28C # 1
.word L8005A268 # 2
.word L8005A28C # 3
.word L8005A260 # 4
.word L8005A290
.word L8005A258 # 6
.word L8005A290
.word L8005A28C # 8
.word L8005A290
.word L8005A290
.word L8005A290
.word L8005A290
.word L8005A290
.word L8005A290
.word L8005A28C # 15
.word L8005A290
.word L8005A290
.word L8005A290
.word L8005A28C # 19
glabel jtbl_8013A49C
.word 0x8005A320 # 0
.word 0x8005A2C8 # 1
.word 0x8005A2E8 # 2
.word 0x8005A330
.word 0x8005A300 # 4
.word 0x8005A330
.word 0x8005A2B4 # 6
.word 0x8005A330
.word 0x8005A318 # 8
.word 0x8005A330
.word 0x8005A330
.word 0x8005A330
.word 0x8005A330
.word 0x8005A330
.word 0x8005A330
.word 0x8005A318 # 15
.word 0x8005A330
.word 0x8005A2E0 # 17
.word 0x8005A330
.word 0x8005A318 # 19
.word L8005A320 # 0
.word L8005A2C8 # 1
.word L8005A2E8 # 2
.word L8005A330
.word L8005A300 # 4
.word L8005A330
.word L8005A2B4 # 6
.word L8005A330
.word L8005A318 # 8
.word L8005A330
.word L8005A330
.word L8005A330
.word L8005A330
.word L8005A330
.word L8005A330
.word L8005A318 # 15
.word L8005A330
.word L8005A2E0 # 17
.word L8005A330
.word L8005A318 # 19
.text
glabel func_8005A04C
/* AD11EC 8005A04C 27BDFFE8 */ addiu $sp, $sp, -0x18
@ -194,11 +194,17 @@ glabel func_8005A04C
/* AD13E8 8005A248 00380821 */ addu $at, $at, $t8
/* AD13EC 8005A24C 8C38A450 */ lw $t8, %lo(jtbl_8013A450)($at)
/* AD13F0 8005A250 03000008 */ jr $t8
/* AD13F4 8005A254 00000000 */ nop
/* AD13F4 8005A254 00000000 */ nop
glabel L8005A258
/* AD13F8 8005A258 1000000D */ b .L8005A290
/* AD13FC 8005A25C 24020020 */ li $v0, 32
glabel L8005A260
/* AD1400 8005A260 1000000B */ b .L8005A290
/* AD1404 8005A264 24020004 */ li $v0, 4
glabel L8005A268
/* AD1408 8005A268 8CE300A8 */ lw $v1, 0xa8($a3)
/* AD140C 8005A26C 50600009 */ beql $v1, $zero, .L8005A294
/* AD1410 8005A270 94EA0144 */ lhu $t2, 0x144($a3)
@ -208,8 +214,12 @@ glabel func_8005A04C
/* AD1420 8005A280 94EA0144 */ lhu $t2, 0x144($a3)
/* AD1424 8005A284 10000002 */ b .L8005A290
/* AD1428 8005A288 24020008 */ li $v0, 8
glabel L8005A28C
/* AD142C 8005A28C 24020002 */ li $v0, 2
.L8005A290:
glabel L8005A290
/* AD1430 8005A290 94EA0144 */ lhu $t2, 0x144($a3)
.L8005A294:
/* AD1434 8005A294 2D410014 */ sltiu $at, $t2, 0x14
@ -219,12 +229,16 @@ glabel func_8005A04C
/* AD1444 8005A2A4 002A0821 */ addu $at, $at, $t2
/* AD1448 8005A2A8 8C2AA49C */ lw $t2, %lo(jtbl_8013A49C)($at)
/* AD144C 8005A2AC 01400008 */ jr $t2
/* AD1450 8005A2B0 00000000 */ nop
/* AD1450 8005A2B0 00000000 */ nop
glabel L8005A2B4
/* AD1454 8005A2B4 30480020 */ andi $t0, $v0, 0x20
/* AD1458 8005A2B8 1100001D */ beqz $t0, .L8005A330
/* AD145C 8005A2BC 240B000A */ li $t3, 10
/* AD1460 8005A2C0 1000001B */ b .L8005A330
/* AD1464 8005A2C4 A4EB015E */ sh $t3, 0x15e($a3)
glabel L8005A2C8
/* AD1468 8005A2C8 304C0010 */ andi $t4, $v0, 0x10
/* AD146C 8005A2CC 11800002 */ beqz $t4, .L8005A2D8
/* AD1470 8005A2D0 2409000A */ li $t1, 10
@ -232,8 +246,12 @@ glabel func_8005A04C
.L8005A2D8:
/* AD1478 8005A2D8 10000015 */ b .L8005A330
/* AD147C 8005A2DC 34420001 */ ori $v0, $v0, 1
glabel L8005A2E0
/* AD1480 8005A2E0 10000013 */ b .L8005A330
/* AD1484 8005A2E4 34420001 */ ori $v0, $v0, 1
glabel L8005A2E8
/* AD1488 8005A2E8 304D0008 */ andi $t5, $v0, 8
/* AD148C 8005A2EC 11A00002 */ beqz $t5, .L8005A2F8
/* AD1490 8005A2F0 240E000A */ li $t6, 10
@ -241,6 +259,8 @@ glabel func_8005A04C
.L8005A2F8:
/* AD1498 8005A2F8 1000000D */ b .L8005A330
/* AD149C 8005A2FC 34420001 */ ori $v0, $v0, 1
glabel L8005A300
/* AD14A0 8005A300 304F0004 */ andi $t7, $v0, 4
/* AD14A4 8005A304 11E00002 */ beqz $t7, .L8005A310
/* AD14A8 8005A308 2418000A */ li $t8, 10
@ -248,13 +268,19 @@ glabel func_8005A04C
.L8005A310:
/* AD14B0 8005A310 10000007 */ b .L8005A330
/* AD14B4 8005A314 34420001 */ ori $v0, $v0, 1
glabel L8005A318
/* AD14B8 8005A318 10000005 */ b .L8005A330
/* AD14BC 8005A31C 34420001 */ ori $v0, $v0, 1
glabel L8005A320
/* AD14C0 8005A320 30590010 */ andi $t9, $v0, 0x10
/* AD14C4 8005A324 13200002 */ beqz $t9, .L8005A330
/* AD14C8 8005A328 240A000A */ li $t2, 10
/* AD14CC 8005A32C A4EA015E */ sh $t2, 0x15e($a3)
.L8005A330:
glabel L8005A330
/* AD14D0 8005A330 2401FFEF */ li $at, -17
/* AD14D4 8005A334 00411024 */ and $v0, $v0, $at
/* AD14D8 8005A338 3C018012 */ lui $at, %hi(D_8011DB14) # $at, 0x8012
@ -294,7 +320,7 @@ glabel func_8005A04C
/* AD1558 8005A3B8 018B6021 */ addu $t4, $t4, $t3
/* AD155C 8005A3BC 918C1CBF */ lbu $t4, 0x1cbf($t4)
/* AD1560 8005A3C0 146C0006 */ bne $v1, $t4, .L8005A3DC
/* AD1564 8005A3C4 00000000 */ nop
/* AD1564 8005A3C4 00000000 */ nop
/* AD1568 8005A3C8 24044837 */ li $a0, 18487
/* AD156C 8005A3CC 0C01E221 */ jal func_80078884
/* AD1570 8005A3D0 AFA70018 */ sw $a3, 0x18($sp)
@ -331,5 +357,5 @@ glabel func_8005A04C
/* AD15D4 8005A434 8FBF0014 */ lw $ra, 0x14($sp)
/* AD15D8 8005A438 27BD0018 */ addiu $sp, $sp, 0x18
/* AD15DC 8005A43C 03E00008 */ jr $ra
/* AD15E0 8005A440 00000000 */ nop
/* AD15E0 8005A440 00000000 */ nop

View file

@ -1,41 +1,41 @@
.late_rodata
glabel jtbl_8013A4EC
.word 0x8005AAD8 # 1
.word 0x8005AB68 # 2
.word 0x8005AC0C
.word 0x8005ABB8 # 4
.word 0x8005AC0C
.word 0x8005AC0C
.word 0x8005AC0C
.word 0x8005AB38 # 8
.word 0x8005AC0C
.word 0x8005AC0C
.word 0x8005AC0C
.word 0x8005AC0C
.word 0x8005AC0C
.word 0x8005AC0C
.word 0x8005AC0C
.word 0x8005AB10 # 16
.word 0x8005AC0C
.word 0x8005AC0C
.word 0x8005AC0C
.word 0x8005AC0C
.word 0x8005AC0C
.word 0x8005AC0C
.word 0x8005AC0C
.word 0x8005AC0C
.word 0x8005AC0C
.word 0x8005AC0C
.word 0x8005AC0C
.word 0x8005AC0C
.word 0x8005AC0C
.word 0x8005AC0C
.word 0x8005AC0C
.word 0x8005AC00 # 32
.word L8005AAD8 # 1
.word L8005AB68 # 2
.word L8005AC0C
.word L8005ABB8 # 4
.word L8005AC0C
.word L8005AC0C
.word L8005AC0C
.word L8005AB38 # 8
.word L8005AC0C
.word L8005AC0C
.word L8005AC0C
.word L8005AC0C
.word L8005AC0C
.word L8005AC0C
.word L8005AC0C
.word L8005AB10 # 16
.word L8005AC0C
.word L8005AC0C
.word L8005AC0C
.word L8005AC0C
.word L8005AC0C
.word L8005AC0C
.word L8005AC0C
.word L8005AC0C
.word L8005AC0C
.word L8005AC0C
.word L8005AC0C
.word L8005AC0C
.word L8005AC0C
.word L8005AC0C
.word L8005AC0C
.word L8005AC00 # 32
glabel D_8013A56C
.float 182.041672 # 32768 / PI
.text
glabel func_8005AA90
/* AD1C30 8005AA90 10C00060 */ beqz $a2, .L8005AC14
@ -45,7 +45,7 @@ glabel func_8005AA90
/* AD1C40 8005AAA0 24AEFFFF */ addiu $t6, $a1, -1
/* AD1C44 8005AAA4 24010040 */ li $at, 64
/* AD1C48 8005AAA8 10A1004A */ beq $a1, $at, .L8005ABD4
/* AD1C4C 8005AAAC 00000000 */ nop
/* AD1C4C 8005AAAC 00000000 */ nop
/* AD1C50 8005AAB0 1000005A */ b .L8005AC1C
/* AD1C54 8005AAB4 00001025 */ move $v0, $zero
.L8005AAB8:
@ -56,7 +56,9 @@ glabel func_8005AA90
/* AD1C68 8005AAC8 002E0821 */ addu $at, $at, $t6
/* AD1C6C 8005AACC 8C2EA4EC */ lw $t6, %lo(jtbl_8013A4EC)($at)
/* AD1C70 8005AAD0 01C00008 */ jr $t6
/* AD1C74 8005AAD4 00000000 */ nop
/* AD1C74 8005AAD4 00000000 */ nop
glabel L8005AAD8
/* AD1C78 8005AAD8 848F015C */ lh $t7, 0x15c($a0)
/* AD1C7C 8005AADC 31F8FFE6 */ andi $t8, $t7, 0xffe6
/* AD1C80 8005AAE0 A498015C */ sh $t8, 0x15c($a0)
@ -73,6 +75,8 @@ glabel func_8005AA90
/* AD1CA4 8005AB04 01255025 */ or $t2, $t1, $a1
/* AD1CA8 8005AB08 10000044 */ b .L8005AC1C
/* AD1CAC 8005AB0C A48A015C */ sh $t2, 0x15c($a0)
glabel L8005AB10
/* AD1CB0 8005AB10 848B015C */ lh $t3, 0x15c($a0)
/* AD1CB4 8005AB14 316CFFE6 */ andi $t4, $t3, 0xffe6
/* AD1CB8 8005AB18 A48C015C */ sh $t4, 0x15c($a0)
@ -83,6 +87,8 @@ glabel func_8005AA90
/* AD1CCC 8005AB2C 8CCE0008 */ lw $t6, 8($a2)
/* AD1CD0 8005AB30 1000FFF2 */ b .L8005AAFC
/* AD1CD4 8005AB34 AC8E00B4 */ sw $t6, 0xb4($a0)
glabel L8005AB38
/* AD1CD8 8005AB38 84820142 */ lh $v0, 0x142($a0)
/* AD1CDC 8005AB3C 2401003C */ li $at, 60
/* AD1CE0 8005AB40 5041FFEF */ beql $v0, $at, .L8005AB00
@ -95,6 +101,8 @@ glabel func_8005AA90
/* AD1CFC 8005AB5C 31F8FFE6 */ andi $t8, $t7, 0xffe6
/* AD1D00 8005AB60 1000FFE6 */ b .L8005AAFC
/* AD1D04 8005AB64 A498015C */ sh $t8, 0x15c($a0)
glabel L8005AB68
/* AD1D08 8005AB68 8CC80000 */ lw $t0, ($a2)
/* AD1D0C 8005AB6C 27A20004 */ addiu $v0, $sp, 4
/* AD1D10 8005AB70 AC480000 */ sw $t0, ($v0)
@ -115,6 +123,8 @@ glabel func_8005AA90
/* AD1D4C 8005ABAC 8C4C0008 */ lw $t4, 8($v0)
/* AD1D50 8005ABB0 1000FFD2 */ b .L8005AAFC
/* AD1D54 8005ABB4 AC8C0064 */ sw $t4, 0x64($a0)
glabel L8005ABB8
/* AD1D58 8005ABB8 8CCE0000 */ lw $t6, ($a2)
/* AD1D5C 8005ABBC AC8E0068 */ sw $t6, 0x68($a0)
/* AD1D60 8005ABC0 8CCD0004 */ lw $t5, 4($a2)
@ -134,10 +144,14 @@ glabel func_8005AA90
/* AD1D94 8005ABF4 44189000 */ mfc1 $t8, $f18
/* AD1D98 8005ABF8 1000FFC0 */ b .L8005AAFC
/* AD1D9C 8005ABFC A498015A */ sh $t8, 0x15a($a0)
glabel L8005AC00
/* AD1DA0 8005AC00 C4C40000 */ lwc1 $f4, ($a2)
/* AD1DA4 8005AC04 1000FFBD */ b .L8005AAFC
/* AD1DA8 8005AC08 E48400FC */ swc1 $f4, 0xfc($a0)
.L8005AC0C:
glabel L8005AC0C
/* AD1DAC 8005AC0C 10000003 */ b .L8005AC1C
/* AD1DB0 8005AC10 00001025 */ move $v0, $zero
.L8005AC14:

View file

@ -17,7 +17,7 @@ glabel func_808382DC
/* 06108 80838318 10000183 */ beq $zero, $zero, .L80838928
/* 0610C 8083831C A2000A86 */ sb $zero, 0x0A86($s0) ## 00000A86
.L80838320:
/* 06110 80838320 0C00B721 */ jal func_8002DC84
/* 06110 80838320 0C00B721 */ jal Player_GetCameraYOffset
/* 06114 80838324 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 06118 80838328 C60406C4 */ lwc1 $f4, 0x06C4($s0) ## 000006C4
/* 0611C 8083832C C6060054 */ lwc1 $f6, 0x0054($s0) ## 00000054