diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2018-10-12 18:00:42 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-10-12 18:00:42 -0400 |
commit | e143072f961cfffc5e8e2cc5b2a6059c27124808 (patch) | |
tree | 056c570f17d89727c4120c7cad4d21f8e7e13497 | |
parent | 4f846b6536382331dee430dd57c61ba7a1e2b7e0 (diff) |
through sub_8112364
-rw-r--r-- | asm/quest_log.s | 131 | ||||
-rw-r--r-- | include/field_weather.h | 1 | ||||
-rw-r--r-- | src/quest_log.c | 43 |
3 files changed, 44 insertions, 131 deletions
diff --git a/asm/quest_log.s b/asm/quest_log.s index 4972eaa07..5045c50be 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -5,137 +5,6 @@ .text - thumb_func_start sub_811229C -sub_811229C: @ 811229C - push {r4-r6,lr} - movs r0, 0x80 - lsls r0, 3 - bl Alloc - adds r6, r0, 0 - ldr r4, _08112314 @ =gUnknown_203AE90 - ldr r0, [r4] - movs r5, 0x80 - lsls r5, 2 - adds r1, r6, 0 - adds r2, r5, 0 - bl CpuSet - ldr r1, [r4] - adds r0, r1, 0 - movs r2, 0xD0 - bl sub_807B0C4 - ldr r1, [r4] - movs r0, 0x88 - lsls r0, 2 - adds r1, r0 - adds r0, r1, 0 - movs r2, 0x10 - bl sub_807B0C4 - ldr r1, [r4] - movs r0, 0xB0 - lsls r0, 2 - adds r1, r0 - adds r0, r1, 0 - movs r2, 0x40 - bl sub_807B0C4 - ldr r1, [r4] - movs r0, 0xD8 - lsls r0, 2 - adds r1, r0 - adds r0, r1, 0 - movs r2, 0x50 - bl sub_807B0C4 - ldr r0, [r4] - ldr r1, _08112318 @ =gPlttBufferUnfaded - adds r2, r5, 0 - bl CpuSet - ldr r1, [r4] - adds r0, r6, 0 - adds r2, r5, 0 - bl CpuSet - adds r0, r6, 0 - bl Free - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08112314: .4byte gUnknown_203AE90 -_08112318: .4byte gPlttBufferUnfaded - thumb_func_end sub_811229C - - thumb_func_start sub_811231C -sub_811231C: @ 811231C - push {r4,lr} - ldr r4, _0811234C @ =gUnknown_203ADFA - ldrb r0, [r4] - cmp r0, 0x1 - bne _08112346 - ldr r0, _08112350 @ =gUnknown_203AE98 - bl sub_8110E68 - bl sub_8110E3C - movs r0, 0 - strb r0, [r4] - ldr r0, _08112354 @ =gUnknown_203AE8C - movs r1, 0 - str r1, [r0] - ldr r0, _08112358 @ =gUnknown_203AE04 - str r1, [r0] - ldr r0, _0811235C @ =gUnknown_203AE08 - str r1, [r0] - ldr r0, _08112360 @ =gUnknown_3005E88 - strb r1, [r0] -_08112346: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0811234C: .4byte gUnknown_203ADFA -_08112350: .4byte gUnknown_203AE98 -_08112354: .4byte gUnknown_203AE8C -_08112358: .4byte gUnknown_203AE04 -_0811235C: .4byte gUnknown_203AE08 -_08112360: .4byte gUnknown_3005E88 - thumb_func_end sub_811231C - - thumb_func_start sub_8112364 -sub_8112364: @ 8112364 - push {r4,r5,lr} - ldr r5, _081123A4 @ =gUnknown_3005E88 - ldrb r0, [r5] - cmp r0, 0 - beq _08112392 - ldr r4, _081123A8 @ =gUnknown_203ADFA - ldrb r0, [r4] - cmp r0, 0x1 - bne _08112392 - ldr r0, _081123AC @ =gUnknown_203AE98 - bl sub_8110E68 - movs r0, 0x1 - bl sub_8113A1C - bl sub_8110E3C - movs r0, 0 - strb r0, [r5] - strb r0, [r4] - ldr r1, _081123B0 @ =gUnknown_203AE8C - movs r0, 0 - str r0, [r1] -_08112392: - ldr r0, _081123B4 @ =gUnknown_203AE04 - movs r1, 0 - str r1, [r0] - ldr r0, _081123B8 @ =gUnknown_203AE08 - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081123A4: .4byte gUnknown_3005E88 -_081123A8: .4byte gUnknown_203ADFA -_081123AC: .4byte gUnknown_203AE98 -_081123B0: .4byte gUnknown_203AE8C -_081123B4: .4byte gUnknown_203AE04 -_081123B8: .4byte gUnknown_203AE08 - thumb_func_end sub_8112364 - thumb_func_start sub_81123BC sub_81123BC: @ 81123BC push {r4-r7,lr} diff --git a/include/field_weather.h b/include/field_weather.h index e12107e70..3f7741f00 100644 --- a/include/field_weather.h +++ b/include/field_weather.h @@ -8,5 +8,6 @@ u8 GetSav1Weather(void); void sub_80AEDBC(void); void DoCurrentWeather(void); +void sub_807B0C4(u16 *, u16 *, u32); #endif // GUARD_WEATHER_H diff --git a/src/quest_log.c b/src/quest_log.c index 028bd574e..391a760ba 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -99,6 +99,7 @@ void sub_811229C(void); void sub_8112364(void); void sub_8112888(u8); void sub_8112940(u8, struct UnkStruct_203AE98 *, u16); +void sub_8113A1C(u8); void sub_811381C(void); void sub_81138F8(void); void * sub_8113A78(void *, void **); @@ -1339,3 +1340,45 @@ bool8 sub_81121D8(u8 taskId) data[1]++; return FALSE; } + +void sub_811229C(void) +{ + u16 * buffer = Alloc(0x400); + CpuCopy16(gUnknown_203AE90, buffer, 0x400); + sub_807B0C4(gUnknown_203AE90, gUnknown_203AE90, 0xd0); + sub_807B0C4(gUnknown_203AE90 + 0x110, gUnknown_203AE90 + 0x110, 0x10); + sub_807B0C4(gUnknown_203AE90 + 0x160, gUnknown_203AE90 + 0x160, 0x40); + sub_807B0C4(gUnknown_203AE90 + 0x1b0, gUnknown_203AE90 + 0x1b0, 0x50); + CpuCopy16(gUnknown_203AE90, gPlttBufferUnfaded, 0x400); + CpuCopy16(buffer, gUnknown_203AE90, 0x400); + Free(buffer); +} + +void sub_811231C(void) +{ + if (gUnknown_203ADFA == 1) + { + sub_8110E68(gUnknown_203AE98); + sub_8110E3C(); + gUnknown_203ADFA = 0; + gUnknown_203AE8C = NULL; + gUnknown_203AE04 = NULL; + gUnknown_203AE08 = NULL; + gUnknown_3005E88 = 0; + } +} + +void sub_8112364(void) +{ + if (gUnknown_3005E88 && gUnknown_203ADFA == 1) + { + sub_8110E68(gUnknown_203AE98); + sub_8113A1C(1); + sub_8110E3C(); + gUnknown_3005E88 = 0; + gUnknown_203ADFA = 0; + gUnknown_203AE8C = NULL; + } + gUnknown_203AE04 = NULL; + gUnknown_203AE08 = NULL; +} |