Added new param for CTFPlayerShared::AddCond call in TF2 ext.
Added new param for CTFPlayerShared::AddCond call in TF2 ext.
1.1 --- a/extensions/tf2/natives.cpp Tue Dec 18 17:58:45 2012 -0500
1.2 +++ b/extensions/tf2/natives.cpp Wed Dec 19 07:55:03 2012 -0500
1.3 @@ -240,14 +240,17 @@
1.4 if (!pWrapper)
1.5 {
1.6 REGISTER_NATIVE_ADDR("AddCondition",
1.7 - PassInfo pass[2]; \
1.8 + PassInfo pass[3]; \
1.9 pass[0].flags = PASSFLAG_BYVAL; \
1.10 pass[0].size = sizeof(int); \
1.11 pass[0].type = PassType_Basic; \
1.12 pass[1].flags = PASSFLAG_BYVAL; \
1.13 pass[1].size = sizeof(float); \
1.14 pass[1].type = PassType_Basic; \
1.15 - pWrapper = g_pBinTools->CreateCall(addr, CallConv_ThisCall, NULL, pass, 2))
1.16 + pass[2].flags = PASSFLAG_BYVAL; \
1.17 + pass[2].size = sizeof(CBaseEntity *); \
1.18 + pass[2].type = PassType_Basic; \
1.19 + pWrapper = g_pBinTools->CreateCall(addr, CallConv_ThisCall, NULL, pass, 3))
1.20 }
1.21
1.22 CBaseEntity *pEntity;
1.23 @@ -258,7 +261,7 @@
1.24
1.25 void *obj = (void *)((uint8_t *)pEntity + playerSharedOffset->actual_offset);
1.26
1.27 - unsigned char vstk[sizeof(void *) + sizeof(int) + sizeof(float)];
1.28 + unsigned char vstk[sizeof(void *) + sizeof(int) + sizeof(float) + sizeof(CBaseEntity *)];
1.29 unsigned char *vptr = vstk;
1.30
1.31 *(void **)vptr = obj;
1.32 @@ -266,6 +269,8 @@
1.33 *(int *)vptr = params[2];
1.34 vptr += sizeof(int);
1.35 *(float *)vptr = *(float *)¶ms[3];
1.36 + vptr += sizeof(float);
1.37 + *(CBaseEntity **)vptr = NULL;
1.38
1.39 pWrapper->Execute(vstk, NULL);
1.40