fix some things

This commit is contained in:
dark-samus 2021-01-16 09:37:13 -05:00
parent a4b5d8f200
commit d9083c1927
61 changed files with 790 additions and 4847 deletions

View File

@ -1,41 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel entity_init_BlueSwitch
/* 103C00 802E2380 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 103C04 802E2384 AFB00010 */ sw $s0, 0x10($sp)
/* 103C08 802E2388 0080802D */ daddu $s0, $a0, $zero
/* 103C0C 802E238C AFBF0018 */ sw $ra, 0x18($sp)
/* 103C10 802E2390 AFB10014 */ sw $s1, 0x14($sp)
/* 103C14 802E2394 0C0B88D3 */ jal func_802E234C
/* 103C18 802E2398 8E110040 */ lw $s1, 0x40($s0)
/* 103C1C 802E239C 3C038016 */ lui $v1, %hi(D_8015C7D0)
/* 103C20 802E23A0 8C63C7D0 */ lw $v1, %lo(D_8015C7D0)($v1)
/* 103C24 802E23A4 24020002 */ addiu $v0, $zero, 2
/* 103C28 802E23A8 14620005 */ bne $v1, $v0, .L802E23C0
/* 103C2C 802E23AC 24020001 */ addiu $v0, $zero, 1
/* 103C30 802E23B0 3C01802F */ lui $at, %hi(D_802EB3A0)
/* 103C34 802E23B4 AC30B3A0 */ sw $s0, %lo(D_802EB3A0)($at)
/* 103C38 802E23B8 080B88FD */ j .L802E23F4
/* 103C3C 802E23BC 00000000 */ nop
.L802E23C0:
/* 103C40 802E23C0 1462000A */ bne $v1, $v0, .L802E23EC
/* 103C44 802E23C4 00000000 */ nop
/* 103C48 802E23C8 3C02802F */ lui $v0, %hi(D_802EB3A0)
/* 103C4C 802E23CC 8C42B3A0 */ lw $v0, %lo(D_802EB3A0)($v0)
/* 103C50 802E23D0 10400008 */ beqz $v0, .L802E23F4
/* 103C54 802E23D4 00000000 */ nop
/* 103C58 802E23D8 AE220028 */ sw $v0, 0x28($s1)
/* 103C5C 802E23DC 8E020000 */ lw $v0, ($s0)
/* 103C60 802E23E0 34420001 */ ori $v0, $v0, 1
/* 103C64 802E23E4 080B88FD */ j .L802E23F4
/* 103C68 802E23E8 AE020000 */ sw $v0, ($s0)
.L802E23EC:
/* 103C6C 802E23EC 3C01802F */ lui $at, %hi(D_802EB3A0)
/* 103C70 802E23F0 AC20B3A0 */ sw $zero, %lo(D_802EB3A0)($at)
.L802E23F4:
/* 103C74 802E23F4 8FBF0018 */ lw $ra, 0x18($sp)
/* 103C78 802E23F8 8FB10014 */ lw $s1, 0x14($sp)
/* 103C7C 802E23FC 8FB00010 */ lw $s0, 0x10($sp)
/* 103C80 802E2400 03E00008 */ jr $ra
/* 103C84 802E2404 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,22 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel entity_init_HugeBlueSwitch
/* 103C88 802E2408 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 103C8C 802E240C AFB00010 */ sw $s0, 0x10($sp)
/* 103C90 802E2410 AFBF0014 */ sw $ra, 0x14($sp)
/* 103C94 802E2414 0C0B88D3 */ jal func_802E234C
/* 103C98 802E2418 0080802D */ daddu $s0, $a0, $zero
/* 103C9C 802E241C 3C014040 */ lui $at, 0x4040
/* 103CA0 802E2420 44810000 */ mtc1 $at, $f0
/* 103CA4 802E2424 8E020040 */ lw $v0, 0x40($s0)
/* 103CA8 802E2428 E6000054 */ swc1 $f0, 0x54($s0)
/* 103CAC 802E242C E6000058 */ swc1 $f0, 0x58($s0)
/* 103CB0 802E2430 E600005C */ swc1 $f0, 0x5c($s0)
/* 103CB4 802E2434 E4400014 */ swc1 $f0, 0x14($v0)
/* 103CB8 802E2438 E4400018 */ swc1 $f0, 0x18($v0)
/* 103CBC 802E243C E440001C */ swc1 $f0, 0x1c($v0)
/* 103CC0 802E2440 8FBF0014 */ lw $ra, 0x14($sp)
/* 103CC4 802E2444 8FB00010 */ lw $s0, 0x10($sp)
/* 103CC8 802E2448 03E00008 */ jr $ra
/* 103CCC 802E244C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,30 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E1400
/* 102C80 802E1400 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 102C84 802E1404 AFBF0014 */ sw $ra, 0x14($sp)
/* 102C88 802E1408 AFB00010 */ sw $s0, 0x10($sp)
/* 102C8C 802E140C 90820006 */ lbu $v0, 6($a0)
/* 102C90 802E1410 8C900040 */ lw $s0, 0x40($a0)
/* 102C94 802E1414 30420001 */ andi $v0, $v0, 1
/* 102C98 802E1418 1040000D */ beqz $v0, .L802E1450
/* 102C9C 802E141C 00000000 */ nop
/* 102CA0 802E1420 3C028011 */ lui $v0, %hi(gPlayerStatus)
/* 102CA4 802E1424 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus)
/* 102CA8 802E1428 804300B4 */ lb $v1, 0xb4($v0)
/* 102CAC 802E142C 2402000E */ addiu $v0, $zero, 0xe
/* 102CB0 802E1430 10620003 */ beq $v1, $v0, .L802E1440
/* 102CB4 802E1434 24020010 */ addiu $v0, $zero, 0x10
/* 102CB8 802E1438 14620005 */ bne $v1, $v0, .L802E1450
/* 102CBC 802E143C 00000000 */ nop
.L802E1440:
/* 102CC0 802E1440 0C043F5A */ jal func_8010FD68
/* 102CC4 802E1444 00000000 */ nop
/* 102CC8 802E1448 24020008 */ addiu $v0, $zero, 8
/* 102CCC 802E144C A6020022 */ sh $v0, 0x22($s0)
.L802E1450:
/* 102CD0 802E1450 8FBF0014 */ lw $ra, 0x14($sp)
/* 102CD4 802E1454 8FB00010 */ lw $s0, 0x10($sp)
/* 102CD8 802E1458 03E00008 */ jr $ra
/* 102CDC 802E145C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,36 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E1460
/* 102CE0 802E1460 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 102CE4 802E1464 AFB10014 */ sw $s1, 0x14($sp)
/* 102CE8 802E1468 0080882D */ daddu $s1, $a0, $zero
/* 102CEC 802E146C AFBF0018 */ sw $ra, 0x18($sp)
/* 102CF0 802E1470 AFB00010 */ sw $s0, 0x10($sp)
/* 102CF4 802E1474 8E300040 */ lw $s0, 0x40($s1)
/* 102CF8 802E1478 96020022 */ lhu $v0, 0x22($s0)
/* 102CFC 802E147C 2443FFFF */ addiu $v1, $v0, -1
/* 102D00 802E1480 3042FFFF */ andi $v0, $v0, 0xffff
/* 102D04 802E1484 10400009 */ beqz $v0, .L802E14AC
/* 102D08 802E1488 A6030022 */ sh $v1, 0x22($s0)
/* 102D0C 802E148C C620004C */ lwc1 $f0, 0x4c($s1)
/* 102D10 802E1490 3C01802F */ lui $at, %hi(D_802EB000)
/* 102D14 802E1494 D422B000 */ ldc1 $f2, %lo(D_802EB000)($at)
/* 102D18 802E1498 46000021 */ cvt.d.s $f0, $f0
/* 102D1C 802E149C 46220001 */ sub.d $f0, $f0, $f2
/* 102D20 802E14A0 46200020 */ cvt.s.d $f0, $f0
/* 102D24 802E14A4 080B8531 */ j .L802E14C4
/* 102D28 802E14A8 E620004C */ swc1 $f0, 0x4c($s1)
.L802E14AC:
/* 102D2C 802E14AC 0C04419E */ jal func_80110678
/* 102D30 802E14B0 0220202D */ daddu $a0, $s1, $zero
/* 102D34 802E14B4 0C043F5A */ jal func_8010FD68
/* 102D38 802E14B8 0220202D */ daddu $a0, $s1, $zero
/* 102D3C 802E14BC 24020008 */ addiu $v0, $zero, 8
/* 102D40 802E14C0 A6020022 */ sh $v0, 0x22($s0)
.L802E14C4:
/* 102D44 802E14C4 8FBF0018 */ lw $ra, 0x18($sp)
/* 102D48 802E14C8 8FB10014 */ lw $s1, 0x14($sp)
/* 102D4C 802E14CC 8FB00010 */ lw $s0, 0x10($sp)
/* 102D50 802E14D0 03E00008 */ jr $ra
/* 102D54 802E14D4 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,31 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E14D8
/* 102D58 802E14D8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 102D5C 802E14DC AFBF0014 */ sw $ra, 0x14($sp)
/* 102D60 802E14E0 AFB00010 */ sw $s0, 0x10($sp)
/* 102D64 802E14E4 8C900040 */ lw $s0, 0x40($a0)
/* 102D68 802E14E8 96020022 */ lhu $v0, 0x22($s0)
/* 102D6C 802E14EC 2443FFFF */ addiu $v1, $v0, -1
/* 102D70 802E14F0 3042FFFF */ andi $v0, $v0, 0xffff
/* 102D74 802E14F4 10400009 */ beqz $v0, .L802E151C
/* 102D78 802E14F8 A6030022 */ sh $v1, 0x22($s0)
/* 102D7C 802E14FC C480004C */ lwc1 $f0, 0x4c($a0)
/* 102D80 802E1500 3C01802F */ lui $at, %hi(D_802EB008)
/* 102D84 802E1504 D422B008 */ ldc1 $f2, %lo(D_802EB008)($at)
/* 102D88 802E1508 46000021 */ cvt.d.s $f0, $f0
/* 102D8C 802E150C 46220000 */ add.d $f0, $f0, $f2
/* 102D90 802E1510 46200020 */ cvt.s.d $f0, $f0
/* 102D94 802E1514 080B854B */ j .L802E152C
/* 102D98 802E1518 E480004C */ swc1 $f0, 0x4c($a0)
.L802E151C:
/* 102D9C 802E151C 0C043F5A */ jal func_8010FD68
/* 102DA0 802E1520 00000000 */ nop
/* 102DA4 802E1524 24020008 */ addiu $v0, $zero, 8
/* 102DA8 802E1528 A6020022 */ sh $v0, 0x22($s0)
.L802E152C:
/* 102DAC 802E152C 8FBF0014 */ lw $ra, 0x14($sp)
/* 102DB0 802E1530 8FB00010 */ lw $s0, 0x10($sp)
/* 102DB4 802E1534 03E00008 */ jr $ra
/* 102DB8 802E1538 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,25 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E1614
/* 102E94 802E1614 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 102E98 802E1618 AFBF0010 */ sw $ra, 0x10($sp)
/* 102E9C 802E161C 90820006 */ lbu $v0, 6($a0)
/* 102EA0 802E1620 30420001 */ andi $v0, $v0, 1
/* 102EA4 802E1624 1040000B */ beqz $v0, .L802E1654
/* 102EA8 802E1628 00000000 */ nop
/* 102EAC 802E162C 3C028011 */ lui $v0, %hi(gPlayerStatus)
/* 102EB0 802E1630 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus)
/* 102EB4 802E1634 804300B4 */ lb $v1, 0xb4($v0)
/* 102EB8 802E1638 2402000E */ addiu $v0, $zero, 0xe
/* 102EBC 802E163C 10620003 */ beq $v1, $v0, .L802E164C
/* 102EC0 802E1640 24020010 */ addiu $v0, $zero, 0x10
/* 102EC4 802E1644 14620003 */ bne $v1, $v0, .L802E1654
/* 102EC8 802E1648 00000000 */ nop
.L802E164C:
/* 102ECC 802E164C 0C043F5A */ jal func_8010FD68
/* 102ED0 802E1650 00000000 */ nop
.L802E1654:
/* 102ED4 802E1654 8FBF0010 */ lw $ra, 0x10($sp)
/* 102ED8 802E1658 03E00008 */ jr $ra
/* 102EDC 802E165C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,65 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E1660
/* 102EE0 802E1660 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 102EE4 802E1664 AFB00010 */ sw $s0, 0x10($sp)
/* 102EE8 802E1668 0080802D */ daddu $s0, $a0, $zero
/* 102EEC 802E166C AFBF0020 */ sw $ra, 0x20($sp)
/* 102EF0 802E1670 AFB3001C */ sw $s3, 0x1c($sp)
/* 102EF4 802E1674 AFB20018 */ sw $s2, 0x18($sp)
/* 102EF8 802E1678 AFB10014 */ sw $s1, 0x14($sp)
/* 102EFC 802E167C 0C0B854F */ jal func_802E153C
/* 102F00 802E1680 8E130040 */ lw $s3, 0x40($s0)
/* 102F04 802E1684 3C118011 */ lui $s1, %hi(gPlayerStatus)
/* 102F08 802E1688 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus)
/* 102F0C 802E168C 92020006 */ lbu $v0, 6($s0)
/* 102F10 802E1690 3C128011 */ lui $s2, %hi(D_8010EBB0)
/* 102F14 802E1694 2652EBB0 */ addiu $s2, $s2, %lo(D_8010EBB0)
/* 102F18 802E1698 30420040 */ andi $v0, $v0, 0x40
/* 102F1C 802E169C 1040000A */ beqz $v0, .L802E16C8
/* 102F20 802E16A0 24020012 */ addiu $v0, $zero, 0x12
/* 102F24 802E16A4 822300B4 */ lb $v1, 0xb4($s1)
/* 102F28 802E16A8 14620009 */ bne $v1, $v0, .L802E16D0
/* 102F2C 802E16AC 2402000D */ addiu $v0, $zero, 0xd
/* 102F30 802E16B0 3C028011 */ lui $v0, %hi(gPlayerData+0x1)
/* 102F34 802E16B4 8042F291 */ lb $v0, %lo(gPlayerData+0x1)($v0)
/* 102F38 802E16B8 0440001A */ bltz $v0, .L802E1724
/* 102F3C 802E16BC 00000000 */ nop
/* 102F40 802E16C0 080B85C2 */ j .L802E1708
/* 102F44 802E16C4 00000000 */ nop
.L802E16C8:
/* 102F48 802E16C8 822300B4 */ lb $v1, 0xb4($s1)
/* 102F4C 802E16CC 2402000D */ addiu $v0, $zero, 0xd
.L802E16D0:
/* 102F50 802E16D0 10620014 */ beq $v1, $v0, .L802E1724
/* 102F54 802E16D4 24020004 */ addiu $v0, $zero, 4
/* 102F58 802E16D8 82430003 */ lb $v1, 3($s2)
/* 102F5C 802E16DC 14620004 */ bne $v1, $v0, .L802E16F0
/* 102F60 802E16E0 00000000 */ nop
/* 102F64 802E16E4 82420000 */ lb $v0, ($s2)
/* 102F68 802E16E8 1440000E */ bnez $v0, .L802E1724
/* 102F6C 802E16EC 00000000 */ nop
.L802E16F0:
/* 102F70 802E16F0 92030006 */ lbu $v1, 6($s0)
/* 102F74 802E16F4 30620001 */ andi $v0, $v1, 1
/* 102F78 802E16F8 14400003 */ bnez $v0, .L802E1708
/* 102F7C 802E16FC 30620080 */ andi $v0, $v1, 0x80
/* 102F80 802E1700 10400008 */ beqz $v0, .L802E1724
/* 102F84 802E1704 00000000 */ nop
.L802E1708:
/* 102F88 802E1708 0C043F5A */ jal func_8010FD68
/* 102F8C 802E170C 0200202D */ daddu $a0, $s0, $zero
/* 102F90 802E1710 8E640028 */ lw $a0, 0x28($s3)
/* 102F94 802E1714 10800003 */ beqz $a0, .L802E1724
/* 102F98 802E1718 00000000 */ nop
/* 102F9C 802E171C 0C043F5A */ jal func_8010FD68
/* 102FA0 802E1720 00000000 */ nop
.L802E1724:
/* 102FA4 802E1724 8FBF0020 */ lw $ra, 0x20($sp)
/* 102FA8 802E1728 8FB3001C */ lw $s3, 0x1c($sp)
/* 102FAC 802E172C 8FB20018 */ lw $s2, 0x18($sp)
/* 102FB0 802E1730 8FB10014 */ lw $s1, 0x14($sp)
/* 102FB4 802E1734 8FB00010 */ lw $s0, 0x10($sp)
/* 102FB8 802E1738 03E00008 */ jr $ra
/* 102FBC 802E173C 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,16 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E1740
/* 102FC0 802E1740 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 102FC4 802E1744 AFBF0010 */ sw $ra, 0x10($sp)
/* 102FC8 802E1748 90820006 */ lbu $v0, 6($a0)
/* 102FCC 802E174C 30420001 */ andi $v0, $v0, 1
/* 102FD0 802E1750 14400003 */ bnez $v0, .L802E1760
/* 102FD4 802E1754 00000000 */ nop
/* 102FD8 802E1758 0C043F5A */ jal func_8010FD68
/* 102FDC 802E175C 00000000 */ nop
.L802E1760:
/* 102FE0 802E1760 8FBF0010 */ lw $ra, 0x10($sp)
/* 102FE4 802E1764 03E00008 */ jr $ra
/* 102FE8 802E1768 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,19 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E176C
/* 102FEC 802E176C 8C820040 */ lw $v0, 0x40($a0)
/* 102FF0 802E1770 3C013F80 */ lui $at, 0x3f80
/* 102FF4 802E1774 44810000 */ mtc1 $at, $f0
/* 102FF8 802E1778 3C013DCC */ lui $at, 0x3dcc
/* 102FFC 802E177C 3421CCCD */ ori $at, $at, 0xcccd
/* 103000 802E1780 44811000 */ mtc1 $at, $f2
/* 103004 802E1784 3C01BDCC */ lui $at, 0xbdcc
/* 103008 802E1788 3421CCCD */ ori $at, $at, 0xcccd
/* 10300C 802E178C 44812000 */ mtc1 $at, $f4
/* 103010 802E1790 E4400000 */ swc1 $f0, ($v0)
/* 103014 802E1794 E4420004 */ swc1 $f2, 4($v0)
/* 103018 802E1798 E4440008 */ swc1 $f4, 8($v0)
/* 10301C 802E179C A0400010 */ sb $zero, 0x10($v0)
/* 103020 802E17A0 03E00008 */ jr $ra
/* 103024 802E17A4 A0400011 */ sb $zero, 0x11($v0)

View File

@ -1,17 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E1EA8
/* 103728 802E1EA8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 10372C 802E1EAC AFB00010 */ sw $s0, 0x10($sp)
/* 103730 802E1EB0 0080802D */ daddu $s0, $a0, $zero
/* 103734 802E1EB4 AFBF0014 */ sw $ra, 0x14($sp)
/* 103738 802E1EB8 8E020040 */ lw $v0, 0x40($s0)
/* 10373C 802E1EBC 0C051568 */ jal set_area_flag
/* 103740 802E1EC0 94440020 */ lhu $a0, 0x20($v0)
/* 103744 802E1EC4 0C04419E */ jal func_80110678
/* 103748 802E1EC8 0200202D */ daddu $a0, $s0, $zero
/* 10374C 802E1ECC 8FBF0014 */ lw $ra, 0x14($sp)
/* 103750 802E1ED0 8FB00010 */ lw $s0, 0x10($sp)
/* 103754 802E1ED4 03E00008 */ jr $ra
/* 103758 802E1ED8 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,17 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E234C
/* 103BCC 802E234C 3C058011 */ lui $a1, %hi(gPlayerStatus)
/* 103BD0 802E2350 24A5EFC8 */ addiu $a1, $a1, %lo(gPlayerStatus)
/* 103BD4 802E2354 3C060100 */ lui $a2, 0x100
/* 103BD8 802E2358 8C830040 */ lw $v1, 0x40($a0)
/* 103BDC 802E235C 8CA20004 */ lw $v0, 4($a1)
/* 103BE0 802E2360 3C013F80 */ lui $at, 0x3f80
/* 103BE4 802E2364 44810000 */ mtc1 $at, $f0
/* 103BE8 802E2368 00461025 */ or $v0, $v0, $a2
/* 103BEC 802E236C ACA20004 */ sw $v0, 4($a1)
/* 103BF0 802E2370 E4600014 */ swc1 $f0, 0x14($v1)
/* 103BF4 802E2374 E4600018 */ swc1 $f0, 0x18($v1)
/* 103BF8 802E2378 03E00008 */ jr $ra
/* 103BFC 802E237C E460001C */ swc1 $f0, 0x1c($v1)

View File

@ -1,11 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E2450
/* 103CD0 802E2450 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 103CD4 802E2454 AFBF0010 */ sw $ra, 0x10($sp)
/* 103CD8 802E2458 0C0B8D94 */ jal func_802E3650
/* 103CDC 802E245C 00000000 */ nop
/* 103CE0 802E2460 8FBF0010 */ lw $ra, 0x10($sp)
/* 103CE4 802E2464 03E00008 */ jr $ra
/* 103CE8 802E2468 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,59 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E153C
/* 102DBC 802E153C 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 102DC0 802E1540 AFB00030 */ sw $s0, 0x30($sp)
/* 102DC4 802E1544 0080802D */ daddu $s0, $a0, $zero
/* 102DC8 802E1548 27A20028 */ addiu $v0, $sp, 0x28
/* 102DCC 802E154C 27A40018 */ addiu $a0, $sp, 0x18
/* 102DD0 802E1550 3C014120 */ lui $at, 0x4120
/* 102DD4 802E1554 44810000 */ mtc1 $at, $f0
/* 102DD8 802E1558 27A5001C */ addiu $a1, $sp, 0x1c
/* 102DDC 802E155C AFBF0038 */ sw $ra, 0x38($sp)
/* 102DE0 802E1560 AFB10034 */ sw $s1, 0x34($sp)
/* 102DE4 802E1564 C6020048 */ lwc1 $f2, 0x48($s0)
/* 102DE8 802E1568 C604004C */ lwc1 $f4, 0x4c($s0)
/* 102DEC 802E156C C6060050 */ lwc1 $f6, 0x50($s0)
/* 102DF0 802E1570 27A60020 */ addiu $a2, $sp, 0x20
/* 102DF4 802E1574 E7A0002C */ swc1 $f0, 0x2c($sp)
/* 102DF8 802E1578 E7A20018 */ swc1 $f2, 0x18($sp)
/* 102DFC 802E157C E7A4001C */ swc1 $f4, 0x1c($sp)
/* 102E00 802E1580 E7A60020 */ swc1 $f6, 0x20($sp)
/* 102E04 802E1584 8E110040 */ lw $s1, 0x40($s0)
/* 102E08 802E1588 27A70024 */ addiu $a3, $sp, 0x24
/* 102E0C 802E158C AFA20010 */ sw $v0, 0x10($sp)
/* 102E10 802E1590 27A2002C */ addiu $v0, $sp, 0x2c
/* 102E14 802E1594 0C04497A */ jal func_801125E8
/* 102E18 802E1598 AFA20014 */ sw $v0, 0x14($sp)
/* 102E1C 802E159C C600004C */ lwc1 $f0, 0x4c($s0)
/* 102E20 802E15A0 C7A4001C */ lwc1 $f4, 0x1c($sp)
/* 102E24 802E15A4 46040032 */ c.eq.s $f0, $f4
/* 102E28 802E15A8 00000000 */ nop
/* 102E2C 802E15AC 45010014 */ bc1t .L802E1600
/* 102E30 802E15B0 00000000 */ nop
/* 102E34 802E15B4 4600203C */ c.lt.s $f4, $f0
/* 102E38 802E15B8 00000000 */ nop
/* 102E3C 802E15BC 45000010 */ bc1f .L802E1600
/* 102E40 802E15C0 00000000 */ nop
/* 102E44 802E15C4 C6220000 */ lwc1 $f2, ($s1)
/* 102E48 802E15C8 3C013FE0 */ lui $at, 0x3fe0
/* 102E4C 802E15CC 44810800 */ mtc1 $at, $f1
/* 102E50 802E15D0 44800000 */ mtc1 $zero, $f0
/* 102E54 802E15D4 460010A1 */ cvt.d.s $f2, $f2
/* 102E58 802E15D8 46201080 */ add.d $f2, $f2, $f0
/* 102E5C 802E15DC 462010A0 */ cvt.s.d $f2, $f2
/* 102E60 802E15E0 E6220000 */ swc1 $f2, ($s1)
/* 102E64 802E15E4 C600004C */ lwc1 $f0, 0x4c($s0)
/* 102E68 802E15E8 46020001 */ sub.s $f0, $f0, $f2
/* 102E6C 802E15EC 4604003C */ c.lt.s $f0, $f4
/* 102E70 802E15F0 00000000 */ nop
/* 102E74 802E15F4 45000002 */ bc1f .L802E1600
/* 102E78 802E15F8 E600004C */ swc1 $f0, 0x4c($s0)
/* 102E7C 802E15FC E604004C */ swc1 $f4, 0x4c($s0)
.L802E1600:
/* 102E80 802E1600 8FBF0038 */ lw $ra, 0x38($sp)
/* 102E84 802E1604 8FB10034 */ lw $s1, 0x34($sp)
/* 102E88 802E1608 8FB00030 */ lw $s0, 0x30($sp)
/* 102E8C 802E160C 03E00008 */ jr $ra
/* 102E90 802E1610 27BD0040 */ addiu $sp, $sp, 0x40

View File

@ -1,479 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E17A8
/* 103028 802E17A8 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 10302C 802E17AC AFB10014 */ sw $s1, 0x14($sp)
/* 103030 802E17B0 0080882D */ daddu $s1, $a0, $zero
/* 103034 802E17B4 AFBF001C */ sw $ra, 0x1c($sp)
/* 103038 802E17B8 AFB20018 */ sw $s2, 0x18($sp)
/* 10303C 802E17BC AFB00010 */ sw $s0, 0x10($sp)
/* 103040 802E17C0 8E300040 */ lw $s0, 0x40($s1)
/* 103044 802E17C4 82030010 */ lb $v1, 0x10($s0)
/* 103048 802E17C8 2C620006 */ sltiu $v0, $v1, 6
/* 10304C 802E17CC 104000D3 */ beqz $v0, .L802E1B1C
/* 103050 802E17D0 0000902D */ daddu $s2, $zero, $zero
/* 103054 802E17D4 00031080 */ sll $v0, $v1, 2
/* 103058 802E17D8 3C01802F */ lui $at, %hi(jtbl_802EB010_10C890)
/* 10305C 802E17DC 00220821 */ addu $at, $at, $v0
/* 103060 802E17E0 8C22B010 */ lw $v0, %lo(jtbl_802EB010_10C890)($at)
/* 103064 802E17E4 00400008 */ jr $v0
/* 103068 802E17E8 00000000 */ nop
glabel L802E17EC_10306C
/* 10306C 802E17EC C602001C */ lwc1 $f2, 0x1c($s0)
/* 103070 802E17F0 3C01802F */ lui $at, %hi(D_802EB028)
/* 103074 802E17F4 D420B028 */ ldc1 $f0, %lo(D_802EB028)($at)
/* 103078 802E17F8 460010A1 */ cvt.d.s $f2, $f2
/* 10307C 802E17FC 46201082 */ mul.d $f2, $f2, $f0
/* 103080 802E1800 00000000 */ nop
/* 103084 802E1804 C6000014 */ lwc1 $f0, 0x14($s0)
/* 103088 802E1808 462011A0 */ cvt.s.d $f6, $f2
/* 10308C 802E180C 46060000 */ add.s $f0, $f0, $f6
/* 103090 802E1810 C6220054 */ lwc1 $f2, 0x54($s1)
/* 103094 802E1814 46020001 */ sub.s $f0, $f0, $f2
/* 103098 802E1818 3C013FD0 */ lui $at, 0x3fd0
/* 10309C 802E181C 44811800 */ mtc1 $at, $f3
/* 1030A0 802E1820 44801000 */ mtc1 $zero, $f2
/* 1030A4 802E1824 46000021 */ cvt.d.s $f0, $f0
/* 1030A8 802E1828 46220002 */ mul.d $f0, $f0, $f2
/* 1030AC 802E182C 00000000 */ nop
/* 1030B0 802E1830 3C01802F */ lui $at, %hi(D_802EB030)
/* 1030B4 802E1834 D422B030 */ ldc1 $f2, %lo(D_802EB030)($at)
/* 1030B8 802E1838 46200120 */ cvt.s.d $f4, $f0
/* 1030BC 802E183C 46002021 */ cvt.d.s $f0, $f4
/* 1030C0 802E1840 4622003C */ c.lt.d $f0, $f2
/* 1030C4 802E1844 00000000 */ nop
/* 1030C8 802E1848 45000004 */ bc1f .L802E185C
/* 1030CC 802E184C 00000000 */ nop
/* 1030D0 802E1850 3C013C23 */ lui $at, 0x3c23
/* 1030D4 802E1854 3421D70A */ ori $at, $at, 0xd70a
/* 1030D8 802E1858 44812000 */ mtc1 $at, $f4
.L802E185C:
/* 1030DC 802E185C C6000004 */ lwc1 $f0, 4($s0)
/* 1030E0 802E1860 46040000 */ add.s $f0, $f0, $f4
/* 1030E4 802E1864 E6000004 */ swc1 $f0, 4($s0)
/* 1030E8 802E1868 C6220054 */ lwc1 $f2, 0x54($s1)
/* 1030EC 802E186C 46001080 */ add.s $f2, $f2, $f0
/* 1030F0 802E1870 E6220054 */ swc1 $f2, 0x54($s1)
/* 1030F4 802E1874 C6000014 */ lwc1 $f0, 0x14($s0)
/* 1030F8 802E1878 46060000 */ add.s $f0, $f0, $f6
/* 1030FC 802E187C 4602003E */ c.le.s $f0, $f2
/* 103100 802E1880 00000000 */ nop
/* 103104 802E1884 450000A5 */ bc1f .L802E1B1C
/* 103108 802E1888 00000000 */ nop
/* 10310C 802E188C 080B86C1 */ j .L802E1B04
/* 103110 802E1890 00000000 */ nop
glabel L802E1894_103114
/* 103114 802E1894 C602001C */ lwc1 $f2, 0x1c($s0)
/* 103118 802E1898 3C01802F */ lui $at, %hi(D_802EB038)
/* 10311C 802E189C D420B038 */ ldc1 $f0, %lo(D_802EB038)($at)
/* 103120 802E18A0 460010A1 */ cvt.d.s $f2, $f2
/* 103124 802E18A4 46201082 */ mul.d $f2, $f2, $f0
/* 103128 802E18A8 00000000 */ nop
/* 10312C 802E18AC C6000014 */ lwc1 $f0, 0x14($s0)
/* 103130 802E18B0 462011A0 */ cvt.s.d $f6, $f2
/* 103134 802E18B4 46060000 */ add.s $f0, $f0, $f6
/* 103138 802E18B8 C6220054 */ lwc1 $f2, 0x54($s1)
/* 10313C 802E18BC 46020001 */ sub.s $f0, $f0, $f2
/* 103140 802E18C0 3C014018 */ lui $at, 0x4018
/* 103144 802E18C4 44811800 */ mtc1 $at, $f3
/* 103148 802E18C8 44801000 */ mtc1 $zero, $f2
/* 10314C 802E18CC 46000021 */ cvt.d.s $f0, $f0
/* 103150 802E18D0 46220003 */ div.d $f0, $f0, $f2
/* 103154 802E18D4 46200120 */ cvt.s.d $f4, $f0
/* 103158 802E18D8 3C01802F */ lui $at, %hi(D_802EB040)
/* 10315C 802E18DC D422B040 */ ldc1 $f2, %lo(D_802EB040)($at)
/* 103160 802E18E0 46002021 */ cvt.d.s $f0, $f4
/* 103164 802E18E4 4620103C */ c.lt.d $f2, $f0
/* 103168 802E18E8 00000000 */ nop
/* 10316C 802E18EC 45000004 */ bc1f .L802E1900
/* 103170 802E18F0 00000000 */ nop
/* 103174 802E18F4 3C01BC23 */ lui $at, 0xbc23
/* 103178 802E18F8 3421D70A */ ori $at, $at, 0xd70a
/* 10317C 802E18FC 44812000 */ mtc1 $at, $f4
.L802E1900:
/* 103180 802E1900 C6000004 */ lwc1 $f0, 4($s0)
/* 103184 802E1904 46040000 */ add.s $f0, $f0, $f4
/* 103188 802E1908 E6000004 */ swc1 $f0, 4($s0)
/* 10318C 802E190C C6220054 */ lwc1 $f2, 0x54($s1)
/* 103190 802E1910 46001080 */ add.s $f2, $f2, $f0
/* 103194 802E1914 E6220054 */ swc1 $f2, 0x54($s1)
/* 103198 802E1918 C6000014 */ lwc1 $f0, 0x14($s0)
/* 10319C 802E191C 46060000 */ add.s $f0, $f0, $f6
/* 1031A0 802E1920 4600103E */ c.le.s $f2, $f0
/* 1031A4 802E1924 00000000 */ nop
/* 1031A8 802E1928 4500007C */ bc1f .L802E1B1C
/* 1031AC 802E192C 00000000 */ nop
/* 1031B0 802E1930 080B86C1 */ j .L802E1B04
/* 1031B4 802E1934 00000000 */ nop
glabel L802E1938_1031B8
/* 1031B8 802E1938 C602001C */ lwc1 $f2, 0x1c($s0)
/* 1031BC 802E193C 3C01802F */ lui $at, %hi(D_802EB048)
/* 1031C0 802E1940 D420B048 */ ldc1 $f0, %lo(D_802EB048)($at)
/* 1031C4 802E1944 460010A1 */ cvt.d.s $f2, $f2
/* 1031C8 802E1948 46201082 */ mul.d $f2, $f2, $f0
/* 1031CC 802E194C 00000000 */ nop
/* 1031D0 802E1950 C6000014 */ lwc1 $f0, 0x14($s0)
/* 1031D4 802E1954 462011A0 */ cvt.s.d $f6, $f2
/* 1031D8 802E1958 46060000 */ add.s $f0, $f0, $f6
/* 1031DC 802E195C C6220054 */ lwc1 $f2, 0x54($s1)
/* 1031E0 802E1960 46020001 */ sub.s $f0, $f0, $f2
/* 1031E4 802E1964 3C013FD0 */ lui $at, 0x3fd0
/* 1031E8 802E1968 44811800 */ mtc1 $at, $f3
/* 1031EC 802E196C 44801000 */ mtc1 $zero, $f2
/* 1031F0 802E1970 46000021 */ cvt.d.s $f0, $f0
/* 1031F4 802E1974 46220002 */ mul.d $f0, $f0, $f2
/* 1031F8 802E1978 00000000 */ nop
/* 1031FC 802E197C 3C01802F */ lui $at, %hi(D_802EB050)
/* 103200 802E1980 D422B050 */ ldc1 $f2, %lo(D_802EB050)($at)
/* 103204 802E1984 46200120 */ cvt.s.d $f4, $f0
/* 103208 802E1988 46002021 */ cvt.d.s $f0, $f4
/* 10320C 802E198C 4622003C */ c.lt.d $f0, $f2
/* 103210 802E1990 00000000 */ nop
/* 103214 802E1994 45000004 */ bc1f .L802E19A8
/* 103218 802E1998 00000000 */ nop
/* 10321C 802E199C 3C013C23 */ lui $at, 0x3c23
/* 103220 802E19A0 3421D70A */ ori $at, $at, 0xd70a
/* 103224 802E19A4 44812000 */ mtc1 $at, $f4
.L802E19A8:
/* 103228 802E19A8 C6000004 */ lwc1 $f0, 4($s0)
/* 10322C 802E19AC 46040000 */ add.s $f0, $f0, $f4
/* 103230 802E19B0 E6000004 */ swc1 $f0, 4($s0)
/* 103234 802E19B4 C6220054 */ lwc1 $f2, 0x54($s1)
/* 103238 802E19B8 46001080 */ add.s $f2, $f2, $f0
/* 10323C 802E19BC E6220054 */ swc1 $f2, 0x54($s1)
/* 103240 802E19C0 C6000014 */ lwc1 $f0, 0x14($s0)
/* 103244 802E19C4 46060000 */ add.s $f0, $f0, $f6
/* 103248 802E19C8 4602003E */ c.le.s $f0, $f2
/* 10324C 802E19CC 00000000 */ nop
/* 103250 802E19D0 45000052 */ bc1f .L802E1B1C
/* 103254 802E19D4 00000000 */ nop
/* 103258 802E19D8 080B86C1 */ j .L802E1B04
/* 10325C 802E19DC 00000000 */ nop
glabel L802E19E0_103260
/* 103260 802E19E0 C602001C */ lwc1 $f2, 0x1c($s0)
/* 103264 802E19E4 3C01802F */ lui $at, %hi(D_802EB058)
/* 103268 802E19E8 D420B058 */ ldc1 $f0, %lo(D_802EB058)($at)
/* 10326C 802E19EC 460010A1 */ cvt.d.s $f2, $f2
/* 103270 802E19F0 46201082 */ mul.d $f2, $f2, $f0
/* 103274 802E19F4 00000000 */ nop
/* 103278 802E19F8 C6000014 */ lwc1 $f0, 0x14($s0)
/* 10327C 802E19FC 462011A0 */ cvt.s.d $f6, $f2
/* 103280 802E1A00 46060000 */ add.s $f0, $f0, $f6
/* 103284 802E1A04 C6220054 */ lwc1 $f2, 0x54($s1)
/* 103288 802E1A08 46020001 */ sub.s $f0, $f0, $f2
/* 10328C 802E1A0C 3C014018 */ lui $at, 0x4018
/* 103290 802E1A10 44811800 */ mtc1 $at, $f3
/* 103294 802E1A14 44801000 */ mtc1 $zero, $f2
/* 103298 802E1A18 46000021 */ cvt.d.s $f0, $f0
/* 10329C 802E1A1C 46220003 */ div.d $f0, $f0, $f2
/* 1032A0 802E1A20 46200120 */ cvt.s.d $f4, $f0
/* 1032A4 802E1A24 3C01802F */ lui $at, %hi(D_802EB060)
/* 1032A8 802E1A28 D422B060 */ ldc1 $f2, %lo(D_802EB060)($at)
/* 1032AC 802E1A2C 46002021 */ cvt.d.s $f0, $f4
/* 1032B0 802E1A30 4620103C */ c.lt.d $f2, $f0
/* 1032B4 802E1A34 00000000 */ nop
/* 1032B8 802E1A38 45000004 */ bc1f .L802E1A4C
/* 1032BC 802E1A3C 00000000 */ nop
/* 1032C0 802E1A40 3C01BC23 */ lui $at, 0xbc23
/* 1032C4 802E1A44 3421D70A */ ori $at, $at, 0xd70a
/* 1032C8 802E1A48 44812000 */ mtc1 $at, $f4
.L802E1A4C:
/* 1032CC 802E1A4C C6000004 */ lwc1 $f0, 4($s0)
/* 1032D0 802E1A50 46040000 */ add.s $f0, $f0, $f4
/* 1032D4 802E1A54 E6000004 */ swc1 $f0, 4($s0)
/* 1032D8 802E1A58 C6220054 */ lwc1 $f2, 0x54($s1)
/* 1032DC 802E1A5C 46001080 */ add.s $f2, $f2, $f0
/* 1032E0 802E1A60 E6220054 */ swc1 $f2, 0x54($s1)
/* 1032E4 802E1A64 C6000014 */ lwc1 $f0, 0x14($s0)
/* 1032E8 802E1A68 46060000 */ add.s $f0, $f0, $f6
/* 1032EC 802E1A6C 4600103E */ c.le.s $f2, $f0
/* 1032F0 802E1A70 00000000 */ nop
/* 1032F4 802E1A74 45000029 */ bc1f .L802E1B1C
/* 1032F8 802E1A78 00000000 */ nop
/* 1032FC 802E1A7C 080B86C1 */ j .L802E1B04
/* 103300 802E1A80 00000000 */ nop
glabel L802E1A84_103304
/* 103304 802E1A84 C6000014 */ lwc1 $f0, 0x14($s0)
/* 103308 802E1A88 C6220054 */ lwc1 $f2, 0x54($s1)
/* 10330C 802E1A8C 46020001 */ sub.s $f0, $f0, $f2
/* 103310 802E1A90 3C013FD0 */ lui $at, 0x3fd0
/* 103314 802E1A94 44811800 */ mtc1 $at, $f3
/* 103318 802E1A98 44801000 */ mtc1 $zero, $f2
/* 10331C 802E1A9C 46000021 */ cvt.d.s $f0, $f0
/* 103320 802E1AA0 46220002 */ mul.d $f0, $f0, $f2
/* 103324 802E1AA4 00000000 */ nop
/* 103328 802E1AA8 3C01802F */ lui $at, %hi(D_802EB068)
/* 10332C 802E1AAC D422B068 */ ldc1 $f2, %lo(D_802EB068)($at)
/* 103330 802E1AB0 46200120 */ cvt.s.d $f4, $f0
/* 103334 802E1AB4 46002021 */ cvt.d.s $f0, $f4
/* 103338 802E1AB8 4622003C */ c.lt.d $f0, $f2
/* 10333C 802E1ABC 00000000 */ nop
/* 103340 802E1AC0 45000004 */ bc1f .L802E1AD4
/* 103344 802E1AC4 00000000 */ nop
/* 103348 802E1AC8 3C013C23 */ lui $at, 0x3c23
/* 10334C 802E1ACC 3421D70A */ ori $at, $at, 0xd70a
/* 103350 802E1AD0 44812000 */ mtc1 $at, $f4
.L802E1AD4:
/* 103354 802E1AD4 C6000004 */ lwc1 $f0, 4($s0)
/* 103358 802E1AD8 46040000 */ add.s $f0, $f0, $f4
/* 10335C 802E1ADC E6000004 */ swc1 $f0, 4($s0)
/* 103360 802E1AE0 C6220054 */ lwc1 $f2, 0x54($s1)
/* 103364 802E1AE4 46001080 */ add.s $f2, $f2, $f0
/* 103368 802E1AE8 E6220054 */ swc1 $f2, 0x54($s1)
/* 10336C 802E1AEC C6000014 */ lwc1 $f0, 0x14($s0)
/* 103370 802E1AF0 4602003E */ c.le.s $f0, $f2
/* 103374 802E1AF4 00000000 */ nop
/* 103378 802E1AF8 45000008 */ bc1f .L802E1B1C
/* 10337C 802E1AFC 00000000 */ nop
/* 103380 802E1B00 E6200054 */ swc1 $f0, 0x54($s1)
.L802E1B04:
/* 103384 802E1B04 92020010 */ lbu $v0, 0x10($s0)
/* 103388 802E1B08 AE000004 */ sw $zero, 4($s0)
/* 10338C 802E1B0C 24420001 */ addiu $v0, $v0, 1
/* 103390 802E1B10 080B86C7 */ j .L802E1B1C
/* 103394 802E1B14 A2020010 */ sb $v0, 0x10($s0)
glabel L802E1B18_103398
/* 103398 802E1B18 26520001 */ addiu $s2, $s2, 1
.L802E1B1C:
/* 10339C 802E1B1C C6200054 */ lwc1 $f0, 0x54($s1)
/* 1033A0 802E1B20 E620005C */ swc1 $f0, 0x5c($s1)
/* 1033A4 802E1B24 82030011 */ lb $v1, 0x11($s0)
/* 1033A8 802E1B28 2C620006 */ sltiu $v0, $v1, 6
/* 1033AC 802E1B2C 104000D0 */ beqz $v0, .L802E1E70
/* 1033B0 802E1B30 00031080 */ sll $v0, $v1, 2
/* 1033B4 802E1B34 3C01802F */ lui $at, %hi(jtbl_802EB070_10C8F0)
/* 1033B8 802E1B38 00220821 */ addu $at, $at, $v0
/* 1033BC 802E1B3C 8C22B070 */ lw $v0, %lo(jtbl_802EB070_10C8F0)($at)
/* 1033C0 802E1B40 00400008 */ jr $v0
/* 1033C4 802E1B44 00000000 */ nop
glabel L802E1B48_1033C8
/* 1033C8 802E1B48 C602001C */ lwc1 $f2, 0x1c($s0)
/* 1033CC 802E1B4C 3C01BFE0 */ lui $at, 0xbfe0
/* 1033D0 802E1B50 44810800 */ mtc1 $at, $f1
/* 1033D4 802E1B54 44800000 */ mtc1 $zero, $f0
/* 1033D8 802E1B58 460010A1 */ cvt.d.s $f2, $f2
/* 1033DC 802E1B5C 46201082 */ mul.d $f2, $f2, $f0
/* 1033E0 802E1B60 00000000 */ nop
/* 1033E4 802E1B64 C6000018 */ lwc1 $f0, 0x18($s0)
/* 1033E8 802E1B68 462011A0 */ cvt.s.d $f6, $f2
/* 1033EC 802E1B6C 46060000 */ add.s $f0, $f0, $f6
/* 1033F0 802E1B70 C6220058 */ lwc1 $f2, 0x58($s1)
/* 1033F4 802E1B74 46020001 */ sub.s $f0, $f0, $f2
/* 1033F8 802E1B78 3C014014 */ lui $at, 0x4014
/* 1033FC 802E1B7C 44811800 */ mtc1 $at, $f3
/* 103400 802E1B80 44801000 */ mtc1 $zero, $f2
/* 103404 802E1B84 46000021 */ cvt.d.s $f0, $f0
/* 103408 802E1B88 46220003 */ div.d $f0, $f0, $f2
/* 10340C 802E1B8C 46200120 */ cvt.s.d $f4, $f0
/* 103410 802E1B90 3C01802F */ lui $at, %hi(D_802EB088)
/* 103414 802E1B94 D422B088 */ ldc1 $f2, %lo(D_802EB088)($at)
/* 103418 802E1B98 46002021 */ cvt.d.s $f0, $f4
/* 10341C 802E1B9C 4620103C */ c.lt.d $f2, $f0
/* 103420 802E1BA0 00000000 */ nop
/* 103424 802E1BA4 45000004 */ bc1f .L802E1BB8
/* 103428 802E1BA8 00000000 */ nop
/* 10342C 802E1BAC 3C01BC23 */ lui $at, 0xbc23
/* 103430 802E1BB0 3421D70A */ ori $at, $at, 0xd70a
/* 103434 802E1BB4 44812000 */ mtc1 $at, $f4
.L802E1BB8:
/* 103438 802E1BB8 C6000008 */ lwc1 $f0, 8($s0)
/* 10343C 802E1BBC 46040000 */ add.s $f0, $f0, $f4
/* 103440 802E1BC0 E6000008 */ swc1 $f0, 8($s0)
/* 103444 802E1BC4 C6220058 */ lwc1 $f2, 0x58($s1)
/* 103448 802E1BC8 46001080 */ add.s $f2, $f2, $f0
/* 10344C 802E1BCC E6220058 */ swc1 $f2, 0x58($s1)
/* 103450 802E1BD0 C6000018 */ lwc1 $f0, 0x18($s0)
/* 103454 802E1BD4 46060000 */ add.s $f0, $f0, $f6
/* 103458 802E1BD8 4600103E */ c.le.s $f2, $f0
/* 10345C 802E1BDC 00000000 */ nop
/* 103460 802E1BE0 450000A3 */ bc1f .L802E1E70
/* 103464 802E1BE4 00000000 */ nop
/* 103468 802E1BE8 080B8796 */ j .L802E1E58
/* 10346C 802E1BEC 00000000 */ nop
glabel L802E1BF0_103470
/* 103470 802E1BF0 C602001C */ lwc1 $f2, 0x1c($s0)
/* 103474 802E1BF4 3C01802F */ lui $at, %hi(D_802EB090)
/* 103478 802E1BF8 D420B090 */ ldc1 $f0, %lo(D_802EB090)($at)
/* 10347C 802E1BFC 460010A1 */ cvt.d.s $f2, $f2
/* 103480 802E1C00 46201082 */ mul.d $f2, $f2, $f0
/* 103484 802E1C04 00000000 */ nop
/* 103488 802E1C08 C6000018 */ lwc1 $f0, 0x18($s0)
/* 10348C 802E1C0C 462011A0 */ cvt.s.d $f6, $f2
/* 103490 802E1C10 46060000 */ add.s $f0, $f0, $f6
/* 103494 802E1C14 C6220058 */ lwc1 $f2, 0x58($s1)
/* 103498 802E1C18 46020001 */ sub.s $f0, $f0, $f2
/* 10349C 802E1C1C 3C014024 */ lui $at, 0x4024
/* 1034A0 802E1C20 44811800 */ mtc1 $at, $f3
/* 1034A4 802E1C24 44801000 */ mtc1 $zero, $f2
/* 1034A8 802E1C28 46000021 */ cvt.d.s $f0, $f0
/* 1034AC 802E1C2C 46220003 */ div.d $f0, $f0, $f2
/* 1034B0 802E1C30 46200120 */ cvt.s.d $f4, $f0
/* 1034B4 802E1C34 3C01802F */ lui $at, %hi(D_802EB098)
/* 1034B8 802E1C38 D422B098 */ ldc1 $f2, %lo(D_802EB098)($at)
/* 1034BC 802E1C3C 46002021 */ cvt.d.s $f0, $f4
/* 1034C0 802E1C40 4622003C */ c.lt.d $f0, $f2
/* 1034C4 802E1C44 00000000 */ nop
/* 1034C8 802E1C48 45000004 */ bc1f .L802E1C5C
/* 1034CC 802E1C4C 00000000 */ nop
/* 1034D0 802E1C50 3C013C23 */ lui $at, 0x3c23
/* 1034D4 802E1C54 3421D70A */ ori $at, $at, 0xd70a
/* 1034D8 802E1C58 44812000 */ mtc1 $at, $f4
.L802E1C5C:
/* 1034DC 802E1C5C C6000008 */ lwc1 $f0, 8($s0)
/* 1034E0 802E1C60 46040000 */ add.s $f0, $f0, $f4
/* 1034E4 802E1C64 E6000008 */ swc1 $f0, 8($s0)
/* 1034E8 802E1C68 C6220058 */ lwc1 $f2, 0x58($s1)
/* 1034EC 802E1C6C 46001080 */ add.s $f2, $f2, $f0
/* 1034F0 802E1C70 E6220058 */ swc1 $f2, 0x58($s1)
/* 1034F4 802E1C74 C6000018 */ lwc1 $f0, 0x18($s0)
/* 1034F8 802E1C78 46060000 */ add.s $f0, $f0, $f6
/* 1034FC 802E1C7C 4602003E */ c.le.s $f0, $f2
/* 103500 802E1C80 00000000 */ nop
/* 103504 802E1C84 4500007A */ bc1f .L802E1E70
/* 103508 802E1C88 00000000 */ nop
/* 10350C 802E1C8C 080B8796 */ j .L802E1E58
/* 103510 802E1C90 00000000 */ nop
glabel L802E1C94_103514
/* 103514 802E1C94 C602001C */ lwc1 $f2, 0x1c($s0)
/* 103518 802E1C98 3C01802F */ lui $at, %hi(D_802EB0A0)
/* 10351C 802E1C9C D420B0A0 */ ldc1 $f0, %lo(D_802EB0A0)($at)
/* 103520 802E1CA0 460010A1 */ cvt.d.s $f2, $f2
/* 103524 802E1CA4 46201082 */ mul.d $f2, $f2, $f0
/* 103528 802E1CA8 00000000 */ nop
/* 10352C 802E1CAC C6000018 */ lwc1 $f0, 0x18($s0)
/* 103530 802E1CB0 462011A0 */ cvt.s.d $f6, $f2
/* 103534 802E1CB4 46060000 */ add.s $f0, $f0, $f6
/* 103538 802E1CB8 C6220058 */ lwc1 $f2, 0x58($s1)
/* 10353C 802E1CBC 46020001 */ sub.s $f0, $f0, $f2
/* 103540 802E1CC0 3C014014 */ lui $at, 0x4014
/* 103544 802E1CC4 44811800 */ mtc1 $at, $f3
/* 103548 802E1CC8 44801000 */ mtc1 $zero, $f2
/* 10354C 802E1CCC 46000021 */ cvt.d.s $f0, $f0
/* 103550 802E1CD0 46220003 */ div.d $f0, $f0, $f2
/* 103554 802E1CD4 46200120 */ cvt.s.d $f4, $f0
/* 103558 802E1CD8 3C01802F */ lui $at, %hi(D_802EB0A8)
/* 10355C 802E1CDC D422B0A8 */ ldc1 $f2, %lo(D_802EB0A8)($at)
/* 103560 802E1CE0 46002021 */ cvt.d.s $f0, $f4
/* 103564 802E1CE4 4620103C */ c.lt.d $f2, $f0
/* 103568 802E1CE8 00000000 */ nop
/* 10356C 802E1CEC 45000004 */ bc1f .L802E1D00
/* 103570 802E1CF0 00000000 */ nop
/* 103574 802E1CF4 3C01BC23 */ lui $at, 0xbc23
/* 103578 802E1CF8 3421D70A */ ori $at, $at, 0xd70a
/* 10357C 802E1CFC 44812000 */ mtc1 $at, $f4
.L802E1D00:
/* 103580 802E1D00 C6000008 */ lwc1 $f0, 8($s0)
/* 103584 802E1D04 46040000 */ add.s $f0, $f0, $f4
/* 103588 802E1D08 E6000008 */ swc1 $f0, 8($s0)
/* 10358C 802E1D0C C6220058 */ lwc1 $f2, 0x58($s1)
/* 103590 802E1D10 46001080 */ add.s $f2, $f2, $f0
/* 103594 802E1D14 E6220058 */ swc1 $f2, 0x58($s1)
/* 103598 802E1D18 C6000018 */ lwc1 $f0, 0x18($s0)
/* 10359C 802E1D1C 46060000 */ add.s $f0, $f0, $f6
/* 1035A0 802E1D20 4600103E */ c.le.s $f2, $f0
/* 1035A4 802E1D24 00000000 */ nop
/* 1035A8 802E1D28 45000051 */ bc1f .L802E1E70
/* 1035AC 802E1D2C 00000000 */ nop
/* 1035B0 802E1D30 080B8796 */ j .L802E1E58
/* 1035B4 802E1D34 00000000 */ nop
glabel L802E1D38_1035B8
/* 1035B8 802E1D38 C602001C */ lwc1 $f2, 0x1c($s0)
/* 1035BC 802E1D3C 44800000 */ mtc1 $zero, $f0
/* 1035C0 802E1D40 44800800 */ mtc1 $zero, $f1
/* 1035C4 802E1D44 460010A1 */ cvt.d.s $f2, $f2
/* 1035C8 802E1D48 46201082 */ mul.d $f2, $f2, $f0
/* 1035CC 802E1D4C 00000000 */ nop
/* 1035D0 802E1D50 C6000018 */ lwc1 $f0, 0x18($s0)
/* 1035D4 802E1D54 462011A0 */ cvt.s.d $f6, $f2
/* 1035D8 802E1D58 46060000 */ add.s $f0, $f0, $f6
/* 1035DC 802E1D5C C6220058 */ lwc1 $f2, 0x58($s1)
/* 1035E0 802E1D60 46020001 */ sub.s $f0, $f0, $f2
/* 1035E4 802E1D64 3C014024 */ lui $at, 0x4024
/* 1035E8 802E1D68 44811800 */ mtc1 $at, $f3
/* 1035EC 802E1D6C 44801000 */ mtc1 $zero, $f2
/* 1035F0 802E1D70 46000021 */ cvt.d.s $f0, $f0
/* 1035F4 802E1D74 46220003 */ div.d $f0, $f0, $f2
/* 1035F8 802E1D78 46200120 */ cvt.s.d $f4, $f0
/* 1035FC 802E1D7C 3C01802F */ lui $at, %hi(D_802EB0B0)
/* 103600 802E1D80 D422B0B0 */ ldc1 $f2, %lo(D_802EB0B0)($at)
/* 103604 802E1D84 46002021 */ cvt.d.s $f0, $f4
/* 103608 802E1D88 4622003C */ c.lt.d $f0, $f2
/* 10360C 802E1D8C 00000000 */ nop
/* 103610 802E1D90 45000004 */ bc1f .L802E1DA4
/* 103614 802E1D94 00000000 */ nop
/* 103618 802E1D98 3C013C23 */ lui $at, 0x3c23
/* 10361C 802E1D9C 3421D70A */ ori $at, $at, 0xd70a
/* 103620 802E1DA0 44812000 */ mtc1 $at, $f4
.L802E1DA4:
/* 103624 802E1DA4 C6000008 */ lwc1 $f0, 8($s0)
/* 103628 802E1DA8 46040000 */ add.s $f0, $f0, $f4
/* 10362C 802E1DAC E6000008 */ swc1 $f0, 8($s0)
/* 103630 802E1DB0 C6220058 */ lwc1 $f2, 0x58($s1)
/* 103634 802E1DB4 46001080 */ add.s $f2, $f2, $f0
/* 103638 802E1DB8 E6220058 */ swc1 $f2, 0x58($s1)
/* 10363C 802E1DBC C6000018 */ lwc1 $f0, 0x18($s0)
/* 103640 802E1DC0 46060000 */ add.s $f0, $f0, $f6
/* 103644 802E1DC4 4602003E */ c.le.s $f0, $f2
/* 103648 802E1DC8 00000000 */ nop
/* 10364C 802E1DCC 45000028 */ bc1f .L802E1E70
/* 103650 802E1DD0 00000000 */ nop
/* 103654 802E1DD4 080B8796 */ j .L802E1E58
/* 103658 802E1DD8 00000000 */ nop
glabel L802E1DDC_10365C
/* 10365C 802E1DDC C6000018 */ lwc1 $f0, 0x18($s0)
/* 103660 802E1DE0 C6220058 */ lwc1 $f2, 0x58($s1)
/* 103664 802E1DE4 46020001 */ sub.s $f0, $f0, $f2
/* 103668 802E1DE8 3C014014 */ lui $at, 0x4014
/* 10366C 802E1DEC 44811800 */ mtc1 $at, $f3
/* 103670 802E1DF0 44801000 */ mtc1 $zero, $f2
/* 103674 802E1DF4 46000021 */ cvt.d.s $f0, $f0
/* 103678 802E1DF8 46220003 */ div.d $f0, $f0, $f2
/* 10367C 802E1DFC 46200120 */ cvt.s.d $f4, $f0
/* 103680 802E1E00 3C01802F */ lui $at, %hi(D_802EB0B8)
/* 103684 802E1E04 D422B0B8 */ ldc1 $f2, %lo(D_802EB0B8)($at)
/* 103688 802E1E08 46002021 */ cvt.d.s $f0, $f4
/* 10368C 802E1E0C 4620103C */ c.lt.d $f2, $f0
/* 103690 802E1E10 00000000 */ nop
/* 103694 802E1E14 45000004 */ bc1f .L802E1E28
/* 103698 802E1E18 00000000 */ nop
/* 10369C 802E1E1C 3C01BC23 */ lui $at, 0xbc23
/* 1036A0 802E1E20 3421D70A */ ori $at, $at, 0xd70a
/* 1036A4 802E1E24 44812000 */ mtc1 $at, $f4
.L802E1E28:
/* 1036A8 802E1E28 C6000008 */ lwc1 $f0, 8($s0)
/* 1036AC 802E1E2C 46040000 */ add.s $f0, $f0, $f4
/* 1036B0 802E1E30 E6000008 */ swc1 $f0, 8($s0)
/* 1036B4 802E1E34 C6220058 */ lwc1 $f2, 0x58($s1)
/* 1036B8 802E1E38 46001080 */ add.s $f2, $f2, $f0
/* 1036BC 802E1E3C E6220058 */ swc1 $f2, 0x58($s1)
/* 1036C0 802E1E40 C6000018 */ lwc1 $f0, 0x18($s0)
/* 1036C4 802E1E44 4600103E */ c.le.s $f2, $f0
/* 1036C8 802E1E48 00000000 */ nop
/* 1036CC 802E1E4C 45000008 */ bc1f .L802E1E70
/* 1036D0 802E1E50 00000000 */ nop
/* 1036D4 802E1E54 E6200058 */ swc1 $f0, 0x58($s1)
.L802E1E58:
/* 1036D8 802E1E58 92020011 */ lbu $v0, 0x11($s0)
/* 1036DC 802E1E5C AE000008 */ sw $zero, 8($s0)
/* 1036E0 802E1E60 24420001 */ addiu $v0, $v0, 1
/* 1036E4 802E1E64 080B879C */ j .L802E1E70
/* 1036E8 802E1E68 A2020011 */ sb $v0, 0x11($s0)
glabel L802E1E6C_1036EC
/* 1036EC 802E1E6C 26520001 */ addiu $s2, $s2, 1
.L802E1E70:
/* 1036F0 802E1E70 0C0B854F */ jal func_802E153C
/* 1036F4 802E1E74 0220202D */ daddu $a0, $s1, $zero
/* 1036F8 802E1E78 24020002 */ addiu $v0, $zero, 2
/* 1036FC 802E1E7C 16420004 */ bne $s2, $v0, .L802E1E90
/* 103700 802E1E80 0220202D */ daddu $a0, $s1, $zero
/* 103704 802E1E84 A2000010 */ sb $zero, 0x10($s0)
/* 103708 802E1E88 0C043F5A */ jal func_8010FD68
/* 10370C 802E1E8C A2000011 */ sb $zero, 0x11($s0)
.L802E1E90:
/* 103710 802E1E90 8FBF001C */ lw $ra, 0x1c($sp)
/* 103714 802E1E94 8FB20018 */ lw $s2, 0x18($sp)
/* 103718 802E1E98 8FB10014 */ lw $s1, 0x14($sp)
/* 10371C 802E1E9C 8FB00010 */ lw $s0, 0x10($sp)
/* 103720 802E1EA0 03E00008 */ jr $ra
/* 103724 802E1EA4 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,310 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E1EDC
/* 10375C 802E1EDC 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 103760 802E1EE0 AFB1001C */ sw $s1, 0x1c($sp)
/* 103764 802E1EE4 0080882D */ daddu $s1, $a0, $zero
/* 103768 802E1EE8 AFBF0024 */ sw $ra, 0x24($sp)
/* 10376C 802E1EEC AFB20020 */ sw $s2, 0x20($sp)
/* 103770 802E1EF0 AFB00018 */ sw $s0, 0x18($sp)
/* 103774 802E1EF4 8E300040 */ lw $s0, 0x40($s1)
/* 103778 802E1EF8 82030010 */ lb $v1, 0x10($s0)
/* 10377C 802E1EFC 2C620005 */ sltiu $v0, $v1, 5
/* 103780 802E1F00 10400087 */ beqz $v0, .L802E2120
/* 103784 802E1F04 0000902D */ daddu $s2, $zero, $zero
/* 103788 802E1F08 00031080 */ sll $v0, $v1, 2
/* 10378C 802E1F0C 3C01802F */ lui $at, %hi(jtbl_802EB0C0_10C940)
/* 103790 802E1F10 00220821 */ addu $at, $at, $v0
/* 103794 802E1F14 8C22B0C0 */ lw $v0, %lo(jtbl_802EB0C0_10C940)($at)
/* 103798 802E1F18 00400008 */ jr $v0
/* 10379C 802E1F1C 00000000 */ nop
glabel L802E1F20_1037A0
/* 1037A0 802E1F20 C602001C */ lwc1 $f2, 0x1c($s0)
/* 1037A4 802E1F24 3C01802F */ lui $at, %hi(D_802EB0D8)
/* 1037A8 802E1F28 D420B0D8 */ ldc1 $f0, %lo(D_802EB0D8)($at)
/* 1037AC 802E1F2C 460010A1 */ cvt.d.s $f2, $f2
/* 1037B0 802E1F30 46201082 */ mul.d $f2, $f2, $f0
/* 1037B4 802E1F34 00000000 */ nop
/* 1037B8 802E1F38 C6000014 */ lwc1 $f0, 0x14($s0)
/* 1037BC 802E1F3C 462011A0 */ cvt.s.d $f6, $f2
/* 1037C0 802E1F40 46060000 */ add.s $f0, $f0, $f6
/* 1037C4 802E1F44 C6220054 */ lwc1 $f2, 0x54($s1)
/* 1037C8 802E1F48 46020001 */ sub.s $f0, $f0, $f2
/* 1037CC 802E1F4C 3C013FD0 */ lui $at, 0x3fd0
/* 1037D0 802E1F50 44811800 */ mtc1 $at, $f3
/* 1037D4 802E1F54 44801000 */ mtc1 $zero, $f2
/* 1037D8 802E1F58 46000021 */ cvt.d.s $f0, $f0
/* 1037DC 802E1F5C 46220002 */ mul.d $f0, $f0, $f2
/* 1037E0 802E1F60 00000000 */ nop
/* 1037E4 802E1F64 3C01802F */ lui $at, %hi(D_802EB0E0)
/* 1037E8 802E1F68 D422B0E0 */ ldc1 $f2, %lo(D_802EB0E0)($at)
/* 1037EC 802E1F6C 46200120 */ cvt.s.d $f4, $f0
/* 1037F0 802E1F70 46002021 */ cvt.d.s $f0, $f4
/* 1037F4 802E1F74 4622003C */ c.lt.d $f0, $f2
/* 1037F8 802E1F78 00000000 */ nop
/* 1037FC 802E1F7C 45000004 */ bc1f .L802E1F90
/* 103800 802E1F80 00000000 */ nop
/* 103804 802E1F84 3C013C23 */ lui $at, 0x3c23
/* 103808 802E1F88 3421D70A */ ori $at, $at, 0xd70a
/* 10380C 802E1F8C 44812000 */ mtc1 $at, $f4
.L802E1F90:
/* 103810 802E1F90 C6000004 */ lwc1 $f0, 4($s0)
/* 103814 802E1F94 46040000 */ add.s $f0, $f0, $f4
/* 103818 802E1F98 E6000004 */ swc1 $f0, 4($s0)
/* 10381C 802E1F9C C6220054 */ lwc1 $f2, 0x54($s1)
/* 103820 802E1FA0 46001080 */ add.s $f2, $f2, $f0
/* 103824 802E1FA4 E6220054 */ swc1 $f2, 0x54($s1)
/* 103828 802E1FA8 C6000014 */ lwc1 $f0, 0x14($s0)
/* 10382C 802E1FAC 46060000 */ add.s $f0, $f0, $f6
/* 103830 802E1FB0 4602003E */ c.le.s $f0, $f2
/* 103834 802E1FB4 080B8840 */ j .L802E2100
/* 103838 802E1FB8 00000000 */ nop
glabel L802E1FBC_10383C
/* 10383C 802E1FBC C602001C */ lwc1 $f2, 0x1c($s0)
/* 103840 802E1FC0 3C01802F */ lui $at, %hi(D_802EB0E8)
/* 103844 802E1FC4 D420B0E8 */ ldc1 $f0, %lo(D_802EB0E8)($at)
/* 103848 802E1FC8 080B881F */ j .L802E207C
/* 10384C 802E1FCC 460010A1 */ cvt.d.s $f2, $f2
glabel L802E1FD0_103850
/* 103850 802E1FD0 C602001C */ lwc1 $f2, 0x1c($s0)
/* 103854 802E1FD4 3C01802F */ lui $at, %hi(D_802EB0F0)
/* 103858 802E1FD8 D420B0F0 */ ldc1 $f0, %lo(D_802EB0F0)($at)
/* 10385C 802E1FDC 460010A1 */ cvt.d.s $f2, $f2
/* 103860 802E1FE0 46201082 */ mul.d $f2, $f2, $f0
/* 103864 802E1FE4 00000000 */ nop
/* 103868 802E1FE8 C6000014 */ lwc1 $f0, 0x14($s0)
/* 10386C 802E1FEC 462011A0 */ cvt.s.d $f6, $f2
/* 103870 802E1FF0 46060000 */ add.s $f0, $f0, $f6
/* 103874 802E1FF4 C6220054 */ lwc1 $f2, 0x54($s1)
/* 103878 802E1FF8 46020001 */ sub.s $f0, $f0, $f2
/* 10387C 802E1FFC 3C013FD0 */ lui $at, 0x3fd0
/* 103880 802E2000 44811800 */ mtc1 $at, $f3
/* 103884 802E2004 44801000 */ mtc1 $zero, $f2
/* 103888 802E2008 46000021 */ cvt.d.s $f0, $f0
/* 10388C 802E200C 46220002 */ mul.d $f0, $f0, $f2
/* 103890 802E2010 00000000 */ nop
/* 103894 802E2014 3C01802F */ lui $at, %hi(D_802EB0F8)
/* 103898 802E2018 D422B0F8 */ ldc1 $f2, %lo(D_802EB0F8)($at)
/* 10389C 802E201C 46200120 */ cvt.s.d $f4, $f0
/* 1038A0 802E2020 46002021 */ cvt.d.s $f0, $f4
/* 1038A4 802E2024 4622003C */ c.lt.d $f0, $f2
/* 1038A8 802E2028 00000000 */ nop
/* 1038AC 802E202C 45000004 */ bc1f .L802E2040
/* 1038B0 802E2030 00000000 */ nop
/* 1038B4 802E2034 3C013C23 */ lui $at, 0x3c23
/* 1038B8 802E2038 3421D70A */ ori $at, $at, 0xd70a
/* 1038BC 802E203C 44812000 */ mtc1 $at, $f4
.L802E2040:
/* 1038C0 802E2040 C6000004 */ lwc1 $f0, 4($s0)
/* 1038C4 802E2044 46040000 */ add.s $f0, $f0, $f4
/* 1038C8 802E2048 E6000004 */ swc1 $f0, 4($s0)
/* 1038CC 802E204C C6220054 */ lwc1 $f2, 0x54($s1)
/* 1038D0 802E2050 46001080 */ add.s $f2, $f2, $f0
/* 1038D4 802E2054 E6220054 */ swc1 $f2, 0x54($s1)
/* 1038D8 802E2058 C6000014 */ lwc1 $f0, 0x14($s0)
/* 1038DC 802E205C 46060000 */ add.s $f0, $f0, $f6
/* 1038E0 802E2060 4602003E */ c.le.s $f0, $f2
/* 1038E4 802E2064 080B8840 */ j .L802E2100
/* 1038E8 802E2068 00000000 */ nop
glabel L802E206C_1038EC
/* 1038EC 802E206C C602001C */ lwc1 $f2, 0x1c($s0)
/* 1038F0 802E2070 3C01802F */ lui $at, %hi(D_802EB100)
/* 1038F4 802E2074 D420B100 */ ldc1 $f0, %lo(D_802EB100)($at)
/* 1038F8 802E2078 460010A1 */ cvt.d.s $f2, $f2
.L802E207C:
/* 1038FC 802E207C 46201082 */ mul.d $f2, $f2, $f0
/* 103900 802E2080 00000000 */ nop
/* 103904 802E2084 C6000014 */ lwc1 $f0, 0x14($s0)
/* 103908 802E2088 462011A0 */ cvt.s.d $f6, $f2
/* 10390C 802E208C 46060000 */ add.s $f0, $f0, $f6
/* 103910 802E2090 C6220054 */ lwc1 $f2, 0x54($s1)
/* 103914 802E2094 46020001 */ sub.s $f0, $f0, $f2
/* 103918 802E2098 3C014018 */ lui $at, 0x4018
/* 10391C 802E209C 44811800 */ mtc1 $at, $f3
/* 103920 802E20A0 44801000 */ mtc1 $zero, $f2
/* 103924 802E20A4 46000021 */ cvt.d.s $f0, $f0
/* 103928 802E20A8 46220003 */ div.d $f0, $f0, $f2
/* 10392C 802E20AC 46200120 */ cvt.s.d $f4, $f0
/* 103930 802E20B0 3C01802F */ lui $at, %hi(D_802EB108)
/* 103934 802E20B4 D422B108 */ ldc1 $f2, %lo(D_802EB108)($at)
/* 103938 802E20B8 46002021 */ cvt.d.s $f0, $f4
/* 10393C 802E20BC 4620103C */ c.lt.d $f2, $f0
/* 103940 802E20C0 00000000 */ nop
/* 103944 802E20C4 45000004 */ bc1f .L802E20D8
/* 103948 802E20C8 00000000 */ nop
/* 10394C 802E20CC 3C01BC23 */ lui $at, 0xbc23
/* 103950 802E20D0 3421D70A */ ori $at, $at, 0xd70a
/* 103954 802E20D4 44812000 */ mtc1 $at, $f4
.L802E20D8:
/* 103958 802E20D8 C6000004 */ lwc1 $f0, 4($s0)
/* 10395C 802E20DC 46040000 */ add.s $f0, $f0, $f4
/* 103960 802E20E0 E6000004 */ swc1 $f0, 4($s0)
/* 103964 802E20E4 C6220054 */ lwc1 $f2, 0x54($s1)
/* 103968 802E20E8 46001080 */ add.s $f2, $f2, $f0
/* 10396C 802E20EC E6220054 */ swc1 $f2, 0x54($s1)
/* 103970 802E20F0 C6000014 */ lwc1 $f0, 0x14($s0)
/* 103974 802E20F4 46060000 */ add.s $f0, $f0, $f6
/* 103978 802E20F8 4600103E */ c.le.s $f2, $f0
/* 10397C 802E20FC 00000000 */ nop
.L802E2100:
/* 103980 802E2100 45000007 */ bc1f .L802E2120
/* 103984 802E2104 00000000 */ nop
/* 103988 802E2108 92020010 */ lbu $v0, 0x10($s0)
/* 10398C 802E210C AE000004 */ sw $zero, 4($s0)
/* 103990 802E2110 24420001 */ addiu $v0, $v0, 1
/* 103994 802E2114 080B8848 */ j .L802E2120
/* 103998 802E2118 A2020010 */ sb $v0, 0x10($s0)
glabel L802E211C_10399C
/* 10399C 802E211C 26520001 */ addiu $s2, $s2, 1
.L802E2120:
/* 1039A0 802E2120 C6200054 */ lwc1 $f0, 0x54($s1)
/* 1039A4 802E2124 E620005C */ swc1 $f0, 0x5c($s1)
/* 1039A8 802E2128 82030011 */ lb $v1, 0x11($s0)
/* 1039AC 802E212C 24020001 */ addiu $v0, $zero, 1
/* 1039B0 802E2130 10620013 */ beq $v1, $v0, .L802E2180
/* 1039B4 802E2134 28620002 */ slti $v0, $v1, 2
/* 1039B8 802E2138 10400005 */ beqz $v0, .L802E2150
/* 1039BC 802E213C 24020002 */ addiu $v0, $zero, 2
/* 1039C0 802E2140 10600009 */ beqz $v1, .L802E2168
/* 1039C4 802E2144 00000000 */ nop
/* 1039C8 802E2148 080B88B1 */ j .L802E22C4
/* 1039CC 802E214C 00000000 */ nop
.L802E2150:
/* 1039D0 802E2150 10620031 */ beq $v1, $v0, .L802E2218
/* 1039D4 802E2154 24020003 */ addiu $v0, $zero, 3
/* 1039D8 802E2158 5062005A */ beql $v1, $v0, .L802E22C4
/* 1039DC 802E215C 26520001 */ addiu $s2, $s2, 1
/* 1039E0 802E2160 080B88B1 */ j .L802E22C4
/* 1039E4 802E2164 00000000 */ nop
.L802E2168:
/* 1039E8 802E2168 C602001C */ lwc1 $f2, 0x1c($s0)
/* 1039EC 802E216C 3C01BFE0 */ lui $at, 0xbfe0
/* 1039F0 802E2170 44810800 */ mtc1 $at, $f1
/* 1039F4 802E2174 44800000 */ mtc1 $zero, $f0
/* 1039F8 802E2178 080B888A */ j .L802E2228
/* 1039FC 802E217C 460010A1 */ cvt.d.s $f2, $f2
.L802E2180:
/* 103A00 802E2180 C602001C */ lwc1 $f2, 0x1c($s0)
/* 103A04 802E2184 3C01802F */ lui $at, %hi(D_802EB110)
/* 103A08 802E2188 D420B110 */ ldc1 $f0, %lo(D_802EB110)($at)
/* 103A0C 802E218C 460010A1 */ cvt.d.s $f2, $f2
/* 103A10 802E2190 46201082 */ mul.d $f2, $f2, $f0
/* 103A14 802E2194 00000000 */ nop
/* 103A18 802E2198 C6000018 */ lwc1 $f0, 0x18($s0)
/* 103A1C 802E219C 462011A0 */ cvt.s.d $f6, $f2
/* 103A20 802E21A0 46060000 */ add.s $f0, $f0, $f6
/* 103A24 802E21A4 C6220058 */ lwc1 $f2, 0x58($s1)
/* 103A28 802E21A8 46020001 */ sub.s $f0, $f0, $f2
/* 103A2C 802E21AC 3C014024 */ lui $at, 0x4024
/* 103A30 802E21B0 44811800 */ mtc1 $at, $f3
/* 103A34 802E21B4 44801000 */ mtc1 $zero, $f2
/* 103A38 802E21B8 46000021 */ cvt.d.s $f0, $f0
/* 103A3C 802E21BC 46220003 */ div.d $f0, $f0, $f2
/* 103A40 802E21C0 46200120 */ cvt.s.d $f4, $f0
/* 103A44 802E21C4 3C01802F */ lui $at, %hi(D_802EB118)
/* 103A48 802E21C8 D422B118 */ ldc1 $f2, %lo(D_802EB118)($at)
/* 103A4C 802E21CC 46002021 */ cvt.d.s $f0, $f4
/* 103A50 802E21D0 4622003C */ c.lt.d $f0, $f2
/* 103A54 802E21D4 00000000 */ nop
/* 103A58 802E21D8 45000004 */ bc1f .L802E21EC
/* 103A5C 802E21DC 00000000 */ nop
/* 103A60 802E21E0 3C013C23 */ lui $at, 0x3c23
/* 103A64 802E21E4 3421D70A */ ori $at, $at, 0xd70a
/* 103A68 802E21E8 44812000 */ mtc1 $at, $f4
.L802E21EC:
/* 103A6C 802E21EC C6000008 */ lwc1 $f0, 8($s0)
/* 103A70 802E21F0 46040000 */ add.s $f0, $f0, $f4
/* 103A74 802E21F4 E6000008 */ swc1 $f0, 8($s0)
/* 103A78 802E21F8 C6220058 */ lwc1 $f2, 0x58($s1)
/* 103A7C 802E21FC 46001080 */ add.s $f2, $f2, $f0
/* 103A80 802E2200 E6220058 */ swc1 $f2, 0x58($s1)
/* 103A84 802E2204 C6000018 */ lwc1 $f0, 0x18($s0)
/* 103A88 802E2208 46060000 */ add.s $f0, $f0, $f6
/* 103A8C 802E220C 4602003E */ c.le.s $f0, $f2
/* 103A90 802E2210 080B88AB */ j .L802E22AC
/* 103A94 802E2214 00000000 */ nop
.L802E2218:
/* 103A98 802E2218 C602001C */ lwc1 $f2, 0x1c($s0)
/* 103A9C 802E221C 3C01802F */ lui $at, %hi(D_802EB120)
/* 103AA0 802E2220 D420B120 */ ldc1 $f0, %lo(D_802EB120)($at)
/* 103AA4 802E2224 460010A1 */ cvt.d.s $f2, $f2
.L802E2228:
/* 103AA8 802E2228 46201082 */ mul.d $f2, $f2, $f0
/* 103AAC 802E222C 00000000 */ nop
/* 103AB0 802E2230 C6000018 */ lwc1 $f0, 0x18($s0)
/* 103AB4 802E2234 462011A0 */ cvt.s.d $f6, $f2
/* 103AB8 802E2238 46060000 */ add.s $f0, $f0, $f6
/* 103ABC 802E223C C6220058 */ lwc1 $f2, 0x58($s1)
/* 103AC0 802E2240 46020001 */ sub.s $f0, $f0, $f2
/* 103AC4 802E2244 3C014014 */ lui $at, 0x4014
/* 103AC8 802E2248 44811800 */ mtc1 $at, $f3
/* 103ACC 802E224C 44801000 */ mtc1 $zero, $f2
/* 103AD0 802E2250 46000021 */ cvt.d.s $f0, $f0
/* 103AD4 802E2254 46220003 */ div.d $f0, $f0, $f2
/* 103AD8 802E2258 46200120 */ cvt.s.d $f4, $f0
/* 103ADC 802E225C 3C01802F */ lui $at, %hi(D_802EB128)
/* 103AE0 802E2260 D422B128 */ ldc1 $f2, %lo(D_802EB128)($at)
/* 103AE4 802E2264 46002021 */ cvt.d.s $f0, $f4
/* 103AE8 802E2268 4620103C */ c.lt.d $f2, $f0
/* 103AEC 802E226C 00000000 */ nop
/* 103AF0 802E2270 45000004 */ bc1f .L802E2284
/* 103AF4 802E2274 00000000 */ nop
/* 103AF8 802E2278 3C01BC23 */ lui $at, 0xbc23
/* 103AFC 802E227C 3421D70A */ ori $at, $at, 0xd70a
/* 103B00 802E2280 44812000 */ mtc1 $at, $f4
.L802E2284:
/* 103B04 802E2284 C6000008 */ lwc1 $f0, 8($s0)
/* 103B08 802E2288 46040000 */ add.s $f0, $f0, $f4
/* 103B0C 802E228C E6000008 */ swc1 $f0, 8($s0)
/* 103B10 802E2290 C6220058 */ lwc1 $f2, 0x58($s1)
/* 103B14 802E2294 46001080 */ add.s $f2, $f2, $f0
/* 103B18 802E2298 E6220058 */ swc1 $f2, 0x58($s1)
/* 103B1C 802E229C C6000018 */ lwc1 $f0, 0x18($s0)
/* 103B20 802E22A0 46060000 */ add.s $f0, $f0, $f6
/* 103B24 802E22A4 4600103E */ c.le.s $f2, $f0
/* 103B28 802E22A8 00000000 */ nop
.L802E22AC:
/* 103B2C 802E22AC 45000005 */ bc1f .L802E22C4
/* 103B30 802E22B0 00000000 */ nop
/* 103B34 802E22B4 92020011 */ lbu $v0, 0x11($s0)
/* 103B38 802E22B8 AE000008 */ sw $zero, 8($s0)
/* 103B3C 802E22BC 24420001 */ addiu $v0, $v0, 1
/* 103B40 802E22C0 A2020011 */ sb $v0, 0x11($s0)
.L802E22C4:
/* 103B44 802E22C4 0C0B854F */ jal func_802E153C
/* 103B48 802E22C8 0220202D */ daddu $a0, $s1, $zero
/* 103B4C 802E22CC 24020002 */ addiu $v0, $zero, 2
/* 103B50 802E22D0 16420004 */ bne $s2, $v0, .L802E22E4
/* 103B54 802E22D4 0220202D */ daddu $a0, $s1, $zero
/* 103B58 802E22D8 A2000010 */ sb $zero, 0x10($s0)
/* 103B5C 802E22DC 0C043F5A */ jal func_8010FD68
/* 103B60 802E22E0 A2000011 */ sb $zero, 0x11($s0)
.L802E22E4:
/* 103B64 802E22E4 96020024 */ lhu $v0, 0x24($s0)
/* 103B68 802E22E8 2403000A */ addiu $v1, $zero, 0xa
/* 103B6C 802E22EC 24420001 */ addiu $v0, $v0, 1
/* 103B70 802E22F0 A6020024 */ sh $v0, 0x24($s0)
/* 103B74 802E22F4 00021400 */ sll $v0, $v0, 0x10
/* 103B78 802E22F8 00021403 */ sra $v0, $v0, 0x10
/* 103B7C 802E22FC 1443000D */ bne $v0, $v1, .L802E2334
/* 103B80 802E2300 00000000 */ nop
/* 103B84 802E2304 8E020028 */ lw $v0, 0x28($s0)
/* 103B88 802E2308 1440000A */ bnez $v0, .L802E2334
/* 103B8C 802E230C 2402003C */ addiu $v0, $zero, 0x3c
/* 103B90 802E2310 3C013F80 */ lui $at, 0x3f80
/* 103B94 802E2314 44810000 */ mtc1 $at, $f0
/* 103B98 802E2318 AFA20014 */ sw $v0, 0x14($sp)
/* 103B9C 802E231C E7A00010 */ swc1 $f0, 0x10($sp)
/* 103BA0 802E2320 8E250048 */ lw $a1, 0x48($s1)
/* 103BA4 802E2324 8E26004C */ lw $a2, 0x4c($s1)
/* 103BA8 802E2328 8E270050 */ lw $a3, 0x50($s1)
/* 103BAC 802E232C 0C01C88C */ jal func_80072230
/* 103BB0 802E2330 0000202D */ daddu $a0, $zero, $zero
.L802E2334:
/* 103BB4 802E2334 8FBF0024 */ lw $ra, 0x24($sp)
/* 103BB8 802E2338 8FB20020 */ lw $s2, 0x20($sp)
/* 103BBC 802E233C 8FB1001C */ lw $s1, 0x1c($sp)
/* 103BC0 802E2340 8FB00018 */ lw $s0, 0x18($sp)
/* 103BC4 802E2344 03E00008 */ jr $ra
/* 103BC8 802E2348 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,125 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E246C
/* 103CEC 802E246C 27BDFF40 */ addiu $sp, $sp, -0xc0
/* 103CF0 802E2470 AFB500A4 */ sw $s5, 0xa4($sp)
/* 103CF4 802E2474 0080A82D */ daddu $s5, $a0, $zero
/* 103CF8 802E2478 AFB600A8 */ sw $s6, 0xa8($sp)
/* 103CFC 802E247C 00C0B02D */ daddu $s6, $a2, $zero
/* 103D00 802E2480 27A40050 */ addiu $a0, $sp, 0x50
/* 103D04 802E2484 30A5FFFF */ andi $a1, $a1, 0xffff
/* 103D08 802E2488 AFBF00B0 */ sw $ra, 0xb0($sp)
/* 103D0C 802E248C AFB700AC */ sw $s7, 0xac($sp)
/* 103D10 802E2490 AFB400A0 */ sw $s4, 0xa0($sp)
/* 103D14 802E2494 AFB3009C */ sw $s3, 0x9c($sp)
/* 103D18 802E2498 AFB20098 */ sw $s2, 0x98($sp)
/* 103D1C 802E249C AFB10094 */ sw $s1, 0x94($sp)
/* 103D20 802E24A0 AFB00090 */ sw $s0, 0x90($sp)
/* 103D24 802E24A4 F7B400B8 */ sdc1 $f20, 0xb8($sp)
/* 103D28 802E24A8 8EA20044 */ lw $v0, 0x44($s5)
/* 103D2C 802E24AC 8EB00040 */ lw $s0, 0x40($s5)
/* 103D30 802E24B0 00451021 */ addu $v0, $v0, $a1
/* 103D34 802E24B4 AE020034 */ sw $v0, 0x34($s0)
/* 103D38 802E24B8 3C02802E */ lui $v0, %hi(func_802E2BA4)
/* 103D3C 802E24BC 24422BA4 */ addiu $v0, $v0, %lo(func_802E2BA4)
/* 103D40 802E24C0 AEA2003C */ sw $v0, 0x3c($s5)
/* 103D44 802E24C4 240200FF */ addiu $v0, $zero, 0xff
/* 103D48 802E24C8 A2A2000B */ sb $v0, 0xb($s5)
/* 103D4C 802E24CC C6000038 */ lwc1 $f0, 0x38($s0)
/* 103D50 802E24D0 8EA50048 */ lw $a1, 0x48($s5)
/* 103D54 802E24D4 8EA70050 */ lw $a3, 0x50($s5)
/* 103D58 802E24D8 44060000 */ mfc1 $a2, $f0
/* 103D5C 802E24DC 24170002 */ addiu $s7, $zero, 2
/* 103D60 802E24E0 0C019E40 */ jal guTranslateF
/* 103D64 802E24E4 AEA6004C */ sw $a2, 0x4c($s5)
/* 103D68 802E24E8 0C044AC8 */ jal func_80112B20
/* 103D6C 802E24EC 02A0202D */ daddu $a0, $s5, $zero
/* 103D70 802E24F0 50400001 */ beql $v0, $zero, .L802E24F8
/* 103D74 802E24F4 24170001 */ addiu $s7, $zero, 1
.L802E24F8:
/* 103D78 802E24F8 0000A02D */ daddu $s4, $zero, $zero
/* 103D7C 802E24FC 0200902D */ daddu $s2, $s0, $zero
/* 103D80 802E2500 0240882D */ daddu $s1, $s2, $zero
/* 103D84 802E2504 0240982D */ daddu $s3, $s2, $zero
/* 103D88 802E2508 240200FF */ addiu $v0, $zero, 0xff
/* 103D8C 802E250C A640003E */ sh $zero, 0x3e($s2)
/* 103D90 802E2510 A642003C */ sh $v0, 0x3c($s2)
.L802E2514:
/* 103D94 802E2514 32C2FFFF */ andi $v0, $s6, 0xffff
/* 103D98 802E2518 26D60040 */ addiu $s6, $s6, 0x40
/* 103D9C 802E251C 8EA50044 */ lw $a1, 0x44($s5)
/* 103DA0 802E2520 27A40010 */ addiu $a0, $sp, 0x10
/* 103DA4 802E2524 0C019D60 */ jal guMtxL2F
/* 103DA8 802E2528 00A22821 */ addu $a1, $a1, $v0
/* 103DAC 802E252C 27A40050 */ addiu $a0, $sp, 0x50
/* 103DB0 802E2530 27A50010 */ addiu $a1, $sp, 0x10
/* 103DB4 802E2534 0C019D80 */ jal guMtxCatF
/* 103DB8 802E2538 00A0302D */ daddu $a2, $a1, $zero
/* 103DBC 802E253C C7A00040 */ lwc1 $f0, 0x40($sp)
/* 103DC0 802E2540 E64000C0 */ swc1 $f0, 0xc0($s2)
/* 103DC4 802E2544 C7A00044 */ lwc1 $f0, 0x44($sp)
/* 103DC8 802E2548 E6400124 */ swc1 $f0, 0x124($s2)
/* 103DCC 802E254C C7A00048 */ lwc1 $f0, 0x48($sp)
/* 103DD0 802E2550 240400FF */ addiu $a0, $zero, 0xff
/* 103DD4 802E2554 0C00A67F */ jal rand_int
/* 103DD8 802E2558 E6400188 */ swc1 $f0, 0x188($s2)
/* 103DDC 802E255C 00021023 */ negu $v0, $v0
/* 103DE0 802E2560 A2220072 */ sb $v0, 0x72($s1)
/* 103DE4 802E2564 24020001 */ addiu $v0, $zero, 1
/* 103DE8 802E2568 16E20008 */ bne $s7, $v0, .L802E258C
/* 103DEC 802E256C 24100028 */ addiu $s0, $zero, 0x28
/* 103DF0 802E2570 24100014 */ addiu $s0, $zero, 0x14
/* 103DF4 802E2574 96620000 */ lhu $v0, ($s3)
/* 103DF8 802E2578 3C0140CC */ lui $at, 0x40cc
/* 103DFC 802E257C 3421CCCD */ ori $at, $at, 0xcccd
/* 103E00 802E2580 4481A000 */ mtc1 $at, $f20
/* 103E04 802E2584 080B8968 */ j .L802E25A0
/* 103E08 802E2588 34420001 */ ori $v0, $v0, 1
.L802E258C:
/* 103E0C 802E258C 96620000 */ lhu $v0, ($s3)
/* 103E10 802E2590 3C014109 */ lui $at, 0x4109
/* 103E14 802E2594 3421999A */ ori $at, $at, 0x999a
/* 103E18 802E2598 4481A000 */ mtc1 $at, $f20
/* 103E1C 802E259C 34420002 */ ori $v0, $v0, 2
.L802E25A0:
/* 103E20 802E25A0 A6620000 */ sh $v0, ($s3)
/* 103E24 802E25A4 0C00A67F */ jal rand_int
/* 103E28 802E25A8 2404000A */ addiu $a0, $zero, 0xa
/* 103E2C 802E25AC 02028021 */ addu $s0, $s0, $v0
/* 103E30 802E25B0 32820001 */ andi $v0, $s4, 1
/* 103E34 802E25B4 14400003 */ bnez $v0, .L802E25C4
/* 103E38 802E25B8 A2300059 */ sb $s0, 0x59($s1)
/* 103E3C 802E25BC 00101023 */ negu $v0, $s0
/* 103E40 802E25C0 A2220059 */ sb $v0, 0x59($s1)
.L802E25C4:
/* 103E44 802E25C4 0C00A64D */ jal func_80029934
/* 103E48 802E25C8 26730002 */ addiu $s3, $s3, 2
/* 103E4C 802E25CC 3C01802F */ lui $at, %hi(D_802EB130)
/* 103E50 802E25D0 D422B130 */ ldc1 $f2, %lo(D_802EB130)($at)
/* 103E54 802E25D4 46000021 */ cvt.d.s $f0, $f0
/* 103E58 802E25D8 46220002 */ mul.d $f0, $f0, $f2
/* 103E5C 802E25DC 00000000 */ nop
/* 103E60 802E25E0 46200020 */ cvt.s.d $f0, $f0
/* 103E64 802E25E4 4600A000 */ add.s $f0, $f20, $f0
/* 103E68 802E25E8 26940001 */ addiu $s4, $s4, 1
/* 103E6C 802E25EC 2A820018 */ slti $v0, $s4, 0x18
/* 103E70 802E25F0 E64001EC */ swc1 $f0, 0x1ec($s2)
/* 103E74 802E25F4 26520004 */ addiu $s2, $s2, 4
/* 103E78 802E25F8 A2200040 */ sb $zero, 0x40($s1)
/* 103E7C 802E25FC A220008B */ sb $zero, 0x8b($s1)
/* 103E80 802E2600 A22000A4 */ sb $zero, 0xa4($s1)
/* 103E84 802E2604 1440FFC3 */ bnez $v0, .L802E2514
/* 103E88 802E2608 26310001 */ addiu $s1, $s1, 1
/* 103E8C 802E260C 8FBF00B0 */ lw $ra, 0xb0($sp)
/* 103E90 802E2610 8FB700AC */ lw $s7, 0xac($sp)
/* 103E94 802E2614 8FB600A8 */ lw $s6, 0xa8($sp)
/* 103E98 802E2618 8FB500A4 */ lw $s5, 0xa4($sp)
/* 103E9C 802E261C 8FB400A0 */ lw $s4, 0xa0($sp)
/* 103EA0 802E2620 8FB3009C */ lw $s3, 0x9c($sp)
/* 103EA4 802E2624 8FB20098 */ lw $s2, 0x98($sp)
/* 103EA8 802E2628 8FB10094 */ lw $s1, 0x94($sp)
/* 103EAC 802E262C 8FB00090 */ lw $s0, 0x90($sp)
/* 103EB0 802E2630 D7B400B8 */ ldc1 $f20, 0xb8($sp)
/* 103EB4 802E2634 03E00008 */ jr $ra
/* 103EB8 802E2638 27BD00C0 */ addiu $sp, $sp, 0xc0

View File

@ -1,367 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E263C
/* 103EBC 802E263C 27BDFF68 */ addiu $sp, $sp, -0x98
/* 103EC0 802E2640 F7B80078 */ sdc1 $f24, 0x78($sp)
/* 103EC4 802E2644 4480C000 */ mtc1 $zero, $f24
/* 103EC8 802E2648 F7BC0088 */ sdc1 $f28, 0x88($sp)
/* 103ECC 802E264C 3C01802F */ lui $at, %hi(D_802EB138)
/* 103ED0 802E2650 D43CB138 */ ldc1 $f28, %lo(D_802EB138)($at)
/* 103ED4 802E2654 AFB40050 */ sw $s4, 0x50($sp)
/* 103ED8 802E2658 0000A02D */ daddu $s4, $zero, $zero
/* 103EDC 802E265C F7BE0090 */ sdc1 $f30, 0x90($sp)
/* 103EE0 802E2660 3C014F00 */ lui $at, 0x4f00
/* 103EE4 802E2664 4481F000 */ mtc1 $at, $f30
/* 103EE8 802E2668 27A80020 */ addiu $t0, $sp, 0x20
/* 103EEC 802E266C AFBE0060 */ sw $fp, 0x60($sp)
/* 103EF0 802E2670 27BE0024 */ addiu $fp, $sp, 0x24
/* 103EF4 802E2674 AFB7005C */ sw $s7, 0x5c($sp)
/* 103EF8 802E2678 27B70028 */ addiu $s7, $sp, 0x28
/* 103EFC 802E267C AFB60058 */ sw $s6, 0x58($sp)
/* 103F00 802E2680 27B6002C */ addiu $s6, $sp, 0x2c
/* 103F04 802E2684 AFB50054 */ sw $s5, 0x54($sp)
/* 103F08 802E2688 27B50030 */ addiu $s5, $sp, 0x30
/* 103F0C 802E268C AFBF0064 */ sw $ra, 0x64($sp)
/* 103F10 802E2690 AFB3004C */ sw $s3, 0x4c($sp)
/* 103F14 802E2694 AFB20048 */ sw $s2, 0x48($sp)
/* 103F18 802E2698 AFB10044 */ sw $s1, 0x44($sp)
/* 103F1C 802E269C AFB00040 */ sw $s0, 0x40($sp)
/* 103F20 802E26A0 F7BA0080 */ sdc1 $f26, 0x80($sp)
/* 103F24 802E26A4 F7B60070 */ sdc1 $f22, 0x70($sp)
/* 103F28 802E26A8 F7B40068 */ sdc1 $f20, 0x68($sp)
/* 103F2C 802E26AC AFA40098 */ sw $a0, 0x98($sp)
/* 103F30 802E26B0 AFA80038 */ sw $t0, 0x38($sp)
/* 103F34 802E26B4 8C920040 */ lw $s2, 0x40($a0)
/* 103F38 802E26B8 4600C686 */ mov.s $f26, $f24
/* 103F3C 802E26BC 4600C586 */ mov.s $f22, $f24
/* 103F40 802E26C0 0240882D */ daddu $s1, $s2, $zero
/* 103F44 802E26C4 0240802D */ daddu $s0, $s2, $zero
/* 103F48 802E26C8 0240982D */ daddu $s3, $s2, $zero
.L802E26CC:
/* 103F4C 802E26CC 24020001 */ addiu $v0, $zero, 1
/* 103F50 802E26D0 82230040 */ lb $v1, 0x40($s1)
/* 103F54 802E26D4 92240040 */ lbu $a0, 0x40($s1)
/* 103F58 802E26D8 1062001D */ beq $v1, $v0, .L802E2750
/* 103F5C 802E26DC 28620002 */ slti $v0, $v1, 2
/* 103F60 802E26E0 50400005 */ beql $v0, $zero, .L802E26F8
/* 103F64 802E26E4 24020002 */ addiu $v0, $zero, 2
/* 103F68 802E26E8 10600009 */ beqz $v1, .L802E2710
/* 103F6C 802E26EC 00000000 */ nop
/* 103F70 802E26F0 080B89F7 */ j .L802E27DC
/* 103F74 802E26F4 00000000 */ nop
.L802E26F8:
/* 103F78 802E26F8 10620021 */ beq $v1, $v0, .L802E2780
/* 103F7C 802E26FC 24020003 */ addiu $v0, $zero, 3
/* 103F80 802E2700 1062002E */ beq $v1, $v0, .L802E27BC
/* 103F84 802E2704 00000000 */ nop
/* 103F88 802E2708 080B89F7 */ j .L802E27DC
/* 103F8C 802E270C 00000000 */ nop
.L802E2710:
/* 103F90 802E2710 96620000 */ lhu $v0, ($s3)
/* 103F94 802E2714 3C014019 */ lui $at, 0x4019
/* 103F98 802E2718 3421999A */ ori $at, $at, 0x999a
/* 103F9C 802E271C 4481B000 */ mtc1 $at, $f22
/* 103FA0 802E2720 30420001 */ andi $v0, $v0, 1
/* 103FA4 802E2724 10400003 */ beqz $v0, .L802E2734
/* 103FA8 802E2728 00000000 */ nop
/* 103FAC 802E272C 3C013FC0 */ lui $at, 0x3fc0
/* 103FB0 802E2730 4481B000 */ mtc1 $at, $f22
.L802E2734:
/* 103FB4 802E2734 82220059 */ lb $v0, 0x59($s1)
/* 103FB8 802E2738 3C0140C0 */ lui $at, 0x40c0
/* 103FBC 802E273C 4481D000 */ mtc1 $at, $f26
/* 103FC0 802E2740 4482C000 */ mtc1 $v0, $f24
/* 103FC4 802E2744 00000000 */ nop
/* 103FC8 802E2748 080B89F7 */ j .L802E27DC
/* 103FCC 802E274C 4680C620 */ cvt.s.w $f24, $f24
.L802E2750:
/* 103FD0 802E2750 3C013F99 */ lui $at, 0x3f99
/* 103FD4 802E2754 3421999A */ ori $at, $at, 0x999a
/* 103FD8 802E2758 4481B000 */ mtc1 $at, $f22
/* 103FDC 802E275C 92220059 */ lbu $v0, 0x59($s1)
/* 103FE0 802E2760 3C014040 */ lui $at, 0x4040
/* 103FE4 802E2764 4481D000 */ mtc1 $at, $f26
/* 103FE8 802E2768 00021600 */ sll $v0, $v0, 0x18
/* 103FEC 802E276C 00021683 */ sra $v0, $v0, 0x1a
/* 103FF0 802E2770 4482C000 */ mtc1 $v0, $f24
/* 103FF4 802E2774 00000000 */ nop
/* 103FF8 802E2778 080B89F7 */ j .L802E27DC
/* 103FFC 802E277C 4680C620 */ cvt.s.w $f24, $f24
.L802E2780:
/* 104000 802E2780 3C013F80 */ lui $at, 0x3f80
/* 104004 802E2784 4481B000 */ mtc1 $at, $f22
/* 104008 802E2788 92220059 */ lbu $v0, 0x59($s1)
/* 10400C 802E278C 3C014000 */ lui $at, 0x4000
/* 104010 802E2790 4481D000 */ mtc1 $at, $f26
/* 104014 802E2794 8643003C */ lh $v1, 0x3c($s2)
/* 104018 802E2798 00021600 */ sll $v0, $v0, 0x18
/* 10401C 802E279C 00021683 */ sra $v0, $v0, 0x1a
/* 104020 802E27A0 4482C000 */ mtc1 $v0, $f24
/* 104024 802E27A4 00000000 */ nop
/* 104028 802E27A8 4680C620 */ cvt.s.w $f24, $f24
/* 10402C 802E27AC 1460000B */ bnez $v1, .L802E27DC
/* 104030 802E27B0 24820001 */ addiu $v0, $a0, 1
/* 104034 802E27B4 080B89F7 */ j .L802E27DC
/* 104038 802E27B8 A2220040 */ sb $v0, 0x40($s1)
.L802E27BC:
/* 10403C 802E27BC C6000124 */ lwc1 $f0, 0x124($s0)
/* 104040 802E27C0 3C01802F */ lui $at, %hi(D_802EB140)
/* 104044 802E27C4 D422B140 */ ldc1 $f2, %lo(D_802EB140)($at)
/* 104048 802E27C8 46000021 */ cvt.d.s $f0, $f0
/* 10404C 802E27CC 46220001 */ sub.d $f0, $f0, $f2
/* 104050 802E27D0 46200020 */ cvt.s.d $f0, $f0
/* 104054 802E27D4 080B8ABF */ j .L802E2AFC
/* 104058 802E27D8 E6000124 */ swc1 $f0, 0x124($s0)
.L802E27DC:
/* 10405C 802E27DC C60001EC */ lwc1 $f0, 0x1ec($s0)
/* 104060 802E27E0 3C01802F */ lui $at, %hi(D_802EB148)
/* 104064 802E27E4 D422B148 */ ldc1 $f2, %lo(D_802EB148)($at)
/* 104068 802E27E8 46000021 */ cvt.d.s $f0, $f0
/* 10406C 802E27EC 46220001 */ sub.d $f0, $f0, $f2
/* 104070 802E27F0 3C01802F */ lui $at, %hi(D_802EB150)
/* 104074 802E27F4 D424B150 */ ldc1 $f4, %lo(D_802EB150)($at)
/* 104078 802E27F8 46200020 */ cvt.s.d $f0, $f0
/* 10407C 802E27FC 460000A1 */ cvt.d.s $f2, $f0
/* 104080 802E2800 4624103C */ c.lt.d $f2, $f4
/* 104084 802E2804 00000000 */ nop
/* 104088 802E2808 45000006 */ bc1f .L802E2824
/* 10408C 802E280C E60001EC */ swc1 $f0, 0x1ec($s0)
/* 104090 802E2810 3C01C143 */ lui $at, 0xc143
/* 104094 802E2814 34213333 */ ori $at, $at, 0x3333
/* 104098 802E2818 44810000 */ mtc1 $at, $f0
/* 10409C 802E281C 00000000 */ nop
/* 1040A0 802E2820 E60001EC */ swc1 $f0, 0x1ec($s0)
.L802E2824:
/* 1040A4 802E2824 C6000124 */ lwc1 $f0, 0x124($s0)
/* 1040A8 802E2828 C60201EC */ lwc1 $f2, 0x1ec($s0)
/* 1040AC 802E282C 46020000 */ add.s $f0, $f0, $f2
/* 1040B0 802E2830 E6000124 */ swc1 $f0, 0x124($s0)
/* 1040B4 802E2834 92220072 */ lbu $v0, 0x72($s1)
/* 1040B8 802E2838 4482A000 */ mtc1 $v0, $f20
/* 1040BC 802E283C 00000000 */ nop
/* 1040C0 802E2840 4680A521 */ cvt.d.w $f20, $f20
/* 1040C4 802E2844 463CA502 */ mul.d $f20, $f20, $f28
/* 1040C8 802E2848 00000000 */ nop
/* 1040CC 802E284C 3C013F70 */ lui $at, 0x3f70
/* 1040D0 802E2850 44814800 */ mtc1 $at, $f9
/* 1040D4 802E2854 44804000 */ mtc1 $zero, $f8
/* 1040D8 802E2858 00000000 */ nop
/* 1040DC 802E285C 4628A502 */ mul.d $f20, $f20, $f8
/* 1040E0 802E2860 00000000 */ nop
/* 1040E4 802E2864 3C0140C9 */ lui $at, 0x40c9
/* 1040E8 802E2868 34210FD0 */ ori $at, $at, 0xfd0
/* 1040EC 802E286C 44816000 */ mtc1 $at, $f12
/* 1040F0 802E2870 4620A520 */ cvt.s.d $f20, $f20
/* 1040F4 802E2874 460CA302 */ mul.s $f12, $f20, $f12
/* 1040F8 802E2878 00000000 */ nop
/* 1040FC 802E287C 03C0302D */ daddu $a2, $fp, $zero
/* 104100 802E2880 3C0143B4 */ lui $at, 0x43b4
/* 104104 802E2884 44810000 */ mtc1 $at, $f0
/* 104108 802E2888 8FA50038 */ lw $a1, 0x38($sp)
/* 10410C 802E288C 0C00A82D */ jal sin_cos_rad
/* 104110 802E2890 46006303 */ div.s $f12, $f12, $f0
/* 104114 802E2894 C7A00020 */ lwc1 $f0, 0x20($sp)
/* 104118 802E2898 4600B002 */ mul.s $f0, $f22, $f0
/* 10411C 802E289C 00000000 */ nop
/* 104120 802E28A0 C7A20024 */ lwc1 $f2, 0x24($sp)
/* 104124 802E28A4 4602B082 */ mul.s $f2, $f22, $f2
/* 104128 802E28A8 00000000 */ nop
/* 10412C 802E28AC C60400C0 */ lwc1 $f4, 0xc0($s0)
/* 104130 802E28B0 46002100 */ add.s $f4, $f4, $f0
/* 104134 802E28B4 C6000188 */ lwc1 $f0, 0x188($s0)
/* 104138 802E28B8 46020000 */ add.s $f0, $f0, $f2
/* 10413C 802E28BC 3C040004 */ lui $a0, 4
/* 104140 802E28C0 02E0282D */ daddu $a1, $s7, $zero
/* 104144 802E28C4 E6000188 */ swc1 $f0, 0x188($s0)
/* 104148 802E28C8 C6000124 */ lwc1 $f0, 0x124($s0)
/* 10414C 802E28CC C6020188 */ lwc1 $f2, 0x188($s0)
/* 104150 802E28D0 02C0302D */ daddu $a2, $s6, $zero
/* 104154 802E28D4 E60400C0 */ swc1 $f4, 0xc0($s0)
/* 104158 802E28D8 E7A40028 */ swc1 $f4, 0x28($sp)
/* 10415C 802E28DC E7A0002C */ swc1 $f0, 0x2c($sp)
/* 104160 802E28E0 E7A20030 */ swc1 $f2, 0x30($sp)
/* 104164 802E28E4 3C014100 */ lui $at, 0x4100
/* 104168 802E28E8 44814000 */ mtc1 $at, $f8
/* 10416C 802E28EC 02A0382D */ daddu $a3, $s5, $zero
/* 104170 802E28F0 E7B60010 */ swc1 $f22, 0x10($sp)
/* 104174 802E28F4 E7B40014 */ swc1 $f20, 0x14($sp)
/* 104178 802E28F8 E7A80018 */ swc1 $f8, 0x18($sp)
/* 10417C 802E28FC 0C0376B9 */ jal func_800DDAE4
/* 104180 802E2900 E7A8001C */ swc1 $f8, 0x1c($sp)
/* 104184 802E2904 1040002D */ beqz $v0, .L802E29BC
/* 104188 802E2908 03C0302D */ daddu $a2, $fp, $zero
/* 10418C 802E290C C7A00028 */ lwc1 $f0, 0x28($sp)
/* 104190 802E2910 C7A2002C */ lwc1 $f2, 0x2c($sp)
/* 104194 802E2914 C7A40030 */ lwc1 $f4, 0x30($sp)
/* 104198 802E2918 E60000C0 */ swc1 $f0, 0xc0($s0)
/* 10419C 802E291C E6020124 */ swc1 $f2, 0x124($s0)
/* 1041A0 802E2920 E6040188 */ swc1 $f4, 0x188($s0)
/* 1041A4 802E2924 92220072 */ lbu $v0, 0x72($s1)
/* 1041A8 802E2928 24420080 */ addiu $v0, $v0, 0x80
/* 1041AC 802E292C A2220072 */ sb $v0, 0x72($s1)
/* 1041B0 802E2930 304200FF */ andi $v0, $v0, 0xff
/* 1041B4 802E2934 44826000 */ mtc1 $v0, $f12
/* 1041B8 802E2938 00000000 */ nop
/* 1041BC 802E293C 46806321 */ cvt.d.w $f12, $f12
/* 1041C0 802E2940 463C6302 */ mul.d $f12, $f12, $f28
/* 1041C4 802E2944 00000000 */ nop
/* 1041C8 802E2948 3C013F70 */ lui $at, 0x3f70
/* 1041CC 802E294C 44814800 */ mtc1 $at, $f9
/* 1041D0 802E2950 44804000 */ mtc1 $zero, $f8
/* 1041D4 802E2954 00000000 */ nop
/* 1041D8 802E2958 46286302 */ mul.d $f12, $f12, $f8
/* 1041DC 802E295C 00000000 */ nop
/* 1041E0 802E2960 3C01802F */ lui $at, %hi(D_802EB158)
/* 1041E4 802E2964 D420B158 */ ldc1 $f0, %lo(D_802EB158)($at)
/* 1041E8 802E2968 46206302 */ mul.d $f12, $f12, $f0
/* 1041EC 802E296C 00000000 */ nop
/* 1041F0 802E2970 8FA50038 */ lw $a1, 0x38($sp)
/* 1041F4 802E2974 463C6303 */ div.d $f12, $f12, $f28
/* 1041F8 802E2978 0C00A82D */ jal sin_cos_rad
/* 1041FC 802E297C 46206320 */ cvt.s.d $f12, $f12
/* 104200 802E2980 C7A00020 */ lwc1 $f0, 0x20($sp)
/* 104204 802E2984 3C014100 */ lui $at, 0x4100
/* 104208 802E2988 4481B000 */ mtc1 $at, $f22
/* 10420C 802E298C 00000000 */ nop
/* 104210 802E2990 46160002 */ mul.s $f0, $f0, $f22
/* 104214 802E2994 00000000 */ nop
/* 104218 802E2998 C7A40024 */ lwc1 $f4, 0x24($sp)
/* 10421C 802E299C 46162102 */ mul.s $f4, $f4, $f22
/* 104220 802E29A0 00000000 */ nop
/* 104224 802E29A4 C60200C0 */ lwc1 $f2, 0xc0($s0)
/* 104228 802E29A8 46001080 */ add.s $f2, $f2, $f0
/* 10422C 802E29AC C6000188 */ lwc1 $f0, 0x188($s0)
/* 104230 802E29B0 46040000 */ add.s $f0, $f0, $f4
/* 104234 802E29B4 E60200C0 */ swc1 $f2, 0xc0($s0)
/* 104238 802E29B8 E6000188 */ swc1 $f0, 0x188($s0)
.L802E29BC:
/* 10423C 802E29BC 3C040004 */ lui $a0, 4
/* 104240 802E29C0 02E0282D */ daddu $a1, $s7, $zero
/* 104244 802E29C4 02C0302D */ daddu $a2, $s6, $zero
/* 104248 802E29C8 02A0382D */ daddu $a3, $s5, $zero
/* 10424C 802E29CC 27A20034 */ addiu $v0, $sp, 0x34
/* 104250 802E29D0 C60200C0 */ lwc1 $f2, 0xc0($s0)
/* 104254 802E29D4 C6040124 */ lwc1 $f4, 0x124($s0)
/* 104258 802E29D8 C60001EC */ lwc1 $f0, 0x1ec($s0)
/* 10425C 802E29DC C6060188 */ lwc1 $f6, 0x188($s0)
/* 104260 802E29E0 46000005 */ abs.s $f0, $f0
/* 104264 802E29E4 E7A20028 */ swc1 $f2, 0x28($sp)
/* 104268 802E29E8 E7A4002C */ swc1 $f4, 0x2c($sp)
/* 10426C 802E29EC E7A60030 */ swc1 $f6, 0x30($sp)
/* 104270 802E29F0 E7A00034 */ swc1 $f0, 0x34($sp)
/* 104274 802E29F4 0C0372DF */ jal func_800DCB7C
/* 104278 802E29F8 AFA20010 */ sw $v0, 0x10($sp)
/* 10427C 802E29FC 1440000B */ bnez $v0, .L802E2A2C
/* 104280 802E2A00 00000000 */ nop
/* 104284 802E2A04 C6400038 */ lwc1 $f0, 0x38($s2)
/* 104288 802E2A08 3C014348 */ lui $at, 0x4348
/* 10428C 802E2A0C 44811000 */ mtc1 $at, $f2
/* 104290 802E2A10 00000000 */ nop
/* 104294 802E2A14 46020001 */ sub.s $f0, $f0, $f2
/* 104298 802E2A18 C7A2002C */ lwc1 $f2, 0x2c($sp)
/* 10429C 802E2A1C 4600103C */ c.lt.s $f2, $f0
/* 1042A0 802E2A20 00000000 */ nop
/* 1042A4 802E2A24 4500000F */ bc1f .L802E2A64
/* 1042A8 802E2A28 00000000 */ nop
.L802E2A2C:
/* 1042AC 802E2A2C 92220040 */ lbu $v0, 0x40($s1)
/* 1042B0 802E2A30 24420001 */ addiu $v0, $v0, 1
/* 1042B4 802E2A34 A2220040 */ sb $v0, 0x40($s1)
/* 1042B8 802E2A38 C60201EC */ lwc1 $f2, 0x1ec($s0)
/* 1042BC 802E2A3C 3C013F99 */ lui $at, 0x3f99
/* 1042C0 802E2A40 3421999A */ ori $at, $at, 0x999a
/* 1042C4 802E2A44 44810000 */ mtc1 $at, $f0
/* 1042C8 802E2A48 46001085 */ abs.s $f2, $f2
/* 1042CC 802E2A4C 46001082 */ mul.s $f2, $f2, $f0
/* 1042D0 802E2A50 00000000 */ nop
/* 1042D4 802E2A54 C7A0002C */ lwc1 $f0, 0x2c($sp)
/* 1042D8 802E2A58 46020000 */ add.s $f0, $f0, $f2
/* 1042DC 802E2A5C E61A01EC */ swc1 $f26, 0x1ec($s0)
/* 1042E0 802E2A60 E6000124 */ swc1 $f0, 0x124($s0)
.L802E2A64:
/* 1042E4 802E2A64 9222008B */ lbu $v0, 0x8b($s1)
/* 1042E8 802E2A68 44820000 */ mtc1 $v0, $f0
/* 1042EC 802E2A6C 00000000 */ nop
/* 1042F0 802E2A70 46800020 */ cvt.s.w $f0, $f0
/* 1042F4 802E2A74 46180000 */ add.s $f0, $f0, $f24
/* 1042F8 802E2A78 4600F03E */ c.le.s $f30, $f0
/* 1042FC 802E2A7C 00000000 */ nop
/* 104300 802E2A80 45010005 */ bc1t .L802E2A98
/* 104304 802E2A84 2623008B */ addiu $v1, $s1, 0x8b
/* 104308 802E2A88 4600020D */ trunc.w.s $f8, $f0
/* 10430C 802E2A8C 44024000 */ mfc1 $v0, $f8
/* 104310 802E2A90 080B8AAC */ j .L802E2AB0
/* 104314 802E2A94 A0620000 */ sb $v0, ($v1)
.L802E2A98:
/* 104318 802E2A98 461E0001 */ sub.s $f0, $f0, $f30
/* 10431C 802E2A9C 4600020D */ trunc.w.s $f8, $f0
/* 104320 802E2AA0 44024000 */ mfc1 $v0, $f8
/* 104324 802E2AA4 3C088000 */ lui $t0, 0x8000
/* 104328 802E2AA8 00481025 */ or $v0, $v0, $t0
/* 10432C 802E2AAC A0620000 */ sb $v0, ($v1)
.L802E2AB0:
/* 104330 802E2AB0 922200A4 */ lbu $v0, 0xa4($s1)
/* 104334 802E2AB4 44820000 */ mtc1 $v0, $f0
/* 104338 802E2AB8 00000000 */ nop
/* 10433C 802E2ABC 46800020 */ cvt.s.w $f0, $f0
/* 104340 802E2AC0 46180001 */ sub.s $f0, $f0, $f24
/* 104344 802E2AC4 4600F03E */ c.le.s $f30, $f0
/* 104348 802E2AC8 00000000 */ nop
/* 10434C 802E2ACC 45010005 */ bc1t .L802E2AE4
/* 104350 802E2AD0 262300A4 */ addiu $v1, $s1, 0xa4
/* 104354 802E2AD4 4600020D */ trunc.w.s $f8, $f0
/* 104358 802E2AD8 44024000 */ mfc1 $v0, $f8
/* 10435C 802E2ADC 080B8ABF */ j .L802E2AFC
/* 104360 802E2AE0 A0620000 */ sb $v0, ($v1)
.L802E2AE4:
/* 104364 802E2AE4 461E0001 */ sub.s $f0, $f0, $f30
/* 104368 802E2AE8 4600020D */ trunc.w.s $f8, $f0
/* 10436C 802E2AEC 44024000 */ mfc1 $v0, $f8
/* 104370 802E2AF0 3C088000 */ lui $t0, 0x8000
/* 104374 802E2AF4 00481025 */ or $v0, $v0, $t0
/* 104378 802E2AF8 A0620000 */ sb $v0, ($v1)
.L802E2AFC:
/* 10437C 802E2AFC 26310001 */ addiu $s1, $s1, 1
/* 104380 802E2B00 26100004 */ addiu $s0, $s0, 4
/* 104384 802E2B04 26940001 */ addiu $s4, $s4, 1
/* 104388 802E2B08 2A820018 */ slti $v0, $s4, 0x18
/* 10438C 802E2B0C 1440FEEF */ bnez $v0, .L802E26CC
/* 104390 802E2B10 26730002 */ addiu $s3, $s3, 2
/* 104394 802E2B14 9642003E */ lhu $v0, 0x3e($s2)
/* 104398 802E2B18 24420001 */ addiu $v0, $v0, 1
/* 10439C 802E2B1C A642003E */ sh $v0, 0x3e($s2)
/* 1043A0 802E2B20 00021400 */ sll $v0, $v0, 0x10
/* 1043A4 802E2B24 00021403 */ sra $v0, $v0, 0x10
/* 1043A8 802E2B28 2842000A */ slti $v0, $v0, 0xa
/* 1043AC 802E2B2C 1440000B */ bnez $v0, .L802E2B5C
/* 1043B0 802E2B30 2403000A */ addiu $v1, $zero, 0xa
/* 1043B4 802E2B34 9642003C */ lhu $v0, 0x3c($s2)
/* 1043B8 802E2B38 A643003E */ sh $v1, 0x3e($s2)
/* 1043BC 802E2B3C 2442FFF8 */ addiu $v0, $v0, -8
/* 1043C0 802E2B40 A642003C */ sh $v0, 0x3c($s2)
/* 1043C4 802E2B44 00021400 */ sll $v0, $v0, 0x10
/* 1043C8 802E2B48 1C400004 */ bgtz $v0, .L802E2B5C
/* 1043CC 802E2B4C 00000000 */ nop
/* 1043D0 802E2B50 A640003C */ sh $zero, 0x3c($s2)
/* 1043D4 802E2B54 0C043F5A */ jal func_8010FD68
/* 1043D8 802E2B58 8FA40098 */ lw $a0, 0x98($sp)
.L802E2B5C:
/* 1043DC 802E2B5C 8FBF0064 */ lw $ra, 0x64($sp)
/* 1043E0 802E2B60 8FBE0060 */ lw $fp, 0x60($sp)
/* 1043E4 802E2B64 8FB7005C */ lw $s7, 0x5c($sp)
/* 1043E8 802E2B68 8FB60058 */ lw $s6, 0x58($sp)
/* 1043EC 802E2B6C 8FB50054 */ lw $s5, 0x54($sp)
/* 1043F0 802E2B70 8FB40050 */ lw $s4, 0x50($sp)
/* 1043F4 802E2B74 8FB3004C */ lw $s3, 0x4c($sp)
/* 1043F8 802E2B78 8FB20048 */ lw $s2, 0x48($sp)
/* 1043FC 802E2B7C 8FB10044 */ lw $s1, 0x44($sp)
/* 104400 802E2B80 8FB00040 */ lw $s0, 0x40($sp)
/* 104404 802E2B84 D7BE0090 */ ldc1 $f30, 0x90($sp)
/* 104408 802E2B88 D7BC0088 */ ldc1 $f28, 0x88($sp)
/* 10440C 802E2B8C D7BA0080 */ ldc1 $f26, 0x80($sp)
/* 104410 802E2B90 D7B80078 */ ldc1 $f24, 0x78($sp)
/* 104414 802E2B94 D7B60070 */ ldc1 $f22, 0x70($sp)
/* 104418 802E2B98 D7B40068 */ ldc1 $f20, 0x68($sp)
/* 10441C 802E2B9C 03E00008 */ jr $ra
/* 104420 802E2BA0 27BD0098 */ addiu $sp, $sp, 0x98

View File

@ -1,202 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E2BA4
/* 104424 802E2BA4 27BDFE80 */ addiu $sp, $sp, -0x180
/* 104428 802E2BA8 AFB20130 */ sw $s2, 0x130($sp)
/* 10442C 802E2BAC 3C12800A */ lui $s2, %hi(gMasterGfxPos)
/* 104430 802E2BB0 8E52A66C */ lw $s2, %lo(gMasterGfxPos)($s2)
/* 104434 802E2BB4 F7BA0168 */ sdc1 $f26, 0x168($sp)
/* 104438 802E2BB8 3C0143B4 */ lui $at, 0x43b4
/* 10443C 802E2BBC 4481D000 */ mtc1 $at, $f26
/* 104440 802E2BC0 AFB70144 */ sw $s7, 0x144($sp)
/* 104444 802E2BC4 0000B82D */ daddu $s7, $zero, $zero
/* 104448 802E2BC8 F7B80160 */ sdc1 $f24, 0x160($sp)
/* 10444C 802E2BCC 3C013B80 */ lui $at, 0x3b80
/* 104450 802E2BD0 4481C000 */ mtc1 $at, $f24
/* 104454 802E2BD4 27A80098 */ addiu $t0, $sp, 0x98
/* 104458 802E2BD8 AFB60140 */ sw $s6, 0x140($sp)
/* 10445C 802E2BDC 27B600D8 */ addiu $s6, $sp, 0xd8
/* 104460 802E2BE0 AFB5013C */ sw $s5, 0x13c($sp)
/* 104464 802E2BE4 27B50058 */ addiu $s5, $sp, 0x58
/* 104468 802E2BE8 AFA80120 */ sw $t0, 0x120($sp)
/* 10446C 802E2BEC 3C080001 */ lui $t0, 1
/* 104470 802E2BF0 F7B60158 */ sdc1 $f22, 0x158($sp)
/* 104474 802E2BF4 3C013F80 */ lui $at, 0x3f80
/* 104478 802E2BF8 4481B000 */ mtc1 $at, $f22
/* 10447C 802E2BFC 35081630 */ ori $t0, $t0, 0x1630
/* 104480 802E2C00 AFBF014C */ sw $ra, 0x14c($sp)
/* 104484 802E2C04 AFBE0148 */ sw $fp, 0x148($sp)
/* 104488 802E2C08 AFB40138 */ sw $s4, 0x138($sp)
/* 10448C 802E2C0C AFB30134 */ sw $s3, 0x134($sp)
/* 104490 802E2C10 AFB1012C */ sw $s1, 0x12c($sp)
/* 104494 802E2C14 AFB00128 */ sw $s0, 0x128($sp)
/* 104498 802E2C18 F7BE0178 */ sdc1 $f30, 0x178($sp)
/* 10449C 802E2C1C F7BC0170 */ sdc1 $f28, 0x170($sp)
/* 1044A0 802E2C20 F7B40150 */ sdc1 $f20, 0x150($sp)
/* 1044A4 802E2C24 0C04417A */ jal get_entity_by_index
/* 1044A8 802E2C28 AFA80124 */ sw $t0, 0x124($sp)
/* 1044AC 802E2C2C AFA2011C */ sw $v0, 0x11c($sp)
/* 1044B0 802E2C30 8C540040 */ lw $s4, 0x40($v0)
/* 1044B4 802E2C34 4480A000 */ mtc1 $zero, $f20
/* 1044B8 802E2C38 C4400048 */ lwc1 $f0, 0x48($v0)
/* 1044BC 802E2C3C 0280982D */ daddu $s3, $s4, $zero
/* 1044C0 802E2C40 2651FFFC */ addiu $s1, $s2, -4
/* 1044C4 802E2C44 46000007 */ neg.s $f0, $f0
/* 1044C8 802E2C48 E7A00118 */ swc1 $f0, 0x118($sp)
/* 1044CC 802E2C4C C440004C */ lwc1 $f0, 0x4c($v0)
/* 1044D0 802E2C50 C4420050 */ lwc1 $f2, 0x50($v0)
/* 1044D4 802E2C54 8E9E0034 */ lw $fp, 0x34($s4)
/* 1044D8 802E2C58 46000787 */ neg.s $f30, $f0
/* 1044DC 802E2C5C 46001707 */ neg.s $f28, $f2
.L802E2C60:
/* 1044E0 802E2C60 8683003C */ lh $v1, 0x3c($s4)
/* 1044E4 802E2C64 240200FF */ addiu $v0, $zero, 0xff
/* 1044E8 802E2C68 1462000F */ bne $v1, $v0, .L802E2CA8
/* 1044EC 802E2C6C 26310008 */ addiu $s1, $s1, 8
/* 1044F0 802E2C70 3C03E200 */ lui $v1, 0xe200
/* 1044F4 802E2C74 3463001C */ ori $v1, $v1, 0x1c
/* 1044F8 802E2C78 3C020055 */ lui $v0, 0x55
/* 1044FC 802E2C7C 34422078 */ ori $v0, $v0, 0x2078
/* 104500 802E2C80 AE23FFFC */ sw $v1, -4($s1)
/* 104504 802E2C84 AE220000 */ sw $v0, ($s1)
/* 104508 802E2C88 26310008 */ addiu $s1, $s1, 8
/* 10450C 802E2C8C 26520010 */ addiu $s2, $s2, 0x10
/* 104510 802E2C90 3C03FC12 */ lui $v1, 0xfc12
/* 104514 802E2C94 34631824 */ ori $v1, $v1, 0x1824
/* 104518 802E2C98 3C02FF33 */ lui $v0, 0xff33
/* 10451C 802E2C9C 3442FFFF */ ori $v0, $v0, 0xffff
/* 104520 802E2CA0 080B8B35 */ j .L802E2CD4
/* 104524 802E2CA4 AE23FFFC */ sw $v1, -4($s1)
.L802E2CA8:
/* 104528 802E2CA8 3C03FCFF */ lui $v1, 0xfcff
/* 10452C 802E2CAC 3463C3FF */ ori $v1, $v1, 0xc3ff
/* 104530 802E2CB0 3C02FF30 */ lui $v0, 0xff30
/* 104534 802E2CB4 3442FE7F */ ori $v0, $v0, 0xfe7f
/* 104538 802E2CB8 AE23FFFC */ sw $v1, -4($s1)
/* 10453C 802E2CBC AE220000 */ sw $v0, ($s1)
/* 104540 802E2CC0 26310008 */ addiu $s1, $s1, 8
/* 104544 802E2CC4 3C02FA00 */ lui $v0, 0xfa00
/* 104548 802E2CC8 AE22FFFC */ sw $v0, -4($s1)
/* 10454C 802E2CCC 9282003D */ lbu $v0, 0x3d($s4)
/* 104550 802E2CD0 26520010 */ addiu $s2, $s2, 0x10
.L802E2CD4:
/* 104554 802E2CD4 AE220000 */ sw $v0, ($s1)
/* 104558 802E2CD8 8FA50118 */ lw $a1, 0x118($sp)
/* 10455C 802E2CDC 4406F000 */ mfc1 $a2, $f30
/* 104560 802E2CE0 4407E000 */ mfc1 $a3, $f28
/* 104564 802E2CE4 0C019E40 */ jal guTranslateF
/* 104568 802E2CE8 27A40018 */ addiu $a0, $sp, 0x18
/* 10456C 802E2CEC 02978021 */ addu $s0, $s4, $s7
/* 104570 802E2CF0 9202008B */ lbu $v0, 0x8b($s0)
/* 104574 802E2CF4 44820000 */ mtc1 $v0, $f0
/* 104578 802E2CF8 00000000 */ nop
/* 10457C 802E2CFC 46800020 */ cvt.s.w $f0, $f0
/* 104580 802E2D00 461A0002 */ mul.s $f0, $f0, $f26
/* 104584 802E2D04 00000000 */ nop
/* 104588 802E2D08 46180002 */ mul.s $f0, $f0, $f24
/* 10458C 802E2D0C 00000000 */ nop
/* 104590 802E2D10 4406B000 */ mfc1 $a2, $f22
/* 104594 802E2D14 4407A000 */ mfc1 $a3, $f20
/* 104598 802E2D18 8FA40120 */ lw $a0, 0x120($sp)
/* 10459C 802E2D1C 44050000 */ mfc1 $a1, $f0
/* 1045A0 802E2D20 0C019EC8 */ jal guRotateF
/* 1045A4 802E2D24 E7B40010 */ swc1 $f20, 0x10($sp)
/* 1045A8 802E2D28 920200A4 */ lbu $v0, 0xa4($s0)
/* 1045AC 802E2D2C 44820000 */ mtc1 $v0, $f0
/* 1045B0 802E2D30 00000000 */ nop
/* 1045B4 802E2D34 46800020 */ cvt.s.w $f0, $f0
/* 1045B8 802E2D38 461A0002 */ mul.s $f0, $f0, $f26
/* 1045BC 802E2D3C 00000000 */ nop
/* 1045C0 802E2D40 26310008 */ addiu $s1, $s1, 8
/* 1045C4 802E2D44 46180002 */ mul.s $f0, $f0, $f24
/* 1045C8 802E2D48 00000000 */ nop
/* 1045CC 802E2D4C 26520018 */ addiu $s2, $s2, 0x18
/* 1045D0 802E2D50 26F70001 */ addiu $s7, $s7, 1
/* 1045D4 802E2D54 4406A000 */ mfc1 $a2, $f20
/* 1045D8 802E2D58 4407B000 */ mfc1 $a3, $f22
/* 1045DC 802E2D5C 44050000 */ mfc1 $a1, $f0
/* 1045E0 802E2D60 02C0202D */ daddu $a0, $s6, $zero
/* 1045E4 802E2D64 0C019EC8 */ jal guRotateF
/* 1045E8 802E2D68 E7B40010 */ swc1 $f20, 0x10($sp)
/* 1045EC 802E2D6C 02C0282D */ daddu $a1, $s6, $zero
/* 1045F0 802E2D70 8FA40120 */ lw $a0, 0x120($sp)
/* 1045F4 802E2D74 0C019D80 */ jal guMtxCatF
/* 1045F8 802E2D78 02C0302D */ daddu $a2, $s6, $zero
/* 1045FC 802E2D7C 02C0202D */ daddu $a0, $s6, $zero
/* 104600 802E2D80 27A50018 */ addiu $a1, $sp, 0x18
/* 104604 802E2D84 0C019D80 */ jal guMtxCatF
/* 104608 802E2D88 00A0302D */ daddu $a2, $a1, $zero
/* 10460C 802E2D8C 02A0202D */ daddu $a0, $s5, $zero
/* 104610 802E2D90 8E6500C0 */ lw $a1, 0xc0($s3)
/* 104614 802E2D94 8E660124 */ lw $a2, 0x124($s3)
/* 104618 802E2D98 8E670188 */ lw $a3, 0x188($s3)
/* 10461C 802E2D9C 0C019E40 */ jal guTranslateF
/* 104620 802E2DA0 26730004 */ addiu $s3, $s3, 4
/* 104624 802E2DA4 27A40018 */ addiu $a0, $sp, 0x18
/* 104628 802E2DA8 02A0282D */ daddu $a1, $s5, $zero
/* 10462C 802E2DAC 0C019D80 */ jal guMtxCatF
/* 104630 802E2DB0 02A0302D */ daddu $a2, $s5, $zero
/* 104634 802E2DB4 02A0202D */ daddu $a0, $s5, $zero
/* 104638 802E2DB8 3C058007 */ lui $a1, %hi(gMatrixListPos)
/* 10463C 802E2DBC 94A541F0 */ lhu $a1, %lo(gMatrixListPos)($a1)
/* 104640 802E2DC0 3C02800A */ lui $v0, %hi(gDisplayContext)
/* 104644 802E2DC4 8C42A674 */ lw $v0, %lo(gDisplayContext)($v0)
/* 104648 802E2DC8 8FA80124 */ lw $t0, 0x124($sp)
/* 10464C 802E2DCC 00052980 */ sll $a1, $a1, 6
/* 104650 802E2DD0 00A82821 */ addu $a1, $a1, $t0
/* 104654 802E2DD4 0C019D40 */ jal guMtxF2L
/* 104658 802E2DD8 00452821 */ addu $a1, $v0, $a1
/* 10465C 802E2DDC 3C05D838 */ lui $a1, 0xd838
/* 104660 802E2DE0 34A50002 */ ori $a1, $a1, 2
/* 104664 802E2DE4 3C028007 */ lui $v0, %hi(gMatrixListPos)
/* 104668 802E2DE8 944241F0 */ lhu $v0, %lo(gMatrixListPos)($v0)
/* 10466C 802E2DEC 3C03DA38 */ lui $v1, 0xda38
/* 104670 802E2DF0 AE23FFFC */ sw $v1, -4($s1)
/* 104674 802E2DF4 8FA80124 */ lw $t0, 0x124($sp)
/* 104678 802E2DF8 24430001 */ addiu $v1, $v0, 1
/* 10467C 802E2DFC 3042FFFF */ andi $v0, $v0, 0xffff
/* 104680 802E2E00 00021180 */ sll $v0, $v0, 6
/* 104684 802E2E04 3C018007 */ lui $at, %hi(gMatrixListPos)
/* 104688 802E2E08 A42341F0 */ sh $v1, %lo(gMatrixListPos)($at)
/* 10468C 802E2E0C 3C03800A */ lui $v1, %hi(gDisplayContext)
/* 104690 802E2E10 8C63A674 */ lw $v1, %lo(gDisplayContext)($v1)
/* 104694 802E2E14 00481021 */ addu $v0, $v0, $t0
/* 104698 802E2E18 00621821 */ addu $v1, $v1, $v0
/* 10469C 802E2E1C AE230000 */ sw $v1, ($s1)
/* 1046A0 802E2E20 97C40002 */ lhu $a0, 2($fp)
/* 1046A4 802E2E24 27DE0004 */ addiu $fp, $fp, 4
/* 1046A8 802E2E28 8FA8011C */ lw $t0, 0x11c($sp)
/* 1046AC 802E2E2C 26310008 */ addiu $s1, $s1, 8
/* 1046B0 802E2E30 8D030044 */ lw $v1, 0x44($t0)
/* 1046B4 802E2E34 3C02DE00 */ lui $v0, 0xde00
/* 1046B8 802E2E38 AE22FFFC */ sw $v0, -4($s1)
/* 1046BC 802E2E3C 24020040 */ addiu $v0, $zero, 0x40
/* 1046C0 802E2E40 00641821 */ addu $v1, $v1, $a0
/* 1046C4 802E2E44 AE230000 */ sw $v1, ($s1)
/* 1046C8 802E2E48 26310008 */ addiu $s1, $s1, 8
/* 1046CC 802E2E4C AE220000 */ sw $v0, ($s1)
/* 1046D0 802E2E50 2AE20018 */ slti $v0, $s7, 0x18
/* 1046D4 802E2E54 1440FF82 */ bnez $v0, .L802E2C60
/* 1046D8 802E2E58 AE25FFFC */ sw $a1, -4($s1)
/* 1046DC 802E2E5C 8FBF014C */ lw $ra, 0x14c($sp)
/* 1046E0 802E2E60 8FBE0148 */ lw $fp, 0x148($sp)
/* 1046E4 802E2E64 8FB70144 */ lw $s7, 0x144($sp)
/* 1046E8 802E2E68 8FB60140 */ lw $s6, 0x140($sp)
/* 1046EC 802E2E6C 8FB5013C */ lw $s5, 0x13c($sp)
/* 1046F0 802E2E70 8FB40138 */ lw $s4, 0x138($sp)
/* 1046F4 802E2E74 8FB30134 */ lw $s3, 0x134($sp)
/* 1046F8 802E2E78 3C01800A */ lui $at, %hi(gMasterGfxPos)
/* 1046FC 802E2E7C AC32A66C */ sw $s2, %lo(gMasterGfxPos)($at)
/* 104700 802E2E80 8FB20130 */ lw $s2, 0x130($sp)
/* 104704 802E2E84 8FB1012C */ lw $s1, 0x12c($sp)
/* 104708 802E2E88 8FB00128 */ lw $s0, 0x128($sp)
/* 10470C 802E2E8C D7BE0178 */ ldc1 $f30, 0x178($sp)
/* 104710 802E2E90 D7BC0170 */ ldc1 $f28, 0x170($sp)
/* 104714 802E2E94 D7BA0168 */ ldc1 $f26, 0x168($sp)
/* 104718 802E2E98 D7B80160 */ ldc1 $f24, 0x160($sp)
/* 10471C 802E2E9C D7B60158 */ ldc1 $f22, 0x158($sp)
/* 104720 802E2EA0 D7B40150 */ ldc1 $f20, 0x150($sp)
/* 104724 802E2EA4 03E00008 */ jr $ra
/* 104728 802E2EA8 27BD0180 */ addiu $sp, $sp, 0x180
/* 10472C 802E2EAC 00000000 */ nop

View File

@ -1,84 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E2EB0
/* 104730 802E2EB0 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 104734 802E2EB4 AFB1001C */ sw $s1, 0x1c($sp)
/* 104738 802E2EB8 0080882D */ daddu $s1, $a0, $zero
/* 10473C 802E2EBC AFBF0024 */ sw $ra, 0x24($sp)
/* 104740 802E2EC0 AFB20020 */ sw $s2, 0x20($sp)
/* 104744 802E2EC4 AFB00018 */ sw $s0, 0x18($sp)
/* 104748 802E2EC8 8E220040 */ lw $v0, 0x40($s1)
/* 10474C 802E2ECC C620004C */ lwc1 $f0, 0x4c($s1)
/* 104750 802E2ED0 0000802D */ daddu $s0, $zero, $zero
/* 104754 802E2ED4 E4400038 */ swc1 $f0, 0x38($v0)
/* 104758 802E2ED8 92240004 */ lbu $a0, 4($s1)
/* 10475C 802E2EDC 0C0441A9 */ jal get_entity_type
/* 104760 802E2EE0 0200902D */ daddu $s2, $s0, $zero
/* 104764 802E2EE4 0040182D */ daddu $v1, $v0, $zero
/* 104768 802E2EE8 2462FFE8 */ addiu $v0, $v1, -0x18
/* 10476C 802E2EEC 2C420003 */ sltiu $v0, $v0, 3
/* 104770 802E2EF0 10400007 */ beqz $v0, .L802E2F10
/* 104774 802E2EF4 2463FFF3 */ addiu $v1, $v1, -0xd
/* 104778 802E2EF8 3C013F00 */ lui $at, 0x3f00
/* 10477C 802E2EFC 44810000 */ mtc1 $at, $f0
/* 104780 802E2F00 00000000 */ nop
/* 104784 802E2F04 E6200054 */ swc1 $f0, 0x54($s1)
/* 104788 802E2F08 E6200058 */ swc1 $f0, 0x58($s1)
/* 10478C 802E2F0C E620005C */ swc1 $f0, 0x5c($s1)
.L802E2F10:
/* 104790 802E2F10 2C62000E */ sltiu $v0, $v1, 0xe
/* 104794 802E2F14 10400023 */ beqz $v0, .L802E2FA4
/* 104798 802E2F18 00031080 */ sll $v0, $v1, 2
/* 10479C 802E2F1C 3C01802F */ lui $at, %hi(jtbl_802EB160_10C9E0)
/* 1047A0 802E2F20 00220821 */ addu $at, $at, $v0
/* 1047A4 802E2F24 8C22B160 */ lw $v0, %lo(jtbl_802EB160_10C9E0)($at)
/* 1047A8 802E2F28 00400008 */ jr $v0
/* 1047AC 802E2F2C 00000000 */ nop
glabel L802E2F30_1047B0
/* 1047B0 802E2F30 3C120A00 */ lui $s2, 0xa00
/* 1047B4 802E2F34 265231E0 */ addiu $s2, $s2, 0x31e0
/* 1047B8 802E2F38 3C100A00 */ lui $s0, 0xa00
/* 1047BC 802E2F3C 26101508 */ addiu $s0, $s0, 0x1508
/* 1047C0 802E2F40 080B8BE9 */ j .L802E2FA4
/* 1047C4 802E2F44 00000000 */ nop
glabel L802E2F48_1047C8
/* 1047C8 802E2F48 3C120A00 */ lui $s2, 0xa00
/* 1047CC 802E2F4C 265231B0 */ addiu $s2, $s2, 0x31b0
/* 1047D0 802E2F50 3C100A00 */ lui $s0, 0xa00
/* 1047D4 802E2F54 261014D8 */ addiu $s0, $s0, 0x14d8
/* 1047D8 802E2F58 080B8BE9 */ j .L802E2FA4
/* 1047DC 802E2F5C 00000000 */ nop
glabel L802E2F60_1047E0
/* 1047E0 802E2F60 3C120A00 */ lui $s2, 0xa00
/* 1047E4 802E2F64 26522F78 */ addiu $s2, $s2, 0x2f78
/* 1047E8 802E2F68 3C100A00 */ lui $s0, 0xa00
/* 1047EC 802E2F6C 26101218 */ addiu $s0, $s0, 0x1218
/* 1047F0 802E2F70 080B8BE9 */ j .L802E2FA4
/* 1047F4 802E2F74 00000000 */ nop
glabel L802E2F78_1047F8
/* 1047F8 802E2F78 24040158 */ addiu $a0, $zero, 0x158
/* 1047FC 802E2F7C C6200050 */ lwc1 $f0, 0x50($s1)
/* 104800 802E2F80 3C120A00 */ lui $s2, 0xa00
/* 104804 802E2F84 26523F70 */ addiu $s2, $s2, 0x3f70
/* 104808 802E2F88 E7A00010 */ swc1 $f0, 0x10($sp)
/* 10480C 802E2F8C 8E260048 */ lw $a2, 0x48($s1)
/* 104810 802E2F90 8E27004C */ lw $a3, 0x4c($s1)
/* 104814 802E2F94 3C100A00 */ lui $s0, 0xa00
/* 104818 802E2F98 26102318 */ addiu $s0, $s0, 0x2318
/* 10481C 802E2F9C 0C052757 */ jal play_sound_at_position
/* 104820 802E2FA0 0000282D */ daddu $a1, $zero, $zero
.L802E2FA4:
glabel L802E2FA4_104824
/* 104824 802E2FA4 12000004 */ beqz $s0, .L802E2FB8
/* 104828 802E2FA8 0220202D */ daddu $a0, $s1, $zero
/* 10482C 802E2FAC 0240282D */ daddu $a1, $s2, $zero
/* 104830 802E2FB0 0C0B891B */ jal func_802E246C
/* 104834 802E2FB4 0200302D */ daddu $a2, $s0, $zero
.L802E2FB8:
/* 104838 802E2FB8 8FBF0024 */ lw $ra, 0x24($sp)
/* 10483C 802E2FBC 8FB20020 */ lw $s2, 0x20($sp)
/* 104840 802E2FC0 8FB1001C */ lw $s1, 0x1c($sp)
/* 104844 802E2FC4 8FB00018 */ lw $s0, 0x18($sp)
/* 104848 802E2FC8 03E00008 */ jr $ra
/* 10484C 802E2FCC 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,74 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E2FD0
/* 104850 802E2FD0 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 104854 802E2FD4 AFB1001C */ sw $s1, 0x1c($sp)
/* 104858 802E2FD8 0080882D */ daddu $s1, $a0, $zero
/* 10485C 802E2FDC AFBF0020 */ sw $ra, 0x20($sp)
/* 104860 802E2FE0 AFB00018 */ sw $s0, 0x18($sp)
/* 104864 802E2FE4 92240004 */ lbu $a0, 4($s1)
/* 104868 802E2FE8 0C0441A9 */ jal get_entity_type
/* 10486C 802E2FEC 0000802D */ daddu $s0, $zero, $zero
/* 104870 802E2FF0 2443FFF3 */ addiu $v1, $v0, -0xd
/* 104874 802E2FF4 2C62000E */ sltiu $v0, $v1, 0xe
/* 104878 802E2FF8 1040001A */ beqz $v0, .L802E3064
/* 10487C 802E2FFC 00031080 */ sll $v0, $v1, 2
/* 104880 802E3000 3C01802F */ lui $at, %hi(jtbl_802EB198_10CA18)
/* 104884 802E3004 00220821 */ addu $at, $at, $v0
/* 104888 802E3008 8C22B198 */ lw $v0, %lo(jtbl_802EB198_10CA18)($at)
/* 10488C 802E300C 00400008 */ jr $v0
/* 104890 802E3010 00000000 */ nop
glabel L802E3014_104894
/* 104894 802E3014 3C10802F */ lui $s0, %hi(D_802E9C8C)
/* 104898 802E3018 080B8C19 */ j .L802E3064
/* 10489C 802E301C 26109C8C */ addiu $s0, $s0, %lo(D_802E9C8C)
glabel L802E3020_1048A0
/* 1048A0 802E3020 3C10802F */ lui $s0, %hi(D_802E9CF8)
/* 1048A4 802E3024 080B8C19 */ j .L802E3064
/* 1048A8 802E3028 26109CF8 */ addiu $s0, $s0, %lo(D_802E9CF8)
glabel L802E302C_1048AC
/* 1048AC 802E302C 3C10802F */ lui $s0, %hi(D_802E9CB0)
/* 1048B0 802E3030 080B8C19 */ j .L802E3064
/* 1048B4 802E3034 26109CB0 */ addiu $s0, $s0, %lo(D_802E9CB0)
glabel L802E3038_1048B8
/* 1048B8 802E3038 3C10802F */ lui $s0, %hi(D_802E9D1C)
/* 1048BC 802E303C 080B8C19 */ j .L802E3064
/* 1048C0 802E3040 26109D1C */ addiu $s0, $s0, %lo(D_802E9D1C)
glabel L802E3044_1048C4
/* 1048C4 802E3044 3C10802F */ lui $s0, %hi(D_802E9CD4)
/* 1048C8 802E3048 080B8C19 */ j .L802E3064
/* 1048CC 802E304C 26109CD4 */ addiu $s0, $s0, %lo(D_802E9CD4)
glabel L802E3050_1048D0
/* 1048D0 802E3050 3C10802F */ lui $s0, %hi(D_802E9D40)
/* 1048D4 802E3054 080B8C19 */ j .L802E3064
/* 1048D8 802E3058 26109D40 */ addiu $s0, $s0, %lo(D_802E9D40)
glabel L802E305C_1048DC
/* 1048DC 802E305C 3C10802F */ lui $s0, %hi(D_802E9D64)
/* 1048E0 802E3060 26109D64 */ addiu $s0, $s0, %lo(D_802E9D64)
.L802E3064:
glabel L802E3064_1048E4
/* 1048E4 802E3064 1200000E */ beqz $s0, .L802E30A0
/* 1048E8 802E3068 0200202D */ daddu $a0, $s0, $zero
/* 1048EC 802E306C C6200048 */ lwc1 $f0, 0x48($s1)
/* 1048F0 802E3070 C622004C */ lwc1 $f2, 0x4c($s1)
/* 1048F4 802E3074 C6240050 */ lwc1 $f4, 0x50($s1)
/* 1048F8 802E3078 3C028000 */ lui $v0, 0x8000
/* 1048FC 802E307C AFA00010 */ sw $zero, 0x10($sp)
/* 104900 802E3080 4600018D */ trunc.w.s $f6, $f0
/* 104904 802E3084 44053000 */ mfc1 $a1, $f6
/* 104908 802E3088 4600118D */ trunc.w.s $f6, $f2
/* 10490C 802E308C 44063000 */ mfc1 $a2, $f6
/* 104910 802E3090 4600218D */ trunc.w.s $f6, $f4
/* 104914 802E3094 44073000 */ mfc1 $a3, $f6
/* 104918 802E3098 0C044631 */ jal create_entity
/* 10491C 802E309C AFA20014 */ sw $v0, 0x14($sp)
.L802E30A0:
/* 104920 802E30A0 8FBF0020 */ lw $ra, 0x20($sp)
/* 104924 802E30A4 8FB1001C */ lw $s1, 0x1c($sp)
/* 104928 802E30A8 8FB00018 */ lw $s0, 0x18($sp)
/* 10492C 802E30AC 03E00008 */ jr $ra
/* 104930 802E30B0 27BD0028 */ addiu $sp, $sp, 0x28
/* 104934 802E30B4 00000000 */ nop
/* 104938 802E30B8 00000000 */ nop
/* 10493C 802E30BC 00000000 */ nop

View File

@ -1,84 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E2EB0
/* 104730 802E2EB0 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 104734 802E2EB4 AFB1001C */ sw $s1, 0x1c($sp)
/* 104738 802E2EB8 0080882D */ daddu $s1, $a0, $zero
/* 10473C 802E2EBC AFBF0024 */ sw $ra, 0x24($sp)
/* 104740 802E2EC0 AFB20020 */ sw $s2, 0x20($sp)
/* 104744 802E2EC4 AFB00018 */ sw $s0, 0x18($sp)
/* 104748 802E2EC8 8E220040 */ lw $v0, 0x40($s1)
/* 10474C 802E2ECC C620004C */ lwc1 $f0, 0x4c($s1)
/* 104750 802E2ED0 0000802D */ daddu $s0, $zero, $zero
/* 104754 802E2ED4 E4400038 */ swc1 $f0, 0x38($v0)
/* 104758 802E2ED8 92240004 */ lbu $a0, 4($s1)
/* 10475C 802E2EDC 0C0441A9 */ jal get_entity_type
/* 104760 802E2EE0 0200902D */ daddu $s2, $s0, $zero
/* 104764 802E2EE4 0040182D */ daddu $v1, $v0, $zero
/* 104768 802E2EE8 2462FFE8 */ addiu $v0, $v1, -0x18
/* 10476C 802E2EEC 2C420003 */ sltiu $v0, $v0, 3
/* 104770 802E2EF0 10400007 */ beqz $v0, .L802E2F10
/* 104774 802E2EF4 2463FFF3 */ addiu $v1, $v1, -0xd
/* 104778 802E2EF8 3C013F00 */ lui $at, 0x3f00
/* 10477C 802E2EFC 44810000 */ mtc1 $at, $f0
/* 104780 802E2F00 00000000 */ nop
/* 104784 802E2F04 E6200054 */ swc1 $f0, 0x54($s1)
/* 104788 802E2F08 E6200058 */ swc1 $f0, 0x58($s1)
/* 10478C 802E2F0C E620005C */ swc1 $f0, 0x5c($s1)
.L802E2F10:
/* 104790 802E2F10 2C62000E */ sltiu $v0, $v1, 0xe
/* 104794 802E2F14 10400023 */ beqz $v0, .L802E2FA4
/* 104798 802E2F18 00031080 */ sll $v0, $v1, 2
/* 10479C 802E2F1C 3C01802F */ lui $at, %hi(jtbl_802EB160_10C9E0)
/* 1047A0 802E2F20 00220821 */ addu $at, $at, $v0
/* 1047A4 802E2F24 8C22B160 */ lw $v0, %lo(jtbl_802EB160_10C9E0)($at)
/* 1047A8 802E2F28 00400008 */ jr $v0
/* 1047AC 802E2F2C 00000000 */ nop
glabel L802E2F30_1047B0
/* 1047B0 802E2F30 3C120A00 */ lui $s2, 0xa00
/* 1047B4 802E2F34 265231E0 */ addiu $s2, $s2, 0x31e0
/* 1047B8 802E2F38 3C100A00 */ lui $s0, 0xa00
/* 1047BC 802E2F3C 26101508 */ addiu $s0, $s0, 0x1508
/* 1047C0 802E2F40 080B8BE9 */ j .L802E2FA4
/* 1047C4 802E2F44 00000000 */ nop
glabel L802E2F48_1047C8
/* 1047C8 802E2F48 3C120A00 */ lui $s2, 0xa00
/* 1047CC 802E2F4C 265231B0 */ addiu $s2, $s2, 0x31b0
/* 1047D0 802E2F50 3C100A00 */ lui $s0, 0xa00
/* 1047D4 802E2F54 261014D8 */ addiu $s0, $s0, 0x14d8
/* 1047D8 802E2F58 080B8BE9 */ j .L802E2FA4
/* 1047DC 802E2F5C 00000000 */ nop
glabel L802E2F60_1047E0
/* 1047E0 802E2F60 3C120A00 */ lui $s2, 0xa00
/* 1047E4 802E2F64 26522F78 */ addiu $s2, $s2, 0x2f78
/* 1047E8 802E2F68 3C100A00 */ lui $s0, 0xa00
/* 1047EC 802E2F6C 26101218 */ addiu $s0, $s0, 0x1218
/* 1047F0 802E2F70 080B8BE9 */ j .L802E2FA4
/* 1047F4 802E2F74 00000000 */ nop
glabel L802E2F78_1047F8
/* 1047F8 802E2F78 24040158 */ addiu $a0, $zero, 0x158
/* 1047FC 802E2F7C C6200050 */ lwc1 $f0, 0x50($s1)
/* 104800 802E2F80 3C120A00 */ lui $s2, 0xa00
/* 104804 802E2F84 26523F70 */ addiu $s2, $s2, 0x3f70
/* 104808 802E2F88 E7A00010 */ swc1 $f0, 0x10($sp)
/* 10480C 802E2F8C 8E260048 */ lw $a2, 0x48($s1)
/* 104810 802E2F90 8E27004C */ lw $a3, 0x4c($s1)
/* 104814 802E2F94 3C100A00 */ lui $s0, 0xa00
/* 104818 802E2F98 26102318 */ addiu $s0, $s0, 0x2318
/* 10481C 802E2F9C 0C052757 */ jal play_sound_at_position
/* 104820 802E2FA0 0000282D */ daddu $a1, $zero, $zero
.L802E2FA4:
glabel L802E2FA4_104824
/* 104824 802E2FA4 12000004 */ beqz $s0, .L802E2FB8
/* 104828 802E2FA8 0220202D */ daddu $a0, $s1, $zero
/* 10482C 802E2FAC 0240282D */ daddu $a1, $s2, $zero
/* 104830 802E2FB0 0C0B891B */ jal func_802E246C
/* 104834 802E2FB4 0200302D */ daddu $a2, $s0, $zero
.L802E2FB8:
/* 104838 802E2FB8 8FBF0024 */ lw $ra, 0x24($sp)
/* 10483C 802E2FBC 8FB20020 */ lw $s2, 0x20($sp)
/* 104840 802E2FC0 8FB1001C */ lw $s1, 0x1c($sp)
/* 104844 802E2FC4 8FB00018 */ lw $s0, 0x18($sp)
/* 104848 802E2FC8 03E00008 */ jr $ra
/* 10484C 802E2FCC 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,74 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E2FD0
/* 104850 802E2FD0 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 104854 802E2FD4 AFB1001C */ sw $s1, 0x1c($sp)
/* 104858 802E2FD8 0080882D */ daddu $s1, $a0, $zero
/* 10485C 802E2FDC AFBF0020 */ sw $ra, 0x20($sp)
/* 104860 802E2FE0 AFB00018 */ sw $s0, 0x18($sp)
/* 104864 802E2FE4 92240004 */ lbu $a0, 4($s1)
/* 104868 802E2FE8 0C0441A9 */ jal get_entity_type
/* 10486C 802E2FEC 0000802D */ daddu $s0, $zero, $zero
/* 104870 802E2FF0 2443FFF3 */ addiu $v1, $v0, -0xd
/* 104874 802E2FF4 2C62000E */ sltiu $v0, $v1, 0xe
/* 104878 802E2FF8 1040001A */ beqz $v0, .L802E3064
/* 10487C 802E2FFC 00031080 */ sll $v0, $v1, 2
/* 104880 802E3000 3C01802F */ lui $at, %hi(jtbl_802EB198_10CA18)
/* 104884 802E3004 00220821 */ addu $at, $at, $v0
/* 104888 802E3008 8C22B198 */ lw $v0, %lo(jtbl_802EB198_10CA18)($at)
/* 10488C 802E300C 00400008 */ jr $v0
/* 104890 802E3010 00000000 */ nop
glabel L802E3014_104894
/* 104894 802E3014 3C10802F */ lui $s0, %hi(D_802E9C8C)
/* 104898 802E3018 080B8C19 */ j .L802E3064
/* 10489C 802E301C 26109C8C */ addiu $s0, $s0, %lo(D_802E9C8C)
glabel L802E3020_1048A0
/* 1048A0 802E3020 3C10802F */ lui $s0, %hi(D_802E9CF8)
/* 1048A4 802E3024 080B8C19 */ j .L802E3064
/* 1048A8 802E3028 26109CF8 */ addiu $s0, $s0, %lo(D_802E9CF8)
glabel L802E302C_1048AC
/* 1048AC 802E302C 3C10802F */ lui $s0, %hi(D_802E9CB0)
/* 1048B0 802E3030 080B8C19 */ j .L802E3064
/* 1048B4 802E3034 26109CB0 */ addiu $s0, $s0, %lo(D_802E9CB0)
glabel L802E3038_1048B8
/* 1048B8 802E3038 3C10802F */ lui $s0, %hi(D_802E9D1C)
/* 1048BC 802E303C 080B8C19 */ j .L802E3064
/* 1048C0 802E3040 26109D1C */ addiu $s0, $s0, %lo(D_802E9D1C)
glabel L802E3044_1048C4
/* 1048C4 802E3044 3C10802F */ lui $s0, %hi(D_802E9CD4)
/* 1048C8 802E3048 080B8C19 */ j .L802E3064
/* 1048CC 802E304C 26109CD4 */ addiu $s0, $s0, %lo(D_802E9CD4)
glabel L802E3050_1048D0
/* 1048D0 802E3050 3C10802F */ lui $s0, %hi(D_802E9D40)
/* 1048D4 802E3054 080B8C19 */ j .L802E3064
/* 1048D8 802E3058 26109D40 */ addiu $s0, $s0, %lo(D_802E9D40)
glabel L802E305C_1048DC
/* 1048DC 802E305C 3C10802F */ lui $s0, %hi(D_802E9D64)
/* 1048E0 802E3060 26109D64 */ addiu $s0, $s0, %lo(D_802E9D64)
.L802E3064:
glabel L802E3064_1048E4
/* 1048E4 802E3064 1200000E */ beqz $s0, .L802E30A0
/* 1048E8 802E3068 0200202D */ daddu $a0, $s0, $zero
/* 1048EC 802E306C C6200048 */ lwc1 $f0, 0x48($s1)
/* 1048F0 802E3070 C622004C */ lwc1 $f2, 0x4c($s1)
/* 1048F4 802E3074 C6240050 */ lwc1 $f4, 0x50($s1)
/* 1048F8 802E3078 3C028000 */ lui $v0, 0x8000
/* 1048FC 802E307C AFA00010 */ sw $zero, 0x10($sp)
/* 104900 802E3080 4600018D */ trunc.w.s $f6, $f0
/* 104904 802E3084 44053000 */ mfc1 $a1, $f6
/* 104908 802E3088 4600118D */ trunc.w.s $f6, $f2
/* 10490C 802E308C 44063000 */ mfc1 $a2, $f6
/* 104910 802E3090 4600218D */ trunc.w.s $f6, $f4
/* 104914 802E3094 44073000 */ mfc1 $a3, $f6
/* 104918 802E3098 0C044631 */ jal create_entity
/* 10491C 802E309C AFA20014 */ sw $v0, 0x14($sp)
.L802E30A0:
/* 104920 802E30A0 8FBF0020 */ lw $ra, 0x20($sp)
/* 104924 802E30A4 8FB1001C */ lw $s1, 0x1c($sp)
/* 104928 802E30A8 8FB00018 */ lw $s0, 0x18($sp)
/* 10492C 802E30AC 03E00008 */ jr $ra
/* 104930 802E30B0 27BD0028 */ addiu $sp, $sp, 0x28
/* 104934 802E30B4 00000000 */ nop
/* 104938 802E30B8 00000000 */ nop
/* 10493C 802E30BC 00000000 */ nop

View File

@ -1,13 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E4AEC
/* 10636C 802E4AEC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 106370 802E4AF0 3C050A00 */ lui $a1, 0xa00
/* 106374 802E4AF4 24A50808 */ addiu $a1, $a1, 0x808
/* 106378 802E4AF8 AFBF0010 */ sw $ra, 0x10($sp)
/* 10637C 802E4AFC 0C0B91CC */ jal func_802E4730
/* 106380 802E4B00 00000000 */ nop
/* 106384 802E4B04 8FBF0010 */ lw $ra, 0x10($sp)
/* 106388 802E4B08 03E00008 */ jr $ra
/* 10638C 802E4B0C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,24 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E4B10
/* 106390 802E4B10 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 106394 802E4B14 AFB00010 */ sw $s0, 0x10($sp)
/* 106398 802E4B18 0080802D */ daddu $s0, $a0, $zero
/* 10639C 802E4B1C AFBF0014 */ sw $ra, 0x14($sp)
/* 1063A0 802E4B20 8E020040 */ lw $v0, 0x40($s0)
/* 1063A4 802E4B24 0C04417A */ jal get_entity_by_index
/* 1063A8 802E4B28 90440000 */ lbu $a0, ($v0)
/* 1063AC 802E4B2C C4400048 */ lwc1 $f0, 0x48($v0)
/* 1063B0 802E4B30 3C014160 */ lui $at, 0x4160
/* 1063B4 802E4B34 44811000 */ mtc1 $at, $f2
/* 1063B8 802E4B38 E6000048 */ swc1 $f0, 0x48($s0)
/* 1063BC 802E4B3C C440004C */ lwc1 $f0, 0x4c($v0)
/* 1063C0 802E4B40 46020000 */ add.s $f0, $f0, $f2
/* 1063C4 802E4B44 E600004C */ swc1 $f0, 0x4c($s0)
/* 1063C8 802E4B48 C4400050 */ lwc1 $f0, 0x50($v0)
/* 1063CC 802E4B4C E6000050 */ swc1 $f0, 0x50($s0)
/* 1063D0 802E4B50 8FBF0014 */ lw $ra, 0x14($sp)
/* 1063D4 802E4B54 8FB00010 */ lw $s0, 0x10($sp)
/* 1063D8 802E4B58 03E00008 */ jr $ra
/* 1063DC 802E4B5C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,50 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E4B60
/* 1063E0 802E4B60 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 1063E4 802E4B64 AFB10014 */ sw $s1, 0x14($sp)
/* 1063E8 802E4B68 0080882D */ daddu $s1, $a0, $zero
/* 1063EC 802E4B6C 3C02802E */ lui $v0, %hi(func_802E4AEC)
/* 1063F0 802E4B70 24424AEC */ addiu $v0, $v0, %lo(func_802E4AEC)
/* 1063F4 802E4B74 AFBF0018 */ sw $ra, 0x18($sp)
/* 1063F8 802E4B78 AFB00010 */ sw $s0, 0x10($sp)
/* 1063FC 802E4B7C AE22003C */ sw $v0, 0x3c($s1)
/* 106400 802E4B80 240200FF */ addiu $v0, $zero, 0xff
/* 106404 802E4B84 A222000B */ sb $v0, 0xb($s1)
/* 106408 802E4B88 8E220000 */ lw $v0, ($s1)
/* 10640C 802E4B8C 8E300040 */ lw $s0, 0x40($s1)
/* 106410 802E4B90 34422000 */ ori $v0, $v0, 0x2000
/* 106414 802E4B94 AE220000 */ sw $v0, ($s1)
/* 106418 802E4B98 0C04417A */ jal get_entity_by_index
/* 10641C 802E4B9C 92040000 */ lbu $a0, ($s0)
/* 106420 802E4BA0 92020009 */ lbu $v0, 9($s0)
/* 106424 802E4BA4 54400009 */ bnel $v0, $zero, .L802E4BCC
/* 106428 802E4BA8 A2000001 */ sb $zero, 1($s0)
/* 10642C 802E4BAC 3C013F80 */ lui $at, 0x3f80
/* 106430 802E4BB0 44810000 */ mtc1 $at, $f0
/* 106434 802E4BB4 24020001 */ addiu $v0, $zero, 1
/* 106438 802E4BB8 A2020009 */ sb $v0, 9($s0)
/* 10643C 802E4BBC 24020002 */ addiu $v0, $zero, 2
/* 106440 802E4BC0 A2020001 */ sb $v0, 1($s0)
/* 106444 802E4BC4 080B92F4 */ j .L802E4BD0
/* 106448 802E4BC8 E6200054 */ swc1 $f0, 0x54($s1)
.L802E4BCC:
/* 10644C 802E4BCC AE200054 */ sw $zero, 0x54($s1)
.L802E4BD0:
/* 106450 802E4BD0 AE00000C */ sw $zero, 0xc($s0)
/* 106454 802E4BD4 AE000010 */ sw $zero, 0x10($s0)
/* 106458 802E4BD8 C6200054 */ lwc1 $f0, 0x54($s1)
/* 10645C 802E4BDC 0220202D */ daddu $a0, $s1, $zero
/* 106460 802E4BE0 AC800060 */ sw $zero, 0x60($a0)
/* 106464 802E4BE4 AC800064 */ sw $zero, 0x64($a0)
/* 106468 802E4BE8 AC800068 */ sw $zero, 0x68($a0)
/* 10646C 802E4BEC 46000086 */ mov.s $f2, $f0
/* 106470 802E4BF0 E4800058 */ swc1 $f0, 0x58($a0)
/* 106474 802E4BF4 0C0B92C4 */ jal func_802E4B10
/* 106478 802E4BF8 E482005C */ swc1 $f2, 0x5c($a0)
/* 10647C 802E4BFC 8FBF0018 */ lw $ra, 0x18($sp)
/* 106480 802E4C00 8FB10014 */ lw $s1, 0x14($sp)
/* 106484 802E4C04 8FB00010 */ lw $s0, 0x10($sp)
/* 106488 802E4C08 03E00008 */ jr $ra
/* 10648C 802E4C0C 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,13 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E4DE0
/* 106660 802E4DE0 8C820040 */ lw $v0, 0x40($a0)
/* 106664 802E4DE4 3C013F80 */ lui $at, 0x3f80
/* 106668 802E4DE8 44810000 */ mtc1 $at, $f0
/* 10666C 802E4DEC A0400001 */ sb $zero, 1($v0)
/* 106670 802E4DF0 E4800054 */ swc1 $f0, 0x54($a0)
/* 106674 802E4DF4 E4800058 */ swc1 $f0, 0x58($a0)
/* 106678 802E4DF8 E480005C */ swc1 $f0, 0x5c($a0)
/* 10667C 802E4DFC 03E00008 */ jr $ra
/* 106680 802E4E00 AC800068 */ sw $zero, 0x68($a0)

View File

@ -1,11 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E5308
/* 106B88 802E5308 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 106B8C 802E530C AFBF0010 */ sw $ra, 0x10($sp)
/* 106B90 802E5310 0C0B8D94 */ jal func_802E3650
/* 106B94 802E5314 00000000 */ nop
/* 106B98 802E5318 8FBF0010 */ lw $ra, 0x10($sp)
/* 106B9C 802E531C 03E00008 */ jr $ra
/* 106BA0 802E5320 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,11 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E540C
/* 106C8C 802E540C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 106C90 802E5410 AFBF0010 */ sw $ra, 0x10($sp)
/* 106C94 802E5414 0C0B92C4 */ jal func_802E4B10
/* 106C98 802E5418 00000000 */ nop
/* 106C9C 802E541C 8FBF0010 */ lw $ra, 0x10($sp)
/* 106CA0 802E5420 03E00008 */ jr $ra
/* 106CA4 802E5424 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,17 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E5428
/* 106CA8 802E5428 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 106CAC 802E542C AFB00010 */ sw $s0, 0x10($sp)
/* 106CB0 802E5430 AFBF0014 */ sw $ra, 0x14($sp)
/* 106CB4 802E5434 0C0B92D8 */ jal func_802E4B60
/* 106CB8 802E5438 0080802D */ daddu $s0, $a0, $zero
/* 106CBC 802E543C 3C05802F */ lui $a1, %hi(D_802EA728)
/* 106CC0 802E5440 24A5A728 */ addiu $a1, $a1, %lo(D_802EA728)
/* 106CC4 802E5444 0C0442F3 */ jal func_80110BCC
/* 106CC8 802E5448 0200202D */ daddu $a0, $s0, $zero
/* 106CCC 802E544C 8FBF0014 */ lw $ra, 0x14($sp)
/* 106CD0 802E5450 8FB00010 */ lw $s0, 0x10($sp)
/* 106CD4 802E5454 03E00008 */ jr $ra
/* 106CD8 802E5458 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,16 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E545C
/* 106CDC 802E545C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 106CE0 802E5460 AFB00010 */ sw $s0, 0x10($sp)
/* 106CE4 802E5464 0080802D */ daddu $s0, $a0, $zero
/* 106CE8 802E5468 AFBF0014 */ sw $ra, 0x14($sp)
/* 106CEC 802E546C 0C0B9304 */ jal func_802E4C10
/* 106CF0 802E5470 0000282D */ daddu $a1, $zero, $zero
/* 106CF4 802E5474 0C0B94C9 */ jal func_802E5324
/* 106CF8 802E5478 0200202D */ daddu $a0, $s0, $zero
/* 106CFC 802E547C 8FBF0014 */ lw $ra, 0x14($sp)
/* 106D00 802E5480 8FB00010 */ lw $s0, 0x10($sp)
/* 106D04 802E5484 03E00008 */ jr $ra
/* 106D08 802E5488 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,11 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E548C
/* 106D0C 802E548C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 106D10 802E5490 AFBF0010 */ sw $ra, 0x10($sp)
/* 106D14 802E5494 0C0B9381 */ jal func_802E4E04
/* 106D18 802E5498 0000282D */ daddu $a1, $zero, $zero
/* 106D1C 802E549C 8FBF0010 */ lw $ra, 0x10($sp)
/* 106D20 802E54A0 03E00008 */ jr $ra
/* 106D24 802E54A4 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,13 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E54A8
/* 106D28 802E54A8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 106D2C 802E54AC 3C05802F */ lui $a1, %hi(D_802EA760)
/* 106D30 802E54B0 24A5A760 */ addiu $a1, $a1, %lo(D_802EA760)
/* 106D34 802E54B4 AFBF0010 */ sw $ra, 0x10($sp)
/* 106D38 802E54B8 0C0442F3 */ jal func_80110BCC
/* 106D3C 802E54BC 00000000 */ nop
/* 106D40 802E54C0 8FBF0010 */ lw $ra, 0x10($sp)
/* 106D44 802E54C4 03E00008 */ jr $ra
/* 106D48 802E54C8 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,42 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E54CC
/* 106D4C 802E54CC 3C028011 */ lui $v0, %hi(gPlayerData+0x1C)
/* 106D50 802E54D0 9042F2AC */ lbu $v0, %lo(gPlayerData+0x1C)($v0)
/* 106D54 802E54D4 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 106D58 802E54D8 AFB00010 */ sw $s0, 0x10($sp)
/* 106D5C 802E54DC 0080802D */ daddu $s0, $a0, $zero
/* 106D60 802E54E0 14400018 */ bnez $v0, .L802E5544
/* 106D64 802E54E4 AFBF0014 */ sw $ra, 0x14($sp)
/* 106D68 802E54E8 3C04F840 */ lui $a0, 0xf840
/* 106D6C 802E54EC 0C05152F */ jal get_global_flag
/* 106D70 802E54F0 34845BE0 */ ori $a0, $a0, 0x5be0
/* 106D74 802E54F4 14400013 */ bnez $v0, .L802E5544
/* 106D78 802E54F8 3C04001D */ lui $a0, 0x1d
/* 106D7C 802E54FC 34840001 */ ori $a0, $a0, 1
/* 106D80 802E5500 3C05802F */ lui $a1, %hi(D_802EB3C0)
/* 106D84 802E5504 24A5B3C0 */ addiu $a1, $a1, %lo(D_802EB3C0)
/* 106D88 802E5508 0C049640 */ jal load_string
/* 106D8C 802E550C ACA00000 */ sw $zero, ($a1)
/* 106D90 802E5510 0C009C22 */ jal func_80027088
/* 106D94 802E5514 24040001 */ addiu $a0, $zero, 1
/* 106D98 802E5518 3C03800A */ lui $v1, %hi(D_8009A650)
/* 106D9C 802E551C 2463A650 */ addiu $v1, $v1, %lo(D_8009A650)
/* 106DA0 802E5520 8C620000 */ lw $v0, ($v1)
/* 106DA4 802E5524 34420040 */ ori $v0, $v0, 0x40
/* 106DA8 802E5528 0C03805E */ jal disable_player_input
/* 106DAC 802E552C AC620000 */ sw $v0, ($v1)
/* 106DB0 802E5530 3C04F840 */ lui $a0, 0xf840
/* 106DB4 802E5534 0C051514 */ jal set_global_flag
/* 106DB8 802E5538 34845BE0 */ ori $a0, $a0, 0x5be0
/* 106DBC 802E553C 080B9553 */ j .L802E554C
/* 106DC0 802E5540 00000000 */ nop
.L802E5544:
/* 106DC4 802E5544 0C043F5A */ jal func_8010FD68
/* 106DC8 802E5548 0200202D */ daddu $a0, $s0, $zero
.L802E554C:
/* 106DCC 802E554C 8FBF0014 */ lw $ra, 0x14($sp)
/* 106DD0 802E5550 8FB00010 */ lw $s0, 0x10($sp)
/* 106DD4 802E5554 03E00008 */ jr $ra
/* 106DD8 802E5558 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,24 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E555C
/* 106DDC 802E555C 3C02802F */ lui $v0, %hi(D_802EB3C0)
/* 106DE0 802E5560 8C42B3C0 */ lw $v0, %lo(D_802EB3C0)($v0)
/* 106DE4 802E5564 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 106DE8 802E5568 1040000C */ beqz $v0, .L802E559C
/* 106DEC 802E556C AFBF0010 */ sw $ra, 0x10($sp)
/* 106DF0 802E5570 0C043F5A */ jal func_8010FD68
/* 106DF4 802E5574 00000000 */ nop
/* 106DF8 802E5578 0C009C22 */ jal func_80027088
/* 106DFC 802E557C 0000202D */ daddu $a0, $zero, $zero
/* 106E00 802E5580 3C02800A */ lui $v0, %hi(D_8009A650)
/* 106E04 802E5584 2442A650 */ addiu $v0, $v0, %lo(D_8009A650)
/* 106E08 802E5588 8C430000 */ lw $v1, ($v0)
/* 106E0C 802E558C 2404FFBF */ addiu $a0, $zero, -0x41
/* 106E10 802E5590 00641824 */ and $v1, $v1, $a0
/* 106E14 802E5594 0C038069 */ jal enable_player_input
/* 106E18 802E5598 AC430000 */ sw $v1, ($v0)
.L802E559C:
/* 106E1C 802E559C 8FBF0010 */ lw $ra, 0x10($sp)
/* 106E20 802E55A0 03E00008 */ jr $ra
/* 106E24 802E55A4 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,46 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E55A8
/* 106E28 802E55A8 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 106E2C 802E55AC AFB00018 */ sw $s0, 0x18($sp)
/* 106E30 802E55B0 0080802D */ daddu $s0, $a0, $zero
/* 106E34 802E55B4 AFB1001C */ sw $s1, 0x1c($sp)
/* 106E38 802E55B8 AFB20020 */ sw $s2, 0x20($sp)
/* 106E3C 802E55BC 3C128016 */ lui $s2, %hi(D_8015C7D0)
/* 106E40 802E55C0 8E52C7D0 */ lw $s2, %lo(D_8015C7D0)($s2)
/* 106E44 802E55C4 AFBF0024 */ sw $ra, 0x24($sp)
/* 106E48 802E55C8 0C0B8DB9 */ jal entity_init_Hammer23Block_normal
/* 106E4C 802E55CC 00A0882D */ daddu $s1, $a1, $zero
/* 106E50 802E55D0 0220202D */ daddu $a0, $s1, $zero
/* 106E54 802E55D4 C6000048 */ lwc1 $f0, 0x48($s0)
/* 106E58 802E55D8 C602004C */ lwc1 $f2, 0x4c($s0)
/* 106E5C 802E55DC C6040050 */ lwc1 $f4, 0x50($s0)
/* 106E60 802E55E0 3C028000 */ lui $v0, 0x8000
/* 106E64 802E55E4 AFA00010 */ sw $zero, 0x10($sp)
/* 106E68 802E55E8 4600018D */ trunc.w.s $f6, $f0
/* 106E6C 802E55EC 44053000 */ mfc1 $a1, $f6
/* 106E70 802E55F0 4600118D */ trunc.w.s $f6, $f2
/* 106E74 802E55F4 44063000 */ mfc1 $a2, $f6
/* 106E78 802E55F8 4600218D */ trunc.w.s $f6, $f4
/* 106E7C 802E55FC 44073000 */ mfc1 $a3, $f6
/* 106E80 802E5600 0C044631 */ jal create_entity
/* 106E84 802E5604 AFA20014 */ sw $v0, 0x14($sp)
/* 106E88 802E5608 0C04417A */ jal get_entity_by_index
/* 106E8C 802E560C 0040202D */ daddu $a0, $v0, $zero
/* 106E90 802E5610 8C430040 */ lw $v1, 0x40($v0)
/* 106E94 802E5614 92020004 */ lbu $v0, 4($s0)
/* 106E98 802E5618 16400003 */ bnez $s2, .L802E5628
/* 106E9C 802E561C A0620000 */ sb $v0, ($v1)
/* 106EA0 802E5620 080B958B */ j .L802E562C
/* 106EA4 802E5624 24020003 */ addiu $v0, $zero, 3
.L802E5628:
/* 106EA8 802E5628 24020006 */ addiu $v0, $zero, 6
.L802E562C:
/* 106EAC 802E562C A062000A */ sb $v0, 0xa($v1)
/* 106EB0 802E5630 8FBF0024 */ lw $ra, 0x24($sp)
/* 106EB4 802E5634 8FB20020 */ lw $s2, 0x20($sp)
/* 106EB8 802E5638 8FB1001C */ lw $s1, 0x1c($sp)
/* 106EBC 802E563C 8FB00018 */ lw $s0, 0x18($sp)
/* 106EC0 802E5640 03E00008 */ jr $ra
/* 106EC4 802E5644 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,14 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E5648
/* 106EC8 802E5648 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 106ECC 802E564C 3C05802F */ lui $a1, %hi(D_802EA7BC)
/* 106ED0 802E5650 24A5A7BC */ addiu $a1, $a1, %lo(D_802EA7BC)
/* 106ED4 802E5654 AFBF0010 */ sw $ra, 0x10($sp)
/* 106ED8 802E5658 0C0B956A */ jal func_802E55A8
/* 106EDC 802E565C 00000000 */ nop
/* 106EE0 802E5660 8FBF0010 */ lw $ra, 0x10($sp)
/* 106EE4 802E5664 03E00008 */ jr $ra
/* 106EE8 802E5668 27BD0018 */ addiu $sp, $sp, 0x18
/* 106EEC 802E566C 00000000 */ nop

View File

@ -1,13 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E4710
/* 105F90 802E4710 94820024 */ lhu $v0, 0x24($a0)
/* 105F94 802E4714 00451023 */ subu $v0, $v0, $a1
/* 105F98 802E4718 04420001 */ bltzl $v0, .L802E4720
/* 105F9C 802E471C 2442000A */ addiu $v0, $v0, 0xa
.L802E4720:
/* 105FA0 802E4720 00021080 */ sll $v0, $v0, 2
/* 105FA4 802E4724 00821021 */ addu $v0, $a0, $v0
/* 105FA8 802E4728 03E00008 */ jr $ra
/* 105FAC 802E472C C4400028 */ lwc1 $f0, 0x28($v0)

View File

@ -1,247 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E4730
/* 105FB0 802E4730 27BDFF78 */ addiu $sp, $sp, -0x88
/* 105FB4 802E4734 AFB00060 */ sw $s0, 0x60($sp)
/* 105FB8 802E4738 00A0802D */ daddu $s0, $a1, $zero
/* 105FBC 802E473C AFBF0084 */ sw $ra, 0x84($sp)
/* 105FC0 802E4740 AFBE0080 */ sw $fp, 0x80($sp)
/* 105FC4 802E4744 AFB7007C */ sw $s7, 0x7c($sp)
/* 105FC8 802E4748 AFB60078 */ sw $s6, 0x78($sp)
/* 105FCC 802E474C AFB50074 */ sw $s5, 0x74($sp)
/* 105FD0 802E4750 AFB40070 */ sw $s4, 0x70($sp)
/* 105FD4 802E4754 AFB3006C */ sw $s3, 0x6c($sp)
/* 105FD8 802E4758 AFB20068 */ sw $s2, 0x68($sp)
/* 105FDC 802E475C 0C04417A */ jal get_entity_by_index
/* 105FE0 802E4760 AFB10064 */ sw $s1, 0x64($sp)
/* 105FE4 802E4764 3C04FCFF */ lui $a0, 0xfcff
/* 105FE8 802E4768 3484B3FF */ ori $a0, $a0, 0xb3ff
/* 105FEC 802E476C 3C03FF2C */ lui $v1, 0xff2c
/* 105FF0 802E4770 3463FE7F */ ori $v1, $v1, 0xfe7f
/* 105FF4 802E4774 2415005C */ addiu $s5, $zero, 0x5c
/* 105FF8 802E4778 0040882D */ daddu $s1, $v0, $zero
/* 105FFC 802E477C 3210FFFF */ andi $s0, $s0, 0xffff
/* 106000 802E4780 3C12800A */ lui $s2, %hi(gMasterGfxPos)
/* 106004 802E4784 8E52A66C */ lw $s2, %lo(gMasterGfxPos)($s2)
/* 106008 802E4788 8E330040 */ lw $s3, 0x40($s1)
/* 10600C 802E478C 8E250044 */ lw $a1, 0x44($s1)
/* 106010 802E4790 0240102D */ daddu $v0, $s2, $zero
/* 106014 802E4794 26520008 */ addiu $s2, $s2, 8
/* 106018 802E4798 AC430004 */ sw $v1, 4($v0)
/* 10601C 802E479C 0240182D */ daddu $v1, $s2, $zero
/* 106020 802E47A0 AC440000 */ sw $a0, ($v0)
/* 106024 802E47A4 3C02FA00 */ lui $v0, 0xfa00
/* 106028 802E47A8 AC620000 */ sw $v0, ($v1)
/* 10602C 802E47AC 9222000B */ lbu $v0, 0xb($s1)
/* 106030 802E47B0 26520008 */ addiu $s2, $s2, 8
/* 106034 802E47B4 AC620004 */ sw $v0, 4($v1)
/* 106038 802E47B8 9223000B */ lbu $v1, 0xb($s1)
/* 10603C 802E47BC 0075102A */ slt $v0, $v1, $s5
/* 106040 802E47C0 10400002 */ beqz $v0, .L802E47CC
/* 106044 802E47C4 00B0F021 */ addu $fp, $a1, $s0
/* 106048 802E47C8 0060A82D */ daddu $s5, $v1, $zero
.L802E47CC:
/* 10604C 802E47CC 0260202D */ daddu $a0, $s3, $zero
/* 106050 802E47D0 0C0B91C4 */ jal func_802E4710
/* 106054 802E47D4 24050002 */ addiu $a1, $zero, 2
/* 106058 802E47D8 44050000 */ mfc1 $a1, $f0
/* 10605C 802E47DC 44800000 */ mtc1 $zero, $f0
/* 106060 802E47E0 3C073F80 */ lui $a3, 0x3f80
/* 106064 802E47E4 44060000 */ mfc1 $a2, $f0
/* 106068 802E47E8 27A40018 */ addiu $a0, $sp, 0x18
/* 10606C 802E47EC 0C019EC8 */ jal guRotateF
/* 106070 802E47F0 AFA60010 */ sw $a2, 0x10($sp)
/* 106074 802E47F4 27A40018 */ addiu $a0, $sp, 0x18
/* 106078 802E47F8 26700058 */ addiu $s0, $s3, 0x58
/* 10607C 802E47FC 0C019D40 */ jal guMtxF2L
/* 106080 802E4800 0200282D */ daddu $a1, $s0, $zero
/* 106084 802E4804 3C040001 */ lui $a0, 1
/* 106088 802E4808 34841630 */ ori $a0, $a0, 0x1630
/* 10608C 802E480C 26650098 */ addiu $a1, $s3, 0x98
/* 106090 802E4810 3C028007 */ lui $v0, %hi(gMatrixListPos)
/* 106094 802E4814 944241F0 */ lhu $v0, %lo(gMatrixListPos)($v0)
/* 106098 802E4818 3C03800A */ lui $v1, %hi(gDisplayContext)
/* 10609C 802E481C 8C63A674 */ lw $v1, %lo(gDisplayContext)($v1)
/* 1060A0 802E4820 00021180 */ sll $v0, $v0, 6
/* 1060A4 802E4824 00621821 */ addu $v1, $v1, $v0
/* 1060A8 802E4828 00641821 */ addu $v1, $v1, $a0
.L802E482C:
/* 1060AC 802E482C 8E160000 */ lw $s6, ($s0)
/* 1060B0 802E4830 8E170004 */ lw $s7, 4($s0)
/* 1060B4 802E4834 8E180008 */ lw $t8, 8($s0)
/* 1060B8 802E4838 8E19000C */ lw $t9, 0xc($s0)
/* 1060BC 802E483C AC760000 */ sw $s6, ($v1)
/* 1060C0 802E4840 AC770004 */ sw $s7, 4($v1)
/* 1060C4 802E4844 AC780008 */ sw $t8, 8($v1)
/* 1060C8 802E4848 AC79000C */ sw $t9, 0xc($v1)
/* 1060CC 802E484C 26100010 */ addiu $s0, $s0, 0x10
/* 1060D0 802E4850 1605FFF6 */ bne $s0, $a1, .L802E482C
/* 1060D4 802E4854 24630010 */ addiu $v1, $v1, 0x10
/* 1060D8 802E4858 0240502D */ daddu $t2, $s2, $zero
/* 1060DC 802E485C 26520008 */ addiu $s2, $s2, 8
/* 1060E0 802E4860 3C160001 */ lui $s6, 1
/* 1060E4 802E4864 36D61630 */ ori $s6, $s6, 0x1630
/* 1060E8 802E4868 0240482D */ daddu $t1, $s2, $zero
/* 1060EC 802E486C 26520008 */ addiu $s2, $s2, 8
/* 1060F0 802E4870 3C0FE200 */ lui $t7, 0xe200
/* 1060F4 802E4874 35EF001C */ ori $t7, $t7, 0x1c
/* 1060F8 802E4878 3C0E0050 */ lui $t6, 0x50
/* 1060FC 802E487C 35CE4358 */ ori $t6, $t6, 0x4358
/* 106100 802E4880 0240302D */ daddu $a2, $s2, $zero
/* 106104 802E4884 26520008 */ addiu $s2, $s2, 8
/* 106108 802E4888 0240382D */ daddu $a3, $s2, $zero
/* 10610C 802E488C 26520008 */ addiu $s2, $s2, 8
/* 106110 802E4890 0240402D */ daddu $t0, $s2, $zero
/* 106114 802E4894 26520008 */ addiu $s2, $s2, 8
/* 106118 802E4898 3C0DFCFF */ lui $t5, 0xfcff
/* 10611C 802E489C 35ADB3FF */ ori $t5, $t5, 0xb3ff
/* 106120 802E48A0 3C0CFF2C */ lui $t4, 0xff2c
/* 106124 802E48A4 358CFE7F */ ori $t4, $t4, 0xfe7f
/* 106128 802E48A8 0240202D */ daddu $a0, $s2, $zero
/* 10612C 802E48AC 26520008 */ addiu $s2, $s2, 8
/* 106130 802E48B0 0240282D */ daddu $a1, $s2, $zero
/* 106134 802E48B4 3C0BD838 */ lui $t3, 0xd838
/* 106138 802E48B8 356B0002 */ ori $t3, $t3, 2
/* 10613C 802E48BC 3C148007 */ lui $s4, %hi(gMatrixListPos)
/* 106140 802E48C0 269441F0 */ addiu $s4, $s4, %lo(gMatrixListPos)
/* 106144 802E48C4 AFB60058 */ sw $s6, 0x58($sp)
/* 106148 802E48C8 96820000 */ lhu $v0, ($s4)
/* 10614C 802E48CC 3C03DA38 */ lui $v1, 0xda38
/* 106150 802E48D0 AD430000 */ sw $v1, ($t2)
/* 106154 802E48D4 24430001 */ addiu $v1, $v0, 1
/* 106158 802E48D8 3042FFFF */ andi $v0, $v0, 0xffff
/* 10615C 802E48DC 00021180 */ sll $v0, $v0, 6
/* 106160 802E48E0 A6830000 */ sh $v1, ($s4)
/* 106164 802E48E4 3C03800A */ lui $v1, %hi(gDisplayContext)
/* 106168 802E48E8 8C63A674 */ lw $v1, %lo(gDisplayContext)($v1)
/* 10616C 802E48EC 00561021 */ addu $v0, $v0, $s6
/* 106170 802E48F0 00621821 */ addu $v1, $v1, $v0
/* 106174 802E48F4 3C02DE00 */ lui $v0, 0xde00
/* 106178 802E48F8 AD430004 */ sw $v1, 4($t2)
/* 10617C 802E48FC AD2F0000 */ sw $t7, ($t1)
/* 106180 802E4900 AD2E0004 */ sw $t6, 4($t1)
/* 106184 802E4904 ACC20000 */ sw $v0, ($a2)
/* 106188 802E4908 3C02E700 */ lui $v0, 0xe700
/* 10618C 802E490C ACDE0004 */ sw $fp, 4($a2)
/* 106190 802E4910 ACE20000 */ sw $v0, ($a3)
/* 106194 802E4914 3C02FA00 */ lui $v0, 0xfa00
/* 106198 802E4918 ACE00004 */ sw $zero, 4($a3)
/* 10619C 802E491C AD0D0000 */ sw $t5, ($t0)
/* 1061A0 802E4920 AD0C0004 */ sw $t4, 4($t0)
/* 1061A4 802E4924 AC820000 */ sw $v0, ($a0)
/* 1061A8 802E4928 24020040 */ addiu $v0, $zero, 0x40
/* 1061AC 802E492C AC950004 */ sw $s5, 4($a0)
/* 1061B0 802E4930 ACAB0000 */ sw $t3, ($a1)
/* 1061B4 802E4934 ACA20004 */ sw $v0, 4($a1)
/* 1061B8 802E4938 9223000B */ lbu $v1, 0xb($s1)
/* 1061BC 802E493C 24150048 */ addiu $s5, $zero, 0x48
/* 1061C0 802E4940 0075102A */ slt $v0, $v1, $s5
/* 1061C4 802E4944 10400002 */ beqz $v0, .L802E4950
/* 1061C8 802E4948 26520008 */ addiu $s2, $s2, 8
/* 1061CC 802E494C 0060A82D */ daddu $s5, $v1, $zero
.L802E4950:
/* 1061D0 802E4950 0260202D */ daddu $a0, $s3, $zero
/* 1061D4 802E4954 0C0B91C4 */ jal func_802E4710
/* 1061D8 802E4958 24050003 */ addiu $a1, $zero, 3
/* 1061DC 802E495C 44050000 */ mfc1 $a1, $f0
/* 1061E0 802E4960 44800000 */ mtc1 $zero, $f0
/* 1061E4 802E4964 3C073F80 */ lui $a3, 0x3f80
/* 1061E8 802E4968 44060000 */ mfc1 $a2, $f0
/* 1061EC 802E496C 27A40018 */ addiu $a0, $sp, 0x18
/* 1061F0 802E4970 0C019EC8 */ jal guRotateF
/* 1061F4 802E4974 AFA60010 */ sw $a2, 0x10($sp)
/* 1061F8 802E4978 27A40018 */ addiu $a0, $sp, 0x18
/* 1061FC 802E497C 26700098 */ addiu $s0, $s3, 0x98
/* 106200 802E4980 0C019D40 */ jal guMtxF2L
/* 106204 802E4984 0200282D */ daddu $a1, $s0, $zero
/* 106208 802E4988 266400D8 */ addiu $a0, $s3, 0xd8
/* 10620C 802E498C 96820000 */ lhu $v0, ($s4)
/* 106210 802E4990 3C03800A */ lui $v1, %hi(gDisplayContext)
/* 106214 802E4994 8C63A674 */ lw $v1, %lo(gDisplayContext)($v1)
/* 106218 802E4998 8FB70058 */ lw $s7, 0x58($sp)
/* 10621C 802E499C 00021180 */ sll $v0, $v0, 6
/* 106220 802E49A0 00621821 */ addu $v1, $v1, $v0
/* 106224 802E49A4 00771821 */ addu $v1, $v1, $s7
.L802E49A8:
/* 106228 802E49A8 8E180000 */ lw $t8, ($s0)
/* 10622C 802E49AC 8E190004 */ lw $t9, 4($s0)
/* 106230 802E49B0 8E160008 */ lw $s6, 8($s0)
/* 106234 802E49B4 8E17000C */ lw $s7, 0xc($s0)
/* 106238 802E49B8 AC780000 */ sw $t8, ($v1)
/* 10623C 802E49BC AC790004 */ sw $t9, 4($v1)
/* 106240 802E49C0 AC760008 */ sw $s6, 8($v1)
/* 106244 802E49C4 AC77000C */ sw $s7, 0xc($v1)
/* 106248 802E49C8 26100010 */ addiu $s0, $s0, 0x10
/* 10624C 802E49CC 1604FFF6 */ bne $s0, $a0, .L802E49A8
/* 106250 802E49D0 24630010 */ addiu $v1, $v1, 0x10
/* 106254 802E49D4 0240582D */ daddu $t3, $s2, $zero
/* 106258 802E49D8 26520008 */ addiu $s2, $s2, 8
/* 10625C 802E49DC 3C110001 */ lui $s1, 1
/* 106260 802E49E0 36311630 */ ori $s1, $s1, 0x1630
/* 106264 802E49E4 0240502D */ daddu $t2, $s2, $zero
/* 106268 802E49E8 26520008 */ addiu $s2, $s2, 8
/* 10626C 802E49EC 3C10E200 */ lui $s0, 0xe200
/* 106270 802E49F0 3610001C */ ori $s0, $s0, 0x1c
/* 106274 802E49F4 3C0F0050 */ lui $t7, 0x50
/* 106278 802E49F8 35EF4358 */ ori $t7, $t7, 0x4358
/* 10627C 802E49FC 0240382D */ daddu $a3, $s2, $zero
/* 106280 802E4A00 26520008 */ addiu $s2, $s2, 8
/* 106284 802E4A04 0240402D */ daddu $t0, $s2, $zero
/* 106288 802E4A08 26520008 */ addiu $s2, $s2, 8
/* 10628C 802E4A0C 0240482D */ daddu $t1, $s2, $zero
/* 106290 802E4A10 26520008 */ addiu $s2, $s2, 8
/* 106294 802E4A14 3C0EFCFF */ lui $t6, 0xfcff
/* 106298 802E4A18 35CEB3FF */ ori $t6, $t6, 0xb3ff
/* 10629C 802E4A1C 3C0DFF2C */ lui $t5, 0xff2c
/* 1062A0 802E4A20 35ADFE7F */ ori $t5, $t5, 0xfe7f
/* 1062A4 802E4A24 0240282D */ daddu $a1, $s2, $zero
/* 1062A8 802E4A28 26520008 */ addiu $s2, $s2, 8
/* 1062AC 802E4A2C 0240302D */ daddu $a2, $s2, $zero
/* 1062B0 802E4A30 26520008 */ addiu $s2, $s2, 8
/* 1062B4 802E4A34 3C0CD838 */ lui $t4, 0xd838
/* 1062B8 802E4A38 358C0002 */ ori $t4, $t4, 2
/* 1062BC 802E4A3C 3C048007 */ lui $a0, %hi(gMatrixListPos)
/* 1062C0 802E4A40 248441F0 */ addiu $a0, $a0, %lo(gMatrixListPos)
/* 1062C4 802E4A44 94820000 */ lhu $v0, ($a0)
/* 1062C8 802E4A48 3C03DA38 */ lui $v1, 0xda38
/* 1062CC 802E4A4C AD630000 */ sw $v1, ($t3)
/* 1062D0 802E4A50 3C01800A */ lui $at, %hi(gMasterGfxPos)
/* 1062D4 802E4A54 AC32A66C */ sw $s2, %lo(gMasterGfxPos)($at)
/* 1062D8 802E4A58 24430001 */ addiu $v1, $v0, 1
/* 1062DC 802E4A5C 3042FFFF */ andi $v0, $v0, 0xffff
/* 1062E0 802E4A60 00021180 */ sll $v0, $v0, 6
/* 1062E4 802E4A64 A4830000 */ sh $v1, ($a0)
/* 1062E8 802E4A68 3C03800A */ lui $v1, %hi(gDisplayContext)
/* 1062EC 802E4A6C 8C63A674 */ lw $v1, %lo(gDisplayContext)($v1)
/* 1062F0 802E4A70 00511021 */ addu $v0, $v0, $s1
/* 1062F4 802E4A74 00621821 */ addu $v1, $v1, $v0
/* 1062F8 802E4A78 3C02DE00 */ lui $v0, 0xde00
/* 1062FC 802E4A7C AD630004 */ sw $v1, 4($t3)
/* 106300 802E4A80 AD500000 */ sw $s0, ($t2)
/* 106304 802E4A84 AD4F0004 */ sw $t7, 4($t2)
/* 106308 802E4A88 ACE20000 */ sw $v0, ($a3)
/* 10630C 802E4A8C 3C02E700 */ lui $v0, 0xe700
/* 106310 802E4A90 ACFE0004 */ sw $fp, 4($a3)
/* 106314 802E4A94 AD020000 */ sw $v0, ($t0)
/* 106318 802E4A98 3C02FA00 */ lui $v0, 0xfa00
/* 10631C 802E4A9C AD000004 */ sw $zero, 4($t0)
/* 106320 802E4AA0 AD2E0000 */ sw $t6, ($t1)
/* 106324 802E4AA4 AD2D0004 */ sw $t5, 4($t1)
/* 106328 802E4AA8 ACA20000 */ sw $v0, ($a1)
/* 10632C 802E4AAC 24020040 */ addiu $v0, $zero, 0x40
/* 106330 802E4AB0 ACB50004 */ sw $s5, 4($a1)
/* 106334 802E4AB4 ACCC0000 */ sw $t4, ($a2)
/* 106338 802E4AB8 ACC20004 */ sw $v0, 4($a2)
/* 10633C 802E4ABC 8FBF0084 */ lw $ra, 0x84($sp)
/* 106340 802E4AC0 8FBE0080 */ lw $fp, 0x80($sp)
/* 106344 802E4AC4 8FB7007C */ lw $s7, 0x7c($sp)
/* 106348 802E4AC8 8FB60078 */ lw $s6, 0x78($sp)
/* 10634C 802E4ACC 8FB50074 */ lw $s5, 0x74($sp)
/* 106350 802E4AD0 8FB40070 */ lw $s4, 0x70($sp)
/* 106354 802E4AD4 8FB3006C */ lw $s3, 0x6c($sp)
/* 106358 802E4AD8 8FB20068 */ lw $s2, 0x68($sp)
/* 10635C 802E4ADC 8FB10064 */ lw $s1, 0x64($sp)
/* 106360 802E4AE0 8FB00060 */ lw $s0, 0x60($sp)
/* 106364 802E4AE4 03E00008 */ jr $ra
/* 106368 802E4AE8 27BD0088 */ addiu $sp, $sp, 0x88

View File

@ -1,128 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E4C10
/* 106490 802E4C10 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 106494 802E4C14 AFB10024 */ sw $s1, 0x24($sp)
/* 106498 802E4C18 0080882D */ daddu $s1, $a0, $zero
/* 10649C 802E4C1C AFBF0028 */ sw $ra, 0x28($sp)
/* 1064A0 802E4C20 AFB00020 */ sw $s0, 0x20($sp)
/* 1064A4 802E4C24 8E300040 */ lw $s0, 0x40($s1)
/* 1064A8 802E4C28 92030001 */ lbu $v1, 1($s0)
/* 1064AC 802E4C2C 24020001 */ addiu $v0, $zero, 1
/* 1064B0 802E4C30 10620014 */ beq $v1, $v0, .L802E4C84
/* 1064B4 802E4C34 28620002 */ slti $v0, $v1, 2
/* 1064B8 802E4C38 10400005 */ beqz $v0, .L802E4C50
/* 1064BC 802E4C3C 24020002 */ addiu $v0, $zero, 2
/* 1064C0 802E4C40 50600009 */ beql $v1, $zero, .L802E4C68
/* 1064C4 802E4C44 AE200054 */ sw $zero, 0x54($s1)
/* 1064C8 802E4C48 080B935C */ j .L802E4D70
/* 1064CC 802E4C4C 00000000 */ nop
.L802E4C50:
/* 1064D0 802E4C50 10620028 */ beq $v1, $v0, .L802E4CF4
/* 1064D4 802E4C54 24020003 */ addiu $v0, $zero, 3
/* 1064D8 802E4C58 1062002B */ beq $v1, $v0, .L802E4D08
/* 1064DC 802E4C5C 00000000 */ nop
/* 1064E0 802E4C60 080B935C */ j .L802E4D70
/* 1064E4 802E4C64 00000000 */ nop
.L802E4C68:
/* 1064E8 802E4C68 AE200058 */ sw $zero, 0x58($s1)
/* 1064EC 802E4C6C 14A00057 */ bnez $a1, .L802E4DCC
/* 1064F0 802E4C70 AE20005C */ sw $zero, 0x5c($s1)
/* 1064F4 802E4C74 92020001 */ lbu $v0, 1($s0)
/* 1064F8 802E4C78 24420001 */ addiu $v0, $v0, 1
/* 1064FC 802E4C7C 080B935C */ j .L802E4D70
/* 106500 802E4C80 A2020001 */ sb $v0, 1($s0)
.L802E4C84:
/* 106504 802E4C84 C6200054 */ lwc1 $f0, 0x54($s1)
/* 106508 802E4C88 3C01802F */ lui $at, %hi(D_802EB270)
/* 10650C 802E4C8C D422B270 */ ldc1 $f2, %lo(D_802EB270)($at)
/* 106510 802E4C90 46000021 */ cvt.d.s $f0, $f0
/* 106514 802E4C94 46220000 */ add.d $f0, $f0, $f2
/* 106518 802E4C98 3C013FF0 */ lui $at, 0x3ff0
/* 10651C 802E4C9C 44811800 */ mtc1 $at, $f3
/* 106520 802E4CA0 44801000 */ mtc1 $zero, $f2
/* 106524 802E4CA4 46200020 */ cvt.s.d $f0, $f0
/* 106528 802E4CA8 E6200054 */ swc1 $f0, 0x54($s1)
/* 10652C 802E4CAC 46000021 */ cvt.d.s $f0, $f0
/* 106530 802E4CB0 4620103E */ c.le.d $f2, $f0
/* 106534 802E4CB4 00000000 */ nop
/* 106538 802E4CB8 45000009 */ bc1f .L802E4CE0
/* 10653C 802E4CBC 00000000 */ nop
/* 106540 802E4CC0 3C013F80 */ lui $at, 0x3f80
/* 106544 802E4CC4 44810000 */ mtc1 $at, $f0
/* 106548 802E4CC8 00000000 */ nop
/* 10654C 802E4CCC E6200054 */ swc1 $f0, 0x54($s1)
/* 106550 802E4CD0 92020001 */ lbu $v0, 1($s0)
/* 106554 802E4CD4 A2000002 */ sb $zero, 2($s0)
/* 106558 802E4CD8 24420001 */ addiu $v0, $v0, 1
/* 10655C 802E4CDC A2020001 */ sb $v0, 1($s0)
.L802E4CE0:
/* 106560 802E4CE0 C6200054 */ lwc1 $f0, 0x54($s1)
/* 106564 802E4CE4 46000086 */ mov.s $f2, $f0
/* 106568 802E4CE8 E620005C */ swc1 $f0, 0x5c($s1)
/* 10656C 802E4CEC 080B935C */ j .L802E4D70
/* 106570 802E4CF0 E6220058 */ swc1 $f2, 0x58($s1)
.L802E4CF4:
/* 106574 802E4CF4 0C0B92C4 */ jal func_802E4B10
/* 106578 802E4CF8 0220202D */ daddu $a0, $s1, $zero
/* 10657C 802E4CFC 92020001 */ lbu $v0, 1($s0)
/* 106580 802E4D00 24420001 */ addiu $v0, $v0, 1
/* 106584 802E4D04 A2020001 */ sb $v0, 1($s0)
.L802E4D08:
/* 106588 802E4D08 3C02800A */ lui $v0, %hi(D_8009A650)
/* 10658C 802E4D0C 8C42A650 */ lw $v0, %lo(D_8009A650)($v0)
/* 106590 802E4D10 14400017 */ bnez $v0, .L802E4D70
/* 106594 802E4D14 00000000 */ nop
/* 106598 802E4D18 92020002 */ lbu $v0, 2($s0)
/* 10659C 802E4D1C 2442FFFF */ addiu $v0, $v0, -1
/* 1065A0 802E4D20 A2020002 */ sb $v0, 2($s0)
/* 1065A4 802E4D24 00021600 */ sll $v0, $v0, 0x18
/* 1065A8 802E4D28 1C400011 */ bgtz $v0, .L802E4D70
/* 1065AC 802E4D2C 24020032 */ addiu $v0, $zero, 0x32
/* 1065B0 802E4D30 9204000A */ lbu $a0, 0xa($s0)
/* 1065B4 802E4D34 3C0141B0 */ lui $at, 0x41b0
/* 1065B8 802E4D38 44810000 */ mtc1 $at, $f0
/* 1065BC 802E4D3C 3C014100 */ lui $at, 0x4100
/* 1065C0 802E4D40 44811000 */ mtc1 $at, $f2
/* 1065C4 802E4D44 A2020002 */ sb $v0, 2($s0)
/* 1065C8 802E4D48 24020004 */ addiu $v0, $zero, 4
/* 1065CC 802E4D4C AFA20018 */ sw $v0, 0x18($sp)
/* 1065D0 802E4D50 24020014 */ addiu $v0, $zero, 0x14
/* 1065D4 802E4D54 AFA2001C */ sw $v0, 0x1c($sp)
/* 1065D8 802E4D58 E7A00010 */ swc1 $f0, 0x10($sp)
/* 1065DC 802E4D5C E7A20014 */ swc1 $f2, 0x14($sp)
/* 1065E0 802E4D60 8E250048 */ lw $a1, 0x48($s1)
/* 1065E4 802E4D64 8E26004C */ lw $a2, 0x4c($s1)
/* 1065E8 802E4D68 0C01C154 */ jal func_80070550
/* 1065EC 802E4D6C 8E270050 */ lw $a3, 0x50($s1)
.L802E4D70:
/* 1065F0 802E4D70 0C04417A */ jal get_entity_by_index
/* 1065F4 802E4D74 92040000 */ lbu $a0, ($s0)
/* 1065F8 802E4D78 0C0B836C */ jal func_802E0DB0
/* 1065FC 802E4D7C 0040202D */ daddu $a0, $v0, $zero
/* 106600 802E4D80 10400012 */ beqz $v0, .L802E4DCC
/* 106604 802E4D84 00000000 */ nop
/* 106608 802E4D88 0C043F5A */ jal func_8010FD68
/* 10660C 802E4D8C 0220202D */ daddu $a0, $s1, $zero
/* 106610 802E4D90 0C03805E */ jal disable_player_input
/* 106614 802E4D94 00000000 */ nop
/* 106618 802E4D98 3C038011 */ lui $v1, %hi(gPlayerStatus)
/* 10661C 802E4D9C 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus)
/* 106620 802E4DA0 8C620004 */ lw $v0, 4($v1)
/* 106624 802E4DA4 24040001 */ addiu $a0, $zero, 1
/* 106628 802E4DA8 AC600054 */ sw $zero, 0x54($v1)
/* 10662C 802E4DAC 34420200 */ ori $v0, $v0, 0x200
/* 106630 802E4DB0 0C009C22 */ jal func_80027088
/* 106634 802E4DB4 AC620004 */ sw $v0, 4($v1)
/* 106638 802E4DB8 3C03800A */ lui $v1, %hi(D_8009A650)
/* 10663C 802E4DBC 2463A650 */ addiu $v1, $v1, %lo(D_8009A650)
/* 106640 802E4DC0 8C620000 */ lw $v0, ($v1)
/* 106644 802E4DC4 34420040 */ ori $v0, $v0, 0x40
/* 106648 802E4DC8 AC620000 */ sw $v0, ($v1)
.L802E4DCC:
/* 10664C 802E4DCC 8FBF0028 */ lw $ra, 0x28($sp)
/* 106650 802E4DD0 8FB10024 */ lw $s1, 0x24($sp)
/* 106654 802E4DD4 8FB00020 */ lw $s0, 0x20($sp)
/* 106658 802E4DD8 03E00008 */ jr $ra
/* 10665C 802E4DDC 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,335 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E4E04
/* 106684 802E4E04 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 106688 802E4E08 AFB1001C */ sw $s1, 0x1c($sp)
/* 10668C 802E4E0C 0080882D */ daddu $s1, $a0, $zero
/* 106690 802E4E10 AFBF0024 */ sw $ra, 0x24($sp)
/* 106694 802E4E14 AFB20020 */ sw $s2, 0x20($sp)
/* 106698 802E4E18 AFB00018 */ sw $s0, 0x18($sp)
/* 10669C 802E4E1C F7B60030 */ sdc1 $f22, 0x30($sp)
/* 1066A0 802E4E20 F7B40028 */ sdc1 $f20, 0x28($sp)
/* 1066A4 802E4E24 8E300040 */ lw $s0, 0x40($s1)
/* 1066A8 802E4E28 92030001 */ lbu $v1, 1($s0)
/* 1066AC 802E4E2C 3C128011 */ lui $s2, %hi(gPlayerStatus)
/* 1066B0 802E4E30 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus)
/* 1066B4 802E4E34 2C620006 */ sltiu $v0, $v1, 6
/* 1066B8 802E4E38 1040012B */ beqz $v0, .L802E52E8
/* 1066BC 802E4E3C 00031080 */ sll $v0, $v1, 2
/* 1066C0 802E4E40 3C01802F */ lui $at, %hi(D_802EB278)
/* 1066C4 802E4E44 00220821 */ addu $at, $at, $v0
/* 1066C8 802E4E48 8C22B278 */ lw $v0, %lo(D_802EB278)($at)
/* 1066CC 802E4E4C 00400008 */ jr $v0
/* 1066D0 802E4E50 00000000 */ nop
/* 1066D4 802E4E54 3C014000 */ lui $at, 0x4000
/* 1066D8 802E4E58 44810000 */ mtc1 $at, $f0
/* 1066DC 802E4E5C 00000000 */ nop
/* 1066E0 802E4E60 E7A00010 */ swc1 $f0, 0x10($sp)
/* 1066E4 802E4E64 8E250048 */ lw $a1, 0x48($s1)
/* 1066E8 802E4E68 8E26004C */ lw $a2, 0x4c($s1)
/* 1066EC 802E4E6C 8E270050 */ lw $a3, 0x50($s1)
/* 1066F0 802E4E70 0C01BFBC */ jal func_8006FEF0
/* 1066F4 802E4E74 0000202D */ daddu $a0, $zero, $zero
/* 1066F8 802E4E78 92020001 */ lbu $v0, 1($s0)
/* 1066FC 802E4E7C 3C0140C0 */ lui $at, 0x40c0
/* 106700 802E4E80 44810000 */ mtc1 $at, $f0
/* 106704 802E4E84 AE000020 */ sw $zero, 0x20($s0)
/* 106708 802E4E88 24420001 */ addiu $v0, $v0, 1
/* 10670C 802E4E8C A2020001 */ sb $v0, 1($s0)
/* 106710 802E4E90 080B94BA */ j .L802E52E8
/* 106714 802E4E94 E6000014 */ swc1 $f0, 0x14($s0)
/* 106718 802E4E98 C620004C */ lwc1 $f0, 0x4c($s1)
/* 10671C 802E4E9C C6020014 */ lwc1 $f2, 0x14($s0)
/* 106720 802E4EA0 46020000 */ add.s $f0, $f0, $f2
/* 106724 802E4EA4 3C013F80 */ lui $at, 0x3f80
/* 106728 802E4EA8 44811000 */ mtc1 $at, $f2
/* 10672C 802E4EAC E620004C */ swc1 $f0, 0x4c($s1)
/* 106730 802E4EB0 C6000014 */ lwc1 $f0, 0x14($s0)
/* 106734 802E4EB4 46020001 */ sub.s $f0, $f0, $f2
/* 106738 802E4EB8 3C014000 */ lui $at, 0x4000
/* 10673C 802E4EBC 44811000 */ mtc1 $at, $f2
/* 106740 802E4EC0 00000000 */ nop
/* 106744 802E4EC4 4602003E */ c.le.s $f0, $f2
/* 106748 802E4EC8 00000000 */ nop
/* 10674C 802E4ECC 45000106 */ bc1f .L802E52E8
/* 106750 802E4ED0 E6000014 */ swc1 $f0, 0x14($s0)
/* 106754 802E4ED4 0220202D */ daddu $a0, $s1, $zero
/* 106758 802E4ED8 3C05802F */ lui $a1, %hi(D_802EA744)
/* 10675C 802E4EDC 24A5A744 */ addiu $a1, $a1, %lo(D_802EA744)
/* 106760 802E4EE0 92020001 */ lbu $v0, 1($s0)
/* 106764 802E4EE4 2403DFFF */ addiu $v1, $zero, -0x2001
/* 106768 802E4EE8 24420001 */ addiu $v0, $v0, 1
/* 10676C 802E4EEC A2020001 */ sb $v0, 1($s0)
/* 106770 802E4EF0 8E220000 */ lw $v0, ($s1)
/* 106774 802E4EF4 3C01C120 */ lui $at, 0xc120
/* 106778 802E4EF8 44810000 */ mtc1 $at, $f0
/* 10677C 802E4EFC 00431024 */ and $v0, $v0, $v1
/* 106780 802E4F00 AE220000 */ sw $v0, ($s1)
/* 106784 802E4F04 0C0442F3 */ jal func_80110BCC
/* 106788 802E4F08 E6000054 */ swc1 $f0, 0x54($s0)
/* 10678C 802E4F0C 3C02802E */ lui $v0, %hi(func_802E4AEC)
/* 106790 802E4F10 24424AEC */ addiu $v0, $v0, %lo(func_802E4AEC)
/* 106794 802E4F14 080B94BA */ j .L802E52E8
/* 106798 802E4F18 AE22003C */ sw $v0, 0x3c($s1)
/* 10679C 802E4F1C C60C0020 */ lwc1 $f12, 0x20($s0)
/* 1067A0 802E4F20 3C0140C9 */ lui $at, 0x40c9
/* 1067A4 802E4F24 34210FD0 */ ori $at, $at, 0xfd0
/* 1067A8 802E4F28 44810000 */ mtc1 $at, $f0
/* 1067AC 802E4F2C 00000000 */ nop
/* 1067B0 802E4F30 46006302 */ mul.s $f12, $f12, $f0
/* 1067B4 802E4F34 00000000 */ nop
/* 1067B8 802E4F38 3C0143B4 */ lui $at, 0x43b4
/* 1067BC 802E4F3C 4481A000 */ mtc1 $at, $f20
/* 1067C0 802E4F40 0C00A85B */ jal sin_rad
/* 1067C4 802E4F44 46146303 */ div.s $f12, $f12, $f20
/* 1067C8 802E4F48 3C013F00 */ lui $at, 0x3f00
/* 1067CC 802E4F4C 44811000 */ mtc1 $at, $f2
/* 1067D0 802E4F50 00000000 */ nop
/* 1067D4 802E4F54 46020002 */ mul.s $f0, $f0, $f2
/* 1067D8 802E4F58 00000000 */ nop
/* 1067DC 802E4F5C C622004C */ lwc1 $f2, 0x4c($s1)
/* 1067E0 802E4F60 46001080 */ add.s $f2, $f2, $f0
/* 1067E4 802E4F64 3C0141F0 */ lui $at, 0x41f0
/* 1067E8 802E4F68 44810000 */ mtc1 $at, $f0
/* 1067EC 802E4F6C E622004C */ swc1 $f2, 0x4c($s1)
/* 1067F0 802E4F70 C6020020 */ lwc1 $f2, 0x20($s0)
/* 1067F4 802E4F74 46001001 */ sub.s $f0, $f2, $f0
/* 1067F8 802E4F78 44802000 */ mtc1 $zero, $f4
/* 1067FC 802E4F7C 00000000 */ nop
/* 106800 802E4F80 4604003C */ c.lt.s $f0, $f4
/* 106804 802E4F84 00000000 */ nop
/* 106808 802E4F88 45000003 */ bc1f .L802E4F98
/* 10680C 802E4F8C E6000020 */ swc1 $f0, 0x20($s0)
/* 106810 802E4F90 46140000 */ add.s $f0, $f0, $f20
/* 106814 802E4F94 E6000020 */ swc1 $f0, 0x20($s0)
.L802E4F98:
/* 106818 802E4F98 C6200064 */ lwc1 $f0, 0x64($s1)
/* 10681C 802E4F9C C6020054 */ lwc1 $f2, 0x54($s0)
/* 106820 802E4FA0 46020000 */ add.s $f0, $f0, $f2
/* 106824 802E4FA4 3C014000 */ lui $at, 0x4000
/* 106828 802E4FA8 44811000 */ mtc1 $at, $f2
/* 10682C 802E4FAC E6200064 */ swc1 $f0, 0x64($s1)
/* 106830 802E4FB0 C6000054 */ lwc1 $f0, 0x54($s0)
/* 106834 802E4FB4 46020000 */ add.s $f0, $f0, $f2
/* 106838 802E4FB8 4600203E */ c.le.s $f4, $f0
/* 10683C 802E4FBC 00000000 */ nop
/* 106840 802E4FC0 450000AC */ bc1f .L802E5274
/* 106844 802E4FC4 E6000054 */ swc1 $f0, 0x54($s0)
/* 106848 802E4FC8 92020001 */ lbu $v0, 1($s0)
/* 10684C 802E4FCC E6040018 */ swc1 $f4, 0x18($s0)
/* 106850 802E4FD0 E604001C */ swc1 $f4, 0x1c($s0)
/* 106854 802E4FD4 24420001 */ addiu $v0, $v0, 1
/* 106858 802E4FD8 A2020001 */ sb $v0, 1($s0)
/* 10685C 802E4FDC 864200B0 */ lh $v0, 0xb0($s2)
/* 106860 802E4FE0 2404FFFF */ addiu $a0, $zero, -1
/* 106864 802E4FE4 A2000003 */ sb $zero, 3($s0)
/* 106868 802E4FE8 24420005 */ addiu $v0, $v0, 5
/* 10686C 802E4FEC 44820000 */ mtc1 $v0, $f0
/* 106870 802E4FF0 00000000 */ nop
/* 106874 802E4FF4 46800020 */ cvt.s.w $f0, $f0
/* 106878 802E4FF8 0C03A8B3 */ jal recover_hp
/* 10687C 802E4FFC E6000004 */ swc1 $f0, 4($s0)
/* 106880 802E5000 0C03A899 */ jal recover_fp
/* 106884 802E5004 2404FFFF */ addiu $a0, $zero, -1
/* 106888 802E5008 0C05272D */ jal play_sound
/* 10688C 802E500C 24040131 */ addiu $a0, $zero, 0x131
/* 106890 802E5010 080B949D */ j .L802E5274
/* 106894 802E5014 00000000 */ nop
/* 106898 802E5018 C600001C */ lwc1 $f0, 0x1c($s0)
/* 10689C 802E501C 3C014000 */ lui $at, 0x4000
/* 1068A0 802E5020 44811800 */ mtc1 $at, $f3
/* 1068A4 802E5024 44801000 */ mtc1 $zero, $f2
/* 1068A8 802E5028 46000021 */ cvt.d.s $f0, $f0
/* 1068AC 802E502C 46220000 */ add.d $f0, $f0, $f2
/* 1068B0 802E5030 3C014120 */ lui $at, 0x4120
/* 1068B4 802E5034 44811000 */ mtc1 $at, $f2
/* 1068B8 802E5038 46200020 */ cvt.s.d $f0, $f0
/* 1068BC 802E503C 4600103E */ c.le.s $f2, $f0
/* 1068C0 802E5040 00000000 */ nop
/* 1068C4 802E5044 45000002 */ bc1f .L802E5050
/* 1068C8 802E5048 E600001C */ swc1 $f0, 0x1c($s0)
/* 1068CC 802E504C E602001C */ swc1 $f2, 0x1c($s0)
.L802E5050:
/* 1068D0 802E5050 C6020018 */ lwc1 $f2, 0x18($s0)
/* 1068D4 802E5054 3C014190 */ lui $at, 0x4190
/* 1068D8 802E5058 44810000 */ mtc1 $at, $f0
/* 1068DC 802E505C 00000000 */ nop
/* 1068E0 802E5060 46001000 */ add.s $f0, $f2, $f0
/* 1068E4 802E5064 3C0143B4 */ lui $at, 0x43b4
/* 1068E8 802E5068 4481B000 */ mtc1 $at, $f22
/* 1068EC 802E506C 00000000 */ nop
/* 1068F0 802E5070 4600B03E */ c.le.s $f22, $f0
/* 1068F4 802E5074 00000000 */ nop
/* 1068F8 802E5078 45000003 */ bc1f .L802E5088
/* 1068FC 802E507C E6000018 */ swc1 $f0, 0x18($s0)
/* 106900 802E5080 46160001 */ sub.s $f0, $f0, $f22
/* 106904 802E5084 E6000018 */ swc1 $f0, 0x18($s0)
.L802E5088:
/* 106908 802E5088 C60C0018 */ lwc1 $f12, 0x18($s0)
/* 10690C 802E508C 3C0140C9 */ lui $at, 0x40c9
/* 106910 802E5090 34210FD0 */ ori $at, $at, 0xfd0
/* 106914 802E5094 4481A000 */ mtc1 $at, $f20
/* 106918 802E5098 00000000 */ nop
/* 10691C 802E509C 46146302 */ mul.s $f12, $f12, $f20
/* 106920 802E50A0 00000000 */ nop
/* 106924 802E50A4 0C00A85B */ jal sin_rad
/* 106928 802E50A8 46166303 */ div.s $f12, $f12, $f22
/* 10692C 802E50AC C60C0018 */ lwc1 $f12, 0x18($s0)
/* 106930 802E50B0 46146302 */ mul.s $f12, $f12, $f20
/* 106934 802E50B4 00000000 */ nop
/* 106938 802E50B8 C602001C */ lwc1 $f2, 0x1c($s0)
/* 10693C 802E50BC 46001502 */ mul.s $f20, $f2, $f0
/* 106940 802E50C0 00000000 */ nop
/* 106944 802E50C4 0C00A874 */ jal cos_rad
/* 106948 802E50C8 46166303 */ div.s $f12, $f12, $f22
/* 10694C 802E50CC C6060004 */ lwc1 $f6, 4($s0)
/* 106950 802E50D0 3C01802F */ lui $at, %hi(D_802EB290)
/* 106954 802E50D4 D424B290 */ ldc1 $f4, %lo(D_802EB290)($at)
/* 106958 802E50D8 92030003 */ lbu $v1, 3($s0)
/* 10695C 802E50DC 460030A1 */ cvt.d.s $f2, $f6
/* 106960 802E50E0 46241081 */ sub.d $f2, $f2, $f4
/* 106964 802E50E4 24620001 */ addiu $v0, $v1, 1
/* 106968 802E50E8 462010A0 */ cvt.s.d $f2, $f2
/* 10696C 802E50EC E6020004 */ swc1 $f2, 4($s0)
/* 106970 802E50F0 C602001C */ lwc1 $f2, 0x1c($s0)
/* 106974 802E50F4 30630001 */ andi $v1, $v1, 1
/* 106978 802E50F8 46001082 */ mul.s $f2, $f2, $f0
/* 10697C 802E50FC 00000000 */ nop
/* 106980 802E5100 1060000F */ beqz $v1, .L802E5140
/* 106984 802E5104 A2020003 */ sb $v0, 3($s0)
/* 106988 802E5108 C6400028 */ lwc1 $f0, 0x28($s2)
/* 10698C 802E510C 46140000 */ add.s $f0, $f0, $f20
/* 106990 802E5110 44050000 */ mfc1 $a1, $f0
/* 106994 802E5114 C640002C */ lwc1 $f0, 0x2c($s2)
/* 106998 802E5118 46060000 */ add.s $f0, $f0, $f6
/* 10699C 802E511C 44060000 */ mfc1 $a2, $f0
/* 1069A0 802E5120 C6400030 */ lwc1 $f0, 0x30($s2)
/* 1069A4 802E5124 46020001 */ sub.s $f0, $f0, $f2
/* 1069A8 802E5128 44070000 */ mfc1 $a3, $f0
/* 1069AC 802E512C 3C014100 */ lui $at, 0x4100
/* 1069B0 802E5130 44810000 */ mtc1 $at, $f0
/* 1069B4 802E5134 24040003 */ addiu $a0, $zero, 3
/* 1069B8 802E5138 0C01BFBC */ jal func_8006FEF0
/* 1069BC 802E513C E7A00010 */ swc1 $f0, 0x10($sp)
.L802E5140:
/* 1069C0 802E5140 C6000004 */ lwc1 $f0, 4($s0)
/* 1069C4 802E5144 3C0141A0 */ lui $at, 0x41a0
/* 1069C8 802E5148 44811000 */ mtc1 $at, $f2
/* 1069CC 802E514C 00000000 */ nop
/* 1069D0 802E5150 4602003C */ c.lt.s $f0, $f2
/* 1069D4 802E5154 00000000 */ nop
/* 1069D8 802E5158 45000005 */ bc1f .L802E5170
/* 1069DC 802E515C 00000000 */ nop
/* 1069E0 802E5160 92020001 */ lbu $v0, 1($s0)
/* 1069E4 802E5164 E6020004 */ swc1 $f2, 4($s0)
/* 1069E8 802E5168 24420001 */ addiu $v0, $v0, 1
/* 1069EC 802E516C A2020001 */ sb $v0, 1($s0)
.L802E5170:
/* 1069F0 802E5170 C60C0020 */ lwc1 $f12, 0x20($s0)
/* 1069F4 802E5174 3C0140C9 */ lui $at, 0x40c9
/* 1069F8 802E5178 34210FD0 */ ori $at, $at, 0xfd0
/* 1069FC 802E517C 44810000 */ mtc1 $at, $f0
/* 106A00 802E5180 00000000 */ nop
/* 106A04 802E5184 46006302 */ mul.s $f12, $f12, $f0
/* 106A08 802E5188 00000000 */ nop
/* 106A0C 802E518C 3C0143B4 */ lui $at, 0x43b4
/* 106A10 802E5190 4481A000 */ mtc1 $at, $f20
/* 106A14 802E5194 0C00A85B */ jal sin_rad
/* 106A18 802E5198 46146303 */ div.s $f12, $f12, $f20
/* 106A1C 802E519C 3C013F00 */ lui $at, 0x3f00
/* 106A20 802E51A0 44811000 */ mtc1 $at, $f2
/* 106A24 802E51A4 00000000 */ nop
/* 106A28 802E51A8 46020002 */ mul.s $f0, $f0, $f2
/* 106A2C 802E51AC 00000000 */ nop
/* 106A30 802E51B0 C622004C */ lwc1 $f2, 0x4c($s1)
/* 106A34 802E51B4 46001080 */ add.s $f2, $f2, $f0
/* 106A38 802E51B8 3C0141F0 */ lui $at, 0x41f0
/* 106A3C 802E51BC 44812000 */ mtc1 $at, $f4
/* 106A40 802E51C0 E622004C */ swc1 $f2, 0x4c($s1)
/* 106A44 802E51C4 C6000020 */ lwc1 $f0, 0x20($s0)
/* 106A48 802E51C8 46040081 */ sub.s $f2, $f0, $f4
/* 106A4C 802E51CC 44800000 */ mtc1 $zero, $f0
/* 106A50 802E51D0 00000000 */ nop
/* 106A54 802E51D4 4600103C */ c.lt.s $f2, $f0
/* 106A58 802E51D8 00000000 */ nop
/* 106A5C 802E51DC 45000003 */ bc1f .L802E51EC
/* 106A60 802E51E0 E6020020 */ swc1 $f2, 0x20($s0)
/* 106A64 802E51E4 46141000 */ add.s $f0, $f2, $f20
/* 106A68 802E51E8 E6000020 */ swc1 $f0, 0x20($s0)
.L802E51EC:
/* 106A6C 802E51EC C6000054 */ lwc1 $f0, 0x54($s0)
/* 106A70 802E51F0 3C013FF0 */ lui $at, 0x3ff0
/* 106A74 802E51F4 44811800 */ mtc1 $at, $f3
/* 106A78 802E51F8 44801000 */ mtc1 $zero, $f2
/* 106A7C 802E51FC 46000021 */ cvt.d.s $f0, $f0
/* 106A80 802E5200 46220000 */ add.d $f0, $f0, $f2
/* 106A84 802E5204 46200020 */ cvt.s.d $f0, $f0
/* 106A88 802E5208 4600203C */ c.lt.s $f4, $f0
/* 106A8C 802E520C 00000000 */ nop
/* 106A90 802E5210 45000002 */ bc1f .L802E521C
/* 106A94 802E5214 E6000054 */ swc1 $f0, 0x54($s0)
/* 106A98 802E5218 E6040054 */ swc1 $f4, 0x54($s0)
.L802E521C:
/* 106A9C 802E521C C6220064 */ lwc1 $f2, 0x64($s1)
/* 106AA0 802E5220 C6000054 */ lwc1 $f0, 0x54($s0)
/* 106AA4 802E5224 46001000 */ add.s $f0, $f2, $f0
/* 106AA8 802E5228 4600A03E */ c.le.s $f20, $f0
/* 106AAC 802E522C 00000000 */ nop
/* 106AB0 802E5230 45000003 */ bc1f .L802E5240
/* 106AB4 802E5234 E6200064 */ swc1 $f0, 0x64($s1)
/* 106AB8 802E5238 46140001 */ sub.s $f0, $f0, $f20
/* 106ABC 802E523C E6200064 */ swc1 $f0, 0x64($s1)
.L802E5240:
/* 106AC0 802E5240 9222000B */ lbu $v0, 0xb($s1)
/* 106AC4 802E5244 2442FFFB */ addiu $v0, $v0, -5
/* 106AC8 802E5248 A222000B */ sb $v0, 0xb($s1)
/* 106ACC 802E524C 304200FF */ andi $v0, $v0, 0xff
/* 106AD0 802E5250 2C420007 */ sltiu $v0, $v0, 7
/* 106AD4 802E5254 10400007 */ beqz $v0, .L802E5274
/* 106AD8 802E5258 24020005 */ addiu $v0, $zero, 5
/* 106ADC 802E525C A222000B */ sb $v0, 0xb($s1)
/* 106AE0 802E5260 92030001 */ lbu $v1, 1($s0)
/* 106AE4 802E5264 24020004 */ addiu $v0, $zero, 4
/* 106AE8 802E5268 14620002 */ bne $v1, $v0, .L802E5274
/* 106AEC 802E526C 24620001 */ addiu $v0, $v1, 1
/* 106AF0 802E5270 A2020001 */ sb $v0, 1($s0)
.L802E5274:
/* 106AF4 802E5274 96020024 */ lhu $v0, 0x24($s0)
/* 106AF8 802E5278 C6200064 */ lwc1 $f0, 0x64($s1)
/* 106AFC 802E527C 00021080 */ sll $v0, $v0, 2
/* 106B00 802E5280 02021021 */ addu $v0, $s0, $v0
/* 106B04 802E5284 E4400028 */ swc1 $f0, 0x28($v0)
/* 106B08 802E5288 96020024 */ lhu $v0, 0x24($s0)
/* 106B0C 802E528C 24420001 */ addiu $v0, $v0, 1
/* 106B10 802E5290 A6020024 */ sh $v0, 0x24($s0)
/* 106B14 802E5294 3042FFFF */ andi $v0, $v0, 0xffff
/* 106B18 802E5298 2C42000B */ sltiu $v0, $v0, 0xb
/* 106B1C 802E529C 50400012 */ beql $v0, $zero, .L802E52E8
/* 106B20 802E52A0 A6000024 */ sh $zero, 0x24($s0)
/* 106B24 802E52A4 080B94BA */ j .L802E52E8
/* 106B28 802E52A8 00000000 */ nop
/* 106B2C 802E52AC 8E420004 */ lw $v0, 4($s2)
/* 106B30 802E52B0 2403FDFF */ addiu $v1, $zero, -0x201
/* 106B34 802E52B4 00431024 */ and $v0, $v0, $v1
/* 106B38 802E52B8 0C038069 */ jal enable_player_input
/* 106B3C 802E52BC AE420004 */ sw $v0, 4($s2)
/* 106B40 802E52C0 0C009C22 */ jal func_80027088
/* 106B44 802E52C4 0000202D */ daddu $a0, $zero, $zero
/* 106B48 802E52C8 0220202D */ daddu $a0, $s1, $zero
/* 106B4C 802E52CC 3C05800A */ lui $a1, %hi(D_8009A650)
/* 106B50 802E52D0 24A5A650 */ addiu $a1, $a1, %lo(D_8009A650)
/* 106B54 802E52D4 8CA20000 */ lw $v0, ($a1)
/* 106B58 802E52D8 2403FFBF */ addiu $v1, $zero, -0x41
/* 106B5C 802E52DC 00431024 */ and $v0, $v0, $v1
/* 106B60 802E52E0 0C043F5A */ jal func_8010FD68
/* 106B64 802E52E4 ACA20000 */ sw $v0, ($a1)
.L802E52E8:
/* 106B68 802E52E8 8FBF0024 */ lw $ra, 0x24($sp)
/* 106B6C 802E52EC 8FB20020 */ lw $s2, 0x20($sp)
/* 106B70 802E52F0 8FB1001C */ lw $s1, 0x1c($sp)
/* 106B74 802E52F4 8FB00018 */ lw $s0, 0x18($sp)
/* 106B78 802E52F8 D7B60030 */ ldc1 $f22, 0x30($sp)
/* 106B7C 802E52FC D7B40028 */ ldc1 $f20, 0x28($sp)
/* 106B80 802E5300 03E00008 */ jr $ra
/* 106B84 802E5304 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -1,69 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E5324
/* 106BA4 802E5324 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 106BA8 802E5328 AFB10014 */ sw $s1, 0x14($sp)
/* 106BAC 802E532C 0080882D */ daddu $s1, $a0, $zero
/* 106BB0 802E5330 AFBF0018 */ sw $ra, 0x18($sp)
/* 106BB4 802E5334 AFB00010 */ sw $s0, 0x10($sp)
/* 106BB8 802E5338 0C0B92C4 */ jal func_802E4B10
/* 106BBC 802E533C 8E300040 */ lw $s0, 0x40($s1)
/* 106BC0 802E5340 C6200054 */ lwc1 $f0, 0x54($s1)
/* 106BC4 802E5344 3C013FF0 */ lui $at, 0x3ff0
/* 106BC8 802E5348 44812800 */ mtc1 $at, $f5
/* 106BCC 802E534C 44802000 */ mtc1 $zero, $f4
/* 106BD0 802E5350 460000A1 */ cvt.d.s $f2, $f0
/* 106BD4 802E5354 4624103C */ c.lt.d $f2, $f4
/* 106BD8 802E5358 00000000 */ nop
/* 106BDC 802E535C 45010026 */ bc1t .L802E53F8
/* 106BE0 802E5360 24020001 */ addiu $v0, $zero, 1
/* 106BE4 802E5364 92030008 */ lbu $v1, 8($s0)
/* 106BE8 802E5368 10620010 */ beq $v1, $v0, .L802E53AC
/* 106BEC 802E536C 28620002 */ slti $v0, $v1, 2
/* 106BF0 802E5370 50400005 */ beql $v0, $zero, .L802E5388
/* 106BF4 802E5374 28620011 */ slti $v0, $v1, 0x11
/* 106BF8 802E5378 10600007 */ beqz $v1, .L802E5398
/* 106BFC 802E537C 00000000 */ nop
/* 106C00 802E5380 080B94FC */ j .L802E53F0
/* 106C04 802E5384 A2000008 */ sb $zero, 8($s0)
.L802E5388:
/* 106C08 802E5388 50400019 */ beql $v0, $zero, .L802E53F0
/* 106C0C 802E538C A2000008 */ sb $zero, 8($s0)
/* 106C10 802E5390 080B94F9 */ j .L802E53E4
/* 106C14 802E5394 00000000 */ nop
.L802E5398:
/* 106C18 802E5398 3C01802F */ lui $at, %hi(D_802EB298)
/* 106C1C 802E539C D420B298 */ ldc1 $f0, %lo(D_802EB298)($at)
/* 106C20 802E53A0 46201000 */ add.d $f0, $f2, $f0
/* 106C24 802E53A4 080B94F8 */ j .L802E53E0
/* 106C28 802E53A8 46200020 */ cvt.s.d $f0, $f0
.L802E53AC:
/* 106C2C 802E53AC 3C01802F */ lui $at, %hi(D_802EB2A0)
/* 106C30 802E53B0 D420B2A0 */ ldc1 $f0, %lo(D_802EB2A0)($at)
/* 106C34 802E53B4 46201001 */ sub.d $f0, $f2, $f0
/* 106C38 802E53B8 46200020 */ cvt.s.d $f0, $f0
/* 106C3C 802E53BC E6200054 */ swc1 $f0, 0x54($s1)
/* 106C40 802E53C0 46000021 */ cvt.d.s $f0, $f0
/* 106C44 802E53C4 4624003E */ c.le.d $f0, $f4
/* 106C48 802E53C8 00000000 */ nop
/* 106C4C 802E53CC 45000008 */ bc1f .L802E53F0
/* 106C50 802E53D0 00000000 */ nop
/* 106C54 802E53D4 3C013F80 */ lui $at, 0x3f80
/* 106C58 802E53D8 44810000 */ mtc1 $at, $f0
/* 106C5C 802E53DC 00000000 */ nop
.L802E53E0:
/* 106C60 802E53E0 E6200054 */ swc1 $f0, 0x54($s1)
.L802E53E4:
/* 106C64 802E53E4 92020008 */ lbu $v0, 8($s0)
/* 106C68 802E53E8 24420001 */ addiu $v0, $v0, 1
/* 106C6C 802E53EC A2020008 */ sb $v0, 8($s0)
.L802E53F0:
/* 106C70 802E53F0 C6200054 */ lwc1 $f0, 0x54($s1)
/* 106C74 802E53F4 E6200058 */ swc1 $f0, 0x58($s1)
.L802E53F8:
/* 106C78 802E53F8 8FBF0018 */ lw $ra, 0x18($sp)
/* 106C7C 802E53FC 8FB10014 */ lw $s1, 0x14($sp)
/* 106C80 802E5400 8FB00010 */ lw $s0, 0x10($sp)
/* 106C84 802E5404 03E00008 */ jr $ra
/* 106C88 802E5408 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,13 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E5670
/* 106EF0 802E5670 948200D0 */ lhu $v0, 0xd0($a0)
/* 106EF4 802E5674 00451023 */ subu $v0, $v0, $a1
/* 106EF8 802E5678 04420001 */ bltzl $v0, .L802E5680
/* 106EFC 802E567C 24420014 */ addiu $v0, $v0, 0x14
.L802E5680:
/* 106F00 802E5680 00021080 */ sll $v0, $v0, 2
/* 106F04 802E5684 00821021 */ addu $v0, $a0, $v0
/* 106F08 802E5688 03E00008 */ jr $ra
/* 106F0C 802E568C C44000D4 */ lwc1 $f0, 0xd4($v0)

View File

@ -1,21 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E5690
/* 106F10 802E5690 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 106F14 802E5694 AFBF0010 */ sw $ra, 0x10($sp)
/* 106F18 802E5698 0C04417A */ jal get_entity_by_index
/* 106F1C 802E569C 00000000 */ nop
/* 106F20 802E56A0 8C420040 */ lw $v0, 0x40($v0)
/* 106F24 802E56A4 84440012 */ lh $a0, 0x12($v0)
/* 106F28 802E56A8 04800006 */ bltz $a0, .L802E56C4
/* 106F2C 802E56AC 00000000 */ nop
/* 106F30 802E56B0 0C04417A */ jal get_entity_by_index
/* 106F34 802E56B4 00000000 */ nop
/* 106F38 802E56B8 8C430040 */ lw $v1, 0x40($v0)
/* 106F3C 802E56BC 24020001 */ addiu $v0, $zero, 1
/* 106F40 802E56C0 A062000A */ sb $v0, 0xa($v1)
.L802E56C4:
/* 106F44 802E56C4 8FBF0010 */ lw $ra, 0x10($sp)
/* 106F48 802E56C8 03E00008 */ jr $ra
/* 106F4C 802E56CC 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,11 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E56D0
/* 106F50 802E56D0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 106F54 802E56D4 AFBF0010 */ sw $ra, 0x10($sp)
/* 106F58 802E56D8 0C0B8D94 */ jal func_802E3650
/* 106F5C 802E56DC 00000000 */ nop
/* 106F60 802E56E0 8FBF0010 */ lw $ra, 0x10($sp)
/* 106F64 802E56E4 03E00008 */ jr $ra
/* 106F68 802E56E8 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,45 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E56EC
/* 106F6C 802E56EC 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 106F70 802E56F0 AFB1001C */ sw $s1, 0x1c($sp)
/* 106F74 802E56F4 0080882D */ daddu $s1, $a0, $zero
/* 106F78 802E56F8 AFBF0020 */ sw $ra, 0x20($sp)
/* 106F7C 802E56FC AFB00018 */ sw $s0, 0x18($sp)
/* 106F80 802E5700 8E300040 */ lw $s0, 0x40($s1)
/* 106F84 802E5704 9603000A */ lhu $v1, 0xa($s0)
/* 106F88 802E5708 3402FFFF */ ori $v0, $zero, 0xffff
/* 106F8C 802E570C 1062001A */ beq $v1, $v0, .L802E5778
/* 106F90 802E5710 00000000 */ nop
/* 106F94 802E5714 0C05152F */ jal get_global_flag
/* 106F98 802E5718 0060202D */ daddu $a0, $v1, $zero
/* 106F9C 802E571C 14400016 */ bnez $v0, .L802E5778
/* 106FA0 802E5720 3C028000 */ lui $v0, 0x8000
/* 106FA4 802E5724 3C04802F */ lui $a0, %hi(D_802EA934)
/* 106FA8 802E5728 2484A934 */ addiu $a0, $a0, %lo(D_802EA934)
/* 106FAC 802E572C C6200048 */ lwc1 $f0, 0x48($s1)
/* 106FB0 802E5730 C622004C */ lwc1 $f2, 0x4c($s1)
/* 106FB4 802E5734 C6240050 */ lwc1 $f4, 0x50($s1)
/* 106FB8 802E5738 AFA00010 */ sw $zero, 0x10($sp)
/* 106FBC 802E573C 4600018D */ trunc.w.s $f6, $f0
/* 106FC0 802E5740 44053000 */ mfc1 $a1, $f6
/* 106FC4 802E5744 4600118D */ trunc.w.s $f6, $f2
/* 106FC8 802E5748 44063000 */ mfc1 $a2, $f6
/* 106FCC 802E574C 4600218D */ trunc.w.s $f6, $f4
/* 106FD0 802E5750 44073000 */ mfc1 $a3, $f6
/* 106FD4 802E5754 0C044631 */ jal create_entity
/* 106FD8 802E5758 AFA20014 */ sw $v0, 0x14($sp)
/* 106FDC 802E575C 00022400 */ sll $a0, $v0, 0x10
/* 106FE0 802E5760 00042403 */ sra $a0, $a0, 0x10
/* 106FE4 802E5764 0C04417A */ jal get_entity_by_index
/* 106FE8 802E5768 A6020012 */ sh $v0, 0x12($s0)
/* 106FEC 802E576C 8C430040 */ lw $v1, 0x40($v0)
/* 106FF0 802E5770 92220004 */ lbu $v0, 4($s1)
/* 106FF4 802E5774 A0620000 */ sb $v0, ($v1)
.L802E5778:
/* 106FF8 802E5778 8FBF0020 */ lw $ra, 0x20($sp)
/* 106FFC 802E577C 8FB1001C */ lw $s1, 0x1c($sp)
/* 107000 802E5780 8FB00018 */ lw $s0, 0x18($sp)
/* 107004 802E5784 03E00008 */ jr $ra
/* 107008 802E5788 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,26 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E578C
/* 10700C 802E578C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 107010 802E5790 AFB00010 */ sw $s0, 0x10($sp)
/* 107014 802E5794 0080802D */ daddu $s0, $a0, $zero
/* 107018 802E5798 AFBF0018 */ sw $ra, 0x18($sp)
/* 10701C 802E579C AFB10014 */ sw $s1, 0x14($sp)
/* 107020 802E57A0 0C0B8DB9 */ jal entity_init_Hammer23Block_normal
/* 107024 802E57A4 8E110040 */ lw $s1, 0x40($s0)
/* 107028 802E57A8 C6000064 */ lwc1 $f0, 0x64($s0)
/* 10702C 802E57AC 3C014334 */ lui $at, 0x4334
/* 107030 802E57B0 44811000 */ mtc1 $at, $f2
/* 107034 802E57B4 00000000 */ nop
/* 107038 802E57B8 46020000 */ add.s $f0, $f0, $f2
/* 10703C 802E57BC 3402FFFF */ ori $v0, $zero, 0xffff
/* 107040 802E57C0 E6000064 */ swc1 $f0, 0x64($s0)
/* 107044 802E57C4 A622000A */ sh $v0, 0xa($s1)
/* 107048 802E57C8 2402FFFF */ addiu $v0, $zero, -1
/* 10704C 802E57CC A6220012 */ sh $v0, 0x12($s1)
/* 107050 802E57D0 8FBF0018 */ lw $ra, 0x18($sp)
/* 107054 802E57D4 8FB10014 */ lw $s1, 0x14($sp)
/* 107058 802E57D8 8FB00010 */ lw $s0, 0x10($sp)
/* 10705C 802E57DC 03E00008 */ jr $ra
/* 107060 802E57E0 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,11 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E57E4
/* 107064 802E57E4 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 107068 802E57E8 AFBF0010 */ sw $ra, 0x10($sp)
/* 10706C 802E57EC 0C0B95E3 */ jal func_802E578C
/* 107070 802E57F0 00000000 */ nop
/* 107074 802E57F4 8FBF0010 */ lw $ra, 0x10($sp)
/* 107078 802E57F8 03E00008 */ jr $ra
/* 10707C 802E57FC 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,11 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E5800
/* 107080 802E5800 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 107084 802E5804 AFBF0010 */ sw $ra, 0x10($sp)
/* 107088 802E5808 0C0B95E3 */ jal func_802E578C
/* 10708C 802E580C 00000000 */ nop
/* 107090 802E5810 8FBF0010 */ lw $ra, 0x10($sp)
/* 107094 802E5814 03E00008 */ jr $ra
/* 107098 802E5818 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,24 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E581C
/* 10709C 802E581C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 1070A0 802E5820 AFB00010 */ sw $s0, 0x10($sp)
/* 1070A4 802E5824 0080802D */ daddu $s0, $a0, $zero
/* 1070A8 802E5828 AFBF0014 */ sw $ra, 0x14($sp)
/* 1070AC 802E582C 8E020040 */ lw $v0, 0x40($s0)
/* 1070B0 802E5830 0C04417A */ jal get_entity_by_index
/* 1070B4 802E5834 90440000 */ lbu $a0, ($v0)
/* 1070B8 802E5838 C4400048 */ lwc1 $f0, 0x48($v0)
/* 1070BC 802E583C 3C014160 */ lui $at, 0x4160
/* 1070C0 802E5840 44811000 */ mtc1 $at, $f2
/* 1070C4 802E5844 E6000048 */ swc1 $f0, 0x48($s0)
/* 1070C8 802E5848 C440004C */ lwc1 $f0, 0x4c($v0)
/* 1070CC 802E584C 46020000 */ add.s $f0, $f0, $f2
/* 1070D0 802E5850 E600004C */ swc1 $f0, 0x4c($s0)
/* 1070D4 802E5854 C4400050 */ lwc1 $f0, 0x50($v0)
/* 1070D8 802E5858 E6000050 */ swc1 $f0, 0x50($s0)
/* 1070DC 802E585C 8FBF0014 */ lw $ra, 0x14($sp)
/* 1070E0 802E5860 8FB00010 */ lw $s0, 0x10($sp)
/* 1070E4 802E5864 03E00008 */ jr $ra
/* 1070E8 802E5868 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,71 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E5E50
/* 1076D0 802E5E50 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 1076D4 802E5E54 AFB10024 */ sw $s1, 0x24($sp)
/* 1076D8 802E5E58 0080882D */ daddu $s1, $a0, $zero
/* 1076DC 802E5E5C AFBF0028 */ sw $ra, 0x28($sp)
/* 1076E0 802E5E60 AFB00020 */ sw $s0, 0x20($sp)
/* 1076E4 802E5E64 0C0B9607 */ jal func_802E581C
/* 1076E8 802E5E68 8E300040 */ lw $s0, 0x40($s1)
/* 1076EC 802E5E6C 9202000A */ lbu $v0, 0xa($s0)
/* 1076F0 802E5E70 54400001 */ bnel $v0, $zero, .L802E5E78
/* 1076F4 802E5E74 AE20003C */ sw $zero, 0x3c($s1)
.L802E5E78:
/* 1076F8 802E5E78 C62C0064 */ lwc1 $f12, 0x64($s1)
/* 1076FC 802E5E7C 3C014008 */ lui $at, 0x4008
/* 107700 802E5E80 44810800 */ mtc1 $at, $f1
/* 107704 802E5E84 44800000 */ mtc1 $zero, $f0
/* 107708 802E5E88 46006321 */ cvt.d.s $f12, $f12
/* 10770C 802E5E8C 46206300 */ add.d $f12, $f12, $f0
/* 107710 802E5E90 0C00A6C9 */ jal clamp_angle
/* 107714 802E5E94 46206320 */ cvt.s.d $f12, $f12
/* 107718 802E5E98 E6200064 */ swc1 $f0, 0x64($s1)
/* 10771C 802E5E9C 960200D0 */ lhu $v0, 0xd0($s0)
/* 107720 802E5EA0 00021080 */ sll $v0, $v0, 2
/* 107724 802E5EA4 02021021 */ addu $v0, $s0, $v0
/* 107728 802E5EA8 E44000D4 */ swc1 $f0, 0xd4($v0)
/* 10772C 802E5EAC 960200D0 */ lhu $v0, 0xd0($s0)
/* 107730 802E5EB0 24420001 */ addiu $v0, $v0, 1
/* 107734 802E5EB4 A60200D0 */ sh $v0, 0xd0($s0)
/* 107738 802E5EB8 3042FFFF */ andi $v0, $v0, 0xffff
/* 10773C 802E5EBC 2C420015 */ sltiu $v0, $v0, 0x15
/* 107740 802E5EC0 50400001 */ beql $v0, $zero, .L802E5EC8
/* 107744 802E5EC4 A60000D0 */ sh $zero, 0xd0($s0)
.L802E5EC8:
/* 107748 802E5EC8 9202000A */ lbu $v0, 0xa($s0)
/* 10774C 802E5ECC 1440001B */ bnez $v0, .L802E5F3C
/* 107750 802E5ED0 00000000 */ nop
/* 107754 802E5ED4 3C02800A */ lui $v0, %hi(D_8009A650)
/* 107758 802E5ED8 8C42A650 */ lw $v0, %lo(D_8009A650)($v0)
/* 10775C 802E5EDC 14400017 */ bnez $v0, .L802E5F3C
/* 107760 802E5EE0 00000000 */ nop
/* 107764 802E5EE4 92020002 */ lbu $v0, 2($s0)
/* 107768 802E5EE8 2442FFFF */ addiu $v0, $v0, -1
/* 10776C 802E5EEC A2020002 */ sb $v0, 2($s0)
/* 107770 802E5EF0 00021600 */ sll $v0, $v0, 0x18
/* 107774 802E5EF4 1C400011 */ bgtz $v0, .L802E5F3C
/* 107778 802E5EF8 24020032 */ addiu $v0, $zero, 0x32
/* 10777C 802E5EFC 3C0141B0 */ lui $at, 0x41b0
/* 107780 802E5F00 44810000 */ mtc1 $at, $f0
/* 107784 802E5F04 3C014100 */ lui $at, 0x4100
/* 107788 802E5F08 44811000 */ mtc1 $at, $f2
/* 10778C 802E5F0C A2020002 */ sb $v0, 2($s0)
/* 107790 802E5F10 24020004 */ addiu $v0, $zero, 4
/* 107794 802E5F14 AFA20018 */ sw $v0, 0x18($sp)
/* 107798 802E5F18 24020014 */ addiu $v0, $zero, 0x14
/* 10779C 802E5F1C AFA2001C */ sw $v0, 0x1c($sp)
/* 1077A0 802E5F20 E7A00010 */ swc1 $f0, 0x10($sp)
/* 1077A4 802E5F24 E7A20014 */ swc1 $f2, 0x14($sp)
/* 1077A8 802E5F28 8E250048 */ lw $a1, 0x48($s1)
/* 1077AC 802E5F2C 8E26004C */ lw $a2, 0x4c($s1)
/* 1077B0 802E5F30 8E270050 */ lw $a3, 0x50($s1)
/* 1077B4 802E5F34 0C01C154 */ jal func_80070550
/* 1077B8 802E5F38 24040003 */ addiu $a0, $zero, 3
.L802E5F3C:
/* 1077BC 802E5F3C 8FBF0028 */ lw $ra, 0x28($sp)
/* 1077C0 802E5F40 8FB10024 */ lw $s1, 0x24($sp)
/* 1077C4 802E5F44 8FB00020 */ lw $s0, 0x20($sp)
/* 1077C8 802E5F48 03E00008 */ jr $ra
/* 1077CC 802E5F4C 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,15 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E5F50
/* 1077D0 802E5F50 8C830040 */ lw $v1, 0x40($a0)
/* 1077D4 802E5F54 3C020A00 */ lui $v0, 0xa00
/* 1077D8 802E5F58 24420328 */ addiu $v0, $v0, 0x328
/* 1077DC 802E5F5C AC620128 */ sw $v0, 0x128($v1)
/* 1077E0 802E5F60 3C020A00 */ lui $v0, 0xa00
/* 1077E4 802E5F64 24420380 */ addiu $v0, $v0, 0x380
/* 1077E8 802E5F68 AC62012C */ sw $v0, 0x12c($v1)
/* 1077EC 802E5F6C 3C02802E */ lui $v0, %hi(func_802E586C)
/* 1077F0 802E5F70 2442586C */ addiu $v0, $v0, %lo(func_802E586C)
/* 1077F4 802E5F74 03E00008 */ jr $ra
/* 1077F8 802E5F78 AC82003C */ sw $v0, 0x3c($a0)

View File

@ -1,17 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E5F7C
/* 1077FC 802E5F7C 8C830040 */ lw $v1, 0x40($a0)
/* 107800 802E5F80 3C020A00 */ lui $v0, 0xa00
/* 107804 802E5F84 24420800 */ addiu $v0, $v0, 0x800
/* 107808 802E5F88 AC620128 */ sw $v0, 0x128($v1)
/* 10780C 802E5F8C 3C020A00 */ lui $v0, 0xa00
/* 107810 802E5F90 24420750 */ addiu $v0, $v0, 0x750
/* 107814 802E5F94 AC62012C */ sw $v0, 0x12c($v1)
/* 107818 802E5F98 3C02802E */ lui $v0, %hi(func_802E586C)
/* 10781C 802E5F9C 2442586C */ addiu $v0, $v0, %lo(func_802E586C)
/* 107820 802E5FA0 03E00008 */ jr $ra
/* 107824 802E5FA4 AC82003C */ sw $v0, 0x3c($a0)
/* 107828 802E5FA8 00000000 */ nop
/* 10782C 802E5FAC 00000000 */ nop

View File

@ -1,389 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E586C
/* 1070EC 802E586C 27BDFF68 */ addiu $sp, $sp, -0x98
/* 1070F0 802E5870 AFB60088 */ sw $s6, 0x88($sp)
/* 1070F4 802E5874 3C16800A */ lui $s6, %hi(gMasterGfxPos)
/* 1070F8 802E5878 8ED6A66C */ lw $s6, %lo(gMasterGfxPos)($s6)
/* 1070FC 802E587C AFBF0094 */ sw $ra, 0x94($sp)
/* 107100 802E5880 AFBE0090 */ sw $fp, 0x90($sp)
/* 107104 802E5884 AFB7008C */ sw $s7, 0x8c($sp)
/* 107108 802E5888 AFB50084 */ sw $s5, 0x84($sp)
/* 10710C 802E588C AFB40080 */ sw $s4, 0x80($sp)
/* 107110 802E5890 AFB3007C */ sw $s3, 0x7c($sp)
/* 107114 802E5894 AFB20078 */ sw $s2, 0x78($sp)
/* 107118 802E5898 AFB10074 */ sw $s1, 0x74($sp)
/* 10711C 802E589C 0C04417A */ jal get_entity_by_index
/* 107120 802E58A0 AFB00070 */ sw $s0, 0x70($sp)
/* 107124 802E58A4 AFA20060 */ sw $v0, 0x60($sp)
/* 107128 802E58A8 8C570040 */ lw $s7, 0x40($v0)
/* 10712C 802E58AC 92E20008 */ lbu $v0, 8($s7)
/* 107130 802E58B0 14400011 */ bnez $v0, .L802E58F8
/* 107134 802E58B4 2442FFFF */ addiu $v0, $v0, -1
/* 107138 802E58B8 92E30009 */ lbu $v1, 9($s7)
/* 10713C 802E58BC 3C05802F */ lui $a1, %hi(D_802EA870)
/* 107140 802E58C0 24A5A870 */ addiu $a1, $a1, %lo(D_802EA870)
/* 107144 802E58C4 24630002 */ addiu $v1, $v1, 2
/* 107148 802E58C8 3C02802F */ lui $v0, %hi(D_802EA870)
/* 10714C 802E58CC 00431021 */ addu $v0, $v0, $v1
/* 107150 802E58D0 8042A870 */ lb $v0, %lo(D_802EA870)($v0)
/* 107154 802E58D4 3C04802F */ lui $a0, %hi(D_802EA870)
/* 107158 802E58D8 00832021 */ addu $a0, $a0, $v1
/* 10715C 802E58DC 18400004 */ blez $v0, .L802E58F0
/* 107160 802E58E0 9084A870 */ lbu $a0, %lo(D_802EA870)($a0)
/* 107164 802E58E4 A2E40008 */ sb $a0, 8($s7)
/* 107168 802E58E8 080B963F */ j .L802E58FC
/* 10716C 802E58EC A2E30009 */ sb $v1, 9($s7)
.L802E58F0:
/* 107170 802E58F0 90A20000 */ lbu $v0, ($a1)
/* 107174 802E58F4 A2E00009 */ sb $zero, 9($s7)
.L802E58F8:
/* 107178 802E58F8 A2E20008 */ sb $v0, 8($s7)
.L802E58FC:
/* 10717C 802E58FC 02C0382D */ daddu $a3, $s6, $zero
/* 107180 802E5900 26D60008 */ addiu $s6, $s6, 8
/* 107184 802E5904 02E0202D */ daddu $a0, $s7, $zero
/* 107188 802E5908 24050001 */ addiu $a1, $zero, 1
/* 10718C 802E590C 92E20009 */ lbu $v0, 9($s7)
/* 107190 802E5910 8FAF0060 */ lw $t7, 0x60($sp)
/* 107194 802E5914 8EF5012C */ lw $s5, 0x12c($s7)
/* 107198 802E5918 3C01802F */ lui $at, %hi(D_802EA871)
/* 10719C 802E591C 00220821 */ addu $at, $at, $v0
/* 1071A0 802E5920 8022A871 */ lb $v0, %lo(D_802EA871)($at)
/* 1071A4 802E5924 8DE30044 */ lw $v1, 0x44($t7)
/* 1071A8 802E5928 00021080 */ sll $v0, $v0, 2
/* 1071AC 802E592C 3C06802F */ lui $a2, %hi(D_802EA862)
/* 1071B0 802E5930 00C23021 */ addu $a2, $a2, $v0
/* 1071B4 802E5934 94C6A862 */ lhu $a2, %lo(D_802EA862)($a2)
/* 1071B8 802E5938 3C02E700 */ lui $v0, 0xe700
/* 1071BC 802E593C AFB50058 */ sw $s5, 0x58($sp)
/* 1071C0 802E5940 ACE20000 */ sw $v0, ($a3)
/* 1071C4 802E5944 ACE00004 */ sw $zero, 4($a3)
/* 1071C8 802E5948 00661821 */ addu $v1, $v1, $a2
/* 1071CC 802E594C 0C0B959C */ jal func_802E5670
/* 1071D0 802E5950 AFA3005C */ sw $v1, 0x5c($sp)
/* 1071D4 802E5954 44050000 */ mfc1 $a1, $f0
/* 1071D8 802E5958 44800000 */ mtc1 $zero, $f0
/* 1071DC 802E595C 3C073F80 */ lui $a3, 0x3f80
/* 1071E0 802E5960 44060000 */ mfc1 $a2, $f0
/* 1071E4 802E5964 27A40018 */ addiu $a0, $sp, 0x18
/* 1071E8 802E5968 0C019EC8 */ jal guRotateF
/* 1071EC 802E596C AFA60010 */ sw $a2, 0x10($sp)
/* 1071F0 802E5970 27A40018 */ addiu $a0, $sp, 0x18
/* 1071F4 802E5974 26F00010 */ addiu $s0, $s7, 0x10
/* 1071F8 802E5978 0C019D40 */ jal guMtxF2L
/* 1071FC 802E597C 0200282D */ daddu $a1, $s0, $zero
/* 107200 802E5980 3C040001 */ lui $a0, 1
/* 107204 802E5984 34841630 */ ori $a0, $a0, 0x1630
/* 107208 802E5988 26E50050 */ addiu $a1, $s7, 0x50
/* 10720C 802E598C 3C028007 */ lui $v0, %hi(gMatrixListPos)
/* 107210 802E5990 944241F0 */ lhu $v0, %lo(gMatrixListPos)($v0)
/* 107214 802E5994 3C03800A */ lui $v1, %hi(gDisplayContext)
/* 107218 802E5998 8C63A674 */ lw $v1, %lo(gDisplayContext)($v1)
/* 10721C 802E599C 00021180 */ sll $v0, $v0, 6
/* 107220 802E59A0 00621821 */ addu $v1, $v1, $v0
/* 107224 802E59A4 00641821 */ addu $v1, $v1, $a0
.L802E59A8:
/* 107228 802E59A8 8E180000 */ lw $t8, ($s0)
/* 10722C 802E59AC 8E190004 */ lw $t9, 4($s0)
/* 107230 802E59B0 8E0F0008 */ lw $t7, 8($s0)
/* 107234 802E59B4 8E15000C */ lw $s5, 0xc($s0)
/* 107238 802E59B8 AC780000 */ sw $t8, ($v1)
/* 10723C 802E59BC AC790004 */ sw $t9, 4($v1)
/* 107240 802E59C0 AC6F0008 */ sw $t7, 8($v1)
/* 107244 802E59C4 AC75000C */ sw $s5, 0xc($v1)
/* 107248 802E59C8 26100010 */ addiu $s0, $s0, 0x10
/* 10724C 802E59CC 1605FFF6 */ bne $s0, $a1, .L802E59A8
/* 107250 802E59D0 24630010 */ addiu $v1, $v1, 0x10
/* 107254 802E59D4 02C0702D */ daddu $t6, $s6, $zero
/* 107258 802E59D8 26D60008 */ addiu $s6, $s6, 8
/* 10725C 802E59DC 3C180001 */ lui $t8, 1
/* 107260 802E59E0 37181630 */ ori $t8, $t8, 0x1630
/* 107264 802E59E4 02C0682D */ daddu $t5, $s6, $zero
/* 107268 802E59E8 26D60008 */ addiu $s6, $s6, 8
/* 10726C 802E59EC 3C19E200 */ lui $t9, 0xe200
/* 107270 802E59F0 3739001C */ ori $t9, $t9, 0x1c
/* 107274 802E59F4 3C140055 */ lui $s4, 0x55
/* 107278 802E59F8 36943078 */ ori $s4, $s4, 0x3078
/* 10727C 802E59FC 02C0582D */ daddu $t3, $s6, $zero
/* 107280 802E5A00 26D60008 */ addiu $s6, $s6, 8
/* 107284 802E5A04 3C12FC12 */ lui $s2, 0xfc12
/* 107288 802E5A08 36521824 */ ori $s2, $s2, 0x1824
/* 10728C 802E5A0C 3C10FF33 */ lui $s0, 0xff33
/* 107290 802E5A10 3610FFFF */ ori $s0, $s0, 0xffff
/* 107294 802E5A14 02C0202D */ daddu $a0, $s6, $zero
/* 107298 802E5A18 26D60008 */ addiu $s6, $s6, 8
/* 10729C 802E5A1C 02C0282D */ daddu $a1, $s6, $zero
/* 1072A0 802E5A20 26D60008 */ addiu $s6, $s6, 8
/* 1072A4 802E5A24 02C0402D */ daddu $t0, $s6, $zero
/* 1072A8 802E5A28 26D60008 */ addiu $s6, $s6, 8
/* 1072AC 802E5A2C 3C0FF500 */ lui $t7, 0xf500
/* 1072B0 802E5A30 35EF0100 */ ori $t7, $t7, 0x100
/* 1072B4 802E5A34 02C0302D */ daddu $a2, $s6, $zero
/* 1072B8 802E5A38 26D60008 */ addiu $s6, $s6, 8
/* 1072BC 802E5A3C 02C0482D */ daddu $t1, $s6, $zero
/* 1072C0 802E5A40 26D60008 */ addiu $s6, $s6, 8
/* 1072C4 802E5A44 3C130703 */ lui $s3, 0x703
/* 1072C8 802E5A48 3673C000 */ ori $s3, $s3, 0xc000
/* 1072CC 802E5A4C 02C0382D */ daddu $a3, $s6, $zero
/* 1072D0 802E5A50 26D60008 */ addiu $s6, $s6, 8
/* 1072D4 802E5A54 02C0502D */ daddu $t2, $s6, $zero
/* 1072D8 802E5A58 26D60008 */ addiu $s6, $s6, 8
/* 1072DC 802E5A5C 02C0602D */ daddu $t4, $s6, $zero
/* 1072E0 802E5A60 3C11D838 */ lui $s1, 0xd838
/* 1072E4 802E5A64 36310002 */ ori $s1, $s1, 2
/* 1072E8 802E5A68 3C1E8007 */ lui $fp, %hi(gMatrixListPos)
/* 1072EC 802E5A6C 27DE41F0 */ addiu $fp, $fp, %lo(gMatrixListPos)
/* 1072F0 802E5A70 AFB80064 */ sw $t8, 0x64($sp)
/* 1072F4 802E5A74 97C20000 */ lhu $v0, ($fp)
/* 1072F8 802E5A78 3C03DA38 */ lui $v1, 0xda38
/* 1072FC 802E5A7C ADC30000 */ sw $v1, ($t6)
/* 107300 802E5A80 24430001 */ addiu $v1, $v0, 1
/* 107304 802E5A84 3042FFFF */ andi $v0, $v0, 0xffff
/* 107308 802E5A88 00021180 */ sll $v0, $v0, 6
/* 10730C 802E5A8C A7C30000 */ sh $v1, ($fp)
/* 107310 802E5A90 3C03800A */ lui $v1, %hi(gDisplayContext)
/* 107314 802E5A94 8C63A674 */ lw $v1, %lo(gDisplayContext)($v1)
/* 107318 802E5A98 00581021 */ addu $v0, $v0, $t8
/* 10731C 802E5A9C 00621821 */ addu $v1, $v1, $v0
/* 107320 802E5AA0 3C02FD10 */ lui $v0, 0xfd10
/* 107324 802E5AA4 ADC30004 */ sw $v1, 4($t6)
/* 107328 802E5AA8 ADB90000 */ sw $t9, ($t5)
/* 10732C 802E5AAC ADB40004 */ sw $s4, 4($t5)
/* 107330 802E5AB0 AD720000 */ sw $s2, ($t3)
/* 107334 802E5AB4 AD700004 */ sw $s0, 4($t3)
/* 107338 802E5AB8 AC820000 */ sw $v0, ($a0)
/* 10733C 802E5ABC 8FB5005C */ lw $s5, 0x5c($sp)
/* 107340 802E5AC0 3C02E800 */ lui $v0, 0xe800
/* 107344 802E5AC4 AC950004 */ sw $s5, 4($a0)
/* 107348 802E5AC8 ACA20000 */ sw $v0, ($a1)
/* 10734C 802E5ACC 3C020700 */ lui $v0, 0x700
/* 107350 802E5AD0 ACA00004 */ sw $zero, 4($a1)
/* 107354 802E5AD4 AD020004 */ sw $v0, 4($t0)
/* 107358 802E5AD8 3C02E600 */ lui $v0, 0xe600
/* 10735C 802E5ADC AD0F0000 */ sw $t7, ($t0)
/* 107360 802E5AE0 ACC20000 */ sw $v0, ($a2)
/* 107364 802E5AE4 3C02F000 */ lui $v0, 0xf000
/* 107368 802E5AE8 ACC00004 */ sw $zero, 4($a2)
/* 10736C 802E5AEC 3C06E700 */ lui $a2, 0xe700
/* 107370 802E5AF0 AD220000 */ sw $v0, ($t1)
/* 107374 802E5AF4 3C02DE00 */ lui $v0, 0xde00
/* 107378 802E5AF8 AD330004 */ sw $s3, 4($t1)
/* 10737C 802E5AFC ACE60000 */ sw $a2, ($a3)
/* 107380 802E5B00 ACE00004 */ sw $zero, 4($a3)
/* 107384 802E5B04 AD420000 */ sw $v0, ($t2)
/* 107388 802E5B08 8FB80058 */ lw $t8, 0x58($sp)
/* 10738C 802E5B0C 24020040 */ addiu $v0, $zero, 0x40
/* 107390 802E5B10 AD580004 */ sw $t8, 4($t2)
/* 107394 802E5B14 AD910000 */ sw $s1, ($t4)
/* 107398 802E5B18 AD820004 */ sw $v0, 4($t4)
/* 10739C 802E5B1C 8FB90060 */ lw $t9, 0x60($sp)
/* 1073A0 802E5B20 9323000B */ lbu $v1, 0xb($t9)
/* 1073A4 802E5B24 24110078 */ addiu $s1, $zero, 0x78
/* 1073A8 802E5B28 0071102A */ slt $v0, $v1, $s1
/* 1073AC 802E5B2C 10400002 */ beqz $v0, .L802E5B38
/* 1073B0 802E5B30 26D60008 */ addiu $s6, $s6, 8
/* 1073B4 802E5B34 0060882D */ daddu $s1, $v1, $zero
.L802E5B38:
/* 1073B8 802E5B38 02C0102D */ daddu $v0, $s6, $zero
/* 1073BC 802E5B3C 26D60008 */ addiu $s6, $s6, 8
/* 1073C0 802E5B40 02E0202D */ daddu $a0, $s7, $zero
/* 1073C4 802E5B44 24050006 */ addiu $a1, $zero, 6
/* 1073C8 802E5B48 AC460000 */ sw $a2, ($v0)
/* 1073CC 802E5B4C 0C0B959C */ jal func_802E5670
/* 1073D0 802E5B50 AC400004 */ sw $zero, 4($v0)
/* 1073D4 802E5B54 44050000 */ mfc1 $a1, $f0
/* 1073D8 802E5B58 44800000 */ mtc1 $zero, $f0
/* 1073DC 802E5B5C 3C073F80 */ lui $a3, 0x3f80
/* 1073E0 802E5B60 44060000 */ mfc1 $a2, $f0
/* 1073E4 802E5B64 27A40018 */ addiu $a0, $sp, 0x18
/* 1073E8 802E5B68 0C019EC8 */ jal guRotateF
/* 1073EC 802E5B6C AFA60010 */ sw $a2, 0x10($sp)
/* 1073F0 802E5B70 27A40018 */ addiu $a0, $sp, 0x18
/* 1073F4 802E5B74 26F00050 */ addiu $s0, $s7, 0x50
/* 1073F8 802E5B78 0C019D40 */ jal guMtxF2L
/* 1073FC 802E5B7C 0200282D */ daddu $a1, $s0, $zero
/* 107400 802E5B80 26E40090 */ addiu $a0, $s7, 0x90
/* 107404 802E5B84 97C20000 */ lhu $v0, ($fp)
/* 107408 802E5B88 3C03800A */ lui $v1, %hi(gDisplayContext)
/* 10740C 802E5B8C 8C63A674 */ lw $v1, %lo(gDisplayContext)($v1)
/* 107410 802E5B90 8FAF0064 */ lw $t7, 0x64($sp)
/* 107414 802E5B94 00021180 */ sll $v0, $v0, 6
/* 107418 802E5B98 00621821 */ addu $v1, $v1, $v0
/* 10741C 802E5B9C 006F1821 */ addu $v1, $v1, $t7
.L802E5BA0:
/* 107420 802E5BA0 8E150000 */ lw $s5, ($s0)
/* 107424 802E5BA4 8E180004 */ lw $t8, 4($s0)
/* 107428 802E5BA8 8E190008 */ lw $t9, 8($s0)
/* 10742C 802E5BAC 8E0F000C */ lw $t7, 0xc($s0)
/* 107430 802E5BB0 AC750000 */ sw $s5, ($v1)
/* 107434 802E5BB4 AC780004 */ sw $t8, 4($v1)
/* 107438 802E5BB8 AC790008 */ sw $t9, 8($v1)
/* 10743C 802E5BBC AC6F000C */ sw $t7, 0xc($v1)
/* 107440 802E5BC0 26100010 */ addiu $s0, $s0, 0x10
/* 107444 802E5BC4 1604FFF6 */ bne $s0, $a0, .L802E5BA0
/* 107448 802E5BC8 24630010 */ addiu $v1, $v1, 0x10
/* 10744C 802E5BCC 02C0482D */ daddu $t1, $s6, $zero
/* 107450 802E5BD0 26D60008 */ addiu $s6, $s6, 8
/* 107454 802E5BD4 3C130001 */ lui $s3, 1
/* 107458 802E5BD8 36731630 */ ori $s3, $s3, 0x1630
/* 10745C 802E5BDC 02C0402D */ daddu $t0, $s6, $zero
/* 107460 802E5BE0 26D60008 */ addiu $s6, $s6, 8
/* 107464 802E5BE4 3C0EE200 */ lui $t6, 0xe200
/* 107468 802E5BE8 35CE001C */ ori $t6, $t6, 0x1c
/* 10746C 802E5BEC 3C0D0050 */ lui $t5, 0x50
/* 107470 802E5BF0 35AD4358 */ ori $t5, $t5, 0x4358
/* 107474 802E5BF4 02C0382D */ daddu $a3, $s6, $zero
/* 107478 802E5BF8 26D60008 */ addiu $s6, $s6, 8
/* 10747C 802E5BFC 3C0CFCFF */ lui $t4, 0xfcff
/* 107480 802E5C00 358CB3FF */ ori $t4, $t4, 0xb3ff
/* 107484 802E5C04 3C0BFF2C */ lui $t3, 0xff2c
/* 107488 802E5C08 356BFE7F */ ori $t3, $t3, 0xfe7f
/* 10748C 802E5C0C 02C0202D */ daddu $a0, $s6, $zero
/* 107490 802E5C10 26D60008 */ addiu $s6, $s6, 8
/* 107494 802E5C14 02C0282D */ daddu $a1, $s6, $zero
/* 107498 802E5C18 26D60008 */ addiu $s6, $s6, 8
/* 10749C 802E5C1C 02C0302D */ daddu $a2, $s6, $zero
/* 1074A0 802E5C20 3C0AD838 */ lui $t2, 0xd838
/* 1074A4 802E5C24 354A0002 */ ori $t2, $t2, 2
/* 1074A8 802E5C28 3C128007 */ lui $s2, %hi(gMatrixListPos)
/* 1074AC 802E5C2C 265241F0 */ addiu $s2, $s2, %lo(gMatrixListPos)
/* 1074B0 802E5C30 3C03DA38 */ lui $v1, 0xda38
/* 1074B4 802E5C34 96420000 */ lhu $v0, ($s2)
/* 1074B8 802E5C38 3C14800A */ lui $s4, %hi(gDisplayContext)
/* 1074BC 802E5C3C 2694A674 */ addiu $s4, $s4, %lo(gDisplayContext)
/* 1074C0 802E5C40 AD230000 */ sw $v1, ($t1)
/* 1074C4 802E5C44 24430001 */ addiu $v1, $v0, 1
/* 1074C8 802E5C48 3042FFFF */ andi $v0, $v0, 0xffff
/* 1074CC 802E5C4C 00021180 */ sll $v0, $v0, 6
/* 1074D0 802E5C50 A6430000 */ sh $v1, ($s2)
/* 1074D4 802E5C54 8E830000 */ lw $v1, ($s4)
/* 1074D8 802E5C58 00531021 */ addu $v0, $v0, $s3
/* 1074DC 802E5C5C 00621821 */ addu $v1, $v1, $v0
/* 1074E0 802E5C60 3C02FA00 */ lui $v0, 0xfa00
/* 1074E4 802E5C64 AD230004 */ sw $v1, 4($t1)
/* 1074E8 802E5C68 AD0E0000 */ sw $t6, ($t0)
/* 1074EC 802E5C6C AD0D0004 */ sw $t5, 4($t0)
/* 1074F0 802E5C70 ACEC0000 */ sw $t4, ($a3)
/* 1074F4 802E5C74 ACEB0004 */ sw $t3, 4($a3)
/* 1074F8 802E5C78 AC820000 */ sw $v0, ($a0)
/* 1074FC 802E5C7C 3C02DE00 */ lui $v0, 0xde00
/* 107500 802E5C80 AC910004 */ sw $s1, 4($a0)
/* 107504 802E5C84 ACA20000 */ sw $v0, ($a1)
/* 107508 802E5C88 8FB50058 */ lw $s5, 0x58($sp)
/* 10750C 802E5C8C 24020040 */ addiu $v0, $zero, 0x40
/* 107510 802E5C90 ACB50004 */ sw $s5, 4($a1)
/* 107514 802E5C94 ACCA0000 */ sw $t2, ($a2)
/* 107518 802E5C98 ACC20004 */ sw $v0, 4($a2)
/* 10751C 802E5C9C 8FB80060 */ lw $t8, 0x60($sp)
/* 107520 802E5CA0 9303000B */ lbu $v1, 0xb($t8)
/* 107524 802E5CA4 24110050 */ addiu $s1, $zero, 0x50
/* 107528 802E5CA8 0071102A */ slt $v0, $v1, $s1
/* 10752C 802E5CAC 10400002 */ beqz $v0, .L802E5CB8
/* 107530 802E5CB0 26D60008 */ addiu $s6, $s6, 8
/* 107534 802E5CB4 0060882D */ daddu $s1, $v1, $zero
.L802E5CB8:
/* 107538 802E5CB8 02C0182D */ daddu $v1, $s6, $zero
/* 10753C 802E5CBC 26D60008 */ addiu $s6, $s6, 8
/* 107540 802E5CC0 02E0202D */ daddu $a0, $s7, $zero
/* 107544 802E5CC4 2405000A */ addiu $a1, $zero, 0xa
/* 107548 802E5CC8 3C02E700 */ lui $v0, 0xe700
/* 10754C 802E5CCC AC620000 */ sw $v0, ($v1)
/* 107550 802E5CD0 0C0B959C */ jal func_802E5670
/* 107554 802E5CD4 AC600004 */ sw $zero, 4($v1)
/* 107558 802E5CD8 44050000 */ mfc1 $a1, $f0
/* 10755C 802E5CDC 44800000 */ mtc1 $zero, $f0
/* 107560 802E5CE0 3C073F80 */ lui $a3, 0x3f80
/* 107564 802E5CE4 44060000 */ mfc1 $a2, $f0
/* 107568 802E5CE8 27A40018 */ addiu $a0, $sp, 0x18
/* 10756C 802E5CEC 0C019EC8 */ jal guRotateF
/* 107570 802E5CF0 AFA60010 */ sw $a2, 0x10($sp)
/* 107574 802E5CF4 27A40018 */ addiu $a0, $sp, 0x18
/* 107578 802E5CF8 26F00090 */ addiu $s0, $s7, 0x90
/* 10757C 802E5CFC 0C019D40 */ jal guMtxF2L
/* 107580 802E5D00 0200282D */ daddu $a1, $s0, $zero
/* 107584 802E5D04 26E400D0 */ addiu $a0, $s7, 0xd0
/* 107588 802E5D08 96420000 */ lhu $v0, ($s2)
/* 10758C 802E5D0C 8E830000 */ lw $v1, ($s4)
/* 107590 802E5D10 00021180 */ sll $v0, $v0, 6
/* 107594 802E5D14 00621821 */ addu $v1, $v1, $v0
/* 107598 802E5D18 00731821 */ addu $v1, $v1, $s3
.L802E5D1C:
/* 10759C 802E5D1C 8E190000 */ lw $t9, ($s0)
/* 1075A0 802E5D20 8E0F0004 */ lw $t7, 4($s0)
/* 1075A4 802E5D24 8E150008 */ lw $s5, 8($s0)
/* 1075A8 802E5D28 8E18000C */ lw $t8, 0xc($s0)
/* 1075AC 802E5D2C AC790000 */ sw $t9, ($v1)
/* 1075B0 802E5D30 AC6F0004 */ sw $t7, 4($v1)
/* 1075B4 802E5D34 AC750008 */ sw $s5, 8($v1)
/* 1075B8 802E5D38 AC78000C */ sw $t8, 0xc($v1)
/* 1075BC 802E5D3C 26100010 */ addiu $s0, $s0, 0x10
/* 1075C0 802E5D40 1604FFF6 */ bne $s0, $a0, .L802E5D1C
/* 1075C4 802E5D44 24630010 */ addiu $v1, $v1, 0x10
/* 1075C8 802E5D48 02C0502D */ daddu $t2, $s6, $zero
/* 1075CC 802E5D4C 26D60008 */ addiu $s6, $s6, 8
/* 1075D0 802E5D50 3C100001 */ lui $s0, 1
/* 1075D4 802E5D54 36101630 */ ori $s0, $s0, 0x1630
/* 1075D8 802E5D58 02C0482D */ daddu $t1, $s6, $zero
/* 1075DC 802E5D5C 26D60008 */ addiu $s6, $s6, 8
/* 1075E0 802E5D60 3C19E200 */ lui $t9, 0xe200
/* 1075E4 802E5D64 3739001C */ ori $t9, $t9, 0x1c
/* 1075E8 802E5D68 3C0E0050 */ lui $t6, 0x50
/* 1075EC 802E5D6C 35CE4358 */ ori $t6, $t6, 0x4358
/* 1075F0 802E5D70 02C0402D */ daddu $t0, $s6, $zero
/* 1075F4 802E5D74 26D60008 */ addiu $s6, $s6, 8
/* 1075F8 802E5D78 3C0DFCFF */ lui $t5, 0xfcff
/* 1075FC 802E5D7C 35ADB3FF */ ori $t5, $t5, 0xb3ff
/* 107600 802E5D80 3C0CFF2C */ lui $t4, 0xff2c
/* 107604 802E5D84 358CFE7F */ ori $t4, $t4, 0xfe7f
/* 107608 802E5D88 02C0282D */ daddu $a1, $s6, $zero
/* 10760C 802E5D8C 26D60008 */ addiu $s6, $s6, 8
/* 107610 802E5D90 02C0302D */ daddu $a2, $s6, $zero
/* 107614 802E5D94 26D60008 */ addiu $s6, $s6, 8
/* 107618 802E5D98 02C0382D */ daddu $a3, $s6, $zero
/* 10761C 802E5D9C 26D60008 */ addiu $s6, $s6, 8
/* 107620 802E5DA0 3C0BD838 */ lui $t3, 0xd838
/* 107624 802E5DA4 356B0002 */ ori $t3, $t3, 2
/* 107628 802E5DA8 3C048007 */ lui $a0, %hi(gMatrixListPos)
/* 10762C 802E5DAC 248441F0 */ addiu $a0, $a0, %lo(gMatrixListPos)
/* 107630 802E5DB0 94820000 */ lhu $v0, ($a0)
/* 107634 802E5DB4 3C03DA38 */ lui $v1, 0xda38
/* 107638 802E5DB8 AD430000 */ sw $v1, ($t2)
/* 10763C 802E5DBC 3C01800A */ lui $at, %hi(gMasterGfxPos)
/* 107640 802E5DC0 AC36A66C */ sw $s6, %lo(gMasterGfxPos)($at)
/* 107644 802E5DC4 24430001 */ addiu $v1, $v0, 1
/* 107648 802E5DC8 3042FFFF */ andi $v0, $v0, 0xffff
/* 10764C 802E5DCC 00021180 */ sll $v0, $v0, 6
/* 107650 802E5DD0 A4830000 */ sh $v1, ($a0)
/* 107654 802E5DD4 3C03800A */ lui $v1, %hi(gDisplayContext)
/* 107658 802E5DD8 8C63A674 */ lw $v1, %lo(gDisplayContext)($v1)
/* 10765C 802E5DDC 00501021 */ addu $v0, $v0, $s0
/* 107660 802E5DE0 00621821 */ addu $v1, $v1, $v0
/* 107664 802E5DE4 3C02FA00 */ lui $v0, 0xfa00
/* 107668 802E5DE8 AD430004 */ sw $v1, 4($t2)
/* 10766C 802E5DEC AD390000 */ sw $t9, ($t1)
/* 107670 802E5DF0 AD2E0004 */ sw $t6, 4($t1)
/* 107674 802E5DF4 AD0D0000 */ sw $t5, ($t0)
/* 107678 802E5DF8 AD0C0004 */ sw $t4, 4($t0)
/* 10767C 802E5DFC ACA20000 */ sw $v0, ($a1)
/* 107680 802E5E00 3C02DE00 */ lui $v0, 0xde00
/* 107684 802E5E04 ACB10004 */ sw $s1, 4($a1)
/* 107688 802E5E08 ACC20000 */ sw $v0, ($a2)
/* 10768C 802E5E0C 8FAF0058 */ lw $t7, 0x58($sp)
/* 107690 802E5E10 24020040 */ addiu $v0, $zero, 0x40
/* 107694 802E5E14 ACCF0004 */ sw $t7, 4($a2)
/* 107698 802E5E18 ACEB0000 */ sw $t3, ($a3)
/* 10769C 802E5E1C ACE20004 */ sw $v0, 4($a3)
/* 1076A0 802E5E20 8FBF0094 */ lw $ra, 0x94($sp)
/* 1076A4 802E5E24 8FBE0090 */ lw $fp, 0x90($sp)
/* 1076A8 802E5E28 8FB7008C */ lw $s7, 0x8c($sp)
/* 1076AC 802E5E2C 8FB60088 */ lw $s6, 0x88($sp)
/* 1076B0 802E5E30 8FB50084 */ lw $s5, 0x84($sp)
/* 1076B4 802E5E34 8FB40080 */ lw $s4, 0x80($sp)
/* 1076B8 802E5E38 8FB3007C */ lw $s3, 0x7c($sp)
/* 1076BC 802E5E3C 8FB20078 */ lw $s2, 0x78($sp)
/* 1076C0 802E5E40 8FB10074 */ lw $s1, 0x74($sp)
/* 1076C4 802E5E44 8FB00070 */ lw $s0, 0x70($sp)
/* 1076C8 802E5E48 03E00008 */ jr $ra
/* 1076CC 802E5E4C 27BD0098 */ addiu $sp, $sp, 0x98

View File

@ -35,6 +35,7 @@ u32 get_entity_type(s32 arg0);
Entity* get_entity_by_index(s32 index);
s32 create_entity(StaticEntityData*, s32, s32, s32, s32, s32);
void func_80070550(s32, f32, f32, f32, f32, f32, s32, s32);
void func_802E263C(Entity* entity);
UNK_TYPE func_80072230(s32, f32, f32, f32, f32, s32);

View File

@ -1,37 +1,576 @@
#include "common.h"
INCLUDE_ASM(s32, "code_102C80", func_802E1400);
void func_802E246C(Entity* entity, void* arg1, void* arg2);
INCLUDE_ASM(s32, "code_102C80", func_802E1460);
void func_802E1400(Entity* entity) {
PlayerStatus* playerStatus = &gPlayerStatus;
struct802E1400* temp = entity->dataBuf;
INCLUDE_ASM(s32, "code_102C80", func_802E14D8);
if (entity->unk_06 & 1) {
if ((playerStatus->actionState == ActionState_GROUND_POUND) || (playerStatus->actionState == ActionState_ULTRA_POUND)) {
func_8010FD68(entity);
temp->unk_22 = 8;
}
}
}
void func_802E1460(Entity* entity) {
struct802E1400* temp = entity->dataBuf;
u16 temp2 = temp->unk_22--;
if (temp2) {
entity->position.y -= D_802EB000; // 1.8625;
return;
}
func_80110678(entity);
func_8010FD68(entity);
temp->unk_22 = 8;
}
void func_802E14D8(Entity* entity) {
struct802E1400* temp = entity->dataBuf;
u16 temp2 = temp->unk_22--;
if (temp2) {
entity->position.y += D_802EB008; // 1.8625;
return;
}
func_8010FD68(entity);
temp->unk_22 = 8;
}
void func_801125E8(f32*, f32*, f32*, f32*, f32*, f32*);
#ifdef NON_MATCHING
// regalloc issues
void func_802E153C(Entity* entity) {
struct802E1400* temp_s1 = entity->dataBuf;
f32 hitDepth = 10.0f;
f32 x = entity->position.x;
f32 y = entity->position.y;
f32 z = entity->position.z;
f32 hitYaw;
f32 hitPitch;
func_801125E8(&x, &y, &z, &hitYaw, &hitPitch, &hitDepth);
if ((entity->position.y != y) && (entity->position.y > y)) {
temp_s1->unk_00.x += 0.5;
entity->position.y -= temp_s1->unk_00.x;
if (entity->position.y < y) {
entity->position.y = y;
}
}
}
#else
INCLUDE_ASM(s32, "code_102C80", func_802E153C);
#endif
INCLUDE_ASM(s32, "code_102C80", func_802E1614);
void func_802E1614(Entity* entity) {
PlayerStatus* playerStatus = &gPlayerStatus;
INCLUDE_ASM(s32, "code_102C80", func_802E1660);
if (entity->unk_06 & 1) {
if ((playerStatus->actionState == ActionState_GROUND_POUND)
|| (playerStatus->actionState == ActionState_ULTRA_POUND)) {
func_8010FD68(entity);
}
}
}
INCLUDE_ASM(s32, "code_102C80", func_802E1740);
void func_802E1660(Entity* entity) {
struct802E1400* temp = entity->dataBuf;
PlayerStatus* playerStatus = &gPlayerStatus;
s8* temp2 = D_8010EBB0;
INCLUDE_ASM(s32, "code_102C80", func_802E176C);
func_802E153C(entity);
if (entity->unk_06 & 0x40) {
if (playerStatus->actionState == ActionState_HAMMER) {
if (gPlayerData.hammerLevel < 0) {
return;
}
func_8010FD68(entity);
if (temp->attachedEntity == NULL) {
return;
}
func_8010FD68(temp->attachedEntity);
return;
}
}
if (playerStatus->actionState == ActionState_SPIN_JUMP) {
return;
}
if ((temp2[3] == 4) && (temp2[0] != 0)) {
return;
}
if (!(entity->unk_06 & 1)) {
if (!(entity->unk_06 & 0x80)) {
return;
}
}
func_8010FD68(entity);
if (temp->attachedEntity == NULL) {
return;
}
func_8010FD68(temp->attachedEntity);
}
void func_802E1740(Entity* entity) {
if (!(entity->unk_06 & 1)) {
func_8010FD68(entity);
}
}
void func_802E176C(Entity* entity) {
struct802E1400* temp = entity->dataBuf;
temp->unk_00.x = 1.0f;
temp->unk_00.y = 0.1f;
temp->unk_00.z = -0.1f;
temp->unk_10 = 0;
temp->unk_11 = 0;
}
#ifdef NON_MATCHING
// needs rodata support
s32 func_802E17A8(Entity* entity) {
f32 temp_f0;
f32 temp_f2;
f32 temp_f4;
f32 temp_f6;
struct802E1400* temp_s0 = entity->dataBuf;
f32 phi_f4;
s32 phi_s2 = 0;
switch (temp_s0->unk_10) {
case 0: // switch 1
temp_f6 = temp_s0->unk_14.z * 0.3;
temp_f4 = ((temp_s0->unk_14.x + temp_f6) - entity->scale.x) / 4.0;
phi_f4 = temp_f4;
if (temp_f4 < 0.01) {
phi_f4 = 0.01f;
}
temp_s0->unk_00.y += phi_f4;
entity->scale.x += temp_s0->unk_00.y;
if ((temp_s0->unk_14.x + temp_f6) <= entity->scale.x) {
temp_s0->unk_00.y = 0.0f;
temp_s0->unk_10++;
}
break;
case 1: // switch 1
temp_f6 = temp_s0->unk_14.z * -0.2;
temp_f4 = ((temp_s0->unk_14.x + temp_f6) - entity->scale.x) / 6.0;
phi_f4 = temp_f4;
if (temp_f4 > -0.01) {
phi_f4 = -0.01f;
}
temp_s0->unk_00.y += phi_f4;
entity->scale.x += temp_s0->unk_00.y;
if (entity->scale.x <= (temp_s0->unk_14.x + temp_f6)) {
temp_s0->unk_00.y = 0.0f;
temp_s0->unk_10++;
}
break;
case 2: // switch 1
temp_f6 = temp_s0->unk_14.z * 0.15;
temp_f4 = ((temp_s0->unk_14.x + temp_f6) - entity->scale.x) / 4.0;
phi_f4 = temp_f4;
if (temp_f4 < 0.01) {
phi_f4 = 0.01f;
}
temp_s0->unk_00.y += phi_f4;
entity->scale.x += temp_s0->unk_00.y;
if ((temp_s0->unk_14.x + temp_f6) <= entity->scale.x) {
temp_s0->unk_00.y = 0.0f;
temp_s0->unk_10++;
}
break;
case 3: // switch 1
temp_f6 = temp_s0->unk_14.z * -0.1;
temp_f4 = ((temp_s0->unk_14.x + temp_f6) - entity->scale.x) / 6.0;
phi_f4 = temp_f4;
if (temp_f4 > -0.01) {
phi_f4 = -0.01f;
}
temp_s0->unk_00.y += phi_f4;
entity->scale.x += temp_s0->unk_00.y;
if (entity->scale.x <= (temp_s0->unk_14.x + temp_f6)) {
temp_s0->unk_00.y = 0.0f;
temp_s0->unk_10++;
}
break;
case 4: // switch 1
temp_f4 = (temp_s0->unk_14.x - entity->scale.x) / 4.0;
phi_f4 = temp_f4;
if (temp_f4 < 0.01) {
phi_f4 = 0.01f;
}
temp_s0->unk_00.y += phi_f4;
entity->scale.x += temp_s0->unk_00.y;
if (temp_s0->unk_14.x <= entity->scale.x) {
entity->scale.x = temp_s0->unk_14.x;
temp_s0->unk_00.y = 0.0f;
temp_s0->unk_10++;
}
break;
case 5: // switch 1
phi_s2++;
break;
}
entity->scale.z = entity->scale.x;
switch (temp_s0->unk_11) {
case 0: // switch 2
temp_f6 = temp_s0->unk_14.z * -0.5;
temp_f4 = ((temp_s0->unk_14.y + temp_f6) - entity->scale.y) / 5.0;
phi_f4 = temp_f4;
if (temp_f4 > -0.01) {
phi_f4 = -0.01f;
}
temp_s0->unk_00.z += phi_f4;
entity->scale.y += temp_s0->unk_00.z;
if (entity->scale.y <= (temp_s0->unk_14.y + temp_f6)) {
temp_s0->unk_00.z = 0.0f;
temp_s0->unk_11++;
}
break;
case 1: // switch 2
temp_f6 = temp_s0->unk_14.z * 0.1;
temp_f4 = ((temp_s0->unk_14.y + temp_f6) - entity->scale.y) / 10.0;
phi_f4 = temp_f4;
if (temp_f4 < 0.01) {
phi_f4 = 0.01f;
}
temp_s0->unk_00.z += phi_f4;
entity->scale.y += temp_s0->unk_00.z;
if ((temp_s0->unk_14.y + temp_f6) <= entity->scale.y) {
temp_s0->unk_00.z = 0.0f;
temp_s0->unk_11++;
}
break;
case 2: // switch 2
temp_f6 = temp_s0->unk_14.z * -0.3;
temp_f4 = ((temp_s0->unk_14.y + temp_f6) - entity->scale.y) / 5.0;
phi_f4 = temp_f4;
if (temp_f4 > -0.01) {
phi_f4 = -0.01f;
}
temp_s0->unk_00.z += phi_f4;
entity->scale.y += temp_s0->unk_00.z;
if (entity->scale.y <= (temp_s0->unk_14.y + temp_f6)) {
temp_s0->unk_00.z = 0.0f;
temp_s0->unk_11++;
}
break;
case 3: // switch 2
temp_f6 = temp_s0->unk_14.z * 0.0;
temp_f4 = ((temp_s0->unk_14.y + temp_f6) - entity->scale.y) / 10.0;
phi_f4 = temp_f4;
if (temp_f4 < 0.01) {
phi_f4 = 0.01f;
}
temp_s0->unk_00.z += phi_f4;
entity->scale.y += temp_s0->unk_00.z;
if ((temp_s0->unk_14.y + temp_f6) <= entity->scale.y) {
temp_s0->unk_00.z = 0.0f;
temp_s0->unk_11++;
}
break;
case 4: // switch 2
temp_f4 = (temp_s0->unk_14.y - entity->scale.y) / 5.0;
phi_f4 = temp_f4;
if (temp_f4 > -0.01) {
phi_f4 = -0.01f;
}
temp_s0->unk_00.z += phi_f4;
entity->scale.y += temp_s0->unk_00.z;
if (entity->scale.y <= temp_s0->unk_14.y) {
entity->scale.y = temp_s0->unk_14.y;
temp_s0->unk_00.z = 0.0f;
temp_s0->unk_11++;
}
break;
case 5: // switch 2
phi_s2++;
break;
}
func_802E153C(entity);
if (phi_s2 == 2) {
temp_s0->unk_10 = 0;
temp_s0->unk_11 = 0;
func_8010FD68(entity);
}
}
#else
INCLUDE_ASM(s32, "code_102C80", func_802E17A8);
#endif
INCLUDE_ASM(s32, "code_102C80", func_802E1EA8);
void func_802E1EA8(Entity* entity) {
struct802E1400* temp = entity->dataBuf;
set_area_flag(temp->unk_20);
func_80110678(entity);
}
#ifdef NON_MATCHING
// needs rodata support
void func_802E1EDC(Entity* entity) {
f32 temp_f0;
f32 temp_f4;
f32 temp_f6;
struct802E1400* temp_s0 = entity->dataBuf;
f32 phi_f4;
s32 phi_s2 = 0;
switch (temp_s0->unk_10) {
case 0:
temp_f6 = temp_s0->unk_14.z * 0.3;
temp_f4 = ((temp_s0->unk_14.x + temp_f6) - entity->scale.x) / 4.0;
phi_f4 = temp_f4;
if (temp_f4 < 0.01) {
phi_f4 = 0.01f;
}
temp_s0->unk_00.y += phi_f4;
entity->scale.x += temp_s0->unk_00.y;
if ((temp_s0->unk_14.x + temp_f6) <= entity->scale.x) {
temp_s0->unk_00.y = 0.0f;
temp_s0->unk_10++;
}
break;
case 1:
temp_f6 = (temp_s0->unk_14.z * -0.2);
temp_f4 = ((temp_s0->unk_14.x + temp_f6) - entity->scale.x) / 6.0;
phi_f4 = temp_f4;
if (temp_f4 > -0.01) {
phi_f4 = -0.01f;
}
temp_s0->unk_00.y += phi_f4;
entity->scale.x += temp_s0->unk_00.y;
if (entity->scale.x <= (temp_s0->unk_14.x + temp_f6)) {
temp_s0->unk_00.y = 0.0f;
temp_s0->unk_10++;
}
break;
case 2:
temp_f6 = temp_s0->unk_14.z * 0.15;
temp_f4 = ((temp_s0->unk_14.x + temp_f6) - entity->scale.x) / 4.0;
phi_f4 = temp_f4;
if (temp_f4 < 0.01) {
phi_f4 = 0.01f;
}
temp_s0->unk_00.y += phi_f4;
entity->scale.x += temp_s0->unk_00.y;
if ((temp_s0->unk_14.x + temp_f6) <= entity->scale.x) {
temp_s0->unk_00.y = 0.0f;
temp_s0->unk_10++;
}
break;
case 3:
temp_f6 = temp_s0->unk_14.z * -0.1;
temp_f4 = ((temp_s0->unk_14.x + temp_f6) - entity->scale.x) / 6.0;
phi_f4 = temp_f4;
if (temp_f4 > -0.01) {
phi_f4 = -0.01f;
}
temp_s0->unk_00.y += phi_f4;
entity->scale.x += temp_s0->unk_00.y;
if (entity->scale.x <= (temp_s0->unk_14.x + temp_f6)) {
temp_s0->unk_00.y = 0.0f;
temp_s0->unk_10++;
}
break;
case 4:
phi_s2++;
break;
}
entity->scale.z = entity->scale.x;
switch (temp_s0->unk_11) {
case 0:
temp_f6 = temp_s0->unk_14.z * -0.5;
temp_f4 = ((temp_s0->unk_14.y + temp_f6) - entity->scale.y) / 5.0;
phi_f4 = temp_f4;
if (temp_f4 > -0.01) {
phi_f4 = -0.01f;
}
temp_s0->unk_00.z += phi_f4;
entity->scale.y += temp_s0->unk_00.z;
if (entity->scale.y <= (temp_s0->unk_14.y + temp_f6)) {
temp_s0->unk_00.z = 0.0f;
temp_s0->unk_11++;
}
break;
case 1:
temp_f6 = temp_s0->unk_14.z * 0.1;
temp_f4 = ((temp_s0->unk_14.y + temp_f6) - entity->scale.y) / 10.0;
phi_f4 = temp_f4;
if (temp_f4 < 0.01) {
phi_f4 = 0.01f;
}
temp_s0->unk_00.z += phi_f4;
entity->scale.y += temp_s0->unk_00.z;
if ((temp_s0->unk_14.y + temp_f6) <= entity->scale.y) {
temp_s0->unk_00.z = 0.0f;
temp_s0->unk_11++;
}
break;
case 2:
temp_f6 = temp_s0->unk_14.z * -0.3;
temp_f4 = ((temp_s0->unk_14.y + temp_f6) - entity->scale.y) / 5.0;
phi_f4 = temp_f4;
if (temp_f4 > -0.01) {
phi_f4 = -0.01f;
}
temp_s0->unk_00.z += phi_f4;
entity->scale.y += temp_s0->unk_00.z;
if (entity->scale.y <= (temp_s0->unk_14.y + temp_f6)) {
temp_s0->unk_00.z = 0.0f;
temp_s0->unk_11++;
}
break;
case 3:
phi_s2++;
break;
}
func_802E153C(entity);
if (phi_s2 == 2) {
temp_s0->unk_10 = 0;
temp_s0->unk_11 = 0;
func_8010FD68(entity);
}
temp_s0->unk_24++;
if ((temp_s0->unk_24 == 10) && (temp_s0->attachedEntity == NULL)) {
func_80072230(0, entity->position.x, entity->position.y, entity->position.z, 1.0f, 0x3C);
}
}
#else
INCLUDE_ASM(s32, "code_102C80", func_802E1EDC);
#endif
INCLUDE_ASM(s32, "code_102C80", func_802E234C);
void func_802E234C(Entity* entity) {
PlayerStatus* playerStatus = &gPlayerStatus;
struct802E1400* temp = entity->dataBuf;
INCLUDE_ASM(s32, "code_102C80", entity_init_BlueSwitch);
playerStatus->animFlags |= 0x1000000;
temp->unk_14.x = 1.0f;
temp->unk_14.y = 1.0f;
temp->unk_14.z = 1.0f;
}
INCLUDE_ASM(s32, "code_102C80", entity_init_HugeBlueSwitch);
void entity_init_BlueSwitch(Entity* entity) {
Entity* temp_v0_2;
struct802E1400* temp = entity->dataBuf;
INCLUDE_ASM(s32, "code_102C80", func_802E2450);
func_802E234C(entity);
if (D_8015C7D0[0] == 2) {
D_802EB3A0 = entity;
return;
}
INCLUDE_ASM(s32, "code_102C80", func_802E246C);
if (D_8015C7D0[0] == 1) {
if (D_802EB3A0 != NULL) {
temp->attachedEntity = D_802EB3A0;
entity->flags |= 1;
return;
}
} else {
D_802EB3A0 = NULL;
}
}
void entity_init_HugeBlueSwitch(Entity* entity) {
struct802E1400* temp;
func_802E234C(entity);
temp = entity->dataBuf;
entity->scale.x = 3.0f;
entity->scale.y = 3.0f;
entity->scale.z = 3.0f;
temp->unk_14.x = 3.0f;
temp->unk_14.y = 3.0f;
temp->unk_14.z = 3.0f;
}
void func_802E2450(Entity* entity) {
func_802E3650(entity);
}
INCLUDE_ASM(void, "code_102C80", func_802E246C, Entity* entity, void* arg1, void* arg2);
INCLUDE_ASM(s32, "code_102C80", func_802E263C);
#ifdef NON_MATCHING
// display list issues
void func_802E2BA4(s32 entityIndex) {
Gfx* temp_s2;
struct802E1400* temp_s4;
struct802E2BA4* phi_fp;
Matrix4f subroutine_arg6;
Matrix4f subroutine_arg16;
Matrix4f subroutine_arg36;
Matrix4f subroutine_arg48;
s32 i;
f32 x_inv;
f32 y_inv;
f32 z_inv;
Entity* entity;
f32 threeSixty;
f32 someFloat;
f32 one;
s16 temp;
temp_s2 = gMasterGfxPos;
threeSixty = 360.0f;
someFloat = 0.00390625f;
entity = get_entity_by_index(entityIndex);
temp_s4 = entity->dataBuf;
x_inv = -entity->position.x;
y_inv = -entity->position.y;
z_inv = -entity->position.z;
phi_fp = temp_s4->unk_34;
for (i = 0; i < 24; i++) {
if (temp_s4->unk_3C.s == 0xFF) {
gDPSetRenderMode(temp_s2++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
gDPSetCombineMode(temp_s2++, G_CC_MODULATEIA, G_CC_MODULATEIA);
} else {
gDPSetCombineLERP(temp_s2++, 0, 0, 0, TEXEL0, SHADE, 0, TEXEL0, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, SHADE, 0);
gDPSetPrimColor(temp_s2++, 0, 0, 0x00, 0x00, 0x00, temp_s4->unk_3C.b[1])
}
guTranslateF(&subroutine_arg6, x_inv, y_inv, z_inv);
guRotateF(&subroutine_arg36, temp_s4->unk_8B[i] * threeSixty * someFloat, 1.0f, 0.0f, 0.0f);
guRotateF(&subroutine_arg48, temp_s4->unk_A4[i] * threeSixty * someFloat, 0.0f, 1.0f, 0.0f);
guMtxCatF(&subroutine_arg36, &subroutine_arg48, &subroutine_arg48);
guMtxCatF(&subroutine_arg48, &subroutine_arg6, &subroutine_arg6);
guTranslateF(&subroutine_arg16, temp_s4->unk_C0[i], temp_s4->unk_124[i], temp_s4->unk_188[i]);
guMtxCatF(&subroutine_arg6, &subroutine_arg16, &subroutine_arg16);
guMtxF2L(&subroutine_arg16, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(temp_s2++, &gDisplayContext->matrixStack[++gMatrixListPos], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(temp_s2++, entity->vertexData + phi_fp->unk_02[i][0]);
gSPPopMatrix(temp_s2++, G_MTX_MODELVIEW);
}
gMasterGfxPos = temp_s2;
}
#else
INCLUDE_ASM(s32, "code_102C80", func_802E2BA4);
#endif

View File

@ -1,576 +0,0 @@
#include "common.h"
void func_802E246C(Entity* entity, void* arg1, void* arg2);
void func_802E1400(Entity* entity) {
PlayerStatus* playerStatus = &gPlayerStatus;
struct802E1400* temp = entity->dataBuf;
if (entity->unk_06 & 1) {
if ((playerStatus->actionState == ActionState_GROUND_POUND) || (playerStatus->actionState == ActionState_ULTRA_POUND)) {
func_8010FD68(entity);
temp->unk_22 = 8;
}
}
}
void func_802E1460(Entity* entity) {
struct802E1400* temp = entity->dataBuf;
u16 temp2 = temp->unk_22--;
if (temp2) {
entity->position.y -= D_802EB000; // 1.8625;
return;
}
func_80110678(entity);
func_8010FD68(entity);
temp->unk_22 = 8;
}
void func_802E14D8(Entity* entity) {
struct802E1400* temp = entity->dataBuf;
u16 temp2 = temp->unk_22--;
if (temp2) {
entity->position.y += D_802EB008; // 1.8625;
return;
}
func_8010FD68(entity);
temp->unk_22 = 8;
}
void func_801125E8(f32*, f32*, f32*, f32*, f32*, f32*);
#ifdef NON_MATCHING
// regalloc issues
void func_802E153C(Entity* entity) {
struct802E1400* temp_s1 = entity->dataBuf;
f32 hitDepth = 10.0f;
f32 x = entity->position.x;
f32 y = entity->position.y;
f32 z = entity->position.z;
f32 hitYaw;
f32 hitPitch;
func_801125E8(&x, &y, &z, &hitYaw, &hitPitch, &hitDepth);
if ((entity->position.y != y) && (entity->position.y > y)) {
temp_s1->unk_00.x += 0.5;
entity->position.y -= temp_s1->unk_00.x;
if (entity->position.y < y) {
entity->position.y = y;
}
}
}
#else
INCLUDE_ASM(s32, "code_102c80", func_802E153C);
#endif
void func_802E1614(Entity* entity) {
PlayerStatus* playerStatus = &gPlayerStatus;
if (entity->unk_06 & 1) {
if ((playerStatus->actionState == ActionState_GROUND_POUND)
|| (playerStatus->actionState == ActionState_ULTRA_POUND)) {
func_8010FD68(entity);
}
}
}
void func_802E1660(Entity* entity) {
struct802E1400* temp = entity->dataBuf;
PlayerStatus* playerStatus = &gPlayerStatus;
s8* temp2 = D_8010EBB0;
func_802E153C(entity);
if (entity->unk_06 & 0x40) {
if (playerStatus->actionState == ActionState_HAMMER) {
if (gPlayerData.hammerLevel < 0) {
return;
}
func_8010FD68(entity);
if (temp->attachedEntity == NULL) {
return;
}
func_8010FD68(temp->attachedEntity);
return;
}
}
if (playerStatus->actionState == ActionState_SPIN_JUMP) {
return;
}
if ((temp2[3] == 4) && (temp2[0] != 0)) {
return;
}
if (!(entity->unk_06 & 1)) {
if (!(entity->unk_06 & 0x80)) {
return;
}
}
func_8010FD68(entity);
if (temp->attachedEntity == NULL) {
return;
}
func_8010FD68(temp->attachedEntity);
}
void func_802E1740(Entity* entity) {
if (!(entity->unk_06 & 1)) {
func_8010FD68(entity);
}
}
void func_802E176C(Entity* entity) {
struct802E1400* temp = entity->dataBuf;
temp->unk_00.x = 1.0f;
temp->unk_00.y = 0.1f;
temp->unk_00.z = -0.1f;
temp->unk_10 = 0;
temp->unk_11 = 0;
}
#ifdef NON_MATCHING
// needs rodata support
s32 func_802E17A8(Entity* entity) {
f32 temp_f0;
f32 temp_f2;
f32 temp_f4;
f32 temp_f6;
struct802E1400* temp_s0 = entity->dataBuf;
f32 phi_f4;
s32 phi_s2 = 0;
switch (temp_s0->unk_10) {
case 0: // switch 1
temp_f6 = temp_s0->unk_14.z * 0.3;
temp_f4 = ((temp_s0->unk_14.x + temp_f6) - entity->scale.x) / 4.0;
phi_f4 = temp_f4;
if (temp_f4 < 0.01) {
phi_f4 = 0.01f;
}
temp_s0->unk_00.y += phi_f4;
entity->scale.x += temp_s0->unk_00.y;
if ((temp_s0->unk_14.x + temp_f6) <= entity->scale.x) {
temp_s0->unk_00.y = 0.0f;
temp_s0->unk_10++;
}
break;
case 1: // switch 1
temp_f6 = temp_s0->unk_14.z * -0.2;
temp_f4 = ((temp_s0->unk_14.x + temp_f6) - entity->scale.x) / 6.0;
phi_f4 = temp_f4;
if (temp_f4 > -0.01) {
phi_f4 = -0.01f;
}
temp_s0->unk_00.y += phi_f4;
entity->scale.x += temp_s0->unk_00.y;
if (entity->scale.x <= (temp_s0->unk_14.x + temp_f6)) {
temp_s0->unk_00.y = 0.0f;
temp_s0->unk_10++;
}
break;
case 2: // switch 1
temp_f6 = temp_s0->unk_14.z * 0.15;
temp_f4 = ((temp_s0->unk_14.x + temp_f6) - entity->scale.x) / 4.0;
phi_f4 = temp_f4;
if (temp_f4 < 0.01) {
phi_f4 = 0.01f;
}
temp_s0->unk_00.y += phi_f4;
entity->scale.x += temp_s0->unk_00.y;
if ((temp_s0->unk_14.x + temp_f6) <= entity->scale.x) {
temp_s0->unk_00.y = 0.0f;
temp_s0->unk_10++;
}
break;
case 3: // switch 1
temp_f6 = temp_s0->unk_14.z * -0.1;
temp_f4 = ((temp_s0->unk_14.x + temp_f6) - entity->scale.x) / 6.0;
phi_f4 = temp_f4;
if (temp_f4 > -0.01) {
phi_f4 = -0.01f;
}
temp_s0->unk_00.y += phi_f4;
entity->scale.x += temp_s0->unk_00.y;
if (entity->scale.x <= (temp_s0->unk_14.x + temp_f6)) {
temp_s0->unk_00.y = 0.0f;
temp_s0->unk_10++;
}
break;
case 4: // switch 1
temp_f4 = (temp_s0->unk_14.x - entity->scale.x) / 4.0;
phi_f4 = temp_f4;
if (temp_f4 < 0.01) {
phi_f4 = 0.01f;
}
temp_s0->unk_00.y += phi_f4;
entity->scale.x += temp_s0->unk_00.y;
if (temp_s0->unk_14.x <= entity->scale.x) {
entity->scale.x = temp_s0->unk_14.x;
temp_s0->unk_00.y = 0.0f;
temp_s0->unk_10++;
}
break;
case 5: // switch 1
phi_s2++;
break;
}
entity->scale.z = entity->scale.x;
switch (temp_s0->unk_11) {
case 0: // switch 2
temp_f6 = temp_s0->unk_14.z * -0.5;
temp_f4 = ((temp_s0->unk_14.y + temp_f6) - entity->scale.y) / 5.0;
phi_f4 = temp_f4;
if (temp_f4 > -0.01) {
phi_f4 = -0.01f;
}
temp_s0->unk_00.z += phi_f4;
entity->scale.y += temp_s0->unk_00.z;
if (entity->scale.y <= (temp_s0->unk_14.y + temp_f6)) {
temp_s0->unk_00.z = 0.0f;
temp_s0->unk_11++;
}
break;
case 1: // switch 2
temp_f6 = temp_s0->unk_14.z * 0.1;
temp_f4 = ((temp_s0->unk_14.y + temp_f6) - entity->scale.y) / 10.0;
phi_f4 = temp_f4;
if (temp_f4 < 0.01) {
phi_f4 = 0.01f;
}
temp_s0->unk_00.z += phi_f4;
entity->scale.y += temp_s0->unk_00.z;
if ((temp_s0->unk_14.y + temp_f6) <= entity->scale.y) {
temp_s0->unk_00.z = 0.0f;
temp_s0->unk_11++;
}
break;
case 2: // switch 2
temp_f6 = temp_s0->unk_14.z * -0.3;
temp_f4 = ((temp_s0->unk_14.y + temp_f6) - entity->scale.y) / 5.0;
phi_f4 = temp_f4;
if (temp_f4 > -0.01) {
phi_f4 = -0.01f;
}
temp_s0->unk_00.z += phi_f4;
entity->scale.y += temp_s0->unk_00.z;
if (entity->scale.y <= (temp_s0->unk_14.y + temp_f6)) {
temp_s0->unk_00.z = 0.0f;
temp_s0->unk_11++;
}
break;
case 3: // switch 2
temp_f6 = temp_s0->unk_14.z * 0.0;
temp_f4 = ((temp_s0->unk_14.y + temp_f6) - entity->scale.y) / 10.0;
phi_f4 = temp_f4;
if (temp_f4 < 0.01) {
phi_f4 = 0.01f;
}
temp_s0->unk_00.z += phi_f4;
entity->scale.y += temp_s0->unk_00.z;
if ((temp_s0->unk_14.y + temp_f6) <= entity->scale.y) {
temp_s0->unk_00.z = 0.0f;
temp_s0->unk_11++;
}
break;
case 4: // switch 2
temp_f4 = (temp_s0->unk_14.y - entity->scale.y) / 5.0;
phi_f4 = temp_f4;
if (temp_f4 > -0.01) {
phi_f4 = -0.01f;
}
temp_s0->unk_00.z += phi_f4;
entity->scale.y += temp_s0->unk_00.z;
if (entity->scale.y <= temp_s0->unk_14.y) {
entity->scale.y = temp_s0->unk_14.y;
temp_s0->unk_00.z = 0.0f;
temp_s0->unk_11++;
}
break;
case 5: // switch 2
phi_s2++;
break;
}
func_802E153C(entity);
if (phi_s2 == 2) {
temp_s0->unk_10 = 0;
temp_s0->unk_11 = 0;
func_8010FD68(entity);
}
}
#else
INCLUDE_ASM(s32, "code_102c80", func_802E17A8);
#endif
void func_802E1EA8(Entity* entity) {
struct802E1400* temp = entity->dataBuf;
set_area_flag(temp->unk_20);
func_80110678(entity);
}
#ifdef NON_MATCHING
// needs rodata support
void func_802E1EDC(Entity* entity) {
f32 temp_f0;
f32 temp_f4;
f32 temp_f6;
struct802E1400* temp_s0 = entity->dataBuf;
f32 phi_f4;
s32 phi_s2 = 0;
switch (temp_s0->unk_10) {
case 0:
temp_f6 = temp_s0->unk_14.z * 0.3;
temp_f4 = ((temp_s0->unk_14.x + temp_f6) - entity->scale.x) / 4.0;
phi_f4 = temp_f4;
if (temp_f4 < 0.01) {
phi_f4 = 0.01f;
}
temp_s0->unk_00.y += phi_f4;
entity->scale.x += temp_s0->unk_00.y;
if ((temp_s0->unk_14.x + temp_f6) <= entity->scale.x) {
temp_s0->unk_00.y = 0.0f;
temp_s0->unk_10++;
}
break;
case 1:
temp_f6 = (temp_s0->unk_14.z * -0.2);
temp_f4 = ((temp_s0->unk_14.x + temp_f6) - entity->scale.x) / 6.0;
phi_f4 = temp_f4;
if (temp_f4 > -0.01) {
phi_f4 = -0.01f;
}
temp_s0->unk_00.y += phi_f4;
entity->scale.x += temp_s0->unk_00.y;
if (entity->scale.x <= (temp_s0->unk_14.x + temp_f6)) {
temp_s0->unk_00.y = 0.0f;
temp_s0->unk_10++;
}
break;
case 2:
temp_f6 = temp_s0->unk_14.z * 0.15;
temp_f4 = ((temp_s0->unk_14.x + temp_f6) - entity->scale.x) / 4.0;
phi_f4 = temp_f4;
if (temp_f4 < 0.01) {
phi_f4 = 0.01f;
}
temp_s0->unk_00.y += phi_f4;
entity->scale.x += temp_s0->unk_00.y;
if ((temp_s0->unk_14.x + temp_f6) <= entity->scale.x) {
temp_s0->unk_00.y = 0.0f;
temp_s0->unk_10++;
}
break;
case 3:
temp_f6 = temp_s0->unk_14.z * -0.1;
temp_f4 = ((temp_s0->unk_14.x + temp_f6) - entity->scale.x) / 6.0;
phi_f4 = temp_f4;
if (temp_f4 > -0.01) {
phi_f4 = -0.01f;
}
temp_s0->unk_00.y += phi_f4;
entity->scale.x += temp_s0->unk_00.y;
if (entity->scale.x <= (temp_s0->unk_14.x + temp_f6)) {
temp_s0->unk_00.y = 0.0f;
temp_s0->unk_10++;
}
break;
case 4:
phi_s2++;
break;
}
entity->scale.z = entity->scale.x;
switch (temp_s0->unk_11) {
case 0:
temp_f6 = temp_s0->unk_14.z * -0.5;
temp_f4 = ((temp_s0->unk_14.y + temp_f6) - entity->scale.y) / 5.0;
phi_f4 = temp_f4;
if (temp_f4 > -0.01) {
phi_f4 = -0.01f;
}
temp_s0->unk_00.z += phi_f4;
entity->scale.y += temp_s0->unk_00.z;
if (entity->scale.y <= (temp_s0->unk_14.y + temp_f6)) {
temp_s0->unk_00.z = 0.0f;
temp_s0->unk_11++;
}
break;
case 1:
temp_f6 = temp_s0->unk_14.z * 0.1;
temp_f4 = ((temp_s0->unk_14.y + temp_f6) - entity->scale.y) / 10.0;
phi_f4 = temp_f4;
if (temp_f4 < 0.01) {
phi_f4 = 0.01f;
}
temp_s0->unk_00.z += phi_f4;
entity->scale.y += temp_s0->unk_00.z;
if ((temp_s0->unk_14.y + temp_f6) <= entity->scale.y) {
temp_s0->unk_00.z = 0.0f;
temp_s0->unk_11++;
}
break;
case 2:
temp_f6 = temp_s0->unk_14.z * -0.3;
temp_f4 = ((temp_s0->unk_14.y + temp_f6) - entity->scale.y) / 5.0;
phi_f4 = temp_f4;
if (temp_f4 > -0.01) {
phi_f4 = -0.01f;
}
temp_s0->unk_00.z += phi_f4;
entity->scale.y += temp_s0->unk_00.z;
if (entity->scale.y <= (temp_s0->unk_14.y + temp_f6)) {
temp_s0->unk_00.z = 0.0f;
temp_s0->unk_11++;
}
break;
case 3:
phi_s2++;
break;
}
func_802E153C(entity);
if (phi_s2 == 2) {
temp_s0->unk_10 = 0;
temp_s0->unk_11 = 0;
func_8010FD68(entity);
}
temp_s0->unk_24++;
if ((temp_s0->unk_24 == 10) && (temp_s0->attachedEntity == NULL)) {
func_80072230(0, entity->position.x, entity->position.y, entity->position.z, 1.0f, 0x3C);
}
}
#else
INCLUDE_ASM(s32, "code_102c80", func_802E1EDC);
#endif
void func_802E234C(Entity* entity) {
PlayerStatus* playerStatus = &gPlayerStatus;
struct802E1400* temp = entity->dataBuf;
playerStatus->animFlags |= 0x1000000;
temp->unk_14.x = 1.0f;
temp->unk_14.y = 1.0f;
temp->unk_14.z = 1.0f;
}
void entity_init_BlueSwitch(Entity* entity) {
Entity* temp_v0_2;
struct802E1400* temp = entity->dataBuf;
func_802E234C(entity);
if (D_8015C7D0[0] == 2) {
D_802EB3A0 = entity;
return;
}
if (D_8015C7D0[0] == 1) {
if (D_802EB3A0 != NULL) {
temp->attachedEntity = D_802EB3A0;
entity->flags |= 1;
return;
}
} else {
D_802EB3A0 = NULL;
}
}
void entity_init_HugeBlueSwitch(Entity* entity) {
struct802E1400* temp;
func_802E234C(entity);
temp = entity->dataBuf;
entity->scale.x = 3.0f;
entity->scale.y = 3.0f;
entity->scale.z = 3.0f;
temp->unk_14.x = 3.0f;
temp->unk_14.y = 3.0f;
temp->unk_14.z = 3.0f;
}
void func_802E2450(Entity* entity) {
func_802E3650(entity);
}
INCLUDE_ASM(void, "code_102c80", func_802E246C, Entity* entity, void* arg1, void* arg2);
INCLUDE_ASM(s32, "code_102c80", func_802E263C);
#ifdef NON_MATCHING
// display list issues
void func_802E2BA4(s32 entityIndex) {
Gfx* temp_s2;
struct802E1400* temp_s4;
struct802E2BA4* phi_fp;
Matrix4f subroutine_arg6;
Matrix4f subroutine_arg16;
Matrix4f subroutine_arg36;
Matrix4f subroutine_arg48;
s32 i;
f32 x_inv;
f32 y_inv;
f32 z_inv;
Entity* entity;
f32 threeSixty;
f32 someFloat;
f32 one;
s16 temp;
temp_s2 = gMasterGfxPos;
threeSixty = 360.0f;
someFloat = 0.00390625f;
entity = get_entity_by_index(entityIndex);
temp_s4 = entity->dataBuf;
x_inv = -entity->position.x;
y_inv = -entity->position.y;
z_inv = -entity->position.z;
phi_fp = temp_s4->unk_34;
for (i = 0; i < 24; i++) {
if (temp_s4->unk_3C.s == 0xFF) {
gDPSetRenderMode(temp_s2++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
gDPSetCombineMode(temp_s2++, G_CC_MODULATEIA, G_CC_MODULATEIA);
} else {
gDPSetCombineLERP(temp_s2++, 0, 0, 0, TEXEL0, SHADE, 0, TEXEL0, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, SHADE, 0);
gDPSetPrimColor(temp_s2++, 0, 0, 0x00, 0x00, 0x00, temp_s4->unk_3C.b[1])
}
guTranslateF(&subroutine_arg6, x_inv, y_inv, z_inv);
guRotateF(&subroutine_arg36, temp_s4->unk_8B[i] * threeSixty * someFloat, 1.0f, 0.0f, 0.0f);
guRotateF(&subroutine_arg48, temp_s4->unk_A4[i] * threeSixty * someFloat, 0.0f, 1.0f, 0.0f);
guMtxCatF(&subroutine_arg36, &subroutine_arg48, &subroutine_arg48);
guMtxCatF(&subroutine_arg48, &subroutine_arg6, &subroutine_arg6);
guTranslateF(&subroutine_arg16, temp_s4->unk_C0[i], temp_s4->unk_124[i], temp_s4->unk_188[i]);
guMtxCatF(&subroutine_arg6, &subroutine_arg16, &subroutine_arg16);
guMtxF2L(&subroutine_arg16, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(temp_s2++, &gDisplayContext->matrixStack[++gMatrixListPos], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(temp_s2++, entity->vertexData + phi_fp->unk_02[i][0]);
gSPPopMatrix(temp_s2++, G_MTX_MODELVIEW);
}
gMasterGfxPos = temp_s2;
}
#else
INCLUDE_ASM(s32, "code_102c80", func_802E2BA4);
#endif

View File

@ -60,24 +60,6 @@ void func_802E2EB0(Entity* entity) {
func_802E246C(entity, a1, a2);
}
typedef struct struct802E9C40 {
/* 0x00 */ char unk_00[0x10];
/* 0x10 */ UNK_PTR unk_10;
/* 0x14 */ char unk_14[0x1C];
} struct802E9C40; // size = 0x20
typedef struct struct802E9C70 {
/* 0x00 */ char unk_00[0x10];
/* 0x10 */ UNK_PTR unk_10;
/* 0x14 */ char unk_14[8];
} struct802E9C70;
extern UNK_TYPE D_802E9828;
void func_802E263C(Entity* entity);
struct802E9C40 D_802E9C40 = {{0, 0, 0, 7, 0, 0, 0, 0x20, 0, 0, 0, 3, 0, 0, 0, 0}, func_802E263C, {0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 7, 0x20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}};
struct802E9C70 D_802E9C70 = {{0, 0, 0, 4, 0, 0, 0, 0x11, 0, 0, 0, 1, 0, 0, 0, 0x3C}, &D_802E9828, {0, 0, 0, 2, 0, 0, 0, 0}};
//ROM addrs; todo
extern UNK_TYPE D_00E32420;
extern UNK_TYPE D_00E35670;
@ -86,13 +68,13 @@ extern UNK_TYPE D_00E3B870;
extern UNK_TYPE D_00E3E260;
extern UNK_TYPE D_00E42240;
StaticEntityData D_802E9C8C = {0, 0x250, &D_802E9C70, {0, 0, 0, 0}, func_802E2EB0, &D_802E9C40, NULL, &D_00E32420, &D_00E35670, 21, {0x10, 0x10, 0x10}};
StaticEntityData D_802E9CB0 = {0, 0x250, &D_802E9C70, {0, 0, 0, 0}, func_802E2EB0, &D_802E9C40, NULL, &D_00E35670, &D_00E38890, 22, {0x10, 0x10, 0x10}};
StaticEntityData D_802E9CD4 = {0, 0x250, &D_802E9C70, {0, 0, 0, 0}, func_802E2EB0, &D_802E9C40, NULL, &D_00E38890, &D_00E3B870, 23, {0x10, 0x10, 0x10}};
StaticEntityData D_802E9CF8 = {0, 0x250, &D_802E9C70, {0, 0, 0, 0}, func_802E2EB0, &D_802E9C40, NULL, &D_00E32420, &D_00E35670, 24, {0x08, 0x08, 0x08}};
StaticEntityData D_802E9D1C = {0, 0x250, &D_802E9C70, {0, 0, 0, 0}, func_802E2EB0, &D_802E9C40, NULL, &D_00E35670, &D_00E38890, 25, {0x08, 0x08, 0x08}};
StaticEntityData D_802E9D40 = {0, 0x250, &D_802E9C70, {0, 0, 0, 0}, func_802E2EB0, &D_802E9C40, NULL, &D_00E38890, &D_00E3B870, 26, {0x08, 0x08, 0x08}};
StaticEntityData D_802E9D64 = {0, 0x250, &D_802E9C70, {0, 0, 0, 0}, func_802E2EB0, &D_802E9C40, NULL, &D_00E3E260, &D_00E42240, 13, {0x08, 0x08, 0x08}};
extern StaticEntityData D_802E9C8C;
extern StaticEntityData D_802E9CB0;
extern StaticEntityData D_802E9CD4;
extern StaticEntityData D_802E9CF8;
extern StaticEntityData D_802E9D1C;
extern StaticEntityData D_802E9D40;
extern StaticEntityData D_802E9D64;
void func_802E2FD0(Entity* entity) {
u32 type;

View File

@ -4,36 +4,140 @@ INCLUDE_ASM(s32, "code_105F90", func_802E4710);
INCLUDE_ASM(s32, "code_105F90", func_802E4730);
INCLUDE_ASM(s32, "code_105F90", func_802E4AEC);
void func_802E4AEC(s32 entityIndex) {
func_802E4730(entityIndex, &D_0A000808);
}
INCLUDE_ASM(s32, "code_105F90", func_802E4B10);
void func_802E4B10(Entity* entity) {
struct802E4B10* temp = entity->dataBuf;
Entity* entityTemp = get_entity_by_index(temp->unk_00);
INCLUDE_ASM(s32, "code_105F90", func_802E4B60);
entity->position.x = entityTemp->position.x;
entity->position.y = entityTemp->position.y + 14.0f;
entity->position.z = entityTemp->position.z;
}
void func_802E4B60(Entity* entity) {
struct802E4B10* temp_s0;
Entity* someEntity;
entity->unk_3C = func_802E4AEC;
entity->alpha = 0xFF;
temp_s0 = entity->dataBuf;
entity->flags |= 0x2000;
someEntity = get_entity_by_index(temp_s0->unk_00);
if (temp_s0->unk_09 == 0) {
temp_s0->unk_09 = 1;
temp_s0->unk_01 = 2;
entity->scale.x = 1.0f;
} else {
temp_s0->unk_01 = 0;
entity->scale.x = 0.0f;
}
temp_s0->unk_0C = 0;
temp_s0->unk_10 = 0;
entity->rotation.x = 0.0f;
entity->rotation.y = 0.0f;
entity->rotation.z = 0.0f;
entity->scale.y = entity->scale.x;
entity->scale.z = entity->scale.x;
func_802E4B10(entity);
}
INCLUDE_ASM(s32, "code_105F90", func_802E4C10);
INCLUDE_ASM(s32, "code_105F90", func_802E4DE0);
void func_802E4DE0(Entity* entity) {
struct802E4B10* temp = entity->dataBuf;
temp->unk_01 = 0;
entity->scale.x = 1.0f;
entity->scale.y = 1.0f;
entity->scale.z = 1.0f;
entity->rotation.z = 0.0f;
}
INCLUDE_ASM(s32, "code_105F90", func_802E4E04);
INCLUDE_ASM(s32, "code_105F90", func_802E5308);
void func_802E5308(Entity* entity) {
func_802E3650(entity);
}
INCLUDE_ASM(s32, "code_105F90", func_802E5324);
INCLUDE_ASM(s32, "code_105F90", func_802E540C);
void func_802E540C(Entity* entity) {
func_802E4B10(entity);
}
INCLUDE_ASM(s32, "code_105F90", func_802E5428);
extern UNK_TYPE D_802EA728;
INCLUDE_ASM(s32, "code_105F90", func_802E545C);
void func_802E5428(Entity* entity) {
func_802E4B60(entity);
func_80110BCC(entity, &D_802EA728);
}
INCLUDE_ASM(s32, "code_105F90", func_802E548C);
void func_802E545C(Entity* entity) {
func_802E4C10(entity, 0);
func_802E5324(entity);
}
INCLUDE_ASM(s32, "code_105F90", func_802E54A8);
void func_802E548C(Entity* entity) {
func_802E4E04(entity, 0);
}
INCLUDE_ASM(s32, "code_105F90", func_802E54CC);
extern UNK_TYPE D_802EA760;
INCLUDE_ASM(s32, "code_105F90", func_802E555C);
void func_802E54A8(Entity* entity) {
func_80110BCC(entity, &D_802EA760);
}
INCLUDE_ASM(s32, "code_105F90", func_802E55A8);
extern UNK_TYPE D_802EB3C0;
INCLUDE_ASM(s32, "code_105F90", func_802E5648);
void func_802E54CC(Entity* entity) {
if ((gPlayerData.partners[1].enabled == 0) && (get_global_flag(0xF8405BE0) == 0)) {
UNK_TYPE* ptr = &D_802EB3C0;
*ptr = 0;
load_string(0x1D0001, ptr);
func_80027088(1);
D_8009A650[0] |= 0x40;
disable_player_input();
set_global_flag(0xF8405BE0);
return;
}
func_8010FD68(entity);
}
void func_802E555C(Entity* entity) {
if (D_802EB3C0) {
func_8010FD68(entity);
func_80027088(0);
D_8009A650[0] &= ~0x40;
enable_player_input();
}
}
s8 func_802E55A8(Entity* entity, StaticEntityData* data) {
s32 temp_s2;
Entity* someEntity;
struct802E4B10* temp_v1;
s8 phi_v0;
temp_s2 = D_8015C7D0[0];
entity_init_Hammer23Block_normal(entity);
someEntity = get_entity_by_index(create_entity(data, entity->position.x, entity->position.y, entity->position.z, 0.0f,
0x80000000));
temp_v1 = someEntity->dataBuf;
temp_v1->unk_00 = entity->listIndex;
if (temp_s2 == 0) {
temp_v1->unk_0A = 3;
} else {
temp_v1->unk_0A = 6;
}
}
extern StaticEntityData D_802EA7BC;
void func_802E5648(Entity* entity) {
func_802E55A8(entity, &D_802EA7BC);
}

View File

@ -1,143 +0,0 @@
#include "common.h"
INCLUDE_ASM(s32, "code_105f90", func_802E4710);
INCLUDE_ASM(s32, "code_105f90", func_802E4730);
void func_802E4AEC(s32 entityIndex) {
func_802E4730(entityIndex, &D_0A000808);
}
void func_802E4B10(Entity* entity) {
struct802E4B10* temp = entity->dataBuf;
Entity* entityTemp = get_entity_by_index(temp->unk_00);
entity->position.x = entityTemp->position.x;
entity->position.y = entityTemp->position.y + 14.0f;
entity->position.z = entityTemp->position.z;
}
void func_802E4B60(Entity* entity) {
struct802E4B10* temp_s0;
Entity* someEntity;
entity->unk_3C = func_802E4AEC;
entity->alpha = 0xFF;
temp_s0 = entity->dataBuf;
entity->flags |= 0x2000;
someEntity = get_entity_by_index(temp_s0->unk_00);
if (temp_s0->unk_09 == 0) {
temp_s0->unk_09 = 1;
temp_s0->unk_01 = 2;
entity->scale.x = 1.0f;
} else {
temp_s0->unk_01 = 0;
entity->scale.x = 0.0f;
}
temp_s0->unk_0C = 0;
temp_s0->unk_10 = 0;
entity->rotation.x = 0.0f;
entity->rotation.y = 0.0f;
entity->rotation.z = 0.0f;
entity->scale.y = entity->scale.x;
entity->scale.z = entity->scale.x;
func_802E4B10(entity);
}
INCLUDE_ASM(s32, "code_105f90", func_802E4C10);
void func_802E4DE0(Entity* entity) {
struct802E4B10* temp = entity->dataBuf;
temp->unk_01 = 0;
entity->scale.x = 1.0f;
entity->scale.y = 1.0f;
entity->scale.z = 1.0f;
entity->rotation.z = 0.0f;
}
INCLUDE_ASM(s32, "code_105f90", func_802E4E04);
void func_802E5308(Entity* entity) {
func_802E3650(entity);
}
INCLUDE_ASM(s32, "code_105f90", func_802E5324);
void func_802E540C(Entity* entity) {
func_802E4B10(entity);
}
extern UNK_TYPE D_802EA728;
void func_802E5428(Entity* entity) {
func_802E4B60(entity);
func_80110BCC(entity, &D_802EA728);
}
void func_802E545C(Entity* entity) {
func_802E4C10(entity, 0);
func_802E5324(entity);
}
void func_802E548C(Entity* entity) {
func_802E4E04(entity, 0);
}
extern UNK_TYPE D_802EA760;
void func_802E54A8(Entity* entity) {
func_80110BCC(entity, &D_802EA760);
}
extern UNK_TYPE D_802EB3C0;
void func_802E54CC(Entity* entity) {
if ((gPlayerData.partners[1].enabled == 0) && (get_global_flag(0xF8405BE0) == 0)) {
UNK_TYPE* ptr = &D_802EB3C0;
*ptr = 0;
load_string(0x1D0001, ptr);
func_80027088(1);
D_8009A650[0] |= 0x40;
disable_player_input();
set_global_flag(0xF8405BE0);
return;
}
func_8010FD68(entity);
}
void func_802E555C(Entity* entity) {
if (D_802EB3C0) {
func_8010FD68(entity);
func_80027088(0);
D_8009A650[0] &= ~0x40;
enable_player_input();
}
}
s8 func_802E55A8(Entity* entity, StaticEntityData* data) {
s32 temp_s2;
Entity* someEntity;
struct802E4B10* temp_v1;
s8 phi_v0;
temp_s2 = D_8015C7D0[0];
entity_init_Hammer23Block_normal(entity);
someEntity = get_entity_by_index(create_entity(data, entity->position.x, entity->position.y, entity->position.z, 0.0f,
0x80000000));
temp_v1 = someEntity->dataBuf;
temp_v1->unk_00 = entity->listIndex;
if (temp_s2 == 0) {
temp_v1->unk_0A = 3;
} else {
temp_v1->unk_0A = 6;
}
}
extern StaticEntityData D_802EA7BC;
void func_802E5648(Entity* entity) {
func_802E55A8(entity, &D_802EA7BC);
}

View File

@ -1,25 +1,126 @@
#include "common.h"
INCLUDE_ASM(s32, "code_106EF0", func_802E5670);
f32 func_802E5670(struct802E4B10* arg0, s32 arg1) {
s32 temp_v0;
INCLUDE_ASM(s32, "code_106EF0", func_802E5690);
temp_v0 = arg0->unk_D0 - arg1;
if (arg0->unk_D0 - arg1 < 0) {
temp_v0 += 0x14;
}
return arg0->unk_D4[temp_v0];
}
INCLUDE_ASM(s32, "code_106EF0", func_802E56D0);
void func_802E5690(s32 entityIndex) {
s16 temp_a0;
Entity* someEntity;
Entity* someOtherEntity;
struct802E3650* temp;
INCLUDE_ASM(s32, "code_106EF0", func_802E56EC);
someEntity = get_entity_by_index(entityIndex);
temp = someEntity->dataBuf;
if (temp->unk_12 >= 0) {
Entity* someOtherEntity = get_entity_by_index(temp->unk_12);
struct802E4B10* temp2 = someOtherEntity->dataBuf;
temp2->unk_0A = 1;
}
}
INCLUDE_ASM(s32, "code_106EF0", func_802E578C);
s32 func_802E56D0(Entity* entity) {
return func_802E3650(entity);
}
INCLUDE_ASM(s32, "code_106EF0", func_802E57E4);
extern StaticEntityData D_802EA934;
INCLUDE_ASM(s32, "code_106EF0", func_802E5800);
void func_802E56EC(Entity* entity) {
s16 entityIndex;
u8 temp_v0_2;
struct802E3650* temp_s0;
INCLUDE_ASM(s32, "code_106EF0", func_802E581C);
temp_s0 = entity->dataBuf;
if (temp_s0->unk_0A != 0xFFFF) {
if (get_global_flag(temp_s0->unk_0A) == 0) {
Entity* someEntity;
struct802E3650* temp2;
entityIndex = create_entity(&D_802EA934, entity->position.x, entity->position.y, entity->position.z, 0.0f, 0x80000000);
temp_s0->unk_12 = entityIndex;
someEntity = get_entity_by_index(entityIndex);
temp2 = someEntity->dataBuf;
temp2->unk_00 = entity->listIndex;
}
}
}
void func_802E578C(Entity* entity) {
struct802E3650* temp_s1;
temp_s1 = entity->dataBuf;
entity_init_Hammer23Block_normal(entity);
entity->rotation.y += 180.0f;
temp_s1->unk_0A = 0xFFFF;
temp_s1->unk_12 = -1;
}
void func_802E57E4(Entity* entity) {
func_802E578C(entity);
}
void func_802E5800(Entity* entity) {
func_802E578C(entity);
}
void func_802E581C(Entity* entity) {
struct802E3650* temp = entity->dataBuf;
Entity* temp_v0 = get_entity_by_index(temp->unk_00);
entity->position.x = temp_v0->position.x;
entity->position.y = temp_v0->position.y + 14.0f;
entity->position.z = temp_v0->position.z;
}
// display list func
INCLUDE_ASM(s32, "code_106EF0", func_802E586C);
INCLUDE_ASM(s32, "code_106EF0", func_802E5E50);
void func_802E5E50(Entity* entity) {
f32 clampedAngle;
struct802E4B10* temp_s0 = entity->dataBuf;
INCLUDE_ASM(s32, "code_106EF0", func_802E5F50);
func_802E581C(entity);
if (temp_s0->unk_0A != 0) {
entity->unk_3C = NULL;
}
INCLUDE_ASM(s32, "code_106EF0", func_802E5F7C);
clampedAngle = clamp_angle(entity->rotation.y + 3.0);
entity->rotation.y = clampedAngle;
temp_s0->unk_D4[temp_s0->unk_D0] = clampedAngle;
if (++temp_s0->unk_D0 >= 0x15) {
temp_s0->unk_D0 = 0;
}
if (temp_s0->unk_0A == 0) {
if (D_8009A650[0] == 0) {
if (--temp_s0->unk_02 <= 0) {
temp_s0->unk_02 = 0x32;
func_80070550(3, entity->position.x, entity->position.y, entity->position.z, 22.0f, 8.0f, 4, 0x14);
}
}
}
}
void func_802E5F50(Entity* entity) {
struct802E3650* temp;
temp = entity->dataBuf;
temp->unk_128 = &D_0A000328;
temp->unk_12C = &D_0A000380;
entity->unk_3C = func_802E586C;
}
void func_802E5F7C(Entity* entity) {
struct802E3650* temp;
temp = entity->dataBuf;
temp->unk_128 = &D_0A000800;
temp->unk_12C = &D_0A000750;
entity->unk_3C = func_802E586C;
}

View File

@ -1,126 +0,0 @@
#include "common.h"
f32 func_802E5670(struct802E4B10* arg0, s32 arg1) {
s32 temp_v0;
temp_v0 = arg0->unk_D0 - arg1;
if (arg0->unk_D0 - arg1 < 0) {
temp_v0 += 0x14;
}
return arg0->unk_D4[temp_v0];
}
void func_802E5690(s32 entityIndex) {
s16 temp_a0;
Entity* someEntity;
Entity* someOtherEntity;
struct802E3650* temp;
someEntity = get_entity_by_index(entityIndex);
temp = someEntity->dataBuf;
if (temp->unk_12 >= 0) {
Entity* someOtherEntity = get_entity_by_index(temp->unk_12);
struct802E4B10* temp2 = someOtherEntity->dataBuf;
temp2->unk_0A = 1;
}
}
s32 func_802E56D0(Entity* entity) {
return func_802E3650(entity);
}
extern StaticEntityData D_802EA934;
void func_802E56EC(Entity* entity) {
s16 entityIndex;
u8 temp_v0_2;
struct802E3650* temp_s0;
temp_s0 = entity->dataBuf;
if (temp_s0->unk_0A != 0xFFFF) {
if (get_global_flag(temp_s0->unk_0A) == 0) {
Entity* someEntity;
struct802E3650* temp2;
entityIndex = create_entity(&D_802EA934, entity->position.x, entity->position.y, entity->position.z, 0.0f, 0x80000000);
temp_s0->unk_12 = entityIndex;
someEntity = get_entity_by_index(entityIndex);
temp2 = someEntity->dataBuf;
temp2->unk_00 = entity->listIndex;
}
}
}
void func_802E578C(Entity* entity) {
struct802E3650* temp_s1;
temp_s1 = entity->dataBuf;
entity_init_Hammer23Block_normal(entity);
entity->rotation.y += 180.0f;
temp_s1->unk_0A = 0xFFFF;
temp_s1->unk_12 = -1;
}
void func_802E57E4(Entity* entity) {
func_802E578C(entity);
}
void func_802E5800(Entity* entity) {
func_802E578C(entity);
}
void func_802E581C(Entity* entity) {
struct802E3650* temp = entity->dataBuf;
Entity* temp_v0 = get_entity_by_index(temp->unk_00);
entity->position.x = temp_v0->position.x;
entity->position.y = temp_v0->position.y + 14.0f;
entity->position.z = temp_v0->position.z;
}
// display list func
INCLUDE_ASM(s32, "code_106ef0", func_802E586C);
void func_802E5E50(Entity* entity) {
f32 clampedAngle;
struct802E4B10* temp_s0 = entity->dataBuf;
func_802E581C(entity);
if (temp_s0->unk_0A != 0) {
entity->unk_3C = NULL;
}
clampedAngle = clamp_angle(entity->rotation.y + 3.0);
entity->rotation.y = clampedAngle;
temp_s0->unk_D4[temp_s0->unk_D0] = clampedAngle;
if (++temp_s0->unk_D0 >= 0x15) {
temp_s0->unk_D0 = 0;
}
if (temp_s0->unk_0A == 0) {
if (D_8009A650[0] == 0) {
if (--temp_s0->unk_02 <= 0) {
temp_s0->unk_02 = 0x32;
func_80070550(3, entity->position.x, entity->position.y, entity->position.z, 22.0f, 8.0f, 4, 0x14);
}
}
}
}
void func_802E5F50(Entity* entity) {
struct802E3650* temp;
temp = entity->dataBuf;
temp->unk_128 = &D_0A000328;
temp->unk_12C = &D_0A000380;
entity->unk_3C = func_802E586C;
}
void func_802E5F7C(Entity* entity) {
struct802E3650* temp;
temp = entity->dataBuf;
temp->unk_128 = &D_0A000800;
temp->unk_12C = &D_0A000750;
entity->unk_3C = func_802E586C;
}