Commit Graph

44220 Commits

Author SHA1 Message Date
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
c18d0f2035
Merge pull request #61770 from aaronfranke/webp 2022-06-21 17:59:37 +02:00
Rémi Verschelde
f3bf0334bb
Merge pull request #62262 from fire-forge/suffix2 2022-06-21 16:05:35 +02:00
Aaron Franke
8f05bd97b5
Add support for saving WebP images 2022-06-21 08:27:51 -05:00
Rémi Verschelde
fdfbaf9f0f
Merge pull request #62198 from Calinou/text-resource-remove-extraneous-spaces
Remove spaces in `SubResource()/ExtResource/Resource()` in text resources
2022-06-21 15:11:23 +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
Rémi Verschelde
b5f20a49a1
Merge pull request #62270 from Rindbee/avoid-two-showing-dialog 2022-06-21 13:00:43 +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
Rémi Verschelde
c5ea07ce86
Merge pull request #62249 from Calinou/editor-icons-rename-videostreamplayer 2022-06-20 18:05:12 +02:00
Rémi Verschelde
91e9e3c681
Merge pull request #62247 from Rindbee/fix-editor-hang-when-window-as-root 2022-06-20 17:43:54 +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
9719243ead
Merge pull request #62245 from godotengine/revert-62023-detect-3d-small-textures-no-vram-compress
Revert "Disable VRAM compression by default for small textures in Detect 3D"
2022-06-20 16:12:08 +02:00
Rindbee
5ac259fad8 Quickfix editor hangs when rooting a window with exclusive and transient flags enabled 2022-06-20 21:45:08 +08: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
Rémi Verschelde
21b0c7fc22
Merge pull request #62214 from smix8/navigation_layer_bitmask_helpers_4.x 2022-06-20 15:13:33 +02:00
Rémi Verschelde
3d49e89b9b
Merge pull request #62181 from smix8/navigation_navagent_pathpoint_dist_4.x 2022-06-20 14:54:16 +02:00
Rémi Verschelde
77be20ede8
Merge pull request #58921 from BastiaanOlij/htc_vive_trackers 2022-06-20 14:17:30 +02:00
Rémi Verschelde
66a30dab35
Merge pull request #62176 from reduz/cleanup-hashfuncs 2022-06-20 14:01:06 +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
8e3d9a23aa
Merge pull request #62241 from akien-mga/node-child-exiting-tree 2022-06-20 12:28:53 +02:00
Rémi Verschelde
3e6de687b8 Node: Rename child_exited_tree to child_exiting_tree
The name was confusing as this signal is emitted around the same time as
`tree_exiting` and `NOTIFICATION_EXIT_TREE`, i.e. while the child node is
still in tree.

Fixes #59210.
2022-06-20 11:55: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
Rémi Verschelde
ff9a66067b
Merge pull request #62158 from MightiestGoat/particles-material-patch
Adding emission_tex_ofs calculation in process()
2022-06-20 00:49:52 +02:00
Rémi Verschelde
f58ff85f8f
Merge pull request #62220 from markdibarry/call-group-fixes
Add explicit deferred flags
2022-06-19 23:17:12 +02:00
Yuri Rubinsky
747ff071cd
Merge pull request #62210 from MarcusElg/autocomplete-noslider 2022-06-19 19:30:50 +03:00
Marcus Elg
46bbbd9770 Allow autocompletion of "noslider" in export_range 2022-06-19 17:11:49 +02:00
Rémi Verschelde
c2f4e734e1
Merge pull request #62217 from georgjz/issue62206
Move definition of const int ERROR_CODE to be reachable by all functi…
2022-06-19 16:44:39 +02:00
markdibarry
459228cdb3 Add explicit deferred flags 2022-06-19 10:04:53 -04: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
958254ec3e
Merge pull request #60798 from Calinou/doc-os-cmdline-args 2022-06-19 14:09:13 +02:00
Rémi Verschelde
833b16cdf0
Merge pull request #62142 from Calinou/doc-gui-incremental-search 2022-06-19 14:08:24 +02:00
Rémi Verschelde
f7d2dcc878 i18n: Sync classref translations with Weblate
(cherry picked from commit 5478afdb1e)
2022-06-19 14:00:21 +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
smix8
55923ade68 Add navigation layer bitmask helper functions
Adds helper functions to work with the navigation layer bitmask.
2022-06-19 13:47:19 +02:00
Rémi Verschelde
9716244f47
Merge pull request #62205 from akien-mga/doctest-2.4.9 2022-06-19 13:21:33 +02:00
Rémi Verschelde
7496b62c34
Merge pull request #62207 from Bromeon/feature/gdextension-loading-errors 2022-06-19 12:25:01 +02:00
Rémi Verschelde
bcd783fa9a doctest: Update to 2.4.9 2022-06-19 10:41:56 +02:00
Jan Haller
d2dba74bae GDExtension: print error messages for different error paths during loading 2022-06-19 10:14:41 +02:00
Rémi Verschelde
01efb93842
Merge pull request #62195 from hakuhan/fix-animate-physical-bone-not-working-bug
Fix physical bone is not animated in running project.
2022-06-19 09:25:46 +02:00
Rémi Verschelde
b6191261a1
Merge pull request #62197 from timothyqiu/aniplayer-hint
Remove argument option for the `remove_animation` that no longer exists
2022-06-19 09:15:26 +02:00
Rémi Verschelde
9388a286a2
Merge pull request #62186 from Calinou/scaling-3d-change-in-editor
Automatically update the editor viewport when 3D scaling options are changed
2022-06-19 09:06:19 +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
514624c58e
Remove spaces in SubResource()/ExtResource/Resource() in text resources
These spaces are not needed for the file to be successfully parsed.

Other types such as Vector3 are no longer serialized with spaces
after the opening parenthesis and before the closing parenthesis,
so this is also more consistent.
2022-06-19 05:54:03 +02:00
Haoyu Qiu
74e15ea35f Remove argument option for the remove_animation that no longer exists 2022-06-19 11:08:19 +08:00
baihan
da7eb96804 Fix physical bone is not animated in running project. 2022-06-19 09:46:34 +08:00