From 2857986cc7124106dbbf63adabff66e88bbeef43 Mon Sep 17 00:00:00 2001 From: s1lentq Date: Wed, 8 Nov 2023 21:08:10 +0700 Subject: [PATCH] Reworked cvar mp_deathmsg_flags (use flags instead of bitsums) --- README.md | 2 +- dist/game.cfg | 12 ++++++------ regamedll/dlls/game.cpp | 2 +- regamedll/dlls/multiplay_gamerules.cpp | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 2cbc6f3b..2785c08e 100644 --- a/README.md +++ b/README.md @@ -111,7 +111,7 @@ This means that plugins that do binary code analysis (Orpheu for example) probab | mp_hostages_rescued_ratio | 1.0 | 0.0 | 1.0 | Ratio of hostages rescued to win the round. | | mp_legacy_vehicle_block | 1 | 0 | 1 | Legacy func_vehicle behavior when blocked by another entity.
`0` New behavior
`1` Legacy behavior | | mp_dying_time | 3.0 | 0.0 | - | Time for switch to free observing after death.
`0` - disable spectating around death.
`>0.00001` - time delay to start spectate.
`NOTE`: The countdown starts when the player’s death animation is finished. | -| mp_deathmsg_flags | 7 | 0 | 7 | Sets a bitsum for extra information in the player's death message.
`0` disabled
`1` position where the victim died
`2` index of the assistant who helped the attacker kill the victim
`4` rarity classification bits, e.g., `blinkill`, `noscope`, `penetrated`, etc. | +| mp_deathmsg_flags | abc | 0 | - | Sets a flags for extra information in the player's death message.
`0` disabled
`a` position where the victim died
`b` index of the assistant who helped the attacker kill the victim
`c` rarity classification bits, e.g., `blinkill`, `noscope`, `penetrated`, etc. | | mp_assist_damage_threshold | 40 | 0 | 100 | Sets the percentage of damage needed to score an assist. | diff --git a/dist/game.cfg b/dist/game.cfg index ce0b3fc7..8f0b9d47 100644 --- a/dist/game.cfg +++ b/dist/game.cfg @@ -538,16 +538,16 @@ mp_legacy_vehicle_block "1" // Default value: "3.0" mp_dying_time "3.0" -// Sets a bitsum for extra information in the player's death message +// Sets a flags for extra information in the player's death message // -// 1 Position where the victim died -// 2 Index of the assistant who helped the attacker kill the victim -// 4 Rarity classification bits, e.g., blinkill, noscope, penetrated, etc +// a - Position where the victim died +// b - Index of the assistant who helped the attacker kill the victim +// c - Rarity classification bits, e.g., blinkill, noscope, penetrated, etc // // Set to "0" to send no extra information about death // -// Default value: "7" -mp_deathmsg_flags "7" +// Default value: "abc" +mp_deathmsg_flags "abc" // Sets the percentage of damage needed to score an assist // diff --git a/regamedll/dlls/game.cpp b/regamedll/dlls/game.cpp index a9e37a8b..0e792e09 100644 --- a/regamedll/dlls/game.cpp +++ b/regamedll/dlls/game.cpp @@ -166,7 +166,7 @@ cvar_t sv_autobunnyhopping = { "sv_autobunnyhopping", "0", 0, 0.0f cvar_t sv_enablebunnyhopping = { "sv_enablebunnyhopping", "0", 0, 0.0f, nullptr }; cvar_t plant_c4_anywhere = { "mp_plant_c4_anywhere", "0", 0, 0.0f, nullptr }; cvar_t give_c4_frags = { "mp_give_c4_frags", "3", 0, 3.0f, nullptr }; -cvar_t deathmsg_flags = { "mp_deathmsg_flags", "7", 0, 7.0f, nullptr }; +cvar_t deathmsg_flags = { "mp_deathmsg_flags", "abc", 0, 0.0f, nullptr }; cvar_t assist_damage_threshold = { "mp_assist_damage_threshold", "40", 0, 40.0f, nullptr }; cvar_t hostages_rescued_ratio = { "mp_hostages_rescued_ratio", "1.0", 0, 1.0f, nullptr }; diff --git a/regamedll/dlls/multiplay_gamerules.cpp b/regamedll/dlls/multiplay_gamerules.cpp index becd1bf9..58116bd9 100644 --- a/regamedll/dlls/multiplay_gamerules.cpp +++ b/regamedll/dlls/multiplay_gamerules.cpp @@ -5340,7 +5340,7 @@ void EXT_FUNC CHalfLifeMultiplay::__API_HOOK(SendDeathMessage)(CBaseEntity *pKil WRITE_STRING(killerWeaponName); // what they were killed by (should this be a string?) #ifdef REGAMEDLL_ADD - iDeathMessageFlags &= (int)deathmsg_flags.value; // leave only allowed bitsums for extra info + iDeathMessageFlags &= UTIL_ReadFlags(deathmsg_flags.string); // leave only allowed bitsums for extra info // Send the victim's death position only // 1. if it is not a free for all mode