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
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
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
HolonProduction
abeb9c654e
Move deprecated has_named_classes
from ScriptLanguage
to ScriptLanguageExtension
2025-10-05 16:55:06 +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
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
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
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
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
fdf32d1b2a
Merge pull request #108577 from YYF233333/global_class_list
...
Simplify `ScriptServer::get_global_class_list`
2025-09-30 11:19:10 -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
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
Lukas Tenbrink
8ef4a43ada
Replace many uses of is_class
with derives_from
.
2025-09-23 19:59:00 +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
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
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
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
Yufeng Ying
a50fc5acd8
Change ClassDB::get_class_list and related stuff.
2025-09-16 15:00:33 +08: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
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
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
David Snopek
3eed53686b
Don't use alloca()
in Object::emit_signalp()
to prevent stack overflow
2025-08-14 09:54:59 -05:00
Pāvels Nadtočajevs
9fd98410df
Automatically unregister loggers when script language is deinitialized.
2025-08-02 18:29:00 +03: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
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
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
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
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
Lukas Tenbrink
df7dab4946
Use idiomatic templating vargs in a few places to reduce code.
2025-06-08 12:24:07 +02:00
Pāvels Nadtočajevs
b6461a3bd5
Add WorkerThreadPool.get_caller_group_id
2025-06-05 14:23:26 +03:00