Thaddeus Crews
bf9ef5f8a5
Merge pull request #100564 from YYF233333/iwyu
...
Remove unused headers in core
2024-12-19 19:59:55 -06:00
Yufeng Ying
be86ce3103
Apply iwyu suggestion in core.
2024-12-19 00:43:47 +08:00
Rémi Verschelde
851d8e49e8
Merge pull request #100386 from hpvb/core-ubsan
...
Core: Fix UBSAN reports
2024-12-18 17:23:32 +01:00
HP van Braam
240f510fa7
Core ubsan fixes
...
This fixes UBSAN errors reported by running our testsuite, importing the
TPS demo, and running the TPS demo. I have tried, wherever possible, to
fix issues related to reported issues but not directly reported by UBSAN
because thse code paths just happened to not have been exercised in
these cases.
These fixes apply only to errors reported, and caused by, core/
The following things have been changed:
* Make sure there are no implicit sign changing casts in core.
* Explicitly type enums that are part of a public API such that users of
the API cannot pass in wrongly-sized values leading to potential stack
corruption.
* Ensure that memcpy is never called with invalid or null pointers as
this is undefined behavior, and when the engine is built with
optimizations turned on leads to memory corruption and hard to debug
crashes.
* Replace enum values only used as static values with constexpr static
const values instead. This has no runtime overhead. This makes it so
that the size of the enums is explicit.
* Make sure that nan and inf is handled consistently in String.
* Implement a _to_int template to ensure that all of the paths use the
same algorhithm, and correct the negative integer case.
* Changed the way the json serializer precision work, and added tests to
verify the new behavior. The behavior doesn't quite match master in
particulary for negative doubles as the original code tried to cast -inf
to an int. This then led to negative doubles losing all but one of
their decimal points when serializing. Behavior in GDScript remains
unchanged.
2024-12-18 14:31:12 +01:00
Rémi Verschelde
d328c00ad3
Merge pull request #99667 from RandomShaper/res_load_verb
...
ResourceLoader: Print load message only when actually loading
2024-12-18 09:53:06 +01:00
Pedro J. Estébanez
6740823e40
ResourceLoader: Print load message only when actually loading
2024-12-18 09:36:16 +01:00
Thaddeus Crews
24a8c05cbd
Merge pull request #100335 from kiroxas/ImproveResourceUID--id_to_textPerformance
...
Improve `ResourceUID::id_to_text` performance
2024-12-16 12:10:05 -06:00
Kiro
5f401e63b5
Improve ResourceUID::id_to_text performance
2024-12-15 10:41:13 +01:00
David Snopek
8c01fc2274
Fix StreamPeerExtension::put_partial_data() to call _put_partial_data()
2024-12-12 08:31:12 -06:00
Rémi Verschelde
1e1e862204
Merge pull request #98100 from BlueCube3310/image-cleanup-more
...
Image: More cleanup and reduced code duplication
2024-12-12 14:09:49 +01:00
BlueCube3310
335077a03f
Image: More cleanup and reduced code duplication.
2024-12-12 11:52:59 +01:00
Thaddeus Crews
8f16f864a6
Merge pull request #99765 from dalexeev/core-fix-json-from-to-native
...
Core: Fix `JSON.{from,to}_native()` issues
2024-12-10 14:15:53 -06:00
Lukas Tenbrink
b5c31ebb41
Add contains_char() for single-character 'contains' calls.
2024-12-06 20:23:35 +01:00
Thaddeus Crews
451fd7a436
Merge pull request #99540 from dalexeev/core-dont-gen-json-uid-files
...
Core: Do not generate `*.uid` files for JSON, certificates, and translations
2024-12-04 11:02:09 -06:00
Thaddeus Crews
ab58a339df
Merge pull request #99712 from KoBeWi/bug_spawner_spawns_new_bugs_to_fix
...
Fix UID support in MultiplayerSpawner
2024-12-04 11:02:02 -06:00
Danil Alexeev
b91bacb43a
Core: Do not generate *.uid files for JSON, certificates, and translations
2024-12-04 14:26:10 +03:00
kobewi
67b95f341e
Fix UID support in MultiplayerSpawner
2024-12-03 22:11:43 +01:00
Thaddeus Crews
44cda51110
Merge pull request #98812 from bruvzg/macos_bundles_as_file
...
[macOS] Handle bundles as files in the embedded file dialogs.
2024-12-03 14:41:07 -06:00
Thaddeus Crews
1719f8ed3d
Merge pull request #99834 from kiroxas/passLengthToParseUTF8
...
Ensure `parse_utf8` has length of string passed in when available
2024-12-03 14:41:06 -06:00
Thaddeus Crews
156bc92282
Merge pull request #98397 from adamscott/add-tmp-support
...
Add temp utilities (alias `OS::get_temp_dir()`, `FileAccess::create_temp()`, and `DirAccess::create_temp()`)
2024-12-03 14:40:59 -06:00
Thaddeus Crews
a135a6478a
Merge pull request #98383 from RandomShaper/deprecate_unsafe_th_rend
...
Deprecate the pointless unsafe threading model for rendering
2024-12-03 14:40:56 -06:00
bruvzg
d5e599f77e
[macOS] Handle bundles as files in the embedded file dialogs.
2024-12-03 12:41:52 +02:00
Adam Scott
1b3e483899
Add file and dir temporary utilities
...
Co-authored by @Alex2782 for the Android bindings.
Many thanks to the reviewers also.
Co-authored-by: Alex <alex.hart.278@gmail.com >
2024-12-02 12:08:14 -05:00
Kiro
83d4bde0a2
When calling code has length of string, pass it to parse_utf8
2024-12-01 08:31:22 +01:00
bruvzg
a4b17e7852
[FileAccess] Return error codes from store_* methods.
2024-11-29 23:22:31 +02:00
Rémi Verschelde
f4f6f5fb55
Merge pull request #99537 from BlueCube3310/betsy-bc1-bc5
...
Betsy: Add BC3 and BC5 support
2024-11-29 22:02:06 +01:00
Danil Alexeev
bd1a35ce9e
Core: Fix JSON.{from,to}_native() issues
2024-11-29 12:43:06 +03:00
BlueCube3310
88ffe07de9
Betsy: Add BC3 and BC5 support
2024-11-27 12:27:05 +01:00
Thaddeus Crews
c35e4c41d2
Merge pull request #97716 from pafuent/add_half_precision_floating_point_to_stream_peer
...
Add half precision floating point support to `StreamPeer` and `FileAccess`
2024-11-22 14:54:19 -06:00
Rémi Verschelde
219b14b905
Revert "ResourceLoader: Report error if resource type unrecognized"
...
This reverts commit fe21913ee8 .
2024-11-20 16:50:30 +01:00
Thaddeus Crews
0dda6a974c
Merge pull request #99286 from KoBeWi/uid_in_a_path_factory
...
Support uid:// in more places
2024-11-18 09:23:44 -06:00
Thaddeus Crews
80e73b0dca
Merge pull request #98483 from timothyqiu/pack-dir-exists
...
`DirAccessPack`: Fix `file_exists` and `dir_exists` in exported projects
2024-11-18 09:23:37 -06:00
A Thousand Ships
68f638cf02
Use (r)find_char instead of (r)find for single characters
2024-11-17 10:02:18 +01:00
kobewi
3b6705a641
Support uid:// in more places
2024-11-16 21:43:18 +01:00
kobewi
0dabcd9941
Resource UID fixes and improvements
2024-11-14 16:37:54 +01:00
Pedro J. Estébanez
a46ea9d064
Deprecate the pointless unsafe threading model for rendering
2024-11-14 10:43:29 +01:00
Thaddeus Crews
1627912d11
Merge pull request #98918 from bruvzg/pck_enc_iv
...
Allow setting custom initialization vector for FileAccessEncrypted. Add export setting to set static seed for PCK encryption initialization vectors.
2024-11-13 08:34:31 -06:00
Pāvels Nadtočajevs
93a21c3efc
Fix PackedData::has_path() using wrong path format.
2024-11-13 09:50:10 +02:00
bruvzg
45593d45b3
Allow setting custom initialization vector for FileAccessEncrypted. Add export setting to set static seed for PCK encryption initialization vectors.
2024-11-13 08:16:12 +02:00
Thaddeus Crews
8fd672cd87
Merge pull request #98120 from dalexeev/core-typed-dicts-bin-serialization
...
Core: Add typed dictionary support for binary serialization
2024-11-12 09:28:00 -06:00
Thaddeus Crews
d3c8e4ed5d
Merge pull request #98084 from BlueCube3310/image-cleanup-v2
...
Clean up Image
2024-11-12 09:27:50 -06:00
Thaddeus Crews
1cbe9715ea
Merge pull request #98969 from Faless/net/split_sockets
...
[Net] Split Unix/Windows NetSocket implementation
2024-11-12 09:27:40 -06:00
Pablo Andres Fuente
eb86670f94
Add half precision floating point support to StreamPeer
...
Closes godotengine/godot-proposals#5983
Adds put/get methods to `StreamPeer` that handles half precision
floating point values.
Adds endode/decode half precision floating point to `marshalls`.
Adds `get_half` and `store_half` to `FileAccess`
Co-Authored-By: "Alfonso J. Ramos" <theraot@gmail.com >
2024-11-12 08:46:52 -03:00
Danil Alexeev
9ba098b670
Core: Add typed dictionary support for binary serialization
2024-11-12 10:18:56 +03:00
Thaddeus Crews
2ed6d12652
Merge pull request #97363 from reduz/deterministic-gen-suberesources-id
...
Allow passing UID to importer
2024-11-11 14:18:30 -06:00
Thaddeus Crews
c8ff788052
Merge pull request #96590 from reduz/list-directory
...
Provide a reliable way to see original resources in a directory
2024-11-11 14:18:28 -06:00
Thaddeus Crews
d76fbb7a40
Merge pull request #97356 from reduz/pck-file-removal
...
Add ability for PCK patches to remove files
2024-11-11 14:18:27 -06:00
Thaddeus Crews
2430b7f9b4
Merge pull request #97352 from reduz/uids-everywhere
...
Universalize UID support in all resource types
2024-11-11 14:18:25 -06:00
Thaddeus Crews
9be806aef1
Merge pull request #92986 from Repiteo/core/ref-instantiate-integration
...
Core: Integrate Ref `instantiate` where possible
2024-11-11 14:18:15 -06:00
Juan
2ac562cdf8
Add ability for PCK patches to remove files
...
Co-authored-by: Mikael Hermansson <mikael@hermansson.io >
2024-11-11 16:34:37 +01:00