From 0a87629b01d31a6e22d1ab61382c57ff65eaf2ca Mon Sep 17 00:00:00 2001 From: Relintai Date: Fri, 14 Feb 2025 15:28:45 +0100 Subject: [PATCH] Set prop ownership when adding them in TerrainWorld. --- modules/terraman/world/terrain_world.cpp | 8 ++++---- modules/terraman/world/terrain_world.h | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/terraman/world/terrain_world.cpp b/modules/terraman/world/terrain_world.cpp index 4e9e61105..1160974a1 100644 --- a/modules/terraman/world/terrain_world.cpp +++ b/modules/terraman/world/terrain_world.cpp @@ -614,7 +614,7 @@ int TerrainWorld::generation_get_size() const { } #ifdef MODULE_PROPS_ENABLED -void TerrainWorld::prop_add(Transform transform, const Ref &prop, const bool apply_voxel_scale) { +void TerrainWorld::prop_add(Transform transform, const Ref &prop, const bool apply_voxel_scale, const bool p_owner) { ERR_FAIL_COND(!prop.is_valid()); if (apply_voxel_scale) { @@ -625,7 +625,7 @@ void TerrainWorld::prop_add(Transform transform, const Ref &prop, cons wp = transform.xform(wp); Ref chunk = get_or_create_chunk_at_world_position(wp); - chunk->prop_add(transform, prop); + chunk->prop_add(transform, prop, p_owner); int count = prop->get_prop_count(); for (int i = 0; i < count; ++i) { @@ -649,7 +649,7 @@ void TerrainWorld::prop_add(Transform transform, const Ref &prop, cons continue; } - prop_add(t, p, false); + prop_add(t, p, false, false); continue; } @@ -1608,7 +1608,7 @@ void TerrainWorld::_bind_methods() { ClassDB::bind_method(D_METHOD("on_chunk_mesh_generation_finished", "chunk"), &TerrainWorld::on_chunk_mesh_generation_finished); #ifdef MODULE_PROPS_ENABLED - ClassDB::bind_method(D_METHOD("prop_add", "transform", "prop", "apply_voxel_scale"), &TerrainWorld::prop_add, DEFVAL(true)); + ClassDB::bind_method(D_METHOD("prop_add", "transform", "prop", "apply_voxel_scale", "owner"), &TerrainWorld::prop_add, DEFVAL(true), DEFVAL(true)); #endif //Lights diff --git a/modules/terraman/world/terrain_world.h b/modules/terraman/world/terrain_world.h index 8a850cf27..37db50fab 100644 --- a/modules/terraman/world/terrain_world.h +++ b/modules/terraman/world/terrain_world.h @@ -176,7 +176,7 @@ public: int generation_get_size() const; #ifdef MODULE_PROPS_ENABLED - void prop_add(Transform transform, const Ref &prop, const bool apply_voxel_scale = true); + void prop_add(Transform transform, const Ref &prop, const bool apply_voxel_scale = true, const bool p_owner = true); #endif //Lights