summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-10-10 11:08:56 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2018-10-10 11:08:56 -0400
commita7a6457014c93b3314c6fc8bfe9be1b3c6e946d5 (patch)
treea1fb10baf73b791c10330e38bc985d31888dc0cd
parentdc37cd7de0d60727e4b45fd4c83301a59a194bdf (diff)
through sub_8110AEC
-rw-r--r--asm/quest_log.s121
-rw-r--r--src/quest_log.c49
2 files changed, 47 insertions, 123 deletions
diff --git a/asm/quest_log.s b/asm/quest_log.s
index 880f6c290..40689ba5e 100644
--- a/asm/quest_log.s
+++ b/asm/quest_log.s
@@ -5,127 +5,6 @@
.text
- thumb_func_start sub_8110AB4
-sub_8110AB4: @ 8110AB4
- ldr r0, _08110AC0 @ =gUnknown_20370D0
- ldr r1, _08110AC4 @ =gUnknown_203ADFA
- ldrb r1, [r1]
- strh r1, [r0]
- bx lr
- .align 2, 0
-_08110AC0: .4byte gUnknown_20370D0
-_08110AC4: .4byte gUnknown_203ADFA
- thumb_func_end sub_8110AB4
-
- thumb_func_start sub_8110AC8
-sub_8110AC8: @ 8110AC8
- ldr r0, _08110AE4 @ =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, _08110AE8 @ =gUnknown_203ADF8
- ldrb r2, [r0]
- movs r0, 0xCD
- lsls r0, 3
- muls r0, r2
- adds r1, r0
- movs r0, 0x98
- lsls r0, 5
- adds r1, r0
- ldrb r0, [r1]
- bx lr
- .align 2, 0
-_08110AE4: .4byte gSaveBlock1Ptr
-_08110AE8: .4byte gUnknown_203ADF8
- thumb_func_end sub_8110AC8
-
- thumb_func_start sub_8110AEC
-sub_8110AEC: @ 8110AEC
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r4, _08110B44 @ =gUnknown_203ADF8
- ldrb r0, [r4]
- cmp r0, 0x3
- bls _08110AFE
- movs r0, 0
- strb r0, [r4]
-_08110AFE:
- ldrb r0, [r4]
- bl sub_81108F0
- bl sub_8113B88
- ldr r2, _08110B48 @ =gUnknown_203AE08
- ldr r1, _08110B4C @ =gSaveBlock1Ptr
- ldrb r0, [r4]
- movs r3, 0xCD
- lsls r3, 3
- muls r0, r3
- movs r5, 0x98
- lsls r5, 5
- adds r0, r5
- ldr r1, [r1]
- adds r0, r1, r0
- movs r7, 0xAD
- lsls r7, 3
- adds r0, r7
- str r0, [r2]
- adds r0, r6, 0
- subs r0, 0xC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x7
- bls _08110B36
- cmp r6, 0x23
- bne _08110B50
-_08110B36:
- ldrb r0, [r4]
- muls r0, r3
- adds r0, r1, r0
- adds r0, r5
- movs r1, 0x2
- b _08110B5A
- .align 2, 0
-_08110B44: .4byte gUnknown_203ADF8
-_08110B48: .4byte gUnknown_203AE08
-_08110B4C: .4byte gSaveBlock1Ptr
-_08110B50:
- ldrb r0, [r4]
- muls r0, r3
- adds r0, r1, r0
- adds r0, r5
- movs r1, 0x1
-_08110B5A:
- strb r1, [r0]
- bl sub_81115E8
- ldr r4, _08110BA4 @ =gUnknown_203ADF8
- ldrb r0, [r4]
- bl sub_8110BB0
- ldrb r0, [r4]
- bl sub_8110BE8
- bl sub_8110D94
- bl sub_8110E20
- ldrb r0, [r4]
- bl sub_8110D48
- ldr r1, _08110BA8 @ =gUnknown_203ADFC
- movs r0, 0
- strh r0, [r1]
- ldr r4, _08110BAC @ =gUnknown_203AE98
- movs r2, 0x80
- lsls r2, 1
- movs r0, 0x2
- adds r1, r4, 0
- bl sub_8112940
- adds r0, r4, 0
- bl sub_8110E68
- movs r0, 0x1
- bl sub_81109CC
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08110BA4: .4byte gUnknown_203ADF8
-_08110BA8: .4byte gUnknown_203ADFC
-_08110BAC: .4byte gUnknown_203AE98
- thumb_func_end sub_8110AEC
-
thumb_func_start sub_8110BB0
sub_8110BB0: @ 8110BB0
lsls r0, 24
diff --git a/src/quest_log.c b/src/quest_log.c
index 0454dd7ad..3a5ca7b30 100644
--- a/src/quest_log.c
+++ b/src/quest_log.c
@@ -1,5 +1,6 @@
#include "global.h"
#include "script.h"
+#include "event_data.h"
#include "quest_log.h"
u8 gUnknown_3005E88;
@@ -14,6 +15,7 @@ struct UnkStruct_203AE94
EWRAM_DATA u8 gUnknown_203ADF8 = 0;
EWRAM_DATA u8 gUnknown_203ADFA = 0;
+EWRAM_DATA u16 gUnknown_203ADFC = 0;
EWRAM_DATA void * gUnknown_203AE04 = NULL;
EWRAM_DATA void * gUnknown_203AE08 = NULL;
EWRAM_DATA void * gUnknown_203AE0C[32] = {NULL};
@@ -22,13 +24,22 @@ EWRAM_DATA struct UnkStruct_203AE94 gUnknown_203AE94 = {0};
EWRAM_DATA u8 gUnknown_203AE98[0x100] = {0};
void sub_8110A00(void);
-u8 sub_8110E68(void *);
void sub_8110A3C(void);
void sub_8110E3C(void);
-void sub_8111AD8(void);
+u8 sub_8110E68(void *);
void sub_81118F4(s8);
+void sub_8111AD8(void);
+void sub_8113B88(void);
void sub_8113BD8(void);
void sub_81138F8(void);
+void sub_81115E8(void);
+void sub_8110BB0(u8);
+void sub_8110BE8(u8);
+void sub_8110D94(void);
+void sub_8110E20(void);
+void sub_8110D48(u8);
+void sub_8112940(u8, u8 *, u16);
+
void sub_8110840(void * a0)
{
@@ -135,3 +146,37 @@ void sub_8110A3C(void)
}
}
}
+
+void sub_8110AB4(void)
+{
+ gUnknown_20370D0 = gUnknown_203ADFA;
+}
+
+u8 sub_8110AC8(void)
+{
+ return gSaveBlock1Ptr->questLog[gUnknown_203ADF8].filler_000[0];
+}
+
+void sub_8110AEC(u16 a0)
+{
+ if (gUnknown_203ADF8 > 3)
+ gUnknown_203ADF8 = 0;
+
+ sub_81108F0(gUnknown_203ADF8);
+ sub_8113B88();
+ gUnknown_203AE08 = gSaveBlock1Ptr->questLog[gUnknown_203ADF8].filler_568;
+ if ((a0 >= 12 && a0 < 20) || a0 == 35)
+ gSaveBlock1Ptr->questLog[gUnknown_203ADF8].filler_000[0] = 2;
+ else
+ gSaveBlock1Ptr->questLog[gUnknown_203ADF8].filler_000[0] = 1;
+ sub_81115E8();
+ sub_8110BB0(gUnknown_203ADF8);
+ sub_8110BE8(gUnknown_203ADF8);
+ sub_8110D94();
+ sub_8110E20();
+ sub_8110D48(gUnknown_203ADF8);
+ gUnknown_203ADFC = 0;
+ sub_8112940(2, gUnknown_203AE98, 0x100);
+ sub_8110E68(gUnknown_203AE98);
+ sub_81109CC(1);
+}