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
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
Jan Haller
45e6abde1d
GDExtension: array_set_typed() accepts enum instead of uint32_t
2023-02-08 23:24:56 +01:00
Rémi Verschelde
9f859a111c
Merge pull request #72866 from Sauermann/fix-release-button-mask
...
Fix mouse-button-mask on button release in unit test
2023-02-08 09:45:11 +01:00
Haoyu Qiu
d8d5cb1198
Use GDExtensionBool in GDExtension interface
2023-02-08 14:57:07 +08:00
Markus Sauermann
39d79ce217
Fix mouse-button-mask on button release in unit test
...
On mouse-button release, the mask is 0.
2023-02-08 01:17:40 +01:00
Haoyu Qiu
5d7e003b29
Prepare for moving editor and classref translations to godot-editor-l10n repo
...
- Separate editor interface and property translations.
- Add property translation in TranslationServer.
- The split and merge of the POT/PO/Makefiles and extract scripts is done
directly in godot-editor-l10n, the files will be removed in the next commit.
- Remove the hardcoded "to_include" lists from the SCsub, we'll only commit the
files which are ready to inclue.
2023-02-07 14:20:40 +01:00
Mikael Hermansson
99dba702f5
Expose _err_print_error
with message parameter to GDExtension
2023-02-07 14:02:18 +01:00
Rémi Verschelde
cd0f1e9b10
Merge pull request #72740 from Sauermann/fix-event-device-id
...
Fix mouse/drag/touch InputEvents having no device id
2023-02-06 23:51:26 +01:00
Markus Sauermann
8748f4dcaa
Fix mouse/drag/touch InputEvents having no device id
...
Some internally created emulated/instantiated events didn't have a
device id. This PR sets for these cases a device id.
Also rename `DEVICE_ID_TOUCH_MOUSE` to the more generic
`DEVICE_ID_EMULATION`.
2023-02-06 22:49:42 +01:00
Rémi Verschelde
632911ea1d
Merge pull request #72786 from timothyqiu/no-libc
...
Remove unnecessary `stdio.h` from gdextension interface
2023-02-06 22:47:14 +01:00
Yuri Sizov
945207885b
Merge pull request #72546 from vonagam/fix-typed-array-can-reference
...
GDScript: Fix can_reference check for typed arrays
2023-02-06 23:32:47 +03:00
Dmitrii Maganov
8400308ab3
GDScript: Fix can_reference check for typed arrays
2023-02-06 22:00:16 +02:00
Marcel Admiraal
84199757a4
Fix OS.find_keycode_from_string not working with modifiers
2023-02-07 08:25:02 +13:00
Rémi Verschelde
112f8faf5c
Merge pull request #72703 from lyuma/stringname_constructor_mistake
...
StringName: fix returning dangling data from char constructor.
2023-02-06 17:47:27 +01:00
Lyuma
82c52eab6c
StringName: fix returning dangling data from char constructor.
...
Fixes a copy paste mistake in the `StringName(const char *,bool)` constructor,
to match the same form as the other two constrcutors.
This fixes a case where this constructor can return a dangling pointer and cause use-after-free.
2023-02-06 07:16:55 -08:00
Haoyu Qiu
f4ffa87a35
Remove unnecessary stdio.h from gdextension interface
2023-02-06 16:11:50 +08:00
bitsawer
d1521933bb
Expose and document ProjectSettings.get_global_class_list()
2023-02-04 23:22:27 +02:00
Rémi Verschelde
bbff9fd7a4
Merge pull request #71786 from raulsntos/dotnet/array
...
Sync C# Array with Core
2023-02-04 00:24:06 +01:00
Pedro J. Estébanez
0bcc7bb5c7
Avoid losing references to objects in the native-scripting boundary
2023-02-03 17:48:41 +01:00
Silc Renew
1459b9c24c
Fix scaled_orthogonal() & subgizmo global scaling
2023-02-04 00:46:04 +09:00
kobewi
c1cc8fd87f
Remove unused has_global_classes()
2023-02-03 15:43:56 +01:00
George Marques
5fc7918594
GDScript: Improve usability of setter chains
...
- Consider PackedArrays non-shared since they are copied on C++/script
boundaries.
- Add error messages in the analyzer when assigning to read-only
properties.
- Add specific error message at runtime when assignment fails because
the property is read-only.
2023-02-02 10:20:35 -03:00
VolTer
57e39d0ce9
Fix String.split() with empty string and delimeter
2023-02-02 01:34:11 +01:00
Aaron Franke
0fcdf48f83
Remove unused has_slashes
from NodePath
2023-02-01 11:32:39 -06:00
Rémi Verschelde
e52213e2fa
More codespell fixes, do more changes from previous ignore list
2023-02-01 12:11:36 +01:00
Rémi Verschelde
394bb0ee2b
Fix various typos with codespell
...
Finally do the childs -> children rename too.
2023-02-01 08:45:41 +01:00
Rémi Verschelde
68299e0f94
Merge pull request #72492 from maiself/fix-binary-res-typed-array
...
Fix loading of binary resources with typed arrays
2023-02-01 08:02:28 +01:00
Rémi Verschelde
e8240031e7
Merge pull request #71479 from raulsntos/virtual-return-type
...
Use enum instead of int in virtual methods return type
2023-02-01 07:45:28 +01:00
Rémi Verschelde
27fdb06fed
Merge pull request #71322 from EricEzaM/55856-proj-settings-initial-array-dict-shared-instance
...
Fix Project Settings array/dicts initial value being shared instances of the current value.
2023-02-01 07:29:44 +01:00
Mai Lavelle
87e6885f5e
Fix loading of binary resources with typed arrays
2023-02-01 01:22:43 -05:00
Raul Santos
9e9eac4676
Use enum instead of int in virtual methods return type
2023-01-31 19:06:49 +01:00
Rémi Verschelde
8612c12be6
Merge pull request #72452 from akien-mga/global_class_always_create
...
Always create global class list, even if empty
2023-01-31 16:00:12 +01:00
Rémi Verschelde
534369d267
Merge pull request #64423 from RandomShaper/safe_input_synth
...
Warn users about unsafe usage of `InputEvent`
2023-01-31 15:56:43 +01:00
Rémi Verschelde
38a806e13f
Always create global class list, even if empty
...
Fixes #72451 .
2023-01-31 15:28:53 +01:00
Pedro J. Estébanez
a2af839a59
Warn users about unsafe usage of InputEvent
2023-01-31 14:39:51 +01:00
Rémi Verschelde
e1648b3327
Merge pull request #72445 from reduz/restore-script-class-cache-if-removed
...
Restore script class cache if removed
2023-01-31 13:20:04 +01:00
Juan Linietsky
79897dd5bc
Restore script class cache if removed
...
I have no idea why anyone would do this, but this fixes it.
Fixes #72154 . Depends on #72444 being merged to function properly.
2023-01-31 11:28:21 +01:00
Dmitrii Maganov
5909f9f075
GDScript: Fix issues with typed arrays
2023-01-31 11:54:41 +02:00
Juan Linietsky
28f51ba547
Refactor high quality texture import
...
* Only two texture import modes for low/high quality now:
* S3TC/BPTC
* ETC2/ASTC
* Makes sense given this is the general preferred and most compatible combination in most platforms.
* Removed lossy_quality from VRAM texture compression options. It was unused everywhere.
* Added a new "high_quality" option to texture import. When enabled, it uses BPTC/ASTC (BC7/ASTC4x4) instead of S3TC/ETC2 (DXT1-5/ETC2,ETCA).
* Changed MacOS export settings so required texture formats depend on the architecture selected.
This solves the following problems:
* Makes it simpler to import textures as high quality, without having to worry about the specific format used.
* As the editor can now run on platforms such as web, Mac OS with Apple Silicion and Android, it should no longer be assumed that S3TC/BPTC is available by default for it.
2023-01-30 15:53:23 +01:00
Rémi Verschelde
6d6d6592c9
Merge pull request #71989 from bruvzg/set_typed_move
...
Move Array:set_typed to internal GDExtension structure and unexposed it.
2023-01-30 13:28:40 +01:00
Rémi Verschelde
bde3310f02
Merge pull request #71995 from Faless/net/4.x_tls_verify
...
[NET] Refactor TLS configuration.
2023-01-30 13:28:31 +01:00
bruvzg
5aa87ccc03
Move Array:set_typed to internal GDExtension structure and unexposed it.
2023-01-30 14:23:31 +02:00
Raul Santos
54f8fb010c
Sync C# Array with Core
...
- Add `AddRange` method.
- Add `Fill` method.
- Add `Max` and `Min` methods.
- Add `PickRandom` method.
- Add `Reverse` method.
- Add `RecursiveEqual` method.
- Add `Sort` method.
- Add `Slice` and `GetSliceRange` methods.
- Add `IndexOf` overload that takes an index parameter.
- Add `LastIndexOf` method.
- Add `BinarySearch` method.
- Add/update documentation.
2023-01-30 05:41:53 +01:00
Rémi Verschelde
d01ac9c736
Merge pull request #72287 from aaronfranke/tr2d-interp
...
Add support for interpolating skewed Transform2Ds
2023-01-29 14:13:02 +01:00
Adam Scott
bfffb8f254
Fix Resource::duplicate()
missing packed arrays
2023-01-28 23:06:44 -05:00
Aaron Franke
5f3d3722b2
Add support for interpolating skewed transforms
2023-01-28 18:28:42 -06:00
Fabio Alessandrelli
7cd80e6a6d
[Net] Remove StreamPeerTLS.blocking_handshake option.
...
Which was unused internally, and can be replaced by:
```
while tls.get_status() == tls.STATUS_HANDSHAKING:
tls.poll()
```
2023-01-28 11:08:02 +01:00
Fabio Alessandrelli
adba870534
[NET] Refactor TLS configuration.
...
Use a TLSOptions configuration object which is created via static
functions.
- "TLSOptions.client": uses the standard CA and common name verification.
- "TLSOptions.client_unsafe": uses optional CA verification (i.e. if specified)
- "TLSOptions.server": is the standard server configuration (chain + key)
This will allow us to expand the TLS configuration options to include
e.g. mutual authentication without bloating the classes that uses
StreamPeerTLS and PacketPeerDTLS as underlying peers.
2023-01-28 11:08:02 +01:00
Pedro J. Estébanez
1de616d8dc
Fix code style and consistency of RWLock and Semaphore
2023-01-27 18:45:25 +01:00
Yuri Rubinsky
0f8f0ab126
Merge pull request #72170 from Chaosus/astar_fix
2023-01-27 18:52:22 +03:00
Rémi Verschelde
2b55ac445b
Merge pull request #72111 from raulsntos/method-info-metadata
...
Add `GodotTypeInfo::Metadata` to `MethodInfo`
2023-01-27 15:41:38 +01:00
Rémi Verschelde
f0e3c3f4c3
Merge pull request #72168 from RandomShaper/sensible_lock_return
...
Booleanize various sync primitives' wait & locking methods
2023-01-27 15:40:43 +01:00
Yuri Rubinsky
cc0a243ce0
Enchance the performance of AStar by using a LocalVector(2)
2023-01-27 16:28:11 +03:00
Rémi Verschelde
9d555f5c68
Merge pull request #62499 from fire/gltf-binary-img-compression
...
Handle gltf binary images
2023-01-27 11:35:55 +01:00
Pedro J. Estébanez
f630940591
Booleanize various sync primitives' wait & locking methods
2023-01-27 11:15:30 +01:00
K. S. Ernest (iFire) Lee
39922d7167
Handle gltf binary
...
[ Ignore and Warn | Extract Textures (default) | Optimize Loading Embedded as Basisu ]
Enable compressed mip maps from Basis Universal for faster compressions.
Increase the quality of Basis to avoid corruption.
To keep compatibility use the first mip of the previous internal Godot format.
Because texture names may have invalid filename characters, adds String::validate_filename to sanitize filenames for import pipeline use.
2023-01-27 02:02:02 -08:00
Rémi Verschelde
e92393d295
Merge pull request #67783 from EricEzaM/67715-input-event-action-as-text
...
Make InputEventAction as_text() return the text of the first valid event for the action.
2023-01-27 10:30:00 +01:00
Dmitrii Maganov
abe6d67232
GDScript: Fix test for read-only state of constants
2023-01-27 05:28:08 +02:00
Raul Santos
cac7a784d6
Add GodotTypeInfo::Metadata
to MethodInfo
2023-01-26 15:51:34 +01:00
Rémi Verschelde
31496c296a
Merge pull request #72078 from bitsawer/fix_optimize_vertices
...
Fix range loop iteration regressions
2023-01-26 01:11:25 +01:00
Rémi Verschelde
42424d3b8e
Merge pull request #71758 from adamscott/is_equal_ref
...
Add `@GlobalScope` `is_same(a, b)` and `Variant::identity_compare()`
2023-01-26 01:07:24 +01:00
bitsawer
8c25bcdb84
Fix range loop iteration regressions
2023-01-26 00:14:39 +02:00
Adam Scott
37248d7c87
Add @GlobalScope
is_same(a, b)
and Variant::identity_compare()
2023-01-25 10:46:21 -05:00
bruvzg
6def1dfdd5
Remove unused SUPER_L/R constants.
2023-01-25 14:22:28 +02:00
Rémi Verschelde
b9bf12e99a
Merge pull request #71142 from aaronfranke/never-duplicate-script
...
Add `PROPERTY_USAGE_NEVER_DUPLICATE` flag and use for script
2023-01-25 09:18:18 +01:00
Rémi Verschelde
93c650c10d
Merge pull request #69028 from YeldhamDev/its_raw_you_donkey
...
Make `Input.get_vector()` check for plain `strength` instead of the raw one
2023-01-25 09:15:45 +01:00
Rémi Verschelde
5df9a84128
Merge pull request #71968 from bruvzg/def_keys_no_label
...
[Input] Do not add key labels to the default actions, to display it correctly in the UI.
2023-01-25 09:15:13 +01:00
Aaron Franke
2a65f6812b
Add PROPERTY_USAGE_NEVER_DUPLICATE flag and use for script
...
Co-authored-by: Yakov Borevich <j.borevich@gmail.com>
2023-01-24 16:37:50 -06:00
Aaron Franke
2bc0bcbd26
PropertyUsage: Rename "DO_NOT_SHARE_ON_DUPLICATE" to "ALWAYS_DUPLICATE"
2023-01-24 16:05:07 -06:00
Yuri Sizov
fab9926a95
Merge pull request #65137 from dalexeev/editor-naming
...
Rearrange `editor/naming/*` project settings
2023-01-24 22:26:03 +03:00
bruvzg
57b5d112f7
[Input] Do not add key labels to the default actions, to display it correctly in the UI.
2023-01-24 14:49:11 +02:00
Jan Haller
15686ca786
Fix bind " convergence_dist" containing space
2023-01-23 20:07:59 +01:00
bruvzg
daad4aed62
Cleanup and unify keyboard input.
...
- Unify keycode values (secondary label printed on a key), remove unused hardcoded Latin-1 codes.
- Unify IME behaviour, add inline composition string display on Windows and X11.
- Add key_label (localized label printed on a key) value to the key events, and allow mapping actions to the unshifted Unicode events.
- Add support for physical keyboard (Bluetooth or Sidecar) handling on iOS.
- Add support for media key handling on macOS.
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2023-01-23 15:08:12 +02:00
Rémi Verschelde
5b1df48c6c
Convert en_GB spelling to en_US with codespell
2023-01-23 11:02:20 +01:00
Rémi Verschelde
5726bf578d
Merge pull request #71676 from vnen/gdscript-unicode-identifiers
...
Add support for Unicode identifiers in GDScript and Expression
2023-01-23 10:24:33 +01:00
Rémi Verschelde
56fdef281e
Merge pull request #71851 from mihe/error-macros
...
Fix incorrect index error macros
2023-01-22 16:08:34 +01:00
Rémi Verschelde
c9243c37dc
Merge pull request #71846 from Chaosus/astar_local_vector
...
Enchance the performance of `AStar` by using a `LocalVector`
2023-01-22 16:06:45 +01:00
Mikael Hermansson
22c1785826
Fix incorrect index error macros
2023-01-22 12:23:56 +01:00
Rémi Verschelde
cd031fd31a
Merge pull request #71663 from bruvzg/init_pos_x
...
Reorganize main and sub-window initial position properties.
2023-01-22 11:25:58 +01:00
Yuri Rubinsky
078600a3c4
Enchance the performance of AStar
by using a LocalVector
2023-01-22 12:04:41 +03:00
kobewi
615c517034
Use range iterators in LocalVector loops
2023-01-21 18:44:42 +01:00
kobewi
277d5361df
Add range iterator to LocalVector
2023-01-21 18:42:04 +01:00
George Marques
86ee5f39c4
Add support for Unicode identifiers in Expression class
2023-01-21 13:39:42 -03:00
Rémi Verschelde
ebd0b40f6e
Merge pull request #71687 from reduz/support-script-class-name-in-efs
...
Support script global resource name in EditorFileSystem
2023-01-21 16:54:23 +01:00
Juan Linietsky
dddd8d43f6
Support script global resource name in EditorFileSystem
...
* Works for binary and text files.
* Makes EditorQuickOpen work with custom resources again.
* Information is cached and easily accessible.
Properly fixes #66179 . Supersedes #66215 and supersedes #62417
**WARNING**: This required breaking backwards binary compatibility (.res and .scn files). Files saved after this PR is merged will no longer open in any earlier versions of Godot.
2023-01-21 14:19:27 +01:00
Rémi Verschelde
c02572d3d0
Merge pull request #71683 from reduz/fast-script-class-inheritance-check
...
Implement a quick script inheritance check
2023-01-21 11:31:05 +01:00
Rémi Verschelde
a3c8ba6cd5
Merge pull request #71396 from reduz/fix-broken-userdir
...
Fix cases of broken user:// paths.
2023-01-21 11:30:37 +01:00
Rémi Verschelde
2435eef617
Merge pull request #71390 from reduz/fix-json-as-resource
...
Fixes to JSON as resource
2023-01-21 11:30:08 +01:00
Jan Haller
b8c4ae28b7
Fix use of bool
in extension header
2023-01-19 22:21:19 +01:00
Rémi Verschelde
ab5c75b9ad
Merge pull request #71649 from raulsntos/array-indexer
...
Add property usage to array indexer
2023-01-19 19:33:05 +01:00
Rémi Verschelde
4ca6a9809d
Merge pull request #44596 from KoBeWi/ 🧹 🧹 🧹
...
Cleanup unused engine code v2
2023-01-19 19:32:51 +01:00
Juan Linietsky
3dcf380161
Implement a quick script inheritance check
...
Optimizes, simplifies and fixes EditorResourcePicker (was not refreshing custom clases).
2023-01-19 16:47:01 +01:00
Raul Santos
97610c8bfc
Add property usage to array indexer
...
This makes the `Array` indexer show as returning `Variant` instead of `void` in the documentation.
2023-01-19 14:22:11 +01:00
kobewi
c0083e431b
Cleanup unused engine code v2
2023-01-19 13:02:18 +01:00
bruvzg
aade5abd4f
Reorganize main and sub-window initial position properties.
2023-01-19 13:44:06 +02:00
bruvzg
db7d8c2d87
[GDExtension] Expose some low level functions and String operators.
2023-01-19 12:50:49 +02:00
Rémi Verschelde
4679f8724a
Merge pull request #71628 from reduz/fixup-editor-file-system-script-parsing
...
Clean up EditorFileSystem script parsing
2023-01-19 10:09:55 +01:00
Juan Linietsky
5bdc0d97d3
Clean up EditorFileSystem script parsing
...
* Optimize only update modified/added/removed files.
* Clean up documentation parsing.
2023-01-18 20:56:45 +01:00
Pedro J. Estébanez
6616b0619d
Revert "Make MessageQueue::push_callable(p) work with bound arguments"
...
This reverts commit 81b1ebddef
.
2023-01-18 19:20:40 +01:00
Rémi Verschelde
b5f3ac522e
Merge pull request #71400 from touilleMan/gdextension-dump-global_enum-is_bitfield-field
...
Add missing is_bitfield field for global enum in extension_api_dump
2023-01-18 17:47:58 +01:00
Rémi Verschelde
b516d05245
Merge pull request #71622 from RandomShaper/mq_bound
...
Make MessageQueue::push_callable(p) work with bound arguments
2023-01-18 17:33:34 +01:00
Pedro J. Estébanez
81b1ebddef
Make MessageQueue::push_callable(p) work with bound arguments
2023-01-18 14:54:17 +01:00
Rémi Verschelde
6da836bbb4
Merge pull request #71514 from akien-mga/os-unset_environment
...
OS: Add `unset_environment`, better validate input
2023-01-18 08:35:43 +01:00
Rémi Verschelde
4005fc4b8d
Merge pull request #71279 from vonagam/fix-iterator-number-type
...
GDScript: Fix typing of iterator in for loop
2023-01-16 22:21:26 +01:00
Rémi Verschelde
91a54cdbc1
Linux/BSD: Add LINUXBSD_ENABLED define for non X11-related checks
2023-01-16 17:01:35 +01:00
Rémi Verschelde
818a9e99a4
OS: Add unset_environment
, better validate input
...
Instead of returning an undocumented boolean error code, we do the
validation checks that should ensure a successful result.
Based on:
- https://linux.die.net/man/3/setenv
- https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-setenvironmentvariable
2023-01-16 16:39:44 +01:00
Rémi Verschelde
5ca6c1f9db
Merge pull request #70557 from KoBeWi/class_yeet
...
Move global script class cache to separate file
2023-01-16 12:49:08 +01:00
Rémi Verschelde
d94a46ab95
Merge pull request #64021 from ajreckof/change-shortcut-for-rect-tool-tilemap
...
Add `Key::CTRL_OR_CMD` and use it to fix shortcut for tilemap painting tools on macOS
2023-01-16 12:47:07 +01:00
kobewi
6444c7d127
Move global script class cache to separate file
2023-01-16 10:16:30 +01:00
Juan Linietsky
3a93efefee
Fix cases of broken user:// paths.
...
* Properly validate paths when supplying the project name.
* Ensures that the user data dir will always be valid.
Fixes 69366.
2023-01-15 19:05:00 +01:00
ajreckof
4309dffc6a
add CMD_OR_CTRL as a Key and not just a key modifier
2023-01-15 18:49:20 +01:00
Raul Santos
7560340ef6
Rename center
method to get_center
in Plane.
2023-01-15 17:18:50 +01:00
Emmanuel Leblond
38d9e8b366
Add missing is_bitfield field for global enum in extension_api_dump
2023-01-14 16:08:41 +01:00
Juan Linietsky
1aaff63b8f
Fixes to JSON as resource
...
* It was not a resource, hence it was not working to load it as such.
* Changed so, when opened in editor, a parse error will not fail load and the text will be kept.
* This should allow proper editing from within the code editor, including syntax checking and saving files as-is in text.
Partially addresses #66820 .
The code editor still needs to be changed for this to work.
2023-01-14 14:41:51 +01:00
Juan Linietsky
6f0e210093
Refactor ProjectSetting overrides
...
* Overrides no longer happen for set/get.
* They must be checked with a new function: `ProjectSettings::get_setting_with_override()`.
* GLOBAL_DEF/GLOBAL_GET updated to use this
This change solves many problems:
* General confusion about getting the actual or overriden setting.
* Feature tags available after settings are loaded were being ignored, they are now considered.
* Hacks required for the Project Settings editor to work.
Fixes #64100 . Fixes #64014 . Fixes #61908 .
2023-01-13 15:13:56 +01:00
Dmitrii Maganov
40613ebd21
GDScript: Fix typing of iterator in for loop
2023-01-13 15:36:11 +02:00
Eric M
7c73b6c71c
Fix Project Settings array/dicts initial value being shared instances of the current value.
2023-01-13 21:48:43 +10:00
Rémi Verschelde
c2790ec2b9
Merge pull request #68450 from KoBeWi/bracket_escapist
...
Allow to escape closing brackets in CFG tags
2023-01-12 21:53:15 +01:00
Danil Alexeev
8f706be6fa
Rearrange editor/naming/*
project settings
2023-01-12 11:41:13 +03:00
Rémi Verschelde
0e4e782ada
Merge pull request #70714 from Calinou/doc-os-stdin
...
Improve documentation for `OS.read_string_from_stdin()`
2023-01-12 09:24:47 +01:00
Hugo Locurcio
86b8176864
Improve documentation for OS.read_string_from_stdin()
...
This makes it clearer that calls to this method are blocking.
The unused method parameter was also removed.
2023-01-11 19:57:25 +01:00
Eric M
7b66806dd3
Make InputEventAction as_text() return the text of the first valid event for the action.
2023-01-12 00:10:44 +10:00
Juan Linietsky
33d3b7eea7
Fix Callable call error reporting.
...
* Fix potential crash when using bind in `Variant::get_callable_error_text()`
* Properly compute bound arguments so they can be properly shown.
* Add a function to obtain the actual bound arguments.
2023-01-10 13:56:27 +01:00
Rémi Verschelde
0231b4a0e8
Merge pull request #70726 from heppocogne/Fix-open_compressed-get_path
...
Fix `get_path()` is not working when files are opend with `open_compressed`
2023-01-10 10:48:15 +01:00
Rémi Verschelde
d3fc9d9e41
Merge pull request #71051 from vonagam/consts-are-deep-start
...
GDScript: Begin making constants deep, not shallow or flat
2023-01-09 23:22:59 +01:00
Rémi Verschelde
be4e9dfeab
Merge pull request #69616 from reduz/change-uuid
...
Ability to change a resource UID from API
2023-01-09 23:08:18 +01:00
Juan Linietsky
07a964fce3
Ability to change a resource UID from API
...
* Works for text, binary and imported resources
* Allows better clean up of duplicate files.
TODO (future PRs):
* Use this API for assigning new UIDs to copied files.
* Use this API for UID conflict on FS scanning (if more than one file has the same UID, the newer one(s) should get assigned a different UID).
2023-01-09 18:52:00 +01:00
Juan Linietsky
0e0a6bb39b
Removed unused property hints and Object::get_translatable_strings()
...
* Remove unused `EditorPropertyMember` and related hints, previouly used by
VisualScript. Such logic should be implemented in the VS module itself.
* As the above broke compatibility with the VS module, clean up the other
hacks that were still in core in support of VisualScript.
* `PROPERTY_USAGE_INTERNATIONALIZED` was only used in Object's
`get_translatable_strings()`, which is a legacy function not used anywhere.
So both are removed.
* Reordered some usage flags after the above removal to minimize the diff.
* General clean up.
Fixes #30203 .
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-01-09 16:56:01 +01:00
Rémi Verschelde
88940571f2
Merge pull request #71082 from AThousandShips/array_find_fix
...
Fix for comparisons with PackedArrays
2023-01-09 14:19:09 +01:00
Rémi Verschelde
d46568205d
Merge pull request #64795 from RandomShaper/fix_saferefcount
...
Prevent misuse of SafeRefCount
2023-01-09 14:18:53 +01:00
Pedro J. Estébanez
b1c7665866
Prevent misuse of SafeRefCount
2023-01-09 10:17:55 +01:00
Rémi Verschelde
31f94574d4
Merge pull request #70996 from reduz/properly-report-callable-bound-arguments
...
Properly report Callable bound arguments
2023-01-09 08:34:28 +01:00
Rémi Verschelde
e7905f4f48
Merge pull request #71045 from reduz/use-bitfield-in-core-types
...
Use BitField<> in core type masks
2023-01-09 08:33:26 +01:00
Juan Linietsky
0e0ca01bce
Properly report Callable bound arguments
...
Fixes #63213
Adds a function: Callable::get_amount_of_arguments_bound() to query this in callables. Exposed to the engine API.
2023-01-08 23:35:11 +01:00
Rémi Verschelde
eff2739cf7
Merge pull request #71052 from Chaosus/fix_astargrid2d
...
Fix error in `AstarGrid2D::get_id_path`
2023-01-08 22:40:41 +01:00
Rémi Verschelde
0081c59198
Merge pull request #71013 from voidedWarranties/fix_ext_property_default_value
...
Fix `ScriptInstanceExtension::get_property_default_value` return value
2023-01-08 22:36:10 +01:00
Juan Linietsky
2b815df3c1
Use BitField<> in core type masks
...
* All core types masks are now correctly marked as bitfields.
* The enum hacks in MouseButtonMask and many other types are gone. This ensures that binders to other languages non C++ can actually implement type safe bitmasks.
* Most bitmask operations replaced by functions in BitField<>
* Key is still a problem because its enum and mask at the same time. While it kind of works in C++, this most likely can't be implemented safely in other languages and will have to be changed at some point. Mostly left as-is.
* Documentation and API dump updated to reflect bitfields in core types.
2023-01-08 22:17:40 +01:00
Ninni Pipping
86240d97e1
Fix for PackedArray comparison
2023-01-08 21:22:28 +01:00
Yuri Rubinsky
6640eb8065
Fix error in AstarGrid2D::get_id_path
2023-01-08 10:34:33 +03:00
Dmitrii Maganov
5e2ac1a31e
GDScript: Begin making constants deep, not shallow or flat
2023-01-08 07:29:10 +02:00
Rémi Verschelde
d642274f75
Merge pull request #70939 from bruvzg/win_screen_2
...
Add support for the custom initial screen for the main window, fix primary screen detection.
2023-01-07 13:21:36 +01:00
Rémi Verschelde
41b74c675f
Merge pull request #71000 from reduz/callable-bind-from-array
...
Allow binding Callable arguments from an array
2023-01-07 13:18:53 +01:00
bruvzg
2718a7b7d3
Add support for the custom initial screen for the main window, fix primary screen detection.
2023-01-07 11:14:35 +02:00
voidedWarranties
411719a399
Fix ScriptInstanceExtension::get_property_default_value
return value
2023-01-06 19:55:02 -08:00
Rémi Verschelde
163f6f5fe8
Merge pull request #68429 from KoBeWi/PropertySettings
...
Add PropertyInfo overload for GLOBAL_DEF
2023-01-06 22:59:29 +01:00
Rémi Verschelde
a12b326fab
Merge pull request #70995 from reduz/do-not-bind-variant-immutable
...
Unbind Variant methods that change immutable types.
2023-01-06 22:56:20 +01:00
Juan Linietsky
d762a0395a
Allow binding Callable arguments from an array
...
Restores 3.x functionality that was removed in the Signal/Callable refactor of 4.0.
Fixes #64668 .
Implements https://github.com/godotengine/godot-proposals/issues/6034
Usage:
```GDScript
callable.bindv([arg1,arg2,arg3])
```
2023-01-06 22:37:25 +01:00
Juan Linietsky
576ae694e0
Unbind Variant methods that change immutable types.
...
Fixes #62706 .
Code is commented instead of removed to clarify why they should not be re-added.
2023-01-06 17:17:43 +01:00
Yuri Rubinsky
4a45c76737
Fix jumping in AStarGrid2D
when DIAGONAL_MODE_NEVER
is enabled
2023-01-06 13:40:24 +03:00
Rémi Verschelde
1816f49886
Merge pull request #64253 from heppocogne/Fix-native-enum-release-1
...
Register enum type names in release build
2023-01-06 00:10:31 +01:00
Rémi Verschelde
e5f6e03490
Merge pull request #70547 from TokageItLab/pingpong-wrap
...
Fix pingpong-loop with `loop_wrap` is not working & clean-up cubic interpolation key retrieve process
2023-01-06 00:10:18 +01:00
Rémi Verschelde
d95794ec8a
One Copyright Update to rule them all
...
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.
It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).
We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).
Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
Rémi Verschelde
565ae3b767
Merge pull request #67694 from aaronfranke/its-time
...
Remove duplicate Month and Weekday enums
2023-01-03 23:21:19 +01:00
Rémi Verschelde
f0893890e1
Merge pull request #70482 from bruvzg/ios_pencil
...
[iOS] Add Apple Pencil pressure and tilt support.
2023-01-03 15:51:39 +01:00
Rémi Verschelde
4e360ac612
Merge pull request #70702 from vnen/gdscript-error-on-assign-void
...
GDScript: Error when assigning return value of void function
2023-01-03 12:23:00 +01:00
Clay John
61c7b7fb13
Merge pull request #67853 from Zylann/fix_lods_with_doubles
...
Fix usages of mesh simplification functions in float=64 builds
2023-01-02 12:33:44 -07:00
Yuri Rubinsky
b28571ca3e
Optimize wrapf
function a bit
2023-01-01 23:17:29 +03:00
kleonc
db48df3e6e
Ensure MainLoop and its custom script is set right after it's resolved
2022-12-31 18:22:43 +01:00
George Marques
0c15844551
GDScript: Error when assigning return value of void function
...
This also makes built-in method calls empty the return value when the
method is void, to avoid keeping returning a garbage value in such case.
2022-12-30 12:08:58 -03:00
heppocogne
ea11ffc88c
Fix get_path()
is not working when files are opend with open_compressed
...
And also fixed `get_absolute_path()` in the same way
2022-12-30 10:31:12 +09:00
heppocogne
6f31f7b0bc
Register native base class name of enum types when release build
2022-12-30 00:30:18 +09:00
Aaron Franke
8d7d1b0bb2
Remove duplicate Month and Weekday enums
...
Well, they were duplicately-exposed, but triplicately-defined.
2022-12-26 15:16:25 -06:00
Silc Renew
8745c206c4
Fix pingpong with loop wrap is not working
2022-12-25 18:16:38 +09:00
Yuri Rubinsky
16efd0b0fc
Divide AStarGrid2D::default_heuristic
into two different heuristics
2022-12-24 09:31:02 +03:00
bruvzg
223a612c0c
[iOS] Add Apple Pencil pressure and tilt support.
2022-12-23 23:44:10 +02:00
Rémi Verschelde
f5a6c9cf50
Merge pull request #62029 from Maran23/optional-default-value-project-settings
...
Allow to specify a default value in `ProjectSettings.get_setting()`
2022-12-21 22:23:43 +01:00
Marius Hanl
5aa243f9da
Added the possibility to define a default value in ProjectSettings.get_setting(), which is used when no setting is set.
...
Also added tests for the project settings.
Co-authored-by: Yuri Sizov <11782833+YuriSizov@users.noreply.github.com>
2022-12-21 19:49:57 +01:00
Rémi Verschelde
186f6f0d87
Merge pull request #70403 from rburing/fix_edge_map_capacity
...
Fix edge map capacity in convex hull computer
2022-12-21 18:29:38 +01:00
Rémi Verschelde
1df71f89a8
Merge pull request #70355 from Chaosus/gds_fix_loops
...
Fix empty zero assigners for the variant types
2022-12-21 18:25:28 +01:00
Ricardo Buring
e0e45e013e
Fix edge map capacity in convex hull computer
...
The desired capacity could be less than the default, so reserve would
error.
2022-12-21 17:12:36 +01:00
stmSi
96b0fbb756
Fix crashed when compressing empty image data.
2022-12-21 16:39:35 +06:30
Rémi Verschelde
4f3ec4121a
Merge pull request #70350 from Chaosus/stringname_operator
...
Add missing != operator to `StringName`
2022-12-21 09:21:32 +01:00
Yuri Rubinsky
0bcbf8e00d
Add get_point_position
method to AStarGrid2D
2022-12-20 23:21:38 +03:00
Yuri Rubinsky
fff3d812a5
Fix empty zero assigners for the variant types
2022-12-20 19:02:44 +03:00
Yuri Rubinsky
522d4243bf
Add missing != operator to StringName
2022-12-20 17:25:54 +03:00
Rémi Verschelde
2a04b18d37
Merge pull request #70339 from Chaosus/astargrid2d_weight_scale
...
Restore weight scale for `AStarGrid2D` (partially)
2022-12-20 13:30:37 +01:00
Rémi Verschelde
f318d60e06
Merge pull request #65376 from reduz/astc-support
...
Implement basic ASTC support
2022-12-20 12:44:30 +01:00
Juan Linietsky
71d21c7ccb
Implement basic ASTC support
...
Implements basic ASTC support:
* Only 4x4 and 8x8 block sizes.
* Other block sizes are too complex to handle for Godot image compression handling. May be implemented sometime in the future.
The need for ASTC is mostly for the following use cases:
* Implement a high quality compression option for textures on mobile and M1 Apple hardware.
* For this, the 4x4 is sufficient, since it uses the same size as BPTC.
ASTC supports a lot of block sizes, but the benefit of supporting most of them is slim, while the implementation complexity in Godot is very high.
Supporting only 4x4 (and 8x8) solves the real problem, which is lack of a BPTC alternative on hardware where it's missing.
Note: This does not yet support encoding on import, an ASTC encoder will need to be added.
2022-12-20 11:26:30 +01:00
Yuri Rubinsky
8c478dcec9
Restore weight scale for AStarGrid2D
(partially)
2022-12-20 12:22:32 +03:00
Rémi Verschelde
418ec03a40
Merge pull request #65990 from touilleMan/gdextension-expose-builtins-members-real-types
...
Expose in builtins' members internal type & size (on top of offset) in extension_api.json
2022-12-19 16:26:05 +01:00
Hugo Locurcio
70f6d42c92
Remove Disable Touch debug project setting
...
This project setting was only implemented and iOS and likely served
no purpose outside of debugging during development of engine features.
It was also located in a confusing location in the project settings
editor, as it was located below a root category (which appears in bold
and is normally not seen as clickable by users).
2022-12-17 18:47:29 +01:00
Rémi Verschelde
ffed638cbc
Merge pull request #70116 from Calinou/vibrate-handheld-silence-warning
...
Silence `Input.vibrate_handheld()` warning as it's already documented
2022-12-16 13:47:11 +01:00
Haoyu Qiu
207e52c161
Fix String::word_wrap() for long words
...
- Changes `TextServer.string_get_word_breaks()`
- Returns pairs of boundary start and end offsets
- Accepts `chars_per_line` to return line breaks
- Removes `String::word_wrap()`
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2022-12-16 13:18:57 +08:00
Hugo Locurcio
4a991887bf
Silence Input.vibrate_handheld()
warning as it's already documented
...
The warning causes messages to be spammed if you are calling this
method in a game that runs on both desktop and mobile platforms,
unless you guard all calls to `Input.vibrate_handheld()` with
`OS.has_feature("mobile") or OS.has_feature("web")`.
Since the limitation is already documented (and is obvious enough
given the method's name), the warning message is redundant.
2022-12-16 01:12:20 +01:00
bruvzg
53c76fa5d1
[RTL/TextServer] Add baseline inline alignment mode for objects and RTL tables.
2022-12-15 23:16:02 +02:00
Hei
cc245ff8a6
Fix "p_zfar" to "p_znear" in Projection.create_orthogonal
...
Was confused why it always gave inf:s.
2022-12-15 19:03:33 +02:00
Emmanuel Leblond
2c2fd0820a
Expose in builtins' members internal type & size (on top of offset) in extension_api.json
2022-12-15 12:43:42 +01:00
Rémi Verschelde
762c6d4b36
Merge pull request #69709 from RandomShaper/refactor_spirv_reflection
...
Refactor SPIR-V reflection into a generic RenderingDevice feature
2022-12-15 09:21:35 +01:00
Jan Haller
ebb3306da3
Extension header: amend const correctness of p_args
parameters
...
A while ago, argument arrays were passed as const GDNativeTypePtr* (void* const*)
This was changed to GDNativeConstTypePtr* (void const**), adding const on the value but removing it on the pointer level.
This commit changes argument types to const GDExtensionConstTypePtr* (void const* const*).
Besides object pointers, the same change is applied to variant pointers.
2022-12-14 18:25:30 +01:00
Bastiaan Olij
7502e1dc0d
Improve logic around using Ref<T> with GDExtension virtual functions
2022-12-13 10:54:29 +11:00
lawnjelly
491594ef0f
VariantParser make readahead optional
...
It turns out some areas are independently moving / reading filepointers outside of the VariantParser, which can cause the readahead caching to get out of sync.
This PR makes the VariantParser readahead to be optional to allow for these use cases.
2022-12-12 15:14:39 +00:00
Rémi Verschelde
5f35b1d516
Sync controller mappings DB with SDL2 community repo
...
Synced with gabomdq/SDL_GameControllerDB@adf7ec1edf
2022-12-12 13:43:15 +01:00
Pedro J. Estébanez
2095ca26d0
Add default, zeroing constructor to BitField
2022-12-12 12:12:26 +01:00
Rémi Verschelde
f1edd03d4c
Merge pull request #69718 from groud/finally_rename_gdnative_to_gdextension
...
Rename all gdnative occurences to gdextension
2022-12-12 11:43:59 +01:00
Gilles Roudière
be1c9d677d
Rename all gdnative occurences to gdextension
...
Non-exhaustive list of case-sensitive renames:
GDExtension -> GDNative
GDNATIVE -> GDEXTENSION
gdextension -> gdnative
ExtensionExtension ->Extension (for where there was GDNativeExtension)
EXTENSION_EXTENSION ->EXTENSION (for where there was GDNATIVE_EXTENSION)
gdnlib -> gdextension
gdn_interface -> gde_interface
gdni -> gde_interface
2022-12-12 11:04:57 +01:00
kobewi
7c6b659bd7
Add PropertyInfo overload for GLOBAL_DEF
2022-12-11 21:36:48 +01:00
Rémi Verschelde
e7d892159c
Merge pull request #69538 from mihe/feature-tag-double
...
Add feature tags to signify engine float precision
2022-12-11 11:51:59 +01:00
Rémi Verschelde
907298d673
Merge pull request #68747 from rune-scape/rune-stringname-unification
...
GDScript: Unify StringName and String
2022-12-09 18:06:48 +01:00
Rémi Verschelde
2d02cb67ee
Merge pull request #69661 from Mickeon/fix-editor-cannot-disconnect-signal
...
Fix unable to disconnect signal in Editor once created
2022-12-09 07:34:29 +01:00
Micky
885f2a4eca
Fix unable to disconnect signal in Editor once created
...
Adds a CONNECT_INHERITED flag to connections, only available in editor builds. This flag denotes that the signal has been inherited from a previous Scene in the instancing hierarchy.
2022-12-08 13:36:48 +01:00
Adam Scott
4a16b8630e
Fix ResourceLoader::thread_load_tasks
crash
2022-12-07 16:59:10 -05:00
Mikael Hermansson
8c108177d7
Add feature tags to signify engine float precision
2022-12-07 16:13:17 +01:00