mirror of https://github.com/PCSX2/pcsx2.git
GSdx: CRC hackfix for Midnight Club 3, fixes the huge vram usage when moving.
Small change to the Burnout hackfix, was skipping too much for NTSC. git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4791 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
5f20a11cd5
commit
75070d6aaf
|
@ -285,6 +285,8 @@ CRC::Game CRC::m_games[] =
|
||||||
{0x7E83CC5B, BurnoutRevenge, EU, 0},
|
{0x7E83CC5B, BurnoutRevenge, EU, 0},
|
||||||
{0x8C9576A1, BurnoutDominator, US, 0},
|
{0x8C9576A1, BurnoutDominator, US, 0},
|
||||||
{0x8C9576B4, BurnoutDominator, EU, 0},
|
{0x8C9576B4, BurnoutDominator, EU, 0},
|
||||||
|
{0x4A0E5B3A, MidnightClub3, US, 0},
|
||||||
|
{0x60A42FF5, MidnightClub3, US, 0}, //remix
|
||||||
};
|
};
|
||||||
|
|
||||||
hash_map<uint32, CRC::Game*> CRC::m_map;
|
hash_map<uint32, CRC::Game*> CRC::m_map;
|
||||||
|
|
|
@ -114,6 +114,7 @@ public:
|
||||||
BurnoutTakedown,
|
BurnoutTakedown,
|
||||||
BurnoutRevenge,
|
BurnoutRevenge,
|
||||||
BurnoutDominator,
|
BurnoutDominator,
|
||||||
|
MidnightClub3,
|
||||||
TitleCount,
|
TitleCount,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -3006,9 +3006,16 @@ bool GSC_Burnout(const GSFrameInfo& fi, int& skip)
|
||||||
{
|
{
|
||||||
skip = 4;
|
skip = 4;
|
||||||
}
|
}
|
||||||
else if (fi.TME && (fi.FBP == 0x008c0 || fi.FBP == 0x00a00) && fi.FPSM == PSM_PSMCT16 && (fi.TBP0 == 0x01a40 || fi.TBP0 == 0x01e00) && fi.TPSM == PSM_PSMZ16)
|
else if(fi.TME && fi.FPSM == PSM_PSMCT16 && fi.TPSM == PSM_PSMZ16) //fog
|
||||||
{
|
{
|
||||||
skip = 4; //fog
|
if(fi.FBP == 0x00a00 && fi.TBP0 == 0x01e00)
|
||||||
|
{
|
||||||
|
skip = 4; //pal
|
||||||
|
}
|
||||||
|
if(fi.FBP == 0x008c0 && fi.TBP0 == 0x01a40)
|
||||||
|
{
|
||||||
|
skip = 3; //ntsc
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (fi.TME && (fi.FBP == 0x02d60 || fi.FBP == 0x033a0) && fi.FPSM == fi.TPSM && (fi.TBP0 == 0x02d60 || fi.TBP0 == 0x033a0) && fi.TPSM == PSM_PSMCT32 && fi.FBMSK == 0x0)
|
else if (fi.TME && (fi.FBP == 0x02d60 || fi.FBP == 0x033a0) && fi.FPSM == fi.TPSM && (fi.TBP0 == 0x02d60 || fi.TBP0 == 0x033a0) && fi.TPSM == PSM_PSMCT32 && fi.FBMSK == 0x0)
|
||||||
{
|
{
|
||||||
|
@ -3019,6 +3026,19 @@ bool GSC_Burnout(const GSFrameInfo& fi, int& skip)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool GSC_MidnightClub3(const GSFrameInfo& fi, int& skip)
|
||||||
|
{
|
||||||
|
if(skip == 0)
|
||||||
|
{
|
||||||
|
if(fi.TME && (fi.FBP > 0x01d00 && fi.FBP <= 0x02a00) && fi.FPSM == PSM_PSMCT32 && (fi.FBP >= 0x01600 && fi.FBP < 0x03260) && fi.TPSM == PSM_PSMT8H)
|
||||||
|
{
|
||||||
|
skip = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
bool GSState::IsBadFrame(int& skip, int UserHacks_SkipDraw)
|
bool GSState::IsBadFrame(int& skip, int UserHacks_SkipDraw)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue