summaryrefslogtreecommitdiff
path: root/src/quest_log.c
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-11-06 17:27:11 -0500
committerPikalaxALT <pikalaxalt@gmail.com>2018-11-06 17:27:11 -0500
commit4628859055b05feeebdde69b6852c3b6c88e6afe (patch)
tree1c820f2dadfdb8df0bb551c487a61528bf5417c0 /src/quest_log.c
parent5a85a2273d25222d6504d7b7b4c9c16e9a262f32 (diff)
sub_8113DE0
Diffstat (limited to 'src/quest_log.c')
-rw-r--r--src/quest_log.c40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/quest_log.c b/src/quest_log.c
index 1d6951485..6e2767a1e 100644
--- a/src/quest_log.c
+++ b/src/quest_log.c
@@ -3464,3 +3464,43 @@ u16 * sub_8113D94(u16 * a0, struct UnkStruct_203AE98 * a1)
a1->unk_3 = r6[3];
return (u16 *)(r6 + 4);
}
+
+u16 * sub_8113DE0(u16 a0, u16 * a1)
+{
+ u8 r6;
+ u16 * r5;
+ u8 r4;
+ u8 r1;
+
+ if (gUnknown_203B044.unk_1 == 0)
+ r6 = gUnknown_8456AA0[a0];
+ else
+ r6 = gUnknown_8456AA0[a0] - 4;
+ if (!sub_8110944(a1, r6))
+ return NULL;
+
+ r5 = (void *)a1;
+
+ if (gUnknown_203B044.unk_1 != 0)
+ r5 = (void *)r5 - (gUnknown_203B044.unk_1 * r6 + 4);
+
+ if (gUnknown_203B044.unk_1 == 5)
+ {
+ for (r4 = 0; r4 < 4; r4++)
+ {
+ memcpy(
+ (void *)r5 + (r4 * r6 + 4),
+ (void *)r5 + ((r4 + 1) * r6 + 4),
+ r6
+ );
+ }
+ r1 = 4;
+ }
+ else
+ r1 = gUnknown_203B044.unk_1;
+
+ r5[0] = a0 + (r1 << 12);
+ r5[1] = gUnknown_203AF98;
+ r5 = (void *)r5 + (r1 * r6 + 4);
+ return r5;
+}