summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-10-15 11:30:50 -0500
committerPikalaxALT <pikalaxalt@gmail.com>2018-10-15 11:30:50 -0500
commit3f43d60bc240bfcdc3da254bf9ff50af3cbaee1a (patch)
tree81408df9bc8c6528546f9da74084f5030b33f674
parent1c90805498f7a03d415d74bfe3b380396b81e14f (diff)
through sub_8112EB4
-rw-r--r--asm/quest_log.s157
-rw-r--r--data/quest_log.s10
-rw-r--r--src/quest_log.c63
3 files changed, 64 insertions, 166 deletions
diff --git a/asm/quest_log.s b/asm/quest_log.s
index 22a28b96f..d6dc18f13 100644
--- a/asm/quest_log.s
+++ b/asm/quest_log.s
@@ -5,163 +5,6 @@
.text
- thumb_func_start sub_8112DB0
-sub_8112DB0: @ 8112DB0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 16
- lsrs r3, r1, 16
- lsls r2, 16
- lsrs r2, 16
- mov r12, r2
- ldr r0, _08112E20 @ =gUnknown_203AF98
- ldrh r1, [r0]
- cmp r1, 0
- beq _08112E18
- ldr r0, _08112E24 @ =gUnknown_3005E8C
- ldrh r0, [r0]
- cmp r1, r0
- bcs _08112E18
- ldr r6, _08112E28 @ =gUnknown_203B01E
- ldr r1, _08112E2C @ =gUnknown_3002020
- ldrh r0, [r6]
- ldrh r1, [r1]
- cmp r0, r1
- bcs _08112E18
- adds r2, r0, 0
- ldr r5, _08112E30 @ =gUnknown_300201C
- ldr r4, [r5]
- lsls r2, 2
- adds r2, r4
- ldr r1, _08112E34 @ =0x00007fff
- ands r1, r3
- ldrh r3, [r2]
- ldr r0, _08112E38 @ =0xffff8000
- ands r0, r3
- orrs r0, r1
- strh r0, [r2]
- ldrh r1, [r6]
- lsls r1, 2
- adds r1, r4
- lsls r3, r7, 7
- ldrb r2, [r1, 0x1]
- movs r0, 0x7F
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x1]
- ldrh r0, [r6]
- ldr r1, [r5]
- lsls r0, 2
- adds r0, r1
- mov r1, r12
- strh r1, [r0, 0x2]
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
-_08112E18:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08112E20: .4byte gUnknown_203AF98
-_08112E24: .4byte gUnknown_3005E8C
-_08112E28: .4byte gUnknown_203B01E
-_08112E2C: .4byte gUnknown_3002020
-_08112E30: .4byte gUnknown_300201C
-_08112E34: .4byte 0x00007fff
-_08112E38: .4byte 0xffff8000
- thumb_func_end sub_8112DB0
-
- thumb_func_start sub_8112E3C
-sub_8112E3C: @ 8112E3C
- push {r4,r5,lr}
- lsls r0, 24
- lsls r2, 16
- lsrs r3, r0, 24
- movs r4, 0xFF
- lsls r4, 24
- adds r0, r4
- lsrs r0, 24
- cmp r0, 0x1
- bls _08112E5C
- ldr r1, _08112E58 @ =gUnknown_3005E88
- movs r0, 0
- strb r0, [r1]
- b _08112E8E
- .align 2, 0
-_08112E58: .4byte gUnknown_3005E88
-_08112E5C:
- ldr r5, _08112E94 @ =gUnknown_300201C
- str r1, [r5]
- ldr r1, _08112E98 @ =gUnknown_3002020
- lsrs r0, r2, 18
- strh r0, [r1]
- ldr r1, _08112E9C @ =gUnknown_203B01E
- movs r0, 0
- strh r0, [r1]
- cmp r3, 0x2
- bne _08112E8E
- movs r2, 0
- ldr r4, _08112EA0 @ =gUnknown_3005E8C
- ldrh r0, [r4]
- cmp r2, r0
- bge _08112E8E
- ldr r0, _08112EA4 @ =gUnknown_84566A4
- ldr r3, [r0]
-_08112E7E:
- ldr r1, [r5]
- lsls r0, r2, 2
- adds r0, r1
- str r3, [r0]
- adds r2, 0x1
- ldrh r0, [r4]
- cmp r2, r0
- blt _08112E7E
-_08112E8E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08112E94: .4byte gUnknown_300201C
-_08112E98: .4byte gUnknown_3002020
-_08112E9C: .4byte gUnknown_203B01E
-_08112EA0: .4byte gUnknown_3005E8C
-_08112EA4: .4byte gUnknown_84566A4
- thumb_func_end sub_8112E3C
-
- thumb_func_start sub_8112EA8
-sub_8112EA8: @ 8112EA8
- ldr r1, _08112EB0 @ =gUnknown_203B020
- movs r0, 0xFF
- strb r0, [r1]
- bx lr
- .align 2, 0
-_08112EB0: .4byte gUnknown_203B020
- thumb_func_end sub_8112EA8
-
- thumb_func_start sub_8112EB4
-sub_8112EB4: @ 8112EB4
- push {r4,lr}
- ldr r4, _08112ED4 @ =gUnknown_203B020
- ldrb r0, [r4]
- cmp r0, 0xFF
- bne _08112ECC
- ldr r0, _08112ED8 @ =gUnknown_8456928
- bl AddWindow
- strb r0, [r4]
- ldrb r0, [r4]
- bl PutWindowTilemap
-_08112ECC:
- ldrb r0, [r4]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08112ED4: .4byte gUnknown_203B020
-_08112ED8: .4byte gUnknown_8456928
- thumb_func_end sub_8112EB4
-
thumb_func_start sub_8112EDC
sub_8112EDC: @ 8112EDC
push {r4,r5,lr}
diff --git a/data/quest_log.s b/data/quest_log.s
index dd7776ae0..a68d924a7 100644
--- a/data/quest_log.s
+++ b/data/quest_log.s
@@ -1,14 +1,6 @@
.section .rodata
-gUnknown_84566A4:: @ 84566A4
- .incbin "baserom.gba", 0x4566A4, 0x4
-
-gUnknown_84566A8:: @ 84566A8
- .incbin "baserom.gba", 0x4566A8, 0x280
-
-gUnknown_8456928:: @ 8456928
- .incbin "baserom.gba", 0x456928, 0x8
-
+ .align 2
gUnknown_8456930:: @ 8456930
.incbin "baserom.gba", 0x456930, 0x4
diff --git a/src/quest_log.c b/src/quest_log.c
index 1419ca8a0..590892acf 100644
--- a/src/quest_log.c
+++ b/src/quest_log.c
@@ -84,6 +84,7 @@ EWRAM_DATA u8 gUnknown_203AF9A[64][2];
EWRAM_DATA u16 gUnknown_203B01A;
EWRAM_DATA u16 gUnknown_203B01C;
EWRAM_DATA u16 gUnknown_203B01E;
+EWRAM_DATA u8 gUnknown_203B020;
EWRAM_DATA u16 gUnknown_203B044[2] = {0};
@@ -1979,6 +1980,12 @@ bool8 sub_8112D1C(void)
return FALSE;
}
+const struct UnkStruct_300201C gUnknown_84566A4 = {
+ 0,
+ FALSE,
+ 0x7FFF
+};
+
u16 * sub_8112D40(u8 a0, u16 a1)
{
u16 * response;
@@ -1997,3 +2004,59 @@ u16 * sub_8112D40(u8 a0, u16 a1)
response = NULL;
return response;
}
+
+void sub_8112DB0(u8 a0, u16 a1, u16 a2)
+{
+ if (gUnknown_203AF98 == 0)
+ return;
+ if (gUnknown_203AF98 >= gUnknown_3005E8C)
+ return;
+ if (gUnknown_203B01E >= gUnknown_3002020)
+ return;
+ gUnknown_300201C[gUnknown_203B01E].unk_0_0 = a1;
+ gUnknown_300201C[gUnknown_203B01E].unk_0_f = a0;
+ gUnknown_300201C[gUnknown_203B01E].unk_2 = a2;
+ gUnknown_203B01E++;
+}
+
+void sub_8112E3C(u8 a0, struct UnkStruct_300201C * a1, u16 a2)
+{
+ s32 i;
+
+ if (a0 == 0 || a0 > 2)
+ gUnknown_3005E88 = 0;
+ else
+ {
+ gUnknown_300201C = a1;
+ gUnknown_3002020 = a2 >> 2;
+ gUnknown_203B01E = 0;
+ if (a0 == 2)
+ {
+ for (i = 0; i < gUnknown_3005E8C; i++)
+ {
+ gUnknown_300201C[i] = gUnknown_84566A4;
+ }
+ }
+ }
+}
+
+const u16 gUnknown_84566A8[] = INCBIN_U16("data/graphics/unknown_84566a8.bin");
+
+const struct WindowTemplate gUnknown_8456928 = {
+ 0x00, 0, 15, 30, 5, 15, 0x008F
+};
+
+void sub_8112EA8(void)
+{
+ gUnknown_203B020 = 0xFF;
+}
+
+u8 sub_8112EB4(void)
+{
+ if (gUnknown_203B020 == 0xFF)
+ {
+ gUnknown_203B020 = AddWindow(&gUnknown_8456928);
+ PutWindowTilemap(gUnknown_203B020);
+ }
+ return gUnknown_203B020;
+}