Add yet another hack setting to work around the 3rd Birthday problem.

Hopefully temporary...
This commit is contained in:
Henrik Rydgard 2014-03-13 18:59:49 +01:00
parent ce1d449bed
commit 4df49a72ab
4 changed files with 6 additions and 0 deletions

View File

@ -392,6 +392,7 @@ static ConfigSetting graphicsSettings[] = {
// Not really a graphics setting...
ReportedConfigSetting("TimerHack", &g_Config.bTimerHack, &DefaultTimerHack),
ReportedConfigSetting("AlphaMaskHack", &g_Config.bAlphaMaskHack, false),
ReportedConfigSetting("LowQualitySplineBezier", &g_Config.bLowQualitySplineBezier, false),
ReportedConfigSetting("PostShader", &g_Config.sPostShaderName, "Off"),

View File

@ -138,6 +138,7 @@ public:
bool bDisableStencilTest;
bool bAlwaysDepthWrite;
bool bTimerHack;
bool bAlphaMaskHack;
bool bLowQualitySplineBezier;
std::string sPostShaderName; // Off for off.

View File

@ -419,6 +419,9 @@ void TransformDrawEngine::ApplyDrawState(int prim) {
amask = false;
}
}
if (g_Config.bAlphaMaskHack) {
amask = true; // Yes, this makes no sense, but it "fixes" the 3rd Birthday by popular demand.
}
glstate.colorMask.set(rmask, gmask, bmask, amask);

View File

@ -202,6 +202,7 @@ void GameSettingsScreen::CreateViews() {
// Maybe hide this on non-PVR?
graphicsSettings->Add(new CheckBox(&g_Config.bDisableAlphaTest, gs->T("Disable Alpha Test (PowerVR speedup)")))->OnClick.Handle(this, &GameSettingsScreen::OnShaderChange);
graphicsSettings->Add(new CheckBox(&g_Config.bDisableStencilTest, gs->T("Disable Stencil Test")));
graphicsSettings->Add(new CheckBox(&g_Config.bAlphaMaskHack, gs->T("Alpha Mask Hack (3rd Birthday)")));
graphicsSettings->Add(new CheckBox(&g_Config.bAlwaysDepthWrite, gs->T("Always Depth Write")));
CheckBox *prescale = graphicsSettings->Add(new CheckBox(&g_Config.bPrescaleUV, gs->T("Texture Coord Speedhack")));
if (PSP_IsInited())