Merge pull request #1515 from RachelBryk/gpudeterminism-isoprops
Add GPUDeterminismMode to isoproperties.
This commit is contained in:
commit
dd2c8c49b3
|
@ -415,6 +415,16 @@ void CISOProperties::CreateGUIControls(bool IsWad)
|
|||
BlockMerging = new wxCheckBox(m_GameConfig, ID_MERGEBLOCKS, _("Enable Block Merging"), wxDefaultPosition, wxDefaultSize, GetElementStyle("Core", "BlockMerging"));
|
||||
DSPHLE = new wxCheckBox(m_GameConfig, ID_AUDIO_DSP_HLE, _("DSP HLE emulation (fast)"), wxDefaultPosition, wxDefaultSize, GetElementStyle("Core", "DSPHLE"));
|
||||
|
||||
wxBoxSizer* const sGPUDeterminism = new wxBoxSizer(wxHORIZONTAL);
|
||||
wxStaticText* const GPUDeterminismText = new wxStaticText(m_GameConfig, wxID_ANY, _("Deterministic dual core: "));
|
||||
arrayStringFor_GPUDeterminism.Add(_("Not Set"));
|
||||
arrayStringFor_GPUDeterminism.Add(_("auto"));
|
||||
arrayStringFor_GPUDeterminism.Add(_("none"));
|
||||
arrayStringFor_GPUDeterminism.Add(_("fake-completion"));
|
||||
GPUDeterminism = new wxChoice(m_GameConfig, ID_EMUSTATE, wxDefaultPosition, wxDefaultSize, arrayStringFor_GPUDeterminism);
|
||||
sGPUDeterminism->Add(GPUDeterminismText);
|
||||
sGPUDeterminism->Add(GPUDeterminism);
|
||||
|
||||
// Wii Console
|
||||
EnableWideScreen = new wxCheckBox(m_GameConfig, ID_ENABLEWIDESCREEN, _("Enable WideScreen"), wxDefaultPosition, wxDefaultSize, GetElementStyle("Wii", "Widescreen"));
|
||||
|
||||
|
@ -443,6 +453,7 @@ void CISOProperties::CreateGUIControls(bool IsWad)
|
|||
sbCoreOverrides->Add(FastDiscSpeed, 0, wxLEFT, 5);
|
||||
sbCoreOverrides->Add(BlockMerging, 0, wxLEFT, 5);
|
||||
sbCoreOverrides->Add(DSPHLE, 0, wxLEFT, 5);
|
||||
sbCoreOverrides->Add(sGPUDeterminism, 0, wxEXPAND|wxALL, 5);
|
||||
|
||||
wxStaticBoxSizer * const sbWiiOverrides = new wxStaticBoxSizer(wxVERTICAL, m_GameConfig, _("Wii Console"));
|
||||
if (!DiscIO::IsVolumeWiiDisc(OpenISO) && !DiscIO::IsVolumeWadFile(OpenISO))
|
||||
|
@ -1062,6 +1073,19 @@ void CISOProperties::LoadGameConfig()
|
|||
|
||||
EmuIssues->Enable(EmuState->GetSelection() != 0);
|
||||
|
||||
sTemp = "";
|
||||
if (!GameIniLocal.GetIfExists("Core", "GPUDeterminismMode", &sTemp))
|
||||
GameIniDefault.GetIfExists("Core", "GPUDeterminismMode", &sTemp);
|
||||
|
||||
if (sTemp == "")
|
||||
GPUDeterminism->SetSelection(0);
|
||||
else if (sTemp == "auto")
|
||||
GPUDeterminism->SetSelection(1);
|
||||
else if (sTemp == "none")
|
||||
GPUDeterminism->SetSelection(2);
|
||||
else if (sTemp == "fake-completion")
|
||||
GPUDeterminism->SetSelection(3);
|
||||
|
||||
PatchList_Load();
|
||||
ActionReplayList_Load();
|
||||
m_geckocode_panel->LoadCodes(GameIniDefault, GameIniLocal, OpenISO->GetUniqueID());
|
||||
|
@ -1127,6 +1151,18 @@ bool CISOProperties::SaveGameConfig()
|
|||
std::string emu_issues = EmuIssues->GetValue().ToStdString();
|
||||
SAVE_IF_NOT_DEFAULT("EmuState", "EmulationIssues", emu_issues, "");
|
||||
|
||||
std::string tmp;
|
||||
if (GPUDeterminism->GetSelection() == 0)
|
||||
tmp = "Not Set";
|
||||
else if (GPUDeterminism->GetSelection() == 1)
|
||||
tmp = "auto";
|
||||
else if (GPUDeterminism->GetSelection() == 2)
|
||||
tmp = "none";
|
||||
else if (GPUDeterminism->GetSelection() == 3)
|
||||
tmp = "fake-completion";
|
||||
|
||||
SAVE_IF_NOT_DEFAULT("Core", "GPUDeterminismMode", tmp, "Not Set");
|
||||
|
||||
PatchList_Save();
|
||||
ActionReplayList_Save();
|
||||
Gecko::SaveCodes(GameIniLocal, m_geckocode_panel->GetCodes());
|
||||
|
|
|
@ -69,46 +69,49 @@ private:
|
|||
// Core
|
||||
wxCheckBox *CPUThread, *SkipIdle, *MMU, *BAT, *DCBZOFF, *FPRF;
|
||||
wxCheckBox *VBeam, *SyncGPU, *FastDiscSpeed, *BlockMerging, *DSPHLE;
|
||||
|
||||
wxArrayString arrayStringFor_GPUDeterminism;
|
||||
wxChoice* GPUDeterminism;
|
||||
// Wii
|
||||
wxCheckBox *EnableWideScreen;
|
||||
wxCheckBox* EnableWideScreen;
|
||||
|
||||
wxArrayString arrayStringFor_EmuState;
|
||||
wxChoice *EmuState;
|
||||
wxTextCtrl *EmuIssues;
|
||||
wxChoice* EmuState;
|
||||
wxTextCtrl* EmuIssues;
|
||||
wxArrayString arrayStringFor_Patches;
|
||||
wxCheckListBox *Patches;
|
||||
wxButton *EditPatch;
|
||||
wxButton *RemovePatch;
|
||||
wxCheckListBox* Patches;
|
||||
wxButton* EditPatch;
|
||||
wxButton* RemovePatch;
|
||||
wxArrayString arrayStringFor_Cheats;
|
||||
wxCheckListBox *Cheats;
|
||||
wxButton *EditCheat;
|
||||
wxButton *RemoveCheat;
|
||||
wxCheckListBox* Cheats;
|
||||
wxButton* EditCheat;
|
||||
wxButton* RemoveCheat;
|
||||
wxArrayString arrayStringFor_Speedhacks;
|
||||
wxCheckListBox *Speedhacks;
|
||||
wxButton *EditSpeedhack;
|
||||
wxButton *AddSpeedhack;
|
||||
wxButton *RemoveSpeedhack;
|
||||
wxCheckListBox* Speedhacks;
|
||||
wxButton* EditSpeedhack;
|
||||
wxButton* AddSpeedhack;
|
||||
wxButton* RemoveSpeedhack;
|
||||
|
||||
wxTextCtrl *m_Name;
|
||||
wxTextCtrl *m_GameID;
|
||||
wxTextCtrl *m_Country;
|
||||
wxTextCtrl *m_MakerID;
|
||||
wxTextCtrl *m_Revision;
|
||||
wxTextCtrl *m_Date;
|
||||
wxTextCtrl *m_FST;
|
||||
wxTextCtrl *m_MD5Sum;
|
||||
wxButton *m_MD5SumCompute;
|
||||
wxTextCtrl* m_Name;
|
||||
wxTextCtrl* m_GameID;
|
||||
wxTextCtrl* m_Country;
|
||||
wxTextCtrl* m_MakerID;
|
||||
wxTextCtrl* m_Revision;
|
||||
wxTextCtrl* m_Date;
|
||||
wxTextCtrl* m_FST;
|
||||
wxTextCtrl* m_MD5Sum;
|
||||
wxButton* m_MD5SumCompute;
|
||||
wxArrayString arrayStringFor_Lang;
|
||||
wxChoice *m_Lang;
|
||||
wxTextCtrl *m_ShortName;
|
||||
wxTextCtrl *m_Maker;
|
||||
wxTextCtrl *m_Comment;
|
||||
wxStaticBitmap *m_Banner;
|
||||
wxChoice* m_Lang;
|
||||
wxTextCtrl* m_ShortName;
|
||||
wxTextCtrl* m_Maker;
|
||||
wxTextCtrl* m_Comment;
|
||||
wxStaticBitmap* m_Banner;
|
||||
|
||||
wxTreeCtrl *m_Treectrl;
|
||||
wxTreeCtrl* m_Treectrl;
|
||||
wxTreeItemId RootId;
|
||||
|
||||
Gecko::CodeConfigPanel *m_geckocode_panel;
|
||||
Gecko::CodeConfigPanel* m_geckocode_panel;
|
||||
|
||||
enum
|
||||
{
|
||||
|
@ -193,10 +196,10 @@ private:
|
|||
void SetRefresh(wxCommandEvent& event);
|
||||
void OnChangeBannerLang(wxCommandEvent& event);
|
||||
|
||||
GameListItem *OpenGameListItem;
|
||||
GameListItem* OpenGameListItem;
|
||||
|
||||
std::vector<const DiscIO::SFileInfo *> GCFiles;
|
||||
typedef std::vector<const DiscIO::SFileInfo *>::iterator fileIter;
|
||||
std::vector<const DiscIO::SFileInfo*> GCFiles;
|
||||
typedef std::vector<const DiscIO::SFileInfo*>::iterator fileIter;
|
||||
|
||||
size_t CreateDirectoryTree(wxTreeItemId& parent,
|
||||
std::vector<const DiscIO::SFileInfo*> fileInfos,
|
||||
|
|
Loading…
Reference in New Issue