From 1a1d6ab478a2641ff230095ba40312889f03deb9 Mon Sep 17 00:00:00 2001 From: Gregory Hainaut Date: Wed, 14 Sep 2016 19:22:45 +0200 Subject: [PATCH] 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 --- plugins/GSdx/GSState.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/plugins/GSdx/GSState.cpp b/plugins/GSdx/GSState.cpp index 0f47612033..244a351b6b 100644 --- a/plugins/GSdx/GSState.cpp +++ b/plugins/GSdx/GSState.cpp @@ -823,6 +823,15 @@ template 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)