summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-10-12 18:00:42 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2018-10-12 18:00:42 -0400
commite143072f961cfffc5e8e2cc5b2a6059c27124808 (patch)
tree056c570f17d89727c4120c7cad4d21f8e7e13497
parent4f846b6536382331dee430dd57c61ba7a1e2b7e0 (diff)
through sub_8112364
-rw-r--r--asm/quest_log.s131
-rw-r--r--include/field_weather.h1
-rw-r--r--src/quest_log.c43
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;
+}