- Moving "Custom Projection Hack" stuff toward a new modal dialog window
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7049 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
d5550c19fd
commit
439baff4cc
|
@ -41,6 +41,7 @@ if(wxWidgets_FOUND)
|
||||||
Src/NetPlayServer.cpp
|
Src/NetPlayServer.cpp
|
||||||
Src/NetWindow.cpp
|
Src/NetWindow.cpp
|
||||||
Src/PatchAddEdit.cpp
|
Src/PatchAddEdit.cpp
|
||||||
|
Src/PHackSettings.cpp
|
||||||
Src/UDPConfigDiag.cpp
|
Src/UDPConfigDiag.cpp
|
||||||
Src/WiimoteConfigDiag.cpp
|
Src/WiimoteConfigDiag.cpp
|
||||||
Src/MemoryCards/WiiSaveCrypted.cpp
|
Src/MemoryCards/WiiSaveCrypted.cpp
|
||||||
|
|
|
@ -924,6 +924,14 @@
|
||||||
RelativePath=".\Src\PatchAddEdit.h"
|
RelativePath=".\Src\PatchAddEdit.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\Src\PHackSettings.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\Src\PHackSettings.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\Src\UDPConfigDiag.cpp"
|
RelativePath=".\Src\UDPConfigDiag.cpp"
|
||||||
>
|
>
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
#include "VolumeCreator.h"
|
#include "VolumeCreator.h"
|
||||||
#include "Filesystem.h"
|
#include "Filesystem.h"
|
||||||
#include "ISOProperties.h"
|
#include "ISOProperties.h"
|
||||||
|
#include "PHackSettings.h"
|
||||||
#include "PatchAddEdit.h"
|
#include "PatchAddEdit.h"
|
||||||
#include "ARCodeAddEdit.h"
|
#include "ARCodeAddEdit.h"
|
||||||
#include "GeckoCodeDiag.h"
|
#include "GeckoCodeDiag.h"
|
||||||
|
@ -49,6 +50,7 @@ DiscIO::IFileSystem *pFileSystem = NULL;
|
||||||
|
|
||||||
std::vector<PatchEngine::Patch> onFrame;
|
std::vector<PatchEngine::Patch> onFrame;
|
||||||
std::vector<ActionReplay::ARCode> arCodes;
|
std::vector<ActionReplay::ARCode> arCodes;
|
||||||
|
PHackData PHack_Data;
|
||||||
|
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(CISOProperties, wxDialog)
|
BEGIN_EVENT_TABLE(CISOProperties, wxDialog)
|
||||||
|
@ -57,7 +59,7 @@ BEGIN_EVENT_TABLE(CISOProperties, wxDialog)
|
||||||
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_CHOICE(ID_EMU_ISSUES, CISOProperties::SetRefresh)
|
||||||
EVT_CHOICE(ID_PHACK_CHOICE, CISOProperties::SetRefresh)
|
EVT_BUTTON(ID_PHSETTINGS, CISOProperties::PHackButtonClicked)
|
||||||
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)
|
||||||
|
@ -116,14 +118,8 @@ CISOProperties::CISOProperties(const std::string fileName, wxWindow* parent, wxW
|
||||||
|
|
||||||
CreateGUIControls(DiscIO::IsVolumeWadFile(OpenISO));
|
CreateGUIControls(DiscIO::IsVolumeWadFile(OpenISO));
|
||||||
|
|
||||||
std::string _iniFilename;
|
std::string _iniFilename = OpenISO->GetUniqueID();
|
||||||
|
|
||||||
_iniFilename = std::string(File::GetUserPath(D_GAMECONFIG_IDX)) + "PH_PRESETS.ini";
|
|
||||||
PHPresetsIni.Load(_iniFilename.c_str());
|
|
||||||
//PHPresetsIni.SortSections();
|
|
||||||
//PHPresetsIni.Save(_iniFilename.c_str());
|
|
||||||
|
|
||||||
_iniFilename = OpenISO->GetUniqueID();
|
|
||||||
if (!_iniFilename.length())
|
if (!_iniFilename.length())
|
||||||
{
|
{
|
||||||
char tmp[17];
|
char tmp[17];
|
||||||
|
@ -342,27 +338,14 @@ void CISOProperties::CreateGUIControls(bool IsWad)
|
||||||
UseZTPSpeedupHack = new wxCheckBox(m_GameConfig, ID_ZTP_SPEEDUP, _("ZTP hack"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
|
UseZTPSpeedupHack = new wxCheckBox(m_GameConfig, ID_ZTP_SPEEDUP, _("ZTP hack"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
|
||||||
UseZTPSpeedupHack->SetToolTip(_("Enable this to speed up The Legend of Zelda: Twilight Princess. Disable for ANY other game."));
|
UseZTPSpeedupHack->SetToolTip(_("Enable this to speed up The Legend of Zelda: Twilight Princess. Disable for ANY other game."));
|
||||||
DListCache = new wxCheckBox(m_GameConfig, ID_DLISTCACHE, _("DList Cache"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
|
DListCache = new wxCheckBox(m_GameConfig, ID_DLISTCACHE, _("DList Cache"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
|
||||||
|
|
||||||
// Hack
|
// Hack
|
||||||
PHackEnable = new wxCheckBox(m_GameConfig, ID_PHACKENABLE, _("Enable"), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE, wxDefaultValidator);
|
szrPHackSettings = new wxFlexGridSizer(0);
|
||||||
PHackEnable->SetToolTip(_("Customize some Orthographic Projection parameters."));
|
PHackEnable = new wxCheckBox(m_GameConfig, ID_PHACKENABLE, _("Custom Projection Hack"), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE, wxDefaultValidator);
|
||||||
PHackChoiceText = new wxStaticText(m_GameConfig, ID_PHACK_CHOICE_TEXT, _("Presets: "), wxDefaultPosition, wxDefaultSize);
|
PHackEnable->SetToolTip(_("Enables Custom Projection Hack"));
|
||||||
PHackChoice = new wxChoice(m_GameConfig, ID_PHACK_CHOICE, wxDefaultPosition, wxDefaultSize, wxArrayString(0, wxString("", *wxConvCurrent)), 0, wxDefaultValidator);
|
PHSettings = new wxButton(m_GameConfig, ID_PHSETTINGS, _("Settings..."), wxDefaultPosition, wxDefaultSize, 0);
|
||||||
PHackChoice->SetToolTip(_("Load preset values from hack patterns available."));
|
PHSettings->SetToolTip(_("Customize some Orthographic Projection parameters."));
|
||||||
szrPHackSettings = new wxFlexGridSizer(3,5,5);
|
|
||||||
PHackZNearText = new wxStaticText(m_GameConfig, ID_PHACK_ZNEAR_TEXT, _("zNear Correction: "), wxDefaultPosition, wxDefaultSize);
|
|
||||||
PHackZNear = new wxTextCtrl(m_GameConfig, ID_PHACK_ZNEAR, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
|
|
||||||
PHackZNear->SetToolTip(_("Adds the specified value to zNear Parameter.\nTwo ways to express the floating point values.\nExample: entering '\'200'\' or '\'0.0002'\' directly, it produces equal effects, the acquired value will be '\'0.0002'\'.\nValues: (0->+/-Integer) or (0->+/-FP[6 digits of precision])\n\nNOTE: Check LogWindow/Console for the acquired values."));
|
|
||||||
PHackSZNear = new wxCheckBox(m_GameConfig, ID_PHACK_SZNEAR, _("(-)+zNear"), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE, wxDefaultValidator);
|
|
||||||
PHackSZNear->SetToolTip(_("Changes sign to zNear Parameter (after correction)"));
|
|
||||||
PHackZFarText = new wxStaticText(m_GameConfig, ID_PHACK_ZFAR_TEXT, _("zFar Correction: "), wxDefaultPosition, wxDefaultSize);
|
|
||||||
PHackZFar = new wxTextCtrl(m_GameConfig, ID_PHACK_ZFAR, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
|
|
||||||
PHackZFar->SetToolTip(_("Adds the specified value to zFar Parameter.\nTwo ways to express the floating point values.\nExample: entering '\'200'\' or '\'0.0002'\' directly, it produces equal effects, the acquired value will be '\'0.0002'\'.\nValues: (0->+/-Integer) or (0->+/-FP[6 digits of precision])\n\nNOTE: Check LogWindow/Console for the acquired values."));
|
|
||||||
PHackSZFar = new wxCheckBox(m_GameConfig, ID_PHACK_SZFAR, _("(-)+zFar"), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE, wxDefaultValidator);
|
|
||||||
PHackSZFar->SetToolTip(_("Changes sign to zFar Parameter (after correction)"));
|
|
||||||
PHackExP = new wxCheckBox(m_GameConfig, ID_PHACK_EXP, _("Extra Parameter"), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE, wxDefaultValidator);
|
|
||||||
PHackExP->SetToolTip(_("Extra Parameter useful in '\'Metroid: Other M'\' only."));
|
|
||||||
|
|
||||||
// Emulation State
|
|
||||||
sEmuState = new wxBoxSizer(wxHORIZONTAL);
|
sEmuState = new wxBoxSizer(wxHORIZONTAL);
|
||||||
EmuStateText = new wxStaticText(m_GameConfig, ID_EMUSTATE_TEXT, _("Emulation State: "), wxDefaultPosition, wxDefaultSize);
|
EmuStateText = new wxStaticText(m_GameConfig, ID_EMUSTATE_TEXT, _("Emulation State: "), wxDefaultPosition, wxDefaultSize);
|
||||||
arrayStringFor_EmuState.Add(_("Not Set"));
|
arrayStringFor_EmuState.Add(_("Not Set"));
|
||||||
|
@ -414,23 +397,9 @@ void CISOProperties::CreateGUIControls(bool IsWad)
|
||||||
sbVideoOverrides->Add(UseXFB, 0, wxEXPAND|wxLEFT, 5);
|
sbVideoOverrides->Add(UseXFB, 0, wxEXPAND|wxLEFT, 5);
|
||||||
sbVideoOverrides->Add(UseZTPSpeedupHack, 0, wxEXPAND|wxLEFT, 5);
|
sbVideoOverrides->Add(UseZTPSpeedupHack, 0, wxEXPAND|wxLEFT, 5);
|
||||||
sbVideoOverrides->Add(DListCache, 0, wxEXPAND|wxLEFT, 5);
|
sbVideoOverrides->Add(DListCache, 0, wxEXPAND|wxLEFT, 5);
|
||||||
sbVideoOverrides->AddSpacer(5);
|
szrPHackSettings->Add(PHackEnable, 0, wxEXPAND|wxLEFT, 5);
|
||||||
|
szrPHackSettings->Add(PHSettings, 0, wxLEFT, 5);
|
||||||
sbPHackSettings = new wxStaticBoxSizer(wxVERTICAL, m_GameConfig, _("Custom Projection Hack"));
|
sbVideoOverrides->Add(szrPHackSettings, 0, wxEXPAND);
|
||||||
sbPHackSettings->Add(PHackEnable, 0, wxEXPAND|wxLEFT, 5);
|
|
||||||
sbPHackSettings->AddSpacer(15);
|
|
||||||
sbPHackSettings->Add(PHackChoiceText, 0, wxEXPAND|wxLEFT, 5);
|
|
||||||
sbPHackSettings->Add(PHackChoice, 0, wxEXPAND|wxLEFT, 5);
|
|
||||||
sbPHackSettings->Add(szrPHackSettings, 0, wxEXPAND|wxLEFT|wxTOP, 5);
|
|
||||||
sbVideoOverrides->Add(sbPHackSettings, 0, wxEXPAND);
|
|
||||||
|
|
||||||
szrPHackSettings->Add(PHackZNearText, 0, wxALIGN_CENTER_VERTICAL);
|
|
||||||
szrPHackSettings->Add(PHackZNear, 1, wxEXPAND);
|
|
||||||
szrPHackSettings->Add(PHackSZNear, 0, wxEXPAND|wxLEFT, 5);
|
|
||||||
szrPHackSettings->Add(PHackZFarText, 0, wxALIGN_CENTER_VERTICAL);
|
|
||||||
szrPHackSettings->Add(PHackZFar, 1, wxEXPAND);
|
|
||||||
szrPHackSettings->Add(PHackSZFar, 0, wxEXPAND|wxLEFT, 5);
|
|
||||||
szrPHackSettings->Add(PHackExP, 0, wxEXPAND|wxTOP, 5);
|
|
||||||
|
|
||||||
sbGameConfig = new wxStaticBoxSizer(wxVERTICAL, m_GameConfig, _("Game-Specific Settings"));
|
sbGameConfig = new wxStaticBoxSizer(wxVERTICAL, m_GameConfig, _("Game-Specific Settings"));
|
||||||
sbGameConfig->Add(OverrideText, 0, wxEXPAND|wxALL, 5);
|
sbGameConfig->Add(OverrideText, 0, wxEXPAND|wxALL, 5);
|
||||||
|
@ -598,15 +567,7 @@ void CISOProperties::OnCheckBoxClicked(wxCommandEvent& event)
|
||||||
|
|
||||||
if (event.GetId() == ID_PHACKENABLE)
|
if (event.GetId() == ID_PHACKENABLE)
|
||||||
{
|
{
|
||||||
PHackSZNear->Enable(choice);
|
PHSettings->Enable(choice);
|
||||||
PHackSZFar->Enable(choice);
|
|
||||||
PHackZNearText->Enable(choice);
|
|
||||||
PHackZNear->Enable(choice);
|
|
||||||
PHackZFarText->Enable(choice);
|
|
||||||
PHackZFar->Enable(choice);
|
|
||||||
PHackExP->Enable(choice);
|
|
||||||
PHackChoiceText->Enable(choice);
|
|
||||||
PHackChoice->Enable(choice);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -870,33 +831,6 @@ void CISOProperties::SetRefresh(wxCommandEvent& event)
|
||||||
|
|
||||||
if (event.GetId() == ID_EMUSTATE)
|
if (event.GetId() == ID_EMUSTATE)
|
||||||
EmuIssues->Enable(event.GetSelection() != 0);
|
EmuIssues->Enable(event.GetSelection() != 0);
|
||||||
else if (event.GetId() == ID_PHACK_CHOICE)
|
|
||||||
{
|
|
||||||
bool bTemp;
|
|
||||||
std::string sTemp;
|
|
||||||
char sIndex[15];
|
|
||||||
int index = event.GetSelection();
|
|
||||||
bRefreshList = false;
|
|
||||||
|
|
||||||
if (index > 1)
|
|
||||||
{
|
|
||||||
index -= 2;
|
|
||||||
sprintf(sIndex,"%d", index);
|
|
||||||
|
|
||||||
PHPresetsIni.Get(sIndex, "PH_SZNear", &bTemp);
|
|
||||||
PHackSZNear->Set3StateValue((wxCheckBoxState)bTemp);
|
|
||||||
PHPresetsIni.Get(sIndex, "PH_SZFar", &bTemp);
|
|
||||||
PHackSZFar->Set3StateValue((wxCheckBoxState)bTemp);
|
|
||||||
PHPresetsIni.Get(sIndex, "PH_ExtraParam", &bTemp);
|
|
||||||
PHackExP->Set3StateValue((wxCheckBoxState)bTemp);
|
|
||||||
PHPresetsIni.Get(sIndex, "PH_ZNear", &sTemp);
|
|
||||||
PHackZNear->SetValue(wxString(sTemp.c_str(), *wxConvCurrent));
|
|
||||||
PHPresetsIni.Get(sIndex, "PH_ZFar", &sTemp);
|
|
||||||
PHackZFar->SetValue(wxString(sTemp.c_str(), *wxConvCurrent));
|
|
||||||
|
|
||||||
bRefreshList = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CISOProperties::LoadGameConfig()
|
void CISOProperties::LoadGameConfig()
|
||||||
|
@ -904,7 +838,6 @@ void CISOProperties::LoadGameConfig()
|
||||||
bool bTemp;
|
bool bTemp;
|
||||||
int iTemp;
|
int iTemp;
|
||||||
std::string sTemp;
|
std::string sTemp;
|
||||||
char sIndex[15];
|
|
||||||
|
|
||||||
if (GameIni.Get("Core", "CPUThread", &bTemp))
|
if (GameIni.Get("Core", "CPUThread", &bTemp))
|
||||||
CPUThread->Set3StateValue((wxCheckBoxState)bTemp);
|
CPUThread->Set3StateValue((wxCheckBoxState)bTemp);
|
||||||
|
@ -1008,53 +941,14 @@ void CISOProperties::LoadGameConfig()
|
||||||
|
|
||||||
GameIni.Get("Video", "ProjectionHack", &bTemp);
|
GameIni.Get("Video", "ProjectionHack", &bTemp);
|
||||||
PHackEnable->Set3StateValue((wxCheckBoxState)bTemp);
|
PHackEnable->Set3StateValue((wxCheckBoxState)bTemp);
|
||||||
PHackSZNear->Enable(bTemp);
|
PHSettings->Enable(bTemp);
|
||||||
PHackSZFar->Enable(bTemp);
|
|
||||||
PHackZNearText->Enable(bTemp);
|
GameIni.Get("Video", "PH_SZNear", &PHack_Data.PHackSZNear);
|
||||||
PHackZNear->Enable(bTemp);
|
GameIni.Get("Video", "PH_SZFar", &PHack_Data.PHackSZFar);
|
||||||
PHackZFarText->Enable(bTemp);
|
GameIni.Get("Video", "PH_ExtraParam", &PHack_Data.PHackExP);
|
||||||
PHackZFar->Enable(bTemp);
|
|
||||||
PHackExP->Enable(bTemp);
|
|
||||||
PHackChoiceText->Enable(bTemp);
|
|
||||||
PHackChoice->Enable(bTemp);
|
|
||||||
|
|
||||||
PHackChoice->Clear();
|
|
||||||
PHackChoice->Append(_("Custom"));
|
|
||||||
for (int i=0 ; ; i++)
|
|
||||||
{
|
|
||||||
sprintf(sIndex,"%d",i);
|
|
||||||
if (!PHPresetsIni.Exists(sIndex, "Title"))
|
|
||||||
break;
|
|
||||||
PHPresetsIni.Get(sIndex, "Title", &sTemp);
|
|
||||||
if (sTemp.empty())
|
|
||||||
sTemp = wxString(_("(UNKNOWN)")).char_str();
|
|
||||||
if (i == 0)
|
|
||||||
PHackChoice->Append(wxString("-----------", *wxConvCurrent));
|
|
||||||
PHackChoice->Append(wxString(sTemp.c_str(), *wxConvCurrent));
|
|
||||||
}
|
|
||||||
PHackChoice->Select(0);
|
|
||||||
|
|
||||||
GameIni.Get("Video", "PH_SZNear", &bTemp);
|
|
||||||
PHackSZNear->Set3StateValue((wxCheckBoxState)bTemp);
|
|
||||||
GameIni.Get("Video", "PH_SZFar", &bTemp);
|
|
||||||
PHackSZFar->Set3StateValue((wxCheckBoxState)bTemp);
|
|
||||||
GameIni.Get("Video", "PH_ExtraParam", &bTemp);
|
|
||||||
PHackExP->Set3StateValue((wxCheckBoxState)bTemp);
|
|
||||||
|
|
||||||
GameIni.Get("Video", "PH_ZNear", &sTemp);
|
|
||||||
if (!sTemp.empty())
|
|
||||||
{
|
|
||||||
PHackZNear->SetValue(wxString(sTemp.c_str(), *wxConvCurrent));
|
|
||||||
bRefreshList = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
GameIni.Get("Video", "PH_ZFar", &sTemp);
|
|
||||||
if (!sTemp.empty())
|
|
||||||
{
|
|
||||||
PHackZFar->SetValue(wxString(sTemp.c_str(), *wxConvCurrent));
|
|
||||||
bRefreshList = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
GameIni.Get("Video", "PH_ZNear", &PHack_Data.PHZNear);
|
||||||
|
GameIni.Get("Video", "PH_ZFar", &PHack_Data.PHZFar);
|
||||||
|
|
||||||
GameIni.Get("EmuState", "EmulationStateId", &iTemp, 0/*Not Set*/);
|
GameIni.Get("EmuState", "EmulationStateId", &iTemp, 0/*Not Set*/);
|
||||||
EmuState->SetSelection(iTemp);
|
EmuState->SetSelection(iTemp);
|
||||||
|
@ -1175,12 +1069,13 @@ bool CISOProperties::SaveGameConfig()
|
||||||
GameIni.Set("Video", "DlistCachingEnable", DListCache->Get3StateValue());
|
GameIni.Set("Video", "DlistCachingEnable", DListCache->Get3StateValue());
|
||||||
|
|
||||||
GameIni.Set("Video", "ProjectionHack", PHackEnable->Get3StateValue());
|
GameIni.Set("Video", "ProjectionHack", PHackEnable->Get3StateValue());
|
||||||
GameIni.Set("Video", "PH_SZNear", PHackSZNear->Get3StateValue());
|
|
||||||
GameIni.Set("Video", "PH_SZFar", PHackSZFar->Get3StateValue());
|
|
||||||
GameIni.Set("Video", "PH_ExtraParam", PHackExP->Get3StateValue());
|
|
||||||
|
|
||||||
GameIni.Set("Video", "PH_ZNear", (const char*)PHackZNear->GetValue().mb_str(*wxConvCurrent));
|
GameIni.Set("Video", "PH_SZNear", PHack_Data.PHackSZNear ? 1 : 0);
|
||||||
GameIni.Set("Video", "PH_ZFar", (const char*)PHackZFar->GetValue().mb_str(*wxConvCurrent));
|
GameIni.Set("Video", "PH_SZFar", PHack_Data.PHackSZFar ? 1 : 0);
|
||||||
|
GameIni.Set("Video", "PH_ExtraParam", PHack_Data.PHackExP ? 1 : 0);
|
||||||
|
|
||||||
|
GameIni.Set("Video", "PH_ZNear", PHack_Data.PHZNear);
|
||||||
|
GameIni.Set("Video", "PH_ZFar", PHack_Data.PHZFar);
|
||||||
|
|
||||||
GameIni.Set("EmuState", "EmulationStateId", EmuState->GetSelection());
|
GameIni.Set("EmuState", "EmulationStateId", EmuState->GetSelection());
|
||||||
GameIni.Set("EmuState", "EmulationIssues", (const char*)EmuIssues->GetValue().mb_str(*wxConvCurrent));
|
GameIni.Set("EmuState", "EmulationIssues", (const char*)EmuIssues->GetValue().mb_str(*wxConvCurrent));
|
||||||
|
@ -1289,6 +1184,17 @@ void CISOProperties::PatchList_Save()
|
||||||
lines.clear();
|
lines.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CISOProperties::PHackButtonClicked(wxCommandEvent& event)
|
||||||
|
{
|
||||||
|
if (event.GetId() == ID_PHSETTINGS)
|
||||||
|
{
|
||||||
|
::PHack_Data = PHack_Data;
|
||||||
|
CPHackSettings dlg(this, 1);
|
||||||
|
if (dlg.ShowModal() == wxID_OK)
|
||||||
|
PHack_Data = ::PHack_Data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void CISOProperties::PatchButtonClicked(wxCommandEvent& event)
|
void CISOProperties::PatchButtonClicked(wxCommandEvent& event)
|
||||||
{
|
{
|
||||||
int selection = Patches->GetSelection();
|
int selection = Patches->GetSelection();
|
||||||
|
|
|
@ -37,6 +37,15 @@
|
||||||
#include "ActionReplay.h"
|
#include "ActionReplay.h"
|
||||||
#include "GeckoCodeDiag.h"
|
#include "GeckoCodeDiag.h"
|
||||||
|
|
||||||
|
struct PHackData
|
||||||
|
{
|
||||||
|
bool PHackSZNear;
|
||||||
|
bool PHackSZFar;
|
||||||
|
bool PHackExP;
|
||||||
|
std::string PHZNear;
|
||||||
|
std::string PHZFar;
|
||||||
|
};
|
||||||
|
|
||||||
class CISOProperties : public wxDialog
|
class CISOProperties : public wxDialog
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -55,6 +64,8 @@ class CISOProperties : public wxDialog
|
||||||
void ActionReplayList_Load();
|
void ActionReplayList_Load();
|
||||||
bool SaveGameConfig();
|
bool SaveGameConfig();
|
||||||
|
|
||||||
|
PHackData PHack_Data;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
DECLARE_EVENT_TABLE();
|
DECLARE_EVENT_TABLE();
|
||||||
|
@ -63,7 +74,6 @@ class CISOProperties : public wxDialog
|
||||||
wxStaticBoxSizer *sbCoreOverrides;
|
wxStaticBoxSizer *sbCoreOverrides;
|
||||||
wxStaticBoxSizer *sbWiiOverrides;
|
wxStaticBoxSizer *sbWiiOverrides;
|
||||||
wxStaticBoxSizer *sbVideoOverrides;
|
wxStaticBoxSizer *sbVideoOverrides;
|
||||||
wxStaticBoxSizer *sbPHackSettings;
|
|
||||||
wxBoxSizer *sEmuState;
|
wxBoxSizer *sEmuState;
|
||||||
wxBoxSizer *sPatches;
|
wxBoxSizer *sPatches;
|
||||||
wxBoxSizer *sPatchButtons;
|
wxBoxSizer *sPatchButtons;
|
||||||
|
@ -93,8 +103,8 @@ class CISOProperties : public wxDialog
|
||||||
wxCheckBox *ForceFiltering,
|
wxCheckBox *ForceFiltering,
|
||||||
*EFBCopyEnable, *EFBAccessEnable, *EFBToTextureEnable,
|
*EFBCopyEnable, *EFBAccessEnable, *EFBToTextureEnable,
|
||||||
*SafeTextureCache, *DstAlphaPass, *UseXFB, *UseZTPSpeedupHack,
|
*SafeTextureCache, *DstAlphaPass, *UseXFB, *UseZTPSpeedupHack,
|
||||||
*DListCache, *PHackEnable, *PHackSZNear, *PHackSZFar, *PHackExP;
|
*DListCache, *PHackEnable;
|
||||||
wxChoice *PHackChoice;
|
wxButton *PHSettings;
|
||||||
|
|
||||||
wxButton *EditConfig;
|
wxButton *EditConfig;
|
||||||
wxStaticText *EmuStateText;
|
wxStaticText *EmuStateText;
|
||||||
|
@ -128,17 +138,12 @@ class CISOProperties : public wxDialog
|
||||||
wxStaticText *m_MakerText;
|
wxStaticText *m_MakerText;
|
||||||
wxStaticText *m_CommentText;
|
wxStaticText *m_CommentText;
|
||||||
wxStaticText *m_BannerText;
|
wxStaticText *m_BannerText;
|
||||||
wxStaticText *PHackChoiceText;
|
|
||||||
wxStaticText *PHackZNearText;
|
|
||||||
wxStaticText *PHackZFarText;
|
|
||||||
wxTextCtrl *m_Name;
|
wxTextCtrl *m_Name;
|
||||||
wxTextCtrl *m_GameID;
|
wxTextCtrl *m_GameID;
|
||||||
wxTextCtrl *m_Country;
|
wxTextCtrl *m_Country;
|
||||||
wxTextCtrl *m_MakerID;
|
wxTextCtrl *m_MakerID;
|
||||||
wxTextCtrl *m_Date;
|
wxTextCtrl *m_Date;
|
||||||
wxTextCtrl *m_FST;
|
wxTextCtrl *m_FST;
|
||||||
wxTextCtrl *PHackZNear;
|
|
||||||
wxTextCtrl *PHackZFar;
|
|
||||||
wxArrayString arrayStringFor_Lang;
|
wxArrayString arrayStringFor_Lang;
|
||||||
wxChoice *m_Lang;
|
wxChoice *m_Lang;
|
||||||
wxTextCtrl *m_ShortName;
|
wxTextCtrl *m_ShortName;
|
||||||
|
@ -187,15 +192,7 @@ class CISOProperties : public wxDialog
|
||||||
ID_ZTP_SPEEDUP,
|
ID_ZTP_SPEEDUP,
|
||||||
ID_DLISTCACHE,
|
ID_DLISTCACHE,
|
||||||
ID_PHACKENABLE,
|
ID_PHACKENABLE,
|
||||||
ID_PHACK_CHOICE_TEXT,
|
ID_PHSETTINGS,
|
||||||
ID_PHACK_CHOICE,
|
|
||||||
ID_PHACK_SZNEAR,
|
|
||||||
ID_PHACK_SZFAR,
|
|
||||||
ID_PHACK_ZNEAR_TEXT,
|
|
||||||
ID_PHACK_ZNEAR,
|
|
||||||
ID_PHACK_ZFAR_TEXT,
|
|
||||||
ID_PHACK_ZFAR,
|
|
||||||
ID_PHACK_EXP,
|
|
||||||
ID_ENABLEPROGRESSIVESCAN,
|
ID_ENABLEPROGRESSIVESCAN,
|
||||||
ID_ENABLEWIDESCREEN,
|
ID_ENABLEWIDESCREEN,
|
||||||
ID_EDITCONFIG,
|
ID_EDITCONFIG,
|
||||||
|
@ -263,6 +260,7 @@ class CISOProperties : public wxDialog
|
||||||
void SetRefresh(wxCommandEvent& event);
|
void SetRefresh(wxCommandEvent& event);
|
||||||
void OnChangeBannerLang(wxCommandEvent& event);
|
void OnChangeBannerLang(wxCommandEvent& event);
|
||||||
void OnCheckBoxClicked(wxCommandEvent& event);
|
void OnCheckBoxClicked(wxCommandEvent& event);
|
||||||
|
void PHackButtonClicked(wxCommandEvent& event);
|
||||||
|
|
||||||
GameListItem *OpenGameListItem;
|
GameListItem *OpenGameListItem;
|
||||||
|
|
||||||
|
@ -276,7 +274,7 @@ class CISOProperties : public wxDialog
|
||||||
void ExportDir(const char* _rFullPath, const char* _rExportFilename,
|
void ExportDir(const char* _rFullPath, const char* _rExportFilename,
|
||||||
const int partitionNum = 0);
|
const int partitionNum = 0);
|
||||||
|
|
||||||
IniFile GameIni, PHPresetsIni;
|
IniFile GameIni;
|
||||||
std::string GameIniFile;
|
std::string GameIniFile;
|
||||||
|
|
||||||
void LoadGameConfig();
|
void LoadGameConfig();
|
||||||
|
|
|
@ -0,0 +1,159 @@
|
||||||
|
// Copyright (C) 2003 Dolphin Project.
|
||||||
|
|
||||||
|
// This program is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU General Public License as published by
|
||||||
|
// the Free Software Foundation, version 2.0.
|
||||||
|
|
||||||
|
// This program is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License 2.0 for more details.
|
||||||
|
|
||||||
|
// A copy of the GPL 2.0 should have been included with the program.
|
||||||
|
// If not, see http://www.gnu.org/licenses/
|
||||||
|
|
||||||
|
// Official SVN repository and contact information can be found at
|
||||||
|
// http://code.google.com/p/dolphin-emu/
|
||||||
|
|
||||||
|
#include "PHackSettings.h"
|
||||||
|
#include "ConfigManager.h"
|
||||||
|
|
||||||
|
extern PHackData PHack_Data;
|
||||||
|
|
||||||
|
BEGIN_EVENT_TABLE(CPHackSettings, wxDialog)
|
||||||
|
EVT_CHOICE(ID_PHACK_CHOICE, CPHackSettings::SetRefresh)
|
||||||
|
EVT_CLOSE(CPHackSettings::OnClose)
|
||||||
|
EVT_BUTTON(wxID_OK, CPHackSettings::SavePHackData)
|
||||||
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
|
CPHackSettings::CPHackSettings(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& position, const wxSize& size, long style)
|
||||||
|
: wxDialog(parent, id, title, position, size, style)
|
||||||
|
{
|
||||||
|
CreateGUIControls();
|
||||||
|
std::string _iniFilename;
|
||||||
|
_iniFilename = std::string(File::GetUserPath(D_GAMECONFIG_IDX)) + "PH_PRESETS.ini";
|
||||||
|
PHPresetsIni.Load(_iniFilename.c_str());
|
||||||
|
//PHPresetsIni.SortSections();
|
||||||
|
//PHPresetsIni.Save(_iniFilename.c_str());
|
||||||
|
|
||||||
|
LoadPHackData();
|
||||||
|
}
|
||||||
|
|
||||||
|
CPHackSettings::~CPHackSettings()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void CPHackSettings::CreateGUIControls()
|
||||||
|
{
|
||||||
|
PHackChoiceText = new wxStaticText(this, ID_PHACK_CHOICE_TEXT, _("Presets: "), wxDefaultPosition, wxDefaultSize);
|
||||||
|
PHackChoice = new wxChoice(this, ID_PHACK_CHOICE, wxDefaultPosition, wxDefaultSize, wxArrayString(0, wxString("", *wxConvCurrent)), 0, wxDefaultValidator);
|
||||||
|
PHackChoice->SetToolTip(_("Load preset values from hack patterns available."));
|
||||||
|
PHackZNearText = new wxStaticText(this, ID_PHACK_ZNEAR_TEXT, _("zNear Correction: "), wxDefaultPosition, wxDefaultSize);
|
||||||
|
PHackZNear = new wxTextCtrl(this, ID_PHACK_ZNEAR, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
|
||||||
|
PHackZNear->SetToolTip(_("Adds the specified value to zNear Parameter.\nTwo ways to express the floating point values.\nExample: entering '\'200'\' or '\'0.0002'\' directly, it produces equal effects, the acquired value will be '\'0.0002'\'.\nValues: (0->+/-Integer) or (0->+/-FP[6 digits of precision])\n\nNOTE: Check LogWindow/Console for the acquired values."));
|
||||||
|
PHackSZNear = new wxCheckBox(this, ID_PHACK_SZNEAR, _("(-)+zNear"), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE, wxDefaultValidator);
|
||||||
|
PHackSZNear->SetToolTip(_("Changes sign to zNear Parameter (after correction)"));
|
||||||
|
PHackZFarText = new wxStaticText(this, ID_PHACK_ZFAR_TEXT, _("zFar Correction: "), wxDefaultPosition, wxDefaultSize);
|
||||||
|
PHackZFar = new wxTextCtrl(this, ID_PHACK_ZFAR, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
|
||||||
|
PHackZFar->SetToolTip(_("Adds the specified value to zFar Parameter.\nTwo ways to express the floating point values.\nExample: entering '\'200'\' or '\'0.0002'\' directly, it produces equal effects, the acquired value will be '\'0.0002'\'.\nValues: (0->+/-Integer) or (0->+/-FP[6 digits of precision])\n\nNOTE: Check LogWindow/Console for the acquired values."));
|
||||||
|
PHackSZFar = new wxCheckBox(this, ID_PHACK_SZFAR, _("(-)+zFar"), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE, wxDefaultValidator);
|
||||||
|
PHackSZFar->SetToolTip(_("Changes sign to zFar Parameter (after correction)"));
|
||||||
|
PHackExP = new wxCheckBox(this, ID_PHACK_EXP, _("Extra Parameter"), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE, wxDefaultValidator);
|
||||||
|
PHackExP->SetToolTip(_("Extra Parameter useful in '\'Metroid: Other M'\' only."));
|
||||||
|
|
||||||
|
wxStaticBoxSizer *sbPHackSettings = new wxStaticBoxSizer(wxVERTICAL, this, _("Parameters"));
|
||||||
|
wxFlexGridSizer *szrPHackSettings = new wxFlexGridSizer(3, 5, 5);
|
||||||
|
sbPHackSettings->Add(szrPHackSettings, 0, wxEXPAND|wxLEFT|wxTOP, 5);
|
||||||
|
szrPHackSettings->Add(PHackZNearText, 0, wxALIGN_CENTER_VERTICAL);
|
||||||
|
szrPHackSettings->Add(PHackZNear, 1, wxEXPAND);
|
||||||
|
szrPHackSettings->Add(PHackSZNear, 0, wxEXPAND|wxLEFT, 5);
|
||||||
|
szrPHackSettings->Add(PHackZFarText, 0, wxALIGN_CENTER_VERTICAL);
|
||||||
|
szrPHackSettings->Add(PHackZFar, 1, wxEXPAND);
|
||||||
|
szrPHackSettings->Add(PHackSZFar, 0, wxEXPAND|wxLEFT, 5);
|
||||||
|
szrPHackSettings->Add(PHackExP, 0, wxEXPAND|wxTOP|wxBOTTOM, 5);
|
||||||
|
|
||||||
|
wxBoxSizer* sPHackButtons = new wxBoxSizer(wxHORIZONTAL);
|
||||||
|
wxButton* bOK = new wxButton(this, wxID_OK, _("OK"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
|
||||||
|
wxButton* bCancel = new wxButton(this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
|
||||||
|
sPHackButtons->Add(0, 0, 1, wxEXPAND, 5);
|
||||||
|
sPHackButtons->Add(bOK, 0, wxALL, 5);
|
||||||
|
sPHackButtons->Add(bCancel, 0, wxALL, 5);
|
||||||
|
|
||||||
|
wxBoxSizer* sPHack = new wxBoxSizer(wxVERTICAL);
|
||||||
|
sPHack->Add(PHackChoiceText, 0, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5);
|
||||||
|
sPHack->Add(PHackChoice, 0, wxEXPAND|wxLEFT|wxRIGHT|wxBOTTOM, 5);
|
||||||
|
sPHack->Add(sbPHackSettings, 0, wxEXPAND|wxALL, 5);
|
||||||
|
sPHack->Add(sPHackButtons, 0, wxEXPAND, 5);
|
||||||
|
|
||||||
|
SetSizerAndFit(sPHack);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CPHackSettings::LoadPHackData()
|
||||||
|
{
|
||||||
|
std::string sTemp;
|
||||||
|
char sIndex[15];
|
||||||
|
|
||||||
|
PHackChoice->Clear();
|
||||||
|
PHackChoice->Append(_("[Custom]"));
|
||||||
|
for (int i=0 ; ; i++)
|
||||||
|
{
|
||||||
|
sprintf(sIndex,"%d",i);
|
||||||
|
if (!PHPresetsIni.Exists(sIndex, "Title"))
|
||||||
|
break;
|
||||||
|
PHPresetsIni.Get(sIndex, "Title", &sTemp);
|
||||||
|
if (sTemp.empty())
|
||||||
|
sTemp = wxString(_("(UNKNOWN)")).char_str();
|
||||||
|
if (i == 0)
|
||||||
|
PHackChoice->Append(wxString("-----------", *wxConvCurrent));
|
||||||
|
PHackChoice->Append(wxString(sTemp.c_str(), *wxConvCurrent));
|
||||||
|
}
|
||||||
|
PHackChoice->Select(0);
|
||||||
|
|
||||||
|
PHackSZNear->Set3StateValue((wxCheckBoxState)PHack_Data.PHackSZNear);
|
||||||
|
PHackSZFar->Set3StateValue((wxCheckBoxState)PHack_Data.PHackSZFar);
|
||||||
|
PHackExP->Set3StateValue((wxCheckBoxState)PHack_Data.PHackExP);
|
||||||
|
|
||||||
|
PHackZNear->SetValue(wxString(PHack_Data.PHZNear.c_str(), *wxConvCurrent));
|
||||||
|
PHackZFar->SetValue(wxString(PHack_Data.PHZFar.c_str(), *wxConvCurrent));
|
||||||
|
}
|
||||||
|
|
||||||
|
void CPHackSettings::SetRefresh(wxCommandEvent& event)
|
||||||
|
{
|
||||||
|
bool bTemp;
|
||||||
|
std::string sTemp;
|
||||||
|
char sIndex[15];
|
||||||
|
int index = event.GetSelection();
|
||||||
|
if (index > 1)
|
||||||
|
{
|
||||||
|
index -= 2;
|
||||||
|
sprintf(sIndex,"%d", index);
|
||||||
|
|
||||||
|
PHPresetsIni.Get(sIndex, "PH_SZNear", &bTemp);
|
||||||
|
PHackSZNear->Set3StateValue((wxCheckBoxState)bTemp);
|
||||||
|
PHPresetsIni.Get(sIndex, "PH_SZFar", &bTemp);
|
||||||
|
PHackSZFar->Set3StateValue((wxCheckBoxState)bTemp);
|
||||||
|
PHPresetsIni.Get(sIndex, "PH_ExtraParam", &bTemp);
|
||||||
|
PHackExP->Set3StateValue((wxCheckBoxState)bTemp);
|
||||||
|
PHPresetsIni.Get(sIndex, "PH_ZNear", &sTemp);
|
||||||
|
PHackZNear->SetValue(wxString(sTemp.c_str(), *wxConvCurrent));
|
||||||
|
PHPresetsIni.Get(sIndex, "PH_ZFar", &sTemp);
|
||||||
|
PHackZFar->SetValue(wxString(sTemp.c_str(), *wxConvCurrent));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void CPHackSettings::OnClose(wxCloseEvent& WXUNUSED (event))
|
||||||
|
{
|
||||||
|
Destroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CPHackSettings::SavePHackData(wxCommandEvent& WXUNUSED (event))
|
||||||
|
{
|
||||||
|
PHack_Data.PHackSZNear = (bool)PHackSZNear->Get3StateValue();
|
||||||
|
PHack_Data.PHackSZFar = (bool)PHackSZFar->Get3StateValue();
|
||||||
|
PHack_Data.PHackExP = (bool)PHackExP->Get3StateValue();
|
||||||
|
|
||||||
|
PHack_Data.PHZNear = PHackZNear->GetValue().char_str();
|
||||||
|
PHack_Data.PHZFar = PHackZFar->GetValue().char_str();
|
||||||
|
|
||||||
|
AcceptAndClose();
|
||||||
|
}
|
|
@ -0,0 +1,70 @@
|
||||||
|
// Copyright (C) 2003 Dolphin Project.
|
||||||
|
|
||||||
|
// This program is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU General Public License as published by
|
||||||
|
// the Free Software Foundation, version 2.0.
|
||||||
|
|
||||||
|
// This program is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License 2.0 for more details.
|
||||||
|
|
||||||
|
// A copy of the GPL 2.0 should have been included with the program.
|
||||||
|
// If not, see http://www.gnu.org/licenses/
|
||||||
|
|
||||||
|
// Official SVN repository and contact information can be found at
|
||||||
|
// http://code.google.com/p/dolphin-emu/
|
||||||
|
|
||||||
|
#ifndef __PHACK_SETTINGS_h__
|
||||||
|
#define __PHACK_SETTINGS_h__
|
||||||
|
|
||||||
|
#include <wx/wx.h>
|
||||||
|
#include <wx/spinctrl.h>
|
||||||
|
#include "ISOProperties.h"
|
||||||
|
|
||||||
|
class CPHackSettings : public wxDialog
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CPHackSettings(wxWindow* parent,
|
||||||
|
wxWindowID id = 1,
|
||||||
|
const wxString& title = _("Custom Projection Hack Settings"),
|
||||||
|
const wxPoint& pos = wxDefaultPosition,
|
||||||
|
const wxSize& size = wxDefaultSize,
|
||||||
|
long style = wxDEFAULT_DIALOG_STYLE);
|
||||||
|
virtual ~CPHackSettings();
|
||||||
|
|
||||||
|
private:
|
||||||
|
DECLARE_EVENT_TABLE();
|
||||||
|
|
||||||
|
wxChoice *PHackChoice;
|
||||||
|
wxCheckBox *PHackSZNear;
|
||||||
|
wxCheckBox *PHackSZFar;
|
||||||
|
wxCheckBox *PHackExP;
|
||||||
|
wxStaticText *PHackChoiceText;
|
||||||
|
wxStaticText *PHackZNearText;
|
||||||
|
wxStaticText *PHackZFarText;
|
||||||
|
wxTextCtrl *PHackZNear;
|
||||||
|
wxTextCtrl *PHackZFar;
|
||||||
|
|
||||||
|
enum {
|
||||||
|
ID_PHACK_CHOICE_TEXT = 1000,
|
||||||
|
ID_PHACK_CHOICE,
|
||||||
|
ID_PHACK_SZNEAR,
|
||||||
|
ID_PHACK_SZFAR,
|
||||||
|
ID_PHACK_ZNEAR_TEXT,
|
||||||
|
ID_PHACK_ZNEAR,
|
||||||
|
ID_PHACK_ZFAR_TEXT,
|
||||||
|
ID_PHACK_ZFAR,
|
||||||
|
ID_PHACK_EXP
|
||||||
|
};
|
||||||
|
|
||||||
|
IniFile PHPresetsIni;
|
||||||
|
|
||||||
|
void SetRefresh(wxCommandEvent& event);
|
||||||
|
void CreateGUIControls();
|
||||||
|
|
||||||
|
void OnClose(wxCloseEvent& event);
|
||||||
|
void SavePHackData(wxCommandEvent& event);
|
||||||
|
void LoadPHackData();
|
||||||
|
};
|
||||||
|
#endif // __PHACK_SETTINGS_h__
|
Loading…
Reference in New Issue