mirror of
https://github.com/libretro/RetroArch
synced 2025-01-12 03:38:33 +00:00
(RMenu) Split up platform-specific code into Rmenu context files
This commit is contained in:
parent
c14b560255
commit
7c4189cdd5
@ -295,6 +295,11 @@ NETPLAY
|
|||||||
MENU
|
MENU
|
||||||
============================================================ */
|
============================================================ */
|
||||||
#ifdef HAVE_RMENU
|
#ifdef HAVE_RMENU
|
||||||
|
#if defined(__CELLOS_LV2__)
|
||||||
|
#include "../rmenu/context/rmenu_ctx_ps3.c"
|
||||||
|
#elif defined(_XBOX1)
|
||||||
|
#include "../rmenu/context/rmenu_ctx_xdk.c"
|
||||||
|
#endif
|
||||||
#include "../rmenu/rmenu.c"
|
#include "../rmenu/rmenu.c"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
33
console/rmenu/context/rmenu_ctx_ps3.c
Normal file
33
console/rmenu/context/rmenu_ctx_ps3.c
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
/* 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 <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "../rmenu.h"
|
||||||
|
#include "../../../gfx/context/ps3_ctx.h"
|
||||||
|
|
||||||
|
static void rmenu_ctx_ps3_clear(void)
|
||||||
|
{
|
||||||
|
gfx_ctx_clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void rmenu_ctx_ps3_blend(bool enable)
|
||||||
|
{
|
||||||
|
gfx_ctx_set_blend(enable);
|
||||||
|
}
|
||||||
|
|
||||||
|
const rmenu_context_t rmenu_ctx_ps3 = {
|
||||||
|
.clear = rmenu_ctx_ps3_clear,
|
||||||
|
.blend = rmenu_ctx_ps3_blend,
|
||||||
|
};
|
33
console/rmenu/context/rmenu_ctx_xdk.c
Normal file
33
console/rmenu/context/rmenu_ctx_xdk.c
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
/* 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 <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "../rmenu.h"
|
||||||
|
#include "../../gfx/context/xdk_ctx.h"
|
||||||
|
|
||||||
|
static void rmenu_ctx_xdk_clear(void)
|
||||||
|
{
|
||||||
|
gfx_ctx_clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void rmenu_ctx_xdk_blend(bool enable)
|
||||||
|
{
|
||||||
|
gfx_ctx_set_blend(enable);
|
||||||
|
}
|
||||||
|
|
||||||
|
const rmenu_context_t rmenu_ctx_xdk = {
|
||||||
|
.clear = rmenu_ctx_xdk_clear,
|
||||||
|
.blend = rmenu_ctx_xdk_blend,
|
||||||
|
};
|
@ -95,6 +95,8 @@ unsigned set_shader = 0;
|
|||||||
unsigned currently_selected_controller_menu = 0;
|
unsigned currently_selected_controller_menu = 0;
|
||||||
char m_title[256];
|
char m_title[256];
|
||||||
|
|
||||||
|
static const rmenu_context_t *context;
|
||||||
|
|
||||||
static uint64_t old_state = 0;
|
static uint64_t old_state = 0;
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
@ -1017,7 +1019,7 @@ static void rarch_filename_input_and_save (unsigned filename_type)
|
|||||||
|
|
||||||
while(OSK_IS_RUNNING(g_console.oskutil_handle))
|
while(OSK_IS_RUNNING(g_console.oskutil_handle))
|
||||||
{
|
{
|
||||||
gfx_ctx_clear();
|
context->clear();
|
||||||
gfx_ctx_swap_buffers();
|
gfx_ctx_swap_buffers();
|
||||||
#ifdef HAVE_SYSUTILS
|
#ifdef HAVE_SYSUTILS
|
||||||
cellSysutilCheckCallback();
|
cellSysutilCheckCallback();
|
||||||
@ -1053,7 +1055,7 @@ static void rarch_filename_input_and_save (unsigned filename_type)
|
|||||||
while(OSK_IS_RUNNING(g_console.oskutil_handle))
|
while(OSK_IS_RUNNING(g_console.oskutil_handle))
|
||||||
{
|
{
|
||||||
/* OSK Util gets updated */
|
/* OSK Util gets updated */
|
||||||
gfx_ctx_clear();
|
context->clear();
|
||||||
gfx_ctx_swap_buffers();
|
gfx_ctx_swap_buffers();
|
||||||
#ifdef HAVE_SYSUTILS
|
#ifdef HAVE_SYSUTILS
|
||||||
cellSysutilCheckCallback();
|
cellSysutilCheckCallback();
|
||||||
@ -1427,7 +1429,7 @@ static void producesettingentry(menu *current_menu, item *items, unsigned switch
|
|||||||
oskutil_start(&g_console.oskutil_handle);
|
oskutil_start(&g_console.oskutil_handle);
|
||||||
while(OSK_IS_RUNNING(g_console.oskutil_handle))
|
while(OSK_IS_RUNNING(g_console.oskutil_handle))
|
||||||
{
|
{
|
||||||
gfx_ctx_clear();
|
context->clear();
|
||||||
gfx_ctx_swap_buffers();
|
gfx_ctx_swap_buffers();
|
||||||
#ifdef HAVE_SYSUTILS
|
#ifdef HAVE_SYSUTILS
|
||||||
cellSysutilCheckCallback();
|
cellSysutilCheckCallback();
|
||||||
@ -2319,6 +2321,12 @@ void menu_init (void)
|
|||||||
snprintf(m_title, sizeof(m_title), "Libretro core: %s %s", id, info.library_version);
|
snprintf(m_title, sizeof(m_title), "Libretro core: %s %s", id, info.library_version);
|
||||||
|
|
||||||
rmenu_filebrowser_init();
|
rmenu_filebrowser_init();
|
||||||
|
|
||||||
|
#if defined(__CELLOS_LV2__)
|
||||||
|
context = &rmenu_ctx_ps3;
|
||||||
|
#elif defined(_XBOX1)
|
||||||
|
context = (rmenu_context_t*)&rmenu_ctx_xdk;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void menu_free (void)
|
void menu_free (void)
|
||||||
@ -2474,7 +2482,7 @@ void menu_loop(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
gfx_ctx_clear();
|
context->clear();
|
||||||
|
|
||||||
if(current_menu->enum_id == INGAME_MENU_RESIZE && (trig_state & RETRO_DEVICE_ID_JOYPAD_Y) || current_menu->enum_id == INGAME_MENU_SCREENSHOT)
|
if(current_menu->enum_id == INGAME_MENU_RESIZE && (trig_state & RETRO_DEVICE_ID_JOYPAD_Y) || current_menu->enum_id == INGAME_MENU_SCREENSHOT)
|
||||||
{
|
{
|
||||||
@ -2484,7 +2492,7 @@ void menu_loop(void)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
gfx_ctx_set_blend(true);
|
context->blend(true);
|
||||||
#ifdef __CELLOS_LV2__
|
#ifdef __CELLOS_LV2__
|
||||||
device_ptr->menu_render = true;
|
device_ptr->menu_render = true;
|
||||||
#endif
|
#endif
|
||||||
@ -2603,7 +2611,7 @@ void menu_loop(void)
|
|||||||
if(current_menu->enum_id == INGAME_MENU_RESIZE && (old_state & (1 << RETRO_DEVICE_ID_JOYPAD_Y)) || current_menu->enum_id == INGAME_MENU_SCREENSHOT)
|
if(current_menu->enum_id == INGAME_MENU_RESIZE && (old_state & (1 << RETRO_DEVICE_ID_JOYPAD_Y)) || current_menu->enum_id == INGAME_MENU_SCREENSHOT)
|
||||||
{ }
|
{ }
|
||||||
else
|
else
|
||||||
gfx_ctx_set_blend(false);
|
context->blend(false);
|
||||||
}while(g_console.menu_enable);
|
}while(g_console.menu_enable);
|
||||||
|
|
||||||
#ifdef __CELLOS_LV2__
|
#ifdef __CELLOS_LV2__
|
||||||
|
@ -224,6 +224,12 @@ enum
|
|||||||
#define MAX_NO_OF_PATH_SETTINGS SETTING_PATH_DEFAULT_ALL+1
|
#define MAX_NO_OF_PATH_SETTINGS SETTING_PATH_DEFAULT_ALL+1
|
||||||
#define MAX_NO_OF_CONTROLS_SETTINGS SETTING_CONTROLS_DEFAULT_ALL+1
|
#define MAX_NO_OF_CONTROLS_SETTINGS SETTING_CONTROLS_DEFAULT_ALL+1
|
||||||
|
|
||||||
|
typedef struct rmenu_context
|
||||||
|
{
|
||||||
|
void (*clear)(void);
|
||||||
|
void (*blend)(bool enable);
|
||||||
|
} rmenu_context_t;
|
||||||
|
|
||||||
void menu_init (void);
|
void menu_init (void);
|
||||||
void menu_loop (void);
|
void menu_loop (void);
|
||||||
void menu_free (void);
|
void menu_free (void);
|
||||||
|
@ -362,7 +362,7 @@ int main(void)
|
|||||||
config_set_defaults();
|
config_set_defaults();
|
||||||
input_gx.init();
|
input_gx.init();
|
||||||
|
|
||||||
video_start_func();
|
video_gx.start();
|
||||||
|
|
||||||
gx_video_t *gx = (gx_video_t*)driver.video_data;
|
gx_video_t *gx = (gx_video_t*)driver.video_data;
|
||||||
gx->menu_data = menu_framebuf;
|
gx->menu_data = menu_framebuf;
|
||||||
@ -420,7 +420,7 @@ begin_shutdown:
|
|||||||
|
|
||||||
input_gx.free(NULL);
|
input_gx.free(NULL);
|
||||||
|
|
||||||
video_stop_func();
|
video_gx.stop();
|
||||||
menu_free();
|
menu_free();
|
||||||
|
|
||||||
#ifdef HAVE_FILE_LOGGER
|
#ifdef HAVE_FILE_LOGGER
|
||||||
|
@ -284,7 +284,7 @@ int main(int argc, char *argv[])
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
video_start_func();
|
video_gl.start();
|
||||||
|
|
||||||
#ifdef HAVE_OSKUTIL
|
#ifdef HAVE_OSKUTIL
|
||||||
oskutil_init(&g_console.oskutil_handle, 0);
|
oskutil_init(&g_console.oskutil_handle, 0);
|
||||||
@ -342,7 +342,7 @@ begin_shutdown:
|
|||||||
rarch_main_deinit();
|
rarch_main_deinit();
|
||||||
|
|
||||||
input_ps3.free(NULL);
|
input_ps3.free(NULL);
|
||||||
video_stop_func();
|
video_gl.stop();
|
||||||
menu_free();
|
menu_free();
|
||||||
|
|
||||||
#ifdef HAVE_OSKUTIL
|
#ifdef HAVE_OSKUTIL
|
||||||
|
@ -170,7 +170,11 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
input_xinput.post_init();
|
input_xinput.post_init();
|
||||||
|
|
||||||
video_start_func();
|
#if defined(HAVE_D3D9) || defined(HAVE_D3D8)
|
||||||
|
video_xdk_d3d.start();
|
||||||
|
#else
|
||||||
|
video_null.start();
|
||||||
|
#endif
|
||||||
|
|
||||||
system_init();
|
system_init();
|
||||||
|
|
||||||
@ -206,7 +210,11 @@ begin_shutdown:
|
|||||||
rarch_config_save(default_paths.config_file);
|
rarch_config_save(default_paths.config_file);
|
||||||
|
|
||||||
menu_free();
|
menu_free();
|
||||||
video_stop_func();
|
#if defined(HAVE_D3D8) || defined(HAVE_D3D9)
|
||||||
|
video_xdk_d3d.stop();
|
||||||
|
#else
|
||||||
|
video_null.stop();
|
||||||
|
#endif
|
||||||
input_xinput.free(NULL);
|
input_xinput.free(NULL);
|
||||||
|
|
||||||
if(g_console.return_to_launcher)
|
if(g_console.return_to_launcher)
|
||||||
|
Loading…
Reference in New Issue
Block a user