From a2cd66ed508d3d33a2fd871c89669016467f138b Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 30 Nov 2024 14:35:27 +0100 Subject: [PATCH] some ewram vars in text.c --- include/text.h | 2 ++ src/code_803D110.c | 2 +- src/code_803E724.c | 2 +- src/code_805D8C8_1.c | 1 - src/text.c | 55 ++++++++++++++++++++++---------------------- sym_ewram.txt | 10 -------- 6 files changed, 31 insertions(+), 41 deletions(-) diff --git a/include/text.h b/include/text.h index 5acba9557..2ddc3935d 100644 --- a/include/text.h +++ b/include/text.h @@ -6,6 +6,8 @@ struct UnkDrawStringStruct; extern UnkTextStruct1 gUnknown_2027370[4]; +extern u8 gUnknown_202749A[11]; +extern bool8 gUnknown_20274A5; void LoadCharmaps(void); u32 UpdateFadeInTile(u32 a0); diff --git a/src/code_803D110.c b/src/code_803D110.c index f6b19e7ac..6ad89ca20 100644 --- a/src/code_803D110.c +++ b/src/code_803D110.c @@ -590,7 +590,7 @@ void ShowDungeonNameBanner(void) } sub_803DC14(text, (224 - CalcStringWidth(text)) / 2, var + 32); - gUnknown_20274A5 = 1; + gUnknown_20274A5 = TRUE; } CloseFile(gDungeonNameBannerFontFile); diff --git a/src/code_803E724.c b/src/code_803E724.c index 265015a1e..b6a9ca081 100644 --- a/src/code_803E724.c +++ b/src/code_803E724.c @@ -1179,7 +1179,7 @@ void sub_803F9CC(void) sub_803FB74(); } - gUnknown_20274A5 = 1; + gUnknown_20274A5 = TRUE; } void sub_803FA4C(s32 a0, s32 a1, bool8 a2) diff --git a/src/code_805D8C8_1.c b/src/code_805D8C8_1.c index 64c1fe53c..0e3a64e79 100644 --- a/src/code_805D8C8_1.c +++ b/src/code_805D8C8_1.c @@ -1700,7 +1700,6 @@ extern void sub_8041AE0(Entity *pokemon); extern void sub_807EC28(bool8); extern void sub_8083CE0(u8 param_1); -extern u8 gUnknown_202749A[]; extern MenuInputStruct gUnknown_202EE10; void sub_805F02C(void) diff --git a/src/text.c b/src/text.c index 04e154c46..539820070 100644 --- a/src/text.c +++ b/src/text.c @@ -17,16 +17,11 @@ struct CharMapStruct struct unkChar *unk4; }; -extern s32 gCurrentCharmap; -extern s16 gCharacterSpacing; extern s32 gCharHeight[2]; extern u8 gDrawTextShadow; extern s32 gUnknown_202B020; extern s32 gUnknown_202B024; -extern u8 gUnknown_202749A[]; -extern u8 gUnknown_20274A6[]; -extern u8 gUnknown_20274A5; extern vu32 gUnknown_20274B0; extern u32 gUnknown_20274B4[0xEC0]; extern OpenedFile *gCharmapFiles[2]; // 202AFB4 @@ -65,7 +60,11 @@ extern const u32 gUnknown_80B8868[]; EWRAM_DATA UnkTextStruct1 gUnknown_2027370[4] = {0}; EWRAM_DATA static struct CharMapStruct *sCharmaps[2] = {NULL}; - +EWRAM_DATA static s16 sCharacterSpacing = 0; +EWRAM_DATA u8 gUnknown_202749A[11] = {0}; +EWRAM_DATA bool8 gUnknown_20274A5 = FALSE; +EWRAM_DATA static u8 sUnknown_20274A6[6] = {0}; +EWRAM_DATA static s32 sCurrentCharmap = 0; static void SaveUnkTextStructAndXXX_8006438(const UnkTextStruct2 *a0, bool8 a1, bool8 a2, UnkTextStruct2_sub *a3); static void sub_8006554(UnkTextStruct1 *a0, u32 *a1, u32 *a2, u16 *a3, u32 a4, const UnkTextStruct2 *a5, bool8 a6, u32 a7, UnkTextStruct2_sub *a8, u8 a9); @@ -102,7 +101,7 @@ void LoadCharmaps(void) int j; int k; - gCurrentCharmap = 0; + sCurrentCharmap = 0; gCharmapFiles[0] = OpenFileAndGetFileDataPtr(gKanjiA_file_string, &gSystemFileArchive); gCharmapFiles[1] = OpenFileAndGetFileDataPtr(gKanjiB_file_string, &gSystemFileArchive); sCharmaps[0] = (void *) gCharmapFiles[0]->data; @@ -116,7 +115,7 @@ void LoadCharmaps(void) gUnknown_2027370[k].unk46 = 0; } - gCharacterSpacing = 0; + sCharacterSpacing = 0; for (i = 0; i < 20; i++) { gUnknown_202B038[0][i][0] = 0xf279; @@ -131,7 +130,7 @@ void LoadCharmaps(void) gDrawTextShadow = 1; gTextShadowMask = 0x88888888; gUnknown_203B078 = NULL; - gUnknown_20274A5 = 0; + gUnknown_20274A5 = FALSE; gUnknown_202B020 = 1; gUnknown_202B024 = 20; UpdateFadeInTile(0); @@ -179,7 +178,7 @@ UNUSED static u8 UnusedSetTextShadow(u8 a0) void SelectCharmap(u32 a0) { - gCurrentCharmap = a0; + sCurrentCharmap = a0; } void SetCharacterMask(int a0) @@ -238,7 +237,7 @@ static void SaveUnkTextStructAndXXX_8006438(const UnkTextStruct2 *a0, bool8 a1, ASM_MATCH_TRICK(gUnknown_20274A5); gUnknown_203B078 = gUnknown_3000E94; - gUnknown_20274A5 = 1; + gUnknown_20274A5 = TRUE; } UNUSED static void nullsub_152(void) @@ -1479,7 +1478,7 @@ static u32 xxx_draw_char(struct UnkTextStruct1 *a0, s32 x, s32 y, u32 a3, u32 co u32 r4; u32 r2; - if (gCurrentCharmap == 1) { + if (sCurrentCharmap == 1) { if (a3 == 0x70 || a3 == 0x6A || a3 == 0x71 || a3 == 0x79 || a3 == 0x67) y += 2; else if (a3 == 0x8199) @@ -1507,7 +1506,7 @@ static u32 xxx_draw_char(struct UnkTextStruct1 *a0, s32 x, s32 y, u32 a3, u32 co yDiv8 = y / 8; if (yDiv8 < r5->unk8) { - for (i = 0; i < gCharHeight[gCurrentCharmap]; i++) { + for (i = 0; i < gCharHeight[sCurrentCharmap]; i++) { r2 = (local_44[1] << 0x10) | (local_44[0]); if (r2 != 0) { if (xDiv8 < r5->unk4) { @@ -1568,7 +1567,7 @@ static u32 xxx_draw_char(struct UnkTextStruct1 *a0, s32 x, s32 y, u32 a3, u32 co yDiv8 = y / 8; if (yDiv8 < r5->unk8) { - for (i = 0; i < gCharHeight[gCurrentCharmap]; i++) { + for (i = 0; i < gCharHeight[sCurrentCharmap]; i++) { r4 = (local_44[1] << 0x10) | (local_44[0]); r2 = (0x11111111 & r4) + (sp18 & r4); @@ -1651,7 +1650,7 @@ static u32 xxx_draw_char(struct UnkTextStruct1 *a0, s32 x, s32 y, u32 a3, u32 co } } - return sp0->unk6 + gCharacterSpacing; + return sp0->unk6 + sCharacterSpacing; } void sub_80078A4(u32 a0, s32 x, s32 y, s32 a3, u32 color) @@ -2518,7 +2517,7 @@ const struct unkChar *GetCharacter(s32 chr) { s32 r2, r4; const struct unkChar *ret; - const struct unkChar *strPtr = sCharmaps[gCurrentCharmap]->unk4; + const struct unkChar *strPtr = sCharmaps[sCurrentCharmap]->unk4; // TODO: create labels for these if (chr > 63487 && chr < 65535) { @@ -2531,7 +2530,7 @@ const struct unkChar *GetCharacter(s32 chr) else { r4 = 0; - r2 = sCharmaps[gCurrentCharmap]->unk0 - 1; + r2 = sCharmaps[sCurrentCharmap]->unk0 - 1; while (r4 < r2) { s32 r1 = (r4 + r2) / 2; if (strPtr[r1].unk4 == chr) { @@ -2718,7 +2717,7 @@ bool8 xxx_call_update_bg_vram(void) { bool8 ret = FALSE; if (gUnknown_20274A5 != 0) { - gUnknown_20274A5 = 0; + gUnknown_20274A5 = FALSE; sub_80099C0(); } ret = xxx_update_bg_vram(gUnknown_2027370); @@ -3005,14 +3004,14 @@ UNUSED static bool8 sub_8008DA8(void) UNUSED static void sub_8008DAC(s32 a0, s32 a1, s32 a2) { gUnknown_202B038[0][a1][a0] = a2; - gUnknown_20274A5 = 1; + gUnknown_20274A5 = TRUE; } void sub_8008DC8(s32 a0, s32 a1, u16 a2, s32 a3) { gUnknown_202B038[0][a1][a0] = a2; gUnknown_202B038[1][a1][a0] = a3; - gUnknown_20274A5 = 1; + gUnknown_20274A5 = TRUE; } UNUSED static void sub_8008DF4(s32 a0, s32 a1, u8 *a2) @@ -3031,7 +3030,7 @@ UNUSED static void sub_8008DF4(s32 a0, s32 a1, u8 *a2) a2++; a0++; } - gUnknown_20274A5 = 1; + gUnknown_20274A5 = TRUE; } UNUSED static void sub_8008E58(s32 a0, s32 a1, u8 *a2, s32 a3) @@ -3054,7 +3053,7 @@ UNUSED static void sub_8008E58(s32 a0, s32 a1, u8 *a2, s32 a3) a0++; a3--; } - gUnknown_20274A5 = 1; + gUnknown_20274A5 = TRUE; } s32 sub_8008ED0(const u8 *str) @@ -3104,7 +3103,7 @@ s32 sub_8008ED0(const u8 *str) else { const struct unkChar *ptr = GetCharacter(chr); if (ptr != NULL) { - ret += ptr->unk6 + gCharacterSpacing; + ret += ptr->unk6 + sCharacterSpacing; } } } @@ -3152,10 +3151,10 @@ static void xxx_draw_string(UnkTextStruct1 *strArr, s32 x, s32 y, const u8 *str, break; if (currChr == 0x82A0) { - gCurrentCharmap = 0; + sCurrentCharmap = 0; } else if (currChr == 0x82A2) { - gCurrentCharmap = 1; + sCurrentCharmap = 1; } else if (currChr == '\e') { break; @@ -3178,7 +3177,7 @@ static void xxx_draw_string(UnkTextStruct1 *strArr, s32 x, s32 y, const u8 *str, const struct unkChar *chrPtr = GetCharacter(currChr); if (chrPtr != NULL) { s32 x = sp.unk0; - s32 x2 = gCharacterSpacing + 10; + s32 x2 = sCharacterSpacing + 10; x +=((x2 - chrPtr->unk6) / 2); xxx_draw_char(strArr, x, sp.unk2, currChr, sp.unk10, windowId); sp.unk0 += characterSpacing; @@ -3308,7 +3307,7 @@ static const u8 *HandleTextFormat(UnkTextStruct1 *strArr, const u8 *str, struct str += 2; } else if (str[1] == 'S') { - gUnknown_20274A6[str[2] & 0x7F] = str[3] & 0x7F; + sUnknown_20274A6[str[2] & 0x7F] = str[3] & 0x7F; str += 4; } else if (str[1] == 'W') { @@ -3379,7 +3378,7 @@ void sub_8009408(s32 from, s32 to) gUnknown_202B038[1][i][j] = 0xF27A; } } - gUnknown_20274A5 = 1; + gUnknown_20274A5 = TRUE; } UNUSED static void sub_8009488(s32 strArrId) diff --git a/sym_ewram.txt b/sym_ewram.txt index 87e927df3..29c24920d 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -44,16 +44,6 @@ gUnknown_20270E8: /* 20270E8 (sub_8005838) */ .include "src/text.o" -gCharacterSpacing: /* 2027498 (LoadCharmaps - xxx_draw_string) */ - .space 0x2 -gUnknown_202749A: /* 202749A (HandleTextFormat - DrawFieldMenu) */ - .space 0xB -gUnknown_20274A5: /* 20274A5 (LoadCharmaps - sub_803F9CC) */ - .space 0x1 -gUnknown_20274A6: /* 20274A6 (HandleTextFormat) */ - .space 0x6 -gCurrentCharmap: /* 20274AC (LoadCharmaps - xxx_draw_string) */ - .space 0x4 gUnknown_20274B0: /* 20274B0 (UpdateFadeInTile - SetCharacterMask) */ .space 0x4 gUnknown_20274B4: /* 20274B4 (SaveUnkTextStructAndXXX_8006438) */