mirror of
https://github.com/libretro/RetroArch
synced 2025-03-23 01:21:47 +00:00
(PS3) Implemented a bunch of settings :
* Audio can be muted * Buffering mode can be changed from double to triple buffering and vice versa * Default ROM startup dir and cheat path can be specified - now to save the config file at exit
This commit is contained in:
parent
bbd6e16bbe
commit
73fa4ea199
@ -182,6 +182,9 @@ struct console_settings
|
||||
uint32_t *supported_resolutions;
|
||||
uint32_t supported_resolutions_count;
|
||||
char rom_path[PATH_MAX];
|
||||
char default_rom_startup_dir[PATH_MAX];
|
||||
char default_savestate_dir[PATH_MAX];
|
||||
char default_sram_dir[PATH_MAX];
|
||||
};
|
||||
#endif
|
||||
|
||||
|
@ -105,12 +105,14 @@ static void set_default_settings(void)
|
||||
g_settings.video.second_pass_smooth = true;
|
||||
g_settings.video.smooth = true;
|
||||
g_settings.video.vsync = true;
|
||||
strlcpy(g_settings.cheat_database, usrDirPath, sizeof(g_settings.cheat_database));
|
||||
|
||||
// g_console
|
||||
g_console.screenshots_enable = false;
|
||||
g_console.throttle_enable = true;
|
||||
g_console.triple_buffering_enable = true;
|
||||
g_console.current_resolution_id = CELL_VIDEO_OUT_RESOLUTION_UNDEFINED;
|
||||
strlcpy(g_console.default_rom_startup_dir, "/", sizeof(g_console.default_rom_startup_dir));
|
||||
|
||||
// g_extern
|
||||
g_extern.state_slot = 0;
|
||||
|
@ -405,6 +405,21 @@ static item items_generalsettings[MAX_NO_OF_CONTROLS_SETTINGS] =
|
||||
0,
|
||||
1
|
||||
},
|
||||
{
|
||||
SETTING_EMU_AUDIO_MUTE,
|
||||
"Mute Audio",
|
||||
"",
|
||||
0.0f,
|
||||
0.0f,
|
||||
YELLOW,
|
||||
"INFO - [Mute Audio] is set to 'OFF'.",
|
||||
WHITE,
|
||||
0.91f,
|
||||
0.09f,
|
||||
0.83f,
|
||||
0,
|
||||
1
|
||||
},
|
||||
{
|
||||
SETTING_EMU_AUDIO_DEFAULT_ALL,
|
||||
"DEFAULT",
|
||||
|
78
ps3/menu.c
78
ps3/menu.c
@ -468,8 +468,10 @@ static void select_directory(uint32_t menu_id)
|
||||
case PATH_SRAM_DIR_CHOICE:
|
||||
break;
|
||||
case PATH_DEFAULT_ROM_DIR_CHOICE:
|
||||
strcpy(g_console.default_rom_startup_dir, path);
|
||||
break;
|
||||
case PATH_CHEATS_DIR_CHOICE:
|
||||
strcpy(g_settings.cheat_database, path);
|
||||
break;
|
||||
}
|
||||
menuStackindex--;
|
||||
@ -485,8 +487,10 @@ static void select_directory(uint32_t menu_id)
|
||||
case PATH_SRAM_DIR_CHOICE:
|
||||
break;
|
||||
case PATH_DEFAULT_ROM_DIR_CHOICE:
|
||||
strcpy(g_console.default_rom_startup_dir, path);
|
||||
break;
|
||||
case PATH_CHEATS_DIR_CHOICE:
|
||||
strcpy(g_settings.cheat_database, path);
|
||||
break;
|
||||
}
|
||||
menuStackindex--;
|
||||
@ -718,6 +722,20 @@ static void set_setting_label(menu * menu_obj, int currentsetting)
|
||||
snprintf(menu_obj->items[currentsetting].comment, sizeof(menu_obj->items[currentsetting].comment), "INFO - [Rewind] feature is set to 'OFF'.");
|
||||
}
|
||||
break;
|
||||
case SETTING_EMU_AUDIO_MUTE:
|
||||
if(g_extern.audio_data.mute)
|
||||
{
|
||||
snprintf(menu_obj->items[currentsetting].setting_text, sizeof(menu_obj->items[currentsetting].setting_text), "ON");
|
||||
menu_obj->items[currentsetting].text_color = ORANGE;
|
||||
snprintf(menu_obj->items[currentsetting].comment, sizeof(menu_obj->items[currentsetting].comment), "INFO - [Audio Mute] feature is set to 'ON'. The game audio will be muted.");
|
||||
}
|
||||
else
|
||||
{
|
||||
snprintf(menu_obj->items[currentsetting].setting_text, sizeof(menu_obj->items[currentsetting].setting_text), "OFF");
|
||||
menu_obj->items[currentsetting].text_color = GREEN;
|
||||
snprintf(menu_obj->items[currentsetting].comment, sizeof(menu_obj->items[currentsetting].comment), "INFO - [Audio Mute] feature is set to 'OFF'.");
|
||||
}
|
||||
break;
|
||||
case SETTING_EMU_VIDEO_DEFAULT_ALL:
|
||||
if(menu_obj->selected == currentsetting)
|
||||
menu_obj->items[currentsetting].text_color = GREEN;
|
||||
@ -731,12 +749,24 @@ static void set_setting_label(menu * menu_obj, int currentsetting)
|
||||
menu_obj->items[currentsetting].text_color = ORANGE;
|
||||
break;
|
||||
case SETTING_PATH_DEFAULT_ROM_DIRECTORY:
|
||||
if(!(strcmp(g_console.default_rom_startup_dir, "/")))
|
||||
menu_obj->items[currentsetting].text_color = GREEN;
|
||||
else
|
||||
menu_obj->items[currentsetting].text_color = ORANGE;
|
||||
|
||||
snprintf(menu_obj->items[currentsetting].setting_text, sizeof(menu_obj->items[currentsetting].setting_text), g_console.default_rom_startup_dir);
|
||||
break;
|
||||
case SETTING_PATH_SAVESTATES_DIRECTORY:
|
||||
break;
|
||||
case SETTING_PATH_SRAM_DIRECTORY:
|
||||
break;
|
||||
case SETTING_PATH_CHEATS:
|
||||
if(!(strcmp(g_settings.cheat_database, usrDirPath)))
|
||||
menu_obj->items[currentsetting].text_color = GREEN;
|
||||
else
|
||||
menu_obj->items[currentsetting].text_color = ORANGE;
|
||||
|
||||
snprintf(menu_obj->items[currentsetting].setting_text, sizeof(menu_obj->items[currentsetting].setting_text), g_settings.cheat_database);
|
||||
break;
|
||||
case SETTING_PATH_DEFAULT_ALL:
|
||||
if(menu_obj->selected == currentsetting)
|
||||
@ -1023,6 +1053,20 @@ static void producesettingentry(menu * menu_obj, uint64_t switchvalue)
|
||||
}
|
||||
break;
|
||||
case SETTING_TRIPLE_BUFFERING:
|
||||
if(CTRL_LEFT(state) || CTRL_LSTICK_LEFT(state) || CTRL_RIGHT(state) || CTRL_LSTICK_RIGHT(state))
|
||||
{
|
||||
g_console.triple_buffering_enable = !g_console.triple_buffering_enable;
|
||||
ps3graphics_video_reinit();
|
||||
set_text_message("", 7);
|
||||
}
|
||||
if(CTRL_START(state))
|
||||
{
|
||||
if(!g_console.triple_buffering_enable)
|
||||
{
|
||||
g_console.triple_buffering_enable = true;
|
||||
ps3graphics_video_reinit();
|
||||
}
|
||||
}
|
||||
break;
|
||||
case SETTING_ENABLE_SCREENSHOTS:
|
||||
if(CTRL_LEFT(state) || CTRL_LSTICK_LEFT(state) || CTRL_RIGHT(state) || CTRL_LSTICK_RIGHT(state))
|
||||
@ -1096,17 +1140,49 @@ static void producesettingentry(menu * menu_obj, uint64_t switchvalue)
|
||||
g_settings.rewind_enable = false;
|
||||
}
|
||||
break;
|
||||
case SETTING_EMU_AUDIO_MUTE:
|
||||
if(CTRL_LEFT(state) || CTRL_LSTICK_LEFT(state) || CTRL_RIGHT(state) || CTRL_LSTICK_RIGHT(state) || CTRL_CROSS(state))
|
||||
{
|
||||
g_extern.audio_data.mute = !g_extern.audio_data.mute;
|
||||
|
||||
set_text_message("", 7);
|
||||
}
|
||||
if(CTRL_START(state))
|
||||
{
|
||||
g_extern.audio_data.mute = false;
|
||||
}
|
||||
break;
|
||||
case SETTING_EMU_VIDEO_DEFAULT_ALL:
|
||||
break;
|
||||
case SETTING_EMU_AUDIO_DEFAULT_ALL:
|
||||
break;
|
||||
case SETTING_PATH_DEFAULT_ROM_DIRECTORY:
|
||||
if(CTRL_LEFT(state) || CTRL_LSTICK_LEFT(state) || CTRL_RIGHT(state) || CTRL_LSTICK_RIGHT(state) || CTRL_CROSS(state))
|
||||
{
|
||||
menuStackindex++;
|
||||
menuStack[menuStackindex] = menu_filebrowser;
|
||||
menuStack[menuStackindex].enum_id = PATH_DEFAULT_ROM_DIR_CHOICE;
|
||||
set_initial_dir_tmpbrowser = true;
|
||||
}
|
||||
|
||||
if(CTRL_START(state))
|
||||
strcpy(g_console.default_rom_startup_dir, "/");
|
||||
break;
|
||||
case SETTING_PATH_SAVESTATES_DIRECTORY:
|
||||
break;
|
||||
case SETTING_PATH_SRAM_DIRECTORY:
|
||||
break;
|
||||
case SETTING_PATH_CHEATS:
|
||||
if(CTRL_LEFT(state) || CTRL_LSTICK_LEFT(state) || CTRL_RIGHT(state) || CTRL_LSTICK_RIGHT(state) || CTRL_CROSS(state))
|
||||
{
|
||||
menuStackindex++;
|
||||
menuStack[menuStackindex] = menu_filebrowser;
|
||||
menuStack[menuStackindex].enum_id = PATH_CHEATS_DIR_CHOICE;
|
||||
set_initial_dir_tmpbrowser = true;
|
||||
}
|
||||
|
||||
if(CTRL_START(state))
|
||||
strcpy(g_settings.cheat_database, usrDirPath);
|
||||
break;
|
||||
case SETTING_PATH_DEFAULT_ALL:
|
||||
break;
|
||||
@ -1373,7 +1449,7 @@ static void select_rom(void)
|
||||
|
||||
void menu_init (void)
|
||||
{
|
||||
filebrowser_new(&browser, "/", ssnes_console_get_rom_ext());
|
||||
filebrowser_new(&browser, g_console.default_rom_startup_dir, ssnes_console_get_rom_ext());
|
||||
}
|
||||
|
||||
void menu_loop(void)
|
||||
|
@ -99,6 +99,7 @@ enum
|
||||
SETTING_EMU_DEFAULT_ALL,
|
||||
SETTING_EMU_REWIND_ENABLED,
|
||||
SETTING_EMU_VIDEO_DEFAULT_ALL,
|
||||
SETTING_EMU_AUDIO_MUTE,
|
||||
SETTING_EMU_AUDIO_DEFAULT_ALL,
|
||||
/* end of port-specific */
|
||||
SETTING_PATH_DEFAULT_ROM_DIRECTORY,
|
||||
|
@ -816,17 +816,20 @@ static bool psgl_init_device(gl_t *gl, const video_info_t *video, uint32_t resol
|
||||
|
||||
psglInit(&options);
|
||||
|
||||
PSGLdeviceParameters params = {
|
||||
.enable = PSGL_DEVICE_PARAMETERS_COLOR_FORMAT |
|
||||
PSGL_DEVICE_PARAMETERS_DEPTH_FORMAT |
|
||||
PSGL_DEVICE_PARAMETERS_MULTISAMPLING_MODE |
|
||||
PSGL_DEVICE_PARAMETERS_BUFFERING_MODE,
|
||||
PSGLdeviceParameters params;
|
||||
|
||||
.colorFormat = GL_ARGB_SCE,
|
||||
.depthFormat = GL_NONE,
|
||||
.multisamplingMode = GL_MULTISAMPLING_NONE_SCE,
|
||||
.bufferingMode = PSGL_BUFFERING_MODE_TRIPLE,
|
||||
};
|
||||
params.enable = PSGL_DEVICE_PARAMETERS_COLOR_FORMAT | \
|
||||
PSGL_DEVICE_PARAMETERS_DEPTH_FORMAT | \
|
||||
PSGL_DEVICE_PARAMETERS_MULTISAMPLING_MODE;
|
||||
params.colorFormat = GL_ARGB_SCE;
|
||||
params.depthFormat = GL_NONE;
|
||||
params.multisamplingMode = GL_MULTISAMPLING_NONE_SCE;
|
||||
|
||||
if(g_console.triple_buffering_enable)
|
||||
{
|
||||
params.enable |= PSGL_DEVICE_PARAMETERS_BUFFERING_MODE;
|
||||
params.bufferingMode = PSGL_BUFFERING_MODE_TRIPLE;
|
||||
}
|
||||
|
||||
if(resolution_id)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user