- Reintroduced Doom.exe's player_t::usedown variable so that respawning a

player does not immediately activate switches. oldbuttons was not usable
  for this. This also required that CopyPlayer preserves this info.
- Fixed: When restarting the music there was a NULL pointer check missing
  so it crashed when the game was started wi
- Fixed: If the Use key is used to respawn the player it must be cleared
  so that it doesn't trigger any subsequent actions after respawning.
- Fixed: Resurrecting a monster did not restore flags5 and flags6.
- Fixed: Projectiles which killed a non-monster were unable to determine
  what precisely they hit because MF_CORPSE is only valid for monsters.
  A new flag, MF6_KILLED that gets set for all objects that die, was added
  for this case.
- Added a generic A_Weave function that exposes all possible options of
  A_BishopMissileWeave and A_CStaffMissileSlither. These 2 functions are
  no longer needed from DECORATE and therefore deprecated.


SVN r2045 (trunk)
This commit is contained in:
Christoph Oelckers 2009-12-25 11:09:56 +00:00
commit 85c683e0c7
16 changed files with 102 additions and 51 deletions

View file

@ -222,6 +222,7 @@ player_t::player_t()
centering(0),
turnticks(0),
attackdown(0),
usedown(0),
oldbuttons(0),
health(0),
inventorytics(0),
@ -2287,10 +2288,15 @@ void P_PlayerThink (player_t *player)
}
}
// check for use
if ((cmd->ucmd.buttons & BT_USE) && !(player->oldbuttons & BT_USE))
if ((cmd->ucmd.buttons & BT_USE) && !player->usedown)
{
player->usedown = true;
P_UseLines (player);
}
else
{
player->usedown = false;
}
// Morph counter
if (player->morphTics)
{