aboutsummaryrefslogtreecommitdiffstats
path: root/src/renderer_m0.c
diff options
context:
space:
mode:
authorBad Diode <bd@badd10de.dev>2023-05-29 16:44:50 +0200
committerBad Diode <bd@badd10de.dev>2023-05-29 16:44:50 +0200
commit3b5ee67114bf789c93db23b7a3611302dce7142e (patch)
tree32b5bbd2879b5ffeecd7df6e20c836f80f555c72 /src/renderer_m0.c
parentac17920096b18caa4cadec3fea347f9fc804baea (diff)
downloadstepper-3b5ee67114bf789c93db23b7a3611302dce7142e.tar.gz
stepper-3b5ee67114bf789c93db23b7a3611302dce7142e.zip
Add initial theming support
Diffstat (limited to 'src/renderer_m0.c')
-rw-r--r--src/renderer_m0.c52
1 files changed, 43 insertions, 9 deletions
diff --git a/src/renderer_m0.c b/src/renderer_m0.c
index eb19718..9373b73 100644
--- a/src/renderer_m0.c
+++ b/src/renderer_m0.c
@@ -782,6 +782,48 @@ txt_drawc_small(char c, size_t x, size_t y, u8 clr) {
782// Initialization. 782// Initialization.
783// 783//
784 784
785Palette themes[] = {
786 {
787 COLOR_BLACK, // BG
788 COLOR_WHITE, // FG
789 COLOR_BLUE, // ACC_0
790 COLOR_RED, // ACC_1
791 COLOR_CYAN, // ACC_2
792 COLOR_GREY, // COL_OFF
793 },
794 {
795 RGB15(31, 31, 31), // BG
796 RGB15( 8, 8, 8), // FG
797 RGB15( 2, 17, 31), // ACC_0
798 RGB15(31, 0, 10), // ACC_1
799 RGB15( 0, 27, 30), // ACC_2
800 RGB15(16, 17, 19), // COL_OFF
801 },
802 {
803 RGB15( 0, 0, 31), // BG
804 RGB15(31, 31, 31), // FG
805 RGB15( 0, 31, 14), // ACC_0
806 RGB15(24, 7, 19), // ACC_1
807 RGB15(31, 17, 27), // ACC_2
808 RGB15(22, 22, 31), // COL_OFF
809 },
810 {
811 RGB15(11, 24, 31), // BG
812 RGB15(31, 31, 31), // FG
813 RGB15(8, 17, 22), // COL_OFF
814 RGB15(29, 17, 22), // ACC_1
815 RGB15(29, 17, 22), // ACC_1
816 RGB15(25, 27, 29), // COL_OFF
817 },
818};
819
820void
821swap_palette(int idx) {
822 for (size_t i = 0; i < 16; i++) {
823 PAL_BUFFER_BG[i] = themes[idx][i];
824 }
825}
826
785void 827void
786renderer_init(void) { 828renderer_init(void) {
787 // Initialize display mode and bg palette. 829 // Initialize display mode and bg palette.
@@ -815,15 +857,7 @@ renderer_init(void) {
815 BG_H_SCROLL_1 = -240; 857 BG_H_SCROLL_1 = -240;
816 858
817 // Initialize default palette. 859 // Initialize default palette.
818 PAL_BUFFER_BG[0] = COLOR_BLACK; 860 swap_palette(0);
819 PAL_BUFFER_BG[1] = COLOR_WHITE;
820 PAL_BUFFER_BG[2] = COLOR_RED;
821 PAL_BUFFER_BG[3] = COLOR_BLUE;
822 PAL_BUFFER_BG[4] = COLOR_CYAN;
823 PAL_BUFFER_BG[5] = COLOR_GREY;
824 PAL_BUFFER_BG[6] = COLOR_WHITE;
825 PAL_BUFFER_BG[7] = COLOR_GREEN;
826 PAL_BUFFER_BG[8] = COLOR_PURPLE;
827 861
828 // Initialize text engine. 862 // Initialize text engine.
829 txt_init(txt_drawc); 863 txt_init(txt_drawc);