From 5327e536bbb5372e852099188436b7d2efa3067b Mon Sep 17 00:00:00 2001 From: Kermalis <29823718+Kermalis@users.noreply.github.com> Date: Mon, 7 Aug 2023 08:26:38 -0400 Subject: [PATCH] Match sub_80078A4() --- asm/text.s | 35 ----------------------------------- include/text1.h | 1 + include/text2.h | 3 +++ src/code_8021774.c | 1 - src/code_8031D70.c | 1 - src/items.c | 1 - src/moves.c | 1 - src/options_menu.c | 1 - src/text1.c | 2 +- src/text2.c | 6 ++++++ 10 files changed, 11 insertions(+), 41 deletions(-) diff --git a/asm/text.s b/asm/text.s index ebe62dd00..7f1a04786 100644 --- a/asm/text.s +++ b/asm/text.s @@ -5,41 +5,6 @@ .text - thumb_func_start sub_80078A4 -sub_80078A4: - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x4 - adds r5, r0, 0 - adds r6, r1, 0 - adds r4, r2, 0 - mov r8, r3 - ldr r0, [sp, 0x18] - str r0, [sp] - adds r0, r5, 0 - bl sub_800792C - adds r4, 0x1 - ldr r0, _080078E4 - ldr r0, [r0] - movs r1, 0xF - ands r0, r1 - str r0, [sp] - adds r0, r5, 0 - adds r1, r6, 0 - adds r2, r4, 0 - mov r3, r8 - bl sub_800792C - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080078E4: .4byte gUnknown_202B030 - thumb_func_end sub_80078A4 - thumb_func_start sub_80078E8 sub_80078E8: push {r4-r6,lr} diff --git a/include/text1.h b/include/text1.h index 04a27252b..c390fc562 100644 --- a/include/text1.h +++ b/include/text1.h @@ -5,6 +5,7 @@ extern EWRAM_DATA struct UnkTextStruct1 gUnknown_2027370[4]; extern EWRAM_DATA struct UnkTextStruct2 gUnknown_202AFC0[4]; +extern EWRAM_DATA u32 gUnknown_202B030; extern EWRAM_DATA u16 gUnknown_202B038[4][32][32]; void LoadCharmaps(void); diff --git a/include/text2.h b/include/text2.h index cb64e824a..edcc2bc13 100644 --- a/include/text2.h +++ b/include/text2.h @@ -26,10 +26,13 @@ void sub_8006518(struct UnkTextStruct2 *); void sub_8006554(struct UnkTextStruct1 *, u32 *, u32 *, u16 *, u32, const struct UnkTextStruct2 *, u8, u32, struct UnkTextStruct2_sub *, u8); void sub_80073B8(s32); void sub_80073E0(s32); +void sub_80078A4(u32, s32, s32, u32, u32); // text.s extern struct unkChar *GetCharacter(u32); extern void InitGraphics(void); extern void xxx_call_draw_string(s32 x, u32 y, const u8 *str, u32 , u32); +extern void sub_800792C(u32, s32, s32, u32, u32); + #endif // GUARD_TEXT2_H \ No newline at end of file diff --git a/src/code_8021774.c b/src/code_8021774.c index 4bc1c8ec1..b2af0e6a9 100644 --- a/src/code_8021774.c +++ b/src/code_8021774.c @@ -50,7 +50,6 @@ extern u8 *gUnknown_80D49BC[]; extern u8 gUnknown_80DC524[]; extern void sub_8008C54(u32); extern void sub_8092578(u8 *buffer, u8 index, u8 r2); -void sub_800792C(u32, u32, u32, u32, u32); void sub_8007A78(u32, u32, u32, u32, u32); extern void sub_8021878(void); diff --git a/src/code_8031D70.c b/src/code_8031D70.c index d92c404a5..a552bc239 100644 --- a/src/code_8031D70.c +++ b/src/code_8031D70.c @@ -48,7 +48,6 @@ ALIGNED(4) const u8 gUnknown_80E1FDC[] = "Password"; ALIGNED(4) static const u8 fill0[] = "pksdir0"; extern void sub_8008C54(u32); -extern void sub_80078A4(u32, u32, u32, u32, u32); extern void sub_803D2C0(u8 *, struct unkStruct_203B480 *); extern void PlayMenuSoundEffect(u32); diff --git a/src/items.c b/src/items.c index 7a5c1f758..41e07444f 100644 --- a/src/items.c +++ b/src/items.c @@ -40,7 +40,6 @@ EWRAM_DATA_2 struct TeamInventory *gTeamInventoryRef = {0}; extern s32 sub_8090FEC(s32 a1, u8* a2, u8 a3); extern u32 sub_8097DF0(char *, struct subStruct_203B240 **); -extern void sub_80078A4(u32, u32, u32, u32, u32); extern void xxx_format_and_draw(u32, u32, const u8 *, u32, u32); extern s32 sub_8091E94(s32 a1, s32 a2, s32 a3); extern void SortKecleonShopInventory(); diff --git a/src/moves.c b/src/moves.c index f8e5d2bfe..875743892 100644 --- a/src/moves.c +++ b/src/moves.c @@ -62,7 +62,6 @@ extern void xxx_format_and_draw(u32, u32, const u8 *, u32, u32); extern void unk_MovePrintData(struct Move*, int); // print something extern u32 sub_8097DF0(char *, struct subStruct_203B240 **); -extern void sub_80078A4(u32, u32, u32, u32, u32); extern u8 sub_8092B00(struct Move*); extern u32 sub_8092BC0(struct Move*); extern u32 gUnknown_202DE30; diff --git a/src/options_menu.c b/src/options_menu.c index 8e952a209..96bfe2a16 100644 --- a/src/options_menu.c +++ b/src/options_menu.c @@ -55,7 +55,6 @@ extern const char *gUnknown_80D4928[]; extern void sub_8008C54(u32); extern s32 sub_8008ED0(u8 *); extern void CreateOthersMenu(void); -extern void sub_80078A4(u32, u32, u32, u32, u32); void PlayMenuSoundEffect(u32); void CreateOptionsMenu(void); void nullsub_38(void); diff --git a/src/text1.c b/src/text1.c index de693fa71..93124abaa 100644 --- a/src/text1.c +++ b/src/text1.c @@ -17,7 +17,7 @@ EWRAM_DATA struct UnkTextStruct2 gUnknown_202AFC0[4]; EWRAM_DATA u32 gUnknown_202B020; EWRAM_DATA u32 gUnknown_202B024; EWRAM_DATA u32 gUnknown_202B028[2]; -EWRAM_DATA u32 gUnknown_202B030; +EWRAM_DATA u32 gUnknown_202B030; // Some text color info is stored; retrieve via "& 0xF" EWRAM_DATA u8 gUnknown_202B034; EWRAM_DATA u16 gUnknown_202B038[4][32][32]; diff --git a/src/text2.c b/src/text2.c index 0b7fa099f..2aca33d21 100644 --- a/src/text2.c +++ b/src/text2.c @@ -1897,4 +1897,10 @@ u32 xxx_draw_char(struct UnkTextStruct1 *a0, s32 x, s32 y, u32 a3, u32 color, u3 "_08007898: .4byte 0x11111111\n" "_0800789C: .4byte gUnknown_202B030\n" "_080078A0: .4byte gCharacterSpacing"); +} + +void sub_80078A4(u32 a0, s32 x, s32 y, u32 a3, u32 color) +{ + sub_800792C(a0, x, y, a3, color); + sub_800792C(a0, x, y + 1, a3, gUnknown_202B030 & 0xF); } \ No newline at end of file