diff -r 73ac66d8f345 -r 0a56b8faac9c extensions/tf2/natives.cpp --- a/extensions/tf2/natives.cpp Thu May 29 05:40:51 2008 +0000 +++ b/extensions/tf2/natives.cpp Fri May 30 22:38:04 2008 +0000 @@ -44,11 +44,14 @@ 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 @@ *(void **)vptr = obj; vptr += sizeof(void *); *(CBaseEntity **)vptr = pTarget; + vptr += sizeof(CBaseEntity *); + *(CBaseEntity **)vptr = NULL; pWrapper->Execute(vstk, NULL);