Start using video_viewport_get_custom everywhere

This commit is contained in:
twinaphex 2015-05-20 19:12:27 +02:00
parent d33cad3381
commit 2f62cd65e2
10 changed files with 42 additions and 35 deletions

View File

@ -633,10 +633,7 @@ static void config_set_defaults(void)
settings->core.set_supports_no_game_enable = true; settings->core.set_supports_no_game_enable = true;
global->console.screen.viewports.custom_vp.width = 0; video_viewport_reset_custom();
global->console.screen.viewports.custom_vp.height = 0;
global->console.screen.viewports.custom_vp.x = 0;
global->console.screen.viewports.custom_vp.y = 0;
/* Make sure settings from other configs carry over into defaults /* Make sure settings from other configs carry over into defaults
* for another config. */ * for another config. */
@ -2232,6 +2229,7 @@ bool config_save_file(const char *path)
config_file_t *conf = config_file_new(path); config_file_t *conf = config_file_new(path);
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
global_t *global = global_get_ptr(); global_t *global = global_get_ptr();
video_viewport_t *custom_vp = video_viewport_get_custom();
if (!conf) if (!conf)
conf = config_file_new(NULL); conf = config_file_new(NULL);
@ -2473,13 +2471,13 @@ bool config_save_file(const char *path)
config_set_int(conf, "current_resolution_id", config_set_int(conf, "current_resolution_id",
global->console.screen.resolutions.current.id); global->console.screen.resolutions.current.id);
config_set_int(conf, "custom_viewport_width", config_set_int(conf, "custom_viewport_width",
global->console.screen.viewports.custom_vp.width); custom_vp->width);
config_set_int(conf, "custom_viewport_height", config_set_int(conf, "custom_viewport_height",
global->console.screen.viewports.custom_vp.height); custom_vp->height);
config_set_int(conf, "custom_viewport_x", config_set_int(conf, "custom_viewport_x",
global->console.screen.viewports.custom_vp.x); custom_vp->x);
config_set_int(conf, "custom_viewport_y", config_set_int(conf, "custom_viewport_y",
global->console.screen.viewports.custom_vp.y); custom_vp->y);
config_set_float(conf, "video_font_size", settings->video.font_size); config_set_float(conf, "video_font_size", settings->video.font_size);
config_set_bool(conf, "block_sram_overwrite", config_set_bool(conf, "block_sram_overwrite",

View File

@ -431,10 +431,9 @@ static void d3d_calculate_rect(d3d_video_t *d3d,
{ {
if (settings->video.aspect_ratio_idx == ASPECT_RATIO_CUSTOM) if (settings->video.aspect_ratio_idx == ASPECT_RATIO_CUSTOM)
{ {
const video_viewport_t *custom = video_viewport_t *custom = video_viewport_get_custom();
&global->console.screen.viewports.custom_vp;
if (custom) if (custom)
d3d_set_viewport(d3d, custom->x, custom->y, d3d_set_viewport(d3d, custom->x, custom->y,
custom->width, custom->height); custom->width, custom->height);
} }

View File

@ -424,10 +424,7 @@ static void gx_set_video_mode(void *data, unsigned fbWidth, unsigned lines,
} }
/* custom viewports for older resolutions will most likely be corrupted, reset them */ /* custom viewports for older resolutions will most likely be corrupted, reset them */
global->console.screen.viewports.custom_vp.x = 0; video_viewport_reset_custom();
global->console.screen.viewports.custom_vp.y = 0;
global->console.screen.viewports.custom_vp.width = 0;
global->console.screen.viewports.custom_vp.height = 0;
g_current_framebuf = 0; g_current_framebuf = 0;
} }
@ -838,6 +835,7 @@ static void gx_resize(void *data)
unsigned width = gx->vp.full_width, height = gx->vp.full_height; unsigned width = gx->vp.full_width, height = gx->vp.full_height;
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
global_t *global = global_get_ptr(); global_t *global = global_get_ptr();
struct video_viewport *custom_vp = video_viewport_get_custom();
#ifdef HW_RVL #ifdef HW_RVL
VIDEO_SetTrapFilter(global->console.softfilter_enable); VIDEO_SetTrapFilter(global->console.softfilter_enable);
@ -863,19 +861,18 @@ static void gx_resize(void *data)
#ifdef RARCH_CONSOLE #ifdef RARCH_CONSOLE
if (settings->video.aspect_ratio_idx == ASPECT_RATIO_CUSTOM) if (settings->video.aspect_ratio_idx == ASPECT_RATIO_CUSTOM)
{ {
if (!global->console.screen.viewports.custom_vp.width || if (!custom_vp->width || !custom_vp->height)
!global->console.screen.viewports.custom_vp.height)
{ {
global->console.screen.viewports.custom_vp.x = 0; custom_vp->x = 0;
global->console.screen.viewports.custom_vp.y = 0; custom_vp->y = 0;
global->console.screen.viewports.custom_vp.width = gx->vp.full_width; custom_vp->width = gx->vp.full_width;
global->console.screen.viewports.custom_vp.height = gx->vp.full_height; custom_vp->height = gx->vp.full_height;
} }
x = global->console.screen.viewports.custom_vp.x; x = custom_vp->x;
y = global->console.screen.viewports.custom_vp.y; y = custom_vp->y;
width = global->console.screen.viewports.custom_vp.width; width = custom_vp->width;
height = global->console.screen.viewports.custom_vp.height; height = custom_vp->height;
} }
else else
#endif #endif

View File

@ -715,8 +715,7 @@ static void psp_update_viewport(psp1_video_t* psp)
#if defined(HAVE_MENU) #if defined(HAVE_MENU)
if (settings->video.aspect_ratio_idx == ASPECT_RATIO_CUSTOM) if (settings->video.aspect_ratio_idx == ASPECT_RATIO_CUSTOM)
{ {
const struct video_viewport *custom = struct video_viewport *custom = video_viewport_get_custom();
&global->console.screen.viewports.custom_vp;
if (custom) if (custom)
{ {

View File

@ -278,7 +278,7 @@ static void sdl_refresh_viewport(sdl2_video_t *vid)
vid->video.force_aspect); vid->video.force_aspect);
else if (settings->video.aspect_ratio_idx == ASPECT_RATIO_CUSTOM) else if (settings->video.aspect_ratio_idx == ASPECT_RATIO_CUSTOM)
{ {
const struct video_viewport *custom = &global->console.screen.viewports.custom_vp; const struct video_viewport *custom = (const struct video_viewport*)video_viewport_get_custom();
if (custom) if (custom)
{ {

View File

@ -497,7 +497,7 @@ void init_video(void)
video_viewport_set_config(); video_viewport_set_config();
/* Update CUSTOM viewport. */ /* Update CUSTOM viewport. */
custom_vp = &global->console.screen.viewports.custom_vp; custom_vp = video_viewport_get_custom();
if (settings->video.aspect_ratio_idx == ASPECT_RATIO_CUSTOM) if (settings->video.aspect_ratio_idx == ASPECT_RATIO_CUSTOM)
{ {

View File

@ -234,3 +234,15 @@ struct video_viewport *video_viewport_get_custom(void)
return NULL; return NULL;
return &global->console.screen.viewports.custom_vp; return &global->console.screen.viewports.custom_vp;
} }
void video_viewport_reset_custom(void)
{
struct video_viewport *custom_vp = video_viewport_get_custom();
if (!custom_vp)
return;
custom_vp->width = 0;
custom_vp->height = 0;
custom_vp->x = 0;
custom_vp->y = 0;
}

View File

@ -139,6 +139,8 @@ void video_viewport_get_scaled_integer(struct video_viewport *vp,
struct retro_system_av_info *video_viewport_get_system_av_info(void); struct retro_system_av_info *video_viewport_get_system_av_info(void);
void video_viewport_reset_custom(void);
struct video_viewport *video_viewport_get_custom(void); struct video_viewport *video_viewport_get_custom(void);
#ifdef __cplusplus #ifdef __cplusplus

View File

@ -1037,8 +1037,7 @@ static int action_ok_custom_viewport(const char *path,
{ {
menu_displaylist_info_t info = {0}; menu_displaylist_info_t info = {0};
int ret = 0; int ret = 0;
global_t *global = global_get_ptr(); video_viewport_t *custom = video_viewport_get_custom();
video_viewport_t *custom = &global->console.screen.viewports.custom_vp;
menu_handle_t *menu = menu_driver_get_ptr(); menu_handle_t *menu = menu_driver_get_ptr();
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();

View File

@ -4022,6 +4022,7 @@ static bool setting_append_list_video_options(
rarch_setting_group_info_t subgroup_info; rarch_setting_group_info_t subgroup_info;
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
global_t *global = global_get_ptr(); global_t *global = global_get_ptr();
video_viewport_t *custom_vp = video_viewport_get_custom();
START_GROUP(group_info, "Video Settings"); START_GROUP(group_info, "Video Settings");
START_SUB_GROUP(list, list_info, "State", group_info.name, subgroup_info); START_SUB_GROUP(list, list_info, "State", group_info.name, subgroup_info);
@ -4254,7 +4255,7 @@ static bool setting_append_list_video_options(
general_read_handler); general_read_handler);
CONFIG_INT( CONFIG_INT(
global->console.screen.viewports.custom_vp.x, custom_vp->x,
"custom_viewport_x", "custom_viewport_x",
"Custom Viewport X", "Custom Viewport X",
0, 0,
@ -4265,7 +4266,7 @@ static bool setting_append_list_video_options(
settings_data_list_current_add_flags(list, list_info, SD_FLAG_ADVANCED); settings_data_list_current_add_flags(list, list_info, SD_FLAG_ADVANCED);
CONFIG_INT( CONFIG_INT(
global->console.screen.viewports.custom_vp.y, custom_vp->y,
"custom_viewport_y", "custom_viewport_y",
"Custom Viewport Y", "Custom Viewport Y",
0, 0,
@ -4276,7 +4277,7 @@ static bool setting_append_list_video_options(
settings_data_list_current_add_flags(list, list_info, SD_FLAG_ADVANCED); settings_data_list_current_add_flags(list, list_info, SD_FLAG_ADVANCED);
CONFIG_UINT( CONFIG_UINT(
global->console.screen.viewports.custom_vp.width, custom_vp->width,
"custom_viewport_width", "custom_viewport_width",
"Custom Viewport Width", "Custom Viewport Width",
0, 0,
@ -4287,7 +4288,7 @@ static bool setting_append_list_video_options(
settings_data_list_current_add_flags(list, list_info, SD_FLAG_ADVANCED); settings_data_list_current_add_flags(list, list_info, SD_FLAG_ADVANCED);
CONFIG_UINT( CONFIG_UINT(
global->console.screen.viewports.custom_vp.height, custom_vp->height,
"custom_viewport_height", "custom_viewport_height",
"Custom Viewport Height", "Custom Viewport Height",
0, 0,