Only do SET_GEOMETRY when overscan or aspect core options are changed
This commit is contained in:
@@ -696,6 +696,7 @@ static void check_variables(void)
|
|||||||
static int overclock_state = -1;
|
static int overclock_state = -1;
|
||||||
struct retro_variable var = {0};
|
struct retro_variable var = {0};
|
||||||
struct retro_system_av_info av_info;
|
struct retro_system_av_info av_info;
|
||||||
|
bool geometry_update = false;
|
||||||
|
|
||||||
var.key = "fceumm_palette";
|
var.key = "fceumm_palette";
|
||||||
|
|
||||||
@@ -792,24 +793,31 @@ static void check_variables(void)
|
|||||||
|
|
||||||
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
|
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
|
||||||
{
|
{
|
||||||
if (!strcmp(var.value, "enabled"))
|
bool newval = (!strcmp(var.value, "disabled"));
|
||||||
use_overscan = false;
|
if (newval != use_overscan)
|
||||||
else if(!strcmp(var.value, "disabled"))
|
{
|
||||||
use_overscan = true;
|
use_overscan = newval;
|
||||||
|
geometry_update = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var.key = "fceumm_aspect";
|
var.key = "fceumm_aspect";
|
||||||
|
|
||||||
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
|
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
|
||||||
{
|
{
|
||||||
if (!strcmp(var.value, "8:7 PAR"))
|
bool newval = (!strcmp(var.value, "8:7 PAR"));
|
||||||
use_par = true;
|
if (newval != use_par)
|
||||||
else if(!strcmp(var.value, "4:3"))
|
{
|
||||||
use_par = false;
|
use_par = newval;
|
||||||
|
geometry_update = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
retro_get_system_av_info(&av_info);
|
if (geometry_update)
|
||||||
environ_cb(RETRO_ENVIRONMENT_SET_GEOMETRY, &av_info);
|
{
|
||||||
|
retro_get_system_av_info(&av_info);
|
||||||
|
environ_cb(RETRO_ENVIRONMENT_SET_GEOMETRY, &av_info);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
Reference in New Issue
Block a user