diff --git a/amxmodx/amxmodx.cpp b/amxmodx/amxmodx.cpp index 5b65f04d..856e7c7f 100755 --- a/amxmodx/amxmodx.cpp +++ b/amxmodx/amxmodx.cpp @@ -43,7 +43,7 @@ static cell AMX_NATIVE_CALL get_xvar_id(AMX *amx, cell *params) for (auto var : g_sInaccessibleXVars) { - if (!strcmp(sName, var)) + if (likely(!strcmp(sName, var))) { return -1; } diff --git a/amxmodx/amxmodx.h b/amxmodx/amxmodx.h index 7216793a..1af7f484 100755 --- a/amxmodx/amxmodx.h +++ b/amxmodx/amxmodx.h @@ -53,6 +53,7 @@ #include "CFrameAction.h" #include #include +#include "extdef.h" #define AMXXLOG_Log g_log.Log #define AMXXLOG_Error g_log.LogError diff --git a/amxmodx/extdef.h b/amxmodx/extdef.h new file mode 100644 index 00000000..dc7940ec --- /dev/null +++ b/amxmodx/extdef.h @@ -0,0 +1,10 @@ +#pragma once + +// Manual branch optimization for GCC 3.0.0 and newer +#if !defined(__GNUC__) || __GNUC__ < 3 +#define likely(x) (x) +#define unlikely(x) (x) +#else +#define likely(x) __builtin_expect(!!(x), 1) +#define unlikely(x) __builtin_expect(!!(x), 0) +#endif \ No newline at end of file diff --git a/amxmodx/msvc12/amxmodx_mm.vcxproj b/amxmodx/msvc12/amxmodx_mm.vcxproj index da893adc..b82d5c1c 100644 --- a/amxmodx/msvc12/amxmodx_mm.vcxproj +++ b/amxmodx/msvc12/amxmodx_mm.vcxproj @@ -429,6 +429,7 @@ md -p JIT 2>NUL + diff --git a/amxmodx/msvc12/amxmodx_mm.vcxproj.filters b/amxmodx/msvc12/amxmodx_mm.vcxproj.filters index 946922c2..ad88237d 100644 --- a/amxmodx/msvc12/amxmodx_mm.vcxproj.filters +++ b/amxmodx/msvc12/amxmodx_mm.vcxproj.filters @@ -584,6 +584,9 @@ Header Files + + Header Files +