mirror of
https://github.com/CTCaer/RetroArch.git
synced 2024-12-23 11:18:25 +00:00
(GX) Add rewind option
This commit is contained in:
parent
b1cb4a7cd4
commit
83d01e6008
@ -30,12 +30,6 @@
|
|||||||
#define TERM_WIDTH (((RGUI_WIDTH - TERM_START_X - 15) / (FONT_WIDTH_STRIDE)))
|
#define TERM_WIDTH (((RGUI_WIDTH - TERM_START_X - 15) / (FONT_WIDTH_STRIDE)))
|
||||||
#define TERM_HEIGHT (((RGUI_HEIGHT - TERM_START_Y - 15) / (FONT_HEIGHT_STRIDE)) - 1)
|
#define TERM_HEIGHT (((RGUI_HEIGHT - TERM_START_Y - 15) / (FONT_HEIGHT_STRIDE)) - 1)
|
||||||
|
|
||||||
#ifdef HAVE_HDD_CACHE_PARTITION
|
|
||||||
#define LAST_ZIP_EXTRACT ZIP_EXTRACT_TO_CACHE_DIR
|
|
||||||
#else
|
|
||||||
#define LAST_ZIP_EXTRACT ZIP_EXTRACT_TO_CURRENT_DIR_AND_LOAD_FIRST_FILE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef GEKKO
|
#ifdef GEKKO
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
@ -419,6 +413,12 @@ static void render_text(rgui_handle_t *rgui)
|
|||||||
snprintf(type_str, sizeof(type_str), "(DEV)");
|
snprintf(type_str, sizeof(type_str), "(DEV)");
|
||||||
w = 5;
|
w = 5;
|
||||||
break;
|
break;
|
||||||
|
case RGUI_SETTINGS_REWIND_ENABLE:
|
||||||
|
snprintf(type_str, sizeof(type_str), g_settings.rewind_enable ? "ON" : "OFF");
|
||||||
|
break;
|
||||||
|
case RGUI_SETTINGS_REWIND_GRANULARITY:
|
||||||
|
snprintf(type_str, sizeof(type_str), "%d", g_settings.rewind_granularity);
|
||||||
|
break;
|
||||||
case RGUI_SETTINGS_SAVESTATE_SAVE:
|
case RGUI_SETTINGS_SAVESTATE_SAVE:
|
||||||
case RGUI_SETTINGS_SAVESTATE_LOAD:
|
case RGUI_SETTINGS_SAVESTATE_LOAD:
|
||||||
snprintf(type_str, sizeof(type_str), "%d", g_extern.state_slot);
|
snprintf(type_str, sizeof(type_str), "%d", g_extern.state_slot);
|
||||||
@ -569,6 +569,28 @@ static int rgui_settings_toggle_setting(rgui_file_type_t setting, rgui_action_t
|
|||||||
|
|
||||||
switch (setting)
|
switch (setting)
|
||||||
{
|
{
|
||||||
|
case RGUI_SETTINGS_REWIND_ENABLE:
|
||||||
|
if (action == RGUI_ACTION_OK || action == RGUI_ACTION_LEFT || action == RGUI_ACTION_RIGHT)
|
||||||
|
{
|
||||||
|
rmenu_settings_set(S_REWIND);
|
||||||
|
|
||||||
|
if (g_extern.lifecycle_mode_state & (1ULL << MODE_INFO_DRAW))
|
||||||
|
rmenu_settings_msg(S_MSG_RESTART_RARCH, S_DELAY_180);
|
||||||
|
}
|
||||||
|
else if (action == RGUI_ACTION_START)
|
||||||
|
g_settings.rewind_enable = false;
|
||||||
|
break;
|
||||||
|
case RGUI_SETTINGS_REWIND_GRANULARITY:
|
||||||
|
if (action == RGUI_ACTION_OK || action == RGUI_ACTION_RIGHT)
|
||||||
|
g_settings.rewind_granularity++;
|
||||||
|
else if (action == RGUI_ACTION_LEFT)
|
||||||
|
{
|
||||||
|
if (g_settings.rewind_granularity > 1)
|
||||||
|
g_settings.rewind_granularity--;
|
||||||
|
}
|
||||||
|
else if (action == RGUI_ACTION_START)
|
||||||
|
g_settings.rewind_granularity = 1;
|
||||||
|
break;
|
||||||
case RGUI_SETTINGS_SAVESTATE_SAVE:
|
case RGUI_SETTINGS_SAVESTATE_SAVE:
|
||||||
case RGUI_SETTINGS_SAVESTATE_LOAD:
|
case RGUI_SETTINGS_SAVESTATE_LOAD:
|
||||||
if (action == RGUI_ACTION_OK)
|
if (action == RGUI_ACTION_OK)
|
||||||
@ -843,6 +865,8 @@ static void rgui_settings_populate_entries(rgui_handle_t *rgui)
|
|||||||
{
|
{
|
||||||
rgui_list_clear(rgui->folder_buf);
|
rgui_list_clear(rgui->folder_buf);
|
||||||
|
|
||||||
|
RGUI_MENU_ITEM("Rewind", RGUI_SETTINGS_REWIND_ENABLE);
|
||||||
|
RGUI_MENU_ITEM("Rewind granularity", RGUI_SETTINGS_REWIND_GRANULARITY);
|
||||||
if (g_extern.main_is_init)
|
if (g_extern.main_is_init)
|
||||||
{
|
{
|
||||||
RGUI_MENU_ITEM("Save State", RGUI_SETTINGS_SAVESTATE_SAVE);
|
RGUI_MENU_ITEM("Save State", RGUI_SETTINGS_SAVESTATE_SAVE);
|
||||||
|
@ -33,6 +33,8 @@ typedef enum
|
|||||||
RGUI_SETTINGS,
|
RGUI_SETTINGS,
|
||||||
|
|
||||||
// settings options are done here too
|
// settings options are done here too
|
||||||
|
RGUI_SETTINGS_REWIND_ENABLE,
|
||||||
|
RGUI_SETTINGS_REWIND_GRANULARITY,
|
||||||
RGUI_SETTINGS_SAVESTATE_SAVE,
|
RGUI_SETTINGS_SAVESTATE_SAVE,
|
||||||
RGUI_SETTINGS_SAVESTATE_LOAD,
|
RGUI_SETTINGS_SAVESTATE_LOAD,
|
||||||
RGUI_SETTINGS_SCREENSHOT,
|
RGUI_SETTINGS_SCREENSHOT,
|
||||||
|
Loading…
Reference in New Issue
Block a user