1
0
Fork 0
Commit Graph

9142 Commits

Author SHA1 Message Date
Haoyu Qiu d180b9af9f Use more practical default plural rules 2025-10-25 15:50:20 +08:00
Aaron Franke 3c5df91a90
Use ProjectSettings functions instead of hard-coded folder name in tests 2025-10-24 20:24:50 -07:00
hannes 89aa5137b8 add gui_drag_threshold for viewports 2025-10-24 19:01:25 +02:00
Fredia Huya-Kouadio 5277c94fe4 Update the source sets configuration for the `app` and `lib` modules to match the default configuration
Both the `app` and `lib` modules had custom source sets configuration originating from the early days of the project. This updates the configuration to match the default Android Studio configuration which will simplify the addition of unit tests and instrumented tests to the project.

Note that for backcompat reasons, some folders (such as the `res` folder in the `app` module) are left as is.
2025-10-24 07:44:19 -07:00
Thaddeus Crews 06bdfa5a16
Merge pull request #110478 from beicause/opt-node-path-to-string
Optimize NodePath to String by using cached path
2025-10-23 11:03:53 -05:00
Mike Precup abfc63b483 Speed up signal disconnects in the editor 2025-10-22 22:27:25 -07:00
Thaddeus Crews 37764110f6
Merge pull request #110271 from BlueCube3310/image-conv-opti-incompatible
Image: Optimize manual format conversion
2025-10-22 13:48:46 -05:00
Thaddeus Crews 38e20331c8
Merge pull request #107303 from passivestar/close-dialog-action
Add support for closing dialog windows with Cmd+W on macOS
2025-10-22 13:48:36 -05:00
Thaddeus Crews 1b84fe745b
Merge pull request #110308 from BlueCube3310/image-mip-renorm-fix
Image: Fix normalization of mipmaps for half and float formats
2025-10-22 13:48:35 -05:00
BlueCube3310 4266a4e4eb Image: Fix normalization of mipmaps for half and float formats 2025-10-22 15:03:57 +02:00
devloglogan 1a8306bbc1 Allow custom monitors to select desired type 2025-10-22 07:31:44 -05:00
BlueCube3310 b63ec3d0f0 Image: Optimize format conversion 2025-10-22 14:30:18 +02:00
passivestar 979f8fa342 Add support for closing dialog windows with Cmd+W on macOS 2025-10-22 09:51:14 +04:00
Thaddeus Crews 9cd297b6f2
Merge pull request #107487 from roughbits01/fix-shortcut-names
Remove the need to have a display name for built-in action overrides
2025-10-21 19:09:34 -05:00
Thaddeus Crews 3f34e38703
Merge pull request #109596 from atlasapplications/splash-screen-stretch-mode
Add Stretch Modes for Splash Screen
2025-10-21 19:09:33 -05:00
Thaddeus Crews e870cd911b
Merge pull request #110895 from Giganzo/input-focus
Add setting for when to show the focus state for mouse input
2025-10-21 19:09:25 -05:00
Justin Sasso b6b3e1ef9e Add Stretch Modes for Splash Screen
Co-authored-by: Samuel Pedrajas <samuelpedrajaspz@gmail.com>
2025-10-21 18:20:44 -04:00
marwen.azouzi 6dd5266a0e
Removes the need to have a display name for built-in action overrides 2025-10-21 16:45:18 +02:00
Thaddeus Crews f50d7fa1e8
Merge pull request #110709 from DeeJayLSP/dict-reserve
Add `reserve()` to `Dictionary`, apply to constructors on GDScript VM
2025-10-20 18:09:58 -05:00
Thaddeus Crews 06c0985fee
Merge pull request #105450 from raulsntos/MissingNode/default_properties
Make `MissingNode`/`MissingResource` non-virtual and hide from dialogs
2025-10-20 18:09:55 -05:00
Thaddeus Crews 9cefa0d283
Merge pull request #111841 from blueskythlikesclouds/mipmap-normalize-fix
Round values after renormalization when generating mipmaps.
2025-10-20 18:09:51 -05:00
Thaddeus Crews d64a86a35f
Merge pull request #111661 from Repiteo/core/typed-container-migration-v2
Core: Consolidate typed container logic with `type_info.h`
2025-10-20 18:09:36 -05:00
Nintorch 7ae67813a1 Support adding advanced joypad features 2025-10-20 19:28:06 +05:00
Skyth 3d4f248fda Round values after renormalization when generating mipmaps. 2025-10-20 13:36:41 +03:00
Thaddeus Crews acdb8667b5
Core: Sidestep GCC false-positive 2025-10-17 18:57:34 -05:00
Thaddeus Crews 540ea0b96c
Merge pull request #111761 from Ivorforce/fixed-array-warn
Fix false positive warning with `FixedVector` array bounds in gcc.
2025-10-17 11:26:49 -05:00
Lukas Tenbrink 6733345f73 Fix false positive warning with `FixedVector` array bounds in gcc. 2025-10-17 13:11:33 +02:00
Thaddeus Crews 60710df3b6
Merge pull request #94047 from KoBeWi/resource_printer
Improve `to_string()` and add it to Resource
2025-10-16 12:48:11 -05:00
Thaddeus Crews 9e96c7d9b8
Merge pull request #110378 from timothyqiu/rtl-preview
Make text-related nodes translation domain aware
2025-10-16 12:48:05 -05:00
Pāvels Nadtočajevs 21aa53f718
Update embedded PCK virtual address. 2025-10-16 11:35:20 +03:00
Thaddeus Crews 20430236e7
Merge pull request #107999 from timothyqiu/translation-cleanup
Clean up editor translation related methods
2025-10-15 16:31:09 -05:00
Thaddeus Crews 49219de402
Merge pull request #108862 from timothyqiu/plural-rules
Move context and plural support to `Translation`
2025-10-15 16:31:07 -05:00
Thaddeus Crews 7390c358f5
Core: Consolidate typed container logic 2025-10-15 08:04:51 -05:00
Thaddeus Crews a364d6ad75
Merge pull request #111561 from StarryWorm/core/variant-includes-rework
Core: Fix missing includes in `type_info.h`
2025-10-14 17:13:40 -05:00
Thaddeus Crews 4d3a899c64
Merge pull request #111633 from YYF233333/ccb-include
Remove `callable_bind.h` from `object.h`
2025-10-14 10:31:29 -05:00
Thaddeus Crews 879d4439e7
Merge pull request #111617 from HolonProduction/hotfix
Add missing initialization for bitpacked object members
2025-10-14 10:31:22 -05:00
StarryWorm c17e76572d Fix `type_info.h` includes 2025-10-14 11:12:41 -04:00
Yufeng Ying 7d3c25d083 Remove callable_bind.h from object.h 2025-10-14 16:24:05 +08:00
HolonProduction bad44931a8 Add missing initialization for bitpacked object members 2025-10-13 21:55:44 +02:00
Thaddeus Crews b802229423
Core: Support `INF`/`NAN` in JSON from/to native 2025-10-13 13:57:55 -05:00
Thaddeus Crews 0450686035
Merge pull request #111460 from KoBeWi/dialoging_shortcut_files
Rework FileDialog shortcuts
2025-10-13 12:29:57 -05:00
HolonProduction f6ff2216ee CodeEdit: Use flag to recalculate characteristics 2025-10-13 16:17:19 +02:00
Raul Santos 6faa4e369a
Make `MissingNode`/`MissingResource` non-virtual and hide from dialogs
This allows ClassDB to get the default values for inherited properties.
The `MissingNode` and `MissingResource` types are excluded from the create
dialog and the inspector's Resource selector.
2025-10-12 09:58:50 +02:00
kobewi 263a2bdec6 Rework FileDialog shortcuts 2025-10-11 14:37:40 +02:00
Clay John 8b06cdf277
Revert "Handle NaN and Infinity in JSON stringify function" 2025-10-10 18:22:24 -07:00
Thaddeus Crews 16a11ac88b
Merge pull request #111358 from Ivorforce/no-variant-hasher
Remove `VariantHasher` and `VariantComparator` in favour of specialising `HashMapHasherDefault` and `HashMapComparatorDefault`.
2025-10-10 10:26:12 -05:00
Thaddeus Crews e33f89fe27
Merge pull request #111323 from HolonProduction/rm-script
Remove `Object::script`
2025-10-10 10:26:09 -05:00
Thaddeus Crews 89ce203427
Merge pull request #106997 from Ivorforce/fixed-move-semantics
Fix `FixedVector` move and copy semantics.
2025-10-10 10:26:06 -05:00
Thaddeus Crews d4a87d9bb3
Merge pull request #106636 from Ivorforce/dictionary-mutating-fix
Fix `Dictionary::operator[]` from C++ accidentally modifying `const` dictionaries.
2025-10-10 10:26:01 -05:00
Thaddeus Crews dd3b17de88
Merge pull request #105449 from raulsntos/MissingNode/recording_signals
Add `recording_signals` to MissingNode, and rename `MTVIRTUAL` to `DEBUG_VIRTUAL`
2025-10-10 10:25:57 -05:00
Thaddeus Crews 21e5b41642
Merge pull request #108837 from aaronfranke/json-handle-nan-inf
Handle NaN and Infinity in JSON stringify function
2025-10-10 10:25:55 -05:00
Raul Santos 09ad9e535b
Rename `MTVIRTUAL` to `DEBUG_VIRTUAL` 2025-10-09 22:11:18 +02:00
Thaddeus Crews c41e47034e
Merge pull request #111342 from Ivorforce/dict-assert-no-string
Assert that `dictionary.h` does not include `String`, and that neither of the fundamental containers include `Object`
2025-10-09 11:46:50 -05:00
Thaddeus Crews 5913469309
Merge pull request #111431 from Ivorforce/registration-order-3
Reorder registration of types, to register supertypes before subtypes.
2025-10-09 11:46:47 -05:00
Thaddeus Crews 7efb51c9d3
Merge pull request #111361 from Ivorforce/cleanup-hashfuncs
Clean up `hashfuncs.h`
2025-10-09 11:46:43 -05:00
Lukas Tenbrink 9843a016f5 Reorder registration of types, to register supertypes before subtypes. 2025-10-09 11:50:32 +02:00
kobewi e6783dbdd1 Improve to_string() and add it to Resource 2025-10-09 00:54:38 +02:00
Thaddeus Crews 52d32cee8d
Merge pull request #111383 from Ivorforce/core-types-update-2
Register core singleton types before instantiating them.
2025-10-08 13:56:39 -05:00
Thaddeus Crews e20acd3fe3
Merge pull request #111289 from HolonProduction/rm-has-named-classes
Move deprecated `has_named_classes` from `ScriptLanguage` to `ScriptLanguageExtension`
2025-10-08 13:56:37 -05:00
Thaddeus Crews 0091d30e3e
Merge pull request #108818 from bruvzg/no_cli_over
Add project setting and build option to disable `override.cfg` and related CLI arguments.
2025-10-08 13:56:35 -05:00
Thaddeus Crews 7c033002b0
Merge pull request #110863 from kisg/libgodot_migeran_core
LibGodot: Core - Build Godot Engine as a Library
2025-10-08 13:56:34 -05:00
Ed Lu 49efe2b3b8 load_threaded_get doesn't return null resources when used with CACHE_MODE_IGNORE 2025-10-07 16:31:27 -07:00
Thaddeus Crews d61cd9149a
Merge pull request #111327 from Ivorforce/gdvirtual-shorten-get-method-info
Simplify `gdvirtual.gen.inc` `_get_method_info` arguments with a helper function.
2025-10-07 17:15:12 -05:00
Thaddeus Crews ef853bbc06
Merge pull request #111347 from Ivorforce/no-algorithm
Add `max()` to `Span`, replacing `<algorithm>` include from `rendering_device_commons.h`
2025-10-07 17:15:09 -05:00
Thaddeus Crews 6ef2c7b34b
Merge pull request #110823 from Calinou/ui-builtin-actions-all-devices
Allow all gamepad devices for built-in `ui_*` input actions
2025-10-07 17:15:00 -05:00
Lukas Tenbrink b3ec2edc04 Register core singleton types before instantiating them. 2025-10-07 23:10:00 +02:00
Lukas Tenbrink 1fa332cad4 Add `max()` to `Span`.
Remove `<algorithm>` include from `rendering_device_commons.h`, using `Span` instead.
2025-10-07 22:26:32 +02:00
Lukas Tenbrink 5df5c2212a Simplify `gdvirtual.gen.inc` `_get_method_info` arguments with a helper function.
# Conflicts:
#	core/object/make_virtuals.py
2025-10-07 22:23:43 +02:00
Thaddeus Crews 9c63619f20
Merge pull request #111318 from Ivorforce/registration-order-1
Improve type registration order in `register_core_types.cpp`.
2025-10-07 11:54:41 -05:00
Thaddeus Crews 89e3587cd8
Merge pull request #111339 from HolonProduction/obj-pack
Bitpack more `Object` booleans
2025-10-07 11:54:34 -05:00
Thaddeus Crews 1c643549f3
Merge pull request #111337 from Ivorforce/gdvirtual-init-virtual-ptr
Abstract `Object` virtual pointer init into a method instead of duplicating it across `gdvirtual.gen.inc`
2025-10-07 11:54:31 -05:00
Giganzo e384085ca1 Add setting for when to show the focus state for mouse input 2025-10-07 14:26:14 +02:00
Lukas Tenbrink f678729f89 Clean up `hashfuncs.h`: Move long functions to `hashfuncs.cpp` and replace `static` with `inline`. Remove `hash_make_uint64_t` and `hash_make_uint32_t`. 2025-10-07 13:50:18 +02:00
Lukas Tenbrink d2ee378d1c Remove `VariantHasher` and `VariantComparator` in favour of specializing `HashMapHasherDefault` and `HashMapComparatorDefault`. 2025-10-07 13:47:39 +02:00
Rémi Verschelde 9052d31c68
Merge pull request #111331 from Repiteo/scons/revert-cppextpath
Revert "SCons: Add `CPPEXTPATH` for external includes"
2025-10-07 13:07:19 +02:00
Gergely Kis 6c44c80c62 LibGodot: Core - Build Godot Engine as a Library
* Add a new GodotInstance GDCLASS that provides startup and iteration commands to control a Godot instance.
* Adds a libgodot_create_godot_instance entry point that creates a new Godot instance and returns a GodotInstance object.
* Adds a libgodot_destroy_godot_instance entry point that destroys the Godot instance.

Sample Apps: https://github.com/migeran/libgodot_project

Developed by [Migeran](https://migeran.com)

Sponsors & Acknowledgements:

* Initial development sponsored by [Smirk Software](https://www.smirk.gg/)
* Rebasing to Godot 4.3 and further development sponsored by [Xibbon Inc.](https://xibbon.com)
* The GDExtension registration of the host process & build system changes were based
  on @Faolan-Rad's LibGodot PR: https://github.com/godotengine/godot/pull/72883
* Thanks to Ben Rog-Wilhelm (Zorbathut) for creating a smaller, minimal version for easier review.
* Thanks to Ernest Lee (iFire) for his support

Co-Authored-By: Gabor Koncz <gabor.koncz@migeran.com>
Co-Authored-By: Ben Rog-Wilhelm <zorba-github@pavlovian.net>
2025-10-07 02:15:41 +02:00
Lukas Tenbrink 91c48b3151 Abstract `Object` virtual pointer init into a method instead of duplicating it across `gdvirtual.gen.inc`. 2025-10-07 00:12:40 +02:00
Lukas Tenbrink 839e0358b3 Assert that `dictionary.h` does not include `String`, and that neither of the fundamental containers include `Object`. 2025-10-06 23:03:27 +02:00
HolonProduction 7b2e148687 Bitpack more `Object` booleans 2025-10-06 22:01:22 +02:00
Thaddeus Crews c01c7b800d
Merge pull request #111221 from Ivorforce/ahashmap-no-hashmap-include
Remove `hash_map.h` include from `a_hash_map.h`, and remove cross conversion operators
2025-10-06 14:34:15 -05:00
Thaddeus Crews f1f9f54ac3
Merge pull request #111244 from Ivorforce/dont-include-array
Remove `Array` include from `dictionary.h` and `ustring.h`.
2025-10-06 14:34:10 -05:00
Thaddeus Crews aae2def236
Merge pull request #111266 from HolonProduction/completion-filter-internal
Autocompletion: Filter ClassDB argument options
2025-10-06 14:34:02 -05:00
Thaddeus Crews b17aa3343a
Revert "SCons: Add `CPPEXTPATH` for external includes" 2025-10-06 13:09:22 -05:00
Lukas Tenbrink d6036462b1 Remove `hash_map.h` include from `a_hash_map.h`, and remove cross conversion operators. 2025-10-06 17:20:31 +02:00
HolonProduction 2adecffbc3 Remove `Object::script` 2025-10-06 16:27:53 +02:00
Lukas Tenbrink dc5e615a1d Remove `Array` include from `dictionary.h` and `ustring.h`. 2025-10-06 16:21:36 +02:00
Thaddeus Crews 5935a32e32
Core: Cleanup headers in `core/config`
- `MainLoop` now forward-declared in `OS`
2025-10-06 09:20:56 -05:00
Thaddeus Crews d1d28c0bcf
Merge pull request #111223 from Ivorforce/remove-iterator-include
Replace `std::size` usage with `std_size` to avoid `<iterator>` include.
2025-10-06 09:06:49 -05:00
Thaddeus Crews 6febc2bf96
Merge pull request #111066 from Ivorforce/memory-namespace
Change `Memory` from a class into a namespace.
2025-10-06 09:06:42 -05:00
Thaddeus Crews d8df20a2e6
Merge pull request #110932 from Ivorforce/string-buffer-size-comment
Add comments to `String::size` to lead people to `length()` and explain the difference.
2025-10-06 09:06:40 -05:00
Thaddeus Crews 686b56fae9
Merge pull request #106434 from Ivorforce/invert-hashfuncs
Reduce cross project includes by rewriting `HashMapHasherDefault`.
2025-10-06 09:06:37 -05:00
Thaddeus Crews dd6ffaabdc
Merge pull request #105793 from Ivorforce/gdtype-the-first
Core: Add initial architecture for first-class `Object` types. Optimize `is_class`
2025-10-06 09:06:36 -05:00
Thaddeus Crews 30a0a41982
Merge pull request #111274 from chocola-mint/include-optimization-logger
Remove `file_access.h` and `script_backtrace.h` includes from `logger.h`.
2025-10-06 09:06:32 -05:00
Thaddeus Crews ef5ecd95d7
Merge pull request #111254 from Ivorforce/object-no-rb-rw
Remove `rw_lock.h` and `rb_map.h` includes from `object.h`.
2025-10-06 09:06:29 -05:00
Thaddeus Crews 3b04c8464c
Merge pull request #107273 from DexterFstone/add-game-speed-controls
Add game speed controls to the embedded game window
2025-10-06 09:06:24 -05:00
Juan faddd60c40
Add unique Node IDs to support base and instantiated scene refactorings
The main goal of this PR is to safeguard when a base or instantiated scene changes (nodes renamed, moved or readded),
that the hierarchy is still maintained and the node and its overridden properties can be preserved.

What it does:
* Implements unique node IDs.
* These IDs act as a fallback to names when saving.
* The IDs are **USED AS A FALLBACK**, so they are just an addition. It should not break any current existing scene.
* If a scene renames or moves a node, inherited or instantiated scenes will no longer lose reference to it.

Unlike the previous approach, this one is intended to be a fallback, only used if the node is not found.
This makes it safer to implement and ensure that, at worst case, we fail to find the node, but nothing breaks.
2025-10-06 12:55:38 +02:00
Lukas Tenbrink 40b9d003af Improve type registration order in register_core_types.cpp. 2025-10-06 10:53:31 +02:00
Lukas Tenbrink 9d44b68867 Remove `rw_lock.h` and `rb_map.h` includes from `object.h`. 2025-10-05 23:29:04 +02:00
Pāvels Nadtočajevs 1211cd827e
Add project setting and build option to disable `override.cfg` and related CLI arguments. 2025-10-05 21:47:57 +03:00
HolonProduction abeb9c654e Move deprecated `has_named_classes` from `ScriptLanguage` to `ScriptLanguageExtension` 2025-10-05 16:55:06 +02:00
chocola-mint ead282ff13 Remove `file_access.h` and `script_backtrace.h` includes from `logger.h`. 2025-10-05 17:49:23 +09:00
DexterFstone 7ddce8ab26 Add game speed controls to the embedded game window 2025-10-05 11:13:15 +05:30
Lukas Tenbrink ad600125df Rewrite `HashMapHasherDefault` based on type traits - it is now possible to declare a default hashing function for any type.
Remove cross-project includes from `hashfuncs.h`.
Improve hashing function for `Color` (based on values instead of `String`).
Move `Variant` comparison from `hash_map.h` to `dictionary.cpp` (`VariantComparatorDictionary`), where it's used.
Remove now unnecessary `HashableHasher`.
2025-10-05 01:49:11 +02:00
Lukas Tenbrink 1db0a60dc0 Replace `std::size` usage with `std_size` to avoid `<iterator>` include. 2025-10-05 00:26:11 +02:00
HolonProduction 5c3eb8b227 Autocompletion: Filter ClassDB argument options 2025-10-04 23:44:07 +02:00
Lukas Tenbrink 4211499248 Change `Memory` from a class into a namespace. 2025-10-04 17:22:07 +02:00
Thaddeus Crews 06827c91c6
Merge pull request #107839 from Rudolph-B/Occlusion-Culling-Optimization
Minor Optimization to Occlusion Culling
2025-10-03 12:01:13 -05:00
Thaddeus Crews f6aa5ba23c
Merge pull request #97210 from AleksLitynski/object-snapshot-debugger
Add an ObjectDB Profiling Tool
2025-10-03 12:01:11 -05:00
Thaddeus Crews 6dfe5de9a8
Merge pull request #111158 from WhalesState/trivial-itr
Refactor `Array` iterators to be trivially copyable.
2025-10-03 12:01:10 -05:00
Thaddeus Crews 00f8f62be7
Merge pull request #106084 from Kaleb-Reid/fix-geometry-3d
Fix ghost collisions in segment_intersects_convex()
2025-10-03 12:01:02 -05:00
Thaddeus Crews 38af23a654
Merge pull request #89409 from aaronfranke/server-folders
Move server files into their subfolders
2025-10-03 12:01:00 -05:00
Thaddeus Crews f44aa13a9f
Merge pull request #111090 from dsnopek/gdextension-compat-unexposed-classes-redo
GDExtension: Prevent breaking compatibility for unexposed classes that can only be created once
2025-10-02 15:12:00 -05:00
Mounir Tohami 9ff5325642 Refactor `Array` iterators to be trivially copyable. 2025-10-02 14:30:55 +03:00
Lukas Tenbrink 712bc99668 Add `STATIC_ASSERT_INCOMPLETE_TYPE` to enforce include minimality.
Add enforcements against `Dictionary` for `ustring.h` and two for `Dictionary` and `String` from `array.h`.
2025-10-01 23:46:35 +02:00
Thaddeus Crews 6bfcfd1d33
Merge pull request #106039 from Ivorforce/cowdata-reserve-exact
Add `reserve_exact` to `CowData`, and change growth factor to 1.5x
2025-10-01 13:12:43 -05:00
Thaddeus Crews f9be832eca
Merge pull request #110257 from BlueCube3310/mip-gen-all-formats
Image: Support generating mipmaps for all uncompressed formats
2025-10-01 13:12:40 -05:00
Lukas Tenbrink ac85d24e64 Add `GDType` and `Object::_gdtype_ptr` for first-class `Object` typing.
The type is currently bare-bones, but will be expanded in future PRs.
2025-10-01 18:49:48 +02:00
Lukas Tenbrink bac9a9be85 Add comments to `String::size` to lead people to `length()` and explain the difference.
# Conflicts:
#	core/string/ustring.h
2025-10-01 12:08:37 +02:00
Lukas Tenbrink c993db9688 Add `reserve_exact` to `CowData` and `Vector`.
Change growth factor to be an indeterministic 1.5x.
Use `reserve_exact` in `FileAccess` to reduce on binary file loading RAM usage.

# Conflicts:
#	core/templates/cowdata.h
2025-10-01 11:57:40 +02:00
Aaron Franke 3d1c9fd5de
Move server files into their subfolders 2025-09-30 19:39:39 -07:00
Thaddeus Crews 55ac91b887
Merge pull request #111084 from Ivorforce/cowdata-reserve-verbose
Make `CowData::reserve` warn message when new capacity < size verbose, like other `reserve` methods
2025-09-30 18:35:23 -05:00
Thaddeus Crews 5a1bc65e06
Merge pull request #110058 from Rinnegatamante/pc_upstream
Perform per-line or per-rect blits in blit_rect.
2025-09-30 18:35:22 -05:00
Thaddeus Crews e5bf31b170
Merge pull request #107369 from Ivorforce/node-iter-children
Core: Add `Node::iterate_children` as a fast way to iterate a node's children
2025-09-30 18:35:21 -05:00
Thaddeus Crews a9d4900284
Merge pull request #109779 from dsnopek/thread-is-main-thread
Expose `Thread::is_main_thread()`
2025-09-30 18:35:16 -05:00
Thaddeus Crews 93fd5c7ad0
Merge pull request #110907 from beicause/extension-deconstruct-before-object
Free script and extension instance before object deconstructing
2025-09-30 18:35:10 -05:00
Thaddeus Crews 76c039fb09
Merge pull request #108725 from dsnopek/gdextension-mem-alloc-pad-align
GDExtension: Add `mem_alloc2` (and friends) so padding can be requested
2025-09-30 18:35:09 -05:00
Thaddeus Crews 6b22951162
Merge pull request #107954 from stuartcarnie/unix_domain_socket_support
Add Core UNIX domain socket support
2025-09-30 18:35:08 -05:00
Thaddeus Crews 4d13966c08
Merge pull request #108698 from Brogolem35/hashset_clear_optimize
Optimize and clean up HashSet::clear
2025-09-30 18:35:01 -05:00
David Snopek 2c707a911f GDExtension: Prevent breaking compatibility for unexposed classes that can only be created once 2025-09-30 14:48:06 -05:00
Lukas Tenbrink 8f533897d8 Make `CowData::reserve` warn message when new capacity < size verbose, like other `reserve` methods. 2025-09-30 20:21:02 +02:00
Thaddeus Crews 726c4e9fba
Merge pull request #84658 from detomon/initialize-quaternion-variant-with-identity
Initialize `Quaternion` variant with identity
2025-09-30 11:19:19 -05:00
Thaddeus Crews 21fd4faf1b
Merge pull request #107469 from Ivorforce/vector-localvector-explicit-span-conversions
Remove implicit conversions between `LocalVector` and `Vector`
2025-09-30 11:19:17 -05:00
Thaddeus Crews 79d0eea742
Merge pull request #110616 from aaronfranke/fix-rtos-fix-32bit
Apply rtos_fix hack for handling 32-bit floats on all calls to rtos_fix
2025-09-30 11:19:16 -05:00
Thaddeus Crews 62933b683e
Merge pull request #105928 from Ivorforce/cowdata-reserve-capacity
Core: Add `reserve` function to `Array`, `Vector`, and `String`
2025-09-30 11:19:13 -05:00
Thaddeus Crews e256771e86
Merge pull request #108836 from aaronfranke/json-grisu
Use num_scientific (Grisu2) when stringifying JSON with full precision
2025-09-30 11:19:12 -05:00
Thaddeus Crews fdf32d1b2a
Merge pull request #108577 from YYF233333/global_class_list
Simplify `ScriptServer::get_global_class_list`
2025-09-30 11:19:10 -05:00
Thaddeus Crews f6fc2f4a08
Core: Remove `skip_cr` argument from `String` 2025-09-28 10:07:24 -05:00
Luo Zhihao 727066fe1f Free script and extension instance before object deconstructing
Co-Authored-By: Lukas Tenbrink <lukas.tenbrink@gmail.com>
2025-09-26 18:15:08 +08:00
Haoyu Qiu 4e80190a46 Move context and plural support to Translation
- `TranslationPO` is now an empty class. It exists for compatibility.
- `OptimizedTranslation` stays the same, no context or plural support.
2025-09-26 10:51:57 +08:00
Haoyu Qiu e882e42e1b Add default plural rules
This makes the PO loader correctly handle the situation where the optional
`Plural-Forms` header field does not exist.

The `Translation` class and its subclasses always have access to valid plural
rules via `_get_plural_rules()`. Plural rules are prioritized:

1. `Translation.plural_rules_override`
2. `TranslationServer.get_plural_rules(locale)`
3. The English plural rules: `nplurals=2; plurals=(n != 1)`

Co-Authored-By: Pāvels Nadtočajevs <7645683+bruvzg@users.noreply.github.com>
2025-09-26 10:51:57 +08:00
Haoyu Qiu ebb96e2303 Move plural rules logic into a separate class
- Extracts plural rules logic in `TranslationPO` into a new `PluralRules` class.
- Changes caching the last used plural index in `TranslationPO` into an LRU cache in `PluralRules`.
- Adds tests for `PluralRules`.
2025-09-26 10:51:55 +08:00
Lukas Tenbrink 1bf821c1e1 Store current capacity in `CowData` buffers, and rewrite most of it.
Add `reserve` to `CowData`, `Vector` and `Array`.

# Conflicts:
#	core/os/memory.h
#	core/templates/cowdata.h
2025-09-25 22:00:17 +02:00
Thaddeus Crews 1f7630f1bf
Merge pull request #110841 from smix8/raster_casual
Make navmesh rasterization errors more lenient
2025-09-25 14:57:11 -05:00
Thaddeus Crews 5fda92451d
Merge pull request #100145 from Ivorforce/memory-offset-func
Add `mem_aligned_address` to simplify data offset constants.
2025-09-25 14:57:09 -05:00
Stuart Carnie 7227fdd805 Core: Add UNIX domain socket support
> [!NOTE]
>
> Later versions of Windows has support for `AF_UNIX`, so it could be
> added.
2025-09-26 05:46:19 +10:00
Lukas Tenbrink 3ac159094f Add `memory_get_offset` to simplify data offset constants. 2025-09-25 20:55:33 +02:00
smix8 19df15f1dc Make navmesh rasterization errors more lenient
Make navmesh rasterization on the navigation regions and map more lenient by starting out with a lower internal cell scale by default and changing the merge error to just warning that can be toggled.
2025-09-25 20:18:18 +02:00
Thaddeus Crews c32c2606f4
Merge pull request #110837 from wheatear-dev/add-gdsoftclass-deeper
Add `GDSOFTCLASS` to deeper inheritors of `Object`
2025-09-25 12:13:56 -05:00
A Thousand Ships bd65cfa876
Revert "Replace many uses of `is_class` with `derives_from`."
This reverts commit 78b743cf4a.
2025-09-25 13:48:53 +02:00
Edward Moulsdale e366471fdc Add GDSOFTCLASS to deeper inheritors of Object 2025-09-24 19:15:56 +01:00
BlueCube3310 f64ccadceb Image: Support generating mipmaps for all formats 2025-09-24 18:48:28 +02:00
Aaron Franke a238af4d20
Use num_scientific (Grisu2) when stringifying JSON with full precision 2025-09-24 08:21:37 -07:00
Thaddeus Crews 78b743cf4a
Merge pull request #110832 from Ivorforce/is-class-to-derives-from
Replace many uses of `is_class` with `derives_from`.
2025-09-24 09:59:09 -05:00
Thaddeus Crews 3d1d4bf934
Merge pull request #110247 from BlueCube3310/image-fill-mips
Image: Make `fill` method also fill the mipmaps
2025-09-24 09:59:04 -05:00
DeeJayLSP 8a7a0faa75 Add `reserve()` to `Dictionary`, apply to constructors on GDScript VM 2025-09-23 16:57:52 -03:00
Thaddeus Crews 8d27c00038
Merge pull request #107692 from timothyqiu/editor-overrides-doc
Show description for editor setting overrides
2025-09-23 14:51:49 -05:00
Thaddeus Crews 329acc038d
Merge pull request #110826 from Ivorforce/reserve-smaller-than-size-verbose
Change "reserve called with a capacity smaller than the current size" error message to a verbose message.
2025-09-23 14:51:48 -05:00
Lukas Tenbrink c6f57c7a55 Change "reserve called with a capacity smaller than the current size" error message to a verbose message. 2025-09-23 20:02:40 +02:00
Lukas Tenbrink 8ef4a43ada Replace many uses of `is_class` with `derives_from`. 2025-09-23 19:59:00 +02:00
Thaddeus Crews cd3a6c88fd
Merge pull request #106200 from BlueCube3310/image-16-u16
Image: Implement 16-bit unorm and uint formats
2025-09-23 12:08:46 -05:00
Hugo Locurcio 0dcf28104d
Allow all gamepad devices for built-in `ui_*` input actions
This allows all controllers to navigate the UI, which enhances
compatibility with PC handhelds when external controllers are connected.

Previously, only the first device was allowed to use `ui_*` actions
out of the box, which means that on a PC handheld, external controllers
couldn't navigate the UI (since the first ID is always the built-in controller).
2025-09-23 17:12:56 +02:00
BlueCube3310 666ed1b51c Image: Make `fill` method also fill the mipmaps 2025-09-23 14:55:04 +02:00
Thaddeus Crews a20ca7bbfe
Merge pull request #110459 from YeldhamDev/let_the_poor_ints_slide
Allow to use sliders for integers in `EditorSpinSlider`
2025-09-22 13:28:52 -05:00
Thaddeus Crews 035f5d3055
Merge pull request #110763 from Ivorforce/object-derives-from
Use `AncestralClass` to speed up `Object::cast_to` when possible.
2025-09-22 13:28:45 -05:00
Thaddeus Crews be421bcdd4
Merge pull request #110250 from YeldhamDev/i_just_cant_keep_focused
Hide `Control` focus when given via mouse input
2025-09-22 13:28:44 -05:00
Michael Alexsander f16ff829f0
Allow to use sliders for integers in `EditorSpinSlider` 2025-09-22 11:23:15 -03:00
Thaddeus Crews b4a99e775d
Merge pull request #109843 from Muller-Castro/fix-fileaccess-create-temp
Fix `FileAccess::create_temp()` default args error
2025-09-22 08:50:07 -05:00
Thaddeus Crews 9b7a723aac
Merge pull request #107721 from YYF233333/ps_include
Remove dependency of `variant.h` in `print_string.h`
2025-09-22 08:50:04 -05:00
Thaddeus Crews 94dbc42a56
Merge pull request #62083 from KoBeWi/string_slice'n_dice
Improve usage of `String.split()` vs `get_slice()`
2025-09-22 08:50:01 -05:00
Lukas Tenbrink 96619d46a1 Use `AncestralClass` to speed up Object::cast_to when possible. 2025-09-22 13:21:51 +02:00
Haoyu Qiu 172c80df67 Make text-related nodes translation domain aware
- Makes `is_layout_rtl()` translation domain aware
- Makes various text-drawing controls translation domain aware
- Makes translation preview use the project's fallback locale when disabled
2025-09-22 09:39:14 +08:00
Brogolem35 7685cb6f48 Optimize clear 2025-09-21 10:19:12 +03:00
Thaddeus Crews 149a4b4ca1
Merge pull request #107868 from lawnjelly/quick_ancestry4
Provide quick access to `Object` ancestry
2025-09-20 13:41:39 -05:00
Thaddeus Crews 326b22124a
Merge pull request #108794 from bruvzg/macos_actool_export
[macOS] Add support for exporting macOS 26 Liquid Glass icons.
2025-09-20 13:41:38 -05:00
Thaddeus Crews 40bd86819b
Merge pull request #104332 from ColinSORourke/FindSeq
Add 'Find Sequence' to `Span`s, and consolidate negative indexing behavior
2025-09-20 13:41:34 -05:00
Thaddeus Crews ebbd5a7ff5
Merge pull request #110694 from wheatear-dev/bugfix-110693
Add `GDSOFTCLASS` to `NetSocket`
2025-09-20 13:41:33 -05:00
Thaddeus Crews 8eeef165d4
Merge pull request #104781 from Ivorforce/string-encode-complete
Expose missing `String` encoding conversion functions
2025-09-19 20:54:26 -05:00
Thaddeus Crews 075d99fc11
Merge pull request #109897 from WhalesState/geo2d-opt
Geometry2D minor optimization
2025-09-19 20:54:23 -05:00
Rinnegatamante ad09677532 Perform per-line or per-rect blits in blit_rect. 2025-09-19 22:01:43 +02:00
Michael Alexsander aeb3a45c97
Hide `Control` focus when given via mouse input 2025-09-19 13:43:29 -03:00
Edward Moulsdale c652119812 Add GDSOFTCLASS to NetSocket 2025-09-19 16:01:01 +01:00
kobewi d61a337a70 Improve usage of String.split() vs get_slice() 2025-09-19 16:31:55 +02:00
Thaddeus Crews 9b96eaaf80
Merge pull request #107989 from Jojo-1000/docs-add-required-qualifier
Documentation: Add missing required qualifier for various classes
2025-09-19 09:17:06 -05:00
Yufeng Ying 05dae23f18 Remove dependency of variant.h in print_string.h
Co-authored-by: Lukas Tenbrink <lukas.tenbrink@gmail.com>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2025-09-19 14:57:36 +08:00
Lukas Tenbrink 406b22d2d5 Delete `VariantGetInternalPtr` and `VariantImplicitConvert`.
Replace uses with `VariantInternalAccessor`.
2025-09-19 00:20:07 +02:00
Lukas Tenbrink f81287d765 Introduce `VariantImplicitConvert<>` template for types that can be implicitly converted to and from `Variant`.
De-duplicate a lot of `VariantGetInternalPtr`, `VariantInternalAccessor`, `VariantInitializer` and `VariantDefaultInitializer`.
2025-09-19 00:20:07 +02:00
Lukas Tenbrink 0be2a77156 Fix `Dictionary::operator[]` from C++ accidentally modifying `const` dictionaries.
Fix `AudioStreamWav` inserting keys into the input dictionary.
2025-09-18 21:17:42 +02:00
Thaddeus Crews 3fa7c65914
Merge pull request #108504 from precup/optimize-duplicate
Avoid unnecessary copy in ClassDB::get_property_list
2025-09-18 12:42:27 -05:00
Thaddeus Crews d90d8afa5a
Merge pull request #108118 from YYF233333/varray_and_vformat
Simplify `varray`
2025-09-18 12:42:25 -05:00
Thaddeus Crews ff111e395d
Merge pull request #103917 from Ivorforce/sprintf-span
Optimize `vformat` by using `Span` in `sprintf`
2025-09-18 12:42:24 -05:00
Thaddeus Crews aad046edba
Merge pull request #107045 from Ivorforce/rename-hashing-variables
Rename internal fields and variables in `AHashMap`, `HashMap` and `HashSet`
2025-09-18 12:42:20 -05:00
Thaddeus Crews 1e84bc4d9c
Merge pull request #108260 from Silver1063/master
Fix modifier order in keycode string generation
2025-09-18 12:42:20 -05:00
Lukas Tenbrink a916325e6a Use `Span` for `String.sprintf`, to accelerate `vformat` not needing to allocate an `Array`. 2025-09-18 19:29:04 +02:00
Lukas Tenbrink d1fd42bf3c Expose `copy_from_unchecked` as `append_utf32_unchecked` and `String::utf32_unchecked` in `String` for high performance string copies. Expose `append_wstring` and `String::wstring` for platform strings. 2025-09-18 19:26:57 +02:00
Haoyu Qiu 3f03260a21 Cleanup editor translation related methods
- Unify logic for loading editor/property/doc/extractable translations.
- Replace legacy `TranslationServer` methods with translation domains for internal translations.
- Only pre-create editor/property/doc translation domains in editor builds.
- Prevent adding `null` translation.
- Fixes potential loading of duplicated editor translations.
- Add internal `has_translation_for_locale()` instead of calling `get_loaded_translations().has()`.
2025-09-18 20:27:09 +08:00
Lukas Tenbrink 46b88dcbda Rename internal fields and variables in `AHashMap`, `HashMap` and `HashSet` for consistency. 2025-09-17 19:10:02 +02:00
Thaddeus Crews cc7397ceb7
Merge pull request #110556 from Ivorforce/safe-nul-parse
Check for `NUL` characters in string parsing functions.
2025-09-17 11:34:18 -05:00
Thaddeus Crews 38d80598f5
Merge pull request #108121 from Repiteo/core/disabled-class-rework
Core: Handle disabled class detection in `ClassDB`
2025-09-17 11:34:16 -05:00
Thaddeus Crews aa294bb3c8
Merge pull request #110360 from zorbathut/pr/memorybarrierrename
Rename RDD::MemoryBarrier to avoid conflicts with the Windows headers.
2025-09-17 11:34:15 -05:00
Aaron Franke 6bc6110a90
Apply rtos_fix hack for handling 32-bit floats on all calls to rtos_fix 2025-09-17 07:05:33 -07:00
Thaddeus Crews 1a89648c61
Merge pull request #110206 from aaronp64/remove_unused_enum_bitfield_param
Remove unused parameter in `__constant_get_enum_name`/`__constant_get_bitfield_name`
2025-09-16 20:29:01 -05:00
Thaddeus Crews 138e21e6ff
Merge pull request #110169 from BlueCube3310/file-access-flush-opti
Optimize data flushing for `FileAccessCompressed` and `FileAccessEncrypted`
2025-09-16 20:28:58 -05:00
Thaddeus Crews f279257883
Merge pull request #110537 from dsnopek/gdextension-do-not-update-gdextension-special-compat-hashes
GDExtension: Update warning about `gdextension_special_compat_hashes.cpp` to prevent confusion
2025-09-16 20:28:55 -05:00
Lukas Tenbrink abe3b481ae Make conversions from `LocalVector` to `Vector` explicit. 2025-09-16 21:41:28 +02:00
Colin O'Rourke 03d32c68a9 Added Find Sequence to Spans
Added FindSequence to Span.h

Refactored String find to use Span::Find_Seq in Ustring.cpp
2025-09-16 12:37:07 -07:00
Mounir Tohami 081cebb2f7 Geometry2D minor optimization 2025-09-16 21:33:53 +03:00
Thaddeus Crews fb23f7d175
Merge pull request #110557 from Splizard/fix-dump-extension-api-with-docs-indentation
Fix `--dump-extension-api-with-docs` indentation
2025-09-16 11:44:54 -05:00
Thaddeus Crews c39edeca6d
Merge pull request #109744 from Repiteo/core/math-constants-semantic
Core: Integrate semantic constants in math structs
2025-09-16 11:44:49 -05:00
Thaddeus Crews 570577a4d6
Merge pull request #109214 from archhabra/godotengine_109204
Correct the order of Diagonal Mode in Add Property
2025-09-16 09:49:02 -05:00
Quentin Quaadgras e9131550b1 add codeblock indentation back to --dump-extension-api-with-docs
xml codeblock indentation was changed from spaces to tabs but the tabs
were being replaced with empty strings when exported with
--dump-extension-api-with-docs, this is small change so that tab
characters are no longer replaced.
2025-09-16 22:04:32 +12:00
Lukas Tenbrink 0d700e53f3 Check for `NUL` characters in string parsing functions. 2025-09-16 10:55:44 +02:00
Yufeng Ying 8f36c97a49 Optimize varray. 2025-09-16 15:01:26 +08:00
Yufeng Ying a50fc5acd8 Change ClassDB::get_class_list and related stuff. 2025-09-16 15:00:33 +08:00
BlueCube3310 ebdf57fbf1 Optimize data flushing for `FileAccessCompressed` and `FileAccessEncrypted` 2025-09-16 00:19:19 +02:00
David Snopek d0a0d8b798 GDExtension: Update warning about `gdextension_special_compat_hashes.cpp` to prevent confusion 2025-09-15 14:02:56 -05:00
aaronp64 4c3f2be16d Avoid repeated _copy_on_write() calls in Array::resize()
Updated Array::resize() to call ptrw() once before looping to initialize typed array elements, instead of accessing each through .write[].
2025-09-15 14:03:21 -04:00
Luo Zhihao d16413a346 Optimize NodePath to String by using cahced path 2025-09-13 17:09:40 +08:00
Ben Rog-Wilhelm e5ab5acd95 Rename RDD::MemoryBarrier to avoid conflicts with the Windows headers. 2025-09-10 05:19:36 -05:00
aaronp64 cfde73ac17 Remove unused parameter in __constant_get_enum_name/__constant_get_bitfield_name
Removed unused String parameter in __constant_get_enum_name() and __constant_get_bitfield_name() to avoid creating/destroying extra Strings.
2025-09-02 13:13:12 -04:00
Clay John 6339f31a02
Merge pull request #109770 from RandomShaper/fix_signal_antifree
Fix regression in mechanism to hold objects while emitting
2025-09-01 19:42:13 -07:00
Thaddeus Crews 52a5644b5f
Merge pull request #108214 from Nintorch/fix-joypad-vendor-product
Fix `Input.get_joy_info()` regression after the SDL input driver PR
2025-09-01 11:14:12 -05:00
Nintorch f28acf97d0 Fix Input.get_joy_info() regression
SDL input driver did not have the "xinput_index", "raw_name", "vendor_id" and "product_id" fields for this method and exposed an additional, essentially useless for the users "mapping_handled" field. This commit fixes these issues.
2025-08-29 22:13:40 +05:00
Emmanuel Leblond a7f224375a
Fix `classdb_register_extension_class*` documentation in `core/extension/gdextension_interface.h` 2025-08-28 22:11:14 +02:00
Pedro J. Estébanez a25846507d Fix regression in mechanism to hold objects while emitting 2025-08-28 18:23:27 +02:00
Thaddeus Crews 221731f30e
Merge pull request #110003 from WinnerWind/fix-zero-threadcount
Revert "Prevent crashing if `max_threads` is zero."
2025-08-27 13:39:44 -05:00
WinnerWind 976016b701 Revert "Prevent crashing if `max_threads` is zero."
This reverts commit a1788e09bf.
2025-08-27 09:02:34 +05:30
Thaddeus Crews 555e7ad073
Core: Handle disabled class detection in ClassDB 2025-08-26 09:31:14 -05:00
Aaron Franke e90cea9250
Handle NaN and Infinity in JSON stringify function 2025-08-24 10:09:43 -07:00
Kaleb Reid a2b9fc08e3 Fix ghost collisions in segment_intersects_convex() 2025-08-22 22:49:56 -07:00
Thaddeus Crews b432e108d5
Merge pull request #109791 from Talkashie/master
Typo cleanup pass
2025-08-21 18:39:37 -05:00
Muller-Castro be68ff8cea Fix FileAccess::create_temp() default args error 2025-08-21 20:00:55 -03:00
Thaddeus Crews 610a5bd65b
Merge pull request #109276 from bruvzg/sym_copy
Fix symlink copy in `DirAccess::copy_dir`.
2025-08-20 13:04:23 -05:00
Talkashie bc7e68dfd1 Typos 2025-08-19 18:32:59 -05:00
David Snopek b9bff1fba5 Expose `Thread::is_main_thread()` 2025-08-19 10:35:45 -05:00
Thaddeus Crews 84c0ec04f3
Core: Integrate semantic constants in math structs
- Excludes self-explanatory constants (ZERO, ONE, etc)
2025-08-19 10:15:08 -05:00
Yarvin b2e4c4f334 Fix typo - is_deprecated was being set twice, skipping is_experimental. 2025-08-19 13:54:41 +02:00
Thaddeus Crews f5152699bc
Merge pull request #108768 from WinnerWind/fix-zero-threadcount
FIX: Prevent crashing if `max_threads` is zero.
2025-08-18 08:29:04 -05:00
WinnerWind a1788e09bf Prevent crashing if `max_threads` is zero.
Adds a note in the docs that a thread count of 0 has the same effect as a thread count of -1.

Change language of WorkerThreadPool in ProjectSettings

Co-Authored-By: Tomasz Chabora <kobewi4e@gmail.com>
2025-08-17 20:12:41 +05:30
Thaddeus Crews 8892a8d362
Merge pull request #109612 from dsnopek/emit-signal-no-alloca
Don't use `alloca()` in `Object::emit_signalp()` to prevent stack overflow
2025-08-15 12:58:46 -05:00
Rudolph Bester 56e04635a7 Minor Optimization to Occlusion Culling 2025-08-14 20:00:58 +02:00
David Snopek 3eed53686b Don't use `alloca()` in `Object::emit_signalp()` to prevent stack overflow 2025-08-14 09:54:59 -05:00
MarianoGnu 5033a6af07 Never duplicate Scripts when duplicating resources recursively
This allows to duplicate PackedScenes safely
Fixes #108220
2025-08-14 10:26:48 -03:00
Pāvels Nadtočajevs 10fd7163d4
Add methods to check which event first triggered "just pressed/released" state. 2025-08-12 16:25:23 +03:00
kobewi a33ae0be0e Add has_extension() method to String 2025-08-12 13:15:16 +02:00
Thaddeus Crews b1792e5fb5
Merge pull request #109309 from dsnopek/gdextension-startup-callback-after-reload
GDExtension: Call startup callback only after reload is fully finished
2025-08-07 10:40:35 -05:00
Dubhghlas McLaughlin 4841add19a
Fixed `local_to_scene` duplication of typed dictionary. 2025-08-06 17:04:35 -05:00
Thaddeus Crews 65eb664352
Merge pull request #109310 from Yarwin/fix-gdextension-add-editor-plugin-during-initialization-level-editor
Postpone adding new extension plugins to the editor
2025-08-06 12:01:21 -05:00
Thaddeus Crews 395b0f0a3d
Merge pull request #103635 from BlueCube3310/rgb565-fix
Fix Image format RGB565 conversion and rendering
2025-08-06 12:01:17 -05:00
Thaddeus Crews 5f402da946
Merge pull request #109240 from bruvzg/scr_log_unreg
Automatically unregister loggers when script language is deinitialized.
2025-08-06 12:01:14 -05:00
David Snopek 92d9227d4a GDExtension: Call startup callback only after reload is fully finished 2025-08-05 08:30:39 -05:00