From e8f6127779423dbe417184a629a65e9723a155e7 Mon Sep 17 00:00:00 2001 From: SmallJoker Date: Sat, 4 Jan 2025 12:39:34 +0100 Subject: [PATCH] Reduce irrlicht_extrabloated.h includes in header files --- irr/include/IGUIButton.h | 1 + irr/include/IGUIElement.h | 3 ++- irr/include/IGUIImage.h | 1 + src/activeobjectmgr.h | 1 - src/chat_interface.h | 5 ++--- src/client/client.cpp | 1 + src/client/content_cao.h | 16 ++++++++++++---- src/client/inputhandler.h | 1 + src/client/joystick_controller.h | 4 +++- src/client/mapblock_mesh.h | 9 ++++++++- src/client/mesh.cpp | 4 +++- src/client/mesh.h | 12 +++++++++++- src/client/minimap.h | 23 ++++++++++++++++++++--- src/client/particles.cpp | 2 ++ src/client/particles.h | 13 +++++++++++-- src/content/content.h | 3 +-- src/debug.h | 3 +-- src/emerge.h | 1 - src/gui/mainmenumanager.h | 6 ++++++ src/gui/modalMenu.h | 4 +++- src/gui/touchscreeneditor.h | 1 + src/network/serverpackethandler.cpp | 1 + src/objdef.cpp | 3 +++ src/objdef.h | 5 +++-- src/reflowscan.h | 3 ++- src/server.cpp | 1 + src/server/clientiface.cpp | 1 + src/server/clientiface.h | 18 +++++++++--------- src/servermap.h | 4 ++-- src/unittest/test.h | 2 +- src/unittest/test_compression.cpp | 1 - 31 files changed, 113 insertions(+), 40 deletions(-) diff --git a/irr/include/IGUIButton.h b/irr/include/IGUIButton.h index 8870f8b1c..fdee609d9 100644 --- a/irr/include/IGUIButton.h +++ b/irr/include/IGUIButton.h @@ -5,6 +5,7 @@ #pragma once #include "IGUIElement.h" +#include "SColor.h" namespace irr { diff --git a/irr/include/IGUIElement.h b/irr/include/IGUIElement.h index 429bc06b3..cdd3d7487 100644 --- a/irr/include/IGUIElement.h +++ b/irr/include/IGUIElement.h @@ -10,7 +10,6 @@ #include "IEventReceiver.h" #include "EGUIElementTypes.h" #include "EGUIAlignment.h" -#include "IGUIEnvironment.h" #include #include #include @@ -19,6 +18,8 @@ namespace irr { namespace gui { +class IGUIEnvironment; + //! Base class of all GUI elements. class IGUIElement : virtual public IReferenceCounted, public IEventReceiver { diff --git a/irr/include/IGUIImage.h b/irr/include/IGUIImage.h index 33453a3cd..cc3c66eb9 100644 --- a/irr/include/IGUIImage.h +++ b/irr/include/IGUIImage.h @@ -5,6 +5,7 @@ #pragma once #include "IGUIElement.h" +#include "SColor.h" namespace irr { diff --git a/src/activeobjectmgr.h b/src/activeobjectmgr.h index 943147160..a9b007018 100644 --- a/src/activeobjectmgr.h +++ b/src/activeobjectmgr.h @@ -5,7 +5,6 @@ #pragma once #include -#include "debug.h" #include "util/container.h" #include "irrlichttypes.h" #include "util/basic_macros.h" diff --git a/src/chat_interface.h b/src/chat_interface.h index 1276c3a23..6ee1451db 100644 --- a/src/chat_interface.h +++ b/src/chat_interface.h @@ -4,10 +4,9 @@ #pragma once -#include "util/container.h" -#include -#include #include "irrlichttypes.h" +#include "util/container.h" // MutexedQueue +#include enum ChatEventType { CET_CHAT, diff --git a/src/client/client.cpp b/src/client/client.cpp index 222c1a2ac..b709f8cbf 100644 --- a/src/client/client.cpp +++ b/src/client/client.cpp @@ -37,6 +37,7 @@ #include "profiler.h" #include "shader.h" #include "gettext.h" +#include "gettime.h" #include "clientdynamicinfo.h" #include "clientmap.h" #include "clientmedia.h" diff --git a/src/client/content_cao.h b/src/client/content_cao.h index 1115b6819..a6b9beeab 100644 --- a/src/client/content_cao.h +++ b/src/client/content_cao.h @@ -4,15 +4,23 @@ #pragma once -#include -#include "irrlichttypes_extrabloated.h" -#include "clientobject.h" +#include "EMaterialTypes.h" +#include "IDummyTransformationSceneNode.h" +#include "irrlichttypes.h" + #include "object_properties.h" -#include "itemgroup.h" +#include "clientobject.h" #include "constants.h" +#include "itemgroup.h" #include +#include #include +namespace irr::scene { + class IMeshSceneNode; + class IBillboardSceneNode; +} + class Camera; class Client; struct Nametag; diff --git a/src/client/inputhandler.h b/src/client/inputhandler.h index b34c22d78..542c41bc7 100644 --- a/src/client/inputhandler.h +++ b/src/client/inputhandler.h @@ -5,6 +5,7 @@ #pragma once #include "irrlichttypes.h" +#include "irr_v2d.h" #include "joystick_controller.h" #include #include "keycode.h" diff --git a/src/client/joystick_controller.h b/src/client/joystick_controller.h index c5302b533..d7bf4230e 100644 --- a/src/client/joystick_controller.h +++ b/src/client/joystick_controller.h @@ -4,7 +4,9 @@ #pragma once -#include "irrlichttypes_extrabloated.h" +#include +#include "irrlichttypes.h" + #include "keys.h" #include #include diff --git a/src/client/mapblock_mesh.h b/src/client/mapblock_mesh.h index e7cadb3db..0b9b437db 100644 --- a/src/client/mapblock_mesh.h +++ b/src/client/mapblock_mesh.h @@ -4,8 +4,11 @@ #pragma once -#include "irrlichttypes_extrabloated.h" +#include "irrlichttypes.h" #include "irr_ptr.h" +#include "IMesh.h" +#include "SMeshBuffer.h" + #include "util/numeric.h" #include "client/tile.h" #include "voxel.h" @@ -13,6 +16,10 @@ #include #include +namespace irr::video { + class IVideoDriver; +} + class Client; class NodeDefManager; class IShaderSource; diff --git a/src/client/mesh.cpp b/src/client/mesh.cpp index cd2e9a91d..a2c0ae327 100644 --- a/src/client/mesh.cpp +++ b/src/client/mesh.cpp @@ -3,7 +3,6 @@ // Copyright (C) 2010-2013 celeron55, Perttu Ahola #include "mesh.h" -#include "S3DVertex.h" #include "debug.h" #include "log.h" #include @@ -11,6 +10,9 @@ #include #include #include +#include "S3DVertex.h" +#include "SMesh.h" +#include "SMeshBuffer.h" inline static void applyShadeFactor(video::SColor& color, float factor) { diff --git a/src/client/mesh.h b/src/client/mesh.h index 3345e24f7..d8eb6080e 100644 --- a/src/client/mesh.h +++ b/src/client/mesh.h @@ -4,10 +4,20 @@ #pragma once +#include "SColor.h" #include "SMaterialLayer.h" -#include "irrlichttypes_extrabloated.h" #include "nodedef.h" +namespace irr { + namespace scene { + class IAnimatedMesh; + class IMesh; + class IMeshBuffer; + } +} + +using namespace irr; + /*! * Applies shading to a color based on the surface's * normal vector. diff --git a/src/client/minimap.h b/src/client/minimap.h index 15112d565..36c900134 100644 --- a/src/client/minimap.h +++ b/src/client/minimap.h @@ -4,18 +4,35 @@ #pragma once -#include "../hud.h" -#include "irrlichttypes_extrabloated.h" +#include "irrlichttypes.h" #include "irr_ptr.h" +#include "rect.h" +#include "SMeshBuffer.h" + +#include "../hud.h" +#include "mapnode.h" #include "util/thread.h" -#include "voxel.h" #include #include #include +namespace irr { + namespace video { + class IVideoDriver; + class IImage; + class ITexture; + } + + namespace scene { + class ISceneNode; + } +} + class Client; +class NodeDefManager; class ITextureSource; class IShaderSource; +class VoxelManipulator; #define MINIMAP_MAX_SX 512 #define MINIMAP_MAX_SY 512 diff --git a/src/client/particles.cpp b/src/client/particles.cpp index cd9b9b736..693e5f00c 100644 --- a/src/client/particles.cpp +++ b/src/client/particles.cpp @@ -22,6 +22,8 @@ #include "settings.h" #include "profiler.h" +#include "SMeshBuffer.h" + using BlendMode = ParticleParamTypes::BlendMode; ClientParticleTexture::ClientParticleTexture(const ServerParticleTexture& p, ITextureSource *tsrc) diff --git a/src/client/particles.h b/src/client/particles.h index 619877744..72294a552 100644 --- a/src/client/particles.h +++ b/src/client/particles.h @@ -4,12 +4,21 @@ #pragma once +#include "irrlichttypes_bloated.h" +#include "irr_ptr.h" +#include "ISceneNode.h" +#include "S3DVertex.h" +#include "SMeshBuffer.h" + +#include #include #include -#include "irrlichttypes_extrabloated.h" -#include "irr_ptr.h" #include "../particles.h" +namespace irr::video { + class ITexture; +} + struct ClientEvent; class ParticleManager; class ClientEnvironment; diff --git a/src/content/content.h b/src/content/content.h index 2a98efe11..215a28174 100644 --- a/src/content/content.h +++ b/src/content/content.h @@ -3,9 +3,8 @@ // Copyright (C) 2018 rubenwardy #pragma once -#include "config.h" -#include "convert_json.h" #include "irrlichttypes.h" +#include enum class ContentType { diff --git a/src/debug.h b/src/debug.h index e1c9c6298..ecd3f8e18 100644 --- a/src/debug.h +++ b/src/debug.h @@ -6,8 +6,7 @@ #include #include -#include "gettime.h" -#include "log.h" +#include "log.h" // unused. for convenience. #ifdef _MSC_VER #define FUNCTION_NAME __FUNCTION__ diff --git a/src/emerge.h b/src/emerge.h index 85ce9875f..c7a7d62d4 100644 --- a/src/emerge.h +++ b/src/emerge.h @@ -8,7 +8,6 @@ #include #include "network/networkprotocol.h" #include "irr_v3d.h" -#include "util/container.h" #include "util/metricsbackend.h" #include "mapgen/mapgen.h" // for MapgenParams #include "map.h" diff --git a/src/gui/mainmenumanager.h b/src/gui/mainmenumanager.h index 9d10e3960..87751bb62 100644 --- a/src/gui/mainmenumanager.h +++ b/src/gui/mainmenumanager.h @@ -11,6 +11,12 @@ #include #include +#include "IGUIEnvironment.h" + +namespace irr::gui { + class IGUIStaticText; +} + class IGameCallback { public: diff --git a/src/gui/modalMenu.h b/src/gui/modalMenu.h index 62cbcfc1d..81888e866 100644 --- a/src/gui/modalMenu.h +++ b/src/gui/modalMenu.h @@ -4,8 +4,10 @@ #pragma once -#include "irrlichttypes_extrabloated.h" +#include "IGUIElement.h" +#include "irrlichttypes_bloated.h" #include "irr_ptr.h" + #include "util/string.h" #ifdef __ANDROID__ #include diff --git a/src/gui/touchscreeneditor.h b/src/gui/touchscreeneditor.h index dc06fb224..6c70eb693 100644 --- a/src/gui/touchscreeneditor.h +++ b/src/gui/touchscreeneditor.h @@ -13,6 +13,7 @@ class ISimpleTextureSource; namespace irr::gui { + class IGUIButton; class IGUIImage; } diff --git a/src/network/serverpackethandler.cpp b/src/network/serverpackethandler.cpp index cf1dcacb1..89fe3bf22 100644 --- a/src/network/serverpackethandler.cpp +++ b/src/network/serverpackethandler.cpp @@ -18,6 +18,7 @@ #include "version.h" #include "irrlicht_changes/printing.h" #include "network/connection.h" +#include "network/networkpacket.h" #include "network/networkprotocol.h" #include "network/serveropcodes.h" #include "server/player_sao.h" diff --git a/src/objdef.cpp b/src/objdef.cpp index f61d12f30..b8b11b7b7 100644 --- a/src/objdef.cpp +++ b/src/objdef.cpp @@ -6,6 +6,9 @@ #include "util/numeric.h" #include "log.h" #include "gamedef.h" +#include "porting.h" // strcasecmp + +#include ObjDefManager::ObjDefManager(IGameDef *gamedef, ObjDefType type) { diff --git a/src/objdef.h b/src/objdef.h index 93dd78837..ec52aa831 100644 --- a/src/objdef.h +++ b/src/objdef.h @@ -4,8 +4,9 @@ #pragma once -#include "util/basic_macros.h" -#include "porting.h" +#include "util/basic_macros.h" // DISABLE_CLASS_COPY +#include "irrlichttypes.h" +#include #include class IGameDef; diff --git a/src/reflowscan.h b/src/reflowscan.h index 66fec9ea6..70890c9bc 100644 --- a/src/reflowscan.h +++ b/src/reflowscan.h @@ -5,7 +5,8 @@ #pragma once #include "util/container.h" -#include "irrlichttypes_bloated.h" +#include "irrlichttypes.h" +#include "irr_v3d.h" class NodeDefManager; class Map; diff --git a/src/server.cpp b/src/server.cpp index 1556de406..92860cbbf 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -8,6 +8,7 @@ #include #include "irr_v2d.h" #include "network/connection.h" +#include "network/networkpacket.h" #include "network/networkprotocol.h" #include "network/serveropcodes.h" #include "server/ban.h" diff --git a/src/server/clientiface.cpp b/src/server/clientiface.cpp index b114c6c84..d05fedbb2 100644 --- a/src/server/clientiface.cpp +++ b/src/server/clientiface.cpp @@ -6,6 +6,7 @@ #include "clientiface.h" #include "debug.h" #include "network/connection.h" +#include "network/networkpacket.h" #include "network/serveropcodes.h" #include "remoteplayer.h" #include "serialization.h" // SER_FMT_VER_INVALID diff --git a/src/server/clientiface.h b/src/server/clientiface.h index 294bcbd26..5324ee727 100644 --- a/src/server/clientiface.h +++ b/src/server/clientiface.h @@ -6,25 +6,25 @@ #include "irr_v3d.h" // for irrlicht datatypes -#include "constants.h" -#include "network/networkpacket.h" -#include "network/networkprotocol.h" #include "network/address.h" +#include "network/networkprotocol.h" // session_t #include "porting.h" #include "threading/mutex_auto_lock.h" #include "clientdynamicinfo.h" #include -#include -#include -#include -#include #include #include +#include +#include +#include +#include +#include -class MapBlock; -class ServerEnvironment; class EmergeManager; +class MapBlock; +class NetworkPacket; +class ServerEnvironment; /* * State Transitions diff --git a/src/servermap.h b/src/servermap.h index 203020006..73b35e38f 100644 --- a/src/servermap.h +++ b/src/servermap.h @@ -8,8 +8,8 @@ #include #include "map.h" -#include "util/container.h" -#include "util/metricsbackend.h" +#include "util/container.h" // UniqueQueue +#include "util/metricsbackend.h" // ptr typedefs #include "map_settings_manager.h" class Settings; diff --git a/src/unittest/test.h b/src/unittest/test.h index cc772f670..dcecb9fb4 100644 --- a/src/unittest/test.h +++ b/src/unittest/test.h @@ -9,7 +9,7 @@ #include #include -#include "irrlichttypes_extrabloated.h" +#include "irrlichttypes_bloated.h" #include "porting.h" #include "filesys.h" #include "mapnode.h" diff --git a/src/unittest/test_compression.cpp b/src/unittest/test_compression.cpp index ad8dba2fc..35c500a52 100644 --- a/src/unittest/test_compression.cpp +++ b/src/unittest/test_compression.cpp @@ -6,7 +6,6 @@ #include -#include "irrlichttypes_extrabloated.h" #include "log.h" #include "serialization.h" #include "nodedef.h"