summaryrefslogtreecommitdiff
path: root/arm9/source/devices/screen.c
diff options
context:
space:
mode:
Diffstat (limited to 'arm9/source/devices/screen.c')
-rw-r--r--arm9/source/devices/screen.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/arm9/source/devices/screen.c b/arm9/source/devices/screen.c
index e394b55..698b754 100644
--- a/arm9/source/devices/screen.c
+++ b/arm9/source/devices/screen.c
@@ -36,12 +36,28 @@ Screen scr_sub = {
.palv = BG_PALETTE_SUB,
};
+// TODO: Make an enum thing for main/sub, combine these functions
void scr_make_main(ScreenDevice *scr) {
scr->nds = &scr_main;
+ for (int i=0; i<16; i++) {
+ scr->nds->pal[i] = scr->palette[i];
+ }
+ scr->wake = true;
}
void scr_make_sub(ScreenDevice *scr) {
scr->nds = &scr_sub;
+ for (int i=0; i<16; i++) {
+ scr->nds->pal[i] = scr->palette[i];
+ }
+ scr->wake = true;
+}
+
+void scr_unmake(ScreenDevice *scr) {
+ if (scr->nds) {
+ black_screen(scr->nds);
+ scr->nds = NULL;
+ }
}
void init_screens(void) {