a bunch more

This commit is contained in:
Ethan Roseman 2021-01-11 01:38:51 +09:00
parent 761eef6130
commit bae802854e
71 changed files with 9178 additions and 166 deletions

View File

@ -0,0 +1,136 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6000_E23260
/* E23260 802B6000 27BDFFD0 */ addiu $sp, $sp, -0x30
/* E23264 802B6004 AFB1001C */ sw $s1, 0x1c($sp)
/* E23268 802B6008 AFB00018 */ sw $s0, 0x18($sp)
/* E2326C 802B600C 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* E23270 802B6010 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* E23274 802B6014 AFBF0024 */ sw $ra, 0x24($sp)
/* E23278 802B6018 AFB20020 */ sw $s2, 0x20($sp)
/* E2327C 802B601C F7B40028 */ sdc1 $f20, 0x28($sp)
/* E23280 802B6020 8E040004 */ lw $a0, 4($s0)
/* E23284 802B6024 3C128011 */ lui $s2, %hi(gPlayerData)
/* E23288 802B6028 2652F290 */ addiu $s2, $s2, %lo(gPlayerData)
/* E2328C 802B602C 30821000 */ andi $v0, $a0, 0x1000
/* E23290 802B6030 10400005 */ beqz $v0, .L802B6048
/* E23294 802B6034 0000882D */ daddu $s1, $zero, $zero
/* E23298 802B6038 0C0AD879 */ jal func_802B61E4_E23444
/* E2329C 802B603C 00000000 */ nop
/* E232A0 802B6040 080AD872 */ j .L802B61C8
/* E232A4 802B6044 00000000 */ nop
.L802B6048:
/* E232A8 802B6048 96020008 */ lhu $v0, 8($s0)
/* E232AC 802B604C 8E030000 */ lw $v1, ($s0)
/* E232B0 802B6050 24420001 */ addiu $v0, $v0, 1
/* E232B4 802B6054 0461001E */ bgez $v1, .L802B60D0
/* E232B8 802B6058 A6020008 */ sh $v0, 8($s0)
/* E232BC 802B605C 3C027FF7 */ lui $v0, 0x7ff7
/* E232C0 802B6060 3442FFF1 */ ori $v0, $v0, 0xfff1
/* E232C4 802B6064 24110001 */ addiu $s1, $zero, 1
/* E232C8 802B6068 00621024 */ and $v0, $v1, $v0
/* E232CC 802B606C AE020000 */ sw $v0, ($s0)
/* E232D0 802B6070 30824000 */ andi $v0, $a0, 0x4000
/* E232D4 802B6074 A20000B6 */ sb $zero, 0xb6($s0)
/* E232D8 802B6078 A6000008 */ sh $zero, 8($s0)
/* E232DC 802B607C A60000C0 */ sh $zero, 0xc0($s0)
/* E232E0 802B6080 A60000C2 */ sh $zero, 0xc2($s0)
/* E232E4 802B6084 AE000054 */ sw $zero, 0x54($s0)
/* E232E8 802B6088 10400004 */ beqz $v0, .L802B609C
/* E232EC 802B608C AE00008C */ sw $zero, 0x8c($s0)
/* E232F0 802B6090 3C040009 */ lui $a0, 9
/* E232F4 802B6094 080AD832 */ j .L802B60C8
/* E232F8 802B6098 34840002 */ ori $a0, $a0, 2
.L802B609C:
/* E232FC 802B609C 30820001 */ andi $v0, $a0, 1
/* E23300 802B60A0 54400004 */ bnel $v0, $zero, .L802B60B4
/* E23304 802B60A4 3C040006 */ lui $a0, 6
/* E23308 802B60A8 3C040001 */ lui $a0, 1
/* E2330C 802B60AC 080AD832 */ j .L802B60C8
/* E23310 802B60B0 34840002 */ ori $a0, $a0, 2
.L802B60B4:
/* E23314 802B60B4 820200B5 */ lb $v0, 0xb5($s0)
/* E23318 802B60B8 14400003 */ bnez $v0, .L802B60C8
/* E2331C 802B60BC 34840007 */ ori $a0, $a0, 7
/* E23320 802B60C0 3C040006 */ lui $a0, 6
/* E23324 802B60C4 34840005 */ ori $a0, $a0, 5
.L802B60C8:
/* E23328 802B60C8 0C037FBF */ jal func_800DFEFC
/* E2332C 802B60CC 00000000 */ nop
.L802B60D0:
/* E23330 802B60D0 8E020004 */ lw $v0, 4($s0)
/* E23334 802B60D4 30420200 */ andi $v0, $v0, 0x200
/* E23338 802B60D8 10400005 */ beqz $v0, .L802B60F0
/* E2333C 802B60DC 27A40010 */ addiu $a0, $sp, 0x10
/* E23340 802B60E0 0C039769 */ jal set_action_state
/* E23344 802B60E4 2404001C */ addiu $a0, $zero, 0x1c
/* E23348 802B60E8 080AD872 */ j .L802B61C8
/* E2334C 802B60EC 00000000 */ nop
.L802B60F0:
/* E23350 802B60F0 0C0388C1 */ jal input_to_move_vector
/* E23354 802B60F4 27A50014 */ addiu $a1, $sp, 0x14
/* E23358 802B60F8 0C039454 */ jal func_800E5150
/* E2335C 802B60FC 00000000 */ nop
/* E23360 802B6100 0C039858 */ jal check_input_jump
/* E23364 802B6104 00000000 */ nop
/* E23368 802B6108 10400011 */ beqz $v0, .L802B6150
/* E2336C 802B610C 00000000 */ nop
/* E23370 802B6110 C7A20014 */ lwc1 $f2, 0x14($sp)
/* E23374 802B6114 44800000 */ mtc1 $zero, $f0
/* E23378 802B6118 00000000 */ nop
/* E2337C 802B611C 46001032 */ c.eq.s $f2, $f0
/* E23380 802B6120 00000000 */ nop
/* E23384 802B6124 45000007 */ bc1f .L802B6144
/* E23388 802B6128 00000000 */ nop
/* E2338C 802B612C C6020080 */ lwc1 $f2, 0x80($s0)
/* E23390 802B6130 C7A00010 */ lwc1 $f0, 0x10($sp)
/* E23394 802B6134 46001032 */ c.eq.s $f2, $f0
/* E23398 802B6138 00000000 */ nop
/* E2339C 802B613C 45010022 */ bc1t .L802B61C8
/* E233A0 802B6140 00000000 */ nop
.L802B6144:
/* E233A4 802B6144 C7A00010 */ lwc1 $f0, 0x10($sp)
/* E233A8 802B6148 080AD872 */ j .L802B61C8
/* E233AC 802B614C E6000080 */ swc1 $f0, 0x80($s0)
.L802B6150:
/* E233B0 802B6150 16200005 */ bnez $s1, .L802B6168
/* E233B4 802B6154 00000000 */ nop
/* E233B8 802B6158 0C039838 */ jal check_input_hammer
/* E233BC 802B615C 00000000 */ nop
/* E233C0 802B6160 14400019 */ bnez $v0, .L802B61C8
/* E233C4 802B6164 00000000 */ nop
.L802B6168:
/* E233C8 802B6168 C7A00014 */ lwc1 $f0, 0x14($sp)
/* E233CC 802B616C 4480A000 */ mtc1 $zero, $f20
/* E233D0 802B6170 00000000 */ nop
/* E233D4 802B6174 46140032 */ c.eq.s $f0, $f20
/* E233D8 802B6178 00000000 */ nop
/* E233DC 802B617C 45000005 */ bc1f .L802B6194
/* E233E0 802B6180 24040001 */ addiu $a0, $zero, 1
/* E233E4 802B6184 964202B8 */ lhu $v0, 0x2b8($s2)
/* E233E8 802B6188 24420001 */ addiu $v0, $v0, 1
/* E233EC 802B618C 080AD872 */ j .L802B61C8
/* E233F0 802B6190 A64202B8 */ sh $v0, 0x2b8($s2)
.L802B6194:
/* E233F4 802B6194 0C039769 */ jal set_action_state
/* E233F8 802B6198 A6000008 */ sh $zero, 8($s0)
/* E233FC 802B619C C7A00014 */ lwc1 $f0, 0x14($sp)
/* E23400 802B61A0 46140032 */ c.eq.s $f0, $f20
/* E23404 802B61A4 00000000 */ nop
/* E23408 802B61A8 45010007 */ bc1t .L802B61C8
/* E2340C 802B61AC 3C037FFF */ lui $v1, 0x7fff
/* E23410 802B61B0 3463FFFF */ ori $v1, $v1, 0xffff
/* E23414 802B61B4 8E020004 */ lw $v0, 4($s0)
/* E23418 802B61B8 C7A00010 */ lwc1 $f0, 0x10($sp)
/* E2341C 802B61BC 00431024 */ and $v0, $v0, $v1
/* E23420 802B61C0 E6000080 */ swc1 $f0, 0x80($s0)
/* E23424 802B61C4 AE020004 */ sw $v0, 4($s0)
.L802B61C8:
/* E23428 802B61C8 8FBF0024 */ lw $ra, 0x24($sp)
/* E2342C 802B61CC 8FB20020 */ lw $s2, 0x20($sp)
/* E23430 802B61D0 8FB1001C */ lw $s1, 0x1c($sp)
/* E23434 802B61D4 8FB00018 */ lw $s0, 0x18($sp)
/* E23438 802B61D8 D7B40028 */ ldc1 $f20, 0x28($sp)
/* E2343C 802B61DC 03E00008 */ jr $ra
/* E23440 802B61E0 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -0,0 +1,165 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B61E4_E23444
/* E23444 802B61E4 27BDFFE0 */ addiu $sp, $sp, -0x20
/* E23448 802B61E8 AFB00018 */ sw $s0, 0x18($sp)
/* E2344C 802B61EC 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* E23450 802B61F0 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* E23454 802B61F4 AFBF001C */ sw $ra, 0x1c($sp)
/* E23458 802B61F8 8E030000 */ lw $v1, ($s0)
/* E2345C 802B61FC 0461002A */ bgez $v1, .L802B62A8
/* E23460 802B6200 3C027FFF */ lui $v0, 0x7fff
/* E23464 802B6204 3442FFFF */ ori $v0, $v0, 0xffff
/* E23468 802B6208 00621024 */ and $v0, $v1, $v0
/* E2346C 802B620C 8E030004 */ lw $v1, 4($s0)
/* E23470 802B6210 2404FFF1 */ addiu $a0, $zero, -0xf
/* E23474 802B6214 AE020000 */ sw $v0, ($s0)
/* E23478 802B6218 00441024 */ and $v0, $v0, $a0
/* E2347C 802B621C A20000B6 */ sb $zero, 0xb6($s0)
/* E23480 802B6220 A6000008 */ sh $zero, 8($s0)
/* E23484 802B6224 A60000C0 */ sh $zero, 0xc0($s0)
/* E23488 802B6228 A60000C2 */ sh $zero, 0xc2($s0)
/* E2348C 802B622C AE000054 */ sw $zero, 0x54($s0)
/* E23490 802B6230 30632000 */ andi $v1, $v1, 0x2000
/* E23494 802B6234 14600013 */ bnez $v1, .L802B6284
/* E23498 802B6238 AE020000 */ sw $v0, ($s0)
/* E2349C 802B623C 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* E234A0 802B6240 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1)
/* E234A4 802B6244 9062007E */ lbu $v0, 0x7e($v1)
/* E234A8 802B6248 30420010 */ andi $v0, $v0, 0x10
/* E234AC 802B624C 14400009 */ bnez $v0, .L802B6274
/* E234B0 802B6250 3C04000C */ lui $a0, 0xc
/* E234B4 802B6254 90620080 */ lbu $v0, 0x80($v1)
/* E234B8 802B6258 00021080 */ sll $v0, $v0, 2
/* E234BC 802B625C 3C04802B */ lui $a0, %hi(D_802B6430)
/* E234C0 802B6260 00822021 */ addu $a0, $a0, $v0
/* E234C4 802B6264 0C037FBF */ jal func_800DFEFC
/* E234C8 802B6268 8C846430 */ lw $a0, %lo(D_802B6430)($a0)
/* E234CC 802B626C 080AD8AA */ j .L802B62A8
/* E234D0 802B6270 00000000 */ nop
.L802B6274:
/* E234D4 802B6274 0C037FBF */ jal func_800DFEFC
/* E234D8 802B6278 3484000E */ ori $a0, $a0, 0xe
/* E234DC 802B627C 080AD8AA */ j .L802B62A8
/* E234E0 802B6280 00000000 */ nop
.L802B6284:
/* E234E4 802B6284 8203000C */ lb $v1, 0xc($s0)
/* E234E8 802B6288 00031040 */ sll $v0, $v1, 1
/* E234EC 802B628C 00431021 */ addu $v0, $v0, $v1
/* E234F0 802B6290 000210C0 */ sll $v0, $v0, 3
/* E234F4 802B6294 3C04800F */ lui $a0, %hi(D_800F7C1C)
/* E234F8 802B6298 00822021 */ addu $a0, $a0, $v0
/* E234FC 802B629C 8C847C1C */ lw $a0, %lo(D_800F7C1C)($a0)
/* E23500 802B62A0 0C0398DB */ jal func_800E636C
/* E23504 802B62A4 00000000 */ nop
.L802B62A8:
/* E23508 802B62A8 8E020004 */ lw $v0, 4($s0)
/* E2350C 802B62AC 30422000 */ andi $v0, $v0, 0x2000
/* E23510 802B62B0 1440004C */ bnez $v0, .L802B63E4
/* E23514 802B62B4 27A40010 */ addiu $a0, $sp, 0x10
/* E23518 802B62B8 24020001 */ addiu $v0, $zero, 1
/* E2351C 802B62BC 820300B6 */ lb $v1, 0xb6($s0)
/* E23520 802B62C0 920500B6 */ lbu $a1, 0xb6($s0)
/* E23524 802B62C4 10620022 */ beq $v1, $v0, .L802B6350
/* E23528 802B62C8 28620002 */ slti $v0, $v1, 2
/* E2352C 802B62CC 10400005 */ beqz $v0, .L802B62E4
/* E23530 802B62D0 24020002 */ addiu $v0, $zero, 2
/* E23534 802B62D4 10600009 */ beqz $v1, .L802B62FC
/* E23538 802B62D8 00000000 */ nop
/* E2353C 802B62DC 080AD8F9 */ j .L802B63E4
/* E23540 802B62E0 00000000 */ nop
.L802B62E4:
/* E23544 802B62E4 10620022 */ beq $v1, $v0, .L802B6370
/* E23548 802B62E8 24020003 */ addiu $v0, $zero, 3
/* E2354C 802B62EC 1062002E */ beq $v1, $v0, .L802B63A8
/* E23550 802B62F0 27A40010 */ addiu $a0, $sp, 0x10
/* E23554 802B62F4 080AD8F9 */ j .L802B63E4
/* E23558 802B62F8 00000000 */ nop
.L802B62FC:
/* E2355C 802B62FC 8E020000 */ lw $v0, ($s0)
/* E23560 802B6300 30423000 */ andi $v0, $v0, 0x3000
/* E23564 802B6304 14400037 */ bnez $v0, .L802B63E4
/* E23568 802B6308 27A40010 */ addiu $a0, $sp, 0x10
/* E2356C 802B630C 820200C4 */ lb $v0, 0xc4($s0)
/* E23570 802B6310 14400034 */ bnez $v0, .L802B63E4
/* E23574 802B6314 00000000 */ nop
/* E23578 802B6318 86020008 */ lh $v0, 8($s0)
/* E2357C 802B631C 96030008 */ lhu $v1, 8($s0)
/* E23580 802B6320 28420709 */ slti $v0, $v0, 0x709
/* E23584 802B6324 14400008 */ bnez $v0, .L802B6348
/* E23588 802B6328 24620001 */ addiu $v0, $v1, 1
/* E2358C 802B632C 24A20001 */ addiu $v0, $a1, 1
/* E23590 802B6330 A20200B6 */ sb $v0, 0xb6($s0)
/* E23594 802B6334 3C04000C */ lui $a0, 0xc
/* E23598 802B6338 0C037FBF */ jal func_800DFEFC
/* E2359C 802B633C 34840003 */ ori $a0, $a0, 3
/* E235A0 802B6340 080AD908 */ j .L802B6420
/* E235A4 802B6344 00000000 */ nop
.L802B6348:
/* E235A8 802B6348 080AD8F8 */ j .L802B63E0
/* E235AC 802B634C A6020008 */ sh $v0, 8($s0)
.L802B6350:
/* E235B0 802B6350 960200BC */ lhu $v0, 0xbc($s0)
/* E235B4 802B6354 10400022 */ beqz $v0, .L802B63E0
/* E235B8 802B6358 3C04000A */ lui $a0, 0xa
/* E235BC 802B635C 34840001 */ ori $a0, $a0, 1
/* E235C0 802B6360 24A20001 */ addiu $v0, $a1, 1
/* E235C4 802B6364 A20200B6 */ sb $v0, 0xb6($s0)
/* E235C8 802B6368 080AD8F6 */ j .L802B63D8
/* E235CC 802B636C A6000008 */ sh $zero, 8($s0)
.L802B6370:
/* E235D0 802B6370 96020008 */ lhu $v0, 8($s0)
/* E235D4 802B6374 24420001 */ addiu $v0, $v0, 1
/* E235D8 802B6378 A6020008 */ sh $v0, 8($s0)
/* E235DC 802B637C 00021400 */ sll $v0, $v0, 0x10
/* E235E0 802B6380 00021403 */ sra $v0, $v0, 0x10
/* E235E4 802B6384 284200C9 */ slti $v0, $v0, 0xc9
/* E235E8 802B6388 14400016 */ bnez $v0, .L802B63E4
/* E235EC 802B638C 27A40010 */ addiu $a0, $sp, 0x10
/* E235F0 802B6390 3C04000C */ lui $a0, 0xc
/* E235F4 802B6394 920200B6 */ lbu $v0, 0xb6($s0)
/* E235F8 802B6398 34840003 */ ori $a0, $a0, 3
/* E235FC 802B639C 24420001 */ addiu $v0, $v0, 1
/* E23600 802B63A0 080AD8F6 */ j .L802B63D8
/* E23604 802B63A4 A20200B6 */ sb $v0, 0xb6($s0)
.L802B63A8:
/* E23608 802B63A8 8E020000 */ lw $v0, ($s0)
/* E2360C 802B63AC 30423000 */ andi $v0, $v0, 0x3000
/* E23610 802B63B0 10400005 */ beqz $v0, .L802B63C8
/* E23614 802B63B4 3C04000A */ lui $a0, 0xa
/* E23618 802B63B8 0C037FBF */ jal func_800DFEFC
/* E2361C 802B63BC 34840001 */ ori $a0, $a0, 1
/* E23620 802B63C0 080AD8F8 */ j .L802B63E0
/* E23624 802B63C4 A20000B6 */ sb $zero, 0xb6($s0)
.L802B63C8:
/* E23628 802B63C8 960200BC */ lhu $v0, 0xbc($s0)
/* E2362C 802B63CC 10400004 */ beqz $v0, .L802B63E0
/* E23630 802B63D0 3C04000C */ lui $a0, 0xc
/* E23634 802B63D4 34840004 */ ori $a0, $a0, 4
.L802B63D8:
/* E23638 802B63D8 0C037FBF */ jal func_800DFEFC
/* E2363C 802B63DC 00000000 */ nop
.L802B63E0:
/* E23640 802B63E0 27A40010 */ addiu $a0, $sp, 0x10
.L802B63E4:
/* E23644 802B63E4 0C0388C1 */ jal input_to_move_vector
/* E23648 802B63E8 27A50014 */ addiu $a1, $sp, 0x14
/* E2364C 802B63EC 0C039454 */ jal func_800E5150
/* E23650 802B63F0 00000000 */ nop
/* E23654 802B63F4 C7A20014 */ lwc1 $f2, 0x14($sp)
/* E23658 802B63F8 44800000 */ mtc1 $zero, $f0
/* E2365C 802B63FC 00000000 */ nop
/* E23660 802B6400 46001032 */ c.eq.s $f2, $f0
/* E23664 802B6404 00000000 */ nop
/* E23668 802B6408 45010005 */ bc1t .L802B6420
/* E2366C 802B640C 24040001 */ addiu $a0, $zero, 1
/* E23670 802B6410 C7A00010 */ lwc1 $f0, 0x10($sp)
/* E23674 802B6414 A6000008 */ sh $zero, 8($s0)
/* E23678 802B6418 0C039769 */ jal set_action_state
/* E2367C 802B641C E6000080 */ swc1 $f0, 0x80($s0)
.L802B6420:
/* E23680 802B6420 8FBF001C */ lw $ra, 0x1c($sp)
/* E23684 802B6424 8FB00018 */ lw $s0, 0x18($sp)
/* E23688 802B6428 03E00008 */ jr $ra
/* E2368C 802B642C 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,183 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6000_E236E0
/* E236E0 802B6000 27BDFFD0 */ addiu $sp, $sp, -0x30
/* E236E4 802B6004 AFB30024 */ sw $s3, 0x24($sp)
/* E236E8 802B6008 AFB00018 */ sw $s0, 0x18($sp)
/* E236EC 802B600C 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* E236F0 802B6010 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* E236F4 802B6014 AFBF002C */ sw $ra, 0x2c($sp)
/* E236F8 802B6018 AFB40028 */ sw $s4, 0x28($sp)
/* E236FC 802B601C AFB20020 */ sw $s2, 0x20($sp)
/* E23700 802B6020 AFB1001C */ sw $s1, 0x1c($sp)
/* E23704 802B6024 8E050004 */ lw $a1, 4($s0)
/* E23708 802B6028 3C148011 */ lui $s4, %hi(gPlayerData)
/* E2370C 802B602C 2694F290 */ addiu $s4, $s4, %lo(gPlayerData)
/* E23710 802B6030 30A21000 */ andi $v0, $a1, 0x1000
/* E23714 802B6034 10400005 */ beqz $v0, .L802B604C
/* E23718 802B6038 0000982D */ daddu $s3, $zero, $zero
/* E2371C 802B603C 0C0AD97A */ jal func_802B65E8_E23CC8
/* E23720 802B6040 00000000 */ nop
/* E23724 802B6044 080AD89A */ j .L802B6268
/* E23728 802B6048 00000000 */ nop
.L802B604C:
/* E2372C 802B604C 8E030000 */ lw $v1, ($s0)
/* E23730 802B6050 04610016 */ bgez $v1, .L802B60AC
/* E23734 802B6054 3C027F77 */ lui $v0, 0x7f77
/* E23738 802B6058 3442FFFF */ ori $v0, $v0, 0xffff
/* E2373C 802B605C 24130001 */ addiu $s3, $zero, 1
/* E23740 802B6060 00621024 */ and $v0, $v1, $v0
/* E23744 802B6064 AE020000 */ sw $v0, ($s0)
/* E23748 802B6068 30624000 */ andi $v0, $v1, 0x4000
/* E2374C 802B606C 14400003 */ bnez $v0, .L802B607C
/* E23750 802B6070 AE000060 */ sw $zero, 0x60($s0)
/* E23754 802B6074 C6000058 */ lwc1 $f0, 0x58($s0)
/* E23758 802B6078 E6000054 */ swc1 $f0, 0x54($s0)
.L802B607C:
/* E2375C 802B607C 30A24000 */ andi $v0, $a1, 0x4000
/* E23760 802B6080 10400003 */ beqz $v0, .L802B6090
/* E23764 802B6084 3C040009 */ lui $a0, 9
/* E23768 802B6088 080AD829 */ j .L802B60A4
/* E2376C 802B608C 34840003 */ ori $a0, $a0, 3
.L802B6090:
/* E23770 802B6090 30A20001 */ andi $v0, $a1, 1
/* E23774 802B6094 14400003 */ bnez $v0, .L802B60A4
/* E23778 802B6098 3C040006 */ lui $a0, 6
/* E2377C 802B609C 3C040001 */ lui $a0, 1
/* E23780 802B60A0 34840004 */ ori $a0, $a0, 4
.L802B60A4:
/* E23784 802B60A4 0C037FBF */ jal func_800DFEFC
/* E23788 802B60A8 00000000 */ nop
.L802B60AC:
/* E2378C 802B60AC 8E020000 */ lw $v0, ($s0)
/* E23790 802B60B0 30424000 */ andi $v0, $v0, 0x4000
/* E23794 802B60B4 10400006 */ beqz $v0, .L802B60D0
/* E23798 802B60B8 24040008 */ addiu $a0, $zero, 8
/* E2379C 802B60BC C60000A0 */ lwc1 $f0, 0xa0($s0)
/* E237A0 802B60C0 0C039426 */ jal func_800E5098
/* E237A4 802B60C4 E6000080 */ swc1 $f0, 0x80($s0)
/* E237A8 802B60C8 080AD89A */ j .L802B6268
/* E237AC 802B60CC 00000000 */ nop
.L802B60D0:
/* E237B0 802B60D0 27B20010 */ addiu $s2, $sp, 0x10
/* E237B4 802B60D4 0240202D */ daddu $a0, $s2, $zero
/* E237B8 802B60D8 27B10014 */ addiu $s1, $sp, 0x14
/* E237BC 802B60DC 0C0388C1 */ jal input_to_move_vector
/* E237C0 802B60E0 0220282D */ daddu $a1, $s1, $zero
/* E237C4 802B60E4 0C039454 */ jal func_800E5150
/* E237C8 802B60E8 00000000 */ nop
/* E237CC 802B60EC 0C039858 */ jal check_input_jump
/* E237D0 802B60F0 00000000 */ nop
/* E237D4 802B60F4 1440005C */ bnez $v0, .L802B6268
/* E237D8 802B60F8 00000000 */ nop
/* E237DC 802B60FC 16600006 */ bnez $s3, .L802B6118
/* E237E0 802B6100 0240202D */ daddu $a0, $s2, $zero
/* E237E4 802B6104 0C039838 */ jal check_input_hammer
/* E237E8 802B6108 00000000 */ nop
/* E237EC 802B610C 14400056 */ bnez $v0, .L802B6268
/* E237F0 802B6110 00000000 */ nop
/* E237F4 802B6114 0240202D */ daddu $a0, $s2, $zero
.L802B6118:
/* E237F8 802B6118 0C0388C1 */ jal input_to_move_vector
/* E237FC 802B611C 0220282D */ daddu $a1, $s1, $zero
/* E23800 802B6120 C7A40014 */ lwc1 $f4, 0x14($sp)
/* E23804 802B6124 44800000 */ mtc1 $zero, $f0
/* E23808 802B6128 00000000 */ nop
/* E2380C 802B612C 46002032 */ c.eq.s $f4, $f0
/* E23810 802B6130 00000000 */ nop
/* E23814 802B6134 45000005 */ bc1f .L802B614C
/* E23818 802B6138 00000000 */ nop
/* E2381C 802B613C 0C039769 */ jal set_action_state
/* E23820 802B6140 0000202D */ daddu $a0, $zero, $zero
/* E23824 802B6144 080AD89A */ j .L802B6268
/* E23828 802B6148 00000000 */ nop
.L802B614C:
/* E2382C 802B614C C7A60010 */ lwc1 $f6, 0x10($sp)
/* E23830 802B6150 3C01800F */ lui $at, %hi(D_800F7B40)
/* E23834 802B6154 C4207B40 */ lwc1 $f0, %lo(D_800F7B40)($at)
/* E23838 802B6158 46800020 */ cvt.s.w $f0, $f0
/* E2383C 802B615C 46060001 */ sub.s $f0, $f0, $f6
/* E23840 802B6160 3C0142B4 */ lui $at, 0x42b4
/* E23844 802B6164 44811000 */ mtc1 $at, $f2
/* E23848 802B6168 46000005 */ abs.s $f0, $f0
/* E2384C 802B616C 4602003E */ c.le.s $f0, $f2
/* E23850 802B6170 00000000 */ nop
/* E23854 802B6174 4500001C */ bc1f .L802B61E8
/* E23858 802B6178 00000000 */ nop
/* E2385C 802B617C 3C01800F */ lui $at, %hi(D_800F7B44)
/* E23860 802B6180 C4207B44 */ lwc1 $f0, %lo(D_800F7B44)($at)
/* E23864 802B6184 46800020 */ cvt.s.w $f0, $f0
/* E23868 802B6188 46002001 */ sub.s $f0, $f4, $f0
/* E2386C 802B618C 4600020D */ trunc.w.s $f8, $f0
/* E23870 802B6190 44024000 */ mfc1 $v0, $f8
/* E23874 802B6194 00000000 */ nop
/* E23878 802B6198 04420001 */ bltzl $v0, .L802B61A0
/* E2387C 802B619C 00021023 */ negu $v0, $v0
.L802B61A0:
/* E23880 802B61A0 28420014 */ slti $v0, $v0, 0x14
/* E23884 802B61A4 10400010 */ beqz $v0, .L802B61E8
/* E23888 802B61A8 00000000 */ nop
/* E2388C 802B61AC 8E020004 */ lw $v0, 4($s0)
/* E23890 802B61B0 0440000A */ bltz $v0, .L802B61DC
/* E23894 802B61B4 3C037FFF */ lui $v1, 0x7fff
/* E23898 802B61B8 3C0141A0 */ lui $at, 0x41a0
/* E2389C 802B61BC 44810000 */ mtc1 $at, $f0
/* E238A0 802B61C0 00000000 */ nop
/* E238A4 802B61C4 4604003E */ c.le.s $f0, $f4
/* E238A8 802B61C8 00000000 */ nop
/* E238AC 802B61CC 45030002 */ bc1tl .L802B61D8
/* E238B0 802B61D0 E6060080 */ swc1 $f6, 0x80($s0)
/* E238B4 802B61D4 3C037FFF */ lui $v1, 0x7fff
.L802B61D8:
/* E238B8 802B61D8 8E020004 */ lw $v0, 4($s0)
.L802B61DC:
/* E238BC 802B61DC 3463FFFF */ ori $v1, $v1, 0xffff
/* E238C0 802B61E0 080AD881 */ j .L802B6204
/* E238C4 802B61E4 00431024 */ and $v0, $v0, $v1
.L802B61E8:
/* E238C8 802B61E8 8E020004 */ lw $v0, 4($s0)
/* E238CC 802B61EC 04410004 */ bgez $v0, .L802B6200
/* E238D0 802B61F0 3C038000 */ lui $v1, 0x8000
/* E238D4 802B61F4 C7A00010 */ lwc1 $f0, 0x10($sp)
/* E238D8 802B61F8 080AD882 */ j .L802B6208
/* E238DC 802B61FC E6000080 */ swc1 $f0, 0x80($s0)
.L802B6200:
/* E238E0 802B6200 00431025 */ or $v0, $v0, $v1
.L802B6204:
/* E238E4 802B6204 AE020004 */ sw $v0, 4($s0)
.L802B6208:
/* E238E8 802B6208 0C03A752 */ jal is_ability_active
/* E238EC 802B620C 2404000B */ addiu $a0, $zero, 0xb
/* E238F0 802B6210 14400010 */ bnez $v0, .L802B6254
/* E238F4 802B6214 00000000 */ nop
/* E238F8 802B6218 8E0200E8 */ lw $v0, 0xe8($s0)
/* E238FC 802B621C 00420018 */ mult $v0, $v0
/* E23900 802B6220 00001812 */ mflo $v1
/* E23904 802B6224 8E0200EC */ lw $v0, 0xec($s0)
/* E23908 802B6228 00000000 */ nop
/* E2390C 802B622C 00420018 */ mult $v0, $v0
/* E23910 802B6230 00003812 */ mflo $a3
/* E23914 802B6234 00671021 */ addu $v0, $v1, $a3
/* E23918 802B6238 28420BD2 */ slti $v0, $v0, 0xbd2
/* E2391C 802B623C 14400005 */ bnez $v0, .L802B6254
/* E23920 802B6240 00000000 */ nop
/* E23924 802B6244 0C039769 */ jal set_action_state
/* E23928 802B6248 24040002 */ addiu $a0, $zero, 2
/* E2392C 802B624C 080AD89A */ j .L802B6268
/* E23930 802B6250 00000000 */ nop
.L802B6254:
/* E23934 802B6254 0C039426 */ jal func_800E5098
/* E23938 802B6258 24040008 */ addiu $a0, $zero, 8
/* E2393C 802B625C 8E8202AC */ lw $v0, 0x2ac($s4)
/* E23940 802B6260 24420001 */ addiu $v0, $v0, 1
/* E23944 802B6264 AE8202AC */ sw $v0, 0x2ac($s4)
.L802B6268:
/* E23948 802B6268 8FBF002C */ lw $ra, 0x2c($sp)
/* E2394C 802B626C 8FB40028 */ lw $s4, 0x28($sp)
/* E23950 802B6270 8FB30024 */ lw $s3, 0x24($sp)
/* E23954 802B6274 8FB20020 */ lw $s2, 0x20($sp)
/* E23958 802B6278 8FB1001C */ lw $s1, 0x1c($sp)
/* E2395C 802B627C 8FB00018 */ lw $s0, 0x18($sp)
/* E23960 802B6280 03E00008 */ jr $ra
/* E23964 802B6284 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -0,0 +1,200 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6288_E23968
/* E23968 802B6288 27BDFFD0 */ addiu $sp, $sp, -0x30
/* E2396C 802B628C AFB30024 */ sw $s3, 0x24($sp)
/* E23970 802B6290 AFB00018 */ sw $s0, 0x18($sp)
/* E23974 802B6294 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* E23978 802B6298 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* E2397C 802B629C AFBF002C */ sw $ra, 0x2c($sp)
/* E23980 802B62A0 AFB40028 */ sw $s4, 0x28($sp)
/* E23984 802B62A4 AFB20020 */ sw $s2, 0x20($sp)
/* E23988 802B62A8 AFB1001C */ sw $s1, 0x1c($sp)
/* E2398C 802B62AC 8E050004 */ lw $a1, 4($s0)
/* E23990 802B62B0 3C148011 */ lui $s4, %hi(gPlayerData)
/* E23994 802B62B4 2694F290 */ addiu $s4, $s4, %lo(gPlayerData)
/* E23998 802B62B8 30A21000 */ andi $v0, $a1, 0x1000
/* E2399C 802B62BC 10400005 */ beqz $v0, .L802B62D4
/* E239A0 802B62C0 0000982D */ daddu $s3, $zero, $zero
/* E239A4 802B62C4 0C0AD9CE */ jal func_802B6738_E23E18
/* E239A8 802B62C8 00000000 */ nop
/* E239AC 802B62CC 080AD94C */ j .L802B6530
/* E239B0 802B62D0 00000000 */ nop
.L802B62D4:
/* E239B4 802B62D4 8E030000 */ lw $v1, ($s0)
/* E239B8 802B62D8 04610019 */ bgez $v1, .L802B6340
/* E239BC 802B62DC 3C027F77 */ lui $v0, 0x7f77
/* E239C0 802B62E0 3442FFFF */ ori $v0, $v0, 0xffff
/* E239C4 802B62E4 24130001 */ addiu $s3, $zero, 1
/* E239C8 802B62E8 00621024 */ and $v0, $v1, $v0
/* E239CC 802B62EC AE020000 */ sw $v0, ($s0)
/* E239D0 802B62F0 30624000 */ andi $v0, $v1, 0x4000
/* E239D4 802B62F4 3C018011 */ lui $at, %hi(D_8010C980)
/* E239D8 802B62F8 AC20C980 */ sw $zero, %lo(D_8010C980)($at)
/* E239DC 802B62FC 14400003 */ bnez $v0, .L802B630C
/* E239E0 802B6300 AE000060 */ sw $zero, 0x60($s0)
/* E239E4 802B6304 C600005C */ lwc1 $f0, 0x5c($s0)
/* E239E8 802B6308 E6000054 */ swc1 $f0, 0x54($s0)
.L802B630C:
/* E239EC 802B630C 30A24000 */ andi $v0, $a1, 0x4000
/* E239F0 802B6310 10400003 */ beqz $v0, .L802B6320
/* E239F4 802B6314 3C040009 */ lui $a0, 9
/* E239F8 802B6318 080AD8CE */ j .L802B6338
/* E239FC 802B631C 34840003 */ ori $a0, $a0, 3
.L802B6320:
/* E23A00 802B6320 3C040006 */ lui $a0, 6
/* E23A04 802B6324 30A20001 */ andi $v0, $a1, 1
/* E23A08 802B6328 14400003 */ bnez $v0, .L802B6338
/* E23A0C 802B632C 34840002 */ ori $a0, $a0, 2
/* E23A10 802B6330 3C040001 */ lui $a0, 1
/* E23A14 802B6334 34840005 */ ori $a0, $a0, 5
.L802B6338:
/* E23A18 802B6338 0C037FBF */ jal func_800DFEFC
/* E23A1C 802B633C 00000000 */ nop
.L802B6340:
/* E23A20 802B6340 8E020000 */ lw $v0, ($s0)
/* E23A24 802B6344 30424000 */ andi $v0, $v0, 0x4000
/* E23A28 802B6348 10400006 */ beqz $v0, .L802B6364
/* E23A2C 802B634C 24040004 */ addiu $a0, $zero, 4
/* E23A30 802B6350 C60000A0 */ lwc1 $f0, 0xa0($s0)
/* E23A34 802B6354 0C039426 */ jal func_800E5098
/* E23A38 802B6358 E6000080 */ swc1 $f0, 0x80($s0)
/* E23A3C 802B635C 080AD94C */ j .L802B6530
/* E23A40 802B6360 00000000 */ nop
.L802B6364:
/* E23A44 802B6364 3C038011 */ lui $v1, %hi(D_8010C980)
/* E23A48 802B6368 2463C980 */ addiu $v1, $v1, %lo(D_8010C980)
/* E23A4C 802B636C 8C620000 */ lw $v0, ($v1)
/* E23A50 802B6370 3C013F80 */ lui $at, 0x3f80
/* E23A54 802B6374 44811000 */ mtc1 $at, $f2
/* E23A58 802B6378 24420001 */ addiu $v0, $v0, 1
/* E23A5C 802B637C AC620000 */ sw $v0, ($v1)
/* E23A60 802B6380 8E020004 */ lw $v0, 4($s0)
/* E23A64 802B6384 3C030001 */ lui $v1, 1
/* E23A68 802B6388 00431024 */ and $v0, $v0, $v1
/* E23A6C 802B638C 10400003 */ beqz $v0, .L802B639C
/* E23A70 802B6390 00000000 */ nop
/* E23A74 802B6394 3C013FC0 */ lui $at, 0x3fc0
/* E23A78 802B6398 44811000 */ mtc1 $at, $f2
.L802B639C:
/* E23A7C 802B639C C600005C */ lwc1 $f0, 0x5c($s0)
/* E23A80 802B63A0 46020002 */ mul.s $f0, $f0, $f2
/* E23A84 802B63A4 00000000 */ nop
/* E23A88 802B63A8 27B20010 */ addiu $s2, $sp, 0x10
/* E23A8C 802B63AC 0240202D */ daddu $a0, $s2, $zero
/* E23A90 802B63B0 27B10014 */ addiu $s1, $sp, 0x14
/* E23A94 802B63B4 0220282D */ daddu $a1, $s1, $zero
/* E23A98 802B63B8 0C0388C1 */ jal input_to_move_vector
/* E23A9C 802B63BC E6000054 */ swc1 $f0, 0x54($s0)
/* E23AA0 802B63C0 0C039454 */ jal func_800E5150
/* E23AA4 802B63C4 00000000 */ nop
/* E23AA8 802B63C8 0C039858 */ jal check_input_jump
/* E23AAC 802B63CC 00000000 */ nop
/* E23AB0 802B63D0 14400057 */ bnez $v0, .L802B6530
/* E23AB4 802B63D4 00000000 */ nop
/* E23AB8 802B63D8 16600006 */ bnez $s3, .L802B63F4
/* E23ABC 802B63DC 0240202D */ daddu $a0, $s2, $zero
/* E23AC0 802B63E0 0C039838 */ jal check_input_hammer
/* E23AC4 802B63E4 00000000 */ nop
/* E23AC8 802B63E8 14400051 */ bnez $v0, .L802B6530
/* E23ACC 802B63EC 00000000 */ nop
/* E23AD0 802B63F0 0240202D */ daddu $a0, $s2, $zero
.L802B63F4:
/* E23AD4 802B63F4 0C0388C1 */ jal input_to_move_vector
/* E23AD8 802B63F8 0220282D */ daddu $a1, $s1, $zero
/* E23ADC 802B63FC C7A20014 */ lwc1 $f2, 0x14($sp)
/* E23AE0 802B6400 44800000 */ mtc1 $zero, $f0
/* E23AE4 802B6404 00000000 */ nop
/* E23AE8 802B6408 46001032 */ c.eq.s $f2, $f0
/* E23AEC 802B640C 00000000 */ nop
/* E23AF0 802B6410 45000005 */ bc1f .L802B6428
/* E23AF4 802B6414 00000000 */ nop
/* E23AF8 802B6418 0C039769 */ jal set_action_state
/* E23AFC 802B641C 0000202D */ daddu $a0, $zero, $zero
/* E23B00 802B6420 080AD94C */ j .L802B6530
/* E23B04 802B6424 00000000 */ nop
.L802B6428:
/* E23B08 802B6428 C7A40010 */ lwc1 $f4, 0x10($sp)
/* E23B0C 802B642C 3C01800F */ lui $at, %hi(D_800F7B40)
/* E23B10 802B6430 C4207B40 */ lwc1 $f0, %lo(D_800F7B40)($at)
/* E23B14 802B6434 46800020 */ cvt.s.w $f0, $f0
/* E23B18 802B6438 46040001 */ sub.s $f0, $f0, $f4
/* E23B1C 802B643C 3C0142B4 */ lui $at, 0x42b4
/* E23B20 802B6440 44811000 */ mtc1 $at, $f2
/* E23B24 802B6444 46000005 */ abs.s $f0, $f0
/* E23B28 802B6448 4602003E */ c.le.s $f0, $f2
/* E23B2C 802B644C 00000000 */ nop
/* E23B30 802B6450 45000009 */ bc1f .L802B6478
/* E23B34 802B6454 00000000 */ nop
/* E23B38 802B6458 8E020004 */ lw $v0, 4($s0)
/* E23B3C 802B645C 04430001 */ bgezl $v0, .L802B6464
/* E23B40 802B6460 E6040080 */ swc1 $f4, 0x80($s0)
.L802B6464:
/* E23B44 802B6464 3C037FFF */ lui $v1, 0x7fff
/* E23B48 802B6468 8E020004 */ lw $v0, 4($s0)
/* E23B4C 802B646C 3463FFFF */ ori $v1, $v1, 0xffff
/* E23B50 802B6470 080AD924 */ j .L802B6490
/* E23B54 802B6474 00431024 */ and $v0, $v0, $v1
.L802B6478:
/* E23B58 802B6478 8E020004 */ lw $v0, 4($s0)
/* E23B5C 802B647C 04410003 */ bgez $v0, .L802B648C
/* E23B60 802B6480 3C038000 */ lui $v1, 0x8000
/* E23B64 802B6484 080AD925 */ j .L802B6494
/* E23B68 802B6488 E6040080 */ swc1 $f4, 0x80($s0)
.L802B648C:
/* E23B6C 802B648C 00431025 */ or $v0, $v0, $v1
.L802B6490:
/* E23B70 802B6490 AE020004 */ sw $v0, 4($s0)
.L802B6494:
/* E23B74 802B6494 0C03A752 */ jal is_ability_active
/* E23B78 802B6498 2404000B */ addiu $a0, $zero, 0xb
/* E23B7C 802B649C 1440001B */ bnez $v0, .L802B650C
/* E23B80 802B64A0 00000000 */ nop
/* E23B84 802B64A4 8E0200E8 */ lw $v0, 0xe8($s0)
/* E23B88 802B64A8 00420018 */ mult $v0, $v0
/* E23B8C 802B64AC 00001812 */ mflo $v1
/* E23B90 802B64B0 8E0200EC */ lw $v0, 0xec($s0)
/* E23B94 802B64B4 00000000 */ nop
/* E23B98 802B64B8 00420018 */ mult $v0, $v0
/* E23B9C 802B64BC 00003812 */ mflo $a3
/* E23BA0 802B64C0 00671021 */ addu $v0, $v1, $a3
/* E23BA4 802B64C4 44826000 */ mtc1 $v0, $f12
/* E23BA8 802B64C8 00000000 */ nop
/* E23BAC 802B64CC 46806320 */ cvt.s.w $f12, $f12
/* E23BB0 802B64D0 46006084 */ sqrt.s $f2, $f12
/* E23BB4 802B64D4 46021032 */ c.eq.s $f2, $f2
/* E23BB8 802B64D8 00000000 */ nop
/* E23BBC 802B64DC 45010004 */ bc1t .L802B64F0
/* E23BC0 802B64E0 00000000 */ nop
/* E23BC4 802B64E4 0C0187BC */ jal sqrtf
/* E23BC8 802B64E8 00000000 */ nop
/* E23BCC 802B64EC 46000086 */ mov.s $f2, $f0
.L802B64F0:
/* E23BD0 802B64F0 3C01425C */ lui $at, 0x425c
/* E23BD4 802B64F4 44810000 */ mtc1 $at, $f0
/* E23BD8 802B64F8 00000000 */ nop
/* E23BDC 802B64FC 4600103E */ c.le.s $f2, $f0
/* E23BE0 802B6500 00000000 */ nop
/* E23BE4 802B6504 45000005 */ bc1f .L802B651C
/* E23BE8 802B6508 00000000 */ nop
.L802B650C:
/* E23BEC 802B650C 0C039769 */ jal set_action_state
/* E23BF0 802B6510 24040001 */ addiu $a0, $zero, 1
/* E23BF4 802B6514 080AD94C */ j .L802B6530
/* E23BF8 802B6518 00000000 */ nop
.L802B651C:
/* E23BFC 802B651C 0C039426 */ jal func_800E5098
/* E23C00 802B6520 24040004 */ addiu $a0, $zero, 4
/* E23C04 802B6524 8E8202B0 */ lw $v0, 0x2b0($s4)
/* E23C08 802B6528 24420001 */ addiu $v0, $v0, 1
/* E23C0C 802B652C AE8202B0 */ sw $v0, 0x2b0($s4)
.L802B6530:
/* E23C10 802B6530 8FBF002C */ lw $ra, 0x2c($sp)
/* E23C14 802B6534 8FB40028 */ lw $s4, 0x28($sp)
/* E23C18 802B6538 8FB30024 */ lw $s3, 0x24($sp)
/* E23C1C 802B653C 8FB20020 */ lw $s2, 0x20($sp)
/* E23C20 802B6540 8FB1001C */ lw $s1, 0x1c($sp)
/* E23C24 802B6544 8FB00018 */ lw $s0, 0x18($sp)
/* E23C28 802B6548 03E00008 */ jr $ra
/* E23C2C 802B654C 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -0,0 +1,45 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6550_E23C30
/* E23C30 802B6550 27BDFFE8 */ addiu $sp, $sp, -0x18
/* E23C34 802B6554 3C038011 */ lui $v1, %hi(gPlayerStatus)
/* E23C38 802B6558 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus)
/* E23C3C 802B655C AFBF0010 */ sw $ra, 0x10($sp)
/* E23C40 802B6560 8C620004 */ lw $v0, 4($v1)
/* E23C44 802B6564 30422000 */ andi $v0, $v0, 0x2000
/* E23C48 802B6568 14400013 */ bnez $v0, .L802B65B8
/* E23C4C 802B656C 00000000 */ nop
/* E23C50 802B6570 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* E23C54 802B6574 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1)
/* E23C58 802B6578 9062007E */ lbu $v0, 0x7e($v1)
/* E23C5C 802B657C 30420010 */ andi $v0, $v0, 0x10
/* E23C60 802B6580 14400009 */ bnez $v0, .L802B65A8
/* E23C64 802B6584 3C04000D */ lui $a0, 0xd
/* E23C68 802B6588 90620080 */ lbu $v0, 0x80($v1)
/* E23C6C 802B658C 00021080 */ sll $v0, $v0, 2
/* E23C70 802B6590 3C04802B */ lui $a0, %hi(D_802B6910)
/* E23C74 802B6594 00822021 */ addu $a0, $a0, $v0
/* E23C78 802B6598 0C037FBF */ jal func_800DFEFC
/* E23C7C 802B659C 8C846910 */ lw $a0, %lo(D_802B6910)($a0)
/* E23C80 802B65A0 080AD977 */ j .L802B65DC
/* E23C84 802B65A4 00000000 */ nop
.L802B65A8:
/* E23C88 802B65A8 0C037FBF */ jal func_800DFEFC
/* E23C8C 802B65AC 3484000D */ ori $a0, $a0, 0xd
/* E23C90 802B65B0 080AD977 */ j .L802B65DC
/* E23C94 802B65B4 00000000 */ nop
.L802B65B8:
/* E23C98 802B65B8 8063000C */ lb $v1, 0xc($v1)
/* E23C9C 802B65BC 00031040 */ sll $v0, $v1, 1
/* E23CA0 802B65C0 00431021 */ addu $v0, $v0, $v1
/* E23CA4 802B65C4 000210C0 */ sll $v0, $v0, 3
/* E23CA8 802B65C8 3C04800F */ lui $a0, %hi(D_800F7C20)
/* E23CAC 802B65CC 00822021 */ addu $a0, $a0, $v0
/* E23CB0 802B65D0 8C847C20 */ lw $a0, %lo(D_800F7C20)($a0)
/* E23CB4 802B65D4 0C0398DB */ jal func_800E636C
/* E23CB8 802B65D8 00000000 */ nop
.L802B65DC:
/* E23CBC 802B65DC 8FBF0010 */ lw $ra, 0x10($sp)
/* E23CC0 802B65E0 03E00008 */ jr $ra
/* E23CC4 802B65E4 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -0,0 +1,95 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B65E8_E23CC8
/* E23CC8 802B65E8 27BDFFE0 */ addiu $sp, $sp, -0x20
/* E23CCC 802B65EC AFB00018 */ sw $s0, 0x18($sp)
/* E23CD0 802B65F0 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* E23CD4 802B65F4 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* E23CD8 802B65F8 AFBF001C */ sw $ra, 0x1c($sp)
/* E23CDC 802B65FC 8E030000 */ lw $v1, ($s0)
/* E23CE0 802B6600 0461000B */ bgez $v1, .L802B6630
/* E23CE4 802B6604 3C027FFF */ lui $v0, 0x7fff
/* E23CE8 802B6608 3442FFFF */ ori $v0, $v0, 0xffff
/* E23CEC 802B660C 00621024 */ and $v0, $v1, $v0
/* E23CF0 802B6610 AE020000 */ sw $v0, ($s0)
/* E23CF4 802B6614 30624000 */ andi $v0, $v1, 0x4000
/* E23CF8 802B6618 14400003 */ bnez $v0, .L802B6628
/* E23CFC 802B661C AE000060 */ sw $zero, 0x60($s0)
/* E23D00 802B6620 C6000058 */ lwc1 $f0, 0x58($s0)
/* E23D04 802B6624 E6000054 */ swc1 $f0, 0x54($s0)
.L802B6628:
/* E23D08 802B6628 0C0AD954 */ jal func_802B6550_E23C30
/* E23D0C 802B662C 00000000 */ nop
.L802B6630:
/* E23D10 802B6630 8E020000 */ lw $v0, ($s0)
/* E23D14 802B6634 30424000 */ andi $v0, $v0, 0x4000
/* E23D18 802B6638 10400004 */ beqz $v0, .L802B664C
/* E23D1C 802B663C 24040008 */ addiu $a0, $zero, 8
/* E23D20 802B6640 C60000A0 */ lwc1 $f0, 0xa0($s0)
/* E23D24 802B6644 080AD9C8 */ j .L802B6720
/* E23D28 802B6648 E6000080 */ swc1 $f0, 0x80($s0)
.L802B664C:
/* E23D2C 802B664C 27A40010 */ addiu $a0, $sp, 0x10
/* E23D30 802B6650 0C0388C1 */ jal input_to_move_vector
/* E23D34 802B6654 27A50014 */ addiu $a1, $sp, 0x14
/* E23D38 802B6658 0C039454 */ jal func_800E5150
/* E23D3C 802B665C 00000000 */ nop
/* E23D40 802B6660 C7A20014 */ lwc1 $f2, 0x14($sp)
/* E23D44 802B6664 44800000 */ mtc1 $zero, $f0
/* E23D48 802B6668 00000000 */ nop
/* E23D4C 802B666C 46001032 */ c.eq.s $f2, $f0
/* E23D50 802B6670 00000000 */ nop
/* E23D54 802B6674 45000005 */ bc1f .L802B668C
/* E23D58 802B6678 00000000 */ nop
/* E23D5C 802B667C 0C039769 */ jal set_action_state
/* E23D60 802B6680 0000202D */ daddu $a0, $zero, $zero
/* E23D64 802B6684 080AD9CA */ j .L802B6728
/* E23D68 802B6688 00000000 */ nop
.L802B668C:
/* E23D6C 802B668C C7A00010 */ lwc1 $f0, 0x10($sp)
/* E23D70 802B6690 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* E23D74 802B6694 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* E23D78 802B6698 E6000080 */ swc1 $f0, 0x80($s0)
/* E23D7C 802B669C 90420080 */ lbu $v0, 0x80($v0)
/* E23D80 802B66A0 1440001F */ bnez $v0, .L802B6720
/* E23D84 802B66A4 24040008 */ addiu $a0, $zero, 8
/* E23D88 802B66A8 8E0200E8 */ lw $v0, 0xe8($s0)
/* E23D8C 802B66AC 00420018 */ mult $v0, $v0
/* E23D90 802B66B0 00001812 */ mflo $v1
/* E23D94 802B66B4 8E0200EC */ lw $v0, 0xec($s0)
/* E23D98 802B66B8 00000000 */ nop
/* E23D9C 802B66BC 00420018 */ mult $v0, $v0
/* E23DA0 802B66C0 00001012 */ mflo $v0
/* E23DA4 802B66C4 00621021 */ addu $v0, $v1, $v0
/* E23DA8 802B66C8 44826000 */ mtc1 $v0, $f12
/* E23DAC 802B66CC 00000000 */ nop
/* E23DB0 802B66D0 46806320 */ cvt.s.w $f12, $f12
/* E23DB4 802B66D4 46006084 */ sqrt.s $f2, $f12
/* E23DB8 802B66D8 46021032 */ c.eq.s $f2, $f2
/* E23DBC 802B66DC 00000000 */ nop
/* E23DC0 802B66E0 45010004 */ bc1t .L802B66F4
/* E23DC4 802B66E4 00000000 */ nop
/* E23DC8 802B66E8 0C0187BC */ jal sqrtf
/* E23DCC 802B66EC 00000000 */ nop
/* E23DD0 802B66F0 46000086 */ mov.s $f2, $f0
.L802B66F4:
/* E23DD4 802B66F4 3C01425C */ lui $at, 0x425c
/* E23DD8 802B66F8 44810000 */ mtc1 $at, $f0
/* E23DDC 802B66FC 00000000 */ nop
/* E23DE0 802B6700 4602003C */ c.lt.s $f0, $f2
/* E23DE4 802B6704 00000000 */ nop
/* E23DE8 802B6708 45000005 */ bc1f .L802B6720
/* E23DEC 802B670C 24040008 */ addiu $a0, $zero, 8
/* E23DF0 802B6710 0C039769 */ jal set_action_state
/* E23DF4 802B6714 24040002 */ addiu $a0, $zero, 2
/* E23DF8 802B6718 080AD9CA */ j .L802B6728
/* E23DFC 802B671C 00000000 */ nop
.L802B6720:
/* E23E00 802B6720 0C039426 */ jal func_800E5098
/* E23E04 802B6724 00000000 */ nop
.L802B6728:
/* E23E08 802B6728 8FBF001C */ lw $ra, 0x1c($sp)
/* E23E0C 802B672C 8FB00018 */ lw $s0, 0x18($sp)
/* E23E10 802B6730 03E00008 */ jr $ra
/* E23E14 802B6734 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,128 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6738_E23E18
/* E23E18 802B6738 27BDFFE0 */ addiu $sp, $sp, -0x20
/* E23E1C 802B673C AFB00018 */ sw $s0, 0x18($sp)
/* E23E20 802B6740 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* E23E24 802B6744 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* E23E28 802B6748 AFBF001C */ sw $ra, 0x1c($sp)
/* E23E2C 802B674C 8E030000 */ lw $v1, ($s0)
/* E23E30 802B6750 0461002E */ bgez $v1, .L802B680C
/* E23E34 802B6754 3C027FFF */ lui $v0, 0x7fff
/* E23E38 802B6758 3442FFFF */ ori $v0, $v0, 0xffff
/* E23E3C 802B675C 00621024 */ and $v0, $v1, $v0
/* E23E40 802B6760 AE020000 */ sw $v0, ($s0)
/* E23E44 802B6764 30624000 */ andi $v0, $v1, 0x4000
/* E23E48 802B6768 14400003 */ bnez $v0, .L802B6778
/* E23E4C 802B676C AE000060 */ sw $zero, 0x60($s0)
/* E23E50 802B6770 C600005C */ lwc1 $f0, 0x5c($s0)
/* E23E54 802B6774 E6000054 */ swc1 $f0, 0x54($s0)
.L802B6778:
/* E23E58 802B6778 8E020004 */ lw $v0, 4($s0)
/* E23E5C 802B677C 30422000 */ andi $v0, $v0, 0x2000
/* E23E60 802B6780 14400019 */ bnez $v0, .L802B67E8
/* E23E64 802B6784 00000000 */ nop
/* E23E68 802B6788 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* E23E6C 802B678C 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1)
/* E23E70 802B6790 9062007E */ lbu $v0, 0x7e($v1)
/* E23E74 802B6794 30420010 */ andi $v0, $v0, 0x10
/* E23E78 802B6798 1440000F */ bnez $v0, .L802B67D8
/* E23E7C 802B679C 3C04000D */ lui $a0, 0xd
/* E23E80 802B67A0 90620080 */ lbu $v0, 0x80($v1)
/* E23E84 802B67A4 14400006 */ bnez $v0, .L802B67C0
/* E23E88 802B67A8 00021080 */ sll $v0, $v0, 2
/* E23E8C 802B67AC 3C04000A */ lui $a0, 0xa
/* E23E90 802B67B0 0C037FBF */ jal func_800DFEFC
/* E23E94 802B67B4 34840003 */ ori $a0, $a0, 3
/* E23E98 802B67B8 080ADA03 */ j .L802B680C
/* E23E9C 802B67BC 00000000 */ nop
.L802B67C0:
/* E23EA0 802B67C0 3C04802B */ lui $a0, %hi(D_802B6910)
/* E23EA4 802B67C4 00822021 */ addu $a0, $a0, $v0
/* E23EA8 802B67C8 0C037FBF */ jal func_800DFEFC
/* E23EAC 802B67CC 8C846910 */ lw $a0, %lo(D_802B6910)($a0)
/* E23EB0 802B67D0 080ADA03 */ j .L802B680C
/* E23EB4 802B67D4 00000000 */ nop
.L802B67D8:
/* E23EB8 802B67D8 0C037FBF */ jal func_800DFEFC
/* E23EBC 802B67DC 3484000D */ ori $a0, $a0, 0xd
/* E23EC0 802B67E0 080ADA03 */ j .L802B680C
/* E23EC4 802B67E4 00000000 */ nop
.L802B67E8:
/* E23EC8 802B67E8 8203000C */ lb $v1, 0xc($s0)
/* E23ECC 802B67EC 00031040 */ sll $v0, $v1, 1
/* E23ED0 802B67F0 00431021 */ addu $v0, $v0, $v1
/* E23ED4 802B67F4 000210C0 */ sll $v0, $v0, 3
/* E23ED8 802B67F8 3C04800F */ lui $a0, %hi(D_800F7C24)
/* E23EDC 802B67FC 00822021 */ addu $a0, $a0, $v0
/* E23EE0 802B6800 8C847C24 */ lw $a0, %lo(D_800F7C24)($a0)
/* E23EE4 802B6804 0C0398DB */ jal func_800E636C
/* E23EE8 802B6808 00000000 */ nop
.L802B680C:
/* E23EEC 802B680C 8E020000 */ lw $v0, ($s0)
/* E23EF0 802B6810 30424000 */ andi $v0, $v0, 0x4000
/* E23EF4 802B6814 10400004 */ beqz $v0, .L802B6828
/* E23EF8 802B6818 24040004 */ addiu $a0, $zero, 4
/* E23EFC 802B681C C60000A0 */ lwc1 $f0, 0xa0($s0)
/* E23F00 802B6820 080ADA3B */ j .L802B68EC
/* E23F04 802B6824 E6000080 */ swc1 $f0, 0x80($s0)
.L802B6828:
/* E23F08 802B6828 27A40010 */ addiu $a0, $sp, 0x10
/* E23F0C 802B682C C600005C */ lwc1 $f0, 0x5c($s0)
/* E23F10 802B6830 27A50014 */ addiu $a1, $sp, 0x14
/* E23F14 802B6834 0C0388C1 */ jal input_to_move_vector
/* E23F18 802B6838 E6000054 */ swc1 $f0, 0x54($s0)
/* E23F1C 802B683C 0C039454 */ jal func_800E5150
/* E23F20 802B6840 00000000 */ nop
/* E23F24 802B6844 C7A20014 */ lwc1 $f2, 0x14($sp)
/* E23F28 802B6848 44800000 */ mtc1 $zero, $f0
/* E23F2C 802B684C 00000000 */ nop
/* E23F30 802B6850 46001032 */ c.eq.s $f2, $f0
/* E23F34 802B6854 00000000 */ nop
/* E23F38 802B6858 45000005 */ bc1f .L802B6870
/* E23F3C 802B685C 00000000 */ nop
/* E23F40 802B6860 0C039769 */ jal set_action_state
/* E23F44 802B6864 0000202D */ daddu $a0, $zero, $zero
/* E23F48 802B6868 080ADA3D */ j .L802B68F4
/* E23F4C 802B686C 00000000 */ nop
.L802B6870:
/* E23F50 802B6870 8E0200E8 */ lw $v0, 0xe8($s0)
/* E23F54 802B6874 00420018 */ mult $v0, $v0
/* E23F58 802B6878 00001812 */ mflo $v1
/* E23F5C 802B687C 8E0200EC */ lw $v0, 0xec($s0)
/* E23F60 802B6880 00000000 */ nop
/* E23F64 802B6884 00420018 */ mult $v0, $v0
/* E23F68 802B6888 C7A00010 */ lwc1 $f0, 0x10($sp)
/* E23F6C 802B688C 00001012 */ mflo $v0
/* E23F70 802B6890 00621021 */ addu $v0, $v1, $v0
/* E23F74 802B6894 44826000 */ mtc1 $v0, $f12
/* E23F78 802B6898 00000000 */ nop
/* E23F7C 802B689C 46806320 */ cvt.s.w $f12, $f12
/* E23F80 802B68A0 46006084 */ sqrt.s $f2, $f12
/* E23F84 802B68A4 46021032 */ c.eq.s $f2, $f2
/* E23F88 802B68A8 00000000 */ nop
/* E23F8C 802B68AC 45010004 */ bc1t .L802B68C0
/* E23F90 802B68B0 E6000080 */ swc1 $f0, 0x80($s0)
/* E23F94 802B68B4 0C0187BC */ jal sqrtf
/* E23F98 802B68B8 00000000 */ nop
/* E23F9C 802B68BC 46000086 */ mov.s $f2, $f0
.L802B68C0:
/* E23FA0 802B68C0 3C01425C */ lui $at, 0x425c
/* E23FA4 802B68C4 44810000 */ mtc1 $at, $f0
/* E23FA8 802B68C8 00000000 */ nop
/* E23FAC 802B68CC 4600103C */ c.lt.s $f2, $f0
/* E23FB0 802B68D0 00000000 */ nop
/* E23FB4 802B68D4 45000005 */ bc1f .L802B68EC
/* E23FB8 802B68D8 24040004 */ addiu $a0, $zero, 4
/* E23FBC 802B68DC 0C039769 */ jal set_action_state
/* E23FC0 802B68E0 24040001 */ addiu $a0, $zero, 1
/* E23FC4 802B68E4 080ADA3D */ j .L802B68F4
/* E23FC8 802B68E8 00000000 */ nop
.L802B68EC:
/* E23FCC 802B68EC 0C039426 */ jal func_800E5098
/* E23FD0 802B68F0 00000000 */ nop
.L802B68F4:
/* E23FD4 802B68F4 8FBF001C */ lw $ra, 0x1c($sp)
/* E23FD8 802B68F8 8FB00018 */ lw $s0, 0x18($sp)
/* E23FDC 802B68FC 03E00008 */ jr $ra

View File

@ -0,0 +1,51 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6000_E24040
/* E24040 802B6000 27BDFFE8 */ addiu $sp, $sp, -0x18
/* E24044 802B6004 3C037FFF */ lui $v1, 0x7fff
/* E24048 802B6008 AFB00010 */ sw $s0, 0x10($sp)
/* E2404C 802B600C 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* E24050 802B6010 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* E24054 802B6014 AFBF0014 */ sw $ra, 0x14($sp)
/* E24058 802B6018 8E020000 */ lw $v0, ($s0)
/* E2405C 802B601C C6000028 */ lwc1 $f0, 0x28($s0)
/* E24060 802B6020 C6020030 */ lwc1 $f2, 0x30($s0)
/* E24064 802B6024 C604002C */ lwc1 $f4, 0x2c($s0)
/* E24068 802B6028 3463FFF7 */ ori $v1, $v1, 0xfff7
/* E2406C 802B602C A20000B6 */ sb $zero, 0xb6($s0)
/* E24070 802B6030 A60000C0 */ sh $zero, 0xc0($s0)
/* E24074 802B6034 A60000C2 */ sh $zero, 0xc2($s0)
/* E24078 802B6038 00431024 */ and $v0, $v0, $v1
/* E2407C 802B603C 34420002 */ ori $v0, $v0, 2
/* E24080 802B6040 AE020000 */ sw $v0, ($s0)
/* E24084 802B6044 E600003C */ swc1 $f0, 0x3c($s0)
/* E24088 802B6048 E6020040 */ swc1 $f2, 0x40($s0)
/* E2408C 802B604C 0C038BD8 */ jal func_800E2F60
/* E24090 802B6050 E604004C */ swc1 $f4, 0x4c($s0)
/* E24094 802B6054 8E030004 */ lw $v1, 4($s0)
/* E24098 802B6058 3C108016 */ lui $s0, %hi(gCollisionStatus)
/* E2409C 802B605C 2610A550 */ addiu $s0, $s0, %lo(gCollisionStatus)
/* E240A0 802B6060 30624000 */ andi $v0, $v1, 0x4000
/* E240A4 802B6064 10400003 */ beqz $v0, .L802B6074
/* E240A8 802B6068 3C040009 */ lui $a0, 9
/* E240AC 802B606C 080AD823 */ j .L802B608C
/* E240B0 802B6070 34840005 */ ori $a0, $a0, 5
.L802B6074:
/* E240B4 802B6074 3C040006 */ lui $a0, 6
/* E240B8 802B6078 30620003 */ andi $v0, $v1, 3
/* E240BC 802B607C 14400003 */ bnez $v0, .L802B608C
/* E240C0 802B6080 34840009 */ ori $a0, $a0, 9
/* E240C4 802B6084 3C040001 */ lui $a0, 1
/* E240C8 802B6088 34840007 */ ori $a0, $a0, 7
.L802B608C:
/* E240CC 802B608C 0C037FBF */ jal func_800DFEFC
/* E240D0 802B6090 00000000 */ nop
/* E240D4 802B6094 96030002 */ lhu $v1, 2($s0)
/* E240D8 802B6098 2402FFFF */ addiu $v0, $zero, -1
/* E240DC 802B609C A6020002 */ sh $v0, 2($s0)
/* E240E0 802B60A0 A6030004 */ sh $v1, 4($s0)
/* E240E4 802B60A4 8FBF0014 */ lw $ra, 0x14($sp)
/* E240E8 802B60A8 8FB00010 */ lw $s0, 0x10($sp)
/* E240EC 802B60AC 03E00008 */ jr $ra
/* E240F0 802B60B0 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -0,0 +1,67 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B60B4_E240F4
/* E240F4 802B60B4 27BDFFE8 */ addiu $sp, $sp, -0x18
/* E240F8 802B60B8 AFB00010 */ sw $s0, 0x10($sp)
/* E240FC 802B60BC 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* E24100 802B60C0 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* E24104 802B60C4 AFBF0014 */ sw $ra, 0x14($sp)
/* E24108 802B60C8 8E030000 */ lw $v1, ($s0)
/* E2410C 802B60CC 0461001D */ bgez $v1, .L802B6144
/* E24110 802B60D0 3C027FFF */ lui $v0, 0x7fff
/* E24114 802B60D4 3442FFFF */ ori $v0, $v0, 0xffff
/* E24118 802B60D8 00621024 */ and $v0, $v1, $v0
/* E2411C 802B60DC 0C0AD800 */ jal func_802B6000_E24040
/* E24120 802B60E0 AE020000 */ sw $v0, ($s0)
/* E24124 802B60E4 820300B4 */ lb $v1, 0xb4($s0)
/* E24128 802B60E8 24020006 */ addiu $v0, $zero, 6
/* E2412C 802B60EC 14620005 */ bne $v1, $v0, .L802B6104
/* E24130 802B60F0 00000000 */ nop
/* E24134 802B60F4 0C03954C */ jal func_800E5530
/* E24138 802B60F8 00000000 */ nop
/* E2413C 802B60FC 080AD846 */ j .L802B6118
/* E24140 802B6100 00000000 */ nop
.L802B6104:
/* E24144 802B6104 3C03800B */ lui $v1, %hi(gCameras)
/* E24148 802B6108 24631D80 */ addiu $v1, $v1, %lo(gCameras)
/* E2414C 802B610C 94620002 */ lhu $v0, 2($v1)
/* E24150 802B6110 34420001 */ ori $v0, $v0, 1
/* E24154 802B6114 A4620002 */ sh $v0, 2($v1)
.L802B6118:
/* E24158 802B6118 820300B4 */ lb $v1, 0xb4($s0)
/* E2415C 802B611C 24020003 */ addiu $v0, $zero, 3
/* E24160 802B6120 14620008 */ bne $v1, $v0, .L802B6144
/* E24164 802B6124 00000000 */ nop
/* E24168 802B6128 8E020004 */ lw $v0, 4($s0)
/* E2416C 802B612C 30424000 */ andi $v0, $v0, 0x4000
/* E24170 802B6130 10400002 */ beqz $v0, .L802B613C
/* E24174 802B6134 24042081 */ addiu $a0, $zero, 0x2081
/* E24178 802B6138 24042082 */ addiu $a0, $zero, 0x2082
.L802B613C:
/* E2417C 802B613C 0C052736 */ jal play_sound_at_player
/* E24180 802B6140 0000282D */ daddu $a1, $zero, $zero
.L802B6144:
/* E24184 802B6144 8E030004 */ lw $v1, 4($s0)
/* E24188 802B6148 30624000 */ andi $v0, $v1, 0x4000
/* E2418C 802B614C 10400003 */ beqz $v0, .L802B615C
/* E24190 802B6150 3C040009 */ lui $a0, 9
/* E24194 802B6154 080AD85D */ j .L802B6174
/* E24198 802B6158 34840005 */ ori $a0, $a0, 5
.L802B615C:
/* E2419C 802B615C 3C040006 */ lui $a0, 6
/* E241A0 802B6160 30620003 */ andi $v0, $v1, 3
/* E241A4 802B6164 14400003 */ bnez $v0, .L802B6174
/* E241A8 802B6168 34840009 */ ori $a0, $a0, 9
/* E241AC 802B616C 3C040001 */ lui $a0, 1
/* E241B0 802B6170 34840007 */ ori $a0, $a0, 7
.L802B6174:
/* E241B4 802B6174 0C037FBF */ jal func_800DFEFC
/* E241B8 802B6178 00000000 */ nop
/* E241BC 802B617C 960200C0 */ lhu $v0, 0xc0($s0)
/* E241C0 802B6180 24420001 */ addiu $v0, $v0, 1
/* E241C4 802B6184 A60200C0 */ sh $v0, 0xc0($s0)
/* E241C8 802B6188 8FBF0014 */ lw $ra, 0x14($sp)
/* E241CC 802B618C 8FB00010 */ lw $s0, 0x10($sp)
/* E241D0 802B6190 03E00008 */ jr $ra
/* E241D4 802B6194 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -0,0 +1,71 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6198_E241D8
/* E241D8 802B6198 27BDFFE0 */ addiu $sp, $sp, -0x20
/* E241DC 802B619C AFB00010 */ sw $s0, 0x10($sp)
/* E241E0 802B61A0 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* E241E4 802B61A4 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* E241E8 802B61A8 AFBF0018 */ sw $ra, 0x18($sp)
/* E241EC 802B61AC AFB10014 */ sw $s1, 0x14($sp)
/* E241F0 802B61B0 8E020000 */ lw $v0, ($s0)
/* E241F4 802B61B4 04410012 */ bgez $v0, .L802B6200
/* E241F8 802B61B8 3C118000 */ lui $s1, 0x8000
/* E241FC 802B61BC 3C028016 */ lui $v0, %hi(gCollisionStatus)
/* E24200 802B61C0 2442A550 */ addiu $v0, $v0, %lo(gCollisionStatus)
/* E24204 802B61C4 0C04417A */ jal get_entity_by_index
/* E24208 802B61C8 84440002 */ lh $a0, 2($v0)
/* E2420C 802B61CC C4400048 */ lwc1 $f0, 0x48($v0)
/* E24210 802B61D0 C4420050 */ lwc1 $f2, 0x50($v0)
/* E24214 802B61D4 3C018011 */ lui $at, %hi(D_8010C960)
/* E24218 802B61D8 E420C960 */ swc1 $f0, %lo(D_8010C960)($at)
/* E2421C 802B61DC 3C018011 */ lui $at, %hi(D_8010C97C)
/* E24220 802B61E0 E422C97C */ swc1 $f2, %lo(D_8010C97C)($at)
/* E24224 802B61E4 0C0AD800 */ jal func_802B6000_E24040
/* E24228 802B61E8 00000000 */ nop
/* E2422C 802B61EC 8E020000 */ lw $v0, ($s0)
/* E24230 802B61F0 3C030088 */ lui $v1, 0x88
/* E24234 802B61F4 00431025 */ or $v0, $v0, $v1
/* E24238 802B61F8 0C03805E */ jal disable_player_input
/* E2423C 802B61FC AE020000 */ sw $v0, ($s0)
.L802B6200:
/* E24240 802B6200 960200C0 */ lhu $v0, 0xc0($s0)
/* E24244 802B6204 820300B6 */ lb $v1, 0xb6($s0)
/* E24248 802B6208 24420001 */ addiu $v0, $v0, 1
/* E2424C 802B620C A60200C0 */ sh $v0, 0xc0($s0)
/* E24250 802B6210 24020001 */ addiu $v0, $zero, 1
/* E24254 802B6214 1462001A */ bne $v1, $v0, .L802B6280
/* E24258 802B6218 00000000 */ nop
/* E2425C 802B621C 8E050000 */ lw $a1, ($s0)
/* E24260 802B6220 00B11024 */ and $v0, $a1, $s1
/* E24264 802B6224 10400013 */ beqz $v0, .L802B6274
/* E24268 802B6228 3C037FFF */ lui $v1, 0x7fff
/* E2426C 802B622C 3463FFF5 */ ori $v1, $v1, 0xfff5
/* E24270 802B6230 3C040006 */ lui $a0, 6
/* E24274 802B6234 3484000A */ ori $a0, $a0, 0xa
/* E24278 802B6238 00A31824 */ and $v1, $a1, $v1
/* E2427C 802B623C 8E020004 */ lw $v0, 4($s0)
/* E24280 802B6240 34630004 */ ori $v1, $v1, 4
/* E24284 802B6244 30420003 */ andi $v0, $v0, 3
/* E24288 802B6248 14400003 */ bnez $v0, .L802B6258
/* E2428C 802B624C AE030000 */ sw $v1, ($s0)
/* E24290 802B6250 3C040001 */ lui $a0, 1
/* E24294 802B6254 34840008 */ ori $a0, $a0, 8
.L802B6258:
/* E24298 802B6258 0C037FBF */ jal func_800DFEFC
/* E2429C 802B625C 00000000 */ nop
/* E242A0 802B6260 3C03800B */ lui $v1, %hi(gCameras)
/* E242A4 802B6264 24631D80 */ addiu $v1, $v1, %lo(gCameras)
/* E242A8 802B6268 94620002 */ lhu $v0, 2($v1)
/* E242AC 802B626C 34420001 */ ori $v0, $v0, 1
/* E242B0 802B6270 A4620002 */ sh $v0, 2($v1)
.L802B6274:
/* E242B4 802B6274 920200B6 */ lbu $v0, 0xb6($s0)
/* E242B8 802B6278 24420001 */ addiu $v0, $v0, 1
/* E242BC 802B627C A20200B6 */ sb $v0, 0xb6($s0)
.L802B6280:
/* E242C0 802B6280 8FBF0018 */ lw $ra, 0x18($sp)
/* E242C4 802B6284 8FB10014 */ lw $s1, 0x14($sp)
/* E242C8 802B6288 8FB00010 */ lw $s0, 0x10($sp)
/* E242CC 802B628C 03E00008 */ jr $ra
/* E242D0 802B6290 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,54 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6294_E242D4
/* E242D4 802B6294 27BDFFE8 */ addiu $sp, $sp, -0x18
/* E242D8 802B6298 AFB00010 */ sw $s0, 0x10($sp)
/* E242DC 802B629C 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* E242E0 802B62A0 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* E242E4 802B62A4 AFBF0014 */ sw $ra, 0x14($sp)
/* E242E8 802B62A8 8E050004 */ lw $a1, 4($s0)
/* E242EC 802B62AC 30A21000 */ andi $v0, $a1, 0x1000
/* E242F0 802B62B0 10400005 */ beqz $v0, .L802B62C8
/* E242F4 802B62B4 00000000 */ nop
/* E242F8 802B62B8 0C0AD91F */ jal func_802B647C_E244BC
/* E242FC 802B62BC 00000000 */ nop
/* E24300 802B62C0 080AD8CE */ j .L802B6338
/* E24304 802B62C4 00000000 */ nop
.L802B62C8:
/* E24308 802B62C8 8E030000 */ lw $v1, ($s0)
/* E2430C 802B62CC 04610017 */ bgez $v1, .L802B632C
/* E24310 802B62D0 3C027FFF */ lui $v0, 0x7fff
/* E24314 802B62D4 3442FFF5 */ ori $v0, $v0, 0xfff5
/* E24318 802B62D8 00621024 */ and $v0, $v1, $v0
/* E2431C 802B62DC 34420004 */ ori $v0, $v0, 4
/* E24320 802B62E0 AE020000 */ sw $v0, ($s0)
/* E24324 802B62E4 30A24000 */ andi $v0, $a1, 0x4000
/* E24328 802B62E8 10400003 */ beqz $v0, .L802B62F8
/* E2432C 802B62EC 3C040009 */ lui $a0, 9
/* E24330 802B62F0 080AD8C4 */ j .L802B6310
/* E24334 802B62F4 34840005 */ ori $a0, $a0, 5
.L802B62F8:
/* E24338 802B62F8 3C040006 */ lui $a0, 6
/* E2433C 802B62FC 30A20003 */ andi $v0, $a1, 3
/* E24340 802B6300 14400003 */ bnez $v0, .L802B6310
/* E24344 802B6304 3484000A */ ori $a0, $a0, 0xa
/* E24348 802B6308 3C040001 */ lui $a0, 1
/* E2434C 802B630C 34840008 */ ori $a0, $a0, 8
.L802B6310:
/* E24350 802B6310 0C037FBF */ jal func_800DFEFC
/* E24354 802B6314 00000000 */ nop
/* E24358 802B6318 3C03800B */ lui $v1, %hi(gCameras)
/* E2435C 802B631C 24631D80 */ addiu $v1, $v1, %lo(gCameras)
/* E24360 802B6320 94620002 */ lhu $v0, 2($v1)
/* E24364 802B6324 34420001 */ ori $v0, $v0, 1
/* E24368 802B6328 A4620002 */ sh $v0, 2($v1)
.L802B632C:
/* E2436C 802B632C 960200C0 */ lhu $v0, 0xc0($s0)
/* E24370 802B6330 24420001 */ addiu $v0, $v0, 1
/* E24374 802B6334 A60200C0 */ sh $v0, 0xc0($s0)
.L802B6338:
/* E24378 802B6338 8FBF0014 */ lw $ra, 0x14($sp)
/* E2437C 802B633C 8FB00010 */ lw $s0, 0x10($sp)
/* E24380 802B6340 03E00008 */ jr $ra
/* E24384 802B6344 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -0,0 +1,84 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6348_E24388
/* E24388 802B6348 27BDFFB0 */ addiu $sp, $sp, -0x50
/* E2438C 802B634C 3C058011 */ lui $a1, %hi(gPlayerStatus)
/* E24390 802B6350 24A5EFC8 */ addiu $a1, $a1, %lo(gPlayerStatus)
/* E24394 802B6354 AFBF004C */ sw $ra, 0x4c($sp)
/* E24398 802B6358 AFB00048 */ sw $s0, 0x48($sp)
/* E2439C 802B635C 8CA20004 */ lw $v0, 4($a1)
/* E243A0 802B6360 30421000 */ andi $v0, $v0, 0x1000
/* E243A4 802B6364 10400005 */ beqz $v0, .L802B637C
/* E243A8 802B6368 00A0802D */ daddu $s0, $a1, $zero
/* E243AC 802B636C 0C0AD942 */ jal func_802B6508_E24548
/* E243B0 802B6370 00000000 */ nop
/* E243B4 802B6374 080AD91B */ j .L802B646C
/* E243B8 802B6378 00000000 */ nop
.L802B637C:
/* E243BC 802B637C 8CA30000 */ lw $v1, ($a1)
/* E243C0 802B6380 0461000A */ bgez $v1, .L802B63AC
/* E243C4 802B6384 3C027FFF */ lui $v0, 0x7fff
/* E243C8 802B6388 3442FFF5 */ ori $v0, $v0, 0xfff5
/* E243CC 802B638C 00621024 */ and $v0, $v1, $v0
/* E243D0 802B6390 3C04800B */ lui $a0, %hi(gCameras)
/* E243D4 802B6394 24841D80 */ addiu $a0, $a0, %lo(gCameras)
/* E243D8 802B6398 94830002 */ lhu $v1, 2($a0)
/* E243DC 802B639C 34420004 */ ori $v0, $v0, 4
/* E243E0 802B63A0 ACA20000 */ sw $v0, ($a1)
/* E243E4 802B63A4 34630001 */ ori $v1, $v1, 1
/* E243E8 802B63A8 A4830002 */ sh $v1, 2($a0)
.L802B63AC:
/* E243EC 802B63AC 960200C0 */ lhu $v0, 0xc0($s0)
/* E243F0 802B63B0 24420001 */ addiu $v0, $v0, 1
/* E243F4 802B63B4 0C039454 */ jal func_800E5150
/* E243F8 802B63B8 A60200C0 */ sh $v0, 0xc0($s0)
/* E243FC 802B63BC 0200202D */ daddu $a0, $s0, $zero
/* E24400 802B63C0 27A50028 */ addiu $a1, $sp, 0x28
/* E24404 802B63C4 27A6002C */ addiu $a2, $sp, 0x2c
/* E24408 802B63C8 C6000028 */ lwc1 $f0, 0x28($s0)
/* E2440C 802B63CC C602002C */ lwc1 $f2, 0x2c($s0)
/* E24410 802B63D0 C6040030 */ lwc1 $f4, 0x30($s0)
/* E24414 802B63D4 860200B0 */ lh $v0, 0xb0($s0)
/* E24418 802B63D8 27A70030 */ addiu $a3, $sp, 0x30
/* E2441C 802B63DC E7A00028 */ swc1 $f0, 0x28($sp)
/* E24420 802B63E0 44820000 */ mtc1 $v0, $f0
/* E24424 802B63E4 00000000 */ nop
/* E24428 802B63E8 46800020 */ cvt.s.w $f0, $f0
/* E2442C 802B63EC 27A20034 */ addiu $v0, $sp, 0x34
/* E24430 802B63F0 E7A2002C */ swc1 $f2, 0x2c($sp)
/* E24434 802B63F4 E7A40030 */ swc1 $f4, 0x30($sp)
/* E24438 802B63F8 E7A00034 */ swc1 $f0, 0x34($sp)
/* E2443C 802B63FC AFA20010 */ sw $v0, 0x10($sp)
/* E24440 802B6400 27A20038 */ addiu $v0, $sp, 0x38
/* E24444 802B6404 AFA20014 */ sw $v0, 0x14($sp)
/* E24448 802B6408 27A2003C */ addiu $v0, $sp, 0x3c
/* E2444C 802B640C AFA20018 */ sw $v0, 0x18($sp)
/* E24450 802B6410 27A20040 */ addiu $v0, $sp, 0x40
/* E24454 802B6414 AFA2001C */ sw $v0, 0x1c($sp)
/* E24458 802B6418 27A20044 */ addiu $v0, $sp, 0x44
/* E2445C 802B641C 0C03791B */ jal func_800DE46C
/* E24460 802B6420 AFA20020 */ sw $v0, 0x20($sp)
/* E24464 802B6424 0C016F6A */ jal get_collider_type_by_id
/* E24468 802B6428 0040202D */ daddu $a0, $v0, $zero
/* E2446C 802B642C 304200FF */ andi $v0, $v0, 0xff
/* E24470 802B6430 2442FFFE */ addiu $v0, $v0, -2
/* E24474 802B6434 2C420002 */ sltiu $v0, $v0, 2
/* E24478 802B6438 1440000C */ bnez $v0, .L802B646C
/* E2447C 802B643C 00000000 */ nop
/* E24480 802B6440 0C039858 */ jal check_input_jump
/* E24484 802B6444 00000000 */ nop
/* E24488 802B6448 10400008 */ beqz $v0, .L802B646C
/* E2448C 802B644C 00000000 */ nop
/* E24490 802B6450 0C039769 */ jal set_action_state
/* E24494 802B6454 24040003 */ addiu $a0, $zero, 3
/* E24498 802B6458 8E020000 */ lw $v0, ($s0)
/* E2449C 802B645C 2403FFF1 */ addiu $v1, $zero, -0xf
/* E244A0 802B6460 00431024 */ and $v0, $v0, $v1
/* E244A4 802B6464 0C0AD82D */ jal func_802B60B4_E240F4
/* E244A8 802B6468 AE020000 */ sw $v0, ($s0)
.L802B646C:
/* E244AC 802B646C 8FBF004C */ lw $ra, 0x4c($sp)
/* E244B0 802B6470 8FB00048 */ lw $s0, 0x48($sp)
/* E244B4 802B6474 03E00008 */ jr $ra
/* E244B8 802B6478 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -0,0 +1,41 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B647C_E244BC
/* E244BC 802B647C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* E244C0 802B6480 AFB00010 */ sw $s0, 0x10($sp)
/* E244C4 802B6484 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* E244C8 802B6488 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* E244CC 802B648C AFBF0014 */ sw $ra, 0x14($sp)
/* E244D0 802B6490 8E030000 */ lw $v1, ($s0)
/* E244D4 802B6494 04610015 */ bgez $v1, .L802B64EC
/* E244D8 802B6498 3C027FFF */ lui $v0, 0x7fff
/* E244DC 802B649C 3442FFFF */ ori $v0, $v0, 0xffff
/* E244E0 802B64A0 3C04000A */ lui $a0, 0xa
/* E244E4 802B64A4 34840006 */ ori $a0, $a0, 6
/* E244E8 802B64A8 00621024 */ and $v0, $v1, $v0
/* E244EC 802B64AC 2403FFF5 */ addiu $v1, $zero, -0xb
/* E244F0 802B64B0 00431024 */ and $v0, $v0, $v1
/* E244F4 802B64B4 8E030004 */ lw $v1, 4($s0)
/* E244F8 802B64B8 34420004 */ ori $v0, $v0, 4
/* E244FC 802B64BC 30631000 */ andi $v1, $v1, 0x1000
/* E24500 802B64C0 14600003 */ bnez $v1, .L802B64D0
/* E24504 802B64C4 AE020000 */ sw $v0, ($s0)
/* E24508 802B64C8 3C040001 */ lui $a0, 1
/* E2450C 802B64CC 34840008 */ ori $a0, $a0, 8
.L802B64D0:
/* E24510 802B64D0 0C037FBF */ jal func_800DFEFC
/* E24514 802B64D4 00000000 */ nop
/* E24518 802B64D8 3C03800B */ lui $v1, %hi(gCameras)
/* E2451C 802B64DC 24631D80 */ addiu $v1, $v1, %lo(gCameras)
/* E24520 802B64E0 94620002 */ lhu $v0, 2($v1)
/* E24524 802B64E4 34420001 */ ori $v0, $v0, 1
/* E24528 802B64E8 A4620002 */ sh $v0, 2($v1)
.L802B64EC:
/* E2452C 802B64EC 960200C0 */ lhu $v0, 0xc0($s0)
/* E24530 802B64F0 24420001 */ addiu $v0, $v0, 1
/* E24534 802B64F4 A60200C0 */ sh $v0, 0xc0($s0)
/* E24538 802B64F8 8FBF0014 */ lw $ra, 0x14($sp)
/* E2453C 802B64FC 8FB00010 */ lw $s0, 0x10($sp)
/* E24540 802B6500 03E00008 */ jr $ra
/* E24544 802B6504 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -0,0 +1,39 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6508_E24548
/* E24548 802B6508 27BDFFE8 */ addiu $sp, $sp, -0x18
/* E2454C 802B650C AFB00010 */ sw $s0, 0x10($sp)
/* E24550 802B6510 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* E24554 802B6514 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* E24558 802B6518 AFBF0014 */ sw $ra, 0x14($sp)
/* E2455C 802B651C 8E030000 */ lw $v1, ($s0)
/* E24560 802B6520 04610012 */ bgez $v1, .L802B656C
/* E24564 802B6524 3C027FFF */ lui $v0, 0x7fff
/* E24568 802B6528 3442FFFF */ ori $v0, $v0, 0xffff
/* E2456C 802B652C 00621024 */ and $v0, $v1, $v0
/* E24570 802B6530 2403FFF5 */ addiu $v1, $zero, -0xb
/* E24574 802B6534 00431024 */ and $v0, $v0, $v1
/* E24578 802B6538 34420004 */ ori $v0, $v0, 4
/* E2457C 802B653C 3C04800B */ lui $a0, %hi(gCameras)
/* E24580 802B6540 24841D80 */ addiu $a0, $a0, %lo(gCameras)
/* E24584 802B6544 AE020000 */ sw $v0, ($s0)
/* E24588 802B6548 94820002 */ lhu $v0, 2($a0)
/* E2458C 802B654C 8E030004 */ lw $v1, 4($s0)
/* E24590 802B6550 34420001 */ ori $v0, $v0, 1
/* E24594 802B6554 30631000 */ andi $v1, $v1, 0x1000
/* E24598 802B6558 10600004 */ beqz $v1, .L802B656C
/* E2459C 802B655C A4820002 */ sh $v0, 2($a0)
/* E245A0 802B6560 3C04000A */ lui $a0, 0xa
/* E245A4 802B6564 0C037FBF */ jal func_800DFEFC
/* E245A8 802B6568 34840006 */ ori $a0, $a0, 6
.L802B656C:
/* E245AC 802B656C 960200C0 */ lhu $v0, 0xc0($s0)
/* E245B0 802B6570 24420001 */ addiu $v0, $v0, 1
/* E245B4 802B6574 0C039454 */ jal func_800E5150
/* E245B8 802B6578 A60200C0 */ sh $v0, 0xc0($s0)
/* E245BC 802B657C 8FBF0014 */ lw $ra, 0x14($sp)
/* E245C0 802B6580 8FB00010 */ lw $s0, 0x10($sp)
/* E245C4 802B6584 03E00008 */ jr $ra
/* E245C8 802B6588 27BD0018 */ addiu $sp, $sp, 0x18
/* E245CC 802B658C 00000000 */ nop

View File

@ -0,0 +1,114 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6000_E245D0
/* E245D0 802B6000 27BDFFD8 */ addiu $sp, $sp, -0x28
/* E245D4 802B6004 AFB00020 */ sw $s0, 0x20($sp)
/* E245D8 802B6008 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* E245DC 802B600C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* E245E0 802B6010 AFBF0024 */ sw $ra, 0x24($sp)
/* E245E4 802B6014 8E030000 */ lw $v1, ($s0)
/* E245E8 802B6018 04610024 */ bgez $v1, .L802B60AC
/* E245EC 802B601C 3C027FFF */ lui $v0, 0x7fff
/* E245F0 802B6020 3442FFFF */ ori $v0, $v0, 0xffff
/* E245F4 802B6024 00621024 */ and $v0, $v1, $v0
/* E245F8 802B6028 0C03954C */ jal func_800E5530
/* E245FC 802B602C AE020000 */ sw $v0, ($s0)
/* E24600 802B6030 8E030004 */ lw $v1, 4($s0)
/* E24604 802B6034 30621000 */ andi $v0, $v1, 0x1000
/* E24608 802B6038 14400009 */ bnez $v0, .L802B6060
/* E2460C 802B603C 30620001 */ andi $v0, $v1, 1
/* E24610 802B6040 14400003 */ bnez $v0, .L802B6050
/* E24614 802B6044 3C040006 */ lui $a0, 6
/* E24618 802B6048 3C040001 */ lui $a0, 1
/* E2461C 802B604C 34840004 */ ori $a0, $a0, 4
.L802B6050:
/* E24620 802B6050 0C037FBF */ jal func_800DFEFC
/* E24624 802B6054 00000000 */ nop
/* E24628 802B6058 080AD81A */ j .L802B6068
/* E2462C 802B605C 00000000 */ nop
.L802B6060:
/* E24630 802B6060 0C0AD866 */ jal func_802B6198_E24768
/* E24634 802B6064 00000000 */ nop
.L802B6068:
/* E24638 802B6068 3C01418E */ lui $at, 0x418e
/* E2463C 802B606C 34210D84 */ ori $at, $at, 0xd84
/* E24640 802B6070 44810000 */ mtc1 $at, $f0
/* E24644 802B6074 3C01C136 */ lui $at, 0xc136
/* E24648 802B6078 34212DE0 */ ori $at, $at, 0x2de0
/* E2464C 802B607C 44811000 */ mtc1 $at, $f2
/* E24650 802B6080 3C014060 */ lui $at, 0x4060
/* E24654 802B6084 44812000 */ mtc1 $at, $f4
/* E24658 802B6088 3C01BF40 */ lui $at, 0xbf40
/* E2465C 802B608C 44813000 */ mtc1 $at, $f6
/* E24660 802B6090 A20000B6 */ sb $zero, 0xb6($s0)
/* E24664 802B6094 A60000C0 */ sh $zero, 0xc0($s0)
/* E24668 802B6098 A60000C2 */ sh $zero, 0xc2($s0)
/* E2466C 802B609C E6000070 */ swc1 $f0, 0x70($s0)
/* E24670 802B60A0 E6020074 */ swc1 $f2, 0x74($s0)
/* E24674 802B60A4 E6040078 */ swc1 $f4, 0x78($s0)
/* E24678 802B60A8 E606007C */ swc1 $f6, 0x7c($s0)
.L802B60AC:
/* E2467C 802B60AC 0C038D12 */ jal integrate_gravity
/* E24680 802B60B0 00000000 */ nop
/* E24684 802B60B4 C60C0080 */ lwc1 $f12, 0x80($s0)
/* E24688 802B60B8 3C0140C9 */ lui $at, 0x40c9
/* E2468C 802B60BC 34210FD0 */ ori $at, $at, 0xfd0
/* E24690 802B60C0 44810000 */ mtc1 $at, $f0
/* E24694 802B60C4 00000000 */ nop
/* E24698 802B60C8 46006302 */ mul.s $f12, $f12, $f0
/* E2469C 802B60CC 00000000 */ nop
/* E246A0 802B60D0 27A50010 */ addiu $a1, $sp, 0x10
/* E246A4 802B60D4 3C0143B4 */ lui $at, 0x43b4
/* E246A8 802B60D8 44810000 */ mtc1 $at, $f0
/* E246AC 802B60DC 27A60014 */ addiu $a2, $sp, 0x14
/* E246B0 802B60E0 0C00A82D */ jal sin_cos_rad
/* E246B4 802B60E4 46006303 */ div.s $f12, $f12, $f0
/* E246B8 802B60E8 C7A00010 */ lwc1 $f0, 0x10($sp)
/* E246BC 802B60EC 3C014040 */ lui $at, 0x4040
/* E246C0 802B60F0 44811000 */ mtc1 $at, $f2
/* E246C4 802B60F4 00000000 */ nop
/* E246C8 802B60F8 46020002 */ mul.s $f0, $f0, $f2
/* E246CC 802B60FC 00000000 */ nop
/* E246D0 802B6100 C7A40014 */ lwc1 $f4, 0x14($sp)
/* E246D4 802B6104 46022102 */ mul.s $f4, $f4, $f2
/* E246D8 802B6108 00000000 */ nop
/* E246DC 802B610C 2402FFFF */ addiu $v0, $zero, -1
/* E246E0 802B6110 C6020028 */ lwc1 $f2, 0x28($s0)
/* E246E4 802B6114 C60C0070 */ lwc1 $f12, 0x70($s0)
/* E246E8 802B6118 46001080 */ add.s $f2, $f2, $f0
/* E246EC 802B611C 44803000 */ mtc1 $zero, $f6
/* E246F0 802B6120 C6000030 */ lwc1 $f0, 0x30($s0)
/* E246F4 802B6124 4606603C */ c.lt.s $f12, $f6
/* E246F8 802B6128 46040001 */ sub.s $f0, $f0, $f4
/* E246FC 802B612C AFA20018 */ sw $v0, 0x18($sp)
/* E24700 802B6130 E6020028 */ swc1 $f2, 0x28($s0)
/* E24704 802B6134 45000005 */ bc1f .L802B614C
/* E24708 802B6138 E6000030 */ swc1 $f0, 0x30($s0)
/* E2470C 802B613C 0C038D45 */ jal func_800E3514
/* E24710 802B6140 27A50018 */ addiu $a1, $sp, 0x18
/* E24714 802B6144 080AD856 */ j .L802B6158
/* E24718 802B6148 E600002C */ swc1 $f0, 0x2c($s0)
.L802B614C:
/* E2471C 802B614C C600002C */ lwc1 $f0, 0x2c($s0)
/* E24720 802B6150 460C0000 */ add.s $f0, $f0, $f12
/* E24724 802B6154 E600002C */ swc1 $f0, 0x2c($s0)
.L802B6158:
/* E24728 802B6158 8FA20018 */ lw $v0, 0x18($sp)
/* E2472C 802B615C 0440000A */ bltz $v0, .L802B6188
/* E24730 802B6160 2402001A */ addiu $v0, $zero, 0x1a
/* E24734 802B6164 820400B5 */ lb $a0, 0xb5($s0)
/* E24738 802B6168 10820005 */ beq $a0, $v0, .L802B6180
/* E2473C 802B616C 00000000 */ nop
/* E24740 802B6170 0C039769 */ jal set_action_state
/* E24744 802B6174 00000000 */ nop
/* E24748 802B6178 080AD862 */ j .L802B6188
/* E2474C 802B617C 00000000 */ nop
.L802B6180:
/* E24750 802B6180 0C0397DA */ jal update_locomotion_state
/* E24754 802B6184 00000000 */ nop
.L802B6188:
/* E24758 802B6188 8FBF0024 */ lw $ra, 0x24($sp)
/* E2475C 802B618C 8FB00020 */ lw $s0, 0x20($sp)
/* E24760 802B6190 03E00008 */ jr $ra
/* E24764 802B6194 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -0,0 +1,45 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6198_E24768
/* E24768 802B6198 27BDFFE8 */ addiu $sp, $sp, -0x18
/* E2476C 802B619C 3C038011 */ lui $v1, %hi(gPlayerStatus)
/* E24770 802B61A0 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus)
/* E24774 802B61A4 AFBF0010 */ sw $ra, 0x10($sp)
/* E24778 802B61A8 8C620004 */ lw $v0, 4($v1)
/* E2477C 802B61AC 30422000 */ andi $v0, $v0, 0x2000
/* E24780 802B61B0 14400013 */ bnez $v0, .L802B6200
/* E24784 802B61B4 00000000 */ nop
/* E24788 802B61B8 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* E2478C 802B61BC 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1)
/* E24790 802B61C0 9062007E */ lbu $v0, 0x7e($v1)
/* E24794 802B61C4 30420010 */ andi $v0, $v0, 0x10
/* E24798 802B61C8 14400009 */ bnez $v0, .L802B61F0
/* E2479C 802B61CC 3C04000D */ lui $a0, 0xd
/* E247A0 802B61D0 90620080 */ lbu $v0, 0x80($v1)
/* E247A4 802B61D4 00021080 */ sll $v0, $v0, 2
/* E247A8 802B61D8 3C04802B */ lui $a0, %hi(D_802B6300)
/* E247AC 802B61DC 00822021 */ addu $a0, $a0, $v0
/* E247B0 802B61E0 0C037FBF */ jal func_800DFEFC
/* E247B4 802B61E4 8C846300 */ lw $a0, %lo(D_802B6300)($a0)
/* E247B8 802B61E8 080AD889 */ j .L802B6224
/* E247BC 802B61EC 00000000 */ nop
.L802B61F0:
/* E247C0 802B61F0 0C037FBF */ jal func_800DFEFC
/* E247C4 802B61F4 3484000D */ ori $a0, $a0, 0xd
/* E247C8 802B61F8 080AD889 */ j .L802B6224
/* E247CC 802B61FC 00000000 */ nop
.L802B6200:
/* E247D0 802B6200 8063000C */ lb $v1, 0xc($v1)
/* E247D4 802B6204 00031040 */ sll $v0, $v1, 1
/* E247D8 802B6208 00431021 */ addu $v0, $v0, $v1
/* E247DC 802B620C 000210C0 */ sll $v0, $v0, 3
/* E247E0 802B6210 3C04800F */ lui $a0, %hi(D_800F7C20)
/* E247E4 802B6214 00822021 */ addu $a0, $a0, $v0
/* E247E8 802B6218 8C847C20 */ lw $a0, %lo(D_800F7C20)($a0)
/* E247EC 802B621C 0C0398DB */ jal func_800E636C
/* E247F0 802B6220 00000000 */ nop
.L802B6224:
/* E247F4 802B6224 8FBF0010 */ lw $ra, 0x10($sp)
/* E247F8 802B6228 03E00008 */ jr $ra
/* E247FC 802B622C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -0,0 +1,60 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6230_E24800
/* E24800 802B6230 27BDFFE0 */ addiu $sp, $sp, -0x20
/* E24804 802B6234 AFB00010 */ sw $s0, 0x10($sp)
/* E24808 802B6238 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* E2480C 802B623C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* E24810 802B6240 AFBF0018 */ sw $ra, 0x18($sp)
/* E24814 802B6244 AFB10014 */ sw $s1, 0x14($sp)
/* E24818 802B6248 8E030000 */ lw $v1, ($s0)
/* E2481C 802B624C 0461000A */ bgez $v1, .L802B6278
/* E24820 802B6250 0200882D */ daddu $s1, $s0, $zero
/* E24824 802B6254 3C027FFF */ lui $v0, 0x7fff
/* E24828 802B6258 3442FFFF */ ori $v0, $v0, 0xffff
/* E2482C 802B625C 3C04000A */ lui $a0, 0xa
/* E24830 802B6260 34840005 */ ori $a0, $a0, 5
/* E24834 802B6264 00621024 */ and $v0, $v1, $v0
/* E24838 802B6268 0C037FBF */ jal func_800DFEFC
/* E2483C 802B626C AE020000 */ sw $v0, ($s0)
/* E24840 802B6270 24020008 */ addiu $v0, $zero, 8
/* E24844 802B6274 A6020008 */ sh $v0, 8($s0)
.L802B6278:
/* E24848 802B6278 86020008 */ lh $v0, 8($s0)
/* E2484C 802B627C 96030008 */ lhu $v1, 8($s0)
/* E24850 802B6280 1040000B */ beqz $v0, .L802B62B0
/* E24854 802B6284 2462FFFF */ addiu $v0, $v1, -1
/* E24858 802B6288 A6020008 */ sh $v0, 8($s0)
/* E2485C 802B628C 00021400 */ sll $v0, $v0, 0x10
/* E24860 802B6290 00021403 */ sra $v0, $v0, 0x10
/* E24864 802B6294 24030004 */ addiu $v1, $zero, 4
/* E24868 802B6298 14430012 */ bne $v0, $v1, .L802B62E4
/* E2486C 802B629C 00000000 */ nop
/* E24870 802B62A0 0C039426 */ jal func_800E5098
/* E24874 802B62A4 24040001 */ addiu $a0, $zero, 1
/* E24878 802B62A8 080AD8B9 */ j .L802B62E4
/* E2487C 802B62AC 00000000 */ nop
.L802B62B0:
/* E24880 802B62B0 8E020000 */ lw $v0, ($s0)
/* E24884 802B62B4 30424000 */ andi $v0, $v0, 0x4000
/* E24888 802B62B8 10400008 */ beqz $v0, .L802B62DC
/* E2488C 802B62BC 0000202D */ daddu $a0, $zero, $zero
/* E24890 802B62C0 C6220054 */ lwc1 $f2, 0x54($s1)
/* E24894 802B62C4 C620005C */ lwc1 $f0, 0x5c($s1)
/* E24898 802B62C8 4602003E */ c.le.s $f0, $f2
/* E2489C 802B62CC 00000000 */ nop
/* E248A0 802B62D0 45000002 */ bc1f .L802B62DC
/* E248A4 802B62D4 24040001 */ addiu $a0, $zero, 1
/* E248A8 802B62D8 24040002 */ addiu $a0, $zero, 2
.L802B62DC:
/* E248AC 802B62DC 0C039769 */ jal set_action_state
/* E248B0 802B62E0 00000000 */ nop
.L802B62E4:
/* E248B4 802B62E4 8FBF0018 */ lw $ra, 0x18($sp)
/* E248B8 802B62E8 8FB10014 */ lw $s1, 0x14($sp)
/* E248BC 802B62EC 8FB00010 */ lw $s0, 0x10($sp)
/* E248C0 802B62F0 03E00008 */ jr $ra
/* E248C4 802B62F4 27BD0020 */ addiu $sp, $sp, 0x20
/* E248C8 802B62F8 00000000 */ nop
/* E248CC 802B62FC 00000000 */ nop

View File

@ -0,0 +1,125 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6000_E24920
/* E24920 802B6000 27BDFFD8 */ addiu $sp, $sp, -0x28
/* E24924 802B6004 AFB1001C */ sw $s1, 0x1c($sp)
/* E24928 802B6008 3C118016 */ lui $s1, %hi(gCollisionStatus)
/* E2492C 802B600C 2631A550 */ addiu $s1, $s1, %lo(gCollisionStatus)
/* E24930 802B6010 AFB00018 */ sw $s0, 0x18($sp)
/* E24934 802B6014 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* E24938 802B6018 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* E2493C 802B601C AFBF0024 */ sw $ra, 0x24($sp)
/* E24940 802B6020 AFB20020 */ sw $s2, 0x20($sp)
/* E24944 802B6024 8E050004 */ lw $a1, 4($s0)
/* E24948 802B6028 3C12800B */ lui $s2, %hi(gCameras)
/* E2494C 802B602C 26521D80 */ addiu $s2, $s2, %lo(gCameras)
/* E24950 802B6030 30A21000 */ andi $v0, $a1, 0x1000
/* E24954 802B6034 10400005 */ beqz $v0, .L802B604C
/* E24958 802B6038 00000000 */ nop
/* E2495C 802B603C 0C0AD8B3 */ jal func_802B62CC_E24BEC
/* E24960 802B6040 00000000 */ nop
/* E24964 802B6044 080AD86A */ j .L802B61A8
/* E24968 802B6048 00000000 */ nop
.L802B604C:
/* E2496C 802B604C 8E030000 */ lw $v1, ($s0)
/* E24970 802B6050 0461002E */ bgez $v1, .L802B610C
/* E24974 802B6054 3C027F77 */ lui $v0, 0x7f77
/* E24978 802B6058 3442FFF1 */ ori $v0, $v0, 0xfff1
/* E2497C 802B605C C6000028 */ lwc1 $f0, 0x28($s0)
/* E24980 802B6060 C6020030 */ lwc1 $f2, 0x30($s0)
/* E24984 802B6064 00621024 */ and $v0, $v1, $v0
/* E24988 802B6068 AE020000 */ sw $v0, ($s0)
/* E2498C 802B606C 30A24000 */ andi $v0, $a1, 0x4000
/* E24990 802B6070 A20000B6 */ sb $zero, 0xb6($s0)
/* E24994 802B6074 A60000C0 */ sh $zero, 0xc0($s0)
/* E24998 802B6078 A60000C2 */ sh $zero, 0xc2($s0)
/* E2499C 802B607C E6000044 */ swc1 $f0, 0x44($s0)
/* E249A0 802B6080 10400004 */ beqz $v0, .L802B6094
/* E249A4 802B6084 E6020048 */ swc1 $f2, 0x48($s0)
/* E249A8 802B6088 3C040009 */ lui $a0, 9
/* E249AC 802B608C 080AD82B */ j .L802B60AC
/* E249B0 802B6090 34840002 */ ori $a0, $a0, 2
.L802B6094:
/* E249B4 802B6094 3C040006 */ lui $a0, 6
/* E249B8 802B6098 30A20001 */ andi $v0, $a1, 1
/* E249BC 802B609C 14400003 */ bnez $v0, .L802B60AC
/* E249C0 802B60A0 3484000B */ ori $a0, $a0, 0xb
/* E249C4 802B60A4 3C040001 */ lui $a0, 1
/* E249C8 802B60A8 34840009 */ ori $a0, $a0, 9
.L802B60AC:
/* E249CC 802B60AC 0C037FBF */ jal func_800DFEFC
/* E249D0 802B60B0 00000000 */ nop
/* E249D4 802B60B4 34048161 */ ori $a0, $zero, 0x8161
/* E249D8 802B60B8 0C052736 */ jal play_sound_at_player
/* E249DC 802B60BC 0000282D */ daddu $a1, $zero, $zero
/* E249E0 802B60C0 24040148 */ addiu $a0, $zero, 0x148
/* E249E4 802B60C4 0C052736 */ jal play_sound_at_player
/* E249E8 802B60C8 0000282D */ daddu $a1, $zero, $zero
/* E249EC 802B60CC 96220002 */ lhu $v0, 2($s1)
/* E249F0 802B60D0 30424000 */ andi $v0, $v0, 0x4000
/* E249F4 802B60D4 14400004 */ bnez $v0, .L802B60E8
/* E249F8 802B60D8 3C04FFFB */ lui $a0, 0xfffb
/* E249FC 802B60DC 0C03954C */ jal func_800E5530
/* E24A00 802B60E0 00000000 */ nop
/* E24A04 802B60E4 3C04FFFB */ lui $a0, 0xfffb
.L802B60E8:
/* E24A08 802B60E8 3484FFFF */ ori $a0, $a0, 0xffff
/* E24A0C 802B60EC 2402FFFF */ addiu $v0, $zero, -1
/* E24A10 802B60F0 A6220004 */ sh $v0, 4($s1)
/* E24A14 802B60F4 8E020004 */ lw $v0, 4($s0)
/* E24A18 802B60F8 96430002 */ lhu $v1, 2($s2)
/* E24A1C 802B60FC 00441024 */ and $v0, $v0, $a0
/* E24A20 802B6100 3063FFFB */ andi $v1, $v1, 0xfffb
/* E24A24 802B6104 AE020004 */ sw $v0, 4($s0)
/* E24A28 802B6108 A6430002 */ sh $v1, 2($s2)
.L802B610C:
/* E24A2C 802B610C C6000054 */ lwc1 $f0, 0x54($s0)
/* E24A30 802B6110 3C013F19 */ lui $at, 0x3f19
/* E24A34 802B6114 3421999A */ ori $at, $at, 0x999a
/* E24A38 802B6118 44811000 */ mtc1 $at, $f2
/* E24A3C 802B611C 27A40010 */ addiu $a0, $sp, 0x10
/* E24A40 802B6120 46020002 */ mul.s $f0, $f0, $f2
/* E24A44 802B6124 00000000 */ nop
/* E24A48 802B6128 920200B6 */ lbu $v0, 0xb6($s0)
/* E24A4C 802B612C 27A50014 */ addiu $a1, $sp, 0x14
/* E24A50 802B6130 24420001 */ addiu $v0, $v0, 1
/* E24A54 802B6134 A20200B6 */ sb $v0, 0xb6($s0)
/* E24A58 802B6138 0C0388C1 */ jal input_to_move_vector
/* E24A5C 802B613C E6000054 */ swc1 $f0, 0x54($s0)
/* E24A60 802B6140 0C039858 */ jal check_input_jump
/* E24A64 802B6144 00000000 */ nop
/* E24A68 802B6148 0040182D */ daddu $v1, $v0, $zero
/* E24A6C 802B614C 14600005 */ bnez $v1, .L802B6164
/* E24A70 802B6150 00000000 */ nop
/* E24A74 802B6154 820200B6 */ lb $v0, 0xb6($s0)
/* E24A78 802B6158 0062102A */ slt $v0, $v1, $v0
/* E24A7C 802B615C 10400012 */ beqz $v0, .L802B61A8
/* E24A80 802B6160 00000000 */ nop
.L802B6164:
/* E24A84 802B6164 C7A00014 */ lwc1 $f0, 0x14($sp)
/* E24A88 802B6168 44801000 */ mtc1 $zero, $f2
/* E24A8C 802B616C 00000000 */ nop
/* E24A90 802B6170 46020032 */ c.eq.s $f0, $f2
/* E24A94 802B6174 00000000 */ nop
/* E24A98 802B6178 45000005 */ bc1f .L802B6190
/* E24A9C 802B617C 00000000 */ nop
/* E24AA0 802B6180 0C039769 */ jal set_action_state
/* E24AA4 802B6184 0000202D */ daddu $a0, $zero, $zero
/* E24AA8 802B6188 080AD86A */ j .L802B61A8
/* E24AAC 802B618C 00000000 */ nop
.L802B6190:
/* E24AB0 802B6190 45010003 */ bc1t .L802B61A0
/* E24AB4 802B6194 00000000 */ nop
/* E24AB8 802B6198 C7A00010 */ lwc1 $f0, 0x10($sp)
/* E24ABC 802B619C E6000080 */ swc1 $f0, 0x80($s0)
.L802B61A0:
/* E24AC0 802B61A0 0C0397DA */ jal update_locomotion_state
/* E24AC4 802B61A4 00000000 */ nop
.L802B61A8:
/* E24AC8 802B61A8 8FBF0024 */ lw $ra, 0x24($sp)
/* E24ACC 802B61AC 8FB20020 */ lw $s2, 0x20($sp)
/* E24AD0 802B61B0 8FB1001C */ lw $s1, 0x1c($sp)
/* E24AD4 802B61B4 8FB00018 */ lw $s0, 0x18($sp)
/* E24AD8 802B61B8 03E00008 */ jr $ra
/* E24ADC 802B61BC 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -0,0 +1,76 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B61C0_E24AE0
/* E24AE0 802B61C0 27BDFFD8 */ addiu $sp, $sp, -0x28
/* E24AE4 802B61C4 3C038016 */ lui $v1, %hi(gCollisionStatus)
/* E24AE8 802B61C8 2463A550 */ addiu $v1, $v1, %lo(gCollisionStatus)
/* E24AEC 802B61CC AFB00018 */ sw $s0, 0x18($sp)
/* E24AF0 802B61D0 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* E24AF4 802B61D4 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* E24AF8 802B61D8 AFBF0020 */ sw $ra, 0x20($sp)
/* E24AFC 802B61DC AFB1001C */ sw $s1, 0x1c($sp)
/* E24B00 802B61E0 8E020004 */ lw $v0, 4($s0)
/* E24B04 802B61E4 30421000 */ andi $v0, $v0, 0x1000
/* E24B08 802B61E8 10400005 */ beqz $v0, .L802B6200
/* E24B0C 802B61EC 0060882D */ daddu $s1, $v1, $zero
/* E24B10 802B61F0 0C0AD913 */ jal func_802B644C_E24D6C
/* E24B14 802B61F4 00000000 */ nop
/* E24B18 802B61F8 080AD8AE */ j .L802B62B8
/* E24B1C 802B61FC 00000000 */ nop
.L802B6200:
/* E24B20 802B6200 8E040000 */ lw $a0, ($s0)
/* E24B24 802B6204 04810012 */ bgez $a0, .L802B6250
/* E24B28 802B6208 3C027F77 */ lui $v0, 0x7f77
/* E24B2C 802B620C 3442FFF1 */ ori $v0, $v0, 0xfff1
/* E24B30 802B6210 C6000028 */ lwc1 $f0, 0x28($s0)
/* E24B34 802B6214 C6020030 */ lwc1 $f2, 0x30($s0)
/* E24B38 802B6218 94630002 */ lhu $v1, 2($v1)
/* E24B3C 802B621C 00821024 */ and $v0, $a0, $v0
/* E24B40 802B6220 AE020000 */ sw $v0, ($s0)
/* E24B44 802B6224 A20000B6 */ sb $zero, 0xb6($s0)
/* E24B48 802B6228 A60000C0 */ sh $zero, 0xc0($s0)
/* E24B4C 802B622C A60000C2 */ sh $zero, 0xc2($s0)
/* E24B50 802B6230 30634000 */ andi $v1, $v1, 0x4000
/* E24B54 802B6234 E6000044 */ swc1 $f0, 0x44($s0)
/* E24B58 802B6238 14600003 */ bnez $v1, .L802B6248
/* E24B5C 802B623C E6020048 */ swc1 $f2, 0x48($s0)
/* E24B60 802B6240 0C03954C */ jal func_800E5530
/* E24B64 802B6244 00000000 */ nop
.L802B6248:
/* E24B68 802B6248 2402FFFF */ addiu $v0, $zero, -1
/* E24B6C 802B624C A6220004 */ sh $v0, 4($s1)
.L802B6250:
/* E24B70 802B6250 C6020054 */ lwc1 $f2, 0x54($s0)
/* E24B74 802B6254 3C013F19 */ lui $at, 0x3f19
/* E24B78 802B6258 3421999A */ ori $at, $at, 0x999a
/* E24B7C 802B625C 44810000 */ mtc1 $at, $f0
/* E24B80 802B6260 27A40010 */ addiu $a0, $sp, 0x10
/* E24B84 802B6264 46001082 */ mul.s $f2, $f2, $f0
/* E24B88 802B6268 00000000 */ nop
/* E24B8C 802B626C 920200B6 */ lbu $v0, 0xb6($s0)
/* E24B90 802B6270 27A50014 */ addiu $a1, $sp, 0x14
/* E24B94 802B6274 24420001 */ addiu $v0, $v0, 1
/* E24B98 802B6278 A20200B6 */ sb $v0, 0xb6($s0)
/* E24B9C 802B627C 0C0388C1 */ jal input_to_move_vector
/* E24BA0 802B6280 E6020054 */ swc1 $f2, 0x54($s0)
/* E24BA4 802B6284 0C039858 */ jal check_input_jump
/* E24BA8 802B6288 00000000 */ nop
/* E24BAC 802B628C C7A20014 */ lwc1 $f2, 0x14($sp)
/* E24BB0 802B6290 44800000 */ mtc1 $zero, $f0
/* E24BB4 802B6294 00000000 */ nop
/* E24BB8 802B6298 46001032 */ c.eq.s $f2, $f0
/* E24BBC 802B629C 00000000 */ nop
/* E24BC0 802B62A0 45010003 */ bc1t .L802B62B0
/* E24BC4 802B62A4 00000000 */ nop
/* E24BC8 802B62A8 C7A00010 */ lwc1 $f0, 0x10($sp)
/* E24BCC 802B62AC E6000080 */ swc1 $f0, 0x80($s0)
.L802B62B0:
/* E24BD0 802B62B0 0C0397DA */ jal update_locomotion_state
/* E24BD4 802B62B4 00000000 */ nop
.L802B62B8:
/* E24BD8 802B62B8 8FBF0020 */ lw $ra, 0x20($sp)
/* E24BDC 802B62BC 8FB1001C */ lw $s1, 0x1c($sp)
/* E24BE0 802B62C0 8FB00018 */ lw $s0, 0x18($sp)
/* E24BE4 802B62C4 03E00008 */ jr $ra
/* E24BE8 802B62C8 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -0,0 +1,105 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B62CC_E24BEC
/* E24BEC 802B62CC 27BDFFD8 */ addiu $sp, $sp, -0x28
/* E24BF0 802B62D0 AFB1001C */ sw $s1, 0x1c($sp)
/* E24BF4 802B62D4 3C118016 */ lui $s1, %hi(gCollisionStatus)
/* E24BF8 802B62D8 2631A550 */ addiu $s1, $s1, %lo(gCollisionStatus)
/* E24BFC 802B62DC AFB00018 */ sw $s0, 0x18($sp)
/* E24C00 802B62E0 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* E24C04 802B62E4 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* E24C08 802B62E8 AFBF0024 */ sw $ra, 0x24($sp)
/* E24C0C 802B62EC AFB20020 */ sw $s2, 0x20($sp)
/* E24C10 802B62F0 8E030000 */ lw $v1, ($s0)
/* E24C14 802B62F4 0461001A */ bgez $v1, .L802B6360
/* E24C18 802B62F8 0220902D */ daddu $s2, $s1, $zero
/* E24C1C 802B62FC 3C027FFF */ lui $v0, 0x7fff
/* E24C20 802B6300 3442FFFF */ ori $v0, $v0, 0xffff
/* E24C24 802B6304 24040148 */ addiu $a0, $zero, 0x148
/* E24C28 802B6308 0000282D */ daddu $a1, $zero, $zero
/* E24C2C 802B630C 00621024 */ and $v0, $v1, $v0
/* E24C30 802B6310 C6000028 */ lwc1 $f0, 0x28($s0)
/* E24C34 802B6314 C6020030 */ lwc1 $f2, 0x30($s0)
/* E24C38 802B6318 2403FFF1 */ addiu $v1, $zero, -0xf
/* E24C3C 802B631C AE020000 */ sw $v0, ($s0)
/* E24C40 802B6320 00431024 */ and $v0, $v0, $v1
/* E24C44 802B6324 A20000B6 */ sb $zero, 0xb6($s0)
/* E24C48 802B6328 A60000C0 */ sh $zero, 0xc0($s0)
/* E24C4C 802B632C A60000C2 */ sh $zero, 0xc2($s0)
/* E24C50 802B6330 AE020000 */ sw $v0, ($s0)
/* E24C54 802B6334 E6000044 */ swc1 $f0, 0x44($s0)
/* E24C58 802B6338 0C052736 */ jal play_sound_at_player
/* E24C5C 802B633C E6020048 */ swc1 $f2, 0x48($s0)
/* E24C60 802B6340 96220002 */ lhu $v0, 2($s1)
/* E24C64 802B6344 30424000 */ andi $v0, $v0, 0x4000
/* E24C68 802B6348 14400004 */ bnez $v0, .L802B635C
/* E24C6C 802B634C 2402FFFF */ addiu $v0, $zero, -1
/* E24C70 802B6350 0C03954C */ jal func_800E5530
/* E24C74 802B6354 00000000 */ nop
/* E24C78 802B6358 2402FFFF */ addiu $v0, $zero, -1
.L802B635C:
/* E24C7C 802B635C A6420004 */ sh $v0, 4($s2)
.L802B6360:
/* E24C80 802B6360 C6000054 */ lwc1 $f0, 0x54($s0)
/* E24C84 802B6364 3C013F19 */ lui $at, 0x3f19
/* E24C88 802B6368 3421999A */ ori $at, $at, 0x999a
/* E24C8C 802B636C 44811000 */ mtc1 $at, $f2
/* E24C90 802B6370 27A40010 */ addiu $a0, $sp, 0x10
/* E24C94 802B6374 46020002 */ mul.s $f0, $f0, $f2
/* E24C98 802B6378 00000000 */ nop
/* E24C9C 802B637C 920200B6 */ lbu $v0, 0xb6($s0)
/* E24CA0 802B6380 27A50014 */ addiu $a1, $sp, 0x14
/* E24CA4 802B6384 24420001 */ addiu $v0, $v0, 1
/* E24CA8 802B6388 A20200B6 */ sb $v0, 0xb6($s0)
/* E24CAC 802B638C 0C0388C1 */ jal input_to_move_vector
/* E24CB0 802B6390 E6000054 */ swc1 $f0, 0x54($s0)
/* E24CB4 802B6394 C7A00014 */ lwc1 $f0, 0x14($sp)
/* E24CB8 802B6398 44801000 */ mtc1 $zero, $f2
/* E24CBC 802B639C 00000000 */ nop
/* E24CC0 802B63A0 46020032 */ c.eq.s $f0, $f2
/* E24CC4 802B63A4 00000000 */ nop
/* E24CC8 802B63A8 45010020 */ bc1t .L802B642C
/* E24CCC 802B63AC 0000202D */ daddu $a0, $zero, $zero
/* E24CD0 802B63B0 45010003 */ bc1t .L802B63C0
/* E24CD4 802B63B4 00000000 */ nop
/* E24CD8 802B63B8 C7A00010 */ lwc1 $f0, 0x10($sp)
/* E24CDC 802B63BC E6000080 */ swc1 $f0, 0x80($s0)
.L802B63C0:
/* E24CE0 802B63C0 8E0200E8 */ lw $v0, 0xe8($s0)
/* E24CE4 802B63C4 00420018 */ mult $v0, $v0
/* E24CE8 802B63C8 00001812 */ mflo $v1
/* E24CEC 802B63CC 8E0200EC */ lw $v0, 0xec($s0)
/* E24CF0 802B63D0 00000000 */ nop
/* E24CF4 802B63D4 00420018 */ mult $v0, $v0
/* E24CF8 802B63D8 00003812 */ mflo $a3
/* E24CFC 802B63DC 00671021 */ addu $v0, $v1, $a3
/* E24D00 802B63E0 44826000 */ mtc1 $v0, $f12
/* E24D04 802B63E4 00000000 */ nop
/* E24D08 802B63E8 46806320 */ cvt.s.w $f12, $f12
/* E24D0C 802B63EC 46006084 */ sqrt.s $f2, $f12
/* E24D10 802B63F0 46021032 */ c.eq.s $f2, $f2
/* E24D14 802B63F4 00000000 */ nop
/* E24D18 802B63F8 45010004 */ bc1t .L802B640C
/* E24D1C 802B63FC 00000000 */ nop
/* E24D20 802B6400 0C0187BC */ jal sqrtf
/* E24D24 802B6404 00000000 */ nop
/* E24D28 802B6408 46000086 */ mov.s $f2, $f0
.L802B640C:
/* E24D2C 802B640C 3C01425C */ lui $at, 0x425c
/* E24D30 802B6410 44810000 */ mtc1 $at, $f0
/* E24D34 802B6414 00000000 */ nop
/* E24D38 802B6418 4602003C */ c.lt.s $f0, $f2
/* E24D3C 802B641C 00000000 */ nop
/* E24D40 802B6420 45000002 */ bc1f .L802B642C
/* E24D44 802B6424 24040001 */ addiu $a0, $zero, 1
/* E24D48 802B6428 24040002 */ addiu $a0, $zero, 2
.L802B642C:
/* E24D4C 802B642C 0C039769 */ jal set_action_state
/* E24D50 802B6430 00000000 */ nop
/* E24D54 802B6434 8FBF0024 */ lw $ra, 0x24($sp)
/* E24D58 802B6438 8FB20020 */ lw $s2, 0x20($sp)
/* E24D5C 802B643C 8FB1001C */ lw $s1, 0x1c($sp)
/* E24D60 802B6440 8FB00018 */ lw $s0, 0x18($sp)
/* E24D64 802B6444 03E00008 */ jr $ra
/* E24D68 802B6448 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -0,0 +1,98 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B644C_E24D6C
/* E24D6C 802B644C 27BDFFD8 */ addiu $sp, $sp, -0x28
/* E24D70 802B6450 3C058016 */ lui $a1, %hi(gCollisionStatus)
/* E24D74 802B6454 24A5A550 */ addiu $a1, $a1, %lo(gCollisionStatus)
/* E24D78 802B6458 AFB00018 */ sw $s0, 0x18($sp)
/* E24D7C 802B645C 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* E24D80 802B6460 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* E24D84 802B6464 AFBF0020 */ sw $ra, 0x20($sp)
/* E24D88 802B6468 AFB1001C */ sw $s1, 0x1c($sp)
/* E24D8C 802B646C 8E020000 */ lw $v0, ($s0)
/* E24D90 802B6470 04410016 */ bgez $v0, .L802B64CC
/* E24D94 802B6474 00A0882D */ daddu $s1, $a1, $zero
/* E24D98 802B6478 3C037FFF */ lui $v1, 0x7fff
/* E24D9C 802B647C 3463FFFF */ ori $v1, $v1, 0xffff
/* E24DA0 802B6480 00431824 */ and $v1, $v0, $v1
/* E24DA4 802B6484 C6000028 */ lwc1 $f0, 0x28($s0)
/* E24DA8 802B6488 C6020030 */ lwc1 $f2, 0x30($s0)
/* E24DAC 802B648C 2404FFF1 */ addiu $a0, $zero, -0xf
/* E24DB0 802B6490 AE030000 */ sw $v1, ($s0)
/* E24DB4 802B6494 A20000B6 */ sb $zero, 0xb6($s0)
/* E24DB8 802B6498 A60000C0 */ sh $zero, 0xc0($s0)
/* E24DBC 802B649C A60000C2 */ sh $zero, 0xc2($s0)
/* E24DC0 802B64A0 94A20002 */ lhu $v0, 2($a1)
/* E24DC4 802B64A4 00641824 */ and $v1, $v1, $a0
/* E24DC8 802B64A8 AE030000 */ sw $v1, ($s0)
/* E24DCC 802B64AC 30424000 */ andi $v0, $v0, 0x4000
/* E24DD0 802B64B0 E6000044 */ swc1 $f0, 0x44($s0)
/* E24DD4 802B64B4 14400003 */ bnez $v0, .L802B64C4
/* E24DD8 802B64B8 E6020048 */ swc1 $f2, 0x48($s0)
/* E24DDC 802B64BC 0C03954C */ jal func_800E5530
/* E24DE0 802B64C0 00000000 */ nop
.L802B64C4:
/* E24DE4 802B64C4 2402FFFF */ addiu $v0, $zero, -1
/* E24DE8 802B64C8 A6220004 */ sh $v0, 4($s1)
.L802B64CC:
/* E24DEC 802B64CC C6020054 */ lwc1 $f2, 0x54($s0)
/* E24DF0 802B64D0 3C013F19 */ lui $at, 0x3f19
/* E24DF4 802B64D4 3421999A */ ori $at, $at, 0x999a
/* E24DF8 802B64D8 44810000 */ mtc1 $at, $f0
/* E24DFC 802B64DC 27A40010 */ addiu $a0, $sp, 0x10
/* E24E00 802B64E0 46001082 */ mul.s $f2, $f2, $f0
/* E24E04 802B64E4 00000000 */ nop
/* E24E08 802B64E8 920200B6 */ lbu $v0, 0xb6($s0)
/* E24E0C 802B64EC 27A50014 */ addiu $a1, $sp, 0x14
/* E24E10 802B64F0 24420001 */ addiu $v0, $v0, 1
/* E24E14 802B64F4 A20200B6 */ sb $v0, 0xb6($s0)
/* E24E18 802B64F8 0C0388C1 */ jal input_to_move_vector
/* E24E1C 802B64FC E6020054 */ swc1 $f2, 0x54($s0)
/* E24E20 802B6500 C7A20014 */ lwc1 $f2, 0x14($sp)
/* E24E24 802B6504 44800000 */ mtc1 $zero, $f0
/* E24E28 802B6508 00000000 */ nop
/* E24E2C 802B650C 46001032 */ c.eq.s $f2, $f0
/* E24E30 802B6510 00000000 */ nop
/* E24E34 802B6514 45010003 */ bc1t .L802B6524
/* E24E38 802B6518 00000000 */ nop
/* E24E3C 802B651C C7A00010 */ lwc1 $f0, 0x10($sp)
/* E24E40 802B6520 E6000080 */ swc1 $f0, 0x80($s0)
.L802B6524:
/* E24E44 802B6524 8E0200E8 */ lw $v0, 0xe8($s0)
/* E24E48 802B6528 00420018 */ mult $v0, $v0
/* E24E4C 802B652C 00001812 */ mflo $v1
/* E24E50 802B6530 8E0200EC */ lw $v0, 0xec($s0)
/* E24E54 802B6534 00000000 */ nop
/* E24E58 802B6538 00420018 */ mult $v0, $v0
/* E24E5C 802B653C 00003812 */ mflo $a3
/* E24E60 802B6540 00671021 */ addu $v0, $v1, $a3
/* E24E64 802B6544 44826000 */ mtc1 $v0, $f12
/* E24E68 802B6548 00000000 */ nop
/* E24E6C 802B654C 46806320 */ cvt.s.w $f12, $f12
/* E24E70 802B6550 46006084 */ sqrt.s $f2, $f12
/* E24E74 802B6554 46021032 */ c.eq.s $f2, $f2
/* E24E78 802B6558 00000000 */ nop
/* E24E7C 802B655C 45010004 */ bc1t .L802B6570
/* E24E80 802B6560 00000000 */ nop
/* E24E84 802B6564 0C0187BC */ jal sqrtf
/* E24E88 802B6568 00000000 */ nop
/* E24E8C 802B656C 46000086 */ mov.s $f2, $f0
.L802B6570:
/* E24E90 802B6570 3C01425C */ lui $at, 0x425c
/* E24E94 802B6574 44810000 */ mtc1 $at, $f0
/* E24E98 802B6578 00000000 */ nop
/* E24E9C 802B657C 4602003C */ c.lt.s $f0, $f2
/* E24EA0 802B6580 00000000 */ nop
/* E24EA4 802B6584 45000002 */ bc1f .L802B6590
/* E24EA8 802B6588 24040001 */ addiu $a0, $zero, 1
/* E24EAC 802B658C 24040002 */ addiu $a0, $zero, 2
.L802B6590:
/* E24EB0 802B6590 0C039769 */ jal set_action_state
/* E24EB4 802B6594 00000000 */ nop
/* E24EB8 802B6598 8FBF0020 */ lw $ra, 0x20($sp)
/* E24EBC 802B659C 8FB1001C */ lw $s1, 0x1c($sp)
/* E24EC0 802B65A0 8FB00018 */ lw $s0, 0x18($sp)
/* E24EC4 802B65A4 03E00008 */ jr $ra
/* E24EC8 802B65A8 27BD0028 */ addiu $sp, $sp, 0x28
/* E24ECC 802B65AC 00000000 */ nop

View File

@ -0,0 +1,24 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6000_E24ED0
/* E24ED0 802B6000 3C020100 */ lui $v0, 0x100
/* E24ED4 802B6004 00821024 */ and $v0, $a0, $v0
/* E24ED8 802B6008 10400003 */ beqz $v0, .L802B6018
/* E24EDC 802B600C 3C02FFF9 */ lui $v0, 0xfff9
/* E24EE0 802B6010 03E00008 */ jr $ra
/* E24EE4 802B6014 24020001 */ addiu $v0, $zero, 1
.L802B6018:
/* E24EE8 802B6018 3442FFEF */ ori $v0, $v0, 0xffef
/* E24EEC 802B601C 00822021 */ addu $a0, $a0, $v0
/* E24EF0 802B6020 2C82000B */ sltiu $v0, $a0, 0xb
/* E24EF4 802B6024 10400006 */ beqz $v0, .L802B6040
/* E24EF8 802B6028 00041080 */ sll $v0, $a0, 2
/* E24EFC 802B602C 3C01802B */ lui $at, %hi(D_802B6DC0)
/* E24F00 802B6030 00220821 */ addu $at, $at, $v0
/* E24F04 802B6034 8C226DC0 */ lw $v0, %lo(D_802B6DC0)($at)
/* E24F08 802B6038 00400008 */ jr $v0
/* E24F0C 802B603C 00000000 */ nop
.L802B6040:
/* E24F10 802B6040 03E00008 */ jr $ra
/* E24F14 802B6044 0000102D */ daddu $v0, $zero, $zero

View File

@ -0,0 +1,161 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6048_E24F18
/* E24F18 802B6048 27BDFFA8 */ addiu $sp, $sp, -0x58
/* E24F1C 802B604C AFB3002C */ sw $s3, 0x2c($sp)
/* E24F20 802B6050 AFB40030 */ sw $s4, 0x30($sp)
/* E24F24 802B6054 3C148011 */ lui $s4, %hi(gPlayerStatus)
/* E24F28 802B6058 2694EFC8 */ addiu $s4, $s4, %lo(gPlayerStatus)
/* E24F2C 802B605C 3C038011 */ lui $v1, %hi(gPlayerData+0x1)
/* E24F30 802B6060 8063F291 */ lb $v1, %lo(gPlayerData+0x1)($v1)
/* E24F34 802B6064 24020002 */ addiu $v0, $zero, 2
/* E24F38 802B6068 AFBF0034 */ sw $ra, 0x34($sp)
/* E24F3C 802B606C AFB20028 */ sw $s2, 0x28($sp)
/* E24F40 802B6070 AFB10024 */ sw $s1, 0x24($sp)
/* E24F44 802B6074 AFB00020 */ sw $s0, 0x20($sp)
/* E24F48 802B6078 F7BA0050 */ sdc1 $f26, 0x50($sp)
/* E24F4C 802B607C F7B80048 */ sdc1 $f24, 0x48($sp)
/* E24F50 802B6080 F7B60040 */ sdc1 $f22, 0x40($sp)
/* E24F54 802B6084 F7B40038 */ sdc1 $f20, 0x38($sp)
/* E24F58 802B6088 14620008 */ bne $v1, $v0, .L802B60AC
/* E24F5C 802B608C 0080982D */ daddu $s3, $a0, $zero
/* E24F60 802B6090 3C013F99 */ lui $at, 0x3f99
/* E24F64 802B6094 3421999A */ ori $at, $at, 0x999a
/* E24F68 802B6098 4481C000 */ mtc1 $at, $f24
/* E24F6C 802B609C 24120001 */ addiu $s2, $zero, 1
/* E24F70 802B60A0 2411001C */ addiu $s1, $zero, 0x1c
/* E24F74 802B60A4 080AD83A */ j .L802B60E8
/* E24F78 802B60A8 2410211A */ addiu $s0, $zero, 0x211a
.L802B60AC:
/* E24F7C 802B60AC 24020001 */ addiu $v0, $zero, 1
/* E24F80 802B60B0 14620008 */ bne $v1, $v0, .L802B60D4
/* E24F84 802B60B4 24120001 */ addiu $s2, $zero, 1
/* E24F88 802B60B8 3C013F4C */ lui $at, 0x3f4c
/* E24F8C 802B60BC 3421CCCD */ ori $at, $at, 0xcccd
/* E24F90 802B60C0 4481C000 */ mtc1 $at, $f24
/* E24F94 802B60C4 0040902D */ daddu $s2, $v0, $zero
/* E24F98 802B60C8 24110010 */ addiu $s1, $zero, 0x10
/* E24F9C 802B60CC 080AD83A */ j .L802B60E8
/* E24FA0 802B60D0 24102119 */ addiu $s0, $zero, 0x2119
.L802B60D4:
/* E24FA4 802B60D4 3C013ECC */ lui $at, 0x3ecc
/* E24FA8 802B60D8 3421CCCD */ ori $at, $at, 0xcccd
/* E24FAC 802B60DC 4481C000 */ mtc1 $at, $f24
/* E24FB0 802B60E0 24110004 */ addiu $s1, $zero, 4
/* E24FB4 802B60E4 24102118 */ addiu $s0, $zero, 0x2118
.L802B60E8:
/* E24FB8 802B60E8 0C0394D2 */ jal func_800E5348
/* E24FBC 802B60EC 00000000 */ nop
/* E24FC0 802B60F0 3C0140C9 */ lui $at, 0x40c9
/* E24FC4 802B60F4 34210FD0 */ ori $at, $at, 0xfd0
/* E24FC8 802B60F8 44811000 */ mtc1 $at, $f2
/* E24FCC 802B60FC 00000000 */ nop
/* E24FD0 802B6100 46020502 */ mul.s $f20, $f0, $f2
/* E24FD4 802B6104 00000000 */ nop
/* E24FD8 802B6108 3C0143B4 */ lui $at, 0x43b4
/* E24FDC 802B610C 44810000 */ mtc1 $at, $f0
/* E24FE0 802B6110 00000000 */ nop
/* E24FE4 802B6114 4600A503 */ div.s $f20, $f20, $f0
/* E24FE8 802B6118 0C00A85B */ jal sin_rad
/* E24FEC 802B611C 4600A306 */ mov.s $f12, $f20
/* E24FF0 802B6120 3C0141C8 */ lui $at, 0x41c8
/* E24FF4 802B6124 44811000 */ mtc1 $at, $f2
/* E24FF8 802B6128 00000000 */ nop
/* E24FFC 802B612C 46020582 */ mul.s $f22, $f0, $f2
/* E25000 802B6130 00000000 */ nop
/* E25004 802B6134 0C00A874 */ jal cos_rad
/* E25008 802B6138 4600A306 */ mov.s $f12, $f20
/* E2500C 802B613C 3C01C1C8 */ lui $at, 0xc1c8
/* E25010 802B6140 44811000 */ mtc1 $at, $f2
/* E25014 802B6144 00000000 */ nop
/* E25018 802B6148 46020082 */ mul.s $f2, $f0, $f2
/* E2501C 802B614C 00000000 */ nop
/* E25020 802B6150 06610008 */ bgez $s3, .L802B6174
/* E25024 802B6154 24130003 */ addiu $s3, $zero, 3
/* E25028 802B6158 C6800028 */ lwc1 $f0, 0x28($s4)
/* E2502C 802B615C 24130006 */ addiu $s3, $zero, 6
/* E25030 802B6160 46160680 */ add.s $f26, $f0, $f22
/* E25034 802B6164 C6800030 */ lwc1 $f0, 0x30($s4)
/* E25038 802B6168 C694002C */ lwc1 $f20, 0x2c($s4)
/* E2503C 802B616C 080AD86D */ j .L802B61B4
/* E25040 802B6170 46020580 */ add.s $f22, $f0, $f2
.L802B6174:
/* E25044 802B6174 3C02802B */ lui $v0, %hi(D_802B6DB0)
/* E25048 802B6178 8C426DB0 */ lw $v0, %lo(D_802B6DB0)($v0)
/* E2504C 802B617C C4400000 */ lwc1 $f0, ($v0)
/* E25050 802B6180 46160680 */ add.s $f26, $f0, $f22
/* E25054 802B6184 C4400008 */ lwc1 $f0, 8($v0)
/* E25058 802B6188 868300B0 */ lh $v1, 0xb0($s4)
/* E2505C 802B618C 46020580 */ add.s $f22, $f0, $f2
/* E25060 802B6190 C4420004 */ lwc1 $f2, 4($v0)
/* E25064 802B6194 44830000 */ mtc1 $v1, $f0
/* E25068 802B6198 00000000 */ nop
/* E2506C 802B619C 46800020 */ cvt.s.w $f0, $f0
/* E25070 802B61A0 46001080 */ add.s $f2, $f2, $f0
/* E25074 802B61A4 3C0140A0 */ lui $at, 0x40a0
/* E25078 802B61A8 44810000 */ mtc1 $at, $f0
/* E2507C 802B61AC 24110001 */ addiu $s1, $zero, 1
/* E25080 802B61B0 46001501 */ sub.s $f20, $f2, $f0
.L802B61B4:
/* E25084 802B61B4 0000202D */ daddu $a0, $zero, $zero
/* E25088 802B61B8 24050002 */ addiu $a1, $zero, 2
/* E2508C 802B61BC 4407C000 */ mfc1 $a3, $f24
/* E25090 802B61C0 0C0B2D72 */ jal exec_ShakeCamX
/* E25094 802B61C4 0240302D */ daddu $a2, $s2, $zero
/* E25098 802B61C8 0000202D */ daddu $a0, $zero, $zero
/* E2509C 802B61CC 44910000 */ mtc1 $s1, $f0
/* E250A0 802B61D0 00000000 */ nop
/* E250A4 802B61D4 46800020 */ cvt.s.w $f0, $f0
/* E250A8 802B61D8 26430003 */ addiu $v1, $s2, 3
/* E250AC 802B61DC 00031040 */ sll $v0, $v1, 1
/* E250B0 802B61E0 4405D000 */ mfc1 $a1, $f26
/* E250B4 802B61E4 4406A000 */ mfc1 $a2, $f20
/* E250B8 802B61E8 4407B000 */ mfc1 $a3, $f22
/* E250BC 802B61EC 00431021 */ addu $v0, $v0, $v1
/* E250C0 802B61F0 E7A00010 */ swc1 $f0, 0x10($sp)
/* E250C4 802B61F4 AFB30014 */ sw $s3, 0x14($sp)
/* E250C8 802B61F8 AFA00018 */ sw $zero, 0x18($sp)
/* E250CC 802B61FC 0C01C0DC */ jal func_80070370
/* E250D0 802B6200 AFA2001C */ sw $v0, 0x1c($sp)
/* E250D4 802B6204 0C03A752 */ jal is_ability_active
/* E250D8 802B6208 2404000F */ addiu $a0, $zero, 0xf
/* E250DC 802B620C 2443FFFF */ addiu $v1, $v0, -1
/* E250E0 802B6210 2C620006 */ sltiu $v0, $v1, 6
/* E250E4 802B6214 10400011 */ beqz $v0, .L802B625C
/* E250E8 802B6218 00031080 */ sll $v0, $v1, 2
/* E250EC 802B621C 3C01802B */ lui $at, %hi(D_802B6DF0)
/* E250F0 802B6220 00220821 */ addu $at, $at, $v0
/* E250F4 802B6224 8C226DF0 */ lw $v0, %lo(D_802B6DF0)($at)
/* E250F8 802B6228 00400008 */ jr $v0
/* E250FC 802B622C 00000000 */ nop
/* E25100 802B6230 080AD897 */ j .L802B625C
/* E25104 802B6234 24100372 */ addiu $s0, $zero, 0x372
/* E25108 802B6238 080AD897 */ j .L802B625C
/* E2510C 802B623C 241000F1 */ addiu $s0, $zero, 0xf1
/* E25110 802B6240 080AD897 */ j .L802B625C
/* E25114 802B6244 241000DC */ addiu $s0, $zero, 0xdc
/* E25118 802B6248 080AD897 */ j .L802B625C
/* E2511C 802B624C 24102072 */ addiu $s0, $zero, 0x2072
/* E25120 802B6250 080AD897 */ j .L802B625C
/* E25124 802B6254 24102073 */ addiu $s0, $zero, 0x2073
/* E25128 802B6258 2410205B */ addiu $s0, $zero, 0x205b
.L802B625C:
/* E2512C 802B625C 0200202D */ daddu $a0, $s0, $zero
/* E25130 802B6260 0C052736 */ jal play_sound_at_player
/* E25134 802B6264 0000282D */ daddu $a1, $zero, $zero
/* E25138 802B6268 24040100 */ addiu $a0, $zero, 0x100
/* E2513C 802B626C 0C00A3C2 */ jal start_rumble
/* E25140 802B6270 24050032 */ addiu $a1, $zero, 0x32
/* E25144 802B6274 8FBF0034 */ lw $ra, 0x34($sp)
/* E25148 802B6278 8FB40030 */ lw $s4, 0x30($sp)
/* E2514C 802B627C 8FB3002C */ lw $s3, 0x2c($sp)
/* E25150 802B6280 8FB20028 */ lw $s2, 0x28($sp)
/* E25154 802B6284 8FB10024 */ lw $s1, 0x24($sp)
/* E25158 802B6288 8FB00020 */ lw $s0, 0x20($sp)
/* E2515C 802B628C D7BA0050 */ ldc1 $f26, 0x50($sp)
/* E25160 802B6290 D7B80048 */ ldc1 $f24, 0x48($sp)
/* E25164 802B6294 D7B60040 */ ldc1 $f22, 0x40($sp)
/* E25168 802B6298 D7B40038 */ ldc1 $f20, 0x38($sp)
/* E2516C 802B629C 03E00008 */ jr $ra
/* E25170 802B62A0 27BD0058 */ addiu $sp, $sp, 0x58

View File

@ -0,0 +1,276 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B62A4_E25174
/* E25174 802B62A4 27BDFF88 */ addiu $sp, $sp, -0x78
/* E25178 802B62A8 AFBF0048 */ sw $ra, 0x48($sp)
/* E2517C 802B62AC AFB30044 */ sw $s3, 0x44($sp)
/* E25180 802B62B0 AFB20040 */ sw $s2, 0x40($sp)
/* E25184 802B62B4 AFB1003C */ sw $s1, 0x3c($sp)
/* E25188 802B62B8 AFB00038 */ sw $s0, 0x38($sp)
/* E2518C 802B62BC F7BC0070 */ sdc1 $f28, 0x70($sp)
/* E25190 802B62C0 F7BA0068 */ sdc1 $f26, 0x68($sp)
/* E25194 802B62C4 F7B80060 */ sdc1 $f24, 0x60($sp)
/* E25198 802B62C8 F7B60058 */ sdc1 $f22, 0x58($sp)
/* E2519C 802B62CC 0C0394D2 */ jal func_800E5348
/* E251A0 802B62D0 F7B40050 */ sdc1 $f20, 0x50($sp)
/* E251A4 802B62D4 3C128011 */ lui $s2, %hi(gPlayerStatus)
/* E251A8 802B62D8 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus)
/* E251AC 802B62DC 8E4400A4 */ lw $a0, 0xa4($s2)
/* E251B0 802B62E0 0C0AD800 */ jal func_802B6000_E24ED0
/* E251B4 802B62E4 46000586 */ mov.s $f22, $f0
/* E251B8 802B62E8 10400030 */ beqz $v0, .L802B63AC
/* E251BC 802B62EC 27A50020 */ addiu $a1, $sp, 0x20
/* E251C0 802B62F0 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* E251C4 802B62F4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* E251C8 802B62F8 3C0142B4 */ lui $at, 0x42b4
/* E251CC 802B62FC 4481A000 */ mtc1 $at, $f20
/* E251D0 802B6300 00031080 */ sll $v0, $v1, 2
/* E251D4 802B6304 00431021 */ addu $v0, $v0, $v1
/* E251D8 802B6308 00021080 */ sll $v0, $v0, 2
/* E251DC 802B630C 00431023 */ subu $v0, $v0, $v1
/* E251E0 802B6310 000218C0 */ sll $v1, $v0, 3
/* E251E4 802B6314 00431021 */ addu $v0, $v0, $v1
/* E251E8 802B6318 000210C0 */ sll $v0, $v0, 3
/* E251EC 802B631C 4614B000 */ add.s $f0, $f22, $f20
/* E251F0 802B6320 3C01800B */ lui $at, %hi(D_800B1DEC)
/* E251F4 802B6324 00220821 */ addu $at, $at, $v0
/* E251F8 802B6328 C42C1DEC */ lwc1 $f12, %lo(D_800B1DEC)($at)
/* E251FC 802B632C 0C00A6C9 */ jal clamp_angle
/* E25200 802B6330 460C0301 */ sub.s $f12, $f0, $f12
/* E25204 802B6334 46000086 */ mov.s $f2, $f0
/* E25208 802B6338 4602A03E */ c.le.s $f20, $f2
/* E2520C 802B633C 00000000 */ nop
/* E25210 802B6340 45000015 */ bc1f .L802B6398
/* E25214 802B6344 00000000 */ nop
/* E25218 802B6348 3C014387 */ lui $at, 0x4387
/* E2521C 802B634C 44810000 */ mtc1 $at, $f0
/* E25220 802B6350 00000000 */ nop
/* E25224 802B6354 4600103C */ c.lt.s $f2, $f0
/* E25228 802B6358 00000000 */ nop
/* E2522C 802B635C 4500000E */ bc1f .L802B6398
/* E25230 802B6360 00000000 */ nop
/* E25234 802B6364 3C01C1F0 */ lui $at, 0xc1f0
/* E25238 802B6368 44810000 */ mtc1 $at, $f0
/* E2523C 802B636C 080AD8EA */ j .L802B63A8
/* E25240 802B6370 4600B580 */ add.s $f22, $f22, $f0
.L802B6374:
/* E25244 802B6374 3C02802B */ lui $v0, %hi(D_802B6DB0)
/* E25248 802B6378 8C426DB0 */ lw $v0, %lo(D_802B6DB0)($v0)
/* E2524C 802B637C C7A00028 */ lwc1 $f0, 0x28($sp)
/* E25250 802B6380 C7A2002C */ lwc1 $f2, 0x2c($sp)
/* E25254 802B6384 C7A40030 */ lwc1 $f4, 0x30($sp)
/* E25258 802B6388 E4400000 */ swc1 $f0, ($v0)
/* E2525C 802B638C E4420004 */ swc1 $f2, 4($v0)
/* E25260 802B6390 080AD919 */ j .L802B6464
/* E25264 802B6394 E4440008 */ swc1 $f4, 8($v0)
.L802B6398:
/* E25268 802B6398 3C0141F0 */ lui $at, 0x41f0
/* E2526C 802B639C 44810000 */ mtc1 $at, $f0
/* E25270 802B63A0 00000000 */ nop
/* E25274 802B63A4 4600B580 */ add.s $f22, $f22, $f0
.L802B63A8:
/* E25278 802B63A8 27A50020 */ addiu $a1, $sp, 0x20
.L802B63AC:
/* E2527C 802B63AC 3C0140C9 */ lui $at, 0x40c9
/* E25280 802B63B0 34210FD0 */ ori $at, $at, 0xfd0
/* E25284 802B63B4 44816000 */ mtc1 $at, $f12
/* E25288 802B63B8 27A60024 */ addiu $a2, $sp, 0x24
/* E2528C 802B63BC 460CB302 */ mul.s $f12, $f22, $f12
/* E25290 802B63C0 00000000 */ nop
/* E25294 802B63C4 24100001 */ addiu $s0, $zero, 1
/* E25298 802B63C8 27B30030 */ addiu $s3, $sp, 0x30
/* E2529C 802B63CC 3C0143B4 */ lui $at, 0x43b4
/* E252A0 802B63D0 44810000 */ mtc1 $at, $f0
/* E252A4 802B63D4 3C014080 */ lui $at, 0x4080
/* E252A8 802B63D8 4481A000 */ mtc1 $at, $f20
/* E252AC 802B63DC 0C00A82D */ jal sin_cos_rad
/* E252B0 802B63E0 46006303 */ div.s $f12, $f12, $f0
/* E252B4 802B63E4 C65C0028 */ lwc1 $f28, 0x28($s2)
/* E252B8 802B63E8 C65A002C */ lwc1 $f26, 0x2c($s2)
/* E252BC 802B63EC C6580030 */ lwc1 $f24, 0x30($s2)
.L802B63F0:
/* E252C0 802B63F0 C7A00020 */ lwc1 $f0, 0x20($sp)
/* E252C4 802B63F4 44901000 */ mtc1 $s0, $f2
/* E252C8 802B63F8 00000000 */ nop
/* E252CC 802B63FC 468010A0 */ cvt.s.w $f2, $f2
/* E252D0 802B6400 46020002 */ mul.s $f0, $f0, $f2
/* E252D4 802B6404 00000000 */ nop
/* E252D8 802B6408 C7A40024 */ lwc1 $f4, 0x24($sp)
/* E252DC 802B640C 46022102 */ mul.s $f4, $f4, $f2
/* E252E0 802B6410 00000000 */ nop
/* E252E4 802B6414 24040003 */ addiu $a0, $zero, 3
/* E252E8 802B6418 0240282D */ daddu $a1, $s2, $zero
/* E252EC 802B641C 4600E000 */ add.s $f0, $f28, $f0
/* E252F0 802B6420 27A60028 */ addiu $a2, $sp, 0x28
/* E252F4 802B6424 27A7002C */ addiu $a3, $sp, 0x2c
/* E252F8 802B6428 4604C101 */ sub.s $f4, $f24, $f4
/* E252FC 802B642C E7BA002C */ swc1 $f26, 0x2c($sp)
/* E25300 802B6430 E7A00028 */ swc1 $f0, 0x28($sp)
/* E25304 802B6434 E7A40030 */ swc1 $f4, 0x30($sp)
/* E25308 802B6438 AFB30010 */ sw $s3, 0x10($sp)
/* E2530C 802B643C E7B40014 */ swc1 $f20, 0x14($sp)
/* E25310 802B6440 0C037B01 */ jal do_lateral_collision
/* E25314 802B6444 E7B60018 */ swc1 $f22, 0x18($sp)
/* E25318 802B6448 0040882D */ daddu $s1, $v0, $zero
/* E2531C 802B644C 0621FFC9 */ bgez $s1, .L802B6374
/* E25320 802B6450 00000000 */ nop
/* E25324 802B6454 26100001 */ addiu $s0, $s0, 1
/* E25328 802B6458 2A020010 */ slti $v0, $s0, 0x10
/* E2532C 802B645C 1440FFE4 */ bnez $v0, .L802B63F0
/* E25330 802B6460 00000000 */ nop
.L802B6464:
/* E25334 802B6464 2A020010 */ slti $v0, $s0, 0x10
/* E25338 802B6468 14400061 */ bnez $v0, .L802B65F0
/* E2533C 802B646C 00000000 */ nop
/* E25340 802B6470 0C0394D2 */ jal func_800E5348
/* E25344 802B6474 00000000 */ nop
/* E25348 802B6478 8E4400A4 */ lw $a0, 0xa4($s2)
/* E2534C 802B647C 0C0AD800 */ jal func_802B6000_E24ED0
/* E25350 802B6480 46000586 */ mov.s $f22, $f0
/* E25354 802B6484 14400030 */ bnez $v0, .L802B6548
/* E25358 802B6488 27A50020 */ addiu $a1, $sp, 0x20
/* E2535C 802B648C 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* E25360 802B6490 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* E25364 802B6494 3C0142B4 */ lui $at, 0x42b4
/* E25368 802B6498 4481A000 */ mtc1 $at, $f20
/* E2536C 802B649C 00031080 */ sll $v0, $v1, 2
/* E25370 802B64A0 00431021 */ addu $v0, $v0, $v1
/* E25374 802B64A4 00021080 */ sll $v0, $v0, 2
/* E25378 802B64A8 00431023 */ subu $v0, $v0, $v1
/* E2537C 802B64AC 000218C0 */ sll $v1, $v0, 3
/* E25380 802B64B0 00431021 */ addu $v0, $v0, $v1
/* E25384 802B64B4 000210C0 */ sll $v0, $v0, 3
/* E25388 802B64B8 4614B000 */ add.s $f0, $f22, $f20
/* E2538C 802B64BC 3C01800B */ lui $at, %hi(D_800B1DEC)
/* E25390 802B64C0 00220821 */ addu $at, $at, $v0
/* E25394 802B64C4 C42C1DEC */ lwc1 $f12, %lo(D_800B1DEC)($at)
/* E25398 802B64C8 0C00A6C9 */ jal clamp_angle
/* E2539C 802B64CC 460C0301 */ sub.s $f12, $f0, $f12
/* E253A0 802B64D0 46000086 */ mov.s $f2, $f0
/* E253A4 802B64D4 4602A03E */ c.le.s $f20, $f2
/* E253A8 802B64D8 00000000 */ nop
/* E253AC 802B64DC 45000015 */ bc1f .L802B6534
/* E253B0 802B64E0 00000000 */ nop
/* E253B4 802B64E4 3C014387 */ lui $at, 0x4387
/* E253B8 802B64E8 44810000 */ mtc1 $at, $f0
/* E253BC 802B64EC 00000000 */ nop
/* E253C0 802B64F0 4600103C */ c.lt.s $f2, $f0
/* E253C4 802B64F4 00000000 */ nop
/* E253C8 802B64F8 4500000E */ bc1f .L802B6534
/* E253CC 802B64FC 00000000 */ nop
/* E253D0 802B6500 3C014170 */ lui $at, 0x4170
/* E253D4 802B6504 44810000 */ mtc1 $at, $f0
/* E253D8 802B6508 080AD951 */ j .L802B6544
/* E253DC 802B650C 4600B580 */ add.s $f22, $f22, $f0
.L802B6510:
/* E253E0 802B6510 3C02802B */ lui $v0, %hi(D_802B6DB0)
/* E253E4 802B6514 8C426DB0 */ lw $v0, %lo(D_802B6DB0)($v0)
/* E253E8 802B6518 C7A00028 */ lwc1 $f0, 0x28($sp)
/* E253EC 802B651C C7A2002C */ lwc1 $f2, 0x2c($sp)
/* E253F0 802B6520 C7A40030 */ lwc1 $f4, 0x30($sp)
/* E253F4 802B6524 E4400000 */ swc1 $f0, ($v0)
/* E253F8 802B6528 E4420004 */ swc1 $f2, 4($v0)
/* E253FC 802B652C 080AD97C */ j .L802B65F0
/* E25400 802B6530 E4440008 */ swc1 $f4, 8($v0)
.L802B6534:
/* E25404 802B6534 3C01C170 */ lui $at, 0xc170
/* E25408 802B6538 44810000 */ mtc1 $at, $f0
/* E2540C 802B653C 00000000 */ nop
/* E25410 802B6540 4600B580 */ add.s $f22, $f22, $f0
.L802B6544:
/* E25414 802B6544 27A50020 */ addiu $a1, $sp, 0x20
.L802B6548:
/* E25418 802B6548 3C0140C9 */ lui $at, 0x40c9
/* E2541C 802B654C 34210FD0 */ ori $at, $at, 0xfd0
/* E25420 802B6550 44816000 */ mtc1 $at, $f12
/* E25424 802B6554 27A60024 */ addiu $a2, $sp, 0x24
/* E25428 802B6558 460CB302 */ mul.s $f12, $f22, $f12
/* E2542C 802B655C 00000000 */ nop
/* E25430 802B6560 24100001 */ addiu $s0, $zero, 1
/* E25434 802B6564 27B30030 */ addiu $s3, $sp, 0x30
/* E25438 802B6568 3C0143B4 */ lui $at, 0x43b4
/* E2543C 802B656C 44810000 */ mtc1 $at, $f0
/* E25440 802B6570 3C014080 */ lui $at, 0x4080
/* E25444 802B6574 4481A000 */ mtc1 $at, $f20
/* E25448 802B6578 0C00A82D */ jal sin_cos_rad
/* E2544C 802B657C 46006303 */ div.s $f12, $f12, $f0
.L802B6580:
/* E25450 802B6580 C7A00020 */ lwc1 $f0, 0x20($sp)
/* E25454 802B6584 44901000 */ mtc1 $s0, $f2
/* E25458 802B6588 00000000 */ nop
/* E2545C 802B658C 468010A0 */ cvt.s.w $f2, $f2
/* E25460 802B6590 46020002 */ mul.s $f0, $f0, $f2
/* E25464 802B6594 00000000 */ nop
/* E25468 802B6598 C7A40024 */ lwc1 $f4, 0x24($sp)
/* E2546C 802B659C 46022102 */ mul.s $f4, $f4, $f2
/* E25470 802B65A0 00000000 */ nop
/* E25474 802B65A4 24040003 */ addiu $a0, $zero, 3
/* E25478 802B65A8 0240282D */ daddu $a1, $s2, $zero
/* E2547C 802B65AC 4600E000 */ add.s $f0, $f28, $f0
/* E25480 802B65B0 27A60028 */ addiu $a2, $sp, 0x28
/* E25484 802B65B4 27A7002C */ addiu $a3, $sp, 0x2c
/* E25488 802B65B8 4604C101 */ sub.s $f4, $f24, $f4
/* E2548C 802B65BC E7BA002C */ swc1 $f26, 0x2c($sp)
/* E25490 802B65C0 E7A00028 */ swc1 $f0, 0x28($sp)
/* E25494 802B65C4 E7A40030 */ swc1 $f4, 0x30($sp)
/* E25498 802B65C8 AFB30010 */ sw $s3, 0x10($sp)
/* E2549C 802B65CC E7B40014 */ swc1 $f20, 0x14($sp)
/* E254A0 802B65D0 0C037B01 */ jal do_lateral_collision
/* E254A4 802B65D4 E7B60018 */ swc1 $f22, 0x18($sp)
/* E254A8 802B65D8 0040882D */ daddu $s1, $v0, $zero
/* E254AC 802B65DC 0621FFCC */ bgez $s1, .L802B6510
/* E254B0 802B65E0 26100001 */ addiu $s0, $s0, 1
/* E254B4 802B65E4 2A020010 */ slti $v0, $s0, 0x10
/* E254B8 802B65E8 1440FFE5 */ bnez $v0, .L802B6580
/* E254BC 802B65EC 00000000 */ nop
.L802B65F0:
/* E254C0 802B65F0 06200020 */ bltz $s1, .L802B6674
/* E254C4 802B65F4 32224000 */ andi $v0, $s1, 0x4000
/* E254C8 802B65F8 1040001F */ beqz $v0, .L802B6678
/* E254CC 802B65FC 0220102D */ daddu $v0, $s1, $zero
/* E254D0 802B6600 3C108011 */ lui $s0, %hi(gPlayerData+0x1)
/* E254D4 802B6604 8210F291 */ lb $s0, %lo(gPlayerData+0x1)($s0)
/* E254D8 802B6608 0C0441A9 */ jal get_entity_type
/* E254DC 802B660C 0220202D */ daddu $a0, $s1, $zero
/* E254E0 802B6610 2443FFF9 */ addiu $v1, $v0, -7
/* E254E4 802B6614 2C620020 */ sltiu $v0, $v1, 0x20
/* E254E8 802B6618 10400016 */ beqz $v0, .L802B6674
/* E254EC 802B661C 00031080 */ sll $v0, $v1, 2
/* E254F0 802B6620 3C01802B */ lui $at, %hi(D_802B6E08)
/* E254F4 802B6624 00220821 */ addu $at, $at, $v0
/* E254F8 802B6628 8C226E08 */ lw $v0, %lo(D_802B6E08)($at)
/* E254FC 802B662C 00400008 */ jr $v0
/* E25500 802B6630 00000000 */ nop
/* E25504 802B6634 0603000F */ bgezl $s0, .L802B6674
/* E25508 802B6638 2411FFFF */ addiu $s1, $zero, -1
/* E2550C 802B663C 080AD998 */ j .L802B6660
/* E25510 802B6640 00000000 */ nop
/* E25514 802B6644 5E00000B */ bgtzl $s0, .L802B6674
/* E25518 802B6648 2411FFFF */ addiu $s1, $zero, -1
/* E2551C 802B664C 080AD998 */ j .L802B6660
/* E25520 802B6650 00000000 */ nop
/* E25524 802B6654 2A020002 */ slti $v0, $s0, 2
/* E25528 802B6658 50400006 */ beql $v0, $zero, .L802B6674
/* E2552C 802B665C 2411FFFF */ addiu $s1, $zero, -1
.L802B6660:
/* E25530 802B6660 8E420004 */ lw $v0, 4($s2)
/* E25534 802B6664 34420400 */ ori $v0, $v0, 0x400
/* E25538 802B6668 080AD99D */ j .L802B6674
/* E2553C 802B666C AE420004 */ sw $v0, 4($s2)
/* E25540 802B6670 2411FFFF */ addiu $s1, $zero, -1
.L802B6674:
/* E25544 802B6674 0220102D */ daddu $v0, $s1, $zero
.L802B6678:
/* E25548 802B6678 8FBF0048 */ lw $ra, 0x48($sp)
/* E2554C 802B667C 8FB30044 */ lw $s3, 0x44($sp)
/* E25550 802B6680 8FB20040 */ lw $s2, 0x40($sp)
/* E25554 802B6684 8FB1003C */ lw $s1, 0x3c($sp)
/* E25558 802B6688 8FB00038 */ lw $s0, 0x38($sp)
/* E2555C 802B668C D7BC0070 */ ldc1 $f28, 0x70($sp)
/* E25560 802B6690 D7BA0068 */ ldc1 $f26, 0x68($sp)
/* E25564 802B6694 D7B80060 */ ldc1 $f24, 0x60($sp)
/* E25568 802B6698 D7B60058 */ ldc1 $f22, 0x58($sp)
/* E2556C 802B669C D7B40050 */ ldc1 $f20, 0x50($sp)
/* E25570 802B66A0 03E00008 */ jr $ra
/* E25574 802B66A4 27BD0078 */ addiu $sp, $sp, 0x78

View File

@ -0,0 +1,105 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B66A8_E25578
/* E25578 802B66A8 27BDFFE0 */ addiu $sp, $sp, -0x20
/* E2557C 802B66AC AFB00010 */ sw $s0, 0x10($sp)
/* E25580 802B66B0 3C10802B */ lui $s0, %hi(D_802B6DB0)
/* E25584 802B66B4 26106DB0 */ addiu $s0, $s0, %lo(D_802B6DB0)
/* E25588 802B66B8 AFBF0018 */ sw $ra, 0x18($sp)
/* E2558C 802B66BC AFB10014 */ sw $s1, 0x14($sp)
/* E25590 802B66C0 8E040000 */ lw $a0, ($s0)
/* E25594 802B66C4 3C118011 */ lui $s1, %hi(gPlayerStatus)
/* E25598 802B66C8 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus)
/* E2559C 802B66CC AC80001C */ sw $zero, 0x1c($a0)
/* E255A0 802B66D0 8E230000 */ lw $v1, ($s1)
/* E255A4 802B66D4 04630033 */ bgezl $v1, .L802B67A4
/* E255A8 802B66D8 3C04FEFF */ lui $a0, 0xfeff
/* E255AC 802B66DC 3C027FFF */ lui $v0, 0x7fff
/* E255B0 802B66E0 3442FFFF */ ori $v0, $v0, 0xffff
/* E255B4 802B66E4 00621024 */ and $v0, $v1, $v0
/* E255B8 802B66E8 3C030020 */ lui $v1, 0x20
/* E255BC 802B66EC 00431025 */ or $v0, $v0, $v1
/* E255C0 802B66F0 AE220000 */ sw $v0, ($s1)
/* E255C4 802B66F4 AC800018 */ sw $zero, 0x18($a0)
/* E255C8 802B66F8 A22000B6 */ sb $zero, 0xb6($s1)
/* E255CC 802B66FC AE200054 */ sw $zero, 0x54($s1)
/* E255D0 802B6700 0C0AD8A9 */ jal func_802B62A4_E25174
/* E255D4 802B6704 A62000BC */ sh $zero, 0xbc($s1)
/* E255D8 802B6708 8E030000 */ lw $v1, ($s0)
/* E255DC 802B670C 0040282D */ daddu $a1, $v0, $zero
/* E255E0 802B6710 AC650010 */ sw $a1, 0x10($v1)
/* E255E4 802B6714 3C038011 */ lui $v1, %hi(gPlayerData+0x1)
/* E255E8 802B6718 8063F291 */ lb $v1, %lo(gPlayerData+0x1)($v1)
/* E255EC 802B671C 24020002 */ addiu $v0, $zero, 2
/* E255F0 802B6720 14620008 */ bne $v1, $v0, .L802B6744
/* E255F4 802B6724 24020001 */ addiu $v0, $zero, 1
/* E255F8 802B6728 24102117 */ addiu $s0, $zero, 0x2117
/* E255FC 802B672C 3C040006 */ lui $a0, 6
/* E25600 802B6730 04A10012 */ bgez $a1, .L802B677C
/* E25604 802B6734 3484001A */ ori $a0, $a0, 0x1a
/* E25608 802B6738 3C040006 */ lui $a0, 6
/* E2560C 802B673C 080AD9DF */ j .L802B677C
/* E25610 802B6740 34840018 */ ori $a0, $a0, 0x18
.L802B6744:
/* E25614 802B6744 14620008 */ bne $v1, $v0, .L802B6768
/* E25618 802B6748 24102115 */ addiu $s0, $zero, 0x2115
/* E2561C 802B674C 24102116 */ addiu $s0, $zero, 0x2116
/* E25620 802B6750 3C040006 */ lui $a0, 6
/* E25624 802B6754 04A10009 */ bgez $a1, .L802B677C
/* E25628 802B6758 34840016 */ ori $a0, $a0, 0x16
/* E2562C 802B675C 3C040006 */ lui $a0, 6
/* E25630 802B6760 080AD9DF */ j .L802B677C
/* E25634 802B6764 34840014 */ ori $a0, $a0, 0x14
.L802B6768:
/* E25638 802B6768 3C040006 */ lui $a0, 6
/* E2563C 802B676C 04A10003 */ bgez $a1, .L802B677C
/* E25640 802B6770 34840012 */ ori $a0, $a0, 0x12
/* E25644 802B6774 3C040006 */ lui $a0, 6
/* E25648 802B6778 34840010 */ ori $a0, $a0, 0x10
.L802B677C:
/* E2564C 802B677C 0C037FBF */ jal func_800DFEFC
/* E25650 802B6780 00000000 */ nop
/* E25654 802B6784 0200202D */ daddu $a0, $s0, $zero
/* E25658 802B6788 0C052736 */ jal play_sound_at_player
/* E2565C 802B678C 0000282D */ daddu $a1, $zero, $zero
/* E25660 802B6790 3C02802B */ lui $v0, %hi(D_802B6DB0)
/* E25664 802B6794 8C426DB0 */ lw $v0, %lo(D_802B6DB0)($v0)
/* E25668 802B6798 AC40000C */ sw $zero, 0xc($v0)
/* E2566C 802B679C AC400014 */ sw $zero, 0x14($v0)
/* E25670 802B67A0 3C04FEFF */ lui $a0, 0xfeff
.L802B67A4:
/* E25674 802B67A4 3484FFFF */ ori $a0, $a0, 0xffff
/* E25678 802B67A8 8E220000 */ lw $v0, ($s1)
/* E2567C 802B67AC 3C03802B */ lui $v1, %hi(D_802B6DB0)
/* E25680 802B67B0 8C636DB0 */ lw $v1, %lo(D_802B6DB0)($v1)
/* E25684 802B67B4 00442024 */ and $a0, $v0, $a0
/* E25688 802B67B8 AE240000 */ sw $a0, ($s1)
/* E2568C 802B67BC 8C620018 */ lw $v0, 0x18($v1)
/* E25690 802B67C0 28420003 */ slti $v0, $v0, 3
/* E25694 802B67C4 10400007 */ beqz $v0, .L802B67E4
/* E25698 802B67C8 3C020004 */ lui $v0, 4
/* E2569C 802B67CC 00821024 */ and $v0, $a0, $v0
/* E256A0 802B67D0 10400004 */ beqz $v0, .L802B67E4
/* E256A4 802B67D4 3C022000 */ lui $v0, 0x2000
/* E256A8 802B67D8 00821025 */ or $v0, $a0, $v0
/* E256AC 802B67DC 080ADA03 */ j .L802B680C
/* E256B0 802B67E0 AE220000 */ sw $v0, ($s1)
.L802B67E4:
/* E256B4 802B67E4 3C04802B */ lui $a0, %hi(D_802B6DB0)
/* E256B8 802B67E8 8C846DB0 */ lw $a0, %lo(D_802B6DB0)($a0)
/* E256BC 802B67EC 8C830018 */ lw $v1, 0x18($a0)
/* E256C0 802B67F0 28620002 */ slti $v0, $v1, 2
/* E256C4 802B67F4 10400003 */ beqz $v0, .L802B6804
/* E256C8 802B67F8 24620001 */ addiu $v0, $v1, 1
/* E256CC 802B67FC 080ADA03 */ j .L802B680C
/* E256D0 802B6800 AC820018 */ sw $v0, 0x18($a0)
.L802B6804:
/* E256D4 802B6804 0C0ADA08 */ jal func_802B6820_E256F0
/* E256D8 802B6808 00000000 */ nop
.L802B680C:
/* E256DC 802B680C 8FBF0018 */ lw $ra, 0x18($sp)
/* E256E0 802B6810 8FB10014 */ lw $s1, 0x14($sp)
/* E256E4 802B6814 8FB00010 */ lw $s0, 0x10($sp)
/* E256E8 802B6818 03E00008 */ jr $ra
/* E256EC 802B681C 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,387 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6820_E256F0
/* E256F0 802B6820 27BDFF88 */ addiu $sp, $sp, -0x78
/* E256F4 802B6824 AFB20040 */ sw $s2, 0x40($sp)
/* E256F8 802B6828 3C128011 */ lui $s2, %hi(gPlayerStatus)
/* E256FC 802B682C 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus)
/* E25700 802B6830 AFBF004C */ sw $ra, 0x4c($sp)
/* E25704 802B6834 AFB40048 */ sw $s4, 0x48($sp)
/* E25708 802B6838 AFB30044 */ sw $s3, 0x44($sp)
/* E2570C 802B683C AFB1003C */ sw $s1, 0x3c($sp)
/* E25710 802B6840 AFB00038 */ sw $s0, 0x38($sp)
/* E25714 802B6844 F7BC0070 */ sdc1 $f28, 0x70($sp)
/* E25718 802B6848 F7BA0068 */ sdc1 $f26, 0x68($sp)
/* E2571C 802B684C F7B80060 */ sdc1 $f24, 0x60($sp)
/* E25720 802B6850 F7B60058 */ sdc1 $f22, 0x58($sp)
/* E25724 802B6854 F7B40050 */ sdc1 $f20, 0x50($sp)
/* E25728 802B6858 3C148016 */ lui $s4, %hi(gCollisionStatus)
/* E2572C 802B685C 2694A550 */ addiu $s4, $s4, %lo(gCollisionStatus)
/* E25730 802B6860 0C0394D2 */ jal func_800E5348
/* E25734 802B6864 00000000 */ nop
/* E25738 802B6868 8E4400A4 */ lw $a0, 0xa4($s2)
/* E2573C 802B686C 0C0AD800 */ jal func_802B6000_E24ED0
/* E25740 802B6870 46000586 */ mov.s $f22, $f0
/* E25744 802B6874 10400024 */ beqz $v0, .L802B6908
/* E25748 802B6878 27A50020 */ addiu $a1, $sp, 0x20
/* E2574C 802B687C 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* E25750 802B6880 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* E25754 802B6884 3C0142B4 */ lui $at, 0x42b4
/* E25758 802B6888 4481A000 */ mtc1 $at, $f20
/* E2575C 802B688C 00031080 */ sll $v0, $v1, 2
/* E25760 802B6890 00431021 */ addu $v0, $v0, $v1
/* E25764 802B6894 00021080 */ sll $v0, $v0, 2
/* E25768 802B6898 00431023 */ subu $v0, $v0, $v1
/* E2576C 802B689C 000218C0 */ sll $v1, $v0, 3
/* E25770 802B68A0 00431021 */ addu $v0, $v0, $v1
/* E25774 802B68A4 000210C0 */ sll $v0, $v0, 3
/* E25778 802B68A8 4614B000 */ add.s $f0, $f22, $f20
/* E2577C 802B68AC 3C01800B */ lui $at, %hi(D_800B1DEC)
/* E25780 802B68B0 00220821 */ addu $at, $at, $v0
/* E25784 802B68B4 C42C1DEC */ lwc1 $f12, %lo(D_800B1DEC)($at)
/* E25788 802B68B8 0C00A6C9 */ jal clamp_angle
/* E2578C 802B68BC 460C0301 */ sub.s $f12, $f0, $f12
/* E25790 802B68C0 46000086 */ mov.s $f2, $f0
/* E25794 802B68C4 4602A03E */ c.le.s $f20, $f2
/* E25798 802B68C8 00000000 */ nop
/* E2579C 802B68CC 45000009 */ bc1f .L802B68F4
/* E257A0 802B68D0 00000000 */ nop
/* E257A4 802B68D4 3C014387 */ lui $at, 0x4387
/* E257A8 802B68D8 44810000 */ mtc1 $at, $f0
/* E257AC 802B68DC 00000000 */ nop
/* E257B0 802B68E0 4600103C */ c.lt.s $f2, $f0
/* E257B4 802B68E4 3C01C1F0 */ lui $at, 0xc1f0
/* E257B8 802B68E8 44810000 */ mtc1 $at, $f0
/* E257BC 802B68EC 45030005 */ bc1tl .L802B6904
/* E257C0 802B68F0 4600B580 */ add.s $f22, $f22, $f0
.L802B68F4:
/* E257C4 802B68F4 3C0141F0 */ lui $at, 0x41f0
/* E257C8 802B68F8 44810000 */ mtc1 $at, $f0
/* E257CC 802B68FC 00000000 */ nop
/* E257D0 802B6900 4600B580 */ add.s $f22, $f22, $f0
.L802B6904:
/* E257D4 802B6904 27A50020 */ addiu $a1, $sp, 0x20
.L802B6908:
/* E257D8 802B6908 3C0140C9 */ lui $at, 0x40c9
/* E257DC 802B690C 34210FD0 */ ori $at, $at, 0xfd0
/* E257E0 802B6910 44816000 */ mtc1 $at, $f12
/* E257E4 802B6914 27A60024 */ addiu $a2, $sp, 0x24
/* E257E8 802B6918 460CB302 */ mul.s $f12, $f22, $f12
/* E257EC 802B691C 00000000 */ nop
/* E257F0 802B6920 24110001 */ addiu $s1, $zero, 1
/* E257F4 802B6924 27B30030 */ addiu $s3, $sp, 0x30
/* E257F8 802B6928 3C0143B4 */ lui $at, 0x43b4
/* E257FC 802B692C 44810000 */ mtc1 $at, $f0
/* E25800 802B6930 3C014080 */ lui $at, 0x4080
/* E25804 802B6934 4481A000 */ mtc1 $at, $f20
/* E25808 802B6938 0C00A82D */ jal sin_cos_rad
/* E2580C 802B693C 46006303 */ div.s $f12, $f12, $f0
/* E25810 802B6940 C65C0028 */ lwc1 $f28, 0x28($s2)
/* E25814 802B6944 C65A002C */ lwc1 $f26, 0x2c($s2)
/* E25818 802B6948 C6580030 */ lwc1 $f24, 0x30($s2)
.L802B694C:
/* E2581C 802B694C C7A40020 */ lwc1 $f4, 0x20($sp)
/* E25820 802B6950 44910000 */ mtc1 $s1, $f0
/* E25824 802B6954 00000000 */ nop
/* E25828 802B6958 46800020 */ cvt.s.w $f0, $f0
/* E2582C 802B695C 46002102 */ mul.s $f4, $f4, $f0
/* E25830 802B6960 00000000 */ nop
/* E25834 802B6964 C7A20024 */ lwc1 $f2, 0x24($sp)
/* E25838 802B6968 46001082 */ mul.s $f2, $f2, $f0
/* E2583C 802B696C 00000000 */ nop
/* E25840 802B6970 24040003 */ addiu $a0, $zero, 3
/* E25844 802B6974 0240282D */ daddu $a1, $s2, $zero
/* E25848 802B6978 4604E100 */ add.s $f4, $f28, $f4
/* E2584C 802B697C 27A60028 */ addiu $a2, $sp, 0x28
/* E25850 802B6980 27A7002C */ addiu $a3, $sp, 0x2c
/* E25854 802B6984 4602C081 */ sub.s $f2, $f24, $f2
/* E25858 802B6988 E7BA002C */ swc1 $f26, 0x2c($sp)
/* E2585C 802B698C E7A40028 */ swc1 $f4, 0x28($sp)
/* E25860 802B6990 E7A20030 */ swc1 $f2, 0x30($sp)
/* E25864 802B6994 AFB30010 */ sw $s3, 0x10($sp)
/* E25868 802B6998 E7B40014 */ swc1 $f20, 0x14($sp)
/* E2586C 802B699C 0C037B01 */ jal do_lateral_collision
/* E25870 802B69A0 E7B60018 */ swc1 $f22, 0x18($sp)
/* E25874 802B69A4 3C03802B */ lui $v1, %hi(D_802B6DB0)
/* E25878 802B69A8 8C636DB0 */ lw $v1, %lo(D_802B6DB0)($v1)
/* E2587C 802B69AC 8C630014 */ lw $v1, 0x14($v1)
/* E25880 802B69B0 14600009 */ bnez $v1, .L802B69D8
/* E25884 802B69B4 0040802D */ daddu $s0, $v0, $zero
/* E25888 802B69B8 06000009 */ bltz $s0, .L802B69E0
/* E2588C 802B69BC A6900014 */ sh $s0, 0x14($s4)
/* E25890 802B69C0 32024000 */ andi $v0, $s0, 0x4000
/* E25894 802B69C4 10400004 */ beqz $v0, .L802B69D8
/* E25898 802B69C8 00000000 */ nop
/* E2589C 802B69CC 0C04417A */ jal get_entity_by_index
/* E258A0 802B69D0 0200202D */ daddu $a0, $s0, $zero
/* E258A4 802B69D4 A0400007 */ sb $zero, 7($v0)
.L802B69D8:
/* E258A8 802B69D8 06010005 */ bgez $s0, .L802B69F0
/* E258AC 802B69DC 2A220010 */ slti $v0, $s1, 0x10
.L802B69E0:
/* E258B0 802B69E0 26310001 */ addiu $s1, $s1, 1
/* E258B4 802B69E4 2A220010 */ slti $v0, $s1, 0x10
/* E258B8 802B69E8 1440FFD8 */ bnez $v0, .L802B694C
/* E258BC 802B69EC 00000000 */ nop
.L802B69F0:
/* E258C0 802B69F0 14400062 */ bnez $v0, .L802B6B7C
/* E258C4 802B69F4 00000000 */ nop
/* E258C8 802B69F8 0C0394D2 */ jal func_800E5348
/* E258CC 802B69FC 00000000 */ nop
/* E258D0 802B6A00 8E4400A4 */ lw $a0, 0xa4($s2)
/* E258D4 802B6A04 0C0AD800 */ jal func_802B6000_E24ED0
/* E258D8 802B6A08 46000586 */ mov.s $f22, $f0
/* E258DC 802B6A0C 14400024 */ bnez $v0, .L802B6AA0
/* E258E0 802B6A10 27A50020 */ addiu $a1, $sp, 0x20
/* E258E4 802B6A14 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* E258E8 802B6A18 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* E258EC 802B6A1C 3C0142B4 */ lui $at, 0x42b4
/* E258F0 802B6A20 4481A000 */ mtc1 $at, $f20
/* E258F4 802B6A24 00031080 */ sll $v0, $v1, 2
/* E258F8 802B6A28 00431021 */ addu $v0, $v0, $v1
/* E258FC 802B6A2C 00021080 */ sll $v0, $v0, 2
/* E25900 802B6A30 00431023 */ subu $v0, $v0, $v1
/* E25904 802B6A34 000218C0 */ sll $v1, $v0, 3
/* E25908 802B6A38 00431021 */ addu $v0, $v0, $v1
/* E2590C 802B6A3C 000210C0 */ sll $v0, $v0, 3
/* E25910 802B6A40 4614B000 */ add.s $f0, $f22, $f20
/* E25914 802B6A44 3C01800B */ lui $at, %hi(D_800B1DEC)
/* E25918 802B6A48 00220821 */ addu $at, $at, $v0
/* E2591C 802B6A4C C42C1DEC */ lwc1 $f12, %lo(D_800B1DEC)($at)
/* E25920 802B6A50 0C00A6C9 */ jal clamp_angle
/* E25924 802B6A54 460C0301 */ sub.s $f12, $f0, $f12
/* E25928 802B6A58 46000086 */ mov.s $f2, $f0
/* E2592C 802B6A5C 4602A03E */ c.le.s $f20, $f2
/* E25930 802B6A60 00000000 */ nop
/* E25934 802B6A64 45000009 */ bc1f .L802B6A8C
/* E25938 802B6A68 00000000 */ nop
/* E2593C 802B6A6C 3C014387 */ lui $at, 0x4387
/* E25940 802B6A70 44810000 */ mtc1 $at, $f0
/* E25944 802B6A74 00000000 */ nop
/* E25948 802B6A78 4600103C */ c.lt.s $f2, $f0
/* E2594C 802B6A7C 3C014170 */ lui $at, 0x4170
/* E25950 802B6A80 44810000 */ mtc1 $at, $f0
/* E25954 802B6A84 45030005 */ bc1tl .L802B6A9C
/* E25958 802B6A88 4600B580 */ add.s $f22, $f22, $f0
.L802B6A8C:
/* E2595C 802B6A8C 3C01C170 */ lui $at, 0xc170
/* E25960 802B6A90 44810000 */ mtc1 $at, $f0
/* E25964 802B6A94 00000000 */ nop
/* E25968 802B6A98 4600B580 */ add.s $f22, $f22, $f0
.L802B6A9C:
/* E2596C 802B6A9C 27A50020 */ addiu $a1, $sp, 0x20
.L802B6AA0:
/* E25970 802B6AA0 3C0140C9 */ lui $at, 0x40c9
/* E25974 802B6AA4 34210FD0 */ ori $at, $at, 0xfd0
/* E25978 802B6AA8 44816000 */ mtc1 $at, $f12
/* E2597C 802B6AAC 27A60024 */ addiu $a2, $sp, 0x24
/* E25980 802B6AB0 460CB302 */ mul.s $f12, $f22, $f12
/* E25984 802B6AB4 00000000 */ nop
/* E25988 802B6AB8 24110001 */ addiu $s1, $zero, 1
/* E2598C 802B6ABC 27B30030 */ addiu $s3, $sp, 0x30
/* E25990 802B6AC0 3C0143B4 */ lui $at, 0x43b4
/* E25994 802B6AC4 44810000 */ mtc1 $at, $f0
/* E25998 802B6AC8 3C014080 */ lui $at, 0x4080
/* E2599C 802B6ACC 4481A000 */ mtc1 $at, $f20
/* E259A0 802B6AD0 0C00A82D */ jal sin_cos_rad
/* E259A4 802B6AD4 46006303 */ div.s $f12, $f12, $f0
.L802B6AD8:
/* E259A8 802B6AD8 C7A40020 */ lwc1 $f4, 0x20($sp)
/* E259AC 802B6ADC 44910000 */ mtc1 $s1, $f0
/* E259B0 802B6AE0 00000000 */ nop
/* E259B4 802B6AE4 46800020 */ cvt.s.w $f0, $f0
/* E259B8 802B6AE8 46002102 */ mul.s $f4, $f4, $f0
/* E259BC 802B6AEC 00000000 */ nop
/* E259C0 802B6AF0 C7A20024 */ lwc1 $f2, 0x24($sp)
/* E259C4 802B6AF4 46001082 */ mul.s $f2, $f2, $f0
/* E259C8 802B6AF8 00000000 */ nop
/* E259CC 802B6AFC 24040003 */ addiu $a0, $zero, 3
/* E259D0 802B6B00 0240282D */ daddu $a1, $s2, $zero
/* E259D4 802B6B04 4604E100 */ add.s $f4, $f28, $f4
/* E259D8 802B6B08 27A60028 */ addiu $a2, $sp, 0x28
/* E259DC 802B6B0C 27A7002C */ addiu $a3, $sp, 0x2c
/* E259E0 802B6B10 4602C081 */ sub.s $f2, $f24, $f2
/* E259E4 802B6B14 E7BA002C */ swc1 $f26, 0x2c($sp)
/* E259E8 802B6B18 E7A40028 */ swc1 $f4, 0x28($sp)
/* E259EC 802B6B1C E7A20030 */ swc1 $f2, 0x30($sp)
/* E259F0 802B6B20 AFB30010 */ sw $s3, 0x10($sp)
/* E259F4 802B6B24 E7B40014 */ swc1 $f20, 0x14($sp)
/* E259F8 802B6B28 0C037B01 */ jal do_lateral_collision
/* E259FC 802B6B2C E7B60018 */ swc1 $f22, 0x18($sp)
/* E25A00 802B6B30 3C03802B */ lui $v1, %hi(D_802B6DB0)
/* E25A04 802B6B34 8C636DB0 */ lw $v1, %lo(D_802B6DB0)($v1)
/* E25A08 802B6B38 8C630014 */ lw $v1, 0x14($v1)
/* E25A0C 802B6B3C 14600009 */ bnez $v1, .L802B6B64
/* E25A10 802B6B40 0040802D */ daddu $s0, $v0, $zero
/* E25A14 802B6B44 06000009 */ bltz $s0, .L802B6B6C
/* E25A18 802B6B48 A6900014 */ sh $s0, 0x14($s4)
/* E25A1C 802B6B4C 32024000 */ andi $v0, $s0, 0x4000
/* E25A20 802B6B50 10400004 */ beqz $v0, .L802B6B64
/* E25A24 802B6B54 00000000 */ nop
/* E25A28 802B6B58 0C04417A */ jal get_entity_by_index
/* E25A2C 802B6B5C 0200202D */ daddu $a0, $s0, $zero
/* E25A30 802B6B60 A0400007 */ sb $zero, 7($v0)
.L802B6B64:
/* E25A34 802B6B64 06010005 */ bgez $s0, .L802B6B7C
/* E25A38 802B6B68 00000000 */ nop
.L802B6B6C:
/* E25A3C 802B6B6C 26310001 */ addiu $s1, $s1, 1
/* E25A40 802B6B70 2A220010 */ slti $v0, $s1, 0x10
/* E25A44 802B6B74 1440FFD8 */ bnez $v0, .L802B6AD8
/* E25A48 802B6B78 00000000 */ nop
.L802B6B7C:
/* E25A4C 802B6B7C 3C02802B */ lui $v0, %hi(D_802B6DB0)
/* E25A50 802B6B80 8C426DB0 */ lw $v0, %lo(D_802B6DB0)($v0)
/* E25A54 802B6B84 8C440018 */ lw $a0, 0x18($v0)
/* E25A58 802B6B88 24020002 */ addiu $v0, $zero, 2
/* E25A5C 802B6B8C 14820032 */ bne $a0, $v0, .L802B6C58
/* E25A60 802B6B90 00000000 */ nop
/* E25A64 802B6B94 3C038011 */ lui $v1, %hi(gPlayerData+0x1)
/* E25A68 802B6B98 8063F291 */ lb $v1, %lo(gPlayerData+0x1)($v1)
/* E25A6C 802B6B9C 14640003 */ bne $v1, $a0, .L802B6BAC
/* E25A70 802B6BA0 24020001 */ addiu $v0, $zero, 1
/* E25A74 802B6BA4 080ADAEE */ j .L802B6BB8
/* E25A78 802B6BA8 24042117 */ addiu $a0, $zero, 0x2117
.L802B6BAC:
/* E25A7C 802B6BAC 14620002 */ bne $v1, $v0, .L802B6BB8
/* E25A80 802B6BB0 24042115 */ addiu $a0, $zero, 0x2115
/* E25A84 802B6BB4 24042116 */ addiu $a0, $zero, 0x2116
.L802B6BB8:
/* E25A88 802B6BB8 0C052736 */ jal play_sound_at_player
/* E25A8C 802B6BBC 0000282D */ daddu $a1, $zero, $zero
/* E25A90 802B6BC0 3C02802B */ lui $v0, %hi(D_802B6DB0)
/* E25A94 802B6BC4 8C426DB0 */ lw $v0, %lo(D_802B6DB0)($v0)
/* E25A98 802B6BC8 0C0AD812 */ jal func_802B6048_E24F18
/* E25A9C 802B6BCC 8C440010 */ lw $a0, 0x10($v0)
/* E25AA0 802B6BD0 86840014 */ lh $a0, 0x14($s4)
/* E25AA4 802B6BD4 96820014 */ lhu $v0, 0x14($s4)
/* E25AA8 802B6BD8 04800007 */ bltz $a0, .L802B6BF8
/* E25AAC 802B6BDC 30424000 */ andi $v0, $v0, 0x4000
/* E25AB0 802B6BE0 10400005 */ beqz $v0, .L802B6BF8
/* E25AB4 802B6BE4 00000000 */ nop
/* E25AB8 802B6BE8 0C04417A */ jal get_entity_by_index
/* E25ABC 802B6BEC 00000000 */ nop
/* E25AC0 802B6BF0 080ADB03 */ j .L802B6C0C
/* E25AC4 802B6BF4 A0400007 */ sb $zero, 7($v0)
.L802B6BF8:
/* E25AC8 802B6BF8 3C02802B */ lui $v0, %hi(D_802B6DB0)
/* E25ACC 802B6BFC 8C426DB0 */ lw $v0, %lo(D_802B6DB0)($v0)
/* E25AD0 802B6C00 8C420010 */ lw $v0, 0x10($v0)
/* E25AD4 802B6C04 04410014 */ bgez $v0, .L802B6C58
/* E25AD8 802B6C08 00000000 */ nop
.L802B6C0C:
/* E25ADC 802B6C0C 8E420000 */ lw $v0, ($s2)
/* E25AE0 802B6C10 3C030100 */ lui $v1, 0x100
/* E25AE4 802B6C14 00431025 */ or $v0, $v0, $v1
/* E25AE8 802B6C18 AE420000 */ sw $v0, ($s2)
/* E25AEC 802B6C1C 3C02802B */ lui $v0, %hi(D_802B6DB0)
/* E25AF0 802B6C20 8C426DB0 */ lw $v0, %lo(D_802B6DB0)($v0)
/* E25AF4 802B6C24 8C420010 */ lw $v0, 0x10($v0)
/* E25AF8 802B6C28 0441000B */ bgez $v0, .L802B6C58
/* E25AFC 802B6C2C 00000000 */ nop
/* E25B00 802B6C30 3C028011 */ lui $v0, %hi(gPlayerData+0x1)
/* E25B04 802B6C34 8042F291 */ lb $v0, %lo(gPlayerData+0x1)($v0)
/* E25B08 802B6C38 28420002 */ slti $v0, $v0, 2
/* E25B0C 802B6C3C 14400006 */ bnez $v0, .L802B6C58
/* E25B10 802B6C40 24030001 */ addiu $v1, $zero, 1
/* E25B14 802B6C44 3C028016 */ lui $v0, %hi(D_8015A578)
/* E25B18 802B6C48 2442A578 */ addiu $v0, $v0, %lo(D_8015A578)
/* E25B1C 802B6C4C C640002C */ lwc1 $f0, 0x2c($s2)
/* E25B20 802B6C50 A0430000 */ sb $v1, ($v0)
/* E25B24 802B6C54 E4400008 */ swc1 $f0, 8($v0)
.L802B6C58:
/* E25B28 802B6C58 824200B6 */ lb $v0, 0xb6($s2)
/* E25B2C 802B6C5C 14400009 */ bnez $v0, .L802B6C84
/* E25B30 802B6C60 924300B6 */ lbu $v1, 0xb6($s2)
/* E25B34 802B6C64 06000007 */ bltz $s0, .L802B6C84
/* E25B38 802B6C68 00000000 */ nop
/* E25B3C 802B6C6C 3C02802B */ lui $v0, %hi(D_802B6DB0)
/* E25B40 802B6C70 8C426DB0 */ lw $v0, %lo(D_802B6DB0)($v0)
/* E25B44 802B6C74 8C420014 */ lw $v0, 0x14($v0)
/* E25B48 802B6C78 14400002 */ bnez $v0, .L802B6C84
/* E25B4C 802B6C7C 24620001 */ addiu $v0, $v1, 1
/* E25B50 802B6C80 A24200B6 */ sb $v0, 0xb6($s2)
.L802B6C84:
/* E25B54 802B6C84 824300B6 */ lb $v1, 0xb6($s2)
/* E25B58 802B6C88 24020001 */ addiu $v0, $zero, 1
/* E25B5C 802B6C8C 14620004 */ bne $v1, $v0, .L802B6CA0
/* E25B60 802B6C90 00000000 */ nop
/* E25B64 802B6C94 06010002 */ bgez $s0, .L802B6CA0
/* E25B68 802B6C98 24020002 */ addiu $v0, $zero, 2
/* E25B6C 802B6C9C A24200B6 */ sb $v0, 0xb6($s2)
.L802B6CA0:
/* E25B70 802B6CA0 3C05802B */ lui $a1, %hi(D_802B6DB0)
/* E25B74 802B6CA4 24A56DB0 */ addiu $a1, $a1, %lo(D_802B6DB0)
/* E25B78 802B6CA8 8CA30000 */ lw $v1, ($a1)
/* E25B7C 802B6CAC 8C620018 */ lw $v0, 0x18($v1)
/* E25B80 802B6CB0 24420001 */ addiu $v0, $v0, 1
/* E25B84 802B6CB4 06000003 */ bltz $s0, .L802B6CC4
/* E25B88 802B6CB8 AC620018 */ sw $v0, 0x18($v1)
/* E25B8C 802B6CBC 24020001 */ addiu $v0, $zero, 1
/* E25B90 802B6CC0 AC620014 */ sw $v0, 0x14($v1)
.L802B6CC4:
/* E25B94 802B6CC4 8CA20000 */ lw $v0, ($a1)
/* E25B98 802B6CC8 8C430018 */ lw $v1, 0x18($v0)
/* E25B9C 802B6CCC 24020006 */ addiu $v0, $zero, 6
/* E25BA0 802B6CD0 14620005 */ bne $v1, $v0, .L802B6CE8
/* E25BA4 802B6CD4 3C03FFDF */ lui $v1, 0xffdf
/* E25BA8 802B6CD8 8E420000 */ lw $v0, ($s2)
/* E25BAC 802B6CDC 3463FFFF */ ori $v1, $v1, 0xffff
/* E25BB0 802B6CE0 00431024 */ and $v0, $v0, $v1
/* E25BB4 802B6CE4 AE420000 */ sw $v0, ($s2)
.L802B6CE8:
/* E25BB8 802B6CE8 964400BC */ lhu $a0, 0xbc($s2)
/* E25BBC 802B6CEC 24020001 */ addiu $v0, $zero, 1
/* E25BC0 802B6CF0 14820020 */ bne $a0, $v0, .L802B6D74
/* E25BC4 802B6CF4 00000000 */ nop
/* E25BC8 802B6CF8 8CA30000 */ lw $v1, ($a1)
/* E25BCC 802B6CFC 8C620018 */ lw $v0, 0x18($v1)
/* E25BD0 802B6D00 28420007 */ slti $v0, $v0, 7
/* E25BD4 802B6D04 14400005 */ bnez $v0, .L802B6D1C
/* E25BD8 802B6D08 00000000 */ nop
/* E25BDC 802B6D0C 8E4200E0 */ lw $v0, 0xe0($s2)
/* E25BE0 802B6D10 30424000 */ andi $v0, $v0, 0x4000
/* E25BE4 802B6D14 54400001 */ bnel $v0, $zero, .L802B6D1C
/* E25BE8 802B6D18 AC64001C */ sw $a0, 0x1c($v1)
.L802B6D1C:
/* E25BEC 802B6D1C 3C03802B */ lui $v1, %hi(D_802B6DB0)
/* E25BF0 802B6D20 8C636DB0 */ lw $v1, %lo(D_802B6DB0)($v1)
/* E25BF4 802B6D24 8C62001C */ lw $v0, 0x1c($v1)
/* E25BF8 802B6D28 14400006 */ bnez $v0, .L802B6D44
/* E25BFC 802B6D2C AC600014 */ sw $zero, 0x14($v1)
/* E25C00 802B6D30 8C630018 */ lw $v1, 0x18($v1)
/* E25C04 802B6D34 2402000A */ addiu $v0, $zero, 0xa
/* E25C08 802B6D38 0043102A */ slt $v0, $v0, $v1
/* E25C0C 802B6D3C 10400009 */ beqz $v0, .L802B6D64
/* E25C10 802B6D40 3C03FFDF */ lui $v1, 0xffdf
.L802B6D44:
/* E25C14 802B6D44 3C03FEFF */ lui $v1, 0xfeff
/* E25C18 802B6D48 3463FFFF */ ori $v1, $v1, 0xffff
/* E25C1C 802B6D4C 8E420000 */ lw $v0, ($s2)
/* E25C20 802B6D50 0000202D */ daddu $a0, $zero, $zero
/* E25C24 802B6D54 00431024 */ and $v0, $v0, $v1
/* E25C28 802B6D58 0C039769 */ jal set_action_state
/* E25C2C 802B6D5C AE420000 */ sw $v0, ($s2)
/* E25C30 802B6D60 3C03FFDF */ lui $v1, 0xffdf
.L802B6D64:
/* E25C34 802B6D64 8E420000 */ lw $v0, ($s2)
/* E25C38 802B6D68 3463FFFF */ ori $v1, $v1, 0xffff
/* E25C3C 802B6D6C 00431024 */ and $v0, $v0, $v1
/* E25C40 802B6D70 AE420000 */ sw $v0, ($s2)
.L802B6D74:
/* E25C44 802B6D74 8FBF004C */ lw $ra, 0x4c($sp)
/* E25C48 802B6D78 8FB40048 */ lw $s4, 0x48($sp)
/* E25C4C 802B6D7C 8FB30044 */ lw $s3, 0x44($sp)
/* E25C50 802B6D80 8FB20040 */ lw $s2, 0x40($sp)
/* E25C54 802B6D84 8FB1003C */ lw $s1, 0x3c($sp)
/* E25C58 802B6D88 8FB00038 */ lw $s0, 0x38($sp)
/* E25C5C 802B6D8C D7BC0070 */ ldc1 $f28, 0x70($sp)
/* E25C60 802B6D90 D7BA0068 */ ldc1 $f26, 0x68($sp)
/* E25C64 802B6D94 D7B80060 */ ldc1 $f24, 0x60($sp)
/* E25C68 802B6D98 D7B60058 */ ldc1 $f22, 0x58($sp)
/* E25C6C 802B6D9C D7B40050 */ ldc1 $f20, 0x50($sp)
/* E25C70 802B6DA0 03E00008 */ jr $ra
/* E25C74 802B6DA4 27BD0078 */ addiu $sp, $sp, 0x78
/* E25C78 802B6DA8 00000000 */ nop
/* E25C7C 802B6DAC 00000000 */ nop

View File

@ -0,0 +1,663 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6000_E25D60
/* E25D60 802B6000 27BDFFB0 */ addiu $sp, $sp, -0x50
/* E25D64 802B6004 AFB5002C */ sw $s5, 0x2c($sp)
/* E25D68 802B6008 AFB1001C */ sw $s1, 0x1c($sp)
/* E25D6C 802B600C 3C118011 */ lui $s1, %hi(gPlayerStatus)
/* E25D70 802B6010 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus)
/* E25D74 802B6014 AFBF0030 */ sw $ra, 0x30($sp)
/* E25D78 802B6018 AFB40028 */ sw $s4, 0x28($sp)
/* E25D7C 802B601C AFB30024 */ sw $s3, 0x24($sp)
/* E25D80 802B6020 AFB20020 */ sw $s2, 0x20($sp)
/* E25D84 802B6024 AFB00018 */ sw $s0, 0x18($sp)
/* E25D88 802B6028 F7B80048 */ sdc1 $f24, 0x48($sp)
/* E25D8C 802B602C F7B60040 */ sdc1 $f22, 0x40($sp)
/* E25D90 802B6030 F7B40038 */ sdc1 $f20, 0x38($sp)
/* E25D94 802B6034 8E220000 */ lw $v0, ($s1)
/* E25D98 802B6038 3C108011 */ lui $s0, %hi(D_8010F250)
/* E25D9C 802B603C 2610F250 */ addiu $s0, $s0, %lo(D_8010F250)
/* E25DA0 802B6040 0441009D */ bgez $v0, .L802B62B8
/* E25DA4 802B6044 0000A82D */ daddu $s5, $zero, $zero
/* E25DA8 802B6048 3C037FF7 */ lui $v1, 0x7ff7
/* E25DAC 802B604C 3463FFFF */ ori $v1, $v1, 0xffff
/* E25DB0 802B6050 3C05FFFB */ lui $a1, 0xfffb
/* E25DB4 802B6054 34A5FFFF */ ori $a1, $a1, 0xffff
/* E25DB8 802B6058 24150001 */ addiu $s5, $zero, 1
/* E25DBC 802B605C 24040028 */ addiu $a0, $zero, 0x28
/* E25DC0 802B6060 00431824 */ and $v1, $v0, $v1
/* E25DC4 802B6064 3C020002 */ lui $v0, 2
/* E25DC8 802B6068 AE230000 */ sw $v1, ($s1)
/* E25DCC 802B606C 00621825 */ or $v1, $v1, $v0
/* E25DD0 802B6070 24020019 */ addiu $v0, $zero, 0x19
/* E25DD4 802B6074 AE230000 */ sw $v1, ($s1)
/* E25DD8 802B6078 A6200008 */ sh $zero, 8($s1)
/* E25DDC 802B607C A22000B6 */ sb $zero, 0xb6($s1)
/* E25DE0 802B6080 A2000000 */ sb $zero, ($s0)
/* E25DE4 802B6084 A2000001 */ sb $zero, 1($s0)
/* E25DE8 802B6088 AE000010 */ sw $zero, 0x10($s0)
/* E25DEC 802B608C AE000014 */ sw $zero, 0x14($s0)
/* E25DF0 802B6090 AE000018 */ sw $zero, 0x18($s0)
/* E25DF4 802B6094 A2000002 */ sb $zero, 2($s0)
/* E25DF8 802B6098 AE000008 */ sw $zero, 8($s0)
/* E25DFC 802B609C AE00000C */ sw $zero, 0xc($s0)
/* E25E00 802B60A0 AE000030 */ sw $zero, 0x30($s0)
/* E25E04 802B60A4 AE2000D8 */ sw $zero, 0xd8($s1)
/* E25E08 802B60A8 A602002C */ sh $v0, 0x2c($s0)
/* E25E0C 802B60AC 8E230004 */ lw $v1, 4($s1)
/* E25E10 802B60B0 2402000F */ addiu $v0, $zero, 0xf
/* E25E14 802B60B4 A602002E */ sh $v0, 0x2e($s0)
/* E25E18 802B60B8 3C020001 */ lui $v0, 1
/* E25E1C 802B60BC 3C014220 */ lui $at, 0x4220
/* E25E20 802B60C0 4481A000 */ mtc1 $at, $f20
/* E25E24 802B60C4 3C014000 */ lui $at, 0x4000
/* E25E28 802B60C8 44810000 */ mtc1 $at, $f0
/* E25E2C 802B60CC 3C013F00 */ lui $at, 0x3f00
/* E25E30 802B60D0 44811000 */ mtc1 $at, $f2
/* E25E34 802B60D4 00651824 */ and $v1, $v1, $a1
/* E25E38 802B60D8 9205002D */ lbu $a1, 0x2d($s0)
/* E25E3C 802B60DC 00621825 */ or $v1, $v1, $v0
/* E25E40 802B60E0 AE230004 */ sw $v1, 4($s1)
/* E25E44 802B60E4 E6140020 */ swc1 $f20, 0x20($s0)
/* E25E48 802B60E8 E6000024 */ swc1 $f0, 0x24($s0)
/* E25E4C 802B60EC E6020028 */ swc1 $f2, 0x28($s0)
/* E25E50 802B60F0 0C03A752 */ jal is_ability_active
/* E25E54 802B60F4 A2050003 */ sb $a1, 3($s0)
/* E25E58 802B60F8 0002102B */ sltu $v0, $zero, $v0
/* E25E5C 802B60FC 00029080 */ sll $s2, $v0, 2
/* E25E60 802B6100 0C03A752 */ jal is_ability_active
/* E25E64 802B6104 2404002D */ addiu $a0, $zero, 0x2d
/* E25E68 802B6108 54400001 */ bnel $v0, $zero, .L802B6110
/* E25E6C 802B610C 36520002 */ ori $s2, $s2, 2
.L802B6110:
/* E25E70 802B6110 0C03A752 */ jal is_ability_active
/* E25E74 802B6114 24040027 */ addiu $a0, $zero, 0x27
/* E25E78 802B6118 10400010 */ beqz $v0, .L802B615C
/* E25E7C 802B611C 2402001E */ addiu $v0, $zero, 0x1e
/* E25E80 802B6120 36520001 */ ori $s2, $s2, 1
/* E25E84 802B6124 A602002C */ sh $v0, 0x2c($s0)
/* E25E88 802B6128 9203002D */ lbu $v1, 0x2d($s0)
/* E25E8C 802B612C 3C01402C */ lui $at, 0x402c
/* E25E90 802B6130 3421CCCD */ ori $at, $at, 0xcccd
/* E25E94 802B6134 44810000 */ mtc1 $at, $f0
/* E25E98 802B6138 3C013F66 */ lui $at, 0x3f66
/* E25E9C 802B613C 34216666 */ ori $at, $at, 0x6666
/* E25EA0 802B6140 44811000 */ mtc1 $at, $f2
/* E25EA4 802B6144 24020014 */ addiu $v0, $zero, 0x14
/* E25EA8 802B6148 E6140020 */ swc1 $f20, 0x20($s0)
/* E25EAC 802B614C A602002E */ sh $v0, 0x2e($s0)
/* E25EB0 802B6150 A2030003 */ sb $v1, 3($s0)
/* E25EB4 802B6154 E6000024 */ swc1 $f0, 0x24($s0)
/* E25EB8 802B6158 E6020028 */ swc1 $f2, 0x28($s0)
.L802B615C:
/* E25EBC 802B615C 2414FFFF */ addiu $s4, $zero, -1
/* E25EC0 802B6160 3C130001 */ lui $s3, 1
/* E25EC4 802B6164 12400011 */ beqz $s2, .L802B61AC
/* E25EC8 802B6168 36730010 */ ori $s3, $s3, 0x10
/* E25ECC 802B616C 32420004 */ andi $v0, $s2, 4
/* E25ED0 802B6170 10400005 */ beqz $v0, .L802B6188
/* E25ED4 802B6174 32420002 */ andi $v0, $s2, 2
/* E25ED8 802B6178 24140002 */ addiu $s4, $zero, 2
/* E25EDC 802B617C 3C130001 */ lui $s3, 1
/* E25EE0 802B6180 080AD86B */ j .L802B61AC
/* E25EE4 802B6184 36730012 */ ori $s3, $s3, 0x12
.L802B6188:
/* E25EE8 802B6188 10400003 */ beqz $v0, .L802B6198
/* E25EEC 802B618C 32420001 */ andi $v0, $s2, 1
/* E25EF0 802B6190 080AD86B */ j .L802B61AC
/* E25EF4 802B6194 24140004 */ addiu $s4, $zero, 4
.L802B6198:
/* E25EF8 802B6198 10400005 */ beqz $v0, .L802B61B0
/* E25EFC 802B619C 24022111 */ addiu $v0, $zero, 0x2111
/* E25F00 802B61A0 0000A02D */ daddu $s4, $zero, $zero
/* E25F04 802B61A4 3C130001 */ lui $s3, 1
/* E25F08 802B61A8 36730011 */ ori $s3, $s3, 0x11
.L802B61AC:
/* E25F0C 802B61AC 24022111 */ addiu $v0, $zero, 0x2111
.L802B61B0:
/* E25F10 802B61B0 AE020030 */ sw $v0, 0x30($s0)
/* E25F14 802B61B4 2402FFFD */ addiu $v0, $zero, -3
/* E25F18 802B61B8 02421824 */ and $v1, $s2, $v0
/* E25F1C 802B61BC 24020004 */ addiu $v0, $zero, 4
/* E25F20 802B61C0 14620004 */ bne $v1, $v0, .L802B61D4
/* E25F24 802B61C4 24020001 */ addiu $v0, $zero, 1
/* E25F28 802B61C8 24022113 */ addiu $v0, $zero, 0x2113
/* E25F2C 802B61CC AE020030 */ sw $v0, 0x30($s0)
/* E25F30 802B61D0 24020001 */ addiu $v0, $zero, 1
.L802B61D4:
/* E25F34 802B61D4 14620004 */ bne $v1, $v0, .L802B61E8
/* E25F38 802B61D8 24020005 */ addiu $v0, $zero, 5
/* E25F3C 802B61DC 24022112 */ addiu $v0, $zero, 0x2112
/* E25F40 802B61E0 AE020030 */ sw $v0, 0x30($s0)
/* E25F44 802B61E4 24020005 */ addiu $v0, $zero, 5
.L802B61E8:
/* E25F48 802B61E8 14620002 */ bne $v1, $v0, .L802B61F4
/* E25F4C 802B61EC 24022114 */ addiu $v0, $zero, 0x2114
/* E25F50 802B61F0 AE020030 */ sw $v0, 0x30($s0)
.L802B61F4:
/* E25F54 802B61F4 8E040030 */ lw $a0, 0x30($s0)
/* E25F58 802B61F8 0C052736 */ jal play_sound_at_player
/* E25F5C 802B61FC 0000282D */ daddu $a1, $zero, $zero
/* E25F60 802B6200 0C037FDE */ jal func_800DFF78
/* E25F64 802B6204 0260202D */ daddu $a0, $s3, $zero
/* E25F68 802B6208 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* E25F6C 802B620C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* E25F70 802B6210 C6200080 */ lwc1 $f0, 0x80($s1)
/* E25F74 802B6214 00031080 */ sll $v0, $v1, 2
/* E25F78 802B6218 00431021 */ addu $v0, $v0, $v1
/* E25F7C 802B621C 00021080 */ sll $v0, $v0, 2
/* E25F80 802B6220 00431023 */ subu $v0, $v0, $v1
/* E25F84 802B6224 000218C0 */ sll $v1, $v0, 3
/* E25F88 802B6228 00431021 */ addu $v0, $v0, $v1
/* E25F8C 802B622C 000210C0 */ sll $v0, $v0, 3
/* E25F90 802B6230 3C01800B */ lui $at, %hi(D_800B1DEC)
/* E25F94 802B6234 00220821 */ addu $at, $at, $v0
/* E25F98 802B6238 C42C1DEC */ lwc1 $f12, %lo(D_800B1DEC)($at)
/* E25F9C 802B623C 0C00A6C9 */ jal clamp_angle
/* E25FA0 802B6240 460C0301 */ sub.s $f12, $f0, $f12
/* E25FA4 802B6244 3C014334 */ lui $at, 0x4334
/* E25FA8 802B6248 44811000 */ mtc1 $at, $f2
/* E25FAC 802B624C 00000000 */ nop
/* E25FB0 802B6250 4602003E */ c.le.s $f0, $f2
/* E25FB4 802B6254 00000000 */ nop
/* E25FB8 802B6258 45020004 */ bc1fl .L802B626C
/* E25FBC 802B625C 26940001 */ addiu $s4, $s4, 1
/* E25FC0 802B6260 C6000020 */ lwc1 $f0, 0x20($s0)
/* E25FC4 802B6264 080AD89E */ j .L802B6278
/* E25FC8 802B6268 E62000D4 */ swc1 $f0, 0xd4($s1)
.L802B626C:
/* E25FCC 802B626C C6000020 */ lwc1 $f0, 0x20($s0)
/* E25FD0 802B6270 46000007 */ neg.s $f0, $f0
/* E25FD4 802B6274 E62000D4 */ swc1 $f0, 0xd4($s1)
.L802B6278:
/* E25FD8 802B6278 12400006 */ beqz $s2, .L802B6294
/* E25FDC 802B627C 0280202D */ daddu $a0, $s4, $zero
/* E25FE0 802B6280 0220282D */ daddu $a1, $s1, $zero
/* E25FE4 802B6284 3C063F80 */ lui $a2, 0x3f80
/* E25FE8 802B6288 0C01C4B4 */ jal func_800712D0
/* E25FEC 802B628C 240703E8 */ addiu $a3, $zero, 0x3e8
/* E25FF0 802B6290 AE2200D8 */ sw $v0, 0xd8($s1)
.L802B6294:
/* E25FF4 802B6294 0C03963C */ jal func_800E58F0
/* E25FF8 802B6298 00000000 */ nop
/* E25FFC 802B629C 27A40010 */ addiu $a0, $sp, 0x10
/* E26000 802B62A0 0C0388C1 */ jal input_to_move_vector
/* E26004 802B62A4 27A50014 */ addiu $a1, $sp, 0x14
/* E26008 802B62A8 C7A00010 */ lwc1 $f0, 0x10($sp)
/* E2600C 802B62AC C7A20014 */ lwc1 $f2, 0x14($sp)
/* E26010 802B62B0 E6200080 */ swc1 $f0, 0x80($s1)
/* E26014 802B62B4 E602001C */ swc1 $f2, 0x1c($s0)
.L802B62B8:
/* E26018 802B62B8 3C058011 */ lui $a1, %hi(D_8010C944)
/* E2601C 802B62BC 24A5C944 */ addiu $a1, $a1, %lo(D_8010C944)
/* E26020 802B62C0 3C068011 */ lui $a2, %hi(D_8010F6B8)
/* E26024 802B62C4 24C6F6B8 */ addiu $a2, $a2, %lo(D_8010F6B8)
/* E26028 802B62C8 8CA20000 */ lw $v0, ($a1)
/* E2602C 802B62CC C62000A8 */ lwc1 $f0, 0xa8($s1)
/* E26030 802B62D0 00022040 */ sll $a0, $v0, 1
/* E26034 802B62D4 24420001 */ addiu $v0, $v0, 1
/* E26038 802B62D8 4600018D */ trunc.w.s $f6, $f0
/* E2603C 802B62DC 44033000 */ mfc1 $v1, $f6
/* E26040 802B62E0 3C018011 */ lui $at, %hi(D_8010F6B8)
/* E26044 802B62E4 00240821 */ addu $at, $at, $a0
/* E26048 802B62E8 A423F6B8 */ sh $v1, %lo(D_8010F6B8)($at)
/* E2604C 802B62EC ACA20000 */ sw $v0, ($a1)
/* E26050 802B62F0 28420006 */ slti $v0, $v0, 6
/* E26054 802B62F4 50400001 */ beql $v0, $zero, .L802B62FC
/* E26058 802B62F8 ACA00000 */ sw $zero, ($a1)
.L802B62FC:
/* E2605C 802B62FC 8CA30000 */ lw $v1, ($a1)
/* E26060 802B6300 C6200028 */ lwc1 $f0, 0x28($s1)
/* E26064 802B6304 00031080 */ sll $v0, $v1, 2
/* E26068 802B6308 4600018D */ trunc.w.s $f6, $f0
/* E2606C 802B630C 3C018011 */ lui $at, %hi(D_8010EF28)
/* E26070 802B6310 00220821 */ addu $at, $at, $v0
/* E26074 802B6314 E426EF28 */ swc1 $f6, %lo(D_8010EF28)($at)
/* E26078 802B6318 24640001 */ addiu $a0, $v1, 1
/* E2607C 802B631C C620002C */ lwc1 $f0, 0x2c($s1)
/* E26080 802B6320 00031840 */ sll $v1, $v1, 1
/* E26084 802B6324 4600018D */ trunc.w.s $f6, $f0
/* E26088 802B6328 3C018011 */ lui $at, %hi(D_8010EF10)
/* E2608C 802B632C 00220821 */ addu $at, $at, $v0
/* E26090 802B6330 E426EF10 */ swc1 $f6, %lo(D_8010EF10)($at)
/* E26094 802B6334 C6200030 */ lwc1 $f0, 0x30($s1)
/* E26098 802B6338 00661821 */ addu $v1, $v1, $a2
/* E2609C 802B633C ACA40000 */ sw $a0, ($a1)
/* E260A0 802B6340 4600018D */ trunc.w.s $f6, $f0
/* E260A4 802B6344 3C018011 */ lui $at, %hi(D_8010EF40)
/* E260A8 802B6348 00220821 */ addu $at, $at, $v0
/* E260AC 802B634C E426EF40 */ swc1 $f6, %lo(D_8010EF40)($at)
/* E260B0 802B6350 C62000A8 */ lwc1 $f0, 0xa8($s1)
/* E260B4 802B6354 28840006 */ slti $a0, $a0, 6
/* E260B8 802B6358 4600018D */ trunc.w.s $f6, $f0
/* E260BC 802B635C 44023000 */ mfc1 $v0, $f6
/* E260C0 802B6360 14800002 */ bnez $a0, .L802B636C
/* E260C4 802B6364 A4620000 */ sh $v0, ($v1)
/* E260C8 802B6368 ACA00000 */ sw $zero, ($a1)
.L802B636C:
/* E260CC 802B636C 16A0001A */ bnez $s5, .L802B63D8
/* E260D0 802B6370 00000000 */ nop
/* E260D4 802B6374 0C039838 */ jal check_input_hammer
/* E260D8 802B6378 00000000 */ nop
/* E260DC 802B637C 14400005 */ bnez $v0, .L802B6394
/* E260E0 802B6380 3C05FFFE */ lui $a1, 0xfffe
/* E260E4 802B6384 0C039858 */ jal check_input_jump
/* E260E8 802B6388 00000000 */ nop
/* E260EC 802B638C 10400012 */ beqz $v0, .L802B63D8
/* E260F0 802B6390 3C05FFFE */ lui $a1, 0xfffe
.L802B6394:
/* E260F4 802B6394 34A5FFFF */ ori $a1, $a1, 0xffff
/* E260F8 802B6398 3C06FFFD */ lui $a2, 0xfffd
/* E260FC 802B639C 34C6FFFF */ ori $a2, $a2, 0xffff
/* E26100 802B63A0 8E040030 */ lw $a0, 0x30($s0)
/* E26104 802B63A4 8E220004 */ lw $v0, 4($s1)
/* E26108 802B63A8 8E230000 */ lw $v1, ($s1)
/* E2610C 802B63AC 00451024 */ and $v0, $v0, $a1
/* E26110 802B63B0 00661824 */ and $v1, $v1, $a2
/* E26114 802B63B4 AE220004 */ sw $v0, 4($s1)
/* E26118 802B63B8 0C05271B */ jal stop_sound
/* E2611C 802B63BC AE230000 */ sw $v1, ($s1)
/* E26120 802B63C0 27A40010 */ addiu $a0, $sp, 0x10
/* E26124 802B63C4 0C0388C1 */ jal input_to_move_vector
/* E26128 802B63C8 27A50014 */ addiu $a1, $sp, 0x14
/* E2612C 802B63CC C7A00010 */ lwc1 $f0, 0x10($sp)
/* E26130 802B63D0 080ADA5B */ j .L802B696C
/* E26134 802B63D4 E6200080 */ swc1 $f0, 0x80($s1)
.L802B63D8:
/* E26138 802B63D8 82020003 */ lb $v0, 3($s0)
/* E2613C 802B63DC 2842000B */ slti $v0, $v0, 0xb
/* E26140 802B63E0 1040000C */ beqz $v0, .L802B6414
/* E26144 802B63E4 00000000 */ nop
/* E26148 802B63E8 8E2200E0 */ lw $v0, 0xe0($s1)
/* E2614C 802B63EC 30422000 */ andi $v0, $v0, 0x2000
/* E26150 802B63F0 10400008 */ beqz $v0, .L802B6414
/* E26154 802B63F4 24020001 */ addiu $v0, $zero, 1
/* E26158 802B63F8 822300B5 */ lb $v1, 0xb5($s1)
/* E2615C 802B63FC 8E2400E8 */ lw $a0, 0xe8($s1)
/* E26160 802B6400 8E2500EC */ lw $a1, 0xec($s1)
/* E26164 802B6404 A2020001 */ sb $v0, 1($s0)
/* E26168 802B6408 AE030004 */ sw $v1, 4($s0)
/* E2616C 802B640C AE040008 */ sw $a0, 8($s0)
/* E26170 802B6410 AE05000C */ sw $a1, 0xc($s0)
.L802B6414:
/* E26174 802B6414 822300B6 */ lb $v1, 0xb6($s1)
/* E26178 802B6418 28620002 */ slti $v0, $v1, 2
/* E2617C 802B641C 1440004C */ bnez $v0, .L802B6550
/* E26180 802B6420 00000000 */ nop
/* E26184 802B6424 C6000010 */ lwc1 $f0, 0x10($s0)
/* E26188 802B6428 3C013F80 */ lui $at, 0x3f80
/* E2618C 802B642C 44811000 */ mtc1 $at, $f2
/* E26190 802B6430 00000000 */ nop
/* E26194 802B6434 46020001 */ sub.s $f0, $f0, $f2
/* E26198 802B6438 4480C000 */ mtc1 $zero, $f24
/* E2619C 802B643C 00000000 */ nop
/* E261A0 802B6440 4618003C */ c.lt.s $f0, $f24
/* E261A4 802B6444 00000000 */ nop
/* E261A8 802B6448 45000002 */ bc1f .L802B6454
/* E261AC 802B644C E6000010 */ swc1 $f0, 0x10($s0)
/* E261B0 802B6450 E6180010 */ swc1 $f24, 0x10($s0)
.L802B6454:
/* E261B4 802B6454 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* E261B8 802B6458 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* E261BC 802B645C C6200080 */ lwc1 $f0, 0x80($s1)
/* E261C0 802B6460 00031080 */ sll $v0, $v1, 2
/* E261C4 802B6464 00431021 */ addu $v0, $v0, $v1
/* E261C8 802B6468 00021080 */ sll $v0, $v0, 2
/* E261CC 802B646C 00431023 */ subu $v0, $v0, $v1
/* E261D0 802B6470 000218C0 */ sll $v1, $v0, 3
/* E261D4 802B6474 00431021 */ addu $v0, $v0, $v1
/* E261D8 802B6478 000210C0 */ sll $v0, $v0, 3
/* E261DC 802B647C 3C01800B */ lui $at, %hi(D_800B1DEC)
/* E261E0 802B6480 00220821 */ addu $at, $at, $v0
/* E261E4 802B6484 C42C1DEC */ lwc1 $f12, %lo(D_800B1DEC)($at)
/* E261E8 802B6488 0C00A6C9 */ jal clamp_angle
/* E261EC 802B648C 460C0301 */ sub.s $f12, $f0, $f12
/* E261F0 802B6490 3C0140C9 */ lui $at, 0x40c9
/* E261F4 802B6494 34210FD0 */ ori $at, $at, 0xfd0
/* E261F8 802B6498 4481A000 */ mtc1 $at, $f20
/* E261FC 802B649C 00000000 */ nop
/* E26200 802B64A0 46140302 */ mul.s $f12, $f0, $f20
/* E26204 802B64A4 00000000 */ nop
/* E26208 802B64A8 3C0143B4 */ lui $at, 0x43b4
/* E2620C 802B64AC 4481B000 */ mtc1 $at, $f22
/* E26210 802B64B0 E7A00010 */ swc1 $f0, 0x10($sp)
/* E26214 802B64B4 0C00A85B */ jal sin_rad
/* E26218 802B64B8 46166303 */ div.s $f12, $f12, $f22
/* E2621C 802B64BC C7AC0010 */ lwc1 $f12, 0x10($sp)
/* E26220 802B64C0 46146302 */ mul.s $f12, $f12, $f20
/* E26224 802B64C4 00000000 */ nop
/* E26228 802B64C8 C6020010 */ lwc1 $f2, 0x10($s0)
/* E2622C 802B64CC 46020002 */ mul.s $f0, $f0, $f2
/* E26230 802B64D0 00000000 */ nop
/* E26234 802B64D4 46166303 */ div.s $f12, $f12, $f22
/* E26238 802B64D8 0C00A874 */ jal cos_rad
/* E2623C 802B64DC E6000014 */ swc1 $f0, 0x14($s0)
/* E26240 802B64E0 46000007 */ neg.s $f0, $f0
/* E26244 802B64E4 C6020010 */ lwc1 $f2, 0x10($s0)
/* E26248 802B64E8 96220008 */ lhu $v0, 8($s1)
/* E2624C 802B64EC 46020002 */ mul.s $f0, $f0, $f2
/* E26250 802B64F0 00000000 */ nop
/* E26254 802B64F4 2442FFFF */ addiu $v0, $v0, -1
/* E26258 802B64F8 A6220008 */ sh $v0, 8($s1)
/* E2625C 802B64FC 00021400 */ sll $v0, $v0, 0x10
/* E26260 802B6500 14400011 */ bnez $v0, .L802B6548
/* E26264 802B6504 E6000018 */ swc1 $f0, 0x18($s0)
/* E26268 802B6508 0000202D */ daddu $a0, $zero, $zero
/* E2626C 802B650C 24020004 */ addiu $v0, $zero, 4
/* E26270 802B6510 0C039769 */ jal set_action_state
/* E26274 802B6514 A2020000 */ sb $v0, ($s0)
/* E26278 802B6518 3C05FFFD */ lui $a1, 0xfffd
/* E2627C 802B651C 34A5FFFF */ ori $a1, $a1, 0xffff
/* E26280 802B6520 3C06FFFE */ lui $a2, 0xfffe
/* E26284 802B6524 34C6FFFF */ ori $a2, $a2, 0xffff
/* E26288 802B6528 8E040030 */ lw $a0, 0x30($s0)
/* E2628C 802B652C 8E220000 */ lw $v0, ($s1)
/* E26290 802B6530 8E230004 */ lw $v1, 4($s1)
/* E26294 802B6534 00451024 */ and $v0, $v0, $a1
/* E26298 802B6538 00661824 */ and $v1, $v1, $a2
/* E2629C 802B653C AE220000 */ sw $v0, ($s1)
/* E262A0 802B6540 0C05271B */ jal stop_sound
/* E262A4 802B6544 AE230004 */ sw $v1, 4($s1)
.L802B6548:
/* E262A8 802B6548 080ADA5B */ j .L802B696C
/* E262AC 802B654C E6380054 */ swc1 $f24, 0x54($s1)
.L802B6550:
/* E262B0 802B6550 14600012 */ bnez $v1, .L802B659C
/* E262B4 802B6554 3C030004 */ lui $v1, 4
/* E262B8 802B6558 8E220004 */ lw $v0, 4($s1)
/* E262BC 802B655C 00431024 */ and $v0, $v0, $v1
/* E262C0 802B6560 1440000D */ bnez $v0, .L802B6598
/* E262C4 802B6564 24020001 */ addiu $v0, $zero, 1
/* E262C8 802B6568 3C028016 */ lui $v0, %hi(gCollisionStatus)
/* E262CC 802B656C 8442A550 */ lh $v0, %lo(gCollisionStatus)($v0)
/* E262D0 802B6570 0440000A */ bltz $v0, .L802B659C
/* E262D4 802B6574 00000000 */ nop
/* E262D8 802B6578 92020002 */ lbu $v0, 2($s0)
/* E262DC 802B657C 24420001 */ addiu $v0, $v0, 1
/* E262E0 802B6580 A2020002 */ sb $v0, 2($s0)
/* E262E4 802B6584 00021600 */ sll $v0, $v0, 0x18
/* E262E8 802B6588 00021603 */ sra $v0, $v0, 0x18
/* E262EC 802B658C 2842000A */ slti $v0, $v0, 0xa
/* E262F0 802B6590 14400002 */ bnez $v0, .L802B659C
/* E262F4 802B6594 24020001 */ addiu $v0, $zero, 1
.L802B6598:
/* E262F8 802B6598 A22200B6 */ sb $v0, 0xb6($s1)
.L802B659C:
/* E262FC 802B659C 86240008 */ lh $a0, 8($s1)
/* E26300 802B65A0 8603002E */ lh $v1, 0x2e($s0)
/* E26304 802B65A4 0064102A */ slt $v0, $v1, $a0
/* E26308 802B65A8 5440003F */ bnel $v0, $zero, .L802B66A8
/* E2630C 802B65AC 00831023 */ subu $v0, $a0, $v1
/* E26310 802B65B0 C600001C */ lwc1 $f0, 0x1c($s0)
/* E26314 802B65B4 44801000 */ mtc1 $zero, $f2
/* E26318 802B65B8 00000000 */ nop
/* E2631C 802B65BC 46020032 */ c.eq.s $f0, $f2
/* E26320 802B65C0 00000000 */ nop
/* E26324 802B65C4 45010002 */ bc1t .L802B65D0
/* E26328 802B65C8 46001606 */ mov.s $f24, $f2
/* E2632C 802B65CC C6180024 */ lwc1 $f24, 0x24($s0)
.L802B65D0:
/* E26330 802B65D0 C6000010 */ lwc1 $f0, 0x10($s0)
/* E26334 802B65D4 3C01802B */ lui $at, %hi(D_802B69A0)
/* E26338 802B65D8 D42269A0 */ ldc1 $f2, %lo(D_802B69A0)($at)
/* E2633C 802B65DC 46000021 */ cvt.d.s $f0, $f0
/* E26340 802B65E0 46220000 */ add.d $f0, $f0, $f2
/* E26344 802B65E4 3C014110 */ lui $at, 0x4110
/* E26348 802B65E8 44811000 */ mtc1 $at, $f2
/* E2634C 802B65EC 46200020 */ cvt.s.d $f0, $f0
/* E26350 802B65F0 4600103C */ c.lt.s $f2, $f0
/* E26354 802B65F4 00000000 */ nop
/* E26358 802B65F8 45000002 */ bc1f .L802B6604
/* E2635C 802B65FC E6000010 */ swc1 $f0, 0x10($s0)
/* E26360 802B6600 E6020010 */ swc1 $f2, 0x10($s0)
.L802B6604:
/* E26364 802B6604 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* E26368 802B6608 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* E2636C 802B660C C6200080 */ lwc1 $f0, 0x80($s1)
/* E26370 802B6610 00031080 */ sll $v0, $v1, 2
/* E26374 802B6614 00431021 */ addu $v0, $v0, $v1
/* E26378 802B6618 00021080 */ sll $v0, $v0, 2
/* E2637C 802B661C 00431023 */ subu $v0, $v0, $v1
/* E26380 802B6620 000218C0 */ sll $v1, $v0, 3
/* E26384 802B6624 00431021 */ addu $v0, $v0, $v1
/* E26388 802B6628 000210C0 */ sll $v0, $v0, 3
/* E2638C 802B662C 3C01800B */ lui $at, %hi(D_800B1DEC)
/* E26390 802B6630 00220821 */ addu $at, $at, $v0
/* E26394 802B6634 C42C1DEC */ lwc1 $f12, %lo(D_800B1DEC)($at)
/* E26398 802B6638 0C00A6C9 */ jal clamp_angle
/* E2639C 802B663C 460C0301 */ sub.s $f12, $f0, $f12
/* E263A0 802B6640 3C0140C9 */ lui $at, 0x40c9
/* E263A4 802B6644 34210FD0 */ ori $at, $at, 0xfd0
/* E263A8 802B6648 4481A000 */ mtc1 $at, $f20
/* E263AC 802B664C 00000000 */ nop
/* E263B0 802B6650 46140302 */ mul.s $f12, $f0, $f20
/* E263B4 802B6654 00000000 */ nop
/* E263B8 802B6658 3C0143B4 */ lui $at, 0x43b4
/* E263BC 802B665C 4481B000 */ mtc1 $at, $f22
/* E263C0 802B6660 E7A00010 */ swc1 $f0, 0x10($sp)
/* E263C4 802B6664 0C00A85B */ jal sin_rad
/* E263C8 802B6668 46166303 */ div.s $f12, $f12, $f22
/* E263CC 802B666C C7AC0010 */ lwc1 $f12, 0x10($sp)
/* E263D0 802B6670 46146302 */ mul.s $f12, $f12, $f20
/* E263D4 802B6674 00000000 */ nop
/* E263D8 802B6678 C6020010 */ lwc1 $f2, 0x10($s0)
/* E263DC 802B667C 46020002 */ mul.s $f0, $f0, $f2
/* E263E0 802B6680 00000000 */ nop
/* E263E4 802B6684 46166303 */ div.s $f12, $f12, $f22
/* E263E8 802B6688 0C00A874 */ jal cos_rad
/* E263EC 802B668C E6000014 */ swc1 $f0, 0x14($s0)
/* E263F0 802B6690 C6020010 */ lwc1 $f2, 0x10($s0)
/* E263F4 802B6694 46000007 */ neg.s $f0, $f0
/* E263F8 802B6698 46020002 */ mul.s $f0, $f0, $f2
/* E263FC 802B669C 00000000 */ nop
/* E26400 802B66A0 080AD9CE */ j .L802B6738
/* E26404 802B66A4 E6000018 */ swc1 $f0, 0x18($s0)
.L802B66A8:
/* E26408 802B66A8 2442FFFF */ addiu $v0, $v0, -1
/* E2640C 802B66AC C6020028 */ lwc1 $f2, 0x28($s0)
/* E26410 802B66B0 44820000 */ mtc1 $v0, $f0
/* E26414 802B66B4 00000000 */ nop
/* E26418 802B66B8 46800020 */ cvt.s.w $f0, $f0
/* E2641C 802B66BC 46020002 */ mul.s $f0, $f0, $f2
/* E26420 802B66C0 00000000 */ nop
/* E26424 802B66C4 C6020024 */ lwc1 $f2, 0x24($s0)
/* E26428 802B66C8 46001601 */ sub.s $f24, $f2, $f0
/* E2642C 802B66CC 3C01802B */ lui $at, %hi(D_802B69A8)
/* E26430 802B66D0 D42269A8 */ ldc1 $f2, %lo(D_802B69A8)($at)
/* E26434 802B66D4 4600C021 */ cvt.d.s $f0, $f24
/* E26438 802B66D8 4622003C */ c.lt.d $f0, $f2
/* E2643C 802B66DC 00000000 */ nop
/* E26440 802B66E0 45000004 */ bc1f .L802B66F4
/* E26444 802B66E4 00000000 */ nop
/* E26448 802B66E8 3C013DCC */ lui $at, 0x3dcc
/* E2644C 802B66EC 3421CCCD */ ori $at, $at, 0xcccd
/* E26450 802B66F0 4481C000 */ mtc1 $at, $f24
.L802B66F4:
/* E26454 802B66F4 C600001C */ lwc1 $f0, 0x1c($s0)
/* E26458 802B66F8 44802000 */ mtc1 $zero, $f4
/* E2645C 802B66FC 00000000 */ nop
/* E26460 802B6700 46040032 */ c.eq.s $f0, $f4
/* E26464 802B6704 00000000 */ nop
/* E26468 802B6708 45030001 */ bc1tl .L802B6710
/* E2646C 802B670C 46002606 */ mov.s $f24, $f4
.L802B6710:
/* E26470 802B6710 C6000010 */ lwc1 $f0, 0x10($s0)
/* E26474 802B6714 3C013F80 */ lui $at, 0x3f80
/* E26478 802B6718 44811000 */ mtc1 $at, $f2
/* E2647C 802B671C 00000000 */ nop
/* E26480 802B6720 46020001 */ sub.s $f0, $f0, $f2
/* E26484 802B6724 4604003C */ c.lt.s $f0, $f4
/* E26488 802B6728 00000000 */ nop
/* E2648C 802B672C 45000002 */ bc1f .L802B6738
/* E26490 802B6730 E6000010 */ swc1 $f0, 0x10($s0)
/* E26494 802B6734 E6040010 */ swc1 $f4, 0x10($s0)
.L802B6738:
/* E26498 802B6738 96220008 */ lhu $v0, 8($s1)
/* E2649C 802B673C 822300B5 */ lb $v1, 0xb5($s1)
/* E264A0 802B6740 24420001 */ addiu $v0, $v0, 1
/* E264A4 802B6744 10600007 */ beqz $v1, .L802B6764
/* E264A8 802B6748 A6220008 */ sh $v0, 8($s1)
/* E264AC 802B674C 04600030 */ bltz $v1, .L802B6810
/* E264B0 802B6750 28620003 */ slti $v0, $v1, 3
/* E264B4 802B6754 1040002E */ beqz $v0, .L802B6810
/* E264B8 802B6758 00000000 */ nop
/* E264BC 802B675C 080ADA00 */ j .L802B6800
/* E264C0 802B6760 00000000 */ nop
.L802B6764:
/* E264C4 802B6764 27A40010 */ addiu $a0, $sp, 0x10
/* E264C8 802B6768 0C0388C1 */ jal input_to_move_vector
/* E264CC 802B676C 27A50014 */ addiu $a1, $sp, 0x14
/* E264D0 802B6770 0C039454 */ jal func_800E5150
/* E264D4 802B6774 00000000 */ nop
/* E264D8 802B6778 0C039858 */ jal check_input_jump
/* E264DC 802B677C 00000000 */ nop
/* E264E0 802B6780 10400010 */ beqz $v0, .L802B67C4
/* E264E4 802B6784 00000000 */ nop
/* E264E8 802B6788 C7A20014 */ lwc1 $f2, 0x14($sp)
/* E264EC 802B678C 44800000 */ mtc1 $zero, $f0
/* E264F0 802B6790 00000000 */ nop
/* E264F4 802B6794 46001032 */ c.eq.s $f2, $f0
/* E264F8 802B6798 00000000 */ nop
/* E264FC 802B679C 45000007 */ bc1f .L802B67BC
/* E26500 802B67A0 00000000 */ nop
/* E26504 802B67A4 C6220080 */ lwc1 $f2, 0x80($s1)
/* E26508 802B67A8 C7A00010 */ lwc1 $f0, 0x10($sp)
/* E2650C 802B67AC 46001032 */ c.eq.s $f2, $f0
/* E26510 802B67B0 00000000 */ nop
/* E26514 802B67B4 45010003 */ bc1t .L802B67C4
/* E26518 802B67B8 00000000 */ nop
.L802B67BC:
/* E2651C 802B67BC C7A00010 */ lwc1 $f0, 0x10($sp)
/* E26520 802B67C0 E6200080 */ swc1 $f0, 0x80($s1)
.L802B67C4:
/* E26524 802B67C4 C7A00014 */ lwc1 $f0, 0x14($sp)
/* E26528 802B67C8 44801000 */ mtc1 $zero, $f2
/* E2652C 802B67CC 00000000 */ nop
/* E26530 802B67D0 46020032 */ c.eq.s $f0, $f2
/* E26534 802B67D4 00000000 */ nop
/* E26538 802B67D8 45010006 */ bc1t .L802B67F4
/* E2653C 802B67DC 26220054 */ addiu $v0, $s1, 0x54
/* E26540 802B67E0 C620005C */ lwc1 $f0, 0x5c($s1)
/* E26544 802B67E4 46180002 */ mul.s $f0, $f0, $f24
/* E26548 802B67E8 00000000 */ nop
/* E2654C 802B67EC 080ADA04 */ j .L802B6810
/* E26550 802B67F0 E4400000 */ swc1 $f0, ($v0)
.L802B67F4:
/* E26554 802B67F4 46001006 */ mov.s $f0, $f2
/* E26558 802B67F8 080ADA04 */ j .L802B6810
/* E2655C 802B67FC E4400000 */ swc1 $f0, ($v0)
.L802B6800:
/* E26560 802B6800 C620005C */ lwc1 $f0, 0x5c($s1)
/* E26564 802B6804 46180002 */ mul.s $f0, $f0, $f24
/* E26568 802B6808 00000000 */ nop
/* E2656C 802B680C E6200054 */ swc1 $f0, 0x54($s1)
.L802B6810:
/* E26570 802B6810 822200B6 */ lb $v0, 0xb6($s1)
/* E26574 802B6814 14400010 */ bnez $v0, .L802B6858
/* E26578 802B6818 00000000 */ nop
/* E2657C 802B681C 92020003 */ lbu $v0, 3($s0)
/* E26580 802B6820 2442FFFF */ addiu $v0, $v0, -1
/* E26584 802B6824 A2020003 */ sb $v0, 3($s0)
/* E26588 802B6828 00021600 */ sll $v0, $v0, 0x18
/* E2658C 802B682C 18400009 */ blez $v0, .L802B6854
/* E26590 802B6830 24020001 */ addiu $v0, $zero, 1
/* E26594 802B6834 86220008 */ lh $v0, 8($s1)
/* E26598 802B6838 28420002 */ slti $v0, $v0, 2
/* E2659C 802B683C 1440004B */ bnez $v0, .L802B696C
/* E265A0 802B6840 00000000 */ nop
/* E265A4 802B6844 C62000A8 */ lwc1 $f0, 0xa8($s1)
/* E265A8 802B6848 C62C00D4 */ lwc1 $f12, 0xd4($s1)
/* E265AC 802B684C 080ADA58 */ j .L802B6960
/* E265B0 802B6850 460C0300 */ add.s $f12, $f0, $f12
.L802B6854:
/* E265B4 802B6854 A22200B6 */ sb $v0, 0xb6($s1)
.L802B6858:
/* E265B8 802B6858 822300B6 */ lb $v1, 0xb6($s1)
/* E265BC 802B685C 24020001 */ addiu $v0, $zero, 1
/* E265C0 802B6860 14620042 */ bne $v1, $v0, .L802B696C
/* E265C4 802B6864 00000000 */ nop
/* E265C8 802B6868 C62200A8 */ lwc1 $f2, 0xa8($s1)
/* E265CC 802B686C C62000D4 */ lwc1 $f0, 0xd4($s1)
/* E265D0 802B6870 82020001 */ lb $v0, 1($s0)
/* E265D4 802B6874 46001000 */ add.s $f0, $f2, $f0
/* E265D8 802B6878 E7A20010 */ swc1 $f2, 0x10($sp)
/* E265DC 802B687C 10400008 */ beqz $v0, .L802B68A0
/* E265E0 802B6880 E62000A8 */ swc1 $f0, 0xa8($s1)
/* E265E4 802B6884 3C02FFFD */ lui $v0, 0xfffd
/* E265E8 802B6888 3442FFFF */ ori $v0, $v0, 0xffff
/* E265EC 802B688C 3C040001 */ lui $a0, 1
/* E265F0 802B6890 34840002 */ ori $a0, $a0, 2
/* E265F4 802B6894 8E230000 */ lw $v1, ($s1)
/* E265F8 802B6898 080ADA52 */ j .L802B6948
/* E265FC 802B689C 24050002 */ addiu $a1, $zero, 2
.L802B68A0:
/* E26600 802B68A0 46001106 */ mov.s $f4, $f2
/* E26604 802B68A4 4600203C */ c.lt.s $f4, $f0
/* E26608 802B68A8 00000000 */ nop
/* E2660C 802B68AC 45000013 */ bc1f .L802B68FC
/* E26610 802B68B0 00000000 */ nop
/* E26614 802B68B4 3C014334 */ lui $at, 0x4334
/* E26618 802B68B8 44811000 */ mtc1 $at, $f2
/* E2661C 802B68BC 00000000 */ nop
/* E26620 802B68C0 4600103E */ c.le.s $f2, $f0
/* E26624 802B68C4 00000000 */ nop
/* E26628 802B68C8 45000024 */ bc1f .L802B695C
/* E2662C 802B68CC 00000000 */ nop
/* E26630 802B68D0 4602203C */ c.lt.s $f4, $f2
/* E26634 802B68D4 00000000 */ nop
/* E26638 802B68D8 45000020 */ bc1f .L802B695C
/* E2663C 802B68DC 3C02FFFD */ lui $v0, 0xfffd
/* E26640 802B68E0 3442FFFF */ ori $v0, $v0, 0xffff
/* E26644 802B68E4 3C040001 */ lui $a0, 1
/* E26648 802B68E8 34840002 */ ori $a0, $a0, 2
/* E2664C 802B68EC 8E230000 */ lw $v1, ($s1)
/* E26650 802B68F0 24050002 */ addiu $a1, $zero, 2
/* E26654 802B68F4 080ADA52 */ j .L802B6948
/* E26658 802B68F8 E62200A8 */ swc1 $f2, 0xa8($s1)
.L802B68FC:
/* E2665C 802B68FC 44802000 */ mtc1 $zero, $f4
/* E26660 802B6900 00000000 */ nop
/* E26664 802B6904 4604003E */ c.le.s $f0, $f4
/* E26668 802B6908 00000000 */ nop
/* E2666C 802B690C 45000013 */ bc1f .L802B695C
/* E26670 802B6910 00000000 */ nop
/* E26674 802B6914 3C0142B4 */ lui $at, 0x42b4
/* E26678 802B6918 44810000 */ mtc1 $at, $f0
/* E2667C 802B691C 00000000 */ nop
/* E26680 802B6920 4600103C */ c.lt.s $f2, $f0
/* E26684 802B6924 00000000 */ nop
/* E26688 802B6928 4500000C */ bc1f .L802B695C
/* E2668C 802B692C 3C02FFFD */ lui $v0, 0xfffd
/* E26690 802B6930 3442FFFF */ ori $v0, $v0, 0xffff
/* E26694 802B6934 3C040001 */ lui $a0, 1
/* E26698 802B6938 34840002 */ ori $a0, $a0, 2
/* E2669C 802B693C 8E230000 */ lw $v1, ($s1)
/* E266A0 802B6940 24050002 */ addiu $a1, $zero, 2
/* E266A4 802B6944 E62400A8 */ swc1 $f4, 0xa8($s1)
.L802B6948:
/* E266A8 802B6948 A6250008 */ sh $a1, 8($s1)
/* E266AC 802B694C A22500B6 */ sb $a1, 0xb6($s1)
/* E266B0 802B6950 00621824 */ and $v1, $v1, $v0
/* E266B4 802B6954 0C037FBF */ jal func_800DFEFC
/* E266B8 802B6958 AE230000 */ sw $v1, ($s1)
.L802B695C:
/* E266BC 802B695C C62C00A8 */ lwc1 $f12, 0xa8($s1)
.L802B6960:
/* E266C0 802B6960 0C00A6C9 */ jal clamp_angle
/* E266C4 802B6964 00000000 */ nop
/* E266C8 802B6968 E62000A8 */ swc1 $f0, 0xa8($s1)
.L802B696C:
/* E266CC 802B696C 8FBF0030 */ lw $ra, 0x30($sp)
/* E266D0 802B6970 8FB5002C */ lw $s5, 0x2c($sp)
/* E266D4 802B6974 8FB40028 */ lw $s4, 0x28($sp)
/* E266D8 802B6978 8FB30024 */ lw $s3, 0x24($sp)
/* E266DC 802B697C 8FB20020 */ lw $s2, 0x20($sp)
/* E266E0 802B6980 8FB1001C */ lw $s1, 0x1c($sp)
/* E266E4 802B6984 8FB00018 */ lw $s0, 0x18($sp)
/* E266E8 802B6988 D7B80048 */ ldc1 $f24, 0x48($sp)
/* E266EC 802B698C D7B60040 */ ldc1 $f22, 0x40($sp)
/* E266F0 802B6990 D7B40038 */ ldc1 $f20, 0x38($sp)
/* E266F4 802B6994 03E00008 */ jr $ra
/* E266F8 802B6998 27BD0050 */ addiu $sp, $sp, 0x50
/* E266FC 802B699C 00000000 */ nop

View File

@ -0,0 +1,401 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6000_E26710
/* E26710 802B6000 27BDFFD0 */ addiu $sp, $sp, -0x30
/* E26714 802B6004 AFB00018 */ sw $s0, 0x18($sp)
/* E26718 802B6008 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* E2671C 802B600C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* E26720 802B6010 AFBF0020 */ sw $ra, 0x20($sp)
/* E26724 802B6014 AFB1001C */ sw $s1, 0x1c($sp)
/* E26728 802B6018 F7B40028 */ sdc1 $f20, 0x28($sp)
/* E2672C 802B601C 8E040000 */ lw $a0, ($s0)
/* E26730 802B6020 3C118016 */ lui $s1, %hi(gCollisionStatus)
/* E26734 802B6024 2631A550 */ addiu $s1, $s1, %lo(gCollisionStatus)
/* E26738 802B6028 0481003E */ bgez $a0, .L802B6124
/* E2673C 802B602C 3C027FFF */ lui $v0, 0x7fff
/* E26740 802B6030 3442FFFF */ ori $v0, $v0, 0xffff
/* E26744 802B6034 3C030002 */ lui $v1, 2
/* E26748 802B6038 3463000A */ ori $v1, $v1, 0xa
/* E2674C 802B603C 00821024 */ and $v0, $a0, $v0
/* E26750 802B6040 00431025 */ or $v0, $v0, $v1
/* E26754 802B6044 0C03963C */ jal func_800E58F0
/* E26758 802B6048 AE020000 */ sw $v0, ($s0)
/* E2675C 802B604C 3C014180 */ lui $at, 0x4180
/* E26760 802B6050 44810000 */ mtc1 $at, $f0
/* E26764 802B6054 3C01C0EC */ lui $at, 0xc0ec
/* E26768 802B6058 34215C14 */ ori $at, $at, 0x5c14
/* E2676C 802B605C 44811000 */ mtc1 $at, $f2
/* E26770 802B6060 3C01405C */ lui $at, 0x405c
/* E26774 802B6064 34219AAA */ ori $at, $at, 0x9aaa
/* E26778 802B6068 44812000 */ mtc1 $at, $f4
/* E2677C 802B606C 3C01BF40 */ lui $at, 0xbf40
/* E26780 802B6070 44813000 */ mtc1 $at, $f6
/* E26784 802B6074 3C040008 */ lui $a0, 8
/* E26788 802B6078 A20000B6 */ sb $zero, 0xb6($s0)
/* E2678C 802B607C AE000054 */ sw $zero, 0x54($s0)
/* E26790 802B6080 E6000070 */ swc1 $f0, 0x70($s0)
/* E26794 802B6084 E6020074 */ swc1 $f2, 0x74($s0)
/* E26798 802B6088 E6040078 */ swc1 $f4, 0x78($s0)
/* E2679C 802B608C 0C037FDE */ jal func_800DFF78
/* E267A0 802B6090 E606007C */ swc1 $f6, 0x7c($s0)
/* E267A4 802B6094 0C03805E */ jal disable_player_input
/* E267A8 802B6098 00000000 */ nop
/* E267AC 802B609C 8E020000 */ lw $v0, ($s0)
/* E267B0 802B60A0 3C04800B */ lui $a0, %hi(gCameras)
/* E267B4 802B60A4 24841D80 */ addiu $a0, $a0, %lo(gCameras)
/* E267B8 802B60A8 34420200 */ ori $v0, $v0, 0x200
/* E267BC 802B60AC AE020000 */ sw $v0, ($s0)
/* E267C0 802B60B0 94820002 */ lhu $v0, 2($a0)
/* E267C4 802B60B4 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* E267C8 802B60B8 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* E267CC 802B60BC 34420001 */ ori $v0, $v0, 1
/* E267D0 802B60C0 A4820002 */ sh $v0, 2($a0)
/* E267D4 802B60C4 00031080 */ sll $v0, $v1, 2
/* E267D8 802B60C8 00431021 */ addu $v0, $v0, $v1
/* E267DC 802B60CC 00021080 */ sll $v0, $v0, 2
/* E267E0 802B60D0 00431023 */ subu $v0, $v0, $v1
/* E267E4 802B60D4 000218C0 */ sll $v1, $v0, 3
/* E267E8 802B60D8 00431021 */ addu $v0, $v0, $v1
/* E267EC 802B60DC 000210C0 */ sll $v0, $v0, 3
/* E267F0 802B60E0 00441021 */ addu $v0, $v0, $a0
/* E267F4 802B60E4 C6000080 */ lwc1 $f0, 0x80($s0)
/* E267F8 802B60E8 C44C006C */ lwc1 $f12, 0x6c($v0)
/* E267FC 802B60EC 0C00A6C9 */ jal clamp_angle
/* E26800 802B60F0 460C0301 */ sub.s $f12, $f0, $f12
/* E26804 802B60F4 3C014334 */ lui $at, 0x4334
/* E26808 802B60F8 44811000 */ mtc1 $at, $f2
/* E2680C 802B60FC 3C01C270 */ lui $at, 0xc270
/* E26810 802B6100 44812000 */ mtc1 $at, $f4
/* E26814 802B6104 4602003E */ c.le.s $f0, $f2
/* E26818 802B6108 00000000 */ nop
/* E2681C 802B610C 45020005 */ bc1fl .L802B6124
/* E26820 802B6110 E60400D4 */ swc1 $f4, 0xd4($s0)
/* E26824 802B6114 3C014270 */ lui $at, 0x4270
/* E26828 802B6118 44812000 */ mtc1 $at, $f4
/* E2682C 802B611C 00000000 */ nop
/* E26830 802B6120 E60400D4 */ swc1 $f4, 0xd4($s0)
.L802B6124:
/* E26834 802B6124 820200B6 */ lb $v0, 0xb6($s0)
/* E26838 802B6128 28420004 */ slti $v0, $v0, 4
/* E2683C 802B612C 1040001E */ beqz $v0, .L802B61A8
/* E26840 802B6130 00000000 */ nop
/* E26844 802B6134 C60200D4 */ lwc1 $f2, 0xd4($s0)
/* E26848 802B6138 44802000 */ mtc1 $zero, $f4
/* E2684C 802B613C 00000000 */ nop
/* E26850 802B6140 4602203E */ c.le.s $f4, $f2
/* E26854 802B6144 00000000 */ nop
/* E26858 802B6148 4500000C */ bc1f .L802B617C
/* E2685C 802B614C 00000000 */ nop
/* E26860 802B6150 C60000A8 */ lwc1 $f0, 0xa8($s0)
/* E26864 802B6154 46020000 */ add.s $f0, $f0, $f2
/* E26868 802B6158 3C0143B4 */ lui $at, 0x43b4
/* E2686C 802B615C 44811000 */ mtc1 $at, $f2
/* E26870 802B6160 00000000 */ nop
/* E26874 802B6164 4600103E */ c.le.s $f2, $f0
/* E26878 802B6168 00000000 */ nop
/* E2687C 802B616C 4500000E */ bc1f .L802B61A8
/* E26880 802B6170 E60000A8 */ swc1 $f0, 0xa8($s0)
/* E26884 802B6174 080AD869 */ j .L802B61A4
/* E26888 802B6178 46020001 */ sub.s $f0, $f0, $f2
.L802B617C:
/* E2688C 802B617C C60000A8 */ lwc1 $f0, 0xa8($s0)
/* E26890 802B6180 46020080 */ add.s $f2, $f0, $f2
/* E26894 802B6184 4604103C */ c.lt.s $f2, $f4
/* E26898 802B6188 00000000 */ nop
/* E2689C 802B618C 45000006 */ bc1f .L802B61A8
/* E268A0 802B6190 E60200A8 */ swc1 $f2, 0xa8($s0)
/* E268A4 802B6194 3C0143B4 */ lui $at, 0x43b4
/* E268A8 802B6198 44810000 */ mtc1 $at, $f0
/* E268AC 802B619C 00000000 */ nop
/* E268B0 802B61A0 46001000 */ add.s $f0, $f2, $f0
.L802B61A4:
/* E268B4 802B61A4 E60000A8 */ swc1 $f0, 0xa8($s0)
.L802B61A8:
/* E268B8 802B61A8 C6020070 */ lwc1 $f2, 0x70($s0)
/* E268BC 802B61AC 44800000 */ mtc1 $zero, $f0
/* E268C0 802B61B0 00000000 */ nop
/* E268C4 802B61B4 4600103E */ c.le.s $f2, $f0
/* E268C8 802B61B8 00000000 */ nop
/* E268CC 802B61BC 45000009 */ bc1f .L802B61E4
/* E268D0 802B61C0 00000000 */ nop
/* E268D4 802B61C4 3C028011 */ lui $v0, %hi(D_8010C944)
/* E268D8 802B61C8 8C42C944 */ lw $v0, %lo(D_8010C944)($v0)
/* E268DC 802B61CC C600002C */ lwc1 $f0, 0x2c($s0)
/* E268E0 802B61D0 00021080 */ sll $v0, $v0, 2
/* E268E4 802B61D4 4600020D */ trunc.w.s $f8, $f0
/* E268E8 802B61D8 3C018011 */ lui $at, %hi(D_8010EF10)
/* E268EC 802B61DC 00220821 */ addu $at, $at, $v0
/* E268F0 802B61E0 E428EF10 */ swc1 $f8, %lo(D_8010EF10)($at)
.L802B61E4:
/* E268F4 802B61E4 3C058011 */ lui $a1, %hi(D_8010C944)
/* E268F8 802B61E8 24A5C944 */ addiu $a1, $a1, %lo(D_8010C944)
/* E268FC 802B61EC 8CA20000 */ lw $v0, ($a1)
/* E26900 802B61F0 C60000A8 */ lwc1 $f0, 0xa8($s0)
/* E26904 802B61F4 00022040 */ sll $a0, $v0, 1
/* E26908 802B61F8 24420001 */ addiu $v0, $v0, 1
/* E2690C 802B61FC 4600020D */ trunc.w.s $f8, $f0
/* E26910 802B6200 44034000 */ mfc1 $v1, $f8
/* E26914 802B6204 3C018011 */ lui $at, %hi(D_8010F6B8)
/* E26918 802B6208 00240821 */ addu $at, $at, $a0
/* E2691C 802B620C A423F6B8 */ sh $v1, %lo(D_8010F6B8)($at)
/* E26920 802B6210 ACA20000 */ sw $v0, ($a1)
/* E26924 802B6214 28420006 */ slti $v0, $v0, 6
/* E26928 802B6218 50400001 */ beql $v0, $zero, .L802B6220
/* E2692C 802B621C ACA00000 */ sw $zero, ($a1)
.L802B6220:
/* E26930 802B6220 820300B6 */ lb $v1, 0xb6($s0)
/* E26934 802B6224 2C62000D */ sltiu $v0, $v1, 0xd
/* E26938 802B6228 104000DE */ beqz $v0, .L802B65A4
/* E2693C 802B622C 00031080 */ sll $v0, $v1, 2
/* E26940 802B6230 3C01802B */ lui $at, %hi(D_802B6690)
/* E26944 802B6234 00220821 */ addu $at, $at, $v0
/* E26948 802B6238 8C226690 */ lw $v0, %lo(D_802B6690)($at)
/* E2694C 802B623C 00400008 */ jr $v0
/* E26950 802B6240 00000000 */ nop
/* E26954 802B6244 0C038D12 */ jal integrate_gravity
/* E26958 802B6248 00000000 */ nop
/* E2695C 802B624C 46000506 */ mov.s $f20, $f0
/* E26960 802B6250 4600A306 */ mov.s $f12, $f20
/* E26964 802B6254 0C038D45 */ jal func_800E3514
/* E26968 802B6258 27A50010 */ addiu $a1, $sp, 0x10
/* E2696C 802B625C 8FA20010 */ lw $v0, 0x10($sp)
/* E26970 802B6260 04400014 */ bltz $v0, .L802B62B4
/* E26974 802B6264 E600002C */ swc1 $f0, 0x2c($s0)
/* E26978 802B6268 96240002 */ lhu $a0, 2($s1)
/* E2697C 802B626C 30824000 */ andi $v0, $a0, 0x4000
/* E26980 802B6270 10400010 */ beqz $v0, .L802B62B4
/* E26984 802B6274 00042400 */ sll $a0, $a0, 0x10
/* E26988 802B6278 0C0441A9 */ jal get_entity_type
/* E2698C 802B627C 00042403 */ sra $a0, $a0, 0x10
/* E26990 802B6280 2442FFF9 */ addiu $v0, $v0, -7
/* E26994 802B6284 2C420002 */ sltiu $v0, $v0, 2
/* E26998 802B6288 1040000A */ beqz $v0, .L802B62B4
/* E2699C 802B628C 00000000 */ nop
/* E269A0 802B6290 0C04417A */ jal get_entity_by_index
/* E269A4 802B6294 86240002 */ lh $a0, 2($s1)
/* E269A8 802B6298 90430006 */ lbu $v1, 6($v0)
/* E269AC 802B629C 34630001 */ ori $v1, $v1, 1
/* E269B0 802B62A0 0C03805E */ jal disable_player_input
/* E269B4 802B62A4 A0430006 */ sb $v1, 6($v0)
/* E269B8 802B62A8 2402000B */ addiu $v0, $zero, 0xb
/* E269BC 802B62AC 080AD969 */ j .L802B65A4
/* E269C0 802B62B0 A20200B6 */ sb $v0, 0xb6($s0)
.L802B62B4:
/* E269C4 802B62B4 44800000 */ mtc1 $zero, $f0
/* E269C8 802B62B8 00000000 */ nop
/* E269CC 802B62BC 4600A03E */ c.le.s $f20, $f0
/* E269D0 802B62C0 00000000 */ nop
/* E269D4 802B62C4 4500000E */ bc1f .L802B6300
/* E269D8 802B62C8 00000000 */ nop
/* E269DC 802B62CC 0C0389AC */ jal func_800E26B0
/* E269E0 802B62D0 00000000 */ nop
/* E269E4 802B62D4 24040147 */ addiu $a0, $zero, 0x147
/* E269E8 802B62D8 0000282D */ daddu $a1, $zero, $zero
/* E269EC 802B62DC 24020003 */ addiu $v0, $zero, 3
/* E269F0 802B62E0 A6020008 */ sh $v0, 8($s0)
/* E269F4 802B62E4 8E020000 */ lw $v0, ($s0)
/* E269F8 802B62E8 920300B6 */ lbu $v1, 0xb6($s0)
/* E269FC 802B62EC 34420004 */ ori $v0, $v0, 4
/* E26A00 802B62F0 24630001 */ addiu $v1, $v1, 1
/* E26A04 802B62F4 AE020000 */ sw $v0, ($s0)
/* E26A08 802B62F8 0C052736 */ jal play_sound_at_player
/* E26A0C 802B62FC A20300B6 */ sb $v1, 0xb6($s0)
.L802B6300:
/* E26A10 802B6300 8FA20010 */ lw $v0, 0x10($sp)
/* E26A14 802B6304 044000A7 */ bltz $v0, .L802B65A4
/* E26A18 802B6308 3C03FFFD */ lui $v1, 0xfffd
/* E26A1C 802B630C 3463FFF7 */ ori $v1, $v1, 0xfff7
/* E26A20 802B6310 8E020000 */ lw $v0, ($s0)
/* E26A24 802B6314 2404000A */ addiu $a0, $zero, 0xa
/* E26A28 802B6318 00431024 */ and $v0, $v0, $v1
/* E26A2C 802B631C 0C039769 */ jal set_action_state
/* E26A30 802B6320 AE020000 */ sw $v0, ($s0)
/* E26A34 802B6324 080AD969 */ j .L802B65A4
/* E26A38 802B6328 00000000 */ nop
/* E26A3C 802B632C 96020008 */ lhu $v0, 8($s0)
/* E26A40 802B6330 2442FFFF */ addiu $v0, $v0, -1
/* E26A44 802B6334 A6020008 */ sh $v0, 8($s0)
/* E26A48 802B6338 00021400 */ sll $v0, $v0, 0x10
/* E26A4C 802B633C 1C400099 */ bgtz $v0, .L802B65A4
/* E26A50 802B6340 00000000 */ nop
/* E26A54 802B6344 920200B6 */ lbu $v0, 0xb6($s0)
/* E26A58 802B6348 24420001 */ addiu $v0, $v0, 1
/* E26A5C 802B634C 080AD969 */ j .L802B65A4
/* E26A60 802B6350 A20200B6 */ sb $v0, 0xb6($s0)
/* E26A64 802B6354 0C038D12 */ jal integrate_gravity
/* E26A68 802B6358 00000000 */ nop
/* E26A6C 802B635C 46000506 */ mov.s $f20, $f0
/* E26A70 802B6360 4600A306 */ mov.s $f12, $f20
/* E26A74 802B6364 0C038D45 */ jal func_800E3514
/* E26A78 802B6368 27A50010 */ addiu $a1, $sp, 0x10
/* E26A7C 802B636C 3C01C2C8 */ lui $at, 0xc2c8
/* E26A80 802B6370 44811000 */ mtc1 $at, $f2
/* E26A84 802B6374 00000000 */ nop
/* E26A88 802B6378 4602A03C */ c.lt.s $f20, $f2
/* E26A8C 802B637C 00000000 */ nop
/* E26A90 802B6380 45000005 */ bc1f .L802B6398
/* E26A94 802B6384 E600002C */ swc1 $f0, 0x2c($s0)
/* E26A98 802B6388 AE00007C */ sw $zero, 0x7c($s0)
/* E26A9C 802B638C AE000078 */ sw $zero, 0x78($s0)
/* E26AA0 802B6390 AE000074 */ sw $zero, 0x74($s0)
/* E26AA4 802B6394 E6020070 */ swc1 $f2, 0x70($s0)
.L802B6398:
/* E26AA8 802B6398 8FA20010 */ lw $v0, 0x10($sp)
/* E26AAC 802B639C 04400081 */ bltz $v0, .L802B65A4
/* E26AB0 802B63A0 00000000 */ nop
/* E26AB4 802B63A4 96240002 */ lhu $a0, 2($s1)
/* E26AB8 802B63A8 30824000 */ andi $v0, $a0, 0x4000
/* E26ABC 802B63AC 1040002D */ beqz $v0, .L802B6464
/* E26AC0 802B63B0 00042400 */ sll $a0, $a0, 0x10
/* E26AC4 802B63B4 0C0441A9 */ jal get_entity_type
/* E26AC8 802B63B8 00042403 */ sra $a0, $a0, 0x10
/* E26ACC 802B63BC 0040182D */ daddu $v1, $v0, $zero
/* E26AD0 802B63C0 2462FFD2 */ addiu $v0, $v1, -0x2e
/* E26AD4 802B63C4 2C420002 */ sltiu $v0, $v0, 2
/* E26AD8 802B63C8 10400009 */ beqz $v0, .L802B63F0
/* E26ADC 802B63CC 2404000A */ addiu $a0, $zero, 0xa
/* E26AE0 802B63D0 3C03FFFD */ lui $v1, 0xfffd
/* E26AE4 802B63D4 3463FFF7 */ ori $v1, $v1, 0xfff7
/* E26AE8 802B63D8 8E020000 */ lw $v0, ($s0)
/* E26AEC 802B63DC 00431024 */ and $v0, $v0, $v1
/* E26AF0 802B63E0 0C039769 */ jal set_action_state
/* E26AF4 802B63E4 AE020000 */ sw $v0, ($s0)
/* E26AF8 802B63E8 080AD978 */ j .L802B65E0
/* E26AFC 802B63EC 00000000 */ nop
.L802B63F0:
/* E26B00 802B63F0 2462FFF9 */ addiu $v0, $v1, -7
/* E26B04 802B63F4 2C420002 */ sltiu $v0, $v0, 2
/* E26B08 802B63F8 1040001A */ beqz $v0, .L802B6464
/* E26B0C 802B63FC 3C03FFFD */ lui $v1, 0xfffd
/* E26B10 802B6400 8E020000 */ lw $v0, ($s0)
/* E26B14 802B6404 3463FFF7 */ ori $v1, $v1, 0xfff7
/* E26B18 802B6408 00431024 */ and $v0, $v0, $v1
/* E26B1C 802B640C 0C038C9E */ jal phys_player_land
/* E26B20 802B6410 AE020000 */ sw $v0, ($s0)
/* E26B24 802B6414 0000202D */ daddu $a0, $zero, $zero
/* E26B28 802B6418 0080282D */ daddu $a1, $a0, $zero
/* E26B2C 802B641C 0C0B2D5B */ jal exec_ShakeCam1
/* E26B30 802B6420 24060004 */ addiu $a2, $zero, 4
/* E26B34 802B6424 2404014A */ addiu $a0, $zero, 0x14a
/* E26B38 802B6428 0C052736 */ jal play_sound_at_player
/* E26B3C 802B642C 0000282D */ daddu $a1, $zero, $zero
/* E26B40 802B6430 24040100 */ addiu $a0, $zero, 0x100
/* E26B44 802B6434 0C00A3C2 */ jal start_rumble
/* E26B48 802B6438 24050032 */ addiu $a1, $zero, 0x32
/* E26B4C 802B643C 3C048016 */ lui $a0, %hi(D_8015A578)
/* E26B50 802B6440 2484A578 */ addiu $a0, $a0, %lo(D_8015A578)
/* E26B54 802B6444 C600002C */ lwc1 $f0, 0x2c($s0)
/* E26B58 802B6448 8E030000 */ lw $v1, ($s0)
/* E26B5C 802B644C 24020001 */ addiu $v0, $zero, 1
/* E26B60 802B6450 A0820000 */ sb $v0, ($a0)
/* E26B64 802B6454 34630400 */ ori $v1, $v1, 0x400
/* E26B68 802B6458 E4800008 */ swc1 $f0, 8($a0)
/* E26B6C 802B645C 080AD978 */ j .L802B65E0
/* E26B70 802B6460 AE030000 */ sw $v1, ($s0)
.L802B6464:
/* E26B74 802B6464 8FA40010 */ lw $a0, 0x10($sp)
/* E26B78 802B6468 0C016F6A */ jal get_collider_type_by_id
/* E26B7C 802B646C 00000000 */ nop
/* E26B80 802B6470 304300FF */ andi $v1, $v0, 0xff
/* E26B84 802B6474 24020003 */ addiu $v0, $zero, 3
/* E26B88 802B6478 1462000E */ bne $v1, $v0, .L802B64B4
/* E26B8C 802B647C 24020002 */ addiu $v0, $zero, 2
/* E26B90 802B6480 3C05FFFD */ lui $a1, 0xfffd
/* E26B94 802B6484 34A5FFF7 */ ori $a1, $a1, 0xfff7
/* E26B98 802B6488 24040017 */ addiu $a0, $zero, 0x17
/* E26B9C 802B648C 8E020000 */ lw $v0, ($s0)
/* E26BA0 802B6490 24030001 */ addiu $v1, $zero, 1
/* E26BA4 802B6494 A20300BF */ sb $v1, 0xbf($s0)
/* E26BA8 802B6498 00451024 */ and $v0, $v0, $a1
/* E26BAC 802B649C 0C039769 */ jal set_action_state
/* E26BB0 802B64A0 AE020000 */ sw $v0, ($s0)
/* E26BB4 802B64A4 8E020000 */ lw $v0, ($s0)
/* E26BB8 802B64A8 34420800 */ ori $v0, $v0, 0x800
/* E26BBC 802B64AC 080AD978 */ j .L802B65E0
/* E26BC0 802B64B0 AE020000 */ sw $v0, ($s0)
.L802B64B4:
/* E26BC4 802B64B4 14620009 */ bne $v1, $v0, .L802B64DC
/* E26BC8 802B64B8 0000202D */ daddu $a0, $zero, $zero
/* E26BCC 802B64BC 0C039769 */ jal set_action_state
/* E26BD0 802B64C0 24040017 */ addiu $a0, $zero, 0x17
/* E26BD4 802B64C4 3C03FFFD */ lui $v1, 0xfffd
/* E26BD8 802B64C8 8E020000 */ lw $v0, ($s0)
/* E26BDC 802B64CC 3463FFF7 */ ori $v1, $v1, 0xfff7
/* E26BE0 802B64D0 00431024 */ and $v0, $v0, $v1
/* E26BE4 802B64D4 080AD978 */ j .L802B65E0
/* E26BE8 802B64D8 AE020000 */ sw $v0, ($s0)
.L802B64DC:
/* E26BEC 802B64DC 0080282D */ daddu $a1, $a0, $zero
/* E26BF0 802B64E0 24060004 */ addiu $a2, $zero, 4
/* E26BF4 802B64E4 24020008 */ addiu $v0, $zero, 8
/* E26BF8 802B64E8 A6020008 */ sh $v0, 8($s0)
/* E26BFC 802B64EC 920200B6 */ lbu $v0, 0xb6($s0)
/* E26C00 802B64F0 24030010 */ addiu $v1, $zero, 0x10
/* E26C04 802B64F4 A60000C0 */ sh $zero, 0xc0($s0)
/* E26C08 802B64F8 A20300B4 */ sb $v1, 0xb4($s0)
/* E26C0C 802B64FC 24420001 */ addiu $v0, $v0, 1
/* E26C10 802B6500 0C0B2D5B */ jal exec_ShakeCam1
/* E26C14 802B6504 A20200B6 */ sb $v0, 0xb6($s0)
/* E26C18 802B6508 2404014A */ addiu $a0, $zero, 0x14a
/* E26C1C 802B650C 0C052736 */ jal play_sound_at_player
/* E26C20 802B6510 0000282D */ daddu $a1, $zero, $zero
/* E26C24 802B6514 24040100 */ addiu $a0, $zero, 0x100
/* E26C28 802B6518 0C00A3C2 */ jal start_rumble
/* E26C2C 802B651C 24050032 */ addiu $a1, $zero, 0x32
/* E26C30 802B6520 3C048016 */ lui $a0, %hi(D_8015A578)
/* E26C34 802B6524 2484A578 */ addiu $a0, $a0, %lo(D_8015A578)
/* E26C38 802B6528 C600002C */ lwc1 $f0, 0x2c($s0)
/* E26C3C 802B652C 8E030000 */ lw $v1, ($s0)
/* E26C40 802B6530 24020001 */ addiu $v0, $zero, 1
/* E26C44 802B6534 A0820000 */ sb $v0, ($a0)
/* E26C48 802B6538 34630400 */ ori $v1, $v1, 0x400
/* E26C4C 802B653C E4800008 */ swc1 $f0, 8($a0)
/* E26C50 802B6540 080AD969 */ j .L802B65A4
/* E26C54 802B6544 AE030000 */ sw $v1, ($s0)
/* E26C58 802B6548 96020008 */ lhu $v0, 8($s0)
/* E26C5C 802B654C 2442FFFF */ addiu $v0, $v0, -1
/* E26C60 802B6550 A6020008 */ sh $v0, 8($s0)
/* E26C64 802B6554 00021400 */ sll $v0, $v0, 0x10
/* E26C68 802B6558 14400012 */ bnez $v0, .L802B65A4
/* E26C6C 802B655C 3C02FFFD */ lui $v0, 0xfffd
/* E26C70 802B6560 3442FFF7 */ ori $v0, $v0, 0xfff7
/* E26C74 802B6564 2404000A */ addiu $a0, $zero, 0xa
/* E26C78 802B6568 920300B6 */ lbu $v1, 0xb6($s0)
/* E26C7C 802B656C 8E050000 */ lw $a1, ($s0)
/* E26C80 802B6570 24630001 */ addiu $v1, $v1, 1
/* E26C84 802B6574 00A22824 */ and $a1, $a1, $v0
/* E26C88 802B6578 A20300B6 */ sb $v1, 0xb6($s0)
/* E26C8C 802B657C 0C039769 */ jal set_action_state
/* E26C90 802B6580 AE050000 */ sw $a1, ($s0)
/* E26C94 802B6584 080AD969 */ j .L802B65A4
/* E26C98 802B6588 00000000 */ nop
/* E26C9C 802B658C 0C039769 */ jal set_action_state
/* E26CA0 802B6590 24040007 */ addiu $a0, $zero, 7
/* E26CA4 802B6594 920200B6 */ lbu $v0, 0xb6($s0)
/* E26CA8 802B6598 24420001 */ addiu $v0, $v0, 1
/* E26CAC 802B659C 0C038069 */ jal enable_player_input
/* E26CB0 802B65A0 A20200B6 */ sb $v0, 0xb6($s0)
.L802B65A4:
/* E26CB4 802B65A4 C6020070 */ lwc1 $f2, 0x70($s0)
/* E26CB8 802B65A8 44800000 */ mtc1 $zero, $f0
/* E26CBC 802B65AC 00000000 */ nop
/* E26CC0 802B65B0 4600103C */ c.lt.s $f2, $f0
/* E26CC4 802B65B4 00000000 */ nop
/* E26CC8 802B65B8 45000009 */ bc1f .L802B65E0
/* E26CCC 802B65BC 00000000 */ nop
/* E26CD0 802B65C0 0C0AD97E */ jal func_802B65F8_E26D08
/* E26CD4 802B65C4 00000000 */ nop
/* E26CD8 802B65C8 04400005 */ bltz $v0, .L802B65E0
/* E26CDC 802B65CC AFA20010 */ sw $v0, 0x10($sp)
/* E26CE0 802B65D0 97A30012 */ lhu $v1, 0x12($sp)
/* E26CE4 802B65D4 2402FFFF */ addiu $v0, $zero, -1
/* E26CE8 802B65D8 A6220004 */ sh $v0, 4($s1)
/* E26CEC 802B65DC A6230002 */ sh $v1, 2($s1)
.L802B65E0:
/* E26CF0 802B65E0 8FBF0020 */ lw $ra, 0x20($sp)
/* E26CF4 802B65E4 8FB1001C */ lw $s1, 0x1c($sp)
/* E26CF8 802B65E8 8FB00018 */ lw $s0, 0x18($sp)
/* E26CFC 802B65EC D7B40028 */ ldc1 $f20, 0x28($sp)
/* E26D00 802B65F0 03E00008 */ jr $ra
/* E26D04 802B65F4 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -0,0 +1,42 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B65F8_E26D08
/* E26D08 802B65F8 27BDFFB0 */ addiu $sp, $sp, -0x50
/* E26D0C 802B65FC 3C048011 */ lui $a0, %hi(gPlayerStatus)
/* E26D10 802B6600 2484EFC8 */ addiu $a0, $a0, %lo(gPlayerStatus)
/* E26D14 802B6604 27A50028 */ addiu $a1, $sp, 0x28
/* E26D18 802B6608 27A6002C */ addiu $a2, $sp, 0x2c
/* E26D1C 802B660C 27A70030 */ addiu $a3, $sp, 0x30
/* E26D20 802B6610 AFBF0048 */ sw $ra, 0x48($sp)
/* E26D24 802B6614 848200B0 */ lh $v0, 0xb0($a0)
/* E26D28 802B6618 3C013F00 */ lui $at, 0x3f00
/* E26D2C 802B661C 44811000 */ mtc1 $at, $f2
/* E26D30 802B6620 C4800028 */ lwc1 $f0, 0x28($a0)
/* E26D34 802B6624 44823000 */ mtc1 $v0, $f6
/* E26D38 802B6628 00000000 */ nop
/* E26D3C 802B662C 468031A0 */ cvt.s.w $f6, $f6
/* E26D40 802B6630 46023082 */ mul.s $f2, $f6, $f2
/* E26D44 802B6634 00000000 */ nop
/* E26D48 802B6638 27A20034 */ addiu $v0, $sp, 0x34
/* E26D4C 802B663C E7A00028 */ swc1 $f0, 0x28($sp)
/* E26D50 802B6640 C480002C */ lwc1 $f0, 0x2c($a0)
/* E26D54 802B6644 C4840030 */ lwc1 $f4, 0x30($a0)
/* E26D58 802B6648 46020000 */ add.s $f0, $f0, $f2
/* E26D5C 802B664C E7A60034 */ swc1 $f6, 0x34($sp)
/* E26D60 802B6650 E7A40030 */ swc1 $f4, 0x30($sp)
/* E26D64 802B6654 E7A0002C */ swc1 $f0, 0x2c($sp)
/* E26D68 802B6658 AFA20010 */ sw $v0, 0x10($sp)
/* E26D6C 802B665C 27A20038 */ addiu $v0, $sp, 0x38
/* E26D70 802B6660 AFA20014 */ sw $v0, 0x14($sp)
/* E26D74 802B6664 27A2003C */ addiu $v0, $sp, 0x3c
/* E26D78 802B6668 AFA20018 */ sw $v0, 0x18($sp)
/* E26D7C 802B666C 27A20040 */ addiu $v0, $sp, 0x40
/* E26D80 802B6670 AFA2001C */ sw $v0, 0x1c($sp)
/* E26D84 802B6674 27A20044 */ addiu $v0, $sp, 0x44
/* E26D88 802B6678 0C03791B */ jal func_800DE46C
/* E26D8C 802B667C AFA20020 */ sw $v0, 0x20($sp)
/* E26D90 802B6680 8FBF0048 */ lw $ra, 0x48($sp)
/* E26D94 802B6684 03E00008 */ jr $ra
/* E26D98 802B6688 27BD0050 */ addiu $sp, $sp, 0x50
/* E26D9C 802B668C 00000000 */ nop

View File

@ -0,0 +1,425 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6000_E26DE0
/* E26DE0 802B6000 27BDFFC8 */ addiu $sp, $sp, -0x38
/* E26DE4 802B6004 AFB00018 */ sw $s0, 0x18($sp)
/* E26DE8 802B6008 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* E26DEC 802B600C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* E26DF0 802B6010 AFBF0024 */ sw $ra, 0x24($sp)
/* E26DF4 802B6014 AFB20020 */ sw $s2, 0x20($sp)
/* E26DF8 802B6018 AFB1001C */ sw $s1, 0x1c($sp)
/* E26DFC 802B601C F7B60030 */ sdc1 $f22, 0x30($sp)
/* E26E00 802B6020 F7B40028 */ sdc1 $f20, 0x28($sp)
/* E26E04 802B6024 8E030000 */ lw $v1, ($s0)
/* E26E08 802B6028 3C118016 */ lui $s1, %hi(gCollisionStatus)
/* E26E0C 802B602C 2631A550 */ addiu $s1, $s1, %lo(gCollisionStatus)
/* E26E10 802B6030 0461001D */ bgez $v1, .L802B60A8
/* E26E14 802B6034 3C027FFF */ lui $v0, 0x7fff
/* E26E18 802B6038 3442FFF9 */ ori $v0, $v0, 0xfff9
/* E26E1C 802B603C 3C040001 */ lui $a0, 1
/* E26E20 802B6040 3484000A */ ori $a0, $a0, 0xa
/* E26E24 802B6044 00621024 */ and $v0, $v1, $v0
/* E26E28 802B6048 3C0140A6 */ lui $at, 0x40a6
/* E26E2C 802B604C 34216666 */ ori $at, $at, 0x6666
/* E26E30 802B6050 44810000 */ mtc1 $at, $f0
/* E26E34 802B6054 3442000A */ ori $v0, $v0, 0xa
/* E26E38 802B6058 AE020000 */ sw $v0, ($s0)
/* E26E3C 802B605C A20000B6 */ sb $zero, 0xb6($s0)
/* E26E40 802B6060 AE000054 */ sw $zero, 0x54($s0)
/* E26E44 802B6064 3C01802B */ lui $at, %hi(D_802B6730)
/* E26E48 802B6068 AC206730 */ sw $zero, %lo(D_802B6730)($at)
/* E26E4C 802B606C 0C037FBF */ jal func_800DFEFC
/* E26E50 802B6070 E6000070 */ swc1 $f0, 0x70($s0)
/* E26E54 802B6074 0C03805E */ jal disable_player_input
/* E26E58 802B6078 00000000 */ nop
/* E26E5C 802B607C 24040146 */ addiu $a0, $zero, 0x146
/* E26E60 802B6080 0000282D */ daddu $a1, $zero, $zero
/* E26E64 802B6084 3C06800B */ lui $a2, %hi(gCameras)
/* E26E68 802B6088 24C61D80 */ addiu $a2, $a2, %lo(gCameras)
/* E26E6C 802B608C 8E020000 */ lw $v0, ($s0)
/* E26E70 802B6090 94C30002 */ lhu $v1, 2($a2)
/* E26E74 802B6094 34420200 */ ori $v0, $v0, 0x200
/* E26E78 802B6098 34630001 */ ori $v1, $v1, 1
/* E26E7C 802B609C AE020000 */ sw $v0, ($s0)
/* E26E80 802B60A0 0C052736 */ jal play_sound_at_player
/* E26E84 802B60A4 A4C30002 */ sh $v1, 2($a2)
.L802B60A8:
/* E26E88 802B60A8 820300B6 */ lb $v1, 0xb6($s0)
/* E26E8C 802B60AC 2C62000D */ sltiu $v0, $v1, 0xd
/* E26E90 802B60B0 10400146 */ beqz $v0, .L802B65CC
/* E26E94 802B60B4 0000902D */ daddu $s2, $zero, $zero
/* E26E98 802B60B8 00031080 */ sll $v0, $v1, 2
/* E26E9C 802B60BC 3C01802B */ lui $at, %hi(D_802B66E0)
/* E26EA0 802B60C0 00220821 */ addu $at, $at, $v0
/* E26EA4 802B60C4 8C2266E0 */ lw $v0, %lo(D_802B66E0)($at)
/* E26EA8 802B60C8 00400008 */ jr $v0
/* E26EAC 802B60CC 00000000 */ nop
/* E26EB0 802B60D0 3C014220 */ lui $at, 0x4220
/* E26EB4 802B60D4 44811000 */ mtc1 $at, $f2
/* E26EB8 802B60D8 C600008C */ lwc1 $f0, 0x8c($s0)
/* E26EBC 802B60DC 3C0143B4 */ lui $at, 0x43b4
/* E26EC0 802B60E0 44812000 */ mtc1 $at, $f4
/* E26EC4 802B60E4 46020000 */ add.s $f0, $f0, $f2
/* E26EC8 802B60E8 3C01802B */ lui $at, %hi(D_802B6730)
/* E26ECC 802B60EC E4226730 */ swc1 $f2, %lo(D_802B6730)($at)
/* E26ED0 802B60F0 4600203E */ c.le.s $f4, $f0
/* E26ED4 802B60F4 00000000 */ nop
/* E26ED8 802B60F8 45000002 */ bc1f .L802B6104
/* E26EDC 802B60FC E600008C */ swc1 $f0, 0x8c($s0)
/* E26EE0 802B6100 E604008C */ swc1 $f4, 0x8c($s0)
.L802B6104:
/* E26EE4 802B6104 C6040070 */ lwc1 $f4, 0x70($s0)
/* E26EE8 802B6108 44800000 */ mtc1 $zero, $f0
/* E26EEC 802B610C 00000000 */ nop
/* E26EF0 802B6110 4604003E */ c.le.s $f0, $f4
/* E26EF4 802B6114 00000000 */ nop
/* E26EF8 802B6118 45000023 */ bc1f .L802B61A8
/* E26EFC 802B611C 00000000 */ nop
/* E26F00 802B6120 3C01802B */ lui $at, %hi(D_802B6718)
/* E26F04 802B6124 D4226718 */ ldc1 $f2, %lo(D_802B6718)($at)
/* E26F08 802B6128 46002021 */ cvt.d.s $f0, $f4
/* E26F0C 802B612C 46220001 */ sub.d $f0, $f0, $f2
/* E26F10 802B6130 462000A0 */ cvt.s.d $f2, $f0
/* E26F14 802B6134 E6020070 */ swc1 $f2, 0x70($s0)
/* E26F18 802B6138 86240008 */ lh $a0, 8($s1)
/* E26F1C 802B613C 96220008 */ lhu $v0, 8($s1)
/* E26F20 802B6140 04810004 */ bgez $a0, .L802B6154
/* E26F24 802B6144 30424000 */ andi $v0, $v0, 0x4000
/* E26F28 802B6148 C600002C */ lwc1 $f0, 0x2c($s0)
/* E26F2C 802B614C 080AD869 */ j .L802B61A4
/* E26F30 802B6150 46020000 */ add.s $f0, $f0, $f2
.L802B6154:
/* E26F34 802B6154 10400014 */ beqz $v0, .L802B61A8
/* E26F38 802B6158 00000000 */ nop
/* E26F3C 802B615C 0C04417A */ jal get_entity_by_index
/* E26F40 802B6160 00000000 */ nop
/* E26F44 802B6164 0040182D */ daddu $v1, $v0, $zero
/* E26F48 802B6168 1060000F */ beqz $v1, .L802B61A8
/* E26F4C 802B616C 00000000 */ nop
/* E26F50 802B6170 860200B0 */ lh $v0, 0xb0($s0)
/* E26F54 802B6174 3C013FE0 */ lui $at, 0x3fe0
/* E26F58 802B6178 44810800 */ mtc1 $at, $f1
/* E26F5C 802B617C 44800000 */ mtc1 $zero, $f0
/* E26F60 802B6180 44821000 */ mtc1 $v0, $f2
/* E26F64 802B6184 00000000 */ nop
/* E26F68 802B6188 468010A1 */ cvt.d.w $f2, $f2
/* E26F6C 802B618C 46201082 */ mul.d $f2, $f2, $f0
/* E26F70 802B6190 00000000 */ nop
/* E26F74 802B6194 C460004C */ lwc1 $f0, 0x4c($v1)
/* E26F78 802B6198 46000021 */ cvt.d.s $f0, $f0
/* E26F7C 802B619C 46220001 */ sub.d $f0, $f0, $f2
/* E26F80 802B61A0 46200020 */ cvt.s.d $f0, $f0
.L802B61A4:
/* E26F84 802B61A4 E600002C */ swc1 $f0, 0x2c($s0)
.L802B61A8:
/* E26F88 802B61A8 C602008C */ lwc1 $f2, 0x8c($s0)
/* E26F8C 802B61AC 3C0143B4 */ lui $at, 0x43b4
/* E26F90 802B61B0 44810000 */ mtc1 $at, $f0
/* E26F94 802B61B4 00000000 */ nop
/* E26F98 802B61B8 46001032 */ c.eq.s $f2, $f0
/* E26F9C 802B61BC 00000000 */ nop
/* E26FA0 802B61C0 4500000F */ bc1f .L802B6200
/* E26FA4 802B61C4 2402FFFF */ addiu $v0, $zero, -1
/* E26FA8 802B61C8 C6020070 */ lwc1 $f2, 0x70($s0)
/* E26FAC 802B61CC 44800000 */ mtc1 $zero, $f0
/* E26FB0 802B61D0 00000000 */ nop
/* E26FB4 802B61D4 4600103E */ c.le.s $f2, $f0
/* E26FB8 802B61D8 00000000 */ nop
/* E26FBC 802B61DC 45000007 */ bc1f .L802B61FC
/* E26FC0 802B61E0 24020005 */ addiu $v0, $zero, 5
/* E26FC4 802B61E4 3C014000 */ lui $at, 0x4000
/* E26FC8 802B61E8 44810000 */ mtc1 $at, $f0
/* E26FCC 802B61EC A6020008 */ sh $v0, 8($s0)
/* E26FD0 802B61F0 24020002 */ addiu $v0, $zero, 2
/* E26FD4 802B61F4 A20200B6 */ sb $v0, 0xb6($s0)
/* E26FD8 802B61F8 E6000070 */ swc1 $f0, 0x70($s0)
.L802B61FC:
/* E26FDC 802B61FC 2402FFFF */ addiu $v0, $zero, -1
.L802B6200:
/* E26FE0 802B6200 080AD973 */ j .L802B65CC
/* E26FE4 802B6204 A6220008 */ sh $v0, 8($s1)
/* E26FE8 802B6208 C6020070 */ lwc1 $f2, 0x70($s0)
/* E26FEC 802B620C 44800000 */ mtc1 $zero, $f0
/* E26FF0 802B6210 00000000 */ nop
/* E26FF4 802B6214 4602003E */ c.le.s $f0, $f2
/* E26FF8 802B6218 00000000 */ nop
/* E26FFC 802B621C 4500000C */ bc1f .L802B6250
/* E27000 802B6220 00000000 */ nop
/* E27004 802B6224 3C01802B */ lui $at, %hi(D_802B6720)
/* E27008 802B6228 D4206720 */ ldc1 $f0, %lo(D_802B6720)($at)
/* E2700C 802B622C 460010A1 */ cvt.d.s $f2, $f2
/* E27010 802B6230 46201081 */ sub.d $f2, $f2, $f0
/* E27014 802B6234 86220008 */ lh $v0, 8($s1)
/* E27018 802B6238 462010A0 */ cvt.s.d $f2, $f2
/* E2701C 802B623C 04410004 */ bgez $v0, .L802B6250
/* E27020 802B6240 E6020070 */ swc1 $f2, 0x70($s0)
/* E27024 802B6244 C600002C */ lwc1 $f0, 0x2c($s0)
/* E27028 802B6248 46020000 */ add.s $f0, $f0, $f2
/* E2702C 802B624C E600002C */ swc1 $f0, 0x2c($s0)
.L802B6250:
/* E27030 802B6250 96020008 */ lhu $v0, 8($s0)
/* E27034 802B6254 2442FFFF */ addiu $v0, $v0, -1
/* E27038 802B6258 A6020008 */ sh $v0, 8($s0)
/* E2703C 802B625C 00021400 */ sll $v0, $v0, 0x10
/* E27040 802B6260 1C4000DA */ bgtz $v0, .L802B65CC
/* E27044 802B6264 00000000 */ nop
/* E27048 802B6268 920200B6 */ lbu $v0, 0xb6($s0)
/* E2704C 802B626C 24420001 */ addiu $v0, $v0, 1
/* E27050 802B6270 080AD973 */ j .L802B65CC
/* E27054 802B6274 A20200B6 */ sb $v0, 0xb6($s0)
/* E27058 802B6278 4480A000 */ mtc1 $zero, $f20
/* E2705C 802B627C 27A50010 */ addiu $a1, $sp, 0x10
/* E27060 802B6280 0C038D45 */ jal func_800E3514
/* E27064 802B6284 4600A306 */ mov.s $f12, $f20
/* E27068 802B6288 3C014234 */ lui $at, 0x4234
/* E2706C 802B628C 44811000 */ mtc1 $at, $f2
/* E27070 802B6290 C604008C */ lwc1 $f4, 0x8c($s0)
/* E27074 802B6294 E600002C */ swc1 $f0, 0x2c($s0)
/* E27078 802B6298 46022100 */ add.s $f4, $f4, $f2
/* E2707C 802B629C 3C01802B */ lui $at, %hi(D_802B6730)
/* E27080 802B62A0 E4226730 */ swc1 $f2, %lo(D_802B6730)($at)
/* E27084 802B62A4 3C01802B */ lui $at, %hi(D_802B6728)
/* E27088 802B62A8 D4226728 */ ldc1 $f2, %lo(D_802B6728)($at)
/* E2708C 802B62AC 46002021 */ cvt.d.s $f0, $f4
/* E27090 802B62B0 4620103E */ c.le.d $f2, $f0
/* E27094 802B62B4 00000000 */ nop
/* E27098 802B62B8 450000C4 */ bc1f .L802B65CC
/* E2709C 802B62BC E604008C */ swc1 $f4, 0x8c($s0)
/* E270A0 802B62C0 3C040001 */ lui $a0, 1
/* E270A4 802B62C4 3C01C05E */ lui $at, 0xc05e
/* E270A8 802B62C8 34215C92 */ ori $at, $at, 0x5c92
/* E270AC 802B62CC 44810000 */ mtc1 $at, $f0
/* E270B0 802B62D0 920200B6 */ lbu $v0, 0xb6($s0)
/* E270B4 802B62D4 3C01BF98 */ lui $at, 0xbf98
/* E270B8 802B62D8 34215F07 */ ori $at, $at, 0x5f07
/* E270BC 802B62DC 44811000 */ mtc1 $at, $f2
/* E270C0 802B62E0 3484000B */ ori $a0, $a0, 0xb
/* E270C4 802B62E4 E614008C */ swc1 $f20, 0x8c($s0)
/* E270C8 802B62E8 E6000074 */ swc1 $f0, 0x74($s0)
/* E270CC 802B62EC 3C013EF0 */ lui $at, 0x3ef0
/* E270D0 802B62F0 3421D845 */ ori $at, $at, 0xd845
/* E270D4 802B62F4 44810000 */ mtc1 $at, $f0
/* E270D8 802B62F8 C6040074 */ lwc1 $f4, 0x74($s0)
/* E270DC 802B62FC 24420001 */ addiu $v0, $v0, 1
/* E270E0 802B6300 A20200B6 */ sb $v0, 0xb6($s0)
/* E270E4 802B6304 E602007C */ swc1 $f2, 0x7c($s0)
/* E270E8 802B6308 E6000078 */ swc1 $f0, 0x78($s0)
/* E270EC 802B630C 0C037FBF */ jal func_800DFEFC
/* E270F0 802B6310 E6040070 */ swc1 $f4, 0x70($s0)
/* E270F4 802B6314 080AD973 */ j .L802B65CC
/* E270F8 802B6318 00000000 */ nop
/* E270FC 802B631C 0C038D36 */ jal func_800E34D8
/* E27100 802B6320 00000000 */ nop
/* E27104 802B6324 46000506 */ mov.s $f20, $f0
/* E27108 802B6328 4600A306 */ mov.s $f12, $f20
/* E2710C 802B632C 0C038D45 */ jal func_800E3514
/* E27110 802B6330 27A50010 */ addiu $a1, $sp, 0x10
/* E27114 802B6334 3C01C2C8 */ lui $at, 0xc2c8
/* E27118 802B6338 44811000 */ mtc1 $at, $f2
/* E2711C 802B633C 00000000 */ nop
/* E27120 802B6340 4602A03C */ c.lt.s $f20, $f2
/* E27124 802B6344 00000000 */ nop
/* E27128 802B6348 45000005 */ bc1f .L802B6360
/* E2712C 802B634C E600002C */ swc1 $f0, 0x2c($s0)
/* E27130 802B6350 AE00007C */ sw $zero, 0x7c($s0)
/* E27134 802B6354 AE000078 */ sw $zero, 0x78($s0)
/* E27138 802B6358 AE000074 */ sw $zero, 0x74($s0)
/* E2713C 802B635C E6020070 */ swc1 $f2, 0x70($s0)
.L802B6360:
/* E27140 802B6360 8FA20010 */ lw $v0, 0x10($sp)
/* E27144 802B6364 04400099 */ bltz $v0, .L802B65CC
/* E27148 802B6368 00000000 */ nop
/* E2714C 802B636C 96240002 */ lhu $a0, 2($s1)
/* E27150 802B6370 30824000 */ andi $v0, $a0, 0x4000
/* E27154 802B6374 10400013 */ beqz $v0, .L802B63C4
/* E27158 802B6378 00042400 */ sll $a0, $a0, 0x10
/* E2715C 802B637C 0C0441A9 */ jal get_entity_type
/* E27160 802B6380 00042403 */ sra $a0, $a0, 0x10
/* E27164 802B6384 2442FFF9 */ addiu $v0, $v0, -7
/* E27168 802B6388 2C420002 */ sltiu $v0, $v0, 2
/* E2716C 802B638C 1040000D */ beqz $v0, .L802B63C4
/* E27170 802B6390 00000000 */ nop
/* E27174 802B6394 0C04417A */ jal get_entity_by_index
/* E27178 802B6398 86240002 */ lh $a0, 2($s1)
/* E2717C 802B639C 90430006 */ lbu $v1, 6($v0)
/* E27180 802B63A0 34630001 */ ori $v1, $v1, 1
/* E27184 802B63A4 A0430006 */ sb $v1, 6($v0)
/* E27188 802B63A8 2402000B */ addiu $v0, $zero, 0xb
/* E2718C 802B63AC A20200B6 */ sb $v0, 0xb6($s0)
/* E27190 802B63B0 8E020000 */ lw $v0, ($s0)
/* E27194 802B63B4 2403FFF7 */ addiu $v1, $zero, -9
/* E27198 802B63B8 00431024 */ and $v0, $v0, $v1
/* E2719C 802B63BC 080AD973 */ j .L802B65CC
/* E271A0 802B63C0 AE020000 */ sw $v0, ($s0)
.L802B63C4:
/* E271A4 802B63C4 8FA40010 */ lw $a0, 0x10($sp)
/* E271A8 802B63C8 0C016F6A */ jal get_collider_type_by_id
/* E271AC 802B63CC 00000000 */ nop
/* E271B0 802B63D0 304300FF */ andi $v1, $v0, 0xff
/* E271B4 802B63D4 24020003 */ addiu $v0, $zero, 3
/* E271B8 802B63D8 54620009 */ bnel $v1, $v0, .L802B6400
/* E271BC 802B63DC 24020002 */ addiu $v0, $zero, 2
/* E271C0 802B63E0 24040017 */ addiu $a0, $zero, 0x17
/* E271C4 802B63E4 24020001 */ addiu $v0, $zero, 1
/* E271C8 802B63E8 0C039769 */ jal set_action_state
/* E271CC 802B63EC A20200BF */ sb $v0, 0xbf($s0)
/* E271D0 802B63F0 8E020000 */ lw $v0, ($s0)
/* E271D4 802B63F4 2403FFF7 */ addiu $v1, $zero, -9
/* E271D8 802B63F8 080AD906 */ j .L802B6418
/* E271DC 802B63FC 34420800 */ ori $v0, $v0, 0x800
.L802B6400:
/* E271E0 802B6400 14620008 */ bne $v1, $v0, .L802B6424
/* E271E4 802B6404 3C040001 */ lui $a0, 1
/* E271E8 802B6408 0C039769 */ jal set_action_state
/* E271EC 802B640C 24040017 */ addiu $a0, $zero, 0x17
/* E271F0 802B6410 8E020000 */ lw $v0, ($s0)
/* E271F4 802B6414 2403FFF7 */ addiu $v1, $zero, -9
.L802B6418:
/* E271F8 802B6418 00431024 */ and $v0, $v0, $v1
/* E271FC 802B641C 080AD98A */ j .L802B6628
/* E27200 802B6420 AE020000 */ sw $v0, ($s0)
.L802B6424:
/* E27204 802B6424 3C01C05E */ lui $at, 0xc05e
/* E27208 802B6428 34215C92 */ ori $at, $at, 0x5c92
/* E2720C 802B642C 44810000 */ mtc1 $at, $f0
/* E27210 802B6430 3C013EF0 */ lui $at, 0x3ef0
/* E27214 802B6434 3421D845 */ ori $at, $at, 0xd845
/* E27218 802B6438 44811000 */ mtc1 $at, $f2
/* E2721C 802B643C 3C01BF98 */ lui $at, 0xbf98
/* E27220 802B6440 34215F07 */ ori $at, $at, 0x5f07
/* E27224 802B6444 44812000 */ mtc1 $at, $f4
/* E27228 802B6448 3C014120 */ lui $at, 0x4120
/* E2722C 802B644C 44813000 */ mtc1 $at, $f6
/* E27230 802B6450 3484000B */ ori $a0, $a0, 0xb
/* E27234 802B6454 E6000074 */ swc1 $f0, 0x74($s0)
/* E27238 802B6458 E6020078 */ swc1 $f2, 0x78($s0)
/* E2723C 802B645C E604007C */ swc1 $f4, 0x7c($s0)
/* E27240 802B6460 0C037FBF */ jal func_800DFEFC
/* E27244 802B6464 E6060070 */ swc1 $f6, 0x70($s0)
/* E27248 802B6468 0000202D */ daddu $a0, $zero, $zero
/* E2724C 802B646C 0080282D */ daddu $a1, $a0, $zero
/* E27250 802B6470 2402000E */ addiu $v0, $zero, 0xe
/* E27254 802B6474 A20200B4 */ sb $v0, 0xb4($s0)
/* E27258 802B6478 2402000C */ addiu $v0, $zero, 0xc
/* E2725C 802B647C 920300B6 */ lbu $v1, 0xb6($s0)
/* E27260 802B6480 24060004 */ addiu $a2, $zero, 4
/* E27264 802B6484 A60000C0 */ sh $zero, 0xc0($s0)
/* E27268 802B6488 A2020280 */ sb $v0, 0x280($s0)
/* E2726C 802B648C AE00008C */ sw $zero, 0x8c($s0)
/* E27270 802B6490 24630001 */ addiu $v1, $v1, 1
/* E27274 802B6494 0C0B2D5B */ jal exec_ShakeCam1
/* E27278 802B6498 A20300B6 */ sb $v1, 0xb6($s0)
/* E2727C 802B649C 24040149 */ addiu $a0, $zero, 0x149
/* E27280 802B64A0 0C052736 */ jal play_sound_at_player
/* E27284 802B64A4 0000282D */ daddu $a1, $zero, $zero
/* E27288 802B64A8 24040080 */ addiu $a0, $zero, 0x80
/* E2728C 802B64AC 0C00A3C2 */ jal start_rumble
/* E27290 802B64B0 24050019 */ addiu $a1, $zero, 0x19
/* E27294 802B64B4 3C048016 */ lui $a0, %hi(D_8015A578)
/* E27298 802B64B8 2484A578 */ addiu $a0, $a0, %lo(D_8015A578)
/* E2729C 802B64BC C600002C */ lwc1 $f0, 0x2c($s0)
/* E272A0 802B64C0 8E030000 */ lw $v1, ($s0)
/* E272A4 802B64C4 24020001 */ addiu $v0, $zero, 1
/* E272A8 802B64C8 A0820000 */ sb $v0, ($a0)
/* E272AC 802B64CC 34630400 */ ori $v1, $v1, 0x400
/* E272B0 802B64D0 E4800008 */ swc1 $f0, 8($a0)
/* E272B4 802B64D4 080AD973 */ j .L802B65CC
/* E272B8 802B64D8 AE030000 */ sw $v1, ($s0)
/* E272BC 802B64DC 0C038D12 */ jal integrate_gravity
/* E272C0 802B64E0 00000000 */ nop
/* E272C4 802B64E4 4480B000 */ mtc1 $zero, $f22
/* E272C8 802B64E8 46000506 */ mov.s $f20, $f0
/* E272CC 802B64EC 4616A032 */ c.eq.s $f20, $f22
/* E272D0 802B64F0 00000000 */ nop
/* E272D4 802B64F4 45030035 */ bc1tl .L802B65CC
/* E272D8 802B64F8 24120001 */ addiu $s2, $zero, 1
/* E272DC 802B64FC C6000070 */ lwc1 $f0, 0x70($s0)
/* E272E0 802B6500 4600B03C */ c.lt.s $f22, $f0
/* E272E4 802B6504 00000000 */ nop
/* E272E8 802B6508 45000005 */ bc1f .L802B6520
/* E272EC 802B650C 4600A306 */ mov.s $f12, $f20
/* E272F0 802B6510 C600002C */ lwc1 $f0, 0x2c($s0)
/* E272F4 802B6514 46140000 */ add.s $f0, $f0, $f20
/* E272F8 802B6518 080AD955 */ j .L802B6554
/* E272FC 802B651C E600002C */ swc1 $f0, 0x2c($s0)
.L802B6520:
/* E27300 802B6520 0C038D45 */ jal func_800E3514
/* E27304 802B6524 27A50010 */ addiu $a1, $sp, 0x10
/* E27308 802B6528 C6020070 */ lwc1 $f2, 0x70($s0)
/* E2730C 802B652C 4616103C */ c.lt.s $f2, $f22
/* E27310 802B6530 00000000 */ nop
/* E27314 802B6534 45000007 */ bc1f .L802B6554
/* E27318 802B6538 E600002C */ swc1 $f0, 0x2c($s0)
/* E2731C 802B653C 8FA20010 */ lw $v0, 0x10($sp)
/* E27320 802B6540 04400004 */ bltz $v0, .L802B6554
/* E27324 802B6544 00000000 */ nop
/* E27328 802B6548 920200B6 */ lbu $v0, 0xb6($s0)
/* E2732C 802B654C 24420001 */ addiu $v0, $v0, 1
/* E27330 802B6550 A20200B6 */ sb $v0, 0xb6($s0)
.L802B6554:
/* E27334 802B6554 44806000 */ mtc1 $zero, $f12
/* E27338 802B6558 0C038D45 */ jal func_800E3514
/* E2733C 802B655C 27A50010 */ addiu $a1, $sp, 0x10
/* E27340 802B6560 080AD973 */ j .L802B65CC
/* E27344 802B6564 E600002C */ swc1 $f0, 0x2c($s0)
/* E27348 802B6568 4480A000 */ mtc1 $zero, $f20
/* E2734C 802B656C 27A50010 */ addiu $a1, $sp, 0x10
/* E27350 802B6570 0C038D45 */ jal func_800E3514
/* E27354 802B6574 4600A306 */ mov.s $f12, $f20
/* E27358 802B6578 8FA20010 */ lw $v0, 0x10($sp)
/* E2735C 802B657C 04400005 */ bltz $v0, .L802B6594
/* E27360 802B6580 E600002C */ swc1 $f0, 0x2c($s0)
/* E27364 802B6584 E6140070 */ swc1 $f20, 0x70($s0)
/* E27368 802B6588 E6140074 */ swc1 $f20, 0x74($s0)
/* E2736C 802B658C E6140078 */ swc1 $f20, 0x78($s0)
/* E27370 802B6590 E614007C */ swc1 $f20, 0x7c($s0)
.L802B6594:
/* E27374 802B6594 92020280 */ lbu $v0, 0x280($s0)
/* E27378 802B6598 2442FFFF */ addiu $v0, $v0, -1
/* E2737C 802B659C A2020280 */ sb $v0, 0x280($s0)
/* E27380 802B65A0 00021600 */ sll $v0, $v0, 0x18
/* E27384 802B65A4 1C400009 */ bgtz $v0, .L802B65CC
/* E27388 802B65A8 00000000 */ nop
/* E2738C 802B65AC 080AD973 */ j .L802B65CC
/* E27390 802B65B0 24120001 */ addiu $s2, $zero, 1
/* E27394 802B65B4 0C039769 */ jal set_action_state
/* E27398 802B65B8 24040007 */ addiu $a0, $zero, 7
/* E2739C 802B65BC 920200B6 */ lbu $v0, 0xb6($s0)
/* E273A0 802B65C0 24420001 */ addiu $v0, $v0, 1
/* E273A4 802B65C4 0C038069 */ jal enable_player_input
/* E273A8 802B65C8 A20200B6 */ sb $v0, 0xb6($s0)
.L802B65CC:
/* E273AC 802B65CC 12400007 */ beqz $s2, .L802B65EC
/* E273B0 802B65D0 00000000 */ nop
/* E273B4 802B65D4 0C039769 */ jal set_action_state
/* E273B8 802B65D8 2404000A */ addiu $a0, $zero, 0xa
/* E273BC 802B65DC 8E020000 */ lw $v0, ($s0)
/* E273C0 802B65E0 2403FFF7 */ addiu $v1, $zero, -9
/* E273C4 802B65E4 00431024 */ and $v0, $v0, $v1
/* E273C8 802B65E8 AE020000 */ sw $v0, ($s0)
.L802B65EC:
/* E273CC 802B65EC C6020070 */ lwc1 $f2, 0x70($s0)
/* E273D0 802B65F0 44800000 */ mtc1 $zero, $f0
/* E273D4 802B65F4 00000000 */ nop
/* E273D8 802B65F8 4600103C */ c.lt.s $f2, $f0
/* E273DC 802B65FC 00000000 */ nop
/* E273E0 802B6600 45000009 */ bc1f .L802B6628
/* E273E4 802B6604 00000000 */ nop
/* E273E8 802B6608 0C0AD992 */ jal func_802B6648_E27428
/* E273EC 802B660C 00000000 */ nop
/* E273F0 802B6610 04400005 */ bltz $v0, .L802B6628
/* E273F4 802B6614 AFA20010 */ sw $v0, 0x10($sp)
/* E273F8 802B6618 97A30012 */ lhu $v1, 0x12($sp)
/* E273FC 802B661C 2402FFFF */ addiu $v0, $zero, -1
/* E27400 802B6620 A6220004 */ sh $v0, 4($s1)
/* E27404 802B6624 A6230002 */ sh $v1, 2($s1)
.L802B6628:
/* E27408 802B6628 8FBF0024 */ lw $ra, 0x24($sp)
/* E2740C 802B662C 8FB20020 */ lw $s2, 0x20($sp)
/* E27410 802B6630 8FB1001C */ lw $s1, 0x1c($sp)
/* E27414 802B6634 8FB00018 */ lw $s0, 0x18($sp)
/* E27418 802B6638 D7B60030 */ ldc1 $f22, 0x30($sp)
/* E2741C 802B663C D7B40028 */ ldc1 $f20, 0x28($sp)
/* E27420 802B6640 03E00008 */ jr $ra
/* E27424 802B6644 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -0,0 +1,42 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6648_E27428
/* E27428 802B6648 27BDFFB0 */ addiu $sp, $sp, -0x50
/* E2742C 802B664C 3C048011 */ lui $a0, %hi(gPlayerStatus)
/* E27430 802B6650 2484EFC8 */ addiu $a0, $a0, %lo(gPlayerStatus)
/* E27434 802B6654 27A50028 */ addiu $a1, $sp, 0x28
/* E27438 802B6658 27A6002C */ addiu $a2, $sp, 0x2c
/* E2743C 802B665C 27A70030 */ addiu $a3, $sp, 0x30
/* E27440 802B6660 AFBF0048 */ sw $ra, 0x48($sp)
/* E27444 802B6664 848200B0 */ lh $v0, 0xb0($a0)
/* E27448 802B6668 3C013F00 */ lui $at, 0x3f00
/* E2744C 802B666C 44811000 */ mtc1 $at, $f2
/* E27450 802B6670 C4800028 */ lwc1 $f0, 0x28($a0)
/* E27454 802B6674 44823000 */ mtc1 $v0, $f6
/* E27458 802B6678 00000000 */ nop
/* E2745C 802B667C 468031A0 */ cvt.s.w $f6, $f6
/* E27460 802B6680 46023082 */ mul.s $f2, $f6, $f2
/* E27464 802B6684 00000000 */ nop
/* E27468 802B6688 27A20034 */ addiu $v0, $sp, 0x34
/* E2746C 802B668C E7A00028 */ swc1 $f0, 0x28($sp)
/* E27470 802B6690 C480002C */ lwc1 $f0, 0x2c($a0)
/* E27474 802B6694 C4840030 */ lwc1 $f4, 0x30($a0)
/* E27478 802B6698 46020000 */ add.s $f0, $f0, $f2
/* E2747C 802B669C E7A60034 */ swc1 $f6, 0x34($sp)
/* E27480 802B66A0 E7A40030 */ swc1 $f4, 0x30($sp)
/* E27484 802B66A4 E7A0002C */ swc1 $f0, 0x2c($sp)
/* E27488 802B66A8 AFA20010 */ sw $v0, 0x10($sp)
/* E2748C 802B66AC 27A20038 */ addiu $v0, $sp, 0x38
/* E27490 802B66B0 AFA20014 */ sw $v0, 0x14($sp)
/* E27494 802B66B4 27A2003C */ addiu $v0, $sp, 0x3c
/* E27498 802B66B8 AFA20018 */ sw $v0, 0x18($sp)
/* E2749C 802B66BC 27A20040 */ addiu $v0, $sp, 0x40
/* E274A0 802B66C0 AFA2001C */ sw $v0, 0x1c($sp)
/* E274A4 802B66C4 27A20044 */ addiu $v0, $sp, 0x44
/* E274A8 802B66C8 0C03791B */ jal func_800DE46C
/* E274AC 802B66CC AFA20020 */ sw $v0, 0x20($sp)
/* E274B0 802B66D0 8FBF0048 */ lw $ra, 0x48($sp)
/* E274B4 802B66D4 03E00008 */ jr $ra
/* E274B8 802B66D8 27BD0050 */ addiu $sp, $sp, 0x50
/* E274BC 802B66DC 00000000 */ nop

View File

@ -0,0 +1,28 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6000_E27510
/* E27510 802B6000 3C038011 */ lui $v1, %hi(gPlayerStatus)
/* E27514 802B6004 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus)
/* E27518 802B6008 8C6200D0 */ lw $v0, 0xd0($v1)
/* E2751C 802B600C C4400010 */ lwc1 $f0, 0x10($v0)
/* E27520 802B6010 E4600070 */ swc1 $f0, 0x70($v1)
/* E27524 802B6014 C4400014 */ lwc1 $f0, 0x14($v0)
/* E27528 802B6018 E4600074 */ swc1 $f0, 0x74($v1)
/* E2752C 802B601C C4400018 */ lwc1 $f0, 0x18($v0)
/* E27530 802B6020 E4600078 */ swc1 $f0, 0x78($v1)
/* E27534 802B6024 C440001C */ lwc1 $f0, 0x1c($v0)
/* E27538 802B6028 E460007C */ swc1 $f0, 0x7c($v1)
/* E2753C 802B602C C4400000 */ lwc1 $f0, ($v0)
/* E27540 802B6030 E46000A0 */ swc1 $f0, 0xa0($v1)
/* E27544 802B6034 C4400004 */ lwc1 $f0, 4($v0)
/* E27548 802B6038 C4420008 */ lwc1 $f2, 8($v0)
/* E2754C 802B603C C444000C */ lwc1 $f4, 0xc($v0)
/* E27550 802B6040 3C01802B */ lui $at, %hi(D_802B6784)
/* E27554 802B6044 E4206784 */ swc1 $f0, %lo(D_802B6784)($at)
/* E27558 802B6048 3C01802B */ lui $at, %hi(D_802B678C)
/* E2755C 802B604C E422678C */ swc1 $f2, %lo(D_802B678C)($at)
/* E27560 802B6050 3C01802B */ lui $at, %hi(D_802B6788)
/* E27564 802B6054 E4246788 */ swc1 $f4, %lo(D_802B6788)($at)
/* E27568 802B6058 03E00008 */ jr $ra
/* E2756C 802B605C 00000000 */ nop

View File

@ -0,0 +1,461 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6060_E27570
/* E27570 802B6060 27BDFF90 */ addiu $sp, $sp, -0x70
/* E27574 802B6064 AFB00058 */ sw $s0, 0x58($sp)
/* E27578 802B6068 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* E2757C 802B606C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* E27580 802B6070 AFBF0064 */ sw $ra, 0x64($sp)
/* E27584 802B6074 AFB20060 */ sw $s2, 0x60($sp)
/* E27588 802B6078 AFB1005C */ sw $s1, 0x5c($sp)
/* E2758C 802B607C F7B40068 */ sdc1 $f20, 0x68($sp)
/* E27590 802B6080 8E040000 */ lw $a0, ($s0)
/* E27594 802B6084 04830021 */ bgezl $a0, .L802B610C
/* E27598 802B6088 0200202D */ daddu $a0, $s0, $zero
/* E2759C 802B608C 3C027FFF */ lui $v0, 0x7fff
/* E275A0 802B6090 3442FFFF */ ori $v0, $v0, 0xffff
/* E275A4 802B6094 8E030004 */ lw $v1, 4($s0)
/* E275A8 802B6098 00821024 */ and $v0, $a0, $v0
/* E275AC 802B609C AE020000 */ sw $v0, ($s0)
/* E275B0 802B60A0 A20000B6 */ sb $zero, 0xb6($s0)
/* E275B4 802B60A4 AE000054 */ sw $zero, 0x54($s0)
/* E275B8 802B60A8 34630004 */ ori $v1, $v1, 4
/* E275BC 802B60AC 0C0AD800 */ jal func_802B6000_E27510
/* E275C0 802B60B0 AE030004 */ sw $v1, 4($s0)
/* E275C4 802B60B4 3C040001 */ lui $a0, 1
/* E275C8 802B60B8 3C01802B */ lui $at, %hi(D_802B6780)
/* E275CC 802B60BC AC206780 */ sw $zero, %lo(D_802B6780)($at)
/* E275D0 802B60C0 3C01802B */ lui $at, %hi(D_802B6790)
/* E275D4 802B60C4 AC206790 */ sw $zero, %lo(D_802B6790)($at)
/* E275D8 802B60C8 3C01802B */ lui $at, %hi(D_802B6794)
/* E275DC 802B60CC AC206794 */ sw $zero, %lo(D_802B6794)($at)
/* E275E0 802B60D0 3C01802B */ lui $at, %hi(D_802B6798)
/* E275E4 802B60D4 AC206798 */ sw $zero, %lo(D_802B6798)($at)
/* E275E8 802B60D8 3C01802B */ lui $at, %hi(D_802B679C)
/* E275EC 802B60DC AC20679C */ sw $zero, %lo(D_802B679C)($at)
/* E275F0 802B60E0 0C037FBF */ jal func_800DFEFC
/* E275F4 802B60E4 3484000A */ ori $a0, $a0, 0xa
/* E275F8 802B60E8 24040167 */ addiu $a0, $zero, 0x167
/* E275FC 802B60EC 0C052736 */ jal play_sound_at_player
/* E27600 802B60F0 0000282D */ daddu $a1, $zero, $zero
/* E27604 802B60F4 3C03800B */ lui $v1, %hi(gCameras)
/* E27608 802B60F8 24631D80 */ addiu $v1, $v1, %lo(gCameras)
/* E2760C 802B60FC 94620002 */ lhu $v0, 2($v1)
/* E27610 802B6100 34420001 */ ori $v0, $v0, 1
/* E27614 802B6104 A4620002 */ sh $v0, 2($v1)
/* E27618 802B6108 0200202D */ daddu $a0, $s0, $zero
.L802B610C:
/* E2761C 802B610C 27A50028 */ addiu $a1, $sp, 0x28
/* E27620 802B6110 27A6002C */ addiu $a2, $sp, 0x2c
/* E27624 802B6114 C6080054 */ lwc1 $f8, 0x54($s0)
/* E27628 802B6118 C6000028 */ lwc1 $f0, 0x28($s0)
/* E2762C 802B611C C602002C */ lwc1 $f2, 0x2c($s0)
/* E27630 802B6120 C6040030 */ lwc1 $f4, 0x30($s0)
/* E27634 802B6124 C60600A0 */ lwc1 $f6, 0xa0($s0)
/* E27638 802B6128 27A70030 */ addiu $a3, $sp, 0x30
/* E2763C 802B612C E7A00028 */ swc1 $f0, 0x28($sp)
/* E27640 802B6130 E7A2002C */ swc1 $f2, 0x2c($sp)
/* E27644 802B6134 E7A40030 */ swc1 $f4, 0x30($sp)
/* E27648 802B6138 E7A80010 */ swc1 $f8, 0x10($sp)
/* E2764C 802B613C 0C037D18 */ jal test_player_lateral
/* E27650 802B6140 E7A60014 */ swc1 $f6, 0x14($sp)
/* E27654 802B6144 C7A00028 */ lwc1 $f0, 0x28($sp)
/* E27658 802B6148 C7A20030 */ lwc1 $f2, 0x30($sp)
/* E2765C 802B614C C7A4002C */ lwc1 $f4, 0x2c($sp)
/* E27660 802B6150 820300B6 */ lb $v1, 0xb6($s0)
/* E27664 802B6154 AFA20048 */ sw $v0, 0x48($sp)
/* E27668 802B6158 2C620008 */ sltiu $v0, $v1, 8
/* E2766C 802B615C E6000028 */ swc1 $f0, 0x28($s0)
/* E27670 802B6160 E6020030 */ swc1 $f2, 0x30($s0)
/* E27674 802B6164 1040016D */ beqz $v0, .L802B671C
/* E27678 802B6168 E604002C */ swc1 $f4, 0x2c($s0)
/* E2767C 802B616C 00031080 */ sll $v0, $v1, 2
/* E27680 802B6170 3C01802B */ lui $at, %hi(D_802B6740)
/* E27684 802B6174 00220821 */ addu $at, $at, $v0
/* E27688 802B6178 8C226740 */ lw $v0, %lo(D_802B6740)($at)
/* E2768C 802B617C 00400008 */ jr $v0
/* E27690 802B6180 00000000 */ nop
/* E27694 802B6184 3C02802B */ lui $v0, %hi(D_802B6780)
/* E27698 802B6188 24426780 */ addiu $v0, $v0, %lo(D_802B6780)
/* E2769C 802B618C C4400000 */ lwc1 $f0, ($v0)
/* E276A0 802B6190 3C01802B */ lui $at, %hi(D_802B6760)
/* E276A4 802B6194 D4226760 */ ldc1 $f2, %lo(D_802B6760)($at)
/* E276A8 802B6198 46000021 */ cvt.d.s $f0, $f0
/* E276AC 802B619C 46220000 */ add.d $f0, $f0, $f2
/* E276B0 802B61A0 3C01802B */ lui $at, %hi(D_802B6784)
/* E276B4 802B61A4 C4226784 */ lwc1 $f2, %lo(D_802B6784)($at)
/* E276B8 802B61A8 46200020 */ cvt.s.d $f0, $f0
/* E276BC 802B61AC 4600103E */ c.le.s $f2, $f0
/* E276C0 802B61B0 00000000 */ nop
/* E276C4 802B61B4 45000002 */ bc1f .L802B61C0
/* E276C8 802B61B8 E4400000 */ swc1 $f0, ($v0)
/* E276CC 802B61BC E4420000 */ swc1 $f2, ($v0)
.L802B61C0:
/* E276D0 802B61C0 C6000054 */ lwc1 $f0, 0x54($s0)
/* E276D4 802B61C4 C4420000 */ lwc1 $f2, ($v0)
/* E276D8 802B61C8 46020000 */ add.s $f0, $f0, $f2
/* E276DC 802B61CC 3C01802B */ lui $at, %hi(D_802B6788)
/* E276E0 802B61D0 C4226788 */ lwc1 $f2, %lo(D_802B6788)($at)
/* E276E4 802B61D4 4600103E */ c.le.s $f2, $f0
/* E276E8 802B61D8 00000000 */ nop
/* E276EC 802B61DC 45000002 */ bc1f .L802B61E8
/* E276F0 802B61E0 E6000054 */ swc1 $f0, 0x54($s0)
/* E276F4 802B61E4 E6020054 */ swc1 $f2, 0x54($s0)
.L802B61E8:
/* E276F8 802B61E8 0200202D */ daddu $a0, $s0, $zero
/* E276FC 802B61EC 27A50028 */ addiu $a1, $sp, 0x28
/* E27700 802B61F0 27A6002C */ addiu $a2, $sp, 0x2c
/* E27704 802B61F4 27A70030 */ addiu $a3, $sp, 0x30
/* E27708 802B61F8 3C11802B */ lui $s1, %hi(D_802B6798)
/* E2770C 802B61FC 26316798 */ addiu $s1, $s1, %lo(D_802B6798)
/* E27710 802B6200 C6000028 */ lwc1 $f0, 0x28($s0)
/* E27714 802B6204 860200B0 */ lh $v0, 0xb0($s0)
/* E27718 802B6208 3C0142C8 */ lui $at, 0x42c8
/* E2771C 802B620C 44813000 */ mtc1 $at, $f6
/* E27720 802B6210 44821000 */ mtc1 $v0, $f2
/* E27724 802B6214 00000000 */ nop
/* E27728 802B6218 468010A0 */ cvt.s.w $f2, $f2
/* E2772C 802B621C E7A00028 */ swc1 $f0, 0x28($sp)
/* E27730 802B6220 3C013F00 */ lui $at, 0x3f00
/* E27734 802B6224 44810000 */ mtc1 $at, $f0
/* E27738 802B6228 C6040030 */ lwc1 $f4, 0x30($s0)
/* E2773C 802B622C 46001082 */ mul.s $f2, $f2, $f0
/* E27740 802B6230 00000000 */ nop
/* E27744 802B6234 E7A60034 */ swc1 $f6, 0x34($sp)
/* E27748 802B6238 E7A40030 */ swc1 $f4, 0x30($sp)
/* E2774C 802B623C C600002C */ lwc1 $f0, 0x2c($s0)
/* E27750 802B6240 3C12802B */ lui $s2, %hi(D_802B6794)
/* E27754 802B6244 26526794 */ addiu $s2, $s2, %lo(D_802B6794)
/* E27758 802B6248 46020000 */ add.s $f0, $f0, $f2
/* E2775C 802B624C C6220000 */ lwc1 $f2, ($s1)
/* E27760 802B6250 27A20034 */ addiu $v0, $sp, 0x34
/* E27764 802B6254 E6420000 */ swc1 $f2, ($s2)
/* E27768 802B6258 E7A0002C */ swc1 $f0, 0x2c($sp)
/* E2776C 802B625C AFA20010 */ sw $v0, 0x10($sp)
/* E27770 802B6260 27A20038 */ addiu $v0, $sp, 0x38
/* E27774 802B6264 AFA20014 */ sw $v0, 0x14($sp)
/* E27778 802B6268 27A2003C */ addiu $v0, $sp, 0x3c
/* E2777C 802B626C AFA20018 */ sw $v0, 0x18($sp)
/* E27780 802B6270 27A20040 */ addiu $v0, $sp, 0x40
/* E27784 802B6274 AFA2001C */ sw $v0, 0x1c($sp)
/* E27788 802B6278 27A20044 */ addiu $v0, $sp, 0x44
/* E2778C 802B627C 0C03791B */ jal func_800DE46C
/* E27790 802B6280 AFA20020 */ sw $v0, 0x20($sp)
/* E27794 802B6284 C7A0003C */ lwc1 $f0, 0x3c($sp)
/* E27798 802B6288 AFA20048 */ sw $v0, 0x48($sp)
/* E2779C 802B628C 04400023 */ bltz $v0, .L802B631C
/* E277A0 802B6290 E6200000 */ swc1 $f0, ($s1)
/* E277A4 802B6294 0C016F6A */ jal get_collider_type_by_id
/* E277A8 802B6298 0040202D */ daddu $a0, $v0, $zero
/* E277AC 802B629C 304200FF */ andi $v0, $v0, 0xff
/* E277B0 802B62A0 24030005 */ addiu $v1, $zero, 5
/* E277B4 802B62A4 1443000F */ bne $v0, $v1, .L802B62E4
/* E277B8 802B62A8 00000000 */ nop
/* E277BC 802B62AC 3C028016 */ lui $v0, %hi(gCollisionStatus)
/* E277C0 802B62B0 2442A550 */ addiu $v0, $v0, %lo(gCollisionStatus)
/* E277C4 802B62B4 97A3004A */ lhu $v1, 0x4a($sp)
/* E277C8 802B62B8 C7A0003C */ lwc1 $f0, 0x3c($sp)
/* E277CC 802B62BC 3C014334 */ lui $at, 0x4334
/* E277D0 802B62C0 44811000 */ mtc1 $at, $f2
/* E277D4 802B62C4 C7A4002C */ lwc1 $f4, 0x2c($sp)
/* E277D8 802B62C8 46020000 */ add.s $f0, $f0, $f2
/* E277DC 802B62CC A4430002 */ sh $v1, 2($v0)
/* E277E0 802B62D0 E604002C */ swc1 $f4, 0x2c($s0)
/* E277E4 802B62D4 3C01802B */ lui $at, %hi(D_802B6790)
/* E277E8 802B62D8 E4206790 */ swc1 $f0, %lo(D_802B6790)($at)
/* E277EC 802B62DC 080AD9C7 */ j .L802B671C
/* E277F0 802B62E0 00000000 */ nop
.L802B62E4:
/* E277F4 802B62E4 C6400000 */ lwc1 $f0, ($s2)
/* E277F8 802B62E8 C6220000 */ lwc1 $f2, ($s1)
/* E277FC 802B62EC 46020001 */ sub.s $f0, $f0, $f2
/* E27800 802B62F0 3C014049 */ lui $at, 0x4049
/* E27804 802B62F4 44811800 */ mtc1 $at, $f3
/* E27808 802B62F8 44801000 */ mtc1 $zero, $f2
/* E2780C 802B62FC 46000021 */ cvt.d.s $f0, $f0
/* E27810 802B6300 46200005 */ abs.d $f0, $f0
/* E27814 802B6304 4620103E */ c.le.d $f2, $f0
/* E27818 802B6308 00000000 */ nop
/* E2781C 802B630C 45010004 */ bc1t .L802B6320
/* E27820 802B6310 24020002 */ addiu $v0, $zero, 2
/* E27824 802B6314 080AD8C8 */ j .L802B6320
/* E27828 802B6318 24020001 */ addiu $v0, $zero, 1
.L802B631C:
/* E2782C 802B631C 24020002 */ addiu $v0, $zero, 2
.L802B6320:
/* E27830 802B6320 A20200B6 */ sb $v0, 0xb6($s0)
/* E27834 802B6324 3C01802B */ lui $at, %hi(D_802B6790)
/* E27838 802B6328 C42C6790 */ lwc1 $f12, %lo(D_802B6790)($at)
/* E2783C 802B632C 3C0140C9 */ lui $at, 0x40c9
/* E27840 802B6330 34210FD0 */ ori $at, $at, 0xfd0
/* E27844 802B6334 44810000 */ mtc1 $at, $f0
/* E27848 802B6338 00000000 */ nop
/* E2784C 802B633C 46006302 */ mul.s $f12, $f12, $f0
/* E27850 802B6340 00000000 */ nop
/* E27854 802B6344 27A5004C */ addiu $a1, $sp, 0x4c
/* E27858 802B6348 3C0143B4 */ lui $at, 0x43b4
/* E2785C 802B634C 44810000 */ mtc1 $at, $f0
/* E27860 802B6350 27A60050 */ addiu $a2, $sp, 0x50
/* E27864 802B6354 0C00A82D */ jal sin_cos_rad
/* E27868 802B6358 46006303 */ div.s $f12, $f12, $f0
/* E2786C 802B635C C7A0004C */ lwc1 $f0, 0x4c($sp)
/* E27870 802B6360 C7A20050 */ lwc1 $f2, 0x50($sp)
/* E27874 802B6364 C6040054 */ lwc1 $f4, 0x54($s0)
/* E27878 802B6368 46020003 */ div.s $f0, $f0, $f2
/* E2787C 802B636C 46040002 */ mul.s $f0, $f0, $f4
/* E27880 802B6370 00000000 */ nop
/* E27884 802B6374 C602002C */ lwc1 $f2, 0x2c($s0)
/* E27888 802B6378 46000005 */ abs.s $f0, $f0
/* E2788C 802B637C 46001080 */ add.s $f2, $f2, $f0
/* E27890 802B6380 24040167 */ addiu $a0, $zero, 0x167
/* E27894 802B6384 0C0154F0 */ jal func_800553C0
/* E27898 802B6388 E602002C */ swc1 $f2, 0x2c($s0)
/* E2789C 802B638C 080AD9C7 */ j .L802B671C
/* E278A0 802B6390 00000000 */ nop
/* E278A4 802B6394 0200202D */ daddu $a0, $s0, $zero
/* E278A8 802B6398 27A50028 */ addiu $a1, $sp, 0x28
/* E278AC 802B639C 27A6002C */ addiu $a2, $sp, 0x2c
/* E278B0 802B63A0 27A70030 */ addiu $a3, $sp, 0x30
/* E278B4 802B63A4 860200B0 */ lh $v0, 0xb0($s0)
/* E278B8 802B63A8 3C013F00 */ lui $at, 0x3f00
/* E278BC 802B63AC 44810000 */ mtc1 $at, $f0
/* E278C0 802B63B0 C6040028 */ lwc1 $f4, 0x28($s0)
/* E278C4 802B63B4 3C014248 */ lui $at, 0x4248
/* E278C8 802B63B8 44813000 */ mtc1 $at, $f6
/* E278CC 802B63BC 44821000 */ mtc1 $v0, $f2
/* E278D0 802B63C0 00000000 */ nop
/* E278D4 802B63C4 468010A0 */ cvt.s.w $f2, $f2
/* E278D8 802B63C8 46001082 */ mul.s $f2, $f2, $f0
/* E278DC 802B63CC 00000000 */ nop
/* E278E0 802B63D0 27A20034 */ addiu $v0, $sp, 0x34
/* E278E4 802B63D4 E7A40028 */ swc1 $f4, 0x28($sp)
/* E278E8 802B63D8 C600002C */ lwc1 $f0, 0x2c($s0)
/* E278EC 802B63DC C6040030 */ lwc1 $f4, 0x30($s0)
/* E278F0 802B63E0 46020000 */ add.s $f0, $f0, $f2
/* E278F4 802B63E4 E7A60034 */ swc1 $f6, 0x34($sp)
/* E278F8 802B63E8 E7A40030 */ swc1 $f4, 0x30($sp)
/* E278FC 802B63EC E7A0002C */ swc1 $f0, 0x2c($sp)
/* E27900 802B63F0 AFA20010 */ sw $v0, 0x10($sp)
/* E27904 802B63F4 27A20038 */ addiu $v0, $sp, 0x38
/* E27908 802B63F8 AFA20014 */ sw $v0, 0x14($sp)
/* E2790C 802B63FC 27A2003C */ addiu $v0, $sp, 0x3c
/* E27910 802B6400 AFA20018 */ sw $v0, 0x18($sp)
/* E27914 802B6404 27A20040 */ addiu $v0, $sp, 0x40
/* E27918 802B6408 AFA2001C */ sw $v0, 0x1c($sp)
/* E2791C 802B640C 27A20044 */ addiu $v0, $sp, 0x44
/* E27920 802B6410 0C03791B */ jal func_800DE46C
/* E27924 802B6414 AFA20020 */ sw $v0, 0x20($sp)
/* E27928 802B6418 04400023 */ bltz $v0, .L802B64A8
/* E2792C 802B641C AFA20048 */ sw $v0, 0x48($sp)
/* E27930 802B6420 C6020054 */ lwc1 $f2, 0x54($s0)
/* E27934 802B6424 3C014040 */ lui $at, 0x4040
/* E27938 802B6428 44810000 */ mtc1 $at, $f0
/* E2793C 802B642C 00000000 */ nop
/* E27940 802B6430 46001203 */ div.s $f8, $f2, $f0
/* E27944 802B6434 3C01802B */ lui $at, %hi(D_802B6768)
/* E27948 802B6438 D4226768 */ ldc1 $f2, %lo(D_802B6768)($at)
/* E2794C 802B643C 46004021 */ cvt.d.s $f0, $f8
/* E27950 802B6440 4622003C */ c.lt.d $f0, $f2
/* E27954 802B6444 00000000 */ nop
/* E27958 802B6448 45030001 */ bc1tl .L802B6450
/* E2795C 802B644C AE000054 */ sw $zero, 0x54($s0)
.L802B6450:
/* E27960 802B6450 C6000054 */ lwc1 $f0, 0x54($s0)
/* E27964 802B6454 46080001 */ sub.s $f0, $f0, $f8
/* E27968 802B6458 4480A000 */ mtc1 $zero, $f20
/* E2796C 802B645C 00000000 */ nop
/* E27970 802B6460 4614003E */ c.le.s $f0, $f20
/* E27974 802B6464 00000000 */ nop
/* E27978 802B6468 450000AC */ bc1f .L802B671C
/* E2797C 802B646C E6000054 */ swc1 $f0, 0x54($s0)
/* E27980 802B6470 24040172 */ addiu $a0, $zero, 0x172
/* E27984 802B6474 0C052736 */ jal play_sound_at_player
/* E27988 802B6478 0000282D */ daddu $a1, $zero, $zero
/* E2798C 802B647C 3C040001 */ lui $a0, 1
/* E27990 802B6480 0C037FDE */ jal func_800DFF78
/* E27994 802B6484 34840031 */ ori $a0, $a0, 0x31
/* E27998 802B6488 24020006 */ addiu $v0, $zero, 6
/* E2799C 802B648C A20200B6 */ sb $v0, 0xb6($s0)
/* E279A0 802B6490 C7A0002C */ lwc1 $f0, 0x2c($sp)
/* E279A4 802B6494 2402000F */ addiu $v0, $zero, 0xf
/* E279A8 802B6498 A6020008 */ sh $v0, 8($s0)
/* E279AC 802B649C E6140054 */ swc1 $f20, 0x54($s0)
/* E279B0 802B64A0 080AD9C7 */ j .L802B671C
/* E279B4 802B64A4 E600002C */ swc1 $f0, 0x2c($s0)
.L802B64A8:
/* E279B8 802B64A8 C6000054 */ lwc1 $f0, 0x54($s0)
/* E279BC 802B64AC 3C01802B */ lui $at, %hi(D_802B678C)
/* E279C0 802B64B0 C422678C */ lwc1 $f2, %lo(D_802B678C)($at)
/* E279C4 802B64B4 46020000 */ add.s $f0, $f0, $f2
/* E279C8 802B64B8 44802000 */ mtc1 $zero, $f4
/* E279CC 802B64BC 00000000 */ nop
/* E279D0 802B64C0 4604003E */ c.le.s $f0, $f4
/* E279D4 802B64C4 00000000 */ nop
/* E279D8 802B64C8 45000002 */ bc1f .L802B64D4
/* E279DC 802B64CC E6000054 */ swc1 $f0, 0x54($s0)
/* E279E0 802B64D0 E6040054 */ swc1 $f4, 0x54($s0)
.L802B64D4:
/* E279E4 802B64D4 C6000070 */ lwc1 $f0, 0x70($s0)
/* E279E8 802B64D8 C6020074 */ lwc1 $f2, 0x74($s0)
/* E279EC 802B64DC 46020000 */ add.s $f0, $f0, $f2
/* E279F0 802B64E0 C602002C */ lwc1 $f2, 0x2c($s0)
/* E279F4 802B64E4 46001080 */ add.s $f2, $f2, $f0
/* E279F8 802B64E8 4604003E */ c.le.s $f0, $f4
/* E279FC 802B64EC E6000070 */ swc1 $f0, 0x70($s0)
/* E27A00 802B64F0 4500008A */ bc1f .L802B671C
/* E27A04 802B64F4 E602002C */ swc1 $f2, 0x2c($s0)
/* E27A08 802B64F8 3C013DEA */ lui $at, 0x3dea
/* E27A0C 802B64FC 3421161E */ ori $at, $at, 0x161e
/* E27A10 802B6500 44810000 */ mtc1 $at, $f0
/* E27A14 802B6504 3C01BE92 */ lui $at, 0xbe92
/* E27A18 802B6508 3421FEC5 */ ori $at, $at, 0xfec5
/* E27A1C 802B650C 44811000 */ mtc1 $at, $f2
/* E27A20 802B6510 3C01BE3A */ lui $at, 0xbe3a
/* E27A24 802B6514 3421ACDA */ ori $at, $at, 0xacda
/* E27A28 802B6518 44812000 */ mtc1 $at, $f4
/* E27A2C 802B651C 3C013C3C */ lui $at, 0x3c3c
/* E27A30 802B6520 3421BE62 */ ori $at, $at, 0xbe62
/* E27A34 802B6524 44813000 */ mtc1 $at, $f6
/* E27A38 802B6528 24020003 */ addiu $v0, $zero, 3
/* E27A3C 802B652C A20200B6 */ sb $v0, 0xb6($s0)
/* E27A40 802B6530 E6000070 */ swc1 $f0, 0x70($s0)
/* E27A44 802B6534 E6020074 */ swc1 $f2, 0x74($s0)
/* E27A48 802B6538 E6040078 */ swc1 $f4, 0x78($s0)
/* E27A4C 802B653C 080AD9C7 */ j .L802B671C
/* E27A50 802B6540 E606007C */ swc1 $f6, 0x7c($s0)
/* E27A54 802B6544 3C11802B */ lui $s1, %hi(D_802B678C)
/* E27A58 802B6548 2631678C */ addiu $s1, $s1, %lo(D_802B678C)
/* E27A5C 802B654C C6000054 */ lwc1 $f0, 0x54($s0)
/* E27A60 802B6550 C6220000 */ lwc1 $f2, ($s1)
/* E27A64 802B6554 46020000 */ add.s $f0, $f0, $f2
/* E27A68 802B6558 44801000 */ mtc1 $zero, $f2
/* E27A6C 802B655C 00000000 */ nop
/* E27A70 802B6560 4602003E */ c.le.s $f0, $f2
/* E27A74 802B6564 00000000 */ nop
/* E27A78 802B6568 45000002 */ bc1f .L802B6574
/* E27A7C 802B656C E6000054 */ swc1 $f0, 0x54($s0)
/* E27A80 802B6570 E6020054 */ swc1 $f2, 0x54($s0)
.L802B6574:
/* E27A84 802B6574 0C038D36 */ jal func_800E34D8
/* E27A88 802B6578 00000000 */ nop
/* E27A8C 802B657C 46000306 */ mov.s $f12, $f0
/* E27A90 802B6580 0C038D45 */ jal func_800E3514
/* E27A94 802B6584 27A50048 */ addiu $a1, $sp, 0x48
/* E27A98 802B6588 8FA20048 */ lw $v0, 0x48($sp)
/* E27A9C 802B658C 04400063 */ bltz $v0, .L802B671C
/* E27AA0 802B6590 E600002C */ swc1 $f0, 0x2c($s0)
/* E27AA4 802B6594 3C040008 */ lui $a0, 8
/* E27AA8 802B6598 3C01BF80 */ lui $at, 0xbf80
/* E27AAC 802B659C 44810000 */ mtc1 $at, $f0
/* E27AB0 802B65A0 34840003 */ ori $a0, $a0, 3
/* E27AB4 802B65A4 0C037FDE */ jal func_800DFF78
/* E27AB8 802B65A8 E6200000 */ swc1 $f0, ($s1)
/* E27ABC 802B65AC 24040162 */ addiu $a0, $zero, 0x162
/* E27AC0 802B65B0 0C052736 */ jal play_sound_at_player
/* E27AC4 802B65B4 0000282D */ daddu $a1, $zero, $zero
/* E27AC8 802B65B8 080AD9AC */ j .L802B66B0
/* E27ACC 802B65BC 00000000 */ nop
/* E27AD0 802B65C0 C6000054 */ lwc1 $f0, 0x54($s0)
/* E27AD4 802B65C4 3C01802B */ lui $at, %hi(D_802B678C)
/* E27AD8 802B65C8 C422678C */ lwc1 $f2, %lo(D_802B678C)($at)
/* E27ADC 802B65CC 46020000 */ add.s $f0, $f0, $f2
/* E27AE0 802B65D0 44801000 */ mtc1 $zero, $f2
/* E27AE4 802B65D4 00000000 */ nop
/* E27AE8 802B65D8 4602003E */ c.le.s $f0, $f2
/* E27AEC 802B65DC 00000000 */ nop
/* E27AF0 802B65E0 45000002 */ bc1f .L802B65EC
/* E27AF4 802B65E4 E6000054 */ swc1 $f0, 0x54($s0)
/* E27AF8 802B65E8 E6020054 */ swc1 $f2, 0x54($s0)
.L802B65EC:
/* E27AFC 802B65EC 960200BC */ lhu $v0, 0xbc($s0)
/* E27B00 802B65F0 1040004A */ beqz $v0, .L802B671C
/* E27B04 802B65F4 00000000 */ nop
/* E27B08 802B65F8 3C040001 */ lui $a0, 1
/* E27B0C 802B65FC 0C037FDE */ jal func_800DFF78
/* E27B10 802B6600 34840030 */ ori $a0, $a0, 0x30
/* E27B14 802B6604 080AD9AC */ j .L802B66B0
/* E27B18 802B6608 00000000 */ nop
/* E27B1C 802B660C C6000054 */ lwc1 $f0, 0x54($s0)
/* E27B20 802B6610 3C01802B */ lui $at, %hi(D_802B678C)
/* E27B24 802B6614 C422678C */ lwc1 $f2, %lo(D_802B678C)($at)
/* E27B28 802B6618 46020000 */ add.s $f0, $f0, $f2
/* E27B2C 802B661C 44801000 */ mtc1 $zero, $f2
/* E27B30 802B6620 00000000 */ nop
/* E27B34 802B6624 4602003E */ c.le.s $f0, $f2
/* E27B38 802B6628 00000000 */ nop
/* E27B3C 802B662C 45000002 */ bc1f .L802B6638
/* E27B40 802B6630 E6000054 */ swc1 $f0, 0x54($s0)
/* E27B44 802B6634 E6020054 */ swc1 $f2, 0x54($s0)
.L802B6638:
/* E27B48 802B6638 960200BC */ lhu $v0, 0xbc($s0)
/* E27B4C 802B663C 10400037 */ beqz $v0, .L802B671C
/* E27B50 802B6640 00000000 */ nop
/* E27B54 802B6644 3C040001 */ lui $a0, 1
/* E27B58 802B6648 0C037FDE */ jal func_800DFF78
/* E27B5C 802B664C 34840031 */ ori $a0, $a0, 0x31
/* E27B60 802B6650 24040172 */ addiu $a0, $zero, 0x172
/* E27B64 802B6654 0C052736 */ jal play_sound_at_player
/* E27B68 802B6658 0000282D */ daddu $a1, $zero, $zero
/* E27B6C 802B665C 920200B6 */ lbu $v0, 0xb6($s0)
/* E27B70 802B6660 2403000F */ addiu $v1, $zero, 0xf
/* E27B74 802B6664 080AD9AD */ j .L802B66B4
/* E27B78 802B6668 A6030008 */ sh $v1, 8($s0)
/* E27B7C 802B666C C6000054 */ lwc1 $f0, 0x54($s0)
/* E27B80 802B6670 3C01802B */ lui $at, %hi(D_802B678C)
/* E27B84 802B6674 C422678C */ lwc1 $f2, %lo(D_802B678C)($at)
/* E27B88 802B6678 46020000 */ add.s $f0, $f0, $f2
/* E27B8C 802B667C 44801000 */ mtc1 $zero, $f2
/* E27B90 802B6680 00000000 */ nop
/* E27B94 802B6684 4602003E */ c.le.s $f0, $f2
/* E27B98 802B6688 00000000 */ nop
/* E27B9C 802B668C 45000002 */ bc1f .L802B6698
/* E27BA0 802B6690 E6000054 */ swc1 $f0, 0x54($s0)
/* E27BA4 802B6694 E6020054 */ swc1 $f2, 0x54($s0)
.L802B6698:
/* E27BA8 802B6698 96020008 */ lhu $v0, 8($s0)
/* E27BAC 802B669C 2442FFFF */ addiu $v0, $v0, -1
/* E27BB0 802B66A0 A6020008 */ sh $v0, 8($s0)
/* E27BB4 802B66A4 00021400 */ sll $v0, $v0, 0x10
/* E27BB8 802B66A8 1440001C */ bnez $v0, .L802B671C
/* E27BBC 802B66AC 00000000 */ nop
.L802B66B0:
/* E27BC0 802B66B0 920200B6 */ lbu $v0, 0xb6($s0)
.L802B66B4:
/* E27BC4 802B66B4 24420001 */ addiu $v0, $v0, 1
/* E27BC8 802B66B8 080AD9C7 */ j .L802B671C
/* E27BCC 802B66BC A20200B6 */ sb $v0, 0xb6($s0)
/* E27BD0 802B66C0 C6020054 */ lwc1 $f2, 0x54($s0)
/* E27BD4 802B66C4 3C014040 */ lui $at, 0x4040
/* E27BD8 802B66C8 44810000 */ mtc1 $at, $f0
/* E27BDC 802B66CC 00000000 */ nop
/* E27BE0 802B66D0 46001203 */ div.s $f8, $f2, $f0
/* E27BE4 802B66D4 3C01802B */ lui $at, %hi(D_802B6770)
/* E27BE8 802B66D8 D4226770 */ ldc1 $f2, %lo(D_802B6770)($at)
/* E27BEC 802B66DC 46004021 */ cvt.d.s $f0, $f8
/* E27BF0 802B66E0 4622003C */ c.lt.d $f0, $f2
/* E27BF4 802B66E4 00000000 */ nop
/* E27BF8 802B66E8 45030001 */ bc1tl .L802B66F0
/* E27BFC 802B66EC AE000054 */ sw $zero, 0x54($s0)
.L802B66F0:
/* E27C00 802B66F0 C6000054 */ lwc1 $f0, 0x54($s0)
/* E27C04 802B66F4 46080001 */ sub.s $f0, $f0, $f8
/* E27C08 802B66F8 44801000 */ mtc1 $zero, $f2
/* E27C0C 802B66FC 00000000 */ nop
/* E27C10 802B6700 4602003E */ c.le.s $f0, $f2
/* E27C14 802B6704 00000000 */ nop
/* E27C18 802B6708 45000004 */ bc1f .L802B671C
/* E27C1C 802B670C E6000054 */ swc1 $f0, 0x54($s0)
/* E27C20 802B6710 E6020054 */ swc1 $f2, 0x54($s0)
/* E27C24 802B6714 0C039769 */ jal set_action_state
/* E27C28 802B6718 0000202D */ daddu $a0, $zero, $zero
.L802B671C:
/* E27C2C 802B671C 8FBF0064 */ lw $ra, 0x64($sp)
/* E27C30 802B6720 8FB20060 */ lw $s2, 0x60($sp)
/* E27C34 802B6724 8FB1005C */ lw $s1, 0x5c($sp)
/* E27C38 802B6728 8FB00058 */ lw $s0, 0x58($sp)
/* E27C3C 802B672C D7B40068 */ ldc1 $f20, 0x68($sp)
/* E27C40 802B6730 03E00008 */ jr $ra
/* E27C44 802B6734 27BD0070 */ addiu $sp, $sp, 0x70
/* E27C48 802B6738 00000000 */ nop
/* E27C4C 802B673C 00000000 */ nop

View File

@ -0,0 +1,180 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6000_E27C90
/* E27C90 802B6000 27BDFFD0 */ addiu $sp, $sp, -0x30
/* E27C94 802B6004 AFB00020 */ sw $s0, 0x20($sp)
/* E27C98 802B6008 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* E27C9C 802B600C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* E27CA0 802B6010 AFBF0028 */ sw $ra, 0x28($sp)
/* E27CA4 802B6014 AFB10024 */ sw $s1, 0x24($sp)
/* E27CA8 802B6018 8E020000 */ lw $v0, ($s0)
/* E27CAC 802B601C 04410048 */ bgez $v0, .L802B6140
/* E27CB0 802B6020 0200882D */ daddu $s1, $s0, $zero
/* E27CB4 802B6024 3C037FFF */ lui $v1, 0x7fff
/* E27CB8 802B6028 3463FFFF */ ori $v1, $v1, 0xffff
/* E27CBC 802B602C 3C040001 */ lui $a0, 1
/* E27CC0 802B6030 00431824 */ and $v1, $v0, $v1
/* E27CC4 802B6034 8E020004 */ lw $v0, 4($s0)
/* E27CC8 802B6038 34840019 */ ori $a0, $a0, 0x19
/* E27CCC 802B603C AE030000 */ sw $v1, ($s0)
/* E27CD0 802B6040 34630808 */ ori $v1, $v1, 0x808
/* E27CD4 802B6044 AE030000 */ sw $v1, ($s0)
/* E27CD8 802B6048 34420004 */ ori $v0, $v0, 4
/* E27CDC 802B604C 0C037FDE */ jal func_800DFF78
/* E27CE0 802B6050 AE020004 */ sw $v0, 4($s0)
/* E27CE4 802B6054 C60C0028 */ lwc1 $f12, 0x28($s0)
/* E27CE8 802B6058 C60E0030 */ lwc1 $f14, 0x30($s0)
/* E27CEC 802B605C 3C014192 */ lui $at, 0x4192
/* E27CF0 802B6060 3421C745 */ ori $at, $at, 0xc745
/* E27CF4 802B6064 44811000 */ mtc1 $at, $f2
/* E27CF8 802B6068 3C01C06F */ lui $at, 0xc06f
/* E27CFC 802B606C 34213B64 */ ori $at, $at, 0x3b64
/* E27D00 802B6070 44812000 */ mtc1 $at, $f4
/* E27D04 802B6074 3C013F4E */ lui $at, 0x3f4e
/* E27D08 802B6078 34214F76 */ ori $at, $at, 0x4f76
/* E27D0C 802B607C 44813000 */ mtc1 $at, $f6
/* E27D10 802B6080 86020016 */ lh $v0, 0x16($s0)
/* E27D14 802B6084 3C01BDCA */ lui $at, 0xbdca
/* E27D18 802B6088 3421233A */ ori $at, $at, 0x233a
/* E27D1C 802B608C 44810000 */ mtc1 $at, $f0
/* E27D20 802B6090 8604001A */ lh $a0, 0x1a($s0)
/* E27D24 802B6094 3C03800B */ lui $v1, %hi(gCameras)
/* E27D28 802B6098 24631D80 */ addiu $v1, $v1, %lo(gCameras)
/* E27D2C 802B609C A20000B6 */ sb $zero, 0xb6($s0)
/* E27D30 802B60A0 44824000 */ mtc1 $v0, $f8
/* E27D34 802B60A4 00000000 */ nop
/* E27D38 802B60A8 46804220 */ cvt.s.w $f8, $f8
/* E27D3C 802B60AC 44064000 */ mfc1 $a2, $f8
/* E27D40 802B60B0 44844000 */ mtc1 $a0, $f8
/* E27D44 802B60B4 00000000 */ nop
/* E27D48 802B60B8 46804220 */ cvt.s.w $f8, $f8
/* E27D4C 802B60BC E6020070 */ swc1 $f2, 0x70($s0)
/* E27D50 802B60C0 E6040074 */ swc1 $f4, 0x74($s0)
/* E27D54 802B60C4 E6060078 */ swc1 $f6, 0x78($s0)
/* E27D58 802B60C8 E600007C */ swc1 $f0, 0x7c($s0)
/* E27D5C 802B60CC 94620002 */ lhu $v0, 2($v1)
/* E27D60 802B60D0 44074000 */ mfc1 $a3, $f8
/* E27D64 802B60D4 34420001 */ ori $v0, $v0, 1
/* E27D68 802B60D8 0C00A720 */ jal atan2
/* E27D6C 802B60DC A4620002 */ sh $v0, 2($v1)
/* E27D70 802B60E0 86020016 */ lh $v0, 0x16($s0)
/* E27D74 802B60E4 8603001A */ lh $v1, 0x1a($s0)
/* E27D78 802B60E8 3C01802B */ lui $at, %hi(D_802B62B0)
/* E27D7C 802B60EC E42062B0 */ swc1 $f0, %lo(D_802B62B0)($at)
/* E27D80 802B60F0 44826000 */ mtc1 $v0, $f12
/* E27D84 802B60F4 00000000 */ nop
/* E27D88 802B60F8 46806320 */ cvt.s.w $f12, $f12
/* E27D8C 802B60FC 44837000 */ mtc1 $v1, $f14
/* E27D90 802B6100 00000000 */ nop
/* E27D94 802B6104 0C038022 */ jal func_800E0088
/* E27D98 802B6108 468073A0 */ cvt.s.w $f14, $f14
/* E27D9C 802B610C 3C014190 */ lui $at, 0x4190
/* E27DA0 802B6110 44811000 */ mtc1 $at, $f2
/* E27DA4 802B6114 24040001 */ addiu $a0, $zero, 1
/* E27DA8 802B6118 46020003 */ div.s $f0, $f0, $f2
/* E27DAC 802B611C 0C03A8CD */ jal subtract_hp
/* E27DB0 802B6120 E6000054 */ swc1 $f0, 0x54($s0)
/* E27DB4 802B6124 0C03A5D8 */ jal open_status_menu_long
/* E27DB8 802B6128 00000000 */ nop
/* E27DBC 802B612C 3C03800A */ lui $v1, %hi(D_8009A650)
/* E27DC0 802B6130 2463A650 */ addiu $v1, $v1, %lo(D_8009A650)
/* E27DC4 802B6134 8C620000 */ lw $v0, ($v1)
/* E27DC8 802B6138 34420040 */ ori $v0, $v0, 0x40
/* E27DCC 802B613C AC620000 */ sw $v0, ($v1)
.L802B6140:
/* E27DD0 802B6140 3C01802B */ lui $at, %hi(D_802B62B0)
/* E27DD4 802B6144 C42C62B0 */ lwc1 $f12, %lo(D_802B62B0)($at)
/* E27DD8 802B6148 3C0140C9 */ lui $at, 0x40c9
/* E27DDC 802B614C 34210FD0 */ ori $at, $at, 0xfd0
/* E27DE0 802B6150 44810000 */ mtc1 $at, $f0
/* E27DE4 802B6154 00000000 */ nop
/* E27DE8 802B6158 46006302 */ mul.s $f12, $f12, $f0
/* E27DEC 802B615C 00000000 */ nop
/* E27DF0 802B6160 27A50010 */ addiu $a1, $sp, 0x10
/* E27DF4 802B6164 3C0143B4 */ lui $at, 0x43b4
/* E27DF8 802B6168 44810000 */ mtc1 $at, $f0
/* E27DFC 802B616C 27A60014 */ addiu $a2, $sp, 0x14
/* E27E00 802B6170 0C00A82D */ jal sin_cos_rad
/* E27E04 802B6174 46006303 */ div.s $f12, $f12, $f0
/* E27E08 802B6178 3C030004 */ lui $v1, 4
/* E27E0C 802B617C 8E020000 */ lw $v0, ($s0)
/* E27E10 802B6180 C6060054 */ lwc1 $f6, 0x54($s0)
/* E27E14 802B6184 00431024 */ and $v0, $v0, $v1
/* E27E18 802B6188 10400008 */ beqz $v0, .L802B61AC
/* E27E1C 802B618C 00000000 */ nop
/* E27E20 802B6190 3C013FE0 */ lui $at, 0x3fe0
/* E27E24 802B6194 44811800 */ mtc1 $at, $f3
/* E27E28 802B6198 44801000 */ mtc1 $zero, $f2
/* E27E2C 802B619C 46003021 */ cvt.d.s $f0, $f6
/* E27E30 802B61A0 46220002 */ mul.d $f0, $f0, $f2
/* E27E34 802B61A4 00000000 */ nop
/* E27E38 802B61A8 462001A0 */ cvt.s.d $f6, $f0
.L802B61AC:
/* E27E3C 802B61AC C7A00010 */ lwc1 $f0, 0x10($sp)
/* E27E40 802B61B0 46003002 */ mul.s $f0, $f6, $f0
/* E27E44 802B61B4 00000000 */ nop
/* E27E48 802B61B8 C7A40014 */ lwc1 $f4, 0x14($sp)
/* E27E4C 802B61BC 46043102 */ mul.s $f4, $f6, $f4
/* E27E50 802B61C0 00000000 */ nop
/* E27E54 802B61C4 C6020028 */ lwc1 $f2, 0x28($s0)
/* E27E58 802B61C8 46001080 */ add.s $f2, $f2, $f0
/* E27E5C 802B61CC C6000030 */ lwc1 $f0, 0x30($s0)
/* E27E60 802B61D0 820200B6 */ lb $v0, 0xb6($s0)
/* E27E64 802B61D4 46040001 */ sub.s $f0, $f0, $f4
/* E27E68 802B61D8 E6020028 */ swc1 $f2, 0x28($s0)
/* E27E6C 802B61DC 14400012 */ bnez $v0, .L802B6228
/* E27E70 802B61E0 E6000030 */ swc1 $f0, 0x30($s0)
/* E27E74 802B61E4 0C038D12 */ jal integrate_gravity
/* E27E78 802B61E8 00000000 */ nop
/* E27E7C 802B61EC C600002C */ lwc1 $f0, 0x2c($s0)
/* E27E80 802B61F0 C6040070 */ lwc1 $f4, 0x70($s0)
/* E27E84 802B61F4 46040000 */ add.s $f0, $f0, $f4
/* E27E88 802B61F8 44801000 */ mtc1 $zero, $f2
/* E27E8C 802B61FC 00000000 */ nop
/* E27E90 802B6200 4602203C */ c.lt.s $f4, $f2
/* E27E94 802B6204 00000000 */ nop
/* E27E98 802B6208 45000021 */ bc1f .L802B6290
/* E27E9C 802B620C E600002C */ swc1 $f0, 0x2c($s0)
/* E27EA0 802B6210 8E020000 */ lw $v0, ($s0)
/* E27EA4 802B6214 24030001 */ addiu $v1, $zero, 1
/* E27EA8 802B6218 A20300B6 */ sb $v1, 0xb6($s0)
/* E27EAC 802B621C 34420004 */ ori $v0, $v0, 4
/* E27EB0 802B6220 080AD8A4 */ j .L802B6290
/* E27EB4 802B6224 AE020000 */ sw $v0, ($s0)
.L802B6228:
/* E27EB8 802B6228 0C038D36 */ jal func_800E34D8
/* E27EBC 802B622C 00000000 */ nop
/* E27EC0 802B6230 46000306 */ mov.s $f12, $f0
/* E27EC4 802B6234 0C038D45 */ jal func_800E3514
/* E27EC8 802B6238 27A50018 */ addiu $a1, $sp, 0x18
/* E27ECC 802B623C 8FA40018 */ lw $a0, 0x18($sp)
/* E27ED0 802B6240 04800013 */ bltz $a0, .L802B6290
/* E27ED4 802B6244 E620002C */ swc1 $f0, 0x2c($s1)
/* E27ED8 802B6248 0C016F6A */ jal get_collider_type_by_id
/* E27EDC 802B624C 00000000 */ nop
/* E27EE0 802B6250 2404000A */ addiu $a0, $zero, 0xa
/* E27EE4 802B6254 0C039769 */ jal set_action_state
/* E27EE8 802B6258 AFA20018 */ sw $v0, 0x18($sp)
/* E27EEC 802B625C 2402003C */ addiu $v0, $zero, 0x3c
/* E27EF0 802B6260 2403F7FF */ addiu $v1, $zero, -0x801
/* E27EF4 802B6264 A6220010 */ sh $v0, 0x10($s1)
/* E27EF8 802B6268 8E220000 */ lw $v0, ($s1)
/* E27EFC 802B626C 3C04800A */ lui $a0, %hi(D_8009A650)
/* E27F00 802B6270 2484A650 */ addiu $a0, $a0, %lo(D_8009A650)
/* E27F04 802B6274 A22000BF */ sb $zero, 0xbf($s1)
/* E27F08 802B6278 00431024 */ and $v0, $v0, $v1
/* E27F0C 802B627C AE220000 */ sw $v0, ($s1)
/* E27F10 802B6280 8C820000 */ lw $v0, ($a0)
/* E27F14 802B6284 2403FFBF */ addiu $v1, $zero, -0x41
/* E27F18 802B6288 00431024 */ and $v0, $v0, $v1
/* E27F1C 802B628C AC820000 */ sw $v0, ($a0)
.L802B6290:
/* E27F20 802B6290 8FBF0028 */ lw $ra, 0x28($sp)
/* E27F24 802B6294 8FB10024 */ lw $s1, 0x24($sp)
/* E27F28 802B6298 8FB00020 */ lw $s0, 0x20($sp)
/* E27F2C 802B629C 03E00008 */ jr $ra
/* E27F30 802B62A0 27BD0030 */ addiu $sp, $sp, 0x30
/* E27F34 802B62A4 00000000 */ nop
/* E27F38 802B62A8 00000000 */ nop
/* E27F3C 802B62AC 00000000 */ nop

View File

@ -0,0 +1,557 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6000_E27F40
/* E27F40 802B6000 27BDFFB0 */ addiu $sp, $sp, -0x50
/* E27F44 802B6004 AFB00030 */ sw $s0, 0x30($sp)
/* E27F48 802B6008 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* E27F4C 802B600C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* E27F50 802B6010 AFBF003C */ sw $ra, 0x3c($sp)
/* E27F54 802B6014 AFB20038 */ sw $s2, 0x38($sp)
/* E27F58 802B6018 AFB10034 */ sw $s1, 0x34($sp)
/* E27F5C 802B601C F7B60048 */ sdc1 $f22, 0x48($sp)
/* E27F60 802B6020 F7B40040 */ sdc1 $f20, 0x40($sp)
/* E27F64 802B6024 8E040000 */ lw $a0, ($s0)
/* E27F68 802B6028 0481002F */ bgez $a0, .L802B60E8
/* E27F6C 802B602C 3C027FFF */ lui $v0, 0x7fff
/* E27F70 802B6030 3442FFFF */ ori $v0, $v0, 0xffff
/* E27F74 802B6034 3C030080 */ lui $v1, 0x80
/* E27F78 802B6038 34630008 */ ori $v1, $v1, 8
/* E27F7C 802B603C 00821024 */ and $v0, $a0, $v0
/* E27F80 802B6040 00431025 */ or $v0, $v0, $v1
/* E27F84 802B6044 8E030004 */ lw $v1, 4($s0)
/* E27F88 802B6048 AE020000 */ sw $v0, ($s0)
/* E27F8C 802B604C 34420800 */ ori $v0, $v0, 0x800
/* E27F90 802B6050 AE020000 */ sw $v0, ($s0)
/* E27F94 802B6054 34630004 */ ori $v1, $v1, 4
/* E27F98 802B6058 AE030004 */ sw $v1, 4($s0)
/* E27F9C 802B605C 820300BF */ lb $v1, 0xbf($s0)
/* E27FA0 802B6060 24020001 */ addiu $v0, $zero, 1
/* E27FA4 802B6064 54620005 */ bnel $v1, $v0, .L802B607C
/* E27FA8 802B6068 A20000B6 */ sb $zero, 0xb6($s0)
/* E27FAC 802B606C 24020014 */ addiu $v0, $zero, 0x14
/* E27FB0 802B6070 A20200B6 */ sb $v0, 0xb6($s0)
/* E27FB4 802B6074 24020002 */ addiu $v0, $zero, 2
/* E27FB8 802B6078 A6020008 */ sh $v0, 8($s0)
.L802B607C:
/* E27FBC 802B607C C600002C */ lwc1 $f0, 0x2c($s0)
/* E27FC0 802B6080 3C03800B */ lui $v1, %hi(gCameras)
/* E27FC4 802B6084 24631D80 */ addiu $v1, $v1, %lo(gCameras)
/* E27FC8 802B6088 AE000054 */ sw $zero, 0x54($s0)
/* E27FCC 802B608C 94620002 */ lhu $v0, 2($v1)
/* E27FD0 802B6090 3C01802B */ lui $at, %hi(D_802B68B0)
/* E27FD4 802B6094 AC2068B0 */ sw $zero, %lo(D_802B68B0)($at)
/* E27FD8 802B6098 3C01802B */ lui $at, %hi(D_802B68BC)
/* E27FDC 802B609C E42068BC */ swc1 $f0, %lo(D_802B68BC)($at)
/* E27FE0 802B60A0 3C0142B4 */ lui $at, 0x42b4
/* E27FE4 802B60A4 44810000 */ mtc1 $at, $f0
/* E27FE8 802B60A8 34420003 */ ori $v0, $v0, 3
/* E27FEC 802B60AC A4620002 */ sh $v0, 2($v1)
/* E27FF0 802B60B0 3C01802B */ lui $at, %hi(D_802B68B4)
/* E27FF4 802B60B4 E42068B4 */ swc1 $f0, %lo(D_802B68B4)($at)
/* E27FF8 802B60B8 0C03A8CD */ jal subtract_hp
/* E27FFC 802B60BC 24040001 */ addiu $a0, $zero, 1
/* E28000 802B60C0 0C03A5D8 */ jal open_status_menu_long
/* E28004 802B60C4 00000000 */ nop
/* E28008 802B60C8 240400E8 */ addiu $a0, $zero, 0xe8
/* E2800C 802B60CC 3C03800A */ lui $v1, %hi(D_8009A650)
/* E28010 802B60D0 2463A650 */ addiu $v1, $v1, %lo(D_8009A650)
/* E28014 802B60D4 8C620000 */ lw $v0, ($v1)
/* E28018 802B60D8 0000282D */ daddu $a1, $zero, $zero
/* E2801C 802B60DC 34420040 */ ori $v0, $v0, 0x40
/* E28020 802B60E0 0C052736 */ jal play_sound_at_player
/* E28024 802B60E4 AC620000 */ sw $v0, ($v1)
.L802B60E8:
/* E28028 802B60E8 820300B6 */ lb $v1, 0xb6($s0)
/* E2802C 802B60EC 2C620016 */ sltiu $v0, $v1, 0x16
/* E28030 802B60F0 104001C5 */ beqz $v0, .L802B6808
/* E28034 802B60F4 00031080 */ sll $v0, $v1, 2
/* E28038 802B60F8 3C01802B */ lui $at, %hi(D_802B6850)
/* E2803C 802B60FC 00220821 */ addu $at, $at, $v0
/* E28040 802B6100 8C226850 */ lw $v0, %lo(D_802B6850)($at)
/* E28044 802B6104 00400008 */ jr $v0
/* E28048 802B6108 00000000 */ nop
/* E2804C 802B610C 96020008 */ lhu $v0, 8($s0)
/* E28050 802B6110 2403FFFF */ addiu $v1, $zero, -1
/* E28054 802B6114 2442FFFF */ addiu $v0, $v0, -1
/* E28058 802B6118 A6020008 */ sh $v0, 8($s0)
/* E2805C 802B611C 00021400 */ sll $v0, $v0, 0x10
/* E28060 802B6120 00021403 */ sra $v0, $v0, 0x10
/* E28064 802B6124 504301B8 */ beql $v0, $v1, .L802B6808
/* E28068 802B6128 A20000B6 */ sb $zero, 0xb6($s0)
/* E2806C 802B612C 080ADA02 */ j .L802B6808
/* E28070 802B6130 00000000 */ nop
/* E28074 802B6134 96020008 */ lhu $v0, 8($s0)
/* E28078 802B6138 2403FFFF */ addiu $v1, $zero, -1
/* E2807C 802B613C 2442FFFF */ addiu $v0, $v0, -1
/* E28080 802B6140 A6020008 */ sh $v0, 8($s0)
/* E28084 802B6144 00021400 */ sll $v0, $v0, 0x10
/* E28088 802B6148 00021403 */ sra $v0, $v0, 0x10
/* E2808C 802B614C 50430001 */ beql $v0, $v1, .L802B6154
/* E28090 802B6150 A20000B6 */ sb $zero, 0xb6($s0)
.L802B6154:
/* E28094 802B6154 C600002C */ lwc1 $f0, 0x2c($s0)
/* E28098 802B6158 3C014080 */ lui $at, 0x4080
/* E2809C 802B615C 44811000 */ mtc1 $at, $f2
/* E280A0 802B6160 00000000 */ nop
/* E280A4 802B6164 46020001 */ sub.s $f0, $f0, $f2
/* E280A8 802B6168 080ADA02 */ j .L802B6808
/* E280AC 802B616C E600002C */ swc1 $f0, 0x2c($s0)
/* E280B0 802B6170 820200BF */ lb $v0, 0xbf($s0)
/* E280B4 802B6174 24110001 */ addiu $s1, $zero, 1
/* E280B8 802B6178 1451000C */ bne $v0, $s1, .L802B61AC
/* E280BC 802B617C 3C040008 */ lui $a0, 8
/* E280C0 802B6180 0000202D */ daddu $a0, $zero, $zero
/* E280C4 802B6184 8E050028 */ lw $a1, 0x28($s0)
/* E280C8 802B6188 8E06002C */ lw $a2, 0x2c($s0)
/* E280CC 802B618C 8E070030 */ lw $a3, 0x30($s0)
/* E280D0 802B6190 3C013F80 */ lui $at, 0x3f80
/* E280D4 802B6194 44810000 */ mtc1 $at, $f0
/* E280D8 802B6198 24020028 */ addiu $v0, $zero, 0x28
/* E280DC 802B619C AFA20014 */ sw $v0, 0x14($sp)
/* E280E0 802B61A0 0C01C1CC */ jal func_80070730
/* E280E4 802B61A4 E7A00010 */ swc1 $f0, 0x10($sp)
/* E280E8 802B61A8 3C040008 */ lui $a0, 8
.L802B61AC:
/* E280EC 802B61AC 0C037FDE */ jal func_800DFF78
/* E280F0 802B61B0 34840002 */ ori $a0, $a0, 2
/* E280F4 802B61B4 3C0141A0 */ lui $at, 0x41a0
/* E280F8 802B61B8 44810000 */ mtc1 $at, $f0
/* E280FC 802B61BC 3C01437A */ lui $at, 0x437a
/* E28100 802B61C0 44811000 */ mtc1 $at, $f2
/* E28104 802B61C4 3C01802B */ lui $at, %hi(D_802B68BC)
/* E28108 802B61C8 C42468BC */ lwc1 $f4, %lo(D_802B68BC)($at)
/* E2810C 802B61CC C6060028 */ lwc1 $f6, 0x28($s0)
/* E28110 802B61D0 C6080030 */ lwc1 $f8, 0x30($s0)
/* E28114 802B61D4 C60A002C */ lwc1 $f10, 0x2c($s0)
/* E28118 802B61D8 8E030000 */ lw $v1, ($s0)
/* E2811C 802B61DC 24020002 */ addiu $v0, $zero, 2
/* E28120 802B61E0 AE000074 */ sw $zero, 0x74($s0)
/* E28124 802B61E4 A60000C0 */ sh $zero, 0xc0($s0)
/* E28128 802B61E8 A60000C2 */ sh $zero, 0xc2($s0)
/* E2812C 802B61EC A20200B6 */ sb $v0, 0xb6($s0)
/* E28130 802B61F0 A6110008 */ sh $s1, 8($s0)
/* E28134 802B61F4 34630002 */ ori $v1, $v1, 2
/* E28138 802B61F8 E6000070 */ swc1 $f0, 0x70($s0)
/* E2813C 802B61FC E6020078 */ swc1 $f2, 0x78($s0)
/* E28140 802B6200 E604007C */ swc1 $f4, 0x7c($s0)
/* E28144 802B6204 E606003C */ swc1 $f6, 0x3c($s0)
/* E28148 802B6208 E6080040 */ swc1 $f8, 0x40($s0)
/* E2814C 802B620C E60A004C */ swc1 $f10, 0x4c($s0)
/* E28150 802B6210 080ADA02 */ j .L802B6808
/* E28154 802B6214 AE030000 */ sw $v1, ($s0)
/* E28158 802B6218 96020008 */ lhu $v0, 8($s0)
/* E2815C 802B621C 2442FFFF */ addiu $v0, $v0, -1
/* E28160 802B6220 A6020008 */ sh $v0, 8($s0)
/* E28164 802B6224 00021400 */ sll $v0, $v0, 0x10
/* E28168 802B6228 1C400177 */ bgtz $v0, .L802B6808
/* E2816C 802B622C 00000000 */ nop
/* E28170 802B6230 920200B6 */ lbu $v0, 0xb6($s0)
/* E28174 802B6234 080AD9ED */ j .L802B67B4
/* E28178 802B6238 24420001 */ addiu $v0, $v0, 1
/* E2817C 802B623C 820300BF */ lb $v1, 0xbf($s0)
/* E28180 802B6240 24020001 */ addiu $v0, $zero, 1
/* E28184 802B6244 1462000F */ bne $v1, $v0, .L802B6284
/* E28188 802B6248 00000000 */ nop
/* E2818C 802B624C 960200C0 */ lhu $v0, 0xc0($s0)
/* E28190 802B6250 30420001 */ andi $v0, $v0, 1
/* E28194 802B6254 1440000B */ bnez $v0, .L802B6284
/* E28198 802B6258 0000202D */ daddu $a0, $zero, $zero
/* E2819C 802B625C 8E050028 */ lw $a1, 0x28($s0)
/* E281A0 802B6260 8E06002C */ lw $a2, 0x2c($s0)
/* E281A4 802B6264 8E070030 */ lw $a3, 0x30($s0)
/* E281A8 802B6268 3C013F33 */ lui $at, 0x3f33
/* E281AC 802B626C 34213333 */ ori $at, $at, 0x3333
/* E281B0 802B6270 44810000 */ mtc1 $at, $f0
/* E281B4 802B6274 24020012 */ addiu $v0, $zero, 0x12
/* E281B8 802B6278 AFA20014 */ sw $v0, 0x14($sp)
/* E281BC 802B627C 0C01C1CC */ jal func_80070730
/* E281C0 802B6280 E7A00010 */ swc1 $f0, 0x10($sp)
.L802B6284:
/* E281C4 802B6284 C600007C */ lwc1 $f0, 0x7c($s0)
/* E281C8 802B6288 C6020078 */ lwc1 $f2, 0x78($s0)
/* E281CC 802B628C 46020080 */ add.s $f2, $f0, $f2
/* E281D0 802B6290 C600002C */ lwc1 $f0, 0x2c($s0)
/* E281D4 802B6294 4602003C */ c.lt.s $f0, $f2
/* E281D8 802B6298 00000000 */ nop
/* E281DC 802B629C 45000034 */ bc1f .L802B6370
/* E281E0 802B62A0 27A50018 */ addiu $a1, $sp, 0x18
/* E281E4 802B62A4 3C12802B */ lui $s2, %hi(D_802B68B4)
/* E281E8 802B62A8 265268B4 */ addiu $s2, $s2, %lo(D_802B68B4)
/* E281EC 802B62AC C64C0000 */ lwc1 $f12, ($s2)
/* E281F0 802B62B0 3C0140C9 */ lui $at, 0x40c9
/* E281F4 802B62B4 34210FD0 */ ori $at, $at, 0xfd0
/* E281F8 802B62B8 4481B000 */ mtc1 $at, $f22
/* E281FC 802B62BC 00000000 */ nop
/* E28200 802B62C0 46166302 */ mul.s $f12, $f12, $f22
/* E28204 802B62C4 00000000 */ nop
/* E28208 802B62C8 3C0143B4 */ lui $at, 0x43b4
/* E2820C 802B62CC 4481A000 */ mtc1 $at, $f20
/* E28210 802B62D0 27A6001C */ addiu $a2, $sp, 0x1c
/* E28214 802B62D4 0C00A82D */ jal sin_cos_rad
/* E28218 802B62D8 46146303 */ div.s $f12, $f12, $f20
/* E2821C 802B62DC C64C0000 */ lwc1 $f12, ($s2)
/* E28220 802B62E0 46166302 */ mul.s $f12, $f12, $f22
/* E28224 802B62E4 00000000 */ nop
/* E28228 802B62E8 0C00A85B */ jal sin_rad
/* E2822C 802B62EC 46146303 */ div.s $f12, $f12, $f20
/* E28230 802B62F0 3C014180 */ lui $at, 0x4180
/* E28234 802B62F4 44811000 */ mtc1 $at, $f2
/* E28238 802B62F8 00000000 */ nop
/* E2823C 802B62FC 46020002 */ mul.s $f0, $f0, $f2
/* E28240 802B6300 00000000 */ nop
/* E28244 802B6304 3C01BF80 */ lui $at, 0xbf80
/* E28248 802B6308 44811000 */ mtc1 $at, $f2
/* E2824C 802B630C 3C11802B */ lui $s1, %hi(D_802B68B0)
/* E28250 802B6310 263168B0 */ addiu $s1, $s1, %lo(D_802B68B0)
/* E28254 802B6314 4602003C */ c.lt.s $f0, $f2
/* E28258 802B6318 00000000 */ nop
/* E2825C 802B631C 45000002 */ bc1f .L802B6328
/* E28260 802B6320 E6200000 */ swc1 $f0, ($s1)
/* E28264 802B6324 E6220000 */ swc1 $f2, ($s1)
.L802B6328:
/* E28268 802B6328 C604002C */ lwc1 $f4, 0x2c($s0)
/* E2826C 802B632C C6200000 */ lwc1 $f0, ($s1)
/* E28270 802B6330 C6420000 */ lwc1 $f2, ($s2)
/* E28274 802B6334 46002100 */ add.s $f4, $f4, $f0
/* E28278 802B6338 3C014040 */ lui $at, 0x4040
/* E2827C 802B633C 44810000 */ mtc1 $at, $f0
/* E28280 802B6340 00000000 */ nop
/* E28284 802B6344 46001080 */ add.s $f2, $f2, $f0
/* E28288 802B6348 3C014334 */ lui $at, 0x4334
/* E2828C 802B634C 44810000 */ mtc1 $at, $f0
/* E28290 802B6350 E604002C */ swc1 $f4, 0x2c($s0)
/* E28294 802B6354 4602003C */ c.lt.s $f0, $f2
/* E28298 802B6358 00000000 */ nop
/* E2829C 802B635C 4500012A */ bc1f .L802B6808
/* E282A0 802B6360 E6420000 */ swc1 $f2, ($s2)
/* E282A4 802B6364 920200B6 */ lbu $v0, 0xb6($s0)
/* E282A8 802B6368 080AD9EC */ j .L802B67B0
/* E282AC 802B636C E6400000 */ swc1 $f0, ($s2)
.L802B6370:
/* E282B0 802B6370 920200B6 */ lbu $v0, 0xb6($s0)
/* E282B4 802B6374 080AD9EC */ j .L802B67B0
/* E282B8 802B6378 E602002C */ swc1 $f2, 0x2c($s0)
/* E282BC 802B637C 820300BF */ lb $v1, 0xbf($s0)
/* E282C0 802B6380 24020001 */ addiu $v0, $zero, 1
/* E282C4 802B6384 14620011 */ bne $v1, $v0, .L802B63CC
/* E282C8 802B6388 27A40020 */ addiu $a0, $sp, 0x20
/* E282CC 802B638C 960200C0 */ lhu $v0, 0xc0($s0)
/* E282D0 802B6390 30420001 */ andi $v0, $v0, 1
/* E282D4 802B6394 1440000E */ bnez $v0, .L802B63D0
/* E282D8 802B6398 27A50024 */ addiu $a1, $sp, 0x24
/* E282DC 802B639C 0000202D */ daddu $a0, $zero, $zero
/* E282E0 802B63A0 8E050028 */ lw $a1, 0x28($s0)
/* E282E4 802B63A4 8E06002C */ lw $a2, 0x2c($s0)
/* E282E8 802B63A8 8E070030 */ lw $a3, 0x30($s0)
/* E282EC 802B63AC 3C013F33 */ lui $at, 0x3f33
/* E282F0 802B63B0 34213333 */ ori $at, $at, 0x3333
/* E282F4 802B63B4 44810000 */ mtc1 $at, $f0
/* E282F8 802B63B8 24020012 */ addiu $v0, $zero, 0x12
/* E282FC 802B63BC AFA20014 */ sw $v0, 0x14($sp)
/* E28300 802B63C0 0C01C1CC */ jal func_80070730
/* E28304 802B63C4 E7A00010 */ swc1 $f0, 0x10($sp)
/* E28308 802B63C8 27A40020 */ addiu $a0, $sp, 0x20
.L802B63CC:
/* E2830C 802B63CC 27A50024 */ addiu $a1, $sp, 0x24
.L802B63D0:
/* E28310 802B63D0 0C0B27F5 */ jal func_802C9FD4
/* E28314 802B63D4 27A60028 */ addiu $a2, $sp, 0x28
/* E28318 802B63D8 14400005 */ bnez $v0, .L802B63F0
/* E2831C 802B63DC 00000000 */ nop
/* E28320 802B63E0 C6000028 */ lwc1 $f0, 0x28($s0)
/* E28324 802B63E4 C6020030 */ lwc1 $f2, 0x30($s0)
/* E28328 802B63E8 E7A00020 */ swc1 $f0, 0x20($sp)
/* E2832C 802B63EC E7A20028 */ swc1 $f2, 0x28($sp)
.L802B63F0:
/* E28330 802B63F0 C7A00020 */ lwc1 $f0, 0x20($sp)
/* E28334 802B63F4 C602002C */ lwc1 $f2, 0x2c($s0)
/* E28338 802B63F8 3C013DEA */ lui $at, 0x3dea
/* E2833C 802B63FC 3421161E */ ori $at, $at, 0x161e
/* E28340 802B6400 44812000 */ mtc1 $at, $f4
/* E28344 802B6404 3C01BE92 */ lui $at, 0xbe92
/* E28348 802B6408 3421FEC5 */ ori $at, $at, 0xfec5
/* E2834C 802B640C 44813000 */ mtc1 $at, $f6
/* E28350 802B6410 3C01BE3A */ lui $at, 0xbe3a
/* E28354 802B6414 3421ACDA */ ori $at, $at, 0xacda
/* E28358 802B6418 44814000 */ mtc1 $at, $f8
/* E2835C 802B641C 3C013C3C */ lui $at, 0x3c3c
/* E28360 802B6420 3421BE62 */ ori $at, $at, 0xbe62
/* E28364 802B6424 44815000 */ mtc1 $at, $f10
/* E28368 802B6428 920300B6 */ lbu $v1, 0xb6($s0)
/* E2836C 802B642C 4600040D */ trunc.w.s $f16, $f0
/* E28370 802B6430 44028000 */ mfc1 $v0, $f16
/* E28374 802B6434 00000000 */ nop
/* E28378 802B6438 A6020016 */ sh $v0, 0x16($s0)
/* E2837C 802B643C C7A00028 */ lwc1 $f0, 0x28($sp)
/* E28380 802B6440 24630001 */ addiu $v1, $v1, 1
/* E28384 802B6444 E6020050 */ swc1 $f2, 0x50($s0)
/* E28388 802B6448 E6040070 */ swc1 $f4, 0x70($s0)
/* E2838C 802B644C E6060074 */ swc1 $f6, 0x74($s0)
/* E28390 802B6450 E6080078 */ swc1 $f8, 0x78($s0)
/* E28394 802B6454 E60A007C */ swc1 $f10, 0x7c($s0)
/* E28398 802B6458 A20300B6 */ sb $v1, 0xb6($s0)
/* E2839C 802B645C 4600040D */ trunc.w.s $f16, $f0
/* E283A0 802B6460 44028000 */ mfc1 $v0, $f16
/* E283A4 802B6464 080ADA02 */ j .L802B6808
/* E283A8 802B6468 A602001A */ sh $v0, 0x1a($s0)
/* E283AC 802B646C C60C0028 */ lwc1 $f12, 0x28($s0)
/* E283B0 802B6470 C60E0030 */ lwc1 $f14, 0x30($s0)
/* E283B4 802B6474 86020016 */ lh $v0, 0x16($s0)
/* E283B8 802B6478 8603001A */ lh $v1, 0x1a($s0)
/* E283BC 802B647C 44828000 */ mtc1 $v0, $f16
/* E283C0 802B6480 00000000 */ nop
/* E283C4 802B6484 46808420 */ cvt.s.w $f16, $f16
/* E283C8 802B6488 44068000 */ mfc1 $a2, $f16
/* E283CC 802B648C 44838000 */ mtc1 $v1, $f16
/* E283D0 802B6490 00000000 */ nop
/* E283D4 802B6494 46808420 */ cvt.s.w $f16, $f16
/* E283D8 802B6498 44078000 */ mfc1 $a3, $f16
/* E283DC 802B649C 0C00A720 */ jal atan2
/* E283E0 802B64A0 00000000 */ nop
/* E283E4 802B64A4 86020016 */ lh $v0, 0x16($s0)
/* E283E8 802B64A8 8603001A */ lh $v1, 0x1a($s0)
/* E283EC 802B64AC 3C01802B */ lui $at, %hi(D_802B68B8)
/* E283F0 802B64B0 E42068B8 */ swc1 $f0, %lo(D_802B68B8)($at)
/* E283F4 802B64B4 44826000 */ mtc1 $v0, $f12
/* E283F8 802B64B8 00000000 */ nop
/* E283FC 802B64BC 46806320 */ cvt.s.w $f12, $f12
/* E28400 802B64C0 44837000 */ mtc1 $v1, $f14
/* E28404 802B64C4 00000000 */ nop
/* E28408 802B64C8 0C038022 */ jal func_800E0088
/* E2840C 802B64CC 468073A0 */ cvt.s.w $f14, $f14
/* E28410 802B64D0 3C014190 */ lui $at, 0x4190
/* E28414 802B64D4 44811000 */ mtc1 $at, $f2
/* E28418 802B64D8 920200B6 */ lbu $v0, 0xb6($s0)
/* E2841C 802B64DC 46020003 */ div.s $f0, $f0, $f2
/* E28420 802B64E0 24420001 */ addiu $v0, $v0, 1
/* E28424 802B64E4 E6000054 */ swc1 $f0, 0x54($s0)
/* E28428 802B64E8 080ADA02 */ j .L802B6808
/* E2842C 802B64EC A20200B6 */ sb $v0, 0xb6($s0)
/* E28430 802B64F0 C60C0028 */ lwc1 $f12, 0x28($s0)
/* E28434 802B64F4 C60E0030 */ lwc1 $f14, 0x30($s0)
/* E28438 802B64F8 86020016 */ lh $v0, 0x16($s0)
/* E2843C 802B64FC 8603001A */ lh $v1, 0x1a($s0)
/* E28440 802B6500 44828000 */ mtc1 $v0, $f16
/* E28444 802B6504 00000000 */ nop
/* E28448 802B6508 46808420 */ cvt.s.w $f16, $f16
/* E2844C 802B650C 44068000 */ mfc1 $a2, $f16
/* E28450 802B6510 44838000 */ mtc1 $v1, $f16
/* E28454 802B6514 00000000 */ nop
/* E28458 802B6518 46808420 */ cvt.s.w $f16, $f16
/* E2845C 802B651C 44078000 */ mfc1 $a3, $f16
/* E28460 802B6520 0C00A720 */ jal atan2
/* E28464 802B6524 00000000 */ nop
/* E28468 802B6528 3C0140C9 */ lui $at, 0x40c9
/* E2846C 802B652C 34210FD0 */ ori $at, $at, 0xfd0
/* E28470 802B6530 44811000 */ mtc1 $at, $f2
/* E28474 802B6534 00000000 */ nop
/* E28478 802B6538 46020082 */ mul.s $f2, $f0, $f2
/* E2847C 802B653C 00000000 */ nop
/* E28480 802B6540 3C0143B4 */ lui $at, 0x43b4
/* E28484 802B6544 44812000 */ mtc1 $at, $f4
/* E28488 802B6548 3C01802B */ lui $at, %hi(D_802B68B8)
/* E2848C 802B654C E42068B8 */ swc1 $f0, %lo(D_802B68B8)($at)
/* E28490 802B6550 46041503 */ div.s $f20, $f2, $f4
/* E28494 802B6554 0C00A85B */ jal sin_rad
/* E28498 802B6558 4600A306 */ mov.s $f12, $f20
/* E2849C 802B655C C6020054 */ lwc1 $f2, 0x54($s0)
/* E284A0 802B6560 46001102 */ mul.s $f4, $f2, $f0
/* E284A4 802B6564 00000000 */ nop
/* E284A8 802B6568 C6000028 */ lwc1 $f0, 0x28($s0)
/* E284AC 802B656C 44801000 */ mtc1 $zero, $f2
/* E284B0 802B6570 46040000 */ add.s $f0, $f0, $f4
/* E284B4 802B6574 AFA0002C */ sw $zero, 0x2c($sp)
/* E284B8 802B6578 4604103E */ c.le.s $f2, $f4
/* E284BC 802B657C 00000000 */ nop
/* E284C0 802B6580 45000008 */ bc1f .L802B65A4
/* E284C4 802B6584 E6000028 */ swc1 $f0, 0x28($s0)
/* E284C8 802B6588 86020016 */ lh $v0, 0x16($s0)
/* E284CC 802B658C 44821000 */ mtc1 $v0, $f2
/* E284D0 802B6590 00000000 */ nop
/* E284D4 802B6594 468010A0 */ cvt.s.w $f2, $f2
/* E284D8 802B6598 4600103E */ c.le.s $f2, $f0
/* E284DC 802B659C 080AD970 */ j .L802B65C0
/* E284E0 802B65A0 00000000 */ nop
.L802B65A4:
/* E284E4 802B65A4 86020016 */ lh $v0, 0x16($s0)
/* E284E8 802B65A8 C6000028 */ lwc1 $f0, 0x28($s0)
/* E284EC 802B65AC 44821000 */ mtc1 $v0, $f2
/* E284F0 802B65B0 00000000 */ nop
/* E284F4 802B65B4 468010A0 */ cvt.s.w $f2, $f2
/* E284F8 802B65B8 4602003E */ c.le.s $f0, $f2
/* E284FC 802B65BC 00000000 */ nop
.L802B65C0:
/* E28500 802B65C0 45000003 */ bc1f .L802B65D0
/* E28504 802B65C4 24020001 */ addiu $v0, $zero, 1
/* E28508 802B65C8 E6020028 */ swc1 $f2, 0x28($s0)
/* E2850C 802B65CC AFA2002C */ sw $v0, 0x2c($sp)
.L802B65D0:
/* E28510 802B65D0 0C00A874 */ jal cos_rad
/* E28514 802B65D4 4600A306 */ mov.s $f12, $f20
/* E28518 802B65D8 C6020054 */ lwc1 $f2, 0x54($s0)
/* E2851C 802B65DC 46001102 */ mul.s $f4, $f2, $f0
/* E28520 802B65E0 00000000 */ nop
/* E28524 802B65E4 C6000030 */ lwc1 $f0, 0x30($s0)
/* E28528 802B65E8 46040081 */ sub.s $f2, $f0, $f4
/* E2852C 802B65EC 44800000 */ mtc1 $zero, $f0
/* E28530 802B65F0 00000000 */ nop
/* E28534 802B65F4 4604003E */ c.le.s $f0, $f4
/* E28538 802B65F8 00000000 */ nop
/* E2853C 802B65FC 45000008 */ bc1f .L802B6620
/* E28540 802B6600 E6020030 */ swc1 $f2, 0x30($s0)
/* E28544 802B6604 8602001A */ lh $v0, 0x1a($s0)
/* E28548 802B6608 44820000 */ mtc1 $v0, $f0
/* E2854C 802B660C 00000000 */ nop
/* E28550 802B6610 46800020 */ cvt.s.w $f0, $f0
/* E28554 802B6614 4600103E */ c.le.s $f2, $f0
/* E28558 802B6618 080AD98E */ j .L802B6638
/* E2855C 802B661C 00000000 */ nop
.L802B6620:
/* E28560 802B6620 8602001A */ lh $v0, 0x1a($s0)
/* E28564 802B6624 44820000 */ mtc1 $v0, $f0
/* E28568 802B6628 00000000 */ nop
/* E2856C 802B662C 46800020 */ cvt.s.w $f0, $f0
/* E28570 802B6630 4602003E */ c.le.s $f0, $f2
/* E28574 802B6634 00000000 */ nop
.L802B6638:
/* E28578 802B6638 45000005 */ bc1f .L802B6650
/* E2857C 802B663C 00000000 */ nop
/* E28580 802B6640 8FA2002C */ lw $v0, 0x2c($sp)
/* E28584 802B6644 E6000030 */ swc1 $f0, 0x30($s0)
/* E28588 802B6648 24420001 */ addiu $v0, $v0, 1
/* E2858C 802B664C AFA2002C */ sw $v0, 0x2c($sp)
.L802B6650:
/* E28590 802B6650 8FA3002C */ lw $v1, 0x2c($sp)
/* E28594 802B6654 24020002 */ addiu $v0, $zero, 2
/* E28598 802B6658 1462006B */ bne $v1, $v0, .L802B6808
/* E2859C 802B665C 00000000 */ nop
/* E285A0 802B6660 920200B6 */ lbu $v0, 0xb6($s0)
/* E285A4 802B6664 080AD9ED */ j .L802B67B4
/* E285A8 802B6668 24420001 */ addiu $v0, $v0, 1
/* E285AC 802B666C 820300BF */ lb $v1, 0xbf($s0)
/* E285B0 802B6670 24020001 */ addiu $v0, $zero, 1
/* E285B4 802B6674 1462000F */ bne $v1, $v0, .L802B66B4
/* E285B8 802B6678 00000000 */ nop
/* E285BC 802B667C 960200C0 */ lhu $v0, 0xc0($s0)
/* E285C0 802B6680 30420001 */ andi $v0, $v0, 1
/* E285C4 802B6684 1440000B */ bnez $v0, .L802B66B4
/* E285C8 802B6688 0000202D */ daddu $a0, $zero, $zero
/* E285CC 802B668C 8E050028 */ lw $a1, 0x28($s0)
/* E285D0 802B6690 8E06002C */ lw $a2, 0x2c($s0)
/* E285D4 802B6694 8E070030 */ lw $a3, 0x30($s0)
/* E285D8 802B6698 3C013F33 */ lui $at, 0x3f33
/* E285DC 802B669C 34213333 */ ori $at, $at, 0x3333
/* E285E0 802B66A0 44810000 */ mtc1 $at, $f0
/* E285E4 802B66A4 24020012 */ addiu $v0, $zero, 0x12
/* E285E8 802B66A8 AFA20014 */ sw $v0, 0x14($sp)
/* E285EC 802B66AC 0C01C1CC */ jal func_80070730
/* E285F0 802B66B0 E7A00010 */ swc1 $f0, 0x10($sp)
.L802B66B4:
/* E285F4 802B66B4 0C038D36 */ jal func_800E34D8
/* E285F8 802B66B8 00000000 */ nop
/* E285FC 802B66BC 46000306 */ mov.s $f12, $f0
/* E28600 802B66C0 0C038D45 */ jal func_800E3514
/* E28604 802B66C4 27A5002C */ addiu $a1, $sp, 0x2c
/* E28608 802B66C8 8FA2002C */ lw $v0, 0x2c($sp)
/* E2860C 802B66CC 0440004E */ bltz $v0, .L802B6808
/* E28610 802B66D0 E600002C */ swc1 $f0, 0x2c($s0)
/* E28614 802B66D4 0000202D */ daddu $a0, $zero, $zero
/* E28618 802B66D8 24050002 */ addiu $a1, $zero, 2
/* E2861C 802B66DC 3C073F4C */ lui $a3, 0x3f4c
/* E28620 802B66E0 34E7CCCD */ ori $a3, $a3, 0xcccd
/* E28624 802B66E4 0C0B2D72 */ jal exec_ShakeCamX
/* E28628 802B66E8 24060001 */ addiu $a2, $zero, 1
/* E2862C 802B66EC 24040100 */ addiu $a0, $zero, 0x100
/* E28630 802B66F0 0C00A3C2 */ jal start_rumble
/* E28634 802B66F4 24050032 */ addiu $a1, $zero, 0x32
/* E28638 802B66F8 0C03954C */ jal func_800E5530
/* E2863C 802B66FC 00000000 */ nop
/* E28640 802B6700 240403FB */ addiu $a0, $zero, 0x3fb
/* E28644 802B6704 3C03800B */ lui $v1, %hi(gCameras)
/* E28648 802B6708 24631D80 */ addiu $v1, $v1, %lo(gCameras)
/* E2864C 802B670C 94620002 */ lhu $v0, 2($v1)
/* E28650 802B6710 0000282D */ daddu $a1, $zero, $zero
/* E28654 802B6714 3042FFFD */ andi $v0, $v0, 0xfffd
/* E28658 802B6718 0C052736 */ jal play_sound_at_player
/* E2865C 802B671C A4620002 */ sh $v0, 2($v1)
/* E28660 802B6720 3C040008 */ lui $a0, 8
/* E28664 802B6724 0C037FDE */ jal func_800DFF78
/* E28668 802B6728 3484001A */ ori $a0, $a0, 0x1a
/* E2866C 802B672C 8E020000 */ lw $v0, ($s0)
/* E28670 802B6730 3C0140C0 */ lui $at, 0x40c0
/* E28674 802B6734 44811000 */ mtc1 $at, $f2
/* E28678 802B6738 C600002C */ lwc1 $f0, 0x2c($s0)
/* E2867C 802B673C 2403F7FF */ addiu $v1, $zero, -0x801
/* E28680 802B6740 A20000BF */ sb $zero, 0xbf($s0)
/* E28684 802B6744 00431024 */ and $v0, $v0, $v1
/* E28688 802B6748 2403FFF7 */ addiu $v1, $zero, -9
/* E2868C 802B674C 00431024 */ and $v0, $v0, $v1
/* E28690 802B6750 AE020000 */ sw $v0, ($s0)
/* E28694 802B6754 920200B6 */ lbu $v0, 0xb6($s0)
/* E28698 802B6758 46020000 */ add.s $f0, $f0, $f2
/* E2869C 802B675C E6020070 */ swc1 $f2, 0x70($s0)
/* E286A0 802B6760 24420001 */ addiu $v0, $v0, 1
/* E286A4 802B6764 A20200B6 */ sb $v0, 0xb6($s0)
/* E286A8 802B6768 080ADA02 */ j .L802B6808
/* E286AC 802B676C E600002C */ swc1 $f0, 0x2c($s0)
/* E286B0 802B6770 C60C0070 */ lwc1 $f12, 0x70($s0)
/* E286B4 802B6774 3C013FF0 */ lui $at, 0x3ff0
/* E286B8 802B6778 44810800 */ mtc1 $at, $f1
/* E286BC 802B677C 44800000 */ mtc1 $zero, $f0
/* E286C0 802B6780 46006321 */ cvt.d.s $f12, $f12
/* E286C4 802B6784 46206301 */ sub.d $f12, $f12, $f0
/* E286C8 802B6788 27A5002C */ addiu $a1, $sp, 0x2c
/* E286CC 802B678C 46206320 */ cvt.s.d $f12, $f12
/* E286D0 802B6790 0C038D45 */ jal func_800E3514
/* E286D4 802B6794 E60C0070 */ swc1 $f12, 0x70($s0)
/* E286D8 802B6798 8FA2002C */ lw $v0, 0x2c($sp)
/* E286DC 802B679C 0440001A */ bltz $v0, .L802B6808
/* E286E0 802B67A0 E600002C */ swc1 $f0, 0x2c($s0)
/* E286E4 802B67A4 920200B6 */ lbu $v0, 0xb6($s0)
/* E286E8 802B67A8 2403000A */ addiu $v1, $zero, 0xa
/* E286EC 802B67AC A6030008 */ sh $v1, 8($s0)
.L802B67B0:
/* E286F0 802B67B0 24420001 */ addiu $v0, $v0, 1
.L802B67B4:
/* E286F4 802B67B4 080ADA02 */ j .L802B6808
/* E286F8 802B67B8 A20200B6 */ sb $v0, 0xb6($s0)
/* E286FC 802B67BC 96020008 */ lhu $v0, 8($s0)
/* E28700 802B67C0 2442FFFF */ addiu $v0, $v0, -1
/* E28704 802B67C4 A6020008 */ sh $v0, 8($s0)
/* E28708 802B67C8 00021400 */ sll $v0, $v0, 0x10
/* E2870C 802B67CC 1C40000E */ bgtz $v0, .L802B6808
/* E28710 802B67D0 00000000 */ nop
/* E28714 802B67D4 0C039769 */ jal set_action_state
/* E28718 802B67D8 2404000A */ addiu $a0, $zero, 0xa
/* E2871C 802B67DC 3C03FF7F */ lui $v1, 0xff7f
/* E28720 802B67E0 3463FFFF */ ori $v1, $v1, 0xffff
/* E28724 802B67E4 8E020000 */ lw $v0, ($s0)
/* E28728 802B67E8 3C04800A */ lui $a0, %hi(D_8009A650)
/* E2872C 802B67EC 2484A650 */ addiu $a0, $a0, %lo(D_8009A650)
/* E28730 802B67F0 00431024 */ and $v0, $v0, $v1
/* E28734 802B67F4 AE020000 */ sw $v0, ($s0)
/* E28738 802B67F8 8C820000 */ lw $v0, ($a0)
/* E2873C 802B67FC 2403FFBF */ addiu $v1, $zero, -0x41
/* E28740 802B6800 00431024 */ and $v0, $v0, $v1
/* E28744 802B6804 AC820000 */ sw $v0, ($a0)
.L802B6808:
/* E28748 802B6808 820200B6 */ lb $v0, 0xb6($s0)
/* E2874C 802B680C 28420007 */ slti $v0, $v0, 7
/* E28750 802B6810 10400004 */ beqz $v0, .L802B6824
/* E28754 802B6814 00000000 */ nop
/* E28758 802B6818 960200C0 */ lhu $v0, 0xc0($s0)
/* E2875C 802B681C 24420001 */ addiu $v0, $v0, 1
/* E28760 802B6820 A60200C0 */ sh $v0, 0xc0($s0)
.L802B6824:
/* E28764 802B6824 8FBF003C */ lw $ra, 0x3c($sp)
/* E28768 802B6828 8FB20038 */ lw $s2, 0x38($sp)
/* E2876C 802B682C 8FB10034 */ lw $s1, 0x34($sp)
/* E28770 802B6830 8FB00030 */ lw $s0, 0x30($sp)
/* E28774 802B6834 D7B60048 */ ldc1 $f22, 0x48($sp)
/* E28778 802B6838 D7B40040 */ ldc1 $f20, 0x40($sp)
/* E2877C 802B683C 03E00008 */ jr $ra
/* E28780 802B6840 27BD0050 */ addiu $sp, $sp, 0x50
/* E28784 802B6844 00000000 */ nop
/* E28788 802B6848 00000000 */ nop
/* E2878C 802B684C 00000000 */ nop

View File

@ -0,0 +1,152 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6000_E287F0
/* E287F0 802B6000 27BDFFD0 */ addiu $sp, $sp, -0x30
/* E287F4 802B6004 AFB00020 */ sw $s0, 0x20($sp)
/* E287F8 802B6008 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* E287FC 802B600C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* E28800 802B6010 AFBF0028 */ sw $ra, 0x28($sp)
/* E28804 802B6014 AFB10024 */ sw $s1, 0x24($sp)
/* E28808 802B6018 8E030000 */ lw $v1, ($s0)
/* E2880C 802B601C 0461003E */ bgez $v1, .L802B6118
/* E28810 802B6020 0200882D */ daddu $s1, $s0, $zero
/* E28814 802B6024 3C027FFF */ lui $v0, 0x7fff
/* E28818 802B6028 3442FFFF */ ori $v0, $v0, 0xffff
/* E2881C 802B602C 3C040001 */ lui $a0, 1
/* E28820 802B6030 34840017 */ ori $a0, $a0, 0x17
/* E28824 802B6034 00621024 */ and $v0, $v1, $v0
/* E28828 802B6038 0C037FDE */ jal func_800DFF78
/* E2882C 802B603C AE020000 */ sw $v0, ($s0)
/* E28830 802B6040 C60C0028 */ lwc1 $f12, 0x28($s0)
/* E28834 802B6044 C60E0030 */ lwc1 $f14, 0x30($s0)
/* E28838 802B6048 86020016 */ lh $v0, 0x16($s0)
/* E2883C 802B604C 3C014192 */ lui $at, 0x4192
/* E28840 802B6050 3421C745 */ ori $at, $at, 0xc745
/* E28844 802B6054 44810000 */ mtc1 $at, $f0
/* E28848 802B6058 3C01C06F */ lui $at, 0xc06f
/* E2884C 802B605C 34213B64 */ ori $at, $at, 0x3b64
/* E28850 802B6060 44811000 */ mtc1 $at, $f2
/* E28854 802B6064 3C013F4E */ lui $at, 0x3f4e
/* E28858 802B6068 34214F76 */ ori $at, $at, 0x4f76
/* E2885C 802B606C 44812000 */ mtc1 $at, $f4
/* E28860 802B6070 3C01BDCA */ lui $at, 0xbdca
/* E28864 802B6074 3421233A */ ori $at, $at, 0x233a
/* E28868 802B6078 44813000 */ mtc1 $at, $f6
/* E2886C 802B607C 8604001A */ lh $a0, 0x1a($s0)
/* E28870 802B6080 3C03800B */ lui $v1, %hi(gCameras)
/* E28874 802B6084 24631D80 */ addiu $v1, $v1, %lo(gCameras)
/* E28878 802B6088 A20000B6 */ sb $zero, 0xb6($s0)
/* E2887C 802B608C 44824000 */ mtc1 $v0, $f8
/* E28880 802B6090 00000000 */ nop
/* E28884 802B6094 46804220 */ cvt.s.w $f8, $f8
/* E28888 802B6098 44064000 */ mfc1 $a2, $f8
/* E2888C 802B609C 8E020000 */ lw $v0, ($s0)
/* E28890 802B60A0 44844000 */ mtc1 $a0, $f8
/* E28894 802B60A4 00000000 */ nop
/* E28898 802B60A8 46804220 */ cvt.s.w $f8, $f8
/* E2889C 802B60AC E6000070 */ swc1 $f0, 0x70($s0)
/* E288A0 802B60B0 E6020074 */ swc1 $f2, 0x74($s0)
/* E288A4 802B60B4 E6040078 */ swc1 $f4, 0x78($s0)
/* E288A8 802B60B8 E606007C */ swc1 $f6, 0x7c($s0)
/* E288AC 802B60BC 34420008 */ ori $v0, $v0, 8
/* E288B0 802B60C0 AE020000 */ sw $v0, ($s0)
/* E288B4 802B60C4 94620002 */ lhu $v0, 2($v1)
/* E288B8 802B60C8 44074000 */ mfc1 $a3, $f8
/* E288BC 802B60CC 34420001 */ ori $v0, $v0, 1
/* E288C0 802B60D0 0C00A720 */ jal atan2
/* E288C4 802B60D4 A4620002 */ sh $v0, 2($v1)
/* E288C8 802B60D8 86020016 */ lh $v0, 0x16($s0)
/* E288CC 802B60DC 8603001A */ lh $v1, 0x1a($s0)
/* E288D0 802B60E0 3C01802B */ lui $at, %hi(D_802B6240)
/* E288D4 802B60E4 E4206240 */ swc1 $f0, %lo(D_802B6240)($at)
/* E288D8 802B60E8 44826000 */ mtc1 $v0, $f12
/* E288DC 802B60EC 00000000 */ nop
/* E288E0 802B60F0 46806320 */ cvt.s.w $f12, $f12
/* E288E4 802B60F4 44837000 */ mtc1 $v1, $f14
/* E288E8 802B60F8 00000000 */ nop
/* E288EC 802B60FC 0C038022 */ jal func_800E0088
/* E288F0 802B6100 468073A0 */ cvt.s.w $f14, $f14
/* E288F4 802B6104 3C014190 */ lui $at, 0x4190
/* E288F8 802B6108 44811000 */ mtc1 $at, $f2
/* E288FC 802B610C 00000000 */ nop
/* E28900 802B6110 46020003 */ div.s $f0, $f0, $f2
/* E28904 802B6114 E6000054 */ swc1 $f0, 0x54($s0)
.L802B6118:
/* E28908 802B6118 3C01802B */ lui $at, %hi(D_802B6240)
/* E2890C 802B611C C42C6240 */ lwc1 $f12, %lo(D_802B6240)($at)
/* E28910 802B6120 3C0140C9 */ lui $at, 0x40c9
/* E28914 802B6124 34210FD0 */ ori $at, $at, 0xfd0
/* E28918 802B6128 44810000 */ mtc1 $at, $f0
/* E2891C 802B612C 00000000 */ nop
/* E28920 802B6130 46006302 */ mul.s $f12, $f12, $f0
/* E28924 802B6134 00000000 */ nop
/* E28928 802B6138 27A50010 */ addiu $a1, $sp, 0x10
/* E2892C 802B613C 3C0143B4 */ lui $at, 0x43b4
/* E28930 802B6140 44810000 */ mtc1 $at, $f0
/* E28934 802B6144 27A60014 */ addiu $a2, $sp, 0x14
/* E28938 802B6148 0C00A82D */ jal sin_cos_rad
/* E2893C 802B614C 46006303 */ div.s $f12, $f12, $f0
/* E28940 802B6150 3C030004 */ lui $v1, 4
/* E28944 802B6154 8E020000 */ lw $v0, ($s0)
/* E28948 802B6158 C6020054 */ lwc1 $f2, 0x54($s0)
/* E2894C 802B615C 00431024 */ and $v0, $v0, $v1
/* E28950 802B6160 10400006 */ beqz $v0, .L802B617C
/* E28954 802B6164 00000000 */ nop
/* E28958 802B6168 3C013F00 */ lui $at, 0x3f00
/* E2895C 802B616C 44810000 */ mtc1 $at, $f0
/* E28960 802B6170 00000000 */ nop
/* E28964 802B6174 46001082 */ mul.s $f2, $f2, $f0
/* E28968 802B6178 00000000 */ nop
.L802B617C:
/* E2896C 802B617C C7A00010 */ lwc1 $f0, 0x10($sp)
/* E28970 802B6180 46001002 */ mul.s $f0, $f2, $f0
/* E28974 802B6184 00000000 */ nop
/* E28978 802B6188 C7A40014 */ lwc1 $f4, 0x14($sp)
/* E2897C 802B618C 46041102 */ mul.s $f4, $f2, $f4
/* E28980 802B6190 00000000 */ nop
/* E28984 802B6194 C6020028 */ lwc1 $f2, 0x28($s0)
/* E28988 802B6198 46001080 */ add.s $f2, $f2, $f0
/* E2898C 802B619C C6000030 */ lwc1 $f0, 0x30($s0)
/* E28990 802B61A0 820200B6 */ lb $v0, 0xb6($s0)
/* E28994 802B61A4 46040001 */ sub.s $f0, $f0, $f4
/* E28998 802B61A8 E6020028 */ swc1 $f2, 0x28($s0)
/* E2899C 802B61AC 14400012 */ bnez $v0, .L802B61F8
/* E289A0 802B61B0 E6000030 */ swc1 $f0, 0x30($s0)
/* E289A4 802B61B4 0C038D12 */ jal integrate_gravity
/* E289A8 802B61B8 00000000 */ nop
/* E289AC 802B61BC C600002C */ lwc1 $f0, 0x2c($s0)
/* E289B0 802B61C0 C6040070 */ lwc1 $f4, 0x70($s0)
/* E289B4 802B61C4 46040000 */ add.s $f0, $f0, $f4
/* E289B8 802B61C8 44801000 */ mtc1 $zero, $f2
/* E289BC 802B61CC 00000000 */ nop
/* E289C0 802B61D0 4602203C */ c.lt.s $f4, $f2
/* E289C4 802B61D4 00000000 */ nop
/* E289C8 802B61D8 45000014 */ bc1f .L802B622C
/* E289CC 802B61DC E600002C */ swc1 $f0, 0x2c($s0)
/* E289D0 802B61E0 8E020000 */ lw $v0, ($s0)
/* E289D4 802B61E4 24030001 */ addiu $v1, $zero, 1
/* E289D8 802B61E8 A20300B6 */ sb $v1, 0xb6($s0)
/* E289DC 802B61EC 34420004 */ ori $v0, $v0, 4
/* E289E0 802B61F0 080AD88B */ j .L802B622C
/* E289E4 802B61F4 AE020000 */ sw $v0, ($s0)
.L802B61F8:
/* E289E8 802B61F8 0C038D36 */ jal func_800E34D8
/* E289EC 802B61FC 00000000 */ nop
/* E289F0 802B6200 46000306 */ mov.s $f12, $f0
/* E289F4 802B6204 0C038D45 */ jal func_800E3514
/* E289F8 802B6208 27A50018 */ addiu $a1, $sp, 0x18
/* E289FC 802B620C 8FA40018 */ lw $a0, 0x18($sp)
/* E28A00 802B6210 04800006 */ bltz $a0, .L802B622C
/* E28A04 802B6214 E620002C */ swc1 $f0, 0x2c($s1)
/* E28A08 802B6218 0C016F6A */ jal get_collider_type_by_id
/* E28A0C 802B621C 00000000 */ nop
/* E28A10 802B6220 AFA20018 */ sw $v0, 0x18($sp)
/* E28A14 802B6224 0C039769 */ jal set_action_state
/* E28A18 802B6228 2404000A */ addiu $a0, $zero, 0xa
.L802B622C:
/* E28A1C 802B622C 8FBF0028 */ lw $ra, 0x28($sp)
/* E28A20 802B6230 8FB10024 */ lw $s1, 0x24($sp)
/* E28A24 802B6234 8FB00020 */ lw $s0, 0x20($sp)
/* E28A28 802B6238 03E00008 */ jr $ra
/* E28A2C 802B623C 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -0,0 +1,46 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6000_E28A30
/* E28A30 802B6000 27BDFFE8 */ addiu $sp, $sp, -0x18
/* E28A34 802B6004 3C038011 */ lui $v1, %hi(gPlayerStatus)
/* E28A38 802B6008 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus)
/* E28A3C 802B600C AFBF0010 */ sw $ra, 0x10($sp)
/* E28A40 802B6010 8C640000 */ lw $a0, ($v1)
/* E28A44 802B6014 0481000B */ bgez $a0, .L802B6044
/* E28A48 802B6018 0060282D */ daddu $a1, $v1, $zero
/* E28A4C 802B601C 3C027FF7 */ lui $v0, 0x7ff7
/* E28A50 802B6020 3442FFF1 */ ori $v0, $v0, 0xfff1
/* E28A54 802B6024 00821024 */ and $v0, $a0, $v0
/* E28A58 802B6028 AC620000 */ sw $v0, ($v1)
/* E28A5C 802B602C A06000B6 */ sb $zero, 0xb6($v1)
/* E28A60 802B6030 A4600008 */ sh $zero, 8($v1)
/* E28A64 802B6034 A46000C0 */ sh $zero, 0xc0($v1)
/* E28A68 802B6038 A46000C2 */ sh $zero, 0xc2($v1)
/* E28A6C 802B603C AC600054 */ sw $zero, 0x54($v1)
/* E28A70 802B6040 AC60008C */ sw $zero, 0x8c($v1)
.L802B6044:
/* E28A74 802B6044 8CA20004 */ lw $v0, 4($a1)
/* E28A78 802B6048 3C030040 */ lui $v1, 0x40
/* E28A7C 802B604C 00431024 */ and $v0, $v0, $v1
/* E28A80 802B6050 1040000F */ beqz $v0, .L802B6090
/* E28A84 802B6054 00000000 */ nop
/* E28A88 802B6058 3C028011 */ lui $v0, %hi(D_8010EBB0)
/* E28A8C 802B605C 2442EBB0 */ addiu $v0, $v0, %lo(D_8010EBB0)
/* E28A90 802B6060 80430003 */ lb $v1, 3($v0)
/* E28A94 802B6064 24020008 */ addiu $v0, $zero, 8
/* E28A98 802B6068 14620005 */ bne $v1, $v0, .L802B6080
/* E28A9C 802B606C 24020007 */ addiu $v0, $zero, 7
/* E28AA0 802B6070 0C0AF440 */ jal func_802BD100
/* E28AA4 802B6074 00000000 */ nop
/* E28AA8 802B6078 080AD824 */ j .L802B6090
/* E28AAC 802B607C 00000000 */ nop
.L802B6080:
/* E28AB0 802B6080 14620003 */ bne $v1, $v0, .L802B6090
/* E28AB4 802B6084 00000000 */ nop
/* E28AB8 802B6088 0C0AF440 */ jal func_802BD100
/* E28ABC 802B608C 00000000 */ nop
.L802B6090:
/* E28AC0 802B6090 8FBF0010 */ lw $ra, 0x10($sp)
/* E28AC4 802B6094 03E00008 */ jr $ra
/* E28AC8 802B6098 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -0,0 +1,186 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B609C_E28ACC
/* E28ACC 802B609C 27BDFF90 */ addiu $sp, $sp, -0x70
/* E28AD0 802B60A0 AFB20058 */ sw $s2, 0x58($sp)
/* E28AD4 802B60A4 3C128011 */ lui $s2, %hi(gPlayerStatus)
/* E28AD8 802B60A8 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus)
/* E28ADC 802B60AC AFBF005C */ sw $ra, 0x5c($sp)
/* E28AE0 802B60B0 AFB10054 */ sw $s1, 0x54($sp)
/* E28AE4 802B60B4 AFB00050 */ sw $s0, 0x50($sp)
/* E28AE8 802B60B8 F7B60068 */ sdc1 $f22, 0x68($sp)
/* E28AEC 802B60BC F7B40060 */ sdc1 $f20, 0x60($sp)
/* E28AF0 802B60C0 8E430000 */ lw $v1, ($s2)
/* E28AF4 802B60C4 0461000E */ bgez $v1, .L802B6100
/* E28AF8 802B60C8 3C027FF7 */ lui $v0, 0x7ff7
/* E28AFC 802B60CC 3442FFF1 */ ori $v0, $v0, 0xfff1
/* E28B00 802B60D0 3C018011 */ lui $at, %hi(D_8010C938)
/* E28B04 802B60D4 C420C938 */ lwc1 $f0, %lo(D_8010C938)($at)
/* E28B08 802B60D8 00621024 */ and $v0, $v1, $v0
/* E28B0C 802B60DC AE420000 */ sw $v0, ($s2)
/* E28B10 802B60E0 A24000B6 */ sb $zero, 0xb6($s2)
/* E28B14 802B60E4 A6400008 */ sh $zero, 8($s2)
/* E28B18 802B60E8 A64000C0 */ sh $zero, 0xc0($s2)
/* E28B1C 802B60EC A64000C2 */ sh $zero, 0xc2($s2)
/* E28B20 802B60F0 AE400054 */ sw $zero, 0x54($s2)
/* E28B24 802B60F4 AE40008C */ sw $zero, 0x8c($s2)
/* E28B28 802B60F8 3C01802B */ lui $at, %hi(D_802B6770)
/* E28B2C 802B60FC E4206770 */ swc1 $f0, %lo(D_802B6770)($at)
.L802B6100:
/* E28B30 802B6100 824300B6 */ lb $v1, 0xb6($s2)
/* E28B34 802B6104 924200B6 */ lbu $v0, 0xb6($s2)
/* E28B38 802B6108 10600006 */ beqz $v1, .L802B6124
/* E28B3C 802B610C 24420001 */ addiu $v0, $v0, 1
/* E28B40 802B6110 24020001 */ addiu $v0, $zero, 1
/* E28B44 802B6114 10620004 */ beq $v1, $v0, .L802B6128
/* E28B48 802B6118 00000000 */ nop
/* E28B4C 802B611C 080AD8CC */ j .L802B6330
/* E28B50 802B6120 00000000 */ nop
.L802B6124:
/* E28B54 802B6124 A24200B6 */ sb $v0, 0xb6($s2)
.L802B6128:
/* E28B58 802B6128 3C018011 */ lui $at, %hi(D_8010C990)
/* E28B5C 802B612C C42CC990 */ lwc1 $f12, %lo(D_8010C990)($at)
/* E28B60 802B6130 3C0140C9 */ lui $at, 0x40c9
/* E28B64 802B6134 34210FD0 */ ori $at, $at, 0xfd0
/* E28B68 802B6138 4481A000 */ mtc1 $at, $f20
/* E28B6C 802B613C 27B10028 */ addiu $s1, $sp, 0x28
/* E28B70 802B6140 46146302 */ mul.s $f12, $f12, $f20
/* E28B74 802B6144 00000000 */ nop
/* E28B78 802B6148 0220282D */ daddu $a1, $s1, $zero
/* E28B7C 802B614C 27B0002C */ addiu $s0, $sp, 0x2c
/* E28B80 802B6150 3C0143B4 */ lui $at, 0x43b4
/* E28B84 802B6154 4481B000 */ mtc1 $at, $f22
/* E28B88 802B6158 0200302D */ daddu $a2, $s0, $zero
/* E28B8C 802B615C 0C00A82D */ jal sin_cos_rad
/* E28B90 802B6160 46166303 */ div.s $f12, $f12, $f22
/* E28B94 802B6164 3C01802B */ lui $at, %hi(D_802B6770)
/* E28B98 802B6168 C42C6770 */ lwc1 $f12, %lo(D_802B6770)($at)
/* E28B9C 802B616C 46146302 */ mul.s $f12, $f12, $f20
/* E28BA0 802B6170 00000000 */ nop
/* E28BA4 802B6174 0220282D */ daddu $a1, $s1, $zero
/* E28BA8 802B6178 C7A00028 */ lwc1 $f0, 0x28($sp)
/* E28BAC 802B617C 3C014040 */ lui $at, 0x4040
/* E28BB0 802B6180 4481A000 */ mtc1 $at, $f20
/* E28BB4 802B6184 0200302D */ daddu $a2, $s0, $zero
/* E28BB8 802B6188 46140502 */ mul.s $f20, $f0, $f20
/* E28BBC 802B618C 00000000 */ nop
/* E28BC0 802B6190 0C00A82D */ jal sin_cos_rad
/* E28BC4 802B6194 46166303 */ div.s $f12, $f12, $f22
/* E28BC8 802B6198 C7A00028 */ lwc1 $f0, 0x28($sp)
/* E28BCC 802B619C 46140102 */ mul.s $f4, $f0, $f20
/* E28BD0 802B61A0 00000000 */ nop
/* E28BD4 802B61A4 C7A0002C */ lwc1 $f0, 0x2c($sp)
/* E28BD8 802B61A8 46140182 */ mul.s $f6, $f0, $f20
/* E28BDC 802B61AC 00000000 */ nop
/* E28BE0 802B61B0 3C01802B */ lui $at, %hi(D_802B6760)
/* E28BE4 802B61B4 D4226760 */ ldc1 $f2, %lo(D_802B6760)($at)
/* E28BE8 802B61B8 46002021 */ cvt.d.s $f0, $f4
/* E28BEC 802B61BC 46200005 */ abs.d $f0, $f0
/* E28BF0 802B61C0 4622003C */ c.lt.d $f0, $f2
/* E28BF4 802B61C4 00000000 */ nop
/* E28BF8 802B61C8 45020011 */ bc1fl .L802B6210
/* E28BFC 802B61CC 46003021 */ cvt.d.s $f0, $f6
/* E28C00 802B61D0 44800000 */ mtc1 $zero, $f0
/* E28C04 802B61D4 3C013DCC */ lui $at, 0x3dcc
/* E28C08 802B61D8 3421CCCD */ ori $at, $at, 0xcccd
/* E28C0C 802B61DC 44811000 */ mtc1 $at, $f2
/* E28C10 802B61E0 4600203C */ c.lt.s $f4, $f0
/* E28C14 802B61E4 00000000 */ nop
/* E28C18 802B61E8 45000006 */ bc1f .L802B6204
/* E28C1C 802B61EC 46001106 */ mov.s $f4, $f2
/* E28C20 802B61F0 3C01BDCC */ lui $at, 0xbdcc
/* E28C24 802B61F4 3421CCCD */ ori $at, $at, 0xcccd
/* E28C28 802B61F8 44811000 */ mtc1 $at, $f2
/* E28C2C 802B61FC 00000000 */ nop
/* E28C30 802B6200 46001106 */ mov.s $f4, $f2
.L802B6204:
/* E28C34 802B6204 46003021 */ cvt.d.s $f0, $f6
/* E28C38 802B6208 3C01802B */ lui $at, %hi(D_802B6768)
/* E28C3C 802B620C D4226768 */ ldc1 $f2, %lo(D_802B6768)($at)
.L802B6210:
/* E28C40 802B6210 46200005 */ abs.d $f0, $f0
/* E28C44 802B6214 4622003C */ c.lt.d $f0, $f2
/* E28C48 802B6218 00000000 */ nop
/* E28C4C 802B621C 4500000F */ bc1f .L802B625C
/* E28C50 802B6220 0240202D */ daddu $a0, $s2, $zero
/* E28C54 802B6224 44800000 */ mtc1 $zero, $f0
/* E28C58 802B6228 3C013DCC */ lui $at, 0x3dcc
/* E28C5C 802B622C 3421CCCD */ ori $at, $at, 0xcccd
/* E28C60 802B6230 44811000 */ mtc1 $at, $f2
/* E28C64 802B6234 4600303C */ c.lt.s $f6, $f0
/* E28C68 802B6238 00000000 */ nop
/* E28C6C 802B623C 45000007 */ bc1f .L802B625C
/* E28C70 802B6240 46001186 */ mov.s $f6, $f2
/* E28C74 802B6244 3C01BDCC */ lui $at, 0xbdcc
/* E28C78 802B6248 3421CCCD */ ori $at, $at, 0xcccd
/* E28C7C 802B624C 44811000 */ mtc1 $at, $f2
/* E28C80 802B6250 00000000 */ nop
/* E28C84 802B6254 46001186 */ mov.s $f6, $f2
/* E28C88 802B6258 0240202D */ daddu $a0, $s2, $zero
.L802B625C:
/* E28C8C 802B625C 27A50030 */ addiu $a1, $sp, 0x30
/* E28C90 802B6260 C6420028 */ lwc1 $f2, 0x28($s2)
/* E28C94 802B6264 27A60034 */ addiu $a2, $sp, 0x34
/* E28C98 802B6268 46041080 */ add.s $f2, $f2, $f4
/* E28C9C 802B626C C6400030 */ lwc1 $f0, 0x30($s2)
/* E28CA0 802B6270 27A2003C */ addiu $v0, $sp, 0x3c
/* E28CA4 802B6274 46060001 */ sub.s $f0, $f0, $f6
/* E28CA8 802B6278 E6420028 */ swc1 $f2, 0x28($s2)
/* E28CAC 802B627C 46001186 */ mov.s $f6, $f2
/* E28CB0 802B6280 E6400030 */ swc1 $f0, 0x30($s2)
/* E28CB4 802B6284 46000106 */ mov.s $f4, $f0
/* E28CB8 802B6288 C642002C */ lwc1 $f2, 0x2c($s2)
/* E28CBC 802B628C 3C0140A0 */ lui $at, 0x40a0
/* E28CC0 802B6290 44810000 */ mtc1 $at, $f0
/* E28CC4 802B6294 27A70038 */ addiu $a3, $sp, 0x38
/* E28CC8 802B6298 E7A60030 */ swc1 $f6, 0x30($sp)
/* E28CCC 802B629C E7A40038 */ swc1 $f4, 0x38($sp)
/* E28CD0 802B62A0 E7A20034 */ swc1 $f2, 0x34($sp)
/* E28CD4 802B62A4 E7A0003C */ swc1 $f0, 0x3c($sp)
/* E28CD8 802B62A8 AFA20010 */ sw $v0, 0x10($sp)
/* E28CDC 802B62AC 27A20040 */ addiu $v0, $sp, 0x40
/* E28CE0 802B62B0 AFA20014 */ sw $v0, 0x14($sp)
/* E28CE4 802B62B4 27A20044 */ addiu $v0, $sp, 0x44
/* E28CE8 802B62B8 AFA20018 */ sw $v0, 0x18($sp)
/* E28CEC 802B62BC 27A20048 */ addiu $v0, $sp, 0x48
/* E28CF0 802B62C0 AFA2001C */ sw $v0, 0x1c($sp)
/* E28CF4 802B62C4 27A2004C */ addiu $v0, $sp, 0x4c
/* E28CF8 802B62C8 0C03791B */ jal func_800DE46C
/* E28CFC 802B62CC AFA20020 */ sw $v0, 0x20($sp)
/* E28D00 802B62D0 04400003 */ bltz $v0, .L802B62E0
/* E28D04 802B62D4 00000000 */ nop
/* E28D08 802B62D8 C7A00034 */ lwc1 $f0, 0x34($sp)
/* E28D0C 802B62DC E640002C */ swc1 $f0, 0x2c($s2)
.L802B62E0:
/* E28D10 802B62E0 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* E28D14 802B62E4 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* E28D18 802B62E8 3C014270 */ lui $at, 0x4270
/* E28D1C 802B62EC 4481A000 */ mtc1 $at, $f20
/* E28D20 802B62F0 84430086 */ lh $v1, 0x86($v0)
/* E28D24 802B62F4 2402000A */ addiu $v0, $zero, 0xa
/* E28D28 802B62F8 14620003 */ bne $v1, $v0, .L802B6308
/* E28D2C 802B62FC 00000000 */ nop
/* E28D30 802B6300 3C0141F0 */ lui $at, 0x41f0
/* E28D34 802B6304 4481A000 */ mtc1 $at, $f20
.L802B6308:
/* E28D38 802B6308 3C018011 */ lui $at, %hi(D_8010C990)
/* E28D3C 802B630C C420C990 */ lwc1 $f0, %lo(D_8010C990)($at)
/* E28D40 802B6310 4614003C */ c.lt.s $f0, $f20
/* E28D44 802B6314 00000000 */ nop
/* E28D48 802B6318 45000005 */ bc1f .L802B6330
/* E28D4C 802B631C 00000000 */ nop
/* E28D50 802B6320 0C039769 */ jal set_action_state
/* E28D54 802B6324 24040008 */ addiu $a0, $zero, 8
/* E28D58 802B6328 0C038C1B */ jal gravity_use_fall_parms
/* E28D5C 802B632C 00000000 */ nop
.L802B6330:
/* E28D60 802B6330 8FBF005C */ lw $ra, 0x5c($sp)
/* E28D64 802B6334 8FB20058 */ lw $s2, 0x58($sp)
/* E28D68 802B6338 8FB10054 */ lw $s1, 0x54($sp)
/* E28D6C 802B633C 8FB00050 */ lw $s0, 0x50($sp)
/* E28D70 802B6340 D7B60068 */ ldc1 $f22, 0x68($sp)
/* E28D74 802B6344 D7B40060 */ ldc1 $f20, 0x60($sp)
/* E28D78 802B6348 03E00008 */ jr $ra
/* E28D7C 802B634C 27BD0070 */ addiu $sp, $sp, 0x70

View File

@ -0,0 +1,39 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6350_E28D80
/* E28D80 802B6350 27BDFFE8 */ addiu $sp, $sp, -0x18
/* E28D84 802B6354 3C048011 */ lui $a0, %hi(gPlayerStatus)
/* E28D88 802B6358 2484EFC8 */ addiu $a0, $a0, %lo(gPlayerStatus)
/* E28D8C 802B635C AFBF0010 */ sw $ra, 0x10($sp)
/* E28D90 802B6360 8C850000 */ lw $a1, ($a0)
/* E28D94 802B6364 04A10010 */ bgez $a1, .L802B63A8
/* E28D98 802B6368 0080302D */ daddu $a2, $a0, $zero
/* E28D9C 802B636C 3C027FF7 */ lui $v0, 0x7ff7
/* E28DA0 802B6370 3442FFF1 */ ori $v0, $v0, 0xfff1
/* E28DA4 802B6374 8C830004 */ lw $v1, 4($a0)
/* E28DA8 802B6378 00A21024 */ and $v0, $a1, $v0
/* E28DAC 802B637C AC820000 */ sw $v0, ($a0)
/* E28DB0 802B6380 A08000B6 */ sb $zero, 0xb6($a0)
/* E28DB4 802B6384 A4800008 */ sh $zero, 8($a0)
/* E28DB8 802B6388 A48000C0 */ sh $zero, 0xc0($a0)
/* E28DBC 802B638C A48000C2 */ sh $zero, 0xc2($a0)
/* E28DC0 802B6390 AC800054 */ sw $zero, 0x54($a0)
/* E28DC4 802B6394 30631000 */ andi $v1, $v1, 0x1000
/* E28DC8 802B6398 1460000B */ bnez $v1, .L802B63C8
/* E28DCC 802B639C AC80008C */ sw $zero, 0x8c($a0)
/* E28DD0 802B63A0 24020005 */ addiu $v0, $zero, 5
/* E28DD4 802B63A4 A4820008 */ sh $v0, 8($a0)
.L802B63A8:
/* E28DD8 802B63A8 94C20008 */ lhu $v0, 8($a2)
/* E28DDC 802B63AC 2442FFFF */ addiu $v0, $v0, -1
/* E28DE0 802B63B0 A4C20008 */ sh $v0, 8($a2)
/* E28DE4 802B63B4 00021400 */ sll $v0, $v0, 0x10
/* E28DE8 802B63B8 14400003 */ bnez $v0, .L802B63C8
/* E28DEC 802B63BC 00000000 */ nop
/* E28DF0 802B63C0 0C039769 */ jal set_action_state
/* E28DF4 802B63C4 0000202D */ daddu $a0, $zero, $zero
.L802B63C8:
/* E28DF8 802B63C8 8FBF0010 */ lw $ra, 0x10($sp)
/* E28DFC 802B63CC 03E00008 */ jr $ra
/* E28E00 802B63D0 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -0,0 +1,48 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B63D4_E28E04
/* E28E04 802B63D4 27BDFFE0 */ addiu $sp, $sp, -0x20
/* E28E08 802B63D8 AFB00010 */ sw $s0, 0x10($sp)
/* E28E0C 802B63DC 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* E28E10 802B63E0 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* E28E14 802B63E4 AFBF0018 */ sw $ra, 0x18($sp)
/* E28E18 802B63E8 AFB10014 */ sw $s1, 0x14($sp)
/* E28E1C 802B63EC 8E030000 */ lw $v1, ($s0)
/* E28E20 802B63F0 0461000F */ bgez $v1, .L802B6430
/* E28E24 802B63F4 0200882D */ daddu $s1, $s0, $zero
/* E28E28 802B63F8 3C027FFF */ lui $v0, 0x7fff
/* E28E2C 802B63FC 3442FFF1 */ ori $v0, $v0, 0xfff1
/* E28E30 802B6400 3C040001 */ lui $a0, 1
/* E28E34 802B6404 34840017 */ ori $a0, $a0, 0x17
/* E28E38 802B6408 00621024 */ and $v0, $v1, $v0
/* E28E3C 802B640C AE020000 */ sw $v0, ($s0)
/* E28E40 802B6410 A20000B6 */ sb $zero, 0xb6($s0)
/* E28E44 802B6414 A60000C0 */ sh $zero, 0xc0($s0)
/* E28E48 802B6418 A60000C2 */ sh $zero, 0xc2($s0)
/* E28E4C 802B641C AE000054 */ sw $zero, 0x54($s0)
/* E28E50 802B6420 0C037FDE */ jal func_800DFF78
/* E28E54 802B6424 AE00008C */ sw $zero, 0x8c($s0)
/* E28E58 802B6428 2402001E */ addiu $v0, $zero, 0x1e
/* E28E5C 802B642C A6020008 */ sh $v0, 8($s0)
.L802B6430:
/* E28E60 802B6430 86220008 */ lh $v0, 8($s1)
/* E28E64 802B6434 96230008 */ lhu $v1, 8($s1)
/* E28E68 802B6438 10400003 */ beqz $v0, .L802B6448
/* E28E6C 802B643C 2462FFFF */ addiu $v0, $v1, -1
/* E28E70 802B6440 080AD919 */ j .L802B6464
/* E28E74 802B6444 A6220008 */ sh $v0, 8($s1)
.L802B6448:
/* E28E78 802B6448 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* E28E7C 802B644C 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* E28E80 802B6450 80420070 */ lb $v0, 0x70($v0)
/* E28E84 802B6454 14400003 */ bnez $v0, .L802B6464
/* E28E88 802B6458 00000000 */ nop
/* E28E8C 802B645C 0C039769 */ jal set_action_state
/* E28E90 802B6460 0000202D */ daddu $a0, $zero, $zero
.L802B6464:
/* E28E94 802B6464 8FBF0018 */ lw $ra, 0x18($sp)
/* E28E98 802B6468 8FB10014 */ lw $s1, 0x14($sp)
/* E28E9C 802B646C 8FB00010 */ lw $s0, 0x10($sp)
/* E28EA0 802B6470 03E00008 */ jr $ra
/* E28EA4 802B6474 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,42 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6478_E28EA8
/* E28EA8 802B6478 27BDFFE8 */ addiu $sp, $sp, -0x18
/* E28EAC 802B647C 3C058011 */ lui $a1, %hi(gPlayerStatus)
/* E28EB0 802B6480 24A5EFC8 */ addiu $a1, $a1, %lo(gPlayerStatus)
/* E28EB4 802B6484 AFBF0014 */ sw $ra, 0x14($sp)
/* E28EB8 802B6488 AFB00010 */ sw $s0, 0x10($sp)
/* E28EBC 802B648C 8CA20000 */ lw $v0, ($a1)
/* E28EC0 802B6490 0441000E */ bgez $v0, .L802B64CC
/* E28EC4 802B6494 00A0802D */ daddu $s0, $a1, $zero
/* E28EC8 802B6498 3C037FFF */ lui $v1, 0x7fff
/* E28ECC 802B649C 3463FFFF */ ori $v1, $v1, 0xffff
/* E28ED0 802B64A0 3C040001 */ lui $a0, 1
/* E28ED4 802B64A4 3484001F */ ori $a0, $a0, 0x1f
/* E28ED8 802B64A8 00431824 */ and $v1, $v0, $v1
/* E28EDC 802B64AC 3C020008 */ lui $v0, 8
/* E28EE0 802B64B0 00621825 */ or $v1, $v1, $v0
/* E28EE4 802B64B4 ACA30000 */ sw $v1, ($a1)
/* E28EE8 802B64B8 A4A00008 */ sh $zero, 8($a1)
/* E28EEC 802B64BC A0A000B6 */ sb $zero, 0xb6($a1)
/* E28EF0 802B64C0 ACA00054 */ sw $zero, 0x54($a1)
/* E28EF4 802B64C4 0C037FDE */ jal func_800DFF78
/* E28EF8 802B64C8 ACA0008C */ sw $zero, 0x8c($a1)
.L802B64CC:
/* E28EFC 802B64CC 8E020004 */ lw $v0, 4($s0)
/* E28F00 802B64D0 30420200 */ andi $v0, $v0, 0x200
/* E28F04 802B64D4 14400008 */ bnez $v0, .L802B64F8
/* E28F08 802B64D8 00000000 */ nop
/* E28F0C 802B64DC 0C039769 */ jal set_action_state
/* E28F10 802B64E0 0000202D */ daddu $a0, $zero, $zero
/* E28F14 802B64E4 3C03FFF7 */ lui $v1, 0xfff7
/* E28F18 802B64E8 8E020000 */ lw $v0, ($s0)
/* E28F1C 802B64EC 3463FFFF */ ori $v1, $v1, 0xffff
/* E28F20 802B64F0 00431024 */ and $v0, $v0, $v1
/* E28F24 802B64F4 AE020000 */ sw $v0, ($s0)
.L802B64F8:
/* E28F28 802B64F8 8FBF0014 */ lw $ra, 0x14($sp)
/* E28F2C 802B64FC 8FB00010 */ lw $s0, 0x10($sp)
/* E28F30 802B6500 03E00008 */ jr $ra
/* E28F34 802B6504 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -0,0 +1,85 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6508_E28F38
/* E28F38 802B6508 27BDFFE0 */ addiu $sp, $sp, -0x20
/* E28F3C 802B650C AFB00018 */ sw $s0, 0x18($sp)
/* E28F40 802B6510 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* E28F44 802B6514 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* E28F48 802B6518 AFBF001C */ sw $ra, 0x1c($sp)
/* E28F4C 802B651C 8E030000 */ lw $v1, ($s0)
/* E28F50 802B6520 04610030 */ bgez $v1, .L802B65E4
/* E28F54 802B6524 3C027FFF */ lui $v0, 0x7fff
/* E28F58 802B6528 3442FFFF */ ori $v0, $v0, 0xffff
/* E28F5C 802B652C 27A40010 */ addiu $a0, $sp, 0x10
/* E28F60 802B6530 00621024 */ and $v0, $v1, $v0
/* E28F64 802B6534 AE020000 */ sw $v0, ($s0)
/* E28F68 802B6538 24020005 */ addiu $v0, $zero, 5
/* E28F6C 802B653C 27A50014 */ addiu $a1, $sp, 0x14
/* E28F70 802B6540 AE000054 */ sw $zero, 0x54($s0)
/* E28F74 802B6544 AE000060 */ sw $zero, 0x60($s0)
/* E28F78 802B6548 0C0388C1 */ jal input_to_move_vector
/* E28F7C 802B654C A6020008 */ sh $v0, 8($s0)
/* E28F80 802B6550 C7A20010 */ lwc1 $f2, 0x10($sp)
/* E28F84 802B6554 3C014234 */ lui $at, 0x4234
/* E28F88 802B6558 44810000 */ mtc1 $at, $f0
/* E28F8C 802B655C 00000000 */ nop
/* E28F90 802B6560 4602003E */ c.le.s $f0, $f2
/* E28F94 802B6564 00000000 */ nop
/* E28F98 802B6568 45000008 */ bc1f .L802B658C
/* E28F9C 802B656C 00000000 */ nop
/* E28FA0 802B6570 3C014307 */ lui $at, 0x4307
/* E28FA4 802B6574 44810000 */ mtc1 $at, $f0
/* E28FA8 802B6578 00000000 */ nop
/* E28FAC 802B657C 4600103E */ c.le.s $f2, $f0
/* E28FB0 802B6580 00000000 */ nop
/* E28FB4 802B6584 45010011 */ bc1t .L802B65CC
/* E28FB8 802B6588 3C040008 */ lui $a0, 8
.L802B658C:
/* E28FBC 802B658C 3C014361 */ lui $at, 0x4361
/* E28FC0 802B6590 44810000 */ mtc1 $at, $f0
/* E28FC4 802B6594 00000000 */ nop
/* E28FC8 802B6598 4602003E */ c.le.s $f0, $f2
/* E28FCC 802B659C 00000000 */ nop
/* E28FD0 802B65A0 4500000E */ bc1f .L802B65DC
/* E28FD4 802B65A4 3C040006 */ lui $a0, 6
/* E28FD8 802B65A8 3C01439D */ lui $at, 0x439d
/* E28FDC 802B65AC 34218000 */ ori $at, $at, 0x8000
/* E28FE0 802B65B0 44810000 */ mtc1 $at, $f0
/* E28FE4 802B65B4 00000000 */ nop
/* E28FE8 802B65B8 4600103E */ c.le.s $f2, $f0
/* E28FEC 802B65BC 00000000 */ nop
/* E28FF0 802B65C0 45000006 */ bc1f .L802B65DC
/* E28FF4 802B65C4 00000000 */ nop
/* E28FF8 802B65C8 3C040008 */ lui $a0, 8
.L802B65CC:
/* E28FFC 802B65CC 0C037FDE */ jal func_800DFF78
/* E29000 802B65D0 34840020 */ ori $a0, $a0, 0x20
/* E29004 802B65D4 080AD979 */ j .L802B65E4
/* E29008 802B65D8 00000000 */ nop
.L802B65DC:
/* E2900C 802B65DC 0C037FBF */ jal func_800DFEFC
/* E29010 802B65E0 34840004 */ ori $a0, $a0, 4
.L802B65E4:
/* E29014 802B65E4 0C039858 */ jal check_input_jump
/* E29018 802B65E8 00000000 */ nop
/* E2901C 802B65EC 8E020004 */ lw $v0, 4($s0)
/* E29020 802B65F0 3C030080 */ lui $v1, 0x80
/* E29024 802B65F4 00431024 */ and $v0, $v0, $v1
/* E29028 802B65F8 1040000B */ beqz $v0, .L802B6628
/* E2902C 802B65FC 00000000 */ nop
/* E29030 802B6600 86020008 */ lh $v0, 8($s0)
/* E29034 802B6604 96030008 */ lhu $v1, 8($s0)
/* E29038 802B6608 10400007 */ beqz $v0, .L802B6628
/* E2903C 802B660C 2462FFFF */ addiu $v0, $v1, -1
/* E29040 802B6610 A6020008 */ sh $v0, 8($s0)
/* E29044 802B6614 00021400 */ sll $v0, $v0, 0x10
/* E29048 802B6618 14400003 */ bnez $v0, .L802B6628
/* E2904C 802B661C 00000000 */ nop
/* E29050 802B6620 0C039769 */ jal set_action_state
/* E29054 802B6624 0000202D */ daddu $a0, $zero, $zero
.L802B6628:
/* E29058 802B6628 8FBF001C */ lw $ra, 0x1c($sp)
/* E2905C 802B662C 8FB00018 */ lw $s0, 0x18($sp)
/* E29060 802B6630 03E00008 */ jr $ra
/* E29064 802B6634 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -0,0 +1,85 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6638_E29068
/* E29068 802B6638 27BDFFE8 */ addiu $sp, $sp, -0x18
/* E2906C 802B663C AFB00010 */ sw $s0, 0x10($sp)
/* E29070 802B6640 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* E29074 802B6644 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* E29078 802B6648 AFBF0014 */ sw $ra, 0x14($sp)
/* E2907C 802B664C 8E030000 */ lw $v1, ($s0)
/* E29080 802B6650 04610023 */ bgez $v1, .L802B66E0
/* E29084 802B6654 3C027FFF */ lui $v0, 0x7fff
/* E29088 802B6658 3442FFFF */ ori $v0, $v0, 0xffff
/* E2908C 802B665C 8E040004 */ lw $a0, 4($s0)
/* E29090 802B6660 00621024 */ and $v0, $v1, $v0
/* E29094 802B6664 AE020000 */ sw $v0, ($s0)
/* E29098 802B6668 AE000054 */ sw $zero, 0x54($s0)
/* E2909C 802B666C 30821000 */ andi $v0, $a0, 0x1000
/* E290A0 802B6670 14400006 */ bnez $v0, .L802B668C
/* E290A4 802B6674 AE000060 */ sw $zero, 0x60($s0)
/* E290A8 802B6678 3C040008 */ lui $a0, 8
/* E290AC 802B667C 0C037FDE */ jal func_800DFF78
/* E290B0 802B6680 34840007 */ ori $a0, $a0, 7
/* E290B4 802B6684 080AD9B7 */ j .L802B66DC
/* E290B8 802B6688 2402001E */ addiu $v0, $zero, 0x1e
.L802B668C:
/* E290BC 802B668C 820200C4 */ lb $v0, 0xc4($s0)
/* E290C0 802B6690 14400012 */ bnez $v0, .L802B66DC
/* E290C4 802B6694 2402001E */ addiu $v0, $zero, 0x1e
/* E290C8 802B6698 30822000 */ andi $v0, $a0, 0x2000
/* E290CC 802B669C 14400005 */ bnez $v0, .L802B66B4
/* E290D0 802B66A0 00000000 */ nop
/* E290D4 802B66A4 0C037FDE */ jal func_800DFF78
/* E290D8 802B66A8 3C04000C */ lui $a0, 0xc
/* E290DC 802B66AC 080AD9B7 */ j .L802B66DC
/* E290E0 802B66B0 2402001E */ addiu $v0, $zero, 0x1e
.L802B66B4:
/* E290E4 802B66B4 8203000C */ lb $v1, 0xc($s0)
/* E290E8 802B66B8 00031040 */ sll $v0, $v1, 1
/* E290EC 802B66BC 00431021 */ addu $v0, $v0, $v1
/* E290F0 802B66C0 000210C0 */ sll $v0, $v0, 3
/* E290F4 802B66C4 3C04800F */ lui $a0, %hi(D_800F7C28)
/* E290F8 802B66C8 00822021 */ addu $a0, $a0, $v0
/* E290FC 802B66CC 8C847C28 */ lw $a0, %lo(D_800F7C28)($a0)
/* E29100 802B66D0 0C0398DB */ jal func_800E636C
/* E29104 802B66D4 00000000 */ nop
/* E29108 802B66D8 2402001E */ addiu $v0, $zero, 0x1e
.L802B66DC:
/* E2910C 802B66DC A6020008 */ sh $v0, 8($s0)
.L802B66E0:
/* E29110 802B66E0 8E040004 */ lw $a0, 4($s0)
/* E29114 802B66E4 30821000 */ andi $v0, $a0, 0x1000
/* E29118 802B66E8 10400019 */ beqz $v0, .L802B6750
/* E2911C 802B66EC 00000000 */ nop
/* E29120 802B66F0 86020008 */ lh $v0, 8($s0)
/* E29124 802B66F4 96030008 */ lhu $v1, 8($s0)
/* E29128 802B66F8 10400003 */ beqz $v0, .L802B6708
/* E2912C 802B66FC 2462FFFF */ addiu $v0, $v1, -1
/* E29130 802B6700 080AD9D4 */ j .L802B6750
/* E29134 802B6704 A6020008 */ sh $v0, 8($s0)
.L802B6708:
/* E29138 802B6708 820200C4 */ lb $v0, 0xc4($s0)
/* E2913C 802B670C 14400010 */ bnez $v0, .L802B6750
/* E29140 802B6710 30822000 */ andi $v0, $a0, 0x2000
/* E29144 802B6714 14400005 */ bnez $v0, .L802B672C
/* E29148 802B6718 3C04000A */ lui $a0, 0xa
/* E2914C 802B671C 0C037FDE */ jal func_800DFF78
/* E29150 802B6720 34840001 */ ori $a0, $a0, 1
/* E29154 802B6724 080AD9D4 */ j .L802B6750
/* E29158 802B6728 00000000 */ nop
.L802B672C:
/* E2915C 802B672C 8203000C */ lb $v1, 0xc($s0)
/* E29160 802B6730 00031040 */ sll $v0, $v1, 1
/* E29164 802B6734 00431021 */ addu $v0, $v0, $v1
/* E29168 802B6738 000210C0 */ sll $v0, $v0, 3
/* E2916C 802B673C 3C04800F */ lui $a0, %hi(D_800F7C1C)
/* E29170 802B6740 00822021 */ addu $a0, $a0, $v0
/* E29174 802B6744 8C847C1C */ lw $a0, %lo(D_800F7C1C)($a0)
/* E29178 802B6748 0C0398DB */ jal func_800E636C
/* E2917C 802B674C 00000000 */ nop
.L802B6750:
/* E29180 802B6750 8FBF0014 */ lw $ra, 0x14($sp)
/* E29184 802B6754 8FB00010 */ lw $s0, 0x10($sp)
/* E29188 802B6758 03E00008 */ jr $ra
/* E2918C 802B675C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -0,0 +1,180 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6000_E291A0
/* E291A0 802B6000 27BDFFD0 */ addiu $sp, $sp, -0x30
/* E291A4 802B6004 AFB1001C */ sw $s1, 0x1c($sp)
/* E291A8 802B6008 3C118011 */ lui $s1, %hi(gPlayerStatus)
/* E291AC 802B600C 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus)
/* E291B0 802B6010 AFBF0020 */ sw $ra, 0x20($sp)
/* E291B4 802B6014 AFB00018 */ sw $s0, 0x18($sp)
/* E291B8 802B6018 F7B40028 */ sdc1 $f20, 0x28($sp)
/* E291BC 802B601C 8E250000 */ lw $a1, ($s1)
/* E291C0 802B6020 04A1000D */ bgez $a1, .L802B6058
/* E291C4 802B6024 3C027FFF */ lui $v0, 0x7fff
/* E291C8 802B6028 3442FFFF */ ori $v0, $v0, 0xffff
/* E291CC 802B602C 3C04800A */ lui $a0, %hi(D_8009A650)
/* E291D0 802B6030 2484A650 */ addiu $a0, $a0, %lo(D_8009A650)
/* E291D4 802B6034 8C830000 */ lw $v1, ($a0)
/* E291D8 802B6038 00A21024 */ and $v0, $a1, $v0
/* E291DC 802B603C AE220000 */ sw $v0, ($s1)
/* E291E0 802B6040 A22000B6 */ sb $zero, 0xb6($s1)
/* E291E4 802B6044 34630040 */ ori $v1, $v1, 0x40
/* E291E8 802B6048 0C038045 */ jal disable_player_static_collisions
/* E291EC 802B604C AC830000 */ sw $v1, ($a0)
/* E291F0 802B6050 0C03805E */ jal disable_player_input
/* E291F4 802B6054 00000000 */ nop
.L802B6058:
/* E291F8 802B6058 822300B6 */ lb $v1, 0xb6($s1)
/* E291FC 802B605C 2C620006 */ sltiu $v0, $v1, 6
/* E29200 802B6060 1040008D */ beqz $v0, .L802B6298
/* E29204 802B6064 00031080 */ sll $v0, $v1, 2
/* E29208 802B6068 3C01802B */ lui $at, %hi(D_802B62B0)
/* E2920C 802B606C 00220821 */ addu $at, $at, $v0
/* E29210 802B6070 8C2262B0 */ lw $v0, %lo(D_802B62B0)($at)
/* E29214 802B6074 00400008 */ jr $v0
/* E29218 802B6078 00000000 */ nop
/* E2921C 802B607C 3C040001 */ lui $a0, 1
/* E29220 802B6080 0C037FBF */ jal func_800DFEFC
/* E29224 802B6084 3484002E */ ori $a0, $a0, 0x2e
/* E29228 802B6088 3C014180 */ lui $at, 0x4180
/* E2922C 802B608C 44810000 */ mtc1 $at, $f0
/* E29230 802B6090 3C013F80 */ lui $at, 0x3f80
/* E29234 802B6094 44811000 */ mtc1 $at, $f2
/* E29238 802B6098 3C013FF0 */ lui $at, 0x3ff0
/* E2923C 802B609C 44812000 */ mtc1 $at, $f4
/* E29240 802B60A0 24020020 */ addiu $v0, $zero, 0x20
/* E29244 802B60A4 3C01802B */ lui $at, %hi(D_802B62E0)
/* E29248 802B60A8 AC2262E0 */ sw $v0, %lo(D_802B62E0)($at)
/* E2924C 802B60AC 3C01802B */ lui $at, %hi(D_802B62D0)
/* E29250 802B60B0 E42062D0 */ swc1 $f0, %lo(D_802B62D0)($at)
/* E29254 802B60B4 3C014080 */ lui $at, 0x4080
/* E29258 802B60B8 44810000 */ mtc1 $at, $f0
/* E2925C 802B60BC 3C02802B */ lui $v0, %hi(D_802B62D4)
/* E29260 802B60C0 244262D4 */ addiu $v0, $v0, %lo(D_802B62D4)
/* E29264 802B60C4 E4400000 */ swc1 $f0, ($v0)
/* E29268 802B60C8 3C01802B */ lui $at, %hi(D_802B62D8)
/* E2926C 802B60CC E42262D8 */ swc1 $f2, %lo(D_802B62D8)($at)
/* E29270 802B60D0 E4440000 */ swc1 $f4, ($v0)
/* E29274 802B60D4 922200B6 */ lbu $v0, 0xb6($s1)
/* E29278 802B60D8 C6200080 */ lwc1 $f0, 0x80($s1)
/* E2927C 802B60DC 24420001 */ addiu $v0, $v0, 1
/* E29280 802B60E0 A22200B6 */ sb $v0, 0xb6($s1)
/* E29284 802B60E4 3C01802B */ lui $at, %hi(D_802B62DC)
/* E29288 802B60E8 E42062DC */ swc1 $f0, %lo(D_802B62DC)($at)
/* E2928C 802B60EC 080AD8A6 */ j .L802B6298
/* E29290 802B60F0 00000000 */ nop
/* E29294 802B60F4 26240028 */ addiu $a0, $s1, 0x28
/* E29298 802B60F8 3C10802B */ lui $s0, %hi(D_802B62D0)
/* E2929C 802B60FC 261062D0 */ addiu $s0, $s0, %lo(D_802B62D0)
/* E292A0 802B6100 C622002C */ lwc1 $f2, 0x2c($s1)
/* E292A4 802B6104 C6000000 */ lwc1 $f0, ($s0)
/* E292A8 802B6108 3C06802B */ lui $a2, %hi(D_802B62D4)
/* E292AC 802B610C 8CC662D4 */ lw $a2, %lo(D_802B62D4)($a2)
/* E292B0 802B6110 46001080 */ add.s $f2, $f2, $f0
/* E292B4 802B6114 3C01802B */ lui $at, %hi(D_802B62D8)
/* E292B8 802B6118 C42462D8 */ lwc1 $f4, %lo(D_802B62D8)($at)
/* E292BC 802B611C 3C07802B */ lui $a3, %hi(D_802B62DC)
/* E292C0 802B6120 8CE762DC */ lw $a3, %lo(D_802B62DC)($a3)
/* E292C4 802B6124 46040001 */ sub.s $f0, $f0, $f4
/* E292C8 802B6128 26250030 */ addiu $a1, $s1, 0x30
/* E292CC 802B612C E622002C */ swc1 $f2, 0x2c($s1)
/* E292D0 802B6130 0C00A7E7 */ jal add_vec2D_polar
/* E292D4 802B6134 E6000000 */ swc1 $f0, ($s0)
/* E292D8 802B6138 3C02800B */ lui $v0, %hi(gCameras)
/* E292DC 802B613C 24421D80 */ addiu $v0, $v0, %lo(gCameras)
/* E292E0 802B6140 C6220028 */ lwc1 $f2, 0x28($s1)
/* E292E4 802B6144 C624002C */ lwc1 $f4, 0x2c($s1)
/* E292E8 802B6148 C6080000 */ lwc1 $f8, ($s0)
/* E292EC 802B614C 44800000 */ mtc1 $zero, $f0
/* E292F0 802B6150 C6260030 */ lwc1 $f6, 0x30($s1)
/* E292F4 802B6154 4600403E */ c.le.s $f8, $f0
/* E292F8 802B6158 E4420060 */ swc1 $f2, 0x60($v0)
/* E292FC 802B615C E4440064 */ swc1 $f4, 0x64($v0)
/* E29300 802B6160 4500004D */ bc1f .L802B6298
/* E29304 802B6164 E4460068 */ swc1 $f6, 0x68($v0)
/* E29308 802B6168 922200B6 */ lbu $v0, 0xb6($s1)
/* E2930C 802B616C 080AD888 */ j .L802B6220
/* E29310 802B6170 24420001 */ addiu $v0, $v0, 1
/* E29314 802B6174 26240028 */ addiu $a0, $s1, 0x28
/* E29318 802B6178 3C10802B */ lui $s0, %hi(D_802B62D0)
/* E2931C 802B617C 261062D0 */ addiu $s0, $s0, %lo(D_802B62D0)
/* E29320 802B6180 C622002C */ lwc1 $f2, 0x2c($s1)
/* E29324 802B6184 C6000000 */ lwc1 $f0, ($s0)
/* E29328 802B6188 3C06802B */ lui $a2, %hi(D_802B62D4)
/* E2932C 802B618C 8CC662D4 */ lw $a2, %lo(D_802B62D4)($a2)
/* E29330 802B6190 46001080 */ add.s $f2, $f2, $f0
/* E29334 802B6194 3C01802B */ lui $at, %hi(D_802B62D8)
/* E29338 802B6198 C42462D8 */ lwc1 $f4, %lo(D_802B62D8)($at)
/* E2933C 802B619C 3C07802B */ lui $a3, %hi(D_802B62DC)
/* E29340 802B61A0 8CE762DC */ lw $a3, %lo(D_802B62DC)($a3)
/* E29344 802B61A4 46040001 */ sub.s $f0, $f0, $f4
/* E29348 802B61A8 26250030 */ addiu $a1, $s1, 0x30
/* E2934C 802B61AC E622002C */ swc1 $f2, 0x2c($s1)
/* E29350 802B61B0 0C00A7E7 */ jal add_vec2D_polar
/* E29354 802B61B4 E6000000 */ swc1 $f0, ($s0)
/* E29358 802B61B8 27A50010 */ addiu $a1, $sp, 0x10
/* E2935C 802B61BC C6200028 */ lwc1 $f0, 0x28($s1)
/* E29360 802B61C0 C622002C */ lwc1 $f2, 0x2c($s1)
/* E29364 802B61C4 C6240030 */ lwc1 $f4, 0x30($s1)
/* E29368 802B61C8 C60C0000 */ lwc1 $f12, ($s0)
/* E2936C 802B61CC 3C02800B */ lui $v0, %hi(gCameras)
/* E29370 802B61D0 24421D80 */ addiu $v0, $v0, %lo(gCameras)
/* E29374 802B61D4 E4400060 */ swc1 $f0, 0x60($v0)
/* E29378 802B61D8 E4420064 */ swc1 $f2, 0x64($v0)
/* E2937C 802B61DC 0C038D45 */ jal func_800E3514
/* E29380 802B61E0 E4440068 */ swc1 $f4, 0x68($v0)
/* E29384 802B61E4 8FA20010 */ lw $v0, 0x10($sp)
/* E29388 802B61E8 0440002B */ bltz $v0, .L802B6298
/* E2938C 802B61EC 46000506 */ mov.s $f20, $f0
/* E29390 802B61F0 24040162 */ addiu $a0, $zero, 0x162
/* E29394 802B61F4 0C052736 */ jal play_sound_at_player
/* E29398 802B61F8 0000282D */ daddu $a1, $zero, $zero
/* E2939C 802B61FC 3C040008 */ lui $a0, 8
/* E293A0 802B6200 0C037FDE */ jal func_800DFF78
/* E293A4 802B6204 34840003 */ ori $a0, $a0, 3
/* E293A8 802B6208 922200B6 */ lbu $v0, 0xb6($s1)
/* E293AC 802B620C 2403000A */ addiu $v1, $zero, 0xa
/* E293B0 802B6210 E634002C */ swc1 $f20, 0x2c($s1)
/* E293B4 802B6214 3C01802B */ lui $at, %hi(D_802B62E0)
/* E293B8 802B6218 AC2362E0 */ sw $v1, %lo(D_802B62E0)($at)
/* E293BC 802B621C 24420001 */ addiu $v0, $v0, 1
.L802B6220:
/* E293C0 802B6220 080AD8A6 */ j .L802B6298
/* E293C4 802B6224 A22200B6 */ sb $v0, 0xb6($s1)
/* E293C8 802B6228 962200BC */ lhu $v0, 0xbc($s1)
/* E293CC 802B622C 1040001A */ beqz $v0, .L802B6298
/* E293D0 802B6230 3C040001 */ lui $a0, 1
/* E293D4 802B6234 0C037FDE */ jal func_800DFF78
/* E293D8 802B6238 34840030 */ ori $a0, $a0, 0x30
/* E293DC 802B623C 24020005 */ addiu $v0, $zero, 5
/* E293E0 802B6240 A22200B6 */ sb $v0, 0xb6($s1)
/* E293E4 802B6244 2402000F */ addiu $v0, $zero, 0xf
/* E293E8 802B6248 080AD8A6 */ j .L802B6298
/* E293EC 802B624C A6220008 */ sh $v0, 8($s1)
/* E293F0 802B6250 86220008 */ lh $v0, 8($s1)
/* E293F4 802B6254 96230008 */ lhu $v1, 8($s1)
/* E293F8 802B6258 10400003 */ beqz $v0, .L802B6268
/* E293FC 802B625C 2462FFFF */ addiu $v0, $v1, -1
/* E29400 802B6260 080AD8A6 */ j .L802B6298
/* E29404 802B6264 A6220008 */ sh $v0, 8($s1)
.L802B6268:
/* E29408 802B6268 0C038050 */ jal enable_player_static_collisions
/* E2940C 802B626C 00000000 */ nop
/* E29410 802B6270 0C038069 */ jal enable_player_input
/* E29414 802B6274 00000000 */ nop
/* E29418 802B6278 0C039769 */ jal set_action_state
/* E2941C 802B627C 0000202D */ daddu $a0, $zero, $zero
/* E29420 802B6280 3C02800A */ lui $v0, %hi(D_8009A650)
/* E29424 802B6284 2442A650 */ addiu $v0, $v0, %lo(D_8009A650)
/* E29428 802B6288 8C430000 */ lw $v1, ($v0)
/* E2942C 802B628C 2404FFBF */ addiu $a0, $zero, -0x41
/* E29430 802B6290 00641824 */ and $v1, $v1, $a0
/* E29434 802B6294 AC430000 */ sw $v1, ($v0)
.L802B6298:
/* E29438 802B6298 8FBF0020 */ lw $ra, 0x20($sp)
/* E2943C 802B629C 8FB1001C */ lw $s1, 0x1c($sp)
/* E29440 802B62A0 8FB00018 */ lw $s0, 0x18($sp)
/* E29444 802B62A4 D7B40028 */ ldc1 $f20, 0x28($sp)
/* E29448 802B62A8 03E00008 */ jr $ra
/* E2944C 802B62AC 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -0,0 +1,45 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6000_E29470
/* E29470 802B6000 27BDFFB0 */ addiu $sp, $sp, -0x50
/* E29474 802B6004 3C048011 */ lui $a0, %hi(gPlayerStatus)
/* E29478 802B6008 2484EFC8 */ addiu $a0, $a0, %lo(gPlayerStatus)
/* E2947C 802B600C 27A50028 */ addiu $a1, $sp, 0x28
/* E29480 802B6010 27A6002C */ addiu $a2, $sp, 0x2c
/* E29484 802B6014 AFBF0048 */ sw $ra, 0x48($sp)
/* E29488 802B6018 848200B0 */ lh $v0, 0xb0($a0)
/* E2948C 802B601C 3C013FE0 */ lui $at, 0x3fe0
/* E29490 802B6020 44810800 */ mtc1 $at, $f1
/* E29494 802B6024 44800000 */ mtc1 $zero, $f0
/* E29498 802B6028 44823000 */ mtc1 $v0, $f6
/* E2949C 802B602C 00000000 */ nop
/* E294A0 802B6030 468031A0 */ cvt.s.w $f6, $f6
/* E294A4 802B6034 460030A1 */ cvt.d.s $f2, $f6
/* E294A8 802B6038 46201082 */ mul.d $f2, $f2, $f0
/* E294AC 802B603C 00000000 */ nop
/* E294B0 802B6040 27A70030 */ addiu $a3, $sp, 0x30
/* E294B4 802B6044 C4840028 */ lwc1 $f4, 0x28($a0)
/* E294B8 802B6048 C480002C */ lwc1 $f0, 0x2c($a0)
/* E294BC 802B604C 27A20034 */ addiu $v0, $sp, 0x34
/* E294C0 802B6050 E7A40028 */ swc1 $f4, 0x28($sp)
/* E294C4 802B6054 C4840030 */ lwc1 $f4, 0x30($a0)
/* E294C8 802B6058 46000021 */ cvt.d.s $f0, $f0
/* E294CC 802B605C 46220000 */ add.d $f0, $f0, $f2
/* E294D0 802B6060 E7A60034 */ swc1 $f6, 0x34($sp)
/* E294D4 802B6064 E7A40030 */ swc1 $f4, 0x30($sp)
/* E294D8 802B6068 46200020 */ cvt.s.d $f0, $f0
/* E294DC 802B606C E7A0002C */ swc1 $f0, 0x2c($sp)
/* E294E0 802B6070 AFA20010 */ sw $v0, 0x10($sp)
/* E294E4 802B6074 27A20038 */ addiu $v0, $sp, 0x38
/* E294E8 802B6078 AFA20014 */ sw $v0, 0x14($sp)
/* E294EC 802B607C 27A2003C */ addiu $v0, $sp, 0x3c
/* E294F0 802B6080 AFA20018 */ sw $v0, 0x18($sp)
/* E294F4 802B6084 27A20040 */ addiu $v0, $sp, 0x40
/* E294F8 802B6088 AFA2001C */ sw $v0, 0x1c($sp)
/* E294FC 802B608C 27A20044 */ addiu $v0, $sp, 0x44
/* E29500 802B6090 0C03791B */ jal func_800DE46C
/* E29504 802B6094 AFA20020 */ sw $v0, 0x20($sp)
/* E29508 802B6098 8FBF0048 */ lw $ra, 0x48($sp)
/* E2950C 802B609C 03E00008 */ jr $ra
/* E29510 802B60A0 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -0,0 +1,925 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B60A4_E29514
/* E29514 802B60A4 27BDFF98 */ addiu $sp, $sp, -0x68
/* E29518 802B60A8 AFB30034 */ sw $s3, 0x34($sp)
/* E2951C 802B60AC 3C138011 */ lui $s3, %hi(gPlayerStatus)
/* E29520 802B60B0 2673EFC8 */ addiu $s3, $s3, %lo(gPlayerStatus)
/* E29524 802B60B4 AFBF003C */ sw $ra, 0x3c($sp)
/* E29528 802B60B8 AFB40038 */ sw $s4, 0x38($sp)
/* E2952C 802B60BC AFB20030 */ sw $s2, 0x30($sp)
/* E29530 802B60C0 AFB1002C */ sw $s1, 0x2c($sp)
/* E29534 802B60C4 AFB00028 */ sw $s0, 0x28($sp)
/* E29538 802B60C8 F7BC0060 */ sdc1 $f28, 0x60($sp)
/* E2953C 802B60CC F7BA0058 */ sdc1 $f26, 0x58($sp)
/* E29540 802B60D0 F7B80050 */ sdc1 $f24, 0x50($sp)
/* E29544 802B60D4 F7B60048 */ sdc1 $f22, 0x48($sp)
/* E29548 802B60D8 F7B40040 */ sdc1 $f20, 0x40($sp)
/* E2954C 802B60DC 8E650000 */ lw $a1, ($s3)
/* E29550 802B60E0 04A10032 */ bgez $a1, .L802B61AC
/* E29554 802B60E4 3C037FFF */ lui $v1, 0x7fff
/* E29558 802B60E8 3463FFFF */ ori $v1, $v1, 0xffff
/* E2955C 802B60EC 3C04800A */ lui $a0, %hi(D_8009A650)
/* E29560 802B60F0 2484A650 */ addiu $a0, $a0, %lo(D_8009A650)
/* E29564 802B60F4 8C820000 */ lw $v0, ($a0)
/* E29568 802B60F8 00A31824 */ and $v1, $a1, $v1
/* E2956C 802B60FC AE630000 */ sw $v1, ($s3)
/* E29570 802B6100 34420040 */ ori $v0, $v0, 0x40
/* E29574 802B6104 0C03BCC0 */ jal func_800EF300
/* E29578 802B6108 AC820000 */ sw $v0, ($a0)
/* E2957C 802B610C C660002C */ lwc1 $f0, 0x2c($s3)
/* E29580 802B6110 3C014040 */ lui $at, 0x4040
/* E29584 802B6114 44811000 */ mtc1 $at, $f2
/* E29588 802B6118 24020001 */ addiu $v0, $zero, 1
/* E2958C 802B611C A26200B6 */ sb $v0, 0xb6($s3)
/* E29590 802B6120 A6600008 */ sh $zero, 8($s3)
/* E29594 802B6124 3C01802B */ lui $at, %hi(D_802B6EE4)
/* E29598 802B6128 AC206EE4 */ sw $zero, %lo(D_802B6EE4)($at)
/* E2959C 802B612C 3C01802B */ lui $at, %hi(D_802B6EE8)
/* E295A0 802B6130 AC206EE8 */ sw $zero, %lo(D_802B6EE8)($at)
/* E295A4 802B6134 3C01802B */ lui $at, %hi(D_802B6EF4)
/* E295A8 802B6138 E4206EF4 */ swc1 $f0, %lo(D_802B6EF4)($at)
/* E295AC 802B613C 3C01802B */ lui $at, %hi(D_802B6EDC)
/* E295B0 802B6140 E4226EDC */ swc1 $f2, %lo(D_802B6EDC)($at)
/* E295B4 802B6144 0C038045 */ jal disable_player_static_collisions
/* E295B8 802B6148 00000000 */ nop
/* E295BC 802B614C 0C03805E */ jal disable_player_input
/* E295C0 802B6150 00000000 */ nop
/* E295C4 802B6154 3C030010 */ lui $v1, 0x10
/* E295C8 802B6158 8E620000 */ lw $v0, ($s3)
/* E295CC 802B615C 3C048016 */ lui $a0, %hi(gCollisionStatus+0x2)
/* E295D0 802B6160 8484A552 */ lh $a0, %lo(gCollisionStatus+0x2)($a0)
/* E295D4 802B6164 00431025 */ or $v0, $v0, $v1
/* E295D8 802B6168 3C03802B */ lui $v1, %hi(D_802B6ED0)
/* E295DC 802B616C 24636ED0 */ addiu $v1, $v1, %lo(D_802B6ED0)
/* E295E0 802B6170 AE620000 */ sw $v0, ($s3)
/* E295E4 802B6174 04800004 */ bltz $a0, .L802B6188
/* E295E8 802B6178 AFA40020 */ sw $a0, 0x20($sp)
/* E295EC 802B617C 30824000 */ andi $v0, $a0, 0x4000
/* E295F0 802B6180 14400002 */ bnez $v0, .L802B618C
/* E295F4 802B6184 308203FF */ andi $v0, $a0, 0x3ff
.L802B6188:
/* E295F8 802B6188 2402FFFF */ addiu $v0, $zero, -1
.L802B618C:
/* E295FC 802B618C AC620000 */ sw $v0, ($v1)
/* E29600 802B6190 8E620004 */ lw $v0, 4($s3)
/* E29604 802B6194 30420003 */ andi $v0, $v0, 3
/* E29608 802B6198 14400004 */ bnez $v0, .L802B61AC
/* E2960C 802B619C 00000000 */ nop
/* E29610 802B61A0 3C040001 */ lui $a0, 1
/* E29614 802B61A4 0C037FBF */ jal func_800DFEFC
/* E29618 802B61A8 3484002B */ ori $a0, $a0, 0x2b
.L802B61AC:
/* E2961C 802B61AC 826300B6 */ lb $v1, 0xb6($s3)
/* E29620 802B61B0 24020001 */ addiu $v0, $zero, 1
/* E29624 802B61B4 10620005 */ beq $v1, $v0, .L802B61CC
/* E29628 802B61B8 24020002 */ addiu $v0, $zero, 2
/* E2962C 802B61BC 106200F6 */ beq $v1, $v0, .L802B6598
/* E29630 802B61C0 00000000 */ nop
/* E29634 802B61C4 080AD9D6 */ j .L802B6758
/* E29638 802B61C8 00000000 */ nop
.L802B61CC:
/* E2963C 802B61CC 3C04802B */ lui $a0, %hi(D_802B6EE4)
/* E29640 802B61D0 24846EE4 */ addiu $a0, $a0, %lo(D_802B6EE4)
/* E29644 802B61D4 3C03800A */ lui $v1, %hi(D_8009A650)
/* E29648 802B61D8 2463A650 */ addiu $v1, $v1, %lo(D_8009A650)
/* E2964C 802B61DC C4800000 */ lwc1 $f0, ($a0)
/* E29650 802B61E0 3C013F80 */ lui $at, 0x3f80
/* E29654 802B61E4 4481E000 */ mtc1 $at, $f28
/* E29658 802B61E8 8C620000 */ lw $v0, ($v1)
/* E2965C 802B61EC 3C0141A0 */ lui $at, 0x41a0
/* E29660 802B61F0 44811000 */ mtc1 $at, $f2
/* E29664 802B61F4 461C0000 */ add.s $f0, $f0, $f28
/* E29668 802B61F8 34420040 */ ori $v0, $v0, 0x40
/* E2966C 802B61FC AC620000 */ sw $v0, ($v1)
/* E29670 802B6200 4600103E */ c.le.s $f2, $f0
/* E29674 802B6204 00000000 */ nop
/* E29678 802B6208 45000002 */ bc1f .L802B6214
/* E2967C 802B620C E4800000 */ swc1 $f0, ($a0)
/* E29680 802B6210 E4820000 */ swc1 $f2, ($a0)
.L802B6214:
/* E29684 802B6214 C66000A8 */ lwc1 $f0, 0xa8($s3)
/* E29688 802B6218 C48C0000 */ lwc1 $f12, ($a0)
/* E2968C 802B621C 0C00A6C9 */ jal clamp_angle
/* E29690 802B6220 460C0300 */ add.s $f12, $f0, $f12
/* E29694 802B6224 86620008 */ lh $v0, 8($s3)
/* E29698 802B6228 96630008 */ lhu $v1, 8($s3)
/* E2969C 802B622C 2842000A */ slti $v0, $v0, 0xa
/* E296A0 802B6230 10400008 */ beqz $v0, .L802B6254
/* E296A4 802B6234 E66000A8 */ swc1 $f0, 0xa8($s3)
/* E296A8 802B6238 3C02802B */ lui $v0, %hi(D_802B6EF4)
/* E296AC 802B623C 24426EF4 */ addiu $v0, $v0, %lo(D_802B6EF4)
/* E296B0 802B6240 C4400000 */ lwc1 $f0, ($v0)
/* E296B4 802B6244 461C0000 */ add.s $f0, $f0, $f28
/* E296B8 802B6248 24630001 */ addiu $v1, $v1, 1
/* E296BC 802B624C A6630008 */ sh $v1, 8($s3)
/* E296C0 802B6250 E4400000 */ swc1 $f0, ($v0)
.L802B6254:
/* E296C4 802B6254 3C02802B */ lui $v0, %hi(D_802B6EE8)
/* E296C8 802B6258 24426EE8 */ addiu $v0, $v0, %lo(D_802B6EE8)
/* E296CC 802B625C C44C0000 */ lwc1 $f12, ($v0)
/* E296D0 802B6260 3C014100 */ lui $at, 0x4100
/* E296D4 802B6264 44810000 */ mtc1 $at, $f0
/* E296D8 802B6268 00000000 */ nop
/* E296DC 802B626C 46006300 */ add.s $f12, $f12, $f0
/* E296E0 802B6270 3C0140C9 */ lui $at, 0x40c9
/* E296E4 802B6274 34210FD0 */ ori $at, $at, 0xfd0
/* E296E8 802B6278 4481A000 */ mtc1 $at, $f20
/* E296EC 802B627C 0C00A6C9 */ jal clamp_angle
/* E296F0 802B6280 E44C0000 */ swc1 $f12, ($v0)
/* E296F4 802B6284 46140002 */ mul.s $f0, $f0, $f20
/* E296F8 802B6288 00000000 */ nop
/* E296FC 802B628C 3C0143B4 */ lui $at, 0x43b4
/* E29700 802B6290 4481B000 */ mtc1 $at, $f22
/* E29704 802B6294 3C014080 */ lui $at, 0x4080
/* E29708 802B6298 4481D000 */ mtc1 $at, $f26
/* E2970C 802B629C 0C00A85B */ jal sin_rad
/* E29710 802B62A0 46160303 */ div.s $f12, $f0, $f22
/* E29714 802B62A4 461A0002 */ mul.s $f0, $f0, $f26
/* E29718 802B62A8 00000000 */ nop
/* E2971C 802B62AC 3C01802B */ lui $at, %hi(D_802B6EF4)
/* E29720 802B62B0 C4226EF4 */ lwc1 $f2, %lo(D_802B6EF4)($at)
/* E29724 802B62B4 46001080 */ add.s $f2, $f2, $f0
/* E29728 802B62B8 3C04802B */ lui $a0, %hi(D_802B6ED0)
/* E2972C 802B62BC 8C846ED0 */ lw $a0, %lo(D_802B6ED0)($a0)
/* E29730 802B62C0 04800042 */ bltz $a0, .L802B63CC
/* E29734 802B62C4 E662002C */ swc1 $f2, 0x2c($s3)
/* E29738 802B62C8 0C04417A */ jal get_entity_by_index
/* E2973C 802B62CC 00000000 */ nop
/* E29740 802B62D0 0040902D */ daddu $s2, $v0, $zero
/* E29744 802B62D4 C64C0048 */ lwc1 $f12, 0x48($s2)
/* E29748 802B62D8 C64E0050 */ lwc1 $f14, 0x50($s2)
/* E2974C 802B62DC 8E660028 */ lw $a2, 0x28($s3)
/* E29750 802B62E0 0C00A7B5 */ jal dist2D
/* E29754 802B62E4 8E670030 */ lw $a3, 0x30($s3)
/* E29758 802B62E8 C64C0048 */ lwc1 $f12, 0x48($s2)
/* E2975C 802B62EC C64E0050 */ lwc1 $f14, 0x50($s2)
/* E29760 802B62F0 8E660028 */ lw $a2, 0x28($s3)
/* E29764 802B62F4 8E670030 */ lw $a3, 0x30($s3)
/* E29768 802B62F8 0C00A720 */ jal atan2
/* E2976C 802B62FC 46000606 */ mov.s $f24, $f0
/* E29770 802B6300 3C14802B */ lui $s4, %hi(D_802B6EEC)
/* E29774 802B6304 26946EEC */ addiu $s4, $s4, %lo(D_802B6EEC)
/* E29778 802B6308 4618D03C */ c.lt.s $f26, $f24
/* E2977C 802B630C 00000000 */ nop
/* E29780 802B6310 45000002 */ bc1f .L802B631C
/* E29784 802B6314 E6800000 */ swc1 $f0, ($s4)
/* E29788 802B6318 461CC601 */ sub.s $f24, $f24, $f28
.L802B631C:
/* E2978C 802B631C 46140302 */ mul.s $f12, $f0, $f20
/* E29790 802B6320 00000000 */ nop
/* E29794 802B6324 27B00010 */ addiu $s0, $sp, 0x10
/* E29798 802B6328 0200282D */ daddu $a1, $s0, $zero
/* E2979C 802B632C 27B10014 */ addiu $s1, $sp, 0x14
/* E297A0 802B6330 0220302D */ daddu $a2, $s1, $zero
/* E297A4 802B6334 0C00A82D */ jal sin_cos_rad
/* E297A8 802B6338 46166303 */ div.s $f12, $f12, $f22
/* E297AC 802B633C C7A20010 */ lwc1 $f2, 0x10($sp)
/* E297B0 802B6340 46181082 */ mul.s $f2, $f2, $f24
/* E297B4 802B6344 00000000 */ nop
/* E297B8 802B6348 C7A40014 */ lwc1 $f4, 0x14($sp)
/* E297BC 802B634C 46182102 */ mul.s $f4, $f4, $f24
/* E297C0 802B6350 00000000 */ nop
/* E297C4 802B6354 C68C0000 */ lwc1 $f12, ($s4)
/* E297C8 802B6358 3C0142B6 */ lui $at, 0x42b6
/* E297CC 802B635C 44810000 */ mtc1 $at, $f0
/* E297D0 802B6360 00000000 */ nop
/* E297D4 802B6364 46006301 */ sub.s $f12, $f12, $f0
/* E297D8 802B6368 C6400048 */ lwc1 $f0, 0x48($s2)
/* E297DC 802B636C 46020000 */ add.s $f0, $f0, $f2
/* E297E0 802B6370 46146302 */ mul.s $f12, $f12, $f20
/* E297E4 802B6374 00000000 */ nop
/* E297E8 802B6378 E6600028 */ swc1 $f0, 0x28($s3)
/* E297EC 802B637C C6400050 */ lwc1 $f0, 0x50($s2)
/* E297F0 802B6380 0200282D */ daddu $a1, $s0, $zero
/* E297F4 802B6384 46040001 */ sub.s $f0, $f0, $f4
/* E297F8 802B6388 0220302D */ daddu $a2, $s1, $zero
/* E297FC 802B638C 46166303 */ div.s $f12, $f12, $f22
/* E29800 802B6390 0C00A82D */ jal sin_cos_rad
/* E29804 802B6394 E6600030 */ swc1 $f0, 0x30($s3)
/* E29808 802B6398 C7A20010 */ lwc1 $f2, 0x10($sp)
/* E2980C 802B639C 3C01802B */ lui $at, %hi(D_802B6EDC)
/* E29810 802B63A0 C4246EDC */ lwc1 $f4, %lo(D_802B6EDC)($at)
/* E29814 802B63A4 46041082 */ mul.s $f2, $f2, $f4
/* E29818 802B63A8 00000000 */ nop
/* E2981C 802B63AC C7A00014 */ lwc1 $f0, 0x14($sp)
/* E29820 802B63B0 46000007 */ neg.s $f0, $f0
/* E29824 802B63B4 46040002 */ mul.s $f0, $f0, $f4
/* E29828 802B63B8 00000000 */ nop
/* E2982C 802B63BC 3C01802B */ lui $at, %hi(D_802B6ED4)
/* E29830 802B63C0 E4226ED4 */ swc1 $f2, %lo(D_802B6ED4)($at)
/* E29834 802B63C4 3C01802B */ lui $at, %hi(D_802B6ED8)
/* E29838 802B63C8 E4206ED8 */ swc1 $f0, %lo(D_802B6ED8)($at)
.L802B63CC:
/* E2983C 802B63CC 27A40018 */ addiu $a0, $sp, 0x18
/* E29840 802B63D0 0C0388FF */ jal func_800E23FC
/* E29844 802B63D4 27A5001C */ addiu $a1, $sp, 0x1c
/* E29848 802B63D8 C7A2001C */ lwc1 $f2, 0x1c($sp)
/* E2984C 802B63DC 44800000 */ mtc1 $zero, $f0
/* E29850 802B63E0 00000000 */ nop
/* E29854 802B63E4 46001032 */ c.eq.s $f2, $f0
/* E29858 802B63E8 00000000 */ nop
/* E2985C 802B63EC 4501002C */ bc1t .L802B64A0
/* E29860 802B63F0 27A50010 */ addiu $a1, $sp, 0x10
/* E29864 802B63F4 C7AC0018 */ lwc1 $f12, 0x18($sp)
/* E29868 802B63F8 3C0140C9 */ lui $at, 0x40c9
/* E2986C 802B63FC 34210FD0 */ ori $at, $at, 0xfd0
/* E29870 802B6400 44810000 */ mtc1 $at, $f0
/* E29874 802B6404 00000000 */ nop
/* E29878 802B6408 46006302 */ mul.s $f12, $f12, $f0
/* E2987C 802B640C 00000000 */ nop
/* E29880 802B6410 3C0143B4 */ lui $at, 0x43b4
/* E29884 802B6414 44810000 */ mtc1 $at, $f0
/* E29888 802B6418 27A60014 */ addiu $a2, $sp, 0x14
/* E2988C 802B641C 0C00A82D */ jal sin_cos_rad
/* E29890 802B6420 46006303 */ div.s $f12, $f12, $f0
/* E29894 802B6424 C7A4001C */ lwc1 $f4, 0x1c($sp)
/* E29898 802B6428 3C013D00 */ lui $at, 0x3d00
/* E2989C 802B642C 44810000 */ mtc1 $at, $f0
/* E298A0 802B6430 00000000 */ nop
/* E298A4 802B6434 46002102 */ mul.s $f4, $f4, $f0
/* E298A8 802B6438 00000000 */ nop
/* E298AC 802B643C 3C01802B */ lui $at, %hi(D_802B6E90)
/* E298B0 802B6440 D4226E90 */ ldc1 $f2, %lo(D_802B6E90)($at)
/* E298B4 802B6444 46002021 */ cvt.d.s $f0, $f4
/* E298B8 802B6448 4622003C */ c.lt.d $f0, $f2
/* E298BC 802B644C 00000000 */ nop
/* E298C0 802B6450 45000006 */ bc1f .L802B646C
/* E298C4 802B6454 E7A4001C */ swc1 $f4, 0x1c($sp)
/* E298C8 802B6458 3C013DCC */ lui $at, 0x3dcc
/* E298CC 802B645C 3421CCCD */ ori $at, $at, 0xcccd
/* E298D0 802B6460 44810000 */ mtc1 $at, $f0
/* E298D4 802B6464 00000000 */ nop
/* E298D8 802B6468 E7A0001C */ swc1 $f0, 0x1c($sp)
.L802B646C:
/* E298DC 802B646C C7A00010 */ lwc1 $f0, 0x10($sp)
/* E298E0 802B6470 C7A2001C */ lwc1 $f2, 0x1c($sp)
/* E298E4 802B6474 46020002 */ mul.s $f0, $f0, $f2
/* E298E8 802B6478 00000000 */ nop
/* E298EC 802B647C C7A40014 */ lwc1 $f4, 0x14($sp)
/* E298F0 802B6480 46022102 */ mul.s $f4, $f4, $f2
/* E298F4 802B6484 00000000 */ nop
/* E298F8 802B6488 C6620028 */ lwc1 $f2, 0x28($s3)
/* E298FC 802B648C 46001080 */ add.s $f2, $f2, $f0
/* E29900 802B6490 C6600030 */ lwc1 $f0, 0x30($s3)
/* E29904 802B6494 46040001 */ sub.s $f0, $f0, $f4
/* E29908 802B6498 E6620028 */ swc1 $f2, 0x28($s3)
/* E2990C 802B649C E6600030 */ swc1 $f0, 0x30($s3)
.L802B64A0:
/* E29910 802B64A0 C6600028 */ lwc1 $f0, 0x28($s3)
/* E29914 802B64A4 C662002C */ lwc1 $f2, 0x2c($s3)
/* E29918 802B64A8 C6640030 */ lwc1 $f4, 0x30($s3)
/* E2991C 802B64AC 3C02800B */ lui $v0, %hi(gCameras)
/* E29920 802B64B0 24421D80 */ addiu $v0, $v0, %lo(gCameras)
/* E29924 802B64B4 E4400060 */ swc1 $f0, 0x60($v0)
/* E29928 802B64B8 E4420064 */ swc1 $f2, 0x64($v0)
/* E2992C 802B64BC 0C0AD800 */ jal func_802B6000_E29470
/* E29930 802B64C0 E4440068 */ swc1 $f4, 0x68($v0)
/* E29934 802B64C4 04400004 */ bltz $v0, .L802B64D8
/* E29938 802B64C8 AFA20020 */ sw $v0, 0x20($sp)
/* E2993C 802B64CC 30424000 */ andi $v0, $v0, 0x4000
/* E29940 802B64D0 14400014 */ bnez $v0, .L802B6524
/* E29944 802B64D4 00000000 */ nop
.L802B64D8:
/* E29948 802B64D8 C660002C */ lwc1 $f0, 0x2c($s3)
/* E2994C 802B64DC 24020014 */ addiu $v0, $zero, 0x14
/* E29950 802B64E0 A6620008 */ sh $v0, 8($s3)
/* E29954 802B64E4 3C01802B */ lui $at, %hi(D_802B6EE8)
/* E29958 802B64E8 AC206EE8 */ sw $zero, %lo(D_802B6EE8)($at)
/* E2995C 802B64EC 3C01802B */ lui $at, %hi(D_802B6EF4)
/* E29960 802B64F0 E4206EF4 */ swc1 $f0, %lo(D_802B6EF4)($at)
/* E29964 802B64F4 926200B6 */ lbu $v0, 0xb6($s3)
/* E29968 802B64F8 3C013FCC */ lui $at, 0x3fcc
/* E2996C 802B64FC 3421CCCD */ ori $at, $at, 0xcccd
/* E29970 802B6500 44810000 */ mtc1 $at, $f0
/* E29974 802B6504 24420001 */ addiu $v0, $v0, 1
/* E29978 802B6508 A26200B6 */ sb $v0, 0xb6($s3)
/* E2997C 802B650C 8E620000 */ lw $v0, ($s3)
/* E29980 802B6510 3C030080 */ lui $v1, 0x80
/* E29984 802B6514 3C01802B */ lui $at, %hi(D_802B6EF0)
/* E29988 802B6518 E4206EF0 */ swc1 $f0, %lo(D_802B6EF0)($at)
/* E2998C 802B651C 00431025 */ or $v0, $v0, $v1
/* E29990 802B6520 AE620000 */ sw $v0, ($s3)
.L802B6524:
/* E29994 802B6524 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* E29998 802B6528 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* E2999C 802B652C 8C420010 */ lw $v0, 0x10($v0)
/* E299A0 802B6530 30422000 */ andi $v0, $v0, 0x2000
/* E299A4 802B6534 10400088 */ beqz $v0, .L802B6758
/* E299A8 802B6538 00000000 */ nop
/* E299AC 802B653C 8E620004 */ lw $v0, 4($s3)
/* E299B0 802B6540 30420003 */ andi $v0, $v0, 3
/* E299B4 802B6544 14400084 */ bnez $v0, .L802B6758
/* E299B8 802B6548 3C040001 */ lui $a0, 1
/* E299BC 802B654C 0C037FDE */ jal func_800DFF78
/* E299C0 802B6550 34840007 */ ori $a0, $a0, 7
/* E299C4 802B6554 3C04802B */ lui $a0, %hi(D_802B6ED0)
/* E299C8 802B6558 8C846ED0 */ lw $a0, %lo(D_802B6ED0)($a0)
/* E299CC 802B655C 24020003 */ addiu $v0, $zero, 3
/* E299D0 802B6560 A26200B6 */ sb $v0, 0xb6($s3)
/* E299D4 802B6564 2402001E */ addiu $v0, $zero, 0x1e
/* E299D8 802B6568 A6620008 */ sh $v0, 8($s3)
/* E299DC 802B656C 2402FFFF */ addiu $v0, $zero, -1
/* E299E0 802B6570 3C01802B */ lui $at, %hi(D_802B6EE0)
/* E299E4 802B6574 AC206EE0 */ sw $zero, %lo(D_802B6EE0)($at)
/* E299E8 802B6578 3C018016 */ lui $at, %hi(gCollisionStatus+0x2)
/* E299EC 802B657C A422A552 */ sh $v0, %lo(gCollisionStatus+0x2)($at)
/* E299F0 802B6580 0C04417A */ jal get_entity_by_index
/* E299F4 802B6584 00000000 */ nop
/* E299F8 802B6588 0C043F5A */ jal func_8010FD68
/* E299FC 802B658C 0040202D */ daddu $a0, $v0, $zero
/* E29A00 802B6590 080AD9D6 */ j .L802B6758
/* E29A04 802B6594 00000000 */ nop
.L802B6598:
/* E29A08 802B6598 3C04802B */ lui $a0, %hi(D_802B6EE4)
/* E29A0C 802B659C 24846EE4 */ addiu $a0, $a0, %lo(D_802B6EE4)
/* E29A10 802B65A0 3C11800A */ lui $s1, %hi(D_8009A650)
/* E29A14 802B65A4 2631A650 */ addiu $s1, $s1, %lo(D_8009A650)
/* E29A18 802B65A8 C4800000 */ lwc1 $f0, ($a0)
/* E29A1C 802B65AC 3C013F80 */ lui $at, 0x3f80
/* E29A20 802B65B0 44811000 */ mtc1 $at, $f2
/* E29A24 802B65B4 8E220000 */ lw $v0, ($s1)
/* E29A28 802B65B8 46020001 */ sub.s $f0, $f0, $f2
/* E29A2C 802B65BC 44801000 */ mtc1 $zero, $f2
/* E29A30 802B65C0 34420040 */ ori $v0, $v0, 0x40
/* E29A34 802B65C4 AE220000 */ sw $v0, ($s1)
/* E29A38 802B65C8 4602003C */ c.lt.s $f0, $f2
/* E29A3C 802B65CC 00000000 */ nop
/* E29A40 802B65D0 45000007 */ bc1f .L802B65F0
/* E29A44 802B65D4 E4800000 */ swc1 $f0, ($a0)
/* E29A48 802B65D8 3C03FFEF */ lui $v1, 0xffef
/* E29A4C 802B65DC 8E620000 */ lw $v0, ($s3)
/* E29A50 802B65E0 3463FFFF */ ori $v1, $v1, 0xffff
/* E29A54 802B65E4 E4820000 */ swc1 $f2, ($a0)
/* E29A58 802B65E8 00431024 */ and $v0, $v0, $v1
/* E29A5C 802B65EC AE620000 */ sw $v0, ($s3)
.L802B65F0:
/* E29A60 802B65F0 C66000A8 */ lwc1 $f0, 0xa8($s3)
/* E29A64 802B65F4 C48C0000 */ lwc1 $f12, ($a0)
/* E29A68 802B65F8 0C00A6C9 */ jal clamp_angle
/* E29A6C 802B65FC 460C0300 */ add.s $f12, $f0, $f12
/* E29A70 802B6600 3C01802B */ lui $at, %hi(D_802B6EEC)
/* E29A74 802B6604 C42C6EEC */ lwc1 $f12, %lo(D_802B6EEC)($at)
/* E29A78 802B6608 3C014270 */ lui $at, 0x4270
/* E29A7C 802B660C 44811000 */ mtc1 $at, $f2
/* E29A80 802B6610 00000000 */ nop
/* E29A84 802B6614 46026301 */ sub.s $f12, $f12, $f2
/* E29A88 802B6618 3C0140C9 */ lui $at, 0x40c9
/* E29A8C 802B661C 34210FD0 */ ori $at, $at, 0xfd0
/* E29A90 802B6620 44811000 */ mtc1 $at, $f2
/* E29A94 802B6624 00000000 */ nop
/* E29A98 802B6628 46026302 */ mul.s $f12, $f12, $f2
/* E29A9C 802B662C 00000000 */ nop
/* E29AA0 802B6630 27A50010 */ addiu $a1, $sp, 0x10
/* E29AA4 802B6634 3C0143B4 */ lui $at, 0x43b4
/* E29AA8 802B6638 44811000 */ mtc1 $at, $f2
/* E29AAC 802B663C 27A60014 */ addiu $a2, $sp, 0x14
/* E29AB0 802B6640 E66000A8 */ swc1 $f0, 0xa8($s3)
/* E29AB4 802B6644 0C00A82D */ jal sin_cos_rad
/* E29AB8 802B6648 46026303 */ div.s $f12, $f12, $f2
/* E29ABC 802B664C 3C02802B */ lui $v0, %hi(D_802B6EDC)
/* E29AC0 802B6650 24426EDC */ addiu $v0, $v0, %lo(D_802B6EDC)
/* E29AC4 802B6654 C4400000 */ lwc1 $f0, ($v0)
/* E29AC8 802B6658 3C01802B */ lui $at, %hi(D_802B6E98)
/* E29ACC 802B665C D4226E98 */ ldc1 $f2, %lo(D_802B6E98)($at)
/* E29AD0 802B6660 46000021 */ cvt.d.s $f0, $f0
/* E29AD4 802B6664 46220000 */ add.d $f0, $f0, $f2
/* E29AD8 802B6668 C7A80010 */ lwc1 $f8, 0x10($sp)
/* E29ADC 802B666C 46200020 */ cvt.s.d $f0, $f0
/* E29AE0 802B6670 46004202 */ mul.s $f8, $f8, $f0
/* E29AE4 802B6674 00000000 */ nop
/* E29AE8 802B6678 3C10802B */ lui $s0, %hi(D_802B6EF0)
/* E29AEC 802B667C 26106EF0 */ addiu $s0, $s0, %lo(D_802B6EF0)
/* E29AF0 802B6680 C6020000 */ lwc1 $f2, ($s0)
/* E29AF4 802B6684 3C01802B */ lui $at, %hi(D_802B6EA0)
/* E29AF8 802B6688 D4246EA0 */ ldc1 $f4, %lo(D_802B6EA0)($at)
/* E29AFC 802B668C 460010A1 */ cvt.d.s $f2, $f2
/* E29B00 802B6690 46241081 */ sub.d $f2, $f2, $f4
/* E29B04 802B6694 C7A40014 */ lwc1 $f4, 0x14($sp)
/* E29B08 802B6698 46002107 */ neg.s $f4, $f4
/* E29B0C 802B669C 46002102 */ mul.s $f4, $f4, $f0
/* E29B10 802B66A0 00000000 */ nop
/* E29B14 802B66A4 E4400000 */ swc1 $f0, ($v0)
/* E29B18 802B66A8 C6600028 */ lwc1 $f0, 0x28($s3)
/* E29B1C 802B66AC C6660030 */ lwc1 $f6, 0x30($s3)
/* E29B20 802B66B0 46080000 */ add.s $f0, $f0, $f8
/* E29B24 802B66B4 462010A0 */ cvt.s.d $f2, $f2
/* E29B28 802B66B8 E6020000 */ swc1 $f2, ($s0)
/* E29B2C 802B66BC 46043180 */ add.s $f6, $f6, $f4
/* E29B30 802B66C0 3C01802B */ lui $at, %hi(D_802B6ED4)
/* E29B34 802B66C4 E4286ED4 */ swc1 $f8, %lo(D_802B6ED4)($at)
/* E29B38 802B66C8 3C01802B */ lui $at, %hi(D_802B6ED8)
/* E29B3C 802B66CC E4246ED8 */ swc1 $f4, %lo(D_802B6ED8)($at)
/* E29B40 802B66D0 E6600028 */ swc1 $f0, 0x28($s3)
/* E29B44 802B66D4 0C0392EE */ jal func_800E4BB8
/* E29B48 802B66D8 E6660030 */ swc1 $f6, 0x30($s3)
/* E29B4C 802B66DC C60C0000 */ lwc1 $f12, ($s0)
/* E29B50 802B66E0 0C038D45 */ jal func_800E3514
/* E29B54 802B66E4 27A50020 */ addiu $a1, $sp, 0x20
/* E29B58 802B66E8 E660002C */ swc1 $f0, 0x2c($s3)
/* E29B5C 802B66EC C6600028 */ lwc1 $f0, 0x28($s3)
/* E29B60 802B66F0 C662002C */ lwc1 $f2, 0x2c($s3)
/* E29B64 802B66F4 C6640030 */ lwc1 $f4, 0x30($s3)
/* E29B68 802B66F8 8FA30020 */ lw $v1, 0x20($sp)
/* E29B6C 802B66FC 3C02800B */ lui $v0, %hi(gCameras)
/* E29B70 802B6700 24421D80 */ addiu $v0, $v0, %lo(gCameras)
/* E29B74 802B6704 E4400060 */ swc1 $f0, 0x60($v0)
/* E29B78 802B6708 E4420064 */ swc1 $f2, 0x64($v0)
/* E29B7C 802B670C 04600012 */ bltz $v1, .L802B6758
/* E29B80 802B6710 E4440068 */ swc1 $f4, 0x68($v0)
/* E29B84 802B6714 3C03FFEF */ lui $v1, 0xffef
/* E29B88 802B6718 8E620000 */ lw $v0, ($s3)
/* E29B8C 802B671C 3463FFFF */ ori $v1, $v1, 0xffff
/* E29B90 802B6720 00431024 */ and $v0, $v0, $v1
/* E29B94 802B6724 0C038069 */ jal enable_player_input
/* E29B98 802B6728 AE620000 */ sw $v0, ($s3)
/* E29B9C 802B672C 0C038050 */ jal enable_player_static_collisions
/* E29BA0 802B6730 00000000 */ nop
/* E29BA4 802B6734 0C039769 */ jal set_action_state
/* E29BA8 802B6738 2404000A */ addiu $a0, $zero, 0xa
/* E29BAC 802B673C 0C03BCCA */ jal enable_partner_ai
/* E29BB0 802B6740 00000000 */ nop
/* E29BB4 802B6744 8E220000 */ lw $v0, ($s1)
/* E29BB8 802B6748 2403FFBF */ addiu $v1, $zero, -0x41
/* E29BBC 802B674C 00431024 */ and $v0, $v0, $v1
/* E29BC0 802B6750 080ADB96 */ j .L802B6E58
/* E29BC4 802B6754 AE220000 */ sw $v0, ($s1)
.L802B6758:
/* E29BC8 802B6758 926200B6 */ lbu $v0, 0xb6($s3)
/* E29BCC 802B675C 2442FFFD */ addiu $v0, $v0, -3
/* E29BD0 802B6760 00021600 */ sll $v0, $v0, 0x18
/* E29BD4 802B6764 00021E03 */ sra $v1, $v0, 0x18
/* E29BD8 802B6768 2C620009 */ sltiu $v0, $v1, 9
/* E29BDC 802B676C 104001BA */ beqz $v0, .L802B6E58
/* E29BE0 802B6770 00031080 */ sll $v0, $v1, 2
/* E29BE4 802B6774 3C01802B */ lui $at, %hi(D_802B6EA8)
/* E29BE8 802B6778 00220821 */ addu $at, $at, $v0
/* E29BEC 802B677C 8C226EA8 */ lw $v0, %lo(D_802B6EA8)($at)
/* E29BF0 802B6780 00400008 */ jr $v0
/* E29BF4 802B6784 00000000 */ nop
/* E29BF8 802B6788 3C04802B */ lui $a0, %hi(D_802B6ED0)
/* E29BFC 802B678C 8C846ED0 */ lw $a0, %lo(D_802B6ED0)($a0)
/* E29C00 802B6790 0480004D */ bltz $a0, .L802B68C8
/* E29C04 802B6794 00000000 */ nop
/* E29C08 802B6798 0C04417A */ jal get_entity_by_index
/* E29C0C 802B679C 00000000 */ nop
/* E29C10 802B67A0 0040902D */ daddu $s2, $v0, $zero
/* E29C14 802B67A4 C44C0048 */ lwc1 $f12, 0x48($v0)
/* E29C18 802B67A8 C64E0050 */ lwc1 $f14, 0x50($s2)
/* E29C1C 802B67AC 8E660028 */ lw $a2, 0x28($s3)
/* E29C20 802B67B0 0C00A7B5 */ jal dist2D
/* E29C24 802B67B4 8E670030 */ lw $a3, 0x30($s3)
/* E29C28 802B67B8 C64C0048 */ lwc1 $f12, 0x48($s2)
/* E29C2C 802B67BC C64E0050 */ lwc1 $f14, 0x50($s2)
/* E29C30 802B67C0 8E660028 */ lw $a2, 0x28($s3)
/* E29C34 802B67C4 8E670030 */ lw $a3, 0x30($s3)
/* E29C38 802B67C8 0C00A720 */ jal atan2
/* E29C3C 802B67CC 46000606 */ mov.s $f24, $f0
/* E29C40 802B67D0 46000306 */ mov.s $f12, $f0
/* E29C44 802B67D4 3C014080 */ lui $at, 0x4080
/* E29C48 802B67D8 44810000 */ mtc1 $at, $f0
/* E29C4C 802B67DC 3C14802B */ lui $s4, %hi(D_802B6EEC)
/* E29C50 802B67E0 26946EEC */ addiu $s4, $s4, %lo(D_802B6EEC)
/* E29C54 802B67E4 4618003C */ c.lt.s $f0, $f24
/* E29C58 802B67E8 00000000 */ nop
/* E29C5C 802B67EC 45000005 */ bc1f .L802B6804
/* E29C60 802B67F0 E68C0000 */ swc1 $f12, ($s4)
/* E29C64 802B67F4 3C013F80 */ lui $at, 0x3f80
/* E29C68 802B67F8 44810000 */ mtc1 $at, $f0
/* E29C6C 802B67FC 00000000 */ nop
/* E29C70 802B6800 4600C601 */ sub.s $f24, $f24, $f0
.L802B6804:
/* E29C74 802B6804 3C0140C9 */ lui $at, 0x40c9
/* E29C78 802B6808 34210FD0 */ ori $at, $at, 0xfd0
/* E29C7C 802B680C 4481A000 */ mtc1 $at, $f20
/* E29C80 802B6810 27B10010 */ addiu $s1, $sp, 0x10
/* E29C84 802B6814 46146302 */ mul.s $f12, $f12, $f20
/* E29C88 802B6818 00000000 */ nop
/* E29C8C 802B681C 0220282D */ daddu $a1, $s1, $zero
/* E29C90 802B6820 27B00014 */ addiu $s0, $sp, 0x14
/* E29C94 802B6824 3C0143B4 */ lui $at, 0x43b4
/* E29C98 802B6828 4481B000 */ mtc1 $at, $f22
/* E29C9C 802B682C 0200302D */ daddu $a2, $s0, $zero
/* E29CA0 802B6830 0C00A82D */ jal sin_cos_rad
/* E29CA4 802B6834 46166303 */ div.s $f12, $f12, $f22
/* E29CA8 802B6838 C7A20010 */ lwc1 $f2, 0x10($sp)
/* E29CAC 802B683C 46181082 */ mul.s $f2, $f2, $f24
/* E29CB0 802B6840 00000000 */ nop
/* E29CB4 802B6844 C7A40014 */ lwc1 $f4, 0x14($sp)
/* E29CB8 802B6848 46182102 */ mul.s $f4, $f4, $f24
/* E29CBC 802B684C 00000000 */ nop
/* E29CC0 802B6850 C68C0000 */ lwc1 $f12, ($s4)
/* E29CC4 802B6854 3C0142B6 */ lui $at, 0x42b6
/* E29CC8 802B6858 44810000 */ mtc1 $at, $f0
/* E29CCC 802B685C 00000000 */ nop
/* E29CD0 802B6860 46006301 */ sub.s $f12, $f12, $f0
/* E29CD4 802B6864 C6400048 */ lwc1 $f0, 0x48($s2)
/* E29CD8 802B6868 46020000 */ add.s $f0, $f0, $f2
/* E29CDC 802B686C 46146302 */ mul.s $f12, $f12, $f20
/* E29CE0 802B6870 00000000 */ nop
/* E29CE4 802B6874 E6600028 */ swc1 $f0, 0x28($s3)
/* E29CE8 802B6878 C6400050 */ lwc1 $f0, 0x50($s2)
/* E29CEC 802B687C 0220282D */ daddu $a1, $s1, $zero
/* E29CF0 802B6880 46040001 */ sub.s $f0, $f0, $f4
/* E29CF4 802B6884 0200302D */ daddu $a2, $s0, $zero
/* E29CF8 802B6888 46166303 */ div.s $f12, $f12, $f22
/* E29CFC 802B688C 0C00A82D */ jal sin_cos_rad
/* E29D00 802B6890 E6600030 */ swc1 $f0, 0x30($s3)
/* E29D04 802B6894 C7A20010 */ lwc1 $f2, 0x10($sp)
/* E29D08 802B6898 3C01802B */ lui $at, %hi(D_802B6EDC)
/* E29D0C 802B689C C4246EDC */ lwc1 $f4, %lo(D_802B6EDC)($at)
/* E29D10 802B68A0 46041082 */ mul.s $f2, $f2, $f4
/* E29D14 802B68A4 00000000 */ nop
/* E29D18 802B68A8 C7A00014 */ lwc1 $f0, 0x14($sp)
/* E29D1C 802B68AC 46000007 */ neg.s $f0, $f0
/* E29D20 802B68B0 46040002 */ mul.s $f0, $f0, $f4
/* E29D24 802B68B4 00000000 */ nop
/* E29D28 802B68B8 3C01802B */ lui $at, %hi(D_802B6ED4)
/* E29D2C 802B68BC E4226ED4 */ swc1 $f2, %lo(D_802B6ED4)($at)
/* E29D30 802B68C0 3C01802B */ lui $at, %hi(D_802B6ED8)
/* E29D34 802B68C4 E4206ED8 */ swc1 $f0, %lo(D_802B6ED8)($at)
.L802B68C8:
/* E29D38 802B68C8 3C02802B */ lui $v0, %hi(D_802B6EE8)
/* E29D3C 802B68CC 24426EE8 */ addiu $v0, $v0, %lo(D_802B6EE8)
/* E29D40 802B68D0 C44C0000 */ lwc1 $f12, ($v0)
/* E29D44 802B68D4 3C014100 */ lui $at, 0x4100
/* E29D48 802B68D8 44810000 */ mtc1 $at, $f0
/* E29D4C 802B68DC 00000000 */ nop
/* E29D50 802B68E0 46006300 */ add.s $f12, $f12, $f0
/* E29D54 802B68E4 0C00A6C9 */ jal clamp_angle
/* E29D58 802B68E8 E44C0000 */ swc1 $f12, ($v0)
/* E29D5C 802B68EC 3C0140C9 */ lui $at, 0x40c9
/* E29D60 802B68F0 34210FD0 */ ori $at, $at, 0xfd0
/* E29D64 802B68F4 44811000 */ mtc1 $at, $f2
/* E29D68 802B68F8 00000000 */ nop
/* E29D6C 802B68FC 46020002 */ mul.s $f0, $f0, $f2
/* E29D70 802B6900 00000000 */ nop
/* E29D74 802B6904 3C0143B4 */ lui $at, 0x43b4
/* E29D78 802B6908 44816000 */ mtc1 $at, $f12
/* E29D7C 802B690C 0C00A85B */ jal sin_rad
/* E29D80 802B6910 460C0303 */ div.s $f12, $f0, $f12
/* E29D84 802B6914 3C014080 */ lui $at, 0x4080
/* E29D88 802B6918 44811000 */ mtc1 $at, $f2
/* E29D8C 802B691C 00000000 */ nop
/* E29D90 802B6920 46020002 */ mul.s $f0, $f0, $f2
/* E29D94 802B6924 00000000 */ nop
/* E29D98 802B6928 3C01802B */ lui $at, %hi(D_802B6EF4)
/* E29D9C 802B692C C4226EF4 */ lwc1 $f2, %lo(D_802B6EF4)($at)
/* E29DA0 802B6930 46001080 */ add.s $f2, $f2, $f0
/* E29DA4 802B6934 C6600030 */ lwc1 $f0, 0x30($s3)
/* E29DA8 802B6938 E662002C */ swc1 $f2, 0x2c($s3)
/* E29DAC 802B693C C6620028 */ lwc1 $f2, 0x28($s3)
/* E29DB0 802B6940 C664002C */ lwc1 $f4, 0x2c($s3)
/* E29DB4 802B6944 3C02800B */ lui $v0, %hi(gCameras)
/* E29DB8 802B6948 24421D80 */ addiu $v0, $v0, %lo(gCameras)
/* E29DBC 802B694C E4400068 */ swc1 $f0, 0x68($v0)
/* E29DC0 802B6950 E4420060 */ swc1 $f2, 0x60($v0)
/* E29DC4 802B6954 E4440064 */ swc1 $f4, 0x64($v0)
/* E29DC8 802B6958 86620008 */ lh $v0, 8($s3)
/* E29DCC 802B695C 96640008 */ lhu $a0, 8($s3)
/* E29DD0 802B6960 10400016 */ beqz $v0, .L802B69BC
/* E29DD4 802B6964 2482FFFF */ addiu $v0, $a0, -1
/* E29DD8 802B6968 3C03802B */ lui $v1, %hi(D_802B6EE4)
/* E29DDC 802B696C 24636EE4 */ addiu $v1, $v1, %lo(D_802B6EE4)
/* E29DE0 802B6970 C4600000 */ lwc1 $f0, ($v1)
/* E29DE4 802B6974 3C014000 */ lui $at, 0x4000
/* E29DE8 802B6978 44811000 */ mtc1 $at, $f2
/* E29DEC 802B697C 00000000 */ nop
/* E29DF0 802B6980 46020000 */ add.s $f0, $f0, $f2
/* E29DF4 802B6984 3C014234 */ lui $at, 0x4234
/* E29DF8 802B6988 44811000 */ mtc1 $at, $f2
/* E29DFC 802B698C A6620008 */ sh $v0, 8($s3)
/* E29E00 802B6990 4600103E */ c.le.s $f2, $f0
/* E29E04 802B6994 00000000 */ nop
/* E29E08 802B6998 45000002 */ bc1f .L802B69A4
/* E29E0C 802B699C E4600000 */ swc1 $f0, ($v1)
/* E29E10 802B69A0 E4620000 */ swc1 $f2, ($v1)
.L802B69A4:
/* E29E14 802B69A4 C66000A8 */ lwc1 $f0, 0xa8($s3)
/* E29E18 802B69A8 C46C0000 */ lwc1 $f12, ($v1)
/* E29E1C 802B69AC 0C00A6C9 */ jal clamp_angle
/* E29E20 802B69B0 460C0300 */ add.s $f12, $f0, $f12
/* E29E24 802B69B4 080ADB96 */ j .L802B6E58
/* E29E28 802B69B8 E66000A8 */ swc1 $f0, 0xa8($s3)
.L802B69BC:
/* E29E2C 802B69BC 926200B6 */ lbu $v0, 0xb6($s3)
/* E29E30 802B69C0 2403001E */ addiu $v1, $zero, 0x1e
/* E29E34 802B69C4 A6630008 */ sh $v1, 8($s3)
/* E29E38 802B69C8 24420001 */ addiu $v0, $v0, 1
/* E29E3C 802B69CC 0C03954C */ jal func_800E5530
/* E29E40 802B69D0 A26200B6 */ sb $v0, 0xb6($s3)
/* E29E44 802B69D4 080ADB96 */ j .L802B6E58
/* E29E48 802B69D8 00000000 */ nop
/* E29E4C 802B69DC 3C02802B */ lui $v0, %hi(D_802B6EE4)
/* E29E50 802B69E0 24426EE4 */ addiu $v0, $v0, %lo(D_802B6EE4)
/* E29E54 802B69E4 C4400000 */ lwc1 $f0, ($v0)
/* E29E58 802B69E8 3C014000 */ lui $at, 0x4000
/* E29E5C 802B69EC 4481B000 */ mtc1 $at, $f22
/* E29E60 802B69F0 00000000 */ nop
/* E29E64 802B69F4 46160000 */ add.s $f0, $f0, $f22
/* E29E68 802B69F8 3C014234 */ lui $at, 0x4234
/* E29E6C 802B69FC 4481A000 */ mtc1 $at, $f20
/* E29E70 802B6A00 00000000 */ nop
/* E29E74 802B6A04 4600A03E */ c.le.s $f20, $f0
/* E29E78 802B6A08 00000000 */ nop
/* E29E7C 802B6A0C 45000002 */ bc1f .L802B6A18
/* E29E80 802B6A10 E4400000 */ swc1 $f0, ($v0)
/* E29E84 802B6A14 E4540000 */ swc1 $f20, ($v0)
.L802B6A18:
/* E29E88 802B6A18 C66000A8 */ lwc1 $f0, 0xa8($s3)
/* E29E8C 802B6A1C C44C0000 */ lwc1 $f12, ($v0)
/* E29E90 802B6A20 0C00A6C9 */ jal clamp_angle
/* E29E94 802B6A24 460C0300 */ add.s $f12, $f0, $f12
/* E29E98 802B6A28 3C02802B */ lui $v0, %hi(D_802B6EE0)
/* E29E9C 802B6A2C 24426EE0 */ addiu $v0, $v0, %lo(D_802B6EE0)
/* E29EA0 802B6A30 C4420000 */ lwc1 $f2, ($v0)
/* E29EA4 802B6A34 46161080 */ add.s $f2, $f2, $f22
/* E29EA8 802B6A38 E66000A8 */ swc1 $f0, 0xa8($s3)
/* E29EAC 802B6A3C 4602A03C */ c.lt.s $f20, $f2
/* E29EB0 802B6A40 00000000 */ nop
/* E29EB4 802B6A44 45000002 */ bc1f .L802B6A50
/* E29EB8 802B6A48 E4420000 */ swc1 $f2, ($v0)
/* E29EBC 802B6A4C E4540000 */ swc1 $f20, ($v0)
.L802B6A50:
/* E29EC0 802B6A50 C44C0000 */ lwc1 $f12, ($v0)
/* E29EC4 802B6A54 3C0140C9 */ lui $at, 0x40c9
/* E29EC8 802B6A58 34210FD0 */ ori $at, $at, 0xfd0
/* E29ECC 802B6A5C 4481A000 */ mtc1 $at, $f20
/* E29ED0 802B6A60 00000000 */ nop
/* E29ED4 802B6A64 46146302 */ mul.s $f12, $f12, $f20
/* E29ED8 802B6A68 00000000 */ nop
/* E29EDC 802B6A6C 3C0143B4 */ lui $at, 0x43b4
/* E29EE0 802B6A70 4481B000 */ mtc1 $at, $f22
/* E29EE4 802B6A74 0C00A85B */ jal sin_rad
/* E29EE8 802B6A78 46166303 */ div.s $f12, $f12, $f22
/* E29EEC 802B6A7C 3C10802C */ lui $s0, %hi(D_802BCE34)
/* E29EF0 802B6A80 2610CE34 */ addiu $s0, $s0, %lo(D_802BCE34)
/* E29EF4 802B6A84 3C11802C */ lui $s1, %hi(D_802BCE32)
/* E29EF8 802B6A88 2631CE32 */ addiu $s1, $s1, %lo(D_802BCE32)
/* E29EFC 802B6A8C 3C014080 */ lui $at, 0x4080
/* E29F00 802B6A90 44811000 */ mtc1 $at, $f2
/* E29F04 802B6A94 8E660028 */ lw $a2, 0x28($s3)
/* E29F08 802B6A98 8E670030 */ lw $a3, 0x30($s3)
/* E29F0C 802B6A9C 46020182 */ mul.s $f6, $f0, $f2
/* E29F10 802B6AA0 00000000 */ nop
/* E29F14 802B6AA4 86020000 */ lh $v0, ($s0)
/* E29F18 802B6AA8 86230000 */ lh $v1, ($s1)
/* E29F1C 802B6AAC C660002C */ lwc1 $f0, 0x2c($s3)
/* E29F20 802B6AB0 44826000 */ mtc1 $v0, $f12
/* E29F24 802B6AB4 00000000 */ nop
/* E29F28 802B6AB8 46806320 */ cvt.s.w $f12, $f12
/* E29F2C 802B6ABC 46060000 */ add.s $f0, $f0, $f6
/* E29F30 802B6AC0 C6620028 */ lwc1 $f2, 0x28($s3)
/* E29F34 802B6AC4 44837000 */ mtc1 $v1, $f14
/* E29F38 802B6AC8 00000000 */ nop
/* E29F3C 802B6ACC 468073A0 */ cvt.s.w $f14, $f14
/* E29F40 802B6AD0 E660002C */ swc1 $f0, 0x2c($s3)
/* E29F44 802B6AD4 46000106 */ mov.s $f4, $f0
/* E29F48 802B6AD8 C6600030 */ lwc1 $f0, 0x30($s3)
/* E29F4C 802B6ADC 3C02800B */ lui $v0, %hi(gCameras)
/* E29F50 802B6AE0 24421D80 */ addiu $v0, $v0, %lo(gCameras)
/* E29F54 802B6AE4 E4420060 */ swc1 $f2, 0x60($v0)
/* E29F58 802B6AE8 E4440064 */ swc1 $f4, 0x64($v0)
/* E29F5C 802B6AEC 0C00A7B5 */ jal dist2D
/* E29F60 802B6AF0 E4400068 */ swc1 $f0, 0x68($v0)
/* E29F64 802B6AF4 3C014220 */ lui $at, 0x4220
/* E29F68 802B6AF8 44811000 */ mtc1 $at, $f2
/* E29F6C 802B6AFC 46000605 */ abs.s $f24, $f0
/* E29F70 802B6B00 4618103C */ c.lt.s $f2, $f24
/* E29F74 802B6B04 00000000 */ nop
/* E29F78 802B6B08 45000040 */ bc1f .L802B6C0C
/* E29F7C 802B6B0C 00000000 */ nop
/* E29F80 802B6B10 3C02802C */ lui $v0, %hi(D_802BCE30)
/* E29F84 802B6B14 8442CE30 */ lh $v0, %lo(D_802BCE30)($v0)
/* E29F88 802B6B18 C662002C */ lwc1 $f2, 0x2c($s3)
/* E29F8C 802B6B1C 2442001E */ addiu $v0, $v0, 0x1e
/* E29F90 802B6B20 44820000 */ mtc1 $v0, $f0
/* E29F94 802B6B24 00000000 */ nop
/* E29F98 802B6B28 46800020 */ cvt.s.w $f0, $f0
/* E29F9C 802B6B2C 4602003C */ c.lt.s $f0, $f2
/* E29FA0 802B6B30 00000000 */ nop
/* E29FA4 802B6B34 450000C8 */ bc1f .L802B6E58
/* E29FA8 802B6B38 00000000 */ nop
/* E29FAC 802B6B3C C66C0028 */ lwc1 $f12, 0x28($s3)
/* E29FB0 802B6B40 86020000 */ lh $v0, ($s0)
/* E29FB4 802B6B44 C66E0030 */ lwc1 $f14, 0x30($s3)
/* E29FB8 802B6B48 86230000 */ lh $v1, ($s1)
/* E29FBC 802B6B4C 44825000 */ mtc1 $v0, $f10
/* E29FC0 802B6B50 00000000 */ nop
/* E29FC4 802B6B54 468052A0 */ cvt.s.w $f10, $f10
/* E29FC8 802B6B58 44065000 */ mfc1 $a2, $f10
/* E29FCC 802B6B5C 44835000 */ mtc1 $v1, $f10
/* E29FD0 802B6B60 00000000 */ nop
/* E29FD4 802B6B64 468052A0 */ cvt.s.w $f10, $f10
/* E29FD8 802B6B68 926200B6 */ lbu $v0, 0xb6($s3)
/* E29FDC 802B6B6C 44075000 */ mfc1 $a3, $f10
/* E29FE0 802B6B70 24420001 */ addiu $v0, $v0, 1
/* E29FE4 802B6B74 0C00A720 */ jal atan2
/* E29FE8 802B6B78 A26200B6 */ sb $v0, 0xb6($s3)
/* E29FEC 802B6B7C 46140302 */ mul.s $f12, $f0, $f20
/* E29FF0 802B6B80 00000000 */ nop
/* E29FF4 802B6B84 27A50010 */ addiu $a1, $sp, 0x10
/* E29FF8 802B6B88 27A60014 */ addiu $a2, $sp, 0x14
/* E29FFC 802B6B8C E7A00018 */ swc1 $f0, 0x18($sp)
/* E2A000 802B6B90 0C00A82D */ jal sin_cos_rad
/* E2A004 802B6B94 46166303 */ div.s $f12, $f12, $f22
/* E2A008 802B6B98 C7A20010 */ lwc1 $f2, 0x10($sp)
/* E2A00C 802B6B9C 46181082 */ mul.s $f2, $f2, $f24
/* E2A010 802B6BA0 00000000 */ nop
/* E2A014 802B6BA4 3C013F90 */ lui $at, 0x3f90
/* E2A018 802B6BA8 44812800 */ mtc1 $at, $f5
/* E2A01C 802B6BAC 44802000 */ mtc1 $zero, $f4
/* E2A020 802B6BB0 460010A1 */ cvt.d.s $f2, $f2
/* E2A024 802B6BB4 46241082 */ mul.d $f2, $f2, $f4
/* E2A028 802B6BB8 00000000 */ nop
/* E2A02C 802B6BBC C7A00014 */ lwc1 $f0, 0x14($sp)
/* E2A030 802B6BC0 46000007 */ neg.s $f0, $f0
/* E2A034 802B6BC4 46180002 */ mul.s $f0, $f0, $f24
/* E2A038 802B6BC8 00000000 */ nop
/* E2A03C 802B6BCC 46000021 */ cvt.d.s $f0, $f0
/* E2A040 802B6BD0 46240002 */ mul.d $f0, $f0, $f4
/* E2A044 802B6BD4 00000000 */ nop
/* E2A048 802B6BD8 C7A40018 */ lwc1 $f4, 0x18($sp)
/* E2A04C 802B6BDC 24020040 */ addiu $v0, $zero, 0x40
/* E2A050 802B6BE0 A6620008 */ sh $v0, 8($s3)
/* E2A054 802B6BE4 3C01802B */ lui $at, %hi(D_802B6EEC)
/* E2A058 802B6BE8 E4246EEC */ swc1 $f4, %lo(D_802B6EEC)($at)
/* E2A05C 802B6BEC 462010A0 */ cvt.s.d $f2, $f2
/* E2A060 802B6BF0 46200020 */ cvt.s.d $f0, $f0
/* E2A064 802B6BF4 3C01802B */ lui $at, %hi(D_802B6ED4)
/* E2A068 802B6BF8 E4226ED4 */ swc1 $f2, %lo(D_802B6ED4)($at)
/* E2A06C 802B6BFC 3C01802B */ lui $at, %hi(D_802B6ED8)
/* E2A070 802B6C00 E4206ED8 */ swc1 $f0, %lo(D_802B6ED8)($at)
/* E2A074 802B6C04 080ADB96 */ j .L802B6E58
/* E2A078 802B6C08 00000000 */ nop
.L802B6C0C:
/* E2A07C 802B6C0C 86620008 */ lh $v0, 8($s3)
/* E2A080 802B6C10 96630008 */ lhu $v1, 8($s3)
/* E2A084 802B6C14 1440007A */ bnez $v0, .L802B6E00
/* E2A088 802B6C18 2462FFFF */ addiu $v0, $v1, -1
/* E2A08C 802B6C1C 2402000A */ addiu $v0, $zero, 0xa
/* E2A090 802B6C20 A26200B6 */ sb $v0, 0xb6($s3)
/* E2A094 802B6C24 24020014 */ addiu $v0, $zero, 0x14
/* E2A098 802B6C28 080ADB96 */ j .L802B6E58
/* E2A09C 802B6C2C A6620008 */ sh $v0, 8($s3)
/* E2A0A0 802B6C30 C66000A8 */ lwc1 $f0, 0xa8($s3)
/* E2A0A4 802B6C34 3C01802B */ lui $at, %hi(D_802B6EE4)
/* E2A0A8 802B6C38 C42C6EE4 */ lwc1 $f12, %lo(D_802B6EE4)($at)
/* E2A0AC 802B6C3C 0C00A6C9 */ jal clamp_angle
/* E2A0B0 802B6C40 460C0300 */ add.s $f12, $f0, $f12
/* E2A0B4 802B6C44 86620008 */ lh $v0, 8($s3)
/* E2A0B8 802B6C48 96640008 */ lhu $a0, 8($s3)
/* E2A0BC 802B6C4C 1040002A */ beqz $v0, .L802B6CF8
/* E2A0C0 802B6C50 E66000A8 */ swc1 $f0, 0xa8($s3)
/* E2A0C4 802B6C54 3C03802B */ lui $v1, %hi(D_802B6EE0)
/* E2A0C8 802B6C58 24636EE0 */ addiu $v1, $v1, %lo(D_802B6EE0)
/* E2A0CC 802B6C5C C4600000 */ lwc1 $f0, ($v1)
/* E2A0D0 802B6C60 3C013F80 */ lui $at, 0x3f80
/* E2A0D4 802B6C64 44811000 */ mtc1 $at, $f2
/* E2A0D8 802B6C68 46000106 */ mov.s $f4, $f0
/* E2A0DC 802B6C6C 46020001 */ sub.s $f0, $f0, $f2
/* E2A0E0 802B6C70 44801000 */ mtc1 $zero, $f2
/* E2A0E4 802B6C74 2482FFFF */ addiu $v0, $a0, -1
/* E2A0E8 802B6C78 A6620008 */ sh $v0, 8($s3)
/* E2A0EC 802B6C7C 4602203C */ c.lt.s $f4, $f2
/* E2A0F0 802B6C80 00000000 */ nop
/* E2A0F4 802B6C84 45000002 */ bc1f .L802B6C90
/* E2A0F8 802B6C88 E4600000 */ swc1 $f0, ($v1)
/* E2A0FC 802B6C8C E4620000 */ swc1 $f2, ($v1)
.L802B6C90:
/* E2A100 802B6C90 C46C0000 */ lwc1 $f12, ($v1)
/* E2A104 802B6C94 3C0140C9 */ lui $at, 0x40c9
/* E2A108 802B6C98 34210FD0 */ ori $at, $at, 0xfd0
/* E2A10C 802B6C9C 44810000 */ mtc1 $at, $f0
/* E2A110 802B6CA0 00000000 */ nop
/* E2A114 802B6CA4 46006302 */ mul.s $f12, $f12, $f0
/* E2A118 802B6CA8 00000000 */ nop
/* E2A11C 802B6CAC 3C0143B4 */ lui $at, 0x43b4
/* E2A120 802B6CB0 44810000 */ mtc1 $at, $f0
/* E2A124 802B6CB4 0C00A85B */ jal sin_rad
/* E2A128 802B6CB8 46006303 */ div.s $f12, $f12, $f0
/* E2A12C 802B6CBC 46000180 */ add.s $f6, $f0, $f0
/* E2A130 802B6CC0 C6640028 */ lwc1 $f4, 0x28($s3)
/* E2A134 802B6CC4 3C01802B */ lui $at, %hi(D_802B6ED4)
/* E2A138 802B6CC8 C4206ED4 */ lwc1 $f0, %lo(D_802B6ED4)($at)
/* E2A13C 802B6CCC C6620030 */ lwc1 $f2, 0x30($s3)
/* E2A140 802B6CD0 46002100 */ add.s $f4, $f4, $f0
/* E2A144 802B6CD4 3C01802B */ lui $at, %hi(D_802B6ED8)
/* E2A148 802B6CD8 C4206ED8 */ lwc1 $f0, %lo(D_802B6ED8)($at)
/* E2A14C 802B6CDC 46001080 */ add.s $f2, $f2, $f0
/* E2A150 802B6CE0 C660002C */ lwc1 $f0, 0x2c($s3)
/* E2A154 802B6CE4 46060000 */ add.s $f0, $f0, $f6
/* E2A158 802B6CE8 E6640028 */ swc1 $f4, 0x28($s3)
/* E2A15C 802B6CEC E6620030 */ swc1 $f2, 0x30($s3)
/* E2A160 802B6CF0 080ADB40 */ j .L802B6D00
/* E2A164 802B6CF4 E660002C */ swc1 $f0, 0x2c($s3)
.L802B6CF8:
/* E2A168 802B6CF8 2402000B */ addiu $v0, $zero, 0xb
/* E2A16C 802B6CFC A26200B6 */ sb $v0, 0xb6($s3)
.L802B6D00:
/* E2A170 802B6D00 C6600028 */ lwc1 $f0, 0x28($s3)
/* E2A174 802B6D04 C662002C */ lwc1 $f2, 0x2c($s3)
/* E2A178 802B6D08 C6640030 */ lwc1 $f4, 0x30($s3)
/* E2A17C 802B6D0C 3C02800B */ lui $v0, %hi(gCameras)
/* E2A180 802B6D10 24421D80 */ addiu $v0, $v0, %lo(gCameras)
/* E2A184 802B6D14 E4400060 */ swc1 $f0, 0x60($v0)
/* E2A188 802B6D18 E4420064 */ swc1 $f2, 0x64($v0)
/* E2A18C 802B6D1C 080ADB96 */ j .L802B6E58
/* E2A190 802B6D20 E4440068 */ swc1 $f4, 0x68($v0)
/* E2A194 802B6D24 3C02802B */ lui $v0, %hi(D_802B6EE4)
/* E2A198 802B6D28 24426EE4 */ addiu $v0, $v0, %lo(D_802B6EE4)
/* E2A19C 802B6D2C C4400000 */ lwc1 $f0, ($v0)
/* E2A1A0 802B6D30 3C013F80 */ lui $at, 0x3f80
/* E2A1A4 802B6D34 44811000 */ mtc1 $at, $f2
/* E2A1A8 802B6D38 00000000 */ nop
/* E2A1AC 802B6D3C 46020000 */ add.s $f0, $f0, $f2
/* E2A1B0 802B6D40 3C014234 */ lui $at, 0x4234
/* E2A1B4 802B6D44 4481A000 */ mtc1 $at, $f20
/* E2A1B8 802B6D48 00000000 */ nop
/* E2A1BC 802B6D4C 4600A03E */ c.le.s $f20, $f0
/* E2A1C0 802B6D50 00000000 */ nop
/* E2A1C4 802B6D54 45000002 */ bc1f .L802B6D60
/* E2A1C8 802B6D58 E4400000 */ swc1 $f0, ($v0)
/* E2A1CC 802B6D5C E4540000 */ swc1 $f20, ($v0)
.L802B6D60:
/* E2A1D0 802B6D60 C66000A8 */ lwc1 $f0, 0xa8($s3)
/* E2A1D4 802B6D64 C44C0000 */ lwc1 $f12, ($v0)
/* E2A1D8 802B6D68 0C00A6C9 */ jal clamp_angle
/* E2A1DC 802B6D6C 460C0300 */ add.s $f12, $f0, $f12
/* E2A1E0 802B6D70 3C02802B */ lui $v0, %hi(D_802B6EE0)
/* E2A1E4 802B6D74 24426EE0 */ addiu $v0, $v0, %lo(D_802B6EE0)
/* E2A1E8 802B6D78 C4420000 */ lwc1 $f2, ($v0)
/* E2A1EC 802B6D7C 3C014000 */ lui $at, 0x4000
/* E2A1F0 802B6D80 44812000 */ mtc1 $at, $f4
/* E2A1F4 802B6D84 00000000 */ nop
/* E2A1F8 802B6D88 46041080 */ add.s $f2, $f2, $f4
/* E2A1FC 802B6D8C E66000A8 */ swc1 $f0, 0xa8($s3)
/* E2A200 802B6D90 4602A03C */ c.lt.s $f20, $f2
/* E2A204 802B6D94 00000000 */ nop
/* E2A208 802B6D98 45000002 */ bc1f .L802B6DA4
/* E2A20C 802B6D9C E4420000 */ swc1 $f2, ($v0)
/* E2A210 802B6DA0 E4540000 */ swc1 $f20, ($v0)
.L802B6DA4:
/* E2A214 802B6DA4 C44C0000 */ lwc1 $f12, ($v0)
/* E2A218 802B6DA8 3C0140C9 */ lui $at, 0x40c9
/* E2A21C 802B6DAC 34210FD0 */ ori $at, $at, 0xfd0
/* E2A220 802B6DB0 44810000 */ mtc1 $at, $f0
/* E2A224 802B6DB4 00000000 */ nop
/* E2A228 802B6DB8 46006302 */ mul.s $f12, $f12, $f0
/* E2A22C 802B6DBC 00000000 */ nop
/* E2A230 802B6DC0 3C0143B4 */ lui $at, 0x43b4
/* E2A234 802B6DC4 44810000 */ mtc1 $at, $f0
/* E2A238 802B6DC8 0C00A85B */ jal sin_rad
/* E2A23C 802B6DCC 46006303 */ div.s $f12, $f12, $f0
/* E2A240 802B6DD0 3C014040 */ lui $at, 0x4040
/* E2A244 802B6DD4 44811000 */ mtc1 $at, $f2
/* E2A248 802B6DD8 00000000 */ nop
/* E2A24C 802B6DDC 46020182 */ mul.s $f6, $f0, $f2
/* E2A250 802B6DE0 00000000 */ nop
/* E2A254 802B6DE4 C660002C */ lwc1 $f0, 0x2c($s3)
/* E2A258 802B6DE8 86620008 */ lh $v0, 8($s3)
/* E2A25C 802B6DEC 46060000 */ add.s $f0, $f0, $f6
/* E2A260 802B6DF0 96630008 */ lhu $v1, 8($s3)
/* E2A264 802B6DF4 10400004 */ beqz $v0, .L802B6E08
/* E2A268 802B6DF8 E660002C */ swc1 $f0, 0x2c($s3)
/* E2A26C 802B6DFC 2462FFFF */ addiu $v0, $v1, -1
.L802B6E00:
/* E2A270 802B6E00 080ADB96 */ j .L802B6E58
/* E2A274 802B6E04 A6620008 */ sh $v0, 8($s3)
.L802B6E08:
/* E2A278 802B6E08 0C038050 */ jal enable_player_static_collisions
/* E2A27C 802B6E0C 00000000 */ nop
/* E2A280 802B6E10 0C038069 */ jal enable_player_input
/* E2A284 802B6E14 00000000 */ nop
/* E2A288 802B6E18 3C03FFEF */ lui $v1, 0xffef
/* E2A28C 802B6E1C 8E620000 */ lw $v0, ($s3)
/* E2A290 802B6E20 3463FFFF */ ori $v1, $v1, 0xffff
/* E2A294 802B6E24 00431024 */ and $v0, $v0, $v1
/* E2A298 802B6E28 3C030080 */ lui $v1, 0x80
/* E2A29C 802B6E2C 00431025 */ or $v0, $v0, $v1
/* E2A2A0 802B6E30 0C0397F4 */ jal start_falling
/* E2A2A4 802B6E34 AE620000 */ sw $v0, ($s3)
/* E2A2A8 802B6E38 0C03BCCA */ jal enable_partner_ai
/* E2A2AC 802B6E3C 00000000 */ nop
/* E2A2B0 802B6E40 3C04800A */ lui $a0, %hi(D_8009A650)
/* E2A2B4 802B6E44 2484A650 */ addiu $a0, $a0, %lo(D_8009A650)
/* E2A2B8 802B6E48 8C820000 */ lw $v0, ($a0)
/* E2A2BC 802B6E4C 2403FFBF */ addiu $v1, $zero, -0x41
/* E2A2C0 802B6E50 00431024 */ and $v0, $v0, $v1
/* E2A2C4 802B6E54 AC820000 */ sw $v0, ($a0)
.L802B6E58:
/* E2A2C8 802B6E58 8FBF003C */ lw $ra, 0x3c($sp)
/* E2A2CC 802B6E5C 8FB40038 */ lw $s4, 0x38($sp)
/* E2A2D0 802B6E60 8FB30034 */ lw $s3, 0x34($sp)
/* E2A2D4 802B6E64 8FB20030 */ lw $s2, 0x30($sp)
/* E2A2D8 802B6E68 8FB1002C */ lw $s1, 0x2c($sp)
/* E2A2DC 802B6E6C 8FB00028 */ lw $s0, 0x28($sp)
/* E2A2E0 802B6E70 D7BC0060 */ ldc1 $f28, 0x60($sp)
/* E2A2E4 802B6E74 D7BA0058 */ ldc1 $f26, 0x58($sp)
/* E2A2E8 802B6E78 D7B80050 */ ldc1 $f24, 0x50($sp)
/* E2A2EC 802B6E7C D7B60048 */ ldc1 $f22, 0x48($sp)
/* E2A2F0 802B6E80 D7B40040 */ ldc1 $f20, 0x40($sp)
/* E2A2F4 802B6E84 03E00008 */ jr $ra
/* E2A2F8 802B6E88 27BD0068 */ addiu $sp, $sp, 0x68
/* E2A2FC 802B6E8C 00000000 */ nop

View File

@ -0,0 +1,225 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6000_E2A340
/* E2A340 802B6000 27BDFFD0 */ addiu $sp, $sp, -0x30
/* E2A344 802B6004 AFB1001C */ sw $s1, 0x1c($sp)
/* E2A348 802B6008 3C118011 */ lui $s1, %hi(gPlayerStatus)
/* E2A34C 802B600C 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus)
/* E2A350 802B6010 AFBF0024 */ sw $ra, 0x24($sp)
/* E2A354 802B6014 AFB20020 */ sw $s2, 0x20($sp)
/* E2A358 802B6018 AFB00018 */ sw $s0, 0x18($sp)
/* E2A35C 802B601C F7B40028 */ sdc1 $f20, 0x28($sp)
/* E2A360 802B6020 8E230000 */ lw $v1, ($s1)
/* E2A364 802B6024 3C128011 */ lui $s2, %hi(D_8010C934)
/* E2A368 802B6028 8E52C934 */ lw $s2, %lo(D_8010C934)($s2)
/* E2A36C 802B602C 0461002F */ bgez $v1, .L802B60EC
/* E2A370 802B6030 3C027FFF */ lui $v0, 0x7fff
/* E2A374 802B6034 3442FFFF */ ori $v0, $v0, 0xffff
/* E2A378 802B6038 00621024 */ and $v0, $v1, $v0
/* E2A37C 802B603C 0C038045 */ jal disable_player_static_collisions
/* E2A380 802B6040 AE220000 */ sw $v0, ($s1)
/* E2A384 802B6044 0C03805E */ jal disable_player_input
/* E2A388 802B6048 00000000 */ nop
/* E2A38C 802B604C 3C030010 */ lui $v1, 0x10
/* E2A390 802B6050 34630008 */ ori $v1, $v1, 8
/* E2A394 802B6054 3C040008 */ lui $a0, 8
/* E2A398 802B6058 8E220000 */ lw $v0, ($s1)
/* E2A39C 802B605C 3484001F */ ori $a0, $a0, 0x1f
/* E2A3A0 802B6060 00431025 */ or $v0, $v0, $v1
/* E2A3A4 802B6064 0C037FBF */ jal func_800DFEFC
/* E2A3A8 802B6068 AE220000 */ sw $v0, ($s1)
/* E2A3AC 802B606C 3C10802B */ lui $s0, %hi(func_802B6350_E28D80)
/* E2A3B0 802B6070 26106350 */ addiu $s0, $s0, %lo(func_802B6350_E28D80)
/* E2A3B4 802B6074 8E040000 */ lw $a0, ($s0)
/* E2A3B8 802B6078 2405001C */ addiu $a1, $zero, 0x1c
/* E2A3BC 802B607C 0C00A580 */ jal mem_clear
/* E2A3C0 802B6080 A22000B6 */ sb $zero, 0xb6($s1)
/* E2A3C4 802B6084 C62C0028 */ lwc1 $f12, 0x28($s1)
/* E2A3C8 802B6088 C62E0030 */ lwc1 $f14, 0x30($s1)
/* E2A3CC 802B608C 8E460048 */ lw $a2, 0x48($s2)
/* E2A3D0 802B6090 0C00A7B5 */ jal dist2D
/* E2A3D4 802B6094 8E470050 */ lw $a3, 0x50($s2)
/* E2A3D8 802B6098 8E020000 */ lw $v0, ($s0)
/* E2A3DC 802B609C 46000005 */ abs.s $f0, $f0
/* E2A3E0 802B60A0 E440000C */ swc1 $f0, 0xc($v0)
/* E2A3E4 802B60A4 C64C0048 */ lwc1 $f12, 0x48($s2)
/* E2A3E8 802B60A8 C64E0050 */ lwc1 $f14, 0x50($s2)
/* E2A3EC 802B60AC 8E260028 */ lw $a2, 0x28($s1)
/* E2A3F0 802B60B0 0C00A720 */ jal atan2
/* E2A3F4 802B60B4 8E270030 */ lw $a3, 0x30($s1)
/* E2A3F8 802B60B8 240402F6 */ addiu $a0, $zero, 0x2f6
/* E2A3FC 802B60BC 0000282D */ daddu $a1, $zero, $zero
/* E2A400 802B60C0 8E030000 */ lw $v1, ($s0)
/* E2A404 802B60C4 3C0140C0 */ lui $at, 0x40c0
/* E2A408 802B60C8 44811000 */ mtc1 $at, $f2
/* E2A40C 802B60CC 3C014248 */ lui $at, 0x4248
/* E2A410 802B60D0 44812000 */ mtc1 $at, $f4
/* E2A414 802B60D4 24020078 */ addiu $v0, $zero, 0x78
/* E2A418 802B60D8 E4600010 */ swc1 $f0, 0x10($v1)
/* E2A41C 802B60DC E4620014 */ swc1 $f2, 0x14($v1)
/* E2A420 802B60E0 E4640018 */ swc1 $f4, 0x18($v1)
/* E2A424 802B60E4 0C052736 */ jal play_sound_at_player
/* E2A428 802B60E8 AC620000 */ sw $v0, ($v1)
.L802B60EC:
/* E2A42C 802B60EC 822300B6 */ lb $v1, 0xb6($s1)
/* E2A430 802B60F0 10600005 */ beqz $v1, .L802B6108
/* E2A434 802B60F4 24020001 */ addiu $v0, $zero, 1
/* E2A438 802B60F8 1062007A */ beq $v1, $v0, .L802B62E4
/* E2A43C 802B60FC 00000000 */ nop
/* E2A440 802B6100 080AD8CB */ j .L802B632C
/* E2A444 802B6104 00000000 */ nop
.L802B6108:
/* E2A448 802B6108 3C10802B */ lui $s0, %hi(func_802B6350_E28D80)
/* E2A44C 802B610C 26106350 */ addiu $s0, $s0, %lo(func_802B6350_E28D80)
/* E2A450 802B6110 8E020000 */ lw $v0, ($s0)
/* E2A454 802B6114 3C0140C9 */ lui $at, 0x40c9
/* E2A458 802B6118 34210FD0 */ ori $at, $at, 0xfd0
/* E2A45C 802B611C 44810000 */ mtc1 $at, $f0
/* E2A460 802B6120 C44C0010 */ lwc1 $f12, 0x10($v0)
/* E2A464 802B6124 46006302 */ mul.s $f12, $f12, $f0
/* E2A468 802B6128 00000000 */ nop
/* E2A46C 802B612C 27A50010 */ addiu $a1, $sp, 0x10
/* E2A470 802B6130 3C0143B4 */ lui $at, 0x43b4
/* E2A474 802B6134 44810000 */ mtc1 $at, $f0
/* E2A478 802B6138 27A60014 */ addiu $a2, $sp, 0x14
/* E2A47C 802B613C 0C00A82D */ jal sin_cos_rad
/* E2A480 802B6140 46006303 */ div.s $f12, $f12, $f0
/* E2A484 802B6144 8E020000 */ lw $v0, ($s0)
/* E2A488 802B6148 C7A20010 */ lwc1 $f2, 0x10($sp)
/* E2A48C 802B614C C440000C */ lwc1 $f0, 0xc($v0)
/* E2A490 802B6150 46001082 */ mul.s $f2, $f2, $f0
/* E2A494 802B6154 00000000 */ nop
/* E2A498 802B6158 C6400048 */ lwc1 $f0, 0x48($s2)
/* E2A49C 802B615C 46020000 */ add.s $f0, $f0, $f2
/* E2A4A0 802B6160 E6200028 */ swc1 $f0, 0x28($s1)
/* E2A4A4 802B6164 C7A20014 */ lwc1 $f2, 0x14($sp)
/* E2A4A8 802B6168 C440000C */ lwc1 $f0, 0xc($v0)
/* E2A4AC 802B616C 46001082 */ mul.s $f2, $f2, $f0
/* E2A4B0 802B6170 00000000 */ nop
/* E2A4B4 802B6174 C6400050 */ lwc1 $f0, 0x50($s2)
/* E2A4B8 802B6178 46020001 */ sub.s $f0, $f0, $f2
/* E2A4BC 802B617C E6200030 */ swc1 $f0, 0x30($s1)
/* E2A4C0 802B6180 C4400010 */ lwc1 $f0, 0x10($v0)
/* E2A4C4 802B6184 C44C0014 */ lwc1 $f12, 0x14($v0)
/* E2A4C8 802B6188 0C00A6C9 */ jal clamp_angle
/* E2A4CC 802B618C 460C0301 */ sub.s $f12, $f0, $f12
/* E2A4D0 802B6190 8E100000 */ lw $s0, ($s0)
/* E2A4D4 802B6194 3C0141A0 */ lui $at, 0x41a0
/* E2A4D8 802B6198 44811000 */ mtc1 $at, $f2
/* E2A4DC 802B619C C604000C */ lwc1 $f4, 0xc($s0)
/* E2A4E0 802B61A0 4604103C */ c.lt.s $f2, $f4
/* E2A4E4 802B61A4 00000000 */ nop
/* E2A4E8 802B61A8 45000005 */ bc1f .L802B61C0
/* E2A4EC 802B61AC E6000010 */ swc1 $f0, 0x10($s0)
/* E2A4F0 802B61B0 3C013F80 */ lui $at, 0x3f80
/* E2A4F4 802B61B4 44810000 */ mtc1 $at, $f0
/* E2A4F8 802B61B8 080AD87B */ j .L802B61EC
/* E2A4FC 802B61BC 46002001 */ sub.s $f0, $f4, $f0
.L802B61C0:
/* E2A500 802B61C0 3C014198 */ lui $at, 0x4198
/* E2A504 802B61C4 44810000 */ mtc1 $at, $f0
/* E2A508 802B61C8 00000000 */ nop
/* E2A50C 802B61CC 4600203C */ c.lt.s $f4, $f0
/* E2A510 802B61D0 00000000 */ nop
/* E2A514 802B61D4 45000006 */ bc1f .L802B61F0
/* E2A518 802B61D8 00000000 */ nop
/* E2A51C 802B61DC 3C013F80 */ lui $at, 0x3f80
/* E2A520 802B61E0 44810000 */ mtc1 $at, $f0
/* E2A524 802B61E4 00000000 */ nop
/* E2A528 802B61E8 46002000 */ add.s $f0, $f4, $f0
.L802B61EC:
/* E2A52C 802B61EC E600000C */ swc1 $f0, 0xc($s0)
.L802B61F0:
/* E2A530 802B61F0 3C10802B */ lui $s0, %hi(func_802B6350_E28D80)
/* E2A534 802B61F4 26106350 */ addiu $s0, $s0, %lo(func_802B6350_E28D80)
/* E2A538 802B61F8 8E020000 */ lw $v0, ($s0)
/* E2A53C 802B61FC 3C0140C9 */ lui $at, 0x40c9
/* E2A540 802B6200 34210FD0 */ ori $at, $at, 0xfd0
/* E2A544 802B6204 44810000 */ mtc1 $at, $f0
/* E2A548 802B6208 C44C0018 */ lwc1 $f12, 0x18($v0)
/* E2A54C 802B620C 46006302 */ mul.s $f12, $f12, $f0
/* E2A550 802B6210 00000000 */ nop
/* E2A554 802B6214 3C0143B4 */ lui $at, 0x43b4
/* E2A558 802B6218 4481A000 */ mtc1 $at, $f20
/* E2A55C 802B621C 0C00A85B */ jal sin_rad
/* E2A560 802B6220 46146303 */ div.s $f12, $f12, $f20
/* E2A564 802B6224 8E020000 */ lw $v0, ($s0)
/* E2A568 802B6228 3C014040 */ lui $at, 0x4040
/* E2A56C 802B622C 44812000 */ mtc1 $at, $f4
/* E2A570 802B6230 C4420018 */ lwc1 $f2, 0x18($v0)
/* E2A574 802B6234 46041080 */ add.s $f2, $f2, $f4
/* E2A578 802B6238 3C014316 */ lui $at, 0x4316
/* E2A57C 802B623C 44813000 */ mtc1 $at, $f6
/* E2A580 802B6240 00000000 */ nop
/* E2A584 802B6244 4602303C */ c.lt.s $f6, $f2
/* E2A588 802B6248 E4420018 */ swc1 $f2, 0x18($v0)
/* E2A58C 802B624C 46040082 */ mul.s $f2, $f0, $f4
/* E2A590 802B6250 00000000 */ nop
/* E2A594 802B6254 45030001 */ bc1tl .L802B625C
/* E2A598 802B6258 E4460018 */ swc1 $f6, 0x18($v0)
.L802B625C:
/* E2A59C 802B625C C620002C */ lwc1 $f0, 0x2c($s1)
/* E2A5A0 802B6260 46020000 */ add.s $f0, $f0, $f2
/* E2A5A4 802B6264 8E020000 */ lw $v0, ($s0)
/* E2A5A8 802B6268 E620002C */ swc1 $f0, 0x2c($s1)
/* E2A5AC 802B626C C44C0010 */ lwc1 $f12, 0x10($v0)
/* E2A5B0 802B6270 0C00A6C9 */ jal clamp_angle
/* E2A5B4 802B6274 460CA301 */ sub.s $f12, $f20, $f12
/* E2A5B8 802B6278 8E020000 */ lw $v0, ($s0)
/* E2A5BC 802B627C E62000A8 */ swc1 $f0, 0xa8($s1)
/* E2A5C0 802B6280 C4400014 */ lwc1 $f0, 0x14($v0)
/* E2A5C4 802B6284 3C01802B */ lui $at, %hi(D_802B6360)
/* E2A5C8 802B6288 D4226360 */ ldc1 $f2, %lo(D_802B6360)($at)
/* E2A5CC 802B628C 46000021 */ cvt.d.s $f0, $f0
/* E2A5D0 802B6290 46220000 */ add.d $f0, $f0, $f2
/* E2A5D4 802B6294 3C014220 */ lui $at, 0x4220
/* E2A5D8 802B6298 44811000 */ mtc1 $at, $f2
/* E2A5DC 802B629C 46200020 */ cvt.s.d $f0, $f0
/* E2A5E0 802B62A0 4600103C */ c.lt.s $f2, $f0
/* E2A5E4 802B62A4 00000000 */ nop
/* E2A5E8 802B62A8 45000002 */ bc1f .L802B62B4
/* E2A5EC 802B62AC E4400014 */ swc1 $f0, 0x14($v0)
/* E2A5F0 802B62B0 E4420014 */ swc1 $f2, 0x14($v0)
.L802B62B4:
/* E2A5F4 802B62B4 8E030000 */ lw $v1, ($s0)
/* E2A5F8 802B62B8 8C620000 */ lw $v0, ($v1)
/* E2A5FC 802B62BC 2442FFFF */ addiu $v0, $v0, -1
/* E2A600 802B62C0 1440001A */ bnez $v0, .L802B632C
/* E2A604 802B62C4 AC620000 */ sw $v0, ($v1)
/* E2A608 802B62C8 922200B6 */ lbu $v0, 0xb6($s1)
/* E2A60C 802B62CC 0240202D */ daddu $a0, $s2, $zero
/* E2A610 802B62D0 24420001 */ addiu $v0, $v0, 1
/* E2A614 802B62D4 0C04419E */ jal func_80110678
/* E2A618 802B62D8 A22200B6 */ sb $v0, 0xb6($s1)
/* E2A61C 802B62DC 080AD8CB */ j .L802B632C
/* E2A620 802B62E0 00000000 */ nop
.L802B62E4:
/* E2A624 802B62E4 0C038039 */ jal disable_player_shadow
/* E2A628 802B62E8 00000000 */ nop
/* E2A62C 802B62EC 3C048011 */ lui $a0, %hi(D_8010C930)
/* E2A630 802B62F0 8C84C930 */ lw $a0, %lo(D_8010C930)($a0)
/* E2A634 802B62F4 0C00EAFF */ jal disable_npc_shadow
/* E2A638 802B62F8 00000000 */ nop
/* E2A63C 802B62FC 24020032 */ addiu $v0, $zero, 0x32
/* E2A640 802B6300 0C038050 */ jal enable_player_static_collisions
/* E2A644 802B6304 A6220010 */ sh $v0, 0x10($s1)
/* E2A648 802B6308 0C038069 */ jal enable_player_input
/* E2A64C 802B630C 00000000 */ nop
/* E2A650 802B6310 3C03FFEF */ lui $v1, 0xffef
/* E2A654 802B6314 3463FFF7 */ ori $v1, $v1, 0xfff7
/* E2A658 802B6318 8E220000 */ lw $v0, ($s1)
/* E2A65C 802B631C 0000202D */ daddu $a0, $zero, $zero
/* E2A660 802B6320 00431024 */ and $v0, $v0, $v1
/* E2A664 802B6324 0C039769 */ jal set_action_state
/* E2A668 802B6328 AE220000 */ sw $v0, ($s1)
.L802B632C:
/* E2A66C 802B632C 8FBF0024 */ lw $ra, 0x24($sp)
/* E2A670 802B6330 8FB20020 */ lw $s2, 0x20($sp)
/* E2A674 802B6334 8FB1001C */ lw $s1, 0x1c($sp)
/* E2A678 802B6338 8FB00018 */ lw $s0, 0x18($sp)
/* E2A67C 802B633C D7B40028 */ ldc1 $f20, 0x28($sp)
/* E2A680 802B6340 03E00008 */ jr $ra
/* E2A684 802B6344 27BD0030 */ addiu $sp, $sp, 0x30
/* E2A688 802B6348 00000000 */ nop
/* E2A68C 802B634C 00000000 */ nop

View File

@ -0,0 +1,79 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6000_E2A6B0
/* E2A6B0 802B6000 27BDFFD8 */ addiu $sp, $sp, -0x28
/* E2A6B4 802B6004 AFB00010 */ sw $s0, 0x10($sp)
/* E2A6B8 802B6008 0000802D */ daddu $s0, $zero, $zero
/* E2A6BC 802B600C AFB10014 */ sw $s1, 0x14($sp)
/* E2A6C0 802B6010 3C118011 */ lui $s1, %hi(gPlayerStatus)
/* E2A6C4 802B6014 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus)
/* E2A6C8 802B6018 AFB20018 */ sw $s2, 0x18($sp)
/* E2A6CC 802B601C AFBF001C */ sw $ra, 0x1c($sp)
/* E2A6D0 802B6020 F7B40020 */ sdc1 $f20, 0x20($sp)
/* E2A6D4 802B6024 8222000D */ lb $v0, 0xd($s1)
/* E2A6D8 802B6028 10400035 */ beqz $v0, .L802B6100
/* E2A6DC 802B602C 0220902D */ daddu $s2, $s1, $zero
/* E2A6E0 802B6030 3C048007 */ lui $a0, %hi(gGameStatusPtr)
/* E2A6E4 802B6034 8C84419C */ lw $a0, %lo(gGameStatusPtr)($a0)
/* E2A6E8 802B6038 9083007E */ lbu $v1, 0x7e($a0)
/* E2A6EC 802B603C 30620008 */ andi $v0, $v1, 8
/* E2A6F0 802B6040 10400003 */ beqz $v0, .L802B6050
/* E2A6F4 802B6044 306200F7 */ andi $v0, $v1, 0xf7
/* E2A6F8 802B6048 080AD840 */ j .L802B6100
/* E2A6FC 802B604C A082007E */ sb $v0, 0x7e($a0)
.L802B6050:
/* E2A700 802B6050 C62C0028 */ lwc1 $f12, 0x28($s1)
/* E2A704 802B6054 C62E002C */ lwc1 $f14, 0x2c($s1)
/* E2A708 802B6058 8E260030 */ lw $a2, 0x30($s1)
/* E2A70C 802B605C 0C00F3ED */ jal func_8003CFB4
/* E2A710 802B6060 3C0742C8 */ lui $a3, 0x42c8
/* E2A714 802B6064 0040802D */ daddu $s0, $v0, $zero
/* E2A718 802B6068 12000026 */ beqz $s0, .L802B6104
/* E2A71C 802B606C 0200102D */ daddu $v0, $s0, $zero
/* E2A720 802B6070 C600003C */ lwc1 $f0, 0x3c($s0)
/* E2A724 802B6074 C622002C */ lwc1 $f2, 0x2c($s1)
/* E2A728 802B6078 46020001 */ sub.s $f0, $f0, $f2
/* E2A72C 802B607C 3C013FF0 */ lui $at, 0x3ff0
/* E2A730 802B6080 44811800 */ mtc1 $at, $f3
/* E2A734 802B6084 44801000 */ mtc1 $zero, $f2
/* E2A738 802B6088 46000021 */ cvt.d.s $f0, $f0
/* E2A73C 802B608C 46200005 */ abs.d $f0, $f0
/* E2A740 802B6090 46220001 */ sub.d $f0, $f0, $f2
/* E2A744 802B6094 44801000 */ mtc1 $zero, $f2
/* E2A748 802B6098 44801800 */ mtc1 $zero, $f3
/* E2A74C 802B609C 00000000 */ nop
/* E2A750 802B60A0 4620103C */ c.lt.d $f2, $f0
/* E2A754 802B60A4 00000000 */ nop
/* E2A758 802B60A8 45030015 */ bc1tl .L802B6100
/* E2A75C 802B60AC 0000802D */ daddu $s0, $zero, $zero
/* E2A760 802B60B0 C64C0028 */ lwc1 $f12, 0x28($s2)
/* E2A764 802B60B4 C64E0030 */ lwc1 $f14, 0x30($s2)
/* E2A768 802B60B8 8E060038 */ lw $a2, 0x38($s0)
/* E2A76C 802B60BC 0C00A720 */ jal atan2
/* E2A770 802B60C0 8E070040 */ lw $a3, 0x40($s0)
/* E2A774 802B60C4 0C00A6C9 */ jal clamp_angle
/* E2A778 802B60C8 46000306 */ mov.s $f12, $f0
/* E2A77C 802B60CC 0C0394D2 */ jal func_800E5348
/* E2A780 802B60D0 46000506 */ mov.s $f20, $f0
/* E2A784 802B60D4 4600A501 */ sub.s $f20, $f20, $f0
/* E2A788 802B60D8 3C01403E */ lui $at, 0x403e
/* E2A78C 802B60DC 44810800 */ mtc1 $at, $f1
/* E2A790 802B60E0 44800000 */ mtc1 $zero, $f0
/* E2A794 802B60E4 4600A521 */ cvt.d.s $f20, $f20
/* E2A798 802B60E8 4620A505 */ abs.d $f20, $f20
/* E2A79C 802B60EC 4634003C */ c.lt.d $f0, $f20
/* E2A7A0 802B60F0 00000000 */ nop
/* E2A7A4 802B60F4 45000003 */ bc1f .L802B6104
/* E2A7A8 802B60F8 0200102D */ daddu $v0, $s0, $zero
/* E2A7AC 802B60FC 0000802D */ daddu $s0, $zero, $zero
.L802B6100:
/* E2A7B0 802B6100 0200102D */ daddu $v0, $s0, $zero
.L802B6104:
/* E2A7B4 802B6104 8FBF001C */ lw $ra, 0x1c($sp)
/* E2A7B8 802B6108 8FB20018 */ lw $s2, 0x18($sp)
/* E2A7BC 802B610C 8FB10014 */ lw $s1, 0x14($sp)
/* E2A7C0 802B6110 8FB00010 */ lw $s0, 0x10($sp)
/* E2A7C4 802B6114 D7B40020 */ ldc1 $f20, 0x20($sp)
/* E2A7C8 802B6118 03E00008 */ jr $ra
/* E2A7CC 802B611C 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -0,0 +1,794 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6120_E2A7D0
/* E2A7D0 802B6120 27BDFFB0 */ addiu $sp, $sp, -0x50
/* E2A7D4 802B6124 AFB10024 */ sw $s1, 0x24($sp)
/* E2A7D8 802B6128 3C118011 */ lui $s1, %hi(gPlayerStatus)
/* E2A7DC 802B612C 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus)
/* E2A7E0 802B6130 AFB20028 */ sw $s2, 0x28($sp)
/* E2A7E4 802B6134 3C12802B */ lui $s2, %hi(D_802B6E80)
/* E2A7E8 802B6138 26526E80 */ addiu $s2, $s2, %lo(D_802B6E80)
/* E2A7EC 802B613C 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* E2A7F0 802B6140 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* E2A7F4 802B6144 3C04800B */ lui $a0, %hi(gCameras)
/* E2A7F8 802B6148 24841D80 */ addiu $a0, $a0, %lo(gCameras)
/* E2A7FC 802B614C AFBF0030 */ sw $ra, 0x30($sp)
/* E2A800 802B6150 AFB3002C */ sw $s3, 0x2c($sp)
/* E2A804 802B6154 AFB00020 */ sw $s0, 0x20($sp)
/* E2A808 802B6158 F7B80048 */ sdc1 $f24, 0x48($sp)
/* E2A80C 802B615C F7B60040 */ sdc1 $f22, 0x40($sp)
/* E2A810 802B6160 F7B40038 */ sdc1 $f20, 0x38($sp)
/* E2A814 802B6164 00031080 */ sll $v0, $v1, 2
/* E2A818 802B6168 00431021 */ addu $v0, $v0, $v1
/* E2A81C 802B616C 00021080 */ sll $v0, $v0, 2
/* E2A820 802B6170 00431023 */ subu $v0, $v0, $v1
/* E2A824 802B6174 000218C0 */ sll $v1, $v0, 3
/* E2A828 802B6178 00431021 */ addu $v0, $v0, $v1
/* E2A82C 802B617C 000210C0 */ sll $v0, $v0, 3
/* E2A830 802B6180 8E230000 */ lw $v1, ($s1)
/* E2A834 802B6184 04610043 */ bgez $v1, .L802B6294
/* E2A838 802B6188 00449821 */ addu $s3, $v0, $a0
/* E2A83C 802B618C 3C027FFF */ lui $v0, 0x7fff
/* E2A840 802B6190 3442FFFF */ ori $v0, $v0, 0xffff
/* E2A844 802B6194 0240202D */ daddu $a0, $s2, $zero
/* E2A848 802B6198 24050024 */ addiu $a1, $zero, 0x24
/* E2A84C 802B619C 00621024 */ and $v0, $v1, $v0
/* E2A850 802B61A0 0C00A580 */ jal mem_clear
/* E2A854 802B61A4 AE220000 */ sw $v0, ($s1)
/* E2A858 802B61A8 0C038045 */ jal disable_player_static_collisions
/* E2A85C 802B61AC 00000000 */ nop
/* E2A860 802B61B0 3C01C000 */ lui $at, 0xc000
/* E2A864 802B61B4 44812000 */ mtc1 $at, $f4
/* E2A868 802B61B8 C62200A8 */ lwc1 $f2, 0xa8($s1)
/* E2A86C 802B61BC 3C0142B4 */ lui $at, 0x42b4
/* E2A870 802B61C0 44810000 */ mtc1 $at, $f0
/* E2A874 802B61C4 2643001C */ addiu $v1, $s2, 0x1c
/* E2A878 802B61C8 A62000C0 */ sh $zero, 0xc0($s1)
/* E2A87C 802B61CC A62000C2 */ sh $zero, 0xc2($s1)
/* E2A880 802B61D0 AE200054 */ sw $zero, 0x54($s1)
/* E2A884 802B61D4 4602003E */ c.le.s $f0, $f2
/* E2A888 802B61D8 00000000 */ nop
/* E2A88C 802B61DC 4500000A */ bc1f .L802B6208
/* E2A890 802B61E0 AE20008C */ sw $zero, 0x8c($s1)
/* E2A894 802B61E4 3C014387 */ lui $at, 0x4387
/* E2A898 802B61E8 44810000 */ mtc1 $at, $f0
/* E2A89C 802B61EC 00000000 */ nop
/* E2A8A0 802B61F0 4600103C */ c.lt.s $f2, $f0
/* E2A8A4 802B61F4 00000000 */ nop
/* E2A8A8 802B61F8 45000003 */ bc1f .L802B6208
/* E2A8AC 802B61FC 00000000 */ nop
/* E2A8B0 802B6200 3C014000 */ lui $at, 0x4000
/* E2A8B4 802B6204 44812000 */ mtc1 $at, $f4
.L802B6208:
/* E2A8B8 802B6208 8E220004 */ lw $v0, 4($s1)
/* E2A8BC 802B620C 30422000 */ andi $v0, $v0, 0x2000
/* E2A8C0 802B6210 14400009 */ bnez $v0, .L802B6238
/* E2A8C4 802B6214 E4640000 */ swc1 $f4, ($v1)
/* E2A8C8 802B6218 24020014 */ addiu $v0, $zero, 0x14
/* E2A8CC 802B621C A6220008 */ sh $v0, 8($s1)
/* E2A8D0 802B6220 2402000F */ addiu $v0, $zero, 0xf
/* E2A8D4 802B6224 A22000B6 */ sb $zero, 0xb6($s1)
/* E2A8D8 802B6228 0C0AD800 */ jal func_802B6000_E2A6B0
/* E2A8DC 802B622C AE420008 */ sw $v0, 8($s2)
/* E2A8E0 802B6230 080AD8A5 */ j .L802B6294
/* E2A8E4 802B6234 AE420000 */ sw $v0, ($s2)
.L802B6238:
/* E2A8E8 802B6238 3C048011 */ lui $a0, %hi(D_8010C96C)
/* E2A8EC 802B623C 8C84C96C */ lw $a0, %lo(D_8010C96C)($a0)
/* E2A8F0 802B6240 24020014 */ addiu $v0, $zero, 0x14
/* E2A8F4 802B6244 A22200B6 */ sb $v0, 0xb6($s1)
/* E2A8F8 802B6248 24020028 */ addiu $v0, $zero, 0x28
/* E2A8FC 802B624C A6220008 */ sh $v0, 8($s1)
/* E2A900 802B6250 24020001 */ addiu $v0, $zero, 1
/* E2A904 802B6254 AE420004 */ sw $v0, 4($s2)
/* E2A908 802B6258 2402000C */ addiu $v0, $zero, 0xc
/* E2A90C 802B625C 0C00E2B7 */ jal get_npc_by_index
/* E2A910 802B6260 AE42000C */ sw $v0, 0xc($s2)
/* E2A914 802B6264 0040802D */ daddu $s0, $v0, $zero
/* E2A918 802B6268 240400FD */ addiu $a0, $zero, 0xfd
/* E2A91C 802B626C 0000282D */ daddu $a1, $zero, $zero
/* E2A920 802B6270 8E020000 */ lw $v0, ($s0)
/* E2A924 802B6274 3C030004 */ lui $v1, 4
/* E2A928 802B6278 00431025 */ or $v0, $v0, $v1
/* E2A92C 802B627C AE020000 */ sw $v0, ($s0)
/* E2A930 802B6280 8E220000 */ lw $v0, ($s1)
/* E2A934 802B6284 3C030010 */ lui $v1, 0x10
/* E2A938 802B6288 00431025 */ or $v0, $v0, $v1
/* E2A93C 802B628C 0C052736 */ jal play_sound_at_player
/* E2A940 802B6290 AE220000 */ sw $v0, ($s1)
.L802B6294:
/* E2A944 802B6294 822300B6 */ lb $v1, 0xb6($s1)
/* E2A948 802B6298 2C620033 */ sltiu $v0, $v1, 0x33
/* E2A94C 802B629C 104001D4 */ beqz $v0, .L802B69F0
/* E2A950 802B62A0 00031080 */ sll $v0, $v1, 2
/* E2A954 802B62A4 3C01802B */ lui $at, %hi(D_802B6D90)
/* E2A958 802B62A8 00220821 */ addu $at, $at, $v0
/* E2A95C 802B62AC 8C226D90 */ lw $v0, %lo(D_802B6D90)($at)
/* E2A960 802B62B0 00400008 */ jr $v0
/* E2A964 802B62B4 00000000 */ nop
/* E2A968 802B62B8 C6220090 */ lwc1 $f2, 0x90($s1)
/* E2A96C 802B62BC 44800000 */ mtc1 $zero, $f0
/* E2A970 802B62C0 00000000 */ nop
/* E2A974 802B62C4 46001032 */ c.eq.s $f2, $f0
/* E2A978 802B62C8 00000000 */ nop
/* E2A97C 802B62CC 45000015 */ bc1f .L802B6324
/* E2A980 802B62D0 00000000 */ nop
/* E2A984 802B62D4 0C0399B1 */ jal func_800E66C4
/* E2A988 802B62D8 00000000 */ nop
/* E2A98C 802B62DC 0441000A */ bgez $v0, .L802B6308
/* E2A990 802B62E0 3C04000C */ lui $a0, 0xc
/* E2A994 802B62E4 0C037FBF */ jal func_800DFEFC
/* E2A998 802B62E8 34840024 */ ori $a0, $a0, 0x24
/* E2A99C 802B62EC 24040092 */ addiu $a0, $zero, 0x92
/* E2A9A0 802B62F0 0C052736 */ jal play_sound_at_player
/* E2A9A4 802B62F4 0000282D */ daddu $a1, $zero, $zero
/* E2A9A8 802B62F8 922200B6 */ lbu $v0, 0xb6($s1)
/* E2A9AC 802B62FC 24420001 */ addiu $v0, $v0, 1
/* E2A9B0 802B6300 080AD8C9 */ j .L802B6324
/* E2A9B4 802B6304 A22200B6 */ sb $v0, 0xb6($s1)
.L802B6308:
/* E2A9B8 802B6308 0C037FBF */ jal func_800DFEFC
/* E2A9BC 802B630C 34840027 */ ori $a0, $a0, 0x27
/* E2A9C0 802B6310 24020032 */ addiu $v0, $zero, 0x32
/* E2A9C4 802B6314 A22200B6 */ sb $v0, 0xb6($s1)
/* E2A9C8 802B6318 2402000A */ addiu $v0, $zero, 0xa
/* E2A9CC 802B631C A6220008 */ sh $v0, 8($s1)
/* E2A9D0 802B6320 AE400008 */ sw $zero, 8($s2)
.L802B6324:
/* E2A9D4 802B6324 96220008 */ lhu $v0, 8($s1)
/* E2A9D8 802B6328 2442FFFF */ addiu $v0, $v0, -1
/* E2A9DC 802B632C A6220008 */ sh $v0, 8($s1)
/* E2A9E0 802B6330 00021400 */ sll $v0, $v0, 0x10
/* E2A9E4 802B6334 144001AE */ bnez $v0, .L802B69F0
/* E2A9E8 802B6338 3C04000C */ lui $a0, 0xc
/* E2A9EC 802B633C 0C037FBF */ jal func_800DFEFC
/* E2A9F0 802B6340 34840025 */ ori $a0, $a0, 0x25
/* E2A9F4 802B6344 8E430000 */ lw $v1, ($s2)
/* E2A9F8 802B6348 24020002 */ addiu $v0, $zero, 2
/* E2A9FC 802B634C 14600004 */ bnez $v1, .L802B6360
/* E2AA00 802B6350 A22200B6 */ sb $v0, 0xb6($s1)
/* E2AA04 802B6354 24020028 */ addiu $v0, $zero, 0x28
/* E2AA08 802B6358 080ADA7C */ j .L802B69F0
/* E2AA0C 802B635C A22200B6 */ sb $v0, 0xb6($s1)
.L802B6360:
/* E2AA10 802B6360 0C009C22 */ jal func_80027088
/* E2AA14 802B6364 24040002 */ addiu $a0, $zero, 2
/* E2AA18 802B6368 080ADA7C */ j .L802B69F0
/* E2AA1C 802B636C 00000000 */ nop
/* E2AA20 802B6370 962200BC */ lhu $v0, 0xbc($s1)
/* E2AA24 802B6374 1040019E */ beqz $v0, .L802B69F0
/* E2AA28 802B6378 240400FD */ addiu $a0, $zero, 0xfd
/* E2AA2C 802B637C 0000282D */ daddu $a1, $zero, $zero
/* E2AA30 802B6380 2402000C */ addiu $v0, $zero, 0xc
/* E2AA34 802B6384 3C060010 */ lui $a2, 0x10
/* E2AA38 802B6388 A6220008 */ sh $v0, 8($s1)
/* E2AA3C 802B638C 8E220000 */ lw $v0, ($s1)
/* E2AA40 802B6390 922300B6 */ lbu $v1, 0xb6($s1)
/* E2AA44 802B6394 00461025 */ or $v0, $v0, $a2
/* E2AA48 802B6398 24630001 */ addiu $v1, $v1, 1
/* E2AA4C 802B639C AE220000 */ sw $v0, ($s1)
/* E2AA50 802B63A0 0C052736 */ jal play_sound_at_player
/* E2AA54 802B63A4 A22300B6 */ sb $v1, 0xb6($s1)
/* E2AA58 802B63A8 080ADA7C */ j .L802B69F0
/* E2AA5C 802B63AC 00000000 */ nop
/* E2AA60 802B63B0 96220008 */ lhu $v0, 8($s1)
/* E2AA64 802B63B4 2442FFFF */ addiu $v0, $v0, -1
/* E2AA68 802B63B8 A6220008 */ sh $v0, 8($s1)
/* E2AA6C 802B63BC 00021400 */ sll $v0, $v0, 0x10
/* E2AA70 802B63C0 14400116 */ bnez $v0, .L802B681C
/* E2AA74 802B63C4 2402000A */ addiu $v0, $zero, 0xa
/* E2AA78 802B63C8 A6220008 */ sh $v0, 8($s1)
/* E2AA7C 802B63CC 922200B6 */ lbu $v0, 0xb6($s1)
/* E2AA80 802B63D0 2403000A */ addiu $v1, $zero, 0xa
/* E2AA84 802B63D4 080ADA05 */ j .L802B6814
/* E2AA88 802B63D8 AE43000C */ sw $v1, 0xc($s2)
/* E2AA8C 802B63DC C63400A8 */ lwc1 $f20, 0xa8($s1)
/* E2AA90 802B63E0 0C0ADB3C */ jal func_802B6CF0_E2B3A0
/* E2AA94 802B63E4 00000000 */ nop
/* E2AA98 802B63E8 C66C006C */ lwc1 $f12, 0x6c($s3)
/* E2AA9C 802B63EC C62000A8 */ lwc1 $f0, 0xa8($s1)
/* E2AAA0 802B63F0 46006301 */ sub.s $f12, $f12, $f0
/* E2AAA4 802B63F4 3C0142B4 */ lui $at, 0x42b4
/* E2AAA8 802B63F8 44810000 */ mtc1 $at, $f0
/* E2AAAC 802B63FC 0C00A6C9 */ jal clamp_angle
/* E2AAB0 802B6400 46006301 */ sub.s $f12, $f12, $f0
/* E2AAB4 802B6404 86220008 */ lh $v0, 8($s1)
/* E2AAB8 802B6408 96230008 */ lhu $v1, 8($s1)
/* E2AABC 802B640C 144000F7 */ bnez $v0, .L802B67EC
/* E2AAC0 802B6410 E6200080 */ swc1 $f0, 0x80($s1)
/* E2AAC4 802B6414 C642001C */ lwc1 $f2, 0x1c($s2)
/* E2AAC8 802B6418 44800000 */ mtc1 $zero, $f0
/* E2AACC 802B641C 00000000 */ nop
/* E2AAD0 802B6420 4602003C */ c.lt.s $f0, $f2
/* E2AAD4 802B6424 00000000 */ nop
/* E2AAD8 802B6428 45000010 */ bc1f .L802B646C
/* E2AADC 802B642C 0000102D */ daddu $v0, $zero, $zero
/* E2AAE0 802B6430 3C014387 */ lui $at, 0x4387
/* E2AAE4 802B6434 44811000 */ mtc1 $at, $f2
/* E2AAE8 802B6438 00000000 */ nop
/* E2AAEC 802B643C 4602A03C */ c.lt.s $f20, $f2
/* E2AAF0 802B6440 00000000 */ nop
/* E2AAF4 802B6444 45000006 */ bc1f .L802B6460
/* E2AAF8 802B6448 00000000 */ nop
/* E2AAFC 802B644C C62000A8 */ lwc1 $f0, 0xa8($s1)
/* E2AB00 802B6450 4600103E */ c.le.s $f2, $f0
/* E2AB04 802B6454 00000000 */ nop
/* E2AB08 802B6458 45030001 */ bc1tl .L802B6460
/* E2AB0C 802B645C 24020001 */ addiu $v0, $zero, 1
.L802B6460:
/* E2AB10 802B6460 C642001C */ lwc1 $f2, 0x1c($s2)
/* E2AB14 802B6464 44800000 */ mtc1 $zero, $f0
/* E2AB18 802B6468 00000000 */ nop
.L802B646C:
/* E2AB1C 802B646C 4600103C */ c.lt.s $f2, $f0
/* E2AB20 802B6470 00000000 */ nop
/* E2AB24 802B6474 4500000D */ bc1f .L802B64AC
/* E2AB28 802B6478 00000000 */ nop
/* E2AB2C 802B647C 3C014387 */ lui $at, 0x4387
/* E2AB30 802B6480 44811000 */ mtc1 $at, $f2
/* E2AB34 802B6484 00000000 */ nop
/* E2AB38 802B6488 4614103C */ c.lt.s $f2, $f20
/* E2AB3C 802B648C 00000000 */ nop
/* E2AB40 802B6490 45000006 */ bc1f .L802B64AC
/* E2AB44 802B6494 00000000 */ nop
/* E2AB48 802B6498 C62000A8 */ lwc1 $f0, 0xa8($s1)
/* E2AB4C 802B649C 4602003E */ c.le.s $f0, $f2
/* E2AB50 802B64A0 00000000 */ nop
/* E2AB54 802B64A4 45030001 */ bc1tl .L802B64AC
/* E2AB58 802B64A8 24020001 */ addiu $v0, $zero, 1
.L802B64AC:
/* E2AB5C 802B64AC 10400150 */ beqz $v0, .L802B69F0
/* E2AB60 802B64B0 24020006 */ addiu $v0, $zero, 6
/* E2AB64 802B64B4 8224000D */ lb $a0, 0xd($s1)
/* E2AB68 802B64B8 A22200B6 */ sb $v0, 0xb6($s1)
/* E2AB6C 802B64BC 24020002 */ addiu $v0, $zero, 2
/* E2AB70 802B64C0 0C03995F */ jal make_disguise_npc
/* E2AB74 802B64C4 A6220008 */ sh $v0, 8($s1)
/* E2AB78 802B64C8 10400149 */ beqz $v0, .L802B69F0
/* E2AB7C 802B64CC 24020005 */ addiu $v0, $zero, 5
/* E2AB80 802B64D0 0C039940 */ jal func_800E6500
/* E2AB84 802B64D4 A22200B6 */ sb $v0, 0xb6($s1)
/* E2AB88 802B64D8 080ADA7C */ j .L802B69F0
/* E2AB8C 802B64DC 00000000 */ nop
/* E2AB90 802B64E0 8E220004 */ lw $v0, 4($s1)
/* E2AB94 802B64E4 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* E2AB98 802B64E8 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1)
/* E2AB9C 802B64EC 34422000 */ ori $v0, $v0, 0x2000
/* E2ABA0 802B64F0 AE220004 */ sw $v0, 4($s1)
/* E2ABA4 802B64F4 9062007E */ lbu $v0, 0x7e($v1)
/* E2ABA8 802B64F8 34420002 */ ori $v0, $v0, 2
/* E2ABAC 802B64FC A062007E */ sb $v0, 0x7e($v1)
/* E2ABB0 802B6500 922200B6 */ lbu $v0, 0xb6($s1)
/* E2ABB4 802B6504 24420001 */ addiu $v0, $v0, 1
/* E2ABB8 802B6508 080AD9FE */ j .L802B67F8
/* E2ABBC 802B650C A22200B6 */ sb $v0, 0xb6($s1)
/* E2ABC0 802B6510 C640001C */ lwc1 $f0, 0x1c($s2)
/* E2ABC4 802B6514 44802000 */ mtc1 $zero, $f4
/* E2ABC8 802B6518 00000000 */ nop
/* E2ABCC 802B651C 4600203C */ c.lt.s $f4, $f0
/* E2ABD0 802B6520 00000000 */ nop
/* E2ABD4 802B6524 4500001B */ bc1f .L802B6594
/* E2ABD8 802B6528 00000000 */ nop
/* E2ABDC 802B652C C6400020 */ lwc1 $f0, 0x20($s2)
/* E2ABE0 802B6530 3C01802B */ lui $at, %hi(D_802B6E60)
/* E2ABE4 802B6534 D4226E60 */ ldc1 $f2, %lo(D_802B6E60)($at)
/* E2ABE8 802B6538 46000021 */ cvt.d.s $f0, $f0
/* E2ABEC 802B653C 46220001 */ sub.d $f0, $f0, $f2
/* E2ABF0 802B6540 46200020 */ cvt.s.d $f0, $f0
/* E2ABF4 802B6544 4604003E */ c.le.s $f0, $f4
/* E2ABF8 802B6548 00000000 */ nop
/* E2ABFC 802B654C 450000F9 */ bc1f .L802B6934
/* E2AC00 802B6550 E6400020 */ swc1 $f0, 0x20($s2)
/* E2AC04 802B6554 3C048011 */ lui $a0, %hi(D_8010C96C)
/* E2AC08 802B6558 8C84C96C */ lw $a0, %lo(D_8010C96C)($a0)
/* E2AC0C 802B655C 2402000A */ addiu $v0, $zero, 0xa
/* E2AC10 802B6560 E6440020 */ swc1 $f4, 0x20($s2)
/* E2AC14 802B6564 A6220008 */ sh $v0, 8($s1)
/* E2AC18 802B6568 922200B6 */ lbu $v0, 0xb6($s1)
/* E2AC1C 802B656C 3C014334 */ lui $at, 0x4334
/* E2AC20 802B6570 44810000 */ mtc1 $at, $f0
/* E2AC24 802B6574 24420001 */ addiu $v0, $v0, 1
/* E2AC28 802B6578 A22200B6 */ sb $v0, 0xb6($s1)
/* E2AC2C 802B657C 0C00E2B7 */ jal get_npc_by_index
/* E2AC30 802B6580 E62000A8 */ swc1 $f0, 0xa8($s1)
/* E2AC34 802B6584 0040802D */ daddu $s0, $v0, $zero
/* E2AC38 802B6588 24020001 */ addiu $v0, $zero, 1
/* E2AC3C 802B658C 080AD97B */ j .L802B65EC
/* E2AC40 802B6590 A6020088 */ sh $v0, 0x88($s0)
.L802B6594:
/* E2AC44 802B6594 C6400020 */ lwc1 $f0, 0x20($s2)
/* E2AC48 802B6598 3C01802B */ lui $at, %hi(D_802B6E68)
/* E2AC4C 802B659C D4226E68 */ ldc1 $f2, %lo(D_802B6E68)($at)
/* E2AC50 802B65A0 46000021 */ cvt.d.s $f0, $f0
/* E2AC54 802B65A4 46220000 */ add.d $f0, $f0, $f2
/* E2AC58 802B65A8 46200020 */ cvt.s.d $f0, $f0
/* E2AC5C 802B65AC 4600203E */ c.le.s $f4, $f0
/* E2AC60 802B65B0 00000000 */ nop
/* E2AC64 802B65B4 450000DF */ bc1f .L802B6934
/* E2AC68 802B65B8 E6400020 */ swc1 $f0, 0x20($s2)
/* E2AC6C 802B65BC 3C048011 */ lui $a0, %hi(D_8010C96C)
/* E2AC70 802B65C0 8C84C96C */ lw $a0, %lo(D_8010C96C)($a0)
/* E2AC74 802B65C4 E6440020 */ swc1 $f4, 0x20($s2)
/* E2AC78 802B65C8 922300B6 */ lbu $v1, 0xb6($s1)
/* E2AC7C 802B65CC 2402000A */ addiu $v0, $zero, 0xa
/* E2AC80 802B65D0 A6220008 */ sh $v0, 8($s1)
/* E2AC84 802B65D4 E62400A8 */ swc1 $f4, 0xa8($s1)
/* E2AC88 802B65D8 24630001 */ addiu $v1, $v1, 1
/* E2AC8C 802B65DC 0C00E2B7 */ jal get_npc_by_index
/* E2AC90 802B65E0 A22300B6 */ sb $v1, 0xb6($s1)
/* E2AC94 802B65E4 0040802D */ daddu $s0, $v0, $zero
/* E2AC98 802B65E8 A6000088 */ sh $zero, 0x88($s0)
.L802B65EC:
/* E2AC9C 802B65EC C66C006C */ lwc1 $f12, 0x6c($s3)
/* E2ACA0 802B65F0 C62000A8 */ lwc1 $f0, 0xa8($s1)
/* E2ACA4 802B65F4 46006301 */ sub.s $f12, $f12, $f0
/* E2ACA8 802B65F8 3C0142B4 */ lui $at, 0x42b4
/* E2ACAC 802B65FC 44810000 */ mtc1 $at, $f0
/* E2ACB0 802B6600 0C00A6C9 */ jal clamp_angle
/* E2ACB4 802B6604 46006301 */ sub.s $f12, $f12, $f0
/* E2ACB8 802B6608 4600018D */ trunc.w.s $f6, $f0
/* E2ACBC 802B660C 44023000 */ mfc1 $v0, $f6
/* E2ACC0 802B6610 E600000C */ swc1 $f0, 0xc($s0)
/* E2ACC4 802B6614 080ADA4D */ j .L802B6934
/* E2ACC8 802B6618 A602008A */ sh $v0, 0x8a($s0)
/* E2ACCC 802B661C 96220008 */ lhu $v0, 8($s1)
/* E2ACD0 802B6620 2442FFFF */ addiu $v0, $v0, -1
/* E2ACD4 802B6624 A6220008 */ sh $v0, 8($s1)
/* E2ACD8 802B6628 00021400 */ sll $v0, $v0, 0x10
/* E2ACDC 802B662C 144000F0 */ bnez $v0, .L802B69F0
/* E2ACE0 802B6630 00000000 */ nop
/* E2ACE4 802B6634 0C009C22 */ jal func_80027088
/* E2ACE8 802B6638 0000202D */ daddu $a0, $zero, $zero
/* E2ACEC 802B663C 3C048011 */ lui $a0, %hi(D_8010C96C)
/* E2ACF0 802B6640 8C84C96C */ lw $a0, %lo(D_8010C96C)($a0)
/* E2ACF4 802B6644 0C00E2B7 */ jal get_npc_by_index
/* E2ACF8 802B6648 00000000 */ nop
/* E2ACFC 802B664C 0040802D */ daddu $s0, $v0, $zero
/* E2AD00 802B6650 3C03FFFB */ lui $v1, 0xfffb
/* E2AD04 802B6654 3463FFFF */ ori $v1, $v1, 0xffff
/* E2AD08 802B6658 3C05FFEF */ lui $a1, 0xffef
/* E2AD0C 802B665C 8E020000 */ lw $v0, ($s0)
/* E2AD10 802B6660 34A5FFFF */ ori $a1, $a1, 0xffff
/* E2AD14 802B6664 00431024 */ and $v0, $v0, $v1
/* E2AD18 802B6668 AE020000 */ sw $v0, ($s0)
/* E2AD1C 802B666C 8E220000 */ lw $v0, ($s1)
/* E2AD20 802B6670 0000202D */ daddu $a0, $zero, $zero
/* E2AD24 802B6674 00451024 */ and $v0, $v0, $a1
/* E2AD28 802B6678 080ADA78 */ j .L802B69E0
/* E2AD2C 802B667C AE220000 */ sw $v0, ($s1)
/* E2AD30 802B6680 96220008 */ lhu $v0, 8($s1)
/* E2AD34 802B6684 2442FFFF */ addiu $v0, $v0, -1
/* E2AD38 802B6688 A6220008 */ sh $v0, 8($s1)
/* E2AD3C 802B668C 00021400 */ sll $v0, $v0, 0x10
/* E2AD40 802B6690 14400004 */ bnez $v0, .L802B66A4
/* E2AD44 802B6694 00000000 */ nop
/* E2AD48 802B6698 922200B6 */ lbu $v0, 0xb6($s1)
/* E2AD4C 802B669C 24420001 */ addiu $v0, $v0, 1
/* E2AD50 802B66A0 A22200B6 */ sb $v0, 0xb6($s1)
.L802B66A4:
/* E2AD54 802B66A4 0C0ADB3C */ jal func_802B6CF0_E2B3A0
/* E2AD58 802B66A8 00000000 */ nop
/* E2AD5C 802B66AC C66C006C */ lwc1 $f12, 0x6c($s3)
/* E2AD60 802B66B0 C62000A8 */ lwc1 $f0, 0xa8($s1)
/* E2AD64 802B66B4 080ADA54 */ j .L802B6950
/* E2AD68 802B66B8 46006301 */ sub.s $f12, $f12, $f0
/* E2AD6C 802B66BC C63400A8 */ lwc1 $f20, 0xa8($s1)
/* E2AD70 802B66C0 0C0ADB3C */ jal func_802B6CF0_E2B3A0
/* E2AD74 802B66C4 00000000 */ nop
/* E2AD78 802B66C8 C66C006C */ lwc1 $f12, 0x6c($s3)
/* E2AD7C 802B66CC C62000A8 */ lwc1 $f0, 0xa8($s1)
/* E2AD80 802B66D0 46006301 */ sub.s $f12, $f12, $f0
/* E2AD84 802B66D4 3C0142B4 */ lui $at, 0x42b4
/* E2AD88 802B66D8 44810000 */ mtc1 $at, $f0
/* E2AD8C 802B66DC 0C00A6C9 */ jal clamp_angle
/* E2AD90 802B66E0 46006301 */ sub.s $f12, $f12, $f0
/* E2AD94 802B66E4 86220008 */ lh $v0, 8($s1)
/* E2AD98 802B66E8 96230008 */ lhu $v1, 8($s1)
/* E2AD9C 802B66EC 1440003F */ bnez $v0, .L802B67EC
/* E2ADA0 802B66F0 E6200080 */ swc1 $f0, 0x80($s1)
/* E2ADA4 802B66F4 C642001C */ lwc1 $f2, 0x1c($s2)
/* E2ADA8 802B66F8 44800000 */ mtc1 $zero, $f0
/* E2ADAC 802B66FC 00000000 */ nop
/* E2ADB0 802B6700 4602003C */ c.lt.s $f0, $f2
/* E2ADB4 802B6704 00000000 */ nop
/* E2ADB8 802B6708 45000010 */ bc1f .L802B674C
/* E2ADBC 802B670C 0000102D */ daddu $v0, $zero, $zero
/* E2ADC0 802B6710 3C014387 */ lui $at, 0x4387
/* E2ADC4 802B6714 44811000 */ mtc1 $at, $f2
/* E2ADC8 802B6718 00000000 */ nop
/* E2ADCC 802B671C 4602A03C */ c.lt.s $f20, $f2
/* E2ADD0 802B6720 00000000 */ nop
/* E2ADD4 802B6724 45000006 */ bc1f .L802B6740
/* E2ADD8 802B6728 00000000 */ nop
/* E2ADDC 802B672C C62000A8 */ lwc1 $f0, 0xa8($s1)
/* E2ADE0 802B6730 4600103E */ c.le.s $f2, $f0
/* E2ADE4 802B6734 00000000 */ nop
/* E2ADE8 802B6738 45030001 */ bc1tl .L802B6740
/* E2ADEC 802B673C 24020001 */ addiu $v0, $zero, 1
.L802B6740:
/* E2ADF0 802B6740 C642001C */ lwc1 $f2, 0x1c($s2)
/* E2ADF4 802B6744 44800000 */ mtc1 $zero, $f0
/* E2ADF8 802B6748 00000000 */ nop
.L802B674C:
/* E2ADFC 802B674C 4600103C */ c.lt.s $f2, $f0
/* E2AE00 802B6750 00000000 */ nop
/* E2AE04 802B6754 4500000D */ bc1f .L802B678C
/* E2AE08 802B6758 00000000 */ nop
/* E2AE0C 802B675C 3C014387 */ lui $at, 0x4387
/* E2AE10 802B6760 44811000 */ mtc1 $at, $f2
/* E2AE14 802B6764 00000000 */ nop
/* E2AE18 802B6768 4614103C */ c.lt.s $f2, $f20
/* E2AE1C 802B676C 00000000 */ nop
/* E2AE20 802B6770 45000006 */ bc1f .L802B678C
/* E2AE24 802B6774 00000000 */ nop
/* E2AE28 802B6778 C62000A8 */ lwc1 $f0, 0xa8($s1)
/* E2AE2C 802B677C 4602003E */ c.le.s $f0, $f2
/* E2AE30 802B6780 00000000 */ nop
/* E2AE34 802B6784 45030001 */ bc1tl .L802B678C
/* E2AE38 802B6788 24020001 */ addiu $v0, $zero, 1
.L802B678C:
/* E2AE3C 802B678C 10400098 */ beqz $v0, .L802B69F0
/* E2AE40 802B6790 24030002 */ addiu $v1, $zero, 2
/* E2AE44 802B6794 922200B6 */ lbu $v0, 0xb6($s1)
/* E2AE48 802B6798 A6230008 */ sh $v1, 8($s1)
/* E2AE4C 802B679C 2403DFFF */ addiu $v1, $zero, -0x2001
/* E2AE50 802B67A0 24420001 */ addiu $v0, $v0, 1
/* E2AE54 802B67A4 A22200B6 */ sb $v0, 0xb6($s1)
/* E2AE58 802B67A8 8E220004 */ lw $v0, 4($s1)
/* E2AE5C 802B67AC 3C048007 */ lui $a0, %hi(gGameStatusPtr)
/* E2AE60 802B67B0 8C84419C */ lw $a0, %lo(gGameStatusPtr)($a0)
/* E2AE64 802B67B4 00431024 */ and $v0, $v0, $v1
/* E2AE68 802B67B8 AE220004 */ sw $v0, 4($s1)
/* E2AE6C 802B67BC 9082007E */ lbu $v0, 0x7e($a0)
/* E2AE70 802B67C0 304200FD */ andi $v0, $v0, 0xfd
/* E2AE74 802B67C4 A082007E */ sb $v0, 0x7e($a0)
/* E2AE78 802B67C8 3C048011 */ lui $a0, %hi(D_8010C96C)
/* E2AE7C 802B67CC 8C84C96C */ lw $a0, %lo(D_8010C96C)($a0)
/* E2AE80 802B67D0 0C00E228 */ jal free_npc_by_index
/* E2AE84 802B67D4 A220000C */ sb $zero, 0xc($s1)
/* E2AE88 802B67D8 24020037 */ addiu $v0, $zero, 0x37
/* E2AE8C 802B67DC A62200B0 */ sh $v0, 0xb0($s1)
/* E2AE90 802B67E0 24020026 */ addiu $v0, $zero, 0x26
/* E2AE94 802B67E4 080ADA7C */ j .L802B69F0
/* E2AE98 802B67E8 A62200B2 */ sh $v0, 0xb2($s1)
.L802B67EC:
/* E2AE9C 802B67EC 2462FFFF */ addiu $v0, $v1, -1
/* E2AEA0 802B67F0 080ADA7C */ j .L802B69F0
/* E2AEA4 802B67F4 A6220008 */ sh $v0, 8($s1)
.L802B67F8:
/* E2AEA8 802B67F8 96220008 */ lhu $v0, 8($s1)
/* E2AEAC 802B67FC 2442FFFF */ addiu $v0, $v0, -1
/* E2AEB0 802B6800 A6220008 */ sh $v0, 8($s1)
/* E2AEB4 802B6804 00021400 */ sll $v0, $v0, 0x10
/* E2AEB8 802B6808 14400004 */ bnez $v0, .L802B681C
/* E2AEBC 802B680C 00000000 */ nop
/* E2AEC0 802B6810 922200B6 */ lbu $v0, 0xb6($s1)
.L802B6814:
/* E2AEC4 802B6814 24420001 */ addiu $v0, $v0, 1
/* E2AEC8 802B6818 A22200B6 */ sb $v0, 0xb6($s1)
.L802B681C:
/* E2AECC 802B681C 0C0ADB3C */ jal func_802B6CF0_E2B3A0
/* E2AED0 802B6820 00000000 */ nop
/* E2AED4 802B6824 080ADA7C */ j .L802B69F0
/* E2AED8 802B6828 00000000 */ nop
/* E2AEDC 802B682C C640001C */ lwc1 $f0, 0x1c($s2)
/* E2AEE0 802B6830 44802000 */ mtc1 $zero, $f4
/* E2AEE4 802B6834 00000000 */ nop
/* E2AEE8 802B6838 4600203C */ c.lt.s $f4, $f0
/* E2AEEC 802B683C 00000000 */ nop
/* E2AEF0 802B6840 4500001D */ bc1f .L802B68B8
/* E2AEF4 802B6844 00000000 */ nop
/* E2AEF8 802B6848 C6400020 */ lwc1 $f0, 0x20($s2)
/* E2AEFC 802B684C 3C01802B */ lui $at, %hi(D_802B6E70)
/* E2AF00 802B6850 D4226E70 */ ldc1 $f2, %lo(D_802B6E70)($at)
/* E2AF04 802B6854 46000021 */ cvt.d.s $f0, $f0
/* E2AF08 802B6858 46220001 */ sub.d $f0, $f0, $f2
/* E2AF0C 802B685C 46200020 */ cvt.s.d $f0, $f0
/* E2AF10 802B6860 4604003E */ c.le.s $f0, $f4
/* E2AF14 802B6864 00000000 */ nop
/* E2AF18 802B6868 45000032 */ bc1f .L802B6934
/* E2AF1C 802B686C E6400020 */ swc1 $f0, 0x20($s2)
/* E2AF20 802B6870 2402000A */ addiu $v0, $zero, 0xa
/* E2AF24 802B6874 E6440020 */ swc1 $f4, 0x20($s2)
/* E2AF28 802B6878 A6220008 */ sh $v0, 8($s1)
/* E2AF2C 802B687C 922200B6 */ lbu $v0, 0xb6($s1)
/* E2AF30 802B6880 3C014334 */ lui $at, 0x4334
/* E2AF34 802B6884 44810000 */ mtc1 $at, $f0
/* E2AF38 802B6888 24420001 */ addiu $v0, $v0, 1
/* E2AF3C 802B688C A22200B6 */ sb $v0, 0xb6($s1)
/* E2AF40 802B6890 E62000A8 */ swc1 $f0, 0xa8($s1)
/* E2AF44 802B6894 C66C006C */ lwc1 $f12, 0x6c($s3)
/* E2AF48 802B6898 46006301 */ sub.s $f12, $f12, $f0
/* E2AF4C 802B689C 3C0142B4 */ lui $at, 0x42b4
/* E2AF50 802B68A0 44810000 */ mtc1 $at, $f0
/* E2AF54 802B68A4 24020001 */ addiu $v0, $zero, 1
/* E2AF58 802B68A8 3C018011 */ lui $at, %hi(D_8010C95C)
/* E2AF5C 802B68AC AC22C95C */ sw $v0, %lo(D_8010C95C)($at)
/* E2AF60 802B68B0 080ADA47 */ j .L802B691C
/* E2AF64 802B68B4 46006301 */ sub.s $f12, $f12, $f0
.L802B68B8:
/* E2AF68 802B68B8 C6400020 */ lwc1 $f0, 0x20($s2)
/* E2AF6C 802B68BC 3C01802B */ lui $at, %hi(D_802B6E78)
/* E2AF70 802B68C0 D4226E78 */ ldc1 $f2, %lo(D_802B6E78)($at)
/* E2AF74 802B68C4 46000021 */ cvt.d.s $f0, $f0
/* E2AF78 802B68C8 46220000 */ add.d $f0, $f0, $f2
/* E2AF7C 802B68CC 46200020 */ cvt.s.d $f0, $f0
/* E2AF80 802B68D0 4600203E */ c.le.s $f4, $f0
/* E2AF84 802B68D4 00000000 */ nop
/* E2AF88 802B68D8 45000016 */ bc1f .L802B6934
/* E2AF8C 802B68DC E6400020 */ swc1 $f0, 0x20($s2)
/* E2AF90 802B68E0 E6440020 */ swc1 $f4, 0x20($s2)
/* E2AF94 802B68E4 922300B6 */ lbu $v1, 0xb6($s1)
/* E2AF98 802B68E8 2402000A */ addiu $v0, $zero, 0xa
/* E2AF9C 802B68EC A6220008 */ sh $v0, 8($s1)
/* E2AFA0 802B68F0 E62400A8 */ swc1 $f4, 0xa8($s1)
/* E2AFA4 802B68F4 24630001 */ addiu $v1, $v1, 1
/* E2AFA8 802B68F8 A22300B6 */ sb $v1, 0xb6($s1)
/* E2AFAC 802B68FC C66C006C */ lwc1 $f12, 0x6c($s3)
/* E2AFB0 802B6900 46046301 */ sub.s $f12, $f12, $f4
/* E2AFB4 802B6904 3C0142B4 */ lui $at, 0x42b4
/* E2AFB8 802B6908 44810000 */ mtc1 $at, $f0
/* E2AFBC 802B690C 00000000 */ nop
/* E2AFC0 802B6910 46006301 */ sub.s $f12, $f12, $f0
/* E2AFC4 802B6914 3C018011 */ lui $at, %hi(D_8010C95C)
/* E2AFC8 802B6918 AC20C95C */ sw $zero, %lo(D_8010C95C)($at)
.L802B691C:
/* E2AFCC 802B691C 0C00A6C9 */ jal clamp_angle
/* E2AFD0 802B6920 00000000 */ nop
/* E2AFD4 802B6924 4600018D */ trunc.w.s $f6, $f0
/* E2AFD8 802B6928 3C01800F */ lui $at, %hi(D_800F7B40)
/* E2AFDC 802B692C E4267B40 */ swc1 $f6, %lo(D_800F7B40)($at)
/* E2AFE0 802B6930 E6200084 */ swc1 $f0, 0x84($s1)
.L802B6934:
/* E2AFE4 802B6934 C62000A8 */ lwc1 $f0, 0xa8($s1)
/* E2AFE8 802B6938 C64C0020 */ lwc1 $f12, 0x20($s2)
/* E2AFEC 802B693C 0C00A6C9 */ jal clamp_angle
/* E2AFF0 802B6940 460C0300 */ add.s $f12, $f0, $f12
/* E2AFF4 802B6944 E62000A8 */ swc1 $f0, 0xa8($s1)
/* E2AFF8 802B6948 C66C006C */ lwc1 $f12, 0x6c($s3)
/* E2AFFC 802B694C 46006301 */ sub.s $f12, $f12, $f0
.L802B6950:
/* E2B000 802B6950 3C0142B4 */ lui $at, 0x42b4
/* E2B004 802B6954 44810000 */ mtc1 $at, $f0
/* E2B008 802B6958 0C00A6C9 */ jal clamp_angle
/* E2B00C 802B695C 46006301 */ sub.s $f12, $f12, $f0
/* E2B010 802B6960 080ADA7C */ j .L802B69F0
/* E2B014 802B6964 E6200080 */ swc1 $f0, 0x80($s1)
/* E2B018 802B6968 96220008 */ lhu $v0, 8($s1)
/* E2B01C 802B696C 2442FFFF */ addiu $v0, $v0, -1
/* E2B020 802B6970 A6220008 */ sh $v0, 8($s1)
/* E2B024 802B6974 00021400 */ sll $v0, $v0, 0x10
/* E2B028 802B6978 1440001D */ bnez $v0, .L802B69F0
/* E2B02C 802B697C 00000000 */ nop
/* E2B030 802B6980 0C009C22 */ jal func_80027088
/* E2B034 802B6984 0000202D */ daddu $a0, $zero, $zero
/* E2B038 802B6988 3C03FFEF */ lui $v1, 0xffef
/* E2B03C 802B698C 3463FFFF */ ori $v1, $v1, 0xffff
/* E2B040 802B6990 8E220000 */ lw $v0, ($s1)
/* E2B044 802B6994 0000202D */ daddu $a0, $zero, $zero
/* E2B048 802B6998 00431024 */ and $v0, $v0, $v1
/* E2B04C 802B699C 080ADA78 */ j .L802B69E0
/* E2B050 802B69A0 AE220000 */ sw $v0, ($s1)
/* E2B054 802B69A4 0C0398E9 */ jal func_800E63A4
/* E2B058 802B69A8 0000202D */ daddu $a0, $zero, $zero
/* E2B05C 802B69AC 080ADA7A */ j .L802B69E8
/* E2B060 802B69B0 00000000 */ nop
/* E2B064 802B69B4 962200BC */ lhu $v0, 0xbc($s1)
/* E2B068 802B69B8 1040000D */ beqz $v0, .L802B69F0
/* E2B06C 802B69BC 0000202D */ daddu $a0, $zero, $zero
/* E2B070 802B69C0 080ADA78 */ j .L802B69E0
/* E2B074 802B69C4 00000000 */ nop
/* E2B078 802B69C8 96220008 */ lhu $v0, 8($s1)
/* E2B07C 802B69CC 2442FFFF */ addiu $v0, $v0, -1
/* E2B080 802B69D0 A6220008 */ sh $v0, 8($s1)
/* E2B084 802B69D4 00021400 */ sll $v0, $v0, 0x10
/* E2B088 802B69D8 14400005 */ bnez $v0, .L802B69F0
/* E2B08C 802B69DC 0000202D */ daddu $a0, $zero, $zero
.L802B69E0:
/* E2B090 802B69E0 0C039769 */ jal set_action_state
/* E2B094 802B69E4 00000000 */ nop
.L802B69E8:
/* E2B098 802B69E8 0C038050 */ jal enable_player_static_collisions
/* E2B09C 802B69EC 00000000 */ nop
.L802B69F0:
/* E2B0A0 802B69F0 8E430008 */ lw $v1, 8($s2)
/* E2B0A4 802B69F4 18600084 */ blez $v1, .L802B6C08
/* E2B0A8 802B69F8 2402000A */ addiu $v0, $zero, 0xa
/* E2B0AC 802B69FC 2463FFFF */ addiu $v1, $v1, -1
/* E2B0B0 802B6A00 14620042 */ bne $v1, $v0, .L802B6B0C
/* E2B0B4 802B6A04 AE430008 */ sw $v1, 8($s2)
/* E2B0B8 802B6A08 C62200A8 */ lwc1 $f2, 0xa8($s1)
/* E2B0BC 802B6A0C 3C0142B4 */ lui $at, 0x42b4
/* E2B0C0 802B6A10 44810000 */ mtc1 $at, $f0
/* E2B0C4 802B6A14 00000000 */ nop
/* E2B0C8 802B6A18 4602003E */ c.le.s $f0, $f2
/* E2B0CC 802B6A1C 00000000 */ nop
/* E2B0D0 802B6A20 45000016 */ bc1f .L802B6A7C
/* E2B0D4 802B6A24 00000000 */ nop
/* E2B0D8 802B6A28 3C014387 */ lui $at, 0x4387
/* E2B0DC 802B6A2C 44812000 */ mtc1 $at, $f4
/* E2B0E0 802B6A30 00000000 */ nop
/* E2B0E4 802B6A34 4604103C */ c.lt.s $f2, $f4
/* E2B0E8 802B6A38 00000000 */ nop
/* E2B0EC 802B6A3C 4500000F */ bc1f .L802B6A7C
/* E2B0F0 802B6A40 00000000 */ nop
/* E2B0F4 802B6A44 C660006C */ lwc1 $f0, 0x6c($s3)
/* E2B0F8 802B6A48 46040001 */ sub.s $f0, $f0, $f4
/* E2B0FC 802B6A4C 3C0140C9 */ lui $at, 0x40c9
/* E2B100 802B6A50 34210FD0 */ ori $at, $at, 0xfd0
/* E2B104 802B6A54 44811000 */ mtc1 $at, $f2
/* E2B108 802B6A58 00000000 */ nop
/* E2B10C 802B6A5C 46020002 */ mul.s $f0, $f0, $f2
/* E2B110 802B6A60 00000000 */ nop
/* E2B114 802B6A64 3C0143B4 */ lui $at, 0x43b4
/* E2B118 802B6A68 44811000 */ mtc1 $at, $f2
/* E2B11C 802B6A6C 3C014238 */ lui $at, 0x4238
/* E2B120 802B6A70 4481B000 */ mtc1 $at, $f22
/* E2B124 802B6A74 080ADAAF */ j .L802B6ABC
/* E2B128 802B6A78 46020503 */ div.s $f20, $f0, $f2
.L802B6A7C:
/* E2B12C 802B6A7C C662006C */ lwc1 $f2, 0x6c($s3)
/* E2B130 802B6A80 3C0142B4 */ lui $at, 0x42b4
/* E2B134 802B6A84 44810000 */ mtc1 $at, $f0
/* E2B138 802B6A88 00000000 */ nop
/* E2B13C 802B6A8C 46001081 */ sub.s $f2, $f2, $f0
/* E2B140 802B6A90 3C0140C9 */ lui $at, 0x40c9
/* E2B144 802B6A94 34210FD0 */ ori $at, $at, 0xfd0
/* E2B148 802B6A98 44810000 */ mtc1 $at, $f0
/* E2B14C 802B6A9C 00000000 */ nop
/* E2B150 802B6AA0 46001082 */ mul.s $f2, $f2, $f0
/* E2B154 802B6AA4 00000000 */ nop
/* E2B158 802B6AA8 3C0143B4 */ lui $at, 0x43b4
/* E2B15C 802B6AAC 44810000 */ mtc1 $at, $f0
/* E2B160 802B6AB0 3C0141F0 */ lui $at, 0x41f0
/* E2B164 802B6AB4 4481B000 */ mtc1 $at, $f22
/* E2B168 802B6AB8 46001503 */ div.s $f20, $f2, $f0
.L802B6ABC:
/* E2B16C 802B6ABC 0C00A85B */ jal sin_rad
/* E2B170 802B6AC0 4600A306 */ mov.s $f12, $f20
/* E2B174 802B6AC4 4600B002 */ mul.s $f0, $f22, $f0
/* E2B178 802B6AC8 00000000 */ nop
/* E2B17C 802B6ACC C6220028 */ lwc1 $f2, 0x28($s1)
/* E2B180 802B6AD0 46001080 */ add.s $f2, $f2, $f0
/* E2B184 802B6AD4 4600A306 */ mov.s $f12, $f20
/* E2B188 802B6AD8 0C00A874 */ jal cos_rad
/* E2B18C 802B6ADC E6420010 */ swc1 $f2, 0x10($s2)
/* E2B190 802B6AE0 4600B002 */ mul.s $f0, $f22, $f0
/* E2B194 802B6AE4 00000000 */ nop
/* E2B198 802B6AE8 C624002C */ lwc1 $f4, 0x2c($s1)
/* E2B19C 802B6AEC 3C0141A0 */ lui $at, 0x41a0
/* E2B1A0 802B6AF0 44811000 */ mtc1 $at, $f2
/* E2B1A4 802B6AF4 00000000 */ nop
/* E2B1A8 802B6AF8 46022101 */ sub.s $f4, $f4, $f2
/* E2B1AC 802B6AFC C6220030 */ lwc1 $f2, 0x30($s1)
/* E2B1B0 802B6B00 46001081 */ sub.s $f2, $f2, $f0
/* E2B1B4 802B6B04 E6440014 */ swc1 $f4, 0x14($s2)
/* E2B1B8 802B6B08 E6420018 */ swc1 $f2, 0x18($s2)
.L802B6B0C:
/* E2B1BC 802B6B0C 8E430008 */ lw $v1, 8($s2)
/* E2B1C0 802B6B10 2862000B */ slti $v0, $v1, 0xb
/* E2B1C4 802B6B14 10400050 */ beqz $v0, .L802B6C58
/* E2B1C8 802B6B18 30620001 */ andi $v0, $v1, 1
/* E2B1CC 802B6B1C 1040004E */ beqz $v0, .L802B6C58
/* E2B1D0 802B6B20 00000000 */ nop
/* E2B1D4 802B6B24 C6420010 */ lwc1 $f2, 0x10($s2)
/* E2B1D8 802B6B28 3C014100 */ lui $at, 0x4100
/* E2B1DC 802B6B2C 44810000 */ mtc1 $at, $f0
/* E2B1E0 802B6B30 00000000 */ nop
/* E2B1E4 802B6B34 46001081 */ sub.s $f2, $f2, $f0
/* E2B1E8 802B6B38 3C014248 */ lui $at, 0x4248
/* E2B1EC 802B6B3C 44810000 */ mtc1 $at, $f0
/* E2B1F0 802B6B40 44051000 */ mfc1 $a1, $f2
/* E2B1F4 802B6B44 C6420014 */ lwc1 $f2, 0x14($s2)
/* E2B1F8 802B6B48 46001080 */ add.s $f2, $f2, $f0
/* E2B1FC 802B6B4C 8E470018 */ lw $a3, 0x18($s2)
/* E2B200 802B6B50 3C014000 */ lui $at, 0x4000
/* E2B204 802B6B54 44810000 */ mtc1 $at, $f0
/* E2B208 802B6B58 44061000 */ mfc1 $a2, $f2
/* E2B20C 802B6B5C 24040003 */ addiu $a0, $zero, 3
/* E2B210 802B6B60 0C01BFBC */ jal func_8006FEF0
/* E2B214 802B6B64 E7A00010 */ swc1 $f0, 0x10($sp)
/* E2B218 802B6B68 C660006C */ lwc1 $f0, 0x6c($s3)
/* E2B21C 802B6B6C C62200A8 */ lwc1 $f2, 0xa8($s1)
/* E2B220 802B6B70 46020000 */ add.s $f0, $f0, $f2
/* E2B224 802B6B74 3C0142B4 */ lui $at, 0x42b4
/* E2B228 802B6B78 44811000 */ mtc1 $at, $f2
/* E2B22C 802B6B7C 00000000 */ nop
/* E2B230 802B6B80 46020001 */ sub.s $f0, $f0, $f2
/* E2B234 802B6B84 3C0140C9 */ lui $at, 0x40c9
/* E2B238 802B6B88 34210FD0 */ ori $at, $at, 0xfd0
/* E2B23C 802B6B8C 44811000 */ mtc1 $at, $f2
/* E2B240 802B6B90 00000000 */ nop
/* E2B244 802B6B94 46020002 */ mul.s $f0, $f0, $f2
/* E2B248 802B6B98 00000000 */ nop
/* E2B24C 802B6B9C C6560010 */ lwc1 $f22, 0x10($s2)
/* E2B250 802B6BA0 3C0143B4 */ lui $at, 0x43b4
/* E2B254 802B6BA4 44811000 */ mtc1 $at, $f2
/* E2B258 802B6BA8 4600B5A1 */ cvt.d.s $f22, $f22
/* E2B25C 802B6BAC 46020503 */ div.s $f20, $f0, $f2
/* E2B260 802B6BB0 0C00A85B */ jal sin_rad
/* E2B264 802B6BB4 4600A306 */ mov.s $f12, $f20
/* E2B268 802B6BB8 3C014024 */ lui $at, 0x4024
/* E2B26C 802B6BBC 4481C800 */ mtc1 $at, $f25
/* E2B270 802B6BC0 4480C000 */ mtc1 $zero, $f24
/* E2B274 802B6BC4 46000021 */ cvt.d.s $f0, $f0
/* E2B278 802B6BC8 46380002 */ mul.d $f0, $f0, $f24
/* E2B27C 802B6BCC 00000000 */ nop
/* E2B280 802B6BD0 4600A306 */ mov.s $f12, $f20
/* E2B284 802B6BD4 C6540018 */ lwc1 $f20, 0x18($s2)
/* E2B288 802B6BD8 4620B580 */ add.d $f22, $f22, $f0
/* E2B28C 802B6BDC 4600A521 */ cvt.d.s $f20, $f20
/* E2B290 802B6BE0 4620B5A0 */ cvt.s.d $f22, $f22
/* E2B294 802B6BE4 0C00A874 */ jal cos_rad
/* E2B298 802B6BE8 E6560010 */ swc1 $f22, 0x10($s2)
/* E2B29C 802B6BEC 46000021 */ cvt.d.s $f0, $f0
/* E2B2A0 802B6BF0 46380002 */ mul.d $f0, $f0, $f24
/* E2B2A4 802B6BF4 00000000 */ nop
/* E2B2A8 802B6BF8 4620A501 */ sub.d $f20, $f20, $f0
/* E2B2AC 802B6BFC 4620A520 */ cvt.s.d $f20, $f20
/* E2B2B0 802B6C00 080ADB16 */ j .L802B6C58
/* E2B2B4 802B6C04 E6540018 */ swc1 $f20, 0x18($s2)
.L802B6C08:
/* E2B2B8 802B6C08 14600013 */ bnez $v1, .L802B6C58
/* E2B2BC 802B6C0C 2402FFFF */ addiu $v0, $zero, -1
/* E2B2C0 802B6C10 8E430000 */ lw $v1, ($s2)
/* E2B2C4 802B6C14 10600010 */ beqz $v1, .L802B6C58
/* E2B2C8 802B6C18 AE420008 */ sw $v0, 8($s2)
/* E2B2CC 802B6C1C 3C013F80 */ lui $at, 0x3f80
/* E2B2D0 802B6C20 44810000 */ mtc1 $at, $f0
/* E2B2D4 802B6C24 0060102D */ daddu $v0, $v1, $zero
/* E2B2D8 802B6C28 E7A00010 */ swc1 $f0, 0x10($sp)
/* E2B2DC 802B6C2C 8442008A */ lh $v0, 0x8a($v0)
/* E2B2E0 802B6C30 44820000 */ mtc1 $v0, $f0
/* E2B2E4 802B6C34 00000000 */ nop
/* E2B2E8 802B6C38 46800020 */ cvt.s.w $f0, $f0
/* E2B2EC 802B6C3C E7A00014 */ swc1 $f0, 0x14($sp)
/* E2B2F0 802B6C40 8C650038 */ lw $a1, 0x38($v1)
/* E2B2F4 802B6C44 8C66003C */ lw $a2, 0x3c($v1)
/* E2B2F8 802B6C48 8224000D */ lb $a0, 0xd($s1)
/* E2B2FC 802B6C4C 8C670040 */ lw $a3, 0x40($v1)
/* E2B300 802B6C50 0C01CA84 */ jal func_80072A10
/* E2B304 802B6C54 2484FFFF */ addiu $a0, $a0, -1
.L802B6C58:
/* E2B308 802B6C58 8E43000C */ lw $v1, 0xc($s2)
/* E2B30C 802B6C5C 1060001A */ beqz $v1, .L802B6CC8
/* E2B310 802B6C60 2862000B */ slti $v0, $v1, 0xb
/* E2B314 802B6C64 10400015 */ beqz $v0, .L802B6CBC
/* E2B318 802B6C68 2402000A */ addiu $v0, $zero, 0xa
/* E2B31C 802B6C6C 14620003 */ bne $v1, $v0, .L802B6C7C
/* E2B320 802B6C70 240400FE */ addiu $a0, $zero, 0xfe
/* E2B324 802B6C74 0C052736 */ jal play_sound_at_player
/* E2B328 802B6C78 0000282D */ daddu $a1, $zero, $zero
.L802B6C7C:
/* E2B32C 802B6C7C 8E42000C */ lw $v0, 0xc($s2)
/* E2B330 802B6C80 30420003 */ andi $v0, $v0, 3
/* E2B334 802B6C84 1440000D */ bnez $v0, .L802B6CBC
/* E2B338 802B6C88 24040004 */ addiu $a0, $zero, 4
/* E2B33C 802B6C8C 8E250028 */ lw $a1, 0x28($s1)
/* E2B340 802B6C90 8E26002C */ lw $a2, 0x2c($s1)
/* E2B344 802B6C94 8E270030 */ lw $a3, 0x30($s1)
/* E2B348 802B6C98 3C014248 */ lui $at, 0x4248
/* E2B34C 802B6C9C 44810000 */ mtc1 $at, $f0
/* E2B350 802B6CA0 24020028 */ addiu $v0, $zero, 0x28
/* E2B354 802B6CA4 AFA20018 */ sw $v0, 0x18($sp)
/* E2B358 802B6CA8 2402001E */ addiu $v0, $zero, 0x1e
/* E2B35C 802B6CAC AFA2001C */ sw $v0, 0x1c($sp)
/* E2B360 802B6CB0 E7A00010 */ swc1 $f0, 0x10($sp)
/* E2B364 802B6CB4 0C01C154 */ jal func_80070550
/* E2B368 802B6CB8 E7A00014 */ swc1 $f0, 0x14($sp)
.L802B6CBC:
/* E2B36C 802B6CBC 8E42000C */ lw $v0, 0xc($s2)
/* E2B370 802B6CC0 2442FFFF */ addiu $v0, $v0, -1
/* E2B374 802B6CC4 AE42000C */ sw $v0, 0xc($s2)
.L802B6CC8:
/* E2B378 802B6CC8 8FBF0030 */ lw $ra, 0x30($sp)
/* E2B37C 802B6CCC 8FB3002C */ lw $s3, 0x2c($sp)
/* E2B380 802B6CD0 8FB20028 */ lw $s2, 0x28($sp)
/* E2B384 802B6CD4 8FB10024 */ lw $s1, 0x24($sp)
/* E2B388 802B6CD8 8FB00020 */ lw $s0, 0x20($sp)
/* E2B38C 802B6CDC D7B80048 */ ldc1 $f24, 0x48($sp)
/* E2B390 802B6CE0 D7B60040 */ ldc1 $f22, 0x40($sp)
/* E2B394 802B6CE4 D7B40038 */ ldc1 $f20, 0x38($sp)
/* E2B398 802B6CE8 03E00008 */ jr $ra
/* E2B39C 802B6CEC 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -0,0 +1,38 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802B6CF0_E2B3A0
/* E2B3A0 802B6CF0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* E2B3A4 802B6CF4 3C02802B */ lui $v0, %hi(D_802B6E80)
/* E2B3A8 802B6CF8 24426E80 */ addiu $v0, $v0, %lo(D_802B6E80)
/* E2B3AC 802B6CFC AFBF0014 */ sw $ra, 0x14($sp)
/* E2B3B0 802B6D00 AFB00010 */ sw $s0, 0x10($sp)
/* E2B3B4 802B6D04 C4420020 */ lwc1 $f2, 0x20($v0)
/* E2B3B8 802B6D08 C440001C */ lwc1 $f0, 0x1c($v0)
/* E2B3BC 802B6D0C 46001080 */ add.s $f2, $f2, $f0
/* E2B3C0 802B6D10 3C014248 */ lui $at, 0x4248
/* E2B3C4 802B6D14 44810000 */ mtc1 $at, $f0
/* E2B3C8 802B6D18 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* E2B3CC 802B6D1C 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* E2B3D0 802B6D20 4602003C */ c.lt.s $f0, $f2
/* E2B3D4 802B6D24 00000000 */ nop
/* E2B3D8 802B6D28 45010008 */ bc1t .L802B6D4C
/* E2B3DC 802B6D2C E4420020 */ swc1 $f2, 0x20($v0)
/* E2B3E0 802B6D30 3C01C248 */ lui $at, 0xc248
/* E2B3E4 802B6D34 44810000 */ mtc1 $at, $f0
/* E2B3E8 802B6D38 00000000 */ nop
/* E2B3EC 802B6D3C 4600103C */ c.lt.s $f2, $f0
/* E2B3F0 802B6D40 00000000 */ nop
/* E2B3F4 802B6D44 45000002 */ bc1f .L802B6D50
/* E2B3F8 802B6D48 00000000 */ nop
.L802B6D4C:
/* E2B3FC 802B6D4C E4400020 */ swc1 $f0, 0x20($v0)
.L802B6D50:
/* E2B400 802B6D50 C60000A8 */ lwc1 $f0, 0xa8($s0)
/* E2B404 802B6D54 C44C0020 */ lwc1 $f12, 0x20($v0)
/* E2B408 802B6D58 0C00A6C9 */ jal clamp_angle
/* E2B40C 802B6D5C 460C0300 */ add.s $f12, $f0, $f12
/* E2B410 802B6D60 E60000A8 */ swc1 $f0, 0xa8($s0)
/* E2B414 802B6D64 8FBF0014 */ lw $ra, 0x14($sp)
/* E2B418 802B6D68 8FB00010 */ lw $s0, 0x10($sp)
/* E2B41C 802B6D6C 03E00008 */ jr $ra

5
src/code_E23260.c Normal file
View File

@ -0,0 +1,5 @@
#include "common.h"
INCLUDE_ASM(s32, "code_E23260", func_802B6000_E23260);
INCLUDE_ASM(s32, "code_E23260", func_802B61E4_E23444);

11
src/code_E236E0.c Normal file
View File

@ -0,0 +1,11 @@
#include "common.h"
INCLUDE_ASM(s32, "code_E236E0", func_802B6000_E236E0);
INCLUDE_ASM(s32, "code_E236E0", func_802B6288_E23968);
INCLUDE_ASM(s32, "code_E236E0", func_802B6550_E23C30);
INCLUDE_ASM(s32, "code_E236E0", func_802B65E8_E23CC8);
INCLUDE_ASM(s32, "code_E236E0", func_802B6738_E23E18);

15
src/code_E24040.c Normal file
View File

@ -0,0 +1,15 @@
#include "common.h"
INCLUDE_ASM(s32, "code_E24040", func_802B6000_E24040);
INCLUDE_ASM(s32, "code_E24040", func_802B60B4_E240F4);
INCLUDE_ASM(s32, "code_E24040", func_802B6198_E241D8);
INCLUDE_ASM(s32, "code_E24040", func_802B6294_E242D4);
INCLUDE_ASM(s32, "code_E24040", func_802B6348_E24388);
INCLUDE_ASM(s32, "code_E24040", func_802B647C_E244BC);
INCLUDE_ASM(s32, "code_E24040", func_802B6508_E24548);

7
src/code_E245D0.c Normal file
View File

@ -0,0 +1,7 @@
#include "common.h"
INCLUDE_ASM(s32, "code_E245D0", func_802B6000_E245D0);
INCLUDE_ASM(s32, "code_E245D0", func_802B6198_E24768);
INCLUDE_ASM(s32, "code_E245D0", func_802B6230_E24800);

9
src/code_E24920.c Normal file
View File

@ -0,0 +1,9 @@
#include "common.h"
INCLUDE_ASM(s32, "code_E24920", func_802B6000_E24920);
INCLUDE_ASM(s32, "code_E24920", func_802B61C0_E24AE0);
INCLUDE_ASM(s32, "code_E24920", func_802B62CC_E24BEC);
INCLUDE_ASM(s32, "code_E24920", func_802B644C_E24D6C);

11
src/code_E24ED0.c Normal file
View File

@ -0,0 +1,11 @@
#include "common.h"
INCLUDE_ASM(s32, "code_E24ED0", func_802B6000_E24ED0);
INCLUDE_ASM(s32, "code_E24ED0", func_802B6048_E24F18);
INCLUDE_ASM(s32, "code_E24ED0", func_802B62A4_E25174);
INCLUDE_ASM(s32, "code_E24ED0", func_802B66A8_E25578);
INCLUDE_ASM(s32, "code_E24ED0", func_802B6820_E256F0);

3
src/code_E25D60.c Normal file
View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM(s32, "code_E25D60", func_802B6000_E25D60);

5
src/code_E26710.c Normal file
View File

@ -0,0 +1,5 @@
#include "common.h"
INCLUDE_ASM(s32, "code_E26710", func_802B6000_E26710);
INCLUDE_ASM(s32, "code_E26710", func_802B65F8_E26D08);

5
src/code_E26DE0.c Normal file
View File

@ -0,0 +1,5 @@
#include "common.h"
INCLUDE_ASM(s32, "code_E26DE0", func_802B6000_E26DE0);
INCLUDE_ASM(s32, "code_E26DE0", func_802B6648_E27428);

5
src/code_E27510.c Normal file
View File

@ -0,0 +1,5 @@
#include "common.h"
INCLUDE_ASM(s32, "code_E27510", func_802B6000_E27510);
INCLUDE_ASM(s32, "code_E27510", func_802B6060_E27570);

3
src/code_E27C90.c Normal file
View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM(s32, "code_E27C90", func_802B6000_E27C90);

3
src/code_E27F40.c Normal file
View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM(s32, "code_E27F40", func_802B6000_E27F40);

3
src/code_E287F0.c Normal file
View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM(s32, "code_E287F0", func_802B6000_E287F0);

15
src/code_E28A30.c Normal file
View File

@ -0,0 +1,15 @@
#include "common.h"
INCLUDE_ASM(s32, "code_E28A30", func_802B6000_E28A30);
INCLUDE_ASM(s32, "code_E28A30", func_802B609C_E28ACC);
INCLUDE_ASM(s32, "code_E28A30", func_802B6350_E28D80);
INCLUDE_ASM(s32, "code_E28A30", func_802B63D4_E28E04);
INCLUDE_ASM(s32, "code_E28A30", func_802B6478_E28EA8);
INCLUDE_ASM(s32, "code_E28A30", func_802B6508_E28F38);
INCLUDE_ASM(s32, "code_E28A30", func_802B6638_E29068);

3
src/code_E291A0.c Normal file
View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM(s32, "code_E291A0", func_802B6000_E291A0);

5
src/code_E29470.c Normal file
View File

@ -0,0 +1,5 @@
#include "common.h"
INCLUDE_ASM(s32, "code_E29470", func_802B6000_E29470);
INCLUDE_ASM(s32, "code_E29470", func_802B60A4_E29514);

3
src/code_E2A340.c Normal file
View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM(s32, "code_E2A340", func_802B6000_E2A340);

7
src/code_E2A6B0.c Normal file
View File

@ -0,0 +1,7 @@
#include "common.h"
INCLUDE_ASM(s32, "code_E2A6B0", func_802B6000_E2A6B0);
INCLUDE_ASM(s32, "code_E2A6B0", func_802B6120_E2A7D0);
INCLUDE_ASM(s32, "code_E2A6B0", func_802B6CF0_E2B3A0);

View File

@ -8299,164 +8299,286 @@ segments:
files:
- [0xE225B0, c]
- [0xE22B30, bin]
- [0xE23260, "bin"]
- [0xF007C0, "bin", "Battle_Fanfare_02"] # BGM start
- [0xF02160, "bin", "Hey_You_03"]
- [0xF03740, "bin", "The_Goomba_King_s_Decree_07"]
- [0xF043F0, "bin", "Attack_of_the_Koopa_Bros_08"]
- [0xF073C0, "bin", "Trojan_Bowser_09"]
- [0xF08D40, "bin", "Chomp_Attack_0A"]
- [0xF09600, "bin", "Ghost_Gulping_0B"]
- [0xF0A550, "bin", "Keeping_Pace_0C"]
- [0xF0BAE0, "bin", "Go_Mario_Go_0D"]
- [0xF0DEC0, "bin", "Huffin_and_Puffin_0E"]
- [0xF0FD20, "bin", "Freeze_0F"]
- [0xF110D0, "bin", "Winning_a_Battle_8B"]
- [0xF116C0, "bin", "Winning_a_Battle_and_Level_Up_8E"]
- [0xF12320, "bin", "Jr_Troopa_Battle_04"]
- [0xF13C20, "bin", "Final_Bowser_Battle_interlude_05"]
- [0xF15F40, "bin", "Master_Battle_2C"]
- [0xF16F80, "bin", "Game_Over_87"]
- [0xF171D0, "bin", "Resting_at_the_Toad_House_88"]
- [0xF17370, "bin", "Running_around_the_Heart_Pillar_in_Ch1_84"]
- [0xF17570, "bin", "Tutankoopa_s_Warning_45"]
- [0xF18940, "bin", "Kammy_Koopa_s_Theme_46"]
- [0xF193D0, "bin", "Jr_Troopa_s_Theme_47"]
- [0xF19BC0, "bin", "Goomba_King_s_Theme_50"]
- [0xF1A6F0, "bin", "Koopa_Bros_Defeated_51"]
- [0xF1ABD0, "bin", "Koopa_Bros_Theme_52"]
- [0xF1C810, "bin", "Tutankoopa_s_Warning_2_53"]
- [0xF1DBF0, "bin", "Tutankoopa_s_Theme_54"]
- [0xF1F2E0, "bin", "Tubba_Blubba_s_Theme_55"]
- [0xF20FF0, "bin", "General_Guy_s_Theme_56"]
- [0xF21780, "bin", "Lava_Piranha_s_Theme_57"]
- [0xF22A00, "bin", "Huff_N_Puff_s_Theme_58"]
- [0xF23A00, "bin", "Crystal_King_s_Theme_59"]
- [0xF24810, "bin", "Blooper_s_Theme_5A"]
- [0xF25240, "bin", "Midboss_Theme_5B"]
- [0xF26260, "bin", "Monstar_s_Theme_5C"]
- [0xF27840, "bin", "Moustafa_s_Theme_86"]
- [0xF27E20, "bin", "Fuzzy_Searching_Minigame_85"]
- [0xF28E20, "bin", "Phonograph_in_Mansion_44"]
- [0xF29AC0, "bin", "Toad_Town_00"]
- [0xF2E130, "bin", "Bill_Blaster_Theme_48"]
- [0xF2EF90, "bin", "Monty_Mole_Theme_in_Flower_Fields_49"]
- [0xF30590, "bin", "Shy_Guys_in_Toad_Town_4A"]
- [0xF318B0, "bin", "Whale_s_Problem_4C"]
- [0xF32220, "bin", "Toad_Town_Sewers_4B"]
- [0xF33060, "bin", "Unused_Theme_4D"]
- [0xF33AA0, "bin", "Mario_s_House_Prologue_3E"]
- [0xF33F10, "bin", "Peach_s_Party_3F"]
- [0xF354E0, "bin", "Goomba_Village_01"]
- [0xF35ED0, "bin", "Pleasant_Path_11"]
- [0xF36690, "bin", "Fuzzy_s_Took_My_Shell_12"]
- [0xF379E0, "bin", "Koopa_Village_13"]
- [0xF38570, "bin", "Koopa_Bros_Fortress_14"]
- [0xF39160, "bin", "Dry_Dry_Ruins_18"]
- [0xF3A0D0, "bin", "Dry_Dry_Ruins_Mystery_19"]
- [0xF3A450, "bin", "Mt_Rugged_16"]
- [0xF3AF20, "bin", "Dry_Dry_Desert_Oasis_17"]
- [0xF3C130, "bin", "Dry_Dry_Outpost_15"]
- [0xF3CCC0, "bin", "Forever_Forest_1A"]
- [0xF3E130, "bin", "Boo_s_Mansion_1B"]
- [0xF3F3E0, "bin", "Bow_s_Theme_1C"]
- [0xF40F00, "bin", "Gusty_Gulch_Adventure_1D"]
- [0xF42F30, "bin", "Tubba_Blubba_s_Castle_1E"]
- [0xF45500, "bin", "The_Castle_Crumbles_1F"]
- [0xF465E0, "bin", "Shy_Guy_s_Toy_Box_20"]
- [0xF474A0, "bin", "Toy_Train_Travel_21"]
- [0xF47E10, "bin", "Big_Lantern_Ghost_s_Theme_22"]
- [0xF48410, "bin", "Jade_Jungle_24"]
- [0xF4A880, "bin", "Deep_Jungle_25"]
- [0xF4BC00, "bin", "Lavalava_Island_26"]
- [0xF4E690, "bin", "Search_for_the_Fearsome_5_27"]
- [0xF50A00, "bin", "Raphael_the_Raven_28"]
- [0xF52520, "bin", "Hot_Times_in_Mt_Lavalava_29"]
- [0xF55C80, "bin", "Escape_from_Mt_Lavalava_2A"]
- [0xF58ED0, "bin", "Cloudy_Climb_32"]
- [0xF592B0, "bin", "Puff_Puff_Machine_33"]
- [0xF5AFF0, "bin", "Flower_Fields_30"]
- [0xF5C8D0, "bin", "Flower_Fields_Sunny_31"]
- [0xF5DF40, "bin", "Sun_s_Tower_34"]
- [0xF5F500, "bin", "Sun_s_Celebration_35"]
- [0xF61700, "bin", "Shiver_City_38"]
- [0xF62E50, "bin", "Detective_Mario_39"]
- [0xF64220, "bin", "Snow_Road_3A"]
- [0xF64CB0, "bin", "Over_Shiver_Mountain_3B"]
- [0xF65B30, "bin", "Starborn_Valley_3C"]
- [0xF66690, "bin", "Sanctuary_3D"]
- [0xF66B70, "bin", "Crystal_Palace_37"]
- [0xF67F80, "bin", "Star_Haven_60"]
- [0xF69640, "bin", "Shooting_Star_Summit_61"]
- [0xF6A050, "bin", "Legendary_Star_Ship_62"]
- [0xF6C270, "bin", "Star_Sanctuary_63"]
- [0xF6CED0, "bin", "Bowser_s_Castle_-_Caves_65"]
- [0xF6EE40, "bin", "Bowser_s_Castle_64"]
- [0xF73390, "bin", "Star_Elevator_2B"]
- [0xF751F0, "bin", "Goomba_Bros_Defeated_7E"]
- [0xF759C0, "bin", "Farewell_Twink_70"]
- [0xF77200, "bin", "Peach_Cooking_71"]
- [0xF77680, "bin", "Gourmet_Guy_72"]
- [0xF78600, "bin", "Hope_on_the_Balcony_Peach_1_73"]
- [0xF79070, "bin", "Peach_s_Theme_2_74"]
- [0xF7A0C0, "bin", "Peach_Sneaking_75"]
- [0xF7AA40, "bin", "Peach_Captured_76"]
- [0xF7AD90, "bin", "Quiz_Show_Intro_77"]
- [0xF7BEA0, "bin", "Unconscious_Mario_78"]
- [0xF7C780, "bin", "Petunia_s_Theme_89"]
- [0xF7DC00, "bin", "Flower_Fields_Door_appears_8A"]
- [0xF7E190, "bin", "Beanstalk_7B"]
- [0xF7EE20, "bin", "Lakilester_s_Theme_7D"]
- [0xF80230, "bin", "The_Sun_s_Back_7F"]
- [0xF81260, "bin", "Shiver_City_in_Crisis_79"]
- [0xF82460, "bin", "Solved_Shiver_City_Mystery_7A"]
- [0xF82D00, "bin", "Merlon_s_Spell_7C"]
- [0xF83DC0, "bin", "Bowser_s_Theme_66"]
- [0xF85590, "bin", "Train_Travel_80"]
- [0xF860E0, "bin", "Whale_Trip_81"]
- [0xF87000, "bin", "Chanterelle_s_Song_8C"]
- [0xF87610, "bin", "Boo_s_Game_8D"]
- [0xF88B30, "bin", "Dry_Dry_Ruins_rises_up_83"]
- [0xF89570, "bin", "End_of_Chapter_40"]
- [0xF8AAF0, "bin", "Beginning_of_Chapter_41"]
- [0xF8B820, "bin", "Hammer_and_Jump_Upgrade_42"]
- [0xF8BD90, "bin", "Found_Baby_Yoshi_s_4E"]
- [0xF8C360, "bin", "New_Partner_JAP_96"]
- [0xF8D110, "bin", "Unused_YI_Fanfare_4F"]
- [0xF8D3E0, "bin", "Unused_YI_Fanfare_2_5D"]
- [0xF90880, "bin", "Peach_s_Castle_inside_Bubble_5E"]
- [0xF92A50, "bin", "Angry_Bowser_67"]
- [0xF95510, "bin", "Bowser_s_Castle_explodes_5F"]
- [0xF96280, "bin", "Peach_s_Wish_68"]
- [0xF98520, "bin", "File_Select_69"]
- [0xF98F90, "bin", "Title_Screen_6A"]
- [0xF9B830, "bin", "Peach_s_Castle_in_Crisis_6B"]
- [0xF9D3B0, "bin", "Mario_falls_from_Bowser_s_Castle_6C"]
- [0xF9D690, "bin", "Peach_s_Arrival_6D"]
- [0xF9EF30, "bin", "Star_Rod_Recovered_6F"]
- [0xF9FA30, "bin", "Mario_s_House_94"]
- [0xFA08A0, "bin", "Bowser_s_Attacks_95"]
- [0xFA3C60, "bin", "End_Parade_1_90"]
- [0xFA85F0, "bin", "End_Parade_2_91"]
- [0xFABE90, "bin", "The_End_6E"]
- [0xFACC80, "bin", "Koopa_Radio_Station_2D"]
- [0xFAD210, "bin", "The_End_Low_Frequency__2E"]
- [0xFAD8F0, "bin", "SMW_Remix_2F"]
- [0xFADE70, "bin", "New_Partner_82"] # BGM end
- [0xFAE860, "bin"]
- [0x19E09A8, "Yay0"]
- [0x19E1390, "Yay0"]
- [0x19E1888, "Yay0"]
- [0x19E2330, "Yay0"]
- [0x19E2DE0, "Yay0"]
- [0x19E3208, "Yay0"]
- [0x19E3BA8, "Yay0"]
- [0x19E3FD8, "Yay0"]
- [0x19E4828, "Yay0"]
- [0x19E4BE0, "Yay0"]
- [0x19E5758, "Yay0"]
- [0x19E5950, "Yay0"]
- [0x19E62A0, "Yay0"]
- type: code
start: 0xE23260
vram: 0x802B6000
overlay: True
files:
- [0xE23260, c]
- [0xE23690, bin]
- type: code
start: 0xE236E0
vram: 0x802B6000
overlay: True
files:
- [0xE236E0, c]
- [0xE23FE0, bin]
- type: code
start: 0xE24040
vram: 0x802B6000
overlay: True
files:
- [0xE24040, c]
- type: code
start: 0xE245D0
vram: 0x802B6000
overlay: True
files:
- [0xE245D0, c]
- [0xE248D0, bin]
- type: code
start: 0xE24920
vram: 0x802B6000
overlay: True
files:
- [0xE24920, c]
- type: code
start: 0xE24ED0
vram: 0x802B6000
overlay: True
files:
- [0xE24ED0, c]
- [0xE25C80, bin]
- type: code
start: 0xE25D60
vram: 0x802B6000
overlay: True
files:
- [0xE25D60, c]
- [0xE26700, bin]
- type: code
start: 0xE26710
vram: 0x802B6000
overlay: True
files:
- [0xE26710, c]
- [0xE26DA0, bin]
- type: code
start: 0xE26DE0
vram: 0x802B6000
overlay: True
files:
- [0xE26DE0, c]
- [0xE274C0, bin]
- type: code
start: 0xE27510
vram: 0x802B6000
overlay: True
files:
- [0xE27510, c]
- [0xE27C50, bin]
- type: code
start: 0xE27C90
vram: 0x802B6000
overlay: True
files:
- [0xE27C90, c]
- type: code
start: 0xE27F40
vram: 0x802B6000
overlay: True
files:
- [0xE27F40, c]
- [0xE28790, bin]
- type: code
start: 0xE287F0
vram: 0x802B6000
overlay: True
files:
- [0xE287F0, c]
- type: code
start: 0xE28A30
vram: 0x802B6000
overlay: True
files:
- [0xE28A30, c]
- [0xE29190, bin]
- type: code
start: 0xE291A0
vram: 0x802B6000
overlay: True
files:
- [0xE291A0, c]
- [0xE29450, bin]
- type: code
start: 0xE29470
vram: 0x802B6000
overlay: True
files:
- [0xE29470, c]
- [0xE2A300, bin]
- type: code
start: 0xE2A340
vram: 0x802B6000
overlay: True
files:
- [0xE2A340, c]
- [0xE2A690, bin]
- type: code
start: 0xE2A6B0
vram: 0x802B6000
overlay: True
files:
- [0xE2A6B0, c]
- [0xE2B420, bin]
- [0xEA0900, bin]
- [0xF007C0, bin, Battle_Fanfare_02] # BGM start
- [0xF02160, bin, Hey_You_03]
- [0xF03740, bin, The_Goomba_King_s_Decree_07]
- [0xF043F0, bin, Attack_of_the_Koopa_Bros_08]
- [0xF073C0, bin, Trojan_Bowser_09]
- [0xF08D40, bin, Chomp_Attack_0A]
- [0xF09600, bin, Ghost_Gulping_0B]
- [0xF0A550, bin, Keeping_Pace_0C]
- [0xF0BAE0, bin, Go_Mario_Go_0D]
- [0xF0DEC0, bin, Huffin_and_Puffin_0E]
- [0xF0FD20, bin, Freeze_0F]
- [0xF110D0, bin, Winning_a_Battle_8B]
- [0xF116C0, bin, Winning_a_Battle_and_Level_Up_8E]
- [0xF12320, bin, Jr_Troopa_Battle_04]
- [0xF13C20, bin, Final_Bowser_Battle_interlude_05]
- [0xF15F40, bin, Master_Battle_2C]
- [0xF16F80, bin, Game_Over_87]
- [0xF171D0, bin, Resting_at_the_Toad_House_88]
- [0xF17370, bin, Running_around_the_Heart_Pillar_in_Ch1_84]
- [0xF17570, bin, Tutankoopa_s_Warning_45]
- [0xF18940, bin, Kammy_Koopa_s_Theme_46]
- [0xF193D0, bin, Jr_Troopa_s_Theme_47]
- [0xF19BC0, bin, Goomba_King_s_Theme_50]
- [0xF1A6F0, bin, Koopa_Bros_Defeated_51]
- [0xF1ABD0, bin, Koopa_Bros_Theme_52]
- [0xF1C810, bin, Tutankoopa_s_Warning_2_53]
- [0xF1DBF0, bin, Tutankoopa_s_Theme_54]
- [0xF1F2E0, bin, Tubba_Blubba_s_Theme_55]
- [0xF20FF0, bin, General_Guy_s_Theme_56]
- [0xF21780, bin, Lava_Piranha_s_Theme_57]
- [0xF22A00, bin, Huff_N_Puff_s_Theme_58]
- [0xF23A00, bin, Crystal_King_s_Theme_59]
- [0xF24810, bin, Blooper_s_Theme_5A]
- [0xF25240, bin, Midboss_Theme_5B]
- [0xF26260, bin, Monstar_s_Theme_5C]
- [0xF27840, bin, Moustafa_s_Theme_86]
- [0xF27E20, bin, Fuzzy_Searching_Minigame_85]
- [0xF28E20, bin, Phonograph_in_Mansion_44]
- [0xF29AC0, bin, Toad_Town_00]
- [0xF2E130, bin, Bill_Blaster_Theme_48]
- [0xF2EF90, bin, Monty_Mole_Theme_in_Flower_Fields_49]
- [0xF30590, bin, Shy_Guys_in_Toad_Town_4A]
- [0xF318B0, bin, Whale_s_Problem_4C]
- [0xF32220, bin, Toad_Town_Sewers_4B]
- [0xF33060, bin, Unused_Theme_4D]
- [0xF33AA0, bin, Mario_s_House_Prologue_3E]
- [0xF33F10, bin, Peach_s_Party_3F]
- [0xF354E0, bin, Goomba_Village_01]
- [0xF35ED0, bin, Pleasant_Path_11]
- [0xF36690, bin, Fuzzy_s_Took_My_Shell_12]
- [0xF379E0, bin, Koopa_Village_13]
- [0xF38570, bin, Koopa_Bros_Fortress_14]
- [0xF39160, bin, Dry_Dry_Ruins_18]
- [0xF3A0D0, bin, Dry_Dry_Ruins_Mystery_19]
- [0xF3A450, bin, Mt_Rugged_16]
- [0xF3AF20, bin, Dry_Dry_Desert_Oasis_17]
- [0xF3C130, bin, Dry_Dry_Outpost_15]
- [0xF3CCC0, bin, Forever_Forest_1A]
- [0xF3E130, bin, Boo_s_Mansion_1B]
- [0xF3F3E0, bin, Bow_s_Theme_1C]
- [0xF40F00, bin, Gusty_Gulch_Adventure_1D]
- [0xF42F30, bin, Tubba_Blubba_s_Castle_1E]
- [0xF45500, bin, The_Castle_Crumbles_1F]
- [0xF465E0, bin, Shy_Guy_s_Toy_Box_20]
- [0xF474A0, bin, Toy_Train_Travel_21]
- [0xF47E10, bin, Big_Lantern_Ghost_s_Theme_22]
- [0xF48410, bin, Jade_Jungle_24]
- [0xF4A880, bin, Deep_Jungle_25]
- [0xF4BC00, bin, Lavalava_Island_26]
- [0xF4E690, bin, Search_for_the_Fearsome_5_27]
- [0xF50A00, bin, Raphael_the_Raven_28]
- [0xF52520, bin, Hot_Times_in_Mt_Lavalava_29]
- [0xF55C80, bin, Escape_from_Mt_Lavalava_2A]
- [0xF58ED0, bin, Cloudy_Climb_32]
- [0xF592B0, bin, Puff_Puff_Machine_33]
- [0xF5AFF0, bin, Flower_Fields_30]
- [0xF5C8D0, bin, Flower_Fields_Sunny_31]
- [0xF5DF40, bin, Sun_s_Tower_34]
- [0xF5F500, bin, Sun_s_Celebration_35]
- [0xF61700, bin, Shiver_City_38]
- [0xF62E50, bin, Detective_Mario_39]
- [0xF64220, bin, Snow_Road_3A]
- [0xF64CB0, bin, Over_Shiver_Mountain_3B]
- [0xF65B30, bin, Starborn_Valley_3C]
- [0xF66690, bin, Sanctuary_3D]
- [0xF66B70, bin, Crystal_Palace_37]
- [0xF67F80, bin, Star_Haven_60]
- [0xF69640, bin, Shooting_Star_Summit_61]
- [0xF6A050, bin, Legendary_Star_Ship_62]
- [0xF6C270, bin, Star_Sanctuary_63]
- [0xF6CED0, bin, Bowser_s_Castle_-_Caves_65]
- [0xF6EE40, bin, Bowser_s_Castle_64]
- [0xF73390, bin, Star_Elevator_2B]
- [0xF751F0, bin, Goomba_Bros_Defeated_7E]
- [0xF759C0, bin, Farewell_Twink_70]
- [0xF77200, bin, Peach_Cooking_71]
- [0xF77680, bin, Gourmet_Guy_72]
- [0xF78600, bin, Hope_on_the_Balcony_Peach_1_73]
- [0xF79070, bin, Peach_s_Theme_2_74]
- [0xF7A0C0, bin, Peach_Sneaking_75]
- [0xF7AA40, bin, Peach_Captured_76]
- [0xF7AD90, bin, Quiz_Show_Intro_77]
- [0xF7BEA0, bin, Unconscious_Mario_78]
- [0xF7C780, bin, Petunia_s_Theme_89]
- [0xF7DC00, bin, Flower_Fields_Door_appears_8A]
- [0xF7E190, bin, Beanstalk_7B]
- [0xF7EE20, bin, Lakilester_s_Theme_7D]
- [0xF80230, bin, The_Sun_s_Back_7F]
- [0xF81260, bin, Shiver_City_in_Crisis_79]
- [0xF82460, bin, Solved_Shiver_City_Mystery_7A]
- [0xF82D00, bin, Merlon_s_Spell_7C]
- [0xF83DC0, bin, Bowser_s_Theme_66]
- [0xF85590, bin, Train_Travel_80]
- [0xF860E0, bin, Whale_Trip_81]
- [0xF87000, bin, Chanterelle_s_Song_8C]
- [0xF87610, bin, Boo_s_Game_8D]
- [0xF88B30, bin, Dry_Dry_Ruins_rises_up_83]
- [0xF89570, bin, End_of_Chapter_40]
- [0xF8AAF0, bin, Beginning_of_Chapter_41]
- [0xF8B820, bin, Hammer_and_Jump_Upgrade_42]
- [0xF8BD90, bin, Found_Baby_Yoshi_s_4E]
- [0xF8C360, bin, New_Partner_JAP_96]
- [0xF8D110, bin, Unused_YI_Fanfare_4F]
- [0xF8D3E0, bin, Unused_YI_Fanfare_2_5D]
- [0xF90880, bin, Peach_s_Castle_inside_Bubble_5E]
- [0xF92A50, bin, Angry_Bowser_67]
- [0xF95510, bin, Bowser_s_Castle_explodes_5F]
- [0xF96280, bin, Peach_s_Wish_68]
- [0xF98520, bin, File_Select_69]
- [0xF98F90, bin, Title_Screen_6A]
- [0xF9B830, bin, Peach_s_Castle_in_Crisis_6B]
- [0xF9D3B0, bin, Mario_falls_from_Bowser_s_Castle_6C]
- [0xF9D690, bin, Peach_s_Arrival_6D]
- [0xF9EF30, bin, Star_Rod_Recovered_6F]
- [0xF9FA30, bin, Mario_s_House_94]
- [0xFA08A0, bin, Bowser_s_Attacks_95]
- [0xFA3C60, bin, End_Parade_1_90]
- [0xFA85F0, bin, End_Parade_2_91]
- [0xFABE90, bin, The_End_6E]
- [0xFACC80, bin, Koopa_Radio_Station_2D]
- [0xFAD210, bin, The_End_Low_Frequency__2E]
- [0xFAD8F0, bin, SMW_Remix_2F]
- [0xFADE70, bin, New_Partner_82] # BGM end
- [0xFAE860, bin]
- [0x19E09A8, Yay0]
- [0x19E1390, Yay0]
- [0x19E1888, Yay0]
- [0x19E2330, Yay0]
- [0x19E2DE0, Yay0]
- [0x19E3208, Yay0]
- [0x19E3BA8, Yay0]
- [0x19E3FD8, Yay0]
- [0x19E4828, Yay0]
- [0x19E4BE0, Yay0]
- [0x19E5758, Yay0]
- [0x19E5950, Yay0]
- [0x19E62A0, Yay0]
- start: 0x19E67B8
type: PaperMarioNpcSprites
files:

View File

@ -4,3 +4,4 @@ func_80241190 = 0x80241190;
func_802AE000 = 0x802AE000;
func_802B7000 = 0x802B7000;
func_802B71C8 = 0x802B71C8;
func_802BD100 = 0x802BD100;

View File

@ -621,6 +621,9 @@ D_800F7B70 = 0x800F7B70;
D_800F7B80 = 0x800F7B80;
D_800F7B90 = 0x800F7B90;
D_800F7C1C = 0x800F7C1C;
D_800F7C20 = 0x800F7C20;
D_800F7C24 = 0x800F7C24;
D_800F7C28 = 0x800F7C28;
D_800F7C30 = 0x800F7C30;
D_800F7C7C = 0x800F7C7C;
D_800F7C8C = 0x800F7C8C;
@ -812,6 +815,7 @@ D_8010C924 = 0x8010C924;
D_8010C928 = 0x8010C928;
D_8010C92C = 0x8010C92C;
D_8010C930 = 0x8010C930;
D_8010C934 = 0x8010C934;
D_8010C938 = 0x8010C938;
D_8010C93C = 0x8010C93C;
D_8010C940 = 0x8010C940;
@ -930,10 +934,10 @@ D_8010F250 = 0x8010F250;
gPlayerData = 0x8010F290;
D_8010F6B8 = 0x8010F6B8;
update_entities = 0x8010F6D0;
func_80147474 = 0x80147474;
D_80147474 = 0x80147474;
D_80147574 = 0x80147574;
func_80147474 = 0x80147474;
func_80147574 = 0x80147574;
D_80147574 = 0x80147574;
func_80147650 = 0x80147650;
D_8014B7F0 = 0x8014B7F0;
D_8014C248 = 0x8014C248;
@ -1799,8 +1803,8 @@ D_802417D8 = 0x802417D8;
D_802417E4 = 0x802417E4;
D_802417E8 = 0x802417E8;
func_802417EC_C5BF2C = 0x802417EC;
func_80241800_8B1870 = 0x80241800;
D_80241800 = 0x80241800;
func_80241800_8B1870 = 0x80241800;
D_80241810 = 0x80241810;
D_80241820 = 0x80241820;
func_80241850_A2BA90 = 0x80241850;
@ -1892,8 +1896,8 @@ D_80241FC0 = 0x80241FC0;
func_80241FC8_C87A78 = 0x80241FC8;
D_80241FE0 = 0x80241FE0;
D_80241FF4 = 0x80241FF4;
D_80242000 = 0x80242000;
func_80242000_C48BE0 = 0x80242000;
D_80242000 = 0x80242000;
D_80242008 = 0x80242008;
D_80242010 = 0x80242010;
D_80242030 = 0x80242030;
@ -1962,8 +1966,8 @@ D_80242518 = 0x80242518;
D_80242520 = 0x80242520;
D_80242528 = 0x80242528;
D_80242530 = 0x80242530;
func_80242538_D223C8 = 0x80242538;
D_80242538 = 0x80242538;
func_80242538_D223C8 = 0x80242538;
D_8024253C = 0x8024253C;
func_80242540_A09440 = 0x80242540;
func_80242558_A1D658 = 0x80242558;
@ -2009,8 +2013,8 @@ D_80242888 = 0x80242888;
D_802428E0_DF1780 = 0x802428E0;
func_8024291C_C494FC = 0x8024291C;
D_8024292C = 0x8024292C;
D_80242930 = 0x80242930;
func_80242930_9C7D10 = 0x80242930;
D_80242930 = 0x80242930;
D_8024296C_C8841C = 0x8024296C;
func_80242970_7ED680 = 0x80242970;
D_802429A4 = 0x802429A4;
@ -2044,8 +2048,8 @@ D_80242BF8 = 0x80242BF8;
func_80242C00_BB0540 = 0x80242C00;
D_80242C08 = 0x80242C08;
D_80242C0E = 0x80242C0E;
D_80242C30 = 0x80242C30;
func_80242C30_B37800 = 0x80242C30;
D_80242C30 = 0x80242C30;
D_80242C38 = 0x80242C38;
D_80242C40 = 0x80242C40;
func_80242C48_9122F8 = 0x80242C48;
@ -2232,8 +2236,8 @@ D_80243890 = 0x80243890;
func_80243898 = 0x80243898;
D_802438E0 = 0x802438E0;
D_802438E8 = 0x802438E8;
func_802438F0_C436A0 = 0x802438F0;
func_802438F0_95EAF0 = 0x802438F0;
func_802438F0_C436A0 = 0x802438F0;
D_802438F8 = 0x802438F8;
D_80243900 = 0x80243900;
switch_order = 0x80243918;
@ -4570,6 +4574,67 @@ D_802AD6AA = 0x802AD6AA;
D_802AD6C0 = 0x802AD6C0;
D_802AD6D4 = 0x802AD6D4;
func_802AE000_316D90 = 0x802AE000;
D_802B6240 = 0x802B6240;
D_802B62B0 = 0x802B62B0;
D_802B62D0 = 0x802B62D0;
D_802B62D4 = 0x802B62D4;
D_802B62D8 = 0x802B62D8;
D_802B62DC = 0x802B62DC;
D_802B62E0 = 0x802B62E0;
D_802B6300 = 0x802B6300;
func_802B6350_E28D80 = 0x802B6350;
D_802B6360 = 0x802B6360;
D_802B6430 = 0x802B6430;
D_802B6690 = 0x802B6690;
D_802B66E0 = 0x802B66E0;
D_802B6718 = 0x802B6718;
D_802B6720 = 0x802B6720;
D_802B6728 = 0x802B6728;
D_802B6730 = 0x802B6730;
D_802B6740 = 0x802B6740;
D_802B6760 = 0x802B6760;
D_802B6768 = 0x802B6768;
D_802B6770 = 0x802B6770;
D_802B6780 = 0x802B6780;
D_802B6784 = 0x802B6784;
D_802B6788 = 0x802B6788;
D_802B678C = 0x802B678C;
D_802B6790 = 0x802B6790;
D_802B6794 = 0x802B6794;
D_802B6798 = 0x802B6798;
D_802B679C = 0x802B679C;
D_802B6850 = 0x802B6850;
D_802B68B0 = 0x802B68B0;
D_802B68B4 = 0x802B68B4;
D_802B68B8 = 0x802B68B8;
D_802B68BC = 0x802B68BC;
D_802B6910 = 0x802B6910;
D_802B69A0 = 0x802B69A0;
D_802B69A8 = 0x802B69A8;
D_802B6D90 = 0x802B6D90;
D_802B6DB0 = 0x802B6DB0;
D_802B6DC0 = 0x802B6DC0;
D_802B6DF0 = 0x802B6DF0;
D_802B6E08 = 0x802B6E08;
D_802B6E60 = 0x802B6E60;
D_802B6E68 = 0x802B6E68;
D_802B6E70 = 0x802B6E70;
D_802B6E78 = 0x802B6E78;
D_802B6E80 = 0x802B6E80;
D_802B6E90 = 0x802B6E90;
D_802B6E98 = 0x802B6E98;
D_802B6EA0 = 0x802B6EA0;
D_802B6EA8 = 0x802B6EA8;
D_802B6ED0 = 0x802B6ED0;
D_802B6ED4 = 0x802B6ED4;
D_802B6ED8 = 0x802B6ED8;
D_802B6EDC = 0x802B6EDC;
D_802B6EE0 = 0x802B6EE0;
D_802B6EE4 = 0x802B6EE4;
D_802B6EE8 = 0x802B6EE8;
D_802B6EEC = 0x802B6EEC;
D_802B6EF0 = 0x802B6EF0;
D_802B6EF4 = 0x802B6EF4;
D_802B70B4 = 0x802B70B4;
D_802B7140 = 0x802B7140;
D_802B72C0 = 0x802B72C0;
@ -4592,6 +4657,9 @@ D_802B7CA0 = 0x802B7CA0;
D_802B7D18 = 0x802B7D18;
D_802B7D20 = 0x802B7D20;
D_802B9E00 = 0x802B9E00;
D_802BCE30 = 0x802BCE30;
D_802BCE32 = 0x802BCE32;
D_802BCE34 = 0x802BCE34;
D_802BD5F0 = 0x802BD5F0;
D_802BDE80 = 0x802BDE80;
D_802BDE88 = 0x802BDE88;