diff options
author | scnorton <scnorton@biociphers.org> | 2018-01-21 17:12:02 -0500 |
---|---|---|
committer | scnorton <scnorton@biociphers.org> | 2018-01-21 17:12:02 -0500 |
commit | 8bff04787167a733caa74c0b22dcd332b391f54d (patch) | |
tree | bedf2ab185df6c345732f693a22e95e58d54cca4 /src | |
parent | 91c6c244007944ffcd5da2e42b1a5221b0ce2074 (diff) |
through sub_80063D8
Diffstat (limited to 'src')
-rw-r--r-- | src/text.c | 72 |
1 files changed, 71 insertions, 1 deletions
@@ -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; +} |