From ec4ad8adb25a0ff7d1c10bb5245d413933ab7b32 Mon Sep 17 00:00:00 2001 From: Thomas Bernard Date: Sat, 8 Dec 2018 18:26:52 +0100 Subject: [PATCH] Load "default.pal" at startup --- src/main.c | 22 ++++++++++++++++++++++ src/setup.h | 7 +++++++ 2 files changed, 29 insertions(+) diff --git a/src/main.c b/src/main.c index 072e96bf..8982b6ae 100644 --- a/src/main.c +++ b/src/main.c @@ -1136,6 +1136,28 @@ int Init_program(int argc,char * argv[]) case 0: if (Config.Opening_message) Button_Message_initial(); + // Load default palette + { + FILE * f; + Init_context_layered_image(&context, DEFAULTPAL_FILENAME, Config_directory); + context.Type = CONTEXT_PALETTE; + context.Format = FORMAT_PAL; + f = Open_file_read(&context); + if (f != NULL) // silently fail if the file cannot be open + { + fclose(f); + Load_image(&context); + if (File_error == 0) + { + Hide_cursor(); + Compute_optimal_menu_colors(Main.palette); + Display_menu(); + Display_cursor(); + memcpy(Spare.palette, Main.palette, sizeof(T_Palette)); + } + } + Destroy_context(&context); + } break; case 2: diff --git a/src/setup.h b/src/setup.h index 2b75e235..e37b9e94 100644 --- a/src/setup.h +++ b/src/setup.h @@ -122,6 +122,13 @@ void Set_config_directory(const char * program_dir, char * config_dir); #define INIDEF_FILENAME "gfx2def.ini" #endif +/// Name of the default palette file +#if defined (__MINT__) + #define DEFAULTPAL_FILENAME "DEFAULT.PAL" +#else + #define DEFAULTPAL_FILENAME "default.pal" +#endif + /// Prefix for filenames of safety backups (main) #if defined (__MINT__) #define SAFETYBACKUP_PREFIX_A "A"