Skip to content
Permalink
Browse files

gsdx-hw: Move GSC_XenosagaE3 crc hacks to Aggressive state.

It will allow D3D11 to render Texture shuffle effects.

Keep the crc hacks on aggressive instead of removing them as they might
still be useful.
  • Loading branch information
lightningterror committed Jan 29, 2020
1 parent 9af1d3b commit f54b79c274483708f2efee57b888df4e6ef147aa
Showing with 31 additions and 31 deletions.
  1. +31 −31 plugins/GSdx/Renderers/HW/GSHwHack.cpp
@@ -1040,36 +1040,6 @@ bool GSC_SlyGames(const GSFrameInfo& fi, int& skip)
return true;
}

bool GSC_XenosagaE3(const GSFrameInfo& fi, int& skip)
{
if(skip == 0)
{
if(fi.TPSM == PSM_PSMT8H && fi.FBMSK >= 0xEFFFFFFF)
{
skip = 73; // Animation
}
else if(fi.TME && fi.FBP ==0x03800 && fi.TBP0 && fi.TPSM ==0 && fi.FBMSK == 0)
{
skip = 1; // Ghosting
}
else
{
if(fi.TME)
{
// depth textures (bully, mgs3s1 intro, Front Mission 5)
if( (fi.TPSM == PSM_PSMZ32 || fi.TPSM == PSM_PSMZ24 || fi.TPSM == PSM_PSMZ16 || fi.TPSM == PSM_PSMZ16S) ||
// General, often problematic post processing
(GSUtil::HasSharedBits(fi.FBP, fi.FPSM, fi.TBP0, fi.TPSM)) )
{
skip = 1;
}
}
}
}

return true;
}

bool GSC_Grandia3(const GSFrameInfo& fi, int& skip)
{
if(skip == 0)
@@ -1263,6 +1233,36 @@ bool GSC_ShinOnimusha(const GSFrameInfo& fi, int& skip)
return true;
}

bool GSC_XenosagaE3(const GSFrameInfo& fi, int& skip)
{
if(skip == 0)
{
if(fi.TPSM == PSM_PSMT8H && fi.FBMSK >= 0xEFFFFFFF)
{
skip = 73; // Animation
}
else if(fi.TME && fi.FBP ==0x03800 && fi.TBP0 && fi.TPSM ==0 && fi.FBMSK == 0)
{
skip = 1; // Ghosting
}
else
{
if(fi.TME)
{
// depth textures (bully, mgs3s1 intro, Front Mission 5)
if( (fi.TPSM == PSM_PSMZ32 || fi.TPSM == PSM_PSMZ24 || fi.TPSM == PSM_PSMZ16 || fi.TPSM == PSM_PSMZ16S) ||
// General, often problematic post processing
(GSUtil::HasSharedBits(fi.FBP, fi.FPSM, fi.TBP0, fi.TPSM)) )
{
skip = 1;
}
}
}
}

return true;
}

////////////////////////////////////////////////////////////////////////////////

#ifdef ENABLE_DYNAMIC_CRC_HACK
@@ -1486,7 +1486,6 @@ void GSState::SetupCrcHack()

// Needs testing
lut[CRC::Grandia3] = GSC_Grandia3;
lut[CRC::XenosagaE3] = GSC_XenosagaE3;

// These games emulate a stencil buffer with the alpha channel of the RT (too slow to move to Aggressive)
// Needs at least Basic Blending,
@@ -1508,6 +1507,7 @@ void GSState::SetupCrcHack()
lut[CRC::SMTDDS2] = GSC_SMTNocturneDDS<0x20435BF0>;
lut[CRC::SMTNocturne] = GSC_SMTNocturneDDS<0x2054E870>;
lut[CRC::SoTC] = GSC_SoTC;
lut[CRC::XenosagaE3] = GSC_XenosagaE3;

// Upscaling issues
lut[CRC::GodOfWar] = GSC_GodOfWar;

0 comments on commit f54b79c

Please sign in to comment.
You can’t perform that action at this time.