From cc703e9c7932c1f8946d32b64b4db4252dc0f267 Mon Sep 17 00:00:00 2001 From: dark-samus Date: Tue, 12 Jan 2021 23:47:57 -0500 Subject: [PATCH] some more --- asm/data/code_102c80.rodata.s | 16 +- asm/data/code_104940_len_dc0.rodata.s | 4 +- asm/nonmatchings/code_102c80/func_802E17A8.s | 142 ++++---- asm/nonmatchings/code_102c80/func_802E1EDC.s | 67 ++-- asm/nonmatchings/code_102c80/func_802E246C.s | 2 +- asm/nonmatchings/code_102c80/func_802E263C.s | 70 ++-- asm/nonmatchings/code_102c80/func_802E2BA4.s | 14 +- asm/nonmatchings/code_102c80/func_802E2EB0.s | 19 +- asm/nonmatchings/code_102c80/func_802E2FD0.s | 20 +- .../code_104940_len_dc0/func_802E30C0.s | 2 +- .../code_104940_len_dc0/func_802E3370.s | 56 +-- .../code_104940_len_dc0/func_802E3BA4.s | 37 +- src/code_102c80.c | 343 ++++++++++++++++++ src/code_a5dd0_len_114e0.c | 77 ++++ src/world/world.c | 1 - 15 files changed, 660 insertions(+), 210 deletions(-) diff --git a/asm/data/code_102c80.rodata.s b/asm/data/code_102c80.rodata.s index 4b9ffd86af..64b6888fc5 100644 --- a/asm/data/code_102c80.rodata.s +++ b/asm/data/code_102c80.rodata.s @@ -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 diff --git a/asm/data/code_104940_len_dc0.rodata.s b/asm/data/code_104940_len_dc0.rodata.s index 9e649cfecf..b1e3998c59 100644 --- a/asm/data/code_104940_len_dc0.rodata.s +++ b/asm/data/code_104940_len_dc0.rodata.s @@ -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 diff --git a/asm/nonmatchings/code_102c80/func_802E17A8.s b/asm/nonmatchings/code_102c80/func_802E17A8.s index 3696b571bb..dd7eeb4ca7 100644 --- a/asm/nonmatchings/code_102c80/func_802E17A8.s +++ b/asm/nonmatchings/code_102c80/func_802E17A8.s @@ -14,17 +14,18 @@ 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 +/* 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 +/* 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 @@ -35,15 +36,15 @@ glabel func_802E17A8 /* 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 +/* 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 +/* 1030C4 802E1844 00000000 */ nop /* 1030C8 802E1848 45000004 */ bc1f .L802E185C -/* 1030CC 802E184C 00000000 */ nop +/* 1030CC 802E184C 00000000 */ nop /* 1030D0 802E1850 3C013C23 */ lui $at, 0x3c23 /* 1030D4 802E1854 3421D70A */ ori $at, $at, 0xd70a /* 1030D8 802E1858 44812000 */ mtc1 $at, $f4 @@ -57,17 +58,18 @@ glabel func_802E17A8 /* 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 +/* 103100 802E1880 00000000 */ nop /* 103104 802E1884 450000A5 */ bc1f .L802E1B1C -/* 103108 802E1888 00000000 */ nop +/* 103108 802E1888 00000000 */ nop /* 10310C 802E188C 080B86C1 */ j .L802E1B04 -/* 103110 802E1890 00000000 */ nop +/* 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 +/* 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 @@ -83,9 +85,9 @@ glabel func_802E17A8 /* 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 +/* 103168 802E18E8 00000000 */ nop /* 10316C 802E18EC 45000004 */ bc1f .L802E1900 -/* 103170 802E18F0 00000000 */ nop +/* 103170 802E18F0 00000000 */ nop /* 103174 802E18F4 3C01BC23 */ lui $at, 0xbc23 /* 103178 802E18F8 3421D70A */ ori $at, $at, 0xd70a /* 10317C 802E18FC 44812000 */ mtc1 $at, $f4 @@ -99,17 +101,18 @@ glabel func_802E17A8 /* 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 +/* 1031A4 802E1924 00000000 */ nop /* 1031A8 802E1928 4500007C */ bc1f .L802E1B1C -/* 1031AC 802E192C 00000000 */ nop +/* 1031AC 802E192C 00000000 */ nop /* 1031B0 802E1930 080B86C1 */ j .L802E1B04 -/* 1031B4 802E1934 00000000 */ nop +/* 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 +/* 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 @@ -120,15 +123,15 @@ glabel func_802E17A8 /* 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 +/* 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 +/* 103210 802E1990 00000000 */ nop /* 103214 802E1994 45000004 */ bc1f .L802E19A8 -/* 103218 802E1998 00000000 */ nop +/* 103218 802E1998 00000000 */ nop /* 10321C 802E199C 3C013C23 */ lui $at, 0x3c23 /* 103220 802E19A0 3421D70A */ ori $at, $at, 0xd70a /* 103224 802E19A4 44812000 */ mtc1 $at, $f4 @@ -142,17 +145,18 @@ glabel func_802E17A8 /* 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 +/* 10324C 802E19CC 00000000 */ nop /* 103250 802E19D0 45000052 */ bc1f .L802E1B1C -/* 103254 802E19D4 00000000 */ nop +/* 103254 802E19D4 00000000 */ nop /* 103258 802E19D8 080B86C1 */ j .L802E1B04 -/* 10325C 802E19DC 00000000 */ nop +/* 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 +/* 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 @@ -168,9 +172,9 @@ glabel func_802E17A8 /* 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 +/* 1032B4 802E1A34 00000000 */ nop /* 1032B8 802E1A38 45000004 */ bc1f .L802E1A4C -/* 1032BC 802E1A3C 00000000 */ nop +/* 1032BC 802E1A3C 00000000 */ nop /* 1032C0 802E1A40 3C01BC23 */ lui $at, 0xbc23 /* 1032C4 802E1A44 3421D70A */ ori $at, $at, 0xd70a /* 1032C8 802E1A48 44812000 */ mtc1 $at, $f4 @@ -184,11 +188,12 @@ glabel func_802E17A8 /* 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 +/* 1032F0 802E1A70 00000000 */ nop /* 1032F4 802E1A74 45000029 */ bc1f .L802E1B1C -/* 1032F8 802E1A78 00000000 */ nop +/* 1032F8 802E1A78 00000000 */ nop /* 1032FC 802E1A7C 080B86C1 */ j .L802E1B04 -/* 103300 802E1A80 00000000 */ nop +/* 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 @@ -197,15 +202,15 @@ glabel func_802E17A8 /* 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 +/* 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 +/* 10333C 802E1ABC 00000000 */ nop /* 103340 802E1AC0 45000004 */ bc1f .L802E1AD4 -/* 103344 802E1AC4 00000000 */ nop +/* 103344 802E1AC4 00000000 */ nop /* 103348 802E1AC8 3C013C23 */ lui $at, 0x3c23 /* 10334C 802E1ACC 3421D70A */ ori $at, $at, 0xd70a /* 103350 802E1AD0 44812000 */ mtc1 $at, $f4 @@ -218,9 +223,9 @@ glabel func_802E17A8 /* 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 +/* 103374 802E1AF4 00000000 */ nop /* 103378 802E1AF8 45000008 */ bc1f .L802E1B1C -/* 10337C 802E1AFC 00000000 */ nop +/* 10337C 802E1AFC 00000000 */ nop /* 103380 802E1B00 E6200054 */ swc1 $f0, 0x54($s1) .L802E1B04: /* 103384 802E1B04 92020010 */ lbu $v0, 0x10($s0) @@ -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,18 +242,19 @@ 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 +/* 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 +/* 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 @@ -263,9 +270,9 @@ glabel func_802E17A8 /* 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 +/* 103420 802E1BA0 00000000 */ nop /* 103424 802E1BA4 45000004 */ bc1f .L802E1BB8 -/* 103428 802E1BA8 00000000 */ nop +/* 103428 802E1BA8 00000000 */ nop /* 10342C 802E1BAC 3C01BC23 */ lui $at, 0xbc23 /* 103430 802E1BB0 3421D70A */ ori $at, $at, 0xd70a /* 103434 802E1BB4 44812000 */ mtc1 $at, $f4 @@ -279,17 +286,18 @@ glabel func_802E17A8 /* 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 +/* 10345C 802E1BDC 00000000 */ nop /* 103460 802E1BE0 450000A3 */ bc1f .L802E1E70 -/* 103464 802E1BE4 00000000 */ nop +/* 103464 802E1BE4 00000000 */ nop /* 103468 802E1BE8 080B8796 */ j .L802E1E58 -/* 10346C 802E1BEC 00000000 */ nop +/* 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 +/* 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 @@ -305,9 +313,9 @@ glabel func_802E17A8 /* 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 +/* 1034C4 802E1C44 00000000 */ nop /* 1034C8 802E1C48 45000004 */ bc1f .L802E1C5C -/* 1034CC 802E1C4C 00000000 */ nop +/* 1034CC 802E1C4C 00000000 */ nop /* 1034D0 802E1C50 3C013C23 */ lui $at, 0x3c23 /* 1034D4 802E1C54 3421D70A */ ori $at, $at, 0xd70a /* 1034D8 802E1C58 44812000 */ mtc1 $at, $f4 @@ -321,17 +329,18 @@ glabel func_802E17A8 /* 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 +/* 103500 802E1C80 00000000 */ nop /* 103504 802E1C84 4500007A */ bc1f .L802E1E70 -/* 103508 802E1C88 00000000 */ nop +/* 103508 802E1C88 00000000 */ nop /* 10350C 802E1C8C 080B8796 */ j .L802E1E58 -/* 103510 802E1C90 00000000 */ nop +/* 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 +/* 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 @@ -347,9 +356,9 @@ glabel func_802E17A8 /* 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 +/* 103568 802E1CE8 00000000 */ nop /* 10356C 802E1CEC 45000004 */ bc1f .L802E1D00 -/* 103570 802E1CF0 00000000 */ nop +/* 103570 802E1CF0 00000000 */ nop /* 103574 802E1CF4 3C01BC23 */ lui $at, 0xbc23 /* 103578 802E1CF8 3421D70A */ ori $at, $at, 0xd70a /* 10357C 802E1CFC 44812000 */ mtc1 $at, $f4 @@ -363,17 +372,18 @@ glabel func_802E17A8 /* 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 +/* 1035A4 802E1D24 00000000 */ nop /* 1035A8 802E1D28 45000051 */ bc1f .L802E1E70 -/* 1035AC 802E1D2C 00000000 */ nop +/* 1035AC 802E1D2C 00000000 */ nop /* 1035B0 802E1D30 080B8796 */ j .L802E1E58 -/* 1035B4 802E1D34 00000000 */ nop +/* 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 +/* 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 @@ -389,9 +399,9 @@ glabel func_802E17A8 /* 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 +/* 10360C 802E1D8C 00000000 */ nop /* 103610 802E1D90 45000004 */ bc1f .L802E1DA4 -/* 103614 802E1D94 00000000 */ nop +/* 103614 802E1D94 00000000 */ nop /* 103618 802E1D98 3C013C23 */ lui $at, 0x3c23 /* 10361C 802E1D9C 3421D70A */ ori $at, $at, 0xd70a /* 103620 802E1DA0 44812000 */ mtc1 $at, $f4 @@ -405,11 +415,12 @@ glabel func_802E17A8 /* 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 +/* 103648 802E1DC8 00000000 */ nop /* 10364C 802E1DCC 45000028 */ bc1f .L802E1E70 -/* 103650 802E1DD0 00000000 */ nop +/* 103650 802E1DD0 00000000 */ nop /* 103654 802E1DD4 080B8796 */ j .L802E1E58 -/* 103658 802E1DD8 00000000 */ nop +/* 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 @@ -423,9 +434,9 @@ glabel func_802E17A8 /* 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 +/* 103690 802E1E10 00000000 */ nop /* 103694 802E1E14 45000004 */ bc1f .L802E1E28 -/* 103698 802E1E18 00000000 */ nop +/* 103698 802E1E18 00000000 */ nop /* 10369C 802E1E1C 3C01BC23 */ lui $at, 0xbc23 /* 1036A0 802E1E20 3421D70A */ ori $at, $at, 0xd70a /* 1036A4 802E1E24 44812000 */ mtc1 $at, $f4 @@ -438,9 +449,9 @@ glabel func_802E17A8 /* 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 +/* 1036C8 802E1E48 00000000 */ nop /* 1036CC 802E1E4C 45000008 */ bc1f .L802E1E70 -/* 1036D0 802E1E50 00000000 */ nop +/* 1036D0 802E1E50 00000000 */ nop /* 1036D4 802E1E54 E6200058 */ swc1 $f0, 0x58($s1) .L802E1E58: /* 1036D8 802E1E58 92020011 */ lbu $v0, 0x11($s0) @@ -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 diff --git a/asm/nonmatchings/code_102c80/func_802E1EDC.s b/asm/nonmatchings/code_102c80/func_802E1EDC.s index 17b5f0e587..36958b7d05 100644 --- a/asm/nonmatchings/code_102c80/func_802E1EDC.s +++ b/asm/nonmatchings/code_102c80/func_802E1EDC.s @@ -14,17 +14,18 @@ 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 +/* 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 +/* 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 @@ -35,15 +36,15 @@ glabel func_802E1EDC /* 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 +/* 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 +/* 1037F8 802E1F78 00000000 */ nop /* 1037FC 802E1F7C 45000004 */ bc1f .L802E1F90 -/* 103800 802E1F80 00000000 */ nop +/* 103800 802E1F80 00000000 */ nop /* 103804 802E1F84 3C013C23 */ lui $at, 0x3c23 /* 103808 802E1F88 3421D70A */ ori $at, $at, 0xd70a /* 10380C 802E1F8C 44812000 */ mtc1 $at, $f4 @@ -58,18 +59,20 @@ glabel func_802E1EDC /* 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 +/* 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 +/* 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 @@ -80,15 +83,15 @@ glabel func_802E1EDC /* 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 +/* 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 +/* 1038A8 802E2028 00000000 */ nop /* 1038AC 802E202C 45000004 */ bc1f .L802E2040 -/* 1038B0 802E2030 00000000 */ nop +/* 1038B0 802E2030 00000000 */ nop /* 1038B4 802E2034 3C013C23 */ lui $at, 0x3c23 /* 1038B8 802E2038 3421D70A */ ori $at, $at, 0xd70a /* 1038BC 802E203C 44812000 */ mtc1 $at, $f4 @@ -103,14 +106,15 @@ glabel func_802E1EDC /* 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 +/* 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 +/* 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 @@ -126,9 +130,9 @@ glabel func_802E1EDC /* 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 +/* 103940 802E20C0 00000000 */ nop /* 103944 802E20C4 45000004 */ bc1f .L802E20D8 -/* 103948 802E20C8 00000000 */ nop +/* 103948 802E20C8 00000000 */ nop /* 10394C 802E20CC 3C01BC23 */ lui $at, 0xbc23 /* 103950 802E20D0 3421D70A */ ori $at, $at, 0xd70a /* 103954 802E20D4 44812000 */ mtc1 $at, $f4 @@ -142,15 +146,16 @@ glabel func_802E1EDC /* 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 +/* 10397C 802E20FC 00000000 */ nop .L802E2100: /* 103980 802E2100 45000007 */ bc1f .L802E2120 -/* 103984 802E2104 00000000 */ nop +/* 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) @@ -162,16 +167,16 @@ glabel func_802E1EDC /* 1039B8 802E2138 10400005 */ beqz $v0, .L802E2150 /* 1039BC 802E213C 24020002 */ addiu $v0, $zero, 2 /* 1039C0 802E2140 10600009 */ beqz $v1, .L802E2168 -/* 1039C4 802E2144 00000000 */ nop +/* 1039C4 802E2144 00000000 */ nop /* 1039C8 802E2148 080B88B1 */ j .L802E22C4 -/* 1039CC 802E214C 00000000 */ nop +/* 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 +/* 1039E4 802E2164 00000000 */ nop .L802E2168: /* 1039E8 802E2168 C602001C */ lwc1 $f2, 0x1c($s0) /* 1039EC 802E216C 3C01BFE0 */ lui $at, 0xbfe0 @@ -185,7 +190,7 @@ glabel func_802E1EDC /* 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 +/* 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 @@ -201,9 +206,9 @@ glabel func_802E1EDC /* 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 +/* 103A54 802E21D4 00000000 */ nop /* 103A58 802E21D8 45000004 */ bc1f .L802E21EC -/* 103A5C 802E21DC 00000000 */ nop +/* 103A5C 802E21DC 00000000 */ nop /* 103A60 802E21E0 3C013C23 */ lui $at, 0x3c23 /* 103A64 802E21E4 3421D70A */ ori $at, $at, 0xd70a /* 103A68 802E21E8 44812000 */ mtc1 $at, $f4 @@ -218,7 +223,7 @@ glabel func_802E1EDC /* 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 +/* 103A94 802E2214 00000000 */ nop .L802E2218: /* 103A98 802E2218 C602001C */ lwc1 $f2, 0x1c($s0) /* 103A9C 802E221C 3C01802F */ lui $at, %hi(D_802EB120) @@ -226,7 +231,7 @@ glabel func_802E1EDC /* 103AA4 802E2224 460010A1 */ cvt.d.s $f2, $f2 .L802E2228: /* 103AA8 802E2228 46201082 */ mul.d $f2, $f2, $f0 -/* 103AAC 802E222C 00000000 */ nop +/* 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 @@ -242,9 +247,9 @@ glabel func_802E1EDC /* 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 +/* 103AEC 802E226C 00000000 */ nop /* 103AF0 802E2270 45000004 */ bc1f .L802E2284 -/* 103AF4 802E2274 00000000 */ nop +/* 103AF4 802E2274 00000000 */ nop /* 103AF8 802E2278 3C01BC23 */ lui $at, 0xbc23 /* 103AFC 802E227C 3421D70A */ ori $at, $at, 0xd70a /* 103B00 802E2280 44812000 */ mtc1 $at, $f4 @@ -258,10 +263,10 @@ glabel func_802E1EDC /* 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 +/* 103B28 802E22A8 00000000 */ nop .L802E22AC: /* 103B2C 802E22AC 45000005 */ bc1f .L802E22C4 -/* 103B30 802E22B0 00000000 */ nop +/* 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 @@ -283,7 +288,7 @@ glabel func_802E1EDC /* 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 +/* 103B80 802E2300 00000000 */ nop /* 103B84 802E2304 8E020028 */ lw $v0, 0x28($s0) /* 103B88 802E2308 1440000A */ bnez $v0, .L802E2334 /* 103B8C 802E230C 2402003C */ addiu $v0, $zero, 0x3c diff --git a/asm/nonmatchings/code_102c80/func_802E246C.s b/asm/nonmatchings/code_102c80/func_802E246C.s index d0247ed57a..f2f5be683a 100644 --- a/asm/nonmatchings/code_102c80/func_802E246C.s +++ b/asm/nonmatchings/code_102c80/func_802E246C.s @@ -99,7 +99,7 @@ glabel func_802E246C /* 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 +/* 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 diff --git a/asm/nonmatchings/code_102c80/func_802E263C.s b/asm/nonmatchings/code_102c80/func_802E263C.s index 38906e00ee..6131c7b660 100644 --- a/asm/nonmatchings/code_102c80/func_802E263C.s +++ b/asm/nonmatchings/code_102c80/func_802E263C.s @@ -47,16 +47,16 @@ glabel func_802E263C /* 103F60 802E26E0 50400005 */ beql $v0, $zero, .L802E26F8 /* 103F64 802E26E4 24020002 */ addiu $v0, $zero, 2 /* 103F68 802E26E8 10600009 */ beqz $v1, .L802E2710 -/* 103F6C 802E26EC 00000000 */ nop +/* 103F6C 802E26EC 00000000 */ nop /* 103F70 802E26F0 080B89F7 */ j .L802E27DC -/* 103F74 802E26F4 00000000 */ nop +/* 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 +/* 103F84 802E2704 00000000 */ nop /* 103F88 802E2708 080B89F7 */ j .L802E27DC -/* 103F8C 802E270C 00000000 */ nop +/* 103F8C 802E270C 00000000 */ nop .L802E2710: /* 103F90 802E2710 96620000 */ lhu $v0, ($s3) /* 103F94 802E2714 3C014019 */ lui $at, 0x4019 @@ -64,7 +64,7 @@ glabel func_802E263C /* 103F9C 802E271C 4481B000 */ mtc1 $at, $f22 /* 103FA0 802E2720 30420001 */ andi $v0, $v0, 1 /* 103FA4 802E2724 10400003 */ beqz $v0, .L802E2734 -/* 103FA8 802E2728 00000000 */ nop +/* 103FA8 802E2728 00000000 */ nop /* 103FAC 802E272C 3C013FC0 */ lui $at, 0x3fc0 /* 103FB0 802E2730 4481B000 */ mtc1 $at, $f22 .L802E2734: @@ -72,7 +72,7 @@ glabel func_802E263C /* 103FB8 802E2738 3C0140C0 */ lui $at, 0x40c0 /* 103FBC 802E273C 4481D000 */ mtc1 $at, $f26 /* 103FC0 802E2740 4482C000 */ mtc1 $v0, $f24 -/* 103FC4 802E2744 00000000 */ nop +/* 103FC4 802E2744 00000000 */ nop /* 103FC8 802E2748 080B89F7 */ j .L802E27DC /* 103FCC 802E274C 4680C620 */ cvt.s.w $f24, $f24 .L802E2750: @@ -85,7 +85,7 @@ glabel func_802E263C /* 103FE8 802E2768 00021600 */ sll $v0, $v0, 0x18 /* 103FEC 802E276C 00021683 */ sra $v0, $v0, 0x1a /* 103FF0 802E2770 4482C000 */ mtc1 $v0, $f24 -/* 103FF4 802E2774 00000000 */ nop +/* 103FF4 802E2774 00000000 */ nop /* 103FF8 802E2778 080B89F7 */ j .L802E27DC /* 103FFC 802E277C 4680C620 */ cvt.s.w $f24, $f24 .L802E2780: @@ -98,7 +98,7 @@ glabel func_802E263C /* 104018 802E2798 00021600 */ sll $v0, $v0, 0x18 /* 10401C 802E279C 00021683 */ sra $v0, $v0, 0x1a /* 104020 802E27A0 4482C000 */ mtc1 $v0, $f24 -/* 104024 802E27A4 00000000 */ nop +/* 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 @@ -124,13 +124,13 @@ glabel func_802E263C /* 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 +/* 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 +/* 10409C 802E281C 00000000 */ nop /* 1040A0 802E2820 E60001EC */ swc1 $f0, 0x1ec($s0) .L802E2824: /* 1040A4 802E2824 C6000124 */ lwc1 $f0, 0x124($s0) @@ -139,22 +139,22 @@ glabel func_802E263C /* 1040B0 802E2830 E6000124 */ swc1 $f0, 0x124($s0) /* 1040B4 802E2834 92220072 */ lbu $v0, 0x72($s1) /* 1040B8 802E2838 4482A000 */ mtc1 $v0, $f20 -/* 1040BC 802E283C 00000000 */ nop +/* 1040BC 802E283C 00000000 */ nop /* 1040C0 802E2840 4680A521 */ cvt.d.w $f20, $f20 /* 1040C4 802E2844 463CA502 */ mul.d $f20, $f20, $f28 -/* 1040C8 802E2848 00000000 */ nop +/* 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 +/* 1040D8 802E2858 00000000 */ nop /* 1040DC 802E285C 4628A502 */ mul.d $f20, $f20, $f8 -/* 1040E0 802E2860 00000000 */ nop +/* 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 +/* 1040F8 802E2878 00000000 */ nop /* 1040FC 802E287C 03C0302D */ daddu $a2, $fp, $zero /* 104100 802E2880 3C0143B4 */ lui $at, 0x43b4 /* 104104 802E2884 44810000 */ mtc1 $at, $f0 @@ -163,10 +163,10 @@ glabel func_802E263C /* 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 +/* 10411C 802E289C 00000000 */ nop /* 104120 802E28A0 C7A20024 */ lwc1 $f2, 0x24($sp) /* 104124 802E28A4 4602B082 */ mul.s $f2, $f22, $f2 -/* 104128 802E28A8 00000000 */ nop +/* 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) @@ -202,20 +202,20 @@ glabel func_802E263C /* 1041AC 802E292C A2220072 */ sb $v0, 0x72($s1) /* 1041B0 802E2930 304200FF */ andi $v0, $v0, 0xff /* 1041B4 802E2934 44826000 */ mtc1 $v0, $f12 -/* 1041B8 802E2938 00000000 */ nop +/* 1041B8 802E2938 00000000 */ nop /* 1041BC 802E293C 46806321 */ cvt.d.w $f12, $f12 /* 1041C0 802E2940 463C6302 */ mul.d $f12, $f12, $f28 -/* 1041C4 802E2944 00000000 */ nop +/* 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 +/* 1041D4 802E2954 00000000 */ nop /* 1041D8 802E2958 46286302 */ mul.d $f12, $f12, $f8 -/* 1041DC 802E295C 00000000 */ nop +/* 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 +/* 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 @@ -223,12 +223,12 @@ glabel func_802E263C /* 104200 802E2980 C7A00020 */ lwc1 $f0, 0x20($sp) /* 104204 802E2984 3C014100 */ lui $at, 0x4100 /* 104208 802E2988 4481B000 */ mtc1 $at, $f22 -/* 10420C 802E298C 00000000 */ nop +/* 10420C 802E298C 00000000 */ nop /* 104210 802E2990 46160002 */ mul.s $f0, $f0, $f22 -/* 104214 802E2994 00000000 */ nop +/* 104214 802E2994 00000000 */ nop /* 104218 802E2998 C7A40024 */ lwc1 $f4, 0x24($sp) /* 10421C 802E299C 46162102 */ mul.s $f4, $f4, $f22 -/* 104220 802E29A0 00000000 */ nop +/* 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) @@ -253,17 +253,17 @@ glabel func_802E263C /* 104274 802E29F4 0C0372DF */ jal func_800DCB7C /* 104278 802E29F8 AFA20010 */ sw $v0, 0x10($sp) /* 10427C 802E29FC 1440000B */ bnez $v0, .L802E2A2C -/* 104280 802E2A00 00000000 */ nop +/* 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 +/* 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 +/* 1042A0 802E2A20 00000000 */ nop /* 1042A4 802E2A24 4500000F */ bc1f .L802E2A64 -/* 1042A8 802E2A28 00000000 */ nop +/* 1042A8 802E2A28 00000000 */ nop .L802E2A2C: /* 1042AC 802E2A2C 92220040 */ lbu $v0, 0x40($s1) /* 1042B0 802E2A30 24420001 */ addiu $v0, $v0, 1 @@ -274,7 +274,7 @@ glabel func_802E263C /* 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 +/* 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) @@ -282,11 +282,11 @@ glabel func_802E263C .L802E2A64: /* 1042E4 802E2A64 9222008B */ lbu $v0, 0x8b($s1) /* 1042E8 802E2A68 44820000 */ mtc1 $v0, $f0 -/* 1042EC 802E2A6C 00000000 */ nop +/* 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 +/* 1042FC 802E2A7C 00000000 */ nop /* 104300 802E2A80 45010005 */ bc1t .L802E2A98 /* 104304 802E2A84 2623008B */ addiu $v1, $s1, 0x8b /* 104308 802E2A88 4600020D */ trunc.w.s $f8, $f0 @@ -303,11 +303,11 @@ glabel func_802E263C .L802E2AB0: /* 104330 802E2AB0 922200A4 */ lbu $v0, 0xa4($s1) /* 104334 802E2AB4 44820000 */ mtc1 $v0, $f0 -/* 104338 802E2AB8 00000000 */ nop +/* 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 +/* 104348 802E2AC8 00000000 */ nop /* 10434C 802E2ACC 45010005 */ bc1t .L802E2AE4 /* 104350 802E2AD0 262300A4 */ addiu $v1, $s1, 0xa4 /* 104354 802E2AD4 4600020D */ trunc.w.s $f8, $f0 @@ -342,7 +342,7 @@ glabel func_802E263C /* 1043C0 802E2B40 A642003C */ sh $v0, 0x3c($s2) /* 1043C4 802E2B44 00021400 */ sll $v0, $v0, 0x10 /* 1043C8 802E2B48 1C400004 */ bgtz $v0, .L802E2B5C -/* 1043CC 802E2B4C 00000000 */ nop +/* 1043CC 802E2B4C 00000000 */ nop /* 1043D0 802E2B50 A640003C */ sh $zero, 0x3c($s2) /* 1043D4 802E2B54 0C043F5A */ jal func_8010FD68 /* 1043D8 802E2B58 8FA40098 */ lw $a0, 0x98($sp) diff --git a/asm/nonmatchings/code_102c80/func_802E2BA4.s b/asm/nonmatchings/code_102c80/func_802E2BA4.s index 8ba2741900..f55f1b92fb 100644 --- a/asm/nonmatchings/code_102c80/func_802E2BA4.s +++ b/asm/nonmatchings/code_102c80/func_802E2BA4.s @@ -90,12 +90,12 @@ glabel func_802E2BA4 /* 10456C 802E2CEC 02978021 */ addu $s0, $s4, $s7 /* 104570 802E2CF0 9202008B */ lbu $v0, 0x8b($s0) /* 104574 802E2CF4 44820000 */ mtc1 $v0, $f0 -/* 104578 802E2CF8 00000000 */ nop +/* 104578 802E2CF8 00000000 */ nop /* 10457C 802E2CFC 46800020 */ cvt.s.w $f0, $f0 /* 104580 802E2D00 461A0002 */ mul.s $f0, $f0, $f26 -/* 104584 802E2D04 00000000 */ nop +/* 104584 802E2D04 00000000 */ nop /* 104588 802E2D08 46180002 */ mul.s $f0, $f0, $f24 -/* 10458C 802E2D0C 00000000 */ nop +/* 10458C 802E2D0C 00000000 */ nop /* 104590 802E2D10 4406B000 */ mfc1 $a2, $f22 /* 104594 802E2D14 4407A000 */ mfc1 $a3, $f20 /* 104598 802E2D18 8FA40120 */ lw $a0, 0x120($sp) @@ -104,13 +104,13 @@ glabel func_802E2BA4 /* 1045A4 802E2D24 E7B40010 */ swc1 $f20, 0x10($sp) /* 1045A8 802E2D28 920200A4 */ lbu $v0, 0xa4($s0) /* 1045AC 802E2D2C 44820000 */ mtc1 $v0, $f0 -/* 1045B0 802E2D30 00000000 */ nop +/* 1045B0 802E2D30 00000000 */ nop /* 1045B4 802E2D34 46800020 */ cvt.s.w $f0, $f0 /* 1045B8 802E2D38 461A0002 */ mul.s $f0, $f0, $f26 -/* 1045BC 802E2D3C 00000000 */ nop +/* 1045BC 802E2D3C 00000000 */ nop /* 1045C0 802E2D40 26310008 */ addiu $s1, $s1, 8 /* 1045C4 802E2D44 46180002 */ mul.s $f0, $f0, $f24 -/* 1045C8 802E2D48 00000000 */ nop +/* 1045C8 802E2D48 00000000 */ nop /* 1045CC 802E2D4C 26520018 */ addiu $s2, $s2, 0x18 /* 1045D0 802E2D50 26F70001 */ addiu $s7, $s7, 1 /* 1045D4 802E2D54 4406A000 */ mfc1 $a2, $f20 @@ -199,4 +199,4 @@ glabel func_802E2BA4 /* 104720 802E2EA0 D7B40150 */ ldc1 $f20, 0x150($sp) /* 104724 802E2EA4 03E00008 */ jr $ra /* 104728 802E2EA8 27BD0180 */ addiu $sp, $sp, 0x180 -/* 10472C 802E2EAC 00000000 */ nop +/* 10472C 802E2EAC 00000000 */ nop diff --git a/asm/nonmatchings/code_102c80/func_802E2EB0.s b/asm/nonmatchings/code_102c80/func_802E2EB0.s index 15e44b45cb..14616ac2ca 100644 --- a/asm/nonmatchings/code_102c80/func_802E2EB0.s +++ b/asm/nonmatchings/code_102c80/func_802E2EB0.s @@ -22,7 +22,7 @@ glabel func_802E2EB0 /* 104774 802E2EF4 2463FFF3 */ addiu $v1, $v1, -0xd /* 104778 802E2EF8 3C013F00 */ lui $at, 0x3f00 /* 10477C 802E2EFC 44810000 */ mtc1 $at, $f0 -/* 104780 802E2F00 00000000 */ nop +/* 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) @@ -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 +/* 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 +/* 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 +/* 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 +/* 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 diff --git a/asm/nonmatchings/code_102c80/func_802E2FD0.s b/asm/nonmatchings/code_102c80/func_802E2FD0.s index 73f938c522..478b2de919 100644 --- a/asm/nonmatchings/code_102c80/func_802E2FD0.s +++ b/asm/nonmatchings/code_102c80/func_802E2FD0.s @@ -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 +/* 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) @@ -61,6 +69,6 @@ glabel func_802E2FD0 /* 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 +/* 104934 802E30B4 00000000 */ nop +/* 104938 802E30B8 00000000 */ nop +/* 10493C 802E30BC 00000000 */ nop diff --git a/asm/nonmatchings/code_104940_len_dc0/func_802E30C0.s b/asm/nonmatchings/code_104940_len_dc0/func_802E30C0.s index 93a7ee397d..b278b9f0b3 100644 --- a/asm/nonmatchings/code_104940_len_dc0/func_802E30C0.s +++ b/asm/nonmatchings/code_104940_len_dc0/func_802E30C0.s @@ -8,7 +8,7 @@ glabel func_802E30C0 /* 10494C 802E30CC 8E10A66C */ lw $s0, %lo(gMasterGfxPos)($s0) /* 104950 802E30D0 AFBF0014 */ sw $ra, 0x14($sp) /* 104954 802E30D4 0C04417A */ jal get_entity_by_index -/* 104958 802E30D8 00000000 */ nop +/* 104958 802E30D8 00000000 */ nop /* 10495C 802E30DC 3C04E300 */ lui $a0, 0xe300 /* 104960 802E30E0 34841001 */ ori $a0, $a0, 0x1001 /* 104964 802E30E4 3C05D700 */ lui $a1, 0xd700 diff --git a/asm/nonmatchings/code_104940_len_dc0/func_802E3370.s b/asm/nonmatchings/code_104940_len_dc0/func_802E3370.s index 12015016b3..94ba4fce2b 100644 --- a/asm/nonmatchings/code_104940_len_dc0/func_802E3370.s +++ b/asm/nonmatchings/code_104940_len_dc0/func_802E3370.s @@ -28,36 +28,36 @@ glabel func_802E3370 /* 104C48 802E33C8 C6220014 */ lwc1 $f2, 0x14($s1) /* 104C4C 802E33CC 3C0141C8 */ lui $at, 0x41c8 /* 104C50 802E33D0 44810000 */ mtc1 $at, $f0 -/* 104C54 802E33D4 00000000 */ nop +/* 104C54 802E33D4 00000000 */ nop /* 104C58 802E33D8 46001001 */ sub.s $f0, $f2, $f0 /* 104C5C 802E33DC C604004C */ lwc1 $f4, 0x4c($s0) /* 104C60 802E33E0 4600203C */ c.lt.s $f4, $f0 -/* 104C64 802E33E4 00000000 */ nop +/* 104C64 802E33E4 00000000 */ nop /* 104C68 802E33E8 4502000A */ bc1fl .L802E3414 /* 104C6C 802E33EC 46041081 */ sub.s $f2, $f2, $f4 /* 104C70 802E33F0 46022001 */ sub.s $f0, $f4, $f2 /* 104C74 802E33F4 3C014248 */ lui $at, 0x4248 /* 104C78 802E33F8 44811000 */ mtc1 $at, $f2 -/* 104C7C 802E33FC 00000000 */ nop +/* 104C7C 802E33FC 00000000 */ nop /* 104C80 802E3400 46020000 */ add.s $f0, $f0, $f2 /* 104C84 802E3404 3C013E00 */ lui $at, 0x3e00 /* 104C88 802E3408 44811000 */ mtc1 $at, $f2 /* 104C8C 802E340C 080B8D08 */ j .L802E3420 -/* 104C90 802E3410 00000000 */ nop +/* 104C90 802E3410 00000000 */ nop .L802E3414: /* 104C94 802E3414 3C013E00 */ lui $at, 0x3e00 /* 104C98 802E3418 44810000 */ mtc1 $at, $f0 -/* 104C9C 802E341C 00000000 */ nop +/* 104C9C 802E341C 00000000 */ nop .L802E3420: /* 104CA0 802E3420 46001102 */ mul.s $f4, $f2, $f0 -/* 104CA4 802E3424 00000000 */ nop +/* 104CA4 802E3424 00000000 */ nop /* 104CA8 802E3428 3C01802F */ lui $at, %hi(D_802EB1F0) /* 104CAC 802E342C D422B1F0 */ ldc1 $f2, %lo(D_802EB1F0)($at) /* 104CB0 802E3430 46002021 */ cvt.d.s $f0, $f4 /* 104CB4 802E3434 4620103C */ c.lt.d $f2, $f0 -/* 104CB8 802E3438 00000000 */ nop +/* 104CB8 802E3438 00000000 */ nop /* 104CBC 802E343C 45000004 */ bc1f .L802E3450 -/* 104CC0 802E3440 00000000 */ nop +/* 104CC0 802E3440 00000000 */ nop /* 104CC4 802E3444 3C013F99 */ lui $at, 0x3f99 /* 104CC8 802E3448 3421999A */ ori $at, $at, 0x999a /* 104CCC 802E344C 44812000 */ mtc1 $at, $f4 @@ -66,9 +66,9 @@ glabel func_802E3370 /* 104CD4 802E3454 D422B1F8 */ ldc1 $f2, %lo(D_802EB1F8)($at) /* 104CD8 802E3458 46002021 */ cvt.d.s $f0, $f4 /* 104CDC 802E345C 4622003C */ c.lt.d $f0, $f2 -/* 104CE0 802E3460 00000000 */ nop +/* 104CE0 802E3460 00000000 */ nop /* 104CE4 802E3464 45000004 */ bc1f .L802E3478 -/* 104CE8 802E3468 00000000 */ nop +/* 104CE8 802E3468 00000000 */ nop /* 104CEC 802E346C 3C013E99 */ lui $at, 0x3e99 /* 104CF0 802E3470 3421999A */ ori $at, $at, 0x999a /* 104CF4 802E3474 44812000 */ mtc1 $at, $f4 @@ -78,7 +78,7 @@ glabel func_802E3370 /* 104D00 802E3480 E600004C */ swc1 $f0, 0x4c($s0) /* 104D04 802E3484 C6220014 */ lwc1 $f2, 0x14($s1) /* 104D08 802E3488 4600103C */ c.lt.s $f2, $f0 -/* 104D0C 802E348C 00000000 */ nop +/* 104D0C 802E348C 00000000 */ nop /* 104D10 802E3490 45000069 */ bc1f .L802E3638 /* 104D14 802E3494 3C03FFDF */ lui $v1, 0xffdf /* 104D18 802E3498 2402FFFF */ addiu $v0, $zero, -1 @@ -94,16 +94,16 @@ glabel func_802E3370 /* 104D38 802E34B8 92020006 */ lbu $v0, 6($s0) /* 104D3C 802E34BC 30420004 */ andi $v0, $v0, 4 /* 104D40 802E34C0 10400014 */ beqz $v0, .L802E3514 -/* 104D44 802E34C4 00000000 */ nop +/* 104D44 802E34C4 00000000 */ nop /* 104D48 802E34C8 8CA20000 */ lw $v0, ($a1) /* 104D4C 802E34CC 30420002 */ andi $v0, $v0, 2 /* 104D50 802E34D0 14400058 */ bnez $v0, .L802E3634 /* 104D54 802E34D4 24020001 */ addiu $v0, $zero, 1 /* 104D58 802E34D8 86040016 */ lh $a0, 0x16($s0) /* 104D5C 802E34DC 0C044181 */ jal get_shadow_by_index -/* 104D60 802E34E0 00000000 */ nop +/* 104D60 802E34E0 00000000 */ nop /* 104D64 802E34E4 10400017 */ beqz $v0, .L802E3544 -/* 104D68 802E34E8 00000000 */ nop +/* 104D68 802E34E8 00000000 */ nop /* 104D6C 802E34EC C600004C */ lwc1 $f0, 0x4c($s0) /* 104D70 802E34F0 C4420014 */ lwc1 $f2, 0x14($v0) /* 104D74 802E34F4 46020081 */ sub.s $f2, $f0, $f2 @@ -111,19 +111,19 @@ glabel func_802E3370 /* 104D7C 802E34FC 46020001 */ sub.s $f0, $f0, $f2 /* 104D80 802E3500 24420001 */ addiu $v0, $v0, 1 /* 104D84 802E3504 44821000 */ mtc1 $v0, $f2 -/* 104D88 802E3508 00000000 */ nop +/* 104D88 802E3508 00000000 */ nop /* 104D8C 802E350C 080B8D4B */ j .L802E352C /* 104D90 802E3510 468010A0 */ cvt.s.w $f2, $f2 .L802E3514: /* 104D94 802E3514 0C044181 */ jal get_shadow_by_index /* 104D98 802E3518 86040016 */ lh $a0, 0x16($s0) /* 104D9C 802E351C 10400009 */ beqz $v0, .L802E3544 -/* 104DA0 802E3520 00000000 */ nop +/* 104DA0 802E3520 00000000 */ nop /* 104DA4 802E3524 C600004C */ lwc1 $f0, 0x4c($s0) /* 104DA8 802E3528 C4420014 */ lwc1 $f2, 0x14($v0) .L802E352C: /* 104DAC 802E352C 4602003E */ c.le.s $f0, $f2 -/* 104DB0 802E3530 00000000 */ nop +/* 104DB0 802E3530 00000000 */ nop /* 104DB4 802E3534 45000003 */ bc1f .L802E3544 /* 104DB8 802E3538 24020001 */ addiu $v0, $zero, 1 /* 104DBC 802E353C E602004C */ swc1 $f2, 0x4c($s0) @@ -136,36 +136,36 @@ glabel func_802E3370 /* 104DD4 802E3554 C6220014 */ lwc1 $f2, 0x14($s1) /* 104DD8 802E3558 3C0141C8 */ lui $at, 0x41c8 /* 104DDC 802E355C 44810000 */ mtc1 $at, $f0 -/* 104DE0 802E3560 00000000 */ nop +/* 104DE0 802E3560 00000000 */ nop /* 104DE4 802E3564 46001001 */ sub.s $f0, $f2, $f0 /* 104DE8 802E3568 C604004C */ lwc1 $f4, 0x4c($s0) /* 104DEC 802E356C 4600203C */ c.lt.s $f4, $f0 -/* 104DF0 802E3570 00000000 */ nop +/* 104DF0 802E3570 00000000 */ nop /* 104DF4 802E3574 4502000A */ bc1fl .L802E35A0 /* 104DF8 802E3578 46041081 */ sub.s $f2, $f2, $f4 /* 104DFC 802E357C 46022001 */ sub.s $f0, $f4, $f2 /* 104E00 802E3580 3C014248 */ lui $at, 0x4248 /* 104E04 802E3584 44811000 */ mtc1 $at, $f2 -/* 104E08 802E3588 00000000 */ nop +/* 104E08 802E3588 00000000 */ nop /* 104E0C 802E358C 46020000 */ add.s $f0, $f0, $f2 /* 104E10 802E3590 3C013E00 */ lui $at, 0x3e00 /* 104E14 802E3594 44811000 */ mtc1 $at, $f2 /* 104E18 802E3598 080B8D6B */ j .L802E35AC -/* 104E1C 802E359C 00000000 */ nop +/* 104E1C 802E359C 00000000 */ nop .L802E35A0: /* 104E20 802E35A0 3C013E00 */ lui $at, 0x3e00 /* 104E24 802E35A4 44810000 */ mtc1 $at, $f0 -/* 104E28 802E35A8 00000000 */ nop +/* 104E28 802E35A8 00000000 */ nop .L802E35AC: /* 104E2C 802E35AC 46001102 */ mul.s $f4, $f2, $f0 -/* 104E30 802E35B0 00000000 */ nop +/* 104E30 802E35B0 00000000 */ nop /* 104E34 802E35B4 3C01802F */ lui $at, %hi(D_802EB200) /* 104E38 802E35B8 D422B200 */ ldc1 $f2, %lo(D_802EB200)($at) /* 104E3C 802E35BC 46002021 */ cvt.d.s $f0, $f4 /* 104E40 802E35C0 4620103C */ c.lt.d $f2, $f0 -/* 104E44 802E35C4 00000000 */ nop +/* 104E44 802E35C4 00000000 */ nop /* 104E48 802E35C8 45000004 */ bc1f .L802E35DC -/* 104E4C 802E35CC 00000000 */ nop +/* 104E4C 802E35CC 00000000 */ nop /* 104E50 802E35D0 3C013F99 */ lui $at, 0x3f99 /* 104E54 802E35D4 3421999A */ ori $at, $at, 0x999a /* 104E58 802E35D8 44812000 */ mtc1 $at, $f4 @@ -174,9 +174,9 @@ glabel func_802E3370 /* 104E60 802E35E0 D422B208 */ ldc1 $f2, %lo(D_802EB208)($at) /* 104E64 802E35E4 46002021 */ cvt.d.s $f0, $f4 /* 104E68 802E35E8 4622003C */ c.lt.d $f0, $f2 -/* 104E6C 802E35EC 00000000 */ nop +/* 104E6C 802E35EC 00000000 */ nop /* 104E70 802E35F0 45000004 */ bc1f .L802E3604 -/* 104E74 802E35F4 00000000 */ nop +/* 104E74 802E35F4 00000000 */ nop /* 104E78 802E35F8 3C013E99 */ lui $at, 0x3e99 /* 104E7C 802E35FC 3421999A */ ori $at, $at, 0x999a /* 104E80 802E3600 44812000 */ mtc1 $at, $f4 @@ -189,7 +189,7 @@ glabel func_802E3370 /* 104E98 802E3618 C6240014 */ lwc1 $f4, 0x14($s1) /* 104E9C 802E361C 46022101 */ sub.s $f4, $f4, $f2 /* 104EA0 802E3620 4604003C */ c.lt.s $f0, $f4 -/* 104EA4 802E3624 00000000 */ nop +/* 104EA4 802E3624 00000000 */ nop /* 104EA8 802E3628 45000003 */ bc1f .L802E3638 /* 104EAC 802E362C 24020001 */ addiu $v0, $zero, 1 /* 104EB0 802E3630 E604004C */ swc1 $f4, 0x4c($s0) diff --git a/asm/nonmatchings/code_104940_len_dc0/func_802E3BA4.s b/asm/nonmatchings/code_104940_len_dc0/func_802E3BA4.s index 2cc88b94de..7dc7f727bb 100644 --- a/asm/nonmatchings/code_104940_len_dc0/func_802E3BA4.s +++ b/asm/nonmatchings/code_104940_len_dc0/func_802E3BA4.s @@ -12,7 +12,7 @@ glabel func_802E3BA4 /* 105440 802E3BC0 3C128011 */ lui $s2, %hi(gPlayerStatus) /* 105444 802E3BC4 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) /* 105448 802E3BC8 14400005 */ bnez $v0, .L802E3BE0 -/* 10544C 802E3BCC 00000000 */ nop +/* 10544C 802E3BCC 00000000 */ nop /* 105450 802E3BD0 92220006 */ lbu $v0, 6($s1) /* 105454 802E3BD4 30420001 */ andi $v0, $v0, 1 /* 105458 802E3BD8 14400083 */ bnez $v0, .L802E3DE8 @@ -24,7 +24,7 @@ glabel func_802E3BA4 /* 10546C 802E3BEC 30620080 */ andi $v0, $v1, 0x80 /* 105470 802E3BF0 92240004 */ lbu $a0, 4($s1) /* 105474 802E3BF4 0C0441A9 */ jal get_entity_type -/* 105478 802E3BF8 00000000 */ nop +/* 105478 802E3BF8 00000000 */ nop /* 10547C 802E3BFC 0040182D */ daddu $v1, $v0, $zero /* 105480 802E3C00 2402000C */ addiu $v0, $zero, 0xc /* 105484 802E3C04 10620019 */ beq $v1, $v0, .L802E3C6C @@ -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 @@ -78,25 +79,25 @@ glabel func_802E3BA4 .L802E3CA8: /* 105528 802E3CA8 92240004 */ lbu $a0, 4($s1) /* 10552C 802E3CAC 0C0441A9 */ jal get_entity_type -/* 105530 802E3CB0 00000000 */ nop +/* 105530 802E3CB0 00000000 */ nop /* 105534 802E3CB4 2443FFF5 */ addiu $v1, $v0, -0xb /* 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 */ +/* 105554 802E3CD4 00000000 */ nop +glabel L802E3CD8_105558 /* 105558 802E3CD8 12000007 */ beqz $s0, .L802E3CF8 -/* 10555C 802E3CDC 00000000 */ nop +/* 10555C 802E3CDC 00000000 */ nop /* 105560 802E3CE0 3C028011 */ lui $v0, %hi(gPlayerData) /* 105564 802E3CE4 8042F290 */ lb $v0, %lo(gPlayerData)($v0) /* 105568 802E3CE8 58400007 */ blezl $v0, .L802E3D08 /* 10556C 802E3CEC 0000802D */ daddu $s0, $zero, $zero /* 105570 802E3CF0 080B8F42 */ j .L802E3D08 -/* 105574 802E3CF4 00000000 */ nop +/* 105574 802E3CF4 00000000 */ nop .L802E3CF8: /* 105578 802E3CF8 3C028011 */ lui $v0, %hi(gPlayerData+0x1) /* 10557C 802E3CFC 8042F291 */ lb $v0, %lo(gPlayerData+0x1)($v0) @@ -112,17 +113,16 @@ 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 */ +/* 1055B0 802E3D30 00000000 */ nop /* 1055B4 802E3D34 3C028011 */ lui $v0, %hi(gPlayerData) /* 1055B8 802E3D38 8042F290 */ lb $v0, %lo(gPlayerData)($v0) /* 1055BC 802E3D3C 28420002 */ slti $v0, $v0, 2 /* 1055C0 802E3D40 54400007 */ bnel $v0, $zero, .L802E3D60 /* 1055C4 802E3D44 0000802D */ daddu $s0, $zero, $zero /* 1055C8 802E3D48 080B8F58 */ j .L802E3D60 -/* 1055CC 802E3D4C 00000000 */ nop +/* 1055CC 802E3D4C 00000000 */ nop .L802E3D50: /* 1055D0 802E3D50 3C028011 */ lui $v0, %hi(gPlayerData+0x1) /* 1055D4 802E3D54 8042F291 */ lb $v0, %lo(gPlayerData+0x1)($v0) @@ -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 */ +/* 105658 802E3DD8 00000000 */ nop +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) diff --git a/src/code_102c80.c b/src/code_102c80.c index cdee6622f6..638941971d 100644 --- a/src/code_102c80.c +++ b/src/code_102c80.c @@ -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; diff --git a/src/code_a5dd0_len_114e0.c b/src/code_a5dd0_len_114e0.c index 352d85cf50..4141c3859a 100644 --- a/src/code_a5dd0_len_114e0.c +++ b/src/code_a5dd0_len_114e0.c @@ -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); diff --git a/src/world/world.c b/src/world/world.c index 6be9afbcf2..1decd55bb9 100644 --- a/src/world/world.c +++ b/src/world/world.c @@ -58,7 +58,6 @@ s32 render_effects(void) { INCLUDE_ASM(s32, "world/world", func_80059F94); - EffectInstance* func_8005A2BC(EffectBlueprint* effectBp) { EffectInstance *newEffectInst; Effect* curEffect;