summaryrefslogtreecommitdiff
path: root/arm9/source/devices/screen.c
diff options
context:
space:
mode:
authorBen Bridle <ben@derelict.engineering>2024-12-16 14:52:54 +1300
committerBen Bridle <ben@derelict.engineering>2024-12-16 14:52:54 +1300
commit0d9978228b9226d16ba8272a03dd7e6c9ad83b3d (patch)
tree442ce8a1d37f2f9a0e9e655d3250849e874c2d41 /arm9/source/devices/screen.c
parentdbe8171815ea3b51c3ac87dae1996ae0d8f6eb04 (diff)
downloadbedrock-nds-0d9978228b9226d16ba8272a03dd7e6c9ad83b3d.zip
Implement a toggleable keyboard on the lower screen
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) {