mirror of
https://github.com/libretro/pcsx2.git
synced 2024-12-04 08:17:28 +00:00
gsdx: Merge Sly 2 and 3 crc hacks.
Upscaling issue with texture shuffle on dx and gl. Also removes shadows on gl. Bbox issue on dx. Dumps from Sly 2 and 3 look fine after the merge. Also add a crc id BF1739E2 for a prototype Sly2. I don't remember who game me the dump or if it's official.
This commit is contained in:
parent
ee7749452d
commit
f02c683178
@ -323,6 +323,7 @@ CRC::Game CRC::m_games[] =
|
||||
{0x615EA2DB, Sly2, JP, 0}, // Kaitou Sly Cooper 2
|
||||
{0xFDA1CBF6, Sly2, EU, 0},
|
||||
{0x15DD1F6F, Sly2, NoRegion, 0},
|
||||
{0xBF1739E2, Sly2, NoRegion, 0}, // Prototype maybe, is it official ? I don't remember, found it when testing my dumps (LT).
|
||||
{0xA9C82AB9, DemonStone, US, 0},
|
||||
{0x7C7578F3, DemonStone, EU, 0},
|
||||
{0x22425C19, DemonStone, KO, 0},
|
||||
|
@ -1254,32 +1254,15 @@ bool GSC_TenchuGames(const GSFrameInfo& fi, int& skip)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool GSC_Sly3(const GSFrameInfo& fi, int& skip)
|
||||
bool GSC_SlyGames(const GSFrameInfo& fi, int& skip)
|
||||
{
|
||||
if(skip == 0)
|
||||
{
|
||||
if(fi.TME && (fi.FBP == 0x00000 || fi.FBP == 0x00700 || fi.FBP == 0x00a80 || fi.FBP == 0x00e00) && fi.FPSM == fi.TPSM && (fi.TBP0 == 0x00000 || fi.TBP0 == 0x00700 || fi.TBP0 == 0x00a80 || fi.TBP0 == 0x00e00) && fi.TPSM == PSM_PSMCT16)
|
||||
{
|
||||
skip = 1000;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(fi.TME && fi.FPSM == fi.TPSM && fi.TPSM == PSM_PSMCT16 && fi.FBMSK == 0x03FFF)
|
||||
{
|
||||
skip = 3;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool GSC_Sly2(const GSFrameInfo& fi, int& skip)
|
||||
{
|
||||
if(skip == 0)
|
||||
{
|
||||
if(fi.TME && (fi.FBP == 0x00000 || fi.FBP == 0x00700 || fi.FBP == 0x00800 || fi.FBP == 0x008c0) && fi.FPSM == fi.TPSM && fi.TPSM == PSM_PSMCT16 && fi.FBMSK == 0x03FFF)
|
||||
if(fi.TME && fi.FPSM == fi.TPSM && (fi.FBP == 0x00000 || fi.FBP == 0x00700 || fi.FBP == 0x00800 || fi.FBP == 0x008c0 || fi.FBP == 0x00a80 || fi.FBP == 0x00e00) && fi.TPSM == PSM_PSMCT16 && fi.FBMSK == 0x03FFF)
|
||||
// 0x00a80, 0x00e00 from Sly 3
|
||||
{
|
||||
// Upscaling issue with texture shuffle on dx and gl. Also removes shadows on gl.
|
||||
// Bbox issue on dx.
|
||||
skip = 1000;
|
||||
}
|
||||
}
|
||||
@ -1854,17 +1837,12 @@ void GSState::SetupCrcHack()
|
||||
lut[CRC::Yakuza] = GSC_YakuzaGames;
|
||||
lut[CRC::Yakuza2] = GSC_YakuzaGames;
|
||||
|
||||
// Depth + Texture cache issue + Date (AKA a real mess)
|
||||
lut[CRC::HauntingGround] = GSC_HauntingGround;
|
||||
|
||||
// Not tested but must be fixed with texture shuffle
|
||||
lut[CRC::CrashNburn] = GSC_CrashNburn; // seem to be a basic depth effect
|
||||
|
||||
// Those games might requires accurate fbmask
|
||||
lut[CRC::OnePieceGrandAdventure] = GSC_OnePieceGrandAdventure;
|
||||
lut[CRC::OnePieceGrandBattle] = GSC_OnePieceGrandBattle;
|
||||
lut[CRC::Sly2] = GSC_Sly2;
|
||||
lut[CRC::Sly3] = GSC_Sly3;
|
||||
|
||||
// Those games require accurate_colclip (perf)
|
||||
lut[CRC::CastlevaniaCoD] = GSC_CastlevaniaGames;
|
||||
@ -1873,6 +1851,11 @@ void GSState::SetupCrcHack()
|
||||
// Unknown status
|
||||
lut[CRC::Grandia3] = GSC_Grandia3;
|
||||
|
||||
// Bounding box issue
|
||||
lut[CRC::HauntingGround] = GSC_HauntingGround; // + Texture cache issue + Date
|
||||
lut[CRC::Sly2] = GSC_SlyGames; // + Upscaling issue
|
||||
lut[CRC::Sly3] = GSC_SlyGames; // + Upscaling issue
|
||||
|
||||
// Dedicated shader for channel effect
|
||||
lut[CRC::TalesOfAbyss] = GSC_TalesOfAbyss;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user