diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2018-11-06 08:40:46 -0500 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-11-06 08:40:46 -0500 |
commit | 1e63aeb48ddb282a64d9acc73e0dcec54ddfd745 (patch) | |
tree | 26afcd7bf13faf62bf701027cb1e2c55a4a77785 | |
parent | ed3cc83264cf25acb4889508ffc6b878b1e1d095 (diff) |
through sub_8113B94
-rw-r--r-- | asm/quest_log.s | 88 | ||||
-rw-r--r-- | src/quest_log.c | 31 |
2 files changed, 30 insertions, 89 deletions
diff --git a/asm/quest_log.s b/asm/quest_log.s index cf93da04f..8bd75ed2f 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,94 +5,6 @@ .text - thumb_func_start sub_8113B44 -sub_8113B44: @ 8113B44 - push {r4,lr} - adds r2, r0, 0 - ldr r4, _08113B54 @ =gUnknown_203B044 - ldrh r0, [r4, 0x2] - cmp r0, 0 - bne _08113B58 - movs r0, 0 - b _08113B7E - .align 2, 0 -_08113B54: .4byte gUnknown_203B044 -_08113B58: - ldr r1, _08113B84 @ =gUnknown_84569F4 - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r2, 0 - bl _call_via_r1 - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - lsls r0, 16 - lsrs r0, 16 - ldrb r4, [r4, 0x1] - cmp r0, r4 - bls _08113B7C - bl sub_8113B88 -_08113B7C: - movs r0, 0x1 -_08113B7E: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08113B84: .4byte gUnknown_84569F4 - thumb_func_end sub_8113B44 - - thumb_func_start sub_8113B88 -sub_8113B88: @ 8113B88 - ldr r1, _08113B90 @ =gUnknown_203B044 - movs r0, 0 - str r0, [r1] - bx lr - .align 2, 0 -_08113B90: .4byte gUnknown_203B044 - thumb_func_end sub_8113B88 - - thumb_func_start sub_8113B94 -sub_8113B94: @ 8113B94 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - adds r4, r0, 0 - ldr r2, _08113BC0 @ =gUnknown_203B044 - ldrb r1, [r2] - lsls r0, r4, 24 - lsrs r0, 24 - ldr r3, _08113BC4 @ =gUnknown_203AF98 - cmp r1, r0 - bne _08113BB2 - ldrh r1, [r2, 0x2] - ldrh r0, [r3] - cmp r1, r0 - beq _08113BC8 -_08113BB2: - movs r0, 0 - strb r4, [r2] - strb r0, [r2, 0x1] - ldrh r0, [r3] - strh r0, [r2, 0x2] - b _08113BD2 - .align 2, 0 -_08113BC0: .4byte gUnknown_203B044 -_08113BC4: .4byte gUnknown_203AF98 -_08113BC8: - ldrb r0, [r2, 0x1] - cmp r0, 0x4 - bhi _08113BD2 - adds r0, 0x1 - strb r0, [r2, 0x1] -_08113BD2: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8113B94 - thumb_func_start sub_8113BD8 sub_8113BD8: @ 8113BD8 ldr r0, _08113BE8 @ =gUnknown_203B049 diff --git a/src/quest_log.c b/src/quest_log.c index e69f012d7..d2ffb2461 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -178,7 +178,7 @@ bool8 sub_8113A44(u16, u16 *); void * sub_8113A78(struct UnkStruct_203B024 *, struct UnkStruct_203B024 **); void sub_8113ABC(struct UnkStruct_203B024 *); bool8 sub_8113AE8(struct UnkStruct_203B024 *); -bool8 sub_8113B44(void *); +bool8 sub_8113B44(struct UnkStruct_203B024 *); void sub_8113B88(void); void sub_8113B94(u16); void sub_8113BD8(void); @@ -3317,3 +3317,32 @@ bool8 sub_8113AE8(struct UnkStruct_203B024 * a0) "_08113B40: .4byte gUnknown_203B044"); } #endif + +bool8 sub_8113B44(struct UnkStruct_203B024 * a0) +{ + if (gUnknown_203B044.unk_2 == 0) + return FALSE; + + gUnknown_84569F4[gUnknown_203B044.unk_0](a0); + gUnknown_203B044.unk_2++; + if (gUnknown_203B044.unk_2 > gUnknown_203B044.unk_1) + sub_8113B88(); + return TRUE; +} + +void sub_8113B88(void) +{ + gUnknown_203B044 = (struct UnkStruct_203B044){}; +} + +void sub_8113B94(u16 a0) +{ + if (gUnknown_203B044.unk_0 != (u8)a0 || gUnknown_203B044.unk_2 != gUnknown_203AF98) + { + gUnknown_203B044.unk_0 = a0; + gUnknown_203B044.unk_1 = 0; + gUnknown_203B044.unk_2 = gUnknown_203AF98; + } + else if (gUnknown_203B044.unk_1 < 5) + gUnknown_203B044.unk_1++; +} |