Commit Graph

6276 Commits

Author SHA1 Message Date
Pedro J. Estébanez 2860ed6064
Undefine yet another macro from Windows headers
(cherry picked from commit bcc96441d6)
2024-03-09 23:33:21 +01:00
rsburke4 c9924b11a4 Added error to catch conversion on invalid image
(cherry picked from commit dec2269bca)
2024-01-24 18:17:18 +01:00
A Thousand Ships 9598a32b7b [Core] Prevent infinite recursion when printing errors
(cherry picked from commit d10617bb3b)
2024-01-23 20:22:00 +01:00
bruvzg 9d1d916864 Add unsigned char cast ifdef.
(cherry picked from commit ec052cd38a)
2024-01-23 20:22:00 +01:00
A Thousand Ships d9af9dd682 [Core] Fix crash when hashing empty `CharString`
(cherry picked from commit ca5ec6aec1)
2024-01-23 20:22:00 +01:00
bruvzg d3713220b8 Prevent read-after-free in the queued CallableCustomStaticMethodPointer.
(cherry picked from commit eb81e8b2dc)
2024-01-23 19:53:33 +01:00
bruvzg b62b3fc40b Fix remapped font reloading on locale change.
(cherry picked from commit 8b2260544a)
2024-01-23 19:15:03 +01:00
Rémi Verschelde c3a6dd2c11 Fix translation remapping check for imported resources
Fixes #81660.

(cherry picked from commit 2729a78fd7)
2024-01-23 19:15:02 +01:00
A Thousand Ships 36c7a47b11 Prevent `encode_variant` doing `memcpy` from `nullptr`
(cherry picked from commit 210461f2ed)
2024-01-23 17:36:49 +01:00
John Watson 76d5a0e723 Android: Fix joypad trigger value range
`Input::joy_axis` converts trigger values to be between 0.0f to 1.0f by default. This is not needed for Android, as values are already within that range, as per Android documentation: https://developer.android.com/reference/android/view/MotionEvent#AXIS_RTRIGGER

This patch prevents this conversion on Android, which caused L2 and R2 triggers to get stuck pressed. https://github.com/godotengine/godot/issues/79263

(cherry picked from commit d413a02079)
2024-01-23 16:03:16 +01:00
Alfonso J. Ramos a285553472 Do not replace starting digit with underscore when making identifier
(cherry picked from commit 5cd7ca0ccc)
2024-01-23 16:03:16 +01:00
A Thousand Ships 222ceb7a82 Fix allocation size overflow check in `CowData`
(cherry picked from commit c48b189e14)
2024-01-23 16:03:15 +01:00
David Snopek 9a322737cc GDExtension: Fix `variant_iter_get()` actually calling `iter_next()`
(cherry picked from commit b14f359c94)
2023-10-25 12:23:48 +02:00
Rémi Verschelde 4c8ee43d08 Sync controller mappings DB with SDL2 community repo
Synced with gabomdq/SDL_GameControllerDB@eb831f75ab

Fixes #83552.

(cherry picked from commit d3c0a7d598)
2023-10-24 19:51:53 +02:00
Rémi Verschelde 0b3c182038 Sync controller mappings DB with SDL2 community repo
Synced with gabomdq/SDL_GameControllerDB@fc4b33c872

(cherry picked from commit e40b0b3ed8)
2023-10-24 19:51:53 +02:00
Saracen eb414422fe Make notify_dependency_error only defer calls if called from secondary threads.
(cherry picked from commit 0b0a6109b6)
2023-10-24 17:16:30 +02:00
David Nikdel 4d498e18ec Remove nondeterminism in pck_packer
PCK files (like other build products) should be deterministic based on their inputs. Removed calls to Math::rand() that are being used to generate padding.

Looks like these were introduced as part of adding encryption support, but the padding being random does not have any cryptographic significance. This can be trivially inferred since file blocks that happen to be aligned don't get padding anyway.

If there's a desire to indroduce something that functions as a nonce it should probably be added explicitly and only if encryption is enabled.
remove Math::rand() calls in editor_export_platform.cpp

follow up to make consistent with pck_packer

(cherry picked from commit 067807c1cb)
2023-10-24 16:33:53 +02:00
AttackButton 90b8a2ae8c Add missing YEN, SECTION and OPENURL names to keycode mappings
(cherry picked from commit 8908ac4e6e)
2023-10-24 16:07:42 +02:00
A Thousand Ships a9566c17fc Fix comparison of `Callable`s with binds
(cherry picked from commit 2caf5ae453)
2023-10-24 16:07:42 +02:00
Rindbee 00d5da2f09 Clear the previously set state when configuring for a new scene root node
Saving a subscene causes the main scene to be re-instantiated. And the resource
instance in the main scene will be reused when the main scene is re-instantiated.
So for resources with `resource_local_to_scene` enabled, resetting state may be
necessary (at least for `ViewportTexture`).

(cherry picked from commit 4795c3cdfa)
2023-10-19 21:49:00 +02:00
Pedro J. Estébanez ff6229e794 Support loading of translations on threads
(cherry picked from commit 5301bbb3a5)
2023-10-19 21:06:12 +02:00
Rémi Verschelde aae20e5b10
Fix various typos with codespell
Also includes typo fixes from #79993, #80068, #80276, and #80303.

Co-authored-by: betalars <contact@betalars.de>
Co-authored-by: spaceyjase <429978+spaceyjase@users.noreply.github.com>
Co-authored-by: Swarkin <102416174+Swarkin@users.noreply.github.com>
Co-authored-by: Raul Santos <raulsntos@gmail.com>

(cherry picked from commit faaf27f284)
2023-10-03 20:45:35 +02:00
Ricardo Subtil 788ee7938b Ensure `joy_connection_changed` is emitted on the main thread
(cherry picked from commit 1bb73b0689)
2023-09-21 15:28:23 +02:00
Ninni Pipping 4734295fd1 Fix version check for GDExtension
(cherry picked from commit 97ef4a0536)
2023-09-21 15:14:04 +02:00
bruvzg 88afb1a8ba [String] Fix string conversion for -0.0 float values.
(cherry picked from commit 2b3bbde6da)
2023-09-21 14:57:13 +02:00
Eoin O'Neill 58ff96b8b7 Prevent double input events on gamepad when running through steam input
During GDC and general testing on Steam Deck units, we found that single
gamepads would often register inputs twice under certain circumstances.
This was caused by SteamInput creating a new virtual device, which Godot
registers as a second gamepad. This resulted in two gamepad devices
reporting the same button presses, often leading to buggy input response
on games with no multi-device logic and other-wise could cause intended
Steam rebindings to not work as intended (for example, swapping o and x
on a playstation pad if that feature isn't supported by the game.)

SDL gets around this by taking in a list of devices that are to be
ignored. When valve sees a controller that wants to be rebound via
SteamInput, they push a new VID/PID entry onto the environment
variable `SDL_GAMECONTROLLER_IGNORE_DEVICES` for the original gamepad
so that all game inputs can be read from the virtual gamepad instead.

This leverages the same logic as we are already using SDL gamepad
related HID mappings.

(cherry picked from commit 8de98dbf21)
2023-09-21 14:57:13 +02:00
A Thousand Ships 485d53133d Add check to ensure registered classes are declared
Checks that all classes registered to `ClassDB` have been properly
declared with `GDCLASS`

(cherry picked from commit c638238fae)
2023-09-21 13:50:25 +02:00
Rémi Verschelde cdce948473 Fix GCC -Wmaybe-uninitialized warnings
(cherry picked from commit efdff9cbc2)
2023-09-20 22:44:04 +02:00
Danil Alexeev 6d5127d34b Core: Fix recursion level check for `VariantWriter::write()` with objects
(cherry picked from commit 5d689ad560)
2023-09-20 22:44:04 +02:00
Danil Alexeev c57d6c9371 Core: Fix recursion level check for array stringification
(cherry picked from commit bb40bd9aaa)
2023-09-20 22:44:03 +02:00
Ninni Pipping 5641ad49e9 Fix `root_node_layout_direction` setting not enum
(cherry picked from commit 1cac72999b)
2023-08-31 20:19:30 +02:00
Ninni Pipping a31b866793 Fix range error for `Array.slice`
(cherry picked from commit 7752a0d8d1)
2023-08-31 19:48:16 +02:00
bruvzg 9ed12c884a FreeType: Update to version 2.13.1
(cherry picked from commit 008d3de1e9)
2023-08-31 19:26:48 +02:00
Pedro J. Estébanez b3a56228b1 Fix zero-sized WorkerThreadPool not processing group tasks
(cherry picked from commit 28d0d56a69)
2023-07-10 18:09:58 +02:00
MewPurPur a4547db15b Fix erroneous pad_zeros warning
(cherry picked from commit cc5500f7de)
2023-07-10 17:46:09 +02:00
Ninni Pipping fb8e21bd6d Fix `rpc` calls with binds
(cherry picked from commit 7d174c8dfe)
2023-07-10 17:46:09 +02:00
Angad Kambli cdeddffee7 Check parameter validity in `Object::set_script`
Fixes #46120.

(cherry picked from commit 9c6c2f09e0)
2023-07-10 17:46:08 +02:00
Hugo Locurcio ac87b5df75 Mention Xbox menu button by name in Start button description
Microsoft officially calls it the Menu button:

https://support.xbox.com/en-US/help/hardware-network/controller/get-to-know-your-xbox-series-x-s-controller
(cherry picked from commit 1621b4e2b1)
2023-07-10 17:46:08 +02:00
Haoyu Qiu a8bfdd8bea Fix error when non-ASCII characters in resource pack path
(cherry picked from commit df5c68af99)
2023-07-10 17:11:22 +02:00
Rémi Verschelde da1e511f11 Linux: Allow unbundling brotli to use system library
(cherry picked from commit 153c4a4c4f)
2023-07-10 17:11:22 +02:00
Daylily-Zeleen 71d5827228 Fixed the fallback logic of OS::shell_show_in_file_manager
(cherry picked from commit 9dd9818c88)
2023-07-10 17:11:21 +02:00
Rémi Verschelde cdd2313ba2
Merge pull request #78977 from RandomShaper/workaround_tls_shutdown
Workaround resource loading crashes due to buggy TLS
2023-07-03 19:43:07 +02:00
Rémi Verschelde 03f0e5eb15
Merge pull request #78974 from RandomShaper/fix_wtp_safe_flag
Fix management of safe-for-nodes flag in ResourceLoader and WorkerThreadPool
2023-07-03 15:26:28 +02:00
Pedro J. Estébanez 41c0785636 Workaround resource loading crashes due to buggy TLS 2023-07-03 13:54:55 +02:00
Pedro J. Estébanez 30925fcfb0 Fix management of safe-for-nodes flag in ResourceLoader and WorkerThreadPool 2023-07-03 12:27:57 +02:00
Gabor Koncz a2ede8c4da Fix GDVIRTUAL_NATIVE_PTR
This commit fixes the usage of GDExtensionPtr and GDExtensionConstPtr
in GDExtension by introducing the required VariantInternalAccessor
specializations.

Sponsored by Migeran (https://migeran.com)
2023-07-03 10:52:02 +02:00
Valery Zhuk 818cee6184 add explicit default initialization for flag in undo redo operation 2023-06-28 21:57:47 +03:00
Rémi Verschelde de3d4e3cec
Merge pull request #78517 from AThousandShips/callable_serialize
Ensure `RID`, `Callable`, and `Signal` are stored as strings
2023-06-22 18:30:51 +02:00
Rémi Verschelde 100082b3ac
Merge pull request #74760 from lassade/unicode-err-uses-replacement-char
Don't append non unicode scalar values on the string, instead use the unicode replacement char
2023-06-22 18:30:04 +02:00
Ninni Pipping 9159208ed1 Ensure `RID`, `Callable`, and `Signal` are stored as strings
Prevents parser errors in `.tscn` and `.tres` files where the assignment
would otherwise be empty.
2023-06-22 17:01:08 +02:00