diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2018-11-06 17:27:11 -0500 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-11-06 17:27:11 -0500 |
commit | 4628859055b05feeebdde69b6852c3b6c88e6afe (patch) | |
tree | 1c820f2dadfdb8df0bb551c487a61528bf5417c0 /src/quest_log.c | |
parent | 5a85a2273d25222d6504d7b7b4c9c16e9a262f32 (diff) |
sub_8113DE0
Diffstat (limited to 'src/quest_log.c')
-rw-r--r-- | src/quest_log.c | 40 |
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; +} |