clang-format: Various fixes to comments alignment from clang-format 13

All reviewed manually and occasionally rewritten to avoid bad auto formatting.
This commit is contained in:
Rémi Verschelde 2021-10-28 15:43:36 +02:00
parent 3b11e33a09
commit 3a6be64c12
No known key found for this signature in database
GPG key ID: C3336907360768E1
43 changed files with 368 additions and 485 deletions

View file

@ -41,8 +41,8 @@ class InputMap : public Object {
public: public:
/** /**
* A special value used to signify that a given Action can be triggered by any device * A special value used to signify that a given Action can be triggered by any device
*/ */
static int ALL_DEVICES; static int ALL_DEVICES;
struct Action { struct Action {

View file

@ -41,7 +41,7 @@
* Image storage class. This is used to store an image in user memory, as well as * Image storage class. This is used to store an image in user memory, as well as
* providing some basic methods for image manipulation. * providing some basic methods for image manipulation.
* Images can be loaded from a file, or registered into the Render object as textures. * Images can be loaded from a file, or registered into the Render object as textures.
*/ */
class Image; class Image;

View file

@ -44,9 +44,9 @@ typedef uint32_t uintr_t;
#endif #endif
/** /**
* Miscellaneous helpers for marshalling data types, and encoding * Miscellaneous helpers for marshalling data types, and encoding
* in an endian independent way * in an endian independent way
*/ */
union MarshallFloat { union MarshallFloat {
uint32_t i; ///< int uint32_t i; ///< int

View file

@ -42,24 +42,24 @@ BVHABB_CLASS _logic_abb_merge(const BVHABB_CLASS &a, const BVHABB_CLASS &b) {
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/** /**
@file q3DynamicAABBTree.h * @file q3DynamicAABBTree.h
@author Randy Gaul * @author Randy Gaul
@date 10/10/2014 * @date 10/10/2014
Copyright (c) 2014 Randy Gaul http://www.randygaul.net * Copyright (c) 2014 Randy Gaul http://www.randygaul.net
This software is provided 'as-is', without any express or implied * This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages * warranty. In no event will the authors be held liable for any damages
arising from the use of this software. * arising from the use of this software.
Permission is granted to anyone to use this software for any purpose, * Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it * including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions: * freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not * 1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software * claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be * in a product, an acknowledgment in the product documentation would be
appreciated but is not required. * appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not * 2. Altered source versions must be plainly marked as such, and must not
be misrepresented as being the original software. * be misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution. * 3. This notice may not be removed or altered from any source distribution.
*/ */
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
// This function is based on the 'Balance' function from Randy Gaul's qu3e // This function is based on the 'Balance' function from Randy Gaul's qu3e
@ -67,7 +67,7 @@ BVHABB_CLASS _logic_abb_merge(const BVHABB_CLASS &a, const BVHABB_CLASS &b) {
// It is MODIFIED from qu3e version. // It is MODIFIED from qu3e version.
// This is the only function used (and _logic_abb_merge helper function). // This is the only function used (and _logic_abb_merge helper function).
int32_t _logic_balance(int32_t iA, uint32_t p_tree_id) { int32_t _logic_balance(int32_t iA, uint32_t p_tree_id) {
// return iA; // uncomment this to bypass balance //return iA; // uncomment this to bypass balance
TNode *A = &_nodes[iA]; TNode *A = &_nodes[iA];
@ -75,12 +75,12 @@ int32_t _logic_balance(int32_t iA, uint32_t p_tree_id) {
return iA; return iA;
} }
/* A /* A
/ \ * / \
B C * B C
/ \ / \ * / \ / \
D E F G * D E F G
*/ */
CRASH_COND(A->num_children != 2); CRASH_COND(A->num_children != 2);
int32_t iB = A->children[0]; int32_t iB = A->children[0];

View file

@ -735,8 +735,6 @@ int32_t ConvexHullInternal::Rational64::compare(const Rational64 &b) const {
return 0; return 0;
} }
// return (numerator * b.denominator > b.numerator * denominator) ? sign : (numerator * b.denominator < b.numerator * denominator) ? -sign : 0;
#ifdef USE_X86_64_ASM #ifdef USE_X86_64_ASM
int32_t result; int32_t result;
@ -757,10 +755,9 @@ int32_t ConvexHullInternal::Rational64::compare(const Rational64 &b) const {
: "=&b"(result), [tmp] "=&r"(tmp), "=a"(dummy) : "=&b"(result), [tmp] "=&r"(tmp), "=a"(dummy)
: "a"(denominator), [bn] "g"(b.numerator), [tn] "g"(numerator), [bd] "g"(b.denominator) : "a"(denominator), [bn] "g"(b.numerator), [tn] "g"(numerator), [bd] "g"(b.denominator)
: "%rdx", "cc"); : "%rdx", "cc");
return result ? result ^ sign // if sign is +1, only bit 0 of result is inverted, which does not change the sign of result (and cannot result in zero) // if sign is +1, only bit 0 of result is inverted, which does not change the sign of result (and cannot result in zero)
// if sign is -1, all bits of result are inverted, which changes the sign of result (and again cannot result in zero) // if sign is -1, all bits of result are inverted, which changes the sign of result (and again cannot result in zero)
: return result ? result ^ sign : 0;
0;
#else #else

View file

@ -48,13 +48,13 @@ public:
Vector3 vertex[3]; Vector3 vertex[3];
/** /**
* *
* @param p_plane plane used to split the face * @param p_plane plane used to split the face
* @param p_res array of at least 3 faces, amount used in function return * @param p_res array of at least 3 faces, amount used in function return
* @param p_is_point_over array of at least 3 booleans, determining which face is over the plane, amount used in function return * @param p_is_point_over array of at least 3 booleans, determining which face is over the plane, amount used in function return
* @param _epsilon constant used for numerical error rounding, to add "thickness" to the plane (so coplanar points can happen) * @param _epsilon constant used for numerical error rounding, to add "thickness" to the plane (so coplanar points can happen)
* @return amount of faces generated by the split, either 0 (means no split possible), 2 or 3 * @return amount of faces generated by the split, either 0 (means no split possible), 2 or 3
*/ */
int split_by_plane(const Plane &p_plane, Face3 *p_res, bool *p_is_point_over) const; int split_by_plane(const Plane &p_plane, Face3 *p_res, bool *p_is_point_over) const;

View file

@ -116,10 +116,10 @@ enum Corner {
}; };
/** /**
* The "Real" type is an abstract type used for real numbers, such as 1.5, * The "Real" type is an abstract type used for real numbers, such as 1.5,
* in contrast to integer numbers. Precision can be controlled with the * in contrast to integer numbers. Precision can be controlled with the
* presence or absence of the REAL_T_IS_DOUBLE define. * presence or absence of the REAL_T_IS_DOUBLE define.
*/ */
#ifdef REAL_T_IS_DOUBLE #ifdef REAL_T_IS_DOUBLE
typedef double real_t; typedef double real_t;
#else #else

View file

@ -42,18 +42,13 @@ real_t Triangulate::get_area(const Vector<Vector2> &contour) {
return A * 0.5; return A * 0.5;
} }
/* /* `is_inside_triangle` decides if a point P is inside the triangle
is_inside_triangle decides if a point P is Inside of the triangle * defined by A, B, C. */
defined by A, B, C.
*/
bool Triangulate::is_inside_triangle(real_t Ax, real_t Ay, bool Triangulate::is_inside_triangle(real_t Ax, real_t Ay,
real_t Bx, real_t By, real_t Bx, real_t By,
real_t Cx, real_t Cy, real_t Cx, real_t Cy,
real_t Px, real_t Py, real_t Px, real_t Py,
bool include_edges) bool include_edges) {
{
real_t ax, ay, bx, by, cx, cy, apx, apy, bpx, bpy, cpx, cpy; real_t ax, ay, bx, by, cx, cy, apx, apy, bpx, bpy, cpx, cpy;
real_t cCROSSap, bCROSScp, aCROSSbp; real_t cCROSSap, bCROSScp, aCROSSbp;

View file

@ -2317,28 +2317,33 @@ bool String::is_numeric() const {
} }
template <class C> template <class C>
static double built_in_strtod(const C *string, /* A decimal ASCII floating-point number, static double built_in_strtod(
* optionally preceded by white space. Must /* A decimal ASCII floating-point number,
* have form "-I.FE-X", where I is the integer * optionally preceded by white space. Must
* part of the mantissa, F is the fractional * have form "-I.FE-X", where I is the integer
* part of the mantissa, and X is the * part of the mantissa, F is the fractional
* exponent. Either of the signs may be "+", * part of the mantissa, and X is the
* "-", or omitted. Either I or F may be * exponent. Either of the signs may be "+",
* omitted, or both. The decimal point isn't * "-", or omitted. Either I or F may be
* necessary unless F is present. The "E" may * omitted, or both. The decimal point isn't
* actually be an "e". E and X may both be * necessary unless F is present. The "E" may
* omitted (but not just one). */ * actually be an "e". E and X may both be
C **endPtr = nullptr) /* If non-nullptr, store terminating Cacter's * omitted (but not just one). */
* address here. */ const C *string,
{ /* If non-nullptr, store terminating Cacter's
static const int maxExponent = 511; /* Largest possible base 10 exponent. Any * address here. */
* exponent larger than this will already C **endPtr = nullptr) {
* produce underflow or overflow, so there's /* Largest possible base 10 exponent. Any
* no need to worry about additional digits. * exponent larger than this will already
*/ * produce underflow or overflow, so there's
static const double powersOf10[] = { /* Table giving binary powers of 10. Entry */ * no need to worry about additional digits. */
10., /* is 10^2^i. Used to convert decimal */ static const int maxExponent = 511;
100., /* exponents into floating-point numbers. */ /* Table giving binary powers of 10. Entry
* is 10^2^i. Used to convert decimal
* exponents into floating-point numbers. */
static const double powersOf10[] = {
10.,
100.,
1.0e4, 1.0e4,
1.0e8, 1.0e8,
1.0e16, 1.0e16,
@ -2353,25 +2358,28 @@ static double built_in_strtod(const C *string, /* A decimal ASCII floating-point
const double *d; const double *d;
const C *p; const C *p;
int c; int c;
int exp = 0; /* Exponent read from "EX" field. */ /* Exponent read from "EX" field. */
int fracExp = 0; /* Exponent that derives from the fractional int exp = 0;
* part. Under normal circumstances, it is /* Exponent that derives from the fractional
* the negative of the number of digits in F. * part. Under normal circumstances, it is
* However, if I is very long, the last digits * the negative of the number of digits in F.
* of I get dropped (otherwise a long I with a * However, if I is very long, the last digits
* large negative exponent could cause an * of I get dropped (otherwise a long I with a
* unnecessary overflow on I alone). In this * large negative exponent could cause an
* case, fracExp is incremented one for each * unnecessary overflow on I alone). In this
* dropped digit. */ * case, fracExp is incremented one for each
int mantSize; /* Number of digits in mantissa. */ * dropped digit. */
int decPt; /* Number of mantissa digits BEFORE decimal int fracExp = 0;
* point. */ /* Number of digits in mantissa. */
const C *pExp; /* Temporarily holds location of exponent in int mantSize;
* string. */ /* Number of mantissa digits BEFORE decimal point. */
int decPt;
/* Temporarily holds location of exponent in string. */
const C *pExp;
/* /*
* Strip off leading blanks and check for a sign. * Strip off leading blanks and check for a sign.
*/ */
p = string; p = string;
while (*p == ' ' || *p == '\t' || *p == '\n') { while (*p == ' ' || *p == '\t' || *p == '\n') {
@ -2388,9 +2396,9 @@ static double built_in_strtod(const C *string, /* A decimal ASCII floating-point
} }
/* /*
* Count the number of digits in the mantissa (including the decimal * Count the number of digits in the mantissa (including the decimal
* point), and also locate the decimal point. * point), and also locate the decimal point.
*/ */
decPt = -1; decPt = -1;
for (mantSize = 0;; mantSize += 1) { for (mantSize = 0;; mantSize += 1) {
@ -2405,11 +2413,11 @@ static double built_in_strtod(const C *string, /* A decimal ASCII floating-point
} }
/* /*
* Now suck up the digits in the mantissa. Use two integers to collect 9 * Now suck up the digits in the mantissa. Use two integers to collect 9
* digits each (this is faster than using floating-point). If the mantissa * digits each (this is faster than using floating-point). If the mantissa
* has more than 18 digits, ignore the extras, since they can't affect the * has more than 18 digits, ignore the extras, since they can't affect the
* value anyway. * value anyway.
*/ */
pExp = p; pExp = p;
p -= mantSize; p -= mantSize;
@ -2455,8 +2463,8 @@ static double built_in_strtod(const C *string, /* A decimal ASCII floating-point
} }
/* /*
* Skim off the exponent. * Skim off the exponent.
*/ */
p = pExp; p = pExp;
if ((*p == 'E') || (*p == 'e')) { if ((*p == 'E') || (*p == 'e')) {
@ -2486,10 +2494,10 @@ static double built_in_strtod(const C *string, /* A decimal ASCII floating-point
} }
/* /*
* Generate a floating-point number that represents the exponent. Do this * Generate a floating-point number that represents the exponent. Do this
* by processing the exponent one bit at a time to combine many powers of * by processing the exponent one bit at a time to combine many powers of
* 2 of 10. Then combine the exponent with the fraction. * 2 of 10. Then combine the exponent with the fraction.
*/ */
if (exp < 0) { if (exp < 0) {
expSign = true; expSign = true;

View file

@ -53,7 +53,7 @@
* @param RELATIONSHIP Relationship at which the hash table is resized. if amount of elements is RELATIONSHIP * @param RELATIONSHIP Relationship at which the hash table is resized. if amount of elements is RELATIONSHIP
* times bigger than the hash table, table is resized to solve this condition. if RELATIONSHIP is zero, table is always MIN_HASH_TABLE_POWER. * times bigger than the hash table, table is resized to solve this condition. if RELATIONSHIP is zero, table is always MIN_HASH_TABLE_POWER.
* *
*/ */
template <class TKey, class TData, class Hasher = HashMapHasherDefault, class Comparator = HashMapComparatorDefault<TKey>, uint8_t MIN_HASH_TABLE_POWER = 3, uint8_t RELATIONSHIP = 8> template <class TKey, class TData, class Hasher = HashMapHasherDefault, class Comparator = HashMapComparatorDefault<TKey>, uint8_t MIN_HASH_TABLE_POWER = 3, uint8_t RELATIONSHIP = 8>
class HashMap { class HashMap {
@ -458,8 +458,8 @@ public:
* *
* print( *k ); * print( *k );
* } * }
* *
*/ */
const TKey *next(const TKey *p_key) const { const TKey *next(const TKey *p_key) const {
if (unlikely(!hash_table)) { if (unlikely(!hash_table)) {
return nullptr; return nullptr;

View file

@ -249,29 +249,29 @@ private:
public: public:
/** /**
* return a const iterator to the beginning of the list. * return a const iterator to the beginning of the list.
*/ */
_FORCE_INLINE_ const Element *front() const { _FORCE_INLINE_ const Element *front() const {
return _data ? _data->first : nullptr; return _data ? _data->first : nullptr;
} }
/** /**
* return an iterator to the beginning of the list. * return an iterator to the beginning of the list.
*/ */
_FORCE_INLINE_ Element *front() { _FORCE_INLINE_ Element *front() {
return _data ? _data->first : nullptr; return _data ? _data->first : nullptr;
} }
/** /**
* return a const iterator to the last member of the list. * return a const iterator to the last member of the list.
*/ */
_FORCE_INLINE_ const Element *back() const { _FORCE_INLINE_ const Element *back() const {
return _data ? _data->last : nullptr; return _data ? _data->last : nullptr;
} }
/** /**
* return an iterator to the last member of the list. * return an iterator to the last member of the list.
*/ */
_FORCE_INLINE_ Element *back() { _FORCE_INLINE_ Element *back() {
return _data ? _data->last : nullptr; return _data ? _data->last : nullptr;
} }

View file

@ -35,7 +35,7 @@
* @class Vector * @class Vector
* @author Juan Linietsky * @author Juan Linietsky
* Vector container. Regular Vector Container. Use with care and for smaller arrays when possible. Use Vector for large arrays. * Vector container. Regular Vector Container. Use with care and for smaller arrays when possible. Use Vector for large arrays.
*/ */
#include "core/error/error_macros.h" #include "core/error/error_macros.h"
#include "core/os/memory.h" #include "core/os/memory.h"

View file

@ -631,10 +631,10 @@ Error VulkanContext::_create_physical_device() {
} }
/* /*
* This is info for a temp callback to use during CreateInstance. * This is info for a temp callback to use during CreateInstance.
* After the instance is created, we use the instance-based * After the instance is created, we use the instance-based
* function to register the final callback. * function to register the final callback.
*/ */
VkDebugUtilsMessengerCreateInfoEXT dbg_messenger_create_info; VkDebugUtilsMessengerCreateInfoEXT dbg_messenger_create_info;
VkDebugReportCallbackCreateInfoEXT dbg_report_callback_create_info{}; VkDebugReportCallbackCreateInfoEXT dbg_report_callback_create_info{};
if (enabled_debug_utils) { if (enabled_debug_utils) {

View file

@ -252,13 +252,13 @@ Error ResourceImporterWAV::import(const String &p_source_file, const String &p_s
//loop point info! //loop point info!
/** /**
* Consider exploring next document: * Consider exploring next document:
* http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/Docs/RIFFNEW.pdf * http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/Docs/RIFFNEW.pdf
* Especially on page: * Especially on page:
* 16 - 17 * 16 - 17
* Timestamp: * Timestamp:
* 22:38 06.07.2017 GMT * 22:38 06.07.2017 GMT
**/ **/
for (int i = 0; i < 10; i++) { for (int i = 0; i < 10; i++) {
file->get_32(); // i wish to know why should i do this... no doc! file->get_32(); // i wish to know why should i do this... no doc!

View file

@ -614,15 +614,6 @@ Path3DEditorPlugin::Path3DEditorPlugin(EditorNode *p_node) {
menu->connect("id_pressed", callable_mp(this, &Path3DEditorPlugin::_handle_option_pressed)); menu->connect("id_pressed", callable_mp(this, &Path3DEditorPlugin::_handle_option_pressed));
curve_edit->set_pressed(true); curve_edit->set_pressed(true);
/*
collision_polygon_editor = memnew( PathEditor(p_node) );
editor->get_main_control()->add_child(collision_polygon_editor);
collision_polygon_editor->set_margin(MARGIN_LEFT,200);
collision_polygon_editor->set_margin(MARGIN_RIGHT,230);
collision_polygon_editor->set_margin(MARGIN_TOP,0);
collision_polygon_editor->set_margin(MARGIN_BOTTOM,10);
collision_polygon_editor->hide();
*/
} }
Path3DEditorPlugin::~Path3DEditorPlugin() { Path3DEditorPlugin::~Path3DEditorPlugin() {

View file

@ -1308,10 +1308,12 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
OS::get_singleton()->_allow_hidpi = GLOBAL_DEF("display/window/dpi/allow_hidpi", false); OS::get_singleton()->_allow_hidpi = GLOBAL_DEF("display/window/dpi/allow_hidpi", false);
} }
/* todo restore // FIXME: Restore support.
OS::get_singleton()->_allow_layered = GLOBAL_DEF("display/window/per_pixel_transparency/allowed", false); #if 0
video_mode.layered = GLOBAL_DEF("display/window/per_pixel_transparency/enabled", false); //OS::get_singleton()->_allow_layered = GLOBAL_DEF("display/window/per_pixel_transparency/allowed", false);
*/ video_mode.layered = GLOBAL_DEF("display/window/per_pixel_transparency/enabled", false);
#endif
if (editor || project_manager) { if (editor || project_manager) {
// The editor and project manager always detect and use hiDPI if needed // The editor and project manager always detect and use hiDPI if needed
OS::get_singleton()->_allow_hidpi = true; OS::get_singleton()->_allow_hidpi = true;

View file

@ -82,46 +82,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <stdint.h> #include <stdint.h>
namespace FBXDocParser { namespace FBXDocParser {
//enum Flag
//{
// e_unknown_0 = 1 << 0,
// e_unknown_1 = 1 << 1,
// e_unknown_2 = 1 << 2,
// e_unknown_3 = 1 << 3,
// e_unknown_4 = 1 << 4,
// e_unknown_5 = 1 << 5,
// e_unknown_6 = 1 << 6,
// e_unknown_7 = 1 << 7,
// e_unknown_8 = 1 << 8,
// e_unknown_9 = 1 << 9,
// e_unknown_10 = 1 << 10,
// e_unknown_11 = 1 << 11,
// e_unknown_12 = 1 << 12,
// e_unknown_13 = 1 << 13,
// e_unknown_14 = 1 << 14,
// e_unknown_15 = 1 << 15,
// e_unknown_16 = 1 << 16,
// e_unknown_17 = 1 << 17,
// e_unknown_18 = 1 << 18,
// e_unknown_19 = 1 << 19,
// e_unknown_20 = 1 << 20,
// e_unknown_21 = 1 << 21,
// e_unknown_22 = 1 << 22,
// e_unknown_23 = 1 << 23,
// e_flag_field_size_64_bit = 1 << 24, // Not sure what is
// e_unknown_25 = 1 << 25,
// e_unknown_26 = 1 << 26,
// e_unknown_27 = 1 << 27,
// e_unknown_28 = 1 << 28,
// e_unknown_29 = 1 << 29,
// e_unknown_30 = 1 << 30,
// e_unknown_31 = 1 << 31
//};
//
//bool check_flag(uint32_t flags, Flag to_check)
//{
// return (flags & to_check) != 0;
//}
// ------------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------------
Token::Token(const char *sbegin, const char *send, TokenType type, size_t offset) : Token::Token(const char *sbegin, const char *send, TokenType type, size_t offset) :
sbegin(sbegin), sbegin(sbegin),
@ -458,12 +418,6 @@ void TokenizeBinary(TokenList &output_tokens, const char *input, size_t length,
//TokenizeError("file is too short",0); //TokenizeError("file is too short",0);
} }
//uint32_t offset = 0x15;
/* const char* cursor = input + 0x15;
const uint32_t flags = ReadWord(input, cursor, input + length);
const uint8_t padding_0 = ReadByte(input, cursor, input + length); // unused
const uint8_t padding_1 = ReadByte(input, cursor, input + length); // unused*/
if (strncmp(input, "Kaydara FBX Binary", 18)) { if (strncmp(input, "Kaydara FBX Binary", 18)) {
TokenizeError("magic bytes not found", 0); TokenizeError("magic bytes not found", 0);
} }

View file

@ -70,8 +70,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/ */
/** @file FBXCommon.h /** @file FBXCommon.h
* Some useful constants and enums for dealing with FBX files. * Some useful constants and enums for dealing with FBX files.
*/ */
#ifndef FBX_COMMON_H #ifndef FBX_COMMON_H
#define FBX_COMMON_H #define FBX_COMMON_H

View file

@ -706,13 +706,13 @@ public:
virtual ~AnimationCurve(); virtual ~AnimationCurve();
/** get list of keyframe positions (time). /** get list of keyframe positions (time).
* Invariant: |GetKeys()| > 0 */ * Invariant: |GetKeys()| > 0 */
const KeyTimeList &GetKeys() const { const KeyTimeList &GetKeys() const {
return keys; return keys;
} }
/** get list of keyframe values. /** get list of keyframe values.
* Invariant: |GetKeys()| == |GetValues()| && |GetKeys()| > 0*/ * Invariant: |GetKeys()| == |GetValues()| && |GetKeys()| > 0*/
const KeyValueList &GetValues() const { const KeyValueList &GetValues() const {
return values; return values;
} }
@ -750,8 +750,8 @@ typedef std::weak_ptr<AnimationCurveNode> AnimationCurveNodeWeakPtr;
class AnimationCurveNode : public Object { class AnimationCurveNode : public Object {
public: public:
/* the optional white list specifies a list of property names for which the caller /* the optional white list specifies a list of property names for which the caller
wants animations for. If the curve node does not match one of these, std::range_error wants animations for. If the curve node does not match one of these, std::range_error
will be thrown. */ will be thrown. */
AnimationCurveNode(uint64_t id, const ElementPtr element, const std::string &name, const Document &doc, AnimationCurveNode(uint64_t id, const ElementPtr element, const std::string &name, const Document &doc,
const char *const *target_prop_whitelist = nullptr, size_t whitelist_size = 0); const char *const *target_prop_whitelist = nullptr, size_t whitelist_size = 0);
@ -760,8 +760,8 @@ public:
const AnimationMap &Curves() const; const AnimationMap &Curves() const;
/** Object the curve is assigned to, this can be nullptr if the /** Object the curve is assigned to, this can be nullptr if the
* target object has no DOM representation or could not * target object has no DOM representation or could not
* be read for other reasons.*/ * be read for other reasons.*/
Object *Target() const { Object *Target() const {
return target; return target;
} }
@ -799,8 +799,8 @@ public:
virtual ~AnimationLayer(); virtual ~AnimationLayer();
/* the optional white list specifies a list of property names for which the caller /* the optional white list specifies a list of property names for which the caller
wants animations for. Curves not matching this list will not be added to the wants animations for. Curves not matching this list will not be added to the
animation layer. */ animation layer. */
const AnimationCurveNodeList Nodes(const char *const *target_prop_whitelist = nullptr, size_t whitelist_size = 0) const; const AnimationCurveNodeList Nodes(const char *const *target_prop_whitelist = nullptr, size_t whitelist_size = 0) const;
private: private:
@ -891,15 +891,15 @@ public:
virtual ~Cluster(); virtual ~Cluster();
/** get the list of deformer weights associated with this cluster. /** get the list of deformer weights associated with this cluster.
* Use #GetIndices() to get the associated vertices. Both arrays * Use #GetIndices() to get the associated vertices. Both arrays
* have the same size (and may also be empty). */ * have the same size (and may also be empty). */
const std::vector<float> &GetWeights() const { const std::vector<float> &GetWeights() const {
return weights; return weights;
} }
/** get indices into the vertex data of the geometry associated /** get indices into the vertex data of the geometry associated
* with this cluster. Use #GetWeights() to get the associated weights. * with this cluster. Use #GetWeights() to get the associated weights.
* Both arrays have the same size (and may also be empty). */ * Both arrays have the same size (and may also be empty). */
const std::vector<unsigned int> &GetIndices() const { const std::vector<unsigned int> &GetIndices() const {
return indices; return indices;
} }
@ -998,7 +998,7 @@ public:
LazyObject *LazyDestinationObject() const; LazyObject *LazyDestinationObject() const;
/** return the name of the property the connection is attached to. /** return the name of the property the connection is attached to.
* this is an empty string for object to object (OO) connections. */ * this is an empty string for object to object (OO) connections. */
const std::string &PropertyName() const { const std::string &PropertyName() const {
return prop; return prop;
} }

View file

@ -81,29 +81,29 @@ namespace FBXDocParser {
/** FBX import settings, parts of which are publicly accessible via their corresponding AI_CONFIG constants */ /** FBX import settings, parts of which are publicly accessible via their corresponding AI_CONFIG constants */
struct ImportSettings { struct ImportSettings {
/** enable strict mode: /** enable strict mode:
* - only accept fbx 2012, 2013 files * - only accept fbx 2012, 2013 files
* - on the slightest error, give up. * - on the slightest error, give up.
* *
* Basically, strict mode means that the fbx file will actually * Basically, strict mode means that the fbx file will actually
* be validated.*/ * be validated.*/
bool strictMode = true; bool strictMode = true;
/** specifies whether all geometry layers are read and scanned for /** specifies whether all geometry layers are read and scanned for
* usable data channels. The FBX spec indicates that many readers * usable data channels. The FBX spec indicates that many readers
* will only read the first channel and that this is in some way * will only read the first channel and that this is in some way
* the recommended way- in reality, however, it happens a lot that * the recommended way- in reality, however, it happens a lot that
* vertex data is spread among multiple layers.*/ * vertex data is spread among multiple layers.*/
bool readAllLayers = true; bool readAllLayers = true;
/** specifies whether all materials are read, or only those that /** specifies whether all materials are read, or only those that
* are referenced by at least one mesh. Reading all materials * are referenced by at least one mesh. Reading all materials
* may make FBX reading a lot slower since all objects * may make FBX reading a lot slower since all objects
* need to be processed. * need to be processed.
* This bit is ignored unless readMaterials=true.*/ * This bit is ignored unless readMaterials=true.*/
bool readAllMaterials = true; bool readAllMaterials = true;
/** import materials (true) or skip them and assign a default /** import materials (true) or skip them and assign a default
* material.*/ * material.*/
bool readMaterials = true; bool readMaterials = true;
/** import embedded textures?*/ /** import embedded textures?*/
@ -116,35 +116,35 @@ struct ImportSettings {
bool readLights = true; bool readLights = true;
/** import animations (i.e. animation curves, the node /** import animations (i.e. animation curves, the node
* skeleton is always imported).*/ * skeleton is always imported).*/
bool readAnimations = true; bool readAnimations = true;
/** read bones (vertex weights and deform info).*/ /** read bones (vertex weights and deform info).*/
bool readWeights = true; bool readWeights = true;
/** preserve transformation pivots and offsets. Since these can /** preserve transformation pivots and offsets. Since these can
* not directly be represented in assimp, additional dummy * not directly be represented in assimp, additional dummy
* nodes will be generated. Note that settings this to false * nodes will be generated. Note that settings this to false
* can make animation import a lot slower. * can make animation import a lot slower.
* *
* The naming scheme for the generated nodes is: * The naming scheme for the generated nodes is:
* <OriginalName>_$AssimpFbx$_<TransformName> * <OriginalName>_$AssimpFbx$_<TransformName>
* *
* where <TransformName> is one of * where <TransformName> is one of
* RotationPivot * RotationPivot
* RotationOffset * RotationOffset
* PreRotation * PreRotation
* PostRotation * PostRotation
* ScalingPivot * ScalingPivot
* ScalingOffset * ScalingOffset
* Translation * Translation
* Scaling * Scaling
* Rotation * Rotation
**/ **/
bool preservePivots = true; bool preservePivots = true;
/** do not import animation curves that specify a constant /** do not import animation curves that specify a constant
* values matching the corresponding node transformation.*/ * values matching the corresponding node transformation.*/
bool optimizeEmptyAnimationCurves = true; bool optimizeEmptyAnimationCurves = true;
/** use legacy naming for embedded textures eg: (*0, *1, *2).*/ /** use legacy naming for embedded textures eg: (*0, *1, *2).*/

View file

@ -226,7 +226,7 @@ public:
const std::vector<Vector3> &GetVertices() const; const std::vector<Vector3> &GetVertices() const;
/** Get a list of all vertex normals or an empty array if /** Get a list of all vertex normals or an empty array if
* no normals are specified. */ * no normals are specified. */
const std::vector<Vector3> &GetNormals() const; const std::vector<Vector3> &GetNormals() const;
/** Return list of vertex indices. */ /** Return list of vertex indices. */
@ -238,8 +238,8 @@ private:
std::vector<unsigned int> m_indices; std::vector<unsigned int> m_indices;
}; };
/** /**
* DOM class for FBX geometry of type "Line" * DOM class for FBX geometry of type "Line"
*/ */
class LineGeometry : public Geometry { class LineGeometry : public Geometry {
public: public:
/** The class constructor */ /** The class constructor */

View file

@ -660,13 +660,6 @@ void ParseVectorDataArray(std::vector<Vector3> &out, const ElementPtr el) {
static_cast<real_t>(d[1]), static_cast<real_t>(d[1]),
static_cast<real_t>(d[2]))); static_cast<real_t>(d[2])));
} }
// for debugging
/*for ( size_t i = 0; i < out.size(); i++ ) {
aiVector3D vec3( out[ i ] );
std::stringstream stream;
stream << " vec3.x = " << vec3.x << " vec3.y = " << vec3.y << " vec3.z = " << vec3.z << std::endl;
DefaultLogger::get()->info( stream.str() );
}*/
} else if (type == 'f') { } else if (type == 'f') {
const float *f = reinterpret_cast<const float *>(&buff[0]); const float *f = reinterpret_cast<const float *>(&buff[0]);
for (unsigned int i = 0; i < count3; ++i, f += 3) { for (unsigned int i = 0; i < count3; ++i, f += 3) {

View file

@ -187,7 +187,7 @@ private:
class Parser { class Parser {
public: public:
/** Parse given a token list. Does not take ownership of the tokens - /** Parse given a token list. Does not take ownership of the tokens -
* the objects must persist during the entire parser lifetime */ * the objects must persist during the entire parser lifetime */
Parser(const TokenList &tokens, bool is_binary); Parser(const TokenList &tokens, bool is_binary);
~Parser(); ~Parser();

View file

@ -169,10 +169,10 @@ char EncodeBase64(char byte) {
} }
/** Encodes a block of 4 bytes to base64 encoding /** Encodes a block of 4 bytes to base64 encoding
* @param bytes Bytes to encode. * @param bytes Bytes to encode.
* @param out_string String to write encoded values to. * @param out_string String to write encoded values to.
* @param string_pos Position in out_string. * @param string_pos Position in out_string.
*/ */
void EncodeByteBlock(const char *bytes, std::string &out_string, size_t string_pos) { void EncodeByteBlock(const char *bytes, std::string &out_string, size_t string_pos) {
char b0 = (bytes[0] & 0xFC) >> 2; char b0 = (bytes[0] & 0xFC) >> 2;
char b1 = (bytes[0] & 0x03) << 4 | ((bytes[1] & 0xF0) >> 4); char b1 = (bytes[0] & 0x03) << 4 | ((bytes[1] & 0xF0) >> 4);

View file

@ -87,34 +87,34 @@ namespace Util {
const char *TokenTypeString(TokenType t); const char *TokenTypeString(TokenType t);
/** Decode a single Base64-encoded character. /** Decode a single Base64-encoded character.
* *
* @param ch Character to decode (from base64 to binary). * @param ch Character to decode (from base64 to binary).
* @return decoded byte value*/ * @return decoded byte value*/
uint8_t DecodeBase64(char ch); uint8_t DecodeBase64(char ch);
/** Compute decoded size of a Base64-encoded string /** Compute decoded size of a Base64-encoded string
* *
* @param in Characters to decode. * @param in Characters to decode.
* @param inLength Number of characters to decode. * @param inLength Number of characters to decode.
* @return size of the decoded data (number of bytes)*/ * @return size of the decoded data (number of bytes)*/
size_t ComputeDecodedSizeBase64(const char *in, size_t inLength); size_t ComputeDecodedSizeBase64(const char *in, size_t inLength);
/** Decode a Base64-encoded string /** Decode a Base64-encoded string
* *
* @param in Characters to decode. * @param in Characters to decode.
* @param inLength Number of characters to decode. * @param inLength Number of characters to decode.
* @param out Pointer where we will store the decoded data. * @param out Pointer where we will store the decoded data.
* @param maxOutLength Size of output buffer. * @param maxOutLength Size of output buffer.
* @return size of the decoded data (number of bytes)*/ * @return size of the decoded data (number of bytes)*/
size_t DecodeBase64(const char *in, size_t inLength, uint8_t *out, size_t maxOutLength); size_t DecodeBase64(const char *in, size_t inLength, uint8_t *out, size_t maxOutLength);
char EncodeBase64(char byte); char EncodeBase64(char byte);
/** Encode bytes in base64-encoding /** Encode bytes in base64-encoding
* *
* @param data Binary data to encode. * @param data Binary data to encode.
* @param inLength Number of bytes to encode. * @param inLength Number of bytes to encode.
* @return base64-encoded string*/ * @return base64-encoded string*/
std::string EncodeBase64(const char *data, size_t length); std::string EncodeBase64(const char *data, size_t length);
} // namespace Util } // namespace Util
} // namespace FBXDocParser } // namespace FBXDocParser

View file

@ -43,7 +43,7 @@
/** /**
* Import Utils * Import Utils
* Conversion tools / glue code to convert from FBX to Godot * Conversion tools / glue code to convert from FBX to Godot
*/ */
class ImportUtils { class ImportUtils {
public: public:
/// Convert a vector from degrees to radians. /// Convert a vector from degrees to radians.
@ -201,7 +201,7 @@ public:
}; };
/** Get fbx fps for time mode meta data /** Get fbx fps for time mode meta data
*/ */
static float get_fbx_fps(int32_t time_mode) { static float get_fbx_fps(int32_t time_mode) {
switch (time_mode) { switch (time_mode) {
case AssetImportFbx::TIME_MODE_DEFAULT: case AssetImportFbx::TIME_MODE_DEFAULT:
@ -258,13 +258,13 @@ public:
} }
/** /**
* Find hardcoded textures from assimp which could be in many different directories * Find hardcoded textures from assimp which could be in many different directories
*/ */
/** /**
* set_texture_mapping_mode * set_texture_mapping_mode
* Helper to check the mapping mode of the texture (repeat, clamp and mirror) * Helper to check the mapping mode of the texture (repeat, clamp and mirror)
*/ */
// static void set_texture_mapping_mode(aiTextureMapMode *map_mode, Ref<ImageTexture> texture) { // static void set_texture_mapping_mode(aiTextureMapMode *map_mode, Ref<ImageTexture> texture) {
// ERR_FAIL_COND(texture.is_null()); // ERR_FAIL_COND(texture.is_null());
// ERR_FAIL_COND(map_mode == nullptr); // ERR_FAIL_COND(map_mode == nullptr);
@ -282,9 +282,9 @@ public:
// } // }
/** /**
* Load or load from cache image :) * Load or load from cache image :)
* We need to upgrade this in the later version :) should not be hard * We need to upgrade this in the later version :) should not be hard
*/ */
//static Ref<Image> load_image(ImportState &state, const aiScene *p_scene, String p_path){ //static Ref<Image> load_image(ImportState &state, const aiScene *p_scene, String p_path){
// Map<String, Ref<Image> >::Element *match = state.path_to_image_cache.find(p_path); // Map<String, Ref<Image> >::Element *match = state.path_to_image_cache.find(p_path);

View file

@ -361,13 +361,6 @@ Error PluginScript::reload(bool p_keep_state) {
_properties_default_values[pi.name] = v["default_value"]; _properties_default_values[pi.name] = v["default_value"];
} }
#ifdef TOOLS_ENABLED
/*for (Set<PlaceHolderScriptInstance*>::Element *E=placeholders.front();E;E=E->next()) {
_update_placeholder(E->get());
}*/
#endif
FREE_SCRIPT_MANIFEST(manifest); FREE_SCRIPT_MANIFEST(manifest);
return OK; return OK;
#undef FREE_SCRIPT_MANIFEST #undef FREE_SCRIPT_MANIFEST

View file

@ -3068,9 +3068,9 @@ void GDScriptParser::get_class_doc_comment(int p_line, String &p_brief, String &
} else { } else {
/* Syntax: /* Syntax:
@tutorial ( The Title Here ) : https://the.url/ * @tutorial ( The Title Here ) : https://the.url/
^ open ^ close ^ colon ^ url * ^ open ^ close ^ colon ^ url
*/ */
int open_bracket_pos = begin_scan, close_bracket_pos = 0; int open_bracket_pos = begin_scan, close_bracket_pos = 0;
while (open_bracket_pos < striped_line.length() && (striped_line[open_bracket_pos] == ' ' || striped_line[open_bracket_pos] == '\t')) { while (open_bracket_pos < striped_line.length() && (striped_line[open_bracket_pos] == ' ' || striped_line[open_bracket_pos] == '\t')) {
open_bracket_pos++; open_bracket_pos++;

View file

@ -358,21 +358,21 @@ struct Command {
namespace TextDocumentSyncKind { namespace TextDocumentSyncKind {
/** /**
* Documents should not be synced at all. * Documents should not be synced at all.
*/ */
static const int None = 0; static const int None = 0;
/** /**
* Documents are synced by always sending the full content * Documents are synced by always sending the full content
* of the document. * of the document.
*/ */
static const int Full = 1; static const int Full = 1;
/** /**
* Documents are synced by sending the full content on open. * Documents are synced by sending the full content on open.
* After that only incremental updates to the document are * After that only incremental updates to the document are
* send. * send.
*/ */
static const int Incremental = 2; static const int Incremental = 2;
}; // namespace TextDocumentSyncKind }; // namespace TextDocumentSyncKind
@ -667,20 +667,20 @@ struct TextDocumentContentChangeEvent {
// Use namespace instead of enumeration to follow the LSP specifications // Use namespace instead of enumeration to follow the LSP specifications
namespace DiagnosticSeverity { namespace DiagnosticSeverity {
/** /**
* Reports an error. * Reports an error.
*/ */
static const int Error = 1; static const int Error = 1;
/** /**
* Reports a warning. * Reports a warning.
*/ */
static const int Warning = 2; static const int Warning = 2;
/** /**
* Reports an information. * Reports an information.
*/ */
static const int Information = 3; static const int Information = 3;
/** /**
* Reports a hint. * Reports a hint.
*/ */
static const int Hint = 4; static const int Hint = 4;
}; // namespace DiagnosticSeverity }; // namespace DiagnosticSeverity
@ -871,18 +871,18 @@ static const int TypeParameter = 25;
*/ */
namespace InsertTextFormat { namespace InsertTextFormat {
/** /**
* The primary text to be inserted is treated as a plain string. * The primary text to be inserted is treated as a plain string.
*/ */
static const int PlainText = 1; static const int PlainText = 1;
/** /**
* The primary text to be inserted is treated as a snippet. * The primary text to be inserted is treated as a snippet.
* *
* A snippet can define tab stops and placeholders with `$1`, `$2` * A snippet can define tab stops and placeholders with `$1`, `$2`
* and `${3:foo}`. `$0` defines the final tab stop, it defaults to * and `${3:foo}`. `$0` defines the final tab stop, it defaults to
* the end of the snippet. Placeholders with equal identifiers are linked, * the end of the snippet. Placeholders with equal identifiers are linked,
* that is typing in one will update others too. * that is typing in one will update others too.
*/ */
static const int Snippet = 2; static const int Snippet = 2;
}; // namespace InsertTextFormat }; // namespace InsertTextFormat
@ -1359,16 +1359,16 @@ struct NativeSymbolInspectParams {
*/ */
namespace FoldingRangeKind { namespace FoldingRangeKind {
/** /**
* Folding range for a comment * Folding range for a comment
*/ */
static const String Comment = "comment"; static const String Comment = "comment";
/** /**
* Folding range for a imports or includes * Folding range for a imports or includes
*/ */
static const String Imports = "imports"; static const String Imports = "imports";
/** /**
* Folding range for a region (e.g. `#region`) * Folding range for a region (e.g. `#region`)
*/ */
static const String Region = "region"; static const String Region = "region";
} // namespace FoldingRangeKind } // namespace FoldingRangeKind
@ -1419,20 +1419,20 @@ struct FoldingRange {
*/ */
namespace CompletionTriggerKind { namespace CompletionTriggerKind {
/** /**
* Completion was triggered by typing an identifier (24x7 code * Completion was triggered by typing an identifier (24x7 code
* complete), manual invocation (e.g Ctrl+Space) or via API. * complete), manual invocation (e.g Ctrl+Space) or via API.
*/ */
static const int Invoked = 1; static const int Invoked = 1;
/** /**
* Completion was triggered by a trigger character specified by * Completion was triggered by a trigger character specified by
* the `triggerCharacters` properties of the `CompletionRegistrationOptions`. * the `triggerCharacters` properties of the `CompletionRegistrationOptions`.
*/ */
static const int TriggerCharacter = 2; static const int TriggerCharacter = 2;
/** /**
* Completion was re-triggered as the current completion list is incomplete. * Completion was re-triggered as the current completion list is incomplete.
*/ */
static const int TriggerForIncompleteCompletions = 3; static const int TriggerForIncompleteCompletions = 3;
} // namespace CompletionTriggerKind } // namespace CompletionTriggerKind
@ -1441,8 +1441,8 @@ static const int TriggerForIncompleteCompletions = 3;
*/ */
struct CompletionContext { struct CompletionContext {
/** /**
* How the completion was triggered. * How the completion was triggered.
*/ */
int triggerKind = CompletionTriggerKind::TriggerCharacter; int triggerKind = CompletionTriggerKind::TriggerCharacter;
/** /**
@ -1906,7 +1906,7 @@ struct GodotNativeClassInfo {
struct GodotCapabilities { struct GodotCapabilities {
/** /**
* Native class list * Native class list
*/ */
List<GodotNativeClassInfo> native_classes; List<GodotNativeClassInfo> native_classes;
Dictionary to_json() { Dictionary to_json() {

View file

@ -2370,7 +2370,6 @@ void VisualScriptLanguage::debug_get_stack_level_locals(int p_level, List<String
const StringName *f = _call_stack[l].function; const StringName *f = _call_stack[l].function;
ERR_FAIL_COND(!_call_stack[l].instance->functions.has(*f)); ERR_FAIL_COND(!_call_stack[l].instance->functions.has(*f));
//VisualScriptInstance::Function *func = &_call_stack[l].instance->functions[*f];
VisualScriptNodeInstance *node = _call_stack[l].instance->instances[*_call_stack[l].current_id]; VisualScriptNodeInstance *node = _call_stack[l].instance->instances[*_call_stack[l].current_id];
ERR_FAIL_COND(!node); ERR_FAIL_COND(!node);
@ -2416,21 +2415,6 @@ void VisualScriptLanguage::debug_get_stack_level_locals(int p_level, List<String
p_locals->push_back("working_mem/mem_" + itos(i)); p_locals->push_back("working_mem/mem_" + itos(i));
p_values->push_back((*_call_stack[l].work_mem)[i]); p_values->push_back((*_call_stack[l].work_mem)[i]);
} }
/*
ERR_FAIL_INDEX(p_level,_debug_call_stack_pos);
VisualFunction *f = _call_stack[l].function;
List<Pair<StringName,int> > locals;
f->debug_get_stack_member_state(*_call_stack[l].line,&locals);
for( List<Pair<StringName,int> >::Element *E = locals.front();E;E=E->next() ) {
p_locals->push_back(E->get().first);
p_values->push_back(_call_stack[l].stack[E->get().second]);
}
*/
} }
void VisualScriptLanguage::debug_get_stack_level_members(int p_level, List<String> *p_members, List<Variant> *p_values, int p_max_subitems, int p_max_depth) { void VisualScriptLanguage::debug_get_stack_level_members(int p_level, List<String> *p_members, List<Variant> *p_values, int p_max_subitems, int p_max_depth) {

View file

@ -133,28 +133,28 @@ static _WinTranslatePair _ak_to_keycode[] = {
}; };
/* /*
TODO: map these android key: TODO: map these android key:
AKEYCODE_SOFT_LEFT = 1, AKEYCODE_SOFT_LEFT = 1,
AKEYCODE_SOFT_RIGHT = 2, AKEYCODE_SOFT_RIGHT = 2,
AKEYCODE_CALL = 5, AKEYCODE_CALL = 5,
AKEYCODE_ENDCALL = 6, AKEYCODE_ENDCALL = 6,
AKEYCODE_STAR = 17, AKEYCODE_STAR = 17,
AKEYCODE_POUND = 18, AKEYCODE_POUND = 18,
AKEYCODE_POWER = 26, AKEYCODE_POWER = 26,
AKEYCODE_CAMERA = 27, AKEYCODE_CAMERA = 27,
AKEYCODE_CLEAR = 28, AKEYCODE_CLEAR = 28,
AKEYCODE_SYM = 63, AKEYCODE_SYM = 63,
AKEYCODE_ENVELOPE = 65, AKEYCODE_ENVELOPE = 65,
AKEYCODE_GRAVE = 68, AKEYCODE_GRAVE = 68,
AKEYCODE_SEMICOLON = 74, AKEYCODE_SEMICOLON = 74,
AKEYCODE_APOSTROPHE = 75, AKEYCODE_APOSTROPHE = 75,
AKEYCODE_AT = 77, AKEYCODE_AT = 77,
AKEYCODE_NUM = 78, AKEYCODE_NUM = 78,
AKEYCODE_HEADSETHOOK = 79, AKEYCODE_HEADSETHOOK = 79,
AKEYCODE_FOCUS = 80, // *Camera* focus AKEYCODE_FOCUS = 80, // *Camera* focus
AKEYCODE_NOTIFICATION = 83, AKEYCODE_NOTIFICATION = 83,
AKEYCODE_SEARCH = 84, AKEYCODE_SEARCH = 84,
AKEYCODE_PICTSYMBOLS = 94, AKEYCODE_PICTSYMBOLS = 94,
AKEYCODE_SWITCH_CHARSET = 95, AKEYCODE_SWITCH_CHARSET = 95,
*/ */
unsigned int android_get_keysym(unsigned int p_code); unsigned int android_get_keysym(unsigned int p_code);

View file

@ -498,11 +498,11 @@ bool EditorExportPlatformAndroid::is_package_name_valid(const String &p_package,
bool EditorExportPlatformAndroid::_should_compress_asset(const String &p_path, const Vector<uint8_t> &p_data) { bool EditorExportPlatformAndroid::_should_compress_asset(const String &p_path, const Vector<uint8_t> &p_data) {
/* /*
* By not compressing files with little or not benefit in doing so, * By not compressing files with little or not benefit in doing so,
* a performance gain is expected attime. Moreover, if the APK is * a performance gain is expected attime. Moreover, if the APK is
* zip-aligned, assets stored as they are can be efficiently read by * zip-aligned, assets stored as they are can be efficiently read by
* Android by memory-mapping them. * Android by memory-mapping them.
*/ */
// -- Unconditional uncompress to mimic AAPT plus some other // -- Unconditional uncompress to mimic AAPT plus some other
@ -851,16 +851,11 @@ void EditorExportPlatformAndroid::_fix_manifest(const Ref<EditorExportPreset> &p
int iofs = ofs + 8; int iofs = ofs + 8;
string_count = decode_uint32(&p_manifest[iofs]); string_count = decode_uint32(&p_manifest[iofs]);
//styles_count = decode_uint32(&p_manifest[iofs + 4]); // iofs + 4 is `styles_count`.
string_flags = decode_uint32(&p_manifest[iofs + 8]); string_flags = decode_uint32(&p_manifest[iofs + 8]);
string_data_offset = decode_uint32(&p_manifest[iofs + 12]); string_data_offset = decode_uint32(&p_manifest[iofs + 12]);
//styles_offset = decode_uint32(&p_manifest[iofs + 16]); // iofs + 16 is `styles_offset`.
/*
printf("string count: %i\n",string_count);
printf("flags: %i\n",string_flags);
printf("sdata ofs: %i\n",string_data_offset);
printf("styles ofs: %i\n",styles_offset);
*/
uint32_t st_offset = iofs + 20; uint32_t st_offset = iofs + 20;
string_table.resize(string_count); string_table.resize(string_count);
uint32_t string_end = 0; uint32_t string_end = 0;

View file

@ -50,9 +50,9 @@ public class GodotDownloaderService extends DownloaderService {
}; };
/** /**
* This public key comes from your Android Market publisher account, and it * This public key comes from your Android Market publisher account, and it
* used by the LVL to validate responses from Market on your behalf. * used by the LVL to validate responses from Market on your behalf.
*/ */
@Override @Override
public String getPublicKey() { public String getPublicKey() {
SharedPreferences prefs = getApplicationContext().getSharedPreferences("app_data_keys", Context.MODE_PRIVATE); SharedPreferences prefs = getApplicationContext().getSharedPreferences("app_data_keys", Context.MODE_PRIVATE);
@ -63,20 +63,20 @@ public class GodotDownloaderService extends DownloaderService {
} }
/** /**
* This is used by the preference obfuscater to make sure that your * This is used by the preference obfuscater to make sure that your
* obfuscated preferences are different than the ones used by other * obfuscated preferences are different than the ones used by other
* applications. * applications.
*/ */
@Override @Override
public byte[] getSALT() { public byte[] getSALT() {
return SALT; return SALT;
} }
/** /**
* Fill this in with the class name for your alarm receiver. We do this * Fill this in with the class name for your alarm receiver. We do this
* because receivers must be unique across all of Android (it's a good idea * because receivers must be unique across all of Android (it's a good idea
* to make sure that your receiver is in your unique package) * to make sure that your receiver is in your unique package)
*/ */
@Override @Override
public String getAlarmReceiverClassName() { public String getAlarmReceiverClassName() {
Log.d("GODOT", "getAlarmReceiverClassName()"); Log.d("GODOT", "getAlarmReceiverClassName()");

View file

@ -2926,10 +2926,7 @@ void DisplayServerX11::process_events() {
xi.last_relative_time = raw_event->time; xi.last_relative_time = raw_event->time;
} break; } break;
#ifdef TOUCH_ENABLED #ifdef TOUCH_ENABLED
case XI_TouchBegin: // Fall-through case XI_TouchBegin:
// Disabled hand-in-hand with the grabbing
//XIAllowTouchEvents(x11_display, event_data->deviceid, event_data->detail, x11_window, XIAcceptTouch);
case XI_TouchEnd: { case XI_TouchEnd: {
bool is_begin = event_data->evtype == XI_TouchBegin; bool is_begin = event_data->evtype == XI_TouchBegin;
@ -4137,7 +4134,6 @@ DisplayServerX11::DisplayServerX11(const String &p_rendering_driver, WindowMode
} }
show_window(main_window); show_window(main_window);
//create RenderingDevice if used
#if defined(VULKAN_ENABLED) #if defined(VULKAN_ENABLED)
if (rendering_driver == "vulkan") { if (rendering_driver == "vulkan") {
//temporary //temporary
@ -4148,13 +4144,6 @@ DisplayServerX11::DisplayServerX11(const String &p_rendering_driver, WindowMode
} }
#endif #endif
/*
rendering_server = memnew(RenderingServerDefault);
if (get_render_thread_mode() != RENDER_THREAD_UNSAFE) {
rendering_server = memnew(RenderingServerWrapMT(rendering_server, get_render_thread_mode() == RENDER_SEPARATE_THREAD));
}
*/
{ {
//set all event master mask //set all event master mask
XIEventMask all_master_event_mask; XIEventMask all_master_event_mask;
@ -4167,15 +4156,6 @@ DisplayServerX11::DisplayServerX11(const String &p_rendering_driver, WindowMode
XISelectEvents(x11_display, DefaultRootWindow(x11_display), &all_master_event_mask, 1); XISelectEvents(x11_display, DefaultRootWindow(x11_display), &all_master_event_mask, 1);
} }
// Disabled by now since grabbing also blocks mouse events
// (they are received as extended events instead of standard events)
/*XIClearMask(xi.touch_event_mask.mask, XI_TouchOwnership);
// Grab touch devices to avoid OS gesture interference
for (int i = 0; i < xi.touch_devices.size(); ++i) {
XIGrabDevice(x11_display, xi.touch_devices[i], x11_window, CurrentTime, None, XIGrabModeAsync, XIGrabModeAsync, False, &xi.touch_event_mask);
}*/
cursor_size = XcursorGetDefaultSize(x11_display); cursor_size = XcursorGetDefaultSize(x11_display);
cursor_theme = XcursorGetTheme(x11_display); cursor_theme = XcursorGetTheme(x11_display);

View file

@ -325,11 +325,11 @@ void EditorExportPlatformOSX::_fix_plist(const Ref<EditorExportPreset> &p_preset
} }
/** /**
If we're running the OSX version of the Godot editor we'll: * If we're running the OSX version of the Godot editor we'll:
- export our application bundle to a temporary folder * - export our application bundle to a temporary folder
- attempt to code sign it * - attempt to code sign it
- and then wrap it up in a DMG * - and then wrap it up in a DMG
**/ */
Error EditorExportPlatformOSX::_notarize(const Ref<EditorExportPreset> &p_preset, const String &p_path) { Error EditorExportPlatformOSX::_notarize(const Ref<EditorExportPreset> &p_preset, const String &p_path) {
#ifdef OSX_ENABLED #ifdef OSX_ENABLED

View file

@ -367,15 +367,15 @@ class EditorExportPlatformUWP : public EditorExportPlatform {
static bool _should_compress_asset(const String &p_path, const Vector<uint8_t> &p_data) { static bool _should_compress_asset(const String &p_path, const Vector<uint8_t> &p_data) {
/* TODO: This was copied verbatim from Android export. It should be /* TODO: This was copied verbatim from Android export. It should be
* refactored to the parent class and also be used for .zip export. * refactored to the parent class and also be used for .zip export.
*/ */
/* /*
* By not compressing files with little or not benefit in doing so, * By not compressing files with little or not benefit in doing so,
* a performance gain is expected at runtime. Moreover, if the APK is * a performance gain is expected at runtime. Moreover, if the APK is
* zip-aligned, assets stored as they are can be efficiently read by * zip-aligned, assets stored as they are can be efficiently read by
* Android by memory-mapping them. * Android by memory-mapping them.
*/ */
// -- Unconditional uncompress to mimic AAPT plus some other // -- Unconditional uncompress to mimic AAPT plus some other

View file

@ -44,7 +44,7 @@
definition of invalidation: global is invalid definition of invalidation: global is invalid
1) If a node sets a LOCAL, it produces an invalidation of everything above 1) If a node sets a LOCAL, it produces an invalidation of everything above
a) If above is invalid, don't keep invalidating upwards . a) If above is invalid, don't keep invalidating upwards
2) If a node sets a GLOBAL, it is converted to LOCAL (and forces validation of everything pending below) 2) If a node sets a GLOBAL, it is converted to LOCAL (and forces validation of everything pending below)
drawback: setting/reading globals is useful and used very often, and using affine inverses is slow drawback: setting/reading globals is useful and used very often, and using affine inverses is slow
@ -56,7 +56,7 @@
definition of invalidation: NONE dirty, LOCAL dirty, GLOBAL dirty definition of invalidation: NONE dirty, LOCAL dirty, GLOBAL dirty
1) If a node sets a LOCAL, it must climb the tree and set it as GLOBAL dirty 1) If a node sets a LOCAL, it must climb the tree and set it as GLOBAL dirty
a) marking GLOBALs as dirty up all the tree must be done always . a) marking GLOBALs as dirty up all the tree must be done always
2) If a node sets a GLOBAL, it marks local as dirty, and that's all? 2) If a node sets a GLOBAL, it marks local as dirty, and that's all?
//is clearing the dirty state correct in this case? //is clearing the dirty state correct in this case?

View file

@ -173,28 +173,20 @@ void AudioFilterSW::prepare_coefficients(Coeffs *p_coeffs) {
p_coeffs->a2 = ((tmpgain + 1.0) - (tmpgain - 1.0) * cos_v - beta * sin_v); p_coeffs->a2 = ((tmpgain + 1.0) - (tmpgain - 1.0) * cos_v - beta * sin_v);
} break; } break;
}; }
p_coeffs->b0 /= a0; p_coeffs->b0 /= a0;
p_coeffs->b1 /= a0; p_coeffs->b1 /= a0;
p_coeffs->b2 /= a0; p_coeffs->b2 /= a0;
p_coeffs->a1 /= 0.0 - a0; p_coeffs->a1 /= 0.0 - a0;
p_coeffs->a2 /= 0.0 - a0; p_coeffs->a2 /= 0.0 - a0;
//undenormalise
/* p_coeffs->b0=undenormalise(p_coeffs->b0);
p_coeffs->b1=undenormalise(p_coeffs->b1);
p_coeffs->b2=undenormalise(p_coeffs->b2);
p_coeffs->a1=undenormalise(p_coeffs->a1);
p_coeffs->a2=undenormalise(p_coeffs->a2);*/
} }
void AudioFilterSW::set_stages(int p_stages) { //adjust for multiple stages void AudioFilterSW::set_stages(int p_stages) {
stages = p_stages; stages = p_stages;
} }
/* Fouriertransform kernel to obtain response */ /* Fourier transform kernel to obtain response */
float AudioFilterSW::get_response(float p_freq, Coeffs *p_coeffs) { float AudioFilterSW::get_response(float p_freq, Coeffs *p_coeffs) {
float freq = p_freq / sampling_rate * Math_TAU; float freq = p_freq / sampling_rate * Math_TAU;

View file

@ -710,9 +710,11 @@ void GodotSoftBody3D::generate_bending_constraints(int p_distance) {
// A small structure to track lists of dependent link calculations. // A small structure to track lists of dependent link calculations.
class LinkDeps { class LinkDeps {
public: public:
int value; // A link calculation that is dependent on this one // A link calculation that is dependent on this one.
// Positive values = "input A" while negative values = "input B" // Positive values = "input A" while negative values = "input B".
LinkDeps *next; // Next dependence in the list int value;
// Next dependence in the list.
LinkDeps *next;
}; };
typedef LinkDeps *LinkDepsPtr; typedef LinkDeps *LinkDepsPtr;

View file

@ -119,11 +119,11 @@ public:
//! Test limit //! Test limit
/*! /*!
- free means upper < lower, * - free means upper < lower,
- locked means upper == lower * - locked means upper == lower
- limited means upper > lower * - limited means upper > lower
- limitIndex: first 3 are linear, next 3 are angular * - limitIndex: first 3 are linear, next 3 are angular
*/ */
inline bool isLimited(int limitIndex) { inline bool isLimited(int limitIndex) {
return (m_upperLimit[limitIndex] >= m_lowerLimit[limitIndex]); return (m_upperLimit[limitIndex] >= m_lowerLimit[limitIndex]);
} }
@ -291,11 +291,11 @@ public:
//! Test limit //! Test limit
/*! /*!
- free means upper < lower, * - free means upper < lower,
- locked means upper == lower * - locked means upper == lower
- limited means upper > lower * - limited means upper > lower
- limitIndex: first 3 are linear, next 3 are angular * - limitIndex: first 3 are linear, next 3 are angular
*/ */
bool isLimited(int limitIndex) { bool isLimited(int limitIndex) {
if (limitIndex < 3) { if (limitIndex < 3) {
return m_linearLimits.isLimited(limitIndex); return m_linearLimits.isLimited(limitIndex);

View file

@ -29,6 +29,7 @@
/*************************************************************************/ /*************************************************************************/
#include "renderer_canvas_render_rd.h" #include "renderer_canvas_render_rd.h"
#include "core/config/project_settings.h" #include "core/config/project_settings.h"
#include "core/math/geometry_2d.h" #include "core/math/geometry_2d.h"
#include "core/math/math_defs.h" #include "core/math/math_defs.h"
@ -1585,9 +1586,6 @@ void RendererCanvasRenderRD::light_update_shadow(RID p_rid, int p_shadow_index,
push_constant.z_far = p_far; push_constant.z_far = p_far;
push_constant.pad = 0; push_constant.pad = 0;
/*if (i == 0)
*p_xform_cache = projection;*/
LightOccluderInstance *instance = p_occluders; LightOccluderInstance *instance = p_occluders;
while (instance) { while (instance) {

View file

@ -91,7 +91,6 @@ void main() {
uint instancing = draw_data.flags & FLAGS_INSTANCING_MASK; uint instancing = draw_data.flags & FLAGS_INSTANCING_MASK;
#ifdef USE_ATTRIBUTES #ifdef USE_ATTRIBUTES
if (instancing > 1) { if (instancing > 1) {
// trails // trails
@ -128,37 +127,37 @@ void main() {
vertex = new_vertex; vertex = new_vertex;
color *= pcolor; color *= pcolor;
} else } else
#endif // USE_ATTRIBUTES #endif // USE_ATTRIBUTES
{
if (instancing == 1) {
uint stride = 2;
{
if (bool(draw_data.flags & FLAGS_INSTANCING_HAS_COLORS)) {
stride += 1;
}
if (bool(draw_data.flags & FLAGS_INSTANCING_HAS_CUSTOM_DATA)) {
stride += 1;
}
}
uint offset = stride * gl_InstanceIndex;
mat4 matrix = mat4(transforms.data[offset + 0], transforms.data[offset + 1], vec4(0.0, 0.0, 1.0, 0.0), vec4(0.0, 0.0, 0.0, 1.0));
offset += 2;
if (instancing == 1) {
uint stride = 2;
{
if (bool(draw_data.flags & FLAGS_INSTANCING_HAS_COLORS)) { if (bool(draw_data.flags & FLAGS_INSTANCING_HAS_COLORS)) {
stride += 1; color *= transforms.data[offset];
offset += 1;
} }
if (bool(draw_data.flags & FLAGS_INSTANCING_HAS_CUSTOM_DATA)) { if (bool(draw_data.flags & FLAGS_INSTANCING_HAS_CUSTOM_DATA)) {
stride += 1; instance_custom = transforms.data[offset];
} }
matrix = transpose(matrix);
world_matrix = world_matrix * matrix;
} }
uint offset = stride * gl_InstanceIndex;
mat4 matrix = mat4(transforms.data[offset + 0], transforms.data[offset + 1], vec4(0.0, 0.0, 1.0, 0.0), vec4(0.0, 0.0, 0.0, 1.0));
offset += 2;
if (bool(draw_data.flags & FLAGS_INSTANCING_HAS_COLORS)) {
color *= transforms.data[offset];
offset += 1;
}
if (bool(draw_data.flags & FLAGS_INSTANCING_HAS_CUSTOM_DATA)) {
instance_custom = transforms.data[offset];
}
matrix = transpose(matrix);
world_matrix = world_matrix * matrix;
} }
#if !defined(USE_ATTRIBUTES) && !defined(USE_PRIMITIVE) #if !defined(USE_ATTRIBUTES) && !defined(USE_PRIMITIVE)

View file

@ -1249,10 +1249,10 @@ void main() {
// LIGHTING // LIGHTING
#if !defined(MODE_RENDER_DEPTH) && !defined(MODE_UNSHADED) #if !defined(MODE_RENDER_DEPTH) && !defined(MODE_UNSHADED)
{ //directional light { // Directional light.
// Do shadow and lighting in two passes to reduce register pressure.
#ifndef SHADOWS_DISABLED #ifndef SHADOWS_DISABLED
// Do shadow and lighting in two passes to reduce register pressure
uint shadow0 = 0; uint shadow0 = 0;
uint shadow1 = 0; uint shadow1 = 0;