From 55480eb4477b2cf85af1bcdcc5e8ec4f4ce6682d Mon Sep 17 00:00:00 2001
From: Andrei Karas <akaras@inbox.ru>
Date: Sun, 17 Apr 2016 20:03:14 +0300
Subject: Remove override keyword, if it present with final.

---
 src/actormanager.h                           |   2 +-
 src/being/actorsprite.h                      |   4 +-
 src/being/being.h                            |  18 ++---
 src/being/compoundsprite.h                   |  16 ++--
 src/being/flooritem.h                        |   8 +-
 src/being/localplayer.h                      |  30 +++----
 src/being/playerrelations.cpp                |  12 +--
 src/beingequipbackend.h                      |   4 +-
 src/client.cpp                               |   4 +-
 src/client.h                                 |   4 +-
 src/dyetool/client.h                         |   2 +-
 src/dyetool/gui/viewport.h                   |  16 ++--
 src/eventsmanager.h                          |   2 +-
 src/gui/dialogsmanager.h                     |   4 +-
 src/gui/models/avatarlistmodel.h             |   2 +-
 src/gui/models/beingslistmodel.h             |   4 +-
 src/gui/models/colorlistmodel.h              |   4 +-
 src/gui/models/colormodel.h                  |   4 +-
 src/gui/models/extendednamesmodel.h          |   6 +-
 src/gui/models/fontsizechoicelistmodel.h     |   4 +-
 src/gui/models/iconsmodel.h                  |   4 +-
 src/gui/models/ignorechoiceslistmodel.h      |   4 +-
 src/gui/models/itemsmodel.h                  |   4 +-
 src/gui/models/keylistmodel.h                |   4 +-
 src/gui/models/langlistmodel.h               |   6 +-
 src/gui/models/magicschoolmodel.h            |   4 +-
 src/gui/models/modelistmodel.h               |   4 +-
 src/gui/models/namesmodel.h                  |   4 +-
 src/gui/models/opengllistmodel.h             |   4 +-
 src/gui/models/playerrelationlistmodel.h     |   4 +-
 src/gui/models/playertablemodel.h            |  10 +--
 src/gui/models/serverslistmodel.h            |   4 +-
 src/gui/models/shopitems.h                   |   4 +-
 src/gui/models/skillmodel.h                  |   4 +-
 src/gui/models/sortlistmodelbuy.h            |   4 +-
 src/gui/models/sortlistmodelinv.h            |   4 +-
 src/gui/models/tablemodel.h                  |  10 +--
 src/gui/models/targettypemodel.h             |   4 +-
 src/gui/models/typelistmodel.h               |   4 +-
 src/gui/models/updatelistmodel.h             |   4 +-
 src/gui/models/updatetypemodel.h             |   4 +-
 src/gui/models/worldlistmodel.h              |   4 +-
 src/gui/popups/beingpopup.h                  |   2 +-
 src/gui/popups/createpartypopup.h            |   4 +-
 src/gui/popups/itempopup.h                   |   4 +-
 src/gui/popups/popupmenu.h                   |   6 +-
 src/gui/popups/skillpopup.h                  |   4 +-
 src/gui/popups/speechbubble.h                |   2 +-
 src/gui/popups/spellpopup.h                  |   4 +-
 src/gui/popups/statuspopup.h                 |   2 +-
 src/gui/popups/textboxpopup.h                |   4 +-
 src/gui/popups/textpopup.h                   |   4 +-
 src/gui/theme.h                              |   2 +-
 src/gui/userpalette.h                        |   4 +-
 src/gui/viewport.h                           |  16 ++--
 src/gui/widgets/avatarlistbox.h              |  10 +--
 src/gui/widgets/browserbox.h                 |  10 +--
 src/gui/widgets/button.h                     |  30 +++----
 src/gui/widgets/characterdisplay.h           |  10 +--
 src/gui/widgets/characterviewnormal.h        |   4 +-
 src/gui/widgets/characterviewsmall.h         |   6 +-
 src/gui/widgets/chatinput.h                  |   2 +-
 src/gui/widgets/checkbox.h                   |  20 ++---
 src/gui/widgets/colorpage.h                  |   6 +-
 src/gui/widgets/desktop.h                    |  10 +--
 src/gui/widgets/dropdown.h                   |  22 +++---
 src/gui/widgets/emotepage.h                  |  10 +--
 src/gui/widgets/emoteshortcutcontainer.h     |  18 ++---
 src/gui/widgets/extendedlistbox.h            |   6 +-
 src/gui/widgets/flowcontainer.h              |   4 +-
 src/gui/widgets/guitable.h                   |  26 +++----
 src/gui/widgets/horizontcontainer.h          |   4 +-
 src/gui/widgets/icon.h                       |   4 +-
 src/gui/widgets/inttextfield.h               |   2 +-
 src/gui/widgets/itemcontainer.h              |  24 +++---
 src/gui/widgets/itemlinkhandler.h            |   2 +-
 src/gui/widgets/itemshortcutcontainer.h      |  18 ++---
 src/gui/widgets/label.h                      |  10 +--
 src/gui/widgets/layouthelper.h               |   2 +-
 src/gui/widgets/listbox.h                    |   8 +-
 src/gui/widgets/passwordfield.h              |   4 +-
 src/gui/widgets/playerbox.h                  |  10 +--
 src/gui/widgets/popup.h                      |   2 +-
 src/gui/widgets/popuplist.h                  |  12 +--
 src/gui/widgets/progressbar.h                |  12 +--
 src/gui/widgets/progressindicator.h          |   6 +-
 src/gui/widgets/radiobutton.h                |  20 ++---
 src/gui/widgets/radiogroup.h                 |   2 +-
 src/gui/widgets/scrollarea.h                 |  36 ++++-----
 src/gui/widgets/selldialog.h                 |   6 +-
 src/gui/widgets/serverslistbox.h             |   6 +-
 src/gui/widgets/setupbuttonitem.h            |  16 ++--
 src/gui/widgets/setupitem.h                  |  68 ++++++++--------
 src/gui/widgets/setupquickitem.h             |  18 ++---
 src/gui/widgets/setuptouchitem.h             |   4 +-
 src/gui/widgets/shoplistbox.h                |  12 +--
 src/gui/widgets/shortcutcontainer.h          |   4 +-
 src/gui/widgets/skilllistbox.h               |  16 ++--
 src/gui/widgets/slider.h                     |  18 ++---
 src/gui/widgets/sliderlist.h                 |  10 +--
 src/gui/widgets/spellshortcutcontainer.h     |  18 ++---
 src/gui/widgets/statuswindowattrs.h          |   8 +-
 src/gui/widgets/tabbedarea.h                 |  18 ++---
 src/gui/widgets/tabs/chat/channeltab.h       |   6 +-
 src/gui/widgets/tabs/chat/chattab.h          |   2 +-
 src/gui/widgets/tabs/chat/emulateguildtab.h  |  12 +--
 src/gui/widgets/tabs/chat/gmtab.h            |   6 +-
 src/gui/widgets/tabs/chat/guildtab.h         |  12 +--
 src/gui/widgets/tabs/chat/partytab.h         |  12 +--
 src/gui/widgets/tabs/chat/tradetab.h         |   2 +-
 src/gui/widgets/tabs/chat/whispertab.h       |  10 +--
 src/gui/widgets/tabs/debugwindowtabs.h       |   6 +-
 src/gui/widgets/tabs/setup_audio.h           |   2 +-
 src/gui/widgets/tabs/setup_chat.h            |   4 +-
 src/gui/widgets/tabs/setup_colors.h          |   8 +-
 src/gui/widgets/tabs/setup_input.h           |   6 +-
 src/gui/widgets/tabs/setup_joystick.h        |   6 +-
 src/gui/widgets/tabs/setup_mods.h            |   6 +-
 src/gui/widgets/tabs/setup_other.h           |   4 +-
 src/gui/widgets/tabs/setup_relations.h       |  12 +--
 src/gui/widgets/tabs/setup_theme.h           |   6 +-
 src/gui/widgets/tabs/setup_video.h           |   6 +-
 src/gui/widgets/tabs/setup_visual.h          |   2 +-
 src/gui/widgets/tabs/setuptabscroll.h        |   8 +-
 src/gui/widgets/tabs/socialattacktab.h       |   2 +-
 src/gui/widgets/tabs/socialfriendstab.h      |   2 +-
 src/gui/widgets/tabs/socialguildtab.h        |   8 +-
 src/gui/widgets/tabs/socialguildtab2.h       |   4 +-
 src/gui/widgets/tabs/socialnavigationtab.h   |   4 +-
 src/gui/widgets/tabs/socialpartytab.h        |   8 +-
 src/gui/widgets/tabs/socialpickuptab.h       |   2 +-
 src/gui/widgets/tabs/socialplayerstab.h      |   6 +-
 src/gui/widgets/tabs/socialtab.h             |   2 +-
 src/gui/widgets/tabs/tab.h                   |  12 +--
 src/gui/widgets/tabstrip.h                   |   4 +-
 src/gui/widgets/textbox.h                    |  12 +--
 src/gui/widgets/textfield.h                  |  18 ++---
 src/gui/widgets/textpreview.h                |   4 +-
 src/gui/widgets/vertcontainer.h              |   4 +-
 src/gui/widgets/virtshortcutcontainer.h      |  18 ++---
 src/gui/widgets/widgetgroup.h                |   4 +-
 src/gui/windowmenu.h                         |  14 ++--
 src/gui/windows/bankwindow.h                 |   6 +-
 src/gui/windows/buydialog.h                  |   8 +-
 src/gui/windows/buyingstoreselldialog.h      |   2 +-
 src/gui/windows/buyselldialog.h              |   4 +-
 src/gui/windows/changeemaildialog.h          |   2 +-
 src/gui/windows/changepassworddialog.h       |   2 +-
 src/gui/windows/charcreatedialog.h           |   6 +-
 src/gui/windows/chardeleteconfirm.h          |   2 +-
 src/gui/windows/charselectdialog.h           |  10 +--
 src/gui/windows/chatwindow.h                 |  32 ++++----
 src/gui/windows/confirmdialog.h              |   2 +-
 src/gui/windows/connectiondialog.h           |   8 +-
 src/gui/windows/cutinwindow.h                |   6 +-
 src/gui/windows/debugwindow.h                |   8 +-
 src/gui/windows/didyouknowwindow.h           |   8 +-
 src/gui/windows/editdialog.h                 |   4 +-
 src/gui/windows/editserverdialog.h           |   6 +-
 src/gui/windows/eggselectiondialog.h         |   4 +-
 src/gui/windows/emotewindow.h                |   6 +-
 src/gui/windows/equipmentwindow.h            |  16 ++--
 src/gui/windows/helpwindow.h                 |   4 +-
 src/gui/windows/insertcarddialog.h           |   4 +-
 src/gui/windows/inventorywindow.h            |  28 +++----
 src/gui/windows/itemamountwindow.h           |  12 +--
 src/gui/windows/killstats.h                  |   4 +-
 src/gui/windows/logindialog.h                |   8 +-
 src/gui/windows/maileditwindow.h             |   4 +-
 src/gui/windows/mailviewwindow.h             |   2 +-
 src/gui/windows/mailwindow.h                 |   6 +-
 src/gui/windows/minimap.h                    |  14 ++--
 src/gui/windows/ministatuswindow.h           |  24 +++---
 src/gui/windows/npcdialog.h                  |  18 ++---
 src/gui/windows/npcselldialog.h              |   4 +-
 src/gui/windows/okdialog.h                   |   2 +-
 src/gui/windows/outfitwindow.h               |  12 +--
 src/gui/windows/questswindow.h               |   2 +-
 src/gui/windows/quitdialog.h                 |   6 +-
 src/gui/windows/serverdialog.h               |  14 ++--
 src/gui/windows/setupwindow.h                |   8 +-
 src/gui/windows/shopselldialog.h             |   2 +-
 src/gui/windows/shopwindow.h                 |  16 ++--
 src/gui/windows/shortcutwindow.h             |   8 +-
 src/gui/windows/skilldialog.h                |   6 +-
 src/gui/windows/socialwindow.h               |  10 +--
 src/gui/windows/statuswindow.h               |   4 +-
 src/gui/windows/textcommandeditor.h          |   6 +-
 src/gui/windows/textdialog.h                 |   6 +-
 src/gui/windows/textselectdialog.h           |   6 +-
 src/gui/windows/tradewindow.h                |   8 +-
 src/gui/windows/unregisterdialog.h           |   4 +-
 src/gui/windows/updaterwindow.h              |  10 +--
 src/gui/windows/whoisonline.h                |  12 +--
 src/gui/windows/worldselectdialog.h          |   6 +-
 src/guild.h                                  |   6 +-
 src/input/touch/touchmanager.h               |   2 +-
 src/listeners/awaylistener.h                 |   2 +-
 src/listeners/charrenamelistener.h           |   2 +-
 src/listeners/errorlistener.h                |   2 +-
 src/listeners/guiconfiglistener.h            |   2 +-
 src/listeners/guitableactionlistener.h       |   2 +-
 src/listeners/inputactionremotelistener.h    |   2 +-
 src/listeners/inputactionreplaylistener.h    |   2 +-
 src/listeners/insertcardlistener.h           |   2 +-
 src/listeners/openurllistener.h              |   2 +-
 src/listeners/pincodelistener.h              |   2 +-
 src/listeners/playerlistener.h               |   2 +-
 src/listeners/playerpostdeathlistener.h      |   2 +-
 src/listeners/renamelistener.h               |   2 +-
 src/listeners/requestadoptchildlistener.h    |   2 +-
 src/listeners/requesttradelistener.h         |   2 +-
 src/listeners/shoprenamelistener.h           |   2 +-
 src/listeners/skillwarplistener.h            |   2 +-
 src/listeners/textskilllistener.h            |   2 +-
 src/listeners/uploadlistener.h               |   2 +-
 src/listeners/weightlistener.h               |   2 +-
 src/listeners/wrongdatanoticelistener.h      |   2 +-
 src/net/ea/adminhandler.h                    |  18 ++---
 src/net/ea/charserverhandler.h               |  12 +--
 src/net/ea/chathandler.h                     |   4 +-
 src/net/ea/equipbackend.h                    |   4 +-
 src/net/ea/gamehandler.h                     |   8 +-
 src/net/ea/guildhandler.h                    |   4 +-
 src/net/ea/inventoryhandler.h                |  16 ++--
 src/net/ea/loginhandler.h                    |  20 ++---
 src/net/ea/npchandler.h                      |   2 +-
 src/net/ea/partyhandler.h                    |  10 +--
 src/net/ea/playerhandler.h                   |   8 +-
 src/net/ea/tradehandler.h                    |   2 +-
 src/net/eathena/adminhandler.h               | 112 +++++++++++++--------------
 src/net/eathena/auctionhandler.h             |  18 ++---
 src/net/eathena/bankhandler.h                |  10 +--
 src/net/eathena/battlegroundhandler.h        |   8 +-
 src/net/eathena/beinghandler.h               |  10 +--
 src/net/eathena/buyingstorehandler.h         |   8 +-
 src/net/eathena/buysellhandler.h             |  10 +--
 src/net/eathena/cashshophandler.h            |  12 +--
 src/net/eathena/charserverhandler.h          |  24 +++---
 src/net/eathena/chathandler.h                |  42 +++++-----
 src/net/eathena/familyhandler.h              |   4 +-
 src/net/eathena/friendshandler.h             |   6 +-
 src/net/eathena/gamehandler.h                |  16 ++--
 src/net/eathena/generalhandler.h             |  18 ++---
 src/net/eathena/guildhandler.h               |  40 +++++-----
 src/net/eathena/homunculushandler.h          |  18 ++---
 src/net/eathena/inventoryhandler.h           |  34 ++++----
 src/net/eathena/loginhandler.h               |  20 ++---
 src/net/eathena/mailhandler.h                |  18 ++---
 src/net/eathena/markethandler.h              |   6 +-
 src/net/eathena/mercenaryhandler.h           |  14 ++--
 src/net/eathena/messagein.h                  |   8 +-
 src/net/eathena/messageout.h                 |   8 +-
 src/net/eathena/npchandler.h                 |  42 +++++-----
 src/net/eathena/partyhandler.h               |  22 +++---
 src/net/eathena/pethandler.h                 |  26 +++----
 src/net/eathena/playerhandler.h              |  46 +++++------
 src/net/eathena/questhandler.h               |   2 +-
 src/net/eathena/searchstorehandler.h         |   8 +-
 src/net/eathena/serverfeatures.h             | 104 ++++++++++++-------------
 src/net/eathena/skillhandler.h               |  14 ++--
 src/net/eathena/tradehandler.h               |  14 ++--
 src/net/eathena/vendinghandler.h             |  10 +--
 src/net/tmwa/adminhandler.h                  | 112 +++++++++++++--------------
 src/net/tmwa/auctionhandler.h                |  18 ++---
 src/net/tmwa/bankhandler.h                   |  10 +--
 src/net/tmwa/battlegroundhandler.h           |   8 +-
 src/net/tmwa/beinghandler.h                  |  10 +--
 src/net/tmwa/buyingstorehandler.h            |   8 +-
 src/net/tmwa/buysellhandler.h                |  10 +--
 src/net/tmwa/cashshophandler.h               |  12 +--
 src/net/tmwa/charserverhandler.h             |  24 +++---
 src/net/tmwa/chathandler.h                   |  42 +++++-----
 src/net/tmwa/familyhandler.h                 |   4 +-
 src/net/tmwa/friendshandler.h                |   6 +-
 src/net/tmwa/gamehandler.h                   |  16 ++--
 src/net/tmwa/generalhandler.h                |  18 ++---
 src/net/tmwa/guildhandler.h                  |  40 +++++-----
 src/net/tmwa/homunculushandler.h             |  18 ++---
 src/net/tmwa/inventoryhandler.h              |  34 ++++----
 src/net/tmwa/loginhandler.h                  |  20 ++---
 src/net/tmwa/mailhandler.h                   |  18 ++---
 src/net/tmwa/markethandler.h                 |   6 +-
 src/net/tmwa/mercenaryhandler.h              |  14 ++--
 src/net/tmwa/messagein.h                     |   8 +-
 src/net/tmwa/messageout.h                    |   8 +-
 src/net/tmwa/npchandler.h                    |  42 +++++-----
 src/net/tmwa/partyhandler.h                  |  22 +++---
 src/net/tmwa/pethandler.h                    |  26 +++----
 src/net/tmwa/playerhandler.h                 |  46 +++++------
 src/net/tmwa/questhandler.h                  |   2 +-
 src/net/tmwa/searchstorehandler.h            |   8 +-
 src/net/tmwa/serverfeatures.h                | 104 ++++++++++++-------------
 src/net/tmwa/skillhandler.h                  |  14 ++--
 src/net/tmwa/tradehandler.h                  |  14 ++--
 src/net/tmwa/vendinghandler.h                |  10 +--
 src/particle/imageparticle.h                 |   4 +-
 src/particle/particle.h                      |   4 +-
 src/particle/particlelist.h                  |   4 +-
 src/particle/particlevector.h                |   4 +-
 src/particle/textparticle.h                  |   6 +-
 src/party.h                                  |   4 +-
 src/render/graphicsdef.hpp                   |  52 ++++++-------
 src/render/imagegraphics.h                   |  56 +++++++-------
 src/render/mobileopengl2graphics.h           |  16 ++--
 src/render/mobileopenglgraphics.h            |   2 +-
 src/render/modernopenglgraphics.h            |  16 ++--
 src/render/normalopenglgraphics.h            |   2 +-
 src/render/openglgraphicsdef.hpp             |   8 +-
 src/render/openglgraphicsdef1.hpp            |   2 +-
 src/render/openglgraphicsdefadvanced.hpp     |   2 +-
 src/render/safeopenglgraphics.h              |   2 +-
 src/render/sdl2softwaregraphics.h            |   4 +-
 src/render/softwaregraphicsdef.hpp           |   2 +-
 src/render/surfacegraphics.h                 |  56 +++++++-------
 src/resources/atlas/atlasresource.h          |   4 +-
 src/resources/inventory/complexinventory.h   |   4 +-
 src/resources/map/map.h                      |   2 +-
 src/resources/map/maplayer.h                 |   2 +-
 src/resources/mobileopenglscreenshothelper.h |   4 +-
 src/resources/openglimagehelper.h            |  12 +--
 src/resources/openglscreenshothelper.h       |   4 +-
 src/resources/safeopenglimagehelper.h        |  12 +--
 src/resources/sdl2imagehelper.h              |   6 +-
 src/resources/sdl2softwareimagehelper.h      |   4 +-
 src/resources/sdl2softwarescreenshothelper.h |   4 +-
 src/resources/sdlimagehelper.h               |   8 +-
 src/resources/sdlscreenshothelper.h          |   4 +-
 src/resources/sprite/animatedsprite.h        |  26 +++----
 src/resources/sprite/imagesprite.h           |  22 +++---
 src/resources/subimage.h                     |   4 +-
 src/resources/surfaceimagehelper.h           |   6 +-
 src/soundmanager.h                           |   2 +-
 src/text.h                                   |   2 +-
 src/variabledata.h                           |   8 +-
 335 files changed, 1820 insertions(+), 1820 deletions(-)

diff --git a/src/actormanager.h b/src/actormanager.h
index 7ab4b1d67..27024d4f9 100644
--- a/src/actormanager.h
+++ b/src/actormanager.h
@@ -292,7 +292,7 @@ class ActorManager final: public ConfigListener
 
         bool pickUpNearest(const int x, const int y, int maxdist) const;
 
-        void optionChanged(const std::string &name) override final;
+        void optionChanged(const std::string &name) final;
 
         void removeAttackMob(const std::string &name);
 
diff --git a/src/being/actorsprite.h b/src/being/actorsprite.h
index 0eac9807d..b0d7b52c2 100644
--- a/src/being/actorsprite.h
+++ b/src/being/actorsprite.h
@@ -121,10 +121,10 @@ class ActorSprite notfinal : public CompoundSprite, public Actor
 
         void setStatusEffectOpiton0(const uint32_t option);
 
-        void setAlpha(const float alpha) override final
+        void setAlpha(const float alpha) final
         { CompoundSprite::setAlpha(alpha); }
 
-        float getAlpha() const override final A_WARN_UNUSED
+        float getAlpha() const final A_WARN_UNUSED
         { return CompoundSprite::getAlpha(); }
 
         int getWidth() const override A_WARN_UNUSED
diff --git a/src/being/being.h b/src/being/being.h
index 606db0a35..4b8a03152 100644
--- a/src/being/being.h
+++ b/src/being/being.h
@@ -106,7 +106,7 @@ class Being notfinal : public ActorSprite,
 
         virtual ~Being();
 
-        ActorTypeT getType() const restrict2 noexcept override final
+        ActorTypeT getType() const restrict2 noexcept final
                            A_WARN_UNUSED
         { return mType; }
 
@@ -364,7 +364,7 @@ class Being notfinal : public ActorSprite,
         const BeingInfo *getInfo() const restrict2 noexcept A_WARN_UNUSED
         { return mInfo; }
 
-        TargetCursorSizeT getTargetCursorSize() const restrict2 override final
+        TargetCursorSizeT getTargetCursorSize() const restrict2 final
                                               A_WARN_UNUSED;
 
         int getTargetOffsetX() const restrict2 override A_WARN_UNUSED
@@ -484,13 +484,13 @@ class Being notfinal : public ActorSprite,
         /**
          * Returns the horizontal size of the current base sprite of the being.
          */
-        int getWidth() const restrict2 override final A_WARN_UNUSED
+        int getWidth() const restrict2 final A_WARN_UNUSED
         { return std::max(CompoundSprite::getWidth(), DEFAULT_BEING_WIDTH); }
 
         /**
          * Returns the vertical size of the current base sprite of the being.
          */
-        int getHeight() const restrict2 override final A_WARN_UNUSED
+        int getHeight() const restrict2 final A_WARN_UNUSED
         { return std::max(CompoundSprite::getHeight(), DEFAULT_BEING_HEIGHT); }
 
         /**
@@ -529,7 +529,7 @@ class Being notfinal : public ActorSprite,
         virtual void drawSpritesSDL(Graphics *restrict const graphics,
                                     const int posX,
                                     const int posY) const
-                                    restrict2 override final A_NONNULL(2);
+                                    restrict2 final A_NONNULL(2);
 
         void drawHpBar(Graphics *restrict const graphics,
                        const int maxHP,
@@ -629,7 +629,7 @@ class Being notfinal : public ActorSprite,
         void draw(Graphics *restrict const graphics,
                   const int offsetX,
                   const int offsetY) const
-                  restrict2 override final A_NONNULL(2);
+                  restrict2 final A_NONNULL(2);
 
         void drawPlayer(Graphics *restrict const graphics,
                         const int offsetX,
@@ -916,14 +916,14 @@ class Being notfinal : public ActorSprite,
         { return mLastAttackY; }
 
 #ifdef EATHENA_SUPPORT
-        void setTrickDead(const bool b) restrict2 override final;
+        void setTrickDead(const bool b) restrict2 final;
 
         void setChat(ChatObject *restrict const obj) restrict2;
 
         ChatObject *getChat() const restrict2 noexcept
         { return mChat; }
 
-        void setRiding(const bool b) restrict2 override final;
+        void setRiding(const bool b) restrict2 final;
 
         void setHorse(const int horseId) restrict2;
 
@@ -944,7 +944,7 @@ class Being notfinal : public ActorSprite,
         unsigned int getSpiritBalls() const restrict2 noexcept A_WARN_UNUSED
         { return mSpiritBalls; }
 
-        void stopCast(const bool b) override final;
+        void stopCast(const bool b) final;
 
         void setCreatorId(const BeingId id)
         { mCreatorId = id; }
diff --git a/src/being/compoundsprite.h b/src/being/compoundsprite.h
index 71a77e87e..d6a5d67fc 100644
--- a/src/being/compoundsprite.h
+++ b/src/being/compoundsprite.h
@@ -44,11 +44,11 @@ class CompoundSprite notfinal : public Sprite
 
         virtual ~CompoundSprite();
 
-        bool reset() override final;
+        bool reset() final;
 
-        bool play(const std::string &action) override final;
+        bool play(const std::string &action) final;
 
-        bool update(const int time) override final;
+        bool update(const int time) final;
 
         void drawSimple(Graphics *const graphics,
                         const int posX,
@@ -64,16 +64,16 @@ class CompoundSprite notfinal : public Sprite
          */
         int getHeight() const override A_WARN_UNUSED;
 
-        const Image *getImage() const override final A_WARN_UNUSED;
+        const Image *getImage() const final A_WARN_UNUSED;
 
         bool setSpriteDirection(const SpriteDirection::Type direction)
-                                override final;
+                                final;
 
         int getNumberOfLayers() const A_WARN_UNUSED;
 
-        unsigned int getCurrentFrame() const override final A_WARN_UNUSED;
+        unsigned int getCurrentFrame() const final A_WARN_UNUSED;
 
-        unsigned int getFrameCount() const override final A_WARN_UNUSED;
+        unsigned int getFrameCount() const final A_WARN_UNUSED;
 
         void addSprite(Sprite *const sprite);
 
@@ -95,7 +95,7 @@ class CompoundSprite notfinal : public Sprite
 
         void setAlpha(float alpha) override;
 
-        bool updateNumber(const unsigned num) override final;
+        bool updateNumber(const unsigned num) final;
 
         static void setEnableDelay(bool b)
         { mEnableDelay = b; }
diff --git a/src/being/flooritem.h b/src/being/flooritem.h
index 1b5b87d3e..b62d00e7b 100644
--- a/src/being/flooritem.h
+++ b/src/being/flooritem.h
@@ -68,12 +68,12 @@ class FloorItem final : public ActorSprite
 
         void postInit(Map *const map, int subX, int subY);
 
-        ActorTypeT getType() const noexcept override final A_WARN_UNUSED
+        ActorTypeT getType() const noexcept final A_WARN_UNUSED
         { return ActorType::FloorItem; }
 
         void draw(Graphics *const graphics,
                   const int offsetX, const int offsetY)
-                  const override final A_NONNULL(2);
+                  const final A_NONNULL(2);
 
         /**
          * Returns the item ID.
@@ -89,10 +89,10 @@ class FloorItem final : public ActorSprite
 
         std::string getName() const A_WARN_UNUSED;
 
-        int getTileX() const override final A_WARN_UNUSED
+        int getTileX() const final A_WARN_UNUSED
         { return mX; }
 
-        int getTileY() const override final A_WARN_UNUSED
+        int getTileY() const final A_WARN_UNUSED
         { return mY; }
 
         void incrementPickup()
diff --git a/src/being/localplayer.h b/src/being/localplayer.h
index ccecb18fb..efab5ff3c 100644
--- a/src/being/localplayer.h
+++ b/src/being/localplayer.h
@@ -66,12 +66,12 @@ class LocalPlayer final : public Being,
          */
         ~LocalPlayer();
 
-        void logic() override final;
+        void logic() final;
 
         void slowLogic();
 
         void setAction(const BeingActionT &action,
-                       const int attackType = 0) override final;
+                       const int attackType = 0) final;
 
         /**
          * Compute the next pathnode location when walking using keyboard.
@@ -86,7 +86,7 @@ class LocalPlayer final : public Being,
          * Also, when specified, it picks up an item at the end of a path
          * or attack target.
          */
-        void nextTile() override final
+        void nextTile() final
         { nextTile(0); }
 
         void nextTile(unsigned char dir);
@@ -98,7 +98,7 @@ class LocalPlayer final : public Being,
          * @param actorSprite the ActorSprite being destroyed.
          */
         void actorSpriteDestroyed(const ActorSprite &actorSprite)
-                                  override final;
+                                  final;
 
         /**
          * Gets the attack range.
@@ -184,7 +184,7 @@ class LocalPlayer final : public Being,
                       const BeingId floorItemId,
                       const PickupT fail);
 
-        int getLevel() const override final A_WARN_UNUSED;
+        int getLevel() const final A_WARN_UNUSED;
 
         /** Tells that the path has been set by mouse. */
         void pathSetByMouse()
@@ -277,7 +277,7 @@ class LocalPlayer final : public Being,
         /**
          * Sets the map the being is on
          */
-        void setMap(Map *const map) override final;
+        void setMap(Map *const map) final;
 
         void addMessageToQueue(const std::string &message,
                                const UserColorIdT color
@@ -286,9 +286,9 @@ class LocalPlayer final : public Being,
         /**
          * Called when a option (set with config.addListener()) is changed
          */
-        void optionChanged(const std::string &value) override final;
+        void optionChanged(const std::string &value) final;
 
-        void playerDeath() override final;
+        void playerDeath() final;
 
         /**
          * set a following player.
@@ -365,7 +365,7 @@ class LocalPlayer final : public Being,
 
         void checkNewName(Being *const being);
 
-        unsigned char getBlockWalkMask() const override final
+        unsigned char getBlockWalkMask() const final
                                        A_CONST A_WARN_UNUSED;
 
         void saveHomes();
@@ -390,19 +390,19 @@ class LocalPlayer final : public Being,
         void setTestParticle(const std::string &fileName,
                              const bool updateHash = true);
 
-        int getLastAttackX() const override final
+        int getLastAttackX() const final
         { return mTarget ? mTarget->mX : mLastAttackX; }
 
-        int getLastAttackY() const override final
+        int getLastAttackY() const final
         { return mTarget ? mTarget->mY : mLastAttackY; }
 
         void attributeChanged(const AttributesT id,
                               const int oldVal,
-                              const int newVal) override final;
+                              const int newVal) final;
 
         void statChanged(const AttributesT id,
                          const int oldVal1,
-                         const int oldVal2) override final;
+                         const int oldVal2) final;
 
         void updateMusic() const;
 
@@ -424,10 +424,10 @@ class LocalPlayer final : public Being,
         bool canMove() const;
 
     protected:
-        void updateCoords() override final;
+        void updateCoords() final;
 
         void handleStatusEffect(const StatusEffect *const effect,
-                                const int32_t effectId) override final;
+                                const int32_t effectId) final;
 
         void startWalking(const unsigned char dir);
 
diff --git a/src/being/playerrelations.cpp b/src/being/playerrelations.cpp
index d996b03e3..69b410d3c 100644
--- a/src/being/playerrelations.cpp
+++ b/src/being/playerrelations.cpp
@@ -80,7 +80,7 @@ namespace
         public:
             ConfigurationObject *writeConfigItem(
                 const std::pair<std::string, PlayerRelation *> &value,
-                ConfigurationObject *const cobj) const override final
+                ConfigurationObject *const cobj) const final
             {
                 if (!cobj || !value.second)
                     return nullptr;
@@ -94,7 +94,7 @@ namespace
             std::map<std::string, PlayerRelation *> *
             readConfigItem(const ConfigurationObject *const cobj,
                            std::map<std::string, PlayerRelation *>
-                           *const container) const override final
+                           *const container) const final
             {
                 if (!cobj || !container)
                     return container;
@@ -473,7 +473,7 @@ class PIS_nothing final : public PlayerIgnoreStrategy
         }
 
         void ignore(Being *const being A_UNUSED,
-                    const unsigned int flags A_UNUSED) const override final
+                    const unsigned int flags A_UNUSED) const final
         {
         }
 };
@@ -490,7 +490,7 @@ class PIS_dotdotdot final : public PlayerIgnoreStrategy
         }
 
         void ignore(Being *const being,
-                    const unsigned int flags A_UNUSED) const override final
+                    const unsigned int flags A_UNUSED) const final
         {
             if (!being)
                 return;
@@ -513,7 +513,7 @@ class PIS_blinkname final : public PlayerIgnoreStrategy
         }
 
         void ignore(Being *const being,
-                    const unsigned int flags A_UNUSED) const override final
+                    const unsigned int flags A_UNUSED) const final
         {
             if (!being)
                 return;
@@ -536,7 +536,7 @@ class PIS_emote final : public PlayerIgnoreStrategy
         }
 
         void ignore(Being *const being,
-                    const unsigned int flags A_UNUSED) const override final
+                    const unsigned int flags A_UNUSED) const final
         {
             if (!being)
                 return;
diff --git a/src/beingequipbackend.h b/src/beingequipbackend.h
index 23784a2fe..be097d780 100644
--- a/src/beingequipbackend.h
+++ b/src/beingequipbackend.h
@@ -38,10 +38,10 @@ class BeingEquipBackend final : public Equipment::Backend
 
         ~BeingEquipBackend();
 
-        const Item *getEquipment(const int index) const override final
+        const Item *getEquipment(const int index) const final
                                  A_WARN_UNUSED;
 
-        void clear() override final;
+        void clear() final;
 
         void setEquipment(const int index,
                           const Item *const item);
diff --git a/src/client.cpp b/src/client.cpp
index 472b6ad10..2a50d41f0 100644
--- a/src/client.cpp
+++ b/src/client.cpp
@@ -193,7 +193,7 @@ namespace
     class AccountListener final : public ActionListener
     {
         public:
-            void action(const ActionEvent &) override final
+            void action(const ActionEvent &) final
             {
                 client->setState(State::CHAR_SELECT);
             }
@@ -202,7 +202,7 @@ namespace
     class LoginListener final : public ActionListener
     {
         public:
-            void action(const ActionEvent &) override final
+            void action(const ActionEvent &) final
             {
                 client->setState(State::PRE_LOGIN);
             }
diff --git a/src/client.h b/src/client.h
index 725cd724c..b350c4662 100644
--- a/src/client.h
+++ b/src/client.h
@@ -89,9 +89,9 @@ class Client final : public ConfigListener,
 
         static bool isTmw() A_WARN_UNUSED;
 
-        void optionChanged(const std::string &name) override final;
+        void optionChanged(const std::string &name) final;
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         static void initTradeFilter();
 
diff --git a/src/dyetool/client.h b/src/dyetool/client.h
index 4a79a303e..81b8b92cc 100644
--- a/src/dyetool/client.h
+++ b/src/dyetool/client.h
@@ -74,7 +74,7 @@ class Client final : public ActionListener
         StateT getState() const A_WARN_UNUSED
         { return mState; }
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         void moveButtons(const int width);
 
diff --git a/src/dyetool/gui/viewport.h b/src/dyetool/gui/viewport.h
index e5159976b..e0238d4ce 100644
--- a/src/dyetool/gui/viewport.h
+++ b/src/dyetool/gui/viewport.h
@@ -69,14 +69,14 @@ class Viewport final : public WindowContainer,
         /**
          * Draws the viewport.
          */
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
         /**
          * Implements player to keep following mouse.
          */
-        void logic() override final;
+        void logic() final;
 
         /**
          * Toggles whether the path debug graphics are shown. normal,
@@ -90,27 +90,27 @@ class Viewport final : public WindowContainer,
         /**
          * Handles mouse press on map.
          */
-        void mousePressed(MouseEvent &event) override final;
+        void mousePressed(MouseEvent &event) final;
 
         /**
          * Handles mouse move on map
          */
-        void mouseDragged(MouseEvent &event) override final;
+        void mouseDragged(MouseEvent &event) final;
 
         /**
          * Handles mouse button release on map.
          */
-        void mouseReleased(MouseEvent &event) override final;
+        void mouseReleased(MouseEvent &event) final;
 
         /**
          * Handles mouse move on map.
          */
-        void mouseMoved(MouseEvent &event) override final;
+        void mouseMoved(MouseEvent &event) final;
 
         /**
          * A relevant config option changed.
          */
-        void optionChanged(const std::string &name) override final;
+        void optionChanged(const std::string &name) final;
 
         /**
          * Returns camera x offset in pixels.
diff --git a/src/eventsmanager.h b/src/eventsmanager.h
index ecc49d95b..82bad136a 100644
--- a/src/eventsmanager.h
+++ b/src/eventsmanager.h
@@ -52,7 +52,7 @@ class EventsManager final : public ConfigListener
         static void handleActive(const SDL_Event &event);
 #endif
 
-        void optionChanged(const std::string &name) override final;
+        void optionChanged(const std::string &name) final;
 
         static void logEvent(const SDL_Event &event);
 
diff --git a/src/gui/dialogsmanager.h b/src/gui/dialogsmanager.h
index 5486eb3c1..dc08907da 100644
--- a/src/gui/dialogsmanager.h
+++ b/src/gui/dialogsmanager.h
@@ -51,11 +51,11 @@ class DialogsManager final : public AttributeListener,
                                        const std::string &message,
                                        const Modal modal) RETURNS_NONNULL;
 
-        void playerDeath() override final;
+        void playerDeath() final;
 
         void attributeChanged(const AttributesT id,
                               const int oldVal,
-                              const int newVal) override final;
+                              const int newVal) final;
 };
 
 extern DialogsManager *dialogsManager;
diff --git a/src/gui/models/avatarlistmodel.h b/src/gui/models/avatarlistmodel.h
index 2083d6314..cea5aa1ee 100644
--- a/src/gui/models/avatarlistmodel.h
+++ b/src/gui/models/avatarlistmodel.h
@@ -31,7 +31,7 @@ class AvatarListModel notfinal : public ListModel
     public:
         virtual Avatar *getAvatarAt(const int i) A_WARN_UNUSED = 0;
 
-        std::string getElementAt(int i) override final A_WARN_UNUSED
+        std::string getElementAt(int i) final A_WARN_UNUSED
         { return getAvatarAt(i)->getName(); }
 };
 
diff --git a/src/gui/models/beingslistmodel.h b/src/gui/models/beingslistmodel.h
index ccf0338c7..4476dca05 100644
--- a/src/gui/models/beingslistmodel.h
+++ b/src/gui/models/beingslistmodel.h
@@ -48,12 +48,12 @@ class BeingsListModel final : public AvatarListModel
             return &mMembers;
         }
 
-        Avatar *getAvatarAt(int index) override final
+        Avatar *getAvatarAt(int index) final
         {
             return mMembers[index];
         }
 
-        int getNumberOfElements() override final
+        int getNumberOfElements() final
         {
             return CAST_S32(mMembers.size());
         }
diff --git a/src/gui/models/colorlistmodel.h b/src/gui/models/colorlistmodel.h
index 49dbffce5..1f4bf2e83 100644
--- a/src/gui/models/colorlistmodel.h
+++ b/src/gui/models/colorlistmodel.h
@@ -65,12 +65,12 @@ class ColorListModel final : public ListModel
         ~ColorListModel()
         { }
 
-        int getNumberOfElements() override final
+        int getNumberOfElements() final
         {
             return 14;
         }
 
-        std::string getElementAt(int i) override final
+        std::string getElementAt(int i) final
         {
             if (i >= getNumberOfElements() || i < 0)
                 return "???";
diff --git a/src/gui/models/colormodel.h b/src/gui/models/colormodel.h
index 1e08dd9cd..96c4b1021 100644
--- a/src/gui/models/colormodel.h
+++ b/src/gui/models/colormodel.h
@@ -41,9 +41,9 @@ class ColorModel final : public ListModel
 
         virtual ~ColorModel();
 
-        int getNumberOfElements() override final A_WARN_UNUSED;
+        int getNumberOfElements() final A_WARN_UNUSED;
 
-        std::string getElementAt(int i) override final A_WARN_UNUSED;
+        std::string getElementAt(int i) final A_WARN_UNUSED;
 
         const ColorPair *getColorAt(const int i)
                                     const RETURNS_NONNULL A_WARN_UNUSED;
diff --git a/src/gui/models/extendednamesmodel.h b/src/gui/models/extendednamesmodel.h
index e14032cc4..f4f2670e1 100644
--- a/src/gui/models/extendednamesmodel.h
+++ b/src/gui/models/extendednamesmodel.h
@@ -34,11 +34,11 @@ class ExtendedNamesModel notfinal : public ExtendedListModel
 
         virtual ~ExtendedNamesModel();
 
-        int getNumberOfElements() override final A_WARN_UNUSED;
+        int getNumberOfElements() final A_WARN_UNUSED;
 
-        std::string getElementAt(int i) override final A_WARN_UNUSED;
+        std::string getElementAt(int i) final A_WARN_UNUSED;
 
-        const Image *getImageAt(int i) override final A_WARN_UNUSED;
+        const Image *getImageAt(int i) final A_WARN_UNUSED;
 
         StringVect &getNames() A_WARN_UNUSED
         { return mNames; }
diff --git a/src/gui/models/fontsizechoicelistmodel.h b/src/gui/models/fontsizechoicelistmodel.h
index 9496348c3..16b2a65ab 100644
--- a/src/gui/models/fontsizechoicelistmodel.h
+++ b/src/gui/models/fontsizechoicelistmodel.h
@@ -71,10 +71,10 @@ class FontSizeChoiceListModel final : public ListModel
         ~FontSizeChoiceListModel()
         { }
 
-        int getNumberOfElements() override final A_WARN_UNUSED
+        int getNumberOfElements() final A_WARN_UNUSED
         { return maxFontSizes; }
 
-        std::string getElementAt(int i) override final A_WARN_UNUSED
+        std::string getElementAt(int i) final A_WARN_UNUSED
         {
             if (i >= getNumberOfElements() || i < 0)
                 return "???";
diff --git a/src/gui/models/iconsmodel.h b/src/gui/models/iconsmodel.h
index a04703149..1c8c25ae4 100644
--- a/src/gui/models/iconsmodel.h
+++ b/src/gui/models/iconsmodel.h
@@ -68,12 +68,12 @@ class IconsModel final : public ListModel
         ~IconsModel()
         { }
 
-        int getNumberOfElements() override final
+        int getNumberOfElements() final
         {
             return CAST_S32(mStrings.size());
         }
 
-        std::string getElementAt(int i) override final
+        std::string getElementAt(int i) final
         {
             if (i < 0 || i >= getNumberOfElements())
                 return "???";
diff --git a/src/gui/models/ignorechoiceslistmodel.h b/src/gui/models/ignorechoiceslistmodel.h
index 8a8a7f053..b25c6874a 100644
--- a/src/gui/models/ignorechoiceslistmodel.h
+++ b/src/gui/models/ignorechoiceslistmodel.h
@@ -37,13 +37,13 @@ class IgnoreChoicesListModel final : public ListModel
         ~IgnoreChoicesListModel()
         { }
 
-        int getNumberOfElements() override final
+        int getNumberOfElements() final
         {
             return CAST_S32(player_relations.
                 getPlayerIgnoreStrategies()->size());
         }
 
-        std::string getElementAt(int i) override final
+        std::string getElementAt(int i) final
         {
             if (i >= getNumberOfElements() || i < 0)
                 return "???";
diff --git a/src/gui/models/itemsmodel.h b/src/gui/models/itemsmodel.h
index 032a090eb..8fea34167 100644
--- a/src/gui/models/itemsmodel.h
+++ b/src/gui/models/itemsmodel.h
@@ -67,12 +67,12 @@ class ItemsModal final : public ListModel
         ~ItemsModal()
         { }
 
-        int getNumberOfElements() override final
+        int getNumberOfElements() final
         {
             return CAST_S32(mStrings.size());
         }
 
-        std::string getElementAt(int i) override final
+        std::string getElementAt(int i) final
         {
             if (i < 0 || i >= getNumberOfElements())
                 return "???";
diff --git a/src/gui/models/keylistmodel.h b/src/gui/models/keylistmodel.h
index 101307f30..d9f04a634 100644
--- a/src/gui/models/keylistmodel.h
+++ b/src/gui/models/keylistmodel.h
@@ -52,13 +52,13 @@ class KeyListModel final : public ListModel
         /**
          * Returns the number of elements in container.
          */
-        int getNumberOfElements() override final
+        int getNumberOfElements() final
         { return mSize; }
 
         /**
          * Returns element from container.
          */
-        std::string getElementAt(int i) override final
+        std::string getElementAt(int i) final
         { return setupActionData[mSelectedData][i].text; }
 
         /**
diff --git a/src/gui/models/langlistmodel.h b/src/gui/models/langlistmodel.h
index 1adfb3e91..b3eacb550 100644
--- a/src/gui/models/langlistmodel.h
+++ b/src/gui/models/langlistmodel.h
@@ -109,10 +109,10 @@ class LangListModel final : public ExtendedListModel
             }
         }
 
-        int getNumberOfElements() override final A_WARN_UNUSED
+        int getNumberOfElements() final A_WARN_UNUSED
         { return langs_count; }
 
-        std::string getElementAt(int i) override final A_WARN_UNUSED
+        std::string getElementAt(int i) final A_WARN_UNUSED
         {
             if (i >= getNumberOfElements() || i < 0)
                 return "???";
@@ -120,7 +120,7 @@ class LangListModel final : public ExtendedListModel
             return gettext(LANG_NAME[i].name.c_str());
         }
 
-        const Image *getImageAt(int i) override final A_WARN_UNUSED
+        const Image *getImageAt(int i) final A_WARN_UNUSED
         {
             if (i >= getNumberOfElements() || i < 0)
                 return nullptr;
diff --git a/src/gui/models/magicschoolmodel.h b/src/gui/models/magicschoolmodel.h
index 4c4028312..91d87c337 100644
--- a/src/gui/models/magicschoolmodel.h
+++ b/src/gui/models/magicschoolmodel.h
@@ -51,12 +51,12 @@ class MagicSchoolModel final : public ListModel
         ~MagicSchoolModel()
         { }
 
-        int getNumberOfElements() override final
+        int getNumberOfElements() final
         {
             return 6;
         }
 
-        std::string getElementAt(int i) override final
+        std::string getElementAt(int i) final
         {
             if (i >= getNumberOfElements() || i < 0)
                 return "???";
diff --git a/src/gui/models/modelistmodel.h b/src/gui/models/modelistmodel.h
index 9e5339a3d..2efa322d4 100644
--- a/src/gui/models/modelistmodel.h
+++ b/src/gui/models/modelistmodel.h
@@ -42,13 +42,13 @@ class ModeListModel final : public ListModel
         /**
          * Returns the number of elements in container.
          */
-        int getNumberOfElements() override final
+        int getNumberOfElements() final
         { return CAST_S32(mVideoModes.size()); }
 
         /**
          * Returns element from container.
          */
-        std::string getElementAt(int i) override final
+        std::string getElementAt(int i) final
         { return mVideoModes[CAST_SIZE(i)]; }
 
         /**
diff --git a/src/gui/models/namesmodel.h b/src/gui/models/namesmodel.h
index 63af17db6..ddf523ddd 100644
--- a/src/gui/models/namesmodel.h
+++ b/src/gui/models/namesmodel.h
@@ -36,9 +36,9 @@ class NamesModel notfinal : public ListModel
 
         virtual ~NamesModel();
 
-        int getNumberOfElements() override final A_WARN_UNUSED;
+        int getNumberOfElements() final A_WARN_UNUSED;
 
-        std::string getElementAt(int i) override final A_WARN_UNUSED;
+        std::string getElementAt(int i) final A_WARN_UNUSED;
 
         StringVect &getNames() A_WARN_UNUSED
         { return mNames; }
diff --git a/src/gui/models/opengllistmodel.h b/src/gui/models/opengllistmodel.h
index 275da2f31..cc040cb80 100644
--- a/src/gui/models/opengllistmodel.h
+++ b/src/gui/models/opengllistmodel.h
@@ -33,10 +33,10 @@ class OpenGLListModel final : public ListModel
         ~OpenGLListModel()
         { }
 
-        int getNumberOfElements() override final
+        int getNumberOfElements() final
         { return renderModesListSize; }
 
-        std::string getElementAt(int i) override final
+        std::string getElementAt(int i) final
         {
             if (i >= getNumberOfElements() || i < 0)
                 return "???";
diff --git a/src/gui/models/playerrelationlistmodel.h b/src/gui/models/playerrelationlistmodel.h
index b23cea0f8..3fedec8bc 100644
--- a/src/gui/models/playerrelationlistmodel.h
+++ b/src/gui/models/playerrelationlistmodel.h
@@ -53,12 +53,12 @@ class PlayerRelationListModel final : public ListModel
         ~PlayerRelationListModel()
         { }
 
-        int getNumberOfElements() override final
+        int getNumberOfElements() final
         {
             return PlayerRelation::RELATIONS_NR;
         }
 
-        std::string getElementAt(int i) override final
+        std::string getElementAt(int i) final
         {
             if (i >= getNumberOfElements() || i < 0)
                 return "";
diff --git a/src/gui/models/playertablemodel.h b/src/gui/models/playertablemodel.h
index 4aa4430a3..297b34ba6 100644
--- a/src/gui/models/playertablemodel.h
+++ b/src/gui/models/playertablemodel.h
@@ -41,19 +41,19 @@ class PlayerTableModel final : public Widget2,
 
         ~PlayerTableModel();
 
-        int getRows() const override final;
+        int getRows() const final;
 
-        int getColumns() const override final A_CONST;
+        int getColumns() const final A_CONST;
 
-        int getRowHeight() const override final A_CONST;
+        int getRowHeight() const final A_CONST;
 
-        int getColumnWidth(const int index) const override final A_CONST;
+        int getColumnWidth(const int index) const final A_CONST;
 
         void playerRelationsUpdated();
 
         void updateModelInRow(const int row) const;
 
-        Widget *getElementAt(int row, int column) const override final;
+        Widget *getElementAt(int row, int column) const final;
 
         void freeWidgets();
 
diff --git a/src/gui/models/serverslistmodel.h b/src/gui/models/serverslistmodel.h
index 15d3d7e9a..8b259f04c 100644
--- a/src/gui/models/serverslistmodel.h
+++ b/src/gui/models/serverslistmodel.h
@@ -53,7 +53,7 @@ class ServersListModel final : public ListModel
         /**
          * Used to get number of line in the list
          */
-        int getNumberOfElements() override final A_WARN_UNUSED
+        int getNumberOfElements() final A_WARN_UNUSED
         {
             MutexLocker lock = mParent->lock();
             return CAST_S32(mServers->size());
@@ -63,7 +63,7 @@ class ServersListModel final : public ListModel
          * Used to get an element from the list
          */
         std::string getElementAt(int elementIndex)
-                                 override final A_WARN_UNUSED
+                                 final A_WARN_UNUSED
         {
             MutexLocker lock = mParent->lock();
             const ServerInfo &server = mServers->at(elementIndex);
diff --git a/src/gui/models/shopitems.h b/src/gui/models/shopitems.h
index 0aedce83f..ddba1d1b0 100644
--- a/src/gui/models/shopitems.h
+++ b/src/gui/models/shopitems.h
@@ -93,7 +93,7 @@ class ShopItems final : public ListModel
         /**
          * Returns the number of items in the shop.
          */
-        int getNumberOfElements() override final A_WARN_UNUSED
+        int getNumberOfElements() final A_WARN_UNUSED
         { return CAST_S32(mShopItems.size()); }
 
         bool empty() const A_WARN_UNUSED
@@ -104,7 +104,7 @@ class ShopItems final : public ListModel
          *
          * @param i the index to retrieve
          */
-        std::string getElementAt(int i) override final A_WARN_UNUSED;
+        std::string getElementAt(int i) final A_WARN_UNUSED;
 
         /**
          * Returns the item number i in the shop.
diff --git a/src/gui/models/skillmodel.h b/src/gui/models/skillmodel.h
index d7695253d..a7b796dd4 100644
--- a/src/gui/models/skillmodel.h
+++ b/src/gui/models/skillmodel.h
@@ -35,9 +35,9 @@ class SkillModel final : public ListModel
 
         SkillInfo *getSkillAt(const int i) const;
 
-        std::string getElementAt(int i) override final;
+        std::string getElementAt(int i) final;
 
-        int getNumberOfElements() override final
+        int getNumberOfElements() final
         { return CAST_S32(mVisibleSkills.size()); }
 
         void addSkill(SkillInfo *const info)
diff --git a/src/gui/models/sortlistmodelbuy.h b/src/gui/models/sortlistmodelbuy.h
index ec42f9fdd..586246645 100644
--- a/src/gui/models/sortlistmodelbuy.h
+++ b/src/gui/models/sortlistmodelbuy.h
@@ -51,10 +51,10 @@ class SortListModelBuy final : public ListModel
         ~SortListModelBuy()
         { }
 
-        int getNumberOfElements() override final
+        int getNumberOfElements() final
         { return 7; }
 
-        std::string getElementAt(int i) override final
+        std::string getElementAt(int i) final
         {
             if (i >= getNumberOfElements() || i < 0)
                 return "???";
diff --git a/src/gui/models/sortlistmodelinv.h b/src/gui/models/sortlistmodelinv.h
index 09dbbc53e..103ffb26c 100644
--- a/src/gui/models/sortlistmodelinv.h
+++ b/src/gui/models/sortlistmodelinv.h
@@ -48,10 +48,10 @@ class SortListModelInv final : public ListModel
         ~SortListModelInv()
         { }
 
-        int getNumberOfElements() override final
+        int getNumberOfElements() final
         { return 6; }
 
-        std::string getElementAt(int i) override final
+        std::string getElementAt(int i) final
         {
             if (i >= getNumberOfElements() || i < 0)
                 return "???";
diff --git a/src/gui/models/tablemodel.h b/src/gui/models/tablemodel.h
index 052718d40..14a186004 100644
--- a/src/gui/models/tablemodel.h
+++ b/src/gui/models/tablemodel.h
@@ -129,14 +129,14 @@ class StaticTableModel final : public TableModel
          */
         void resize();
 
-        int getRows() const override final A_WARN_UNUSED;
-        int getColumns() const override final A_WARN_UNUSED;
-        int getRowHeight() const override final A_WARN_UNUSED;
+        int getRows() const final A_WARN_UNUSED;
+        int getColumns() const final A_WARN_UNUSED;
+        int getRowHeight() const final A_WARN_UNUSED;
         int getWidth() const A_WARN_UNUSED;
         int getHeight() const A_WARN_UNUSED;
-        int getColumnWidth(const int index) const override final A_WARN_UNUSED;
+        int getColumnWidth(const int index) const final A_WARN_UNUSED;
         Widget *getElementAt(const int row,
-                             const int column) const override final
+                             const int column) const final
                              A_WARN_UNUSED;
 
     protected:
diff --git a/src/gui/models/targettypemodel.h b/src/gui/models/targettypemodel.h
index ad61e3c0b..416ba5a41 100644
--- a/src/gui/models/targettypemodel.h
+++ b/src/gui/models/targettypemodel.h
@@ -42,12 +42,12 @@ class TargetTypeModel final : public ListModel
         ~TargetTypeModel()
         { }
 
-        int getNumberOfElements() override final
+        int getNumberOfElements() final
         {
             return 3;
         }
 
-        std::string getElementAt(int i) override final
+        std::string getElementAt(int i) final
         {
             if (i >= getNumberOfElements() || i < 0)
                 return "???";
diff --git a/src/gui/models/typelistmodel.h b/src/gui/models/typelistmodel.h
index 04d9d93de..b58d91bb5 100644
--- a/src/gui/models/typelistmodel.h
+++ b/src/gui/models/typelistmodel.h
@@ -36,7 +36,7 @@ class TypeListModel final : public ListModel
         /**
          * Used to get number of line in the list
          */
-        int getNumberOfElements() override final A_WARN_UNUSED
+        int getNumberOfElements() final A_WARN_UNUSED
 #if defined(EATHENA_SUPPORT) && defined(TMWA_SUPPORT)
         { return 3; }
 #elif defined(EATHENA_SUPPORT)
@@ -49,7 +49,7 @@ class TypeListModel final : public ListModel
          * Used to get an element from the list
          */
         std::string getElementAt(int elementIndex)
-                                 override final A_WARN_UNUSED
+                                 final A_WARN_UNUSED
         {
 #ifdef TMWA_SUPPORT
             if (elementIndex == 0)
diff --git a/src/gui/models/updatelistmodel.h b/src/gui/models/updatelistmodel.h
index 71f78da5e..bddc7c2a2 100644
--- a/src/gui/models/updatelistmodel.h
+++ b/src/gui/models/updatelistmodel.h
@@ -51,12 +51,12 @@ class UpdateListModel final : public ListModel
         ~UpdateListModel()
         { }
 
-        int getNumberOfElements() override final
+        int getNumberOfElements() final
         {
             return CAST_S32(mNames.size());
         }
 
-        std::string getElementAt(int i) override final
+        std::string getElementAt(int i) final
         {
             if (i >= getNumberOfElements() || i < 0)
                 return "???";
diff --git a/src/gui/models/updatetypemodel.h b/src/gui/models/updatetypemodel.h
index abdcc1625..12a0a1e27 100644
--- a/src/gui/models/updatetypemodel.h
+++ b/src/gui/models/updatetypemodel.h
@@ -47,12 +47,12 @@ class UpdateTypeModel final : public ListModel
         ~UpdateTypeModel()
         { }
 
-        int getNumberOfElements() override final
+        int getNumberOfElements() final
         {
             return 3;
         }
 
-        std::string getElementAt(int i) override final
+        std::string getElementAt(int i) final
         {
             if (i >= getNumberOfElements() || i < 0)
                 return "???";
diff --git a/src/gui/models/worldlistmodel.h b/src/gui/models/worldlistmodel.h
index 035824cb4..4489cf95e 100644
--- a/src/gui/models/worldlistmodel.h
+++ b/src/gui/models/worldlistmodel.h
@@ -45,12 +45,12 @@ class WorldListModel final : public ListModel
         ~WorldListModel()
         { }
 
-        int getNumberOfElements() override final
+        int getNumberOfElements() final
         {
             return CAST_S32(mWorlds.size());
         }
 
-        std::string getElementAt(int i) override final
+        std::string getElementAt(int i) final
         {
             const WorldInfo *const si = mWorlds[i];
             if (si)
diff --git a/src/gui/popups/beingpopup.h b/src/gui/popups/beingpopup.h
index 8a11e1e10..e48daedf6 100644
--- a/src/gui/popups/beingpopup.h
+++ b/src/gui/popups/beingpopup.h
@@ -50,7 +50,7 @@ class BeingPopup final : public Popup
          */
         void show(const int x, const int y, Being *const b);
 
-        void postInit() override final;
+        void postInit() final;
 
 #ifdef USE_PROFILER
         void logic();
diff --git a/src/gui/popups/createpartypopup.h b/src/gui/popups/createpartypopup.h
index dba59f142..d5d483e54 100644
--- a/src/gui/popups/createpartypopup.h
+++ b/src/gui/popups/createpartypopup.h
@@ -53,7 +53,7 @@ class CreatePartyPopup final : public Popup,
             mBrowserBox->addRow(strprintf("@@cancel|%s@@", _("Cancel")));
         }
 
-        void postInit() override final
+        void postInit() final
         {
             Popup::postInit();
             add(mBrowserBox);
@@ -64,7 +64,7 @@ class CreatePartyPopup final : public Popup,
         A_DELETE_COPY(CreatePartyPopup)
 
         void handleLink(const std::string &link,
-                        MouseEvent *event A_UNUSED) override final
+                        MouseEvent *event A_UNUSED) final
         {
             if (link == "guild" && socialWindow)
             {
diff --git a/src/gui/popups/itempopup.h b/src/gui/popups/itempopup.h
index f862d2754..2fe51f248 100644
--- a/src/gui/popups/itempopup.h
+++ b/src/gui/popups/itempopup.h
@@ -54,7 +54,7 @@ class ItemPopup final : public Popup
          */
         ~ItemPopup();
 
-        void postInit() override final;
+        void postInit() final;
 
         /**
          * Sets the info to be displayed given a particular item.
@@ -68,7 +68,7 @@ class ItemPopup final : public Popup
         void setItem(const Item *const item,
                      const bool showImage);
 
-        void mouseMoved(MouseEvent &event) override final;
+        void mouseMoved(MouseEvent &event) final;
 
         void resetPopup();
 
diff --git a/src/gui/popups/popupmenu.h b/src/gui/popups/popupmenu.h
index b69a0f588..b938c161e 100644
--- a/src/gui/popups/popupmenu.h
+++ b/src/gui/popups/popupmenu.h
@@ -72,7 +72,7 @@ class PopupMenu final : public Popup, public LinkHandler
 
         A_DELETE_COPY(PopupMenu)
 
-        void postInit() override final;
+        void postInit() final;
 
         /**
          * Shows the being related popup menu at the specified mouse coords.
@@ -171,9 +171,9 @@ class PopupMenu final : public Popup, public LinkHandler
          * Handles link action.
          */
         void handleLink(const std::string &link,
-                        MouseEvent *event A_UNUSED) override final;
+                        MouseEvent *event A_UNUSED) final;
 
-        void clear() override final;
+        void clear() final;
 
         void moveUp();
 
diff --git a/src/gui/popups/skillpopup.h b/src/gui/popups/skillpopup.h
index ab170002f..4442b7916 100644
--- a/src/gui/popups/skillpopup.h
+++ b/src/gui/popups/skillpopup.h
@@ -49,7 +49,7 @@ class SkillPopup final : public Popup
          */
         ~SkillPopup();
 
-        void postInit() override final;
+        void postInit() final;
 
         /**
          * Sets the info to be displayed given a particular item.
@@ -57,7 +57,7 @@ class SkillPopup final : public Popup
         void show(const SkillInfo *const skill,
                   const int level);
 
-        void mouseMoved(MouseEvent &event) override final;
+        void mouseMoved(MouseEvent &event) final;
 
     private:
         Label *mSkillName A_NONNULLPOINTER;
diff --git a/src/gui/popups/speechbubble.h b/src/gui/popups/speechbubble.h
index 75cd95219..95cfd9bda 100644
--- a/src/gui/popups/speechbubble.h
+++ b/src/gui/popups/speechbubble.h
@@ -39,7 +39,7 @@ class SpeechBubble final : public Popup
 
         A_DELETE_COPY(SpeechBubble)
 
-        void postInit() override final;
+        void postInit() final;
 
         /**
          * Sets the name displayed for the speech bubble, and in what color.
diff --git a/src/gui/popups/spellpopup.h b/src/gui/popups/spellpopup.h
index f71ced7c1..aa61b3d11 100644
--- a/src/gui/popups/spellpopup.h
+++ b/src/gui/popups/spellpopup.h
@@ -47,7 +47,7 @@ class SpellPopup final : public Popup
          */
         ~SpellPopup();
 
-        void postInit() override final;
+        void postInit() final;
 
         /**
          * Sets the info to be displayed given a particular item.
@@ -59,7 +59,7 @@ class SpellPopup final : public Popup
          */
         void view(const int x, const int y);
 
-        void mouseMoved(MouseEvent &event) override final;
+        void mouseMoved(MouseEvent &event) final;
 
     private:
         Label *mItemName A_NONNULLPOINTER;
diff --git a/src/gui/popups/statuspopup.h b/src/gui/popups/statuspopup.h
index 3807eb53e..fc4b92c0a 100644
--- a/src/gui/popups/statuspopup.h
+++ b/src/gui/popups/statuspopup.h
@@ -45,7 +45,7 @@ class StatusPopup final : public Popup
 
         A_DELETE_COPY(StatusPopup)
 
-        void postInit() override final;
+        void postInit() final;
 
         /**
          * Destructor. Cleans up the item popup on deletion.
diff --git a/src/gui/popups/textboxpopup.h b/src/gui/popups/textboxpopup.h
index daf287343..4746d966a 100644
--- a/src/gui/popups/textboxpopup.h
+++ b/src/gui/popups/textboxpopup.h
@@ -46,14 +46,14 @@ class TextBoxPopup final : public Popup
          */
         ~TextBoxPopup();
 
-        void postInit() override final;
+        void postInit() final;
 
         /**
          * Sets the text to be displayed.
          */
         void show(const int x, const int y, const std::string &str);
 
-        void mouseMoved(MouseEvent &event) override final;
+        void mouseMoved(MouseEvent &event) final;
 
     private:
         TextBox *mTextBox A_NONNULLPOINTER;
diff --git a/src/gui/popups/textpopup.h b/src/gui/popups/textpopup.h
index c5d5deba7..7294cb2a5 100644
--- a/src/gui/popups/textpopup.h
+++ b/src/gui/popups/textpopup.h
@@ -48,7 +48,7 @@ class TextPopup final : public Popup
          */
         ~TextPopup();
 
-        void postInit() override final;
+        void postInit() final;
 
         /**
          * Sets the text to be displayed.
@@ -72,7 +72,7 @@ class TextPopup final : public Popup
         void show(const int x, const int y, const std::string &str1,
                   const std::string &str2, const std::string &str3);
 
-        void mouseMoved(MouseEvent &event) override final;
+        void mouseMoved(MouseEvent &event) final;
 
     private:
         Label *mText[TEXTPOPUPCOUNT];
diff --git a/src/gui/theme.h b/src/gui/theme.h
index 43d0c3308..cec19521b 100644
--- a/src/gui/theme.h
+++ b/src/gui/theme.h
@@ -158,7 +158,7 @@ class Theme final : public Palette,
          */
         void setMinimumOpacity(const float minimumOpacity);
 
-        void optionChanged(const std::string &) override final;
+        void optionChanged(const std::string &) final;
 
         void loadRect(ImageRect &image,
                       const std::string &name,
diff --git a/src/gui/userpalette.h b/src/gui/userpalette.h
index 9f0566198..7c1146f06 100644
--- a/src/gui/userpalette.h
+++ b/src/gui/userpalette.h
@@ -119,7 +119,7 @@ class UserPalette final : public Palette, public ListModel
          *
          * @return the number of colors known
          */
-        inline int getNumberOfElements() override final A_WARN_UNUSED
+        inline int getNumberOfElements() final A_WARN_UNUSED
         { return CAST_S32(mColors.size()); }
 
         /**
@@ -129,7 +129,7 @@ class UserPalette final : public Palette, public ListModel
          *
          * @return the name of the color
          */
-        std::string getElementAt(int i) override final A_WARN_UNUSED;
+        std::string getElementAt(int i) final A_WARN_UNUSED;
 
         /**
          * Commit the colors
diff --git a/src/gui/viewport.h b/src/gui/viewport.h
index d189b2415..9a1bbeccd 100644
--- a/src/gui/viewport.h
+++ b/src/gui/viewport.h
@@ -76,14 +76,14 @@ class Viewport final : public WindowContainer,
         /**
          * Draws the viewport.
          */
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
         /**
          * Implements player to keep following mouse.
          */
-        void logic() override final;
+        void logic() final;
 
         /**
          * Toggles whether the path debug graphics are shown. normal,
@@ -97,27 +97,27 @@ class Viewport final : public WindowContainer,
         /**
          * Handles mouse press on map.
          */
-        void mousePressed(MouseEvent &event) override final;
+        void mousePressed(MouseEvent &event) final;
 
         /**
          * Handles mouse move on map
          */
-        void mouseDragged(MouseEvent &event) override final;
+        void mouseDragged(MouseEvent &event) final;
 
         /**
          * Handles mouse button release on map.
          */
-        void mouseReleased(MouseEvent &event) override final;
+        void mouseReleased(MouseEvent &event) final;
 
         /**
          * Handles mouse move on map.
          */
-        void mouseMoved(MouseEvent &event) override final;
+        void mouseMoved(MouseEvent &event) final;
 
         /**
          * A relevant config option changed.
          */
-        void optionChanged(const std::string &name) override final;
+        void optionChanged(const std::string &name) final;
 
         /**
          * Returns camera x offset in pixels.
diff --git a/src/gui/widgets/avatarlistbox.h b/src/gui/widgets/avatarlistbox.h
index 72ff49e80..360d7c481 100644
--- a/src/gui/widgets/avatarlistbox.h
+++ b/src/gui/widgets/avatarlistbox.h
@@ -41,15 +41,15 @@ class AvatarListBox final : public ListBox,
         /**
          * Draws the list box.
          */
-        void draw(Graphics *gcnGraphics) override final A_NONNULL(2);
+        void draw(Graphics *gcnGraphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *gcnGraphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *gcnGraphics) final A_NONNULL(2);
 
-        void mousePressed(MouseEvent &event) override final;
+        void mousePressed(MouseEvent &event) final;
 
-        void mouseReleased(MouseEvent &event A_UNUSED) override final A_CONST;
+        void mouseReleased(MouseEvent &event A_UNUSED) final A_CONST;
 
-        void optionChanged(const std::string &value) override final;
+        void optionChanged(const std::string &value) final;
 
     private:
         int mImagePadding;
diff --git a/src/gui/widgets/browserbox.h b/src/gui/widgets/browserbox.h
index d0655631c..0fa901189 100644
--- a/src/gui/widgets/browserbox.h
+++ b/src/gui/widgets/browserbox.h
@@ -113,18 +113,18 @@ class BrowserBox final : public Widget,
         /**
          * Handles mouse actions.
          */
-        void mousePressed(MouseEvent &event) override final;
+        void mousePressed(MouseEvent &event) final;
 
-        void mouseMoved(MouseEvent &event) override final;
+        void mouseMoved(MouseEvent &event) final;
 
-        void mouseExited(MouseEvent& event) override final;
+        void mouseExited(MouseEvent& event) final;
 
         /**
          * Draws the browser box.
          */
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
         void updateHeight();
 
diff --git a/src/gui/widgets/button.h b/src/gui/widgets/button.h
index 2e20be616..7bd5e90b9 100644
--- a/src/gui/widgets/button.h
+++ b/src/gui/widgets/button.h
@@ -153,16 +153,16 @@ class Button final : public Widget,
         /**
          * Draws the button.
          */
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
         /**
          * Update the alpha value to the button components.
          */
         static void updateAlpha();
 
-        void mouseReleased(MouseEvent& event) override final;
+        void mouseReleased(MouseEvent& event) final;
 
         void setDescription(const std::string &text)
         { mDescription = text; }
@@ -185,11 +185,11 @@ class Button final : public Widget,
         void setPressed(bool b)
         { mPressed = b; }
 
-        void widgetResized(const Event &event) override final;
+        void widgetResized(const Event &event) final;
 
-        void widgetMoved(const Event &event) override final;
+        void widgetMoved(const Event &event) final;
 
-        void widgetHidden(const Event &event) override final;
+        void widgetHidden(const Event &event) final;
 
         void loadImage(const std::string &imageName);
 
@@ -197,9 +197,9 @@ class Button final : public Widget,
 
         void adjustSize();
 
-        void keyPressed(KeyEvent &event) override final;
+        void keyPressed(KeyEvent &event) final;
 
-        void keyReleased(KeyEvent &event) override final;
+        void keyReleased(KeyEvent &event) final;
 
         bool isPressed2() const A_WARN_UNUSED;
 
@@ -241,19 +241,19 @@ class Button final : public Widget,
         Graphics::Alignment getAlignment() const
         { return mAlignment; }
 
-        void focusLost(const Event& event) override final;
+        void focusLost(const Event& event) final;
 
-        void mousePressed(MouseEvent& event) override final;
+        void mousePressed(MouseEvent& event) final;
 
-        void mouseEntered(MouseEvent& event) override final;
+        void mouseEntered(MouseEvent& event) final;
 
-        void mouseExited(MouseEvent& event) override final;
+        void mouseExited(MouseEvent& event) final;
 
-        void mouseDragged(MouseEvent& event) override final;
+        void mouseDragged(MouseEvent& event) final;
 
-        void setParent(Widget *widget) override final;
+        void setParent(Widget *widget) final;
 
-        void setWindow(Widget *const widget) override final;
+        void setWindow(Widget *const widget) final;
 
         void setImageWidth(const int width)
         { mImageWidth = width; }
diff --git a/src/gui/widgets/characterdisplay.h b/src/gui/widgets/characterdisplay.h
index 9df2b0026..47992c9be 100644
--- a/src/gui/widgets/characterdisplay.h
+++ b/src/gui/widgets/characterdisplay.h
@@ -55,7 +55,7 @@ class CharacterDisplay final : public Container,
         Net::Character *getCharacter() const
         { return mCharacter; }
 
-        void requestFocus() override final A_CONST;
+        void requestFocus() final A_CONST;
 
         void setActive(const bool active) A_CONST;
 
@@ -74,13 +74,13 @@ class CharacterDisplay final : public Container,
         void setSelect(bool b)
         { mPlayerBox->setSelected(b); }
 
-        void widgetHidden(const Event &event) override final;
+        void widgetHidden(const Event &event) final;
 
-        void mouseExited(MouseEvent &event) override final;
+        void mouseExited(MouseEvent &event) final;
 
-        void mouseMoved(MouseEvent &event) override final;
+        void mouseMoved(MouseEvent &event) final;
 
-        void mousePressed(MouseEvent &event) override final;
+        void mousePressed(MouseEvent &event) final;
 
         void update();
 
diff --git a/src/gui/widgets/characterviewnormal.h b/src/gui/widgets/characterviewnormal.h
index 29e125dc5..9dfee0ec1 100644
--- a/src/gui/widgets/characterviewnormal.h
+++ b/src/gui/widgets/characterviewnormal.h
@@ -36,11 +36,11 @@ class CharacterViewNormal final : public CharacterViewBase
 
         ~CharacterViewNormal();
 
-        void show(const int i) override final;
+        void show(const int i) final;
 
         void resize() override;
 
-        void action(const ActionEvent &event A_UNUSED) override final A_CONST;
+        void action(const ActionEvent &event A_UNUSED) final A_CONST;
 
     private:
         std::vector<CharacterDisplay*> *mCharacterEntries;
diff --git a/src/gui/widgets/characterviewsmall.h b/src/gui/widgets/characterviewsmall.h
index 1ba655df7..0c417d821 100644
--- a/src/gui/widgets/characterviewsmall.h
+++ b/src/gui/widgets/characterviewsmall.h
@@ -37,11 +37,11 @@ class CharacterViewSmall final : public CharacterViewBase
 
         ~CharacterViewSmall();
 
-        void show(const int i) override final;
+        void show(const int i) final;
 
-        void resize() override final;
+        void resize() final;
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
     private:
         CharacterDisplay *mSelectedEntry;
diff --git a/src/gui/widgets/chatinput.h b/src/gui/widgets/chatinput.h
index 0c6bb8586..44a567d1a 100644
--- a/src/gui/widgets/chatinput.h
+++ b/src/gui/widgets/chatinput.h
@@ -54,7 +54,7 @@ class ChatInput final : public TextField
          * Called if the chat input loses focus. It will set itself to
          * invisible as result.
          */
-        void focusLost(const Event &event) override final
+        void focusLost(const Event &event) final
         {
             TextField::focusLost(event);
             if (mFocusGaining || !config.getBoolValue("protectChatFocus"))
diff --git a/src/gui/widgets/checkbox.h b/src/gui/widgets/checkbox.h
index 921c89a93..3452893a1 100644
--- a/src/gui/widgets/checkbox.h
+++ b/src/gui/widgets/checkbox.h
@@ -109,9 +109,9 @@ class CheckBox final : public Widget,
         /**
          * Draws the caption, then calls drawBox to draw the check box.
          */
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
         /**
          * Update the alpha value to the checkbox components.
@@ -126,14 +126,14 @@ class CheckBox final : public Widget,
         /**
          * Called when the mouse enteres the widget area.
          */
-        void mouseEntered(MouseEvent& event) override final;
+        void mouseEntered(MouseEvent& event) final;
 
         /**
          * Called when the mouse leaves the widget area.
          */
-        void mouseExited(MouseEvent& event) override final;
+        void mouseExited(MouseEvent& event) final;
 
-        void keyPressed(KeyEvent& event) override final;
+        void keyPressed(KeyEvent& event) final;
 
         void adjustSize();
 
@@ -174,15 +174,15 @@ class CheckBox final : public Widget,
          */
         void setCaption(const std::string& caption);
 
-        void mouseClicked(MouseEvent& event) override final;
+        void mouseClicked(MouseEvent& event) final;
 
-        void mouseDragged(MouseEvent& event) override final;
+        void mouseDragged(MouseEvent& event) final;
 
-        void setParent(Widget *widget) override final;
+        void setParent(Widget *widget) final;
 
-        void widgetHidden(const Event &event) override final;
+        void widgetHidden(const Event &event) final;
 
-        void setWindow(Widget *const widget) override final;
+        void setWindow(Widget *const widget) final;
 
     private:
         void toggleSelected();
diff --git a/src/gui/widgets/colorpage.h b/src/gui/widgets/colorpage.h
index f191966cc..356144a2b 100644
--- a/src/gui/widgets/colorpage.h
+++ b/src/gui/widgets/colorpage.h
@@ -36,13 +36,13 @@ class ColorPage final : public ListBox
 
         ~ColorPage();
 
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
         void resetAction();
 
-        void adjustSize() override final;
+        void adjustSize() final;
 };
 
 #endif  // GUI_WIDGETS_COLORPAGE_H
diff --git a/src/gui/widgets/desktop.h b/src/gui/widgets/desktop.h
index 263bbabce..56441ce1c 100644
--- a/src/gui/widgets/desktop.h
+++ b/src/gui/widgets/desktop.h
@@ -63,16 +63,16 @@ class Desktop final : public Container,
          */
         void reloadWallpaper();
 
-        void widgetResized(const Event &event) override final;
+        void widgetResized(const Event &event) final;
 
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
-        void postInit() override final;
+        void postInit() final;
 
         void handleLink(const std::string &link,
-                        MouseEvent *event) override final;
+                        MouseEvent *event) final;
     private:
         void setBestFittingWallpaper();
 
diff --git a/src/gui/widgets/dropdown.h b/src/gui/widgets/dropdown.h
index 265b69948..77d6c7c05 100644
--- a/src/gui/widgets/dropdown.h
+++ b/src/gui/widgets/dropdown.h
@@ -79,36 +79,36 @@ class DropDown final : public ActionListener,
          */
         void updateAlpha();
 
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
-        void drawFrame(Graphics *const graphics) override final A_NONNULL(2);
+        void drawFrame(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDrawFrame(Graphics *const graphics) override final
+        void safeDrawFrame(Graphics *const graphics) final
                            A_NONNULL(2);
 
         // Inherited from KeyListener
 
-        void keyPressed(KeyEvent& event) override final;
+        void keyPressed(KeyEvent& event) final;
 
         // Inherited from MouseListener
 
-        void mousePressed(MouseEvent& event) override final;
+        void mousePressed(MouseEvent& event) final;
 
-        void mouseReleased(MouseEvent& event) override final;
+        void mouseReleased(MouseEvent& event) final;
 
-        void mouseDragged(MouseEvent& event) override final;
+        void mouseDragged(MouseEvent& event) final;
 
-        void mouseWheelMovedUp(MouseEvent& event) override final;
+        void mouseWheelMovedUp(MouseEvent& event) final;
 
-        void mouseWheelMovedDown(MouseEvent& event) override final;
+        void mouseWheelMovedDown(MouseEvent& event) final;
 
         void setSelectedString(const std::string &str);
 
         std::string getSelectedString() const A_WARN_UNUSED;
 
-        void valueChanged(const SelectionEvent& event) override final A_CONST;
+        void valueChanged(const SelectionEvent& event) final A_CONST;
 
         void updateSelection();
 
diff --git a/src/gui/widgets/emotepage.h b/src/gui/widgets/emotepage.h
index 7caa19b44..9de4d4b2f 100644
--- a/src/gui/widgets/emotepage.h
+++ b/src/gui/widgets/emotepage.h
@@ -41,17 +41,17 @@ class EmotePage final : public Widget,
 
         ~EmotePage();
 
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
-        void mousePressed(MouseEvent &event) override final;
+        void mousePressed(MouseEvent &event) final;
 
         int getIndexFromGrid(const int x, const int y) const;
 
-        void widgetResized(const Event &event A_UNUSED) override final;
+        void widgetResized(const Event &event A_UNUSED) final;
 
-        void widgetMoved(const Event &event A_UNUSED) override final;
+        void widgetMoved(const Event &event A_UNUSED) final;
 
         void resetAction();
 
diff --git a/src/gui/widgets/emoteshortcutcontainer.h b/src/gui/widgets/emoteshortcutcontainer.h
index 2ceb41430..b98ffbb12 100644
--- a/src/gui/widgets/emoteshortcutcontainer.h
+++ b/src/gui/widgets/emoteshortcutcontainer.h
@@ -50,37 +50,37 @@ class EmoteShortcutContainer final : public ShortcutContainer
          * Draws the items.
          */
         void draw(Graphics *restrict graphics)
-                  restrict2 override final A_NONNULL(2);
+                  restrict2 final A_NONNULL(2);
 
         void safeDraw(Graphics *restrict graphics)
-                      restrict2 override final A_NONNULL(2);
+                      restrict2 final A_NONNULL(2);
 
         /**
          * Handles mouse when dragged.
          */
         void mouseDragged(MouseEvent &restrict event)
-                          restrict2 override final A_CONST;
+                          restrict2 final A_CONST;
 
         /**
          * Handles mouse when pressed.
          */
-        void mousePressed(MouseEvent &restrict event) restrict2 override final;
+        void mousePressed(MouseEvent &restrict event) restrict2 final;
 
         /**
          * Handles mouse release.
          */
         void mouseReleased(MouseEvent &restrict event)
-                           restrict2 override final;
+                           restrict2 final;
 
-        void mouseMoved(MouseEvent &restrict event) restrict2 override final;
+        void mouseMoved(MouseEvent &restrict event) restrict2 final;
 
-        void mouseExited(MouseEvent &restrict event) restrict2 override final;
+        void mouseExited(MouseEvent &restrict event) restrict2 final;
 
         void widgetHidden(const Event &restrict event)
-                          restrict2 override final;
+                          restrict2 final;
 
         void setWidget2(const Widget2 *restrict const widget)
-                        restrict2 override final;
+                        restrict2 final;
 
     private:
         std::vector<const EmoteSprite*> mEmoteImg;
diff --git a/src/gui/widgets/extendedlistbox.h b/src/gui/widgets/extendedlistbox.h
index 6e40ecc2b..83f44f706 100644
--- a/src/gui/widgets/extendedlistbox.h
+++ b/src/gui/widgets/extendedlistbox.h
@@ -42,13 +42,13 @@ class ExtendedListBox final : public ListBox
         /**
          * Draws the list box.
          */
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
         void adjustSize() override;
 
-        int getSelectionByMouse(const int y) const override final;
+        int getSelectionByMouse(const int y) const final;
 
     protected:
         int mImagePadding;
diff --git a/src/gui/widgets/flowcontainer.h b/src/gui/widgets/flowcontainer.h
index 5e47af759..a04d686a6 100644
--- a/src/gui/widgets/flowcontainer.h
+++ b/src/gui/widgets/flowcontainer.h
@@ -56,7 +56,7 @@ class FlowContainer final : public Container,
          * Invoked when a widget changes its size. This is used to determine
          * the new height of the container.
          */
-        void widgetResized(const Event &event) override final;
+        void widgetResized(const Event &event) final;
 
         int getBoxWidth() const A_WARN_UNUSED
         { return mBoxWidth; }
@@ -64,7 +64,7 @@ class FlowContainer final : public Container,
         int getBoxHeight() const A_WARN_UNUSED
         { return mBoxHeight; }
 
-        void add(Widget *const widget) override final;
+        void add(Widget *const widget) final;
 
     private:
         int mBoxWidth;
diff --git a/src/gui/widgets/guitable.h b/src/gui/widgets/guitable.h
index 35000ccff..5e4ba9dc1 100644
--- a/src/gui/widgets/guitable.h
+++ b/src/gui/widgets/guitable.h
@@ -91,7 +91,7 @@ class GuiTable final : public Widget,
         void setWrappingEnabled(bool wrappingEnabled)
         { mWrappingEnabled = wrappingEnabled; }
 
-        Rect getChildrenArea() override final A_WARN_UNUSED;
+        Rect getChildrenArea() final A_WARN_UNUSED;
 
         /**
          * Toggle whether to use linewise selection mode, in which the table
@@ -110,20 +110,20 @@ class GuiTable final : public Widget,
         { mLinewiseMode = linewise; }
 
         // Inherited from Widget
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
-        Widget *getWidgetAt(int x, int y) override final A_WARN_UNUSED;
+        Widget *getWidgetAt(int x, int y) final A_WARN_UNUSED;
 
-        void moveToTop(Widget *const widget) override final;
+        void moveToTop(Widget *const widget) final;
 
-        void moveToBottom(Widget *const widget) override final;
+        void moveToBottom(Widget *const widget) final;
 
-        void setFocusHandler(FocusHandler *const focusHandler) override final;
+        void setFocusHandler(FocusHandler *const focusHandler) final;
 
         // Inherited from KeyListener
-        void keyPressed(KeyEvent& event) override final;
+        void keyPressed(KeyEvent& event) final;
 
         /**
          * Sets the table to be opaque, that is sets the table
@@ -144,16 +144,16 @@ class GuiTable final : public Widget,
         { return mOpaque; }
 
         // Inherited from MouseListener
-        void mousePressed(MouseEvent& event) override final;
+        void mousePressed(MouseEvent& event) final;
 
-        void mouseWheelMovedUp(MouseEvent& event) override final;
+        void mouseWheelMovedUp(MouseEvent& event) final;
 
-        void mouseWheelMovedDown(MouseEvent& event) override final;
+        void mouseWheelMovedDown(MouseEvent& event) final;
 
-        void mouseDragged(MouseEvent& event) override final;
+        void mouseDragged(MouseEvent& event) final;
 
         // Constraints inherited from TableModelListener
-        void modelUpdated(const bool completed) override final;
+        void modelUpdated(const bool completed) final;
 
         void requestFocus() override;
 
diff --git a/src/gui/widgets/horizontcontainer.h b/src/gui/widgets/horizontcontainer.h
index 23ca5159c..bba821185 100644
--- a/src/gui/widgets/horizontcontainer.h
+++ b/src/gui/widgets/horizontcontainer.h
@@ -45,13 +45,13 @@ class HorizontContainer final : public Container,
 
         A_DELETE_COPY(HorizontContainer)
 
-        void add(Widget *const widget) override final;
+        void add(Widget *const widget) final;
 
         void add(Widget *const widget, const int spacing);
 
         void clear() override;
 
-        void widgetResized(const Event &event) override final A_CONST;
+        void widgetResized(const Event &event) final A_CONST;
 
     protected:
         int mSpacing;
diff --git a/src/gui/widgets/icon.h b/src/gui/widgets/icon.h
index e630339d8..87fa77713 100644
--- a/src/gui/widgets/icon.h
+++ b/src/gui/widgets/icon.h
@@ -71,9 +71,9 @@ class Icon final : public Widget
         /**
          * Draws the Icon.
          */
-        void draw(Graphics *const g) override final A_NONNULL(2);
+        void draw(Graphics *const g) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const g) override final A_NONNULL(2);
+        void safeDraw(Graphics *const g) final A_NONNULL(2);
 
     private:
         Image *mImage;
diff --git a/src/gui/widgets/inttextfield.h b/src/gui/widgets/inttextfield.h
index a55fe22fc..2aabafa85 100644
--- a/src/gui/widgets/inttextfield.h
+++ b/src/gui/widgets/inttextfield.h
@@ -73,7 +73,7 @@ class IntTextField final : public TextField
         /**
          * Responds to key presses.
          */
-        void keyPressed(KeyEvent &event) override final;
+        void keyPressed(KeyEvent &event) final;
 
     private:
         int mMin;            /**< Minimum value */
diff --git a/src/gui/widgets/itemcontainer.h b/src/gui/widgets/itemcontainer.h
index 006644425..5c290fa6d 100644
--- a/src/gui/widgets/itemcontainer.h
+++ b/src/gui/widgets/itemcontainer.h
@@ -75,30 +75,30 @@ class ItemContainer final : public Widget,
         /**
          * Necessary for checking how full the inventory is.
          */
-        void logic() override final;
+        void logic() final;
 
         /**
          * Draws the items.
          */
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
         // KeyListener
-        void keyPressed(KeyEvent &event) override final A_CONST;
-        void keyReleased(KeyEvent &event) override final A_CONST;
+        void keyPressed(KeyEvent &event) final A_CONST;
+        void keyReleased(KeyEvent &event) final A_CONST;
 
         // MouseListener
-        void mousePressed(MouseEvent &event) override final;
-        void mouseDragged(MouseEvent &event) override final;
-        void mouseReleased(MouseEvent &event) override final;
-        void mouseMoved(MouseEvent &event) override final;
-        void mouseExited(MouseEvent &event) override final;
+        void mousePressed(MouseEvent &event) final;
+        void mouseDragged(MouseEvent &event) final;
+        void mouseReleased(MouseEvent &event) final;
+        void mouseMoved(MouseEvent &event) final;
+        void mouseExited(MouseEvent &event) final;
 
         // WidgetListener
-        void widgetResized(const Event &event) override final;
+        void widgetResized(const Event &event) final;
 
-        void widgetMoved(const Event &event) override final;
+        void widgetMoved(const Event &event) final;
 
         /**
          * Returns the selected item.
diff --git a/src/gui/widgets/itemlinkhandler.h b/src/gui/widgets/itemlinkhandler.h
index 6a0f87cb7..2ec4b7fb7 100644
--- a/src/gui/widgets/itemlinkhandler.h
+++ b/src/gui/widgets/itemlinkhandler.h
@@ -37,7 +37,7 @@ class ItemLinkHandler final : public LinkHandler
         ~ItemLinkHandler();
 
         void handleLink(const std::string &link,
-                        MouseEvent *event) override final;
+                        MouseEvent *event) final;
 
         void setAllowCommands(const bool b)
         { mAllowCommands = b; }
diff --git a/src/gui/widgets/itemshortcutcontainer.h b/src/gui/widgets/itemshortcutcontainer.h
index 9e043663b..045da145f 100644
--- a/src/gui/widgets/itemshortcutcontainer.h
+++ b/src/gui/widgets/itemshortcutcontainer.h
@@ -49,32 +49,32 @@ class ItemShortcutContainer final : public ShortcutContainer
         /**
          * Draws the items.
          */
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
         /**
          * Handles mouse when dragged.
          */
-        void mouseDragged(MouseEvent &event) override final;
+        void mouseDragged(MouseEvent &event) final;
 
         /**
          * Handles mouse when pressed.
          */
-        void mousePressed(MouseEvent &event) override final;
+        void mousePressed(MouseEvent &event) final;
 
         /**
          * Handles mouse release.
          */
-        void mouseReleased(MouseEvent &event) override final;
+        void mouseReleased(MouseEvent &event) final;
 
-        void widgetHidden(const Event &event) override final;
+        void widgetHidden(const Event &event) final;
 
-        void mouseExited(MouseEvent &event) override final;
+        void mouseExited(MouseEvent &event) final;
 
-        void mouseMoved(MouseEvent &event) override final;
+        void mouseMoved(MouseEvent &event) final;
 
-        void setWidget2(const Widget2 *const widget) override final;
+        void setWidget2(const Widget2 *const widget) final;
 
     private:
         bool mItemClicked;
diff --git a/src/gui/widgets/label.h b/src/gui/widgets/label.h
index 98c7cc6ac..e21a510a3 100644
--- a/src/gui/widgets/label.h
+++ b/src/gui/widgets/label.h
@@ -110,9 +110,9 @@ class Label final : public Widget,
         /**
          * Draws the label.
          */
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
         void adjustSize();
 
@@ -162,11 +162,11 @@ class Label final : public Widget,
         Graphics::Alignment getAlignment() const
         { return mAlignment; }
 
-        void setParent(Widget *const widget) override final;
+        void setParent(Widget *const widget) final;
 
-        void setWindow(Widget *const widget) override final;
+        void setWindow(Widget *const widget) final;
 
-        void widgetHidden(const Event &event) override final;
+        void widgetHidden(const Event &event) final;
 
         static Skin *mSkin;
 
diff --git a/src/gui/widgets/layouthelper.h b/src/gui/widgets/layouthelper.h
index 4f36b2565..cbfa2a41e 100644
--- a/src/gui/widgets/layouthelper.h
+++ b/src/gui/widgets/layouthelper.h
@@ -81,7 +81,7 @@ class LayoutHelper final : public WidgetListener
         /**
          * Called whenever the managed container changes size.
          */
-        void widgetResized(const Event &event) override final;
+        void widgetResized(const Event &event) final;
 
     private:
         Layout mLayout;              /**< Layout handler */
diff --git a/src/gui/widgets/listbox.h b/src/gui/widgets/listbox.h
index 97ee63ba7..9eeedbd59 100644
--- a/src/gui/widgets/listbox.h
+++ b/src/gui/widgets/listbox.h
@@ -119,13 +119,13 @@ class ListBox notfinal : public Widget,
 
         // Inherited from KeyListener
 
-        void keyPressed(KeyEvent& event) override final;
+        void keyPressed(KeyEvent& event) final;
 
         // Inherited from MouseListener
 
-        void mouseWheelMovedUp(MouseEvent& event) override final A_CONST;
+        void mouseWheelMovedUp(MouseEvent& event) final A_CONST;
 
-        void mouseWheelMovedDown(MouseEvent& event) override final A_CONST;
+        void mouseWheelMovedDown(MouseEvent& event) final A_CONST;
 
         void mousePressed(MouseEvent &event) override;
 
@@ -142,7 +142,7 @@ class ListBox notfinal : public Widget,
 
         virtual void adjustSize();
 
-        void logic() override final;
+        void logic() final;
 
         virtual int getSelectionByMouse(const int y) const;
 
diff --git a/src/gui/widgets/passwordfield.h b/src/gui/widgets/passwordfield.h
index 305adf739..d36539451 100644
--- a/src/gui/widgets/passwordfield.h
+++ b/src/gui/widgets/passwordfield.h
@@ -44,9 +44,9 @@ class PasswordField final : public TextField
         /**
          * Draws the password field.
          */
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
     protected:
         char mPasswordChar;
diff --git a/src/gui/widgets/playerbox.h b/src/gui/widgets/playerbox.h
index 1a122fbbd..243ecbd94 100644
--- a/src/gui/widgets/playerbox.h
+++ b/src/gui/widgets/playerbox.h
@@ -76,16 +76,16 @@ class PlayerBox final : public Widget,
         /**
          * Draws the scroll area.
          */
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
         /**
          * Draws the background and border of the scroll area.
          */
-        void drawFrame(Graphics *const graphics) override final A_NONNULL(2);
+        void drawFrame(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDrawFrame(Graphics *const graphics) override final
+        void safeDrawFrame(Graphics *const graphics) final
                            A_NONNULL(2);
 
         Being *getBeing() A_WARN_UNUSED
@@ -94,7 +94,7 @@ class PlayerBox final : public Widget,
         void setSelected(bool b)
         { mSelected = b; }
 
-        void mouseReleased(MouseEvent& event) override final;
+        void mouseReleased(MouseEvent& event) final;
 
     private:
         Being *mBeing;
diff --git a/src/gui/widgets/popup.h b/src/gui/widgets/popup.h
index bf09e4a51..481710bad 100644
--- a/src/gui/widgets/popup.h
+++ b/src/gui/widgets/popup.h
@@ -168,7 +168,7 @@ class Popup notfinal : public Container,
 
         void widgetResized(const Event &event) override;
 
-        void widgetMoved(const Event &event) override final;
+        void widgetMoved(const Event &event) final;
 
         bool isPopupVisible() const
         { return mVisible == Visible_true; }
diff --git a/src/gui/widgets/popuplist.h b/src/gui/widgets/popuplist.h
index e6fa74d83..76adb48b2 100644
--- a/src/gui/widgets/popuplist.h
+++ b/src/gui/widgets/popuplist.h
@@ -47,11 +47,11 @@ class PopupList final : public Popup,
 
         A_DELETE_COPY(PopupList)
 
-        void postInit() override final;
+        void postInit() final;
 
         void show(int x, int y);
 
-        void widgetResized(const Event &event) override final;
+        void widgetResized(const Event &event) final;
 
         void setSelected(const int selected);
 
@@ -64,13 +64,13 @@ class PopupList final : public Popup,
 
         void adjustSize();
 
-        void focusGained(const Event& event A_UNUSED) override final;
+        void focusGained(const Event& event A_UNUSED) final;
 
-        void focusLost(const Event& event A_UNUSED) override final;
+        void focusLost(const Event& event A_UNUSED) final;
 
-        void mousePressed(MouseEvent& event) override final;
+        void mousePressed(MouseEvent& event) final;
 
-        void mouseReleased(MouseEvent& event) override final;
+        void mouseReleased(MouseEvent& event) final;
 
     private:
         ListModel *mListModel;
diff --git a/src/gui/widgets/progressbar.h b/src/gui/widgets/progressbar.h
index 289633f3d..3c1b47cf1 100644
--- a/src/gui/widgets/progressbar.h
+++ b/src/gui/widgets/progressbar.h
@@ -63,7 +63,7 @@ class ProgressBar final : public Widget,
         /**
          * Performs progress bar logic (fading colors)
          */
-        void logic() override final;
+        void logic() final;
 
         /**
          * Update the alpha value to the graphic components.
@@ -73,9 +73,9 @@ class ProgressBar final : public Widget,
         /**
          * Draws the progress bar.
          */
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
         /**
          * Sets the current progress.
@@ -130,11 +130,11 @@ class ProgressBar final : public Widget,
         void setSmoothColorChange(bool smoothColorChange)
         { mSmoothColorChange = smoothColorChange; }
 
-        void widgetResized(const Event &event) override final;
+        void widgetResized(const Event &event) final;
 
-        void widgetMoved(const Event &event) override final;
+        void widgetMoved(const Event &event) final;
 
-        void widgetHidden(const Event &event) override final;
+        void widgetHidden(const Event &event) final;
 
         void setPadding(unsigned int padding)
         { mPadding = padding; }
diff --git a/src/gui/widgets/progressindicator.h b/src/gui/widgets/progressindicator.h
index 773750365..1ce518fff 100644
--- a/src/gui/widgets/progressindicator.h
+++ b/src/gui/widgets/progressindicator.h
@@ -41,11 +41,11 @@ class ProgressIndicator final : public Widget
 
         ~ProgressIndicator();
 
-        void logic() override final;
+        void logic() final;
 
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
     private:
         SimpleAnimation *mIndicator;
diff --git a/src/gui/widgets/radiobutton.h b/src/gui/widgets/radiobutton.h
index 79f1aefae..1f1d47f9d 100644
--- a/src/gui/widgets/radiobutton.h
+++ b/src/gui/widgets/radiobutton.h
@@ -112,21 +112,21 @@ class RadioButton final : public Widget,
          * Implementation of the draw methods.
          * Thus, avoiding the rhomb around the radio button.
          */
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
         /**
          * Called when the mouse enteres the widget area.
          */
-        void mouseEntered(MouseEvent& event) override final;
+        void mouseEntered(MouseEvent& event) final;
 
         /**
          * Called when the mouse leaves the widget area.
          */
-        void mouseExited(MouseEvent& event) override final;
+        void mouseExited(MouseEvent& event) final;
 
-        void keyPressed(KeyEvent& event) override final;
+        void keyPressed(KeyEvent& event) final;
 
         void updateAlpha();
 
@@ -169,9 +169,9 @@ class RadioButton final : public Widget,
          */
         void setCaption(const std::string &caption);
 
-        void mouseClicked(MouseEvent& event) override final;
+        void mouseClicked(MouseEvent& event) final;
 
-        void mouseDragged(MouseEvent& event) override final;
+        void mouseDragged(MouseEvent& event) final;
 
         /**
          * Sets the group the radio button should belong to. Note that
@@ -192,11 +192,11 @@ class RadioButton final : public Widget,
         const std::string &getGroup() const
         { return mGroup; }
 
-        void setParent(Widget *widget) override final;
+        void setParent(Widget *widget) final;
 
-        void widgetHidden(const Event &event) override final;
+        void widgetHidden(const Event &event) final;
 
-        void setWindow(Widget *const widget) override final;
+        void setWindow(Widget *const widget) final;
 
     private:
         static int instances;
diff --git a/src/gui/widgets/radiogroup.h b/src/gui/widgets/radiogroup.h
index c849b73ed..34576ef96 100644
--- a/src/gui/widgets/radiogroup.h
+++ b/src/gui/widgets/radiogroup.h
@@ -35,7 +35,7 @@ class RadioGroup final : public WidgetGroup
 
         Widget *createWidget(const std::string &name,
                              const bool pressed = false)
-                             const override final A_WARN_UNUSED;
+                             const final A_WARN_UNUSED;
 };
 
 #endif  // GUI_WIDGETS_RADIOGROUP_H
diff --git a/src/gui/widgets/scrollarea.h b/src/gui/widgets/scrollarea.h
index cf02e0317..eca834f81 100644
--- a/src/gui/widgets/scrollarea.h
+++ b/src/gui/widgets/scrollarea.h
@@ -127,7 +127,7 @@ class ScrollArea final : public BasicContainer,
          * Logic function optionally adapts width or height of contents. This
          * depends on the scrollbar settings.
          */
-        void logic() override final;
+        void logic() final;
 
         /**
          * Update the alpha value to the graphic components.
@@ -137,16 +137,16 @@ class ScrollArea final : public BasicContainer,
         /**
          * Draws the scroll area.
          */
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
         /**
          * Draws the background and border of the scroll area.
          */
-        void drawFrame(Graphics *const graphics) override final A_NONNULL(2);
+        void drawFrame(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDrawFrame(Graphics *const graphics) override final
+        void safeDrawFrame(Graphics *const graphics) final
                            A_NONNULL(2);
 
         /**
@@ -163,27 +163,27 @@ class ScrollArea final : public BasicContainer,
         /**
          * Called when the mouse moves in the widget area.
          */
-        void mouseMoved(MouseEvent& event) override final;
+        void mouseMoved(MouseEvent& event) final;
 
         /**
          * Called when the mouse enteres the widget area.
          */
-        void mouseEntered(MouseEvent& event) override final;
+        void mouseEntered(MouseEvent& event) final;
 
         /**
          * Called when the mouse leaves the widget area.
          */
-        void mouseExited(MouseEvent& event) override final;
+        void mouseExited(MouseEvent& event) final;
 
-        void mousePressed(MouseEvent& event) override final;
+        void mousePressed(MouseEvent& event) final;
 
-        void mouseReleased(MouseEvent& event) override final;
+        void mouseReleased(MouseEvent& event) final;
 
-        void mouseDragged(MouseEvent &event) override final;
+        void mouseDragged(MouseEvent &event) final;
 
-        void widgetResized(const Event &event) override final;
+        void widgetResized(const Event &event) final;
 
-        void widgetMoved(const Event &event) override final;
+        void widgetMoved(const Event &event) final;
 
         Rect getVerticalBarDimension() const;
 
@@ -414,11 +414,11 @@ class ScrollArea final : public BasicContainer,
         { return mDownButtonScrollAmount; }
 
         void showWidgetPart(Widget *const widget,
-                            const Rect &area) override final;
+                            const Rect &area) final;
 
-        Rect getChildrenArea() override final;
+        Rect getChildrenArea() final;
 
-        Widget *getWidgetAt(int x, int y) override final;
+        Widget *getWidgetAt(int x, int y) final;
 
         void setWidth(int width);
 
@@ -426,9 +426,9 @@ class ScrollArea final : public BasicContainer,
 
         void setDimension(const Rect& dimension);
 
-        void mouseWheelMovedUp(MouseEvent& event) override final;
+        void mouseWheelMovedUp(MouseEvent& event) final;
 
-        void mouseWheelMovedDown(MouseEvent& event) override final;
+        void mouseWheelMovedDown(MouseEvent& event) final;
 
     protected:
         enum BUTTON_DIR
diff --git a/src/gui/widgets/selldialog.h b/src/gui/widgets/selldialog.h
index 46512225f..0156557c9 100644
--- a/src/gui/widgets/selldialog.h
+++ b/src/gui/widgets/selldialog.h
@@ -80,14 +80,14 @@ class SellDialog notfinal : public Window,
         /**
          * Called when receiving actions from the widgets.
          */
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         /**
          * Updates labels according to selected item.
          *
          * @see SelectionListener::selectionChanged
          */
-        void valueChanged(const SelectionEvent &event) override final;
+        void valueChanged(const SelectionEvent &event) final;
 
         /**
          * Gives Player's Money amount
@@ -97,7 +97,7 @@ class SellDialog notfinal : public Window,
         /**
          * Sets the visibility of this window.
          */
-        void setVisible(Visible visible) override final;
+        void setVisible(Visible visible) final;
 
         ShopItem *addItem(const int id,
                           const ItemTypeT type,
diff --git a/src/gui/widgets/serverslistbox.h b/src/gui/widgets/serverslistbox.h
index ff3262296..7a4cf0145 100644
--- a/src/gui/widgets/serverslistbox.h
+++ b/src/gui/widgets/serverslistbox.h
@@ -43,7 +43,7 @@ class ServersListBox final : public ListBox
             mHighlightColor = getThemeColor(ThemeColorId::HIGHLIGHT);
         }
 
-        void draw(Graphics *const graphics) override final A_NONNULL(2)
+        void draw(Graphics *const graphics) final A_NONNULL(2)
         {
             if (!mListModel)
                 return;
@@ -140,12 +140,12 @@ class ServersListBox final : public ListBox
             }
         }
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2)
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2)
         {
             ServersListBox::draw(graphics);
         }
 
-        unsigned int getRowHeight() const override final
+        unsigned int getRowHeight() const final
         {
             return 2 * getFont()->getHeight() + 5;
         }
diff --git a/src/gui/widgets/setupbuttonitem.h b/src/gui/widgets/setupbuttonitem.h
index c0d6005cd..a23699f51 100644
--- a/src/gui/widgets/setupbuttonitem.h
+++ b/src/gui/widgets/setupbuttonitem.h
@@ -43,23 +43,23 @@ class SetupButtonItem final : public SetupItem
 
         void createControls();
 
-        void fromWidget() override final A_CONST;
+        void fromWidget() final A_CONST;
 
-        void toWidget() override final A_CONST;
+        void toWidget() final A_CONST;
 
-        void action(const ActionEvent &event) override final A_CONST;
+        void action(const ActionEvent &event) final A_CONST;
 
-        void apply(const std::string &eventName) override final A_CONST;
+        void apply(const std::string &eventName) final A_CONST;
 
         void cancel(const std::string &eventName A_UNUSED)
-                    override final A_CONST;
+                    final A_CONST;
 
         void externalUpdated(const std::string &eventName A_UNUSED)
-                             override final A_CONST;
+                             final A_CONST;
 
-        void rereadValue() override final A_CONST;
+        void rereadValue() final A_CONST;
 
-        void save() override final A_CONST;
+        void save() final A_CONST;
 
     protected:
         HorizontContainer *mHorizont;
diff --git a/src/gui/widgets/setupitem.h b/src/gui/widgets/setupitem.h
index c7bea7af7..ac25a298f 100644
--- a/src/gui/widgets/setupitem.h
+++ b/src/gui/widgets/setupitem.h
@@ -174,9 +174,9 @@ class SetupItemCheckBox final : public SetupItem
 
         void createControls();
 
-        void fromWidget() override final;
+        void fromWidget() final;
 
-        void toWidget() override final;
+        void toWidget() final;
 
     protected:
         CheckBox *mCheckBox;
@@ -208,22 +208,22 @@ class SetupItemTextField final : public SetupItem
 
         void createControls();
 
-        void fromWidget() override final;
+        void fromWidget() final;
 
-        void toWidget() override final;
+        void toWidget() final;
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
-        void apply(const std::string &eventName) override final;
+        void apply(const std::string &eventName) final;
 
-        void cancel(const std::string &eventName A_UNUSED) override final;
+        void cancel(const std::string &eventName A_UNUSED) final;
 
         void externalUpdated(const std::string &eventName A_UNUSED)
-                             override final;
+                             final;
 
-        void rereadValue() override final;
+        void rereadValue() final;
 
-        void save() override final;
+        void save() final;
 
         void setUseBase64(const UseBase64 b)
         { mUseBase64 = b; }
@@ -263,13 +263,13 @@ class SetupItemIntTextField final : public SetupItem
 
         void createControls();
 
-        void fromWidget() override final;
+        void fromWidget() final;
 
-        void toWidget() override final;
+        void toWidget() final;
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
-        void apply(const std::string &eventName) override final;
+        void apply(const std::string &eventName) final;
 
     protected:
         HorizontContainer *mHorizont;
@@ -295,13 +295,13 @@ class SetupItemLabel final : public SetupItem
 
         void createControls();
 
-        void fromWidget() override final A_CONST;
+        void fromWidget() final A_CONST;
 
-        void toWidget() override final A_CONST;
+        void toWidget() final A_CONST;
 
-        void action(const ActionEvent &event) override final A_CONST;
+        void action(const ActionEvent &event) final A_CONST;
 
-        void apply(const std::string &eventName) override final A_CONST;
+        void apply(const std::string &eventName) final A_CONST;
 
     protected:
         Label *mLabel;
@@ -336,9 +336,9 @@ class SetupItemDropDown final : public SetupItem
 
         void createControls();
 
-        void fromWidget() override final;
+        void fromWidget() final;
 
-        void toWidget() override final;
+        void toWidget() final;
 
     protected:
         HorizontContainer *mHorizont;
@@ -382,13 +382,13 @@ class SetupItemSlider final : public SetupItem
 
         void createControls();
 
-        void fromWidget() override final;
+        void fromWidget() final;
 
-        void toWidget() override final;
+        void toWidget() final;
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
-        void apply(const std::string &eventName) override final;
+        void apply(const std::string &eventName) final;
 
         void updateLabel();
 
@@ -439,13 +439,13 @@ class SetupItemSlider2 final : public SetupItem
 
         void createControls();
 
-        void fromWidget() override final;
+        void fromWidget() final;
 
-        void toWidget() override final;
+        void toWidget() final;
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
-        void apply(const std::string &eventName) override final;
+        void apply(const std::string &eventName) final;
 
         void setInvertValue(const int v);
 
@@ -483,7 +483,7 @@ class SetupItemSliderList notfinal : public SetupItem
 
         void action(const ActionEvent &event) override;
 
-        void apply(const std::string &eventName) override final;
+        void apply(const std::string &eventName) final;
 
         virtual void addMoreControls() = 0;
 
@@ -532,9 +532,9 @@ class SetupItemSound final : public SetupItemSliderList
 
         A_DELETE_COPY(SetupItemSound)
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
-        void addMoreControls() override final;
+        void addMoreControls() final;
 
     protected:
         Button *mButton;
@@ -556,11 +556,11 @@ class SetupItemSliderInt final : public SetupItemSliderList
 
         A_DELETE_COPY(SetupItemSliderInt)
 
-        void addMoreControls() override final;
+        void addMoreControls() final;
 
-        void fromWidget() override final;
+        void fromWidget() final;
 
-        void toWidget() override final;
+        void toWidget() final;
 
     protected:
         int mMin;
diff --git a/src/gui/widgets/setupquickitem.h b/src/gui/widgets/setupquickitem.h
index cb72c063c..3c1ef98b1 100644
--- a/src/gui/widgets/setupquickitem.h
+++ b/src/gui/widgets/setupquickitem.h
@@ -49,25 +49,25 @@ class SetupQuickItem final : public SetupItem,
 
         void createControls();
 
-        void fromWidget() override final A_CONST;
+        void fromWidget() final A_CONST;
 
-        void toWidget() override final;
+        void toWidget() final;
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
-        void apply(const std::string &eventName) override final A_CONST;
+        void apply(const std::string &eventName) final A_CONST;
 
-        void cancel(const std::string &eventName A_UNUSED) override final
+        void cancel(const std::string &eventName A_UNUSED) final
                     A_CONST;
 
         void externalUpdated(const std::string &eventName A_UNUSED)
-                             override final A_CONST;
+                             final A_CONST;
 
-        void rereadValue() override final A_CONST;
+        void rereadValue() final A_CONST;
 
-        void save() override final A_CONST;
+        void save() final A_CONST;
 
-        void gameModifiersChanged() override final;
+        void gameModifiersChanged() final;
 
     protected:
         HorizontContainer *mHorizont;
diff --git a/src/gui/widgets/setuptouchitem.h b/src/gui/widgets/setuptouchitem.h
index 8e577caa9..711f7e107 100644
--- a/src/gui/widgets/setuptouchitem.h
+++ b/src/gui/widgets/setuptouchitem.h
@@ -52,9 +52,9 @@ class SetupActionDropDown final : public SetupItem
 
         void createControls();
 
-        void fromWidget() override final;
+        void fromWidget() final;
 
-        void toWidget() override final;
+        void toWidget() final;
 
     protected:
         HorizontContainer *mHorizont;
diff --git a/src/gui/widgets/shoplistbox.h b/src/gui/widgets/shoplistbox.h
index cc4504c82..ce29c0247 100644
--- a/src/gui/widgets/shoplistbox.h
+++ b/src/gui/widgets/shoplistbox.h
@@ -55,9 +55,9 @@ class ShopListBox final : public ListBox
         /**
          * Draws the list box.
          */
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
         /**
          * gives information about the current player's money
@@ -67,7 +67,7 @@ class ShopListBox final : public ListBox
         /**
          * Adjust List draw size
          */
-        void adjustSize() override final;
+        void adjustSize() final;
 
         /**
          * Set on/off the disabling of too expensive items.
@@ -75,11 +75,11 @@ class ShopListBox final : public ListBox
          */
         void setPriceCheck(const bool check);
 
-        void mouseMoved(MouseEvent &event) override final;
+        void mouseMoved(MouseEvent &event) final;
 
-        void mouseReleased(MouseEvent& event) override final;
+        void mouseReleased(MouseEvent& event) final;
 
-        void mouseExited(MouseEvent& event) override final;
+        void mouseExited(MouseEvent& event) final;
 
         void setProtectItems(bool p)
         { mProtectItems = p; }
diff --git a/src/gui/widgets/shortcutcontainer.h b/src/gui/widgets/shortcutcontainer.h
index d56f74f6f..23d2709c7 100644
--- a/src/gui/widgets/shortcutcontainer.h
+++ b/src/gui/widgets/shortcutcontainer.h
@@ -52,9 +52,9 @@ class ShortcutContainer notfinal : public Widget,
          * Invoked when a widget changes its size. This is used to determine
          * the new height of the container.
          */
-        void widgetResized(const Event &event) override final;
+        void widgetResized(const Event &event) final;
 
-        void widgetMoved(const Event& event) override final;
+        void widgetMoved(const Event& event) final;
 
         /**
          * Handles mouse when dragged.
diff --git a/src/gui/widgets/skilllistbox.h b/src/gui/widgets/skilllistbox.h
index 8415e0cab..717578299 100644
--- a/src/gui/widgets/skilllistbox.h
+++ b/src/gui/widgets/skilllistbox.h
@@ -87,7 +87,7 @@ class SkillListBox final : public ListBox
             return static_cast<SkillModel*>(mListModel)->getSkillAt(selected);
         }
 
-        void draw(Graphics *const graphics) override final A_NONNULL(2)
+        void draw(Graphics *const graphics) final A_NONNULL(2)
         {
             if (!mListModel)
                 return;
@@ -171,12 +171,12 @@ class SkillListBox final : public ListBox
             }
         }
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2)
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2)
         {
             SkillListBox::draw(graphics);
         }
 
-        unsigned int getRowHeight() const override final
+        unsigned int getRowHeight() const final
         { return mRowHeight; }
 
         const SkillInfo *getSkillByEvent(const MouseEvent &event) const
@@ -190,7 +190,7 @@ class SkillListBox final : public ListBox
             return skill;
         }
 
-        void mouseMoved(MouseEvent &event) override final
+        void mouseMoved(MouseEvent &event) final
         {
             ListBox::mouseMoved(event);
             if (!viewport || !dragDrop.isEmpty())
@@ -205,7 +205,7 @@ class SkillListBox final : public ListBox
                 viewport->mMouseY);
         }
 
-        void mouseDragged(MouseEvent &event) override final
+        void mouseDragged(MouseEvent &event) final
         {
             if (event.getButton() == MouseButton::LEFT)
             {
@@ -229,7 +229,7 @@ class SkillListBox final : public ListBox
             }
         }
 
-        void mousePressed(MouseEvent &event) override final
+        void mousePressed(MouseEvent &event) final
         {
             ListBox::mousePressed(event);
             if (event.getButton() == MouseButton::LEFT)
@@ -254,12 +254,12 @@ class SkillListBox final : public ListBox
             }
         }
 
-        void mouseReleased(MouseEvent &event) override final
+        void mouseReleased(MouseEvent &event) final
         {
             ListBox::mouseReleased(event);
         }
 
-        void mouseExited(MouseEvent &event A_UNUSED) override final
+        void mouseExited(MouseEvent &event A_UNUSED) final
         {
             skillPopup->hide();
         }
diff --git a/src/gui/widgets/slider.h b/src/gui/widgets/slider.h
index b6d065634..8e4466c0a 100644
--- a/src/gui/widgets/slider.h
+++ b/src/gui/widgets/slider.h
@@ -125,29 +125,29 @@ class Slider final : public Widget,
         /**
          * Draws the slider.
          */
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
         /**
          * Called when the mouse enteres the widget area.
          */
-        void mouseEntered(MouseEvent& event) override final;
+        void mouseEntered(MouseEvent& event) final;
 
         /**
          * Called when the mouse leaves the widget area.
          */
-        void mouseExited(MouseEvent& event) override final;
+        void mouseExited(MouseEvent& event) final;
 
-        void mousePressed(MouseEvent &event) override final;
+        void mousePressed(MouseEvent &event) final;
 
-        void mouseDragged(MouseEvent &event) override final;
+        void mouseDragged(MouseEvent &event) final;
 
-        void mouseWheelMovedUp(MouseEvent &event) override final;
+        void mouseWheelMovedUp(MouseEvent &event) final;
 
-        void mouseWheelMovedDown(MouseEvent &event) override final;
+        void mouseWheelMovedDown(MouseEvent &event) final;
 
-        void keyPressed(KeyEvent& event) override final;
+        void keyPressed(KeyEvent& event) final;
 
         /**
          * Sets the scale of the slider.
diff --git a/src/gui/widgets/sliderlist.h b/src/gui/widgets/sliderlist.h
index 622fa95dc..590b59177 100644
--- a/src/gui/widgets/sliderlist.h
+++ b/src/gui/widgets/sliderlist.h
@@ -49,17 +49,17 @@ class SliderList final : public Container,
 
         void updateAlpha();
 
-        void mouseWheelMovedUp(MouseEvent& event) override final;
+        void mouseWheelMovedUp(MouseEvent& event) final;
 
-        void mouseWheelMovedDown(MouseEvent& event) override final;
+        void mouseWheelMovedDown(MouseEvent& event) final;
 
         void resize();
 
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         void setSelectedString(const std::string &str);
 
diff --git a/src/gui/widgets/spellshortcutcontainer.h b/src/gui/widgets/spellshortcutcontainer.h
index 3a044a79f..2f4514965 100644
--- a/src/gui/widgets/spellshortcutcontainer.h
+++ b/src/gui/widgets/spellshortcutcontainer.h
@@ -49,32 +49,32 @@ class SpellShortcutContainer final : public ShortcutContainer
         /**
          * Draws the items.
          */
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
         /**
          * Handles mouse when dragged.
          */
-        void mouseDragged(MouseEvent &event) override final;
+        void mouseDragged(MouseEvent &event) final;
 
         /**
          * Handles mouse when pressed.
          */
-        void mousePressed(MouseEvent &event) override final;
+        void mousePressed(MouseEvent &event) final;
 
         /**
          * Handles mouse release.
          */
-        void mouseReleased(MouseEvent &event) override final;
+        void mouseReleased(MouseEvent &event) final;
 
-        void widgetHidden(const Event &event) override final;
+        void widgetHidden(const Event &event) final;
 
-        void mouseExited(MouseEvent &event) override final;
+        void mouseExited(MouseEvent &event) final;
 
-        void mouseMoved(MouseEvent &event) override final;
+        void mouseMoved(MouseEvent &event) final;
 
-        void setWidget2(const Widget2 *const widget) override final;
+        void setWidget2(const Widget2 *const widget) final;
 
         int getItemByIndex(const int index) const A_WARN_UNUSED;
 
diff --git a/src/gui/widgets/statuswindowattrs.h b/src/gui/widgets/statuswindowattrs.h
index e4be9d05c..598e29086 100644
--- a/src/gui/widgets/statuswindowattrs.h
+++ b/src/gui/widgets/statuswindowattrs.h
@@ -91,7 +91,7 @@ class DerDisplay final : public AttrDisplay
 
         A_DELETE_COPY(DerDisplay)
 
-        Type getType() const override final
+        Type getType() const final
         { return DERIVED; }
 };
 
@@ -106,14 +106,14 @@ class ChangeDisplay final : public AttrDisplay,
 
         A_DELETE_COPY(ChangeDisplay)
 
-        std::string update() override final;
+        std::string update() final;
 
-        Type getType() const override final
+        Type getType() const final
         { return CHANGEABLE; }
 
         void setPointsNeeded(const int needed);
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
     private:
         int mNeeded;
diff --git a/src/gui/widgets/tabbedarea.h b/src/gui/widgets/tabbedarea.h
index 083f178f7..5c3b1d0e3 100644
--- a/src/gui/widgets/tabbedarea.h
+++ b/src/gui/widgets/tabbedarea.h
@@ -97,14 +97,14 @@ class TabbedArea final : public ActionListener,
 
         ~TabbedArea();
 
-        void postInit() override final;
+        void postInit() final;
 
         /**
          * Draw the tabbed area.
          */
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
         /**
          * Return how many tabs have been created.
@@ -160,7 +160,7 @@ class TabbedArea final : public ActionListener,
         /**
          * Overload the logic function since it's broken in guichan 0.8.
          */
-        void logic() override final;
+        void logic() final;
 
         int getContainerHeight() const A_WARN_UNUSED
         { return mWidgetContainer->getHeight(); }
@@ -184,7 +184,7 @@ class TabbedArea final : public ActionListener,
 
         void setSelectedTabByName(const std::string &name);
 
-        void widgetResized(const Event &event) override final;
+        void widgetResized(const Event &event) final;
 
 /*
         void moveLeft(Tab *tab);
@@ -193,11 +193,11 @@ class TabbedArea final : public ActionListener,
 */
         void adjustTabPositions();
 
-        void action(const ActionEvent& actionEvent) override final;
+        void action(const ActionEvent& actionEvent) final;
 
         // Inherited from MouseListener
 
-        void mousePressed(MouseEvent &event) override final;
+        void mousePressed(MouseEvent &event) final;
 
         void enableScrollButtons(const bool enable);
 
@@ -213,7 +213,7 @@ class TabbedArea final : public ActionListener,
         bool getFollowDownScroll() const A_WARN_UNUSED
         { return mFollowDownScroll; }
 
-        void keyPressed(KeyEvent& event) override final;
+        void keyPressed(KeyEvent& event) final;
 
         void setBlockSwitching(const bool b)
         { mBlockSwitching = b; }
@@ -226,7 +226,7 @@ class TabbedArea final : public ActionListener,
 
         void setDimension(const Rect &dimension);
 
-        void death(const Event &event) override final;
+        void death(const Event &event) final;
 
         void setResizeHeight(bool b)
         { mResizeHeight = b; }
diff --git a/src/gui/widgets/tabs/chat/channeltab.h b/src/gui/widgets/tabs/chat/channeltab.h
index 9b723a7dc..c7015cd41 100644
--- a/src/gui/widgets/tabs/chat/channeltab.h
+++ b/src/gui/widgets/tabs/chat/channeltab.h
@@ -39,13 +39,13 @@ class ChannelTab final : public ChatTab
         ~ChannelTab();
 
     protected:
-        void handleInput(const std::string &msg) override final;
+        void handleInput(const std::string &msg) final;
 
         bool handleCommand(const std::string &restrict type,
-                           const std::string &restrict args) override final;
+                           const std::string &restrict args) final;
 
         void getAutoCompleteCommands(StringVect& commands)
-                                     const override final;
+                                     const final;
 };
 
 #endif  // GUI_WIDGETS_TABS_CHAT_CHANNELTAB_H
diff --git a/src/gui/widgets/tabs/chat/chattab.h b/src/gui/widgets/tabs/chat/chattab.h
index dc2062946..16c834503 100644
--- a/src/gui/widgets/tabs/chat/chattab.h
+++ b/src/gui/widgets/tabs/chat/chattab.h
@@ -184,7 +184,7 @@ class ChatTab notfinal : public Tab
         friend class ChatWindow;
         friend class WhisperWindow;
 
-        void setCurrent() override final
+        void setCurrent() final
         { setFlash(0); }
 
         virtual void handleInput(const std::string &msg);
diff --git a/src/gui/widgets/tabs/chat/emulateguildtab.h b/src/gui/widgets/tabs/chat/emulateguildtab.h
index 96eed73a6..8724aee75 100644
--- a/src/gui/widgets/tabs/chat/emulateguildtab.h
+++ b/src/gui/widgets/tabs/chat/emulateguildtab.h
@@ -41,18 +41,18 @@ class EmulateGuildTab final : public ChatTab,
         ~EmulateGuildTab();
 
         bool handleCommand(const std::string &restrict type,
-                           const std::string &restrict args) override final;
+                           const std::string &restrict args) final;
 
-        void playNewMessageSound() const override final;
+        void playNewMessageSound() const final;
 
-        void optionChanged(const std::string &value) override final;
+        void optionChanged(const std::string &value) final;
 
     protected:
-        void handleInput(const std::string &msg) override final;
+        void handleInput(const std::string &msg) final;
 
-        void getAutoCompleteList(StringVect &names) const override final;
+        void getAutoCompleteList(StringVect &names) const final;
 
-        void getAutoCompleteCommands(StringVect &names) const override final;
+        void getAutoCompleteCommands(StringVect &names) const final;
 };
 
 #endif  // TMWA_SUPPORT
diff --git a/src/gui/widgets/tabs/chat/gmtab.h b/src/gui/widgets/tabs/chat/gmtab.h
index 797084a76..084034c0a 100644
--- a/src/gui/widgets/tabs/chat/gmtab.h
+++ b/src/gui/widgets/tabs/chat/gmtab.h
@@ -37,11 +37,11 @@ class GmTab final : public ChatTab
 
     protected:
         void getAutoCompleteList(StringVect &names) const
-                                 override final A_CONST;
+                                 final A_CONST;
 
-        void handleInput(const std::string &msg) override final;
+        void handleInput(const std::string &msg) final;
 
-        void handleCommandStr(const std::string &msg) override final A_CONST;
+        void handleCommandStr(const std::string &msg) final A_CONST;
 };
 
 extern GmTab *gmChatTab;
diff --git a/src/gui/widgets/tabs/chat/guildtab.h b/src/gui/widgets/tabs/chat/guildtab.h
index 005485c98..51995dc6b 100644
--- a/src/gui/widgets/tabs/chat/guildtab.h
+++ b/src/gui/widgets/tabs/chat/guildtab.h
@@ -39,18 +39,18 @@ class GuildTab notfinal : public ChatTab,
         virtual ~GuildTab();
 
         bool handleCommand(const std::string &restrict type,
-                           const std::string &restrict args) override final;
+                           const std::string &restrict args) final;
 
-        void playNewMessageSound() const override final;
+        void playNewMessageSound() const final;
 
-        void optionChanged(const std::string &value) override final;
+        void optionChanged(const std::string &value) final;
 
     protected:
-        void handleInput(const std::string &msg) override final;
+        void handleInput(const std::string &msg) final;
 
-        void getAutoCompleteList(StringVect &names) const override final;
+        void getAutoCompleteList(StringVect &names) const final;
 
-        void getAutoCompleteCommands(StringVect &names) const override final;
+        void getAutoCompleteCommands(StringVect &names) const final;
 };
 
 #endif  // GUI_WIDGETS_TABS_CHAT_GUILDTAB_H
diff --git a/src/gui/widgets/tabs/chat/partytab.h b/src/gui/widgets/tabs/chat/partytab.h
index 91d4391fd..3c5262184 100644
--- a/src/gui/widgets/tabs/chat/partytab.h
+++ b/src/gui/widgets/tabs/chat/partytab.h
@@ -39,18 +39,18 @@ class PartyTab notfinal : public ChatTab,
         virtual ~PartyTab();
 
         bool handleCommand(const std::string &restrict type,
-                           const std::string &restrict args) override final;
+                           const std::string &restrict args) final;
 
-        void playNewMessageSound() const override final;
+        void playNewMessageSound() const final;
 
-        void optionChanged(const std::string &value) override final;
+        void optionChanged(const std::string &value) final;
 
     protected:
-        void handleInput(const std::string &msg) override final;
+        void handleInput(const std::string &msg) final;
 
-        void getAutoCompleteList(StringVect&) const override final;
+        void getAutoCompleteList(StringVect&) const final;
 
-        void getAutoCompleteCommands(StringVect &names) const override final;
+        void getAutoCompleteCommands(StringVect &names) const final;
 };
 
 extern PartyTab *partyTab;
diff --git a/src/gui/widgets/tabs/chat/tradetab.h b/src/gui/widgets/tabs/chat/tradetab.h
index 47057da4c..848cd5e1c 100644
--- a/src/gui/widgets/tabs/chat/tradetab.h
+++ b/src/gui/widgets/tabs/chat/tradetab.h
@@ -38,7 +38,7 @@ class TradeTab final : public ChatTab
         ~TradeTab();
 
     protected:
-        void handleInput(const std::string &msg) override final;
+        void handleInput(const std::string &msg) final;
 };
 
 extern TradeTab *tradeChatTab;
diff --git a/src/gui/widgets/tabs/chat/whispertab.h b/src/gui/widgets/tabs/chat/whispertab.h
index f298bf164..0513d40f3 100644
--- a/src/gui/widgets/tabs/chat/whispertab.h
+++ b/src/gui/widgets/tabs/chat/whispertab.h
@@ -37,7 +37,7 @@ class WhisperTab final : public ChatTab
         { return mNick; }
 
         bool handleCommand(const std::string &restrict type,
-                           const std::string &restrict args) override final;
+                           const std::string &restrict args) final;
 
         void setWhisperTabColors();
 
@@ -46,10 +46,10 @@ class WhisperTab final : public ChatTab
     protected:
         friend class ChatWindow;
 
-        void getAutoCompleteList(StringVect &names) const override final;
+        void getAutoCompleteList(StringVect &names) const final;
 
         void getAutoCompleteCommands(StringVect& commands)
-                                     const override final;
+                                     const final;
 
         /**
          * Constructor.
@@ -62,9 +62,9 @@ class WhisperTab final : public ChatTab
 
         ~WhisperTab();
 
-        void handleInput(const std::string &msg) override final;
+        void handleInput(const std::string &msg) final;
 
-        void handleCommandStr(const std::string &msg) override final;
+        void handleCommandStr(const std::string &msg) final;
 
     private:
         std::string mNick;
diff --git a/src/gui/widgets/tabs/debugwindowtabs.h b/src/gui/widgets/tabs/debugwindowtabs.h
index 1dd92b39d..2f9cd0e65 100644
--- a/src/gui/widgets/tabs/debugwindowtabs.h
+++ b/src/gui/widgets/tabs/debugwindowtabs.h
@@ -56,7 +56,7 @@ class MapDebugTab final : public DebugTab
 
         A_DELETE_COPY(MapDebugTab)
 
-        void logic() override final;
+        void logic() final;
 
     private:
         Label *mMusicFileLabel A_NONNULLPOINTER;
@@ -88,7 +88,7 @@ class TargetDebugTab final : public DebugTab
 
         A_DELETE_COPY(TargetDebugTab)
 
-        void logic() override final;
+        void logic() final;
 
     private:
         Label *mTargetLabel A_NONNULLPOINTER;
@@ -116,7 +116,7 @@ class NetDebugTab final : public DebugTab
 
         A_DELETE_COPY(NetDebugTab)
 
-        void logic() override final;
+        void logic() final;
 
     private:
         Label *mPingLabel A_NONNULLPOINTER;
diff --git a/src/gui/widgets/tabs/setup_audio.h b/src/gui/widgets/tabs/setup_audio.h
index a93a20b38..311816df4 100644
--- a/src/gui/widgets/tabs/setup_audio.h
+++ b/src/gui/widgets/tabs/setup_audio.h
@@ -36,7 +36,7 @@ class Setup_Audio final : public SetupTabScroll
 
         ~Setup_Audio();
 
-        void apply() override final;
+        void apply() final;
 
     private:
         ListModel *mSoundModel;
diff --git a/src/gui/widgets/tabs/setup_chat.h b/src/gui/widgets/tabs/setup_chat.h
index 4feeb703a..e83887913 100644
--- a/src/gui/widgets/tabs/setup_chat.h
+++ b/src/gui/widgets/tabs/setup_chat.h
@@ -32,9 +32,9 @@ class Setup_Chat final : public SetupTabScroll
 
         A_DELETE_COPY(Setup_Chat)
 
-        void apply() override final;
+        void apply() final;
 
-        void externalUpdated() override final;
+        void externalUpdated() final;
 };
 
 #endif  // GUI_WIDGETS_TABS_SETUP_CHAT_H
diff --git a/src/gui/widgets/tabs/setup_colors.h b/src/gui/widgets/tabs/setup_colors.h
index da4fb6c90..ab433d288 100644
--- a/src/gui/widgets/tabs/setup_colors.h
+++ b/src/gui/widgets/tabs/setup_colors.h
@@ -44,13 +44,13 @@ class Setup_Colors final : public SetupTab,
 
         ~Setup_Colors();
 
-        void apply() override final;
+        void apply() final;
 
-        void cancel() override final;
+        void cancel() final;
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
-        void valueChanged(const SelectionEvent &event) override final;
+        void valueChanged(const SelectionEvent &event) final;
 
     private:
         static const char *const rawmsg;
diff --git a/src/gui/widgets/tabs/setup_input.h b/src/gui/widgets/tabs/setup_input.h
index fbbbcadd5..df6b2a957 100644
--- a/src/gui/widgets/tabs/setup_input.h
+++ b/src/gui/widgets/tabs/setup_input.h
@@ -51,11 +51,11 @@ class Setup_Input final : public SetupTab
          */
         ~Setup_Input();
 
-        void apply() override final;
+        void apply() final;
 
-        void cancel() override final;
+        void cancel() final;
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         /**
          * Get an update on the assigned key.
diff --git a/src/gui/widgets/tabs/setup_joystick.h b/src/gui/widgets/tabs/setup_joystick.h
index 11af99b23..d9c16d683 100644
--- a/src/gui/widgets/tabs/setup_joystick.h
+++ b/src/gui/widgets/tabs/setup_joystick.h
@@ -40,11 +40,11 @@ class Setup_Joystick final : public SetupTab
 
         ~Setup_Joystick();
 
-        void apply() override final;
+        void apply() final;
 
-        void cancel() override final;
+        void cancel() final;
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         void setTempEnabled(const bool sel);
 
diff --git a/src/gui/widgets/tabs/setup_mods.h b/src/gui/widgets/tabs/setup_mods.h
index e9f47fbd0..3f488eaa9 100644
--- a/src/gui/widgets/tabs/setup_mods.h
+++ b/src/gui/widgets/tabs/setup_mods.h
@@ -34,11 +34,11 @@ class Setup_Mods final : public SetupTabScroll
 
         ~Setup_Mods();
 
-        void apply() override final;
+        void apply() final;
 
-        void externalUpdated() override final;
+        void externalUpdated() final;
 
-        void externalUnloaded() override final;
+        void externalUnloaded() final;
 
         void loadMods();
 
diff --git a/src/gui/widgets/tabs/setup_other.h b/src/gui/widgets/tabs/setup_other.h
index d73cf0d4b..85b018e95 100644
--- a/src/gui/widgets/tabs/setup_other.h
+++ b/src/gui/widgets/tabs/setup_other.h
@@ -36,9 +36,9 @@ class Setup_Other final : public SetupTabScroll
 
         ~Setup_Other();
 
-        void apply() override final;
+        void apply() final;
 
-        void externalUpdated() override final;
+        void externalUpdated() final;
 
     protected:
         NamesModel *mProxyTypeList;
diff --git a/src/gui/widgets/tabs/setup_relations.h b/src/gui/widgets/tabs/setup_relations.h
index b86856782..1173731a7 100644
--- a/src/gui/widgets/tabs/setup_relations.h
+++ b/src/gui/widgets/tabs/setup_relations.h
@@ -46,19 +46,19 @@ class Setup_Relations final : public SetupTab,
 
         ~Setup_Relations();
 
-        void apply() override final;
+        void apply() final;
 
-        void cancel() override final A_CONST;
+        void cancel() final A_CONST;
 
         void reset();
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
-        void updatedPlayer(const std::string &name) override final;
+        void updatedPlayer(const std::string &name) final;
 
-        void updateAll() override final;
+        void updateAll() final;
 
-        void externalUpdated() override final;
+        void externalUpdated() final;
 
     private:
         StaticTableModel *mPlayerTableTitleModel;
diff --git a/src/gui/widgets/tabs/setup_theme.h b/src/gui/widgets/tabs/setup_theme.h
index 526ebdd8f..1c9d885fe 100644
--- a/src/gui/widgets/tabs/setup_theme.h
+++ b/src/gui/widgets/tabs/setup_theme.h
@@ -42,11 +42,11 @@ class Setup_Theme final : public SetupTab
 
         ~Setup_Theme();
 
-        void apply() override final;
+        void apply() final;
 
-        void cancel() override final;
+        void cancel() final;
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         void updateInfo();
 
diff --git a/src/gui/widgets/tabs/setup_video.h b/src/gui/widgets/tabs/setup_video.h
index e1a94557e..2dd53f3bc 100644
--- a/src/gui/widgets/tabs/setup_video.h
+++ b/src/gui/widgets/tabs/setup_video.h
@@ -47,11 +47,11 @@ class Setup_Video final : public SetupTab,
 
         ~Setup_Video();
 
-        void apply() override final;
+        void apply() final;
 
-        void cancel() override final;
+        void cancel() final;
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
     private:
         bool mFullScreenEnabled;
diff --git a/src/gui/widgets/tabs/setup_visual.h b/src/gui/widgets/tabs/setup_visual.h
index 6a645e50a..3c71cb083 100644
--- a/src/gui/widgets/tabs/setup_visual.h
+++ b/src/gui/widgets/tabs/setup_visual.h
@@ -37,7 +37,7 @@ class Setup_Visual final : public SetupTabScroll
 
         ~Setup_Visual();
 
-        void apply() override final;
+        void apply() final;
 
     private:
         NamesModel *mSpeachList;
diff --git a/src/gui/widgets/tabs/setuptabscroll.h b/src/gui/widgets/tabs/setuptabscroll.h
index 30e771c05..5afe4ac46 100644
--- a/src/gui/widgets/tabs/setuptabscroll.h
+++ b/src/gui/widgets/tabs/setuptabscroll.h
@@ -47,23 +47,23 @@ class SetupTabScroll notfinal : public SetupTab
 
         void apply() override;
 
-        void cancel() override final;
+        void cancel() final;
 
         void externalUpdated() override;
 
         void externalUnloaded() override;
 
-        void action(const ActionEvent &event A_UNUSED) override final
+        void action(const ActionEvent &event A_UNUSED) final
         { }
 
         int getPreferredFirstItemSize() const A_WARN_UNUSED
         { return mPreferredFirstItemSize; }
 
-        void widgetResized(const Event &event) override final;
+        void widgetResized(const Event &event) final;
 
         void reread(const std::string &name);
 
-        void clear() override final;
+        void clear() final;
 
         const std::set<SetupItem*> &getAllItems() const
         { return mAllItems; }
diff --git a/src/gui/widgets/tabs/socialattacktab.h b/src/gui/widgets/tabs/socialattacktab.h
index 31cafd1ff..4787a990a 100644
--- a/src/gui/widgets/tabs/socialattacktab.h
+++ b/src/gui/widgets/tabs/socialattacktab.h
@@ -58,7 +58,7 @@ class SocialAttackTab final : public SocialTab
             delete2(mBeings)
         }
 
-        void updateList() override final
+        void updateList() final
         {
             updateAtkListStart();
             // TRANSLATORS: mobs group name in social window
diff --git a/src/gui/widgets/tabs/socialfriendstab.h b/src/gui/widgets/tabs/socialfriendstab.h
index b53138e10..a2a97ce98 100644
--- a/src/gui/widgets/tabs/socialfriendstab.h
+++ b/src/gui/widgets/tabs/socialfriendstab.h
@@ -63,7 +63,7 @@ class SocialFriendsTab final : public SocialTab
             delete2(mBeings)
         }
 
-        void updateList() override final
+        void updateList() final
         {
             getPlayersAvatars();
         }
diff --git a/src/gui/widgets/tabs/socialguildtab.h b/src/gui/widgets/tabs/socialguildtab.h
index 942ce9d59..081d3a5f1 100644
--- a/src/gui/widgets/tabs/socialguildtab.h
+++ b/src/gui/widgets/tabs/socialguildtab.h
@@ -69,7 +69,7 @@ class SocialGuildTab final : public SocialTab,
             delete2(mScroll)
         }
 
-        void action(const ActionEvent &event) override final
+        void action(const ActionEvent &event) final
         {
             const std::string &eventId = event.getId();
             if (eventId == "do invite")
@@ -111,7 +111,7 @@ class SocialGuildTab final : public SocialTab,
             }
         }
 
-        void invite() override final
+        void invite() final
         {
             CREATEWIDGETV(mInviteDialog, TextDialog,
                 // TRANSLATORS: guild invite message
@@ -123,7 +123,7 @@ class SocialGuildTab final : public SocialTab,
             mInviteDialog->addActionListener(this);
         }
 
-        void leave() override final
+        void leave() final
         {
             CREATEWIDGETV(mConfirmDialog, ConfirmDialog,
                 // TRANSLATORS: guild leave message
@@ -134,7 +134,7 @@ class SocialGuildTab final : public SocialTab,
             mConfirmDialog->addActionListener(this);
         }
 
-        void buildCounter(const int online0, const int total0) override final
+        void buildCounter(const int online0, const int total0) final
         {
             if (online0 || total0)
             {
diff --git a/src/gui/widgets/tabs/socialguildtab2.h b/src/gui/widgets/tabs/socialguildtab2.h
index c216c6d36..61fc7ea33 100644
--- a/src/gui/widgets/tabs/socialguildtab2.h
+++ b/src/gui/widgets/tabs/socialguildtab2.h
@@ -69,12 +69,12 @@ class SocialGuildTab2 final : public SocialTab,
             delete2(mScroll)
         }
 
-        void action(const ActionEvent &event A_UNUSED) override final
+        void action(const ActionEvent &event A_UNUSED) final
         {
         }
 
         void buildCounter(const int online0 A_UNUSED,
-                          const int total0 A_UNUSED) override final
+                          const int total0 A_UNUSED) final
         {
             if (!localPlayer)
                 return;
diff --git a/src/gui/widgets/tabs/socialnavigationtab.h b/src/gui/widgets/tabs/socialnavigationtab.h
index e673c689b..d15167945 100644
--- a/src/gui/widgets/tabs/socialnavigationtab.h
+++ b/src/gui/widgets/tabs/socialnavigationtab.h
@@ -69,7 +69,7 @@ class SocialNavigationTab final : public SocialTab
             delete2(mBeings)
         }
 
-        void updateList() override final
+        void updateList() final
         {
             if (!socialWindow || !localPlayer)
                 return;
@@ -164,7 +164,7 @@ class SocialNavigationTab final : public SocialTab
             updateCounter();
         }
 
-        void selectIndex(const unsigned num) override final
+        void selectIndex(const unsigned num) final
         {
             if (!localPlayer)
                 return;
diff --git a/src/gui/widgets/tabs/socialpartytab.h b/src/gui/widgets/tabs/socialpartytab.h
index 153c1b3ec..f7da18c88 100644
--- a/src/gui/widgets/tabs/socialpartytab.h
+++ b/src/gui/widgets/tabs/socialpartytab.h
@@ -71,7 +71,7 @@ class SocialPartyTab final : public SocialTab,
             delete2(mScroll)
         }
 
-        void action(const ActionEvent &event) override final
+        void action(const ActionEvent &event) final
         {
             const std::string &eventId = event.getId();
             if (eventId == "do invite")
@@ -112,7 +112,7 @@ class SocialPartyTab final : public SocialTab,
             }
         }
 
-        void invite() override final
+        void invite() final
         {
             CREATEWIDGETV(mInviteDialog, TextDialog,
                 // TRANSLATORS: party invite message
@@ -124,7 +124,7 @@ class SocialPartyTab final : public SocialTab,
             mInviteDialog->addActionListener(this);
         }
 
-        void leave() override final
+        void leave() final
         {
             CREATEWIDGETV(mConfirmDialog, ConfirmDialog,
                 // TRANSLATORS: party leave message
@@ -136,7 +136,7 @@ class SocialPartyTab final : public SocialTab,
         }
 
         void buildCounter(const int online0 A_UNUSED,
-                          const int total0 A_UNUSED) override final
+                          const int total0 A_UNUSED) final
         {
             if (!localPlayer)
                 return;
diff --git a/src/gui/widgets/tabs/socialpickuptab.h b/src/gui/widgets/tabs/socialpickuptab.h
index 7c0c6fd35..daffe3fe7 100644
--- a/src/gui/widgets/tabs/socialpickuptab.h
+++ b/src/gui/widgets/tabs/socialpickuptab.h
@@ -58,7 +58,7 @@ class SocialPickupTab final : public SocialTab
             delete2(mBeings)
         }
 
-        void updateList() override final
+        void updateList() final
         {
             updateAtkListStart();
             // TRANSLATORS: items group name in social window
diff --git a/src/gui/widgets/tabs/socialplayerstab.h b/src/gui/widgets/tabs/socialplayerstab.h
index 50d86e33c..22ffbe67d 100644
--- a/src/gui/widgets/tabs/socialplayerstab.h
+++ b/src/gui/widgets/tabs/socialplayerstab.h
@@ -63,12 +63,12 @@ class SocialPlayersTab final : public SocialTab
             delete2(mBeings)
         }
 
-        void updateList() override final
+        void updateList() final
         {
             getPlayersAvatars();
         }
 
-        void updateAvatar(const std::string &name) override final
+        void updateAvatar(const std::string &name) final
         {
             if (!actorManager)
                 return;
@@ -100,7 +100,7 @@ class SocialPlayersTab final : public SocialTab
             BLOCK_END("SocialPlayersTab::updateAvatar")
         }
 
-        void resetDamage(const std::string &name) override final
+        void resetDamage(const std::string &name) final
         {
             if (!actorManager)
                 return;
diff --git a/src/gui/widgets/tabs/socialtab.h b/src/gui/widgets/tabs/socialtab.h
index dfd6ad828..7c41dda4b 100644
--- a/src/gui/widgets/tabs/socialtab.h
+++ b/src/gui/widgets/tabs/socialtab.h
@@ -113,7 +113,7 @@ class SocialTab notfinal : public Tab
             mScroll->setVerticalScrollPolicy(ScrollArea::SHOW_ALWAYS);
         }
 
-        void setCurrent() override final
+        void setCurrent() final
         {
             updateCounter();
         }
diff --git a/src/gui/widgets/tabs/tab.h b/src/gui/widgets/tabs/tab.h
index d32cc176c..42c7e0f06 100644
--- a/src/gui/widgets/tabs/tab.h
+++ b/src/gui/widgets/tabs/tab.h
@@ -109,9 +109,9 @@ class Tab notfinal : public BasicContainer,
         /**
          * Draw the tabbed area.
          */
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
         /**
          * Set the normal color for the tab's text.
@@ -177,9 +177,9 @@ class Tab notfinal : public BasicContainer,
         int getFlash() const A_WARN_UNUSED
         { return mFlash; }
 
-        void widgetResized(const Event &event) override final;
+        void widgetResized(const Event &event) final;
 
-        void widgetMoved(const Event &event) override final;
+        void widgetMoved(const Event &event) final;
 
         void setLabelFont(Font *const font);
 
@@ -196,9 +196,9 @@ class Tab notfinal : public BasicContainer,
 
         const std::string &getCaption() const A_WARN_UNUSED;
 
-        void mouseEntered(MouseEvent &event) override final;
+        void mouseEntered(MouseEvent &event) final;
 
-        void mouseExited(MouseEvent &event) override final;
+        void mouseExited(MouseEvent &event) final;
 
         void setImage(Image *const image);
 
diff --git a/src/gui/widgets/tabstrip.h b/src/gui/widgets/tabstrip.h
index 6c45414e7..39bb76529 100644
--- a/src/gui/widgets/tabstrip.h
+++ b/src/gui/widgets/tabstrip.h
@@ -39,9 +39,9 @@ class TabStrip final : public WidgetGroup
 
         Widget *createWidget(const std::string &name,
                              const bool pressed = false)
-                             const override final A_WARN_UNUSED;
+                             const final A_WARN_UNUSED;
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         void nextTab();
 
diff --git a/src/gui/widgets/textbox.h b/src/gui/widgets/textbox.h
index 10a76c85d..cbbae5f72 100644
--- a/src/gui/widgets/textbox.h
+++ b/src/gui/widgets/textbox.h
@@ -105,11 +105,11 @@ class TextBox final : public Widget,
         int getMinWidth() const A_WARN_UNUSED
         { return mMinWidth; }
 
-        void keyPressed(KeyEvent& event) override final;
+        void keyPressed(KeyEvent& event) final;
 
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
         void setForegroundColor(const Color &color);
 
@@ -271,12 +271,12 @@ class TextBox final : public Widget,
         void setOpaque(const bool opaque)
         { mOpaque = opaque; }
 
-        void fontChanged() override final
+        void fontChanged() final
         { adjustSize(); }
 
-        void mousePressed(MouseEvent& event) override final;
+        void mousePressed(MouseEvent& event) final;
 
-        void mouseDragged(MouseEvent& event) override final;
+        void mouseDragged(MouseEvent& event) final;
 
     private:
         /**
diff --git a/src/gui/widgets/textfield.h b/src/gui/widgets/textfield.h
index 89606d27c..19bfca820 100644
--- a/src/gui/widgets/textfield.h
+++ b/src/gui/widgets/textfield.h
@@ -119,9 +119,9 @@ class TextField notfinal : public Widget,
         /**
          * Draws the background and border.
          */
-        void drawFrame(Graphics *const graphics) override final A_NONNULL(2);
+        void drawFrame(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDrawFrame(Graphics *const graphics) override final
+        void safeDrawFrame(Graphics *const graphics) final
                            A_NONNULL(2);
 
         /**
@@ -170,16 +170,16 @@ class TextField notfinal : public Widget,
 
         void setCaretPosition(unsigned int position);
 
-        void mousePressed(MouseEvent &event) override final;
+        void mousePressed(MouseEvent &event) final;
 
         void handlePaste();
 
         void handleCopy() const;
 
 #ifdef ANDROID
-        void focusGained(const Event &event) override final;
+        void focusGained(const Event &event) final;
 #else
-        void focusGained(const Event &event) override final A_CONST;
+        void focusGained(const Event &event) final A_CONST;
 #endif
 
         void focusLost(const Event &event) override A_CONST;
@@ -231,13 +231,13 @@ class TextField notfinal : public Widget,
         unsigned int getCaretPosition() const
         { return mCaretPosition; }
 
-        void mouseDragged(MouseEvent& event) override final;
+        void mouseDragged(MouseEvent& event) final;
 
-        void widgetHidden(const Event &event) override final;
+        void widgetHidden(const Event &event) final;
 
-        void setParent(Widget *widget) override final;
+        void setParent(Widget *widget) final;
 
-        void setWindow(Widget *const widget) override final;
+        void setWindow(Widget *const widget) final;
 
     protected:
         void drawCaret(Graphics* graphics, int x) A_NONNULL(2);
diff --git a/src/gui/widgets/textpreview.h b/src/gui/widgets/textpreview.h
index e32b911e7..c37b87841 100644
--- a/src/gui/widgets/textpreview.h
+++ b/src/gui/widgets/textpreview.h
@@ -100,9 +100,9 @@ class TextPreview final : public Widget
          *
          * @param graphics graphics to draw into
          */
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
         /**
          * Set opacity for this widget (whether or not to show the background
diff --git a/src/gui/widgets/vertcontainer.h b/src/gui/widgets/vertcontainer.h
index 22055919d..97ea01f1e 100644
--- a/src/gui/widgets/vertcontainer.h
+++ b/src/gui/widgets/vertcontainer.h
@@ -49,9 +49,9 @@ class VertContainer final : public Container,
 
         void add1(Widget *const widget, const int spacing = -1);
 
-        void clear() override final;
+        void clear() final;
 
-        void widgetResized(const Event &event) override final;
+        void widgetResized(const Event &event) final;
 
     private:
         std::vector<Widget*> mResizableWidgets;
diff --git a/src/gui/widgets/virtshortcutcontainer.h b/src/gui/widgets/virtshortcutcontainer.h
index a8ee392f9..c8482d39c 100644
--- a/src/gui/widgets/virtshortcutcontainer.h
+++ b/src/gui/widgets/virtshortcutcontainer.h
@@ -51,32 +51,32 @@ class VirtShortcutContainer final : public ShortcutContainer
         /**
          * Draws the items.
          */
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
         /**
          * Handles mouse when dragged.
          */
-        void mouseDragged(MouseEvent &event) override final;
+        void mouseDragged(MouseEvent &event) final;
 
         /**
          * Handles mouse when pressed.
          */
-        void mousePressed(MouseEvent &event) override final;
+        void mousePressed(MouseEvent &event) final;
 
         /**
          * Handles mouse release.
          */
-        void mouseReleased(MouseEvent &event) override final;
+        void mouseReleased(MouseEvent &event) final;
 
-        void widgetHidden(const Event &event) override final;
+        void widgetHidden(const Event &event) final;
 
-        void mouseExited(MouseEvent &event) override final;
+        void mouseExited(MouseEvent &event) final;
 
-        void mouseMoved(MouseEvent &event) override final;
+        void mouseMoved(MouseEvent &event) final;
 
-        void setWidget2(const Widget2 *const widget) override final;
+        void setWidget2(const Widget2 *const widget) final;
 
     private:
         bool mItemClicked;
diff --git a/src/gui/widgets/widgetgroup.h b/src/gui/widgets/widgetgroup.h
index 7f305ba29..9cb382a97 100644
--- a/src/gui/widgets/widgetgroup.h
+++ b/src/gui/widgets/widgetgroup.h
@@ -44,9 +44,9 @@ class WidgetGroup notfinal : public Container,
         virtual void addWidget(Widget *const widget,
                                const int spacing);
 
-        void clear() override final;
+        void clear() final;
 
-        void widgetResized(const Event &event) override final A_CONST;
+        void widgetResized(const Event &event) final A_CONST;
 
         virtual Widget *createWidget(const std::string &name,
                                      const bool pressed = false)
diff --git a/src/gui/windowmenu.h b/src/gui/windowmenu.h
index cf9d701f7..70d731b83 100644
--- a/src/gui/windowmenu.h
+++ b/src/gui/windowmenu.h
@@ -57,13 +57,13 @@ class WindowMenu final : public Container,
 
         ~WindowMenu();
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
-        void mousePressed(MouseEvent &event) override final;
+        void mousePressed(MouseEvent &event) final;
 
-        void mouseMoved(MouseEvent &event) override final;
+        void mouseMoved(MouseEvent &event) final;
 
-        void mouseExited(MouseEvent& event A_UNUSED) override final;
+        void mouseExited(MouseEvent& event A_UNUSED) final;
 
         std::map <std::string, ButtonInfo*> &getButtonNames() A_WARN_UNUSED
         { return mButtonNames; }
@@ -80,17 +80,17 @@ class WindowMenu final : public Container,
 
         void saveButtons() const;
 
-        void optionChanged(const std::string &name) override final;
+        void optionChanged(const std::string &name) final;
 
 #ifdef USE_PROFILER
         void logicChildren();
 #endif
 
     protected:
-        void drawChildren(Graphics *const graphics) override final
+        void drawChildren(Graphics *const graphics) final
                           A_NONNULL(2);
 
-        void safeDrawChildren(Graphics *const graphics) override final
+        void safeDrawChildren(Graphics *const graphics) final
                               A_NONNULL(2);
 
     private:
diff --git a/src/gui/windows/bankwindow.h b/src/gui/windows/bankwindow.h
index b3cea2be8..72e00ad28 100644
--- a/src/gui/windows/bankwindow.h
+++ b/src/gui/windows/bankwindow.h
@@ -48,11 +48,11 @@ class BankWindow final : public Window,
 
         ~BankWindow();
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
-        void widgetShown(const Event &event) override final;
+        void widgetShown(const Event &event) final;
 
-        void bankMoneyChanged(const int money) override final;
+        void bankMoneyChanged(const int money) final;
 
     private:
         Label *mBankMoneyLabel;
diff --git a/src/gui/windows/buydialog.h b/src/gui/windows/buydialog.h
index 77d5c357f..a7fa081bf 100644
--- a/src/gui/windows/buydialog.h
+++ b/src/gui/windows/buydialog.h
@@ -115,7 +115,7 @@ class BuyDialog final : public Window,
         /**
          * Called when receiving actions from the widgets.
          */
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         /**
          * Returns the number of items in the shop inventory.
@@ -125,7 +125,7 @@ class BuyDialog final : public Window,
         /**
          * Updates the labels according to the selected item.
          */
-        void valueChanged(const SelectionEvent &event) override final;
+        void valueChanged(const SelectionEvent &event) final;
 
         /**
          * Updates the state of buttons and labels.
@@ -135,11 +135,11 @@ class BuyDialog final : public Window,
         /**
          * Sets the visibility of this window.
          */
-        void setVisible(Visible visible) override final;
+        void setVisible(Visible visible) final;
 
         void sort();
 
-        void close() override final;
+        void close() final;
 
         /**
          * Returns true if any instances exist.
diff --git a/src/gui/windows/buyingstoreselldialog.h b/src/gui/windows/buyingstoreselldialog.h
index cb2219fca..879272d36 100644
--- a/src/gui/windows/buyingstoreselldialog.h
+++ b/src/gui/windows/buyingstoreselldialog.h
@@ -50,7 +50,7 @@ class BuyingStoreSellDialog final : public SellDialog
         A_DELETE_COPY(BuyingStoreSellDialog)
 
     protected:
-        void sellAction(const ActionEvent &event) override final;
+        void sellAction(const ActionEvent &event) final;
 
         BeingId mAccountId;
         int mStoreId;
diff --git a/src/gui/windows/buyselldialog.h b/src/gui/windows/buyselldialog.h
index 92a556d7e..69e0b37fb 100644
--- a/src/gui/windows/buyselldialog.h
+++ b/src/gui/windows/buyselldialog.h
@@ -56,12 +56,12 @@ class BuySellDialog final : public Window,
 
         void init();
 
-        void setVisible(Visible visible) override final;
+        void setVisible(Visible visible) final;
 
         /**
          * Called when receiving actions from the widgets.
          */
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         /**
          * Returns true if any instances exist.
diff --git a/src/gui/windows/changeemaildialog.h b/src/gui/windows/changeemaildialog.h
index 511e3b00d..ccf510a0c 100644
--- a/src/gui/windows/changeemaildialog.h
+++ b/src/gui/windows/changeemaildialog.h
@@ -58,7 +58,7 @@ class ChangeEmailDialog final : public Window,
         /**
          * Called when receiving actions from the widgets.
          */
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         /**
          * This is used to pass the pointer to where the new email should be
diff --git a/src/gui/windows/changepassworddialog.h b/src/gui/windows/changepassworddialog.h
index 857067f13..46bb9a73f 100644
--- a/src/gui/windows/changepassworddialog.h
+++ b/src/gui/windows/changepassworddialog.h
@@ -58,7 +58,7 @@ class ChangePasswordDialog final : public Window,
         /**
          * Called when receiving actions from the widgets.
          */
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
     private:
         TextField *mOldPassField A_NONNULLPOINTER;
diff --git a/src/gui/windows/charcreatedialog.h b/src/gui/windows/charcreatedialog.h
index 5f2885049..bc87ae45e 100644
--- a/src/gui/windows/charcreatedialog.h
+++ b/src/gui/windows/charcreatedialog.h
@@ -61,7 +61,7 @@ class CharCreateDialog final : public Window,
          */
         ~CharCreateDialog();
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         /**
          * Unlocks the dialog, enabling the create character button again.
@@ -74,11 +74,11 @@ class CharCreateDialog final : public Window,
 
         void setDefaultGender(const GenderT gender = Gender::FEMALE);
 
-        void logic() override final;
+        void logic() final;
 
         void updatePlayer();
 
-        void keyPressed(KeyEvent &event) override final;
+        void keyPressed(KeyEvent &event) final;
 
     private:
         int getDistributedPoints() const A_WARN_UNUSED;
diff --git a/src/gui/windows/chardeleteconfirm.h b/src/gui/windows/chardeleteconfirm.h
index 5cee85b47..08b78cc33 100644
--- a/src/gui/windows/chardeleteconfirm.h
+++ b/src/gui/windows/chardeleteconfirm.h
@@ -49,7 +49,7 @@ class CharDeleteConfirm final : public ConfirmDialog
 
         A_DELETE_COPY(CharDeleteConfirm)
 
-        void action(const ActionEvent &event) override final
+        void action(const ActionEvent &event) final
         {
             if (event.getId() == "yes" && mMaster)
                 mMaster->askPasswordForDeletion(mIndex);
diff --git a/src/gui/windows/charselectdialog.h b/src/gui/windows/charselectdialog.h
index 1083e3ae5..e1d1190da 100644
--- a/src/gui/windows/charselectdialog.h
+++ b/src/gui/windows/charselectdialog.h
@@ -65,9 +65,9 @@ class CharSelectDialog final : public Window,
 
         ~CharSelectDialog();
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
-        void keyPressed(KeyEvent &event) override final;
+        void keyPressed(KeyEvent &event) final;
 
         enum SelectAction
         {
@@ -88,13 +88,13 @@ class CharSelectDialog final : public Window,
 
         void askPasswordForDeletion(const int index);
 
-        void close() override final;
+        void close() final;
 
-        void widgetResized(const Event &event) override final;
+        void widgetResized(const Event &event) final;
 
         void updateState();
 
-        void postInit() override final;
+        void postInit() final;
 
         void setName(const BeingId id, const std::string &newName);
 
diff --git a/src/gui/windows/chatwindow.h b/src/gui/windows/chatwindow.h
index 49c068a0f..c2b664dda 100644
--- a/src/gui/windows/chatwindow.h
+++ b/src/gui/windows/chatwindow.h
@@ -112,7 +112,7 @@ class ChatWindow final : public Window,
         /**
          * Performs action.
          */
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         /**
          * Request focus for typing chat message.
@@ -142,7 +142,7 @@ class ChatWindow final : public Window,
         void localChatInput(const std::string &msg) const;
 
         /** Called when key is pressed */
-        void keyPressed(KeyEvent &event) override final;
+        void keyPressed(KeyEvent &event) final;
 
         /** Set the chat input as the given text. */
         void setInputText(const std::string &text);
@@ -154,17 +154,17 @@ class ChatWindow final : public Window,
         void addItemText(const std::string &item);
 
         /** Override to reset mTmpVisible */
-        void setVisible(Visible visible) override final;
+        void setVisible(Visible visible) final;
 
         /**
          * Handles mouse when dragged.
          */
-        void mouseDragged(MouseEvent &event) override final;
+        void mouseDragged(MouseEvent &event) final;
 
         /**
          * Handles mouse when pressed.
          */
-        void mousePressed(MouseEvent &event) override final;
+        void mousePressed(MouseEvent &event) final;
 
         /**
          * Scrolls the chat window
@@ -271,27 +271,27 @@ class ChatWindow final : public Window,
 
         void copyToClipboard(const int x, const int y) const;
 
-        void optionChanged(const std::string &name) override final;
+        void optionChanged(const std::string &name) final;
 
-        void mouseEntered(MouseEvent& event) override final;
+        void mouseEntered(MouseEvent& event) final;
 
-        void mouseMoved(MouseEvent &event) override final;
+        void mouseMoved(MouseEvent &event) final;
 
-        void mouseExited(MouseEvent& event A_UNUSED) override final;
+        void mouseExited(MouseEvent& event A_UNUSED) final;
 
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
         void updateVisibility();
 
         void unHideWindow();
 
-        void widgetResized(const Event &event) override final;
+        void widgetResized(const Event &event) final;
 
         void addGlobalMessage(const std::string &line);
 
-        void postInit() override final;
+        void postInit() final;
 
         bool isTabPresent(const ChatTab *const tab) const A_WARN_UNUSED;
 
@@ -299,11 +299,11 @@ class ChatWindow final : public Window,
 
         void attributeChanged(const AttributesT id,
                               const int oldVal,
-                              const int newVal) override final;
+                              const int newVal) final;
 
         void statChanged(const AttributesT id,
                          const int oldVal1,
-                         const int oldVal2) override final;
+                         const int oldVal2) final;
 
         static void localPetSay(const std::string &nick,
                                 const std::string &text);
@@ -324,7 +324,7 @@ class ChatWindow final : public Window,
 
         void showGMTab();
 
-        void debugMessage(const std::string &msg) override final;
+        void debugMessage(const std::string &msg) final;
 
 #ifdef USE_PROFILER
         void logicChildren();
diff --git a/src/gui/windows/confirmdialog.h b/src/gui/windows/confirmdialog.h
index 8198b0c54..236824cba 100644
--- a/src/gui/windows/confirmdialog.h
+++ b/src/gui/windows/confirmdialog.h
@@ -61,7 +61,7 @@ class ConfirmDialog notfinal : public Window,
          */
         void action(const ActionEvent &event) override;
 
-        void postInit() override final;
+        void postInit() final;
 
     private:
         TextBox *mTextBox A_NONNULLPOINTER;
diff --git a/src/gui/windows/connectiondialog.h b/src/gui/windows/connectiondialog.h
index 5630ee121..4c807c515 100644
--- a/src/gui/windows/connectiondialog.h
+++ b/src/gui/windows/connectiondialog.h
@@ -50,17 +50,17 @@ class ConnectionDialog final : public Window,
 
         A_DELETE_COPY(ConnectionDialog)
 
-        void postInit() override final;
+        void postInit() final;
 
         /**
          * Called when the user presses Cancel. Restores the global state to
          * the previous one.
          */
-        void action(const ActionEvent &) override final;
+        void action(const ActionEvent &) final;
 
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
     private:
         StateT mCancelState;
diff --git a/src/gui/windows/cutinwindow.h b/src/gui/windows/cutinwindow.h
index fd6e63390..5e4bdf220 100644
--- a/src/gui/windows/cutinwindow.h
+++ b/src/gui/windows/cutinwindow.h
@@ -38,9 +38,9 @@ class CutInWindow final : public Window
 
         ~CutInWindow();
 
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
         void draw2(Graphics *const graphics) A_NONNULL(2);
 
@@ -49,7 +49,7 @@ class CutInWindow final : public Window
 
         void hide();
 
-        void logic() override final;
+        void logic() final;
 
     private:
         AnimatedSprite *mImage;
diff --git a/src/gui/windows/debugwindow.h b/src/gui/windows/debugwindow.h
index 12bb97f13..aca10cdb7 100644
--- a/src/gui/windows/debugwindow.h
+++ b/src/gui/windows/debugwindow.h
@@ -47,20 +47,20 @@ class DebugWindow final : public Window
 
         ~DebugWindow();
 
-        void postInit() override final;
+        void postInit() final;
 
         /**
          * Logic (updates components' size and infos)
          */
         void slowLogic();
 
-        void draw(Graphics *const g) override final A_NONNULL(2);
+        void draw(Graphics *const g) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const g) override final A_NONNULL(2);
+        void safeDraw(Graphics *const g) final A_NONNULL(2);
 
         void setPing(int pingTime);
 
-        void widgetResized(const Event &event) override final;
+        void widgetResized(const Event &event) final;
 
 #ifdef USE_PROFILER
         void logicChildren();
diff --git a/src/gui/windows/didyouknowwindow.h b/src/gui/windows/didyouknowwindow.h
index c63b2d421..14953d995 100644
--- a/src/gui/windows/didyouknowwindow.h
+++ b/src/gui/windows/didyouknowwindow.h
@@ -48,22 +48,22 @@ class DidYouKnowWindow final : public Window,
 
         A_DELETE_COPY(DidYouKnowWindow)
 
-        void postInit() override final;
+        void postInit() final;
 
         /**
          * Called when receiving actions from the widgets.
          */
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         /**
          * Handles link action.
          */
         void handleLink(const std::string &link,
-                        MouseEvent *const event) override final;
+                        MouseEvent *const event) final;
 
         void loadData(int num = 0);
 
-        void setVisible(Visible visible) override final;
+        void setVisible(Visible visible) final;
 
     private:
         void loadFile(const int num);
diff --git a/src/gui/windows/editdialog.h b/src/gui/windows/editdialog.h
index 44e1423c4..3e7e52961 100644
--- a/src/gui/windows/editdialog.h
+++ b/src/gui/windows/editdialog.h
@@ -54,12 +54,12 @@ class EditDialog final : public Window,
 
         A_DELETE_COPY(EditDialog)
 
-        void postInit() override final;
+        void postInit() final;
 
         /**
          * Called when receiving actions from the widgets.
          */
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         std::string getMsg() const A_WARN_UNUSED
         { return mTextField->getText(); }
diff --git a/src/gui/windows/editserverdialog.h b/src/gui/windows/editserverdialog.h
index 5595c3120..9251dbe42 100644
--- a/src/gui/windows/editserverdialog.h
+++ b/src/gui/windows/editserverdialog.h
@@ -54,14 +54,14 @@ class EditServerDialog final : public Window,
 
         ~EditServerDialog();
 
-        void postInit() override final;
+        void postInit() final;
 
         /**
          * Called when receiving actions from the widgets.
          */
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
-        void keyPressed(KeyEvent &event) override final;
+        void keyPressed(KeyEvent &event) final;
 
     private:
         TextField *mServerAddressField A_NONNULLPOINTER;
diff --git a/src/gui/windows/eggselectiondialog.h b/src/gui/windows/eggselectiondialog.h
index c8060dc10..ce621a771 100644
--- a/src/gui/windows/eggselectiondialog.h
+++ b/src/gui/windows/eggselectiondialog.h
@@ -40,8 +40,8 @@ class EggSelectionDialog final : public SellDialog
         A_DELETE_COPY(EggSelectionDialog)
 
     protected:
-        void initButtons() override final;
-        void sellAction(const ActionEvent &event) override final;
+        void initButtons() final;
+        void sellAction(const ActionEvent &event) final;
 };
 
 #endif  // EATHENA_SUPPORT
diff --git a/src/gui/windows/emotewindow.h b/src/gui/windows/emotewindow.h
index 0bc2af060..c896f79d0 100644
--- a/src/gui/windows/emotewindow.h
+++ b/src/gui/windows/emotewindow.h
@@ -41,7 +41,7 @@ class EmoteWindow final : public Window
 
         ~EmoteWindow();
 
-        void postInit() override final;
+        void postInit() final;
 
         void show();
 
@@ -61,9 +61,9 @@ class EmoteWindow final : public Window
 
         void addListeners(ActionListener *const listener);
 
-        void widgetResized(const Event &event) override final;
+        void widgetResized(const Event &event) final;
 
-        void widgetMoved(const Event &event) override final;
+        void widgetMoved(const Event &event) final;
 
     private:
         TabbedArea *mTabs A_NONNULLPOINTER;
diff --git a/src/gui/windows/equipmentwindow.h b/src/gui/windows/equipmentwindow.h
index 985208e03..f43f7278f 100644
--- a/src/gui/windows/equipmentwindow.h
+++ b/src/gui/windows/equipmentwindow.h
@@ -65,18 +65,18 @@ class EquipmentWindow final : public Window,
          */
         ~EquipmentWindow();
 
-        void postInit() override final;
+        void postInit() final;
 
         /**
          * Draws the equipment window.
          */
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
-        void mousePressed(MouseEvent& event) override final;
+        void mousePressed(MouseEvent& event) final;
 
         const Item* getEquipment(const int i) const A_WARN_UNUSED
         { return mEquipment ? mEquipment->getEquipment(i) : nullptr; }
@@ -87,11 +87,11 @@ class EquipmentWindow final : public Window,
 
         void resetBeing(const Being *const being);
 
-        void mouseExited(MouseEvent &event) override final;
+        void mouseExited(MouseEvent &event) final;
 
-        void mouseMoved(MouseEvent &event) override final;
+        void mouseMoved(MouseEvent &event) final;
 
-        void mouseReleased(MouseEvent &event) override final;
+        void mouseReleased(MouseEvent &event) final;
 
         void recalcSize();
 
diff --git a/src/gui/windows/helpwindow.h b/src/gui/windows/helpwindow.h
index ec0b88d93..7a367e978 100644
--- a/src/gui/windows/helpwindow.h
+++ b/src/gui/windows/helpwindow.h
@@ -56,13 +56,13 @@ class HelpWindow final : public Window,
         /**
          * Called when receiving actions from the widgets.
          */
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         /**
          * Handles link action.
          */
         void handleLink(const std::string &link,
-                        MouseEvent *const event A_UNUSED) override final;
+                        MouseEvent *const event A_UNUSED) final;
 
         /**
          * Loads help in the dialog.
diff --git a/src/gui/windows/insertcarddialog.h b/src/gui/windows/insertcarddialog.h
index eff74cde0..7f5ffaaf3 100644
--- a/src/gui/windows/insertcarddialog.h
+++ b/src/gui/windows/insertcarddialog.h
@@ -41,8 +41,8 @@ class InsertCardDialog final : public SellDialog
         A_DELETE_COPY(InsertCardDialog)
 
     protected:
-        void initButtons() override final;
-        void sellAction(const ActionEvent &event) override final;
+        void initButtons() final;
+        void sellAction(const ActionEvent &event) final;
 
     private:
         int mItemIndex;
diff --git a/src/gui/windows/inventorywindow.h b/src/gui/windows/inventorywindow.h
index e19b219f8..8ac52ee21 100644
--- a/src/gui/windows/inventorywindow.h
+++ b/src/gui/windows/inventorywindow.h
@@ -75,14 +75,14 @@ class InventoryWindow final : public Window,
          */
         ~InventoryWindow();
 
-        void postInit() override final;
+        void postInit() final;
 
         void storeSortOrder() const;
 
         /**
          * Called when receiving actions from the widgets.
          */
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         /**
          * Returns the selected item.
@@ -97,35 +97,35 @@ class InventoryWindow final : public Window,
         /**
          * Handles closing of the window
          */
-        void widgetHidden(const Event &event) override final;
+        void widgetHidden(const Event &event) final;
 
         /**
          * Handles the mouse clicks.
          */
-        void mouseClicked(MouseEvent &event) override final;
+        void mouseClicked(MouseEvent &event) final;
 
         /**
          * Handles the key presses.
          */
-        void keyPressed(KeyEvent &event) override final;
+        void keyPressed(KeyEvent &event) final;
 
         /**
          * Handles the key releases.
          */
-        void keyReleased(KeyEvent &event) override final;
+        void keyReleased(KeyEvent &event) final;
 
         /**
          * Updates labels to currently selected item.
          */
-        void valueChanged(const SelectionEvent &event) override final;
+        void valueChanged(const SelectionEvent &event) final;
 
         /**
          * Closes the Storage Window, as well as telling the server that the
          * window has been closed.
          */
-        void close() override final;
+        void close() final;
 
-        void slotsChanged(const Inventory *const inventory) override final;
+        void slotsChanged(const Inventory *const inventory) final;
 
         bool isMainInventory() const A_WARN_UNUSED
         { return mInventory ? mInventory->isMainInventory() : false; }
@@ -142,19 +142,19 @@ class InventoryWindow final : public Window,
 
         bool isInputFocused() const A_WARN_UNUSED;
 
-        void widgetResized(const Event &event) override final;
+        void widgetResized(const Event &event) final;
 
-        void mouseMoved(MouseEvent &event) override final;
+        void mouseMoved(MouseEvent &event) final;
 
-        void mouseExited(MouseEvent &event) override final;
+        void mouseExited(MouseEvent &event) final;
 
-        void setVisible(Visible visible) override final;
+        void setVisible(Visible visible) final;
 
         void unsetInventory();
 
         void attributeChanged(const AttributesT id,
                               const int oldVal,
-                              const int newVal) override final;
+                              const int newVal) final;
 
 #ifdef EATHENA_SUPPORT
         void combineItems(const int index1,
diff --git a/src/gui/windows/itemamountwindow.h b/src/gui/windows/itemamountwindow.h
index c9cbd4227..3e1fa45d7 100644
--- a/src/gui/windows/itemamountwindow.h
+++ b/src/gui/windows/itemamountwindow.h
@@ -50,12 +50,12 @@ class ItemAmountWindow final : public Window,
     public:
         A_DELETE_COPY(ItemAmountWindow)
 
-        void postInit() override final;
+        void postInit() final;
 
         /**
          * Called when receiving actions from widget.
          */
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         /**
          * Sets default amount value.
@@ -63,16 +63,16 @@ class ItemAmountWindow final : public Window,
         void resetAmount();
 
         // MouseListener
-        void mouseMoved(MouseEvent &event) override final;
+        void mouseMoved(MouseEvent &event) final;
 
-        void mouseExited(MouseEvent &event) override final;
+        void mouseExited(MouseEvent &event) final;
 
         /**
          * Schedules the Item Amount window for deletion.
          */
-        void close() override final;
+        void close() final;
 
-        void keyReleased(KeyEvent &event) override final;
+        void keyReleased(KeyEvent &event) final;
 
         /**
          * Creates the dialog, or bypass it if there aren't enough items.
diff --git a/src/gui/windows/killstats.h b/src/gui/windows/killstats.h
index d3b7a88b8..c1a60c36a 100644
--- a/src/gui/windows/killstats.h
+++ b/src/gui/windows/killstats.h
@@ -52,7 +52,7 @@ class KillStats final : public Window,
         /**
          * Stuff.
          */
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         void gainXp(int Xp);
 
@@ -70,7 +70,7 @@ class KillStats final : public Window,
 
         void attributeChanged(const AttributesT id,
                               const int oldVal,
-                              const int newVal) override final;
+                              const int newVal) final;
 
     private:
         int mKillTimer;  /**< Timer for kill stats. */
diff --git a/src/gui/windows/logindialog.h b/src/gui/windows/logindialog.h
index 2af656230..f15b0824a 100644
--- a/src/gui/windows/logindialog.h
+++ b/src/gui/windows/logindialog.h
@@ -61,19 +61,19 @@ class LoginDialog final : public Window,
 
         ~LoginDialog();
 
-        void postInit() override final;
+        void postInit() final;
 
         /**
          * Called when receiving actions from the widgets.
          */
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         /**
          * Called when a key is pressed in one of the text fields.
          */
-        void keyPressed(KeyEvent &event) override final;
+        void keyPressed(KeyEvent &event) final;
 
-        void close() override final;
+        void close() final;
 
         static std::string savedPasswordKey;
         static std::string savedPassword;
diff --git a/src/gui/windows/maileditwindow.h b/src/gui/windows/maileditwindow.h
index 097820366..4bd9c9b95 100644
--- a/src/gui/windows/maileditwindow.h
+++ b/src/gui/windows/maileditwindow.h
@@ -46,7 +46,7 @@ class MailEditWindow final : public Window,
 
         ~MailEditWindow();
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         void addItem(const Item *const item, const int amount);
 
@@ -56,7 +56,7 @@ class MailEditWindow final : public Window,
 
         void setMessage(const std::string &str);
 
-        void close() override final;
+        void close() final;
 
     private:
         Button *mSendButton;
diff --git a/src/gui/windows/mailviewwindow.h b/src/gui/windows/mailviewwindow.h
index 563f9e99f..46f4bb170 100644
--- a/src/gui/windows/mailviewwindow.h
+++ b/src/gui/windows/mailviewwindow.h
@@ -43,7 +43,7 @@ class MailViewWindow final : public Window,
 
         ~MailViewWindow();
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
     private:
         const MailMessage *mMessage;
diff --git a/src/gui/windows/mailwindow.h b/src/gui/windows/mailwindow.h
index 1a78c1de9..3e879728e 100644
--- a/src/gui/windows/mailwindow.h
+++ b/src/gui/windows/mailwindow.h
@@ -49,11 +49,11 @@ class MailWindow final : public Window,
 
         ~MailWindow();
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         void addMail(MailMessage *const message);
 
-        void clear() override final;
+        void clear() final;
 
         void showMessage(MailMessage *const mail);
 
@@ -63,7 +63,7 @@ class MailWindow final : public Window,
 
         void viewPrev(const int id);
 
-        void mouseClicked(MouseEvent &event) override final;
+        void mouseClicked(MouseEvent &event) final;
 
         void postConnection();
 
diff --git a/src/gui/windows/minimap.h b/src/gui/windows/minimap.h
index 7d6f8bfc4..841c12db2 100644
--- a/src/gui/windows/minimap.h
+++ b/src/gui/windows/minimap.h
@@ -59,23 +59,23 @@ class Minimap final : public Window, public ConfigListener
         /**
          * Draws the minimap.
          */
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
         void draw2(Graphics *const graphics) A_NONNULL(2);
 
-        void mouseMoved(MouseEvent &event) override final;
+        void mouseMoved(MouseEvent &event) final;
 
-        void mouseReleased(MouseEvent &event) override final;
+        void mouseReleased(MouseEvent &event) final;
 
-        void mousePressed(MouseEvent &event) override final;
+        void mousePressed(MouseEvent &event) final;
 
-        void mouseExited(MouseEvent &event) override final;
+        void mouseExited(MouseEvent &event) final;
 
         void screenToMap(int &x, int &y);
 
-        void optionChanged(const std::string &name) override final;
+        void optionChanged(const std::string &name) final;
 
     private:
         void deleteMapImage();
diff --git a/src/gui/windows/ministatuswindow.h b/src/gui/windows/ministatuswindow.h
index 82fa059c7..10ff9211d 100644
--- a/src/gui/windows/ministatuswindow.h
+++ b/src/gui/windows/ministatuswindow.h
@@ -65,40 +65,40 @@ class MiniStatusWindow final : public Window,
 
         void drawIcons(Graphics *const graphics) A_NONNULL(2);
 
-        void updateStatus() override final;
+        void updateStatus() final;
 
-        void logic() override final;
+        void logic() final;
 
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
-        void mouseMoved(MouseEvent &event) override final;
+        void mouseMoved(MouseEvent &event) final;
 
-        void mousePressed(MouseEvent &event) override final;
+        void mousePressed(MouseEvent &event) final;
 
-        void mouseExited(MouseEvent &event) override final;
+        void mouseExited(MouseEvent &event) final;
 
         void showBar(const std::string &name, const Visible visible);
 
         void updateBars();
 
-        void slotsChanged(const Inventory *const inventory) override final;
+        void slotsChanged(const Inventory *const inventory) final;
 
         std::vector <ProgressBar*> &getBars() A_WARN_UNUSED
         { return mBars; }
 
-        Rect getChildrenArea() override final A_WARN_UNUSED;
+        Rect getChildrenArea() final A_WARN_UNUSED;
 
         void attributeChanged(const AttributesT id,
                               const int oldVal,
-                              const int newVal) override final;
+                              const int newVal) final;
 
         void statChanged(const AttributesT id,
                          const int oldVal1,
-                         const int oldVal2) override final;
+                         const int oldVal2) final;
 
-        void arrowsChanged() override final;
+        void arrowsChanged() final;
 
 #ifdef USE_PROFILER
         void logicChildren();
diff --git a/src/gui/windows/npcdialog.h b/src/gui/windows/npcdialog.h
index fa3e52097..beaee8afa 100644
--- a/src/gui/windows/npcdialog.h
+++ b/src/gui/windows/npcdialog.h
@@ -75,7 +75,7 @@ class NpcDialog final : public Window,
 
         ~NpcDialog();
 
-        void postInit() override final;
+        void postInit() final;
 
         enum NpcInputState
         {
@@ -99,7 +99,7 @@ class NpcDialog final : public Window,
         /**
          * Called when receiving actions from the widgets.
          */
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         /**
         * Sets the text shows in the dialog.
@@ -140,17 +140,17 @@ class NpcDialog final : public Window,
         /**
          * Returns the number of items in the choices list.
          */
-        int getNumberOfElements() override final A_WARN_UNUSED;
+        int getNumberOfElements() final A_WARN_UNUSED;
 
         /**
          * Returns the name of item number i of the choices list.
          */
-        std::string getElementAt(int i) override final A_WARN_UNUSED;
+        std::string getElementAt(int i) final A_WARN_UNUSED;
 
         /**
          * Returns the image of item number i of the choices list.
          */
-        const Image *getImageAt(int i) override final A_WARN_UNUSED;
+        const Image *getImageAt(int i) final A_WARN_UNUSED;
 
         /**
          * Makes this dialog request a choice selection from the user.
@@ -194,9 +194,9 @@ class NpcDialog final : public Window,
 
         void move(const int amount);
 
-        void setVisible(Visible visible) override final;
+        void setVisible(Visible visible) final;
 
-        void optionChanged(const std::string &name) override final;
+        void optionChanged(const std::string &name) final;
 
         /**
          * Returns true if any instances exist.
@@ -232,11 +232,11 @@ class NpcDialog final : public Window,
 
         void setAvatarAction(const int actionId);
 
-        void logic() override final;
+        void logic() final;
 
         void clearRows();
 
-        void mousePressed(MouseEvent &event) override final;
+        void mousePressed(MouseEvent &event) final;
 
         int isCloseState() const
         { return mActionState == NPC_ACTION_CLOSE; }
diff --git a/src/gui/windows/npcselldialog.h b/src/gui/windows/npcselldialog.h
index dde77de93..5b65ea50d 100644
--- a/src/gui/windows/npcselldialog.h
+++ b/src/gui/windows/npcselldialog.h
@@ -44,10 +44,10 @@ class NpcSellDialog final : public SellDialog
 
         A_DELETE_COPY(NpcSellDialog)
 
-        void close() override final;
+        void close() final;
 
     protected:
-        void sellAction(const ActionEvent &event) override final;
+        void sellAction(const ActionEvent &event) final;
 
         void sellOneItem();
 
diff --git a/src/gui/windows/okdialog.h b/src/gui/windows/okdialog.h
index 156ab71f7..8e6a71ef1 100644
--- a/src/gui/windows/okdialog.h
+++ b/src/gui/windows/okdialog.h
@@ -63,7 +63,7 @@ class OkDialog final : public Window,
         /**
          * Called when receiving actions from the widgets.
          */
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
     private:
         TextBox *mTextBox;
diff --git a/src/gui/windows/outfitwindow.h b/src/gui/windows/outfitwindow.h
index b10388005..30f2d1053 100644
--- a/src/gui/windows/outfitwindow.h
+++ b/src/gui/windows/outfitwindow.h
@@ -52,17 +52,17 @@ class OutfitWindow final : public Window,
          */
         ~OutfitWindow();
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
-        void draw(Graphics *const graphics) override final A_NONNULL(2);
+        void draw(Graphics *const graphics) final A_NONNULL(2);
 
-        void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
+        void safeDraw(Graphics *const graphics) final A_NONNULL(2);
 
-        void mousePressed(MouseEvent &event) override final;
+        void mousePressed(MouseEvent &event) final;
 
-        void mouseDragged(MouseEvent &event) override final;
+        void mouseDragged(MouseEvent &event) final;
 
-        void mouseReleased(MouseEvent &event) override final;
+        void mouseReleased(MouseEvent &event) final;
 
         void load(const bool oldConfig = false);
 
diff --git a/src/gui/windows/questswindow.h b/src/gui/windows/questswindow.h
index 1012e813a..dce261b72 100644
--- a/src/gui/windows/questswindow.h
+++ b/src/gui/windows/questswindow.h
@@ -57,7 +57,7 @@ class QuestsWindow final : public Window,
 
         ~QuestsWindow();
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         void updateQuest(const int var, const int val);
 
diff --git a/src/gui/windows/quitdialog.h b/src/gui/windows/quitdialog.h
index f643d0368..d945e4773 100644
--- a/src/gui/windows/quitdialog.h
+++ b/src/gui/windows/quitdialog.h
@@ -55,14 +55,14 @@ class QuitDialog final : public Window,
          */
         ~QuitDialog();
 
-        void postInit() override final;
+        void postInit() final;
 
         /**
          * Called when receiving actions from the widgets.
          */
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
-        void keyPressed(KeyEvent &event) override final;
+        void keyPressed(KeyEvent &event) final;
 
     private:
         void placeOption(ContainerPlacer &placer,
diff --git a/src/gui/windows/serverdialog.h b/src/gui/windows/serverdialog.h
index e273b7809..059bd2a4b 100644
--- a/src/gui/windows/serverdialog.h
+++ b/src/gui/windows/serverdialog.h
@@ -68,7 +68,7 @@ class ServerDialog final : public Window,
 
         A_DELETE_COPY(ServerDialog)
 
-        void postInit() override final;
+        void postInit() final;
 
         /**
          * Destructor
@@ -78,24 +78,24 @@ class ServerDialog final : public Window,
         /**
          * Called when receiving actions from the widgets.
          */
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
-        void keyPressed(KeyEvent &event) override final;
+        void keyPressed(KeyEvent &event) final;
 
         /**
          * Called when the selected value changed in the servers list box.
          */
-        void valueChanged(const SelectionEvent &event) override final;
+        void valueChanged(const SelectionEvent &event) final;
 
-        void mouseClicked(MouseEvent &event) override final;
+        void mouseClicked(MouseEvent &event) final;
 
-        void logic() override final;
+        void logic() final;
 
         void updateServer(const ServerInfo &server, const int index);
 
         void connectToSelectedServer();
 
-        void close() override final;
+        void close() final;
 
     protected:
         friend class ServersListModel;
diff --git a/src/gui/windows/setupwindow.h b/src/gui/windows/setupwindow.h
index 4e6d6b15c..10e084b19 100644
--- a/src/gui/windows/setupwindow.h
+++ b/src/gui/windows/setupwindow.h
@@ -48,9 +48,9 @@ class SetupWindow final : public Window,
 
         ~SetupWindow();
 
-        void postInit() override final;
+        void postInit() final;
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         void setInGame(const bool inGame);
 
@@ -71,9 +71,9 @@ class SetupWindow final : public Window,
 
         void activateTab(const std::string &name);
 
-        void setVisible(Visible visible) override final;
+        void setVisible(Visible visible) final;
 
-        void widgetResized(const Event &event) override final;
+        void widgetResized(const Event &event) final;
 
     private:
         void unloadAdditionalTabs();
diff --git a/src/gui/windows/shopselldialog.h b/src/gui/windows/shopselldialog.h
index 4d68e0aeb..59149e83f 100644
--- a/src/gui/windows/shopselldialog.h
+++ b/src/gui/windows/shopselldialog.h
@@ -45,7 +45,7 @@ class ShopSellDialog final : public SellDialog
         A_DELETE_COPY(ShopSellDialog)
 
     protected:
-        void sellAction(const ActionEvent &event) override final;
+        void sellAction(const ActionEvent &event) final;
 
         std::string mNick;
 };
diff --git a/src/gui/windows/shopwindow.h b/src/gui/windows/shopwindow.h
index 8bd5e5d2a..3a9a5001b 100644
--- a/src/gui/windows/shopwindow.h
+++ b/src/gui/windows/shopwindow.h
@@ -77,17 +77,17 @@ class ShopWindow final : public Window,
          */
         ~ShopWindow();
 
-        void postInit() override final;
+        void postInit() final;
 
         /**
          * Called when receiving actions from the widgets.
          */
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         /**
          * Updates the labels according to the selected item.
          */
-        void valueChanged(const SelectionEvent &event) override final;
+        void valueChanged(const SelectionEvent &event) final;
 
         /**
          * Updates the state of buttons and labels.
@@ -97,7 +97,7 @@ class ShopWindow final : public Window,
         /**
          * Sets the visibility of this window.
          */
-        void setVisible(Visible visible) override final;
+        void setVisible(Visible visible) final;
 
         /**
          * Returns true if any instances exist.
@@ -149,13 +149,13 @@ class ShopWindow final : public Window,
         bool isShopEmpty() const A_WARN_UNUSED;
 
 #ifdef EATHENA_SUPPORT
-        void vendingEnabled(const bool b) override final;
+        void vendingEnabled(const bool b) final;
 
-        void vendingSlotsChanged(const int slots) override final;
+        void vendingSlotsChanged(const int slots) final;
 
-        void buyingStoreEnabled(const bool b) override final;
+        void buyingStoreEnabled(const bool b) final;
 
-        void buyingStoreSlotsChanged(const int slots) override final;
+        void buyingStoreSlotsChanged(const int slots) final;
 
         void setShopName(const std::string &name);
 #endif
diff --git a/src/gui/windows/shortcutwindow.h b/src/gui/windows/shortcutwindow.h
index 2e0d8ee83..a04ca7e95 100644
--- a/src/gui/windows/shortcutwindow.h
+++ b/src/gui/windows/shortcutwindow.h
@@ -60,13 +60,13 @@ class ShortcutWindow final : public Window
 
         int getTabIndex() const A_WARN_UNUSED;
 
-        void widgetHidden(const Event &event) override final;
+        void widgetHidden(const Event &event) final;
 
-        void widgetMoved(const Event& event) override final;
+        void widgetMoved(const Event& event) final;
 
-        void mousePressed(MouseEvent &event) override final;
+        void mousePressed(MouseEvent &event) final;
 
-        void mouseDragged(MouseEvent &event) override final;
+        void mouseDragged(MouseEvent &event) final;
 
         void nextTab();
 
diff --git a/src/gui/windows/skilldialog.h b/src/gui/windows/skilldialog.h
index 910ba9b72..39d03a164 100644
--- a/src/gui/windows/skilldialog.h
+++ b/src/gui/windows/skilldialog.h
@@ -58,12 +58,12 @@ class SkillDialog final : public Window,
 
         ~SkillDialog();
 
-        void postInit() override final;
+        void postInit() final;
 
         /**
          * Called when receiving actions from widget.
          */
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         /**
          * Update the given skill's display
@@ -111,7 +111,7 @@ class SkillDialog final : public Window,
         bool hasSkills() const A_WARN_UNUSED
         { return !mSkills.empty(); }
 
-        void widgetResized(const Event &event) override final;
+        void widgetResized(const Event &event) final;
 
         void useItem(const int itemId,
                      const AutoTarget autoTarget,
diff --git a/src/gui/windows/socialwindow.h b/src/gui/windows/socialwindow.h
index b65ad02df..feca9ce02 100644
--- a/src/gui/windows/socialwindow.h
+++ b/src/gui/windows/socialwindow.h
@@ -54,7 +54,7 @@ class SocialWindow final : public Window,
 
         ~SocialWindow();
 
-        void postInit() override final;
+        void postInit() final;
 
         bool addTab(Guild *const guild);
 
@@ -64,7 +64,7 @@ class SocialWindow final : public Window,
 
         bool removeTab(Party *const party);
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         void showGuildInvite(const std::string &restrict guildName,
                              const int guildId,
@@ -120,15 +120,15 @@ class SocialWindow final : public Window,
 
         void updatePickupFilter();
 
-        void widgetResized(const Event &event) override final;
+        void widgetResized(const Event &event) final;
 
         void setCounter(const SocialTab *const tab, const std::string &str);
 
         void updateGuildCounter(const int online = 0, const int total = 0);
 
-        void updatedPlayer(const std::string &name) override final;
+        void updatedPlayer(const std::string &name) final;
 
-        void updateAll() override final;
+        void updateAll() final;
 
 #ifdef USE_PROFILER
         void logicChildren();
diff --git a/src/gui/windows/statuswindow.h b/src/gui/windows/statuswindow.h
index 00b468d07..2e7bb2e70 100644
--- a/src/gui/windows/statuswindow.h
+++ b/src/gui/windows/statuswindow.h
@@ -91,11 +91,11 @@ class StatusWindow final : public Window,
 
         void attributeChanged(const AttributesT id,
                               const int oldVal,
-                              const int newVal) override final;
+                              const int newVal) final;
 
         void statChanged(const AttributesT id,
                          const int oldVal1,
-                         const int oldVal2) override final;
+                         const int oldVal2) final;
 
         void updateLevelLabel();
 
diff --git a/src/gui/windows/textcommandeditor.h b/src/gui/windows/textcommandeditor.h
index 07562320a..9367baff1 100644
--- a/src/gui/windows/textcommandeditor.h
+++ b/src/gui/windows/textcommandeditor.h
@@ -56,11 +56,11 @@ class TextCommandEditor final : public Window,
          */
         ~TextCommandEditor();
 
-        void postInit() override final;
+        void postInit() final;
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
-        void scheduleDelete() override final;
+        void scheduleDelete() final;
 
     private:
 #ifdef TMWA_SUPPORT
diff --git a/src/gui/windows/textdialog.h b/src/gui/windows/textdialog.h
index edf97c547..77fb1151c 100644
--- a/src/gui/windows/textdialog.h
+++ b/src/gui/windows/textdialog.h
@@ -54,12 +54,12 @@ class TextDialog final : public Window,
 
         ~TextDialog();
 
-        void postInit() override final;
+        void postInit() final;
 
         /**
          * Called when receiving actions from the widgets.
          */
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         /**
          * Get the text in the textfield
@@ -71,7 +71,7 @@ class TextDialog final : public Window,
         static bool isActive() A_WARN_UNUSED
         { return instances; }
 
-        void close() override final;
+        void close() final;
 
     private:
         static int instances;
diff --git a/src/gui/windows/textselectdialog.h b/src/gui/windows/textselectdialog.h
index 70da4ad5e..76124df9a 100644
--- a/src/gui/windows/textselectdialog.h
+++ b/src/gui/windows/textselectdialog.h
@@ -57,19 +57,19 @@ class TextSelectDialog notfinal : public Window,
         /**
          * Called when receiving actions from the widgets.
          */
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         /**
          * Updates labels according to selected item.
          *
          * @see SelectionListener::selectionChanged
          */
-        void valueChanged(const SelectionEvent &event) override final;
+        void valueChanged(const SelectionEvent &event) final;
 
         /**
          * Sets the visibility of this window.
          */
-        void setVisible(Visible visible) override final;
+        void setVisible(Visible visible) final;
 
         void postInit() override;
 
diff --git a/src/gui/windows/tradewindow.h b/src/gui/windows/tradewindow.h
index f8a280a20..d33f614c7 100644
--- a/src/gui/windows/tradewindow.h
+++ b/src/gui/windows/tradewindow.h
@@ -132,23 +132,23 @@ class TradeWindow final : public Window,
          * Updates the labels and makes sure only one item is selected in
          * either my inventory or partner inventory.
          */
-        void valueChanged(const SelectionEvent &event) override final;
+        void valueChanged(const SelectionEvent &event) final;
 
         /**
          * Called when receiving actions from the widgets.
          */
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         /**
          * Closes the Trade Window, as well as telling the server that the
          * window has been closed.
          */
-        void close() override final;
+        void close() final;
 
         /**
          * Clear auto trade items.
          */
-        void clear() override final;
+        void clear() final;
 
         /**
          * Add item what will be added to trade.
diff --git a/src/gui/windows/unregisterdialog.h b/src/gui/windows/unregisterdialog.h
index aaba439ad..4e2ab4adc 100644
--- a/src/gui/windows/unregisterdialog.h
+++ b/src/gui/windows/unregisterdialog.h
@@ -52,12 +52,12 @@ class UnRegisterDialog final : public Window,
 
         ~UnRegisterDialog();
 
-        void postInit() override final;
+        void postInit() final;
 
         /**
          * Called when receiving actions from the widgets.
          */
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
     private:
         LoginData *mLoginData A_NONNULLPOINTER;
diff --git a/src/gui/windows/updaterwindow.h b/src/gui/windows/updaterwindow.h
index 0d322dccf..2c72eae2d 100644
--- a/src/gui/windows/updaterwindow.h
+++ b/src/gui/windows/updaterwindow.h
@@ -83,7 +83,7 @@ class UpdaterWindow final : public Window,
          */
         ~UpdaterWindow();
 
-        void postInit() override final;
+        void postInit() final;
 
         /**
          * Set's progress bar status
@@ -108,14 +108,14 @@ class UpdaterWindow final : public Window,
 
         void loadPatch();
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
-        void keyPressed(KeyEvent &event) override final;
+        void keyPressed(KeyEvent &event) final;
 
-        void logic() override final;
+        void logic() final;
 
         void handleLink(const std::string &link,
-                        MouseEvent *const event A_UNUSED) override final;
+                        MouseEvent *const event A_UNUSED) final;
 
         void loadFile(std::string file);
 
diff --git a/src/gui/windows/whoisonline.h b/src/gui/windows/whoisonline.h
index 6aee4c139..0fbd2f232 100644
--- a/src/gui/windows/whoisonline.h
+++ b/src/gui/windows/whoisonline.h
@@ -58,7 +58,7 @@ class WhoIsOnline final : public Window,
          */
         ~WhoIsOnline();
 
-        void postInit() override final;
+        void postInit() final;
 
 #ifdef TMWA_SUPPORT
         /**
@@ -70,15 +70,15 @@ class WhoIsOnline final : public Window,
         void loadList(const std::vector<OnlinePlayer*> &list);
 
         void handleLink(const std::string& link,
-                        MouseEvent *event) override final;
+                        MouseEvent *event) final;
 
-        void logic() override final;
+        void logic() final;
 
         void slowLogic();
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
-        void widgetResized(const Event &event) override final;
+        void widgetResized(const Event &event) final;
 
         const std::set<OnlinePlayer*> &getOnlinePlayers() const A_WARN_UNUSED
         { return mOnlinePlayers; }
@@ -89,7 +89,7 @@ class WhoIsOnline final : public Window,
         void setAllowUpdate(const bool n)
         { mAllowUpdate = n; }
 
-        void optionChanged(const std::string &name) override final;
+        void optionChanged(const std::string &name) final;
 
         void updateList(StringVect &list);
 
diff --git a/src/gui/windows/worldselectdialog.h b/src/gui/windows/worldselectdialog.h
index 99306df03..0de093dc8 100644
--- a/src/gui/windows/worldselectdialog.h
+++ b/src/gui/windows/worldselectdialog.h
@@ -53,7 +53,7 @@ class WorldSelectDialog final : public Window,
 
         A_DELETE_COPY(WorldSelectDialog)
 
-        void postInit() override final;
+        void postInit() final;
 
         /**
          * Destructor.
@@ -63,9 +63,9 @@ class WorldSelectDialog final : public Window,
         /**
          * Called when receiving actions from the widgets.
          */
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
-        void keyPressed(KeyEvent &event) override final;
+        void keyPressed(KeyEvent &event) final;
 
     private:
         WorldListModel *mWorldListModel A_NONNULLPOINTER;
diff --git a/src/guild.h b/src/guild.h
index 7e5b63a40..e0c9f1583 100644
--- a/src/guild.h
+++ b/src/guild.h
@@ -48,7 +48,7 @@ class GuildMember final : public Avatar
         void setPos(const int pos)
         { mPos = pos; }
 
-        std::string getAdditionString() const override final A_WARN_UNUSED;
+        std::string getAdditionString() const final A_WARN_UNUSED;
 
     protected:
         friend class Guild;
@@ -150,10 +150,10 @@ class Guild final : public AvatarListModel
          * Get size of members list.
          * @return Returns the number of members in the guild.
          */
-        int getNumberOfElements() override final A_WARN_UNUSED
+        int getNumberOfElements() final A_WARN_UNUSED
         { return CAST_S32(mMembers.size()); }
 
-        Avatar *getAvatarAt(const int i) override final A_WARN_UNUSED;
+        Avatar *getAvatarAt(const int i) final A_WARN_UNUSED;
 
         /**
          * Get whether user can invite users to this guild.
diff --git a/src/input/touch/touchmanager.h b/src/input/touch/touchmanager.h
index 676167e13..5266cf140 100644
--- a/src/input/touch/touchmanager.h
+++ b/src/input/touch/touchmanager.h
@@ -158,7 +158,7 @@ class TouchManager final : public ConfigListener
 
         void unloadTouchItem(TouchItem *restrict *unloadItem) restrict2;
 
-        void optionChanged(const std::string &value) restrict2 override final;
+        void optionChanged(const std::string &value) restrict2 final;
 
         void loadPad() restrict2;
 
diff --git a/src/listeners/awaylistener.h b/src/listeners/awaylistener.h
index 0592286de..d53ea72ea 100644
--- a/src/listeners/awaylistener.h
+++ b/src/listeners/awaylistener.h
@@ -28,7 +28,7 @@
 class AwayListener final : public ActionListener
 {
     public:
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 };
 
 #endif  // LISTENERS_AWAYLISTENER_H
diff --git a/src/listeners/charrenamelistener.h b/src/listeners/charrenamelistener.h
index 60300fee6..a466fff6b 100644
--- a/src/listeners/charrenamelistener.h
+++ b/src/listeners/charrenamelistener.h
@@ -36,7 +36,7 @@ class CharRenameListener final : public ActionListener
 
         A_DELETE_COPY(CharRenameListener)
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         void setId(const BeingId id)
         { mId = id; }
diff --git a/src/listeners/errorlistener.h b/src/listeners/errorlistener.h
index b7fa03b83..3c73bb9be 100644
--- a/src/listeners/errorlistener.h
+++ b/src/listeners/errorlistener.h
@@ -30,7 +30,7 @@
 class ErrorListener final : public ActionListener
 {
     public:
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 };
 
 extern ErrorListener errorListener;
diff --git a/src/listeners/guiconfiglistener.h b/src/listeners/guiconfiglistener.h
index b487a056b..f2d84e0b4 100644
--- a/src/listeners/guiconfiglistener.h
+++ b/src/listeners/guiconfiglistener.h
@@ -45,7 +45,7 @@ class GuiConfigListener final : public ConfigListener
             CHECKLISTENERS
         }
 
-        void optionChanged(const std::string &name) override final
+        void optionChanged(const std::string &name) final
         {
             if (!mGui)
                 return;
diff --git a/src/listeners/guitableactionlistener.h b/src/listeners/guitableactionlistener.h
index b6fba25c7..a6cc1bb33 100644
--- a/src/listeners/guitableactionlistener.h
+++ b/src/listeners/guitableactionlistener.h
@@ -41,7 +41,7 @@ class GuiTableActionListener final : public ActionListener
 
         ~GuiTableActionListener();
 
-        void action(const ActionEvent& actionEvent) override final;
+        void action(const ActionEvent& actionEvent) final;
 
     protected:
         GuiTable *mTable;
diff --git a/src/listeners/inputactionremotelistener.h b/src/listeners/inputactionremotelistener.h
index 7fbaf76a7..52a66588b 100644
--- a/src/listeners/inputactionremotelistener.h
+++ b/src/listeners/inputactionremotelistener.h
@@ -32,7 +32,7 @@ class InputActionRemoteListener final : public ActionListener
 
         A_DELETE_COPY(InputActionRemoteListener)
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         void setCommand(const std::string &command,
                         const std::string &args)
diff --git a/src/listeners/inputactionreplaylistener.h b/src/listeners/inputactionreplaylistener.h
index d2294f4c4..3dcf17eac 100644
--- a/src/listeners/inputactionreplaylistener.h
+++ b/src/listeners/inputactionreplaylistener.h
@@ -36,7 +36,7 @@ class InputActionReplayListener final : public ActionListener
 
         A_DELETE_COPY(InputActionReplayListener)
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         void setDialog(EditDialog *const dialog)
         { mDialog = dialog; }
diff --git a/src/listeners/insertcardlistener.h b/src/listeners/insertcardlistener.h
index a7c962f96..ab8664cdc 100644
--- a/src/listeners/insertcardlistener.h
+++ b/src/listeners/insertcardlistener.h
@@ -41,7 +41,7 @@ struct InsertCardListener final : public ActionListener
     A_DELETE_COPY(InsertCardListener)
 
     public:
-        void action(const ActionEvent &event) override final
+        void action(const ActionEvent &event) final
         {
             if (event.getId() == "yes" && inventoryHandler)
                 inventoryHandler->insertCard(cardIndex, itemIndex);
diff --git a/src/listeners/openurllistener.h b/src/listeners/openurllistener.h
index e7b275b69..e44e11455 100644
--- a/src/listeners/openurllistener.h
+++ b/src/listeners/openurllistener.h
@@ -40,7 +40,7 @@ struct OpenUrlListener final : public ActionListener
     A_DELETE_COPY(OpenUrlListener)
 
     public:
-        void action(const ActionEvent &event) override final
+        void action(const ActionEvent &event) final
         {
             if (event.getId() == "yes")
                 openBrowser(url);
diff --git a/src/listeners/pincodelistener.h b/src/listeners/pincodelistener.h
index 8921b9a70..4cd23009d 100644
--- a/src/listeners/pincodelistener.h
+++ b/src/listeners/pincodelistener.h
@@ -30,7 +30,7 @@
 class PincodeListener final : public ActionListener
 {
     public:
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 };
 
 extern PincodeListener pincodeListener;
diff --git a/src/listeners/playerlistener.h b/src/listeners/playerlistener.h
index 84d582c3f..dab59ae0e 100644
--- a/src/listeners/playerlistener.h
+++ b/src/listeners/playerlistener.h
@@ -36,7 +36,7 @@ class PlayerListener final : public ActionListener
 
         A_DELETE_COPY(PlayerListener)
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         void setNick(const std::string &name)
         { mNick = name; }
diff --git a/src/listeners/playerpostdeathlistener.h b/src/listeners/playerpostdeathlistener.h
index cebdc3700..eae139314 100644
--- a/src/listeners/playerpostdeathlistener.h
+++ b/src/listeners/playerpostdeathlistener.h
@@ -41,7 +41,7 @@ extern OkDialog *deathNotice;
   */
 struct PlayerPostDeathListener final : public ActionListener
 {
-    void action(const ActionEvent &event A_UNUSED) override final
+    void action(const ActionEvent &event A_UNUSED) final
     {
         if (playerHandler)
             playerHandler->respawn();
diff --git a/src/listeners/renamelistener.h b/src/listeners/renamelistener.h
index 2b6abdc4a..88eb6c58c 100644
--- a/src/listeners/renamelistener.h
+++ b/src/listeners/renamelistener.h
@@ -35,7 +35,7 @@ class RenameListener final : public ActionListener
 
         A_DELETE_COPY(RenameListener)
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         void setMapItem(const MapItem *const mapItem);
 
diff --git a/src/listeners/requestadoptchildlistener.h b/src/listeners/requestadoptchildlistener.h
index 9d90fae75..5ccebf097 100644
--- a/src/listeners/requestadoptchildlistener.h
+++ b/src/listeners/requestadoptchildlistener.h
@@ -32,7 +32,7 @@
 struct RequestAdoptChildListener final : public ActionListener
 {
     public:
-        void action(const ActionEvent &event) override final
+        void action(const ActionEvent &event) final
         {
             const std::string &eventId = event.getId();
             familyHandler->askForChildReply(eventId == "yes");
diff --git a/src/listeners/requesttradelistener.h b/src/listeners/requesttradelistener.h
index 576e22cfb..babfecfb8 100644
--- a/src/listeners/requesttradelistener.h
+++ b/src/listeners/requesttradelistener.h
@@ -40,7 +40,7 @@ extern ConfirmDialog *confirmDlg;
 struct RequestTradeListener final : public ActionListener
 {
     public:
-        void action(const ActionEvent &event) override final
+        void action(const ActionEvent &event) final
         {
             confirmDlg = nullptr;
             const std::string &eventId = event.getId();
diff --git a/src/listeners/shoprenamelistener.h b/src/listeners/shoprenamelistener.h
index 5ca3fcbd6..147db8288 100644
--- a/src/listeners/shoprenamelistener.h
+++ b/src/listeners/shoprenamelistener.h
@@ -36,7 +36,7 @@ class ShopRenameListener final : public ActionListener
 
         A_DELETE_COPY(ShopRenameListener)
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         void setDialog(EditDialog *const dialog)
         { mDialog = dialog; }
diff --git a/src/listeners/skillwarplistener.h b/src/listeners/skillwarplistener.h
index f7f2f230d..2694dab0f 100644
--- a/src/listeners/skillwarplistener.h
+++ b/src/listeners/skillwarplistener.h
@@ -36,7 +36,7 @@ class SkillWarpListener final : public ActionListener
 
         A_DELETE_COPY(SkillWarpListener)
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         void setDialog(TextSelectDialog *const dialog)
         { mDialog = dialog; }
diff --git a/src/listeners/textskilllistener.h b/src/listeners/textskilllistener.h
index 68a6d3d72..787eabca1 100644
--- a/src/listeners/textskilllistener.h
+++ b/src/listeners/textskilllistener.h
@@ -34,7 +34,7 @@ class TextSkillListener final : public ActionListener
 
         A_DELETE_COPY(TextSkillListener)
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
 
         void setSkill(const int skillId,
                       const int x,
diff --git a/src/listeners/uploadlistener.h b/src/listeners/uploadlistener.h
index a1bdaf944..0eafac7f7 100644
--- a/src/listeners/uploadlistener.h
+++ b/src/listeners/uploadlistener.h
@@ -30,7 +30,7 @@
 class UploadListener final : public ActionListener
 {
     public:
-        void action(const ActionEvent &event A_UNUSED) override final;
+        void action(const ActionEvent &event A_UNUSED) final;
 };
 
 extern UploadListener uploadListener;
diff --git a/src/listeners/weightlistener.h b/src/listeners/weightlistener.h
index 6c2e39335..4b0d1caab 100644
--- a/src/listeners/weightlistener.h
+++ b/src/listeners/weightlistener.h
@@ -35,7 +35,7 @@ extern OkDialog *weightNotice;
 struct WeightListener final : public ActionListener
 {
     public:
-        void action(const ActionEvent &event A_UNUSED) override final
+        void action(const ActionEvent &event A_UNUSED) final
         {
             weightNotice = nullptr;
         }
diff --git a/src/listeners/wrongdatanoticelistener.h b/src/listeners/wrongdatanoticelistener.h
index b54536657..85ad78e9c 100644
--- a/src/listeners/wrongdatanoticelistener.h
+++ b/src/listeners/wrongdatanoticelistener.h
@@ -41,7 +41,7 @@ class WrongDataNoticeListener final : public ActionListener
 
         void setTarget(TextField *const textField);
 
-        void action(const ActionEvent &event) override final;
+        void action(const ActionEvent &event) final;
     private:
         TextField *mTarget;
 };
diff --git a/src/net/ea/adminhandler.h b/src/net/ea/adminhandler.h
index 9dcbbc9bd..b8215a1cc 100644
--- a/src/net/ea/adminhandler.h
+++ b/src/net/ea/adminhandler.h
@@ -41,25 +41,25 @@ class AdminHandler notfinal : public Net::AdminHandler
         virtual ~AdminHandler()
         { }
 
-        void kickName(const std::string &name) const override final;
+        void kickName(const std::string &name) const final;
 
-        void ban(const int playerId) const override final A_CONST;
+        void ban(const int playerId) const final A_CONST;
 
-        void banName(const std::string &name) const override final;
+        void banName(const std::string &name) const final;
 
-        void unban(const int playerId) const override final A_CONST;
+        void unban(const int playerId) const final A_CONST;
 
-        void unbanName(const std::string &name) const override final;
+        void unbanName(const std::string &name) const final;
 
-        void ipcheckName(const std::string &name) const override final;
+        void ipcheckName(const std::string &name) const final;
 
-        void slide(const int x, const int y) const override final;
+        void slide(const int x, const int y) const final;
 
         void createItems(const int id,
                          const ItemColor color,
-                         const int amount) const override final;
+                         const int amount) const final;
 
-        void spawn(const std::string &name) const override final;
+        void spawn(const std::string &name) const final;
 };
 
 }  // namespace Ea
diff --git a/src/net/ea/charserverhandler.h b/src/net/ea/charserverhandler.h
index 09899cd0c..936976ea9 100644
--- a/src/net/ea/charserverhandler.h
+++ b/src/net/ea/charserverhandler.h
@@ -37,19 +37,19 @@ class CharServerHandler notfinal : public Net::CharServerHandler
         A_DELETE_COPY(CharServerHandler)
 
         void setCharSelectDialog(CharSelectDialog *const window) const
-                                 override final;
+                                 final;
 
-        void requestCharacters() const override final;
+        void requestCharacters() const final;
 
-        unsigned int baseSprite() const override final A_CONST A_WARN_UNUSED;
+        unsigned int baseSprite() const final A_CONST A_WARN_UNUSED;
 
-        unsigned int hairSprite() const override final A_CONST A_WARN_UNUSED;
+        unsigned int hairSprite() const final A_CONST A_WARN_UNUSED;
 
-        unsigned int maxSprite() const override final A_CONST A_WARN_UNUSED;
+        unsigned int maxSprite() const final A_CONST A_WARN_UNUSED;
 
         virtual void connect() const = 0;
 
-        void clear() const override final;
+        void clear() const final;
 
     protected:
         CharServerHandler();
diff --git a/src/net/ea/chathandler.h b/src/net/ea/chathandler.h
index 9a67b79b1..98c58297c 100644
--- a/src/net/ea/chathandler.h
+++ b/src/net/ea/chathandler.h
@@ -40,9 +40,9 @@ class ChatHandler notfinal : public Net::ChatHandler
         A_DELETE_COPY(ChatHandler)
 
         void me(const std::string &restrict text,
-                const std::string &restrict channel) const override final;
+                const std::string &restrict channel) const final;
 
-        void clear() const override final;
+        void clear() const final;
 };
 
 }  // namespace Ea
diff --git a/src/net/ea/equipbackend.h b/src/net/ea/equipbackend.h
index aa278dad0..f51598fb1 100644
--- a/src/net/ea/equipbackend.h
+++ b/src/net/ea/equipbackend.h
@@ -44,7 +44,7 @@ class EquipBackend final : public Equipment::Backend
 
         A_DELETE_COPY(EquipBackend)
 
-        Item *getEquipment(const int index) const override final A_WARN_UNUSED
+        Item *getEquipment(const int index) const final A_WARN_UNUSED
         {
             int invyIndex = mEquipment[index];
             if (invyIndex == -1)
@@ -57,7 +57,7 @@ class EquipBackend final : public Equipment::Backend
                 return nullptr;
         }
 
-        void clear() override final
+        void clear() final
         {
             Inventory *const inv = PlayerInfo::getInventory();
             if (!inv)
diff --git a/src/net/ea/gamehandler.h b/src/net/ea/gamehandler.h
index c18333ab5..da5174e83 100644
--- a/src/net/ea/gamehandler.h
+++ b/src/net/ea/gamehandler.h
@@ -35,16 +35,16 @@ class GameHandler notfinal : public Net::GameHandler
 
         A_DELETE_COPY(GameHandler)
 
-        void who() const override final A_CONST;
+        void who() const final A_CONST;
 
-        bool removeDeadBeings() const override final A_WARN_UNUSED
+        bool removeDeadBeings() const final A_WARN_UNUSED
         { return true; }
 
         static void setMap(const std::string &map);
 
-        void clear() const override final;
+        void clear() const final;
 
-        void initEngines() const override final;
+        void initEngines() const final;
 };
 
 }  // namespace Ea
diff --git a/src/net/ea/guildhandler.h b/src/net/ea/guildhandler.h
index 30abd42ce..5e7a6fc81 100644
--- a/src/net/ea/guildhandler.h
+++ b/src/net/ea/guildhandler.h
@@ -37,9 +37,9 @@ class GuildHandler notfinal : public Net::GuildHandler
 
         virtual ~GuildHandler();
 
-        void clear() const override final;
+        void clear() const final;
 
-        ChatTab *getTab() const override final;
+        ChatTab *getTab() const final;
 };
 
 extern Guild *taGuild;
diff --git a/src/net/ea/inventoryhandler.h b/src/net/ea/inventoryhandler.h
index 98a617c83..959e91bb5 100644
--- a/src/net/ea/inventoryhandler.h
+++ b/src/net/ea/inventoryhandler.h
@@ -41,27 +41,27 @@ class InventoryHandler notfinal : public Net::InventoryHandler
 
         virtual ~InventoryHandler();
 
-        void clear() const override final;
+        void clear() const final;
 
         bool canSplit(const Item *const item) const
-                      override final A_CONST A_WARN_UNUSED;
+                      final A_CONST A_WARN_UNUSED;
 
         void splitItem(const Item *const item,
-                       const int amount) const override final A_CONST;
+                       const int amount) const final A_CONST;
 
         void moveItem(const int oldIndex,
-                      const int newIndex) const override final A_CONST;
+                      const int newIndex) const final A_CONST;
 
-        size_t getSize(const InventoryTypeT type) const override final
+        size_t getSize(const InventoryTypeT type) const final
                        A_CONST A_WARN_UNUSED;
 
         static void pushPickup(const BeingId floorId);
 
-        void destroyStorage() const override final;
+        void destroyStorage() const final;
 
-        void forgotStorage() const override final;
+        void forgotStorage() const final;
 
-        Inventory *getStorage() const override final;
+        Inventory *getStorage() const final;
 
     protected:
         InventoryHandler();
diff --git a/src/net/ea/loginhandler.h b/src/net/ea/loginhandler.h
index 7cd4c9c1b..e110154b4 100644
--- a/src/net/ea/loginhandler.h
+++ b/src/net/ea/loginhandler.h
@@ -39,39 +39,39 @@ class LoginHandler notfinal : public Net::LoginHandler
 
         virtual ~LoginHandler();
 
-        bool isRegistrationEnabled() const override final A_WARN_UNUSED;
+        bool isRegistrationEnabled() const final A_WARN_UNUSED;
 
-        void getRegistrationDetails() const override final;
+        void getRegistrationDetails() const final;
 
         unsigned int getMaxPasswordLength() const override A_WARN_UNUSED
         { return 24; }
 
-        void loginAccount(LoginData *const loginData) const override final;
+        void loginAccount(LoginData *const loginData) const final;
 
         void chooseServer(const unsigned int server,
                           const bool persistentIp) const override;
 
         void registerAccount(const LoginData *const loginData)
-                             const override final;
+                             const final;
 
-        const Worlds &getWorlds() const override final A_CONST A_WARN_UNUSED;
+        const Worlds &getWorlds() const final A_CONST A_WARN_UNUSED;
 
-        void clearWorlds() const override final;
+        void clearWorlds() const final;
 
         virtual ServerInfo *getCharServer() const A_WARN_UNUSED = 0;
 
         const Token &getToken() const A_CONST A_WARN_UNUSED;
 
-        void logout() const override final A_CONST;
+        void logout() const final A_CONST;
 
         void changeEmail(const std::string &email) const
-                         override final A_CONST;
+                         final A_CONST;
 
         void unregisterAccount(const std::string &username,
                                const std::string &password)
-                               const override final A_CONST;
+                               const final A_CONST;
 
-        void loginOrRegister(LoginData *const data) const override final;
+        void loginOrRegister(LoginData *const data) const final;
 
     protected:
         LoginHandler();
diff --git a/src/net/ea/npchandler.h b/src/net/ea/npchandler.h
index 916f77556..bd1e63cb4 100644
--- a/src/net/ea/npchandler.h
+++ b/src/net/ea/npchandler.h
@@ -35,7 +35,7 @@ class NpcHandler notfinal : public Net::NpcHandler
     public:
         A_DELETE_COPY(NpcHandler)
 
-        NpcDialog *getCurrentNpcDialog() const override final;
+        NpcDialog *getCurrentNpcDialog() const final;
 
     protected:
         NpcHandler();
diff --git a/src/net/ea/partyhandler.h b/src/net/ea/partyhandler.h
index 49c7fb1cc..5f634e65d 100644
--- a/src/net/ea/partyhandler.h
+++ b/src/net/ea/partyhandler.h
@@ -37,17 +37,17 @@ class PartyHandler notfinal : public Net::PartyHandler
 
         virtual ~PartyHandler();
 
-        void join(const int partyId) const override final A_CONST;
+        void join(const int partyId) const final A_CONST;
 
-        PartyShareT getShareExperience() const override final A_WARN_UNUSED;
+        PartyShareT getShareExperience() const final A_WARN_UNUSED;
 
-        PartyShareT getShareItems() const override final A_WARN_UNUSED;
+        PartyShareT getShareItems() const final A_WARN_UNUSED;
 
         static void reload();
 
-        void clear() const override final;
+        void clear() const final;
 
-        ChatTab *getTab() const override final;
+        ChatTab *getTab() const final;
 };
 
 extern Party *taParty;
diff --git a/src/net/ea/playerhandler.h b/src/net/ea/playerhandler.h
index 6b3b85073..ebafb4bda 100644
--- a/src/net/ea/playerhandler.h
+++ b/src/net/ea/playerhandler.h
@@ -38,13 +38,13 @@ class PlayerHandler notfinal : public Net::PlayerHandler
         A_DELETE_COPY(PlayerHandler)
 
         void ignorePlayer(const std::string &player,
-                          const bool ignore) const override final A_CONST;
+                          const bool ignore) const final A_CONST;
 
-        void ignoreAll(const bool ignore) const override final A_CONST;
+        void ignoreAll(const bool ignore) const final A_CONST;
 
-        bool canUseMagic() const override final;
+        bool canUseMagic() const final;
 
-        int getDefaultWalkSpeed() const override final A_WARN_UNUSED;
+        int getDefaultWalkSpeed() const final A_WARN_UNUSED;
 };
 
 }  // namespace Ea
diff --git a/src/net/ea/tradehandler.h b/src/net/ea/tradehandler.h
index dbdffb8e6..c9e295df9 100644
--- a/src/net/ea/tradehandler.h
+++ b/src/net/ea/tradehandler.h
@@ -36,7 +36,7 @@ class TradeHandler notfinal : public Net::TradeHandler
         A_DELETE_COPY(TradeHandler)
 
         void removeItem(const int slotNum,
-                        const int amount) const override final A_CONST;
+                        const int amount) const final A_CONST;
 };
 
 }  // namespace Ea
diff --git a/src/net/eathena/adminhandler.h b/src/net/eathena/adminhandler.h
index 542fab695..e7e52f4b2 100644
--- a/src/net/eathena/adminhandler.h
+++ b/src/net/eathena/adminhandler.h
@@ -35,124 +35,124 @@ class AdminHandler final : public Ea::AdminHandler
 
         A_DELETE_COPY(AdminHandler)
 
-        void announce(const std::string &text) const override final;
+        void announce(const std::string &text) const final;
 
-        void localAnnounce(const std::string &text) const override final;
+        void localAnnounce(const std::string &text) const final;
 
-        void hide(const bool h) const override final;
+        void hide(const bool h) const final;
 
-        void kick(const BeingId playerId) const override final;
+        void kick(const BeingId playerId) const final;
 
-        void kickAll() const override final;
+        void kickAll() const final;
 
         void warp(const std::string &map,
-                  const int x, const int y) const override final;
+                  const int x, const int y) const final;
 
-        void resetStats() const override final;
+        void resetStats() const final;
 
-        void resetSkills() const override final;
+        void resetSkills() const final;
 
-        void gotoName(const std::string &name) const override final;
+        void gotoName(const std::string &name) const final;
 
-        void recallName(const std::string &name) const override final;
+        void recallName(const std::string &name) const final;
 
         void mute(const Being *const being,
                   const int type,
-                  const int limit) const override final;
+                  const int limit) const final;
 
-        void muteName(const std::string &name) const override final;
+        void muteName(const std::string &name) const final;
 
-        void requestLogin(const Being *const being) const override final;
+        void requestLogin(const Being *const being) const final;
 
         void setTileType(const int x, const int y,
-                         const int type) const override final;
+                         const int type) const final;
 
-        void unequipAll(const Being *const being) const override final;
+        void unequipAll(const Being *const being) const final;
 
-        void requestStats(const std::string &name) const override final;
+        void requestStats(const std::string &name) const final;
 
-        void monsterInfo(const std::string &name) const override final;
+        void monsterInfo(const std::string &name) const final;
 
-        void itemInfo(const std::string &name) const override final;
+        void itemInfo(const std::string &name) const final;
 
-        void whoDrops(const std::string &name) const override final;
+        void whoDrops(const std::string &name) const final;
 
-        void mobSearch(const std::string &name) const override final;
+        void mobSearch(const std::string &name) const final;
 
-        void mobSpawnSearch(const std::string &name) const override final;
+        void mobSpawnSearch(const std::string &name) const final;
 
-        void playerGmCommands(const std::string &name) const override final;
+        void playerGmCommands(const std::string &name) const final;
 
         void playerCharGmCommands(const std::string &name) const
-                                  override final;
+                                  final;
 
-        void showLevel(const std::string &name) const override final;
+        void showLevel(const std::string &name) const final;
 
-        void showStats(const std::string &name) const override final;
+        void showStats(const std::string &name) const final;
 
-        void showStorageList(const std::string &name) const override final;
+        void showStorageList(const std::string &name) const final;
 
-        void showCartList(const std::string &name) const override final;
+        void showCartList(const std::string &name) const final;
 
-        void showInventoryList(const std::string &name) const override final;
+        void showInventoryList(const std::string &name) const final;
 
-        void locatePlayer(const std::string &name) const override final;
+        void locatePlayer(const std::string &name) const final;
 
-        void showAccountInfo(const std::string &name) const override final;
+        void showAccountInfo(const std::string &name) const final;
 
-        void spawnSlave(const std::string &name) const override final;
+        void spawnSlave(const std::string &name) const final;
 
-        void spawnClone(const std::string &name) const override final;
+        void spawnClone(const std::string &name) const final;
 
-        void spawnSlaveClone(const std::string &name) const override final;
+        void spawnSlaveClone(const std::string &name) const final;
 
-        void spawnEvilClone(const std::string &name) const override final;
+        void spawnEvilClone(const std::string &name) const final;
 
-        void savePosition(const std::string &name) const override final;
+        void savePosition(const std::string &name) const final;
 
-        void loadPosition(const std::string &name) const override final;
+        void loadPosition(const std::string &name) const final;
 
-        void randomWarp(const std::string &name) const override final;
+        void randomWarp(const std::string &name) const final;
 
-        void gotoNpc(const std::string &name) const override final;
+        void gotoNpc(const std::string &name) const final;
 
-        void killer(const std::string &name) const override final;
+        void killer(const std::string &name) const final;
 
-        void killable(const std::string &name) const override final;
+        void killable(const std::string &name) const final;
 
-        void heal(const std::string &name) const override final;
+        void heal(const std::string &name) const final;
 
-        void alive(const std::string &name) const override final;
+        void alive(const std::string &name) const final;
 
-        void disguise(const std::string &name) const override final;
+        void disguise(const std::string &name) const final;
 
-        void immortal(const std::string &name) const override final;
+        void immortal(const std::string &name) const final;
 
-        void hide(const std::string &name) const override final;
+        void hide(const std::string &name) const final;
 
-        void nuke(const std::string &name) const override final;
+        void nuke(const std::string &name) const final;
 
-        void kill(const std::string &name) const override final;
+        void kill(const std::string &name) const final;
 
-        void jail(const std::string &name) const override final;
+        void jail(const std::string &name) const final;
 
-        void unjail(const std::string &name) const override final;
+        void unjail(const std::string &name) const final;
 
         void npcMove(const std::string &name,
                      const int x,
-                     const int y) const override final;
+                     const int y) const final;
 
-        void hideNpc(const std::string &name) const override final;
+        void hideNpc(const std::string &name) const final;
 
-        void showNpc(const std::string &name) const override final;
+        void showNpc(const std::string &name) const final;
 
-        void changePartyLeader(const std::string &name) const override final;
+        void changePartyLeader(const std::string &name) const final;
 
-        void partyRecall(const std::string &name) const override final;
+        void partyRecall(const std::string &name) const final;
 
-        void breakGuild(const std::string &name) const override final;
+        void breakGuild(const std::string &name) const final;
 
-        void guildRecall(const std::string &name) const override final;
+        void guildRecall(const std::string &name) const final;
 
     protected:
         static std::string mStatsName;
diff --git a/src/net/eathena/auctionhandler.h b/src/net/eathena/auctionhandler.h
index b7c15125f..2ab72e9f4 100644
--- a/src/net/eathena/auctionhandler.h
+++ b/src/net/eathena/auctionhandler.h
@@ -34,30 +34,30 @@ class AuctionHandler final : public Net::AuctionHandler
 
         A_DELETE_COPY(AuctionHandler)
 
-        void cancelReg() const override final;
+        void cancelReg() const final;
 
         void setItem(const Item *const item,
-                     const int amount) const override final;
+                     const int amount) const final;
 
         void reg(const int currentPrice,
                  const int maxPrice,
-                 const int hours) const override final;
+                 const int hours) const final;
 
-        void cancel(const int auctionId) const override final;
+        void cancel(const int auctionId) const final;
 
-        void close(const int auctionId) const override final;
+        void close(const int auctionId) const final;
 
         void bid(const int auctionId,
-                 const int money) const override final;
+                 const int money) const final;
 
         void search(const AuctionSearchTypeT type,
                     const int auctionId,
                     const std::string &text,
-                    const int page) const override final;
+                    const int page) const final;
 
-        void buy() const override final;
+        void buy() const final;
 
-        void sell() const override final;
+        void sell() const final;
 };
 
 }  // namespace EAthena
diff --git a/src/net/eathena/bankhandler.h b/src/net/eathena/bankhandler.h
index 252620045..c8fc6f6f3 100644
--- a/src/net/eathena/bankhandler.h
+++ b/src/net/eathena/bankhandler.h
@@ -34,15 +34,15 @@ class BankHandler final : public Net::BankHandler
 
         A_DELETE_COPY(BankHandler)
 
-        void deposit(const int money) const override final;
+        void deposit(const int money) const final;
 
-        void withdraw(const int money) const override final;
+        void withdraw(const int money) const final;
 
-        void check() const override final;
+        void check() const final;
 
-        void open() const override final;
+        void open() const final;
 
-        void close() const override final;
+        void close() const final;
 };
 
 }  // namespace EAthena
diff --git a/src/net/eathena/battlegroundhandler.h b/src/net/eathena/battlegroundhandler.h
index b87420d3f..0d9f80f19 100644
--- a/src/net/eathena/battlegroundhandler.h
+++ b/src/net/eathena/battlegroundhandler.h
@@ -35,15 +35,15 @@ class BattleGroundHandler final : public Net::BattleGroundHandler
         A_DELETE_COPY(BattleGroundHandler)
 
         void registerBg(const BattleGroundTypeT &type,
-                        const std::string &name) const override final;
+                        const std::string &name) const final;
 
-        void rekoveRequest(const std::string &name) const override final;
+        void rekoveRequest(const std::string &name) const final;
 
         void beginAck(const bool result,
                       const std::string &bgName,
-                      const std::string &gameName) const override final;
+                      const std::string &gameName) const final;
 
-        void checkState(const std::string &name) const override final;
+        void checkState(const std::string &name) const final;
 };
 
 }  // namespace EAthena
diff --git a/src/net/eathena/beinghandler.h b/src/net/eathena/beinghandler.h
index 439530dbd..9cae51a4b 100644
--- a/src/net/eathena/beinghandler.h
+++ b/src/net/eathena/beinghandler.h
@@ -35,16 +35,16 @@ class BeingHandler final : public Ea::BeingHandler
 
         A_DELETE_COPY(BeingHandler)
 
-        void requestNameById(const BeingId id) const override final;
+        void requestNameById(const BeingId id) const final;
 
-        void undress(Being *const being) const override final;
+        void undress(Being *const being) const final;
 
-        void requestRanks(const RankT rank) const override final;
+        void requestRanks(const RankT rank) const final;
 
-        void requestNameByCharId(const int id) const override final;
+        void requestNameByCharId(const int id) const final;
 
         void viewPlayerEquipment(const Being *const being) const
-                                 override final;
+                                 final;
 };
 
 }  // namespace EAthena
diff --git a/src/net/eathena/buyingstorehandler.h b/src/net/eathena/buyingstorehandler.h
index f271dc60d..93bda3e9e 100644
--- a/src/net/eathena/buyingstorehandler.h
+++ b/src/net/eathena/buyingstorehandler.h
@@ -37,16 +37,16 @@ class BuyingStoreHandler final : public Net::BuyingStoreHandler
         void create(const std::string &name,
                     const int maxMoney,
                     const bool flag,
-                    const std::vector<ShopItem*> &items) const override final;
+                    const std::vector<ShopItem*> &items) const final;
 
-        void close() const override final;
+        void close() const final;
 
-        void open(const Being *const being) const override final;
+        void open(const Being *const being) const final;
 
         void sell(const Being *const being,
                   const int storeId,
                   const Item *const item,
-                  const int amount) const override final;
+                  const int amount) const final;
 };
 
 }  // namespace EAthena
diff --git a/src/net/eathena/buysellhandler.h b/src/net/eathena/buysellhandler.h
index c0bb57600..3436e1ce8 100644
--- a/src/net/eathena/buysellhandler.h
+++ b/src/net/eathena/buysellhandler.h
@@ -36,20 +36,20 @@ class BuySellHandler final : public Ea::BuySellHandler
         A_DELETE_COPY(BuySellHandler)
 
         void requestSellList(const std::string &nick)
-                             const override final A_CONST;
+                             const final A_CONST;
 
         void requestBuyList(const std::string &nick)
-                            const override final A_CONST;
+                            const final A_CONST;
 
         void sendBuyRequest(const std::string &nick,
                             const ShopItem *const item,
-                            const int amount) const override final A_CONST;
+                            const int amount) const final A_CONST;
 
         void sendSellRequest(const std::string &nick,
                              const ShopItem *const item,
-                             const int amount) const override final A_CONST;
+                             const int amount) const final A_CONST;
 
-        void close() const override final;
+        void close() const final;
 };
 
 }  // namespace EAthena
diff --git a/src/net/eathena/cashshophandler.h b/src/net/eathena/cashshophandler.h
index 7d7fe1fbc..059347d36 100644
--- a/src/net/eathena/cashshophandler.h
+++ b/src/net/eathena/cashshophandler.h
@@ -37,18 +37,18 @@ class CashShopHandler final : public Net::CashShopHandler
         void buyItem(const int points,
                      const int itemId,
                      const ItemColor color,
-                     const int amount) const override final;
+                     const int amount) const final;
 
-        void buyItems(const std::vector<ShopItem*> &items) const override final
+        void buyItems(const std::vector<ShopItem*> &items) const final
                       A_CONST;
 
-        void close() const override final;
+        void close() const final;
 
-        void requestPoints() const override final;
+        void requestPoints() const final;
 
-        void requestTab(const int tab) const override final;
+        void requestTab(const int tab) const final;
 
-        void schedule() const override final;
+        void schedule() const final;
 };
 
 }  // namespace EAthena
diff --git a/src/net/eathena/charserverhandler.h b/src/net/eathena/charserverhandler.h
index 833c5d6ad..8eee59a20 100644
--- a/src/net/eathena/charserverhandler.h
+++ b/src/net/eathena/charserverhandler.h
@@ -39,7 +39,7 @@ class CharServerHandler final : public Ea::CharServerHandler
         A_DELETE_COPY(CharServerHandler)
 
         void chooseCharacter(Net::Character *const character) const
-                             override final;
+                             final;
 
         void newCharacter(const std::string &name,
                           const int slot,
@@ -48,21 +48,21 @@ class CharServerHandler final : public Ea::CharServerHandler
                           const int hairColor,
                           const unsigned char race,
                           const uint16_t look,
-                          const std::vector<int> &stats) const override final;
+                          const std::vector<int> &stats) const final;
 
         void renameCharacter(const BeingId id,
-                             const std::string &newName) const override final;
+                             const std::string &newName) const final;
 
         void deleteCharacter(Net::Character *const character,
-                             const std::string &email) const override final;
+                             const std::string &email) const final;
 
-        void switchCharacter() const override final;
+        void switchCharacter() const final;
 
-        void connect() const override final;
+        void connect() const final;
 
-        bool isNeedCreatePin() const override final A_WARN_UNUSED;
+        bool isNeedCreatePin() const final A_WARN_UNUSED;
 
-        void setNewPincode(const std::string &pin) const override final
+        void setNewPincode(const std::string &pin) const final
                            A_CONST;
 
         /**
@@ -71,14 +71,14 @@ class CharServerHandler final : public Ea::CharServerHandler
          * the dialog when a new character failed to be created.
          */
         void setCharCreateDialog(CharCreateDialog *const window) const
-                                 override final;
+                                 final;
 
         void changeSlot(const int oldSlot,
-                        const int newSlot) const override final;
+                        const int newSlot) const final;
 
-        void ping() const override final;
+        void ping() const final;
 
-        unsigned int hatSprite() const override final A_CONST A_WARN_UNUSED;
+        unsigned int hatSprite() const final A_CONST A_WARN_UNUSED;
 };
 
 }  // namespace EAthena
diff --git a/src/net/eathena/chathandler.h b/src/net/eathena/chathandler.h
index f8356a84d..20af47efd 100644
--- a/src/net/eathena/chathandler.h
+++ b/src/net/eathena/chathandler.h
@@ -37,59 +37,59 @@ class ChatHandler final : public Ea::ChatHandler
         A_DELETE_COPY(ChatHandler)
 
         void talk(const std::string &restrict text,
-                  const std::string &restrict channel) const override final;
+                  const std::string &restrict channel) const final;
 
-        void talkRaw(const std::string &text) const override final;
+        void talkRaw(const std::string &text) const final;
 
         void privateMessage(const std::string &restrict recipient,
                             const std::string &restrict text) const
-                            override final;
+                            final;
 
         void channelMessage(const std::string &restrict channel,
                             const std::string &restrict text) const
-                            override final;
+                            final;
 
-        void joinChannel(const std::string &channel) const override final;
+        void joinChannel(const std::string &channel) const final;
 
-        void who() const override final;
+        void who() const final;
 
-        void sendRaw(const std::string &args) const override final;
+        void sendRaw(const std::string &args) const final;
 
-        void ignoreAll() const override final;
+        void ignoreAll() const final;
 
-        void unIgnoreAll() const override final;
+        void unIgnoreAll() const final;
 
         void createChatRoom(const std::string &title,
                             const std::string &password,
                             const int limit,
-                            const bool isPublic) const override final;
+                            const bool isPublic) const final;
 
-        void ignore(const std::string &nick) const override final;
+        void ignore(const std::string &nick) const final;
 
-        void unIgnore(const std::string &nick) const override final;
+        void unIgnore(const std::string &nick) const final;
 
-        void requestIgnoreList() const override final;
+        void requestIgnoreList() const final;
 
-        void battleTalk(const std::string &text) const override final;
+        void battleTalk(const std::string &text) const final;
 
         void joinChat(const ChatObject *const chat,
-                      const std::string &password) const override final;
+                      const std::string &password) const final;
 
-        void partChannel(const std::string &channel) const override final;
+        void partChannel(const std::string &channel) const final;
 
         void talkPet(const std::string &restrict text,
-                     const std::string &restrict channel) const override final;
+                     const std::string &restrict channel) const final;
 
-        void leaveChatRoom() const override final;
+        void leaveChatRoom() const final;
 
         void setChatRoomOptions(const int limit,
                                 const bool isPublic,
                                 const std::string &password,
-                                const std::string &title) const override final;
+                                const std::string &title) const final;
 
-        void setChatRoomOwner(const std::string &nick) const override final;
+        void setChatRoomOwner(const std::string &nick) const final;
 
-        void kickFromChatRoom(const std::string &nick) const override final;
+        void kickFromChatRoom(const std::string &nick) const final;
 
     protected:
         static void processRaw(MessageOut &restrict outMsg,
diff --git a/src/net/eathena/familyhandler.h b/src/net/eathena/familyhandler.h
index 0865dcdf9..365dce5fc 100644
--- a/src/net/eathena/familyhandler.h
+++ b/src/net/eathena/familyhandler.h
@@ -34,9 +34,9 @@ class FamilyHandler final : public Net::FamilyHandler
 
         A_DELETE_COPY(FamilyHandler)
 
-        void askForChild(const Being *const being) const override final;
+        void askForChild(const Being *const being) const final;
 
-        void askForChildReply(const bool accept) const override final;
+        void askForChildReply(const bool accept) const final;
 };
 
 }  // namespace EAthena
diff --git a/src/net/eathena/friendshandler.h b/src/net/eathena/friendshandler.h
index ac1e8f3d1..8264ab7ce 100644
--- a/src/net/eathena/friendshandler.h
+++ b/src/net/eathena/friendshandler.h
@@ -34,14 +34,14 @@ class FriendsHandler final : public Net::FriendsHandler
 
         A_DELETE_COPY(FriendsHandler)
 
-        void invite(const std::string &name) const override final;
+        void invite(const std::string &name) const final;
 
         void inviteResponse(const int accountId,
                             const int charId,
-                            const bool accept) const override final;
+                            const bool accept) const final;
 
         void remove(const int accountId,
-                    const int charId) const override final;
+                    const int charId) const final;
 };
 
 }  // namespace EAthena
diff --git a/src/net/eathena/gamehandler.h b/src/net/eathena/gamehandler.h
index 3d10124d7..6d3900f33 100644
--- a/src/net/eathena/gamehandler.h
+++ b/src/net/eathena/gamehandler.h
@@ -35,21 +35,21 @@ class GameHandler final : public Ea::GameHandler
 
         A_DELETE_COPY(GameHandler)
 
-        void connect() const override final;
+        void connect() const final;
 
-        bool isConnected() const override final A_WARN_UNUSED;
+        bool isConnected() const final A_WARN_UNUSED;
 
-        void disconnect() const override final;
+        void disconnect() const final;
 
-        void quit() const override final;
+        void quit() const final;
 
-        void ping(const int tick) const override final;
+        void ping(const int tick) const final;
 
-        void disconnect2() const override final A_CONST;
+        void disconnect2() const final A_CONST;
 
-        void mapLoadedEvent() const override final;
+        void mapLoadedEvent() const final;
 
-        bool mustPing() const override final A_WARN_UNUSED
+        bool mustPing() const final A_WARN_UNUSED
         { return true; }
 };
 
diff --git a/src/net/eathena/generalhandler.h b/src/net/eathena/generalhandler.h
index 7ff2ea34a..b1666c7bb 100644
--- a/src/net/eathena/generalhandler.h
+++ b/src/net/eathena/generalhandler.h
@@ -72,23 +72,23 @@ class GeneralHandler final : public Net::GeneralHandler
 
         ~GeneralHandler();
 
-        void load() const override final;
+        void load() const final;
 
-        void reload() const override final;
+        void reload() const final;
 
-        void unload() const override final;
+        void unload() const final;
 
-        void flushNetwork() const override final;
+        void flushNetwork() const final;
 
-        void flushSend() const override final;
+        void flushSend() const final;
 
-        void clearHandlers() const override final;
+        void clearHandlers() const final;
 
-        void reloadPartially() const override final;
+        void reloadPartially() const final;
 
-        void gameStarted() const override final;
+        void gameStarted() const final;
 
-        void gameEnded() const override final;
+        void gameEnded() const final;
 
     protected:
         AdminHandler *mAdminHandler;
diff --git a/src/net/eathena/guildhandler.h b/src/net/eathena/guildhandler.h
index 3ff9d5042..504b88676 100644
--- a/src/net/eathena/guildhandler.h
+++ b/src/net/eathena/guildhandler.h
@@ -36,57 +36,57 @@ class GuildHandler final : public Ea::GuildHandler
 
         ~GuildHandler();
 
-        void create(const std::string &name) const override final;
+        void create(const std::string &name) const final;
 
-        void invite(const std::string &name) const override final;
+        void invite(const std::string &name) const final;
 
-        void invite(const Being *const being) const override final;
+        void invite(const Being *const being) const final;
 
         void inviteResponse(const int guildId,
-                            const bool response) const override final;
+                            const bool response) const final;
 
-        void leave(const int guildId) const override final;
+        void leave(const int guildId) const final;
 
         void kick(const GuildMember *restrict const member,
-                  const std::string &restrict reason) const override final;
+                  const std::string &restrict reason) const final;
 
-        void chat(const std::string &text) const override final;
+        void chat(const std::string &text) const final;
 
-        void memberList() const override final;
+        void memberList() const final;
 
-        void info() const override final;
+        void info() const final;
 
         void changeMemberPostion(const GuildMember *const member,
-                                 const int level) const override final;
+                                 const int level) const final;
 
         void changeNotice(const int guildId,
                           const std::string &restrict msg1,
                           const std::string &restrict msg2)
-                          const override final;
+                          const final;
 
-        void checkMaster() const override final;
+        void checkMaster() const final;
 
-        void requestAlliance(const Being *const being) const override final;
+        void requestAlliance(const Being *const being) const final;
 
         void requestAllianceResponse(const int beingId,
-                                     const bool accept) const override final;
+                                     const bool accept) const final;
 
         void endAlliance(const int guildId,
-                         const int flag) const override final;
+                         const int flag) const final;
 
         void changePostionInfo(const int posId,
                                const int mode,
                                const int ranking,
                                const int payRate,
-                               const std::string &name) const override final;
+                               const std::string &name) const final;
 
-        void requestOpposition(const Being *const being) const override final;
+        void requestOpposition(const Being *const being) const final;
 
-        void breakGuild(const std::string &name) const override final;
+        void breakGuild(const std::string &name) const final;
 
-        void changeEmblem(std::string emblem) const override final;
+        void changeEmblem(std::string emblem) const final;
 
-        void requestEmblem(const int guildId) const override final;
+        void requestEmblem(const int guildId) const final;
 };
 
 }  // namespace EAthena
diff --git a/src/net/eathena/homunculushandler.h b/src/net/eathena/homunculushandler.h
index e1262f6e9..fd08c4788 100644
--- a/src/net/eathena/homunculushandler.h
+++ b/src/net/eathena/homunculushandler.h
@@ -34,24 +34,24 @@ class HomunculusHandler final : public Net::HomunculusHandler
 
         A_DELETE_COPY(HomunculusHandler)
 
-        void setName(const std::string &name) const override final;
+        void setName(const std::string &name) const final;
 
-        void moveToMaster() const override final;
+        void moveToMaster() const final;
 
-        void move(const int x, const int y) const override final;
+        void move(const int x, const int y) const final;
 
         void attack(const BeingId targetId,
-                    const Keep keep) const override final;
+                    const Keep keep) const final;
 
-        void feed() const override final;
+        void feed() const final;
 
-        void fire() const override final;
+        void fire() const final;
 
-        void talk(const std::string &restrict text) const override final;
+        void talk(const std::string &restrict text) const final;
 
-        void emote(const uint8_t emoteId) const override final;
+        void emote(const uint8_t emoteId) const final;
 
-        void setDirection(const unsigned char type) const override final;
+        void setDirection(const unsigned char type) const final;
 };
 
 }  // namespace EAthena
diff --git a/src/net/eathena/inventoryhandler.h b/src/net/eathena/inventoryhandler.h
index 786917970..cc19774ac 100644
--- a/src/net/eathena/inventoryhandler.h
+++ b/src/net/eathena/inventoryhandler.h
@@ -37,49 +37,49 @@ class InventoryHandler final : public Ea::InventoryHandler
 
         ~InventoryHandler();
 
-        void equipItem(const Item *const item) const override final;
+        void equipItem(const Item *const item) const final;
 
-        void unequipItem(const Item *const item) const override final;
+        void unequipItem(const Item *const item) const final;
 
-        void useItem(const Item *const item) const override final;
+        void useItem(const Item *const item) const final;
 
         void dropItem(const Item *const item,
-                      const int amount) const override final;
+                      const int amount) const final;
 
-        void closeStorage() const override final;
+        void closeStorage() const final;
 
         void moveItem2(const InventoryTypeT source,
                        const int slot,
                        const int amount,
-                       const InventoryTypeT destination) const override final;
+                       const InventoryTypeT destination) const final;
 
-        void useCard(const Item *const item) override final;
+        void useCard(const Item *const item) final;
 
         void insertCard(const int cardIndex,
-                        const int itemIndex) const override final;
+                        const int itemIndex) const final;
 
         void favoriteItem(const Item *const item,
-                          const bool favorite) const override final;
+                          const bool favorite) const final;
 
-        void selectEgg(const Item *const item) const override final;
+        void selectEgg(const Item *const item) const final;
 
         int convertFromServerSlot(const int serverSlot)
-                                  const override final A_WARN_UNUSED;
+                                  const final A_WARN_UNUSED;
 
         void selectCart(const BeingId accountId,
-                        const int type) const override final;
+                        const int type) const final;
 
-        void identifyItem(const Item *const item) const override final;
+        void identifyItem(const Item *const item) const final;
 
         void mergeItemsAck(const std::vector<Item*> &items) const
-                           override final;
+                           final;
 
-        void mergetItemsCancel() const override final;
+        void mergetItemsCancel() const final;
 
-        int getProjectileSlot() const override final
+        int getProjectileSlot() const final
         { return 23; }
 
-        int getItemIndex() const override final A_WARN_UNUSED
+        int getItemIndex() const final A_WARN_UNUSED
         { return mItemIndex; }
 
     private:
diff --git a/src/net/eathena/loginhandler.h b/src/net/eathena/loginhandler.h
index b564b1b27..815af77d9 100644
--- a/src/net/eathena/loginhandler.h
+++ b/src/net/eathena/loginhandler.h
@@ -37,32 +37,32 @@ class LoginHandler final : public Ea::LoginHandler
 
         ~LoginHandler();
 
-        void connect() const override final;
+        void connect() const final;
 
-        bool isConnected() const override final A_WARN_UNUSED;
+        bool isConnected() const final A_WARN_UNUSED;
 
-        void disconnect() const override final;
+        void disconnect() const final;
 
-        unsigned int getMaxPasswordLength() const override final A_WARN_UNUSED
+        unsigned int getMaxPasswordLength() const final A_WARN_UNUSED
         { return 24; }
 
         void changePassword(const std::string &restrict oldPassword,
                             const std::string &restrict newPassword)
-                            const override final;
+                            const final;
 
-        void sendVersion() const override final;
+        void sendVersion() const final;
 
-        ServerInfo *getCharServer() const override final A_WARN_UNUSED;
+        ServerInfo *getCharServer() const final A_WARN_UNUSED;
 
-        void ping() const override final;
+        void ping() const final;
 
-        void updatePacketVersion() const override final;
+        void updatePacketVersion() const final;
 
     private:
         void sendLoginRegister(const std::string &restrict username,
                                const std::string &restrict password,
                                const std::string &restrict email)
-                               const override final;
+                               const final;
 };
 
 }  // namespace EAthena
diff --git a/src/net/eathena/mailhandler.h b/src/net/eathena/mailhandler.h
index 44f68d7be..a27f739d9 100644
--- a/src/net/eathena/mailhandler.h
+++ b/src/net/eathena/mailhandler.h
@@ -33,25 +33,25 @@ class MailHandler final : public Net::MailHandler
 
         A_DELETE_COPY(MailHandler)
 
-        void refresh() const override final;
+        void refresh() const final;
 
-        void readMessage(const int msgId) const override final;
+        void readMessage(const int msgId) const final;
 
-        void getAttach(const int msgId) const override final;
+        void getAttach(const int msgId) const final;
 
-        void deleteMessage(const int msgId) const override final;
+        void deleteMessage(const int msgId) const final;
 
-        void returnMessage(const int msgId) const override final;
+        void returnMessage(const int msgId) const final;
 
-        void setAttach(const int index, const int amount) const override final;
+        void setAttach(const int index, const int amount) const final;
 
-        void setAttachMoney(const int money) const override final;
+        void setAttachMoney(const int money) const final;
 
-        void resetAttach(const int flag) const override final;
+        void resetAttach(const int flag) const final;
 
         void send(const std::string &name,
                   const std::string &title,
-                  std::string message) const override final;
+                  std::string message) const final;
 };
 
 }  // namespace EAthena
diff --git a/src/net/eathena/markethandler.h b/src/net/eathena/markethandler.h
index fd0d4aea5..f1cc3d6a4 100644
--- a/src/net/eathena/markethandler.h
+++ b/src/net/eathena/markethandler.h
@@ -33,15 +33,15 @@ class MarketHandler final : public Net::MarketHandler
 
         A_DELETE_COPY(MarketHandler)
 
-        void close() const override final;
+        void close() const final;
 
         void buyItem(const int itemId,
                      const ItemTypeT type,
                      const ItemColor color,
-                     const int amount) const override final;
+                     const int amount) const final;
 
         void buyItems(const std::vector<ShopItem*> &items) const
-                      override final;
+                      final;
 };
 
 }  // namespace EAthena
diff --git a/src/net/eathena/mercenaryhandler.h b/src/net/eathena/mercenaryhandler.h
index d6eddd75b..71994d9dc 100644
--- a/src/net/eathena/mercenaryhandler.h
+++ b/src/net/eathena/mercenaryhandler.h
@@ -32,20 +32,20 @@ class MercenaryHandler final : public Net::MercenaryHandler
 
         A_DELETE_COPY(MercenaryHandler)
 
-        void fire() const override final;
+        void fire() const final;
 
-        void moveToMaster() const override final;
+        void moveToMaster() const final;
 
-        void move(const int x, const int y) const override final;
+        void move(const int x, const int y) const final;
 
         void attack(const BeingId targetId,
-                    const Keep keep) const override final;
+                    const Keep keep) const final;
 
-        void talk(const std::string &restrict text) const override final;
+        void talk(const std::string &restrict text) const final;
 
-        void emote(const uint8_t emoteId) const override final;
+        void emote(const uint8_t emoteId) const final;
 
-        void setDirection(const unsigned char type) const override final;
+        void setDirection(const unsigned char type) const final;
 };
 
 }  // namespace EAthena
diff --git a/src/net/eathena/messagein.h b/src/net/eathena/messagein.h
index 5ba13ea9c..e0cbe7fc2 100644
--- a/src/net/eathena/messagein.h
+++ b/src/net/eathena/messagein.h
@@ -50,13 +50,13 @@ class MessageIn final : public Net::MessageIn
                       const unsigned int version);
 
         /**< Reads a short. */
-        int16_t readInt16(const char *const str) override final;
+        int16_t readInt16(const char *const str) final;
         /**< Reads a long. */
-        int32_t readInt32(const char *const str) override final;
+        int32_t readInt32(const char *const str) final;
 
-        int64_t readInt64(const char *const str) override final;
+        int64_t readInt64(const char *const str) final;
 
-        BeingId readBeingId(const char *const str) override final;
+        BeingId readBeingId(const char *const str) final;
 
         uint16_t readId() const;
 };
diff --git a/src/net/eathena/messageout.h b/src/net/eathena/messageout.h
index 83f9fbe7f..415016403 100644
--- a/src/net/eathena/messageout.h
+++ b/src/net/eathena/messageout.h
@@ -49,14 +49,14 @@ class MessageOut final : public Net::MessageOut
 
         /**< Writes a short. */
         void writeInt16(const int16_t value,
-                        const char *const str) override final;
+                        const char *const str) final;
 
         /**< Writes a long. */
         void writeInt32(const int32_t value,
-                        const char *const str) override final;
+                        const char *const str) final;
 
         void writeBeingId(const BeingId value,
-                          const char *const str) override final;
+                          const char *const str) final;
 
         /**
          * Encodes coordinates and direction in 3 bytes.
@@ -70,7 +70,7 @@ class MessageOut final : public Net::MessageOut
         { mPos = 0; }
 
     private:
-        void expand(const size_t size) const override final;
+        void expand(const size_t size) const final;
 
         Network *mNetwork;
 };
diff --git a/src/net/eathena/npchandler.h b/src/net/eathena/npchandler.h
index 049d69a72..269745aa8 100644
--- a/src/net/eathena/npchandler.h
+++ b/src/net/eathena/npchandler.h
@@ -35,61 +35,61 @@ class NpcHandler final : public Ea::NpcHandler
 
         A_DELETE_COPY(NpcHandler)
 
-        void talk(const BeingId npcId) const override final;
+        void talk(const BeingId npcId) const final;
 
-        void nextDialog(const BeingId npcId) const override final;
+        void nextDialog(const BeingId npcId) const final;
 
-        void closeDialog(const BeingId npcId) override final;
+        void closeDialog(const BeingId npcId) final;
 
         void listInput(const BeingId npcId,
-                       const unsigned char value) const override final;
+                       const unsigned char value) const final;
 
         void integerInput(const BeingId npcId,
-                          const int value) const override final;
+                          const int value) const final;
 
         void stringInput(const BeingId npcId,
-                         const std::string &value) const override final;
+                         const std::string &value) const final;
 
-        void buy(const BeingId beingId) const override final;
+        void buy(const BeingId beingId) const final;
 
-        void sell(const BeingId beingId) const override final;
+        void sell(const BeingId beingId) const final;
 
         void buyItem(const BeingId beingId,
                      const int itemId,
                      const ItemColor color,
-                     const int amount) const override final;
+                     const int amount) const final;
 
         void buyItems(std::vector<ShopItem*> &items) const
-                      override final;
+                      final;
 
         void sellItem(const BeingId beingId,
                       const int itemId,
-                      const int amount) const override final;
+                      const int amount) const final;
 
-        void sellItems(std::vector<ShopItem*> &items) const override final;
+        void sellItems(std::vector<ShopItem*> &items) const final;
 
-        void completeProgressBar() const override final;
+        void completeProgressBar() const final;
 
         void produceMix(const int nameId,
                         const int materialId1,
                         const int materialId2,
-                        const int materialId3) const override final;
+                        const int materialId3) const final;
 
         void cooking(const CookingTypeT type,
-                     const int nameId) const override final;
+                     const int nameId) const final;
 
-        void repair(const int index) const override final;
+        void repair(const int index) const final;
 
-        void refine(const int index) const override final;
+        void refine(const int index) const final;
 
         BeingId getNpc(Net::MessageIn &msg,
-                       const NpcActionT action) override final;
+                       const NpcActionT action) final;
 
-        void identify(const int index) const override final;
+        void identify(const int index) const final;
 
-        void selectArrow(const int nameId) const override final;
+        void selectArrow(const int nameId) const final;
 
-        void selectAutoSpell(const int skillId) const override final;
+        void selectAutoSpell(const int skillId) const final;
 };
 
 }  // namespace EAthena
diff --git a/src/net/eathena/partyhandler.h b/src/net/eathena/partyhandler.h
index 9cee0cc67..d7342da60 100644
--- a/src/net/eathena/partyhandler.h
+++ b/src/net/eathena/partyhandler.h
@@ -36,28 +36,28 @@ class PartyHandler final : public Ea::PartyHandler
 
         ~PartyHandler();
 
-        void create(const std::string &name) const override final;
+        void create(const std::string &name) const final;
 
-        void invite(const std::string &name) const override final;
+        void invite(const std::string &name) const final;
 
         void inviteResponse(const int partyId,
-                            const bool accept) const override final;
+                            const bool accept) const final;
 
-        void leave() const override final;
+        void leave() const final;
 
-        void kick(const Being *const being) const override final;
+        void kick(const Being *const being) const final;
 
-        void kick(const std::string &name) const override final;
+        void kick(const std::string &name) const final;
 
-        void chat(const std::string &text) const override final;
+        void chat(const std::string &text) const final;
 
-        void setShareExperience(const PartyShareT share) const override final;
+        void setShareExperience(const PartyShareT share) const final;
 
-        void setShareItems(const PartyShareT share) const override final;
+        void setShareItems(const PartyShareT share) const final;
 
-        void changeLeader(const std::string &name) const override final;
+        void changeLeader(const std::string &name) const final;
 
-        void allowInvite(const bool allow) const override final;
+        void allowInvite(const bool allow) const final;
 };
 
 }  // namespace EAthena
diff --git a/src/net/eathena/pethandler.h b/src/net/eathena/pethandler.h
index ab5eaded6..e481a660f 100644
--- a/src/net/eathena/pethandler.h
+++ b/src/net/eathena/pethandler.h
@@ -34,34 +34,34 @@ class PetHandler final :  public Net::PetHandler
         A_DELETE_COPY(PetHandler)
 
         void move(const int petId,
-                  const int x, const int y) const override final;
+                  const int x, const int y) const final;
 
         void spawn(const Being *const being,
                    const int petId,
-                   const int x, const int y) const override final A_CONST;
+                   const int x, const int y) const final A_CONST;
 
         void emote(const uint8_t emoteId,
-                   const int petId) override final;
+                   const int petId) final;
 
-        void catchPet(const Being *const being) const override final;
+        void catchPet(const Being *const being) const final;
 
-        void sendPetMessage(const int data) const override final;
+        void sendPetMessage(const int data) const final;
 
-        void setName(const std::string &name) const override final;
+        void setName(const std::string &name) const final;
 
-        void requestStatus() const override final;
+        void requestStatus() const final;
 
-        void feed() const override final;
+        void feed() const final;
 
-        void dropLoot() const override final;
+        void dropLoot() const final;
 
-        void returnToEgg() const override final;
+        void returnToEgg() const final;
 
-        void unequip() const override final;
+        void unequip() const final;
 
-        void setDirection(const unsigned char type) const override final;
+        void setDirection(const unsigned char type) const final;
 
-        void startAi(const bool start) const override final A_CONST;
+        void startAi(const bool start) const final A_CONST;
 };
 
 }  // namespace EAthena
diff --git a/src/net/eathena/playerhandler.h b/src/net/eathena/playerhandler.h
index 6f8e9b4eb..c490b8f89 100644
--- a/src/net/eathena/playerhandler.h
+++ b/src/net/eathena/playerhandler.h
@@ -36,43 +36,43 @@ class PlayerHandler final : public Ea::PlayerHandler
         A_DELETE_COPY(PlayerHandler)
 
         void attack(const BeingId id,
-                    const Keep keep) const override final;
-        void stopAttack() const override final;
-        void emote(const uint8_t emoteId) const override final;
+                    const Keep keep) const final;
+        void stopAttack() const final;
+        void emote(const uint8_t emoteId) const final;
 
         void increaseAttribute(const AttributesT attr,
-                               const int amount) const override final;
-        void increaseSkill(const uint16_t skillId) const override final;
+                               const int amount) const final;
+        void increaseSkill(const uint16_t skillId) const final;
 
-        void pickUp(const FloorItem *const floorItem) const override final;
-        void setDirection(const unsigned char direction) const override final;
+        void pickUp(const FloorItem *const floorItem) const final;
+        void setDirection(const unsigned char direction) const final;
         void setDestination(const int x, const int y,
-                            const int direction) const override final;
+                            const int direction) const final;
         void changeAction(const BeingActionT &action)
-                          const override final;
-        void updateStatus(const uint8_t status) const override final;
+                          const final;
+        void updateStatus(const uint8_t status) const final;
 
-        void requestOnlineList() const override final;
-        void respawn() const override final;
+        void requestOnlineList() const final;
+        void respawn() const final;
         void setShortcut(const int idx,
                          const uint8_t type,
                          const int id,
-                         const int level) const override final;
-        void shortcutShiftRow(const int row) const override final;
-        void removeOption() const override final;
-        void changeCart(const int type) const override final;
-        void setMemo() const override final;
-        void doriDori() const override final;
-        void explosionSpirits() const override final;
-        void requestPvpInfo() const override final;
-        void revive() const override final;
-        void setViewEquipment(const bool allow) const override final;
+                         const int level) const final;
+        void shortcutShiftRow(const int row) const final;
+        void removeOption() const final;
+        void changeCart(const int type) const final;
+        void setMemo() const final;
+        void doriDori() const final;
+        void explosionSpirits() const final;
+        void requestPvpInfo() const final;
+        void revive() const final;
+        void setViewEquipment(const bool allow) const final;
 
         void setStat(Net::MessageIn &msg,
                      const int type,
                      const int base,
                      const int mod,
-                     const Notify notify) const override final;
+                     const Notify notify) const final;
 };
 
 }  // namespace EAthena
diff --git a/src/net/eathena/questhandler.h b/src/net/eathena/questhandler.h
index 3644c4662..bbeaab699 100644
--- a/src/net/eathena/questhandler.h
+++ b/src/net/eathena/questhandler.h
@@ -34,7 +34,7 @@ class QuestHandler final : public Net::QuestHandler
         A_DELETE_COPY(QuestHandler)
 
         void setQeustActiveState(const int questId,
-                                 const bool active) const override final;
+                                 const bool active) const final;
 };
 
 }  // namespace EAthena
diff --git a/src/net/eathena/searchstorehandler.h b/src/net/eathena/searchstorehandler.h
index 89fa4ea5b..454ea7b66 100644
--- a/src/net/eathena/searchstorehandler.h
+++ b/src/net/eathena/searchstorehandler.h
@@ -35,15 +35,15 @@ class SearchStoreHandler final : public Net::SearchStoreHandler
         void search(const StoreSearchTypeT type,
                     const int minPrice,
                     const int maxPrice,
-                    const int itemId) const override final;
+                    const int itemId) const final;
 
-        void nextPage() const override final;
+        void nextPage() const final;
 
-        void close() const override final;
+        void close() const final;
 
         void select(const int accountId,
                     const int storeId,
-                    const int itemId) const override final;
+                    const int itemId) const final;
 };
 
 }  // namespace EAthena
diff --git a/src/net/eathena/serverfeatures.h b/src/net/eathena/serverfeatures.h
index 3206f1adf..213334997 100644
--- a/src/net/eathena/serverfeatures.h
+++ b/src/net/eathena/serverfeatures.h
@@ -34,109 +34,109 @@ class ServerFeatures final : public Net::ServerFeatures
 
         A_DELETE_COPY(ServerFeatures)
 
-        bool haveServerOnlineList() const override final;
+        bool haveServerOnlineList() const final;
 
-        bool haveOnlineList() const override final A_CONST;
+        bool haveOnlineList() const final A_CONST;
 
-        bool havePartyNickInvite() const override final A_CONST;
+        bool havePartyNickInvite() const final A_CONST;
 
-        bool haveChangePartyLeader() const override final A_CONST;
+        bool haveChangePartyLeader() const final A_CONST;
 
-        bool haveServerHp() const override final A_CONST;
+        bool haveServerHp() const final A_CONST;
 
-        bool havePlayerStatusUpdate() const override final;
+        bool havePlayerStatusUpdate() const final;
 
-        bool haveBrokenPlayerAttackDistance() const override final A_CONST;
+        bool haveBrokenPlayerAttackDistance() const final A_CONST;
 
-        bool haveNativeGuilds() const override final A_CONST;
+        bool haveNativeGuilds() const final A_CONST;
 
-        bool haveIncompleteChatMessages() const override final A_CONST;
+        bool haveIncompleteChatMessages() const final A_CONST;
 
-        bool haveRaceSelection() const override final;
+        bool haveRaceSelection() const final;
 
-        bool haveLookSelection() const override final;
+        bool haveLookSelection() const final;
 
-        bool haveChatChannels() const override final A_CONST;
+        bool haveChatChannels() const final A_CONST;
 
-        bool haveServerIgnore() const override final A_CONST;
+        bool haveServerIgnore() const final A_CONST;
 
-        bool haveMove3() const override final;
+        bool haveMove3() const final;
 
-        bool haveItemColors() const override final A_CONST;
+        bool haveItemColors() const final A_CONST;
 
-        bool haveAccountOtherGender() const override final A_CONST;
+        bool haveAccountOtherGender() const final A_CONST;
 
-        bool haveCharOtherGender() const override final;
+        bool haveCharOtherGender() const final;
 
-        bool haveMonsterAttackRange() const override final A_CONST;
+        bool haveMonsterAttackRange() const final A_CONST;
 
-        bool haveMonsterName() const override final A_CONST;
+        bool haveMonsterName() const final A_CONST;
 
-        bool haveEmailOnRegister() const override final;
+        bool haveEmailOnRegister() const final;
 
-        bool haveEmailOnDelete() const override final;
+        bool haveEmailOnDelete() const final;
 
-        bool haveEightDirections() const override final A_CONST;
+        bool haveEightDirections() const final A_CONST;
 
-        bool haveCharRename() const override final A_CONST;
+        bool haveCharRename() const final A_CONST;
 
-        bool haveBankApi() const override final A_CONST;
+        bool haveBankApi() const final A_CONST;
 
-        bool haveServerVersion() const override final;
+        bool haveServerVersion() const final;
 
-        bool haveMapServerVersion() const override final;
+        bool haveMapServerVersion() const final;
 
-        bool haveNpcGender() const override final;
+        bool haveNpcGender() const final;
 
-        bool haveJoinChannel() const override final;
+        bool haveJoinChannel() const final;
 
-        bool haveNpcWhispers() const override final A_CONST;
+        bool haveNpcWhispers() const final A_CONST;
 
-        bool haveCreateCharGender() const override final;
+        bool haveCreateCharGender() const final;
 
-        bool haveAttackDirections() const override final A_CONST;
+        bool haveAttackDirections() const final A_CONST;
 
-        bool haveVending() const override final A_CONST;
+        bool haveVending() const final A_CONST;
 
-        bool haveCart() const override final A_CONST;
+        bool haveCart() const final A_CONST;
 
-        bool haveTalkPet() const override final;
+        bool haveTalkPet() const final;
 
-        bool haveMovePet() const override final;
+        bool haveMovePet() const final;
 
-        bool haveServerWarpNames() const override final;
+        bool haveServerWarpNames() const final;
 
-        bool haveExpPacket() const override final A_CONST;
+        bool haveExpPacket() const final A_CONST;
 
-        bool haveMute() const override final A_CONST;
+        bool haveMute() const final A_CONST;
 
-        bool haveChangePassword() const override final;
+        bool haveChangePassword() const final;
 
-        bool haveTeamId() const override final A_CONST;
+        bool haveTeamId() const final A_CONST;
 
-        bool haveNewGuild() const override final A_CONST;
+        bool haveNewGuild() const final A_CONST;
 
-        bool haveAdvancedSprites() const override final;
+        bool haveAdvancedSprites() const final;
 
-        bool haveExtendedRiding() const override final;
+        bool haveExtendedRiding() const final;
 
-        bool haveAdvancedBuySell() const override final A_CONST;
+        bool haveAdvancedBuySell() const final A_CONST;
 
-        bool haveSlide() const override final;
+        bool haveSlide() const final;
 
-        bool haveExtendedDropsPosition() const override final;
+        bool haveExtendedDropsPosition() const final;
 
-        bool haveSecureTrades() const override final;
+        bool haveSecureTrades() const final;
 
-        bool haveMultyStatusUp() const override final;
+        bool haveMultyStatusUp() const final;
 
-        bool haveMail() const override final;
+        bool haveMail() const final;
 
-        bool haveServerPets() const override final;
+        bool haveServerPets() const final;
 
-        bool haveFamily() const override final;
+        bool haveFamily() const final;
 
-        bool haveMoveWhileSit() const override final;
+        bool haveMoveWhileSit() const final;
 };
 
 }  // namespace EAthena
diff --git a/src/net/eathena/skillhandler.h b/src/net/eathena/skillhandler.h
index 77fc6dadb..bc0682b24 100644
--- a/src/net/eathena/skillhandler.h
+++ b/src/net/eathena/skillhandler.h
@@ -37,24 +37,24 @@ class SkillHandler final : public Ea::SkillHandler
 
         void useBeing(const int id,
                       const int level,
-                      const BeingId beingId) const override final;
+                      const BeingId beingId) const final;
 
         void usePos(const int id,
                     const int level,
-                    const int x, const int y) const override final;
+                    const int x, const int y) const final;
 
         void usePos(const int id,
                     const int level,
                     const int x, const int y,
-                    const std::string &text) const override final;
+                    const std::string &text) const final;
 
-        void useMap(const int id, const std::string &map) const override final;
+        void useMap(const int id, const std::string &map) const final;
 
-        void getAlchemistRanks() const override final;
+        void getAlchemistRanks() const final;
 
-        void getBlacksmithRanks() const override final;
+        void getBlacksmithRanks() const final;
 
-        void getPkRanks() const override final;
+        void getPkRanks() const final;
 };
 
 }  // namespace EAthena
diff --git a/src/net/eathena/tradehandler.h b/src/net/eathena/tradehandler.h
index 9ccd2d320..38527e6ab 100644
--- a/src/net/eathena/tradehandler.h
+++ b/src/net/eathena/tradehandler.h
@@ -35,20 +35,20 @@ class TradeHandler final : public Ea::TradeHandler
 
         A_DELETE_COPY(TradeHandler)
 
-        void request(const Being *const being) const override final;
+        void request(const Being *const being) const final;
 
-        void respond(const bool accept) const override final;
+        void respond(const bool accept) const final;
 
         void addItem(const Item *const item,
-                     const int amount) const override final;
+                     const int amount) const final;
 
-        void setMoney(const int amount) const override final;
+        void setMoney(const int amount) const final;
 
-        void confirm() const override final;
+        void confirm() const final;
 
-        void finish() const override final;
+        void finish() const final;
 
-        void cancel() const override final;
+        void cancel() const final;
 };
 
 }  // namespace EAthena
diff --git a/src/net/eathena/vendinghandler.h b/src/net/eathena/vendinghandler.h
index b824a8d8e..ce5fd5db5 100644
--- a/src/net/eathena/vendinghandler.h
+++ b/src/net/eathena/vendinghandler.h
@@ -32,23 +32,23 @@ class VendingHandler final : public Net::VendingHandler
 
         A_DELETE_COPY(VendingHandler)
 
-        void close() const override final;
+        void close() const final;
 
-        void open(const Being *const being) const override final;
+        void open(const Being *const being) const final;
 
         void buy(const Being *const being,
                  const int index,
-                 const int amount) const override final;
+                 const int amount) const final;
 
         void buy2(const Being *const being,
                   const int vendId,
                   const int index,
-                  const int amount) const override final;
+                  const int amount) const final;
 
         void createShop(const std::string &name,
                         const bool flag,
                         const std::vector<ShopItem*> &items) const
-                        override final;
+                        final;
 };
 
 }  // namespace EAthena
diff --git a/src/net/tmwa/adminhandler.h b/src/net/tmwa/adminhandler.h
index 21eddd437..ead0310d1 100644
--- a/src/net/tmwa/adminhandler.h
+++ b/src/net/tmwa/adminhandler.h
@@ -35,138 +35,138 @@ class AdminHandler final : public Ea::AdminHandler
 
         A_DELETE_COPY(AdminHandler)
 
-        void announce(const std::string &text) const override final;
+        void announce(const std::string &text) const final;
 
-        void localAnnounce(const std::string &text) const override final;
+        void localAnnounce(const std::string &text) const final;
 
-        void hide(const bool h) const override final;
+        void hide(const bool h) const final;
 
-        void kick(const BeingId playerId) const override final;
+        void kick(const BeingId playerId) const final;
 
-        void kickAll() const override final A_CONST;
+        void kickAll() const final A_CONST;
 
         void warp(const std::string &map,
-                  const int x, const int y) const override final;
+                  const int x, const int y) const final;
 
-        void resetStats() const override final A_CONST;
+        void resetStats() const final A_CONST;
 
-        void resetSkills() const override final A_CONST;
+        void resetSkills() const final A_CONST;
 
-        void gotoName(const std::string &name) const override final;
+        void gotoName(const std::string &name) const final;
 
-        void recallName(const std::string &name) const override final;
+        void recallName(const std::string &name) const final;
 
         void mute(const Being *const being,
                   const int type,
-                  const int limit) const override final A_CONST;
+                  const int limit) const final A_CONST;
 
-        void muteName(const std::string &name) const override final A_CONST;
+        void muteName(const std::string &name) const final A_CONST;
 
-        void requestLogin(const Being *const being) const override final
+        void requestLogin(const Being *const being) const final
                           A_CONST;
 
         void setTileType(const int x, const int y,
-                         const int type) const override final A_CONST;
+                         const int type) const final A_CONST;
 
-        void unequipAll(const Being *const being) const override final A_CONST;
+        void unequipAll(const Being *const being) const final A_CONST;
 
-        void requestStats(const std::string &name) const override final
+        void requestStats(const std::string &name) const final
                           A_CONST;
 
-        void monsterInfo(const std::string &name) const override final A_CONST;
+        void monsterInfo(const std::string &name) const final A_CONST;
 
-        void itemInfo(const std::string &name) const override final A_CONST;
+        void itemInfo(const std::string &name) const final A_CONST;
 
-        void whoDrops(const std::string &name) const override final A_CONST;
+        void whoDrops(const std::string &name) const final A_CONST;
 
-        void mobSearch(const std::string &name) const override final A_CONST;
+        void mobSearch(const std::string &name) const final A_CONST;
 
-        void mobSpawnSearch(const std::string &name) const override final
+        void mobSpawnSearch(const std::string &name) const final
                             A_CONST;
 
-        void playerGmCommands(const std::string &name) const override final
+        void playerGmCommands(const std::string &name) const final
                               A_CONST;
 
-        void playerCharGmCommands(const std::string &name) const override final
+        void playerCharGmCommands(const std::string &name) const final
                                   A_CONST;
 
-        void showLevel(const std::string &name) const override final A_CONST;
+        void showLevel(const std::string &name) const final A_CONST;
 
-        void showStats(const std::string &name) const override final A_CONST;
+        void showStats(const std::string &name) const final A_CONST;
 
-        void showStorageList(const std::string &name) const override final
+        void showStorageList(const std::string &name) const final
                              A_CONST;
 
-        void showCartList(const std::string &name) const override final
+        void showCartList(const std::string &name) const final
                           A_CONST;
 
-        void showInventoryList(const std::string &name) const override final
+        void showInventoryList(const std::string &name) const final
                                A_CONST;
 
-        void locatePlayer(const std::string &name) const override final
+        void locatePlayer(const std::string &name) const final
                           A_CONST;
 
-        void showAccountInfo(const std::string &name) const override final
+        void showAccountInfo(const std::string &name) const final
                              A_CONST;
 
-        void spawnSlave(const std::string &name) const override final A_CONST;
+        void spawnSlave(const std::string &name) const final A_CONST;
 
-        void spawnClone(const std::string &name) const override final A_CONST;
+        void spawnClone(const std::string &name) const final A_CONST;
 
-        void spawnSlaveClone(const std::string &name) const override final
+        void spawnSlaveClone(const std::string &name) const final
                              A_CONST;
 
-        void spawnEvilClone(const std::string &name) const override final
+        void spawnEvilClone(const std::string &name) const final
                             A_CONST;
 
-        void savePosition(const std::string &name) const override final
+        void savePosition(const std::string &name) const final
                           A_CONST;
 
-        void loadPosition(const std::string &name) const override final
+        void loadPosition(const std::string &name) const final
                           A_CONST;
 
-        void randomWarp(const std::string &name) const override final A_CONST;
+        void randomWarp(const std::string &name) const final A_CONST;
 
-        void gotoNpc(const std::string &name) const override final A_CONST;
+        void gotoNpc(const std::string &name) const final A_CONST;
 
-        void killer(const std::string &name) const override final A_CONST;
+        void killer(const std::string &name) const final A_CONST;
 
-        void killable(const std::string &name) const override final A_CONST;
+        void killable(const std::string &name) const final A_CONST;
 
-        void heal(const std::string &name) const override final A_CONST;
+        void heal(const std::string &name) const final A_CONST;
 
-        void alive(const std::string &name) const override final;
+        void alive(const std::string &name) const final;
 
-        void disguise(const std::string &name) const override final A_CONST;
+        void disguise(const std::string &name) const final A_CONST;
 
-        void immortal(const std::string &name) const override final A_CONST;
+        void immortal(const std::string &name) const final A_CONST;
 
-        void hide(const std::string &name) const override final;
+        void hide(const std::string &name) const final;
 
-        void nuke(const std::string &name) const override final A_CONST;
+        void nuke(const std::string &name) const final A_CONST;
 
-        void kill(const std::string &name) const override final A_CONST;
+        void kill(const std::string &name) const final A_CONST;
 
-        void jail(const std::string &name) const override final A_CONST;
+        void jail(const std::string &name) const final A_CONST;
 
-        void unjail(const std::string &name) const override final A_CONST;
+        void unjail(const std::string &name) const final A_CONST;
 
         void npcMove(const std::string &name,
                      const int x,
-                     const int y) const override final A_CONST;
+                     const int y) const final A_CONST;
 
-        void hideNpc(const std::string &name) const override final A_CONST;
+        void hideNpc(const std::string &name) const final A_CONST;
 
-        void showNpc(const std::string &name) const override final A_CONST;
+        void showNpc(const std::string &name) const final A_CONST;
 
-        void changePartyLeader(const std::string &name) const override final
+        void changePartyLeader(const std::string &name) const final
                                A_CONST;
 
-        void partyRecall(const std::string &name) const override final A_CONST;
+        void partyRecall(const std::string &name) const final A_CONST;
 
-        void breakGuild(const std::string &name) const override final A_CONST;
+        void breakGuild(const std::string &name) const final A_CONST;
 
-        void guildRecall(const std::string &name) const override final A_CONST;
+        void guildRecall(const std::string &name) const final A_CONST;
 };
 
 }  // namespace TmwAthena
diff --git a/src/net/tmwa/auctionhandler.h b/src/net/tmwa/auctionhandler.h
index bc86c76ac..d1e764ab9 100644
--- a/src/net/tmwa/auctionhandler.h
+++ b/src/net/tmwa/auctionhandler.h
@@ -34,30 +34,30 @@ class AuctionHandler final : public Net::AuctionHandler
 
         A_DELETE_COPY(AuctionHandler)
 
-        void cancelReg() const override final A_CONST;
+        void cancelReg() const final A_CONST;
 
         void setItem(const Item *const item,
-                     const int amount) const override final A_CONST;
+                     const int amount) const final A_CONST;
 
         void reg(const int currentPrice,
                  const int maxPrice,
-                 const int hours) const override final A_CONST;
+                 const int hours) const final A_CONST;
 
-        void cancel(const int auctionId) const override final A_CONST;
+        void cancel(const int auctionId) const final A_CONST;
 
-        void close(const int auctionId) const override final A_CONST;
+        void close(const int auctionId) const final A_CONST;
 
         void bid(const int auctionId,
-                 const int money) const override final A_CONST;
+                 const int money) const final A_CONST;
 
         void search(const AuctionSearchTypeT type,
                     const int auctionId,
                     const std::string &text,
-                    const int page) const override final A_CONST;
+                    const int page) const final A_CONST;
 
-        void buy() const override final A_CONST;
+        void buy() const final A_CONST;
 
-        void sell() const override final A_CONST;
+        void sell() const final A_CONST;
 };
 
 }  // namespace TmwAthena
diff --git a/src/net/tmwa/bankhandler.h b/src/net/tmwa/bankhandler.h
index c71371dbe..e072b24ae 100644
--- a/src/net/tmwa/bankhandler.h
+++ b/src/net/tmwa/bankhandler.h
@@ -35,15 +35,15 @@ class BankHandler final : public Net::BankHandler
 
         A_DELETE_COPY(BankHandler)
 
-        void deposit(const int money) const override final A_CONST;
+        void deposit(const int money) const final A_CONST;
 
-        void withdraw(const int money) const override final A_CONST;
+        void withdraw(const int money) const final A_CONST;
 
-        void check() const override final A_CONST;
+        void check() const final A_CONST;
 
-        void open() const override final A_CONST;
+        void open() const final A_CONST;
 
-        void close() const override final A_CONST;
+        void close() const final A_CONST;
 };
 
 }  // namespace TmwAthena
diff --git a/src/net/tmwa/battlegroundhandler.h b/src/net/tmwa/battlegroundhandler.h
index 234b310a9..b85aecb2c 100644
--- a/src/net/tmwa/battlegroundhandler.h
+++ b/src/net/tmwa/battlegroundhandler.h
@@ -36,17 +36,17 @@ class BattleGroundHandler final : public Net::BattleGroundHandler
         A_DELETE_COPY(BattleGroundHandler)
 
         void registerBg(const BattleGroundTypeT &type,
-                        const std::string &name) const override final A_CONST;
+                        const std::string &name) const final A_CONST;
 
-        void rekoveRequest(const std::string &name) const override final
+        void rekoveRequest(const std::string &name) const final
                            A_CONST;
 
         void beginAck(const bool result,
                       const std::string &bgName,
-                      const std::string &gameName) const override final
+                      const std::string &gameName) const final
                       A_CONST;
 
-        void checkState(const std::string &name) const override final A_CONST;
+        void checkState(const std::string &name) const final A_CONST;
 };
 
 }  // namespace TmwAthena
diff --git a/src/net/tmwa/beinghandler.h b/src/net/tmwa/beinghandler.h
index 4f3e70fb1..fc989659e 100644
--- a/src/net/tmwa/beinghandler.h
+++ b/src/net/tmwa/beinghandler.h
@@ -35,19 +35,19 @@ class BeingHandler final : public Ea::BeingHandler
 
         A_DELETE_COPY(BeingHandler)
 
-        void requestNameById(const BeingId id) const override final;
+        void requestNameById(const BeingId id) const final;
 
-        void undress(Being *const being) const override final;
+        void undress(Being *const being) const final;
 
 #ifdef EATHENA_SUPPORT
-        void requestRanks(const RankT rank A_UNUSED) const override final
+        void requestRanks(const RankT rank A_UNUSED) const final
                           A_CONST;
 
-        void viewPlayerEquipment(const Being *const being) const override final
+        void viewPlayerEquipment(const Being *const being) const final
                                  A_CONST;
 #endif
 
-        void requestNameByCharId(const int id) const override final A_CONST;
+        void requestNameByCharId(const int id) const final A_CONST;
 };
 
 }  // namespace TmwAthena
diff --git a/src/net/tmwa/buyingstorehandler.h b/src/net/tmwa/buyingstorehandler.h
index b9816310a..cb726de61 100644
--- a/src/net/tmwa/buyingstorehandler.h
+++ b/src/net/tmwa/buyingstorehandler.h
@@ -38,17 +38,17 @@ class BuyingStoreHandler final : public Net::BuyingStoreHandler
         void create(const std::string &name,
                     const int maxMoney,
                     const bool flag,
-                    const std::vector<ShopItem*> &items) const override final
+                    const std::vector<ShopItem*> &items) const final
                     A_CONST;
 
-        void close() const override final A_CONST;
+        void close() const final A_CONST;
 
-        void open(const Being *const being) const override final A_CONST;
+        void open(const Being *const being) const final A_CONST;
 
         void sell(const Being *const being,
                   const int storeId,
                   const Item *const item,
-                  const int amount) const override final A_CONST;
+                  const int amount) const final A_CONST;
 };
 
 }  // namespace TmwAthena
diff --git a/src/net/tmwa/buysellhandler.h b/src/net/tmwa/buysellhandler.h
index 9d2ba81e4..23fd633db 100644
--- a/src/net/tmwa/buysellhandler.h
+++ b/src/net/tmwa/buysellhandler.h
@@ -36,20 +36,20 @@ class BuySellHandler final : public Ea::BuySellHandler
         A_DELETE_COPY(BuySellHandler)
 
         void requestSellList(const std::string &nick)
-                             const override final;
+                             const final;
 
         void requestBuyList(const std::string &nick)
-                            const override final;
+                            const final;
 
         void sendBuyRequest(const std::string &nick,
                             const ShopItem *const item,
-                            const int amount) const override final;
+                            const int amount) const final;
 
         void sendSellRequest(const std::string &nick,
                              const ShopItem *const item,
-                             const int amount) const override final;
+                             const int amount) const final;
 
-        void close() const override final A_CONST;
+        void close() const final A_CONST;
 };
 
 }  // namespace TmwAthena
diff --git a/src/net/tmwa/cashshophandler.h b/src/net/tmwa/cashshophandler.h
index 6c622270d..5d5437a6a 100644
--- a/src/net/tmwa/cashshophandler.h
+++ b/src/net/tmwa/cashshophandler.h
@@ -38,18 +38,18 @@ class CashShopHandler final : public Net::CashShopHandler
         void buyItem(const int points,
                      const int itemId,
                      const ItemColor color,
-                     const int amount) const override final A_CONST;
+                     const int amount) const final A_CONST;
 
-        void buyItems(const std::vector<ShopItem*> &items) const override final
+        void buyItems(const std::vector<ShopItem*> &items) const final
                       A_CONST;
 
-        void close() const override final A_CONST;
+        void close() const final A_CONST;
 
-        void requestPoints() const override final A_CONST;
+        void requestPoints() const final A_CONST;
 
-        void requestTab(const int tab) const override final A_CONST;
+        void requestTab(const int tab) const final A_CONST;
 
-        void schedule() const override final A_CONST;
+        void schedule() const final A_CONST;
 };
 
 }  // namespace TmwAthena
diff --git a/src/net/tmwa/charserverhandler.h b/src/net/tmwa/charserverhandler.h
index 1c202f707..e31319f00 100644
--- a/src/net/tmwa/charserverhandler.h
+++ b/src/net/tmwa/charserverhandler.h
@@ -39,7 +39,7 @@ class CharServerHandler final : public Ea::CharServerHandler
         A_DELETE_COPY(CharServerHandler)
 
         void chooseCharacter(Net::Character *const character) const
-                             override final;
+                             final;
 
         void newCharacter(const std::string &name,
                           const int slot,
@@ -48,24 +48,24 @@ class CharServerHandler final : public Ea::CharServerHandler
                           const int hairColor,
                           const unsigned char race,
                           const uint16_t look,
-                          const std::vector<int> &stats) const override final;
+                          const std::vector<int> &stats) const final;
 
         void deleteCharacter(Net::Character *const character,
-                             const std::string &email) const override final;
+                             const std::string &email) const final;
 
         void renameCharacter(const BeingId id,
-                             const std::string &newName) const override final
+                             const std::string &newName) const final
                              A_CONST;
 
-        void switchCharacter() const override final;
+        void switchCharacter() const final;
 
-        void connect() const override final;
+        void connect() const final;
 
-        bool isNeedCreatePin() const override final
+        bool isNeedCreatePin() const final
         { return false; }
 
         void setNewPincode(const std::string &pin A_UNUSED) const
-                           override final
+                           final
         { }
 
         /**
@@ -74,14 +74,14 @@ class CharServerHandler final : public Ea::CharServerHandler
          * the dialog when a new character failed to be created.
          */
         void setCharCreateDialog(CharCreateDialog *const window) const
-                                 override final;
+                                 final;
 
         void changeSlot(const int oldSlot,
-                        const int newSlot) const override final A_CONST;
+                        const int newSlot) const final A_CONST;
 
-        void ping() const override final A_CONST;
+        void ping() const final A_CONST;
 
-        unsigned int hatSprite() const override final A_CONST A_WARN_UNUSED;
+        unsigned int hatSprite() const final A_CONST A_WARN_UNUSED;
 };
 
 }  // namespace TmwAthena
diff --git a/src/net/tmwa/chathandler.h b/src/net/tmwa/chathandler.h
index d03c609f8..5aebc21bb 100644
--- a/src/net/tmwa/chathandler.h
+++ b/src/net/tmwa/chathandler.h
@@ -37,64 +37,64 @@ class ChatHandler final : public Ea::ChatHandler
         A_DELETE_COPY(ChatHandler)
 
         void talk(const std::string &restrict text,
-                  const std::string &restrict channel) const override final;
+                  const std::string &restrict channel) const final;
 
-        void talkRaw(const std::string &text) const override final;
+        void talkRaw(const std::string &text) const final;
 
         void privateMessage(const std::string &restrict recipient,
                             const std::string &restrict text) const
-                            override final;
+                            final;
 
         void channelMessage(const std::string &restrict channel,
                             const std::string &restrict text) const
-                            override final;
+                            final;
 
-        void joinChannel(const std::string &channel) const override final
+        void joinChannel(const std::string &channel) const final
                          A_CONST;
 
-        void who() const override final;
+        void who() const final;
 
-        void sendRaw(const std::string &args) const override final;
+        void sendRaw(const std::string &args) const final;
 
-        void ignoreAll() const override final;
+        void ignoreAll() const final;
 
-        void unIgnoreAll() const override final;
+        void unIgnoreAll() const final;
 
         void createChatRoom(const std::string &title,
                             const std::string &password,
                             const int limit,
-                            const bool isPublic) const override final A_CONST;
+                            const bool isPublic) const final A_CONST;
 
-        void ignore(const std::string &nick) const override final;
+        void ignore(const std::string &nick) const final;
 
-        void unIgnore(const std::string &nick) const override final;
+        void unIgnore(const std::string &nick) const final;
 
-        void requestIgnoreList() const override final A_CONST;
+        void requestIgnoreList() const final A_CONST;
 
-        void battleTalk(const std::string &text) const override final A_CONST;
+        void battleTalk(const std::string &text) const final A_CONST;
 
         void joinChat(const ChatObject *const chat,
-                      const std::string &password) const override final
+                      const std::string &password) const final
                       A_CONST;
 
-        void partChannel(const std::string &channel) const override final
+        void partChannel(const std::string &channel) const final
                          A_CONST;
 
         void talkPet(const std::string &restrict text,
-                     const std::string &restrict channel) const override final;
+                     const std::string &restrict channel) const final;
 
-        void leaveChatRoom() const override final A_CONST;
+        void leaveChatRoom() const final A_CONST;
 
         void setChatRoomOptions(const int limit,
                                 const bool isPublic,
                                 const std::string &password,
-                                const std::string &title) const override final
+                                const std::string &title) const final
                                 A_CONST;
 
-        void setChatRoomOwner(const std::string &nick) const override final
+        void setChatRoomOwner(const std::string &nick) const final
                               A_CONST;
 
-        void kickFromChatRoom(const std::string &nick) const override final
+        void kickFromChatRoom(const std::string &nick) const final
                               A_CONST;
 
     protected:
diff --git a/src/net/tmwa/familyhandler.h b/src/net/tmwa/familyhandler.h
index c01df9e4f..fecbbebb8 100644
--- a/src/net/tmwa/familyhandler.h
+++ b/src/net/tmwa/familyhandler.h
@@ -35,10 +35,10 @@ class FamilyHandler final : public Net::FamilyHandler
 
         A_DELETE_COPY(FamilyHandler)
 
-        void askForChild(const Being *const being) const override final
+        void askForChild(const Being *const being) const final
                          A_CONST;
 
-        void askForChildReply(const bool accept) const override final A_CONST;
+        void askForChildReply(const bool accept) const final A_CONST;
 };
 
 }  // namespace TmwAthena
diff --git a/src/net/tmwa/friendshandler.h b/src/net/tmwa/friendshandler.h
index 6eb739d4d..ade7ff2ed 100644
--- a/src/net/tmwa/friendshandler.h
+++ b/src/net/tmwa/friendshandler.h
@@ -34,14 +34,14 @@ class FriendsHandler final : public Net::FriendsHandler
 
         A_DELETE_COPY(FriendsHandler)
 
-        void invite(const std::string &name) const override final A_CONST;
+        void invite(const std::string &name) const final A_CONST;
 
         void inviteResponse(const int accountId,
                             const int charId,
-                            const bool accept) const override final A_CONST;
+                            const bool accept) const final A_CONST;
 
         void remove(const int accountId,
-                    const int charId) const override final A_CONST;
+                    const int charId) const final A_CONST;
 };
 
 }  // namespace TmwAthena
diff --git a/src/net/tmwa/gamehandler.h b/src/net/tmwa/gamehandler.h
index a42935261..e670f80df 100644
--- a/src/net/tmwa/gamehandler.h
+++ b/src/net/tmwa/gamehandler.h
@@ -35,21 +35,21 @@ class GameHandler final : public Ea::GameHandler
 
         A_DELETE_COPY(GameHandler)
 
-        void connect() const override final;
+        void connect() const final;
 
-        bool isConnected() const override final A_WARN_UNUSED;
+        bool isConnected() const final A_WARN_UNUSED;
 
-        void disconnect() const override final;
+        void disconnect() const final;
 
-        void quit() const override final;
+        void quit() const final;
 
-        void ping(const int tick) const override final;
+        void ping(const int tick) const final;
 
-        void disconnect2() const override final;
+        void disconnect2() const final;
 
-        void mapLoadedEvent() const override final;
+        void mapLoadedEvent() const final;
 
-        bool mustPing() const override final A_WARN_UNUSED
+        bool mustPing() const final A_WARN_UNUSED
         { return false; }
 };
 
diff --git a/src/net/tmwa/generalhandler.h b/src/net/tmwa/generalhandler.h
index 18273d093..4479a897e 100644
--- a/src/net/tmwa/generalhandler.h
+++ b/src/net/tmwa/generalhandler.h
@@ -73,23 +73,23 @@ class GeneralHandler final : public Net::GeneralHandler
 
         ~GeneralHandler();
 
-        void load() const override final;
+        void load() const final;
 
-        void reload() const override final;
+        void reload() const final;
 
-        void unload() const override final;
+        void unload() const final;
 
-        void flushNetwork() const override final;
+        void flushNetwork() const final;
 
-        void flushSend() const override final;
+        void flushSend() const final;
 
-        void clearHandlers() const override final;
+        void clearHandlers() const final;
 
-        void reloadPartially() const override final;
+        void reloadPartially() const final;
 
-        void gameStarted() const override final;
+        void gameStarted() const final;
 
-        void gameEnded() const override final;
+        void gameEnded() const final;
 
     protected:
         AdminHandler *mAdminHandler;
diff --git a/src/net/tmwa/guildhandler.h b/src/net/tmwa/guildhandler.h
index f26acb95a..d8c4bb684 100644
--- a/src/net/tmwa/guildhandler.h
+++ b/src/net/tmwa/guildhandler.h
@@ -36,61 +36,61 @@ class GuildHandler final : public Ea::GuildHandler
 
         ~GuildHandler();
 
-        void create(const std::string &name) const override final;
+        void create(const std::string &name) const final;
 
-        void invite(const std::string &name) const override final;
+        void invite(const std::string &name) const final;
 
-        void invite(const Being *const being) const override final;
+        void invite(const Being *const being) const final;
 
         void inviteResponse(const int guildId,
-                            const bool response) const override final;
+                            const bool response) const final;
 
-        void leave(const int guildId) const override final;
+        void leave(const int guildId) const final;
 
         void kick(const GuildMember *restrict const member,
-                  const std::string &restrict reason) const override final;
+                  const std::string &restrict reason) const final;
 
-        void chat(const std::string &text) const override final;
+        void chat(const std::string &text) const final;
 
-        void memberList() const override final;
+        void memberList() const final;
 
-        void info() const override final;
+        void info() const final;
 
         void changeMemberPostion(const GuildMember *const member,
-                                 const int level) const override final;
+                                 const int level) const final;
 
         void changeNotice(const int guildId,
                           const std::string &restrict msg1,
                           const std::string &restrict msg2)
-                          const override final;
+                          const final;
 
-        void checkMaster() const override final;
+        void checkMaster() const final;
 
-        void requestAlliance(const Being *const being) const override final
+        void requestAlliance(const Being *const being) const final
                              A_CONST;
 
         void requestAllianceResponse(const int beingId,
-                                     const bool accept) const override final
+                                     const bool accept) const final
                                      A_CONST;
 
         void endAlliance(const int guildId,
-                         const int flag) const override final A_CONST;
+                         const int flag) const final A_CONST;
 
         void changePostionInfo(const int posId,
                                const int mode,
                                const int ranking,
                                const int payRate,
-                               const std::string &name) const override final
+                               const std::string &name) const final
                                A_CONST;
 
-        void requestOpposition(const Being *const being) const override final
+        void requestOpposition(const Being *const being) const final
                                A_CONST;
 
-        void breakGuild(const std::string &name) const override final A_CONST;
+        void breakGuild(const std::string &name) const final A_CONST;
 
-        void changeEmblem(std::string emblem) const override final A_CONST;
+        void changeEmblem(std::string emblem) const final A_CONST;
 
-        void requestEmblem(const int guildId) const override final A_CONST;
+        void requestEmblem(const int guildId) const final A_CONST;
 };
 
 }  // namespace TmwAthena
diff --git a/src/net/tmwa/homunculushandler.h b/src/net/tmwa/homunculushandler.h
index 04999440a..97b6e1190 100644
--- a/src/net/tmwa/homunculushandler.h
+++ b/src/net/tmwa/homunculushandler.h
@@ -35,25 +35,25 @@ class HomunculusHandler final : public Net::HomunculusHandler
 
         A_DELETE_COPY(HomunculusHandler)
 
-        void setName(const std::string &name) const override final A_CONST;
+        void setName(const std::string &name) const final A_CONST;
 
-        void moveToMaster() const override final A_CONST;
+        void moveToMaster() const final A_CONST;
 
-        void move(const int x, const int y) const override final A_CONST;
+        void move(const int x, const int y) const final A_CONST;
 
         void attack(const BeingId targetId,
-                    const Keep keep) const override final A_CONST;
+                    const Keep keep) const final A_CONST;
 
-        void feed() const override final A_CONST;
+        void feed() const final A_CONST;
 
-        void fire() const override final A_CONST;
+        void fire() const final A_CONST;
 
-        void talk(const std::string &restrict text) const override final
+        void talk(const std::string &restrict text) const final
                   A_CONST;
 
-        void emote(const uint8_t emoteId) const override final A_CONST;
+        void emote(const uint8_t emoteId) const final A_CONST;
 
-        void setDirection(const unsigned char type) const override final
+        void setDirection(const unsigned char type) const final
                           A_CONST;
 };
 
diff --git a/src/net/tmwa/inventoryhandler.h b/src/net/tmwa/inventoryhandler.h
index 1bbbf0f3b..5b4cdba52 100644
--- a/src/net/tmwa/inventoryhandler.h
+++ b/src/net/tmwa/inventoryhandler.h
@@ -37,49 +37,49 @@ class InventoryHandler final : public Ea::InventoryHandler
 
         ~InventoryHandler();
 
-        void equipItem(const Item *const item) const override final;
+        void equipItem(const Item *const item) const final;
 
-        void unequipItem(const Item *const item) const override final;
+        void unequipItem(const Item *const item) const final;
 
-        void useItem(const Item *const item) const override final;
+        void useItem(const Item *const item) const final;
 
         void dropItem(const Item *const item,
-                      const int amount) const override final;
+                      const int amount) const final;
 
-        void closeStorage() const override final;
+        void closeStorage() const final;
 
         void moveItem2(const InventoryTypeT source,
                        const int slot,
                        const int amount,
-                       const InventoryTypeT destination) const override final;
+                       const InventoryTypeT destination) const final;
 
-        void useCard(const Item *const item) override final A_CONST;
+        void useCard(const Item *const item) final A_CONST;
 
         void insertCard(const int cardIndex,
-                        const int itemIndex) const override final A_CONST;
+                        const int itemIndex) const final A_CONST;
 
         void favoriteItem(const Item *const item,
-                          const bool favorite) const override final A_CONST;
+                          const bool favorite) const final A_CONST;
 
-        void selectEgg(const Item *const item) const override final A_CONST;
+        void selectEgg(const Item *const item) const final A_CONST;
 
         int convertFromServerSlot(const int serverSlot)
-                                  const override final A_WARN_UNUSED;
+                                  const final A_WARN_UNUSED;
 
         void selectCart(const BeingId accountId,
-                        const int type) const override final;
+                        const int type) const final;
 
-        void identifyItem(const Item *const item) const override final;
+        void identifyItem(const Item *const item) const final;
 
         void mergeItemsAck(const std::vector<Item*> &items) const
-                           override final;
+                           final;
 
-        void mergetItemsCancel() const override final;
+        void mergetItemsCancel() const final;
 
-        int getProjectileSlot() const override final
+        int getProjectileSlot() const final
         { return 10; }
 
-        int getItemIndex() const override final A_WARN_UNUSED
+        int getItemIndex() const final A_WARN_UNUSED
         { return 0; }
 };
 
diff --git a/src/net/tmwa/loginhandler.h b/src/net/tmwa/loginhandler.h
index d94402741..3645a0ecf 100644
--- a/src/net/tmwa/loginhandler.h
+++ b/src/net/tmwa/loginhandler.h
@@ -37,26 +37,26 @@ class LoginHandler final : public Ea::LoginHandler
 
         ~LoginHandler();
 
-        void connect() const override final;
+        void connect() const final;
 
-        bool isConnected() const override final A_WARN_UNUSED;
+        bool isConnected() const final A_WARN_UNUSED;
 
-        void disconnect() const override final;
+        void disconnect() const final;
 
-        unsigned int getMaxPasswordLength() const override final A_WARN_UNUSED
+        unsigned int getMaxPasswordLength() const final A_WARN_UNUSED
         { return 24; }
 
         void changePassword(const std::string &restrict oldPassword,
                             const std::string &restrict newPassword)
-                            const override final;
+                            const final;
 
-        ServerInfo *getCharServer() const override final A_CONST A_WARN_UNUSED;
+        ServerInfo *getCharServer() const final A_CONST A_WARN_UNUSED;
 
-        void sendVersion() const override final A_CONST;
+        void sendVersion() const final A_CONST;
 
-        void ping() const override final A_CONST;
+        void ping() const final A_CONST;
 
-        void updatePacketVersion() const override final A_CONST;
+        void updatePacketVersion() const final A_CONST;
 
         static void requestUpdateHosts() A_CONST;
 
@@ -64,7 +64,7 @@ class LoginHandler final : public Ea::LoginHandler
         void sendLoginRegister(const std::string &restrict username,
                                const std::string &restrict password,
                                const std::string &restrict email)
-                               const override final;
+                               const final;
 };
 
 }  // namespace TmwAthena
diff --git a/src/net/tmwa/mailhandler.h b/src/net/tmwa/mailhandler.h
index 9b12f0731..76fecba67 100644
--- a/src/net/tmwa/mailhandler.h
+++ b/src/net/tmwa/mailhandler.h
@@ -35,26 +35,26 @@ class MailHandler final : public Net::MailHandler
 
         A_DELETE_COPY(MailHandler)
 
-        void refresh() const override final A_CONST;
+        void refresh() const final A_CONST;
 
-        void readMessage(const int msgId) const override final A_CONST;
+        void readMessage(const int msgId) const final A_CONST;
 
-        void getAttach(const int msgId) const override final A_CONST;
+        void getAttach(const int msgId) const final A_CONST;
 
-        void deleteMessage(const int msgId) const override final A_CONST;
+        void deleteMessage(const int msgId) const final A_CONST;
 
-        void returnMessage(const int msgId) const override final A_CONST;
+        void returnMessage(const int msgId) const final A_CONST;
 
         void setAttach(const int index,
-                       const int amount) const override final A_CONST;
+                       const int amount) const final A_CONST;
 
-        void setAttachMoney(const int money) const override final A_CONST;
+        void setAttachMoney(const int money) const final A_CONST;
 
-        void resetAttach(const int flag) const override final A_CONST;
+        void resetAttach(const int flag) const final A_CONST;
 
         void send(const std::string &name,
                   const std::string &title,
-                  std::string message) const override final A_CONST;
+                  std::string message) const final A_CONST;
 };
 
 }  // namespace TmwAthena
diff --git a/src/net/tmwa/markethandler.h b/src/net/tmwa/markethandler.h
index a9dac7519..a719b8f58 100644
--- a/src/net/tmwa/markethandler.h
+++ b/src/net/tmwa/markethandler.h
@@ -34,14 +34,14 @@ class MarketHandler final : public Net::MarketHandler
 
         A_DELETE_COPY(MarketHandler)
 
-        void close() const override final A_CONST;
+        void close() const final A_CONST;
 
         void buyItem(const int itemId,
                      const ItemTypeT type,
                      const ItemColor color,
-                     const int amount) const override final A_CONST;
+                     const int amount) const final A_CONST;
 
-        void buyItems(const std::vector<ShopItem*> &items) const override final
+        void buyItems(const std::vector<ShopItem*> &items) const final
                       A_CONST;
 };
 
diff --git a/src/net/tmwa/mercenaryhandler.h b/src/net/tmwa/mercenaryhandler.h
index 760bdf8ac..e17c31396 100644
--- a/src/net/tmwa/mercenaryhandler.h
+++ b/src/net/tmwa/mercenaryhandler.h
@@ -35,21 +35,21 @@ class MercenaryHandler final : public Net::MercenaryHandler
 
         A_DELETE_COPY(MercenaryHandler)
 
-        void fire() const override final A_CONST;
+        void fire() const final A_CONST;
 
-        void moveToMaster() const override final A_CONST;
+        void moveToMaster() const final A_CONST;
 
-        void move(const int x, const int y) const override final A_CONST;
+        void move(const int x, const int y) const final A_CONST;
 
         void attack(const BeingId targetId,
-                    const Keep keep) const override final A_CONST;
+                    const Keep keep) const final A_CONST;
 
-        void talk(const std::string &restrict text) const override final
+        void talk(const std::string &restrict text) const final
                   A_CONST;
 
-        void emote(const uint8_t emoteId) const override final A_CONST;
+        void emote(const uint8_t emoteId) const final A_CONST;
 
-        void setDirection(const unsigned char type) const override final
+        void setDirection(const unsigned char type) const final
                           A_CONST;
 };
 
diff --git a/src/net/tmwa/messagein.h b/src/net/tmwa/messagein.h
index 14c6b8156..f54e676b0 100644
--- a/src/net/tmwa/messagein.h
+++ b/src/net/tmwa/messagein.h
@@ -49,13 +49,13 @@ class MessageIn final : public Net::MessageIn
         void postInit(const char *const str);
 
         /**< Reads a short. */
-        int16_t readInt16(const char *const str) override final;
+        int16_t readInt16(const char *const str) final;
         /**< Reads a long. */
-        int32_t readInt32(const char *const str) override final;
+        int32_t readInt32(const char *const str) final;
 
-        int64_t readInt64(const char *const str) override final;
+        int64_t readInt64(const char *const str) final;
 
-        BeingId readBeingId(const char *const str) override final;
+        BeingId readBeingId(const char *const str) final;
 
         uint16_t readId() const;
 };
diff --git a/src/net/tmwa/messageout.h b/src/net/tmwa/messageout.h
index b0dd2b1b0..26e406d3d 100644
--- a/src/net/tmwa/messageout.h
+++ b/src/net/tmwa/messageout.h
@@ -49,14 +49,14 @@ class MessageOut final : public Net::MessageOut
 
         /**< Writes a short. */
         void writeInt16(const int16_t value,
-                        const char *const str) override final;
+                        const char *const str) final;
 
         /**< Writes a long. */
         void writeInt32(const int32_t value,
-                        const char *const str) override final;
+                        const char *const str) final;
 
         void writeBeingId(const BeingId value,
-                          const char *const str) override final;
+                          const char *const str) final;
 
         /**
          * Encodes coordinates and direction in 3 bytes.
@@ -70,7 +70,7 @@ class MessageOut final : public Net::MessageOut
         { mPos = 0; }
 
     private:
-        void expand(const size_t size) const override final;
+        void expand(const size_t size) const final;
 
         Network *mNetwork;
 };
diff --git a/src/net/tmwa/npchandler.h b/src/net/tmwa/npchandler.h
index b6483772d..218d49777 100644
--- a/src/net/tmwa/npchandler.h
+++ b/src/net/tmwa/npchandler.h
@@ -35,64 +35,64 @@ class NpcHandler final : public Ea::NpcHandler
 
         A_DELETE_COPY(NpcHandler)
 
-        void talk(const BeingId npcId) const override final;
+        void talk(const BeingId npcId) const final;
 
-        void nextDialog(const BeingId npcId) const override final;
+        void nextDialog(const BeingId npcId) const final;
 
-        void closeDialog(const BeingId npcId) override final;
+        void closeDialog(const BeingId npcId) final;
 
         void listInput(const BeingId npcId,
-                       const unsigned char value) const override final;
+                       const unsigned char value) const final;
 
         void integerInput(const BeingId npcId,
-                          const int value) const override final;
+                          const int value) const final;
 
         void stringInput(const BeingId npcId,
-                         const std::string &value) const override final;
+                         const std::string &value) const final;
 
-        void buy(const BeingId beingId) const override final;
+        void buy(const BeingId beingId) const final;
 
-        void sell(const BeingId beingId) const override final;
+        void sell(const BeingId beingId) const final;
 
         void buyItem(const BeingId beingId,
                      const int itemId,
                      const ItemColor color,
-                     const int amount) const override final;
+                     const int amount) const final;
 
-        void buyItems(std::vector<ShopItem*> &items) const override final
+        void buyItems(std::vector<ShopItem*> &items) const final
                       A_CONST;
 
         void sellItem(const BeingId beingId,
                       const int itemId,
-                      const int amount) const override final;
+                      const int amount) const final;
 
-        void sellItems(std::vector<ShopItem*> &items) const override final
+        void sellItems(std::vector<ShopItem*> &items) const final
                        A_CONST;
 
-        void completeProgressBar() const override final A_CONST;
+        void completeProgressBar() const final A_CONST;
 
         BeingId getNpc(Net::MessageIn &msg,
-                       const NpcActionT action) override final;
+                       const NpcActionT action) final;
 
         void produceMix(const int nameId,
                         const int materialId1,
                         const int materialId2,
-                        const int materialId3) const override final A_CONST;
+                        const int materialId3) const final A_CONST;
 
 #ifdef EATHENA_SUPPORT
         void cooking(const CookingTypeT type,
-                     const int nameId) const override final A_CONST;
+                     const int nameId) const final A_CONST;
 #endif
 
-        void repair(const int index) const override final A_CONST;
+        void repair(const int index) const final A_CONST;
 
-        void refine(const int index) const override final A_CONST;
+        void refine(const int index) const final A_CONST;
 
-        void identify(const int index) const override final A_CONST;
+        void identify(const int index) const final A_CONST;
 
-        void selectArrow(const int nameId) const override final A_CONST;
+        void selectArrow(const int nameId) const final A_CONST;
 
-        void selectAutoSpell(const int skillId) const override final A_CONST;
+        void selectAutoSpell(const int skillId) const final A_CONST;
 };
 
 }  // namespace TmwAthena
diff --git a/src/net/tmwa/partyhandler.h b/src/net/tmwa/partyhandler.h
index d57944736..0b9602ffb 100644
--- a/src/net/tmwa/partyhandler.h
+++ b/src/net/tmwa/partyhandler.h
@@ -36,29 +36,29 @@ class PartyHandler final : public Ea::PartyHandler
 
         ~PartyHandler();
 
-        void create(const std::string &name) const override final;
+        void create(const std::string &name) const final;
 
-        void invite(const std::string &name) const override final;
+        void invite(const std::string &name) const final;
 
         void inviteResponse(const int partyId,
-                            const bool accept) const override final;
+                            const bool accept) const final;
 
-        void leave() const override final;
+        void leave() const final;
 
-        void kick(const Being *const being) const override final;
+        void kick(const Being *const being) const final;
 
-        void kick(const std::string &name) const override final;
+        void kick(const std::string &name) const final;
 
-        void chat(const std::string &text) const override final;
+        void chat(const std::string &text) const final;
 
-        void setShareExperience(const PartyShareT share) const override final;
+        void setShareExperience(const PartyShareT share) const final;
 
-        void setShareItems(const PartyShareT share) const override final;
+        void setShareItems(const PartyShareT share) const final;
 
-        void changeLeader(const std::string &name) const override final
+        void changeLeader(const std::string &name) const final
                           A_CONST;
 
-        void allowInvite(const bool allow) const override final A_CONST;
+        void allowInvite(const bool allow) const final A_CONST;
 };
 
 }  // namespace TmwAthena
diff --git a/src/net/tmwa/pethandler.h b/src/net/tmwa/pethandler.h
index 6362151cd..b38ecb6d4 100644
--- a/src/net/tmwa/pethandler.h
+++ b/src/net/tmwa/pethandler.h
@@ -34,34 +34,34 @@ class PetHandler final : public Net::PetHandler
         A_DELETE_COPY(PetHandler)
 
         void move(const int petId,
-                  const int x, const int y) const override final;
+                  const int x, const int y) const final;
 
         void spawn(const Being *const being,
                    const int petId,
-                   const int x, const int y) const override final A_CONST;
+                   const int x, const int y) const final A_CONST;
 
         void emote(const uint8_t emoteId,
-                   const int petId) override final;
+                   const int petId) final;
 
-        void catchPet(const Being *const being) const override final A_CONST;
+        void catchPet(const Being *const being) const final A_CONST;
 
-        void sendPetMessage(const int data) const override final A_CONST;
+        void sendPetMessage(const int data) const final A_CONST;
 
-        void setName(const std::string &name) const override final A_CONST;
+        void setName(const std::string &name) const final A_CONST;
 
-        void requestStatus() const override final A_CONST;
+        void requestStatus() const final A_CONST;
 
-        void feed() const override final A_CONST;
+        void feed() const final A_CONST;
 
-        void dropLoot() const override final A_CONST;
+        void dropLoot() const final A_CONST;
 
-        void returnToEgg() const override final A_CONST;
+        void returnToEgg() const final A_CONST;
 
-        void unequip() const override final A_CONST;
+        void unequip() const final A_CONST;
 
-        void setDirection(const unsigned char type) const override final;
+        void setDirection(const unsigned char type) const final;
 
-        void startAi(const bool start) const override final;
+        void startAi(const bool start) const final;
 
     protected:
         int mRandCounter;
diff --git a/src/net/tmwa/playerhandler.h b/src/net/tmwa/playerhandler.h
index c97aee27c..320ca6b07 100644
--- a/src/net/tmwa/playerhandler.h
+++ b/src/net/tmwa/playerhandler.h
@@ -36,53 +36,53 @@ class PlayerHandler final : public Ea::PlayerHandler
         A_DELETE_COPY(PlayerHandler)
 
         void attack(const BeingId id,
-                    const Keep keep) const override final;
-        void stopAttack() const override final;
-        void emote(const uint8_t emoteId) const override final;
+                    const Keep keep) const final;
+        void stopAttack() const final;
+        void emote(const uint8_t emoteId) const final;
 
         void increaseAttribute(const AttributesT attr,
-                               const int amount) const override final;
-        void increaseSkill(const uint16_t skillId) const override final;
+                               const int amount) const final;
+        void increaseSkill(const uint16_t skillId) const final;
 
-        void pickUp(const FloorItem *const floorItem) const override final;
-        void setDirection(const unsigned char direction) const override final;
+        void pickUp(const FloorItem *const floorItem) const final;
+        void setDirection(const unsigned char direction) const final;
         void setDestination(const int x, const int y,
-                            const int direction) const override final;
+                            const int direction) const final;
         void changeAction(const BeingActionT &action)
-                          const override final;
-        void requestOnlineList() const override final A_CONST;
-        void updateStatus(const uint8_t status) const override final A_CONST;
+                          const final;
+        void requestOnlineList() const final A_CONST;
+        void updateStatus(const uint8_t status) const final A_CONST;
 
-        void respawn() const override final;
+        void respawn() const final;
 
         void setShortcut(const int idx,
                          const uint8_t type,
                          const int id,
-                         const int level) const override final A_CONST;
+                         const int level) const final A_CONST;
 
-        void shortcutShiftRow(const int row) const override final;
+        void shortcutShiftRow(const int row) const final;
 
-        void removeOption() const override final A_CONST;
+        void removeOption() const final A_CONST;
 
-        void changeCart(const int type) const override final A_CONST;
+        void changeCart(const int type) const final A_CONST;
 
-        void setMemo() const override final A_CONST;
+        void setMemo() const final A_CONST;
 
-        void doriDori() const override final A_CONST;
+        void doriDori() const final A_CONST;
 
-        void explosionSpirits() const override final A_CONST;
+        void explosionSpirits() const final A_CONST;
 
-        void requestPvpInfo() const override final A_CONST;
+        void requestPvpInfo() const final A_CONST;
 
-        void revive() const override final A_CONST;
+        void revive() const final A_CONST;
 
-        void setViewEquipment(const bool allow) const override final A_CONST;
+        void setViewEquipment(const bool allow) const final A_CONST;
 
         void setStat(Net::MessageIn &msg,
                      const int type,
                      const int base,
                      const int mod,
-                     const Notify notify) const override final;
+                     const Notify notify) const final;
 };
 
 }  // namespace TmwAthena
diff --git a/src/net/tmwa/questhandler.h b/src/net/tmwa/questhandler.h
index 9a67da40e..77ee19ecd 100644
--- a/src/net/tmwa/questhandler.h
+++ b/src/net/tmwa/questhandler.h
@@ -34,7 +34,7 @@ class QuestHandler final : public Net::QuestHandler
         A_DELETE_COPY(QuestHandler)
 
         void setQeustActiveState(const int questId,
-                                 const bool active) const override final
+                                 const bool active) const final
                                  A_CONST;
 };
 
diff --git a/src/net/tmwa/searchstorehandler.h b/src/net/tmwa/searchstorehandler.h
index a116d266d..3862f1f67 100644
--- a/src/net/tmwa/searchstorehandler.h
+++ b/src/net/tmwa/searchstorehandler.h
@@ -37,15 +37,15 @@ class SearchStoreHandler final : public Net::SearchStoreHandler
         void search(const StoreSearchTypeT type,
                     const int minPrice,
                     const int maxPrice,
-                    const int itemId) const override final A_CONST;
+                    const int itemId) const final A_CONST;
 
-        void nextPage() const override final A_CONST;
+        void nextPage() const final A_CONST;
 
-        void close() const override final A_CONST;
+        void close() const final A_CONST;
 
         void select(const int accountId,
                     const int storeId,
-                    const int itemId) const override final A_CONST;
+                    const int itemId) const final A_CONST;
 };
 
 }  // namespace TmwAthena
diff --git a/src/net/tmwa/serverfeatures.h b/src/net/tmwa/serverfeatures.h
index 747b1ab93..6cbea2f79 100644
--- a/src/net/tmwa/serverfeatures.h
+++ b/src/net/tmwa/serverfeatures.h
@@ -34,109 +34,109 @@ class ServerFeatures final : public Net::ServerFeatures
 
         A_DELETE_COPY(ServerFeatures)
 
-        bool haveServerOnlineList() const override final A_CONST;
+        bool haveServerOnlineList() const final A_CONST;
 
-        bool haveOnlineList() const override final A_CONST;
+        bool haveOnlineList() const final A_CONST;
 
-        bool havePartyNickInvite() const override final A_CONST;
+        bool havePartyNickInvite() const final A_CONST;
 
-        bool haveChangePartyLeader() const override final A_CONST;
+        bool haveChangePartyLeader() const final A_CONST;
 
-        bool haveServerHp() const override final;
+        bool haveServerHp() const final;
 
-        bool havePlayerStatusUpdate() const override final A_CONST;
+        bool havePlayerStatusUpdate() const final A_CONST;
 
-        bool haveBrokenPlayerAttackDistance() const override final A_CONST;
+        bool haveBrokenPlayerAttackDistance() const final A_CONST;
 
-        bool haveNativeGuilds() const override final;
+        bool haveNativeGuilds() const final;
 
-        bool haveIncompleteChatMessages() const override final;
+        bool haveIncompleteChatMessages() const final;
 
-        bool haveRaceSelection() const override final A_CONST;
+        bool haveRaceSelection() const final A_CONST;
 
-        bool haveLookSelection() const override final A_CONST;
+        bool haveLookSelection() const final A_CONST;
 
-        bool haveChatChannels() const override final A_CONST;
+        bool haveChatChannels() const final A_CONST;
 
-        bool haveServerIgnore() const override final;
+        bool haveServerIgnore() const final;
 
-        bool haveMove3() const override final;
+        bool haveMove3() const final;
 
-        bool haveItemColors() const override final A_CONST;
+        bool haveItemColors() const final A_CONST;
 
-        bool haveAccountOtherGender() const override final A_CONST;
+        bool haveAccountOtherGender() const final A_CONST;
 
-        bool haveCharOtherGender() const override final;
+        bool haveCharOtherGender() const final;
 
-        bool haveMonsterAttackRange() const override final;
+        bool haveMonsterAttackRange() const final;
 
-        bool haveMonsterName() const override final A_CONST;
+        bool haveMonsterName() const final A_CONST;
 
-        bool haveEmailOnRegister() const override final A_CONST;
+        bool haveEmailOnRegister() const final A_CONST;
 
-        bool haveEmailOnDelete() const override final A_CONST;
+        bool haveEmailOnDelete() const final A_CONST;
 
-        bool haveEightDirections() const override final A_CONST;
+        bool haveEightDirections() const final A_CONST;
 
-        bool haveCharRename() const override final A_CONST;
+        bool haveCharRename() const final A_CONST;
 
-        bool haveBankApi() const override final A_CONST;
+        bool haveBankApi() const final A_CONST;
 
-        bool haveServerVersion() const override final A_CONST;
+        bool haveServerVersion() const final A_CONST;
 
-        bool haveMapServerVersion() const override final A_CONST;
+        bool haveMapServerVersion() const final A_CONST;
 
-        bool haveNpcGender() const override final;
+        bool haveNpcGender() const final;
 
-        bool haveJoinChannel() const override final A_CONST;
+        bool haveJoinChannel() const final A_CONST;
 
-        bool haveNpcWhispers() const override final A_CONST;
+        bool haveNpcWhispers() const final A_CONST;
 
-        bool haveCreateCharGender() const override final;
+        bool haveCreateCharGender() const final;
 
-        bool haveAttackDirections() const override final A_CONST;
+        bool haveAttackDirections() const final A_CONST;
 
-        bool haveVending() const override final A_CONST;
+        bool haveVending() const final A_CONST;
 
-        bool haveCart() const override final A_CONST;
+        bool haveCart() const final A_CONST;
 
-        bool haveTalkPet() const override final A_CONST;
+        bool haveTalkPet() const final A_CONST;
 
-        bool haveMovePet() const override final A_CONST;
+        bool haveMovePet() const final A_CONST;
 
-        bool haveServerWarpNames() const override final A_CONST;
+        bool haveServerWarpNames() const final A_CONST;
 
-        bool haveExpPacket() const override final A_CONST;
+        bool haveExpPacket() const final A_CONST;
 
-        bool haveMute() const override final A_CONST;
+        bool haveMute() const final A_CONST;
 
-        bool haveChangePassword() const override final A_CONST;
+        bool haveChangePassword() const final A_CONST;
 
-        bool haveTeamId() const override final;
+        bool haveTeamId() const final;
 
-        bool haveNewGuild() const override final;
+        bool haveNewGuild() const final;
 
-        bool haveAdvancedSprites() const override final A_CONST;
+        bool haveAdvancedSprites() const final A_CONST;
 
-        bool haveExtendedRiding() const override final A_CONST;
+        bool haveExtendedRiding() const final A_CONST;
 
-        bool haveAdvancedBuySell() const override final A_CONST;
+        bool haveAdvancedBuySell() const final A_CONST;
 
-        bool haveSlide() const override final A_CONST;
+        bool haveSlide() const final A_CONST;
 
-        bool haveExtendedDropsPosition() const override final A_CONST;
+        bool haveExtendedDropsPosition() const final A_CONST;
 
-        bool haveSecureTrades() const override final A_CONST;
+        bool haveSecureTrades() const final A_CONST;
 
-        bool haveMultyStatusUp() const override final A_CONST;
+        bool haveMultyStatusUp() const final A_CONST;
 
-        bool haveMail() const override final A_CONST;
+        bool haveMail() const final A_CONST;
 
-        bool haveServerPets() const override final A_CONST;
+        bool haveServerPets() const final A_CONST;
 
-        bool haveFamily() const override final A_CONST;
+        bool haveFamily() const final A_CONST;
 
-        bool haveMoveWhileSit() const override final A_CONST;
+        bool haveMoveWhileSit() const final A_CONST;
 };
 
 }  // namespace TmwAthena
diff --git a/src/net/tmwa/skillhandler.h b/src/net/tmwa/skillhandler.h
index ade623df2..2a53247c6 100644
--- a/src/net/tmwa/skillhandler.h
+++ b/src/net/tmwa/skillhandler.h
@@ -37,24 +37,24 @@ class SkillHandler final : public Ea::SkillHandler
 
         void useBeing(const int id,
                       const int level,
-                      const BeingId beingId) const override final;
+                      const BeingId beingId) const final;
 
         void usePos(const int id,
                     const int level,
-                    const int x, const int y) const override final;
+                    const int x, const int y) const final;
 
         void usePos(const int id,
                     const int level,
                     const int x, const int y,
-                    const std::string &text) const override final;
+                    const std::string &text) const final;
 
-        void useMap(const int id, const std::string &map) const override final;
+        void useMap(const int id, const std::string &map) const final;
 
-        void getAlchemistRanks() const override final;
+        void getAlchemistRanks() const final;
 
-        void getBlacksmithRanks() const override final;
+        void getBlacksmithRanks() const final;
 
-        void getPkRanks() const override final;
+        void getPkRanks() const final;
 };
 
 }  // namespace TmwAthena
diff --git a/src/net/tmwa/tradehandler.h b/src/net/tmwa/tradehandler.h
index 9f8b08e70..5909a9a32 100644
--- a/src/net/tmwa/tradehandler.h
+++ b/src/net/tmwa/tradehandler.h
@@ -35,20 +35,20 @@ class TradeHandler final : public Ea::TradeHandler
 
         A_DELETE_COPY(TradeHandler)
 
-        void request(const Being *const being) const override final;
+        void request(const Being *const being) const final;
 
-        void respond(const bool accept) const override final;
+        void respond(const bool accept) const final;
 
         void addItem(const Item *const item,
-                     const int amount) const override final;
+                     const int amount) const final;
 
-        void setMoney(const int amount) const override final;
+        void setMoney(const int amount) const final;
 
-        void confirm() const override final;
+        void confirm() const final;
 
-        void finish() const override final;
+        void finish() const final;
 
-        void cancel() const override final;
+        void cancel() const final;
 };
 
 }  // namespace TmwAthena
diff --git a/src/net/tmwa/vendinghandler.h b/src/net/tmwa/vendinghandler.h
index b06b15263..a2697347d 100644
--- a/src/net/tmwa/vendinghandler.h
+++ b/src/net/tmwa/vendinghandler.h
@@ -35,23 +35,23 @@ class VendingHandler final : public Net::VendingHandler
 
         A_DELETE_COPY(VendingHandler)
 
-        void close() const override final A_CONST;
+        void close() const final A_CONST;
 
-        void open(const Being *const being) const override final A_CONST;
+        void open(const Being *const being) const final A_CONST;
 
         void buy(const Being *const being,
                  const int index,
-                 const int amount) const override final A_CONST;
+                 const int amount) const final A_CONST;
 
         void buy2(const Being *const being,
                   const int vendId,
                   const int index,
-                  const int amount) const override final A_CONST;
+                  const int amount) const final A_CONST;
 
         void createShop(const std::string &name,
                         const bool flag,
                         const std::vector<ShopItem*> &items) const
-                        override final A_CONST;
+                        final A_CONST;
 };
 
 }  // namespace TmwAthena
diff --git a/src/particle/imageparticle.h b/src/particle/imageparticle.h
index 98a0f3d25..fab5dd4b5 100644
--- a/src/particle/imageparticle.h
+++ b/src/particle/imageparticle.h
@@ -51,9 +51,9 @@ class ImageParticle notfinal : public Particle
         virtual void draw(Graphics *restrict const graphics,
                           const int offsetX,
                           const int offsetY) const
-                          restrict2 override final A_NONNULL(2);
+                          restrict2 final A_NONNULL(2);
 
-        void setAlpha(const float alpha) restrict2 override final
+        void setAlpha(const float alpha) restrict2 final
         { mAlpha = alpha; }
 
         static StringIntMap imageParticleCountByName;
diff --git a/src/particle/particle.h b/src/particle/particle.h
index d73de5dcc..510fe5b6a 100644
--- a/src/particle/particle.h
+++ b/src/particle/particle.h
@@ -224,10 +224,10 @@ class Particle notfinal : public Actor
         { mAutoDelete = false; }
 
         /** We consider particles (at least for now) to be one layer-sprites */
-        int getNumberOfLayers() const restrict2 override final
+        int getNumberOfLayers() const restrict2 final
         { return 1; }
 
-        float getAlpha() const restrict2 override final
+        float getAlpha() const restrict2 final
         { return 1.0F; }
 
         void setAlpha(const float alpha A_UNUSED) restrict2 override
diff --git a/src/particle/particlelist.h b/src/particle/particlelist.h
index 3da542b37..7c03a77d1 100644
--- a/src/particle/particlelist.h
+++ b/src/particle/particlelist.h
@@ -54,9 +54,9 @@ class ParticleList final : public ParticleContainer
          */
         void removeLocally(const Particle *const particle);
 
-        void clearLocally() override final;
+        void clearLocally() final;
 
-        void moveTo(const float x, const float y) override final;
+        void moveTo(const float x, const float y) final;
 
     protected:
         std::list<Particle *> mElements;    /**< Contained particle effects */
diff --git a/src/particle/particlevector.h b/src/particle/particlevector.h
index 8804991be..b04980773 100644
--- a/src/particle/particlevector.h
+++ b/src/particle/particlevector.h
@@ -55,9 +55,9 @@ class ParticleVector final : public ParticleContainer
          */
         void delLocally(const int index);
 
-        void clearLocally() override final;
+        void clearLocally() final;
 
-        void moveTo(const float x, const float y) override final;
+        void moveTo(const float x, const float y) final;
 
     protected:
         std::vector<Particle *> mIndexedElements;
diff --git a/src/particle/textparticle.h b/src/particle/textparticle.h
index e13b2e13c..e95b57583 100644
--- a/src/particle/textparticle.h
+++ b/src/particle/textparticle.h
@@ -44,14 +44,14 @@ class TextParticle final : public Particle
         void draw(Graphics *restrict const graphics,
                   const int offsetX,
                   const int offsetY) const
-                  restrict2 override final A_NONNULL(2);
+                  restrict2 final A_NONNULL(2);
 
         // hack to improve text visibility
-        int getPixelY() const restrict2 override final A_WARN_UNUSED
+        int getPixelY() const restrict2 final A_WARN_UNUSED
         { return CAST_S32(mPos.y + mPos.z); }
 
         // hack to improve text visibility (for sorting only)
-        int getSortPixelY() const restrict2 override final A_WARN_UNUSED
+        int getSortPixelY() const restrict2 final A_WARN_UNUSED
         { return CAST_S32(mPos.y + mPos.z); }
 
     private:
diff --git a/src/party.h b/src/party.h
index 51cfc2f3b..d69ebdd4f 100644
--- a/src/party.h
+++ b/src/party.h
@@ -126,10 +126,10 @@ class Party final : public AvatarListModel
          * Get size of members list.
          * @return Returns the number of members in the party.
          */
-        int getNumberOfElements() override final A_WARN_UNUSED
+        int getNumberOfElements() final A_WARN_UNUSED
         { return CAST_S32(mMembers.size()); }
 
-        Avatar *getAvatarAt(const int i) override final;
+        Avatar *getAvatarAt(const int i) final;
 
         /**
          * Get whether user can invite users to this party.
diff --git a/src/render/graphicsdef.hpp b/src/render/graphicsdef.hpp
index 7e2b349e2..455e6ec5d 100644
--- a/src/render/graphicsdef.hpp
+++ b/src/render/graphicsdef.hpp
@@ -28,15 +28,15 @@ public:
     void drawImageRect(int x, int y,
                        int w, int h,
                        const ImageRect &restrict imgRect)
-                       restrict2 override final;
+                       restrict2 final;
 
-    void beginDraw() restrict2 override final;
+    void beginDraw() restrict2 final;
 
-    void endDraw() restrict2 override final;
+    void endDraw() restrict2 final;
 
-    void pushClipArea(const Rect &restrict area) restrict2 override final;
+    void pushClipArea(const Rect &restrict area) restrict2 final;
 
-    void popClipArea() restrict2 override final;
+    void popClipArea() restrict2 final;
 
     /**
     * Draws a resclaled version of the image
@@ -44,11 +44,11 @@ public:
     void drawRescaledImage(const Image *restrict const image,
                            int dstX, int dstY,
                            const int desiredWidth,
-                           const int desiredHeight) restrict2 override final;
+                           const int desiredHeight) restrict2 final;
 
     void drawPattern(const Image *restrict const image,
                      const int x, const int y,
-                     const int w, const int h) restrict2 override final;
+                     const int w, const int h) restrict2 final;
 
     void inline drawPatternInline(const Image *restrict const image,
                                   const int x, const int y,
@@ -58,50 +58,50 @@ public:
                              const int x, const int y,
                              const int w, const int h,
                              const int scaledWidth,
-                             const int scaledHeight) restrict2 override final;
+                             const int scaledHeight) restrict2 final;
 
     void calcPattern(ImageVertexes *restrict const vert,
                      const Image *restrict const image,
                      const int x, const int y,
-                     const int w, const int h) const restrict2 override final;
+                     const int w, const int h) const restrict2 final;
 
     void calcPattern(ImageCollection *restrict const vert,
                      const Image *restrict const image,
                      const int x, const int y,
-                     const int w, const int h) const restrict2 override final;
+                     const int w, const int h) const restrict2 final;
 
     void calcTileVertexes(ImageVertexes *restrict const vert,
                           const Image *restrict const image,
-                          int x, int y) const restrict2 override final
+                          int x, int y) const restrict2 final
                           A_NONNULL(2, 3);
 
     void calcTileCollection(ImageCollection *restrict const vertCol,
                             const Image *restrict const image,
-                            int x, int y) restrict2 override final;
+                            int x, int y) restrict2 final;
 
     void drawTileVertexes(const ImageVertexes *restrict const vert)
-                          restrict2 override final;
+                          restrict2 final;
 
     void drawTileCollection(const ImageCollection
-                            *restrict const vertCol) restrict2 override final
+                            *restrict const vertCol) restrict2 final
                             A_NONNULL(2);
 
-    void updateScreen() restrict2 override final;
+    void updateScreen() restrict2 final;
 
     void calcWindow(ImageCollection *restrict const vertCol,
                     const int x, const int y,
                     const int w, const int h,
                     const ImageRect &restrict imgRect)
-                    restrict2 override final A_NONNULL(2);
+                    restrict2 final A_NONNULL(2);
 
-    void drawRectangle(const Rect &restrict rect) restrict2 override final;
+    void drawRectangle(const Rect &restrict rect) restrict2 final;
 
-    void fillRectangle(const Rect &restrict rect) restrict2 override final;
+    void fillRectangle(const Rect &restrict rect) restrict2 final;
 
-    void drawPoint(int x, int y) restrict2 override final;
+    void drawPoint(int x, int y) restrict2 final;
 
     void drawLine(int x1, int y1,
-                  int x2, int y2) restrict2 override final;
+                  int x2, int y2) restrict2 final;
 
     bool setVideoMode(const int w, const int h,
                       const int scalle,
@@ -109,22 +109,22 @@ public:
                       const bool fs,
                       const bool hwaccel,
                       const bool resize,
-                      const bool noFrame) restrict2 override final;
+                      const bool noFrame) restrict2 final;
 
     void drawImage(const Image *restrict const image,
-                   int dstX, int dstY) restrict2 override final;
+                   int dstX, int dstY) restrict2 final;
 
     void copyImage(const Image *restrict const image,
-                   int dstX, int dstY) restrict2 override final;
+                   int dstX, int dstY) restrict2 final;
 
     void drawImageCached(const Image *restrict const image,
-                         int x, int y) restrict2 override final;
+                         int x, int y) restrict2 final;
 
     void drawPatternCached(const Image *restrict const image,
                            const int x, const int y,
-                           const int w, const int h) restrict2 override final;
+                           const int w, const int h) restrict2 final;
 
-    void completeCache() restrict2 override final;
+    void completeCache() restrict2 final;
 
 private:
     void inline calcImageRect(ImageVertexes *restrict const vert,
diff --git a/src/render/imagegraphics.h b/src/render/imagegraphics.h
index 8d4a72368..bc0eafa04 100644
--- a/src/render/imagegraphics.h
+++ b/src/render/imagegraphics.h
@@ -51,31 +51,31 @@ class ImegeGraphics final : public Graphics
         Image *getTarget() const restrict2 noexcept
         { return mTarget; }
 
-        void beginDraw() restrict2 override final
+        void beginDraw() restrict2 final
         { }
 
-        void endDraw() restrict2 override final
+        void endDraw() restrict2 final
         { }
 
         void pushClipArea(const Rect &restrict rect A_UNUSED)
-                          restrict2 override final
+                          restrict2 final
         { }
 
-        void popClipArea() restrict2 override final
+        void popClipArea() restrict2 final
         { }
 
         void drawRescaledImage(const Image *restrict const image A_UNUSED,
                                int dstX A_UNUSED, int dstY A_UNUSED,
                                const int desiredWidth A_UNUSED,
                                const int desiredHeight A_UNUSED)
-                               restrict2 override final
+                               restrict2 final
         { }
 
         void drawPattern(const Image *restrict const image A_UNUSED,
                          const int x A_UNUSED,
                          const int y A_UNUSED,
                          const int w A_UNUSED,
-                         const int h A_UNUSED) restrict2 override final
+                         const int h A_UNUSED) restrict2 final
         { }
 
         void drawRescaledPattern(const Image *const image A_UNUSED,
@@ -85,7 +85,7 @@ class ImegeGraphics final : public Graphics
                                  const int h A_UNUSED,
                                  const int scaledWidth A_UNUSED,
                                  const int scaledHeight A_UNUSED)
-                                 override final
+                                 final
         { }
 
         void calcPattern(ImageVertexes *restrict const vert A_UNUSED,
@@ -93,7 +93,7 @@ class ImegeGraphics final : public Graphics
                          const int x A_UNUSED,
                          const int y A_UNUSED,
                          const int w A_UNUSED,
-                         const int h A_UNUSED) const restrict2 override final
+                         const int h A_UNUSED) const restrict2 final
         { }
 
         void calcPattern(ImageCollection *restrict const vert A_UNUSED,
@@ -101,37 +101,37 @@ class ImegeGraphics final : public Graphics
                          const int x A_UNUSED,
                          const int y A_UNUSED,
                          const int w A_UNUSED,
-                         const int h A_UNUSED) const restrict2 override final
+                         const int h A_UNUSED) const restrict2 final
         { }
 
         void calcTileVertexes(ImageVertexes *restrict const vert A_UNUSED,
                               const Image *restrict const image A_UNUSED,
                               int x A_UNUSED,
-                              int y A_UNUSED) const restrict2 override final
+                              int y A_UNUSED) const restrict2 final
                               A_NONNULL(2, 3)
         { }
 
         void calcTileSDL(ImageVertexes *restrict const vert A_UNUSED,
                          int x A_UNUSED,
-                         int y A_UNUSED) const restrict2 override final
+                         int y A_UNUSED) const restrict2 final
         { }
 
         void calcTileCollection(ImageCollection *restrict const
                                 vertCol A_UNUSED,
                                 const Image *restrict const image A_UNUSED,
                                 int x A_UNUSED,
-                                int y A_UNUSED) restrict2 override final
+                                int y A_UNUSED) restrict2 final
         { }
 
         void drawTileVertexes(const ImageVertexes *const
-                              vert A_UNUSED) override final
+                              vert A_UNUSED) final
         { }
 
         void drawTileCollection(const ImageCollection *const vertCol A_UNUSED)
-                                override final A_NONNULL(2)
+                                final A_NONNULL(2)
         { }
 
-        void updateScreen() override final
+        void updateScreen() final
         { }
 
         void drawNet(const int x1 A_UNUSED,
@@ -139,28 +139,28 @@ class ImegeGraphics final : public Graphics
                      const int x2 A_UNUSED,
                      const int y2 A_UNUSED,
                      const int width A_UNUSED,
-                     const int height A_UNUSED) override final
+                     const int height A_UNUSED) final
         { }
 
         void calcWindow(ImageCollection *restrict const vertCol A_UNUSED,
                         const int x A_UNUSED, const int y A_UNUSED,
                         const int w A_UNUSED, const int h A_UNUSED,
                         const ImageRect &restrict imgRect A_UNUSED)
-                        restrict2 override final A_NONNULL(2)
+                        restrict2 final A_NONNULL(2)
         { }
 
-        void fillRectangle(const Rect &rect A_UNUSED) override final
+        void fillRectangle(const Rect &rect A_UNUSED) final
         { }
 
-        void drawRectangle(const Rect &rect A_UNUSED) restrict2 override final
+        void drawRectangle(const Rect &rect A_UNUSED) restrict2 final
         { }
 
-        void drawPoint(int x A_UNUSED, int y A_UNUSED) override final
+        void drawPoint(int x A_UNUSED, int y A_UNUSED) final
         { }
 
         void drawLine(int x1 A_UNUSED, int y1 A_UNUSED,
                       int x2 A_UNUSED, int y2 A_UNUSED)
-                      restrict2 override final
+                      restrict2 final
         { }
 
         bool setVideoMode(const int w A_UNUSED, const int h A_UNUSED,
@@ -168,26 +168,26 @@ class ImegeGraphics final : public Graphics
                           const int bpp A_UNUSED,
                           const bool fs A_UNUSED, const bool hwaccel A_UNUSED,
                           const bool resize A_UNUSED,
-                          const bool noFrame A_UNUSED) restrict2 override final
+                          const bool noFrame A_UNUSED) restrict2 final
         { return false; }
 
         void drawImage(const Image *const image,
-                       int dstX, int dstY) override final;
+                       int dstX, int dstY) final;
 
         void copyImage(const Image *const image,
-                       int dstX, int dstY) restrict2 override final;
+                       int dstX, int dstY) restrict2 final;
 
         void drawImageCached(const Image *const image,
-                             int x, int y) override final;
+                             int x, int y) final;
 
         void drawPatternCached(const Image *restrict const image A_UNUSED,
                                const int x A_UNUSED,
                                const int y A_UNUSED,
                                const int w A_UNUSED,
-                               const int h A_UNUSED) restrict2 override final
+                               const int h A_UNUSED) restrict2 final
         { }
 
-        void completeCache() restrict2 override final;
+        void completeCache() restrict2 final;
 
         /**
          * Draws a rectangle using images. 4 corner images, 4 side images and 1
@@ -195,7 +195,7 @@ class ImegeGraphics final : public Graphics
          */
         void drawImageRect(const int x A_UNUSED, const int y A_UNUSED,
                            const int w A_UNUSED, const int h A_UNUSED,
-                           const ImageRect &imgRect A_UNUSED) override final
+                           const ImageRect &imgRect A_UNUSED) final
         { }
 
     protected:
diff --git a/src/render/mobileopengl2graphics.h b/src/render/mobileopengl2graphics.h
index ecd04cc89..da0c02fd4 100644
--- a/src/render/mobileopengl2graphics.h
+++ b/src/render/mobileopengl2graphics.h
@@ -56,25 +56,25 @@ class MobileOpenGL2Graphics final : public Graphics
 
         ~MobileOpenGL2Graphics();
 
-        void postInit() restrict2 override final;
+        void postInit() restrict2 final;
 
-        void setColor(const Color &restrict color) restrict2 override final;
+        void setColor(const Color &restrict color) restrict2 final;
 
-        void screenResized() restrict2 override final;
+        void screenResized() restrict2 final;
 
         void finalize(ImageCollection *restrict const col)
-                      restrict2 override final;
+                      restrict2 final;
 
         void finalize(ImageVertexes *restrict const vert)
-                      restrict2 override final;
+                      restrict2 final;
 
-        void testDraw() restrict2 override final;
+        void testDraw() restrict2 final;
 
         void removeArray(const uint32_t id,
                          uint32_t *restrict const arr)
-                         restrict2 override final A_NONNULL(3);
+                         restrict2 final A_NONNULL(3);
 
-        void createGLContext() restrict2 override final;
+        void createGLContext() restrict2 final;
 
         #include "render/graphicsdef.hpp"
 
diff --git a/src/render/mobileopenglgraphics.h b/src/render/mobileopenglgraphics.h
index 7af81a4c8..4a50bb7b2 100644
--- a/src/render/mobileopenglgraphics.h
+++ b/src/render/mobileopenglgraphics.h
@@ -55,7 +55,7 @@ class MobileOpenGLGraphics final : public Graphics
 
         ~MobileOpenGLGraphics();
 
-        void postInit() restrict2 override final;
+        void postInit() restrict2 final;
 
         inline void drawTriangleArrayfs(const GLshort *restrict const
                                         shortVertArray,
diff --git a/src/render/modernopenglgraphics.h b/src/render/modernopenglgraphics.h
index 0c7d0d5c9..cabba8615 100644
--- a/src/render/modernopenglgraphics.h
+++ b/src/render/modernopenglgraphics.h
@@ -56,25 +56,25 @@ class ModernOpenGLGraphics final : public Graphics
 
         ~ModernOpenGLGraphics();
 
-        void postInit() restrict2 override final;
+        void postInit() restrict2 final;
 
-        void setColor(const Color &restrict color) restrict2 override final;
+        void setColor(const Color &restrict color) restrict2 final;
 
-        void screenResized() restrict2 override final;
+        void screenResized() restrict2 final;
 
         void finalize(ImageCollection *restrict const col)
-                      restrict2 override final;
+                      restrict2 final;
 
         void finalize(ImageVertexes *restrict const vert)
-                      restrict2 override final;
+                      restrict2 final;
 
-        void testDraw() restrict2 override final;
+        void testDraw() restrict2 final;
 
         void removeArray(const uint32_t id,
                          uint32_t *restrict const arr)
-                         restrict2 override final A_NONNULL(3);
+                         restrict2 final A_NONNULL(3);
 
-        void createGLContext() restrict2 override final;
+        void createGLContext() restrict2 final;
 
         #include "render/graphicsdef.hpp"
 
diff --git a/src/render/normalopenglgraphics.h b/src/render/normalopenglgraphics.h
index 05014deed..ed3c8e958 100644
--- a/src/render/normalopenglgraphics.h
+++ b/src/render/normalopenglgraphics.h
@@ -76,7 +76,7 @@ class NormalOpenGLGraphics final : public Graphics
 
         inline void drawLineArrayf(const int size) restrict2 A_INLINE;
 
-        void testDraw() restrict2 override final;
+        void testDraw() restrict2 final;
 
         #include "render/graphicsdef.hpp"
 
diff --git a/src/render/openglgraphicsdef.hpp b/src/render/openglgraphicsdef.hpp
index 42f61c2be..b27145f64 100644
--- a/src/render/openglgraphicsdef.hpp
+++ b/src/render/openglgraphicsdef.hpp
@@ -26,7 +26,7 @@ public:
 
     void drawNet(const int x1, const int y1,
                  const int x2, const int y2,
-                 const int width, const int height) restrict2 override final;
+                 const int width, const int height) restrict2 final;
 
     static void dumpSettings();
 
@@ -34,12 +34,12 @@ public:
 
     void updateTextureFormat() restrict2;
 
-    bool isAllowScale() const restrict2 noexcept override final
+    bool isAllowScale() const restrict2 noexcept final
     { return true; }
 
-    void clearScreen() const restrict2 override final;
+    void clearScreen() const restrict2 final;
 
-    void deleteArrays() restrict2 override final;
+    void deleteArrays() restrict2 final;
 
     static void bindTexture(const GLenum target, const GLuint texture);
 
diff --git a/src/render/openglgraphicsdef1.hpp b/src/render/openglgraphicsdef1.hpp
index 1d6a7c40d..6e9bc21b5 100644
--- a/src/render/openglgraphicsdef1.hpp
+++ b/src/render/openglgraphicsdef1.hpp
@@ -21,7 +21,7 @@
  */
 
 public:
-    void setColor(const Color &restrict color) override final
+    void setColor(const Color &restrict color) final
     {
         mColor = color;
         mColorAlpha = (color.a != 255);
diff --git a/src/render/openglgraphicsdefadvanced.hpp b/src/render/openglgraphicsdefadvanced.hpp
index c63c6ba7f..b5e3a770b 100644
--- a/src/render/openglgraphicsdefadvanced.hpp
+++ b/src/render/openglgraphicsdefadvanced.hpp
@@ -24,7 +24,7 @@ public:
     inline void drawVertexes(const OpenGLGraphicsVertexes &restrict ogl)
                              restrict2 A_INLINE;
 
-    void initArrays(const int vertCount) restrict2 override final;
+    void initArrays(const int vertCount) restrict2 final;
 
 #ifdef DEBUG_DRAW_CALLS
     unsigned int getDrawCalls() restrict2 const noexcept
diff --git a/src/render/safeopenglgraphics.h b/src/render/safeopenglgraphics.h
index 212c49e9d..c5c8d3a20 100644
--- a/src/render/safeopenglgraphics.h
+++ b/src/render/safeopenglgraphics.h
@@ -51,7 +51,7 @@ class SafeOpenGLGraphics final : public Graphics
 
         ~SafeOpenGLGraphics();
 
-        void testDraw() restrict2 override final;
+        void testDraw() restrict2 final;
 
         #include "render/graphicsdef.hpp"
 
diff --git a/src/render/sdl2softwaregraphics.h b/src/render/sdl2softwaregraphics.h
index ac6970cb1..55e928175 100644
--- a/src/render/sdl2softwaregraphics.h
+++ b/src/render/sdl2softwaregraphics.h
@@ -57,7 +57,7 @@ class SDL2SoftwareGraphics final : public Graphics
         ~SDL2SoftwareGraphics();
 
         void setRendererFlags(const uint32_t flags)
-                              restrict2 noexcept override final
+                              restrict2 noexcept final
         { mRendererFlags = flags; }
 
         #include "render/graphicsdef.hpp"
@@ -65,7 +65,7 @@ class SDL2SoftwareGraphics final : public Graphics
         #include "render/softwaregraphicsdef.hpp"
 
         bool resizeScreen(const int width,
-                          const int height) restrict2 override final;
+                          const int height) restrict2 final;
 
     protected:
         int SDL_FakeUpperBlit(const SDL_Surface *restrict const src,
diff --git a/src/render/softwaregraphicsdef.hpp b/src/render/softwaregraphicsdef.hpp
index 305b6ac40..b9ad18cfa 100644
--- a/src/render/softwaregraphicsdef.hpp
+++ b/src/render/softwaregraphicsdef.hpp
@@ -22,4 +22,4 @@
 
 public:
     void calcTileSDL(ImageVertexes *restrict const vert,
-                     int x, int y) const restrict2 override final;
+                     int x, int y) const restrict2 final;
diff --git a/src/render/surfacegraphics.h b/src/render/surfacegraphics.h
index 0706dfc65..320692f7b 100644
--- a/src/render/surfacegraphics.h
+++ b/src/render/surfacegraphics.h
@@ -53,31 +53,31 @@ class SurfaceGraphics final : public Graphics
         SDL_Surface *getTarget() const restrict2 noexcept
         { return mTarget; }
 
-        void beginDraw() restrict2 override final
+        void beginDraw() restrict2 final
         { }
 
-        void endDraw() restrict2 override final
+        void endDraw() restrict2 final
         { }
 
         void pushClipArea(const Rect &restrict rect A_UNUSED)
-                          restrict2 override final
+                          restrict2 final
         { }
 
-        void popClipArea() restrict2 override final
+        void popClipArea() restrict2 final
         { }
 
         void drawRescaledImage(const Image *restrict const image A_UNUSED,
                                int dstX A_UNUSED, int dstY A_UNUSED,
                                const int desiredWidth A_UNUSED,
                                const int desiredHeight A_UNUSED)
-                               restrict2 override final
+                               restrict2 final
         { }
 
         void drawPattern(const Image *restrict const image A_UNUSED,
                          const int x A_UNUSED,
                          const int y A_UNUSED,
                          const int w A_UNUSED,
-                         const int h A_UNUSED) restrict2 override final
+                         const int h A_UNUSED) restrict2 final
         { }
 
         void drawRescaledPattern(const Image *const image A_UNUSED,
@@ -87,7 +87,7 @@ class SurfaceGraphics final : public Graphics
                                  const int h A_UNUSED,
                                  const int scaledWidth A_UNUSED,
                                  const int scaledHeight A_UNUSED)
-                                 override final
+                                 final
         { }
 
         void calcPattern(ImageVertexes *restrict const vert A_UNUSED,
@@ -95,7 +95,7 @@ class SurfaceGraphics final : public Graphics
                          const int x A_UNUSED,
                          const int y A_UNUSED,
                          const int w A_UNUSED,
-                         const int h A_UNUSED) const restrict2 override final
+                         const int h A_UNUSED) const restrict2 final
         { }
 
         void calcPattern(ImageCollection *restrict const vert A_UNUSED,
@@ -103,38 +103,38 @@ class SurfaceGraphics final : public Graphics
                          const int x A_UNUSED,
                          const int y A_UNUSED,
                          const int w A_UNUSED,
-                         const int h A_UNUSED) const restrict2 override final
+                         const int h A_UNUSED) const restrict2 final
         { }
 
         void calcTileVertexes(ImageVertexes *restrict const vert A_UNUSED,
                               const Image *restrict const image A_UNUSED,
                               int x A_UNUSED,
-                              int y A_UNUSED) const restrict2 override final
+                              int y A_UNUSED) const restrict2 final
                               A_NONNULL(2, 3)
         { }
 
         void calcTileSDL(ImageVertexes *restrict const vert A_UNUSED,
                          int x A_UNUSED,
-                         int y A_UNUSED) const restrict2 override final
+                         int y A_UNUSED) const restrict2 final
         { }
 
         void calcTileCollection(ImageCollection *restrict const
                                 vertCol A_UNUSED,
                                 const Image *restrict const image A_UNUSED,
                                 int x A_UNUSED,
-                                int y A_UNUSED) restrict2 override final
+                                int y A_UNUSED) restrict2 final
         { }
 
         void drawTileVertexes(const ImageVertexes *restrict const
-                              vert A_UNUSED) restrict2 override final
+                              vert A_UNUSED) restrict2 final
         { }
 
         void drawTileCollection(const ImageCollection *restrict const
                                 vertCol A_UNUSED)
-                                restrict2 override final A_NONNULL(2)
+                                restrict2 final A_NONNULL(2)
         { }
 
-        void updateScreen() override final
+        void updateScreen() final
         { }
 
         void drawNet(const int x1 A_UNUSED,
@@ -142,14 +142,14 @@ class SurfaceGraphics final : public Graphics
                      const int x2 A_UNUSED,
                      const int y2 A_UNUSED,
                      const int width A_UNUSED,
-                     const int height A_UNUSED) restrict2 override final
+                     const int height A_UNUSED) restrict2 final
         { }
 
         void calcWindow(ImageCollection *restrict const vertCol A_UNUSED,
                         const int x A_UNUSED, const int y A_UNUSED,
                         const int w A_UNUSED, const int h A_UNUSED,
                         const ImageRect &restrict imgRect A_UNUSED)
-                        restrict2 override final A_NONNULL(2)
+                        restrict2 final A_NONNULL(2)
         { }
 
         void setBlitMode(const BlitModeT mode) restrict2 noexcept
@@ -159,19 +159,19 @@ class SurfaceGraphics final : public Graphics
         { return mBlitMode; }
 
         void fillRectangle(const Rect &restrict rect A_UNUSED)
-                           restrict2 override final
+                           restrict2 final
         { }
 
         void drawRectangle(const Rect &restrict rect A_UNUSED)
-                           restrict2 override final
+                           restrict2 final
         { }
 
-        void drawPoint(int x A_UNUSED, int y A_UNUSED) restrict2 override final
+        void drawPoint(int x A_UNUSED, int y A_UNUSED) restrict2 final
         { }
 
         void drawLine(int x1 A_UNUSED, int y1 A_UNUSED,
                       int x2 A_UNUSED, int y2 A_UNUSED)
-                      restrict2 override final
+                      restrict2 final
         { }
 
         bool setVideoMode(const int w A_UNUSED, const int h A_UNUSED,
@@ -179,26 +179,26 @@ class SurfaceGraphics final : public Graphics
                           const int bpp A_UNUSED,
                           const bool fs A_UNUSED, const bool hwaccel A_UNUSED,
                           const bool resize A_UNUSED,
-                          const bool noFrame A_UNUSED) restrict2 override final
+                          const bool noFrame A_UNUSED) restrict2 final
         { return false; }
 
         void drawImage(const Image *restrict const image,
-                       int dstX, int dstY) restrict2 override final;
+                       int dstX, int dstY) restrict2 final;
 
         void copyImage(const Image *restrict const image,
-                       int dstX, int dstY) restrict2 override final;
+                       int dstX, int dstY) restrict2 final;
 
         void drawImageCached(const Image *restrict const image,
-                             int x, int y) restrict2 override final;
+                             int x, int y) restrict2 final;
 
         void drawPatternCached(const Image *restrict const image A_UNUSED,
                                const int x A_UNUSED,
                                const int y A_UNUSED,
                                const int w A_UNUSED,
-                               const int h A_UNUSED) restrict2 override final
+                               const int h A_UNUSED) restrict2 final
         { }
 
-        void completeCache() restrict2 override final;
+        void completeCache() restrict2 final;
 
         /**
          * Draws a rectangle using images. 4 corner images, 4 side images and 1
@@ -207,7 +207,7 @@ class SurfaceGraphics final : public Graphics
         void drawImageRect(const int x A_UNUSED, const int y A_UNUSED,
                            const int w A_UNUSED, const int h A_UNUSED,
                            const ImageRect &restrict imgRect A_UNUSED)
-                           restrict2 override final
+                           restrict2 final
         { }
 
     protected:
diff --git a/src/resources/atlas/atlasresource.h b/src/resources/atlas/atlasresource.h
index 0a9d90f04..0e4fffceb 100644
--- a/src/resources/atlas/atlasresource.h
+++ b/src/resources/atlas/atlasresource.h
@@ -40,9 +40,9 @@ class AtlasResource final : public Resource
 
         ~AtlasResource();
 
-        void incRef() override final;
+        void incRef() final;
 
-        void decRef() override final;
+        void decRef() final;
 
         std::vector<TextureAtlas*> atlases;
 };
diff --git a/src/resources/inventory/complexinventory.h b/src/resources/inventory/complexinventory.h
index 996212d18..52cade53c 100644
--- a/src/resources/inventory/complexinventory.h
+++ b/src/resources/inventory/complexinventory.h
@@ -47,7 +47,7 @@ class ComplexInventory final : public Inventory
 
         bool addVirtualItem(const Item *const item,
                             int index,
-                            const int amount) override final;
+                            const int amount) final;
 
         void setItem(const int index,
                      const int id,
@@ -59,7 +59,7 @@ class ComplexInventory final : public Inventory
                      const Damaged damaged,
                      const Favorite favorite,
                      const Equipm equipment,
-                     const Equipped equipped) override final;
+                     const Equipped equipped) final;
 };
 
 #endif  // RESOURCES_INVENTORY_COMPLEXINVENTORY_H
diff --git a/src/resources/map/map.h b/src/resources/map/map.h
index 4a0f71e82..1b87f8288 100644
--- a/src/resources/map/map.h
+++ b/src/resources/map/map.h
@@ -283,7 +283,7 @@ class Map final : public Properties, public ConfigListener
                                                 const restrict2 A_WARN_UNUSED;
 
         void optionChanged(const std::string &restrict value)
-                           restrict2 override final;
+                           restrict2 final;
 
         MapItem *findPortalXY(const int x,
                               const int y) const restrict2 A_WARN_UNUSED;
diff --git a/src/resources/map/maplayer.h b/src/resources/map/maplayer.h
index 45dcaec02..da35c239e 100644
--- a/src/resources/map/maplayer.h
+++ b/src/resources/map/maplayer.h
@@ -155,7 +155,7 @@ class MapLayer final: public ConfigListener
         { return mHeight; }
 
         void optionChanged(const std::string &restrict value)
-                           restrict override final;
+                           restrict final;
 
         void setDrawLayerFlags(const MapTypeT &restrict n) restrict;
 
diff --git a/src/resources/mobileopenglscreenshothelper.h b/src/resources/mobileopenglscreenshothelper.h
index b9950092a..855d47717 100644
--- a/src/resources/mobileopenglscreenshothelper.h
+++ b/src/resources/mobileopenglscreenshothelper.h
@@ -40,9 +40,9 @@ class MobileOpenGLScreenshotHelper final : public ScreenshotHelper
 
         ~MobileOpenGLScreenshotHelper();
 
-        void prepare() override final;
+        void prepare() final;
 
-        SDL_Surface *getScreenshot() override final;
+        SDL_Surface *getScreenshot() final;
 
     private:
         FBOInfo mFbo;
diff --git a/src/resources/openglimagehelper.h b/src/resources/openglimagehelper.h
index 0c7e49c8f..0f76a0bac 100644
--- a/src/resources/openglimagehelper.h
+++ b/src/resources/openglimagehelper.h
@@ -78,18 +78,18 @@ class OpenGLImageHelper final : public ImageHelper
          *         otherwise.
          */
         Image *load(SDL_RWops *const rw,
-                    Dye const &dye) override final A_WARN_UNUSED;
+                    Dye const &dye) final A_WARN_UNUSED;
 
         /**
          * Loads an image from an SDL surface.
          */
         Image *load(SDL_Surface *const tmpImage)
-                    override final A_WARN_UNUSED;
+                    final A_WARN_UNUSED;
 
         Image *createTextSurface(SDL_Surface *const tmpImage,
                                  const int width, const int height,
                                  const float alpha)
-                                 override final A_WARN_UNUSED;
+                                 final A_WARN_UNUSED;
 
         // OpenGL only public functions
 
@@ -122,13 +122,13 @@ class OpenGLImageHelper final : public ImageHelper
         static void bindTexture(const GLuint texture);
 
         SDL_Surface *create32BitSurface(int width,
-                                        int height) const override final;
+                                        int height) const final;
 
-        void postInit() override final;
+        void postInit() final;
 
         void copySurfaceToImage(const Image *const image,
                                 const int x, const int y,
-                                SDL_Surface *surface) const override final;
+                                SDL_Surface *surface) const final;
 
     protected:
         /**
diff --git a/src/resources/openglscreenshothelper.h b/src/resources/openglscreenshothelper.h
index b6ccd2910..c19c737d1 100644
--- a/src/resources/openglscreenshothelper.h
+++ b/src/resources/openglscreenshothelper.h
@@ -40,9 +40,9 @@ class OpenGLScreenshotHelper final : public ScreenshotHelper
 
         ~OpenGLScreenshotHelper();
 
-        void prepare() override final;
+        void prepare() final;
 
-        SDL_Surface *getScreenshot() override final;
+        SDL_Surface *getScreenshot() final;
 
     private:
         FBOInfo mFbo;
diff --git a/src/resources/safeopenglimagehelper.h b/src/resources/safeopenglimagehelper.h
index 9b65f5262..ab4dcdb13 100644
--- a/src/resources/safeopenglimagehelper.h
+++ b/src/resources/safeopenglimagehelper.h
@@ -78,18 +78,18 @@ class SafeOpenGLImageHelper final : public ImageHelper
          *         otherwise.
          */
         Image *load(SDL_RWops *const rw,
-                    Dye const &dye) override final A_WARN_UNUSED;
+                    Dye const &dye) final A_WARN_UNUSED;
 
         /**
          * Loads an image from an SDL surface.
          */
         Image *load(SDL_Surface *const tmpImage)
-                    override final A_WARN_UNUSED;
+                    final A_WARN_UNUSED;
 
         Image *createTextSurface(SDL_Surface *const tmpImage,
                                  const int width, const int height,
                                  const float alpha)
-                                 override final A_WARN_UNUSED;
+                                 final A_WARN_UNUSED;
 
         // OpenGL only public functions
 
@@ -122,13 +122,13 @@ class SafeOpenGLImageHelper final : public ImageHelper
         static void bindTexture(const GLuint texture);
 
         SDL_Surface *create32BitSurface(int width,
-                                        int height) const override final;
+                                        int height) const final;
 
-        void postInit() override final;
+        void postInit() final;
 
         void copySurfaceToImage(const Image *const image,
                                 const int x, const int y,
-                                SDL_Surface *surface) const override final;
+                                SDL_Surface *surface) const final;
 
     protected:
         /**
diff --git a/src/resources/sdl2imagehelper.h b/src/resources/sdl2imagehelper.h
index c1065e957..cb955cb6a 100644
--- a/src/resources/sdl2imagehelper.h
+++ b/src/resources/sdl2imagehelper.h
@@ -55,17 +55,17 @@ class SDLImageHelper final : public ImageHelper
          * Loads an image from an SDL surface.
          */
         Image *load(SDL_Surface *const tmpImage)
-                    override final A_WARN_UNUSED;
+                    final A_WARN_UNUSED;
 
         Image *createTextSurface(SDL_Surface *const tmpImage,
                                  const int width, const int height,
                                  const float alpha)
-                                 override final A_WARN_UNUSED;
+                                 final A_WARN_UNUSED;
 
         void copySurfaceToImage(const Image *const image,
                                 const int x, const int y,
                                 SDL_Surface *const surface)
-                                const override final;
+                                const final;
 
         static void SDLSetEnableAlphaCache(const bool n)
         { mEnableAlphaCache = n; }
diff --git a/src/resources/sdl2softwareimagehelper.h b/src/resources/sdl2softwareimagehelper.h
index d8a9d218e..dac03ba36 100644
--- a/src/resources/sdl2softwareimagehelper.h
+++ b/src/resources/sdl2softwareimagehelper.h
@@ -54,12 +54,12 @@ class SDL2SoftwareImageHelper final : public ImageHelper
         /**
          * Loads an image from an SDL surface.
          */
-        Image *load(SDL_Surface *const tmpImage) override final A_WARN_UNUSED;
+        Image *load(SDL_Surface *const tmpImage) final A_WARN_UNUSED;
 
         Image *createTextSurface(SDL_Surface *const tmpImage,
                                  const int width, const int height,
                                  const float alpha)
-                                 override final A_WARN_UNUSED;
+                                 final A_WARN_UNUSED;
 
         static void SDLSetEnableAlphaCache(const bool n)
         { mEnableAlphaCache = n; }
diff --git a/src/resources/sdl2softwarescreenshothelper.h b/src/resources/sdl2softwarescreenshothelper.h
index f3b95e245..31144897f 100644
--- a/src/resources/sdl2softwarescreenshothelper.h
+++ b/src/resources/sdl2softwarescreenshothelper.h
@@ -38,9 +38,9 @@ class Sdl2SoftwareScreenshotHelper final : public ScreenshotHelper
 
         ~Sdl2SoftwareScreenshotHelper();
 
-        void prepare() override final;
+        void prepare() final;
 
-        SDL_Surface *getScreenshot() override final;
+        SDL_Surface *getScreenshot() final;
 };
 
 #endif  // USE_SDL2
diff --git a/src/resources/sdlimagehelper.h b/src/resources/sdlimagehelper.h
index 731e1a14e..b9cffccfd 100644
--- a/src/resources/sdlimagehelper.h
+++ b/src/resources/sdlimagehelper.h
@@ -62,22 +62,22 @@ class SDLImageHelper final : public ImageHelper
          *         otherwise.
          */
         Image *load(SDL_RWops *const rw,
-                    Dye const &dye) override final A_WARN_UNUSED;
+                    Dye const &dye) final A_WARN_UNUSED;
 
         /**
          * Loads an image from an SDL surface.
          */
-        Image *load(SDL_Surface *const tmpImage) override final A_WARN_UNUSED;
+        Image *load(SDL_Surface *const tmpImage) final A_WARN_UNUSED;
 
         Image *createTextSurface(SDL_Surface *const tmpImage,
                                  const int width, const int height,
                                  const float alpha)
-                                 override final A_WARN_UNUSED;
+                                 final A_WARN_UNUSED;
 
         void copySurfaceToImage(const Image *const image,
                                 const int x, const int y,
                                 SDL_Surface *const surface)
-                                const override final;
+                                const final;
 
         static void SDLSetEnableAlphaCache(const bool n)
         { mEnableAlphaCache = n; }
diff --git a/src/resources/sdlscreenshothelper.h b/src/resources/sdlscreenshothelper.h
index 2b8acdbe5..1ee7096be 100644
--- a/src/resources/sdlscreenshothelper.h
+++ b/src/resources/sdlscreenshothelper.h
@@ -36,9 +36,9 @@ class SdlScreenshotHelper final : public ScreenshotHelper
 
         ~SdlScreenshotHelper();
 
-        void prepare() override final A_CONST;
+        void prepare() final A_CONST;
 
-        SDL_Surface *getScreenshot() override final;
+        SDL_Surface *getScreenshot() final;
 };
 
 #endif  // RESOURCES_SDLSCREENSHOTHELPER_H
diff --git a/src/resources/sprite/animatedsprite.h b/src/resources/sprite/animatedsprite.h
index dcf8045fb..cdf5680eb 100644
--- a/src/resources/sprite/animatedsprite.h
+++ b/src/resources/sprite/animatedsprite.h
@@ -63,47 +63,47 @@ class AnimatedSprite final : public Sprite
 
         ~AnimatedSprite();
 
-        bool reset() restrict2 override final;
+        bool reset() restrict2 final;
 
-        bool play(const std::string &restrict action) restrict2 override final;
+        bool play(const std::string &restrict action) restrict2 final;
 
-        bool update(const int time) restrict2 override final;
+        bool update(const int time) restrict2 final;
 
         void draw(Graphics *restrict const graphics,
                   const int posX,
-                  const int posY) const restrict2 override final A_NONNULL(2);
+                  const int posY) const restrict2 final A_NONNULL(2);
 
         void drawRaw(Graphics *restrict const graphics,
                      const int posX,
                      const int posY) const restrict2 A_NONNULL(2);
 
-        int getWidth() const restrict2 override final A_WARN_UNUSED;
+        int getWidth() const restrict2 final A_WARN_UNUSED;
 
-        int getHeight() const restrict2 override final A_WARN_UNUSED;
+        int getHeight() const restrict2 final A_WARN_UNUSED;
 
-        const Image* getImage() const restrict2 noexcept override final
+        const Image* getImage() const restrict2 noexcept final
                               A_WARN_UNUSED;
 
         bool setSpriteDirection(const SpriteDirection::Type direction)
-                                restrict2 override final;
+                                restrict2 final;
 
         int getNumberOfLayers() const restrict2 noexcept A_WARN_UNUSED
         { return 1; }
 
         std::string getIdPath() const restrict2 A_WARN_UNUSED;
 
-        unsigned int getCurrentFrame() const restrict2 noexcept override final
+        unsigned int getCurrentFrame() const restrict2 noexcept final
                                      A_WARN_UNUSED
         { return mFrameIndex; }
 
         unsigned int getFrameCount() const
-                                   restrict2 override final A_WARN_UNUSED;
+                                   restrict2 final A_WARN_UNUSED;
 
-        void setAlpha(float alpha) restrict2 override final;
+        void setAlpha(float alpha) restrict2 final;
 
-        const void *getHash() const restrict2 override final A_WARN_UNUSED;
+        const void *getHash() const restrict2 final A_WARN_UNUSED;
 
-        bool updateNumber(const unsigned num) restrict2 override final;
+        bool updateNumber(const unsigned num) restrict2 final;
 
         void clearDelayLoad() restrict2 noexcept
         { mDelayLoad = nullptr; }
diff --git a/src/resources/sprite/imagesprite.h b/src/resources/sprite/imagesprite.h
index c3fa39fae..21ff03d90 100644
--- a/src/resources/sprite/imagesprite.h
+++ b/src/resources/sprite/imagesprite.h
@@ -37,42 +37,42 @@ class ImageSprite final : public Sprite
 
         ~ImageSprite();
 
-        bool reset() override final
+        bool reset() final
         { return false; }
 
-        bool play(const std::string &action A_UNUSED) override final
+        bool play(const std::string &action A_UNUSED) final
         { return false; }
 
-        bool update(const int time A_UNUSED) override final
+        bool update(const int time A_UNUSED) final
         { return false; }
 
         void draw(Graphics *const graphics,
                   const int posX, const int posY)
-                  const override final A_NONNULL(2);
+                  const final A_NONNULL(2);
 
-        int getWidth() const override final A_WARN_UNUSED
+        int getWidth() const final A_WARN_UNUSED
         { return mImage ? mImage->getWidth() : 0; }
 
-        int getHeight() const override final A_WARN_UNUSED
+        int getHeight() const final A_WARN_UNUSED
         { return mImage ? mImage->getHeight() : 0; }
 
-        const Image* getImage() const override final A_WARN_UNUSED
+        const Image* getImage() const final A_WARN_UNUSED
         { return mImage; }
 
         bool setSpriteDirection(const SpriteDirection::Type
-                                direction A_UNUSED) override final
+                                direction A_UNUSED) final
         { return false; }
 
         int getNumberOfLayers() const A_WARN_UNUSED
         { return 1; }
 
-        unsigned int getCurrentFrame() const override final A_WARN_UNUSED
+        unsigned int getCurrentFrame() const final A_WARN_UNUSED
         { return 0; }
 
-        unsigned int getFrameCount() const override final A_WARN_UNUSED
+        unsigned int getFrameCount() const final A_WARN_UNUSED
         { return 1; }
 
-        bool updateNumber(const unsigned num A_UNUSED) override final
+        bool updateNumber(const unsigned num A_UNUSED) final
         { return false; }
 
     private:
diff --git a/src/resources/subimage.h b/src/resources/subimage.h
index e7184574d..14d50e044 100644
--- a/src/resources/subimage.h
+++ b/src/resources/subimage.h
@@ -76,10 +76,10 @@ class SubImage final : public Image
          */
         Image *getSubImage(const int x, const int y,
                            const int width,
-                           const int height) override final A_WARN_UNUSED;
+                           const int height) final A_WARN_UNUSED;
 
 #ifdef USE_OPENGL
-        void decRef() override final;
+        void decRef() final;
 #endif
 
         SDL_Rect mInternalBounds;
diff --git a/src/resources/surfaceimagehelper.h b/src/resources/surfaceimagehelper.h
index c028748e7..3dc8dde89 100644
--- a/src/resources/surfaceimagehelper.h
+++ b/src/resources/surfaceimagehelper.h
@@ -57,12 +57,12 @@ class SurfaceImageHelper final : public ImageHelper
          * Loads an image from an SDL surface.
          */
         Image *load(SDL_Surface *const tmpImage)
-                    override final A_WARN_UNUSED;
+                    final A_WARN_UNUSED;
 
         Image *createTextSurface(SDL_Surface *const tmpImage,
                                  const int width, const int height,
                                  const float alpha)
-                                 override final A_WARN_UNUSED;
+                                 final A_WARN_UNUSED;
 
         static void SDLSetEnableAlphaCache(const bool n)
         { mEnableAlphaCache = n; }
@@ -74,7 +74,7 @@ class SurfaceImageHelper final : public ImageHelper
          * Tells if the image was loaded using OpenGL or SDL
          * @return true if OpenGL, false if SDL.
          */
-        RenderType useOpenGL() const override final A_WARN_UNUSED;
+        RenderType useOpenGL() const final A_WARN_UNUSED;
 
         static SDL_Surface* SDLDuplicateSurface(SDL_Surface *const tmpImage)
                                                 A_WARN_UNUSED;
diff --git a/src/soundmanager.h b/src/soundmanager.h
index a73975536..05cb1da82 100644
--- a/src/soundmanager.h
+++ b/src/soundmanager.h
@@ -44,7 +44,7 @@ class SoundManager final : public ConfigListener
 
         ~SoundManager();
 
-        void optionChanged(const std::string &value) override final;
+        void optionChanged(const std::string &value) final;
 
         /**
          * Installs the sound engine.
diff --git a/src/text.h b/src/text.h
index 660a2df3b..584a37127 100644
--- a/src/text.h
+++ b/src/text.h
@@ -129,7 +129,7 @@ class FlashText final : public Text
          * Draws the text.
          */
         void draw(Graphics *const graphics,
-                  const int xOff, const int yOff) override final A_NONNULL(2);
+                  const int xOff, const int yOff) final A_NONNULL(2);
 
     private:
         int mTime;             /**< Time left for flashing */
diff --git a/src/variabledata.h b/src/variabledata.h
index 28d42ba33..aff2c9d64 100644
--- a/src/variabledata.h
+++ b/src/variabledata.h
@@ -54,7 +54,7 @@ class IntData final : public VariableData
         int getData() const A_WARN_UNUSED
         { return mData; }
 
-        int getType() const override final A_WARN_UNUSED
+        int getType() const final A_WARN_UNUSED
         { return DATA_INT; }
 
     private:
@@ -71,7 +71,7 @@ class StringData final : public VariableData
         const std::string &getData() const A_WARN_UNUSED
         { return mData; }
 
-        int getType() const override final A_WARN_UNUSED
+        int getType() const final A_WARN_UNUSED
         { return DATA_STRING; }
 
     private:
@@ -88,7 +88,7 @@ class FloatData final : public VariableData
         double getData() const A_WARN_UNUSED
         { return mData; }
 
-        int getType() const override final A_WARN_UNUSED
+        int getType() const final A_WARN_UNUSED
         { return DATA_FLOAT; }
 
     private:
@@ -105,7 +105,7 @@ class BoolData final : public VariableData
         bool getData() const A_WARN_UNUSED
         { return mData; }
 
-        int getType() const override final A_WARN_UNUSED
+        int getType() const final A_WARN_UNUSED
         { return DATA_BOOL; }
 
     private:
-- 
cgit v1.2.3-70-g09d2