Age | Commit message (Collapse) | Author |
|
|
|
This PR is a continuation of #50381 (which was implemented exactly a year ago!)
* Add a visual interface to select which classes should not be built into Godot (well, they are built if something else uses them, but if not used the optimizer will remove them out).
* Add a detection system to scan the project and figure out the actual classes used.
* Added the ability for SCons to load build profiles.
Obligatory Screen:
A simple test with a couple of nodes in the scene resulted in a 25% reduction for the final binary size
TODO:
* Script languages need to implement used class detection (left for another PR).
* Options to disable servers or server functionalities (like 2D or 3D physics, navigation, etc). Are missing, that should also greatly aid in reducing binary size.
* Options to disable some modules would be desired.
* More options to disable drivers (OpenGL, Vulkan, etc) would be desired.
In general this PR is a starting point for more contributors to improve and enhance this functionality.
|
|
Revert upstream `core/input/gamecontrollerdb.txt`. Upstream fix: https://github.com/gabomdq/SDL_GameControllerDB/pull/600
|
|
|
|
Add LabelSettings resource for quick Label theme property override.
|
|
- Image.blit_rect()
- Image.blit_rect_mask()
- Image.blend_rect()
- Image.blend_rect_mask()
- Image.fill_rect()
- Image.get_used_rect()
- Image.get_rect()
- ImageTexture.set_size_override()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
support to the GDextension API.
|
|
|
|
And finally remove the 'frames' property which was added for compatibility with 2.1
in bed3efb17ede58a2bfc177b47cb3a49091aea30a.
Fixes #21765.
The 'animations' property on the other hand is needed, contrarily to what its comment
said (copy-paste mistake probably).
Also removes unused '_get_animation_list'.
|
|
|
|
|
|
|
|
Make sure the tile data clears its `terrain` field when said terrain is removed from the tileset.
|
|
dylan-conway/layered-texture-update-fix-and-error-messages
|
|
|
|
|
|
filenames) and some non-standard UTF-8 variants, makes Unicode parse errors more verbose.
|
|
Octree is no longer used in 4.x.
|
|
|
|
Add the ability to drag the code completion scrollbar using the mouse click
|
|
to avoid potential hash collisions.
|
|
|
|
removed from the tileset.
|
|
|
|
|
|
Add ability to export Node pointers as NodePaths
|
|
This PR implements:
* A new hint: PROPERTY_HINT_NODE_TYPE for variant type OBJECT, which can take specific node types as hint string.
* The editor will show it as a node path, but will set it as a pointer to a node from the current scene if you select a path.
* When scene is saved, the node path is saved, then restored as a pointer.
NOTE: This is a proof of concept and this approach will most likely not work. The reason if that, if the node referenced is deleted, then when trying to edit this the node will become invalid.
Potential workarounds: Since this uses the Variant API, it should obtain the pointer from the Variant object ID. Yet, this would either only really work in GDScript or it would need to be implemented with workarounds in every language.
Alternative ways to make this work: Nodes could export an additional property with a node path (like for which_node, it could be which_node_path).
Another alternative: Path editing could happen as a hidden metadata (ignoring the pointer).
|
|
Fix CapsuleMesh height/radius setters
|
|
Remake ResourceCache thread safety code and API
|
|
Make `Curve2D` and `Curve3D` more consistent with `Curve` and avoid
calling `notify_property_list_changed` when the list of points doesn't
change.
|
|
|
|
|
|
Document most of the Window's members
|
|
Adds two new properties to NavigationMesh resources to restrict the navmesh baking to an area enclosed by an AABB with volume.
|
|
|
|
|
|
Helps unblock #56597
|
|
|
|
|
|
|
|
|
|
Fix ResourceLoaderText::save_as_binary()
|
|
* Ensures thread safety when resources are destroyed.
* Simplified API by always forcing `ResourceCache::get_ref`, which needs less hacks and is fully thread safe.
* Removed RWLock for resources because its not possible to use for the new logic. Should not be a problem.
Supersedes #57533
|