Alien Vendetta compatibility problem: items heights
Moderator: GZDoom Developers
Forum rules
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
Alien Vendetta compatibility problem: items heights
Several Alien Vendetta maps have items whose height (z-coordinate) behave in the latest version of ZDoom in ways incompatible with the original Doom2.exe. Here's the Doomworld thread about it: http://www.doomworld.com/vb/wads-mods/5 ... ul-sphere/
-
-
- Posts: 17934
- Joined: Fri Jul 06, 2007 3:22 pm
Re: Alien Vendetta compatibility problem: items heights
This thread isn't convincing.
In several Windows ports I've tried (zdoom, jdoom, even chocolate doom)
It seems to me there was no bug, just a misunderstanding. There's nothing in that thread about ZDoom behavior differing from vanilla.Edit : ah, ok, I get it. There's a much more complicated way that doesn't involve an AV jump to reach that secret, and that complicated way (linedef 771, then linedef 1392) is the intended behavior. Doing it that way, the soulsphere is available.
-
-
- Posts: 10773
- Joined: Sun Jul 20, 2003 12:15 pm
Re: Alien Vendetta compatibility problem: items heights
This is actually due to an oddity/bug in the way vanilla Doom treats things in sectors. If part of a thing's bounding box lies inside a sector with a higher floor than the sector the thing's center of mass resides in, it will instantaneously switch heights if a nearby sector (not exactly sure how 'far away' said sector must be to trigger this behavior) has an action performed on it (e.g. a door opens, a floor rises, etc. Not many ports emulate this behavior except when strict compatibility options are set.
4-mer's post in the linked thread has a slightly clearer explanation of the phenomenon. The soulsphere's early appearance in AV28 is caused by a nearby door opening, and (whether intentional or not) only occurs erroneously because of this engine quirk.
4-mer's post in the linked thread has a slightly clearer explanation of the phenomenon. The soulsphere's early appearance in AV28 is caused by a nearby door opening, and (whether intentional or not) only occurs erroneously because of this engine quirk.
-
- Lead GZDoom+Raze Developer
- Posts: 49183
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: Alien Vendetta compatibility problem: items heights
Dooms original code to adjust thing heights when a door moves was an atrocious piece of shit that checked every single actor in each blockmap block that touched the moving sector. That means anything with a distance of 128 map units to the outer bounding box of the sector could have been affected.
See Boom's P_CheckSector vs P_ChangeSector. That function is definitely WTF-worthy in its oversimplistic (and slow) implementation.
See Boom's P_CheckSector vs P_ChangeSector. That function is definitely WTF-worthy in its oversimplistic (and slow) implementation.
-
-
- Posts: 10773
- Joined: Sun Jul 20, 2003 12:15 pm
Re: Alien Vendetta compatibility problem: items heights
Ah, thanks for clearing that up. I'd noticed it a few times in the vanilla map I'm working on and finally had to resort to moving a lot of things around since I wasn't sure what the acceptable range was. Helluva hack, either way.Graf Zahl wrote:Dooms original code to adjust thing heights when a door moves was an atrocious piece of shit that checked every single actor in each blockmap block that touched the moving sector. That means anything with a distance of 128 map units to the outer bounding box of the sector could have been affected.
Re: Alien Vendetta compatibility problem: items heights
The thread meanders a bit as people were trying to figure out what was going on, but in the end,It seems to me there was no bug, just a misunderstanding. There's nothing in that thread about ZDoom behavior differing from vanilla.
1. The Soul Sphere is attainable when playing the map using Doom2.exe (or Chocolate Doom)
2. The Soul Sphere is not attainable when playing on Zdoom, for the reasons explained by Graf Zahl.
Even if you don't think it's a good idea to re-introduce this behavior as a compatibility option, is there any chance of adding a compatibility.txt exception, just for AV map 28 (and, possibly, map 10), like there is for WADs that rely on ghost monsters? It's a shame when "legendary" WADS like AV don't play quite right on modern ports.Dooms original code to adjust thing heights when a door moves was an atrocious piece of shit that checked every single actor in each blockmap block that touched the moving sector. That means anything with a distance of 128 map units to the outer bounding box of the sector could have been affected.
-
- Lead GZDoom+Raze Developer
- Posts: 49183
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: Alien Vendetta compatibility problem: items heights
Isabella Chengerlan wrote:It's a shame when "legendary" WADS like AV don't play quite right on modern ports.
One can also say that it's a shame when the makers of said 'legendary' WADs didn't give a damn about the ports in existence at the time of release. All the problems AV has were already apparent on Boom and any other port that existed back in 2000-2002.
Re: Alien Vendetta compatibility problem: items heights
I'm not disagreeing, and I'm certainly not trying to lay any blame on ZDoom's feet. I too wish WAD authors had been more conscientious of the trouble they would cause when they made "clever" use of engine bugs.One can also say that it's a shame when the makers of said 'legendary' WADs didn't give a damn about the ports in existence at the time of release. All the problems AV has were already apparent on Boom and any other port that existed back in 2000-2002.
But the fact of the matter is that buggy WADs are out there, and are popular. You're right that ZDoom has no obligation to accommodate other people's mapping errors... but on the other hand, surely it's a feather in ZDoom's cap if it can play these WADs "the way they were meant to be played," even if that way relied on fundamentally buggy behavior?
-
-
- Posts: 12328
- Joined: Tue Jul 21, 2009 12:04 pm
- Preferred Pronouns: He/Him
- Operating System Version (Optional): Windows 11
- Graphics Processor: nVidia with Vulkan support
- Location: capital N, capital S, no space
Re: Alien Vendetta compatibility problem: items heights
One thing I have noticed in heretic's E1M2 that always irks me. At one point there's a lowering wall on either side of a small room, and one of the Claw Orbs in there exhibits this weirdness. Looks horrible.Xaser wrote:This is actually due to an oddity/bug in the way vanilla Doom treats things in sectors. If part of a thing's bounding box lies inside a sector with a higher floor than the sector the thing's center of mass resides in, it will instantaneously switch heights if a nearby sector (not exactly sure how 'far away' said sector must be to trigger this behavior) has an action performed on it (e.g. a door opens, a floor rises, etc.
Also is this at all related to the Imp Stack* oddity?
* Bonus Pants for getting the reference! : P
-
- Lead GZDoom+Raze Developer
- Posts: 49183
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: Alien Vendetta compatibility problem: items heights
I did some checks but I don't think this is addressable without completely messing up ZDoom's physics code so since it isn't critical it's 'won't change' unless someone comes up with a map that really gets broken.