From e0edeaa0ade0e31eafe9ee12b326c45f1ecba2a3 Mon Sep 17 00:00:00 2001 From: Eray Zesen Date: Tue, 21 Jan 2025 06:57:32 +0300 Subject: [PATCH] Changed name of the protectedDeletion feature to manualDeletion --- .sconsign.dblite | Bin 6122493 -> 6122493 bytes .../examples/7_classic_platformer/main.tscn | 10 ++++---- .../examples/7_classic_platformer/plant.gd | 23 ------------------ src/QuarkPhysics/qbody.cpp | 2 +- src/QuarkPhysics/qbody.h | 2 +- src/QuarkPhysics/qjoint.h | 2 +- src/QuarkPhysics/qmesh.cpp | 4 +-- src/QuarkPhysics/qmesh.h | 2 +- src/QuarkPhysics/qparticle.h | 2 +- src/QuarkPhysics/qraycast.h | 2 +- src/QuarkPhysics/qspring.h | 2 +- src/QuarkPhysics/qworld.cpp | 8 +++--- src/qareabody_node.h | 2 +- src/qbody_node.cpp | 20 ++++++++++++--- src/qjoint_object.h | 2 +- src/qmesh_node.cpp | 4 +-- src/qparticle_object.h | 4 +-- src/qplatformerbody_node.h | 2 +- src/qraycast_object.h | 2 +- src/qrigidbody_node.h | 2 +- src/qsoftbody_node.h | 2 +- src/qspring_object.h | 4 +-- src/qworld_node.h | 1 + 23 files changed, 47 insertions(+), 57 deletions(-) delete mode 100644 project/examples/7_classic_platformer/plant.gd diff --git a/.sconsign.dblite b/.sconsign.dblite index bdbf834f6b87d48f0e610261b58da5feb5257c0e..5247262e1d05d36d8bb26fa2a78195ad9ef807fe 100644 GIT binary patch delta 5436 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 delta 5434 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 Otm~}r>bG~kfd2z)J`j5V diff --git a/project/examples/7_classic_platformer/main.tscn b/project/examples/7_classic_platformer/main.tscn index 3f5e54c..961e240 100644 --- a/project/examples/7_classic_platformer/main.tscn +++ b/project/examples/7_classic_platformer/main.tscn @@ -96,6 +96,11 @@ key w: jump " label_settings = SubResource("LabelSettings_2ckbs") +[node name="QWorldNode" type="QWorldNode" parent="."] +debug_renderer = false +enable_debug_mouse_interactions = true +script = ExtResource("4_5rs6g") + [node name="DoorButton" type="QRigidBodyNode" parent="." node_paths=PackedStringArray("door")] fixed_rotation = true mass = 0.1 @@ -331,11 +336,6 @@ data_uv_maps = Array[PackedInt32Array]([PackedInt32Array(0, 1, 3), PackedInt32Ar layers = 3 position = Vector2(845, 410) -[node name="QWorldNode" type="QWorldNode" parent="."] -debug_renderer = false -enable_debug_mouse_interactions = true -script = ExtResource("4_5rs6g") - [node name="Coins" type="Node2D" parent="."] [node name="Coin1" type="QAreaBodyNode" parent="Coins"] diff --git a/project/examples/7_classic_platformer/plant.gd b/project/examples/7_classic_platformer/plant.gd deleted file mode 100644 index 2785002..0000000 --- a/project/examples/7_classic_platformer/plant.gd +++ /dev/null @@ -1,23 +0,0 @@ -extends QMeshAdvancedNode - - -# Called when the node enters the scene tree for the first time. -func _ready() -> void: - pass # Replace with function body. - - -# Called every frame. 'delta' is the elapsed time since the previous frame. -func _process(delta: float) -> void: - queue_redraw() - -func _draw() -> void: - var points:PackedVector2Array - for i in range(get_particle_count()) : - var p=get_particle_at(i).get_global_position()-global_position - points.append(p) - #draw_multiline(points,Color.BLACK,10,true) - draw_polyline(points,Color.BLACK,3,true) - #for i in range(points.size()-1) : - #var pa=points[i] - #var pb=points[i+1] - #draw_line(pa,pb,Color.BLACK,4.0) diff --git a/src/QuarkPhysics/qbody.cpp b/src/QuarkPhysics/qbody.cpp index fa126c6..e6b6149 100644 --- a/src/QuarkPhysics/qbody.cpp +++ b/src/QuarkPhysics/qbody.cpp @@ -43,7 +43,7 @@ QBody::~QBody() { for(int i=0;i<_meshes.size();i++){ if (_meshes[i]!=nullptr){ - if (_meshes[i]->deleteProtected==false){ + if (_meshes[i]->manualDeletion==false){ delete _meshes[i]; _meshes[i]=nullptr; } diff --git a/src/QuarkPhysics/qbody.h b/src/QuarkPhysics/qbody.h index 5ddca16..66d07db 100644 --- a/src/QuarkPhysics/qbody.h +++ b/src/QuarkPhysics/qbody.h @@ -657,7 +657,7 @@ class QBody{ /** * By default, objects included in the physics engine are deleted by the destructors of the objects they belong to. When this flag is enabled, it indicates that this object should never be deleted by this engine. It is disabled by default, and it is recommended to keep it disabled. However, it can be used if needed for advanced purposes and integrations. */ - bool deleteProtected=false; + bool manualDeletion=false; friend class QMesh; diff --git a/src/QuarkPhysics/qjoint.h b/src/QuarkPhysics/qjoint.h index 2e85a42..8cb9d26 100644 --- a/src/QuarkPhysics/qjoint.h +++ b/src/QuarkPhysics/qjoint.h @@ -230,7 +230,7 @@ class QJoint /** * By default, objects included in the physics engine are deleted by the destructors of the objects they belong to. When this flag is enabled, it indicates that this object should never be deleted by this engine. It is disabled by default, and it is recommended to keep it disabled. However, it can be used if needed for advanced purposes and integrations. */ - bool deleteProtected=false; + bool manualDeletion=false; friend class QWorld; diff --git a/src/QuarkPhysics/qmesh.cpp b/src/QuarkPhysics/qmesh.cpp index 339df86..a149565 100644 --- a/src/QuarkPhysics/qmesh.cpp +++ b/src/QuarkPhysics/qmesh.cpp @@ -44,7 +44,7 @@ QMesh::~QMesh() { for(int i=0;ideleteProtected==false ){ + if(particles[i]->manualDeletion==false ){ delete particles[i]; particles[i]=nullptr; } @@ -54,7 +54,7 @@ QMesh::~QMesh() for(int i=0;ideleteProtected==false){ + if(springs[i]->manualDeletion==false){ delete springs[i]; springs[i]=nullptr; } diff --git a/src/QuarkPhysics/qmesh.h b/src/QuarkPhysics/qmesh.h index 81a0c03..469f763 100644 --- a/src/QuarkPhysics/qmesh.h +++ b/src/QuarkPhysics/qmesh.h @@ -639,7 +639,7 @@ struct QMesh /** * By default, objects included in the physics engine are deleted by the destructors of the objects they belong to. When this flag is enabled, it indicates that this object should never be deleted by this engine. It is disabled by default, and it is recommended to keep it disabled. However, it can be used if needed for advanced purposes and integrations. */ - bool deleteProtected=false; + bool manualDeletion=false; diff --git a/src/QuarkPhysics/qparticle.h b/src/QuarkPhysics/qparticle.h index 1195d5b..fd117b0 100644 --- a/src/QuarkPhysics/qparticle.h +++ b/src/QuarkPhysics/qparticle.h @@ -246,7 +246,7 @@ class QParticle /** * By default, objects included in the physics engine are deleted by the destructors of the objects they belong to. When this flag is enabled, it indicates that this object should never be deleted by this engine. It is disabled by default, and it is recommended to keep it disabled. However, it can be used if needed for advanced purposes and integrations. */ - bool deleteProtected=false; + bool manualDeletion=false; friend class QMesh; diff --git a/src/QuarkPhysics/qraycast.h b/src/QuarkPhysics/qraycast.h index 753d506..06a0f35 100644 --- a/src/QuarkPhysics/qraycast.h +++ b/src/QuarkPhysics/qraycast.h @@ -120,7 +120,7 @@ class QRaycast /** * By default, objects included in the physics engine are deleted by the destructors of the objects they belong to. When this flag is enabled, it indicates that this object should never be deleted by this engine. It is disabled by default, and it is recommended to keep it disabled. However, it can be used if needed for advanced purposes and integrations. */ - bool deleteProtected=false; + bool manualDeletion=false; friend class QWorld; diff --git a/src/QuarkPhysics/qspring.h b/src/QuarkPhysics/qspring.h index 24ce6c3..48379ac 100644 --- a/src/QuarkPhysics/qspring.h +++ b/src/QuarkPhysics/qspring.h @@ -149,7 +149,7 @@ class QSpring /** * By default, objects included in the physics engine are deleted by the destructors of the objects they belong to. When this flag is enabled, it indicates that this object should never be deleted by this engine. It is disabled by default, and it is recommended to keep it disabled. However, it can be used if needed for advanced purposes and integrations. */ - bool deleteProtected=false; + bool manualDeletion=false; diff --git a/src/QuarkPhysics/qworld.cpp b/src/QuarkPhysics/qworld.cpp index 19b753b..1429cbb 100644 --- a/src/QuarkPhysics/qworld.cpp +++ b/src/QuarkPhysics/qworld.cpp @@ -636,7 +636,7 @@ vector QWorld::TestCollisionWithWorld(QBody *body) void QWorld::ClearBodies(){ for(int i=0;ideleteProtected==false ){ + if(bodies[i]->manualDeletion==false ){ delete bodies[i]; bodies[i]=nullptr; } @@ -648,7 +648,7 @@ void QWorld::ClearBodies(){ QWorld* QWorld::ClearJoints(){ for(int i=0;ideleteProtected==false ){ + if(joints[i]->manualDeletion==false ){ delete joints[i]; joints[i]=nullptr; } @@ -662,7 +662,7 @@ QWorld* QWorld::ClearSprings() { for(int i=0;ideleteProtected==false){ + if(springs[i]->manualDeletion==false){ delete springs[i]; springs[i]=nullptr; } @@ -676,7 +676,7 @@ QWorld* QWorld::ClearRaycasts() { for(int i=0;ideleteProtected ==false ){ + if(raycasts[i]->manualDeletion ==false ){ delete raycasts[i]; raycasts[i]=nullptr; } diff --git a/src/qareabody_node.h b/src/qareabody_node.h index ea5ac1b..7afa056 100644 --- a/src/qareabody_node.h +++ b/src/qareabody_node.h @@ -43,7 +43,7 @@ class QAreaBodyNode : public QBodyNode { QAreaBodyNode(){ QAreaBody *areaBodyObject=new QAreaBody(); bodyObject=areaBodyObject; - bodyObject->deleteProtected=true; + bodyObject->manualDeletion=true; bodyNodeType=QBodyNode::bodyNodeTypes::AREA; init_events(); //Area Body Events diff --git a/src/qbody_node.cpp b/src/qbody_node.cpp index a2feeeb..0cd3afd 100644 --- a/src/qbody_node.cpp +++ b/src/qbody_node.cpp @@ -52,9 +52,21 @@ void QBodyNode::on_post_enter_tree() { worldNode=(QWorldNode*)root_world_node; } }else{ - godot::UtilityFunctions::printerr("Quark Physics Error: Physics needs a world! Add a QWorldNode to the root node of the scene. "); - - return; + Node *matchedWorldNode=nullptr; + for(size_t i=0;iget_child_count();++i){ + Node * child=root->get_child(i); + if (child->is_class("QWorldNode") ){ + matchedWorldNode=child; + break; + } + } + if(matchedWorldNode==nullptr){ + godot::UtilityFunctions::printerr("Quark Physics Error: Physics needs a world! Add a QWorldNode to the root node of the current scene. "); + + return; + }else{ + worldNode=(QWorldNode*)matchedWorldNode; + } } } @@ -70,7 +82,7 @@ void QBodyNode::on_post_enter_tree() { } worldNode->add_body(this); - bodyObject->deleteProtected=true; + bodyObject->manualDeletion=true; isConfigured=true; } diff --git a/src/qjoint_object.h b/src/qjoint_object.h index 3095b42..482888d 100644 --- a/src/qjoint_object.h +++ b/src/qjoint_object.h @@ -54,7 +54,7 @@ class QJointObject: public RefCounted{ public: QJointObject(){ jointObject=new QJoint(nullptr,QVector(0,0),QVector(0,0),nullptr); - jointObject->deleteProtected=true; + jointObject->manualDeletion=true; }; ~QJointObject(){ if(jointObject!=nullptr){ diff --git a/src/qmesh_node.cpp b/src/qmesh_node.cpp index 25a9403..cb1ea6f 100644 --- a/src/qmesh_node.cpp +++ b/src/qmesh_node.cpp @@ -615,14 +615,14 @@ void QMeshNode::on_post_enter_tree() { update_mesh_node_data(); QMesh::MeshData qData=convert_mesh_node_data_to_mesh_data(); meshObject=QMesh::CreateWithMeshData( qData ); - meshObject->deleteProtected=true; + meshObject->manualDeletion=true; }else{ QMesh::MeshData qData=convert_mesh_node_data_to_mesh_data(); meshObject=QMesh::CreateWithMeshData(qData ) ; - meshObject->deleteProtected=true; + meshObject->manualDeletion=true; } //Creating object and node versions of the mesh diff --git a/src/qparticle_object.h b/src/qparticle_object.h index 6945b39..5c7a42e 100644 --- a/src/qparticle_object.h +++ b/src/qparticle_object.h @@ -49,11 +49,11 @@ class QParticleObject: public RefCounted{ public: QParticleObject(){ particleObject=new QParticle(); - particleObject->deleteProtected=true; + particleObject->manualDeletion=true; }; QParticleObject(QParticle *obj){ particleObject=obj; - particleObject->deleteProtected=true; + particleObject->manualDeletion=true; }; Ref configure(Vector2 position,float radius){ set_position(position); diff --git a/src/qplatformerbody_node.h b/src/qplatformerbody_node.h index 334fa3b..0e6f6c6 100644 --- a/src/qplatformerbody_node.h +++ b/src/qplatformerbody_node.h @@ -42,7 +42,7 @@ class QPlatformerBodyNode : public QRigidBodyNode { public: QPlatformerBodyNode(){ bodyObject=new QPlatformerBody(); - bodyObject->deleteProtected=true; + bodyObject->manualDeletion=true; bodyNodeType=QBodyNode::bodyNodeTypes::RIGID; init_events(); }; diff --git a/src/qraycast_object.h b/src/qraycast_object.h index ae2ea02..d533422 100644 --- a/src/qraycast_object.h +++ b/src/qraycast_object.h @@ -51,7 +51,7 @@ class QRaycastObject: public RefCounted{ public: QRaycastObject(){ raycastObject=new QRaycast(QVector::Zero(),QVector::Zero(),false); - raycastObject->deleteProtected=true; + raycastObject->manualDeletion=true; }; ~QRaycastObject(){ if(raycastObject!=nullptr){ diff --git a/src/qrigidbody_node.h b/src/qrigidbody_node.h index 8326a89..2375677 100644 --- a/src/qrigidbody_node.h +++ b/src/qrigidbody_node.h @@ -39,7 +39,7 @@ class QRigidBodyNode : public QBodyNode { public: QRigidBodyNode(){ bodyObject=new QRigidBody(); - bodyObject->deleteProtected=true; + bodyObject->manualDeletion=true; bodyNodeType=QBodyNode::bodyNodeTypes::RIGID; init_events(); }; diff --git a/src/qsoftbody_node.h b/src/qsoftbody_node.h index 5f70925..17401d4 100644 --- a/src/qsoftbody_node.h +++ b/src/qsoftbody_node.h @@ -38,7 +38,7 @@ class QSoftBodyNode : public QBodyNode { public: QSoftBodyNode(){ bodyObject=new QSoftBody(); - bodyObject->deleteProtected=true; + bodyObject->manualDeletion=true; bodyNodeType=QBodyNode::bodyNodeTypes::SOFT; init_events(); }; diff --git a/src/qspring_object.h b/src/qspring_object.h index 23c703f..d9876c1 100644 --- a/src/qspring_object.h +++ b/src/qspring_object.h @@ -52,11 +52,11 @@ class QSpringObject: public RefCounted{ public: QSpringObject(){ springObject=new QSpring(nullptr,nullptr,0.0f,false); - springObject->deleteProtected=true; + springObject->manualDeletion=true; }; QSpringObject(QSpring *obj){ springObject=obj; - springObject->deleteProtected=true; + springObject->manualDeletion=true; }; ~QSpringObject(){ if(springObject!=nullptr){ diff --git a/src/qworld_node.h b/src/qworld_node.h index c3bbb5f..61d6bd4 100644 --- a/src/qworld_node.h +++ b/src/qworld_node.h @@ -78,6 +78,7 @@ class QWorldNode: public Node2D{ spatialHashing=new QSpatialHashing(worldObject->bodies,cellSize); }; ~QWorldNode(){ + if(worldObject!=nullptr){ delete worldObject; worldObject=nullptr;