Issue with PhoenixFX2's player-freezing behavior

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
Blue Shadow
Posts: 4949
Joined: Sun Nov 14, 2010 12:59 am

Issue with PhoenixFX2's player-freezing behavior

Post by Blue Shadow »

Tested with: 3.5.1 64-bit
Test material: phoenixfx2_bug.pk3



The demo file has a modified weredragon which fires PhoenixFX2 projectiles (the Phoenix Rod's powered-up mode projectiles) as a melee attack. It appears that these projectiles have the ability to render players immobile for a short amount of time upon impact. The problem is, they only seem to do that in certain situations, like when the player is invulnerable.

I found that this line in DamageMobj() interferes and breaks that behavior; it resets the ReactionTime field of the damaged actor to 0. As you know, for player actors, if that field is positive, the player can't move. The projectile adds to that field upon impact, so the player becomes unable to move, but that line overrides all of that, since it comes after the projectile does its thing. Of course, if that line isn't reached during the function's execution, the player does become affected, and loses the ability to move, like the case with invulnerability.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49067
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Issue with PhoenixFX2's player-freezing behavior

Post by Graf Zahl »

I call that undefined behavior based on using a hacky player projectile on a monster. Changing this is bound to cause more serious issues.
User avatar
Marisa the Magician
Posts: 3886
Joined: Fri Feb 08, 2008 9:15 am
Preferred Pronouns: She/Her
Operating System Version (Optional): (btw I use) Arch
Graphics Processor: nVidia with Vulkan support
Location: Vigo, Galicia
Contact:

Re: Issue with PhoenixFX2's player-freezing behavior

Post by Marisa the Magician »

Would this still be triggered if one player in deathmatch used a tomed phoenix rod on another player?
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49067
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Issue with PhoenixFX2's player-freezing behavior

Post by Graf Zahl »

No idea, actually, but that particular line of code is present in the original Doom code and propagated unaltered to Heretic, so I think this never really worked.
But as I understand it, this is only needed for monsters, not players, right?

EDIT: Actually thinking about it, this would also explain why under rare circumstances the player can immediately move when exiting a teleporter. I was never able to connect this to a specific cause but had it happen every now and then. (Yay, another original Doom.exe bug hunted down... :mrgreen:)
Post Reply

Return to “Closed Bugs [GZDoom]”