From 823b55c22ab3443883a3145fd4d93f9d535f7e9f Mon Sep 17 00:00:00 2001 From: Einyux <55111351+Einyux@users.noreply.github.com> Date: Sat, 10 Jul 2021 21:42:17 +0200 Subject: [PATCH] sdkhooks: Allow overriding SDKHook_Think (#1397) * Allow to block Think() * Update SDKHookCB comment --- extensions/sdkhooks/extension.cpp | 6 +++++- plugins/include/sdkhooks.inc | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/extensions/sdkhooks/extension.cpp b/extensions/sdkhooks/extension.cpp index d1c0ac64..0061006a 100644 --- a/extensions/sdkhooks/extension.cpp +++ b/extensions/sdkhooks/extension.cpp @@ -1458,7 +1458,11 @@ void SDKHooks::Hook_StartTouchPost(CBaseEntity *pOther) void SDKHooks::Hook_Think() { - Call(META_IFACEPTR(CBaseEntity), SDKHook_Think); + cell_t result = Call(META_IFACEPTR(CBaseEntity), SDKHook_Think); + + if(result >= Pl_Handled) + RETURN_META(MRES_SUPERCEDE); + RETURN_META(MRES_IGNORED); } diff --git a/plugins/include/sdkhooks.inc b/plugins/include/sdkhooks.inc index 0d86f5c4..f4e78ea6 100644 --- a/plugins/include/sdkhooks.inc +++ b/plugins/include/sdkhooks.inc @@ -237,11 +237,12 @@ typeset SDKHookCB function void (int client); // Spawn + // Think function Action (int entity); // GroundEntChanged // SpawnPost - // Think/Post + // ThinkPost // VPhysicsUpdate/Post function void (int entity);