diff options
author | George Marques <george@gmarqu.es> | 2021-08-18 11:03:52 -0300 |
---|---|---|
committer | Bastiaan Olij <mux213@gmail.com> | 2021-09-27 23:08:08 +1000 |
commit | e4ed48976a962b67e9585cc2d20d11f115ef7949 (patch) | |
tree | 7830ad6926b5cd14a91784b07c2eff5b77e3f533 /include/core/Defs.hpp | |
parent | ee708668944430a7f1d69e8faf7b3f3160432dc2 (diff) | |
download | redot-cpp-e4ed48976a962b67e9585cc2d20d11f115ef7949.tar.gz |
Replace bindgins to work with extensions
Diffstat (limited to 'include/core/Defs.hpp')
-rw-r--r-- | include/core/Defs.hpp | 298 |
1 files changed, 0 insertions, 298 deletions
diff --git a/include/core/Defs.hpp b/include/core/Defs.hpp deleted file mode 100644 index 369240e..0000000 --- a/include/core/Defs.hpp +++ /dev/null @@ -1,298 +0,0 @@ -/*************************************************************************/ -/* Defs.hpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */ -/* */ -/* 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. */ -/*************************************************************************/ - -#ifndef DEFS_H -#define DEFS_H - -namespace godot { - -enum class Error { - OK, - FAILED, ///< Generic fail error - ERR_UNAVAILABLE, ///< What is requested is unsupported/unavailable - ERR_UNCONFIGURED, ///< The object being used hasnt been properly set up yet - ERR_UNAUTHORIZED, ///< Missing credentials for requested resource - ERR_PARAMETER_RANGE_ERROR, ///< Parameter given out of range (5) - ERR_OUT_OF_MEMORY, ///< Out of memory - ERR_FILE_NOT_FOUND, - ERR_FILE_BAD_DRIVE, - ERR_FILE_BAD_PATH, - ERR_FILE_NO_PERMISSION, // (10) - ERR_FILE_ALREADY_IN_USE, - ERR_FILE_CANT_OPEN, - ERR_FILE_CANT_WRITE, - ERR_FILE_CANT_READ, - ERR_FILE_UNRECOGNIZED, // (15) - ERR_FILE_CORRUPT, - ERR_FILE_MISSING_DEPENDENCIES, - ERR_FILE_EOF, - ERR_CANT_OPEN, ///< Can't open a resource/socket/file - ERR_CANT_CREATE, // (20) - ERR_QUERY_FAILED, - ERR_ALREADY_IN_USE, - ERR_LOCKED, ///< resource is locked - ERR_TIMEOUT, - ERR_CANT_CONNECT, // (25) - ERR_CANT_RESOLVE, - ERR_CONNECTION_ERROR, - ERR_CANT_AQUIRE_RESOURCE, - ERR_CANT_FORK, - ERR_INVALID_DATA, ///< Data passed is invalid (30) - ERR_INVALID_PARAMETER, ///< Parameter passed is invalid - ERR_ALREADY_EXISTS, ///< When adding, item already exists - ERR_DOES_NOT_EXIST, ///< When retrieving/erasing, it item does not exist - ERR_DATABASE_CANT_READ, ///< database is full - ERR_DATABASE_CANT_WRITE, ///< database is full (35) - ERR_COMPILATION_FAILED, - ERR_METHOD_NOT_FOUND, - ERR_LINK_FAILED, - ERR_SCRIPT_FAILED, - ERR_CYCLIC_LINK, // (40) - ERR_INVALID_DECLARATION, - ERR_DUPLICATE_SYMBOL, - ERR_PARSE_ERROR, - ERR_BUSY, - ERR_SKIP, // (45) - ERR_HELP, ///< user requested help!! - ERR_BUG, ///< a bug in the software certainly happened, due to a double check failing or unexpected behavior. - ERR_PRINTER_ON_FIRE, /// the parallel port printer is engulfed in flames -}; - -} // namespace godot - -#include <GodotGlobal.hpp> - -// alloca() is non-standard. When using MSVC, it's in malloc.h. -#if defined(__linux__) || defined(__APPLE__) -#include <alloca.h> -#else -#include <malloc.h> -#endif - -typedef float real_t; - -// This epsilon should match the one used by Godot for consistency. -// Using `f` when `real_t` is float. -#define CMP_EPSILON 0.00001f -#define CMP_EPSILON2 (CMP_EPSILON * CMP_EPSILON) - -#define Math_PI 3.1415926535897932384626433833 -#define Math_TAU 6.2831853071795864769252867666 - -#define _PLANE_EQ_DOT_EPSILON 0.999 -#define _PLANE_EQ_D_EPSILON 0.0001 - -#ifdef __GNUC__ -#define likely(x) __builtin_expect(!!(x), 1) -#define unlikely(x) __builtin_expect(!!(x), 0) -#else -#define likely(x) x -#define unlikely(x) x -#endif - -// Don't use this directly; instead, use any of the CRASH_* macros -#ifdef _MSC_VER -#define GENERATE_TRAP \ - __debugbreak(); \ - /* Avoid warning about control paths */ \ - for (;;) { \ - } -#else -#define GENERATE_TRAP __builtin_trap(); -#endif - -// ERR/WARN macros -#ifndef WARN_PRINT -#define WARN_PRINT(msg) godot::Godot::print_warning(msg, __func__, __FILE__, __LINE__) -#endif - -#ifndef WARN_PRINTS -#define WARN_PRINTS(msg) WARN_PRINT((msg).utf8().get_data()) -#endif - -#ifndef ERR_PRINT -#define ERR_PRINT(msg) godot::Godot::print_error(msg, __func__, __FILE__, __LINE__) -#endif - -#ifndef ERR_PRINTS -#define ERR_PRINTS(msg) ERR_PRINT((msg).utf8().get_data()) -#endif - -#ifndef FATAL_PRINT -#define FATAL_PRINT(msg) ERR_PRINT(godot::String("FATAL: ") + (msg)) -#endif - -#ifndef ERR_MSG_INDEX -#define ERR_MSG_INDEX(index, size) (godot::String("Index ") + #index + "=" + godot::String::num_int64(index) + " out of size (" + #size + "=" + godot::String::num_int64(size) + ")") -#endif - -#ifndef ERR_MSG_NULL -#define ERR_MSG_NULL(param) (godot::String("Parameter '") + #param + "' is null.") -#endif - -#ifndef ERR_MSG_COND -#define ERR_MSG_COND(cond) (godot::String("Condition '") + #cond + "' is true.") -#endif - -#ifndef ERR_FAIL_INDEX -#define ERR_FAIL_INDEX(index, size) \ - do { \ - if (unlikely((index) < 0 || (index) >= (size))) { \ - ERR_PRINT(ERR_MSG_INDEX(index, size)); \ - return; \ - } \ - } while (0) -#endif - -#ifndef ERR_FAIL_INDEX_V -#define ERR_FAIL_INDEX_V(index, size, ret) \ - do { \ - if (unlikely((index) < 0 || (index) >= (size))) { \ - ERR_PRINT(ERR_MSG_INDEX(index, size)); \ - return ret; \ - } \ - } while (0) -#endif - -#ifndef ERR_FAIL_UNSIGNED_INDEX_V -#define ERR_FAIL_UNSIGNED_INDEX_V(index, size, ret) \ - do { \ - if (unlikely((index) >= (size))) { \ - ERR_PRINT(ERR_MSG_INDEX(index, size)); \ - return ret; \ - } \ - } while (0) -#endif - -#ifndef CRASH_BAD_INDEX -#define CRASH_BAD_INDEX(index, size) \ - do { \ - if (unlikely((index) < 0 || (index) >= (size))) { \ - FATAL_PRINT(ERR_MSG_INDEX(index, size)); \ - GENERATE_TRAP; \ - } \ - } while (0) -#endif - -#ifndef ERR_FAIL_NULL -#define ERR_FAIL_NULL(param) \ - do { \ - if (unlikely(!param)) { \ - ERR_PRINT(ERR_MSG_NULL(param)); \ - return; \ - } \ - } while (0) -#endif - -#ifndef ERR_FAIL_NULL_V -#define ERR_FAIL_NULL_V(param, ret) \ - do { \ - if (unlikely(!param)) { \ - ERR_PRINT(ERR_MSG_NULL(param)); \ - return ret; \ - } \ - } while (0) -#endif - -#ifndef ERR_FAIL_COND -#define ERR_FAIL_COND(cond) \ - do { \ - if (unlikely(cond)) { \ - ERR_PRINT(ERR_MSG_COND(cond)); \ - return; \ - } \ - } while (0) -#endif - -#ifndef CRASH_COND -#define CRASH_COND(cond) \ - do { \ - if (unlikely(cond)) { \ - FATAL_PRINT(ERR_MSG_COND(cond)); \ - GENERATE_TRAP; \ - } \ - } while (0) -#endif - -#ifndef ERR_FAIL_COND_V -#define ERR_FAIL_COND_V(cond, ret) \ - do { \ - if (unlikely(cond)) { \ - ERR_PRINT(ERR_MSG_COND(cond)); \ - return ret; \ - } \ - } while (0) -#endif - -#ifndef ERR_CONTINUE -#define ERR_CONTINUE(cond) \ - { \ - if (unlikely(cond)) { \ - ERR_PRINT(ERR_MSG_COND(cond)); \ - continue; \ - } \ - } -#endif - -#ifndef ERR_BREAK -#define ERR_BREAK(cond) \ - { \ - if (unlikely(cond)) { \ - ERR_PRINT(ERR_MSG_COND(cond)); \ - break; \ - } \ - } -#endif - -#ifndef ERR_FAIL -#define ERR_FAIL() \ - do { \ - ERR_PRINT("Method/Function Failed."); \ - return; \ - } while (0) -#endif - -#ifndef ERR_FAIL_V -#define ERR_FAIL_V(ret) \ - do { \ - ERR_PRINT("Method/Function Failed."); \ - return ret; \ - } while (0) -#endif - -#ifndef CRASH_NOW -#define CRASH_NOW() \ - do { \ - FATAL_PRINT("Method/Function Failed."); \ - GENERATE_TRAP; \ - } while (0) -#endif - -#endif // DEFS_H |