VertexLoader: Don't write position_cache if vertex is skipped
This is the behavior in the x64 and ARM64 vertex loaders. I don't know if it makes sense (the whole skipped vertex system seems jank, but several games behave incorrectly without it).
This commit is contained in:
parent
16c0593a52
commit
3910bdd68b
|
@ -62,7 +62,7 @@ void Pos_ReadIndex(VertexLoader* loader)
|
||||||
for (int i = 0; i < N; ++i)
|
for (int i = 0; i < N; ++i)
|
||||||
{
|
{
|
||||||
const float value = PosScale(Common::FromBigEndian(data[i]), scale);
|
const float value = PosScale(Common::FromBigEndian(data[i]), scale);
|
||||||
if (loader->m_remaining < 3)
|
if (loader->m_remaining < 3 && !loader->m_vertexSkip)
|
||||||
VertexLoaderManager::position_cache[loader->m_remaining][i] = value;
|
VertexLoaderManager::position_cache[loader->m_remaining][i] = value;
|
||||||
DataWrite(value);
|
DataWrite(value);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue