summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-10-13 08:50:20 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2018-10-13 08:50:20 -0400
commitf0e2b86a7b75d10d4015df92fe8cb3c079bbb2f1 (patch)
treeab6a8db7e6ad85fda3635c8df9b54be659c3a67d
parent65bce70419a44d62c5f8a6442db6d0ddfb7ced8c (diff)
through sub_81126AC
-rw-r--r--asm/quest_log.s288
-rw-r--r--src/quest_log.c73
2 files changed, 72 insertions, 289 deletions
diff --git a/asm/quest_log.s b/asm/quest_log.s
index a1b187919..ce8445e16 100644
--- a/asm/quest_log.s
+++ b/asm/quest_log.s
@@ -5,294 +5,6 @@
.text
- thumb_func_start sub_81124EC
-sub_81124EC: @ 81124EC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- lsls r3, 24
- lsrs r3, 24
- mov r10, r3
- bl sub_8112CEC
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0
- bne _0811256E
- ldr r2, _0811257C @ =gUnknown_203AF98
- ldrh r0, [r2]
- ldr r3, _08112580 @ =gUnknown_3005E94
- ldr r5, [r3]
- lsls r0, 3
- adds r0, r5
- ldr r1, _08112584 @ =gUnknown_203B01A
- mov r12, r1
- ldrh r1, [r1]
- movs r4, 0
- strh r1, [r0, 0x4]
- ldrh r0, [r2]
- lsls r0, 3
- adds r0, r5
- strb r4, [r0, 0x6]
- ldrh r0, [r2]
- ldr r1, [r3]
- lsls r0, 3
- adds r0, r1
- strb r6, [r0]
- ldrh r0, [r2]
- ldr r1, [r3]
- lsls r0, 3
- adds r0, r1
- mov r4, r8
- strb r4, [r0, 0x1]
- ldrh r0, [r2]
- ldr r1, [r3]
- lsls r0, 3
- adds r0, r1
- mov r1, r9
- strb r1, [r0, 0x2]
- ldrh r0, [r2]
- ldr r1, [r3]
- lsls r0, 3
- adds r0, r1
- mov r4, r10
- strb r4, [r0, 0x3]
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- mov r0, r12
- strh r7, [r0]
-_0811256E:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0811257C: .4byte gUnknown_203AF98
-_08112580: .4byte gUnknown_3005E94
-_08112584: .4byte gUnknown_203B01A
- thumb_func_end sub_81124EC
-
- thumb_func_start sub_8112588
-sub_8112588: @ 8112588
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, [sp, 0x20]
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r3, 24
- lsrs r3, 24
- mov r9, r3
- lsls r4, 24
- lsrs r4, 24
- mov r10, r4
- bl sub_8112D1C
- lsls r0, 24
- cmp r0, 0
- bne _0811260E
- ldr r2, _0811261C @ =gUnknown_203AF98
- ldrh r0, [r2]
- ldr r3, _08112620 @ =gUnknown_3005E94
- ldr r5, [r3]
- lsls r0, 3
- adds r0, r5
- ldr r1, _08112624 @ =gUnknown_203B01A
- mov r12, r1
- ldrh r1, [r1]
- movs r4, 0
- strh r1, [r0, 0x4]
- ldrh r0, [r2]
- lsls r0, 3
- adds r0, r5
- strb r4, [r0, 0x6]
- ldrh r0, [r2]
- ldr r1, [r3]
- lsls r0, 3
- adds r0, r1
- strb r7, [r0]
- ldrh r0, [r2]
- ldr r1, [r3]
- lsls r0, 3
- adds r0, r1
- strb r6, [r0, 0x1]
- ldrh r0, [r2]
- ldr r1, [r3]
- lsls r0, 3
- adds r0, r1
- mov r4, r8
- strb r4, [r0, 0x2]
- ldrh r0, [r2]
- ldr r1, [r3]
- lsls r0, 3
- adds r0, r1
- mov r1, r9
- strb r1, [r0, 0x3]
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- mov r0, r10
- mov r4, r12
- strh r0, [r4]
-_0811260E:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0811261C: .4byte gUnknown_203AF98
-_08112620: .4byte gUnknown_3005E94
-_08112624: .4byte gUnknown_203B01A
- thumb_func_end sub_8112588
-
- thumb_func_start sub_8112628
-sub_8112628: @ 8112628
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r4, r0, 24
- mov r8, r4
- bl sub_8112CEC
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0
- bne _08112692
- ldr r0, _0811269C @ =gUnknown_203B01C
- mov r12, r0
- ldrh r0, [r0]
- ldr r6, _081126A0 @ =gUnknown_3005E94
- ldr r5, [r6]
- lsls r0, 3
- adds r0, r5
- ldrb r0, [r0, 0x3]
- cmp r4, r0
- bne _08112658
- cmp r4, 0x3
- bls _08112692
-_08112658:
- ldr r2, _081126A4 @ =gUnknown_203AF98
- ldrh r0, [r2]
- lsls r0, 3
- adds r0, r5
- ldr r4, _081126A8 @ =gUnknown_203B01A
- ldrh r1, [r4]
- movs r3, 0
- strh r1, [r0, 0x4]
- ldrh r0, [r2]
- lsls r0, 3
- adds r0, r5
- strb r3, [r0, 0x6]
- ldrh r0, [r2]
- ldr r1, [r6]
- lsls r0, 3
- adds r0, r1
- strb r3, [r0]
- ldrh r0, [r2]
- ldr r1, [r6]
- lsls r0, 3
- adds r0, r1
- mov r1, r8
- strb r1, [r0, 0x3]
- ldrh r0, [r2]
- mov r1, r12
- strh r0, [r1]
- adds r0, 0x1
- strh r0, [r2]
- strh r7, [r4]
-_08112692:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0811269C: .4byte gUnknown_203B01C
-_081126A0: .4byte gUnknown_3005E94
-_081126A4: .4byte gUnknown_203AF98
-_081126A8: .4byte gUnknown_203B01A
- thumb_func_end sub_8112628
-
- thumb_func_start sub_81126AC
-sub_81126AC: @ 81126AC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- bl sub_8112D1C
- lsls r0, 24
- cmp r0, 0
- bne _08112704
- ldr r2, _08112710 @ =gUnknown_203AF98
- ldrh r0, [r2]
- ldr r3, _08112714 @ =gUnknown_3005E94
- ldr r4, [r3]
- lsls r0, 3
- adds r0, r4
- ldr r6, _08112718 @ =gUnknown_203B01A
- ldrh r1, [r6]
- movs r5, 0
- strh r1, [r0, 0x4]
- ldrh r0, [r2]
- lsls r0, 3
- adds r0, r4
- strb r5, [r0, 0x6]
- ldrh r0, [r2]
- ldr r1, [r3]
- lsls r0, 3
- adds r0, r1
- strb r5, [r0]
- ldrh r0, [r2]
- ldr r1, [r3]
- lsls r0, 3
- adds r0, r1
- strb r7, [r0, 0x3]
- ldr r1, _0811271C @ =gUnknown_203B01C
- ldrh r0, [r2]
- strh r0, [r1]
- adds r0, 0x1
- strh r0, [r2]
- mov r0, r8
- strh r0, [r6]
-_08112704:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08112710: .4byte gUnknown_203AF98
-_08112714: .4byte gUnknown_3005E94
-_08112718: .4byte gUnknown_203B01A
-_0811271C: .4byte gUnknown_203B01C
- thumb_func_end sub_81126AC
-
thumb_func_start sub_8112720
sub_8112720: @ 8112720
push {r4-r7,lr}
diff --git a/src/quest_log.c b/src/quest_log.c
index 2282520b3..3cc392165 100644
--- a/src/quest_log.c
+++ b/src/quest_log.c
@@ -43,10 +43,16 @@ struct UnkStruct_203AE94
struct UnkStruct_203AE98
{
- u8 filler_0[6];
+ u8 unk_0;
+ u8 unk_1;
+ u8 unk_2;
+ u8 unk_3;
+ u16 unk_4;
u8 unk_6;
};
+IWRAM_DATA struct UnkStruct_203AE98 * gUnknown_3005E94;
+
EWRAM_DATA u8 gUnknown_203ADF8 = 0;
EWRAM_DATA u8 gUnknown_203ADF9 = 0;
EWRAM_DATA u8 gUnknown_203ADFA = 0;
@@ -61,6 +67,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 u8 gUnknown_203AF9A[128];
+EWRAM_DATA u16 gUnknown_203B01A;
+EWRAM_DATA u16 gUnknown_203B01C;
EWRAM_DATA u16 gUnknown_203B044[2] = {0};
@@ -103,6 +111,8 @@ void sub_811229C(void);
void sub_8112364(void);
void sub_8112888(u8);
void sub_8112940(u8, struct UnkStruct_203AE98 *, u16);
+bool8 sub_8112CEC(void);
+bool8 sub_8112D1C(void);
void sub_8113A1C(u8);
void sub_811381C(void);
void sub_81138F8(void);
@@ -1445,3 +1455,64 @@ void sub_811246C(struct Sprite *sprite)
sub_8063E28(mapObject, sprite);
}
}
+
+void sub_81124EC(u8 a0, u8 a1, u8 a2, u8 a3)
+{
+ if (!sub_8112CEC())
+ {
+ gUnknown_3005E94[gUnknown_203AF98].unk_4 = gUnknown_203B01A;
+ gUnknown_3005E94[gUnknown_203AF98].unk_6 = 0;
+ gUnknown_3005E94[gUnknown_203AF98].unk_0 = a0;
+ gUnknown_3005E94[gUnknown_203AF98].unk_1 = a1;
+ gUnknown_3005E94[gUnknown_203AF98].unk_2 = a2;
+ gUnknown_3005E94[gUnknown_203AF98].unk_3 = a3;
+ gUnknown_203AF98++;
+ gUnknown_203B01A = 0;
+ }
+}
+
+void sub_8112588(u8 a0, u8 a1, u8 a2, u8 a3, u8 a4)
+{
+ if (!sub_8112D1C())
+ {
+ gUnknown_3005E94[gUnknown_203AF98].unk_4 = gUnknown_203B01A;
+ gUnknown_3005E94[gUnknown_203AF98].unk_6 = 0;
+ gUnknown_3005E94[gUnknown_203AF98].unk_0 = a0;
+ gUnknown_3005E94[gUnknown_203AF98].unk_1 = a1;
+ gUnknown_3005E94[gUnknown_203AF98].unk_2 = a2;
+ gUnknown_3005E94[gUnknown_203AF98].unk_3 = a3;
+ gUnknown_203AF98++;
+ gUnknown_203B01A = a4;
+ }
+}
+
+void sub_8112628(u8 a0)
+{
+ if (!sub_8112CEC())
+ {
+ if (a0 != gUnknown_3005E94[gUnknown_203B01C].unk_3 || a0 > 3)
+ {
+ gUnknown_3005E94[gUnknown_203AF98].unk_4 = gUnknown_203B01A;
+ gUnknown_3005E94[gUnknown_203AF98].unk_6 = 0;
+ gUnknown_3005E94[gUnknown_203AF98].unk_0 = 0;
+ gUnknown_3005E94[gUnknown_203AF98].unk_3 = a0;
+ gUnknown_203B01C = gUnknown_203AF98;
+ gUnknown_203AF98++;
+ gUnknown_203B01A = 0;
+ }
+ }
+}
+
+void sub_81126AC(u8 a0, u8 a1)
+{
+ if (!sub_8112D1C())
+ {
+ gUnknown_3005E94[gUnknown_203AF98].unk_4 = gUnknown_203B01A;
+ gUnknown_3005E94[gUnknown_203AF98].unk_6 = 0;
+ gUnknown_3005E94[gUnknown_203AF98].unk_0 = 0;
+ gUnknown_3005E94[gUnknown_203AF98].unk_3 = a0;
+ gUnknown_203B01C = gUnknown_203AF98;
+ gUnknown_203AF98++;
+ gUnknown_203B01A = a1;
+ }
+}