GSdx: Added a crc hack for Steambot Chronicles, made by miseru99. It doesn't look perfect but at least it's rather playable now. Thanks miseru99 :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5555 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
ramapcsx2 2013-02-11 17:10:22 +00:00
parent b5e33f9c6c
commit 45e3e6d549
3 changed files with 25 additions and 0 deletions

View File

@ -500,6 +500,7 @@ CRC::Game CRC::m_games[] =
{0x0098F740, SeintoSeiya, NoRegion, 0}, // cutie comment {0x0098F740, SeintoSeiya, NoRegion, 0}, // cutie comment
{0xBDD9BAAD, UrbanReign, US, 0}, // cutie comment {0xBDD9BAAD, UrbanReign, US, 0}, // cutie comment
{0xAE4BEBD3, UrbanReign, EU, 0}, {0xAE4BEBD3, UrbanReign, EU, 0},
{0x9F391882, SteambotChronicles, US, 0},
}; };
hash_map<uint32, CRC::Game*> CRC::m_map; hash_map<uint32, CRC::Game*> CRC::m_map;

View File

@ -173,6 +173,7 @@ public:
Simple2000Vol114, Simple2000Vol114,
SeintoSeiya, SeintoSeiya,
UrbanReign, UrbanReign,
SteambotChronicles,
TitleCount, TitleCount,
}; };

View File

@ -5040,6 +5040,28 @@ bool GSC_UrbanReign(const GSFrameInfo& fi, int& skip)
return true; return true;
} }
bool GSC_SteambotChronicles(const GSFrameInfo& fi, int& skip)
{
// Author: miseru99 on forums.pcsx2.net
if(fi.TME && fi.TPSM == PSM_PSMCT16S)
{
if(fi.FBP == 0x1180)
{
skip=1;//1 deletes some of the glitched effects
}
else if(fi.FBP == 0)
{
skip=100;//deletes most others(too high deletes the buggy sea completely;c, too low causes glitches to be visible)
}
else if(g_aggressive && fi.FBP != 0)//Agressive CRC
{
skip=19;//"speedhack", makes the game very light, vaporized water can disappear when not looked at directly, possibly some interface still, other value to try: 6 breaks menu background, possibly nothing(?) during gameplay, but it's slower, hence not much of a speedhack anymore
}
}
return true;
}
#ifdef ENABLE_DYNAMIC_CRC_HACK #ifdef ENABLE_DYNAMIC_CRC_HACK
#include <sys/stat.h> #include <sys/stat.h>
@ -5311,6 +5333,7 @@ bool GSState::IsBadFrame(int& skip, int UserHacks_SkipDraw)
map[CRC::SoulCalibur3] = GSC_SoulCalibur3; map[CRC::SoulCalibur3] = GSC_SoulCalibur3;
map[CRC::Simple2000Vol114] = GSC_Simple2000Vol114; map[CRC::Simple2000Vol114] = GSC_Simple2000Vol114;
map[CRC::UrbanReign] = GSC_UrbanReign; map[CRC::UrbanReign] = GSC_UrbanReign;
map[CRC::SteambotChronicles] = GSC_SteambotChronicles;
} }
// TODO: just set gsc in SetGameCRC once // TODO: just set gsc in SetGameCRC once