diff options
Diffstat (limited to 'arm9/source/devices/screen.c')
-rw-r--r-- | arm9/source/devices/screen.c | 16 |
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) { |