mirror of
https://github.com/rehlds/reapi.git
synced 2025-01-16 00:28:17 +03:00
Refactoring
This commit is contained in:
parent
ef5283715c
commit
f98571f217
@ -199,8 +199,7 @@ C_DLLEXPORT void AMXX_PluginsUnloading()
|
||||
{
|
||||
}
|
||||
|
||||
// Advanced MF functions
|
||||
NOINLINE void MF_Log(const char *fmt, ...)
|
||||
NOINLINE void AMXX_Log(const char *fmt, ...)
|
||||
{
|
||||
char msg[2048];
|
||||
va_list arglst;
|
||||
@ -211,7 +210,7 @@ NOINLINE void MF_Log(const char *fmt, ...)
|
||||
g_amxxapi.Log("[%s] %s", g_ModuleInfo.logtag, msg);
|
||||
}
|
||||
|
||||
NOINLINE void MF_LogError(AMX *amx, int err, const char *fmt, ...)
|
||||
NOINLINE void AMXX_LogError(AMX *amx, int err, const char *fmt, ...)
|
||||
{
|
||||
char msg[2048];
|
||||
va_list arglst;
|
||||
@ -222,7 +221,7 @@ NOINLINE void MF_LogError(AMX *amx, int err, const char *fmt, ...)
|
||||
g_amxxapi.LogError(amx, err, "[%s] %s", g_ModuleInfo.logtag, msg);
|
||||
}
|
||||
|
||||
NOINLINE void AMXX_Error(AMX *amx, const char *fmt, ...)
|
||||
NOINLINE void AMXX_Assert(AMX *amx, const char *fmt, ...)
|
||||
{
|
||||
char msg[2048];
|
||||
va_list arglst;
|
||||
|
@ -491,9 +491,9 @@ struct amxxapi_t
|
||||
|
||||
extern amxxapi_t g_amxxapi;
|
||||
|
||||
void MF_Log(const char *fmt, ...);
|
||||
void MF_LogError(AMX *amx, int err, const char *fmt, ...);
|
||||
void AMXX_Error(AMX *amx, const char *fmt, ...);
|
||||
void AMXX_Log(const char *fmt, ...);
|
||||
void AMXX_LogError(AMX *amx, int err, const char *fmt, ...);
|
||||
void AMXX_Assert(AMX *amx, const char *fmt, ...);
|
||||
char* getAmxString(cell* src, char* dest, size_t max, size_t* len = nullptr);
|
||||
void setAmxString(cell* dest, const char* string, size_t max);
|
||||
|
||||
|
@ -57,7 +57,7 @@ bool CEntityCallback::SetThink(AMX *amx, CBaseEntity *pEntity, const char *pszCa
|
||||
}
|
||||
|
||||
if (fwdid == -1) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: failed to register forward.", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: failed to register forward.", __FUNCTION__);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -78,7 +78,7 @@ bool CEntityCallback::SetTouch(AMX *amx, CBaseEntity *pEntity, const char *pszCa
|
||||
}
|
||||
|
||||
if (fwdid == -1) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: failed to register forward.", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: failed to register forward.", __FUNCTION__);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -99,7 +99,7 @@ bool CEntityCallback::SetUse(AMX *amx, CBaseEntity *pEntity, const char *pszCall
|
||||
}
|
||||
|
||||
if (fwdid == -1) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: failed to register forward.", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: failed to register forward.", __FUNCTION__);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -120,7 +120,7 @@ bool CEntityCallback::SetBlocked(AMX *amx, CBaseEntity *pEntity, const char *psz
|
||||
}
|
||||
|
||||
if (fwdid == -1) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: failed to register forward.", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: failed to register forward.", __FUNCTION__);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -141,7 +141,7 @@ bool CEntityCallback::SetMoveDone(AMX *amx, CBaseEntity *pEntity, const char *ps
|
||||
}
|
||||
|
||||
if (fwdid == -1) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: failed to register forward.", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: failed to register forward.", __FUNCTION__);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -220,7 +220,7 @@ NOINLINE R DLLEXPORT _callForward(const hook_t* hook, original_t original, volat
|
||||
}
|
||||
|
||||
if (unlikely(!hookCtx->retVal.set)) {
|
||||
AMXX_Error(fwd->GetAmx(), "%s : Can't suppress original function call without new return value set", fwd->GetCallbackName());
|
||||
AMXX_Assert(fwd->GetAmx(), "%s : Can't suppress original function call without new return value set", fwd->GetCallbackName());
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -106,7 +106,7 @@ cell AMX_NATIVE_CALL amx_get_viewent(AMX *amx, cell *params)
|
||||
client_t *pClient = clientOfIndex(params[arg_index]);
|
||||
if (unlikely(pClient == nullptr || !(pClient->active | pClient->spawned | pClient->connected)))
|
||||
{
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: player %i is not connected", __FUNCTION__, params[arg_index]);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: player %i is not connected", __FUNCTION__, params[arg_index]);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -134,7 +134,7 @@ cell AMX_NATIVE_CALL amx_get_key_value(AMX *amx, cell *params)
|
||||
char *buffer = reinterpret_cast<char *>(params[arg_buffer]);
|
||||
if (!buffer)
|
||||
{
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: Invalid buffer", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: Invalid buffer", __FUNCTION__);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -162,7 +162,7 @@ cell AMX_NATIVE_CALL amx_set_key_value(AMX *amx, cell *params)
|
||||
char *buffer = reinterpret_cast<char *>(params[arg_buffer]);
|
||||
if (!buffer)
|
||||
{
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: Invalid buffer", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: Invalid buffer", __FUNCTION__);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -205,12 +205,12 @@ cell AMX_NATIVE_CALL amx_GetBonePosition(AMX *amx, cell *params)
|
||||
|
||||
CBaseEntity *pEntity = getPrivate<CBaseEntity>(params[arg_index]);
|
||||
if (unlikely(pEntity == nullptr)) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: invalid or uninitialized entity", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: invalid or uninitialized entity", __FUNCTION__);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (FNullEnt(params[arg_index])) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: worldspawn not allowed", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: worldspawn not allowed", __FUNCTION__);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -242,12 +242,12 @@ cell AMX_NATIVE_CALL amx_GetAttachment(AMX *amx, cell *params)
|
||||
|
||||
CBaseEntity *pEntity = getPrivate<CBaseEntity>(params[arg_index]);
|
||||
if (unlikely(pEntity == nullptr)) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: invalid or uninitialized entity", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: invalid or uninitialized entity", __FUNCTION__);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (FNullEnt(params[arg_index])) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: worldspawn not allowed", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: worldspawn not allowed", __FUNCTION__);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -280,7 +280,7 @@ cell AMX_NATIVE_CALL amx_SetThink(AMX *amx, cell *params)
|
||||
|
||||
CBaseEntity *pEntity = getPrivate<CBaseEntity>(params[arg_index]);
|
||||
if (unlikely(pEntity == nullptr)) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: invalid or uninitialized entity", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: invalid or uninitialized entity", __FUNCTION__);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -293,7 +293,7 @@ cell AMX_NATIVE_CALL amx_SetThink(AMX *amx, cell *params)
|
||||
|
||||
int funcid;
|
||||
if (unlikely(g_amxxapi.amx_FindPublic(amx, funcname, &funcid) != AMX_ERR_NONE)) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: public function \"%s\" not found.", __FUNCTION__, funcname);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: public function \"%s\" not found.", __FUNCTION__, funcname);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -324,7 +324,7 @@ cell AMX_NATIVE_CALL amx_SetTouch(AMX *amx, cell *params)
|
||||
|
||||
CBaseEntity *pEntity = getPrivate<CBaseEntity>(params[arg_index]);
|
||||
if (unlikely(pEntity == nullptr)) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: invalid or uninitialized entity", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: invalid or uninitialized entity", __FUNCTION__);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -337,7 +337,7 @@ cell AMX_NATIVE_CALL amx_SetTouch(AMX *amx, cell *params)
|
||||
|
||||
int funcid;
|
||||
if (unlikely(g_amxxapi.amx_FindPublic(amx, funcname, &funcid) != AMX_ERR_NONE)) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: public function \"%s\" not found.", __FUNCTION__, funcname);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: public function \"%s\" not found.", __FUNCTION__, funcname);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -368,7 +368,7 @@ cell AMX_NATIVE_CALL amx_SetUse(AMX *amx, cell *params)
|
||||
|
||||
CBaseEntity *pEntity = getPrivate<CBaseEntity>(params[arg_index]);
|
||||
if (unlikely(pEntity == nullptr)) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: invalid or uninitialized entity", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: invalid or uninitialized entity", __FUNCTION__);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -381,7 +381,7 @@ cell AMX_NATIVE_CALL amx_SetUse(AMX *amx, cell *params)
|
||||
|
||||
int funcid;
|
||||
if (unlikely(g_amxxapi.amx_FindPublic(amx, funcname, &funcid) != AMX_ERR_NONE)) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: public function \"%s\" not found.", __FUNCTION__, funcname);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: public function \"%s\" not found.", __FUNCTION__, funcname);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -412,7 +412,7 @@ cell AMX_NATIVE_CALL amx_SetBlocked(AMX *amx, cell *params)
|
||||
|
||||
CBaseEntity *pEntity = getPrivate<CBaseEntity>(params[arg_index]);
|
||||
if (unlikely(pEntity == nullptr)) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: invalid or uninitialized entity", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: invalid or uninitialized entity", __FUNCTION__);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -425,7 +425,7 @@ cell AMX_NATIVE_CALL amx_SetBlocked(AMX *amx, cell *params)
|
||||
|
||||
int funcid;
|
||||
if (unlikely(g_amxxapi.amx_FindPublic(amx, funcname, &funcid) != AMX_ERR_NONE)) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: public function \"%s\" not found.", __FUNCTION__, funcname);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: public function \"%s\" not found.", __FUNCTION__, funcname);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -457,7 +457,7 @@ cell AMX_NATIVE_CALL amx_SetMoveDone(AMX *amx, cell *params)
|
||||
|
||||
CBaseEntity *pEntity = getPrivate<CBaseEntity>(params[arg_index]);
|
||||
if (unlikely(pEntity == nullptr)) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: invalid or uninitialized entity", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: invalid or uninitialized entity", __FUNCTION__);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -470,7 +470,7 @@ cell AMX_NATIVE_CALL amx_SetMoveDone(AMX *amx, cell *params)
|
||||
|
||||
int funcid;
|
||||
if (unlikely(g_amxxapi.amx_FindPublic(amx, funcname, &funcid) != AMX_ERR_NONE)) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: public function \"%s\" not found.", __FUNCTION__, funcname);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: public function \"%s\" not found.", __FUNCTION__, funcname);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
@ -2,10 +2,10 @@
|
||||
|
||||
#define PARAMS_COUNT (params[0] / sizeof(cell))
|
||||
|
||||
#define CHECK_ISPLAYER(x) if (unlikely(params[x] <= 0 || params[x] > gpGlobals->maxClients)) { MF_LogError(amx, AMX_ERR_NATIVE, "%s: invalid player index %i [%s]", __FUNCTION__, params[x], #x); return FALSE; }
|
||||
#define CHECK_ISENTITY(x) if (unlikely(params[x] < 0 || params[x] > gpGlobals->maxEntities)) { MF_LogError(amx, AMX_ERR_NATIVE, "%s: invalid entity index %i [%s]", __FUNCTION__, params[x], #x); return FALSE; }
|
||||
#define CHECK_GAMERULES() if (unlikely(!g_pGameRules)) { MF_LogError(amx, AMX_ERR_NATIVE, "%s: gamerules not initialized", __FUNCTION__); return FALSE; }
|
||||
#define CHECK_CONNECTED(x, y) if (unlikely(x == nullptr || x->has_disconnected)) { MF_LogError(amx, AMX_ERR_NATIVE, "%s: player %i is not connected", __FUNCTION__, params[y]); return FALSE; }
|
||||
#define CHECK_ISPLAYER(x) if (unlikely(params[x] <= 0 || params[x] > gpGlobals->maxClients)) { AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: invalid player index %i [%s]", __FUNCTION__, params[x], #x); return FALSE; }
|
||||
#define CHECK_ISENTITY(x) if (unlikely(params[x] < 0 || params[x] > gpGlobals->maxEntities)) { AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: invalid entity index %i [%s]", __FUNCTION__, params[x], #x); return FALSE; }
|
||||
#define CHECK_GAMERULES() if (unlikely(!g_pGameRules)) { AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: gamerules not initialized", __FUNCTION__); return FALSE; }
|
||||
#define CHECK_CONNECTED(x, y) if (unlikely(x == nullptr || x->has_disconnected)) { AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: player %i is not connected", __FUNCTION__, params[y]); return FALSE; }
|
||||
|
||||
class CAmxArg
|
||||
{
|
||||
|
@ -22,13 +22,13 @@ cell AMX_NATIVE_CALL RegisterHookChain(AMX *amx, cell *params)
|
||||
|
||||
if (unlikely(hook == nullptr))
|
||||
{
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: function with id (%d) doesn't exist in current API version.", __FUNCTION__, func);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: function with id (%d) doesn't exist in current API version.", __FUNCTION__, func);
|
||||
return INVALID_HOOKCHAIN;
|
||||
}
|
||||
|
||||
if (unlikely(!hook->checkRequirements()))
|
||||
{
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: function (%s) is not available, %s required.", __FUNCTION__, hook->func_name, hook->depend_name);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: function (%s) is not available, %s required.", __FUNCTION__, hook->func_name, hook->depend_name);
|
||||
return INVALID_HOOKCHAIN;
|
||||
}
|
||||
|
||||
@ -38,14 +38,14 @@ cell AMX_NATIVE_CALL RegisterHookChain(AMX *amx, cell *params)
|
||||
int funcid;
|
||||
if (unlikely(g_amxxapi.amx_FindPublic(amx, funcname, &funcid) != AMX_ERR_NONE))
|
||||
{
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: public function \"%s\" not found.", __FUNCTION__, funcname);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: public function \"%s\" not found.", __FUNCTION__, funcname);
|
||||
return INVALID_HOOKCHAIN;
|
||||
}
|
||||
|
||||
int fwid = hook->registerForward(amx, funcname);
|
||||
if (unlikely(fwid == -1))
|
||||
{
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: register forward failed.", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: register forward failed.", __FUNCTION__);
|
||||
return INVALID_HOOKCHAIN;
|
||||
}
|
||||
|
||||
@ -70,7 +70,7 @@ cell AMX_NATIVE_CALL EnableHookChain(AMX *amx, cell *params)
|
||||
|
||||
if (unlikely(hook == nullptr))
|
||||
{
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: invalid HookChain handle.", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: invalid HookChain handle.", __FUNCTION__);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -94,7 +94,7 @@ cell AMX_NATIVE_CALL DisableHookChain(AMX *amx, cell *params)
|
||||
|
||||
if (unlikely(hook == nullptr))
|
||||
{
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: invalid HookChain handle.", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: invalid HookChain handle.", __FUNCTION__);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -114,7 +114,7 @@ cell AMX_NATIVE_CALL SetHookChainReturn(AMX *amx, cell *params)
|
||||
{
|
||||
if (unlikely(!g_hookCtx))
|
||||
{
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: trying to set return value without active hook.", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: trying to set return value without active hook.", __FUNCTION__);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -123,7 +123,7 @@ cell AMX_NATIVE_CALL SetHookChainReturn(AMX *amx, cell *params)
|
||||
|
||||
if (unlikely(params[arg_type] != retVal.type))
|
||||
{
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: trying to set return value with incompatible type.", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: trying to set return value with incompatible type.", __FUNCTION__);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -179,7 +179,7 @@ cell AMX_NATIVE_CALL GetHookChainReturn(AMX *amx, cell *params)
|
||||
{
|
||||
if (unlikely(!g_hookCtx))
|
||||
{
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: trying to get return value without active hook.", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: trying to get return value without active hook.", __FUNCTION__);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -188,13 +188,13 @@ cell AMX_NATIVE_CALL GetHookChainReturn(AMX *amx, cell *params)
|
||||
|
||||
if (unlikely(params[arg_type] != retVal.type))
|
||||
{
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: trying to set return value with incompatible type.", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: trying to set return value with incompatible type.", __FUNCTION__);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (unlikely(!retVal.set))
|
||||
{
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: return value isn't set.", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: return value isn't set.", __FUNCTION__);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -242,7 +242,7 @@ cell AMX_NATIVE_CALL SetHookChainArg(AMX *amx, cell *params)
|
||||
{
|
||||
if (unlikely(!g_hookCtx))
|
||||
{
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: trying to get return value without active hook.", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: trying to get return value without active hook.", __FUNCTION__);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -251,7 +251,7 @@ cell AMX_NATIVE_CALL SetHookChainArg(AMX *amx, cell *params)
|
||||
|
||||
if (unlikely(number >= g_hookCtx->args_count))
|
||||
{
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: can't set argument %i of hookchain with %i args.", __FUNCTION__, params[arg_number], g_hookCtx->args_count);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: can't set argument %i of hookchain with %i args.", __FUNCTION__, params[arg_number], g_hookCtx->args_count);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -259,7 +259,7 @@ cell AMX_NATIVE_CALL SetHookChainArg(AMX *amx, cell *params)
|
||||
|
||||
if (unlikely(params[arg_type] != type))
|
||||
{
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: invalid argument type provided.", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: invalid argument type provided.", __FUNCTION__);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -307,7 +307,7 @@ AMX_NATIVE_INFO HookChain_Natives[] =
|
||||
void RegisterNatives_HookChains()
|
||||
{
|
||||
if (!api_cfg.hasReHLDS() && !api_cfg.hasReGameDLL())
|
||||
fillNatives(HookChain_Natives, [](AMX *amx, cell *params) -> cell { MF_LogError(amx, AMX_ERR_NATIVE, "You need ReHlds or ReGameDll for use hookchains"); return FALSE; });
|
||||
fillNatives(HookChain_Natives, [](AMX *amx, cell *params) -> cell { AMXX_LogError(amx, AMX_ERR_NATIVE, "You need ReHlds or ReGameDll for use hookchains"); return FALSE; });
|
||||
|
||||
g_amxxapi.AddNatives(HookChain_Natives);
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
#define PARAMS_REQUIRE(x) if (params[0] != x * sizeof(cell)) { MF_LogError(amx, AMX_ERR_NATIVE, "Invalid parameters count in %s", __FUNCTION__); return nullptr; }
|
||||
#define NATIVE_MEMBER_REQUIRE(a,x) if (!api_cfg.has##x()) { MF_LogError(amx, AMX_ERR_NATIVE, "Member (%s) is not available, required %s", memberlist[a]->member_name, #x); return 0; }
|
||||
#define PARAMS_REQUIRE(x) if (params[0] != x * sizeof(cell)) { AMXX_LogError(amx, AMX_ERR_NATIVE, "Invalid parameters count in %s", __FUNCTION__); return nullptr; }
|
||||
#define NATIVE_MEMBER_REQUIRE(a,x) if (!api_cfg.has##x()) { AMXX_LogError(amx, AMX_ERR_NATIVE, "Member (%s) is not available, required %s", memberlist[a]->member_name, #x); return 0; }
|
||||
|
||||
void RegisterNatives_HookChains();
|
||||
|
@ -15,13 +15,13 @@ cell AMX_NATIVE_CALL set_member(AMX *amx, cell *params)
|
||||
member_t *member = memberlist[params[arg_member]];
|
||||
|
||||
if (unlikely(member == nullptr)) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: unknown member id %i", __FUNCTION__, params[arg_member]);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: unknown member id %i", __FUNCTION__, params[arg_member]);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
edict_t *pEdict = edictByIndexAmx(params[arg_index]);
|
||||
if (unlikely(pEdict == nullptr || pEdict->pvPrivateData == nullptr)) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: invalid or uninitialized entity", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: invalid or uninitialized entity", __FUNCTION__);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -56,13 +56,13 @@ cell AMX_NATIVE_CALL get_member(AMX *amx, cell *params)
|
||||
member_t *member = memberlist[params[arg_member]];
|
||||
|
||||
if (unlikely(member == nullptr)) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: unknown member id %i", __FUNCTION__, params[arg_member]);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: unknown member id %i", __FUNCTION__, params[arg_member]);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
edict_t *pEdict = edictByIndexAmx(params[arg_index]);
|
||||
if (unlikely(pEdict == nullptr || pEdict->pvPrivateData == nullptr)) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: invalid or uninitialized entity", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: invalid or uninitialized entity", __FUNCTION__);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -132,7 +132,7 @@ cell AMX_NATIVE_CALL set_member_game(AMX *amx, cell *params)
|
||||
|
||||
member_t *member = memberlist[params[arg_member]];
|
||||
if (unlikely(member == nullptr)) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: unknown member id %i", __FUNCTION__, params[arg_member]);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: unknown member id %i", __FUNCTION__, params[arg_member]);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -159,7 +159,7 @@ cell AMX_NATIVE_CALL get_member_game(AMX *amx, cell *params)
|
||||
|
||||
member_t *member = memberlist[params[arg_member]];
|
||||
if (unlikely(member == nullptr)) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: unknown member id %i", __FUNCTION__, params[arg_member]);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: unknown member id %i", __FUNCTION__, params[arg_member]);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -200,14 +200,14 @@ cell AMX_NATIVE_CALL set_entvar(AMX *amx, cell *params)
|
||||
member_t *member = memberlist[params[arg_var]];
|
||||
|
||||
if (unlikely(member == nullptr)) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: unknown member id %i", __FUNCTION__, params[arg_var]);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: unknown member id %i", __FUNCTION__, params[arg_var]);
|
||||
return FALSE;
|
||||
}
|
||||
CHECK_ISENTITY(arg_index);
|
||||
|
||||
edict_t *pEdict = edictByIndexAmx(params[arg_index]);
|
||||
if (unlikely(pEdict == nullptr || pEdict->pvPrivateData == nullptr)) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: invalid or uninitialized entity", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: invalid or uninitialized entity", __FUNCTION__);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -229,7 +229,7 @@ cell AMX_NATIVE_CALL get_entvar(AMX *amx, cell *params)
|
||||
member_t *member = memberlist[params[arg_var]];
|
||||
|
||||
if (unlikely(member == nullptr)) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: unknown member id %i", __FUNCTION__, params[arg_var]);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: unknown member id %i", __FUNCTION__, params[arg_var]);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -237,7 +237,7 @@ cell AMX_NATIVE_CALL get_entvar(AMX *amx, cell *params)
|
||||
|
||||
edict_t *pEdict = edictByIndexAmx(params[arg_index]);
|
||||
if (unlikely(pEdict == nullptr || &pEdict->v == nullptr)) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: invalid or uninitialized entity", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: invalid or uninitialized entity", __FUNCTION__);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -294,7 +294,7 @@ cell AMX_NATIVE_CALL set_pmove(AMX *amx, cell *params)
|
||||
member_t *member = memberlist[params[arg_var]];
|
||||
|
||||
if (unlikely(member == nullptr)) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: unknown member id %i", __FUNCTION__, params[arg_var]);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: unknown member id %i", __FUNCTION__, params[arg_var]);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -319,7 +319,7 @@ cell AMX_NATIVE_CALL get_pmove(AMX *amx, cell *params)
|
||||
member_t *member = memberlist[params[arg_var]];
|
||||
|
||||
if (unlikely(member == nullptr)) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: unknown member id %i", __FUNCTION__, params[arg_var]);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: unknown member id %i", __FUNCTION__, params[arg_var]);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -362,7 +362,7 @@ cell AMX_NATIVE_CALL set_movevar(AMX *amx, cell *params)
|
||||
member_t *member = memberlist[params[arg_var]];
|
||||
|
||||
if (unlikely(member == nullptr)) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: unknown member id %i", __FUNCTION__, params[arg_var]);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: unknown member id %i", __FUNCTION__, params[arg_var]);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -385,7 +385,7 @@ cell AMX_NATIVE_CALL get_movevar(AMX *amx, cell *params)
|
||||
member_t *member = memberlist[params[arg_var]];
|
||||
|
||||
if (unlikely(member == nullptr)) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: unknown member id %i", __FUNCTION__, params[arg_var]);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: unknown member id %i", __FUNCTION__, params[arg_var]);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -419,7 +419,7 @@ cell AMX_NATIVE_CALL set_ucmd(AMX *amx, cell *params)
|
||||
member_t *member = memberlist[params[arg_var]];
|
||||
|
||||
if (unlikely(member == nullptr)) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: unknown member id %i", __FUNCTION__, params[arg_var]);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: unknown member id %i", __FUNCTION__, params[arg_var]);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -440,7 +440,7 @@ cell AMX_NATIVE_CALL get_ucmd(AMX *amx, cell *params)
|
||||
member_t *member = memberlist[params[arg_var]];
|
||||
|
||||
if (unlikely(member == nullptr)) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: unknown member id %i", __FUNCTION__, params[arg_var]);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: unknown member id %i", __FUNCTION__, params[arg_var]);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -475,7 +475,7 @@ cell AMX_NATIVE_CALL set_pmtrace(AMX *amx, cell *params)
|
||||
member_t *member = memberlist[params[arg_var]];
|
||||
|
||||
if (unlikely(member == nullptr)) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: unknown member id %i", __FUNCTION__, params[arg_var]);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: unknown member id %i", __FUNCTION__, params[arg_var]);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -499,7 +499,7 @@ cell AMX_NATIVE_CALL get_pmtrace(AMX *amx, cell *params)
|
||||
member_t *member = memberlist[params[arg_var]];
|
||||
|
||||
if (unlikely(member == nullptr)) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: unknown member id %i", __FUNCTION__, params[arg_var]);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: unknown member id %i", __FUNCTION__, params[arg_var]);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -534,13 +534,13 @@ cell AMX_NATIVE_CALL set_rebuy(AMX *amx, cell *params)
|
||||
|
||||
member_t *member = memberlist[params[arg_member]];
|
||||
if (unlikely(member == nullptr)) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: unknown member id %i", __FUNCTION__, params[arg_member]);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: unknown member id %i", __FUNCTION__, params[arg_member]);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
cell *handle = (cell *)params[arg_handle];
|
||||
if (unlikely(handle == nullptr)) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: invalid rebuy handle", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: invalid rebuy handle", __FUNCTION__);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -562,13 +562,13 @@ cell AMX_NATIVE_CALL get_rebuy(AMX *amx, cell *params)
|
||||
|
||||
member_t *member = memberlist[params[arg_member]];
|
||||
if (unlikely(member == nullptr)) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: unknown member id %i", __FUNCTION__, params[arg_member]);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: unknown member id %i", __FUNCTION__, params[arg_member]);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
cell *handle = (cell *)params[arg_handle];
|
||||
if (unlikely(handle == nullptr)) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: invalid rebuy handle", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: invalid rebuy handle", __FUNCTION__);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -612,7 +612,7 @@ AMX_NATIVE_INFO ReGameVars_Natives[] =
|
||||
void RegisterNatives_Members()
|
||||
{
|
||||
if (!api_cfg.hasReGameDLL())
|
||||
fillNatives(ReGameVars_Natives, [](AMX *amx, cell *params) -> cell { MF_LogError(amx, AMX_ERR_NATIVE, "%s: isn't available", "ReGameDll"); return FALSE; });
|
||||
fillNatives(ReGameVars_Natives, [](AMX *amx, cell *params) -> cell { AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: isn't available", "ReGameDll"); return FALSE; });
|
||||
|
||||
g_amxxapi.AddNatives(ReGameVars_Natives);
|
||||
g_amxxapi.AddNatives(EngineVars_Natives);
|
||||
|
@ -271,7 +271,7 @@ cell AMX_NATIVE_CALL rg_multidmg_add(AMX *amx, cell *params)
|
||||
CHECK_ISENTITY(arg_victim);
|
||||
|
||||
if (params[arg_victim] < 0) { // null
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: victim == null", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: victim == null", __FUNCTION__);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -418,7 +418,7 @@ cell AMX_NATIVE_CALL rg_round_end(AMX *amx, cell *params)
|
||||
|
||||
auto winstatus = params[arg_win];
|
||||
if (winstatus <= 0) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: unknown win status %i", __FUNCTION__, winstatus);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: unknown win status %i", __FUNCTION__, winstatus);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -697,7 +697,7 @@ cell AMX_NATIVE_CALL rg_get_weapon_info(AMX *amx, cell *params)
|
||||
|
||||
if (!GetWeaponInfoRange(weaponId, false) && info_type != WI_ID)
|
||||
{
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: invalid weapon id %i", __FUNCTION__, weaponId);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: invalid weapon id %i", __FUNCTION__, weaponId);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -731,7 +731,7 @@ cell AMX_NATIVE_CALL rg_get_weapon_info(AMX *amx, cell *params)
|
||||
case WI_AMMO_NAME:
|
||||
{
|
||||
if (PARAMS_COUNT != arg_4) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: bad parameter count, got %i, expected %i", __FUNCTION__, PARAMS_COUNT, arg_4);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: bad parameter count, got %i, expected %i", __FUNCTION__, PARAMS_COUNT, arg_4);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -750,7 +750,7 @@ cell AMX_NATIVE_CALL rg_get_weapon_info(AMX *amx, cell *params)
|
||||
case WI_NAME:
|
||||
{
|
||||
if (PARAMS_COUNT != arg_4) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: bad parameter count, got %i, expected %i", __FUNCTION__, PARAMS_COUNT, arg_4);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: bad parameter count, got %i, expected %i", __FUNCTION__, PARAMS_COUNT, arg_4);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -767,7 +767,7 @@ cell AMX_NATIVE_CALL rg_get_weapon_info(AMX *amx, cell *params)
|
||||
return 1;
|
||||
}
|
||||
default:
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: unknown type statement %i, params count %i", __FUNCTION__, info_type, PARAMS_COUNT);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: unknown type statement %i, params count %i", __FUNCTION__, info_type, PARAMS_COUNT);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
@ -789,7 +789,7 @@ cell AMX_NATIVE_CALL rg_set_weapon_info(AMX *amx, cell *params)
|
||||
WeaponIdType weaponId = static_cast<WeaponIdType>(params[arg_weapon_id]);
|
||||
if (!GetWeaponInfoRange(weaponId, true))
|
||||
{
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: invalid weapon id %i", __FUNCTION__, weaponId);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: invalid weapon id %i", __FUNCTION__, weaponId);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -819,10 +819,10 @@ cell AMX_NATIVE_CALL rg_set_weapon_info(AMX *amx, cell *params)
|
||||
break;
|
||||
case WI_AMMO_NAME:
|
||||
case WI_NAME:
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: this change will have no effect, type statement %i", __FUNCTION__, info_type);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: this change will have no effect, type statement %i", __FUNCTION__, info_type);
|
||||
return 0;
|
||||
default:
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: unknown type statement %i, params count %i", __FUNCTION__, info_type, PARAMS_COUNT);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: unknown type statement %i, params count %i", __FUNCTION__, info_type, PARAMS_COUNT);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1380,7 +1380,7 @@ cell AMX_NATIVE_CALL rg_set_user_model(AMX *amx, cell *params)
|
||||
char modelbuf[256];
|
||||
const char* newModel = getAmxString(amx, params[arg_model], modelbuf);
|
||||
if (*newModel == '\0') {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "Model can not be empty");
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "Model can not be empty");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -1552,7 +1552,7 @@ cell AMX_NATIVE_CALL rg_instant_reload_weapons(AMX *amx, cell *params)
|
||||
{
|
||||
pWeapon = getPrivate<CBasePlayerWeapon>(params[arg_weapon]);
|
||||
if (!pWeapon || !pWeapon->IsWeapon()) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: Invalid entity weapon", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: Invalid entity weapon", __FUNCTION__);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
@ -1709,7 +1709,7 @@ cell AMX_NATIVE_CALL rg_switch_weapon(AMX *amx, cell *params)
|
||||
|
||||
auto pWeapon = getPrivate<CBasePlayerWeapon>(params[arg_weapon]);
|
||||
if (pWeapon == nullptr || !pWeapon->IsWeapon()) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: Invalid entity weapon", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: Invalid entity weapon", __FUNCTION__);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -1752,7 +1752,7 @@ cell AMX_NATIVE_CALL rg_is_player_can_takedamage(AMX *amx, cell *params)
|
||||
|
||||
CBaseEntity *pAttacker = getPrivate<CBaseEntity>(params[arg_attacker]);
|
||||
if (!pAttacker) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: Invalid entity attacker", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: Invalid entity attacker", __FUNCTION__);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -1776,7 +1776,7 @@ cell AMX_NATIVE_CALL rg_get_weaponbox_id(AMX *amx, cell *params)
|
||||
|
||||
CWeaponBox *pEntityBox = getPrivate<CWeaponBox>(params[arg_entity]);
|
||||
if (pEntityBox == nullptr) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: Invalid entity weaponbox", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: Invalid entity weaponbox", __FUNCTION__);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -2147,10 +2147,10 @@ AMX_NATIVE_INFO Misc_Natives_RH[] =
|
||||
void RegisterNatives_Misc()
|
||||
{
|
||||
if (!api_cfg.hasReGameDLL())
|
||||
fillNatives(Misc_Natives_RG, [](AMX *amx, cell *params) -> cell { MF_LogError(amx, AMX_ERR_NATIVE, "%s: isn't available", "ReGameDll"); return FALSE; });
|
||||
fillNatives(Misc_Natives_RG, [](AMX *amx, cell *params) -> cell { AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: isn't available", "ReGameDll"); return FALSE; });
|
||||
|
||||
if (!api_cfg.hasReHLDS())
|
||||
fillNatives(Misc_Natives_RH, [](AMX *amx, cell *params) -> cell { MF_LogError(amx, AMX_ERR_NATIVE, "%s: isn't available", "ReHlds"); return FALSE; });
|
||||
fillNatives(Misc_Natives_RH, [](AMX *amx, cell *params) -> cell { AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: isn't available", "ReHlds"); return FALSE; });
|
||||
|
||||
g_amxxapi.AddNatives(Misc_Natives_RG);
|
||||
g_amxxapi.AddNatives(Misc_Natives_RH);
|
||||
|
@ -21,7 +21,7 @@ cell AMX_NATIVE_CALL RegisterQueryFile(AMX *amx, cell *params)
|
||||
{
|
||||
case RES_TYPE_NONE:
|
||||
case RES_TYPE_IGNORE:
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: invalid flag type \"%i\".", __FUNCTION__, flag);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: invalid flag type \"%i\".", __FUNCTION__, flag);
|
||||
break;
|
||||
case RES_TYPE_EXISTS:
|
||||
if (params[arg_hash] == -1) {
|
||||
@ -35,7 +35,7 @@ cell AMX_NATIVE_CALL RegisterQueryFile(AMX *amx, cell *params)
|
||||
char filename[MAX_PATH];
|
||||
const char *file = getAmxString(amx, params[arg_file], filename);
|
||||
if (!file || file[0] == '\0') {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: file can not be empty.", __FUNCTION__);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: file can not be empty.", __FUNCTION__);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -45,7 +45,7 @@ cell AMX_NATIVE_CALL RegisterQueryFile(AMX *amx, cell *params)
|
||||
int funcid;
|
||||
if (unlikely(g_amxxapi.amx_FindPublic(amx, func, &funcid) != AMX_ERR_NONE))
|
||||
{
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: public function \"%s\" not found.", __FUNCTION__, func);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: public function \"%s\" not found.", __FUNCTION__, func);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -79,7 +79,7 @@ AMX_NATIVE_INFO Rechecker_Natives[] =
|
||||
void RegisterNatives_Rechecker()
|
||||
{
|
||||
if (!api_cfg.hasRechecker())
|
||||
fillNatives(Rechecker_Natives, [](AMX *amx, cell *params) -> cell { MF_LogError(amx, AMX_ERR_NATIVE, "%s: isn't available", "Rechecker"); return FALSE; });
|
||||
fillNatives(Rechecker_Natives, [](AMX *amx, cell *params) -> cell { AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: isn't available", "Rechecker"); return FALSE; });
|
||||
|
||||
g_amxxapi.AddNatives(Rechecker_Natives);
|
||||
}
|
||||
|
@ -78,7 +78,7 @@ AMX_NATIVE_INFO Reunion_Natives[] =
|
||||
void RegisterNatives_Reunion()
|
||||
{
|
||||
if (!api_cfg.hasReunion())
|
||||
fillNatives(Reunion_Natives, [](AMX *amx, cell *params) -> cell { MF_LogError(amx, AMX_ERR_NATIVE, "%s: isn't available", "Reunion"); return FALSE; });
|
||||
fillNatives(Reunion_Natives, [](AMX *amx, cell *params) -> cell { AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: isn't available", "Reunion"); return FALSE; });
|
||||
|
||||
g_amxxapi.AddNatives(Reunion_Natives);
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ AMX_NATIVE_INFO VTC_Natives[] =
|
||||
void RegisterNatives_VTC()
|
||||
{
|
||||
if (!api_cfg.hasVTC())
|
||||
fillNatives(VTC_Natives, [](AMX *amx, cell *params) -> cell { MF_LogError(amx, AMX_ERR_NATIVE, "%s: isn't available", "VTC"); return FALSE; });
|
||||
fillNatives(VTC_Natives, [](AMX *amx, cell *params) -> cell { AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: isn't available", "VTC"); return FALSE; });
|
||||
|
||||
g_amxxapi.AddNatives(VTC_Natives);
|
||||
}
|
||||
|
@ -52,7 +52,7 @@ CTempStrings::CTempStrings()
|
||||
char* CTempStrings::push(AMX* amx)
|
||||
{
|
||||
if (m_current == STRINGS_MAX) {
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "temp strings limit exceeded, contact reapi authors");
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "temp strings limit exceeded, contact reapi authors");
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@ -69,7 +69,7 @@ CBaseEntity *GiveNamedItemInternal(AMX *amx, CBasePlayer *pPlayer, const char *p
|
||||
edict_t *pEdict = CREATE_NAMED_ENTITY(ALLOC_STRING(pszItemName));
|
||||
if (FNullEnt(pEdict))
|
||||
{
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "%s: Item \"%s\" failed to create!\n", __FUNCTION__, pszItemName);
|
||||
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: Item \"%s\" failed to create!\n", __FUNCTION__, pszItemName);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user