diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2018-10-09 21:28:20 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-10-09 21:28:20 -0400 |
commit | f5964c58bd51718381c5492c063662354a86309e (patch) | |
tree | ebd5b1dd6b97001562ff71cd589608159fe21959 | |
parent | d1381d8b77ee691cc5dc1fe1fdcb158e7524283a (diff) |
through sub_811092C
-rw-r--r-- | asm/quest_log.s | 51 | ||||
-rw-r--r-- | include/global.h | 4 | ||||
-rw-r--r-- | src/quest_log.c | 21 |
3 files changed, 21 insertions, 55 deletions
diff --git a/asm/quest_log.s b/asm/quest_log.s index cc5c32e64..bad86c36d 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,57 +5,6 @@ .text - thumb_func_start sub_81108F0 -sub_81108F0: @ 81108F0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08110918 @ =gSaveBlock1Ptr - ldr r1, [r1] - movs r2, 0xCD - lsls r2, 3 - muls r0, r2 - adds r0, r1 - movs r1, 0x98 - lsls r1, 5 - adds r0, r1 - movs r1, 0 - bl memset - ldr r1, _0811091C @ =gUnknown_203AE04 - movs r0, 0 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08110918: .4byte gSaveBlock1Ptr -_0811091C: .4byte gUnknown_203AE04 - thumb_func_end sub_81108F0 - - thumb_func_start sub_8110920 -sub_8110920: @ 8110920 - ldr r1, _08110928 @ =gUnknown_203AE04 - movs r0, 0 - str r0, [r1] - bx lr - .align 2, 0 -_08110928: .4byte gUnknown_203AE04 - thumb_func_end sub_8110920 - - thumb_func_start sub_811092C -sub_811092C: @ 811092C - push {lr} - ldr r0, _08110940 @ =gUnknown_203AE8C - ldr r0, [r0] - cmp r0, 0 - beq _0811093A - bl _call_via_r0 -_0811093A: - pop {r0} - bx r0 - .align 2, 0 -_08110940: .4byte gUnknown_203AE8C - thumb_func_end sub_811092C - thumb_func_start sub_8110944 sub_8110944: @ 8110944 push {r4,r5,lr} diff --git a/include/global.h b/include/global.h index 791eb2dbf..e1b6ff579 100644 --- a/include/global.h +++ b/include/global.h @@ -476,7 +476,7 @@ struct MysteryEventStruct struct QuestLog { - /*0x0000*/ u8 filler_0000[0x19a0]; + /*0x0000*/ u8 filler_000[0x668]; }; #define MAP_OBJECTS_COUNT 16 @@ -500,7 +500,7 @@ struct SaveBlock1 /*0x06A0*/ struct MapObject mapObjects[MAP_OBJECTS_COUNT]; /*0x08E0*/ struct MapObjectTemplate mapObjectTemplates[64]; /*0x0EE0*/ u8 fillerEE0[0x420]; - /*0x1300*/ struct QuestLog questLog; + /*0x1300*/ struct QuestLog questLog[4]; /*0x2ca0*/ u8 filler2CA0[0x7c0]; /*0x3460*/ struct MysteryEventStruct unk_3460; /*0x3464*/ u8 filler_3464[0x1b8]; diff --git a/src/quest_log.c b/src/quest_log.c index 00b79516d..c59de93db 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -6,7 +6,7 @@ EWRAM_DATA u8 gUnknown_203ADFA = 0; EWRAM_DATA void * gUnknown_203AE04 = NULL; EWRAM_DATA void * gUnknown_203AE08 = NULL; EWRAM_DATA void * gUnknown_203AE0C[32] = {NULL}; -EWRAM_DATA u32 gUnknown_203AE8C = 0; +EWRAM_DATA void (* gUnknown_203AE8C)(void) = 0; void sub_8113BD8(void); void sub_81138F8(void); @@ -32,7 +32,7 @@ void sub_8110840(void * a0) void sub_811089C(void) { - gSaveBlock1Ptr->questLog = (struct QuestLog){}; + memset(gSaveBlock1Ptr->questLog, 0, sizeof(gSaveBlock1Ptr->questLog)); gUnknown_203ADF8 = 0; gUnknown_203ADFA = 0; gUnknown_203AE8C = 0; @@ -41,3 +41,20 @@ void sub_811089C(void) sub_8113BD8(); sub_81138F8(); } + +void sub_81108F0(u8 a0) +{ + memset(gSaveBlock1Ptr->questLog + a0, 0, sizeof(struct QuestLog)); + gUnknown_203AE04 = NULL; +} + +void sub_8110920(void) +{ + gUnknown_203AE04 = NULL; +} + +void sub_811092C(void) +{ + if (gUnknown_203AE8C) + gUnknown_203AE8C(); +} |