- 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:
parent
ecce60e8f9
commit
93cd78ebfb
15 changed files with 31 additions and 47 deletions
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue