Commit Graph

10250 Commits

Author SHA1 Message Date
Fabio Alessandrelli
0e504e4191 [AssetLib] Fix crash in Web editor.
Add EditorAssetLibrary::is_available which always returns false in the
Web editor and use it in EditorNode for detection.
2022-06-30 01:26:08 +02:00
Rémi Verschelde
047cdc9a9f
Merge pull request #62511 from Chaosus/fix_doc_title_property
Fix `help_title_font_size` editor property to correctly apply to docs
2022-06-30 01:25:24 +02:00
Rémi Verschelde
a7e589df38
Merge pull request #62084 from smix8/path_debug_options_4.x
Add Path2D/3D debug options
2022-06-29 20:36:43 +02:00
Hugo Locurcio
87c989f98d
Mention mipmap and memory usage in the texture editor preview
This is important to quickly determine if a texture is using
unexpectedly high amounts of memory, or to troubleshoot
why mipmap sampling modes have no effect on it.

- Improve readability by increasing outline size and reducing
  font size to match the rest of the editor UI.
2022-06-29 17:38:50 +02:00
Yuri Rubinsky
c6f57c30c3 Fix help_title_font_size editor property to correctly apply to docs 2022-06-29 15:08:54 +03:00
Rémi Verschelde
5235ce4379 i18n: Sync editor translations with Weblate
(cherry picked from commit f29241fa1e)
2022-06-29 12:12:43 +02:00
Rémi Verschelde
caa9ec8aca
Merge pull request #62489 from qarmin/more_renames
More function/class renames in converter
2022-06-28 23:39:33 +02:00
Rafał Mikrut
3ca45b8200 More function/class renames in converter 2022-06-28 18:21:11 +02:00
Voylin
c6291bcd8a Adding print_rich for printing with BBCode 2022-06-29 00:41:29 +09:00
Rémi Verschelde
4c14bf7482
Merge pull request #62470 from vnen/gdscript-export-nodes
GDScript: Enable exporting nodes to the inspector
2022-06-28 08:07:00 +02:00
Rémi Verschelde
b863c40356
Merge pull request #62468 from V-Sekai/core-const-expressions
Add a const call mode to Object, Variant and Script.
2022-06-28 01:08:24 +02:00
George Marques
9490146a16
GDScript: Enable exporting nodes to the inspector
Also fix an small issue in the property editor for NodePath trying to
use the meta property when not needed.
2022-06-27 18:42:52 -03:00
K. S. Ernest (iFire) Lee
9ddebc0c22 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>
2022-06-27 13:33:06 -07:00
Hendrik Brucker
99ce0df3b1 Refactor bezier interpolation functions 2022-06-27 19:42:43 +02:00
Rémi Verschelde
c41e4b10c3
Merge pull request #61954 from KoBeWi/scene_factory🏭 2022-06-27 14:56:53 +02:00
Rémi Verschelde
bbca1d6530 Fixup #62318 after ResourceCache changes 2022-06-27 14:02:21 +02:00
Rémi Verschelde
09c584990c
Merge pull request #62318 from reduz/simplify-subresource-saving
Simplify Subresource Saving
2022-06-27 13:50:49 +02:00
Rémi Verschelde
fbc3777467
Merge pull request #62185 from reduz/export-node-pointer-path
Add ability to export Node pointers as NodePaths
2022-06-27 11:14:36 +02:00
Rémi Verschelde
af694245f5
Merge pull request #62221 from ConteZero/drag_and_drop_option
Add an option to drag'n'drop selected text in ``TextEdit``
2022-06-26 16:02:52 +02:00
ConteZero
5d56efcaa4 Add an option to drag'n'drop selected text in TextEdit 2022-06-26 15:22:02 +02:00
Rémi Verschelde
16b23ee372
Merge pull request #62248 from Calinou/editor-icons-add-multiplayer-nodes
Add editor icons for MultiplayerSpawner and MultiplayerSynchronizer
2022-06-26 08:51:45 +02:00
Rémi Verschelde
2b349141dc
Merge pull request #62250 from Calinou/editor-icons-add-abstract-icons
Add editor icons for abstract nodes that can now be added in the editor
2022-06-26 08:49:58 +02:00
Hugo Locurcio
283356c7ee
Add editor icons for MultiplayerSpawner and MultiplayerSynchronizer
Co-authored-by: Hendrik Brucker <hendrik.brucker@mail.de>
2022-06-26 05:35:55 +02:00
Hugo Locurcio
8a31a2d25c
Add editor icons for abstract nodes that can now be added in the editor 2022-06-26 05:08:44 +02:00
Rémi Verschelde
295a79c125
Merge pull request #62406 from YeldhamDev/custom_scene_fix
Fix error about transient window when running a custom scene
2022-06-25 23:15:36 +02:00
Michael Alexsander
793810938e Clean and fix the Movie Maker button 2022-06-25 18:14:19 -03:00
Michael Alexsander
d6f5c5429f Fix error about transient window when running a custom scene 2022-06-25 16:41:10 -03:00
reduz
b7c41f9ba1 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).
2022-06-25 15:50:15 +02:00
Rémi Verschelde
b192073001
Merge pull request #62309 from reduz/remake-resource-thread-safety
Remake ResourceCache thread safety code and API
2022-06-25 14:09:28 +02:00
Rémi Verschelde
dd3de622d8
Merge pull request #62372 from MarcusElg/nosliderrename
Rename @export_range's noslider option to no_slider
2022-06-25 14:03:44 +02:00
Hugo Locurcio
5da61d8a4c
Add MJPEG to the list of editor capitalizations 2022-06-24 22:24:21 +02:00
Marcus Elg
6c1ac9f3be Rename export_range's noslider option to no_slider 2022-06-24 10:45:34 +02:00
Rémi Verschelde
a2b20c15be
Merge pull request #61698 from raulsntos/icon_color-editor-theme
Add icon colors to editor theme
2022-06-24 09:09:30 +02:00
Rémi Verschelde
6260ab6a4d
Merge pull request #62349 from KoBeWi/crash_pattern
Fix crash when drawing invalid tiles
2022-06-23 22:47:21 +02:00
reduz
9eb5f2a0d7 Simplify Subresource Saving
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.
2022-06-23 21:25:20 +02:00
Raul Santos
842a3efe84
Add icon colors to editor theme
Add `icon_normal_color`, `icon_pressed_color`, and
`icon_disabled_color` to `Button`, `OptionButton`,
`CheckButton`, and `CheckBox`.
2022-06-23 20:02:27 +02:00
Rémi Verschelde
c32285733d
Merge pull request #62323 from Maran23/window-title-changed-data-fix 2022-06-23 15:47:50 +02:00
kobewi
2ccef6616e Fix crash when drawing invalid tiles 2022-06-23 14:34:23 +02:00
Rémi Verschelde
91b984a507
Merge pull request #61966 from Rindbee/fix-internal-nodes-owned
Fix setting owner on internal nodes when save branch as scene
2022-06-23 14:08:12 +02:00
Rémi Verschelde
21b51fdf7e
Merge pull request #61826 from guilhermefelipecgs/fix_leak
Fix ObjectDB instances leaked on state machine when editor closes
2022-06-23 09:58:51 +02:00
Haoyu Qiu
084fdee4a2 Add missing TTR in dialog title 2022-06-23 13:13:42 +08:00
Marius Hanl
3b20b9d32a Update the window title when the project settings were changed or when the 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 '(*)'
2022-06-22 23:53:52 +02:00
reduz
e772b65d92 Remake resource thread safety and API
* 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
2022-06-22 13:46:46 +02:00
Rémi Verschelde
f3bf0334bb
Merge pull request #62262 from fire-forge/suffix2 2022-06-21 16:05:35 +02:00
kobewi
a08d930740 Rework scene creation dialog 2022-06-21 15:42:56 +02:00
Rémi Verschelde
40c360b870
Merge pull request #62122 from reduz/implement-movie-writer
Implement a Movie Maker mode
2022-06-21 14:24:14 +02:00
reduz
5786516d4d Implement Running Godot as Movie Writer
* 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).
2022-06-21 11:28:47 +02:00
Rindbee
72a768b24f Avoid possibly showing two Dialogs at the same time
Update editor/scene_tree_editor.cpp

Add a comment to explain why

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-06-21 17:21:04 +08:00
Rémi Verschelde
0aa85f4ff8
Merge pull request #62252 from Maran23/project-window-title-rename-fix
Update project window title when a project setting was changed
2022-06-20 23:19:14 +02:00
FireForge
88589c091b Improve TileSet editor and add more suffixes 2022-06-20 15:28:19 -05:00
Marius Hanl
9f2d1b5cf0 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)).
2022-06-20 21:57:50 +02:00
smix8
e12e239ab4 Add Path2D/3D debug options
Add Path2D/3D debug options.
2022-06-20 17:32:05 +02:00
Hugo Locurcio
aafb5e54f4
Rename VideoPlayer editor icon to VideoStreamPlayer
The icon was previously unused.
2022-06-20 16:37:37 +02:00
Juan Linietsky
15837ec191
Revert "Disable VRAM compression by default for small textures in Detect 3D" 2022-06-20 15:30:19 +02:00
Rémi Verschelde
b4804a2d3f
Merge pull request #61459 from reduz/new-shader-editor 2022-06-20 15:27:16 +02:00
reduz
141c375581 Clean up Hash Functions
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)
2022-06-20 12:54:19 +02:00
Rémi Verschelde
460a083e2b
Merge pull request #62201 from Calinou/navigation-nodes-tweak-editor-icons 2022-06-20 10:07:10 +02:00
Georg Ziegler
c4404e2918 Move definition of const int ERROR_CODE to be reachable by all functions. 2022-06-19 14:53:40 +02:00
Rémi Verschelde
22a8c80f67 i18n: Sync editor translations with Weblate
(cherry picked from commit 000499662b)
2022-06-19 14:00:18 +02:00
Hugo Locurcio
6999b55190
Tweak editor icons for navigation nodes and SkeletonIK3D
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.
2022-06-19 07:53:54 +02:00
Hugo Locurcio
2651e88b05
Automatically update the editor viewport when 3D scaling options are changed
This allows for previewing the effects of the various 3D scaling
project settings without having to restart the editor.
2022-06-19 01:05:17 +02:00
Rémi Verschelde
94e962e27f
Merge pull request #62151 from tdaven/tdaven/fix-62149
Add missing new function parameter to fix button presses.
2022-06-18 11:00:41 +02:00
Rémi Verschelde
0daa868ab4
Merge pull request #62023 from Calinou/detect-3d-small-textures-no-vram-compress
Disable VRAM compression by default for small textures in Detect 3D
2022-06-17 21:07:04 +02:00
Trevor Davenport
e3fc0fd118 Add missing new function parameter. 2022-06-17 10:13:10 -06:00
Rémi Verschelde
362f53ff02
Merge pull request #62125 from cow-neaz/stop_game_on_reloading_project
Stop game on reloading project - Fix #62088 issue
2022-06-17 08:08:20 +02:00
Rémi Verschelde
9f732dfe9b
Merge pull request #62072 from fire-forge/project-manager-icons
Add icons to the Project Manager side buttons
2022-06-17 08:07:02 +02:00
FireForge
b7b6b38453 Add icons to the Project Manager side buttons 2022-06-16 19:32:41 -05:00
cow-neaz
8935cf17cf Stop game on reloading project 2022-06-17 03:20:37 +03:00
Rémi Verschelde
d04e7a7506 i18n: Sync editor translations with Weblate
(cherry picked from commit 135c252a38)
2022-06-16 21:07:30 +02:00
Rémi Verschelde
1767507e69
Merge pull request #61888 from Chaosus/vs_remove_engine_version
Remove engine version from visual shader
2022-06-16 18:19:03 +02:00
bruvzg
b5c96df277
Move duplicate AutoWrap, Overrun and VisibleChar behavior enums to the TextServer. 2022-06-16 16:49:37 +03:00
Rémi Verschelde
ac9cfd0c2d
Merge pull request #61820 from pfertyk/issue-61604-is-plugin-enabled-by-name 2022-06-16 09:59:07 +02:00
Rémi Verschelde
4bbe7f0b98
Merge pull request #51950 from qarmin/bad_godot4_converter 2022-06-15 11:13:49 +02:00
Rémi Verschelde
0a46f73aff
Merge pull request #62063 from fire-forge/inputevent-button 2022-06-15 11:06:36 +02:00
Rémi Verschelde
57867d8ae3
Merge pull request #62060 from fire-forge/h-offset 2022-06-15 10:24:11 +02:00
Rafał Mikrut
24f45bd533 Add Godot 3.x -> Godot 4.x project converter 2022-06-15 10:11:17 +02:00
FireForge
f85eb4164a Expose PopupMenu set/get_item_horizontal_offset()
- Renames setter from set_item_h_offset()
- Adds getter
2022-06-15 02:08:44 -05:00
FireForge
f72c1ac2a3 Use new inspector button style in InputEvent editor 2022-06-15 01:44:16 -05:00
FireForge
4e469886e8 Allow folding in sub-inspectors in Array and Dictionary editors 2022-06-14 23:25:40 -05:00
Rémi Verschelde
f9f3db443e
Merge pull request #61702 from fire-forge/tilemap-layers 2022-06-14 22:54:39 +02:00
FireForge
b8720500b0 Improve TileMap editor layer selection button 2022-06-14 14:14:19 -05:00
Rémi Verschelde
c9e3fe73ff
Merge pull request #62009 from KoBeWi/rings_a_bell
Improve toaster buttons
2022-06-14 21:07:22 +02:00
kobewi
5553e27fe8 Add vector value linking
Co-authored-by: redlamp <244062+redlamp@users.noreply.github.com>
2022-06-14 14:58:44 +02:00
Hugo Locurcio
04d5626bc0
Disable VRAM compression by default for small textures in Detect 3D
This is done to prevent reducing texture quality when it doesn't save
much video memory, especially for pixel art.

The size threshold can be adjusted in the project settings.
To get the previous behavior where textures detected to be used in 3D
had their compression mode always set to VRAM, set this to the lowest value
(16).
2022-06-14 13:08:20 +02:00
bruvzg
0d6de213b4
[macOS] Fix high-precision scrolling direction in the canvas editor zoom. 2022-06-14 10:52:58 +03:00
kobewi
54c9a481a0 Improve toaster buttons 2022-06-14 02:35:25 +02:00
Rémi Verschelde
4d14341244
Merge pull request #62005 from Calinou/texture-import-detect-3d-i18n
Add internationalization for Detect 3D texture import messages
2022-06-13 21:01:48 +02:00
Hugo Locurcio
8f235bdbbe
Add internationalization for Detect 3D texture import messages
These messages are only printed in the editor and can be seen
in the editor Output panel, so these should be localizable.
2022-06-13 20:16:41 +02:00
Rémi Verschelde
41986532c1
Merge pull request #61974 from Calinou/project-settings-mark-as-basic 2022-06-13 17:16:03 +02:00
Rémi Verschelde
d4f31e201d
Merge pull request #61809 from groud/terrain_center_bit 2022-06-13 17:06:34 +02:00
Rémi Verschelde
2f9a074fb4
Merge pull request #61972 from and-rad/confirm-insert
Fixed keying multiple animation tracks
2022-06-13 13:41:54 +02:00
Rémi Verschelde
136f84fc35
Merge pull request #61772 from bruvzg/ft_ot_collect 2022-06-13 11:13:05 +02:00
Rémi Verschelde
044b4fef54
Merge pull request #61936 from jgillich/vehicle-import
restore vehicle+wheel importers
2022-06-13 10:57:22 +02:00
Fabio Alessandrelli
ac878ed9b8
Merge pull request #61736 from KoBeWi/final_form_of_the_fix
Fix Debugger tab not updating when clearing errors
2022-06-12 20:46:45 +02:00
Hugo Locurcio
c178cfef8e
Mark some common project settings as basic 2022-06-12 19:50:14 +02:00
Andreas Raddau
9d9a50b7ee Fixed missing call to AnimationTrackEditor::make_insert_queue 2022-06-12 16:02:09 +02:00
Rémi Verschelde
91dd049aab
Merge pull request #61950 from Calinou/editor-capitalization-add-taa
Add TAA to the list of editor capitalizations
2022-06-12 08:48:30 +02:00
Rémi Verschelde
79fd068a10
Merge pull request #61240 from fire-forge/suffix
Add suffixes to all nodes and resources
2022-06-12 08:47:41 +02:00
Rindbee
472d16be4f Fix setting owner on internal nodes when save brach as scene 2022-06-12 13:57:42 +08:00
Hugo Locurcio
b55f1404ce
Add TAA to the list of editor capitalizations
This is used in the "Use Taa" setting (for temporal antialiasing).
2022-06-12 00:27:56 +02:00