diff --git a/gfx/drivers/gx_gfx.c b/gfx/drivers/gx_gfx.c index 3b16824e15..fda6fde44a 100644 --- a/gfx/drivers/gx_gfx.c +++ b/gfx/drivers/gx_gfx.c @@ -165,7 +165,7 @@ enum GX_RESOLUTIONS_LAST, }; -static unsigned menu_current_gx_resolution = GX_RESOLUTIONS_640_480; +static unsigned menu_current_gx_resolution = GX_RESOLUTIONS_448_448; unsigned menu_gx_resolutions[GX_RESOLUTIONS_LAST][2] = { { 512, 192 }, @@ -474,7 +474,7 @@ static void setup_video_mode(void *data) VIDEO_GetPreferredMode(&gx_mode); global_t *global = global_get_ptr(); - gx_set_video_mode(data, global->console.screen.resolutions.width, global->console.screen.resolutions.height, true); + gx_set_video_mode(data, 0, 0, true); } static void init_texture(void *data, unsigned width, unsigned height) diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index e91cb8a0e5..66aeae5daf 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -1328,7 +1328,7 @@ static int action_ok_load_state(const char *path, if (generic_action_ok_command(EVENT_CMD_LOAD_STATE) == -1) return -1; return generic_action_ok_command(EVENT_CMD_RESUME); -} + } static int action_ok_save_state(const char *path, @@ -1711,6 +1711,10 @@ static int action_ok_video_resolution(const char *path, video_driver_set_video_mode(width, height, true); global->console.screen.resolutions.width = width; global->console.screen.resolutions.height = height; + + char msg[PATH_MAX_LENGTH] = {0}; + snprintf(msg, sizeof(msg),"Applying: %dx%d\n START to reset",width, height); + rarch_main_msg_queue_push(msg, 1, 100, true); } #endif diff --git a/menu/cbs/menu_cbs_start.c b/menu/cbs/menu_cbs_start.c index 35f03d698d..591c158eeb 100644 --- a/menu/cbs/menu_cbs_start.c +++ b/menu/cbs/menu_cbs_start.c @@ -270,9 +270,20 @@ static int action_start_video_resolution(const char *path, global_t *global = global_get_ptr(); (void)global; - + (void)width; + (void)height; + video_driver_set_video_mode(640, 480, true); + if (video_driver_get_video_output_size(&width, &height)) + { + video_driver_set_video_mode(width, height, true); + global->console.screen.resolutions.width = width; + global->console.screen.resolutions.height = height; + char msg[PATH_MAX_LENGTH] = {0}; + snprintf(msg, sizeof(msg),"Resetting to: %dx%d",width, height); + rarch_main_msg_queue_push(msg, 1, 100, true); + } return 0; } diff --git a/retroarch.c b/retroarch.c index 3d51b58326..b03791cc33 100644 --- a/retroarch.c +++ b/retroarch.c @@ -1266,6 +1266,19 @@ int rarch_main_init(int argc, char *argv[]) event_command(EVENT_CMD_VIDEO_SET_ASPECT_RATIO); video_driver_set_aspect_ratio(settings->video.aspect_ratio_idx); } + + unsigned width = 0, height = 0; + + (void)width; + (void)height; + + width = global->console.screen.resolutions.width; + height = global->console.screen.resolutions.height; + video_driver_set_video_mode(width, height, true); + + char msg[PATH_MAX_LENGTH] = {0}; + snprintf(msg, sizeof(msg),"Resolution: %dx%d",width, height); + rarch_main_msg_queue_push(msg, 1, 100, true); } #endif