diff --git a/source/rlinterface/RLInterface.cpp b/source/rlinterface/RLInterface.cpp index f98a4e87c4..a088b5177a 100644 --- a/source/rlinterface/RLInterface.cpp +++ b/source/rlinterface/RLInterface.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2024 Wildfire Games. +/* Copyright (C) 2025 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -32,6 +32,7 @@ #include "simulation2/Simulation2.h" #include "simulation2/components/ICmpAIInterface.h" #include "simulation2/components/ICmpTemplateManager.h" +#include "simulation2/system/Component.h" #include "simulation2/system/LocalTurnManager.h" #include diff --git a/source/simulation2/Simulation2.cpp b/source/simulation2/Simulation2.cpp index 5890ac1773..c513c31dc7 100644 --- a/source/simulation2/Simulation2.cpp +++ b/source/simulation2/Simulation2.cpp @@ -21,35 +21,53 @@ #include "graphics/MapReader.h" #include "graphics/Terrain.h" +#include "lib/debug.h" +#include "lib/file/file_system.h" #include "lib/file/vfs/vfs_util.h" +#include "lib/os_path.h" +#include "lib/path.h" #include "lib/sysdep/filesystem.h" #include "lib/timer.h" +#include "lib/types.h" +#include "lib/utf8.h" +#include "maths/Fixed.h" #include "maths/MathUtil.h" #include "ps/CLogger.h" +#include "ps/CStr.h" #include "ps/ConfigDB.h" +#include "ps/Errors.h" #include "ps/Filesystem.h" #include "ps/Loader.h" #include "ps/Profile.h" +#include "ps/Profiler2.h" #include "ps/Pyrogenesis.h" #include "ps/Util.h" -#include "ps/XML/Xeromyces.h" #include "scriptinterface/FunctionWrapper.h" #include "scriptinterface/JSON.h" #include "scriptinterface/Object.h" #include "scriptinterface/ScriptContext.h" #include "scriptinterface/ScriptInterface.h" +#include "scriptinterface/ScriptRequest.h" #include "scriptinterface/StructuredClone.h" #include "simulation2/MessageTypes.h" -#include "simulation2/system/ComponentManager.h" -#include "simulation2/system/ParamNode.h" -#include "simulation2/system/SimContext.h" #include "simulation2/components/ICmpAIManager.h" #include "simulation2/components/ICmpCommandQueue.h" -#include "simulation2/components/ICmpTemplateManager.h" +#include "simulation2/components/ICmpPathfinder.h" +#include "simulation2/helpers/Player.h" +#include "simulation2/helpers/SimulationCommand.h" +#include "simulation2/system/Component.h" +#include +#include +#include #include #include +#include +#include +#include #include +#include +#include class CSimulation2Impl { diff --git a/source/simulation2/Simulation2.h b/source/simulation2/Simulation2.h index f457e19a79..d182dfa699 100644 --- a/source/simulation2/Simulation2.h +++ b/source/simulation2/Simulation2.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2024 Wildfire Games. +/* Copyright (C) 2025 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -18,15 +18,18 @@ #ifndef INCLUDED_SIMULATION2 #define INCLUDED_SIMULATION2 +#include "lib/code_annotation.h" #include "lib/file/vfs/vfs_path.h" -#include "simulation2/helpers/SimulationCommand.h" -#include "simulation2/system/CmpPtr.h" -#include "simulation2/system/Components.h" +#include "lib/status.h" +#include "simulation2/system/Entity.h" +#include +#include #include #include #include #include +#include #include class CFrustum; @@ -37,8 +40,9 @@ class CTerrain; class CUnitManager; class IComponent; class SceneCollector; -class ScriptInterface; class ScriptContext; +class ScriptInterface; +struct SimulationCommand; /** * Public API for simulation system. diff --git a/source/simulation2/components/CCmpAIManager.cpp b/source/simulation2/components/CCmpAIManager.cpp index 2e540fa4c4..ce169994ef 100644 --- a/source/simulation2/components/CCmpAIManager.cpp +++ b/source/simulation2/components/CCmpAIManager.cpp @@ -17,40 +17,73 @@ #include "precompiled.h" -#include "simulation2/system/Component.h" #include "ICmpAIManager.h" -#include "simulation2/MessageTypes.h" - -#include "graphics/Terrain.h" -#include "lib/timer.h" -#include "lib/tex/tex.h" +#include "graphics/HeightMipmap.h" +#include "lib/alignment.h" #include "lib/allocators/shared_ptr.h" +#include "lib/code_annotation.h" +#include "lib/debug.h" +#include "lib/file/vfs/vfs_path.h" +#include "lib/file/vfs/vfs_util.h" +#include "lib/os_path.h" +#include "lib/path.h" +#include "lib/tex/tex.h" +#include "lib/types.h" +#include "lib/utf8.h" +#include "maths/FixedVector2D.h" #include "ps/CLogger.h" #include "ps/Filesystem.h" #include "ps/Profile.h" -#include "ps/scripting/JSInterface_VFS.h" +#include "ps/Profiler2.h" #include "ps/TemplateLoader.h" #include "ps/Util.h" +#include "ps/scripting/JSInterface_VFS.h" #include "scriptinterface/FunctionWrapper.h" #include "scriptinterface/JSON.h" #include "scriptinterface/Object.h" -#include "scriptinterface/ScriptContext.h" +#include "scriptinterface/ScriptConversions.h" +#include "scriptinterface/ScriptInterface.h" +#include "scriptinterface/ScriptRequest.h" #include "scriptinterface/StructuredClone.h" #include "simulation2/components/ICmpAIInterface.h" #include "simulation2/components/ICmpCommandQueue.h" -#include "simulation2/components/ICmpObstructionManager.h" +#include "simulation2/components/ICmpPathfinder.h" #include "simulation2/components/ICmpRangeManager.h" #include "simulation2/components/ICmpTemplateManager.h" #include "simulation2/components/ICmpTerritoryManager.h" +#include "simulation2/helpers/Grid.h" #include "simulation2/helpers/HierarchicalPathfinder.h" #include "simulation2/helpers/LongPathfinder.h" +#include "simulation2/helpers/PathGoal.h" +#include "simulation2/helpers/Pathfinding.h" +#include "simulation2/helpers/Player.h" #include "simulation2/serialization/DebugSerializer.h" +#include "simulation2/serialization/SerializeTemplates.h" #include "simulation2/serialization/SerializedTypes.h" #include "simulation2/serialization/StdDeserializer.h" #include "simulation2/serialization/StdSerializer.h" +#include "simulation2/system/Component.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include +#include extern void QuitEngine(); diff --git a/source/simulation2/components/CCmpCinemaManager.cpp b/source/simulation2/components/CCmpCinemaManager.cpp index cd1896e2d9..2bed4c0cfe 100644 --- a/source/simulation2/components/CCmpCinemaManager.cpp +++ b/source/simulation2/components/CCmpCinemaManager.cpp @@ -17,17 +17,31 @@ #include "precompiled.h" -#include "simulation2/system/Component.h" #include "ICmpCinemaManager.h" +#include "lib/debug.h" +#include "maths/Fixed.h" +#include "maths/FixedVector3D.h" +#include "maths/NUSpline.h" #include "ps/CLogger.h" +#include "ps/CStr.h" +#include "simulation2/MessageTypes.h" #include "simulation2/components/ICmpOverlayRenderer.h" #include "simulation2/components/ICmpRangeManager.h" #include "simulation2/components/ICmpSelectable.h" #include "simulation2/components/ICmpTerritoryManager.h" -#include "simulation2/MessageTypes.h" -#include "simulation2/Simulation2.h" +#include "simulation2/helpers/CinemaPath.h" +#include "simulation2/system/Component.h" +#include "simulation2/system/Entity.h" +#include "simulation2/system/Message.h" +#include +#include +#include +#include +#include +#include +#include class CCmpCinemaManager final : public ICmpCinemaManager { diff --git a/source/simulation2/components/CCmpCommandQueue.cpp b/source/simulation2/components/CCmpCommandQueue.cpp index 497b50c80d..54631abc2b 100644 --- a/source/simulation2/components/CCmpCommandQueue.cpp +++ b/source/simulation2/components/CCmpCommandQueue.cpp @@ -17,16 +17,29 @@ #include "precompiled.h" -#include "simulation2/system/Component.h" #include "ICmpCommandQueue.h" +#include "lib/types.h" #include "ps/CLogger.h" #include "ps/Game.h" -#include "ps/Profile.h" +#include "ps/Profiler2.h" #include "scriptinterface/FunctionWrapper.h" #include "scriptinterface/JSON.h" +#include "scriptinterface/ScriptRequest.h" +#include "simulation2/helpers/Player.h" +#include "simulation2/helpers/SimulationCommand.h" +#include "simulation2/system/Component.h" #include "simulation2/system/TurnManager.h" +#include +#include +#include +#include +#include +#include + +class ScriptInterface; + class CCmpCommandQueue final : public ICmpCommandQueue { public: diff --git a/source/simulation2/components/CCmpDecay.cpp b/source/simulation2/components/CCmpDecay.cpp index 1f731b87a6..2eccd139c0 100644 --- a/source/simulation2/components/CCmpDecay.cpp +++ b/source/simulation2/components/CCmpDecay.cpp @@ -17,16 +17,26 @@ #include "precompiled.h" -#include "simulation2/system/Component.h" #include "ICmpDecay.h" -#include "simulation2/MessageTypes.h" - -#include "ICmpPosition.h" -#include "ICmpTerrain.h" -#include "ICmpVisual.h" - +#include "lib/debug.h" +#include "maths/BoundingBoxAligned.h" +#include "maths/Fixed.h" +#include "maths/FixedVector3D.h" +#include "maths/Vector3D.h" #include "ps/Profile.h" +#include "simulation2/MessageTypes.h" +#include "simulation2/components/ICmpPosition.h" +#include "simulation2/components/ICmpTerrain.h" +#include "simulation2/components/ICmpVisual.h" +#include "simulation2/helpers/Position.h" +#include "simulation2/system/Component.h" +#include "simulation2/system/Entity.h" +#include "simulation2/system/Message.h" + +#include +#include +#include /** * Fairly basic decay implementation, for units and buildings etc. diff --git a/source/simulation2/components/CCmpFootprint.cpp b/source/simulation2/components/CCmpFootprint.cpp index 8cd0491339..2eb4ba73a4 100644 --- a/source/simulation2/components/CCmpFootprint.cpp +++ b/source/simulation2/components/CCmpFootprint.cpp @@ -17,9 +17,12 @@ #include "precompiled.h" -#include "simulation2/system/Component.h" #include "ICmpFootprint.h" +#include "lib/types.h" +#include "maths/Fixed.h" +#include "maths/FixedVector2D.h" +#include "maths/FixedVector3D.h" #include "ps/Profile.h" #include "simulation2/components/ICmpObstruction.h" #include "simulation2/components/ICmpObstructionManager.h" @@ -28,8 +31,15 @@ #include "simulation2/components/ICmpRallyPoint.h" #include "simulation2/components/ICmpUnitMotion.h" #include "simulation2/helpers/Geometry.h" -#include "simulation2/MessageTypes.h" -#include "maths/FixedVector2D.h" +#include "simulation2/helpers/Pathfinding.h" +#include "simulation2/helpers/Position.h" +#include "simulation2/system/Component.h" +#include "simulation2/system/Entity.h" + +#include +#include +#include +#include class CCmpFootprint final : public ICmpFootprint { diff --git a/source/simulation2/components/CCmpMinimap.cpp b/source/simulation2/components/CCmpMinimap.cpp index c097296ee3..c6383b7aca 100644 --- a/source/simulation2/components/CCmpMinimap.cpp +++ b/source/simulation2/components/CCmpMinimap.cpp @@ -17,15 +17,20 @@ #include "precompiled.h" -#include "simulation2/system/Component.h" #include "ICmpMinimap.h" -#include "simulation2/components/ICmpPlayerManager.h" -#include "simulation2/components/ICmpPlayer.h" -#include "simulation2/components/ICmpOwnership.h" -#include "simulation2/MessageTypes.h" - #include "graphics/Color.h" +#include "lib/types.h" +#include "simulation2/MessageTypes.h" +#include "simulation2/components/ICmpOwnership.h" +#include "simulation2/components/ICmpPlayer.h" +#include "simulation2/components/ICmpPlayerManager.h" +#include "simulation2/helpers/Player.h" +#include "simulation2/helpers/Position.h" +#include "simulation2/system/Component.h" +#include "simulation2/system/Message.h" + +#include class CCmpMinimap final : public ICmpMinimap { diff --git a/source/simulation2/components/CCmpMotionBall.cpp b/source/simulation2/components/CCmpMotionBall.cpp index 0c648cd38f..32e9e0b467 100644 --- a/source/simulation2/components/CCmpMotionBall.cpp +++ b/source/simulation2/components/CCmpMotionBall.cpp @@ -17,13 +17,20 @@ #include "precompiled.h" -#include "simulation2/system/Component.h" #include "ICmpMotion.h" -#include "ICmpPosition.h" -#include "simulation2/MessageTypes.h" - #include "graphics/Terrain.h" +#include "maths/Fixed.h" +#include "maths/FixedVector3D.h" +#include "maths/Vector3D.h" +#include "simulation2/MessageTypes.h" +#include "simulation2/components/ICmpPosition.h" +#include "simulation2/helpers/Position.h" +#include "simulation2/system/Component.h" +#include "simulation2/system/Message.h" + +#include +#include class CCmpMotionBall final : public ICmpMotion { diff --git a/source/simulation2/components/CCmpObstruction.cpp b/source/simulation2/components/CCmpObstruction.cpp index f3609d405d..25518026e5 100644 --- a/source/simulation2/components/CCmpObstruction.cpp +++ b/source/simulation2/components/CCmpObstruction.cpp @@ -17,17 +17,36 @@ #include "precompiled.h" -#include "simulation2/system/Component.h" #include "ICmpObstruction.h" +#include "lib/debug.h" +#include "maths/Fixed.h" +#include "maths/FixedVector2D.h" +#include "maths/FixedVector3D.h" +#include "ps/CLogger.h" #include "simulation2/MessageTypes.h" #include "simulation2/components/ICmpObstructionManager.h" +#include "simulation2/components/ICmpPathfinder.h" +#include "simulation2/components/ICmpPosition.h" #include "simulation2/components/ICmpTerrain.h" #include "simulation2/components/ICmpUnitMotion.h" #include "simulation2/components/ICmpWaterManager.h" +#include "simulation2/helpers/Pathfinding.h" +#include "simulation2/helpers/Position.h" +#include "simulation2/serialization/SerializeTemplates.h" #include "simulation2/serialization/SerializedTypes.h" +#include "simulation2/system/Component.h" +#include "simulation2/system/Entity.h" +#include "simulation2/system/Message.h" -#include "ps/CLogger.h" +#include +#include +#include +#include +#include +#include +#include +#include template<> struct SerializeHelper diff --git a/source/simulation2/components/CCmpObstructionManager.cpp b/source/simulation2/components/CCmpObstructionManager.cpp index 518ef9ea61..bf195aac3e 100644 --- a/source/simulation2/components/CCmpObstructionManager.cpp +++ b/source/simulation2/components/CCmpObstructionManager.cpp @@ -17,25 +17,43 @@ #include "precompiled.h" -#include "simulation2/system/Component.h" #include "ICmpObstructionManager.h" -#include "ICmpPosition.h" -#include "ICmpRangeManager.h" - -#include "simulation2/MessageTypes.h" -#include "simulation2/helpers/Geometry.h" -#include "simulation2/helpers/Grid.h" -#include "simulation2/helpers/Rasterize.h" -#include "simulation2/helpers/Render.h" -#include "simulation2/helpers/Spatial.h" -#include "simulation2/serialization/SerializedTypes.h" - +#include "graphics/Color.h" #include "graphics/Overlay.h" +#include "lib/debug.h" +#include "lib/types.h" +#include "maths/Fixed.h" +#include "maths/FixedVector2D.h" #include "maths/MathUtil.h" #include "ps/Profile.h" #include "renderer/Scene.h" -#include "ps/CLogger.h" +#include "simulation2/MessageTypes.h" +#include "simulation2/components/ICmpObstruction.h" +#include "simulation2/components/ICmpPathfinder.h" +#include "simulation2/components/ICmpPosition.h" +#include "simulation2/components/ICmpRangeManager.h" +#include "simulation2/helpers/Geometry.h" +#include "simulation2/helpers/Grid.h" +#include "simulation2/helpers/Pathfinding.h" +#include "simulation2/helpers/Position.h" +#include "simulation2/helpers/Rasterize.h" +#include "simulation2/helpers/Render.h" +#include "simulation2/helpers/Spatial.h" +#include "simulation2/serialization/SerializeTemplates.h" +#include "simulation2/serialization/SerializedTypes.h" +#include "simulation2/system/Component.h" +#include "simulation2/system/Entity.h" +#include "simulation2/system/Message.h" + +#include +#include +#include +#include +#include +#include +#include +#include // Externally, tags are opaque non-zero positive integers. // Internally, they are tagged (by shape) indexes into shape lists. diff --git a/source/simulation2/components/CCmpOverlayRenderer.cpp b/source/simulation2/components/CCmpOverlayRenderer.cpp index 7e54ae1037..c9e2882358 100644 --- a/source/simulation2/components/CCmpOverlayRenderer.cpp +++ b/source/simulation2/components/CCmpOverlayRenderer.cpp @@ -19,17 +19,28 @@ #include "ICmpOverlayRenderer.h" +#include "graphics/Color.h" +#include "graphics/HeightMipmap.h" #include "graphics/Overlay.h" #include "graphics/TextureManager.h" +#include "maths/FixedVector2D.h" #include "maths/Matrix3D.h" +#include "maths/Vector3D.h" #include "ps/CLogger.h" +#include "ps/CStr.h" #include "ps/Profile.h" #include "renderer/Renderer.h" #include "renderer/Scene.h" #include "simulation2/MessageTypes.h" #include "simulation2/components/ICmpPosition.h" #include "simulation2/components/ICmpRangeManager.h" +#include "simulation2/helpers/Player.h" #include "simulation2/system/Component.h" +#include "simulation2/system/Message.h" + +#include +#include +#include class CCmpOverlayRenderer final : public ICmpOverlayRenderer { diff --git a/source/simulation2/components/CCmpOwnership.cpp b/source/simulation2/components/CCmpOwnership.cpp index 949b0a765d..28a3034e3c 100644 --- a/source/simulation2/components/CCmpOwnership.cpp +++ b/source/simulation2/components/CCmpOwnership.cpp @@ -17,10 +17,14 @@ #include "precompiled.h" -#include "simulation2/system/Component.h" #include "ICmpOwnership.h" #include "simulation2/MessageTypes.h" +#include "simulation2/helpers/Player.h" +#include "simulation2/system/Component.h" +#include "simulation2/system/Message.h" + +#include /** * Basic ICmpOwnership implementation. diff --git a/source/simulation2/components/CCmpParticleManager.cpp b/source/simulation2/components/CCmpParticleManager.cpp index bc0ecaec2a..990ee74a76 100644 --- a/source/simulation2/components/CCmpParticleManager.cpp +++ b/source/simulation2/components/CCmpParticleManager.cpp @@ -17,13 +17,16 @@ #include "precompiled.h" -#include "simulation2/system/Component.h" #include "ICmpParticleManager.h" #include "graphics/ParticleManager.h" #include "renderer/Renderer.h" #include "renderer/SceneRenderer.h" #include "simulation2/MessageTypes.h" +#include "simulation2/system/Component.h" +#include "simulation2/system/Message.h" + +#include class CCmpParticleManager final : public ICmpParticleManager { diff --git a/source/simulation2/components/CCmpPathfinder.cpp b/source/simulation2/components/CCmpPathfinder.cpp index a61e55afb0..92169fa113 100644 --- a/source/simulation2/components/CCmpPathfinder.cpp +++ b/source/simulation2/components/CCmpPathfinder.cpp @@ -24,27 +24,55 @@ #include "CCmpPathfinder_Common.h" +#include "graphics/Terrain.h" +#include "lib/code_generation.h" +#include "lib/debug.h" +#include "lib/path.h" +#include "lib/types.h" +#include "maths/Fixed.h" +#include "maths/FixedVector2D.h" +#include "maths/MathUtil.h" +#include "ps/CLogger.h" +#include "ps/Filesystem.h" +#include "ps/Future.h" +#include "ps/Profile.h" +#include "ps/Profiler2.h" +#include "ps/TaskManager.h" +#include "ps/XML/Xeromyces.h" #include "simulation2/MessageTypes.h" #include "simulation2/components/ICmpObstruction.h" #include "simulation2/components/ICmpObstructionManager.h" +#include "simulation2/components/ICmpPathfinder.h" #include "simulation2/components/ICmpPosition.h" #include "simulation2/components/ICmpTerrain.h" #include "simulation2/components/ICmpWaterManager.h" +#include "simulation2/helpers/Grid.h" #include "simulation2/helpers/HierarchicalPathfinder.h" #include "simulation2/helpers/LongPathfinder.h" #include "simulation2/helpers/MapEdgeTiles.h" +#include "simulation2/helpers/PathGoal.h" +#include "simulation2/helpers/Pathfinding.h" +#include "simulation2/helpers/Position.h" #include "simulation2/helpers/Rasterize.h" #include "simulation2/helpers/VertexPathfinder.h" +#include "simulation2/serialization/SerializeTemplates.h" #include "simulation2/serialization/SerializedPathfinder.h" #include "simulation2/serialization/SerializedTypes.h" +#include "simulation2/system/Component.h" +#include "simulation2/system/Entity.h" +#include "simulation2/system/Message.h" -#include "ps/CLogger.h" -#include "ps/CStr.h" -#include "ps/Profile.h" -#include "ps/XML/Xeromyces.h" -#include "renderer/Scene.h" - +#include +#include +#include +#include +#include +#include #include +#include +#include + +class SceneCollector; REGISTER_COMPONENT_TYPE(Pathfinder) diff --git a/source/simulation2/components/CCmpPosition.cpp b/source/simulation2/components/CCmpPosition.cpp index 6c776f9791..b34677ccd5 100644 --- a/source/simulation2/components/CCmpPosition.cpp +++ b/source/simulation2/components/CCmpPosition.cpp @@ -17,24 +17,35 @@ #include "precompiled.h" -#include "simulation2/system/Component.h" #include "ICmpPosition.h" -#include "simulation2/MessageTypes.h" -#include "simulation2/serialization/SerializedTypes.h" - -#include "ICmpTerrain.h" -#include "ICmpVisual.h" -#include "ICmpWaterManager.h" - -#include "graphics/Terrain.h" -#include "lib/rand.h" +#include "maths/BoundingBoxOriented.h" +#include "maths/Fixed.h" +#include "maths/FixedVector2D.h" +#include "maths/FixedVector3D.h" #include "maths/MathUtil.h" #include "maths/Matrix3D.h" -#include "maths/Vector3D.h" #include "maths/Vector2D.h" +#include "maths/Vector3D.h" #include "ps/CLogger.h" +#include "ps/CStr.h" #include "ps/Profile.h" +#include "simulation2/MessageTypes.h" +#include "simulation2/components/ICmpTerrain.h" +#include "simulation2/components/ICmpVisual.h" +#include "simulation2/components/ICmpWaterManager.h" +#include "simulation2/helpers/Position.h" +#include "simulation2/serialization/SerializeTemplates.h" +#include "simulation2/serialization/SerializedTypes.h" +#include "simulation2/system/Component.h" +#include "simulation2/system/Entity.h" +#include "simulation2/system/Message.h" + +#include +#include +#include +#include +#include /** * Basic ICmpPosition implementation. diff --git a/source/simulation2/components/CCmpProjectileManager.cpp b/source/simulation2/components/CCmpProjectileManager.cpp index b7fcf5acc0..bcf9019672 100644 --- a/source/simulation2/components/CCmpProjectileManager.cpp +++ b/source/simulation2/components/CCmpProjectileManager.cpp @@ -17,26 +17,34 @@ #include "precompiled.h" -#include "simulation2/system/Component.h" #include "ICmpProjectileManager.h" -#include "ICmpObstruction.h" -#include "ICmpObstructionManager.h" -#include "ICmpPosition.h" -#include "ICmpRangeManager.h" -#include "ICmpTerrain.h" -#include "simulation2/helpers/Los.h" -#include "simulation2/MessageTypes.h" - -#include "graphics/Model.h" +#include "graphics/ModelAbstract.h" #include "graphics/Unit.h" #include "graphics/UnitManager.h" +#include "lib/posix/posix_types.h" +#include "maths/Fixed.h" +#include "maths/FixedVector3D.h" #include "maths/Frustum.h" #include "maths/Matrix3D.h" #include "maths/Quaternion.h" #include "maths/Vector3D.h" -#include "ps/CLogger.h" +#include "ps/CStr.h" #include "renderer/Scene.h" +#include "simulation2/MessageTypes.h" +#include "simulation2/components/ICmpRangeManager.h" +#include "simulation2/components/ICmpTerrain.h" +#include "simulation2/helpers/Los.h" +#include "simulation2/system/Component.h" +#include "simulation2/system/Entity.h" +#include "simulation2/system/Message.h" + +#include +#include +#include +#include +#include +#include // Time (in seconds) before projectiles that stuck in the ground are destroyed const static float PROJECTILE_DECAY_TIME = 30.f; diff --git a/source/simulation2/components/CCmpRallyPointRenderer.cpp b/source/simulation2/components/CCmpRallyPointRenderer.cpp index 77301314b9..90a4a75874 100644 --- a/source/simulation2/components/CCmpRallyPointRenderer.cpp +++ b/source/simulation2/components/CCmpRallyPointRenderer.cpp @@ -19,13 +19,37 @@ #include "CCmpRallyPointRenderer.h" +#include "graphics/TextureManager.h" +#include "lib/debug.h" +#include "maths/Fixed.h" +#include "maths/FixedVector3D.h" +#include "ps/CLogger.h" #include "ps/Profile.h" #include "ps/algorithm.h" +#include "renderer/Renderer.h" #include "renderer/Scene.h" #include "renderer/backend/Sampler.h" +#include "simulation2/MessageTypes.h" #include "simulation2/components/ICmpIdentity.h" +#include "simulation2/components/ICmpObstructionManager.h" +#include "simulation2/components/ICmpOwnership.h" +#include "simulation2/components/ICmpPlayer.h" +#include "simulation2/components/ICmpPlayerManager.h" #include "simulation2/components/ICmpRangeManager.h" +#include "simulation2/components/ICmpTerrain.h" +#include "simulation2/components/ICmpWaterManager.h" +#include "simulation2/helpers/Geometry.h" #include "simulation2/helpers/Los.h" +#include "simulation2/helpers/PathGoal.h" +#include "simulation2/helpers/Pathfinding.h" +#include "simulation2/helpers/Position.h" +#include "simulation2/helpers/Render.h" +#include "simulation2/system/Message.h" + +#include +#include + +class CFrustum; std::string CCmpRallyPointRenderer::GetSchema() { diff --git a/source/simulation2/components/CCmpRangeManager.cpp b/source/simulation2/components/CCmpRangeManager.cpp index 2852a6ac7b..fd0c19388f 100644 --- a/source/simulation2/components/CCmpRangeManager.cpp +++ b/source/simulation2/components/CCmpRangeManager.cpp @@ -17,32 +17,61 @@ #include "precompiled.h" -#include "simulation2/system/Component.h" #include "ICmpRangeManager.h" #include "ICmpTerrain.h" -#include "simulation2/system/EntityMap.h" +#include "graphics/Color.h" +#include "graphics/Overlay.h" +#include "lib/debug.h" +#include "lib/posix/posix_types.h" +#include "lib/types.h" +#include "maths/Fixed.h" +#include "maths/FixedVector2D.h" +#include "maths/FixedVector3D.h" +#include "maths/MathUtil.h" +#include "maths/Sqrt.h" +#include "ps/CLogger.h" +#include "ps/Profile.h" +#include "renderer/Scene.h" #include "simulation2/MessageTypes.h" #include "simulation2/components/ICmpFogging.h" #include "simulation2/components/ICmpMirage.h" +#include "simulation2/components/ICmpObstruction.h" #include "simulation2/components/ICmpOwnership.h" +#include "simulation2/components/ICmpPathfinder.h" #include "simulation2/components/ICmpPosition.h" -#include "simulation2/components/ICmpObstructionManager.h" #include "simulation2/components/ICmpTerritoryManager.h" #include "simulation2/components/ICmpVisibility.h" #include "simulation2/components/ICmpVision.h" #include "simulation2/components/ICmpWaterManager.h" +#include "simulation2/helpers/Grid.h" #include "simulation2/helpers/Los.h" #include "simulation2/helpers/MapEdgeTiles.h" +#include "simulation2/helpers/Pathfinding.h" +#include "simulation2/helpers/Player.h" +#include "simulation2/helpers/Position.h" #include "simulation2/helpers/Render.h" #include "simulation2/helpers/Spatial.h" +#include "simulation2/serialization/SerializeTemplates.h" #include "simulation2/serialization/SerializedTypes.h" +#include "simulation2/system/Component.h" +#include "simulation2/system/Entity.h" +#include "simulation2/system/EntityMap.h" +#include "simulation2/system/Message.h" -#include "graphics/Overlay.h" -#include "lib/timer.h" -#include "ps/CLogger.h" -#include "ps/Profile.h" -#include "renderer/Scene.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #define DEBUG_RANGE_MANAGER_BOUNDS 0 diff --git a/source/simulation2/components/CCmpRangeOverlayRenderer.cpp b/source/simulation2/components/CCmpRangeOverlayRenderer.cpp index 1665d0a763..7b358d7411 100644 --- a/source/simulation2/components/CCmpRangeOverlayRenderer.cpp +++ b/source/simulation2/components/CCmpRangeOverlayRenderer.cpp @@ -19,8 +19,10 @@ #include "ICmpRangeOverlayRenderer.h" +#include "graphics/Color.h" #include "graphics/Overlay.h" -#include "graphics/TextureManager.h" +#include "maths/Vector2D.h" +#include "ps/CStrIntern.h" #include "renderer/Renderer.h" #include "renderer/Scene.h" #include "simulation2/MessageTypes.h" @@ -28,10 +30,16 @@ #include "simulation2/components/ICmpPlayer.h" #include "simulation2/components/ICmpPlayerManager.h" #include "simulation2/components/ICmpPosition.h" +#include "simulation2/helpers/Player.h" #include "simulation2/helpers/Render.h" #include "simulation2/system/Component.h" +#include "simulation2/system/Message.h" #include +#include +#include + +class CFrustum; class CCmpRangeOverlayRenderer final : public ICmpRangeOverlayRenderer { diff --git a/source/simulation2/components/CCmpSelectable.cpp b/source/simulation2/components/CCmpSelectable.cpp index 6c57becfbc..756cdc0cfe 100644 --- a/source/simulation2/components/CCmpSelectable.cpp +++ b/source/simulation2/components/CCmpSelectable.cpp @@ -19,16 +19,19 @@ #include "ICmpSelectable.h" +#include "graphics/Color.h" #include "graphics/Overlay.h" #include "graphics/Terrain.h" #include "graphics/TextureManager.h" +#include "lib/code_generation.h" +#include "lib/debug.h" +#include "maths/BoundingBoxAligned.h" #include "maths/Ease.h" #include "maths/Frustum.h" -#include "maths/MathUtil.h" -#include "maths/Matrix3D.h" #include "maths/Vector2D.h" #include "maths/Vector3D.h" #include "ps/CLogger.h" +#include "ps/CStrIntern.h" #include "ps/Profile.h" #include "renderer/Renderer.h" #include "renderer/Scene.h" @@ -42,8 +45,17 @@ #include "simulation2/components/ICmpTerrain.h" #include "simulation2/components/ICmpVisual.h" #include "simulation2/components/ICmpWaterManager.h" +#include "simulation2/helpers/Player.h" +#include "simulation2/helpers/Position.h" #include "simulation2/helpers/Render.h" #include "simulation2/system/Component.h" +#include "simulation2/system/Message.h" + +#include +#include +#include +#include +#include // Minimum alpha value for always visible overlays [0 fully transparent, 1 fully opaque] static const float MIN_ALPHA_ALWAYS_VISIBLE = 0.65f; diff --git a/source/simulation2/components/CCmpSoundManager.cpp b/source/simulation2/components/CCmpSoundManager.cpp index e86a1f159c..3dcd627507 100644 --- a/source/simulation2/components/CCmpSoundManager.cpp +++ b/source/simulation2/components/CCmpSoundManager.cpp @@ -17,16 +17,20 @@ #include "precompiled.h" -#include "simulation2/system/Component.h" #include "ICmpSoundManager.h" -#include "simulation2/MessageTypes.h" +#include "lib/path.h" +#include "maths/Vector3D.h" +#include "simulation2/components/ICmpOwnership.h" #include "simulation2/components/ICmpPosition.h" #include "simulation2/components/ICmpRangeManager.h" -#include "simulation2/components/ICmpOwnership.h" - +#include "simulation2/helpers/Player.h" +#include "simulation2/system/Component.h" +#include "simulation2/system/Entity.h" #include "soundmanager/ISoundManager.h" +#include + class CCmpSoundManager final : public ICmpSoundManager { public: diff --git a/source/simulation2/components/CCmpTemplateManager.cpp b/source/simulation2/components/CCmpTemplateManager.cpp index 21971296cd..563ae93741 100644 --- a/source/simulation2/components/CCmpTemplateManager.cpp +++ b/source/simulation2/components/CCmpTemplateManager.cpp @@ -17,16 +17,24 @@ #include "precompiled.h" -#include "simulation2/system/Component.h" #include "ICmpTemplateManager.h" -#include "simulation2/MessageTypes.h" -#include "simulation2/serialization/SerializedTypes.h" - -#include "lib/utf8.h" #include "ps/CLogger.h" #include "ps/TemplateLoader.h" #include "ps/XML/RelaxNG.h" +#include "simulation2/MessageTypes.h" +#include "simulation2/serialization/SerializeTemplates.h" +#include "simulation2/serialization/SerializedTypes.h" +#include "simulation2/system/Component.h" +#include "simulation2/system/Entity.h" +#include "simulation2/system/Message.h" + +#include +#include +#include +#include +#include +#include class CCmpTemplateManager final : public ICmpTemplateManager { diff --git a/source/simulation2/components/CCmpTerrain.cpp b/source/simulation2/components/CCmpTerrain.cpp index 4fbae66abe..60cfa2a34e 100644 --- a/source/simulation2/components/CCmpTerrain.cpp +++ b/source/simulation2/components/CCmpTerrain.cpp @@ -17,17 +17,25 @@ #include "precompiled.h" -#include "simulation2/system/Component.h" #include "ICmpTerrain.h" #include "graphics/Terrain.h" +#include "lib/debug.h" +#include "lib/posix/posix_types.h" +#include "lib/types.h" +#include "maths/Fixed.h" +#include "maths/FixedVector3D.h" +#include "maths/Vector3D.h" #include "renderer/Renderer.h" #include "renderer/SceneRenderer.h" #include "renderer/WaterManager.h" -#include "maths/Vector3D.h" +#include "simulation2/MessageTypes.h" #include "simulation2/components/ICmpObstructionManager.h" #include "simulation2/components/ICmpRangeManager.h" -#include "simulation2/MessageTypes.h" +#include "simulation2/helpers/Position.h" +#include "simulation2/system/Component.h" + +#include class CCmpTerrain final : public ICmpTerrain { diff --git a/source/simulation2/components/CCmpTerritoryInfluence.cpp b/source/simulation2/components/CCmpTerritoryInfluence.cpp index eb855068f3..9f40b17787 100644 --- a/source/simulation2/components/CCmpTerritoryInfluence.cpp +++ b/source/simulation2/components/CCmpTerritoryInfluence.cpp @@ -17,12 +17,13 @@ #include "precompiled.h" -#include "simulation2/system/Component.h" #include "ICmpTerritoryInfluence.h" -#include "simulation2/components/ICmpOwnership.h" -#include "simulation2/components/ICmpPlayerManager.h" +#include "lib/types.h" #include "simulation2/components/ICmpValueModificationManager.h" +#include "simulation2/system/Component.h" + +#include class CCmpTerritoryInfluence final : public ICmpTerritoryInfluence { diff --git a/source/simulation2/components/CCmpTerritoryManager.cpp b/source/simulation2/components/CCmpTerritoryManager.cpp index 7e9b80148d..81ffc569cb 100644 --- a/source/simulation2/components/CCmpTerritoryManager.cpp +++ b/source/simulation2/components/CCmpTerritoryManager.cpp @@ -17,14 +17,24 @@ #include "precompiled.h" -#include "simulation2/system/Component.h" #include "ICmpTerritoryManager.h" +#include "graphics/Color.h" #include "graphics/Overlay.h" -#include "graphics/Terrain.h" -#include "graphics/TextureManager.h" +#include "graphics/SColor.h" #include "graphics/TerritoryBoundary.h" +#include "graphics/Texture.h" +#include "graphics/TextureManager.h" +#include "lib/code_annotation.h" +#include "lib/code_generation.h" +#include "lib/debug.h" +#include "lib/path.h" +#include "lib/types.h" +#include "maths/Fixed.h" +#include "maths/FixedVector2D.h" #include "maths/MathUtil.h" +#include "maths/Vector2D.h" +#include "ps/Filesystem.h" #include "ps/Profile.h" #include "ps/XML/Xeromyces.h" #include "renderer/Renderer.h" @@ -40,11 +50,26 @@ #include "simulation2/components/ICmpTerritoryDecayManager.h" #include "simulation2/components/ICmpTerritoryInfluence.h" #include "simulation2/helpers/Grid.h" +#include "simulation2/helpers/Pathfinding.h" +#include "simulation2/helpers/Player.h" +#include "simulation2/helpers/Position.h" #include "simulation2/helpers/Render.h" +#include "simulation2/system/Component.h" +#include "simulation2/system/Entity.h" +#include "simulation2/system/Message.h" +#include +#include +#include +#include #include +#include +#include +#include +#include class CCmpTerritoryManager; +class CFrustum; class TerritoryOverlay final : public TerrainTextureOverlay { diff --git a/source/simulation2/components/CCmpTest.cpp b/source/simulation2/components/CCmpTest.cpp index 61cd8df278..9b920b0e47 100644 --- a/source/simulation2/components/CCmpTest.cpp +++ b/source/simulation2/components/CCmpTest.cpp @@ -17,11 +17,15 @@ #include "precompiled.h" -#include "simulation2/system/Component.h" #include "ICmpTest.h" -#include "simulation2/scripting/ScriptComponent.h" #include "simulation2/MessageTypes.h" +#include "simulation2/scripting/ScriptComponent.h" +#include "simulation2/system/Component.h" +#include "simulation2/system/Message.h" + +#include +#include class CCmpTest1A : public ICmpTest1 { diff --git a/source/simulation2/components/CCmpUnitMotion_System.cpp b/source/simulation2/components/CCmpUnitMotion_System.cpp index a5fae99a3a..4f28caf095 100644 --- a/source/simulation2/components/CCmpUnitMotion_System.cpp +++ b/source/simulation2/components/CCmpUnitMotion_System.cpp @@ -18,15 +18,38 @@ #include "precompiled.h" #include "CCmpUnitMotion.h" -#include "CCmpUnitMotionManager.h" +#include "lib/debug.h" +#include "lib/path.h" +#include "lib/types.h" +#include "maths/Fixed.h" +#include "maths/FixedVector2D.h" +#include "maths/FixedVector3D.h" #include "maths/MathUtil.h" #include "ps/CLogger.h" -#include "ps/Profile.h" +#include "ps/Profiler2.h" +#include "simulation2/MessageTypes.h" +#include "simulation2/components/CCmpUnitMotionManager.h" +#include "simulation2/components/ICmpObstructionManager.h" +#include "simulation2/components/ICmpPathfinder.h" +#include "simulation2/components/ICmpPosition.h" +#include "simulation2/components/ICmpTerrain.h" +#include "simulation2/components/ICmpUnitMotion.h" +#include "simulation2/helpers/Grid.h" +#include "simulation2/helpers/Position.h" +#include "simulation2/system/Entity.h" +#include "simulation2/system/EntityMap.h" +#include "simulation2/system/Message.h" #include +#include +#include #include +#include +#include +#include #include +#include #include #define DEBUG_STATS 0 diff --git a/source/simulation2/components/CCmpUnitRenderer.cpp b/source/simulation2/components/CCmpUnitRenderer.cpp index 7665e6bd05..f37e660346 100644 --- a/source/simulation2/components/CCmpUnitRenderer.cpp +++ b/source/simulation2/components/CCmpUnitRenderer.cpp @@ -17,31 +17,38 @@ #include "precompiled.h" -#include "simulation2/system/Component.h" #include "ICmpUnitRenderer.h" -#include "simulation2/MessageTypes.h" - -#include "ICmpPosition.h" -#include "ICmpRangeManager.h" -#include "ICmpSelectable.h" -#include "ICmpVisibility.h" -#include "ICmpVisual.h" - +#include "graphics/Color.h" #include "graphics/ModelAbstract.h" -#include "graphics/ObjectEntry.h" #include "graphics/Overlay.h" #include "graphics/Unit.h" +#include "lib/debug.h" +#include "maths/BoundingBoxAligned.h" +#include "maths/BoundingBoxOriented.h" #include "maths/BoundingSphere.h" #include "maths/Frustum.h" #include "maths/Matrix3D.h" -#include "ps/GameSetup/Config.h" +#include "maths/Vector3D.h" #include "ps/Profile.h" #include "renderer/RenderingOptions.h" #include "renderer/Scene.h" - +#include "simulation2/MessageTypes.h" +#include "simulation2/components/ICmpPosition.h" +#include "simulation2/components/ICmpRangeManager.h" +#include "simulation2/components/ICmpSelectable.h" +#include "simulation2/components/ICmpVisibility.h" +#include "simulation2/components/ICmpVisual.h" +#include "simulation2/system/Component.h" +#include "simulation2/system/Entity.h" +#include "simulation2/system/Message.h" #include "tools/atlas/GameInterface/GameLoop.h" +#include +#include +#include +#include + /** * Efficiently(ish) renders all the units in the world. * diff --git a/source/simulation2/components/CCmpVision.cpp b/source/simulation2/components/CCmpVision.cpp index 6a52a31109..4a58a100ab 100644 --- a/source/simulation2/components/CCmpVision.cpp +++ b/source/simulation2/components/CCmpVision.cpp @@ -17,13 +17,15 @@ #include "precompiled.h" -#include "simulation2/system/Component.h" #include "ICmpVision.h" #include "simulation2/MessageTypes.h" -#include "simulation2/components/ICmpPlayerManager.h" -#include "simulation2/components/ICmpRangeManager.h" #include "simulation2/components/ICmpValueModificationManager.h" +#include "simulation2/helpers/Position.h" +#include "simulation2/system/Component.h" +#include "simulation2/system/Message.h" + +#include class CCmpVision final : public ICmpVision { diff --git a/source/simulation2/components/CCmpWaterManager.cpp b/source/simulation2/components/CCmpWaterManager.cpp index 1e93d6959e..fae48fd050 100644 --- a/source/simulation2/components/CCmpWaterManager.cpp +++ b/source/simulation2/components/CCmpWaterManager.cpp @@ -17,7 +17,6 @@ #include "precompiled.h" -#include "simulation2/system/Component.h" #include "ICmpWaterManager.h" #include "graphics/RenderableObject.h" @@ -26,7 +25,11 @@ #include "renderer/SceneRenderer.h" #include "renderer/WaterManager.h" #include "simulation2/MessageTypes.h" -#include "tools/atlas/GameInterface/GameLoop.h" +#include "simulation2/helpers/Position.h" +#include "simulation2/system/Component.h" +#include "simulation2/system/Message.h" + +#include class CCmpWaterManager final : public ICmpWaterManager { diff --git a/source/simulation2/helpers/Render.cpp b/source/simulation2/helpers/Render.cpp index 1107953737..16ea27c750 100644 --- a/source/simulation2/helpers/Render.cpp +++ b/source/simulation2/helpers/Render.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2021 Wildfire Games. +/* Copyright (C) 2025 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -19,19 +19,27 @@ #include "Render.h" +#include "graphics/Color.h" #include "graphics/Overlay.h" #include "graphics/Terrain.h" +#include "lib/debug.h" #include "maths/BoundingBoxAligned.h" #include "maths/BoundingBoxOriented.h" +#include "maths/FixedVector3D.h" #include "maths/MathUtil.h" #include "maths/Matrix3D.h" #include "maths/Quaternion.h" #include "maths/Vector2D.h" +#include "maths/Vector3D.h" #include "ps/Profile.h" -#include "simulation2/Simulation2.h" #include "simulation2/components/ICmpTerrain.h" #include "simulation2/components/ICmpWaterManager.h" -#include "simulation2/helpers/Geometry.h" +#include "simulation2/system/Component.h" +#include "simulation2/system/Entity.h" + +#include +#include +#include void SimRender::ConstructLineOnGround(const CSimContext& context, const std::vector& xz, SOverlayLine& overlay, bool floating, float heightOffset) diff --git a/source/simulation2/helpers/Selection.cpp b/source/simulation2/helpers/Selection.cpp index 5eaa5a3f5b..437dd9a477 100644 --- a/source/simulation2/helpers/Selection.cpp +++ b/source/simulation2/helpers/Selection.cpp @@ -20,19 +20,24 @@ #include "Selection.h" #include "graphics/Camera.h" +#include "lib/debug.h" +#include "maths/Frustum.h" #include "maths/Vector2D.h" -#include "ps/CLogger.h" +#include "maths/Vector3D.h" #include "ps/Profiler2.h" #include "simulation2/components/ICmpIdentity.h" #include "simulation2/components/ICmpOwnership.h" #include "simulation2/components/ICmpRangeManager.h" -#include "simulation2/components/ICmpTemplateManager.h" #include "simulation2/components/ICmpSelectable.h" -#include "simulation2/components/ICmpVisual.h" +#include "simulation2/components/ICmpTemplateManager.h" #include "simulation2/components/ICmpUnitRenderer.h" -#include "simulation2/system/ComponentManager.h" +#include "simulation2/components/ICmpVisual.h" +#include "simulation2/system/Component.h" +#include +#include #include +#include entity_id_t EntitySelection::PickEntityAtPoint(CSimulation2& simulation, const CCamera& camera, int screenX, int screenY, player_id_t player, bool allowEditorSelectables) { diff --git a/source/simulation2/scripting/JSInterface_Simulation.cpp b/source/simulation2/scripting/JSInterface_Simulation.cpp index 5ba8e30770..c98c3f3322 100644 --- a/source/simulation2/scripting/JSInterface_Simulation.cpp +++ b/source/simulation2/scripting/JSInterface_Simulation.cpp @@ -20,13 +20,21 @@ #include "JSInterface_Simulation.h" #include "graphics/GameView.h" +#include "lib/debug.h" +#include "lib/os_path.h" +#include "lib/path.h" +#include "maths/Fixed.h" +#include "maths/FixedVector2D.h" +#include "maths/FixedVector3D.h" #include "ps/ConfigDB.h" #include "ps/Game.h" #include "ps/GameSetup/Config.h" #include "ps/Pyrogenesis.h" #include "scriptinterface/FunctionWrapper.h" #include "scriptinterface/Object.h" +#include "scriptinterface/ScriptRequest.h" #include "scriptinterface/StructuredClone.h" +#include "simulation2/Simulation2.h" #include "simulation2/components/ICmpAIManager.h" #include "simulation2/components/ICmpCommandQueue.h" #include "simulation2/components/ICmpGuiInterface.h" @@ -34,12 +42,23 @@ #include "simulation2/components/ICmpPosition.h" #include "simulation2/components/ICmpSelectable.h" #include "simulation2/helpers/Geometry.h" +#include "simulation2/helpers/Position.h" #include "simulation2/helpers/Selection.h" -#include "simulation2/Simulation2.h" +#include "simulation2/system/Component.h" #include "simulation2/system/Entity.h" +#include #include +#include #include +#include +#include +#include +#include +#include +#include + +class ScriptInterface; namespace JSI_Simulation { diff --git a/source/simulation2/tests/test_CmpTemplateManager.h b/source/simulation2/tests/test_CmpTemplateManager.h index 471c46326e..14083b483a 100644 --- a/source/simulation2/tests/test_CmpTemplateManager.h +++ b/source/simulation2/tests/test_CmpTemplateManager.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2024 Wildfire Games. +/* Copyright (C) 2025 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -19,21 +19,32 @@ #include "simulation2/system/ComponentManager.h" -#include "simulation2/components/ICmpTemplateManager.h" -#include "simulation2/components/ICmpTest.h" -#include "simulation2/MessageTypes.h" -#include "simulation2/system/ParamNode.h" -#include "simulation2/system/SimContext.h" -#include "simulation2/Simulation2.h" - #include "graphics/Terrain.h" -#include "ps/Filesystem.h" +#include "lib/file/file_system.h" +#include "lib/file/vfs/vfs.h" +#include "lib/path.h" #include "ps/CLogger.h" +#include "ps/Filesystem.h" #include "ps/XML/Xeromyces.h" #include "scriptinterface/JSON.h" +#include "scriptinterface/ScriptConversions.h" +#include "scriptinterface/ScriptInterface.h" #include "scriptinterface/ScriptRequest.h" +#include "simulation2/Simulation2.h" +#include "simulation2/components/ICmpTemplateManager.h" +#include "simulation2/system/Component.h" +#include "simulation2/system/Entity.h" +#include +#include +#include +#include +#include +#include #include +#include +#include +#include class TestCmpTemplateManager : public CxxTest::TestSuite { diff --git a/source/tools/atlas/GameInterface/ActorViewer.cpp b/source/tools/atlas/GameInterface/ActorViewer.cpp index aa23243e69..2c5ab76820 100644 --- a/source/tools/atlas/GameInterface/ActorViewer.cpp +++ b/source/tools/atlas/GameInterface/ActorViewer.cpp @@ -64,6 +64,7 @@ #include "simulation2/components/ICmpVisual.h" #include "simulation2/components/ICmpWaterManager.h" #include "simulation2/helpers/Render.h" +#include "simulation2/system/Component.h" extern int g_xres, g_yres; diff --git a/source/tools/atlas/GameInterface/Handlers/CinemaHandler.cpp b/source/tools/atlas/GameInterface/Handlers/CinemaHandler.cpp index c2e784d85a..8569c5c516 100644 --- a/source/tools/atlas/GameInterface/Handlers/CinemaHandler.cpp +++ b/source/tools/atlas/GameInterface/Handlers/CinemaHandler.cpp @@ -34,7 +34,7 @@ #include "maths/Vector3D.h" #include "simulation2/Simulation2.h" #include "simulation2/components/ICmpCinemaManager.h" - +#include "simulation2/system/Component.h" namespace AtlasMessage { diff --git a/source/tools/atlas/GameInterface/Handlers/ElevationHandlers.cpp b/source/tools/atlas/GameInterface/Handlers/ElevationHandlers.cpp index a1cb4a08ad..38dc3df75d 100644 --- a/source/tools/atlas/GameInterface/Handlers/ElevationHandlers.cpp +++ b/source/tools/atlas/GameInterface/Handlers/ElevationHandlers.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2022 Wildfire Games. +/* Copyright (C) 2025 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -30,6 +30,7 @@ #include "maths/MathUtil.h" #include "simulation2/Simulation2.h" #include "simulation2/components/ICmpTerrain.h" +#include "simulation2/system/Component.h" #include "../Brushes.h" #include "../DeltaArray.h" diff --git a/source/tools/atlas/GameInterface/Handlers/EnvironmentHandlers.cpp b/source/tools/atlas/GameInterface/Handlers/EnvironmentHandlers.cpp index a35b19484f..a6755fe560 100644 --- a/source/tools/atlas/GameInterface/Handlers/EnvironmentHandlers.cpp +++ b/source/tools/atlas/GameInterface/Handlers/EnvironmentHandlers.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2022 Wildfire Games. +/* Copyright (C) 2025 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -34,6 +34,7 @@ #include "renderer/WaterManager.h" #include "simulation2/Simulation2.h" #include "simulation2/components/ICmpWaterManager.h" +#include "simulation2/system/Component.h" namespace AtlasMessage { diff --git a/source/tools/atlas/GameInterface/Handlers/MapHandlers.cpp b/source/tools/atlas/GameInterface/Handlers/MapHandlers.cpp index 7731654df3..0a4618ffbe 100644 --- a/source/tools/atlas/GameInterface/Handlers/MapHandlers.cpp +++ b/source/tools/atlas/GameInterface/Handlers/MapHandlers.cpp @@ -55,6 +55,7 @@ #include "simulation2/components/ICmpTemplateManager.h" #include "simulation2/components/ICmpTerrain.h" #include "simulation2/components/ICmpVisual.h" +#include "simulation2/system/Component.h" #include "simulation2/system/ParamNode.h" #include diff --git a/source/tools/atlas/GameInterface/Handlers/MiscHandlers.cpp b/source/tools/atlas/GameInterface/Handlers/MiscHandlers.cpp index 10f7117390..facb809326 100644 --- a/source/tools/atlas/GameInterface/Handlers/MiscHandlers.cpp +++ b/source/tools/atlas/GameInterface/Handlers/MiscHandlers.cpp @@ -34,6 +34,7 @@ #include "scriptinterface/ScriptInterface.h" #include "simulation2/Simulation2.h" #include "simulation2/components/ICmpSoundManager.h" +#include "simulation2/system/Component.h" extern void (*Atlas_GLSwapBuffers)(void* context); diff --git a/source/tools/atlas/GameInterface/Handlers/ObjectHandlers.cpp b/source/tools/atlas/GameInterface/Handlers/ObjectHandlers.cpp index b30235497c..c061618e80 100644 --- a/source/tools/atlas/GameInterface/Handlers/ObjectHandlers.cpp +++ b/source/tools/atlas/GameInterface/Handlers/ObjectHandlers.cpp @@ -52,6 +52,7 @@ #include "simulation2/components/ICmpTemplateManager.h" #include "simulation2/components/ICmpVisual.h" #include "simulation2/helpers/Selection.h" +#include "simulation2/system/Component.h" #include "ps/XML/XMLWriter.h" namespace AtlasMessage diff --git a/source/tools/atlas/GameInterface/Handlers/PlayerHandlers.cpp b/source/tools/atlas/GameInterface/Handlers/PlayerHandlers.cpp index a8963b2420..7c38eeb032 100644 --- a/source/tools/atlas/GameInterface/Handlers/PlayerHandlers.cpp +++ b/source/tools/atlas/GameInterface/Handlers/PlayerHandlers.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2022 Wildfire Games. +/* Copyright (C) 2025 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -22,6 +22,7 @@ #include "ps/Game.h" #include "simulation2/Simulation2.h" #include "simulation2/components/ICmpTemplateManager.h" +#include "simulation2/system/Component.h" namespace AtlasMessage { diff --git a/source/tools/atlas/GameInterface/Handlers/TerrainHandlers.cpp b/source/tools/atlas/GameInterface/Handlers/TerrainHandlers.cpp index d21123f79a..75e5617fef 100644 --- a/source/tools/atlas/GameInterface/Handlers/TerrainHandlers.cpp +++ b/source/tools/atlas/GameInterface/Handlers/TerrainHandlers.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2023 Wildfire Games. +/* Copyright (C) 2025 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -36,6 +36,7 @@ #include "simulation2/components/ICmpPathfinder.h" #include "simulation2/components/ICmpTerrain.h" #include "simulation2/helpers/Grid.h" +#include "simulation2/system/Component.h" #include "../Brushes.h" #include "../DeltaArray.h" diff --git a/source/tools/atlas/GameInterface/View.cpp b/source/tools/atlas/GameInterface/View.cpp index 78b06b813d..483a371627 100644 --- a/source/tools/atlas/GameInterface/View.cpp +++ b/source/tools/atlas/GameInterface/View.cpp @@ -46,6 +46,7 @@ #include "simulation2/components/ICmpParticleManager.h" #include "simulation2/components/ICmpPathfinder.h" #include "simulation2/Simulation2.h" +#include "simulation2/system/Component.h" #include "soundmanager/ISoundManager.h" extern void (*Atlas_GLSwapBuffers)(void* context);