Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
LogicDeLuxe

Really odd bug in BARRACKS.WAD

Recommended Posts

http://www.doomworld.com/idgames/index.php?id=9328
There is a switch supposed to lower a wall to the next room. When I hit the switch, I can hear the lowering noise, but the sector does not move.
Then I noclipped into the next room, and noticed that there is a sergeant stucked in the ceiling for no apparent reason, but with plenty of distance to the sector which does not move. When I shoot him, the sector starts lowering. How can this be?
This happens in Prboom as well as in Chocolate Doom.
This bug does not occur in Vanilla Doom. And suprisingly enough, Boom does not have this bug either.
Here is a Prboom savegame just before you have to hit the switch: http://www.zshare.net/download/2400377953ea02/
The switch:

The sergeant:

Share this post


Link to post

Please record a vanilla-format demo illustrating the alleged bug. That will make it far easier to investigate.

Share this post


Link to post

Funny, I tried yesterday and it worked in Vanilla Doom. Now this bug appears in 1.666, 1.7a and 1.9 too. I just noclipped to the switch, and apparently, the sergeant gets stuck only if he still sleeps. Otherwise he behaves normally. It seems I did awake him when I checked this yesterday, but not today.

In Prboom, I played with -complevel 2. With -complevel 9, it works in Prboom like in Boom.
However, according to the text file, it should run with Vanilla Doom, except for savegames.

Unless there is a way to trigger the LOS bug in order to wake him before hitting the switch, I see no way to defeat this map in Vanilla Doom without cheating or taking shortcuts.

Still I wonder how the sergeant could get stuck in the first places. This makes no sense.

Share this post


Link to post

OK, so it sounds like everything is behaving "correctly", and that the map probably wasn't tested with vanilla behaviour. There are quite a number of maps that have this issue, i.e. sectors that won't lower because there is a monster embedded in them.

Share this post


Link to post

It would appear that the bug is caused by the unused Sidedefs and Sectors in the map, of which theres about 60(!) of each according to Doom Builder.

When I removed them and re-played the wad, the floor lowered correctly (and the sargeant was at the correct height) in Doom95, where as previously it didn't because of said issue.

In short, the bug appears to be caused by bad cleaning up of the map, which some ports/engines correct (i.e Zdoom), while others don't (Vanilla Doom). Though I wouldn't know why the unused Sidedefs and Sectors cause such a bug (are they still techincally "on the map"?

Interestingly moving on top of the Sargeant in question without fixing the unused sidedefs/sectors moved him to ground level and caused the sector in question to lower normally. However when I moved away, the Sargeant jumped back up into the ceiling.

Share this post


Link to post
Grazza said:

i.e. sectors that won't lower because there is a monster embedded in them.

Well, the monster isn't exactly "embedded". It is several feet away from it. That's one thing, I'm puzzled.

The map looks like this (sector and sergeant in question highlighted):

Share this post


Link to post

I noticed on the other side of the room/large sector is another sarge, but it is offset more than the one you highlighted. Was it floating/stuck too???

Share this post


Link to post

I haven't tested this, but from a cursory examination my best guess would be that the Sergeant(Thing 44) is too close to Sector 1208. Moving him NE 8 pixels or so should be enough to fix the problem.

Funny, I remember discussing this problem when the map first came out. I thought Justin had intended to fix it, but I guess that never happened...

Share this post


Link to post

I don't think sector 1208 has anything to do with it. Assuming the case that the sergeant indeed were stuck at that sector, this wouldn't prevent sector 1206 from lowering.
I suspect a bad blockmap. I noticed such glitches in old BSP 1.2 in the early days. It seems like the collision code (but not the renderer) used the properties from the wrong sector in such spots, resulting in things being in mid air, in the ceiling or falling deep into the floor.
Maybe deepbsp has similar bugs.

Share this post


Link to post

I just tested it. It's definitely the Sergeant being too close to Sector 1208. Simply removing the unused Sectors/Sidedefs and rebuilding doesn't do anything.

The whole "monsters stuck in the ceiling affecting nearby plats" bug has been known for a very long time. I'm not sure what causes it, though; only that the new plat handling code in Boom fixed it.

One of my old levels demonstrates this: D2200EP1 MAP03. At the beginning, try lowering the bars while the Cyberdemon is still being crushed. Another level with a similar scenario(involving a Spider Mastermind) is ASD2 MAP03...

Share this post


Link to post
Andy Olivera said:

Simply removing the unused Sectors/Sidedefs and rebuilding doesn't do anything.

Since every nodebuilder builds the nodes differently, it sure would do something, usually enough to break demo compatibility, at least. It's just the question if it fixes this.
What nodebuilders did you try?

Share this post


Link to post

Of course rebuilding affects the way the level works(tried with DooM Builder and Zennode). I should have said "...doesn't do anything to fix this problem". The Sergeant being stuck in the ceiling isn't related to the nodes. While the nodes might cause the floor to stop moving, we'll need a code guru to explain to us exactly how...

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
×