Blast damage deactivated in 1994 mod

This wad, when played in Doom95, causes blast damage to fail uniformly.  Barrels have no effect, and it can take 10-12 rockets to kill a baron.

I have never seen this in any other level and it is not reproduced by PrBoom+, so I suspect some weird-ass overflow condition.  DOS Ultimate Doom didn't exhibit the anomaly.  PrBoom+ said:

Too big or not supported REJECT overflow has been detected. Desync or crash can
occur soon or during playback with the vanilla engine in case you're recording d
emo.
You can change PrBoom behaviour for this overflow through in-game menu.
P_LoadReject: REJECT too short (0<7627) - padded
It's also not in this post, although maybe it should be.  :>

Hope I'm in the right forum, thanks for reading.

(Edited to prevent horizontal scroll.)

Share this post


Link to post

Broken REJECT might cause this effect. The explosion damage performs a sight check between rocket and target and if that fails won't do any damage. Of course this will have other effects as well like strange acting monsters

Share this post


Link to post

I've seen that with a few 90's levels and dannebubinga's levels, while playing with prboom-plus 2501 or 2503. If I opened the map in doom builder and re-saved it, it worked like normal.

Share this post


Link to post
Xeriphas1994 said:

It's also not in this post, although maybe it should be.  :>

There are a lot of wads with a short or missing reject, and if I listed them all in that table, then it would become an absurdly long list. Also, the reject overflow is pretty well understood, so there isn't much to investigate from an emulation or recording viewpoint. And the program can immediately identify a short reject, whereas there isn't a general way to detect spechits overflow possibilities from simply inspecting the map.

By the way, some wads deliberately used this to create special effects. For instance, map04 of Shoreleave (also released on its own as aboosord.wad), where the cyber gets quite befuddled in parts of the sword area. One of the features of the wad was that maps would feature a cyberdemon that was never quite as much of a threat as it might seem at first. (I recorded a Tyson demo to demonstrate that.)

Moved to Editing, since it's not a port issue, but a consequence of faulty tools, poor use of them, or deliberate editing of the reject.

The vanilla behaviour is that garbage data is used for reject calculations, meaning that the engine will decide pretty much at random whether to have a 1 or a 0 in each place in the table. This will be different each time the engine runs, which is why demos recorded on such maps won't in general play back reliably. (And probably explains why you experienced different results when you ran the map on doom.exe.) Prboom+ added emulation for the behaviour in certain cases where the engine behaved in a consistent way, and in other cases will pad it with zeroes.

Share this post


Link to post
Graf Zahl said:

The explosion damage performs a sight check between rocket and target and if that fails won't do any damage.

So REJECT can be used to reduce or cancel explosive damage? Wonderful. I hope it works in all ports.

Share this post


Link to post

I believe OpenGL ports, including Doomsday and GZDoom, rebuild the nodes at map startup, since they have to rebuild them for OpenGL rendering.

Share this post


Link to post

Prboom-plus/GLBoom-plus can use normal nodes, even when using OpenGL rendering. Indeed, if the complevel is set to one that expects normal nodes, it will ignore GL nodes, even if present (it has to, to retain demo compatibility). If GL nodes are present, then it will use them if using a new enough complevel. But it won't rebuild (or indeed build).

I'm not sure if all other GL ports rebuild nodes, rather than just use existing ones. I seem to recall Legacy wouldn't rebuild them when running in GL mode.

Share this post


Link to post

Does REJECT have anything to do with node-building? If I'm not wrong, the REJECT matrix links full sectors, not subsectors.

Share this post


Link to post
Vermil said:

I believe OpenGL ports, including Doomsday and GZDoom, rebuild the nodes at map startup, since they have to rebuild them for OpenGL rendering.


GZDoom always uses the original nodes for the worldsim, even if it builds GL nodes for rendering.

GZDoom will also use already built GL nodes if they are present and in a compatible format (meaning GL nodes v2, v3 or v5, or one of the native ZDoom GL nodes formats).

printz said:

Does REJECT have anything to do with node-building?

Not much. It's a lump made by the node builder, but other than that it's its own thing.

Share this post


Link to post
printz said:

So REJECT can be used to reduce or cancel explosive damage? Wonderful. I hope it works in all ports.

Note also that it affects more than blast damage. Monsters won't attack the player (or retaliate against other monsters) if the reject is safe for the sector(s) they are in.

Share this post


Link to post
Grazza said:

Note also that it affects more than blast damage. Monsters won't attack the player (or retaliate against other monsters) if the reject is safe for the sector(s) they are in.

Testing more carefully, it appears that monsters attack me *if* they are in a different sector than I am, otherwise not.  In that case you could indeed reproduce the phenomenon with RMB or whatever (very tedious though; IIRC that utility doesn't allow batch operations).

Share this post


Link to post

It depends on what the reject table gives for the pair of sectors. It's a matrix (n x n where n is the number of sectors) with a 0 or 1 for each pair of sectors.

A 1 for the pairing of the sector with itself will mean that monsters won't attack the player in the same sector, even if a line of sight exists. If the whole reject table is zeroes, then they will attack any sector if a line of sight exists. If the whole reject is ones, they won't attack anything anywhere, and won't even wake up.

http://www.mrousseau.org/programs/ZenNode/manual.html
http://doomwiki.org/wiki/REJECT

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now