From 60b6cf91607c355295fc83069772c9f22a023d37 Mon Sep 17 00:00:00 2001 From: s1lent Date: Mon, 29 Jan 2018 00:21:36 +0700 Subject: [PATCH] Move sv_alltalk 1.0 to CanPlayerHearPlayer --- regamedll/dlls/multiplay_gamerules.cpp | 8 +++++--- regamedll/game_shared/voice_gamemgr.cpp | 15 ++++++--------- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/regamedll/dlls/multiplay_gamerules.cpp b/regamedll/dlls/multiplay_gamerules.cpp index ecb94ee1..865facf3 100644 --- a/regamedll/dlls/multiplay_gamerules.cpp +++ b/regamedll/dlls/multiplay_gamerules.cpp @@ -89,19 +89,21 @@ LINK_HOOK_CLASS_CUSTOM_CHAIN(bool, CCStrikeGameMgrHelper, CSGameRules, CanPlayer bool CCStrikeGameMgrHelper::__API_HOOK(CanPlayerHearPlayer)(CBasePlayer *pListener, CBasePlayer *pSender) { -#ifdef REGAMEDLL_ADD switch ((int)sv_alltalk.value) { + case 1: // allows everyone to talk + return true; +#ifdef REGAMEDLL_ADD case 2: return (pListener->m_iTeam == pSender->m_iTeam); case 3: return (pListener->m_iTeam == pSender->m_iTeam || pListener->IsObserver()); case 4: return (pListener->IsAlive() == pSender->IsAlive() || pSender->IsAlive()); - default: // HLDS Behavior + default: // Default behavior break; - } #endif + } if ( #ifndef REGAMEDLL_FIXES diff --git a/regamedll/game_shared/voice_gamemgr.cpp b/regamedll/game_shared/voice_gamemgr.cpp index c36451ef..309da626 100644 --- a/regamedll/game_shared/voice_gamemgr.cpp +++ b/regamedll/game_shared/voice_gamemgr.cpp @@ -161,26 +161,23 @@ void CVoiceGameMgr::UpdateMasks() { m_UpdateInterval = 0; - bool bAllTalk = sv_alltalk.value == 1.0f; - for (int iClient = 0; iClient < m_nMaxPlayers; iClient++) { - CBaseEntity *pEnt = UTIL_PlayerByIndex(iClient + 1); + CBasePlayer *pPlayer = UTIL_PlayerByIndex(iClient + 1); - if (!pEnt + if (!pPlayer #ifndef REGAMEDLL_FIXES - || !pEnt->IsPlayer() + || !pPlayer->IsPlayer() #endif ) continue; - CBasePlayer *pPlayer = static_cast(pEnt); CPlayerBitVec gameRulesMask; // Request the state of their "VModEnable" cvar. if (g_bWantModEnable[iClient]) { - MESSAGE_BEGIN(MSG_ONE, m_msgRequestState, nullptr, pEnt->pev); + MESSAGE_BEGIN(MSG_ONE, m_msgRequestState, nullptr, pPlayer->pev); MESSAGE_END(); } @@ -189,8 +186,8 @@ void CVoiceGameMgr::UpdateMasks() // Build a mask of who they can hear based on the game rules. for (int iOtherClient = 0; iOtherClient < m_nMaxPlayers; iOtherClient++) { - CBaseEntity *pEnt = UTIL_PlayerByIndex(iOtherClient + 1); - if (pEnt && (bAllTalk || m_pHelper->CanPlayerHearPlayer(pPlayer, (CBasePlayer *)pEnt))) + CBasePlayer *pSender = UTIL_PlayerByIndex(iOtherClient + 1); + if (pSender && m_pHelper->CanPlayerHearPlayer(pPlayer, pSender)) { gameRulesMask[iOtherClient] = true; }