1
0
Fork 0
Commit Graph

8884 Commits

Author SHA1 Message Date
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
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
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