mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 04:20:28 +00:00
(PS3) Sysutil exit callback works in menu too
This commit is contained in:
parent
83c3d7be57
commit
2dce493240
18
ps3/main.c
18
ps3/main.c
@ -213,6 +213,21 @@ static void get_path_settings(bool multiman_support)
|
||||
}
|
||||
}
|
||||
|
||||
static void callback_sysutil_exit(uint64_t status, uint64_t param, void *userdata)
|
||||
{
|
||||
(void) param;
|
||||
(void) userdata;
|
||||
|
||||
switch (status)
|
||||
{
|
||||
case CELL_SYSUTIL_REQUEST_EXITGAME:
|
||||
menu_is_running = 0;
|
||||
g_quitting = true;
|
||||
sys_process_exit(0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Temporary, a more sane implementation should go here.
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
@ -222,6 +237,9 @@ int main(int argc, char *argv[])
|
||||
cellSysmoduleLoadModule(CELL_SYSMODULE_FS);
|
||||
cellSysmoduleLoadModule(CELL_SYSMODULE_SYSUTIL_GAME);
|
||||
|
||||
SSNES_LOG("Registering Callback\n");
|
||||
cellSysutilRegisterCallback(0, callback_sysutil_exit, NULL);
|
||||
|
||||
g_rom_loaded = false;
|
||||
#ifdef MULTIMAN_SUPPORT
|
||||
return_to_MM = true;
|
||||
|
215
ps3/menu.c
215
ps3/menu.c
@ -498,225 +498,10 @@ static void do_pathChoice(uint32_t menu_id)
|
||||
|
||||
static void display_help_text(int currentsetting)
|
||||
{
|
||||
switch(currentsetting)
|
||||
{
|
||||
case SETTING_HW_TEXTURE_FILTER:
|
||||
case SETTING_HW_TEXTURE_FILTER_2:
|
||||
case SETTING_SCALE_ENABLED:
|
||||
case SETTING_ENABLE_SCREENSHOTS:
|
||||
case SETTING_TRIPLE_BUFFERING:
|
||||
case SETTING_THROTTLE_MODE:
|
||||
case SETTING_APPLY_SHADER_PRESET_ON_STARTUP:
|
||||
print_help_message_yesno(menu_generalvideosettings, currentsetting);
|
||||
break;
|
||||
case SETTING_SCALE_FACTOR:
|
||||
snprintf(menu_generalvideosettings.items[currentsetting].comment, sizeof(menu_generalvideosettings.items[currentsetting].comment), "INFO - [Custom Scaling Factor] is set to: %dx (X), %dx (Y).", g_settings.video.fbo_scale_x, g_settings.video.fbo_scale_y);
|
||||
print_help_message(menu_generalvideosettings, currentsetting);
|
||||
break;
|
||||
case SETTING_KEEP_ASPECT_RATIO:
|
||||
break;
|
||||
case SETTING_SOUND_MODE:
|
||||
print_help_message(menu_generalaudiosettings, currentsetting);
|
||||
break;
|
||||
case SETTING_BORDER:
|
||||
/*case SETTING_GAME_AWARE_SHADER:*/
|
||||
case SETTING_SHADER:
|
||||
case SETTING_SHADER_2:
|
||||
case SETTING_FONT_SIZE:
|
||||
case SETTING_CHANGE_RESOLUTION:
|
||||
case SETTING_HW_OVERSCAN_AMOUNT:
|
||||
case SETTING_DEFAULT_VIDEO_ALL:
|
||||
case SETTING_SAVE_SHADER_PRESET:
|
||||
print_help_message(menu_generalvideosettings, currentsetting);
|
||||
break;
|
||||
case SETTING_DEFAULT_AUDIO_ALL:
|
||||
case SETTING_RSOUND_SERVER_IP_ADDRESS:
|
||||
print_help_message(menu_generalaudiosettings, currentsetting);
|
||||
break;
|
||||
case SETTING_CONTROLS_SCHEME:
|
||||
break;
|
||||
case SETTING_CONTROLS_DPAD_UP:
|
||||
case SETTING_CONTROLS_DPAD_DOWN:
|
||||
case SETTING_CONTROLS_DPAD_LEFT:
|
||||
case SETTING_CONTROLS_DPAD_RIGHT:
|
||||
case SETTING_CONTROLS_BUTTON_CIRCLE:
|
||||
case SETTING_CONTROLS_BUTTON_CROSS:
|
||||
case SETTING_CONTROLS_BUTTON_TRIANGLE:
|
||||
case SETTING_CONTROLS_BUTTON_SQUARE:
|
||||
case SETTING_CONTROLS_BUTTON_SELECT:
|
||||
case SETTING_CONTROLS_BUTTON_START:
|
||||
case SETTING_CONTROLS_BUTTON_L1:
|
||||
case SETTING_CONTROLS_BUTTON_R1:
|
||||
case SETTING_CONTROLS_BUTTON_L2:
|
||||
case SETTING_CONTROLS_BUTTON_R2:
|
||||
case SETTING_CONTROLS_BUTTON_L3:
|
||||
case SETTING_CONTROLS_BUTTON_R3:
|
||||
case SETTING_CONTROLS_BUTTON_L2_BUTTON_L3:
|
||||
case SETTING_CONTROLS_BUTTON_L2_BUTTON_R3:
|
||||
case SETTING_CONTROLS_BUTTON_L2_ANALOG_R_RIGHT:
|
||||
case SETTING_CONTROLS_BUTTON_L2_ANALOG_R_LEFT:
|
||||
case SETTING_CONTROLS_BUTTON_L2_ANALOG_R_UP:
|
||||
case SETTING_CONTROLS_BUTTON_L2_ANALOG_R_DOWN:
|
||||
case SETTING_CONTROLS_BUTTON_R2_ANALOG_R_RIGHT:
|
||||
case SETTING_CONTROLS_BUTTON_R2_ANALOG_R_LEFT:
|
||||
case SETTING_CONTROLS_BUTTON_R2_ANALOG_R_UP:
|
||||
case SETTING_CONTROLS_BUTTON_R2_ANALOG_R_DOWN:
|
||||
case SETTING_CONTROLS_BUTTON_R2_BUTTON_R3:
|
||||
case SETTING_CONTROLS_BUTTON_R3_BUTTON_L3:
|
||||
case SETTING_CONTROLS_ANALOG_R_UP:
|
||||
case SETTING_CONTROLS_ANALOG_R_DOWN:
|
||||
case SETTING_CONTROLS_ANALOG_R_LEFT:
|
||||
case SETTING_CONTROLS_ANALOG_R_RIGHT:
|
||||
//cellDbgFontPrintf(0.09f, 0.83f, 0.86f, LIGHTBLUE, "INFO - [%s] on the PS3 controller is mapped to action:\n[%s].", menu_controlssettings.items[currentsetting].text, Input_PrintMappedButton(control_binds[currently_selected_controller_menu][currentsetting-FIRST_CONTROL_BIND]));
|
||||
break;
|
||||
case SETTING_CONTROLS_SAVE_CUSTOM_CONTROLS:
|
||||
cellDbgFontPuts(0.09f, 0.83f, 0.86f, LIGHTBLUE, "INFO - Save the custom control settings.\nNOTE: This option will not do anything with Control Scheme [New] or [Default].");
|
||||
break;
|
||||
case SETTING_CONTROLS_DEFAULT_ALL:
|
||||
cellDbgFontPuts(0.09f, 0.83f, 0.86f, LIGHTBLUE, "INFO - Set all 'Controls' settings back to their default values.");
|
||||
break;
|
||||
case SETTING_EMU_CURRENT_SAVE_STATE_SLOT:
|
||||
case SETTING_EMU_DEFAULT_ALL:
|
||||
print_help_message(menu_emu_settings, currentsetting);
|
||||
case SETTING_EMU_VIDEO_DEFAULT_ALL:
|
||||
print_help_message(menu_emu_videosettings, currentsetting);
|
||||
break;
|
||||
case SETTING_EMU_AUDIO_DEFAULT_ALL:
|
||||
print_help_message(menu_emu_audiosettings, currentsetting);
|
||||
break;
|
||||
case SETTING_PATH_SAVESTATES_DIRECTORY:
|
||||
case SETTING_PATH_DEFAULT_ROM_DIRECTORY:
|
||||
case SETTING_PATH_SRAM_DIRECTORY:
|
||||
case SETTING_PATH_CHEATS:
|
||||
case SETTING_PATH_DEFAULT_ALL:
|
||||
print_help_message(menu_pathsettings, currentsetting);
|
||||
break;
|
||||
/*
|
||||
case SETTING_PAL60_MODE:
|
||||
cellDbgFontPrintf(0.09f, 0.83f, 0.86f, LIGHTBLUE, "%s", Settings.PS3PALTemporalMode60Hz ? "INFO - PAL 60Hz mode is enabled - 60Hz NTSC games will run correctly at 576p PAL\nresolution. NOTE: This is configured on-the-fly." : "INFO - PAL 60Hz mode disabled - 50Hz PAL games will run correctly at 576p PAL\nresolution. NOTE: This is configured on-the-fly.");
|
||||
break;
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
static void display_label_value(uint64_t switchvalue)
|
||||
{
|
||||
switch(switchvalue)
|
||||
{
|
||||
case SETTING_CHANGE_RESOLUTION:
|
||||
{
|
||||
cellDbgFontPrintf(0.5f, menu_generalvideosettings.items[switchvalue].text_ypos, FONT_SIZE, GREEN, "Unimplemented");
|
||||
cellDbgFontDraw();
|
||||
break;
|
||||
}
|
||||
#if 0
|
||||
case SETTING_PAL60_MODE:
|
||||
cellDbgFontPuts (menu_generalvideosettings.items[switchvalue].text_xpos, menu_generalvideosettings.items[switchvalue].text_ypos, FONT_SIZE, currently_selected_setting == menu_generalvideosettings.items[switchvalue].enum_id ? YELLOW : WHITE, "PAL60 Mode (576p only)");
|
||||
cellDbgFontPrintf (0.5f, menu_generalvideosettings.items[switchvalue].text_ypos, FONT_SIZE, Settings.PS3PALTemporalMode60Hz ? ORANGE : GREEN, Settings.PS3PALTemporalMode60Hz ? "ON" : "OFF");
|
||||
break;
|
||||
#endif
|
||||
#if 0
|
||||
case SETTING_GAME_AWARE_SHADER:
|
||||
cellDbgFontPrintf(0.5f, menu_generalvideosettings.items[menu_generalvideosettings.items[switchvalue].enum_id].text_ypos, FONT_SIZE, Settings.GameAwareShaderPath == "" ? GREEN : ORANGE, "%s", Settings.GameAwareShaderPath);
|
||||
break;
|
||||
#endif
|
||||
case SETTING_SHADER_PRESETS:
|
||||
break;
|
||||
case SETTING_BORDER:
|
||||
{
|
||||
}
|
||||
break;
|
||||
case SETTING_SHADER:
|
||||
{
|
||||
}
|
||||
break;
|
||||
case SETTING_SHADER_2:
|
||||
{
|
||||
}
|
||||
break;
|
||||
case SETTING_FONT_SIZE:
|
||||
cellDbgFontPrintf(0.5f, menu_generalvideosettings.items[switchvalue].text_ypos, FONT_SIZE, GREEN, "%f", FONT_SIZE);
|
||||
break;
|
||||
case SETTING_KEEP_ASPECT_RATIO:
|
||||
cellDbgFontDraw();
|
||||
break;
|
||||
case SETTING_HW_TEXTURE_FILTER:
|
||||
cellDbgFontPrintf(0.5f, menu_generalvideosettings.items[switchvalue].text_ypos, FONT_SIZE, g_settings.video.smooth ? GREEN : ORANGE, g_settings.video.smooth ? "Linear interpolation" : "Point filtering");
|
||||
break;
|
||||
case SETTING_HW_TEXTURE_FILTER_2:
|
||||
cellDbgFontPrintf(0.5f, menu_generalvideosettings.items[switchvalue].text_ypos, FONT_SIZE, !(menu_generalvideosettings.items[menu_generalvideosettings.items[switchvalue].enum_id].enabled) ? SILVER : g_settings.video.second_pass_smooth ? GREEN : ORANGE, g_settings.video.second_pass_smooth ? "Linear interpolation" : "Point filtering");
|
||||
break;
|
||||
case SETTING_SCALE_FACTOR:
|
||||
cellDbgFontPrintf(0.5f, menu_generalvideosettings.items[menu_generalvideosettings.items[switchvalue].enum_id].text_ypos, FONT_SIZE, (menu_generalvideosettings.items[menu_generalvideosettings.items[switchvalue].enum_id].enabled == 0) ? SILVER : g_settings.video.fbo_scale_x == 2 && g_settings.video.fbo_scale_y ? GREEN : ORANGE, "%dx (X), %dx (Y)", g_settings.video.fbo_scale_x, g_settings.video.fbo_scale_y);
|
||||
break;
|
||||
case SETTING_HW_OVERSCAN_AMOUNT:
|
||||
break;
|
||||
case SETTING_SOUND_MODE:
|
||||
break;
|
||||
case SETTING_RSOUND_SERVER_IP_ADDRESS:
|
||||
break;
|
||||
case SETTING_THROTTLE_MODE:
|
||||
case SETTING_ENABLE_SCREENSHOTS:
|
||||
case SETTING_TRIPLE_BUFFERING:
|
||||
case SETTING_SCALE_ENABLED:
|
||||
case SETTING_APPLY_SHADER_PRESET_ON_STARTUP:
|
||||
break;
|
||||
case SETTING_EMU_CURRENT_SAVE_STATE_SLOT:
|
||||
cellDbgFontPrintf(0.5f, menu_emu_settings.items[menu_emu_settings.items[switchvalue].enum_id].text_ypos, FONT_SIZE, g_extern.state_slot == 0 ? GREEN : ORANGE, "%d", g_extern.state_slot);
|
||||
break;
|
||||
case SETTING_PATH_DEFAULT_ROM_DIRECTORY:
|
||||
break;
|
||||
case SETTING_PATH_SAVESTATES_DIRECTORY:
|
||||
break;
|
||||
case SETTING_PATH_SRAM_DIRECTORY:
|
||||
break;
|
||||
case SETTING_PATH_CHEATS:
|
||||
cellDbgFontPuts (0.5f, menu_pathsettings.items[switchvalue].text_ypos, FONT_SIZE, !(strcmp(g_settings.cheat_database,usrDirPath)) ? GREEN : ORANGE, g_settings.cheat_database);
|
||||
break;
|
||||
case SETTING_DEFAULT_VIDEO_ALL:
|
||||
case SETTING_SAVE_SHADER_PRESET:
|
||||
case SETTING_DEFAULT_AUDIO_ALL:
|
||||
case SETTING_CONTROLS_SAVE_CUSTOM_CONTROLS:
|
||||
cellDbgFontDraw();
|
||||
break;
|
||||
case SETTING_CONTROLS_SCHEME:
|
||||
break;
|
||||
case SETTING_CONTROLS_NUMBER:
|
||||
break;
|
||||
case SETTING_CONTROLS_DPAD_UP:
|
||||
case SETTING_CONTROLS_DPAD_DOWN:
|
||||
case SETTING_CONTROLS_DPAD_LEFT:
|
||||
case SETTING_CONTROLS_DPAD_RIGHT:
|
||||
case SETTING_CONTROLS_BUTTON_CIRCLE:
|
||||
case SETTING_CONTROLS_BUTTON_CROSS:
|
||||
case SETTING_CONTROLS_BUTTON_TRIANGLE:
|
||||
case SETTING_CONTROLS_BUTTON_SQUARE:
|
||||
case SETTING_CONTROLS_BUTTON_SELECT:
|
||||
case SETTING_CONTROLS_BUTTON_START:
|
||||
case SETTING_CONTROLS_BUTTON_L1:
|
||||
case SETTING_CONTROLS_BUTTON_R1:
|
||||
case SETTING_CONTROLS_BUTTON_L2:
|
||||
case SETTING_CONTROLS_BUTTON_R2:
|
||||
case SETTING_CONTROLS_BUTTON_L3:
|
||||
case SETTING_CONTROLS_BUTTON_R3:
|
||||
case SETTING_CONTROLS_BUTTON_L2_BUTTON_L3:
|
||||
case SETTING_CONTROLS_BUTTON_L2_BUTTON_R3:
|
||||
case SETTING_CONTROLS_BUTTON_L2_ANALOG_R_RIGHT:
|
||||
case SETTING_CONTROLS_BUTTON_L2_ANALOG_R_LEFT:
|
||||
case SETTING_CONTROLS_BUTTON_L2_ANALOG_R_UP:
|
||||
case SETTING_CONTROLS_BUTTON_L2_ANALOG_R_DOWN:
|
||||
case SETTING_CONTROLS_BUTTON_R2_ANALOG_R_RIGHT:
|
||||
case SETTING_CONTROLS_BUTTON_R2_ANALOG_R_LEFT:
|
||||
case SETTING_CONTROLS_BUTTON_R2_ANALOG_R_UP:
|
||||
case SETTING_CONTROLS_BUTTON_R2_ANALOG_R_DOWN:
|
||||
case SETTING_CONTROLS_BUTTON_R2_BUTTON_R3:
|
||||
case SETTING_CONTROLS_BUTTON_R3_BUTTON_L3:
|
||||
case SETTING_CONTROLS_ANALOG_R_UP:
|
||||
case SETTING_CONTROLS_ANALOG_R_DOWN:
|
||||
case SETTING_CONTROLS_ANALOG_R_LEFT:
|
||||
case SETTING_CONTROLS_ANALOG_R_RIGHT:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void apply_scaling(void)
|
||||
|
@ -89,7 +89,7 @@ static bool load_fbo_proc(void) { return true; }
|
||||
#endif
|
||||
#define TEXTURES_MASK (TEXTURES - 1)
|
||||
|
||||
static bool g_quitting;
|
||||
bool g_quitting;
|
||||
unsigned g_frame_count;
|
||||
void *g_gl;
|
||||
|
||||
@ -881,21 +881,6 @@ static bool psgl_init_device(gl_t *gl, const video_info_t *video, uint32_t resol
|
||||
return true;
|
||||
}
|
||||
|
||||
void callback_sysutil_exit(uint64_t status, uint64_t param, void *userdata)
|
||||
{
|
||||
(void) param;
|
||||
(void) userdata;
|
||||
|
||||
switch (status)
|
||||
{
|
||||
case CELL_SYSUTIL_REQUEST_EXITGAME:
|
||||
g_quitting = true;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void psgl_init_dbgfont(gl_t *gl)
|
||||
{
|
||||
CellDbgFontConfig cfg;
|
||||
@ -943,8 +928,6 @@ static void *gl_init(const video_info_t *video, const input_driver_t **input, vo
|
||||
gl_init_fbo(gl, SSNES_SCALE_BASE * video->input_scale,
|
||||
SSNES_SCALE_BASE * video->input_scale);
|
||||
|
||||
SSNES_LOG("Registering Callback\n");
|
||||
cellSysutilRegisterCallback(0, callback_sysutil_exit, NULL);
|
||||
|
||||
gl->keep_aspect = video->force_aspect;
|
||||
|
||||
|
@ -22,6 +22,7 @@ extern char special_action_msg[256];
|
||||
extern uint32_t special_action_msg_expired;
|
||||
extern unsigned g_frame_count;
|
||||
extern bool g_rom_loaded;
|
||||
extern bool g_quitting;
|
||||
|
||||
extern char contentInfoPath[MAX_PATH_LENGTH];
|
||||
extern char usrDirPath[MAX_PATH_LENGTH];
|
||||
|
Loading…
x
Reference in New Issue
Block a user