d2ee378d1c
Remove VariantHasher and VariantComparator in favour of specializing HashMapHasherDefault and HashMapComparatorDefault.
2025-10-07 13:47:39 +02:00
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
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
aae2def236
Merge pull request #111266 from HolonProduction/completion-filter-internal
...
Autocompletion: Filter ClassDB argument options
2025-10-06 14:34:02 -05:00
d6036462b1
Remove hash_map.h include from a_hash_map.h, and remove cross conversion operators.
2025-10-06 17:20:31 +02:00
dc5e615a1d
Remove Array include from dictionary.h and ustring.h.
2025-10-06 16:21:36 +02:00
5935a32e32
Core: Cleanup headers in core/config
...
- `MainLoop` now forward-declared in `OS`
2025-10-06 09:20:56 -05:00
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
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
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
686b56fae9
Merge pull request #106434 from Ivorforce/invert-hashfuncs
...
Reduce cross project includes by rewriting `HashMapHasherDefault`.
2025-10-06 09:06:37 -05:00
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
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
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
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
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
9d44b68867
Remove rw_lock.h and rb_map.h includes from object.h.
2025-10-05 23:29:04 +02:00
ead282ff13
Remove file_access.h and script_backtrace.h includes from logger.h.
2025-10-05 17:49:23 +09:00
7ddce8ab26
Add game speed controls to the embedded game window
2025-10-05 11:13:15 +05:30
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
1db0a60dc0
Replace std::size usage with std_size to avoid <iterator> include.
2025-10-05 00:26:11 +02:00
5c3eb8b227
Autocompletion: Filter ClassDB argument options
2025-10-04 23:44:07 +02:00
4211499248
Change Memory from a class into a namespace.
2025-10-04 17:22:07 +02:00
06827c91c6
Merge pull request #107839 from Rudolph-B/Occlusion-Culling-Optimization
...
Minor Optimization to Occlusion Culling
2025-10-03 12:01:13 -05:00
f6aa5ba23c
Merge pull request #97210 from AleksLitynski/object-snapshot-debugger
...
Add an ObjectDB Profiling Tool
2025-10-03 12:01:11 -05:00
6dfe5de9a8
Merge pull request #111158 from WhalesState/trivial-itr
...
Refactor `Array` iterators to be trivially copyable.
2025-10-03 12:01:10 -05:00
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
38af23a654
Merge pull request #89409 from aaronfranke/server-folders
...
Move server files into their subfolders
2025-10-03 12:01:00 -05:00
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
9ff5325642
Refactor Array iterators to be trivially copyable.
2025-10-02 14:30:55 +03:00
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
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
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
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
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
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
3d1c9fd5de
Move server files into their subfolders
2025-09-30 19:39:39 -07:00
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
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
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
a9d4900284
Merge pull request #109779 from dsnopek/thread-is-main-thread
...
Expose `Thread::is_main_thread()`
2025-09-30 18:35:16 -05:00
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
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
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
4d13966c08
Merge pull request #108698 from Brogolem35/hashset_clear_optimize
...
Optimize and clean up HashSet::clear
2025-09-30 18:35:01 -05:00
2c707a911f
GDExtension: Prevent breaking compatibility for unexposed classes that can only be created once
2025-09-30 14:48:06 -05:00
8f533897d8
Make CowData::reserve warn message when new capacity < size verbose, like other reserve methods.
2025-09-30 20:21:02 +02:00
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
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
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