summaryrefslogtreecommitdiffstats
path: root/core/variant/variant_parser.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Core: Fix recursion level check for `VariantWriter::write()` with objectsDanil Alexeev2023-08-291-37/+20
|
* Ensure `RID`, `Callable`, and `Signal` are stored as stringsNinni Pipping2023-06-221-3/+57
| | | | | Prevents parser errors in `.tscn` and `.tres` files where the assignment would otherwise be empty.
* GDScript: Fix issues with typed arraysDmitrii Maganov2023-01-311-18/+130
|
* Merge pull request #68450 from KoBeWi/bracket_escapistRémi Verschelde2023-01-121-2/+19
|\ | | | | Allow to escape closing brackets in CFG tags
| * Allow to escape closing brackets in CFG tagskobewi2022-11-091-2/+19
| |
* | One Copyright Update to rule them allRémi Verschelde2023-01-051-29/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As many open source projects have started doing it, we're removing the current year from the copyright notice, so that we don't need to bump it every year. It seems like only the first year of publication is technically relevant for copyright notices, and even that seems to be something that many companies stopped listing altogether (in a version controlled codebase, the commits are a much better source of date of publication than a hardcoded copyright statement). We also now list Godot Engine contributors first as we're collectively the current maintainers of the project, and we clarify that the "exclusive" copyright of the co-founders covers the timespan before opensourcing (their further contributions are included as part of Godot Engine contributors). Also fixed "cf." Frenchism - it's meant as "refer to / see".
* | VariantParser make readahead optionallawnjelly2022-12-121-1/+16
| | | | | | | | | | | | It turns out some areas are independently moving / reading filepointers outside of the VariantParser, which can cause the readahead caching to get out of sync. This PR makes the VariantParser readahead to be optional to allow for these use cases.
* | Merge pull request #69119 from lawnjelly/faster_variant_parser_masterRémi Verschelde2022-12-051-17/+56
|\ \ | | | | | | | | | Add readahead to VariantParser [4.x]
| * | Add readahead to VariantParserlawnjelly2022-11-241-17/+56
| |/ | | | | | | Adds a readahead buffer to VariantParser, to prevent large numbers of freads for single bytes, which is inefficient.
* / Don't break parsing on missing resourceskobewi2022-11-281-1/+1
|/
* Rename Projection `matrix` to `columns`Aaron Franke2022-10-041-1/+1
|
* Fix crash when encoding freed object in ConfigFileHaoyu Qiu2022-09-041-1/+1
|
* Fix Vector4 serializationkobewi2022-07-291-2/+2
|
* Implement Vector4, Vector4i, Projectionreduz2022-07-231-0/+61
| | | | | | | | | | | | | Implement built-in classes Vector4, Vector4i and Projection. * Two versions of Vector4 (float and integer). * A Projection class, which is a 4x4 matrix specialized in projection types. These types have been requested for a long time, but given they were very corner case they were not added before. Because in Godot 4, reimplementing parts of the rendering engine is now possible, access to these types (heavily used by the rendering code) becomes a necessity. **Q**: Why Projection and not Matrix4? **A**: Godot does not use Matrix2, Matrix3, Matrix4x3, etc. naming convention because, within the engine, these types always have a *purpose*. As such, Godot names them: Transform2D, Transform3D or Basis. In this case, this 4x4 matrix is _always_ used as a _Projection_, hence the naming.
* Merge pull request #48989 from MarioLiebisch/variant-comment-line-breaksRémi Verschelde2022-05-051-0/+2
|\ | | | | Properly increase line counter when parsing comments
| * Increase line counter when parsing commentsMario Liebisch2021-05-231-0/+2
| |
* | Merge pull request #60627 from aaronfranke/rename-elementsRémi Verschelde2022-05-031-3/+3
|\ \ | | | | | | Rename Transform2D and Basis `elements` to `columns` and `rows` respectively
| * | Rename Basis "elements" to "rows"Aaron Franke2022-04-291-2/+2
| | |
| * | Rename Transform2D "elements" to "columns"Aaron Franke2022-04-291-1/+1
| | |
* | | Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>`Hugo Locurcio2022-05-031-6/+6
|/ / | | | | | | | | | | These typedefs don't save much typing compared to the full `Ref<Resource>` and `Ref<RefCounted>`, yet they sometimes introduce confusion among new contributors.
* | Fix more issues found by cppcheck.bruvzg2022-04-201-1/+0
| |
* | Cleanup and move char functions to the `char_utils.h` header.bruvzg2022-02-041-8/+8
| |
* | String: Add contains().Anilforextra2022-02-041-1/+1
| |
* | Add support for the escaped UTF-16 and UTF-32 Unicode characters in the ↵bruvzg2022-01-301-3/+41
| | | | | | | | scripts and expressions.
* | Dictionary: Serialize empty dict as `{}` instead of `{\n}`Rémi Verschelde2022-01-181-4/+5
| | | | | | | | | | Also make sure to always convert multiline dictionaries to a single line for its EditorHelp representation, as multiline values break formatting.
* | Update copyright statements to 2022Rémi Verschelde2022-01-031-2/+2
| | | | | | | | Happy new year to the wonderful Godot community!
* | Replace String comparisons with "", String() to is_empty()Nathan Franke2021-12-091-2/+2
| | | | | | | | | | | | Also: - Adds two stress tests to test_string.h - Changes to .empty() on std::strings
* | Modify Dictionary::operator== to do real key/value comparison with recursive ↵Emmanuel Leblond2021-10-301-29/+44
| | | | | | | | support (and add unittests)
* | NaN, INF read/write bug fixedThakee Nathees2021-10-051-22/+54
| | | | | | | | Fix: #40589
* | Fixes to tests for Variant and Geometry3DAaron Franke2021-08-171-1/+1
| |
* | Use const references where possible for List range iteratorsRémi Verschelde2021-07-251-1/+1
| |
* | Use C++ iterators for Lists in many situationsAaron Franke2021-07-231-5/+5
| |
* | Use the standard C `INFINITY` and `NAN` constants directlyHugo Locurcio2021-07-211-2/+2
| | | | | | | | | | | | | | The `Math_INF` and `Math_NAN` defines were just aliases for those constants, so we might as well use them directly. Some portions of the code were already using `INFINITY` directly.
* | Fix Variant tags parsing.bruvzg2021-07-051-8/+24
| |
* | Rename `instance()`->`instantiate()` when it's a verbLightning_A2021-06-191-2/+2
| |
* | Better format arguments in variant parserMichael Alexsander Silva Dias2021-06-181-38/+37
| |
* | VariantParser: Fix reading StringNames with '&'.Rémi Verschelde2021-06-121-2/+5
| | | | | | | | | | | | | | Keep support for '@' for now for compatibility. Fixes #49535. Fixes #49542.
* | Rename Reference to RefCountedPedro J. Estébanez2021-06-111-1/+1
| |
* | Let var2str display StringName with correct sigilJonathan Gollnick2021-06-101-1/+1
| |
* | Rename Quat to QuaternionMarcel Admiraal2021-06-041-5/+5
| |
* | Add "Transform" compatibility name for "Transform3D" in VariantParserAaron Franke2021-06-041-1/+1
| |
* | Rename Variant TRANSFORM to TRANSFORM3DAaron Franke2021-06-031-1/+1
| | | | | | Also _transform to _transform3d
* | Rename Transform to Transform3D in coreAaron Franke2021-06-031-4/+4
|/
* Use real_t in GridMap and VariantParserAaron Franke2021-03-191-23/+22
|
* Update copyright statements to 2021Rémi Verschelde2021-01-011-2/+2
| | | | | | | | | | | | | | Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
* Fix crash parsing a serialized ReferencePedro J. Estébanez2020-12-171-6/+3
|
* Reorganized core/ directory, it was too fatty alreadyreduz2020-11-071-0/+1803
-Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code