gsdx: handle the invalid format 0x3

International Super Star Soccer seems to use it.

It could be a core bug, in doubt uses the likely expected standard 0x13
This commit is contained in:
Gregory Hainaut 2016-09-14 19:22:45 +02:00
parent 4796803c33
commit 1a1d6ab478
1 changed files with 9 additions and 0 deletions

View File

@ -823,6 +823,15 @@ template<int i> void GSState::ApplyTEX0(GIFRegTEX0& TEX0)
{
// even if TEX0 did not change, a new palette may have been uploaded and will overwrite the currently queued for drawing
// Handle invalid PSM here
switch (TEX0.PSM) {
case 3:
TEX0.PSM = 0x13; // International Star Soccer (menu)
break;
default:
break;
}
bool wt = m_mem.m_clut.WriteTest(TEX0, m_env.TEXCLUT);
// clut loading already covered with WriteTest, for drawing only have to check CPSM and CSA (MGS3 intro skybox would be drawn piece by piece without this)