diff --git a/editor/import/resource_importer_scene.cpp b/editor/import/resource_importer_scene.cpp index 2c2ad5498..a52a9589b 100644 --- a/editor/import/resource_importer_scene.cpp +++ b/editor/import/resource_importer_scene.cpp @@ -46,6 +46,7 @@ #include "scene/resources/resource_format_text.h" #include "scene/resources/sphere_shape.h" #include "scene/resources/navigation_mesh.h" +#include "scene/3d/navigation_mesh_instance.h" uint32_t EditorSceneImporter::get_import_flags() const { if (get_script_instance()) { diff --git a/editor/plugins/room_manager_editor_plugin.cpp b/editor/plugins/room_manager_editor_plugin.cpp index 7b6762671..b31f9473e 100644 --- a/editor/plugins/room_manager_editor_plugin.cpp +++ b/editor/plugins/room_manager_editor_plugin.cpp @@ -31,6 +31,7 @@ #include "room_manager_editor_plugin.h" #include "editor/spatial_editor_gizmos.h" +#include "scene/resources/occluder_shape.h" void RoomManagerEditorPlugin::_flip_portals() { if (_room_manager) { diff --git a/editor/spatial_editor_gizmos.cpp b/editor/spatial_editor_gizmos.cpp index ac9fd6e39..6d2db3c34 100644 --- a/editor/spatial_editor_gizmos.cpp +++ b/editor/spatial_editor_gizmos.cpp @@ -66,6 +66,7 @@ #include "scene/resources/sphere_shape.h" #include "scene/resources/surface_tool.h" #include "scene/resources/navigation_mesh.h" +#include "scene/main/viewport.h" #define HANDLE_HALF_SIZE 9.5 diff --git a/scene/3d/listener.cpp b/scene/3d/listener.cpp index 3f109df8a..0b34b289b 100644 --- a/scene/3d/listener.cpp +++ b/scene/3d/listener.cpp @@ -31,6 +31,7 @@ #include "listener.h" #include "scene/resources/mesh.h" +#include "scene/main/viewport.h" void Listener::_update_audio_listener_state() { } diff --git a/scene/3d/listener.h b/scene/3d/listener.h index 6be314cc0..e7694f7ac 100644 --- a/scene/3d/listener.h +++ b/scene/3d/listener.h @@ -32,7 +32,8 @@ #define LISTENER_H #include "scene/3d/spatial.h" -#include "scene/main/viewport.h" + +class Viewport; class Listener : public Spatial { GDCLASS(Listener, Spatial); diff --git a/scene/3d/navigation.cpp b/scene/3d/navigation.cpp index a7f2f3ccc..aba8d44ce 100644 --- a/scene/3d/navigation.cpp +++ b/scene/3d/navigation.cpp @@ -31,6 +31,7 @@ #include "navigation.h" #include "servers/navigation_server.h" +#include "scene/3d/navigation_mesh_instance.h" Vector Navigation::get_simple_path(const Vector3 &p_start, const Vector3 &p_end, bool p_optimize) const { return NavigationServer::get_singleton()->map_get_path(map, p_start, p_end, p_optimize); diff --git a/scene/3d/navigation.h b/scene/3d/navigation.h index 9779bd05b..e33d17888 100644 --- a/scene/3d/navigation.h +++ b/scene/3d/navigation.h @@ -31,7 +31,6 @@ #ifndef NAVIGATION_H #define NAVIGATION_H -#include "scene/3d/navigation_mesh_instance.h" #include "scene/3d/spatial.h" class Navigation : public Spatial { diff --git a/scene/3d/navigation_obstacle.cpp b/scene/3d/navigation_obstacle.cpp index c81600611..f27b4bed2 100644 --- a/scene/3d/navigation_obstacle.cpp +++ b/scene/3d/navigation_obstacle.cpp @@ -34,6 +34,7 @@ #include "scene/3d/navigation.h" #include "scene/3d/physics_body.h" #include "servers/navigation_server.h" +#include "scene/3d/spatial.h" void NavigationObstacle::_bind_methods() { ClassDB::bind_method(D_METHOD("set_navigation", "navigation"), &NavigationObstacle::set_navigation_node); diff --git a/scene/3d/navigation_obstacle.h b/scene/3d/navigation_obstacle.h index b08be99c3..d901e4f66 100644 --- a/scene/3d/navigation_obstacle.h +++ b/scene/3d/navigation_obstacle.h @@ -31,10 +31,10 @@ #ifndef NAVIGATION_OBSTACLE_H #define NAVIGATION_OBSTACLE_H -#include "scene/3d/spatial.h" #include "scene/main/node.h" class Navigation; +class Spatial; class NavigationObstacle : public Node { GDCLASS(NavigationObstacle, Node); diff --git a/scene/3d/occluder.cpp b/scene/3d/occluder.cpp index fea2a4d3c..11f2d6848 100644 --- a/scene/3d/occluder.cpp +++ b/scene/3d/occluder.cpp @@ -32,6 +32,7 @@ #include "core/engine.h" #include "servers/visual/portals/portal_occlusion_culler.h" +#include "scene/resources/occluder_shape.h" void Occluder::resource_changed(RES res) { update_gizmo(); diff --git a/scene/3d/occluder.h b/scene/3d/occluder.h index 22e5b8b6a..c0eedcc18 100644 --- a/scene/3d/occluder.h +++ b/scene/3d/occluder.h @@ -32,7 +32,9 @@ #define OCCLUDER_H #include "scene/3d/spatial.h" -#include "scene/resources/occluder_shape.h" +#include "core/reference.h" + +class OccluderShape; class Occluder : public Spatial { GDCLASS(Occluder, Spatial); diff --git a/scene/3d/path.cpp b/scene/3d/path.cpp index be3118ede..a9c65a96a 100644 --- a/scene/3d/path.cpp +++ b/scene/3d/path.cpp @@ -32,6 +32,7 @@ #include "core/engine.h" #include "scene/scene_string_names.h" +#include "scene/resources/curve.h" void Path::_notification(int p_what) { } diff --git a/scene/3d/path.h b/scene/3d/path.h index 0d41b7626..e01a2b56d 100644 --- a/scene/3d/path.h +++ b/scene/3d/path.h @@ -32,7 +32,9 @@ #define PATH_H #include "scene/3d/spatial.h" -#include "scene/resources/curve.h" +#include "core/reference.h" + +class Curve3D; class Path : public Spatial { GDCLASS(Path, Spatial); diff --git a/scene/3d/physics_body.cpp b/scene/3d/physics_body.cpp index af85d4d27..2739aa5ea 100644 --- a/scene/3d/physics_body.cpp +++ b/scene/3d/physics_body.cpp @@ -37,6 +37,8 @@ #include "core/object.h" #include "core/rid.h" #include "scene/scene_string_names.h" +#include "scene/resources/physics_material.h" +#include "skeleton.h" #ifdef TOOLS_ENABLED #include "editor/plugins/spatial_editor_plugin.h" diff --git a/scene/3d/physics_body.h b/scene/3d/physics_body.h index c72f2c165..cd354b9dc 100644 --- a/scene/3d/physics_body.h +++ b/scene/3d/physics_body.h @@ -33,9 +33,11 @@ #include "core/vset.h" #include "scene/3d/collision_object.h" -#include "scene/resources/physics_material.h" +#include "core/reference.h" #include "servers/physics_server.h" -#include "skeleton.h" + +class PhysicsMaterial; +class Skeleton; class PhysicsBody : public CollisionObject { GDCLASS(PhysicsBody, CollisionObject);