summaryrefslogtreecommitdiff
path: root/scene/resources/scene_format_text.cpp
AgeCommit message (Collapse)Author
2018-07-26Reduce unnecessary COW on Vector by make writing explicitHein-Pieter van Braam
This commit makes operator[] on Vector const and adds a write proxy to it. From now on writes to Vectors need to happen through the .write proxy. So for instance: Vector<int> vec; vec.push_back(10); std::cout << vec[0] << std::endl; vec.write[0] = 20; Failing to use the .write proxy will cause a compilation error. In addition COWable datatypes can now embed a CowData pointer to their data. This means that String, CharString, and VMap no longer use or derive from Vector. _ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug builds. This is a lot faster for Vector in the editor and while running tests. The reason why this difference used to exist is because force-inlined methods used to give a bad debugging experience. After extensive testing with modern compilers this is no longer the case.
2018-07-14Visual Shaders are back.Juan Linietsky
2018-03-25Removed unnecessary newlines from tscnIvan Vodopiviz
References #6025. Made small changes to avoid adding newlines for no reason.
2018-03-02Fix serialization of identifiers with non printable ASCII charactersRémi Verschelde
Fixes #6888.
2018-02-23Refactor version macros and fix related bugsRémi Verschelde
The previous logic with VERSION_MKSTRING was a bit unwieldy, so there were several places hardcoding their own variant of the version string, potentially with bugs (e.g. forgetting the patch number when defined). The new logic defines: - VERSION_BRANCH, the main 'major.minor' version (e.g. 3.1) - VERSION_NUMBER, which can be 'major.minor' or 'major.minor.patch', depending on whether the latter is defined (e.g. 3.1.4) - VERSION_FULL_CONFIG, which contains the version status (e.g. stable) and the module-specific suffix (e.g. mono) - VERSION_FULL_BUILD, same as above but with build/reference name (e.g. official, custom_build, mageia, etc.) Note: Slight change here, as the previous format had the build name *before* the module-specific suffix; now it's after - VERSION_FULL_NAME, same as before, so VERSION_FULL_BUILD prefixed with "Godot v" for readability Bugs fixed thanks to that: - Export templates version matching now properly takes VERSION_PATCH into account by relying on VERSION_FULL_CONFIG. - ClassDB hash no longer takes the build name into account, but limits itself to VERSION_FULL_CONFIG (build name is cosmetic, not relevant for the API hash). - Docs XML no longer hardcode the VERSION_STATUS, this was annoying. - Small cleanup in Windows .rc file thanks to new macros.
2018-01-30Ability to import .escn files, which is just a .tscn but with forced import.Juan Linietsky
This works together with the new Blender to Godot exporter.
2018-01-18Fix typos in code and docs with codespellRémi Verschelde
Using v1.11.0 from https://github.com/lucasdemarchi/codespell
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-12-16Improve duplication and saving of instanced scenesMatthias Hoelzl
2017-12-15-Added new scene conversion to binary on export (disabled by default, please ↵Juan Linietsky
test) -This method works by directly converting text to binary, so the scene does not need to be loaded and saved
2017-11-17Rename Rect3 to AABB.Ferenc Arn
Fixes #12973.
2017-09-20Rename pos to position in user facing methods and variablesletheed
Rename user facing methods and variables as well as the corresponding C++ methods according to the folloming changes: * pos -> position * rot -> rotation * loc -> location C++ variables are left as is.
2017-08-31Fix issues regarding reload of resources in imported scenes. Closes #10017Juan Linietsky
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-16Synchronize parameter names in definition and declarationTwistedTwigleg
Fixes #10244.
2017-07-30Style: Apply clang-format on all filesRémi Verschelde
Thus fixing some invalid changes that had still made it to the master branch.
2017-07-19-Renamed GlobalConfig to ProjectSettings, makes more sense.Juan Linietsky
-Added system for feature overrides, it's pretty cool :)
2017-06-28Reworked translation systemJuan Linietsky
-Label and Button reload translation on the fly -Resources are loaded and reload depending on locale
2017-04-08Add "Godot Engine contributors" copyright lineRémi Verschelde
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-21-renamed globals.h to global_config.cpp (this seems to have caused a few ↵Juan Linietsky
modified files) -.pck and .zip exporting redone, seems to be working..
2017-01-25Merge pull request #7002 from RandomShaper/vcs-friendlinessJuan Linietsky
Greater VCS friendliness
2017-01-25Audio bus editing is COMPLETE!Juan Linietsky
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-14Style: Fix whole-line commented codeRémi Verschelde
They do not play well with clang-format which aligns the `//` part with the rest of the code block, thus producing badly indented commented code.
2017-01-14rename String.extension() -> String.get_extension() / String.basename() -> ↵Juan Linietsky
String.get_basename()
2017-01-05-Changed most project settings in the engine, so they have major and minor ↵Juan Linietsky
categories. -Changed SectionedPropertyEditor to support this -Renamed Globals singleton to GlobalConfig, makes more sense. -Changed the logic behind persisten global settings, instead of the persist checkbox, a revert button is now available
2017-01-03Begin modifying properties to make them more friendly to script and doc.Juan Linietsky
2017-01-02ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to ↵Juan Linietsky
Variant. All usages of "type" to refer to classes were renamed to "class" ClassDB has been exposed to GDScript. OBJ_TYPE() macro is now GDCLASS()
2017-01-01Welcome in 2017, dear changelog reader!Rémi Verschelde
That year should bring the long-awaited OpenGL ES 3.0 compatible renderer with state-of-the-art rendering techniques tuned to work as low as middle end handheld devices - without compromising with the possibilities given for higher end desktop games of course. Great times ahead for the Godot community and the gamers that will play our games!
2016-08-31More improvements to visual script..Juan Linietsky
fixed a bug of not saving when sub-nodes changed.
2016-07-19Fixed properly not save signals that already exist in their base scenes, ↵Juan Linietsky
closes #5656
2016-07-19Revert "Homogeinize resource formats loaders/savers"Rémi Verschelde
The text format definition needs to stay in `scene/` as it relies on other scene components, and `core/` must stay self-contained. This reverts commits a5e27503fd52589703d637d1245a023233a14a27 and 1492fd846073a4fa643365a8a5d4e021868c0e48.
2016-06-28Homogeinize resource formats loaders/saversPedro J. Estébanez
2016-06-28Remove error when getting dependencies from tscn files in some cases, closes ↵Juan Linietsky
#3897
2016-06-20Add quotes to .tscn keys, solves #4366Juan Linietsky
2016-06-20Fix error storing path for children of instanced nodes in .tscn, fixes #4320 ↵Juan Linietsky
fixes #4579 fixes #4580
2016-06-18Add missing license headers in our source files (#5255)Rémi Verschelde
Also removes a couple wrong Godot headers from third-party source files.
2016-06-17-added missing .inc filesJuan Linietsky
-Made it possible to change the editor theme -Added two options to theme editor plugin to create empty template themes and editor themes -Make sure that saved themes to .tres keep the null theme fields, to make it easier to keep those when saving/loading the theme
2016-03-09remove trailing whitespaceHubert Jarosz
2016-02-21Fix missing dependency resolver in Windowseska
2016-02-21Add support for placeholders in tscn, which was missing. Closes #3652Juan Linietsky
2016-01-29-Increment resources total in scene format text, fixes #3506Juan Linietsky
2016-01-25Merge pull request #3440 from TheHX/issue-2946Rémi Verschelde
Fixed small inconsistencies with the text format
2016-01-24Merge pull request #3434 from TheHX/pr-tscn-dependencyJuan Linietsky
Fix .tscn not raising dependency error
2016-01-24Fix .tscn not raising dependency errorFranklin Sobrinho
2016-01-24Fixed small inconsistencies with the text formatFranklin Sobrinho
2016-01-24Fix .tscn format not loading groupsFranklin Sobrinho