1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-24 15:26:15 +00:00
Commit Graph

8419 Commits

Author SHA1 Message Date
Yyf2333
22b5ec17fb Using iterator pattern instead of List::Element *.
Co-authored-by: Adam Scott <ascott.ca@gmail.com>
2025-03-28 13:29:15 +08:00
Lukas Tenbrink
ffa6ef220b Use append_ instead of parse_ for String methods. 2025-03-27 17:51:02 +01:00
Pāvels Nadtočajevs
c3921954f2 Fix editor layout direction change on translation change. 2025-03-27 17:35:21 +02:00
kobewi
bc9d0c7835 Add templated version of ObjectDB::get_instance() 2025-03-27 15:43:23 +01:00
Lukas Tenbrink
dd9dc75a83 Optimize Object::cast_to by assuming no virtual and multiple inheritance, gaining 8x throughput over dynamic_cast.
Add `-Wvirtual-inheritance` to compiler warnings as a sanity check.
2025-03-27 15:39:53 +01:00
Mikael Hermansson
5c5b9847da Optimize LocalVector::push_back for non-trivial objects 2025-03-27 14:22:30 +01:00
BlueCube3310
649fa630a7 Image: Remove references to defunct FORMAT_CUSTOM 2025-03-26 21:37:26 +01:00
Alexander Montag
b79a6ca3e7 Remove redundant ClassDB::locker declaration 2025-03-26 21:14:11 +01:00
kobewi
75881f8322 Use initializer list in Arrays 2025-03-26 18:38:15 +01:00
Lukas Tenbrink
28d6cf859a Add move semantics to Ref. 2025-03-26 15:23:38 +01:00
Ibrahn Sahir
c9352f06f7 Fix uninitialised member vars in CommandQueueMT and RasterizerSceneGLES3 2025-03-25 17:19:16 +00:00
Pāvels Nadtočajevs
d5cea9bb2e Implement DirAccess.is_equivalent method. 2025-03-25 17:52:15 +02:00
Pedro J. Estébanez
2d885a3163 Sanitize ClassDB locking 2025-03-25 16:50:46 +01:00
Pāvels Nadtočajevs
b384de9013 Load decompressable texture format is no supported one found. 2025-03-25 09:46:19 +02:00
Thaddeus Crews
8f16b86d7e Core: Include intrin.h for MSVC 2025-03-24 15:19:49 -05:00
Thaddeus Crews
7fed5f29ed Merge pull request #99826 from kiroxas/improveParseUTF8Performance
Improve `parse_utf8` performance
2025-03-24 10:00:55 -05:00
Thaddeus Crews
1cb3cfaa8e Style: Convert namespaces to PascalCase 2025-03-23 19:10:24 -05:00
Thaddeus Crews
8f331ebd9c Merge pull request #103099 from YeldhamDev/build_res_loader_disable
Disable `ResourceFormatLoader/Saver`s of disabled classes
2025-03-23 19:04:01 -05:00
Thaddeus Crews
325c698331 Merge pull request #103647 from aaronp64/dictionary_multiple_lookup
Avoid multiple lookups in `Dictionary::operator[]`
2025-03-23 19:04:00 -05:00
Thaddeus Crews
4c9086312d Merge pull request #103698 from AThousandShips/fix_a_hash_map_construct
[Core] Fix `AHashMap` constructors reserving too few elements
2025-03-23 19:03:59 -05:00
Thaddeus Crews
2eec0fc526 Merge pull request #94441 from Repiteo/core/math-namespace
Core: Convert `Math` class to namespace
2025-03-23 19:03:55 -05:00
Thaddeus Crews
fd45f42464 Merge pull request #101361 from Repiteo/core/isolate-ref-logic
Core: Isolate `Ref` forward declare logic
2025-03-23 19:03:54 -05:00
Thaddeus Crews
d9ef361d12 Core: Isolate Ref forward declare logic 2025-03-23 08:22:00 -05:00
Thaddeus Crews
f09ee0171a Style: Begin integrating simple .clangd fixes 2025-03-22 13:24:35 -05:00
Hugo Locurcio
2044bd898a Add double to the version full build string when using a double-precision build
This means that `double` is now visible in the command line startup version,
project manager, editor About dialog and at the bottom of the editor.
This is because double-precision mode has a significant impact on how the
editor and projects run.

Similar to `mono` for C# builds, this affects which export templates the editor
looks for, since it needs a different set of export templates.

The export templates manager now indicates that no official double-precision export
template downloads are currently available (although the `dev` status message
takes priority over it).
2025-03-22 19:02:15 +01:00
Michael Alexsander
090358afcf Disable ResourceFormatLoader/Savers of disabled classes 2025-03-21 14:23:05 -03:00
Thaddeus Crews
581d675eeb Core: Convert Math class to namespace 2025-03-21 10:29:18 -05:00
Rémi Verschelde
3f14e6a1b7 Merge pull request #104374 from aaronp64/array_swap_move
Optimize `Array` methods with `SWAP`/`std::move`
2025-03-21 13:04:04 +01:00
Rémi Verschelde
96a5d62507 Merge pull request #104355 from YYF233333/hashmap_iter
Optimize `ClassDB::get_direct_inheriters_from_class`
2025-03-21 13:03:53 +01:00
Rémi Verschelde
1f682b6554 Merge pull request #104237 from Ivorforce/optimize-thread-pool-waiting
Optimize thread pools by avoiding needless locks and unlocks of the `task_mutex`.
2025-03-21 13:03:37 +01:00
Rémi Verschelde
3ceb84f5b2 Merge pull request #104155 from bleikerja/utf8_to_base64_empty_string_fix
Fix `Marshalls.utf8_to_base64` shows `"ret.is_empty()" is true` error for empty string
2025-03-21 13:03:28 +01:00
kobewi
602806101c Improve error messages for add_property_info() 2025-03-20 22:39:09 +01:00
Pāvels Nadtočajevs
abe413ff8c Fix icons with non-ASCII file names in project manager. 2025-03-20 16:33:01 +02:00
Lukas Tenbrink
143f8e933e Optimize Color::to_html by allocating less. 2025-03-20 13:42:03 +01:00
Thaddeus Crews
f6a35e2a6e Merge pull request #86015 from kitbdev/array-initializer-list
Add list initialization to Array, Variant, and TypedArray
2025-03-19 17:46:06 -05:00
aaronp64
3eb4e6c6ff Optimize Array methods with SWAP/std::move
Updated Array::shuffle() to use SWAP instead of copying through temporary variables, which makes shuffling simple types around 2x faster, and refcounted object types around 20x faster.

Also updated multiple methods that insert into/modify the array to move their validated Variant to avoid an extra copy, speed increase varies depending on type and how much else the methods are doing, usually around 5-10% faster.
2025-03-19 12:17:14 -04:00
Yufeng Ying
c37c92b450 Optimize ClassDB::get_direct_inheriters_from_class.
Co-authored-by: kleonc <9283098+kleonc@users.noreply.github.com>
2025-03-19 23:26:46 +08:00
kobewi
10f6c01b9c Remove ABS in favor of Math::abs 2025-03-19 13:52:40 +01:00
Rémi Verschelde
64bd03269f Merge pull request #104286 from Ivorforce/localvector-find
Harmonize `String`, `Vector` and `LocalVector` `find` and `rfind`.
2025-03-19 12:27:27 +01:00
Rémi Verschelde
2fa721b1bc Merge pull request #104127 from Ivorforce/360-noclip
Remove `String` clipping constructors.
2025-03-19 12:27:10 +01:00
Rémi Verschelde
65161977e9 Merge pull request #103415 from bruvzg/iv_pools
Use single RNG instance for `FileAccessEncrypted` IV generation.
2025-03-19 12:26:38 +01:00
Pablo Andres Fuente
e2bef7041e Fix StreamPeerGZIP::finish() internal buffer size usage
Fixes #97201

Instead of using and arbitrary fixed size for the internal buffer,
the remaining available bytes of the internal `RingBuffer` is used.

Also add unit tests for `StreamPeerGZIP`.
2025-03-19 09:56:32 +01:00
Thaddeus Crews
fdbf6ecc9f Merge pull request #98408 from rune-scape/stringlikevariantorder-in-place
StringLikeVariantOrder: Compare in-place
2025-03-18 14:42:58 -05:00
Thaddeus Crews
5c90aad2d9 Merge pull request #101964 from YYF233333/opt_for_size
Don't inline certain functions for smaller binary size
2025-03-18 14:42:37 -05:00
Thaddeus Crews
c8a94993bf Merge pull request #103961 from bruvzg/win_pos_sync
Sync `display/window/size/initial_position_type` and `Window::WINDOW_INITIAL_POSITION_` enum.
2025-03-18 14:42:33 -05:00
rune-scape
0c7d78f455 StringLikeVariantOrder: Compare in-place 2025-03-18 11:21:30 -07:00
Yyf2333
b28d6d1fa3 Don't inline certain functions for smaller binary size.
Co-authored-by: Thaddeus Crews <repiteo@outlook.com>
2025-03-18 21:40:25 +08:00
Lukas Tenbrink
fde71e0382 Harmonize String, Vector and LocalVector find and rfind.
Use `Span::find` for `LocalVector::find`, accepting negative `p_from`.
Return `-1` for invalid `p_from` values in `rfind`.
Accept negative values for `p_from` in `find`, starting from the back.
2025-03-18 12:37:36 +01:00
Thaddeus Crews
85258ec1a5 Merge pull request #102662 from groud/chunk_tilemap_physics
Chunk tilemap physics
2025-03-17 16:03:29 -05:00
Thaddeus Crews
1b631edf67 Merge pull request #104129 from dsnopek/gdextension-get-used-classes
GDExtension: Add mechanism to get which classes an extension is using
2025-03-17 16:03:27 -05:00