godot/core/global_constants.cpp
2016-04-07 21:20:22 +02:00

546 lines
21 KiB
C++

/*************************************************************************/
/* global_constants.cpp */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
/* http://www.godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */
/* "Software"), to deal in the Software without restriction, including */
/* without limitation the rights to use, copy, modify, merge, publish, */
/* distribute, sublicense, and/or sell copies of the Software, and to */
/* permit persons to whom the Software is furnished to do so, subject to */
/* the following conditions: */
/* */
/* The above copyright notice and this permission notice shall be */
/* included in all copies or substantial portions of the Software. */
/* */
/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
#include "global_constants.h"
#include "variant.h"
#include "os/keyboard.h"
#include "object.h"
struct _GlobalConstant {
const char *name;
int value;
};
#define BIND_GLOBAL_CONSTANT(m_constant) {#m_constant,m_constant}
static _GlobalConstant _global_constants[]={
//{ KEY_BACKSPACE, VK_BACK },// (0x08) // backspace
BIND_GLOBAL_CONSTANT( MARGIN_LEFT ),
BIND_GLOBAL_CONSTANT( MARGIN_TOP ),
BIND_GLOBAL_CONSTANT( MARGIN_RIGHT ),
BIND_GLOBAL_CONSTANT( MARGIN_BOTTOM ),
BIND_GLOBAL_CONSTANT( VERTICAL ),
BIND_GLOBAL_CONSTANT( HORIZONTAL ),
BIND_GLOBAL_CONSTANT( HALIGN_LEFT ),
BIND_GLOBAL_CONSTANT( HALIGN_CENTER ),
BIND_GLOBAL_CONSTANT( HALIGN_RIGHT ),
BIND_GLOBAL_CONSTANT( VALIGN_TOP ),
BIND_GLOBAL_CONSTANT( VALIGN_CENTER ),
BIND_GLOBAL_CONSTANT( VALIGN_BOTTOM ),
// hueg list of keys
BIND_GLOBAL_CONSTANT( SPKEY ),
BIND_GLOBAL_CONSTANT( KEY_ESCAPE ),
BIND_GLOBAL_CONSTANT( KEY_TAB ),
BIND_GLOBAL_CONSTANT( KEY_BACKTAB ),
BIND_GLOBAL_CONSTANT( KEY_BACKSPACE ),
BIND_GLOBAL_CONSTANT( KEY_RETURN ),
BIND_GLOBAL_CONSTANT( KEY_ENTER ),
BIND_GLOBAL_CONSTANT( KEY_INSERT ),
BIND_GLOBAL_CONSTANT( KEY_DELETE ),
BIND_GLOBAL_CONSTANT( KEY_PAUSE ),
BIND_GLOBAL_CONSTANT( KEY_PRINT ),
BIND_GLOBAL_CONSTANT( KEY_SYSREQ ),
BIND_GLOBAL_CONSTANT( KEY_CLEAR ),
BIND_GLOBAL_CONSTANT( KEY_HOME ),
BIND_GLOBAL_CONSTANT( KEY_END ),
BIND_GLOBAL_CONSTANT( KEY_LEFT ),
BIND_GLOBAL_CONSTANT( KEY_UP ),
BIND_GLOBAL_CONSTANT( KEY_RIGHT ),
BIND_GLOBAL_CONSTANT( KEY_DOWN ),
BIND_GLOBAL_CONSTANT( KEY_PAGEUP ),
BIND_GLOBAL_CONSTANT( KEY_PAGEDOWN ),
BIND_GLOBAL_CONSTANT( KEY_SHIFT ),
BIND_GLOBAL_CONSTANT( KEY_CONTROL ),
BIND_GLOBAL_CONSTANT( KEY_META ),
BIND_GLOBAL_CONSTANT( KEY_ALT ),
BIND_GLOBAL_CONSTANT( KEY_CAPSLOCK ),
BIND_GLOBAL_CONSTANT( KEY_NUMLOCK ),
BIND_GLOBAL_CONSTANT( KEY_SCROLLLOCK ),
BIND_GLOBAL_CONSTANT( KEY_F1 ),
BIND_GLOBAL_CONSTANT( KEY_F2 ),
BIND_GLOBAL_CONSTANT( KEY_F3 ),
BIND_GLOBAL_CONSTANT( KEY_F4 ),
BIND_GLOBAL_CONSTANT( KEY_F5 ),
BIND_GLOBAL_CONSTANT( KEY_F6 ),
BIND_GLOBAL_CONSTANT( KEY_F7 ),
BIND_GLOBAL_CONSTANT( KEY_F8 ),
BIND_GLOBAL_CONSTANT( KEY_F9 ),
BIND_GLOBAL_CONSTANT( KEY_F10 ),
BIND_GLOBAL_CONSTANT( KEY_F11 ),
BIND_GLOBAL_CONSTANT( KEY_F12 ),
BIND_GLOBAL_CONSTANT( KEY_F13 ),
BIND_GLOBAL_CONSTANT( KEY_F14 ),
BIND_GLOBAL_CONSTANT( KEY_F15 ),
BIND_GLOBAL_CONSTANT( KEY_F16 ),
BIND_GLOBAL_CONSTANT( KEY_KP_ENTER ),
BIND_GLOBAL_CONSTANT( KEY_KP_MULTIPLY ),
BIND_GLOBAL_CONSTANT( KEY_KP_DIVIDE ),
BIND_GLOBAL_CONSTANT( KEY_KP_SUBTRACT ),
BIND_GLOBAL_CONSTANT( KEY_KP_PERIOD ),
BIND_GLOBAL_CONSTANT( KEY_KP_ADD ),
BIND_GLOBAL_CONSTANT( KEY_KP_0 ),
BIND_GLOBAL_CONSTANT( KEY_KP_1 ),
BIND_GLOBAL_CONSTANT( KEY_KP_2 ),
BIND_GLOBAL_CONSTANT( KEY_KP_3 ),
BIND_GLOBAL_CONSTANT( KEY_KP_4 ),
BIND_GLOBAL_CONSTANT( KEY_KP_5 ),
BIND_GLOBAL_CONSTANT( KEY_KP_6 ),
BIND_GLOBAL_CONSTANT( KEY_KP_7 ),
BIND_GLOBAL_CONSTANT( KEY_KP_8 ),
BIND_GLOBAL_CONSTANT( KEY_KP_9 ),
BIND_GLOBAL_CONSTANT( KEY_SUPER_L ),
BIND_GLOBAL_CONSTANT( KEY_SUPER_R ),
BIND_GLOBAL_CONSTANT( KEY_MENU ),
BIND_GLOBAL_CONSTANT( KEY_HYPER_L ),
BIND_GLOBAL_CONSTANT( KEY_HYPER_R ),
BIND_GLOBAL_CONSTANT( KEY_HELP ),
BIND_GLOBAL_CONSTANT( KEY_DIRECTION_L ),
BIND_GLOBAL_CONSTANT( KEY_DIRECTION_R ),
BIND_GLOBAL_CONSTANT( KEY_BACK ),
BIND_GLOBAL_CONSTANT( KEY_FORWARD ),
BIND_GLOBAL_CONSTANT( KEY_STOP ),
BIND_GLOBAL_CONSTANT( KEY_REFRESH ),
BIND_GLOBAL_CONSTANT( KEY_VOLUMEDOWN ),
BIND_GLOBAL_CONSTANT( KEY_VOLUMEMUTE ),
BIND_GLOBAL_CONSTANT( KEY_VOLUMEUP ),
BIND_GLOBAL_CONSTANT( KEY_BASSBOOST ),
BIND_GLOBAL_CONSTANT( KEY_BASSUP ),
BIND_GLOBAL_CONSTANT( KEY_BASSDOWN ),
BIND_GLOBAL_CONSTANT( KEY_TREBLEUP ),
BIND_GLOBAL_CONSTANT( KEY_TREBLEDOWN ),
BIND_GLOBAL_CONSTANT( KEY_MEDIAPLAY ),
BIND_GLOBAL_CONSTANT( KEY_MEDIASTOP ),
BIND_GLOBAL_CONSTANT( KEY_MEDIAPREVIOUS ),
BIND_GLOBAL_CONSTANT( KEY_MEDIANEXT ),
BIND_GLOBAL_CONSTANT( KEY_MEDIARECORD ),
BIND_GLOBAL_CONSTANT( KEY_HOMEPAGE ),
BIND_GLOBAL_CONSTANT( KEY_FAVORITES ),
BIND_GLOBAL_CONSTANT( KEY_SEARCH ),
BIND_GLOBAL_CONSTANT( KEY_STANDBY ),
BIND_GLOBAL_CONSTANT( KEY_OPENURL ),
BIND_GLOBAL_CONSTANT( KEY_LAUNCHMAIL ),
BIND_GLOBAL_CONSTANT( KEY_LAUNCHMEDIA ),
BIND_GLOBAL_CONSTANT( KEY_LAUNCH0 ),
BIND_GLOBAL_CONSTANT( KEY_LAUNCH1 ),
BIND_GLOBAL_CONSTANT( KEY_LAUNCH2 ),
BIND_GLOBAL_CONSTANT( KEY_LAUNCH3 ),
BIND_GLOBAL_CONSTANT( KEY_LAUNCH4 ),
BIND_GLOBAL_CONSTANT( KEY_LAUNCH5 ),
BIND_GLOBAL_CONSTANT( KEY_LAUNCH6 ),
BIND_GLOBAL_CONSTANT( KEY_LAUNCH7 ),
BIND_GLOBAL_CONSTANT( KEY_LAUNCH8 ),
BIND_GLOBAL_CONSTANT( KEY_LAUNCH9 ),
BIND_GLOBAL_CONSTANT( KEY_LAUNCHA ),
BIND_GLOBAL_CONSTANT( KEY_LAUNCHB ),
BIND_GLOBAL_CONSTANT( KEY_LAUNCHC ),
BIND_GLOBAL_CONSTANT( KEY_LAUNCHD ),
BIND_GLOBAL_CONSTANT( KEY_LAUNCHE ),
BIND_GLOBAL_CONSTANT( KEY_LAUNCHF ),
BIND_GLOBAL_CONSTANT( KEY_UNKNOWN ),
BIND_GLOBAL_CONSTANT( KEY_SPACE ),
BIND_GLOBAL_CONSTANT( KEY_EXCLAM ),
BIND_GLOBAL_CONSTANT( KEY_QUOTEDBL ),
BIND_GLOBAL_CONSTANT( KEY_NUMBERSIGN ),
BIND_GLOBAL_CONSTANT( KEY_DOLLAR ),
BIND_GLOBAL_CONSTANT( KEY_PERCENT ),
BIND_GLOBAL_CONSTANT( KEY_AMPERSAND ),
BIND_GLOBAL_CONSTANT( KEY_APOSTROPHE ),
BIND_GLOBAL_CONSTANT( KEY_PARENLEFT ),
BIND_GLOBAL_CONSTANT( KEY_PARENRIGHT ),
BIND_GLOBAL_CONSTANT( KEY_ASTERISK ),
BIND_GLOBAL_CONSTANT( KEY_PLUS ),
BIND_GLOBAL_CONSTANT( KEY_COMMA ),
BIND_GLOBAL_CONSTANT( KEY_MINUS ),
BIND_GLOBAL_CONSTANT( KEY_PERIOD ),
BIND_GLOBAL_CONSTANT( KEY_SLASH ),
BIND_GLOBAL_CONSTANT( KEY_0 ),
BIND_GLOBAL_CONSTANT( KEY_1 ),
BIND_GLOBAL_CONSTANT( KEY_2 ),
BIND_GLOBAL_CONSTANT( KEY_3 ),
BIND_GLOBAL_CONSTANT( KEY_4 ),
BIND_GLOBAL_CONSTANT( KEY_5 ),
BIND_GLOBAL_CONSTANT( KEY_6 ),
BIND_GLOBAL_CONSTANT( KEY_7 ),
BIND_GLOBAL_CONSTANT( KEY_8 ),
BIND_GLOBAL_CONSTANT( KEY_9 ),
BIND_GLOBAL_CONSTANT( KEY_COLON ),
BIND_GLOBAL_CONSTANT( KEY_SEMICOLON ),
BIND_GLOBAL_CONSTANT( KEY_LESS ),
BIND_GLOBAL_CONSTANT( KEY_EQUAL ),
BIND_GLOBAL_CONSTANT( KEY_GREATER ),
BIND_GLOBAL_CONSTANT( KEY_QUESTION ),
BIND_GLOBAL_CONSTANT( KEY_AT ),
BIND_GLOBAL_CONSTANT( KEY_A ),
BIND_GLOBAL_CONSTANT( KEY_B ),
BIND_GLOBAL_CONSTANT( KEY_C ),
BIND_GLOBAL_CONSTANT( KEY_D ),
BIND_GLOBAL_CONSTANT( KEY_E ),
BIND_GLOBAL_CONSTANT( KEY_F ),
BIND_GLOBAL_CONSTANT( KEY_G ),
BIND_GLOBAL_CONSTANT( KEY_H ),
BIND_GLOBAL_CONSTANT( KEY_I ),
BIND_GLOBAL_CONSTANT( KEY_J ),
BIND_GLOBAL_CONSTANT( KEY_K ),
BIND_GLOBAL_CONSTANT( KEY_L ),
BIND_GLOBAL_CONSTANT( KEY_M ),
BIND_GLOBAL_CONSTANT( KEY_N ),
BIND_GLOBAL_CONSTANT( KEY_O ),
BIND_GLOBAL_CONSTANT( KEY_P ),
BIND_GLOBAL_CONSTANT( KEY_Q ),
BIND_GLOBAL_CONSTANT( KEY_R ),
BIND_GLOBAL_CONSTANT( KEY_S ),
BIND_GLOBAL_CONSTANT( KEY_T ),
BIND_GLOBAL_CONSTANT( KEY_U ),
BIND_GLOBAL_CONSTANT( KEY_V ),
BIND_GLOBAL_CONSTANT( KEY_W ),
BIND_GLOBAL_CONSTANT( KEY_X ),
BIND_GLOBAL_CONSTANT( KEY_Y ),
BIND_GLOBAL_CONSTANT( KEY_Z ),
BIND_GLOBAL_CONSTANT( KEY_BRACKETLEFT ),
BIND_GLOBAL_CONSTANT( KEY_BACKSLASH ),
BIND_GLOBAL_CONSTANT( KEY_BRACKETRIGHT ),
BIND_GLOBAL_CONSTANT( KEY_ASCIICIRCUM ),
BIND_GLOBAL_CONSTANT( KEY_UNDERSCORE ),
BIND_GLOBAL_CONSTANT( KEY_QUOTELEFT ),
BIND_GLOBAL_CONSTANT( KEY_BRACELEFT ),
BIND_GLOBAL_CONSTANT( KEY_BAR ),
BIND_GLOBAL_CONSTANT( KEY_BRACERIGHT ),
BIND_GLOBAL_CONSTANT( KEY_ASCIITILDE ),
BIND_GLOBAL_CONSTANT( KEY_NOBREAKSPACE ),
BIND_GLOBAL_CONSTANT( KEY_EXCLAMDOWN ),
BIND_GLOBAL_CONSTANT( KEY_CENT ),
BIND_GLOBAL_CONSTANT( KEY_STERLING ),
BIND_GLOBAL_CONSTANT( KEY_CURRENCY ),
BIND_GLOBAL_CONSTANT( KEY_YEN ),
BIND_GLOBAL_CONSTANT( KEY_BROKENBAR ),
BIND_GLOBAL_CONSTANT( KEY_SECTION ),
BIND_GLOBAL_CONSTANT( KEY_DIAERESIS ),
BIND_GLOBAL_CONSTANT( KEY_COPYRIGHT ),
BIND_GLOBAL_CONSTANT( KEY_ORDFEMININE ),
BIND_GLOBAL_CONSTANT( KEY_GUILLEMOTLEFT ),
BIND_GLOBAL_CONSTANT( KEY_NOTSIGN ),
BIND_GLOBAL_CONSTANT( KEY_HYPHEN ),
BIND_GLOBAL_CONSTANT( KEY_REGISTERED ),
BIND_GLOBAL_CONSTANT( KEY_MACRON ),
BIND_GLOBAL_CONSTANT( KEY_DEGREE ),
BIND_GLOBAL_CONSTANT( KEY_PLUSMINUS ),
BIND_GLOBAL_CONSTANT( KEY_TWOSUPERIOR ),
BIND_GLOBAL_CONSTANT( KEY_THREESUPERIOR ),
BIND_GLOBAL_CONSTANT( KEY_ACUTE ),
BIND_GLOBAL_CONSTANT( KEY_MU ),
BIND_GLOBAL_CONSTANT( KEY_PARAGRAPH ),
BIND_GLOBAL_CONSTANT( KEY_PERIODCENTERED ),
BIND_GLOBAL_CONSTANT( KEY_CEDILLA ),
BIND_GLOBAL_CONSTANT( KEY_ONESUPERIOR ),
BIND_GLOBAL_CONSTANT( KEY_MASCULINE ),
BIND_GLOBAL_CONSTANT( KEY_GUILLEMOTRIGHT ),
BIND_GLOBAL_CONSTANT( KEY_ONEQUARTER ),
BIND_GLOBAL_CONSTANT( KEY_ONEHALF ),
BIND_GLOBAL_CONSTANT( KEY_THREEQUARTERS ),
BIND_GLOBAL_CONSTANT( KEY_QUESTIONDOWN ),
BIND_GLOBAL_CONSTANT( KEY_AGRAVE ),
BIND_GLOBAL_CONSTANT( KEY_AACUTE ),
BIND_GLOBAL_CONSTANT( KEY_ACIRCUMFLEX ),
BIND_GLOBAL_CONSTANT( KEY_ATILDE ),
BIND_GLOBAL_CONSTANT( KEY_ADIAERESIS ),
BIND_GLOBAL_CONSTANT( KEY_ARING ),
BIND_GLOBAL_CONSTANT( KEY_AE ),
BIND_GLOBAL_CONSTANT( KEY_CCEDILLA ),
BIND_GLOBAL_CONSTANT( KEY_EGRAVE ),
BIND_GLOBAL_CONSTANT( KEY_EACUTE ),
BIND_GLOBAL_CONSTANT( KEY_ECIRCUMFLEX ),
BIND_GLOBAL_CONSTANT( KEY_EDIAERESIS ),
BIND_GLOBAL_CONSTANT( KEY_IGRAVE ),
BIND_GLOBAL_CONSTANT( KEY_IACUTE ),
BIND_GLOBAL_CONSTANT( KEY_ICIRCUMFLEX ),
BIND_GLOBAL_CONSTANT( KEY_IDIAERESIS ),
BIND_GLOBAL_CONSTANT( KEY_ETH ),
BIND_GLOBAL_CONSTANT( KEY_NTILDE ),
BIND_GLOBAL_CONSTANT( KEY_OGRAVE ),
BIND_GLOBAL_CONSTANT( KEY_OACUTE ),
BIND_GLOBAL_CONSTANT( KEY_OCIRCUMFLEX ),
BIND_GLOBAL_CONSTANT( KEY_OTILDE ),
BIND_GLOBAL_CONSTANT( KEY_ODIAERESIS ),
BIND_GLOBAL_CONSTANT( KEY_MULTIPLY ),
BIND_GLOBAL_CONSTANT( KEY_OOBLIQUE ),
BIND_GLOBAL_CONSTANT( KEY_UGRAVE ),
BIND_GLOBAL_CONSTANT( KEY_UACUTE ),
BIND_GLOBAL_CONSTANT( KEY_UCIRCUMFLEX ),
BIND_GLOBAL_CONSTANT( KEY_UDIAERESIS ),
BIND_GLOBAL_CONSTANT( KEY_YACUTE ),
BIND_GLOBAL_CONSTANT( KEY_THORN ),
BIND_GLOBAL_CONSTANT( KEY_SSHARP ),
BIND_GLOBAL_CONSTANT( KEY_DIVISION ),
BIND_GLOBAL_CONSTANT( KEY_YDIAERESIS ),
BIND_GLOBAL_CONSTANT( KEY_CODE_MASK ),
BIND_GLOBAL_CONSTANT( KEY_MODIFIER_MASK ),
BIND_GLOBAL_CONSTANT( KEY_MASK_SHIFT ),
BIND_GLOBAL_CONSTANT( KEY_MASK_ALT ),
BIND_GLOBAL_CONSTANT( KEY_MASK_META ),
BIND_GLOBAL_CONSTANT( KEY_MASK_CTRL ),
BIND_GLOBAL_CONSTANT( KEY_MASK_CMD ),
BIND_GLOBAL_CONSTANT( KEY_MASK_KPAD ),
BIND_GLOBAL_CONSTANT( KEY_MASK_GROUP_SWITCH ),
// mouse
BIND_GLOBAL_CONSTANT( BUTTON_LEFT ),
BIND_GLOBAL_CONSTANT( BUTTON_RIGHT ),
BIND_GLOBAL_CONSTANT( BUTTON_MIDDLE ),
BIND_GLOBAL_CONSTANT( BUTTON_WHEEL_UP ),
BIND_GLOBAL_CONSTANT( BUTTON_WHEEL_DOWN ),
BIND_GLOBAL_CONSTANT( BUTTON_WHEEL_LEFT ),
BIND_GLOBAL_CONSTANT( BUTTON_WHEEL_RIGHT ),
BIND_GLOBAL_CONSTANT( BUTTON_MASK_LEFT ),
BIND_GLOBAL_CONSTANT( BUTTON_MASK_RIGHT ),
BIND_GLOBAL_CONSTANT( BUTTON_MASK_MIDDLE ),
//joysticks
BIND_GLOBAL_CONSTANT( JOY_BUTTON_0 ),
BIND_GLOBAL_CONSTANT( JOY_BUTTON_1 ),
BIND_GLOBAL_CONSTANT( JOY_BUTTON_2 ),
BIND_GLOBAL_CONSTANT( JOY_BUTTON_3 ),
BIND_GLOBAL_CONSTANT( JOY_BUTTON_4 ),
BIND_GLOBAL_CONSTANT( JOY_BUTTON_5 ),
BIND_GLOBAL_CONSTANT( JOY_BUTTON_6 ),
BIND_GLOBAL_CONSTANT( JOY_BUTTON_7 ),
BIND_GLOBAL_CONSTANT( JOY_BUTTON_8 ),
BIND_GLOBAL_CONSTANT( JOY_BUTTON_9 ),
BIND_GLOBAL_CONSTANT( JOY_BUTTON_10 ),
BIND_GLOBAL_CONSTANT( JOY_BUTTON_11 ),
BIND_GLOBAL_CONSTANT( JOY_BUTTON_12 ),
BIND_GLOBAL_CONSTANT( JOY_BUTTON_13 ),
BIND_GLOBAL_CONSTANT( JOY_BUTTON_14 ),
BIND_GLOBAL_CONSTANT( JOY_BUTTON_15 ),
BIND_GLOBAL_CONSTANT( JOY_BUTTON_MAX ),
BIND_GLOBAL_CONSTANT( JOY_SNES_A ),
BIND_GLOBAL_CONSTANT( JOY_SNES_B ),
BIND_GLOBAL_CONSTANT( JOY_SNES_X ),
BIND_GLOBAL_CONSTANT( JOY_SNES_Y ),
BIND_GLOBAL_CONSTANT( JOY_SONY_CIRCLE ),
BIND_GLOBAL_CONSTANT( JOY_SONY_X ),
BIND_GLOBAL_CONSTANT( JOY_SONY_SQUARE ),
BIND_GLOBAL_CONSTANT( JOY_SONY_TRIANGLE ),
BIND_GLOBAL_CONSTANT( JOY_SEGA_B ),
BIND_GLOBAL_CONSTANT( JOY_SEGA_A ),
BIND_GLOBAL_CONSTANT( JOY_SEGA_X ),
BIND_GLOBAL_CONSTANT( JOY_SEGA_Y ),
BIND_GLOBAL_CONSTANT( JOY_XBOX_B ),
BIND_GLOBAL_CONSTANT( JOY_XBOX_A ),
BIND_GLOBAL_CONSTANT( JOY_XBOX_X ),
BIND_GLOBAL_CONSTANT( JOY_XBOX_Y ),
BIND_GLOBAL_CONSTANT( JOY_DS_A ),
BIND_GLOBAL_CONSTANT( JOY_DS_B ),
BIND_GLOBAL_CONSTANT( JOY_DS_X ),
BIND_GLOBAL_CONSTANT( JOY_DS_Y ),
BIND_GLOBAL_CONSTANT( JOY_SELECT ),
BIND_GLOBAL_CONSTANT( JOY_START ),
BIND_GLOBAL_CONSTANT( JOY_DPAD_UP ),
BIND_GLOBAL_CONSTANT( JOY_DPAD_DOWN ),
BIND_GLOBAL_CONSTANT( JOY_DPAD_LEFT ),
BIND_GLOBAL_CONSTANT( JOY_DPAD_RIGHT ),
BIND_GLOBAL_CONSTANT( JOY_L ),
BIND_GLOBAL_CONSTANT( JOY_L2 ),
BIND_GLOBAL_CONSTANT( JOY_L3 ),
BIND_GLOBAL_CONSTANT( JOY_R ),
BIND_GLOBAL_CONSTANT( JOY_R2 ),
BIND_GLOBAL_CONSTANT( JOY_R3 ),
BIND_GLOBAL_CONSTANT( JOY_AXIS_0 ),
BIND_GLOBAL_CONSTANT( JOY_AXIS_1 ),
BIND_GLOBAL_CONSTANT( JOY_AXIS_2 ),
BIND_GLOBAL_CONSTANT( JOY_AXIS_3 ),
BIND_GLOBAL_CONSTANT( JOY_AXIS_4 ),
BIND_GLOBAL_CONSTANT( JOY_AXIS_5 ),
BIND_GLOBAL_CONSTANT( JOY_AXIS_6 ),
BIND_GLOBAL_CONSTANT( JOY_AXIS_7 ),
BIND_GLOBAL_CONSTANT( JOY_AXIS_MAX ),
BIND_GLOBAL_CONSTANT( JOY_ANALOG_0_X ),
BIND_GLOBAL_CONSTANT( JOY_ANALOG_0_Y ),
BIND_GLOBAL_CONSTANT( JOY_ANALOG_1_X ),
BIND_GLOBAL_CONSTANT( JOY_ANALOG_1_Y ),
BIND_GLOBAL_CONSTANT( JOY_ANALOG_2_X ),
BIND_GLOBAL_CONSTANT( JOY_ANALOG_2_Y ),
BIND_GLOBAL_CONSTANT( JOY_ANALOG_L2 ),
BIND_GLOBAL_CONSTANT( JOY_ANALOG_R2 ),
// error list
BIND_GLOBAL_CONSTANT( OK ),
BIND_GLOBAL_CONSTANT( FAILED ), ///< Generic fail error
BIND_GLOBAL_CONSTANT( ERR_UNAVAILABLE ), ///< What is requested is unsupported/unavailable
BIND_GLOBAL_CONSTANT( ERR_UNCONFIGURED ), ///< The object being used hasnt been properly set up yet
BIND_GLOBAL_CONSTANT( ERR_UNAUTHORIZED ), ///< Missing credentials for requested resource
BIND_GLOBAL_CONSTANT( ERR_PARAMETER_RANGE_ERROR ), ///< Parameter given out of range
BIND_GLOBAL_CONSTANT( ERR_OUT_OF_MEMORY ), ///< Out of memory
BIND_GLOBAL_CONSTANT( ERR_FILE_NOT_FOUND ),
BIND_GLOBAL_CONSTANT( ERR_FILE_BAD_DRIVE ),
BIND_GLOBAL_CONSTANT( ERR_FILE_BAD_PATH ),
BIND_GLOBAL_CONSTANT( ERR_FILE_NO_PERMISSION ),
BIND_GLOBAL_CONSTANT( ERR_FILE_ALREADY_IN_USE ),
BIND_GLOBAL_CONSTANT( ERR_FILE_CANT_OPEN ),
BIND_GLOBAL_CONSTANT( ERR_FILE_CANT_WRITE ),
BIND_GLOBAL_CONSTANT( ERR_FILE_CANT_READ ),
BIND_GLOBAL_CONSTANT( ERR_FILE_UNRECOGNIZED ),
BIND_GLOBAL_CONSTANT( ERR_FILE_CORRUPT ),
BIND_GLOBAL_CONSTANT( ERR_FILE_MISSING_DEPENDENCIES),
BIND_GLOBAL_CONSTANT( ERR_FILE_EOF ),
BIND_GLOBAL_CONSTANT( ERR_CANT_OPEN ), ///< Can't open a resource/socket/file
BIND_GLOBAL_CONSTANT( ERR_CANT_CREATE ),
BIND_GLOBAL_CONSTANT( ERR_PARSE_ERROR ),
BIND_GLOBAL_CONSTANT( ERROR_QUERY_FAILED ),
BIND_GLOBAL_CONSTANT( ERR_ALREADY_IN_USE ),
BIND_GLOBAL_CONSTANT( ERR_LOCKED ), ///< resource is locked
BIND_GLOBAL_CONSTANT( ERR_TIMEOUT ),
BIND_GLOBAL_CONSTANT( ERR_CANT_AQUIRE_RESOURCE ),
BIND_GLOBAL_CONSTANT( ERR_INVALID_DATA ), ///< Data passed is invalid
BIND_GLOBAL_CONSTANT( ERR_INVALID_PARAMETER ), ///< Parameter passed is invalid
BIND_GLOBAL_CONSTANT( ERR_ALREADY_EXISTS ), ///< When adding ), item already exists
BIND_GLOBAL_CONSTANT( ERR_DOES_NOT_EXIST ), ///< When retrieving/erasing ), it item does not exist
BIND_GLOBAL_CONSTANT( ERR_DATABASE_CANT_READ ), ///< database is full
BIND_GLOBAL_CONSTANT( ERR_DATABASE_CANT_WRITE ), ///< database is full
BIND_GLOBAL_CONSTANT( ERR_COMPILATION_FAILED ),
BIND_GLOBAL_CONSTANT( ERR_METHOD_NOT_FOUND ),
BIND_GLOBAL_CONSTANT( ERR_LINK_FAILED ),
BIND_GLOBAL_CONSTANT( ERR_SCRIPT_FAILED ),
BIND_GLOBAL_CONSTANT( ERR_CYCLIC_LINK ),
BIND_GLOBAL_CONSTANT( ERR_BUSY ),
BIND_GLOBAL_CONSTANT( ERR_HELP ), ///< user requested help!!
BIND_GLOBAL_CONSTANT( ERR_BUG ), ///< a bug in the software certainly happened ), due to a double check failing or unexpected behavior.
BIND_GLOBAL_CONSTANT( ERR_WTF ),
BIND_GLOBAL_CONSTANT( PROPERTY_HINT_NONE ),
BIND_GLOBAL_CONSTANT( PROPERTY_HINT_RANGE ),
BIND_GLOBAL_CONSTANT( PROPERTY_HINT_EXP_RANGE ),
BIND_GLOBAL_CONSTANT( PROPERTY_HINT_ENUM ),
BIND_GLOBAL_CONSTANT( PROPERTY_HINT_EXP_EASING ),
BIND_GLOBAL_CONSTANT( PROPERTY_HINT_LENGTH ),
BIND_GLOBAL_CONSTANT( PROPERTY_HINT_KEY_ACCEL ),
BIND_GLOBAL_CONSTANT( PROPERTY_HINT_FLAGS ),
BIND_GLOBAL_CONSTANT( PROPERTY_HINT_ALL_FLAGS ),
BIND_GLOBAL_CONSTANT( PROPERTY_HINT_FILE ),
BIND_GLOBAL_CONSTANT( PROPERTY_HINT_DIR ),
BIND_GLOBAL_CONSTANT( PROPERTY_HINT_GLOBAL_FILE ),
BIND_GLOBAL_CONSTANT( PROPERTY_HINT_GLOBAL_DIR ),
BIND_GLOBAL_CONSTANT( PROPERTY_HINT_RESOURCE_TYPE ),
BIND_GLOBAL_CONSTANT( PROPERTY_HINT_MULTILINE_TEXT ),
BIND_GLOBAL_CONSTANT( PROPERTY_HINT_COLOR_NO_ALPHA ),
BIND_GLOBAL_CONSTANT( PROPERTY_HINT_IMAGE_COMPRESS_LOSSY ),
BIND_GLOBAL_CONSTANT( PROPERTY_HINT_IMAGE_COMPRESS_LOSSLESS ),
BIND_GLOBAL_CONSTANT( PROPERTY_USAGE_STORAGE ),
BIND_GLOBAL_CONSTANT( PROPERTY_USAGE_EDITOR ),
BIND_GLOBAL_CONSTANT( PROPERTY_USAGE_NETWORK ),
BIND_GLOBAL_CONSTANT( PROPERTY_USAGE_DEFAULT ),
BIND_GLOBAL_CONSTANT( METHOD_FLAG_NORMAL ),
BIND_GLOBAL_CONSTANT( METHOD_FLAG_EDITOR ),
BIND_GLOBAL_CONSTANT( METHOD_FLAG_NOSCRIPT ),
BIND_GLOBAL_CONSTANT( METHOD_FLAG_CONST ),
BIND_GLOBAL_CONSTANT( METHOD_FLAG_REVERSE ),
BIND_GLOBAL_CONSTANT( METHOD_FLAG_VIRTUAL ),
BIND_GLOBAL_CONSTANT( METHOD_FLAG_FROM_SCRIPT ),
BIND_GLOBAL_CONSTANT( METHOD_FLAGS_DEFAULT ),
{"TYPE_NIL",Variant::NIL},
{"TYPE_BOOL",Variant::BOOL},
{"TYPE_INT",Variant::INT},
{"TYPE_REAL",Variant::REAL},
{"TYPE_STRING",Variant::STRING},
{"TYPE_VECTOR2",Variant::VECTOR2}, // 5
{"TYPE_RECT2",Variant::RECT2},
{"TYPE_VECTOR3",Variant::VECTOR3},
{"TYPE_MATRIX32",Variant::MATRIX32},
{"TYPE_PLANE",Variant::PLANE},
{"TYPE_QUAT",Variant::QUAT}, // 10
{"TYPE_AABB",Variant::_AABB}, //sorry naming convention fail :( not like it's used often
{"TYPE_MATRIX3",Variant::MATRIX3},
{"TYPE_TRANSFORM",Variant::TRANSFORM},
{"TYPE_COLOR",Variant::COLOR},
{"TYPE_IMAGE",Variant::IMAGE}, // 15
{"TYPE_NODE_PATH",Variant::NODE_PATH},
{"TYPE_RID",Variant::_RID},
{"TYPE_OBJECT",Variant::OBJECT},
{"TYPE_INPUT_EVENT",Variant::INPUT_EVENT},
{"TYPE_DICTIONARY",Variant::DICTIONARY}, // 20
{"TYPE_ARRAY",Variant::ARRAY},
{"TYPE_RAW_ARRAY",Variant::RAW_ARRAY},
{"TYPE_INT_ARRAY",Variant::INT_ARRAY},
{"TYPE_REAL_ARRAY",Variant::REAL_ARRAY},
{"TYPE_STRING_ARRAY",Variant::STRING_ARRAY}, // 25
{"TYPE_VECTOR2_ARRAY",Variant::VECTOR2_ARRAY},
{"TYPE_VECTOR3_ARRAY",Variant::VECTOR3_ARRAY},
{"TYPE_COLOR_ARRAY",Variant::COLOR_ARRAY},
{"TYPE_MAX",Variant::VARIANT_MAX},
{NULL,0}
};
int GlobalConstants::get_global_constant_count() {
int i=0;
while(_global_constants[i].name)
i++;
return i;
}
const char *GlobalConstants::get_global_constant_name(int p_idx) {
return _global_constants[p_idx].name;
}
int GlobalConstants::get_global_constant_value(int p_idx) {
return _global_constants[p_idx].value;
}