non-void poly-objects + 3d floors = hitscan anomoly

Is there something that doesn't work right in the latest GZDoom? Post about it here.

Moderator: GZDoom Developers

Forum rules
Please construct and post a simple demo whenever possible for all bug reports. Please provide links to everything.

If you can include a wad demonstrating the problem, please do so. Bug reports that include fully-constructed demos have a much better chance of being investigated in a timely manner than those that don't.

Please make a new topic for every bug. Don't combine multiple bugs into a single topic. Thanks!
User avatar
Sir Robin
Posts: 537
Joined: Wed Dec 22, 2021 7:02 pm
Graphics Processor: Intel (Modern GZDoom)
Location: Medellin, Colombia

non-void poly-objects + 3d floors = hitscan anomoly

Post by Sir Robin »

Observed in g4.7.1 (this is what I see in the bottom-right of the console window. Is this the most accurate version number?)

Demo:
See this Doom2 example map
Go up the platform on the left (north wall). There are 3 closets there, closed with 3 differently designed poly-object doors. The first is void, the second is sector with mid textures, the third is sector with lower textures.
Stand in front of each closet but don't enter. #1 functions as expected. With #2 and #3, monsters in the closet below can see and shoot up through the 3d floor.
Step in to the closet. Notice the monsters stop shooting at you.
Step out, shoot at the floor, it is likely you will hit a monster. You will not see any bullet puffs on the 3d floor.
Step into the closet, shoot at the floor, you will see bullet puffs on the floor.
Drop off the platform, open the doors on the lower closets, you will likely see dead monsters and bullet hit decals on the walls from where you shot through the 3d floor.
This only happens with hitscan weapons, not projectiles.

On testing this seems to be an issue in the Line Trace function. The trace normally stops at 3d floors, but if it passes through a non-void poly-object first, it no longer stops at 3d floors.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49130
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: non-void poly-objects + 3d floors = hitscan anomoly

Post by Graf Zahl »

Yeah, things like this happen if you do stuff that's essentially unsupported. The entire engine code treats polyobjects like walls, not like moving sectors.
Combining 3D floors with this is just a recipe for disaster.

Return to “Bugs [GZDoom]”