From 6e1b391cd59aa4cfa95c5a9ff70ac400f21be1c8 Mon Sep 17 00:00:00 2001 From: gamemasterplc Date: Fri, 5 Apr 2024 16:26:14 -0500 Subject: [PATCH 1/7] Fix w05dll/main.c --- src/REL/w05Dll/main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/REL/w05Dll/main.c b/src/REL/w05Dll/main.c index be1f7261..6f588a2f 100644 --- a/src/REL/w05Dll/main.c +++ b/src/REL/w05Dll/main.c @@ -84,8 +84,8 @@ s16 lbl_1_data_11A = 0xFFFF; s16 lbl_1_data_11C = 0xFFFF; s16 lbl_1_data_11E = 0xFFFF; s16 lbl_1_data_120 = 0xFFFF; -s32 lbl_1_data_124[9] = {0x5F0000, 0x1A0000, 0x6D0000, 0x8A0000, 0x850000, 0x110000, 0xD0000, 0x810000, 0x790006}; -s32 lbl_1_data_144 = 0xFFFFFFFF; +s32 lbl_1_data_124[8] = {0x5F0000, 0x1A0000, 0x6D0000, 0x8A0000, 0x850000, 0x110000, 0xD0000, 0x810000}; +s32 lbl_1_data_144[2] = {0x790006, 0xFFFFFFFF}; s32 lbl_1_data_14C = 0xFFFFFFFF; // bss @@ -135,7 +135,7 @@ void BoardCreate(void) { fn_8006DDE8(lbl_1_data_11A, -1.0f); BoardModelPosSet(lbl_1_data_11A, 0.0f, 0.0f, 0.0f); BoardModelMotionStart(lbl_1_data_11A, 0, 0x40000001); - lbl_1_data_11C = BoardModelCreate(0x790005, &lbl_1_data_144, 0); + lbl_1_data_11C = BoardModelCreate(0x790005, lbl_1_data_144, 0); BoardModelPosSet(lbl_1_data_11C, 0.0f, 0.0f, 0.0f); BoardModelMotionStart(lbl_1_data_11C, 1, 0x40000001); lbl_1_data_11E = BoardModelCreate(0x2001C, &lbl_1_data_14C, 0); From 52850703ee0e6ce4fa59d21ca6e9c48b3a687db8 Mon Sep 17 00:00:00 2001 From: gamemasterplc Date: Fri, 5 Apr 2024 20:51:49 -0500 Subject: [PATCH 2/7] Decompile result/battle.c --- config/GMPE01_00/rels/resultDll/symbols.txt | 87 +-- configure.py | 2 +- include/REL/resultdll.h | 7 + include/game/frand.h | 10 + src/REL/resultDll/battle.c | 718 ++++++++++++++++++++ src/REL/resultDll/main.c | 7 +- 6 files changed, 784 insertions(+), 47 deletions(-) create mode 100644 include/game/frand.h create mode 100644 src/REL/resultDll/battle.c diff --git a/config/GMPE01_00/rels/resultDll/symbols.txt b/config/GMPE01_00/rels/resultDll/symbols.txt index 64910ff2..b9d8c84d 100644 --- a/config/GMPE01_00/rels/resultDll/symbols.txt +++ b/config/GMPE01_00/rels/resultDll/symbols.txt @@ -95,43 +95,43 @@ lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data: lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 scope:local data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 data:double -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 data:double -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 data:double -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 data:double -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float +lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float +lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float +lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float +lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float +lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float +lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float +lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float +lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float +lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 scope:local data:float +lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 scope:local data:float +lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 scope:local data:float +lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 scope:local data:float +lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 scope:local data:float +lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 scope:local data:float +lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float +lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 scope:local data:float +lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float +lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 scope:local data:double lbl_1_data_0 = .data:0x00000000; // type:object size:0x2A4 @@ -153,15 +153,17 @@ lbl_1_data_4C9 = .data:0x000004C9; // type:object size:0x11 scope:local data:str lbl_1_data_4DA = .data:0x000004DA; // type:object size:0xB scope:local data:string lbl_1_data_4E8 = .data:0x000004E8; // type:object size:0x270 lbl_1_data_758 = .data:0x00000758; // type:object size:0x28 -lbl_1_data_780 = .data:0x00000780; // type:object size:0x70 -lbl_1_data_7F0 = .data:0x000007F0; // type:object size:0x40 +lbl_1_data_780 = .data:0x00000780; // type:object size:0x50 +lbl_1_data_7D0 = .data:0x000007D0; // type:object size:0x20 +lbl_1_data_7F0 = .data:0x000007F0; // type:object size:0x30 +lbl_1_data_820 = .data:0x00000820; // type:object size:0x10 lbl_1_data_830 = .data:0x00000830; // type:object size:0x10 lbl_1_data_840 = .data:0x00000840; // type:object size:0x20 lbl_1_data_860 = .data:0x00000860; // type:object size:0x20 lbl_1_data_880 = .data:0x00000880; // type:object size:0x20 lbl_1_data_8A0 = .data:0x000008A0; // type:object size:0x6 data:2byte -lbl_1_data_8A6 = .data:0x000008A6; // type:object size:0x8 data:string -lbl_1_data_8AE = .data:0x000008AE; // type:object size:0x8 data:string +lbl_1_data_8A6 = .data:0x000008A6; // type:object size:0x8 scope:local data:float +lbl_1_data_8AE = .data:0x000008AE; // type:object size:0x8 scope:local data:float lbl_1_data_8B8 = .data:0x000008B8; // type:object size:0x60 lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte @@ -192,7 +194,8 @@ lbl_1_bss_184 = .bss:0x00000184; // type:object size:0x4 data:4byte lbl_1_bss_188 = .bss:0x00000188; // type:object size:0x4 data:4byte lbl_1_bss_190 = .bss:0x00000190; // type:object size:0x4 data:4byte lbl_1_bss_194 = .bss:0x00000194; // type:object size:0x1680 -lbl_1_bss_1814 = .bss:0x00001814; // type:object size:0x14 +lbl_1_bss_1814 = .bss:0x00001814; // type:object size:0x8 +lbl_1_bss_181C = .bss:0x0000181C; // type:object size:0xC lbl_1_bss_1828 = .bss:0x00001828; // type:object size:0x168 data:2byte lbl_1_bss_1990 = .bss:0x00001990; // type:object size:0x20 lbl_1_bss_19B0 = .bss:0x000019B0; // type:object size:0x8 diff --git a/configure.py b/configure.py index 6d3d11c0..59909220 100644 --- a/configure.py +++ b/configure.py @@ -1054,7 +1054,7 @@ config.libs = [ objects = { Object(Matching, "REL/executor.c"), Object(Matching, "REL/resultDll/main.c"), - Object(NonMatching, "REL/resultDll/battle.c"), + Object(Matching, "REL/resultDll/battle.c"), Object(Matching, "REL/resultDll/datalist.c"), } ), diff --git a/include/REL/resultdll.h b/include/REL/resultdll.h index 7f8a60e4..afaf5df3 100644 --- a/include/REL/resultdll.h +++ b/include/REL/resultdll.h @@ -27,6 +27,10 @@ typedef struct datalist_sprite { GXColor color; } DataListSprite; +void fn_1_3FD8(void); +void fn_1_40DC(void); +void fn_1_423C(s16 *data); + void fn_1_6490(void); void fn_1_8FF8(DataListModel *model_list); @@ -37,5 +41,8 @@ extern s16 lbl_1_bss_1A9C[32]; extern s16 lbl_1_bss_1A5C[32]; extern s16 lbl_1_bss_1A1A[33]; extern s16 lbl_1_bss_1A18; +extern s32 lbl_1_bss_178; +extern s32 lbl_1_bss_174; +extern s16 lbl_1_bss_172; #endif \ No newline at end of file diff --git a/include/game/frand.h b/include/game/frand.h new file mode 100644 index 00000000..d688df99 --- /dev/null +++ b/include/game/frand.h @@ -0,0 +1,10 @@ +#ifndef _GAME_FRAND_H +#define _GAME_FRAND_H + +#include "dolphin/types.h" + +u32 frand(void); +f32 frandf(void); +u32 frandmod(u32 arg0); + +#endif \ No newline at end of file diff --git a/src/REL/resultDll/battle.c b/src/REL/resultDll/battle.c new file mode 100644 index 00000000..e582532a --- /dev/null +++ b/src/REL/resultDll/battle.c @@ -0,0 +1,718 @@ +#include "dolphin.h" +#include "math.h" + +#include "game/hsfanim.h" +#include "game/audio.h" +#include "game/process.h" +#include "game/wipe.h" +#include "game/window.h" +#include "game/pad.h" +#include "game/object.h" +#include "game/chrman.h" +#include "game/sprite.h" +#include "game/hsfman.h" +#include "game/hsfmotion.h" +#include "game/armem.h" +#include "game/frand.h" + +#include "game/gamework_data.h" + +#include "REL/resultdll.h" + +DataListModel lbl_1_data_4E8[] = { + { 0x6F0008, 0, 0, -1, -1, { -300, 0, 0 }, { 0, 0, 0 }, { 0.9f, 0.9f, 0.9f } }, + { 0x6F0009, 0, 0, -1, -1, { -100, 0, 0 }, { 0, 0, 0 }, { 0.9f, 0.9f, 0.9f } }, + { 0x6F000A, 0, 0, -1, -1, { 100, 0, 0 }, { 0, 0, 0 }, { 0.9f, 0.9f, 0.9f } }, + { 0x6F000A, 0, 0, -1, -1, { 300, 0, 0 }, { 0, 0, 0 }, { 0.9f, 0.9f, 0.9f } }, + { 0x6F000B, 0, 0, -1, -1, { -300, 1000, 0 }, { 0, 0, 0 }, { 1.0f, 1.0f, 1.0f } }, + { 0x6F000B, 0, 0, -1, -1, { -100, 1000, 0 }, { 0, 0, 0 }, { 1.0f, 1.0f, 1.0f } }, + { 0x6F000B, 0, 0, -1, -1, { 100, 1000, 0 }, { 0, 0, 0 }, { 1.0f, 1.0f, 1.0f } }, + { 0x6F000B, 0, 0, -1, -1, { 300, 1000, 0 }, { 0, 0, 0 }, { 1.0f, 1.0f, 1.0f } }, + { 0x6F000D, 0, 0, -1, -1, { 5000, 0, 0 }, { 0, 0, 0 }, { 1.0f, 1.0f, 1.0f } }, + { 0x6F000E, 0, 1, -1, 8, { 0, 0, 0 }, { 0, 0, 0 }, { 1.0f, 1.0f, 1.0f } }, + { 0x6F000F, 0x40000002, 0, -1, -1, { 5000, 0, 0 }, { 0, 0, 0 }, { 2.0f, 2.0f, 2.0f } }, + { -1, 0, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } } +}; + +DataListSprite lbl_1_data_758[] = { + { 0x6F0043, 0, 10, 288, 240, { 255, 255, 255, 255 } }, + { 0, 0, 0, 0, 0, { 0, 0, 0, 0 } }, +}; + +HsfanimStruct00 lbl_1_data_780 = { + 80, + { 0, 0 }, + 3, 30, 90, + { 0, -0.2, 0 }, + 5.0f, 0.95f, 10.0f, + 0.995f, + 2, + { + { 255, 192, 112, 255 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + }, + { + { 128, 128, 128, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + { 0, 0, 0, 0 }, + } +}; + + +s16 lbl_1_data_7D0[] = { + 320, 132, + 500, 132, + 320, 217, + 500, 217, + 320, 302, + 500, 302, + 320, 387, + 500, 387, +}; + +Vec lbl_1_data_7F0[] = { + { -300, 270, 0 }, + { -100, 180, 500 }, + { 100, 90, 500 }, + { 300, 0, 500 } +}; + +s16 lbl_1_data_820[] = { + -284, 148, + -84, 233, + 116, 318, + 316, 403 +}; + +s32 lbl_1_data_830[] = { + 0x6F0008, + 0x6F0009, + 0x6F000A, + 0x6F000A +}; + +float lbl_1_data_840[] = { + 130, + 150, + 170, + 150, + 150, + 130, + 170, + 190 +}; + +float lbl_1_data_860[] = { + 130, + 150, + 180, + 150, + 150, + 170, + 180, + 210 +}; + +float lbl_1_data_880[] = { + 140, + 160, + 180, + 150, + 150, + 120, + 180, + 210 +}; + +s16 lbl_1_data_8A0[] = { + 8, + 0, + -8 +}; + +typedef struct struct_unk194 { + s16 unk0; + s16 unk2; + Vec unk4; + Vec unk10; + float unk1C; +} StructUnk194; + +u8 lbl_1_bss_19F8[32]; +s16 lbl_1_bss_19F0[4]; +s16 lbl_1_bss_19E8[4]; +s16 lbl_1_bss_19E0[4]; +s16 lbl_1_bss_19B8[4][5]; +s16 lbl_1_bss_19B0[4]; +s16 lbl_1_bss_1990[4][4]; +s16 lbl_1_bss_1828[180]; +s16 lbl_1_bss_181C[6]; +s16 lbl_1_bss_1814[4]; +StructUnk194 lbl_1_bss_194[180]; +s32 lbl_1_bss_190; + +void fn_1_6760(void); +void fn_1_6824(void); +void fn_1_7544(void); + +void fn_1_6490(void) +{ + s16 player; + s16 i; + s16 window; + s16 button; + Process *process = HuPrcCurrentGet(); + HuAudSeqPlay(10); + for(i=player=0; i<4; i++) { + if(GWPlayerCfg[i].iscom) { + player++; + } + } + if(player == 4) { + lbl_1_bss_190 = 1; + } else { + lbl_1_bss_190 = 0; + } + fn_1_6824(); + HuPrcChildCreate(fn_1_6760, 100, 8192, 0, process); + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 20); + while(WipeStatGet()) { + HuPrcVSleep(); + } + lbl_1_bss_178 = 0; + HuPrcChildCreate(fn_1_3FD8, 100, 12288, 0, process); + HuPrcSleep(10); + if(!lbl_1_bss_174) { + HuPrcSleep(20); + } + fn_1_7544(); + fn_1_40DC(); + window = HuWinCreate(-10000.0f, 400.0f, 320, 40, 0); + HuWinMesSpeedSet(window, 0); + HuWinBGTPLvlSet(window, 0); + HuWinAttrSet(window, 0x800); + HuWinMesSet(window, 0x240007); + i=0; + while(1) { + if(lbl_1_bss_190 && i > 120) { + break; + } + for(player=button=0; player<4; player++) { + if(!GWPlayerCfg[player].iscom) { + button |= HuPadBtnDown[GWPlayerCfg[player].pad_idx]; + } + } + if(button & PAD_BUTTON_A) { + HuAudFXPlay(28); + break; + } + HuPrcVSleep(); + i++; + } + HuWinKill(window); + while(!lbl_1_bss_178) { + HuPrcVSleep(); + } + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); + HuAudSeqAllFadeOut(500); + while(WipeStatGet()) { + HuPrcVSleep(); + } + omSysPauseEnable(1); + Hu3DParManAllKill(); + omOvlReturnEx(1, 1); + HuPrcEnd(); + while(1) { + HuPrcVSleep(); + } +} + +void fn_1_6760(void) +{ + Vec temp; + temp.z = 0.0f; + temp.y = 0.0f; + temp.x = 0.0f; + while(1) { + if (((HuPadBtn[0] | HuPadBtn[1] | HuPadBtn[2] | HuPadBtn[3]) & 0x100) != 0 || lbl_1_bss_190 != 0) { + lbl_1_bss_174 = 1; + } else { + lbl_1_bss_174 = 0; + } + HuPrcVSleep(); + } +} + +void fn_1_7F98(void); +void fn_1_8338(s16 group, s16 value); +void fn_1_8484(void); +void fn_1_8658(void); +void fn_1_86DC(s16 player); +void fn_1_8CB8(struct model_data *model, Mtx matrix); + +void fn_1_6824(void) +{ + s16 i; + s16 character; + s16 player; + s16 x_ofs; + AnimData *anim; + AnimData *anim2; + AnimData *anim3; + s16 char_mdl; + Vec pos; + Vec target; + Vec up; + s16 gains[5]; + Process *process = HuPrcCurrentGet(); + CRot.x = 0; + CRot.y = 0; + CRot.z = 0; + Center.x = 0; + Center.y = 330; + Center.z = 0; + CZoom = 2210; + Hu3DShadowCreate(20, 100, 5000); + Hu3DShadowTPLvlSet(0.5f); + Hu3DShadowSizeSet(192); + target.x = target.y = target.z = 0; + pos.x = 500; + pos.z = 1000; + pos.y = 2000; + up.x = 0; + up.y = 1; + up.z = 0; + Hu3DShadowPosSet(&pos, &up, &target); + i = Hu3DHookFuncCreate(fn_1_8CB8); + Hu3DModelPosSet(i, 0, 0, 0); + fn_1_8484(); + fn_1_423C(gains); + gains[lbl_1_bss_172] += gains[4]; + for(i=0; i<4; i++) { + lbl_1_data_4E8[i].datanum = lbl_1_data_830[lbl_1_bss_19E8[i]]; + if(lbl_1_bss_19E8[i] == 3) { + lbl_1_data_4E8[i].attr = 1; + } + } + fn_1_8FF8(lbl_1_data_4E8); + fn_1_927C(lbl_1_data_758); + espDrawNoSet(lbl_1_bss_1A1A[0], 127); + for(i=0; i<4; i++) { + Hu3DModelShadowSet(lbl_1_bss_1A9C[i]); + } + for(i=0; i<4; i++) { + anim = HuSprAnimRead(HuDataReadNum(lbl_1_bss_19E8[i]+0x6F0044, MEMORY_DEFAULT_NUM));; + if(lbl_1_bss_19E8[i] <= 2) { + anim2 = HuSprAnimRead(HuDataReadNum(0x6F0048, MEMORY_DEFAULT_NUM)); + } else { + anim2 = HuSprAnimRead(HuDataReadNum(0x6F0048, MEMORY_DEFAULT_NUM)); + } + Hu3DAnimCreate(anim, lbl_1_bss_1A9C[i+4], "ys22_a0"); + Hu3DAnimCreate(anim2, lbl_1_bss_1A9C[i+4], "ys22_a1"); + Hu3DModelAttrSet(lbl_1_bss_1A9C[i+4], 0x40000002); + } + anim = HuSprAnimRead(HuDataReadNum(0x6F003D, MEMORY_DEFAULT_NUM)); + anim2 = HuSprAnimRead(HuDataReadNum(0x6F003B, MEMORY_DEFAULT_NUM)); + anim3 = HuSprAnimRead(HuDataReadNum(0x6F003C, MEMORY_DEFAULT_NUM)); + for(i=0; i<4; i++) { + if(gains[lbl_1_bss_19F0[i]] >= 100) { + x_ofs = lbl_1_data_8A0[2]; + } else if(gains[lbl_1_bss_19F0[i]] >= 10) { + x_ofs = lbl_1_data_8A0[1]; + } else { + x_ofs = lbl_1_data_8A0[0]; + } + lbl_1_bss_19E0[i] = HuSprGrpCreate(5); + lbl_1_bss_19B8[i][0] = HuSprCreate(anim, 10, 0); + HuSprGrpMemberSet(lbl_1_bss_19E0[i], 0, lbl_1_bss_19B8[i][0]); + HuSprPosSet(lbl_1_bss_19E0[i], 0, 17, -32); + lbl_1_bss_19B8[i][1] = HuSprCreate(anim2, 0, 0); + HuSprGrpMemberSet(lbl_1_bss_19E0[i], 1, lbl_1_bss_19B8[i][1]); + HuSprPosSet(lbl_1_bss_19E0[i], 1, x_ofs, -36); + lbl_1_bss_19B8[i][2] = HuSprCreate(anim3, 0, 0); + HuSprGrpMemberSet(lbl_1_bss_19E0[i], 2, lbl_1_bss_19B8[i][2]); + HuSprPosSet(lbl_1_bss_19E0[i], 2, x_ofs+16, -36); + lbl_1_bss_19B8[i][3] = HuSprCreate(anim3, 0, 0); + HuSprGrpMemberSet(lbl_1_bss_19E0[i], 3, lbl_1_bss_19B8[i][3]); + HuSprPosSet(lbl_1_bss_19E0[i], 3, x_ofs+32, -36); + lbl_1_bss_19B8[i][4] = HuSprCreate(anim3, 0, 0); + HuSprGrpMemberSet(lbl_1_bss_19E0[i], 4, lbl_1_bss_19B8[i][4]); + HuSprPosSet(lbl_1_bss_19E0[i], 4, x_ofs+48, -36); + HuSprGrpPosSet(lbl_1_bss_19E0[i], 0, 0); + fn_1_8338(lbl_1_bss_19E0[i], 9); + HuSprGrpScaleSet(lbl_1_bss_19E0[i], 0, 0); + } + (void)anim3; + Hu3DMotionSet(lbl_1_bss_1A9C[8], lbl_1_bss_1A5C[9]); + Hu3DModelAttrSet(lbl_1_bss_1A9C[8], 0x40000001); + Hu3DModelShadowSet(lbl_1_bss_1A9C[8]); + for(i=0; i<180; i++) { + if(i == 0) { + lbl_1_bss_1828[0] = Hu3DModelCreateFile(0x6F000C); + } else { + lbl_1_bss_1828[i] = Hu3DModelLink(lbl_1_bss_1828[0]); + } + Hu3DModelScaleSet(lbl_1_bss_1828[i], 0.5f, 0.5f, 0.5f); + Hu3DModelAttrSet(lbl_1_bss_1828[i], 1); + } + fn_1_8658(); + anim = HuSprAnimRead(HuAR_ARAMtoMRAMFileRead(0x120004, MEMORY_DEFAULT_NUM, HEAP_DATA)); + for(i=0; i<4; i++) { + lbl_1_bss_1814[i] = Hu3DParManCreate(anim, 300, &lbl_1_data_780); + Hu3DParManAttrSet(lbl_1_bss_1814[i], 0x65); + Hu3DParticleBlendModeSet(Hu3DParManModelIDGet(lbl_1_bss_1814[i]), 1); + Hu3DParManRotSet(lbl_1_bss_1814[i], 90, 0, 0); + } + HuDataDirClose(DATADIR_RESULT); + for(i=0; i<4; i++) { + player = lbl_1_bss_19F0[i]; + character = GWPlayerCfg[lbl_1_bss_19F0[i]].character; + char_mdl = CharModelCreate(character, 2); + lbl_1_bss_19B0[player] = char_mdl; + lbl_1_bss_1990[player][0] = CharModelMotionCreate(character, 0x5F0000); + lbl_1_bss_1990[player][1] = CharModelMotionCreate(character, 0x5F0017); + lbl_1_bss_1990[player][2] = CharModelMotionCreate(character, 0x5F0049); + CharModelVoiceEnableSet(character, lbl_1_bss_1990[player][1], 0); + CharModelMotionSet(character, lbl_1_bss_1990[player][0]); + Hu3DModelPosSet(char_mdl, lbl_1_data_7F0[i].x, lbl_1_data_7F0[lbl_1_bss_19E8[i]].y, 0); + Hu3DModelAttrSet(char_mdl, 0x40000001); + Hu3DModelShadowSet(char_mdl); + } + CharModelDataClose(-1); +} + +Vec lbl_1_data_8B8[] = { + { 8, 0, 0 }, + { 0, 8, 0 }, + { 10, 5, 0 }, + { -5, 10, 0 }, + { 0, -8, 0 }, + { 8, 10, 0 }, + { -10, 8, 0 }, + { 15, 0, 0 } +}; + +void fn_1_7544(void) +{ + s16 i; + s16 time; + s16 done_cnt; + float pos_y; + s16 gains[5]; + s16 time_player[4]; + fn_1_423C(gains); + for(time=0; time<=5; time++) { + pos_y = ((5-time)*50)+580; + for(i=0; i<4; i++) { + Hu3DModelPosSet(lbl_1_bss_1A9C[i+4], lbl_1_data_7F0[i].x, pos_y, 0); + } + HuPrcVSleep(); + } + for(i=0; i<4; i++) { + Hu3DModelAttrReset(lbl_1_bss_1A9C[i+4], 0x40000002); + Hu3DMotionSpeedSet(lbl_1_bss_1A9C[i+4], 1.5f); + } + HuPrcSleep(35); + for(i=0; i<4; i++) { + if(gains[lbl_1_bss_19F0[i]] > 0) { + Hu3DParManAttrReset(lbl_1_bss_1814[i], 1); + time_player[i] = frandmod(10); + } else { + time_player[i] = 0; + } + Hu3DParManPosSet(lbl_1_bss_1814[i], lbl_1_data_7F0[i].x, 610.0f, 0.0f); + } + while(1) { + for(i=done_cnt=0; i<4; i++) { + if(time_player[i]) { + time_player[i]--; + continue; + } + if(gains[lbl_1_bss_19F0[i]] <= 0) { + Hu3DParManAttrSet(lbl_1_bss_1814[i], 1); + done_cnt++; + } else { + fn_1_86DC(i); + gains[lbl_1_bss_19F0[i]]--; + if(gains[lbl_1_bss_19F0[i]] <= 10) { + time_player[i] = 4; + } else { + if(gains[lbl_1_bss_19F0[i]] <= 20) { + time_player[i] = 3; + } else { + if(gains[lbl_1_bss_19F0[i]] <= 40) { + time_player[i] = 2; + } else { + time_player[i] = 1; + } + } + } + } + } + if(done_cnt == 4) { + break; + } + HuPrcVSleep(); + } + if(gains[4]) { + HuPrcSleep(20); + Hu3DModelRotSet(lbl_1_bss_1A9C[8], 0, -90, 0); + Hu3DModelScaleSet(lbl_1_bss_1A9C[8], 0.8f, 0.8f, 0.8f); + Hu3DMotionSpeedSet(lbl_1_bss_1A9C[8], 2.0f); + for(i=0; i<=40; i++) { + Hu3DModelPosSet(lbl_1_bss_1A9C[8], 500.0f*(1.0f-(i/40.0f)), 0, 100.0f); + HuPrcVSleep(); + } + HuAudFXPlay(828); + Hu3DModelAttrReset(lbl_1_bss_1A9C[10], 0x40000002); + Hu3DModelPosSet(lbl_1_bss_1A9C[10], 0, 0, 200); + for(i=0; i 10) { + Hu3DModelAttrSet(lbl_1_bss_1A9C[8], 1); + } + Center.x = lbl_1_data_8B8[(i/2) & 0x7].x; + Center.y = 330.0f+lbl_1_data_8B8[(i/2) & 0x7].y; + Center.z = lbl_1_data_8B8[(i/2) & 0x7].z; + espPosSet(lbl_1_bss_1A1A[0], 288.0f+lbl_1_data_8B8[(i/2) & 0x7].x, 240.0f-lbl_1_data_8B8[(i/2) & 0x7].y); + HuPrcVSleep(); + } + espPosSet(lbl_1_bss_1A1A[0], 288.0, 240.0); + Center.x = 0; + Center.y = 330; + Center.z = 0; + time_player[0] = 10; + for(i=0; i<4; i++) { + if(lbl_1_bss_172 == lbl_1_bss_19F0[i]) { + break; + } + } + Hu3DParManAttrReset(lbl_1_bss_1814[i], 1); + while(1) { + if(time_player[0] != 0) { + time_player[0]--; + HuPrcVSleep(); + continue; + } + if(gains[4] <= 0){ + Hu3DParManAttrSet(lbl_1_bss_1814[i], 1); + break; + } + fn_1_86DC(i); + gains[4]--; + time_player[0] = 5; + HuPrcVSleep(); + } + Hu3DParManAttrSet(lbl_1_bss_1814[i], 1); + } + fn_1_423C(gains); + gains[lbl_1_bss_172] += gains[4]; + for(i=0; i<4; i++) { + if(gains[lbl_1_bss_19F0[i]]) { + CharModelMotionShiftSet(GWPlayerCfg[lbl_1_bss_19F0[i]].character, lbl_1_bss_1990[lbl_1_bss_19F0[i]][1], 0, 4, 0); + HuAudPlayerVoicePlay(lbl_1_bss_19F0[i], 293); + } else { + CharModelMotionShiftSet(GWPlayerCfg[lbl_1_bss_19F0[i]].character, lbl_1_bss_1990[lbl_1_bss_19F0[i]][2], 0, 4, 0); + } + } + HuPrcSleep(20); + fn_1_7F98(); + HuPrcSleep(120); +} + +void fn_1_7F98(void) +{ + s16 i; + s16 time; + s16 delay; + s16 gains[5]; + Vec pos_3d; + Vec pos_2d; + fn_1_423C(gains); + gains[lbl_1_bss_172] += gains[4]; + for(i=0; i<4; i++) { + fn_1_8338(lbl_1_bss_19E0[i], gains[lbl_1_bss_19F0[i]]); + pos_3d.x = lbl_1_data_7F0[i].x; + if(gains[lbl_1_bss_19F0[i]]) { + pos_3d.y = lbl_1_data_7F0[lbl_1_bss_19E8[i]].y+lbl_1_data_860[GWPlayerCfg[lbl_1_bss_19F0[i]].character]; + } else { + pos_3d.y = lbl_1_data_7F0[lbl_1_bss_19E8[i]].y+lbl_1_data_880[GWPlayerCfg[lbl_1_bss_19F0[i]].character]; + } + pos_3d.z = 0; + Hu3D3Dto2D(&pos_3d, 1, &pos_2d); + HuSprGrpPosSet(lbl_1_bss_19E0[i], pos_2d.x, pos_2d.y); + } + delay = (lbl_1_bss_174) ? 3 : 10; + for(time=0; time<=delay; time++) { + float scale = sin(M_PI*((90.0/delay)*time)/180.0); + for(i=0; i<4; i++) { + HuSprGrpScaleSet(lbl_1_bss_19E0[i], scale, scale); + } + HuPrcVSleep(); + } + for(i=0; i<4; i++) { + HuSprGrpScaleSet(lbl_1_bss_19E0[i], 1.0f, 1.0f); + } +} + +void fn_1_8338(s16 group, s16 value) +{ + s16 digit; + s16 digit_value; + + digit = 2; + digit_value = value/100; + if(digit_value != 0) { + HuSprBankSet(group, digit, digit_value); + HuSprAttrReset(group, digit, 4); + digit++; + } + value -= digit_value*100; + digit_value = value/10; + if(digit_value != 0 || digit == 3) { + HuSprBankSet(group, digit, digit_value); + HuSprAttrReset(group, digit, 4); + digit++; + } + value -= digit_value*10; + HuSprBankSet(group, digit, value); + HuSprAttrReset(group, digit, 4); + digit++; + for(digit_value=digit; digit_value<5; digit_value++) { + HuSprAttrSet(group, digit_value, 4); + } +} + +void fn_1_8484(void) +{ + s16 i; + s16 j; + for(i=0; i<4; i++) { + lbl_1_bss_19E8[i] = GWPlayerCoinWinGet(i); + lbl_1_bss_19F0[i] = i; + } + for(j=1; j<4; j++) { + for(i=0; i<4-j; i++) { + if(lbl_1_bss_19E8[i] > lbl_1_bss_19E8[i+1]) { + s16 temp; + temp = lbl_1_bss_19E8[i]; + lbl_1_bss_19E8[i] = lbl_1_bss_19E8[i+1]; + lbl_1_bss_19E8[i+1] = temp; + temp = lbl_1_bss_19F0[i]; + lbl_1_bss_19F0[i] = lbl_1_bss_19F0[i+1]; + lbl_1_bss_19F0[i+1] = temp; + } + } + } +} + +void fn_1_8998(void); + +void fn_1_8658(void) +{ + s16 i; + Process *process = HuPrcCurrentGet(); + for(i=0; i<180; i++) { + lbl_1_bss_194[i].unk0 = -1; + } + HuPrcChildCreate(fn_1_8998, 100, 8192, 0, process); +} + +void fn_1_86DC(s16 player) +{ + s16 i; + for(i=0; i<180; i++) { + if(lbl_1_bss_194[i].unk0 == -1) { + break; + } + } + if(i == 180) { + return; + } + lbl_1_bss_194[i].unk0 = player; + lbl_1_bss_194[i].unk4.x = lbl_1_data_7F0[player].x; + lbl_1_bss_194[i].unk4.y = 610.0f; + lbl_1_bss_194[i].unk4.z = 0.0f; + lbl_1_bss_194[i].unk2 = lbl_1_bss_19E8[player]; + lbl_1_bss_194[i].unk10.x = frandmod(20)-10.0f; + lbl_1_bss_194[i].unk10.y = frandmod(20)-10.0f; + lbl_1_bss_194[i].unk10.z = 0; + lbl_1_bss_194[i].unk1C = 10.0f; + Hu3DModelAttrReset(lbl_1_bss_1828[i], 1); + Hu3DModelPosSet(lbl_1_bss_1828[i], 0, 100, 0); + Hu3DModelRotSet(lbl_1_bss_1828[i], 0, 0, 0); +} + +void fn_1_8998(void) +{ + s16 i; + ModelData *model_ptr; + s16 player; + while(1) { + for(i=0; i<180; i++) { + if(lbl_1_bss_194[i].unk0 == -1) { + continue; + } + player = lbl_1_bss_194[i].unk0; + model_ptr = &Hu3DData[lbl_1_bss_1828[i]]; + model_ptr->pos = lbl_1_bss_194[i].unk4; + model_ptr->rot.x += lbl_1_bss_194[i].unk10.x; + model_ptr->rot.y += lbl_1_bss_194[i].unk10.y; + lbl_1_bss_194[i].unk4.y -= lbl_1_bss_194[i].unk1C; + lbl_1_bss_194[i].unk1C += 0.2f; + if(lbl_1_bss_194[i].unk4.y < ((3-lbl_1_bss_194[i].unk2)*100)+lbl_1_data_840[GWPlayerCfg[lbl_1_bss_19F0[player]].character]) { + Vec pos; + pos.x = lbl_1_data_7F0[player].x; + pos.y = ((3-lbl_1_bss_194[i].unk2)*100)+lbl_1_data_840[GWPlayerCfg[lbl_1_bss_19F0[player]].character]; + pos.z = 0.0f; + CharModelCoinEffectCreate(1, &pos); + lbl_1_bss_194[i].unk0 = -1; + HuAudFXPlay(7); + Hu3DModelAttrSet(lbl_1_bss_1828[i], 1); + } + } + HuPrcVSleep(); + } + +} + +void fn_1_8CB8(struct model_data *model, Mtx matrix) +{ + s32 sp8 = 0; + GXTexObj tex; + Mtx final; + Mtx inv_camera; + Mtx shadow; + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_DIRECT); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); + GXInitTexObj(&tex, Hu3DShadowData.unk_04, Hu3DShadowData.unk_02, Hu3DShadowData.unk_02, GX_TF_I8, GX_CLAMP, GX_CLAMP, GX_FALSE); + GXInitTexObjLOD(&tex, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1); + GXLoadTexObj(&tex, 0); + MTXInverse(Hu3DCameraMtx, inv_camera); + MTXConcat(inv_camera, matrix, final); + MTXConcat(Hu3DShadowData.unk_68, Hu3DShadowData.unk_38, shadow); + MTXConcat(shadow, final, final); + GXLoadTexMtxImm(final, GX_TEXMTX9, GX_MTX3x4); + GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, GX_TEXMTX9); + GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); + GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_TEXC, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO); + GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_KONST, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); + GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_FALSE, GX_TEVPREV); + GXSetNumTexGens(1); + GXSetNumTevStages(1); + GXSetNumChans(1); + GXSetChanCtrl(GX_COLOR0, GX_TRUE, GX_SRC_REG, GX_SRC_VTX, GX_LIGHT0, GX_DF_CLAMP, GX_AF_NONE); + GXSetBlendMode(GX_BM_BLEND, GX_BL_ZERO, GX_BL_INVDSTCLR, GX_LO_NOOP); + GXSetZMode(GX_TRUE, GX_LEQUAL, GX_FALSE); + GXLoadPosMtxImm(matrix, GX_PNMTX0); + GXBegin(GX_QUADS, GX_VTXFMT0, 4); + GXPosition3f32(-500.0f, 0, -500.0f); + GXPosition3f32(500.0f, 0, -500.0f); + GXPosition3f32(500.0f, 0, 500.0f); + GXPosition3f32(-500.0f, 0, 500.0f); + GXEnd(); +} \ No newline at end of file diff --git a/src/REL/resultDll/main.c b/src/REL/resultDll/main.c index b7839e9f..644809bb 100644 --- a/src/REL/resultDll/main.c +++ b/src/REL/resultDll/main.c @@ -1,4 +1,3 @@ -// include "REL/resultDll/main.h" #include "dolphin.h" #include "rel_sqrt_consts.h" #include "game/object.h" @@ -14,6 +13,9 @@ #include "game/saveload.h" #include "game/gamework.h" #include "game/board/player.h" +#include "game/frand.h" + +#include "math.h" #include "REL/resultdll.h" @@ -83,8 +85,6 @@ void fn_1_888(void); void fn_1_B78(void); void fn_1_1F4C(void); void fn_1_2ADC(void); -void fn_1_3FD8(void); -void fn_1_40DC(void); void fn_1_461C(void); void fn_1_47FC(void); @@ -320,7 +320,6 @@ void fn_1_3B50(s16 group, s16 value); void fn_1_3CAC(s16 group, s16 value); void fn_1_3E08(void); -void fn_1_423C(s16 *data); void fn_1_B78(void) { From 4ceef4d9448c8c347bdd511fdaf45cc9153f9e27 Mon Sep 17 00:00:00 2001 From: gamemasterplc Date: Fri, 5 Apr 2024 22:57:08 -0500 Subject: [PATCH 3/7] Split more minigames --- config/GMPE01_00/rels/m412Dll/splits.txt | 9 ++++++++ config/GMPE01_00/rels/m412Dll/symbols.txt | 2 +- config/GMPE01_00/rels/m413Dll/splits.txt | 9 ++++++++ config/GMPE01_00/rels/m413Dll/symbols.txt | 4 +++- config/GMPE01_00/rels/m414Dll/splits.txt | 9 ++++++++ config/GMPE01_00/rels/m414Dll/symbols.txt | 2 +- config/GMPE01_00/rels/m415Dll/splits.txt | 13 ++++++++++++ config/GMPE01_00/rels/m415Dll/symbols.txt | 6 +++--- configure.py | 25 +++++++++++++++++++++++ 9 files changed, 73 insertions(+), 6 deletions(-) diff --git a/config/GMPE01_00/rels/m412Dll/splits.txt b/config/GMPE01_00/rels/m412Dll/splits.txt index 531cd645..f97394dd 100644 --- a/config/GMPE01_00/rels/m412Dll/splits.txt +++ b/config/GMPE01_00/rels/m412Dll/splits.txt @@ -5,3 +5,12 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/executor.c: + .text start:0x00000000 end:0x000000A0 + +REL/m412Dll/main.c: + .text start:0x000000A0 end:0x0000B660 + .rodata start:0x00000000 end:0x000001CC + .data start:0x00000000 end:0x00000369 + .bss start:0x00000000 end:0x000007A2 diff --git a/config/GMPE01_00/rels/m412Dll/symbols.txt b/config/GMPE01_00/rels/m412Dll/symbols.txt index 4212d668..8dd659e7 100644 --- a/config/GMPE01_00/rels/m412Dll/symbols.txt +++ b/config/GMPE01_00/rels/m412Dll/symbols.txt @@ -1,6 +1,6 @@ _prolog = .text:0x00000000; // type:function size:0x54 scope:global _epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x64C +ModuleProlog = .text:0x000000A0; // type:function size:0x64C fn_1_6EC = .text:0x000006EC; // type:function size:0x50 fn_1_73C = .text:0x0000073C; // type:function size:0x80 fn_1_7BC = .text:0x000007BC; // type:function size:0xD8 diff --git a/config/GMPE01_00/rels/m413Dll/splits.txt b/config/GMPE01_00/rels/m413Dll/splits.txt index 531cd645..77b8fea3 100644 --- a/config/GMPE01_00/rels/m413Dll/splits.txt +++ b/config/GMPE01_00/rels/m413Dll/splits.txt @@ -5,3 +5,12 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/executor.c: + .text start:0x00000000 end:0x000000A0 + +REL/m413Dll/main.c: + .text start:0x000000A0 end:0x0000D764 + .rodata start:0x00000000 end:0x00000A38 + .data start:0x00000000 end:0x00000159 + .bss start:0x00000000 end:0x000078B4 diff --git a/config/GMPE01_00/rels/m413Dll/symbols.txt b/config/GMPE01_00/rels/m413Dll/symbols.txt index 019fba8d..131092fc 100644 --- a/config/GMPE01_00/rels/m413Dll/symbols.txt +++ b/config/GMPE01_00/rels/m413Dll/symbols.txt @@ -18,10 +18,12 @@ fn_1_B6C4 = .text:0x0000B6C4; // type:function size:0x101C fn_1_C6E0 = .text:0x0000C6E0; // type:function size:0x4D4 fn_1_CBB4 = .text:0x0000CBB4; // type:function size:0x78C fn_1_D340 = .text:0x0000D340; // type:function size:0x60 -fn_1_D3A0 = .text:0x0000D3A0; // type:function size:0x360 +ModuleProlog = .text:0x0000D3A0; // type:function size:0x360 fn_1_D700 = .text:0x0000D700; // type:function size:0x64 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte +lbl_1_rodata_0 = .rodata:0x00000000; // type:object size:0x10 data:double +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x38 data:float lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 data:double lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 data:double lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 data:double diff --git a/config/GMPE01_00/rels/m414Dll/splits.txt b/config/GMPE01_00/rels/m414Dll/splits.txt index 531cd645..ee04b874 100644 --- a/config/GMPE01_00/rels/m414Dll/splits.txt +++ b/config/GMPE01_00/rels/m414Dll/splits.txt @@ -5,3 +5,12 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/executor.c: + .text start:0x00000000 end:0x000000A0 + +REL/m414Dll/main.c: + .text start:0x000000A0 end:0x00008EC8 + .rodata start:0x00000000 end:0x00000204 + .data start:0x00000000 end:0x0000013B + .bss start:0x00000000 end:0x00000A14 diff --git a/config/GMPE01_00/rels/m414Dll/symbols.txt b/config/GMPE01_00/rels/m414Dll/symbols.txt index 79f1669a..d1d3b636 100644 --- a/config/GMPE01_00/rels/m414Dll/symbols.txt +++ b/config/GMPE01_00/rels/m414Dll/symbols.txt @@ -1,6 +1,6 @@ _prolog = .text:0x00000000; // type:function size:0x54 scope:global _epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x87C +ModuleProlog = .text:0x000000A0; // type:function size:0x87C fn_1_91C = .text:0x0000091C; // type:function size:0x268 fn_1_B84 = .text:0x00000B84; // type:function size:0x154 fn_1_CD8 = .text:0x00000CD8; // type:function size:0x7C diff --git a/config/GMPE01_00/rels/m415Dll/splits.txt b/config/GMPE01_00/rels/m415Dll/splits.txt index 531cd645..480bfcbb 100644 --- a/config/GMPE01_00/rels/m415Dll/splits.txt +++ b/config/GMPE01_00/rels/m415Dll/splits.txt @@ -5,3 +5,16 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/executor.c: + .text start:0x00000000 end:0x000000A0 + +REL/m415Dll/main.c: + .text start:0x000000A0 end:0x00008780 + .rodata start:0x00000000 end:0x00000208 + .data start:0x00000000 end:0x00000114 + .bss start:0x00000000 end:0x000003B0 + +REL/m415Dll/map.c: + .text start:0x00008780 end:0x0000C85C + .rodata start:0x00000208 end:0x00000268 diff --git a/config/GMPE01_00/rels/m415Dll/symbols.txt b/config/GMPE01_00/rels/m415Dll/symbols.txt index e1777beb..b21ccf37 100644 --- a/config/GMPE01_00/rels/m415Dll/symbols.txt +++ b/config/GMPE01_00/rels/m415Dll/symbols.txt @@ -1,6 +1,6 @@ _prolog = .text:0x00000000; // type:function size:0x54 scope:global _epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x39C +ModuleProlog = .text:0x000000A0; // type:function size:0x39C fn_1_43C = .text:0x0000043C; // type:function size:0x74 fn_1_4B0 = .text:0x000004B0; // type:function size:0x328 fn_1_7D8 = .text:0x000007D8; // type:function size:0xCE8 @@ -204,11 +204,11 @@ lbl_1_data_18 = .data:0x00000018; // type:object size:0x4 lbl_1_data_1C = .data:0x0000001C; // type:object size:0xC lbl_1_data_28 = .data:0x00000028; // type:object size:0xC lbl_1_data_34 = .data:0x00000034; // type:object size:0xC -lbl_1_data_40 = .data:0x00000040; // type:object size:0x24 +lbl_1_data_40 = .data:0x00000040; // type:object size:0x23 data:string lbl_1_data_64 = .data:0x00000064; // type:object size:0x4 data:4byte lbl_1_data_68 = .data:0x00000068; // type:object size:0x7 data:string lbl_1_data_6F = .data:0x0000006F; // type:object size:0x6 data:string -lbl_1_data_75 = .data:0x00000075; // type:object size:0xB +lbl_1_data_75 = .data:0x00000075; // type:object size:0x9 data:string lbl_1_data_80 = .data:0x00000080; // type:object size:0x28 lbl_1_data_A8 = .data:0x000000A8; // type:object size:0x30 lbl_1_data_D8 = .data:0x000000D8; // type:object size:0x8 data:string diff --git a/configure.py b/configure.py index 59909220..cce3b8d3 100644 --- a/configure.py +++ b/configure.py @@ -876,6 +876,31 @@ config.libs = [ Object(NonMatching, "REL/m411Dll/main.c"), } ), + Rel('m412Dll', + objects = { + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m412Dll/main.c"), + } + ), + Rel('m413Dll', + objects = { + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m413Dll/main.c"), + } + ), + Rel('m414Dll', + objects = { + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m414Dll/main.c"), + } + ), + Rel('m415Dll', + objects = { + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m415Dll/main.c"), + Object(NonMatching, "REL/m415Dll/map.c"), + } + ), Rel('m433Dll', objects = { Object(Matching, "REL/executor.c"), From ebb236b6f2499690acf74397aff8f2ce69225ddf Mon Sep 17 00:00:00 2001 From: Rainchus Date: Fri, 5 Apr 2024 23:26:58 -0500 Subject: [PATCH 4/7] use m407 inlines, tidy up code a bit --- src/REL/m407dll/camera.c | 2 +- src/REL/m407dll/effect.c | 8 +- src/REL/m407dll/main.c | 157 ++++++++++++---------------------- src/REL/m407dll/map.c | 6 +- src/REL/m407dll/player.c | 18 ++-- src/REL/m407dll/score.c | 8 +- src/REL/m407dll/whomp_score.c | 26 ++---- src/REL/messDll/main.c | 11 ++- 8 files changed, 91 insertions(+), 145 deletions(-) diff --git a/src/REL/m407dll/camera.c b/src/REL/m407dll/camera.c index a19431d2..72162e07 100644 --- a/src/REL/m407dll/camera.c +++ b/src/REL/m407dll/camera.c @@ -35,7 +35,7 @@ void fn_1_1B1C(Process* arg0) { Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); Hu3DCameraPerspectiveSet(1, 45.0f, 10.0f, 40000.0f, 1.2f); lbl_1_bss_30 = omAddObjEx(lbl_1_bss_34, 0x80, 0U, 0U, -1, fn_1_2024); - lbl_1_bss_30->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x4C, 0x10000000U); + lbl_1_bss_30->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkDominationData2), 0x10000000); unkData = OM_GET_DATA_PTR(lbl_1_bss_30, unkDominationData2); unkData->unk_04 = 0; fn_1_1CAC(0.0f, 0.0f, 0.0f); diff --git a/src/REL/m407dll/effect.c b/src/REL/m407dll/effect.c index e68ed0bd..e29724ac 100644 --- a/src/REL/m407dll/effect.c +++ b/src/REL/m407dll/effect.c @@ -3,8 +3,8 @@ #include "game/object.h" #include "game/hsfmotion.h" #include "game/hsfdraw.h" + //bss -s32 bssPad3; Process* lbl_1_bss_3970; omObjData* lbl_1_bss_37E0[100]; @@ -33,10 +33,8 @@ void fn_1_41CC(Process* arg0) { Process* sp8; u32 i; u32 temp_r30; - lbl_1_bss_3970 = arg0; - temp_r30 = 0; for (i = 0; i < 40; i++) { @@ -146,7 +144,7 @@ void fn_1_46EC(omObjData* arg0) { unkDominationData4* temp_r30; arg0->func = fn_1_4680; - arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x20, 0x10000000); + arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkDominationData4), 0x10000000); temp_r30 = arg0->data; temp_r30->unk_00 = arg0->work[0]; temp_r30->unk_08 = arg0->work[1]; @@ -205,5 +203,3 @@ void fn_1_485C(omObjData* arg0) { temp_r29->unk_1C = 0; } } - -f32 pad3[1] = {0.0f}; \ No newline at end of file diff --git a/src/REL/m407dll/main.c b/src/REL/m407dll/main.c index 99f91349..97e76b3f 100644 --- a/src/REL/m407dll/main.c +++ b/src/REL/m407dll/main.c @@ -5,13 +5,23 @@ #include "game/audio.h" #include "game/hsfman.h" -s32 bssPad2; +#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0])) + +//bss Process* lbl_1_bss_3980; omObjData* lbl_1_bss_397C; s16 lbl_1_bss_3978; -s32 fn_1_4C0(s32 arg0); - +//func signatures +void fn_1_388(u8, s32); +void fn_1_3C4(u8); +s32 fn_1_4C0(s32); +s32 fn_1_508(u8); +s32 fn_1_53C(u8); +void fn_1_568(s16, s16, s16); +void fn_1_4B7C(void); +void fn_1_4C3C(s32); +void fn_1_4C6C(omObjData*); void fn_1_4D0C(void); void fn_1_4D54(void); void fn_1_4E8C(void); @@ -25,13 +35,6 @@ void fn_1_5630(void); s16 fn_1_5804(void); void fn_1_5A80(void); void fn_1_5BB0(void); -void fn_1_4B7C(void); -void fn_1_4C6C(omObjData* obj); -void fn_1_4C3C(s32 arg0); -void fn_1_568(s16 arg0, s16 arg1, s16 arg2); -s32 fn_1_508(u8 arg0); -s32 fn_1_53C(u8 arg0); -void fn_1_3C4(u8 arg0); typedef void (*ObjFuncs)(void); //data @@ -74,7 +77,7 @@ void fn_1_4980(Process* arg0) { lbl_1_bss_3980 = arg0; lbl_1_bss_397C = omAddObjEx(lbl_1_bss_3980, 0x40, 0U, 0U, 0, fn_1_4C6C); - lbl_1_bss_397C->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x48, 0x10000000U); + lbl_1_bss_397C->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkDominationData5), 0x10000000); temp_r31 = lbl_1_bss_397C->data; Hu3DShadowCreate(45.0f, 10.0f, 10000.0f); Hu3DShadowTPLvlSet(0.6f); @@ -96,7 +99,7 @@ void fn_1_4980(Process* arg0) { temp_r31->unk_08 = -1; temp_r31->unk_24 = 0; - for (i = 0; i < 4; i++) { + for (i = 0; i < ARRAY_COUNT(temp_r31->unk_1C); i++) { temp_r31->unk_1C[i] = -1; } @@ -109,7 +112,7 @@ void fn_1_4B7C(void) { temp_r31 = lbl_1_bss_397C->data; if (temp_r31->unk_04 == 0) { - WipeCreate(2, 0, 0x3C); + WipeCreate(2, 0, 60); temp_r31->unk_04++; } if (WipeStatGet() == 0) { @@ -143,15 +146,12 @@ void fn_1_4C3C(s32 arg0) { void fn_1_4C6C(omObjData* obj) { unkDominationData5* temp_r30; - unkDominationData5* temp_r31; temp_r30 = lbl_1_bss_397C->data; lbl_1_data_2A8[temp_r30->unk_00](); if (omSysExitReq != 0) { - temp_r31 = lbl_1_bss_397C->data; - temp_r31->unk_00 = 0xC; - temp_r31->unk_04 = 0; + fn_1_4C3C(12); omSysExitReq = 0; } } @@ -161,9 +161,7 @@ void fn_1_4D0C(void) { unkDominationData5* temp_r31; sp8 = lbl_1_bss_397C->data; - temp_r31 = lbl_1_bss_397C->data; - temp_r31->unk_00 = 1; - temp_r31->unk_04 = 0; + fn_1_4C3C(1); } f32 lbl_1_data_2DC[4] = {850.0f, 900.0f, 1300.0f, 1500.0f}; @@ -182,7 +180,6 @@ f32 lbl_1_data_358 = 1900.0f; void fn_1_4D54(void) { s16 temp_r0; - unkDominationData5* temp_r30; unkDominationData5* temp_r31; temp_r31 = lbl_1_bss_397C->data; @@ -202,9 +199,7 @@ void fn_1_4D54(void) { temp_r31->unk_04 = 3; case 3: if (fn_1_1D88() == 0) { - temp_r30 = lbl_1_bss_397C->data; - temp_r30->unk_00 = 2; - temp_r30->unk_04 = 0; + fn_1_4C3C(2); return; } } @@ -231,17 +226,13 @@ void fn_1_4E8C(void) { temp_r31->unk_10 = 0x258; temp_r31->unk_08 = MGSeqCreate(1, temp_r31->unk_10 / 60, -1, -1); fn_1_1E4(); - temp_r29 = lbl_1_bss_397C->data; - temp_r29->unk_00 = 3; - temp_r29->unk_04 = 0; + fn_1_4C3C(3); } } void fn_1_4FAC(void) { s16 temp_r0; unkDominationData5* temp_r31; - unkDominationData5* temp_r30; - unkDominationData5* temp_r29; temp_r31 = lbl_1_bss_397C->data; if (temp_r31->unk_10 > 0) { @@ -258,23 +249,18 @@ void fn_1_4FAC(void) { fn_1_5804(); if (temp_r31->unk_24 > 0) { - temp_r30 = lbl_1_bss_397C->data; - temp_r30->unk_00 = 4; - temp_r30->unk_04 = 0; + fn_1_4C3C(4); return; } - - temp_r29 = lbl_1_bss_397C->data; - temp_r29->unk_00 = 6; - temp_r29->unk_04 = 0; + + fn_1_4C3C(6); } void fn_1_50E8(void) { unkDominationData5* temp_r31; - unkDominationData5* temp_r30; temp_r31 = lbl_1_bss_397C->data; - switch (temp_r31->unk_04++) { /* irregular */ + switch (temp_r31->unk_04++) { case 0xA: fn_1_1DB0(&lbl_1_data_340, &lbl_1_data_34C, &lbl_1_data_358, 0xB4, 4); return; @@ -290,9 +276,7 @@ void fn_1_50E8(void) { case 0xBE: temp_r31->unk_44 = HuAudSeqPlay(0x3A); fn_1_25C0(); - temp_r30 = lbl_1_bss_397C->data; - temp_r30->unk_00 = 5; - temp_r30->unk_04 = 0; + fn_1_4C3C(5); return; } } @@ -300,115 +284,99 @@ void fn_1_50E8(void) { void fn_1_51E4(void) { Vec sp8; unkDominationData5* temp_r30; - unkDominationData5* temp_r31; temp_r30 = lbl_1_bss_397C->data; - if ((temp_r30->unk_04++ >= 0xF) || (fn_1_2880() != 0)) { + if ((temp_r30->unk_04++ >= 15) || (fn_1_2880() != 0)) { if (fn_1_2880() == 0) { fn_1_1CD4(&sp8.z, &sp8.y, &sp8.x); sp8.x += 33.5f; fn_1_1CAC(sp8.z, sp8.y, sp8.x); return; } - temp_r31 = lbl_1_bss_397C->data; - temp_r31->unk_00 = 6; - temp_r31->unk_04 = 0; + fn_1_4C3C(6); } } void fn_1_52AC(void) { unkDominationData5* temp_r31; - unkDominationData5* temp_r30; - unkDominationData5* temp_r29; temp_r31 = lbl_1_bss_397C->data; if (temp_r31->unk_04 == 0) { temp_r31->unk_06 = MGSeqCreate(3, 1); temp_r31->unk_04++; - HuAudSeqFadeOut(temp_r31->unk_44, 0x64); + HuAudSeqFadeOut(temp_r31->unk_44, 100); } if (MGSeqStatGet(temp_r31->unk_06) == 0) { MGSeqKill(temp_r31->unk_06); temp_r31->unk_06 = -1; + if (temp_r31->unk_08 != 0) { MGSeqKill(temp_r31->unk_08); temp_r31->unk_08 = -1; } + if (temp_r31->unk_24 > 0) { - temp_r30 = lbl_1_bss_397C->data; - temp_r30->unk_00 = 7; - temp_r30->unk_04 = 0; + fn_1_4C3C(7); return; } - temp_r29 = lbl_1_bss_397C->data; - temp_r29->unk_00 = 0xA; - temp_r29->unk_04 = 0; + fn_1_4C3C(10); } } void fn_1_53B8(void) { s32 i; unkDominationData5* temp_r31; - unkDominationData5* temp_r29; - unkDominationData5* temp_r28; temp_r31 = lbl_1_bss_397C->data; if (temp_r31->unk_04 == 0) { - fn_1_1DB0(&temp_r31->unk_28, &temp_r31->unk_34, &temp_r31->unk_40, 0x3C, 4); + fn_1_1DB0(&temp_r31->unk_28, &temp_r31->unk_34, &temp_r31->unk_40, 60, 4); temp_r31->unk_04++; for (i = 0; i < 4; i++) { - if ((fn_1_508(i) == 0) && (fn_1_28B8(i) >= 0x64)) { - GWGameStat.present[0x38] = 1; + if ((fn_1_508(i) == 0) && (fn_1_28B8(i) >= 100)) { + GWGameStat.present[56] = 1; } } } - if (temp_r31->unk_04 == 0x28) { + + if (temp_r31->unk_04 == 40) { fn_1_404(); for (i = 0; i < temp_r31->unk_24; i++) { fn_1_2770(temp_r31->unk_1C[i]); fn_1_568(temp_r31->unk_1C[i], 2, 60); } } - if (temp_r31->unk_04 == 0x46) { + + if (temp_r31->unk_04 == 70) { for (i = 0; i < temp_r31->unk_24; i++) { if (!(fn_1_508(temp_r31->unk_1C[i])) && (lbl_1_bss_3978 < fn_1_28D4())) { - temp_r29 = lbl_1_bss_397C->data; - temp_r29->unk_00 = 8; - temp_r29->unk_04 = 0; + fn_1_4C3C(8); return; } } - temp_r28 = lbl_1_bss_397C->data; - temp_r28->unk_00 = 9; - temp_r28->unk_04 = 0; + fn_1_4C3C(9); } else { temp_r31->unk_04++; } - } void fn_1_5574(void) { unkDominationData5* temp_r31; - unkDominationData5* temp_r30; temp_r31 = lbl_1_bss_397C->data; if (temp_r31->unk_04 == 0) { GWMGRecordSet(1, fn_1_28D4()); - temp_r31->unk_06 = MGSeqCreate(0xE, fn_1_28D4()); + temp_r31->unk_06 = MGSeqCreate(14, fn_1_28D4()); fn_1_5F40(1); temp_r31->unk_04++; return; } if (MGSeqStatGet(temp_r31->unk_06) == 0) { - temp_r30 = lbl_1_bss_397C->data; - temp_r30->unk_00 = 9; - temp_r30->unk_04 = 0; + fn_1_4C3C(9); } } void fn_1_5630(void) { unkDominationData5* temp_r31; - unkDominationData5* temp_r29; s32 temp_r28; s16 temp_r27; s32 temp_r26; @@ -434,16 +402,15 @@ void fn_1_5630(void) { temp_r22 = fn_1_4C0(temp_r31->unk_1C[2]); temp_r23 = fn_1_4C0(temp_r31->unk_1C[1]); temp_r31->unk_06 = MGSeqCreate(5, 3, fn_1_4C0(temp_r31->unk_1C[0]), temp_r23, temp_r22, temp_r21); - for (i = 0; i < 4; i++) { + for (i = 0; i < ARRAY_COUNT(temp_r31->unk_1C); i++) { if (temp_r31->unk_1C[i] != -1) { - fn_1_3C4(temp_r31->unk_1C[i]); temp_r26 = temp_r31->unk_1C[i]; coins = GWPlayer[temp_r26].coin_win; coins2 = coins; - temp_r27 = coins2 + 0xA; + temp_r27 = coins2 + 10; temp_r28 = temp_r31->unk_1C[i]; - if (_CheckFlag(0x1000CU) == 0) { + if (_CheckFlag(0x1000C) == 0) { GWPlayer[temp_r28].coin_win = temp_r27; } } @@ -452,12 +419,10 @@ void fn_1_5630(void) { } } - if (temp_r31->unk_04++ >= 0xD2) { + if (temp_r31->unk_04++ >= 210) { MGSeqKill(temp_r31->unk_06); temp_r31->unk_06 = -1; - temp_r29 = lbl_1_bss_397C->data; - temp_r29->unk_00 = 0xC; - temp_r29->unk_04 = 0; + fn_1_4C3C(12); } } @@ -470,7 +435,6 @@ s16 fn_1_5804(void) { s32 i; s32 var_r27; s32 var_r26; - s32 var_r30; unkDominationData5* temp_r31; @@ -491,7 +455,7 @@ s16 fn_1_5804(void) { if (var_r29 == temp_r28) { if (var_r29 > 0) { temp_r31->unk_1C[temp_r31->unk_24++] = i; - fn_1_388((u8) i, 1); + fn_1_388(i, 1); } if (var_r27 == 0) { var_r27 = 1; @@ -501,12 +465,14 @@ s16 fn_1_5804(void) { var_f30 = 400.0f * i; } } else { - fn_1_388((u8) i, 2); + fn_1_388(i, 2); } } + if (var_r26 == 0) { var_f30 = var_f31; } + temp_r31->unk_28.x = (600.0f - (0.5f * (var_f30 + var_f31))); temp_r31->unk_28.y = 250.0f; temp_r31->unk_28.z = (200.0f * ((s16) var_r29 + 2)); @@ -525,26 +491,23 @@ void fn_1_5A80(void) { f32 sp8; s16 temp_r0; s16 temp_r3; - unkDominationData5* temp_r30; unkDominationData5* temp_r31; sp8 = 1420.0f; temp_r31 = lbl_1_bss_397C->data; switch (temp_r31->unk_04++) { - case 0x0: + case 0: MGSeqKill(temp_r31->unk_08); temp_r31->unk_08 = -1; fn_1_1DB0(&sp18, &spC, &sp8, 0x78, 4); return; - case 0xA: + case 10: fn_1_5F40(0); fn_1_28C(); return; - case 0x78: + case 120: fn_1_404(); - temp_r30 = lbl_1_bss_397C->data; - temp_r30->unk_00 = 9; - temp_r30->unk_04 = 0; + fn_1_4C3C(9); return; /* fallthrough */ case 0x3C: @@ -554,7 +517,6 @@ void fn_1_5A80(void) { } void fn_1_5BB0(void) { - unkDominationData5* temp_r30; unkDominationData5* temp_r31; temp_r31 = lbl_1_bss_397C->data; @@ -565,11 +527,6 @@ void fn_1_5BB0(void) { if (MGSeqStatGet(temp_r31->unk_06) == 0) { MGSeqKill(temp_r31->unk_06); temp_r31->unk_06 = -1; - temp_r30 = lbl_1_bss_397C->data; - temp_r30->unk_00 = 0xC; - temp_r30->unk_04 = 0; + fn_1_4C3C(12); } } - -f32 pad4[1] = {0.0f}; -const f32 pad5 = 0.0f; \ No newline at end of file diff --git a/src/REL/m407dll/map.c b/src/REL/m407dll/map.c index 0ef5208c..61e85f02 100644 --- a/src/REL/m407dll/map.c +++ b/src/REL/m407dll/map.c @@ -3,6 +3,8 @@ #include "game/gamework_data.h" #include "game/hsfman.h" +#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0])) + void fn_1_162C(omObjData*); void fn_1_1A8C(omObjData*); @@ -39,8 +41,6 @@ Point3d lbl_1_data_208 = {-0.5f, -0.5f, -0.5f}; GXColor lbl_1_data_214 = {255, 255, 255, 255}; Point3d lbl_1_data_218 = {0.0f, 1.0f, 0.0f}; -f32 pad[1] = {0.0f}; - void fn_1_14F0(Process* arg0, s32 arg1) { LightData* sp10; @@ -76,7 +76,7 @@ void fn_1_162C(omObjData* arg0) { arg0->model[1] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_198[3], 0x10000000, HEAP_DATA)); Hu3DModelAmbSet(arg0->model[1], 1.0f, 1.0f, 1.0f); Hu3DModelAttrSet(arg0->model[1], 1U); - for (i = 0; i < 4; i++) { + for (i = 0; i < ARRAY_COUNT(GWPlayerCfg); i++) { arg0->model[i+2] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_198[GWPlayerCfg[i].character + 4], 0x10000000, HEAP_DATA)); Hu3DModelAmbSet(arg0->model[i + 2], 1.0f, 1.0f, 1.0f); Hu3DModelShadowMapSet(arg0->model[i + 2]); diff --git a/src/REL/m407dll/player.c b/src/REL/m407dll/player.c index c907f00d..5a7aef94 100644 --- a/src/REL/m407dll/player.c +++ b/src/REL/m407dll/player.c @@ -7,6 +7,8 @@ #include "game/hsfman.h" #include "rel_sqrt_consts.h" +#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0])) + //structs typedef struct unkDominationData { u8 unk_00; @@ -30,7 +32,6 @@ typedef struct unkDominationData { s32 unk_38; } unkDominationData; -s32 pad_20; Process* lbl_1_bss_18; omObjData* lbl_1_bss_8[4]; Process* lbl_1_bss_0[2]; @@ -265,7 +266,7 @@ void fn_1_64C(omObjData* arg0) { u32 i; arg0->func = fn_1_A1C; - arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x3C, 0x10000000U); + arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkDominationData), 0x10000000); temp_r31 = arg0->data; temp_r29 = arg0->work[0]; temp_r31->unk_00 = temp_r29; @@ -285,7 +286,7 @@ void fn_1_64C(omObjData* arg0) { Hu3DModelAmbSet(arg0->model[0], 1.0f, 1.0f, 1.0f); Hu3DModelAmbSet(arg0->model[1], 1.0f, 1.0f, 1.0f); - for (i = 0; i < 8; i++) { + for (i = 0; i < ARRAY_COUNT(lbl_1_data_0); i++) { arg0->motion[i] = CharModelMotionCreate(temp_r31->unk_01, lbl_1_data_0[temp_r31->unk_01].unk_00[i]); } @@ -339,7 +340,7 @@ void fn_1_A8C(omObjData* arg0) { var_r29 = (HuPadBtnDown[temp_r31->unk_0C] & 0x100) ? 1 : 0; } else if ((u32) temp_r31->unk_28 >= (u32) temp_r31->unk_2C) { var_r29 = 1; - temp_r31->unk_2C = (f32) (temp_r31->unk_2C + temp_r31->unk_30); + temp_r31->unk_2C += temp_r31->unk_30; } if (var_r29 != 0) { @@ -405,7 +406,7 @@ void fn_1_DB4(omObjData* arg0) { } temp_r31->unk_14 = 30.0f; - CharModelMotionShiftSet((s16) temp_r31->unk_01, arg0->motion[4], 0.0f, 10.0f, 0U); + CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[4], 0.0f, 10.0f, 0); SetDominationDataStuff(arg0, 0, 0); } @@ -421,7 +422,7 @@ void fn_1_F8C(omObjData* arg0) { HuAudFXPlay(lbl_1_rodata_70[temp_r31->unk_01]); } - if (temp_r31->unk_20++ >= 0x78) { + if (temp_r31->unk_20++ >= 120) { CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[0], 0.0f, 10.0f, 0x40000001); SetDominationDataStuff(arg0, 0, 0); } @@ -431,10 +432,9 @@ void fn_1_1074(omObjData* arg0) { unkDominationData* temp_r31; temp_r31 = arg0->data; - if (temp_r31->unk_20 == 0) { CharModelVoiceEnableSet(temp_r31->unk_01, arg0->motion[3], 0); - CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[3], 0.0f, 10.0f, 0U); + CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[3], 0.0f, 10.0f, 0); temp_r31->unk_24 = 0.0f; temp_r31->unk_20 = 1; } @@ -471,7 +471,7 @@ void fn_1_11CC(omObjData* arg0) { CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[4], 0.0f, 10.0f, 0); temp = fn_1_28E4(temp_r31->unk_00); //can remove \0 after matching whole rel likely - Hu3DModelHookSet(temp, "itemhook_c\0", arg0->model[0]); + Hu3DModelHookSet(temp, "itemhook_c", arg0->model[0]); temp_r31->unk_10 = 0.0f; temp_r31->unk_14 = 0.0f; temp_r31->unk_18 = 0.0f; diff --git a/src/REL/m407dll/score.c b/src/REL/m407dll/score.c index 5d0ebd84..97258bb7 100644 --- a/src/REL/m407dll/score.c +++ b/src/REL/m407dll/score.c @@ -2,6 +2,8 @@ #include "game/object.h" #include "game/esprite.h" +#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0])) + typedef struct unkDominationData6 { /* 0x00 */ s32 unk_00; /* 0x04 */ s32 unk_04; @@ -39,7 +41,7 @@ void fn_1_5C5C(Process* arg0, s16 arg1) { lbl_1_bss_398C = arg0; lbl_1_bss_3988 = omAddObjEx(lbl_1_bss_398C, 0x800, 0U, 0U, 7, fn_1_5FE4); - lbl_1_bss_3988->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x24, 0x10000000U); + lbl_1_bss_3988->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkDominationData6), 0x10000000); temp_r31 = lbl_1_bss_3988->data; temp_r31->unk_08 = arg1; temp_r31->unk_0A = 0; @@ -130,7 +132,7 @@ void fn_1_61A0(void) { temp_r31 = lbl_1_bss_3988->data; if (temp_r31->unk_04 == 0) { - for (i = 0; i < 8; i++) { + for (i = 0; i < ARRAY_COUNT(temp_r31->unk_0C); i++) { espDispOff(temp_r31->unk_0C[i]); } temp_r31->unk_04++; @@ -144,7 +146,7 @@ void fn_1_6218(void) { temp_r31 = lbl_1_bss_3988->data; if (temp_r31->unk_04 == 0) { - for (i = 0; i < 8; i++) { + for (i = 0; i < ARRAY_COUNT(temp_r31->unk_0C); i++) { espDispOn(temp_r31->unk_0C[i]); } temp_r31->unk_04++; diff --git a/src/REL/m407dll/whomp_score.c b/src/REL/m407dll/whomp_score.c index 7b00cf63..28b76729 100644 --- a/src/REL/m407dll/whomp_score.c +++ b/src/REL/m407dll/whomp_score.c @@ -12,7 +12,7 @@ void fn_1_3FF0(omObjData*); void fn_1_3FF4(omObjData* arg0); void fn_1_40F4(omObjData* arg0); -s32 bssPad; +//bss Process* lbl_1_bss_37D8; omObjData* lbl_1_bss_37C8[4]; @@ -56,7 +56,7 @@ void fn_1_3BB8(s16 arg0, f32 arg8, f32 arg9) { Vec sp14; unkDominationData3* temp_r31; u32 i; - s16 temp;; + s16 temp; for (i = 0; i < ARRAY_COUNT(lbl_1_bss_37C8); i++) { obj = lbl_1_bss_37C8[i]; @@ -100,11 +100,10 @@ void fn_1_3D4C(omObjData* arg0) { } void fn_1_3E34(omObjData* arg0) { - unkDominationData3* temp_r29; unkDominationData3* temp_r31; arg0->func = fn_1_3D4C; - arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x24, 0x10000000U); + arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkDominationData3), 0x10000000); temp_r31 = arg0->data; temp_r31->unk_00 = arg0->work[0]; temp_r31->unk_14 = 0; @@ -120,9 +119,7 @@ void fn_1_3E34(omObjData* arg0) { espScaleSet(temp_r31->unk_18[0], 1.8f, 1.8f); temp_r31->unk_08.x = (f32) 0.0f; temp_r31->unk_08.y = (f32) 0.0f; - temp_r29 = arg0->data; - temp_r29->unk_04 = 0; - temp_r29->unk_14 = 0; + fn_1_3D28(arg0, 0); } void fn_1_3F7C(omObjData* arg0) { @@ -145,7 +142,6 @@ void fn_1_3FF0(omObjData* arg0) { } void fn_1_3FF4(omObjData* arg0) { - unkDominationData3* temp_r30; unkDominationData3* temp_r31; temp_r31 = arg0->data; @@ -164,18 +160,16 @@ void fn_1_3FF4(omObjData* arg0) { temp_r31->unk_20 += 0.1f; } - if (temp_r31->unk_14++ >= 0x3C) { - temp_r30 = arg0->data; - temp_r30->unk_04 = 2; - temp_r30->unk_14 = 0; + if (temp_r31->unk_14++ >= 60) { + fn_1_3D28(arg0, 2); } } void fn_1_40F4(omObjData* arg0) { - unkDominationData3* temp_r30; unkDominationData3* temp_r31; temp_r31 = arg0->data; + if (temp_r31->unk_20 > 0.0f) { espTPLvlSet(temp_r31->unk_18[0], temp_r31->unk_20); espTPLvlSet(temp_r31->unk_18[1], temp_r31->unk_20); @@ -184,13 +178,11 @@ void fn_1_40F4(omObjData* arg0) { temp_r31->unk_20 -= 0.05; return; } + espDispOff(temp_r31->unk_18[0]); espDispOff(temp_r31->unk_18[1]); espDispOff(temp_r31->unk_18[2]); espDispOff(temp_r31->unk_18[3]); - temp_r30 = arg0->data; - temp_r30->unk_04 = 0; - temp_r30->unk_14 = 0; + fn_1_3D28(arg0, 0); } -f32 pad2[1] = {0.0f}; diff --git a/src/REL/messDll/main.c b/src/REL/messDll/main.c index a3381d0c..5ef28622 100755 --- a/src/REL/messDll/main.c +++ b/src/REL/messDll/main.c @@ -268,8 +268,7 @@ static char *lbl_1_data_440[] = { static s32 fn_1_11B0(s16 arg0, s16 arg1) { WindowData *temp_r30; - float sp10; - float spC; + float spC[2]; s32 temp_r28; s32 var_r27; s32 var_r26; @@ -288,11 +287,11 @@ static s32 fn_1_11B0(s16 arg0, s16 arg1) { for (i = 0; i < 8; i++) { HuWinInsertMesSizeGet(MAKE_MESSID_PTR(lbl_1_data_440[i]), (s16) i); } - HuWinMesMaxSizeGet(1, &spC, temp_r28); - if (spC <= 16.0f) { - spC = 32.0f; + HuWinMesMaxSizeGet(1, &spC[0], temp_r28); + if (spC[0] <= 16.0f) { + spC[0] = 32.0f; } - lbl_1_data_410 = HuWinCreate(-10000.0f, -10000.0f, spC, sp10, 0); + lbl_1_data_410 = HuWinCreate(-10000.0f, -10000.0f, spC[0], spC[1], 0); for (i = 0; i < 8; i++) { HuWinInsertMesSet(lbl_1_data_410, MAKE_MESSID_PTR(lbl_1_data_440[i]), (s16) i); } From 56cfa0740af869ca1ec0129ef24c3f9fc5cfc617 Mon Sep 17 00:00:00 2001 From: gamemasterplc Date: Fri, 5 Apr 2024 23:33:32 -0500 Subject: [PATCH 5/7] Clean up fn_1_5630 match --- src/REL/m407dll/main.c | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/src/REL/m407dll/main.c b/src/REL/m407dll/main.c index 97e76b3f..6051b4fd 100644 --- a/src/REL/m407dll/main.c +++ b/src/REL/m407dll/main.c @@ -377,14 +377,6 @@ void fn_1_5574(void) { void fn_1_5630(void) { unkDominationData5* temp_r31; - s32 temp_r28; - s16 temp_r27; - s32 temp_r26; - s32 coins; - s32 coins2; - s32 temp_r23; - s32 temp_r22; - s32 temp_r21; s32 i; temp_r31 = lbl_1_bss_397C->data; @@ -398,21 +390,11 @@ void fn_1_5630(void) { temp_r31->unk_06 = MGSeqCreate(3, 2); HuAudSStreamPlay(4); } else { - temp_r21 = fn_1_4C0(temp_r31->unk_1C[3]); - temp_r22 = fn_1_4C0(temp_r31->unk_1C[2]); - temp_r23 = fn_1_4C0(temp_r31->unk_1C[1]); - temp_r31->unk_06 = MGSeqCreate(5, 3, fn_1_4C0(temp_r31->unk_1C[0]), temp_r23, temp_r22, temp_r21); + temp_r31->unk_06 = MGSeqCreate(5, 3, fn_1_4C0(temp_r31->unk_1C[0]), fn_1_4C0(temp_r31->unk_1C[1]), fn_1_4C0(temp_r31->unk_1C[2]), fn_1_4C0(temp_r31->unk_1C[3])); for (i = 0; i < ARRAY_COUNT(temp_r31->unk_1C); i++) { if (temp_r31->unk_1C[i] != -1) { fn_1_3C4(temp_r31->unk_1C[i]); - temp_r26 = temp_r31->unk_1C[i]; - coins = GWPlayer[temp_r26].coin_win; - coins2 = coins; - temp_r27 = coins2 + 10; - temp_r28 = temp_r31->unk_1C[i]; - if (_CheckFlag(0x1000C) == 0) { - GWPlayer[temp_r28].coin_win = temp_r27; - } + GWPlayerCoinWinSet(temp_r31->unk_1C[i], GWPlayerCoinWinGet(temp_r31->unk_1C[i])+10); } } HuAudSStreamPlay(1); From 85a22ee7e0d0fbf8107d1154033fd648391dfd74 Mon Sep 17 00:00:00 2001 From: gamemasterplc Date: Sat, 6 Apr 2024 09:07:25 -0500 Subject: [PATCH 6/7] Split 1 vs 3 minigames --- config/GMPE01_00/rels/m416Dll/splits.txt | 15 ++++++ config/GMPE01_00/rels/m416Dll/symbols.txt | 15 +++--- config/GMPE01_00/rels/m417Dll/splits.txt | 25 +++++++++ config/GMPE01_00/rels/m417Dll/symbols.txt | 9 ++-- config/GMPE01_00/rels/m418Dll/splits.txt | 10 ++++ config/GMPE01_00/rels/m418Dll/symbols.txt | 3 +- config/GMPE01_00/rels/m419Dll/splits.txt | 9 ++++ config/GMPE01_00/rels/m419Dll/symbols.txt | 2 +- config/GMPE01_00/rels/m420dll/splits.txt | 24 +++++++++ config/GMPE01_00/rels/m420dll/symbols.txt | 15 +++--- config/GMPE01_00/rels/m421Dll/splits.txt | 20 +++++++ config/GMPE01_00/rels/m421Dll/symbols.txt | 11 ++-- config/GMPE01_00/rels/m422Dll/splits.txt | 9 ++++ config/GMPE01_00/rels/m422Dll/symbols.txt | 4 +- config/GMPE01_00/rels/m423Dll/splits.txt | 9 ++++ config/GMPE01_00/rels/m423Dll/symbols.txt | 10 ++-- config/GMPE01_00/rels/m424Dll/splits.txt | 26 +++++++++ config/GMPE01_00/rels/m424Dll/symbols.txt | 16 +++--- configure.py | 66 +++++++++++++++++++++++ 19 files changed, 259 insertions(+), 39 deletions(-) diff --git a/config/GMPE01_00/rels/m416Dll/splits.txt b/config/GMPE01_00/rels/m416Dll/splits.txt index 531cd645..0307a340 100644 --- a/config/GMPE01_00/rels/m416Dll/splits.txt +++ b/config/GMPE01_00/rels/m416Dll/splits.txt @@ -5,3 +5,18 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/executor.c: + .text start:0x00000000 end:0x000000A0 + +REL/m416Dll/main.c: + .text start:0x000000A0 end:0x000079D0 + .rodata start:0x00000000 end:0x000001B8 + .data start:0x00000000 end:0x00000268 + .bss start:0x00000000 end:0x00000968 + +REL/m416Dll/map.c: + .text start:0x000079D0 end:0x00009028 + .rodata start:0x000001B8 end:0x00000238 + .data start:0x00000268 end:0x000002EC + .bss start:0x00000968 end:0x00001190 diff --git a/config/GMPE01_00/rels/m416Dll/symbols.txt b/config/GMPE01_00/rels/m416Dll/symbols.txt index 6b6bdfe8..82eaee67 100644 --- a/config/GMPE01_00/rels/m416Dll/symbols.txt +++ b/config/GMPE01_00/rels/m416Dll/symbols.txt @@ -1,6 +1,6 @@ _prolog = .text:0x00000000; // type:function size:0x54 scope:global _epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x3B8 +ModuleProlog = .text:0x000000A0; // type:function size:0x3B8 fn_1_458 = .text:0x00000458; // type:function size:0xA4 fn_1_4FC = .text:0x000004FC; // type:function size:0xCEC fn_1_11E8 = .text:0x000011E8; // type:function size:0x58 @@ -159,23 +159,24 @@ lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0x38 data:float lbl_1_data_38 = .data:0x00000038; // type:object size:0x1 data:byte lbl_1_data_3C = .data:0x0000003C; // type:object size:0x1 data:byte -lbl_1_data_40 = .data:0x00000040; // type:object size:0x24 +lbl_1_data_40 = .data:0x00000040; // type:object size:0x23 data:string lbl_1_data_64 = .data:0x00000064; // type:object size:0x4 data:4byte jumptable_1_data_68 = .data:0x00000068; // type:object size:0x2C scope:local lbl_1_data_94 = .data:0x00000094; // type:object size:0x1C data:string lbl_1_data_B0 = .data:0x000000B0; // type:object size:0x40 -lbl_1_data_F0 = .data:0x000000F0; // type:object size:0x1C +lbl_1_data_F0 = .data:0x000000F0; // type:object size:0x19 data:string lbl_1_data_10C = .data:0x0000010C; // type:object size:0x48 lbl_1_data_154 = .data:0x00000154; // type:object size:0x24 -lbl_1_data_178 = .data:0x00000178; // type:object size:0x8 +lbl_1_data_178 = .data:0x00000178; // type:object size:0x5 data:string lbl_1_data_180 = .data:0x00000180; // type:object size:0x18 lbl_1_data_198 = .data:0x00000198; // type:object size:0x30 lbl_1_data_1C8 = .data:0x000001C8; // type:object size:0x20 lbl_1_data_1E8 = .data:0x000001E8; // type:object size:0xC data:4byte lbl_1_data_1F4 = .data:0x000001F4; // type:object size:0x24 -lbl_1_data_218 = .data:0x00000218; // type:object size:0x48 +lbl_1_data_218 = .data:0x00000218; // type:object size:0x24 +lbl_1_data_23C = .data:0x0000023C; // type:object size:0x24 lbl_1_data_260 = .data:0x00000260; // type:object size:0x8 data:float -lbl_1_data_268 = .data:0x00000268; // type:object size:0x1 data:byte +lbl_1_data_268 = .data:0x00000268; // type:object size:0x4 data:byte lbl_1_data_26C = .data:0x0000026C; // type:object size:0x60 data:float lbl_1_data_2CC = .data:0x000002CC; // type:object size:0x18 lbl_1_data_2E4 = .data:0x000002E4; // type:object size:0x8 @@ -197,7 +198,7 @@ lbl_1_bss_950 = .bss:0x00000950; // type:object size:0x4 data:4byte lbl_1_bss_954 = .bss:0x00000954; // type:object size:0x4 data:4byte lbl_1_bss_958 = .bss:0x00000958; // type:object size:0x4 data:4byte lbl_1_bss_95C = .bss:0x0000095C; // type:object size:0x2 data:2byte -lbl_1_bss_960 = .bss:0x00000960; // type:object size:0x8 data:4byte +lbl_1_bss_960 = .bss:0x00000960; // type:object size:0x4 data:4byte lbl_1_bss_968 = .bss:0x00000968; // type:object size:0x800 data:2byte lbl_1_bss_1168 = .bss:0x00001168; // type:object size:0x2 data:2byte lbl_1_bss_116C = .bss:0x0000116C; // type:object size:0x8 data:float diff --git a/config/GMPE01_00/rels/m417Dll/splits.txt b/config/GMPE01_00/rels/m417Dll/splits.txt index 531cd645..8f137131 100644 --- a/config/GMPE01_00/rels/m417Dll/splits.txt +++ b/config/GMPE01_00/rels/m417Dll/splits.txt @@ -5,3 +5,28 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/executor.c: + .text start:0x00000000 end:0x000000A0 + +REL/m417Dll/main.c: + .text start:0x000000A0 end:0x00003274 + .rodata start:0x00000000 end:0x000000B8 + .data start:0x00000000 end:0x00000050 + .bss start:0x00000000 end:0x00000028 + +REL/m417Dll/water.c: + .text start:0x00003274 end:0x00007A34 + .rodata start:0x000000B8 end:0x00000298 + .data start:0x00000050 end:0x00000090 + .bss start:0x00000028 end:0x00000880 + +REL/m417Dll/player.c: + .text start:0x00007A34 end:0x0000BCAC + .rodata start:0x00000298 end:0x000004D8 + .data start:0x00000090 end:0x000001F0 + .bss start:0x00000880 end:0x000008B0 + +REL/m417Dll/sequence.c: + .text start:0x0000BCAC end:0x0000C87C + .rodata start:0x000004D8 end:0x00000598 diff --git a/config/GMPE01_00/rels/m417Dll/symbols.txt b/config/GMPE01_00/rels/m417Dll/symbols.txt index 944d6d8e..bc93f364 100644 --- a/config/GMPE01_00/rels/m417Dll/symbols.txt +++ b/config/GMPE01_00/rels/m417Dll/symbols.txt @@ -1,6 +1,6 @@ _prolog = .text:0x00000000; // type:function size:0x54 scope:global _epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x438 +ModuleProlog = .text:0x000000A0; // type:function size:0x438 fn_1_4D8 = .text:0x000004D8; // type:function size:0xD8 fn_1_5B0 = .text:0x000005B0; // type:function size:0x250 fn_1_800 = .text:0x00000800; // type:function size:0x190 @@ -338,7 +338,7 @@ lbl_1_data_18 = .data:0x00000018; // type:object size:0xC data:float lbl_1_data_24 = .data:0x00000024; // type:object size:0x4 lbl_1_data_28 = .data:0x00000028; // type:object size:0xC data:float lbl_1_data_34 = .data:0x00000034; // type:object size:0xC data:float -lbl_1_data_40 = .data:0x00000040; // type:object size:0x10 data:float +lbl_1_data_40 = .data:0x00000040; // type:object size:0xC data:float lbl_1_data_50 = .data:0x00000050; // type:object size:0x40 lbl_1_data_90 = .data:0x00000090; // type:object size:0x84 lbl_1_data_114 = .data:0x00000114; // type:object size:0xDC @@ -350,14 +350,15 @@ lbl_1_bss_12 = .bss:0x00000012; // type:object size:0x2 data:2byte lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x2 data:2byte lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte -lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x38 data:4byte +lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:4byte +lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x30 data:4byte lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x2 data:2byte lbl_1_bss_5C = .bss:0x0000005C; // type:object size:0x4 data:4byte lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x4 data:4byte lbl_1_bss_64 = .bss:0x00000064; // type:object size:0x4 data:4byte lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x110 data:float lbl_1_bss_178 = .bss:0x00000178; // type:object size:0x700 data:4byte -lbl_1_bss_878 = .bss:0x00000878; // type:object size:0x8 data:4byte +lbl_1_bss_878 = .bss:0x00000878; // type:object size:0x4 data:4byte lbl_1_bss_880 = .bss:0x00000880; // type:object size:0x4 data:4byte lbl_1_bss_884 = .bss:0x00000884; // type:object size:0x4 data:4byte lbl_1_bss_888 = .bss:0x00000888; // type:object size:0x10 diff --git a/config/GMPE01_00/rels/m418Dll/splits.txt b/config/GMPE01_00/rels/m418Dll/splits.txt index 531cd645..4fec9312 100644 --- a/config/GMPE01_00/rels/m418Dll/splits.txt +++ b/config/GMPE01_00/rels/m418Dll/splits.txt @@ -5,3 +5,13 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/m418Dll/main.c: + .text start:0x00000000 end:0x0000A920 + .rodata start:0x00000000 end:0x000002F0 + .data start:0x00000000 end:0x000004CC + .bss start:0x00000000 end:0x00000430 + +REL/m418Dll/sequence.c: + .text start:0x0000A920 end:0x0000E2D8 + .rodata start:0x000002F0 end:0x00000340 diff --git a/config/GMPE01_00/rels/m418Dll/symbols.txt b/config/GMPE01_00/rels/m418Dll/symbols.txt index 964068e3..6d5e96a3 100644 --- a/config/GMPE01_00/rels/m418Dll/symbols.txt +++ b/config/GMPE01_00/rels/m418Dll/symbols.txt @@ -272,7 +272,8 @@ lbl_1_data_180 = .data:0x00000180; // type:object size:0x12 data:string lbl_1_data_192 = .data:0x00000192; // type:object size:0x15 data:string lbl_1_data_1A7 = .data:0x000001A7; // type:object size:0x19 data:string lbl_1_data_1C0 = .data:0x000001C0; // type:object size:0x20 -lbl_1_data_1E0 = .data:0x000001E0; // type:object size:0x60 +lbl_1_data_1E0 = .data:0x000001E0; // type:object size:0x20 +lbl_1_data_200 = .data:0x00000200; // type:object size:0x40 lbl_1_data_240 = .data:0x00000240; // type:object size:0x24 lbl_1_data_264 = .data:0x00000264; // type:object size:0x30 lbl_1_data_294 = .data:0x00000294; // type:object size:0x24 diff --git a/config/GMPE01_00/rels/m419Dll/splits.txt b/config/GMPE01_00/rels/m419Dll/splits.txt index 531cd645..3fc77fae 100644 --- a/config/GMPE01_00/rels/m419Dll/splits.txt +++ b/config/GMPE01_00/rels/m419Dll/splits.txt @@ -5,3 +5,12 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/executor.c: + .text start:0x00000000 end:0x000000A0 + +REL/m419Dll/main.c: + .text start:0x000000A0 end:0x000108E0 + .rodata start:0x00000000 end:0x0000022C + .data start:0x00000000 end:0x000000C7 + .bss start:0x00000000 end:0x000005C4 diff --git a/config/GMPE01_00/rels/m419Dll/symbols.txt b/config/GMPE01_00/rels/m419Dll/symbols.txt index 7b1b3da9..81dc2a21 100644 --- a/config/GMPE01_00/rels/m419Dll/symbols.txt +++ b/config/GMPE01_00/rels/m419Dll/symbols.txt @@ -1,6 +1,6 @@ _prolog = .text:0x00000000; // type:function size:0x54 scope:global _epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x400 +ModuleProlog = .text:0x000000A0; // type:function size:0x400 fn_1_4A0 = .text:0x000004A0; // type:function size:0xDC fn_1_57C = .text:0x0000057C; // type:function size:0x2CC fn_1_848 = .text:0x00000848; // type:function size:0x288 diff --git a/config/GMPE01_00/rels/m420dll/splits.txt b/config/GMPE01_00/rels/m420dll/splits.txt index 531cd645..eb2fc2b9 100644 --- a/config/GMPE01_00/rels/m420dll/splits.txt +++ b/config/GMPE01_00/rels/m420dll/splits.txt @@ -5,3 +5,27 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/executor.c: + .text start:0x00000000 end:0x000000A0 + +REL/m420dll/main.c: + .text start:0x000000A0 end:0x00001B8C + .rodata start:0x00000000 end:0x000000F8 + .data start:0x00000000 end:0x00000050 + .bss start:0x00000000 end:0x000000B0 + +REL/m420dll/player.c: + .text start:0x00001B8C end:0x00004964 + .rodata start:0x000000F8 end:0x00000360 + .data start:0x00000050 end:0x00000138 + +REL/m420dll/map.c: + .text start:0x00004964 end:0x00008934 + .rodata start:0x00000360 end:0x00000570 + .data start:0x00000138 end:0x00000171 + .bss start:0x000000B0 end:0x00000A48 + +REL/m420dll/rand.c: + .text start:0x00008934 end:0x00008978 + .bss start:0x00000A48 end:0x00000A4C diff --git a/config/GMPE01_00/rels/m420dll/symbols.txt b/config/GMPE01_00/rels/m420dll/symbols.txt index dcca974e..6b768699 100644 --- a/config/GMPE01_00/rels/m420dll/symbols.txt +++ b/config/GMPE01_00/rels/m420dll/symbols.txt @@ -1,6 +1,6 @@ _prolog = .text:0x00000000; // type:function size:0x54 scope:global _epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x78 +ModuleProlog = .text:0x000000A0; // type:function size:0x78 fn_1_118 = .text:0x00000118; // type:function size:0x80 fn_1_198 = .text:0x00000198; // type:function size:0x23C fn_1_3D4 = .text:0x000003D4; // type:function size:0x68 @@ -203,12 +203,12 @@ lbl_1_rodata_564 = .rodata:0x00000564; // type:object size:0x4 data:float lbl_1_rodata_568 = .rodata:0x00000568; // type:object size:0x8 data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0x1E data:string lbl_1_data_1E = .data:0x0000001E; // type:object size:0x1E data:string -lbl_1_data_3C = .data:0x0000003C; // type:object size:0x14 +lbl_1_data_3C = .data:0x0000003C; // type:object size:0x11 lbl_1_data_50 = .data:0x00000050; // type:object size:0x80 -lbl_1_data_D0 = .data:0x000000D0; // type:object size:0x1C +lbl_1_data_D0 = .data:0x000000D0; // type:object size:0x1B data:string lbl_1_data_EC = .data:0x000000EC; // type:object size:0x30 lbl_1_data_11C = .data:0x0000011C; // type:object size:0x19 data:string -lbl_1_data_135 = .data:0x00000135; // type:object size:0x3 +lbl_1_data_135 = .data:0x00000135; // type:object size:0x1 lbl_1_data_138 = .data:0x00000138; // type:object size:0x1C lbl_1_data_154 = .data:0x00000154; // type:object size:0x10 data:4byte lbl_1_data_164 = .data:0x00000164; // type:object size:0xD data:string @@ -220,7 +220,8 @@ lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x2 data:2byte lbl_1_bss_12 = .bss:0x00000012; // type:object size:0x2 data:2byte lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x2 data:2byte lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x10 data:4byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x8 data:4byte +lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 data:4byte +lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x4 data:4byte lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:float lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 data:float lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x4 data:float @@ -233,7 +234,7 @@ lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x4 data:4byte lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x1C data:4byte lbl_1_bss_70 = .bss:0x00000070; // type:object size:0x1C data:float lbl_1_bss_8C = .bss:0x0000008C; // type:object size:0x1C data:float -lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x8 data:4byte +lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x4 data:4byte lbl_1_bss_B0 = .bss:0x000000B0; // type:object size:0x4 data:4byte lbl_1_bss_B4 = .bss:0x000000B4; // type:object size:0x4 data:4byte lbl_1_bss_B8 = .bss:0x000000B8; // type:object size:0x4 data:4byte @@ -245,5 +246,5 @@ lbl_1_bss_9F0 = .bss:0x000009F0; // type:object size:0x38 data:2byte lbl_1_bss_A28 = .bss:0x00000A28; // type:object size:0x4 data:4byte lbl_1_bss_A2C = .bss:0x00000A2C; // type:object size:0x10 data:4byte lbl_1_bss_A3C = .bss:0x00000A3C; // type:object size:0x4 data:4byte -lbl_1_bss_A40 = .bss:0x00000A40; // type:object size:0x8 data:4byte +lbl_1_bss_A40 = .bss:0x00000A40; // type:object size:0x4 data:4byte lbl_1_bss_A48 = .bss:0x00000A48; // type:object size:0x4 data:4byte diff --git a/config/GMPE01_00/rels/m421Dll/splits.txt b/config/GMPE01_00/rels/m421Dll/splits.txt index 531cd645..3b883ca1 100644 --- a/config/GMPE01_00/rels/m421Dll/splits.txt +++ b/config/GMPE01_00/rels/m421Dll/splits.txt @@ -5,3 +5,23 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/executor.c: + .text start:0x00000000 end:0x000000A0 + +REL/m421Dll/main.c: + .text start:0x000000A0 end:0x00004648 + .rodata start:0x00000000 end:0x00000178 + .data start:0x00000000 end:0x000000D8 + .bss start:0x00000000 end:0x00000030 + +REL/m421Dll/player.c: + .text start:0x00004648 end:0x0000B15C + .rodata start:0x00000178 end:0x000003D0 + .data start:0x000000D8 end:0x000002F4 + .bss start:0x00000030 end:0x00000058 + +REL/m421Dll/map.c: + .text start:0x0000B15C end:0x0000B3DC + .rodata start:0x000003D0 end:0x000003D4 + .bss start:0x00000058 end:0x0000005C diff --git a/config/GMPE01_00/rels/m421Dll/symbols.txt b/config/GMPE01_00/rels/m421Dll/symbols.txt index c704e2c9..65960f62 100644 --- a/config/GMPE01_00/rels/m421Dll/symbols.txt +++ b/config/GMPE01_00/rels/m421Dll/symbols.txt @@ -1,6 +1,6 @@ _prolog = .text:0x00000000; // type:function size:0x54 scope:global _epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x400 +ModuleProlog = .text:0x000000A0; // type:function size:0x400 fn_1_4A0 = .text:0x000004A0; // type:function size:0xD8 fn_1_578 = .text:0x00000578; // type:function size:0x20C fn_1_784 = .text:0x00000784; // type:function size:0x134 @@ -240,10 +240,11 @@ lbl_1_data_40 = .data:0x00000040; // type:object size:0xC data:float lbl_1_data_4C = .data:0x0000004C; // type:object size:0x24 lbl_1_data_70 = .data:0x00000070; // type:object size:0x24 lbl_1_data_94 = .data:0x00000094; // type:object size:0xC -lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x1 data:byte +lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x4 data:byte lbl_1_data_A4 = .data:0x000000A4; // type:object size:0x1A data:string -lbl_1_data_BE = .data:0x000000BE; // type:object size:0x1A -lbl_1_data_D8 = .data:0x000000D8; // type:object size:0x2C +lbl_1_data_BE = .data:0x000000BE; // type:object size:0x19 data:string +lbl_1_data_D8 = .data:0x000000D8; // type:object size:0xB data:string +lbl_1_data_E4 = .data:0x000000E4; // type:object size:0x20 lbl_1_data_104 = .data:0x00000104; // type:object size:0x60 lbl_1_data_164 = .data:0x00000164; // type:object size:0x20 lbl_1_data_184 = .data:0x00000184; // type:object size:0x20 @@ -269,7 +270,7 @@ lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x2 data:2byte lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x4 data:4byte lbl_1_bss_24 = .bss:0x00000024; // type:object size:0x4 data:4byte -lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x8 data:4byte +lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x4 data:4byte lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:4byte lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x10 lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x4 data:4byte diff --git a/config/GMPE01_00/rels/m422Dll/splits.txt b/config/GMPE01_00/rels/m422Dll/splits.txt index 531cd645..293cd00a 100644 --- a/config/GMPE01_00/rels/m422Dll/splits.txt +++ b/config/GMPE01_00/rels/m422Dll/splits.txt @@ -5,3 +5,12 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/executor.c: + .text start:0x00000000 end:0x000000A0 + +REL/m422Dll/main.c: + .text start:0x000000A0 end:0x0000B52C + .rodata start:0x00000000 end:0x000007AC + .data start:0x00000000 end:0x0000195C + .bss start:0x00000000 end:0x000001C4 diff --git a/config/GMPE01_00/rels/m422Dll/symbols.txt b/config/GMPE01_00/rels/m422Dll/symbols.txt index 804db144..8982eb2e 100644 --- a/config/GMPE01_00/rels/m422Dll/symbols.txt +++ b/config/GMPE01_00/rels/m422Dll/symbols.txt @@ -9,7 +9,7 @@ fn_1_9410 = .text:0x00009410; // type:function size:0x4F0 fn_1_9900 = .text:0x00009900; // type:function size:0x134C fn_1_AC4C = .text:0x0000AC4C; // type:function size:0x3B8 fn_1_B004 = .text:0x0000B004; // type:function size:0x54 -fn_1_B058 = .text:0x0000B058; // type:function size:0x428 +ModuleProlog = .text:0x0000B058; // type:function size:0x428 fn_1_B480 = .text:0x0000B480; // type:function size:0xAC _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte @@ -192,7 +192,7 @@ lbl_1_rodata_768 = .rodata:0x00000768; // type:object size:0x4 data:float lbl_1_rodata_76C = .rodata:0x0000076C; // type:object size:0x10 data:4byte lbl_1_rodata_77C = .rodata:0x0000077C; // type:object size:0xC data:4byte lbl_1_rodata_788 = .rodata:0x00000788; // type:object size:0xC data:4byte -lbl_1_rodata_794 = .rodata:0x00000794; // type:object size:0x1 data:byte +lbl_1_rodata_794 = .rodata:0x00000794; // type:object size:0x4 data:byte lbl_1_rodata_798 = .rodata:0x00000798; // type:object size:0x4 data:float lbl_1_rodata_79C = .rodata:0x0000079C; // type:object size:0x4 data:float lbl_1_rodata_7A0 = .rodata:0x000007A0; // type:object size:0x4 data:float diff --git a/config/GMPE01_00/rels/m423Dll/splits.txt b/config/GMPE01_00/rels/m423Dll/splits.txt index 531cd645..172e6d3f 100644 --- a/config/GMPE01_00/rels/m423Dll/splits.txt +++ b/config/GMPE01_00/rels/m423Dll/splits.txt @@ -5,3 +5,12 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/executor.c: + .text start:0x00000000 end:0x000000A0 + +REL/m423Dll/main.c: + .text start:0x000000A0 end:0x00013F50 + .rodata start:0x00000000 end:0x00000348 + .data start:0x00000000 end:0x0000091A + .bss start:0x00000000 end:0x00000124 diff --git a/config/GMPE01_00/rels/m423Dll/symbols.txt b/config/GMPE01_00/rels/m423Dll/symbols.txt index 5450a16f..44d2ba2e 100644 --- a/config/GMPE01_00/rels/m423Dll/symbols.txt +++ b/config/GMPE01_00/rels/m423Dll/symbols.txt @@ -1,6 +1,6 @@ _prolog = .text:0x00000000; // type:function size:0x54 scope:global _epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x278 +ModuleProlog = .text:0x000000A0; // type:function size:0x278 fn_1_318 = .text:0x00000318; // type:function size:0x98 fn_1_3B0 = .text:0x000003B0; // type:function size:0xA4C fn_1_DFC = .text:0x00000DFC; // type:function size:0x64 @@ -288,11 +288,11 @@ lbl_1_data_310 = .data:0x00000310; // type:object size:0x1 data:byte lbl_1_data_314 = .data:0x00000314; // type:object size:0x20 data:4byte lbl_1_data_334 = .data:0x00000334; // type:object size:0x30 lbl_1_data_364 = .data:0x00000364; // type:object size:0x24 -lbl_1_data_388 = .data:0x00000388; // type:object size:0x1 data:byte +lbl_1_data_388 = .data:0x00000388; // type:object size:0x4 data:byte lbl_1_data_38C = .data:0x0000038C; // type:object size:0x1F data:string -lbl_1_data_3AB = .data:0x000003AB; // type:object size:0x1 data:byte -lbl_1_data_3AF = .data:0x000003AF; // type:object size:0x1 data:byte -lbl_1_data_3B3 = .data:0x000003B3; // type:object size:0x5 data:byte +lbl_1_data_3AB = .data:0x000003AB; // type:object size:0x4 data:byte +lbl_1_data_3AF = .data:0x000003AF; // type:object size:0x4 data:byte +lbl_1_data_3B3 = .data:0x000003B3; // type:object size:0x4 data:byte lbl_1_data_3B8 = .data:0x000003B8; // type:object size:0xF0 lbl_1_data_4A8 = .data:0x000004A8; // type:object size:0x54 lbl_1_data_4FC = .data:0x000004FC; // type:object size:0xC diff --git a/config/GMPE01_00/rels/m424Dll/splits.txt b/config/GMPE01_00/rels/m424Dll/splits.txt index 531cd645..464ddcb7 100644 --- a/config/GMPE01_00/rels/m424Dll/splits.txt +++ b/config/GMPE01_00/rels/m424Dll/splits.txt @@ -5,3 +5,29 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/executor.c: + .text start:0x00000000 end:0x000000A0 + +REL/m424Dll/main.c: + .text start:0x000000A0 end:0x00001AB8 + .rodata start:0x00000000 end:0x00000090 + .data start:0x00000000 end:0x00000150 + .bss start:0x00000000 end:0x00000050 + +REL/m424Dll/map.c: + .text start:0x00001AB8 end:0x00002720 + .rodata start:0x00000090 end:0x000000F8 + .bss start:0x00000050 end:0x00000058 + +REL/m424Dll/ball.c: + .text start:0x00002720 end:0x000093F0 + .rodata start:0x000000F8 end:0x00000218 + .data start:0x00000150 end:0x000001E0 + .bss start:0x00000058 end:0x00000640 + +REL/m424Dll/claw.c: + .text start:0x000093F0 end:0x0000D074 + .rodata start:0x00000218 end:0x00000310 + .data start:0x000001E0 end:0x000003CA + .bss start:0x00000640 end:0x000006E0 diff --git a/config/GMPE01_00/rels/m424Dll/symbols.txt b/config/GMPE01_00/rels/m424Dll/symbols.txt index cd7eab29..b5d92d3a 100644 --- a/config/GMPE01_00/rels/m424Dll/symbols.txt +++ b/config/GMPE01_00/rels/m424Dll/symbols.txt @@ -1,6 +1,6 @@ _prolog = .text:0x00000000; // type:function size:0x54 scope:global _epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x1C4 +ModuleProlog = .text:0x000000A0; // type:function size:0x1C4 fn_1_264 = .text:0x00000264; // type:function size:0x1B8 fn_1_41C = .text:0x0000041C; // type:function size:0xAC4 fn_1_EE0 = .text:0x00000EE0; // type:function size:0x60 @@ -258,7 +258,7 @@ lbl_1_data_0 = .data:0x00000000; // type:object size:0x54 data:float lbl_1_data_54 = .data:0x00000054; // type:object size:0xC lbl_1_data_60 = .data:0x00000060; // type:object size:0xC lbl_1_data_6C = .data:0x0000006C; // type:object size:0xC -lbl_1_data_78 = .data:0x00000078; // type:object size:0x24 +lbl_1_data_78 = .data:0x00000078; // type:object size:0x23 data:string lbl_1_data_9C = .data:0x0000009C; // type:object size:0xC lbl_1_data_A8 = .data:0x000000A8; // type:object size:0xC lbl_1_data_B4 = .data:0x000000B4; // type:object size:0x4 @@ -266,10 +266,12 @@ jumptable_1_data_B8 = .data:0x000000B8; // type:object size:0x28 scope:local lbl_1_data_E0 = .data:0x000000E0; // type:object size:0xC lbl_1_data_EC = .data:0x000000EC; // type:object size:0xC lbl_1_data_F8 = .data:0x000000F8; // type:object size:0xC -lbl_1_data_104 = .data:0x00000104; // type:object size:0x4C -lbl_1_data_150 = .data:0x00000150; // type:object size:0x5C +lbl_1_data_104 = .data:0x00000104; // type:object size:0x7 data:string +lbl_1_data_10C = .data:0x0000010C; // type:object size:0x44 +lbl_1_data_150 = .data:0x00000150; // type:object size:0x2C +lbl_1_data_17C = .data:0x0000017C; // type:object size:0x30 jumptable_1_data_1AC = .data:0x000001AC; // type:object size:0x2C scope:local -lbl_1_data_1D8 = .data:0x000001D8; // type:object size:0x8 data:4byte +lbl_1_data_1D8 = .data:0x000001D8; // type:object size:0x4 data:4byte lbl_1_data_1E0 = .data:0x000001E0; // type:object size:0x30 data:float lbl_1_data_210 = .data:0x00000210; // type:object size:0xC data:float lbl_1_data_21C = .data:0x0000021C; // type:object size:0xC0 @@ -278,7 +280,7 @@ lbl_1_data_2E8 = .data:0x000002E8; // type:object size:0x24 lbl_1_data_30C = .data:0x0000030C; // type:object size:0xC data:4byte lbl_1_data_318 = .data:0x00000318; // type:object size:0x6 data:string lbl_1_data_31E = .data:0x0000031E; // type:object size:0x6 data:string -lbl_1_data_324 = .data:0x00000324; // type:object size:0x8 +lbl_1_data_324 = .data:0x00000324; // type:object size:0x6 data:string jumptable_1_data_32C = .data:0x0000032C; // type:object size:0x40 scope:local lbl_1_data_36C = .data:0x0000036C; // type:object size:0x20 lbl_1_data_38C = .data:0x0000038C; // type:object size:0x20 @@ -305,7 +307,7 @@ lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x8 data:byte lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x534 data:4byte lbl_1_bss_594 = .bss:0x00000594; // type:object size:0x18 lbl_1_bss_5AC = .bss:0x000005AC; // type:object size:0x10 data:4byte -lbl_1_bss_5BC = .bss:0x000005BC; // type:object size:0x84 +lbl_1_bss_5BC = .bss:0x000005BC; // type:object size:0x80 lbl_1_bss_640 = .bss:0x00000640; // type:object size:0x80 data:4byte lbl_1_bss_6C0 = .bss:0x000006C0; // type:object size:0x4 data:4byte lbl_1_bss_6C4 = .bss:0x000006C4; // type:object size:0x4 data:4byte diff --git a/configure.py b/configure.py index cce3b8d3..29d2bbf6 100644 --- a/configure.py +++ b/configure.py @@ -901,6 +901,72 @@ config.libs = [ Object(NonMatching, "REL/m415Dll/map.c"), } ), + Rel('m416Dll', + objects = { + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m416Dll/main.c"), + Object(NonMatching, "REL/m416Dll/map.c"), + } + ), + Rel('m417Dll', + objects = { + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m417Dll/main.c"), + Object(NonMatching, "REL/m417Dll/water.c"), + Object(NonMatching, "REL/m417Dll/player.c"), + Object(NonMatching, "REL/m417Dll/sequence.c"), + } + ), + Rel('m418Dll', + objects = { + Object(NonMatching, "REL/m418Dll/main.c"), + Object(NonMatching, "REL/m418Dll/sequence.c"), + } + ), + Rel('m419Dll', + objects = { + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m419Dll/main.c"), + } + ), + Rel('m420dll', + objects = { + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m420dll/main.c"), + Object(NonMatching, "REL/m420dll/player.c"), + Object(NonMatching, "REL/m420dll/map.c"), + Object(NonMatching, "REL/m420dll/rand.c"), + } + ), + Rel('m421Dll', + objects = { + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m421Dll/main.c"), + Object(NonMatching, "REL/m421Dll/player.c"), + Object(NonMatching, "REL/m421Dll/map.c"), + } + ), + Rel('m422Dll', + objects = { + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m422Dll/main.c"), + } + ), + Rel('m423Dll', + objects = { + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m423Dll/main.c"), + } + ), + Rel('m424Dll', + objects = { + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m424Dll/main.c"), + Object(NonMatching, "REL/m424Dll/map.c"), + Object(NonMatching, "REL/m424Dll/ball.c"), + Object(NonMatching, "REL/m424Dll/claw.c"), + } + ), Rel('m433Dll', objects = { Object(Matching, "REL/executor.c"), From c5605b383480dd4815de15d362358fd8fef47590 Mon Sep 17 00:00:00 2001 From: gamemasterplc Date: Sat, 6 Apr 2024 11:28:13 -0500 Subject: [PATCH 7/7] Split 2 vs 2 minigames --- config/GMPE01_00/rels/m425Dll/splits.txt | 15 ++++++ config/GMPE01_00/rels/m425Dll/symbols.txt | 13 ++--- config/GMPE01_00/rels/m426Dll/splits.txt | 9 ++++ config/GMPE01_00/rels/m426Dll/symbols.txt | 9 ++-- config/GMPE01_00/rels/m427Dll/splits.txt | 21 ++++++++ config/GMPE01_00/rels/m427Dll/symbols.txt | 25 ++++----- config/GMPE01_00/rels/m428Dll/splits.txt | 21 ++++++++ config/GMPE01_00/rels/m428Dll/symbols.txt | 9 ++-- config/GMPE01_00/rels/m429Dll/splits.txt | 6 +++ config/GMPE01_00/rels/m429Dll/symbols.txt | 4 +- config/GMPE01_00/rels/m430Dll/splits.txt | 21 ++++++++ config/GMPE01_00/rels/m430Dll/symbols.txt | 10 ++-- config/GMPE01_00/rels/m431Dll/splits.txt | 15 ++++++ config/GMPE01_00/rels/m431Dll/symbols.txt | 8 +-- config/GMPE01_00/rels/m432Dll/splits.txt | 6 +++ config/GMPE01_00/rels/m432Dll/symbols.txt | 4 +- config/GMPE01_00/rels/m434Dll/splits.txt | 27 ++++++++++ config/GMPE01_00/rels/m434Dll/symbols.txt | 26 ++++++---- configure.py | 63 +++++++++++++++++++++++ 19 files changed, 262 insertions(+), 50 deletions(-) diff --git a/config/GMPE01_00/rels/m425Dll/splits.txt b/config/GMPE01_00/rels/m425Dll/splits.txt index 531cd645..59a0607d 100644 --- a/config/GMPE01_00/rels/m425Dll/splits.txt +++ b/config/GMPE01_00/rels/m425Dll/splits.txt @@ -5,3 +5,18 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/executor.c: + .text start:0x00000000 end:0x000000A0 + +REL/m425Dll/main.c: + .text start:0x000000A0 end:0x00006A0C + .rodata start:0x00000000 end:0x000003B0 + .data start:0x00000000 end:0x00000118 + .bss start:0x00000000 end:0x00000670 + +REL/m425Dll/thwomp.c: + .text start:0x00006A0C end:0x00012694 + .rodata start:0x000003B0 end:0x00000500 + .data start:0x00000118 end:0x000001EC + .bss start:0x00000670 end:0x000006F4 diff --git a/config/GMPE01_00/rels/m425Dll/symbols.txt b/config/GMPE01_00/rels/m425Dll/symbols.txt index 05f71975..42f3f3da 100644 --- a/config/GMPE01_00/rels/m425Dll/symbols.txt +++ b/config/GMPE01_00/rels/m425Dll/symbols.txt @@ -1,6 +1,6 @@ _prolog = .text:0x00000000; // type:function size:0x54 scope:global _epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x3C0 +ModuleProlog = .text:0x000000A0; // type:function size:0x3C0 fn_1_460 = .text:0x00000460; // type:function size:0x20 fn_1_480 = .text:0x00000480; // type:function size:0x464 fn_1_8E4 = .text:0x000008E4; // type:function size:0x664 @@ -253,9 +253,10 @@ lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 data:float lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0x2 data:2byte lbl_1_data_4 = .data:0x00000004; // type:object size:0xC -lbl_1_data_10 = .data:0x00000010; // type:object size:0x30 +lbl_1_data_10 = .data:0x00000010; // type:object size:0xC +lbl_1_data_1C = .data:0x0000001C; // type:object size:0x24 lbl_1_data_40 = .data:0x00000040; // type:object size:0x4 -lbl_1_data_44 = .data:0x00000044; // type:object size:0x24 +lbl_1_data_44 = .data:0x00000044; // type:object size:0x23 data:string lbl_1_data_68 = .data:0x00000068; // type:object size:0x4 data:4byte lbl_1_data_6C = .data:0x0000006C; // type:object size:0x28 lbl_1_data_94 = .data:0x00000094; // type:object size:0x30 @@ -263,9 +264,9 @@ jumptable_1_data_C4 = .data:0x000000C4; // type:object size:0x28 scope:local jumptable_1_data_EC = .data:0x000000EC; // type:object size:0x28 scope:local lbl_1_data_114 = .data:0x00000114; // type:object size:0x4 data:4byte lbl_1_data_118 = .data:0x00000118; // type:object size:0x18 -lbl_1_data_130 = .data:0x00000130; // type:object size:0x20 +lbl_1_data_130 = .data:0x00000130; // type:object size:0x1F data:string lbl_1_data_150 = .data:0x00000150; // type:object size:0x18 -lbl_1_data_168 = .data:0x00000168; // type:object size:0x1 data:byte +lbl_1_data_168 = .data:0x00000168; // type:object size:0x4 data:byte lbl_1_data_16C = .data:0x0000016C; // type:object size:0x30 lbl_1_data_19C = .data:0x0000019C; // type:object size:0x30 lbl_1_data_1CC = .data:0x000001CC; // type:object size:0x20 @@ -282,7 +283,7 @@ lbl_1_bss_64C = .bss:0x0000064C; // type:object size:0x10 lbl_1_bss_65C = .bss:0x0000065C; // type:object size:0x4 data:4byte lbl_1_bss_660 = .bss:0x00000660; // type:object size:0x4 data:4byte lbl_1_bss_664 = .bss:0x00000664; // type:object size:0x4 data:4byte -lbl_1_bss_668 = .bss:0x00000668; // type:object size:0x8 data:4byte +lbl_1_bss_668 = .bss:0x00000668; // type:object size:0x4 data:4byte lbl_1_bss_670 = .bss:0x00000670; // type:object size:0xC data:float lbl_1_bss_67C = .bss:0x0000067C; // type:object size:0xC data:float lbl_1_bss_688 = .bss:0x00000688; // type:object size:0x40 diff --git a/config/GMPE01_00/rels/m426Dll/splits.txt b/config/GMPE01_00/rels/m426Dll/splits.txt index 531cd645..f2fa84c1 100644 --- a/config/GMPE01_00/rels/m426Dll/splits.txt +++ b/config/GMPE01_00/rels/m426Dll/splits.txt @@ -5,3 +5,12 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/executor.c: + .text start:0x00000000 end:0x000000A0 + +REL/m426Dll/main.c: + .text start:0x000000A0 end:0x00009A88 + .rodata start:0x00000000 end:0x000001D4 + .data start:0x00000000 end:0x00000368 + .bss start:0x00000000 end:0x0000009C diff --git a/config/GMPE01_00/rels/m426Dll/symbols.txt b/config/GMPE01_00/rels/m426Dll/symbols.txt index 6fe9d2c0..7c827cfa 100644 --- a/config/GMPE01_00/rels/m426Dll/symbols.txt +++ b/config/GMPE01_00/rels/m426Dll/symbols.txt @@ -1,6 +1,6 @@ _prolog = .text:0x00000000; // type:function size:0x54 scope:global _epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x16C +ModuleProlog = .text:0x000000A0; // type:function size:0x16C fn_1_20C = .text:0x0000020C; // type:function size:0x124 fn_1_330 = .text:0x00000330; // type:function size:0xA88 fn_1_DB8 = .text:0x00000DB8; // type:function size:0x60 @@ -167,15 +167,16 @@ lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:byte lbl_1_data_0 = .data:0x00000000; // type:object size:0x30 lbl_1_data_30 = .data:0x00000030; // type:object size:0xC lbl_1_data_3C = .data:0x0000003C; // type:object size:0xC -lbl_1_data_48 = .data:0x00000048; // type:object size:0x1 data:byte +lbl_1_data_48 = .data:0x00000048; // type:object size:0x4 data:byte lbl_1_data_4C = .data:0x0000004C; // type:object size:0x54 data:float lbl_1_data_A0 = .data:0x000000A0; // type:object size:0xC lbl_1_data_AC = .data:0x000000AC; // type:object size:0xC lbl_1_data_B8 = .data:0x000000B8; // type:object size:0xC -lbl_1_data_C4 = .data:0x000000C4; // type:object size:0x24 +lbl_1_data_C4 = .data:0x000000C4; // type:object size:0x23 data:string jumptable_1_data_E8 = .data:0x000000E8; // type:object size:0x24 scope:local lbl_1_data_10C = .data:0x0000010C; // type:object size:0x4 -lbl_1_data_110 = .data:0x00000110; // type:object size:0x60 data:4byte +lbl_1_data_110 = .data:0x00000110; // type:object size:0x40 data:4byte +lbl_1_data_150 = .data:0x00000150; // type:object size:0x20 data:4byte lbl_1_data_170 = .data:0x00000170; // type:object size:0x60 lbl_1_data_1D0 = .data:0x000001D0; // type:object size:0x8 jumptable_1_data_1D8 = .data:0x000001D8; // type:object size:0x28 scope:local diff --git a/config/GMPE01_00/rels/m427Dll/splits.txt b/config/GMPE01_00/rels/m427Dll/splits.txt index 531cd645..a25324c8 100644 --- a/config/GMPE01_00/rels/m427Dll/splits.txt +++ b/config/GMPE01_00/rels/m427Dll/splits.txt @@ -5,3 +5,24 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/executor.c: + .text start:0x00000000 end:0x000000A0 + +REL/m427Dll/main.c: + .text start:0x000000A0 end:0x000032F4 + .rodata start:0x00000000 end:0x000000D8 + .data start:0x00000000 end:0x000000E8 + .bss start:0x00000000 end:0x00000090 + +REL/m427Dll/map.c: + .text start:0x000032F4 end:0x0000E98C + .rodata start:0x000000D8 end:0x00000388 + .data start:0x000000E8 end:0x00000260 + .bss start:0x00000090 end:0x00000550 + +REL/m427Dll/player.c: + .text start:0x0000E98C end:0x000174D4 + .rodata start:0x00000388 end:0x000004A0 + .data start:0x00000260 end:0x00000654 + .bss start:0x00000550 end:0x00000598 diff --git a/config/GMPE01_00/rels/m427Dll/symbols.txt b/config/GMPE01_00/rels/m427Dll/symbols.txt index 0ce6699f..531de390 100644 --- a/config/GMPE01_00/rels/m427Dll/symbols.txt +++ b/config/GMPE01_00/rels/m427Dll/symbols.txt @@ -1,6 +1,6 @@ _prolog = .text:0x00000000; // type:function size:0x54 scope:global _epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x1FC +ModuleProlog = .text:0x000000A0; // type:function size:0x1FC fn_1_29C = .text:0x0000029C; // type:function size:0x64 fn_1_300 = .text:0x00000300; // type:function size:0x1364 fn_1_1664 = .text:0x00001664; // type:function size:0x60 @@ -281,15 +281,15 @@ lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 data:float lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 data:float lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 data:float lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x1 data:byte -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x1 data:byte +lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 data:byte +lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 data:byte lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 data:float lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 data:float lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 data:float lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 data:float lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x1 data:byte -lbl_1_rodata_38A = .rodata:0x0000038A; // type:object size:0x1 data:byte +lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x2 data:byte +lbl_1_rodata_38A = .rodata:0x0000038A; // type:object size:0x2 data:byte lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 data:float lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 data:float lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 data:float @@ -347,13 +347,14 @@ lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x8 data:double lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x8 data:double lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x8 data:double lbl_1_data_0 = .data:0x00000000; // type:object size:0x70 data:float -lbl_1_data_70 = .data:0x00000070; // type:object size:0x24 +lbl_1_data_70 = .data:0x00000070; // type:object size:0x23 data:string jumptable_1_data_94 = .data:0x00000094; // type:object size:0x3C scope:local lbl_1_data_D0 = .data:0x000000D0; // type:object size:0x8 lbl_1_data_D8 = .data:0x000000D8; // type:object size:0x4 lbl_1_data_DC = .data:0x000000DC; // type:object size:0x4 -lbl_1_data_E0 = .data:0x000000E0; // type:object size:0xC data:2byte -lbl_1_data_EC = .data:0x000000EC; // type:object size:0x8 +lbl_1_data_E0 = .data:0x000000E0; // type:object size:0x4 data:2byte +lbl_1_data_E8 = .data:0x000000E8; // type:object size:0x4 data:2byte +lbl_1_data_EC = .data:0x000000EC; // type:object size:0x5 data:string lbl_1_data_F4 = .data:0x000000F4; // type:object size:0x4 data:float lbl_1_data_F8 = .data:0x000000F8; // type:object size:0x4 data:float lbl_1_data_FC = .data:0x000000FC; // type:object size:0x30 @@ -367,7 +368,7 @@ lbl_1_data_1EC = .data:0x000001EC; // type:object size:0x4 lbl_1_data_1F0 = .data:0x000001F0; // type:object size:0x13 data:string lbl_1_data_203 = .data:0x00000203; // type:object size:0x10 data:string lbl_1_data_213 = .data:0x00000213; // type:object size:0x26 data:string -lbl_1_data_239 = .data:0x00000239; // type:object size:0x27 +lbl_1_data_239 = .data:0x00000239; // type:object size:0x25 lbl_1_data_260 = .data:0x00000260; // type:object size:0x15C lbl_1_data_3BC = .data:0x000003BC; // type:object size:0x178 lbl_1_data_534 = .data:0x00000534; // type:object size:0x18 @@ -375,7 +376,7 @@ lbl_1_data_54C = .data:0x0000054C; // type:object size:0x18 data:float lbl_1_data_564 = .data:0x00000564; // type:object size:0xC data:float lbl_1_data_570 = .data:0x00000570; // type:object size:0xC data:float lbl_1_data_57C = .data:0x0000057C; // type:object size:0x4 -lbl_1_data_580 = .data:0x00000580; // type:object size:0x10 +lbl_1_data_580 = .data:0x00000580; // type:object size:0xE data:string lbl_1_data_590 = .data:0x00000590; // type:object size:0x1C lbl_1_data_5AC = .data:0x000005AC; // type:object size:0x1C lbl_1_data_5C8 = .data:0x000005C8; // type:object size:0x8 @@ -387,7 +388,7 @@ lbl_1_data_608 = .data:0x00000608; // type:object size:0x10 lbl_1_data_618 = .data:0x00000618; // type:object size:0x10 jumptable_1_data_628 = .data:0x00000628; // type:object size:0x20 scope:local lbl_1_data_648 = .data:0x00000648; // type:object size:0x4 -lbl_1_data_64C = .data:0x0000064C; // type:object size:0x1 data:byte +lbl_1_data_64C = .data:0x0000064C; // type:object size:0x4 data:byte lbl_1_data_650 = .data:0x00000650; // type:object size:0x4 lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x40 lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x4 data:4byte @@ -420,7 +421,7 @@ lbl_1_bss_F0 = .bss:0x000000F0; // type:object size:0x4 data:4byte lbl_1_bss_F4 = .bss:0x000000F4; // type:object size:0x4 data:4byte lbl_1_bss_F8 = .bss:0x000000F8; // type:object size:0x60 data:2byte lbl_1_bss_158 = .bss:0x00000158; // type:object size:0x3F0 data:byte -lbl_1_bss_548 = .bss:0x00000548; // type:object size:0x8 data:4byte +lbl_1_bss_548 = .bss:0x00000548; // type:object size:0x4 data:4byte lbl_1_bss_550 = .bss:0x00000550; // type:object size:0x4 data:4byte lbl_1_bss_554 = .bss:0x00000554; // type:object size:0x4 data:4byte lbl_1_bss_558 = .bss:0x00000558; // type:object size:0x4 data:4byte diff --git a/config/GMPE01_00/rels/m428Dll/splits.txt b/config/GMPE01_00/rels/m428Dll/splits.txt index 531cd645..03f22ea9 100644 --- a/config/GMPE01_00/rels/m428Dll/splits.txt +++ b/config/GMPE01_00/rels/m428Dll/splits.txt @@ -5,3 +5,24 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/executor.c: + .text start:0x00000000 end:0x000000A0 + +REL/m428Dll/main.c: + .text start:0x000000A0 end:0x000040A4 + .rodata start:0x00000000 end:0x000000D8 + .data start:0x00000000 end:0x00000130 + .bss start:0x00000000 end:0x00000090 + +REL/m428Dll/map.c: + .text start:0x000040A4 end:0x00009F5C + .rodata start:0x000000D8 end:0x00000228 + .data start:0x00000130 end:0x00000150 + .bss start:0x00000090 end:0x00000130 + +REL/m428Dll/player.c: + .text start:0x00009F5C end:0x00014690 + .rodata start:0x00000228 end:0x00000414 + .data start:0x00000150 end:0x00000712 + .bss start:0x00000130 end:0x000002D4 diff --git a/config/GMPE01_00/rels/m428Dll/symbols.txt b/config/GMPE01_00/rels/m428Dll/symbols.txt index cd8f595d..e40ea36c 100644 --- a/config/GMPE01_00/rels/m428Dll/symbols.txt +++ b/config/GMPE01_00/rels/m428Dll/symbols.txt @@ -1,6 +1,6 @@ _prolog = .text:0x00000000; // type:function size:0x54 scope:global _epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x218 +ModuleProlog = .text:0x000000A0; // type:function size:0x218 fn_1_2B8 = .text:0x000002B8; // type:function size:0x1C0 fn_1_478 = .text:0x00000478; // type:function size:0x2154 fn_1_25CC = .text:0x000025CC; // type:function size:0x50 @@ -331,12 +331,13 @@ lbl_1_data_0 = .data:0x00000000; // type:object size:0x54 data:float lbl_1_data_54 = .data:0x00000054; // type:object size:0xC lbl_1_data_60 = .data:0x00000060; // type:object size:0xC lbl_1_data_6C = .data:0x0000006C; // type:object size:0xC -lbl_1_data_78 = .data:0x00000078; // type:object size:0x24 +lbl_1_data_78 = .data:0x00000078; // type:object size:0x23 data:string lbl_1_data_9C = .data:0x0000009C; // type:object size:0xC lbl_1_data_A8 = .data:0x000000A8; // type:object size:0xC lbl_1_data_B4 = .data:0x000000B4; // type:object size:0x4 jumptable_1_data_B8 = .data:0x000000B8; // type:object size:0x30 scope:local -lbl_1_data_E8 = .data:0x000000E8; // type:object size:0x48 data:byte +lbl_1_data_E8 = .data:0x000000E8; // type:object size:0x4 data:byte +lbl_1_data_EC = .data:0x000000EC; // type:object size:0x44 data:byte lbl_1_data_130 = .data:0x00000130; // type:object size:0x14 lbl_1_data_144 = .data:0x00000144; // type:object size:0x8 lbl_1_data_14C = .data:0x0000014C; // type:object size:0x4 data:4byte @@ -384,7 +385,7 @@ lbl_1_bss_78 = .bss:0x00000078; // type:object size:0x4 data:4byte lbl_1_bss_7C = .bss:0x0000007C; // type:object size:0x4 data:4byte lbl_1_bss_80 = .bss:0x00000080; // type:object size:0x4 data:4byte lbl_1_bss_84 = .bss:0x00000084; // type:object size:0x4 data:4byte -lbl_1_bss_88 = .bss:0x00000088; // type:object size:0x8 data:4byte +lbl_1_bss_88 = .bss:0x00000088; // type:object size:0x4 data:4byte lbl_1_bss_90 = .bss:0x00000090; // type:object size:0x8 data:4byte lbl_1_bss_98 = .bss:0x00000098; // type:object size:0x8 lbl_1_bss_A0 = .bss:0x000000A0; // type:object size:0x4 data:4byte diff --git a/config/GMPE01_00/rels/m429Dll/splits.txt b/config/GMPE01_00/rels/m429Dll/splits.txt index 531cd645..a2c2add0 100644 --- a/config/GMPE01_00/rels/m429Dll/splits.txt +++ b/config/GMPE01_00/rels/m429Dll/splits.txt @@ -5,3 +5,9 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/m429Dll/main.c: + .text start:0x00000000 end:0x0000EA70 + .rodata start:0x00000000 end:0x00000198 + .data start:0x00000000 end:0x00001510 + .bss start:0x00000000 end:0x00000364 diff --git a/config/GMPE01_00/rels/m429Dll/symbols.txt b/config/GMPE01_00/rels/m429Dll/symbols.txt index f2faf4cf..6264ced4 100644 --- a/config/GMPE01_00/rels/m429Dll/symbols.txt +++ b/config/GMPE01_00/rels/m429Dll/symbols.txt @@ -185,7 +185,7 @@ lbl_1_data_1E4 = .data:0x000001E4; // type:object size:0xE data:string lbl_1_data_1F2 = .data:0x000001F2; // type:object size:0xE data:string lbl_1_data_200 = .data:0x00000200; // type:object size:0xE data:string lbl_1_data_20E = .data:0x0000020E; // type:object size:0xE data:string -lbl_1_data_21C = .data:0x0000021C; // type:object size:0x10 +lbl_1_data_21C = .data:0x0000021C; // type:object size:0xE data:string lbl_1_data_22C = .data:0x0000022C; // type:object size:0x57C lbl_1_data_7A8 = .data:0x000007A8; // type:object size:0xD data:string lbl_1_data_7B5 = .data:0x000007B5; // type:object size:0xD data:string @@ -261,7 +261,7 @@ lbl_1_data_13E8 = .data:0x000013E8; // type:object size:0x50 lbl_1_data_1438 = .data:0x00001438; // type:object size:0x21 data:string lbl_1_data_1459 = .data:0x00001459; // type:object size:0x1F jumptable_1_data_1478 = .data:0x00001478; // type:object size:0x24 scope:local -lbl_1_data_149C = .data:0x0000149C; // type:object size:0x1C +lbl_1_data_149C = .data:0x0000149C; // type:object size:0x1B data:string jumptable_1_data_14B8 = .data:0x000014B8; // type:object size:0x34 scope:local lbl_1_data_14EC = .data:0x000014EC; // type:object size:0x24 data:string lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte diff --git a/config/GMPE01_00/rels/m430Dll/splits.txt b/config/GMPE01_00/rels/m430Dll/splits.txt index 531cd645..a17f992d 100644 --- a/config/GMPE01_00/rels/m430Dll/splits.txt +++ b/config/GMPE01_00/rels/m430Dll/splits.txt @@ -5,3 +5,24 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/executor.c: + .text start:0x00000000 end:0x000000A0 + +REL/m430Dll/main.c: + .text start:0x000000A0 end:0x00004A80 + .rodata start:0x00000000 end:0x000000F0 + .data start:0x00000000 end:0x00000050 + .bss start:0x00000000 end:0x00000040 + +REL/m430Dll/water.c: + .text start:0x00004A80 end:0x0000BBC4 + .rodata start:0x000000F0 end:0x00000488 + .data start:0x00000050 end:0x00000170 + .bss start:0x00000040 end:0x00000158 + +REL/m430Dll/player.c: + .text start:0x0000BBC4 end:0x00013490 + .rodata start:0x00000488 end:0x000006E8 + .data start:0x00000170 end:0x0000030C + .bss start:0x00000158 end:0x00000180 diff --git a/config/GMPE01_00/rels/m430Dll/symbols.txt b/config/GMPE01_00/rels/m430Dll/symbols.txt index 3517ae68..f79d261a 100644 --- a/config/GMPE01_00/rels/m430Dll/symbols.txt +++ b/config/GMPE01_00/rels/m430Dll/symbols.txt @@ -1,6 +1,6 @@ _prolog = .text:0x00000000; // type:function size:0x54 scope:global _epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x5BC +ModuleProlog = .text:0x000000A0; // type:function size:0x5BC fn_1_65C = .text:0x0000065C; // type:function size:0xC4 fn_1_720 = .text:0x00000720; // type:function size:0x334 fn_1_A54 = .text:0x00000A54; // type:function size:0x144 @@ -428,9 +428,9 @@ lbl_1_data_18 = .data:0x00000018; // type:object size:0xC data:float lbl_1_data_24 = .data:0x00000024; // type:object size:0x4 lbl_1_data_28 = .data:0x00000028; // type:object size:0xC data:float lbl_1_data_34 = .data:0x00000034; // type:object size:0xC data:float -lbl_1_data_40 = .data:0x00000040; // type:object size:0x10 data:float +lbl_1_data_40 = .data:0x00000040; // type:object size:0xC data:float lbl_1_data_50 = .data:0x00000050; // type:object size:0x7 data:string -lbl_1_data_57 = .data:0x00000057; // type:object size:0x9 +lbl_1_data_57 = .data:0x00000057; // type:object size:0x7 data:string lbl_1_data_60 = .data:0x00000060; // type:object size:0x48 lbl_1_data_A8 = .data:0x000000A8; // type:object size:0x18 lbl_1_data_C0 = .data:0x000000C0; // type:object size:0x60 @@ -465,7 +465,7 @@ lbl_1_bss_26 = .bss:0x00000026; // type:object size:0x6 data:2byte lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x2 data:2byte lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:4byte lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x4 data:4byte -lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x8 data:4byte +lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x4 data:4byte lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x4 data:4byte lbl_1_bss_44 = .bss:0x00000044; // type:object size:0x4 data:4byte lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x4 data:float @@ -479,7 +479,7 @@ lbl_1_bss_140 = .bss:0x00000140; // type:object size:0x4 data:4byte lbl_1_bss_144 = .bss:0x00000144; // type:object size:0x4 data:4byte lbl_1_bss_148 = .bss:0x00000148; // type:object size:0x4 data:4byte lbl_1_bss_14C = .bss:0x0000014C; // type:object size:0x4 data:4byte -lbl_1_bss_150 = .bss:0x00000150; // type:object size:0x8 data:4byte +lbl_1_bss_150 = .bss:0x00000150; // type:object size:0x4 data:4byte lbl_1_bss_158 = .bss:0x00000158; // type:object size:0x4 data:4byte lbl_1_bss_15C = .bss:0x0000015C; // type:object size:0x4 data:4byte lbl_1_bss_160 = .bss:0x00000160; // type:object size:0x4 data:4byte diff --git a/config/GMPE01_00/rels/m431Dll/splits.txt b/config/GMPE01_00/rels/m431Dll/splits.txt index 531cd645..b8bd1367 100644 --- a/config/GMPE01_00/rels/m431Dll/splits.txt +++ b/config/GMPE01_00/rels/m431Dll/splits.txt @@ -5,3 +5,18 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/executor.c: + .text start:0x00000000 end:0x000000A0 + +REL/m431Dll/main.c: + .text start:0x000000A0 end:0x00007ABC + .rodata start:0x00000000 end:0x00000188 + .data start:0x00000000 end:0x000001D0 + .bss start:0x00000000 end:0x00000098 + +REL/m431Dll/object.c: + .text start:0x00007ABC end:0x0000B558 + .rodata start:0x00000188 end:0x00000234 + .data start:0x000001D0 end:0x0000026C + .bss start:0x00000098 end:0x0000067C diff --git a/config/GMPE01_00/rels/m431Dll/symbols.txt b/config/GMPE01_00/rels/m431Dll/symbols.txt index d0a607fd..24174c15 100644 --- a/config/GMPE01_00/rels/m431Dll/symbols.txt +++ b/config/GMPE01_00/rels/m431Dll/symbols.txt @@ -1,6 +1,6 @@ _prolog = .text:0x00000000; // type:function size:0x54 scope:global _epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x384 +ModuleProlog = .text:0x000000A0; // type:function size:0x384 fn_1_424 = .text:0x00000424; // type:function size:0x78 fn_1_49C = .text:0x0000049C; // type:function size:0xE0 fn_1_57C = .text:0x0000057C; // type:function size:0x234 @@ -219,11 +219,11 @@ lbl_1_data_162 = .data:0x00000162; // type:object size:0x2 data:2byte lbl_1_data_164 = .data:0x00000164; // type:object size:0x10 data:4byte lbl_1_data_174 = .data:0x00000174; // type:object size:0x10 data:string lbl_1_data_184 = .data:0x00000184; // type:object size:0x26 data:string -lbl_1_data_1AA = .data:0x000001AA; // type:object size:0x26 +lbl_1_data_1AA = .data:0x000001AA; // type:object size:0x24 data:string lbl_1_data_1D0 = .data:0x000001D0; // type:object size:0x4 data:float lbl_1_data_1D4 = .data:0x000001D4; // type:object size:0x20 lbl_1_data_1F4 = .data:0x000001F4; // type:object size:0x20 -lbl_1_data_214 = .data:0x00000214; // type:object size:0x1C +lbl_1_data_214 = .data:0x00000214; // type:object size:0x19 data:string lbl_1_data_230 = .data:0x00000230; // type:object size:0x20 lbl_1_data_250 = .data:0x00000250; // type:object size:0x10 lbl_1_data_260 = .data:0x00000260; // type:object size:0x8 @@ -243,7 +243,7 @@ lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x2 data:2byte lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x4 data:4byte lbl_1_bss_30 = .bss:0x00000030; // type:object size:0x4 data:4byte lbl_1_bss_34 = .bss:0x00000034; // type:object size:0x28 -lbl_1_bss_5C = .bss:0x0000005C; // type:object size:0x3C data:2byte +lbl_1_bss_5C = .bss:0x0000005C; // type:object size:0x38 data:2byte lbl_1_bss_98 = .bss:0x00000098; // type:object size:0x1 data:byte lbl_1_bss_9C = .bss:0x0000009C; // type:object size:0x10 lbl_1_bss_AC = .bss:0x000000AC; // type:object size:0x80 data:4byte diff --git a/config/GMPE01_00/rels/m432Dll/splits.txt b/config/GMPE01_00/rels/m432Dll/splits.txt index 531cd645..121fa4a6 100644 --- a/config/GMPE01_00/rels/m432Dll/splits.txt +++ b/config/GMPE01_00/rels/m432Dll/splits.txt @@ -5,3 +5,9 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/m432Dll/main.c: + .text start:0x00000000 end:0x00016260 + .rodata start:0x00000000 end:0x00000234 + .data start:0x00000000 end:0x000019F8 + .bss start:0x00000000 end:0x000005DC diff --git a/config/GMPE01_00/rels/m432Dll/symbols.txt b/config/GMPE01_00/rels/m432Dll/symbols.txt index 7d4201a9..75ff4704 100644 --- a/config/GMPE01_00/rels/m432Dll/symbols.txt +++ b/config/GMPE01_00/rels/m432Dll/symbols.txt @@ -232,7 +232,7 @@ lbl_1_data_0 = .data:0x00000000; // type:object size:0x10 lbl_1_data_10 = .data:0x00000010; // type:object size:0x20 lbl_1_data_30 = .data:0x00000030; // type:object size:0x28 lbl_1_data_58 = .data:0x00000058; // type:object size:0x28 -lbl_1_data_80 = .data:0x00000080; // type:object size:0x20 +lbl_1_data_80 = .data:0x00000080; // type:object size:0x1F data:string lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x8 lbl_1_data_A8 = .data:0x000000A8; // type:object size:0x20 data:float lbl_1_data_C8 = .data:0x000000C8; // type:object size:0xC @@ -296,7 +296,7 @@ lbl_1_data_5B4 = .data:0x000005B4; // type:object size:0xB data:string lbl_1_data_5BF = .data:0x000005BF; // type:object size:0xB data:string lbl_1_data_5CA = .data:0x000005CA; // type:object size:0xB data:string lbl_1_data_5D5 = .data:0x000005D5; // type:object size:0xB data:string -lbl_1_data_5E0 = .data:0x000005E0; // type:object size:0xC +lbl_1_data_5E0 = .data:0x000005E0; // type:object size:0xB data:string lbl_1_data_5EC = .data:0x000005EC; // type:object size:0x8B8 lbl_1_data_EA4 = .data:0x00000EA4; // type:object size:0xB data:string lbl_1_data_EAF = .data:0x00000EAF; // type:object size:0xB data:string diff --git a/config/GMPE01_00/rels/m434Dll/splits.txt b/config/GMPE01_00/rels/m434Dll/splits.txt index 531cd645..4ba00e1a 100644 --- a/config/GMPE01_00/rels/m434Dll/splits.txt +++ b/config/GMPE01_00/rels/m434Dll/splits.txt @@ -5,3 +5,30 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/executor.c: + .text start:0x00000000 end:0x000000A0 + +REL/m434Dll/main.c: + .text start:0x000000A0 end:0x00001DB0 + .rodata start:0x00000000 end:0x000000B8 + .data start:0x00000000 end:0x00000100 + .bss start:0x00000000 end:0x000003D8 + +REL/m434Dll/map.c: + .text start:0x00001DB0 end:0x00004854 + .rodata start:0x000000B8 end:0x000001A8 + .data start:0x00000100 end:0x00000180 + .bss start:0x000003D8 end:0x00005870 + +REL/m434Dll/player.c: + .text start:0x00004854 end:0x00006860 + .rodata start:0x000001A8 end:0x000002D0 + .data start:0x00000180 end:0x000002C0 + .bss start:0x00005870 end:0x00005880 + +REL/m434Dll/fish.c: + .text start:0x00006860 end:0x0000918C + .rodata start:0x000002D0 end:0x000004D0 + .data start:0x000002C0 end:0x000002C8 + .bss start:0x00005880 end:0x00007884 diff --git a/config/GMPE01_00/rels/m434Dll/symbols.txt b/config/GMPE01_00/rels/m434Dll/symbols.txt index 6e8050dc..642a9fa9 100644 --- a/config/GMPE01_00/rels/m434Dll/symbols.txt +++ b/config/GMPE01_00/rels/m434Dll/symbols.txt @@ -1,6 +1,6 @@ _prolog = .text:0x00000000; // type:function size:0x54 scope:global _epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x45C +ModuleProlog = .text:0x000000A0; // type:function size:0x45C fn_1_4FC = .text:0x000004FC; // type:function size:0x5C fn_1_558 = .text:0x00000558; // type:function size:0x70C fn_1_C64 = .text:0x00000C64; // type:function size:0x64 @@ -272,10 +272,10 @@ lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x48 lbl_1_data_0 = .data:0x00000000; // type:object size:0xC data:float lbl_1_data_C = .data:0x0000000C; // type:object size:0x18 data:float lbl_1_data_24 = .data:0x00000024; // type:object size:0x28 -lbl_1_data_4C = .data:0x0000004C; // type:object size:0x24 +lbl_1_data_4C = .data:0x0000004C; // type:object size:0x23 data:string lbl_1_data_70 = .data:0x00000070; // type:object size:0x4 data:4byte lbl_1_data_74 = .data:0x00000074; // type:object size:0x12 data:string -lbl_1_data_86 = .data:0x00000086; // type:object size:0x1E +lbl_1_data_86 = .data:0x00000086; // type:object size:0x1C data:string lbl_1_data_A4 = .data:0x000000A4; // type:object size:0x8 lbl_1_data_AC = .data:0x000000AC; // type:object size:0x8 lbl_1_data_B4 = .data:0x000000B4; // type:object size:0xC @@ -283,21 +283,24 @@ lbl_1_data_C0 = .data:0x000000C0; // type:object size:0x30 lbl_1_data_F0 = .data:0x000000F0; // type:object size:0x10 lbl_1_data_100 = .data:0x00000100; // type:object size:0x34 lbl_1_data_134 = .data:0x00000134; // type:object size:0x5 data:string -lbl_1_data_139 = .data:0x00000139; // type:object size:0x7 data:byte +lbl_1_data_139 = .data:0x00000139; // type:object size:0x4 data:byte lbl_1_data_140 = .data:0x00000140; // type:object size:0x18 -lbl_1_data_158 = .data:0x00000158; // type:object size:0x1C -lbl_1_data_174 = .data:0x00000174; // type:object size:0x1 data:byte -lbl_1_data_178 = .data:0x00000178; // type:object size:0x8 data:byte +lbl_1_data_158 = .data:0x00000158; // type:object size:0x18 +lbl_1_data_170 = .data:0x00000170; // type:object size:0x4 +lbl_1_data_174 = .data:0x00000174; // type:object size:0x4 data:byte +lbl_1_data_178 = .data:0x00000178; // type:object size:0x4 data:byte +lbl_1_data_17C = .data:0x0000017C; // type:object size:0x4 data:byte lbl_1_data_180 = .data:0x00000180; // type:object size:0x10 lbl_1_data_190 = .data:0x00000190; // type:object size:0x20 -lbl_1_data_1B0 = .data:0x000001B0; // type:object size:0x2C +lbl_1_data_1B0 = .data:0x000001B0; // type:object size:0xB data:string +lbl_1_data_1BC = .data:0x000001BC; // type:object size:0x20 lbl_1_data_1DC = .data:0x000001DC; // type:object size:0x8 lbl_1_data_1E4 = .data:0x000001E4; // type:object size:0x18 lbl_1_data_1FC = .data:0x000001FC; // type:object size:0x28 lbl_1_data_224 = .data:0x00000224; // type:object size:0x90 lbl_1_data_2B4 = .data:0x000002B4; // type:object size:0x3 data:string lbl_1_data_2B7 = .data:0x000002B7; // type:object size:0x3 data:string -lbl_1_data_2BA = .data:0x000002BA; // type:object size:0x6 +lbl_1_data_2BA = .data:0x000002BA; // type:object size:0x3 data:string lbl_1_data_2C0 = .data:0x000002C0; // type:object size:0x8 lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:float lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte @@ -318,7 +321,8 @@ lbl_1_bss_3C2 = .bss:0x000003C2; // type:object size:0x2 data:2byte lbl_1_bss_3C4 = .bss:0x000003C4; // type:object size:0x8 data:4byte lbl_1_bss_3CC = .bss:0x000003CC; // type:object size:0x4 data:4byte lbl_1_bss_3D0 = .bss:0x000003D0; // type:object size:0x4 data:4byte -lbl_1_bss_3D4 = .bss:0x000003D4; // type:object size:0x1C data:4byte +lbl_1_bss_3D4 = .bss:0x000003D4; // type:object size:0x4 data:4byte +lbl_1_bss_3D8 = .bss:0x000003D8; // type:object size:0x18 data:4byte lbl_1_bss_3F0 = .bss:0x000003F0; // type:object size:0x50 data:4byte lbl_1_bss_440 = .bss:0x00000440; // type:object size:0x10 data:4byte lbl_1_bss_450 = .bss:0x00000450; // type:object size:0x8 data:4byte @@ -328,7 +332,7 @@ lbl_1_bss_464 = .bss:0x00000464; // type:object size:0x2000 data:float lbl_1_bss_2464 = .bss:0x00002464; // type:object size:0x4 data:4byte lbl_1_bss_2468 = .bss:0x00002468; // type:object size:0x400 data:2byte lbl_1_bss_2868 = .bss:0x00002868; // type:object size:0x3000 data:float -lbl_1_bss_5868 = .bss:0x00005868; // type:object size:0x8 data:4byte +lbl_1_bss_5868 = .bss:0x00005868; // type:object size:0x4 data:4byte lbl_1_bss_5870 = .bss:0x00005870; // type:object size:0x10 lbl_1_bss_5880 = .bss:0x00005880; // type:object size:0x800 lbl_1_bss_6080 = .bss:0x00006080; // type:object size:0x400 diff --git a/configure.py b/configure.py index 29d2bbf6..c5870a14 100644 --- a/configure.py +++ b/configure.py @@ -967,6 +967,60 @@ config.libs = [ Object(NonMatching, "REL/m424Dll/claw.c"), } ), + Rel('m425Dll', + objects = { + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m425Dll/main.c"), + Object(NonMatching, "REL/m425Dll/thwomp.c"), + } + ), + Rel('m426Dll', + objects = { + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m426Dll/main.c"), + } + ), + Rel('m427Dll', + objects = { + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m427Dll/main.c"), + Object(NonMatching, "REL/m427Dll/map.c"), + Object(NonMatching, "REL/m427Dll/player.c"), + } + ), + Rel('m428Dll', + objects = { + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m428Dll/main.c"), + Object(NonMatching, "REL/m428Dll/map.c"), + Object(NonMatching, "REL/m428Dll/player.c"), + } + ), + Rel('m429Dll', + objects = { + Object(NonMatching, "REL/m429Dll/main.c"), + } + ), + Rel('m430Dll', + objects = { + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m430Dll/main.c"), + Object(NonMatching, "REL/m430Dll/water.c"), + Object(NonMatching, "REL/m430Dll/player.c"), + } + ), + Rel('m431Dll', + objects = { + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m431Dll/main.c"), + Object(NonMatching, "REL/m431Dll/object.c"), + } + ), + Rel('m432Dll', + objects = { + Object(NonMatching, "REL/m432Dll/main.c"), + } + ), Rel('m433Dll', objects = { Object(Matching, "REL/executor.c"), @@ -975,6 +1029,15 @@ config.libs = [ Object(NonMatching, "REL/m433Dll/player.c"), } ), + Rel('m434Dll', + objects = { + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m434Dll/main.c"), + Object(NonMatching, "REL/m434Dll/map.c"), + Object(NonMatching, "REL/m434Dll/player.c"), + Object(NonMatching, "REL/m434Dll/fish.c"), + } + ), Rel('m442Dll', objects = { Object(Matching, "REL/executor.c"),