summaryrefslogtreecommitdiff
path: root/src/option_menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/option_menu.c')
-rw-r--r--src/option_menu.c64
1 files changed, 38 insertions, 26 deletions
diff --git a/src/option_menu.c b/src/option_menu.c
index b6440a89c..0174b69db 100644
--- a/src/option_menu.c
+++ b/src/option_menu.c
@@ -75,7 +75,7 @@ static u8 ButtonMode_ProcessInput(u8 selection);
static void ButtonMode_DrawChoices(u8 selection);
static void DrawTextOption(void);
static void DrawOptionMenuTexts(void);
-static void sub_80BB154(void);
+static void DrawBgWindowFrames(void);
EWRAM_DATA static bool8 sArrowPressed = FALSE;
@@ -185,9 +185,9 @@ void CB2_InitOptionMenu(void)
DeactivateAllTextPrinters();
SetGpuReg(REG_OFFSET_WIN0H, 0);
SetGpuReg(REG_OFFSET_WIN0V, 0);
- SetGpuReg(REG_OFFSET_WININ, 1);
- SetGpuReg(REG_OFFSET_WINOUT, 35);
- SetGpuReg(REG_OFFSET_BLDCNT, 193);
+ SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG0);
+ SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_CLR);
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_DARKEN);
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
SetGpuReg(REG_OFFSET_BLDY, 4);
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON | DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP);
@@ -228,7 +228,7 @@ void CB2_InitOptionMenu(void)
DrawOptionMenuTexts();
gMain.state++;
case 9:
- sub_80BB154();
+ DrawBgWindowFrames();
gMain.state++;
break;
case 10:
@@ -256,7 +256,7 @@ void CB2_InitOptionMenu(void)
break;
}
case 11:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
+ BeginNormalPaletteFade(PALETTES_ALL, 0, 0x10, 0, RGB_BLACK);
SetVBlankCallback(VBlankCB);
SetMainCallback2(MainCB2);
return;
@@ -365,7 +365,7 @@ static void Task_OptionMenuSave(u8 taskId)
gSaveBlock2Ptr->optionsButtonMode = gTasks[taskId].data[TD_BUTTONMODE];
gSaveBlock2Ptr->optionsWindowFrameType = gTasks[taskId].data[TD_FRAMETYPE];
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
+ BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 0x10, RGB_BLACK);
gTasks[taskId].func = Task_OptionMenuFadeOut;
}
@@ -381,7 +381,7 @@ static void Task_OptionMenuFadeOut(u8 taskId)
static void HighlightOptionMenuItem(u8 index)
{
- SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(16, 224));
+ SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(16, DISPLAY_WIDTH - 16));
SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(index * 16 + 40, index * 16 + 56));
}
@@ -642,25 +642,37 @@ static void DrawOptionMenuTexts(void)
CopyWindowToVram(WIN_OPTIONS, 3);
}
-static void sub_80BB154(void)
+#define TILE_TOP_CORNER_L 0x1A2
+#define TILE_TOP_EDGE 0x1A3
+#define TILE_TOP_CORNER_R 0x1A4
+#define TILE_LEFT_EDGE 0x1A5
+#define TILE_RIGHT_EDGE 0x1A7
+#define TILE_BOT_CORNER_L 0x1A8
+#define TILE_BOT_EDGE 0x1A9
+#define TILE_BOT_CORNER_R 0x1AA
+
+static void DrawBgWindowFrames(void)
{
- // bg, tileNum, x, y, width, height, pal
- FillBgTilemapBufferRect(1, 0x1A2, 1, 0, 1, 1, 7);
- FillBgTilemapBufferRect(1, 0x1A3, 2, 0, 0x1B, 1, 7);
- FillBgTilemapBufferRect(1, 0x1A4, 28, 0, 1, 1, 7);
- FillBgTilemapBufferRect(1, 0x1A5, 1, 1, 1, 2, 7);
- FillBgTilemapBufferRect(1, 0x1A7, 28, 1, 1, 2, 7);
- FillBgTilemapBufferRect(1, 0x1A8, 1, 3, 1, 1, 7);
- FillBgTilemapBufferRect(1, 0x1A9, 2, 3, 0x1B, 1, 7);
- FillBgTilemapBufferRect(1, 0x1AA, 28, 3, 1, 1, 7);
- FillBgTilemapBufferRect(1, 0x1A2, 1, 4, 1, 1, 7);
- FillBgTilemapBufferRect(1, 0x1A3, 2, 4, 0x1A, 1, 7);
- FillBgTilemapBufferRect(1, 0x1A4, 28, 4, 1, 1, 7);
- FillBgTilemapBufferRect(1, 0x1A5, 1, 5, 1, 0x12, 7);
- FillBgTilemapBufferRect(1, 0x1A7, 28, 5, 1, 0x12, 7);
- FillBgTilemapBufferRect(1, 0x1A8, 1, 19, 1, 1, 7);
- FillBgTilemapBufferRect(1, 0x1A9, 2, 19, 0x1A, 1, 7);
- FillBgTilemapBufferRect(1, 0x1AA, 28, 19, 1, 1, 7);
+ // bg, tile, x, y, width, height, palNum
+ // Draw title window frame
+ FillBgTilemapBufferRect(1, TILE_TOP_CORNER_L, 1, 0, 1, 1, 7);
+ FillBgTilemapBufferRect(1, TILE_TOP_EDGE, 2, 0, 27, 1, 7);
+ FillBgTilemapBufferRect(1, TILE_TOP_CORNER_R, 28, 0, 1, 1, 7);
+ FillBgTilemapBufferRect(1, TILE_LEFT_EDGE, 1, 1, 1, 2, 7);
+ FillBgTilemapBufferRect(1, TILE_RIGHT_EDGE, 28, 1, 1, 2, 7);
+ FillBgTilemapBufferRect(1, TILE_BOT_CORNER_L, 1, 3, 1, 1, 7);
+ FillBgTilemapBufferRect(1, TILE_BOT_EDGE, 2, 3, 27, 1, 7);
+ FillBgTilemapBufferRect(1, TILE_BOT_CORNER_R, 28, 3, 1, 1, 7);
+
+ // Draw options list window frame
+ FillBgTilemapBufferRect(1, TILE_TOP_CORNER_L, 1, 4, 1, 1, 7);
+ FillBgTilemapBufferRect(1, TILE_TOP_EDGE, 2, 4, 26, 1, 7);
+ FillBgTilemapBufferRect(1, TILE_TOP_CORNER_R, 28, 4, 1, 1, 7);
+ FillBgTilemapBufferRect(1, TILE_LEFT_EDGE, 1, 5, 1, 18, 7);
+ FillBgTilemapBufferRect(1, TILE_RIGHT_EDGE, 28, 5, 1, 18, 7);
+ FillBgTilemapBufferRect(1, TILE_BOT_CORNER_L, 1, 19, 1, 1, 7);
+ FillBgTilemapBufferRect(1, TILE_BOT_EDGE, 2, 19, 26, 1, 7);
+ FillBgTilemapBufferRect(1, TILE_BOT_CORNER_R, 28, 19, 1, 1, 7);
CopyBgTilemapBufferToVram(1);
}