summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-10-11 12:04:54 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2018-10-11 12:04:54 -0400
commit1e655837127f458d5fcaf6e57d89032f74950540 (patch)
treef23a50e700089248b3efc51210db474c997b49e9
parent0046efe86762b893b8bc688ff8172a071a952fac (diff)
through sub_8110FCC
-rw-r--r--asm/quest_log.s116
-rw-r--r--include/help_system.h6
-rw-r--r--include/overworld.h4
-rw-r--r--include/wild_encounter.h1
-rw-r--r--src/quest_log.c59
5 files changed, 68 insertions, 118 deletions
diff --git a/asm/quest_log.s b/asm/quest_log.s
index 633a15489..c6ca210b8 100644
--- a/asm/quest_log.s
+++ b/asm/quest_log.s
@@ -5,122 +5,6 @@
.text
- thumb_func_start sub_8110F14
-sub_8110F14: @ 8110F14
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_811381C
- ldr r1, _08110F6C @ =gUnknown_203ADF9
- movs r0, 0
- strb r0, [r1]
- movs r2, 0
- ldr r0, _08110F70 @ =gSaveBlock1Ptr
- ldr r5, [r0]
- movs r7, 0xCD
- lsls r7, 3
- movs r6, 0x98
- lsls r6, 5
-_08110F32:
- adds r0, r2, 0
- muls r0, r7
- adds r0, r5, r0
- adds r0, r6
- ldrb r0, [r0]
- ldr r3, _08110F6C @ =gUnknown_203ADF9
- cmp r0, 0
- beq _08110F48
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_08110F48:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _08110F32
- ldrb r0, [r3]
- cmp r0, 0
- beq _08110F78
- ldr r1, _08110F74 @ =gUnknown_3005ECC
- movs r0, 0
- strb r0, [r1]
- adds r0, r4, 0
- bl sub_8110F90
- adds r0, r4, 0
- bl DestroyTask
- b _08110F84
- .align 2, 0
-_08110F6C: .4byte gUnknown_203ADF9
-_08110F70: .4byte gSaveBlock1Ptr
-_08110F74: .4byte gUnknown_3005ECC
-_08110F78:
- ldr r0, _08110F8C @ =sub_8056938
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
-_08110F84:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08110F8C: .4byte sub_8056938
- thumb_func_end sub_8110F14
-
- thumb_func_start sub_8110F90
-sub_8110F90: @ 8110F90
- push {lr}
- ldr r1, _08110FC0 @ =gSaveBlock1Ptr
- ldr r2, [r1]
- movs r3, 0
- movs r0, 0x3
- strb r0, [r2, 0x4]
- ldr r2, [r1]
- movs r0, 0x13
- strb r0, [r2, 0x5]
- ldr r1, [r1]
- movs r0, 0xFF
- strb r0, [r1, 0x6]
- ldr r0, _08110FC4 @ =gUnknown_203ADF8
- strb r3, [r0]
- ldr r1, _08110FC8 @ =gUnknown_2031DD8
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0x1
- bl sub_8082740
- bl sub_8111368
- pop {r0}
- bx r0
- .align 2, 0
-_08110FC0: .4byte gSaveBlock1Ptr
-_08110FC4: .4byte gUnknown_203ADF8
-_08110FC8: .4byte gUnknown_2031DD8
- thumb_func_end sub_8110F90
-
- thumb_func_start sub_8110FCC
-sub_8110FCC: @ 8110FCC
- push {r4,r5,lr}
- ldr r5, _08110FF8 @ =gUnknown_203ADF8
- ldrb r0, [r5]
- ldr r4, _08110FFC @ =gUnknown_203AE98
- adds r1, r4, 0
- bl sub_811175C
- bl sub_8113B88
- movs r2, 0x80
- lsls r2, 1
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_8112940
- ldrb r0, [r5]
- bl sub_8111150
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08110FF8: .4byte gUnknown_203ADF8
-_08110FFC: .4byte gUnknown_203AE98
- thumb_func_end sub_8110FCC
-
thumb_func_start sub_8111000
sub_8111000: @ 8111000
push {lr}
diff --git a/include/help_system.h b/include/help_system.h
new file mode 100644
index 000000000..3a4c52f2e
--- /dev/null
+++ b/include/help_system.h
@@ -0,0 +1,6 @@
+#ifndef GUARD_HELP_SYSTEM_H
+#define GUARD_HELP_SYSTEM_H
+
+extern bool8 gUnknown_3005ECC;
+
+#endif //GUARD_HELP_SYSTEM_H
diff --git a/include/overworld.h b/include/overworld.h
index a5fba0c10..7f7c92743 100644
--- a/include/overworld.h
+++ b/include/overworld.h
@@ -71,4 +71,8 @@ void mapldr_default(void);
void IncrementGameStat(u8);
u32 GetGameStat(u8);
+void sub_8056938(void);
+
+extern u8 gUnknown_2031DD8;
+
#endif //GUARD_ROM4_H
diff --git a/include/wild_encounter.h b/include/wild_encounter.h
index 55bbaa7dd..a1e26fe45 100644
--- a/include/wild_encounter.h
+++ b/include/wild_encounter.h
@@ -40,5 +40,6 @@ void FishingWildEncounter(u8 rod);
u16 GetLocalWildMon(bool8 *isWaterMon);
u16 GetLocalWaterMon(void);
bool8 UpdateRepelCounter(void);
+void sub_8082740(u8);
#endif // GUARD_WILD_ENCOUNTER_H
diff --git a/src/quest_log.c b/src/quest_log.c
index c16f41236..0e8d5dd48 100644
--- a/src/quest_log.c
+++ b/src/quest_log.c
@@ -1,6 +1,11 @@
#include "global.h"
-#include "script.h"
+#include "main.h"
+#include "task.h"
#include "event_data.h"
+#include "script.h"
+#include "overworld.h"
+#include "wild_encounter.h"
+#include "help_system.h"
#include "quest_log.h"
u8 gUnknown_3005E88;
@@ -20,6 +25,7 @@ struct UnkStruct_203AE98
};
EWRAM_DATA u8 gUnknown_203ADF8 = 0;
+EWRAM_DATA u8 gUnknown_203ADF9 = 0;
EWRAM_DATA u8 gUnknown_203ADFA = 0;
EWRAM_DATA u16 gUnknown_203ADFC = 0;
EWRAM_DATA void * gUnknown_203AE04 = NULL;
@@ -39,14 +45,19 @@ void sub_8110D94(void);
void sub_8110E20(void);
void sub_8110D48(u8);
u8 sub_8110E68(struct UnkStruct_203AE98 *);
+void sub_8110F90(u8);
+void sub_8111150(u8);
+void sub_8111368(void);
void sub_81115E8(void);
+void sub_811175C(u8, struct UnkStruct_203AE98 *);
void sub_81118F4(s8);
+void sub_81138F8(void);
void sub_8111AD8(void);
void sub_8112940(u8, struct UnkStruct_203AE98 *, u16);
+void sub_811381C(void);
void sub_8113B88(void);
void sub_8113BD8(void);
void * sub_8113BF4(void *);
-void sub_81138F8(void);
void * sub_8113D48(void *, struct UnkStruct_203AE98 *);
void * sub_8113CC8(void *, struct UnkStruct_203AE98 *);
@@ -474,3 +485,47 @@ bool8 sub_8110E68(struct UnkStruct_203AE98 * a0)
gUnknown_203ADFC = gUnknown_203AF98;
return TRUE;
}
+
+void sub_8110F14(u8 taskId)
+{
+ u8 i;
+
+ sub_811381C();
+ gUnknown_203ADF9 = 0;
+ for (i = 0; i < 4; i++)
+ {
+ if (gSaveBlock1Ptr->questLog[i].unk_000)
+ gUnknown_203ADF9++;
+ }
+
+ if (gUnknown_203ADF9 != 0)
+ {
+ gUnknown_3005ECC = FALSE;
+ sub_8110F90(taskId);
+ DestroyTask(taskId);
+ }
+ else
+ {
+ SetMainCallback2(sub_8056938);
+ DestroyTask(taskId);
+ }
+}
+
+void sub_8110F90(u8 unused)
+{
+ gSaveBlock1Ptr->location.mapGroup = 3;
+ gSaveBlock1Ptr->location.mapNum = 19;
+ gSaveBlock1Ptr->location.warpId = -1;
+ gUnknown_203ADF8 = 0;
+ gUnknown_2031DD8 = 1;
+ sub_8082740(1);
+ sub_8111368();
+}
+
+void sub_8110FCC(void)
+{
+ sub_811175C(gUnknown_203ADF8, gUnknown_203AE98);
+ sub_8113B88();
+ sub_8112940(1, gUnknown_203AE98, 0x100);
+ sub_8111150(gUnknown_203ADF8);
+}