1.1 --- a/extensions/tf2/natives.cpp Fri Apr 15 02:06:50 2011 -0400
1.2 +++ b/extensions/tf2/natives.cpp Fri Apr 15 12:11:32 2011 -0400
1.3 @@ -147,7 +147,7 @@
1.4 if (!pWrapper)
1.5 {
1.6 REGISTER_NATIVE_ADDR("Disguise",
1.7 - PassInfo pass[3]; \
1.8 + PassInfo pass[4]; \
1.9 pass[0].flags = PASSFLAG_BYVAL; \
1.10 pass[0].size = sizeof(int); \
1.11 pass[0].type = PassType_Basic; \
1.12 @@ -157,7 +157,10 @@
1.13 pass[2].flags = PASSFLAG_BYVAL; \
1.14 pass[2].size = sizeof(CBaseEntity *); \
1.15 pass[2].type = PassType_Basic; \
1.16 - pWrapper = g_pBinTools->CreateCall(addr, CallConv_ThisCall, NULL, pass, 3))
1.17 + pass[3].flags = PASSFLAG_BYVAL; \
1.18 + pass[3].size = sizeof(bool); \
1.19 + pass[3].type = PassType_Basic; \
1.20 + pWrapper = g_pBinTools->CreateCall(addr, CallConv_ThisCall, NULL, pass, 4))
1.21 }
1.22
1.23 CBaseEntity *pEntity;
1.24 @@ -175,7 +178,7 @@
1.25 return pContext->ThrowNativeError("Target client index %d is not valid", params[1]);
1.26 }
1.27
1.28 - unsigned char vstk[sizeof(void *) + 2*sizeof(int)];
1.29 + unsigned char vstk[sizeof(void *) + 2*sizeof(int) + sizeof(bool)];
1.30 unsigned char *vptr = vstk;
1.31
1.32
1.33 @@ -186,7 +189,9 @@
1.34 *(int *)vptr = params[3];
1.35 vptr += sizeof(int);
1.36 *(CBaseEntity **)vptr = pTarget;
1.37 -
1.38 + vptr += sizeof(CBaseEntity *);
1.39 + *(bool *)vptr = true;
1.40 +
1.41 pWrapper->Execute(vstk, NULL);
1.42
1.43 return 1;