mirror of https://github.com/PCSX2/pcsx2.git
GSdx fixes:
Skygunner crashing on boot. James Bond 007: Everything or Nothing doing a huge Vram usage when opening the weapons screen and making the system crawl at it. Couldn't test much with this one and only added the US version for now. git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4921 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
274246c557
commit
d953f053d8
|
@ -323,6 +323,9 @@ CRC::Game CRC::m_games[] =
|
|||
{0xA60C2E65, Yakuza2, EU, 0},
|
||||
{0x800E3E5A, Yakuza2, EU, 0},
|
||||
{0x97E9C87E, Yakuza2, US, 0},
|
||||
{0x9000252A, SkyGunner, JP, 0},
|
||||
{0xA9461CB2, SkyGunner, US, 0},
|
||||
{0x6848699B, JamesBondEverythingOrNothing, US, 0},
|
||||
};
|
||||
|
||||
hash_map<uint32, CRC::Game*> CRC::m_map;
|
||||
|
|
|
@ -125,7 +125,8 @@ public:
|
|||
Kunoichi,
|
||||
Yakuza,
|
||||
Yakuza2,
|
||||
|
||||
SkyGunner,
|
||||
JamesBondEverythingOrNothing,
|
||||
TitleCount,
|
||||
};
|
||||
|
||||
|
|
|
@ -309,9 +309,10 @@ GSVector4i GSState::GetFrameRect(int i)
|
|||
int w = r.width();
|
||||
int h = r.height();
|
||||
|
||||
if(m_game.title == CRC::DevilMayCry3 && (m_game.region == CRC::US || m_game.region == CRC::JP))
|
||||
//Fixme: These games have an extra black bar at bottom of screen
|
||||
if((m_game.title == CRC::DevilMayCry3 || m_game.title == CRC::SkyGunner) && (m_game.region == CRC::US || m_game.region == CRC::JP))
|
||||
{
|
||||
h = 448;
|
||||
h = 448; //
|
||||
}
|
||||
|
||||
if(m_regs->SMODE2.INT && m_regs->SMODE2.FFMD && h > 1) h >>= 1;
|
||||
|
@ -3181,6 +3182,34 @@ bool GSC_Yakuza2(const GSFrameInfo& fi, int& skip)
|
|||
return true;
|
||||
}
|
||||
|
||||
bool GSC_SkyGunner(const GSFrameInfo& fi, int& skip)
|
||||
{
|
||||
if(skip == 0)
|
||||
{
|
||||
|
||||
if(!fi.TME && !(fi.FBP == 0x0 || fi.FBP == 0x00800 || fi.FBP == 0x008c0 || fi.FBP == 0x03e00) && fi.FPSM == PSM_PSMCT32 && (fi.TBP0 == 0x0 || fi.TBP0 == 0x01800) && fi.TPSM == PSM_PSMCT32)
|
||||
{
|
||||
skip = 1; //Huge Vram usage
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool GSC_JamesBondEverythingOrNothing(const GSFrameInfo& fi, int& skip)
|
||||
{
|
||||
if(skip == 0)
|
||||
{
|
||||
|
||||
if(fi.TME && (fi.FBP < 0x02000 && !(fi.FBP == 0x0 || fi.FBP == 0x00e00)) && fi.FPSM == PSM_PSMCT32 && (fi.TBP0 > 0x01c00 && fi.TBP0 < 0x03000) && fi.TPSM == PSM_PSMT8)
|
||||
{
|
||||
skip = 1; //Huge Vram usage
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
//#define USE_DYNAMIC_CRC_HACK
|
||||
#ifdef USE_DYNAMIC_CRC_HACK
|
||||
|
@ -3404,6 +3433,8 @@ bool GSState::IsBadFrame(int& skip, int UserHacks_SkipDraw)
|
|||
map[CRC::Kunoichi] = GSC_Kunoichi;
|
||||
map[CRC::Yakuza] = GSC_Yakuza;
|
||||
map[CRC::Yakuza2] = GSC_Yakuza2;
|
||||
map[CRC::SkyGunner] = GSC_SkyGunner;
|
||||
map[CRC::JamesBondEverythingOrNothing] = GSC_JamesBondEverythingOrNothing;
|
||||
}
|
||||
|
||||
// TODO: just set gsc in SetGameCRC once
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#ifdef SHADER_MODEL // make safe to include in resource file to enforce dependency
|
||||
|
||||
#define FXAA_PC 1
|
||||
#define FXAA_QUALITY__SUBPIX 0.0
|
||||
|
||||
#if SHADER_MODEL >= 0x400
|
||||
|
||||
|
|
Loading…
Reference in New Issue