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
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
Kiro
176e5f42b2
add Static assert checks
2025-01-02 09:02:43 +01:00
Silc Lizard (Tokage) Renew
d0c421976c
Fix looking at with 180 degree arc
...
Co-authored-by: Fruitsalad <949631+fruitsalad@users.noreply.github.com>
2025-01-02 15:47:01 +09:00
Rémi Verschelde
f2d4dac92e
Thread: Re-add <new>
include for std::hardware_destructive_interference_size
...
Somehow it would still build fine, but would crash when compiled with GCC 12.2
on Debian 12.
Also re-add wrongly removed Mutex include from `thread_safe.h`, where it's used
in macros.
Add IWYU pragma comments to prevent it from mistakenly flagging those as unused.
2025-01-01 22:43:42 +01:00