Commit Graph

6243 Commits

Author SHA1 Message Date
Fredia Huya-Kouadio 367061cf9c Follow up to https://github.com/godotengine/godot/pull/76399 to fix input ANR in the Godot Android editor 2023-05-11 19:06:03 -07:00
Raul Santos a34207b812
Reorder PropertyHint enum to avoid breaking compat
Also syncs the Core enum with the C# enum for the source generators.
2023-05-12 01:48:07 +02:00
Pedro J. Estébanez 9077bb9232 Fix multiple issues in WorkerThreadPool
- Fix project settings being ignored.
- Made usages of `native_thread_allocator` thread-safe.
- Remove redundant thread-safety from `low_priority_threads_used`, `exit_threads`.
- Fix deadlock due to unintended extra lock of `task_mutex`.
2023-05-11 16:10:09 +02:00
Ninni Pipping 71ee65dc57 Enable shadow warnings and fix raised errors 2023-05-11 16:00:59 +02:00
Rémi Verschelde fd4a06c515
Merge pull request #76906 from lawnjelly/safe_acos4_2
Make acos and asin safe
2023-05-11 13:33:37 +02:00
lawnjelly 50c5ed4876 Make acos and asin safe
A common bug with using acos and asin is that input outside -1 to 1 range will result in Nan output. This can occur due to floating point error in the input.

The standard solution is to provide safe_acos function with clamped input. For Godot it may make more sense to make the standard functions safe.
2023-05-11 08:34:34 +01:00
clayjohn f83a90192f Revert "Add API for HSL conversion"
This reverts commit 0b7fd664c1.
2023-05-10 17:45:56 -03:00
Pedro J. Estébanez 045401c64e Use WorkerThreadPool for threaded resource loading 2023-05-10 18:53:41 +02:00
Pedro J. Estébanez b6647a5808 Avoid sync issues in materials with scheduled shader updates 2023-05-10 18:53:41 +02:00
Pedro J. Estébanez 5a4613f551 Avoid sync issues in resources with deferred updates 2023-05-10 18:53:41 +02:00
Pedro J. Estébanez 8983b20ccd Avoid interaction issues between resource loading threads 2023-05-10 18:53:41 +02:00
Rémi Verschelde 74c34aed38
Merge pull request #76905 from Faless/mbedtls/no_weak_crypto_no_patch
mbedTLS: disable weak crypto and TLS versions.
2023-05-10 12:47:31 +02:00
Rémi Verschelde 74e5ad5c60
Merge pull request #76165 from and-rad/safe-credentials
Store sensitive export options in dedicated credentials file
2023-05-10 12:47:07 +02:00
Rémi Verschelde 5271186f2f
Merge pull request #75901 from reduz/refactor-node-processing
Refactor Node Processing to allow Scene Multithreading
2023-05-10 12:46:44 +02:00
Andreas Raddau fab160ce70 Store sensitive export options in dedicated credentials file 2023-05-10 11:40:17 +02:00
Fabio Alessandrelli 024a4b1f2a mbedTLS: disable weak crypto and TLS versions.
This commit adds a new mbedTLS configuration header to customize the
built-in library (and can be optionally replaced by a platform-specific
one).

Currently, it disables most weak cryptographic functions (with the
notable exceptions of MD5 and SHA-1), along with removing support for
TLS versions 1.0 and 1.1 (making TLSv1.2 the only supported one).
2023-05-10 11:13:19 +02:00
Rémi Verschelde 3b8c828159
Merge pull request #69988 from smix8/navigation_rvo_rework_4.x
Rework Navigation Avoidance
2023-05-10 10:19:12 +02:00
Fabio Alessandrelli 081808be49
Merge pull request #75721 from ScorpionInc/Expose_String_functions_for_X509Certificate
Exposes String functions for X509Certificates
2023-05-10 05:26:55 +02:00
smix8 a6ac305f96 Rework Navigation Avoidance
Rework Navigation Avoidance.
2023-05-10 05:01:58 +02:00
ScorpionInc a5b867391e Exposes String functions for X509Certificates
Exposes String functions for X509Certificates via two function calls: save_to_string() and load_from_string(str).
2023-05-09 19:02:33 -04:00
Rémi Verschelde 6bca6beea3
Merge pull request #76878 from RedworkDE/tests-fix-errors
Fix various errors when running the unit tests
2023-05-09 19:28:54 +02:00
Rémi Verschelde ccf8029910
Merge pull request #76730 from AThousandShips/doc_order
Make documentation sorting use natural order
2023-05-09 19:28:38 +02:00
Rémi Verschelde 0f444f101a
Merge pull request #76661 from bonjorno7/hsl
Add API for HSL conversion
2023-05-09 19:28:35 +02:00
Rémi Verschelde 10ed1d87df
Merge pull request #76490 from dsnopek/dump-gdscript-docs
Dump API docs from inline GDScript comments using --doctool --gdscript-docs PATH
2023-05-09 19:28:30 +02:00
Juan Linietsky 98c655ec8d Refactor Node Processing
* Node processing works on the concept of process groups.
* A node group can be inherited, run on main thread, or a sub-thread.
* Groups can be ordered.
* Process priority is now present for physics.

This is the first steps towards implementing https://github.com/godotengine/godot-proposals/issues/6424.
No threading or thread guards exist yet in most of the scene code other than Node. That will have to be added later.
2023-05-09 19:17:51 +02:00
RedworkDE 8e7afec479 Fix various errors when running the unit tests
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2023-05-09 18:40:56 +02:00
Ninni Pipping 6bccdec7a1 Make documentation sorting use natural order 2023-05-09 17:47:52 +02:00
Rémi Verschelde ee931e2be5
Merge pull request #76814 from KoBeWi/underdata
Don't refresh inspector when changing internal meta
2023-05-09 17:44:49 +02:00
Rémi Verschelde 58ea42e4ab
Merge pull request #76755 from RandomShaper/fix_allocator_thsafe
Add missing thread safety to PagedAllocator
2023-05-09 17:44:45 +02:00
Rémi Verschelde 5ade250c7d
Merge pull request #76735 from AThousandShips/natural_cmp
Add `naturalcasecmp_to` function to `String`
2023-05-09 17:44:37 +02:00
bonjorno7 0b7fd664c1 Add API for HSL conversion
Math ported pretty much 1:1 from https://en.wikipedia.org/wiki/HSL_and_HSV
Style doesn't match the existing HSV code exactly, but should be close enough.
2023-05-09 17:43:10 +02:00
Pedro J. Estébanez 341b95871c Add missing thread safety to PagedAllocator 2023-05-08 18:38:56 +02:00
David Snopek a64137d5dd Dump API docs from inline GDScript comments using --doctool --gdscript-docs PATH 2023-05-08 11:00:29 -05:00
kleonc 0b944e1a68 Make `LocalVector` respect its `tight` template parameter 2023-05-08 15:22:58 +02:00
Rémi Verschelde 491a437df5
Merge pull request #76540 from reduz/redo-remote-filesystem
Redo how the remote filesystem works
2023-05-08 13:52:51 +02:00
Rémi Verschelde 3e6a731904
Merge pull request #76418 from reduz/method-bind-validated-call
Add ValidatedCall to MethodBind
2023-05-08 13:52:42 +02:00
Rémi Verschelde 353efd774f
Merge pull request #76754 from RandomShaper/mq_less_lock
Avoid redundant locking in CallQueue
2023-05-08 12:20:53 +02:00
Rémi Verschelde fe6cd734ad
Merge pull request #76748 from KoBeWi/has_feature(fast)
Cache feature list in `OS.has_feature()`
2023-05-08 12:20:49 +02:00
Rémi Verschelde 0daa634f24
Merge pull request #76747 from RandomShaper/fix_mq_redundant
Mend some checks in CallQueue
2023-05-08 12:20:45 +02:00
Rémi Verschelde 466e99d57c
Merge pull request #76728 from RedworkDE/signal-disconnect-loop
Prevent infinite loop when signal disconnection fails during object deletion
2023-05-08 12:20:41 +02:00
Rémi Verschelde e85f6871ba
Merge pull request #76561 from KoBeWi/most_obscure_class_that_has_ever_existed
Improve and document PackedDataContainer
2023-05-08 12:20:33 +02:00
Rémi Verschelde 49ba2e0447
Merge pull request #76399 from RandomShaper/fix_android_input_anr
Allow concurrent buffering and dispatch of input events
2023-05-08 12:20:21 +02:00
Juan Linietsky 273a6eeb66 Redo how the remote filesystem works
Instead of reading files over the network, the new version uses a local file cache and only updates files when it changes.

The original remote filesystem was created 14 years ago, when ethernet was faster than hard drives or even flash. Also, mobile devices have a very small amount of storage.
Nowadays, this is no longer the case so the approach is changed to using a persistent cache in the target device.

Co-authored-by: m4gr3d
2023-05-08 11:57:54 +02:00
Pedro J. Estébanez f369ed9223 Allow concurrent buffering and dispatch of input events 2023-05-08 09:15:16 +02:00
kobewi 5e3a985c91 Don't refresh inspector when changing internal meta 2023-05-07 22:12:22 +02:00
Ninni Pipping 46a7018e3c Add `naturalcasecmp_to` function to `String`
Functions as a complement to `naturalnocasecmp_to`
2023-05-07 10:17:53 +02:00
RedworkDE 1324c7d06a Avoid making unnecessary copies of `LocalVector` 2023-05-06 20:39:03 +02:00
Pedro J. Estébanez 5a0c186bc0 Avoid redundant locking in CallQueue 2023-05-05 19:39:11 +02:00
Clay John 7a13cf9aeb
Merge pull request #75510 from SilicDev/string_erase
Reimplement `String.erase()` as immutable method
2023-05-05 10:03:49 -07:00
Clay John 610877e326
Merge pull request #72288 from MewPurPur/use-string-repeat
Use `String.repeat()` to optimize several String methods
2023-05-05 09:56:48 -07:00
Pedro J. Estébanez 8654e90759 Mend some checks in CallQueue 2023-05-05 17:37:44 +02:00
kobewi 30d0dd43c5 Cache feature list in OS.has_feature() 2023-05-05 17:34:49 +02:00
RedworkDE 1a4eccf7e7 Prevent infinite loop when signal disconnection fails during object deletion. 2023-05-05 13:34:25 +02:00
Samuele Panzeri 59f04e16b8 Support long path in file access on windows
Changed windows file access file to check for path length and use the \\?\ long format when needed
2023-05-05 10:04:39 +02:00
SilicDev 6fa4f71ca6 Reimplement String.erase 2023-05-04 00:52:35 +02:00
VolTer 6b84e258d2 Use String.repeat() in more places 2023-05-01 02:27:46 +02:00
Juan Linietsky 1c93606e47 Add ValidatedCall to MethodBind
* This should optimize GDScript function calling _enormously_.
* It also should simplify the GDScript VM considerably.

NOTE: GDExtension calling performance has most likely been affected until going via ptrcall is fixed.
2023-04-30 20:01:26 +02:00
kobewi c08e96ef0d Improve and document PackedDataContainer 2023-04-29 00:29:40 +02:00
Yuri Sizov 26fb911f79
Merge pull request #72095 from anvilfolk/gd-docs
Improve GDScript documentation generation & behavior
2023-04-26 16:54:25 +02:00
Rémi Verschelde 51951a59d6
Merge pull request #76467 from RandomShaper/doc_cache_peace_of_mind
Add peace-of-mind checks to API hash caching
2023-04-26 11:36:09 +02:00
Rémi Verschelde cc0edf810f
Merge pull request #74106 from dalexeev/astar-grid-2d-negative-coords
Allow negative coordinates in `AStarGrid2D`
2023-04-26 11:35:55 +02:00
Pedro J. Estébanez a79e71ad58 Add peace-of-mind checks to API hash caching 2023-04-26 10:44:52 +02:00
Danil Alexeev 76ee3d4f31
Allow negative coordinates in `AStarGrid2D` 2023-04-26 09:29:33 +03:00
Rémi Verschelde e0e93ce094
Merge pull request #72421 from myaaaaaaaaa/signal-hashmap
Store Object signals in a HashMap rather than a VMap
2023-04-25 19:26:35 +02:00
Rémi Verschelde efb42c3101
Merge pull request #75447 from bruvzg/brotli_packedarray
Expose brotli decompression to the scripting API.
2023-04-25 16:16:56 +02:00
Rémi Verschelde aa622dae53
Merge pull request #76431 from RandomShaper/fix_doc_help_cache
Improve reliability of editor docs cache
2023-04-25 14:44:17 +02:00
Rémi Verschelde 53191928e5
Merge pull request #76345 from reduz/fix-thread-ids
Fix thread IDs.
2023-04-25 13:20:46 +02:00
Pedro J. Estébanez e1ce0340b7 Improve reliability of editor docs cache 2023-04-25 11:40:56 +02:00
Rémi Verschelde 15d952147c
Merge pull request #74101 from RandomShaper/fix_gds_obj_temps
Fix edge cases of object lifetime when signals involved
2023-04-25 09:58:17 +02:00
Rémi Verschelde 76d33d187f
Merge pull request #69698 from Daylily-Zeleen/daylily-zeleen/show_in_explorer
Implement and expose OS::shell_show_in_file_manager()
2023-04-25 09:57:27 +02:00
Daylily-Zeleen b12ced0a26 Implement and expose OS::shell_show_in_file_manager() 2023-04-25 11:29:32 +08:00
Rémi Verschelde 14c582bca8
Merge pull request #76403 from bitsawer/reduce_hashmap_size
Optimize HashMap size
2023-04-24 16:49:12 +02:00
Rémi Verschelde f64544a960
Merge pull request #76311 from aaronfranke/t2d-basis-det
Expose `determinant` in Transform2D, rename internal method
2023-04-24 16:46:24 +02:00
bitsawer 723f2f342f Optimize HashMap size 2023-04-24 16:18:58 +03:00
Juan Linietsky a37c30dfc9 Fix thread IDs.
On Linux, thread IDs were not properly assigned with the current approach.
The line:
`std::thread new_thread(&Thread::callback, _thread_id_hash(thread.get_id()), p_settings, p_callback, p_user);`
does not work because the thread ID is not assigned until the thread starts.

This PR changes the behavior to use manually generated thread IDs. Additionally, if a thread is (or may have been created) outside Godot, the method `Thread::attach_external_thread` was added.
2023-04-24 15:13:58 +02:00
bruvzg 628f3b2f79
[OS] Implement and expose to scripting APIs `get_memory_info` method instead of old `get_free_static_memory`. 2023-04-24 14:08:55 +03:00
Aaron Franke 290b09b36c
Expose `determinant` in Transform2D, rename internal method 2023-04-22 13:44:14 -05:00
ocean (they/them) 6783ff69c0 Improve and fix GDScript documentation generation & behavior
Removes documentation generation (docgen) from the GDScript compiler to
its own file. Adds support for GDScript enums and signal parameters and
quite a few other assorted fixes and improvements.
2023-04-21 10:17:30 -04:00
Paweł 899da22002 Fix lerp error message 2023-04-21 10:01:59 +02:00
Rémi Verschelde e83d3060a8
Merge pull request #76259 from kleonc/callable-error-text-expected-arg-count-fix
Fix expected argument count in Callable call error text
2023-04-20 12:43:42 +02:00
kleonc 7a871212ed Fix expected argument count in Callable call error text 2023-04-19 16:06:00 +02:00
bruvzg 520a8d8ed2
Add project manager / editor initial screen settings, implement DisplayServer.get_keyboard_focus_screen method. 2023-04-19 08:54:53 +03:00
Danil Alexeev 36bedd341a
Fix misuses of error macros 2023-04-18 10:20:48 +03:00
Haoyu Qiu 6cd8e706fa Unify descriptions of vector methods
* is_equal_approx
* normalize
* length_squared
* posmod
* posmodv
2023-04-14 23:31:33 +08:00
Pedro J. Estébanez f5602869da Cache classes editor help 2023-04-13 12:16:47 +02:00
Rémi Verschelde 68b8156fe3
Merge pull request #76014 from AThousandShips/image_astc
Expose more compression formats in Image and fix compress check
2023-04-13 09:57:53 +02:00
Rémi Verschelde 1a90031f3c
Merge pull request #76001 from pkowal1982/version
Fix Windows StringFileInfo structure
2023-04-13 09:56:17 +02:00
Ninni Pipping cf64e2fa47 Expose more compression formats in Image and fix compress check
Check for compressing ASTC checked if the function for BPTC was present
2023-04-13 09:39:03 +02:00
Paweł e15a086bb9 Fix Windows StringFileInfo structure 2023-04-12 22:08:49 +02:00
Pedro J. Estébanez 33f674d0f7 Complete support of callables of static methods 2023-04-12 18:12:19 +02:00
Juan Linietsky 6055e4424a Redo of Message Queue
* Functionality moved to a base class CallQueue, which will be used for inter-thread communication within the scene.
* MessageQueue now uses growing pages, starts from a single 4k page.
* Limit still exists, but because its not allocated by default, it can be much higher.
2023-04-12 16:31:23 +02:00
Rémi Verschelde 6fedcfab3e
Merge pull request #75805 from MewPurPur/optimize-delaunay
Optimize 2D Delaunay and make it more readable
2023-04-11 19:40:32 +02:00
Rémi Verschelde 5722d6e3cc
Merge pull request #75451 from bruvzg/web_mac_keys
[Web] Detect host OS and use macOS keys on mac hosts.
2023-04-11 19:40:16 +02:00
Rémi Verschelde 347a8e20ae
Merge pull request #69324 from RedMser/advanced-settings-errors
Make it easier to solve warnings/errors referring to project settings
2023-04-11 19:39:53 +02:00
Pedro J. Estébanez 2f4168daeb Fix edge cases of object lifetime when signals involved 2023-04-11 17:27:39 +02:00
bruvzg a5009f4d3c
[Web] Detect host OS and use macOS keys on mac hosts. 2023-04-11 10:58:54 +03:00
tefusion 1514376e46 Fix HTTPClient _request using wrong size
This only affects HttpClient in GDScript.
2023-04-10 11:45:41 +02:00
VolTer 846f9e106c Optimize 2D Delaunay and make it more readable
Co-authored-by: Dimitri Tabatadze <tabatadzedima@protonmail.com>
2023-04-09 00:52:15 +02:00
Juan Linietsky 8950943356 Optimize Object::get_class_name
* Run the static function once per class instead of one per instance.
* Saves some memory in Object derived classes.
2023-04-08 19:25:50 +02:00
Juan Linietsky 223ce4fcb9 Optimize Node::add_child validation
Adding 10k nodes is almost twice as fast.
2023-04-07 13:18:47 +02:00
bendn ca0feabbb0
add `hex_decode()` to `String` 2023-04-05 19:44:00 +07:00
Bartłomiej T. Listwon bff0c71e2e Fix moving position indicator out of bounds in FileAccessMemory 2023-04-04 10:10:25 +02:00
Rémi Verschelde cef3587427
Merge pull request #74120 from RandomShaper/res_loader_teardown
Clear resource load tasks at exit
2023-04-03 15:59:51 +02:00
Rémi Verschelde 7aa224291b
Merge pull request #73200 from 0xafbf/fix-guide-button-win
Fix guide button detection with XInput and Xbox Series controllers
2023-04-03 15:58:36 +02:00
Yuri Sizov ee2cc347c6 Add support for icons in GDExtension classes
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-03-31 21:39:02 +02:00
bruvzg 0e4bd964cc
Expose brotli decompression to the scripting API. 2023-03-29 22:43:36 +03:00
Ron B. Yeh 40ae917db8 Fix typo on "autoremapping".
Update warning strings to be consistent with the rest of the code base, which uses "Command or Control".
2023-03-28 16:48:18 -07:00
RedMser ed960453b7 Make solving project setting errors easier
Show full project setting path in error messages.
Force filtering for advanced settings if filter is not empty.
2023-03-27 08:10:35 +02:00
Yuri Sizov e4e63f976a
Merge pull request #73225 from bruvzg/wchar_to_from
Add GDScript `to_wchar_buffer` and `get_string_from_wchar` functions.
2023-03-25 15:05:59 +01:00
kobewi 8f8178bda6 Fix auto-translations in editor 2023-03-22 23:57:12 +01:00
bruvzg d72b563250
Add GDScript `to_wchar_buffer` and `get_string_from_wchar` functions. 2023-03-21 15:39:54 +02:00
bruvzg 09465f3fe6
Remove (or make verbose only) various debug prints. 2023-03-20 08:14:18 +02:00
Yuri Sizov 3596443de1
Merge pull request #74727 from AThousandShips/project_settings
Exposing more project settings for documentation
2023-03-15 15:59:10 +01:00
Ninni Pipping bd30847e59 Exposing more project settings for documentation 2023-03-15 14:25:40 +01:00
Yuri Sizov 6f4646c6bf
Merge pull request #74909 from AThousandShips/array_slice
Fix `Array.slice()` rounding for `abs(step) != 1`
2023-03-15 14:25:16 +01:00
Ninni Pipping 10f385fb79 Fix `Array.slice()` rounding for `abs(step) != 1` 2023-03-14 15:46:45 +01:00
Felipe Jorge 999f3e2c13 use the unicode replacement char on error
update tests

also fix utf8 and ascii parse functions to use the replacement char

created a _replacement_char const inside the string
2023-03-12 11:46:56 -03:00
Ninni Pipping c8c43997c7 Fix type check for max/min 2023-03-11 15:08:34 +01:00
Mario Liebisch 4e72e09343
Added the missing second case for string keys 2023-03-11 01:08:23 +01:00
George Marques a1e3ef919c
Add operator NOT for all Variant types 2023-03-10 15:58:55 -03:00
Mario Liebisch 46e5311d5a
Fixed read-only dictionaries adding missing keys
When querying a non-existing key on a read-only
dictionary, the key was still added (albeit never set).

This fixes #74726.
2023-03-10 17:26:34 +01:00
Ninni Pipping 3de5332fcb Document `editor/naming/scene_name_casing` setting
Moved definitions of editor related project settings to `editor/register_editor_types.cpp` to make documentation work.
2023-03-09 21:17:49 +01:00
Ninni Pipping e6a9e0cdec Fix Variant hashing for floats
Incorrectly hashed floats as single precision
2023-03-08 12:52:50 +01:00
Haoyu Qiu 49400e0c1c Fix crash when dumping extension API in a non-writable directory 2023-03-08 15:05:44 +08:00
Rémi Verschelde d665455a23
Merge pull request #74361 from bitsawer/fix_clang_tidy_warnings
Fix several clang-tidy bool literal conversion warnings
2023-03-07 10:33:30 +01:00
Rémi Verschelde 281a5c9e35
Merge pull request #74213 from timothyqiu/friendly-pot
Improve POT Generation dialog
2023-03-07 10:33:06 +01:00
Jakub Mateusz Marcowski 0a55a32085
Modify JSON.stringify so that it doesn't create unnecessary empty lines from empty arrays 2023-03-07 10:30:28 +01:00
Rémi Verschelde e80ab423ef
Merge pull request #73793 from myaaaaaaaaa/init-race
Fix some race conditions that happen during initialization
2023-03-06 19:57:38 +01:00
myaaaaaaaaa d337ed1c64 Fix data races in startup/teardown 2023-03-06 11:47:12 -05:00
Rémi Verschelde 0b98b470cc
Merge pull request #73716 from bruvzg/improve_locale_selection
Improve layout direction/locale automatic selection.
2023-03-06 10:57:56 +01:00
Rémi Verschelde 2832ef434d
Merge pull request #74248 from Chaosus/randfn_fix
Fix randfn to prevent generating of nan values
2023-03-05 13:24:20 +01:00
bitsawer 1736137bc9 Fix several clang-tidy bool literal conversion warnings 2023-03-04 16:38:35 +02:00
Yuri Rubinsky d11bb866ff Fix randfn to prevent generating of nan values 2023-03-03 16:43:48 +03:00
Haoyu Qiu 584136271c Improve POT Generation dialog
* Avoid "property not found" warnings when adding a file for the first
  time.
* When no file is added, disable the Generate POT button instead of
  printing a warning.
2023-03-03 18:18:58 +08:00
Rémi Verschelde c329acafed
Merge pull request #74226 from timothyqiu/privacy-please
Hide internal settings from the classref
2023-03-03 11:08:16 +01:00
Rémi Verschelde bdb3738023
Merge pull request #74166 from RandomShaper/fix_res_loader_read_freed
Fix crash in resource load
2023-03-03 11:06:15 +01:00
Rémi Verschelde d76c1c4f45
Merge pull request #73651 from hakro/editor-freelook-physical-shortcuts
Use physical shortcuts for freelook navigation in the editor
2023-03-03 11:02:53 +01:00
Rémi Verschelde 4fceabc30c
Merge pull request #73862 from RandomShaper/fix_subthreaded_res_load
Lift restriction that resource load thread requester has to be the initiator
2023-03-02 11:26:54 +01:00
Haoyu Qiu 1e0b8d6240 Hide internal settings from the classref
Default actions are no longer internal since we want to document them.
They are still hidden from the Project Setting dialog because we hid the
whole `input/` group manually.
2023-03-02 17:52:37 +08:00
Pedro J. Estébanez 047671df0f Fix crash in resource load 2023-03-01 18:30:16 +01:00
Pedro J. Estébanez b8b6a05c17 Clear resource load tasks at exit 2023-02-28 18:56:21 +01:00
Rémi Verschelde 491ded1898
Minor typo and docs URL fixes 2023-02-28 13:38:01 +01:00
Rémi Verschelde 20d6a698c7
Sync controller mappings DB with SDL2 community repo
Synced with gabomdq/SDL_GameControllerDB@436c7e3d54
2023-02-27 15:59:50 +01:00
voidedWarranties bd5ab9f9b4 Remove unused `ScriptLanguage` methods 2023-02-26 22:30:56 -08:00
Pedro J. Estébanez b60197d1c6 Fix deadlock in cyclic resource load 2023-02-26 17:19:48 +01:00
myaaaaaaaaa 1ec5381c16 Store Object signals in a HashMap rather than a VMap 2023-02-25 18:44:09 -05:00
Rémi Verschelde 3863199ab9
Merge pull request #73881 from vnen/max-min-only-for-numbers
Make max() and min() global functions only accept numbers
2023-02-25 01:36:19 +01:00
Dmitrii Maganov c5f7a89b0f Core: Identity compare objects by id, not by pointers 2023-02-24 23:33:29 +02:00
George Marques ed81b165eb
Make max() and min() global functions only accept numbers
The behavior for those are not well defined for non-numeric arguments.
To avoid confusion the other types are forbidden.
2023-02-24 14:06:11 -03:00
Pedro J. Estébanez c51229491d Lift restriction that resource load thread requester has to be the initiator 2023-02-24 13:19:31 +01:00
Rémi Verschelde b87f9f679e
Merge pull request #73647 from RandomShaper/fix_threaded_load
Fix threading issues in resource loading
2023-02-23 11:04:55 +01:00
mashumafi 2a12213c31 Fix: Typed arrays aren't working with + 2023-02-22 18:42:26 -05:00
bruvzg 82d7923c65
Improve layout direction/locale automatic selection. 2023-02-22 08:37:14 +02:00
bitsawer c56058fe9a Fix FileAccess last open error flag update 2023-02-21 17:02:21 +02:00
Rémi Verschelde 6acc7f03ed
Merge pull request #73595 from KoBeWi/missingno
Fix missing directories when exporting from cmd
2023-02-21 11:14:34 +01:00
Hakim 52de40310a Use physical shortcuts for freelook navigation in the editor 2023-02-21 10:56:14 +01:00
Rémi Verschelde e693a3debb
Merge pull request #73422 from bruvzg/no_alt
[macOS] Replace all `Alt/Option+Letter/Number` default shortcuts to avoid conflicts with special character input.
2023-02-20 22:31:11 +01:00
Pedro J. Estébanez b862fc8c9b Fix cases of resource load tasks not being awaitable 2023-02-20 21:20:05 +01:00
Pedro J. Estébanez 618bb173ba Fix race condition in resource loader when a load task is reused 2023-02-20 21:20:05 +01:00
bruvzg b3c64675cc
[macOS] Replace all `Alt/Option+Letter/Number` default shortcuts to avoid conflicts with special character input. 2023-02-20 22:02:47 +02:00
Pedro J. Estébanez daa29d1007 Implement ConditionVariable 2023-02-20 20:43:31 +01:00
kobewi ff42cb0d1e Fix missing directories when exporting from cmd 2023-02-20 17:39:38 +01:00
lawnjelly f42a837e92 BVH - fix lockguards for multithread mode
Due to a lack of variable name, the BVH lock guards lifetimes previously did not cover the whole function call.

This is fixed, and the warning message for contention is removed as multithread mode seems to be desired in production in 4.x.
2023-02-20 15:15:18 +00:00
Rémi Verschelde 2057d7344e
Merge pull request #73590 from vnen/gdscript-global-scope-enums
Make global scope enums accessible as types in GDScript
2023-02-20 15:41:45 +01:00
Rémi Verschelde 32a29977fb
Merge pull request #73616 from voidedWarranties/resourcecache_thread_safe
Make `ResourceCache::get_cached_resources` thread-safe
2023-02-20 11:29:08 +01:00
voidedWarranties c586835541 Make `ResourceCache::get_cached_resources` thread-safe 2023-02-20 01:02:08 -08:00
Michael Alexsander 9a25d56ed9 Revert `Input.get_vector()` back to checking raw strength 2023-02-19 22:52:35 -03:00
George Marques 75f16b8167
Make global scope enums accessible as types in GDScript
Add functions to CoreConstant so enums can be properly deduced. Also add
the enums in release builds to make consistent with ClassDB enums and
avoid differences in script compilation between debug and release.
2023-02-19 13:00:07 -03:00
Rémi Verschelde be3e5c5b8c
Merge pull request #73254 from j8r/fix-standard-gamepad-triggers
Fix Standard Gamepad Mapping triggers
2023-02-19 01:01:52 +01:00
Rémi Verschelde e80e21b5e8
Merge pull request #73460 from myaaaaaaaaa/merge-unordered
Fix PagedArray.merge_unordered() sometimes dropping pages
2023-02-17 13:42:01 +01:00
Rémi Verschelde b2584629c8
Merge pull request #73195 from timothyqiu/weblate-comments
Improvements and fixes based on Weblate comments
2023-02-17 09:55:39 +01:00
myaaaaaaaaa 6b0f253a45 Fix PagedArray.merge_unordered() dropping pages 2023-02-16 19:58:27 -05:00
bruvzg bc95b0b171
Restore FileAccess.close method. 2023-02-16 15:34:20 +02:00
voidedWarranties 0a58025e40 Add missing virtual bind for `ScriptExtension::_get_global_name` 2023-02-15 19:48:01 -08:00
Andrés Botero f249a9ce19 Added guide button to controller db, changed to use secret XInput function. 2023-02-15 01:01:09 -05:00
Rémi Verschelde 570b04dec4
Merge pull request #73265 from clayjohn/tangent-oct
Bias octahedral tangent y axis to avoid errors around 0
2023-02-14 11:05:52 +01:00
clayjohn 5a800e68f1 Bias octahedral tangent y axis to avoid errors around 0 2023-02-13 19:24:14 -08:00
Julien Reichardt 0cec4fcc65
Fix Standard Gamepad Mapping triggers 2023-02-13 23:44:43 +01:00
Dmitrii Maganov 9cb2da89d6 GDScript: Fix usage of ints with typed array of floats 2023-02-13 22:06:38 +02:00
Ricardo Subtil e841f13cdc Change message of unknown joypad property from error to warning 2023-02-13 14:30:57 +00:00
Rémi Verschelde 4a2c2170b4
Merge pull request #62921 from cdemirer/fix-variant-in
Fix `Variant::in()` error on invalid `evaluate`
2023-02-13 12:59:02 +01:00
Rémi Verschelde edc2686687
Merge pull request #49469 from groud/remove_variant_operator
Make sure Variant is not implicitely cast when using operator[]
2023-02-13 12:57:04 +01:00
cdemirer 44b2747dfd
Fix `Variant::in()` error on invalid `evaluate` 2023-02-13 12:37:41 +01:00
Gilles Roudière a825f955ab Make sure Variant is not implicitely cast when using operator[]
Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
2023-02-13 10:50:22 +01:00
Haoyu Qiu 84aee17901 Improvements and fixes based on Weblate comments
* Description of `ui_text_submit` action should be "Submit Text" instead of "Text Submitted".
* Spell out "Animation" instead of using "Anim.".
* Treat "Max" as regular word instead of writing "Max.".
* Use generic "Set %s" for action name instead of a dedicated "Set target_position".
* Add translator comment for:
    * "Inclusive" and "Self" in the profiler.
    * Places where it needs the context about being an editor progress label.
    * "Duplicated Animation Name" since it's refering to the new name of a duplicated animation.
    * Disambiguation of "View Plane Transform", "Paste Selects" and "Display Normal".
* Fix wrong undo action name for renaming an input action.
* Fix missing end quote in a shader error message.
* In class reference:
    * Fix duplicated "if" in the description of `signf()`.
    * Fix mismatched example output in `String.operator %()`.
    * Fix typo in the description of `Decal.texture_emission`.
    * Unify description of `String.match()` and `StringName.match()`.
2023-02-13 15:22:18 +08:00
Rémi Verschelde 27b2260460
Merge pull request #73179 from akien-mga/sync-gamecontrollerdb
Sync controller mappings DB with SDL2 community repo
2023-02-12 22:35:27 +01:00
Rémi Verschelde 99ae2d5212
Sync controller mappings DB with SDL2 community repo
Synced with gabomdq/SDL_GameControllerDB@2e7bc45a45
2023-02-12 22:28:03 +01:00
Julien Reichardt e926e1bb34
Add PS3 controller guide button 2023-02-12 16:46:11 +01:00
AndreaCatania 02f2107620
Improve error reporting when the Message Queue is out of Memory.
The function `statistics()`, called when the MessageQueue is out of memory,
will still use the MessageQueue so it crashes.
Moving the error above will improve the behavior since the developer will
find the crash reasons and the instruction on how to fix it.
2023-02-11 22:45:14 +01:00
Rémi Verschelde 8f46656ae4
Merge pull request #72316 from 0xafbf/component-wise-minmax
Added component-wise `min` and `max` functions for vectors
2023-02-11 22:05:12 +01:00
Andrés Botero a90e151b2a Added component-wise `min` and `max` functions for vectors 2023-02-11 15:03:11 -05:00
Rémi Verschelde f011d8ca9c
Math: Prevent division by zero in posmod
Fixes #43932.

Co-authored-by: David Hoppenbrouwers <david@salt-inc.org>
2023-02-11 20:44:45 +01:00
Rémi Verschelde 532381562e
Merge pull request #72654 from RandomShaper/ptrcall_ret_raw_obj
Avoid losing references to objects in the native-scripting boundary
2023-02-11 15:35:01 +01:00
Rémi Verschelde 5c5f1452db
Merge pull request #73075 from timothyqiu/ttrn-single
Don't warn when using `TTRN()` in a language without plurals
2023-02-11 14:35:03 +01:00
Haoyu Qiu 52b4014362 Don't warn when using TTRN() in a language without plurals 2023-02-11 13:21:57 +08:00
Emmanuel Leblond 58f4139164
Add Engine::unregister_script_language and make Engine::register_script_language returns a Error 2023-02-10 19:50:24 +01:00
Haoyu Qiu 26581ca574 Add some missing translatable editor strings 2023-02-10 16:55:50 +08:00
Rémi Verschelde 91409fe0c8
Merge pull request #72964 from AThousandShips/input_early_exit
Perform early exit in Input::is_anything_pressed
2023-02-09 23:42:12 +01:00
Rémi Verschelde ab4a7b2b77
Merge pull request #72547 from MewPurPur/string-split-fix
Fix String.split() with empty string and delimeter
2023-02-09 16:12:57 +01:00
Ninni Pipping 29031700ba Perform early exit in Input::is_anything_pressed 2023-02-09 11:43:23 +01:00