Page 1 of 1

VM abort: player.txt line 374

PostPosted: Fri Nov 30, 2018 11:20 am
by Major Cooke
Code: Select allExpand view
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 allExpand view
if ((player.WeaponState & WF_DISABLESWITCH) ||


This can happen when morphing, it would appear.

Re: VM abort: player.txt line 374

PostPosted: Fri Nov 30, 2018 12:14 pm
by Graf Zahl
How can I reproduce this? You are particularly vague on that aspect.

Re: VM abort: player.txt line 374

PostPosted: Fri Nov 30, 2018 1: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 allExpand view
if (!player || !player.mo)
   return;


I haven't encountered further aborts as of yet...

Re: VM abort: player.txt line 374

PostPosted: Fri Nov 30, 2018 1:59 pm
by Graf Zahl
Morphing and voodoo dolls are a match made in hell... :?