diff --git a/plugins/GSdx/GSCrc.cpp b/plugins/GSdx/GSCrc.cpp index 55a8d7a9ba..e255c98167 100644 --- a/plugins/GSdx/GSCrc.cpp +++ b/plugins/GSdx/GSCrc.cpp @@ -144,6 +144,8 @@ CRC::Game CRC::m_games[] = {0x4C7BB3C8, SimpsonsGame, Unknown, 0}, {0x4C94B32C, SimpsonsGame, Unknown, 0}, {0xD71B57F4, Genji, Unknown, 0}, + {0x23A97857, StarOcean3, US, 0}, + {0xBEC32D49, StarOcean3, JP, 0}, {0x23A97857, StarOcean3, JPUNDUB, 0}, {0xCC96CE93, ValkyrieProfile2, US, 0}, {0x774DE8E2, ValkyrieProfile2, JP, 0}, diff --git a/plugins/GSdx/GSTextureCache.cpp b/plugins/GSdx/GSTextureCache.cpp index 6000b34c9a..f814620f1f 100644 --- a/plugins/GSdx/GSTextureCache.cpp +++ b/plugins/GSdx/GSTextureCache.cpp @@ -444,8 +444,11 @@ void GSTextureCache::InvalidateLocalMem(const GSOffset* o, const GSVector4i& r) } } - if(GSUtil::HasSharedBits(psm, t->m_TEX0.PSM) && bp > t->m_TEX0.TBP0) + // Grandia3, FFX, FFX-2 pause menus. t->m_TEX0.TBP0 magic number checks because otherwise kills xs2 videos + if( (GSUtil::HasSharedBits(psm, t->m_TEX0.PSM) && (bp > t->m_TEX0.TBP0) ) + && ((t->m_TEX0.TBP0 == 0) || (t->m_TEX0.TBP0==3328) || (t->m_TEX0.TBP0==3584) )) { + //printf("first : %d-%d child : %d-%d\n", psm, bp, t->m_TEX0.PSM, t->m_TEX0.TBP0); uint32 rowsize = bw * 8192; uint32 offset = (uint32)((bp - t->m_TEX0.TBP0) * 256);