diff --git a/source/simulation2/components/tests/test_CinemaManager.h b/source/simulation2/components/tests/test_CinemaManager.h index 7f65a77bc3..b2f7316166 100644 --- a/source/simulation2/components/tests/test_CinemaManager.h +++ b/source/simulation2/components/tests/test_CinemaManager.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 @@ -15,9 +15,24 @@ * along with 0 A.D. If not, see . */ -#include "simulation2/system/ComponentTest.h" +#include "lib/self_test.h" +#include "maths/Fixed.h" +#include "maths/FixedVector3D.h" +#include "maths/NUSpline.h" +#include "ps/CStr.h" +#include "ps/XML/Xeromyces.h" +#include "scriptinterface/ScriptInterface.h" +#include "simulation2/MessageTypes.h" #include "simulation2/components/ICmpCinemaManager.h" +#include "simulation2/helpers/CinemaPath.h" +#include "simulation2/system/Component.h" +#include "simulation2/system/ComponentTest.h" +#include "simulation2/system/Entity.h" + +#include +#include +#include class TestCmpCinemaManager : public CxxTest::TestSuite { diff --git a/source/simulation2/components/tests/test_CommandQueue.h b/source/simulation2/components/tests/test_CommandQueue.h index 45538f34bc..2cc640b54d 100644 --- a/source/simulation2/components/tests/test_CommandQueue.h +++ b/source/simulation2/components/tests/test_CommandQueue.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 @@ -15,9 +15,23 @@ * along with 0 A.D. If not, see . */ -#include "simulation2/system/ComponentTest.h" +#include "lib/self_test.h" +#include "ps/XML/Xeromyces.h" +#include "scriptinterface/ScriptInterface.h" +#include "scriptinterface/ScriptRequest.h" #include "simulation2/components/ICmpCommandQueue.h" +#include "simulation2/helpers/SimulationCommand.h" +#include "simulation2/system/Component.h" +#include "simulation2/system/ComponentTest.h" +#include "simulation2/system/Entity.h" + +#include +#include +#include +#include +#include +#include class TestCmpCommandQueue : public CxxTest::TestSuite { diff --git a/source/simulation2/components/tests/test_HierPathfinder.h b/source/simulation2/components/tests/test_HierPathfinder.h index 593d0d4071..cfccfddc7f 100644 --- a/source/simulation2/components/tests/test_HierPathfinder.h +++ b/source/simulation2/components/tests/test_HierPathfinder.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2020 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 @@ -15,12 +15,23 @@ * along with 0 A.D. If not, see . */ -#include "simulation2/system/ComponentTest.h" +#include "lib/self_test.h" + +#include "lib/types.h" +#include "maths/Fixed.h" +#include "simulation2/helpers/Grid.h" +#include "simulation2/helpers/PathGoal.h" +#include "simulation2/helpers/Pathfinding.h" + +#include +#include +#include +#include +#include +#include +#include #define TEST - -#include "maths/Vector2D.h" -#include "simulation2/helpers/Grid.h" #include "simulation2/helpers/HierarchicalPathfinder.h" class TestHierarchicalPathfinder : public CxxTest::TestSuite diff --git a/source/simulation2/components/tests/test_ObstructionManager.h b/source/simulation2/components/tests/test_ObstructionManager.h index 54251975ee..b19c10486b 100644 --- a/source/simulation2/components/tests/test_ObstructionManager.h +++ b/source/simulation2/components/tests/test_ObstructionManager.h @@ -15,12 +15,26 @@ * along with 0 A.D. If not, see . */ -#include "simulation2/system/ComponentTest.h" +#include "lib/self_test.h" -#include "simulation2/components/ICmpObstructionManager.h" +#include "maths/Fixed.h" +#include "maths/FixedVector2D.h" +#include "ps/XML/Xeromyces.h" +#include "scriptinterface/ScriptInterface.h" #include "simulation2/components/ICmpObstruction.h" +#include "simulation2/components/ICmpObstructionManager.h" +#include "simulation2/helpers/Position.h" +#include "simulation2/system/Component.h" +#include "simulation2/system/ComponentTest.h" +#include "simulation2/system/Entity.h" +#include +#include +#include +#include #include +#include +#include class MockObstruction : public ICmpObstruction { diff --git a/source/simulation2/components/tests/test_Pathfinder.h b/source/simulation2/components/tests/test_Pathfinder.h index 0b5db605dc..19f369a9dd 100644 --- a/source/simulation2/components/tests/test_Pathfinder.h +++ b/source/simulation2/components/tests/test_Pathfinder.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 @@ -15,25 +15,44 @@ * along with 0 A.D. If not, see . */ -#include "simulation2/system/ComponentTest.h" - -#include "simulation2/components/ICmpObstructionManager.h" -#include "simulation2/components/ICmpPathfinder.h" -#include "simulation2/helpers/Grid.h" +#include "lib/self_test.h" #include "graphics/MapReader.h" #include "graphics/Terrain.h" -#include "graphics/TerrainTextureManager.h" +#include "lib/debug.h" +#include "lib/file/file_system.h" +#include "lib/file/vfs/vfs.h" +#include "lib/os_path.h" +#include "lib/path.h" +#include "lib/posix/posix_types.h" #include "lib/timer.h" -#include "lib/tex/tex.h" +#include "lib/types.h" +#include "maths/Fixed.h" +#include "maths/FixedVector2D.h" +#include "ps/Filesystem.h" #include "ps/Loader.h" -#include "ps/Pyrogenesis.h" -#include "scriptinterface/ScriptContext.h" +#include "ps/XML/Xeromyces.h" +#include "scriptinterface/ScriptInterface.h" #include "simulation2/Simulation2.h" +#include "simulation2/components/ICmpObstructionManager.h" +#include "simulation2/components/ICmpPathfinder.h" +#include "simulation2/helpers/Grid.h" +#include "simulation2/helpers/PathGoal.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 +#include +#include #include #include +#include +#include class TestCmpPathfinder : public CxxTest::TestSuite { diff --git a/source/simulation2/components/tests/test_Position.h b/source/simulation2/components/tests/test_Position.h index 7d5ae93101..3c5ba2b52a 100644 --- a/source/simulation2/components/tests/test_Position.h +++ b/source/simulation2/components/tests/test_Position.h @@ -15,11 +15,24 @@ * along with 0 A.D. If not, see . */ -#include "simulation2/system/ComponentTest.h" +#include "lib/self_test.h" +#include "maths/Fixed.h" +#include "maths/FixedVector3D.h" #include "maths/Matrix3D.h" +#include "maths/Vector3D.h" +#include "ps/XML/Xeromyces.h" +#include "scriptinterface/ScriptInterface.h" +#include "simulation2/MessageTypes.h" #include "simulation2/components/ICmpPosition.h" #include "simulation2/components/ICmpWaterManager.h" +#include "simulation2/helpers/Position.h" +#include "simulation2/system/Component.h" +#include "simulation2/system/ComponentTest.h" +#include "simulation2/system/Entity.h" + +#include +#include class MockWater : public ICmpWaterManager { diff --git a/source/simulation2/components/tests/test_RangeManager.h b/source/simulation2/components/tests/test_RangeManager.h index a707d9da6d..7fc89a1875 100644 --- a/source/simulation2/components/tests/test_RangeManager.h +++ b/source/simulation2/components/tests/test_RangeManager.h @@ -15,15 +15,34 @@ * along with 0 A.D. If not, see . */ -#include "maths/Matrix3D.h" -#include "simulation2/system/ComponentTest.h" -#include "simulation2/components/ICmpRangeManager.h" -#include "simulation2/components/ICmpObstruction.h" -#include "simulation2/components/ICmpPosition.h" -#include "simulation2/components/ICmpVision.h" +#include "lib/self_test.h" -#include +#include "maths/Fixed.h" +#include "maths/FixedVector2D.h" +#include "maths/FixedVector3D.h" +#include "maths/Matrix3D.h" +#include "ps/CStr.h" +#include "ps/XML/Xeromyces.h" +#include "scriptinterface/ScriptInterface.h" +#include "simulation2/MessageTypes.h" +#include "simulation2/components/ICmpObstruction.h" +#include "simulation2/components/ICmpObstructionManager.h" +#include "simulation2/components/ICmpPosition.h" +#include "simulation2/components/ICmpRangeManager.h" +#include "simulation2/components/ICmpVision.h" +#include "simulation2/helpers/Player.h" +#include "simulation2/helpers/Position.h" +#include "simulation2/system/Component.h" +#include "simulation2/system/ComponentTest.h" +#include "simulation2/system/Entity.h" + +#include +#include +#include #include +#include +#include +#include class MockVisionRgm : public ICmpVision { diff --git a/source/simulation2/components/tests/test_TerritoryManager.h b/source/simulation2/components/tests/test_TerritoryManager.h index d50b14d42c..48ba8617f1 100644 --- a/source/simulation2/components/tests/test_TerritoryManager.h +++ b/source/simulation2/components/tests/test_TerritoryManager.h @@ -15,19 +15,45 @@ * along with 0 A.D. If not, see . */ -#include "simulation2/system/ComponentTest.h" +#include "lib/self_test.h" -#include "maths/Matrix3D.h" -#include "ps/CStr.h" -#include "graphics/Terrain.h" #include "graphics/TerritoryBoundary.h" -#include "simulation2/helpers/Grid.h" -#include "simulation2/components/ICmpTerritoryManager.h" -#include "simulation2/components/ICmpPlayerManager.h" -#include "simulation2/components/ICmpTerritoryInfluence.h" +#include "lib/debug.h" +#include "lib/file/file_system.h" +#include "lib/file/vfs/vfs.h" +#include "lib/path.h" +#include "lib/types.h" +#include "maths/Fixed.h" +#include "maths/FixedVector2D.h" +#include "maths/FixedVector3D.h" +#include "maths/Matrix3D.h" +#include "maths/Vector2D.h" +#include "ps/CStr.h" +#include "ps/Filesystem.h" +#include "ps/XML/Xeromyces.h" +#include "scriptinterface/ScriptInterface.h" +#include "simulation2/MessageTypes.h" +#include "simulation2/components/ICmpObstruction.h" #include "simulation2/components/ICmpOwnership.h" +#include "simulation2/components/ICmpPathfinder.h" +#include "simulation2/components/ICmpPlayerManager.h" +#include "simulation2/components/ICmpPosition.h" +#include "simulation2/components/ICmpTerritoryInfluence.h" +#include "simulation2/components/ICmpTerritoryManager.h" +#include "simulation2/helpers/Grid.h" +#include "simulation2/helpers/Pathfinding.h" +#include "simulation2/helpers/Player.h" +#include "simulation2/helpers/Position.h" +#include "simulation2/system/Component.h" +#include "simulation2/system/ComponentTest.h" +#include "simulation2/system/Entity.h" +#include +#include +#include #include +#include +#include class MockPathfinderTerrMan : public ICmpPathfinder { diff --git a/source/simulation2/components/tests/test_scripts.h b/source/simulation2/components/tests/test_scripts.h index 5e19aa23bc..1add87d35f 100644 --- a/source/simulation2/components/tests/test_scripts.h +++ b/source/simulation2/components/tests/test_scripts.h @@ -15,15 +15,33 @@ * along with 0 A.D. If not, see . */ +#include "lib/self_test.h" + +#include "lib/debug.h" +#include "lib/file/vfs/vfs.h" +#include "lib/file/vfs/vfs_path.h" #include "lib/file/vfs/vfs_util.h" -#include "simulation2/system/ComponentTest.h" -#include "simulation2/serialization/StdDeserializer.h" -#include "simulation2/serialization/StdSerializer.h" - +#include "lib/path.h" +#include "ps/CStr.h" +#include "ps/Errors.h" #include "ps/Filesystem.h" - +#include "ps/XML/Xeromyces.h" #include "scriptinterface/FunctionWrapper.h" #include "scriptinterface/ScriptContext.h" +#include "scriptinterface/ScriptInterface.h" +#include "scriptinterface/ScriptRequest.h" +#include "simulation2/serialization/StdDeserializer.h" +#include "simulation2/serialization/StdSerializer.h" +#include "simulation2/system/Component.h" + +#include +#include +#include +#include +#include +#include +#include +#include class TestComponentScripts : public CxxTest::TestSuite { diff --git a/source/simulation2/helpers/HierarchicalPathfinder.cpp b/source/simulation2/helpers/HierarchicalPathfinder.cpp index ab1545cefb..e51d1a64b8 100644 --- a/source/simulation2/helpers/HierarchicalPathfinder.cpp +++ b/source/simulation2/helpers/HierarchicalPathfinder.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,11 +19,24 @@ #include "HierarchicalPathfinder.h" +#include "graphics/Color.h" #include "graphics/Overlay.h" +#include "lib/code_generation.h" +#include "maths/Fixed.h" +#include "maths/FixedVector2D.h" #include "ps/Profile.h" +#include "ps/Profiler2.h" #include "renderer/Scene.h" - #include "simulation2/helpers/Grid.h" +#include "simulation2/helpers/PathGoal.h" +#include "simulation2/helpers/Pathfinding.h" +#include "simulation2/helpers/Position.h" +#include "simulation2/helpers/Render.h" + +#include +#include + +class CSimContext; // Find the root ID of a region, used by InitRegions inline u16 RootID(u16 x, const std::vector& v) diff --git a/source/simulation2/helpers/HierarchicalPathfinder.h b/source/simulation2/helpers/HierarchicalPathfinder.h index d93af8e599..c0733d9c66 100644 --- a/source/simulation2/helpers/HierarchicalPathfinder.h +++ b/source/simulation2/helpers/HierarchicalPathfinder.h @@ -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 @@ -20,13 +20,25 @@ #include "Pathfinding.h" +#include "graphics/SColor.h" +#include "lib/code_annotation.h" +#include "lib/debug.h" +#include "lib/types.h" #include "ps/CLogger.h" #include "renderer/TerrainOverlay.h" -#include "Render.h" -#include "graphics/SColor.h" +#include "simulation2/helpers/Grid.h" +#include +#include #include #include +#include +#include +#include + +class CSimContext; +class PathGoal; +struct SOverlayLine; /** * Hierarchical pathfinder. diff --git a/source/simulation2/helpers/Player.h b/source/simulation2/helpers/Player.h index f55518613c..2c2c8e2653 100644 --- a/source/simulation2/helpers/Player.h +++ b/source/simulation2/helpers/Player.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2010 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,6 +18,8 @@ #ifndef INCLUDED_PLAYER #define INCLUDED_PLAYER +#include + /** * valid player IDs are non-negative (see ICmpOwnership) */ diff --git a/source/simulation2/scripting/EngineScriptConversions.cpp b/source/simulation2/scripting/EngineScriptConversions.cpp index 47224766b1..183093851c 100644 --- a/source/simulation2/scripting/EngineScriptConversions.cpp +++ b/source/simulation2/scripting/EngineScriptConversions.cpp @@ -17,20 +17,37 @@ #include "precompiled.h" -#include "scriptinterface/Object.h" -#include "scriptinterface/ScriptConversions.h" -#include "scriptinterface/ScriptInterface.h" - #include "graphics/Color.h" +#include "lib/code_generation.h" +#include "lib/types.h" #include "maths/Fixed.h" #include "maths/FixedVector2D.h" #include "maths/FixedVector3D.h" -#include "maths/Rect.h" +#include "maths/NUSpline.h" #include "ps/CLogger.h" +#include "ps/CStr.h" +#include "scriptinterface/Object.h" +#include "scriptinterface/ScriptConversions.h" +#include "scriptinterface/ScriptExceptions.h" +#include "scriptinterface/ScriptInterface.h" +#include "scriptinterface/ScriptRequest.h" #include "simulation2/helpers/CinemaPath.h" #include "simulation2/helpers/Grid.h" -#include "simulation2/system/IComponent.h" -#include "simulation2/system/ParamNode.h" +#include "simulation2/system/Component.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #define FAIL(msg) STMT(LOGERROR(msg); return false) #define FAIL_VOID(msg) STMT(ScriptException::Raise(rq, msg); return) diff --git a/source/simulation2/serialization/BinarySerializer.h b/source/simulation2/serialization/BinarySerializer.h index ee31a6f72c..026aa89699 100644 --- a/source/simulation2/serialization/BinarySerializer.h +++ b/source/simulation2/serialization/BinarySerializer.h @@ -25,6 +25,7 @@ #include "scriptinterface/ScriptExtraHeaders.h" #include "scriptinterface/ScriptForward.h" +#include #include #include diff --git a/source/simulation2/serialization/IDeserializer.cpp b/source/simulation2/serialization/IDeserializer.cpp index ab7e95405d..8bf69f6589 100644 --- a/source/simulation2/serialization/IDeserializer.cpp +++ b/source/simulation2/serialization/IDeserializer.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 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 @@ -20,8 +20,10 @@ #include "IDeserializer.h" #include "lib/byte_order.h" +#include "lib/debug.h" +#include "lib/status.h" #include "lib/utf8.h" -#include "ps/CStr.h" +#include "simulation2/system/Component.h" IDeserializer::~IDeserializer() { diff --git a/source/simulation2/serialization/IDeserializer.h b/source/simulation2/serialization/IDeserializer.h index a2a4d49967..416677d5f3 100644 --- a/source/simulation2/serialization/IDeserializer.h +++ b/source/simulation2/serialization/IDeserializer.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2020 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,10 +18,17 @@ #ifndef INCLUDED_IDESERIALIZER #define INCLUDED_IDESERIALIZER +#include "lib/types.h" #include "maths/Fixed.h" #include "ps/Errors.h" #include "scriptinterface/ScriptTypes.h" +#include +#include +#include +#include +#include + ERROR_GROUP(Deserialize); ERROR_TYPE(Deserialize, OutOfBounds); ERROR_TYPE(Deserialize, InvalidCharInString); diff --git a/source/simulation2/serialization/ISerializer.cpp b/source/simulation2/serialization/ISerializer.cpp index 92b9124e88..16d7c83a49 100644 --- a/source/simulation2/serialization/ISerializer.cpp +++ b/source/simulation2/serialization/ISerializer.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 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,7 +19,11 @@ #include "ISerializer.h" +#include "lib/status.h" #include "lib/utf8.h" +#include "simulation2/system/Component.h" + +#include ISerializer::~ISerializer() { diff --git a/source/simulation2/serialization/ISerializer.h b/source/simulation2/serialization/ISerializer.h index 18f3c0122f..295a09523d 100644 --- a/source/simulation2/serialization/ISerializer.h +++ b/source/simulation2/serialization/ISerializer.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2020 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,10 +18,17 @@ #ifndef INCLUDED_ISERIALIZER #define INCLUDED_ISERIALIZER +#include "lib/types.h" #include "maths/Fixed.h" #include "ps/Errors.h" #include "scriptinterface/ScriptTypes.h" +#include +#include +#include +#include +#include + ERROR_GROUP(Serialize); ERROR_TYPE(Serialize, OutOfBounds); ERROR_TYPE(Serialize, InvalidCharInString); diff --git a/source/simulation2/serialization/StdDeserializer.cpp b/source/simulation2/serialization/StdDeserializer.cpp index 46a372ef51..01d563fd39 100644 --- a/source/simulation2/serialization/StdDeserializer.cpp +++ b/source/simulation2/serialization/StdDeserializer.cpp @@ -19,18 +19,38 @@ #include "StdDeserializer.h" +#include "lib/alignment.h" #include "lib/byte_order.h" +#include "lib/debug.h" #include "lib/utf8.h" -#include "ps/CLogger.h" #include "ps/CStr.h" #include "scriptinterface/FunctionWrapper.h" -#include "scriptinterface/Object.h" -#include "scriptinterface/ScriptConversions.h" -#include "scriptinterface/ScriptExtraHeaders.h" // For typed arrays and ArrayBuffer +#include "scriptinterface/ScriptExtraHeaders.h" #include "scriptinterface/ScriptInterface.h" +#include "scriptinterface/ScriptRequest.h" #include "simulation2/serialization/ISerializer.h" #include "simulation2/serialization/SerializedScriptTypes.h" -#include "simulation2/serialization/StdSerializer.h" // for DEBUG_SERIALIZER_ANNOTATE +#include "simulation2/serialization/StdSerializer.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +class JSObject; CStdDeserializer::CStdDeserializer(const ScriptInterface& scriptInterface, std::istream& stream) : m_ScriptInterface(scriptInterface), m_Stream(stream) diff --git a/source/simulation2/serialization/StdSerializer.h b/source/simulation2/serialization/StdSerializer.h index 33067245b4..e21fa54b7f 100644 --- a/source/simulation2/serialization/StdSerializer.h +++ b/source/simulation2/serialization/StdSerializer.h @@ -21,6 +21,7 @@ #include "BinarySerializer.h" #include +#include #define DEBUG_SERIALIZER_ANNOTATE 0 // annotate the stream to help debugging if you're reading the output in a hex editor diff --git a/source/simulation2/system/ComponentManager.cpp b/source/simulation2/system/ComponentManager.cpp index 9795e59265..2da20f6d56 100644 --- a/source/simulation2/system/ComponentManager.cpp +++ b/source/simulation2/system/ComponentManager.cpp @@ -19,24 +19,38 @@ #include "ComponentManager.h" +#include "graphics/HeightMipmap.h" #include "lib/utf8.h" -#include "ps/algorithm.h" #include "ps/CLogger.h" +#include "ps/CStr.h" +#include "ps/Errors.h" #include "ps/Filesystem.h" -#include "ps/Profile.h" +#include "ps/Profiler2.h" +#include "ps/algorithm.h" #include "ps/scripting/JSInterface_VFS.h" #include "scriptinterface/FunctionWrapper.h" #include "scriptinterface/Object.h" -#include "simulation2/components/ICmpTemplateManager.h" +#include "scriptinterface/ScriptRequest.h" #include "simulation2/MessageTypes.h" +#include "simulation2/components/ICmpTemplateManager.h" +#include "simulation2/helpers/Player.h" #include "simulation2/system/DynamicSubscription.h" -#include "simulation2/system/IComponent.h" -#include "simulation2/system/ParamNode.h" -#include "simulation2/system/SimContext.h" +#include "simulation2/system/Message.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include +class ScriptContext; + /** * Used for script-only message types. */ diff --git a/source/simulation2/system/ComponentManager.h b/source/simulation2/system/ComponentManager.h index 10769e6149..b344c8d3aa 100644 --- a/source/simulation2/system/ComponentManager.h +++ b/source/simulation2/system/ComponentManager.h @@ -18,23 +18,30 @@ #ifndef INCLUDED_COMPONENTMANAGER #define INCLUDED_COMPONENTMANAGER -#include "ps/Filesystem.h" +#include "lib/code_annotation.h" +#include "lib/debug.h" +#include "lib/types.h" #include "scriptinterface/ScriptInterface.h" -#include "simulation2/helpers/Player.h" -#include "simulation2/system/Components.h" +#include "simulation2/system/Component.h" +#include "simulation2/system/DynamicSubscription.h" #include "simulation2/system/Entity.h" -#include "simulation2/system/IComponent.h" #include +#include +#include +#include +#include #include +#include #include +#include #include +#include +#include -class IComponent; -class CParamNode; class CMessage; -class CSimContext; -class CDynamicSubscription; +class JSTracer; +class ScriptContext; class CComponentManager { diff --git a/source/simulation2/system/ComponentManagerSerialization.cpp b/source/simulation2/system/ComponentManagerSerialization.cpp index a0972f2bac..686e8fb4e8 100644 --- a/source/simulation2/system/ComponentManagerSerialization.cpp +++ b/source/simulation2/system/ComponentManagerSerialization.cpp @@ -17,21 +17,28 @@ #include "precompiled.h" -#include "ComponentManager.h" -#include "IComponent.h" -#include "ParamNode.h" - -#include "simulation2/MessageTypes.h" - -#include "simulation2/serialization/DebugSerializer.h" -#include "simulation2/serialization/HashSerializer.h" -#include "simulation2/serialization/StdSerializer.h" -#include "simulation2/serialization/StdDeserializer.h" - -#include "simulation2/components/ICmpTemplateManager.h" - +#include "lib/debug.h" #include "ps/CLogger.h" #include "ps/Profiler2.h" +#include "simulation2/MessageTypes.h" +#include "simulation2/components/ICmpTemplateManager.h" +#include "simulation2/serialization/DebugSerializer.h" +#include "simulation2/serialization/HashSerializer.h" +#include "simulation2/serialization/StdDeserializer.h" +#include "simulation2/serialization/StdSerializer.h" +#include "simulation2/system/Component.h" +#include "simulation2/system/Entity.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include std::string SerializeRNG(const boost::random::rand48& rng) { diff --git a/source/simulation2/system/DynamicSubscription.cpp b/source/simulation2/system/DynamicSubscription.cpp index a2e1a58e88..cf24c825da 100644 --- a/source/simulation2/system/DynamicSubscription.cpp +++ b/source/simulation2/system/DynamicSubscription.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2014 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,6 +19,12 @@ #include "DynamicSubscription.h" +#include "lib/debug.h" + +#include +#include +#include + void CDynamicSubscription::Add(IComponent* cmp) { m_Removed.erase(cmp); diff --git a/source/simulation2/system/LocalTurnManager.cpp b/source/simulation2/system/LocalTurnManager.cpp index d5ffb204af..2fb6b6d70f 100644 --- a/source/simulation2/system/LocalTurnManager.cpp +++ b/source/simulation2/system/LocalTurnManager.cpp @@ -19,6 +19,14 @@ #include "LocalTurnManager.h" +#include "lib/debug.h" +#include "simulation2/system/TurnManager.h" + +#include + +class CSimulation2; +class IReplayLogger; + CLocalTurnManager::CLocalTurnManager(CSimulation2& simulation, IReplayLogger& replay) : CTurnManager(simulation, DEFAULT_TURN_LENGTH, COMMAND_DELAY_SP, 0, replay) { diff --git a/source/simulation2/system/LocalTurnManager.h b/source/simulation2/system/LocalTurnManager.h index eb58417ca2..f6afe5d631 100644 --- a/source/simulation2/system/LocalTurnManager.h +++ b/source/simulation2/system/LocalTurnManager.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2017 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,7 +18,14 @@ #ifndef INCLUDED_LOCALTURNMANAGER #define INCLUDED_LOCALTURNMANAGER -#include "TurnManager.h" +#include "lib/types.h" +#include "simulation2/helpers/Player.h" +#include "simulation2/system/TurnManager.h" + +#include + +class CSimulation2; +class IReplayLogger; /** * Implementation of CTurnManager for offline games. diff --git a/source/simulation2/system/Message.h b/source/simulation2/system/Message.h index 01d49a8254..8bf49caff5 100644 --- a/source/simulation2/system/Message.h +++ b/source/simulation2/system/Message.h @@ -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 @@ -18,6 +18,7 @@ #ifndef INCLUDED_MESSAGE #define INCLUDED_MESSAGE +#include "lib/code_annotation.h" #include "scriptinterface/ScriptTypes.h" class ScriptRequest; diff --git a/source/simulation2/system/ParamNode.cpp b/source/simulation2/system/ParamNode.cpp index 31daf05146..95b5fc5677 100644 --- a/source/simulation2/system/ParamNode.cpp +++ b/source/simulation2/system/ParamNode.cpp @@ -19,20 +19,36 @@ #include "ParamNode.h" +#include "lib/debug.h" +#include "lib/path.h" #include "lib/utf8.h" #include "ps/CLogger.h" #include "ps/CStr.h" #include "ps/CStrIntern.h" #include "ps/Filesystem.h" +#include "ps/XMB/XMBData.h" #include "ps/XML/Xeromyces.h" #include "scriptinterface/Object.h" +#include "scriptinterface/ScriptInterface.h" #include "scriptinterface/ScriptRequest.h" +#include "simulation2/system/Component.h" +#include #include +#include #include #include +#include +#include +#include +#include +#include +#include +#include #include #include +#include +#include static CParamNode g_NullNode(false); diff --git a/source/simulation2/system/ParamNode.h b/source/simulation2/system/ParamNode.h index cb22fa33ad..b74c91aee0 100644 --- a/source/simulation2/system/ParamNode.h +++ b/source/simulation2/system/ParamNode.h @@ -19,18 +19,22 @@ #define INCLUDED_PARAMNODE #include "lib/file/vfs/vfs_path.h" +#include "lib/types.h" #include "maths/Fixed.h" #include "ps/Errors.h" #include "scriptinterface/ScriptTypes.h" +#include +#include +#include #include +#include #include -class XMBData; -class XMBElement; - class CStrIntern; class ScriptRequest; +class XMBData; +class XMBElement; /** * An entity initialisation parameter node. diff --git a/source/simulation2/system/ReplayTurnManager.cpp b/source/simulation2/system/ReplayTurnManager.cpp index 56c19a7804..eb246a1c6c 100644 --- a/source/simulation2/system/ReplayTurnManager.cpp +++ b/source/simulation2/system/ReplayTurnManager.cpp @@ -20,15 +20,26 @@ #include "ReplayTurnManager.h" #include "gui/GUIManager.h" +#include "lib/debug.h" #include "ps/CLogger.h" #include "ps/Util.h" +#include "scriptinterface/JSON.h" #include "scriptinterface/ScriptConversions.h" #include "scriptinterface/ScriptRequest.h" -#include "scriptinterface/JSON.h" #include "simulation2/Simulation2.h" +#include "simulation2/system/LocalTurnManager.h" +#include +#include +#include +#include +#include +#include #include +class IReplayLogger; +class ScriptInterface; + const CStr CReplayTurnManager::EventNameReplayFinished = "ReplayFinished"; const CStr CReplayTurnManager::EventNameReplayOutOfSync = "ReplayOutOfSync"; diff --git a/source/simulation2/system/ReplayTurnManager.h b/source/simulation2/system/ReplayTurnManager.h index 67d52a84f8..880e6e8929 100644 --- a/source/simulation2/system/ReplayTurnManager.h +++ b/source/simulation2/system/ReplayTurnManager.h @@ -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 @@ -18,7 +18,18 @@ #ifndef INCLUDED_REPLAYTURNMANAGER #define INCLUDED_REPLAYTURNMANAGER -#include "LocalTurnManager.h" +#include "lib/types.h" +#include "ps/CStr.h" +#include "simulation2/helpers/Player.h" +#include "simulation2/system/LocalTurnManager.h" + +#include +#include +#include +#include + +class CSimulation2; +class IReplayLogger; /** * Implementation of CLocalTurnManager for replay games. diff --git a/source/simulation2/system/SimContext.cpp b/source/simulation2/system/SimContext.cpp index caefc4fb60..3c1eb8991a 100644 --- a/source/simulation2/system/SimContext.cpp +++ b/source/simulation2/system/SimContext.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 @@ -19,9 +19,10 @@ #include "SimContext.h" -#include "ComponentManager.h" - #include "ps/Game.h" +#include "simulation2/system/Component.h" + +#include CSimContext::CSimContext(CTerrain* terrain /*= nullptr*/, CUnitManager* unitManager /*= nullptr*/) : m_UnitManager{unitManager}, diff --git a/source/simulation2/system/SimContext.h b/source/simulation2/system/SimContext.h index 137bacd9a5..2b90cd9864 100644 --- a/source/simulation2/system/SimContext.h +++ b/source/simulation2/system/SimContext.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,7 +18,8 @@ #ifndef INCLUDED_SIMCONTEXT #define INCLUDED_SIMCONTEXT -#include "Entity.h" +#include "lib/debug.h" +#include "simulation2/system/Entity.h" class CComponentManager; class CUnitManager; diff --git a/source/simulation2/system/TurnManager.cpp b/source/simulation2/system/TurnManager.cpp index cc5fb32342..d8dc7df5fe 100644 --- a/source/simulation2/system/TurnManager.cpp +++ b/source/simulation2/system/TurnManager.cpp @@ -20,16 +20,24 @@ #include "TurnManager.h" #include "gui/GUIManager.h" +#include "lib/debug.h" #include "maths/MathUtil.h" -#include "ps/Pyrogenesis.h" +#include "ps/CLogger.h" #include "ps/Profile.h" #include "ps/Profiler2.h" -#include "ps/CLogger.h" #include "ps/Replay.h" -#include "ps/Util.h" #include "scriptinterface/Object.h" +#include "scriptinterface/ScriptRequest.h" +#include "scriptinterface/StructuredClone.h" #include "simulation2/Simulation2.h" +#include +#include +#include +#include +#include +#include + #if 0 #define NETTURN_LOG(...) debug_printf(__VA_ARGS__) #else diff --git a/source/simulation2/system/TurnManager.h b/source/simulation2/system/TurnManager.h index c4f8ee9be4..b4a724dc99 100644 --- a/source/simulation2/system/TurnManager.h +++ b/source/simulation2/system/TurnManager.h @@ -19,12 +19,18 @@ #define INCLUDED_TURNMANAGER #include "lib/code_annotation.h" +#include "lib/types.h" #include "ps/CStr.h" #include "simulation2/helpers/SimulationCommand.h" +#include #include +#include +#include +#include #include #include +#include #include class CSimulation2; diff --git a/source/simulation2/tests/test_ComponentManager.h b/source/simulation2/tests/test_ComponentManager.h index f1b77e8a11..c13381a22a 100644 --- a/source/simulation2/tests/test_ComponentManager.h +++ b/source/simulation2/tests/test_ComponentManager.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 @@ -17,20 +17,27 @@ #include "lib/self_test.h" -#include "simulation2/system/ComponentManager.h" - -#include "simulation2/MessageTypes.h" -#include "simulation2/system/ParamNode.h" -#include "simulation2/system/SimContext.h" -#include "simulation2/serialization/ISerializer.h" -#include "simulation2/components/ICmpTest.h" -#include "simulation2/components/ICmpTemplateManager.h" - +#include "lib/file/file_system.h" +#include "lib/file/vfs/vfs.h" +#include "lib/path.h" +#include "lib/types.h" +#include "maths/Fixed.h" #include "ps/CLogger.h" +#include "ps/Errors.h" #include "ps/Filesystem.h" #include "ps/XML/Xeromyces.h" +#include "scriptinterface/ScriptInterface.h" +#include "simulation2/MessageTypes.h" +#include "simulation2/components/ICmpTemplateManager.h" +#include "simulation2/components/ICmpTest.h" +#include "simulation2/system/Component.h" +#include "simulation2/system/Entity.h" +#include +#include #include +#include +#include #define TS_ASSERT_STREAM(stream, len, buffer) \ TS_ASSERT_EQUALS(stream.str().length(), (size_t)len); \ diff --git a/source/simulation2/tests/test_EntityMap.h b/source/simulation2/tests/test_EntityMap.h index a933e9b32e..3159250236 100644 --- a/source/simulation2/tests/test_EntityMap.h +++ b/source/simulation2/tests/test_EntityMap.h @@ -16,15 +16,17 @@ */ #include "lib/self_test.h" + #include "lib/timer.h" - -#include "simulation2/serialization/ISerializer.h" -#include "simulation2/serialization/IDeserializer.h" - #include "simulation2/system/EntityMap.h" #include +#include +#include +#include #include +#include +#include class TestEntityMap : public CxxTest::TestSuite { diff --git a/source/simulation2/tests/test_ParamNode.h b/source/simulation2/tests/test_ParamNode.h index 84c1c4ef07..3441cf30eb 100644 --- a/source/simulation2/tests/test_ParamNode.h +++ b/source/simulation2/tests/test_ParamNode.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 @@ -17,12 +17,13 @@ #include "lib/self_test.h" -#include "simulation2/system/ParamNode.h" - #include "ps/CLogger.h" +#include "ps/Errors.h" #include "ps/XML/Xeromyces.h" +#include "simulation2/system/Component.h" #include +#include class TestParamNode : public CxxTest::TestSuite { diff --git a/source/simulation2/tests/test_SerializeTemplates.h b/source/simulation2/tests/test_SerializeTemplates.h index 9aac813be6..e34bb3c4d7 100644 --- a/source/simulation2/tests/test_SerializeTemplates.h +++ b/source/simulation2/tests/test_SerializeTemplates.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2020 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 @@ -17,16 +17,20 @@ #include "lib/self_test.h" +#include "lib/types.h" #include "scriptinterface/ScriptInterface.h" #include "simulation2/helpers/Grid.h" #include "simulation2/serialization/DebugSerializer.h" +#include "simulation2/serialization/SerializeTemplates.h" +#include "simulation2/serialization/SerializedTypes.h" +#include #include #include +#include +#include #include -#include "simulation2/serialization/SerializedTypes.h" - class TestSerializeTemplates : public CxxTest::TestSuite { public: diff --git a/source/simulation2/tests/test_Serializer.h b/source/simulation2/tests/test_Serializer.h index 381f687809..d3de02dd94 100644 --- a/source/simulation2/tests/test_Serializer.h +++ b/source/simulation2/tests/test_Serializer.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 @@ -17,31 +17,45 @@ #include "lib/self_test.h" -#include "simulation2/serialization/DebugSerializer.h" -#include "simulation2/serialization/HashSerializer.h" -#include "simulation2/serialization/StdSerializer.h" -#include "simulation2/serialization/StdDeserializer.h" -#include "scriptinterface/FunctionWrapper.h" -#include "scriptinterface/ScriptContext.h" -#include "scriptinterface/ScriptInterface.h" - #include "graphics/MapReader.h" #include "graphics/Terrain.h" -#include "graphics/TerrainTextureManager.h" #include "lib/config2.h" +#include "lib/debug.h" +#include "lib/file/file_system.h" +#include "lib/file/vfs/vfs.h" +#include "lib/path.h" #include "lib/timer.h" +#include "lib/types.h" +#include "maths/Fixed.h" #include "ps/CLogger.h" #include "ps/Filesystem.h" #include "ps/Loader.h" #include "ps/XML/Xeromyces.h" +#include "scriptinterface/FunctionWrapper.h" +#include "scriptinterface/ScriptInterface.h" +#include "scriptinterface/ScriptRequest.h" #include "simulation2/Simulation2.h" +#include "simulation2/serialization/DebugSerializer.h" +#include "simulation2/serialization/HashSerializer.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 #if CONFIG2_VALGRIND # include "callgrind.h" #endif -#include - #define TS_ASSERT_STREAM(stream, len, buffer) \ TS_ASSERT_EQUALS(stream.str().length(), (size_t)len); \ TS_ASSERT_SAME_DATA(stream.str().data(), buffer, len) diff --git a/source/simulation2/tests/test_Simulation2.h b/source/simulation2/tests/test_Simulation2.h index 470f42a910..d54c0c6c4a 100644 --- a/source/simulation2/tests/test_Simulation2.h +++ b/source/simulation2/tests/test_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 @@ -17,15 +17,23 @@ #include "lib/self_test.h" -#include "scriptinterface/ScriptInterface.h" -#include "simulation2/Simulation2.h" -#include "simulation2/MessageTypes.h" -#include "simulation2/components/ICmpTest.h" - #include "graphics/Terrain.h" -#include "ps/CLogger.h" +#include "lib/file/file_system.h" +#include "lib/file/vfs/vfs.h" +#include "lib/path.h" +#include "lib/types.h" #include "ps/Filesystem.h" #include "ps/XML/Xeromyces.h" +#include "scriptinterface/ScriptInterface.h" +#include "simulation2/MessageTypes.h" +#include "simulation2/Simulation2.h" +#include "simulation2/components/ICmpTest.h" +#include "simulation2/system/Component.h" +#include "simulation2/system/Entity.h" + +#include +#include +#include class TestSimulation2 : public CxxTest::TestSuite {