GameListCtrl: fixes progress bar for extracting multiple files (cant mix ascii with unicode wxstring:format)

use appropriate extensions extracting compressed wii discs
check for tmd+tik for each title and list titles correctly for sysmenu versions <=0xE0
this will allow viewing of installed channels but they will not launch until ES_Launch is emulated
so far I have not been able to determine why later sysmenu versions do not display channels correctly
switching between system menu versions is as simple as rightclicking a system menu wad in the gamelist and installing to wiimenu than restarting

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5524 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
LPFaint99
2010-05-28 05:30:03 +00:00
parent 99d9aa0613
commit ffc0c37365
5 changed files with 79 additions and 58 deletions

View File

@ -1078,8 +1078,7 @@ void CGameListCtrl::OnInstallWAD(wxCommandEvent& WXUNUSED (event))
void CGameListCtrl::MultiCompressCB(const char* text, float percent, void* arg)
{
percent = (((float)m_currentItem) + percent) / (float)m_numberItem;
wxString textString(wxString::Format(wxT("%s (%i/%i) - %s"), m_currentFilename.c_str(), (int)m_currentItem+1, (int)m_numberItem, text));
wxString textString(StringFromFormat("%s (%i/%i) - %s", m_currentFilename.c_str(), (int)m_currentItem+1, (int)m_numberItem, text).c_str(), *wxConvCurrent);
((wxProgressDialog*)arg)->Update((int)(percent*1000), textString);
}
@ -1141,7 +1140,14 @@ void CGameListCtrl::CompressSelection(bool _compress)
std::string FileName;
SplitPath(iso->GetFileName(), NULL, &FileName, NULL);
m_currentFilename = FileName;
FileName.append(".gcm");
if (iso->GetPlatform() == GameListItem::WII_DISC)
{
FileName.append(".iso");
}
else
{
FileName.append(".gcm");
}
std::string OutputFileName;
BuildCompleteFilename(OutputFileName, (const char *)browseDialog.GetPath().mb_str(wxConvUTF8), FileName);
@ -1164,19 +1170,28 @@ void CGameListCtrl::OnCompressGCM(wxCommandEvent& WXUNUSED (event))
if (!iso)
return;
wxString path;
wxString path, Ext;
std::string FileName;
SplitPath(iso->GetFileName(), NULL, &FileName, NULL);
if (iso->IsCompressed())
{
if (iso->GetPlatform() == GameListItem::WII_DISC)
{
Ext = wxT("*.iso");
}
else
{
Ext = wxT("*.gcm");
}
path = wxFileSelector(
_T("Save decompressed ISO"),
wxEmptyString, wxString(FileName.c_str(), *wxConvCurrent), wxEmptyString,
wxString::Format
(
_T("All GC/Wii ISO files (gcm)|*.gcm|All files (%s)|%s"),
_T("All GC/Wii ISO files (%s)|%s|All files (%s)|%s"),
Ext.After('.'), Ext,
wxFileSelectorDefaultWildcardStr,
wxFileSelectorDefaultWildcardStr
),