Commit Graph

1575 Commits

Author SHA1 Message Date
324512e11c Style: Replace header guards with #pragma once 2025-03-07 17:33:47 -06:00
3c43508ed7 Merge pull request #102427 from AThousandShips/fix_substr
Clean up some uses of `String::substr`
2025-03-07 15:12:33 -06:00
c937b6d180 Merge pull request #102419 from Ivorforce/std-size
Use `std::size` instead of `sizeof(a) / sizeof(a[0])` pattern throughout the codebase.
2025-03-07 15:12:25 -06:00
d9125ebebe Merge pull request #101293 from Ivorforce/string-to-pointer-conversion
Remove implicit conversions from `String`, `Char16String` and `CharString` to data pointers.
2025-03-07 15:12:12 -06:00
5113022dfe Clean up some uses of String::substr
Cases where the end position is either equvalent to the default or past
the end of the string.
2025-03-07 14:50:38 +01:00
62d22ffa6b Merge pull request #98216 from pafuent/fixing_log_rotation
Fix file logging log rotation
2025-02-11 10:54:01 +01:00
d1338528f9 Fix file loggin log rotation
Fixes #97066

`RBSet` were used on `RotatedFileLogger` because it guarantees that
iterating it is done via `operator<`. This is important because
`RotatedFileLogger` depends on this behavior to delete the oldest log file.
On #61194 `HashSet` was added and all `RBSet` uses were replaced by
`HashSet`.
When that happened, the iteration in order is guaranteed to be the insertion
order, wich made that `RotatedFileLogger` delete the newest log file.
As a bonus, I added unit test for `RotatedFileLogger` and `CompositeLogger`.
2025-02-10 21:57:07 +01:00
9457666bba Fix accessing UID before first scan 2025-02-08 20:04:32 -05:00
e34f1f504c Use std::size instead of sizeof(a) / sizeof(a[0]) pattern throughout the codebase. 2025-02-07 14:57:48 +01:00
65509ae4ff Improve UID file creation condition 2025-02-06 17:08:00 +01:00
e6e108d091 Implement get_length() for pipes. 2025-02-03 16:50:00 +02:00
9014cdb596 Fix ResourceLoader.has_cached() and ResourceLoader.get_cached_ref() not handling UIDs. 2025-01-20 20:36:23 +08:00
512abc38b2 Remove implicit conversions from String, Char16String and CharString to data pointers. Make conversions to StrRange implicit to aid transition. 2025-01-17 17:31:58 +01:00
0c0c45d695 Merge pull request #99494 from RandomShaper/rerefix_res_unrecog
ResourceLoader: Report appropriate error code when no suitable loader is found
2025-01-16 17:18:03 -06:00
ec85334a84 Merge pull request #90425 from tracefree/load-pack-fix
Fix "res://" being replaced by resource packs in the editor and on Android
2025-01-16 17:18:02 -06:00
271067eb2b Fix certain channel masks for Texture previewer 2025-01-15 18:40:53 +01:00
Rie
d17ce4c37e Fix "res://" being replaced by resource packs in the editor and on Android 2025-01-15 11:20:46 +01:00
f07e3ed551 Merge pull request #100157 from Zylann/texture_preview_channel_selector
Add color channel filter to editor texture previews
2025-01-14 12:08:54 +01:00
c7a9d64eaf Add color channel filter to editor texture previews 2025-01-11 23:27:48 +00:00
696285f23a Use MethodInfo::get_compatibility_hash() to generate the hash for MethodBind::get_hash() and other GDExtension hash clean up 2025-01-11 15:57:42 -06:00
5b52b4b5c4 Merge pull request #101446 from KoBeWi/path_ensuring_never_ends
Fix UID path remap
2025-01-11 22:30:25 +01:00
9ad34ecc3e Fix UID path remap 2025-01-11 22:15:59 +01:00
d3d874e0d1 Improve missing UID errors 2025-01-11 21:30:25 +01:00
34d8255947 Force build editor with regex module, remove checking code.
Fix include.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-01-07 19:43:23 +08:00
653f5a9613 Merge pull request #100976 from AThousandShips/uid_fixes
[Core] Fix UID encoding
2025-01-06 22:48:13 +01:00
e06cac212b Merge pull request #99893 from kiroxas/avoidUTF8ParsingWhenNotNecessary
Avoid duplicated `utf8()` calls
2025-01-06 22:47:12 +01:00
c049d07121 VariantParser: Ensure all parse errors have an explanation
Likewise in ResourceFormatText and JSON.
2025-01-03 17:17:37 +01:00
a17a0bc808 Merge pull request #100717 from KoBeWi/icon_uncache
Fix icon UIDs in Project Manager
2025-01-03 02:01:24 +01:00
e06d83860d Style: Enforce AllowShortFunctionsOnASingleLine 2025-01-02 10:09:41 -06:00
25ecf5ec83 [Core] Fix UID encoding
Fixes edge case where `0` encoded as `uid://` instead of `uid://a`, and
fixes the size of the temporary buffer storing encoded UID strings.
2024-12-31 15:20:09 +01:00
81b1138a7f Fix icon UIDs in Project Manager 2024-12-26 14:54:09 +01:00
3c304ab7cc Merge pull request #96076 from AThousandShips/improve_null_check_core_drivers
[Core,Drivers] Improve use of `Ref.is_null/valid`
2024-12-23 11:14:58 -06:00
bf9ef5f8a5 Merge pull request #100564 from YYF233333/iwyu
Remove unused headers in core
2024-12-19 19:59:55 -06:00
06efe84bca Remove duplicate utf8() calls 2024-12-19 10:15:46 +01:00
be86ce3103 Apply iwyu suggestion in core. 2024-12-19 00:43:47 +08:00
851d8e49e8 Merge pull request #100386 from hpvb/core-ubsan
Core: Fix UBSAN reports
2024-12-18 17:23:32 +01:00
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
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
6740823e40 ResourceLoader: Print load message only when actually loading 2024-12-18 09:36:16 +01:00
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
5f401e63b5 Improve ResourceUID::id_to_text performance 2024-12-15 10:41:13 +01:00
8c01fc2274 Fix StreamPeerExtension::put_partial_data() to call _put_partial_data() 2024-12-12 08:31:12 -06:00
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
335077a03f Image: More cleanup and reduced code duplication. 2024-12-12 11:52:59 +01:00
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
b5c31ebb41 Add contains_char() for single-character 'contains' calls. 2024-12-06 20:23:35 +01:00
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
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
b91bacb43a Core: Do not generate *.uid files for JSON, certificates, and translations 2024-12-04 14:26:10 +03:00
67b95f341e Fix UID support in MultiplayerSpawner 2024-12-03 22:11:43 +01:00