Fix raw hooks not hooking and a bunch of other bugs with them. Fix Object vectors not being able to be set.
This commit is contained in:
parent
0e31eb1e7f
commit
0d3969ba55
@ -1 +1 @@
|
|||||||
2.0.3
|
2.0.4
|
@ -197,24 +197,23 @@ cell_t Native_HookRaw(IPluginContext *pContext, const cell_t *params)
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool post = params[2] != 0;
|
bool post = params[2] != 0;
|
||||||
|
void *iface = (void *)(params[3]);
|
||||||
|
|
||||||
for(int i = g_pHooks.size() -1; i >= 0; i--)
|
for(int i = g_pHooks.size() -1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
DHooksManager *manager = g_pHooks.at(i);
|
DHooksManager *manager = g_pHooks.at(i);
|
||||||
if(manager->callback->hookType == HookType_Raw && manager->callback->offset == setup->offset && manager->callback->post == post && manager->remove_callback == pContext->GetFunctionById(params[3]) && manager->callback->plugin_callback == setup->callback)
|
if(manager->callback->hookType == HookType_Raw && manager->addr == (intptr_t)iface && manager->callback->offset == setup->offset && manager->callback->post == post && manager->remove_callback == pContext->GetFunctionById(params[4]) && manager->callback->plugin_callback == setup->callback)
|
||||||
{
|
{
|
||||||
return manager->hookid;
|
return manager->hookid;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void *iface = (void *)(params[3]);
|
|
||||||
|
|
||||||
if(!iface)
|
if(!iface)
|
||||||
{
|
{
|
||||||
return pContext->ThrowNativeError("Invalid address passed");
|
return pContext->ThrowNativeError("Invalid address passed");
|
||||||
}
|
}
|
||||||
|
|
||||||
DHooksManager *manager = new DHooksManager(setup, iface, pContext->GetFunctionById(params[3]), post);
|
DHooksManager *manager = new DHooksManager(setup, iface, pContext->GetFunctionById(params[4]), post);
|
||||||
|
|
||||||
if(!manager->hookid)
|
if(!manager->hookid)
|
||||||
{
|
{
|
||||||
@ -869,7 +868,7 @@ cell_t Native_SetParamObjectPtrVarVector(IPluginContext *pContext, const cell_t
|
|||||||
cell_t *buffer;
|
cell_t *buffer;
|
||||||
pContext->LocalToPhysAddr(params[5], &buffer);
|
pContext->LocalToPhysAddr(params[5], &buffer);
|
||||||
|
|
||||||
if((ObjectValueType)params[4] == ObjectValueType_VectorPtr)
|
if((ObjectValueType)params[4] == ObjectValueType_VectorPtr || (ObjectValueType)params[4] == ObjectValueType_Vector)
|
||||||
{
|
{
|
||||||
Vector *vec;
|
Vector *vec;
|
||||||
|
|
||||||
|
@ -1 +1 @@
|
|||||||
2.0.3-dev
|
2.0.4-dev
|
||||||
|
@ -40,7 +40,7 @@
|
|||||||
/* Basic information exposed publicly */
|
/* Basic information exposed publicly */
|
||||||
#define SMEXT_CONF_NAME "DHooks"
|
#define SMEXT_CONF_NAME "DHooks"
|
||||||
#define SMEXT_CONF_DESCRIPTION "Dynamic Hooks"
|
#define SMEXT_CONF_DESCRIPTION "Dynamic Hooks"
|
||||||
#define SMEXT_CONF_VERSION "2.0.3"
|
#define SMEXT_CONF_VERSION "2.0.4"
|
||||||
#define SMEXT_CONF_AUTHOR "AlliedModders"
|
#define SMEXT_CONF_AUTHOR "AlliedModders"
|
||||||
#define SMEXT_CONF_URL "http://www.sourcemod.net/"
|
#define SMEXT_CONF_URL "http://www.sourcemod.net/"
|
||||||
#define SMEXT_CONF_LOGTAG "DHOOKS"
|
#define SMEXT_CONF_LOGTAG "DHOOKS"
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
#define SM_BUILD_TAG "-manual"
|
#define SM_BUILD_TAG "-manual"
|
||||||
#define SM_BUILD_UNIQUEID "[MANUAL BUILD]"
|
#define SM_BUILD_UNIQUEID "[MANUAL BUILD]"
|
||||||
#define SM_VERSION "2.0.3"
|
#define SM_VERSION "2.0.4"
|
||||||
#define SM_FULL_VERSION SM_VERSION SM_BUILD_TAG
|
#define SM_FULL_VERSION SM_VERSION SM_BUILD_TAG
|
||||||
#define SM_FILE_VERSION 1,0,0,0
|
#define SM_FILE_VERSION 1,0,0,0
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user