Page 1 of 1
VM abort: player.txt line 374
Posted: Fri Nov 30, 2018 10:20 am
by Major Cooke
Code: Select all
virtual void CheckWeaponChange ()
{
let player = self.player;
if ((player.WeaponState & WF_DISABLESWITCH) || // <----------------------------------------------------------------Aborts here
player.morphTics != 0) // Morphed classes cannot change weapons.
{ // ...so throw away any pending weapon requests.
player.PendingWeapon = WP_NOCHANGE;
}
// Put the weapon away if the player has a pending weapon or has died, and
// we're at a place in the state sequence where dropping the weapon is okay.
if ((player.PendingWeapon != WP_NOCHANGE || player.health <= 0) &&
player.WeaponState & WF_WEAPONSWITCHOK)
{
player.DropWeapon();
}
}
Specifically:
Code: Select all
if ((player.WeaponState & WF_DISABLESWITCH) ||
This can happen when morphing, it would appear.
Re: VM abort: player.txt line 374
Posted: Fri Nov 30, 2018 11:14 am
by Graf Zahl
How can I reproduce this? You are particularly vague on that aspect.
Re: VM abort: player.txt line 374
Posted: Fri Nov 30, 2018 12:45 pm
by Major Cooke
Good question. Unfortunately, it's sporadic when playing D4D, so I cannot present a quick and easy demonstration.
Here's the resources and
here's the bleeding edge.
Just put them in the same folder together and only load Doom4Doom-master.zip, it will auto-load the resources package for you.
I should also note I'm playing on maps like
Dark Tartarus which makes extensive use of voodoo dolls.
I attempted to fix it myself by adding in at the top:
Code: Select all
if (!player || !player.mo)
return;
I haven't encountered further aborts as of yet...
Re: VM abort: player.txt line 374
Posted: Fri Nov 30, 2018 12:59 pm
by Graf Zahl
Morphing and voodoo dolls are a match made in hell...
Re: VM abort: player.txt line 374
Posted: Thu Aug 12, 2021 12:28 pm
by Graf Zahl
fixed.