366 lines
15 KiB
C++
366 lines
15 KiB
C++
/**
|
|
* @file indra_constants.h
|
|
* @brief some useful short term constants for Indra
|
|
*
|
|
* $LicenseInfo:firstyear=2001&license=viewerlgpl$
|
|
* Second Life Viewer Source Code
|
|
* Copyright (C) 2010, Linden Research, Inc.
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation;
|
|
* version 2.1 of the License only.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
*
|
|
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
|
|
* $/LicenseInfo$
|
|
*/
|
|
|
|
#ifndef LL_INDRA_CONSTANTS_H
|
|
#define LL_INDRA_CONSTANTS_H
|
|
|
|
#include "stdtypes.h"
|
|
|
|
class LLUUID;
|
|
|
|
// <FS:Ansariel> Centralize definition of application name
|
|
const std::string APP_NAME = "Firestorm";
|
|
|
|
static const F32 REGION_WIDTH_METERS = 256.f;
|
|
static const S32 REGION_WIDTH_UNITS = 256;
|
|
static const U32 REGION_WIDTH_U32 = 256;
|
|
|
|
const F32 REGION_HEIGHT_METERS = 4096.f;
|
|
|
|
const F32 DEFAULT_AGENT_DEPTH = 0.45f;
|
|
const F32 DEFAULT_AGENT_WIDTH = 0.60f;
|
|
const F32 DEFAULT_AGENT_HEIGHT = 1.9f;
|
|
|
|
enum ETerrainBrushType
|
|
{
|
|
// the valid brush numbers cannot be reordered, because they
|
|
// are used in the binary LSL format as arguments to llModifyLand()
|
|
E_LANDBRUSH_LEVEL = 0,
|
|
E_LANDBRUSH_RAISE = 1,
|
|
E_LANDBRUSH_LOWER = 2,
|
|
E_LANDBRUSH_SMOOTH = 3,
|
|
E_LANDBRUSH_NOISE = 4,
|
|
E_LANDBRUSH_REVERT = 5,
|
|
E_LANDBRUSH_INVALID = 6
|
|
};
|
|
|
|
enum EMouseClickType{
|
|
CLICK_NONE = -1,
|
|
CLICK_LEFT = 0,
|
|
CLICK_MIDDLE,
|
|
CLICK_RIGHT,
|
|
CLICK_BUTTON4,
|
|
CLICK_BUTTON5,
|
|
CLICK_DOUBLELEFT,
|
|
CLICK_COUNT // 'size', CLICK_NONE does not counts
|
|
};
|
|
|
|
// keys
|
|
// Bit masks for various keyboard modifier keys.
|
|
const MASK MASK_NONE = 0x0000;
|
|
const MASK MASK_CONTROL = 0x0001; // Mapped to cmd on Macs
|
|
const MASK MASK_ALT = 0x0002;
|
|
const MASK MASK_SHIFT = 0x0004;
|
|
const MASK MASK_NORMALKEYS = 0x0007; // A real mask - only get the bits for normal modifier keys
|
|
const MASK MASK_MAC_CONTROL = 0x0008; // Un-mapped Ctrl key on Macs, not used on Windows
|
|
const MASK MASK_MODIFIERS = MASK_CONTROL|MASK_ALT|MASK_SHIFT|MASK_MAC_CONTROL;
|
|
|
|
// Special keys go into >128
|
|
const KEY KEY_SPECIAL = 0x80; // special keys start here
|
|
const KEY KEY_RETURN = 0x81;
|
|
const KEY KEY_LEFT = 0x82;
|
|
const KEY KEY_RIGHT = 0x83;
|
|
const KEY KEY_UP = 0x84;
|
|
const KEY KEY_DOWN = 0x85;
|
|
const KEY KEY_ESCAPE = 0x86;
|
|
const KEY KEY_BACKSPACE =0x87;
|
|
const KEY KEY_DELETE = 0x88;
|
|
const KEY KEY_SHIFT = 0x89;
|
|
const KEY KEY_CONTROL = 0x8A;
|
|
const KEY KEY_ALT = 0x8B;
|
|
const KEY KEY_HOME = 0x8C;
|
|
const KEY KEY_END = 0x8D;
|
|
const KEY KEY_PAGE_UP = 0x8E;
|
|
const KEY KEY_PAGE_DOWN = 0x8F;
|
|
const KEY KEY_HYPHEN = 0x90;
|
|
const KEY KEY_EQUALS = 0x91;
|
|
const KEY KEY_INSERT = 0x92;
|
|
const KEY KEY_CAPSLOCK = 0x93;
|
|
const KEY KEY_TAB = 0x94;
|
|
const KEY KEY_ADD = 0x95;
|
|
const KEY KEY_SUBTRACT =0x96;
|
|
const KEY KEY_MULTIPLY =0x97;
|
|
const KEY KEY_DIVIDE = 0x98;
|
|
const KEY KEY_CONTEXT_MENU = 0x99; // <FS:Ansariel> FIRE-19933: Open context menu on context menu key press
|
|
const KEY KEY_F1 = 0xA1;
|
|
const KEY KEY_F2 = 0xA2;
|
|
const KEY KEY_F3 = 0xA3;
|
|
const KEY KEY_F4 = 0xA4;
|
|
const KEY KEY_F5 = 0xA5;
|
|
const KEY KEY_F6 = 0xA6;
|
|
const KEY KEY_F7 = 0xA7;
|
|
const KEY KEY_F8 = 0xA8;
|
|
const KEY KEY_F9 = 0xA9;
|
|
const KEY KEY_F10 = 0xAA;
|
|
const KEY KEY_F11 = 0xAB;
|
|
const KEY KEY_F12 = 0xAC;
|
|
|
|
const KEY KEY_PAD_UP = 0xC0;
|
|
const KEY KEY_PAD_DOWN = 0xC1;
|
|
const KEY KEY_PAD_LEFT = 0xC2;
|
|
const KEY KEY_PAD_RIGHT = 0xC3;
|
|
const KEY KEY_PAD_HOME = 0xC4;
|
|
const KEY KEY_PAD_END = 0xC5;
|
|
const KEY KEY_PAD_PGUP = 0xC6;
|
|
const KEY KEY_PAD_PGDN = 0xC7;
|
|
const KEY KEY_PAD_CENTER = 0xC8; // the 5 in the middle
|
|
const KEY KEY_PAD_INS = 0xC9;
|
|
const KEY KEY_PAD_DEL = 0xCA;
|
|
const KEY KEY_PAD_RETURN = 0xCB;
|
|
const KEY KEY_PAD_ADD = 0xCC; // not used
|
|
const KEY KEY_PAD_SUBTRACT = 0xCD; // not used
|
|
const KEY KEY_PAD_MULTIPLY = 0xCE; // not used
|
|
const KEY KEY_PAD_DIVIDE = 0xCF; // not used
|
|
|
|
const KEY KEY_BUTTON0 = 0xD0;
|
|
const KEY KEY_BUTTON1 = 0xD1;
|
|
const KEY KEY_BUTTON2 = 0xD2;
|
|
const KEY KEY_BUTTON3 = 0xD3;
|
|
const KEY KEY_BUTTON4 = 0xD4;
|
|
const KEY KEY_BUTTON5 = 0xD5;
|
|
const KEY KEY_BUTTON6 = 0xD6;
|
|
const KEY KEY_BUTTON7 = 0xD7;
|
|
const KEY KEY_BUTTON8 = 0xD8;
|
|
const KEY KEY_BUTTON9 = 0xD9;
|
|
const KEY KEY_BUTTON10 = 0xDA;
|
|
const KEY KEY_BUTTON11 = 0xDB;
|
|
const KEY KEY_BUTTON12 = 0xDC;
|
|
const KEY KEY_BUTTON13 = 0xDD;
|
|
const KEY KEY_BUTTON14 = 0xDE;
|
|
const KEY KEY_BUTTON15 = 0xDF;
|
|
|
|
const KEY KEY_NONE = 0xFF; // not sent from keyboard. For internal use only.
|
|
|
|
const S32 KEY_COUNT = 256;
|
|
|
|
|
|
const F32 DEFAULT_WATER_HEIGHT = 20.0f;
|
|
|
|
// Maturity ratings for simulators
|
|
const U8 SIM_ACCESS_MIN = 0; // Treated as 'unknown', usually ends up being SIM_ACCESS_PG
|
|
const U8 SIM_ACCESS_PG = 13;
|
|
const U8 SIM_ACCESS_MATURE = 21;
|
|
const U8 SIM_ACCESS_ADULT = 42; // Seriously Adult Only
|
|
const U8 SIM_ACCESS_DOWN = 254;
|
|
const U8 SIM_ACCESS_MAX = SIM_ACCESS_ADULT;
|
|
|
|
// attachment constants
|
|
const U8 ATTACHMENT_ADD = 0x80;
|
|
|
|
// god levels
|
|
const U8 GOD_MAINTENANCE = 250;
|
|
const U8 GOD_FULL = 200;
|
|
const U8 GOD_LIAISON = 150;
|
|
const U8 GOD_CUSTOMER_SERVICE = 100;
|
|
const U8 GOD_LIKE = 1;
|
|
const U8 GOD_NOT = 0;
|
|
|
|
// "agent id" for things that should be done to ALL agents
|
|
LL_COMMON_API extern const LLUUID LL_UUID_ALL_AGENTS;
|
|
|
|
// inventory library owner
|
|
LL_COMMON_API extern const LLUUID ALEXANDRIA_LINDEN_ID;
|
|
|
|
LL_COMMON_API extern const LLUUID GOVERNOR_LINDEN_ID;
|
|
// Maintenance's group id.
|
|
LL_COMMON_API extern const LLUUID MAINTENANCE_GROUP_ID;
|
|
|
|
// image ids
|
|
LL_COMMON_API extern const LLUUID IMG_SMOKE;
|
|
|
|
LL_COMMON_API extern const LLUUID IMG_DEFAULT;
|
|
|
|
LL_COMMON_API extern const LLUUID IMG_SUN;
|
|
LL_COMMON_API extern const LLUUID IMG_MOON;
|
|
LL_COMMON_API extern const LLUUID IMG_SHOT;
|
|
LL_COMMON_API extern const LLUUID IMG_SPARK;
|
|
LL_COMMON_API extern const LLUUID IMG_FIRE;
|
|
LL_COMMON_API extern const LLUUID IMG_FACE_SELECT;
|
|
LL_COMMON_API extern const LLUUID IMG_DEFAULT_AVATAR;
|
|
LL_COMMON_API extern const LLUUID IMG_INVISIBLE;
|
|
LL_COMMON_API extern const LLUUID IMG_WHITE;
|
|
|
|
LL_COMMON_API extern const LLUUID IMG_EXPLOSION;
|
|
LL_COMMON_API extern const LLUUID IMG_EXPLOSION_2;
|
|
LL_COMMON_API extern const LLUUID IMG_EXPLOSION_3;
|
|
LL_COMMON_API extern const LLUUID IMG_EXPLOSION_4;
|
|
LL_COMMON_API extern const LLUUID IMG_SMOKE_POOF;
|
|
|
|
LL_COMMON_API extern const LLUUID IMG_BIG_EXPLOSION_1;
|
|
LL_COMMON_API extern const LLUUID IMG_BIG_EXPLOSION_2;
|
|
|
|
LL_COMMON_API extern const LLUUID IMG_ALPHA_GRAD;
|
|
LL_COMMON_API extern const LLUUID IMG_ALPHA_GRAD_2D;
|
|
LL_COMMON_API extern const LLUUID IMG_TRANSPARENT;
|
|
|
|
LL_COMMON_API extern const LLUUID TERRAIN_DIRT_DETAIL;
|
|
LL_COMMON_API extern const LLUUID TERRAIN_GRASS_DETAIL;
|
|
LL_COMMON_API extern const LLUUID TERRAIN_MOUNTAIN_DETAIL;
|
|
LL_COMMON_API extern const LLUUID TERRAIN_ROCK_DETAIL;
|
|
|
|
LL_COMMON_API extern const LLUUID IMG_USE_BAKED_HEAD;
|
|
LL_COMMON_API extern const LLUUID IMG_USE_BAKED_UPPER;
|
|
LL_COMMON_API extern const LLUUID IMG_USE_BAKED_LOWER;
|
|
LL_COMMON_API extern const LLUUID IMG_USE_BAKED_EYES;
|
|
LL_COMMON_API extern const LLUUID IMG_USE_BAKED_SKIRT;
|
|
LL_COMMON_API extern const LLUUID IMG_USE_BAKED_HAIR;
|
|
LL_COMMON_API extern const LLUUID IMG_USE_BAKED_LEFTARM;
|
|
LL_COMMON_API extern const LLUUID IMG_USE_BAKED_LEFTLEG;
|
|
LL_COMMON_API extern const LLUUID IMG_USE_BAKED_AUX1;
|
|
LL_COMMON_API extern const LLUUID IMG_USE_BAKED_AUX2;
|
|
LL_COMMON_API extern const LLUUID IMG_USE_BAKED_AUX3;
|
|
|
|
LL_COMMON_API extern const LLUUID DEFAULT_WATER_NORMAL;
|
|
|
|
LL_COMMON_API extern const LLUUID DEFAULT_OBJECT_TEXTURE;
|
|
LL_COMMON_API extern const LLUUID DEFAULT_OBJECT_SPECULAR;
|
|
LL_COMMON_API extern const LLUUID DEFAULT_OBJECT_NORMAL;
|
|
LL_COMMON_API extern const LLUUID BLANK_OBJECT_NORMAL;
|
|
|
|
LL_COMMON_API extern const LLUUID BLANK_MATERIAL_ASSET_ID;
|
|
|
|
// radius within which a chat message is fully audible
|
|
const F32 CHAT_NORMAL_RADIUS = 20.f;
|
|
|
|
// media commands
|
|
const U32 PARCEL_MEDIA_COMMAND_STOP = 0;
|
|
const U32 PARCEL_MEDIA_COMMAND_PAUSE = 1;
|
|
const U32 PARCEL_MEDIA_COMMAND_PLAY = 2;
|
|
const U32 PARCEL_MEDIA_COMMAND_LOOP = 3;
|
|
const U32 PARCEL_MEDIA_COMMAND_TEXTURE = 4;
|
|
const U32 PARCEL_MEDIA_COMMAND_URL = 5;
|
|
const U32 PARCEL_MEDIA_COMMAND_TIME = 6;
|
|
const U32 PARCEL_MEDIA_COMMAND_AGENT = 7;
|
|
const U32 PARCEL_MEDIA_COMMAND_UNLOAD = 8;
|
|
const U32 PARCEL_MEDIA_COMMAND_AUTO_ALIGN = 9;
|
|
const U32 PARCEL_MEDIA_COMMAND_TYPE = 10;
|
|
const U32 PARCEL_MEDIA_COMMAND_SIZE = 11;
|
|
const U32 PARCEL_MEDIA_COMMAND_DESC = 12;
|
|
const U32 PARCEL_MEDIA_COMMAND_LOOP_SET = 13;
|
|
|
|
const S32 CHAT_CHANNEL_DEBUG = S32_MAX;
|
|
|
|
// agent constants
|
|
const U32 CONTROL_AT_POS_INDEX = 0;
|
|
const U32 CONTROL_AT_NEG_INDEX = 1;
|
|
const U32 CONTROL_LEFT_POS_INDEX = 2;
|
|
const U32 CONTROL_LEFT_NEG_INDEX = 3;
|
|
const U32 CONTROL_UP_POS_INDEX = 4;
|
|
const U32 CONTROL_UP_NEG_INDEX = 5;
|
|
const U32 CONTROL_PITCH_POS_INDEX = 6;
|
|
const U32 CONTROL_PITCH_NEG_INDEX = 7;
|
|
const U32 CONTROL_YAW_POS_INDEX = 8;
|
|
const U32 CONTROL_YAW_NEG_INDEX = 9;
|
|
const U32 CONTROL_FAST_AT_INDEX = 10;
|
|
const U32 CONTROL_FAST_LEFT_INDEX = 11;
|
|
const U32 CONTROL_FAST_UP_INDEX = 12;
|
|
const U32 CONTROL_FLY_INDEX = 13;
|
|
const U32 CONTROL_STOP_INDEX = 14;
|
|
const U32 CONTROL_FINISH_ANIM_INDEX = 15;
|
|
const U32 CONTROL_STAND_UP_INDEX = 16;
|
|
const U32 CONTROL_SIT_ON_GROUND_INDEX = 17;
|
|
const U32 CONTROL_MOUSELOOK_INDEX = 18;
|
|
const U32 CONTROL_NUDGE_AT_POS_INDEX = 19;
|
|
const U32 CONTROL_NUDGE_AT_NEG_INDEX = 20;
|
|
const U32 CONTROL_NUDGE_LEFT_POS_INDEX = 21;
|
|
const U32 CONTROL_NUDGE_LEFT_NEG_INDEX = 22;
|
|
const U32 CONTROL_NUDGE_UP_POS_INDEX = 23;
|
|
const U32 CONTROL_NUDGE_UP_NEG_INDEX = 24;
|
|
const U32 CONTROL_TURN_LEFT_INDEX = 25;
|
|
const U32 CONTROL_TURN_RIGHT_INDEX = 26;
|
|
const U32 CONTROL_AWAY_INDEX = 27;
|
|
const U32 CONTROL_LBUTTON_DOWN_INDEX = 28;
|
|
const U32 CONTROL_LBUTTON_UP_INDEX = 29;
|
|
const U32 CONTROL_ML_LBUTTON_DOWN_INDEX = 30;
|
|
const U32 CONTROL_ML_LBUTTON_UP_INDEX = 31;
|
|
const U32 TOTAL_CONTROLS = 32;
|
|
|
|
const U32 AGENT_CONTROL_AT_POS = 0x1 << CONTROL_AT_POS_INDEX; // 0x00000001
|
|
const U32 AGENT_CONTROL_AT_NEG = 0x1 << CONTROL_AT_NEG_INDEX; // 0x00000002
|
|
const U32 AGENT_CONTROL_LEFT_POS = 0x1 << CONTROL_LEFT_POS_INDEX; // 0x00000004
|
|
const U32 AGENT_CONTROL_LEFT_NEG = 0x1 << CONTROL_LEFT_NEG_INDEX; // 0x00000008
|
|
const U32 AGENT_CONTROL_UP_POS = 0x1 << CONTROL_UP_POS_INDEX; // 0x00000010
|
|
const U32 AGENT_CONTROL_UP_NEG = 0x1 << CONTROL_UP_NEG_INDEX; // 0x00000020
|
|
const U32 AGENT_CONTROL_PITCH_POS = 0x1 << CONTROL_PITCH_POS_INDEX; // 0x00000040
|
|
const U32 AGENT_CONTROL_PITCH_NEG = 0x1 << CONTROL_PITCH_NEG_INDEX; // 0x00000080
|
|
const U32 AGENT_CONTROL_YAW_POS = 0x1 << CONTROL_YAW_POS_INDEX; // 0x00000100
|
|
const U32 AGENT_CONTROL_YAW_NEG = 0x1 << CONTROL_YAW_NEG_INDEX; // 0x00000200
|
|
|
|
const U32 AGENT_CONTROL_FAST_AT = 0x1 << CONTROL_FAST_AT_INDEX; // 0x00000400
|
|
const U32 AGENT_CONTROL_FAST_LEFT = 0x1 << CONTROL_FAST_LEFT_INDEX; // 0x00000800
|
|
const U32 AGENT_CONTROL_FAST_UP = 0x1 << CONTROL_FAST_UP_INDEX; // 0x00001000
|
|
|
|
const U32 AGENT_CONTROL_FLY = 0x1 << CONTROL_FLY_INDEX; // 0x00002000
|
|
const U32 AGENT_CONTROL_STOP = 0x1 << CONTROL_STOP_INDEX; // 0x00004000
|
|
const U32 AGENT_CONTROL_FINISH_ANIM = 0x1 << CONTROL_FINISH_ANIM_INDEX; // 0x00008000
|
|
const U32 AGENT_CONTROL_STAND_UP = 0x1 << CONTROL_STAND_UP_INDEX; // 0x00010000
|
|
const U32 AGENT_CONTROL_SIT_ON_GROUND = 0x1 << CONTROL_SIT_ON_GROUND_INDEX; // 0x00020000
|
|
const U32 AGENT_CONTROL_MOUSELOOK = 0x1 << CONTROL_MOUSELOOK_INDEX; // 0x00040000
|
|
|
|
const U32 AGENT_CONTROL_NUDGE_AT_POS = 0x1 << CONTROL_NUDGE_AT_POS_INDEX; // 0x00080000
|
|
const U32 AGENT_CONTROL_NUDGE_AT_NEG = 0x1 << CONTROL_NUDGE_AT_NEG_INDEX; // 0x00100000
|
|
const U32 AGENT_CONTROL_NUDGE_LEFT_POS = 0x1 << CONTROL_NUDGE_LEFT_POS_INDEX; // 0x00200000
|
|
const U32 AGENT_CONTROL_NUDGE_LEFT_NEG = 0x1 << CONTROL_NUDGE_LEFT_NEG_INDEX; // 0x00400000
|
|
const U32 AGENT_CONTROL_NUDGE_UP_POS = 0x1 << CONTROL_NUDGE_UP_POS_INDEX; // 0x00800000
|
|
const U32 AGENT_CONTROL_NUDGE_UP_NEG = 0x1 << CONTROL_NUDGE_UP_NEG_INDEX; // 0x01000000
|
|
const U32 AGENT_CONTROL_TURN_LEFT = 0x1 << CONTROL_TURN_LEFT_INDEX; // 0x02000000
|
|
const U32 AGENT_CONTROL_TURN_RIGHT = 0x1 << CONTROL_TURN_RIGHT_INDEX; // 0x04000000
|
|
|
|
const U32 AGENT_CONTROL_AWAY = 0x1 << CONTROL_AWAY_INDEX; // 0x08000000
|
|
|
|
const U32 AGENT_CONTROL_LBUTTON_DOWN = 0x1 << CONTROL_LBUTTON_DOWN_INDEX; // 0x10000000
|
|
const U32 AGENT_CONTROL_LBUTTON_UP = 0x1 << CONTROL_LBUTTON_UP_INDEX; // 0x20000000
|
|
const U32 AGENT_CONTROL_ML_LBUTTON_DOWN = 0x1 << CONTROL_ML_LBUTTON_DOWN_INDEX; // 0x40000000
|
|
const U32 AGENT_CONTROL_ML_LBUTTON_UP = ((U32)0x1) << CONTROL_ML_LBUTTON_UP_INDEX; // 0x80000000
|
|
|
|
// move these up so that we can hide them in "State" for object updates
|
|
// (for now)
|
|
const U32 AGENT_ATTACH_OFFSET = 4;
|
|
const U32 AGENT_ATTACH_MASK = 0xf << AGENT_ATTACH_OFFSET;
|
|
|
|
// RN: this method swaps the upper and lower nibbles to maintain backward
|
|
// compatibility with old objects that only used the upper nibble
|
|
#define ATTACHMENT_ID_FROM_STATE(state) ((S32)((((U8)state & AGENT_ATTACH_MASK) >> 4) | (((U8)state & ~AGENT_ATTACH_MASK) << 4)))
|
|
|
|
// DO NOT CHANGE THE SEQUENCE OF THIS LIST!!
|
|
const U8 CLICK_ACTION_NONE = 0;
|
|
const U8 CLICK_ACTION_TOUCH = 0;
|
|
const U8 CLICK_ACTION_SIT = 1;
|
|
const U8 CLICK_ACTION_BUY = 2;
|
|
const U8 CLICK_ACTION_PAY = 3;
|
|
const U8 CLICK_ACTION_OPEN = 4;
|
|
const U8 CLICK_ACTION_PLAY = 5;
|
|
const U8 CLICK_ACTION_OPEN_MEDIA = 6;
|
|
const U8 CLICK_ACTION_ZOOM = 7;
|
|
const U8 CLICK_ACTION_DISABLED = 8;
|
|
const U8 CLICK_ACTION_IGNORE = 9;
|
|
// DO NOT CHANGE THE SEQUENCE OF THIS LIST!!
|
|
|
|
constexpr U32 BEACON_SHOW_MAP = 0x0001;
|
|
constexpr U32 BEACON_FOCUS_MAP = 0x0002;
|
|
|
|
#endif
|