From 3dfd9dc059a8c593dbb2c990453262260e245717 Mon Sep 17 00:00:00 2001 From: Roman Chistokhodov Date: Thu, 2 Jan 2025 20:49:06 +0300 Subject: [PATCH 1/3] Fix poison time-based damage effect getting removed on reloading/transitioning. Fix #347 (#502) --- dlls/player.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/dlls/player.cpp b/dlls/player.cpp index 21b636b24..05bf7589c 100644 --- a/dlls/player.cpp +++ b/dlls/player.cpp @@ -3026,7 +3026,6 @@ void CBasePlayer::Precache( void ) m_flgeigerRange = 1000; m_igeigerRangePrev = 1000; - m_bitsDamageType = 0; m_bitsHUDDamage = -1; m_iClientBattery = -1; From 1a4d59fa743170179ffa8f7bb400725af06fa150 Mon Sep 17 00:00:00 2001 From: Roman Chistokhodov Date: Thu, 2 Jan 2025 20:49:18 +0300 Subject: [PATCH 2/3] Fix wrong spray decal being used on save-restore if tempdecal.wad doesn't exist. Fix #239 (#503) --- dlls/player.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dlls/player.cpp b/dlls/player.cpp index 05bf7589c..ffa64ca61 100644 --- a/dlls/player.cpp +++ b/dlls/player.cpp @@ -3039,6 +3039,8 @@ void CBasePlayer::Precache( void ) m_iUpdateTime = 5; // won't update for 1/2 a second + m_nCustomSprayFrames = -1; + if( gInitHUD ) m_fInitHUD = TRUE; From 75b38fcdfffaf5b0da1b56893a9825c6a4ea069b Mon Sep 17 00:00:00 2001 From: Roman Chistokhodov Date: Thu, 2 Jan 2025 20:49:31 +0300 Subject: [PATCH 3/3] Fix crowbar applying breakable glass decals to unbreakable pushable objects (#504) --- dlls/func_break.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/dlls/func_break.cpp b/dlls/func_break.cpp index f1829d6ca..bc04c1c8b 100644 --- a/dlls/func_break.cpp +++ b/dlls/func_break.cpp @@ -792,6 +792,8 @@ class CPushable : public CBreakable // breakables use an overridden takedamage virtual int TakeDamage( entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType ); + int DamageDecal(int bitsDamageType); + static TYPEDESCRIPTION m_SaveData[]; static const char *m_soundNames[3]; @@ -1044,3 +1046,11 @@ int CPushable::TakeDamage( entvars_t *pevInflictor, entvars_t *pevAttacker, floa return 1; } + +int CPushable::DamageDecal(int bitsDamageType) +{ + if (FBitSet(pev->spawnflags, SF_PUSH_BREAKABLE)) + return CBreakable::DamageDecal(bitsDamageType); + + return CBaseEntity::DamageDecal(bitsDamageType); +}