- Fixed: The check for no skill menu was incorrect when a custom player

class menu was present so instead of starting the game specific skill menu
  it always started Hexen's.
- Fixed: When a non-player tried to play a player sound it tried to access 
  the actor object as an APlayerPawn.
- Changed PlayAttacking2 to always use the melee state instead of different
  implementations per player and hard coding it to MissileState+1. Also
  changed PlayAttacking for the HereticPlayer to use the same animation as
  PlayAttacking2. Now the special handling for Heretic in the FireWeapon
  functions can be removed.

For R258:

- Fixed: PlayerStartItem created a duplicate of the item's class name before
  converting it into an FName.
- Removed game check for Doom from P_BloodSplatter. The BloodSplatter actor
  is compatible with all games now so the explicit handling is no longer needed.
- Moved replacement handling back into AActor::StaticSpawn but controlled
  by a (mandatory) parameter. Also added replacement to most other
  instances in the game where non-inventory items are spawned. Replacement is safe 
  nearly everywhere except for inventory related spawns.
- Fixed: Due to the player class inclusion A_NoBlocking never called
  NoBlockingSet for monsters.
- Changed: Sounds can be specified by full path now in SNDINFO and S_SKIN.


SVN r259 (trunk)
This commit is contained in:
Christoph Oelckers 2006-07-16 10:23:14 +00:00
commit 93cd78ebfb
15 changed files with 31 additions and 47 deletions

View file

@ -1427,18 +1427,16 @@ int S_FindSkinnedSound (AActor *actor, const char *name)
int S_FindSkinnedSound (AActor *actor, int refid)
{
const char *pclass;
int gender;
int gender = GENDER_MALE;
if (actor != NULL && actor->player != NULL)
if (actor != NULL && actor->IsKindOf(RUNTIME_CLASS(APlayerPawn)))
{
pclass = actor->player->mo->GetSoundClass ();
gender = actor->player->userinfo.gender;
pclass = static_cast<APlayerPawn*>(actor)->GetSoundClass ();
if (actor->player != NULL) gender = actor->player->userinfo.gender;
}
else
{
pclass =
((APlayerPawn *)GetDefaultByType (PlayerClasses[0].Type))->GetSoundClass ();
gender = GENDER_MALE;
pclass = gameinfo.gametype == GAME_Hexen? "fighter" : "player";
}
return S_LookupPlayerSound (pclass, gender, refid);