Remove support for projection hacks
This isn't really useful for anything anymore as far as I know.
This commit is contained in:
parent
76e1a5b892
commit
91732e2baf
|
@ -1,22 +0,0 @@
|
||||||
# GJ3PA4 - International Superstar Soccer 3
|
|
||||||
|
|
||||||
[Core]
|
|
||||||
# Values set here will override the main Dolphin settings.
|
|
||||||
|
|
||||||
[OnLoad]
|
|
||||||
# Add memory patches to be loaded once on boot here.
|
|
||||||
|
|
||||||
[OnFrame]
|
|
||||||
# Add memory patches to be applied every frame here.
|
|
||||||
|
|
||||||
[ActionReplay]
|
|
||||||
# Add action replay cheats here.
|
|
||||||
|
|
||||||
[Video]
|
|
||||||
ProjectionHack = 1
|
|
||||||
PH_SZNear = 1
|
|
||||||
PH_SZFar = 0
|
|
||||||
PH_ExtraParam = 0
|
|
||||||
PH_ZNear =
|
|
||||||
PH_ZFar = 0.1
|
|
||||||
|
|
|
@ -12,14 +12,6 @@
|
||||||
[ActionReplay]
|
[ActionReplay]
|
||||||
# Add action replay cheats here.
|
# Add action replay cheats here.
|
||||||
|
|
||||||
[Video]
|
|
||||||
ProjectionHack = 1
|
|
||||||
PH_SZNear = 0
|
|
||||||
PH_SZFar = 1
|
|
||||||
PH_ExtraParam = 0
|
|
||||||
PH_ZNear =
|
|
||||||
PH_ZFar = 0.000153
|
|
||||||
|
|
||||||
[Video_Settings]
|
[Video_Settings]
|
||||||
SafeTextureCacheColorSamples = 0
|
SafeTextureCacheColorSamples = 0
|
||||||
|
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
# R2KP54 - DON KING BOXING
|
|
||||||
|
|
||||||
[Core]
|
|
||||||
# Values set here will override the main Dolphin settings.
|
|
||||||
|
|
||||||
[OnLoad]
|
|
||||||
# Add memory patches to be loaded once on boot here.
|
|
||||||
|
|
||||||
[OnFrame]
|
|
||||||
# Add memory patches to be applied every frame here.
|
|
||||||
|
|
||||||
[ActionReplay]
|
|
||||||
# Add action replay cheats here.
|
|
||||||
|
|
||||||
[Video]
|
|
||||||
ProjectionHack = 1
|
|
||||||
PH_SZNear = 1
|
|
||||||
PH_SZFar = 0
|
|
||||||
PH_ExtraParam = 0
|
|
||||||
PH_ZNear =
|
|
||||||
PH_ZFar = 0.1
|
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
# R3TP54 - TOPSPIN 3
|
|
||||||
|
|
||||||
[Core]
|
|
||||||
# Values set here will override the main Dolphin settings.
|
|
||||||
|
|
||||||
[OnLoad]
|
|
||||||
# Add memory patches to be loaded once on boot here.
|
|
||||||
|
|
||||||
[OnFrame]
|
|
||||||
# Add memory patches to be applied every frame here.
|
|
||||||
|
|
||||||
[ActionReplay]
|
|
||||||
# Add action replay cheats here.
|
|
||||||
|
|
||||||
[Video]
|
|
||||||
ProjectionHack = 1
|
|
||||||
PH_SZNear = 1
|
|
||||||
PH_SZFar = 0
|
|
||||||
PH_ExtraParam = 0
|
|
||||||
PH_ZNear =
|
|
||||||
PH_ZFar = 0.1
|
|
||||||
|
|
|
@ -141,13 +141,6 @@ const ConfigInfo<bool> GFX_HACK_VERTEX_ROUDING{{System::GFX, "Hacks", "VertexRou
|
||||||
|
|
||||||
// Graphics.GameSpecific
|
// Graphics.GameSpecific
|
||||||
|
|
||||||
const ConfigInfo<int> GFX_PROJECTION_HACK{{System::GFX, "GameSpecific", "ProjectionHack"}, 0};
|
|
||||||
const ConfigInfo<int> GFX_PROJECTION_HACK_SZNEAR{{System::GFX, "GameSpecific", "PH_SZNear"}, 0};
|
|
||||||
const ConfigInfo<int> GFX_PROJECTION_HACK_SZFAR{{System::GFX, "GameSpecific", "PH_SZFar"}, 0};
|
|
||||||
const ConfigInfo<std::string> GFX_PROJECTION_HACK_ZNEAR{{System::GFX, "GameSpecific", "PH_ZNear"},
|
|
||||||
""};
|
|
||||||
const ConfigInfo<std::string> GFX_PROJECTION_HACK_ZFAR{{System::GFX, "GameSpecific", "PH_ZFar"},
|
|
||||||
""};
|
|
||||||
const ConfigInfo<bool> GFX_PERF_QUERIES_ENABLE{{System::GFX, "GameSpecific", "PerfQueriesEnable"},
|
const ConfigInfo<bool> GFX_PERF_QUERIES_ENABLE{{System::GFX, "GameSpecific", "PerfQueriesEnable"},
|
||||||
false};
|
false};
|
||||||
} // namespace Config
|
} // namespace Config
|
||||||
|
|
|
@ -80,9 +80,7 @@ bool IsSettingSaveable(const Config::ConfigLocation& config_location)
|
||||||
|
|
||||||
// Graphics.GameSpecific
|
// Graphics.GameSpecific
|
||||||
|
|
||||||
Config::GFX_PROJECTION_HACK.location, Config::GFX_PROJECTION_HACK_SZNEAR.location,
|
Config::GFX_PERF_QUERIES_ENABLE.location,
|
||||||
Config::GFX_PROJECTION_HACK_SZFAR.location, Config::GFX_PROJECTION_HACK_ZNEAR.location,
|
|
||||||
Config::GFX_PROJECTION_HACK_ZFAR.location, Config::GFX_PERF_QUERIES_ENABLE.location,
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -495,26 +495,7 @@ void CISOProperties::LoadGameConfig()
|
||||||
SetCheckboxValueFromGameini("Wii", "Widescreen", m_enable_widescreen);
|
SetCheckboxValueFromGameini("Wii", "Widescreen", m_enable_widescreen);
|
||||||
SetCheckboxValueFromGameini("Video_Stereoscopy", "StereoEFBMonoDepth", m_mono_depth);
|
SetCheckboxValueFromGameini("Video_Stereoscopy", "StereoEFBMonoDepth", m_mono_depth);
|
||||||
|
|
||||||
IniFile::Section* default_video = m_gameini_default.GetOrCreateSection("Video");
|
|
||||||
|
|
||||||
int iTemp;
|
|
||||||
default_video->Get("ProjectionHack", &iTemp);
|
|
||||||
default_video->Get("PH_SZNear", &m_phack_data.PHackSZNear);
|
|
||||||
if (m_gameini_local.GetIfExists("Video", "PH_SZNear", &iTemp))
|
|
||||||
m_phack_data.PHackSZNear = !!iTemp;
|
|
||||||
default_video->Get("PH_SZFar", &m_phack_data.PHackSZFar);
|
|
||||||
if (m_gameini_local.GetIfExists("Video", "PH_SZFar", &iTemp))
|
|
||||||
m_phack_data.PHackSZFar = !!iTemp;
|
|
||||||
|
|
||||||
std::string sTemp;
|
std::string sTemp;
|
||||||
default_video->Get("PH_ZNear", &m_phack_data.PHZNear);
|
|
||||||
if (m_gameini_local.GetIfExists("Video", "PH_ZNear", &sTemp))
|
|
||||||
m_phack_data.PHZNear = sTemp;
|
|
||||||
default_video->Get("PH_ZFar", &m_phack_data.PHZFar);
|
|
||||||
if (m_gameini_local.GetIfExists("Video", "PH_ZFar", &sTemp))
|
|
||||||
m_phack_data.PHZFar = sTemp;
|
|
||||||
|
|
||||||
sTemp = "";
|
|
||||||
if (!m_gameini_local.GetIfExists("Core", "GPUDeterminismMode", &sTemp))
|
if (!m_gameini_local.GetIfExists("Core", "GPUDeterminismMode", &sTemp))
|
||||||
m_gameini_default.GetIfExists("Core", "GPUDeterminismMode", &sTemp);
|
m_gameini_default.GetIfExists("Core", "GPUDeterminismMode", &sTemp);
|
||||||
|
|
||||||
|
@ -527,6 +508,7 @@ void CISOProperties::LoadGameConfig()
|
||||||
else if (sTemp == "fake-completion")
|
else if (sTemp == "fake-completion")
|
||||||
m_gpu_determinism->SetSelection(3);
|
m_gpu_determinism->SetSelection(3);
|
||||||
|
|
||||||
|
int iTemp;
|
||||||
IniFile::Section* default_stereoscopy = m_gameini_default.GetOrCreateSection("Video_Stereoscopy");
|
IniFile::Section* default_stereoscopy = m_gameini_default.GetOrCreateSection("Video_Stereoscopy");
|
||||||
default_stereoscopy->Get("StereoDepthPercentage", &iTemp, 100);
|
default_stereoscopy->Get("StereoDepthPercentage", &iTemp, 100);
|
||||||
m_gameini_local.GetIfExists("Video_Stereoscopy", "StereoDepthPercentage", &iTemp);
|
m_gameini_local.GetIfExists("Video_Stereoscopy", "StereoDepthPercentage", &iTemp);
|
||||||
|
@ -595,11 +577,6 @@ bool CISOProperties::SaveGameConfig()
|
||||||
m_gameini_local.DeleteKey((section), (key)); \
|
m_gameini_local.DeleteKey((section), (key)); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
SAVE_IF_NOT_DEFAULT("Video", "PH_SZNear", (m_phack_data.PHackSZNear ? 1 : 0), 0);
|
|
||||||
SAVE_IF_NOT_DEFAULT("Video", "PH_SZFar", (m_phack_data.PHackSZFar ? 1 : 0), 0);
|
|
||||||
SAVE_IF_NOT_DEFAULT("Video", "PH_ZNear", m_phack_data.PHZNear, "");
|
|
||||||
SAVE_IF_NOT_DEFAULT("Video", "PH_ZFar", m_phack_data.PHZFar, "");
|
|
||||||
|
|
||||||
std::string tmp;
|
std::string tmp;
|
||||||
if (m_gpu_determinism->GetSelection() == 0)
|
if (m_gpu_determinism->GetSelection() == 0)
|
||||||
tmp = "Not Set";
|
tmp = "Not Set";
|
||||||
|
|
|
@ -39,14 +39,6 @@ namespace Gecko
|
||||||
class CodeConfigPanel;
|
class CodeConfigPanel;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct PHackData
|
|
||||||
{
|
|
||||||
bool PHackSZNear;
|
|
||||||
bool PHackSZFar;
|
|
||||||
std::string PHZNear;
|
|
||||||
std::string PHZFar;
|
|
||||||
};
|
|
||||||
|
|
||||||
wxDECLARE_EVENT(DOLPHIN_EVT_CHANGE_ISO_PROPERTIES_TITLE, wxCommandEvent);
|
wxDECLARE_EVENT(DOLPHIN_EVT_CHANGE_ISO_PROPERTIES_TITLE, wxCommandEvent);
|
||||||
|
|
||||||
class CISOProperties : public wxDialog
|
class CISOProperties : public wxDialog
|
||||||
|
@ -64,7 +56,6 @@ private:
|
||||||
std::unique_ptr<DiscIO::Volume> m_open_iso;
|
std::unique_ptr<DiscIO::Volume> m_open_iso;
|
||||||
|
|
||||||
std::vector<PatchEngine::Patch> m_on_frame;
|
std::vector<PatchEngine::Patch> m_on_frame;
|
||||||
PHackData m_phack_data;
|
|
||||||
|
|
||||||
// Core
|
// Core
|
||||||
wxCheckBox *m_cpu_thread, *m_mmu, *m_dcbz_off, *m_fprf;
|
wxCheckBox *m_cpu_thread, *m_mmu, *m_dcbz_off, *m_fprf;
|
||||||
|
|
|
@ -51,11 +51,6 @@
|
||||||
#include "VideoCommon/VideoConfig.h"
|
#include "VideoCommon/VideoConfig.h"
|
||||||
#include "VideoCommon/XFMemory.h"
|
#include "VideoCommon/XFMemory.h"
|
||||||
|
|
||||||
void VideoConfig::UpdateProjectionHack()
|
|
||||||
{
|
|
||||||
::UpdateProjectionHack(g_Config.phack);
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace OGL
|
namespace OGL
|
||||||
{
|
{
|
||||||
VideoConfig g_ogl_config;
|
VideoConfig g_ogl_config;
|
||||||
|
|
|
@ -47,88 +47,6 @@ static float s_fViewRotation[2];
|
||||||
VertexShaderConstants VertexShaderManager::constants;
|
VertexShaderConstants VertexShaderManager::constants;
|
||||||
bool VertexShaderManager::dirty;
|
bool VertexShaderManager::dirty;
|
||||||
|
|
||||||
struct ProjectionHack
|
|
||||||
{
|
|
||||||
float sign;
|
|
||||||
float value;
|
|
||||||
ProjectionHack() {}
|
|
||||||
ProjectionHack(float new_sign, float new_value) : sign(new_sign), value(new_value) {}
|
|
||||||
};
|
|
||||||
|
|
||||||
namespace
|
|
||||||
{
|
|
||||||
// Control Variables
|
|
||||||
static ProjectionHack g_proj_hack_near;
|
|
||||||
static ProjectionHack g_proj_hack_far;
|
|
||||||
} // Namespace
|
|
||||||
|
|
||||||
static float PHackValue(std::string sValue)
|
|
||||||
{
|
|
||||||
float f = 0;
|
|
||||||
bool fp = false;
|
|
||||||
const char* cStr = sValue.c_str();
|
|
||||||
char* c = new char[strlen(cStr) + 1];
|
|
||||||
std::istringstream sTof("");
|
|
||||||
|
|
||||||
for (unsigned int i = 0; i <= strlen(cStr); ++i)
|
|
||||||
{
|
|
||||||
if (i == 20)
|
|
||||||
{
|
|
||||||
c[i] = '\0';
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
c[i] = (cStr[i] == ',') ? '.' : *(cStr + i);
|
|
||||||
if (c[i] == '.')
|
|
||||||
fp = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
cStr = c;
|
|
||||||
sTof.str(cStr);
|
|
||||||
sTof >> f;
|
|
||||||
|
|
||||||
if (!fp)
|
|
||||||
f /= 0xF4240;
|
|
||||||
|
|
||||||
delete[] c;
|
|
||||||
return f;
|
|
||||||
}
|
|
||||||
|
|
||||||
void UpdateProjectionHack(const ProjectionHackConfig& config)
|
|
||||||
{
|
|
||||||
float near_value = 0, far_value = 0;
|
|
||||||
float near_sign = 1.0, far_sign = 1.0;
|
|
||||||
|
|
||||||
if (config.m_enable)
|
|
||||||
{
|
|
||||||
const char* near_sign_str = "";
|
|
||||||
const char* far_sign_str = "";
|
|
||||||
|
|
||||||
NOTICE_LOG(VIDEO, "\t\t--- Orthographic Projection Hack ON ---");
|
|
||||||
|
|
||||||
if (config.m_sznear)
|
|
||||||
{
|
|
||||||
near_sign *= -1.0f;
|
|
||||||
near_sign_str = " * (-1)";
|
|
||||||
}
|
|
||||||
if (config.m_szfar)
|
|
||||||
{
|
|
||||||
far_sign *= -1.0f;
|
|
||||||
far_sign_str = " * (-1)";
|
|
||||||
}
|
|
||||||
|
|
||||||
near_value = PHackValue(config.m_znear);
|
|
||||||
NOTICE_LOG(VIDEO, "- zNear Correction = (%f + zNear)%s", near_value, near_sign_str);
|
|
||||||
|
|
||||||
far_value = PHackValue(config.m_zfar);
|
|
||||||
NOTICE_LOG(VIDEO, "- zFar Correction = (%f + zFar)%s", far_value, far_sign_str);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set the projections hacks
|
|
||||||
g_proj_hack_near = ProjectionHack(near_sign, near_value);
|
|
||||||
g_proj_hack_far = ProjectionHack(far_sign, far_value);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Viewport correction:
|
// Viewport correction:
|
||||||
// In D3D, the viewport rectangle must fit within the render target.
|
// In D3D, the viewport rectangle must fit within the render target.
|
||||||
// Say you want a viewport at (ix, iy) with size (iw, ih),
|
// Say you want a viewport at (ix, iy) with size (iw, ih),
|
||||||
|
@ -454,7 +372,6 @@ void VertexShaderManager::SetConstants()
|
||||||
g_fProjectionMatrix[8] = 0.0f;
|
g_fProjectionMatrix[8] = 0.0f;
|
||||||
g_fProjectionMatrix[9] = 0.0f;
|
g_fProjectionMatrix[9] = 0.0f;
|
||||||
g_fProjectionMatrix[10] = rawProjection[4];
|
g_fProjectionMatrix[10] = rawProjection[4];
|
||||||
|
|
||||||
g_fProjectionMatrix[11] = rawProjection[5];
|
g_fProjectionMatrix[11] = rawProjection[5];
|
||||||
|
|
||||||
g_fProjectionMatrix[12] = 0.0f;
|
g_fProjectionMatrix[12] = 0.0f;
|
||||||
|
@ -495,10 +412,8 @@ void VertexShaderManager::SetConstants()
|
||||||
|
|
||||||
g_fProjectionMatrix[8] = 0.0f;
|
g_fProjectionMatrix[8] = 0.0f;
|
||||||
g_fProjectionMatrix[9] = 0.0f;
|
g_fProjectionMatrix[9] = 0.0f;
|
||||||
g_fProjectionMatrix[10] = (g_proj_hack_near.value + rawProjection[4]) *
|
g_fProjectionMatrix[10] = rawProjection[4];
|
||||||
((g_proj_hack_near.sign == 0) ? 1.0f : g_proj_hack_near.sign);
|
g_fProjectionMatrix[11] = rawProjection[5];
|
||||||
g_fProjectionMatrix[11] = (g_proj_hack_far.value + rawProjection[5]) *
|
|
||||||
((g_proj_hack_far.sign == 0) ? 1.0f : g_proj_hack_far.sign);
|
|
||||||
|
|
||||||
g_fProjectionMatrix[12] = 0.0f;
|
g_fProjectionMatrix[12] = 0.0f;
|
||||||
g_fProjectionMatrix[13] = 0.0f;
|
g_fProjectionMatrix[13] = 0.0f;
|
||||||
|
|
|
@ -12,8 +12,6 @@
|
||||||
class PointerWrap;
|
class PointerWrap;
|
||||||
struct ProjectionHackConfig;
|
struct ProjectionHackConfig;
|
||||||
|
|
||||||
void UpdateProjectionHack(const ProjectionHackConfig& config);
|
|
||||||
|
|
||||||
// The non-API dependent parts.
|
// The non-API dependent parts.
|
||||||
class VertexShaderManager
|
class VertexShaderManager
|
||||||
{
|
{
|
||||||
|
|
|
@ -295,7 +295,6 @@ void VideoBackendBase::InitializeShared()
|
||||||
PixelShaderManager::Init();
|
PixelShaderManager::Init();
|
||||||
|
|
||||||
g_Config.Refresh();
|
g_Config.Refresh();
|
||||||
g_Config.UpdateProjectionHack();
|
|
||||||
UpdateActiveConfig();
|
UpdateActiveConfig();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -142,11 +142,6 @@ void VideoConfig::Refresh()
|
||||||
bEFBEmulateFormatChanges = Config::Get(Config::GFX_HACK_EFB_EMULATE_FORMAT_CHANGES);
|
bEFBEmulateFormatChanges = Config::Get(Config::GFX_HACK_EFB_EMULATE_FORMAT_CHANGES);
|
||||||
bVertexRounding = Config::Get(Config::GFX_HACK_VERTEX_ROUDING);
|
bVertexRounding = Config::Get(Config::GFX_HACK_VERTEX_ROUDING);
|
||||||
|
|
||||||
phack.m_enable = Config::Get(Config::GFX_PROJECTION_HACK) == 1;
|
|
||||||
phack.m_sznear = Config::Get(Config::GFX_PROJECTION_HACK_SZNEAR) == 1;
|
|
||||||
phack.m_szfar = Config::Get(Config::GFX_PROJECTION_HACK_SZFAR) == 1;
|
|
||||||
phack.m_znear = Config::Get(Config::GFX_PROJECTION_HACK_ZNEAR);
|
|
||||||
phack.m_zfar = Config::Get(Config::GFX_PROJECTION_HACK_ZFAR);
|
|
||||||
bPerfQueriesEnable = Config::Get(Config::GFX_PERF_QUERIES_ENABLE);
|
bPerfQueriesEnable = Config::Get(Config::GFX_PERF_QUERIES_ENABLE);
|
||||||
|
|
||||||
VerifyValidity();
|
VerifyValidity();
|
||||||
|
|
|
@ -50,22 +50,12 @@ enum class ShaderCompilationMode : int
|
||||||
AsynchronousSkipRendering
|
AsynchronousSkipRendering
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ProjectionHackConfig final
|
|
||||||
{
|
|
||||||
bool m_enable;
|
|
||||||
bool m_sznear;
|
|
||||||
bool m_szfar;
|
|
||||||
std::string m_znear;
|
|
||||||
std::string m_zfar;
|
|
||||||
};
|
|
||||||
|
|
||||||
// NEVER inherit from this class.
|
// NEVER inherit from this class.
|
||||||
struct VideoConfig final
|
struct VideoConfig final
|
||||||
{
|
{
|
||||||
VideoConfig();
|
VideoConfig();
|
||||||
void Refresh();
|
void Refresh();
|
||||||
void VerifyValidity();
|
void VerifyValidity();
|
||||||
void UpdateProjectionHack();
|
|
||||||
bool IsVSync() const;
|
bool IsVSync() const;
|
||||||
|
|
||||||
// General
|
// General
|
||||||
|
@ -130,7 +120,6 @@ struct VideoConfig final
|
||||||
bool bImmediateXFB;
|
bool bImmediateXFB;
|
||||||
bool bCopyEFBScaled;
|
bool bCopyEFBScaled;
|
||||||
int iSafeTextureCache_ColorSamples;
|
int iSafeTextureCache_ColorSamples;
|
||||||
ProjectionHackConfig phack;
|
|
||||||
float fAspectRatioHackW, fAspectRatioHackH;
|
float fAspectRatioHackW, fAspectRatioHackH;
|
||||||
bool bEnablePixelLighting;
|
bool bEnablePixelLighting;
|
||||||
bool bFastDepthCalc;
|
bool bFastDepthCalc;
|
||||||
|
|
Loading…
Reference in New Issue