diff --git a/console/griffin/griffin.c b/console/griffin/griffin.c
index ef971816ab..194da9ef1d 100644
--- a/console/griffin/griffin.c
+++ b/console/griffin/griffin.c
@@ -359,14 +359,7 @@ SCREENSHOTS
/*============================================================
MENU
============================================================ */
-#ifdef _XBOX
-#include "../rmenu/context/rmenu_ctx_xdk.c"
-#endif
-
#ifdef HAVE_RMENU
-#if defined(__CELLOS_LV2__)
-#include "../rmenu/context/rmenu_ctx_ps3.c"
-#endif
#include "../rmenu/rmenu_stack.c"
#include "../rmenu/rmenu.c"
#endif
diff --git a/console/rmenu/context/rmenu_ctx_ps3.c b/console/rmenu/context/rmenu_ctx_ps3.c
deleted file mode 100644
index 0925b8d5e4..0000000000
--- a/console/rmenu/context/rmenu_ctx_ps3.c
+++ /dev/null
@@ -1,214 +0,0 @@
-/* RetroArch - A frontend for libretro.
- * Copyright (C) 2010-2012 - Hans-Kristian Arntzen
- * Copyright (C) 2011-2012 - Daniel De Matteis
- *
- * RetroArch is free software: you can redistribute it and/or modify it under the terms
- * of the GNU General Public License as published by the Free Software Found-
- * ation, either version 3 of the License, or (at your option) any later version.
- *
- * RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
- * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with RetroArch.
- * If not, see .
- */
-
-#if defined(__CELLOS_LV2__)
-#include
-#include
-#endif
-
-#ifdef HAVE_SYSUTILS
-#include
-#endif
-
-#include "../rmenu.h"
-#include "../../../gfx/gfx_context.h"
-
-#define HARDCODE_FONT_SIZE 0.91f
-#define POSITION_X 0.09f
-#define POSITION_X_CENTER 0.5f
-#define POSITION_Y_START 0.17f
-#define POSITION_Y_INCREMENT 0.035f
-#define POSITION_Y_BEGIN (POSITION_Y_START + POSITION_Y_INCREMENT)
-#define COMMENT_TWO_Y_POSITION 0.91f
-#define COMMENT_Y_POSITION 0.82f
-
-#define MSG_QUEUE_X_POSITION g_settings.video.msg_pos_x
-#define MSG_QUEUE_Y_POSITION 0.76f
-#define MSG_QUEUE_FONT_SIZE 1.03f
-
-#define MSG_PREV_NEXT_Y_POSITION 0.03f
-#define CURRENT_PATH_Y_POSITION 0.15f
-#define CURRENT_PATH_FONT_SIZE FONT_SIZE
-
-#define FONT_SIZE (g_extern.console.rmenu.font_size)
-
-#define NUM_ENTRY_PER_PAGE 15
-
-#define DRIVE_MAPPING_SIZE 4
-
-const char drive_mappings[DRIVE_MAPPING_SIZE][32] = {
- "/app_home/",
- "/dev_hdd0/",
- "/dev_hdd1/",
- "/host_root/"
-};
-
-unsigned char drive_mapping_idx = 1;
-
-static void rmenu_ctx_ps3_clear(void)
-{
- gfx_ctx_clear();
-}
-
-static void rmenu_ctx_ps3_blend(bool enable)
-{
- gfx_ctx_set_blend(enable);
-}
-
-static void rmenu_ctx_ps3_init_textures(void)
-{
-}
-
-static void rmenu_ctx_ps3_free_textures(void)
-{
- gl_t *gl = driver.video_data;
- gl->draw_rmenu = false;
-}
-
-static void rmenu_ctx_ps3_render_selection_panel(rmenu_position_t *position)
-{
- (void)position;
-}
-
-static void rmenu_ctx_ps3_render_bg(rmenu_position_t *position)
-{
- (void)position;
-}
-
-static void rmenu_ctx_ps3_swap_buffers(void)
-{
- gfx_ctx_swap_buffers();
-#ifdef HAVE_SYSUTILS
- cellSysutilCheckCallback();
-#endif
-}
-
-void rmenu_ctx_ps3_set_swap_interval(unsigned interval)
-{
- gfx_ctx_set_swap_interval(interval);
-}
-
-static void rmenu_ctx_ps3_set_default_pos(rmenu_default_positions_t *position)
-{
- position->x_position = POSITION_X;
- position->x_position_center = POSITION_X_CENTER;
- position->y_position = POSITION_Y_BEGIN;
- position->comment_y_position = COMMENT_Y_POSITION;
- position->y_position_increment = POSITION_Y_INCREMENT;
- position->starting_y_position = POSITION_Y_START;
- position->comment_two_y_position = COMMENT_TWO_Y_POSITION;
- position->font_size = HARDCODE_FONT_SIZE;
- position->msg_queue_x_position = MSG_QUEUE_X_POSITION;
- position->msg_queue_y_position = MSG_QUEUE_Y_POSITION;
- position->msg_queue_font_size= MSG_QUEUE_FONT_SIZE;
- position->msg_prev_next_y_position = MSG_PREV_NEXT_Y_POSITION;
- position->current_path_font_size = CURRENT_PATH_FONT_SIZE;
- position->current_path_y_position = CURRENT_PATH_Y_POSITION;
- position->variable_font_size = FONT_SIZE;
- position->entries_per_page = NUM_ENTRY_PER_PAGE;
- position->core_msg_x_position = 0.3f;
- position->core_msg_y_position = 0.06f;
- position->core_msg_font_size = COMMENT_Y_POSITION;
-}
-
-static void rmenu_ctx_ps3_render_msg(float xpos, float ypos, float scale, unsigned color, const char *msg, ...)
-{
- gl_t *gl = driver.video_data;
-
- gl_render_msg_place(gl, xpos, ypos, scale, color, msg);
-}
-
-static void rmenu_ctx_ps3_render_menu_enable(bool enable)
-{
- gl_t *gl = driver.video_data;
- gl->draw_rmenu = enable;
-}
-
-static void rmenu_ctx_ps3_screenshot_enable(bool enable)
-{
-#if(CELL_SDK_VERSION > 0x340000)
- if(enable)
- {
- cellSysmoduleLoadModule(CELL_SYSMODULE_SYSUTIL_SCREENSHOT);
- CellScreenShotSetParam screenshot_param = {0, 0, 0, 0};
-
- screenshot_param.photo_title = "RetroArch PS3";
- screenshot_param.game_title = "RetroArch PS3";
- cellScreenShotSetParameter (&screenshot_param);
- cellScreenShotEnable();
- }
- else
- {
- cellScreenShotDisable();
- cellSysmoduleUnloadModule(CELL_SYSMODULE_SYSUTIL_SCREENSHOT);
- }
-#endif
-}
-
-static void rmenu_ctx_ps3_screenshot_dump(void *data)
-{
- (void)data;
-}
-
-static const char * rmenu_ctx_ps3_drive_mapping_previous(void)
-{
- if(drive_mapping_idx > 0)
- drive_mapping_idx--;
- return drive_mappings[drive_mapping_idx];
-}
-
-static const char * rmenu_ctx_ps3_drive_mapping_next(void)
-{
- if((drive_mapping_idx + 1) < DRIVE_MAPPING_SIZE)
- drive_mapping_idx++;
- return drive_mappings[drive_mapping_idx];
-}
-
-static void rmenu_ctx_ps3_set_filtering(unsigned index, bool set_smooth)
-{
- gfx_ctx_set_filtering(index, set_smooth);
-}
-
-static void rmenu_ctx_ps3_set_aspect_ratio(unsigned aspectratio_index)
-{
- driver.video->set_aspect_ratio(NULL, aspectratio_index);
-}
-
-static void rmenu_ctx_ps3_set_fbo_enable(unsigned i)
-{
- gfx_ctx_set_fbo(i);
-}
-
-const rmenu_context_t rmenu_ctx_ps3 = {
- .clear = rmenu_ctx_ps3_clear,
- .set_filtering = rmenu_ctx_ps3_set_filtering,
- .set_aspect_ratio = rmenu_ctx_ps3_set_aspect_ratio,
- .blend = rmenu_ctx_ps3_blend,
- .set_fbo_enable = rmenu_ctx_ps3_set_fbo_enable,
- .free_textures = rmenu_ctx_ps3_free_textures,
- .init_textures = rmenu_ctx_ps3_init_textures,
- .render_selection_panel = rmenu_ctx_ps3_render_selection_panel,
- .render_bg = rmenu_ctx_ps3_render_bg,
- .render_menu_enable = rmenu_ctx_ps3_render_menu_enable,
- .render_msg = rmenu_ctx_ps3_render_msg,
- .screenshot_enable = rmenu_ctx_ps3_screenshot_enable,
- .screenshot_dump = rmenu_ctx_ps3_screenshot_dump,
- .swap_buffers = rmenu_ctx_ps3_swap_buffers,
- .set_swap_interval = rmenu_ctx_ps3_set_swap_interval,
- .set_default_pos = rmenu_ctx_ps3_set_default_pos,
- .drive_mapping_prev = rmenu_ctx_ps3_drive_mapping_previous,
- .drive_mapping_next = rmenu_ctx_ps3_drive_mapping_next,
-};
diff --git a/console/rmenu/context/rmenu_ctx_xdk.c b/console/rmenu/context/rmenu_ctx_xdk.c
deleted file mode 100644
index dc56fd028a..0000000000
--- a/console/rmenu/context/rmenu_ctx_xdk.c
+++ /dev/null
@@ -1,248 +0,0 @@
-/* RetroArch - A frontend for libretro.
- * Copyright (C) 2010-2012 - Hans-Kristian Arntzen
- * Copyright (C) 2011-2012 - Daniel De Matteis
- *
- * RetroArch is free software: you can redistribute it and/or modify it under the terms
- * of the GNU General Public License as published by the Free Software Found-
- * ation, either version 3 of the License, or (at your option) any later version.
- *
- * RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
- * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with RetroArch.
- * If not, see .
- */
-
-#include "../rmenu.h"
-#include "../../screenshot.h"
-
-#ifdef _XBOX
-#include "../../xdk/xdk_d3d.h"
-#endif
-
-#include "../../gfx/gfx_context.h"
-
-#define ROM_PANEL_WIDTH 510
-#define ROM_PANEL_HEIGHT 20
-
-#define HARDCODE_FONT_SIZE 21
-
-#define POSITION_X m_menuMainRomListPos_x
-#define POSITION_X_CENTER (m_menuMainRomListPos_x + 350)
-#define POSITION_Y_START m_menuMainRomListPos_y
-#define POSITION_Y_BEGIN (POSITION_Y_START + POSITION_Y_INCREMENT)
-#define POSITION_Y_INCREMENT 20
-#define COMMENT_Y_POSITION (ypos - ((POSITION_Y_INCREMENT/2) * 3))
-#define COMMENT_TWO_Y_POSITION (ypos - ((POSITION_Y_INCREMENT/2) * 1))
-
-#define MSG_QUEUE_X_POSITION POSITION_X
-#define MSG_QUEUE_Y_POSITION (ypos - ((POSITION_Y_INCREMENT/2) * 7) + 5)
-#define MSG_QUEUE_FONT_SIZE HARDCODE_FONT_SIZE
-
-#define MSG_PREV_NEXT_Y_POSITION 24
-
-#define CURRENT_PATH_Y_POSITION (m_menuMainRomListPos_y - ((POSITION_Y_INCREMENT/2)))
-#define CURRENT_PATH_FONT_SIZE 21
-
-#define FONT_SIZE 21
-
-#define NUM_ENTRY_PER_PAGE 12
-
-#define DRIVE_MAPPING_SIZE 5
-
-const char drive_mappings[DRIVE_MAPPING_SIZE][32] = {
- "C:",
- "D:",
- "E:",
- "F:",
- "G:"
-};
-
-unsigned char drive_mapping_idx = 2;
-
-int xpos, ypos;
-#ifdef _XBOX1
-texture_image m_menuMainRomSelectPanel;
-texture_image m_menuMainBG;
-
-// Rom list coords
-int m_menuMainRomListPos_x;
-int m_menuMainRomListPos_y;
-#endif
-
-static void rmenu_ctx_xdk_clear(void)
-{
- gfx_ctx_xdk_clear();
-}
-
-static void rmenu_ctx_xdk_blend(bool enable)
-{
- gfx_ctx_xdk_set_blend(enable);
-}
-
-static void rmenu_ctx_xdk_free_textures(void)
-{
-#ifdef _XBOX1
- texture_image_free(&m_menuMainBG);
- texture_image_free(&m_menuMainRomSelectPanel);
-#endif
-}
-
-static void rmenu_ctx_xdk_init_textures(void)
-{
-#ifdef _XBOX1
- xdk_d3d_video_t *d3d = (xdk_d3d_video_t*)driver.video_data;
-
- int width = d3d->d3dpp.BackBufferWidth;
-
- // Load background image
- if(width == 640)
- {
- texture_image_load("D:\\Media\\main-menu_480p.png", &m_menuMainBG);
- m_menuMainRomListPos_x = 60;
- m_menuMainRomListPos_y = 80;
- }
- else if(width == 1280)
- {
- texture_image_load("D:\\Media\\main-menu_720p.png", &m_menuMainBG);
- m_menuMainRomListPos_x = 360;
- m_menuMainRomListPos_y = 130;
- }
-
- // Load rom selector panel
- texture_image_load("D:\\Media\\menuMainRomSelectPanel.png", &m_menuMainRomSelectPanel);
-
- //Display some text
- //Center the text (hardcoded)
- xpos = width == 640 ? 65 : 400;
- ypos = width == 640 ? 430 : 670;
-#endif
-}
-
-static void rmenu_ctx_xdk_render_selection_panel(rmenu_position_t *position)
-{
-#ifdef _XBOX1
- m_menuMainRomSelectPanel.x = position->x;
- m_menuMainRomSelectPanel.y = position->y;
- m_menuMainRomSelectPanel.width = ROM_PANEL_WIDTH;
- m_menuMainRomSelectPanel.height = ROM_PANEL_HEIGHT;
- texture_image_render(&m_menuMainRomSelectPanel);
-#endif
-}
-
-static void rmenu_ctx_xdk_render_bg(rmenu_position_t *position)
-{
-#ifdef _XBOX1
- m_menuMainBG.x = 0;
- m_menuMainBG.y = 0;
- texture_image_render(&m_menuMainBG);
-#endif
-}
-
-static void rmenu_ctx_xdk_swap_buffers(void)
-{
- gfx_ctx_xdk_swap_buffers();
-}
-
-void rmenu_ctx_xdk_set_swap_interval(unsigned interval)
-{
- gfx_ctx_xdk_set_swap_interval(interval);
-}
-
-static void rmenu_ctx_xdk_set_default_pos(rmenu_default_positions_t *position)
-{
-#ifdef _XBOX1
- position->x_position = POSITION_X;
- position->x_position_center = POSITION_X_CENTER;
- position->y_position = POSITION_Y_BEGIN;
- position->comment_y_position = COMMENT_Y_POSITION;
- position->y_position_increment = POSITION_Y_INCREMENT;
- position->starting_y_position = POSITION_Y_START;
- position->comment_two_y_position = COMMENT_TWO_Y_POSITION;
- position->font_size = HARDCODE_FONT_SIZE;
- position->msg_queue_x_position = MSG_QUEUE_X_POSITION;
- position->msg_queue_y_position = MSG_QUEUE_Y_POSITION;
- position->msg_queue_font_size= MSG_QUEUE_FONT_SIZE;
- position->msg_prev_next_y_position = MSG_PREV_NEXT_Y_POSITION;
- position->current_path_font_size = CURRENT_PATH_FONT_SIZE;
- position->current_path_y_position = CURRENT_PATH_Y_POSITION;
- position->variable_font_size = FONT_SIZE;
- position->entries_per_page = NUM_ENTRY_PER_PAGE;
- position->core_msg_x_position = position->x_position;
- position->core_msg_y_position = position->msg_prev_next_y_position + 0.01f;
- position->core_msg_font_size = position->font_size;
-#endif
-}
-
-static void rmenu_ctx_xdk_render_msg(float xpos, float ypos, float scale, unsigned color, const char *msg, ...)
-{
-#ifdef _XBOX1
- xdk_d3d_video_t *d3d = (xdk_d3d_video_t*)driver.video_data;
- xfonts_render_msg_place(d3d, xpos, ypos, scale, msg);
-#endif
-}
-
-static void rmenu_ctx_xdk_render_menu_enable(bool enable)
-{
-}
-
-static void rmenu_ctx_xdk_screenshot_enable(bool enable)
-{
-}
-
-static void rmenu_ctx_xdk_screenshot_dump(void *data)
-{
- gfx_ctx_xdk_screenshot_dump(NULL);
-}
-
-static const char * rmenu_ctx_xdk_drive_mapping_previous(void)
-{
- if(drive_mapping_idx > 0)
- drive_mapping_idx--;
- return drive_mappings[drive_mapping_idx];
-}
-
-static const char * rmenu_ctx_xdk_drive_mapping_next(void)
-{
- if((drive_mapping_idx + 1) < DRIVE_MAPPING_SIZE)
- drive_mapping_idx++;
- return drive_mappings[drive_mapping_idx];
-}
-
-static void rmenu_ctx_xdk_set_filtering(unsigned index, bool set_smooth)
-{
- gfx_ctx_xdk_set_filtering(index, set_smooth);
-}
-
-static void rmenu_ctx_xdk_set_aspect_ratio(unsigned aspectratio_index)
-{
- driver.video->set_aspect_ratio(NULL, aspectratio_index);
-}
-
-static void rmenu_ctx_xdk_set_fbo_enable(unsigned i)
-{
- gfx_ctx_xdk_set_fbo(i);
-}
-
-
-const rmenu_context_t rmenu_ctx_xdk = {
- rmenu_ctx_xdk_clear,
- rmenu_ctx_xdk_set_filtering,
- rmenu_ctx_xdk_set_aspect_ratio,
- rmenu_ctx_xdk_blend,
- rmenu_ctx_xdk_set_fbo_enable,
- rmenu_ctx_xdk_free_textures,
- rmenu_ctx_xdk_init_textures,
- rmenu_ctx_xdk_render_selection_panel,
- rmenu_ctx_xdk_render_bg,
- rmenu_ctx_xdk_render_menu_enable,
- rmenu_ctx_xdk_render_msg,
- rmenu_ctx_xdk_screenshot_enable,
- rmenu_ctx_xdk_screenshot_dump,
- rmenu_ctx_xdk_swap_buffers,
- rmenu_ctx_xdk_set_swap_interval,
- rmenu_ctx_xdk_set_default_pos,
- rmenu_ctx_xdk_drive_mapping_previous,
- rmenu_ctx_xdk_drive_mapping_next,
-};
diff --git a/console/rmenu/rmenu.c b/console/rmenu/rmenu.c
index f1461a01b4..e611a48d1f 100644
--- a/console/rmenu/rmenu.c
+++ b/console/rmenu/rmenu.c
@@ -59,8 +59,6 @@ unsigned set_shader = 0;
unsigned currently_selected_controller_menu = 0;
char m_title[256];
-static const rmenu_context_t *context;
-
static uint64_t old_state = 0;
typedef enum {
@@ -151,105 +149,105 @@ static void populate_setting_item(unsigned i, item *current_item)
{
#ifdef __CELLOS_LV2__
case SETTING_CHANGE_RESOLUTION:
- {
- unsigned width = gfx_ctx_get_resolution_width(g_extern.console.screen.resolutions.list[g_extern.console.screen.resolutions.current.idx]);
- unsigned height = gfx_ctx_get_resolution_height(g_extern.console.screen.resolutions.list[g_extern.console.screen.resolutions.current.idx]);
- snprintf(current_item->text, sizeof(current_item->text), "Resolution");
- snprintf(current_item->setting_text, sizeof(current_item->setting_text), "%dx%d", width, height);
- snprintf(current_item->comment, sizeof(current_item->comment), "INFO - Change the display resolution.");
- }
- break;
+ {
+ unsigned width = gfx_ctx_get_resolution_width(g_extern.console.screen.resolutions.list[g_extern.console.screen.resolutions.current.idx]);
+ unsigned height = gfx_ctx_get_resolution_height(g_extern.console.screen.resolutions.list[g_extern.console.screen.resolutions.current.idx]);
+ snprintf(current_item->text, sizeof(current_item->text), "Resolution");
+ snprintf(current_item->setting_text, sizeof(current_item->setting_text), "%dx%d", width, height);
+ snprintf(current_item->comment, sizeof(current_item->comment), "INFO - Change the display resolution.");
+ }
+ break;
#endif
#if defined(HAVE_CG) || defined(HAVE_HLSL) || defined(HAVE_GLSL)
case SETTING_SHADER_PRESETS:
snprintf(current_item->text, sizeof(current_item->text), "Shader Presets (CGP)");
- fill_pathname_base(fname, g_extern.file_state.cgp_path, sizeof(fname));
- snprintf(current_item->setting_text, sizeof(current_item->setting_text), fname);
+ fill_pathname_base(fname, g_extern.file_state.cgp_path, sizeof(fname));
+ snprintf(current_item->setting_text, sizeof(current_item->setting_text), fname);
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - Select a [CG Preset] script.");
- break;
+ break;
case SETTING_SHADER:
- fill_pathname_base(fname, g_settings.video.cg_shader_path, sizeof(fname));
+ fill_pathname_base(fname, g_settings.video.cg_shader_path, sizeof(fname));
snprintf(current_item->text, sizeof(current_item->text), "Shader #1");
- snprintf(current_item->setting_text, sizeof(current_item->setting_text), "%s", fname);
+ snprintf(current_item->setting_text, sizeof(current_item->setting_text), "%s", fname);
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - Select a shader as [Shader #1]. NOTE: Some shaders might be\ntoo slow at 1080p. If you experience any slowdown, try another shader.");
- break;
+ break;
case SETTING_SHADER_2:
- fill_pathname_base(fname, g_settings.video.second_pass_shader, sizeof(fname));
+ fill_pathname_base(fname, g_settings.video.second_pass_shader, sizeof(fname));
snprintf(current_item->text, sizeof(current_item->text), "Shader #2");
- snprintf(current_item->setting_text, sizeof(current_item->setting_text), "%s", fname);
+ snprintf(current_item->setting_text, sizeof(current_item->setting_text), "%s", fname);
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - Select a shader as [Shader #2]. NOTE: Some shaders might be\ntoo slow at 1080p. If you experience any slowdown, try another shader.");
- break;
+ break;
#endif
case SETTING_FONT_SIZE:
snprintf(current_item->text, sizeof(current_item->text), "Font Size");
- snprintf(current_item->setting_text, sizeof(current_item->setting_text), "%f", g_extern.console.rmenu.font_size);
+ snprintf(current_item->setting_text, sizeof(current_item->setting_text), "%f", g_extern.console.rmenu.font_size);
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - Increase or decrease the [Font Size].");
- break;
+ break;
case SETTING_KEEP_ASPECT_RATIO:
snprintf(current_item->text, sizeof(current_item->text), "Aspect Ratio");
- snprintf(current_item->setting_text, sizeof(current_item->setting_text), aspectratio_lut[g_settings.video.aspect_ratio_idx].name);
+ snprintf(current_item->setting_text, sizeof(current_item->setting_text), aspectratio_lut[g_settings.video.aspect_ratio_idx].name);
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - Select an [Aspect Ratio].");
- break;
+ break;
case SETTING_HW_TEXTURE_FILTER:
snprintf(current_item->text, sizeof(current_item->text), "Hardware filtering #1");
- if(g_settings.video.smooth)
+ if(g_settings.video.smooth)
snprintf(current_item->setting_text, sizeof(current_item->setting_text), "Bilinear");
- else
+ else
snprintf(current_item->setting_text, sizeof(current_item->setting_text), "Point");
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - Hardware filtering #1 is set to [%s].", current_item->setting_text);
- break;
+ break;
#ifdef HAVE_FBO
case SETTING_HW_TEXTURE_FILTER_2:
snprintf(current_item->text, sizeof(current_item->text), "Hardware filtering #2");
- if(g_settings.video.second_pass_smooth)
+ if(g_settings.video.second_pass_smooth)
snprintf(current_item->setting_text, sizeof(current_item->setting_text), "Bilinear");
- else
+ else
snprintf(current_item->setting_text, sizeof(current_item->setting_text), "Point");
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - Hardware filtering #2 is set to [%s].", current_item->setting_text);
- break;
+ break;
case SETTING_SCALE_ENABLED:
snprintf(current_item->text, sizeof(current_item->text), "Custom Scaling/Dual Shaders");
snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_settings.video.render_to_texture ? "ON" : "OFF");
- snprintf(current_item->comment, sizeof(current_item->comment), g_settings.video.render_to_texture ? "INFO - [Custom Scaling] is set to 'ON' - 2x shaders will look much\nbetter, and you can select a shader for [Shader #2]." : "INFO - [Custom Scaling] is set to 'OFF'.");
- break;
+ snprintf(current_item->comment, sizeof(current_item->comment), g_settings.video.render_to_texture ? "INFO - [Custom Scaling] is set to 'ON' - 2x shaders will look much\nbetter, and you can select a shader for [Shader #2]." : "INFO - [Custom Scaling] is set to 'OFF'.");
+ break;
case SETTING_SCALE_FACTOR:
snprintf(current_item->text, sizeof(current_item->text), "Custom Scaling Factor");
- snprintf(current_item->setting_text, sizeof(current_item->setting_text), "%fx (X) / %fx (Y)", g_settings.video.fbo.scale_x, g_settings.video.fbo.scale_y);
- snprintf(current_item->comment, sizeof(current_item->comment), "INFO - [Custom Scaling Factor] is set to: '%fx (X) / %fx (Y)'.", g_settings.video.fbo.scale_x, g_settings.video.fbo.scale_y);
- break;
+ snprintf(current_item->setting_text, sizeof(current_item->setting_text), "%fx (X) / %fx (Y)", g_settings.video.fbo.scale_x, g_settings.video.fbo.scale_y);
+ snprintf(current_item->comment, sizeof(current_item->comment), "INFO - [Custom Scaling Factor] is set to: '%fx (X) / %fx (Y)'.", g_settings.video.fbo.scale_x, g_settings.video.fbo.scale_y);
+ break;
#endif
#ifdef _XBOX1
case SETTING_FLICKER_FILTER:
snprintf(current_item->text, sizeof(current_item->text), "Flicker Filter");
- snprintf(current_item->setting_text, sizeof(current_item->setting_text), "%d", g_extern.console.screen.state.flicker_filter.enable);
+ snprintf(current_item->setting_text, sizeof(current_item->setting_text), "%d", g_extern.console.screen.state.flicker_filter.enable);
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - Toggle the [Flicker Filter].");
- break;
+ break;
case SETTING_SOFT_DISPLAY_FILTER:
snprintf(current_item->text, sizeof(current_item->text), "Soft Display Filter");
snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_extern.console.screen.state.soft_filter.enable ? "ON" : "OFF");
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - Toggle the [Soft Display Filter].");
- break;
+ break;
#endif
case SETTING_HW_OVERSCAN_AMOUNT:
snprintf(current_item->text, sizeof(current_item->text), "Overscan");
- snprintf(current_item->setting_text, sizeof(current_item->setting_text), "%f", g_extern.console.screen.overscan_amount);
+ snprintf(current_item->setting_text, sizeof(current_item->setting_text), "%f", g_extern.console.screen.overscan_amount);
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - Adjust or decrease [Overscan]. Set this to higher than 0.000\nif the screen doesn't fit on your TV/monitor.");
- break;
+ break;
case SETTING_THROTTLE_MODE:
snprintf(current_item->text, sizeof(current_item->text), "Throttle Mode");
snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_extern.console.screen.state.throttle.enable ? "ON" : "OFF");
snprintf(current_item->comment, sizeof(current_item->comment), g_extern.console.screen.state.throttle.enable ? "INFO - [Throttle Mode] is 'ON' - Vsync is enabled." : "INFO - [Throttle Mode] is 'OFF' - Vsync is disabled.");
- break;
+ break;
case SETTING_TRIPLE_BUFFERING:
snprintf(current_item->text, sizeof(current_item->text), "Triple Buffering");
snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_extern.console.screen.state.triple_buffering.enable ? "ON" : "OFF");
snprintf(current_item->comment, sizeof(current_item->comment), g_extern.console.screen.state.triple_buffering.enable ? "INFO - [Triple Buffering] is set to 'ON'." : "INFO - [Triple Buffering] is set to 'OFF'.");
- break;
+ break;
case SETTING_ENABLE_SCREENSHOTS:
snprintf(current_item->text, sizeof(current_item->text), "Screenshot Option");
snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_extern.console.screen.state.screenshots.enable ? "ON" : "OFF");
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - Screenshots feature is set to '%s'.", g_extern.console.screen.state.screenshots.enable ? "ON" : "OFF");
- break;
+ break;
#if defined(HAVE_CG) || defined(HAVE_HLSL) || defined(HAVE_GLSL)
case SETTING_APPLY_SHADER_PRESET_ON_STARTUP:
snprintf(current_item->text, sizeof(current_item->text), "APPLY SHADER PRESET ON STARTUP");
@@ -261,172 +259,172 @@ static void populate_setting_item(unsigned i, item *current_item)
snprintf(current_item->text, sizeof(current_item->text), "DEFAULTS");
snprintf(current_item->setting_text, sizeof(current_item->setting_text), "");
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - Set all [General Video Settings] back to their 'DEFAULT' values.");
- break;
+ break;
case SETTING_SOUND_MODE:
snprintf(current_item->text, sizeof(current_item->text), "Sound Output");
- switch(g_extern.console.sound.mode)
- {
- case SOUND_MODE_NORMAL:
- snprintf(current_item->comment, sizeof(current_item->comment), "INFO - [Sound Output] is set to 'Normal'.");
- snprintf(current_item->setting_text, sizeof(current_item->setting_text), "Normal");
- break;
+ switch(g_extern.console.sound.mode)
+ {
+ case SOUND_MODE_NORMAL:
+ snprintf(current_item->comment, sizeof(current_item->comment), "INFO - [Sound Output] is set to 'Normal'.");
+ snprintf(current_item->setting_text, sizeof(current_item->setting_text), "Normal");
+ break;
#ifdef HAVE_RSOUND
- case SOUND_MODE_RSOUND:
- snprintf(current_item->comment, sizeof(current_item->comment), "INFO - [Sound Output] is set to 'RSound'." );
- snprintf(current_item->setting_text, sizeof(current_item->setting_text), "RSound");
- break;
+ case SOUND_MODE_RSOUND:
+ snprintf(current_item->comment, sizeof(current_item->comment), "INFO - [Sound Output] is set to 'RSound'." );
+ snprintf(current_item->setting_text, sizeof(current_item->setting_text), "RSound");
+ break;
#endif
#ifdef HAVE_HEADSET
- case SOUND_MODE_HEADSET:
- snprintf(current_item->comment, sizeof(current_item->comment), "INFO - [Sound Output] is set to 'USB/Bluetooth Headset'.");
- snprintf(current_item->setting_text, sizeof(current_item->setting_text), "USB/Bluetooth Headset");
- break;
+ case SOUND_MODE_HEADSET:
+ snprintf(current_item->comment, sizeof(current_item->comment), "INFO - [Sound Output] is set to 'USB/Bluetooth Headset'.");
+ snprintf(current_item->setting_text, sizeof(current_item->setting_text), "USB/Bluetooth Headset");
+ break;
#endif
- default:
- break;
- }
- break;
+ default:
+ break;
+ }
+ break;
#ifdef HAVE_RSOUND
case SETTING_RSOUND_SERVER_IP_ADDRESS:
snprintf(current_item->text, sizeof(current_item->text), "RSound Server IP Address");
- snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_settings.audio.device);
+ snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_settings.audio.device);
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - Enter the IP Address of the [RSound Audio Server]. IP address\nmust be an IPv4 32-bits address, eg: '192.168.1.7'.");
- break;
+ break;
#endif
case SETTING_DEFAULT_AUDIO_ALL:
snprintf(current_item->text, sizeof(current_item->text), "DEFAULTS");
snprintf(current_item->setting_text, sizeof(current_item->setting_text), "");
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - Set all [General Audio Settings] back to their 'DEFAULT' values.");
- break;
+ break;
case SETTING_EMU_CURRENT_SAVE_STATE_SLOT:
snprintf(current_item->text, sizeof(current_item->text), "Current save state slot");
- snprintf(current_item->setting_text, sizeof(current_item->setting_text), "%d", g_extern.state_slot);
+ snprintf(current_item->setting_text, sizeof(current_item->setting_text), "%d", g_extern.state_slot);
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - Set the currently selected savestate slot.");
- break;
- /* emu-specific */
+ break;
+ /* emu-specific */
case SETTING_EMU_SHOW_DEBUG_INFO_MSG:
snprintf(current_item->text, sizeof(current_item->text), "Debug info messages");
snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_extern.console.rmenu.state.msg_fps.enable ? "ON" : "OFF");
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - Show onscreen debug messages.");
- break;
+ break;
case SETTING_EMU_SHOW_INFO_MSG:
snprintf(current_item->text, sizeof(current_item->text), "Info messages");
snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_extern.console.rmenu.state.msg_info.enable ? "ON" : "OFF");
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - Show onscreen info messages in the menu.");
- break;
+ break;
case SETTING_EMU_REWIND_ENABLED:
snprintf(current_item->text, sizeof(current_item->text), "Rewind option");
snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_settings.rewind_enable ? "ON" : "OFF");
- if(g_settings.rewind_enable)
- snprintf(current_item->comment, sizeof(current_item->comment), "INFO - [Rewind] feature is set to 'ON'.");
- else
- snprintf(current_item->comment, sizeof(current_item->comment), "INFO - [Rewind] feature is set to 'OFF'.");
- break;
+ if(g_settings.rewind_enable)
+ snprintf(current_item->comment, sizeof(current_item->comment), "INFO - [Rewind] feature is set to 'ON'.");
+ else
+ snprintf(current_item->comment, sizeof(current_item->comment), "INFO - [Rewind] feature is set to 'OFF'.");
+ break;
#ifdef HAVE_ZLIB
case SETTING_ZIP_EXTRACT:
snprintf(current_item->text, sizeof(current_item->text), "ZIP Extract Option");
- switch(g_extern.file_state.zip_extract_mode)
- {
- case ZIP_EXTRACT_TO_CURRENT_DIR:
- snprintf(current_item->setting_text, sizeof(current_item->setting_text), "Current dir");
- snprintf(current_item->comment, sizeof(current_item->comment), "INFO - ZIP files are extracted to the current dir.");
- break;
- case ZIP_EXTRACT_TO_CURRENT_DIR_AND_LOAD_FIRST_FILE:
- snprintf(current_item->setting_text, sizeof(current_item->setting_text), "Current dir and load first file");
- snprintf(current_item->comment, sizeof(current_item->comment), "INFO - ZIP files are extracted to current dir, and auto-loaded.");
- break;
- case ZIP_EXTRACT_TO_CACHE_DIR:
- snprintf(current_item->setting_text, sizeof(current_item->setting_text), "Cache dir");
- snprintf(current_item->comment, sizeof(current_item->comment), "INFO - ZIP files are extracted to the cache dir.");
- break;
- }
- break;
+ switch(g_extern.file_state.zip_extract_mode)
+ {
+ case ZIP_EXTRACT_TO_CURRENT_DIR:
+ snprintf(current_item->setting_text, sizeof(current_item->setting_text), "Current dir");
+ snprintf(current_item->comment, sizeof(current_item->comment), "INFO - ZIP files are extracted to the current dir.");
+ break;
+ case ZIP_EXTRACT_TO_CURRENT_DIR_AND_LOAD_FIRST_FILE:
+ snprintf(current_item->setting_text, sizeof(current_item->setting_text), "Current dir and load first file");
+ snprintf(current_item->comment, sizeof(current_item->comment), "INFO - ZIP files are extracted to current dir, and auto-loaded.");
+ break;
+ case ZIP_EXTRACT_TO_CACHE_DIR:
+ snprintf(current_item->setting_text, sizeof(current_item->setting_text), "Cache dir");
+ snprintf(current_item->comment, sizeof(current_item->comment), "INFO - ZIP files are extracted to the cache dir.");
+ break;
+ }
+ break;
#endif
case SETTING_RARCH_DEFAULT_EMU:
snprintf(current_item->text, sizeof(current_item->text), "Default libretro core");
- fill_pathname_base(fname, g_settings.libretro, sizeof(fname));
- snprintf(current_item->setting_text, sizeof(current_item->setting_text), "%s", fname);
+ fill_pathname_base(fname, g_settings.libretro, sizeof(fname));
+ snprintf(current_item->setting_text, sizeof(current_item->setting_text), "%s", fname);
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - Select a default libretro core to launch at start-up.");
- break;
+ break;
case SETTING_QUIT_RARCH:
snprintf(current_item->text, sizeof(current_item->text), "Quit RetroArch and save settings ");
- snprintf(current_item->setting_text, sizeof(current_item->setting_text), "");
+ snprintf(current_item->setting_text, sizeof(current_item->setting_text), "");
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - Quits RetroArch and saves the settings.");
- break;
+ break;
case SETTING_EMU_AUDIO_MUTE:
snprintf(current_item->text, sizeof(current_item->text), "Mute Audio");
snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_extern.audio_data.mute ? "ON" : "OFF");
- if(g_extern.audio_data.mute)
- snprintf(current_item->comment, sizeof(current_item->comment), "INFO - [Audio Mute] is set to 'ON'. The game audio will be muted.");
- else
- snprintf(current_item->comment, sizeof(current_item->comment), "INFO - [Audio Mute] is set to 'OFF'.");
- break;
+ if(g_extern.audio_data.mute)
+ snprintf(current_item->comment, sizeof(current_item->comment), "INFO - [Audio Mute] is set to 'ON'. The game audio will be muted.");
+ else
+ snprintf(current_item->comment, sizeof(current_item->comment), "INFO - [Audio Mute] is set to 'OFF'.");
+ break;
#ifdef _XBOX1
case SETTING_EMU_AUDIO_SOUND_VOLUME_LEVEL:
snprintf(current_item->text, sizeof(current_item->text), "Volume Level");
snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_extern.console.sound.volume_level ? "Loud" : "Normal");
- if(g_extern.audio_data.mute)
- snprintf(current_item->comment, sizeof(current_item->comment), "INFO - [Volume Level] is set to 'Loud'");
- else
- snprintf(current_item->comment, sizeof(current_item->comment), "INFO - [Volume Level' is set to 'Normal'.");
+ if(g_extern.audio_data.mute)
+ snprintf(current_item->comment, sizeof(current_item->comment), "INFO - [Volume Level] is set to 'Loud'");
+ else
+ snprintf(current_item->comment, sizeof(current_item->comment), "INFO - [Volume Level' is set to 'Normal'.");
break;
#endif
case SETTING_ENABLE_CUSTOM_BGM:
snprintf(current_item->text, sizeof(current_item->text), "Custom BGM Option");
snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_extern.console.sound.custom_bgm.enable ? "ON" : "OFF");
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - [Custom BGM] is set to '%s'.", g_extern.console.sound.custom_bgm.enable ? "ON" : "OFF");
- break;
+ break;
case SETTING_PATH_DEFAULT_ROM_DIRECTORY:
snprintf(current_item->text, sizeof(current_item->text), "Startup ROM Directory");
- snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_extern.console.main_wrap.paths.default_rom_startup_dir);
+ snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_extern.console.main_wrap.paths.default_rom_startup_dir);
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - Set the default [Startup ROM directory]. NOTE: You will have to\nrestart the emulator for this change to have any effect.");
- break;
+ break;
case SETTING_PATH_SAVESTATES_DIRECTORY:
snprintf(current_item->text, sizeof(current_item->text), "Savestate Directory");
- snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_extern.console.main_wrap.paths.default_savestate_dir);
+ snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_extern.console.main_wrap.paths.default_savestate_dir);
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - Set the default path where all the savestate files will be saved to.");
- break;
+ break;
case SETTING_PATH_SRAM_DIRECTORY:
snprintf(current_item->text, sizeof(current_item->text), "SRAM Directory");
- snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_extern.console.main_wrap.paths.default_sram_dir);
+ snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_extern.console.main_wrap.paths.default_sram_dir);
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - Set the default SRAM (SaveRAM) directory path. All the\nbattery backup saves will be stored in this directory.");
- break;
+ break;
#ifdef HAVE_XML
case SETTING_PATH_CHEATS:
snprintf(current_item->text, sizeof(current_item->text), "Cheatfile Directory");
- snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_settings.cheat_database);
+ snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_settings.cheat_database);
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - Set the default [Cheatfile directory] path. All CHT (cheat) files\nwill be stored here.");
- break;
+ break;
#endif
case SETTING_PATH_SYSTEM:
snprintf(current_item->text, sizeof(current_item->text), "System Directory");
- snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_settings.system_directory);
+ snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_settings.system_directory);
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - Set the default [System directory] path. System files like\nBIOS files, etc. will be stored here.");
- break;
+ break;
case SETTING_ENABLE_SRAM_PATH:
snprintf(current_item->text, sizeof(current_item->text), "Custom SRAM Dir Enable");
snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_extern.console.main_wrap.state.default_sram_dir.enable ? "ON" : "OFF");
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - [Custom SRAM Dir Path] is set to '%s'.", g_extern.console.main_wrap.state.default_sram_dir.enable ? "ON" : "OFF");
- break;
+ break;
case SETTING_ENABLE_STATE_PATH:
snprintf(current_item->text, sizeof(current_item->text), "Custom Savestate Dir Enable");
snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_extern.console.main_wrap.state.default_savestate_dir.enable ? "ON" : "OFF");
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - [Custom Savestate Dir Path] is set to '%s'.", g_extern.console.main_wrap.state.default_savestate_dir.enable ? "ON" : "OFF");
- break;
+ break;
case SETTING_CONTROLS_SCHEME:
snprintf(current_item->text, sizeof(current_item->text), "Control Scheme Preset");
- snprintf(current_item->comment, sizeof(current_item->comment), "INFO - Input scheme preset [%s] is selected.", g_extern.file_state.input_cfg_path);
- snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_extern.file_state.input_cfg_path);
- break;
+ snprintf(current_item->comment, sizeof(current_item->comment), "INFO - Input scheme preset [%s] is selected.", g_extern.file_state.input_cfg_path);
+ snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_extern.file_state.input_cfg_path);
+ break;
case SETTING_CONTROLS_NUMBER:
snprintf(current_item->text, sizeof(current_item->text), "Controller No");
- snprintf(current_item->comment, sizeof(current_item->comment), "Controller %d is currently selected.", currently_selected_controller_menu+1);
- snprintf(current_item->setting_text, sizeof(current_item->setting_text), "%d", currently_selected_controller_menu+1);
- break;
+ snprintf(current_item->comment, sizeof(current_item->comment), "Controller %d is currently selected.", currently_selected_controller_menu+1);
+ snprintf(current_item->setting_text, sizeof(current_item->setting_text), "%d", currently_selected_controller_menu+1);
+ break;
case SETTING_DPAD_EMULATION:
snprintf(current_item->text, sizeof(current_item->text), "D-Pad Emulation");
- snprintf(current_item->comment, sizeof(current_item->comment), "[%s] from Controller %d is mapped to D-pad.", rarch_dpad_emulation_name_lut[g_settings.input.dpad_emulation[currently_selected_controller_menu]], currently_selected_controller_menu+1);
- snprintf(current_item->setting_text, sizeof(current_item->setting_text), "%s", rarch_dpad_emulation_name_lut[g_settings.input.dpad_emulation[currently_selected_controller_menu]]);
+ snprintf(current_item->comment, sizeof(current_item->comment), "[%s] from Controller %d is mapped to D-pad.", rarch_dpad_emulation_name_lut[g_settings.input.dpad_emulation[currently_selected_controller_menu]], currently_selected_controller_menu+1);
+ snprintf(current_item->setting_text, sizeof(current_item->setting_text), "%s", rarch_dpad_emulation_name_lut[g_settings.input.dpad_emulation[currently_selected_controller_menu]]);
break;
case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_B:
case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_Y:
@@ -445,13 +443,13 @@ static void populate_setting_item(unsigned i, item *current_item)
case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_L3:
case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_R3:
{
- const char * value = rarch_input_find_platform_key_label(g_settings.input.binds[currently_selected_controller_menu][currentsetting-(FIRST_CONTROL_BIND)].joykey);
- unsigned id = currentsetting - FIRST_CONTROL_BIND;
- snprintf(current_item->text, sizeof(current_item->text), rarch_input_get_default_keybind_name(id));
- snprintf(current_item->comment, sizeof(current_item->comment), "INFO - [%s] is mapped to action:\n[%s].", current_item->text, value);
- snprintf(current_item->setting_text, sizeof(current_item->setting_text), value);
- }
- break;
+ const char * value = rarch_input_find_platform_key_label(g_settings.input.binds[currently_selected_controller_menu][currentsetting-(FIRST_CONTROL_BIND)].joykey);
+ unsigned id = currentsetting - FIRST_CONTROL_BIND;
+ snprintf(current_item->text, sizeof(current_item->text), rarch_input_get_default_keybind_name(id));
+ snprintf(current_item->comment, sizeof(current_item->comment), "INFO - [%s] is mapped to action:\n[%s].", current_item->text, value);
+ snprintf(current_item->setting_text, sizeof(current_item->setting_text), value);
+ }
+ break;
case SETTING_CONTROLS_SAVE_CUSTOM_CONTROLS:
snprintf(current_item->text, sizeof(current_item->text), "SAVE CUSTOM CONTROLS");
snprintf(current_item->setting_text, sizeof(current_item->setting_text), "");
@@ -487,41 +485,42 @@ static void populate_setting_item(unsigned i, item *current_item)
snprintf(current_item->text, sizeof(current_item->text), "SAVE SETTINGS AS CGP PRESET");
snprintf(current_item->setting_text, sizeof(current_item->setting_text), "");
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - Save the current video settings to a [CG Preset] (CGP) file.");
- break;
+ break;
#endif
default:
- break;
+ break;
}
}
static void display_menubar(menu *current_menu)
{
+ DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data;
filebrowser_t *fb = &browser;
char current_path[256], rarch_version[128], msg[128];
rmenu_default_positions_t default_pos;
- context->set_default_pos(&default_pos);
+ device_ptr->ctx_driver->rmenu_set_default_pos(&default_pos);
snprintf(rarch_version, sizeof(rarch_version), "v%s", PACKAGE_VERSION);
switch(current_menu->enum_id)
{
case GENERAL_VIDEO_MENU:
- snprintf(msg, sizeof(msg), "NEXT -> [%s]", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_R));
- context->render_msg(default_pos.x_position, default_pos.current_path_y_position, default_pos.current_path_font_size, WHITE, msg);
+ snprintf(msg, sizeof(msg), "NEXT -> [%s]", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_R));
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, default_pos.current_path_y_position, default_pos.current_path_font_size, WHITE, msg);
break;
case GENERAL_AUDIO_MENU:
case EMU_GENERAL_MENU:
case EMU_VIDEO_MENU:
case EMU_AUDIO_MENU:
case PATH_MENU:
- snprintf(msg, sizeof(msg), "[%s] <- PREV | NEXT -> [%s]", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_L), rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_R));
- context->render_msg(default_pos.x_position, default_pos.current_path_y_position, default_pos.current_path_font_size, WHITE, msg);
+ snprintf(msg, sizeof(msg), "[%s] <- PREV | NEXT -> [%s]", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_L), rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_R));
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, default_pos.current_path_y_position, default_pos.current_path_font_size, WHITE, msg);
break;
case CONTROLS_MENU:
case INGAME_MENU_RESIZE:
- snprintf(msg, sizeof(msg), "[%s] <- PREV", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_L));
- context->render_msg(default_pos.x_position, default_pos.current_path_y_position, default_pos.current_path_font_size, WHITE, msg);
+ snprintf(msg, sizeof(msg), "[%s] <- PREV", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_L));
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, default_pos.current_path_y_position, default_pos.current_path_font_size, WHITE, msg);
break;
default:
break;
@@ -543,20 +542,20 @@ static void display_menubar(menu *current_menu)
case PATH_SYSTEM_DIR_CHOICE:
fb = &tmpBrowser;
case FILE_BROWSER_MENU:
- snprintf(current_path, sizeof(current_path), "PATH: %s", filebrowser_get_current_dir(fb));
- context->render_msg(default_pos.x_position, default_pos.current_path_y_position, default_pos.current_path_font_size, WHITE, current_path);
+ snprintf(current_path, sizeof(current_path), "PATH: %s", filebrowser_get_current_dir(fb));
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, default_pos.current_path_y_position, default_pos.current_path_font_size, WHITE, current_path);
break;
default:
break;
}
- rmenu_position_t position = {0};
- context->render_bg(&position);
+ rarch_position_t position = {0};
+ device_ptr->ctx_driver->rmenu_draw_bg(&position);
- context->render_msg(default_pos.core_msg_x_position, default_pos.core_msg_y_position, default_pos.core_msg_font_size, WHITE, m_title);
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.core_msg_x_position, default_pos.core_msg_y_position, default_pos.core_msg_font_size, WHITE, m_title);
#ifdef __CELLOS_LV2__
- context->render_msg(default_pos.x_position, 0.05f, 1.4f, WHITE, current_menu->title);
- context->render_msg(0.80f, 0.015f, 0.82f, WHITE, rarch_version);
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, 0.05f, 1.4f, WHITE, current_menu->title);
+ device_ptr->ctx_driver->rmenu_render_msg(0.80f, 0.015f, 0.82f, WHITE, rarch_version);
#endif
}
@@ -595,11 +594,12 @@ static void browser_update(filebrowser_t * b, uint64_t input, const char *extens
static void browser_render(filebrowser_t * b)
{
+ DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data;
unsigned file_count = b->current_dir.list->size;
unsigned int current_index, page_number, page_base, i;
rmenu_default_positions_t default_pos;
- context->set_default_pos(&default_pos);
+ device_ptr->ctx_driver->rmenu_set_default_pos(&default_pos);
current_index = b->current_dir.ptr;
page_number = current_index / default_pos.entries_per_page;
@@ -615,23 +615,24 @@ static void browser_render(filebrowser_t * b)
const char *current_pathname = filebrowser_get_current_path(b);
if(strcmp(current_pathname, b->current_dir.list->elems[i].data) == 0)
{
- rmenu_position_t position = {0};
+ rarch_position_t position = {0};
position.x = default_pos.x_position;
position.y = default_pos.starting_y_position;
- context->render_selection_panel(&position);
+ device_ptr->ctx_driver->rmenu_draw_panel(&position);
}
- context->render_msg(default_pos.x_position, default_pos.starting_y_position, default_pos.variable_font_size, i == current_index ? RED : b->current_dir.list->elems[i].attr.b ? GREEN : WHITE, fname_tmp);
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, default_pos.starting_y_position, default_pos.variable_font_size, i == current_index ? RED : b->current_dir.list->elems[i].attr.b ? GREEN : WHITE, fname_tmp);
}
}
static void select_file(menu *current_menu, uint64_t input)
{
+ DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data;
char extensions[256], comment[256], path[PATH_MAX];
bool ret = true;
rmenu_default_positions_t default_pos;
- context->set_default_pos(&default_pos);
+ device_ptr->ctx_driver->rmenu_set_default_pos(&default_pos);
switch(current_menu->enum_id)
{
@@ -667,7 +668,7 @@ static void select_file(menu *current_menu, uint64_t input)
else
{
snprintf(path, sizeof(path), filebrowser_get_current_path(&tmpBrowser));
-
+
switch(current_menu->enum_id)
{
#if defined(HAVE_CG) || defined(HAVE_HLSL) || defined(HAVE_GLSL)
@@ -685,11 +686,11 @@ static void select_file(menu *current_menu, uint64_t input)
break;
case PRESET_CHOICE:
strlcpy(g_extern.file_state.cgp_path, path, sizeof(g_extern.file_state.cgp_path));
- context->set_fbo_enable(FBO_DEINIT);
+ device_ptr->ctx_driver->set_fbo(FBO_DEINIT);
#ifdef HAVE_OPENGL
gl_cg_reinit(path);
#endif
- context->set_fbo_enable(FBO_INIT);
+ device_ptr->ctx_driver->set_fbo(FBO_INIT);
break;
#endif
case INPUT_PRESET_CHOICE:
@@ -700,7 +701,7 @@ static void select_file(menu *current_menu, uint64_t input)
break;
case LIBRETRO_CHOICE:
strlcpy(g_settings.libretro, path, sizeof(g_settings.libretro));
-
+
if(set_libretro_core_as_launch)
{
strlcpy(g_extern.console.external_launch.launch_app, path, sizeof(g_extern.console.external_launch.launch_app));
@@ -714,7 +715,7 @@ static void select_file(menu *current_menu, uint64_t input)
}
break;
}
-
+
menu_stack_pop();
}
@@ -726,19 +727,20 @@ static void select_file(menu *current_menu, uint64_t input)
display_menubar(current_menu);
- context->render_msg(default_pos.x_position, default_pos.comment_y_position, default_pos.font_size, WHITE, comment);
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, default_pos.comment_y_position, default_pos.font_size, WHITE, comment);
snprintf(comment, sizeof(comment), "[%s] - return to settings [%s] - Reset Startdir", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_X), rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_START));
- context->render_msg(default_pos.x_position, default_pos.comment_two_y_position, default_pos.font_size, YELLOW, comment);
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, default_pos.comment_two_y_position, default_pos.font_size, YELLOW, comment);
}
static void select_directory(menu *current_menu, uint64_t input)
{
+ DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data;
char path[PATH_MAX], msg[256];
bool ret = true;
rmenu_default_positions_t default_pos;
- context->set_default_pos(&default_pos);
+ device_ptr->ctx_driver->rmenu_set_default_pos(&default_pos);
bool is_dir = filebrowser_get_current_path_isdir(&tmpBrowser);
browser_update(&tmpBrowser, input, "empty");
@@ -748,7 +750,7 @@ static void select_directory(menu *current_menu, uint64_t input)
if(is_dir)
{
snprintf(path, sizeof(path), filebrowser_get_current_path(&tmpBrowser));
-
+
switch(current_menu->enum_id)
{
case PATH_SAVESTATES_DIR_CHOICE:
@@ -810,13 +812,13 @@ static void select_directory(menu *current_menu, uint64_t input)
display_menubar(current_menu);
snprintf(msg, sizeof(msg), "[%s] - Enter dir | [%s] - Go back", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_B), rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_X));
- context->render_msg(default_pos.x_position, default_pos.comment_two_y_position, default_pos.font_size, YELLOW, msg);
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, default_pos.comment_two_y_position, default_pos.font_size, YELLOW, msg);
snprintf(msg, sizeof(msg), "[%s] - Reset to startdir", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_START));
- context->render_msg(default_pos.x_position, default_pos.comment_two_y_position + (default_pos.y_position_increment * 1), default_pos.font_size, YELLOW, msg);
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, default_pos.comment_two_y_position + (default_pos.y_position_increment * 1), default_pos.font_size, YELLOW, msg);
snprintf(msg, sizeof(msg), "INFO - Browse to a directory and assign it as the path by\npressing [%s].", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_Y));
- context->render_msg(default_pos.x_position, default_pos.comment_y_position, default_pos.font_size, WHITE, msg);
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, default_pos.comment_y_position, default_pos.font_size, WHITE, msg);
}
static void set_keybind_digital(uint64_t default_retro_joypad_id, uint64_t input)
@@ -838,6 +840,7 @@ static void set_keybind_digital(uint64_t default_retro_joypad_id, uint64_t input
#ifdef __CELLOS_LV2__
static void rarch_filename_input_and_save (unsigned filename_type)
{
+ DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data;
bool filename_entered = false;
char filename_tmp[256], filepath[PATH_MAX];
oskutil_write_initial_message(&g_extern.console.misc.oskutil_handle, L"example");
@@ -847,8 +850,12 @@ static void rarch_filename_input_and_save (unsigned filename_type)
while(OSK_IS_RUNNING(g_extern.console.misc.oskutil_handle))
{
- context->clear();
- context->swap_buffers();
+ device_ptr->ctx_driver->clear();
+ device_ptr->ctx_driver->swap_buffers();
+ bool quit, resize;
+ unsigned width, height, frame_count;
+ frame_count = 0;
+ device_ptr->ctx_driver->check_window(&quit, &resize, &width, &height, frame_count);
}
if(g_extern.console.misc.oskutil_handle.text_can_be_fetched)
@@ -880,8 +887,12 @@ static void rarch_filename_input_and_save (unsigned filename_type)
while(OSK_IS_RUNNING(g_extern.console.misc.oskutil_handle))
{
/* OSK Util gets updated */
- context->clear();
- context->swap_buffers();
+ device_ptr->ctx_driver->clear();
+ device_ptr->ctx_driver->swap_buffers();
+ bool quit, resize;
+ unsigned width, height, frame_count;
+ frame_count = 0;
+ device_ptr->ctx_driver->check_window(&quit, &resize, &width, &height, frame_count);
}
if(g_extern.console.misc.oskutil_handle.text_can_be_fetched)
@@ -893,21 +904,21 @@ static void rarch_filename_input_and_save (unsigned filename_type)
{
case CONFIG_FILE:
break;
- case SHADER_PRESET_FILE:
- {
- struct gl_cg_cgp_info current_settings;
- current_settings.shader[0] = g_settings.video.cg_shader_path;
- current_settings.shader[1] = g_settings.video.second_pass_shader;
- current_settings.filter_linear[0] = g_settings.video.smooth;
- current_settings.filter_linear[1] = g_settings.video.second_pass_smooth;
- current_settings.render_to_texture = true;
- current_settings.fbo_scale = g_settings.video.fbo.scale_x; //fbo.scale_x and y are the same anyway
- gl_cg_save_cgp(filepath, ¤t_settings);
- }
- break;
- case INPUT_PRESET_FILE:
- config_save_keybinds(filepath);
- break;
+ case SHADER_PRESET_FILE:
+ {
+ struct gl_cg_cgp_info current_settings;
+ current_settings.shader[0] = g_settings.video.cg_shader_path;
+ current_settings.shader[1] = g_settings.video.second_pass_shader;
+ current_settings.filter_linear[0] = g_settings.video.smooth;
+ current_settings.filter_linear[1] = g_settings.video.second_pass_smooth;
+ current_settings.render_to_texture = true;
+ current_settings.fbo_scale = g_settings.video.fbo.scale_x; //fbo.scale_x and y are the same anyway
+ gl_cg_save_cgp(filepath, ¤t_settings);
+ }
+ break;
+ case INPUT_PRESET_FILE:
+ config_save_keybinds(filepath);
+ break;
}
}
}
@@ -915,634 +926,640 @@ static void rarch_filename_input_and_save (unsigned filename_type)
static void set_setting_action(menu *current_menu, unsigned switchvalue, uint64_t input)
{
+ DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data;
+
switch(switchvalue)
{
#ifdef __CELLOS_LV2__
- case SETTING_CHANGE_RESOLUTION:
- if(input & (1 << RMENU_DEVICE_NAV_RIGHT))
- rarch_settings_change(S_RESOLUTION_NEXT);
- if(input & (1 << RMENU_DEVICE_NAV_LEFT))
- rarch_settings_change(S_RESOLUTION_PREVIOUS);
- if(input & (1 << RMENU_DEVICE_NAV_B))
- {
- if (g_extern.console.screen.resolutions.list[g_extern.console.screen.resolutions.current.idx] == CELL_VIDEO_OUT_RESOLUTION_576)
- {
- if(gfx_ctx_check_resolution(CELL_VIDEO_OUT_RESOLUTION_576))
- {
- //ps3graphics_set_pal60hz(Settings.PS3PALTemporalMode60Hz);
- video_ptr.restart();
- }
- }
- else
- {
- //ps3graphics_set_pal60hz(0);
- video_ptr.restart();
- }
- }
- break;
- /*
- case SETTING_PAL60_MODE:
- if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
- {
- if (Graphics->GetCurrentResolution() == CELL_VIDEO_OUT_RESOLUTION_576)
- {
- if(Graphics->CheckResolution(CELL_VIDEO_OUT_RESOLUTION_576))
- {
- Settings.PS3PALTemporalMode60Hz = !Settings.PS3PALTemporalMode60Hz;
- Graphics->SetPAL60Hz(Settings.PS3PALTemporalMode60Hz);
- Graphics->SwitchResolution(Graphics->GetCurrentResolution(), Settings.PS3PALTemporalMode60Hz, Settings.TripleBuffering);
- }
- }
+ case SETTING_CHANGE_RESOLUTION:
+ if(input & (1 << RMENU_DEVICE_NAV_RIGHT))
+ rarch_settings_change(S_RESOLUTION_NEXT);
+ if(input & (1 << RMENU_DEVICE_NAV_LEFT))
+ rarch_settings_change(S_RESOLUTION_PREVIOUS);
+ if(input & (1 << RMENU_DEVICE_NAV_B))
+ {
+ if (g_extern.console.screen.resolutions.list[g_extern.console.screen.resolutions.current.idx] == CELL_VIDEO_OUT_RESOLUTION_576)
+ {
+ if(gfx_ctx_check_resolution(CELL_VIDEO_OUT_RESOLUTION_576))
+ {
+ //ps3graphics_set_pal60hz(Settings.PS3PALTemporalMode60Hz);
+ video_ptr.restart();
+ }
+ }
+ else
+ {
+ //ps3graphics_set_pal60hz(0);
+ video_ptr.restart();
+ }
+ }
+ break;
+ /*
+ case SETTING_PAL60_MODE:
+ if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ {
+ if (Graphics->GetCurrentResolution() == CELL_VIDEO_OUT_RESOLUTION_576)
+ {
+ if(Graphics->CheckResolution(CELL_VIDEO_OUT_RESOLUTION_576))
+ {
+ Settings.PS3PALTemporalMode60Hz = !Settings.PS3PALTemporalMode60Hz;
+ Graphics->SetPAL60Hz(Settings.PS3PALTemporalMode60Hz);
+ Graphics->SwitchResolution(Graphics->GetCurrentResolution(), Settings.PS3PALTemporalMode60Hz, Settings.TripleBuffering);
+ }
+ }
- }
- break;
- */
+ }
+ break;
+ */
#endif
#if defined(HAVE_CG) || defined(HAVE_HLSL) || defined(HAVE_GLSL)
- case SETTING_SHADER_PRESETS:
- if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
- {
- if(g_extern.console.emulator_initialized)
- {
- menu_stack_push(PRESET_CHOICE);
+ case SETTING_SHADER_PRESETS:
+ if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ {
+ if(g_extern.console.emulator_initialized)
+ {
+ menu_stack_push(PRESET_CHOICE);
filebrowser_set_root_and_ext(&tmpBrowser, EXT_CGP_PRESETS, default_paths.cgp_dir);
- }
- }
- if(input & (1 << RMENU_DEVICE_NAV_START))
- strlcpy(g_extern.file_state.cgp_path, "", sizeof(g_extern.file_state.cgp_path));
- break;
- case SETTING_SHADER:
- if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
- {
- menu_stack_push(SHADER_CHOICE);
- filebrowser_set_root_and_ext(&tmpBrowser, EXT_SHADERS, default_paths.shader_dir);
- set_shader = 0;
- }
- if(input & (1 << RMENU_DEVICE_NAV_START))
- {
- rarch_load_shader(1, NULL);
- strlcpy(g_settings.video.cg_shader_path, default_paths.shader_file, sizeof(g_settings.video.cg_shader_path));
- }
- break;
- case SETTING_SHADER_2:
- if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
- {
- menu_stack_push(SHADER_CHOICE);
- filebrowser_set_root_and_ext(&tmpBrowser, EXT_SHADERS, default_paths.shader_dir);
- set_shader = 1;
- }
- if(input & (1 << RMENU_DEVICE_NAV_START))
- {
- rarch_load_shader(2, NULL);
- strlcpy(g_settings.video.second_pass_shader, default_paths.shader_file, sizeof(g_settings.video.second_pass_shader));
- }
- break;
+ }
+ }
+ if(input & (1 << RMENU_DEVICE_NAV_START))
+ strlcpy(g_extern.file_state.cgp_path, "", sizeof(g_extern.file_state.cgp_path));
+ break;
+ case SETTING_SHADER:
+ if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ {
+ menu_stack_push(SHADER_CHOICE);
+ filebrowser_set_root_and_ext(&tmpBrowser, EXT_SHADERS, default_paths.shader_dir);
+ set_shader = 0;
+ }
+ if(input & (1 << RMENU_DEVICE_NAV_START))
+ {
+ rarch_load_shader(1, NULL);
+ strlcpy(g_settings.video.cg_shader_path, default_paths.shader_file, sizeof(g_settings.video.cg_shader_path));
+ }
+ break;
+ case SETTING_SHADER_2:
+ if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ {
+ menu_stack_push(SHADER_CHOICE);
+ filebrowser_set_root_and_ext(&tmpBrowser, EXT_SHADERS, default_paths.shader_dir);
+ set_shader = 1;
+ }
+ if(input & (1 << RMENU_DEVICE_NAV_START))
+ {
+ rarch_load_shader(2, NULL);
+ strlcpy(g_settings.video.second_pass_shader, default_paths.shader_file, sizeof(g_settings.video.second_pass_shader));
+ }
+ break;
#endif
- case SETTING_FONT_SIZE:
- if(input & (1 << RMENU_DEVICE_NAV_LEFT))
- {
- if(g_extern.console.rmenu.font_size > 0)
- g_extern.console.rmenu.font_size -= 0.01f;
- }
- if((input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
- {
- if((g_extern.console.rmenu.font_size < 2.0f))
- g_extern.console.rmenu.font_size += 0.01f;
- }
- if(input & (1 << RMENU_DEVICE_NAV_START))
- g_extern.console.rmenu.font_size = 1.0f;
- break;
- case SETTING_KEEP_ASPECT_RATIO:
- if(input & (1 << RMENU_DEVICE_NAV_LEFT))
- {
- rarch_settings_change(S_ASPECT_RATIO_DECREMENT);
- context->set_aspect_ratio(g_settings.video.aspect_ratio_idx);
- }
- if(input & (1 << RMENU_DEVICE_NAV_RIGHT))
- {
- rarch_settings_change(S_ASPECT_RATIO_INCREMENT);
- context->set_aspect_ratio(g_settings.video.aspect_ratio_idx);
- }
- if(input & (1 << RMENU_DEVICE_NAV_START))
- {
- rarch_settings_default(S_DEF_ASPECT_RATIO);
- context->set_aspect_ratio(g_settings.video.aspect_ratio_idx);
- }
- break;
- case SETTING_HW_TEXTURE_FILTER:
- if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
- {
- rarch_settings_change(S_HW_TEXTURE_FILTER);
- context->set_filtering(1, g_settings.video.smooth);
- }
- if(input & (1 << RMENU_DEVICE_NAV_START))
- {
- rarch_settings_change(S_DEF_HW_TEXTURE_FILTER);
- context->set_filtering(1, g_settings.video.smooth);
- }
- break;
+ case SETTING_FONT_SIZE:
+ if(input & (1 << RMENU_DEVICE_NAV_LEFT))
+ {
+ if(g_extern.console.rmenu.font_size > 0)
+ g_extern.console.rmenu.font_size -= 0.01f;
+ }
+ if((input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ {
+ if((g_extern.console.rmenu.font_size < 2.0f))
+ g_extern.console.rmenu.font_size += 0.01f;
+ }
+ if(input & (1 << RMENU_DEVICE_NAV_START))
+ g_extern.console.rmenu.font_size = 1.0f;
+ break;
+ case SETTING_KEEP_ASPECT_RATIO:
+ if(input & (1 << RMENU_DEVICE_NAV_LEFT))
+ {
+ rarch_settings_change(S_ASPECT_RATIO_DECREMENT);
+ driver.video->set_aspect_ratio(driver.video_data, g_settings.video.aspect_ratio_idx);
+ }
+ if(input & (1 << RMENU_DEVICE_NAV_RIGHT))
+ {
+ rarch_settings_change(S_ASPECT_RATIO_INCREMENT);
+ driver.video->set_aspect_ratio(driver.video_data, g_settings.video.aspect_ratio_idx);
+ }
+ if(input & (1 << RMENU_DEVICE_NAV_START))
+ {
+ rarch_settings_default(S_DEF_ASPECT_RATIO);
+ driver.video->set_aspect_ratio(driver.video_data, g_settings.video.aspect_ratio_idx);
+ }
+ break;
+ case SETTING_HW_TEXTURE_FILTER:
+ if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ {
+ rarch_settings_change(S_HW_TEXTURE_FILTER);
+ device_ptr->ctx_driver->set_filtering(1, g_settings.video.smooth);
+ }
+ if(input & (1 << RMENU_DEVICE_NAV_START))
+ {
+ rarch_settings_change(S_DEF_HW_TEXTURE_FILTER);
+ device_ptr->ctx_driver->set_filtering(1, g_settings.video.smooth);
+ }
+ break;
#ifdef HAVE_FBO
- case SETTING_HW_TEXTURE_FILTER_2:
- if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
- {
- rarch_settings_change(S_HW_TEXTURE_FILTER_2);
- context->set_filtering(2, g_settings.video.second_pass_smooth);
- }
- if(input & (1 << RMENU_DEVICE_NAV_START))
- {
- rarch_settings_change(S_DEF_HW_TEXTURE_FILTER_2);
- context->set_filtering(2, g_settings.video.second_pass_smooth);
- }
- break;
- case SETTING_SCALE_ENABLED:
- if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
- {
- rarch_settings_change(S_SCALE_ENABLED);
+ case SETTING_HW_TEXTURE_FILTER_2:
+ if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ {
+ rarch_settings_change(S_HW_TEXTURE_FILTER_2);
+ device_ptr->ctx_driver->set_filtering(2, g_settings.video.second_pass_smooth);
+ }
+ if(input & (1 << RMENU_DEVICE_NAV_START))
+ {
+ rarch_settings_change(S_DEF_HW_TEXTURE_FILTER_2);
+ device_ptr->ctx_driver->set_filtering(2, g_settings.video.second_pass_smooth);
+ }
+ break;
+ case SETTING_SCALE_ENABLED:
+ if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ {
+ rarch_settings_change(S_SCALE_ENABLED);
if(g_settings.video.render_to_texture)
- context->set_fbo_enable(FBO_INIT);
+ device_ptr->ctx_driver->set_fbo(FBO_INIT);
else
- context->set_fbo_enable(FBO_DEINIT);
- }
- if(input & (1 << RMENU_DEVICE_NAV_START))
- {
- rarch_settings_default(S_DEF_SCALE_ENABLED);
- context->set_fbo_enable(FBO_REINIT);
- }
- break;
- case SETTING_SCALE_FACTOR:
- if(input & (1 << RMENU_DEVICE_NAV_LEFT))
- {
+ device_ptr->ctx_driver->set_fbo(FBO_DEINIT);
+ }
+ if(input & (1 << RMENU_DEVICE_NAV_START))
+ {
+ rarch_settings_default(S_DEF_SCALE_ENABLED);
+ device_ptr->ctx_driver->set_fbo(FBO_REINIT);
+ }
+ break;
+ case SETTING_SCALE_FACTOR:
+ if(input & (1 << RMENU_DEVICE_NAV_LEFT))
+ {
if(g_settings.video.render_to_texture)
- {
+ {
bool should_decrement = g_settings.video.fbo.scale_x > MIN_SCALING_FACTOR;
-
+
if(should_decrement)
{
rarch_settings_change(S_SCALE_FACTOR_DECREMENT);
- context->set_fbo_enable(FBO_REINIT);
+ device_ptr->ctx_driver->set_fbo(FBO_REINIT);
}
}
- }
- if((input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
- {
- if(g_settings.video.render_to_texture)
- {
- bool should_increment = g_settings.video.fbo.scale_x < MAX_SCALING_FACTOR;
- if(should_increment)
- {
- rarch_settings_change(S_SCALE_FACTOR_INCREMENT);
- context->set_fbo_enable(FBO_REINIT);
- }
- }
- }
- if(input & (1 << RMENU_DEVICE_NAV_START))
- {
- rarch_settings_default(S_DEF_SCALE_FACTOR);
- context->set_fbo_enable(FBO_REINIT);
- }
- break;
+ }
+ if((input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ {
+ if(g_settings.video.render_to_texture)
+ {
+ bool should_increment = g_settings.video.fbo.scale_x < MAX_SCALING_FACTOR;
+ if(should_increment)
+ {
+ rarch_settings_change(S_SCALE_FACTOR_INCREMENT);
+ device_ptr->ctx_driver->set_fbo(FBO_REINIT);
+ }
+ }
+ }
+ if(input & (1 << RMENU_DEVICE_NAV_START))
+ {
+ rarch_settings_default(S_DEF_SCALE_FACTOR);
+ device_ptr->ctx_driver->set_fbo(FBO_REINIT);
+ }
+ break;
#endif
#ifdef _XBOX1
case SETTING_FLICKER_FILTER:
if(input & (1 << RMENU_DEVICE_NAV_LEFT))
- {
- if(g_extern.console.screen.state.flicker_filter.value > 0)
- g_extern.console.screen.state.flicker_filter.value--;
- }
- if(input & (1 << RMENU_DEVICE_NAV_RIGHT))
- {
- if(g_extern.console.screen.state.flicker_filter.value < 5)
- g_extern.console.screen.state.flicker_filter.value++;
- }
- if(input & (1 << RMENU_DEVICE_NAV_START))
+ {
+ if(g_extern.console.screen.state.flicker_filter.value > 0)
+ g_extern.console.screen.state.flicker_filter.value--;
+ }
+ if(input & (1 << RMENU_DEVICE_NAV_RIGHT))
+ {
+ if(g_extern.console.screen.state.flicker_filter.value < 5)
+ g_extern.console.screen.state.flicker_filter.value++;
+ }
+ if(input & (1 << RMENU_DEVICE_NAV_START))
g_extern.console.screen.state.flicker_filter.value = 0;
break;
case SETTING_SOFT_DISPLAY_FILTER:
- if(input & (1 << RMENU_DEVICE_NAV_LEFT) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ if(input & (1 << RMENU_DEVICE_NAV_LEFT) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
g_extern.console.screen.state.soft_filter.enable = !g_extern.console.screen.state.soft_filter.enable;
- if(input & (1 << RMENU_DEVICE_NAV_START))
+ if(input & (1 << RMENU_DEVICE_NAV_START))
g_extern.console.screen.state.soft_filter.enable = true;
break;
#endif
case SETTING_HW_OVERSCAN_AMOUNT:
- if(input & (1 << RMENU_DEVICE_NAV_LEFT))
- {
- rarch_settings_change(S_OVERSCAN_DECREMENT);
- gfx_ctx_set_overscan();
- }
- if((input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
- {
- rarch_settings_change(S_OVERSCAN_INCREMENT);
- gfx_ctx_set_overscan();
- }
- if(input & (1 << RMENU_DEVICE_NAV_START))
- {
- rarch_settings_default(S_DEF_OVERSCAN);
- gfx_ctx_set_overscan();
- }
- break;
+ if(input & (1 << RMENU_DEVICE_NAV_LEFT))
+ {
+ rarch_settings_change(S_OVERSCAN_DECREMENT);
+ gfx_ctx_set_overscan();
+ }
+ if((input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ {
+ rarch_settings_change(S_OVERSCAN_INCREMENT);
+ gfx_ctx_set_overscan();
+ }
+ if(input & (1 << RMENU_DEVICE_NAV_START))
+ {
+ rarch_settings_default(S_DEF_OVERSCAN);
+ gfx_ctx_set_overscan();
+ }
+ break;
case SETTING_THROTTLE_MODE:
- if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
- {
- rarch_settings_change(S_THROTTLE);
- context->set_swap_interval(g_extern.console.screen.state.throttle.enable);
- }
- if(input & (1 << RMENU_DEVICE_NAV_START))
- {
- rarch_settings_default(S_DEF_THROTTLE);
- context->set_swap_interval(g_extern.console.screen.state.throttle.enable);
- }
- break;
+ if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ {
+ rarch_settings_change(S_THROTTLE);
+ device_ptr->ctx_driver->swap_interval(g_extern.console.screen.state.throttle.enable);
+ }
+ if(input & (1 << RMENU_DEVICE_NAV_START))
+ {
+ rarch_settings_default(S_DEF_THROTTLE);
+ device_ptr->ctx_driver->swap_interval(g_extern.console.screen.state.throttle.enable);
+ }
+ break;
case SETTING_TRIPLE_BUFFERING:
- if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
- {
- rarch_settings_change(S_TRIPLE_BUFFERING);
- video_ptr.restart();
- }
- if(input & (1 << RMENU_DEVICE_NAV_START))
- {
- bool old_buffer_input = g_extern.console.screen.state.triple_buffering.enable;
- rarch_settings_default(S_DEF_TRIPLE_BUFFERING);
+ if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ {
+ rarch_settings_change(S_TRIPLE_BUFFERING);
+ video_ptr.restart();
+ }
+ if(input & (1 << RMENU_DEVICE_NAV_START))
+ {
+ bool old_buffer_input = g_extern.console.screen.state.triple_buffering.enable;
+ rarch_settings_default(S_DEF_TRIPLE_BUFFERING);
- if(!old_buffer_input)
- video_ptr.restart();
- }
- break;
+ if(!old_buffer_input)
+ video_ptr.restart();
+ }
+ break;
case SETTING_ENABLE_SCREENSHOTS:
- if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
- {
- g_extern.console.screen.state.screenshots.enable = !g_extern.console.screen.state.screenshots.enable;
- context->screenshot_enable(g_extern.console.screen.state.screenshots.enable);
- }
- if(input & (1 << RMENU_DEVICE_NAV_START))
- {
- g_extern.console.screen.state.screenshots.enable = true;
- context->screenshot_enable(g_extern.console.screen.state.screenshots.enable);
- }
- break;
+ if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ {
+ g_extern.console.screen.state.screenshots.enable = !g_extern.console.screen.state.screenshots.enable;
+ device_ptr->ctx_driver->rmenu_screenshot_enable(g_extern.console.screen.state.screenshots.enable);
+ }
+ if(input & (1 << RMENU_DEVICE_NAV_START))
+ {
+ g_extern.console.screen.state.screenshots.enable = true;
+ device_ptr->ctx_driver->rmenu_screenshot_enable(g_extern.console.screen.state.screenshots.enable);
+ }
+ break;
#if defined(HAVE_CG) || defined(HAVE_HLSL) || defined(HAVE_GLSL)
case SETTING_SAVE_SHADER_PRESET:
- if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
- rarch_filename_input_and_save(SHADER_PRESET_FILE);
- break;
+ if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ rarch_filename_input_and_save(SHADER_PRESET_FILE);
+ break;
case SETTING_APPLY_SHADER_PRESET_ON_STARTUP:
- break;
+ break;
#endif
case SETTING_DEFAULT_VIDEO_ALL:
- break;
+ break;
case SETTING_SOUND_MODE:
- if(input & (1 << RMENU_DEVICE_NAV_LEFT))
- {
- if(g_extern.console.sound.mode != SOUND_MODE_NORMAL)
- g_extern.console.sound.mode--;
- }
- if((input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
- {
- if(g_extern.console.sound.mode < (SOUND_MODE_LAST-1))
- g_extern.console.sound.mode++;
- }
- if((input & (1 << RMENU_DEVICE_NAV_UP)) || (input & (1 << RMENU_DEVICE_NAV_DOWN)))
- {
+ if(input & (1 << RMENU_DEVICE_NAV_LEFT))
+ {
+ if(g_extern.console.sound.mode != SOUND_MODE_NORMAL)
+ g_extern.console.sound.mode--;
+ }
+ if((input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ {
+ if(g_extern.console.sound.mode < (SOUND_MODE_LAST-1))
+ g_extern.console.sound.mode++;
+ }
+ if((input & (1 << RMENU_DEVICE_NAV_UP)) || (input & (1 << RMENU_DEVICE_NAV_DOWN)))
+ {
#ifdef HAVE_RSOUND
- if(g_extern.console.sound.mode != SOUND_MODE_RSOUND)
- rarch_console_rsound_stop();
- else
- rarch_console_rsound_start(g_settings.audio.device);
+ if(g_extern.console.sound.mode != SOUND_MODE_RSOUND)
+ rarch_console_rsound_stop();
+ else
+ rarch_console_rsound_start(g_settings.audio.device);
#endif
- }
- if(input & (1 << RMENU_DEVICE_NAV_START))
- {
- g_extern.console.sound.mode = SOUND_MODE_NORMAL;
+ }
+ if(input & (1 << RMENU_DEVICE_NAV_START))
+ {
+ g_extern.console.sound.mode = SOUND_MODE_NORMAL;
#ifdef HAVE_RSOUND
- rarch_console_rsound_stop();
+ rarch_console_rsound_stop();
#endif
- }
- break;
+ }
+ break;
#ifdef HAVE_RSOUND
case SETTING_RSOUND_SERVER_IP_ADDRESS:
- if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
- {
- oskutil_write_initial_message(&g_extern.console.misc.oskutil_handle, L"192.168.1.1");
- oskutil_write_message(&g_extern.console.misc.oskutil_handle, L"Enter IP address for the RSound Server.");
- oskutil_start(&g_extern.console.misc.oskutil_handle);
- while(OSK_IS_RUNNING(g_extern.console.misc.oskutil_handle))
- {
- context->clear();
- context->swap_buffers();
- }
+ if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ {
+ oskutil_write_initial_message(&g_extern.console.misc.oskutil_handle, L"192.168.1.1");
+ oskutil_write_message(&g_extern.console.misc.oskutil_handle, L"Enter IP address for the RSound Server.");
+ oskutil_start(&g_extern.console.misc.oskutil_handle);
+ while(OSK_IS_RUNNING(g_extern.console.misc.oskutil_handle))
+ {
+ device_ptr->ctx_driver->clear();
+ device_ptr->ctx_driver->swap_buffers();
+ bool quit, resize;
+ unsigned width, height, frame_count;
+ frame_count = 0;
+ device_ptr->ctx_driver->check_window(&quit, &resize, &width, &height, frame_count);
+ }
- if(g_extern.console.misc.oskutil_handle.text_can_be_fetched)
- strlcpy(g_settings.audio.device, OUTPUT_TEXT_STRING(g_extern.console.misc.oskutil_handle), sizeof(g_settings.audio.device));
- }
- if(input & (1 << RMENU_DEVICE_NAV_START))
- strlcpy(g_settings.audio.device, "0.0.0.0", sizeof(g_settings.audio.device));
- break;
+ if(g_extern.console.misc.oskutil_handle.text_can_be_fetched)
+ strlcpy(g_settings.audio.device, OUTPUT_TEXT_STRING(g_extern.console.misc.oskutil_handle), sizeof(g_settings.audio.device));
+ }
+ if(input & (1 << RMENU_DEVICE_NAV_START))
+ strlcpy(g_settings.audio.device, "0.0.0.0", sizeof(g_settings.audio.device));
+ break;
#endif
case SETTING_DEFAULT_AUDIO_ALL:
- break;
+ break;
case SETTING_EMU_CURRENT_SAVE_STATE_SLOT:
- if(input & (1 << RMENU_DEVICE_NAV_LEFT))
- rarch_settings_change(S_SAVESTATE_DECREMENT);
- if((input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
- rarch_settings_change(S_SAVESTATE_INCREMENT);
- if(input & (1 << RMENU_DEVICE_NAV_START))
- rarch_settings_default(S_DEF_SAVE_STATE);
- break;
+ if(input & (1 << RMENU_DEVICE_NAV_LEFT))
+ rarch_settings_change(S_SAVESTATE_DECREMENT);
+ if((input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ rarch_settings_change(S_SAVESTATE_INCREMENT);
+ if(input & (1 << RMENU_DEVICE_NAV_START))
+ rarch_settings_default(S_DEF_SAVE_STATE);
+ break;
case SETTING_EMU_SHOW_DEBUG_INFO_MSG:
- if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
- g_extern.console.rmenu.state.msg_fps.enable = !g_extern.console.rmenu.state.msg_fps.enable;
- if(input & (1 << RMENU_DEVICE_NAV_START))
- g_extern.console.rmenu.state.msg_fps.enable = false;
- break;
+ if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ g_extern.console.rmenu.state.msg_fps.enable = !g_extern.console.rmenu.state.msg_fps.enable;
+ if(input & (1 << RMENU_DEVICE_NAV_START))
+ g_extern.console.rmenu.state.msg_fps.enable = false;
+ break;
case SETTING_EMU_SHOW_INFO_MSG:
- if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
- g_extern.console.rmenu.state.msg_info.enable = !g_extern.console.rmenu.state.msg_info.enable;
- if(input & (1 << RMENU_DEVICE_NAV_START))
- g_extern.console.rmenu.state.msg_info.enable = true;
- break;
+ if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ g_extern.console.rmenu.state.msg_info.enable = !g_extern.console.rmenu.state.msg_info.enable;
+ if(input & (1 << RMENU_DEVICE_NAV_START))
+ g_extern.console.rmenu.state.msg_info.enable = true;
+ break;
case SETTING_EMU_REWIND_ENABLED:
- if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
- {
- rarch_settings_change(S_REWIND);
+ if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ {
+ rarch_settings_change(S_REWIND);
- if(g_extern.console.rmenu.state.msg_info.enable)
- rarch_settings_msg(S_MSG_RESTART_RARCH, S_DELAY_180);
- }
- if(input & (1 << RMENU_DEVICE_NAV_START))
- g_settings.rewind_enable = false;
- break;
+ if(g_extern.console.rmenu.state.msg_info.enable)
+ rarch_settings_msg(S_MSG_RESTART_RARCH, S_DELAY_180);
+ }
+ if(input & (1 << RMENU_DEVICE_NAV_START))
+ g_settings.rewind_enable = false;
+ break;
#ifdef HAVE_ZLIB
case SETTING_ZIP_EXTRACT:
- if((input & (1 << RMENU_DEVICE_NAV_LEFT)))
- {
- if(g_extern.file_state.zip_extract_mode > 0)
- g_extern.file_state.zip_extract_mode--;
- }
- if((input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
- {
- if(g_extern.file_state.zip_extract_mode < ZIP_EXTRACT_TO_CACHE_DIR)
- g_extern.file_state.zip_extract_mode++;
- }
- if(input & (1 << RMENU_DEVICE_NAV_START))
- g_extern.file_state.zip_extract_mode = ZIP_EXTRACT_TO_CURRENT_DIR;
- break;
+ if((input & (1 << RMENU_DEVICE_NAV_LEFT)))
+ {
+ if(g_extern.file_state.zip_extract_mode > 0)
+ g_extern.file_state.zip_extract_mode--;
+ }
+ if((input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ {
+ if(g_extern.file_state.zip_extract_mode < ZIP_EXTRACT_TO_CACHE_DIR)
+ g_extern.file_state.zip_extract_mode++;
+ }
+ if(input & (1 << RMENU_DEVICE_NAV_START))
+ g_extern.file_state.zip_extract_mode = ZIP_EXTRACT_TO_CURRENT_DIR;
+ break;
#endif
case SETTING_RARCH_DEFAULT_EMU:
- if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
- {
- menu_stack_push(LIBRETRO_CHOICE);
- filebrowser_set_root_and_ext(&tmpBrowser, EXT_EXECUTABLES, default_paths.core_dir);
- set_libretro_core_as_launch = false;
- }
- if(input & (1 << RMENU_DEVICE_NAV_START))
- {
- }
- break;
+ if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ {
+ menu_stack_push(LIBRETRO_CHOICE);
+ filebrowser_set_root_and_ext(&tmpBrowser, EXT_EXECUTABLES, default_paths.core_dir);
+ set_libretro_core_as_launch = false;
+ }
+ if(input & (1 << RMENU_DEVICE_NAV_START))
+ {
+ }
+ break;
case SETTING_QUIT_RARCH:
- if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)) || (input & (1 << RMENU_DEVICE_NAV_B)))
- {
- rarch_settings_change(S_QUIT_RARCH);
- }
- break;
+ if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ {
+ rarch_settings_change(S_QUIT_RARCH);
+ }
+ break;
case SETTING_EMU_AUDIO_MUTE:
- if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
- rarch_settings_change(S_AUDIO_MUTE);
+ if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ rarch_settings_change(S_AUDIO_MUTE);
- if(input & (1 << RMENU_DEVICE_NAV_START))
- rarch_settings_default(S_DEF_AUDIO_MUTE);
- break;
+ if(input & (1 << RMENU_DEVICE_NAV_START))
+ rarch_settings_default(S_DEF_AUDIO_MUTE);
+ break;
#ifdef _XBOX1
case SETTING_EMU_AUDIO_SOUND_VOLUME_LEVEL:
- if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
- {
- g_extern.console.sound.volume_level = !g_extern.console.sound.volume_level;
- if(g_extern.console.rmenu.state.msg_info.enable)
- rarch_settings_msg(S_MSG_RESTART_RARCH, S_DELAY_180);
- }
+ if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ {
+ g_extern.console.sound.volume_level = !g_extern.console.sound.volume_level;
+ if(g_extern.console.rmenu.state.msg_info.enable)
+ rarch_settings_msg(S_MSG_RESTART_RARCH, S_DELAY_180);
+ }
- if(input & (1 << RMENU_DEVICE_NAV_START))
- {
- g_extern.console.sound.volume_level = 0;
- if(g_extern.console.rmenu.state.msg_info.enable)
- rarch_settings_msg(S_MSG_RESTART_RARCH, S_DELAY_180);
- }
- break;
+ if(input & (1 << RMENU_DEVICE_NAV_START))
+ {
+ g_extern.console.sound.volume_level = 0;
+ if(g_extern.console.rmenu.state.msg_info.enable)
+ rarch_settings_msg(S_MSG_RESTART_RARCH, S_DELAY_180);
+ }
+ break;
#endif
case SETTING_ENABLE_CUSTOM_BGM:
- if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
- {
+ if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ {
#if(CELL_SDK_VERSION > 0x340000)
- g_extern.console.sound.custom_bgm.enable = !g_extern.console.sound.custom_bgm.enable;
- if(g_extern.console.sound.custom_bgm.enable)
- cellSysutilEnableBgmPlayback();
- else
- cellSysutilDisableBgmPlayback();
+ g_extern.console.sound.custom_bgm.enable = !g_extern.console.sound.custom_bgm.enable;
+ if(g_extern.console.sound.custom_bgm.enable)
+ cellSysutilEnableBgmPlayback();
+ else
+ cellSysutilDisableBgmPlayback();
#endif
- }
- if(input & (1 << RMENU_DEVICE_NAV_START))
- {
+ }
+ if(input & (1 << RMENU_DEVICE_NAV_START))
+ {
#if(CELL_SDK_VERSION > 0x340000)
- g_extern.console.sound.custom_bgm.enable = true;
+ g_extern.console.sound.custom_bgm.enable = true;
#endif
- }
- break;
+ }
+ break;
case SETTING_EMU_VIDEO_DEFAULT_ALL:
- break;
+ break;
case SETTING_EMU_AUDIO_DEFAULT_ALL:
- break;
+ break;
case SETTING_PATH_DEFAULT_ROM_DIRECTORY:
- if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
- {
- menu_stack_push(PATH_DEFAULT_ROM_DIR_CHOICE);
- filebrowser_set_root_and_ext(&tmpBrowser, "empty", default_paths.filesystem_root_dir);
- }
+ if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ {
+ menu_stack_push(PATH_DEFAULT_ROM_DIR_CHOICE);
+ filebrowser_set_root_and_ext(&tmpBrowser, "empty", default_paths.filesystem_root_dir);
+ }
- if(input & (1 << RMENU_DEVICE_NAV_START))
- strlcpy(g_extern.console.main_wrap.paths.default_rom_startup_dir, default_paths.filesystem_root_dir, sizeof(g_extern.console.main_wrap.paths.default_rom_startup_dir));
- break;
+ if(input & (1 << RMENU_DEVICE_NAV_START))
+ strlcpy(g_extern.console.main_wrap.paths.default_rom_startup_dir, default_paths.filesystem_root_dir, sizeof(g_extern.console.main_wrap.paths.default_rom_startup_dir));
+ break;
case SETTING_PATH_SAVESTATES_DIRECTORY:
- if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
- {
- menu_stack_push(PATH_SAVESTATES_DIR_CHOICE);
- filebrowser_set_root_and_ext(&tmpBrowser, "empty", default_paths.filesystem_root_dir);
- }
+ if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ {
+ menu_stack_push(PATH_SAVESTATES_DIR_CHOICE);
+ filebrowser_set_root_and_ext(&tmpBrowser, "empty", default_paths.filesystem_root_dir);
+ }
- if(input & (1 << RMENU_DEVICE_NAV_START))
- strlcpy(g_extern.console.main_wrap.paths.default_savestate_dir, default_paths.savestate_dir, sizeof(g_extern.console.main_wrap.paths.default_savestate_dir));
+ if(input & (1 << RMENU_DEVICE_NAV_START))
+ strlcpy(g_extern.console.main_wrap.paths.default_savestate_dir, default_paths.savestate_dir, sizeof(g_extern.console.main_wrap.paths.default_savestate_dir));
- break;
+ break;
case SETTING_PATH_SRAM_DIRECTORY:
- if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
- {
- menu_stack_push(PATH_SRAM_DIR_CHOICE);
- filebrowser_set_root_and_ext(&tmpBrowser, "empty", default_paths.filesystem_root_dir);
- }
+ if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ {
+ menu_stack_push(PATH_SRAM_DIR_CHOICE);
+ filebrowser_set_root_and_ext(&tmpBrowser, "empty", default_paths.filesystem_root_dir);
+ }
- if(input & (1 << RMENU_DEVICE_NAV_START))
- strlcpy(g_extern.console.main_wrap.paths.default_sram_dir, default_paths.sram_dir, sizeof(g_extern.console.main_wrap.paths.default_sram_dir));
- break;
+ if(input & (1 << RMENU_DEVICE_NAV_START))
+ strlcpy(g_extern.console.main_wrap.paths.default_sram_dir, default_paths.sram_dir, sizeof(g_extern.console.main_wrap.paths.default_sram_dir));
+ break;
#ifdef HAVE_XML
case SETTING_PATH_CHEATS:
- if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
- {
- menu_stack_push(PATH_CHEATS_DIR_CHOICE);
- filebrowser_set_root_and_ext(&tmpBrowser, "empty", default_paths.filesystem_root_dir);
- }
+ if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ {
+ menu_stack_push(PATH_CHEATS_DIR_CHOICE);
+ filebrowser_set_root_and_ext(&tmpBrowser, "empty", default_paths.filesystem_root_dir);
+ }
- if(input & (1 << RMENU_DEVICE_NAV_START))
- strlcpy(g_settings.cheat_database, default_paths.port_dir, sizeof(g_settings.cheat_database));
- break;
+ if(input & (1 << RMENU_DEVICE_NAV_START))
+ strlcpy(g_settings.cheat_database, default_paths.port_dir, sizeof(g_settings.cheat_database));
+ break;
#endif
case SETTING_PATH_SYSTEM:
- if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
- {
- menu_stack_push(PATH_SYSTEM_DIR_CHOICE);
- filebrowser_set_root_and_ext(&tmpBrowser, "empty", default_paths.system_dir);
- }
+ if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ {
+ menu_stack_push(PATH_SYSTEM_DIR_CHOICE);
+ filebrowser_set_root_and_ext(&tmpBrowser, "empty", default_paths.system_dir);
+ }
- if(input & (1 << RMENU_DEVICE_NAV_START))
- strlcpy(g_settings.system_directory, default_paths.system_dir, sizeof(g_settings.system_directory));
- break;
+ if(input & (1 << RMENU_DEVICE_NAV_START))
+ strlcpy(g_settings.system_directory, default_paths.system_dir, sizeof(g_settings.system_directory));
+ break;
case SETTING_ENABLE_SRAM_PATH:
- if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)))
- g_extern.console.main_wrap.state.default_sram_dir.enable = !g_extern.console.main_wrap.state.default_sram_dir.enable;
- if(input & (1 << RMENU_DEVICE_NAV_START))
- g_extern.console.main_wrap.state.default_sram_dir.enable = true;
- break;
+ if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)))
+ g_extern.console.main_wrap.state.default_sram_dir.enable = !g_extern.console.main_wrap.state.default_sram_dir.enable;
+ if(input & (1 << RMENU_DEVICE_NAV_START))
+ g_extern.console.main_wrap.state.default_sram_dir.enable = true;
+ break;
case SETTING_ENABLE_STATE_PATH:
- if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)))
- g_extern.console.main_wrap.state.default_savestate_dir.enable = !g_extern.console.main_wrap.state.default_savestate_dir.enable;
- if(input & (1 << RMENU_DEVICE_NAV_START))
- g_extern.console.main_wrap.state.default_savestate_dir.enable = true;
- break;
+ if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)))
+ g_extern.console.main_wrap.state.default_savestate_dir.enable = !g_extern.console.main_wrap.state.default_savestate_dir.enable;
+ if(input & (1 << RMENU_DEVICE_NAV_START))
+ g_extern.console.main_wrap.state.default_savestate_dir.enable = true;
+ break;
case SETTING_PATH_DEFAULT_ALL:
- if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)) || (input & (1 << RMENU_DEVICE_NAV_START)))
- {
- strlcpy(g_extern.console.main_wrap.paths.default_rom_startup_dir, "/", sizeof(g_extern.console.main_wrap.paths.default_rom_startup_dir));
- strlcpy(g_extern.console.main_wrap.paths.default_savestate_dir, default_paths.port_dir, sizeof(g_extern.console.main_wrap.paths.default_savestate_dir));
+ if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)) || (input & (1 << RMENU_DEVICE_NAV_START)))
+ {
+ strlcpy(g_extern.console.main_wrap.paths.default_rom_startup_dir, "/", sizeof(g_extern.console.main_wrap.paths.default_rom_startup_dir));
+ strlcpy(g_extern.console.main_wrap.paths.default_savestate_dir, default_paths.port_dir, sizeof(g_extern.console.main_wrap.paths.default_savestate_dir));
#ifdef HAVE_XML
- strlcpy(g_settings.cheat_database, default_paths.port_dir, sizeof(g_settings.cheat_database));
+ strlcpy(g_settings.cheat_database, default_paths.port_dir, sizeof(g_settings.cheat_database));
#endif
- strlcpy(g_extern.console.main_wrap.paths.default_sram_dir, "", sizeof(g_extern.console.main_wrap.paths.default_sram_dir));
- }
- break;
+ strlcpy(g_extern.console.main_wrap.paths.default_sram_dir, "", sizeof(g_extern.console.main_wrap.paths.default_sram_dir));
+ }
+ break;
case SETTING_CONTROLS_SCHEME:
- if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)) || (input & (1 << RMENU_DEVICE_NAV_START)))
- {
- menu_stack_push(INPUT_PRESET_CHOICE);
- filebrowser_set_root_and_ext(&tmpBrowser, EXT_INPUT_PRESETS, default_paths.input_presets_dir);
- }
- break;
+ if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)) || (input & (1 << RMENU_DEVICE_NAV_START)))
+ {
+ menu_stack_push(INPUT_PRESET_CHOICE);
+ filebrowser_set_root_and_ext(&tmpBrowser, EXT_INPUT_PRESETS, default_paths.input_presets_dir);
+ }
+ break;
case SETTING_CONTROLS_NUMBER:
- if(input & (1 << RMENU_DEVICE_NAV_LEFT))
- {
- if(currently_selected_controller_menu != 0)
- currently_selected_controller_menu--;
- }
+ if(input & (1 << RMENU_DEVICE_NAV_LEFT))
+ {
+ if(currently_selected_controller_menu != 0)
+ currently_selected_controller_menu--;
+ }
- if((input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
- {
- if (currently_selected_controller_menu < 6)
- currently_selected_controller_menu++;
- }
+ if((input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ {
+ if (currently_selected_controller_menu < 6)
+ currently_selected_controller_menu++;
+ }
- if(input & (1 << RMENU_DEVICE_NAV_START))
- currently_selected_controller_menu = 0;
- break;
+ if(input & (1 << RMENU_DEVICE_NAV_START))
+ currently_selected_controller_menu = 0;
+ break;
case SETTING_DPAD_EMULATION:
- if(input & (1 << RMENU_DEVICE_NAV_LEFT))
- {
- switch(g_settings.input.dpad_emulation[currently_selected_controller_menu])
- {
- case DPAD_EMULATION_NONE:
- break;
- case DPAD_EMULATION_LSTICK:
- input_ptr.set_analog_dpad_mapping(0, DPAD_EMULATION_NONE, currently_selected_controller_menu);
- break;
- case DPAD_EMULATION_RSTICK:
- input_ptr.set_analog_dpad_mapping(0, DPAD_EMULATION_LSTICK, currently_selected_controller_menu);
- break;
- }
- }
+ if(input & (1 << RMENU_DEVICE_NAV_LEFT))
+ {
+ switch(g_settings.input.dpad_emulation[currently_selected_controller_menu])
+ {
+ case DPAD_EMULATION_NONE:
+ break;
+ case DPAD_EMULATION_LSTICK:
+ input_ptr.set_analog_dpad_mapping(0, DPAD_EMULATION_NONE, currently_selected_controller_menu);
+ break;
+ case DPAD_EMULATION_RSTICK:
+ input_ptr.set_analog_dpad_mapping(0, DPAD_EMULATION_LSTICK, currently_selected_controller_menu);
+ break;
+ }
+ }
- if((input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
- {
- switch(g_settings.input.dpad_emulation[currently_selected_controller_menu])
- {
- case DPAD_EMULATION_NONE:
- input_ptr.set_analog_dpad_mapping(0, DPAD_EMULATION_LSTICK, currently_selected_controller_menu);
- break;
- case DPAD_EMULATION_LSTICK:
- input_ptr.set_analog_dpad_mapping(0, DPAD_EMULATION_RSTICK, currently_selected_controller_menu);
- break;
- case DPAD_EMULATION_RSTICK:
- break;
- }
- }
+ if((input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ {
+ switch(g_settings.input.dpad_emulation[currently_selected_controller_menu])
+ {
+ case DPAD_EMULATION_NONE:
+ input_ptr.set_analog_dpad_mapping(0, DPAD_EMULATION_LSTICK, currently_selected_controller_menu);
+ break;
+ case DPAD_EMULATION_LSTICK:
+ input_ptr.set_analog_dpad_mapping(0, DPAD_EMULATION_RSTICK, currently_selected_controller_menu);
+ break;
+ case DPAD_EMULATION_RSTICK:
+ break;
+ }
+ }
- if(input & (1 << RMENU_DEVICE_NAV_START))
- input_ptr.set_analog_dpad_mapping(0, DPAD_EMULATION_LSTICK, currently_selected_controller_menu);
- break;
+ if(input & (1 << RMENU_DEVICE_NAV_START))
+ input_ptr.set_analog_dpad_mapping(0, DPAD_EMULATION_LSTICK, currently_selected_controller_menu);
+ break;
case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_UP:
- set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_UP, input);
- break;
+ set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_UP, input);
+ break;
case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_DOWN:
- set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_DOWN, input);
- break;
+ set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_DOWN, input);
+ break;
case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_LEFT:
- set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_LEFT, input);
- break;
+ set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_LEFT, input);
+ break;
case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_RIGHT:
- set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_RIGHT, input);
- break;
+ set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_RIGHT, input);
+ break;
case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_A:
- set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_A, input);
- break;
+ set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_A, input);
+ break;
case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_B:
- set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_B, input);
- break;
+ set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_B, input);
+ break;
case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_X:
- set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_X, input);
- break;
+ set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_X, input);
+ break;
case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_Y:
- set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_Y, input);
- break;
+ set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_Y, input);
+ break;
case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_SELECT:
- set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_SELECT, input);
- break;
+ set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_SELECT, input);
+ break;
case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_START:
- set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_START, input);
- break;
+ set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_START, input);
+ break;
case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_L:
- set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_L, input);
- break;
+ set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_L, input);
+ break;
case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_R:
- set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_R, input);
- break;
+ set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_R, input);
+ break;
case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_L2:
- set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_L2, input);
- break;
+ set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_L2, input);
+ break;
case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_R2:
- set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_R2, input);
- break;
+ set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_R2, input);
+ break;
case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_L3:
- set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_L3, input);
- break;
+ set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_L3, input);
+ break;
case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_R3:
- set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_R3, input);
- break;
+ set_keybind_digital(RETRO_DEVICE_ID_JOYPAD_R3, input);
+ break;
#ifdef __CELLOS_LV2__
case SETTING_CONTROLS_SAVE_CUSTOM_CONTROLS:
- if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)) || (input & (1 << RMENU_DEVICE_NAV_START)))
- rarch_filename_input_and_save(INPUT_PRESET_FILE);
- break;
+ if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)) || (input & (1 << RMENU_DEVICE_NAV_START)))
+ rarch_filename_input_and_save(INPUT_PRESET_FILE);
+ break;
#endif
case SETTING_CONTROLS_DEFAULT_ALL:
- if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)) || (input & (1 << RMENU_DEVICE_NAV_START)))
- rarch_input_set_default_keybinds(currently_selected_controller_menu);
- break;
+ if((input & (1 << RMENU_DEVICE_NAV_LEFT)) || (input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)) || (input & (1 << RMENU_DEVICE_NAV_START)))
+ rarch_input_set_default_keybinds(currently_selected_controller_menu);
+ break;
}
}
@@ -1552,7 +1569,7 @@ static void settings_iterate(menu *current_menu, item *items, settings_action_t
{
case SETTINGS_ACTION_DOWN:
current_menu->selected++;
-
+
if (current_menu->selected >= current_menu->max_settings)
current_menu->selected = current_menu->first_setting;
if (items[current_menu->selected].page != current_menu->page)
@@ -1563,7 +1580,7 @@ static void settings_iterate(menu *current_menu, item *items, settings_action_t
current_menu->selected = current_menu->max_settings-1;
else
current_menu->selected--;
-
+
if (items[current_menu->selected].page != current_menu->page)
current_menu->page = items[current_menu->selected].page;
break;
@@ -1593,13 +1610,14 @@ static void settings_iterate(menu *current_menu, item *items, settings_action_t
static void select_setting(menu *current_menu, uint64_t input)
{
+ DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data;
item *items = (item*)malloc(current_menu->max_settings * sizeof(*items));
unsigned i;
char msg[256];
rmenu_default_positions_t default_pos;
- context->set_default_pos(&default_pos);
+ device_ptr->ctx_driver->rmenu_set_default_pos(&default_pos);
unsigned j = 0;
int page = 0;
@@ -1642,17 +1660,17 @@ static void select_setting(menu *current_menu, uint64_t input)
if(items[i].page == current_menu->page)
{
default_pos.starting_y_position += default_pos.y_position_increment;
- context->render_msg(default_pos.x_position, default_pos.starting_y_position, default_pos.variable_font_size, current_menu->selected == items[i].enum_id ? YELLOW : WHITE, items[i].text);
- context->render_msg(default_pos.x_position_center, default_pos.starting_y_position, default_pos.variable_font_size, WHITE, items[i].setting_text);
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, default_pos.starting_y_position, default_pos.variable_font_size, current_menu->selected == items[i].enum_id ? YELLOW : WHITE, items[i].text);
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position_center, default_pos.starting_y_position, default_pos.variable_font_size, WHITE, items[i].setting_text);
if(current_menu->selected == items[i].enum_id)
{
- rmenu_position_t position = {0};
+ rarch_position_t position = {0};
position.x = default_pos.x_position;
position.y = default_pos.starting_y_position;
- context->render_selection_panel(&position);
- context->render_msg(default_pos.x_position, default_pos.comment_y_position, default_pos.font_size, WHITE, items[i].comment);
+ device_ptr->ctx_driver->rmenu_draw_panel(&position);
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, default_pos.comment_y_position, default_pos.font_size, WHITE, items[i].comment);
}
}
}
@@ -1660,20 +1678,21 @@ static void select_setting(menu *current_menu, uint64_t input)
free(items);
snprintf(msg, sizeof(msg), "[%s] + [%s] - Resume game", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_L3), rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_R3));
- context->render_msg(default_pos.x_position, default_pos.comment_two_y_position, default_pos.font_size, YELLOW, msg);
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, default_pos.comment_two_y_position, default_pos.font_size, YELLOW, msg);
snprintf(msg, sizeof(msg), "[%s] - Reset to default", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_START));
- context->render_msg(default_pos.x_position, default_pos.comment_two_y_position + (default_pos.y_position_increment * 1), default_pos.font_size, YELLOW, msg);
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, default_pos.comment_two_y_position + (default_pos.y_position_increment * 1), default_pos.font_size, YELLOW, msg);
}
static void menu_romselect_iterate(filebrowser_t *filebrowser, menu_romselect_action_t action)
{
+ DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data;
bool ret = true;
switch(action)
{
case MENU_DRIVE_MAPPING_PREV:
{
- const char * drive_map = context->drive_mapping_prev();
+ const char * drive_map = device_ptr->ctx_driver->drive_mapping_previous();
if(drive_map != NULL)
{
filebrowser_set_root_and_ext(filebrowser, rarch_console_get_rom_ext(), drive_map);
@@ -1683,7 +1702,7 @@ static void menu_romselect_iterate(filebrowser_t *filebrowser, menu_romselect_ac
break;
case MENU_DRIVE_MAPPING_NEXT:
{
- const char * drive_map = context->drive_mapping_next();
+ const char * drive_map = device_ptr->ctx_driver->drive_mapping_next();
if(drive_map != NULL)
{
filebrowser_set_root_and_ext(filebrowser, rarch_console_get_rom_ext(), drive_map);
@@ -1694,7 +1713,7 @@ static void menu_romselect_iterate(filebrowser_t *filebrowser, menu_romselect_ac
case MENU_ROMSELECT_ACTION_OK:
if(filebrowser_get_current_path_isdir(filebrowser))
ret = filebrowser_iterate(filebrowser, FILEBROWSER_ACTION_OK);
- else
+ else
rarch_console_load_game_wrap(filebrowser_get_current_path(filebrowser), g_extern.file_state.zip_extract_mode, S_DELAY_45);
break;
case MENU_ROMSELECT_ACTION_GOTO_SETTINGS:
@@ -1711,10 +1730,11 @@ static void menu_romselect_iterate(filebrowser_t *filebrowser, menu_romselect_ac
static void select_rom(menu *current_menu, uint64_t input)
{
+ DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data;
char msg[128];
rmenu_default_positions_t default_pos;
- context->set_default_pos(&default_pos);
+ device_ptr->ctx_driver->rmenu_set_default_pos(&default_pos);
browser_update(&browser, input, rarch_console_get_rom_ext());
@@ -1743,15 +1763,15 @@ static void select_rom(menu *current_menu, uint64_t input)
else
snprintf(msg, sizeof(msg), "INFO - Press [%s] to load the game.", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_B));
- context->render_msg(default_pos.x_position, default_pos.comment_y_position, default_pos.font_size, WHITE, msg);
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, default_pos.comment_y_position, default_pos.font_size, WHITE, msg);
display_menubar(current_menu);
snprintf(msg, sizeof(msg), "[%s] + [%s] - resume game", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_L3), rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_R3));
- context->render_msg(default_pos.x_position, default_pos.comment_two_y_position, default_pos.font_size, YELLOW, msg);
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, default_pos.comment_two_y_position, default_pos.font_size, YELLOW, msg);
snprintf(msg, sizeof(msg), "[%s] - Settings", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_SELECT));
- context->render_msg(default_pos.x_position, default_pos.comment_two_y_position + (default_pos.y_position_increment * 1), default_pos.font_size, YELLOW, msg);
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, default_pos.comment_two_y_position + (default_pos.y_position_increment * 1), default_pos.font_size, YELLOW, msg);
}
static bool show_menu_screen = true;
@@ -1761,10 +1781,10 @@ static void ingame_menu_resize(menu *current_menu, uint64_t input)
DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data;
rmenu_default_positions_t default_pos;
- context->set_default_pos(&default_pos);
+ device_ptr->ctx_driver->rmenu_set_default_pos(&default_pos);
g_settings.video.aspect_ratio_idx = ASPECT_RATIO_CUSTOM;
- context->set_aspect_ratio(g_settings.video.aspect_ratio_idx);
+ driver.video->set_aspect_ratio(driver.video_data, g_settings.video.aspect_ratio_idx);
if(input & (1 << RMENU_DEVICE_NAV_LEFT_ANALOG_L))
{
@@ -1856,65 +1876,66 @@ static void ingame_menu_resize(menu *current_menu, uint64_t input)
snprintf(viewport_w, sizeof(viewport_w), "Viewport W: #%d", g_extern.console.screen.viewports.custom_vp.width);
snprintf(viewport_h, sizeof(viewport_h), "Viewport H: #%d", g_extern.console.screen.viewports.custom_vp.height);
- context->render_msg(default_pos.x_position, default_pos.y_position, default_pos.font_size, GREEN, viewport_x);
- context->render_msg(default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*1), default_pos.font_size, GREEN, viewport_y);
- context->render_msg(default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*2), default_pos.font_size, GREEN, viewport_w);
- context->render_msg(default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*3), default_pos.font_size, GREEN, viewport_h);
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, default_pos.y_position, default_pos.font_size, GREEN, viewport_x);
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*1), default_pos.font_size, GREEN, viewport_y);
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*2), default_pos.font_size, GREEN, viewport_w);
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*3), default_pos.font_size, GREEN, viewport_h);
- context->render_msg(default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*4), default_pos.font_size, WHITE, "CONTROLS:");
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*4), default_pos.font_size, WHITE, "CONTROLS:");
snprintf(msg, sizeof(msg), "[%s] or [%s]", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_LEFT), rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_ANALOG_LEFT_DPAD_LEFT));
- context->render_msg (default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*5), default_pos.font_size, WHITE, msg);
- context->render_msg (default_pos.x_position_center, default_pos.y_position+(default_pos.y_position_increment*5), default_pos.font_size, WHITE, "- Viewport X --");
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*5), default_pos.font_size, WHITE, msg);
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position_center, default_pos.y_position+(default_pos.y_position_increment*5), default_pos.font_size, WHITE, "- Viewport X --");
snprintf(msg, sizeof(msg), "[%s] or [%s]", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_RIGHT), rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_ANALOG_LEFT_DPAD_RIGHT));
- context->render_msg (default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*6), default_pos.font_size, WHITE, msg);
- context->render_msg (default_pos.x_position_center, default_pos.y_position+(default_pos.y_position_increment*6), default_pos.font_size, WHITE, "- Viewport X ++");
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*6), default_pos.font_size, WHITE, msg);
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position_center, default_pos.y_position+(default_pos.y_position_increment*6), default_pos.font_size, WHITE, "- Viewport X ++");
snprintf(msg, sizeof(msg), "[%s] or [%s]", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_UP), rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_ANALOG_LEFT_DPAD_UP));
- context->render_msg (default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*7), default_pos.font_size, WHITE, msg);
- context->render_msg (default_pos.x_position_center, default_pos.y_position+(default_pos.y_position_increment*7), default_pos.font_size, WHITE, "- Viewport Y ++");
+ device_ptr->ctx_driver->rmenu_render_msg (default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*7), default_pos.font_size, WHITE, msg);
+ device_ptr->ctx_driver->rmenu_render_msg (default_pos.x_position_center, default_pos.y_position+(default_pos.y_position_increment*7), default_pos.font_size, WHITE, "- Viewport Y ++");
snprintf(msg, sizeof(msg), "[%s] or [%s]", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_DOWN), rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_ANALOG_LEFT_DPAD_DOWN));
- context->render_msg (default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*8), default_pos.font_size, WHITE, msg);
- context->render_msg (default_pos.x_position_center, default_pos.y_position+(default_pos.y_position_increment*8), default_pos.font_size, WHITE, "- Viewport Y --");
+ device_ptr->ctx_driver->rmenu_render_msg (default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*8), default_pos.font_size, WHITE, msg);
+ device_ptr->ctx_driver->rmenu_render_msg (default_pos.x_position_center, default_pos.y_position+(default_pos.y_position_increment*8), default_pos.font_size, WHITE, "- Viewport Y --");
snprintf(msg, sizeof(msg), "[%s] or [%s]", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_L), rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_ANALOG_RIGHT_DPAD_LEFT));
- context->render_msg (default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*9), default_pos.font_size, WHITE, msg);
- context->render_msg (default_pos.x_position_center, default_pos.y_position+(default_pos.y_position_increment*9), default_pos.font_size, WHITE, "- Viewport W --");
+ device_ptr->ctx_driver->rmenu_render_msg (default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*9), default_pos.font_size, WHITE, msg);
+ device_ptr->ctx_driver->rmenu_render_msg (default_pos.x_position_center, default_pos.y_position+(default_pos.y_position_increment*9), default_pos.font_size, WHITE, "- Viewport W --");
snprintf(msg, sizeof(msg), "[%s] or [%s]", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_R), rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_ANALOG_RIGHT_DPAD_RIGHT));
- context->render_msg (default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*10), default_pos.font_size, WHITE, msg);
- context->render_msg (default_pos.x_position_center, default_pos.y_position+(default_pos.y_position_increment*10), default_pos.font_size, WHITE, "- Viewport W ++");
+ device_ptr->ctx_driver->rmenu_render_msg (default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*10), default_pos.font_size, WHITE, msg);
+ device_ptr->ctx_driver->rmenu_render_msg (default_pos.x_position_center, default_pos.y_position+(default_pos.y_position_increment*10), default_pos.font_size, WHITE, "- Viewport W ++");
snprintf(msg, sizeof(msg), "[%s] or [%s]", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_L2), rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_ANALOG_RIGHT_DPAD_UP));
- context->render_msg (default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*11), default_pos.font_size, WHITE, msg);
- context->render_msg (default_pos.x_position_center, default_pos.y_position+(default_pos.y_position_increment*11), default_pos.font_size, WHITE, "- Viewport H ++");
+ device_ptr->ctx_driver->rmenu_render_msg (default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*11), default_pos.font_size, WHITE, msg);
+ device_ptr->ctx_driver->rmenu_render_msg (default_pos.x_position_center, default_pos.y_position+(default_pos.y_position_increment*11), default_pos.font_size, WHITE, "- Viewport H ++");
snprintf(msg, sizeof(msg), "[%s] or [%s]", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_R2), rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_ANALOG_RIGHT_DPAD_DOWN));
- context->render_msg (default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*12), default_pos.font_size, WHITE, msg);
- context->render_msg (default_pos.x_position_center, default_pos.y_position+(default_pos.y_position_increment*12), default_pos.font_size, WHITE, "- Viewport H --");
+ device_ptr->ctx_driver->rmenu_render_msg (default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*12), default_pos.font_size, WHITE, msg);
+ device_ptr->ctx_driver->rmenu_render_msg (default_pos.x_position_center, default_pos.y_position+(default_pos.y_position_increment*12), default_pos.font_size, WHITE, "- Viewport H --");
snprintf(msg, sizeof(msg), "[%s]", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_X));
- context->render_msg (default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*13), default_pos.font_size, WHITE, msg);
- context->render_msg (default_pos.x_position_center, default_pos.y_position+(default_pos.y_position_increment*13), default_pos.font_size, WHITE, "- Reset To Defaults");
+ device_ptr->ctx_driver->rmenu_render_msg (default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*13), default_pos.font_size, WHITE, msg);
+ device_ptr->ctx_driver->rmenu_render_msg (default_pos.x_position_center, default_pos.y_position+(default_pos.y_position_increment*13), default_pos.font_size, WHITE, "- Reset To Defaults");
snprintf(msg, sizeof(msg), "[%s]", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_Y));
- context->render_msg (default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*14), default_pos.font_size, WHITE, msg);
- context->render_msg (default_pos.x_position_center, default_pos.y_position+(default_pos.y_position_increment*14), default_pos.font_size, WHITE, "- Show Game");
+ device_ptr->ctx_driver->rmenu_render_msg (default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*14), default_pos.font_size, WHITE, msg);
+ device_ptr->ctx_driver->rmenu_render_msg (default_pos.x_position_center, default_pos.y_position+(default_pos.y_position_increment*14), default_pos.font_size, WHITE, "- Show Game");
snprintf(msg, sizeof(msg), "[%s]", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_A));
- context->render_msg (default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*15), default_pos.font_size, WHITE, msg);
- context->render_msg (default_pos.x_position_center, default_pos.y_position+(default_pos.y_position_increment*15), default_pos.font_size, WHITE, "- Go back");
+ device_ptr->ctx_driver->rmenu_render_msg (default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*15), default_pos.font_size, WHITE, msg);
+ device_ptr->ctx_driver->rmenu_render_msg (default_pos.x_position_center, default_pos.y_position+(default_pos.y_position_increment*15), default_pos.font_size, WHITE, "- Go back");
snprintf(msg, sizeof(msg), "Press [%s] to reset to defaults.", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_X));
- context->render_msg (default_pos.x_position, default_pos.comment_y_position, default_pos.font_size, WHITE, msg);
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, default_pos.comment_y_position, default_pos.font_size, WHITE, msg);
}
}
static void ingame_menu_screenshot(menu *current_menu, uint64_t input)
{
+ DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data;
(void)current_menu;
if(g_extern.console.rmenu.state.ingame_menu.enable)
@@ -1922,11 +1943,11 @@ static void ingame_menu_screenshot(menu *current_menu, uint64_t input)
if(input & (1 << RMENU_DEVICE_NAV_A))
{
menu_stack_pop();
- context->render_menu_enable(true);
+ device_ptr->ctx_driver->rmenu_enable(true);
}
if(input & (1 << RMENU_DEVICE_NAV_B))
- context->screenshot_dump(NULL);
+ device_ptr->ctx_driver->rmenu_screenshot_dump(NULL);
}
}
@@ -1934,11 +1955,12 @@ static void ingame_menu_screenshot(menu *current_menu, uint64_t input)
static void ingame_menu(menu *current_menu, uint64_t input)
{
+ DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data;
char comment[256], strw_buffer[256];
unsigned menuitem_colors[MENU_ITEM_LAST];
rmenu_default_positions_t default_pos;
- context->set_default_pos(&default_pos);
+ device_ptr->ctx_driver->rmenu_set_default_pos(&default_pos);
for(int i = 0; i < MENU_ITEM_LAST; i++)
menuitem_colors[i] = WHITE;
@@ -1948,136 +1970,136 @@ static void ingame_menu(menu *current_menu, uint64_t input)
if(input & (1 << RMENU_DEVICE_NAV_A))
rarch_settings_change(S_RETURN_TO_GAME);
- switch(g_extern.console.rmenu.ingame_menu.idx)
- {
- case MENU_ITEM_LOAD_STATE:
- if(input & (1 << RMENU_DEVICE_NAV_B))
- {
- rarch_load_state();
- rarch_settings_change(S_RETURN_TO_GAME);
- }
- if(input & (1 << RMENU_DEVICE_NAV_LEFT))
- rarch_state_slot_decrease();
- if(input & (1 << RMENU_DEVICE_NAV_RIGHT))
- rarch_state_slot_increase();
-
- snprintf(comment, sizeof(comment), "Press [%s] to load the current state.", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_B));
- break;
- case MENU_ITEM_SAVE_STATE:
- if(input & (1 << RMENU_DEVICE_NAV_B))
- {
- rarch_save_state();
- rarch_settings_change(S_RETURN_TO_GAME);
- }
-
- if(input & (1 << RMENU_DEVICE_NAV_LEFT))
- rarch_state_slot_decrease();
- if(input & (1 << RMENU_DEVICE_NAV_RIGHT))
- rarch_state_slot_increase();
-
- snprintf(comment, sizeof(comment), "Press [%s] to save the current state.", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_B));
- break;
- case MENU_ITEM_KEEP_ASPECT_RATIO:
- set_setting_action(current_menu, SETTING_KEEP_ASPECT_RATIO, input);
- snprintf(comment, sizeof(comment), "Press [%s] to reset back to default values.", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_START));
- break;
- case MENU_ITEM_OVERSCAN_AMOUNT:
- set_setting_action(current_menu, SETTING_HW_OVERSCAN_AMOUNT, input);
- snprintf(comment, sizeof(comment), "Press [%s] to reset back to default values.", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_START));
- break;
- case MENU_ITEM_ORIENTATION:
- if(input & (1 << RMENU_DEVICE_NAV_LEFT))
- {
- rarch_settings_change(S_ROTATION_DECREMENT);
- video_ptr.set_rotation(NULL, g_extern.console.screen.orientation);
- }
-
- if((input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
- {
- rarch_settings_change(S_ROTATION_INCREMENT);
- video_ptr.set_rotation(NULL, g_extern.console.screen.orientation);
- }
-
- if(input & (1 << RMENU_DEVICE_NAV_START))
- {
- rarch_settings_default(S_DEF_ROTATION);
- video_ptr.set_rotation(NULL, g_extern.console.screen.orientation);
- }
- snprintf(comment, sizeof(comment), "Press [%s] to reset back to default values.", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_START));
- break;
+ switch(g_extern.console.rmenu.ingame_menu.idx)
+ {
+ case MENU_ITEM_LOAD_STATE:
+ if(input & (1 << RMENU_DEVICE_NAV_B))
+ {
+ rarch_load_state();
+ rarch_settings_change(S_RETURN_TO_GAME);
+ }
+ if(input & (1 << RMENU_DEVICE_NAV_LEFT))
+ rarch_state_slot_decrease();
+ if(input & (1 << RMENU_DEVICE_NAV_RIGHT))
+ rarch_state_slot_increase();
+
+ snprintf(comment, sizeof(comment), "Press [%s] to load the current state.", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_B));
+ break;
+ case MENU_ITEM_SAVE_STATE:
+ if(input & (1 << RMENU_DEVICE_NAV_B))
+ {
+ rarch_save_state();
+ rarch_settings_change(S_RETURN_TO_GAME);
+ }
+
+ if(input & (1 << RMENU_DEVICE_NAV_LEFT))
+ rarch_state_slot_decrease();
+ if(input & (1 << RMENU_DEVICE_NAV_RIGHT))
+ rarch_state_slot_increase();
+
+ snprintf(comment, sizeof(comment), "Press [%s] to save the current state.", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_B));
+ break;
+ case MENU_ITEM_KEEP_ASPECT_RATIO:
+ set_setting_action(current_menu, SETTING_KEEP_ASPECT_RATIO, input);
+ snprintf(comment, sizeof(comment), "Press [%s] to reset back to default values.", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_START));
+ break;
+ case MENU_ITEM_OVERSCAN_AMOUNT:
+ set_setting_action(current_menu, SETTING_HW_OVERSCAN_AMOUNT, input);
+ snprintf(comment, sizeof(comment), "Press [%s] to reset back to default values.", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_START));
+ break;
+ case MENU_ITEM_ORIENTATION:
+ if(input & (1 << RMENU_DEVICE_NAV_LEFT))
+ {
+ rarch_settings_change(S_ROTATION_DECREMENT);
+ video_ptr.set_rotation(NULL, g_extern.console.screen.orientation);
+ }
+
+ if((input & (1 << RMENU_DEVICE_NAV_RIGHT)) || (input & (1 << RMENU_DEVICE_NAV_B)))
+ {
+ rarch_settings_change(S_ROTATION_INCREMENT);
+ video_ptr.set_rotation(NULL, g_extern.console.screen.orientation);
+ }
+
+ if(input & (1 << RMENU_DEVICE_NAV_START))
+ {
+ rarch_settings_default(S_DEF_ROTATION);
+ video_ptr.set_rotation(NULL, g_extern.console.screen.orientation);
+ }
+ snprintf(comment, sizeof(comment), "Press [%s] to reset back to default values.", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_START));
+ break;
#ifdef HAVE_FBO
- case MENU_ITEM_SCALE_FACTOR:
- set_setting_action(current_menu, SETTING_SCALE_FACTOR, input);
- snprintf(comment, sizeof(comment), "Press [%s] to reset back to default values.", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_START));
- break;
+ case MENU_ITEM_SCALE_FACTOR:
+ set_setting_action(current_menu, SETTING_SCALE_FACTOR, input);
+ snprintf(comment, sizeof(comment), "Press [%s] to reset back to default values.", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_START));
+ break;
#endif
- case MENU_ITEM_FRAME_ADVANCE:
- if((input & (1 << RMENU_DEVICE_NAV_B)) || (input & (1 << RMENU_DEVICE_NAV_R2)) || (input & (1 << RMENU_DEVICE_NAV_L2)))
- {
- rarch_settings_change(S_FRAME_ADVANCE);
- g_extern.console.rmenu.ingame_menu.idx = MENU_ITEM_FRAME_ADVANCE;
- }
- snprintf(comment, sizeof(comment), "Press [%s] to step one frame.", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_B));
- break;
- case MENU_ITEM_RESIZE_MODE:
- if(input & (1 << RMENU_DEVICE_NAV_B))
- menu_stack_push(INGAME_MENU_RESIZE);
- snprintf(comment, sizeof(comment), "Allows you to resize the screen.");
- break;
- case MENU_ITEM_SCREENSHOT_MODE:
- if(input & (1 << RMENU_DEVICE_NAV_B))
- menu_stack_push(INGAME_MENU_SCREENSHOT);
- snprintf(comment, sizeof(comment), "Press [%s] to go back to the in-game menu.", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_A));
- break;
- case MENU_ITEM_RETURN_TO_GAME:
- if(input & (1 << RMENU_DEVICE_NAV_B))
- rarch_settings_change(S_RETURN_TO_GAME);
+ case MENU_ITEM_FRAME_ADVANCE:
+ if((input & (1 << RMENU_DEVICE_NAV_B)) || (input & (1 << RMENU_DEVICE_NAV_R2)) || (input & (1 << RMENU_DEVICE_NAV_L2)))
+ {
+ rarch_settings_change(S_FRAME_ADVANCE);
+ g_extern.console.rmenu.ingame_menu.idx = MENU_ITEM_FRAME_ADVANCE;
+ }
+ snprintf(comment, sizeof(comment), "Press [%s] to step one frame.", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_B));
+ break;
+ case MENU_ITEM_RESIZE_MODE:
+ if(input & (1 << RMENU_DEVICE_NAV_B))
+ menu_stack_push(INGAME_MENU_RESIZE);
+ snprintf(comment, sizeof(comment), "Allows you to resize the screen.");
+ break;
+ case MENU_ITEM_SCREENSHOT_MODE:
+ if(input & (1 << RMENU_DEVICE_NAV_B))
+ menu_stack_push(INGAME_MENU_SCREENSHOT);
+ snprintf(comment, sizeof(comment), "Press [%s] to go back to the in-game menu.", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_A));
+ break;
+ case MENU_ITEM_RETURN_TO_GAME:
+ if(input & (1 << RMENU_DEVICE_NAV_B))
+ rarch_settings_change(S_RETURN_TO_GAME);
- snprintf(comment, sizeof(comment), "Press [%s] to return to the game.", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_B));
- break;
- case MENU_ITEM_RESET:
- if(input & (1 << RMENU_DEVICE_NAV_B))
- {
- rarch_settings_change(S_RETURN_TO_GAME);
- rarch_game_reset();
- }
- snprintf(comment, sizeof(comment), "Press [%s] to reset the game.", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_B));
- break;
- case MENU_ITEM_RETURN_TO_MENU:
- if(input & (1 << RMENU_DEVICE_NAV_B))
- {
- rarch_settings_change(S_RETURN_TO_MENU);
- }
- snprintf(comment, sizeof(comment), "Press [%s] to return to the ROM Browser.", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_B));
- break;
- case MENU_ITEM_CHANGE_LIBRETRO:
- if(input & (1 << RMENU_DEVICE_NAV_B))
- {
- menu_stack_push(LIBRETRO_CHOICE);
- filebrowser_set_root_and_ext(&tmpBrowser, EXT_EXECUTABLES, default_paths.core_dir);
- set_libretro_core_as_launch = true;
- }
- snprintf(comment, sizeof(comment), "Press [%s] to choose another core.", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_B));
- break;
+ snprintf(comment, sizeof(comment), "Press [%s] to return to the game.", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_B));
+ break;
+ case MENU_ITEM_RESET:
+ if(input & (1 << RMENU_DEVICE_NAV_B))
+ {
+ rarch_settings_change(S_RETURN_TO_GAME);
+ rarch_game_reset();
+ }
+ snprintf(comment, sizeof(comment), "Press [%s] to reset the game.", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_B));
+ break;
+ case MENU_ITEM_RETURN_TO_MENU:
+ if(input & (1 << RMENU_DEVICE_NAV_B))
+ {
+ rarch_settings_change(S_RETURN_TO_MENU);
+ }
+ snprintf(comment, sizeof(comment), "Press [%s] to return to the ROM Browser.", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_B));
+ break;
+ case MENU_ITEM_CHANGE_LIBRETRO:
+ if(input & (1 << RMENU_DEVICE_NAV_B))
+ {
+ menu_stack_push(LIBRETRO_CHOICE);
+ filebrowser_set_root_and_ext(&tmpBrowser, EXT_EXECUTABLES, default_paths.core_dir);
+ set_libretro_core_as_launch = true;
+ }
+ snprintf(comment, sizeof(comment), "Press [%s] to choose another core.", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_B));
+ break;
#ifdef HAVE_MULTIMAN
- case MENU_ITEM_RETURN_TO_MULTIMAN:
- if(input & (1 << RMENU_DEVICE_NAV_B))
- {
- RARCH_LOG("Boot Multiman: %s.\n", default_paths.multiman_self_file);
- strlcpy(g_extern.console.external_launch.launch_app, default_paths.multiman_self_file,
- sizeof(g_extern.console.external_launch.launch_app));
- rarch_settings_change(S_RETURN_TO_LAUNCHER);
- }
- snprintf(comment, sizeof(comment), "Press [%s] to quit RetroArch and return to multiMAN.", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_B));
- break;
+ case MENU_ITEM_RETURN_TO_MULTIMAN:
+ if(input & (1 << RMENU_DEVICE_NAV_B))
+ {
+ RARCH_LOG("Boot Multiman: %s.\n", default_paths.multiman_self_file);
+ strlcpy(g_extern.console.external_launch.launch_app, default_paths.multiman_self_file,
+ sizeof(g_extern.console.external_launch.launch_app));
+ rarch_settings_change(S_RETURN_TO_LAUNCHER);
+ }
+ snprintf(comment, sizeof(comment), "Press [%s] to quit RetroArch and return to multiMAN.", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_B));
+ break;
#endif
- case MENU_ITEM_QUIT_RARCH:
- if(input & (1 << RMENU_DEVICE_NAV_B))
- rarch_settings_change(S_QUIT_RARCH);
+ case MENU_ITEM_QUIT_RARCH:
+ if(input & (1 << RMENU_DEVICE_NAV_B))
+ rarch_settings_change(S_QUIT_RARCH);
- snprintf(comment, sizeof(comment), "Press [%s] to quit RetroArch.", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_B));
- break;
- }
+ snprintf(comment, sizeof(comment), "Press [%s] to quit RetroArch.", rarch_input_find_platform_key_label(1 << RETRO_DEVICE_ID_JOYPAD_B));
+ break;
+ }
if(input & (1 << RMENU_DEVICE_NAV_UP))
{
@@ -2101,51 +2123,51 @@ static void ingame_menu(menu *current_menu, uint64_t input)
display_menubar(current_menu);
rarch_settings_create_menu_item_label(strw_buffer, S_LBL_LOAD_STATE_SLOT, sizeof(strw_buffer));
- context->render_msg(default_pos.x_position, default_pos.y_position, default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_LOAD_STATE), strw_buffer);
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, default_pos.y_position, default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_LOAD_STATE), strw_buffer);
rarch_settings_create_menu_item_label(strw_buffer, S_LBL_SAVE_STATE_SLOT, sizeof(strw_buffer));
- context->render_msg(default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_SAVE_STATE), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_SAVE_STATE), strw_buffer);
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_SAVE_STATE), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_SAVE_STATE), strw_buffer);
rarch_settings_create_menu_item_label(strw_buffer, S_LBL_ASPECT_RATIO, sizeof(strw_buffer));
- context->render_msg(default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_KEEP_ASPECT_RATIO)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_KEEP_ASPECT_RATIO), strw_buffer);
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_KEEP_ASPECT_RATIO)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_KEEP_ASPECT_RATIO), strw_buffer);
snprintf(strw_buffer, sizeof(strw_buffer), "Overscan: %f", g_extern.console.screen.overscan_amount);
- context->render_msg(default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_OVERSCAN_AMOUNT)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_OVERSCAN_AMOUNT), strw_buffer);
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_OVERSCAN_AMOUNT)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_OVERSCAN_AMOUNT), strw_buffer);
rarch_settings_create_menu_item_label(strw_buffer, S_LBL_ROTATION, sizeof(strw_buffer));
- context->render_msg (default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_ORIENTATION)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_ORIENTATION), strw_buffer);
+ device_ptr->ctx_driver->rmenu_render_msg (default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_ORIENTATION)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_ORIENTATION), strw_buffer);
#ifdef HAVE_FBO
rarch_settings_create_menu_item_label(strw_buffer, S_LBL_SCALE_FACTOR, sizeof(strw_buffer));
- context->render_msg (default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_SCALE_FACTOR)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_SCALE_FACTOR), strw_buffer);
+ device_ptr->ctx_driver->rmenu_render_msg (default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_SCALE_FACTOR)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_SCALE_FACTOR), strw_buffer);
#endif
- context->render_msg(default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_RESIZE_MODE)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_RESIZE_MODE), "Resize Mode");
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_RESIZE_MODE)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_RESIZE_MODE), "Resize Mode");
- context->render_msg(default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_FRAME_ADVANCE)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_FRAME_ADVANCE), "Frame Advance");
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_FRAME_ADVANCE)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_FRAME_ADVANCE), "Frame Advance");
- context->render_msg(default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_SCREENSHOT_MODE)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_SCREENSHOT_MODE), "Screenshot Mode");
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_SCREENSHOT_MODE)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_SCREENSHOT_MODE), "Screenshot Mode");
- context->render_msg(default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_RESET)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_RESET), "Reset");
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_RESET)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_RESET), "Reset");
- context->render_msg(default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_RETURN_TO_GAME)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_RETURN_TO_GAME), "Return to Game");
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_RETURN_TO_GAME)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_RETURN_TO_GAME), "Return to Game");
- context->render_msg(default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_RETURN_TO_MENU)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_RETURN_TO_MENU), "Return to Menu");
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_RETURN_TO_MENU)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_RETURN_TO_MENU), "Return to Menu");
- context->render_msg(default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_CHANGE_LIBRETRO)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_CHANGE_LIBRETRO), "Change libretro core");
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_CHANGE_LIBRETRO)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_CHANGE_LIBRETRO), "Change libretro core");
#ifdef HAVE_MULTIMAN
- context->render_msg(default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_RETURN_TO_MULTIMAN)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_RETURN_TO_MULTIMAN), "Return to multiMAN");
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_RETURN_TO_MULTIMAN)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_RETURN_TO_MULTIMAN), "Return to multiMAN");
#endif
- context->render_msg(default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_QUIT_RARCH)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_QUIT_RARCH), "Quit RetroArch");
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, (default_pos.y_position+(default_pos.y_position_increment*MENU_ITEM_QUIT_RARCH)), default_pos.font_size, MENU_ITEM_SELECTED(MENU_ITEM_QUIT_RARCH), "Quit RetroArch");
- context->render_msg(default_pos.x_position, default_pos.comment_y_position, default_pos.font_size, WHITE, comment);
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.x_position, default_pos.comment_y_position, default_pos.font_size, WHITE, comment);
- rmenu_position_t position = {0};
+ rarch_position_t position = {0};
position.x = default_pos.x_position;
position.y = (default_pos.y_position+(default_pos.y_position_increment * g_extern.console.rmenu.ingame_menu.idx));
- context->render_selection_panel(&position);
+ device_ptr->ctx_driver->rmenu_draw_panel(&position);
}
static void rmenu_filebrowser_init(void)
@@ -2163,11 +2185,7 @@ static void rmenu_filebrowser_free(void)
void menu_init (void)
{
-#if defined(__CELLOS_LV2__)
- context = &rmenu_ctx_ps3;
-#elif defined(_XBOX1)
- context = (rmenu_context_t*)&rmenu_ctx_xdk;
-#endif
+ DEVICE_CAST device_ptr = (DEVICE_CAST)driver.video_data;
//Set libretro filename and version to variable
struct retro_system_info info;
@@ -2176,6 +2194,8 @@ void menu_init (void)
snprintf(m_title, sizeof(m_title), "%s %s", id, info.library_version);
rmenu_filebrowser_init();
+
+ device_ptr->ctx_driver->rmenu_init();
}
void menu_free (void)
@@ -2193,7 +2213,7 @@ void menu_loop(void)
if(g_extern.console.rmenu.state.ingame_menu.enable)
menu_stack_push(INGAME_MENU);
- context->init_textures();
+ device_ptr->ctx_driver->rmenu_enable(true);
menu current_menu;
menu_stack_force_refresh();
@@ -2208,14 +2228,14 @@ void menu_loop(void)
menu_stack_get_current_ptr(¤t_menu);
- context->set_default_pos(&default_pos);
+ device_ptr->ctx_driver->rmenu_set_default_pos(&default_pos);
input_ptr.poll(NULL);
for (unsigned i = 0; i < RMENU_DEVICE_NAV_LAST; i++)
{
input_state |= input_ptr.input_state(NULL, rmenu_nav_binds, 0,
- RETRO_DEVICE_JOYPAD, 0, i) ? (1 << i) : 0;
+ RETRO_DEVICE_JOYPAD, 0, i) ? (1 << i) : 0;
}
uint64_t trig_state = input_state & ~old_state; //set first button input frame as trigger
@@ -2228,7 +2248,7 @@ void menu_loop(void)
for (unsigned i = 0; i < RMENU_DEVICE_NAV_LAST; i++)
{
input_state |= input_ptr.input_state(NULL, rmenu_nav_binds, 0,
- RETRO_DEVICE_JOYPAD, 0, i) ? (1 << i) : 0;
+ RETRO_DEVICE_JOYPAD, 0, i) ? (1 << i) : 0;
}
bool analog_sticks_pressed = (input_state & (1 << RMENU_DEVICE_NAV_LEFT_ANALOG_L)) || (input_state & (1 << RMENU_DEVICE_NAV_RIGHT_ANALOG_L)) || (input_state & (1 << RMENU_DEVICE_NAV_UP_ANALOG_L)) || (input_state & (1 << RMENU_DEVICE_NAV_DOWN_ANALOG_L)) || (input_state & (1 << RMENU_DEVICE_NAV_LEFT_ANALOG_R)) || (input_state & (1 << RMENU_DEVICE_NAV_RIGHT_ANALOG_R)) || (input_state & (1 << RMENU_DEVICE_NAV_UP_ANALOG_R)) || (input_state & (1 << RMENU_DEVICE_NAV_DOWN_ANALOG_R));
@@ -2242,7 +2262,7 @@ void menu_loop(void)
first_held = true;
SET_TIMER_EXPIRATION(device_ptr, 7);
}
-
+
if(IS_TIMER_EXPIRED(device_ptr))
{
first_held = false;
@@ -2250,16 +2270,16 @@ void menu_loop(void)
}
}
- context->clear();
+ device_ptr->ctx_driver->clear();
if(!show_menu_screen || current_menu.enum_id == INGAME_MENU_SCREENSHOT)
{
- context->render_menu_enable(false);
+ device_ptr->ctx_driver->rmenu_enable(false);
}
else
{
- context->blend(true);
- context->render_menu_enable(true);
+ device_ptr->ctx_driver->set_blend(true);
+ device_ptr->ctx_driver->rmenu_enable(true);
}
rarch_render_cached_frame();
@@ -2268,47 +2288,47 @@ void menu_loop(void)
switch(current_menu.enum_id)
{
- case FILE_BROWSER_MENU:
- select_rom(¤t_menu, trig_state);
- fb = &browser;
- break;
- case GENERAL_VIDEO_MENU:
- case GENERAL_AUDIO_MENU:
- case EMU_GENERAL_MENU:
- case EMU_VIDEO_MENU:
- case EMU_AUDIO_MENU:
- case PATH_MENU:
- case CONTROLS_MENU:
- select_setting(¤t_menu, trig_state);
- break;
- case SHADER_CHOICE:
- case PRESET_CHOICE:
- case BORDER_CHOICE:
- case LIBRETRO_CHOICE:
- case INPUT_PRESET_CHOICE:
- select_file(¤t_menu, trig_state);
- fb = &tmpBrowser;
- break;
- case PATH_SAVESTATES_DIR_CHOICE:
- case PATH_DEFAULT_ROM_DIR_CHOICE:
+ case FILE_BROWSER_MENU:
+ select_rom(¤t_menu, trig_state);
+ fb = &browser;
+ break;
+ case GENERAL_VIDEO_MENU:
+ case GENERAL_AUDIO_MENU:
+ case EMU_GENERAL_MENU:
+ case EMU_VIDEO_MENU:
+ case EMU_AUDIO_MENU:
+ case PATH_MENU:
+ case CONTROLS_MENU:
+ select_setting(¤t_menu, trig_state);
+ break;
+ case SHADER_CHOICE:
+ case PRESET_CHOICE:
+ case BORDER_CHOICE:
+ case LIBRETRO_CHOICE:
+ case INPUT_PRESET_CHOICE:
+ select_file(¤t_menu, trig_state);
+ fb = &tmpBrowser;
+ break;
+ case PATH_SAVESTATES_DIR_CHOICE:
+ case PATH_DEFAULT_ROM_DIR_CHOICE:
#ifdef HAVE_XML
- case PATH_CHEATS_DIR_CHOICE:
+ case PATH_CHEATS_DIR_CHOICE:
#endif
case PATH_SRAM_DIR_CHOICE:
case PATH_SYSTEM_DIR_CHOICE:
- select_directory(¤t_menu, trig_state);
- fb = &tmpBrowser;
- break;
- case INGAME_MENU:
- if(g_extern.console.rmenu.state.ingame_menu.enable)
- ingame_menu(¤t_menu, trig_state);
- break;
- case INGAME_MENU_RESIZE:
- ingame_menu_resize(¤t_menu, trig_state);
- break;
- case INGAME_MENU_SCREENSHOT:
- ingame_menu_screenshot(¤t_menu, trig_state);
- break;
+ select_directory(¤t_menu, trig_state);
+ fb = &tmpBrowser;
+ break;
+ case INGAME_MENU:
+ if(g_extern.console.rmenu.state.ingame_menu.enable)
+ ingame_menu(¤t_menu, trig_state);
+ break;
+ case INGAME_MENU_RESIZE:
+ ingame_menu_resize(¤t_menu, trig_state);
+ break;
+ case INGAME_MENU_SCREENSHOT:
+ ingame_menu_screenshot(¤t_menu, trig_state);
+ break;
}
switch(current_menu.category_id)
@@ -2323,7 +2343,7 @@ void menu_loop(void)
}
old_state = input_state_first_frame;
-
+
if(IS_TIMER_EXPIRED(device_ptr))
{
// if we want to force goto the emulation loop, skip this
@@ -2340,7 +2360,7 @@ void menu_loop(void)
if(g_extern.console.rmenu.mode != MODE_EXIT)
g_extern.console.rmenu.mode = (((old_state & (1 << RMENU_DEVICE_NAV_L3)) && (old_state & (1 << RMENU_DEVICE_NAV_R3)) && g_extern.console.emulator_initialized)) ? MODE_EMULATION : MODE_MENU;
}
- else
+ else
{
g_extern.console.rmenu.state.rmenu.enable = !(((old_state & (1 << RMENU_DEVICE_NAV_L3)) && (old_state & (1 << RMENU_DEVICE_NAV_R3)) && g_extern.console.emulator_initialized));
g_extern.console.rmenu.mode = g_extern.console.rmenu.state.rmenu.enable ? MODE_MENU : MODE_EMULATION;
@@ -2359,18 +2379,22 @@ void menu_loop(void)
if (message && g_extern.console.rmenu.state.msg_info.enable)
{
- context->render_msg(default_pos.msg_queue_x_position, default_pos.msg_queue_y_position, default_pos.msg_queue_font_size, WHITE, message);
+ device_ptr->ctx_driver->rmenu_render_msg(default_pos.msg_queue_x_position, default_pos.msg_queue_y_position, default_pos.msg_queue_font_size, WHITE, message);
}
- context->swap_buffers();
+ device_ptr->ctx_driver->swap_buffers();
+ bool quit, resize;
+ unsigned width, height, frame_count;
+ frame_count = 0;
+ device_ptr->ctx_driver->check_window(&quit, &resize, &width, &height, frame_count);
if(current_menu.enum_id == INGAME_MENU_RESIZE && (old_state & (1 << RMENU_DEVICE_NAV_Y)) || current_menu.enum_id == INGAME_MENU_SCREENSHOT)
{ }
else
- context->blend(false);
+ device_ptr->ctx_driver->set_blend(false);
}while(g_extern.console.rmenu.state.rmenu.enable);
- context->free_textures();
+ device_ptr->ctx_driver->rmenu_enable(false);
if(g_extern.console.rmenu.state.ingame_menu.enable)
menu_stack_pop();
diff --git a/console/rmenu/rmenu.h b/console/rmenu/rmenu.h
index d1f5de51c1..d0e10604de 100644
--- a/console/rmenu/rmenu.h
+++ b/console/rmenu/rmenu.h
@@ -38,14 +38,6 @@ typedef struct
unsigned char page; /* page */
} item;
-typedef struct rmenu_position
-{
- float x;
- float y;
- float width;
- float height;
-} rmenu_position_t;
-
typedef struct rmenu_default_positions
{
float x_position;
@@ -69,28 +61,6 @@ typedef struct rmenu_default_positions
unsigned entries_per_page;
} rmenu_default_positions_t;
-typedef struct rmenu_context
-{
- void (*clear)(void);
- void (*set_filtering)(unsigned index, bool set_smooth);
- void (*set_aspect_ratio)(unsigned aspectratio_index);
- void (*blend)(bool enable);
- void (*set_fbo_enable)(unsigned i);
- void (*free_textures)(void);
- void (*init_textures)(void);
- void (*render_selection_panel)(rmenu_position_t *position);
- void (*render_bg)(rmenu_position_t *position);
- void (*render_menu_enable)(bool enable);
- void (*render_msg)(float xpos, float ypos, float scale, unsigned color, const char *msg, ...);
- void (*screenshot_enable)(bool enable);
- void (*screenshot_dump)(void *data);
- void (*swap_buffers)(void);
- void (*set_swap_interval)(unsigned interval);
- void (*set_default_pos)(rmenu_default_positions_t *position);
- const char * (*drive_mapping_prev)(void);
- const char * (*drive_mapping_next)(void);
-} rmenu_context_t;
-
enum
{
CATEGORY_FILEBROWSER,
diff --git a/gfx/context/ps3_ctx.c b/gfx/context/ps3_ctx.c
index d560b0bcaa..f89076408f 100644
--- a/gfx/context/ps3_ctx.c
+++ b/gfx/context/ps3_ctx.c
@@ -31,6 +31,7 @@
#include "../image.h"
#include "../gfx_context.h"
+#include "../gl_font.h"
#if defined(HAVE_RMENU)
GLuint menu_texture_id;
@@ -42,6 +43,38 @@ static PSGLdevice* gl_device;
static PSGLcontext* gl_context;
#endif
+#define HARDCODE_FONT_SIZE 0.91f
+#define POSITION_X 0.09f
+#define POSITION_X_CENTER 0.5f
+#define POSITION_Y_START 0.17f
+#define POSITION_Y_INCREMENT 0.035f
+#define POSITION_Y_BEGIN (POSITION_Y_START + POSITION_Y_INCREMENT)
+#define COMMENT_TWO_Y_POSITION 0.91f
+#define COMMENT_Y_POSITION 0.82f
+
+#define MSG_QUEUE_X_POSITION g_settings.video.msg_pos_x
+#define MSG_QUEUE_Y_POSITION 0.76f
+#define MSG_QUEUE_FONT_SIZE 1.03f
+
+#define MSG_PREV_NEXT_Y_POSITION 0.03f
+#define CURRENT_PATH_Y_POSITION 0.15f
+#define CURRENT_PATH_FONT_SIZE FONT_SIZE
+
+#define FONT_SIZE (g_extern.console.rmenu.font_size)
+
+#define NUM_ENTRY_PER_PAGE 15
+
+#define DRIVE_MAPPING_SIZE 4
+
+const char drive_mappings[DRIVE_MAPPING_SIZE][32] = {
+ "/app_home/",
+ "/dev_hdd0/",
+ "/dev_hdd1/",
+ "/host_root/"
+};
+
+unsigned char drive_mapping_idx = 1;
+
static int gfx_ctx_check_resolution(unsigned resolution_id)
{
return cellVideoOutGetResolutionAvailability(CELL_VIDEO_OUT_PRIMARY, resolution_id, CELL_VIDEO_OUT_ASPECT_AUTO, 0);
@@ -79,6 +112,76 @@ static float gfx_ctx_get_aspect_ratio(void)
return 16.0f/9.0f;
}
+static void gfx_ctx_ps3_set_default_pos(rmenu_default_positions_t *position)
+{
+ position->x_position = POSITION_X;
+ position->x_position_center = POSITION_X_CENTER;
+ position->y_position = POSITION_Y_BEGIN;
+ position->comment_y_position = COMMENT_Y_POSITION;
+ position->y_position_increment = POSITION_Y_INCREMENT;
+ position->starting_y_position = POSITION_Y_START;
+ position->comment_two_y_position = COMMENT_TWO_Y_POSITION;
+ position->font_size = HARDCODE_FONT_SIZE;
+ position->msg_queue_x_position = MSG_QUEUE_X_POSITION;
+ position->msg_queue_y_position = MSG_QUEUE_Y_POSITION;
+ position->msg_queue_font_size= MSG_QUEUE_FONT_SIZE;
+ position->msg_prev_next_y_position = MSG_PREV_NEXT_Y_POSITION;
+ position->current_path_font_size = CURRENT_PATH_FONT_SIZE;
+ position->current_path_y_position = CURRENT_PATH_Y_POSITION;
+ position->variable_font_size = FONT_SIZE;
+ position->entries_per_page = NUM_ENTRY_PER_PAGE;
+ position->core_msg_x_position = 0.3f;
+ position->core_msg_y_position = 0.06f;
+ position->core_msg_font_size = COMMENT_Y_POSITION;
+}
+
+static void rmenu_ctx_ps3_render_msg(float xpos, float ypos, float scale, unsigned color, const char *msg, ...)
+{
+ gl_t *gl = driver.video_data;
+
+ gl_render_msg_place(gl, xpos, ypos, scale, color, msg);
+}
+
+static void rmenu_ctx_ps3_screenshot_enable(bool enable)
+{
+#if(CELL_SDK_VERSION > 0x340000)
+ if(enable)
+ {
+ cellSysmoduleLoadModule(CELL_SYSMODULE_SYSUTIL_SCREENSHOT);
+ CellScreenShotSetParam screenshot_param = {0, 0, 0, 0};
+
+ screenshot_param.photo_title = "RetroArch PS3";
+ screenshot_param.game_title = "RetroArch PS3";
+ cellScreenShotSetParameter (&screenshot_param);
+ cellScreenShotEnable();
+ }
+ else
+ {
+ cellScreenShotDisable();
+ cellSysmoduleUnloadModule(CELL_SYSMODULE_SYSUTIL_SCREENSHOT);
+ }
+#endif
+}
+
+static void rmenu_ctx_ps3_screenshot_dump(void *data)
+{
+ (void)data;
+}
+
+static const char * rmenu_ctx_ps3_drive_mapping_previous(void)
+{
+ if(drive_mapping_idx > 0)
+ drive_mapping_idx--;
+ return drive_mappings[drive_mapping_idx];
+}
+
+static const char * rmenu_ctx_ps3_drive_mapping_next(void)
+{
+ if((drive_mapping_idx + 1) < DRIVE_MAPPING_SIZE)
+ drive_mapping_idx++;
+ return drive_mappings[drive_mapping_idx];
+}
+
static void gfx_ctx_get_available_resolutions (void)
{
bool defaultresolution;
@@ -197,6 +300,8 @@ static void gfx_ctx_set_blend(bool enable)
static void gfx_ctx_set_resize(unsigned width, unsigned height) { }
+bool rmenu_inited = false;
+
static bool gfx_ctx_rmenu_init(void)
{
gl_t *gl = driver.video_data;
@@ -229,10 +334,34 @@ static bool gfx_ctx_rmenu_init(void)
free(menu_texture.pixels);
#endif
+ rmenu_inited = true;
+
return true;
}
#if defined(HAVE_RMENU)
+static void gfx_ctx_rmenu_free(void)
+{
+ gl_t *gl = driver.video_data;
+ gl->draw_rmenu = false;
+}
+
+static void gfx_ctx_menu_enable(bool enable)
+{
+ gl_t *gl = driver.video_data;
+
+ if (enable)
+ {
+ if(!rmenu_inited)
+ gfx_ctx_rmenu_init();
+ gl->draw_rmenu = true;
+ }
+ else
+ {
+ gfx_ctx_rmenu_free();
+ }
+}
+
static void gfx_ctx_rmenu_frame(void *data)
{
gl_t *gl = (gl_t*)data;
@@ -240,10 +369,13 @@ static void gfx_ctx_rmenu_frame(void *data)
gl_shader_use(gl, RARCH_CG_MENU_SHADER_INDEX);
gl_set_viewport(gl, gl->win_width, gl->win_height, true, false);
- gl_shader_set_params(gl, gl->win_width, gl->win_height,
- gl->win_width, gl->win_height,
- gl->win_width, gl->win_height,
- gl->frame_count, NULL, NULL, NULL, 0);
+ if (gl->shader)
+ {
+ gl->shader->set_params(gl->win_width, gl->win_height,
+ gl->win_width, gl->win_height,
+ gl->win_width, gl->win_height,
+ gl->frame_count, NULL, NULL, NULL, 0);
+ }
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, menu_texture_id);
@@ -256,6 +388,17 @@ static void gfx_ctx_rmenu_frame(void *data)
glBindTexture(GL_TEXTURE_2D, gl->texture[gl->tex_index]);
gl_set_viewport(gl, gl->win_width, gl->win_height, false, true);
}
+
+
+static void gfx_ctx_menu_draw_panel(rarch_position_t *position)
+{
+ (void)position;
+}
+
+static void gfx_ctx_menu_draw_bg(rarch_position_t *position)
+{
+ (void)position;
+}
#endif
static void gfx_ctx_update_window_title(bool reset) { }
@@ -423,19 +566,26 @@ const gfx_ctx_driver_t gfx_ctx_ps3 = {
"ps3",
// RARCH_CONSOLE stuff.
+ gfx_ctx_clear,
+ gfx_ctx_set_blend,
gfx_ctx_set_filtering,
gfx_ctx_get_available_resolutions,
gfx_ctx_check_resolution,
+ gfx_ctx_set_fbo,
#ifdef HAVE_RMENU
gfx_ctx_rmenu_init,
-#else
- NULL,
-#endif
-
- gfx_ctx_set_fbo,
-#ifdef HAVE_RMENU
- gfx_ctx_rmenu_frame
+ gfx_ctx_rmenu_frame,
+ gfx_ctx_rmenu_free,
+ gfx_ctx_menu_enable,
+ gfx_ctx_menu_draw_bg,
+ gfx_ctx_menu_draw_panel,
+ gfx_ctx_ps3_set_default_pos,
+ rmenu_ctx_ps3_render_msg,
+ rmenu_ctx_ps3_screenshot_enable,
+ rmenu_ctx_ps3_screenshot_dump,
+ rmenu_ctx_ps3_drive_mapping_previous,
+ rmenu_ctx_ps3_drive_mapping_next,
#endif
};
diff --git a/gfx/context/xdk_ctx.c b/gfx/context/xdk_ctx.c
index 3895910520..5329f9bf54 100644
--- a/gfx/context/xdk_ctx.c
+++ b/gfx/context/xdk_ctx.c
@@ -38,6 +38,56 @@
#define XBOX_PRESENTATIONINTERVAL D3DRS_PRESENTINTERVAL
#endif
+#define ROM_PANEL_WIDTH 510
+#define ROM_PANEL_HEIGHT 20
+
+#define HARDCODE_FONT_SIZE 21
+
+#define POSITION_X m_menuMainRomListPos_x
+#define POSITION_X_CENTER (m_menuMainRomListPos_x + 350)
+#define POSITION_Y_START m_menuMainRomListPos_y
+#define POSITION_Y_BEGIN (POSITION_Y_START + POSITION_Y_INCREMENT)
+#define POSITION_Y_INCREMENT 20
+#define COMMENT_Y_POSITION (ypos - ((POSITION_Y_INCREMENT/2) * 3))
+#define COMMENT_TWO_Y_POSITION (ypos - ((POSITION_Y_INCREMENT/2) * 1))
+
+#define MSG_QUEUE_X_POSITION POSITION_X
+#define MSG_QUEUE_Y_POSITION (ypos - ((POSITION_Y_INCREMENT/2) * 7) + 5)
+#define MSG_QUEUE_FONT_SIZE HARDCODE_FONT_SIZE
+
+#define MSG_PREV_NEXT_Y_POSITION 24
+
+#define CURRENT_PATH_Y_POSITION (m_menuMainRomListPos_y - ((POSITION_Y_INCREMENT/2)))
+#define CURRENT_PATH_FONT_SIZE 21
+
+#define FONT_SIZE 21
+
+#define NUM_ENTRY_PER_PAGE 12
+
+#define DRIVE_MAPPING_SIZE 5
+
+const char drive_mappings[DRIVE_MAPPING_SIZE][32] = {
+ "C:",
+ "D:",
+ "E:",
+ "F:",
+ "G:"
+};
+
+unsigned char drive_mapping_idx = 2;
+
+int xpos, ypos;
+#ifdef _XBOX1
+texture_image m_menuMainRomSelectPanel;
+texture_image m_menuMainBG;
+
+// Rom list coords
+int m_menuMainRomListPos_x;
+int m_menuMainRomListPos_y;
+#endif
+
+bool rmenu_inited = false;
+
static void gfx_ctx_xdk_set_blend(bool enable)
{
xdk_d3d_video_t *d3d = (xdk_d3d_video_t*)driver.video_data;
@@ -81,6 +131,20 @@ static void gfx_ctx_xdk_check_window(bool *quit,
static void gfx_ctx_xdk_set_resize(unsigned width, unsigned height) { }
+static void gfx_ctx_menu_enable(bool enable)
+{
+ if (enable)
+ {
+ if(!rmenu_inited)
+ gfx_ctx_xdk_menu_init();
+ }
+ else
+ {
+ gfx_ctx_xdk_menu_free();
+ rmenu_inited = false;
+ }
+}
+
static void gfx_ctx_xdk_swap_buffers(void)
{
xdk_d3d_video_t *d3d = (xdk_d3d_video_t*)driver.video_data;
@@ -114,9 +178,122 @@ static bool gfx_ctx_xdk_window_has_focus(void)
static bool gfx_ctx_xdk_menu_init(void)
{
+#ifdef _XBOX1
+ xdk_d3d_video_t *d3d = (xdk_d3d_video_t*)driver.video_data;
+
+ int width = d3d->d3dpp.BackBufferWidth;
+
+ // Load background image
+ if(width == 640)
+ {
+ texture_image_load("D:\\Media\\main-menu_480p.png", &m_menuMainBG);
+ m_menuMainRomListPos_x = 60;
+ m_menuMainRomListPos_y = 80;
+ }
+ else if(width == 1280)
+ {
+ texture_image_load("D:\\Media\\main-menu_720p.png", &m_menuMainBG);
+ m_menuMainRomListPos_x = 360;
+ m_menuMainRomListPos_y = 130;
+ }
+
+ // Load rom selector panel
+ texture_image_load("D:\\Media\\menuMainRomSelectPanel.png", &m_menuMainRomSelectPanel);
+
+ //Display some text
+ //Center the text (hardcoded)
+ xpos = width == 640 ? 65 : 400;
+ ypos = width == 640 ? 430 : 670;
+#endif
+
+ rmenu_inited = false;
return true;
}
+static void gfx_ctx_xdk_menu_free(void)
+{
+#ifdef _XBOX1
+ texture_image_free(&m_menuMainBG);
+ texture_image_free(&m_menuMainRomSelectPanel);
+#endif
+}
+
+static void gfx_ctx_xdk_menu_draw_bg(rarch_position_t *position)
+{
+#ifdef _XBOX1
+ m_menuMainBG.x = 0;
+ m_menuMainBG.y = 0;
+ texture_image_render(&m_menuMainBG);
+#endif
+}
+
+static void gfx_ctx_xdk_menu_draw_panel(rarch_position_t *position)
+{
+#ifdef _XBOX1
+ m_menuMainRomSelectPanel.x = position->x;
+ m_menuMainRomSelectPanel.y = position->y;
+ m_menuMainRomSelectPanel.width = ROM_PANEL_WIDTH;
+ m_menuMainRomSelectPanel.height = ROM_PANEL_HEIGHT;
+ texture_image_render(&m_menuMainRomSelectPanel);
+#endif
+}
+
+static void gfx_ctx_xdk_menu_set_default_pos(rmenu_default_positions_t *position)
+{
+#ifdef _XBOX1
+ position->x_position = POSITION_X;
+ position->x_position_center = POSITION_X_CENTER;
+ position->y_position = POSITION_Y_BEGIN;
+ position->comment_y_position = COMMENT_Y_POSITION;
+ position->y_position_increment = POSITION_Y_INCREMENT;
+ position->starting_y_position = POSITION_Y_START;
+ position->comment_two_y_position = COMMENT_TWO_Y_POSITION;
+ position->font_size = HARDCODE_FONT_SIZE;
+ position->msg_queue_x_position = MSG_QUEUE_X_POSITION;
+ position->msg_queue_y_position = MSG_QUEUE_Y_POSITION;
+ position->msg_queue_font_size= MSG_QUEUE_FONT_SIZE;
+ position->msg_prev_next_y_position = MSG_PREV_NEXT_Y_POSITION;
+ position->current_path_font_size = CURRENT_PATH_FONT_SIZE;
+ position->current_path_y_position = CURRENT_PATH_Y_POSITION;
+ position->variable_font_size = FONT_SIZE;
+ position->entries_per_page = NUM_ENTRY_PER_PAGE;
+ position->core_msg_x_position = position->x_position;
+ position->core_msg_y_position = position->msg_prev_next_y_position + 0.01f;
+ position->core_msg_font_size = position->font_size;
+#endif
+}
+
+static void gfx_ctx_xdk_menu_render_msg(float xpos, float ypos, float scale, unsigned color, const char *msg, ...)
+{
+#ifdef _XBOX1
+ xdk_d3d_video_t *d3d = (xdk_d3d_video_t*)driver.video_data;
+ xfonts_render_msg_place(d3d, xpos, ypos, scale, msg);
+#endif
+}
+
+static void gfx_ctx_xdk_menu_screenshot_enable(bool enable)
+{
+}
+
+static void gfx_ctx_xdk_menu_screenshot_dump(void *data)
+{
+ gfx_ctx_xdk_screenshot_dump(NULL);
+}
+
+static const char *gfx_ctx_xdk_menu_drive_mapping_previous(void)
+{
+ if(drive_mapping_idx > 0)
+ drive_mapping_idx--;
+ return drive_mappings[drive_mapping_idx];
+}
+
+static const char *gfx_ctx_xdk_menu_drive_mapping_next(void)
+{
+ if((drive_mapping_idx + 1) < DRIVE_MAPPING_SIZE)
+ drive_mapping_idx++;
+ return drive_mappings[drive_mapping_idx];
+}
+
static void gfx_ctx_xdk_update_window_title(bool reset) { }
static void gfx_ctx_xdk_get_video_size(unsigned *width, unsigned *height)
@@ -551,11 +728,23 @@ const gfx_ctx_driver_t gfx_ctx_xdk = {
"xdk",
// RARCH_CONSOLE stuff.
+ gfx_ctx_xdk_clear,
+ gfx_ctx_xdk_set_blend,
gfx_ctx_xdk_set_filtering,
gfx_ctx_xdk_get_available_resolutions,
gfx_ctx_xdk_check_resolution,
+ gfx_ctx_xdk_set_fbo,
gfx_ctx_xdk_menu_init,
-
- gfx_ctx_xdk_set_fbo,
+ gfx_ctx_xdk_menu_frame,
+ gfx_ctx_xdk_menu_free,
+ gfx_ctx_menu_enable,
+ gfx_ctx_xdk_menu_draw_bg,
+ gfx_ctx_xdk_menu_draw_panel,
+ gfx_ctx_xdk_menu_set_default_pos,
+ gfx_ctx_xdk_menu_render_msg,
+ gfx_ctx_xdk_menu_screenshot_enable,
+ gfx_ctx_xdk_menu_screenshot_dump,
+ gfx_ctx_xdk_menu_drive_mapping_previous,
+ gfx_ctx_xdk_menu_drive_mapping_next
};
diff --git a/gfx/gfx_context.h b/gfx/gfx_context.h
index 95f879a5f6..a53d76338c 100644
--- a/gfx/gfx_context.h
+++ b/gfx/gfx_context.h
@@ -23,6 +23,10 @@
#include "../config.h"
#endif
+#if defined(RARCH_CONSOLE) || defined(HAVE_RMENU)
+#include "../console/rmenu/rmenu.h"
+#endif
+
#define MAX_EGLIMAGE_TEXTURES 32
enum gfx_ctx_api
@@ -34,6 +38,14 @@ enum gfx_ctx_api
GFX_CTX_OPENVG_API
};
+typedef struct rarch_position
+{
+ float x;
+ float y;
+ float width;
+ float height;
+} rarch_position_t;
+
typedef void (*gfx_ctx_proc_t)(void);
typedef struct gfx_ctx_driver
@@ -93,14 +105,27 @@ typedef struct gfx_ctx_driver
const char *ident;
#ifdef RARCH_CONSOLE
+ void (*clear)(void);
+ void (*set_blend)(bool enable);
void (*set_filtering)(unsigned index, bool set_smooth);
void (*get_available_resolutions)(void);
int (*check_resolution)(unsigned resolution_id);
- bool (*rmenu_init)(void);
void (*set_fbo)(unsigned);
#endif
+
#ifdef HAVE_RMENU
+ bool (*rmenu_init)(void);
void (*rmenu_frame)(void *data);
+ void (*rmenu_free)(void);
+ void (*rmenu_enable)(bool enable);
+ void (*rmenu_draw_bg)(rarch_position_t *position);
+ void (*rmenu_draw_panel)(rarch_position_t *position);
+ void (*rmenu_set_default_pos)(rmenu_default_positions_t *position);
+ void (*rmenu_render_msg)(float xpos, float ypos, float scale, unsigned color, const char *msg, ...);
+ void (*rmenu_screenshot_enable)(bool enable);
+ void (*rmenu_screenshot_dump)(void *data);
+ const char *(*drive_mapping_previous)(void);
+ const char *(*drive_mapping_next)(void);
#endif
} gfx_ctx_driver_t;
diff --git a/gfx/gl.c b/gfx/gl.c
index dfb66a93d2..1f178f0b70 100644
--- a/gfx/gl.c
+++ b/gfx/gl.c
@@ -364,11 +364,7 @@ static void gl_shader_scale(gl_t *gl, unsigned index, struct gl_fbo_scale *scale
if (gl->shader)
gl->shader->shader_scale(index, scale);
}
-#endif
-///////////////////
-
-#ifdef HAVE_FBO
static void gl_compute_fbo_geometry(gl_t *gl, unsigned width, unsigned height,
unsigned vp_width, unsigned vp_height)
{
diff --git a/xdk/xdk_d3d.cpp b/xdk/xdk_d3d.cpp
index d300251241..67405f4004 100644
--- a/xdk/xdk_d3d.cpp
+++ b/xdk/xdk_d3d.cpp
@@ -122,7 +122,7 @@ static void check_window(xdk_d3d_video_t *d3d)
{
bool quit, resize;
- d3d->driver->check_window(&quit,
+ d3d->ctx_driver->check_window(&quit,
&resize, NULL, NULL,
d3d->frame_count);
@@ -161,7 +161,7 @@ static void xdk_d3d_free(void * data)
d3d9_deinit_font();
#endif
- d3d->driver->destroy();
+ d3d->ctx_driver->destroy();
free(d3d);
}
@@ -351,9 +351,9 @@ static void *xdk_d3d_init(const video_info_t *video, const input_driver_t **inpu
return NULL;
}
- RARCH_LOG("Found D3D context: %s\n", d3d->driver->ident);
+ RARCH_LOG("Found D3D context: %s\n", d3d->ctx_driver->ident);
- d3d->driver->get_video_size(&d3d->full_x, &d3d->full_y);
+ d3d->ctx_driver->get_video_size(&d3d->full_x, &d3d->full_y);
RARCH_LOG("Detecting screen resolution: %ux%u.\n", d3d->full_x, d3d->full_y);
gfx_ctx_xdk_set_swap_interval(d3d->vsync ? 1 : 0);
@@ -362,7 +362,7 @@ static void *xdk_d3d_init(const video_info_t *video, const input_driver_t **inpu
if (!hlsl_shader_init())
{
RARCH_ERR("Shader init failed.\n");
- d3d->driver->destroy();
+ d3d->ctx_driver->destroy();
free(d3d);
return NULL;
}
diff --git a/xdk/xdk_d3d.h b/xdk/xdk_d3d.h
index e36245ce2b..2f67c4f72c 100644
--- a/xdk/xdk_d3d.h
+++ b/xdk/xdk_d3d.h
@@ -54,7 +54,7 @@ typedef struct DrawVerticeFormats
typedef struct xdk_d3d_video
{
- const gfx_ctx_driver_t *driver;
+ const gfx_ctx_driver_t *ctx_driver;
bool block_swap;
#ifdef HAVE_FBO
bool fbo_enabled;
|