summaryrefslogtreecommitdiff
path: root/src/text.c
diff options
context:
space:
mode:
authorscnorton <scnorton@biociphers.org>2018-01-21 17:12:02 -0500
committerscnorton <scnorton@biociphers.org>2018-01-21 17:12:02 -0500
commit8bff04787167a733caa74c0b22dcd332b391f54d (patch)
treebedf2ab185df6c345732f693a22e95e58d54cca4 /src/text.c
parent91c6c244007944ffcd5da2e42b1a5221b0ce2074 (diff)
through sub_80063D8
Diffstat (limited to 'src/text.c')
-rw-r--r--src/text.c72
1 files changed, 71 insertions, 1 deletions
diff --git a/src/text.c b/src/text.c
index 929d8b1..3d60416 100644
--- a/src/text.c
+++ b/src/text.c
@@ -6,6 +6,7 @@
#include "global.h"
#include "file_system.h"
#include "code_800558C.h"
+#include "code_800B540.h"
struct UnkTextStruct1 {
u8 fill00[4];
@@ -21,6 +22,7 @@ EWRAM_DATA u8 *gUnknown_2027490[2];
EWRAM_DATA u16 gUnknown_2027498;
EWRAM_DATA u8 gUnknown_20274A5;
EWRAM_DATA u32 gUnknown_20274AC;
+EWRAM_DATA vu32 gUnknown_20274B0;
EWRAM_DATA struct OpenedFile *gUnknown_202AFB4[2];
EWRAM_DATA u32 gUnknown_202B020;
EWRAM_DATA u32 gUnknown_202B024;
@@ -29,11 +31,13 @@ EWRAM_DATA u32 gUnknown_202B030;
EWRAM_DATA u8 gUnknown_202B034;
EWRAM_DATA u16 gUnknown_202B038[2][32][32];
-void xxx_update_some_bg_tiles(int a0);
+u32 xxx_update_some_bg_tiles(u32 a0);
extern const char gUnknown_80B87B4[];
extern const char gUnknown_80B87BC[];
extern const struct FileArchive gUnknown_8300500;
+extern const u32 gUnknown_80B87C4[8];
+extern const u32 gUnknown_80B87E4[8];
void sub_8006218(void)
{
@@ -73,3 +77,69 @@ void sub_8006218(void)
gUnknown_202B024 = 20;
xxx_update_some_bg_tiles(0);
}
+
+u32 xxx_update_some_bg_tiles(u32 a0)
+{
+ u32 r5 = gUnknown_20274B0;
+ u32 *r4 = (u32 *)(VRAM + 0x4f40);
+ const u32 *r2;
+ gUnknown_20274B0 = a0;
+ if (a0 == 0 || a0 == 2)
+ {
+ sub_800CDA8(2);
+ r2 = gUnknown_80B87C4;
+ }
+ else
+ {
+ sub_800CDA8(1);
+ r2 = gUnknown_80B87E4;
+ }
+ gUnknown_202B030 = 0x88888888;
+ *r4++ = *r2++;
+ *r4++ = *r2++;
+ *r4++ = *r2++;
+ *r4++ = *r2++;
+ *r4++ = *r2++;
+ *r4++ = *r2++;
+ *r4++ = *r2++;
+ *r4++ = *r2++;
+ return r5;
+}
+
+u32 sub_80063B0(void)
+{
+ return gUnknown_20274B0;
+}
+
+u8 sub_80063BC(u8 a0)
+{
+ u8 retval = gUnknown_202B034;
+ gUnknown_202B034 = a0;
+ return retval;
+}
+
+void sub_80063CC(u32 a0)
+{
+ gUnknown_20274AC = a0;
+}
+
+void sub_80063D8(int a0)
+{
+ u32 retval;
+ if (a0 == 0)
+ {
+ gUnknown_20274B0;
+ retval = 0x88888888;
+ }
+ else
+ {
+ retval = (a0 & 0xf) | ((a0 & 0xf) << 4);
+ retval |= ((a0 & 0xf) << 8);
+ retval |= ((a0 & 0xf) << 12);
+ retval |= ((a0 & 0xf) << 16);
+ retval |= ((a0 & 0xf) << 20);
+ retval |= ((a0 & 0xf) << 24);
+ retval |= ((a0 & 0xf) << 28);
+ }
+ gUnknown_202B030 = retval;
+}