diff --git a/src/conio/ciolib.c b/src/conio/ciolib.c index 609518aed86f851330db7c619fc61c206a6246fe..6b362f7f48df7b0a6c0c0cd24880b9c4824046b5 100644 --- a/src/conio/ciolib.c +++ b/src/conio/ciolib.c @@ -1854,6 +1854,7 @@ CIOLIBEXPORT struct ciolib_screen * CIOLIBCALL ciolib_savescreen(void) for (i=0; i<5; i++) ret->fonts[i] = ciolib_getfont(i); ret->flags = ciolib_getvideoflags(); + ciolib_get_modepalette(ret->palette); return ret; } @@ -1881,6 +1882,7 @@ CIOLIBEXPORT int CIOLIBCALL ciolib_restorescreen(struct ciolib_screen *scrn) if (ti.currmode != scrn->text_info.currmode) ciolib_textmode(scrn->text_info.currmode); + ciolib_set_modepalette(ret->palette); ciolib_vmem_puttext(1, 1, scrn->text_info.screenwidth, scrn->text_info.screenheight, scrn->vmem); ciolib_textcolor(scrn->text_info.attribute); ciolib_window(scrn->text_info.winleft, scrn->text_info.wintop, scrn->text_info.winright, scrn->text_info.winbottom); diff --git a/src/conio/ciolib.h b/src/conio/ciolib.h index 4c4c5d2879c28666396ca17ff6e5bf307fc22233..b6719941d28ae5e37dcad828bd0419ff833772d3 100644 --- a/src/conio/ciolib.h +++ b/src/conio/ciolib.h @@ -274,6 +274,7 @@ struct ciolib_screen { struct ciolib_pixels *pixels; struct vmem_cell *vmem; struct text_info text_info; + uint32_t palette[16]; }; #define CONIO_FIRST_FREE_FONT 43