finish data migration for code_104730

This commit is contained in:
dark-samus 2021-01-16 15:08:08 -05:00
parent c3e190d6c9
commit e2c8066302
5 changed files with 279 additions and 24 deletions

View File

@ -37,6 +37,36 @@ s32 create_entity(StaticEntityData*, s32, s32, s32, s32, s32);
void func_80070550(s32, f32, f32, f32, f32, f32, s32, s32);
void func_802E263C(Entity* entity);
void create_shadow_callback(Shadow* entity);
void func_802E10F4(Entity* entity);
void func_802E114C(void);
void func_802E117C(void);
void save_game_at_player_position(void);
void func_802E1204(Entity* entity);
void func_802E1270(Entity* entity);
void func_802E1298(void);
void func_802E12F8(void);
void func_802E1328(Entity* entity);
void func_802E1350(Entity* entity);
void func_802E13B8(Entity* entity);
void func_802E1400(Entity* entity);
void func_802E1460(Entity* entity);
void func_802E14D8(Entity* entity);
void func_802E1614(Entity* entity);
void func_802E1660(Entity* entity);
void func_802E1740(Entity* entity);
void func_802E176C(Entity* entity);
s32 func_802E17A8(Entity* entity);
void func_802E1EA8(Entity* entity);
void func_802E1EDC(Entity* entity);
void func_802E234C(Entity* entity);
f32 func_802E31EC(Entity* entity);
void func_802E328C(Entity* entity);
s32 func_802E3BA4(Entity* entity);
void entity_init_BlueSwitch(Entity* entity);
void entity_init_HugeBlueSwitch(Entity* entity);
UNK_TYPE func_80072230(s32, f32, f32, f32, f32, s32);
// Text

View File

@ -313,7 +313,7 @@ s32 func_802E17A8(Entity* entity) {
}
}
#else
INCLUDE_ASM(s32, "code_102C80", func_802E17A8);
INCLUDE_ASM(s32, "code_102C80", func_802E17A8, Entity* entity);
#endif
void func_802E1EA8(Entity* entity) {
@ -464,7 +464,7 @@ void func_802E1EDC(Entity* entity) {
}
}
#else
INCLUDE_ASM(s32, "code_102C80", func_802E1EDC);
INCLUDE_ASM(void, "code_102C80", func_802E1EDC, Entity* entity);
#endif
void func_802E234C(Entity* entity) {
@ -518,7 +518,7 @@ void func_802E2450(Entity* entity) {
INCLUDE_ASM(void, "code_102C80", func_802E246C, Entity* entity, void* arg1, void* arg2);
INCLUDE_ASM(s32, "code_102C80", func_802E263C);
INCLUDE_ASM(void, "code_102C80", func_802E263C, Entity* entity);
#ifdef NON_MATCHING
// display list issues

View File

@ -1,5 +1,29 @@
#include "common.h"
void func_802E2EB0(Entity* entity);
extern UNK_TYPE D_802E9170;
extern UNK_TYPE D_802E91F0;
extern UNK_TYPE D_802E9270;
extern UNK_TYPE D_802E92B0;
extern UNK_TYPE D_0A003508;
extern UNK_TYPE D_00E4B2E0;
extern UNK_TYPE D_00E4E7F0;
extern UNK_TYPE D_0A000EF8;
extern UNK_TYPE D_0A000EF8;
extern UNK_TYPE D_0A000EE8;
extern UNK_TYPE D_0A000740;
extern UNK_TYPE D_00E62AC0;
extern UNK_TYPE D_00E639C0;
extern UNK_TYPE D_00E639C0;
extern UNK_TYPE D_00E648D0;
extern UNK_TYPE D_00E639C0;
extern UNK_TYPE D_00E648D0;
extern UNK_TYPE D_00E62370;
extern UNK_TYPE D_00E62AC0;
extern UNK_TYPE D_0A0031E0;
extern UNK_TYPE D_0A001508;
extern UNK_TYPE D_0A0031B0;
@ -9,6 +33,208 @@ extern UNK_TYPE D_0A001218;
extern UNK_TYPE D_0A003F70;
extern UNK_TYPE D_0A002318;
Gfx D_802E96F0[] = {
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPPipeSync(),
gsDPSetTexturePersp(G_TP_PERSP),
gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE),
gsDPSetTextureLUT(G_TT_NONE),
gsDPSetTextureFilter(G_TF_BILERP),
gsDPSetTextureConvert(G_TC_FILT),
gsSPEndDisplayList(),
};
Gfx D_802E9738[] = {
gsSPDisplayList(&D_802E96F0),
gsDPSetTextureLUT(G_TT_NONE),
gsDPLoadTextureTile_4b(&D_802E9170, G_IM_FMT_I, 16, 0, 0, 0, 15, 15, 0, G_TX_MIRROR | G_TX_WRAP, G_TX_MIRROR | G_TX_WRAP, 4, 4, G_TX_NOLOD, G_TX_NOLOD),
gsSPEndDisplayList(),
};
Gfx D_802E9788[] = {
gsSPDisplayList(&D_802E96F0),
gsDPSetTextureLUT(G_TT_NONE),
gsDPLoadTextureTile_4b(&D_802E91F0, G_IM_FMT_I, 16, 0, 0, 0, 15, 15, 0, G_TX_MIRROR | G_TX_WRAP, G_TX_MIRROR | G_TX_WRAP, 4, 4, G_TX_NOLOD, G_TX_NOLOD),
gsSPEndDisplayList(),
};
Gfx D_802E97B0[] = {
gsSPDisplayList(&D_802E9738),
gsSPClearGeometryMode(G_CULL_BACK | G_LIGHTING | G_SHADING_SMOOTH),
gsSPVertex(&D_802E92B0, 4, 0),
gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
gsSPEndDisplayList(),
};
Gfx D_802E97D8[] = {
gsSPDisplayList(&D_802E9788),
gsSPClearGeometryMode(G_CULL_BACK | G_LIGHTING | G_SHADING_SMOOTH),
gsSPVertex(&D_802E9270, 4, 0),
gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
gsSPEndDisplayList(),
};
Gfx D_802E9828[] = {
gsSPEndDisplayList(),
};
// Entity "script" data; unknown if it's used or not.
s32 D_802E9830[8] = {
0x00000001, 0x0000003C, (s32)&D_802E9828, 0x00000002,
0x00000000, 0x00000000, 0x00000000, 0x00000000
};
s32 D_802E9850[9] = {
0x00000005, 0x00000800, 0x00000004, 0x00000020,
0x00000001, 0x0000003C, (s32)&D_802E97D8, 0x00000002,
0x00000000
};
s32 D_802E9874[9] = {
0x00000005, 0x00000800, 0x00000004, 0x00000020,
0x00000001, 0x0000003C, (s32)&D_802E97D8, 0x00000002,
0x00000000
};
s32 D_802E9898[9] = {
0x00000005, 0x00000800, 0x00000004, 0x00000020,
0x00000001, 0x0000003C, &D_802E9788[10], 0x00000002,
0x00000000,
};
s32 D_802E98BC[8] = {
0x00200000, (s32)&D_802E9850, 0x00000000, (s32)create_shadow_callback,
0x00000000, 0x00000000, 0x00000000, 0x00000000
};
s32 D_802E98DC[9] = {
0x01190A19, 0x00200000, (s32)&D_802E9874, 0x00000000,
(s32)create_shadow_callback, 0x00000000, 0x00000000, 0x00000000,
0x00000000
};
s32 D_802E9900[9] = {
0x01190A19, 0x00200000, (s32)&D_802E9898, 0x00000000,
(s32)create_shadow_callback, 0x00000000, 0x00000000, 0x00000000,
0x00000000,
};
s32 D_802E9924[3] = {
0x01190A19, 0x00000000, 0x00000000
};
s32 D_802E9930[51] = {
0x00000003, 0x00000000, (s32)func_802E10F4, 0x00000009,
0x0000014E, 0x00000002, (s32)func_802E114C, 0x00000002,
(s32)func_802E31EC, 0x00000003, 0x00000006, (s32)func_802E328C,
0x00000003, 0x00000002, 0x00000000, 0x00000002,
(s32)func_802E1204, 0x00000003, 0x00000000, (s32)func_802E1270,
0x00000003, 0x0000000E, 0x00000000, 0x00000002,
(s32)func_802E1298, 0x00000003, 0x00000000, (s32)func_802E1350,
0x00000002, (s32)save_game_at_player_position, 0x00000002, (s32)func_802E12F8,
0x00000003, 0x00000000, (s32)func_802E1328, 0x00000002,
(s32)func_802E117C, 0x00000003, 0x0000000C, 0x00000000,
0x00000004, 0x00000000, 0x00000000, 0x00000002,
(s32)func_802E117C, 0x00000003, 0x00000002, 0x00000000,
0x00000001, (s32)D_802E9930, 0x00000000,
};
s32 D_802E99FC[7] = {
0x00000004, 0x00000022, 0x00000001, 0x0000003C,
&D_0A003508, 0x00000002, 0x00000000,
};
StaticEntityData D_802E9A18 = { 0x4200, 0x0020, &D_802E99FC, {0, 0, 0, 0}, func_802E13B8, &D_802E9930, func_802E3BA4, &D_00E4B2E0, &D_00E4E7F0, 32, {0x19, 0x19, 0x19}};
// potential file split(?)
s32 D_802E9A3C[1] = {
0x00000000
};
s32 D_802E9A40[18] = {
0x00000003, 0x00000000, (s32)func_802E1660, 0x00000009,
0x00000152, 0x00000002, (s32)func_802E1EA8, 0x00000002,
(s32)func_802E176C, 0x00000003, 0x00000000, (s32)func_802E17A8,
0x00000003, 0x00000000, (s32)func_802E1740, 0x00000004,
0x00000000, 0x00000000,
};
s32 D_802E9A88[15] = {
0x00000003, 0x00000000, (s32)func_802E1614, 0x00000009,
0x00000152, 0x00000002, (s32)func_802E1EA8, 0x00000002,
(s32)func_802E176C, 0x00000003, 0x00000000, (s32)func_802E1EDC,
0x00000007, 0x20000000, 0x00000000
};
s32 D_802E9AC4[15] = {
0x00000003, 0x00000000, (s32)func_802E1660, 0x00000009,
0x00000152, 0x00000002, (s32)func_802E1EA8, 0x00000002,
(s32)func_802E176C, 0x00000003, 0x00000000, (s32)func_802E1EDC,
0x00000007, 0x20000000, 0x00000000
};
s32 D_802E9B00[16] = {
0x00000003, 0x00000000, (s32)func_802E1400, 0x00000003,
0x00000000, (s32)func_802E1460, 0x00000009, 0x00000152,
0x00000003, 0x00000080, 0x00000000, 0x00000003,
0x00000000, (s32)func_802E14D8, 0x00000004, 0x00000000,
};
s32 D_802E9B40[7] = {
0x00000004, 0x00000011, 0x00000001, 0x0000003C,
&D_0A000EF8, 0x00000002, 0x00000000,
};
s32 D_802E9B5C[7] = {
0x00000004, 0x00000011, 0x00000001, 0x0000003C,
(s32)&D_0A000EF8, 0x00000002, 0x00000000,
};
s32 D_802E9B78[7] = {
0x00000004, 0x00000011, 0x00000001, 0x0000003C,
(s32)&D_0A000EE8, 0x00000002, 0x00000000
};
s32 D_802E9B94[7] = {
0x00000004, 0x00000001, 0x00000001, 0x0000003C,
(s32)&D_0A000740, 0x00000002, 0x00000000,
};
// TODO: resolve FILL_LATER
StaticEntityData D_802E9BB0 = { 0xA000, 0x002C, &D_802E9B78, {0, 0, 0, 0}, func_802E234C, &D_802E9A40, NULL, &D_00E62AC0, &D_00E639C0, 8, {0x16, 0x17, 0x16} };
StaticEntityData D_802E9BD4 = { 0xAA04, 0x002C, &D_802E9B40, {0, 0, 0, 0}, entity_init_BlueSwitch, &D_802E9AC4, NULL, &D_00E639C0, &D_00E648D0, 7, {0x16, 0x17, 0x16} };
StaticEntityData D_802E9BF8 = { 0xAA04, 0x002C, &D_802E9B5C, {0, 0, 0, 0}, entity_init_HugeBlueSwitch, &D_802E9A88, NULL, &D_00E639C0, &D_00E648D0, 9, {0x42, 0x4B, 0x42} };
StaticEntityData D_802E9C1C = { 0xC000, 0x002C, &D_802E9B94, {0, 0, 0, 0}, func_802E234C, &D_802E9B00, NULL, &D_00E62370, &D_00E62AC0, 10, {0x32, 0x0F, 0x32} };
s32 D_802E9C40[] = {
0x00000007, 0x00000020, 0x00000003, 0x00000000,
func_802E263C, 0x00000007, 0x00000001, 0x00000007,
0x20000000, 0x00000000, 0x00000000, 0x00000000
};
s32 D_802E9C70[] = {
0x00000004, 0x00000011, 0x00000001, 0x0000003C,
(s32)&D_802E9828, 0x00000002, 0x00000000
};
//ROM addrs; todo
extern UNK_TYPE D_00E32420;
extern UNK_TYPE D_00E35670;
extern UNK_TYPE D_00E38890;
extern UNK_TYPE D_00E3B870;
extern UNK_TYPE D_00E3E260;
extern UNK_TYPE D_00E42240;
StaticEntityData D_802E9C8C = { 0x0000, 0x0250, &D_802E9C70, {0, 0, 0, 0}, func_802E2EB0, &D_802E9C40, NULL, &D_00E32420, &D_00E35670, 21, {0x10, 0x10, 0x10}};
StaticEntityData D_802E9CB0 = { 0x0000, 0x0250, &D_802E9C70, {0, 0, 0, 0}, func_802E2EB0, &D_802E9C40, NULL, &D_00E35670, &D_00E38890, 22, {0x10, 0x10, 0x10}};
StaticEntityData D_802E9CD4 = { 0x0000, 0x0250, &D_802E9C70, {0, 0, 0, 0}, func_802E2EB0, &D_802E9C40, NULL, &D_00E38890, &D_00E3B870, 23, {0x10, 0x10, 0x10}};
StaticEntityData D_802E9CF8 = { 0x0000, 0x0250, &D_802E9C70, {0, 0, 0, 0}, func_802E2EB0, &D_802E9C40, NULL, &D_00E32420, &D_00E35670, 24, {0x08, 0x08, 0x08}};
StaticEntityData D_802E9D1C = { 0x0000, 0x0250, &D_802E9C70, {0, 0, 0, 0}, func_802E2EB0, &D_802E9C40, NULL, &D_00E35670, &D_00E38890, 25, {0x08, 0x08, 0x08}};
StaticEntityData D_802E9D40 = { 0x0000, 0x0250, &D_802E9C70, {0, 0, 0, 0}, func_802E2EB0, &D_802E9C40, NULL, &D_00E38890, &D_00E3B870, 26, {0x08, 0x08, 0x08}};
StaticEntityData D_802E9D64 = { 0x0000, 0x0250, &D_802E9C70, {0, 0, 0, 0}, func_802E2EB0, &D_802E9C40, NULL, &D_00E3E260, &D_00E42240, 13, {0x08, 0x08, 0x08}};
void func_802E2EB0(Entity* entity) {
u32 type;
void* a2 = NULL;
@ -60,22 +286,6 @@ void func_802E2EB0(Entity* entity) {
func_802E246C(entity, a1, a2);
}
//ROM addrs; todo
extern UNK_TYPE D_00E32420;
extern UNK_TYPE D_00E35670;
extern UNK_TYPE D_00E38890;
extern UNK_TYPE D_00E3B870;
extern UNK_TYPE D_00E3E260;
extern UNK_TYPE D_00E42240;
extern StaticEntityData D_802E9C8C;
extern StaticEntityData D_802E9CB0;
extern StaticEntityData D_802E9CD4;
extern StaticEntityData D_802E9CF8;
extern StaticEntityData D_802E9D1C;
extern StaticEntityData D_802E9D40;
extern StaticEntityData D_802E9D64;
void func_802E2FD0(Entity* entity) {
u32 type;
StaticEntityData* addr = NULL;

View File

@ -323,8 +323,7 @@ segments:
- [0x10AAF0, bin]
#- [0x10AB70, i4, shadow/10AB70, 32, 32]
#- [0x10AD70, i4, shadow/10AD70, 32, 32]
- [0x10AF70, bin] # TODO
- [0x10B4C0, .data, code_104730]
- [0x10AF70, .data, code_104730]
- [0x10B608, bin]
- [0x10C880, rodata, code_102c80]
- [0x10C9E0, .rodata, code_104730]

View File

@ -75,9 +75,11 @@ D_0A000808 = 0x0A000808;
D_0A000328 = 0x0A000328;
D_0A000380 = 0x0A000380;
D_0A000380 = 0x0A000380;
D_0A000740 = 0x0A000740;
D_0A000750 = 0x0A000750;
D_0A000800 = 0x0A000800;
D_0A000750 = 0x0A000750;
D_0A000750 = 0x0A000750;
D_0A000EE8 = 0x0A000EE8;
D_0A000EF8 = 0x0A000EF8;
D_0A004350 = 0x0A004350;
D_0A0026F0 = 0x0A0026F0;
D_00074210 = 0x00074210;
@ -90,13 +92,27 @@ D_0A002F78 = 0x0A002F78;
D_0A001218 = 0x0A001218;
D_0A003F70 = 0x0A003F70;
D_0A002318 = 0x0A002318;
D_0A003508 = 0x0A003508;
D_802E9828 = 0x802E9828;
D_802E9C40 = 0x802E9C40;
D_802E9C70 = 0x802E9C70;
D_802E91F0 = 0x802E91F0;
D_802E9170 = 0x802E9170;
D_802E9270 = 0x802E9270;
D_802E92B0 = 0x802E92B0;
D_00E32420 = 0x00E32420;
D_00E35670 = 0x00E35670;
D_00E38890 = 0x00E38890;
D_00E3B870 = 0x00E3B870;
D_00E3E260 = 0x00E3E260;
D_00E42240 = 0x00E42240;
D_00E42240 = 0x00E42240;
D_00E4B2E0 = 0x00E4B2E0;
D_00E4E7F0 = 0x00E4E7F0;
D_00E62370 = 0x00E62370;
D_00E62AC0 = 0x00E62AC0;
D_00E639C0 = 0x00E639C0;
D_00E648D0 = 0x00E648D0;