Move the ZTP hack to the game properties (reverted all changes from r6057 to the video plugins) due to some obvious reasons. Also some fixes to the coding style.

Remove a member variable which I introduced in r5907 although it never actually got used. Restores binary compatibility (at least in that regard) to pre-r5907 video plugins, but breaks any binaries after that :P

Update FIFO watermark tightness recommendations. 1000 is quite a high value I guess, but some people seem to need it.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6060 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
NeoBrainX 2010-08-05 18:41:02 +00:00
parent 8dc01b685f
commit d5d7beb6c7
13 changed files with 118 additions and 84 deletions

View File

@ -71,8 +71,6 @@ struct SConfig
// framelimit choose // framelimit choose
int m_Framelimit; int m_Framelimit;
bool b_UseFPS; bool b_UseFPS;
// FIFO watermark tightness
int m_WatermarkTightness;
// other interface settings // other interface settings
bool m_InterfaceToolbar; bool m_InterfaceToolbar;
bool m_InterfaceStatusbar; bool m_InterfaceStatusbar;

View File

@ -318,6 +318,8 @@ void CISOProperties::CreateGUIControls(bool IsWad)
SafeTextureCache = new wxCheckBox(m_GameConfig, ID_SAFETEXTURECACHE, _("Safe Texture Cache"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator); SafeTextureCache = new wxCheckBox(m_GameConfig, ID_SAFETEXTURECACHE, _("Safe Texture Cache"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
DstAlphaPass = new wxCheckBox(m_GameConfig, ID_DSTALPHAPASS, _("Distance Alpha Pass"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator); DstAlphaPass = new wxCheckBox(m_GameConfig, ID_DSTALPHAPASS, _("Distance Alpha Pass"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
UseXFB = new wxCheckBox(m_GameConfig, ID_USEXFB, _("Use XFB"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator); UseXFB = new wxCheckBox(m_GameConfig, ID_USEXFB, _("Use XFB"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
UseZTPSpeedupHack = new wxCheckBox(m_GameConfig, ID_USEXFB, _("ZTP hack"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
UseZTPSpeedupHack->SetToolTip(wxT("Enable this to speed up The Legend of Zelda: Twilight Princess. Disable for ANY other game."));
// Hack // Hack
Hacktext = new wxStaticText(m_GameConfig, ID_HACK_TEXT, _("Projection Hack for: "), wxDefaultPosition, wxDefaultSize); Hacktext = new wxStaticText(m_GameConfig, ID_HACK_TEXT, _("Projection Hack for: "), wxDefaultPosition, wxDefaultSize);
arrayStringFor_Hack.Add(_("None")); arrayStringFor_Hack.Add(_("None"));
@ -329,7 +331,7 @@ void CISOProperties::CreateGUIControls(bool IsWad)
WMTightnessText = new wxStaticText(m_GameConfig, ID_WMTIGHTNESS_TEXT, wxT("Watermark tightness: "), wxDefaultPosition, wxDefaultSize); WMTightnessText = new wxStaticText(m_GameConfig, ID_WMTIGHTNESS_TEXT, wxT("Watermark tightness: "), wxDefaultPosition, wxDefaultSize);
WMTightness = new wxTextCtrl(m_GameConfig, ID_WMTIGHTNESS, wxT(""), wxDefaultPosition, wxDefaultSize, 0, wxTextValidator(wxFILTER_NUMERIC)); WMTightness = new wxTextCtrl(m_GameConfig, ID_WMTIGHTNESS, wxT(""), wxDefaultPosition, wxDefaultSize, 0, wxTextValidator(wxFILTER_NUMERIC));
WMTightness->SetToolTip(wxT("Change this if you get lots of FIFO overflow errors. Reasonable values range from 0 to 200.")); WMTightness->SetToolTip(wxT("Change this if you get lots of FIFO overflow errors. Reasonable values range from 0 to 1000."));
// Emulation State // Emulation State
sEmuState = new wxBoxSizer(wxHORIZONTAL); sEmuState = new wxBoxSizer(wxHORIZONTAL);
@ -359,6 +361,7 @@ void CISOProperties::CreateGUIControls(bool IsWad)
sbVideoOverrides->Add(SafeTextureCache, 0, wxEXPAND|wxLEFT, 5); sbVideoOverrides->Add(SafeTextureCache, 0, wxEXPAND|wxLEFT, 5);
sbVideoOverrides->Add(DstAlphaPass, 0, wxEXPAND|wxLEFT, 5); sbVideoOverrides->Add(DstAlphaPass, 0, wxEXPAND|wxLEFT, 5);
sbVideoOverrides->Add(UseXFB, 0, wxEXPAND|wxLEFT, 5); sbVideoOverrides->Add(UseXFB, 0, wxEXPAND|wxLEFT, 5);
sbVideoOverrides->Add(UseZTPSpeedupHack, 0, wxEXPAND|wxLEFT, 5);
wxFlexGridSizer* fifosizer = new wxFlexGridSizer(2, 2, 0, 0); wxFlexGridSizer* fifosizer = new wxFlexGridSizer(2, 2, 0, 0);
fifosizer->Add(Hacktext, 0, wxLEFT, 5); fifosizer->Add(Hacktext, 0, wxLEFT, 5);
@ -868,6 +871,11 @@ void CISOProperties::LoadGameConfig()
else else
UseXFB->Set3StateValue(wxCHK_UNDETERMINED); UseXFB->Set3StateValue(wxCHK_UNDETERMINED);
if (GameIni.Get("Video", "ZTPSpeedupHack", &bTemp))
UseZTPSpeedupHack->Set3StateValue((wxCheckBoxState)bTemp);
else
UseZTPSpeedupHack->Set3StateValue(wxCHK_UNDETERMINED);
if (GameIni.Get("Video", "FIFOWatermarkTightness", &sTemp)) if (GameIni.Get("Video", "FIFOWatermarkTightness", &sTemp))
WMTightness->SetValue(wxString(sTemp.c_str(), *wxConvCurrent)); WMTightness->SetValue(wxString(sTemp.c_str(), *wxConvCurrent));
else else
@ -959,6 +967,11 @@ bool CISOProperties::SaveGameConfig()
else else
GameIni.Set("Video", "UseXFB", UseXFB->Get3StateValue()); GameIni.Set("Video", "UseXFB", UseXFB->Get3StateValue());
if (UseZTPSpeedupHack->Get3StateValue() == wxCHK_UNDETERMINED)
GameIni.DeleteKey("Video", "ZTPSpeedupHack");
else
GameIni.Set("Video", "ZTPSpeedupHack", UseZTPSpeedupHack->Get3StateValue());
if (Hack->GetSelection() == -1) if (Hack->GetSelection() == -1)
GameIni.DeleteKey("Video", "ProjectionHack"); GameIni.DeleteKey("Video", "ProjectionHack");
else else

View File

@ -90,7 +90,7 @@ class CISOProperties : public wxDialog
// Video // Video
wxCheckBox *ForceFiltering, wxCheckBox *ForceFiltering,
*EFBCopyDisable, *EFBToTextureEnable, *EFBCopyDisable, *EFBToTextureEnable,
*SafeTextureCache, *DstAlphaPass, *UseXFB; *SafeTextureCache, *DstAlphaPass, *UseXFB, *UseZTPSpeedupHack;
wxStaticText *Hacktext; wxStaticText *Hacktext;
wxArrayString arrayStringFor_Hack; wxArrayString arrayStringFor_Hack;
wxChoice *Hack; wxChoice *Hack;
@ -173,6 +173,7 @@ class CISOProperties : public wxDialog
ID_SAFETEXTURECACHE, ID_SAFETEXTURECACHE,
ID_DSTALPHAPASS, ID_DSTALPHAPASS,
ID_USEXFB, ID_USEXFB,
ID_ZTP_SPEEDUP,
ID_HACK_TEXT, ID_HACK_TEXT,
ID_HACK, ID_HACK,
ID_WMTIGHTNESS_TEXT, ID_WMTIGHTNESS_TEXT,

View File

@ -93,7 +93,7 @@ void BPWritten(const BPCmd& bp)
// BEGIN ZTP SPEEDUP HACK CHANGES // BEGIN ZTP SPEEDUP HACK CHANGES
// This hunk of code disables the usual pipeline flush for certain BP Writes // This hunk of code disables the usual pipeline flush for certain BP Writes
//that occur while the minimap is being drawn in Zelda: twilight princess. // that occur while the minimap is being drawn in Zelda: Twilight Princess.
// This significantly increases speed while in hyrule field. In depth discussion // This significantly increases speed while in hyrule field. In depth discussion
// on how this Hack came to be can be found at: http://forums.dolphin-emu.com/thread-10638.html // on how this Hack came to be can be found at: http://forums.dolphin-emu.com/thread-10638.html
// -fircrestsk8 // -fircrestsk8
@ -101,29 +101,24 @@ void BPWritten(const BPCmd& bp)
{ {
if (!mapTexFound) if (!mapTexFound)
{ {
if (bp.address == BPMEM_TEV_COLOR_ENV || bp.address == BPMEM_TEV_ALPHA_ENV) if (bp.address != BPMEM_TEV_COLOR_ENV && bp.address != BPMEM_TEV_ALPHA_ENV)
{ numWrites = 0;
numWrites++; else if (++numWrites >= 100) // seem that if 100 consecutive BP writes are called to either of these addresses in ZTP,
if (numWrites >= 100) //seem that if 100 consecutive BP writes are called to either of these addresses in ZTP,
{ // then it is safe to assume the map texture address is currently loaded into the BP memory { // then it is safe to assume the map texture address is currently loaded into the BP memory
mapTexAddress = (bpmem.tex[0].texImage3[0].hex << 5); mapTexAddress = bpmem.tex[0].texImage3[0].hex << 5;
mapTexFound = true; mapTexFound = true;
WARN_LOG(VIDEO, "\nZTP map texture found at address %08x\n", mapTexAddress); WARN_LOG(VIDEO, "\nZTP map texture found at address %08x\n", mapTexAddress);
} }
}
else
numWrites = 0;
FlushPipeline(); FlushPipeline();
} }
else else if ( (bpmem.tex[0].texImage3[0].hex << 5) != mapTexAddress ||
bpmem.tevorders[0].getEnable(0) == 0 ||
bp.address == BPMEM_TREF)
{ {
if ( ((bpmem.tex[0].texImage3[0].hex << 5) != mapTexAddress) || !(bpmem.tevorders[0].getEnable(0)) || bp.address == BPMEM_TREF )
FlushPipeline(); FlushPipeline();
} }
} } // END ZTP SPEEDUP HACK
else else FlushPipeline();
FlushPipeline();
//END ZTP SPEEDUP HACK CHANGES
((u32*)&bpmem)[bp.address] = bp.newvalue; ((u32*)&bpmem)[bp.address] = bp.newvalue;

View File

@ -96,7 +96,6 @@ void VideoConfig::Load(const char *ini_file)
iniFile.Get("Hacks", "EFBScaledCopy", &bCopyEFBScaled, true); iniFile.Get("Hacks", "EFBScaledCopy", &bCopyEFBScaled, true);
iniFile.Get("Hacks", "FIFOWatermarkTightness", &iFIFOWatermarkTightness, 50); iniFile.Get("Hacks", "FIFOWatermarkTightness", &iFIFOWatermarkTightness, 50);
iniFile.Get("Hacks", "ProjectionHack", &iPhackvalue, 0); iniFile.Get("Hacks", "ProjectionHack", &iPhackvalue, 0);
iniFile.Get("Hacks", "ZTPSpeedHack", &bZTPSpeedHack, false);
iniFile.Get("Hardware", "Adapter", &iAdapter, 0); iniFile.Get("Hardware", "Adapter", &iAdapter, 0);
if (iAdapter == -1) if (iAdapter == -1)
@ -202,7 +201,6 @@ void VideoConfig::Save(const char *ini_file)
iniFile.Set("Hacks", "EFBToTextureEnable", bCopyEFBToTexture); iniFile.Set("Hacks", "EFBToTextureEnable", bCopyEFBToTexture);
iniFile.Set("Hacks", "EFBScaledCopy", bCopyEFBScaled); iniFile.Set("Hacks", "EFBScaledCopy", bCopyEFBScaled);
iniFile.Set("Hacks", "ProjectionHack", iPhackvalue); iniFile.Set("Hacks", "ProjectionHack", iPhackvalue);
iniFile.Set("Hacks", "ZTPSpeedHack", bZTPSpeedHack);
iniFile.Set("Hardware", "Adapter", iAdapter); iniFile.Set("Hardware", "Adapter", iAdapter);

View File

@ -125,7 +125,7 @@ struct VideoConfig
float fhackvalue1, fhackvalue2; float fhackvalue1, fhackvalue2;
bool bProjHack1; bool bProjHack1;
float fAspectRatioHackW, fAspectRatioHackH; float fAspectRatioHackW, fAspectRatioHackH;
bool bZTPSpeedHack; bool bZTPSpeedHack; // The Legend of Zelda: Twilight Princess
int iLog; // CONF_ bits int iLog; // CONF_ bits
int iSaveTargetId; int iSaveTargetId;

View File

@ -182,7 +182,6 @@ struct TabAdvanced : public W32Util::Tab
Button_SetCheck(GetDlgItem(hDlg, IDC_WIREFRAME), g_Config.bWireFrame); Button_SetCheck(GetDlgItem(hDlg, IDC_WIREFRAME), g_Config.bWireFrame);
Button_SetCheck(GetDlgItem(hDlg, IDC_DISABLEFOG), g_Config.bDisableFog); Button_SetCheck(GetDlgItem(hDlg, IDC_DISABLEFOG), g_Config.bDisableFog);
Button_SetCheck(GetDlgItem(hDlg, IDC_ENABLEEFBCOPY), !g_Config.bEFBCopyDisable); Button_SetCheck(GetDlgItem(hDlg, IDC_ENABLEEFBCOPY), !g_Config.bEFBCopyDisable);
Button_SetCheck(GetDlgItem(hDlg, IDC_ZTPSPEEDUP), g_Config.bZTPSpeedHack);
Button_SetCheck(GetDlgItem(hDlg, IDC_TEXFMT_OVERLAY), g_Config.bTexFmtOverlayEnable); Button_SetCheck(GetDlgItem(hDlg, IDC_TEXFMT_OVERLAY), g_Config.bTexFmtOverlayEnable);
Button_SetCheck(GetDlgItem(hDlg, IDC_TEXFMT_CENTER), g_Config.bTexFmtOverlayCenter); Button_SetCheck(GetDlgItem(hDlg, IDC_TEXFMT_CENTER), g_Config.bTexFmtOverlayCenter);
@ -227,7 +226,6 @@ struct TabAdvanced : public W32Util::Tab
g_Config.bDumpFrames = false; g_Config.bDumpFrames = false;
g_Config.bShowShaderErrors = true; g_Config.bShowShaderErrors = true;
g_Config.bUseNativeMips = true; g_Config.bUseNativeMips = true;
g_Config.bZTPSpeedHack = Button_GetCheck(GetDlgItem(hDlg, IDC_ZTPSPEEDUP)) ? true : false;
g_Config.iMaxAnisotropy = Button_GetCheck(GetDlgItem(hDlg, IDC_FORCEANISOTROPY)) ? 16 : 1; g_Config.iMaxAnisotropy = Button_GetCheck(GetDlgItem(hDlg, IDC_FORCEANISOTROPY)) ? 16 : 1;
g_Config.bForceFiltering = false; g_Config.bForceFiltering = false;

View File

@ -6,6 +6,7 @@
#define IDD_SETTINGS 103 #define IDD_SETTINGS 103
#define IDD_ADVANCED 105 #define IDD_ADVANCED 105
#define IDC_ADAPTER 1001 #define IDC_ADAPTER 1001
//#define IDC_ANTIALIASMODE 1002
#define IDC_VSYNC 1006 #define IDC_VSYNC 1006
#define IDC_ASPECT_16_9 1008 #define IDC_ASPECT_16_9 1008
#define IDC_ASPECT_4_3 1009 #define IDC_ASPECT_4_3 1009
@ -18,10 +19,15 @@
#define IDC_OVERLAYSTATS 1016 #define IDC_OVERLAYSTATS 1016
#define IDC_OVERLAYPROJSTATS 1017 #define IDC_OVERLAYPROJSTATS 1017
#define IDC_ENABLEEFBCOPY 1018 #define IDC_ENABLEEFBCOPY 1018
//#define IDC_EFBTORAM 1019
//#define IDC_EFBTOTEX 1020
#define IDC_TEXFMT_OVERLAY 1024 #define IDC_TEXFMT_OVERLAY 1024
#define IDC_TEXFMT_CENTER 1025 #define IDC_TEXFMT_CENTER 1025
#define IDC_ENABLEXFB 1026 #define IDC_ENABLEXFB 1026
#define IDC_FORCEANISOTROPY 1027 #define IDC_FORCEANISOTROPY 1027
//#define IDC_ENABLEXFB2 1027
//#define IDC_ENABLEREALXFB 1027
//#define IDC_LOADHIRESTEXTURE 1028
#define IDC_EFBSCALEDCOPY 1029 #define IDC_EFBSCALEDCOPY 1029
#define IDC_OSDHOTKEY 1030 #define IDC_OSDHOTKEY 1030
#define IDC_COMBO2 1040 #define IDC_COMBO2 1040
@ -30,7 +36,7 @@
#define IDC_SAFE_TEXTURE_CACHE_NORMAL 1042 #define IDC_SAFE_TEXTURE_CACHE_NORMAL 1042
#define IDC_RADIO3 1043 #define IDC_RADIO3 1043
#define IDC_SAFE_TEXTURE_CACHE_FAST 1043 #define IDC_SAFE_TEXTURE_CACHE_FAST 1043
#define IDC_ZTPSPEEDUP 1050 //#define IDC_DISABLEMIPS 1100
#define IDC_STATIC -1 #define IDC_STATIC -1
// Next default values for new objects // Next default values for new objects
@ -39,7 +45,7 @@
#ifndef APSTUDIO_READONLY_SYMBOLS #ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 106 #define _APS_NEXT_RESOURCE_VALUE 106
#define _APS_NEXT_COMMAND_VALUE 40001 #define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1045 #define _APS_NEXT_CONTROL_VALUE 1044
#define _APS_NEXT_SYMED_VALUE 102 #define _APS_NEXT_SYMED_VALUE 101
#endif #endif
#endif #endif

View File

@ -46,8 +46,7 @@ BEGIN
LTEXT "&Aspect Ratio:",IDC_STATIC,9,40,48,8 LTEXT "&Aspect Ratio:",IDC_STATIC,9,40,48,8
COMBOBOX IDC_ASPECTRATIO,60,38,89,57,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_ASPECTRATIO,60,38,89,57,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
CONTROL "&Enable CPU->EFB access ",IDC_EFB_ACCESS_ENABLE,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,7,60,94,11 CONTROL "&Enable CPU->EFB access ",IDC_EFB_ACCESS_ENABLE,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,7,60,94,11
CONTROL "Enable &Safe Texture Cache",IDC_SAFE_TEXTURE_CACHE, CONTROL "Enable &Safe Texture Cache",IDC_SAFE_TEXTURE_CACHE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,74,108,11
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,74,108,11
CONTROL "Safe",IDC_SAFE_TEXTURE_CACHE_SAFE,"Button",BS_AUTORADIOBUTTON,20,87,32,10 CONTROL "Safe",IDC_SAFE_TEXTURE_CACHE_SAFE,"Button",BS_AUTORADIOBUTTON,20,87,32,10
CONTROL "Normal",IDC_SAFE_TEXTURE_CACHE_NORMAL,"Button",BS_AUTORADIOBUTTON,52,87,40,10 CONTROL "Normal",IDC_SAFE_TEXTURE_CACHE_NORMAL,"Button",BS_AUTORADIOBUTTON,52,87,40,10
CONTROL "Fast",IDC_SAFE_TEXTURE_CACHE_FAST,"Button",BS_AUTORADIOBUTTON,92,87,32,10 CONTROL "Fast",IDC_SAFE_TEXTURE_CACHE_FAST,"Button",BS_AUTORADIOBUTTON,92,87,32,10
@ -57,22 +56,76 @@ IDD_ADVANCED DIALOGEX 0, 0, 244, 200
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_BORDER | WS_SYSMENU STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_BORDER | WS_SYSMENU
FONT 8, "MS Shell Dlg", 0, 0, 0x0 FONT 8, "MS Shell Dlg", 0, 0, 0x0
BEGIN BEGIN
GROUPBOX "&Settings",IDC_STATIC,6,7,228,84 GROUPBOX "&Settings",IDC_STATIC,6,7,228,74
CONTROL "Overlay FPS counter",IDC_OVERLAYFPS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,114,18,82,8 CONTROL "Overlay FPS counter",IDC_OVERLAYFPS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,114,18,82,8
CONTROL "Disable Fog",IDC_DISABLEFOG,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,18,78,8 CONTROL "Disable Fog",IDC_DISABLEFOG,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,18,78,8
CONTROL "Enable Hotkey",IDC_OSDHOTKEY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,114,33,87,8 CONTROL "Enable Hotkey",IDC_OSDHOTKEY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,114,33,87,8
CONTROL "Enable EFB copy",IDC_ENABLEEFBCOPY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,33,81,8 CONTROL "Enable EFB copy",IDC_ENABLEEFBCOPY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,33,81,8
CONTROL "EFB Scaled Copy",IDC_EFBSCALEDCOPY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,48,64,8 CONTROL "EFB Scaled Copy",IDC_EFBSCALEDCOPY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,48,64,8
CONTROL "Enable &Wireframe",IDC_WIREFRAME,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,114,48,87,8 CONTROL "Enable &Wireframe",IDC_WIREFRAME,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,114,48,87,8
CONTROL "Enable 16x &anisotropy filtering",IDC_FORCEANISOTROPY, CONTROL "Enable 16x &anisotropy filtering",IDC_FORCEANISOTROPY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,63,110,8
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,63,110,8
GROUPBOX "Debugging Tools",IDC_STATIC,7,148,228,46 GROUPBOX "Debugging Tools",IDC_STATIC,7,148,228,46
CONTROL "&Overlay some statistics",IDC_OVERLAYSTATS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,159,90,8 CONTROL "&Overlay some statistics",IDC_OVERLAYSTATS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,159,90,8
CONTROL "Enable TexFmt Overlay",IDC_TEXFMT_OVERLAY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,174,92,10 CONTROL "Enable TexFmt Overlay",IDC_TEXFMT_OVERLAY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,174,92,10
CONTROL "Centered",IDC_TEXFMT_CENTER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,114,174,52,10 CONTROL "Centered",IDC_TEXFMT_CENTER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,114,174,52,10
CONTROL "ZTP Speed-up Hack",IDC_ZTPSPEEDUP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,76,78,10
END END
/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//
#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO
BEGIN
IDD_ABOUT, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 181
TOPMARGIN, 7
BOTTOMMARGIN, 74
END
IDD_SETTINGS, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 237
VERTGUIDE, 7
VERTGUIDE, 68
VERTGUIDE, 81
VERTGUIDE, 87
TOPMARGIN, 7
BOTTOMMARGIN, 176
END
IDD_ADVANCED, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 237
VERTGUIDE, 14
VERTGUIDE, 29
VERTGUIDE, 114
TOPMARGIN, 7
BOTTOMMARGIN, 195
HORZGUIDE, 18
HORZGUIDE, 33
HORZGUIDE, 49
HORZGUIDE, 156
END
IDD_ENHANCEMENTS, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 217
VERTGUIDE, 16
VERTGUIDE, 74
TOPMARGIN, 7
BOTTOMMARGIN, 168
END
END
#endif // APSTUDIO_INVOKED
#ifdef APSTUDIO_INVOKED #ifdef APSTUDIO_INVOKED
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////

View File

@ -54,7 +54,6 @@ BEGIN_EVENT_TABLE(GFXConfigDialogDX,wxDialog)
EVT_CHECKBOX(ID_FORCEANISOTROPY, GFXConfigDialogDX::EnhancementsSettingsChanged) EVT_CHECKBOX(ID_FORCEANISOTROPY, GFXConfigDialogDX::EnhancementsSettingsChanged)
EVT_CHECKBOX(ID_LOADHIRESTEXTURES, GFXConfigDialogDX::EnhancementsSettingsChanged) EVT_CHECKBOX(ID_LOADHIRESTEXTURES, GFXConfigDialogDX::EnhancementsSettingsChanged)
EVT_CHECKBOX(ID_EFBSCALEDCOPY, GFXConfigDialogDX::EnhancementsSettingsChanged) EVT_CHECKBOX(ID_EFBSCALEDCOPY, GFXConfigDialogDX::EnhancementsSettingsChanged)
EVT_CHECKBOX(ID_ZTPSPEEDHACK, GFXConfigDialogDX::EnhancementsSettingsChanged)
//Advanced Tab //Advanced Tab
EVT_CHECKBOX(ID_DISABLEFOG, GFXConfigDialogDX::AdvancedSettingsChanged) EVT_CHECKBOX(ID_DISABLEFOG, GFXConfigDialogDX::AdvancedSettingsChanged)
@ -132,7 +131,6 @@ void GFXConfigDialogDX::InitializeGUIValues()
m_HiresTextures->SetValue(g_Config.bHiresTextures); m_HiresTextures->SetValue(g_Config.bHiresTextures);
m_MSAAModeCB->SetSelection(g_Config.iMultisampleMode); m_MSAAModeCB->SetSelection(g_Config.iMultisampleMode);
m_EFBScaledCopy->SetValue(g_Config.bCopyEFBScaled); m_EFBScaledCopy->SetValue(g_Config.bCopyEFBScaled);
m_ZTPSpeedHack->SetValue(g_Config.bZTPSpeedHack);
//Advance //Advance
m_DisableFog->SetValue(g_Config.bDisableFog); m_DisableFog->SetValue(g_Config.bDisableFog);
@ -267,10 +265,6 @@ void GFXConfigDialogDX::CreateGUIControls()
sbEFBHacks = new wxStaticBoxSizer( new wxStaticBox( m_PageEnhancements, wxID_ANY, wxT("EFB hacks") ), wxVERTICAL ); sbEFBHacks = new wxStaticBoxSizer( new wxStaticBox( m_PageEnhancements, wxID_ANY, wxT("EFB hacks") ), wxVERTICAL );
m_EFBScaledCopy = new wxCheckBox( m_PageEnhancements, ID_EFBSCALEDCOPY, wxT("EFB scaled copy"), wxDefaultPosition, wxDefaultSize, 0 ); m_EFBScaledCopy = new wxCheckBox( m_PageEnhancements, ID_EFBSCALEDCOPY, wxT("EFB scaled copy"), wxDefaultPosition, wxDefaultSize, 0 );
wxStaticBoxSizer* sbOtherHacks;
sbOtherHacks = new wxStaticBoxSizer( new wxStaticBox( m_PageEnhancements, wxID_ANY, wxT("Other Hacks") ), wxVERTICAL );
m_ZTPSpeedHack = new wxCheckBox( m_PageEnhancements, ID_ZTPSPEEDHACK, wxT("ZTP Speed-Up Hack"), wxDefaultPosition, wxDefaultSize, 0 );
// Sizers // Sizers
wxBoxSizer* sEnhancements; wxBoxSizer* sEnhancements;
wxGridBagSizer* sTextureFilter; wxGridBagSizer* sTextureFilter;
@ -292,14 +286,6 @@ void GFXConfigDialogDX::CreateGUIControls()
sbEFBHacks->Add( sEFBHacks, 1, wxEXPAND, 5 ); sbEFBHacks->Add( sEFBHacks, 1, wxEXPAND, 5 );
sEnhancements->Add( sbEFBHacks, 0, wxEXPAND|wxALL, 5 ); sEnhancements->Add( sbEFBHacks, 0, wxEXPAND|wxALL, 5 );
wxGridBagSizer* sOtherHacks;
sOtherHacks = new wxGridBagSizer( 0, 0 );
sOtherHacks->SetFlexibleDirection( wxBOTH );
sOtherHacks->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
sOtherHacks->Add( m_ZTPSpeedHack, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALL, 5 );
sbOtherHacks->Add( sOtherHacks, 1, wxEXPAND, 5 );
sEnhancements->Add( sbOtherHacks, 0, wxEXPAND|wxALL, 5 );
m_PageEnhancements->SetSizer( sEnhancements ); m_PageEnhancements->SetSizer( sEnhancements );
m_PageEnhancements->Layout(); m_PageEnhancements->Layout();
sEnhancements->Fit( m_PageEnhancements ); sEnhancements->Fit( m_PageEnhancements );
@ -457,9 +443,6 @@ void GFXConfigDialogDX::EnhancementsSettingsChanged(wxCommandEvent& event)
case ID_EFBSCALEDCOPY: case ID_EFBSCALEDCOPY:
g_Config.bCopyEFBScaled = m_EFBScaledCopy->IsChecked(); g_Config.bCopyEFBScaled = m_EFBScaledCopy->IsChecked();
break; break;
case ID_ZTPSPEEDHACK:
g_Config.bZTPSpeedHack = m_ZTPSpeedHack->IsChecked();
break;
} }
UpdateGUI(); UpdateGUI();
} }

View File

@ -106,7 +106,6 @@ class GFXConfigDialogDX : public wxDialog
wxCheckBox *m_MaxAnisotropy; wxCheckBox *m_MaxAnisotropy;
wxCheckBox *m_HiresTextures; wxCheckBox *m_HiresTextures;
wxCheckBox *m_EFBScaledCopy; wxCheckBox *m_EFBScaledCopy;
wxCheckBox *m_ZTPSpeedHack;
//Advanced Tab //Advanced Tab
wxCheckBox *m_DisableFog; wxCheckBox *m_DisableFog;
@ -173,8 +172,7 @@ class GFXConfigDialogDX : public wxDialog
ID_ABOUT, ID_ABOUT,
ID_DIRERCT3D, ID_DIRERCT3D,
ID_PAGEENHANCEMENTS, ID_PAGEENHANCEMENTS,
ID_PAGEADVANCED, ID_PAGEADVANCED
ID_ZTPSPEEDHACK
}; };
void InitializeAdapters(); void InitializeAdapters();
void OnClose(wxCloseEvent& event); void OnClose(wxCloseEvent& event);

View File

@ -68,7 +68,6 @@ BEGIN_EVENT_TABLE(GFXConfigDialogOGL,wxDialog)
EVT_CHECKBOX(ID_DISABLEFOG, GFXConfigDialogOGL::AdvancedSettingsChanged) EVT_CHECKBOX(ID_DISABLEFOG, GFXConfigDialogOGL::AdvancedSettingsChanged)
EVT_CHECKBOX(ID_OSDHOTKEY, GFXConfigDialogOGL::AdvancedSettingsChanged) EVT_CHECKBOX(ID_OSDHOTKEY, GFXConfigDialogOGL::AdvancedSettingsChanged)
EVT_CHECKBOX(ID_HACK, GFXConfigDialogOGL::AdvancedSettingsChanged) EVT_CHECKBOX(ID_HACK, GFXConfigDialogOGL::AdvancedSettingsChanged)
EVT_CHECKBOX(ID_ZTPSPEEDHACK, GFXConfigDialogOGL::AdvancedSettingsChanged)
EVT_CHECKBOX(ID_SAFETEXTURECACHE,GFXConfigDialogOGL::AdvancedSettingsChanged) EVT_CHECKBOX(ID_SAFETEXTURECACHE,GFXConfigDialogOGL::AdvancedSettingsChanged)
EVT_RADIOBUTTON(ID_RADIO_SAFETEXTURECACHE_SAFE, GFXConfigDialogOGL::AdvancedSettingsChanged) EVT_RADIOBUTTON(ID_RADIO_SAFETEXTURECACHE_SAFE, GFXConfigDialogOGL::AdvancedSettingsChanged)
EVT_RADIOBUTTON(ID_RADIO_SAFETEXTURECACHE_NORMAL, GFXConfigDialogOGL::AdvancedSettingsChanged) EVT_RADIOBUTTON(ID_RADIO_SAFETEXTURECACHE_NORMAL, GFXConfigDialogOGL::AdvancedSettingsChanged)
@ -205,7 +204,6 @@ void GFXConfigDialogOGL::InitializeGUIValues()
m_WidescreenHack->SetValue(g_Config.bWidescreenHack); m_WidescreenHack->SetValue(g_Config.bWidescreenHack);
m_UseNativeMips->SetValue(g_Config.bUseNativeMips); m_UseNativeMips->SetValue(g_Config.bUseNativeMips);
m_EFBScaledCopy->SetValue(g_Config.bCopyEFBScaled); m_EFBScaledCopy->SetValue(g_Config.bCopyEFBScaled);
m_ZTPSpeedHack->SetValue(g_Config.bZTPSpeedHack);
// Enhancements // Enhancements
m_MaxAnisotropyCB->SetSelection(g_Config.iMaxAnisotropy - 1); m_MaxAnisotropyCB->SetSelection(g_Config.iMaxAnisotropy - 1);
m_ForceFiltering->SetValue(g_Config.bForceFiltering); m_ForceFiltering->SetValue(g_Config.bForceFiltering);
@ -293,7 +291,7 @@ void GFXConfigDialogOGL::InitializeGUITooltips()
wxT(" But it may also cause graphical errors and missing graphics.")); wxT(" But it may also cause graphical errors and missing graphics."));
m_Radio_CopyEFBToRAM->SetToolTip(wxT("[This option will apply immediately and does not require a restart to take effect.]")); m_Radio_CopyEFBToRAM->SetToolTip(wxT("[This option will apply immediately and does not require a restart to take effect.]"));
m_Radio_CopyEFBToGL->SetToolTip(wxT("[This option will apply immediately and does not require a restart to take effect.]")); m_Radio_CopyEFBToGL->SetToolTip(wxT("[This option will apply immediately and does not require a restart to take effect.]"));
m_ZTPSpeedHack->SetToolTip(wxT("Speeds up Hyrule Field in Zelda: Twilight Princess"));
// Utility // Utility
#ifdef _WIN32 #ifdef _WIN32
m_DumpFrames->SetToolTip( m_DumpFrames->SetToolTip(
@ -470,7 +468,6 @@ void GFXConfigDialogOGL::CreateGUIControls()
m_Radio_SafeTextureCache_Safe = new wxRadioButton(m_PageAdvanced, ID_RADIO_SAFETEXTURECACHE_SAFE, wxT("Safe"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP); m_Radio_SafeTextureCache_Safe = new wxRadioButton(m_PageAdvanced, ID_RADIO_SAFETEXTURECACHE_SAFE, wxT("Safe"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP);
m_Radio_SafeTextureCache_Normal = new wxRadioButton(m_PageAdvanced, ID_RADIO_SAFETEXTURECACHE_NORMAL, wxT("Normal")); m_Radio_SafeTextureCache_Normal = new wxRadioButton(m_PageAdvanced, ID_RADIO_SAFETEXTURECACHE_NORMAL, wxT("Normal"));
m_Radio_SafeTextureCache_Fast = new wxRadioButton(m_PageAdvanced, ID_RADIO_SAFETEXTURECACHE_FAST, wxT("Fast")); m_Radio_SafeTextureCache_Fast = new wxRadioButton(m_PageAdvanced, ID_RADIO_SAFETEXTURECACHE_FAST, wxT("Fast"));
m_ZTPSpeedHack = new wxCheckBox( m_PageAdvanced, ID_ZTPSPEEDHACK, wxT("ZTP Speed-Up Hack"), wxDefaultPosition, wxDefaultSize, 0 );
// Sizers // Sizers
sHacks->Add(m_PhackvalueCB, 0, wxTOP, 0); sHacks->Add(m_PhackvalueCB, 0, wxTOP, 0);
@ -481,7 +478,6 @@ void GFXConfigDialogOGL::CreateGUIControls()
sbHacks->Add(m_Radio_SafeTextureCache_Normal, 0, wxALL, 5); sbHacks->Add(m_Radio_SafeTextureCache_Normal, 0, wxALL, 5);
sbHacks->Add(m_Radio_SafeTextureCache_Fast, 0, wxALL, 5); sbHacks->Add(m_Radio_SafeTextureCache_Fast, 0, wxALL, 5);
sHacks->Add(sbHacks, 0, wxEXPAND | (wxTOP), 5); sHacks->Add(sbHacks, 0, wxEXPAND | (wxTOP), 5);
sHacks->Add(m_ZTPSpeedHack, 0, wxEXPAND | (wxTOP), 0);
// Sizers // Sizers
sAdvanced = new wxBoxSizer(wxVERTICAL); sAdvanced = new wxBoxSizer(wxVERTICAL);
@ -708,9 +704,6 @@ void GFXConfigDialogOGL::AdvancedSettingsChanged(wxCommandEvent& event)
g_Config.bOSDHotKey = m_OSDHotKey->IsChecked(); g_Config.bOSDHotKey = m_OSDHotKey->IsChecked();
break; break;
// Hacks // Hacks
case ID_ZTPSPEEDHACK:
g_Config.bZTPSpeedHack = m_ZTPSpeedHack->IsChecked();
break;
case ID_SAFETEXTURECACHE: case ID_SAFETEXTURECACHE:
g_Config.bSafeTextureCache = m_SafeTextureCache->IsChecked(); g_Config.bSafeTextureCache = m_SafeTextureCache->IsChecked();
break; break;

View File

@ -128,7 +128,6 @@ class GFXConfigDialogOGL : public wxDialog
wxRadioButton *m_Radio_SafeTextureCache_Safe; wxRadioButton *m_Radio_SafeTextureCache_Safe;
wxRadioButton *m_Radio_SafeTextureCache_Normal; wxRadioButton *m_Radio_SafeTextureCache_Normal;
wxRadioButton *m_Radio_SafeTextureCache_Fast; wxRadioButton *m_Radio_SafeTextureCache_Fast;
wxCheckBox *m_ZTPSpeedHack;
// Screen size // Screen size
wxStaticText *m_TextScreenWidth, *m_TextScreenHeight, *m_TextScreenLeft, *m_TextScreenTop; wxStaticText *m_TextScreenWidth, *m_TextScreenHeight, *m_TextScreenLeft, *m_TextScreenTop;
wxSlider *m_SliderWidth, *m_SliderHeight, *m_SliderLeft, *m_SliderTop; wxSlider *m_SliderWidth, *m_SliderHeight, *m_SliderLeft, *m_SliderTop;
@ -183,7 +182,6 @@ class GFXConfigDialogOGL : public wxDialog
ID_RADIO_SAFETEXTURECACHE_FAST, ID_RADIO_SAFETEXTURECACHE_FAST,
ID_HACK, ID_HACK,
ID_PHACKVALUE, ID_PHACKVALUE,
ID_ZTPSPEEDHACK,
ID_DUMPTEXTURES, ID_DUMPTEXTURES,
ID_HIRESTEXTURES, ID_HIRESTEXTURES,