diff --git a/data/data_80DBD98.s b/data/data_80DBD98.s index cde0e8af0..7b76fdee6 100644 --- a/data/data_80DBD98.s +++ b/data/data_80DBD98.s @@ -99,59 +99,4 @@ gWindowBGRedString: @ 80DC08C .global gWindowBGGreenString gWindowBGGreenString: @ 80DC090 - .string "Green\0" - -@ hints_menu #1 - .align 2,0 -.string "pksdir0\0" - .align 2,0 - - .global gUnknown_80DC0A0 -gUnknown_80DC0A0: @ 80DC0A0 - .byte 0x00, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - - .global Data_80DC0B8 - Data_80DC0B8: - .byte 0x01, 0x00, 0x08, 0x00 - - .global gUnknown_80DC0BC -gUnknown_80DC0BC: @ 80DC0BC - .byte 0x00, 0x00, 0x00, 0x00 - .byte 0x06, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x02, 0x00 - .byte 0x18, 0x00, 0x0E, 0x00 - .byte 0x0E, 0x00, 0x00, 0x00 - - .4byte Data_80DC0B8 - - .global gUnknown_80DC0D4 -gUnknown_80DC0D4: @ 80DC0D4 - .string "Hints\0" - -@ hints_menu #2 - .align 2,0 -.string "pksdir0\0" - .align 2,0 - - .global gUnknown_80DC0E4 -gUnknown_80DC0E4: @ 80DC0E4 - .byte 0x00, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - - .global gUnknown_80DC0FC -gUnknown_80DC0FC: @ 80DC0FC - .byte 0x00, 0x00, 0x00, 0x00 - .byte 0x06, 0x00, 0x00, 0x00 - .byte 0x02, 0x00, 0x02, 0x00 - .byte 0x1a, 0x00, 0x10, 0x00 - .byte 0x10, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 \ No newline at end of file + .string "Green\0" \ No newline at end of file diff --git a/include/hints_menu1.h b/include/hints_menu1.h new file mode 100644 index 000000000..c41636e32 --- /dev/null +++ b/include/hints_menu1.h @@ -0,0 +1,23 @@ +#ifndef GUARD_HINTS_MENU1_H +#define GUARD_HINTS_MENU1_H + +#include "input.h" +#include "structs/str_text.h" + +// size: 0x9C +struct unkStruct_203B264 +{ + MenuInputStruct input; + u32 unk34; + UnkTextStruct2 *unk38; + UnkTextStruct2 unk3C[4]; +}; + +void CreateHintSelectionScreen(bool8 cursorSprite); +s32 GetChosenHintIndex(void); + +bool8 sub_801E3F0(u32); +u32 sub_801E474(bool8); +void sub_801E54C(void); + +#endif // GUARD_HINTS_MENU1_H \ No newline at end of file diff --git a/include/hints_menu2.h b/include/hints_menu2.h new file mode 100644 index 000000000..203adb24d --- /dev/null +++ b/include/hints_menu2.h @@ -0,0 +1,21 @@ +#ifndef GUARD_HINTS_MENU2_H +#define GUARD_HINTS_MENU2_H + +#include "input.h" +#include "structs/str_text.h" + +// size: 0xA0 +struct unkStruct_203B268 +{ + MenuInputStruct input; + u32 unk34; + UnkTextStruct2 *unk38; + UnkTextStruct2 unk3C[4]; + u8 unk9C[4]; +}; + +bool8 CreateHintDisplayScreen(u32 index); +void DestroyHintDisplayScreen(void); +u32 HandleHintDisplayScreenInput(void); + +#endif // GUARD_HINTS_MENU2_H \ No newline at end of file diff --git a/ld_script.txt b/ld_script.txt index b3aacade0..38d876bfc 100755 --- a/ld_script.txt +++ b/ld_script.txt @@ -113,7 +113,8 @@ SECTIONS { src/code_801D014.o(.text); src/code_801D9E4.o(.text); src/options_menu.o(.text); - src/hints_menu.o(.text); + src/hints_menu1.o(.text); + src/hints_menu2.o(.text); src/gulpin_shop.o(.text); src/code_801EE10.o(.text); asm/code_801EE10.o(.text); @@ -431,6 +432,8 @@ SECTIONS { src/code_801D014.o(.rodata); src/code_801D9E4.o(.rodata); data/data_80DBD98.o(.rodata); + src/hints_menu1.o(.rodata); + src/hints_menu2.o(.rodata); src/gulpin_shop.o(.rodata); data/data_80DC240.o(.rodata); src/gulpin_shop_801FB50.o(.rodata); diff --git a/src/data/hints_menu1.h b/src/data/hints_menu1.h new file mode 100644 index 000000000..1150dfddf --- /dev/null +++ b/src/data/hints_menu1.h @@ -0,0 +1,22 @@ +ALIGNED(4) static const u8 sFill[] = _("pksdir0"); + +static const UnkTextStruct2 sUnknown_80DC0A0 = { + 0, 0, 0, 0, + 3, + 0, 0, + 0, 0, + 0, 0, + NULL +}; + +static const u8 sUnknown_80DC0B8[] = {1, 0, 8, 0}; +static const UnkTextStruct2 sUnknown_80DC0BC = { + 0, 0, 0, 0, + 6, + 2, 2, + 24, 14, + 14, 0, + sUnknown_80DC0B8 +}; + +ALIGNED(4) static const u8 sHints[] = _("Hints"); \ No newline at end of file diff --git a/src/data/hints_menu2.h b/src/data/hints_menu2.h new file mode 100644 index 000000000..3d0fb16d8 --- /dev/null +++ b/src/data/hints_menu2.h @@ -0,0 +1,19 @@ +ALIGNED(4) static const u8 sFill[] = _("pksdir0"); + +static const UnkTextStruct2 sUnknown_80DC0E4 = { + 0, 0, 0, 0, + 3, + 0, 0, + 0, 0, + 0, 0, + NULL +}; + +static const UnkTextStruct2 sUnknown_80DC0FC = { + 0, 0, 0, 0, + 6, + 2, 2, + 26, 16, + 16, 0, + NULL +}; \ No newline at end of file diff --git a/src/hints_menu.c b/src/hints_menu.c deleted file mode 100644 index 535be5e4f..000000000 --- a/src/hints_menu.c +++ /dev/null @@ -1,259 +0,0 @@ -#include "global.h" -#include "code_80118A4.h" -#include "common_strings.h" -#include "memory.h" -#include "menu_input.h" -#include "text1.h" -#include "text2.h" -#include "input.h" - -struct unkStruct_203B268 -{ - // size: 0xA0 - MenuInputStruct input; - u32 unk34; - UnkTextStruct2 *unk38; - UnkTextStruct2 unk3C[4]; - u8 unk9C[4]; -}; - -struct unkStruct_203B264 -{ - // size: 0x9C - MenuInputStruct input; - u32 unk34; - UnkTextStruct2 *unk38; - UnkTextStruct2 unk3C[4]; -}; - -extern struct unkStruct_203B264 *gUnknown_203B264; - -extern struct unkStruct_203B268 *gUnknown_203B268; - -extern UnkTextStruct2 gUnknown_80DC0A0; -extern UnkTextStruct2 gUnknown_80DC0BC; -extern UnkTextStruct2 gUnknown_80DC0E4; -extern UnkTextStruct2 gUnknown_80DC0FC; -extern u8 gUnknown_80DC0D4[MAX_HINTS]; - -extern void sub_801E714(void); -extern void sub_801E714(void); -extern void sub_801E76C(void); -extern void DisplayChosenHint(void); -void DrawHintSelectionMenu(void); -void sub_801E594(void); - -u32 sub_801E3F0(u32 r0) -{ - if(gUnknown_203B264 == NULL) - gUnknown_203B264 = MemoryAlloc(sizeof(struct unkStruct_203B264), 8); - gUnknown_203B264->unk34 = r0; - gUnknown_203B264->unk38 = &gUnknown_203B264->unk3C[r0]; - sub_8006518(gUnknown_203B264->unk3C); - gUnknown_203B264->unk3C[gUnknown_203B264->unk34] = gUnknown_80DC0BC; - sub_8012D08(gUnknown_203B264->unk38, 0xA); - ResetUnusedInputStruct(); - sub_800641C(gUnknown_203B264->unk3C, TRUE, TRUE); - sub_8013818(&gUnknown_203B264->input, 0x5, 0xA, r0); - sub_801E594(); - DrawHintSelectionMenu(); - return 1; -} - -u32 sub_801E474(u8 r0) -{ - if(r0 == 0) - { - sub_8013660(&gUnknown_203B264->input); - return 0; - } - switch(GetKeyPress(&gUnknown_203B264->input)) - { - case 2: - PlayMenuSoundEffect(1); - return 2; - case 1: - PlayMenuSoundEffect(0); - return 3; - case 4: - PlayMenuSoundEffect(4); - return 4; - default: - if(sub_80138B8(&gUnknown_203B264->input, 1)) - { - sub_801E594(); - DrawHintSelectionMenu(); - return 1; - } - else - return 0; - } -} - -s32 GetChosenHintIndex(void) -{ - return (gUnknown_203B264->input.unk1E * gUnknown_203B264->input.unk1C) + gUnknown_203B264->input.menuIndex; -} - -void CreateHintSelectionScreen(u8 r0) -{ - ResetUnusedInputStruct(); - sub_800641C(gUnknown_203B264->unk3C, FALSE, FALSE); - sub_8013984(&gUnknown_203B264->input); - sub_801E594(); - DrawHintSelectionMenu(); - if(r0) - AddMenuCursorSprite(&gUnknown_203B264->input); -} - -void sub_801E54C(void) -{ - if(gUnknown_203B264 != NULL) - { - gUnknown_203B264->unk3C[gUnknown_203B264->unk34] = gUnknown_80DC0A0; - ResetUnusedInputStruct(); - sub_800641C(gUnknown_203B264->unk3C, TRUE, TRUE); - MemoryFree(gUnknown_203B264); - gUnknown_203B264 = NULL; - } -} - -NAKED // sub_80095E4 memes -void sub_801E594(void) -{ - asm_unified( - "\tpush {r4,lr}\n" - "\tldr r4, _0801E5E4\n" - "\tldr r0, [r4]\n" - "\tmovs r1, 0x1A\n" - "\tldrsh r0, [r0, r1]\n" - "\tmovs r1, 0xC\n" - "\tbl sub_80095E4\n" - "\tadds r0, 0x2\n" - "\tlsls r0, 16\n" - "\tldr r2, [r4]\n" - "\tldr r3, [r2, 0x34]\n" - "\tlsls r1, r3, 1\n" - "\tadds r1, r3\n" - "\tlsls r1, 3\n" - "\tadds r1, r2, r1\n" - "\tadds r1, 0x4A\n" - "\tasrs r3, r0, 16\n" - "\tlsrs r0, 16\n" - "\tstrh r0, [r1]\n" - "\tldr r1, [r2, 0x34]\n" - "\tlsls r0, r1, 1\n" - "\tadds r0, r1\n" - "\tlsls r0, 3\n" - "\tadds r2, r0\n" - "\tadds r3, 0x2\n" - "\tadds r2, 0x4C\n" - "\tstrh r3, [r2]\n" - "\tbl ResetUnusedInputStruct\n" - "\tldr r0, [r4]\n" - "\tadds r0, 0x3C\n" - "\tmovs r1, 0x1\n" - "\tmovs r2, 0x1\n" - "\tbl sub_800641C\n" - "\tpop {r4}\n" - "\tpop {r0}\n" - "\tbx r0\n" - "\t.align 2, 0\n" -"_0801E5E4: .4byte gUnknown_203B264"); -} - -void DrawHintSelectionMenu(void) -{ - s32 hintIndex; - s32 y; - - sub_8008C54(gUnknown_203B264->unk34); - sub_80073B8(gUnknown_203B264->unk34); - xxx_call_draw_string(16, 0, gUnknown_80DC0D4, gUnknown_203B264->unk34, 0); - for(hintIndex = 0; hintIndex < MAX_HINTS; hintIndex++) - { - y = sub_8013800(&gUnknown_203B264->input, hintIndex); - xxx_call_draw_string(10, y, gCommonHints[hintIndex].heading, gUnknown_203B264->unk34, 0); - } - sub_80073E0(gUnknown_203B264->unk34); -} - - - -// THIS IS A NEW FILE - - - - -u32 CreateHintDisplayScreen(u32 index) -{ - gUnknown_203B268 = MemoryAlloc(sizeof(struct unkStruct_203B268), 8); - gUnknown_203B268->unk34 = 0; - gUnknown_203B268->unk38 = gUnknown_203B268->unk3C; - sub_8006518(gUnknown_203B268->unk3C); - gUnknown_203B268->unk3C[gUnknown_203B268->unk34] = gUnknown_80DC0FC; - gUnknown_203B268->unk38->unk14 = gUnknown_203B268->unk9C; - ResetUnusedInputStruct(); - sub_800641C(gUnknown_203B268->unk3C, TRUE, TRUE); - sub_8013818(&gUnknown_203B268->input, 5, 1, gUnknown_203B268->unk34); - gUnknown_203B268->input.unk1E = index; - sub_801E714(); - - return 1; -} - -u32 HandleHintDisplayScreenInput(void) -{ - switch(GetKeyPress(&gUnknown_203B268->input)) - { - case 2: - PlayMenuSoundEffect(1); - return 2; - case 1: - PlayMenuSoundEffect(0); - return 3; - default: - if(sub_8013938(&gUnknown_203B268->input)){ - sub_801E714(); - return 1; - } - else - return 0; - } -} - -void sub_801E714(void) -{ - sub_801E76C(); - DisplayChosenHint(); -} - -void DestroyHintDisplayScreen(void) -{ - if(gUnknown_203B268 != NULL) - { - gUnknown_203B268->unk3C[gUnknown_203B268->unk34] = gUnknown_80DC0E4; - ResetUnusedInputStruct(); - sub_800641C(gUnknown_203B268->unk3C, TRUE, TRUE); - MemoryFree(gUnknown_203B268); - gUnknown_203B268 = NULL; - } -} - -void sub_801E76C(void) -{ - gUnknown_203B268->unk9C[0] = gUnknown_203B268->input.unk20; - gUnknown_203B268->unk9C[1] = gUnknown_203B268->input.unk1E; - gUnknown_203B268->unk9C[2] = 0xF; - gUnknown_203B268->unk9C[3] = 0; - ResetUnusedInputStruct(); - sub_800641C(gUnknown_203B268->unk3C, TRUE, TRUE); -} - -void DisplayChosenHint(void) -{ - sub_80073B8(gUnknown_203B268->unk34); - xxx_call_draw_string((gUnknown_203B268->input.unk1E << 3) + 0x10, 0, gCommonHints[gUnknown_203B268->input.unk1E].heading, gUnknown_203B268->unk34, 0); - xxx_call_draw_string(0xA, 0x14, gCommonHints[gUnknown_203B268->input.unk1E].body, gUnknown_203B268->unk34, 0); - sub_80073E0(gUnknown_203B268->unk34); -} diff --git a/src/hints_menu1.c b/src/hints_menu1.c new file mode 100644 index 000000000..e53591c7b --- /dev/null +++ b/src/hints_menu1.c @@ -0,0 +1,153 @@ +#include "global.h" +#include "code_80118A4.h" +#include "common_strings.h" +#include "hints_menu1.h" +#include "memory.h" +#include "menu_input.h" +#include "text1.h" +#include "text2.h" + +static EWRAM_DATA_2 struct unkStruct_203B264 *sUnknown_203B264 = {0}; + +#include "data/hints_menu1.h" + +static void DrawHintSelectionMenu(void); + +static void sub_801E594(void); + +bool8 sub_801E3F0(u32 a0) +{ + if (sUnknown_203B264 == NULL) + sUnknown_203B264 = MemoryAlloc(sizeof(struct unkStruct_203B264), 8); + + sUnknown_203B264->unk34 = a0; + sUnknown_203B264->unk38 = &sUnknown_203B264->unk3C[a0]; + sub_8006518(sUnknown_203B264->unk3C); + sUnknown_203B264->unk3C[sUnknown_203B264->unk34] = sUnknown_80DC0BC; + sub_8012D08(sUnknown_203B264->unk38, 10); + ResetUnusedInputStruct(); + sub_800641C(sUnknown_203B264->unk3C, TRUE, TRUE); + sub_8013818(&sUnknown_203B264->input, 5, 10, a0); + sub_801E594(); + DrawHintSelectionMenu(); + return TRUE; +} + +u32 sub_801E474(bool8 a0) +{ + if (a0 == 0) { + sub_8013660(&sUnknown_203B264->input); + return 0; + } + + switch(GetKeyPress(&sUnknown_203B264->input)) + { + case 2: + PlayMenuSoundEffect(1); + return 2; + case 1: + PlayMenuSoundEffect(0); + return 3; + case 4: + PlayMenuSoundEffect(4); + return 4; + default: + if(sub_80138B8(&sUnknown_203B264->input, 1)) + { + sub_801E594(); + DrawHintSelectionMenu(); + return 1; + } + else + return 0; + } +} + +s32 GetChosenHintIndex(void) +{ + return (sUnknown_203B264->input.unk1E * sUnknown_203B264->input.unk1C) + sUnknown_203B264->input.menuIndex; +} + +void CreateHintSelectionScreen(bool8 cursorSprite) +{ + ResetUnusedInputStruct(); + sub_800641C(sUnknown_203B264->unk3C, FALSE, FALSE); + sub_8013984(&sUnknown_203B264->input); + sub_801E594(); + DrawHintSelectionMenu(); + + if (cursorSprite) + AddMenuCursorSprite(&sUnknown_203B264->input); +} + +void sub_801E54C(void) +{ + if (sUnknown_203B264 != NULL) { + sUnknown_203B264->unk3C[sUnknown_203B264->unk34] = sUnknown_80DC0A0; + ResetUnusedInputStruct(); + sub_800641C(sUnknown_203B264->unk3C, TRUE, TRUE); + MemoryFree(sUnknown_203B264); + sUnknown_203B264 = NULL; + } +} + +NAKED // sub_80095E4 memes +static void sub_801E594(void) +{ + asm_unified( + "\tpush {r4,lr}\n" + "\tldr r4, _0801E5E4\n" + "\tldr r0, [r4]\n" + "\tmovs r1, 0x1A\n" + "\tldrsh r0, [r0, r1]\n" + "\tmovs r1, 0xC\n" + "\tbl sub_80095E4\n" + "\tadds r0, 0x2\n" + "\tlsls r0, 16\n" + "\tldr r2, [r4]\n" + "\tldr r3, [r2, 0x34]\n" + "\tlsls r1, r3, 1\n" + "\tadds r1, r3\n" + "\tlsls r1, 3\n" + "\tadds r1, r2, r1\n" + "\tadds r1, 0x4A\n" + "\tasrs r3, r0, 16\n" + "\tlsrs r0, 16\n" + "\tstrh r0, [r1]\n" + "\tldr r1, [r2, 0x34]\n" + "\tlsls r0, r1, 1\n" + "\tadds r0, r1\n" + "\tlsls r0, 3\n" + "\tadds r2, r0\n" + "\tadds r3, 0x2\n" + "\tadds r2, 0x4C\n" + "\tstrh r3, [r2]\n" + "\tbl ResetUnusedInputStruct\n" + "\tldr r0, [r4]\n" + "\tadds r0, 0x3C\n" + "\tmovs r1, 0x1\n" + "\tmovs r2, 0x1\n" + "\tbl sub_800641C\n" + "\tpop {r4}\n" + "\tpop {r0}\n" + "\tbx r0\n" + "\t.align 2, 0\n" +"_0801E5E4: .4byte sUnknown_203B264"); +} + +static void DrawHintSelectionMenu(void) +{ + s32 hintIndex; + s32 y; + + sub_8008C54(sUnknown_203B264->unk34); + sub_80073B8(sUnknown_203B264->unk34); + xxx_call_draw_string(16, 0, sHints, sUnknown_203B264->unk34, 0); + + for (hintIndex = 0; hintIndex < MAX_HINTS; hintIndex++) { + y = sub_8013800(&sUnknown_203B264->input, hintIndex); + xxx_call_draw_string(10, y, gCommonHints[hintIndex].heading, sUnknown_203B264->unk34, 0); + } + + sub_80073E0(sUnknown_203B264->unk34); +} \ No newline at end of file diff --git a/src/hints_menu2.c b/src/hints_menu2.c new file mode 100644 index 000000000..3efe8b018 --- /dev/null +++ b/src/hints_menu2.c @@ -0,0 +1,87 @@ +#include "global.h" +#include "code_80118A4.h" +#include "common_strings.h" +#include "hints_menu2.h" +#include "memory.h" +#include "menu_input.h" +#include "text1.h" +#include "text2.h" + +static EWRAM_DATA_2 struct unkStruct_203B268 *sUnknown_203B268 = {0}; + +#include "data/hints_menu2.h" + +static void DisplayChosenHint(void); + +static void sub_801E714(void); +static void sub_801E76C(void); + +bool8 CreateHintDisplayScreen(u32 index) +{ + sUnknown_203B268 = MemoryAlloc(sizeof(struct unkStruct_203B268), 8); + sUnknown_203B268->unk34 = 0; + sUnknown_203B268->unk38 = sUnknown_203B268->unk3C; + sub_8006518(sUnknown_203B268->unk3C); + sUnknown_203B268->unk3C[sUnknown_203B268->unk34] = sUnknown_80DC0FC; + sUnknown_203B268->unk38->unk14 = sUnknown_203B268->unk9C; + ResetUnusedInputStruct(); + sub_800641C(sUnknown_203B268->unk3C, TRUE, TRUE); + sub_8013818(&sUnknown_203B268->input, 5, 1, sUnknown_203B268->unk34); + sUnknown_203B268->input.unk1E = index; + sub_801E714(); + + return TRUE; +} + +u32 HandleHintDisplayScreenInput(void) +{ + switch (GetKeyPress(&sUnknown_203B268->input)) { + case 2: + PlayMenuSoundEffect(1); + return 2; + case 1: + PlayMenuSoundEffect(0); + return 3; + default: + if (sub_8013938(&sUnknown_203B268->input)) { + sub_801E714(); + return 1; + } + return 0; + } +} + +static void sub_801E714(void) +{ + sub_801E76C(); + DisplayChosenHint(); +} + +void DestroyHintDisplayScreen(void) +{ + if (sUnknown_203B268 != NULL) { + sUnknown_203B268->unk3C[sUnknown_203B268->unk34] = sUnknown_80DC0E4; + ResetUnusedInputStruct(); + sub_800641C(sUnknown_203B268->unk3C, TRUE, TRUE); + MemoryFree(sUnknown_203B268); + sUnknown_203B268 = NULL; + } +} + +static void sub_801E76C(void) +{ + sUnknown_203B268->unk9C[0] = sUnknown_203B268->input.unk20; + sUnknown_203B268->unk9C[1] = sUnknown_203B268->input.unk1E; + sUnknown_203B268->unk9C[2] = 15; + sUnknown_203B268->unk9C[3] = 0; + ResetUnusedInputStruct(); + sub_800641C(sUnknown_203B268->unk3C, TRUE, TRUE); +} + +static void DisplayChosenHint(void) +{ + sub_80073B8(sUnknown_203B268->unk34); + xxx_call_draw_string((sUnknown_203B268->input.unk1E * 8) + 16, 0, gCommonHints[sUnknown_203B268->input.unk1E].heading, sUnknown_203B268->unk34, 0); + xxx_call_draw_string(10, 20, gCommonHints[sUnknown_203B268->input.unk1E].body, sUnknown_203B268->unk34, 0); + sub_80073E0(sUnknown_203B268->unk34); +} \ No newline at end of file diff --git a/src/options_menu.c b/src/options_menu.c index fc2380ba3..1241ed1fa 100644 --- a/src/options_menu.c +++ b/src/options_menu.c @@ -6,6 +6,8 @@ #include "constants/colors.h" #include "constants/input.h" #include "game_options.h" +#include "hints_menu1.h" +#include "hints_menu2.h" #include "memory.h" #include "menu_input.h" #include "options_menu.h" @@ -66,15 +68,7 @@ extern void HandleChangeSettingsMenu(); extern void sub_801DD84(); extern void sub_801DED0(); extern bool8 sub_801E198(GameOptions *); -extern void CreateHintDisplayScreen(u32); -extern void sub_801E3F0(u32); -extern void CreateHintSelectionScreen(u32); extern void CreateChangeSettingsConfirmMenu(void); -extern u32 sub_801E474(u32); -extern u32 GetChosenHintIndex(void); -extern void sub_801E54C(void); -extern u32 HandleHintDisplayScreenInput(void); -extern void DestroyHintDisplayScreen(void); extern u32 sub_801E218(void); extern void sub_801E2C4(void); @@ -285,8 +279,7 @@ void HandleOthersMenu(void) void sub_801E088(void) { - - switch(sub_801E474(1)) + switch(sub_801E474(TRUE)) { case 3: case 4: diff --git a/sym_ewram2.txt b/sym_ewram2.txt index f4f75466b..5765d784a 100644 --- a/sym_ewram2.txt +++ b/sym_ewram2.txt @@ -159,12 +159,8 @@ gUnknown_203B25C: /* 203B25C (sub_801DCC4 - HandleChangeSettingsMenu) */ gUnknown_203B260: /* 203B260 (sub_801E198 - CreateOptionsMenu) */ .space 0x4 -gUnknown_203B264: /* 203B264 (sub_801E3F0 - DrawHintSelectionMenu) */ - .space 0x4 - -gUnknown_203B268: /* 203B268 (CreateHintDisplayScreen - DisplayChosenHint) */ - .space 0x4 - +.include "src/hints_menu1.o" +.include "src/hints_menu2.o" .include "src/gulpin_shop.o" gUnknown_203B270: /* 203B270 */