diff --git a/buildbot/product.version b/buildbot/product.version index 6acdb44..26e3379 100644 --- a/buildbot/product.version +++ b/buildbot/product.version @@ -1 +1 @@ -2.0.3 \ No newline at end of file +2.0.4 \ No newline at end of file diff --git a/natives.cpp b/natives.cpp index a8dbed3..0aa95ef 100644 --- a/natives.cpp +++ b/natives.cpp @@ -197,24 +197,23 @@ cell_t Native_HookRaw(IPluginContext *pContext, const cell_t *params) } bool post = params[2] != 0; + void *iface = (void *)(params[3]); for(int i = g_pHooks.size() -1; i >= 0; 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; } } - void *iface = (void *)(params[3]); - if(!iface) { 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) { @@ -869,7 +868,7 @@ cell_t Native_SetParamObjectPtrVarVector(IPluginContext *pContext, const cell_t cell_t *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; diff --git a/product.version b/product.version index 0c38796..dfccc99 100644 --- a/product.version +++ b/product.version @@ -1 +1 @@ -2.0.3-dev +2.0.4-dev diff --git a/sdk/smsdk_config.h b/sdk/smsdk_config.h index 458401f..ff2f79b 100644 --- a/sdk/smsdk_config.h +++ b/sdk/smsdk_config.h @@ -40,7 +40,7 @@ /* Basic information exposed publicly */ #define SMEXT_CONF_NAME "DHooks" #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_URL "http://www.sourcemod.net/" #define SMEXT_CONF_LOGTAG "DHOOKS" diff --git a/version.h b/version.h index 89f3592..96606cd 100644 --- a/version.h +++ b/version.h @@ -18,7 +18,7 @@ #define SM_BUILD_TAG "-manual" #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_FILE_VERSION 1,0,0,0