summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-10-12 09:48:04 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2018-10-12 09:48:04 -0400
commitcd3594802cd6ca1d460d89d3e2a007192c1d7bfa (patch)
tree8745a48184f84a287fd2f46bc6650f739055752b
parent6b0f3451b89dddbb05279281d598ccda65824c9b (diff)
through sub_8111CF0
-rw-r--r--asm/quest_log.s223
-rw-r--r--src/quest_log.c83
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);
+}