summaryrefslogtreecommitdiff
path: root/src/quest_log.c
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 /src/quest_log.c
parentcd3594802cd6ca1d460d89d3e2a007192c1d7bfa (diff)
through sub_8111D90
Diffstat (limited to 'src/quest_log.c')
-rw-r--r--src/quest_log.c59
1 files changed, 59 insertions, 0 deletions
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);
+ }
+}