diff --git a/extensions/tf2/natives.cpp b/extensions/tf2/natives.cpp index 81086f8f..29695397 100644 --- a/extensions/tf2/natives.cpp +++ b/extensions/tf2/natives.cpp @@ -44,11 +44,14 @@ cell_t TF2_Burn(IPluginContext *pContext, const cell_t *params) if (!pWrapper) { REGISTER_NATIVE_ADDR("Burn", - PassInfo pass[1]; \ + PassInfo pass[2]; \ pass[0].flags = PASSFLAG_BYVAL; \ pass[0].size = sizeof(CBaseEntity *); \ pass[0].type = PassType_Basic; \ - pWrapper = g_pBinTools->CreateCall(addr, CallConv_ThisCall, NULL, pass, 1)) + pass[1].flags = PASSFLAG_BYVAL; \ + pass[1].size = sizeof(CBaseEntity *); \ + pass[1].type = PassType_Basic; \ + pWrapper = g_pBinTools->CreateCall(addr, CallConv_ThisCall, NULL, pass, 2)) } CBaseEntity *pEntity; @@ -71,6 +74,8 @@ cell_t TF2_Burn(IPluginContext *pContext, const cell_t *params) *(void **)vptr = obj; vptr += sizeof(void *); *(CBaseEntity **)vptr = pTarget; + vptr += sizeof(CBaseEntity *); + *(CBaseEntity **)vptr = NULL; pWrapper->Execute(vstk, NULL); diff --git a/gamedata/sm-tf2.games.txt b/gamedata/sm-tf2.games.txt index 130613a9..084736de 100644 --- a/gamedata/sm-tf2.games.txt +++ b/gamedata/sm-tf2.games.txt @@ -7,19 +7,19 @@ "Burn" { "library" "server" - "windows" "\x56\x8B\xF1\x8B\x4E\x7C\x8B\x01\x8B\x90\xF8\x00\x00\x00\xFF\xD2\x84\xC0\x2A\x2A\x2A\x2A\x2A\x2A\x8B\x46\x7C" - "linux" "@_ZN15CTFPlayerShared4BurnEP9CTFPlayer" + "windows" "\x56\x8B\xF1\x8B\x8E\x2A\x2A\x00\x00\x8B\x01\x8B\x90\x2A\x2A\x00\x00\xFF\xD2\x84\xC0" + "linux" "@_ZN15CTFPlayerShared4BurnEP9CTFPlayerP13CTFWeaponBase" } "RemoveDisguise" { "library" "server" - "windows" "\x51\x56\x8B\xF1\x8B\x46\x08\x57\x8D\x7E\x08\x8D\x4C\x24\x08\x83\xE0\xF7" + "windows" "\x51\x56\x8B\xF1\x8B\x46\x2A\x57\x8D\x7E\x2A\x8D\x4C\x24\x08\x83\xE0\xF7" "linux" "@_ZN15CTFPlayerShared14RemoveDisguiseEv" } "Disguise" { "library" "server" - "windows" "\x56\x8B\xF1\x8B\x4E\x7C\xE8" + "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" "linux" "@_ZN15CTFPlayerShared8DisguiseEii" } "CalcCritical"