fix nonmatching

This commit is contained in:
Evan
2019-11-20 09:57:19 -07:00
parent 9f7c34d645
commit 39a71e64d1
7 changed files with 31 additions and 197 deletions
+3 -3
View File
@@ -457,7 +457,7 @@ static void CB2_InitBerryPouch(void)
{
while (1)
{
if (sub_80BF72C() == TRUE)
if ((u8) sub_80BF72C() == TRUE)
break;
if (RunBerryPouchInit() == TRUE)
break;
@@ -934,7 +934,7 @@ static void Task_BerryPouchMain(u8 taskId)
{
s16 * data = gTasks[taskId].data;
s32 menuInput;
if (!gPaletteFade.active && sub_80BF72C() != TRUE)
if (!gPaletteFade.active && (u8) sub_80BF72C() != TRUE)
{
menuInput = ListMenu_ProcessInput(data[0]);
ListMenuGetScrollAndRow(data[0], &sStaticCnt.listMenuScrollOffset, &sStaticCnt.listMenuSelectedRow);
@@ -1040,7 +1040,7 @@ static void Task_NormalContextMenu(u8 taskId)
static void Task_NormalContextMenu_HandleInput(u8 taskId)
{
s8 input;
if (sub_80BF72C() != TRUE)
if ((u8) sub_80BF72C() != TRUE)
{
input = Menu_ProcessInputNoWrapAround();
switch (input)
+1 -1
View File
@@ -384,7 +384,7 @@ static bool8 ItemPc_DoGfxSetup(void)
gMain.state++;
break;
case 20:
if (sub_80BF72C() != TRUE)
if ((u8) sub_80BF72C() != TRUE)
gMain.state++;
break;
default:
+2 -2
View File
@@ -130,12 +130,12 @@ bool32 sub_80BF72C(void)
if (!MenuHelpers_LinkSomething())
return FALSE;
else
return sub_8058244();
return (u8) sub_8058244();
}
bool8 sub_80BF748(void)
{
if (sub_80BF72C() == TRUE)
if ((u8) sub_80BF72C() == TRUE)
return TRUE;
else if (sub_800B270() != TRUE)
return FALSE;
+19 -185
View File
@@ -39,7 +39,7 @@ enum
WIN_OPTIONS
};
// RAM sumbols
// RAM symbols
struct OptionMenu
{
/*0x00*/ u16 option[MENUITEM_COUNT];
@@ -177,9 +177,9 @@ static const u8 *const sSoundOptions[] =
static const u8 *const sButtonTypeOptions[] =
{
gText_ButtonTypeNormal,
gText_ButtonTypeHelp,
gText_ButtonTypeLR,
gText_ButtonTypeLEqualsA
gText_ButtonTypeLEqualsA
};
static const u8 sOptionMenuPickSwitchCancelTextColor[] = {TEXT_DYNAMIC_COLOR_6, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY};
@@ -361,6 +361,8 @@ static bool8 LoadOptionMenuPalette(void)
return FALSE;
}
//#ifdef NONMATCHING
static void Task_OptionMenu(u8 taskId)
{
switch (sOptionMenuPtr->state3)
@@ -371,7 +373,7 @@ static void Task_OptionMenu(u8 taskId)
sOptionMenuPtr->state3++;
break;
case 2:
if (sub_80BF72C() == TRUE) //cast to bool32 to remove the lsl/lsr 0x18 after func call
if (sub_80BF72C() == TRUE)
break;
switch (OptionMenu_ProcessInput())
{
@@ -464,40 +466,39 @@ static u8 OptionMenu_ProcessInput(void)
}
}
#ifdef NONMATCHING // could not get it to match perfectly, no idea how they put so many vars on the stack
static void BufferOptionMenuString(u8 selection)
{
u8 str[20];
u8 buf[12];
u8 dst[3];
u8* str;
u8* v8;
u8 x, y;
memcpy(&dst, sOptionMenuTextColor, 3);
y = ((GetFontAttribute(2, FONTATTR_MAX_LETTER_HEIGHT) - 1) * selection) + 2;
memcpy(dst, sOptionMenuTextColor, 3);
x = 0x82;
y = ((GetFontAttribute(2, FONTATTR_MAX_LETTER_HEIGHT) - 1) * selection) + 2;
FillWindowPixelRect(1, 1, x, y, 0x46, GetFontAttribute(2, FONTATTR_MAX_LETTER_HEIGHT));
switch (selection)
{
case MENUITEM_TEXTSPEED:
AddTextPrinterParameterized3(1, 2, x, y, dst, -1, sTextSpeedOptions);
AddTextPrinterParameterized3(1, 2, x, y, dst, -1, sTextSpeedOptions[sOptionMenuPtr->option[selection]]);
break;
case MENUITEM_BATTLESCENE:
AddTextPrinterParameterized3(1, 2, x, y, dst, -1, sBattleSceneOptions);
AddTextPrinterParameterized3(1, 2, x, y, dst, -1, sBattleSceneOptions[sOptionMenuPtr->option[selection]]);
break;
case MENUITEM_BATTLESTYLE:
AddTextPrinterParameterized3(1, 2, x, y, dst, -1, sBattleStyleOptions);
AddTextPrinterParameterized3(1, 2, x, y, dst, -1, sBattleStyleOptions[sOptionMenuPtr->option[selection]]);
break;
case MENUITEM_SOUND:
AddTextPrinterParameterized3(1, 2, x, y, dst, -1, sSoundOptions);
AddTextPrinterParameterized3(1, 2, x, y, dst, -1, sSoundOptions[sOptionMenuPtr->option[selection]]);
break;
case MENUITEM_BUTTONMODE:
AddTextPrinterParameterized3(1, 2, x, y, dst, -1, sButtonTypeOptions);
AddTextPrinterParameterized3(1, 2, x, y, dst, -1, sButtonTypeOptions[sOptionMenuPtr->option[selection]]);
break;
case MENUITEM_FRAMETYPE:
StringCopy(str, gText_FrameType);
ConvertIntToDecimalStringN(v8, sOptionMenuPtr->option[2 * selection] + 1, 1, 2);
StringAppendN(str, v8, 3);
ConvertIntToDecimalStringN(buf, sOptionMenuPtr->option[selection] + 1, 1, 2);
StringAppendN(str, buf, 3);
AddTextPrinterParameterized3(1, 2, x, y, dst, -1, str);
break;
default:
@@ -506,173 +507,6 @@ static void BufferOptionMenuString(u8 selection)
PutWindowTilemap(1);
CopyWindowToVram(1, 3);
}
#else
NAKED
static void BufferOptionMenuString(u8 selection)
{
asm_unified("\tpush {r4-r7,lr}\n"
"\tmov r7, r8\n"
"\tpush {r7}\n"
"\tsub sp, 0x30\n"
"\tlsls r0, 24\n"
"\tlsrs r5, r0, 24\n"
"\tadd r4, sp, 0x2C\n"
"\tldr r1, _08088A08 @ =sOptionMenuTextColor\n"
"\tadds r0, r4, 0\n"
"\tmovs r2, 0x3\n"
"\tbl memcpy\n"
"\tmovs r0, 0x82\n"
"\tmov r8, r0\n"
"\tmovs r0, 0x2\n"
"\tmovs r1, 0x1\n"
"\tbl GetFontAttribute\n"
"\tlsls r0, 24\n"
"\tlsrs r0, 24\n"
"\tsubs r0, 0x1\n"
"\tmuls r0, r5\n"
"\tadds r0, 0x2\n"
"\tlsls r0, 24\n"
"\tlsrs r7, r0, 24\n"
"\tmovs r0, 0x2\n"
"\tmovs r1, 0x1\n"
"\tbl GetFontAttribute\n"
"\tlsls r0, 24\n"
"\tlsrs r0, 24\n"
"\tmovs r1, 0x46\n"
"\tstr r1, [sp]\n"
"\tstr r0, [sp, 0x4]\n"
"\tmovs r0, 0x1\n"
"\tmovs r1, 0x1\n"
"\tmovs r2, 0x82\n"
"\tadds r3, r7, 0\n"
"\tbl FillWindowPixelRect\n"
"\tadds r6, r4, 0\n"
"\tcmp r5, 0x5\n"
"\tbhi _08088ADE\n"
"\tlsls r0, r5, 2\n"
"\tldr r1, _08088A0C @ =_08088A10\n"
"\tadds r0, r1\n"
"\tldr r0, [r0]\n"
"\tmov pc, r0\n"
"\t.align 2, 0\n"
"_08088A08: .4byte sOptionMenuTextColor\n"
"_08088A0C: .4byte _08088A10\n"
"\t.align 2, 0\n"
"_08088A10:\n"
"\t.4byte _08088A28\n"
"\t.4byte _08088A38\n"
"\t.4byte _08088A48\n"
"\t.4byte _08088A58\n"
"\t.4byte _08088A68\n"
"\t.4byte _08088A9C\n"
"_08088A28:\n"
"\tstr r6, [sp]\n"
"\tmovs r0, 0x1\n"
"\tnegs r0, r0\n"
"\tstr r0, [sp, 0x4]\n"
"\tldr r2, _08088A34 @ =sTextSpeedOptions\n"
"\tb _08088A72\n"
"\t.align 2, 0\n"
"_08088A34: .4byte sTextSpeedOptions\n"
"_08088A38:\n"
"\tstr r6, [sp]\n"
"\tmovs r0, 0x1\n"
"\tnegs r0, r0\n"
"\tstr r0, [sp, 0x4]\n"
"\tldr r2, _08088A44 @ =sBattleSceneOptions\n"
"\tb _08088A72\n"
"\t.align 2, 0\n"
"_08088A44: .4byte sBattleSceneOptions\n"
"_08088A48:\n"
"\tstr r6, [sp]\n"
"\tmovs r0, 0x1\n"
"\tnegs r0, r0\n"
"\tstr r0, [sp, 0x4]\n"
"\tldr r2, _08088A54 @ =sBattleStyleOptions\n"
"\tb _08088A72\n"
"\t.align 2, 0\n"
"_08088A54: .4byte sBattleStyleOptions\n"
"_08088A58:\n"
"\tstr r6, [sp]\n"
"\tmovs r0, 0x1\n"
"\tnegs r0, r0\n"
"\tstr r0, [sp, 0x4]\n"
"\tldr r2, _08088A64 @ =sSoundOptions\n"
"\tb _08088A72\n"
"\t.align 2, 0\n"
"_08088A64: .4byte sSoundOptions\n"
"_08088A68:\n"
"\tstr r6, [sp]\n"
"\tmovs r0, 0x1\n"
"\tnegs r0, r0\n"
"\tstr r0, [sp, 0x4]\n"
"\tldr r2, _08088A94 @ =sButtonTypeOptions\n"
"_08088A72:\n"
"\tldr r0, _08088A98 @ =sOptionMenuPtr\n"
"\tldr r0, [r0]\n"
"\tlsls r1, r5, 1\n"
"\tadds r0, r1\n"
"\tldrh r0, [r0]\n"
"\tlsls r0, 2\n"
"\tadds r0, r2\n"
"\tldr r0, [r0]\n"
"\tstr r0, [sp, 0x8]\n"
"\tmovs r0, 0x1\n"
"\tmovs r1, 0x2\n"
"\tmov r2, r8\n"
"\tadds r3, r7, 0\n"
"\tbl AddTextPrinterParameterized3\n"
"\tb _08088ADE\n"
"\t.align 2, 0\n"
"_08088A94: .4byte sButtonTypeOptions\n"
"_08088A98: .4byte sOptionMenuPtr\n"
"_08088A9C:\n"
"\tldr r1, _08088AF8 @ =gText_FrameType\n"
"\tadd r0, sp, 0xC\n"
"\tbl StringCopy\n"
"\tadd r4, sp, 0x20\n"
"\tldr r0, _08088AFC @ =sOptionMenuPtr\n"
"\tldr r0, [r0]\n"
"\tlsls r1, r5, 1\n"
"\tadds r0, r1\n"
"\tldrh r1, [r0]\n"
"\tadds r1, 0x1\n"
"\tadds r0, r4, 0\n"
"\tmovs r2, 0x1\n"
"\tmovs r3, 0x2\n"
"\tbl ConvertIntToDecimalStringN\n"
"\tadd r0, sp, 0xC\n"
"\tadds r1, r4, 0\n"
"\tmovs r2, 0x3\n"
"\tbl StringAppendN\n"
"\tstr r6, [sp]\n"
"\tmovs r0, 0x1\n"
"\tnegs r0, r0\n"
"\tstr r0, [sp, 0x4]\n"
"\tadd r0, sp, 0xC\n"
"\tstr r0, [sp, 0x8]\n"
"\tmovs r0, 0x1\n"
"\tmovs r1, 0x2\n"
"\tmov r2, r8\n"
"\tadds r3, r7, 0\n"
"\tbl AddTextPrinterParameterized3\n"
"_08088ADE:\n"
"\tmovs r0, 0x1\n"
"\tbl PutWindowTilemap\n"
"\tmovs r0, 0x1\n"
"\tmovs r1, 0x3\n"
"\tbl CopyWindowToVram\n"
"\tadd sp, 0x30\n"
"\tpop {r3}\n"
"\tmov r8, r3\n"
"\tpop {r4-r7}\n"
"\tpop {r0}\n"
"\tbx r0\n"
"\t.align 2, 0\n"
"_08088AF8: .4byte gText_FrameType\n"
"_08088AFC: .4byte sOptionMenuPtr\n");
}
#endif
static void CloseAndSaveOptionMenu(u8 taskId)
{
@@ -739,6 +573,6 @@ static void sub_8088DE0(u16 selection)
v1 = GetFontAttribute(2, FONTATTR_MAX_LETTER_HEIGHT);
v2 = selection * (v1 - 1) + 0x3A;
SetGpuReg(REG_OFFSET_WIN0V, (v2 << 8) | (v2 + v1));
SetGpuReg(REG_OFFSET_WIN0H, WINOUT_WINOBJ_OBJ | WIN_RANGE(0, 0xE0));
SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(v2, v2 + v1));
SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(0x10, 0xE0));
}
+3 -3
View File
@@ -305,7 +305,7 @@ static void CB2_SetUpTMCaseUI_Blocking(void)
{
while (1)
{
if (sub_80BF72C() == TRUE)
if ((u8) sub_80BF72C() == TRUE)
break;
if (DoSetUpTMCaseUI() == TRUE)
break;
@@ -734,7 +734,7 @@ static void Task_TMCaseMain(u8 taskId)
if (!gPaletteFade.active)
{
if (sub_80BF72C() != TRUE)
if ((u8) sub_80BF72C() != TRUE)
{
input = ListMenu_ProcessInput(data[0]);
ListMenuGetScrollAndRow(data[0], &sTMCaseStaticResources.scrollOffset, &sTMCaseStaticResources.selectedRow);
@@ -815,7 +815,7 @@ static void Task_TMContextMenu_HandleInput(u8 taskId)
{
s8 input;
if (sub_80BF72C() != TRUE)
if ((u8) sub_80BF72C() != TRUE)
{
input = Menu_ProcessInputNoWrapAround();
switch (input)