[Not a bug/Fixed] Heretic special commands

Bugs that have been investigated and resolved somehow.

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.
User avatar
Ichor
Posts: 1783
Joined: Wed Jul 23, 2003 9:22 pm

Heretic special commands

Post by Ichor »

In a recent Heretic map (crypts.wad), there was a special command called W1_RaisetoShortTexture. It works fine in Heretic and JHeretic, but in ZDoom, the floor continues rising until it hits the ceiling.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49184
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

That's more likely a bug in the level. I checked it and the sector has no lower textures so this is clearly undefined behavior. I remember having this discussion on Doomworld some time ago and there was some discussion about the buggy implementation of this special in Doom and Heretic. Besides, this is compatibility optioned in ZDOOM:

Code: Select all

static inline void CheckShortestTex (int texnum, fixed_t &minsize)
{
	if (texnum > 0 || (texnum == 0 && (compatflags & COMPATF_SHORTTEX)))
	{
	}
}
User avatar
Ichor
Posts: 1783
Joined: Wed Jul 23, 2003 9:22 pm

Post by Ichor »

I guess I could fix it, but if it works in Heretic, why wouldn't it work in ZDoom? When I first tested it in Heretic, I had set the floor 100 units below the higher surface, and it rose up to just above the higher surface. This means that if there wasn't any texture (necessary for the illusion to work), then Heretic raises it 128 units by default. A similar code could be put into ZDoom.
Mighty Duck X-treme
Posts: 272
Joined: Tue Jul 15, 2003 5:48 pm
Location: Chesterfield, Missouri

Post by Mighty Duck X-treme »

Yeah, I rarely play Heretic and in my humble opinion, I honestly don't quite understand why not everything Heretic has been implemented.

It could be that each Doom/Heretic/Hexen source port is unique from one another and they have similar implementations that work differently. :?

Remember back at Doomworld where there was a disscusion about the possibility of a 'Super Port?' IIRC, Gamearena claims it's unwise to do so, which was why he makes Doom ports from scratch.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49184
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

Ichor wrote:I guess I could fix it, but if it works in Heretic, why wouldn't it work in ZDoom? When I first tested it in Heretic, I had set the floor 100 units below the higher surface, and it rose up to just above the higher surface. This means that if there wasn't any texture (necessary for the illusion to work), then Heretic raises it 128 units by default. A similar code could be put into ZDoom.


You are exploiting the side effect of a bug. Such things have the tendency to screw up and you have to live with that.

Besides, the code is there, you just have to set the compatibility flag 'COMPATF_SHORTTEX'. What happens in your case is the following:

Doom/Heretic never checked for the validity of the texture so they always include the height of the dummy texture #0 in their calculations. Fortunately for you it had the correct height for your situation.
User avatar
HotWax
Posts: 10002
Joined: Fri Jul 18, 2003 6:18 pm
Location: Idaho Falls, ID

Post by HotWax »

This is precisely what the compatibility flags are meant to do. There is no need to fix what isn't broken.
User avatar
Ichor
Posts: 1783
Joined: Wed Jul 23, 2003 9:22 pm

Post by Ichor »

How do you set that flag. Do you put it in the .ini file, or do you have to type it in the console every time you play, or is it something else?
User avatar
Kate
... in rememberance ...
Posts: 2975
Joined: Tue Jul 15, 2003 8:06 pm

Post by Kate »

Go to Options(in the main menu), then go to Compatibility Options and all of the Compatflags are there
User avatar
Ichor
Posts: 1783
Joined: Wed Jul 23, 2003 9:22 pm

Post by Ichor »

Ok, that worked. However, I noticed something kind of strange. In the map there are 317 enemies, but in ZDoom, the total at the end of the map says 322, meaning there are five items with MF_COUNTKILL on that shouldn't have it on. I don't know which items they are though.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49184
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

Ichor wrote:Ok, that worked. However, I noticed something kind of strange. In the map there are 317 enemies, but in ZDoom, the total at the end of the map says 322, meaning there are five items with MF_COUNTKILL on that shouldn't have it on. I don't know which items they are though.
The only thing I can think of are some chickens which caused a monster to be counted twice. I'm not sure however because I never played Heretic with ZDoom.
User avatar
Ichor
Posts: 1783
Joined: Wed Jul 23, 2003 9:22 pm

Post by Ichor »

That must have been it. I used the Morph Ovum in the last area, and now that you mention it, I did turn five of those enemies into chickens.
User avatar
HotWax
Posts: 10002
Joined: Fri Jul 18, 2003 6:18 pm
Location: Idaho Falls, ID

Post by HotWax »

That's a known issue; I assume it'll be fixed very soon.
User avatar
randi
Site Admin
Posts: 7749
Joined: Wed Jul 09, 2003 10:30 pm

Post by randi »

The original bug is a compatibility option, not a bug. The second has been fixed for 2.0.48/2.1.0.

Return to “Closed Bugs [GZDoom]”