Page 1 of 1
Heretic special commands
Posted: Wed Jul 23, 2003 9:27 pm
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.
Posted: Thu Jul 24, 2003 2:35 am
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)))
{
}
}
Posted: Thu Jul 24, 2003 6:58 am
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.
Posted: Thu Jul 24, 2003 7:08 am
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.
Posted: Thu Jul 24, 2003 6:51 pm
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.
Posted: Fri Jul 25, 2003 12:18 am
by HotWax
This is precisely what the compatibility flags are meant to do. There is no need to fix what isn't broken.
Posted: Fri Jul 25, 2003 6:27 pm
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?
Posted: Fri Jul 25, 2003 7:01 pm
by Kate
Go to Options(in the main menu), then go to Compatibility Options and all of the Compatflags are there
Posted: Sat Jul 26, 2003 10:24 am
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.
Posted: Sat Jul 26, 2003 11:47 am
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.
Posted: Sat Jul 26, 2003 12:01 pm
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.
Posted: Sat Jul 26, 2003 10:36 pm
by HotWax
That's a known issue; I assume it'll be fixed very soon.
Posted: Thu Aug 28, 2003 7:39 pm
by randi
The original bug is a compatibility option, not a bug. The second has been fixed for 2.0.48/2.1.0.