Below is a patch to remove the heat effect. I can't compile Windows builds at the moment, so you'll have to ask someone to compile a build for you.
And, because I'm so nice, I won't even demand any money for the patch
And, because I'm so nice, I won't even demand any money for the patch
Code:
diff --git a/Source/Core/VideoCommon/Src/VertexLoader.h b/Source/Core/VideoCommon/Src/VertexLoader.h
index 98a57cb..51cbb09 100644
--- a/Source/Core/VideoCommon/Src/VertexLoader.h
+++ b/Source/Core/VideoCommon/Src/VertexLoader.h
@@ -98,8 +98,10 @@ private:
NRM_THREE = 3,
};
+public:
int m_VertexSize; // number of bytes of a raw GC vertex. Computed by CompileVertexTranslator.
+private:
// GC vertex format
TVtxAttr m_VtxAttr; // VAT decoded into easy format
TVtxDesc m_VtxDesc; // Not really used currently - or well it is, but could be easily avoided.
diff --git a/Source/Core/VideoCommon/Src/VertexLoaderManager.cpp b/Source/Core/VideoCommon/Src/VertexLoaderManager.cpp
index 316941a..8445069 100644
--- a/Source/Core/VideoCommon/Src/VertexLoaderManager.cpp
+++ b/Source/Core/VideoCommon/Src/VertexLoaderManager.cpp
@@ -141,6 +141,30 @@ void RunVertices(int vtx_attr_group, int primitive, int count)
return;
RefreshLoader(vtx_attr_group);
+
+ bool skip = false;
+ u8* data = g_pVideoData;
+ if (*data++ == 0)
+ if (*data++ == 0)
+ if (*data++ == 0)
+ if (*data++ == 0)
+ if (*data++ == 0)
+ if (*data++ == 0)
+ if (*data++ == 0)
+ if (*data++ == 3)
+ if (*data++ == 0)
+ if (*data++ == 0)
+ if (*data++ == 0)
+ if (*data++ == 3)
+ if (*data++ == 0)
+ if (*data++ == 1)
+ skip = true;
+
+ if (skip)
+ {
+ g_pVideoData += g_VertexLoaders[vtx_attr_group]->m_VertexSize * count;
+ return;
+ }
g_VertexLoaders[vtx_attr_group]->RunVertices(vtx_attr_group, primitive, count);
}