diff --git a/CHANGELOG.md b/CHANGELOG.md index 5e8ec8f..ee3aed9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -91,10 +91,13 @@ All changes from Half-Life Updated up until Beta 5 are included. * Fixed hand grenade animations not playing correctly [#209](https://github.com/SamVanheer/halflife-updated/pull/209) (Thanks Toodles2You) * Fixed out of bounds access in studiomodel renderer bone setup code (halflife issue [#3360](https://github.com/ValveSoftware/halflife/issues/3360)) * Fixed mouse cursor being invisible in VGUI1 menus when raw input is enabled [#211](https://github.com/SamVanheer/halflife-updated/issues/211) (Thanks RykahKnight) -* Removed now unnecessary workaround to stop mouse movement on the pause menu from changing in-game angles when unpausing +* Mouse movement in the main menu no longer affects in-game view angles when not using raw input * Fixed RPG being flagged as unusable while a rocket is loaded [#213](https://github.com/SamVanheer/halflife-updated/pull/213) (Thanks Toodles2You) * Have clients select weapons by ID, rather than by name [#217](https://github.com/SamVanheer/halflife-updated/pull/217) (Thanks Toodles2You) * Copy delta.lst when building client or server to ensure mods have correct delta.lst file (Thanks P38TaKjYzY) +* Reset current history icon slot when resetting item history HUD [#223](https://github.com/SamVanheer/halflife-updated/issues/223) (Thanks malortie) +* Fixed Gauss gun dealing full damage when saving and loading right after starting a charged shot (Thanks Oxofemple.) +* Prevent breakables from spawning multiple items when destroyed by gunfire and explosives at the same time (Thanks Oxofemple.) ### Features diff --git a/cl_dll/ammohistory.h b/cl_dll/ammohistory.h index 7325e28..3e89d1a 100644 --- a/cl_dll/ammohistory.h +++ b/cl_dll/ammohistory.h @@ -126,6 +126,7 @@ class HistoryResource void Reset() { memset(rgAmmoHistory, 0, sizeof rgAmmoHistory); + iCurrentHistorySlot = 0; } int iHistoryGap; diff --git a/cl_dll/inputw32.cpp b/cl_dll/inputw32.cpp index 6b4e3a1..fe01761 100644 --- a/cl_dll/inputw32.cpp +++ b/cl_dll/inputw32.cpp @@ -31,6 +31,8 @@ #include #include +void IN_ResetMouse(); + #define MOUSE_BUTTON_COUNT 5 // Set this to 1 to show mouse cursor. Experimental @@ -276,6 +278,9 @@ void DLLEXPORT IN_ActivateMouse() { IN_SetMouseRelative(true); } + + // Clear out accumulated mouse input from main menu movement. + IN_ResetMouse(); } diff --git a/dlls/func_break.cpp b/dlls/func_break.cpp index cfd192b..598961d 100644 --- a/dlls/func_break.cpp +++ b/dlls/func_break.cpp @@ -593,6 +593,12 @@ bool CBreakable::TakeDamage(entvars_t* pevInflictor, entvars_t* pevAttacker, flo void CBreakable::Die() { + // Don't allow explosives to damage this again to prevent spawning multiple copies of items and gibs. + if (pev->solid == SOLID_NOT) + { + return; + } + Vector vecSpot; // shard origin Vector vecVelocity; // shard velocity CBaseEntity* pEntity = NULL; diff --git a/dlls/player.cpp b/dlls/player.cpp index cc5788d..3716257 100644 --- a/dlls/player.cpp +++ b/dlls/player.cpp @@ -116,6 +116,8 @@ TYPEDESCRIPTION CBasePlayer::m_playerSaveData[] = //DEFINE_FIELD(CBasePlayer, m_SndLast, FIELD_EHANDLE), //DEFINE_FIELD(CBasePlayer, m_flSndRange, FIELD_FLOAT), + DEFINE_FIELD(CBasePlayer, m_flStartCharge, FIELD_TIME), + //DEFINE_FIELD( CBasePlayer, m_fDeadTime, FIELD_FLOAT ), // only used in multiplayer games //DEFINE_FIELD( CBasePlayer, m_fGameHUDInitialized, FIELD_INTEGER ), // only used in multiplayer games //DEFINE_FIELD( CBasePlayer, m_flStopExtraSoundTime, FIELD_TIME ),