#pragma once // ------------------------------------------------------------------------------------------------ #include // ------------------------------------------------------------------------------------------------ #include #include #include #include #include /* ------------------------------------------------------------------------------------------------ * ARCHITECTURE IDENTIFIERS */ #define SQMOD_ARCH_ID_UNKNOWN 0 #define SQMOD_ARCH_ID_32_BIT 1 #define SQMOD_ARCH_ID_64_BIT 2 /* ------------------------------------------------------------------------------------------------ * PLATFORM IDENTIFIERS */ #define SQMOD_PLAT_ID_UNKNOWN 0 #define SQMOD_PLAT_ID_WINDOWS 1 #define SQMOD_PLAT_ID_LINUX 2 #define SQMOD_PLAT_ID_MACOS 3 #define SQMOD_PLAT_ID_UNIX 4 /* ------------------------------------------------------------------------------------------------ * OS IDENTIFICATION */ #if defined(_WIN32) || defined(__WIN32__) || defined(_WIN) || defined(__WIN__) // Windows x32 #define SQMOD_OS_WINDOWS #define SQMOD_OS_32 #define SQMOD_OS_WINDOWS32 #define SQMOD_ARCHITECTURE 1 #define SQMOD_PLATFORM 1 #elif defined(_WIN64) || defined(__WIN64__) // Windows x64 #define SQMOD_OS_WINDOWS #define SQMOD_OS_64 #define SQMOD_OS_WINDOWS64 #define SQMOD_ARCHITECTURE 2 #define SQMOD_PLATFORM 1 #elif defined(linux) || defined(__linux) || defined(__linux__) // Linux #define SQMOD_OS_LINUX #if __GNUC__ #if __x86_64__ || __ppc64__ #define SQMOD_OS_64 #define SQMOD_OS_LINUX64 #define SQMOD_ARCHITECTURE 2 #define SQMOD_PLATFORM 2 #else #define SQMOD_OS_32 #define SQMOD_OS_LINUX32 #define SQMOD_ARCHITECTURE 1 #define SQMOD_PLATFORM 2 #endif #endif #else // Unsupported system #error This operating system is not supported by the Squirrel Module #endif /* ------------------------------------------------------------------------------------------------ * SOFTWARE INFORMATION */ #define SQMOD_NAME "Squirrel Module" #define SQMOD_AUTHOR "Sandu Liviu Catalin (S.L.C)" #define SQMOD_COPYRIGHT "Copyright (C) 2018 Sandu Liviu Catalin" #define SQMOD_HOST_NAME "SqModHost" #define SQMOD_VERSION 001 #define SQMOD_VERSION_STR "0.0.1" #define SQMOD_VERSION_MAJOR 0 #define SQMOD_VERSION_MINOR 0 #define SQMOD_VERSION_PATCH 1 /* ------------------------------------------------------------------------------------------------ * VCMP SDK VERSION CHECK. */ #define SQMOD_SDK_MATCH(MJR, MNR) ((PLUGIN_API_MAJOR == (MJR)) && (PLUGIN_API_MINOR == (MNR))) #define SQMOD_SDK_LEAST(MJR, MNR) ((PLUGIN_API_MAJOR >= (MJR)) && (PLUGIN_API_MINOR >= (MNR))) #define SQMOD_SDK_PRIOR(MJR, MNR) ((PLUGIN_API_MAJOR < (MJR)) && (PLUGIN_API_MINOR < (MNR))) /* ------------------------------------------------------------------------------------------------ * API EXPORT. */ #if defined(_MSC_VER) #define SQMOD_API_EXPORT extern "C" __declspec(dllexport) #elif defined(__GNUC__) #define SQMOD_API_EXPORT extern "C" #else #define SQMOD_API_EXPORT extern "C" #endif /* ------------------------------------------------------------------------------------------------ * SQRAT FORWARD DECLARATIONS */ namespace Sqrat { class Array; class Object; class Table; class Function; struct LightObj; class StackStrF; } // Namespace:: Sqrat /* ------------------------------------------------------------------------------------------------ * FUNDAMENTAL DATATYPES */ namespace SqMod { /**< integer type */ #ifdef SQMOD_LONG typedef int64_t Int, Integer; typedef uint64_t Uint, Uinteger, UnisgnedInteger; #else typedef int32_t Int, Integer; typedef uint32_t Uint, Uinteger, UnisgnedInteger; #endif /**< boolean type */ typedef uint8_t Boolean; /**< character type */ typedef bool BoolT; /**< character types */ typedef char CharT; /**< user type */ typedef void * VoidP; /* ------------------------------------------------------------------------------------------------ * SHORT SQUIRREL TYPENAMES */ typedef SQUnsignedInteger32 SQUint32; typedef SQUnsignedInteger SQUint; typedef SQInteger SQInt; // ------------------------------------------------------------------------------------------------ using namespace Sqrat; /* ------------------------------------------------------------------------------------------------ * Squirrel compatible stl string. */ typedef std::basic_string< SQChar > String; /* ------------------------------------------------------------------------------------------------ * FORWARD DECLARATIONS */ // ------------------------------------------------------------------------------------------------ class Core; class Logger; class Signal; // ------------------------------------------------------------------------------------------------ class AreaManager; struct AreaCell; struct Area; // ------------------------------------------------------------------------------------------------ class CmdManager; class CmdListener; // ------------------------------------------------------------------------------------------------ struct AABB; struct Buffer; struct Circle; struct Color3; struct Color4; struct Quaternion; struct Sphere; struct Vector2; struct Vector2i; struct Vector3; struct Vector4; // ------------------------------------------------------------------------------------------------ struct BlipInst; struct CheckpointInst; struct KeyBindInst; struct ObjectInst; struct PickupInst; struct PlayerInst; struct VehicleInst; // ------------------------------------------------------------------------------------------------ class CBlip; class CCheckpoint; class CKeyBind; class CObject; class CPickup; class CPlayer; class CVehicle; // ------------------------------------------------------------------------------------------------ template < typename > class LongInt; typedef LongInt< signed long long > SLongInt; typedef LongInt< unsigned long long > ULongInt; // ------------------------------------------------------------------------------------------------ class SqBuffer; /* ------------------------------------------------------------------------------------------------ * FORWARD DECLARATIONS */ enum EventType { EVT_UNKNOWN = 0, EVT_CUSTOMEVENT, EVT_BLIPCREATED, EVT_CHECKPOINTCREATED, EVT_KEYBINDCREATED, EVT_OBJECTCREATED, EVT_PICKUPCREATED, EVT_PLAYERCREATED, EVT_VEHICLECREATED, EVT_BLIPDESTROYED, EVT_CHECKPOINTDESTROYED, EVT_KEYBINDDESTROYED, EVT_OBJECTDESTROYED, EVT_PICKUPDESTROYED, EVT_PLAYERDESTROYED, EVT_VEHICLEDESTROYED, EVT_BLIPCUSTOM, EVT_CHECKPOINTCUSTOM, EVT_KEYBINDCUSTOM, EVT_OBJECTCUSTOM, EVT_PICKUPCUSTOM, EVT_PLAYERCUSTOM, EVT_VEHICLECUSTOM, EVT_SERVERSTARTUP, EVT_SERVERSHUTDOWN, EVT_SERVERFRAME, EVT_INCOMINGCONNECTION, EVT_PLAYERREQUESTCLASS, EVT_PLAYERREQUESTSPAWN, EVT_PLAYERSPAWN, EVT_PLAYERWASTED, EVT_PLAYERKILLED, EVT_PLAYEREMBARKING, EVT_PLAYEREMBARKED, EVT_PLAYERDISEMBARK, EVT_PLAYERRENAME, EVT_PLAYERSTATE, EVT_STATENONE, EVT_STATENORMAL, EVT_STATEAIM, EVT_STATEDRIVER, EVT_STATEPASSENGER, EVT_STATEENTERDRIVER, EVT_STATEENTERPASSENGER, EVT_STATEEXIT, EVT_STATEUNSPAWNED, EVT_PLAYERACTION, EVT_ACTIONNONE, EVT_ACTIONNORMAL, EVT_ACTIONAIMING, EVT_ACTIONSHOOTING, EVT_ACTIONJUMPING, EVT_ACTIONLIEDOWN, EVT_ACTIONGETTINGUP, EVT_ACTIONJUMPVEHICLE, EVT_ACTIONDRIVING, EVT_ACTIONDYING, EVT_ACTIONWASTED, EVT_ACTIONEMBARKING, EVT_ACTIONDISEMBARKING, EVT_PLAYERBURNING, EVT_PLAYERCROUCHING, EVT_PLAYERGAMEKEYS, EVT_PLAYERSTARTTYPING, EVT_PLAYERSTOPTYPING, EVT_PLAYERAWAY, EVT_PLAYERMESSAGE, EVT_PLAYERCOMMAND, EVT_PLAYERPRIVATEMESSAGE, EVT_PLAYERKEYPRESS, EVT_PLAYERKEYRELEASE, EVT_PLAYERSPECTATE, EVT_PLAYERUNSPECTATE, EVT_PLAYERCRASHREPORT, EVT_PLAYERMODULELIST, EVT_VEHICLEEXPLODE, EVT_VEHICLERESPAWN, EVT_OBJECTSHOT, EVT_OBJECTTOUCHED, EVT_OBJECTWORLD, EVT_OBJECTALPHA, EVT_OBJECTREPORT, EVT_PICKUPCLAIMED, EVT_PICKUPCOLLECTED, EVT_PICKUPRESPAWN, EVT_PICKUPWORLD, EVT_PICKUPALPHA, EVT_PICKUPAUTOMATIC, EVT_PICKUPAUTOTIMER, EVT_PICKUPOPTION, EVT_CHECKPOINTENTERED, EVT_CHECKPOINTEXITED, EVT_CHECKPOINTWORLD, EVT_CHECKPOINTRADIUS, EVT_ENTITYPOOL, EVT_CLIENTSCRIPTDATA, EVT_PLAYERUPDATE, EVT_VEHICLEUPDATE, EVT_PLAYERHEALTH, EVT_PLAYERARMOUR, EVT_PLAYERWEAPON, EVT_PLAYERHEADING, EVT_PLAYERPOSITION, EVT_PLAYEROPTION, EVT_PLAYERADMIN, EVT_PLAYERWORLD, EVT_PLAYERTEAM, EVT_PLAYERSKIN, EVT_PLAYERMONEY, EVT_PLAYERSCORE, EVT_PLAYERWANTEDLEVEL, EVT_PLAYERIMMUNITY, EVT_PLAYERALPHA, EVT_VEHICLECOLOR, EVT_VEHICLEHEALTH, EVT_VEHICLEPOSITION, EVT_VEHICLEROTATION, EVT_VEHICLEOPTION, EVT_VEHICLEWORLD, EVT_VEHICLEIMMUNITY, EVT_VEHICLEPARTSTATUS, EVT_VEHICLETYRESTATUS, EVT_VEHICLEDAMAGEDATA, EVT_VEHICLERADIO, EVT_VEHICLEHANDLINGRULE, EVT_SERVEROPTION, EVT_SCRIPTRELOAD, EVT_SCRIPTLOADED, EVT_MAX }; /* ------------------------------------------------------------------------------------------------ * Entity flags to control certain behaviors. */ enum EntityFlags { ENF_DEFAULT = (0), ENF_OWNED = (1u << 1u), ENF_LOCKED = (1u << 2u), ENF_AREA_TRACK = (1u << 3u), ENF_DIST_TRACK = (1u << 4u) }; /* ------------------------------------------------------------------------------------------------ * Used to identify entity types. */ enum EntityType { ENT_UNKNOWN = 0, ENT_BLIP, ENT_CHECKPOINT, ENT_KEYBIND, ENT_OBJECT, ENT_PICKUP, ENT_PLAYER, ENT_VEHICLE }; } // Namespace:: SqMod /* ------------------------------------------------------------------------------------------------ * FORMAT ATTRIBUTE */ #define SQMOD_FORMAT_ATTR(mode, index, first) __attribute__ ((format(mode, index, first))) #ifdef _SQ64 // Chances are (u)int64_t is defined as long and not long long #if defined(SQMOD_OS_LINUX) && (LONG_MAX == LLONG_MAX) #define PRINT_SZ_FMT "lu" #define PRINT_INT_FMT "ld" #define PRINT_UINT_FMT "lu" #else #define PRINT_SZ_FMT "llu" #define PRINT_INT_FMT "lld" #define PRINT_UINT_FMT "llu" #endif #else #define PRINT_SZ_FMT "u" #define PRINT_INT_FMT "d" #define PRINT_UINT_FMT "u" #endif /* ------------------------------------------------------------------------------------------------ * HELPERS */ #define SQMOD_CONCAT_(a,b) a##b #define SQMOD_CONCAT(a,b) SQMOD_CONCAT_(a,b) // ------------------------------------------------------------------------------------------------ #ifdef _WIN32 #define sqmod_stricmp(a,b) stricmp(a,b) #define sqmod_strnicmp(a,b,n) strnicmp(a,b,n) #else #define sqmod_stricmp(a,b) strcasecmp(a,b) #define sqmod_strnicmp(a,b,n) strncasecmp(a,b,n) #endif /* ------------------------------------------------------------------------------------------------ * OS SPECIFFIC OPTIONS */ #if defined(SQMOD_OS_WINDOWS) #define SQMOD_DIRSEP_CHAR '\\' #define SQMOD_DIRSEP_STR "\\" #else #define SQMOD_DIRSEP_CHAR '/' #define SQMOD_DIRSEP_STR "/" #endif /* ------------------------------------------------------------------------------------------------ * SYMBOL EXPORTING */ #if defined(_MSC_VER) #define SQMOD_EXPORT __declspec(dllexport) #define SQMOD_IMPORT __declspec(dllimport) #elif defined(__GNUC__) #define SQMOD_EXPORT __declspec(dllexport) #define SQMOD_IMPORT __declspec(dllimport) #endif #if defined(__cplusplus) #define SQMOD_EXTERN_C extern "C" #else #define SQMOD_EXTERN_C /* */ #endif /* ------------------------------------------------------------------------------------------------ * CALLING CONVENTIONS */ #if defined(_MSC_VER) #define SQMOD_STDCALL __stdcall #define SQMOD_CDECL __cdecl #define SQMOD_FASTCALL __fastcall #elif defined(__GNUC__) #define SQMOD_STDCALL __attribute__((stdcall)) #define SQMOD_CDECL /* */ #define SQMOD_FASTCALL __attribute__((fastcall)) #endif /* ------------------------------------------------------------------------------------------------ * FUNCTION INLINING */ #if defined(_MSC_VER) #define SQMOD_FORCEINLINE __forceinline #elif defined(__GNUC__) || defined(__clang__) #define SQMOD_FORCEINLINE __attribute__((always_inline)) #else #define SQMOD_FORCEINLINE inline #endif /* ------------------------------------------------------------------------------------------------ * ATTRIBUTES */ #if defined(__GNUC__) && __GNUC__ >= 7 #define SQ_FALL_THROUGH __attribute__ ((fallthrough)) #else #define SQ_FALL_THROUGH ((void)0) #endif // __GNUC__ >= 7 /* ------------------------------------------------------------------------------------------------ * COMMON ATTRIBUTES */ #if __cplusplus >= 201703L #define SQMOD_NODISCARD [[nodiscard]] #else #define SQMOD_NODISCARD #endif /* ------------------------------------------------------------------------------------------------ * LOGGING LOCATION */ #define SQMOD_TRUESTRINGIZE(x) #x #define SQMOD_STRINGIZEWRAP(x) SQMOD_TRUESTRINGIZE(x) #if defined(_DEBUG) || defined(SQMOD_EXCEPTLOC) #define SQMOD_MSGLOC(m) (m " =>[" __FILE__ ":" SQMOD_STRINGIZEWRAP(__LINE__) "] ") #else #define SQMOD_MSGLOC(m) (m) #endif // _DEBUG /* ------------------------------------------------------------------------------------------------ * EXCEPTION THROWING */ #if defined(_DEBUG) || defined(SQMOD_EXCEPTLOC) #define STHROW(e, m, ...) throw e(m " =>[" __FILE__ ":" SQMOD_STRINGIZEWRAP(__LINE__) "] ", ##__VA_ARGS__) #define STHROWF(m, ...) SqThrowF(m " =>[" __FILE__ ":" SQMOD_STRINGIZEWRAP(__LINE__) "] ", ##__VA_ARGS__) #define STHROWLASTF(m, ...) SqThrowLastF(m " =>[" __FILE__ ":" SQMOD_STRINGIZEWRAP(__LINE__) "] ", ##__VA_ARGS__) #else #define STHROW(e, m, ...) throw e(m, ##__VA_ARGS__) #define STHROWF(m, ...) SqThrowF(m, ##__VA_ARGS__) #define STHROWLASTF(m, ...) SqThrowLastF(m, ##__VA_ARGS__) #endif // _DEBUG /* ------------------------------------------------------------------------------------------------ * EVENT TRACEBACK */ #if defined(_DEBUG) || defined(SQMOD_ENABLE_SV_EV_TRACEBACK) #define SQMOD_SV_EV_TRACEBACK(m, ...) LogDbg(m, ##__VA_ARGS__); #else #define SQMOD_SV_EV_TRACEBACK(m, ...) /*ignored...*/ #endif // _DEBUG #if defined(_DEBUG) || defined(SQMOD_ENABLE_CO_EV_TRACEBACK) #define SQMOD_CO_EV_TRACEBACK(m, ...) LogSDbg(m, ##__VA_ARGS__); #else #define SQMOD_CO_EV_TRACEBACK(m, ...) /*ignored...*/ #endif // _DEBUG /* ------------------------------------------------------------------------------------------------ * VARIOUS DEFINES */ #define SQMOD_DECL_UNUSED_VAR(t, n, v) t n = v; (void)(n) #define SQMOD_UNUSED_VAR(n) (void)(n) #define VALID_ENTITY(e) ((e) >= 0) #define INVALID_ENTITY(e) ((e) < 0) #define VALID_ENTITYEX(e, m) (((e) >= 0) && ((e) < (m))) #define INVALID_ENTITYEX(e, m) (((e) < 0) || ((e) >= (m))) #define VALID_ENTITYGET(e) (((e) >= 0) ? (e) : -1) #define VALID_ENTITYGETEX(e, m) (((e) >= 0) && ((e) < (m)) ? (e) : -1) #define VALID_VEHCOL(e) (((e) >= 0) && ((e) <= 94)) #define INVALID_VEHCOL(e) (((e) < 0) && ((e) > 94)) /* ------------------------------------------------------------------------------------------------ * COLOR PACKING */ #define SQMOD_PACK_RGB(r, g, b) static_cast< uint32_t >((r) << 16u | (g) << 8u | (b)) #define SQMOD_PACK_RGBA(r, g, b, a) static_cast< uint32_t >((r) << 24u | (g) << 16u | (b) << 8u | (a)) #define SQMOD_PACK_ARGB(a, r, g, b) static_cast< uint32_t >((a) << 24u | (r) << 16u | (g) << 8u | (b)) #define SQMOD_PACK_RGB_TO_RGBA(r, g, b) static_cast< uint32_t >((r) << 24u | (g) << 16u | (b) << 8u | 0u) #define SQMOD_PACK_RGB_TO_ARGB(r, g, b) static_cast< uint32_t >(0u << 24u | (r) << 16u | (g) << 8u | (b)) /* ------------------------------------------------------------------------------------------------ * GENERAL RESPONSES */ #define SQMOD_SUCCESS 1 #define SQMOD_FAILURE 0 #define SQMOD_UNKNOWN (-1) #define SQMOD_TRUE 1 #define SQMOD_FALSE 0 #define SQMOD_NULL nullptr #define SQMOD_BLANK 0 /* ------------------------------------------------------------------------------------------------ * GENERAL SERVER LIMITS */ #define SQMOD_NAMELENGTH 64 #define SQMOD_NAMELENGTH_T 65 #define SQMOD_UIDLENGTH 40 #define SQMOD_UIDLENGTH_T 41 #define SQMOD_IPADDRESS 16 #define SQMOD_IPADDRESS_T 17 #define SQMOD_SVNAMELENGTH 128 #define SQMOD_PASSWDLENGTH 128 #define SQMOD_GMNAMELENGTH 96 #define SQMOD_MSGLENGTH 512 #define SQMOD_CMDLENGTH 512 /* ------------------------------------------------------------------------------------------------ * INITIAL ENTITY POOLS */ #define SQMOD_BLIP_POOL 100 #define SQMOD_CHECKPOINT_POOL 2000 #define SQMOD_KEYBIND_POOL 256 #define SQMOD_OBJECT_POOL 3000 #define SQMOD_PICKUP_POOL 2000 #define SQMOD_PLAYER_POOL 100 #define SQMOD_VEHICLE_POOL 1000 /* ------------------------------------------------------------------------------------------------ * ENTITY CREATE/DESTROY */ #define SQMOD_CREATE_DEFAULT 0 #define SQMOD_CREATE_MANUAL (-3) #define SQMOD_CREATE_POOL (-4) #define SQMOD_CREATE_AUTOMATIC (-5) #define SQMOD_CREATE_OVERWRITE (-6) #define SQMOD_CREATE_IMPORT (-7) #define SQMOD_DESTROY_DEFAULT 0 #define SQMOD_DESTROY_MANUAL (-3) #define SQMOD_DESTROY_POOL (-4) #define SQMOD_DESTROY_AUTOMATIC (-5) #define SQMOD_DESTROY_OVERWRITE (-6) #define SQMOD_DESTROY_CLEANUP (-7) /* ------------------------------------------------------------------------------------------------ * MODEL ID LIMITS */ #define SQMOD_WEAPONID_MAX 71 #define SQMOD_WEAPONID_CAP 256 #define SQMOD_VEHICLEID_MAX 237 #define SQMOD_VEHICLEID_CAP 512 #define SQMOD_SKINID_MAX 160 #define SQMOD_SKINID_CAP 256 #define SQMOD_MODELID_MAX 640 #define SQMOD_MODELID_CAP 2048 /* ------------------------------------------------------------------------------------------------ * SCRIPT OPTIONS */ /* ------------------------------------------------------------------------------------------------ * PLUG-IN OPTIONS */ #define SQMOD_STACK_SIZE 2048 #define SQMOD_MAX_TASKS 1024 #define SQMOD_MAX_ROUTINES 1024 #define SQMOD_MAX_CMD_ARGS 12 #define SQMOD_PLAYER_MSG_PREFIXES 16 #define SQMOD_PLAYER_TMP_BUFFER 128 /* ------------------------------------------------------------------------------------------------ * PLAYER ACTION IDENTIFIERS */ #define SQMOD_PLAYER_ACTION_NONE 0 #define SQMOD_PLAYER_ACTION_NORMAL 1 #define SQMOD_PLAYER_ACTION_AIMING 12 #define SQMOD_PLAYER_ACTION_SHOOTING 16 #define SQMOD_PLAYER_ACTION_JUMPING 41 #define SQMOD_PLAYER_ACTION_LYING_ON_GROUND 42 #define SQMOD_PLAYER_ACTION_GETTING_UP 43 #define SQMOD_PLAYER_ACTION_JUMPING_FROM_VEHICLE 44 #define SQMOD_PLAYER_ACTION_DRIVING 50 #define SQMOD_PLAYER_ACTION_DYING 54 #define SQMOD_PLAYER_ACTION_WASTED 55 #define SQMOD_PLAYER_ACTION_ENTERING_VEHICLE 58 #define SQMOD_PLAYER_ACTION_EXITING_VEHICLE 60 #define SQMOD_PLAYER_ACTION_MAX 60 /* ------------------------------------------------------------------------------------------------ * WEATHER IDENTIFIERS */ #define SQMOD_WEATHER_MOSTLYCLEAR 0 #define SQMOD_WEATHER_OVERCAST 1 #define SQMOD_WEATHER_THUNDERSTORM 2 #define SQMOD_WEATHER_STORM 2 #define SQMOD_WEATHER_STORMY 2 #define SQMOD_WEATHER_FOGGY 3 #define SQMOD_WEATHER_FOG 3 #define SQMOD_WEATHER_CLEAR 4 #define SQMOD_WEATHER_SUNNY 4 #define SQMOD_WEATHER_RAIN 5 #define SQMOD_WEATHER_RAINY 5 #define SQMOD_WEATHER_DARKCLOUDY 6 #define SQMOD_WEATHER_LIGHTCLOUDY 7 #define SQMOD_WEATHER_OVERCASTCLOUDY 8 #define SQMOD_WEATHER_BLACKCLOUDS 9 #define SQMOD_WEATHER_MAX 9 /* ------------------------------------------------------------------------------------------------ * WEAPON IDENTIFIERS */ #define SQMOD_WEAPON_UNARMED 0 #define SQMOD_WEAPON_BRASSKNUCKLES 1 #define SQMOD_WEAPON_SCREWDRIVER 2 #define SQMOD_WEAPON_GOLFCLUB 3 #define SQMOD_WEAPON_NIGHTSTICK 4 #define SQMOD_WEAPON_KNIFE 5 #define SQMOD_WEAPON_BASEBALLBAT 6 #define SQMOD_WEAPON_HAMMER 7 #define SQMOD_WEAPON_MEATCLEAVER 8 #define SQMOD_WEAPON_MACHETE 9 #define SQMOD_WEAPON_KATANA 10 #define SQMOD_WEAPON_CHAINSAW 11 #define SQMOD_WEAPON_GRENADE 12 #define SQMOD_WEAPON_REMOTE 13 #define SQMOD_WEAPON_TEARGAS 14 #define SQMOD_WEAPON_MOLOTOV 15 #define SQMOD_WEAPON_ROCKET 16 #define SQMOD_WEAPON_COLT45 17 #define SQMOD_WEAPON_PYTHON 18 #define SQMOD_WEAPON_SHOTGUN 19 #define SQMOD_WEAPON_SPAS12 20 #define SQMOD_WEAPON_STUBBY 21 #define SQMOD_WEAPON_TEC9 22 #define SQMOD_WEAPON_UZI 23 #define SQMOD_WEAPON_INGRAM 24 #define SQMOD_WEAPON_MP5 25 #define SQMOD_WEAPON_M4 26 #define SQMOD_WEAPON_RUGER 27 #define SQMOD_WEAPON_SNIPER 28 #define SQMOD_WEAPON_LASERSCOPE 29 #define SQMOD_WEAPON_ROCKETLAUNCHER 30 #define SQMOD_WEAPON_FLAMETHROWER 31 #define SQMOD_WEAPON_M60 32 #define SQMOD_WEAPON_MINIGUN 33 #define SQMOD_WEAPON_BOMB 34 #define SQMOD_WEAPON_HELICANNON 35 #define SQMOD_WEAPON_CAMERA 36 #define SQMOD_WEAPON_VEHICLE 39 #define SQMOD_WEAPON_HELIBLADES1 40 #define SQMOD_WEAPON_EXPLOSION1 41 #define SQMOD_WEAPON_DRIVEBY 42 #define SQMOD_WEAPON_DROWNED 43 #define SQMOD_WEAPON_FALL 44 #define SQMOD_WEAPON_EXPLOSION2 51 #define SQMOD_WEAPON_HELIBLADES2 60 #define SQMOD_WEAPON_SUICIDE 70 #define SQMOD_WEAPON_MAX 70 /* ------------------------------------------------------------------------------------------------ * VEHICLE IDENTIFIERS */ #define SQMOD_VEHICLE_LANDSTALKER 130 #define SQMOD_VEHICLE_IDAHO 131 #define SQMOD_VEHICLE_STINGER 132 #define SQMOD_VEHICLE_LINERUNNER 133 #define SQMOD_VEHICLE_PERENNIAL 134 #define SQMOD_VEHICLE_SENTINEL 135 #define SQMOD_VEHICLE_RIO 136 #define SQMOD_VEHICLE_FIRETRUCK 137 #define SQMOD_VEHICLE_TRASHMASTER 138 #define SQMOD_VEHICLE_STRETCH 139 #define SQMOD_VEHICLE_MANANA 140 #define SQMOD_VEHICLE_INFERNUS 141 #define SQMOD_VEHICLE_VOODOO 142 #define SQMOD_VEHICLE_PONY 143 #define SQMOD_VEHICLE_MULE 144 #define SQMOD_VEHICLE_CHEETAH 145 #define SQMOD_VEHICLE_AMBULANCE 146 #define SQMOD_VEHICLE_FBIWASHINGTON 147 #define SQMOD_VEHICLE_MOONBEAM 148 #define SQMOD_VEHICLE_ESPERANTO 149 #define SQMOD_VEHICLE_TAXI 150 #define SQMOD_VEHICLE_WASHINGTON 151 #define SQMOD_VEHICLE_BOBCAT 152 #define SQMOD_VEHICLE_MRWHOOPEE 153 #define SQMOD_VEHICLE_BFINJECTION 154 #define SQMOD_VEHICLE_HUNTER 155 #define SQMOD_VEHICLE_POLICE 156 #define SQMOD_VEHICLE_ENFORCER 157 #define SQMOD_VEHICLE_SECURICAR 158 #define SQMOD_VEHICLE_BANSHEE 159 #define SQMOD_VEHICLE_PREDATOR 160 #define SQMOD_VEHICLE_BUS 161 #define SQMOD_VEHICLE_RHINO 162 #define SQMOD_VEHICLE_BARRACKSOL 163 #define SQMOD_VEHICLE_BARRACKS 163 #define SQMOD_VEHICLE_CUBANHERMES 164 #define SQMOD_VEHICLE_HELICOPTER 165 #define SQMOD_VEHICLE_ANGEL 166 #define SQMOD_VEHICLE_COACH 167 #define SQMOD_VEHICLE_CABBIE 168 #define SQMOD_VEHICLE_STALLION 169 #define SQMOD_VEHICLE_RUMPO 170 #define SQMOD_VEHICLE_RCBANDIT 171 #define SQMOD_VEHICLE_HEARSE 172 #define SQMOD_VEHICLE_PACKER 173 #define SQMOD_VEHICLE_SENTINELXS 174 #define SQMOD_VEHICLE_ADMIRAL 175 #define SQMOD_VEHICLE_SQUALO 176 #define SQMOD_VEHICLE_SEASPARROW 177 #define SQMOD_VEHICLE_PIZZABOY 178 #define SQMOD_VEHICLE_GANGBURRITO 179 #define SQMOD_VEHICLE_AIRTRAIN 180 #define SQMOD_VEHICLE_DEADDODO 181 #define SQMOD_VEHICLE_SPEEDER 182 #define SQMOD_VEHICLE_REEFER 183 #define SQMOD_VEHICLE_TROPIC 184 #define SQMOD_VEHICLE_FLATBED 185 #define SQMOD_VEHICLE_YANKEE 186 #define SQMOD_VEHICLE_CADDY 187 #define SQMOD_VEHICLE_ZEBRA 188 #define SQMOD_VEHICLE_ZEBRACAB 188 #define SQMOD_VEHICLE_TOPFUN 189 #define SQMOD_VEHICLE_SKIMMER 190 #define SQMOD_VEHICLE_PCJ600 191 #define SQMOD_VEHICLE_PCJ 191 #define SQMOD_VEHICLE_FAGGIO 192 #define SQMOD_VEHICLE_FREEWAY 193 #define SQMOD_VEHICLE_RCBARON 194 #define SQMOD_VEHICLE_RCRAIDER 195 #define SQMOD_VEHICLE_GLENDALE 196 #define SQMOD_VEHICLE_OCEANIC 197 #define SQMOD_VEHICLE_SANCHEZ 198 #define SQMOD_VEHICLE_SPARROW 199 #define SQMOD_VEHICLE_PATRIOT 200 #define SQMOD_VEHICLE_LOVEFIST 201 #define SQMOD_VEHICLE_COASTGUARD 202 #define SQMOD_VEHICLE_DINGHY 203 #define SQMOD_VEHICLE_HERMES 204 #define SQMOD_VEHICLE_SABRE 205 #define SQMOD_VEHICLE_SABRETURBO 206 #define SQMOD_VEHICLE_PHOENIX 207 #define SQMOD_VEHICLE_WALTON 208 #define SQMOD_VEHICLE_REGINA 209 #define SQMOD_VEHICLE_COMET 210 #define SQMOD_VEHICLE_DELUXO 211 #define SQMOD_VEHICLE_BURRITO 212 #define SQMOD_VEHICLE_SPANDEX 213 #define SQMOD_VEHICLE_SPANDEXPRESS 213 #define SQMOD_VEHICLE_MARQUIS 214 #define SQMOD_VEHICLE_BAGGAGE 215 #define SQMOD_VEHICLE_BAGGAGEHANDLER 215 #define SQMOD_VEHICLE_KAUFMAN 216 #define SQMOD_VEHICLE_KAUFMANCAB 216 #define SQMOD_VEHICLE_MAVERICK 217 #define SQMOD_VEHICLE_VCNMAVERICK 218 #define SQMOD_VEHICLE_RANCHER 219 #define SQMOD_VEHICLE_FBIRANCHER 220 #define SQMOD_VEHICLE_VIRGO 221 #define SQMOD_VEHICLE_GREENWOOD 222 #define SQMOD_VEHICLE_CUBANJETMAX 223 #define SQMOD_VEHICLE_HOTRING1 224 #define SQMOD_VEHICLE_HOTRINGRACER1 224 #define SQMOD_VEHICLE_SANDKING 225 #define SQMOD_VEHICLE_BLISTA 226 #define SQMOD_VEHICLE_BLISTAC 226 #define SQMOD_VEHICLE_BLISTACOMPACT 226 #define SQMOD_VEHICLE_COMPACT 226 #define SQMOD_VEHICLE_POLICEMAV 227 #define SQMOD_VEHICLE_POLICEMAVERICK 227 #define SQMOD_VEHICLE_BOXVILLE 228 #define SQMOD_VEHICLE_BENSON 229 #define SQMOD_VEHICLE_MESA 230 #define SQMOD_VEHICLE_MESAGRANDE 230 #define SQMOD_VEHICLE_RCGOBLIN 231 #define SQMOD_VEHICLE_HOTRING2 232 #define SQMOD_VEHICLE_HOTRINGRACER2 232 #define SQMOD_VEHICLE_HOTRING3 233 #define SQMOD_VEHICLE_HOTRINGRACER3 233 #define SQMOD_VEHICLE_BLOODRING1 234 #define SQMOD_VEHICLE_BLOODRINGBANGER1 234 #define SQMOD_VEHICLE_BLOODRING2 235 #define SQMOD_VEHICLE_BLOODRINGBANGER2 235 #define SQMOD_VEHICLE_VICECHEE 236 #define SQMOD_VEHICLE_POLICECHEETAH 236 #define SQMOD_VEHICLE_FBICHEETAH 236 #define SQMOD_VEHICLE_CHEETAH2 236 #define SQMOD_VEHICLE_MAX 236 /* ------------------------------------------------------------------------------------------------ * SKIN IDENTIFIERS */ #define SQMOD_SKIN_TOMMY_VERCETTI 0 #define SQMOD_SKIN_COP 1 #define SQMOD_SKIN_SWAT 2 #define SQMOD_SKIN_FBI 3 #define SQMOD_SKIN_ARMY 4 #define SQMOD_SKIN_PARAMEDIC 5 #define SQMOD_SKIN_FIREMAN 6 #define SQMOD_SKIN_GOLF_GUY_A 7 #define SQMOD_SKIN_BUM_LADY_A 9 #define SQMOD_SKIN_BUM_LADY_B 10 #define SQMOD_SKIN_PUNK_A 11 #define SQMOD_SKIN_LAWYER 12 #define SQMOD_SKIN_SPANISH_LADY_A 13 #define SQMOD_SKIN_SPANISH_LADY_B 14 #define SQMOD_SKIN_COOL_GUY_A 15 #define SQMOD_SKIN_ARABIC_GUY 16 #define SQMOD_SKIN_BEACH_LADY_A 17 #define SQMOD_SKIN_BEACH_LADY_B 18 #define SQMOD_SKIN_BEACH_GUY_A 19 #define SQMOD_SKIN_BEACH_GUY_B 20 #define SQMOD_SKIN_OFFICE_LADY_A 21 #define SQMOD_SKIN_WAITRESS_A 22 #define SQMOD_SKIN_FOOD_LADY 23 #define SQMOD_SKIN_PROSTITUTE_A 24 #define SQMOD_SKIN_BUM_LADY_C 25 #define SQMOD_SKIN_BUM_GUY_A 26 #define SQMOD_SKIN_GARBAGEMAN_A 27 #define SQMOD_SKIN_TAXI_DRIVER_A 28 #define SQMOD_SKIN_HATIAN_A 29 #define SQMOD_SKIN_CRIMINAL_A 30 #define SQMOD_SKIN_HOOD_LADY 31 #define SQMOD_SKIN_GRANNY_A 32 #define SQMOD_SKIN_BUSINESS_MAN_A 33 #define SQMOD_SKIN_CHURCH_GUY 34 #define SQMOD_SKIN_CLUB_LADY 35 #define SQMOD_SKIN_CHURCH_LADY 36 #define SQMOD_SKIN_PIMP 37 #define SQMOD_SKIN_BEACH_LADY_C 38 #define SQMOD_SKIN_BEACH_GUY_C 39 #define SQMOD_SKIN_BEACH_LADY_D 40 #define SQMOD_SKIN_BEACH_GUY_D 41 #define SQMOD_SKIN_BUSINESS_MAN_B 42 #define SQMOD_SKIN_PROSTITUTE_B 43 #define SQMOD_SKIN_BUM_LADY_D 44 #define SQMOD_SKIN_BUM_GUY_B 45 #define SQMOD_SKIN_HATIAN_B 46 #define SQMOD_SKIN_CONSTRUCTION_WORKER_A 47 #define SQMOD_SKIN_PUNK_B 48 #define SQMOD_SKIN_PROSTITUTE_C 49 #define SQMOD_SKIN_GRANNY_B 50 #define SQMOD_SKIN_PUNK_C 51 #define SQMOD_SKIN_BUSINESS_MAN_C 52 #define SQMOD_SKIN_SPANISH_LADY_C 53 #define SQMOD_SKIN_SPANISH_LADY_D 54 #define SQMOD_SKIN_COOL_GUY_B 55 #define SQMOD_SKIN_BUSINESS_MAN_D 56 #define SQMOD_SKIN_BEACH_LADY_E 57 #define SQMOD_SKIN_BEACH_GUY_E 58 #define SQMOD_SKIN_BEACH_LADY_F 59 #define SQMOD_SKIN_BEACH_GUY_F 60 #define SQMOD_SKIN_CONSTRUCTION_WORKER_B 61 #define SQMOD_SKIN_GOLF_GUY_B 62 #define SQMOD_SKIN_GOLF_LADY 63 #define SQMOD_SKIN_GOLF_GUY_C 64 #define SQMOD_SKIN_BEACH_LADY_G 65 #define SQMOD_SKIN_BEACH_GUY_G 66 #define SQMOD_SKIN_OFFICE_LADY_B 67 #define SQMOD_SKIN_BUSINESS_MAN_E 68 #define SQMOD_SKIN_BUSINESS_MAN_F 69 #define SQMOD_SKIN_PROSTITUTE_D 70 #define SQMOD_SKIN_BUM_LADY_E 71 #define SQMOD_SKIN_BUM_GUY_C 72 #define SQMOD_SKIN_SPANISH_GUY 73 #define SQMOD_SKIN_TAXI_DRIVER_B 74 #define SQMOD_SKIN_GYM_LADY 75 #define SQMOD_SKIN_GYM_GUY 76 #define SQMOD_SKIN_SKATE_LADY 77 #define SQMOD_SKIN_SKATE_GUY 78 #define SQMOD_SKIN_SHOPPER_A 79 #define SQMOD_SKIN_SHOPPER_B 80 #define SQMOD_SKIN_TOURIST_A 81 #define SQMOD_SKIN_TOURIST_B 82 #define SQMOD_SKIN_CUBAN_A 83 #define SQMOD_SKIN_CUBAN_B 84 #define SQMOD_SKIN_HATIAN_C 85 #define SQMOD_SKIN_HATIAN_D 86 #define SQMOD_SKIN_SHARK_A 87 #define SQMOD_SKIN_SHARK_B 88 #define SQMOD_SKIN_DIAZ_GUY_A 89 #define SQMOD_SKIN_DIAZ_GUY_B 90 #define SQMOD_SKIN_DBP_SECURITY_A 91 #define SQMOD_SKIN_DBP_SECURITY_B 92 #define SQMOD_SKIN_BIKER_A 93 #define SQMOD_SKIN_BIKER_B 94 #define SQMOD_SKIN_VERCETTI_GUY_A 95 #define SQMOD_SKIN_VERCETTI_GUY_B 96 #define SQMOD_SKIN_UNDERCOVER_COP_A 97 #define SQMOD_SKIN_UNDERCOVER_COP_B 98 #define SQMOD_SKIN_UNDERCOVER_COP_C 99 #define SQMOD_SKIN_UNDERCOVER_COP_D 100 #define SQMOD_SKIN_UNDERCOVER_COP_E 101 #define SQMOD_SKIN_UNDERCOVER_COP_F 102 #define SQMOD_SKIN_RICH_GUY 103 #define SQMOD_SKIN_COOL_GUY_C 104 #define SQMOD_SKIN_PROSTITUTE_E 105 #define SQMOD_SKIN_PROSTITUTE_F 106 #define SQMOD_SKIN_LOVE_FIST_A 107 #define SQMOD_SKIN_KEN_ROSENBURG 108 #define SQMOD_SKIN_CANDY_SUXX 109 #define SQMOD_SKIN_HILARY 110 #define SQMOD_SKIN_LOVE_FIST_B 111 #define SQMOD_SKIN_PHIL 112 #define SQMOD_SKIN_ROCKSTAR_GUY 113 #define SQMOD_SKIN_SONNY 114 #define SQMOD_SKIN_LANCE_A 115 #define SQMOD_SKIN_MERCADES_A 116 #define SQMOD_SKIN_LOVE_FIST_C 117 #define SQMOD_SKIN_ALEX_SRUB 118 #define SQMOD_SKIN_LANCE_COP 119 #define SQMOD_SKIN_LANCE_B 120 #define SQMOD_SKIN_CORTEZ 121 #define SQMOD_SKIN_LOVE_FIST_D 122 #define SQMOD_SKIN_COLUMBIAN_GUY_A 123 #define SQMOD_SKIN_HILARY_ROBBER 124 #define SQMOD_SKIN_MERCADES_B 125 #define SQMOD_SKIN_CAM 126 #define SQMOD_SKIN_CAM_ROBBER 127 #define SQMOD_SKIN_PHIL_ONE_ARM 128 #define SQMOD_SKIN_PHIL_ROBBER 129 #define SQMOD_SKIN_COOL_GUY_D 130 #define SQMOD_SKIN_PIZZAMAN 131 #define SQMOD_SKIN_TAXI_DRIVER_C 132 #define SQMOD_SKIN_TAXI_DRIVER_D 133 #define SQMOD_SKIN_SAILOR_A 134 #define SQMOD_SKIN_SAILOR_B 135 #define SQMOD_SKIN_SAILOR_C 136 #define SQMOD_SKIN_CHEF 137 #define SQMOD_SKIN_CRIMINAL_B 138 #define SQMOD_SKIN_FRENCH_GUY 139 #define SQMOD_SKIN_GARBAGEMAN_B 140 #define SQMOD_SKIN_HATIAN_E 141 #define SQMOD_SKIN_WAITRESS_B 142 #define SQMOD_SKIN_SONNY_GUY_A 143 #define SQMOD_SKIN_SONNY_GUY_B 144 #define SQMOD_SKIN_SONNY_GUY_C 145 #define SQMOD_SKIN_COLUMBIAN_GUY_B 146 #define SQMOD_SKIN_THUG_A 147 #define SQMOD_SKIN_BEACH_GUY_H 148 #define SQMOD_SKIN_GARBAGEMAN_C 149 #define SQMOD_SKIN_GARBAGEMAN_D 150 #define SQMOD_SKIN_GARBAGEMAN_E 151 #define SQMOD_SKIN_TRANNY 152 #define SQMOD_SKIN_THUG_B 153 #define SQMOD_SKIN_SPANDEX_GUY_A 154 #define SQMOD_SKIN_SPANDEX_GUY_B 155 #define SQMOD_SKIN_STRIPPER_A 156 #define SQMOD_SKIN_STRIPPER_B 157 #define SQMOD_SKIN_STRIPPER_C 158 #define SQMOD_SKIN_STORE_CLERK 159 #define SQMOD_SKIN_MAX 159 /* ------------------------------------------------------------------------------------------------ * KEYBOARD CODES */ #define SQMOD_KEYCODE_ABNT_C1 0xC1 #define SQMOD_KEYCODE_ABNT_C2 0xC2 #define SQMOD_KEYCODE_ADD 0x6B #define SQMOD_KEYCODE_ATTN 0xF6 #define SQMOD_KEYCODE_BACK 0x08 #define SQMOD_KEYCODE_CANCEL 0x03 #define SQMOD_KEYCODE_CLEAR 0x0C #define SQMOD_KEYCODE_CRSEL 0xF7 #define SQMOD_KEYCODE_DECIMAL 0x6E #define SQMOD_KEYCODE_DIVIDE 0x6F #define SQMOD_KEYCODE_EREOF 0xF9 #define SQMOD_KEYCODE_ESCAPE 0x1B #define SQMOD_KEYCODE_EXECUTE 0x2B #define SQMOD_KEYCODE_EXSEL 0xF8 #define SQMOD_KEYCODE_ICO_CLEAR 0xE6 #define SQMOD_KEYCODE_ICO_HELP 0xE3 #define SQMOD_KEYCODE_KEY_0 0x30 #define SQMOD_KEYCODE_KEY_1 0x31 #define SQMOD_KEYCODE_KEY_2 0x32 #define SQMOD_KEYCODE_KEY_3 0x33 #define SQMOD_KEYCODE_KEY_4 0x34 #define SQMOD_KEYCODE_KEY_5 0x35 #define SQMOD_KEYCODE_KEY_6 0x36 #define SQMOD_KEYCODE_KEY_7 0x37 #define SQMOD_KEYCODE_KEY_8 0x38 #define SQMOD_KEYCODE_KEY_9 0x39 #define SQMOD_KEYCODE_KEY_A 0x41 #define SQMOD_KEYCODE_KEY_B 0x42 #define SQMOD_KEYCODE_KEY_C 0x43 #define SQMOD_KEYCODE_KEY_D 0x44 #define SQMOD_KEYCODE_KEY_E 0x45 #define SQMOD_KEYCODE_KEY_F 0x46 #define SQMOD_KEYCODE_KEY_G 0x47 #define SQMOD_KEYCODE_KEY_H 0x48 #define SQMOD_KEYCODE_KEY_I 0x49 #define SQMOD_KEYCODE_KEY_J 0x4A #define SQMOD_KEYCODE_KEY_K 0x4B #define SQMOD_KEYCODE_KEY_L 0x4C #define SQMOD_KEYCODE_KEY_M 0x4D #define SQMOD_KEYCODE_KEY_N 0x4E #define SQMOD_KEYCODE_KEY_O 0x4F #define SQMOD_KEYCODE_KEY_P 0x50 #define SQMOD_KEYCODE_KEY_Q 0x51 #define SQMOD_KEYCODE_KEY_R 0x52 #define SQMOD_KEYCODE_KEY_S 0x53 #define SQMOD_KEYCODE_KEY_T 0x54 #define SQMOD_KEYCODE_KEY_U 0x55 #define SQMOD_KEYCODE_KEY_V 0x56 #define SQMOD_KEYCODE_KEY_W 0x57 #define SQMOD_KEYCODE_KEY_X 0x58 #define SQMOD_KEYCODE_KEY_Y 0x59 #define SQMOD_KEYCODE_KEY_Z 0x5A #define SQMOD_KEYCODE_MULTIPLY 0x6A #define SQMOD_KEYCODE_NONAME 0xFC #define SQMOD_KEYCODE_NUMPAD0 0x60 #define SQMOD_KEYCODE_NUMPAD1 0x61 #define SQMOD_KEYCODE_NUMPAD2 0x62 #define SQMOD_KEYCODE_NUMPAD3 0x63 #define SQMOD_KEYCODE_NUMPAD4 0x64 #define SQMOD_KEYCODE_NUMPAD5 0x65 #define SQMOD_KEYCODE_NUMPAD6 0x66 #define SQMOD_KEYCODE_NUMPAD7 0x67 #define SQMOD_KEYCODE_NUMPAD8 0x68 #define SQMOD_KEYCODE_NUMPAD9 0x69 #define SQMOD_KEYCODE_OEM_1 0xBA #define SQMOD_KEYCODE_OEM_102 0xE2 #define SQMOD_KEYCODE_OEM_2 0xBF #define SQMOD_KEYCODE_OEM_3 0xC0 #define SQMOD_KEYCODE_OEM_4 0xDB #define SQMOD_KEYCODE_OEM_5 0xDC #define SQMOD_KEYCODE_OEM_6 0xDD #define SQMOD_KEYCODE_OEM_7 0xDE #define SQMOD_KEYCODE_OEM_8 0xDF #define SQMOD_KEYCODE_OEM_ATTN 0xF0 #define SQMOD_KEYCODE_OEM_AUTO 0xF3 #define SQMOD_KEYCODE_OEM_AX 0xE1 #define SQMOD_KEYCODE_OEM_BACKTAB 0xF5 #define SQMOD_KEYCODE_OEM_CLEAR 0xFE #define SQMOD_KEYCODE_OEM_COMMA 0xBC #define SQMOD_KEYCODE_OEM_COPY 0xF2 #define SQMOD_KEYCODE_OEM_CUSEL 0xEF #define SQMOD_KEYCODE_OEM_ENLW 0xF4 #define SQMOD_KEYCODE_OEM_FINISH 0xF1 #define SQMOD_KEYCODE_OEM_FJ_LOYA 0x95 #define SQMOD_KEYCODE_OEM_FJ_MASSHOU 0x93 #define SQMOD_KEYCODE_OEM_FJ_ROYA 0x96 #define SQMOD_KEYCODE_OEM_FJ_TOUROKU 0x94 #define SQMOD_KEYCODE_OEM_JUMP 0xEA #define SQMOD_KEYCODE_OEM_MINUS 0xBD #define SQMOD_KEYCODE_OEM_PA1 0xEB #define SQMOD_KEYCODE_OEM_PA2 0xEC #define SQMOD_KEYCODE_OEM_PA3 0xED #define SQMOD_KEYCODE_OEM_PERIOD 0xBE #define SQMOD_KEYCODE_OEM_PLUS 0xBB #define SQMOD_KEYCODE_OEM_RESET 0xE9 #define SQMOD_KEYCODE_OEM_WSCTRL 0xEE #define SQMOD_KEYCODE_PA1 0xFD #define SQMOD_KEYCODE_PACKET 0xE7 #define SQMOD_KEYCODE_PLAY 0xFA #define SQMOD_KEYCODE_PROCESSKEY 0xE5 #define SQMOD_KEYCODE_RETURN 0x0D #define SQMOD_KEYCODE_SELECT 0x29 #define SQMOD_KEYCODE_SEPARATOR 0x6C #define SQMOD_KEYCODE_SPACE 0x20 #define SQMOD_KEYCODE_SUBTRACT 0x6D #define SQMOD_KEYCODE_TAB 0x09 #define SQMOD_KEYCODE_ZOOM 0xFB #define SQMOD_KEYCODE_ACCEPT 0x1E #define SQMOD_KEYCODE_APPS 0x5D #define SQMOD_KEYCODE_BROWSER_BACK 0xA6 #define SQMOD_KEYCODE_BROWSER_FAVORITES 0xAB #define SQMOD_KEYCODE_BROWSER_FORWARD 0xA7 #define SQMOD_KEYCODE_BROWSER_HOME 0xAC #define SQMOD_KEYCODE_BROWSER_REFRESH 0xA8 #define SQMOD_KEYCODE_BROWSER_SEARCH 0xAA #define SQMOD_KEYCODE_BROWSER_STOP 0xA9 #define SQMOD_KEYCODE_CAPITAL 0x14 #define SQMOD_KEYCODE_CONVERT 0x1C #define SQMOD_KEYCODE_DELETE 0x2E #define SQMOD_KEYCODE_DOWN 0x28 #define SQMOD_KEYCODE_END 0x23 #define SQMOD_KEYCODE_F1 0x70 #define SQMOD_KEYCODE_F10 0x79 #define SQMOD_KEYCODE_F11 0x7A #define SQMOD_KEYCODE_F12 0x7B #define SQMOD_KEYCODE_F13 0x7C #define SQMOD_KEYCODE_F14 0x7D #define SQMOD_KEYCODE_F15 0x7E #define SQMOD_KEYCODE_F16 0x7F #define SQMOD_KEYCODE_F17 0x80 #define SQMOD_KEYCODE_F18 0x81 #define SQMOD_KEYCODE_F19 0x82 #define SQMOD_KEYCODE_F2 0x71 #define SQMOD_KEYCODE_F20 0x83 #define SQMOD_KEYCODE_F21 0x84 #define SQMOD_KEYCODE_F22 0x85 #define SQMOD_KEYCODE_F23 0x86 #define SQMOD_KEYCODE_F24 0x87 #define SQMOD_KEYCODE_F3 0x72 #define SQMOD_KEYCODE_F4 0x73 #define SQMOD_KEYCODE_F5 0x74 #define SQMOD_KEYCODE_F6 0x75 #define SQMOD_KEYCODE_F7 0x76 #define SQMOD_KEYCODE_F8 0x77 #define SQMOD_KEYCODE_F9 0x78 #define SQMOD_KEYCODE_FINAL 0x18 #define SQMOD_KEYCODE_HELP 0x2F #define SQMOD_KEYCODE_HOME 0x24 #define SQMOD_KEYCODE_ICO_00 0xE4 #define SQMOD_KEYCODE_INSERT 0x2D #define SQMOD_KEYCODE_JUNJA 0x17 #define SQMOD_KEYCODE_KANA 0x15 #define SQMOD_KEYCODE_KANJI 0x19 #define SQMOD_KEYCODE_LAUNCH_APP1 0xB6 #define SQMOD_KEYCODE_LAUNCH_APP2 0xB7 #define SQMOD_KEYCODE_LAUNCH_MAIL 0xB4 #define SQMOD_KEYCODE_LAUNCH_MEDIA_SELECT 0xB5 #define SQMOD_KEYCODE_LBUTTON 0x01 #define SQMOD_KEYCODE_LCONTROL 0xA2 #define SQMOD_KEYCODE_LEFT 0x25 #define SQMOD_KEYCODE_LMENU 0xA4 #define SQMOD_KEYCODE_LSHIFT 0xA0 #define SQMOD_KEYCODE_LWIN 0x5B #define SQMOD_KEYCODE_MBUTTON 0x04 #define SQMOD_KEYCODE_MEDIA_NEXT_TRACK 0xB0 #define SQMOD_KEYCODE_MEDIA_PLAY_PAUSE 0xB3 #define SQMOD_KEYCODE_MEDIA_PREV_TRACK 0xB1 #define SQMOD_KEYCODE_MEDIA_STOP 0xB2 #define SQMOD_KEYCODE_MODECHANGE 0x1F #define SQMOD_KEYCODE_NEXT 0x22 #define SQMOD_KEYCODE_NONCONVERT 0x1D #define SQMOD_KEYCODE_NUMLOCK 0x90 #define SQMOD_KEYCODE_OEM_FJ_JISHO 0x92 #define SQMOD_KEYCODE_PAUSE 0x13 #define SQMOD_KEYCODE_PRINT 0x2A #define SQMOD_KEYCODE_PRIOR 0x21 #define SQMOD_KEYCODE_RBUTTON 0x02 #define SQMOD_KEYCODE_RCONTROL 0xA3 #define SQMOD_KEYCODE_RIGHT 0x27 #define SQMOD_KEYCODE_RMENU 0xA5 #define SQMOD_KEYCODE_RSHIFT 0xA1 #define SQMOD_KEYCODE_RWIN 0x5C #define SQMOD_KEYCODE_SCROLL 0x91 #define SQMOD_KEYCODE_SLEEP 0x5F #define SQMOD_KEYCODE_SNAPSHOT 0x2C #define SQMOD_KEYCODE_UP 0x26 #define SQMOD_KEYCODE_VOLUME_DOWN 0xAE #define SQMOD_KEYCODE_VOLUME_MUTE 0xAD #define SQMOD_KEYCODE_VOLUME_UP 0xAF #define SQMOD_KEYCODE_XBUTTON1 0x05 #define SQMOD_KEYCODE_XBUTTON2 0x06 #define SQMOD_KEYCODE_NONE 0xFF #define SQMOD_KEYCODE_MAX 0xFF /* ------------------------------------------------------------------------------------------------ * ASCII CHARACTER CODES */ #define SQMOD_ASCII_NUL 0 #define SQMOD_ASCII_SOH 1 #define SQMOD_ASCII_STX 2 #define SQMOD_ASCII_ETX 3 #define SQMOD_ASCII_EOT 4 #define SQMOD_ASCII_ENQ 5 #define SQMOD_ASCII_ACK 6 #define SQMOD_ASCII_BEL 7 #define SQMOD_ASCII_BS 8 #define SQMOD_ASCII_TAB 9 #define SQMOD_ASCII_LF 10 #define SQMOD_ASCII_VT 11 #define SQMOD_ASCII_FF 12 #define SQMOD_ASCII_CR 13 #define SQMOD_ASCII_SO 14 #define SQMOD_ASCII_SI 15 #define SQMOD_ASCII_DLE 16 #define SQMOD_ASCII_DC1 17 #define SQMOD_ASCII_DC2 18 #define SQMOD_ASCII_DC3 19 #define SQMOD_ASCII_DC4 20 #define SQMOD_ASCII_NAK 21 #define SQMOD_ASCII_SYN 22 #define SQMOD_ASCII_ETB 23 #define SQMOD_ASCII_CAN 24 #define SQMOD_ASCII_EM 25 #define SQMOD_ASCII_SUB 26 #define SQMOD_ASCII_ESC 27 #define SQMOD_ASCII_FS 28 #define SQMOD_ASCII_GS 29 #define SQMOD_ASCII_RS 30 #define SQMOD_ASCII_US 31 #define SQMOD_ASCII_SPACE 32 #define SQMOD_ASCII_EXCLAMATION_POINT 33 #define SQMOD_ASCII_DOUBLE_QUOTES 34 #define SQMOD_ASCII_NUMBER_SIGN 35 #define SQMOD_ASCII_DOLLAR_SIGN 36 #define SQMOD_ASCII_PERCENT_SIGN 37 #define SQMOD_ASCII_AMPERSAND 38 #define SQMOD_ASCII_SINGLE_QUOTE 39 #define SQMOD_ASCII_OPENING_PARENTHESIS 40 #define SQMOD_ASCII_CLOSING_PARENTHESIS 41 #define SQMOD_ASCII_ASTERISK 42 #define SQMOD_ASCII_PLUS 43 #define SQMOD_ASCII_COMMA 44 #define SQMOD_ASCII_MINUS 45 #define SQMOD_ASCII_PERIOD 46 #define SQMOD_ASCII_SLASH 47 #define SQMOD_ASCII_ZERO 48 #define SQMOD_ASCII_ONE 49 #define SQMOD_ASCII_TWO 50 #define SQMOD_ASCII_THREE 51 #define SQMOD_ASCII_FOUR 52 #define SQMOD_ASCII_FIVE 53 #define SQMOD_ASCII_SIX 54 #define SQMOD_ASCII_SEVEN 55 #define SQMOD_ASCII_EIGHT 56 #define SQMOD_ASCII_NINE 57 #define SQMOD_ASCII_COLON 58 #define SQMOD_ASCII_EMICOLON 59 #define SQMOD_ASCII_LESS_THAN_SIGN 60 #define SQMOD_ASCII_EQUAL_SIGN 61 #define SQMOD_ASCII_GREATER_THAN_SIGN 62 #define SQMOD_ASCII_QUESTION_MARK 63 #define SQMOD_ASCII_AT 64 #define SQMOD_ASCII_UPPER_A 65 #define SQMOD_ASCII_UPPER_B 66 #define SQMOD_ASCII_UPPER_C 67 #define SQMOD_ASCII_UPPER_D 68 #define SQMOD_ASCII_UPPER_E 69 #define SQMOD_ASCII_UPPER_F 70 #define SQMOD_ASCII_UPPER_G 71 #define SQMOD_ASCII_UPPER_H 72 #define SQMOD_ASCII_UPPER_I 73 #define SQMOD_ASCII_UPPER_J 74 #define SQMOD_ASCII_UPPER_K 75 #define SQMOD_ASCII_UPPER_L 76 #define SQMOD_ASCII_UPPER_M 77 #define SQMOD_ASCII_UPPER_N 78 #define SQMOD_ASCII_UPPER_O 79 #define SQMOD_ASCII_UPPER_P 80 #define SQMOD_ASCII_UPPER_Q 81 #define SQMOD_ASCII_UPPER_R 82 #define SQMOD_ASCII_UPPER_S 83 #define SQMOD_ASCII_UPPER_T 84 #define SQMOD_ASCII_UPPER_U 85 #define SQMOD_ASCII_UPPER_V 86 #define SQMOD_ASCII_UPPER_W 87 #define SQMOD_ASCII_UPPER_X 88 #define SQMOD_ASCII_UPPER_Y 89 #define SQMOD_ASCII_UPPER_Z 90 #define SQMOD_ASCII_OPENING_BRACKET 91 #define SQMOD_ASCII_BACKSLASH 92 #define SQMOD_ASCII_CLOSING_BRACKET 93 #define SQMOD_ASCII_CARET 94 #define SQMOD_ASCII_UNDERSCORE 95 #define SQMOD_ASCII_GRAVE_ACCENT 96 #define SQMOD_ASCII_LOWER_A 97 #define SQMOD_ASCII_LOWER_B 98 #define SQMOD_ASCII_LOWER_C 99 #define SQMOD_ASCII_LOWER_D 100 #define SQMOD_ASCII_LOWER_E 101 #define SQMOD_ASCII_LOWER_F 102 #define SQMOD_ASCII_LOWER_G 103 #define SQMOD_ASCII_LOWER_H 104 #define SQMOD_ASCII_LOWER_I 105 #define SQMOD_ASCII_LOWER_J 106 #define SQMOD_ASCII_LOWER_K 107 #define SQMOD_ASCII_LOWER_L 108 #define SQMOD_ASCII_LOWER_M 109 #define SQMOD_ASCII_LOWER_N 110 #define SQMOD_ASCII_LOWER_O 111 #define SQMOD_ASCII_LOWER_P 112 #define SQMOD_ASCII_LOWER_Q 113 #define SQMOD_ASCII_LOWER_R 114 #define SQMOD_ASCII_LOWER_S 115 #define SQMOD_ASCII_LOWER_T 116 #define SQMOD_ASCII_LOWER_U 117 #define SQMOD_ASCII_LOWER_V 118 #define SQMOD_ASCII_LOWER_W 119 #define SQMOD_ASCII_LOWER_X 120 #define SQMOD_ASCII_LOWER_Y 121 #define SQMOD_ASCII_LOWER_Z 122 #define SQMOD_ASCII_OPENING_BRACE 123 #define SQMOD_ASCII_VERTICAL_BAR 124 #define SQMOD_ASCII_CLOSING_BRACE 125 #define SQMOD_ASCII_TILDE 126 #define SQMOD_ASCII_UNDEFINED 127 #define SQMOD_ASCII_MAX 127