Merge pull request #190 from jiangzhengwenjz/sub_8113AE8
fake match sub_8113AE8
This commit is contained in:
+14
-61
@@ -179,9 +179,9 @@ static void sub_8113A1C(u16);
|
|||||||
static void sub_811381C(void);
|
static void sub_811381C(void);
|
||||||
static bool8 sub_8113A44(u16, const u16 *);
|
static bool8 sub_8113A44(u16, const u16 *);
|
||||||
static u16 *QuestLog_SkipCommand(u16 *, u16 **);
|
static u16 *QuestLog_SkipCommand(u16 *, u16 **);
|
||||||
static void sub_8113ABC(u16 *);
|
static void sub_8113ABC(const u16 *);
|
||||||
static bool8 sub_8113AE8(u16 *);
|
static bool8 sub_8113AE8(const u16 *);
|
||||||
static bool8 sub_8113B44(u16 *);
|
static bool8 sub_8113B44(const u16 *);
|
||||||
static void sub_8113B88(void);
|
static void sub_8113B88(void);
|
||||||
static void sub_8113B94(u16);
|
static void sub_8113B94(u16);
|
||||||
static void sub_8113BD8(void);
|
static void sub_8113BD8(void);
|
||||||
@@ -2831,19 +2831,24 @@ static u16 *QuestLog_SkipCommand(u16 *curPtr, u16 **prevPtr_p)
|
|||||||
return sQuestLogEventCmdSizes[idx] + (sQuestLogEventCmdSizes[idx] - 4) * cnt + (void *)curPtr;
|
return sQuestLogEventCmdSizes[idx] + (sQuestLogEventCmdSizes[idx] - 4) * cnt + (void *)curPtr;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_8113ABC(u16 *a0)
|
static void sub_8113ABC(const u16 *a0)
|
||||||
{
|
{
|
||||||
u8 *r2 = (u8 *)(a0 + 2);
|
const u8 *r2 = (const u8 *)(a0 + 2);
|
||||||
if ((a0[0] & 0xFFF) != 35)
|
if ((a0[0] & 0xFFF) != 35)
|
||||||
gUnknown_203B04A = 0;
|
gUnknown_203B04A = 0;
|
||||||
else
|
else
|
||||||
gUnknown_203B04A = r2[1] + 1;
|
gUnknown_203B04A = r2[1] + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef NONMATCHING
|
static bool8 sub_8113AE8(const u16 *a0)
|
||||||
static bool8 sub_8113AE8(u16 *a0)
|
|
||||||
{
|
{
|
||||||
if (a0 == NULL || a0[1] > sQuestLogIdx)
|
#ifndef NONMATCHING
|
||||||
|
register const u16 *r0 asm("r0") = a0;
|
||||||
|
#else
|
||||||
|
const u16 *r0 = a0;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (r0 == NULL || r0[1] > sQuestLogIdx)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
sQuestLogScriptParsingCBs[a0[0] & 0xFFF](a0);
|
sQuestLogScriptParsingCBs[a0[0] & 0xFFF](a0);
|
||||||
@@ -2853,60 +2858,8 @@ static bool8 sub_8113AE8(u16 *a0)
|
|||||||
gUnknown_203B044.unk_2 = 1;
|
gUnknown_203B044.unk_2 = 1;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
NAKED
|
|
||||||
static bool8 sub_8113AE8(u16 *a0)
|
|
||||||
{
|
|
||||||
asm_unified("\tpush {r4,lr}\n"
|
|
||||||
"\tadds r4, r0, 0\n"
|
|
||||||
"\tcmp r0, 0\n"
|
|
||||||
"\tbeq _08113AFA\n"
|
|
||||||
"\tldr r1, _08113B00 @ =sQuestLogIdx\n"
|
|
||||||
"\tldrh r0, [r0, 0x2]\n"
|
|
||||||
"\tldrh r1, [r1]\n"
|
|
||||||
"\tcmp r0, r1\n"
|
|
||||||
"\tbls _08113B04\n"
|
|
||||||
"_08113AFA:\n"
|
|
||||||
"\tmovs r0, 0\n"
|
|
||||||
"\tb _08113B32\n"
|
|
||||||
"\t.align 2, 0\n"
|
|
||||||
"_08113B00: .4byte sQuestLogIdx\n"
|
|
||||||
"_08113B04:\n"
|
|
||||||
"\tldr r2, _08113B38 @ =sQuestLogScriptParsingCBs\n"
|
|
||||||
"\tldrh r1, [r4]\n"
|
|
||||||
"\tldr r0, _08113B3C @ =0x00000fff\n"
|
|
||||||
"\tands r0, r1\n"
|
|
||||||
"\tlsls r0, 2\n"
|
|
||||||
"\tadds r0, r2\n"
|
|
||||||
"\tldr r1, [r0]\n"
|
|
||||||
"\tadds r0, r4, 0\n"
|
|
||||||
"\tbl _call_via_r1\n"
|
|
||||||
"\tldr r2, _08113B40 @ =gUnknown_203B044\n"
|
|
||||||
"\tldrh r1, [r4]\n"
|
|
||||||
"\tstrb r1, [r2]\n"
|
|
||||||
"\tmovs r0, 0xF0\n"
|
|
||||||
"\tlsls r0, 8\n"
|
|
||||||
"\tands r0, r1\n"
|
|
||||||
"\tlsrs r0, 12\n"
|
|
||||||
"\tstrb r0, [r2, 0x1]\n"
|
|
||||||
"\tcmp r0, 0\n"
|
|
||||||
"\tbeq _08113B30\n"
|
|
||||||
"\tmovs r0, 0x1\n"
|
|
||||||
"\tstrh r0, [r2, 0x2]\n"
|
|
||||||
"_08113B30:\n"
|
|
||||||
"\tmovs r0, 0x1\n"
|
|
||||||
"_08113B32:\n"
|
|
||||||
"\tpop {r4}\n"
|
|
||||||
"\tpop {r1}\n"
|
|
||||||
"\tbx r1\n"
|
|
||||||
"\t.align 2, 0\n"
|
|
||||||
"_08113B38: .4byte sQuestLogScriptParsingCBs\n"
|
|
||||||
"_08113B3C: .4byte 0x00000fff\n"
|
|
||||||
"_08113B40: .4byte gUnknown_203B044");
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static bool8 sub_8113B44(u16 *a0)
|
static bool8 sub_8113B44(const u16 *a0)
|
||||||
{
|
{
|
||||||
if (gUnknown_203B044.unk_2 == 0)
|
if (gUnknown_203B044.unk_2 == 0)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|||||||
Reference in New Issue
Block a user