From 058aa76a13e7ab2ecfa8f955e6957a9e2da88e1b Mon Sep 17 00:00:00 2001 From: Seth Barberee Date: Sat, 26 Apr 2025 10:33:42 -0700 Subject: [PATCH] move more data --- data/data.s | 48 ----------------- data/ground_sbin.s | 11 +--- data/titlemenu_sbin.s | 120 ------------------------------------------ ld_script.txt | 2 + src/data/event_flag.h | 1 + src/event_flag.c | 33 +++++++----- src/ground_sbin.c | 14 +++++ src/titlemenu_sbin.c | 66 +++++++++++++++++++++++ 8 files changed, 106 insertions(+), 189 deletions(-) create mode 100644 src/ground_sbin.c create mode 100644 src/titlemenu_sbin.c diff --git a/data/data.s b/data/data.s index b63d243ec..5e438e6bd 100644 --- a/data/data.s +++ b/data/data.s @@ -2,54 +2,6 @@ .align 2, 0 - @ event_flag.c - - .global EventFlagFile_Text - EventFlagFile_Text: - .string "../main/event_flag.c\0" - .align 2,0 - - .global FlagCalc_Text - FlagCalc_Text: - .string "_FlagCalc\0" - .align 2,0 - - .global gUnknown_80B7318 - gUnknown_80B7318: @ 80B7318 - .4byte EventFlagFile_Text - .byte 0x51, 0x05, 0x00, 0x00 - .4byte FlagCalc_Text - - .global gUnknown_80B7324 - gUnknown_80B7324: @ 80B7324 - .string "event flag expansion error %d\0" - .align 2,0 - - .global FlagJudge_Text - FlagJudge_Text: - .string "_FlagJudge\0" - .align 2,0 - - .global gUnknown_80B7350 -gUnknown_80B7350: @ 80B7350 - .4byte EventFlagFile_Text - .byte 0x7C, 0x05, 0x00, 0x00 - .4byte FlagJudge_Text - - .global gUnknown_80B735C -gUnknown_80B735C: @ 80B735C - .string "event flag rule error %d\0" - .align 2,0 - - .global gUnknown_80B7378 -gUnknown_80B7378: @ 80B7378 - .string "error number\0" - .align 2,0 - - .global gUnknown_80B7388 -gUnknown_80B7388: @ 80B7388 - .string "1-1\0" - @ code.c .string "pksdir0\0" diff --git a/data/ground_sbin.s b/data/ground_sbin.s index 613b10146..c6ce864b0 100644 --- a/data/ground_sbin.s +++ b/data/ground_sbin.s @@ -1,14 +1,7 @@ .section .rodata - .global gGroundFileArchive -gGroundFileArchive: @ 9890000 -@ replacing .incbin "baserom.gba", 0x1890000, 0x5D0000 -.string "pksdir0\0" -.incbin "baserom.gba", 0x1890008, 0x4 -.4byte gUnknown_9890018 -.string "pksdir0\0" -.global gUnknown_9890018 -gUnknown_9890018: +.global gGroundFiles +gGroundFiles: .4byte gUnknown_9892C68 .4byte gUnknown_9892C78 .4byte gUnknown_9892C60 diff --git a/data/titlemenu_sbin.s b/data/titlemenu_sbin.s index 423bd64ca..dabe4fc6e 100644 --- a/data/titlemenu_sbin.s +++ b/data/titlemenu_sbin.s @@ -1,125 +1,5 @@ .section .rodata - .global gTitleMenuFileArchive -gTitleMenuFileArchive: @ 8380000 -@ replacing .incbin "baserom.gba", 0x380000, 0x22E74 -.string "pksdir0\0" -.incbin "baserom.gba", 0x380008, 0x4 -.4byte gUnknown_8380018 -.string "pksdir0\0" -.global gUnknown_8380018 -gUnknown_8380018: -.4byte gUnknown_8380190 -.4byte gUnknown_83801A0 -.4byte gUnknown_8380188 -.4byte gUnknown_8380AB8 -.4byte gUnknown_838017C -.4byte gUnknown_8382884 -.4byte gUnknown_8380174 -.4byte gUnknown_8382C04 -.4byte gUnknown_838016C -.4byte gUnknown_8384914 -.4byte gUnknown_8380164 -.4byte gUnknown_8384C9C -.4byte gUnknown_8380158 -.4byte gUnknown_8388AD0 -.4byte gUnknown_8380150 -.4byte gUnknown_8388E50 -.4byte gUnknown_8380144 -.4byte gUnknown_838CF98 -.4byte gUnknown_838013C -.4byte gUnknown_838D318 -.4byte gUnknown_8380130 -.4byte gUnknown_8391C48 -.4byte gUnknown_8380128 -.4byte gUnknown_8391FC8 -.4byte gUnknown_8380120 -.4byte gUnknown_83923A0 -.4byte gUnknown_8380114 -.4byte gUnknown_8392638 -.4byte gUnknown_8380108 -.4byte gUnknown_8392B88 -.4byte gUnknown_8380100 -.4byte gUnknown_8398A9C -.4byte gUnknown_83800F8 -.4byte gUnknown_8399F84 -.4byte gUnknown_83800F0 -.4byte gUnknown_839A304 -.4byte gUnknown_83800E4 -.4byte gUnknown_839B584 -.4byte gUnknown_83800D8 -.4byte gUnknown_839B814 -.4byte gUnknown_83800D0 -.4byte gUnknown_83A1574 -.4byte gUnknown_83800C8 -.4byte gUnknown_83A2AF4 -.global gUnknown_83800C8 -gUnknown_83800C8: -.incbin "baserom.gba", 0x3800C8, 0x8 -.global gUnknown_83800D0 -gUnknown_83800D0: -.incbin "baserom.gba", 0x3800D0, 0x8 -.global gUnknown_83800D8 -gUnknown_83800D8: -.incbin "baserom.gba", 0x3800D8, 0xC -.global gUnknown_83800E4 -gUnknown_83800E4: -.incbin "baserom.gba", 0x3800E4, 0xC -.global gUnknown_83800F0 -gUnknown_83800F0: -.incbin "baserom.gba", 0x3800F0, 0x8 -.global gUnknown_83800F8 -gUnknown_83800F8: -.incbin "baserom.gba", 0x3800F8, 0x8 -.global gUnknown_8380100 -gUnknown_8380100: -.incbin "baserom.gba", 0x380100, 0x8 -.global gUnknown_8380108 -gUnknown_8380108: -.incbin "baserom.gba", 0x380108, 0xC -.global gUnknown_8380114 -gUnknown_8380114: -.incbin "baserom.gba", 0x380114, 0xC -.global gUnknown_8380120 -gUnknown_8380120: -.incbin "baserom.gba", 0x380120, 0x8 -.global gUnknown_8380128 -gUnknown_8380128: -.incbin "baserom.gba", 0x380128, 0x8 -.global gUnknown_8380130 -gUnknown_8380130: -.incbin "baserom.gba", 0x380130, 0xC -.global gUnknown_838013C -gUnknown_838013C: -.incbin "baserom.gba", 0x38013C, 0x8 -.global gUnknown_8380144 -gUnknown_8380144: -.incbin "baserom.gba", 0x380144, 0xC -.global gUnknown_8380150 -gUnknown_8380150: -.incbin "baserom.gba", 0x380150, 0x8 -.global gUnknown_8380158 -gUnknown_8380158: -.incbin "baserom.gba", 0x380158, 0xC -.global gUnknown_8380164 -gUnknown_8380164: -.incbin "baserom.gba", 0x380164, 0x8 -.global gUnknown_838016C -gUnknown_838016C: -.incbin "baserom.gba", 0x38016C, 0x8 -.global gUnknown_8380174 -gUnknown_8380174: -.incbin "baserom.gba", 0x380174, 0x8 -.global gUnknown_838017C -gUnknown_838017C: -.incbin "baserom.gba", 0x38017C, 0xC -.global gUnknown_8380188 -gUnknown_8380188: -.incbin "baserom.gba", 0x380188, 0x8 -.global gUnknown_8380190 -gUnknown_8380190: -.incbin "baserom.gba", 0x380190, 0x8 -.string "pksdir0\0" .global gUnknown_83801A0 gUnknown_83801A0: .string "SIRO" diff --git a/ld_script.txt b/ld_script.txt index 4f1c5abd4..169605b53 100755 --- a/ld_script.txt +++ b/ld_script.txt @@ -900,6 +900,7 @@ SECTIONS { titlemenu_sbin_section 0x8380000 : ALIGN(4) { + src/titlemenu_sbin.o(.rodata); data/titlemenu_sbin.o(.rodata); } > ROM =0 @@ -932,6 +933,7 @@ SECTIONS { ground_sbin_section : ALIGN(4) { + src/ground_sbin.o(.rodata); data/ground_sbin.o(.rodata); } > ROM =0 diff --git a/src/data/event_flag.h b/src/data/event_flag.h index 4b8d53329..5bcf98f0d 100644 --- a/src/data/event_flag.h +++ b/src/data/event_flag.h @@ -178,3 +178,4 @@ const struct GroundEventTableEntry gGroundEnterLookupTable[58] = { ALIGNED(4) const u8 gScenarioCalcLogString[] = "SCENARIO CALC [%3d] %4d %4d -> %4d %4d"; +ALIGNED(4) const u8 EventFlagFile_Text[] = "../main/event_flag.c"; diff --git a/src/event_flag.c b/src/event_flag.c index 66cb219ff..a981958d2 100644 --- a/src/event_flag.c +++ b/src/event_flag.c @@ -19,13 +19,6 @@ EWRAM_DATA u8 gScriptVarBuffer[0x400] = {0}; // NDS=020876DC #include "data/event_flag.h" -extern DebugLocation gUnknown_80B7318; -extern u8 gUnknown_80B7324[]; -extern DebugLocation gUnknown_80B7350; -extern u8 gUnknown_80B735C[]; -extern u8 gUnknown_80B7378[]; -extern u8 gUnknown_80B7388[]; - extern bool8 GetScriptMode(void); extern bool8 HasCompletedAllMazes(void); extern u8 sub_8002658(s16); @@ -106,7 +99,7 @@ void ThoroughlyResetScriptVars(void) } #if (GAME_VERSION == VERSION_RED) -void sub_8001564(void) +UNUSED void sub_8001564(void) { nullsub_128(); } @@ -657,6 +650,14 @@ void sub_8001D88(void) } } +ALIGNED(4) static const u8 sFlagCalc_Text[] = "_FlagCalc"; + +static const DebugLocation sFlagCalcDebugLocation = { + EventFlagFile_Text, + 0x551, + sFlagCalc_Text +}; + // arm9.bin::0200EC08 s32 _FlagCalc(s32 param_1, s32 param_2, enum FlagCalcOperation operation) { @@ -686,10 +687,18 @@ s32 _FlagCalc(s32 param_1, s32 param_2, enum FlagCalcOperation operation) case CALC_RANDOM: return OtherRandInt(param_2); default: - FatalError(&gUnknown_80B7318,gUnknown_80B7324, operation); // event flag expansion error %d + FatalError(&sFlagCalcDebugLocation,"event flag expansion error %d", operation); // event flag expansion error %d } } +ALIGNED(4) static const u8 sFlagJudge_Text[] = "_FlagJudge"; + +static const DebugLocation sFlagJudgeDebugLocation = { + EventFlagFile_Text, + 0x57C, + sFlagJudge_Text +}; + // arm9.bin::0200EAE4 bool8 _FlagJudge(s32 param_1, s32 param_2, enum FlagJudgeOperation operation) { @@ -717,7 +726,7 @@ bool8 _FlagJudge(s32 param_1, s32 param_2, enum FlagJudgeOperation operation) case JUDGE_BIT_SET: return param_1 >> (param_2) & 1; default: - FatalError(&gUnknown_80B7350,gUnknown_80B735C, operation); // event flag rule error %d + FatalError(&sFlagJudgeDebugLocation,"event flag rule error %d", operation); // event flag rule error %d } } @@ -801,7 +810,7 @@ UNUSED const u8 *sub_8002374(u32 param_1) return gUnknown_80B6D90[param_1].text; } else { - return gUnknown_80B7378; // error number + return "error number"; // error number } } @@ -811,7 +820,7 @@ UNUSED const u8 *sub_8002394(u32 param_1) return gUnknown_80B714C[param_1 - 0x12]; } else if (param_1 == 0xf) { - return gUnknown_80B7388; // 1-1 + return "1-1"; // 1-1 } else { return gUnknown_80B7144; // NONE diff --git a/src/ground_sbin.c b/src/ground_sbin.c new file mode 100644 index 000000000..6aebf6cc6 --- /dev/null +++ b/src/ground_sbin.c @@ -0,0 +1,14 @@ +#include "global.h" +#include "file_system.h" + +#define GROUND_FILES_COUNT 0x2A5 + +extern const File gGroundFiles[GROUND_FILES_COUNT]; + +const FileArchive gGroundFileArchive = { + .magic = "pksdir0", + .count = GROUND_FILES_COUNT, + .entries = gGroundFiles, +}; + +UNUSED static const char sPksDir2[] = "pksdir0"; diff --git a/src/titlemenu_sbin.c b/src/titlemenu_sbin.c new file mode 100644 index 000000000..c87f31703 --- /dev/null +++ b/src/titlemenu_sbin.c @@ -0,0 +1,66 @@ +#include "global.h" +#include "file_system.h" + +#define TITLE_MENU_FILES_COUNT 22 + +extern const File gTitleMenuFiles[TITLE_MENU_FILES_COUNT]; + +const FileArchive gTitleMenuFileArchive = { + .magic = "pksdir0", + .count = TITLE_MENU_FILES_COUNT, + .entries = gTitleMenuFiles, +}; + +UNUSED static const char sPksDir2[] = "pksdir0"; + +extern const u8 gUnknown_83801A0[]; +extern const u8 gUnknown_8380AB8[]; +extern const u8 gUnknown_8382884[]; +extern const u8 gUnknown_8382C04[]; +extern const u8 gUnknown_8384914[]; +extern const u8 gUnknown_8384C9C[]; +extern const u8 gUnknown_8388AD0[]; +extern const u8 gUnknown_8388E50[]; +extern const u8 gUnknown_838CF98[]; +extern const u8 gUnknown_838D318[]; +extern const u8 gUnknown_8391C48[]; +extern const u8 gUnknown_8391FC8[]; +extern const u8 gUnknown_83923A0[]; +extern const u8 gUnknown_8392638[]; +extern const u8 gUnknown_8392B88[]; +extern const u8 gUnknown_8398A9C[]; +extern const u8 gUnknown_8399F84[]; +extern const u8 gUnknown_839A304[]; +extern const u8 gUnknown_839B584[]; +extern const u8 gUnknown_839B814[]; +extern const u8 gUnknown_83A1574[]; +extern const u8 gUnknown_83A2AF4[]; + + +const File gTitleMenuFiles[TITLE_MENU_FILES_COUNT] = { + [0] = { "clmkpat", gUnknown_83801A0}, + [1] = { "commun0", gUnknown_8380AB8}, + [2] = { "commun0p", gUnknown_8382884}, + [3] = { "subdef", gUnknown_8382C04}, + [4] = { "subdefp", gUnknown_8384914}, + [5] = { "titlen0", gUnknown_8384C9C}, + [6] = { "titlen0p", gUnknown_8388AD0}, + [7] = { "titlen1", gUnknown_8388E50}, + [8] = { "titlen1p", gUnknown_838CF98}, + [9] = { "titlen2", gUnknown_838D318}, + [10] = { "titlen2p", gUnknown_8391C48}, + [11] = { "tmrkpat", gUnknown_8391FC8}, + [12] = { "wlicpat", gUnknown_83923A0}, + [13] = { "wmapcani", gUnknown_8392638}, + [14] = { "wmapfont", gUnknown_8392B88}, + [15] = { "wmapmcc", gUnknown_8398A9C}, + [16] = { "wmappal", gUnknown_8399F84}, + [17] = { "wmapspr", gUnknown_839A304}, + [18] = { "wmp2cani", gUnknown_839B584}, + [19] = { "wmp2font", gUnknown_839B814}, + [20] = { "wmp2mcc", gUnknown_83A1574}, + [21] = { "wmp2pal", gUnknown_83A2AF4}, +}; + +UNUSED ALIGNED(4) static const char sPksDir3[] = "pksdir0"; +