This commit is contained in:
gabest
2008-07-30 16:01:00 +00:00
parent ee35fad8b2
commit 255e874b9d
4 changed files with 34 additions and 1 deletions

View File

@@ -100,6 +100,7 @@ CRC::Game CRC::m_games[] =
{0xBF6F101F, GiTS, US, false},
{0x6BF11378, Onimusha3, US, false},
{0xF442260C, MajokkoALaMode2, JP, false},
{0x14FE77F7, TalesOfAbyss, US, false},
};
CAtlMap<DWORD, CRC::Game*> CRC::m_map;

View File

@@ -62,6 +62,7 @@ public:
GiTS,
Onimusha3,
MajokkoALaMode2,
TalesOfAbyss,
TitleCount
};

View File

@@ -580,6 +580,20 @@ protected:
#pragma endregion
#pragma region TalesOfAbyss full image blur and brightening
if(m_game.title == CRC::TalesOfAbyss)
{
DWORD FBP = m_context->FRAME.Block();
if(FBP == 0x036e0 || FBP == 0x03560 || FBP == 0x038e0)
{
return false;
}
}
#pragma endregion
return __super::CanUpscale();
}

View File

@@ -1232,7 +1232,7 @@ template<int index> void GSState::Transfer(BYTE* mem, UINT32 size)
if(path.tag.PRE)
{
ASSERT(path.tag.FLG != GIF_FLG_IMAGE); // kingdom hearts, ffxii
ASSERT(path.tag.FLG != GIF_FLG_IMAGE); // kingdom hearts, ffxii, tales of abyss
if((path.tag.FLG & 2) == 0)
{
@@ -2084,6 +2084,22 @@ bool GSC_Onimusha3(const GSFrameInfo& fi, int& skip)
return true;
}
bool GSC_TalesOfAbyss(const GSFrameInfo& fi, int& skip)
{
if(skip == 0)
{
if(fi.TME && /*fi.FBP == 0x00000 (0x0e000 too?) &&*/ fi.TBP0 == 0x01c00 && fi.TPSM == PSM_PSMT8) // copies the z buffer to the alpha channel of the fb
{
skip = 345;
}
}
else
{
}
return true;
}
bool GSState::IsBadFrame(int& skip)
{
GSFrameInfo fi;
@@ -2127,6 +2143,7 @@ bool GSState::IsBadFrame(int& skip)
map[CRC::GodOfWar2] = GSC_GodOfWar;
map[CRC::GiTS] = GSC_GiTS;
map[CRC::Onimusha3] = GSC_Onimusha3;
map[CRC::TalesOfAbyss] = GSC_TalesOfAbyss;
}
GetSkipCount gsc = map[m_game.title];