summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-10-12 10:09:38 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2018-10-12 10:09:38 -0400
commit714d387cbd8e3a9a9e5b522eed42c8132d41e0b0 (patch)
tree9fc520bf5e370f508a29ac844cf537e854c093bd
parentcd3594802cd6ca1d460d89d3e2a007192c1d7bfa (diff)
through sub_8111D90
-rw-r--r--asm/quest_log.s140
-rw-r--r--data/graphics/unknown_8456638.bin1
-rw-r--r--data/quest_log.s6
-rw-r--r--src/quest_log.c59
4 files changed, 60 insertions, 146 deletions
diff --git a/asm/quest_log.s b/asm/quest_log.s
index bed681f5b..fd78239ff 100644
--- a/asm/quest_log.s
+++ b/asm/quest_log.s
@@ -5,146 +5,6 @@
.text
- thumb_func_start sub_8111D10
-sub_8111D10: @ 8111D10
- push {r4,r5,lr}
- sub sp, 0x14
- movs r4, 0
- movs r1, 0
- ldr r2, _08111D80 @ =gStringVar4
- ldrb r0, [r2]
- ldr r5, _08111D84 @ =gUnknown_203ADFE
- cmp r0, 0xFF
- beq _08111D42
-_08111D22:
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0xFE
- bne _08111D30
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_08111D30:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0xFF
- bhi _08111D42
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _08111D22
-_08111D42:
- ldrb r0, [r5, 0x2]
- bl PutWindowTilemap
- ldrb r0, [r5, 0x2]
- bl sub_8111D90
- ldrb r0, [r5, 0x2]
- ldr r1, _08111D88 @ =gUnknown_8456698
- adds r1, r4, r1
- ldrb r3, [r1]
- movs r1, 0x1
- str r1, [sp]
- movs r2, 0
- str r2, [sp, 0x4]
- ldr r1, _08111D8C @ =gUnknown_8456634
- str r1, [sp, 0x8]
- str r2, [sp, 0xC]
- ldr r1, _08111D80 @ =gStringVar4
- str r1, [sp, 0x10]
- movs r1, 0x2
- movs r2, 0x2
- bl AddTextPrinterParametrized2
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08111D80: .4byte gStringVar4
-_08111D84: .4byte gUnknown_203ADFE
-_08111D88: .4byte gUnknown_8456698
-_08111D8C: .4byte gUnknown_8456634
- thumb_func_end sub_8111D10
-
- thumb_func_start sub_8111D90
-sub_8111D90: @ 8111D90
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r0, _08111DC0 @ =gUnknown_8456638
- mov r9, r0
- movs r0, 0xB4
- lsls r0, 5
- bl Alloc
- mov r8, r0
- cmp r0, 0
- beq _08111E0C
- movs r1, 0
-_08111DB4:
- cmp r1, 0
- beq _08111DC4
- cmp r1, 0x5
- beq _08111DC8
- movs r0, 0x1
- b _08111DCA
- .align 2, 0
-_08111DC0: .4byte gUnknown_8456638
-_08111DC4:
- movs r0, 0
- b _08111DCA
-_08111DC8:
- movs r0, 0x2
-_08111DCA:
- movs r4, 0
- lsls r6, r0, 5
- lsls r0, r1, 4
- adds r7, r1, 0x1
- subs r0, r1
- lsls r5, r0, 1
-_08111DD6:
- adds r1, r5, r4
- lsls r1, 5
- add r1, r8
- mov r2, r9
- adds r0, r2, r6
- ldr r2, _08111E1C @ =0x04000008
- bl CpuSet
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1D
- bls _08111DD6
- lsls r0, r7, 24
- lsrs r1, r0, 24
- cmp r1, 0x5
- bls _08111DB4
- movs r2, 0xB4
- lsls r2, 5
- mov r0, r10
- mov r1, r8
- movs r3, 0
- bl CopyToWindowPixelBuffer
- mov r0, r8
- bl Free
-_08111E0C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08111E1C: .4byte 0x04000008
- thumb_func_end sub_8111D90
-
thumb_func_start sub_8111E20
sub_8111E20: @ 8111E20
push {r4,lr}
diff --git a/data/graphics/unknown_8456638.bin b/data/graphics/unknown_8456638.bin
new file mode 100644
index 000000000..53ea8cfb8
--- /dev/null
+++ b/data/graphics/unknown_8456638.bin
@@ -0,0 +1 @@
+»»»»ÌÌÌÌÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÌÌÌÌ»»»» \ No newline at end of file
diff --git a/data/quest_log.s b/data/quest_log.s
index c2e776414..c7956f82d 100644
--- a/data/quest_log.s
+++ b/data/quest_log.s
@@ -1,12 +1,6 @@
.section .rodata
.align 2, 0
-gUnknown_8456638:: @ 8456638
- .incbin "baserom.gba", 0x456638, 0x60
-
-gUnknown_8456698:: @ 8456698
- .incbin "baserom.gba", 0x456698, 0x4
-
gUnknown_845669C:: @ 845669C
.incbin "baserom.gba", 0x45669C, 0x8
diff --git a/src/quest_log.c b/src/quest_log.c
index 8131d0573..4cf7e6c95 100644
--- a/src/quest_log.c
+++ b/src/quest_log.c
@@ -79,6 +79,7 @@ void sub_8111AD8(void);
void sub_8111B80(void);
u8 sub_8111BD4(void);
void sub_8111D10(void);
+void sub_8111D90(u8);
void sub_8111E20(void);
void sub_8111E64(s8);
bool8 sub_8111F60(void);
@@ -111,6 +112,10 @@ const struct WindowTemplate gUnknown_845661C[3] = {
const struct TextColor gUnknown_8456634 = {15, 1, 12};
+const u16 gUnknown_8456638[] = INCBIN_U16("data/graphics/unknown_8456638.bin");
+
+const u8 gUnknown_8456698[] = {17, 10, 3};
+
void sub_8110840(void * a0)
{
size_t r1 = (void *)gSaveBlock1Ptr - a0;
@@ -1099,3 +1104,57 @@ void sub_8111CF0(void)
if (gUnknown_203ADFA == 2)
sub_8111070(gUnknown_203ADF9);
}
+
+void sub_8111D10(void)
+{
+ u16 i;
+ u8 count = 0;
+
+ for (i = 0; i < 0x100 && gStringVar4[i] != EOS; i++)
+ {
+ if (gStringVar4[i] == CHAR_NEWLINE)
+ count++;
+ }
+
+ PutWindowTilemap(gUnknown_203ADFE[2]);
+ sub_8111D90(gUnknown_203ADFE[2]);
+ AddTextPrinterParametrized2(gUnknown_203ADFE[2], 2, 2, gUnknown_8456698[count], 1, 0, &gUnknown_8456634, 0, gStringVar4);
+ schedule_bg_copy_tilemap_to_vram(0);
+}
+
+void sub_8111D90(u8 a0)
+{
+ const u16 * src = gUnknown_8456638;
+ u16 * buffer = Alloc(0x1680);
+ u8 i, j, y;
+
+ if (buffer)
+ {
+ for (i = 0; i < 6; i++)
+ {
+ switch (i)
+ {
+ default:
+ y = 1;
+ break;
+ case 0:
+ y = 0;
+ break;
+ case 5:
+ y = 2;
+ break;
+ }
+
+ // r6 = y * 32
+ // r5 = 2 * (i % 16)
+ // r4 = j
+ for (j = 0; j < 30; j++)
+ {
+ CpuCopy32(src + 16 * y, buffer + 16 * (2 * (15 * i) + j), 32);
+ }
+ }
+
+ CopyToWindowPixelBuffer(a0, (const u8 *)buffer, 0x1680, 0);
+ Free(buffer);
+ }
+}