summaryrefslogtreecommitdiff
path: root/src/script_menu.c
diff options
context:
space:
mode:
authorDiegoisawesome <Diegoisawesome@users.noreply.github.com>2018-11-07 14:41:29 -0600
committerGitHub <noreply@github.com>2018-11-07 14:41:29 -0600
commita052e45f279bb86c4e749ae8cd4f83b8e13c329f (patch)
tree9dd7e4222c5d62ce8d937913b7e2b5270944ee89 /src/script_menu.c
parent7ab8ff0d8171d1abdbfeb36d6cbd03c1e4ec943c (diff)
parent01fdb013649863d7c226c79d13b59e37d37619a0 (diff)
Merge pull request #379 from DizzyEggg/derp
ScriptMenu_MultichoiceGrid
Diffstat (limited to 'src/script_menu.c')
-rw-r--r--src/script_menu.c164
1 files changed, 6 insertions, 158 deletions
diff --git a/src/script_menu.c b/src/script_menu.c
index 14682af2b..9af1a857f 100644
--- a/src/script_menu.c
+++ b/src/script_menu.c
@@ -1096,7 +1096,7 @@ static void DrawMultichoiceMenu(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPre
const struct MenuAction *action;
int width = 0;
u8 newWidth;
-
+
// Must be a fakematch because come on, seriously
if (width < count)
{
@@ -1151,7 +1151,7 @@ static void sub_80E1FBC(u8 ignoreBPress, u8 count, u8 windowId, u8 multichoiceId
gTasks[taskId].tDoWrap = TRUE;
else
gTasks[taskId].tDoWrap = FALSE;
-
+
gTasks[taskId].tWindowId = windowId;
gTasks[taskId].tMultichoiceId = multichoiceId;
@@ -1256,7 +1256,6 @@ static void Task_HandleYesNoInput(u8 taskId)
EnableBothScriptContexts();
}
-#ifdef NONMATCHING
bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPress, u8 columnCount)
{
u8 bottom = 0;
@@ -1275,15 +1274,10 @@ bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPr
gSpecialVar_Result = 0xFF;
width = 0;
- i = 0;
- if (width < gMultichoiceLists[multichoiceId].count)
+ for (i = 0; i < gMultichoiceLists[multichoiceId].count; i++)
{
- do
- {
- width = display_text_and_get_width(gMultichoiceLists[multichoiceId].list[i].text, width);
- i++;
- } while (i < gMultichoiceLists[multichoiceId].count);
+ width = display_text_and_get_width(gMultichoiceLists[multichoiceId].list[i].text, width);
}
newWidth = convert_pixel_width_to_tile_width(width);
@@ -1302,152 +1296,6 @@ bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPr
return TRUE;
}
}
-#else
-NAKED
-bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPress, u8 columnCount)
-{
- asm_unified(" push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- sub sp, 0x10\n\
- ldr r4, [sp, 0x30]\n\
- lsls r0, 24\n\
- lsrs r7, r0, 24\n\
- lsls r1, 24\n\
- lsrs r1, 24\n\
- str r1, [sp, 0x4]\n\
- lsls r2, 24\n\
- lsrs r5, r2, 24\n\
- lsls r3, 24\n\
- lsrs r3, 24\n\
- str r3, [sp, 0x8]\n\
- lsls r4, 24\n\
- lsrs r4, 24\n\
- mov r10, r4\n\
- ldr r0, =Task_HandleMultichoiceGridInput\n\
- bl FuncIsActiveTask\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r0, 0x1\n\
- bne _080E2210\n\
- movs r0, 0\n\
- b _080E22E8\n\
- .pool\n\
-_080E2210:\n\
- ldr r0, =gSpecialVar_Result\n\
- movs r1, 0xFF\n\
- strh r1, [r0]\n\
- movs r2, 0\n\
- movs r6, 0\n\
- ldr r1, =gMultichoiceLists\n\
- lsls r5, 3\n\
- adds r0, r5, r1\n\
- str r5, [sp, 0xC]\n\
- ldrb r0, [r0, 0x4]\n\
- cmp r2, r0\n\
- bge _080E2246\n\
- mov r8, r1\n\
-_080E222A:\n\
- mov r0, r8\n\
- adds r4, r5, r0\n\
- ldr r1, [r4]\n\
- lsls r0, r6, 3\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- adds r1, r2, 0\n\
- bl display_text_and_get_width\n\
- adds r2, r0, 0\n\
- adds r6, 0x1\n\
- ldrb r4, [r4, 0x4]\n\
- cmp r6, r4\n\
- blt _080E222A\n\
-_080E2246:\n\
- adds r0, r2, 0\n\
- bl convert_pixel_width_to_tile_width\n\
- adds r5, r0, 0\n\
- lsls r5, 24\n\
- lsrs r5, 24\n\
- mov r1, r10\n\
- muls r1, r5\n\
- mov r8, r1\n\
- adds r0, r7, 0\n\
- bl sub_80E2D5C\n\
- lsls r0, 24\n\
- lsrs r7, r0, 24\n\
- ldr r2, =gMultichoiceLists\n\
- mov r9, r2\n\
- ldr r0, [sp, 0xC]\n\
- add r9, r0\n\
- mov r1, r9\n\
- ldrb r0, [r1, 0x4]\n\
- mov r1, r10\n\
- bl __udivsi3\n\
- adds r6, r0, 0\n\
- lsls r6, 24\n\
- lsrs r6, 24\n\
- ldr r0, =Task_HandleMultichoiceGridInput\n\
- movs r1, 0x50\n\
- bl CreateTask\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- ldr r1, =gTasks\n\
- lsls r4, r0, 2\n\
- adds r4, r0\n\
- lsls r4, 3\n\
- adds r4, r1\n\
- mov r2, sp\n\
- ldrh r2, [r2, 0x8]\n\
- strh r2, [r4, 0x10]\n\
- mov r0, r8\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- mov r8, r0\n\
- lsls r3, r6, 25\n\
- lsrs r3, 24\n\
- adds r0, r7, 0\n\
- ldr r1, [sp, 0x4]\n\
- mov r2, r8\n\
- bl CreateWindowFromRect\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- strh r0, [r4, 0x14]\n\
- movs r1, 0\n\
- bl SetStandardWindowBorderStyle\n\
- ldrb r0, [r4, 0x14]\n\
- lsls r5, 27\n\
- lsrs r5, 24\n\
- mov r2, r9\n\
- ldr r1, [r2]\n\
- str r1, [sp]\n\
- adds r1, r5, 0\n\
- mov r2, r10\n\
- adds r3, r6, 0\n\
- bl sub_81997AC\n\
- ldrb r0, [r4, 0x14]\n\
- movs r1, 0\n\
- str r1, [sp]\n\
- adds r1, r5, 0\n\
- mov r2, r10\n\
- adds r3, r6, 0\n\
- bl sub_8199944\n\
- ldrb r0, [r4, 0x14]\n\
- movs r1, 0x3\n\
- bl CopyWindowToVram\n\
- movs r0, 0x1\n\
-_080E22E8:\n\
- add sp, 0x10\n\
- pop {r3-r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov r10, r5\n\
- pop {r4-r7}\n\
- pop {r1}\n\
- bx r1\n\
- .pool");
-}
-#endif
static void Task_HandleMultichoiceGridInput(u8 taskId)
{
@@ -1680,7 +1528,7 @@ static void sub_80E2578(void)
width = convert_pixel_width_to_tile_width(pixelWidth);
windowId = CreateWindowFromRect(28 - width, (6 - count) * 2, width, count * 2);
SetStandardWindowBorderStyle(windowId, 0);
-
+
for (temp = 0, i = 0; i < ARRAY_COUNT(gUnknown_0858BB80); i++)
{
if (gUnknown_03001124[i] != 0xFF)
@@ -1756,7 +1604,7 @@ bool8 ScriptMenu_ShowPokemonPic(u16 species, u8 x, u8 y)
schedule_bg_copy_tilemap_to_vram(0);
return TRUE;
}
-}
+}
bool8 (*ScriptMenu_GetPicboxWaitFunc(void))(void)
{