diff --git a/sp/src/game/shared/mapbase/protagonist_system.cpp b/sp/src/game/shared/mapbase/protagonist_system.cpp index d1d77feb..8a8720ac 100644 --- a/sp/src/game/shared/mapbase/protagonist_system.cpp +++ b/sp/src/game/shared/mapbase/protagonist_system.cpp @@ -488,7 +488,7 @@ int CProtagonistSystem::DoGetProtagonist_PlayerModelBody( ProtagonistData_t &pPr const char *CProtagonistSystem::DoGetProtagonist_HandModel( ProtagonistData_t &pProtag, const CBaseCombatWeapon *pWeapon ) { - int nRigType = pWeapon->GetHandRig(); + int nRigType = pWeapon ? pWeapon->GetHandRig() : HANDRIG_DEFAULT; if (pProtag.pszHandModels[nRigType]) return pProtag.pszHandModels[nRigType]; diff --git a/sp/src/game/shared/mapbase/protagonist_system.h b/sp/src/game/shared/mapbase/protagonist_system.h index b3152f81..396187c2 100644 --- a/sp/src/game/shared/mapbase/protagonist_system.h +++ b/sp/src/game/shared/mapbase/protagonist_system.h @@ -34,7 +34,10 @@ private: { ProtagonistData_t() { - +#ifndef CLIENT_DLL + for (int i = 0; i < NUM_HAND_RIG_TYPES; i++) + pszHandModels[i] = NULL; +#endif } char szName[MAX_PROTAGONIST_NAME]; @@ -49,7 +52,7 @@ private: int nPlayerBody = -1; // Hands - const char *pszHandModels[NUM_HAND_RIG_TYPES] = {}; + const char *pszHandModels[NUM_HAND_RIG_TYPES]; int nHandSkin = -1; int nHandBody = -1;