by gramps » Tue Jan 15, 2019 8:33 pm
Here's a quick test that rotates doom2 map01's vertices 180 degrees around 0,0.
Code: Select all
version "3.8"
class SetVertexTest : LevelCompatibility
{
protected void Apply(Name checksum)
{
// The map's checksum.
'3C9902E376CCA1E9C3BE8763BDC21DF5'; // DOOM2.WAD map01
console.printf("Initializing...");
// rotate entire map 180 deg. around 0,0
for (int i = 0; i < level.vertexes.size(); i++) {
let p = level.vertexes[i].p;
setVertex(i, -p.x, -p.y);
}
}
}
Things aren't moved, but you'll still spawn on the map. The map will look fine, but wall clipping is screwed up, like it's trying to clip against the old map geometry.
Does something get pre-computed before LevelCompatibility runs and not updated afterward?
(This is tested in a recent DRD build that works for me, gzdoom-x64-g3.8pre-62-g23146f1af.7z... nightlies from the past day or two don't seem to be working right now).
Here's a quick test that rotates doom2 map01's vertices 180 degrees around 0,0.
[code]version "3.8"
class SetVertexTest : LevelCompatibility
{
protected void Apply(Name checksum)
{
// The map's checksum.
'3C9902E376CCA1E9C3BE8763BDC21DF5'; // DOOM2.WAD map01
console.printf("Initializing...");
// rotate entire map 180 deg. around 0,0
for (int i = 0; i < level.vertexes.size(); i++) {
let p = level.vertexes[i].p;
setVertex(i, -p.x, -p.y);
}
}
}[/code]
Things aren't moved, but you'll still spawn on the map. The map will look fine, but wall clipping is screwed up, like it's trying to clip against the old map geometry.
Does something get pre-computed before LevelCompatibility runs and not updated afterward?
(This is tested in a recent DRD build that works for me, gzdoom-x64-g3.8pre-62-g23146f1af.7z... nightlies from the past day or two don't seem to be working right now).