From 73551cac91f680db22517e39724700fb30e1747e Mon Sep 17 00:00:00 2001 From: dark-samus Date: Sun, 1 Nov 2020 20:14:01 -0500 Subject: [PATCH] another func, new file split --- .../create_shadow_callback.s | 12 ----- .../code_102610_len_2330/func_802E0DB0.s | 17 ------- .../code_102610_len_2330/func_802E114C.s | 16 ------- .../code_102610_len_2330/func_802E117C.s | 13 ----- .../code_102610_len_2330/func_802E1204.s | 33 ------------- .../code_102610_len_2330/func_802E1270.s | 15 ------ .../code_102610_len_2330/func_802E1298.s | 28 ----------- .../code_102610_len_2330/func_802E12F8.s | 16 ------- .../code_102610_len_2330/func_802E1328.s | 15 ------ .../code_102610_len_2330/func_802E1350.s | 33 ------------- .../code_102610_len_2330/func_802E13B8.s | 22 --------- .../entity_init_BlueSwitch.s | 0 .../entity_init_HugeBlueSwitch.s | 0 .../func_802E1400.s | 0 .../func_802E1460.s | 0 .../func_802E14D8.s | 0 .../func_802E153C.s | 0 .../func_802E1614.s | 0 .../func_802E1660.s | 0 .../func_802E1740.s | 0 .../func_802E176C.s | 0 .../func_802E17A8.s | 0 .../func_802E1EA8.s | 0 .../func_802E1EDC.s | 0 .../func_802E234C.s | 0 .../func_802E2450.s | 0 .../func_802E246C.s | 0 .../func_802E263C.s | 0 .../func_802E2BA4.s | 0 .../func_802E2EB0.s | 0 .../func_802E2FD0.s | 0 include/common_structs.h | 30 ++++++++---- src/code_102610_len_2330.c | 47 +++---------------- src/code_102c80.c | 41 ++++++++++++++++ src/code_109660_len_1270.c | 6 +-- tools/splat.yaml | 1 + 36 files changed, 74 insertions(+), 271 deletions(-) delete mode 100644 asm/nonmatchings/code_102610_len_2330/create_shadow_callback.s delete mode 100644 asm/nonmatchings/code_102610_len_2330/func_802E0DB0.s delete mode 100644 asm/nonmatchings/code_102610_len_2330/func_802E114C.s delete mode 100644 asm/nonmatchings/code_102610_len_2330/func_802E117C.s delete mode 100644 asm/nonmatchings/code_102610_len_2330/func_802E1204.s delete mode 100644 asm/nonmatchings/code_102610_len_2330/func_802E1270.s delete mode 100644 asm/nonmatchings/code_102610_len_2330/func_802E1298.s delete mode 100644 asm/nonmatchings/code_102610_len_2330/func_802E12F8.s delete mode 100644 asm/nonmatchings/code_102610_len_2330/func_802E1328.s delete mode 100644 asm/nonmatchings/code_102610_len_2330/func_802E1350.s delete mode 100644 asm/nonmatchings/code_102610_len_2330/func_802E13B8.s rename asm/nonmatchings/{code_102610_len_2330 => code_102c80}/entity_init_BlueSwitch.s (100%) rename asm/nonmatchings/{code_102610_len_2330 => code_102c80}/entity_init_HugeBlueSwitch.s (100%) rename asm/nonmatchings/{code_102610_len_2330 => code_102c80}/func_802E1400.s (100%) rename asm/nonmatchings/{code_102610_len_2330 => code_102c80}/func_802E1460.s (100%) rename asm/nonmatchings/{code_102610_len_2330 => code_102c80}/func_802E14D8.s (100%) rename asm/nonmatchings/{code_102610_len_2330 => code_102c80}/func_802E153C.s (100%) rename asm/nonmatchings/{code_102610_len_2330 => code_102c80}/func_802E1614.s (100%) rename asm/nonmatchings/{code_102610_len_2330 => code_102c80}/func_802E1660.s (100%) rename asm/nonmatchings/{code_102610_len_2330 => code_102c80}/func_802E1740.s (100%) rename asm/nonmatchings/{code_102610_len_2330 => code_102c80}/func_802E176C.s (100%) rename asm/nonmatchings/{code_102610_len_2330 => code_102c80}/func_802E17A8.s (100%) rename asm/nonmatchings/{code_102610_len_2330 => code_102c80}/func_802E1EA8.s (100%) rename asm/nonmatchings/{code_102610_len_2330 => code_102c80}/func_802E1EDC.s (100%) rename asm/nonmatchings/{code_102610_len_2330 => code_102c80}/func_802E234C.s (100%) rename asm/nonmatchings/{code_102610_len_2330 => code_102c80}/func_802E2450.s (100%) rename asm/nonmatchings/{code_102610_len_2330 => code_102c80}/func_802E246C.s (100%) rename asm/nonmatchings/{code_102610_len_2330 => code_102c80}/func_802E263C.s (100%) rename asm/nonmatchings/{code_102610_len_2330 => code_102c80}/func_802E2BA4.s (100%) rename asm/nonmatchings/{code_102610_len_2330 => code_102c80}/func_802E2EB0.s (100%) rename asm/nonmatchings/{code_102610_len_2330 => code_102c80}/func_802E2FD0.s (100%) create mode 100644 src/code_102c80.c diff --git a/asm/nonmatchings/code_102610_len_2330/create_shadow_callback.s b/asm/nonmatchings/code_102610_len_2330/create_shadow_callback.s deleted file mode 100644 index d730056229..0000000000 --- a/asm/nonmatchings/code_102610_len_2330/create_shadow_callback.s +++ /dev/null @@ -1,12 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel create_shadow_callback -/* 102610 802E0D90 3C013DCC */ lui $at, 0x3dcc -/* 102614 802E0D94 3421CCCD */ ori $at, $at, 0xcccd -/* 102618 802E0D98 44810000 */ mtc1 $at, $f0 -/* 10261C 802E0D9C 00000000 */ nop -/* 102620 802E0DA0 E480001C */ swc1 $f0, 0x1c($a0) -/* 102624 802E0DA4 E4800020 */ swc1 $f0, 0x20($a0) -/* 102628 802E0DA8 03E00008 */ jr $ra -/* 10262C 802E0DAC E4800024 */ swc1 $f0, 0x24($a0) diff --git a/asm/nonmatchings/code_102610_len_2330/func_802E0DB0.s b/asm/nonmatchings/code_102610_len_2330/func_802E0DB0.s deleted file mode 100644 index ac416f74d2..0000000000 --- a/asm/nonmatchings/code_102610_len_2330/func_802E0DB0.s +++ /dev/null @@ -1,17 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802E0DB0 -/* 102630 802E0DB0 90820006 */ lbu $v0, 6($a0) -/* 102634 802E0DB4 30420004 */ andi $v0, $v0, 4 -/* 102638 802E0DB8 10400007 */ beqz $v0, .L802E0DD8 -/* 10263C 802E0DBC 0000102D */ daddu $v0, $zero, $zero -/* 102640 802E0DC0 3C038011 */ lui $v1, %hi(gPlayerStatus) -/* 102644 802E0DC4 8C63EFC8 */ lw $v1, %lo(gPlayerStatus)($v1) -/* 102648 802E0DC8 30630002 */ andi $v1, $v1, 2 -/* 10264C 802E0DCC 14600002 */ bnez $v1, .L802E0DD8 -/* 102650 802E0DD0 24020001 */ addiu $v0, $zero, 1 -/* 102654 802E0DD4 0000102D */ daddu $v0, $zero, $zero -.L802E0DD8: -/* 102658 802E0DD8 03E00008 */ jr $ra -/* 10265C 802E0DDC 00000000 */ nop diff --git a/asm/nonmatchings/code_102610_len_2330/func_802E114C.s b/asm/nonmatchings/code_102610_len_2330/func_802E114C.s deleted file mode 100644 index 12a4fa9a70..0000000000 --- a/asm/nonmatchings/code_102610_len_2330/func_802E114C.s +++ /dev/null @@ -1,16 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802E114C -/* 1029CC 802E114C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 1029D0 802E1150 AFBF0010 */ sw $ra, 0x10($sp) -/* 1029D4 802E1154 0C009C22 */ jal func_80027088 -/* 1029D8 802E1158 24040001 */ addiu $a0, $zero, 1 -/* 1029DC 802E115C 0C03805E */ jal disable_player_input -/* 1029E0 802E1160 00000000 */ nop -/* 1029E4 802E1164 3C02800F */ lui $v0, %hi(gPlayerStatusPtr) -/* 1029E8 802E1168 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0) -/* 1029EC 802E116C AC400054 */ sw $zero, 0x54($v0) -/* 1029F0 802E1170 8FBF0010 */ lw $ra, 0x10($sp) -/* 1029F4 802E1174 03E00008 */ jr $ra -/* 1029F8 802E1178 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_102610_len_2330/func_802E117C.s b/asm/nonmatchings/code_102610_len_2330/func_802E117C.s deleted file mode 100644 index e16680b335..0000000000 --- a/asm/nonmatchings/code_102610_len_2330/func_802E117C.s +++ /dev/null @@ -1,13 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802E117C -/* 1029FC 802E117C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 102A00 802E1180 AFBF0010 */ sw $ra, 0x10($sp) -/* 102A04 802E1184 0C009C22 */ jal func_80027088 -/* 102A08 802E1188 0000202D */ daddu $a0, $zero, $zero -/* 102A0C 802E118C 0C038069 */ jal enable_player_input -/* 102A10 802E1190 00000000 */ nop -/* 102A14 802E1194 8FBF0010 */ lw $ra, 0x10($sp) -/* 102A18 802E1198 03E00008 */ jr $ra -/* 102A1C 802E119C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_102610_len_2330/func_802E1204.s b/asm/nonmatchings/code_102610_len_2330/func_802E1204.s deleted file mode 100644 index c6cb656ad8..0000000000 --- a/asm/nonmatchings/code_102610_len_2330/func_802E1204.s +++ /dev/null @@ -1,33 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802E1204 -/* 102A84 802E1204 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 102A88 802E1208 AFB00010 */ sw $s0, 0x10($sp) -/* 102A8C 802E120C 0080802D */ daddu $s0, $a0, $zero -/* 102A90 802E1210 3C04F840 */ lui $a0, 0xf840 -/* 102A94 802E1214 AFBF0014 */ sw $ra, 0x14($sp) -/* 102A98 802E1218 0C05152F */ jal get_global_flag -/* 102A9C 802E121C 34845BDF */ ori $a0, $a0, 0x5bdf -/* 102AA0 802E1220 1440000B */ bnez $v0, .L802E1250 -/* 102AA4 802E1224 00000000 */ nop -/* 102AA8 802E1228 3C05802F */ lui $a1, 0x802f -/* 102AAC 802E122C 24A5B390 */ addiu $a1, $a1, -0x4c70 -/* 102AB0 802E1230 ACA00000 */ sw $zero, ($a1) -/* 102AB4 802E1234 0C049640 */ jal load_string -/* 102AB8 802E1238 3C04001D */ lui $a0, 0x1d -/* 102ABC 802E123C 3C04F840 */ lui $a0, 0xf840 -/* 102AC0 802E1240 0C051514 */ jal set_global_flag -/* 102AC4 802E1244 34845BDF */ ori $a0, $a0, 0x5bdf -/* 102AC8 802E1248 080B8498 */ j .L802E1260 -/* 102ACC 802E124C 00000000 */ nop -.L802E1250: -/* 102AD0 802E1250 0C043F5A */ jal func_8010FD68 -/* 102AD4 802E1254 0200202D */ daddu $a0, $s0, $zero -/* 102AD8 802E1258 0C043F5A */ jal func_8010FD68 -/* 102ADC 802E125C 0200202D */ daddu $a0, $s0, $zero -.L802E1260: -/* 102AE0 802E1260 8FBF0014 */ lw $ra, 0x14($sp) -/* 102AE4 802E1264 8FB00010 */ lw $s0, 0x10($sp) -/* 102AE8 802E1268 03E00008 */ jr $ra -/* 102AEC 802E126C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_102610_len_2330/func_802E1270.s b/asm/nonmatchings/code_102610_len_2330/func_802E1270.s deleted file mode 100644 index 96eef28050..0000000000 --- a/asm/nonmatchings/code_102610_len_2330/func_802E1270.s +++ /dev/null @@ -1,15 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802E1270 -/* 102AF0 802E1270 3C02802F */ lui $v0, 0x802f -/* 102AF4 802E1274 8C42B390 */ lw $v0, -0x4c70($v0) -/* 102AF8 802E1278 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 102AFC 802E127C 10400003 */ beqz $v0, .L802E128C -/* 102B00 802E1280 AFBF0010 */ sw $ra, 0x10($sp) -/* 102B04 802E1284 0C043F5A */ jal func_8010FD68 -/* 102B08 802E1288 00000000 */ nop -.L802E128C: -/* 102B0C 802E128C 8FBF0010 */ lw $ra, 0x10($sp) -/* 102B10 802E1290 03E00008 */ jr $ra -/* 102B14 802E1294 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_102610_len_2330/func_802E1298.s b/asm/nonmatchings/code_102610_len_2330/func_802E1298.s deleted file mode 100644 index 217f13f352..0000000000 --- a/asm/nonmatchings/code_102610_len_2330/func_802E1298.s +++ /dev/null @@ -1,28 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802E1298 -/* 102B18 802E1298 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 102B1C 802E129C 3C04001D */ lui $a0, 0x1d -/* 102B20 802E12A0 34840004 */ ori $a0, $a0, 4 -/* 102B24 802E12A4 3C05802F */ lui $a1, 0x802f -/* 102B28 802E12A8 24A5B394 */ addiu $a1, $a1, -0x4c6c -/* 102B2C 802E12AC AFB00010 */ sw $s0, 0x10($sp) -/* 102B30 802E12B0 3C10802F */ lui $s0, 0x802f -/* 102B34 802E12B4 2610B390 */ addiu $s0, $s0, -0x4c70 -/* 102B38 802E12B8 AFBF0014 */ sw $ra, 0x14($sp) -/* 102B3C 802E12BC AE000000 */ sw $zero, ($s0) -/* 102B40 802E12C0 0C049640 */ jal load_string -/* 102B44 802E12C4 ACA00000 */ sw $zero, ($a1) -/* 102B48 802E12C8 3C04001E */ lui $a0, 0x1e -/* 102B4C 802E12CC 3484000A */ ori $a0, $a0, 0xa -/* 102B50 802E12D0 3C01802F */ lui $at, 0x802f -/* 102B54 802E12D4 AC22B39C */ sw $v0, -0x4c64($at) -/* 102B58 802E12D8 0C049640 */ jal load_string -/* 102B5C 802E12DC 0200282D */ daddu $a1, $s0, $zero -/* 102B60 802E12E0 8FBF0014 */ lw $ra, 0x14($sp) -/* 102B64 802E12E4 8FB00010 */ lw $s0, 0x10($sp) -/* 102B68 802E12E8 3C01802F */ lui $at, 0x802f -/* 102B6C 802E12EC AC22B398 */ sw $v0, -0x4c68($at) -/* 102B70 802E12F0 03E00008 */ jr $ra -/* 102B74 802E12F4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_102610_len_2330/func_802E12F8.s b/asm/nonmatchings/code_102610_len_2330/func_802E12F8.s deleted file mode 100644 index a9ee2ca2c5..0000000000 --- a/asm/nonmatchings/code_102610_len_2330/func_802E12F8.s +++ /dev/null @@ -1,16 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802E12F8 -/* 102B78 802E12F8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 102B7C 802E12FC 3C04001D */ lui $a0, 0x1d -/* 102B80 802E1300 3C05802F */ lui $a1, 0x802f -/* 102B84 802E1304 8CA5B39C */ lw $a1, -0x4c64($a1) -/* 102B88 802E1308 AFBF0010 */ sw $ra, 0x10($sp) -/* 102B8C 802E130C 0C04969A */ jal load_message_to_printer -/* 102B90 802E1310 34840005 */ ori $a0, $a0, 5 -/* 102B94 802E1314 0C05272D */ jal play_sound -/* 102B98 802E1318 24040010 */ addiu $a0, $zero, 0x10 -/* 102B9C 802E131C 8FBF0010 */ lw $ra, 0x10($sp) -/* 102BA0 802E1320 03E00008 */ jr $ra -/* 102BA4 802E1324 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_102610_len_2330/func_802E1328.s b/asm/nonmatchings/code_102610_len_2330/func_802E1328.s deleted file mode 100644 index a62eecc6b3..0000000000 --- a/asm/nonmatchings/code_102610_len_2330/func_802E1328.s +++ /dev/null @@ -1,15 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802E1328 -/* 102BA8 802E1328 3C02802F */ lui $v0, 0x802f -/* 102BAC 802E132C 8C42B394 */ lw $v0, -0x4c6c($v0) -/* 102BB0 802E1330 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 102BB4 802E1334 10400003 */ beqz $v0, .L802E1344 -/* 102BB8 802E1338 AFBF0010 */ sw $ra, 0x10($sp) -/* 102BBC 802E133C 0C043F5A */ jal func_8010FD68 -/* 102BC0 802E1340 00000000 */ nop -.L802E1344: -/* 102BC4 802E1344 8FBF0010 */ lw $ra, 0x10($sp) -/* 102BC8 802E1348 03E00008 */ jr $ra -/* 102BCC 802E134C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_102610_len_2330/func_802E1350.s b/asm/nonmatchings/code_102610_len_2330/func_802E1350.s deleted file mode 100644 index b42c0366e0..0000000000 --- a/asm/nonmatchings/code_102610_len_2330/func_802E1350.s +++ /dev/null @@ -1,33 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802E1350 -/* 102BD0 802E1350 3C02802F */ lui $v0, 0x802f -/* 102BD4 802E1354 8C42B390 */ lw $v0, -0x4c70($v0) -/* 102BD8 802E1358 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 102BDC 802E135C 10400013 */ beqz $v0, .L802E13AC -/* 102BE0 802E1360 AFBF0010 */ sw $ra, 0x10($sp) -/* 102BE4 802E1364 3C02802F */ lui $v0, 0x802f -/* 102BE8 802E1368 8C42B398 */ lw $v0, -0x4c68($v0) -/* 102BEC 802E136C 904304E8 */ lbu $v1, 0x4e8($v0) -/* 102BF0 802E1370 24020001 */ addiu $v0, $zero, 1 -/* 102BF4 802E1374 14620007 */ bne $v1, $v0, .L802E1394 -/* 102BF8 802E1378 00000000 */ nop -/* 102BFC 802E137C 3C05802F */ lui $a1, 0x802f -/* 102C00 802E1380 24A599DC */ addiu $a1, $a1, -0x6624 -/* 102C04 802E1384 0C043EF0 */ jal func_8010FBC0 -/* 102C08 802E1388 00000000 */ nop -/* 102C0C 802E138C 080B84E7 */ j .L802E139C -/* 102C10 802E1390 00000000 */ nop -.L802E1394: -/* 102C14 802E1394 0C043F5A */ jal func_8010FD68 -/* 102C18 802E1398 00000000 */ nop -.L802E139C: -/* 102C1C 802E139C 3C04802F */ lui $a0, 0x802f -/* 102C20 802E13A0 8C84B39C */ lw $a0, -0x4c64($a0) -/* 102C24 802E13A4 0C04971C */ jal close_message -/* 102C28 802E13A8 00000000 */ nop -.L802E13AC: -/* 102C2C 802E13AC 8FBF0010 */ lw $ra, 0x10($sp) -/* 102C30 802E13B0 03E00008 */ jr $ra -/* 102C34 802E13B4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_102610_len_2330/func_802E13B8.s b/asm/nonmatchings/code_102610_len_2330/func_802E13B8.s deleted file mode 100644 index eff3645dd7..0000000000 --- a/asm/nonmatchings/code_102610_len_2330/func_802E13B8.s +++ /dev/null @@ -1,22 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802E13B8 -/* 102C38 802E13B8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 102C3C 802E13BC AFB00010 */ sw $s0, 0x10($sp) -/* 102C40 802E13C0 0080802D */ daddu $s0, $a0, $zero -/* 102C44 802E13C4 AFBF0018 */ sw $ra, 0x18($sp) -/* 102C48 802E13C8 AFB10014 */ sw $s1, 0x14($sp) -/* 102C4C 802E13CC 0C0B8DB9 */ jal entity_init_Hammer23Block_normal -/* 102C50 802E13D0 8E110040 */ lw $s1, 0x40($s0) -/* 102C54 802E13D4 3C02802E */ lui $v0, 0x802e -/* 102C58 802E13D8 24420DE0 */ addiu $v0, $v0, 0xde0 -/* 102C5C 802E13DC AE02003C */ sw $v0, 0x3c($s0) -/* 102C60 802E13E0 24020008 */ addiu $v0, $zero, 8 -/* 102C64 802E13E4 A6220004 */ sh $v0, 4($s1) -/* 102C68 802E13E8 8FBF0018 */ lw $ra, 0x18($sp) -/* 102C6C 802E13EC 8FB10014 */ lw $s1, 0x14($sp) -/* 102C70 802E13F0 8FB00010 */ lw $s0, 0x10($sp) -/* 102C74 802E13F4 03E00008 */ jr $ra -/* 102C78 802E13F8 27BD0020 */ addiu $sp, $sp, 0x20 -/* 102C7C 802E13FC 00000000 */ nop diff --git a/asm/nonmatchings/code_102610_len_2330/entity_init_BlueSwitch.s b/asm/nonmatchings/code_102c80/entity_init_BlueSwitch.s similarity index 100% rename from asm/nonmatchings/code_102610_len_2330/entity_init_BlueSwitch.s rename to asm/nonmatchings/code_102c80/entity_init_BlueSwitch.s diff --git a/asm/nonmatchings/code_102610_len_2330/entity_init_HugeBlueSwitch.s b/asm/nonmatchings/code_102c80/entity_init_HugeBlueSwitch.s similarity index 100% rename from asm/nonmatchings/code_102610_len_2330/entity_init_HugeBlueSwitch.s rename to asm/nonmatchings/code_102c80/entity_init_HugeBlueSwitch.s diff --git a/asm/nonmatchings/code_102610_len_2330/func_802E1400.s b/asm/nonmatchings/code_102c80/func_802E1400.s similarity index 100% rename from asm/nonmatchings/code_102610_len_2330/func_802E1400.s rename to asm/nonmatchings/code_102c80/func_802E1400.s diff --git a/asm/nonmatchings/code_102610_len_2330/func_802E1460.s b/asm/nonmatchings/code_102c80/func_802E1460.s similarity index 100% rename from asm/nonmatchings/code_102610_len_2330/func_802E1460.s rename to asm/nonmatchings/code_102c80/func_802E1460.s diff --git a/asm/nonmatchings/code_102610_len_2330/func_802E14D8.s b/asm/nonmatchings/code_102c80/func_802E14D8.s similarity index 100% rename from asm/nonmatchings/code_102610_len_2330/func_802E14D8.s rename to asm/nonmatchings/code_102c80/func_802E14D8.s diff --git a/asm/nonmatchings/code_102610_len_2330/func_802E153C.s b/asm/nonmatchings/code_102c80/func_802E153C.s similarity index 100% rename from asm/nonmatchings/code_102610_len_2330/func_802E153C.s rename to asm/nonmatchings/code_102c80/func_802E153C.s diff --git a/asm/nonmatchings/code_102610_len_2330/func_802E1614.s b/asm/nonmatchings/code_102c80/func_802E1614.s similarity index 100% rename from asm/nonmatchings/code_102610_len_2330/func_802E1614.s rename to asm/nonmatchings/code_102c80/func_802E1614.s diff --git a/asm/nonmatchings/code_102610_len_2330/func_802E1660.s b/asm/nonmatchings/code_102c80/func_802E1660.s similarity index 100% rename from asm/nonmatchings/code_102610_len_2330/func_802E1660.s rename to asm/nonmatchings/code_102c80/func_802E1660.s diff --git a/asm/nonmatchings/code_102610_len_2330/func_802E1740.s b/asm/nonmatchings/code_102c80/func_802E1740.s similarity index 100% rename from asm/nonmatchings/code_102610_len_2330/func_802E1740.s rename to asm/nonmatchings/code_102c80/func_802E1740.s diff --git a/asm/nonmatchings/code_102610_len_2330/func_802E176C.s b/asm/nonmatchings/code_102c80/func_802E176C.s similarity index 100% rename from asm/nonmatchings/code_102610_len_2330/func_802E176C.s rename to asm/nonmatchings/code_102c80/func_802E176C.s diff --git a/asm/nonmatchings/code_102610_len_2330/func_802E17A8.s b/asm/nonmatchings/code_102c80/func_802E17A8.s similarity index 100% rename from asm/nonmatchings/code_102610_len_2330/func_802E17A8.s rename to asm/nonmatchings/code_102c80/func_802E17A8.s diff --git a/asm/nonmatchings/code_102610_len_2330/func_802E1EA8.s b/asm/nonmatchings/code_102c80/func_802E1EA8.s similarity index 100% rename from asm/nonmatchings/code_102610_len_2330/func_802E1EA8.s rename to asm/nonmatchings/code_102c80/func_802E1EA8.s diff --git a/asm/nonmatchings/code_102610_len_2330/func_802E1EDC.s b/asm/nonmatchings/code_102c80/func_802E1EDC.s similarity index 100% rename from asm/nonmatchings/code_102610_len_2330/func_802E1EDC.s rename to asm/nonmatchings/code_102c80/func_802E1EDC.s diff --git a/asm/nonmatchings/code_102610_len_2330/func_802E234C.s b/asm/nonmatchings/code_102c80/func_802E234C.s similarity index 100% rename from asm/nonmatchings/code_102610_len_2330/func_802E234C.s rename to asm/nonmatchings/code_102c80/func_802E234C.s diff --git a/asm/nonmatchings/code_102610_len_2330/func_802E2450.s b/asm/nonmatchings/code_102c80/func_802E2450.s similarity index 100% rename from asm/nonmatchings/code_102610_len_2330/func_802E2450.s rename to asm/nonmatchings/code_102c80/func_802E2450.s diff --git a/asm/nonmatchings/code_102610_len_2330/func_802E246C.s b/asm/nonmatchings/code_102c80/func_802E246C.s similarity index 100% rename from asm/nonmatchings/code_102610_len_2330/func_802E246C.s rename to asm/nonmatchings/code_102c80/func_802E246C.s diff --git a/asm/nonmatchings/code_102610_len_2330/func_802E263C.s b/asm/nonmatchings/code_102c80/func_802E263C.s similarity index 100% rename from asm/nonmatchings/code_102610_len_2330/func_802E263C.s rename to asm/nonmatchings/code_102c80/func_802E263C.s diff --git a/asm/nonmatchings/code_102610_len_2330/func_802E2BA4.s b/asm/nonmatchings/code_102c80/func_802E2BA4.s similarity index 100% rename from asm/nonmatchings/code_102610_len_2330/func_802E2BA4.s rename to asm/nonmatchings/code_102c80/func_802E2BA4.s diff --git a/asm/nonmatchings/code_102610_len_2330/func_802E2EB0.s b/asm/nonmatchings/code_102c80/func_802E2EB0.s similarity index 100% rename from asm/nonmatchings/code_102610_len_2330/func_802E2EB0.s rename to asm/nonmatchings/code_102c80/func_802E2EB0.s diff --git a/asm/nonmatchings/code_102610_len_2330/func_802E2FD0.s b/asm/nonmatchings/code_102c80/func_802E2FD0.s similarity index 100% rename from asm/nonmatchings/code_102610_len_2330/func_802E2FD0.s rename to asm/nonmatchings/code_102c80/func_802E2FD0.s diff --git a/include/common_structs.h b/include/common_structs.h index 26bfdd3403..1e4087fb63 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -191,9 +191,17 @@ typedef union { s32 flags; } TriggerFlags; +typedef union { + struct { + /* 0x0 */ s16 unkParams; + /* 0x2 */ char unk_2; + } bytes; + s32 params; +} TriggerParams; + typedef struct Trigger { /* 0x00 */ TriggerFlags flags; - /* 0x04 */ s32 params1; + /* 0x04 */ TriggerParams params1; /* 0x08 */ s32 params2; /* 0x0C */ UNK_FUN_PTR(functionHandler); /* 0x10 */ Bytecode* scriptStart; @@ -264,18 +272,22 @@ typedef ScriptInstance* ScriptList[MAX_SCRIPTS]; typedef struct Entity { /* 0x00 */ s32 flags; - /* 0x04 */ char unk_04[2]; + /* 0x04 */ s8 listIndex; + /* 0x05 */ char unk_05; /* 0x06 */ s8 unk_06; - /* 0x07 */ char unk_08[4]; + /* 0x07 */ char unk_07[4]; /* 0x0B */ u8 alpha; /* reported by rain */ /* 0x0C */ s16 aabb[3]; - /* 0x12 */ char unk_12[4]; + /* 0x12 */ char unk_12[2]; + /* 0x14 */ s16 virtualModelIndex; /* 0x16 */ s16 shadowIndex; - /* 0x18 */ char unk_18[16]; + /* 0x18 */ char unk_18[8]; + /* 0x20 */ UNK_PTR buildMatrixOverride; + /* 0x24 */ char unk_24[4]; /* 0x28 */ Bytecode* boundScript; /* 0x2C */ char unk_2C[12]; /* 0x38 */ struct StaticEntityData* static_data; - /* 0x3C */ char unk_3C[4]; + /* 0x3C */ UNK_PTR unk_3C; /* 0x40 */ struct Trigger* trigger; /* 0x44 */ s32* vertexData; /* 0x48 */ Vec3f position; @@ -284,8 +296,9 @@ typedef struct Entity { /* 0x6C */ char unk_6C[4]; /* 0x70 */ struct Matrix4f* inverseTransformMatrix; /* world-to-local */ /* 0x74 */ char unk_74[60]; - /* 0xB0 */ u8 radius; /* Created by retype action */ - /* 0xB1 */ char unk_B1[71]; + /* 0xB0 */ float effectiveSize; + /* 0xB4 */ char unk_B4[4]; + /* 0xB8 */ Matrix4s transformMatrix; } Entity; // size = 0xF8 typedef Entity* EntityList[MAX_ENTITIES]; @@ -761,6 +774,7 @@ typedef struct EffectTableEntry { /* 0x14 */ UNK_FUN_PTR(delegate); } EffectTableEntry; // size = 0x18 + typedef struct ItemEntity { /* 0x00 */ s32 flags; /* 0x04 */ s16 boundVar; /* see make_item_entity */ diff --git a/src/code_102610_len_2330.c b/src/code_102610_len_2330.c index 3bb67ba3cf..d471a0820b 100644 --- a/src/code_102610_len_2330.c +++ b/src/code_102610_len_2330.c @@ -102,44 +102,11 @@ void func_802E1350(s32 arg0) { } } -INCLUDE_ASM(s32, "code_102610_len_2330", func_802E13B8); +void func_802E13B8(Entity *entity) { + Trigger* trigger; -INCLUDE_ASM(s32, "code_102610_len_2330", func_802E1400); - -INCLUDE_ASM(s32, "code_102610_len_2330", func_802E1460); - -INCLUDE_ASM(s32, "code_102610_len_2330", func_802E14D8); - -INCLUDE_ASM(s32, "code_102610_len_2330", func_802E153C); - -INCLUDE_ASM(s32, "code_102610_len_2330", func_802E1614); - -INCLUDE_ASM(s32, "code_102610_len_2330", func_802E1660); - -INCLUDE_ASM(s32, "code_102610_len_2330", func_802E1740); - -INCLUDE_ASM(s32, "code_102610_len_2330", func_802E176C); - -INCLUDE_ASM(s32, "code_102610_len_2330", func_802E17A8); - -INCLUDE_ASM(s32, "code_102610_len_2330", func_802E1EA8); - -INCLUDE_ASM(s32, "code_102610_len_2330", func_802E1EDC); - -INCLUDE_ASM(s32, "code_102610_len_2330", func_802E234C); - -INCLUDE_ASM(s32, "code_102610_len_2330", entity_init_BlueSwitch); - -INCLUDE_ASM(s32, "code_102610_len_2330", entity_init_HugeBlueSwitch); - -INCLUDE_ASM(s32, "code_102610_len_2330", func_802E2450); - -INCLUDE_ASM(s32, "code_102610_len_2330", func_802E246C); - -INCLUDE_ASM(s32, "code_102610_len_2330", func_802E263C); - -INCLUDE_ASM(s32, "code_102610_len_2330", func_802E2BA4); - -INCLUDE_ASM(s32, "code_102610_len_2330", func_802E2EB0); - -INCLUDE_ASM(s32, "code_102610_len_2330", func_802E2FD0); + trigger = entity->trigger; + entity_init_Hammer23Block_normal(); + entity->unk_3C = func_802E0DE0; + trigger->params1.bytes.unkParams = 8; +} diff --git a/src/code_102c80.c b/src/code_102c80.c new file mode 100644 index 0000000000..40df07595e --- /dev/null +++ b/src/code_102c80.c @@ -0,0 +1,41 @@ +#include "common.h" + +INCLUDE_ASM(s32, "code_102c80", func_802E1400); + +INCLUDE_ASM(s32, "code_102c80", func_802E1460); + +INCLUDE_ASM(s32, "code_102c80", func_802E14D8); + +INCLUDE_ASM(s32, "code_102c80", func_802E153C); + +INCLUDE_ASM(s32, "code_102c80", func_802E1614); + +INCLUDE_ASM(s32, "code_102c80", func_802E1660); + +INCLUDE_ASM(s32, "code_102c80", func_802E1740); + +INCLUDE_ASM(s32, "code_102c80", func_802E176C); + +INCLUDE_ASM(s32, "code_102c80", func_802E17A8); + +INCLUDE_ASM(s32, "code_102c80", func_802E1EA8); + +INCLUDE_ASM(s32, "code_102c80", func_802E1EDC); + +INCLUDE_ASM(s32, "code_102c80", func_802E234C); + +INCLUDE_ASM(s32, "code_102c80", entity_init_BlueSwitch); + +INCLUDE_ASM(s32, "code_102c80", entity_init_HugeBlueSwitch); + +INCLUDE_ASM(s32, "code_102c80", func_802E2450); + +INCLUDE_ASM(s32, "code_102c80", func_802E246C); + +INCLUDE_ASM(s32, "code_102c80", func_802E263C); + +INCLUDE_ASM(s32, "code_102c80", func_802E2BA4); + +INCLUDE_ASM(s32, "code_102c80", func_802E2EB0); + +INCLUDE_ASM(s32, "code_102c80", func_802E2FD0); \ No newline at end of file diff --git a/src/code_109660_len_1270.c b/src/code_109660_len_1270.c index 54cd26fbcd..6b1cc43952 100644 --- a/src/code_109660_len_1270.c +++ b/src/code_109660_len_1270.c @@ -31,7 +31,7 @@ void player_enter_blue_pipe(Entity* bluePipe) { Trigger* pipeTrigger = bluePipe->trigger; playerStatus->targetYaw = gCameras[gCurrentCameraID].currentYaw + 180.0f; - pipeTrigger->params1 = 0x19; + pipeTrigger->params1.params = 0x19; playerStatus->renderMode = 0xD; func_802DDFF8(0x10002, 5, 2, 1, 1, 0, 0); @@ -44,9 +44,9 @@ void func_802E8D74(Entity* entity) { Trigger* entityTrigger = entity->trigger; playerStatus->position.y--; - entityTrigger->params1--; + entityTrigger->params1.params--; - if (entityTrigger->params1 == -1) { + if (entityTrigger->params1.params == -1) { playerStatus->renderMode = 0xD; playerStatus->position.y -= 50.0f; func_802DDFF8(0x10002, 0, 0, 0, 0, 0, 0); diff --git a/tools/splat.yaml b/tools/splat.yaml index d6409291cb..df784c8084 100644 --- a/tools/splat.yaml +++ b/tools/splat.yaml @@ -266,6 +266,7 @@ segments: vram: 0x802E0D90 files: - [0x102610, "c", "code_102610_len_2330"] + - [0x102C80, "c", "code_102c80"] - [0x104940, "c", "code_104940_len_dc0"] - [0x105700, "c", "code_105700_len_2130"] - [0x107830, "c", "code_107830_len_e70"]