Final Doom teleporters do not set Z coordinate
From DoomWiki.org
A problem introduced in the Final Doom version of the Doom engine, the Z coordinate of the player is not adjusted to the teleport destination altitude. This can cause the player to be teleported in the air or in the ground. When a monster is teleported, it is spawned on the floor but the teleporter fog remains at the height of origin teleporter.
This bug was admitted by TeamTNT,[1] and it was fixed in the executable included in the rarer variant of id Anthology with Final Doom, on which the GOG.com release is based.
It was due to a line being removed from the function EV_Teleport which teleports things. The line still has the comment "fixme: not needed?" in the Linux Doom source code release.
oldx = thing->x; oldy = thing->y; oldz = thing->z; if (!P_TeleportMove (thing, m->x, m->y)) return 0; thing->z = thing->floorz; //fixme: not needed? if (thing->player) thing->player->viewz = thing->z+thing->player->viewheight;
References[edit]
- ↑ TeamTNT. "Bugs and Fixes." TeamTNT (archived 🏛). Retrieved 11 January 2022.