[Unknown] Hexen, Inconsistencies.

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.
Post Reply
User avatar
Kristus
Posts: 437
Joined: Wed Feb 23, 2005 4:02 am
Location: Bed

[Unknown] Hexen, Inconsistencies.

Post by Kristus »

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.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49073
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: [Unknown] Hexen, Inconsistencies.

Post by Graf Zahl »

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.
Gez
 
 
Posts: 17835
Joined: Fri Jul 06, 2007 3:22 pm

Re: [Unknown] Hexen, Inconsistencies.

Post by Gez »

Graf Zahl wrote:I wonder why it had that flag.
Because for some reason, a poison cloud spawned by a cleric's flechette can be blasted, while one spawned from a mushroom cannot.


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.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49073
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: [Unknown] Hexen, Inconsistencies.

Post by Graf Zahl »

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.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49073
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: [Unknown] Hexen, Inconsistencies.

Post by Graf Zahl »

Ok, 'fix' reverted. I won't do anything else unless I know what's happening here.
Gez
 
 
Posts: 17835
Joined: Fri Jul 06, 2007 3:22 pm

Re: [Unknown] Hexen, Inconsistencies.

Post by Gez »

I continue to be puzzled:

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);
	}
}
There is code made specifically to let poison clouds be pushed.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49073
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: [Unknown] Hexen, Inconsistencies.

Post by Graf Zahl »

I can't see either what makes the ones from the mushroom different. They should be blasted if that code worked as expected.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49073
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: [Unknown] Hexen, Inconsistencies.

Post by Graf Zahl »

1 is fixed now.
User avatar
printz
Posts: 2648
Joined: Thu Oct 26, 2006 12:08 pm
Location: Bucharest, Romania
Contact:

Re: [Unknown] Hexen, Inconsistencies.

Post by printz »

Graf Zahl wrote:2) is actually a bug fix. This happened because the shards were not given the proper owner in Hexen
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.
User avatar
RaVeN-05
Posts: 286
Joined: Mon Dec 28, 2009 5:57 am
Location: Ukraine
Contact:

Re: [Unknown] Hexen, Inconsistencies.

Post by RaVeN-05 »

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.
User avatar
randi
Site Admin
Posts: 7746
Joined: Wed Jul 09, 2003 10:30 pm
Contact:

Re: [Unknown] Hexen, Inconsistencies.

Post by randi »

printz wrote:In vanilla Doom it nearly always happened that monsters shot by disappeared objects would start shooting at an inexistent target.
Because ZDoom cleans up after actors that disappear. Doom did not.
Post Reply

Return to “Closed Bugs [GZDoom]”