diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2018-10-12 09:48:04 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-10-12 09:48:04 -0400 |
commit | cd3594802cd6ca1d460d89d3e2a007192c1d7bfa (patch) | |
tree | 8745a48184f84a287fd2f46bc6650f739055752b | |
parent | 6b0f3451b89dddbb05279281d598ccda65824c9b (diff) |
through sub_8111CF0
-rw-r--r-- | asm/quest_log.s | 223 | ||||
-rw-r--r-- | src/quest_log.c | 83 |
2 files changed, 83 insertions, 223 deletions
diff --git a/asm/quest_log.s b/asm/quest_log.s index e779da3f6..bed681f5b 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,229 +5,6 @@ .text - thumb_func_start sub_8111B80 -sub_8111B80: @ 8111B80 - push {r4,lr} - ldr r4, _08111BCC @ =gUnknown_203AE94 - ldrb r1, [r4] - movs r2, 0xF - ands r2, r1 - cmp r2, 0 - bne _08111BC0 - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - movs r1, 0x31 - negs r1, r1 - ands r0, r1 - strb r0, [r4] - strb r2, [r4, 0x3] - bl sub_8111BD4 - strb r0, [r4, 0x2] - ldr r0, _08111BD0 @ =gUnknown_203B044 - ldrh r0, [r0, 0x2] - cmp r0, 0 - bne _08111BB6 - ldrb r0, [r4, 0x1] - adds r0, 0x1 - strb r0, [r4, 0x1] -_08111BB6: - ldrb r0, [r4, 0x1] - cmp r0, 0x20 - bhi _08111BC6 - bl sub_8111D10 -_08111BC0: - movs r0, 0x1 - bl sub_8112888 -_08111BC6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08111BCC: .4byte gUnknown_203AE94 -_08111BD0: .4byte gUnknown_203B044 - thumb_func_end sub_8111B80 - - thumb_func_start sub_8111BD4 -sub_8111BD4: @ 8111BD4 - push {r4,lr} - movs r2, 0 - movs r1, 0 - ldr r3, _08111C0C @ =gStringVar4 - ldrb r0, [r3] - cmp r0, 0xFF - beq _08111C04 - ldr r4, _08111C10 @ =0x000003ff -_08111BE4: - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, 0xFE - beq _08111BF2 - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 -_08111BF2: - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, r4 - bhi _08111C04 - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, 0xFF - bne _08111BE4 -_08111C04: - cmp r2, 0x13 - bhi _08111C14 - movs r0, 0x5F - b _08111C26 - .align 2, 0 -_08111C0C: .4byte gStringVar4 -_08111C10: .4byte 0x000003ff -_08111C14: - cmp r2, 0x23 - bhi _08111C1C - movs r0, 0x7F - b _08111C26 -_08111C1C: - cmp r2, 0x2D - bls _08111C24 - movs r0, 0xFF - b _08111C26 -_08111C24: - movs r0, 0xBF -_08111C26: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8111BD4 - - thumb_func_start sub_8111C2C -sub_8111C2C: @ 8111C2C - push {lr} - ldr r0, _08111C54 @ =gUnknown_203ADFA - ldrb r0, [r0] - cmp r0, 0x2 - bne _08111C60 - ldr r0, _08111C58 @ =gUnknown_3005E88 - ldrb r0, [r0] - cmp r0, 0 - beq _08111C4E - ldr r0, _08111C5C @ =gUnknown_203AE94 - ldrb r0, [r0] - movs r1, 0xF - ands r1, r0 - cmp r1, 0x1 - beq _08111C4E - cmp r1, 0x2 - bne _08111C60 -_08111C4E: - movs r0, 0x1 - b _08111C62 - .align 2, 0 -_08111C54: .4byte gUnknown_203ADFA -_08111C58: .4byte gUnknown_3005E88 -_08111C5C: .4byte gUnknown_203AE94 -_08111C60: - movs r0, 0 -_08111C62: - pop {r1} - bx r1 - thumb_func_end sub_8111C2C - - thumb_func_start sub_8111C68 -sub_8111C68: @ 8111C68 - push {r4,r5,lr} - ldr r5, _08111C9C @ =gUnknown_203AE94 - ldrb r2, [r5] - movs r4, 0xC0 - ands r4, r2 - cmp r4, 0 - bne _08111CC6 - ldr r0, _08111CA0 @ =gMain - ldrh r1, [r0, 0x2E] - movs r3, 0x1 - ands r3, r1 - cmp r3, 0 - beq _08111CA8 - movs r0, 0x3F - ands r0, r2 - movs r1, 0x80 - orrs r0, r1 - strb r0, [r5] - ldr r0, _08111CA4 @ =gUnknown_3005E88 - strb r4, [r0] - movs r0, 0x3 - negs r0, r0 - bl sub_81118F4 - b _08111CC6 - .align 2, 0 -_08111C9C: .4byte gUnknown_203AE94 -_08111CA0: .4byte gMain -_08111CA4: .4byte gUnknown_3005E88 -_08111CA8: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08111CC6 - movs r0, 0x3F - ands r0, r2 - movs r1, 0x40 - orrs r0, r1 - strb r0, [r5] - ldr r0, _08111CCC @ =gUnknown_3005E88 - strb r3, [r0] - movs r0, 0x3 - negs r0, r0 - bl sub_8111E64 -_08111CC6: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08111CCC: .4byte gUnknown_3005E88 - thumb_func_end sub_8111C68 - - thumb_func_start sub_8111CD0 -sub_8111CD0: @ 8111CD0 - push {lr} - ldr r0, _08111CE4 @ =gUnknown_203AE94 - ldrb r1, [r0] - movs r0, 0xC0 - ands r0, r1 - cmp r0, 0 - bne _08111CE8 - movs r0, 0 - b _08111CEA - .align 2, 0 -_08111CE4: .4byte gUnknown_203AE94 -_08111CE8: - movs r0, 0x1 -_08111CEA: - pop {r1} - bx r1 - thumb_func_end sub_8111CD0 - - thumb_func_start sub_8111CF0 -sub_8111CF0: @ 8111CF0 - push {lr} - ldr r0, _08111D08 @ =gUnknown_203ADFA - ldrb r0, [r0] - cmp r0, 0x2 - bne _08111D02 - ldr r0, _08111D0C @ =gUnknown_203ADF9 - ldrb r0, [r0] - bl sub_8111070 -_08111D02: - pop {r0} - bx r0 - .align 2, 0 -_08111D08: .4byte gUnknown_203ADFA -_08111D0C: .4byte gUnknown_203ADF9 - thumb_func_end sub_8111CF0 - thumb_func_start sub_8111D10 sub_8111D10: @ 8111D10 push {r4,r5,lr} diff --git a/src/quest_log.c b/src/quest_log.c index d1d0d341e..8131d0573 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -52,6 +52,8 @@ EWRAM_DATA struct UnkStruct_203AE94 gUnknown_203AE94 = {0}; EWRAM_DATA struct UnkStruct_203AE98 gUnknown_203AE98[32] = {0}; EWRAM_DATA u16 gUnknown_203AF98 = 0; +EWRAM_DATA u16 gUnknown_203B044[2] = {0}; + void sub_8110A00(void); void sub_8110A3C(void); void sub_8110BB0(u8); @@ -75,7 +77,10 @@ void sub_8111984(void); void sub_8111A34(u8); void sub_8111AD8(void); void sub_8111B80(void); +u8 sub_8111BD4(void); +void sub_8111D10(void); void sub_8111E20(void); +void sub_8111E64(s8); bool8 sub_8111F60(void); void sub_8112364(void); void sub_8112888(u8); @@ -1016,3 +1021,81 @@ void sub_8111AD8(void) sub_8111B80(); } } + +void sub_8111B80(void) +{ + if (gUnknown_203AE94.unk_0_0 == 0) + { + gUnknown_203AE94.unk_0_0 = 1; + gUnknown_203AE94.unk_0_4 = 0; + gUnknown_203AE94.unk_3 = 0; + gUnknown_203AE94.unk_2 = sub_8111BD4(); + if (gUnknown_203B044[1] == 0) + gUnknown_203AE94.unk_1++; + if (gUnknown_203AE94.unk_1 > 32) + return; + sub_8111D10(); + } + sub_8112888(1); +} + +u8 sub_8111BD4(void) +{ + u16 i; + u16 count = 0; + + for (i = 0; i < 0x400 && gStringVar4[i] != EOS; i++) + { + if (gStringVar4[i] != CHAR_NEWLINE) + count++; + } + + if (count < 20) + return 0x5F; + if (count < 36) + return 0x7F; + if (count < 46) + return 0xBF; + return 0xFF; +} + +bool8 sub_8111C2C(void) +{ + if (gUnknown_203ADFA != 2) + return FALSE; + if (gUnknown_3005E88 == 0 || gUnknown_203AE94.unk_0_0 == 1 || gUnknown_203AE94.unk_0_0 == 2) + return TRUE; + return FALSE; +} + +void sub_8111C68(void) +{ + if (gUnknown_203AE94.unk_0_6 == 0) + { + if (gMain.newKeys & A_BUTTON) + { + gUnknown_203AE94.unk_0_6 = 2; + gUnknown_3005E88 = 0; + sub_81118F4(-3); + } + else if (gMain.newKeys & B_BUTTON) + { + gUnknown_203AE94.unk_0_6 = 1; + gUnknown_3005E88 = 0; + sub_8111E64(-3); + } + } +} + +bool8 sub_8111CD0(void) +{ + if (gUnknown_203AE94.unk_0_6 != 0) + return TRUE; + return FALSE; +} + +void sub_8111CF0(void) +{ + if (gUnknown_203ADFA == 2) + sub_8111070(gUnknown_203ADF9); +} |