diff --git a/Amalgam/src/Features/Players/PlayerUtils.cpp b/Amalgam/src/Features/Players/PlayerUtils.cpp index fbe5f32f..2c075e48 100644 --- a/Amalgam/src/Features/Players/PlayerUtils.cpp +++ b/Amalgam/src/Features/Players/PlayerUtils.cpp @@ -11,6 +11,19 @@ uint32_t CPlayerlistUtils::GetAccountID(int iIndex) return 0; } +int CPlayerlistUtils::GetIndex(uint32_t uAccountID) +{ + auto pResource = H::Entities.GetResource(); + if (!pResource) + return 0; + for (int n = 1; n <= I::EngineClient->GetMaxClients(); n++) + { + if (pResource->m_bValid(n) && !pResource->IsFakePlayer(n) && pResource->m_iAccountID(n) == uAccountID) + return n; + } + return 0; +} + PriorityLabel_t* CPlayerlistUtils::GetTag(int iID) { if (iID > -1 && iID < m_vTags.size()) @@ -304,51 +317,110 @@ bool CPlayerlistUtils::IsPrioritized(int iIndex) return IsPrioritized(GetAccountID(iIndex)); } -const char* CPlayerlistUtils::GetPlayerName(int iIndex, const char* sDefault, int* pType) + + +int CPlayerlistUtils::GetNameType(int iIndex) { if (Vars::Visuals::UI::StreamerMode.Value) { if (iIndex == I::EngineClient->GetLocalPlayer()) { if (Vars::Visuals::UI::StreamerMode.Value >= Vars::Visuals::UI::StreamerModeEnum::Local) - { - if (pType) *pType = 1; - return "Local"; - } + return NameTypeEnum::Local; } else if (H::Entities.IsFriend(iIndex)) { if (Vars::Visuals::UI::StreamerMode.Value >= Vars::Visuals::UI::StreamerModeEnum::Friends) - { - if (pType) *pType = 1; - return "Friend"; - } + return NameTypeEnum::Friend; } else if (H::Entities.InParty(iIndex)) { if (Vars::Visuals::UI::StreamerMode.Value >= Vars::Visuals::UI::StreamerModeEnum::Party) - { - if (pType) *pType = 1; - return "Party"; - } + return NameTypeEnum::Party; } else if (Vars::Visuals::UI::StreamerMode.Value >= Vars::Visuals::UI::StreamerModeEnum::All) - { - if (pType) *pType = 1; - if (auto pTag = GetSignificantTag(iIndex, 0)) - return pTag->m_sName.c_str(); - else if (auto pResource = H::Entities.GetResource(); pResource && pResource->m_bValid(iIndex)) - return pResource->m_iTeam(I::EngineClient->GetLocalPlayer()) != pResource->m_iTeam(iIndex) ? "Enemy" : "Teammate"; - return "Player"; - } + return NameTypeEnum::Player; } - if (const uint32_t uAccountID = GetAccountID(iIndex)) + if (const uint32_t uAccountID = GetAccountID(iIndex); uAccountID && GetPlayerAlias(uAccountID)) + return NameTypeEnum::Custom; + return NameTypeEnum::None; +} + +int CPlayerlistUtils::GetNameType(uint32_t uAccountID) +{ + if (Vars::Visuals::UI::StreamerMode.Value) { - if (auto sAlias = GetPlayerAlias(uAccountID)) + if (uAccountID == I::SteamUser->GetSteamID().GetAccountID()) { - if (pType) *pType = 2; - return sAlias->c_str(); + if (Vars::Visuals::UI::StreamerMode.Value >= Vars::Visuals::UI::StreamerModeEnum::Local) + return NameTypeEnum::Local; } + else if (H::Entities.IsFriend(uAccountID)) + { + if (Vars::Visuals::UI::StreamerMode.Value >= Vars::Visuals::UI::StreamerModeEnum::Friends) + return NameTypeEnum::Friend; + } + else if (H::Entities.InParty(uAccountID)) + { + if (Vars::Visuals::UI::StreamerMode.Value >= Vars::Visuals::UI::StreamerModeEnum::Party) + return NameTypeEnum::Party; + } + else if (Vars::Visuals::UI::StreamerMode.Value >= Vars::Visuals::UI::StreamerModeEnum::All) + return NameTypeEnum::Player; + } + if (GetPlayerAlias(uAccountID)) + return NameTypeEnum::Custom; + return NameTypeEnum::None; +} + +const char* CPlayerlistUtils::GetPlayerName(int iIndex, const char* sDefault, int* pType) +{ + int iType = GetNameType(iIndex); + if (pType) *pType = iType; + + switch (iType) + { + case NameTypeEnum::Local: + return "Local"; + case NameTypeEnum::Friend: + return "Friend"; + case NameTypeEnum::Party: + return "Party"; + case NameTypeEnum::Player: + if (auto pTag = GetSignificantTag(iIndex, 0)) + return pTag->m_sName.c_str(); + else if (auto pResource = H::Entities.GetResource(); pResource && pResource->m_bValid(iIndex)) + return pResource->m_iTeam(I::EngineClient->GetLocalPlayer()) != pResource->m_iTeam(iIndex) ? "Enemy" : "Teammate"; + return "Player"; + case NameTypeEnum::Custom: + if (auto sAlias = GetPlayerAlias(GetAccountID(iIndex))) + return sAlias->c_str(); + } + return sDefault; +} + +const char* CPlayerlistUtils::GetPlayerName(uint32_t uAccountID, const char* sDefault, int* pType) +{ + int iType = GetNameType(uAccountID); + if (pType) *pType = iType; + + switch (iType) + { + case NameTypeEnum::Local: + return "Local"; + case NameTypeEnum::Friend: + return "Friend"; + case NameTypeEnum::Party: + return "Party"; + case NameTypeEnum::Player: + if (auto pTag = GetSignificantTag(uAccountID, 0)) + return pTag->m_sName.c_str(); + else if (auto pResource = H::Entities.GetResource(); (iType = GetIndex(uAccountID)) && pResource && pResource->m_bValid(iType)) + return pResource->m_iTeam(I::EngineClient->GetLocalPlayer()) != pResource->m_iTeam(iType) ? "Enemy" : "Teammate"; + return "Player"; + case NameTypeEnum::Custom: + if (auto sAlias = GetPlayerAlias(uAccountID)) + return sAlias->c_str(); } return sDefault; } diff --git a/Amalgam/src/Features/Players/PlayerUtils.h b/Amalgam/src/Features/Players/PlayerUtils.h index 4305ddbd..f52fb1ce 100644 --- a/Amalgam/src/Features/Players/PlayerUtils.h +++ b/Amalgam/src/Features/Players/PlayerUtils.h @@ -37,6 +37,8 @@ struct PriorityLabel_t bool m_bLocked = false; // don't allow it to be removed }; +Enum(NameType, None = 0, Local = 1 << 0, Friend = 1 << 1, Party = 1 << 2, Player = 1 << 3, Custom = 1 << 4, Privacy = Local | Friend | Party | Player); + class CPlayerlistUtils { public: @@ -67,6 +69,8 @@ public: void Store(); uint32_t GetAccountID(int iIndex); + int GetIndex(uint32_t uAccountID); + PriorityLabel_t* GetTag(int iID); int GetTag(const std::string& sTag); inline int TagToIndex(int iTag) @@ -112,7 +116,10 @@ public: bool IsPrioritized(uint32_t uAccountID); bool IsPrioritized(int iIndex); + int GetNameType(int iIndex); + int GetNameType(uint32_t uAccountID); const char* GetPlayerName(int iIndex, const char* sDefault, int* pType = nullptr); + const char* GetPlayerName(uint32_t uAccountID, const char* sDefault, int* pType = nullptr); std::vector& GetPlayerTags(uint32_t uAccountID) { return m_mPlayerTags.contains(uAccountID) ? m_mPlayerTags[uAccountID] : m_vDummy; } std::string* GetPlayerAlias(uint32_t uAccountID) { return m_mPlayerAliases.contains(uAccountID) ? &m_mPlayerAliases[uAccountID] : nullptr; } diff --git a/Amalgam/src/Hooks/CBaseHudChatLine_InsertAndColorizeText.cpp b/Amalgam/src/Hooks/CBaseHudChatLine_InsertAndColorizeText.cpp index 7145b385..e9a23f77 100644 --- a/Amalgam/src/Hooks/CBaseHudChatLine_InsertAndColorizeText.cpp +++ b/Amalgam/src/Hooks/CBaseHudChatLine_InsertAndColorizeText.cpp @@ -23,7 +23,7 @@ MAKE_HOOK(CBaseHudChatLine_InsertAndColorizeText, S::CBaseHudChatLine_InsertAndC const char* sName = pResource->GetName(clientIndex); auto iFind = sMessage.find(sName); - int iType = 0; + int iType; if (const char* sReplace = F::PlayerUtils.GetPlayerName(clientIndex, nullptr, &iType)) { if (iFind != std::string::npos) @@ -31,7 +31,7 @@ MAKE_HOOK(CBaseHudChatLine_InsertAndColorizeText, S::CBaseHudChatLine_InsertAndC sName = sReplace; } - if (Vars::Visuals::UI::ChatTags.Value && iType != 1) + if (Vars::Visuals::UI::ChatTags.Value && !(iType & NameTypeEnum::Privacy)) { std::string sTag, cColor; if (Vars::Visuals::UI::ChatTags.Value & Vars::Visuals::UI::ChatTagsEnum::Local && clientIndex == I::EngineClient->GetLocalPlayer()) @@ -60,12 +60,16 @@ MAKE_HOOK(CBaseHudChatLine_InsertAndColorizeText, S::CBaseHudChatLine_InsertAndC if (auto pResource = H::Entities.GetResource()) { std::vector> vReplace; - for (auto& pEntity : H::Entities.GetGroup(EntityEnum::PlayerAll)) + for (int n = 1; n <= I::EngineClient->GetMaxClients(); n++) { - int iIndex = pEntity->entindex(); - int iType = 0; const char* sReplace = F::PlayerUtils.GetPlayerName(iIndex, nullptr, &iType); - if (sReplace && iType == 1) - vReplace.emplace_back(pResource->GetName(iIndex), sReplace); + if (!pResource->m_bValid(n)) + continue; + + int iType; const char* sReplace = F::PlayerUtils.GetPlayerName(n, nullptr, &iType); + if (!sReplace || !(iType & NameTypeEnum::Privacy)) + continue; + + vReplace.emplace_back(pResource->GetName(n), sReplace); } for (auto& [sFind, sReplace] : vReplace) { diff --git a/Amalgam/src/Hooks/CBasePlayer_CalcViewModelView.cpp b/Amalgam/src/Hooks/CBasePlayer_CalcViewModelView.cpp index f2777286..85b13b10 100644 --- a/Amalgam/src/Hooks/CBasePlayer_CalcViewModelView.cpp +++ b/Amalgam/src/Hooks/CBasePlayer_CalcViewModelView.cpp @@ -3,7 +3,7 @@ MAKE_SIGNATURE(CBasePlayer_CalcViewModelView, "client.dll", "48 89 74 24 ? 55 41 56 41 57 48 8D AC 24", 0x0); MAKE_HOOK(CBasePlayer_CalcViewModelView, S::CBasePlayer_CalcViewModelView(), void, - void* rcx, CBaseEntity* pOwner, Vec3& vEyePosition, Vec3& vEyeAngles) + void* rcx, CBaseEntity* pOwner, /*const*/ Vec3& vEyePosition, Vec3& vEyeAngles) { #ifdef DEBUG_HOOKS if (!Vars::Hooks::CBasePlayer_CalcViewModelView[DEFAULT_BIND]) diff --git a/Amalgam/src/Hooks/CTFBadgePanel_SetupBadge.cpp b/Amalgam/src/Hooks/CTFBadgePanel_SetupBadge.cpp index 49a4fcba..f37b8ea0 100644 --- a/Amalgam/src/Hooks/CTFBadgePanel_SetupBadge.cpp +++ b/Amalgam/src/Hooks/CTFBadgePanel_SetupBadge.cpp @@ -1,5 +1,7 @@ #include "../SDK/SDK.h" +#include "../Features/Players/PlayerUtils.h" + MAKE_SIGNATURE(CTFBadgePanel_SetupBadge, "client.dll", "48 85 D2 0F 84 ? ? ? ? 48 89 5C 24 ? 48 89 7C 24 ? 4C 89 74 24", 0x0); MAKE_SIGNATURE(CModelImagePanel_InvalidateImage, "client.dll", "40 53 48 83 EC ? 48 8B D9 48 8B 89 ? ? ? ? 48 85 C9 74 ? 48 8B 01 FF 50 ? 48 C7 83 ? ? ? ? ? ? ? ? 48 8B 8B", 0x0); MAKE_SIGNATURE(vgui_Panel_GetBounds, "client.dll", "48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 57 41 56 41 57 48 83 EC ? 48 8B 1D ? ? ? ? 4D 8B F9", 0x0); @@ -17,21 +19,15 @@ MAKE_HOOK(CTFBadgePanel_SetupBadge, S::CTFBadgePanel_SetupBadge(), void, if (!Vars::Visuals::UI::StreamerMode.Value) return CALL_ORIGINAL(rcx, pMatchDesc, levelInfo, steamID); - auto pResource = H::Entities.GetResource(); - if (!pResource) - return CALL_ORIGINAL(rcx, pMatchDesc, levelInfo, steamID); - - uint32_t uAccountID = steamID.GetAccountID(); - // probably only need to worry about local, friends, a/o party - bool bShouldHide = false; - if (pResource->m_iAccountID(I::EngineClient->GetLocalPlayer()) == uAccountID) - bShouldHide = Vars::Visuals::UI::StreamerMode.Value >= Vars::Visuals::UI::StreamerModeEnum::Local; - else if (H::Entities.IsFriend(uAccountID)) - bShouldHide = Vars::Visuals::UI::StreamerMode.Value >= Vars::Visuals::UI::StreamerModeEnum::Friends; - else if (H::Entities.InParty(uAccountID)) - bShouldHide = Vars::Visuals::UI::StreamerMode.Value >= Vars::Visuals::UI::StreamerModeEnum::Party; - if (!bShouldHide) + switch (F::PlayerUtils.GetNameType(steamID.GetAccountID())) + { // probably only need to worry about local, friends, a/o party + case NameTypeEnum::Local: + case NameTypeEnum::Friend: + case NameTypeEnum::Party: + break; + default: return CALL_ORIGINAL(rcx, pMatchDesc, levelInfo, steamID); + } int nOldLevelNum = levelInfo.m_nLevelNum; levelInfo.m_nLevelNum = 1; diff --git a/Amalgam/src/Hooks/CTFClientScoreBoardDialog_UpdatePlayerAvatar.cpp b/Amalgam/src/Hooks/CTFClientScoreBoardDialog_UpdatePlayerAvatar.cpp index 1db91dce..f5265f52 100644 --- a/Amalgam/src/Hooks/CTFClientScoreBoardDialog_UpdatePlayerAvatar.cpp +++ b/Amalgam/src/Hooks/CTFClientScoreBoardDialog_UpdatePlayerAvatar.cpp @@ -2,7 +2,8 @@ #include "../Features/Players/PlayerUtils.h" -// are all of these even used? (i.e. CTFHudMatchStatus_UpdatePlayerAvatar) +MAKE_SIGNATURE(CAvatarImage_SetAvatarSteamID, "client.dll", "48 89 5C 24 ? 48 89 74 24 ? 57 48 83 EC ? 66 C7 41", 0x0); +MAKE_SIGNATURE(CAvatarImagePanel_SetPlayer, "client.dll", "48 89 5C 24 ? 48 89 74 24 ? 57 48 83 EC ? 48 8B F9 33 F6 48 8B 89 ? ? ? ? 48 8B DA", 0x0); MAKE_SIGNATURE(CTFClientScoreBoardDialog_UpdatePlayerAvatar, "client.dll", "4D 85 C0 0F 84 ? ? ? ? 53 41 54 41 57", 0x0); MAKE_SIGNATURE(CTFMatchSummary_UpdatePlayerAvatar, "client.dll", "40 55 41 57 48 83 EC ? 48 8B E9 4D 8B F8", 0x0); MAKE_SIGNATURE(CTFHudMannVsMachineScoreboard_UpdatePlayerAvatar, "client.dll", "4D 85 C0 0F 84 ? ? ? ? 55 41 57 48 81 EC ? ? ? ? 48 8B 05 ? ? ? ? 4D 8B F8 48 8B E9 48 83 78 ? ? 0F 84 ? ? ? ? 48 83 78 ? ? 0F 84 ? ? ? ? 48 8B 0D ? ? ? ? 4C 8D 44 24 ? 48 8B 01 FF 50 ? 84 C0 0F 84 ? ? ? ? 83 7C 24 ? ? 0F 84 ? ? ? ? 48 89 9C 24 ? ? ? ? 48 89 B4 24 ? ? ? ? 48 89 BC 24 ? ? ? ? 4C 89 A4 24 ? ? ? ? 4C 89 B4 24 ? ? ? ? E8 ? ? ? ? 8B 4C 24 ? 48 8D B5 ? ? ? ? 0F B7 7E ? 41 BC ? ? ? ? 88 84 24 ? ? ? ? 8B 84 24 ? ? ? ? 25 ? ? ? ? 89 8C 24 ? ? ? ? 0D ? ? ? ? 89 84 24 ? ? ? ? 48 8B 9C 24 ? ? ? ? 48 89 5C 24 ? 66 41 3B FC 74 ? 66 66 0F 1F 84 00 ? ? ? ? 48 8B 56 ? 0F B7 C7 48 83 C2 ? 48 8D 0C 80 4C 8D 34 8D ? ? ? ? 49 03 D6 48 8D 4C 24 ? FF 16 84 C0 74 ? 66 41 3B FC 74 ? 48 8B 7E ? 41 0F B7 3C 3E EB ? 48 8B 4E ? 48 8D 54 24 ? 48 83 C1 ? 49 03 CE FF 16 84 C0 74 ? 66 41 3B FC 74 ? 48 8B 7E ? 42 0F B7 7C 37 ? 66 41 3B FC 75 ? 66 41 3B FC 75 ? B9 ? ? ? ? E8 ? ? ? ? 48 85 C0 74 ? 48 8B C8 E8 ? ? ? ? 48 8B F8 EB ? 33 FF 45 33 C0 48 8B D3 48 8B CF E8 ? ? ? ? BA ? ? ? ? 48 8B CF 44 8B C2 E8 ? ? ? ? C6 47", 0x0); @@ -10,6 +11,13 @@ MAKE_SIGNATURE(CTFHudMatchStatus_UpdatePlayerAvatar, "client.dll", "4D 85 C0 0F MAKE_SIGNATURE(SectionedListPanel_SetItemFgColor, "client.dll", "40 53 48 83 EC ? 48 8B D9 3B 91 ? ? ? ? 73 ? 3B 91 ? ? ? ? 7F ? 48 8B 89 ? ? ? ? 48 89 7C 24 ? 8B FA 48 03 FF 39 54 F9 ? 75 ? 39 54 F9 ? 75 ? 48 8B 0C F9 41 8B D0 48 8B 01 FF 90 ? ? ? ? 48 8B 83 ? ? ? ? B2 ? 48 8B 0C F8 48 8B 01 FF 90 ? ? ? ? 48 8B 83 ? ? ? ? 45 33 C0", 0x0); MAKE_SIGNATURE(CTFClientScoreBoardDialog_UpdatePlayerList_SetItemFgColor_Call, "client.dll", "49 8B 04 24 8B D5 C7 44 24", 0x0); +enum EAvatarSize +{ + k_EAvatarSize32x32 = 0, + k_EAvatarSize64x64 = 1, + k_EAvatarSize184x184 = 2, +}; + static int s_iPlayerIndex; static inline Color_t GetScoreboardColor(int iIndex) @@ -28,6 +36,22 @@ static inline Color_t GetScoreboardColor(int iIndex) return out; } +MAKE_HOOK(CAvatarImage_SetAvatarSteamID, S::CAvatarImage_SetAvatarSteamID(), bool, + void* rcx, CSteamID steamIDUser, EAvatarSize avatarSize) +{ + if (!(F::PlayerUtils.GetNameType(steamIDUser.GetAccountID()) & NameTypeEnum::Privacy)) + return CALL_ORIGINAL(rcx, steamIDUser, avatarSize); + return CALL_ORIGINAL(rcx, CSteamID(), avatarSize); +} + +MAKE_HOOK(CAvatarImagePanel_SetPlayer, S::CAvatarImagePanel_SetPlayer(), void, + void* rcx, CSteamID steamIDForPlayer, EAvatarSize avatarSize) +{ + if (!(F::PlayerUtils.GetNameType(steamIDForPlayer.GetAccountID()) & NameTypeEnum::Privacy)) + return CALL_ORIGINAL(rcx, steamIDForPlayer, avatarSize); + CALL_ORIGINAL(rcx, CSteamID(), avatarSize); +} + MAKE_HOOK(CTFClientScoreBoardDialog_UpdatePlayerAvatar, S::CTFClientScoreBoardDialog_UpdatePlayerAvatar(), void, void* rcx, int playerIndex, KeyValues* kv) { @@ -38,8 +62,7 @@ MAKE_HOOK(CTFClientScoreBoardDialog_UpdatePlayerAvatar, S::CTFClientScoreBoardDi s_iPlayerIndex = playerIndex; - int iType = 0; F::PlayerUtils.GetPlayerName(playerIndex, nullptr, &iType); - if (iType != 1) + if (!(F::PlayerUtils.GetNameType(playerIndex) & NameTypeEnum::Privacy)) CALL_ORIGINAL(rcx, playerIndex, kv); } @@ -51,8 +74,7 @@ MAKE_HOOK(CTFMatchSummary_UpdatePlayerAvatar, S::CTFMatchSummary_UpdatePlayerAva return CALL_ORIGINAL(rcx, playerIndex, kv); #endif - int iType = 0; F::PlayerUtils.GetPlayerName(playerIndex, nullptr, &iType); - if (iType != 1) + if (!(F::PlayerUtils.GetNameType(playerIndex) & NameTypeEnum::Privacy)) CALL_ORIGINAL(rcx, playerIndex, kv); } @@ -64,8 +86,7 @@ MAKE_HOOK(CTFHudMannVsMachineScoreboard_UpdatePlayerAvatar, S::CTFHudMannVsMachi return CALL_ORIGINAL(rcx, playerIndex, kv); #endif - int iType = 0; F::PlayerUtils.GetPlayerName(playerIndex, nullptr, &iType); - if (iType != 1) + if (!(F::PlayerUtils.GetNameType(playerIndex) & NameTypeEnum::Privacy)) CALL_ORIGINAL(rcx, playerIndex, kv); } @@ -77,8 +98,7 @@ MAKE_HOOK(CTFHudMatchStatus_UpdatePlayerAvatar, S::CTFHudMatchStatus_UpdatePlaye return CALL_ORIGINAL(rcx, playerIndex, kv); #endif - int iType = 0; F::PlayerUtils.GetPlayerName(playerIndex, nullptr, &iType); - if (iType != 1) + if (!(F::PlayerUtils.GetNameType(playerIndex) & NameTypeEnum::Privacy)) CALL_ORIGINAL(rcx, playerIndex, kv); } diff --git a/Amalgam/src/Hooks/ISteamFriends_GetFriendPersonaName.cpp b/Amalgam/src/Hooks/ISteamFriends_GetFriendPersonaName.cpp index 168f6207..d8605362 100644 --- a/Amalgam/src/Hooks/ISteamFriends_GetFriendPersonaName.cpp +++ b/Amalgam/src/Hooks/ISteamFriends_GetFriendPersonaName.cpp @@ -17,20 +17,11 @@ MAKE_HOOK(ISteamFriends_GetFriendPersonaName, U::Memory.GetVirtual(I::SteamFrien if (Vars::Visuals::UI::StreamerMode.Value && dwRetAddr == dwDesired) { - if (I::SteamUser->GetSteamID() == steamIDFriend) + switch (F::PlayerUtils.GetNameType(steamIDFriend.GetAccountID())) { - if (Vars::Visuals::UI::StreamerMode.Value >= Vars::Visuals::UI::StreamerModeEnum::Local) - return "Local"; - } - else if (I::SteamFriends->HasFriend(steamIDFriend, k_EFriendFlagImmediate)) - { - if (Vars::Visuals::UI::StreamerMode.Value >= Vars::Visuals::UI::StreamerModeEnum::Friends) - return "Friend"; - } - else - { - if (Vars::Visuals::UI::StreamerMode.Value >= Vars::Visuals::UI::StreamerModeEnum::Party) - return "Party"; + case NameTypeEnum::Local: return "Local"; + case NameTypeEnum::Friend: return "Friend"; + case NameTypeEnum::Party: return "Party"; } } diff --git a/Amalgam/src/Hooks/bf_read_ReadString.cpp b/Amalgam/src/Hooks/bf_read_ReadString.cpp index 48fc537f..d2c6b449 100644 --- a/Amalgam/src/Hooks/bf_read_ReadString.cpp +++ b/Amalgam/src/Hooks/bf_read_ReadString.cpp @@ -28,8 +28,8 @@ MAKE_HOOK(bf_read_ReadString, S::bf_read_ReadString(), bool, if (!iTarget) return bReturn; - int iType = 0; const char* sName = F::PlayerUtils.GetPlayerName(iTarget, nullptr, &iType); - if (iType == 0) + int iType; const char* sName = F::PlayerUtils.GetPlayerName(iTarget, nullptr, &iType); + if (iType == NameTypeEnum::None) return bReturn; int iChar = 0; diff --git a/Amalgam/src/SDK/Helpers/Entities/Entities.cpp b/Amalgam/src/SDK/Helpers/Entities/Entities.cpp index 9f48d5f5..808584fc 100644 --- a/Amalgam/src/SDK/Helpers/Entities/Entities.cpp +++ b/Amalgam/src/SDK/Helpers/Entities/Entities.cpp @@ -196,8 +196,8 @@ void CEntities::Store() int iMembers = pParty->GetNumMembers(); for (int i = 0; i < iMembers; i++) { - auto cSteamID = CSteamID(); pParty->GetMember(&cSteamID, i); - auto uAccountID = cSteamID.GetAccountID(); + auto tSteamID = CSteamID(); pParty->GetMember(&tSteamID, i); + auto uAccountID = tSteamID.GetAccountID(); mParties[uAccountID] = 1; } }