Skip to content

Commit

Permalink
Merge pull request #91122 from TokageItLab/simulator-memdel
Browse files Browse the repository at this point in the history
Modify allocation process of the PhysicalBoneSimulator in Skeleton3D
  • Loading branch information
akien-mga committed May 4, 2024
2 parents a5d4ddc + 4900ddd commit 84013a3
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 12 deletions.
16 changes: 5 additions & 11 deletions scene/3d/skeleton_3d.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -273,16 +273,15 @@ void Skeleton3D::_update_process_order() {

#ifndef DISABLE_DEPRECATED
void Skeleton3D::setup_simulator() {
if (simulator && simulator->get_parent() == this) {
remove_child(simulator);
simulator->queue_free();
}
PhysicalBoneSimulator3D *sim = memnew(PhysicalBoneSimulator3D);
simulator = sim;
sim->is_compat = true;
sim->set_active(false); // Don't run unneeded process.
add_child(sim);
}

void Skeleton3D::remove_simulator() {
remove_child(simulator);
memdelete(simulator);
add_child(simulator);
}
#endif // _DISABLE_DEPRECATED

Expand All @@ -296,11 +295,6 @@ void Skeleton3D::_notification(int p_what) {
setup_simulator();
#endif // _DISABLE_DEPRECATED
} break;
#ifndef DISABLE_DEPRECATED
case NOTIFICATION_EXIT_TREE: {
remove_simulator();
} break;
#endif // _DISABLE_DEPRECATED
case NOTIFICATION_UPDATE_SKELETON: {
// Update bone transforms to apply unprocessed poses.
force_update_all_dirty_bones();
Expand Down
1 change: 0 additions & 1 deletion scene/3d/skeleton_3d.h
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@ class Skeleton3D : public Node3D {
#ifndef DISABLE_DEPRECATED
Node *simulator = nullptr;
void setup_simulator();
void remove_simulator();
#endif // _DISABLE_DEPRECATED

public:
Expand Down

0 comments on commit 84013a3

Please sign in to comment.