Age | Commit message (Collapse) | Author |
|
Add a const call mode to Object, Variant and Script.
|
|
For this to work safely (user not call queue_free or something in the expression), a const call mode was added to Object and Variant (and optionally Script).
This mode ensures only const functions can be called, making it safe to use from the editor.
Co-Authored-By: reduz <reduzio@gmail.com>
|
|
|
|
|
|
|
|
Simplify Subresource Saving
|
|
Add ability to export Node pointers as NodePaths
|
|
Add an option to drag'n'drop selected text in ``TextEdit``
|
|
|
|
Add editor icons for MultiplayerSpawner and MultiplayerSynchronizer
|
|
Add editor icons for abstract nodes that can now be added in the editor
|
|
Co-authored-by: Hendrik Brucker <hendrik.brucker@mail.de>
|
|
|
|
Fix error about transient window when running a custom scene
|
|
|
|
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).
|
|
Remake ResourceCache thread safety code and API
|
|
Rename @export_range's noslider option to no_slider
|
|
|
|
|
|
Add icon colors to editor theme
|
|
Fix crash when drawing invalid tiles
|
|
Redo edited subresource (and resource) saving in a much more simplified way.
I think this should work (unless I am missing something) and be faster than what is there.
It should also supersede #55885.
I am not 100% entirely convinced that this approach works, but I think it should so please test.
|
|
Add `icon_normal_color`, `icon_pressed_color`, and
`icon_disabled_color` to `Button`, `OptionButton`,
`CheckButton`, and `CheckBox`.
|
|
|
|
|
|
Fix setting owner on internal nodes when save branch as scene
|
|
Fix ObjectDB instances leaked on state machine when editor closes
|
|
|
|
unsaved cache was changed (either by editing something or by saving)
This makes sure that:
1.) The title is always up-to-date with project settings
2.) The title always reflects the changes made in the editor by showing or hiding the '(*)'
|
|
* 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
|
|
|
|
|
|
Implement a Movie Maker mode
|
|
* Allows running the game in "movie writer" mode.
* It ensures entirely stable framerate, so your run can be saved stable and with proper sound (which is impossible if your CPU/GPU can't sustain doing this in real-time).
* If disabling vsync, it can save movies faster than the game is run, but if you want to control the interaction it can get difficult.
* Implements a simple, default MJPEG writer.
This new features has two main use cases, which have high demand:
* Saving game videos in high quality and ensuring the frame rate is *completely* stable, always.
* Using Godot as a tool to make movies and animations (which is ideal if you want interaction, or creating them procedurally. No other software is as good for this).
**Note**: This feature **IS NOT** for capturing real-time footage. Use something like OBS, SimpleScreenRecorder or FRAPS to achieve that, as they do a much better job at intercepting the compositor than Godot can probably do using Vulkan or OpenGL natively. If your game runs near real-time when capturing, you can still use this feature but it will play no sound (sound will be saved directly).
Usage:
$ godot --write-movie movie.avi [scene_file.tscn]
Missing:
* Options for configuring video writing via GLOBAL_DEF
* UI Menu for launching with this mode from the editor.
* Add to list of command line options.
* Add a feature tag to override configurations when movie writing (fantastic for saving videos with highest quality settings).
|
|
Update editor/scene_tree_editor.cpp
Add a comment to explain why
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
|
|
Update project window title when a project setting was changed
|
|
|
|
Before this fix the title was just updated when we make the first change in the project settings. Now we always update the window title as it may be changed in the meantime when a project setting is changed (e.g. the app name (application/config/name)).
|
|
The icon was previously unused.
|
|
|
|
|
|
Clean up and do fixes to hash functions and newly introduced murmur3 hashes in #61934
* Clean up usage of murmur3
* Fixed usages of binary murmur3 on floats (this is invalid)
* Changed DJB2 to use xor (which seems to be better)
|
|
|
|
|
|
(cherry picked from commit 000499662bdb60e786ab6451c260e62a72ad595d)
|
|
This adds a partial 2D/3D color to each icon for easier visual grepping.
The icons are not fully colored as these nodes don't inherit from
Node2D or Node3D. This is similar in principle to how the
WorldEnvironment editor icon is colored.
|
|
This allows for previewing the effects of the various 3D scaling
project settings without having to restart the editor.
|
|
Add missing new function parameter to fix button presses.
|
|
Disable VRAM compression by default for small textures in Detect 3D
|