diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2018-10-15 10:07:39 -0500 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-10-15 10:07:39 -0500 |
commit | 1c90805498f7a03d415d74bfe3b380396b81e14f (patch) | |
tree | cd5b94f3f0fa1b77cd84d70198d2745ad60c8d2f | |
parent | f07f73e188f0ff81f313e74230d5ad055461966f (diff) |
through sub_8112D40
-rw-r--r-- | asm/quest_log.s | 154 | ||||
-rw-r--r-- | include/save.h | 1 | ||||
-rw-r--r-- | src/quest_log.c | 65 |
3 files changed, 65 insertions, 155 deletions
diff --git a/asm/quest_log.s b/asm/quest_log.s index 2bfc14dd1..22a28b96f 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,160 +5,6 @@ .text - thumb_func_start sub_8112C9C -sub_8112C9C: @ 8112C9C - ldr r1, _08112CA8 @ =gUnknown_203B01A - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - bx lr - .align 2, 0 -_08112CA8: .4byte gUnknown_203B01A - thumb_func_end sub_8112C9C - - thumb_func_start sub_8112CAC -sub_8112CAC: @ 8112CAC - push {lr} - ldr r0, _08112CC0 @ =gUnknown_3005E88 - ldrb r0, [r0] - cmp r0, 0x4 - bhi _08112CDC - lsls r0, 2 - ldr r1, _08112CC4 @ =_08112CC8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08112CC0: .4byte gUnknown_3005E88 -_08112CC4: .4byte _08112CC8 - .align 2, 0 -_08112CC8: - .4byte _08112CDC - .4byte _08112CE0 - .4byte _08112CE4 - .4byte _08112CE0 - .4byte _08112CE4 -_08112CDC: - movs r0, 0 - b _08112CE6 -_08112CE0: - movs r0, 0x1 - b _08112CE6 -_08112CE4: - movs r0, 0x2 -_08112CE6: - pop {r1} - bx r1 - thumb_func_end sub_8112CAC - - thumb_func_start sub_8112CEC -sub_8112CEC: @ 8112CEC - push {lr} - ldr r0, _08112D0C @ =gUnknown_203AF98 - ldr r1, _08112D10 @ =gUnknown_3005E8C - ldrh r0, [r0] - ldrh r1, [r1] - cmp r0, r1 - bcs _08112D06 - bl ScriptContext2_IsEnabled - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08112D14 -_08112D06: - movs r0, 0x1 - b _08112D16 - .align 2, 0 -_08112D0C: .4byte gUnknown_203AF98 -_08112D10: .4byte gUnknown_3005E8C -_08112D14: - movs r0, 0 -_08112D16: - pop {r1} - bx r1 - thumb_func_end sub_8112CEC - - thumb_func_start sub_8112D1C -sub_8112D1C: @ 8112D1C - push {lr} - ldr r0, _08112D30 @ =gUnknown_203AF98 - ldr r1, _08112D34 @ =gUnknown_3005E8C - ldrh r0, [r0] - ldrh r1, [r1] - cmp r0, r1 - bcs _08112D38 - movs r0, 0 - b _08112D3A - .align 2, 0 -_08112D30: .4byte gUnknown_203AF98 -_08112D34: .4byte gUnknown_3005E8C -_08112D38: - movs r0, 0x1 -_08112D3A: - pop {r1} - bx r1 - thumb_func_end sub_8112D1C - - thumb_func_start sub_8112D40 -sub_8112D40: @ 8112D40 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 16 - lsrs r5, r1, 16 - ldr r0, _08112D6C @ =gUnknown_203AF98 - ldrh r1, [r0] - cmp r1, 0 - beq _08112D66 - ldr r0, _08112D70 @ =gUnknown_3005E8C - ldrh r0, [r0] - cmp r1, r0 - bcs _08112D66 - ldr r4, _08112D74 @ =gUnknown_203B01E - ldr r1, _08112D78 @ =gUnknown_3002020 - ldrh r0, [r4] - ldrh r1, [r1] - cmp r0, r1 - bcc _08112D7C -_08112D66: - movs r0, 0 - b _08112DA8 - .align 2, 0 -_08112D6C: .4byte gUnknown_203AF98 -_08112D70: .4byte gUnknown_3005E8C -_08112D74: .4byte gUnknown_203B01E -_08112D78: .4byte gUnknown_3002020 -_08112D7C: - ldrh r3, [r4] - ldr r0, _08112DA0 @ =gUnknown_300201C - ldr r1, [r0] - lsls r0, r3, 2 - adds r2, r0, r1 - ldr r1, [r2] - lsls r0, r1, 17 - lsrs r0, 17 - cmp r0, r5 - bne _08112DA4 - lsls r0, r1, 16 - lsrs r0, 31 - cmp r0, r6 - bne _08112DA4 - adds r1, r2, 0x2 - adds r0, r3, 0x1 - strh r0, [r4] - b _08112DA6 - .align 2, 0 -_08112DA0: .4byte gUnknown_300201C -_08112DA4: - movs r1, 0 -_08112DA6: - adds r0, r1, 0 -_08112DA8: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8112D40 - thumb_func_start sub_8112DB0 sub_8112DB0: @ 8112DB0 push {r4-r7,lr} diff --git a/include/save.h b/include/save.h index 5a502e1fc..29524a7e2 100644 --- a/include/save.h +++ b/include/save.h @@ -119,7 +119,6 @@ u8 Save_LoadGameData(u8 a1); u32 TryCopySpecialSaveSection(u8 sector, u8* dst); u32 sub_8153634(u8 sector, u8* src); void sub_8153688(u8 taskId); -//void Save_LoadGameData(u8); u32 sub_80DA5E0(u8 sector, u8* src); void sub_80DA634(u8 taskId); diff --git a/src/quest_log.c b/src/quest_log.c index a1008aa06..1419ca8a0 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -52,11 +52,21 @@ struct UnkStruct_203AE98 u8 unk_6; }; +struct UnkStruct_300201C +{ + u16 unk_0_0:15; + u16 unk_0_f:1; + u16 unk_2; +}; + u8 gUnknown_3005E88; u16 gUnknown_3005E8C; struct UnkStruct_3005E90 gUnknown_3005E90; struct UnkStruct_203AE98 * gUnknown_3005E94; +IWRAM_DATA struct UnkStruct_300201C * gUnknown_300201C; +IWRAM_DATA u16 gUnknown_3002020; + EWRAM_DATA u8 gUnknown_203ADF8 = 0; EWRAM_DATA u8 gUnknown_203ADF9 = 0; EWRAM_DATA u8 gUnknown_203ADFA = 0; @@ -73,6 +83,7 @@ EWRAM_DATA u16 gUnknown_203AF98 = 0; EWRAM_DATA u8 gUnknown_203AF9A[64][2]; EWRAM_DATA u16 gUnknown_203B01A; EWRAM_DATA u16 gUnknown_203B01C; +EWRAM_DATA u16 gUnknown_203B01E; EWRAM_DATA u16 gUnknown_203B044[2] = {0}; @@ -1932,3 +1943,57 @@ void sub_8112B3C(void) "_08112C98: .4byte gUnknown_3005E88"); } #endif + +void sub_8112C9C(void) +{ + gUnknown_203B01A++; +} + +u8 sub_8112CAC(void) +{ + switch (gUnknown_3005E88) + { + case 0: + default: + return 0; + case 1: + case 3: + return 1; + case 2: + case 4: + return 2; + } +} + +bool8 sub_8112CEC(void) +{ + if (gUnknown_203AF98 >= gUnknown_3005E8C || ScriptContext2_IsEnabled() == TRUE) + return TRUE; + return FALSE; +} + +bool8 sub_8112D1C(void) +{ + if (gUnknown_203AF98 >= gUnknown_3005E8C) + return TRUE; + return FALSE; +} + +u16 * sub_8112D40(u8 a0, u16 a1) +{ + u16 * response; + if (gUnknown_203AF98 == 0) + return NULL; + if (gUnknown_203AF98 >= gUnknown_3005E8C) + return NULL; + if (gUnknown_203B01E >= gUnknown_3002020) + return NULL; + if (gUnknown_300201C[gUnknown_203B01E].unk_0_0 == a1 && gUnknown_300201C[gUnknown_203B01E].unk_0_f == a0) + { + response = &gUnknown_300201C[gUnknown_203B01E].unk_2; + gUnknown_203B01E++; + } + else + response = NULL; + return response; +} |