1
0
Fork 0
Commit Graph

237 Commits

Author SHA1 Message Date
Lukas Tenbrink d2ee378d1c Remove `VariantHasher` and `VariantComparator` in favour of specializing `HashMapHasherDefault` and `HashMapComparatorDefault`. 2025-10-07 13:47:39 +02: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
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
chocola-mint ead282ff13 Remove `file_access.h` and `script_backtrace.h` includes from `logger.h`. 2025-10-05 17:49:23 +09:00
Thaddeus Crews 685c7e92e5
Merge pull request #100437 from KoBeWi/ruaninstancequestionmark
Add `is_instance()` helper method to Node
2025-09-23 12:08:48 -05:00
Aaron Franke 84eb90b790
Allow attaching scripts to nodes with previously-non-abstract scripts 2025-08-27 11:14:59 -07:00
kobewi 11adf408ab Add is_instance() helper method to Node 2025-07-08 20:42:52 +02:00
Mikael Hermansson af94831ab2 Fix typed collections using same reference across scene instances 2025-07-02 23:45:25 +02:00
Thaddeus Crews ffc267b44f
Merge pull request #92280 from dalexeev/editor-fix-built-in-script-documentation
Editor: Fix documentation for built-in scripts
2025-06-18 18:14:09 -05:00
Pedro J. Estébanez c854462ac5 Fix resources wrongly duplicated upon instantiating inherited scenes 2025-06-06 17:45:45 +02: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
Danil Alexeev 0a07ae7bf1
Editor: Fix documentation for built-in scripts 2025-05-05 21:26:30 +03:00
A Thousand Ships 889410dcda
Add `String::replace_char(s)` methods for performance and convenience 2025-04-10 13:08:45 +02:00
Yufeng Ying bbc380b07e Do not iterate Dictionary with get_key_at_index. 2025-04-07 21:54:13 +08:00
Thaddeus Crews 5edb235018
CI: Bump various pre-commit hooks 2025-04-07 08:23:35 -05:00
Aaron Franke 2800948d61
Organize ifdefs for disabling navigation, physics, and XR 2025-04-02 08:24:24 -07:00
kobewi bc9d0c7835 Add templated version of ObjectDB::get_instance() 2025-03-27 15:43:23 +01:00
Mikael Hermansson a71f670d7d Bind `SceneState` methods `get_path` and `get_base_scene_state` 2025-03-14 13:04:26 +01:00
A Thousand Ships 466590d0ec
Use `get_slicec` instead of `get_slice` for single character splitters 2025-03-08 20:36:37 +01:00
Rémi Verschelde dbdd8a2db9
PackedScene: Use ObjectID for DeferredNodePathProperties base
Help do proper error handling and avoid a crash.

Works around #103263.
2025-02-26 14:40:14 +01:00
A Thousand Ships a1846b27ea
Improve use of `Ref.is_null/valid`
Use `is_null` over `!is_valid` and vice versa.
2024-12-23 16:35:02 -05:00
Yufeng Ying 73d85f46c9 Remove unused headers in scene.
Co-authored-by: Thaddeus Crews <repiteo@outlook.com>

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-12-24 00:40:09 +08:00
Rémi Verschelde 2153a60425
Revert "Avoid duplicating signals from scene instances into packed scenes"
This partially reverts commit 8a42e3d3ef.

Comment improvements and the test case were kept, with one part commented out.
2024-12-10 10:42:58 +01:00
cixil 8a42e3d3ef
Avoid duplicating signals from scene instances into packed scenes 2024-11-29 18:29:08 +01:00
A Thousand Ships 68f638cf02
Use `(r)find_char` instead of `(r)find` for single characters 2024-11-17 10:02:18 +01:00
Thaddeus Crews 925b690c98
Core: Integrate `Ref::instantiate` where possible 2024-11-10 12:41:26 -06:00
nikitalita 95d2909474 Fix missing resource properties being dropped on save 2024-11-05 11:53:29 -06:00
Raffaele Picca 1df0159b36 Added a more detailed error message when instatiating a scene with missing export properties. 2024-09-16 16:08:55 +02:00
Rémi Verschelde 7a4c03418a
Merge pull request #96144 from SaracenOne/reimport_owner_instance
Make reimported models reimport their owner.
2024-09-08 23:21:32 +02:00
Saracen 86ce15fb7a Make reimported models reimport their owner.
Changes the behaviour of the scene hot-reload system
so that if the scene which needs to be reimported is
owned by another instance, reload that instance instead.
2024-09-08 03:12:47 +01:00
Thaddeus Crews 9853a69144
Implement typed dictionaries 2024-09-04 10:27:26 -05:00
BlueCube3310 6412cdf27d Fix saving subresources of nodes 2024-08-28 12:37:10 +02:00
Rémi Verschelde 78935cad95
Merge pull request #94954 from raulsntos/mark-internal-properties
Mark underscored properties as internal
2024-08-28 00:12:42 +02:00
Raul Santos 7a20ba9b63
Mark underscored properties as internal
These properties look like they were intended to be internal but they were missing the `PROPERTY_USAGE_INTERNAL` flag.

- `PackedScene::_bundled`
- `PortableCompressedTexture2D::_data`
- `ImporterMesh::_data`
2024-07-30 18:50:00 +02:00
kobewi 5636518358 Allow live reloading of built-in scripts 2024-07-06 23:43:37 +02:00
kobewi b83c64faac Speed up scene group scanning for text scenes 2024-06-29 21:30:38 +02:00
kobewi be111004dd Fix default NodePaths saved in scene 2024-06-03 13:10:23 +02:00
Adriano Orioli edd2e6e37f
make InstancePlaceholder in charge of node reference resolution 2024-05-28 11:51:49 +02:00
kobewi 413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
kobewi a262d2d881 Add shorthand for using singleton string names 2024-05-11 18:53:08 +02:00
Rémi Verschelde 29607924bd
Merge pull request #88741 from adamscott/fix-shared-variables-of-inherited-scenes-redux
Fix shared exported variables of inherited scenes
2024-05-07 16:49:20 +02:00
Aaron Franke 6aac3e4a16 Disable all 3D nodes, physics, and resources when compiling without 3D 2024-03-11 01:00:55 -07:00
Rémi Verschelde 1d6403323f
Merge pull request #88426 from Rindbee/fix-inherited-scenes-produce-errors
Fix inherited scenes produce errors in editor when `editable_children` is true
2024-03-10 21:12:54 +01:00
风青山 4d57da4d01
Fix inherited scenes produce errors in editor when "editable_children" is true
Since the same argument is used, `SceneState::get_node_deferred_nodepath_properties()`
should use similar logic to `SceneState::get_property_value()`.

Make `SceneState::get_property_value()` to return whether the property is deferred.
2024-03-10 07:37:47 +08:00
Rémi Verschelde 172b254687
Merge pull request #88664 from RandomShaper/res_load_modes
Enhance cache modes in resource loading
2024-02-29 13:54:07 +01:00
Rémi Verschelde 440fe26338
Merge pull request #87268 from Wyxaldir/master
Fix for `resource_local_to_scene` in arrays.
2024-02-29 13:53:49 +01:00
Pedro J. Estébanez 5e144022e7 Enhance cache modes in resource loading
- Unify documentation, hoping to clear misconcepctions about about propagation of the cache mode across dependant loads.
- Clarify in docs that `CACHE_MODE_REPLACE` now also works on the main resource (from #87008).
- Add two recursive modes, counterparts of `CACHE_MODE_REPLACE` and `CACHE_MODE_IGNORE`, since it seems some need them (see #59669, #82830).
- Let resources, even loaded with one of the ignore-cache modes, get a path, which is useful for tools.
2024-02-26 14:59:04 +01:00
Adam Scott d53a1b0e84
Fix shared exported variables of inherited scenes 2024-02-24 16:35:01 -05:00
Wyxaldir 07b011aec7 Fixes #71243. Resources that have local_to_scene enabled now properly work inside arrays and dictionaries. 2024-02-21 09:35:31 -05:00
kobewi be4cbee873 Allow opening scenes with missing scene dependency 2024-02-13 19:46:35 +01:00