From b7a9039e50426d80f136403c95e85f23aad11ea3 Mon Sep 17 00:00:00 2001 From: Lior Halphon Date: Wed, 3 Jun 2020 21:06:47 +0300 Subject: [PATCH] Sanitize SDL preferences for cross-version stability --- SDL/main.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/SDL/main.c b/SDL/main.c index f75e3aac..3df369f8 100644 --- a/SDL/main.c +++ b/SDL/main.c @@ -671,7 +671,19 @@ int main(int argc, char **argv) if (prefs_file) { fread(&configuration, 1, sizeof(configuration), prefs_file); fclose(prefs_file); + + /* Sanitize for stability */ + configuration.color_correction_mode %= GB_COLOR_CORRECTION_REDUCE_CONTRAST +1; + configuration.scaling_mode %= GB_SDL_SCALING_MAX; + configuration.blending_mode %= GB_FRAME_BLENDING_MODE_ACCURATE + 1; + configuration.highpass_mode %= GB_HIGHPASS_MAX; + configuration.model %= MODEL_MAX; + configuration.sgb_revision %= SGB_MAX; + configuration.dmg_palette %= 3; + configuration.border_mode %= GB_BORDER_ALWAYS + 1; + configuration.rumble_mode %= GB_RUMBLE_ALL_GAMES + 1; } + if (configuration.model >= MODEL_MAX) { configuration.model = MODEL_CGB; }