mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-25 15:19:42 -06:00
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:
@ -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_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_COUNTRY: return (one.GetCountry() < other.GetCountry());
|
||||||
case CGameListCtrl::COLUMN_SIZE: return (one.GetFileSize() < other.GetFileSize());
|
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;
|
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_COUNTRY, _(""));
|
||||||
InsertColumn(COLUMN_SIZE, _("Size"));
|
InsertColumn(COLUMN_SIZE, _("Size"));
|
||||||
InsertColumn(COLUMN_EMULATION_STATE, _("Emulation"));
|
InsertColumn(COLUMN_EMULATION_STATE, _("Emulation"));
|
||||||
InsertColumn(COLUMN_ISSUES, _("Issues"));
|
|
||||||
|
|
||||||
|
|
||||||
// set initial sizes for columns
|
// set initial sizes for columns
|
||||||
@ -179,8 +177,7 @@ void CGameListCtrl::Update()
|
|||||||
SetColumnWidth(COLUMN_COMPANY, 100);
|
SetColumnWidth(COLUMN_COMPANY, 100);
|
||||||
SetColumnWidth(COLUMN_NOTES, 150);
|
SetColumnWidth(COLUMN_NOTES, 150);
|
||||||
SetColumnWidth(COLUMN_COUNTRY, 32);
|
SetColumnWidth(COLUMN_COUNTRY, 32);
|
||||||
SetColumnWidth(COLUMN_EMULATION_STATE, 75);
|
SetColumnWidth(COLUMN_EMULATION_STATE, 150);
|
||||||
SetColumnWidth(COLUMN_ISSUES, 200);
|
|
||||||
|
|
||||||
// add all items
|
// add all items
|
||||||
for (int i = 0; i < (int)m_ISOFiles.size(); i++)
|
for (int i = 0; i < (int)m_ISOFiles.size(); i++)
|
||||||
@ -299,6 +296,7 @@ void CGameListCtrl::InsertItemInReportView(long _Index)
|
|||||||
wxListItem item;
|
wxListItem item;
|
||||||
item.SetId(_Index);
|
item.SetId(_Index);
|
||||||
std::string EmuState;
|
std::string EmuState;
|
||||||
|
std::string issues;
|
||||||
item.SetColumn(COLUMN_EMULATION_STATE);
|
item.SetColumn(COLUMN_EMULATION_STATE);
|
||||||
ini.Get("EmuState","EmulationStateId",&EmuState);
|
ini.Get("EmuState","EmulationStateId",&EmuState);
|
||||||
if (!EmuState.empty())
|
if (!EmuState.empty())
|
||||||
@ -316,8 +314,14 @@ void CGameListCtrl::InsertItemInReportView(long _Index)
|
|||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
//NOTE (Daco): IMO under 2 goes problems like music and games that only work with specific settings
|
//NOTE (Daco): IMO under 2 goes problems like music and games that only work with specific settings
|
||||||
|
ini.Get("EmuState","EmulationIssues",&issues);
|
||||||
|
if (!issues.empty())
|
||||||
|
{
|
||||||
|
issues = "Problems: " + issues;
|
||||||
|
item.SetText(_(issues.c_str() ) );
|
||||||
|
}
|
||||||
|
else
|
||||||
item.SetText(_("Problems: Other"));
|
item.SetText(_("Problems: Other"));
|
||||||
//TODO (Daco): maybe 2 should get a function to present more info instead of the notes column... o.o
|
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
item.SetText(_("Broken"));
|
item.SetText(_("Broken"));
|
||||||
@ -332,21 +336,6 @@ void CGameListCtrl::InsertItemInReportView(long _Index)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
SetItem(item);
|
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__
|
#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;
|
return strcasecmp(iso1->GetCompany().c_str(),iso2->GetCompany().c_str()) *t;
|
||||||
case CGameListCtrl::COLUMN_NOTES:
|
case CGameListCtrl::COLUMN_NOTES:
|
||||||
return strcasecmp(iso1->GetDescription(indexOne).c_str(),iso2->GetDescription(indexOther).c_str()) *t;
|
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:
|
case CGameListCtrl::COLUMN_COUNTRY:
|
||||||
if(iso1->GetCountry() > iso2->GetCountry()) return 1 *t;
|
if(iso1->GetCountry() > iso2->GetCountry()) return 1 *t;
|
||||||
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_TITLE, wxMax(0.3*resizable, 100));
|
||||||
SetColumnWidth(COLUMN_COMPANY, wxMax(0.2*resizable, 100));
|
SetColumnWidth(COLUMN_COMPANY, wxMax(0.2*resizable, 100));
|
||||||
SetColumnWidth(COLUMN_NOTES, wxMax(0.5*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_COUNTRY,
|
||||||
COLUMN_SIZE,
|
COLUMN_SIZE,
|
||||||
COLUMN_EMULATION_STATE,
|
COLUMN_EMULATION_STATE,
|
||||||
COLUMN_ISSUES,
|
|
||||||
NUMBER_OF_COLUMN
|
NUMBER_OF_COLUMN
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -37,6 +37,7 @@ BEGIN_EVENT_TABLE(CISOProperties, wxDialog)
|
|||||||
EVT_BUTTON(ID_CLOSE, CISOProperties::OnCloseClick)
|
EVT_BUTTON(ID_CLOSE, CISOProperties::OnCloseClick)
|
||||||
EVT_BUTTON(ID_EDITCONFIG, CISOProperties::OnEditConfig)
|
EVT_BUTTON(ID_EDITCONFIG, CISOProperties::OnEditConfig)
|
||||||
EVT_CHOICE(ID_EMUSTATE, CISOProperties::SetRefresh)
|
EVT_CHOICE(ID_EMUSTATE, CISOProperties::SetRefresh)
|
||||||
|
EVT_CHOICE(ID_EMU_ISSUES, CISOProperties::SetRefresh)
|
||||||
EVT_LISTBOX(ID_PATCHES_LIST, CISOProperties::ListSelectionChanged)
|
EVT_LISTBOX(ID_PATCHES_LIST, CISOProperties::ListSelectionChanged)
|
||||||
EVT_BUTTON(ID_EDITPATCH, CISOProperties::PatchButtonClicked)
|
EVT_BUTTON(ID_EDITPATCH, CISOProperties::PatchButtonClicked)
|
||||||
EVT_BUTTON(ID_ADDPATCH, CISOProperties::PatchButtonClicked)
|
EVT_BUTTON(ID_ADDPATCH, CISOProperties::PatchButtonClicked)
|
||||||
@ -221,7 +222,7 @@ void CISOProperties::CreateGUIControls()
|
|||||||
sEmuState = new wxBoxSizer(wxHORIZONTAL);
|
sEmuState = new wxBoxSizer(wxHORIZONTAL);
|
||||||
arrayStringFor_EmuState.Add(_("Not Set"));
|
arrayStringFor_EmuState.Add(_("Not Set"));
|
||||||
arrayStringFor_EmuState.Add(_("Broken"));
|
arrayStringFor_EmuState.Add(_("Broken"));
|
||||||
arrayStringFor_EmuState.Add(_("Problems: Other"));
|
arrayStringFor_EmuState.Add(_("Problems: "));
|
||||||
arrayStringFor_EmuState.Add(_("Intro"));
|
arrayStringFor_EmuState.Add(_("Intro"));
|
||||||
arrayStringFor_EmuState.Add(_("In Game"));
|
arrayStringFor_EmuState.Add(_("In Game"));
|
||||||
arrayStringFor_EmuState.Add(_("Perfect"));
|
arrayStringFor_EmuState.Add(_("Perfect"));
|
||||||
@ -239,6 +240,11 @@ void CISOProperties::CreateGUIControls()
|
|||||||
EditPatch->Enable(false);
|
EditPatch->Enable(false);
|
||||||
RemovePatch->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
|
// Action Replay Cheats
|
||||||
sbCheats = new wxStaticBoxSizer(wxVERTICAL, m_CheatPage, _("Action Replay Codes"));
|
sbCheats = new wxStaticBoxSizer(wxVERTICAL, m_CheatPage, _("Action Replay Codes"));
|
||||||
sCheats = new wxBoxSizer(wxVERTICAL);
|
sCheats = new wxBoxSizer(wxVERTICAL);
|
||||||
@ -261,8 +267,11 @@ void CISOProperties::CreateGUIControls()
|
|||||||
sEmuState->Add(EditConfig, 0, wxALL, 0);
|
sEmuState->Add(EditConfig, 0, wxALL, 0);
|
||||||
sEmuState->AddStretchSpacer();
|
sEmuState->AddStretchSpacer();
|
||||||
sEmuState->Add(EmuStateText, 0, wxALIGN_CENTER_VERTICAL|wxALL, 0);
|
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(sEmuState, 0, wxEXPAND|wxALL, 5);
|
||||||
|
sCoreOverrides->Add(sEmuIssues,0,wxEXPAND|wxALL,5);
|
||||||
sbCoreOverrides->Add(sCoreOverrides, 0, wxEXPAND|wxALL, 0);
|
sbCoreOverrides->Add(sCoreOverrides, 0, wxEXPAND|wxALL, 0);
|
||||||
sConfigPage->Add(sbCoreOverrides, 0, wxEXPAND|wxALL, 5);
|
sConfigPage->Add(sbCoreOverrides, 0, wxEXPAND|wxALL, 5);
|
||||||
|
|
||||||
@ -484,6 +493,7 @@ void CISOProperties::LoadGameConfig()
|
|||||||
{
|
{
|
||||||
bool bTemp;
|
bool bTemp;
|
||||||
int iTemp;
|
int iTemp;
|
||||||
|
std::string sTemp;
|
||||||
|
|
||||||
if (GameIni.Get("Core", "UseDualCore", &bTemp))
|
if (GameIni.Get("Core", "UseDualCore", &bTemp))
|
||||||
UseDualCore->Set3StateValue((wxCheckBoxState)bTemp);
|
UseDualCore->Set3StateValue((wxCheckBoxState)bTemp);
|
||||||
@ -518,6 +528,13 @@ void CISOProperties::LoadGameConfig()
|
|||||||
}
|
}
|
||||||
EmuState->SetSelection(iTemp);
|
EmuState->SetSelection(iTemp);
|
||||||
|
|
||||||
|
GameIni.Get("EmuState", "EmulationIssues", &sTemp);
|
||||||
|
if (!sTemp.empty())
|
||||||
|
{
|
||||||
|
EmuIssues->SetValue(sTemp);
|
||||||
|
bRefreshList = true;
|
||||||
|
}
|
||||||
|
|
||||||
PatchList_Load();
|
PatchList_Load();
|
||||||
ActionReplayList_Load();
|
ActionReplayList_Load();
|
||||||
}
|
}
|
||||||
@ -550,6 +567,7 @@ bool CISOProperties::SaveGameConfig()
|
|||||||
GameIni.Set("Core", "EnableWideScreen", EnableWideScreen->Get3StateValue());
|
GameIni.Set("Core", "EnableWideScreen", EnableWideScreen->Get3StateValue());
|
||||||
|
|
||||||
GameIni.Set("EmuState", "EmulationStateId", EmuState->GetSelection());
|
GameIni.Set("EmuState", "EmulationStateId", EmuState->GetSelection());
|
||||||
|
GameIni.Set("EmuState", "EmulationIssues", EmuIssues->GetValue());
|
||||||
|
|
||||||
PatchList_Save();
|
PatchList_Save();
|
||||||
ActionReplayList_Save();
|
ActionReplayList_Save();
|
||||||
|
@ -57,6 +57,7 @@ class CISOProperties : public wxDialog
|
|||||||
wxStaticBoxSizer *sbCoreOverrides;
|
wxStaticBoxSizer *sbCoreOverrides;
|
||||||
wxBoxSizer *sCoreOverrides;
|
wxBoxSizer *sCoreOverrides;
|
||||||
wxBoxSizer *sEmuState;
|
wxBoxSizer *sEmuState;
|
||||||
|
wxBoxSizer *sEmuIssues;
|
||||||
wxStaticBoxSizer *sbPatches;
|
wxStaticBoxSizer *sbPatches;
|
||||||
wxBoxSizer *sPatches;
|
wxBoxSizer *sPatches;
|
||||||
wxBoxSizer *sPatchButtons;
|
wxBoxSizer *sPatchButtons;
|
||||||
@ -89,6 +90,8 @@ class CISOProperties : public wxDialog
|
|||||||
wxStaticText *EmuStateText;
|
wxStaticText *EmuStateText;
|
||||||
wxArrayString arrayStringFor_EmuState;
|
wxArrayString arrayStringFor_EmuState;
|
||||||
wxChoice *EmuState;
|
wxChoice *EmuState;
|
||||||
|
wxTextCtrl *EmuIssues;
|
||||||
|
wxStaticText *EmuIssuesText;
|
||||||
wxArrayString arrayStringFor_Patches;
|
wxArrayString arrayStringFor_Patches;
|
||||||
wxCheckListBox *Patches;
|
wxCheckListBox *Patches;
|
||||||
wxButton *EditPatch;
|
wxButton *EditPatch;
|
||||||
@ -155,6 +158,8 @@ class CISOProperties : public wxDialog
|
|||||||
ID_EDITCONFIG,
|
ID_EDITCONFIG,
|
||||||
ID_EMUSTATE_TEXT,
|
ID_EMUSTATE_TEXT,
|
||||||
ID_EMUSTATE,
|
ID_EMUSTATE,
|
||||||
|
ID_EMUISSUES_TEXT,
|
||||||
|
ID_EMU_ISSUES,
|
||||||
ID_PATCHES_LIST,
|
ID_PATCHES_LIST,
|
||||||
ID_EDITPATCH,
|
ID_EDITPATCH,
|
||||||
ID_ADDPATCH,
|
ID_ADDPATCH,
|
||||||
|
Reference in New Issue
Block a user