mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-26 12:35:27 +00:00
Fixed ISOProperties handling of manually editing the GameConfig file, and made clear that the patch and cheat gui does, in fact, do nothing at the moment.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1239 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
e17e084a15
commit
016d9c1ba1
@ -17,7 +17,6 @@
|
|||||||
|
|
||||||
#include "Globals.h"
|
#include "Globals.h"
|
||||||
|
|
||||||
#include "FileUtil.h"
|
|
||||||
#include "ISOFile.h"
|
#include "ISOFile.h"
|
||||||
#include "VolumeCreator.h"
|
#include "VolumeCreator.h"
|
||||||
#include "Filesystem.h"
|
#include "Filesystem.h"
|
||||||
@ -59,7 +58,6 @@ CISOProperties::CISOProperties(const std::string fileName, wxWindow* parent, wxW
|
|||||||
fprintf(f, "# %s - %s\n", OpenISO->GetUniqueID().c_str(), OpenISO->GetName().c_str());
|
fprintf(f, "# %s - %s\n", OpenISO->GetUniqueID().c_str(), OpenISO->GetName().c_str());
|
||||||
fprintf(f, "[Core]\n#Values set here will override the main dolphin settings.\n");
|
fprintf(f, "[Core]\n#Values set here will override the main dolphin settings.\n");
|
||||||
fprintf(f, "[EmuState]\n#The Emulation State. 1 is worst, 5 is best, 0 is not set.\n");
|
fprintf(f, "[EmuState]\n#The Emulation State. 1 is worst, 5 is best, 0 is not set.\n");
|
||||||
fprintf(f, "EmulationStateId = 0\n");
|
|
||||||
fprintf(f, "[OnLoad]\n#Add memory patches to be loaded once on boot here.\n");
|
fprintf(f, "[OnLoad]\n#Add memory patches to be loaded once on boot here.\n");
|
||||||
fprintf(f, "[OnFrame]\n#Add memory patches to be applied every frame here.\n");
|
fprintf(f, "[OnFrame]\n#Add memory patches to be applied every frame here.\n");
|
||||||
fprintf(f, "[ActionReplay]\n#Add action replay cheats here.\n");
|
fprintf(f, "[ActionReplay]\n#Add action replay cheats here.\n");
|
||||||
@ -203,7 +201,7 @@ void CISOProperties::CreateGUIControls()
|
|||||||
sbCoreOverrides = new wxStaticBoxSizer(wxVERTICAL, m_GameConfig, _("Game-Specific Settings"));
|
sbCoreOverrides = new wxStaticBoxSizer(wxVERTICAL, m_GameConfig, _("Game-Specific Settings"));
|
||||||
sCoreOverrides = new wxBoxSizer(wxVERTICAL);
|
sCoreOverrides = new wxBoxSizer(wxVERTICAL);
|
||||||
EditConfig = new wxButton(m_GameConfig, ID_EDITCONFIG, _("Edit Config"), wxDefaultPosition, wxDefaultSize);
|
EditConfig = new wxButton(m_GameConfig, ID_EDITCONFIG, _("Edit Config"), wxDefaultPosition, wxDefaultSize);
|
||||||
OverrideText = new wxStaticText(m_GameConfig, ID_OVERRIDE_TEXT, _("These settings override core Dolphin settings. The 3rd state means the game uses Dolphin's setting."), wxDefaultPosition, wxDefaultSize);
|
OverrideText = new wxStaticText(m_GameConfig, ID_OVERRIDE_TEXT, _("These settings override core Dolphin settings.\nThe 3rd state means the game uses Dolphin's setting."), wxDefaultPosition, wxDefaultSize);
|
||||||
UseDualCore = new wxCheckBox(m_GameConfig, ID_USEDUALCORE, _("Enable Dual Core"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
|
UseDualCore = new wxCheckBox(m_GameConfig, ID_USEDUALCORE, _("Enable Dual Core"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
|
||||||
SkipIdle = new wxCheckBox(m_GameConfig, ID_IDLESKIP, _("Enable Idle Skipping"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
|
SkipIdle = new wxCheckBox(m_GameConfig, ID_IDLESKIP, _("Enable Idle Skipping"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
|
||||||
OptimizeQuantizers = new wxCheckBox(m_GameConfig, ID_OPTIMIZEQUANTIZERS, _("Optimize Quantizers"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
|
OptimizeQuantizers = new wxCheckBox(m_GameConfig, ID_OPTIMIZEQUANTIZERS, _("Optimize Quantizers"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
|
||||||
@ -242,6 +240,15 @@ void CISOProperties::CreateGUIControls()
|
|||||||
EditCheat->Enable(false);
|
EditCheat->Enable(false);
|
||||||
RemoveCheat->Enable(false);
|
RemoveCheat->Enable(false);
|
||||||
|
|
||||||
|
// Remove when cheat + patch editor works
|
||||||
|
Patches->Append(_("Not yet functional"));
|
||||||
|
Patches->Enable(false);
|
||||||
|
AddPatch->Enable(false);
|
||||||
|
Cheats->Append(_("Not yet functional"));
|
||||||
|
Cheats->Enable(false);
|
||||||
|
AddCheat->Enable(false);
|
||||||
|
// --------------------------------------
|
||||||
|
|
||||||
wxBoxSizer* sConfigPage;
|
wxBoxSizer* sConfigPage;
|
||||||
sConfigPage = new wxBoxSizer(wxVERTICAL);
|
sConfigPage = new wxBoxSizer(wxVERTICAL);
|
||||||
sCoreOverrides->Add(OverrideText, 0, wxEXPAND|wxALL, 5);
|
sCoreOverrides->Add(OverrideText, 0, wxEXPAND|wxALL, 5);
|
||||||
@ -375,6 +382,7 @@ void CISOProperties::OnClose(wxCloseEvent& WXUNUSED (event))
|
|||||||
{
|
{
|
||||||
if (!SaveGameConfig())
|
if (!SaveGameConfig())
|
||||||
wxMessageBox(wxString::Format(_("Could not save %s"), GameIniFile.c_str()), _("Error"), wxOK|wxICON_ERROR, this);
|
wxMessageBox(wxString::Format(_("Could not save %s"), GameIniFile.c_str()), _("Error"), wxOK|wxICON_ERROR, this);
|
||||||
|
|
||||||
Destroy();
|
Destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -491,7 +499,12 @@ void CISOProperties::LoadGameConfig()
|
|||||||
else
|
else
|
||||||
EnableWideScreen->Set3StateValue(wxCHK_UNDETERMINED);
|
EnableWideScreen->Set3StateValue(wxCHK_UNDETERMINED);
|
||||||
|
|
||||||
GameIni.Get("EmuState", "EmulationStateId", &iTemp, 0);
|
GameIni.Get("EmuState", "EmulationStateId", &iTemp, -1);
|
||||||
|
if (iTemp == -1)
|
||||||
|
{
|
||||||
|
iTemp = 0;
|
||||||
|
bRefreshList = true;
|
||||||
|
}
|
||||||
EmuState->SetSelection(iTemp);
|
EmuState->SetSelection(iTemp);
|
||||||
|
|
||||||
// TODO handle patches+cheats
|
// TODO handle patches+cheats
|
||||||
@ -528,6 +541,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());
|
||||||
|
|
||||||
return GameIni.Save(GameIniFile.c_str());
|
return GameIni.Save(GameIniFile.c_str());
|
||||||
|
|
||||||
// TODO save patches+cheats
|
// TODO save patches+cheats
|
||||||
@ -535,8 +549,16 @@ bool CISOProperties::SaveGameConfig()
|
|||||||
|
|
||||||
void CISOProperties::OnEditConfig(wxCommandEvent& WXUNUSED (event))
|
void CISOProperties::OnEditConfig(wxCommandEvent& WXUNUSED (event))
|
||||||
{
|
{
|
||||||
if (File::Exists(GameIniFile.c_str()))
|
if (wxFileExists(GameIniFile.c_str()))
|
||||||
{
|
{
|
||||||
File::Launch(GameIniFile.c_str());
|
SaveGameConfig();
|
||||||
|
|
||||||
|
wxFileType* filetype = wxTheMimeTypesManager->GetFileTypeFromExtension(_("ini"));
|
||||||
|
wxExecute(filetype->GetOpenCommand(_(GameIniFile.c_str())), wxEXEC_SYNC);
|
||||||
|
|
||||||
|
GameIni.Load(GameIniFile.c_str());
|
||||||
|
LoadGameConfig();
|
||||||
|
|
||||||
|
bRefreshList = true; // Just in case
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
#include <wx/treectrl.h>
|
#include <wx/treectrl.h>
|
||||||
#include <wx/gbsizer.h>
|
#include <wx/gbsizer.h>
|
||||||
#include <wx/notebook.h>
|
#include <wx/notebook.h>
|
||||||
|
#include <wx/mimetype.h>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
#include "Filesystem.h"
|
#include "Filesystem.h"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user