Commit Graph

6461 Commits

Author SHA1 Message Date
Matthew Jensen 8b188bda52 Consider all triangles for retention in Delaunay Triangulation 2023-06-17 11:18:30 -04:00
Rémi Verschelde c209ad222c
Merge pull request #78326 from KoBeWi/0110010001100101011000110110010101101110011000110111100101011111011001010110010001101001011101000110111101110010
Fix missing UID handling for binary formats
2023-06-16 16:53:38 +02:00
Rémi Verschelde c65aba7aff
Merge pull request #78321 from ajreckof/fix-wrong-alphabetical-order-in-autocompletion-sorting
Fix wrong order in autocompletion sorting with empty string to complete.
2023-06-16 16:52:27 +02:00
ajreckof e9a2060b27 Fix wrong alphabetical order in autocompletion sorting.
Co-Authored-By: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2023-06-16 14:04:07 +02:00
kobewi 313c0c7f5d Fix missing UID handling for binary formats 2023-06-16 13:40:10 +02:00
Rémi Verschelde d101244d1b
Merge pull request #74641 from dalexeev/fix-bitfield-enum-warnings
Display `BitField[Enum]` in docs to distinguish from `Enum`
2023-06-16 10:18:46 +02:00
Rémi Verschelde 6fb391bc23
Fix various typos with codespell
And ignore some false positives introduced by recent versions of codespell.
2023-06-16 08:45:35 +02:00
Danil Alexeev eb391d3302
Display `BitField[Enum]` in docs to distinguish from `Enum` 2023-06-15 17:23:02 +03:00
Rémi Verschelde 8c5c29f2a3
Merge pull request #78061 from dsnopek/gdextension-class-not-exposed
Fix wrapping Object's in GDExtension that aren't exposed
2023-06-15 10:50:27 +02:00
Rémi Verschelde 0b30785bca
Merge pull request #75438 from ronyeh/typo
Fix typo on "autoremapping".
2023-06-15 10:39:44 +02:00
Hugo Locurcio 8352122e70
Document editor import options in the class reference
Tooltips are displayed when hovering import options, both in the Import
dock and in the import defaults editor (which is in the Project Settings).

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-06-15 08:30:48 +02:00
RedworkDE 92f13ba9ea C#: Unify project name handling and fix issues with the handling of some special characters
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2023-06-14 21:07:58 +02:00
kleonc 77b8e0fcb7 Allow setting negative WorldBoundaryShape2D.distance through the editor 2023-06-14 14:54:00 +02:00
ajreckof 81aa5ad999 add backward_undo_ops as property for action 2023-06-13 15:32:05 +02:00
Aaron Franke 7e9b5e59d4
Make a header for VariantUtilityFunctions 2023-06-12 11:29:42 -05:00
Rémi Verschelde e95decf343
Merge pull request #78111 from sbarkeha/master
Fix infinite loop on EOF in the command line debugger
2023-06-12 14:15:54 +02:00
Rémi Verschelde 35ff936b93
Merge pull request #77055 from lawnjelly/input_just_pressed_4
Input - fix just pressed and released with short presses
2023-06-12 14:13:52 +02:00
lawnjelly a3ef092f18 Input - fix just pressed and released with short presses
Previously if an action was both pressed and released on the same tick or frame, `is_action_just_pressed()` would return false, resulting in missed input.

This PR separately the timestamp for pressing and releasing so each can be tested independently.
2023-06-12 11:14:58 +01:00
Rémi Verschelde 91e2859cd3
Merge pull request #77748 from DevanOBoyle/fix/ignore_false_button_error
Skip error messages for buttons that don't exist
2023-06-12 11:38:43 +02:00
Devan OBoyle ed02d515e0 Skip error messages for buttons that don't exist 2023-06-11 21:25:29 -07:00
Aaron Franke 5654d40367
Don't use a const reference for the enum constructor in Variant 2023-06-11 15:13:05 -05:00
Simon Barkehanai 4ecad8dea3 Fix infinite loop on EOF in the command line debugger
When using the command line debugger (godot -d) on Unix systems, when
entering an EOF (ctrl+D), the debugger enters an infinite loop.

Adding a check for EOF in the debugger loop exits the debugger when EOF
is entered.

Fixes #50170.
2023-06-11 04:20:22 -07:00
Rémi Verschelde 37d1dfef9d
Merge pull request #78000 from RandomShaper/let_users_mess_up
Let user scripts disable thread safety checks
2023-06-10 12:12:13 +02:00
Pylgos d7eb7108f0 Fix gdextension variant type conversion 2023-06-10 10:52:17 +09:00
David Snopek 36f4b99638 Fix wrapping Object's in GDExtension that aren't exposed 2023-06-09 13:41:57 -05:00
Pedro J. Estébanez 2b001db76e Let user scripts disable thread safety checks 2023-06-09 18:24:01 +02:00
myaaaaaaaaa e28868e30c Implement parallel foreach() for easier multithreading 2023-06-09 08:27:32 -04:00
Rémi Verschelde 577ab3c565
Merge pull request #75746 from ajreckof/order_autocomplete
Sort code autocompletion with rules
2023-06-08 18:14:31 +02:00
Rémi Verschelde b761c3a54d
Merge pull request #77974 from RandomShaper/fix_gdscr_th_start
Mark thread name setup safe for nodes
2023-06-08 16:55:51 +02:00
Pedro J. Estébanez 543689eeed Mark thread name setup safe for nodes 2023-06-08 09:54:41 +02:00
David Snopek ef9cb793d3 Remove GDExtension compatibility code for Godot 4.0 2023-06-07 13:01:42 -05:00
Rémi Verschelde aa5dfff3f0
Merge pull request #77410 from dsnopek/object-pointer-pointer-encoding
Standardize Object ptrcall encoding on `Object **`
2023-06-07 13:31:49 +02:00
Rémi Verschelde 2a1bc05901
Merge pull request #77469 from lyuma/skeleton_ik_roll_fix
Fix for SkeletonIK3D interpolation and bone roll
2023-06-06 20:39:46 +02:00
Lyuma 9aa46bf3f5 Fix for SkeletonIK3D interpolation and bone roll
Fix bug in internal Basis::rotate_to_align function (also used with identity Basis in scene/resources/curve.cpp)
Use ChainItem children rather than local bone rest to determine IK bone roll to match Godot 3.x behavior
2023-06-05 20:44:45 -07:00
Rémi Verschelde f00c971b81
Merge pull request #63168 from Levrault/master
Fix: InputEventJoypadMotion should trigger only once on a vslider
2023-06-05 18:04:39 +02:00
Luc-Frédéric Langis 166ca77f20 feat(gamepad): improve gamepad behavior with slider and popup_menu 2023-06-05 10:20:46 -04:00
Rémi Verschelde 3dd0307f3f
Merge pull request #76348 from warriormaster12/pipeline-cache
Implement Vulkan pipeline caching
2023-06-01 00:40:33 +02:00
warriormaster12 dded713dc0 Implement Vulkan pipeline caching 2023-05-31 22:24:18 +03:00
Mack 1326b7e04f Fix buffer over-read and memory leaks when using long filepaths in a zip archive and improved robustness of long filepaths and reading files. 2023-05-31 13:11:59 +00:00
Yuri Sizov eb5e0e07b4
Merge pull request #77459 from felaugmar/fix-override-merging-into-project-godot
Ignore the `project_settings_override` file when in editor
2023-05-31 13:09:46 +02:00
Winston 50d8ee8eee
Expose ProjectSettings.set_as_internal() 2023-05-30 21:16:29 +02:00
Mario Liebisch f381543185
Properly free core types in reverse order
This fixes #62152.
2023-05-30 17:47:12 +02:00
kobewi e767ff5695 Add project tags 2023-05-30 00:53:02 +02:00
Yuri Sizov 72f7131be1
Merge pull request #77456 from korypostma/grayscale_fix_77393
Fix grayscale alpha for `Image::convert` `FORMAT_L8` using REC.709
2023-05-29 17:45:29 +02:00
Yuri Sizov 97a6b40e4e
Merge pull request #70386 from sfrembling/70141
Add Human Readable Error Message for Object::set_meta
2023-05-29 17:24:25 +02:00
Kory Postma c8cac39446 Grayscale fix for Image::premultiply_alpha() and Image::convert(FORMAT_L8) while using REC.709, with added test case 2023-05-27 18:01:44 -05:00
Yuri Sizov a12327e277
Merge pull request #77445 from RedworkDE/gdextension-compat-update-validation
Update extension API validation
2023-05-27 17:23:26 +02:00
Rémi Verschelde 699b66b62d
Merge pull request #77010 from dsnopek/gdextension-editor-plugins
Allow GDExtensions to add editor plugins
2023-05-26 11:00:32 +02:00
David Snopek 77733faede Attempt to standardize Object ptrcall encoding on `Object **` 2023-05-25 21:46:22 -05:00
David Snopek 3007163210 Allow GDExtensions to add editor plugins 2023-05-25 09:14:29 -05:00
Rémi Verschelde 4203389c1b
Merge pull request #77457 from smix8/clipper_includes_4.x
Remove unnecessary Clipper lib includes
2023-05-25 09:26:09 +02:00
Rémi Verschelde 4c4bf58ffb
Merge pull request #77417 from winston-yallow/support-project-settings-usage-flags
Expose ProjectSettings.set_as_basic() to scripting
2023-05-25 09:25:19 +02:00
Felipe Augusto Marques e759129dd5 Ignore "project_settings_override" in the editor 2023-05-25 01:30:37 -03:00
smix8 66a8418a2d Remove unnecessary Clipper lib includes
Removes unnecessary Clipper lib includes.
2023-05-24 23:57:08 +02:00
RedworkDE bbe04e1ec8 Update extension api validation
- Ensure that multiple changes to one method cannot hide each other in the CI.
- Check virtual methods for changes.
- Compare the detailed changes to a method.
- Compare enums.
- Fix comparing global enums.
- Use `vformat` to build error messages.
2023-05-24 18:51:33 +02:00
Winston 263aedc1ad
Expose ProjectSettings.set_as_basic() to GDScript 2023-05-24 13:28:08 +02:00
Rémi Verschelde 6f34a23439
Merge pull request #76082 from reduz/ability-to-look-at-in-model-space
Add the ability to look-at in model-space.
2023-05-24 08:46:53 +02:00
Rémi Verschelde 390d87e974
Merge pull request #71352 from m4gr3d/editor_optimization_main
Improve startup benchmarking
2023-05-24 08:43:52 +02:00
Rémi Verschelde adbdf9a86e
Merge pull request #77234 from RandomShaper/fix_rtl_mt
Allow threads to mark themselves as safe for nodes
2023-05-24 08:42:59 +02:00
Juan Linietsky 5fdc1232ef Add the ability to look-at in model-space.
This is a much simpler attempt to solve the same problem as #76060, but without breaking any compatibility.

* Adds a description of what model space is in the Vector3 enums (MODEL_* constants). This has the proper axes laid out for imported 3D assets.
* Adds the option to `look_at` using model_space, which uses Vector3.MODEL_FRONT as forward vector.

The attempt of this PR is to still break the assumption that there is a single direction of forward (which is not the case in Godot)
and make it easier to understand where 3D models are facing, as well as orienting them via look_at.
2023-05-24 10:10:24 +09:00
Pedro J. Estébanez e725b4b02b Allow threads to mark themselves as safe for nodes 2023-05-24 00:22:58 +02:00
Fredia Huya-Kouadio 831b4a5366 Improve startup benchmarking
Move the benchmarking measuring methods from `Engine` to `OS` to allow for platform specific overrides (e.g: can be used to hook into platform specific benchmarking and tracing capabilities).
2023-05-23 13:22:35 -07:00
ajreckof 006e899bb3 sort code completions with rules
Fixups

Add levenshtein distance for comparisons, remove kind sort order, try to improve as many different use cases as possible

Trying again to improve code completion

Sort code autocompletion options by similarity based on input

To make it really brief, uses a combination `String.similiary`, the category system introduced in a previous PR, and some filtering to yield more predictable results, instead of scattering every completion option at seemingly random.

It also gives much higher priority to strings that contain the base in full, closer to the beginning or are perfect matches.

Also moves CodeCompletionOptionCompare to code_edit.cpp

Co-Authored-By: Micky <66727710+Mickeon@users.noreply.github.com>
Co-Authored-By: Eric M <41730826+EricEzaM@users.noreply.github.com>
2023-05-23 05:12:34 +02:00
jpcerrone 0fb307720c PCK file path improvements
Fixes godotengine#77317 (Inconsistent PCK file path behaviour).
Simplifies all PCK file paths so that paths with extra '/' symbols in them
still match to the same path.
Fixes various FileAccess methods that didn't work when using PCK paths that
contain extra '/' symbols.
2023-05-22 15:03:05 -03:00
Rémi Verschelde 5dc093b19a
Merge pull request #77341 from RedworkDE/doctool-material-error-fix
Fix error in `BaseMaterial3D` when running doctool
2023-05-22 17:02:23 +02:00
RedworkDE 69f2bc2751 Improve `SelfList` and fix error in `BaseMaterial3D` when running doctool 2023-05-22 16:38:57 +02:00
Rémi Verschelde 80bf8fd186
Merge pull request #73511 from dsnopek/gdextension-object-name
Add GDExtension function to get Object class name
2023-05-22 14:02:59 +02:00
David Snopek c6b0d4aae3 Add GDExtension function to get Object class name 2023-05-22 06:58:59 -05:00
RedworkDE 402b3d146a Bind forgotten default value for `GDExtension::open_library` argument 2023-05-22 00:14:55 +02:00
Rémi Verschelde 9ad9820f5d
Merge pull request #77229 from RandomShaper/fix_mt_issues
Fix message queue issues
2023-05-19 14:30:10 +02:00
Pedro J. Estébanez c450260e3e Fix message queue issues
- Missing flush in resource loading.
- Wrong checks about message queue instance.
2023-05-19 13:11:34 +02:00
Rémi Verschelde aaa77d0d8f
Merge pull request #77132 from bruvzg/tts_disable
Add `audio/general/text_to_speech` project setting to enable/disable TTS.
2023-05-19 10:10:38 +02:00
Rémi Verschelde 9b1b50f2eb
Merge pull request #75465 from RedworkDE/signal-disconnect-error
Improve error message when disconnecting callable from signal it was not connected to
2023-05-19 10:09:47 +02:00
bruvzg 5b9984b5a2
Add `audio/general/text_to_speech` project setting to enable/disable TTS. 2023-05-18 20:16:03 +03:00
Ninni Pipping d2ddd8b228 Fix `StringName` comparison 2023-05-18 13:25:40 +02:00
RedworkDE 9c9fd9ffbf Improve error message when disconnecting callable from signal it was not connected to 2023-05-18 00:46:27 +02:00
Rémi Verschelde d803304c62
Merge pull request #77145 from RandomShaper/enh_fix_mt_proc
Enhance/fix MT-processing related things
2023-05-17 15:59:21 +02:00
Rémi Verschelde 26f96aec9d
Merge pull request #77143 from RandomShaper/fix_wtp_deadlocks
Avoid multiple possibilites of deadlock in resource loading
2023-05-17 15:59:18 +02:00
Rémi Verschelde b0f49266f9
Merge pull request #76719 from m4gr3d/add_input_event_cancelled_state_main
Augment the `InputEvent` class with a `CANCELED` state
2023-05-17 11:25:21 +02:00
Rémi Verschelde 56fc6316b7
Merge pull request #64789 from derammo/derammo_const_ref
Change Ref<T> to allow non const access to ptr
2023-05-17 11:25:13 +02:00
Rémi Verschelde 411b6a95a0
Merge pull request #52314 from lawnjelly/four_delta_smooth
Add frame delta smoothing option (4.x)
2023-05-17 11:25:03 +02:00
Pedro J. Estébanez 50cf3d6966 Optimize threading-sensitive node data for single-threaded processing 2023-05-17 02:04:41 +02:00
Pedro J. Estébanez a6e43f71b6 Avoid multiple possibilites of deadlock in resource loading 2023-05-17 01:52:39 +02:00
RedworkDE 110bc5058d Compress embedded GDExtension interface 2023-05-16 22:16:45 +02:00
David Snopek 9b9482d4bb Rework GDExtension interface from a struct to loading function pointers 2023-05-16 10:27:46 -05:00
lawnjelly 7925670f81 Add frame delta smoothing option (4.x)
Frame deltas are currently measured by querying the OS timer each frame. This is subject to random error. Frame delta smoothing instead filters the delta read from the OS by replacing it with the refresh rate delta wherever possible.

This PR also contains code to estimate the refresh rate based on the input deltas, without reading the refresh rate from the host OS.

The delta_smooth_enabled setting can also be modified at runtime through OS::, and there is also now a command line setting to override the project setting.
2023-05-16 13:57:25 +01:00
Rémi Verschelde accb57d50f
Merge pull request #77036 from bonjorno7/ok-color-static
Make ok_color functions static
2023-05-16 11:01:08 +02:00
Rémi Verschelde 8cfa19a078
Merge pull request #77000 from reduz/make-more-base-nodes-thread-safe
Make more base nodes thread safe
2023-05-16 00:31:56 +02:00
Shea Frembling 0d6487073f update error from Object::set_meta to be more human readable
update error from Object::set_meta to be more human readable

Add metadata to error message

Add metadata to identifier
2023-05-15 15:14:45 -05:00
Fredia Huya-Kouadio 250749fa79 Augment the `InputEvent` class with a `CANCELED` state
The `InputEvent` class currently supports the `pressed` and `released` states, which given the binary nature, is represented by a `bool` field.
This commit introduced the `CANCELED` state, which signals that an ongoing input event has been canceled.
To represent all the states, the `InputEventState` enum is added and the `InputEvent` logic is refactored accordingly.
2023-05-15 11:48:25 -07:00
Emmanuel Leblond e785dd9dd9
Improve user-friendliness of "return value as function param" pattern in GDExtension API
This commit introduce separate types (e.g. GDNativeStringPtr vs GDNativeUninitializedStringPtr)
depending on if the pointed data is already initialized (C++ style where constructor is alway
called when create a variable even if it is to be passed as return value) or not (C style).
On top of that, small changes has been made to `GDNativeInterface` so that it methods are
consistent on using uninitialized return value.
2023-05-15 17:14:57 +02:00
Juan Linietsky 0a9f72d5a8 Make more base nodes thread safe
Ongoing work to make more of the base nodes thread safe.
2023-05-15 16:54:10 +02:00
Rémi Verschelde 5c653c27cd
Merge pull request #77093 from RandomShaper/fix_mq_copy
Fix transfer of messages between queues
2023-05-15 13:47:18 +02:00
Rémi Verschelde 70dcfdab1f
Merge pull request #76446 from reduz/add-gdextension-api-compatibility
Add a backwards-compatibility system for GDExtension
2023-05-15 13:43:46 +02:00
Rémi Verschelde 1d83a4c5a5
Merge pull request #72249 from RandomShaper/robust_sync
Robustify multi-threading primitives
2023-05-15 13:42:52 +02:00
Juan Linietsky d8078d3f4c Add a backwards-compatibility system for GDExtension method
This adds a way to ensure that methods that were modified in the Godot API will continue working in older builds of GDExtension even if the new signature is different.

```C++
// New version (changed)
ClassDB::bind_method(D_METHOD("add_sphere","radius","position"),&MyShapes::add_sphere);
// Compatibility version (still available to extensions).
ClassDB::bind_compatibility_method(D_METHOD("add_sphere","radius"),&MyShapes::_compat_add_sphere);
```

**Q**: If I add an extra argument and provide a default value (hence can still be called the same), do I still have to provide the compatibility version?
**A**: Yes, you must still provide a compatibility method. Most language bindings use the raw method pointer to do the call and process the default parameters in the binding language, hence if the actual method signature changes it will no longer work.

**Q**: If I removed a method, can I still bind a compatibility version even though the main method no longer exists?
**A**: Yes, for methods that were removed or renamed, compatibility versions can still be provided.

**Q**: Would it be possible to automate checking that methods were removed by mistake?
**A**: Yes, as part of a future PR, the idea is to add a a command line option to Godot that can be run like : `$ godot --test-api-compatibility older_api_dump.json`, which will also be integrated to the CI runs.
2023-05-15 12:05:40 +02:00
Pedro J. Estébanez 93de52942a Fix transfer of messages between queues 2023-05-15 11:51:58 +02:00
Fabio Alessandrelli fb10f45efe
Merge pull request #75867 from tefusion/fix_http_client_unicode_request
Fix HTTPClient _request using wrong size
2023-05-14 16:05:39 +02:00
Emmanuel Leblond 7501ebb91a
Make *_operator_index in gdnative_interface not logging an error if called with an out-of-bound index 2023-05-13 20:01:55 +02:00
bonjorno7 283cac859c Make ok_color functions static
It needs to be a class to prevent build errors, but the functions can at least be static, so you don't have to instance the class.
2023-05-13 16:57:19 +02:00
Rémi Verschelde 1c8b203f70
Merge pull request #77011 from Faless/tls/fix_crashes_when_unavailable
[TLS] Fix crashes trying to use TLS when not available.
2023-05-12 23:26:43 +02:00
Fabio Alessandrelli eeac6f8c7f [TLS] Fix crashes trying to use TLS when not available.
If no StreamPeerTLS implementation is available, HTTPClient and
WebSocketPeer will now correctly refuse to connect using TLS returning
ERR_UNAVAILABLE.

Similarly, ENetConnection will refuse to setup DTLS when PacketPeerDTLS
is not available.
2023-05-12 20:08:10 +02:00
Pedro J. Estébanez 6189ab5291 Robustify multi-threading primitives 2023-05-12 19:04:57 +02:00
Pedro J. Estébanez 45d0b38076 Enhance thread safety of loaders and importers 2023-05-12 17:44:48 +02:00
Pedro J. Estébanez 7537a0521f Simplify ResourceLoader error callbacks 2023-05-12 17:44:48 +02:00
Rémi Verschelde 20ed51a912
Merge pull request #72704 from myaaaaaaaaa/single-main-thread
Partial fixes for `threading/worker_pool/max_threads` = 0
2023-05-12 15:09:50 +02:00
Pedro J. Estébanez 123ba9d464 WorkerThreadPool: Handle exit signal in the tentative scheduling done during waits 2023-05-12 13:31:04 +02:00
myaaaaaaaaa fcd8ce52e9 Partial fixes for threading/worker_pool/max_threads = 0 2023-05-12 07:27:35 -04:00
Rémi Verschelde 258fabdbb3
Merge pull request #76836 from Faless/tls/system_certs
[TLS] Add support for platform-specific CA bundles.
2023-05-12 11:17:31 +02:00
Rémi Verschelde ae4d469ca2
Merge pull request #76980 from m4gr3d/fix_input_anr_main
Fix input ANR in the Godot Android editor
2023-05-12 10:07:19 +02:00
Rémi Verschelde 8f17f26233
Merge pull request #76978 from raulsntos/property-hint-compat
Reorder `PropertyHint` enum to avoid breaking compat
2023-05-12 10:06:32 +02:00
Rémi Verschelde cc48827e4a
Merge pull request #76946 from AThousandShips/shadow_warning
Enable shadow warnings and fix raised errors
2023-05-12 10:04:09 +02:00
Rémi Verschelde 186aa649d2
Merge pull request #76945 from RandomShaper/fix_wtp
Fix multiple issues in `WorkerThreadPool`
2023-05-12 10:03:45 +02:00
Rémi Verschelde 863bcd3e2b
Merge pull request #76936 from clayjohn/revert-hsl
Revert "Add API for HSL conversion"
2023-05-12 10:03:21 +02:00
Fabio Alessandrelli 6fd9982358 [TLS] Add support for platform-specific CA bundles.
Adds a new OS::get_system_ca_certs method which can be implemented by
platforms to retrieve the list of trusted CA certificates using OS
specific APIs.

The function should return the certificates in PEM format, and is
currently implemented for Windows/macOS/LinuxBSD(*)/Android.

mbedTLS will fall back to bundled certificates when the OS returns no
certificates.

(*) LinuxBSD does not have a standardized certificates store location.
    The current implementation will test for common locations and may
    return an empty string on some distributions (falling back to the
    bundled certificates).
2023-05-12 09:58:23 +02:00
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
bitsawer 5a9d7fd8a6 Fix Image.convert() overwriting custom mipmaps 2023-03-02 16:46:06 +02: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
myaaaaaaaaa 4c2915e3e5 Remove unused threaded_array_processor.h 2023-02-26 19:27:08 -05: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