diff --git a/src/app/app.cpp b/src/app/app.cpp index ab2d59e5..802eb9bf 100644 --- a/src/app/app.cpp +++ b/src/app/app.cpp @@ -37,6 +37,7 @@ #include "common/system/system.h" +#include "graphics/engine/engine.h" #include "graphics/opengl/glutil.h" #include "level/robotmain.h" diff --git a/src/graphics/engine/camera.h b/src/graphics/engine/camera.h index 0388cd91..04f9c221 100644 --- a/src/graphics/engine/camera.h +++ b/src/graphics/engine/camera.h @@ -24,8 +24,7 @@ #pragma once -#include "graphics/engine/engine.h" - +#include "graphics/core/color.h" class CObject; class CRobotMain; @@ -37,6 +36,10 @@ struct Event; namespace Gfx { +class CEngine; +class CTerrain; +class CWater; + enum class TransparencyMode : unsigned char; /** diff --git a/src/graphics/engine/engine.h b/src/graphics/engine/engine.h index 9a18df7b..58bc3885 100644 --- a/src/graphics/engine/engine.h +++ b/src/graphics/engine/engine.h @@ -148,7 +148,7 @@ struct EngineObject * \struct EngineShadowType * \brief Type of shadow drawn by the graphics engine */ -enum class EngineShadowType +enum class EngineShadowType : unsigned char { //! Normal shadow NORMAL = 0, diff --git a/src/graphics/engine/lightman.cpp b/src/graphics/engine/lightman.cpp index 34147707..c0b45605 100644 --- a/src/graphics/engine/lightman.cpp +++ b/src/graphics/engine/lightman.cpp @@ -24,6 +24,8 @@ #include "graphics/core/device.h" +#include "graphics/engine/engine.h" + #include "math/geometry.h" diff --git a/src/graphics/engine/lightman.h b/src/graphics/engine/lightman.h index bd008535..916076e8 100644 --- a/src/graphics/engine/lightman.h +++ b/src/graphics/engine/lightman.h @@ -26,7 +26,7 @@ #include "graphics/core/light.h" -#include "graphics/engine/engine.h" +#include #include @@ -35,8 +35,13 @@ namespace Gfx { +class CDevice; +class CEngine; + struct Color; +enum EngineObjectType; + /** * \struct LightProgression * \brief Describes the progression of light parameters change @@ -125,8 +130,8 @@ struct DynamicLight , used(false) , enabled(false) , priority(LIGHT_PRI_LOW) - , includeType(ENG_OBJTYPE_NULL) - , excludeType(ENG_OBJTYPE_NULL) + , includeType{} + , excludeType{} {} }; diff --git a/src/graphics/engine/lightning.cpp b/src/graphics/engine/lightning.cpp index fb5e41b2..354554ca 100644 --- a/src/graphics/engine/lightning.cpp +++ b/src/graphics/engine/lightning.cpp @@ -27,6 +27,7 @@ #include "graphics/core/transparency.h" #include "graphics/engine/camera.h" +#include "graphics/engine/engine.h" #include "graphics/engine/terrain.h" #include "level/robotmain.h" diff --git a/src/graphics/engine/particle.h b/src/graphics/engine/particle.h index f0966346..e81296b7 100644 --- a/src/graphics/engine/particle.h +++ b/src/graphics/engine/particle.h @@ -24,8 +24,7 @@ #pragma once - -#include "graphics/engine/engine.h" +#include "graphics/core/color.h" #include "object/interface/trace_drawing_object.h" @@ -42,7 +41,12 @@ class CSoundInterface; namespace Gfx { +class CDevice; +class CEngine; class CParticleRenderer; +class CTerrain; +class CWater; + struct EngineTriangle; const short MAXPARTICULE = 500; diff --git a/src/level/mainmovie.cpp b/src/level/mainmovie.cpp index e5a6f25e..d1f9107f 100644 --- a/src/level/mainmovie.cpp +++ b/src/level/mainmovie.cpp @@ -22,6 +22,8 @@ #include "app/app.h" +#include "graphics/engine/engine.h" + #include "level/robotmain.h" #include "math/geometry.h" diff --git a/src/level/parser/parserparam.h b/src/level/parser/parserparam.h index b0dd5ea7..ef168749 100644 --- a/src/level/parser/parserparam.h +++ b/src/level/parser/parserparam.h @@ -50,6 +50,13 @@ class CLevelParserParam; using CLevelParserParamUPtr = std::unique_ptr; using CLevelParserParamVec = std::vector; +namespace Gfx +{ +class CEngine; + +enum EngineObjectType; +} + class CLevelParserParam { public: diff --git a/src/level/robotmain.h b/src/level/robotmain.h index aebfc9b5..f1f89604 100644 --- a/src/level/robotmain.h +++ b/src/level/robotmain.h @@ -44,6 +44,8 @@ #include "object/tool_type.h" #include +#include +#include #include #include @@ -82,7 +84,7 @@ bool IsInSimulationConfigPhase(Phase phase); bool IsPhaseWithWorld(Phase phase); bool IsMainMenuPhase(Phase phase); - +class CApplication; class CEventQueue; class CSoundInterface; class CLevelParserLine; @@ -104,6 +106,7 @@ class CLightManager; class CWater; class CCloud; class CLightning; +class COldModelManager; class CPlanet; class CTerrain; class CModelManager; diff --git a/src/object/auto/auto.cpp b/src/object/auto/auto.cpp index b39335c6..e7d9352a 100644 --- a/src/object/auto/auto.cpp +++ b/src/object/auto/auto.cpp @@ -25,6 +25,8 @@ #include "common/event.h" #include "common/make_unique.h" +#include "graphics/engine/engine.h" + #include "level/robotmain.h" #include "level/parser/parserline.h" diff --git a/src/object/auto/autobase.cpp b/src/object/auto/autobase.cpp index 711586b9..428bc1a0 100644 --- a/src/object/auto/autobase.cpp +++ b/src/object/auto/autobase.cpp @@ -21,6 +21,7 @@ #include "object/auto/autobase.h" #include "graphics/engine/cloud.h" +#include "graphics/engine/engine.h" #include "graphics/engine/lightning.h" #include "graphics/engine/planet.h" #include "graphics/engine/terrain.h" diff --git a/src/object/auto/autoconvert.cpp b/src/object/auto/autoconvert.cpp index d1aa1319..8b6651cf 100644 --- a/src/object/auto/autoconvert.cpp +++ b/src/object/auto/autoconvert.cpp @@ -22,6 +22,8 @@ #include "common/make_unique.h" +#include "graphics/engine/engine.h" + #include "level/robotmain.h" #include "level/parser/parserline.h" diff --git a/src/object/auto/autoderrick.cpp b/src/object/auto/autoderrick.cpp index fe67a312..90126caa 100644 --- a/src/object/auto/autoderrick.cpp +++ b/src/object/auto/autoderrick.cpp @@ -22,6 +22,7 @@ #include "common/make_unique.h" +#include "graphics/engine/engine.h" #include "graphics/engine/terrain.h" #include "level/parser/parserline.h" diff --git a/src/object/auto/autodestroyer.cpp b/src/object/auto/autodestroyer.cpp index 89ff7a9e..f6147aa5 100644 --- a/src/object/auto/autodestroyer.cpp +++ b/src/object/auto/autodestroyer.cpp @@ -22,6 +22,7 @@ #include "common/make_unique.h" +#include "graphics/engine/engine.h" #include "graphics/engine/pyro_manager.h" #include "level/robotmain.h" diff --git a/src/object/auto/autoegg.cpp b/src/object/auto/autoegg.cpp index 24c3842b..d430bad4 100644 --- a/src/object/auto/autoegg.cpp +++ b/src/object/auto/autoegg.cpp @@ -22,6 +22,7 @@ #include "common/make_unique.h" +#include "graphics/engine/engine.h" #include "graphics/engine/pyro_manager.h" #include "level/parser/parser.h" diff --git a/src/object/auto/autofactory.cpp b/src/object/auto/autofactory.cpp index c1555757..dede332a 100644 --- a/src/object/auto/autofactory.cpp +++ b/src/object/auto/autofactory.cpp @@ -22,6 +22,8 @@ #include "common/make_unique.h" +#include "graphics/engine/engine.h" + #include "level/robotmain.h" #include "level/parser/parser.h" diff --git a/src/object/auto/autoflag.cpp b/src/object/auto/autoflag.cpp index 88a0b665..ee097dbd 100644 --- a/src/object/auto/autoflag.cpp +++ b/src/object/auto/autoflag.cpp @@ -20,6 +20,7 @@ #include "object/auto/autoflag.h" +#include "graphics/engine/engine.h" #include "graphics/engine/terrain.h" #include "math/geometry.h" diff --git a/src/object/auto/autohouston.cpp b/src/object/auto/autohouston.cpp index 8010b470..a4789177 100644 --- a/src/object/auto/autohouston.cpp +++ b/src/object/auto/autohouston.cpp @@ -19,6 +19,8 @@ #include "object/auto/autohouston.h" +#include "graphics/engine/engine.h" + #include "math/geometry.h" #include "object/old_object.h" diff --git a/src/object/auto/autokid.cpp b/src/object/auto/autokid.cpp index b28e3138..28d7ca18 100644 --- a/src/object/auto/autokid.cpp +++ b/src/object/auto/autokid.cpp @@ -20,6 +20,7 @@ #include "object/auto/autokid.h" +#include "graphics/engine/engine.h" #include "graphics/engine/particle.h" #include "graphics/engine/water.h" diff --git a/src/object/auto/autolabo.cpp b/src/object/auto/autolabo.cpp index 811e6149..43837cd0 100644 --- a/src/object/auto/autolabo.cpp +++ b/src/object/auto/autolabo.cpp @@ -22,6 +22,8 @@ #include "common/make_unique.h" +#include "graphics/engine/engine.h" + #include "level/robotmain.h" #include "level/parser/parserline.h" diff --git a/src/object/auto/automush.cpp b/src/object/auto/automush.cpp index f1eb096b..74e1bac8 100644 --- a/src/object/auto/automush.cpp +++ b/src/object/auto/automush.cpp @@ -22,6 +22,8 @@ #include "common/make_unique.h" +#include "graphics/engine/engine.h" + #include "level/parser/parserline.h" #include "level/parser/parserparam.h" diff --git a/src/object/auto/autonuclearplant.cpp b/src/object/auto/autonuclearplant.cpp index 4e731903..6c3a2164 100644 --- a/src/object/auto/autonuclearplant.cpp +++ b/src/object/auto/autonuclearplant.cpp @@ -22,6 +22,8 @@ #include "common/make_unique.h" +#include "graphics/engine/engine.h" + #include "level/robotmain.h" #include "level/parser/parserline.h" diff --git a/src/object/auto/autoportico.cpp b/src/object/auto/autoportico.cpp index f1611011..ee5ce6d1 100644 --- a/src/object/auto/autoportico.cpp +++ b/src/object/auto/autoportico.cpp @@ -20,6 +20,8 @@ #include "object/auto/autoportico.h" +#include "graphics/engine/engine.h" + #include "common/stringutils.h" #include "level/robotmain.h" diff --git a/src/object/auto/autopowercaptor.cpp b/src/object/auto/autopowercaptor.cpp index 4688856f..ea144cf2 100644 --- a/src/object/auto/autopowercaptor.cpp +++ b/src/object/auto/autopowercaptor.cpp @@ -22,6 +22,8 @@ #include "common/make_unique.h" +#include "graphics/engine/engine.h" + #include "level/parser/parserline.h" #include "level/parser/parserparam.h" diff --git a/src/object/auto/autopowerplant.cpp b/src/object/auto/autopowerplant.cpp index aa51573b..70311968 100644 --- a/src/object/auto/autopowerplant.cpp +++ b/src/object/auto/autopowerplant.cpp @@ -22,6 +22,7 @@ #include "common/make_unique.h" +#include "graphics/engine/engine.h" #include "graphics/engine/terrain.h" #include "level/robotmain.h" diff --git a/src/object/auto/autopowerstation.cpp b/src/object/auto/autopowerstation.cpp index dac682e9..ead05b78 100644 --- a/src/object/auto/autopowerstation.cpp +++ b/src/object/auto/autopowerstation.cpp @@ -20,6 +20,7 @@ #include "object/auto/autopowerstation.h" +#include "graphics/engine/engine.h" #include "graphics/engine/particle.h" #include "graphics/engine/terrain.h" diff --git a/src/object/auto/autoradar.cpp b/src/object/auto/autoradar.cpp index 15f040e1..3dd06fff 100644 --- a/src/object/auto/autoradar.cpp +++ b/src/object/auto/autoradar.cpp @@ -20,6 +20,8 @@ #include "object/auto/autoradar.h" +#include "graphics/engine/engine.h" + #include "math/geometry.h" #include "object/object_manager.h" diff --git a/src/object/auto/autorepair.cpp b/src/object/auto/autorepair.cpp index ef8ce766..93d2276a 100644 --- a/src/object/auto/autorepair.cpp +++ b/src/object/auto/autorepair.cpp @@ -22,6 +22,8 @@ #include "common/make_unique.h" +#include "graphics/engine/engine.h" + #include "level/parser/parserline.h" #include "level/parser/parserparam.h" diff --git a/src/object/auto/autoresearch.cpp b/src/object/auto/autoresearch.cpp index 06e30b92..996f5808 100644 --- a/src/object/auto/autoresearch.cpp +++ b/src/object/auto/autoresearch.cpp @@ -23,6 +23,8 @@ #include "common/global.h" #include "common/make_unique.h" +#include "graphics/engine/engine.h" + #include "level/robotmain.h" #include "level/parser/parserline.h" diff --git a/src/object/auto/autovault.cpp b/src/object/auto/autovault.cpp index 16ad7c2c..3d27a5b6 100644 --- a/src/object/auto/autovault.cpp +++ b/src/object/auto/autovault.cpp @@ -22,6 +22,8 @@ #include "common/make_unique.h" +#include "graphics/engine/engine.h" + #include "level/robotmain.h" #include "level/parser/parserline.h" diff --git a/src/object/motion/motionant.cpp b/src/object/motion/motionant.cpp index 3a74739e..2feca26f 100644 --- a/src/object/motion/motionant.cpp +++ b/src/object/motion/motionant.cpp @@ -22,6 +22,7 @@ #include "app/app.h" +#include "graphics/engine/engine.h" #include "graphics/engine/oldmodelmanager.h" #include "graphics/engine/particle.h" diff --git a/src/object/motion/motionbee.cpp b/src/object/motion/motionbee.cpp index 027412fc..5ca1ee36 100644 --- a/src/object/motion/motionbee.cpp +++ b/src/object/motion/motionbee.cpp @@ -22,6 +22,7 @@ #include "app/app.h" +#include "graphics/engine/engine.h" #include "graphics/engine/oldmodelmanager.h" #include "math/func.h" diff --git a/src/object/motion/motionlevelcontroller.cpp b/src/object/motion/motionlevelcontroller.cpp index 39057cd8..6b68c8e5 100644 --- a/src/object/motion/motionlevelcontroller.cpp +++ b/src/object/motion/motionlevelcontroller.cpp @@ -20,6 +20,8 @@ #include "object/motion/motionlevelcontroller.h" +#include "graphics/engine/engine.h" + #include "object/old_object.h" #include "physics/physics.h" diff --git a/src/object/motion/motionqueen.cpp b/src/object/motion/motionqueen.cpp index c36ddedd..482d8d55 100644 --- a/src/object/motion/motionqueen.cpp +++ b/src/object/motion/motionqueen.cpp @@ -22,6 +22,7 @@ #include "app/app.h" +#include "graphics/engine/engine.h" #include "graphics/engine/oldmodelmanager.h" #include "math/func.h" diff --git a/src/object/motion/motionspider.cpp b/src/object/motion/motionspider.cpp index 5a63c215..11f216b5 100644 --- a/src/object/motion/motionspider.cpp +++ b/src/object/motion/motionspider.cpp @@ -22,6 +22,7 @@ #include "app/app.h" +#include "graphics/engine/engine.h" #include "graphics/engine/oldmodelmanager.h" #include "graphics/engine/particle.h" diff --git a/src/object/motion/motiontoto.cpp b/src/object/motion/motiontoto.cpp index 3360d02c..13a54d51 100644 --- a/src/object/motion/motiontoto.cpp +++ b/src/object/motion/motiontoto.cpp @@ -22,6 +22,7 @@ #include "app/app.h" +#include "graphics/engine/engine.h" #include "graphics/engine/oldmodelmanager.h" #include "graphics/engine/terrain.h" #include "graphics/engine/water.h" diff --git a/src/object/old_object.cpp b/src/object/old_object.cpp index 1a3bd7de..79ec7bb5 100644 --- a/src/object/old_object.cpp +++ b/src/object/old_object.cpp @@ -27,6 +27,7 @@ #include "common/settings.h" #include "common/stringutils.h" +#include "graphics/engine/engine.h" #include "graphics/engine/lightman.h" #include "graphics/engine/lightning.h" #include "graphics/engine/particle.h" diff --git a/src/object/old_object.h b/src/object/old_object.h index 8772c947..cfcc8475 100644 --- a/src/object/old_object.h +++ b/src/object/old_object.h @@ -74,6 +74,11 @@ namespace Ui class CObjectInterface; } +namespace Gfx +{ +enum class EngineShadowType : unsigned char; +} + class COldObject : public CObject, public CInteractiveObject, @@ -253,7 +258,7 @@ public: CMotion* GetMotion() override; CAuto* GetAuto() override; - bool CreateShadowCircle(float radius, float intensity, Gfx::EngineShadowType type = Gfx::EngineShadowType::NORMAL); + bool CreateShadowCircle(float radius, float intensity, Gfx::EngineShadowType type = {}); bool CreateShadowLight(float height, Gfx::Color color); void FlatParent() override; diff --git a/src/object/subclass/base_building.cpp b/src/object/subclass/base_building.cpp index 5b7910bb..b37b295f 100644 --- a/src/object/subclass/base_building.cpp +++ b/src/object/subclass/base_building.cpp @@ -21,6 +21,7 @@ #include "common/make_unique.h" +#include "graphics/engine/engine.h" #include "graphics/engine/oldmodelmanager.h" #include "graphics/engine/terrain.h" diff --git a/src/object/subclass/exchange_post.cpp b/src/object/subclass/exchange_post.cpp index c9dade6e..34075984 100644 --- a/src/object/subclass/exchange_post.cpp +++ b/src/object/subclass/exchange_post.cpp @@ -22,6 +22,7 @@ #include "common/make_unique.h" #include "common/regex_utils.h" +#include "graphics/engine/engine.h" #include "graphics/engine/oldmodelmanager.h" #include "level/parser/parserexceptions.h" diff --git a/src/object/task/task.cpp b/src/object/task/task.cpp index c685c8ca..9c3885d5 100644 --- a/src/object/task/task.cpp +++ b/src/object/task/task.cpp @@ -22,6 +22,8 @@ #include "app/app.h" +#include "graphics/engine/engine.h" + #include "level/robotmain.h" #include "object/old_object.h" diff --git a/src/object/task/taskbuild.cpp b/src/object/task/taskbuild.cpp index 4dc6645a..4dfd448b 100644 --- a/src/object/task/taskbuild.cpp +++ b/src/object/task/taskbuild.cpp @@ -23,6 +23,7 @@ #include "graphics/core/color.h" #include "graphics/core/light.h" +#include "graphics/engine/engine.h" #include "graphics/engine/lightman.h" #include "graphics/engine/terrain.h" #include "graphics/engine/water.h" diff --git a/src/object/task/taskdeletemark.cpp b/src/object/task/taskdeletemark.cpp index bc0511eb..dab1cd9d 100644 --- a/src/object/task/taskdeletemark.cpp +++ b/src/object/task/taskdeletemark.cpp @@ -22,6 +22,7 @@ #include "common/global.h" +#include "graphics/engine/engine.h" #include "graphics/engine/particle.h" #include "graphics/engine/pyro_manager.h" #include "graphics/engine/terrain.h" diff --git a/src/object/task/taskfire.cpp b/src/object/task/taskfire.cpp index 2c22d87b..7770f3e9 100644 --- a/src/object/task/taskfire.cpp +++ b/src/object/task/taskfire.cpp @@ -20,6 +20,7 @@ #include "object/task/taskfire.h" +#include "graphics/engine/engine.h" #include "graphics/engine/particle.h" #include "math/geometry.h" diff --git a/src/object/task/taskfireant.cpp b/src/object/task/taskfireant.cpp index f72179ca..6a698a14 100644 --- a/src/object/task/taskfireant.cpp +++ b/src/object/task/taskfireant.cpp @@ -20,6 +20,7 @@ #include "object/task/taskfireant.h" +#include "graphics/engine/engine.h" #include "graphics/engine/particle.h" #include "math/geometry.h" diff --git a/src/object/task/taskflag.cpp b/src/object/task/taskflag.cpp index e431362d..6797edf6 100644 --- a/src/object/task/taskflag.cpp +++ b/src/object/task/taskflag.cpp @@ -19,6 +19,7 @@ #include "object/task/taskflag.h" +#include "graphics/engine/engine.h" #include "graphics/engine/particle.h" #include "graphics/engine/pyro_manager.h" #include "graphics/engine/water.h" diff --git a/src/object/task/taskgoto.cpp b/src/object/task/taskgoto.cpp index ee745fb5..7bea2d94 100644 --- a/src/object/task/taskgoto.cpp +++ b/src/object/task/taskgoto.cpp @@ -25,6 +25,7 @@ #include "common/image.h" #include "common/make_unique.h" +#include "graphics/engine/engine.h" #include "graphics/engine/terrain.h" #include "graphics/engine/water.h" diff --git a/src/object/task/taskgungoal.cpp b/src/object/task/taskgungoal.cpp index 8e666375..560538e6 100644 --- a/src/object/task/taskgungoal.cpp +++ b/src/object/task/taskgungoal.cpp @@ -20,6 +20,8 @@ #include "math/func.h" +#include "graphics/engine/engine.h" + #include "object/task/taskgungoal.h" #include "object/old_object.h" diff --git a/src/object/task/taskinfo.cpp b/src/object/task/taskinfo.cpp index 13729f33..a73e19a1 100644 --- a/src/object/task/taskinfo.cpp +++ b/src/object/task/taskinfo.cpp @@ -22,6 +22,7 @@ #include "common/global.h" +#include "graphics/engine/engine.h" #include "graphics/engine/particle.h" #include "object/object_manager.h" diff --git a/src/object/task/taskmanip.cpp b/src/object/task/taskmanip.cpp index 8d485bd9..c8530e15 100644 --- a/src/object/task/taskmanip.cpp +++ b/src/object/task/taskmanip.cpp @@ -20,6 +20,7 @@ #include "object/task/taskmanip.h" +#include "graphics/engine/engine.h" #include "graphics/engine/pyro_manager.h" #include "graphics/engine/terrain.h" diff --git a/src/object/task/taskpen.cpp b/src/object/task/taskpen.cpp index 5ef10573..ed6da7f8 100644 --- a/src/object/task/taskpen.cpp +++ b/src/object/task/taskpen.cpp @@ -19,6 +19,7 @@ #include "object/task/taskpen.h" +#include "graphics/engine/engine.h" #include "graphics/engine/particle.h" #include "math/geometry.h" diff --git a/src/object/task/taskrecover.cpp b/src/object/task/taskrecover.cpp index b2ce4bc9..b7d739f6 100644 --- a/src/object/task/taskrecover.cpp +++ b/src/object/task/taskrecover.cpp @@ -22,6 +22,7 @@ #include "common/global.h" +#include "graphics/engine/engine.h" #include "graphics/engine/particle.h" #include "level/robotmain.h" diff --git a/src/object/task/tasksearch.cpp b/src/object/task/tasksearch.cpp index 236d3a6d..1f144b8d 100644 --- a/src/object/task/tasksearch.cpp +++ b/src/object/task/tasksearch.cpp @@ -20,6 +20,7 @@ #include "object/task/tasksearch.h" +#include "graphics/engine/engine.h" #include "graphics/engine/particle.h" #include "graphics/engine/terrain.h" diff --git a/src/object/task/taskshield.cpp b/src/object/task/taskshield.cpp index 56e6702b..472f78bf 100644 --- a/src/object/task/taskshield.cpp +++ b/src/object/task/taskshield.cpp @@ -22,6 +22,7 @@ #include "graphics/core/light.h" +#include "graphics/engine/engine.h" #include "graphics/engine/lightman.h" #include "graphics/engine/particle.h" diff --git a/src/object/task/tasktake.cpp b/src/object/task/tasktake.cpp index e454a0f5..641c3554 100644 --- a/src/object/task/tasktake.cpp +++ b/src/object/task/tasktake.cpp @@ -20,6 +20,7 @@ #include "object/task/tasktake.h" +#include "graphics/engine/engine.h" #include "graphics/engine/terrain.h" #include "graphics/engine/water.h" diff --git a/src/object/task/taskterraform.cpp b/src/object/task/taskterraform.cpp index 09e6569d..943f069d 100644 --- a/src/object/task/taskterraform.cpp +++ b/src/object/task/taskterraform.cpp @@ -19,6 +19,7 @@ #include "object/task/taskterraform.h" +#include "graphics/engine/engine.h" #include "graphics/engine/particle.h" #include "graphics/engine/pyro_manager.h" #include "graphics/engine/terrain.h" diff --git a/src/object/task/taskturn.cpp b/src/object/task/taskturn.cpp index 7717baa5..004670c3 100644 --- a/src/object/task/taskturn.cpp +++ b/src/object/task/taskturn.cpp @@ -20,6 +20,7 @@ #include "object/task/taskturn.h" +#include "graphics/engine/engine.h" #include "graphics/engine/terrain.h" #include "level/robotmain.h" diff --git a/src/script/scriptfunc.cpp b/src/script/scriptfunc.cpp index 377b0607..e8d0077b 100644 --- a/src/script/scriptfunc.cpp +++ b/src/script/scriptfunc.cpp @@ -31,6 +31,7 @@ #include "common/resources/outputstream.h" #include "common/resources/resourcemanager.h" +#include "graphics/engine/engine.h" #include "graphics/engine/terrain.h" #include "graphics/engine/water.h" diff --git a/src/ui/controls/control.cpp b/src/ui/controls/control.cpp index c2816116..469bae51 100644 --- a/src/ui/controls/control.cpp +++ b/src/ui/controls/control.cpp @@ -31,6 +31,8 @@ #include "graphics/core/renderers.h" #include "graphics/core/transparency.h" +#include "graphics/engine/engine.h" + #include "math/func.h" namespace Ui diff --git a/src/ui/controls/interface.cpp b/src/ui/controls/interface.cpp index 106a9d53..efcbaf5d 100644 --- a/src/ui/controls/interface.cpp +++ b/src/ui/controls/interface.cpp @@ -22,6 +22,8 @@ #include "app/app.h" +#include "graphics/engine/engine.h" + #include "level/robotmain.h" #include "ui/controls/button.h" diff --git a/src/ui/controls/map.cpp b/src/ui/controls/map.cpp index b319af54..11fbce07 100644 --- a/src/ui/controls/map.cpp +++ b/src/ui/controls/map.cpp @@ -26,6 +26,7 @@ #include "graphics/core/renderers.h" #include "graphics/core/transparency.h" +#include "graphics/engine/engine.h" #include "graphics/engine/terrain.h" #include "graphics/engine/water.h" diff --git a/src/ui/controls/target.cpp b/src/ui/controls/target.cpp index fe9cb4db..7ef0a25d 100644 --- a/src/ui/controls/target.cpp +++ b/src/ui/controls/target.cpp @@ -20,6 +20,8 @@ #include "ui/controls/target.h" +#include "graphics/engine/engine.h" + #include "level/robotmain.h" #include "object/object_manager.h" diff --git a/src/ui/controls/window.cpp b/src/ui/controls/window.cpp index 48eda236..1ddcb9d5 100644 --- a/src/ui/controls/window.cpp +++ b/src/ui/controls/window.cpp @@ -42,6 +42,8 @@ #include "graphics/core/renderers.h" #include "graphics/core/transparency.h" +#include "graphics/engine/engine.h" + #include diff --git a/src/ui/controls/window.h b/src/ui/controls/window.h index 8e0eeace..cc37bf1e 100644 --- a/src/ui/controls/window.h +++ b/src/ui/controls/window.h @@ -21,12 +21,15 @@ #include "ui/controls/control.h" -#include "graphics/engine/engine.h" // TODO: only needed for EngineMouseType - #include #include #include +namespace Gfx +{ +enum EngineMouseType; +} + namespace Ui { @@ -147,7 +150,7 @@ protected: bool m_bCapture; glm::vec2 m_pressPos; int m_pressFlags; - Gfx::EngineMouseType m_pressMouse; + Gfx::EngineMouseType m_pressMouse; }; diff --git a/src/ui/maindialog.cpp b/src/ui/maindialog.cpp index 86147643..eb746df3 100644 --- a/src/ui/maindialog.cpp +++ b/src/ui/maindialog.cpp @@ -29,6 +29,8 @@ #include "common/make_unique.h" #include "common/settings.h" +#include "graphics/engine/engine.h" + #include "level/player_profile.h" #include "level/robotmain.h" diff --git a/src/ui/mainmap.cpp b/src/ui/mainmap.cpp index 3f155a56..454c5864 100644 --- a/src/ui/mainmap.cpp +++ b/src/ui/mainmap.cpp @@ -22,6 +22,8 @@ #include "app/app.h" +#include "graphics/engine/engine.h" + #include "level/robotmain.h" #include "ui/controls/interface.h" diff --git a/src/ui/mainshort.cpp b/src/ui/mainshort.cpp index 29652971..448de350 100644 --- a/src/ui/mainshort.cpp +++ b/src/ui/mainshort.cpp @@ -25,6 +25,8 @@ #include "common/logger.h" +#include "graphics/engine/engine.h" + #include "level/robotmain.h" #include "object/object.h" diff --git a/src/ui/mainui.cpp b/src/ui/mainui.cpp index ded71b4f..a82ed74e 100644 --- a/src/ui/mainui.cpp +++ b/src/ui/mainui.cpp @@ -63,6 +63,8 @@ #include "graphics/core/transparency.h" +#include "graphics/engine/engine.h" + namespace Ui { diff --git a/src/ui/object_interface.cpp b/src/ui/object_interface.cpp index a2e96ff6..9ba98e30 100644 --- a/src/ui/object_interface.cpp +++ b/src/ui/object_interface.cpp @@ -26,6 +26,7 @@ #include "graphics/core/color.h" +#include "graphics/engine/engine.h" #include "graphics/engine/terrain.h" #include "graphics/engine/water.h" diff --git a/src/ui/particles_generator.cpp b/src/ui/particles_generator.cpp index fa44e000..7281dc70 100644 --- a/src/ui/particles_generator.cpp +++ b/src/ui/particles_generator.cpp @@ -19,6 +19,7 @@ #include "ui/particles_generator.h" +#include "graphics/engine/engine.h" #include "graphics/engine/particle.h" #include "math/func.h" diff --git a/src/ui/screen/screen_apperance.cpp b/src/ui/screen/screen_apperance.cpp index 42eb134a..1b9988d4 100644 --- a/src/ui/screen/screen_apperance.cpp +++ b/src/ui/screen/screen_apperance.cpp @@ -24,6 +24,7 @@ #include "common/restext.h" #include "graphics/engine/camera.h" +#include "graphics/engine/engine.h" #include "level/player_profile.h" #include "level/robotmain.h" diff --git a/src/ui/screen/screen_io.cpp b/src/ui/screen/screen_io.cpp index 6ecd02ed..0e1550cd 100644 --- a/src/ui/screen/screen_io.cpp +++ b/src/ui/screen/screen_io.cpp @@ -23,6 +23,8 @@ #include "common/restext.h" #include "common/stringutils.h" +#include "graphics/engine/engine.h" + #include "level/player_profile.h" #include "level/robotmain.h" diff --git a/src/ui/screen/screen_loading.cpp b/src/ui/screen/screen_loading.cpp index c7404897..2af9fcb7 100644 --- a/src/ui/screen/screen_loading.cpp +++ b/src/ui/screen/screen_loading.cpp @@ -29,6 +29,8 @@ #include "ui/controls/label.h" #include "ui/controls/window.h" +#include "graphics/engine/engine.h" + namespace Ui { diff --git a/src/ui/screen/screen_setup_display.cpp b/src/ui/screen/screen_setup_display.cpp index e073947c..44d463c4 100644 --- a/src/ui/screen/screen_setup_display.cpp +++ b/src/ui/screen/screen_setup_display.cpp @@ -28,6 +28,7 @@ #include "common/stringutils.h" #include "graphics/engine/camera.h" +#include "graphics/engine/engine.h" #include "ui/controls/button.h" #include "ui/controls/check.h" diff --git a/src/ui/screen/screen_setup_game.cpp b/src/ui/screen/screen_setup_game.cpp index 05959bc1..66946c7b 100644 --- a/src/ui/screen/screen_setup_game.cpp +++ b/src/ui/screen/screen_setup_game.cpp @@ -26,6 +26,7 @@ #include "common/stringutils.h" #include "graphics/engine/camera.h" +#include "graphics/engine/engine.h" #include "ui/controls/button.h" #include "ui/controls/check.h" diff --git a/src/ui/screen/screen_setup_graphics.cpp b/src/ui/screen/screen_setup_graphics.cpp index 5b573952..e26746eb 100644 --- a/src/ui/screen/screen_setup_graphics.cpp +++ b/src/ui/screen/screen_setup_graphics.cpp @@ -28,6 +28,7 @@ #include "common/stringutils.h" #include "graphics/engine/camera.h" +#include "graphics/engine/engine.h" #include "math/func.h" diff --git a/src/ui/studio.h b/src/ui/studio.h index ddd89d52..94b8005c 100644 --- a/src/ui/studio.h +++ b/src/ui/studio.h @@ -19,18 +19,31 @@ #pragma once -#include "graphics/engine/camera.h" - +#include #include +#include + +class CApplication; class CEventQueue; +class CFileDialog; +class CRobotMain; class CScript; -class CSoundInterface; class CSettings; -struct Program; +class CSoundInterface; class CPauseManager; + struct ActivePause; struct Event; +struct Program; + +namespace Gfx +{ +class CCamera; +class CEngine; + +enum CameraType; +} namespace Ui {