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
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