don't apply color correction for DMG

This commit is contained in:
radius 2017-10-15 21:54:44 -05:00
parent f724cbbacd
commit 55412d7093
1 changed files with 16 additions and 8 deletions

View File

@ -202,13 +202,6 @@ void retro_set_environment(retro_environment_t cb)
{ NULL, 0 }, { NULL, 0 },
}; };
cb(RETRO_ENVIRONMENT_SET_CONTROLLER_INFO, (void*)ports); cb(RETRO_ENVIRONMENT_SET_CONTROLLER_INFO, (void*)ports);
static struct retro_variable vars[] = {
{ "sameboy_color_correction_mode", "Color Correction; off|correct curves|emulate hardware|preserve brightness" },
{ "sameboy_high_pass_filter_mode", "High Pass Filter; off|accurate|remove dc offset" },
};
cb(RETRO_ENVIRONMENT_SET_VARIABLES, (void*)vars);
} }
void retro_set_audio_sample(retro_audio_sample_t cb) void retro_set_audio_sample(retro_audio_sample_t cb)
@ -246,7 +239,7 @@ static void check_variables(void)
var.key = "sameboy_color_correction_mode"; var.key = "sameboy_color_correction_mode";
var.value = NULL; var.value = NULL;
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value && GB_is_cgb(&gb))
{ {
if (strcmp(var.value, "off") == 0) if (strcmp(var.value, "off") == 0)
GB_set_color_correction_mode(&gb, GB_COLOR_CORRECTION_DISABLED); GB_set_color_correction_mode(&gb, GB_COLOR_CORRECTION_DISABLED);
@ -422,6 +415,21 @@ bool retro_load_game(const struct retro_game_info *info)
else else
log_cb(RETRO_LOG_INFO, "Rumble environment not supported.\n"); log_cb(RETRO_LOG_INFO, "Rumble environment not supported.\n");
static struct retro_variable vars_cgb[] = {
{ "sameboy_color_correction_mode", "Color Correction; off|correct curves|emulate hardware|preserve brightness" },
{ "sameboy_high_pass_filter_mode", "High Pass Filter; off|accurate|remove dc offset" },
{ NULL }
};
static struct retro_variable vars_dmg[] = {
{ "sameboy_high_pass_filter_mode", "High Pass Filter; off|accurate|remove dc offset" },
{ NULL }
};
if (GB_is_cgb(&gb))
environ_cb(RETRO_ENVIRONMENT_SET_VARIABLES, vars_cgb);
else
environ_cb(RETRO_ENVIRONMENT_SET_VARIABLES, vars_dmg);
check_variables(); check_variables();
return true; return true;