(360) Add ZIP extract option

This commit is contained in:
twinaphex 2012-08-19 22:53:01 +02:00
parent 9cdb6991ea
commit 8ce7514871
7 changed files with 58 additions and 9 deletions

View File

@ -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;
}
}

View File

@ -17,10 +17,8 @@
#ifndef _MENU_XUI_H_
#define _MENU_XUI_H_
#ifdef _XBOX360
#include <xui.h>
#include <xuiapp.h>
#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

View File

@ -41,6 +41,7 @@ Hardware filtering shader #1:
Hardware filtering shader #2:
Custom Scaling/Dual Shaders:
Custom Scaling Factor:
Extract ZIP:
</ItemsText>
</Properties>
<XuiListItem>
@ -211,6 +212,18 @@ Custom Scaling Factor:
<InterItemSpacing>0.000000,10.000000,0.000000</InterItemSpacing>
</Properties>
</XuiListItem>
<XuiListItem>
<Properties>
<Id>control_ListItem</Id>
<Width>226.000000</Width>
<Height>45.000000</Height>
<Position>7.000000,22.000000,0.000000</Position>
<Anchor>5</Anchor>
<Show>false</Show>
<Visual>XuiButton</Visual>
<InterItemSpacing>0.000000,10.000000,0.000000</InterItemSpacing>
</Properties>
</XuiListItem>
</XuiCommonList>
<XuiBackButton>
<Properties>

View File

@ -41,6 +41,7 @@ Hardware filtering shader #1:
Hardware filtering shader #2:
Cutom Scaling/Dual Shaders:
Cutom Scaling Factor:
Extract ZIP:
</ItemsText>
</Properties>
<XuiListItem>
@ -199,6 +200,18 @@ Cutom Scaling Factor:
<InterItemSpacing>0.000000,10.000000,0.000000</InterItemSpacing>
</Properties>
</XuiListItem>
<XuiListItem>
<Properties>
<Id>control_ListItem</Id>
<Width>226.000000</Width>
<Height>45.000000</Height>
<Position>7.000000,22.000000,0.000000</Position>
<Anchor>5</Anchor>
<Show>false</Show>
<Visual>XuiButton</Visual>
<InterItemSpacing>0.000000,10.000000,0.000000</InterItemSpacing>
</Properties>
</XuiListItem>
</XuiCommonList>
<XuiBackButton>
<Properties>

View File

@ -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;
}
}

View File

@ -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);

View File

@ -567,7 +567,6 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Profile|Xbox 360'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Profile_FastCap|Xbox 360'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_LTCG|Xbox 360'">true</ExcludedFromBuild>
</CustomBuild>
</ItemGroup>
<ItemGroup>