some more

This commit is contained in:
dark-samus 2021-01-12 23:47:57 -05:00
parent 5b4f8d90d1
commit cc703e9c79
15 changed files with 660 additions and 210 deletions

View File

@ -8,7 +8,7 @@ glabel D_802EB000
glabel D_802EB008
.double 1.8625
glabel D_802EB010
glabel jtbl_802EB010_10C890
.word 0x802E17EC, 0x802E1894, 0x802E1938, 0x802E19E0, 0x802E1A84, 0x802E1B18
glabel D_802EB028
@ -38,7 +38,7 @@ glabel D_802EB060
glabel D_802EB068
.double 0.01
glabel D_802EB070
glabel jtbl_802EB070_10C8F0
.word 0x802E1B48, 0x802E1BF0, 0x802E1C94, 0x802E1D38, 0x802E1DDC, 0x802E1E6C
glabel D_802EB088
@ -62,8 +62,8 @@ glabel D_802EB0B0
glabel D_802EB0B8
.double -0.01
glabel D_802EB0C0
.word 0x802E1F20, 0x802E1FBC, 0x802E1FD0, 0x802E206C, 0x802E211C, 0x00000000
glabel jtbl_802EB0C0_10C940
.word 0x802E1F20, 0x802E1FBC, 0x802E1FD0, 0x802E206C, 0x802E211C, 0
glabel D_802EB0D8
.double 0.3
@ -116,8 +116,8 @@ glabel D_802EB150
glabel D_802EB158
.double 6.283180236816406
glabel D_802EB160
.word 0x802E2F78, 0x802E2FA4, 0x802E2FA4, 0x802E2FA4, 0x802E2FA4, 0x802E2FA4, 0x802E2FA4, 0x802E2FA4, 0x802E2F30, 0x802E2F48, 0x802E2F60, 0x802E2F30, 0x802E2F48, 0x802E2F60
glabel jtbl_802EB160_10C9E0
.word L802E2F78_1047F8, L802E2FA4_104824, L802E2FA4_104824, L802E2FA4_104824, L802E2FA4_104824, L802E2FA4_104824, L802E2FA4_104824, L802E2FA4_104824, L802E2F30_1047B0, L802E2F48_1047C8, L802E2F60_1047E0, L802E2F30_1047B0, L802E2F48_1047C8, L802E2F60_1047E0
glabel D_802EB198
.word 0x802E305C, 0x802E3064, 0x802E3064, 0x802E3064, 0x802E3064, 0x802E3064, 0x802E3064, 0x802E3064, 0x802E3014, 0x802E302C, 0x802E3044, 0x802E3020, 0x802E3038, 0x802E3050
glabel jtbl_802EB198_10CA18
.word L802E305C_1048DC, L802E3064_1048E4, L802E3064_1048E4, L802E3064_1048E4, L802E3064_1048E4, L802E3064_1048E4, L802E3064_1048E4, L802E3064_1048E4, L802E3014_104894, L802E302C_1048AC, L802E3044_1048C4, L802E3020_1048A0, L802E3038_1048B8, L802E3050_1048D0

View File

@ -26,5 +26,5 @@ glabel D_802EB200
glabel D_802EB208
.double 0.3
glabel D_802EB210
.word 0x802E3DCC, 0x802E3DDC, 0x802E3C34, 0x802E3C34, 0x802E3C34, 0x802E3C34, 0x802E3C34, 0x802E3C34, 0x802E3DE4, 0x802E3C34, 0x802E3CD8, 0x802E3D2C, 0x802E3D84, 0x802E3CD8, 0x802E3D2C, 0x802E3D84, 0x802E3DCC, 0x802E3DCC, 0x802E3DCC, 0x802E3DCC, 0x802E3DCC, 0x00000000, 0x00000000, 0x00000000
glabel jtbl_802EB210_10CA90
.word L802E3DCC_10564C, L802E3DDC_10565C, L802E3C34_1054B4, L802E3C34_1054B4, L802E3C34_1054B4, L802E3C34_1054B4, L802E3C34_1054B4, L802E3C34_1054B4, L802E3DE4_105664, L802E3C34_1054B4, L802E3CD8_105558, L802E3D2C_1055AC, L802E3D84_105604, L802E3CD8_105558, L802E3D2C_1055AC, L802E3D84_105604, L802E3DCC_10564C, L802E3DCC_10564C, L802E3DCC_10564C, L802E3DCC_10564C, L802E3DCC_10564C, 0, 0, 0

View File

@ -14,11 +14,12 @@ glabel func_802E17A8
/* 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(D_802EB010)
/* 103058 802E17D8 3C01802F */ lui $at, %hi(jtbl_802EB010_10C890)
/* 10305C 802E17DC 00220821 */ addu $at, $at, $v0
/* 103060 802E17E0 8C22B010 */ lw $v0, %lo(D_802EB010)($at)
/* 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)
@ -62,6 +63,7 @@ glabel func_802E17A8
/* 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)
@ -104,6 +106,7 @@ glabel func_802E17A8
/* 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)
@ -147,6 +150,7 @@ glabel func_802E17A8
/* 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)
@ -189,6 +193,7 @@ glabel func_802E17A8
/* 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
@ -228,6 +233,7 @@ glabel func_802E17A8
/* 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)
@ -236,11 +242,12 @@ glabel func_802E17A8
/* 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(D_802EB070)
/* 1033B4 802E1B34 3C01802F */ lui $at, %hi(jtbl_802EB070_10C8F0)
/* 1033B8 802E1B38 00220821 */ addu $at, $at, $v0
/* 1033BC 802E1B3C 8C22B070 */ lw $v0, %lo(D_802EB070)($at)
/* 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
@ -284,6 +291,7 @@ glabel func_802E17A8
/* 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)
@ -326,6 +334,7 @@ glabel func_802E17A8
/* 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)
@ -368,6 +377,7 @@ glabel func_802E17A8
/* 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
@ -410,6 +420,7 @@ glabel func_802E17A8
/* 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
@ -448,6 +459,7 @@ glabel func_802E17A8
/* 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

View File

@ -14,11 +14,12 @@ glabel func_802E1EDC
/* 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(D_802EB0C0)
/* 10378C 802E1F0C 3C01802F */ lui $at, %hi(jtbl_802EB0C0_10C940)
/* 103790 802E1F10 00220821 */ addu $at, $at, $v0
/* 103794 802E1F14 8C22B0C0 */ lw $v0, %lo(D_802EB0C0)($at)
/* 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)
@ -59,11 +60,13 @@ glabel func_802E1EDC
/* 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)
@ -104,6 +107,7 @@ glabel func_802E1EDC
/* 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)
@ -151,6 +155,7 @@ glabel func_802E1EDC
/* 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)

View File

@ -30,29 +30,33 @@ glabel func_802E2EB0
/* 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(D_802EB160)
/* 10479C 802E2F1C 3C01802F */ lui $at, %hi(jtbl_802EB160_10C9E0)
/* 1047A0 802E2F20 00220821 */ addu $at, $at, $v0
/* 1047A4 802E2F24 8C22B160 */ lw $v0, %lo(D_802EB160)($at)
/* 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
@ -65,6 +69,7 @@ glabel func_802E2EB0
/* 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

View File

@ -14,32 +14,40 @@ glabel func_802E2FD0
/* 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(D_802EB198)
/* 104880 802E3000 3C01802F */ lui $at, %hi(jtbl_802EB198_10CA18)
/* 104884 802E3004 00220821 */ addu $at, $at, $v0
/* 104888 802E3008 8C22B198 */ lw $v0, %lo(D_802EB198)($at)
/* 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)

View File

@ -41,6 +41,7 @@ glabel func_802E3BA4
/* 1054AC 802E3C2C 1040006E */ beqz $v0, .L802E3DE8
/* 1054B0 802E3C30 24020001 */ addiu $v0, $zero, 1
.L802E3C34:
glabel L802E3C34_1054B4
/* 1054B4 802E3C34 0C043F5A */ jal func_8010FD68
/* 1054B8 802E3C38 0220202D */ daddu $a0, $s1, $zero
/* 1054BC 802E3C3C 080B8F7A */ j .L802E3DE8
@ -83,12 +84,12 @@ glabel func_802E3BA4
/* 105538 802E3CB8 2C620015 */ sltiu $v0, $v1, 0x15
/* 10553C 802E3CBC 10400049 */ beqz $v0, .L802E3DE4
/* 105540 802E3CC0 00031080 */ sll $v0, $v1, 2
/* 105544 802E3CC4 3C01802F */ lui $at, %hi(D_802EB210)
/* 105544 802E3CC4 3C01802F */ lui $at, %hi(jtbl_802EB210_10CA90)
/* 105548 802E3CC8 00220821 */ addu $at, $at, $v0
/* 10554C 802E3CCC 8C22B210 */ lw $v0, %lo(D_802EB210)($at)
/* 10554C 802E3CCC 8C22B210 */ lw $v0, %lo(jtbl_802EB210_10CA90)($at)
/* 105550 802E3CD0 00400008 */ jr $v0
/* 105554 802E3CD4 00000000 */ nop
.L802E3CD8: /* case 10, 13 */
glabel L802E3CD8_105558
/* 105558 802E3CD8 12000007 */ beqz $s0, .L802E3CF8
/* 10555C 802E3CDC 00000000 */ nop
/* 105560 802E3CE0 3C028011 */ lui $v0, %hi(gPlayerData)
@ -112,10 +113,9 @@ glabel func_802E3BA4
/* 1055A0 802E3D20 C6200050 */ lwc1 $f0, 0x50($s1)
/* 1055A4 802E3D24 080B8F6C */ j .L802E3DB0
/* 1055A8 802E3D28 2404014F */ addiu $a0, $zero, 0x14f
.L802E3D2C: /* case 11, 14 */
glabel L802E3D2C_1055AC
/* 1055AC 802E3D2C 12000008 */ beqz $s0, .L802E3D50
/* 1055B0 802E3D30 00000000 */ nop
.L802E3D34: /* case 2-7, 9 */
/* 1055B4 802E3D34 3C028011 */ lui $v0, %hi(gPlayerData)
/* 1055B8 802E3D38 8042F290 */ lb $v0, %lo(gPlayerData)($v0)
/* 1055BC 802E3D3C 28420002 */ slti $v0, $v0, 2
@ -138,7 +138,7 @@ glabel func_802E3BA4
/* 1055F8 802E3D78 C6200050 */ lwc1 $f0, 0x50($s1)
/* 1055FC 802E3D7C 080B8F6C */ j .L802E3DB0
/* 105600 802E3D80 24040150 */ addiu $a0, $zero, 0x150
.L802E3D84: /* case 12, 15 */
glabel L802E3D84_105604
/* 105604 802E3D84 3C028011 */ lui $v0, %hi(gPlayerData+0x1)
/* 105608 802E3D88 8042F291 */ lb $v0, %lo(gPlayerData+0x1)($v0)
/* 10560C 802E3D8C 28420002 */ slti $v0, $v0, 2
@ -158,15 +158,16 @@ glabel func_802E3BA4
/* 105640 802E3DC0 0000282D */ daddu $a1, $zero, $zero
/* 105644 802E3DC4 080B8F7A */ j .L802E3DE8
/* 105648 802E3DC8 24020001 */ addiu $v0, $zero, 1
.L802E3DCC: /* case 0, 16-20 */
glabel L802E3DCC_10564C
/* 10564C 802E3DCC 0C04419E */ jal func_80110678
/* 105650 802E3DD0 0220202D */ daddu $a0, $s1, $zero
/* 105654 802E3DD4 080B8F0D */ j .L802E3C34
/* 105658 802E3DD8 00000000 */ nop
.L802E3DDC: /* case 1 */
glabel L802E3DDC_10565C
/* 10565C 802E3DDC 0C04419E */ jal func_80110678
/* 105660 802E3DE0 0220202D */ daddu $a0, $s1, $zero
.L802E3DE4: /* case 8 */
.L802E3DE4:
glabel L802E3DE4_105664
/* 105664 802E3DE4 24020001 */ addiu $v0, $zero, 1
.L802E3DE8:
/* 105668 802E3DE8 8FBF0024 */ lw $ra, 0x24($sp)

View File

@ -39,7 +39,32 @@ void func_802E14D8(Entity* 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;
@ -116,7 +141,182 @@ void func_802E176C(Entity* entity) {
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;
@ -124,7 +324,150 @@ void func_802E1EA8(Entity* entity) {
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;

View File

@ -143,6 +143,83 @@ INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80112328);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_80112344);
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", func_801125E8);
/*s32 func_801125E8(void *arg0, void *arg1, void *arg2, void *arg3, void *arg4, void *arg5) {
? sp50;
? sp4C;
? sp48;
f32 sp44;
? sp40;
? sp3C;
? sp38;
? *sp34;
? *sp30;
? *sp2C;
? *sp28;
? *sp24;
? *sp20;
? *sp1C;
? *sp18;
f32 sp14;
s32 temp_v0;
s32 temp_v0_2;
s32 phi_s1;
s32 phi_s2;
sp44 = 32767.0f;
*arg5 = 32767.0f;
sp18 = &sp38;
sp1C = &sp3C;
sp20 = &sp40;
sp24 = &sp44;
sp28 = &sp48;
sp2C = &sp4C;
sp14 = 0.0f;
sp30 = &sp50;
temp_v0 = test_ray_entities(*arg0, *arg1, *arg2, 0.0f, -1.0f);
phi_s1 = -1;
if (temp_v0 >= 0) {
if (get_entity_type(temp_v0) == 0xC) {
phi_s1 = -1;
if (sp48 == 0.0f) {
phi_s1 = -1;
if (sp50 == 0.0f) {
phi_s1 = -1;
if ((f64) sp4C == 1.0) {
block_5:
phi_s1 = temp_v0 | 0x4000;
}
}
}
} else {
goto block_5;
}
}
sp1C = &sp38;
sp20 = &sp3C;
sp24 = &sp40;
sp28 = &sp44;
sp2C = &sp48;
sp30 = &sp4C;
sp18 = 0;
sp34 = &sp50;
sp14 = -1.0f;
temp_v0_2 = test_ray_colliders(0x10000, (bitwise s32) *arg0, (bitwise s32) *arg1, *arg2, 0);
if (temp_v0_2 >= 0) {
phi_s1 = temp_v0_2;
}
if (phi_s1 < 0) {
*arg3 = 0.0f;
*arg4 = 0.0f;
phi_s2 = 0;
} else {
*arg5 = sp44;
*arg1 = sp3C;
*arg3 = (f32) -atan2(0, 0, sp50 * 100.0f, sp4C * 100.0f);
*arg4 = (f32) -atan2(0, 0, sp48 * 100.0f, sp4C * 100.0f);
phi_s2 = 1;
}
return phi_s2;
}*/
INCLUDE_ASM(s32, "code_a5dd0_len_114e0", set_standard_shadow_scale);

View File

@ -58,7 +58,6 @@ s32 render_effects(void) {
INCLUDE_ASM(s32, "world/world", func_80059F94);
EffectInstance* func_8005A2BC(EffectBlueprint* effectBp) {
EffectInstance *newEffectInst;
Effect* curEffect;