summaryrefslogtreecommitdiffstats
path: root/scene/main/scene_tree.h
diff options
context:
space:
mode:
Diffstat (limited to 'scene/main/scene_tree.h')
-rw-r--r--scene/main/scene_tree.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/scene/main/scene_tree.h b/scene/main/scene_tree.h
index 6f0a61ec51..7e44541105 100644
--- a/scene/main/scene_tree.h
+++ b/scene/main/scene_tree.h
@@ -41,6 +41,9 @@
class PackedScene;
class Node;
+#ifndef _3D_DISABLED
+class Node3D;
+#endif
class Window;
class Material;
class Mesh;
@@ -120,6 +123,13 @@ private:
bool changed = false;
};
+#ifndef _3D_DISABLED
+ struct ClientPhysicsInterpolation {
+ SelfList<Node3D>::List _node_3d_list;
+ void physics_process();
+ } _client_physics_interpolation;
+#endif
+
Window *root = nullptr;
double physics_process_time = 0.0;
@@ -315,6 +325,7 @@ public:
virtual void iteration_prepare() override;
virtual bool physics_process(double p_time) override;
+ virtual void iteration_end() override;
virtual bool process(double p_time) override;
virtual void finalize() override;
@@ -423,6 +434,11 @@ public:
void set_physics_interpolation_enabled(bool p_enabled);
bool is_physics_interpolation_enabled() const;
+#ifndef _3D_DISABLED
+ void client_physics_interpolation_add_node_3d(SelfList<Node3D> *p_elem);
+ void client_physics_interpolation_remove_node_3d(SelfList<Node3D> *p_elem);
+#endif
+
SceneTree();
~SceneTree();
};