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
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