From 1036eac70ffe38fb0037dfe1cab3fa228298db25 Mon Sep 17 00:00:00 2001
From: deuce <>
Date: Thu, 11 Jul 2019 08:25:52 +0000
Subject: [PATCH] Use the COLOR_PALETTE for uifc, no need for setfont() anymore
 since uifc always uses font zero now.

---
 src/syncterm/uifcinit.c | 26 ++++++++------------------
 1 file changed, 8 insertions(+), 18 deletions(-)

diff --git a/src/syncterm/uifcinit.c b/src/syncterm/uifcinit.c
index 664f6b61e6..dc1133cde7 100644
--- a/src/syncterm/uifcinit.c
+++ b/src/syncterm/uifcinit.c
@@ -6,6 +6,7 @@
 #include <stdio.h>
 
 #include <ciolib.h>
+#include <vidmodes.h>
 #include <uifc.h>
 
 #include "uifcinit.h"
@@ -23,6 +24,7 @@ int orig_ciolib_xlat;
 int orig_vidflags;
 int orig_x;
 int orig_y;
+uint32_t orig_palette[16];
 
 int	init_uifc(BOOL scrn, BOOL bottom) {
 	int	i;
@@ -46,6 +48,8 @@ int	init_uifc(BOOL scrn, BOOL bottom) {
 		}
 		bottomfunc=uifc.bottomline;
 		uifc_initialized=UIFC_INIT;
+		get_modepalette(orig_palette);
+		set_modepalette(palettes[COLOUR_PALETTE]);
 	}
 
 	if(scrn) {
@@ -82,6 +86,7 @@ void uifcbail(void)
 	if(uifc_initialized) {
 		uifc.bail();
 		ciolib_xlat = orig_ciolib_xlat;
+		set_modepalette(orig_palette);
 		setvideoflags(orig_vidflags);
 		loadfont(NULL);
 		gotoxy(orig_x, orig_y);
@@ -95,13 +100,8 @@ void uifcmsg(char *msg, char *helpbuf)
 	struct ciolib_screen *savscrn;
 
 	i=uifc_initialized;
-	if(!i) {
+	if(!i)
 		savscrn = savescreen();
-		setfont(0, FALSE, 1);
-		setfont(0, FALSE, 2);
-		setfont(0, FALSE, 3);
-		setfont(0, FALSE, 4);
-	}
 	init_uifc(FALSE, FALSE);
 	if(uifc_initialized) {
 		uifc.helpbuf=helpbuf;
@@ -123,13 +123,8 @@ void uifcinput(char *title, int len, char *msg, int mode, char *helpbuf)
 	struct ciolib_screen *savscrn;
 
 	i=uifc_initialized;
-	if(!i) {
+	if(!i)
 		savscrn = savescreen();
-		setfont(0, FALSE, 1);
-		setfont(0, FALSE, 2);
-		setfont(0, FALSE, 3);
-		setfont(0, FALSE, 4);
-	}
 	init_uifc(FALSE, FALSE);
 	if(uifc_initialized) {
 		uifc.helpbuf=helpbuf;
@@ -157,13 +152,8 @@ int confirm(char *msg, char *helpbuf)
 	int		copt=0;
 
 	i=uifc_initialized;
-	if(!i) {
+	if(!i)
 		savscrn = savescreen();
-		setfont(0, FALSE, 1);
-		setfont(0, FALSE, 2);
-		setfont(0, FALSE, 3);
-		setfont(0, FALSE, 4);
-	}
 	init_uifc(FALSE, FALSE);
 	if(uifc_initialized) {
 		uifc.helpbuf=helpbuf;
-- 
GitLab