Haoyu Qiu
72d437c030
Move localized number formatting methods to TranslationServer
...
Co-Authored-By: Pāvels Nadtočajevs <7645683+bruvzg@users.noreply.github.com>
2025-11-10 15:01:22 +08:00
Haoyu Qiu
b8a8f8b35a
Allow localizing the application name with project translations
2025-11-08 13:06:55 +08:00
Lukas Tenbrink
c3747884da
Add some important profiling hooks.
2025-11-08 00:08:48 +01:00
Lukas Tenbrink
e80194e31f
Add `profiler` option to `SCons` builds.
...
Add `tracy` option to `profiler`. If set, a tracy profiling client will be injected into the Godot binary.
# Conflicts:
# platform/linuxbsd/godot_linuxbsd.cpp
2025-11-08 00:08:45 +01:00
Thaddeus Crews
6fd949a6dc
Merge pull request #110748 from MauriceButler/project-setting-changed-signal
...
Add ability to get list of Project Settings changed, similar to Editor Settings functionality
2025-11-07 10:32:39 -06:00
Maurice Butler
ffa2651fbc
Added ability to get a list of project settings changed.
2025-11-06 20:15:07 +10:00
kobewi
89432600ce
Misc script editor code cleanup
2025-11-05 18:18:33 +01:00
David Snopek
bc9f3c7d92
Make Vector<T>::duplicate() const
...
Co-authored-by: Aaron Franke <arnfranke@yahoo.com>
2025-11-04 17:13:11 -06:00
David Snopek
fc58be9bfc
GDExtension: Add system for builtin method compatibility
2025-11-04 17:12:31 -06:00
Thaddeus Crews
d845f0960d
Merge pull request #112351 from charjr/fix-array-remove-at
...
GDExtension: Add missing method flag
2025-11-04 16:32:51 -06:00
Thaddeus Crews
cef4a7805f
Merge pull request #111772 from nikitalita/fix-fmem-integer-underflow
...
Fix buffer over-read in `FileAccessMemory::get_buffer`
2025-11-04 16:32:29 -06:00
Thaddeus Crews
0d89d2fb82
Merge pull request #112149 from timothyqiu/csv-template
...
Add CSV translation template generation
2025-11-04 16:32:26 -06:00
John Charman
c342ce423c
GDExtension: Add missing method flag
...
Add GDEXTENSION_METHOD_FLAG_VIRTUAL_REQUIRED
2025-11-04 18:44:11 +00:00
Pāvels Nadtočajevs
29da94290f
Disable some unsafe CLI arguments in template builds by default.
2025-11-03 12:21:42 +02:00
nikitalita
3fa73d4f5f
FileAccessMemory: prevent seeking past end of file
2025-11-02 12:40:51 -08:00
kobewi
d27fb9b15a
Remove default skeleton path in MeshInstance3D
2025-11-01 01:59:58 +01:00
Thaddeus Crews
ae9732139a
Merge pull request #109433 from KoBeWi/hastension
...
Add `has_extension()` method to String
2025-10-31 09:23:30 -05:00
Thaddeus Crews
416ba9a1c6
Merge pull request #109517 from precup/speedy-signal-disconnect
...
Speed up signal disconnects in the editor
2025-10-30 10:45:56 -05:00
Thaddeus Crews
eaa80e62a8
Merge pull request #108076 from timothyqiu/resource-loader-unused
...
Remove unused methods in `ResourceLoader`
2025-10-30 10:45:55 -05:00
Haoyu Qiu
ea9a2c3b2c
Add CSV translation template generation
2025-10-30 08:44:41 +08:00
Haoyu Qiu
c885098266
Remove unused methods in `ResourceLoader`
2025-10-30 08:13:20 +08:00
Aaron Franke
cc13a376c5
Handle NaN and Infinity in JSON stringify function
...
Co-authored-by: Thaddeus Crews <repiteo@outlook.com>
Co-authored-by: Lukas Tenbrink <lukas.tenbrink@gmail.com>
2025-10-29 12:06:40 -07:00
Thaddeus Crews
881058009f
Merge pull request #111522 from Repiteo/core/to-from-native
...
Core: Support `INF`/`NAN` in JSON from/to native
2025-10-29 13:13:48 -05:00
Thaddeus Crews
a0cde1e151
Merge pull request #112129 from DeeJayLSP/asetget
...
`ClassDB`: Use `AHashMap` for `property_setget` and `constant/signal_map`
2025-10-29 13:13:47 -05:00
DeeJayLSP
a149280cea
`ClassDB`: Use `AHashMap` for `property_setget` and `constant/signal_map`
2025-10-28 16:24:54 -03:00
Thaddeus Crews
ed751529bc
Merge pull request #112094 from mihe/apple-stack-size
...
Increase stack size for all secondary threads on Apple platforms
2025-10-28 12:19:36 -05:00
Thaddeus Crews
3cd6b3f8c6
Merge pull request #111674 from bruvzg/pck_virt_addr_4
...
Update embedded PCK virtual address.
2025-10-28 10:15:35 -05:00
Thaddeus Crews
5c9333073a
Merge pull request #111696 from StarryWorm/langtable-include
...
Fix missing includes in headers
2025-10-27 10:01:51 -05:00
Thaddeus Crews
5a257a904a
Merge pull request #112073 from timothyqiu/make-csv-great-again
...
Improve CSV translations
2025-10-27 10:01:50 -05:00
Thaddeus Crews
08db7ddf2f
Merge pull request #110245 from Armynator/add-min-gui-drag-distance
...
Make minimum drag distance configurable for gui elements
2025-10-27 10:01:41 -05:00
Mikael Hermansson
b320a6569e
Increase stack size for all secondary threads on Apple platforms
2025-10-27 12:49:35 +01:00
Haoyu Qiu
c1ee8e52e4
Improve CSV translations
...
- Adds context and plural support
- Adds unescape import options
- Better document OptimizedTranslation
Co-Authored-By: Pāvels Nadtočajevs <7645683+bruvzg@users.noreply.github.com>
2025-10-27 17:47:45 +08:00
StarryWorm
796281f62f
Add missing includes
...
Add missing <winnt.h> include in windows/lang_table.h
Add missing typedefs.h and rid.h include in godot_constraint_3d.h
Add missing <type_traits> include in iterable.h
Add missing forward declarations in rendering_shader_library.h
2025-10-26 18:25:17 -04:00
Lukas Tenbrink
65bf516006
Fix `memnew_placement` with `char *` arguments. Before, it would call the description version, allocating on the heap instead of ni the given memory.
2025-10-25 18:50:22 +02:00
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