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
Yarvin
1aca96d139
Postpone adding new extension plugins to the editor.
...
----
Extension EditorPlugins added during Hot Reload on Initialization level
Editor were being attached to the scene tree before all the GDExtension
Classes (such as already loaded resources) are re-initialized.
2025-08-04 21:57:22 +02:00
Pāvels Nadtočajevs
19dbfec777
Fix symlink copy in `DirAccess::copy_dir`.
2025-08-03 19:52:48 +03:00
Thaddeus Crews
62dc131d74
Merge pull request #109172 from mihe/printraw-overflow
...
Fix `printraw` causing infinite recursion in `Logger._log_message`
2025-08-03 10:51:16 -05:00
BlueCube3310
638c6a5659
Fix Image format RGB565 conversion
2025-08-03 16:28:13 +02:00
Pāvels Nadtočajevs
9fd98410df
Automatically unregister loggers when script language is deinitialized.
2025-08-02 18:29:00 +03:00
Arti Chhabra
6a288c9275
Corrected the order of DiagonalMode in Add Property
2025-08-01 14:59:59 -07:00
Thaddeus Crews
c2202d36c1
Merge pull request #103838 from ebeem/master
...
Core: Fix translation remaps incorrectly falling back
2025-08-01 11:45:22 -05:00
Thaddeus Crews
761f8df597
Merge pull request #109016 from Rindbee/use-undo_redo-to-track-property-changes
...
Use `EditorUndoRedoManager` to track the property changes of the configured `InputEvent` in the plugin
2025-08-01 11:45:20 -05:00
Thaddeus Crews
c5d2033e98
Merge pull request #109123 from beicause/fix-img-nearest-cubic-resize-bias
...
Fix `Image` nearest and cubic resizing bias
2025-08-01 11:45:13 -05:00
Almarhoon Ibraheem
9add19a4ad
Core: Fix translation remaps incorrectly falling back
2025-08-01 19:23:06 +03:00
Mikael Hermansson
494471dda2
Fix `printraw` causing infinite recursion in `Logger._log_message`
2025-07-31 20:24:47 +02:00
Thaddeus Crews
00a0512854
Merge pull request #109151 from clayjohn/WTP-low-priority-threads
...
Allow processing low priority threads on calling thread in the WTP.
2025-07-31 10:39:13 -05:00
Thaddeus Crews
0d10e85b88
Merge pull request #109122 from mihe/ext-resource-id-caching
...
Fix external resource IDs being lost for default properties
2025-07-31 10:38:45 -05:00
Mikael Hermansson
d0826b0bfe
Fix external resource IDs being lost for default properties
2025-07-31 16:57:35 +02:00
clayjohn
2a8ac1c05b
Allow processing low priority threads on calling thread in the WTP.
...
This fixes a recent regression. In theory, low priority tasks should always go to the queue and never be executed on the calling thread. However, when using NO_THREADS build, all tasks need to execute on the calling thread.
2025-07-30 23:15:38 -07:00
Jojo-1000
ab178719d9
Mark methods for various classes as required
2025-07-30 19:24:56 +02:00
LuoZhihao
a32b59622f
Fix `Image` nearest and cubic resizing bias
2025-07-30 23:54:12 +08:00
Thaddeus Crews
cfc58710b7
Merge pull request #108697 from clayjohn/pump-task
...
Ensure that threads only process one pump task
2025-07-30 09:03:42 -05:00
clayjohn
782b9e328c
Ensure that threads only process one pump task.
...
This is necessary because we will always deadlock if a thread takes on multiple pump tasks since pump tasks never return.
This means when using separate threads for certain systems (like physics or rendering), we need to be sure that there are enough threads to have at least one per system (to ensure forward progress).
2025-07-29 07:15:34 -07:00
Pāvels Nadtočajevs
838cb0eefc
[macOS] Add support for exporting macOS 26 Liquid Glass icons.
2025-07-28 14:35:48 +03:00
Chaosus
610712a269
Add a way to filter neighbor points to AStar2D/3D
2025-07-28 13:25:02 +03:00
风青山
95403207e8
Use `EditorUndoRedoManager` to track the property changes of the
...
configured `InputEvent` in the plugin
This allows undo and redo, and can mark in time whether the handled
`InputEvent` resource is edited.
`command_or_control_autoremap` needs to be handled separately, as
its value will change the usage of other properties.
2025-07-27 13:57:16 +08:00
George Marques
28d3214acd
Expose type validator from Dictionary and allow testing without error
...
- Now you can get the ContainerTypeValidate from a Dictionary (both for
keys and for values).
- ContainerTypeValidate exposes a validator function that does not show
any error in case of failure. This allows testing values before trying
to use them in Dictionary.
2025-07-24 13:35:48 -03:00
Thaddeus Crews
b74c8b4c03
Merge pull request #108614 from dsnopek/gdextension-compat-unexposed-classes
...
GDExtension: Prevent compatibility breakage from change to `ClassDB::instantiate()` for unexposed classes
2025-07-23 13:27:02 -05:00
Thaddeus Crews
037956dbc9
Merge pull request #108831 from aaronfranke/json-pass-full-precision
...
Fix internal JSON stringify not preserving p_full_precision
2025-07-22 11:20:15 -05:00
Mikael Hermansson
836a1a0b02
Prevent infinite recursion during printing
2025-07-22 16:13:03 +02:00
Aaron Franke
b626695f70
Fix internal JSON stringify not preserving p_full_precision
2025-07-21 08:36:29 -07:00
David Snopek
91a4a28aab
GDExtension: Add `mem_alloc2` (and friends) so padding can be requested
2025-07-17 16:16:05 -05:00
David Snopek
e325c4bdba
GDExtension: Prevent compatibility breakage from change to `ClassDB::instantiate()` for unexposed classes
2025-07-14 14:09:23 -05:00
kobewi
188e313dd8
Fix Variant properties losing value upon script update
2025-07-12 20:29:19 +02:00
Mike Precup
047edb8933
Avoid unnecessary copy in get_property_list
2025-07-10 17:06:13 -07:00
Thaddeus Crews
b3416c7390
Merge pull request #108464 from simpkins/include_fix
...
Remove an unnecessary include of main/ code from core/
2025-07-10 11:39:27 -05:00
Mike Precup
25115609ff
Fix issue with array comparison reference
2025-07-09 20:22:09 -07:00
Adam Simpkins
21bc4b509f
Remove an unnecessarily include of main/ code from core/
...
Code in core/ generally should not depend on code from main/
This include was added in #41100 in order to call
`Main::is_project_manager()`. The `is_project_manager()` check was
later removed in #52742 but this include was never cleaned up.
This clean-up is related to #108429 .
2025-07-09 19:09:11 -07:00
Thaddeus Crews
e748514112
Merge pull request #105835 from bruvzg/edited_scene_direction
...
Improve edited scene layout direction detection.
2025-07-09 11:33:11 -05:00
Mikael Hermansson
3528e83ff3
Various fixes and style nitpicks
2025-07-09 14:27:48 +02:00
Aleksander Litynski
78f1543e35
Add an ObjectDB Profiling Tool
...
A new tab is added to the debugger that can help profile a game's memory usage.
Specifically, this lets you save a snapshot of all the objects in a running
game's ObjectDB to disk. It then lets you view the snapshot and diff two
snapshots against each other. This is meant to work similarly to Chrome's
heap snapshot tool or Unity's memory profiler.
2025-07-08 16:39:24 +02:00
Silver1063
00f5b230be
Fix modifier order in keycode string generation
...
Fix the order in which modifier keys are appended in as_text() and keycode_get_string() to ensure consistent and logical ordering (Ctrl, Alt, Shift, Meta). Refactored keycode_get_string() to use a vector for building the key string, improving readability and maintainability.
2025-07-06 14:23:50 -07:00
Haoyu Qiu
a805b0c658
Show description for editor settings overrides
...
Also marked the "Editor Overrides" section name for translation.
2025-07-05 14:44:17 +08:00
A Thousand Ships
f11aff3841
Editor: Restructure editor code
...
Moving various editor files into sub folders to reduce clutter
2025-07-04 18:18:22 +02:00
Thaddeus Crews
77b680244d
Merge pull request #102186 from HolonProduction/completion-builtin-enum
...
Improve GDScript editor support for global enums
2025-07-03 12:21:19 -05:00
Rémi Verschelde
1123d7fd9c
Merge pull request #102499 from Jordyfel/resource-docs
...
Improve documentation of some `Resource` methods
2025-06-28 13:02:54 +02:00
BlueCube3310
16b9ee6f50
Image: Implement 16-bit unorm and uint formats
2025-06-28 00:30:52 +02:00
风青山
efed435fa3
Fix `screen_accum` not being reset when it should be in `Input::VelocityTrack`
...
Resets `screen_accum` like `accum`.
2025-06-26 20:06:03 +08:00
Pāvels Nadtočajevs
42733a2a5c
Implement sparse bundle PCK support.
2025-06-26 00:47:25 +02:00
Thaddeus Crews
bf9346caad
Merge pull request #107898 from BlueCube3310/image-invis-fix
...
Image: Fix `is_invisible` detection for RGBAH and RGBAF
2025-06-25 15:14:07 -05:00
Geoffroy Warin
88c086d082
Sync controller mappings DB with SDL community repo
...
Synced with: mdqinc/SDL_GameControllerDB@1849728
2025-06-25 12:42:43 +02:00
Thaddeus Crews
ab134b386a
Merge pull request #106218 from Nintorch/master
...
Add support for SDL3 joystick input driver for Windows, Linux and macOS
2025-06-24 18:34:28 -05:00
Thaddeus Crews
db28859774
Merge pull request #107591 from timothyqiu/group-enable-default
...
Make `PROPERTY_HINT_GROUP_ENABLE` hide properties by default
2025-06-24 18:34:28 -05:00
Nintorch
0b3496fb4f
Add support for SDL3 joystick input driver
...
Made possible by EIREXE, xsellier and the SDL team.
This commit includes statically linked SDL3 for Windows, Linux and macOS.
The vendored copy of SDL3 was setup to only build the required subsystems
for gamepad/joystick support, with some patches to be able to make it as
minimal as possible and reduce the impact on binary size and code size.
Co-authored-by: Álex Román Núñez <eirexe123@gmail.com>
Co-authored-by: Xavier Sellier <xsellier@gmail.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-06-25 01:28:50 +02:00
Thaddeus Crews
27414203de
Merge pull request #103219 from kuruk-mm/fix-file-handle-leak
...
Fix file handle leak in ZipArchive and FileAccessZip
2025-06-24 09:58:43 -05:00
Thaddeus Crews
d97d8c16e7
Merge pull request #107663 from mihe/script-break-error
...
Fix errors not being emitted when debugger breaks on script errors
2025-06-24 09:58:38 -05:00
Mateo "Kuruk" Miccino
38c69f1814
Fix file handle leak in ZipArchive and FileAccessZip
2025-06-24 07:34:22 -03:00
BlueCube3310
e35c80b61c
Image: Fix `is_invisible` detection for RGBAH and RGBAF
2025-06-23 18:21:04 +02:00
Thaddeus Crews
97f4b8a260
Merge pull request #107788 from dsnopek/gdextension-interface-minor-adjustments
...
Fix minor inconsistencies and errors in `gdextension_interface.h`
2025-06-23 09:37:22 -05:00
lawnjelly
14a814586a
Provide quick access to `Object` ancestry
2025-06-23 07:11:11 +01:00
David Snopek
d5eb66947b
Fix minor inconsistencies and errors in `gdextension_interface.h`
2025-06-22 07:56:00 -05:00
Rémi Verschelde
2e60d51499
Merge pull request #107796 from Ivorforce/resize-rereserve
...
Use `reserve` in `LocalVector::resize`, to restore expected growth behavior
2025-06-22 11:59:15 +02:00
Lukas Tenbrink
697e0bb077
Use `reserve` in `LocalVector::resize`, to restore expected growth behavior.
2025-06-21 11:23:05 +02:00
Rémi Verschelde
a0f9f5d90a
Merge pull request #107770 from RandomShaper/fix_res_dupe_bindings
...
Enhance bindings of deep resource duplication
2025-06-21 11:14:19 +02:00
Pedro J. Estébanez
7dc37bdc9c
Enhance bindings of deep resource duplication
2025-06-20 18:40:41 +02:00
Thaddeus Crews
8de08c7c21
Merge pull request #107646 from stuartcarnie/string_append_utf8_bug
...
Core: Fix invalid resize after appending
2025-06-18 18:14:11 -05:00
Thaddeus Crews
3d94ba0f84
Merge pull request #107643 from stuartcarnie/remote_debug_fix
...
Core: Fix data race in remote debugger; handle errors
2025-06-18 18:14:10 -05:00
Thaddeus Crews
ac6252c9c8
Merge pull request #107486 from Ivorforce/rendering-no-alloc-api
...
Use raw buffer pointers in `RenderingDevice` allocation APIs to avoid intermediary arrays
2025-06-18 18:14:00 -05:00
Thaddeus Crews
6c9463dbd2
Merge pull request #107594 from dsnopek/gdextension-shutdown-order-fix
...
GDExtension: Always run shutdown callback before deinitializing any levels
2025-06-18 18:13:52 -05:00
Thaddeus Crews
d4fa7e15ed
Merge pull request #106919 from kitbdev/fix-codeedit-hover-word-lookup
...
Fix CodeEdit hover word lookup
2025-06-18 18:13:43 -05:00
Stuart Carnie
2ebf8369f0
Core: Fix data race in remote debugger; handle errors
2025-06-19 06:25:56 +10:00
David Snopek
3b7e34556c
GDExtension: Always run shutdown callback before deinitializing any levels
2025-06-18 07:51:12 -05:00
Lukas Tenbrink
2b36c79f7b
Use `Span<uint8_t>` in `RenderingDevice` allocation APIs to avoid intermediary arrays on calls.
2025-06-18 12:31:48 +02:00
Mikael Hermansson
1b7b44390a
Fix errors not being emitted when debugger breaks on script errors
2025-06-18 11:52:26 +02:00
Stuart Carnie
4b3800582e
Core: Fix invalid resize after appending
2025-06-18 08:57:05 +10:00
Haoyu Qiu
296aba7dc5
Fix CSV translation not updating after reimport
2025-06-17 17:22:49 +08:00
Haoyu Qiu
a7ab249a2a
Make `PROPERTY_HINT_GROUP_ENABLE` hide properties by default
2025-06-16 20:03:49 +08:00
Rémi Verschelde
9e1e2fdbd5
Merge pull request #107550 from AdrienUfferte/fix-spelling
...
Fix spelling in comments
2025-06-16 01:52:48 +02:00
jsjtxietian
6f094856e7
Make get_id_path return empty when first point is disabled
2025-06-16 01:42:13 +02:00
HolonProduction
af54b13603
Autocompletion: Add support for global enums
2025-06-15 19:41:13 +02:00
Adrien Ufferte
a11a64fbf4
Comments spelling fixes
2025-06-15 01:36:10 +02:00
Rémi Verschelde
ee84a5a100
Merge pull request #107482 from nikitalita/fix-pck-misalign
...
PCKPacker: Fix first file being written mis-aligned
2025-06-13 18:37:46 +02:00
Rémi Verschelde
60ba4ba6bf
Merge pull request #107471 from Calinou/input-map-fix-colorpicker-action-name
...
Fix action name for `ui_colorpicker_delete_preset` in built-in InputMap
2025-06-13 18:37:42 +02:00
Rémi Verschelde
d9cda33090
Merge pull request #107415 from adamscott/add-emscripten-version-to-log-header
...
[Web] Add Web-build specific stdout header
2025-06-13 18:37:37 +02:00
Lukas Tenbrink
175c38d0dc
Core: Add `Node::iterate_children` as a fast way to iterate a node's children, without needing allocations or `get_child`.
...
Adds `Iterable` class to templates.
2025-06-13 17:01:51 +02:00
nikitalita
6e823b4b14
PCKPacker: Fix first file being written mis-aligned
2025-06-13 16:25:38 +02:00
Rémi Verschelde
7f925a104f
Merge pull request #107380 from Ivorforce/no-stringname-search
...
Core: Remove unused `StringName::search`.
2025-06-13 15:53:55 +02:00
Rémi Verschelde
97cef7dce8
Merge pull request #107349 from beicause/project-settings-fix-enum-hint
...
ProjectSettings: Fix missing property hint of setting overrides
2025-06-13 15:53:51 +02:00
Rémi Verschelde
dbc75f2424
Merge pull request #106720 from Calinou/resourceloader-tweak-error-messages
...
Improve error messages in ResourceLoader
2025-06-13 15:53:41 +02:00
Hugo Locurcio
b4477f3f49
Fix action name for `ui_colorpicker_delete_preset` in built-in InputMap
...
The old action name is a leftover from a now-reverted PR.
2025-06-13 02:24:34 +02:00
Hugo Locurcio
16d551a8dd
Improve error messages in ResourceLoader
...
- Remove part of the "Failed loading resource" message about opening
the project in the editor, as it's sometimes misleading.
- Fix `(expected type: )` appearing at the end of the
"No loader found for resource:" error message.
2025-06-13 02:00:59 +02:00