summaryrefslogtreecommitdiff
path: root/src/main_menu.c
diff options
context:
space:
mode:
authorDizzyEggg <jajkodizzy@wp.pl>2018-09-09 20:31:56 +0200
committerDizzyEggg <jajkodizzy@wp.pl>2018-09-09 20:31:56 +0200
commitcf8898071d0aa02438be2b1b1d03a6e6b33892be (patch)
tree645e643948653d0ae99a9187aab5e769c1ac3737 /src/main_menu.c
parent4d1df7ecbe69cf151d00976648aa34faae8cd6e9 (diff)
parente21b91cc2f48c4b6bf2cb2d8e97ea1d55c0163bb (diff)
Merge branch 'decompile_frontier_2' of https://github.com/DizzyEggg/pokeemerald into decompile_frontier_2
Diffstat (limited to 'src/main_menu.c')
-rw-r--r--src/main_menu.c272
1 files changed, 197 insertions, 75 deletions
diff --git a/src/main_menu.c b/src/main_menu.c
index 19f11efab..fd8b1b04d 100644
--- a/src/main_menu.c
+++ b/src/main_menu.c
@@ -131,29 +131,151 @@ const u8 gUnknown_082FEEF0[] = INCBIN_U8("graphics/birch_speech/map.bin.lz");
const u16 gUnknown_082FF018[] = INCBIN_U16("graphics/birch_speech/bg2.gbapal");
const u16 gUnknown_082FF028[] = {0, 0, 0, 0, 0, 0, 0, 0};
-const struct WindowTemplate sWindowTemplates_NoSavedGame[] = {
- {0, 2, 1, 26, 2, 15, 1},
- {0, 2, 5, 26, 2, 15, 0x35}
-};
-
-const struct WindowTemplate sWindowTemplates_HasSavedGame[] = {
- {0, 2, 1, 26, 6, 15, 1},
- {0, 2, 9, 26, 2, 15, 0x9D},
- {0, 2, 13, 26, 2, 15, 0xD1},
- {0, 2, 17, 26, 2, 15, 0x105},
- {0, 2, 21, 26, 2, 15, 0x139}
-};
-
-const struct WindowTemplate sWindowTemplate_ErrorWindow[] = {
- {0, 2, 15, 26, 4, 15, 0x16D},
- {0xFF, 0, 0, 0, 0, 0, 0}
+#define MENU_LEFT 2
+#define MENU_TOP_WIN0 1
+#define MENU_TOP_WIN1 5
+#define MENU_TOP_WIN2 1
+#define MENU_TOP_WIN3 9
+#define MENU_TOP_WIN4 13
+#define MENU_TOP_WIN5 17
+#define MENU_TOP_WIN6 21
+#define MENU_WIDTH 26
+#define MENU_HEIGHT_WIN0 2
+#define MENU_HEIGHT_WIN1 2
+#define MENU_HEIGHT_WIN2 6
+#define MENU_HEIGHT_WIN3 2
+#define MENU_HEIGHT_WIN4 2
+#define MENU_HEIGHT_WIN5 2
+#define MENU_HEIGHT_WIN6 2
+
+#define MENU_LEFT_ERROR 2
+#define MENU_TOP_ERROR 15
+#define MENU_WIDTH_ERROR 26
+#define MENU_HEIGHT_ERROR 4
+
+#define MENU_SHADOW_PADDING 1
+
+#define MENU_WIN_HCOORDS WIN_RANGE(((MENU_LEFT - 1) * 8) + MENU_SHADOW_PADDING, (MENU_LEFT + MENU_WIDTH + 1) * 8 - MENU_SHADOW_PADDING)
+#define MENU_WIN_VCOORDS(n) WIN_RANGE(((MENU_TOP_WIN##n - 1) * 8) + MENU_SHADOW_PADDING, (MENU_TOP_WIN##n + MENU_HEIGHT_WIN##n + 1) * 8 - MENU_SHADOW_PADDING)
+#define MENU_SCROLL_SHIFT WIN_RANGE(32, 32)
+
+const struct WindowTemplate sWindowTemplates_MainMenu[] =
+{
+ // No saved game
+ // NEW GAME
+ {
+ .priority = 0,
+ .tilemapLeft = MENU_LEFT,
+ .tilemapTop = MENU_TOP_WIN0,
+ .width = MENU_WIDTH,
+ .height = MENU_HEIGHT_WIN0,
+ .paletteNum = 15,
+ .baseBlock = 1
+ },
+ // OPTIONS
+ {
+ .priority = 0,
+ .tilemapLeft = MENU_LEFT,
+ .tilemapTop = MENU_TOP_WIN1,
+ .width = MENU_WIDTH,
+ .height = MENU_HEIGHT_WIN1,
+ .paletteNum = 15,
+ .baseBlock = 0x35
+ },
+ // Has saved game
+ // CONTINUE
+ {
+ .priority = 0,
+ .tilemapLeft = MENU_LEFT,
+ .tilemapTop = MENU_TOP_WIN2,
+ .width = MENU_WIDTH,
+ .height = MENU_HEIGHT_WIN2,
+ .paletteNum = 15,
+ .baseBlock = 1
+ },
+ // NEW GAME
+ {
+ .priority = 0,
+ .tilemapLeft = MENU_LEFT,
+ .tilemapTop = MENU_TOP_WIN3,
+ .width = MENU_WIDTH,
+ .height = MENU_HEIGHT_WIN3,
+ .paletteNum = 15,
+ .baseBlock = 0x9D
+ },
+ // OPTION / MYSTERY GIFT
+ {
+ .priority = 0,
+ .tilemapLeft = MENU_LEFT,
+ .tilemapTop = MENU_TOP_WIN4,
+ .width = MENU_WIDTH,
+ .height = MENU_HEIGHT_WIN4,
+ .paletteNum = 15,
+ .baseBlock = 0xD1
+ },
+ // OPTION / MYSTERY EVENTS
+ {
+ .priority = 0,
+ .tilemapLeft = MENU_LEFT,
+ .tilemapTop = MENU_TOP_WIN5,
+ .width = MENU_WIDTH,
+ .height = MENU_HEIGHT_WIN5,
+ .paletteNum = 15,
+ .baseBlock = 0x105
+ },
+ // OPTION
+ {
+ .priority = 0,
+ .tilemapLeft = MENU_LEFT,
+ .tilemapTop = MENU_TOP_WIN6,
+ .width = MENU_WIDTH,
+ .height = MENU_HEIGHT_WIN6,
+ .paletteNum = 15,
+ .baseBlock = 0x139
+ },
+ // Error message window
+ {
+ .priority = 0,
+ .tilemapLeft = MENU_LEFT_ERROR,
+ .tilemapTop = MENU_TOP_ERROR,
+ .width = MENU_WIDTH_ERROR,
+ .height = MENU_HEIGHT_ERROR,
+ .paletteNum = 15,
+ .baseBlock = 0x16D
+ },
+ DUMMY_WIN_TEMPLATE
};
-const struct WindowTemplate gUnknown_082FF080[] = {
- {0, 2, 15, 27, 4, 15, 1},
- {0, 3, 5, 6, 4, 15, 0x6D},
- {0, 3, 2, 9, 10, 15, 0x85},
- {0xFF, 0, 0, 0, 0, 0, 0}
+const struct WindowTemplate gUnknown_082FF080[] =
+{
+ {
+ .priority = 0,
+ .tilemapLeft = 2,
+ .tilemapTop = 15,
+ .width = 27,
+ .height = 4,
+ .paletteNum = 15,
+ .baseBlock = 1
+ },
+ {
+ .priority = 0,
+ .tilemapLeft = 3,
+ .tilemapTop = 5,
+ .width = 6,
+ .height = 4,
+ .paletteNum = 15,
+ .baseBlock = 0x6D
+ },
+ {
+ .priority = 0,
+ .tilemapLeft = 3,
+ .tilemapTop = 2,
+ .width = 9,
+ .height = 10,
+ .paletteNum = 15,
+ .baseBlock = 0x85
+ },
+ DUMMY_WIN_TEMPLATE
};
const u16 gMainMenuBgPal[] = INCBIN_U16("graphics/misc/main_menu_bg.gbapal");
@@ -259,14 +381,14 @@ enum
{
HAS_NO_SAVED_GAME, //NEW GAME, OPTION
HAS_SAVED_GAME, //CONTINUE, NEW GAME, OPTION
- HAS_MYSTERY_GIFT, //CONTINUE, NEW GAME, MYSTERY EVENTS, OPTION
- HAS_MYSTERY_EVENTS,
+ HAS_MYSTERY_GIFT, //CONTINUE, NEW GAME, MYSTERY GIFT, OPTION
+ HAS_MYSTERY_EVENTS, //CONTINUE, NEW GAME, MYSTERY GIFT, MYSTERY EVENTS, OPTION
};
enum {
ACTION_NEW_GAME,
ACTION_CONTINUE,
- ACTION_OPTIONS,
+ ACTION_OPTION,
ACTION_MYSTERY_GIFT,
ACTION_MYSTERY_EVENTS,
ACTION_UNKNOWN, // TODO: change when rom_8011DC0 decompiled
@@ -331,12 +453,12 @@ u32 InitMainMenu(bool8 returningFromOptionsMenu)
else
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0xFFFF); // fade to white
ResetBgsAndClearDma3BusyFlags(0);
- InitBgsFromTemplates(0, gUnknown_082FF0E8, 2);
+ InitBgsFromTemplates(0, gUnknown_082FF0E8, ARRAY_COUNT(gUnknown_082FF0E8));
ChangeBgX(0, 0, 0);
ChangeBgY(0, 0, 0);
ChangeBgX(1, 0, 0);
ChangeBgY(1, 0, 0);
- InitWindows(sWindowTemplates_NoSavedGame);
+ InitWindows(sWindowTemplates_MainMenu);
DeactivateAllTextPrinters();
LoadMainMenuWindowFrameTiles(0, MAIN_MENU_BORDER_TILE);
@@ -443,7 +565,7 @@ void Task_WaitForSaveFileErrorWindow(u8 taskId)
if (!IsTextPrinterActive(7) && (gMain.newKeys & A_BUTTON))
{
ClearWindowTilemap(7);
- ClearMainMenuWindowTilemap(sWindowTemplate_ErrorWindow);
+ ClearMainMenuWindowTilemap(&sWindowTemplates_MainMenu[7]);
gTasks[taskId].func = Task_MainMenuCheckBattery;
}
}
@@ -478,7 +600,7 @@ void Task_WaitForBatteryDryErrorWindow(u8 taskId)
if (!IsTextPrinterActive(7) && (gMain.newKeys & A_BUTTON))
{
ClearWindowTilemap(7);
- ClearMainMenuWindowTilemap(sWindowTemplate_ErrorWindow);
+ ClearMainMenuWindowTilemap(&sWindowTemplates_MainMenu[7]);
gTasks[taskId].func = Task_DisplayMainMenu;
}
}
@@ -533,8 +655,8 @@ void Task_DisplayMainMenu(u8 taskId)
PutWindowTilemap(1);
CopyWindowToVram(0, 2);
CopyWindowToVram(1, 2);
- DrawMainMenuWindowBorder(&sWindowTemplates_NoSavedGame[0], MAIN_MENU_BORDER_TILE);
- DrawMainMenuWindowBorder(&sWindowTemplates_NoSavedGame[1], MAIN_MENU_BORDER_TILE);
+ DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[0], MAIN_MENU_BORDER_TILE);
+ DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[1], MAIN_MENU_BORDER_TILE);
break;
case HAS_SAVED_GAME:
FillWindowPixelBuffer(2, 0xAA);
@@ -550,9 +672,9 @@ void Task_DisplayMainMenu(u8 taskId)
CopyWindowToVram(2, 2);
CopyWindowToVram(3, 2);
CopyWindowToVram(4, 2);
- DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[0], MAIN_MENU_BORDER_TILE);
- DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[1], MAIN_MENU_BORDER_TILE);
- DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[2], MAIN_MENU_BORDER_TILE);
+ DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[2], MAIN_MENU_BORDER_TILE);
+ DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[3], MAIN_MENU_BORDER_TILE);
+ DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[4], MAIN_MENU_BORDER_TILE);
break;
case HAS_MYSTERY_GIFT:
FillWindowPixelBuffer(2, 0xAA);
@@ -572,10 +694,10 @@ void Task_DisplayMainMenu(u8 taskId)
CopyWindowToVram(3, 2);
CopyWindowToVram(4, 2);
CopyWindowToVram(5, 2);
- DrawMainMenuWindowBorder(sWindowTemplates_HasSavedGame, MAIN_MENU_BORDER_TILE);
- DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[1], MAIN_MENU_BORDER_TILE);
- DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[2], MAIN_MENU_BORDER_TILE);
- DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[3], MAIN_MENU_BORDER_TILE);
+ DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[2], MAIN_MENU_BORDER_TILE);
+ DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[3], MAIN_MENU_BORDER_TILE);
+ DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[4], MAIN_MENU_BORDER_TILE);
+ DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[5], MAIN_MENU_BORDER_TILE);
break;
case HAS_MYSTERY_EVENTS:
FillWindowPixelBuffer(2, 0xAA);
@@ -599,11 +721,11 @@ void Task_DisplayMainMenu(u8 taskId)
CopyWindowToVram(4, 2);
CopyWindowToVram(5, 2);
CopyWindowToVram(6, 2);
- DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[0], MAIN_MENU_BORDER_TILE);
- DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[1], MAIN_MENU_BORDER_TILE);
- DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[2], MAIN_MENU_BORDER_TILE);
- DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[3], MAIN_MENU_BORDER_TILE);
- DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[4], MAIN_MENU_BORDER_TILE);
+ DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[2], MAIN_MENU_BORDER_TILE);
+ DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[3], MAIN_MENU_BORDER_TILE);
+ DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[4], MAIN_MENU_BORDER_TILE);
+ DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[5], MAIN_MENU_BORDER_TILE);
+ DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[6], MAIN_MENU_BORDER_TILE);
tScrollArrowTaskId = AddScrollIndicatorArrowPair(&sScrollArrowsTemplate_MainMenu, &sCurrItemAndOptionMenuCheck);
gTasks[tScrollArrowTaskId].func = Task_ScrollIndicatorArrowPairOnMainMenu;
if (sCurrItemAndOptionMenuCheck == 4)
@@ -640,8 +762,8 @@ bool8 HandleMainMenuInput(u8 taskId)
{
PlaySE(SE_SELECT);
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_WHITEALPHA);
- SetGpuReg(REG_OFFSET_WIN0H, 0xF0);
- SetGpuReg(REG_OFFSET_WIN0V, 0xA0);
+ SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(0, 240));
+ SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(0, 160));
gTasks[taskId].func = Task_HandleMainMenuBPressed;
}
else if ((gMain.newKeys & DPAD_UP) && tCurrItem > 0)
@@ -706,7 +828,7 @@ void Task_HandleMainMenuAPressed(u8 taskId)
action = ACTION_NEW_GAME;
break;
case 1:
- action = ACTION_OPTIONS;
+ action = ACTION_OPTION;
break;
}
break;
@@ -721,7 +843,7 @@ void Task_HandleMainMenuAPressed(u8 taskId)
action = ACTION_NEW_GAME;
break;
case 2:
- action = ACTION_OPTIONS;
+ action = ACTION_OPTION;
break;
}
break;
@@ -740,11 +862,11 @@ void Task_HandleMainMenuAPressed(u8 taskId)
if (!wirelessAdapterConnected)
{
action = ACTION_INVALID;
- gTasks[taskId].tMenuType = 0;
+ gTasks[taskId].tMenuType = HAS_NO_SAVED_GAME;
}
break;
case 3:
- action = ACTION_OPTIONS;
+ action = ACTION_OPTION;
break;
}
break;
@@ -765,13 +887,13 @@ void Task_HandleMainMenuAPressed(u8 taskId)
if (!wirelessAdapterConnected)
{
action = ACTION_INVALID;
- gTasks[taskId].tMenuType = 0;
+ gTasks[taskId].tMenuType = HAS_NO_SAVED_GAME;
}
}
else if (wirelessAdapterConnected)
{
action = ACTION_INVALID;
- gTasks[taskId].tMenuType = 1;
+ gTasks[taskId].tMenuType = HAS_SAVED_GAME;
}
else
{
@@ -782,7 +904,7 @@ void Task_HandleMainMenuAPressed(u8 taskId)
if (wirelessAdapterConnected)
{
action = ACTION_INVALID;
- gTasks[taskId].tMenuType = 2;
+ gTasks[taskId].tMenuType = HAS_MYSTERY_GIFT;
}
else
{
@@ -790,7 +912,7 @@ void Task_HandleMainMenuAPressed(u8 taskId)
}
break;
case 4:
- action = ACTION_OPTIONS;
+ action = ACTION_OPTION;
break;
}
break;
@@ -811,7 +933,7 @@ void Task_HandleMainMenuAPressed(u8 taskId)
SetMainCallback2(CB2_ContinueSavedGame);
DestroyTask(taskId);
break;
- case ACTION_OPTIONS:
+ case ACTION_OPTION:
gMain.savedCallback = CB2_ReinitMainMenu;
SetMainCallback2(CB2_InitOptionMenu);
DestroyTask(taskId);
@@ -843,7 +965,7 @@ void Task_HandleMainMenuAPressed(u8 taskId)
return;
}
FreeAllWindowBuffers();
- if (action != ACTION_OPTIONS)
+ if (action != ACTION_OPTION)
sCurrItemAndOptionMenuCheck = 0;
else
sCurrItemAndOptionMenuCheck |= 0x8000; // entering the options menu
@@ -913,7 +1035,7 @@ void Task_DisplayMainMenuInvalidActionError(u8 taskId)
void HighlightSelectedMainMenuItem(u8 menuType, u8 selectedMenuItem, s16 isScrolled)
{
- SetGpuReg(REG_OFFSET_WIN0H, WINHV_COORDS(9, 231));
+ SetGpuReg(REG_OFFSET_WIN0H, MENU_WIN_HCOORDS);
switch (menuType)
{
@@ -923,10 +1045,10 @@ void HighlightSelectedMainMenuItem(u8 menuType, u8 selectedMenuItem, s16 isScrol
{
case 0:
default:
- SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(1, 31));
+ SetGpuReg(REG_OFFSET_WIN0V, MENU_WIN_VCOORDS(0));
break;
case 1:
- SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(33, 63));
+ SetGpuReg(REG_OFFSET_WIN0V, MENU_WIN_VCOORDS(1));
break;
}
break;
@@ -935,13 +1057,13 @@ void HighlightSelectedMainMenuItem(u8 menuType, u8 selectedMenuItem, s16 isScrol
{
case 0:
default:
- SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(1, 63));
+ SetGpuReg(REG_OFFSET_WIN0V, MENU_WIN_VCOORDS(2));
break;
case 1:
- SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(65, 95));
+ SetGpuReg(REG_OFFSET_WIN0V, MENU_WIN_VCOORDS(3));
break;
case 2:
- SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(97, 127));
+ SetGpuReg(REG_OFFSET_WIN0V, MENU_WIN_VCOORDS(4));
break;
}
break;
@@ -950,16 +1072,16 @@ void HighlightSelectedMainMenuItem(u8 menuType, u8 selectedMenuItem, s16 isScrol
{
case 0:
default:
- SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(1, 63));
+ SetGpuReg(REG_OFFSET_WIN0V, MENU_WIN_VCOORDS(2));
break;
case 1:
- SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(65, 95));
+ SetGpuReg(REG_OFFSET_WIN0V, MENU_WIN_VCOORDS(3));
break;
case 2:
- SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(97, 127));
+ SetGpuReg(REG_OFFSET_WIN0V, MENU_WIN_VCOORDS(4));
break;
case 3:
- SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(129, 159));
+ SetGpuReg(REG_OFFSET_WIN0V, MENU_WIN_VCOORDS(5));
break;
}
break;
@@ -968,28 +1090,28 @@ void HighlightSelectedMainMenuItem(u8 menuType, u8 selectedMenuItem, s16 isScrol
{
case 0:
default:
- SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(1, 63));
+ SetGpuReg(REG_OFFSET_WIN0V, MENU_WIN_VCOORDS(2));
break;
case 1:
if (isScrolled)
- SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(33, 63));
+ SetGpuReg(REG_OFFSET_WIN0V, MENU_WIN_VCOORDS(3) - MENU_SCROLL_SHIFT);
else
- SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(65, 95));
+ SetGpuReg(REG_OFFSET_WIN0V, MENU_WIN_VCOORDS(3));
break;
case 2:
if (isScrolled)
- SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(65, 95));
+ SetGpuReg(REG_OFFSET_WIN0V, MENU_WIN_VCOORDS(4) - MENU_SCROLL_SHIFT);
else
- SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(97, 127));
+ SetGpuReg(REG_OFFSET_WIN0V, MENU_WIN_VCOORDS(4));
break;
case 3:
if (isScrolled)
- SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(97, 127));
+ SetGpuReg(REG_OFFSET_WIN0V, MENU_WIN_VCOORDS(5) - MENU_SCROLL_SHIFT);
else
- SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(129, 159));
+ SetGpuReg(REG_OFFSET_WIN0V, MENU_WIN_VCOORDS(5));
break;
case 4:
- SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(129, 159));
+ SetGpuReg(REG_OFFSET_WIN0V, MENU_WIN_VCOORDS(6) - MENU_SCROLL_SHIFT);
break;
}
break;
@@ -1823,9 +1945,9 @@ void CreateMainMenuErrorWindow(const u8* str)
AddTextPrinterParameterized(7, 1, str, 0, 1, 2, 0);
PutWindowTilemap(7);
CopyWindowToVram(7, 2);
- DrawMainMenuWindowBorder(sWindowTemplate_ErrorWindow, MAIN_MENU_BORDER_TILE);
- SetGpuReg(REG_OFFSET_WIN0H, 0x9E7);
- SetGpuReg(REG_OFFSET_WIN0V, 0x719F);
+ DrawMainMenuWindowBorder(&sWindowTemplates_MainMenu[7], MAIN_MENU_BORDER_TILE);
+ SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(9, 231));
+ SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(113, 159));
}
void fmt_savegame(void)