[Unknown] Hexen, Inconsistencies.
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.
[Unknown] Hexen, Inconsistencies.
If this has already been mentioned my bad. But I noticed a few Hexen inconsistencies.
There are only a few minor so far but here goes.
1. Gas clouds from Mushrooms in Hexen are not pushable by the chaos device. They are in Zdoom.
2. In Hexen, a Mage with the boots of speed can run faster than his frost shards and freeze himself on them. This can't be done with Zdoom, as the shards don't collide on the Mage.
There are only a few minor so far but here goes.
1. Gas clouds from Mushrooms in Hexen are not pushable by the chaos device. They are in Zdoom.
2. In Hexen, a Mage with the boots of speed can run faster than his frost shards and freeze himself on them. This can't be done with Zdoom, as the shards don't collide on the Mage.
- Graf Zahl
- Lead GZDoom+Raze Developer
- Posts: 49073
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: [Unknown] Hexen, Inconsistencies.
2) is actually a bug fix. This happened because the shards were not given the proper owner in Hexen - but in ZDoom they actually are. I remember that Randy added quite a bit of code to the missile spawning function to fix this.
1) confuses me a bit as the cloud has the 'CANBLAST' flag set explicitly. But I can't see anything analogous in Hexen. I wonder why it had that flag.
1) confuses me a bit as the cloud has the 'CANBLAST' flag set explicitly. But I can't see anything analogous in Hexen. I wonder why it had that flag.
Re: [Unknown] Hexen, Inconsistencies.
Because for some reason, a poison cloud spawned by a cleric's flechette can be blasted, while one spawned from a mushroom cannot.Graf Zahl wrote:I wonder why it had that flag.
As I posted in the what the hell thread, I don't know why there is a discrepancy given the spawning code is the same.
- Graf Zahl
- Lead GZDoom+Raze Developer
- Posts: 49073
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: [Unknown] Hexen, Inconsistencies.
Ah. That's it. I assume that the crucial factor then is the fact that one's owned by a player and the other by a scenery object. I guess I'll have to redo the fix then.
- Graf Zahl
- Lead GZDoom+Raze Developer
- Posts: 49073
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: [Unknown] Hexen, Inconsistencies.
Ok, 'fix' reverted. I won't do anything else unless I know what's happening here.
Re: [Unknown] Hexen, Inconsistencies.
I continue to be puzzled:
There is code made specifically to let poison clouds be pushed.
Code: Select all
// Blast all mobj things away
void P_BlastRadius(player_t *player)
{
mobj_t *mo;
mobj_t *pmo=player->mo;
thinker_t *think;
fixed_t dist;
S_StartSound(pmo, SFX_ARTIFACT_BLAST);
P_NoiseAlert(player->mo, player->mo);
for(think = thinkercap.next; think != &thinkercap; think = think->next)
{
if(think->function != P_MobjThinker)
{ // Not a mobj thinker
continue;
}
mo = (mobj_t *)think;
if((mo == pmo) || (mo->flags2&MF2_BOSS))
{ // Not a valid monster
continue;
}
if ((mo->type == MT_POISONCLOUD) || // poison cloud
(mo->type == MT_HOLY_FX) || // holy fx
(mo->flags&MF_ICECORPSE)) // frozen corpse
{
// Let these special cases go
}
else if ((mo->flags&MF_COUNTKILL) &&
(mo->health <= 0))
{
continue;
}
else if (!(mo->flags&MF_COUNTKILL) &&
!(mo->player) &&
!(mo->flags&MF_MISSILE))
{ // Must be monster, player, or missile
continue;
}
if (mo->flags2&MF2_DORMANT)
{
continue; // no dormant creatures
}
if ((mo->type == MT_WRAITHB) && (mo->flags2&MF2_DONTDRAW))
{
continue; // no underground wraiths
}
if ((mo->type == MT_SPLASHBASE) ||
(mo->type == MT_SPLASH))
{
continue;
}
if(mo->type == MT_SERPENT || mo->type == MT_SERPENTLEADER)
{
continue;
}
dist = P_AproxDistance(pmo->x - mo->x, pmo->y - mo->y);
if(dist > BLAST_RADIUS_DIST)
{ // Out of range
continue;
}
P_BlastMobj(pmo, mo, BLAST_FULLSTRENGTH);
}
}
- Graf Zahl
- Lead GZDoom+Raze Developer
- Posts: 49073
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: [Unknown] Hexen, Inconsistencies.
I can't see either what makes the ones from the mushroom different. They should be blasted if that code worked as expected.
- Graf Zahl
- Lead GZDoom+Raze Developer
- Posts: 49073
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: [Unknown] Hexen, Inconsistencies.
1 is fixed now.
Re: [Unknown] Hexen, Inconsistencies.
How come I've never seen monsters being turned "insane" by the secondary frost shards? In vanilla Doom it nearly always happened that monsters shot by disappeared objects would start shooting at an inexistent target.Graf Zahl wrote:2) is actually a bug fix. This happened because the shards were not given the proper owner in Hexen
Re: [Unknown] Hexen, Inconsistencies.
1. Heh, true, never noticed about this (interest). But blast sound and effect for "Gas clouds from Mushrooms" work. But Gas still on place where spawned. Looks like bug in vanilla hexen. For me pushing gas more fanny, but yes guys you right.
Re: [Unknown] Hexen, Inconsistencies.
Because ZDoom cleans up after actors that disappear. Doom did not.printz wrote:In vanilla Doom it nearly always happened that monsters shot by disappeared objects would start shooting at an inexistent target.