team-eternity / eternity

The Eternity Engine
http://eternity.youfailit.net/wiki/Main_Page
GNU General Public License v3.0
230 stars 36 forks source link

Linedef with two sides and missing Double-Sided flag does not block LOS checks #601

Closed akorov closed 2 weeks ago

akorov commented 1 year ago

Sample wad: oneside.zip

In DOOM2.exe and a wide variety of ports - chocolate, crispy, prboom-plus, dsda-doom, woof, gzdoom, doom retro - a linedef with two sides and missing Double-Sided flag will block LOS checks.

image

In sample wad on executables mentioned above arch-vile will stay dormant, if woken up will only target player on the same side of the wall and vile's attack will not complete if the wall is crossed over to the other side. On Eternity Engine (tested on x64-4.03.00-pre-1227-gd699a7d92) vile will immediately become active and the wall will not block sight or attacks in any way.

ioan-chera commented 2 weeks ago

Fixed, keeping in mind Heretic support.