Merge pull request #506 from Slawter666/menu

Minor labelling of menu.c
This commit is contained in:
Diegoisawesome 2019-01-02 17:29:27 -06:00 committed by GitHub
commit f8c708a82a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,24 +1,24 @@
#include "global.h" #include "global.h"
#include "bg.h"
#include "window.h"
#include "palette.h"
#include "menu.h"
#include "constants/songs.h"
#include "main.h"
#include "sound.h"
#include "menu_helpers.h"
#include "alloc.h" #include "alloc.h"
#include "task.h" #include "bg.h"
#include "dma3.h" #include "dma3.h"
#include "string_util.h"
#include "pokemon_icon.h"
#include "constants/flags.h"
#include "event_data.h" #include "event_data.h"
#include "pokedex.h"
#include "region_map.h"
#include "text_window.h"
#include "strings.h"
#include "graphics.h" #include "graphics.h"
#include "main.h"
#include "menu.h"
#include "menu_helpers.h"
#include "palette.h"
#include "pokedex.h"
#include "pokemon_icon.h"
#include "region_map.h"
#include "sound.h"
#include "string_util.h"
#include "strings.h"
#include "task.h"
#include "text_window.h"
#include "window.h"
#include "constants/flags.h"
#include "constants/songs.h"
#define DLG_WINDOW_PALETTE_NUM 15 #define DLG_WINDOW_PALETTE_NUM 15
#define DLG_WINDOW_BASE_TILE_NUM 0x200 #define DLG_WINDOW_BASE_TILE_NUM 0x200
@ -50,11 +50,11 @@ struct Menu
static EWRAM_DATA u8 sStartMenuWindowId = 0; static EWRAM_DATA u8 sStartMenuWindowId = 0;
static EWRAM_DATA u8 sMapNamePopupWindowId = 0; static EWRAM_DATA u8 sMapNamePopupWindowId = 0;
static EWRAM_DATA struct Menu gUnknown_0203CD90 = {0}; static EWRAM_DATA struct Menu sMenu = {0};
static EWRAM_DATA u16 gUnknown_0203CD9C = 0; static EWRAM_DATA u16 sTileNum = 0;
static EWRAM_DATA u8 gUnknown_0203CD9E = 0; static EWRAM_DATA u8 sPaletteNum = 0;
static EWRAM_DATA u8 gUnknown_0203CD9F = 0; static EWRAM_DATA u8 sYesNoWindowId = 0;
static EWRAM_DATA u8 gUnknown_0203CDA0 = 0; static EWRAM_DATA u8 sWindowId = 0;
static EWRAM_DATA u16 sFiller = 0; // needed to align static EWRAM_DATA u16 sFiller = 0; // needed to align
static EWRAM_DATA bool8 gUnknown_0203CDA4[4] = {FALSE}; static EWRAM_DATA bool8 gUnknown_0203CDA4[4] = {FALSE};
static EWRAM_DATA u16 gUnknown_0203CDA8 = 0; static EWRAM_DATA u16 gUnknown_0203CDA8 = 0;
@ -549,10 +549,10 @@ void sub_8197AE8(bool8 copyToVram)
CopyBgTilemapBufferToVram(0); CopyBgTilemapBufferToVram(0);
} }
void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a3, u8 a4) void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 tileNum, u8 paletteNum)
{ {
gUnknown_0203CD9C = a3; sTileNum = tileNum;
gUnknown_0203CD9E = a4; sPaletteNum = paletteNum;
CallWindowFunction(windowId, sub_8197BB4); CallWindowFunction(windowId, sub_8197BB4);
FillWindowPixelBuffer(windowId, 0x11); FillWindowPixelBuffer(windowId, 0x11);
PutWindowTilemap(windowId); PutWindowTilemap(windowId);
@ -560,10 +560,10 @@ void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a3, u8 a4)
CopyWindowToVram(windowId, 3); CopyWindowToVram(windowId, 3);
} }
void sub_8197B64(u8 windowId, bool8 copyToVram, u16 a3) void sub_8197B64(u8 windowId, bool8 copyToVram, u16 tileNum)
{ {
gUnknown_0203CD9C = a3; sTileNum = tileNum;
gUnknown_0203CD9E = GetWindowAttribute(windowId, WINDOW_PALETTE_NUM); sPaletteNum = GetWindowAttribute(windowId, WINDOW_PALETTE_NUM);
CallWindowFunction(windowId, sub_8197BB4); CallWindowFunction(windowId, sub_8197BB4);
FillWindowPixelBuffer(windowId, 0x11); FillWindowPixelBuffer(windowId, 0x11);
PutWindowTilemap(windowId); PutWindowTilemap(windowId);
@ -574,96 +574,96 @@ void sub_8197B64(u8 windowId, bool8 copyToVram, u16 a3)
void sub_8197BB4(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum) void sub_8197BB4(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
{ {
FillBgTilemapBufferRect(bg, FillBgTilemapBufferRect(bg,
gUnknown_0203CD9C + 1, sTileNum + 1,
tilemapLeft - 2, tilemapLeft - 2,
tilemapTop - 1, tilemapTop - 1,
1, 1,
1, 1,
gUnknown_0203CD9E); sPaletteNum);
FillBgTilemapBufferRect(bg, FillBgTilemapBufferRect(bg,
gUnknown_0203CD9C + 3, sTileNum + 3,
tilemapLeft - 1, tilemapLeft - 1,
tilemapTop - 1, tilemapTop - 1,
1, 1,
1, 1,
gUnknown_0203CD9E); sPaletteNum);
FillBgTilemapBufferRect(bg, FillBgTilemapBufferRect(bg,
gUnknown_0203CD9C + 4, sTileNum + 4,
tilemapLeft, tilemapLeft,
tilemapTop - 1, tilemapTop - 1,
width - 1, width - 1,
1, 1,
gUnknown_0203CD9E); sPaletteNum);
FillBgTilemapBufferRect(bg, FillBgTilemapBufferRect(bg,
gUnknown_0203CD9C + 5, sTileNum + 5,
tilemapLeft + width - 1, tilemapLeft + width - 1,
tilemapTop - 1, tilemapTop - 1,
1, 1,
1, 1,
gUnknown_0203CD9E); sPaletteNum);
FillBgTilemapBufferRect(bg, FillBgTilemapBufferRect(bg,
gUnknown_0203CD9C + 6, sTileNum + 6,
tilemapLeft + width, tilemapLeft + width,
tilemapTop - 1, tilemapTop - 1,
1, 1,
1, 1,
gUnknown_0203CD9E); sPaletteNum);
FillBgTilemapBufferRect(bg, FillBgTilemapBufferRect(bg,
gUnknown_0203CD9C + 7, sTileNum + 7,
tilemapLeft - 2, tilemapLeft - 2,
tilemapTop, tilemapTop,
1, 1,
5, 5,
gUnknown_0203CD9E); sPaletteNum);
FillBgTilemapBufferRect(bg, FillBgTilemapBufferRect(bg,
gUnknown_0203CD9C + 9, sTileNum + 9,
tilemapLeft - 1, tilemapLeft - 1,
tilemapTop, tilemapTop,
width + 1, width + 1,
5, 5,
gUnknown_0203CD9E); sPaletteNum);
FillBgTilemapBufferRect(bg, FillBgTilemapBufferRect(bg,
gUnknown_0203CD9C + 10, sTileNum + 10,
tilemapLeft + width, tilemapLeft + width,
tilemapTop, tilemapTop,
1, 1,
5, 5,
gUnknown_0203CD9E); sPaletteNum);
FillBgTilemapBufferRect(bg, FillBgTilemapBufferRect(bg,
BG_TILE_V_FLIP(gUnknown_0203CD9C + 1), BG_TILE_V_FLIP(sTileNum + 1),
tilemapLeft - 2, tilemapLeft - 2,
tilemapTop + height, tilemapTop + height,
1, 1,
1, 1,
gUnknown_0203CD9E); sPaletteNum);
FillBgTilemapBufferRect(bg, FillBgTilemapBufferRect(bg,
BG_TILE_V_FLIP(gUnknown_0203CD9C + 3), BG_TILE_V_FLIP(sTileNum + 3),
tilemapLeft - 1, tilemapLeft - 1,
tilemapTop + height, tilemapTop + height,
1, 1,
1, 1,
gUnknown_0203CD9E); sPaletteNum);
FillBgTilemapBufferRect(bg, FillBgTilemapBufferRect(bg,
BG_TILE_V_FLIP(gUnknown_0203CD9C + 4), BG_TILE_V_FLIP(sTileNum + 4),
tilemapLeft, tilemapLeft,
tilemapTop + height, tilemapTop + height,
width - 1, width - 1,
1, 1,
gUnknown_0203CD9E); sPaletteNum);
FillBgTilemapBufferRect(bg, FillBgTilemapBufferRect(bg,
BG_TILE_V_FLIP(gUnknown_0203CD9C + 5), BG_TILE_V_FLIP(sTileNum + 5),
tilemapLeft + width - 1, tilemapLeft + width - 1,
tilemapTop + height, tilemapTop + height,
1, 1,
1, 1,
gUnknown_0203CD9E); sPaletteNum);
FillBgTilemapBufferRect(bg, FillBgTilemapBufferRect(bg,
BG_TILE_V_FLIP(gUnknown_0203CD9C + 6), BG_TILE_V_FLIP(sTileNum + 6),
tilemapLeft + width, tilemapLeft + width,
tilemapTop + height, tilemapTop + height,
1, 1,
1, 1,
gUnknown_0203CD9E); sPaletteNum);
} }
void sub_8197DF8(u8 windowId, bool8 copyToVram) void sub_8197DF8(u8 windowId, bool8 copyToVram)
@ -682,8 +682,8 @@ void sub_8197E30(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 p
void SetWindowBorderStyle(u8 windowId, bool8 copyToVram, u16 baseTileNum, u8 paletteNum) void SetWindowBorderStyle(u8 windowId, bool8 copyToVram, u16 baseTileNum, u8 paletteNum)
{ {
gUnknown_0203CD9C = baseTileNum; sTileNum = baseTileNum;
gUnknown_0203CD9E = paletteNum; sPaletteNum = paletteNum;
CallWindowFunction(windowId, DrawWindowBorder); CallWindowFunction(windowId, DrawWindowBorder);
FillWindowPixelBuffer(windowId, 0x11); FillWindowPixelBuffer(windowId, 0x11);
PutWindowTilemap(windowId); PutWindowTilemap(windowId);
@ -693,8 +693,8 @@ void SetWindowBorderStyle(u8 windowId, bool8 copyToVram, u16 baseTileNum, u8 pal
void sub_8197EC8(u8 windowId, bool8 copyToVram, u16 baseTileNum) void sub_8197EC8(u8 windowId, bool8 copyToVram, u16 baseTileNum)
{ {
gUnknown_0203CD9C = baseTileNum; sTileNum = baseTileNum;
gUnknown_0203CD9E = GetWindowAttribute(windowId, WINDOW_PALETTE_NUM); sPaletteNum = GetWindowAttribute(windowId, WINDOW_PALETTE_NUM);
CallWindowFunction(windowId, DrawWindowBorder); CallWindowFunction(windowId, DrawWindowBorder);
FillWindowPixelBuffer(windowId, 0x11); FillWindowPixelBuffer(windowId, 0x11);
PutWindowTilemap(windowId); PutWindowTilemap(windowId);
@ -705,61 +705,61 @@ void sub_8197EC8(u8 windowId, bool8 copyToVram, u16 baseTileNum)
void DrawWindowBorder(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum) void DrawWindowBorder(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
{ {
FillBgTilemapBufferRect(bg, FillBgTilemapBufferRect(bg,
gUnknown_0203CD9C + 0, sTileNum + 0,
tilemapLeft - 1, tilemapLeft - 1,
tilemapTop - 1, tilemapTop - 1,
1, 1,
1, 1,
gUnknown_0203CD9E); sPaletteNum);
FillBgTilemapBufferRect(bg, FillBgTilemapBufferRect(bg,
gUnknown_0203CD9C + 1, sTileNum + 1,
tilemapLeft, tilemapLeft,
tilemapTop - 1, tilemapTop - 1,
width, width,
1, 1,
gUnknown_0203CD9E); sPaletteNum);
FillBgTilemapBufferRect(bg, FillBgTilemapBufferRect(bg,
gUnknown_0203CD9C + 2, sTileNum + 2,
tilemapLeft + width, tilemapLeft + width,
tilemapTop - 1, tilemapTop - 1,
1, 1,
1, 1,
gUnknown_0203CD9E); sPaletteNum);
FillBgTilemapBufferRect(bg, FillBgTilemapBufferRect(bg,
gUnknown_0203CD9C + 3, sTileNum + 3,
tilemapLeft - 1, tilemapLeft - 1,
tilemapTop, tilemapTop,
1, 1,
height, height,
gUnknown_0203CD9E); sPaletteNum);
FillBgTilemapBufferRect(bg, FillBgTilemapBufferRect(bg,
gUnknown_0203CD9C + 5, sTileNum + 5,
tilemapLeft + width, tilemapLeft + width,
tilemapTop, tilemapTop,
1, 1,
height, height,
gUnknown_0203CD9E); sPaletteNum);
FillBgTilemapBufferRect(bg, FillBgTilemapBufferRect(bg,
gUnknown_0203CD9C + 6, sTileNum + 6,
tilemapLeft - 1, tilemapLeft - 1,
tilemapTop + height, tilemapTop + height,
1, 1,
1, 1,
gUnknown_0203CD9E); sPaletteNum);
FillBgTilemapBufferRect(bg, FillBgTilemapBufferRect(bg,
gUnknown_0203CD9C + 7, sTileNum + 7,
tilemapLeft, tilemapLeft,
tilemapTop + height, tilemapTop + height,
width, width,
1, 1,
gUnknown_0203CD9E); sPaletteNum);
FillBgTilemapBufferRect(bg, FillBgTilemapBufferRect(bg,
gUnknown_0203CD9C + 8, sTileNum + 8,
tilemapLeft + width, tilemapLeft + width,
tilemapTop + height, tilemapTop + height,
1, 1,
1, 1,
gUnknown_0203CD9E); sPaletteNum);
} }
void sub_8198070(u8 windowId, bool8 copyToVram) void sub_8198070(u8 windowId, bool8 copyToVram)
@ -793,7 +793,7 @@ u8 sub_81980F0(u8 bg, u8 xPos, u8 yPos, u8 palette, u16 baseTile)
window.paletteNum = palette; window.paletteNum = palette;
window.baseBlock = baseTile; window.baseBlock = baseTile;
gUnknown_0203CDA0 = AddWindow(&window); sWindowId = AddWindow(&window);
if (palette > 15) if (palette > 15)
palette = 15 * 16; palette = 15 * 16;
@ -801,27 +801,27 @@ u8 sub_81980F0(u8 bg, u8 xPos, u8 yPos, u8 palette, u16 baseTile)
palette *= 16; palette *= 16;
LoadPalette(gUnknown_0860F0B0, palette, sizeof(gUnknown_0860F0B0)); LoadPalette(gUnknown_0860F0B0, palette, sizeof(gUnknown_0860F0B0));
return gUnknown_0203CDA0; return sWindowId;
} }
void sub_8198180(const u8 *string, u8 a2, bool8 copyToVram) void sub_8198180(const u8 *string, u8 a2, bool8 copyToVram)
{ {
u16 width = 0; u16 width = 0;
if (gUnknown_0203CDA0 != 0xFF) if (sWindowId != 0xFF)
{ {
PutWindowTilemap(gUnknown_0203CDA0); PutWindowTilemap(sWindowId);
FillWindowPixelBuffer(gUnknown_0203CDA0, 0xFF); FillWindowPixelBuffer(sWindowId, 0xFF);
width = GetStringWidth(0, string, 0); width = GetStringWidth(0, string, 0);
AddTextPrinterParameterized3(gUnknown_0203CDA0, AddTextPrinterParameterized3(sWindowId,
0, 0,
0xEC - (GetWindowAttribute(gUnknown_0203CDA0, WINDOW_TILEMAP_LEFT) * 8) - a2 - width, 0xEC - (GetWindowAttribute(sWindowId, WINDOW_TILEMAP_LEFT) * 8) - a2 - width,
1, 1,
gUnknown_0860F0D0, gUnknown_0860F0D0,
0, 0,
string); string);
if (copyToVram) if (copyToVram)
CopyWindowToVram(gUnknown_0203CDA0, 3); CopyWindowToVram(sWindowId, 3);
} }
} }
@ -830,7 +830,7 @@ void sub_8198204(const u8 *string, const u8 *string2, u8 a3, u8 a4, bool8 copyTo
u8 color[3]; u8 color[3];
u16 width = 0; u16 width = 0;
if (gUnknown_0203CDA0 != 0xFF) if (sWindowId != 0xFF)
{ {
if (a3 != 0) if (a3 != 0)
{ {
@ -844,49 +844,49 @@ void sub_8198204(const u8 *string, const u8 *string2, u8 a3, u8 a4, bool8 copyTo
color[1] = 1; color[1] = 1;
color[2] = 2; color[2] = 2;
} }
PutWindowTilemap(gUnknown_0203CDA0); PutWindowTilemap(sWindowId);
FillWindowPixelBuffer(gUnknown_0203CDA0, 0xFF); FillWindowPixelBuffer(sWindowId, 0xFF);
if (string2 != NULL) if (string2 != NULL)
{ {
width = GetStringWidth(0, string2, 0); width = GetStringWidth(0, string2, 0);
AddTextPrinterParameterized3(gUnknown_0203CDA0, AddTextPrinterParameterized3(sWindowId,
0, 0,
0xEC - (GetWindowAttribute(gUnknown_0203CDA0, WINDOW_TILEMAP_LEFT) * 8) - a4 - width, 0xEC - (GetWindowAttribute(sWindowId, WINDOW_TILEMAP_LEFT) * 8) - a4 - width,
1, 1,
color, color,
0, 0,
string2); string2);
} }
AddTextPrinterParameterized4(gUnknown_0203CDA0, 1, 4, 1, 0, 0, color, 0, string); AddTextPrinterParameterized4(sWindowId, 1, 4, 1, 0, 0, color, 0, string);
if (copyToVram) if (copyToVram)
CopyWindowToVram(gUnknown_0203CDA0, 3); CopyWindowToVram(sWindowId, 3);
} }
} }
void sub_81982D8(void) void sub_81982D8(void)
{ {
if (gUnknown_0203CDA0 != 0xFF) if (sWindowId != 0xFF)
CopyWindowToVram(gUnknown_0203CDA0, 3); CopyWindowToVram(sWindowId, 3);
} }
void sub_81982F0(void) void sub_81982F0(void)
{ {
if (gUnknown_0203CDA0 != 0xFF) if (sWindowId != 0xFF)
{ {
FillWindowPixelBuffer(gUnknown_0203CDA0, 0xFF); FillWindowPixelBuffer(sWindowId, 0xFF);
CopyWindowToVram(gUnknown_0203CDA0, 3); CopyWindowToVram(sWindowId, 3);
} }
} }
void sub_8198314(void) void sub_8198314(void)
{ {
if (gUnknown_0203CDA0 != 0xFF) if (sWindowId != 0xFF)
{ {
FillWindowPixelBuffer(gUnknown_0203CDA0, 0); FillWindowPixelBuffer(sWindowId, 0);
ClearWindowTilemap(gUnknown_0203CDA0); ClearWindowTilemap(sWindowId);
CopyWindowToVram(gUnknown_0203CDA0, 3); CopyWindowToVram(sWindowId, 3);
RemoveWindow(gUnknown_0203CDA0); RemoveWindow(sWindowId);
gUnknown_0203CDA0 = 0xFF; sWindowId = 0xFF;
} }
} }
@ -894,24 +894,24 @@ u8 sub_8198348(u8 windowId, u8 fontId, u8 left, u8 top, u8 cursorHeight, u8 numC
{ {
s32 pos; s32 pos;
gUnknown_0203CD90.left = left; sMenu.left = left;
gUnknown_0203CD90.top = top; sMenu.top = top;
gUnknown_0203CD90.minCursorPos = 0; sMenu.minCursorPos = 0;
gUnknown_0203CD90.maxCursorPos = numChoices - 1; sMenu.maxCursorPos = numChoices - 1;
gUnknown_0203CD90.windowId = windowId; sMenu.windowId = windowId;
gUnknown_0203CD90.fontId = fontId; sMenu.fontId = fontId;
gUnknown_0203CD90.optionHeight = cursorHeight; sMenu.optionHeight = cursorHeight;
gUnknown_0203CD90.APressMuted = a7; sMenu.APressMuted = a7;
pos = initialCursorPos; pos = initialCursorPos;
if (pos < 0 || pos > gUnknown_0203CD90.maxCursorPos) if (pos < 0 || pos > sMenu.maxCursorPos)
gUnknown_0203CD90.cursorPos = 0; sMenu.cursorPos = 0;
else else
gUnknown_0203CD90.cursorPos = pos; sMenu.cursorPos = pos;
Menu_MoveCursor(0); Menu_MoveCursor(0);
return gUnknown_0203CD90.cursorPos; return sMenu.cursorPos;
} }
u8 sub_81983AC(u8 windowId, u8 fontId, u8 left, u8 top, u8 cursorHeight, u8 numChoices, u8 initialCursorPos) u8 sub_81983AC(u8 windowId, u8 fontId, u8 left, u8 top, u8 cursorHeight, u8 numChoices, u8 initialCursorPos)
@ -929,56 +929,56 @@ void RedrawMenuCursor(u8 oldPos, u8 newPos)
{ {
u8 width, height; u8 width, height;
width = GetMenuCursorDimensionByFont(gUnknown_0203CD90.fontId, 0); width = GetMenuCursorDimensionByFont(sMenu.fontId, 0);
height = GetMenuCursorDimensionByFont(gUnknown_0203CD90.fontId, 1); height = GetMenuCursorDimensionByFont(sMenu.fontId, 1);
FillWindowPixelRect(gUnknown_0203CD90.windowId, 0x11, gUnknown_0203CD90.left, gUnknown_0203CD90.optionHeight * oldPos + gUnknown_0203CD90.top, width, height); FillWindowPixelRect(sMenu.windowId, 0x11, sMenu.left, sMenu.optionHeight * oldPos + sMenu.top, width, height);
AddTextPrinterParameterized(gUnknown_0203CD90.windowId, gUnknown_0203CD90.fontId, gText_SelectorArrow3, gUnknown_0203CD90.left, gUnknown_0203CD90.optionHeight * newPos + gUnknown_0203CD90.top, 0, 0); AddTextPrinterParameterized(sMenu.windowId, sMenu.fontId, gText_SelectorArrow3, sMenu.left, sMenu.optionHeight * newPos + sMenu.top, 0, 0);
} }
u8 Menu_MoveCursor(s8 cursorDelta) u8 Menu_MoveCursor(s8 cursorDelta)
{ {
u8 oldPos = gUnknown_0203CD90.cursorPos; u8 oldPos = sMenu.cursorPos;
int newPos = gUnknown_0203CD90.cursorPos + cursorDelta; int newPos = sMenu.cursorPos + cursorDelta;
if (newPos < gUnknown_0203CD90.minCursorPos) if (newPos < sMenu.minCursorPos)
gUnknown_0203CD90.cursorPos = gUnknown_0203CD90.maxCursorPos; sMenu.cursorPos = sMenu.maxCursorPos;
else if (newPos > gUnknown_0203CD90.maxCursorPos) else if (newPos > sMenu.maxCursorPos)
gUnknown_0203CD90.cursorPos = gUnknown_0203CD90.minCursorPos; sMenu.cursorPos = sMenu.minCursorPos;
else else
gUnknown_0203CD90.cursorPos += cursorDelta; sMenu.cursorPos += cursorDelta;
RedrawMenuCursor(oldPos, gUnknown_0203CD90.cursorPos); RedrawMenuCursor(oldPos, sMenu.cursorPos);
return gUnknown_0203CD90.cursorPos; return sMenu.cursorPos;
} }
u8 Menu_MoveCursorNoWrapAround(s8 cursorDelta) u8 Menu_MoveCursorNoWrapAround(s8 cursorDelta)
{ {
u8 oldPos = gUnknown_0203CD90.cursorPos; u8 oldPos = sMenu.cursorPos;
int newPos = gUnknown_0203CD90.cursorPos + cursorDelta; int newPos = sMenu.cursorPos + cursorDelta;
if (newPos < gUnknown_0203CD90.minCursorPos) if (newPos < sMenu.minCursorPos)
gUnknown_0203CD90.cursorPos = gUnknown_0203CD90.minCursorPos; sMenu.cursorPos = sMenu.minCursorPos;
else if (newPos > gUnknown_0203CD90.maxCursorPos) else if (newPos > sMenu.maxCursorPos)
gUnknown_0203CD90.cursorPos = gUnknown_0203CD90.maxCursorPos; sMenu.cursorPos = sMenu.maxCursorPos;
else else
gUnknown_0203CD90.cursorPos += cursorDelta; sMenu.cursorPos += cursorDelta;
RedrawMenuCursor(oldPos, gUnknown_0203CD90.cursorPos); RedrawMenuCursor(oldPos, sMenu.cursorPos);
return gUnknown_0203CD90.cursorPos; return sMenu.cursorPos;
} }
u8 Menu_GetCursorPos(void) u8 Menu_GetCursorPos(void)
{ {
return gUnknown_0203CD90.cursorPos; return sMenu.cursorPos;
} }
s8 Menu_ProcessInput(void) s8 Menu_ProcessInput(void)
{ {
if (gMain.newKeys & A_BUTTON) if (gMain.newKeys & A_BUTTON)
{ {
if (!gUnknown_0203CD90.APressMuted) if (!sMenu.APressMuted)
PlaySE(SE_SELECT); PlaySE(SE_SELECT);
return gUnknown_0203CD90.cursorPos; return sMenu.cursorPos;
} }
else if (gMain.newKeys & B_BUTTON) else if (gMain.newKeys & B_BUTTON)
{ {
@ -1002,13 +1002,13 @@ s8 Menu_ProcessInput(void)
s8 Menu_ProcessInputNoWrap(void) s8 Menu_ProcessInputNoWrap(void)
{ {
u8 oldPos = gUnknown_0203CD90.cursorPos; u8 oldPos = sMenu.cursorPos;
if (gMain.newKeys & A_BUTTON) if (gMain.newKeys & A_BUTTON)
{ {
if (!gUnknown_0203CD90.APressMuted) if (!sMenu.APressMuted)
PlaySE(SE_SELECT); PlaySE(SE_SELECT);
return gUnknown_0203CD90.cursorPos; return sMenu.cursorPos;
} }
else if (gMain.newKeys & B_BUTTON) else if (gMain.newKeys & B_BUTTON)
{ {
@ -1034,9 +1034,9 @@ s8 ProcessMenuInput_other(void)
{ {
if (gMain.newKeys & A_BUTTON) if (gMain.newKeys & A_BUTTON)
{ {
if (!gUnknown_0203CD90.APressMuted) if (!sMenu.APressMuted)
PlaySE(SE_SELECT); PlaySE(SE_SELECT);
return gUnknown_0203CD90.cursorPos; return sMenu.cursorPos;
} }
else if (gMain.newKeys & B_BUTTON) else if (gMain.newKeys & B_BUTTON)
{ {
@ -1060,13 +1060,13 @@ s8 ProcessMenuInput_other(void)
s8 Menu_ProcessInputNoWrapAround_other(void) s8 Menu_ProcessInputNoWrapAround_other(void)
{ {
u8 oldPos = gUnknown_0203CD90.cursorPos; u8 oldPos = sMenu.cursorPos;
if (gMain.newKeys & A_BUTTON) if (gMain.newKeys & A_BUTTON)
{ {
if (!gUnknown_0203CD90.APressMuted) if (!sMenu.APressMuted)
PlaySE(SE_SELECT); PlaySE(SE_SELECT);
return gUnknown_0203CD90.cursorPos; return sMenu.cursorPos;
} }
else if (gMain.newKeys & B_BUTTON) else if (gMain.newKeys & B_BUTTON)
{ {
@ -1174,11 +1174,11 @@ void sub_8198AF8(const struct WindowTemplate *window, u8 fontId, u8 left, u8 top
{ {
struct TextPrinterTemplate printer; struct TextPrinterTemplate printer;
gUnknown_0203CD9F = AddWindow(window); sYesNoWindowId = AddWindow(window);
SetWindowBorderStyle(gUnknown_0203CD9F, TRUE, baseTileNum, paletteNum); SetWindowBorderStyle(sYesNoWindowId, TRUE, baseTileNum, paletteNum);
printer.currentChar = gText_YesNo; printer.currentChar = gText_YesNo;
printer.windowId = gUnknown_0203CD9F; printer.windowId = sYesNoWindowId;
printer.fontId = fontId; printer.fontId = fontId;
printer.x = GetFontAttribute(fontId, FONTATTR_MAX_LETTER_WIDTH) + left; printer.x = GetFontAttribute(fontId, FONTATTR_MAX_LETTER_WIDTH) + left;
printer.y = top; printer.y = top;
@ -1193,7 +1193,7 @@ void sub_8198AF8(const struct WindowTemplate *window, u8 fontId, u8 left, u8 top
AddTextPrinter(&printer, 0xFF, NULL); AddTextPrinter(&printer, 0xFF, NULL);
sub_81983AC(gUnknown_0203CD9F, fontId, left, top, GetFontAttribute(fontId, FONTATTR_MAX_LETTER_HEIGHT), 2, initialCursorPos); sub_81983AC(sYesNoWindowId, fontId, left, top, GetFontAttribute(fontId, FONTATTR_MAX_LETTER_HEIGHT), 2, initialCursorPos);
} }
void sub_8198C34(const struct WindowTemplate *window, u8 fontId, u16 baseTileNum, u8 paletteNum) void sub_8198C34(const struct WindowTemplate *window, u8 fontId, u16 baseTileNum, u8 paletteNum)
@ -1211,8 +1211,8 @@ s8 Menu_ProcessInputNoWrapClearOnChoose(void)
void sub_8198C78(void) void sub_8198C78(void)
{ {
sub_8198070(gUnknown_0203CD9F, TRUE); sub_8198070(sYesNoWindowId, TRUE);
RemoveWindow(gUnknown_0203CD9F); RemoveWindow(sYesNoWindowId);
} }
void sub_8198C94(u8 windowId, u8 fontId, u8 left, u8 top, u8 a4, u8 a5, u8 a6, u8 a7, const struct MenuAction *strs) void sub_8198C94(u8 windowId, u8 fontId, u8 left, u8 top, u8 a4, u8 a5, u8 a6, u8 a7, const struct MenuAction *strs)
@ -1274,26 +1274,26 @@ u8 sub_8198F58(u8 windowId, u8 fontId, u8 left, u8 top, u8 a4, u8 cursorHeight,
{ {
s32 pos; s32 pos;
gUnknown_0203CD90.left = left; sMenu.left = left;
gUnknown_0203CD90.top = top; sMenu.top = top;
gUnknown_0203CD90.minCursorPos = 0; sMenu.minCursorPos = 0;
gUnknown_0203CD90.maxCursorPos = numChoices - 1; sMenu.maxCursorPos = numChoices - 1;
gUnknown_0203CD90.windowId = windowId; sMenu.windowId = windowId;
gUnknown_0203CD90.fontId = fontId; sMenu.fontId = fontId;
gUnknown_0203CD90.optionWidth = a4; sMenu.optionWidth = a4;
gUnknown_0203CD90.optionHeight = cursorHeight; sMenu.optionHeight = cursorHeight;
gUnknown_0203CD90.horizontalCount = a6; sMenu.horizontalCount = a6;
gUnknown_0203CD90.verticalCount = a7; sMenu.verticalCount = a7;
pos = a9; pos = a9;
if (pos < 0 || pos > gUnknown_0203CD90.maxCursorPos) if (pos < 0 || pos > sMenu.maxCursorPos)
gUnknown_0203CD90.cursorPos = 0; sMenu.cursorPos = 0;
else else
gUnknown_0203CD90.cursorPos = pos; sMenu.cursorPos = pos;
sub_8199134(0, 0); sub_8199134(0, 0);
return gUnknown_0203CD90.cursorPos; return sMenu.cursorPos;
} }
u8 sub_8198FD4(u8 windowId, u8 fontId, u8 left, u8 top, u8 a4, u8 a5, u8 a6, u8 a7) u8 sub_8198FD4(u8 windowId, u8 fontId, u8 left, u8 top, u8 a4, u8 a5, u8 a6, u8 a7)
@ -1305,20 +1305,20 @@ u8 sub_8198FD4(u8 windowId, u8 fontId, u8 left, u8 top, u8 a4, u8 a5, u8 a6, u8
void sub_8199060(u8 oldCursorPos, u8 newCursorPos) void sub_8199060(u8 oldCursorPos, u8 newCursorPos)
{ {
u8 cursorWidth = GetMenuCursorDimensionByFont(gUnknown_0203CD90.fontId, 0); u8 cursorWidth = GetMenuCursorDimensionByFont(sMenu.fontId, 0);
u8 cursorHeight = GetMenuCursorDimensionByFont(gUnknown_0203CD90.fontId, 1); u8 cursorHeight = GetMenuCursorDimensionByFont(sMenu.fontId, 1);
u8 xPos = (oldCursorPos % gUnknown_0203CD90.horizontalCount) * gUnknown_0203CD90.optionWidth + gUnknown_0203CD90.left; u8 xPos = (oldCursorPos % sMenu.horizontalCount) * sMenu.optionWidth + sMenu.left;
u8 yPos = (oldCursorPos / gUnknown_0203CD90.horizontalCount) * gUnknown_0203CD90.optionHeight + gUnknown_0203CD90.top; u8 yPos = (oldCursorPos / sMenu.horizontalCount) * sMenu.optionHeight + sMenu.top;
FillWindowPixelRect(gUnknown_0203CD90.windowId, FillWindowPixelRect(sMenu.windowId,
0x11, 0x11,
xPos, xPos,
yPos, yPos,
cursorWidth, cursorWidth,
cursorHeight); cursorHeight);
xPos = (newCursorPos % gUnknown_0203CD90.horizontalCount) * gUnknown_0203CD90.optionWidth + gUnknown_0203CD90.left; xPos = (newCursorPos % sMenu.horizontalCount) * sMenu.optionWidth + sMenu.left;
yPos = (newCursorPos / gUnknown_0203CD90.horizontalCount) * gUnknown_0203CD90.optionHeight + gUnknown_0203CD90.top; yPos = (newCursorPos / sMenu.horizontalCount) * sMenu.optionHeight + sMenu.top;
AddTextPrinterParameterized(gUnknown_0203CD90.windowId, AddTextPrinterParameterized(sMenu.windowId,
gUnknown_0203CD90.fontId, sMenu.fontId,
gText_SelectorArrow3, gText_SelectorArrow3,
xPos, xPos,
yPos, yPos,
@ -1328,83 +1328,83 @@ void sub_8199060(u8 oldCursorPos, u8 newCursorPos)
u8 sub_8199134(s8 deltaX, s8 deltaY) u8 sub_8199134(s8 deltaX, s8 deltaY)
{ {
u8 oldPos = gUnknown_0203CD90.cursorPos; u8 oldPos = sMenu.cursorPos;
if (deltaX != 0) if (deltaX != 0)
{ {
if ((gUnknown_0203CD90.cursorPos % gUnknown_0203CD90.horizontalCount) + deltaX < 0) if ((sMenu.cursorPos % sMenu.horizontalCount) + deltaX < 0)
{ {
gUnknown_0203CD90.cursorPos += gUnknown_0203CD90.horizontalCount - 1; sMenu.cursorPos += sMenu.horizontalCount - 1;
} }
else if ((gUnknown_0203CD90.cursorPos % gUnknown_0203CD90.horizontalCount) + deltaX >= gUnknown_0203CD90.horizontalCount) else if ((sMenu.cursorPos % sMenu.horizontalCount) + deltaX >= sMenu.horizontalCount)
{ {
gUnknown_0203CD90.cursorPos = (gUnknown_0203CD90.cursorPos / gUnknown_0203CD90.horizontalCount) * gUnknown_0203CD90.horizontalCount; sMenu.cursorPos = (sMenu.cursorPos / sMenu.horizontalCount) * sMenu.horizontalCount;
} }
else else
{ {
gUnknown_0203CD90.cursorPos += deltaX; sMenu.cursorPos += deltaX;
} }
} }
if (deltaY != 0) if (deltaY != 0)
{ {
if ((gUnknown_0203CD90.cursorPos / gUnknown_0203CD90.horizontalCount) + deltaY < 0) if ((sMenu.cursorPos / sMenu.horizontalCount) + deltaY < 0)
{ {
gUnknown_0203CD90.cursorPos += gUnknown_0203CD90.horizontalCount * (gUnknown_0203CD90.verticalCount - 1); sMenu.cursorPos += sMenu.horizontalCount * (sMenu.verticalCount - 1);
} }
else if ((gUnknown_0203CD90.cursorPos / gUnknown_0203CD90.horizontalCount) + deltaY >= gUnknown_0203CD90.verticalCount) else if ((sMenu.cursorPos / sMenu.horizontalCount) + deltaY >= sMenu.verticalCount)
{ {
gUnknown_0203CD90.cursorPos -= gUnknown_0203CD90.horizontalCount * (gUnknown_0203CD90.verticalCount - 1); sMenu.cursorPos -= sMenu.horizontalCount * (sMenu.verticalCount - 1);
} }
else else
{ {
gUnknown_0203CD90.cursorPos += (gUnknown_0203CD90.horizontalCount * deltaY); sMenu.cursorPos += (sMenu.horizontalCount * deltaY);
} }
} }
if (gUnknown_0203CD90.cursorPos > gUnknown_0203CD90.maxCursorPos) if (sMenu.cursorPos > sMenu.maxCursorPos)
{ {
gUnknown_0203CD90.cursorPos = oldPos; sMenu.cursorPos = oldPos;
return gUnknown_0203CD90.cursorPos; return sMenu.cursorPos;
} }
else else
{ {
sub_8199060(oldPos, gUnknown_0203CD90.cursorPos); sub_8199060(oldPos, sMenu.cursorPos);
return gUnknown_0203CD90.cursorPos; return sMenu.cursorPos;
} }
} }
u8 sub_81991F8(s8 deltaX, s8 deltaY) u8 sub_81991F8(s8 deltaX, s8 deltaY)
{ {
u8 oldPos = gUnknown_0203CD90.cursorPos; u8 oldPos = sMenu.cursorPos;
if (deltaX != 0) if (deltaX != 0)
{ {
if (((gUnknown_0203CD90.cursorPos % gUnknown_0203CD90.horizontalCount) + deltaX >= 0) && if (((sMenu.cursorPos % sMenu.horizontalCount) + deltaX >= 0) &&
((gUnknown_0203CD90.cursorPos % gUnknown_0203CD90.horizontalCount) + deltaX < gUnknown_0203CD90.horizontalCount)) ((sMenu.cursorPos % sMenu.horizontalCount) + deltaX < sMenu.horizontalCount))
{ {
gUnknown_0203CD90.cursorPos += deltaX; sMenu.cursorPos += deltaX;
} }
} }
if (deltaY != 0) if (deltaY != 0)
{ {
if (((gUnknown_0203CD90.cursorPos / gUnknown_0203CD90.horizontalCount) + deltaY >= 0) && if (((sMenu.cursorPos / sMenu.horizontalCount) + deltaY >= 0) &&
((gUnknown_0203CD90.cursorPos / gUnknown_0203CD90.horizontalCount) + deltaY < gUnknown_0203CD90.verticalCount)) ((sMenu.cursorPos / sMenu.horizontalCount) + deltaY < sMenu.verticalCount))
{ {
gUnknown_0203CD90.cursorPos += (gUnknown_0203CD90.horizontalCount * deltaY); sMenu.cursorPos += (sMenu.horizontalCount * deltaY);
} }
} }
if (gUnknown_0203CD90.cursorPos > gUnknown_0203CD90.maxCursorPos) if (sMenu.cursorPos > sMenu.maxCursorPos)
{ {
gUnknown_0203CD90.cursorPos = oldPos; sMenu.cursorPos = oldPos;
return gUnknown_0203CD90.cursorPos; return sMenu.cursorPos;
} }
else else
{ {
sub_8199060(oldPos, gUnknown_0203CD90.cursorPos); sub_8199060(oldPos, sMenu.cursorPos);
return gUnknown_0203CD90.cursorPos; return sMenu.cursorPos;
} }
} }
@ -1413,7 +1413,7 @@ s8 sub_8199284(void)
if (gMain.newKeys & A_BUTTON) if (gMain.newKeys & A_BUTTON)
{ {
PlaySE(SE_SELECT); PlaySE(SE_SELECT);
return gUnknown_0203CD90.cursorPos; return sMenu.cursorPos;
} }
else if (gMain.newKeys & B_BUTTON) else if (gMain.newKeys & B_BUTTON)
{ {
@ -1449,12 +1449,12 @@ s8 sub_8199284(void)
s8 Menu_ProcessInputGridLayout(void) s8 Menu_ProcessInputGridLayout(void)
{ {
u8 oldPos = gUnknown_0203CD90.cursorPos; u8 oldPos = sMenu.cursorPos;
if (gMain.newKeys & A_BUTTON) if (gMain.newKeys & A_BUTTON)
{ {
PlaySE(SE_SELECT); PlaySE(SE_SELECT);
return gUnknown_0203CD90.cursorPos; return sMenu.cursorPos;
} }
else if (gMain.newKeys & B_BUTTON) else if (gMain.newKeys & B_BUTTON)
{ {
@ -1493,7 +1493,7 @@ s8 sub_81993D8(void)
if (gMain.newKeys & A_BUTTON) if (gMain.newKeys & A_BUTTON)
{ {
PlaySE(SE_SELECT); PlaySE(SE_SELECT);
return gUnknown_0203CD90.cursorPos; return sMenu.cursorPos;
} }
else if (gMain.newKeys & B_BUTTON) else if (gMain.newKeys & B_BUTTON)
{ {
@ -1529,12 +1529,12 @@ s8 sub_81993D8(void)
s8 sub_8199484(void) s8 sub_8199484(void)
{ {
u8 oldPos = gUnknown_0203CD90.cursorPos; u8 oldPos = sMenu.cursorPos;
if (gMain.newKeys & A_BUTTON) if (gMain.newKeys & A_BUTTON)
{ {
PlaySE(SE_SELECT); PlaySE(SE_SELECT);
return gUnknown_0203CD90.cursorPos; return sMenu.cursorPos;
} }
else if (gMain.newKeys & B_BUTTON) else if (gMain.newKeys & B_BUTTON)
{ {
@ -1572,21 +1572,21 @@ u8 InitMenuInUpperLeftCorner(u8 windowId, u8 itemCount, u8 initialCursorPos, boo
{ {
s32 pos; s32 pos;
gUnknown_0203CD90.left = 0; sMenu.left = 0;
gUnknown_0203CD90.top = 1; sMenu.top = 1;
gUnknown_0203CD90.minCursorPos = 0; sMenu.minCursorPos = 0;
gUnknown_0203CD90.maxCursorPos = itemCount - 1; sMenu.maxCursorPos = itemCount - 1;
gUnknown_0203CD90.windowId = windowId; sMenu.windowId = windowId;
gUnknown_0203CD90.fontId = 1; sMenu.fontId = 1;
gUnknown_0203CD90.optionHeight = 16; sMenu.optionHeight = 16;
gUnknown_0203CD90.APressMuted = APressMuted; sMenu.APressMuted = APressMuted;
pos = initialCursorPos; pos = initialCursorPos;
if (pos < 0 || pos > gUnknown_0203CD90.maxCursorPos) if (pos < 0 || pos > sMenu.maxCursorPos)
gUnknown_0203CD90.cursorPos = 0; sMenu.cursorPos = 0;
else else
gUnknown_0203CD90.cursorPos = pos; sMenu.cursorPos = pos;
return Menu_MoveCursor(0); return Menu_MoveCursor(0);
} }
@ -1639,11 +1639,11 @@ void CreateYesNoMenu(const struct WindowTemplate *window, u16 baseTileNum, u8 pa
{ {
struct TextPrinterTemplate printer; struct TextPrinterTemplate printer;
gUnknown_0203CD9F = AddWindow(window); sYesNoWindowId = AddWindow(window);
SetWindowBorderStyle(gUnknown_0203CD9F, TRUE, baseTileNum, paletteNum); SetWindowBorderStyle(sYesNoWindowId, TRUE, baseTileNum, paletteNum);
printer.currentChar = gText_YesNo; printer.currentChar = gText_YesNo;
printer.windowId = gUnknown_0203CD9F; printer.windowId = sYesNoWindowId;
printer.fontId = 1; printer.fontId = 1;
printer.x = 8; printer.x = 8;
printer.y = 1; printer.y = 1;
@ -1657,7 +1657,7 @@ void CreateYesNoMenu(const struct WindowTemplate *window, u16 baseTileNum, u8 pa
printer.lineSpacing = 0; printer.lineSpacing = 0;
AddTextPrinter(&printer, 0xFF, NULL); AddTextPrinter(&printer, 0xFF, NULL);
InitMenuInUpperLeftCornerPlaySoundWhenAPressed(gUnknown_0203CD9F, 2, initialCursorPos); InitMenuInUpperLeftCornerPlaySoundWhenAPressed(sYesNoWindowId, 2, initialCursorPos);
} }
void sub_81997AC(u8 windowId, u8 a4, u8 a6, u8 a7, const struct MenuAction *strs) void sub_81997AC(u8 windowId, u8 a4, u8 a6, u8 a7, const struct MenuAction *strs)
@ -1709,26 +1709,26 @@ u8 sub_8199944(u8 windowId, u8 optionWidth, u8 horizontalCount, u8 verticalCount
{ {
s32 pos; s32 pos;
gUnknown_0203CD90.left = 0; sMenu.left = 0;
gUnknown_0203CD90.top = 1; sMenu.top = 1;
gUnknown_0203CD90.minCursorPos = 0; sMenu.minCursorPos = 0;
gUnknown_0203CD90.maxCursorPos = (horizontalCount * verticalCount) - 1; sMenu.maxCursorPos = (horizontalCount * verticalCount) - 1;
gUnknown_0203CD90.windowId = windowId; sMenu.windowId = windowId;
gUnknown_0203CD90.fontId = 1; sMenu.fontId = 1;
gUnknown_0203CD90.optionWidth = optionWidth; sMenu.optionWidth = optionWidth;
gUnknown_0203CD90.optionHeight = 16; sMenu.optionHeight = 16;
gUnknown_0203CD90.horizontalCount = horizontalCount; sMenu.horizontalCount = horizontalCount;
gUnknown_0203CD90.verticalCount = verticalCount; sMenu.verticalCount = verticalCount;
pos = initialCursorPos; pos = initialCursorPos;
if (pos < 0 || pos > gUnknown_0203CD90.maxCursorPos) if (pos < 0 || pos > sMenu.maxCursorPos)
gUnknown_0203CD90.cursorPos = 0; sMenu.cursorPos = 0;
else else
gUnknown_0203CD90.cursorPos = pos; sMenu.cursorPos = pos;
sub_8199134(0, 0); sub_8199134(0, 0);
return gUnknown_0203CD90.cursorPos; return sMenu.cursorPos;
} }
void clear_scheduled_bg_copies_to_vram(void) void clear_scheduled_bg_copies_to_vram(void)