1
0
Fork 0
Commit Graph

7926 Commits

Author SHA1 Message Date
Rie d17ce4c37e Fix "res://" being replaced by resource packs in the editor and on Android 2025-01-15 11:20:46 +01:00
Rémi Verschelde 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
Pāvels Nadtočajevs b983b9d9f4 [RTL] Add cell option to control if cell is shrinked to its contents width. 2025-01-13 21:44:06 +02:00
Rémi Verschelde df0a268472 Merge pull request #101493 from Ivorforce/string-equal-fast
Optimize `String` `==`, `ends_with` and `begins_with` by using `memcmp`.
2025-01-13 20:22:48 +01:00
Lukas Tenbrink 2e600789dd Optimize `String` `==`, `ends_with` and `begins_with` by using `memcmp`. 2025-01-13 15:23:08 +01:00
Marc Gilleron c7a9d64eaf Add color channel filter to editor texture previews 2025-01-11 23:27:48 +00:00
David Snopek 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
Rémi Verschelde 5b52b4b5c4 Merge pull request #101446 from KoBeWi/path_ensuring_never_ends
Fix UID path remap
2025-01-11 22:30:25 +01:00
Rémi Verschelde 7c6d0d81c2 Merge pull request #101441 from KoBeWi/what_happened_to_your_uid,_why_is_it_so_invalid
Improve missing UID errors
2025-01-11 22:30:18 +01:00
Rémi Verschelde 65af5ae981 Merge pull request #101386 from Ivorforce/vector-append-array-memorysafe
Revert regression of memory unsafe `append_array` (same vector into same vector).
2025-01-11 22:30:05 +01:00
Rémi Verschelde 6a8ca81789 Merge pull request #100674 from dsnopek/gdextension-virtual-method-compat
GDExtension: Add compatibility system for virtual methods
2025-01-11 22:29:38 +01:00
kobewi 9ad34ecc3e Fix UID path remap 2025-01-11 22:15:59 +01:00
kobewi d3d874e0d1 Improve missing UID errors 2025-01-11 21:30:25 +01:00
Rémi Verschelde ad74e337b9 Merge pull request #100954 from Bromeon/bugfix/nodepath-slice
Fix `NodePath::slice()` incorrect behavior for subname indexing
2025-01-10 23:05:56 +01:00
David Snopek 39f16e70f8 GDExtension: Add compatibility system for virtual methods 2025-01-10 16:00:05 -06:00
Lukas Tenbrink cf145de21e Revert regression (GH-31736) of memory unsafe append_array (append vector to itself). Add comments to prevent future regressions. 2025-01-10 15:30:36 +01:00
Rémi Verschelde 2db8f8837e Merge pull request #101125 from axunes/master
macOS: Allow running unpacked game files from .app bundle resources
2025-01-09 11:17:20 +01:00
Rémi Verschelde a7052a2bd0 Merge pull request #101033 from Ivorforce/string-count-avoid-copy
Optimize `_count` by replacing a full copy with a CoW copy for the full-string count case.
2025-01-09 11:17:17 +01:00
Rémi Verschelde 7fe0609118 Linux: Relax interdependency between freetype, libpng, and zlib for unvendored builds
This restriction was added to fix #7373 back then, which was a symbol conflict
between FreeType's bundled copy of gzip/zlib, and distro packages.

But we also unbundled FreeType's zlib in #69395 so this is no longer an issue.

On the other hand recent issues pointed out that using system-provided icu4c
or harfbuzz can cause issues (#91401, #100301). We still allow it for now but
raise a warning.
2025-01-09 00:28:46 +01:00
Rémi Verschelde 76c8e76560 Merge pull request #101284 from akx/tyops
A handful of typo fixes
2025-01-08 15:53:33 +01:00
Rémi Verschelde b857c2f3e6 Merge pull request #101016 from kiroxas/AddVariantStaticAssert
Add static assert checks in `Variant` constructors
2025-01-08 15:53:23 +01:00
Aarni Koskela f134769506 Fix various typos
* Add TODO notes for typos that should be fixed for 5.0

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-01-08 14:47:42 +02:00
axunes 50b90604af macOS: search for project file in .app resources 2025-01-08 01:59:00 -05:00
Rémi Verschelde 0fee2724f0 Merge pull request #100751 from YYF233333/force_regex_with_editor
Force build editor with regex module, remove checking code
2025-01-07 23:17:35 +01:00
Yufeng Ying 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
Rémi Verschelde d9535301ab
Merge pull request #101001 from adamscott/fix-metadata-script
Fix Script metadata usage
2025-01-07 10:14:46 +01:00
Rémi Verschelde 91fda4ecaf
Merge pull request #101055 from Ivorforce/variant-to-number-consolidate
Consolidate `Variant` int and float conversion functions to reduce duplicate logic.
2025-01-06 22:48:24 +01:00
Rémi Verschelde 653f5a9613
Merge pull request #100976 from AThousandShips/uid_fixes
[Core] Fix UID encoding
2025-01-06 22:48:13 +01:00
Rémi Verschelde e06cac212b
Merge pull request #99893 from kiroxas/avoidUTF8ParsingWhenNotNecessary
Avoid duplicated `utf8()` calls
2025-01-06 22:47:12 +01:00
Rémi Verschelde be4678b836
Merge pull request #95750 from mosquitochang/fix-input-event-get-index
Fix `InputMap::event_get_index` to handle unmatched events correctly
2025-01-06 22:46:37 +01:00
Rémi Verschelde 4319d380d1
Merge pull request #94507 from akien-mga/variantparser-improve-error-reporting
VariantParser: Ensure all parse errors have an explanation
2025-01-06 22:46:31 +01:00
Rémi Verschelde 1aaf20b1f1
Merge pull request #98488 from RandomShaper/lockless_rid_fetch_pro
Fix `RID_Owner` synchronization
2025-01-06 08:38:14 +01:00
Rémi Verschelde da4f9339ea
Merge pull request #101072 from hpvb/thread-id-optimization
Optimize `Thread::get_caller_id()`
2025-01-05 14:52:18 +01:00
Lukas Tenbrink 0e72967244 Consolidate `Variant` int and float conversion functions to reduce duplicate logic. 2025-01-03 20:16:43 +01:00
HP van Braam 873eb21ce8 Optimize Thread::get_caller_id()
By making sure that Thread always has a valid caller_id we can remove the
check making the function a straightforward getter instead.

In some quick tests we see a repeatable performance improvement of
somewhere around 0.32 mspf in TPS demo.

Co-authored-by: Pedro J. Estébanez <pedrojrulez@gmail.com>
2025-01-03 17:33:10 +01:00
Rémi Verschelde c049d07121
VariantParser: Ensure all parse errors have an explanation
Likewise in ResourceFormatText and JSON.
2025-01-03 17:17:37 +01:00
Adam Scott 6db599232e
Fix Script metadata usage 2025-01-03 11:12:37 -05:00
Pedro J. Estébanez de7e4efef8 Fix RID_Owner synchronization 2025-01-03 17:05:36 +01:00
Ricardo Subtil b77aa473a1 Implement a "Recovery Mode" for recovering crashing/hanging projects during initialization 2025-01-03 10:50:15 +00:00
Rémi Verschelde a17a0bc808
Merge pull request #100717 from KoBeWi/icon_uncache
Fix icon UIDs in Project Manager
2025-01-03 02:01:24 +01:00
Rémi Verschelde b34adf29dc
Remove unused OS `_display_driver_id` member 2025-01-03 01:52:25 +01:00
Rémi Verschelde d47fef15b8
Merge pull request #100991 from TokageItLab/180deg-arc
Fix looking at with 180 degree arc
2025-01-03 00:49:59 +01:00
Rémi Verschelde 21e6671740
Merge pull request #100937 from Repiteo/style/clang-format-sync
Style: Enforce `AllowShortFunctionsOnASingleLine`
2025-01-03 00:49:44 +01:00
Rémi Verschelde 5ff616736a
Merge pull request #100825 from KoBeWi/colored_eight
Add `Color.from_rgba8` and deprecate Color8
2025-01-03 00:49:18 +01:00
Rémi Verschelde e9da833e6c
Merge pull request #100795 from hpvb/optimize-variant-clear
Don't set `Variant::Type` in destructor
2025-01-03 00:49:10 +01:00
Rémi Verschelde dd7d36e803
Merge pull request #100770 from hpvb/command-queue-mt
Core: Refactor CommandQueueMT to use vararg templates for performance and maintainability
2025-01-03 00:49:02 +01:00
Rémi Verschelde 0d710da96c
Merge pull request #98554 from Calinou/add-property-hint-ranges
Add more property hint ranges for project settings
2025-01-03 00:47:59 +01:00
Lukas Tenbrink b2d881a73a Optimize `_count` by replacing a full copy with a CoW copy for the full-string count case. 2025-01-02 18:16:06 +01:00
Thaddeus Crews e06d83860d
Style: Enforce `AllowShortFunctionsOnASingleLine` 2025-01-02 10:09:41 -06:00
HP van Braam cccd2432c3 Refactor CommandQueueMT to use vararg templates
In order to make CommandQueueMT more maintainable this PR changes the
previous macro hell with variadic templates instead. This makes the
class far more explicit and will allow us to more easily change the way
the class functions in the future.

Furthermore this refactoring has allowed for some optimizations. In
particular by using std::forward to delay the decision of decaying the
type to as late as possible we are able to move the data from the
callsite into our Command buffer and later move it to the call.

In practice what this means is that compared to the old version instead
of copying values 3 times, we can now get away with 1 copy, and 1 move
for lvalues, and just 2 moves for rvalues. This saves quite a few
operations in a hot codepath.

We also now test to make sure that the amount of copies and moves are
what we expect. This way we can spot performance regressions in this
code easily.

Somewhat unscientifically, running TPS-demo by pressing enter and not
touching the controls average mspf, repeatable across many runs:

before: 6.467
after : 6.202
2025-01-02 15:35:08 +01:00