From 3f7f55d24f8adbfaa6e534734e955fb3c37792ff Mon Sep 17 00:00:00 2001
From: Andrei Karas <akaras@inbox.ru>
Date: Mon, 16 Mar 2015 23:58:40 +0300
Subject: Remove useless includes from .h files.

---
 src/actions/actions.cpp                  | 1 +
 src/actormanager.cpp                     | 1 +
 src/animatedsprite.h                     | 2 --
 src/being/actorsprite.h                  | 3 ---
 src/being/being.cpp                      | 1 +
 src/being/being.h                        | 2 --
 src/being/localplayer.cpp                | 2 ++
 src/being/localplayer.h                  | 2 --
 src/being/playerinfo.cpp                 | 1 +
 src/beingequipbackend.cpp                | 2 ++
 src/client.cpp                           | 1 +
 src/client.h                             | 6 ------
 src/configuration.h                      | 4 ----
 src/effectmanager.h                      | 1 -
 src/eventsmanager.h                      | 2 --
 src/game.cpp                             | 4 ++++
 src/graphicsmanager.h                    | 1 -
 src/gui/dialogsmanager.cpp               | 2 ++
 src/gui/fonts/font.h                     | 2 --
 src/gui/fonts/textchunklist.h            | 1 -
 src/gui/models/avatarlistmodel.h         | 2 --
 src/gui/models/beingslistmodel.h         | 2 --
 src/gui/models/ignorechoiceslistmodel.h  | 2 --
 src/gui/models/itemsmodel.h              | 2 --
 src/gui/models/serverslistmodel.h        | 5 -----
 src/gui/models/shopitems.h               | 1 -
 src/gui/models/skillmodel.h              | 2 --
 src/gui/models/sortlistmodelinv.h        | 2 --
 src/gui/models/updatelistmodel.h         | 2 --
 src/gui/models/userstablemodel.h         | 1 -
 src/gui/palette.h                        | 2 --
 src/gui/popups/createpartypopup.h        | 1 -
 src/gui/popups/speechbubble.h            | 2 --
 src/gui/skin.h                           | 3 ---
 src/gui/theme.h                          | 2 --
 src/gui/viewport.h                       | 2 --
 src/gui/widgets/avatarlistbox.cpp        | 3 +++
 src/gui/widgets/avatarlistbox.h          | 4 ----
 src/gui/widgets/basiccontainer.h         | 3 ---
 src/gui/widgets/browserbox.h             | 3 ---
 src/gui/widgets/button.cpp               | 2 ++
 src/gui/widgets/characterviewbase.h      | 2 --
 src/gui/widgets/emotepage.cpp            | 2 ++
 src/gui/widgets/emoteshortcutcontainer.h | 2 --
 src/gui/widgets/guitable.h               | 2 --
 src/gui/widgets/itemcontainer.h          | 2 --
 src/gui/widgets/listbox.h                | 2 --
 src/gui/widgets/playerbox.cpp            | 2 ++
 src/gui/widgets/popup.cpp                | 2 ++
 src/gui/widgets/progressbar.cpp          | 2 ++
 src/gui/widgets/progressbar.h            | 2 --
 src/gui/widgets/scrollarea.cpp           | 2 ++
 src/gui/widgets/serverslistbox.h         | 4 ----
 src/gui/widgets/setupitem.h              | 1 -
 src/gui/widgets/shortcutcontainer.cpp    | 2 ++
 src/gui/widgets/skilldata.h              | 2 ++
 src/gui/widgets/skillinfo.h              | 2 +-
 src/gui/widgets/skilllistbox.h           | 7 +++----
 src/gui/widgets/slider.cpp               | 2 ++
 src/gui/widgets/statuswindowattrs.h      | 2 --
 src/gui/widgets/tabs/chat/chattab.cpp    | 4 ++++
 src/gui/widgets/tabs/setup_input.h       | 2 --
 src/gui/widgets/tabs/setup_relations.h   | 2 --
 src/gui/widgets/tabs/setup_video.cpp     | 2 ++
 src/gui/widgets/tabs/setuptab.h          | 2 --
 src/gui/widgets/tabs/setuptabscroll.h    | 3 ---
 src/gui/widgets/tabs/skilltab.h          | 2 --
 src/gui/widgets/tabs/socialattacktab.h   | 2 --
 src/gui/widgets/tabs/socialfriendstab.h  | 2 --
 src/gui/widgets/tabs/socialguildtab.h    | 1 -
 src/gui/widgets/tabs/socialpickuptab.h   | 2 --
 src/gui/widgets/tabs/socialtabbase.h     | 2 --
 src/gui/widgets/tabs/tab.cpp             | 2 ++
 src/gui/widgets/vertcontainer.h          | 2 --
 src/gui/widgets/widget.h                 | 5 -----
 src/gui/widgets/widget2.h                | 2 --
 src/gui/widgets/window.cpp               | 2 ++
 src/gui/widgets/window.h                 | 2 --
 src/gui/widgets/windowcontainer.h        | 2 --
 src/gui/windowmenu.h                     | 5 -----
 src/gui/windows/botcheckerwindow.cpp     | 1 +
 src/gui/windows/botcheckerwindow.h       | 2 --
 src/gui/windows/changeemaildialog.cpp    | 1 +
 src/gui/windows/changepassworddialog.cpp | 1 +
 src/gui/windows/charselectdialog.cpp     | 1 +
 src/gui/windows/charselectdialog.h       | 2 --
 src/gui/windows/chatwindow.h             | 4 ----
 src/gui/windows/equipmentwindow.cpp      | 2 ++
 src/gui/windows/equipmentwindow.h        | 2 --
 src/gui/windows/helpwindow.h             | 3 ---
 src/gui/windows/inventorywindow.cpp      | 1 +
 src/gui/windows/itemamountwindow.cpp     | 4 ++++
 src/gui/windows/killstats.cpp            | 4 ++++
 src/gui/windows/logindialog.h            | 2 --
 src/gui/windows/minimap.cpp              | 1 +
 src/gui/windows/ministatuswindow.cpp     | 1 +
 src/gui/windows/ministatuswindow.h       | 2 --
 src/gui/windows/npcdialog.h              | 6 ------
 src/gui/windows/questswindow.h           | 3 ---
 src/gui/windows/quitdialog.h             | 2 --
 src/gui/windows/registerdialog.cpp       | 1 +
 src/gui/windows/serverdialog.h           | 2 --
 src/gui/windows/setupwindow.h            | 2 --
 src/gui/windows/skilldialog.cpp          | 1 +
 src/gui/windows/socialwindow.h           | 3 ---
 src/gui/windows/statuswindow.cpp         | 2 ++
 src/gui/windows/statuswindow.h           | 2 --
 src/gui/windows/tradewindow.h            | 2 --
 src/gui/windows/unregisterdialog.cpp     | 1 +
 src/gui/windows/updaterwindow.h          | 3 ---
 src/gui/windows/whoisonline.h            | 4 ----
 src/guild.h                              | 2 --
 src/input/inputactiondata.h              | 2 --
 src/input/inputactionmap.h               | 5 -----
 src/input/inputmanager.cpp               | 1 +
 src/input/inputmanager.h                 | 1 -
 src/input/joystick.h                     | 3 ---
 src/input/keyboardconfig.h               | 2 --
 src/input/keyinput.h                     | 2 --
 src/inventory.cpp                        | 1 +
 src/item.h                               | 2 --
 src/listeners/actionlistener.h           | 2 --
 src/listeners/focuslistener.h            | 2 --
 src/listeners/openurllistener.h          | 2 --
 src/listeners/playerlistener.h           | 2 --
 src/listeners/playerpostdeathlistener.h  | 2 --
 src/listeners/requesttradelistener.h     | 5 -----
 src/listeners/selectionlistener.h        | 2 --
 src/listeners/tablemodellistener.h       | 3 ---
 src/listeners/weightlistener.h           | 2 --
 src/listeners/widgetdeathlistener.h      | 2 --
 src/listeners/widgetlistener.h           | 2 --
 src/mumblemanager.h                      | 2 --
 src/net/adminhandler.h                   | 6 +++---
 src/net/charserverhandler.h              | 3 ---
 src/net/chathandler.h                    | 2 --
 src/net/ea/equipbackend.h                | 2 --
 src/net/ea/inventoryhandler.h            | 1 -
 src/net/ea/itemhandler.cpp               | 2 ++
 src/net/ea/itemhandler.h                 | 2 --
 src/net/ea/loginhandler.cpp              | 1 +
 src/net/ea/loginhandler.h                | 2 --
 src/net/ea/network.h                     | 4 ----
 src/net/ea/playerhandler.cpp             | 1 +
 src/net/ea/tradehandler.cpp              | 1 +
 src/net/eathena/adminhandler.cpp         | 2 ++
 src/net/eathena/loginhandler.h           | 2 --
 src/net/eathena/messagehandler.h         | 2 --
 src/net/gamehandler.h                    | 2 --
 src/net/guildhandler.h                   | 2 --
 src/net/inventoryhandler.h               | 4 ----
 src/net/ipc.h                            | 2 --
 src/net/logindata.h                      | 2 --
 src/net/loginhandler.h                   | 4 +---
 src/net/messagehandler.h                 | 4 ----
 src/net/partyhandler.h                   | 2 --
 src/net/playerhandler.h                  | 3 +--
 src/net/questhandler.h                   | 2 --
 src/net/serverinfo.h                     | 5 -----
 src/net/tmwa/loginhandler.h              | 2 --
 src/net/tmwa/messagehandler.h            | 2 --
 src/net/tradehandler.h                   | 2 --
 src/particle/particle.h                  | 3 ---
 src/particle/particleemitterprop.h       | 1 -
 src/particle/particleinfo.h              | 1 -
 src/render/graphics.h                    | 1 +
 src/render/mgl.h                         | 1 +
 src/render/mgltypes.h                    | 1 +
 src/render/mglx.h                        | 1 +
 src/render/mglxtypes.h                   | 1 +
 src/render/mobileopenglgraphics.h        | 3 ---
 src/render/modernopenglgraphics.h        | 3 ---
 src/render/normalopenglgraphics.h        | 3 ---
 src/render/nullopenglgraphics.h          | 3 ---
 src/render/rendererslistsdl2.h           | 6 ++----
 src/render/safeopenglgraphics.h          | 1 -
 src/resources/animation.h                | 1 -
 src/resources/beinginfo.h                | 2 --
 src/resources/beingmenuitem.h            | 4 ++--
 src/resources/chatobject.h               | 2 --
 src/resources/db/mapdb.h                 | 2 --
 src/resources/db/moddb.h                 | 2 --
 src/resources/dyecolor.h                 | 2 --
 src/resources/fboinfo.h                  | 1 -
 src/resources/image.h                    | 1 -
 src/resources/imagehelper.h              | 2 --
 src/resources/iteminfo.h                 | 2 --
 src/resources/itemtypemapdata.h          | 2 --
 src/resources/map/map.h                  | 1 -
 src/resources/map/maplayer.cpp           | 1 +
 src/resources/map/maplayer.h             | 3 ---
 src/resources/map/maprowvertexes.h       | 2 --
 src/resources/map/properties.h           | 1 -
 src/resources/mapreader.h                | 2 --
 src/resources/modinfo.h                  | 2 +-
 src/resources/notifications.h            | 2 --
 src/resources/questitem.h                | 1 -
 src/resources/resource.h                 | 3 ---
 src/resources/resourcemanager.h          | 3 ---
 src/resources/subimage.h                 | 1 -
 src/resources/wallpaper.cpp              | 4 ++++
 src/settings.h                           | 1 -
 src/soundmanager.h                       | 2 --
 src/spellmanager.cpp                     | 1 +
 src/spellmanager.h                       | 3 ---
 src/test/testlauncher.h                  | 2 --
 src/test/testmain.h                      | 1 -
 src/text.h                               | 2 --
 src/touchmanager.h                       | 1 -
 src/utils/dtor.h                         | 1 -
 src/utils/files.h                        | 2 --
 src/utils/gettexthelper.h                | 4 ++++
 src/utils/mathutils.h                    | 1 -
 src/utils/mutex.h                        | 2 --
 src/utils/sdlhelper.h                    | 2 ++
 src/utils/stringutils.cpp                | 4 ++++
 src/utils/translation/podict.h           | 2 +-
 src/utils/translation/poparser.h         | 1 -
 218 files changed, 113 insertions(+), 366 deletions(-)

(limited to 'src')

diff --git a/src/actions/actions.cpp b/src/actions/actions.cpp
index 516fa8a36..046621edc 100644
--- a/src/actions/actions.cpp
+++ b/src/actions/actions.cpp
@@ -34,6 +34,7 @@
 #include "actions/actiondef.h"
 
 #include "being/localplayer.h"
+#include "being/playerinfo.h"
 
 #include "enums/being/attributes.h"
 
diff --git a/src/actormanager.cpp b/src/actormanager.cpp
index 29548fb22..d4748fce2 100644
--- a/src/actormanager.cpp
+++ b/src/actormanager.cpp
@@ -25,6 +25,7 @@
 #include "configuration.h"
 #include "settings.h"
 
+#include "being/playerinfo.h"
 #include "being/playerrelations.h"
 
 #include "enums/being/attributes.h"
diff --git a/src/animatedsprite.h b/src/animatedsprite.h
index 0d9c8e41e..d2a43fff4 100644
--- a/src/animatedsprite.h
+++ b/src/animatedsprite.h
@@ -25,8 +25,6 @@
 
 #include "sprite.h"
 
-#include <string>
-
 class Animation;
 class AnimationDelayLoad;
 struct Frame;
diff --git a/src/being/actorsprite.h b/src/being/actorsprite.h
index 9dfbef8d4..c633e8119 100644
--- a/src/being/actorsprite.h
+++ b/src/being/actorsprite.h
@@ -35,9 +35,6 @@
 #include "particle/particlelist.h"
 #include "particle/particlevector.h"
 
-#include <set>
-#include <list>
-
 #include "localconsts.h"
 
 class AnimatedSprite;
diff --git a/src/being/being.cpp b/src/being/being.cpp
index 468e2b066..e37d29fd1 100644
--- a/src/being/being.cpp
+++ b/src/being/being.cpp
@@ -36,6 +36,7 @@
 #include "being/beingcacheentry.h"
 #include "being/beingflag.h"
 #include "being/beingspeech.h"
+#include "being/playerinfo.h"
 #include "being/playerrelations.h"
 
 #include "enums/being/attributes.h"
diff --git a/src/being/being.h b/src/being/being.h
index 8d4ec6069..06f957d61 100644
--- a/src/being/being.h
+++ b/src/being/being.h
@@ -36,8 +36,6 @@
 
 #include "listeners/configlistener.h"
 
-#include <map>
-
 #include "localconsts.h"
 
 static const unsigned int FIRST_IGNORE_EMOTE = 14;
diff --git a/src/being/localplayer.cpp b/src/being/localplayer.cpp
index a588246a2..359cc0b70 100644
--- a/src/being/localplayer.cpp
+++ b/src/being/localplayer.cpp
@@ -27,6 +27,7 @@
 #include "configuration.h"
 #include "gamemodifiers.h"
 #include "guild.h"
+#include "item.h"
 #include "party.h"
 #include "settings.h"
 #include "soundconsts.h"
@@ -36,6 +37,7 @@
 
 #include "being/beingflag.h"
 #include "being/crazymoves.h"
+#include "being/playerinfo.h"
 #include "being/playerrelations.h"
 
 #include "enums/being/attributes.h"
diff --git a/src/being/localplayer.h b/src/being/localplayer.h
index aa297dcb1..d63e5a7e6 100644
--- a/src/being/localplayer.h
+++ b/src/being/localplayer.h
@@ -34,8 +34,6 @@
 #include "listeners/playerdeathlistener.h"
 #include "listeners/statlistener.h"
 
-#include <vector>
-
 #include "localconsts.h"
 
 class AwayListener;
diff --git a/src/being/playerinfo.cpp b/src/being/playerinfo.cpp
index ff4efb79d..cfeb56a28 100644
--- a/src/being/playerinfo.cpp
+++ b/src/being/playerinfo.cpp
@@ -22,6 +22,7 @@
 #include "being/playerinfo.h"
 
 #include "configuration.h"
+#include "item.h"
 #include "itemsoundmanager.h"
 
 #include "being/localplayer.h"
diff --git a/src/beingequipbackend.cpp b/src/beingequipbackend.cpp
index 0672ba5d3..051afcfe2 100644
--- a/src/beingequipbackend.cpp
+++ b/src/beingequipbackend.cpp
@@ -20,6 +20,8 @@
 
 #include "beingequipbackend.h"
 
+#include "item.h"
+
 #include "being/being.h"
 
 #include "net/inventoryhandler.h"
diff --git a/src/client.cpp b/src/client.cpp
index 3fe4424b4..479bd3b3b 100644
--- a/src/client.cpp
+++ b/src/client.cpp
@@ -104,6 +104,7 @@
 #include "resources/db/emotedb.h"
 #include "resources/db/homunculusdb.h"
 #include "resources/db/horsedb.h"
+#include "resources/db/itemdb.h"
 #include "resources/db/sounddb.h"
 #include "resources/db/mapdb.h"
 #include "resources/db/mercenarydb.h"
diff --git a/src/client.h b/src/client.h
index 06c261eb2..079ed90ec 100644
--- a/src/client.h
+++ b/src/client.h
@@ -30,18 +30,12 @@
 
 #include "net/serverinfo.h"
 
-#include <SDL.h>
-
 #ifdef USE_SDL2
 #include <SDL2_framerate.h>
 #else
 #include <SDL_framerate.h>
 #endif
 
-#include <string>
-
-#include <sys/time.h>
-
 #include "localconsts.h"
 
 class Button;
diff --git a/src/configuration.h b/src/configuration.h
index 83a446f4e..0002a815b 100644
--- a/src/configuration.h
+++ b/src/configuration.h
@@ -29,10 +29,6 @@
 #include "defaults.h"
 #include "localconsts.h"
 
-#include <list>
-#include <map>
-#include <string>
-
 class ConfigListener;
 class ConfigurationObject;
 
diff --git a/src/effectmanager.h b/src/effectmanager.h
index 7bcffca58..3ebc0f805 100644
--- a/src/effectmanager.h
+++ b/src/effectmanager.h
@@ -25,7 +25,6 @@
 
 #include "resources/effectdescription.h"
 
-#include <string>
 #include <vector>
 
 #include "localconsts.h"
diff --git a/src/eventsmanager.h b/src/eventsmanager.h
index 6e6b1b517..c1d98db21 100644
--- a/src/eventsmanager.h
+++ b/src/eventsmanager.h
@@ -23,8 +23,6 @@
 
 #include "listeners/configlistener.h"
 
-#include <string>
-
 #include <SDL_events.h>
 
 #include "localconsts.h"
diff --git a/src/game.cpp b/src/game.cpp
index e3360ac77..f00770c39 100644
--- a/src/game.cpp
+++ b/src/game.cpp
@@ -126,6 +126,10 @@
 #include "mumblemanager.h"
 #endif
 
+#ifdef WIN32
+#include <sys/time.h>
+#endif
+
 #include "debug.h"
 
 QuitDialog *quitDialog = nullptr;
diff --git a/src/graphicsmanager.h b/src/graphicsmanager.h
index 47db93dea..0063be275 100644
--- a/src/graphicsmanager.h
+++ b/src/graphicsmanager.h
@@ -44,7 +44,6 @@
 #include "utils/stringvector.h"
 
 #include <set>
-#include <string>
 
 #include "localconsts.h"
 
diff --git a/src/gui/dialogsmanager.cpp b/src/gui/dialogsmanager.cpp
index 5081ed124..599d8b815 100644
--- a/src/gui/dialogsmanager.cpp
+++ b/src/gui/dialogsmanager.cpp
@@ -29,6 +29,8 @@
 
 #include "enums/gui/dialogtype.h"
 
+#include "being/playerinfo.h"
+
 #include "gui/widgets/selldialog.h"
 
 #include "gui/windows/confirmdialog.h"
diff --git a/src/gui/fonts/font.h b/src/gui/fonts/font.h
index 91128c6cd..2e0dfad7f 100644
--- a/src/gui/fonts/font.h
+++ b/src/gui/fonts/font.h
@@ -71,8 +71,6 @@
 
 #include <SDL_ttf.h>
 
-#include <string>
-
 #include "localconsts.h"
 
 class Graphics;
diff --git a/src/gui/fonts/textchunklist.h b/src/gui/fonts/textchunklist.h
index d85efe75d..d89a8ab3b 100644
--- a/src/gui/fonts/textchunklist.h
+++ b/src/gui/fonts/textchunklist.h
@@ -24,7 +24,6 @@
 #include "gui/fonts/textchunksmall.h"
 
 #include <map>
-#include <string>
 
 #include "localconsts.h"
 
diff --git a/src/gui/models/avatarlistmodel.h b/src/gui/models/avatarlistmodel.h
index bda7b686e..ec11b40ad 100644
--- a/src/gui/models/avatarlistmodel.h
+++ b/src/gui/models/avatarlistmodel.h
@@ -26,8 +26,6 @@
 
 #include "gui/models/listmodel.h"
 
-#include <string>
-
 class AvatarListModel notfinal : public ListModel
 {
     public:
diff --git a/src/gui/models/beingslistmodel.h b/src/gui/models/beingslistmodel.h
index 5bedc9756..7e8caced2 100644
--- a/src/gui/models/beingslistmodel.h
+++ b/src/gui/models/beingslistmodel.h
@@ -26,8 +26,6 @@
 
 #include "utils/dtor.h"
 
-#include <vector>
-
 class BeingsListModel final : public AvatarListModel
 {
     public:
diff --git a/src/gui/models/ignorechoiceslistmodel.h b/src/gui/models/ignorechoiceslistmodel.h
index eb230b4ce..c6dea9603 100644
--- a/src/gui/models/ignorechoiceslistmodel.h
+++ b/src/gui/models/ignorechoiceslistmodel.h
@@ -23,8 +23,6 @@
 #ifndef GUI_MODELS_IGNORECHOICESLISTMODEL_H
 #define GUI_MODELS_IGNORECHOICESLISTMODEL_H
 
-#include "being/playerrelations.h"
-
 #include "gui/models/playerrelationlistmodel.h"
 
 #include "being/playerignorestrategy.h"
diff --git a/src/gui/models/itemsmodel.h b/src/gui/models/itemsmodel.h
index eb026febe..1f88efe9f 100644
--- a/src/gui/models/itemsmodel.h
+++ b/src/gui/models/itemsmodel.h
@@ -29,8 +29,6 @@
 
 #include "resources/db/itemdb.h"
 
-#include "utils/gettext.h"
-
 #include <list>
 
 #include "localconsts.h"
diff --git a/src/gui/models/serverslistmodel.h b/src/gui/models/serverslistmodel.h
index 743e8da07..864cc70c6 100644
--- a/src/gui/models/serverslistmodel.h
+++ b/src/gui/models/serverslistmodel.h
@@ -23,8 +23,6 @@
 #ifndef GUI_MODELS_SERVERSLISTMODEL_H
 #define GUI_MODELS_SERVERSLISTMODEL_H
 
-#include "net/serverinfo.h"
-
 #include "gui/gui.h"
 
 #include "gui/fonts/font.h"
@@ -33,9 +31,6 @@
 
 #include "gui/models/listmodel.h"
 
-#include <string>
-#include <vector>
-
 /**
  * Server and Port List Model
  */
diff --git a/src/gui/models/shopitems.h b/src/gui/models/shopitems.h
index d3d4a44fc..880bc4f71 100644
--- a/src/gui/models/shopitems.h
+++ b/src/gui/models/shopitems.h
@@ -25,7 +25,6 @@
 
 #include "gui/models/listmodel.h"
 
-#include <string>
 #include <vector>
 
 #include "localconsts.h"
diff --git a/src/gui/models/skillmodel.h b/src/gui/models/skillmodel.h
index e4a4949a5..cf5a4fb6d 100644
--- a/src/gui/models/skillmodel.h
+++ b/src/gui/models/skillmodel.h
@@ -26,8 +26,6 @@
 #include "gui/widgets/skillinfo.h"
 #include "gui/models/listmodel.h"
 
-#include <string>
-
 #include "localconsts.h"
 
 class SkillModel final : public ListModel
diff --git a/src/gui/models/sortlistmodelinv.h b/src/gui/models/sortlistmodelinv.h
index d29ff201c..4711d4607 100644
--- a/src/gui/models/sortlistmodelinv.h
+++ b/src/gui/models/sortlistmodelinv.h
@@ -26,8 +26,6 @@
 
 #include "utils/gettext.h"
 
-#include <string>
-
 static const char *const SORT_NAME_INVENTORY[6] =
 {
     // TRANSLATORS: inventory sort mode
diff --git a/src/gui/models/updatelistmodel.h b/src/gui/models/updatelistmodel.h
index 1a109f62e..08e00bf63 100644
--- a/src/gui/models/updatelistmodel.h
+++ b/src/gui/models/updatelistmodel.h
@@ -27,8 +27,6 @@
 
 #include "net/logindata.h"
 
-#include "utils/gettext.h"
-
 #include "localconsts.h"
 
 class UpdateListModel final : public ListModel
diff --git a/src/gui/models/userstablemodel.h b/src/gui/models/userstablemodel.h
index 2f6201024..788fcd2d0 100644
--- a/src/gui/models/userstablemodel.h
+++ b/src/gui/models/userstablemodel.h
@@ -24,7 +24,6 @@
 
 #include "gui/windows/botcheckerwindow.h"
 
-#include "gui/widgets/button.h"
 #include "gui/widgets/label.h"
 
 #include "gui/models/tablemodel.h"
diff --git a/src/gui/palette.h b/src/gui/palette.h
index 5f9a5dae9..c8bf5de47 100644
--- a/src/gui/palette.h
+++ b/src/gui/palette.h
@@ -35,9 +35,7 @@
 #endif
 
 #include <map>
-#include <string>
 #include <set>
-#include <vector>
 
 // Default Gradient Delay
 #define GRADIENT_DELAY 40
diff --git a/src/gui/popups/createpartypopup.h b/src/gui/popups/createpartypopup.h
index ad44928e7..bd5899726 100644
--- a/src/gui/popups/createpartypopup.h
+++ b/src/gui/popups/createpartypopup.h
@@ -27,7 +27,6 @@
 #include "gui/widgets/popup.h"
 #include "gui/windows/socialwindow.h"
 
-#include "utils/delete2.h"
 #include "utils/gettext.h"
 #include "utils/stringutils.h"
 
diff --git a/src/gui/popups/speechbubble.h b/src/gui/popups/speechbubble.h
index 3e6cf8747..4d6d86aed 100644
--- a/src/gui/popups/speechbubble.h
+++ b/src/gui/popups/speechbubble.h
@@ -24,8 +24,6 @@
 #ifndef GUI_POPUPS_SPEECHBUBBLE_H
 #define GUI_POPUPS_SPEECHBUBBLE_H
 
-#include "gui/theme.h"
-
 #include "gui/widgets/popup.h"
 
 class Label;
diff --git a/src/gui/skin.h b/src/gui/skin.h
index 150c04eeb..c3e4e01b2 100644
--- a/src/gui/skin.h
+++ b/src/gui/skin.h
@@ -27,9 +27,6 @@
 
 #include "utils/stringmap.h"
 
-#include <map>
-#include <string>
-
 #include "localconsts.h"
 
 class Image;
diff --git a/src/gui/theme.h b/src/gui/theme.h
index de995e2ef..7bb1006b3 100644
--- a/src/gui/theme.h
+++ b/src/gui/theme.h
@@ -33,8 +33,6 @@
 
 #include "utils/stringvector.h"
 
-#include <map>
-
 #include "localconsts.h"
 
 class DyePalette;
diff --git a/src/gui/viewport.h b/src/gui/viewport.h
index 7d0f38501..691e02318 100644
--- a/src/gui/viewport.h
+++ b/src/gui/viewport.h
@@ -25,8 +25,6 @@
 
 #include "position.h"
 
-#include "listeners/configlistener.h"
-
 #include "gui/widgets/windowcontainer.h"
 
 #include "listeners/mouselistener.h"
diff --git a/src/gui/widgets/avatarlistbox.cpp b/src/gui/widgets/avatarlistbox.cpp
index a508897d3..33d1b9331 100644
--- a/src/gui/widgets/avatarlistbox.cpp
+++ b/src/gui/widgets/avatarlistbox.cpp
@@ -40,6 +40,9 @@
 
 #include "gui/windows/chatwindow.h"
 
+#include "render/renderers.h"
+
+#include "resources/image.h"
 #include "resources/mapitemtype.h"
 
 #include "resources/map/map.h"
diff --git a/src/gui/widgets/avatarlistbox.h b/src/gui/widgets/avatarlistbox.h
index 418b57a23..ad70e19dc 100644
--- a/src/gui/widgets/avatarlistbox.h
+++ b/src/gui/widgets/avatarlistbox.h
@@ -22,12 +22,8 @@
 #ifndef GUI_WIDGETS_AVATARLISTBOX_H
 #define GUI_WIDGETS_AVATARLISTBOX_H
 
-#include "listeners/configlistener.h"
-
 #include "gui/widgets/listbox.h"
 
-#include <string>
-
 class AvatarListModel;
 class Image;
 
diff --git a/src/gui/widgets/basiccontainer.h b/src/gui/widgets/basiccontainer.h
index fcbf7f6dd..eaa354f6e 100644
--- a/src/gui/widgets/basiccontainer.h
+++ b/src/gui/widgets/basiccontainer.h
@@ -64,9 +64,6 @@
 #ifndef GUI_WIDGETS_BASICCONTAINER_H
 #define GUI_WIDGETS_BASICCONTAINER_H
 
-#include <set>
-#include <vector>
-
 #include "gui/widgets/widget.h"
 
 #include "listeners/widgetdeathlistener.h"
diff --git a/src/gui/widgets/browserbox.h b/src/gui/widgets/browserbox.h
index 0251a9895..d8e0f0748 100644
--- a/src/gui/widgets/browserbox.h
+++ b/src/gui/widgets/browserbox.h
@@ -29,9 +29,6 @@
 #include "gui/widgets/linepart.h"
 #include "gui/widgets/widget.h"
 
-#include <list>
-#include <vector>
-
 #include "localconsts.h"
 
 class LinkHandler;
diff --git a/src/gui/widgets/button.cpp b/src/gui/widgets/button.cpp
index 39b09ae0b..1d3d4427b 100644
--- a/src/gui/widgets/button.cpp
+++ b/src/gui/widgets/button.cpp
@@ -79,6 +79,8 @@
 
 #include "gui/fonts/font.h"
 
+#include "render/renderers.h"
+
 #include "utils/delete2.h"
 
 #include "debug.h"
diff --git a/src/gui/widgets/characterviewbase.h b/src/gui/widgets/characterviewbase.h
index e771a677b..ef46e9abe 100644
--- a/src/gui/widgets/characterviewbase.h
+++ b/src/gui/widgets/characterviewbase.h
@@ -25,8 +25,6 @@
 
 #include "gui/widgets/container.h"
 
-#include "listeners/actionlistener.h"
-
 #include "localconsts.h"
 
 class CharacterViewBase notfinal : public Container,
diff --git a/src/gui/widgets/emotepage.cpp b/src/gui/widgets/emotepage.cpp
index ef8d222dd..d167f8bd9 100644
--- a/src/gui/widgets/emotepage.cpp
+++ b/src/gui/widgets/emotepage.cpp
@@ -25,6 +25,8 @@
 #include "resources/imageset.h"
 #include "resources/resourcemanager.h"
 
+#include "render/renderers.h"
+
 #include "utils/delete2.h"
 
 #include "debug.h"
diff --git a/src/gui/widgets/emoteshortcutcontainer.h b/src/gui/widgets/emoteshortcutcontainer.h
index 5cdd28ab1..8c58b793d 100644
--- a/src/gui/widgets/emoteshortcutcontainer.h
+++ b/src/gui/widgets/emoteshortcutcontainer.h
@@ -24,8 +24,6 @@
 
 #include "gui/widgets/shortcutcontainer.h"
 
-#include <vector>
-
 struct EmoteSprite;
 
 /**
diff --git a/src/gui/widgets/guitable.h b/src/gui/widgets/guitable.h
index 3b9e19a65..2257a8cb0 100644
--- a/src/gui/widgets/guitable.h
+++ b/src/gui/widgets/guitable.h
@@ -31,8 +31,6 @@
 
 #include "gui/widgets/widget.h"
 
-#include <vector>
-
 class GuiTableActionListener;
 class TableModel;
 
diff --git a/src/gui/widgets/itemcontainer.h b/src/gui/widgets/itemcontainer.h
index e506f68cc..302eeaea7 100644
--- a/src/gui/widgets/itemcontainer.h
+++ b/src/gui/widgets/itemcontainer.h
@@ -29,8 +29,6 @@
 
 #include "gui/widgets/widget.h"
 
-#include <list>
-
 #include "localconsts.h"
 
 class Image;
diff --git a/src/gui/widgets/listbox.h b/src/gui/widgets/listbox.h
index 0c39066a5..105f569cf 100644
--- a/src/gui/widgets/listbox.h
+++ b/src/gui/widgets/listbox.h
@@ -66,8 +66,6 @@
 #ifndef GUI_WIDGETS_LISTBOX_H
 #define GUI_WIDGETS_LISTBOX_H
 
-#include "gui/color.h"
-
 #include "gui/widgets/widget.h"
 
 #include "listeners/keylistener.h"
diff --git a/src/gui/widgets/playerbox.cpp b/src/gui/widgets/playerbox.cpp
index 2d07460c4..4775e266f 100644
--- a/src/gui/widgets/playerbox.cpp
+++ b/src/gui/widgets/playerbox.cpp
@@ -29,6 +29,8 @@
 #include "gui/gui.h"
 #include "gui/skin.h"
 
+#include "resources/image.h"
+
 #include "debug.h"
 
 PlayerBox::PlayerBox(Widget2 *const widget,
diff --git a/src/gui/widgets/popup.cpp b/src/gui/widgets/popup.cpp
index d887d75cf..a2c441225 100644
--- a/src/gui/widgets/popup.cpp
+++ b/src/gui/widgets/popup.cpp
@@ -30,6 +30,8 @@
 
 #include "gui/widgets/windowcontainer.h"
 
+#include "render/renderers.h"
+
 #include "utils/delete2.h"
 
 #include "debug.h"
diff --git a/src/gui/widgets/progressbar.cpp b/src/gui/widgets/progressbar.cpp
index 850748eee..2692363f4 100644
--- a/src/gui/widgets/progressbar.cpp
+++ b/src/gui/widgets/progressbar.cpp
@@ -30,6 +30,8 @@
 
 #include "gui/fonts/font.h"
 
+#include "render/renderers.h"
+
 #include "utils/delete2.h"
 
 #include "debug.h"
diff --git a/src/gui/widgets/progressbar.h b/src/gui/widgets/progressbar.h
index 99f920ab6..2a379a998 100644
--- a/src/gui/widgets/progressbar.h
+++ b/src/gui/widgets/progressbar.h
@@ -29,8 +29,6 @@
 
 #include "resources/imagerect.h"
 
-#include <string>
-
 #include "localconsts.h"
 
 class ImageCollection;
diff --git a/src/gui/widgets/scrollarea.cpp b/src/gui/widgets/scrollarea.cpp
index ddf0fd21f..924546329 100644
--- a/src/gui/widgets/scrollarea.cpp
+++ b/src/gui/widgets/scrollarea.cpp
@@ -74,6 +74,8 @@
 #include "resources/image.h"
 #include "resources/imagerect.h"
 
+#include "render/renderers.h"
+
 #include "utils/delete2.h"
 #include "utils/stringutils.h"
 
diff --git a/src/gui/widgets/serverslistbox.h b/src/gui/widgets/serverslistbox.h
index 5e2696411..a16547cd1 100644
--- a/src/gui/widgets/serverslistbox.h
+++ b/src/gui/widgets/serverslistbox.h
@@ -23,10 +23,6 @@
 #ifndef GUI_WIDGETS_SERVERSLISTBOX_H
 #define GUI_WIDGETS_SERVERSLISTBOX_H
 
-#include "gui/fonts/font.h"
-
-#include "gui/theme.h"
-
 #include "gui/widgets/listbox.h"
 
 #include "gui/models/serverslistmodel.h"
diff --git a/src/gui/widgets/setupitem.h b/src/gui/widgets/setupitem.h
index f5657c48e..4fbb81e23 100644
--- a/src/gui/widgets/setupitem.h
+++ b/src/gui/widgets/setupitem.h
@@ -26,7 +26,6 @@
 #include "listeners/actionlistener.h"
 
 #include <list>
-#include <vector>
 
 class Button;
 class CheckBox;
diff --git a/src/gui/widgets/shortcutcontainer.cpp b/src/gui/widgets/shortcutcontainer.cpp
index 5ac740eb2..1ac9a9d69 100644
--- a/src/gui/widgets/shortcutcontainer.cpp
+++ b/src/gui/widgets/shortcutcontainer.cpp
@@ -27,6 +27,8 @@
 
 #include "gui/gui.h"
 
+#include "render/renderers.h"
+
 #include "resources/image.h"
 
 #include "utils/delete2.h"
diff --git a/src/gui/widgets/skilldata.h b/src/gui/widgets/skilldata.h
index a90ef926a..943aa929c 100644
--- a/src/gui/widgets/skilldata.h
+++ b/src/gui/widgets/skilldata.h
@@ -25,6 +25,8 @@
 
 #include "resources/soundinfo.h"
 
+#include <string>
+
 class Image;
 
 struct SkillData final
diff --git a/src/gui/widgets/skillinfo.h b/src/gui/widgets/skillinfo.h
index 26b82ce25..4ab0331af 100644
--- a/src/gui/widgets/skillinfo.h
+++ b/src/gui/widgets/skillinfo.h
@@ -28,9 +28,9 @@
 #include "resources/skillowner.h"
 #include "resources/skilltype.h"
 
+#include <string>
 #include <vector>
 #include <map>
-#include <string>
 
 #include "localconsts.h"
 
diff --git a/src/gui/widgets/skilllistbox.h b/src/gui/widgets/skilllistbox.h
index 387bde055..344bffa59 100644
--- a/src/gui/widgets/skilllistbox.h
+++ b/src/gui/widgets/skilllistbox.h
@@ -23,17 +23,16 @@
 #ifndef GUI_WIDGETS_SKILLLISTBOX_H
 #define GUI_WIDGETS_SKILLLISTBOX_H
 
-#include "gui/widgets/listbox.h"
-
 #include "dragdrop.h"
 
 #include "gui/skin.h"
 #include "gui/viewport.h"
 
-#include "gui/fonts/font.h"
-
+#include "gui/widgets/listbox.h"
 #include "gui/widgets/skilldata.h"
 
+#include "gui/fonts/font.h"
+
 #include "gui/models/skillmodel.h"
 
 #include "gui/popups/skillpopup.h"
diff --git a/src/gui/widgets/slider.cpp b/src/gui/widgets/slider.cpp
index 4ea34209c..e867c9528 100644
--- a/src/gui/widgets/slider.cpp
+++ b/src/gui/widgets/slider.cpp
@@ -72,6 +72,8 @@
 
 #include "gui/gui.h"
 
+#include "render/renderers.h"
+
 #include "resources/image.h"
 #include "resources/imagerect.h"
 
diff --git a/src/gui/widgets/statuswindowattrs.h b/src/gui/widgets/statuswindowattrs.h
index b28c1cfba..ee336c616 100644
--- a/src/gui/widgets/statuswindowattrs.h
+++ b/src/gui/widgets/statuswindowattrs.h
@@ -27,8 +27,6 @@
 
 #include "gui/widgets/label.h"
 
-#include "events/actionevent.h"
-
 #include "listeners/actionlistener.h"
 
 #include "localconsts.h"
diff --git a/src/gui/widgets/tabs/chat/chattab.cpp b/src/gui/widgets/tabs/chat/chattab.cpp
index 727d12de2..eef6cfd5d 100644
--- a/src/gui/widgets/tabs/chat/chattab.cpp
+++ b/src/gui/widgets/tabs/chat/chattab.cpp
@@ -53,6 +53,10 @@
 #include "utils/delete2.h"
 #include "utils/gettext.h"
 
+#ifdef WIN32
+#include <sys/time.h>
+#endif
+
 #include "debug.h"
 
 ChatTab *localChatTab = nullptr;
diff --git a/src/gui/widgets/tabs/setup_input.h b/src/gui/widgets/tabs/setup_input.h
index f6cfd7828..569c21e2b 100644
--- a/src/gui/widgets/tabs/setup_input.h
+++ b/src/gui/widgets/tabs/setup_input.h
@@ -26,8 +26,6 @@
 
 #include "gui/widgets/tabs/setuptab.h"
 
-#include <string>
-
 class Button;
 class ListBox;
 class KeyListModel;
diff --git a/src/gui/widgets/tabs/setup_relations.h b/src/gui/widgets/tabs/setup_relations.h
index 5a023be9f..2d446452e 100644
--- a/src/gui/widgets/tabs/setup_relations.h
+++ b/src/gui/widgets/tabs/setup_relations.h
@@ -23,8 +23,6 @@
 #ifndef GUI_WIDGETS_TABS_SETUP_RELATIONS_H
 #define GUI_WIDGETS_TABS_SETUP_RELATIONS_H
 
-#include "being/playerrelations.h"
-
 #include "gui/widgets/tabs/setuptab.h"
 
 #include "listeners/playerrelationslistener.h"
diff --git a/src/gui/widgets/tabs/setup_video.cpp b/src/gui/widgets/tabs/setup_video.cpp
index 3f88316c8..caf12e4cd 100644
--- a/src/gui/widgets/tabs/setup_video.cpp
+++ b/src/gui/widgets/tabs/setup_video.cpp
@@ -41,6 +41,8 @@
 #include "gui/widgets/slider.h"
 #include "gui/widgets/dropdown.h"
 
+#include "render/renderers.h"
+
 #include "utils/delete2.h"
 
 #if defined(USE_OPENGL) && !defined(ANDROID) && !defined(__APPLE__)
diff --git a/src/gui/widgets/tabs/setuptab.h b/src/gui/widgets/tabs/setuptab.h
index 7c46ea66c..a9fd785ef 100644
--- a/src/gui/widgets/tabs/setuptab.h
+++ b/src/gui/widgets/tabs/setuptab.h
@@ -28,8 +28,6 @@
 #include "listeners/actionlistener.h"
 #include "listeners/widgetlistener.h"
 
-#include <string>
-
 #include "localconsts.h"
 
 /**
diff --git a/src/gui/widgets/tabs/setuptabscroll.h b/src/gui/widgets/tabs/setuptabscroll.h
index 8c2c2f590..f701ea6ed 100644
--- a/src/gui/widgets/tabs/setuptabscroll.h
+++ b/src/gui/widgets/tabs/setuptabscroll.h
@@ -23,9 +23,6 @@
 
 #include "gui/widgets/tabs/setuptab.h"
 
-#include <map>
-#include <set>
-
 #include "localconsts.h"
 
 class SetupItem;
diff --git a/src/gui/widgets/tabs/skilltab.h b/src/gui/widgets/tabs/skilltab.h
index fdc3c9df7..3cacb5ca9 100644
--- a/src/gui/widgets/tabs/skilltab.h
+++ b/src/gui/widgets/tabs/skilltab.h
@@ -29,8 +29,6 @@
 
 #include "gui/widgets/tabs/tab.h"
 
-#include "utils/delete2.h"
-
 #include "localconsts.h"
 
 class SkillTab final : public Tab
diff --git a/src/gui/widgets/tabs/socialattacktab.h b/src/gui/widgets/tabs/socialattacktab.h
index 6ef13cfb7..e3311c5ba 100644
--- a/src/gui/widgets/tabs/socialattacktab.h
+++ b/src/gui/widgets/tabs/socialattacktab.h
@@ -23,8 +23,6 @@
 
 #include "gui/widgets/tabs/socialtab.h"
 
-#include "actormanager.h"
-
 #include "being/localplayer.h"
 
 #include "gui/models/beingslistmodel.h"
diff --git a/src/gui/widgets/tabs/socialfriendstab.h b/src/gui/widgets/tabs/socialfriendstab.h
index b14bac2b2..229591096 100644
--- a/src/gui/widgets/tabs/socialfriendstab.h
+++ b/src/gui/widgets/tabs/socialfriendstab.h
@@ -36,8 +36,6 @@
 #include "utils/delete2.h"
 #include "utils/gettext.h"
 
-#include <algorithm>
-
 #include "localconsts.h"
 
 class SocialFriendsTab final : public SocialTab
diff --git a/src/gui/widgets/tabs/socialguildtab.h b/src/gui/widgets/tabs/socialguildtab.h
index 4c966b2ca..88354bb50 100644
--- a/src/gui/widgets/tabs/socialguildtab.h
+++ b/src/gui/widgets/tabs/socialguildtab.h
@@ -30,7 +30,6 @@
 #include "utils/gettext.h"
 #include "utils/stringutils.h"
 
-#include "net/net.h"
 #include "net/guildhandler.h"
 
 #include "localconsts.h"
diff --git a/src/gui/widgets/tabs/socialpickuptab.h b/src/gui/widgets/tabs/socialpickuptab.h
index f5e2d7ae0..1274bdcfa 100644
--- a/src/gui/widgets/tabs/socialpickuptab.h
+++ b/src/gui/widgets/tabs/socialpickuptab.h
@@ -23,8 +23,6 @@
 
 #include "gui/widgets/tabs/socialtab.h"
 
-#include "actormanager.h"
-
 #include "being/localplayer.h"
 
 #include "gui/models/beingslistmodel.h"
diff --git a/src/gui/widgets/tabs/socialtabbase.h b/src/gui/widgets/tabs/socialtabbase.h
index bcc02b449..24d11eaf1 100644
--- a/src/gui/widgets/tabs/socialtabbase.h
+++ b/src/gui/widgets/tabs/socialtabbase.h
@@ -25,8 +25,6 @@
 
 #include "resources/mapitemtype.h"
 
-#include "resources/map/mapitem.h"
-
 #define addAvatars(mob, str, type) \
 {\
     ava = new Avatar(str);\
diff --git a/src/gui/widgets/tabs/tab.cpp b/src/gui/widgets/tabs/tab.cpp
index 174478eb1..2f300fb5f 100644
--- a/src/gui/widgets/tabs/tab.cpp
+++ b/src/gui/widgets/tabs/tab.cpp
@@ -74,6 +74,8 @@
 #include "gui/widgets/label.h"
 #include "gui/widgets/tabbedarea.h"
 
+#include "render/renderers.h"
+
 #include "resources/image.h"
 #include "resources/imagerect.h"
 
diff --git a/src/gui/widgets/vertcontainer.h b/src/gui/widgets/vertcontainer.h
index 6a0192a32..bb7e49633 100644
--- a/src/gui/widgets/vertcontainer.h
+++ b/src/gui/widgets/vertcontainer.h
@@ -26,8 +26,6 @@
 
 #include "listeners/widgetlistener.h"
 
-#include <vector>
-
 #include "localconsts.h"
 
 /**
diff --git a/src/gui/widgets/widget.h b/src/gui/widgets/widget.h
index a66fcc030..8191754e5 100644
--- a/src/gui/widgets/widget.h
+++ b/src/gui/widgets/widget.h
@@ -65,11 +65,6 @@
 #define GUI_WIDGETS_WIDGET_H
 
 #include <list>
-#include <set>
-#include <string>
-
-#include "gui/color.h"
-#include "gui/rect.h"
 
 #include "gui/widgets/widget2.h"
 
diff --git a/src/gui/widgets/widget2.h b/src/gui/widgets/widget2.h
index 31e47034d..c8ee90406 100644
--- a/src/gui/widgets/widget2.h
+++ b/src/gui/widgets/widget2.h
@@ -23,8 +23,6 @@
 
 #include "gui/theme.h"
 
-#include "render/renderers.h"
-
 class Widget2 notfinal
 {
     public:
diff --git a/src/gui/widgets/window.cpp b/src/gui/widgets/window.cpp
index 82cd77a0d..f29027566 100644
--- a/src/gui/widgets/window.cpp
+++ b/src/gui/widgets/window.cpp
@@ -87,6 +87,8 @@
 #include "gui/widgets/containerplacer.h"
 #include "gui/widgets/layout.h"
 
+#include "render/renderers.h"
+
 #include "utils/delete2.h"
 
 #include "debug.h"
diff --git a/src/gui/widgets/window.h b/src/gui/widgets/window.h
index 17db9778f..dd59242e8 100644
--- a/src/gui/widgets/window.h
+++ b/src/gui/widgets/window.h
@@ -66,8 +66,6 @@
 #ifndef GUI_WIDGETS_WINDOW_H
 #define GUI_WIDGETS_WINDOW_H
 
-#include "render/graphics.h"
-
 #include "listeners/mouselistener.h"
 #include "listeners/widgetlistener.h"
 
diff --git a/src/gui/widgets/windowcontainer.h b/src/gui/widgets/windowcontainer.h
index 299624d93..9ca92c9f6 100644
--- a/src/gui/widgets/windowcontainer.h
+++ b/src/gui/widgets/windowcontainer.h
@@ -25,8 +25,6 @@
 
 #include "gui/widgets/container.h"
 
-#include <vector>
-
 /**
  * A window container. This container adds functionality for more convenient
  * widget (windows in particular) destruction.
diff --git a/src/gui/windowmenu.h b/src/gui/windowmenu.h
index cc101aff8..e68665aac 100644
--- a/src/gui/windowmenu.h
+++ b/src/gui/windowmenu.h
@@ -23,8 +23,6 @@
 #ifndef GUI_WINDOWMENU_H
 #define GUI_WINDOWMENU_H
 
-#include "listeners/configlistener.h"
-
 #include "gui/widgets/container.h"
 
 #include "listeners/actionlistener.h"
@@ -33,9 +31,6 @@
 
 #include "localconsts.h"
 
-#include <map>
-#include <vector>
-
 class Button;
 
 struct ButtonInfo;
diff --git a/src/gui/windows/botcheckerwindow.cpp b/src/gui/windows/botcheckerwindow.cpp
index a7fd4ea44..9f1973426 100644
--- a/src/gui/windows/botcheckerwindow.cpp
+++ b/src/gui/windows/botcheckerwindow.cpp
@@ -24,6 +24,7 @@
 
 #include "gui/windows/setupwindow.h"
 
+#include "gui/widgets/button.h"
 #include "gui/widgets/scrollarea.h"
 #include "gui/widgets/guitable.h"
 
diff --git a/src/gui/windows/botcheckerwindow.h b/src/gui/windows/botcheckerwindow.h
index 64aab4bca..76f06af4c 100644
--- a/src/gui/windows/botcheckerwindow.h
+++ b/src/gui/windows/botcheckerwindow.h
@@ -23,8 +23,6 @@
 #ifndef GUI_WINDOWS_BOTCHECKERWINDOW_H
 #define GUI_WINDOWS_BOTCHECKERWINDOW_H
 
-#include "listeners/configlistener.h"
-
 #include "gui/widgets/window.h"
 
 #include "listeners/actionlistener.h"
diff --git a/src/gui/windows/changeemaildialog.cpp b/src/gui/windows/changeemaildialog.cpp
index 822947c22..80ffea7ae 100644
--- a/src/gui/windows/changeemaildialog.cpp
+++ b/src/gui/windows/changeemaildialog.cpp
@@ -34,6 +34,7 @@
 
 #include "listeners/wrongdatanoticelistener.h"
 
+#include "net/logindata.h"
 #include "net/loginhandler.h"
 
 #include "utils/delete2.h"
diff --git a/src/gui/windows/changepassworddialog.cpp b/src/gui/windows/changepassworddialog.cpp
index 049f00a5e..9fe950211 100644
--- a/src/gui/windows/changepassworddialog.cpp
+++ b/src/gui/windows/changepassworddialog.cpp
@@ -35,6 +35,7 @@
 
 #include "listeners/wrongdatanoticelistener.h"
 
+#include "net/logindata.h"
 #include "net/loginhandler.h"
 
 #include "utils/delete2.h"
diff --git a/src/gui/windows/charselectdialog.cpp b/src/gui/windows/charselectdialog.cpp
index 85a23ed64..9468fa29a 100644
--- a/src/gui/windows/charselectdialog.cpp
+++ b/src/gui/windows/charselectdialog.cpp
@@ -51,6 +51,7 @@
 #include "gui/widgets/containerplacer.h"
 
 #include "net/character.h"
+#include "net/logindata.h"
 #include "net/loginhandler.h"
 #include "net/registrationoptions.h"
 #include "net/serverfeatures.h"
diff --git a/src/gui/windows/charselectdialog.h b/src/gui/windows/charselectdialog.h
index ca7d6111c..9e9871c5a 100644
--- a/src/gui/windows/charselectdialog.h
+++ b/src/gui/windows/charselectdialog.h
@@ -23,8 +23,6 @@
 #ifndef GUI_WINDOWS_CHARSELECTDIALOG_H
 #define GUI_WINDOWS_CHARSELECTDIALOG_H
 
-#include "main.h"
-
 #include "gui/widgets/window.h"
 
 #include "net/charserverhandler.h"
diff --git a/src/gui/windows/chatwindow.h b/src/gui/windows/chatwindow.h
index 7dbe104c6..3bbb40e5e 100644
--- a/src/gui/windows/chatwindow.h
+++ b/src/gui/windows/chatwindow.h
@@ -35,10 +35,6 @@
 #include "listeners/keylistener.h"
 #include "listeners/statlistener.h"
 
-#include <list>
-#include <map>
-#include <set>
-
 class Button;
 class ChannelTab;
 class ChatTab;
diff --git a/src/gui/windows/equipmentwindow.cpp b/src/gui/windows/equipmentwindow.cpp
index 0b5fe10f1..3320f9e1e 100644
--- a/src/gui/windows/equipmentwindow.cpp
+++ b/src/gui/windows/equipmentwindow.cpp
@@ -42,6 +42,8 @@
 #include "gui/widgets/playerbox.h"
 #include "gui/widgets/tabstrip.h"
 
+#include "render/renderers.h"
+
 #include "resources/equipmentslots.h"
 #include "resources/imageset.h"
 
diff --git a/src/gui/windows/equipmentwindow.h b/src/gui/windows/equipmentwindow.h
index 27526486a..a8073b3c4 100644
--- a/src/gui/windows/equipmentwindow.h
+++ b/src/gui/windows/equipmentwindow.h
@@ -33,8 +33,6 @@
 
 #include "listeners/actionlistener.h"
 
-#include <vector>
-
 class Being;
 class Button;
 class Image;
diff --git a/src/gui/windows/helpwindow.h b/src/gui/windows/helpwindow.h
index 661c7013c..b1f09b60f 100644
--- a/src/gui/windows/helpwindow.h
+++ b/src/gui/windows/helpwindow.h
@@ -30,9 +30,6 @@
 
 #include "localconsts.h"
 
-#include <map>
-#include <set>
-
 class Button;
 class BrowserBox;
 class ScrollArea;
diff --git a/src/gui/windows/inventorywindow.cpp b/src/gui/windows/inventorywindow.cpp
index bf3077c1d..568da1cc1 100644
--- a/src/gui/windows/inventorywindow.cpp
+++ b/src/gui/windows/inventorywindow.cpp
@@ -23,6 +23,7 @@
 #include "gui/windows/inventorywindow.h"
 
 #include "configuration.h"
+#include "item.h"
 #include "units.h"
 
 #include "being/playerinfo.h"
diff --git a/src/gui/windows/itemamountwindow.cpp b/src/gui/windows/itemamountwindow.cpp
index 01289a4c3..7198d087a 100644
--- a/src/gui/windows/itemamountwindow.cpp
+++ b/src/gui/windows/itemamountwindow.cpp
@@ -22,6 +22,8 @@
 
 #include "gui/windows/itemamountwindow.h"
 
+#include "item.h"
+
 #include "being/playerinfo.h"
 
 #include "input/keyboardconfig.h"
@@ -44,6 +46,8 @@
 #include "gui/widgets/label.h"
 #include "gui/widgets/slider.h"
 
+#include "utils/gettext.h"
+
 #include <cmath>
 
 #include "debug.h"
diff --git a/src/gui/windows/killstats.cpp b/src/gui/windows/killstats.cpp
index 89626598e..cd40d5d41 100644
--- a/src/gui/windows/killstats.cpp
+++ b/src/gui/windows/killstats.cpp
@@ -41,6 +41,10 @@
 
 #include "utils/gettext.h"
 
+#ifdef WIN32
+#include <sys/time.h>
+#endif
+
 #include "debug.h"
 
 KillStats *killStats = nullptr;
diff --git a/src/gui/windows/logindialog.h b/src/gui/windows/logindialog.h
index 593bca63d..6e53304ce 100644
--- a/src/gui/windows/logindialog.h
+++ b/src/gui/windows/logindialog.h
@@ -28,8 +28,6 @@
 #include "listeners/actionlistener.h"
 #include "listeners/keylistener.h"
 
-#include <string>
-
 class Button;
 class CheckBox;
 class DropDown;
diff --git a/src/gui/windows/minimap.cpp b/src/gui/windows/minimap.cpp
index 965f1d71c..8fcb175ef 100644
--- a/src/gui/windows/minimap.cpp
+++ b/src/gui/windows/minimap.cpp
@@ -37,6 +37,7 @@
 
 #include "gui/windows/setupwindow.h"
 
+#include "resources/image.h"
 #include "resources/imagehelper.h"
 #include "resources/resourcemanager.h"
 
diff --git a/src/gui/windows/ministatuswindow.cpp b/src/gui/windows/ministatuswindow.cpp
index 7051465c6..ec2cf05b2 100644
--- a/src/gui/windows/ministatuswindow.cpp
+++ b/src/gui/windows/ministatuswindow.cpp
@@ -27,6 +27,7 @@
 #include "inventory.h"
 
 #include "being/localplayer.h"
+#include "being/playerinfo.h"
 
 #include "enums/being/attributes.h"
 
diff --git a/src/gui/windows/ministatuswindow.h b/src/gui/windows/ministatuswindow.h
index 548344728..923e74696 100644
--- a/src/gui/windows/ministatuswindow.h
+++ b/src/gui/windows/ministatuswindow.h
@@ -31,8 +31,6 @@
 
 #include "gui/widgets/window.h"
 
-#include <vector>
-
 class AnimatedSprite;
 class Graphics;
 class Inventory;
diff --git a/src/gui/windows/npcdialog.h b/src/gui/windows/npcdialog.h
index 72a42701b..c74721b87 100644
--- a/src/gui/windows/npcdialog.h
+++ b/src/gui/windows/npcdialog.h
@@ -23,18 +23,12 @@
 #ifndef GUI_WINDOWS_NPCDIALOG_H
 #define GUI_WINDOWS_NPCDIALOG_H
 
-#include "listeners/configlistener.h"
-
 #include "gui/models/extendedlistmodel.h"
 
 #include "gui/widgets/window.h"
 
-#include "utils/stringvector.h"
-
 #include "listeners/actionlistener.h"
 
-#include <list>
-
 class Being;
 class Button;
 class BrowserBox;
diff --git a/src/gui/windows/questswindow.h b/src/gui/windows/questswindow.h
index f06e2a2ef..927b32540 100644
--- a/src/gui/windows/questswindow.h
+++ b/src/gui/windows/questswindow.h
@@ -29,9 +29,6 @@
 
 #include "listeners/actionlistener.h"
 
-#include <map>
-#include <vector>
-
 class Being;
 class Button;
 class BrowserBox;
diff --git a/src/gui/windows/quitdialog.h b/src/gui/windows/quitdialog.h
index 9ff6dd763..96614401f 100644
--- a/src/gui/windows/quitdialog.h
+++ b/src/gui/windows/quitdialog.h
@@ -28,8 +28,6 @@
 #include "listeners/actionlistener.h"
 #include "listeners/keylistener.h"
 
-#include <vector>
-
 class Button;
 class RadioButton;
 
diff --git a/src/gui/windows/registerdialog.cpp b/src/gui/windows/registerdialog.cpp
index 8d7d84480..fdddfec6f 100644
--- a/src/gui/windows/registerdialog.cpp
+++ b/src/gui/windows/registerdialog.cpp
@@ -39,6 +39,7 @@
 #include "gui/widgets/passwordfield.h"
 #include "gui/widgets/radiobutton.h"
 
+#include "net/logindata.h"
 #include "net/loginhandler.h"
 #include "net/registrationoptions.h"
 #include "net/serverfeatures.h"
diff --git a/src/gui/windows/serverdialog.h b/src/gui/windows/serverdialog.h
index f59ff4ab7..e64177591 100644
--- a/src/gui/windows/serverdialog.h
+++ b/src/gui/windows/serverdialog.h
@@ -35,8 +35,6 @@
 #include "listeners/keylistener.h"
 #include "listeners/selectionlistener.h"
 
-#include <string>
-
 class Button;
 class CheckBox;
 class Label;
diff --git a/src/gui/windows/setupwindow.h b/src/gui/windows/setupwindow.h
index 53bfae9cc..d890f3f02 100644
--- a/src/gui/windows/setupwindow.h
+++ b/src/gui/windows/setupwindow.h
@@ -27,8 +27,6 @@
 
 #include "listeners/actionlistener.h"
 
-#include <list>
-
 class Button;
 class Label;
 class SetupTab;
diff --git a/src/gui/windows/skilldialog.cpp b/src/gui/windows/skilldialog.cpp
index 48ab6bba4..65134aac1 100644
--- a/src/gui/windows/skilldialog.cpp
+++ b/src/gui/windows/skilldialog.cpp
@@ -28,6 +28,7 @@
 #include "spellmanager.h"
 
 #include "being/localplayer.h"
+#include "being/playerinfo.h"
 
 #include "enums/being/attributes.h"
 
diff --git a/src/gui/windows/socialwindow.h b/src/gui/windows/socialwindow.h
index d5f015e5d..a3a10101e 100644
--- a/src/gui/windows/socialwindow.h
+++ b/src/gui/windows/socialwindow.h
@@ -27,9 +27,6 @@
 #include "listeners/actionlistener.h"
 #include "listeners/playerrelationslistener.h"
 
-#include <string>
-#include <map>
-
 class Button;
 class ConfirmDialog;
 class CreatePartyPopup;
diff --git a/src/gui/windows/statuswindow.cpp b/src/gui/windows/statuswindow.cpp
index 2c66884ae..14a81b003 100644
--- a/src/gui/windows/statuswindow.cpp
+++ b/src/gui/windows/statuswindow.cpp
@@ -24,12 +24,14 @@
 
 #include "configuration.h"
 #include "gamemodifiers.h"
+#include "item.h"
 #include "settings.h"
 #include "units.h"
 
 #include "gui/windows/chatwindow.h"
 
 #include "being/localplayer.h"
+#include "being/playerinfo.h"
 
 #include "enums/being/attributes.h"
 
diff --git a/src/gui/windows/statuswindow.h b/src/gui/windows/statuswindow.h
index 34462498b..bde444fe5 100644
--- a/src/gui/windows/statuswindow.h
+++ b/src/gui/windows/statuswindow.h
@@ -29,8 +29,6 @@
 #include "listeners/attributelistener.h"
 #include "listeners/statlistener.h"
 
-#include <map>
-
 class AttrDisplay;
 class Button;
 class Label;
diff --git a/src/gui/windows/tradewindow.h b/src/gui/windows/tradewindow.h
index f08d88963..b93c53507 100644
--- a/src/gui/windows/tradewindow.h
+++ b/src/gui/windows/tradewindow.h
@@ -30,8 +30,6 @@
 #include "listeners/actionlistener.h"
 #include "listeners/selectionlistener.h"
 
-#include <memory>
-
 class Button;
 class Inventory;
 class Item;
diff --git a/src/gui/windows/unregisterdialog.cpp b/src/gui/windows/unregisterdialog.cpp
index 5dc99f720..24ce90108 100644
--- a/src/gui/windows/unregisterdialog.cpp
+++ b/src/gui/windows/unregisterdialog.cpp
@@ -34,6 +34,7 @@
 
 #include "listeners/wrongdatanoticelistener.h"
 
+#include "net/logindata.h"
 #include "net/loginhandler.h"
 
 #include "utils/delete2.h"
diff --git a/src/gui/windows/updaterwindow.h b/src/gui/windows/updaterwindow.h
index 6d3d7f49b..93922a7a9 100644
--- a/src/gui/windows/updaterwindow.h
+++ b/src/gui/windows/updaterwindow.h
@@ -35,9 +35,6 @@
 #include "listeners/actionlistener.h"
 #include "listeners/keylistener.h"
 
-#include <string>
-#include <vector>
-
 class BrowserBox;
 class Button;
 class Label;
diff --git a/src/gui/windows/whoisonline.h b/src/gui/windows/whoisonline.h
index 1a8f1c1c9..8ec7d3c2d 100644
--- a/src/gui/windows/whoisonline.h
+++ b/src/gui/windows/whoisonline.h
@@ -23,13 +23,9 @@
 #ifndef GUI_WINDOWS_WHOISONLINE_H
 #define GUI_WINDOWS_WHOISONLINE_H
 
-#include "listeners/configlistener.h"
-
 #include "gui/widgets/linkhandler.h"
 #include "gui/widgets/window.h"
 
-#include <set>
-
 #include "listeners/actionlistener.h"
 
 class BrowserBox;
diff --git a/src/guild.h b/src/guild.h
index 359948f1e..2ed9db5b2 100644
--- a/src/guild.h
+++ b/src/guild.h
@@ -23,8 +23,6 @@
 #ifndef GUILD_H
 #define GUILD_H
 
-#include "avatar.h"
-
 #include "gui/models/avatarlistmodel.h"
 
 #include "utils/dtor.h"
diff --git a/src/input/inputactiondata.h b/src/input/inputactiondata.h
index a0f4c6279..76a04afc1 100644
--- a/src/input/inputactiondata.h
+++ b/src/input/inputactiondata.h
@@ -25,8 +25,6 @@
 
 #include "actions/actionfuncptr.h"
 
-#include <string>
-
 struct InputActionData final
 {
     const char *const configField;
diff --git a/src/input/inputactionmap.h b/src/input/inputactionmap.h
index ae75d2b2d..a8d3853ac 100644
--- a/src/input/inputactionmap.h
+++ b/src/input/inputactionmap.h
@@ -35,16 +35,11 @@
 #include "actions/target.h"
 #include "actions/windows.h"
 
-#include "input/inputaction.h"
 #include "input/inputactiondata.h"
 #include "input/inputcondition.h"
 #include "input/inputmanager.h"
 #include "input/inputtype.h"
 
-#include "utils/gettext.h"
-
-#include <string>
-
 #include "localconsts.h"
 
 #define defaultAction(name) \
diff --git a/src/input/inputmanager.cpp b/src/input/inputmanager.cpp
index dcb4b57a7..11ff7f291 100644
--- a/src/input/inputmanager.cpp
+++ b/src/input/inputmanager.cpp
@@ -53,6 +53,7 @@
 #include "gui/windows/textdialog.h"
 #include "gui/windows/tradewindow.h"
 
+#include "utils/gettext.h"
 #include "utils/timer.h"
 
 #include "gui/focushandler.h"
diff --git a/src/input/inputmanager.h b/src/input/inputmanager.h
index 672060a72..11757b630 100644
--- a/src/input/inputmanager.h
+++ b/src/input/inputmanager.h
@@ -29,7 +29,6 @@
 #include "utils/stringmap.h"
 
 #include <list>
-#include <string>
 
 #include <SDL_events.h>
 
diff --git a/src/input/joystick.h b/src/input/joystick.h
index 2276006a7..01937c829 100644
--- a/src/input/joystick.h
+++ b/src/input/joystick.h
@@ -27,9 +27,6 @@
 
 #include <SDL_events.h>
 
-#include <string>
-#include <vector>
-
 class Joystick final
 {
     public:
diff --git a/src/input/keyboardconfig.h b/src/input/keyboardconfig.h
index 7465de669..7b1d09e33 100644
--- a/src/input/keyboardconfig.h
+++ b/src/input/keyboardconfig.h
@@ -29,8 +29,6 @@
 
 #include "events/inputevent.h"
 
-#include <string>
-
 union SDL_Event;
 
 class KeyboardConfig final
diff --git a/src/input/keyinput.h b/src/input/keyinput.h
index 775ef98dd..f308af244 100644
--- a/src/input/keyinput.h
+++ b/src/input/keyinput.h
@@ -68,8 +68,6 @@
 
 #include "input/key.h"
 
-#include <string>
-
 #include "localconsts.h"
 
 class KeyInput final
diff --git a/src/inventory.cpp b/src/inventory.cpp
index 0129e7593..7f05a2472 100644
--- a/src/inventory.cpp
+++ b/src/inventory.cpp
@@ -22,6 +22,7 @@
 
 #include "inventory.h"
 
+#include "item.h"
 #include "logger.h"
 
 #include "net/inventoryhandler.h"
diff --git a/src/item.h b/src/item.h
index f5adf31c8..2b624d6ea 100644
--- a/src/item.h
+++ b/src/item.h
@@ -27,8 +27,6 @@
 
 #include "resources/db/itemdb.h"
 
-#include <map>
-
 #include "localconsts.h"
 
 class Image;
diff --git a/src/listeners/actionlistener.h b/src/listeners/actionlistener.h
index 0d5698d17..d715c9620 100644
--- a/src/listeners/actionlistener.h
+++ b/src/listeners/actionlistener.h
@@ -64,8 +64,6 @@
 #ifndef LISTENERS_ACTIONLISTENER_H
 #define LISTENERS_ACTIONLISTENER_H
 
-#include <string>
-
 #include "events/actionevent.h"
 
 /**
diff --git a/src/listeners/focuslistener.h b/src/listeners/focuslistener.h
index 2646fb406..8deb3ad96 100644
--- a/src/listeners/focuslistener.h
+++ b/src/listeners/focuslistener.h
@@ -64,8 +64,6 @@
 #ifndef LISTENERS_FOCUSLISTENER_H
 #define LISTENERS_FOCUSLISTENER_H
 
-#include <string>
-
 #include "events/event.h"
 
 #include "localconsts.h"
diff --git a/src/listeners/openurllistener.h b/src/listeners/openurllistener.h
index ccc50753b..72085dadb 100644
--- a/src/listeners/openurllistener.h
+++ b/src/listeners/openurllistener.h
@@ -27,8 +27,6 @@
 
 #include "utils/process.h"
 
-#include <string>
-
 #include "localconsts.h"
 
 struct OpenUrlListener final : public ActionListener
diff --git a/src/listeners/playerlistener.h b/src/listeners/playerlistener.h
index aaca92bc4..3364f44f5 100644
--- a/src/listeners/playerlistener.h
+++ b/src/listeners/playerlistener.h
@@ -23,8 +23,6 @@
 
 #include "listeners/actionlistener.h"
 
-#include <string>
-
 #include "localconsts.h"
 
 class TextDialog;
diff --git a/src/listeners/playerpostdeathlistener.h b/src/listeners/playerpostdeathlistener.h
index 015b8320e..8b960e7eb 100644
--- a/src/listeners/playerpostdeathlistener.h
+++ b/src/listeners/playerpostdeathlistener.h
@@ -28,10 +28,8 @@
 #include "gui/dialogsmanager.h"
 #include "gui/popupmanager.h"
 
-#include "gui/windows/okdialog.h"
 #include "gui/windows/npcdialog.h"
 
-#include "net/net.h"
 #include "net/playerhandler.h"
 
 #include "localconsts.h"
diff --git a/src/listeners/requesttradelistener.h b/src/listeners/requesttradelistener.h
index b1f5ed620..7a024dfb2 100644
--- a/src/listeners/requesttradelistener.h
+++ b/src/listeners/requesttradelistener.h
@@ -27,13 +27,8 @@
 
 #include "gui/windows/confirmdialog.h"
 
-#include "net/net.h"
 #include "net/tradehandler.h"
 
-#include "listeners/actionlistener.h"
-
-#include <string>
-
 #include "localconsts.h"
 
 extern std::string tradePartnerName;
diff --git a/src/listeners/selectionlistener.h b/src/listeners/selectionlistener.h
index b8e6e99f8..9abd06470 100644
--- a/src/listeners/selectionlistener.h
+++ b/src/listeners/selectionlistener.h
@@ -64,8 +64,6 @@
 #ifndef LISTENERS_SELECTIONLISTENER_H
 #define LISTENERS_SELECTIONLISTENER_H
 
-#include <string>
-
 #include "events/selectionevent.h"
 
 #include "localconsts.h"
diff --git a/src/listeners/tablemodellistener.h b/src/listeners/tablemodellistener.h
index 5d38c7864..a46a9cb22 100644
--- a/src/listeners/tablemodellistener.h
+++ b/src/listeners/tablemodellistener.h
@@ -23,9 +23,6 @@
 #ifndef LISTENERS_TABLEMODELLISTENER_H
 #define LISTENERS_TABLEMODELLISTENER_H
 
-#include <set>
-#include <vector>
-
 #include "localconsts.h"
 
 class Widget;
diff --git a/src/listeners/weightlistener.h b/src/listeners/weightlistener.h
index c24591065..ad4c0bd8f 100644
--- a/src/listeners/weightlistener.h
+++ b/src/listeners/weightlistener.h
@@ -25,8 +25,6 @@
 
 #include "gui/windows/okdialog.h"
 
-#include "listeners/actionlistener.h"
-
 #include "localconsts.h"
 
 extern OkDialog *weightNotice;
diff --git a/src/listeners/widgetdeathlistener.h b/src/listeners/widgetdeathlistener.h
index 951881a4d..5be4dc8d0 100644
--- a/src/listeners/widgetdeathlistener.h
+++ b/src/listeners/widgetdeathlistener.h
@@ -64,8 +64,6 @@
 #ifndef LISTENERS_WIDGETDEATHLISTENER_H
 #define LISTENERS_WIDGETDEATHLISTENER_H
 
-#include <string>
-
 #include "events/event.h"
 
 /**
diff --git a/src/listeners/widgetlistener.h b/src/listeners/widgetlistener.h
index ee234a824..5edb9bbe8 100644
--- a/src/listeners/widgetlistener.h
+++ b/src/listeners/widgetlistener.h
@@ -64,8 +64,6 @@
 #ifndef LISTENERS_WIDGETLISTENER_H
 #define LISTENERS_WIDGETLISTENER_H
 
-#include <string>
-
 #include "events/event.h"
 
 #include "localconsts.h"
diff --git a/src/mumblemanager.h b/src/mumblemanager.h
index d81ce7628..7e8d11d0e 100644
--- a/src/mumblemanager.h
+++ b/src/mumblemanager.h
@@ -10,8 +10,6 @@
 #ifndef MUMBLEMANAGER_H
 #define MUMBLEMANAGER_H
 
-#include "main.h"
-
 #ifdef USE_MUMBLE
 
 #include <string>
diff --git a/src/net/adminhandler.h b/src/net/adminhandler.h
index 5207d677d..70e683769 100644
--- a/src/net/adminhandler.h
+++ b/src/net/adminhandler.h
@@ -23,11 +23,11 @@
 #ifndef NET_ADMINHANDLER_H
 #define NET_ADMINHANDLER_H
 
-#include "being/being.h"
-#include <iosfwd>
+#include "localconsts.h"
+
 #include <string>
 
-#include "localconsts.h"
+class Being;
 
 namespace Net
 {
diff --git a/src/net/charserverhandler.h b/src/net/charserverhandler.h
index 31077d851..d8c14a4de 100644
--- a/src/net/charserverhandler.h
+++ b/src/net/charserverhandler.h
@@ -25,9 +25,6 @@
 
 #include "being/localplayer.h"
 
-#include <string>
-#include <vector>
-
 class CharCreateDialog;
 class CharSelectDialog;
 
diff --git a/src/net/chathandler.h b/src/net/chathandler.h
index e0567f23c..dad30b676 100644
--- a/src/net/chathandler.h
+++ b/src/net/chathandler.h
@@ -23,8 +23,6 @@
 #ifndef NET_CHATHANDLER_H
 #define NET_CHATHANDLER_H
 
-
-#include <iosfwd>
 #include <string>
 
 #include "localconsts.h"
diff --git a/src/net/ea/equipbackend.h b/src/net/ea/equipbackend.h
index 5aa56bf6b..c264724a8 100644
--- a/src/net/ea/equipbackend.h
+++ b/src/net/ea/equipbackend.h
@@ -23,8 +23,6 @@
 #ifndef NET_EA_EQUIPBACKEND_H
 #define NET_EA_EQUIPBACKEND_H
 
-#include "equipment.h"
-#include "inventory.h"
 #include "item.h"
 
 #include "being/playerinfo.h"
diff --git a/src/net/ea/inventoryhandler.h b/src/net/ea/inventoryhandler.h
index 77cf40a56..26d74d56a 100644
--- a/src/net/ea/inventoryhandler.h
+++ b/src/net/ea/inventoryhandler.h
@@ -30,7 +30,6 @@
 #include "net/ea/equipbackend.h"
 #include "net/ea/inventoryitem.h"
 
-#include <vector>
 #include <queue>
 
 namespace Net
diff --git a/src/net/ea/itemhandler.cpp b/src/net/ea/itemhandler.cpp
index f09dc57d5..a4c1a164b 100644
--- a/src/net/ea/itemhandler.cpp
+++ b/src/net/ea/itemhandler.cpp
@@ -24,6 +24,8 @@
 
 #include "actormanager.h"
 
+#include "net/messagein.h"
+
 #include "debug.h"
 
 namespace Ea
diff --git a/src/net/ea/itemhandler.h b/src/net/ea/itemhandler.h
index 37cd097ff..a67f701a4 100644
--- a/src/net/ea/itemhandler.h
+++ b/src/net/ea/itemhandler.h
@@ -23,8 +23,6 @@
 #ifndef NET_EA_ITEMHANDLER_H
 #define NET_EA_ITEMHANDLER_H
 
-#include "net/messagein.h"
-
 #include "localconsts.h"
 
 namespace Net
diff --git a/src/net/ea/loginhandler.cpp b/src/net/ea/loginhandler.cpp
index c182d7065..8b8077cde 100644
--- a/src/net/ea/loginhandler.cpp
+++ b/src/net/ea/loginhandler.cpp
@@ -34,6 +34,7 @@
 #include "utils/gettext.h"
 #include "utils/paths.h"
 
+#include "net/logindata.h"
 #include "net/messagein.h"
 
 #include "debug.h"
diff --git a/src/net/ea/loginhandler.h b/src/net/ea/loginhandler.h
index 111aa5965..b2d57574d 100644
--- a/src/net/ea/loginhandler.h
+++ b/src/net/ea/loginhandler.h
@@ -29,8 +29,6 @@
 
 #include "net/ea/token.h"
 
-#include <string>
-
 class LoginData;
 
 namespace Net
diff --git a/src/net/ea/network.h b/src/net/ea/network.h
index 95bb6c456..52693ef30 100644
--- a/src/net/ea/network.h
+++ b/src/net/ea/network.h
@@ -26,10 +26,6 @@
 #include "net/serverinfo.h"
 #include "net/sdltcpnet.h"
 
-#include <SDL_thread.h>
-
-#include <string>
-
 namespace Ea
 {
 
diff --git a/src/net/ea/playerhandler.cpp b/src/net/ea/playerhandler.cpp
index a2833eee3..eb6f8d0af 100644
--- a/src/net/ea/playerhandler.cpp
+++ b/src/net/ea/playerhandler.cpp
@@ -31,6 +31,7 @@
 
 #include "being/beingflag.h"
 #include "being/localplayer.h"
+#include "being/playerinfo.h"
 
 #include "enums/being/attributes.h"
 
diff --git a/src/net/ea/tradehandler.cpp b/src/net/ea/tradehandler.cpp
index 683654d61..5bdf42775 100644
--- a/src/net/ea/tradehandler.cpp
+++ b/src/net/ea/tradehandler.cpp
@@ -31,6 +31,7 @@
 #include "net/messagein.h"
 
 #include "utils/gettext.h"
+#include "utils/stringutils.h"
 
 #include "resources/notifytypes.h"
 
diff --git a/src/net/eathena/adminhandler.cpp b/src/net/eathena/adminhandler.cpp
index 1e394d300..75250d2b7 100644
--- a/src/net/eathena/adminhandler.cpp
+++ b/src/net/eathena/adminhandler.cpp
@@ -24,6 +24,8 @@
 
 #include "logger.h"
 
+#include "being/being.h"
+
 #include "net/eathena/messageout.h"
 #include "net/eathena/protocol.h"
 
diff --git a/src/net/eathena/loginhandler.h b/src/net/eathena/loginhandler.h
index 38cacc380..918d5c66d 100644
--- a/src/net/eathena/loginhandler.h
+++ b/src/net/eathena/loginhandler.h
@@ -27,8 +27,6 @@
 
 #include "net/eathena/messagehandler.h"
 
-#include <string>
-
 namespace EAthena
 {
 
diff --git a/src/net/eathena/messagehandler.h b/src/net/eathena/messagehandler.h
index 10bd228a6..1bf84f449 100644
--- a/src/net/eathena/messagehandler.h
+++ b/src/net/eathena/messagehandler.h
@@ -25,8 +25,6 @@
 
 #include "net/messagehandler.h"
 
-#include <memory>
-
 namespace EAthena
 {
 
diff --git a/src/net/gamehandler.h b/src/net/gamehandler.h
index 2a4f23246..1b1e3b560 100644
--- a/src/net/gamehandler.h
+++ b/src/net/gamehandler.h
@@ -25,8 +25,6 @@
 
 #include "net/logindata.h"
 
-#include <iosfwd>
-
 namespace Net
 {
 
diff --git a/src/net/guildhandler.h b/src/net/guildhandler.h
index 5869eac80..bbc7554fd 100644
--- a/src/net/guildhandler.h
+++ b/src/net/guildhandler.h
@@ -27,8 +27,6 @@
 
 #include "gui/widgets/tabs/chat/chattab.h"
 
-#include <iosfwd>
-
 class Being;
 
 namespace Net
diff --git a/src/net/inventoryhandler.h b/src/net/inventoryhandler.h
index d22bcd4e1..fc1365898 100644
--- a/src/net/inventoryhandler.h
+++ b/src/net/inventoryhandler.h
@@ -23,12 +23,8 @@
 #ifndef NET_INVENTORYHANDLER_H
 #define NET_INVENTORYHANDLER_H
 
-#include "item.h"
-
 #include "inventory.h"
 
-#include <iosfwd>
-
 namespace Net
 {
 
diff --git a/src/net/ipc.h b/src/net/ipc.h
index aca398e52..463d5ea83 100644
--- a/src/net/ipc.h
+++ b/src/net/ipc.h
@@ -26,8 +26,6 @@
 #include <string>
 #include <vector>
 
-#include <SDL_thread.h>
-
 class IPC final
 {
     public:
diff --git a/src/net/logindata.h b/src/net/logindata.h
index 514b8fd6e..ddd3685be 100644
--- a/src/net/logindata.h
+++ b/src/net/logindata.h
@@ -29,8 +29,6 @@
 
 #include "utils/stringvector.h"
 
-#include <string>
-
 #include "localconsts.h"
 
 class LoginData final
diff --git a/src/net/loginhandler.h b/src/net/loginhandler.h
index c75004a70..c7dee1fcc 100644
--- a/src/net/loginhandler.h
+++ b/src/net/loginhandler.h
@@ -23,12 +23,10 @@
 #ifndef NET_LOGINHANDLER_H
 #define NET_LOGINHANDLER_H
 
-#include "net/logindata.h"
 #include "net/serverinfo.h"
 #include "net/worldinfo.h"
 
-#include <iosfwd>
-#include <vector>
+class LoginData;
 
 namespace Net
 {
diff --git a/src/net/messagehandler.h b/src/net/messagehandler.h
index 347d27d04..0d13053c5 100644
--- a/src/net/messagehandler.h
+++ b/src/net/messagehandler.h
@@ -25,10 +25,6 @@
 
 #include "net/messagein.h"
 
-#include <SDL_types.h>
-
-#include <memory>
-
 namespace Net
 {
 
diff --git a/src/net/partyhandler.h b/src/net/partyhandler.h
index 4bd27d15b..2d148d247 100644
--- a/src/net/partyhandler.h
+++ b/src/net/partyhandler.h
@@ -29,8 +29,6 @@
 
 #include "gui/widgets/tabs/chat/chattab.h"
 
-#include <string>
-
 class Being;
 
 namespace Net
diff --git a/src/net/playerhandler.h b/src/net/playerhandler.h
index 020eda605..10eac7462 100644
--- a/src/net/playerhandler.h
+++ b/src/net/playerhandler.h
@@ -25,8 +25,7 @@
 
 #include "flooritem.h"
 
-#include "being/being.h"
-#include "being/playerinfo.h"
+#include "enums/being/beingaction.h"
 
 namespace Net
 {
diff --git a/src/net/questhandler.h b/src/net/questhandler.h
index fa64500f9..5ca3f563e 100644
--- a/src/net/questhandler.h
+++ b/src/net/questhandler.h
@@ -21,8 +21,6 @@
 #ifndef NET_QUESTHANDLER_H
 #define NET_QUESTHANDLER_H
 
-#include <string>
-
 #include "localconsts.h"
 
 namespace Net
diff --git a/src/net/serverinfo.h b/src/net/serverinfo.h
index a1b0c5b41..a17e5b3b2 100644
--- a/src/net/serverinfo.h
+++ b/src/net/serverinfo.h
@@ -27,11 +27,6 @@
 
 #include "utils/stringutils.h"
 
-#include <SDL_stdinc.h>
-
-#include <string>
-#include <vector>
-
 #include "localconsts.h"
 
 class ServerInfo final
diff --git a/src/net/tmwa/loginhandler.h b/src/net/tmwa/loginhandler.h
index 5a1b11707..fa27859c7 100644
--- a/src/net/tmwa/loginhandler.h
+++ b/src/net/tmwa/loginhandler.h
@@ -27,8 +27,6 @@
 
 #include "net/tmwa/messagehandler.h"
 
-#include <string>
-
 namespace TmwAthena
 {
 
diff --git a/src/net/tmwa/messagehandler.h b/src/net/tmwa/messagehandler.h
index 43b551692..047dd82ff 100644
--- a/src/net/tmwa/messagehandler.h
+++ b/src/net/tmwa/messagehandler.h
@@ -25,8 +25,6 @@
 
 #include "net/messagehandler.h"
 
-#include <memory>
-
 namespace TmwAthena
 {
 
diff --git a/src/net/tradehandler.h b/src/net/tradehandler.h
index 09074c139..78cfdf17f 100644
--- a/src/net/tradehandler.h
+++ b/src/net/tradehandler.h
@@ -25,8 +25,6 @@
 
 #include "being/being.h"
 
-#include <iosfwd>
-
 #include "localconsts.h"
 
 class Item;
diff --git a/src/particle/particle.h b/src/particle/particle.h
index f5b2e561d..9925a40a9 100644
--- a/src/particle/particle.h
+++ b/src/particle/particle.h
@@ -27,9 +27,6 @@
 
 #include "localconsts.h"
 
-#include <list>
-#include <string>
-
 class Color;
 class Font;
 class Particle;
diff --git a/src/particle/particleemitterprop.h b/src/particle/particleemitterprop.h
index 06c80e3f4..8e0716f2e 100644
--- a/src/particle/particleemitterprop.h
+++ b/src/particle/particleemitterprop.h
@@ -24,7 +24,6 @@
 #define PARTICLE_PARTICLEEMITTERPROP_H
 
 #include <cmath>
-#include <cstdlib>
 
 #include "localconsts.h"
 
diff --git a/src/particle/particleinfo.h b/src/particle/particleinfo.h
index 36b3b2aeb..39acc2a12 100644
--- a/src/particle/particleinfo.h
+++ b/src/particle/particleinfo.h
@@ -23,7 +23,6 @@
 
 #include "particle/particle.h"
 
-#include <string>
 #include <vector>
 
 struct ParticleInfo final
diff --git a/src/render/graphics.h b/src/render/graphics.h
index 33ab2954e..c803b7746 100644
--- a/src/render/graphics.h
+++ b/src/render/graphics.h
@@ -67,6 +67,7 @@
 #define RENDER_GRAPHICS_H
 
 #include "sdlshared.h"
+#include "main.h"
 
 #include "enums/render/rendertype.h"
 
diff --git a/src/render/mgl.h b/src/render/mgl.h
index 8ae0d9f67..d8de629a5 100644
--- a/src/render/mgl.h
+++ b/src/render/mgl.h
@@ -22,6 +22,7 @@
 #define RENDER_MGL_H
 
 #include "main.h"
+
 #ifdef USE_OPENGL
 
 #include "render/mgldefines.h"
diff --git a/src/render/mgltypes.h b/src/render/mgltypes.h
index 510e77354..330524232 100644
--- a/src/render/mgltypes.h
+++ b/src/render/mgltypes.h
@@ -22,6 +22,7 @@
 #define RENDER_MGLTYPES_H
 
 #include "main.h"
+
 #ifdef USE_OPENGL
 
 #include "render/mgldefines.h"
diff --git a/src/render/mglx.h b/src/render/mglx.h
index 094520e76..575041a94 100644
--- a/src/render/mglx.h
+++ b/src/render/mglx.h
@@ -22,6 +22,7 @@
 #define RENDER_MGLX_H
 
 #include "main.h"
+
 #if defined(USE_OPENGL) && defined(USE_X11)
 
 #include "render/mglxtypes.h"
diff --git a/src/render/mglxtypes.h b/src/render/mglxtypes.h
index 427c0f202..c639a7d80 100644
--- a/src/render/mglxtypes.h
+++ b/src/render/mglxtypes.h
@@ -22,6 +22,7 @@
 #define RENDER_MGLXTYPES_H
 
 #include "main.h"
+
 #if defined(USE_OPENGL) && defined(USE_X11)
 
 #include <X11/Xlib.h>
diff --git a/src/render/mobileopenglgraphics.h b/src/render/mobileopenglgraphics.h
index 304481a39..16442bbc3 100644
--- a/src/render/mobileopenglgraphics.h
+++ b/src/render/mobileopenglgraphics.h
@@ -23,7 +23,6 @@
 #ifndef RENDER_MOBILEOPENGLGRAPHICS_H
 #define RENDER_MOBILEOPENGLGRAPHICS_H
 
-#include "main.h"
 #ifdef USE_OPENGL
 
 #include "localconsts.h"
@@ -43,8 +42,6 @@
 #include <GL/glext.h>
 #endif
 
-#include <set>
-
 class OpenGLGraphicsVertexes;
 
 class MobileOpenGLGraphics final : public Graphics
diff --git a/src/render/modernopenglgraphics.h b/src/render/modernopenglgraphics.h
index e395afb9c..db20aa2fb 100644
--- a/src/render/modernopenglgraphics.h
+++ b/src/render/modernopenglgraphics.h
@@ -23,7 +23,6 @@
 #ifndef RENDER_MODERNOPENGLGRAPHICS_H
 #define RENDER_MODERNOPENGLGRAPHICS_H
 
-#include "main.h"
 #if defined USE_OPENGL && !defined ANDROID
 
 #include "localconsts.h"
@@ -43,8 +42,6 @@
 #include <GL/glext.h>
 #endif
 
-#include <set>
-
 class OpenGLGraphicsVertexes;
 class ShaderProgram;
 
diff --git a/src/render/normalopenglgraphics.h b/src/render/normalopenglgraphics.h
index 29145115d..a3fbdc1fb 100644
--- a/src/render/normalopenglgraphics.h
+++ b/src/render/normalopenglgraphics.h
@@ -23,7 +23,6 @@
 #ifndef RENDER_NORMALOPENGLGRAPHICS_H
 #define RENDER_NORMALOPENGLGRAPHICS_H
 
-#include "main.h"
 #if defined USE_OPENGL && !defined ANDROID
 
 #include "localconsts.h"
@@ -43,8 +42,6 @@
 #include <GL/glext.h>
 #endif
 
-#include <set>
-
 class OpenGLGraphicsVertexes;
 
 class NormalOpenGLGraphics final : public Graphics
diff --git a/src/render/nullopenglgraphics.h b/src/render/nullopenglgraphics.h
index 5a5137f3d..f159fc7de 100644
--- a/src/render/nullopenglgraphics.h
+++ b/src/render/nullopenglgraphics.h
@@ -23,7 +23,6 @@
 #ifndef RENDER_NULLOPENGLGRAPHICS_H
 #define RENDER_NULLOPENGLGRAPHICS_H
 
-#include "main.h"
 #if defined USE_OPENGL
 
 #include "localconsts.h"
@@ -43,8 +42,6 @@
 #include <GL/glext.h>
 #endif
 
-#include <set>
-
 class OpenGLGraphicsVertexes;
 
 class NullOpenGLGraphics final : public Graphics
diff --git a/src/render/rendererslistsdl2.h b/src/render/rendererslistsdl2.h
index 15e307dba..f97228856 100644
--- a/src/render/rendererslistsdl2.h
+++ b/src/render/rendererslistsdl2.h
@@ -21,12 +21,10 @@
 #ifndef RENDER_RENDERERSLISTSDL2_H
 #define RENDER_RENDERERSLISTSDL2_H
 
-#include "utils/gettext.h"
-
-#include "render/renderers.h"
-
 #ifdef USE_SDL2
 
+#include "utils/gettext.h"
+
 #ifdef USE_OPENGL
 #ifdef ANDROID
 // defined OPENGL ANDROID
diff --git a/src/render/safeopenglgraphics.h b/src/render/safeopenglgraphics.h
index 04bf478a3..440ba7a39 100644
--- a/src/render/safeopenglgraphics.h
+++ b/src/render/safeopenglgraphics.h
@@ -23,7 +23,6 @@
 #ifndef RENDER_SAFEOPENGLGRAPHICS_H
 #define RENDER_SAFEOPENGLGRAPHICS_H
 
-#include "main.h"
 #if defined USE_OPENGL && !defined ANDROID
 
 #include "render/graphics.h"
diff --git a/src/resources/animation.h b/src/resources/animation.h
index 3a737a0c8..763818e4b 100644
--- a/src/resources/animation.h
+++ b/src/resources/animation.h
@@ -26,7 +26,6 @@
 #include "resources/frame.h"
 
 #include <vector>
-#include <string>
 
 #include "localconsts.h"
 
diff --git a/src/resources/beinginfo.h b/src/resources/beinginfo.h
index c0d00e1c6..43c711524 100644
--- a/src/resources/beinginfo.h
+++ b/src/resources/beinginfo.h
@@ -32,8 +32,6 @@
 
 #include "resources/map/blocktype.h"
 
-#include <map>
-
 struct Attack;
 
 namespace ColorDB
diff --git a/src/resources/beingmenuitem.h b/src/resources/beingmenuitem.h
index 78f4a6d84..7f0b43f01 100644
--- a/src/resources/beingmenuitem.h
+++ b/src/resources/beingmenuitem.h
@@ -21,10 +21,10 @@
 #ifndef RESOURCES_BEINGMENUITEM_H
 #define RESOURCES_BEINGMENUITEM_H
 
-#include "resources/image.h"
-
 #include <string>
 
+#include "localconsts.h"
+
 struct BeingMenuItem final
 {
     BeingMenuItem(const std::string &name0, const std::string &command0) :
diff --git a/src/resources/chatobject.h b/src/resources/chatobject.h
index 6095f37eb..b3945ec5f 100644
--- a/src/resources/chatobject.h
+++ b/src/resources/chatobject.h
@@ -23,8 +23,6 @@
 
 #include "resources/image.h"
 
-#include <string>
-
 struct ChatObject final
 {
     ChatObject() :
diff --git a/src/resources/db/mapdb.h b/src/resources/db/mapdb.h
index 120fcf289..e44c3e651 100644
--- a/src/resources/db/mapdb.h
+++ b/src/resources/db/mapdb.h
@@ -22,8 +22,6 @@
 #ifndef RESOURCES_DB_MAPDB_H
 #define RESOURCES_DB_MAPDB_H
 
-#include "utils/stringvector.h"
-
 #include "resources/mapinfo.h"
 
 #include <map>
diff --git a/src/resources/db/moddb.h b/src/resources/db/moddb.h
index 0333f9fd5..3af47255d 100644
--- a/src/resources/db/moddb.h
+++ b/src/resources/db/moddb.h
@@ -25,8 +25,6 @@
 
 #include "resources/modinfo.h"
 
-#include <string>
-
 #include "localconsts.h"
 
 class ModInfo;
diff --git a/src/resources/dyecolor.h b/src/resources/dyecolor.h
index 90571b5fb..2a3b32968 100644
--- a/src/resources/dyecolor.h
+++ b/src/resources/dyecolor.h
@@ -21,8 +21,6 @@
 #ifndef RESOURCES_DYECOLOR_H
 #define RESOURCES_DYECOLOR_H
 
-#include <SDL_stdinc.h>
-
 #include "localconsts.h"
 
 struct DyeColor final
diff --git a/src/resources/fboinfo.h b/src/resources/fboinfo.h
index 28b26b7b5..0898666e5 100644
--- a/src/resources/fboinfo.h
+++ b/src/resources/fboinfo.h
@@ -21,7 +21,6 @@
 #ifndef RESOURCES_FBOINFO_H
 #define RESOURCES_FBOINFO_H
 
-#include "main.h"
 #ifdef USE_OPENGL
 
 #include "render/graphics.h"
diff --git a/src/resources/image.h b/src/resources/image.h
index 568999b33..0484f52b7 100644
--- a/src/resources/image.h
+++ b/src/resources/image.h
@@ -24,7 +24,6 @@
 #define RESOURCES_IMAGE_H
 
 #include "localconsts.h"
-#include "main.h"
 
 #include "resources/resource.h"
 
diff --git a/src/resources/imagehelper.h b/src/resources/imagehelper.h
index afbfc25b4..5c33e8207 100644
--- a/src/resources/imagehelper.h
+++ b/src/resources/imagehelper.h
@@ -27,8 +27,6 @@
 
 #include "enums/render/rendertype.h"
 
-#include "resources/resource.h"
-
 #include <SDL_video.h>
 
 class Dye;
diff --git a/src/resources/iteminfo.h b/src/resources/iteminfo.h
index 4d69b5c36..55e35ea22 100644
--- a/src/resources/iteminfo.h
+++ b/src/resources/iteminfo.h
@@ -30,8 +30,6 @@
 #include "resources/soundinfo.h"
 #include "resources/spritedisplay.h"
 
-#include <map>
-
 namespace ColorDB
 {
     class ItemColor;
diff --git a/src/resources/itemtypemapdata.h b/src/resources/itemtypemapdata.h
index 77dd8c9aa..952329a24 100644
--- a/src/resources/itemtypemapdata.h
+++ b/src/resources/itemtypemapdata.h
@@ -25,8 +25,6 @@
 
 #include "resources/itemtypemap.h"
 
-#include <string>
-
 #include "localconsts.h"
 
 ItemTypeMap itemTypeMap[] =
diff --git a/src/resources/map/map.h b/src/resources/map/map.h
index a6bc81560..ade7de0be 100644
--- a/src/resources/map/map.h
+++ b/src/resources/map/map.h
@@ -36,7 +36,6 @@
 
 #include "listeners/configlistener.h"
 
-#include <string>
 #include <vector>
 
 class AmbientLayer;
diff --git a/src/resources/map/maplayer.cpp b/src/resources/map/maplayer.cpp
index 2c0f050b5..5f3c29586 100644
--- a/src/resources/map/maplayer.cpp
+++ b/src/resources/map/maplayer.cpp
@@ -32,6 +32,7 @@
 
 #include "render/graphics.h"
 
+#include "resources/image.h"
 #include "resources/mapitemtype.h"
 
 #include "resources/map/mapitem.h"
diff --git a/src/resources/map/maplayer.h b/src/resources/map/maplayer.h
index a5d789d11..4f06cddef 100644
--- a/src/resources/map/maplayer.h
+++ b/src/resources/map/maplayer.h
@@ -23,13 +23,10 @@
 #ifndef RESOURCES_MAP_MAPLAYER_H
 #define RESOURCES_MAP_MAPLAYER_H
 
-#include "main.h"
-
 #include "listeners/configlistener.h"
 
 #include "being/actor.h"
 
-#include <string>
 #include <vector>
 
 class Image;
diff --git a/src/resources/map/maprowvertexes.h b/src/resources/map/maprowvertexes.h
index ffd00b33f..e586f5530 100644
--- a/src/resources/map/maprowvertexes.h
+++ b/src/resources/map/maprowvertexes.h
@@ -25,8 +25,6 @@
 
 #include "graphicsvertexes.h"
 
-#include <vector>
-
 #include "localconsts.h"
 
 typedef std::vector<ImageVertexes*> MapRowImages;
diff --git a/src/resources/map/properties.h b/src/resources/map/properties.h
index e4a9ff3b9..d09a27aa3 100644
--- a/src/resources/map/properties.h
+++ b/src/resources/map/properties.h
@@ -27,7 +27,6 @@
 
 #include <map>
 #include <sstream>
-#include <string>
 
 /**
  * A class holding a set of properties.
diff --git a/src/resources/mapreader.h b/src/resources/mapreader.h
index d0e39ece4..c427a75b3 100644
--- a/src/resources/mapreader.h
+++ b/src/resources/mapreader.h
@@ -27,8 +27,6 @@
 
 #include "resources/map/maplayer.h"
 
-#include <string>
-
 class Map;
 class MapHeights;
 class MapLayer;
diff --git a/src/resources/modinfo.h b/src/resources/modinfo.h
index de13e6885..496489d28 100644
--- a/src/resources/modinfo.h
+++ b/src/resources/modinfo.h
@@ -21,8 +21,8 @@
 #ifndef RESOURCES_MODINFO_H
 #define RESOURCES_MODINFO_H
 
-#include <string>
 #include <map>
+#include <string>
 
 #include "localconsts.h"
 
diff --git a/src/resources/notifications.h b/src/resources/notifications.h
index 428b0da0c..78b19b7e9 100644
--- a/src/resources/notifications.h
+++ b/src/resources/notifications.h
@@ -23,8 +23,6 @@
 
 #include "localconsts.h"
 
-#include "enums/resources/notifyflags.h"
-
 #include "resources/notificationinfo.h"
 
 #include "utils/gettext.h"
diff --git a/src/resources/questitem.h b/src/resources/questitem.h
index af32ec06d..49186c29a 100644
--- a/src/resources/questitem.h
+++ b/src/resources/questitem.h
@@ -24,7 +24,6 @@
 #include "resources/questitemtext.h"
 
 #include <set>
-#include <string>
 #include <vector>
 
 #include "localconsts.h"
diff --git a/src/resources/resource.h b/src/resources/resource.h
index 01bd4f276..21117b5ef 100644
--- a/src/resources/resource.h
+++ b/src/resources/resource.h
@@ -23,9 +23,6 @@
 #ifndef RESOURCES_RESOURCE_H
 #define RESOURCES_RESOURCE_H
 
-#include "main.h"
-
-#include <ctime>
 #include <string>
 
 #include "localconsts.h"
diff --git a/src/resources/resourcemanager.h b/src/resources/resourcemanager.h
index 39fc47761..c98d7957f 100644
--- a/src/resources/resourcemanager.h
+++ b/src/resources/resourcemanager.h
@@ -23,11 +23,8 @@
 #ifndef RESOURCES_RESOURCEMANAGER_H
 #define RESOURCES_RESOURCEMANAGER_H
 
-#include "main.h"
-
 #include "utils/stringvector.h"
 
-#include <ctime>
 #include <map>
 #include <set>
 
diff --git a/src/resources/subimage.h b/src/resources/subimage.h
index 3282e1d1a..7edd546ee 100644
--- a/src/resources/subimage.h
+++ b/src/resources/subimage.h
@@ -24,7 +24,6 @@
 #define RESOURCES_SUBIMAGE_H
 
 #include "localconsts.h"
-#include "main.h"
 
 #ifdef USE_OPENGL
 
diff --git a/src/resources/wallpaper.cpp b/src/resources/wallpaper.cpp
index dc251f013..8dbccf8cc 100644
--- a/src/resources/wallpaper.cpp
+++ b/src/resources/wallpaper.cpp
@@ -30,6 +30,10 @@
 
 #include <algorithm>
 
+#ifdef WIN32
+#include <sys/time.h>
+#endif
+
 #include "debug.h"
 
 static bool wallpaperCompare(const WallpaperData &a, const WallpaperData &b);
diff --git a/src/settings.h b/src/settings.h
index 0721d57a9..f1c087038 100644
--- a/src/settings.h
+++ b/src/settings.h
@@ -25,7 +25,6 @@
 
 #include "resources/map/maptype.h"
 
-#include <string>
 #include <vector>
 
 #include "localconsts.h"
diff --git a/src/soundmanager.h b/src/soundmanager.h
index 364a4c1a9..f91a7ba10 100644
--- a/src/soundmanager.h
+++ b/src/soundmanager.h
@@ -27,8 +27,6 @@
 
 #include "listeners/configlistener.h"
 
-#include <string>
-
 #include "localconsts.h"
 
 class SDLMusic;
diff --git a/src/spellmanager.cpp b/src/spellmanager.cpp
index 90da0b06a..4b627ffde 100644
--- a/src/spellmanager.cpp
+++ b/src/spellmanager.cpp
@@ -25,6 +25,7 @@
 #include "configuration.h"
 
 #include "being/localplayer.h"
+#include "being/playerinfo.h"
 
 #include "enums/being/attributes.h"
 
diff --git a/src/spellmanager.h b/src/spellmanager.h
index c8aefe2f3..b80ff77cc 100644
--- a/src/spellmanager.h
+++ b/src/spellmanager.h
@@ -23,9 +23,6 @@
 #ifndef SPELLMANAGER_H
 #define SPELLMANAGER_H
 
-#include <string>
-#include <vector>
-
 #include "textcommand.h"
 
 #include "being/being.h"
diff --git a/src/test/testlauncher.h b/src/test/testlauncher.h
index 5047dfc8b..61ba168b8 100644
--- a/src/test/testlauncher.h
+++ b/src/test/testlauncher.h
@@ -21,8 +21,6 @@
 #ifndef TEST_TESTLAUNCHER_H
 #define TEST_TESTLAUNCHER_H
 
-#include "main.h"
-
 #ifdef USE_OPENGL
 
 #include <fstream>
diff --git a/src/test/testmain.h b/src/test/testmain.h
index 20251b8b9..b4e31fb19 100644
--- a/src/test/testmain.h
+++ b/src/test/testmain.h
@@ -23,7 +23,6 @@
 
 #include "configuration.h"
 #include "logger.h"
-#include "main.h"
 
 #include "render/renderers.h"
 
diff --git a/src/text.h b/src/text.h
index 8d04edbca..fbb36050b 100644
--- a/src/text.h
+++ b/src/text.h
@@ -26,8 +26,6 @@
 
 #include "render/graphics.h"
 
-#include "gui/color.h"
-
 #include "localconsts.h"
 
 class Font;
diff --git a/src/touchmanager.h b/src/touchmanager.h
index 4a31654bb..6a8e74627 100644
--- a/src/touchmanager.h
+++ b/src/touchmanager.h
@@ -27,7 +27,6 @@
 
 #include "gui/rect.h"
 
-#include <string>
 #include <vector>
 
 #include "localconsts.h"
diff --git a/src/utils/dtor.h b/src/utils/dtor.h
index 85bec5650..ad86253a2 100644
--- a/src/utils/dtor.h
+++ b/src/utils/dtor.h
@@ -25,7 +25,6 @@
 
 #include <algorithm>
 #include <functional>
-#include <utility>
 
 #include "localconsts.h"
 
diff --git a/src/utils/files.h b/src/utils/files.h
index 1addab440..42af06874 100644
--- a/src/utils/files.h
+++ b/src/utils/files.h
@@ -23,8 +23,6 @@
 
 #include "utils/stringvector.h"
 
-#include <string>
-
 #include "localconsts.h"
 
 namespace Files
diff --git a/src/utils/gettexthelper.h b/src/utils/gettexthelper.h
index f233dc236..49d45c55b 100644
--- a/src/utils/gettexthelper.h
+++ b/src/utils/gettexthelper.h
@@ -21,6 +21,10 @@
 #ifndef UTILS_GETTEXTHELPER_H
 #define UTILS_GETTEXTHELPER_H
 
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
 #include "localconsts.h"
 
 class GettextHelper final
diff --git a/src/utils/mathutils.h b/src/utils/mathutils.h
index 759049c42..69267186c 100644
--- a/src/utils/mathutils.h
+++ b/src/utils/mathutils.h
@@ -24,7 +24,6 @@
 #define UTILS_MATHUTILS_H
 
 #include <string>
-#include <cstring>
 
 #include "localconsts.h"
 
diff --git a/src/utils/mutex.h b/src/utils/mutex.h
index b3549a770..7fe3ad69c 100644
--- a/src/utils/mutex.h
+++ b/src/utils/mutex.h
@@ -25,8 +25,6 @@
 
 #include "logger.h"
 
-#include <SDL_thread.h>
-
 /**
  * A mutex provides mutual exclusion of access to certain data that is
  * accessed by multiple threads.
diff --git a/src/utils/sdlhelper.h b/src/utils/sdlhelper.h
index 87c01e159..3b3069ca7 100644
--- a/src/utils/sdlhelper.h
+++ b/src/utils/sdlhelper.h
@@ -21,6 +21,8 @@
 #ifndef UTILS_SDLHELPER_H
 #define UTILS_SDLHELPER_H
 
+#include "main.h"
+
 #ifdef USE_SDL2
 #include "utils/sdl2helper.h"
 
diff --git a/src/utils/stringutils.cpp b/src/utils/stringutils.cpp
index dac6dd7f2..cde03d1b1 100644
--- a/src/utils/stringutils.cpp
+++ b/src/utils/stringutils.cpp
@@ -24,6 +24,10 @@
 
 #include <algorithm>
 
+#ifdef WIN32
+#include <sys/time.h>
+#endif
+
 #include "debug.h"
 
 static size_t UTF8_MAX_SIZE = 10;
diff --git a/src/utils/translation/podict.h b/src/utils/translation/podict.h
index 395428098..991a6934c 100644
--- a/src/utils/translation/podict.h
+++ b/src/utils/translation/podict.h
@@ -21,8 +21,8 @@
 #ifndef UTILS_TRANSLATION_PODICT_H
 #define UTILS_TRANSLATION_PODICT_H
 
-#include <string>
 #include <map>
+#include <string>
 
 #include "localconsts.h"
 
diff --git a/src/utils/translation/poparser.h b/src/utils/translation/poparser.h
index a51dba13d..bb7816161 100644
--- a/src/utils/translation/poparser.h
+++ b/src/utils/translation/poparser.h
@@ -24,7 +24,6 @@
 #include "localconsts.h"
 
 #include <sstream>
-#include <string>
 
 class PoDict;
 
-- 
cgit v1.2.3-70-g09d2