Skip to content

Commit a788a58

Browse files
committed
Validate CTFPlayerShared::m_ConditionData 1.11 sendprop offset support
1 parent 3ca3558 commit a788a58

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

scripting/tf2utils.sp

+10-2
Original file line numberDiff line numberDiff line change
@@ -276,8 +276,16 @@ public void OnPluginStart() {
276276
"CTFPlayer::m_hMyWearables");
277277
}
278278

279-
// TODO: use FindSendPropInfo("CTFPlayer", "m_ConditionData")
280-
if (offs_CTFPlayerShared_ConditionData <= Address_Null) {
279+
int offs_CTFPlayer_Shared = FindSendPropInfo("CTFPlayer", "m_Shared");
280+
int offs_CTFPlayer_ConditionData = FindSendPropInfo("CTFPlayer", "m_ConditionData");
281+
if (0 < offs_CTFPlayer_Shared < offs_CTFPlayer_ConditionData) {
282+
/**
283+
* This works in 1.11; on 1.10, both properties' offsets point to CTFPlayer::m_Shared
284+
* instead, which is incorrect.
285+
*/
286+
offs_CTFPlayerShared_ConditionData =
287+
view_as<Address>(offs_CTFPlayer_ConditionData - offs_CTFPlayer_Shared);
288+
} else {
281289
offs_CTFPlayerShared_ConditionData = GameConfGetAddressOffset(hGameConf,
282290
"CTFPlayerShared::m_ConditionData");
283291
}

0 commit comments

Comments
 (0)