Added FindFlagChar native. (bug 3776, r=dvander)
This commit is contained in:
parent
f439cad46c
commit
5d5400a9ac
@ -42,7 +42,7 @@ using namespace SourceMod;
|
|||||||
* Add 1 to the RHS of this expression to bump the intercom file
|
* Add 1 to the RHS of this expression to bump the intercom file
|
||||||
* This is to prevent mismatching core/logic binaries
|
* This is to prevent mismatching core/logic binaries
|
||||||
*/
|
*/
|
||||||
#define SM_LOGIC_MAGIC (0x0F47C0DE - 14)
|
#define SM_LOGIC_MAGIC (0x0F47C0DE - 15)
|
||||||
|
|
||||||
#if defined SM_LOGIC
|
#if defined SM_LOGIC
|
||||||
class IVEngineServer
|
class IVEngineServer
|
||||||
|
@ -507,6 +507,22 @@ static cell_t FindFlagByChar(IPluginContext *pContext, const cell_t *params)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static cell_t FindFlagChar(IPluginContext *pContext, const cell_t *params)
|
||||||
|
{
|
||||||
|
cell_t *addr;
|
||||||
|
pContext->LocalToPhysAddr(params[2], &addr);
|
||||||
|
|
||||||
|
char flagchar;
|
||||||
|
if (!adminsys->FindFlagChar((AdminFlag)params[1], &flagchar))
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
*addr = (cell_t)flagchar;
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
static cell_t ReadFlagString(IPluginContext *pContext, const cell_t *params)
|
static cell_t ReadFlagString(IPluginContext *pContext, const cell_t *params)
|
||||||
{
|
{
|
||||||
char *flag;
|
char *flag;
|
||||||
@ -563,6 +579,7 @@ REGISTER_NATIVES(adminNatives)
|
|||||||
{"CreateAuthMethod", CreateAuthMethod},
|
{"CreateAuthMethod", CreateAuthMethod},
|
||||||
{"FindFlagByName", FindFlagByName},
|
{"FindFlagByName", FindFlagByName},
|
||||||
{"FindFlagByChar", FindFlagByChar},
|
{"FindFlagByChar", FindFlagByChar},
|
||||||
|
{"FindFlagChar", FindFlagChar},
|
||||||
{"ReadFlagString", ReadFlagString},
|
{"ReadFlagString", ReadFlagString},
|
||||||
{"GetAdmGroupImmunityLevel",GetAdmGroupImmunityLevel},
|
{"GetAdmGroupImmunityLevel",GetAdmGroupImmunityLevel},
|
||||||
{"SetAdmGroupImmunityLevel",SetAdmGroupImmunityLevel},
|
{"SetAdmGroupImmunityLevel",SetAdmGroupImmunityLevel},
|
||||||
|
@ -516,6 +516,15 @@ native bool:FindFlagByName(const String:name[], &AdminFlag:flag);
|
|||||||
*/
|
*/
|
||||||
native bool:FindFlagByChar(c, &AdminFlag:flag);
|
native bool:FindFlagByChar(c, &AdminFlag:flag);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Finds a flag char by a gived admin flag.
|
||||||
|
*
|
||||||
|
* @param flag Flag to look up.
|
||||||
|
* @param c Variable to store flag char.
|
||||||
|
* @return True on success, false if not found.
|
||||||
|
*/
|
||||||
|
native bool:FindFlagChar(AdminFlag:flag, &c);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Converts a string of flag characters to a bit string.
|
* Converts a string of flag characters to a bit string.
|
||||||
*
|
*
|
||||||
|
@ -35,7 +35,7 @@
|
|||||||
#include <IShareSys.h>
|
#include <IShareSys.h>
|
||||||
|
|
||||||
#define SMINTERFACE_ADMINSYS_NAME "IAdminSys"
|
#define SMINTERFACE_ADMINSYS_NAME "IAdminSys"
|
||||||
#define SMINTERFACE_ADMINSYS_VERSION 5
|
#define SMINTERFACE_ADMINSYS_VERSION 6
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @file IAdminSystem.h
|
* @file IAdminSystem.h
|
||||||
@ -717,6 +717,15 @@ namespace SourceMod
|
|||||||
const char *cmd,
|
const char *cmd,
|
||||||
FlagBits flags,
|
FlagBits flags,
|
||||||
bool override_only) =0;
|
bool override_only) =0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Reads a flag as the corresponding character.
|
||||||
|
*
|
||||||
|
* @param flag Flag to look up.
|
||||||
|
* @param c Variable to store flag char.
|
||||||
|
* @return True on success, false if not found.
|
||||||
|
*/
|
||||||
|
virtual bool FindFlagChar(AdminFlag flag, char *c);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user