diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2018-10-11 12:04:54 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-10-11 12:04:54 -0400 |
commit | 1e655837127f458d5fcaf6e57d89032f74950540 (patch) | |
tree | f23a50e700089248b3efc51210db474c997b49e9 | |
parent | 0046efe86762b893b8bc688ff8172a071a952fac (diff) |
through sub_8110FCC
-rw-r--r-- | asm/quest_log.s | 116 | ||||
-rw-r--r-- | include/help_system.h | 6 | ||||
-rw-r--r-- | include/overworld.h | 4 | ||||
-rw-r--r-- | include/wild_encounter.h | 1 | ||||
-rw-r--r-- | src/quest_log.c | 59 |
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); +} |