Killed the issues column and made emulationstate "Problems" provide more info when its set in the gameini. the config looks a bit ugly imo but thats cause im horrible in such stuff :P
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2340 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
26f951d9d5
commit
6222414ba5
|
@ -70,7 +70,6 @@ bool operator < (const GameListItem &one, const GameListItem &other)
|
|||
case CGameListCtrl::COLUMN_NOTES: return strcasecmp(one.GetDescription(indexOne).c_str(), other.GetDescription(indexOther).c_str()) < 0;
|
||||
case CGameListCtrl::COLUMN_COUNTRY: return (one.GetCountry() < other.GetCountry());
|
||||
case CGameListCtrl::COLUMN_SIZE: return (one.GetFileSize() < other.GetFileSize());
|
||||
case CGameListCtrl::COLUMN_ISSUES: return strcasecmp(one.GetIssues().c_str(), other.GetIssues().c_str()) < 0;
|
||||
default: return strcasecmp(one.GetName(indexOne).c_str(), other.GetName(indexOther).c_str()) < 0;
|
||||
}
|
||||
}
|
||||
|
@ -170,7 +169,6 @@ void CGameListCtrl::Update()
|
|||
InsertColumn(COLUMN_COUNTRY, _(""));
|
||||
InsertColumn(COLUMN_SIZE, _("Size"));
|
||||
InsertColumn(COLUMN_EMULATION_STATE, _("Emulation"));
|
||||
InsertColumn(COLUMN_ISSUES, _("Issues"));
|
||||
|
||||
|
||||
// set initial sizes for columns
|
||||
|
@ -179,8 +177,7 @@ void CGameListCtrl::Update()
|
|||
SetColumnWidth(COLUMN_COMPANY, 100);
|
||||
SetColumnWidth(COLUMN_NOTES, 150);
|
||||
SetColumnWidth(COLUMN_COUNTRY, 32);
|
||||
SetColumnWidth(COLUMN_EMULATION_STATE, 75);
|
||||
SetColumnWidth(COLUMN_ISSUES, 200);
|
||||
SetColumnWidth(COLUMN_EMULATION_STATE, 150);
|
||||
|
||||
// add all items
|
||||
for (int i = 0; i < (int)m_ISOFiles.size(); i++)
|
||||
|
@ -299,6 +296,7 @@ void CGameListCtrl::InsertItemInReportView(long _Index)
|
|||
wxListItem item;
|
||||
item.SetId(_Index);
|
||||
std::string EmuState;
|
||||
std::string issues;
|
||||
item.SetColumn(COLUMN_EMULATION_STATE);
|
||||
ini.Get("EmuState","EmulationStateId",&EmuState);
|
||||
if (!EmuState.empty())
|
||||
|
@ -316,8 +314,14 @@ void CGameListCtrl::InsertItemInReportView(long _Index)
|
|||
break;
|
||||
case 2:
|
||||
//NOTE (Daco): IMO under 2 goes problems like music and games that only work with specific settings
|
||||
item.SetText(_("Problems: Other"));
|
||||
//TODO (Daco): maybe 2 should get a function to present more info instead of the notes column... o.o
|
||||
ini.Get("EmuState","EmulationIssues",&issues);
|
||||
if (!issues.empty())
|
||||
{
|
||||
issues = "Problems: " + issues;
|
||||
item.SetText(_(issues.c_str() ) );
|
||||
}
|
||||
else
|
||||
item.SetText(_("Problems: Other"));
|
||||
break;
|
||||
case 1:
|
||||
item.SetText(_("Broken"));
|
||||
|
@ -332,21 +336,6 @@ void CGameListCtrl::InsertItemInReportView(long _Index)
|
|||
}
|
||||
}
|
||||
SetItem(item);
|
||||
|
||||
// Issues Column
|
||||
{
|
||||
wxListItem item;
|
||||
item.SetId(_Index);
|
||||
item.SetColumn(COLUMN_ISSUES);
|
||||
std::string issues;
|
||||
ini.Get("EmuState","Issues",&issues);
|
||||
if (!issues.empty())
|
||||
{
|
||||
item.SetText(wxString::FromAscii(issues.c_str()));
|
||||
}
|
||||
SetItem(item);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#ifndef __WXMSW__
|
||||
|
@ -523,8 +512,6 @@ int wxCALLBACK wxListCompare(long item1, long item2, long sortData)
|
|||
return strcasecmp(iso1->GetCompany().c_str(),iso2->GetCompany().c_str()) *t;
|
||||
case CGameListCtrl::COLUMN_NOTES:
|
||||
return strcasecmp(iso1->GetDescription(indexOne).c_str(),iso2->GetDescription(indexOther).c_str()) *t;
|
||||
case CGameListCtrl::COLUMN_ISSUES:
|
||||
return strcasecmp(iso1->GetIssues().c_str(),iso2->GetIssues().c_str()) *t;
|
||||
case CGameListCtrl::COLUMN_COUNTRY:
|
||||
if(iso1->GetCountry() > iso2->GetCountry()) return 1 *t;
|
||||
if(iso1->GetCountry() < iso2->GetCountry()) return -1 *t;
|
||||
|
@ -896,7 +883,6 @@ void CGameListCtrl::AutomaticColumnWidth()
|
|||
SetColumnWidth(COLUMN_TITLE, wxMax(0.3*resizable, 100));
|
||||
SetColumnWidth(COLUMN_COMPANY, wxMax(0.2*resizable, 100));
|
||||
SetColumnWidth(COLUMN_NOTES, wxMax(0.5*resizable, 100));
|
||||
SetColumnWidth(COLUMN_ISSUES, wxMax(0.2*resizable, 100));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -45,7 +45,6 @@ public:
|
|||
COLUMN_COUNTRY,
|
||||
COLUMN_SIZE,
|
||||
COLUMN_EMULATION_STATE,
|
||||
COLUMN_ISSUES,
|
||||
NUMBER_OF_COLUMN
|
||||
};
|
||||
|
||||
|
|
|
@ -37,6 +37,7 @@ BEGIN_EVENT_TABLE(CISOProperties, wxDialog)
|
|||
EVT_BUTTON(ID_CLOSE, CISOProperties::OnCloseClick)
|
||||
EVT_BUTTON(ID_EDITCONFIG, CISOProperties::OnEditConfig)
|
||||
EVT_CHOICE(ID_EMUSTATE, CISOProperties::SetRefresh)
|
||||
EVT_CHOICE(ID_EMU_ISSUES, CISOProperties::SetRefresh)
|
||||
EVT_LISTBOX(ID_PATCHES_LIST, CISOProperties::ListSelectionChanged)
|
||||
EVT_BUTTON(ID_EDITPATCH, CISOProperties::PatchButtonClicked)
|
||||
EVT_BUTTON(ID_ADDPATCH, CISOProperties::PatchButtonClicked)
|
||||
|
@ -221,7 +222,7 @@ void CISOProperties::CreateGUIControls()
|
|||
sEmuState = new wxBoxSizer(wxHORIZONTAL);
|
||||
arrayStringFor_EmuState.Add(_("Not Set"));
|
||||
arrayStringFor_EmuState.Add(_("Broken"));
|
||||
arrayStringFor_EmuState.Add(_("Problems: Other"));
|
||||
arrayStringFor_EmuState.Add(_("Problems: "));
|
||||
arrayStringFor_EmuState.Add(_("Intro"));
|
||||
arrayStringFor_EmuState.Add(_("In Game"));
|
||||
arrayStringFor_EmuState.Add(_("Perfect"));
|
||||
|
@ -239,6 +240,11 @@ void CISOProperties::CreateGUIControls()
|
|||
EditPatch->Enable(false);
|
||||
RemovePatch->Enable(false);
|
||||
|
||||
//issues
|
||||
sEmuIssues = new wxBoxSizer(wxHORIZONTAL);
|
||||
EmuIssues = new wxTextCtrl(m_GameConfig,ID_EMU_ISSUES, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0,wxDefaultValidator);
|
||||
EmuIssuesText = new wxStaticText(m_GameConfig,ID_EMUISSUES_TEXT,_("Emulation Issues(for when emustate is 'Problems'):"), wxDefaultPosition, wxDefaultSize);
|
||||
|
||||
// Action Replay Cheats
|
||||
sbCheats = new wxStaticBoxSizer(wxVERTICAL, m_CheatPage, _("Action Replay Codes"));
|
||||
sCheats = new wxBoxSizer(wxVERTICAL);
|
||||
|
@ -261,8 +267,11 @@ void CISOProperties::CreateGUIControls()
|
|||
sEmuState->Add(EditConfig, 0, wxALL, 0);
|
||||
sEmuState->AddStretchSpacer();
|
||||
sEmuState->Add(EmuStateText, 0, wxALIGN_CENTER_VERTICAL|wxALL, 0);
|
||||
sEmuState->Add(EmuState, 0, wxEXPAND|wxALL, 0);
|
||||
sEmuState->Add(EmuState, 0, wxALL, 0);
|
||||
sEmuIssues->Add(EmuIssuesText,0,wxALIGN_CENTER_VERTICAL|wxALL,0);
|
||||
sEmuIssues->Add(EmuIssues,0,wxEXPAND|wxRIGHT,0);
|
||||
sCoreOverrides->Add(sEmuState, 0, wxEXPAND|wxALL, 5);
|
||||
sCoreOverrides->Add(sEmuIssues,0,wxEXPAND|wxALL,5);
|
||||
sbCoreOverrides->Add(sCoreOverrides, 0, wxEXPAND|wxALL, 0);
|
||||
sConfigPage->Add(sbCoreOverrides, 0, wxEXPAND|wxALL, 5);
|
||||
|
||||
|
@ -484,6 +493,7 @@ void CISOProperties::LoadGameConfig()
|
|||
{
|
||||
bool bTemp;
|
||||
int iTemp;
|
||||
std::string sTemp;
|
||||
|
||||
if (GameIni.Get("Core", "UseDualCore", &bTemp))
|
||||
UseDualCore->Set3StateValue((wxCheckBoxState)bTemp);
|
||||
|
@ -518,6 +528,13 @@ void CISOProperties::LoadGameConfig()
|
|||
}
|
||||
EmuState->SetSelection(iTemp);
|
||||
|
||||
GameIni.Get("EmuState", "EmulationIssues", &sTemp);
|
||||
if (!sTemp.empty())
|
||||
{
|
||||
EmuIssues->SetValue(sTemp);
|
||||
bRefreshList = true;
|
||||
}
|
||||
|
||||
PatchList_Load();
|
||||
ActionReplayList_Load();
|
||||
}
|
||||
|
@ -550,6 +567,7 @@ bool CISOProperties::SaveGameConfig()
|
|||
GameIni.Set("Core", "EnableWideScreen", EnableWideScreen->Get3StateValue());
|
||||
|
||||
GameIni.Set("EmuState", "EmulationStateId", EmuState->GetSelection());
|
||||
GameIni.Set("EmuState", "EmulationIssues", EmuIssues->GetValue());
|
||||
|
||||
PatchList_Save();
|
||||
ActionReplayList_Save();
|
||||
|
|
|
@ -57,6 +57,7 @@ class CISOProperties : public wxDialog
|
|||
wxStaticBoxSizer *sbCoreOverrides;
|
||||
wxBoxSizer *sCoreOverrides;
|
||||
wxBoxSizer *sEmuState;
|
||||
wxBoxSizer *sEmuIssues;
|
||||
wxStaticBoxSizer *sbPatches;
|
||||
wxBoxSizer *sPatches;
|
||||
wxBoxSizer *sPatchButtons;
|
||||
|
@ -89,6 +90,8 @@ class CISOProperties : public wxDialog
|
|||
wxStaticText *EmuStateText;
|
||||
wxArrayString arrayStringFor_EmuState;
|
||||
wxChoice *EmuState;
|
||||
wxTextCtrl *EmuIssues;
|
||||
wxStaticText *EmuIssuesText;
|
||||
wxArrayString arrayStringFor_Patches;
|
||||
wxCheckListBox *Patches;
|
||||
wxButton *EditPatch;
|
||||
|
@ -155,6 +158,8 @@ class CISOProperties : public wxDialog
|
|||
ID_EDITCONFIG,
|
||||
ID_EMUSTATE_TEXT,
|
||||
ID_EMUSTATE,
|
||||
ID_EMUISSUES_TEXT,
|
||||
ID_EMU_ISSUES,
|
||||
ID_PATCHES_LIST,
|
||||
ID_EDITPATCH,
|
||||
ID_ADDPATCH,
|
||||
|
|
Loading…
Reference in New Issue