From 8ce751487100883f39e33ed5c44200da322b459c Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sun, 19 Aug 2012 22:53:01 +0200 Subject: [PATCH] (360) Add ZIP extract option --- 360/frontend-xdk/menu.cpp | 12 +++++++++++- 360/frontend-xdk/menu.h | 9 ++------- 360/media/hd/rarch_settings.xui | 13 +++++++++++++ 360/media/sd/rarch_settings.xui | 13 +++++++++++++ console/rarch_console_settings.c | 18 ++++++++++++++++++ console/rarch_console_settings.h | 1 + msvc/RetroArch-360/RetroArch-360.vcxproj | 1 - 7 files changed, 58 insertions(+), 9 deletions(-) diff --git a/360/frontend-xdk/menu.cpp b/360/frontend-xdk/menu.cpp index 429e78ba48..107af55398 100644 --- a/360/frontend-xdk/menu.cpp +++ b/360/frontend-xdk/menu.cpp @@ -81,7 +81,7 @@ static void filebrowser_fetch_directory_entries(const char *path, for(unsigned i = 0; i < browser->current_dir.list->size; i++) { char fname_tmp[256]; - fill_pathname_base(fname_tmp, browser->current_dir.list->elems[i].data, sizeof(fname_tmp)); + fill_pathname_base(fname_tmp, browser->current_dir.list->elems[i].data, sizeof(fname_tmp)); convert_char_to_wchar(strw_buffer, fname_tmp, sizeof(strw_buffer)); romlist->SetText(i, strw_buffer); } @@ -259,6 +259,8 @@ HRESULT CRetroArchSettings::OnInit(XUIMessageInit * pInitData, BOOL& bHandled) m_settingslist.SetText(SETTING_SHADER_2, strw_buffer); rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_SCALE_FACTOR, sizeof(strw_buffer)); m_settingslist.SetText(SETTING_SCALE_FACTOR, strw_buffer); + rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_ZIP_EXTRACT, sizeof(strw_buffer)); + m_settingslist.SetText(SETTING_ZIP_EXTRACT, strw_buffer); return 0; } @@ -723,6 +725,14 @@ HRESULT CRetroArchSettings::OnNotifyPress( HXUIOBJ hObjPressed, int & bHandled m_settingslist.SetText(SETTING_SCALE_ENABLED, g_console.fbo_enabled ? L"Custom Scaling/Dual Shaders: ON" : L"Custom Scaling/Dual Shaders: OFF"); gfx_ctx_set_fbo(g_console.fbo_enabled); break; + case SETTING_ZIP_EXTRACT: + if(g_console.zip_extract_mode < ZIP_EXTRACT_TO_CACHE_DIR) + g_console.zip_extract_mode++; + else + g_console.zip_extract_mode = 0; + rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_ZIP_EXTRACT, sizeof(strw_buffer)); + m_settingslist.SetText(SETTING_ZIP_EXTRACT, strw_buffer); + break; } } diff --git a/360/frontend-xdk/menu.h b/360/frontend-xdk/menu.h index 055efe2257..0cd8479893 100644 --- a/360/frontend-xdk/menu.h +++ b/360/frontend-xdk/menu.h @@ -17,10 +17,8 @@ #ifndef _MENU_XUI_H_ #define _MENU_XUI_H_ -#ifdef _XBOX360 #include #include -#endif enum { @@ -34,7 +32,8 @@ enum SETTING_HW_TEXTURE_FILTER, SETTING_HW_TEXTURE_FILTER_2, SETTING_SCALE_ENABLED, - SETTING_SCALE_FACTOR + SETTING_SCALE_FACTOR, + SETTING_ZIP_EXTRACT, }; enum @@ -64,7 +63,6 @@ enum INPUT_LOOP_RESIZE_MODE }; -#ifdef _XBOX360 class CRetroArch : public CXuiModule { public: @@ -217,7 +215,4 @@ class CRetroArchControls: public CXuiSceneImpl XUI_IMPLEMENT_CLASS(CRetroArchControls, L"RetroArchControls", XUI_CLASS_SCENE) }; -extern CRetroArch app; -#endif - #endif diff --git a/360/media/hd/rarch_settings.xui b/360/media/hd/rarch_settings.xui index df33f2460f..3efe077d3d 100644 --- a/360/media/hd/rarch_settings.xui +++ b/360/media/hd/rarch_settings.xui @@ -41,6 +41,7 @@ Hardware filtering shader #1: Hardware filtering shader #2: Custom Scaling/Dual Shaders: Custom Scaling Factor: +Extract ZIP: @@ -211,6 +212,18 @@ Custom Scaling Factor: 0.000000,10.000000,0.000000 + + +control_ListItem +226.000000 +45.000000 +7.000000,22.000000,0.000000 +5 +false +XuiButton +0.000000,10.000000,0.000000 + + diff --git a/360/media/sd/rarch_settings.xui b/360/media/sd/rarch_settings.xui index 9703a87690..3025d9cc16 100644 --- a/360/media/sd/rarch_settings.xui +++ b/360/media/sd/rarch_settings.xui @@ -41,6 +41,7 @@ Hardware filtering shader #1: Hardware filtering shader #2: Cutom Scaling/Dual Shaders: Cutom Scaling Factor: +Extract ZIP: @@ -199,6 +200,18 @@ Cutom Scaling Factor: 0.000000,10.000000,0.000000 + + +control_ListItem +226.000000 +45.000000 +7.000000,22.000000,0.000000 +5 +false +XuiButton +0.000000,10.000000,0.000000 + + diff --git a/console/rarch_console_settings.c b/console/rarch_console_settings.c index 7c5829d0f8..b2b41d4098 100644 --- a/console/rarch_console_settings.c +++ b/console/rarch_console_settings.c @@ -312,6 +312,24 @@ void rarch_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_ZIP_EXTRACT: + { + char msg[128]; + switch(g_console.zip_extract_mode) + { + case ZIP_EXTRACT_TO_CURRENT_DIR: + snprintf(msg, sizeof(msg), "Current dir"); + break; + case ZIP_EXTRACT_TO_CURRENT_DIR_AND_LOAD_FIRST_FILE: + snprintf(msg, sizeof(msg), "Current dir and load first file"); + break; + case ZIP_EXTRACT_TO_CACHE_DIR: + snprintf(msg, sizeof(msg), "Cache dir"); + break; + } + snprintf(str, size, "ZIP Extract: %s", msg); + } + break; } } diff --git a/console/rarch_console_settings.h b/console/rarch_console_settings.h index 1ca1e3bdd0..3497aaf830 100644 --- a/console/rarch_console_settings.h +++ b/console/rarch_console_settings.h @@ -101,6 +101,7 @@ enum S_LBL_SCALE_FACTOR, S_LBL_LOAD_STATE_SLOT, S_LBL_SAVE_STATE_SLOT, + S_LBL_ZIP_EXTRACT, }; void rarch_settings_change(unsigned setting); diff --git a/msvc/RetroArch-360/RetroArch-360.vcxproj b/msvc/RetroArch-360/RetroArch-360.vcxproj index bebbed986b..00ca1e954b 100644 --- a/msvc/RetroArch-360/RetroArch-360.vcxproj +++ b/msvc/RetroArch-360/RetroArch-360.vcxproj @@ -567,7 +567,6 @@ true true true - true