From cc856940b39a2ad83b45f3e600e4999f7a8c76a6 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sat, 19 Jan 2013 09:23:24 +0100 Subject: [PATCH] (360 RMenu XUI) Add rewind granularity --- frontend/menu/rmenu_settings.c | 3 +++ frontend/menu/rmenu_settings.h | 1 + frontend/menu/rmenu_xui.cpp | 21 +++++++++++++++++++++ frontend/menu/rmenu_xui.h | 1 + media/360/hd/rarch_settings.xui | 1 + media/360/sd/rarch_settings.xui | 1 + 6 files changed, 28 insertions(+) diff --git a/frontend/menu/rmenu_settings.c b/frontend/menu/rmenu_settings.c index 27b1fe5cf1..5dfef6a6ee 100644 --- a/frontend/menu/rmenu_settings.c +++ b/frontend/menu/rmenu_settings.c @@ -375,6 +375,9 @@ void rmenu_settings_create_menu_item_label(char * str, unsigned setting, size_t case S_LBL_SAVE_STATE_SLOT: snprintf(str, size, "Save State #%d", g_extern.state_slot); break; + case S_LBL_REWIND_GRANULARITY: + snprintf(str, size, "Rewind granularity: %d", g_settings.rewind_granularity); + break; case S_LBL_ZIP_EXTRACT: if (g_extern.lifecycle_mode_state & (1ULL << MODE_UNZIP_TO_CURDIR)) snprintf(str, size, "INFO - Unzip Mode: Current dir."); diff --git a/frontend/menu/rmenu_settings.h b/frontend/menu/rmenu_settings.h index 339243ee02..74e9d49398 100644 --- a/frontend/menu/rmenu_settings.h +++ b/frontend/menu/rmenu_settings.h @@ -106,6 +106,7 @@ enum S_LBL_LOAD_STATE_SLOT, S_LBL_SAVE_STATE_SLOT, S_LBL_ZIP_EXTRACT, + S_LBL_REWIND_GRANULARITY, }; void rmenu_settings_set(unsigned setting); diff --git a/frontend/menu/rmenu_xui.cpp b/frontend/menu/rmenu_xui.cpp index 08a177e5f0..d717fc4aaf 100644 --- a/frontend/menu/rmenu_xui.cpp +++ b/frontend/menu/rmenu_xui.cpp @@ -399,6 +399,8 @@ HRESULT CRetroArchSettings::OnInit(XUIMessageInit * pInitData, BOOL& bHandled) m_settingslist.SetText(SETTING_SCALE_FACTOR, strw_buffer); rmenu_settings_create_menu_item_label_w(strw_buffer, S_LBL_ZIP_EXTRACT, sizeof(strw_buffer)); m_settingslist.SetText(SETTING_ZIP_EXTRACT, strw_buffer); + rmenu_settings_create_menu_item_label_w(strw_buffer, S_LBL_REWIND_GRANULARITY, sizeof(strw_buffer)); + m_settingslist.SetText(SETTING_EMU_REWIND_GRANULARITY, strw_buffer); return 0; } @@ -423,6 +425,12 @@ HRESULT CRetroArchSettings::OnNotifyPress( HXUIOBJ hObjPressed, int & bHandled if (g_extern.lifecycle_mode_state & (1ULL << MODE_INFO_DRAW)) rmenu_settings_msg(S_MSG_RESTART_RARCH, S_DELAY_180); break; + case SETTING_EMU_REWIND_GRANULARITY: + g_settings.rewind_granularity++; + + rmenu_settings_create_menu_item_label_w(strw_buffer, S_LBL_REWIND_GRANULARITY, sizeof(strw_buffer)); + m_settingslist.SetText(SETTING_EMU_REWIND_GRANULARITY, strw_buffer); + break; case SETTING_EMU_SHOW_INFO_MSG: if (g_extern.lifecycle_mode_state & (1ULL << MODE_INFO_DRAW)) g_extern.lifecycle_mode_state &= ~(1ULL << MODE_INFO_DRAW); @@ -525,6 +533,13 @@ HRESULT CRetroArchSettings::OnControlNavigate(XUIMessageControlNavigate *pContro if (g_extern.lifecycle_mode_state & (1ULL << MODE_INFO_DRAW)) rmenu_settings_msg(S_MSG_RESTART_RARCH, S_DELAY_180); break; + case SETTING_EMU_REWIND_GRANULARITY: + if (g_settings.rewind_granularity > 1) + g_settings.rewind_granularity--; + + rmenu_settings_create_menu_item_label_w(strw_buffer, S_LBL_REWIND_GRANULARITY, sizeof(strw_buffer)); + m_settingslist.SetText(SETTING_EMU_REWIND_GRANULARITY, strw_buffer); + break; case SETTING_EMU_SHOW_INFO_MSG: if (g_extern.lifecycle_mode_state & (1ULL << MODE_INFO_DRAW)) g_extern.lifecycle_mode_state &= ~(1ULL << MODE_INFO_DRAW); @@ -626,6 +641,12 @@ HRESULT CRetroArchSettings::OnControlNavigate(XUIMessageControlNavigate *pContro if (g_extern.lifecycle_mode_state & (1ULL << MODE_INFO_DRAW)) rmenu_settings_msg(S_MSG_RESTART_RARCH, S_DELAY_180); break; + case SETTING_EMU_REWIND_GRANULARITY: + g_settings.rewind_granularity++; + + rmenu_settings_create_menu_item_label_w(strw_buffer, S_LBL_REWIND_GRANULARITY, sizeof(strw_buffer)); + m_settingslist.SetText(SETTING_EMU_REWIND_GRANULARITY, strw_buffer); + break; case SETTING_SCALE_FACTOR: if(device_ptr->fbo_inited) { diff --git a/frontend/menu/rmenu_xui.h b/frontend/menu/rmenu_xui.h index a3f955c218..a9ed6900f2 100644 --- a/frontend/menu/rmenu_xui.h +++ b/frontend/menu/rmenu_xui.h @@ -23,6 +23,7 @@ enum { SETTING_EMU_REWIND_ENABLED = 0, + SETTING_EMU_REWIND_GRANULARITY, SETTING_EMU_SHOW_INFO_MSG, SETTING_EMU_SHOW_DEBUG_INFO_MSG, SETTING_EMU_MENUS, diff --git a/media/360/hd/rarch_settings.xui b/media/360/hd/rarch_settings.xui index afbf60e396..76aef42630 100644 --- a/media/360/hd/rarch_settings.xui +++ b/media/360/hd/rarch_settings.xui @@ -31,6 +31,7 @@ 383.040009 44.880005,64.959991,0.000000 Rewind: +Rewind granularity: Info messages: Debug info messages: Menus: diff --git a/media/360/sd/rarch_settings.xui b/media/360/sd/rarch_settings.xui index 8119579c43..a3d6ca95fc 100644 --- a/media/360/sd/rarch_settings.xui +++ b/media/360/sd/rarch_settings.xui @@ -31,6 +31,7 @@ 232.720001 44.880005,64.959991,0.000000 Rewind: +Rewind granularity: Info messages: Debug info messages: Menus: