From 8c723a635c628137d0dcfbb61f96c123f4574121 Mon Sep 17 00:00:00 2001 From: Juice Date: Tue, 14 Jan 2020 11:01:00 +0300 Subject: [PATCH] Fix hitsounds on vehicles (#491) --- regamedll/dlls/sound.cpp | 4 ++++ regamedll/dlls/util.cpp | 4 ++++ regamedll/dlls/wpn_shared/wpn_knife.cpp | 8 ++++++++ 3 files changed, 16 insertions(+) diff --git a/regamedll/dlls/sound.cpp b/regamedll/dlls/sound.cpp index 946b4f82..31099871 100644 --- a/regamedll/dlls/sound.cpp +++ b/regamedll/dlls/sound.cpp @@ -1631,7 +1631,11 @@ float TEXTURETYPE_PlaySound(TraceResult *ptr, Vector vecSrc, Vector vecEnd, int chTextureType = '\0'; +#ifdef REGAMEDLL_FIXES + if (pEntity && pEntity->Classify() != CLASS_NONE && pEntity->Classify() != CLASS_MACHINE && pEntity->Classify() != CLASS_VEHICLE) +#else if (pEntity && pEntity->Classify() != CLASS_NONE && pEntity->Classify() != CLASS_MACHINE) +#endif { // hit body chTextureType = CHAR_TEX_FLESH; diff --git a/regamedll/dlls/util.cpp b/regamedll/dlls/util.cpp index 60c877ea..e5e04311 100644 --- a/regamedll/dlls/util.cpp +++ b/regamedll/dlls/util.cpp @@ -1568,7 +1568,11 @@ char UTIL_TextureHit(TraceResult *ptr, Vector vecSrc, Vector vecEnd) char szbuffer[64]; CBaseEntity *pEntity = CBaseEntity::Instance(ptr->pHit); +#ifdef REGAMEDLL_FIXES + if (pEntity && pEntity->Classify() != CLASS_NONE && pEntity->Classify() != CLASS_MACHINE && pEntity->Classify() != CLASS_VEHICLE) +#else if (pEntity && pEntity->Classify() != CLASS_NONE && pEntity->Classify() != CLASS_MACHINE) +#endif return CHAR_TEX_FLESH; vecSrc.CopyToArray(rgfl1); diff --git a/regamedll/dlls/wpn_shared/wpn_knife.cpp b/regamedll/dlls/wpn_shared/wpn_knife.cpp index 3bd28738..8a13a05b 100644 --- a/regamedll/dlls/wpn_shared/wpn_knife.cpp +++ b/regamedll/dlls/wpn_shared/wpn_knife.cpp @@ -365,7 +365,11 @@ BOOL CKnife::Swing(BOOL fFirst) if (pEntity) // -V595 #endif { +#ifdef REGAMEDLL_FIXES + if (pEntity->Classify() != CLASS_NONE && pEntity->Classify() != CLASS_MACHINE && pEntity->Classify() != CLASS_VEHICLE) +#else if (pEntity->Classify() != CLASS_NONE && pEntity->Classify() != CLASS_MACHINE) +#endif { // play thwack or smack sound switch (RANDOM_LONG(0, 3)) @@ -531,7 +535,11 @@ BOOL CKnife::Stab(BOOL fFirst) if (pEntity) // -V595 #endif { +#ifdef REGAMEDLL_FIXES + if (pEntity->Classify() != CLASS_NONE && pEntity->Classify() != CLASS_MACHINE && pEntity->Classify() != CLASS_VEHICLE) +#else if (pEntity->Classify() != CLASS_NONE && pEntity->Classify() != CLASS_MACHINE) +#endif { EMIT_SOUND(m_pPlayer->edict(), CHAN_WEAPON, "weapons/knife_stab.wav", VOL_NORM, ATTN_NORM); m_pPlayer->m_iWeaponVolume = KNIFE_BODYHIT_VOLUME;