Commit Graph

7248 Commits

Author SHA1 Message Date
reduz
083aa9b95e Refactor Process Mode
Implements https://github.com/godotengine/godot-proposals/issues/1835#issuecomment-727186192

* PauseMode is now ProcessMode, containing the following states:
	```
	PROCESS_MODE_INHERIT, // same as parent node
	PROCESS_MODE_NORMAL, // process only if not paused
	PROCESS_MODE_PAUSE_ONLY, // process only if paused
	PROCESS_MODE_ALWAYS, // process always
	PROCESS_MODE_DISABLED, // never process
	```
* NOTIFICATION_PAUSED and NOTIFICATION_UNPAUSED are received effectively when the node is paused and unpaused (not any longer when pause mode is set in SceneTree).
* Renamed some nodes that used ProcessMode/process_mode to specify a callback type to ProcessCallback to avoid clashes.
2021-02-18 20:39:55 -03:00
Rémi Verschelde
310496a89f
Merge pull request #45617 from RandomShaper/modernize_atomics
Modernize atomics (and fix `volatile`)
2021-02-18 19:40:31 +01:00
Pedro J. Estébanez
8e128726f0 Modernize atomics
- Based on C++11's `atomic`
- Reworked `SafeRefCount` (based on the rewrite by @hpvb)
- Replaced free atomic functions by the new `SafeNumeric<T>`
- Replaced wrong cases of `volatile bool` by the new `SafeFlag`
- Platform-specific implementations no longer needed

Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
2021-02-18 17:12:46 +01:00
Eric M
49714b0963 Removed hardcoded shortcuts from /scene and converted to input actions
This removes hardcoded actions from things like LineEdit and TextEdit.

Previously, things like copy, paste, etc were all hardcoded to Ctrl+C, Ctrl+V, etc. They could not be changed. This allows the possibility of them being changed, by making them use the action map. This has the added benefit of greatly simplifying the input handling logic in those controls. The logic which was previously in a huge and hard to follow switch statement has been extracted to individual methods.
2021-02-18 16:22:51 +01:00
Eric M
074f53563d Added ability to override built-in actions for the editor
This adds the ability to add overrides for built-in actions (i.e. ui_*) in the editor. Also added a number of additional built-in actions for various text-related actions, gui-generic actions (like copy and paste) and graph-related actions (duplicate nodes), etc. Moved the definition of input actions to input_map, rather than in project_settings so the editor can make use of these actions as well.
2021-02-18 16:22:50 +01:00
reduz
64140eaf42 Reorganize Project Settings
-Advanced Settings toggle also hides advanced properties when disabled
-Simplified Advanced Bar (errors were just plain redundant)
-Reorganized rendering quality settings.
-Reorganized miscelaneous settings for clean up.
2021-02-18 11:23:34 -03:00
Rémi Verschelde
72f74eb29e
Merge pull request #45943 from KoBeWi/YEEEET
Remove Merge From Scene
2021-02-18 15:15:19 +01:00
Rémi Verschelde
4fe0f1161e
Merge pull request #46159 from gongpha/jr-_-fix-function-binding
Fixes function bindings
2021-02-18 13:25:09 +01:00
Rémi Verschelde
bdf3c578ff
Merge pull request #45950 from KoBeWi/naughty_resources
Fix internal resource detecting when pasting nodes
2021-02-18 12:05:54 +01:00
Kongfa Waroros
efc1eba974 Fixes function bindings 2021-02-18 14:47:06 +07:00
Rémi Verschelde
7f63d6e848
Merge pull request #46105 from Calinou/assetlib-retry-button-only-failure
Only display the assetlib Retry button if the download failed
2021-02-17 08:10:27 +01:00
Hugo Locurcio
508011a57f
Only display the assetlib Retry button if the download failed 2021-02-17 02:00:22 +01:00
Aaron Franke
7d9ad2b845
Use Vector3.UP as a default value for look_at's up vector 2021-02-16 18:33:23 -05:00
Rémi Verschelde
cb64f2d96b
i18n: Sync translations with Weblate
(cherry picked from commit 7d921c1d53)
2021-02-16 14:54:45 +01:00
Rémi Verschelde
c6c8f22fbe
Merge pull request #46072 from Calinou/add-gpu-particle-attractor-collision-icons
Add icons for the new GPU particle attractor and collision nodes
2021-02-16 12:20:50 +01:00
Hugo Locurcio
7279b4ee35
Add icons for the new GPU particle attractor and collision nodes 2021-02-15 22:15:48 +01:00
Eric M
26c29cc0d7 Improved PopupMenu visuals. Removed x-y margin, made it 'padding' instead. 2021-02-15 15:45:25 +10:00
Pedro J. Estébanez
20f48f0105 Fix SceneTreeEditor::_update_tree() binding 2021-02-14 22:32:42 +01:00
Rémi Verschelde
fc5e9828b4
Merge pull request #44071 from dalexeev/editor-about-logo
Change logo in the About dialog box (return Godot's teeth)
2021-02-14 17:37:26 +01:00
Rémi Verschelde
4a41367949
Merge pull request #42784 from mujpao/search-results-font-size-4.0
Make search results font follow code editor font
2021-02-14 17:28:11 +01:00
Danil Alexeev
c553ca54d5 Change logo in the About dialog box (return Godot's teeth) 2021-02-14 18:50:05 +03:00
Rémi Verschelde
b21f854b7f
Merge pull request #45910 from Ansraer/default-scale-highres-monitor
Adjust auto scale on 4k monitors to 150%
2021-02-14 12:54:04 +01:00
Rémi Verschelde
ff9cd8d374
Merge pull request #45968 from KoBeWi/do_not_SAVE
Don't save project settings when not necessary
2021-02-14 11:04:16 +01:00
reduz
288540a690 Fix editor always redrawing
-Only update rendering settings when project settings change
-Fixes the update spinner (and editor rendering) updating all the time.
-Added a "project_settings_changed" signal to EditorNode and EditorPlugin
2021-02-13 14:57:28 -03:00
kobewi
4db47eb32e Don't save project settings when not necessary 2021-02-13 18:51:48 +01:00
kobewi
6146d95a9d Fix internal resource detecting when pasting nodes 2021-02-13 02:57:29 +01:00
Juan Linietsky
f0951537a4
Merge pull request #45924 from reduz/icon-saturation
Add ability to change Icon Saturation
2021-02-12 22:55:42 -03:00
kobewi
6b4faa355c Remove Merge From Scene 2021-02-13 01:35:03 +01:00
Rémi Verschelde
e7ab3a4132
Merge pull request #34892 from KoBeWi/copy-pasta_v7
Yet another node copy-paste PR
2021-02-12 23:16:31 +01:00
Rémi Verschelde
5011a22731
Merge pull request #45932 from goostengine/sprite-convert-compressed
Fix sprite editor conversion tools to handle compressed textures
2021-02-12 23:11:51 +01:00
kobewi
36494e8526 Duplicate resources pasted to other scenes 2021-02-12 22:38:38 +01:00
Andrii Doroshenko (Xrayez)
1cd7a16c10 Fix sprite editor conversion tools to handle compressed textures 2021-02-12 21:42:07 +02:00
reduz
28537d8c84 Fix LineEdit minimum width
-Changed theme setting name to make more sense of what it does
-Reduced amount of minimum characters, so minimum size is smaller.
2021-02-12 17:04:38 +01:00
reduz
5ae9051771 Add ability to change Icon Saturation
-Allows for more theme freedom
-Allows for entirely B&W themes.
2021-02-12 12:16:37 -03:00
reduz
b9b68b755c Improved Inspector Sub-Resource Editing
-Better margins
-Colors to delimit subresources better.
2021-02-12 09:31:47 -03:00
Rémi Verschelde
d3867b2dab
Merge pull request #45785 from Calinou/project-manager-add-loading-text
Display loading text while the project manager is loading
2021-02-12 13:01:17 +01:00
Ansraer
466cf0b466 Adjust auto scale on high res displays 2021-02-12 01:12:25 +01:00
reduz
f8d03b98e7 Improve resource load cache
-Added a new method in Resource: reset_state , used for reloading the same resource from disk
-Added a new cache mode "replace" in ResourceLoader, which reuses existing loaded sub-resources but resets their data from disk (or replaces them if they chaged type)
-Because the correct sub-resource paths are always loaded now, this fixes bugs with subresource folding or subresource ordering when saving.
2021-02-11 15:44:28 -03:00
reduz
1aa2823fa3 Removed _change_notify
-For inspector refresh, the inspector now detects if a property change by polling a few times per second and then does update the control if so. This process is very cheap.
-For property list refresh, a new signal (property_list_changed) was added to Object. _change_notify() is replaced by notify_property_list_changed()
-Changed all objects using the old method to the signal, or just deleted the calls to _change_notify(<property>) since they are unnecesary now.
2021-02-10 19:31:24 -03:00
Rémi Verschelde
e8f73124a7
Merge pull request #45845 from qarmin/cppcheck_scene_2
Initialize class variables with default values in scene/ [2/2]
2021-02-10 20:06:12 +01:00
Rémi Verschelde
b1c60c757f
Merge pull request #31747 from KoBeWi/scene_stalking
Detect external modification of scenes
2021-02-10 14:31:29 +01:00
Tomasz Chabora
abe548d76d Add node copy-paste 2021-02-09 20:53:06 +01:00
Rafał Mikrut
7961a1dea3 Initialize class variables with default values in scene/ [2/2] 2021-02-09 18:24:36 +01:00
Michael Alexsander
cf9d5cec22 Make FileSystem dock set its path to the base folder of files after changes 2021-02-09 12:57:36 -03:00
kobewi
c390c82014 Detect external modification of project.godot 2021-02-09 14:44:44 +01:00
Rémi Verschelde
df9c98e107
Merge pull request #45812 from RandomShaper/keep_selected_visible
Keep selected node visible after filter change
2021-02-09 10:43:21 +01:00
Rémi Verschelde
5f23fcf847
Merge pull request #45713 from KoBeWi/1000_unmasked
Make Rect2 properties show in 2x2 layout
2021-02-08 22:30:23 +01:00
Pedro J. Estébanez
ef062b1c37 Keep selected node visible after filter change
(Implemented both for the local and remote scene tree docks.)
2021-02-08 02:19:14 +01:00
Hugo Locurcio
8be51252f6
Display loading text while the project manager is loading
This hints the user that the project manager is currently busy
loading the project. This is important for the HTML5 editor as the
current feedback isn't very obvious.

This also removes the unused `_exit_dialog` function.
2021-02-07 02:04:10 +01:00
reduz
8faf23b52b Simplify Volumetric Fog
-Always use temporal reproject, it just loos way better than any other filter.
-By always using termporal reproject, the shadowmap reduction can be done away with, massively improving performance.
-Disadvantage of temporal reproject is update latency so..
-Made sure a gaussian filter runs in XY after fog, this allows to keep stability and lower latency.
2021-02-06 15:08:21 -03:00