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; } }