Fix includes in source/simulation2

Make include-what-you-use happy with some files in source/simulatation2
and fix what needs to be fixed.

source/simulation2/system/ComponentTest.h uses cxxtest, so add cxxtest
to the deps for simulation2 target.

Ref: #8086
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
This commit is contained in:
Ralph Sennhauser 2025-08-08 07:01:34 +02:00
parent 2bad15b4c2
commit cc7a165365
No known key found for this signature in database
63 changed files with 335 additions and 146 deletions

View file

@ -810,6 +810,7 @@ function setup_all_libs ()
"fmt",
"libxml2",
"iconv",
"cxxtest",
}
setup_static_lib_project("simulation2", source_dirs, extern_libs, {})

View file

@ -18,18 +18,24 @@
#ifndef INCLUDED_MESSAGETYPES
#define INCLUDED_MESSAGETYPES
#include "simulation2/system/Components.h"
#include "lib/types.h"
#include "maths/Fixed.h"
#include "maths/Vector3D.h"
#include "ps/CStr.h"
#include "simulation2/helpers/Pathfinding.h"
#include "simulation2/helpers/Player.h"
#include "simulation2/helpers/Position.h"
#include "simulation2/system/Component.h"
#include "simulation2/system/Entity.h"
#include "simulation2/system/Message.h"
#include "simulation2/helpers/Player.h"
#include "simulation2/helpers/Position.h"
#include <array>
#include <cstdint>
#include <js/TypeDecls.h>
#include <string>
#include <vector>
#include "simulation2/components/ICmpPathfinder.h"
#include "maths/Vector3D.h"
#include "ps/CStr.h"
class ScriptRequest;
#define DEFAULT_MESSAGE_IMPL(name) \
virtual int GetType() const { return MT_##name; } \

View file

@ -64,6 +64,7 @@
#include <iomanip>
#include <js/CallArgs.h>
#include <js/RootingAPI.h>
#include <js/Value.h>
#include <memory>
#include <set>
#include <sstream>

View file

@ -24,7 +24,6 @@
#include "simulation2/system/Entity.h"
#include <js/TypeDecls.h>
#include <js/Value.h>
#include <memory>
#include <ostream>
#include <string>
@ -42,6 +41,7 @@ class IComponent;
class SceneCollector;
class ScriptContext;
class ScriptInterface;
namespace JS { class Value; }
struct SimulationCommand;
/**

View file

@ -27,27 +27,32 @@
* The long-range pathfinding is done by a LongPathfinder object.
*/
#include "simulation2/system/Component.h"
#include "ICmpPathfinder.h"
#include "graphics/Overlay.h"
#include "graphics/Terrain.h"
#include "maths/MathUtil.h"
#include "ps/CLogger.h"
#include "ps/TaskManager.h"
#include "graphics/SColor.h"
#include "lib/types.h"
#include "maths/Fixed.h"
#include "ps/Future.h"
#include "renderer/TerrainOverlay.h"
#include "simulation2/components/ICmpObstructionManager.h"
#include "simulation2/components/ICmpObstruction.h"
#include "simulation2/components/ICmpPathfinder.h"
#include "simulation2/helpers/Grid.h"
#include "simulation2/helpers/HierarchicalPathfinder.h"
#include "simulation2/helpers/LongPathfinder.h"
#include "simulation2/helpers/Pathfinding.h"
#include "simulation2/helpers/Position.h"
#include "simulation2/helpers/VertexPathfinder.h"
#include "simulation2/system/Component.h"
#include "simulation2/system/Entity.h"
#include <atomic>
#include <cstddef>
#include <map>
#include <memory>
#include <string>
#include <vector>
class HierarchicalPathfinder;
class LongPathfinder;
class VertexPathfinder;
class SceneCollector;
class AtlasOverlay;
class SceneCollector;
#ifdef NDEBUG
#define PATHFIND_DEBUG 0

View file

@ -18,27 +18,26 @@
#ifndef INCLUDED_CCMPRALLYPOINTRENDERER
#define INCLUDED_CCMPRALLYPOINTRENDERER
#include "ICmpRallyPointRenderer.h"
#include "graphics/Color.h"
#include "graphics/Overlay.h"
#include "graphics/TextureManager.h"
#include "ps/CLogger.h"
#include "renderer/Renderer.h"
#include "simulation2/MessageTypes.h"
#include "graphics/Texture.h"
#include "lib/types.h"
#include "maths/FixedVector2D.h"
#include "maths/Vector2D.h"
#include "simulation2/components/ICmpFootprint.h"
#include "simulation2/components/ICmpIdentity.h"
#include "simulation2/components/ICmpObstructionManager.h"
#include "simulation2/components/ICmpOwnership.h"
#include "simulation2/components/ICmpPathfinder.h"
#include "simulation2/components/ICmpPlayer.h"
#include "simulation2/components/ICmpPlayerManager.h"
#include "simulation2/components/ICmpPosition.h"
#include "simulation2/components/ICmpTerrain.h"
#include "simulation2/components/ICmpVisual.h"
#include "simulation2/components/ICmpWaterManager.h"
#include "simulation2/helpers/Render.h"
#include "simulation2/helpers/Geometry.h"
#include "simulation2/components/ICmpRallyPointRenderer.h"
#include "simulation2/helpers/Player.h"
#include "simulation2/system/Component.h"
#include "simulation2/system/Entity.h"
#include <cstddef>
#include <string>
#include <vector>
class CFrustum;
class SceneCollector;
struct SVisibilitySegment
{

View file

@ -25,6 +25,7 @@
#include "graphics/TextureManager.h"
#include "lib/code_generation.h"
#include "lib/debug.h"
#include "lib/path.h"
#include "maths/BoundingBoxAligned.h"
#include "maths/Ease.h"
#include "maths/Frustum.h"

View file

@ -21,6 +21,7 @@
#include "lib/path.h"
#include "maths/Vector3D.h"
#include "scriptinterface/ScriptInterface.h"
#include "simulation2/components/ICmpOwnership.h"
#include "simulation2/components/ICmpPosition.h"
#include "simulation2/components/ICmpRangeManager.h"

View file

@ -42,6 +42,7 @@
#include "renderer/TerrainOverlay.h"
#include "renderer/backend/Sampler.h"
#include "simulation2/MessageTypes.h"
#include "simulation2/components/ICmpObstructionManager.h"
#include "simulation2/components/ICmpOwnership.h"
#include "simulation2/components/ICmpPathfinder.h"
#include "simulation2/components/ICmpPlayer.h"

View file

@ -18,16 +18,22 @@
#ifndef INCLUDED_CCMPUNITMOTIONMANAGER
#define INCLUDED_CCMPUNITMOTIONMANAGER
#include "maths/Fixed.h"
#include "maths/FixedVector2D.h"
#include "simulation2/MessageTypes.h"
#include "simulation2/components/ICmpPosition.h"
#include "simulation2/components/ICmpTerrain.h"
#include "simulation2/components/ICmpUnitMotionManager.h"
#include "simulation2/helpers/Grid.h"
#include "simulation2/helpers/Position.h"
#include "simulation2/system/Component.h"
#include "simulation2/system/Entity.h"
#include "simulation2/system/EntityMap.h"
#include <cstdint>
#include <string>
#include <vector>
class CCmpUnitMotion;
class ICmpPosition;
class CCmpUnitMotionManager final : public ICmpUnitMotionManager
{

View file

@ -20,7 +20,6 @@
#include "CCmpUnitMotion.h"
#include "lib/debug.h"
#include "lib/path.h"
#include "lib/types.h"
#include "maths/Fixed.h"
#include "maths/FixedVector2D.h"
@ -37,6 +36,8 @@
#include "simulation2/components/ICmpUnitMotion.h"
#include "simulation2/helpers/Grid.h"
#include "simulation2/helpers/Position.h"
#include "simulation2/serialization/SerializeTemplates.h"
#include "simulation2/system/Component.h"
#include "simulation2/system/Entity.h"
#include "simulation2/system/EntityMap.h"
#include "simulation2/system/Message.h"
@ -45,7 +46,6 @@
#include <cstdint>
#include <cstdlib>
#include <limits>
#include <new>
#include <string>
#include <type_traits>
#include <unordered_set>

View file

@ -21,7 +21,6 @@
#include "graphics/Color.h"
#include "graphics/Decal.h"
#include "graphics/HeightMipmap.h"
#include "graphics/Model.h"
#include "graphics/ModelAbstract.h"
#include "graphics/ObjectBase.h"
@ -43,13 +42,11 @@
#include "ps/CLogger.h"
#include "ps/CStr.h"
#include "ps/algorithm.h"
#include "renderer/Scene.h"
#include "simulation2/MessageTypes.h"
#include "simulation2/components/ICmpFootprint.h"
#include "simulation2/components/ICmpIdentity.h"
#include "simulation2/components/ICmpMirage.h"
#include "simulation2/components/ICmpOwnership.h"
#include "simulation2/components/ICmpPlayerManager.h"
#include "simulation2/components/ICmpPosition.h"
#include "simulation2/components/ICmpSound.h"
#include "simulation2/components/ICmpTemplateManager.h"
@ -61,9 +58,12 @@
#include "simulation2/serialization/SerializeTemplates.h"
#include "simulation2/serialization/SerializedTypes.h"
#include "simulation2/system/Component.h"
#include "simulation2/system/Component.h"
#include "simulation2/system/Interface.h"
#include "simulation2/system/Message.h"
#include <cstddef>
#include <js/Value.h>
#include <map>
#include <memory>
#include <string>

View file

@ -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
@ -19,8 +19,11 @@
#include "ICmpAIInterface.h"
#include "simulation2/system/InterfaceScripted.h"
#include "simulation2/scripting/ScriptComponent.h"
#include "simulation2/system/InterfaceScripted.h"
#include <js/RootingAPI.h>
#include <string>
BEGIN_INTERFACE_WRAPPER(AIInterface)
END_INTERFACE_WRAPPER(AIInterface)

View file

@ -19,14 +19,27 @@
#include "ICmpAIManager.h"
#include "lib/code_annotation.h"
#include "lib/file/vfs/vfs_util.h"
#include "lib/path.h"
#include "lib/status.h"
#include "lib/types.h"
#include "ps/Filesystem.h"
#include "simulation2/system/InterfaceScripted.h"
#include "scriptinterface/JSON.h"
#include "scriptinterface/Object.h"
#include "scriptinterface/ScriptExtraHeaders.h"
#include "scriptinterface/ScriptInterface.h"
#include "scriptinterface/ScriptRequest.h"
#include "simulation2/system/InterfaceScripted.h"
#include <boost/filesystem.hpp>
#include <iterator>
#include <js/Array.h>
#include <js/PropertyAndElement.h>
#include <js/RootingAPI.h>
#include <js/TypeDecls.h>
class CFileInfo;
BEGIN_INTERFACE_WRAPPER(AIManager)
DEFINE_INTERFACE_METHOD("AddPlayer", ICmpAIManager, AddPlayer)

View file

@ -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,6 +19,7 @@
#include "ICmpCinemaManager.h"
#include "simulation2/helpers/CinemaPath.h"
#include "simulation2/system/InterfaceScripted.h"
BEGIN_INTERFACE_WRAPPER(CinemaManager)

View file

@ -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,13 +18,17 @@
#ifndef INCLUDED_ICMPCINEMAMANAGER
#define INCLUDED_ICMPCINEMAMANAGER
#include "simulation2/system/Component.h"
#include "simulation2/system/Interface.h"
#include <js/Value.h>
#include <list>
#include <map>
#include "ps/CStr.h"
#include "simulation2/helpers/CinemaPath.h"
#include "simulation2/system/Interface.h"
class CCamera;
class CCinemaPath;
class CStrW;
/**
* Component for CCinemaManager class

View file

@ -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,12 +18,16 @@
#ifndef INCLUDED_ICMPCOMMANDQUEUE
#define INCLUDED_ICMPCOMMANDQUEUE
#include "simulation2/helpers/Player.h"
#include "simulation2/system/Component.h"
#include "simulation2/system/Interface.h"
#include "simulation2/helpers/SimulationCommand.h"
#include <js/TypeDecls.h>
#include <js/Value.h>
#include <vector>
struct SimulationCommand;
/**
* Command queue, for sending orders to entities.
* Each command is associated with a player ID (who triggered the command, in some sense)

View file

@ -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,8 @@
#include "simulation2/scripting/ScriptComponent.h"
#include "simulation2/system/InterfaceScripted.h"
#include <string>
BEGIN_INTERFACE_WRAPPER(Fogging)
END_INTERFACE_WRAPPER(Fogging)

View file

@ -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,10 +19,16 @@
#include "ICmpFootprint.h"
#include "maths/FixedVector3D.h"
#include "scriptinterface/ScriptConversions.h"
#include "scriptinterface/ScriptRequest.h"
#include "simulation2/system/InterfaceScripted.h"
#include "simulation2/system/SimContext.h"
#include "maths/FixedVector3D.h"
#include <js/PropertyAndElement.h>
#include <js/RootingAPI.h>
#include <js/TypeDecls.h>
#include <jsapi.h>
#include <string>
JS::Value ICmpFootprint::GetShape_wrapper() const
{

View file

@ -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,8 @@
#include "simulation2/scripting/ScriptComponent.h"
#include "simulation2/system/InterfaceScripted.h"
#include <string>
BEGIN_INTERFACE_WRAPPER(GarrisonHolder)
END_INTERFACE_WRAPPER(GarrisonHolder)

View file

@ -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
@ -19,8 +19,10 @@
#include "ICmpGuiInterface.h"
#include "simulation2/system/InterfaceScripted.h"
#include "simulation2/scripting/ScriptComponent.h"
#include "simulation2/system/InterfaceScripted.h"
#include <js/RootingAPI.h>
BEGIN_INTERFACE_WRAPPER(GuiInterface)
END_INTERFACE_WRAPPER(GuiInterface)

View file

@ -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,8 @@
#include "simulation2/scripting/ScriptComponent.h"
#include "simulation2/system/InterfaceScripted.h"
#include <string>
BEGIN_INTERFACE_WRAPPER(Mirage)
END_INTERFACE_WRAPPER(Mirage)

View file

@ -18,11 +18,9 @@
#ifndef INCLUDED_ICMPMIRAGE
#define INCLUDED_ICMPMIRAGE
#include "simulation2/helpers/Player.h"
#include "simulation2/helpers/Player.h"
#include "simulation2/system/Component.h"
#include "simulation2/system/Interface.h"
#include "simulation2/system/Interface.h"
#include <js/Value.h>

View file

@ -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
@ -19,8 +19,10 @@
#include "ICmpMotion.h"
#include "simulation2/system/InterfaceScripted.h"
#include "simulation2/scripting/ScriptComponent.h"
#include "simulation2/system/InterfaceScripted.h"
#include <string>
BEGIN_INTERFACE_WRAPPER(Motion)
END_INTERFACE_WRAPPER(Motion)

View file

@ -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,8 +18,11 @@
#ifndef INCLUDED_ICMPMOTION
#define INCLUDED_ICMPMOTION
#include "simulation2/system/Component.h"
#include "simulation2/system/Interface.h"
#include <js/Value.h>
/**
* Generic motion interface for entities with entirely self-contained motion
* e.g. projectiles and custom motion scripts.

View file

@ -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,9 +19,9 @@
#include "ICmpObstruction.h"
#include "lib/debug.h"
#include "simulation2/system/InterfaceScripted.h"
#include "simulation2/system/SimContext.h"
std::string ICmpObstruction::CheckFoundation_wrapper(const std::string& className, bool onlyCenterPoint) const
{

View file

@ -1,4 +1,4 @@
/* Copyright (C) 2015 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,11 +20,13 @@
#include "simulation2/system/Interface.h"
#include "simulation2/helpers/Position.h"
#include "lib/file/vfs/vfs_path.h"
#include "maths/FixedVector2D.h"
#include "maths/FixedVector3D.h"
#include "simulation2/system/Component.h"
#include <js/Value.h>
#include <string>
/**
* Interface for rendering 'overlay' objects (typically sprites), automatically

View file

@ -18,10 +18,14 @@
#ifndef INCLUDED_ICMPPLAYER
#define INCLUDED_ICMPPLAYER
#include "simulation2/system/Component.h"
#include "simulation2/system/Interface.h"
struct CColor;
#include <js/Value.h>
#include <string>
class CFixedVector3D;
struct CColor;
/**
* Player data.

View file

@ -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
@ -19,8 +19,10 @@
#include "ICmpPlayerManager.h"
#include "simulation2/system/InterfaceScripted.h"
#include "simulation2/scripting/ScriptComponent.h"
#include "simulation2/system/InterfaceScripted.h"
#include <string>
BEGIN_INTERFACE_WRAPPER(PlayerManager)
END_INTERFACE_WRAPPER(PlayerManager)

View file

@ -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
@ -18,8 +18,13 @@
#ifndef INCLUDED_ICMPPLAYERMANAGER
#define INCLUDED_ICMPPLAYERMANAGER
#include "simulation2/system/Component.h"
#include "simulation2/system/Entity.h"
#include "simulation2/system/Interface.h"
#include <cstdint>
#include <js/Value.h>
/**
* Player manager. This maintains the list of players that exist in the game.
*/

View file

@ -18,13 +18,16 @@
#ifndef INCLUDED_ICMPPOSITION
#define INCLUDED_ICMPPOSITION
#include "maths/Fixed.h"
#include "maths/FixedVector2D.h"
#include "maths/FixedVector3D.h"
#include "ps/CStr.h"
#include "simulation2/helpers/Position.h"
#include "simulation2/system/Component.h"
#include "simulation2/system/Entity.h"
#include "simulation2/system/Interface.h"
#include "simulation2/helpers/Position.h"
#include "maths/FixedVector3D.h"
#include "maths/FixedVector2D.h"
#include "ps/CStr.h"
#include <js/Value.h>
#include <set>
class CMatrix3D;

View file

@ -1,4 +1,4 @@
/* Copyright (C) 2018 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,8 +18,11 @@
#ifndef INCLUDED_ICMPRALLYPOINT
#define INCLUDED_ICMPRALLYPOINT
#include "simulation2/system/Component.h"
#include "simulation2/system/Interface.h"
#include <js/Value.h>
class CFixedVector2D;
/**

View file

@ -1,4 +1,4 @@
/* Copyright (C) 2018 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,13 @@
#ifndef INCLUDED_ICMPRALLYPOINTRENDERER
#define INCLUDED_ICMPRALLYPOINTRENDERER
#include "lib/types.h"
#include "maths/FixedVector2D.h"
#include "simulation2/helpers/Position.h"
#include "simulation2/system/Component.h"
#include "simulation2/system/Interface.h"
#include <js/Value.h>
/**
* Rally Point.
* Holds the position of a unit's rally points, and renders them to screen.

View file

@ -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
@ -18,13 +18,18 @@
#ifndef INCLUDED_ICMPRANGEMANAGER
#define INCLUDED_ICMPRANGEMANAGER
#include "maths/FixedVector3D.h"
#include "lib/types.h"
#include "maths/FixedVector2D.h"
#include "simulation2/system/Interface.h"
#include "simulation2/helpers/Position.h"
#include "maths/FixedVector3D.h"
#include "simulation2/helpers/Player.h"
#include "simulation2/helpers/Position.h"
#include "simulation2/system/Component.h"
#include "simulation2/system/Entity.h"
#include "simulation2/system/Interface.h"
#include <cstddef>
#include <js/Value.h>
#include <string>
#include <vector>
class FastSpatialSubdivision;

View file

@ -1,4 +1,4 @@
/* Copyright (C) 2018 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,9 +18,12 @@
#ifndef INCLUDED_ICMPRANGEOVERLAYRENDERER
#define INCLUDED_ICMPRANGEOVERLAYRENDERER
#include "ps/CStrIntern.h"
#include "simulation2/system/Component.h"
#include "simulation2/system/Interface.h"
#include <js/Value.h>
#include <string>
class ICmpRangeOverlayRenderer : public IComponent
{
public:

View file

@ -1,4 +1,4 @@
/* Copyright (C) 2018 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,8 +18,11 @@
#ifndef INCLUDED_ICMPSELECTABLE
#define INCLUDED_ICMPSELECTABLE
#include "simulation2/system/Component.h"
#include "simulation2/system/Interface.h"
#include <js/Value.h>
struct CColor;
class ICmpSelectable : public IComponent

View file

@ -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
@ -18,8 +18,11 @@
#ifndef INCLUDED_ICMPSETTLEMENT
#define INCLUDED_ICMPSETTLEMENT
#include "simulation2/system/Component.h"
#include "simulation2/system/Interface.h"
#include <js/Value.h>
class ICmpSettlement : public IComponent
{
public:

View file

@ -1,4 +1,4 @@
/* Copyright (C) 2018 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,8 +18,12 @@
#ifndef INCLUDED_ICMPSOUND
#define INCLUDED_ICMPSOUND
#include "simulation2/system/Component.h"
#include "simulation2/system/Interface.h"
#include <js/Value.h>
#include <string>
/**
* Sound data.
* (This interface includes functions needed by native code for loading soundgroups.

View file

@ -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
@ -18,8 +18,12 @@
#ifndef INCLUDED_ICMPTEMPLATEMANAGER
#define INCLUDED_ICMPTEMPLATEMANAGER
#include "simulation2/system/Component.h"
#include "simulation2/system/Entity.h"
#include "simulation2/system/Interface.h"
#include <js/Value.h>
#include <string>
#include <vector>
/**

View file

@ -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,11 +18,13 @@
#ifndef INCLUDED_ICMPTERRAIN
#define INCLUDED_ICMPTERRAIN
#include "lib/types.h"
#include "maths/FixedVector3D.h"
#include "simulation2/helpers/Position.h"
#include "simulation2/system/Component.h"
#include "simulation2/system/Interface.h"
#include "simulation2/helpers/Position.h"
#include "maths/FixedVector3D.h"
#include <js/Value.h>
class CTerrain;
class CVector3D;

View file

@ -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,8 +18,11 @@
#ifndef INCLUDED_ICMPTERRITORYDECAYMANAGER
#define INCLUDED_ICMPTERRITORYDECAYMANAGER
#include "simulation2/system/Component.h"
#include "simulation2/system/Interface.h"
#include <js/Value.h>
class ICmpTerritoryDecayManager : public IComponent
{
public:

View file

@ -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,8 +18,12 @@
#ifndef INCLUDED_ICMPTERRITORYINFLUENCE
#define INCLUDED_ICMPTERRITORYINFLUENCE
#include "lib/types.h"
#include "simulation2/system/Component.h"
#include "simulation2/system/Interface.h"
#include <js/Value.h>
class ICmpTerritoryInfluence : public IComponent
{
public:

View file

@ -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,17 @@
#ifndef INCLUDED_ICMPTERRITORYMANAGER
#define INCLUDED_ICMPTERRITORYMANAGER
#include "lib/types.h"
#include "simulation2/helpers/Player.h"
#include "simulation2/helpers/Position.h"
#include "simulation2/system/Component.h"
#include "simulation2/system/Interface.h"
#include "simulation2/helpers/Player.h"
#include "simulation2/components/ICmpPosition.h"
#include <cstddef>
#include <js/Value.h>
#include <vector>
template<typename T>
class Grid;
template<typename T> class Grid;
class ICmpTerritoryManager : public IComponent
{

View file

@ -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,8 +18,11 @@
#ifndef INCLUDED_ICMPTEST
#define INCLUDED_ICMPTEST
#include "simulation2/system/Component.h"
#include "simulation2/system/Interface.h"
#include <js/Value.h>
/**
* Component for testing the simulation system.
*/

View file

@ -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,8 +18,13 @@
#ifndef INCLUDED_ICMPTURRETHOLDER
#define INCLUDED_ICMPTURRETHOLDER
#include "simulation2/system/Component.h"
#include "simulation2/system/Entity.h"
#include "simulation2/system/Interface.h"
#include <js/Value.h>
#include <string>
#include <utility>
#include <vector>
class ICmpTurretHolder : public IComponent

View file

@ -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
@ -18,10 +18,16 @@
#ifndef INCLUDED_ICMPUNITMOTION
#define INCLUDED_ICMPUNITMOTION
#include "maths/Fixed.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 "simulation2/system/Interface.h"
#include "simulation2/components/ICmpPathfinder.h" // for pass_class_t
#include "simulation2/components/ICmpPosition.h" // for entity_pos_t
#include <js/Value.h>
#include <string>
/**
* Motion interface for entities with complex movement capabilities.

View file

@ -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,8 +18,12 @@
#ifndef INCLUDED_ICMPUNITMOTIONMANAGER
#define INCLUDED_ICMPUNITMOTIONMANAGER
#include "simulation2/system/Component.h"
#include "simulation2/system/Entity.h"
#include "simulation2/system/Interface.h"
#include <js/Value.h>
class CCmpUnitMotion;
/**

View file

@ -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,12 +18,17 @@
#ifndef INCLUDED_ICMPMODELRENDERER
#define INCLUDED_ICMPMODELRENDERER
#include "lib/types.h"
#include "simulation2/system/Component.h"
#include "simulation2/system/Interface.h"
#include <js/Value.h>
#include <utility>
#include <vector>
class CUnit;
class CBoundingSphere;
class CEntityHandle;
class CUnit;
class CVector3D;
class ICmpUnitRenderer : public IComponent

View file

@ -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
@ -19,8 +19,10 @@
#include "ICmpUnknownScript.h"
#include "simulation2/system/InterfaceScripted.h"
#include "simulation2/scripting/ScriptComponent.h"
#include "simulation2/system/InterfaceScripted.h"
#include <string>
BEGIN_INTERFACE_WRAPPER(UnknownScript)
END_INTERFACE_WRAPPER(UnknownScript)

View file

@ -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,8 +18,11 @@
#ifndef INCLUDED_ICMPUNKNOWNSCRIPT
#define INCLUDED_ICMPUNKNOWNSCRIPT
#include "simulation2/system/Component.h"
#include "simulation2/system/Interface.h"
#include <js/Value.h>
/**
* Dummy wrapper class for script components that don't have a native interface.
*/

View file

@ -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,9 +18,14 @@
#ifndef INCLUDED_ICMPVALUEMODIFICATIONMANAGER
#define INCLUDED_ICMPVALUEMODIFICATIONMANAGER
#include "lib/types.h"
#include "maths/Fixed.h"
#include "simulation2/system/Component.h"
#include "simulation2/system/Entity.h"
#include "simulation2/system/Interface.h"
#include "maths/Fixed.h"
#include <js/Value.h>
#include <string>
/**
* value modification manager interface.

View file

@ -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,10 +18,13 @@
#ifndef INCLUDED_CINEMAPATH
#define INCLUDED_CINEMAPATH
#include "maths/Fixed.h"
#include "maths/NUSpline.h"
#include "maths/Vector3D.h"
#include "ps/CStr.h"
class CVector3D;
#include <cstddef>
class CCamera;
class CCinemaData

View file

@ -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
@ -19,6 +19,8 @@
#include "Geometry.h"
#include <algorithm>
namespace Geometry
{

View file

@ -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
@ -25,7 +25,8 @@
#include "maths/Fixed.h"
#include "maths/FixedVector2D.h"
#include "maths/MathUtil.h"
#include <utility>
namespace Geometry
{

View file

@ -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,9 +18,18 @@
#ifndef INCLUDED_GRID
#define INCLUDED_GRID
#include "lib/code_annotation.h"
#include "lib/code_generation.h"
#include "lib/debug.h"
#include "lib/types.h"
#include "simulation2/serialization/SerializeTemplates.h"
#include "simulation2/system/Component.h"
#include <algorithm>
#include <cstring>
#include <new>
#include <type_traits>
#include <utility>
#ifdef NDEBUG
#define GRID_BOUNDS_DEBUG 0

View file

@ -29,11 +29,9 @@
#include "simulation2/helpers/PriorityQueue.h"
#include <atomic>
#include <functional>
#include <map>
#include <memory>
#include <new>
#include <queue>
#include <vector>
/**

View file

@ -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,9 +18,11 @@
#ifndef INCLUDED_LOS
#define INCLUDED_LOS
#include "lib/posix/posix_types.h"
#include "lib/types.h"
// It doesn't seem worth moving the implementation to c++ and early-declaring Grid
// since files must include "Los.h" explicitly, and that's only done in .cpp files.
#include "Grid.h"
#include "simulation2/helpers/Grid.h"
/**
* Computing LOS data at a very high resolution is not necessary and quite slow.

View file

@ -1,4 +1,4 @@
/* Copyright (C) 2019 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_MAP_EDGE_TILES
#define INCLUDED_MAP_EDGE_TILES
#include "lib/posix/posix_types.h"
/**
* Number of impassable, unexplorable tiles at the map border.
* Keep it in relation to the shadow blur size in CLOSTexture.

View file

@ -23,6 +23,12 @@
* (These probably aren't suitable for more general uses.)
*/
#include "lib/posix/posix_types.h"
#include <cstddef>
#include <functional>
#include <vector>
#ifdef NDEBUG
#define PRIORITYQUEUE_DEBUG 0
#else

View file

@ -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,16 +18,17 @@
#ifndef INCLUDED_HELPER_RENDER
#define INCLUDED_HELPER_RENDER
#include "maths/Vector2D.h"
#include <cstddef>
#include <vector>
class CSimContext;
class CVector2D;
class CVector3D;
class CFixedVector3D;
class CMatrix3D;
class CBoundingBoxAligned;
class CBoundingBoxOriented;
class CFixedVector3D;
class CMatrix3D;
class CSimContext;
class CVector3D;
struct SOverlayLine;
struct SOverlayTexturedLine;

View file

@ -22,6 +22,7 @@
#include "maths/MathUtil.h"
#include "simulation2/helpers/Position.h"
#include "simulation2/serialization/SerializeTemplates.h"
#include "simulation2/system/Entity.h"
#include <vector>

View file

@ -20,17 +20,29 @@
#include "lib/self_test.h"
#include "graphics/Terrain.h"
#include "lib/types.h"
#include "maths/Fixed.h"
#include "maths/FixedVector3D.h"
#include "maths/Vector3D.h"
#include "ps/XML/Xeromyces.h"
#include "simulation2/MessageTypes.h"
#include "simulation2/system/Component.h"
#include "ps/Errors.h"
#include "scriptinterface/ScriptInterface.h"
#include "simulation2/components/ICmpTerrain.h"
#include "simulation2/helpers/Position.h"
#include "simulation2/serialization/DebugSerializer.h"
#include "simulation2/serialization/HashSerializer.h"
#include "simulation2/serialization/StdSerializer.h"
#include "simulation2/serialization/StdDeserializer.h"
#include "simulation2/serialization/StdSerializer.h"
#include "simulation2/system/Component.h"
#include "simulation2/system/Entity.h"
#include <cstdio>
#include <iostream>
#include <sstream>
#include <string>
class CMessage;
class ScriptContext;
/**
* @file

View file

@ -34,6 +34,7 @@
#include "maths/Vector3D.h"
#include "simulation2/Simulation2.h"
#include "simulation2/components/ICmpCinemaManager.h"
#include "simulation2/helpers/CinemaPath.h"
#include "simulation2/system/Component.h"
namespace AtlasMessage