Problems I've found in 1.14.4
Hi, I've been doing some map creating and playing of Doom, Heretic and Hexen with the latest stable binary and I've found some errors, you're probably already aware of some and one I've already discussed, but I thought it would be useful to have a list.
Here they are
-Gameplay
+Doom (probably others too): if the player has been running for some distance (gaining momentum, heh) and bumps against a side or front wall or decoration the character's pushed in the opposite direction (e.g: if running and bumping into a torch on the right side, player gets bumped to the left side, if running straight and colliding with the front wall, player gets bumped back) not very nice when making a run for the door when escaping a horde of monsters.
+Hexen: if loading an autosave after dying (at least on the seven portals and its levels) the character's stuck in the entrance portal...effectively making the saved game useless unless a cheat is used (I think, I didn't use noclip).
-XG:
+build_stairs: while it mostly works, the first sector I try to get raised or lowered always rises and goes way high (probably to the 0 height coordinate, didn't investigate it that much); the remaining stairs follow whatever the script calls for...but only if spread build is enabled, otherwise it just moves the sectors and leaves them as a single block (as if I called plane_move)...can be worked around by building the stairs manually with plane_move...but a pain in the ass because...
+Chain_sequence: is broken for plane_move, can be worked around by making the chain call "activate"s as delegates and have those, in turn, call plane_move...particularly bothersome if you want to..say...build stairs
+Teleport: this one is just broken, I think, I could never manage to get it to work for either the player or monsters (a regular teleport worked fine for the same target and such).
+Using names for the class' parameters seems to be hit and miss (more misses than hits) for me, maybe I'm doing something wrong, but if I want to, for example do this
I think that's all.
Thanks for all your help.
Here they are
-Gameplay
+Doom (probably others too): if the player has been running for some distance (gaining momentum, heh) and bumps against a side or front wall or decoration the character's pushed in the opposite direction (e.g: if running and bumping into a torch on the right side, player gets bumped to the left side, if running straight and colliding with the front wall, player gets bumped back) not very nice when making a run for the door when escaping a horde of monsters.
+Hexen: if loading an autosave after dying (at least on the seven portals and its levels) the character's stuck in the entrance portal...effectively making the saved game useless unless a cheat is used (I think, I didn't use noclip).
-XG:
+build_stairs: while it mostly works, the first sector I try to get raised or lowered always rises and goes way high (probably to the 0 height coordinate, didn't investigate it that much); the remaining stairs follow whatever the script calls for...but only if spread build is enabled, otherwise it just moves the sectors and leaves them as a single block (as if I called plane_move)...can be worked around by building the stairs manually with plane_move...but a pain in the ass because...
+Chain_sequence: is broken for plane_move, can be worked around by making the chain call "activate"s as delegates and have those, in turn, call plane_move...particularly bothersome if you want to..say...build stairs
+Teleport: this one is just broken, I think, I could never manage to get it to work for either the player or monsters (a regular teleport worked fine for the same target and such).
+Using names for the class' parameters seems to be hit and miss (more misses than hits) for me, maybe I'm doing something wrong, but if I want to, for example do this
Line Type { #Lower something
ID = 5024
Flags = player_cross
Flags2 = when_act | any
Class = plane_move
Type = flip
Count = 1
Target Ref = "lpref_back_floor"
Destination Ref = "spref_my_floor"
Move Sound = "stnmov"
Fp0 = 1
Fp2 = 0
}
It probably won't work, I have to, instead, do this
Line Type { #Lower something
ID = 5024
Flags = player_cross
Flags2 = when_act | any
Class = plane_move
Type = flip
Count = 1
Ip0 = "lpref_back_floor"
Ip2 = "spref_my_floor"
Ip6 = "stnmov"
Fp0 = 1
Fp2 = 0
}
Not quite breaking, but it's easier (and nicer) to use names.I think that's all.
Thanks for all your help.
Comments
Sounds like you are trying to load a savegame made using an earlier version of 1.14 which did indeed have such a problem. It shouldn't be happening in a savegame made from a session started in 1.14.4 though.
With regard to the XG issues it would be useful to see an example/demo wad of the problem(s) (the chain_sequence issue is known, though, so don't bother with that).
As for the XG stuff, I'll make a quick wad and post it soon, thanks
The first room contains two teleporters that lead to the same room, the red one (left) is done with Doom's standard teleport lines, the right one (white) is built with XG and doesn't work, the second room has 2 sets of buildable stairs and a door, behind the door is a former human that should teleport to the starting room, it never does, both lines were constructed using XG both with and without names.
The stairs are controlled by switches, the first, long stair (has switch beside it), is constructed almost correctly (the first plane rises, all planes should lower 16 units) and the code didn't work using names; the second one (has switch in front) just rises the first plane (again it should lower) and ignores the rest (it only has spread texture activated).
Stair weirdness: the stair builders work correctly if restarting the map (but not leaving doomsday) OR if another stair builder is working at the same time (one has the bug, the other doesn't).
The forum doesn't seem to let me add attachments, so here's a link to download the map
https://onedrive.live.com/redir?resid=96AD29F19839D999!412&authkey=!AC9oJJtTZI9Hbbk&ithint=file%2c.zip
The code
Clearly the reason your teleporter is not activating is because the line's integral activation counter is zero and because of the activation method chosen; its not triggering. See the teleport example at the wiki.
Edit: Indeed it was a simple mix up - internal.save was not being updated at the right time. Fixed for the next unstable build. We'll likely put out another patch for 1.14 soon also.
The relevant part from the log:
The stairs don't display anything that resembles an error.
While the method used by XG is clearly more efficient in theory, it assumes that the targeted mobj type will be linked into the sectors. However, this is not always the case in DOOM (and other id Tech 1 based games) because this list serves a very specific purpose in the original games; it contains only those mobjs which can be collided with and not all of them. Naturally one shouldn't collide with teleport destinations thus its not in that list.
Clearly this was never tested. I submitted a bug report for this issue.