summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPikalaxALT <PikalaxALT@users.noreply.github.com>2019-12-20 14:50:33 -0500
committerGitHub <noreply@github.com>2019-12-20 14:50:33 -0500
commit9bdd62d651c6d765bf48b2cd396a3e64d26e739c (patch)
tree144f66b0407b9defb4997e635f310af5af8f5651 /src
parent72bd8384030b58232d60b20002968b5e56efd439 (diff)
parenta34882f4544151000030a41451d99205a484a6fa (diff)
Merge pull request #190 from jiangzhengwenjz/sub_8113AE8
fake match sub_8113AE8
Diffstat (limited to 'src')
-rw-r--r--src/quest_log.c75
1 files changed, 14 insertions, 61 deletions
diff --git a/src/quest_log.c b/src/quest_log.c
index 6b25150f3..970071a0f 100644
--- a/src/quest_log.c
+++ b/src/quest_log.c
@@ -179,9 +179,9 @@ static void sub_8113A1C(u16);
static void sub_811381C(void);
static bool8 sub_8113A44(u16, const u16 *);
static u16 *QuestLog_SkipCommand(u16 *, u16 **);
-static void sub_8113ABC(u16 *);
-static bool8 sub_8113AE8(u16 *);
-static bool8 sub_8113B44(u16 *);
+static void sub_8113ABC(const u16 *);
+static bool8 sub_8113AE8(const u16 *);
+static bool8 sub_8113B44(const u16 *);
static void sub_8113B88(void);
static void sub_8113B94(u16);
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;
}
-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)
gUnknown_203B04A = 0;
else
gUnknown_203B04A = r2[1] + 1;
}
-#ifdef NONMATCHING
-static bool8 sub_8113AE8(u16 *a0)
+static bool8 sub_8113AE8(const 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;
sQuestLogScriptParsingCBs[a0[0] & 0xFFF](a0);
@@ -2853,60 +2858,8 @@ static bool8 sub_8113AE8(u16 *a0)
gUnknown_203B044.unk_2 = 1;
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)
return FALSE;