using System;
namespace pkNX.Structures;
///
/// Feature flags for the
///
///
/// Flag version listed here is for CUR_FILE_VERSION = 10, circa 2008
///
[Flags]
public enum AmxFlags : ushort
{
NONE,
/// All function calls use overlays
OVERLAY = 0x01,
/// Symbolic info is available
DEBUG = 0x02,
/// Compact encoding
COMPACT = 0x04,
/// Script uses the sleep instruction (possible re-entry or power-down mode)
SLEEP = 0x08,
/// No array bounds checking; no BREAK opcodes
NOCHECKS = 0x10,
/// Data section is explicitly initialized
DSEG_INIT = 0x20,
/// Script new (optimized) version of SYSREQ opcode
SYSREQN = 0x800,
/// All native functions are registered
NTVREG = 0x1000,
/// Abstract machine is JIT compiled
JITC = 0x2000,
/// Busy verifying P-code
VERIFY = 0x4000,
/// AMX has been initialized
INIT = 0x8000,
}
public static class AmxFlagsExtensions
{
public static bool HasFlagFast(this AmxFlags value, AmxFlags flag)
{
return (value & flag) != 0;
}
}