diff options
-rw-r--r-- | data/option_menu.s | 20 | ||||
-rw-r--r-- | data/strings.s | 14 | ||||
-rw-r--r-- | graphics/misc/option_menu_equals_sign.png | bin | 0 -> 81 bytes | |||
-rw-r--r-- | graphics/misc/option_menu_text.pal | 19 | ||||
-rw-r--r-- | include/strings.h | 8 | ||||
-rw-r--r-- | ld_script.txt | 1 | ||||
-rw-r--r-- | src/option_menu.c | 63 |
7 files changed, 83 insertions, 42 deletions
diff --git a/data/option_menu.s b/data/option_menu.s deleted file mode 100644 index 05db7fddf..000000000 --- a/data/option_menu.s +++ /dev/null @@ -1,20 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 - -gUnknown_0855C604:: @ 855C604 - .incbin "baserom.gba", 0x55c604, 0x60 - -gUnknown_0855C664:: @ 855C664 - .incbin "baserom.gba", 0x55c664, 0x1c - -gUnknown_0855C680:: @ 855C680 - .incbin "baserom.gba", 0x55c680, 0x18 - -gUnknown_0855C698:: @ 855C698 - .incbin "baserom.gba", 0x55c698, 0x8 - -gUnknown_0855C6A0:: @ 855C6A0 - .incbin "baserom.gba", 0x55c6a0, 0x4 diff --git a/data/strings.s b/data/strings.s index 01bca9cd8..b26beefce 100644 --- a/data/strings.s +++ b/data/strings.s @@ -4399,25 +4399,25 @@ gText_ABtnTitleScreen:: @ 85EE572 gText_Option:: @ 85EE589 .string "OPTION$" -gUnknown_085EE590:: @ 85EE590 +gText_TextSpeed:: @ 85EE590 .string "TEXT SPEED$" -gUnknown_085EE59B:: @ 85EE59B +gText_BattleScene:: @ 85EE59B .string "BATTLE SCENE$" -gUnknown_085EE5A8:: @ 85EE5A8 +gText_BattleStyle:: @ 85EE5A8 .string "BATTLE STYLE$" -gUnknown_085EE5B5:: @ 85EE5B5 +gText_Sound:: @ 85EE5B5 .string "SOUND$" -gUnknown_085EE5BB:: @ 85EE5BB +gText_Frame:: @ 85EE5BB .string "FRAME$" -gUnknown_085EE5C1:: @ 85EE5C1 +gText_OptionMenuCancel:: @ 85EE5C1 .string "CANCEL$" -gUnknown_085EE5C8:: @ 85EE5C8 +gText_ButtonMode:: @ 85EE5C8 .string "BUTTON MODE$" gText_TextSpeedSlow:: @ 85EE5D4 diff --git a/graphics/misc/option_menu_equals_sign.png b/graphics/misc/option_menu_equals_sign.png Binary files differnew file mode 100644 index 000000000..7e56e3cc3 --- /dev/null +++ b/graphics/misc/option_menu_equals_sign.png diff --git a/graphics/misc/option_menu_text.pal b/graphics/misc/option_menu_text.pal new file mode 100644 index 000000000..e7d6c330a --- /dev/null +++ b/graphics/misc/option_menu_text.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +255 180 82 +197 123 0 +255 139 131 +255 49 24 +74 74 74 +213 213 205 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/include/strings.h b/include/strings.h index 5a26881a3..7527e56fb 100644 --- a/include/strings.h +++ b/include/strings.h @@ -186,5 +186,13 @@ extern const u8 gText_ButtonTypeNormal[]; extern const u8 gText_ButtonTypeLR[]; extern const u8 gText_ButtonTypeLEqualsA[]; extern const u8 gText_Option[]; +extern const u8 gText_OptionMenu[]; +extern const u8 gText_TextSpeed[]; +extern const u8 gText_BattleScene[]; +extern const u8 gText_BattleStyle[]; +extern const u8 gText_Sound[]; +extern const u8 gText_Frame[]; +extern const u8 gText_OptionMenuCancel[]; +extern const u8 gText_ButtonMode[]; #endif //GUARD_STRINGS_H diff --git a/ld_script.txt b/ld_script.txt index c61a3cfbf..fd0f47f5f 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -429,7 +429,6 @@ SECTIONS { data/wild_encounter.o(.rodata); data/field_effect.o(.rodata); src/option_menu.o(.rodata); - data/option_menu.o(.rodata); src/pokedex.o(.rodata); data/pokedex.o(.rodata); data/trainer_card.o(.rodata); diff --git a/src/option_menu.c b/src/option_menu.c index 5b88338ab..07d22eeb0 100644 --- a/src/option_menu.c +++ b/src/option_menu.c @@ -74,16 +74,51 @@ static void sub_80BB154(void); EWRAM_DATA static bool8 sArrowPressed = FALSE; // const rom data -/* -const u16 gUnknown_0839F5FC[] = INCBIN_U16("graphics/misc/option_menu_text.gbapal"); +static const u16 sUnknown_0855C604[] = INCBIN_U16("graphics/misc/option_menu_text.gbapal"); // note: this is only used in the Japanese release -const static u8 gUnknown_0839F63C[] = INCBIN_U8("graphics/misc/option_menu_equals_sign.4bpp"); -*/ -extern const struct BgTemplate gUnknown_0855C698[2]; -extern const struct WindowTemplate gUnknown_0855C680[]; -extern const u16 gUnknown_0855C6A0[1]; -extern const u16 gUnknown_0855C604[16]; -extern const u8 *const gUnknown_0855C664[MENUITEM_COUNT]; +static const u8 sEqualSignGfx[] = INCBIN_U8("graphics/misc/option_menu_equals_sign.4bpp"); + +static const u8 *const OptionMenuItemsNames[MENUITEM_COUNT] = +{ + gText_TextSpeed, + gText_BattleScene, + gText_BattleStyle, + gText_Sound, + gText_ButtonMode, + gText_Frame, + gText_OptionMenuCancel, +}; + +static const struct WindowTemplate sOptionMenuWinTemplates[] = +{ + {1, 2, 1, 0x1A, 2, 1, 2}, + {0, 2, 5, 0x1A, 0xE, 1, 0x36}, + DUMMY_WIN_TEMPLATE +}; + +static const struct BgTemplate sOptionMenuBgTemplates[] = +{ + { + .bg = 1, + .charBaseIndex = 1, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 0, + .charBaseIndex = 1, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + } +}; + +static const u16 sUnknown_0855C6A0[] = {0x7E51}; // code static void MainCB2(void) @@ -132,7 +167,7 @@ void CB2_InitOptionMenu(void) DmaClear16(3, PLTT, PLTT_SIZE); SetGpuReg(REG_OFFSET_DISPCNT, 0); ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_0855C698, ARRAY_COUNT(gUnknown_0855C698)); + InitBgsFromTemplates(0, sOptionMenuBgTemplates, ARRAY_COUNT(sOptionMenuBgTemplates)); ChangeBgX(0, 0, 0); ChangeBgY(0, 0, 0); ChangeBgX(1, 0, 0); @@ -141,7 +176,7 @@ void CB2_InitOptionMenu(void) ChangeBgY(2, 0, 0); ChangeBgX(3, 0, 0); ChangeBgY(3, 0, 0); - InitWindows(gUnknown_0855C680); + InitWindows(sOptionMenuWinTemplates); DeactivateAllTextPrinters(); SetGpuReg(REG_OFFSET_WIN0H, 0); SetGpuReg(REG_OFFSET_WIN0V, 0); @@ -168,12 +203,12 @@ void CB2_InitOptionMenu(void) gMain.state++; break; case 4: - LoadPalette(gUnknown_0855C6A0, 0, sizeof(gUnknown_0855C6A0)); + LoadPalette(sUnknown_0855C6A0, 0, sizeof(sUnknown_0855C6A0)); LoadPalette(GetWindowFrameTilesPal(gSaveBlock2Ptr->optionsWindowFrameType)->pal, 0x70, 0x20); gMain.state++; break; case 5: - LoadPalette(gUnknown_0855C604, 0x10, sizeof(gUnknown_0855C604)); + LoadPalette(sUnknown_0855C604, 0x10, sizeof(sUnknown_0855C604)); gMain.state++; break; case 6: @@ -601,7 +636,7 @@ static void DrawOptionMenuTexts(void) FillWindowPixelBuffer(WIN_OPTIONS, 0x11); for (i = 0; i < MENUITEM_COUNT; i++) { - PrintTextOnWindow(WIN_OPTIONS, 1, gUnknown_0855C664[i], 8, (i * 16) + 1, TEXT_SPEED_FF, NULL); + PrintTextOnWindow(WIN_OPTIONS, 1, OptionMenuItemsNames[i], 8, (i * 16) + 1, TEXT_SPEED_FF, NULL); } CopyWindowToVram(WIN_OPTIONS, 3); } |