battle tower, match sth and dumb loop instead of goto
This commit is contained in:
+10
-74
@@ -2158,13 +2158,13 @@ void sub_8139F20(void)
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
if (gSaveBlock2Ptr->frontier.field_CE0[var][0] >= gSaveBlock2Ptr->frontier.field_CE0[var][1])
|
||||
if (gSaveBlock2Ptr->frontier.winStreaks[var][0] >= gSaveBlock2Ptr->frontier.winStreaks[var][1])
|
||||
{
|
||||
unk = gSaveBlock2Ptr->frontier.field_CE0[var][0];
|
||||
unk = gSaveBlock2Ptr->frontier.winStreaks[var][0];
|
||||
}
|
||||
else
|
||||
{
|
||||
unk = gSaveBlock2Ptr->frontier.field_CE0[var][1];
|
||||
unk = gSaveBlock2Ptr->frontier.winStreaks[var][1];
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
@@ -2244,7 +2244,7 @@ void sub_813A080(void)
|
||||
u16 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
|
||||
u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
|
||||
|
||||
if (battleMode == 2 && !FlagGet(FLAG_0x152))
|
||||
if (battleMode == FRONTIER_MODE_MULTIS && !FlagGet(FLAG_0x152))
|
||||
{
|
||||
gSpecialVar_0x8005 = 5;
|
||||
gSpecialVar_0x8006 = 4;
|
||||
@@ -2253,7 +2253,7 @@ void sub_813A080(void)
|
||||
|
||||
for (i = 0; i < 9; i++)
|
||||
{
|
||||
if (gUnknown_085B2CDC[i] > gSaveBlock2Ptr->frontier.field_CE0[battleMode][lvlMode])
|
||||
if (gUnknown_085B2CDC[i] > gSaveBlock2Ptr->frontier.winStreaks[battleMode][lvlMode])
|
||||
{
|
||||
gSpecialVar_0x8005 = 4;
|
||||
gSpecialVar_0x8006 = i + 5;
|
||||
@@ -2733,8 +2733,6 @@ static void sub_813A46C(s32 itemIndex, bool8 onInit, struct ListMenu *list)
|
||||
}
|
||||
}
|
||||
|
||||
// stupid r5<->r6 swap
|
||||
#ifdef NONMATCHING
|
||||
static void sub_813A4EC(u8 taskId)
|
||||
{
|
||||
struct Task *task = &gTasks[taskId];
|
||||
@@ -2752,7 +2750,11 @@ static void sub_813A4EC(u8 taskId)
|
||||
default:
|
||||
gSpecialVar_Result = itemId;
|
||||
PlaySE(SE_SELECT);
|
||||
if (!task->data[6] || itemId == task->data[1] - 1)
|
||||
if (!task->data[6])
|
||||
{
|
||||
sub_813A570(taskId);
|
||||
}
|
||||
else if (itemId == task->data[1] - 1)
|
||||
{
|
||||
sub_813A570(taskId);
|
||||
}
|
||||
@@ -2765,72 +2767,6 @@ static void sub_813A4EC(u8 taskId)
|
||||
break;
|
||||
}
|
||||
}
|
||||
#else
|
||||
NAKED
|
||||
static void sub_813A4EC(u8 taskId)
|
||||
{
|
||||
asm_unified("push {r4-r6,lr}\n\
|
||||
lsls r0, 24\n\
|
||||
lsrs r5, r0, 24\n\
|
||||
lsls r0, r5, 2\n\
|
||||
adds r0, r5\n\
|
||||
lsls r0, 3\n\
|
||||
ldr r1, =gTasks\n\
|
||||
adds r6, r0, r1\n\
|
||||
ldrh r0, [r6, 0x24]\n\
|
||||
lsls r0, 24\n\
|
||||
lsrs r0, 24\n\
|
||||
bl ListMenuHandleInputGetItemId\n\
|
||||
adds r4, r0, 0\n\
|
||||
movs r0, 0x2\n\
|
||||
negs r0, r0\n\
|
||||
cmp r4, r0\n\
|
||||
beq _0813A51C\n\
|
||||
adds r0, 0x1\n\
|
||||
cmp r4, r0\n\
|
||||
bne _0813A530\n\
|
||||
b _0813A566\n\
|
||||
.pool\n\
|
||||
_0813A51C:\n\
|
||||
ldr r1, =gSpecialVar_Result\n\
|
||||
movs r0, 0x7F\n\
|
||||
strh r0, [r1]\n\
|
||||
movs r0, 0x5\n\
|
||||
bl PlaySE\n\
|
||||
b _0813A54C\n\
|
||||
.pool\n\
|
||||
_0813A530:\n\
|
||||
ldr r0, =gSpecialVar_Result\n\
|
||||
strh r4, [r0]\n\
|
||||
movs r0, 0x5\n\
|
||||
bl PlaySE\n\
|
||||
movs r1, 0x14\n\
|
||||
ldrsh r0, [r6, r1]\n\
|
||||
cmp r0, 0\n\
|
||||
beq _0813A54C\n\
|
||||
movs r1, 0xA\n\
|
||||
ldrsh r0, [r6, r1]\n\
|
||||
subs r0, 0x1\n\
|
||||
cmp r4, r0\n\
|
||||
bne _0813A558\n\
|
||||
_0813A54C:\n\
|
||||
adds r0, r5, 0\n\
|
||||
bl sub_813A570\n\
|
||||
b _0813A566\n\
|
||||
.pool\n\
|
||||
_0813A558:\n\
|
||||
adds r0, r5, 0\n\
|
||||
bl sub_813A738\n\
|
||||
ldr r0, =sub_813A600\n\
|
||||
str r0, [r6]\n\
|
||||
bl EnableBothScriptContexts\n\
|
||||
_0813A566:\n\
|
||||
pop {r4-r6}\n\
|
||||
pop {r0}\n\
|
||||
bx r0\n\
|
||||
.pool");
|
||||
}
|
||||
#endif // NONMATCHING
|
||||
|
||||
static void sub_813A570(u8 taskId)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user