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
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
HolonProduction
7b2e148687
Bitpack more Object booleans
2025-10-06 22:01:22 +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
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
Lukas Tenbrink
9d44b68867
Remove rw_lock.h and rb_map.h includes from object.h.
2025-10-05 23:29:04 +02:00
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
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
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
David Snopek
2c707a911f
GDExtension: Prevent breaking compatibility for unexposed classes that can only be created once
2025-09-30 14:48:06 -05: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
Michael Alexsander
f16ff829f0
Allow to use sliders for integers in EditorSpinSlider
2025-09-22 11:23:15 -03:00
Lukas Tenbrink
96619d46a1
Use AncestralClass to speed up Object::cast_to when possible.
2025-09-22 13:21:51 +02: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
555e7ad073
Core: Handle disabled class detection in ClassDB
2025-08-26 09:31:14 -05: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
lawnjelly
14a814586a
Provide quick access to Object ancestry
2025-06-23 07:11:11 +01:00
Haoyu Qiu
a7ab249a2a
Make PROPERTY_HINT_GROUP_ENABLE hide properties by default
2025-06-16 20:03:49 +08:00
Rémi Verschelde
22702244f8
Merge pull request #105414 from KoBeWi/disable_uid_here
...
Add `@export_file_path` to export raw paths (no UID)
2025-06-13 01:30:24 +02:00
Michael Alexsander
454e4f817c
Make build profile project detection also set build options
2025-06-03 11:11:33 -03:00
Rindbee
5e2396e001
Add a flag to make the connection automatically emit the source object.
...
Mainly used to improve the connection dialog.
Not implemented in `emit_signalp()`, append the source object when a PackScene is instantiated.
2025-05-27 20:19:03 +08:00
Thaddeus Crews
06301bee3e
Merge pull request #106775 from Ivorforce/gdsoftclass-expand
...
Move compatible functionality from `GDCLASS` to `GDSOFTCLASS`.
2025-05-26 11:24:26 -05:00
Lukas Tenbrink
621a8d14fa
Move compatible functionality from GDCLASS to GDSOFTCLASS.
2025-05-26 17:41:15 +02:00
kobewi
42249bb659
Add @export_file_path to export raw paths (no UID)
2025-05-22 13:25:17 +02:00
Logan Detrick
1a427d3dec
Add feature hint string and "On" text for checkable groups
2025-05-21 14:56:55 -07:00
Thaddeus Crews
d237e31a89
Style: Remove redundant DEBUG_METHODS_ENABLED
...
• Replaced with functionally identical and far more ubiquitous `DEBUG_ENABLED`
2025-05-15 13:09:41 -05:00
Thaddeus Crews
1c4b660312
Merge pull request #96611 from Dynamic-Pistol/master
...
Add `PROPERTY_HINT_INPUT_NAME` for use with `@export_custom` to allow using input actions
2025-05-13 16:22:25 -05:00
Lukas Tenbrink
e57427900f
Use BinaryMutex instead of Mutex for StringName.
2025-04-28 17:13:26 +02:00
Dynamic-Pistol
c8fed1e1d0
Add PROPERTY_HINT_INPUT_NAME
...
Added PROPERTY_HINT_INPUT_NAME for StringName based off https://github.com/godotengine/godot-proposals/discussions/7559
2025-04-23 22:23:44 +02:00
Lukas Tenbrink
91fe434a86
Always use String as StringName backing internally.
2025-04-23 14:57:03 +02:00
Thaddeus Crews
0cc292f880
Merge pull request #105272 from lodetrick/add_section_toggle
...
Add enable checkboxes to editor sections
2025-04-21 08:24:20 -05:00
Juan
2f39d8ebef
Add thread safety to Object signals
...
* It turns out the majority of this work was done already by AThousandShips as part of #89451 . This allows to do lock-less emitting of signals.
* This means, that only the signal map needs to be protected, making the task simple and without risk of deadlocks, or affecting performance.
* Objects can choose to not protect signals for performance (as example Node uses thread guards for protection, so these signals are not thread safe).
2025-04-16 17:14:44 +02:00
cier
ebe9370724
Add enable checkboxes to editor sections
...
Fixes https://github.com/godotengine/godot-proposals/issues/4173
2025-04-15 13:49:41 -07:00
Lukas Tenbrink
fbe64ffb45
Change get_class_static to return StringName.
...
Use that static `get_class_static` for `_get_class_namev` to avoid duplication.
2025-04-08 23:25:05 +02:00
Thaddeus Crews
36991aba34
Merge pull request #104264 from YYF233333/layout/gdvirtual
...
Optimize gdvirtual function layout
2025-04-08 12:32:51 -05:00
Thaddeus Crews
5dc7d56b92
Merge pull request #105099 from Ivorforce/object-classname-cache
...
Fix caching of objects' class name pointer in `Object` instances.
2025-04-08 12:32:40 -05:00
Lukas Tenbrink
e7f087b91a
Fix caching of objects' class name pointer in Object instances.
...
Use `get_class_name` for `get_class` calls. Merge `get_parent_class_static` into `get_class_static`.
2025-04-07 21:05:21 +02:00
Thaddeus Crews
5edb235018
CI: Bump various pre-commit hooks
2025-04-07 08:23:35 -05:00
Thaddeus Crews
046c9f540c
Merge pull request #105030 from Ivorforce/class-is-enabled-object
...
Move `GD_IS_CLASS_ENABLED` and respective include from `class_db.h` to `object.h`, as this is where it's needed.
2025-04-04 17:40:58 -05:00
Lukas Tenbrink
aa5ca4f1a2
Move GD_IS_CLASS_ENABLED and respective include from class_db.h to object.h, as this is where it's needed.
2025-04-04 23:45:35 +02:00
Thaddeus Crews
78922d756a
Core: Decouple GDCLASS from ClassDB
2025-04-04 16:21:30 -05:00
Yufeng Ying
057858a0fb
Optimize gdvirtual layout.
...
Co-authored-by: David Snopek <dsnopek@gmail.com >
2025-04-04 22:54:42 +08:00
Lukas Tenbrink
e6d166344b
Remove unused get_inheritance_list_static from GDCLASS.
2025-04-03 17:18:28 +02:00
Lukas Tenbrink
be82731f99
Removed unused get_valid_parents_static functions from GDCLASS.
2025-04-02 13:50:47 +02:00
Thaddeus Crews
1f1b1c56e7
Merge pull request #104381 from Ivorforce/object-notification-nobool
...
Optimize `Object::notification` by avoiding runtime branches
2025-04-01 19:53:37 -05:00
Lukas Tenbrink
8a76e31547
Remove bool from Object::notification virtual function; replace with separate functions to avoid branching.
2025-04-01 15:26:32 +02:00
Thaddeus Crews
abd565eb19
Merge pull request #104844 from Ivorforce/gdsoftclass
...
Add and require `GDSOFTCLASS` for `Object` subclasses that want to cast but do not use `GDCLASS`.
2025-03-31 19:02:03 -05:00
Lukas Tenbrink
fa0a3c9c6e
Add and require GDSOFTCLASS for Object subclasses that want to cast but do not use GDCLASS.
2025-03-31 20:49:50 +02:00