summaryrefslogtreecommitdiff
path: root/core/variant_parser.cpp
AgeCommit message (Collapse)Author
2020-02-25Variant: Added 64-bit packed arrays, renamed Variant::REAL to FLOAT.Juan Linietsky
- Renames PackedIntArray to PackedInt32Array. - Renames PackedFloatArray to PackedFloat32Array. - Adds PackedInt64Array and PackedFloat64Array. - Renames Variant::REAL to Variant::FLOAT for consistency. Packed arrays are for storing large amount of data and creating stuff like meshes, buffers. textures, etc. Forcing them to be 64 is a huge waste of memory. That said, many users requested the ability to have 64 bits packed arrays for their games, so this is just an optional added type. For Variant, the float datatype is always 64 bits, and exposed as `float`. We still have `real_t` which is the datatype that can change from 32 to 64 bits depending on a compile flag (not entirely working right now, but that's the idea). It affects math related datatypes and code only. Neither Variant nor PackedArray make use of real_t, which is only intended for math precision, so the term is removed from there to keep only float.
2020-02-24Fix project.godot for projects with class_namenathanwfranke
Fixes #36438
2020-02-23Merge pull request #36461 from akien-mga/c++17-fallthrough-attributeRémi Verschelde
Replace FALLTHROUGH macro by C++17 [[fallthrough]]
2020-02-23Replace FALLTHROUGH macro by C++17 [[fallthrough]]Rémi Verschelde
This attribute is now part of the standard we target so we no longer need compiler-specific hacks. Also enables -Wimplicit-fallthrough for Clang now that we can properly support it. It's already on by default for GCC's -Wextra. Fixes new warnings raised by Clang's -Wimplicit-fallthrough.
2020-02-22Add support for Vector2i, Rect2i and Vector3i to VariantJuan Linietsky
WARNING: Requires C++17 'guaranteed copy elision' to fix ambiguous operator problems in Variant. This was added for this commit (and future C++17 uses) in #36457.
2020-02-21Added StringName as a variant type.Juan Linietsky
Also changed all relevant properties defined manually to StringName.
2020-02-18PoolVector is gone, replaced by VectorJuan Linietsky
Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are sugar for `Vector<Type>`.
2020-02-13Remove more deprecated methods and codeRémi Verschelde
2020-02-10Fix VariantParser::StreamString EOF determinationPedro J. Estébanez
2020-01-01Update copyright statements to 2020Rémi Verschelde
Happy new year to the wonderful Godot community! We're starting a new decade with a well-established, non-profit, free and open source game engine, and tons of further improvements in the pipeline from hundreds of contributors. Godot will keep getting better, and we're looking forward to all the games that the community will keep developing and releasing with it.
2019-12-20Encodes property names properly in project.godotHaoyu Qiu
2019-09-22Changed some code found by Clang Tidy and Coverityqarmin
2019-07-20Changed some code showed in LGTM and Coverageqarmin
2019-07-01Remove unnecessary code and add some error explanationsqarmin
2019-04-22Merge pull request #26787 from ptrojahn/utf8assignRémi Verschelde
Support UTF-8 input action names
2019-04-09Style: Apply new changes from clang-format 8.0Rémi Verschelde
It seems to stay compatible with formatting done by clang-format 6.0 and 7.0, so contributors can keep using those versions for now (they will not undo those changes).
2019-03-08Support UTF-8 input action namesPaul Trojahn
Fixes #26380
2019-02-21Fix VariantWriter overflow on 64-bit intRémi Verschelde
Integers in Godot are signed 64-bit ints (int64_t), but var2str used int behind the scenes and would thus overflow after 2^31. Also properly documented the actual bounds of int and the behaviour when overflowing them.
2019-02-20Add -Wshadow=local to warnings and fix reported issues.marxin
Fixes #25316.
2019-01-01Update copyright statements to 2019Rémi Verschelde
Happy new year to the wonderful Godot community!
2018-09-13Merge pull request #21982 from luzpaz/misc-typosRémi Verschelde
Misc. typos
2018-09-12Misc. typosluz.paz
Found via `codespell -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"`
2018-09-12Make core/ includes absolute, remove subfolders from include pathRémi Verschelde
This allows more consistency in the manner we include core headers, where previously there would be a mix of absolute, relative and include path-dependent includes.
2018-01-20add template argument for size in StringBufferkarroffel
Until now the pre-allocated array size was defined to be 64 without a way of adjusting it from the calling side. This commit adds the size as a template parameter.
2018-01-05Add missing copyright headers and fix formattingRémi Verschelde
Using `misc/scripts/fix_headers.py` on all Godot files. Some missing header guards were added, and the header inclusion order was fixed in the Bullet module.
2018-01-01Update copyright statements to 2018Rémi Verschelde
Happy new year to the wonderful Godot community!
2017-11-20Make old scenes readable againJuan Linietsky
2017-11-17Rename Rect3 to AABB.Ferenc Arn
Fixes #12973.
2017-09-05Optimize memory allocations in VariantParser::get_tokenEvgeny Zuev
2017-08-27Use HTTPS URL for Godot's website in the headersRémi Verschelde
2017-08-24Convert Object::cast_to() to the static versionHein-Pieter van Braam
Currently we rely on some undefined behavior when Object->cast_to() gets called with a Null pointer. This used to work fine with GCC < 6 but newer versions of GCC remove all codepaths in which the this pointer is Null. However, the non-static cast_to() was supposed to be null safe. This patch makes cast_to() Null safe and removes the now redundant Null checks where they existed. It is explained in this article: https://www.viva64.com/en/b/0226/
2017-08-21Fix tokenization of doublesPedro J. Estébanez
Fixes #9600.
2017-07-25Update GDScript completion names for Pool*ArraysAndrii Doroshenko (Xrayez)
Notice: GDScript tokenizer used the old PoolFloatArray name. Renamed PoolFloatArray to PoolRealArray. Moved "project_settings.h" down one line to comply with the clang-format rules. Fixes #9638 Closed pull request #9714 because I messed up with commits, sorry!
2017-06-09renamed all Rect3.pos to Rect3.positionalexholly
2017-06-07Merge pull request #9015 from mcanders/mcanders/ParseObjectVariantFixRémi Verschelde
Fix Variant::OBJECT token parsing
2017-06-04Fix Variant::OBJECT token parsingCarter Anderson
2017-06-04renamed all Rect2.pos to Rect2.positionalexholly
2017-05-28-Added .hdr format supportJuan Linietsky
-Added default environment editor setting -Added environment created by default in new projects -Removed default light and ambient from spatial editor, to make the editor more PBR compliant
2017-05-20Removal of InputEvent as built-in Variant type..Juan Linietsky
this might cause bugs I haven't found yet..
2017-05-17Fix two typos from previous commitRémi Verschelde
Also cleanup comments on variant types.
2017-05-17Removal of Image from Variant, converted to a Resource.Juan Linietsky
2017-05-01Rename project file to "project.godot"Rémi Verschelde
Slimmed down variant from the reverted #8375. The rationale behind the name change is to give Godot's project file a unique extension (".godot") that can be registered on the OS to be associated with the Godot binary (OS registration not implemented here). This PR also adds the possibility to start the game or editor if launched with the project.godot passed as argument, which paves the way for allowing a similar behaviour on a double-click in the OS file manager (code originally by @Hinsbart). Closes #6915.
2017-04-08Add "Godot Engine contributors" copyright lineRémi Verschelde
2017-04-06New particle system, mostly working, some small features missing.Juan Linietsky
2017-03-05A Whole New World (clang-format edition)Rémi Verschelde
I can show you the code Pretty, with proper whitespace Tell me, coder, now when did You last write readable code? I can open your eyes Make you see your bad indent Force you to respect the style The core devs agreed upon A whole new world A new fantastic code format A de facto standard With some sugar Enforced with clang-format A whole new world A dazzling style we all dreamed of And when we read it through It's crystal clear That now we're in a whole new world of code
2017-02-28 Various fixes detected using PVS-Studio static analyzer.Thaer Razeq
- Add FIXME tags comments to some unfixed potential bugs - Remove some checks (always false: unsigned never < 0) - Fix some if statements based on reviews. - Bunch of missing `else` statements
2017-02-04Renamed engine.cfg to godot.cfg, to forcefully break compatibility with 2.xJuan Linietsky
2017-01-25Merge pull request #7002 from RandomShaper/vcs-friendlinessJuan Linietsky
Greater VCS friendliness
2017-01-16Improve .tscn VCSPedro J. Estébanez
Serialize dictionaries adding newlines between key-value pairs Serialize group lists also with newlines in between Serialize string properties escaping only " and \ (needed for a good diff experience with built-in scripts and shaders) Bonus: Make AnimationPlayer serialize its blend times always sorted so their order is predictable in the .tscn file. This PR is back-compat; won't break the load of existing files.
2017-01-16Style: Fix statements ending with ';;'Rémi Verschelde