Updated more TF2 gamedata and fixed RemoveCondition call (bug 4641, r=fyren).

This commit is contained in:
Nicholas Hastings 2010-10-01 09:07:51 -04:00
parent e517eceb24
commit c086c3b03b
2 changed files with 17 additions and 12 deletions

View File

@ -258,11 +258,14 @@ cell_t TF2_RemoveCondition(IPluginContext *pContext, const cell_t *params)
if (!pWrapper) if (!pWrapper)
{ {
REGISTER_NATIVE_ADDR("RemoveCondition", REGISTER_NATIVE_ADDR("RemoveCondition",
PassInfo pass[1]; \ PassInfo pass[2]; \
pass[0].flags = PASSFLAG_BYVAL; \ pass[0].flags = PASSFLAG_BYVAL; \
pass[0].size = sizeof(int); \ pass[0].size = sizeof(int); \
pass[0].type = PassType_Basic; \ 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; 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); 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; unsigned char *vptr = vstk;
*(void **)vptr = obj; *(void **)vptr = obj;
vptr += sizeof(void *); vptr += sizeof(void *);
*(int *)vptr = params[2]; *(int *)vptr = params[2];
vptr += sizeof(int);
*(bool *)vptr = false;
pWrapper->Execute(vstk, NULL); pWrapper->Execute(vstk, NULL);

View File

@ -18,21 +18,21 @@
"Burn" "Burn"
{ {
"library" "server" "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" "linux" "@_ZN15CTFPlayerShared4BurnEP9CTFPlayerP13CTFWeaponBase"
"mac" "@_ZN15CTFPlayerShared4BurnEP9CTFPlayerP13CTFWeaponBase" "mac" "@_ZN15CTFPlayerShared4BurnEP9CTFPlayerP13CTFWeaponBase"
} }
"RemoveDisguise" "RemoveDisguise"
{ {
"library" "server" "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" "linux" "@_ZN15CTFPlayerShared14RemoveDisguiseEv"
"mac" "@_ZN15CTFPlayerShared14RemoveDisguiseEv" "mac" "@_ZN15CTFPlayerShared14RemoveDisguiseEv"
} }
"Disguise" "Disguise"
{ {
"library" "server" "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" "linux" "@_ZN15CTFPlayerShared8DisguiseEii"
"mac" "@_ZN15CTFPlayerShared8DisguiseEii" "mac" "@_ZN15CTFPlayerShared8DisguiseEii"
} }
@ -67,16 +67,16 @@
"AddCondition" "AddCondition"
{ {
"library" "server" "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" "linux" "@_ZN15CTFPlayerShared7AddCondEif"
"mac" "@_ZN15CTFPlayerShared7AddCondEif" "mac" "@_ZN15CTFPlayerShared7AddCondEif"
} }
"RemoveCondition" "RemoveCondition"
{ {
"library" "server" "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" "windows" "\x8B\x44\x2A\x2A\x56\x57\x8B\x7C\x2A\x2A\x8B\xF1\x50\x57\x8D\x8E\x2A\x2A\x2A\x2A\xE8"
"linux" "@_ZN15CTFPlayerShared10RemoveCondEi" "linux" "@_ZN15CTFPlayerShared10RemoveCondEib"
"mac" "@_ZN15CTFPlayerShared10RemoveCondEi" "mac" "@_ZN15CTFPlayerShared10RemoveCondEib"
} }
"SetPowerplayEnabled" "SetPowerplayEnabled"
{ {
@ -88,7 +88,7 @@
"StunPlayer" "StunPlayer"
{ {
"library" "server" "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" "linux" "@_ZN15CTFPlayerShared10StunPlayerEffiP9CTFPlayer"
"mac" "@_ZN15CTFPlayerShared10StunPlayerEffiP9CTFPlayer" "mac" "@_ZN15CTFPlayerShared10StunPlayerEffiP9CTFPlayer"
} }
@ -102,7 +102,7 @@
"MakeBleed" "MakeBleed"
{ {
"library" "server" "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" "linux" "@_ZN15CTFPlayerShared9MakeBleedEP9CTFPlayerP13CTFWeaponBasef"
"mac" "@_ZN15CTFPlayerShared9MakeBleedEP9CTFPlayerP13CTFWeaponBasef" "mac" "@_ZN15CTFPlayerShared9MakeBleedEP9CTFPlayerP13CTFWeaponBasef"
} }