diff --git a/extensions/tf2/natives.cpp b/extensions/tf2/natives.cpp index bc01de24..076c0b92 100644 --- a/extensions/tf2/natives.cpp +++ b/extensions/tf2/natives.cpp @@ -258,11 +258,14 @@ cell_t TF2_RemoveCondition(IPluginContext *pContext, const cell_t *params) if (!pWrapper) { REGISTER_NATIVE_ADDR("RemoveCondition", - PassInfo pass[1]; \ + PassInfo pass[2]; \ pass[0].flags = PASSFLAG_BYVAL; \ pass[0].size = sizeof(int); \ pass[0].type = PassType_Basic; \ - pWrapper = g_pBinTools->CreateCall(addr, CallConv_ThisCall, NULL, pass, 1)) + pass[1].flags = PASSFLAG_BYVAL; \ + pass[1].size = sizeof(bool); \ + pass[1].type = PassType_Basic; \ + pWrapper = g_pBinTools->CreateCall(addr, CallConv_ThisCall, NULL, pass, 2)) } CBaseEntity *pEntity; @@ -273,12 +276,14 @@ cell_t TF2_RemoveCondition(IPluginContext *pContext, const cell_t *params) void *obj = (void *)((uint8_t *)pEntity + playerSharedOffset->actual_offset); - unsigned char vstk[sizeof(void *) + sizeof(int)]; + unsigned char vstk[sizeof(void *) + sizeof(int) + sizeof(bool)]; unsigned char *vptr = vstk; *(void **)vptr = obj; vptr += sizeof(void *); *(int *)vptr = params[2]; + vptr += sizeof(int); + *(bool *)vptr = false; pWrapper->Execute(vstk, NULL); diff --git a/gamedata/sm-tf2.games.txt b/gamedata/sm-tf2.games.txt index 4a2ad277..1edb45d7 100644 --- a/gamedata/sm-tf2.games.txt +++ b/gamedata/sm-tf2.games.txt @@ -18,21 +18,21 @@ "Burn" { "library" "server" - "windows" "\x56\x8B\xF1\x8B\x8E\x2A\x2A\x00\x00\x8B\x01\x8B\x90\x2A\x2A\x00\x00\xFF\xD2\x84\xC0\x0F\x2A\x2A\x2A\x2A\x2A\x8B\x2A\x2A\x2A\x2A\x2A\x8B\xC8\xC1" + "windows" "\x51\x56\x8B\xF1\x8B\x8E\x2A\x2A\x00\x00\x8B\x01\x8B\x90\x2A\x2A\x00\x00\xFF\xD2\x84\xC0\x0F\x2A\x2A\x2A\x2A\x2A\x57\x8D\xBE\x2A\x2A\x2A\x2A\x6A" "linux" "@_ZN15CTFPlayerShared4BurnEP9CTFPlayerP13CTFWeaponBase" "mac" "@_ZN15CTFPlayerShared4BurnEP9CTFPlayerP13CTFWeaponBase" } "RemoveDisguise" { "library" "server" - "windows" "\x51\x56\x8B\xF1\x8B\x2A\x2A\x2A\x2A\x2A\x57\x8B\x2A\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\x3B\xF8" + "windows" "\x83\xEC\x2A\x53\x56\x8B\xF1\x8B\x8E\x2A\x2A\x2A\x2A\x57\x8B\xBE\x2A\x2A\x2A\x2A\xE8" "linux" "@_ZN15CTFPlayerShared14RemoveDisguiseEv" "mac" "@_ZN15CTFPlayerShared14RemoveDisguiseEv" } "Disguise" { "library" "server" - "windows" "\x56\x8B\xF1\x8B\x8E\x2A\x2A\x00\x00\xE8\x2A\x2A\x2A\x2A\x8B\x8E\x2A\x2A\x00\x00\x8B\x89\x2A\x2A\x00\x00" + "windows" "\x51\x53\x56\x8B\xF1\x8B\x8E\x2A\x2A\x00\x00\xE8\x2A\x2A\x2A\x2A\x8B\xD8\x8B\x86\x2A\x2A\x00\x00\x8B\x80" "linux" "@_ZN15CTFPlayerShared8DisguiseEii" "mac" "@_ZN15CTFPlayerShared8DisguiseEii" } @@ -67,16 +67,16 @@ "AddCondition" { "library" "server" - "windows" "\x56\x57\x8B\x7C\x2A\x2A\x8B\xF1\x8B\xCF\xBA\x01\x00\x00\x00\xD3\xE2\x8D\x86\x2A\x2A\x2A\x2A\x8D\x4C\x2A\x2A\x51\x0B\x10\x8B" + "windows" "\xD9\x44\x2A\x2A\x56\x57\x8B\x7C\x2A\x2A\x8B\xF1\x8B\x86\x2A\x2A\x2A\x00\x50\x51\xD9\x2A\x2A\x57" "linux" "@_ZN15CTFPlayerShared7AddCondEif" "mac" "@_ZN15CTFPlayerShared7AddCondEif" } "RemoveCondition" { "library" "server" - "windows" "\x56\x57\x8B\x7C\x2A\x2A\x8B\xF1\x8B\xCF\xBA\x01\x00\x00\x00\xD3\xE2\x8D\x86\x2A\x2A\x2A\x2A\x8D\x4C\x2A\x2A\x51\xF7\xD2\x23" - "linux" "@_ZN15CTFPlayerShared10RemoveCondEi" - "mac" "@_ZN15CTFPlayerShared10RemoveCondEi" + "windows" "\x8B\x44\x2A\x2A\x56\x57\x8B\x7C\x2A\x2A\x8B\xF1\x50\x57\x8D\x8E\x2A\x2A\x2A\x2A\xE8" + "linux" "@_ZN15CTFPlayerShared10RemoveCondEib" + "mac" "@_ZN15CTFPlayerShared10RemoveCondEib" } "SetPowerplayEnabled" { @@ -88,7 +88,7 @@ "StunPlayer" { "library" "server" - "windows" "\x51\xD9\x2A\x2A\x2A\x2A\x2A\x56\x83\xEC\x2A\xD9\x2A\x2A\x2A\x8B\xF1\xD9\xEE\xD9\x2A\x2A\x2A\xD9\xE8" + "windows" "\x51\xD9\x2A\x2A\x2A\x2A\x2A\x56\x57\x83\xEC\x2A\xD9\x2A\x2A\x2A\x8B\xF1\xD9\xEE\xD9\x2A\x2A\x2A\xD9\xE8\xD9" "linux" "@_ZN15CTFPlayerShared10StunPlayerEffiP9CTFPlayer" "mac" "@_ZN15CTFPlayerShared10StunPlayerEffiP9CTFPlayer" } @@ -102,7 +102,7 @@ "MakeBleed" { "library" "server" - "windows" "\x56\x8B\xF1\x8B\x8E\x2A\x2A\x2A\x2A\x8B\x2A\x8B\x90\x2A\x2A\x2A\x2A\xFF\xD2\x84\xC0\x0F\x2A\x2A\x2A\x2A\x2A\x8B\x86\x2A\x2A\x2A\x2A\xC1" + "windows" "\x51\x56\x8B\xF1\x8B\x8E\x2A\x2A\x2A\x2A\x8B\x01\x8B\x90\x2A\x2A\x2A\x2A\xFF\xD2\x84\xC0\x0F\x2A\x2A\x2A\x2A\x2A\x6A\x19\x8D" "linux" "@_ZN15CTFPlayerShared9MakeBleedEP9CTFPlayerP13CTFWeaponBasef" "mac" "@_ZN15CTFPlayerShared9MakeBleedEP9CTFPlayerP13CTFWeaponBasef" }