Merge branch 'master' into extern-cleanup
This commit is contained in:
123
src/menu.c
123
src/menu.c
@@ -124,16 +124,16 @@ const struct MoveMenuInfoIcon gMoveMenuInfoIcons[] =
|
||||
|
||||
|
||||
// Forward declarations
|
||||
void DrawStandardFrame(u8, u8, u8, u8, u8, u8);
|
||||
void DrawDialogueFrame(u8, u8, u8, u8, u8, u8);
|
||||
void sub_81977BC(u8, u8, u8, u8, u8, u8);
|
||||
void sub_8197804(u8, u8, u8, u8, u8, u8);
|
||||
void sub_8197BB4(u8, u8, u8, u8, u8, u8);
|
||||
void sub_8197E30(u8, u8, u8, u8, u8, u8);
|
||||
void DrawWindowBorder(u8, u8, u8, u8, u8, u8);
|
||||
void sub_81980A8(u8, u8, u8, u8, u8, u8);
|
||||
void task_free_buf_after_copying_tile_data_to_vram(u8 taskId);
|
||||
void WindowFunc_DrawStandardFrame(u8, u8, u8, u8, u8, u8);
|
||||
void WindowFunc_DrawDialogueFrame(u8, u8, u8, u8, u8, u8);
|
||||
void WindowFunc_ClearStdWindowAndFrame(u8, u8, u8, u8, u8, u8);
|
||||
void WindowFunc_ClearDialogWindowAndFrame(u8, u8, u8, u8, u8, u8);
|
||||
void WindowFunc_DrawDialogFrameWithCustomTileAndPalette(u8, u8, u8, u8, u8, u8);
|
||||
void WindowFunc_ClearDialogWindowAndFrameNullPalette(u8, u8, u8, u8, u8, u8);
|
||||
void WindowFunc_DrawStdFrameWithCustomTileAndPalette(u8, u8, u8, u8, u8, u8);
|
||||
void WindowFunc_ClearStdWindowAndFrameToTransparent(u8, u8, u8, u8, u8, u8);
|
||||
void sub_8198C78(void);
|
||||
void task_free_buf_after_copying_tile_data_to_vram(u8 taskId);
|
||||
|
||||
void InitStandardTextBoxWindows(void)
|
||||
{
|
||||
@@ -208,43 +208,43 @@ void sub_81973A4(void)
|
||||
LoadUserWindowBorderGfx(0, STD_WINDOW_BASE_TILE_NUM, STD_WINDOW_PALETTE_NUM * 0x10);
|
||||
}
|
||||
|
||||
void NewMenuHelpers_DrawDialogueFrame(u8 windowId, bool8 copyToVram)
|
||||
void DrawDialogueFrame(u8 windowId, bool8 copyToVram)
|
||||
{
|
||||
CallWindowFunction(windowId, DrawDialogueFrame);
|
||||
FillWindowPixelBuffer(windowId, 0x11);
|
||||
CallWindowFunction(windowId, WindowFunc_DrawDialogueFrame);
|
||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
||||
PutWindowTilemap(windowId);
|
||||
if (copyToVram == TRUE)
|
||||
CopyWindowToVram(windowId, 3);
|
||||
}
|
||||
|
||||
void NewMenuHelpers_DrawStdWindowFrame(u8 windowId, bool8 copyToVram)
|
||||
void DrawStdWindowFrame(u8 windowId, bool8 copyToVram)
|
||||
{
|
||||
CallWindowFunction(windowId, DrawStandardFrame);
|
||||
FillWindowPixelBuffer(windowId, 0x11);
|
||||
CallWindowFunction(windowId, WindowFunc_DrawStandardFrame);
|
||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
||||
PutWindowTilemap(windowId);
|
||||
if (copyToVram == TRUE)
|
||||
CopyWindowToVram(windowId, 3);
|
||||
}
|
||||
|
||||
void sub_8197434(u8 windowId, bool8 copyToVram)
|
||||
void ClearDialogWindowAndFrame(u8 windowId, bool8 copyToVram)
|
||||
{
|
||||
CallWindowFunction(windowId, sub_8197804);
|
||||
FillWindowPixelBuffer(windowId, 0x11);
|
||||
CallWindowFunction(windowId, WindowFunc_ClearDialogWindowAndFrame);
|
||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
||||
ClearWindowTilemap(windowId);
|
||||
if (copyToVram == TRUE)
|
||||
CopyWindowToVram(windowId, 3);
|
||||
}
|
||||
|
||||
void sub_819746C(u8 windowId, bool8 copyToVram)
|
||||
void ClearStdWindowAndFrame(u8 windowId, bool8 copyToVram)
|
||||
{
|
||||
CallWindowFunction(windowId, sub_81977BC);
|
||||
FillWindowPixelBuffer(windowId, 0x11);
|
||||
CallWindowFunction(windowId, WindowFunc_ClearStdWindowAndFrame);
|
||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
||||
ClearWindowTilemap(windowId);
|
||||
if (copyToVram == TRUE)
|
||||
CopyWindowToVram(windowId, 3);
|
||||
}
|
||||
|
||||
void DrawStandardFrame(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
|
||||
void WindowFunc_DrawStandardFrame(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
|
||||
{
|
||||
int i;
|
||||
|
||||
@@ -311,7 +311,7 @@ void DrawStandardFrame(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height
|
||||
STD_WINDOW_PALETTE_NUM);
|
||||
}
|
||||
|
||||
void DrawDialogueFrame(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
|
||||
void WindowFunc_DrawDialogueFrame(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
|
||||
{
|
||||
FillBgTilemapBufferRect(bg,
|
||||
DLG_WINDOW_BASE_TILE_NUM + 1,
|
||||
@@ -406,25 +406,25 @@ void DrawDialogueFrame(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height
|
||||
DLG_WINDOW_PALETTE_NUM);
|
||||
}
|
||||
|
||||
void sub_81977BC(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
|
||||
void WindowFunc_ClearStdWindowAndFrame(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
|
||||
{
|
||||
FillBgTilemapBufferRect(bg, 0, tilemapLeft - 1, tilemapTop - 1, width + 2, height + 2, STD_WINDOW_PALETTE_NUM);
|
||||
}
|
||||
|
||||
void sub_8197804(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
|
||||
void WindowFunc_ClearDialogWindowAndFrame(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
|
||||
{
|
||||
FillBgTilemapBufferRect(bg, 0, tilemapLeft - 3, tilemapTop - 1, width + 6, height + 2, STD_WINDOW_PALETTE_NUM);
|
||||
}
|
||||
|
||||
void SetStandardWindowBorderStyle(u8 windowId, bool8 copyToVram)
|
||||
{
|
||||
SetWindowBorderStyle(windowId, copyToVram, STD_WINDOW_BASE_TILE_NUM, STD_WINDOW_PALETTE_NUM);
|
||||
DrawStdFrameWithCustomTileAndPalette(windowId, copyToVram, STD_WINDOW_BASE_TILE_NUM, STD_WINDOW_PALETTE_NUM);
|
||||
}
|
||||
|
||||
void sub_819786C(u8 windowId, bool8 copyToVram)
|
||||
{
|
||||
LoadMessageBoxGfx(windowId, DLG_WINDOW_BASE_TILE_NUM, DLG_WINDOW_PALETTE_NUM * 0x10);
|
||||
sub_8197B1C(windowId, copyToVram, DLG_WINDOW_BASE_TILE_NUM, 0xF);
|
||||
DrawDialogFrameWithCustomTileAndPalette(windowId, copyToVram, DLG_WINDOW_BASE_TILE_NUM, 0xF);
|
||||
}
|
||||
|
||||
void sub_819789C(void)
|
||||
@@ -456,12 +456,12 @@ void DisplayItemMessageOnField(u8 taskId, const u8 *string, TaskFunc callback)
|
||||
CopyWindowToVram(0, 3);
|
||||
}
|
||||
|
||||
void DisplayYesNoMenu(void)
|
||||
void DisplayYesNoMenuDefaultYes(void)
|
||||
{
|
||||
CreateYesNoMenu(&sYesNo_WindowTemplates, STD_WINDOW_BASE_TILE_NUM, STD_WINDOW_PALETTE_NUM, 0);
|
||||
}
|
||||
|
||||
void sub_8197948(u8 initialCursorPos)
|
||||
void DisplayYesNoMenuWithDefault(u8 initialCursorPos)
|
||||
{
|
||||
CreateYesNoMenu(&sYesNo_WindowTemplates, STD_WINDOW_BASE_TILE_NUM, STD_WINDOW_PALETTE_NUM, initialCursorPos);
|
||||
}
|
||||
@@ -547,29 +547,30 @@ void sub_8197AE8(bool8 copyToVram)
|
||||
CopyBgTilemapBufferToVram(0);
|
||||
}
|
||||
|
||||
void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 tileNum, u8 paletteNum)
|
||||
void DrawDialogFrameWithCustomTileAndPalette(u8 windowId, bool8 copyToVram, u16 tileNum, u8 paletteNum)
|
||||
{
|
||||
sTileNum = tileNum;
|
||||
sPaletteNum = paletteNum;
|
||||
CallWindowFunction(windowId, sub_8197BB4);
|
||||
FillWindowPixelBuffer(windowId, 0x11);
|
||||
CallWindowFunction(windowId, WindowFunc_DrawDialogFrameWithCustomTileAndPalette);
|
||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
||||
PutWindowTilemap(windowId);
|
||||
if (copyToVram == TRUE)
|
||||
CopyWindowToVram(windowId, 3);
|
||||
}
|
||||
|
||||
void sub_8197B64(u8 windowId, bool8 copyToVram, u16 tileNum)
|
||||
// Never used.
|
||||
void DrawDialogFrameWithCustomTile(u8 windowId, bool8 copyToVram, u16 tileNum)
|
||||
{
|
||||
sTileNum = tileNum;
|
||||
sPaletteNum = GetWindowAttribute(windowId, WINDOW_PALETTE_NUM);
|
||||
CallWindowFunction(windowId, sub_8197BB4);
|
||||
FillWindowPixelBuffer(windowId, 0x11);
|
||||
CallWindowFunction(windowId, WindowFunc_DrawDialogFrameWithCustomTileAndPalette);
|
||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
||||
PutWindowTilemap(windowId);
|
||||
if (copyToVram == TRUE)
|
||||
CopyWindowToVram(windowId, 3);
|
||||
}
|
||||
|
||||
void sub_8197BB4(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
|
||||
void WindowFunc_DrawDialogFrameWithCustomTileAndPalette(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
|
||||
{
|
||||
FillBgTilemapBufferRect(bg,
|
||||
sTileNum + 1,
|
||||
@@ -664,43 +665,45 @@ void sub_8197BB4(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 p
|
||||
sPaletteNum);
|
||||
}
|
||||
|
||||
void sub_8197DF8(u8 windowId, bool8 copyToVram)
|
||||
void ClearDialogWindowAndFrameToTransparent(u8 windowId, bool8 copyToVram)
|
||||
{
|
||||
CallWindowFunction(windowId, sub_8197E30);
|
||||
FillWindowPixelBuffer(windowId, 0);
|
||||
// The palette slot doesn't matter, since the tiles are transparent.
|
||||
CallWindowFunction(windowId, WindowFunc_ClearDialogWindowAndFrameNullPalette);
|
||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(0));
|
||||
ClearWindowTilemap(windowId);
|
||||
if (copyToVram == TRUE)
|
||||
CopyWindowToVram(windowId, 3);
|
||||
}
|
||||
|
||||
void sub_8197E30(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
|
||||
void WindowFunc_ClearDialogWindowAndFrameNullPalette(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
|
||||
{
|
||||
FillBgTilemapBufferRect(bg, 0, tilemapLeft - 3, tilemapTop - 1, width + 6, height + 2, 0);
|
||||
}
|
||||
|
||||
void SetWindowBorderStyle(u8 windowId, bool8 copyToVram, u16 baseTileNum, u8 paletteNum)
|
||||
void DrawStdFrameWithCustomTileAndPalette(u8 windowId, bool8 copyToVram, u16 baseTileNum, u8 paletteNum)
|
||||
{
|
||||
sTileNum = baseTileNum;
|
||||
sPaletteNum = paletteNum;
|
||||
CallWindowFunction(windowId, DrawWindowBorder);
|
||||
FillWindowPixelBuffer(windowId, 0x11);
|
||||
CallWindowFunction(windowId, WindowFunc_DrawStdFrameWithCustomTileAndPalette);
|
||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
||||
PutWindowTilemap(windowId);
|
||||
if (copyToVram == TRUE)
|
||||
CopyWindowToVram(windowId, 3);
|
||||
}
|
||||
|
||||
void sub_8197EC8(u8 windowId, bool8 copyToVram, u16 baseTileNum)
|
||||
// Never used.
|
||||
void DrawStdFrameWithCustomTile(u8 windowId, bool8 copyToVram, u16 baseTileNum)
|
||||
{
|
||||
sTileNum = baseTileNum;
|
||||
sPaletteNum = GetWindowAttribute(windowId, WINDOW_PALETTE_NUM);
|
||||
CallWindowFunction(windowId, DrawWindowBorder);
|
||||
FillWindowPixelBuffer(windowId, 0x11);
|
||||
CallWindowFunction(windowId, WindowFunc_DrawStdFrameWithCustomTileAndPalette);
|
||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
||||
PutWindowTilemap(windowId);
|
||||
if (copyToVram == TRUE)
|
||||
CopyWindowToVram(windowId, 3);
|
||||
}
|
||||
|
||||
void DrawWindowBorder(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
|
||||
void WindowFunc_DrawStdFrameWithCustomTileAndPalette(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
|
||||
{
|
||||
FillBgTilemapBufferRect(bg,
|
||||
sTileNum + 0,
|
||||
@@ -760,16 +763,16 @@ void DrawWindowBorder(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height,
|
||||
sPaletteNum);
|
||||
}
|
||||
|
||||
void sub_8198070(u8 windowId, bool8 copyToVram)
|
||||
void ClearStdWindowAndFrameToTransparent(u8 windowId, bool8 copyToVram)
|
||||
{
|
||||
CallWindowFunction(windowId, sub_81980A8);
|
||||
FillWindowPixelBuffer(windowId, 0);
|
||||
CallWindowFunction(windowId, WindowFunc_ClearStdWindowAndFrameToTransparent);
|
||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(0));
|
||||
ClearWindowTilemap(windowId);
|
||||
if (copyToVram == TRUE)
|
||||
CopyWindowToVram(windowId, 3);
|
||||
}
|
||||
|
||||
void sub_81980A8(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
|
||||
void WindowFunc_ClearStdWindowAndFrameToTransparent(u8 bg, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 paletteNum)
|
||||
{
|
||||
FillBgTilemapBufferRect(bg, 0, tilemapLeft - 1, tilemapTop - 1, width + 2, height + 2, 0);
|
||||
}
|
||||
@@ -809,7 +812,7 @@ void sub_8198180(const u8 *string, u8 a2, bool8 copyToVram)
|
||||
if (sWindowId != 0xFF)
|
||||
{
|
||||
PutWindowTilemap(sWindowId);
|
||||
FillWindowPixelBuffer(sWindowId, 0xFF);
|
||||
FillWindowPixelBuffer(sWindowId, PIXEL_FILL(15));
|
||||
width = GetStringWidth(0, string, 0);
|
||||
AddTextPrinterParameterized3(sWindowId,
|
||||
0,
|
||||
@@ -843,7 +846,7 @@ void sub_8198204(const u8 *string, const u8 *string2, u8 a3, u8 a4, bool8 copyTo
|
||||
color[2] = 2;
|
||||
}
|
||||
PutWindowTilemap(sWindowId);
|
||||
FillWindowPixelBuffer(sWindowId, 0xFF);
|
||||
FillWindowPixelBuffer(sWindowId, PIXEL_FILL(15));
|
||||
if (string2 != NULL)
|
||||
{
|
||||
width = GetStringWidth(0, string2, 0);
|
||||
@@ -871,7 +874,7 @@ void sub_81982F0(void)
|
||||
{
|
||||
if (sWindowId != 0xFF)
|
||||
{
|
||||
FillWindowPixelBuffer(sWindowId, 0xFF);
|
||||
FillWindowPixelBuffer(sWindowId, PIXEL_FILL(15));
|
||||
CopyWindowToVram(sWindowId, 3);
|
||||
}
|
||||
}
|
||||
@@ -880,7 +883,7 @@ void sub_8198314(void)
|
||||
{
|
||||
if (sWindowId != 0xFF)
|
||||
{
|
||||
FillWindowPixelBuffer(sWindowId, 0);
|
||||
FillWindowPixelBuffer(sWindowId, PIXEL_FILL(0));
|
||||
ClearWindowTilemap(sWindowId);
|
||||
CopyWindowToVram(sWindowId, 3);
|
||||
RemoveWindow(sWindowId);
|
||||
@@ -929,7 +932,7 @@ void RedrawMenuCursor(u8 oldPos, u8 newPos)
|
||||
|
||||
width = GetMenuCursorDimensionByFont(sMenu.fontId, 0);
|
||||
height = GetMenuCursorDimensionByFont(sMenu.fontId, 1);
|
||||
FillWindowPixelRect(sMenu.windowId, 0x11, sMenu.left, sMenu.optionHeight * oldPos + sMenu.top, width, height);
|
||||
FillWindowPixelRect(sMenu.windowId, PIXEL_FILL(1), sMenu.left, sMenu.optionHeight * oldPos + sMenu.top, width, height);
|
||||
AddTextPrinterParameterized(sMenu.windowId, sMenu.fontId, gText_SelectorArrow3, sMenu.left, sMenu.optionHeight * newPos + sMenu.top, 0, 0);
|
||||
}
|
||||
|
||||
@@ -1173,7 +1176,7 @@ void sub_8198AF8(const struct WindowTemplate *window, u8 fontId, u8 left, u8 top
|
||||
struct TextPrinterTemplate printer;
|
||||
|
||||
sYesNoWindowId = AddWindow(window);
|
||||
SetWindowBorderStyle(sYesNoWindowId, TRUE, baseTileNum, paletteNum);
|
||||
DrawStdFrameWithCustomTileAndPalette(sYesNoWindowId, TRUE, baseTileNum, paletteNum);
|
||||
|
||||
printer.currentChar = gText_YesNo;
|
||||
printer.windowId = sYesNoWindowId;
|
||||
@@ -1209,7 +1212,7 @@ s8 Menu_ProcessInputNoWrapClearOnChoose(void)
|
||||
|
||||
void sub_8198C78(void)
|
||||
{
|
||||
sub_8198070(sYesNoWindowId, TRUE);
|
||||
ClearStdWindowAndFrameToTransparent(sYesNoWindowId, TRUE);
|
||||
RemoveWindow(sYesNoWindowId);
|
||||
}
|
||||
|
||||
@@ -1308,7 +1311,7 @@ void sub_8199060(u8 oldCursorPos, u8 newCursorPos)
|
||||
u8 xPos = (oldCursorPos % sMenu.horizontalCount) * sMenu.optionWidth + sMenu.left;
|
||||
u8 yPos = (oldCursorPos / sMenu.horizontalCount) * sMenu.optionHeight + sMenu.top;
|
||||
FillWindowPixelRect(sMenu.windowId,
|
||||
0x11,
|
||||
PIXEL_FILL(1),
|
||||
xPos,
|
||||
yPos,
|
||||
cursorWidth,
|
||||
@@ -1638,7 +1641,7 @@ void CreateYesNoMenu(const struct WindowTemplate *window, u16 baseTileNum, u8 pa
|
||||
struct TextPrinterTemplate printer;
|
||||
|
||||
sYesNoWindowId = AddWindow(window);
|
||||
SetWindowBorderStyle(sYesNoWindowId, TRUE, baseTileNum, paletteNum);
|
||||
DrawStdFrameWithCustomTileAndPalette(sYesNoWindowId, TRUE, baseTileNum, paletteNum);
|
||||
|
||||
printer.currentChar = gText_YesNo;
|
||||
printer.windowId = sYesNoWindowId;
|
||||
|
||||
Reference in New Issue
Block a user