From d2b7253c7f56c170816b9a7df188daf0cc29d38f Mon Sep 17 00:00:00 2001 From: elsid Date: Sat, 16 Jul 2022 12:49:01 +0200 Subject: [PATCH] Use forward declarations instead of including aistate.hpp --- apps/openmw/mwmechanics/aipackage.hpp | 5 +++-- apps/openmw/mwmechanics/aisequence.hpp | 4 ---- apps/openmw/mwmechanics/aistate.hpp | 4 +--- apps/openmw/mwmechanics/aistatefwd.hpp | 15 +++++++++++++++ 4 files changed, 19 insertions(+), 9 deletions(-) create mode 100644 apps/openmw/mwmechanics/aistatefwd.hpp diff --git a/apps/openmw/mwmechanics/aipackage.hpp b/apps/openmw/mwmechanics/aipackage.hpp index 4e5dfcab6b..684ff3338d 100644 --- a/apps/openmw/mwmechanics/aipackage.hpp +++ b/apps/openmw/mwmechanics/aipackage.hpp @@ -4,12 +4,13 @@ #include #include - + #include "pathfinding.hpp" #include "obstacle.hpp" -#include "aistate.hpp" #include "aipackagetypeid.hpp" #include "aitimer.hpp" +#include "aistatefwd.hpp" + #include "../mwworld/ptr.hpp" namespace ESM diff --git a/apps/openmw/mwmechanics/aisequence.hpp b/apps/openmw/mwmechanics/aisequence.hpp index 5c6a43b9b8..e6f5a108c2 100644 --- a/apps/openmw/mwmechanics/aisequence.hpp +++ b/apps/openmw/mwmechanics/aisequence.hpp @@ -27,10 +27,6 @@ namespace MWMechanics { class AiPackage; class CharacterController; - - template< class Base > class DerivedClassStorage; - struct AiTemporaryBase; - typedef DerivedClassStorage AiState; using AiPackages = std::vector>; diff --git a/apps/openmw/mwmechanics/aistate.hpp b/apps/openmw/mwmechanics/aistate.hpp index 73a054c59e..ca90029e47 100644 --- a/apps/openmw/mwmechanics/aistate.hpp +++ b/apps/openmw/mwmechanics/aistate.hpp @@ -1,6 +1,7 @@ #ifndef AISTATE_H #define AISTATE_H +#include "aistatefwd.hpp" #include "aitemporarybase.hpp" namespace MWMechanics @@ -71,9 +72,6 @@ namespace MWMechanics delete mStorage; } }; - - /// \brief Container for AI package status. - typedef DerivedClassStorage AiState; } #endif // AISTATE_H diff --git a/apps/openmw/mwmechanics/aistatefwd.hpp b/apps/openmw/mwmechanics/aistatefwd.hpp new file mode 100644 index 0000000000..83216d1d27 --- /dev/null +++ b/apps/openmw/mwmechanics/aistatefwd.hpp @@ -0,0 +1,15 @@ +#ifndef OPENMW_MWMECHANICS_AISTATEFWD_H +#define OPENMW_MWMECHANICS_AISTATEFWD_H + +namespace MWMechanics +{ + template + class DerivedClassStorage; + + struct AiTemporaryBase; + + /// \brief Container for AI package status. + using AiState = DerivedClassStorage; +} + +#endif