another func, new file split

This commit is contained in:
dark-samus 2020-11-01 20:14:01 -05:00
parent 623309db81
commit 73551cac91
36 changed files with 74 additions and 271 deletions

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 */

View File

@ -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;
}

41
src/code_102c80.c Normal file
View File

@ -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);

View File

@ -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);

View File

@ -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"]