[Scummvm-git-logs] scummvm master -> ee57380de7078c9da0faac3c099597420a913804

bluegr noreply at scummvm.org
Sun Nov 14 12:32:07 UTC 2021


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
ee57380de7 ENGINES: JANITORIAL: Remove 'virtual' when override is specified


Commit: ee57380de7078c9da0faac3c099597420a913804
    https://github.com/scummvm/scummvm/commit/ee57380de7078c9da0faac3c099597420a913804
Author: Orgad Shaneh (orgads at gmail.com)
Date: 2021-11-14T14:32:04+02:00

Commit Message:
ENGINES: JANITORIAL: Remove 'virtual' when override is specified

Changed paths:
    engines/adl/adl.h
    engines/advancedDetector.h
    engines/agos/agos.h
    engines/agos/drivers/accolade/pc98.cpp
    engines/ags/console.h
    engines/ags/engine/debugging/dummy_ags_debugger.h
    engines/ags/lib/allegro/file.h
    engines/buried/detection.cpp
    engines/buried/metaengine.cpp
    engines/cge/cge.h
    engines/cine/cine.h
    engines/composer/composer.h
    engines/cryomni3d/cryomni3d.h
    engines/director/castmember.h
    engines/director/cursor.h
    engines/director/window.h
    engines/dragons/detection.cpp
    engines/dragons/dragons.h
    engines/dragons/metaengine.cpp
    engines/glk/window_graphics.h
    engines/glk/zcode/zcode.h
    engines/griffon/metaengine.cpp
    engines/grim/emi/emi.h
    engines/grim/emi/lua_v2.h
    engines/grim/gfx_opengl_shaders.h
    engines/grim/grim.h
    engines/grim/inputdialog.h
    engines/grim/lab.h
    engines/grim/movie/bink.h
    engines/grim/patchr.cpp
    engines/grim/pool.h
    engines/hugo/hugo.h
    engines/icb/detection.cpp
    engines/icb/icb.h
    engines/icb/metaengine.cpp
    engines/kingdom/detection.cpp
    engines/kingdom/metaengine.cpp
    engines/kyra/engine/eobcommon.h
    engines/kyra/kyra_v1.h
    engines/kyra/metaengine.cpp
    engines/lastexpress/entities/entity.h
    engines/mohawk/riven.h
    engines/myst3/gfx_opengl.h
    engines/myst3/gfx_opengl_shaders.h
    engines/myst3/gfx_tinygl.h
    engines/myst3/menu.h
    engines/myst3/movie.h
    engines/myst3/myst3.h
    engines/myst3/nodecube.h
    engines/myst3/nodeframe.h
    engines/nancy/action/leverpuzzle.h
    engines/nancy/action/orderingpuzzle.h
    engines/nancy/action/passwordpuzzle.h
    engines/nancy/action/primaryvideo.h
    engines/nancy/action/recordtypes.h
    engines/nancy/action/rotatinglockpuzzle.h
    engines/nancy/action/secondarymovie.h
    engines/nancy/action/secondaryvideo.h
    engines/nancy/action/sliderpuzzle.h
    engines/nancy/action/staticbitmapanim.h
    engines/nancy/action/telephone.h
    engines/nancy/detection.cpp
    engines/nancy/dialogs.h
    engines/nancy/metaengine.cpp
    engines/nancy/nancy.h
    engines/nancy/state/credits.h
    engines/nancy/state/help.h
    engines/nancy/state/logo.h
    engines/nancy/state/mainmenu.h
    engines/nancy/state/map.h
    engines/nancy/state/scene.h
    engines/nancy/ui/fullscreenimage.h
    engines/nancy/ui/inventorybox.h
    engines/nancy/ui/scrollbar.h
    engines/nancy/ui/textbox.h
    engines/nancy/ui/viewport.h
    engines/nancy/video.h
    engines/ngi/ngi.h
    engines/parallaction/font.cpp
    engines/petka/detection.cpp
    engines/petka/interfaces/main.h
    engines/petka/metaengine.cpp
    engines/petka/petka.h
    engines/pink/pink.h
    engines/playground3d/gfx_opengl.h
    engines/playground3d/gfx_opengl_shaders.h
    engines/playground3d/gfx_tinygl.h
    engines/queen/queen.h
    engines/saga/saga.h
    engines/sci/metaengine.cpp
    engines/scumm/metaengine.h
    engines/sherlock/screen.h
    engines/sky/sky.h
    engines/stark/resources/floorface.h
    engines/stark/resources/item.h
    engines/stark/resources/layer.h
    engines/stark/resources/path.h
    engines/supernova/supernova.h
    engines/sword1/sword1.h
    engines/sword2/sword2.h
    engines/titanic/core/message_target.h
    engines/titanic/core/saveable_object.h
    engines/tony/tony.h
    engines/tucker/metaengine.cpp
    engines/tucker/tucker.h
    engines/ultima/shared/core/base_object.h
    engines/ultima/shared/core/map.h
    engines/ultima/shared/core/message_target.h
    engines/ultima/shared/maps/map.h
    engines/ultima/ultima1/core/game_state.h
    engines/ultima/ultima1/widgets/merchant_armor.h
    engines/ultima/ultima4/game/player.h
    engines/ultima/ultima8/misc/classtype.h
    engines/ultima/ultima8/world/actors/avatar_mover_process.h
    engines/wintermute/base/gfx/x/modelx.h
    engines/wintermute/persistent.h
    engines/xeen/debugger.h
    engines/xeen/xeen.h


diff --git a/engines/adl/adl.h b/engines/adl/adl.h
index 7f97adf8e7..649aeab877 100644
--- a/engines/adl/adl.h
+++ b/engines/adl/adl.h
@@ -264,7 +264,7 @@ protected:
 	Common::Error loadGameState(int slot) override;
 	Common::Error saveGameState(int slot, const Common::String &desc, bool isAutosave = false) override;
 	bool canSaveGameStateCurrently() override;
-	virtual Common::String getSaveStateName(int slot) const override;
+	Common::String getSaveStateName(int slot) const override;
 	int getAutosaveSlot() const override { return 15; }
 
 	Common::String getDiskImageName(byte volume) const { return Adl::getDiskImageName(*_gameDescription, volume); }
diff --git a/engines/advancedDetector.h b/engines/advancedDetector.h
index c7fc00d1b2..c3a3a525ac 100644
--- a/engines/advancedDetector.h
+++ b/engines/advancedDetector.h
@@ -381,7 +381,7 @@ public:
 	 *
 	 * @return A list of extra GUI options for an engine plugin and target.
 	 */
-	virtual const ExtraGuiOptions getExtraGuiOptions(const Common::String &target) const override;
+	const ExtraGuiOptions getExtraGuiOptions(const Common::String &target) const override;
 
 protected:
 	/**
@@ -468,7 +468,7 @@ public:
 	 * By the time this is called, it is assumed that there is only one
 	 * plugin engine loaded in memory.
 	 */
-	virtual Common::Error createInstance(OSystem *syst, Engine **engine) const override;
+	Common::Error createInstance(OSystem *syst, Engine **engine) const override;
 
 	/**
 	 * A createInstance implementation for subclasses. To be called after the base
@@ -483,7 +483,7 @@ public:
 	 *
 	 * @see MetaEngine::getName().
 	 */
-	virtual const char *getName() const override = 0;
+	const char *getName() const override = 0;
 
 public:
 	/**
diff --git a/engines/agos/agos.h b/engines/agos/agos.h
index 8dd5d93360..02237fd2ad 100644
--- a/engines/agos/agos.h
+++ b/engines/agos/agos.h
@@ -213,9 +213,9 @@ protected:
 		return go();
 	}
 
-	virtual bool hasFeature(EngineFeature f) const override;
-	virtual void syncSoundSettings() override;
-	virtual void pauseEngineIntern(bool pause) override;
+	bool hasFeature(EngineFeature f) const override;
+	void syncSoundSettings() override;
+	void pauseEngineIntern(bool pause) override;
 
 	virtual void setupOpcodes();
 	uint16 _numOpcodes, _opcode;
diff --git a/engines/agos/drivers/accolade/pc98.cpp b/engines/agos/drivers/accolade/pc98.cpp
index 51d8fe1654..d960dac4cc 100644
--- a/engines/agos/drivers/accolade/pc98.cpp
+++ b/engines/agos/drivers/accolade/pc98.cpp
@@ -37,7 +37,7 @@ public:
 	};
 public:
 	PC98CommonDriver();
-	virtual ~PC98CommonDriver() override {};
+	~PC98CommonDriver() override {};
 
 	bool isOpen() const override { return _isOpen; }
 	void send(uint32 b) override;
diff --git a/engines/ags/console.h b/engines/ags/console.h
index dddd0fb2c8..de4b97e5e5 100644
--- a/engines/ags/console.h
+++ b/engines/ags/console.h
@@ -62,7 +62,7 @@ private:
 class LogOutputTarget : public AGS3::AGS::Shared::IOutputHandler {
 public:
 	LogOutputTarget();
-	virtual ~LogOutputTarget() override;
+	~LogOutputTarget() override;
 
 	void PrintMessage(const AGS3::AGS::Shared::DebugMessage &msg) override;
 };
diff --git a/engines/ags/engine/debugging/dummy_ags_debugger.h b/engines/ags/engine/debugging/dummy_ags_debugger.h
index e4ddb9acaf..c028f90332 100644
--- a/engines/ags/engine/debugging/dummy_ags_debugger.h
+++ b/engines/ags/engine/debugging/dummy_ags_debugger.h
@@ -30,18 +30,18 @@ namespace AGS3 {
 struct DummyAGSDebugger : IAGSEditorDebugger {
 public:
 
-	virtual bool Initialize() override {
+	bool Initialize() override {
 		return false;
 	}
-	virtual void Shutdown() override {
+	void Shutdown() override {
 	}
-	virtual bool SendMessageToEditor(const char *message) override {
+	bool SendMessageToEditor(const char *message) override {
 		return false;
 	}
-	virtual bool IsMessageAvailable() override {
+	bool IsMessageAvailable() override {
 		return false;
 	}
-	virtual char *GetNextMessage() override {
+	char *GetNextMessage() override {
 		return NULL;
 	}
 };
diff --git a/engines/ags/lib/allegro/file.h b/engines/ags/lib/allegro/file.h
index 2d9b6328d6..7a413c80ca 100644
--- a/engines/ags/lib/allegro/file.h
+++ b/engines/ags/lib/allegro/file.h
@@ -193,7 +193,7 @@ public:
 		return _vTable->pf_ferror(_userData);
 	}
 
-	virtual void *pack_get_userdata() const override {
+	void *pack_get_userdata() const override {
 		return _userData;
 	}
 };
diff --git a/engines/buried/detection.cpp b/engines/buried/detection.cpp
index 6341ea4633..3fa7bab801 100644
--- a/engines/buried/detection.cpp
+++ b/engines/buried/detection.cpp
@@ -60,11 +60,11 @@ public:
 		return "buried";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "The Journeyman Project 2: Buried in Time";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "The Journeyman Project 2: Buried in Time (C) Presto Studios";
 	}
 };
diff --git a/engines/buried/metaengine.cpp b/engines/buried/metaengine.cpp
index 303e06e180..1cea0cc49f 100644
--- a/engines/buried/metaengine.cpp
+++ b/engines/buried/metaengine.cpp
@@ -79,11 +79,11 @@ public:
 		return "buried";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual Common::Error createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
-	virtual SaveStateList listSaves(const char *target) const override;
-	virtual int getMaximumSaveSlot() const override { return 999; }
-	virtual void removeSaveState(const char *target, int slot) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	Common::Error createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	SaveStateList listSaves(const char *target) const override;
+	int getMaximumSaveSlot() const override { return 999; }
+	void removeSaveState(const char *target, int slot) const override;
 	Common::String getSavegameFile(int saveGameIdx, const char *target) const override {
 		if (!target)
 			target = getEngineId();
diff --git a/engines/cge/cge.h b/engines/cge/cge.h
index f70dbde27c..816023f3e9 100644
--- a/engines/cge/cge.h
+++ b/engines/cge/cge.h
@@ -204,7 +204,7 @@ public:
 	BitmapPtr *_miniShpList;
 	int        _startGameSlot;
 
-	virtual Common::Error run() override;
+	Common::Error run() override;
 
 	void cge_main();
 	void switchScene(int newScene);
diff --git a/engines/cine/cine.h b/engines/cine/cine.h
index a7bc2af2b8..f1b8e62a5a 100644
--- a/engines/cine/cine.h
+++ b/engines/cine/cine.h
@@ -126,7 +126,7 @@ public:
 	uint32 getTimerDelay() const;
 	Common::Error loadGameState(int slot) override;
 	Common::Error saveGameState(int slot, const Common::String &desc, bool isAutosave = false) override;
-	virtual Common::String getSaveStateName(int slot) const override;
+	Common::String getSaveStateName(int slot) const override;
 	bool canLoadGameStateCurrently() override;
 	bool canSaveGameStateCurrently() override;
 
diff --git a/engines/composer/composer.h b/engines/composer/composer.h
index 3daa8040b8..a41d045cfd 100644
--- a/engines/composer/composer.h
+++ b/engines/composer/composer.h
@@ -218,7 +218,7 @@ private:
 	uint16 _mouseSpriteId;
 	Common::Point _mouseOffset;
 
-	virtual Common::String getSaveStateName(int slot) const override;
+	Common::String getSaveStateName(int slot) const override;
 	Common::String getStringFromConfig(const Common::String &section, const Common::String &key);
 	Common::String getFilename(const Common::String &section, uint id);
 	Common::String mangleFilename(Common::String filename);
diff --git a/engines/cryomni3d/cryomni3d.h b/engines/cryomni3d/cryomni3d.h
index 7187974d86..92418ea07a 100644
--- a/engines/cryomni3d/cryomni3d.h
+++ b/engines/cryomni3d/cryomni3d.h
@@ -191,12 +191,12 @@ public:
 	CryOmni3DEngine_HNMPlayer(OSystem *syst, const CryOmni3DGameDescription *gamedesc) : CryOmni3DEngine(syst, gamedesc) {}
 	~CryOmni3DEngine_HNMPlayer() override {}
 
-	virtual bool displayToolbar(const Graphics::Surface *original) override { return false; }
-	virtual bool hasPlaceDocumentation() override { return false; }
-	virtual bool displayPlaceDocumentation() override { return false; }
-	virtual uint displayOptions() override { return 0; }
-	virtual void makeTranslucent(Graphics::Surface &dst, const Graphics::Surface &src) const override {}
-	virtual void setupPalette(const byte *colors, uint start, uint num) override {}
+	bool displayToolbar(const Graphics::Surface *original) override { return false; }
+	bool hasPlaceDocumentation() override { return false; }
+	bool displayPlaceDocumentation() override { return false; }
+	uint displayOptions() override { return 0; }
+	void makeTranslucent(Graphics::Surface &dst, const Graphics::Surface &src) const override {}
+	void setupPalette(const byte *colors, uint start, uint num) override {}
 };
 
 } // End of namespace CryOmni3D
diff --git a/engines/director/castmember.h b/engines/director/castmember.h
index 26eb28812b..6f7048b0fc 100644
--- a/engines/director/castmember.h
+++ b/engines/director/castmember.h
@@ -116,7 +116,7 @@ class BitmapCastMember : public CastMember {
 public:
 	BitmapCastMember(Cast *cast, uint16 castId, Common::SeekableReadStreamEndian &stream, uint32 castTag, uint16 version, uint8 flags1 = 0);
 	~BitmapCastMember();
-	virtual Graphics::MacWidget *createWidget(Common::Rect &bbox, Channel *channel, SpriteType spriteType) override;
+	Graphics::MacWidget *createWidget(Common::Rect &bbox, Channel *channel, SpriteType spriteType) override;
 
 	void createMatte(Common::Rect &bbox);
 	Graphics::Surface *getMatte(Common::Rect &bbox);
@@ -147,8 +147,8 @@ public:
 	DigitalVideoCastMember(Cast *cast, uint16 castId, Common::SeekableReadStreamEndian &stream, uint16 version);
 	~DigitalVideoCastMember();
 
-	virtual bool isModified() override;
-	virtual Graphics::MacWidget *createWidget(Common::Rect &bbox, Channel *channel, SpriteType spriteType) override;
+	bool isModified() override;
+	Graphics::MacWidget *createWidget(Common::Rect &bbox, Channel *channel, SpriteType spriteType) override;
 
 	bool loadVideo(Common::String path);
 	void startVideo(Channel *channel);
@@ -201,8 +201,8 @@ public:
 	FilmLoopCastMember(Cast *cast, uint16 castId, Common::SeekableReadStreamEndian &stream, uint16 version);
 	~FilmLoopCastMember();
 
-	virtual bool isModified() override;
-	//virtual Graphics::MacWidget *createWidget(Common::Rect &bbox, Channel *channel, SpriteType spriteType) override;
+	bool isModified() override;
+	//Graphics::MacWidget *createWidget(Common::Rect &bbox, Channel *channel, SpriteType spriteType) override;
 
 	Common::Array<Channel> *getSubChannels(Common::Rect &bbox, Channel *channel);
 
@@ -229,8 +229,8 @@ public:
 class ShapeCastMember : public CastMember {
 public:
 	ShapeCastMember(Cast *cast, uint16 castId, Common::SeekableReadStreamEndian &stream, uint16 version);
-	virtual uint32 getForeColor() override { return _fgCol; }
-	virtual uint32 getBackColor() override { return _bgCol; }
+	uint32 getForeColor() override { return _fgCol; }
+	uint32 getBackColor() override { return _bgCol; }
 
 	ShapeType _shapeType;
 	uint16 _pattern;
@@ -247,18 +247,18 @@ private:
 class TextCastMember : public CastMember {
 public:
 	TextCastMember(Cast *cast, uint16 castId, Common::SeekableReadStreamEndian &stream, uint16 version, uint8 flags1 = 0, bool asButton = false);
-	virtual void setColors(uint32 *fgcolor, uint32 *bgcolor) override;
+	void setColors(uint32 *fgcolor, uint32 *bgcolor) override;
 
 	void setText(const Common::U32String &text);
-	virtual Graphics::MacWidget *createWidget(Common::Rect &bbox, Channel *channel, SpriteType spriteType) override;
+	Graphics::MacWidget *createWidget(Common::Rect &bbox, Channel *channel, SpriteType spriteType) override;
 
-	virtual bool isEditable() override { return _editable; }
-	virtual void setEditable(bool editable) override { _editable = editable; }
-	virtual void updateFromWidget(Graphics::MacWidget *widget) override;
+	bool isEditable() override { return _editable; }
+	void setEditable(bool editable) override { _editable = editable; }
+	void updateFromWidget(Graphics::MacWidget *widget) override;
 	Graphics::TextAlign getAlignment();
 
-	virtual uint32 getBackColor() override { return _bgcolor; }
-	virtual uint32 getForeColor() override { return _fgcolor; }
+	uint32 getBackColor() override { return _bgcolor; }
+	uint32 getForeColor() override { return _fgcolor; }
 
 	bool hasField(int field) override;
 	Datum getField(int field) override;
diff --git a/engines/director/cursor.h b/engines/director/cursor.h
index 5b0a38281b..7e4f83b19c 100644
--- a/engines/director/cursor.h
+++ b/engines/director/cursor.h
@@ -51,8 +51,8 @@ class Cursor : public Graphics::MacCursor {
 	bool operator==(const Cursor &c);
 	bool operator==(const CursorRef &c);
 
-	virtual byte getKeyColor() const override { return _keyColor; }
-	virtual const byte *getPalette() const override { return _usePalette ? _palette : nullptr; }
+	byte getKeyColor() const override { return _keyColor; }
+	const byte *getPalette() const override { return _usePalette ? _palette : nullptr; }
 
  public:
 	Graphics::MacCursorType _cursorType;
diff --git a/engines/director/window.h b/engines/director/window.h
index dc4003949b..d86f1f7fcc 100644
--- a/engines/director/window.h
+++ b/engines/director/window.h
@@ -117,7 +117,7 @@ public:
 	Common::String getCurrentPath() const { return _currentPath; }
 	DirectorSound *getSoundManager() const { return _soundManager; }
 
-	virtual void setVisible(bool visible, bool silent = false) override;
+	void setVisible(bool visible, bool silent = false) override;
 	bool setNextMovie(Common::String &movieFilenameRaw);
 
 	void setWindowType(int type) { _windowType = type; updateBorderType(); }
@@ -132,7 +132,7 @@ public:
 	Common::String getSharedCastPath();
 
 	// events.cpp
-	virtual bool processEvent(Common::Event &event) override;
+	bool processEvent(Common::Event &event) override;
 
 	// tests.cpp
 	Common::HashMap<Common::String, Movie *> *scanMovies(const Common::String &folder);
diff --git a/engines/dragons/detection.cpp b/engines/dragons/detection.cpp
index 1b8cfa65f7..e6d4820750 100644
--- a/engines/dragons/detection.cpp
+++ b/engines/dragons/detection.cpp
@@ -131,11 +131,11 @@ public:
 		return "dragons";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Blazing Dragons";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "(C) 1996 The Illusions Gaming Company";
 	}
 };
diff --git a/engines/dragons/dragons.h b/engines/dragons/dragons.h
index 182d5164bb..74291fd73d 100644
--- a/engines/dragons/dragons.h
+++ b/engines/dragons/dragons.h
@@ -244,7 +244,7 @@ private:
 	void (*_sceneUpdateFunction)();
 	void (*_vsyncUpdateFunction)();
 protected:
-	virtual bool hasFeature(EngineFeature f) const override;
+	bool hasFeature(EngineFeature f) const override;
 public:
 	DragonsEngine(OSystem *syst, const ADGameDescription *desc);
 	~DragonsEngine();
diff --git a/engines/dragons/metaengine.cpp b/engines/dragons/metaengine.cpp
index 99f02521fa..4582fc4c19 100644
--- a/engines/dragons/metaengine.cpp
+++ b/engines/dragons/metaengine.cpp
@@ -37,12 +37,12 @@ public:
 		return "dragons";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual Common::Error createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
-	virtual int getMaximumSaveSlot() const override;
-	virtual SaveStateList listSaves(const char *target) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	Common::Error createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	int getMaximumSaveSlot() const override;
+	SaveStateList listSaves(const char *target) const override;
 	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
-	virtual void removeSaveState(const char *target, int slot) const override;
+	void removeSaveState(const char *target, int slot) const override;
 	Common::KeymapArray initKeymaps(const char *target) const override;
 };
 
diff --git a/engines/glk/window_graphics.h b/engines/glk/window_graphics.h
index 4cf964d829..0aae647325 100644
--- a/engines/glk/window_graphics.h
+++ b/engines/glk/window_graphics.h
@@ -111,7 +111,7 @@ public:
 	/**
 	 * Clear the window
 	 */
-	virtual void clear() override;
+	void clear() override;
 
 	/**
 	 * Draw a rectangle in the given area
diff --git a/engines/glk/zcode/zcode.h b/engines/glk/zcode/zcode.h
index 7641e30b0b..0a3e0092c6 100644
--- a/engines/glk/zcode/zcode.h
+++ b/engines/glk/zcode/zcode.h
@@ -74,7 +74,7 @@ public:
 	/**
 	 * Indicates whether an autosave can currently be saved.
 	 */
-	virtual bool canSaveAutosaveCurrently() override {
+	bool canSaveAutosaveCurrently() override {
 		/* ZCode saves also include the execution stack.
 		 * So I don't know how to do autosaves in the background
 		 * without ending up with an invalid stack state
diff --git a/engines/griffon/metaengine.cpp b/engines/griffon/metaengine.cpp
index 200ad45b55..1853e1155a 100644
--- a/engines/griffon/metaengine.cpp
+++ b/engines/griffon/metaengine.cpp
@@ -43,7 +43,7 @@ public:
 
 	Common::Error createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
 
-	virtual int getAutosaveSlot() const override {
+	int getAutosaveSlot() const override {
 		return 4;
 	}
 	Common::String getSavegameFile(int saveGameIdx, const char *target = nullptr) const override;
diff --git a/engines/grim/emi/emi.h b/engines/grim/emi/emi.h
index 0e6c0f0ece..d651088057 100644
--- a/engines/grim/emi/emi.h
+++ b/engines/grim/emi/emi.h
@@ -36,7 +36,7 @@ public:
 	EMIEngine(OSystem *syst, uint32 gameFlags, GrimGameType gameType, Common::Platform platform, Common::Language language);
 	virtual ~EMIEngine();
 
-	virtual const char *getUpdateFilename() override;
+	const char *getUpdateFilename() override;
 
 	void pushText();
 	void popText();
diff --git a/engines/grim/emi/lua_v2.h b/engines/grim/emi/lua_v2.h
index 8d09366ff3..bf6c4388c8 100644
--- a/engines/grim/emi/lua_v2.h
+++ b/engines/grim/emi/lua_v2.h
@@ -33,7 +33,7 @@ public:
 	void registerOpcodes() override;
 
 protected:
-	virtual bool findCostume(lua_Object costumeObj, Actor *actor, Costume **costume) override;
+	bool findCostume(lua_Object costumeObj, Actor *actor, Costume **costume) override;
 	void setChoreAndCostume(lua_Object choreObj, lua_Object costumeObj, Actor *actor, Costume *&costume, int &chore);
 	static uint convertEmiVolumeToMixer(uint emiVolume);
 	static uint convertMixerVolumeToEmi(uint volume);
diff --git a/engines/grim/gfx_opengl_shaders.h b/engines/grim/gfx_opengl_shaders.h
index 8550dcc8e0..9c32b14314 100644
--- a/engines/grim/gfx_opengl_shaders.h
+++ b/engines/grim/gfx_opengl_shaders.h
@@ -42,67 +42,67 @@ public:
 	 * @param screenW		the width of the context
 	 * @param screenH		the height of the context
 	 */
-	virtual void setupScreen(int screenW, int screenH) override;
+	void setupScreen(int screenW, int screenH) override;
 
 	/**
 	 * Query whether the current context is hardware-accelerated
 	 *
 	 * @return true if hw-accelerated, false otherwise
 	 */
-	virtual bool isHardwareAccelerated() override { return true; };
-	virtual bool supportsShaders() override { return true; }
-	virtual void setupCameraFrustum(float fov, float nclip, float fclip) override;
-	virtual void positionCamera(const Math::Vector3d &pos, const Math::Vector3d &interest, float roll) override;
-	virtual void positionCamera(const Math::Vector3d &pos, const Math::Matrix4 &rot) override;
+	bool isHardwareAccelerated() override { return true; };
+	bool supportsShaders() override { return true; }
+	void setupCameraFrustum(float fov, float nclip, float fclip) override;
+	void positionCamera(const Math::Vector3d &pos, const Math::Vector3d &interest, float roll) override;
+	void positionCamera(const Math::Vector3d &pos, const Math::Matrix4 &rot) override;
 
-	virtual Math::Matrix4 getModelView() override;
-	virtual Math::Matrix4 getProjection() override;
+	Math::Matrix4 getModelView() override;
+	Math::Matrix4 getProjection() override;
 
-	virtual void clearScreen() override;
-	virtual void clearDepthBuffer() override;
+	void clearScreen() override;
+	void clearDepthBuffer() override;
 
 	/**
 	 *	Swap the buffers, making the drawn screen visible
 	 */
-	virtual void flipBuffer() override;
+	void flipBuffer() override;
 
-	virtual void getScreenBoundingBox(const Mesh *mesh, int *x1, int *y1, int *x2, int *y2) override;
-	virtual void getScreenBoundingBox(const EMIModel *model, int *x1, int *y1, int *x2, int *y2) override;
+	void getScreenBoundingBox(const Mesh *mesh, int *x1, int *y1, int *x2, int *y2) override;
+	void getScreenBoundingBox(const EMIModel *model, int *x1, int *y1, int *x2, int *y2) override;
 	void getActorScreenBBox(const Actor *actor, Common::Point &p1, Common::Point &p2) override;
-	virtual void startActorDraw(const Actor *actor) override;
-
-	virtual void finishActorDraw() override;
-	virtual void setShadow(Shadow *shadow) override;
-	virtual void drawShadowPlanes() override;
-	virtual void setShadowMode() override;
-	virtual void clearShadowMode() override;
-	virtual bool isShadowModeActive() override;
-	virtual void setShadowColor(byte r, byte g, byte b) override;
-	virtual void getShadowColor(byte *r, byte *g, byte *b) override;
-	virtual void destroyShadow(Shadow *shadow) override;
-
-	virtual void set3DMode() override;
-
-	virtual void translateViewpointStart() override;
-	virtual void translateViewpoint(const Math::Vector3d &vec) override;
-	virtual void rotateViewpoint(const Math::Angle &angle, const Math::Vector3d &axis) override;
-	virtual void rotateViewpoint(const Math::Matrix4 &rot) override;
-	virtual void translateViewpointFinish() override;
-
-	virtual void drawEMIModelFace(const EMIModel* model, const EMIMeshFace* face) override;
-	virtual void drawModelFace(const Mesh *mesh, const MeshFace *face) override;
-	virtual void drawSprite(const Sprite *sprite) override;
-	virtual void drawMesh(const Mesh *mesh) override;
-	virtual void drawDimPlane() override;
-
-	virtual void enableLights() override;
-	virtual void disableLights() override;
-	virtual void setupLight(Light *light, int lightId) override;
-	virtual void turnOffLight(int lightId) override;
-
-	virtual void createTexture(Texture *texture, const uint8 *data, const CMap *cmap, bool clamp) override;
-	virtual void selectTexture(const Texture *texture) override;
-	virtual void destroyTexture(Texture *texture) override;
+	void startActorDraw(const Actor *actor) override;
+
+	void finishActorDraw() override;
+	void setShadow(Shadow *shadow) override;
+	void drawShadowPlanes() override;
+	void setShadowMode() override;
+	void clearShadowMode() override;
+	bool isShadowModeActive() override;
+	void setShadowColor(byte r, byte g, byte b) override;
+	void getShadowColor(byte *r, byte *g, byte *b) override;
+	void destroyShadow(Shadow *shadow) override;
+
+	void set3DMode() override;
+
+	void translateViewpointStart() override;
+	void translateViewpoint(const Math::Vector3d &vec) override;
+	void rotateViewpoint(const Math::Angle &angle, const Math::Vector3d &axis) override;
+	void rotateViewpoint(const Math::Matrix4 &rot) override;
+	void translateViewpointFinish() override;
+
+	void drawEMIModelFace(const EMIModel* model, const EMIMeshFace* face) override;
+	void drawModelFace(const Mesh *mesh, const MeshFace *face) override;
+	void drawSprite(const Sprite *sprite) override;
+	void drawMesh(const Mesh *mesh) override;
+	void drawDimPlane() override;
+
+	void enableLights() override;
+	void disableLights() override;
+	void setupLight(Light *light, int lightId) override;
+	void turnOffLight(int lightId) override;
+
+	void createTexture(Texture *texture, const uint8 *data, const CMap *cmap, bool clamp) override;
+	void selectTexture(const Texture *texture) override;
+	void destroyTexture(Texture *texture) override;
 
 	/**
 	 * Prepares a bitmap for drawing
@@ -117,7 +117,7 @@ public:
 	 * @see destroyBitmap
 	 * @see drawBitmap
 	 */
-	virtual void createBitmap(BitmapData *bitmap) override;
+	void createBitmap(BitmapData *bitmap) override;
 
 	/**
 	 * Draws a bitmap
@@ -127,7 +127,7 @@ public:
 	 * @see createBitmap
 	 * @see destroyBitmap
 	 */
-	virtual void drawBitmap(const Bitmap *bitmap, int x, int y, uint32 layer = 0) override;
+	void drawBitmap(const Bitmap *bitmap, int x, int y, uint32 layer = 0) override;
 
 	/**
 	 * Deletes any internal references and representations of a bitmap
@@ -138,26 +138,26 @@ public:
 	 * @see createBitmap
 	 * @see drawBitmap
 	 */
-	virtual void destroyBitmap(BitmapData *bitmap) override;
+	void destroyBitmap(BitmapData *bitmap) override;
 
-	virtual void createFont(Font *font) override;
-	virtual void destroyFont(Font *font) override;
+	void createFont(Font *font) override;
+	void destroyFont(Font *font) override;
 
-	virtual void createTextObject(TextObject *text) override;
-	virtual void drawTextObject(const TextObject *text) override;
-	virtual void destroyTextObject(TextObject *text) override;
+	void createTextObject(TextObject *text) override;
+	void drawTextObject(const TextObject *text) override;
+	void destroyTextObject(TextObject *text) override;
 
-	virtual Bitmap *getScreenshot(int w, int h, bool useStored) override;
-	virtual void storeDisplay() override;
-	virtual void copyStoredToDisplay() override;
+	Bitmap *getScreenshot(int w, int h, bool useStored) override;
+	void storeDisplay() override;
+	void copyStoredToDisplay() override;
 
 	/**
 	 * Dims the entire screen
 	 * Sets the entire screen to 10% of its current brightness,
 	 * and converts it to grayscale.
 	 */
-	virtual void dimScreen() override;
-	virtual void dimRegion(int x, int y, int w, int h, float level) override;
+	void dimScreen() override;
+	void dimRegion(int x, int y, int w, int h, float level) override;
 
 	/**
 	 * Draw a completely opaque Iris around the specified rectangle.
@@ -167,14 +167,14 @@ public:
 	 * @param x		the width of the Iris
 	 * @param y		the height of the Iris
 	 */
-	virtual void irisAroundRegion(int x1, int y1, int x2, int y2) override;
+	void irisAroundRegion(int x1, int y1, int x2, int y2) override;
 
-	virtual void drawEmergString(int x, int y, const char *text, const Color &fgColor) override;
-	virtual void loadEmergFont() override;
+	void drawEmergString(int x, int y, const char *text, const Color &fgColor) override;
+	void loadEmergFont() override;
 
-	virtual void drawRectangle(const PrimitiveObject *primitive) override;
-	virtual void drawLine(const PrimitiveObject *primitive) override;
-	virtual void drawPolygon(const PrimitiveObject *primitive) override;
+	void drawRectangle(const PrimitiveObject *primitive) override;
+	void drawLine(const PrimitiveObject *primitive) override;
+	void drawPolygon(const PrimitiveObject *primitive) override;
 
 	/**
 	 * Prepare a movie-frame for drawing
@@ -186,8 +186,8 @@ public:
 	 * @see drawMovieFrame
 	 * @see releaseMovieFrame
 	 */
-	virtual void prepareMovieFrame(Graphics::Surface* frame) override;
-	virtual void drawMovieFrame(int offsetX, int offsetY) override;
+	void prepareMovieFrame(Graphics::Surface* frame) override;
+	void drawMovieFrame(int offsetX, int offsetY) override;
 
 	/**
 	 * Release the currently prepared movie-frame, if one exists.
@@ -195,20 +195,20 @@ public:
 	 * @see drawMovieFrame
 	 * @see prepareMovieFrame
 	 */
-	virtual void releaseMovieFrame() override;
+	void releaseMovieFrame() override;
 
-	virtual const char *getVideoDeviceName() override;
+	const char *getVideoDeviceName() override;
 
-	virtual void renderBitmaps(bool render) override;
-	virtual void renderZBitmaps(bool render) override;
+	void renderBitmaps(bool render) override;
+	void renderZBitmaps(bool render) override;
 
-	virtual void createMesh(Mesh *mesh) override;
-	virtual void destroyMesh(const Mesh *mesh) override;
-	virtual void createEMIModel(EMIModel *model) override;
-	virtual void updateEMIModel(const EMIModel* model) override;
-	virtual void destroyEMIModel(EMIModel *model) override;
+	void createMesh(Mesh *mesh) override;
+	void destroyMesh(const Mesh *mesh) override;
+	void createEMIModel(EMIModel *model) override;
+	void updateEMIModel(const EMIModel* model) override;
+	void destroyEMIModel(EMIModel *model) override;
 
-	virtual void setBlendMode(bool additive) override;
+	void setBlendMode(bool additive) override;
 
 protected:
 	void setupShaders();
diff --git a/engines/grim/grim.h b/engines/grim/grim.h
index c1c4adc4f6..5f039b304d 100644
--- a/engines/grim/grim.h
+++ b/engines/grim/grim.h
@@ -59,7 +59,7 @@ class GrimEngine : public Engine {
 
 protected:
 	// Engine APIs
-	virtual Common::Error run() override;
+	Common::Error run() override;
 
 public:
 	enum EngineMode {
@@ -195,7 +195,7 @@ public:
 	void debugLua(const Common::String &str);
 
 protected:
-	virtual void pauseEngineIntern(bool pause) override;
+	void pauseEngineIntern(bool pause) override;
 
 	void handleControls(Common::EventType type, const Common::KeyState &key);
 	void handleChars(Common::EventType type, const Common::KeyState &key);
diff --git a/engines/grim/inputdialog.h b/engines/grim/inputdialog.h
index 4b85e5d8f7..673d22d3af 100644
--- a/engines/grim/inputdialog.h
+++ b/engines/grim/inputdialog.h
@@ -39,8 +39,8 @@ public:
 	Common::String getString();
 
 protected:
-	virtual void handleKeyDown(Common::KeyState state) override;
-	virtual void handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data) override;
+	void handleKeyDown(Common::KeyState state) override;
+	void handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data) override;
 
 private:
 	bool _hasTextField;
diff --git a/engines/grim/lab.h b/engines/grim/lab.h
index c9ff45ed18..0dfcd22660 100644
--- a/engines/grim/lab.h
+++ b/engines/grim/lab.h
@@ -50,10 +50,10 @@ public:
 	Lab();
 	virtual ~Lab();
 	// Common::Archive implementation
-	virtual bool hasFile(const Common::Path &path) const override;
-	virtual int listMembers(Common::ArchiveMemberList &list) const override;
-	virtual const Common::ArchiveMemberPtr getMember(const Common::Path &path) const override;
-	virtual Common::SeekableReadStream *createReadStreamForMember(const Common::Path &path) const override;
+	bool hasFile(const Common::Path &path) const override;
+	int listMembers(Common::ArchiveMemberList &list) const override;
+	const Common::ArchiveMemberPtr getMember(const Common::Path &path) const override;
+	Common::SeekableReadStream *createReadStreamForMember(const Common::Path &path) const override;
 
 private:
 	void parseGrimFileTable(Common::File *_f);
diff --git a/engines/grim/movie/bink.h b/engines/grim/movie/bink.h
index 6ccf392a8f..fd3aabe25a 100644
--- a/engines/grim/movie/bink.h
+++ b/engines/grim/movie/bink.h
@@ -49,8 +49,8 @@ private:
 	bool loadFile(const Common::String &filename) override;
 	bool _demo;
 	bool bikCheck(Common::SeekableReadStream *stream, uint32 pos);
-	virtual void deinit() override;
-	virtual void handleFrame() override;
+	void deinit() override;
+	void handleFrame() override;
 };
 
 } // end of namespace Grim
diff --git a/engines/grim/patchr.cpp b/engines/grim/patchr.cpp
index f9223fee4c..0776150dfd 100644
--- a/engines/grim/patchr.cpp
+++ b/engines/grim/patchr.cpp
@@ -39,13 +39,13 @@ public:
 	bool load(Common::SeekableReadStream *file, const Common::String &patchName);
 
 	// Common::ReadStream implementation
-	virtual bool eos() const override;
-	virtual uint32 read(void *dataPtr, uint32 dataSize) override;
+	bool eos() const override;
+	uint32 read(void *dataPtr, uint32 dataSize) override;
 
 	// Common::SeekableReadStream implementation
-	virtual int64 pos() const override;
-	virtual int64 size() const override;
-	virtual bool seek(int64 offset, int whence = SEEK_SET) override;
+	int64 pos() const override;
+	int64 size() const override;
+	bool seek(int64 offset, int whence = SEEK_SET) override;
 
 private:
 	// Consts
diff --git a/engines/grim/pool.h b/engines/grim/pool.h
index 72d10f6892..1423c88cbc 100644
--- a/engines/grim/pool.h
+++ b/engines/grim/pool.h
@@ -141,7 +141,7 @@ public:
 	void setId(int id);
 
 	int getId() const override;
-	virtual int32 getTag() const override { return T::getStaticTag(); }
+	int32 getTag() const override { return T::getStaticTag(); }
 
 	static Pool &getPool();
 
diff --git a/engines/hugo/hugo.h b/engines/hugo/hugo.h
index 95d4c49cdb..ba4fa6818c 100644
--- a/engines/hugo/hugo.h
+++ b/engines/hugo/hugo.h
@@ -266,7 +266,7 @@ public:
 	bool hasFeature(EngineFeature f) const override;
 	const char *getCopyrightString() const;
 
-	virtual Common::String getSaveStateName(int slot) const override;
+	Common::String getSaveStateName(int slot) const override;
 	uint16 **loadLongArray(Common::SeekableReadStream &in);
 
 	FileManager *_file;
diff --git a/engines/icb/detection.cpp b/engines/icb/detection.cpp
index ff12292cb2..718f5a1141 100644
--- a/engines/icb/detection.cpp
+++ b/engines/icb/detection.cpp
@@ -84,13 +84,13 @@ public:
 		_directoryGlobs = directoryGlobs;
 	}
 
-	virtual const char *getName() const override { return "In Cold Blood Engine"; }
+	const char *getName() const override { return "In Cold Blood Engine"; }
 
 	const char *getEngineId() const override {
 		return "icb";
 	}
 
-	virtual const char *getOriginalCopyright() const override { return "(C) 2000 Revolution Software Ltd"; }
+	const char *getOriginalCopyright() const override { return "(C) 2000 Revolution Software Ltd"; }
 };
 
 } // End of namespace ICB
diff --git a/engines/icb/icb.h b/engines/icb/icb.h
index 45ab7e797b..92eaf78876 100644
--- a/engines/icb/icb.h
+++ b/engines/icb/icb.h
@@ -46,7 +46,7 @@ public:
 
 protected:
 	// Engine APIs
-	virtual Common::Error run() override;
+	Common::Error run() override;
 
 private:
 	void initGfx(bool hwAccel, bool fullscreen);
diff --git a/engines/icb/metaengine.cpp b/engines/icb/metaengine.cpp
index ba3c8ab478..b8127efcf0 100644
--- a/engines/icb/metaengine.cpp
+++ b/engines/icb/metaengine.cpp
@@ -33,9 +33,9 @@ public:
 	const char *getName() const override {
 		return "icb";
 	}
-	virtual bool hasFeature(MetaEngineFeature f) const override { return false; }
+	bool hasFeature(MetaEngineFeature f) const override { return false; }
 
-	virtual Common::Error createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	Common::Error createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
 
 	Common::KeymapArray initKeymaps(const char *target) const override;
 };
diff --git a/engines/kingdom/detection.cpp b/engines/kingdom/detection.cpp
index afa749d233..937ba6fbf2 100644
--- a/engines/kingdom/detection.cpp
+++ b/engines/kingdom/detection.cpp
@@ -88,11 +88,11 @@ public:
 		return "kingdom";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Kingdom: The Far Reaches' Engine";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Kingdom: The far Reaches (C) 1995 Virtual Image Productions";
 	}
 
diff --git a/engines/kingdom/metaengine.cpp b/engines/kingdom/metaengine.cpp
index b70acdd90c..5291a51175 100644
--- a/engines/kingdom/metaengine.cpp
+++ b/engines/kingdom/metaengine.cpp
@@ -44,12 +44,12 @@ public:
 		return "kingdom";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual Common::Error createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	Common::Error createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
 
-	virtual int getMaximumSaveSlot() const override;
-	virtual SaveStateList listSaves(const char *target) const override;
-	virtual void removeSaveState(const char *target, int slot) const override;
+	int getMaximumSaveSlot() const override;
+	SaveStateList listSaves(const char *target) const override;
+	void removeSaveState(const char *target, int slot) const override;
 	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
 };
 
diff --git a/engines/kyra/engine/eobcommon.h b/engines/kyra/engine/eobcommon.h
index 6000bedb7f..441df6f024 100644
--- a/engines/kyra/engine/eobcommon.h
+++ b/engines/kyra/engine/eobcommon.h
@@ -628,7 +628,7 @@ protected:
 	virtual void loadVcnData(const char *file, const uint8 *cgaMapping);
 	virtual Common::SeekableReadStreamEndian *getVmpData(const char *file);
 	void loadBlockProperties(const char *mazFile) override;
-	virtual const uint8 *getBlockFileData(int levelIndex) override;
+	const uint8 *getBlockFileData(int levelIndex) override;
 	const uint8 *getBlockFileData(const char *mazFile);
 	Common::String getBlockFileName(int levelIndex, int sub);
 	void loadDecorations(const char *cpsFile, const char *decFile);
diff --git a/engines/kyra/kyra_v1.h b/engines/kyra/kyra_v1.h
index 6c04e91338..db8c13cfaa 100644
--- a/engines/kyra/kyra_v1.h
+++ b/engines/kyra/kyra_v1.h
@@ -360,7 +360,7 @@ protected:
 
 	bool canLoadGameStateCurrently() override { return _isSaveAllowed; }
 	bool canSaveGameStateCurrently() override { return _isSaveAllowed; }
-	virtual int getAutosaveSlot() const override { return 999; }
+	int getAutosaveSlot() const override { return 999; }
 
 	const char *getSavegameFilename(int num);
 	Common::String _savegameFilename;
diff --git a/engines/kyra/metaengine.cpp b/engines/kyra/metaengine.cpp
index 07712209e9..368759634e 100644
--- a/engines/kyra/metaengine.cpp
+++ b/engines/kyra/metaengine.cpp
@@ -51,7 +51,7 @@ public:
 	int getMaximumSaveSlot() const override;
 	void removeSaveState(const char *target, int slot) const override;
 	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
-	virtual int getAutosaveSlot() const override { return 999; }
+	int getAutosaveSlot() const override { return 999; }
 
 	Common::KeymapArray initKeymaps(const char *target) const override;
 };
diff --git a/engines/lastexpress/entities/entity.h b/engines/lastexpress/entities/entity.h
index 431d6cec14..7325745db8 100644
--- a/engines/lastexpress/entities/entity.h
+++ b/engines/lastexpress/entities/entity.h
@@ -49,7 +49,7 @@ struct SavePoint;
 	void name(const SavePoint &savepoint);
 
 #define DECLARE_VFUNCTION(name) \
-	virtual void setup_##name() override; \
+	void setup_##name() override; \
 	void name(const SavePoint &savepoint);
 
 #define DECLARE_FUNCTION_1(name, param1) \
@@ -57,7 +57,7 @@ struct SavePoint;
 	void name(const SavePoint &savepoint);
 
 #define DECLARE_VFUNCTION_1(name, param1) \
-	virtual void setup_##name(param1) override; \
+	void setup_##name(param1) override; \
 	void name(const SavePoint &savepoint);
 
 #define DECLARE_FUNCTION_2(name, param1, param2) \
@@ -65,7 +65,7 @@ struct SavePoint;
 	void name(const SavePoint &savepoint);
 
 #define DECLARE_VFUNCTION_2(name, param1, param2) \
-	virtual void setup_##name(param1, param2) override; \
+	void setup_##name(param1, param2) override; \
 	void name(const SavePoint &savepoint);
 
 #define DECLARE_FUNCTION_3(name, param1, param2, param3) \
diff --git a/engines/mohawk/riven.h b/engines/mohawk/riven.h
index 6b78852bcf..c1500a7255 100644
--- a/engines/mohawk/riven.h
+++ b/engines/mohawk/riven.h
@@ -181,7 +181,7 @@ public:
 	void runOptionsDialog();
 
 	// Save / Load
-	virtual bool canSaveAutosaveCurrently() override;
+	bool canSaveAutosaveCurrently() override;
 
 	/**
 	 * Has the game ended, or has the user requested to quit?
diff --git a/engines/myst3/gfx_opengl.h b/engines/myst3/gfx_opengl.h
index 2af1a7c65c..5e2c6ed4f0 100644
--- a/engines/myst3/gfx_opengl.h
+++ b/engines/myst3/gfx_opengl.h
@@ -36,25 +36,25 @@ public:
 	OpenGLRenderer(OSystem *_system);
 	virtual ~OpenGLRenderer();
 
-	virtual void init() override;
+	void init() override;
 
-	virtual void clear() override;
-	virtual void selectTargetWindow(Window *window, bool is3D, bool scaled) override;
+	void clear() override;
+	void selectTargetWindow(Window *window, bool is3D, bool scaled) override;
 
 	Texture *createTexture(const Graphics::Surface *surface) override;
 	void freeTexture(Texture *texture) override;
 
-	virtual void drawRect2D(const Common::Rect &rect, uint8 a, uint8 r, uint8 g, uint8 b) override;
+	void drawRect2D(const Common::Rect &rect, uint8 a, uint8 r, uint8 g, uint8 b) override;
 	virtual void drawTexturedRect2D(const Common::Rect &screenRect, const Common::Rect &textureRect, Texture *texture,
 	                                float transparency = -1.0, bool additiveBlending = false) override;
 	virtual void drawTexturedRect3D(const Math::Vector3d &topLeft, const Math::Vector3d &bottomLeft,
 	                                const Math::Vector3d &topRight, const Math::Vector3d &bottomRight,
 	                                Texture *texture) override;
 
-	virtual void drawCube(Texture **textures) override;
-	virtual void draw2DText(const Common::String &text, const Common::Point &position) override;
+	void drawCube(Texture **textures) override;
+	void draw2DText(const Common::String &text, const Common::Point &position) override;
 
-	virtual Graphics::Surface *getScreenshot() override;
+	Graphics::Surface *getScreenshot() override;
 	Texture *copyScreenshotToTexture() override;
 
 private:
diff --git a/engines/myst3/gfx_opengl_shaders.h b/engines/myst3/gfx_opengl_shaders.h
index d5e3011513..49e3777433 100644
--- a/engines/myst3/gfx_opengl_shaders.h
+++ b/engines/myst3/gfx_opengl_shaders.h
@@ -37,25 +37,25 @@ public:
 	ShaderRenderer(OSystem *_system);
 	virtual ~ShaderRenderer();
 
-	virtual void init() override;
+	void init() override;
 
-	virtual void clear() override;
-	virtual void selectTargetWindow(Window *window, bool is3D, bool scaled) override;
+	void clear() override;
+	void selectTargetWindow(Window *window, bool is3D, bool scaled) override;
 
-	virtual Texture *createTexture(const Graphics::Surface *surface) override;
-	virtual void freeTexture(Texture *texture) override;
+	Texture *createTexture(const Graphics::Surface *surface) override;
+	void freeTexture(Texture *texture) override;
 
-	virtual void drawRect2D(const Common::Rect &rect, uint8 a, uint8 r, uint8 g, uint8 b) override;
+	void drawRect2D(const Common::Rect &rect, uint8 a, uint8 r, uint8 g, uint8 b) override;
 	virtual void drawTexturedRect2D(const Common::Rect &screenRect, const Common::Rect &textureRect, Texture *texture,
 	                                float transparency = -1.0, bool additiveBlending = false) override;
 	virtual void drawTexturedRect3D(const Math::Vector3d &topLeft, const Math::Vector3d &bottomLeft,
 	                                const Math::Vector3d &topRight, const Math::Vector3d &bottomRight,
 	                                Texture *texture) override;
 
-	virtual void drawCube(Texture **textures) override;
-	virtual void draw2DText(const Common::String &text, const Common::Point &position) override;
+	void drawCube(Texture **textures) override;
+	void draw2DText(const Common::String &text, const Common::Point &position) override;
 
-	virtual Graphics::Surface *getScreenshot() override;
+	Graphics::Surface *getScreenshot() override;
 	Texture *copyScreenshotToTexture() override;
 
 private:
diff --git a/engines/myst3/gfx_tinygl.h b/engines/myst3/gfx_tinygl.h
index f57a658c89..e65e5d0013 100644
--- a/engines/myst3/gfx_tinygl.h
+++ b/engines/myst3/gfx_tinygl.h
@@ -37,27 +37,27 @@ public:
 	TinyGLRenderer(OSystem *_system);
 	virtual ~TinyGLRenderer();
 
-	virtual void init() override;
+	void init() override;
 
-	virtual void clear() override;
-	virtual void selectTargetWindow(Window *window, bool is3D, bool scaled) override;
+	void clear() override;
+	void selectTargetWindow(Window *window, bool is3D, bool scaled) override;
 
 	Texture *createTexture(const Graphics::Surface *surface) override;
 	void freeTexture(Texture *texture) override;
 
-	virtual void drawRect2D(const Common::Rect &rect, uint8 a, uint8 r, uint8 g, uint8 b) override;
+	void drawRect2D(const Common::Rect &rect, uint8 a, uint8 r, uint8 g, uint8 b) override;
 	virtual void drawTexturedRect2D(const Common::Rect &screenRect, const Common::Rect &textureRect, Texture *texture,
 	                                float transparency = -1.0, bool additiveBlending = false) override;
 	virtual void drawTexturedRect3D(const Math::Vector3d &topLeft, const Math::Vector3d &bottomLeft,
 	                                const Math::Vector3d &topRight, const Math::Vector3d &bottomRight,
 	                                Texture *texture) override;
 
-	virtual void drawCube(Texture **textures) override;
-	virtual void draw2DText(const Common::String &text, const Common::Point &position) override;
+	void drawCube(Texture **textures) override;
+	void draw2DText(const Common::String &text, const Common::Point &position) override;
 
-	virtual Graphics::Surface *getScreenshot() override;
+	Graphics::Surface *getScreenshot() override;
 
-	virtual void flipBuffer() override;
+	void flipBuffer() override;
 private:
 	void drawFace(uint face, Texture *texture);
 
diff --git a/engines/myst3/menu.h b/engines/myst3/menu.h
index a61f9896be..8cebb29473 100644
--- a/engines/myst3/menu.h
+++ b/engines/myst3/menu.h
@@ -174,7 +174,7 @@ class Dialog : public Drawable {
 public:
 	Dialog(Myst3Engine *vm, uint id);
 	virtual ~Dialog();
-	virtual void draw() override;
+	void draw() override;
 	virtual int16 update() = 0;
 
 protected:
diff --git a/engines/myst3/movie.h b/engines/myst3/movie.h
index 68920dfca4..530b0c9930 100644
--- a/engines/myst3/movie.h
+++ b/engines/myst3/movie.h
@@ -40,8 +40,8 @@ public:
 	Movie(Myst3Engine *vm, uint16 id);
 	virtual ~Movie();
 
-	virtual void draw() override;
-	virtual void drawOverlay() override;
+	void draw() override;
+	void drawOverlay() override;
 
 	/** Increase or decrease the movie's pause level by one */
 	void pause(bool pause);
diff --git a/engines/myst3/myst3.h b/engines/myst3/myst3.h
index a719c85db7..b1c1768b2d 100644
--- a/engines/myst3/myst3.h
+++ b/engines/myst3/myst3.h
@@ -89,9 +89,9 @@ class Myst3Engine : public Engine {
 
 protected:
 	// Engine APIs
-	virtual Common::Error run() override;
-	virtual void syncSoundSettings() override;
-	virtual void pauseEngineIntern(bool pause) override;
+	Common::Error run() override;
+	void syncSoundSettings() override;
+	void pauseEngineIntern(bool pause) override;
 
 public:
 	GameState *_state;
diff --git a/engines/myst3/nodecube.h b/engines/myst3/nodecube.h
index af644cb7fa..cad764e305 100644
--- a/engines/myst3/nodecube.h
+++ b/engines/myst3/nodecube.h
@@ -35,7 +35,7 @@ public:
 	void draw() override;
 
 protected:
-	virtual bool isFaceVisible(uint faceId) override;
+	bool isFaceVisible(uint faceId) override;
 };
 
 } // End of namespace Myst3
diff --git a/engines/myst3/nodeframe.h b/engines/myst3/nodeframe.h
index 2c3a419b8c..8ed0b5ce2d 100644
--- a/engines/myst3/nodeframe.h
+++ b/engines/myst3/nodeframe.h
@@ -35,7 +35,7 @@ public:
 	void draw() override;
 
 protected:
-	virtual bool isFaceVisible(uint faceId) override { return true; }
+	bool isFaceVisible(uint faceId) override { return true; }
 };
 
 } // End of namespace Myst3
diff --git a/engines/nancy/action/leverpuzzle.h b/engines/nancy/action/leverpuzzle.h
index 188d22200b..ccae3bffd8 100644
--- a/engines/nancy/action/leverpuzzle.h
+++ b/engines/nancy/action/leverpuzzle.h
@@ -36,12 +36,12 @@ public:
 	LeverPuzzle(RenderObject &redrawFrom) : RenderObject(redrawFrom, 7) {}
 	virtual ~LeverPuzzle() {}
 
-	virtual void init() override;
+	void init() override;
 
-	virtual void readData(Common::SeekableReadStream &stream) override;
-	virtual void execute() override;
-	virtual void handleInput(NancyInput &input) override;
-	virtual void onPause(bool pause) override;
+	void readData(Common::SeekableReadStream &stream) override;
+	void execute() override;
+	void handleInput(NancyInput &input) override;
+	void onPause(bool pause) override;
 
 	Common::String _imageName; // 0x0
 	Common::Array<Common::Array<Common::Rect>> _srcRects; // 0xA, 0xC0 bytes
@@ -64,8 +64,8 @@ public:
 	SolveState _solveState = kNotSolved;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "LeverPuzzle"; }
-	virtual bool isViewportRelative() const override { return true; }
+	Common::String getRecordTypeName() const override { return "LeverPuzzle"; }
+	bool isViewportRelative() const override { return true; }
 
 	void drawLever(uint id);
 };
diff --git a/engines/nancy/action/orderingpuzzle.h b/engines/nancy/action/orderingpuzzle.h
index 29e059752d..7343a38f55 100644
--- a/engines/nancy/action/orderingpuzzle.h
+++ b/engines/nancy/action/orderingpuzzle.h
@@ -36,12 +36,12 @@ public:
 	OrderingPuzzle(RenderObject &redrawFrom) : RenderObject(redrawFrom, 7) {}
 	virtual ~OrderingPuzzle() {}
 
-	virtual void init() override;
+	void init() override;
 
-	virtual void readData(Common::SeekableReadStream &stream) override;
-	virtual void execute() override;
-	virtual void handleInput(NancyInput &input) override;
-	virtual void onPause(bool pause) override;
+	void readData(Common::SeekableReadStream &stream) override;
+	void execute() override;
+	void handleInput(NancyInput &input) override;
+	void onPause(bool pause) override;
 
 	Common::String _imageName; // 0x00
 	Common::Array<Common::Rect> _srcRects; // 0xC, 15
@@ -64,8 +64,8 @@ public:
 	Time _solveSoundPlayTime;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "OrderingPuzzle"; }
-	virtual bool isViewportRelative() const override { return true; }
+	Common::String getRecordTypeName() const override { return "OrderingPuzzle"; }
+	bool isViewportRelative() const override { return true; }
 
 	void drawElement(uint id);
 	void undrawElement(uint id);
diff --git a/engines/nancy/action/passwordpuzzle.h b/engines/nancy/action/passwordpuzzle.h
index 4c612c6aa2..f730a2e324 100644
--- a/engines/nancy/action/passwordpuzzle.h
+++ b/engines/nancy/action/passwordpuzzle.h
@@ -36,12 +36,12 @@ public:
 	PasswordPuzzle(RenderObject &redrawFrom) : RenderObject(redrawFrom, 7) {}
 	virtual ~PasswordPuzzle() {}
 
-	virtual void init() override;
+	void init() override;
 
-	virtual void readData(Common::SeekableReadStream &stream) override;
-	virtual void execute() override;
-	virtual void handleInput(NancyInput &input) override;
-	virtual void onPause(bool pause) override;
+	void readData(Common::SeekableReadStream &stream) override;
+	void execute() override;
+	void handleInput(NancyInput &input) override;
+	void onPause(bool pause) override;
 
 	uint16 _fontID = 0; // 0x00
 	Time _cursorBlinkTime; // 0x2
@@ -68,8 +68,8 @@ public:
 	SolveState _solveState = kNotSolved;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "PasswordPuzzle"; }
-	virtual bool isViewportRelative() const override { return true; }
+	Common::String getRecordTypeName() const override { return "PasswordPuzzle"; }
+	bool isViewportRelative() const override { return true; }
 
 	void drawText();
 };
diff --git a/engines/nancy/action/primaryvideo.h b/engines/nancy/action/primaryvideo.h
index 15e1b3d95d..98b0c3be40 100644
--- a/engines/nancy/action/primaryvideo.h
+++ b/engines/nancy/action/primaryvideo.h
@@ -73,13 +73,13 @@ public:
 	PlayPrimaryVideoChan0(RenderObject &redrawFrom) : RenderObject(redrawFrom, 8) {}
 	virtual ~PlayPrimaryVideoChan0();
 
-	virtual void init() override;
-	virtual void updateGraphics() override;
-	virtual void onPause(bool pause) override;
+	void init() override;
+	void updateGraphics() override;
+	void onPause(bool pause) override;
 
-	virtual void readData(Common::SeekableReadStream &stream) override;
-	virtual void execute() override;
-	virtual void handleInput(NancyInput &input) override;
+	void readData(Common::SeekableReadStream &stream) override;
+	void execute() override;
+	void handleInput(NancyInput &input) override;
 
 	// Functions for handling the built-in dialogue responses found in the executable
 	void addConditionalResponses();
@@ -109,8 +109,8 @@ public:
 	int16 _pickedResponse = -1;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "PlayPrimaryVideoChan0"; }
-	virtual bool isViewportRelative() const override { return true; }
+	Common::String getRecordTypeName() const override { return "PlayPrimaryVideoChan0"; }
+	bool isViewportRelative() const override { return true; }
 };
 
 } // End of namespace Action
diff --git a/engines/nancy/action/recordtypes.h b/engines/nancy/action/recordtypes.h
index 8b6c56509f..fd20f932ea 100644
--- a/engines/nancy/action/recordtypes.h
+++ b/engines/nancy/action/recordtypes.h
@@ -35,61 +35,61 @@ class NancyEngine;
 namespace Action {
 
 class Unimplemented : public ActionRecord {
-	virtual void execute() override;
+	void execute() override;
 };
 
 class SceneChange : public ActionRecord {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
-	virtual void execute() override;
+	void readData(Common::SeekableReadStream &stream) override;
+	void execute() override;
 
 	SceneChangeDescription _sceneChange;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "SceneChange"; }
+	Common::String getRecordTypeName() const override { return "SceneChange"; }
 };
 
 class HotMultiframeSceneChange : public SceneChange {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
-	virtual void execute() override;
+	void readData(Common::SeekableReadStream &stream) override;
+	void execute() override;
 
 	Common::Array<HotspotDescription> _hotspots;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "HotMultiframeSceneChange"; }
+	Common::String getRecordTypeName() const override { return "HotMultiframeSceneChange"; }
 };
 
 class Hot1FrSceneChange : public SceneChange {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
-	virtual void execute() override;
+	void readData(Common::SeekableReadStream &stream) override;
+	void execute() override;
 
 	HotspotDescription _hotspotDesc;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "Hot1FrSceneChange"; }
+	Common::String getRecordTypeName() const override { return "Hot1FrSceneChange"; }
 };
 
 class Hot1FrExitSceneChange : public Hot1FrSceneChange {
-	virtual CursorManager::CursorType getHoverCursor() const override { return CursorManager::kExit; }
+	CursorManager::CursorType getHoverCursor() const override { return CursorManager::kExit; }
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "Hot1FrExitSceneChange"; }
+	Common::String getRecordTypeName() const override { return "Hot1FrExitSceneChange"; }
 };
 
 class HotMultiframeMultisceneChange : public Unimplemented {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
+	void readData(Common::SeekableReadStream &stream) override;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "HotMultiframeMultisceneChange"; }
+	Common::String getRecordTypeName() const override { return "HotMultiframeMultisceneChange"; }
 };
 
 class PaletteThisScene : public ActionRecord {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
-	virtual void execute() override;
+	void readData(Common::SeekableReadStream &stream) override;
+	void execute() override;
 
 	byte _paletteID;
 	byte _unknownEnum; // enum w values 1-3
@@ -97,348 +97,348 @@ public:
 	uint16 _paletteSize;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "PaletteThisScene"; }
+	Common::String getRecordTypeName() const override { return "PaletteThisScene"; }
 };
 
 class PaletteNextScene : public ActionRecord {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
-	virtual void execute() override;
+	void readData(Common::SeekableReadStream &stream) override;
+	void execute() override;
 
 	byte _paletteID;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "PaletteNextScene"; }
+	Common::String getRecordTypeName() const override { return "PaletteNextScene"; }
 };
 
 class StartFrameNextScene : public Unimplemented {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
+	void readData(Common::SeekableReadStream &stream) override;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "StartFrameNextScene"; }
+	Common::String getRecordTypeName() const override { return "StartFrameNextScene"; }
 };
 
 class StartStopPlayerScrolling : public Unimplemented {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
+	void readData(Common::SeekableReadStream &stream) override;
 	// TODO add a Start and Stop subclass
 
 	byte _type = 0;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "StartStopPlayerScrolling"; }
+	Common::String getRecordTypeName() const override { return "StartStopPlayerScrolling"; }
 };
 
 class LightningOn : public Unimplemented {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
+	void readData(Common::SeekableReadStream &stream) override;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "LightningOn"; }
+	Common::String getRecordTypeName() const override { return "LightningOn"; }
 };
 
 class LightningOff : public Unimplemented {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
+	void readData(Common::SeekableReadStream &stream) override;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "LightningOff"; }
+	Common::String getRecordTypeName() const override { return "LightningOff"; }
 };
 
 class AmbientLightUp : public Unimplemented {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
+	void readData(Common::SeekableReadStream &stream) override;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "AmbientLightUp"; }
+	Common::String getRecordTypeName() const override { return "AmbientLightUp"; }
 };
 
 class AmbientLightDown : public Unimplemented {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
+	void readData(Common::SeekableReadStream &stream) override;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "AmbientLightDown"; }
+	Common::String getRecordTypeName() const override { return "AmbientLightDown"; }
 };
 
 class AmbientLightToTod : public Unimplemented {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
+	void readData(Common::SeekableReadStream &stream) override;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "AmbientLightToTod"; }
+	Common::String getRecordTypeName() const override { return "AmbientLightToTod"; }
 };
 
 class AmbientLightToTodOff : public Unimplemented {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
+	void readData(Common::SeekableReadStream &stream) override;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "AmbientLightToTodOff"; }
+	Common::String getRecordTypeName() const override { return "AmbientLightToTodOff"; }
 };
 
 class FlickerOn : public Unimplemented {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
+	void readData(Common::SeekableReadStream &stream) override;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "FlickerOn"; }
+	Common::String getRecordTypeName() const override { return "FlickerOn"; }
 };
 
 class FlickerOff : public Unimplemented {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
+	void readData(Common::SeekableReadStream &stream) override;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "FlickerOff"; }
+	Common::String getRecordTypeName() const override { return "FlickerOff"; }
 };
 
 class MapCall : public ActionRecord {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
-	virtual void execute() override;
+	void readData(Common::SeekableReadStream &stream) override;
+	void execute() override;
 
-	virtual CursorManager::CursorType getHoverCursor() const override { return CursorManager::kExit; }
+	CursorManager::CursorType getHoverCursor() const override { return CursorManager::kExit; }
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "MapCall"; }
+	Common::String getRecordTypeName() const override { return "MapCall"; }
 };
 
 class MapCallHot1Fr : public MapCall {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
-	virtual void execute() override;
+	void readData(Common::SeekableReadStream &stream) override;
+	void execute() override;
 
 	HotspotDescription _hotspotDesc;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "MapCallHot1Fr"; }
+	Common::String getRecordTypeName() const override { return "MapCallHot1Fr"; }
 };
 
 class MapCallHotMultiframe : public MapCall {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
-	virtual void execute() override;
+	void readData(Common::SeekableReadStream &stream) override;
+	void execute() override;
 
 	Common::Array<HotspotDescription> _hotspots;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "MapCallHotMultiframe"; }
+	Common::String getRecordTypeName() const override { return "MapCallHotMultiframe"; }
 };
 
 class MapLocationAccess : public Unimplemented {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
+	void readData(Common::SeekableReadStream &stream) override;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "MapLocationAccess"; }
+	Common::String getRecordTypeName() const override { return "MapLocationAccess"; }
 };
 
 class MapLightning : public Unimplemented {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
+	void readData(Common::SeekableReadStream &stream) override;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "MapLightning"; }
+	Common::String getRecordTypeName() const override { return "MapLightning"; }
 };
 
 class MapLightningOff : public Unimplemented {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
+	void readData(Common::SeekableReadStream &stream) override;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "MapLightningOff"; }
+	Common::String getRecordTypeName() const override { return "MapLightningOff"; }
 };
 
 class MapSound : public Unimplemented {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
+	void readData(Common::SeekableReadStream &stream) override;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "MapSound"; }
+	Common::String getRecordTypeName() const override { return "MapSound"; }
 };
 
 class MapAviOverride : public Unimplemented {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
+	void readData(Common::SeekableReadStream &stream) override;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "MapAviOverride"; }
+	Common::String getRecordTypeName() const override { return "MapAviOverride"; }
 };
 
 class MapAviOverrideOff : public Unimplemented {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
+	void readData(Common::SeekableReadStream &stream) override;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "MapAviOverrideOff"; }
+	Common::String getRecordTypeName() const override { return "MapAviOverrideOff"; }
 };
 
 class TextBoxWrite : public Unimplemented {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
+	void readData(Common::SeekableReadStream &stream) override;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "TextBoxWrite"; }
+	Common::String getRecordTypeName() const override { return "TextBoxWrite"; }
 };
 
 class TextBoxClear : public Unimplemented {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
+	void readData(Common::SeekableReadStream &stream) override;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "TextBoxClear"; }
+	Common::String getRecordTypeName() const override { return "TextBoxClear"; }
 };
 
 class BumpPlayerClock : public Unimplemented {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
+	void readData(Common::SeekableReadStream &stream) override;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "BumpPlayerClock"; }
+	Common::String getRecordTypeName() const override { return "BumpPlayerClock"; }
 };
 
 class SaveContinueGame : public ActionRecord {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
-	virtual void execute() override;
+	void readData(Common::SeekableReadStream &stream) override;
+	void execute() override;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "SaveContinueGame"; }
+	Common::String getRecordTypeName() const override { return "SaveContinueGame"; }
 };
 
 class TurnOffMainRendering : public Unimplemented {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
+	void readData(Common::SeekableReadStream &stream) override;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "TurnOffMainRendering"; }
+	Common::String getRecordTypeName() const override { return "TurnOffMainRendering"; }
 };
 
 class TurnOnMainRendering : public Unimplemented {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
+	void readData(Common::SeekableReadStream &stream) override;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "TurnOnMainRendering"; }
+	Common::String getRecordTypeName() const override { return "TurnOnMainRendering"; }
 };
 
 class ResetAndStartTimer : public ActionRecord {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
-	virtual void execute() override;
+	void readData(Common::SeekableReadStream &stream) override;
+	void execute() override;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "ResetAndStartTimer"; }
+	Common::String getRecordTypeName() const override { return "ResetAndStartTimer"; }
 };
 
 class StopTimer : public ActionRecord {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
-	virtual void execute() override;
+	void readData(Common::SeekableReadStream &stream) override;
+	void execute() override;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "StopTimer"; }
+	Common::String getRecordTypeName() const override { return "StopTimer"; }
 };
 
 class EventFlags : public ActionRecord {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
-	virtual void execute() override;
+	void readData(Common::SeekableReadStream &stream) override;
+	void execute() override;
 
 	MultiEventFlagDescription _flags;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "EventFlags"; }
+	Common::String getRecordTypeName() const override { return "EventFlags"; }
 };
 
 class EventFlagsMultiHS : public EventFlags {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
-	virtual void execute() override;
+	void readData(Common::SeekableReadStream &stream) override;
+	void execute() override;
 
 	Common::Array<HotspotDescription> _hotspots;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "EventFlagsMultiHS"; }
+	Common::String getRecordTypeName() const override { return "EventFlagsMultiHS"; }
 };
 
 class LoseGame : public ActionRecord {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
-	virtual void execute() override;
+	void readData(Common::SeekableReadStream &stream) override;
+	void execute() override;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "LoseGame"; }
+	Common::String getRecordTypeName() const override { return "LoseGame"; }
 };
 
 class PushScene : public Unimplemented {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
+	void readData(Common::SeekableReadStream &stream) override;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "PushScene"; }
+	Common::String getRecordTypeName() const override { return "PushScene"; }
 };
 
 class PopScene : public Unimplemented {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
+	void readData(Common::SeekableReadStream &stream) override;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "PopScene"; }
+	Common::String getRecordTypeName() const override { return "PopScene"; }
 };
 
 class WinGame : public ActionRecord {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
-	virtual void execute() override;
+	void readData(Common::SeekableReadStream &stream) override;
+	void execute() override;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "WinGame"; }
+	Common::String getRecordTypeName() const override { return "WinGame"; }
 };
 
 class AddInventoryNoHS : public ActionRecord {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
-	virtual void execute() override;
+	void readData(Common::SeekableReadStream &stream) override;
+	void execute() override;
 
 	uint _itemID;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "AddInventoryNoHS"; }
+	Common::String getRecordTypeName() const override { return "AddInventoryNoHS"; }
 };
 
 class RemoveInventoryNoHS : public Unimplemented {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
+	void readData(Common::SeekableReadStream &stream) override;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "RemoveInventoryNoHS"; }
+	Common::String getRecordTypeName() const override { return "RemoveInventoryNoHS"; }
 };
 
 class DifficultyLevel : public ActionRecord {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
-	virtual void execute() override;
+	void readData(Common::SeekableReadStream &stream) override;
+	void execute() override;
 
 	uint16 _difficulty = 0;
 	EventFlagDescription _flag;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "DifficultyLevel"; }
+	Common::String getRecordTypeName() const override { return "DifficultyLevel"; }
 };
 
 class ShowInventoryItem : public ActionRecord, public RenderObject {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
-	virtual void execute() override;
+	void readData(Common::SeekableReadStream &stream) override;
+	void execute() override;
 
 	ShowInventoryItem(RenderObject &redrawFrom) : RenderObject(redrawFrom, 9) {}
 	virtual ~ShowInventoryItem() { _fullSurface.free(); }
 
-	virtual void init() override;
-	virtual void onPause(bool pause) override;
+	void init() override;
+	void onPause(bool pause) override;
 
 	uint16 _objectID = 0;
 	Common::String _imageName;
@@ -448,14 +448,14 @@ public:
 	Graphics::ManagedSurface _fullSurface;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "ShowInventoryItem"; }
-	virtual bool isViewportRelative() const override { return true; }
+	Common::String getRecordTypeName() const override { return "ShowInventoryItem"; }
+	bool isViewportRelative() const override { return true; }
 };
 
 class PlayDigiSoundAndDie : public ActionRecord {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
-	virtual void execute() override;
+	void readData(Common::SeekableReadStream &stream) override;
+	void execute() override;
 	// TODO subclass into Play and Stop (?)
 
 	SoundDescription _sound;
@@ -463,24 +463,24 @@ public:
 	EventFlagDescription _flagOnTrigger;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "PlayDigiSoundAndDie"; }
+	Common::String getRecordTypeName() const override { return "PlayDigiSoundAndDie"; }
 };
 
 class PlaySoundPanFrameAnchorAndDie : public ActionRecord {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
-	virtual void execute() override;
+	void readData(Common::SeekableReadStream &stream) override;
+	void execute() override;
 
 	SoundDescription _sound;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "PlaySoundPanFrameAnchorAndDie"; }
+	Common::String getRecordTypeName() const override { return "PlaySoundPanFrameAnchorAndDie"; }
 };
 
 class PlaySoundMultiHS : public ActionRecord {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
-	virtual void execute() override;
+	void readData(Common::SeekableReadStream &stream) override;
+	void execute() override;
 
 	SoundDescription _sound; // 0x0
 	SceneChangeDescription _sceneChange; // 0x22
@@ -488,13 +488,13 @@ public:
 	Common::Array<HotspotDescription> _hotspots; // 0x31
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "PlaySoundMultiHS"; }
+	Common::String getRecordTypeName() const override { return "PlaySoundMultiHS"; }
 };
 
 class HintSystem : public ActionRecord {
 public:
-	virtual void readData(Common::SeekableReadStream &stream) override;
-	virtual void execute() override;
+	void readData(Common::SeekableReadStream &stream) override;
+	void execute() override;
 
 	byte _characterID; // 0x00
 	SoundDescription _genericSound; // 0x01
@@ -508,7 +508,7 @@ public:
 	void getHint(uint hint, uint difficulty);
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "HintSystem"; }
+	Common::String getRecordTypeName() const override { return "HintSystem"; }
 };
 
 } // End of namespace Action
diff --git a/engines/nancy/action/rotatinglockpuzzle.h b/engines/nancy/action/rotatinglockpuzzle.h
index 5c79b5b7bf..05a8d9c5e3 100644
--- a/engines/nancy/action/rotatinglockpuzzle.h
+++ b/engines/nancy/action/rotatinglockpuzzle.h
@@ -36,12 +36,12 @@ public:
 	RotatingLockPuzzle(RenderObject &redrawFrom) : RenderObject(redrawFrom, 7) {}
 	virtual ~RotatingLockPuzzle() {}
 
-	virtual void init() override;
+	void init() override;
 
-	virtual void readData(Common::SeekableReadStream &stream) override;
-	virtual void execute() override;
-	virtual void handleInput(NancyInput &input) override;
-	virtual void onPause(bool pause) override;
+	void readData(Common::SeekableReadStream &stream) override;
+	void execute() override;
+	void handleInput(NancyInput &input) override;
+	void onPause(bool pause) override;
 
 	Common::String _imageName; // 0x00
 	// 0xA numDials
@@ -66,8 +66,8 @@ public:
 
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "RotatingLockPuzzle"; }
-	virtual bool isViewportRelative() const override { return true; }
+	Common::String getRecordTypeName() const override { return "RotatingLockPuzzle"; }
+	bool isViewportRelative() const override { return true; }
 
 	void drawDial(uint id);
 };
diff --git a/engines/nancy/action/secondarymovie.h b/engines/nancy/action/secondarymovie.h
index 6676e58a1b..dee3653e05 100644
--- a/engines/nancy/action/secondarymovie.h
+++ b/engines/nancy/action/secondarymovie.h
@@ -42,12 +42,12 @@ public:
 	PlaySecondaryMovie(RenderObject &redrawFrom) : RenderObject(redrawFrom, 8) {}
 	virtual ~PlaySecondaryMovie();
 
-	virtual void init() override;
-	virtual void updateGraphics() override;
-	virtual void onPause(bool pause) override;
+	void init() override;
+	void updateGraphics() override;
+	void onPause(bool pause) override;
 
-	virtual void readData(Common::SeekableReadStream &stream) override;
-	virtual void execute() override;
+	void readData(Common::SeekableReadStream &stream) override;
+	void execute() override;
 
 	Common::String _videoName; // 0x00
 
@@ -65,8 +65,8 @@ public:
 	Common::Array<SecondaryVideoDescription> _videoDescs; // 0xD4
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "PlaySecondaryMovie"; }
-	virtual bool isViewportRelative() const override { return true; }
+	Common::String getRecordTypeName() const override { return "PlaySecondaryMovie"; }
+	bool isViewportRelative() const override { return true; }
 
 	AVFDecoder _decoder;
 	int _curViewportFrame = -1;
diff --git a/engines/nancy/action/secondaryvideo.h b/engines/nancy/action/secondaryvideo.h
index 68793c94fa..16296daa0a 100644
--- a/engines/nancy/action/secondaryvideo.h
+++ b/engines/nancy/action/secondaryvideo.h
@@ -41,13 +41,13 @@ public:
 	PlaySecondaryVideo(uint chan, RenderObject &redrawFrom) : RenderObject(redrawFrom, 8), channel(chan) {}
 	virtual ~PlaySecondaryVideo() { _decoder.close(); }
 
-	virtual void init() override;
-	virtual void updateGraphics() override;
-	virtual void onPause(bool pause) override;
-	virtual void handleInput(NancyInput &input) override;
+	void init() override;
+	void updateGraphics() override;
+	void onPause(bool pause) override;
+	void handleInput(NancyInput &input) override;
 
-	virtual void readData(Common::SeekableReadStream &stream) override;
-	virtual void execute() override;
+	void readData(Common::SeekableReadStream &stream) override;
+	void execute() override;
 
 	Common::String _filename;
 	Common::String _paletteFilename;
@@ -62,8 +62,8 @@ public:
 	Common::Array<SecondaryVideoDescription> _videoDescs; // 0x35
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return Common::String::format("PlaySecondaryVideoChan%i", channel); }
-	virtual bool isViewportRelative() const override { return true; }
+	Common::String getRecordTypeName() const override { return Common::String::format("PlaySecondaryVideoChan%i", channel); }
+	bool isViewportRelative() const override { return true; }
 
 	Graphics::ManagedSurface _fullFrame;
 	HoverState _hoverState = kNoHover;
diff --git a/engines/nancy/action/sliderpuzzle.h b/engines/nancy/action/sliderpuzzle.h
index 6d73432283..6575489e1c 100644
--- a/engines/nancy/action/sliderpuzzle.h
+++ b/engines/nancy/action/sliderpuzzle.h
@@ -41,12 +41,12 @@ public:
 	SliderPuzzle(RenderObject &redrawFrom) : RenderObject(redrawFrom, 7) {}
 	virtual ~SliderPuzzle() {}
 
-	virtual void init() override;
+	void init() override;
 
-	virtual void readData(Common::SeekableReadStream &stream) override;
-	virtual void execute() override;
-	virtual void handleInput(NancyInput &input) override;
-	virtual void onPause(bool pause) override;
+	void readData(Common::SeekableReadStream &stream) override;
+	void execute() override;
+	void handleInput(NancyInput &input) override;
+	void onPause(bool pause) override;
 
 	Common::String _imageName; // 0x00
 	uint16 _width = 0; // 0xA
@@ -66,8 +66,8 @@ public:
 	Graphics::ManagedSurface _image;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "SliderPuzzle"; }
-	virtual bool isViewportRelative() const override { return true; }
+	Common::String getRecordTypeName() const override { return "SliderPuzzle"; }
+	bool isViewportRelative() const override { return true; }
 
 	void drawTile(int tileID, uint posX, uint posY);
 	void undrawTile(uint posX, uint posY);
diff --git a/engines/nancy/action/staticbitmapanim.h b/engines/nancy/action/staticbitmapanim.h
index e54158708e..4d2336a159 100644
--- a/engines/nancy/action/staticbitmapanim.h
+++ b/engines/nancy/action/staticbitmapanim.h
@@ -40,11 +40,11 @@ public:
 	PlayStaticBitmapAnimation(bool interruptible, RenderObject &redrawFrom) : RenderObject(redrawFrom, 7), _isInterruptible(interruptible) {}
 	virtual ~PlayStaticBitmapAnimation() { _fullSurface.free(); }
 
-	virtual void init() override;
+	void init() override;
 
-	virtual void readData(Common::SeekableReadStream &stream) override;
-	virtual void execute() override;
-	virtual void onPause(bool pause) override;
+	void readData(Common::SeekableReadStream &stream) override;
+	void execute() override;
+	void onPause(bool pause) override;
 
 	Common::String _imageName;
 
@@ -74,8 +74,8 @@ public:
 	bool _isInterruptible;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return _isInterruptible ? "PlayIntStaticBitmapAnimation" : "PlayStaticBitmapAnimation"; }
-	virtual bool isViewportRelative() const override { return true; }
+	Common::String getRecordTypeName() const override { return _isInterruptible ? "PlayIntStaticBitmapAnimation" : "PlayStaticBitmapAnimation"; }
+	bool isViewportRelative() const override { return true; }
 
 	void setFrame(uint frame);
 
diff --git a/engines/nancy/action/telephone.h b/engines/nancy/action/telephone.h
index 5f19fa941d..5b9234cdd2 100644
--- a/engines/nancy/action/telephone.h
+++ b/engines/nancy/action/telephone.h
@@ -50,11 +50,11 @@ public:
 		_selected(0) {}
 	virtual ~Telephone() {}
 
-	virtual void init() override;
+	void init() override;
 
-	virtual void readData(Common::SeekableReadStream &stream) override;
-	virtual void execute() override;
-	virtual void handleInput(NancyInput &input) override;
+	void readData(Common::SeekableReadStream &stream) override;
+	void execute() override;
+	void handleInput(NancyInput &input) override;
 
 	Common::String _imageName; // 0x00
 	Common::Array<Common::Rect> _srcRects; // 0xA, 12
@@ -82,8 +82,8 @@ public:
 	uint _selected;
 
 protected:
-	virtual Common::String getRecordTypeName() const override { return "Telephone"; }
-	virtual bool isViewportRelative() const override { return true; }
+	Common::String getRecordTypeName() const override { return "Telephone"; }
+	bool isViewportRelative() const override { return true; }
 
 	void drawButton(uint id);
 	void undrawButton(uint id);
diff --git a/engines/nancy/detection.cpp b/engines/nancy/detection.cpp
index f01b4c9c1e..bd72f2dd09 100644
--- a/engines/nancy/detection.cpp
+++ b/engines/nancy/detection.cpp
@@ -231,19 +231,19 @@ public:
 		_directoryGlobs = directoryGlobs;
 	}
 
-	virtual const char *getEngineId() const override {
+	const char *getEngineId() const override {
 		return "nancy";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Nancy Drew";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Nancy Drew Engine copyright Her Interactive, 1995-2012";
 	}
 
-	virtual const DebugChannelDef *getDebugChannels() const override {
+	const DebugChannelDef *getDebugChannels() const override {
 		return debugFlagList;
 	}
 };
diff --git a/engines/nancy/dialogs.h b/engines/nancy/dialogs.h
index 6515bdd82b..463cca21a9 100644
--- a/engines/nancy/dialogs.h
+++ b/engines/nancy/dialogs.h
@@ -30,7 +30,7 @@ namespace Nancy {
 class NancyOptionsWidget : public GUI::OptionsContainerWidget {
 public:
 	NancyOptionsWidget(GuiObject *boss, const Common::String &name, const Common::String &domain);
-	virtual ~NancyOptionsWidget() override {};
+	~NancyOptionsWidget() override {};
 
 	void load() override;
 	bool save() override;
diff --git a/engines/nancy/metaengine.cpp b/engines/nancy/metaengine.cpp
index 73e8a818ab..a238ee5deb 100644
--- a/engines/nancy/metaengine.cpp
+++ b/engines/nancy/metaengine.cpp
@@ -28,19 +28,19 @@
 
 class NancyMetaEngine : public AdvancedMetaEngine {
 public:
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "nancy";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual Common::Error createInstance(OSystem *syst, Engine **engine, const ADGameDescription *gd) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	Common::Error createInstance(OSystem *syst, Engine **engine, const ADGameDescription *gd) const override;
 
-	virtual int getMaximumSaveSlot() const override;
+	int getMaximumSaveSlot() const override;
 
-	virtual Common::KeymapArray initKeymaps(const char *target) const override;
+	Common::KeymapArray initKeymaps(const char *target) const override;
 
-	virtual void registerDefaultSettings(const Common::String &target) const override;
-	virtual GUI::OptionsContainerWidget *buildEngineOptionsWidgetDynamic(GUI::GuiObject *boss, const Common::String &name, const Common::String &target) const override;
+	void registerDefaultSettings(const Common::String &target) const override;
+	GUI::OptionsContainerWidget *buildEngineOptionsWidgetDynamic(GUI::GuiObject *boss, const Common::String &name, const Common::String &target) const override;
 };
 
 Common::KeymapArray NancyMetaEngine::initKeymaps(const char *target) const {
diff --git a/engines/nancy/nancy.h b/engines/nancy/nancy.h
index 3edc956fd9..016a0681f0 100644
--- a/engines/nancy/nancy.h
+++ b/engines/nancy/nancy.h
@@ -80,13 +80,13 @@ public:
 
 	static NancyEngine *create(GameType type, OSystem *syst, const NancyGameDescription *gd);
 
-	virtual bool hasFeature(EngineFeature f) const override;
+	bool hasFeature(EngineFeature f) const override;
 
-	virtual Common::Error loadGameStream(Common::SeekableReadStream *stream) override;
-	virtual Common::Error saveGameStream(Common::WriteStream *stream, bool isAutosave = false) override;
-	virtual bool canLoadGameStateCurrently() override;
-	virtual bool canSaveGameStateCurrently() override;
-	virtual bool canSaveAutosaveCurrently() override;
+	Common::Error loadGameStream(Common::SeekableReadStream *stream) override;
+	Common::Error saveGameStream(Common::WriteStream *stream, bool isAutosave = false) override;
+	bool canLoadGameStateCurrently() override;
+	bool canSaveGameStateCurrently() override;
+	bool canSaveAutosaveCurrently() override;
 
 	const char *getCopyrightString() const;
 	uint32 getGameFlags() const;
@@ -138,7 +138,7 @@ private:
 		NancyState::NancyState prevState = NancyState::kNone;
 	};
 
-	virtual Common::Error run() override;
+	Common::Error run() override;
 
 	void bootGameEngine();
 
diff --git a/engines/nancy/state/credits.h b/engines/nancy/state/credits.h
index 395dfde89f..e592fd7664 100644
--- a/engines/nancy/state/credits.h
+++ b/engines/nancy/state/credits.h
@@ -42,8 +42,8 @@ public:
 	Credits() : _state(kInit), _background(), _text(_background), _pixelsToScroll(0) {}
 
 	// State API
-	virtual void process() override;
-	virtual void onStateExit() override { destroy(); };
+	void process() override;
+	void onStateExit() override { destroy(); };
 
 protected:
 	void init();
diff --git a/engines/nancy/state/help.h b/engines/nancy/state/help.h
index cf07a5d4cc..76a0a9c2f0 100644
--- a/engines/nancy/state/help.h
+++ b/engines/nancy/state/help.h
@@ -46,8 +46,8 @@ public:
 	virtual ~Help();
 
 	// State API
-	virtual void process() override;
-	virtual void onStateExit() override { destroy(); };
+	void process() override;
+	void onStateExit() override { destroy(); };
 
 private:
 	void init();
diff --git a/engines/nancy/state/logo.h b/engines/nancy/state/logo.h
index 6002f018df..62db574040 100644
--- a/engines/nancy/state/logo.h
+++ b/engines/nancy/state/logo.h
@@ -40,8 +40,8 @@ public:
 	Logo() : _state(kInit), _startTicks(0) { }
 
 	// State API
-	virtual void process() override;
-	virtual void onStateExit() override;
+	void process() override;
+	void onStateExit() override;
 
 private:
 	void init();
diff --git a/engines/nancy/state/mainmenu.h b/engines/nancy/state/mainmenu.h
index b1b4547611..38760024bd 100644
--- a/engines/nancy/state/mainmenu.h
+++ b/engines/nancy/state/mainmenu.h
@@ -38,8 +38,8 @@ public:
 	MainMenu() : _state(kInit), _selected(-1), _playedOKSound(false), _buttonDown(_background, 5) {}
 
 	// State API
-	virtual void process() override;
-	virtual void onStateExit() override;
+	void process() override;
+	void onStateExit() override;
 
 private:
 	void init();
diff --git a/engines/nancy/state/map.h b/engines/nancy/state/map.h
index 2f7f65ac94..8ff325a65a 100644
--- a/engines/nancy/state/map.h
+++ b/engines/nancy/state/map.h
@@ -48,8 +48,8 @@ public:
 	virtual ~Map();
 
 	// State API
-	virtual void process() override;
-	virtual void onStateExit() override;
+	void process() override;
+	void onStateExit() override;
 
 private:
 	struct Location {
diff --git a/engines/nancy/state/scene.h b/engines/nancy/state/scene.h
index ba9c48f225..dd37fd9714 100644
--- a/engines/nancy/state/scene.h
+++ b/engines/nancy/state/scene.h
@@ -114,9 +114,9 @@ public:
 	virtual ~Scene();
 
 	// State API
-	virtual void process() override;
-	virtual void onStateEnter() override;
-	virtual void onStateExit() override;
+	void process() override;
+	void onStateEnter() override;
+	void onStateExit() override;
 
 	void changeScene(uint16 id, uint16 frame, uint16 verticalOffset, bool noSound);
 	void changeScene(const SceneChangeDescription &sceneDescription);
diff --git a/engines/nancy/ui/fullscreenimage.h b/engines/nancy/ui/fullscreenimage.h
index 7d7355b1dd..5d54cb8eb9 100644
--- a/engines/nancy/ui/fullscreenimage.h
+++ b/engines/nancy/ui/fullscreenimage.h
@@ -36,7 +36,7 @@ public:
 	void init(const Common::String &imageName);
 
 protected:
-	virtual void init() override {}
+	void init() override {}
 };
 
 } // End of namespace UI
diff --git a/engines/nancy/ui/inventorybox.h b/engines/nancy/ui/inventorybox.h
index a5a6aae412..20d7a4f35a 100644
--- a/engines/nancy/ui/inventorybox.h
+++ b/engines/nancy/ui/inventorybox.h
@@ -55,9 +55,9 @@ public:
 	InventoryBox(RenderObject &redrawFrom);
 	virtual ~InventoryBox();
 
-	virtual void init() override;
-	virtual void updateGraphics() override;
-	virtual void registerGraphics() override;
+	void init() override;
+	void updateGraphics() override;
+	void registerGraphics() override;
 	void handleInput(NancyInput &input);
 
 	// To be called from Scene
@@ -82,8 +82,8 @@ private:
 			_curFrame(0) {}
 		virtual ~Curtains() = default;
 
-		virtual void init() override;
-		virtual void updateGraphics() override;
+		void init() override;
+		void updateGraphics() override;
 
 		void setOpen(bool open) { _areOpen = open; }
 
diff --git a/engines/nancy/ui/scrollbar.h b/engines/nancy/ui/scrollbar.h
index 55357f48e1..540b93f302 100644
--- a/engines/nancy/ui/scrollbar.h
+++ b/engines/nancy/ui/scrollbar.h
@@ -36,7 +36,7 @@ public:
 	Scrollbar(RenderObject &redrawFrom, uint16 zOrder, const Common::Rect &srcBounds, const Common::Point &topPosition, uint16 scrollDistance, bool isVertical = true);
 	virtual ~Scrollbar() = default;
 
-	virtual void init() override;
+	void init() override;
 
 	void handleInput(NancyInput &input);
 
diff --git a/engines/nancy/ui/textbox.h b/engines/nancy/ui/textbox.h
index e7244eee8c..059aa261c7 100644
--- a/engines/nancy/ui/textbox.h
+++ b/engines/nancy/ui/textbox.h
@@ -40,9 +40,9 @@ public:
 	Textbox(RenderObject &redrawFrom);
 	virtual ~Textbox();
 
-	virtual void init() override;
-	virtual void registerGraphics() override;
-	virtual void updateGraphics() override;
+	void init() override;
+	void registerGraphics() override;
+	void updateGraphics() override;
 	void handleInput(NancyInput &input);
 
 	void drawTextbox();
diff --git a/engines/nancy/ui/viewport.h b/engines/nancy/ui/viewport.h
index c28628cf3f..2435eb0128 100644
--- a/engines/nancy/ui/viewport.h
+++ b/engines/nancy/ui/viewport.h
@@ -52,7 +52,7 @@ public:
 
 	virtual ~Viewport() { _decoder.close(); _fullFrame.free(); }
 
-	virtual void init() override;
+	void init() override;
 	void handleInput(NancyInput &input);
 
 	void loadVideo(const Common::String &filename, uint frameNr = 0, uint verticalScroll = 0, NancyFlag dontWrap = kFalse, uint16 format = 2, const Common::String &palette = Common::String());
diff --git a/engines/nancy/video.h b/engines/nancy/video.h
index f53805cb50..7571867bd2 100644
--- a/engines/nancy/video.h
+++ b/engines/nancy/video.h
@@ -42,7 +42,7 @@ class AVFDecoder : public Video::VideoDecoder {
 public:
 	virtual ~AVFDecoder();
 
-	virtual bool loadStream(Common::SeekableReadStream *stream) override;
+	bool loadStream(Common::SeekableReadStream *stream) override;
 	const Graphics::Surface *decodeFrame(uint frameNr);
 	void addFrameTime(const uint16 timeToAdd);
 
@@ -53,21 +53,21 @@ private:
 		AVFVideoTrack(Common::SeekableReadStream *stream, uint32 chunkFileFormat);
 		virtual ~AVFVideoTrack();
 
-		virtual uint16 getWidth() const override { return _width; }
-		virtual uint16 getHeight() const override { return _height; }
-		virtual Graphics::PixelFormat getPixelFormat() const override { return _pixelFormat; }
-		virtual int getCurFrame() const override { return _curFrame; }
-		virtual int getFrameCount() const override { return _frameCount; }
-		virtual bool isSeekable() const override { return true; }
-		virtual bool seek(const Audio::Timestamp &time) override;
-		virtual bool setReverse(bool reverse) override;
-		virtual bool isReversed() const override { return _reversed; }
-		virtual bool endOfTrack() const override;
-		virtual const Graphics::Surface *decodeNextFrame() override;
+		uint16 getWidth() const override { return _width; }
+		uint16 getHeight() const override { return _height; }
+		Graphics::PixelFormat getPixelFormat() const override { return _pixelFormat; }
+		int getCurFrame() const override { return _curFrame; }
+		int getFrameCount() const override { return _frameCount; }
+		bool isSeekable() const override { return true; }
+		bool seek(const Audio::Timestamp &time) override;
+		bool setReverse(bool reverse) override;
+		bool isReversed() const override { return _reversed; }
+		bool endOfTrack() const override;
+		const Graphics::Surface *decodeNextFrame() override;
 		const Graphics::Surface *decodeFrame(uint frameNr);
 
 	protected:
-		virtual Common::Rational getFrameRate() const override { return Common::Rational(1000, _frameTime); }
+		Common::Rational getFrameRate() const override { return Common::Rational(1000, _frameTime); }
 
 	private:
 		struct ChunkInfo {
diff --git a/engines/ngi/ngi.h b/engines/ngi/ngi.h
index 30ffe0c3b6..0d50c3c794 100644
--- a/engines/ngi/ngi.h
+++ b/engines/ngi/ngi.h
@@ -371,7 +371,7 @@ public:
 
 	Common::Error loadGameState(int slot) override;
 	Common::Error saveGameState(int slot, const Common::String &description, bool isAutosave = false) override;
-	virtual Common::String getSaveStateName(int slot) const override;
+	Common::String getSaveStateName(int slot) const override;
 
 	bool canLoadGameStateCurrently() override { return true; }
 	bool canSaveGameStateCurrently() override { return _isSaveAllowed; }
diff --git a/engines/parallaction/font.cpp b/engines/parallaction/font.cpp
index 03f2013d80..2f30e2bc92 100644
--- a/engines/parallaction/font.cpp
+++ b/engines/parallaction/font.cpp
@@ -458,7 +458,7 @@ public:
 	}
 
 protected:
-	virtual uint16 height() override {
+	uint16 height() override {
 		return _font->getFontHeight();
 	}
 };
diff --git a/engines/petka/detection.cpp b/engines/petka/detection.cpp
index de81bb7128..56ee08e518 100644
--- a/engines/petka/detection.cpp
+++ b/engines/petka/detection.cpp
@@ -54,15 +54,15 @@ public:
 		return "petka";
 	}
 
-	virtual const char *getName() const override {
+	const char *getName() const override {
 		return "Red Comrades";
 	}
 
-	virtual const char *getOriginalCopyright() const override {
+	const char *getOriginalCopyright() const override {
 		return "Red Comrades (C) S.K.I.F.";
 	}
 
-	virtual const DebugChannelDef *getDebugChannels() const override {
+	const DebugChannelDef *getDebugChannels() const override {
 		return debugFlagList;
 	}
 };
diff --git a/engines/petka/interfaces/main.h b/engines/petka/interfaces/main.h
index fd76698b79..db8d5105e0 100644
--- a/engines/petka/interfaces/main.h
+++ b/engines/petka/interfaces/main.h
@@ -43,7 +43,7 @@ public:
 
 	void start(int id) override;
 
-	virtual void update(uint time) override;
+	void update(uint time) override;
 
 	void loadRoom(int id, bool fromSave);
 
diff --git a/engines/petka/metaengine.cpp b/engines/petka/metaengine.cpp
index b341451181..c7ff7097a6 100644
--- a/engines/petka/metaengine.cpp
+++ b/engines/petka/metaengine.cpp
@@ -33,12 +33,12 @@ public:
 		return "petka";
 	}
 
-	virtual bool hasFeature(MetaEngineFeature f) const override;
-	virtual int getMaximumSaveSlot() const override { return 17; }
-	virtual SaveStateList listSaves(const char *target) const override;
-	virtual void removeSaveState(const char *target, int slot) const override;
-	virtual SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
-	virtual Common::Error createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
+	bool hasFeature(MetaEngineFeature f) const override;
+	int getMaximumSaveSlot() const override { return 17; }
+	SaveStateList listSaves(const char *target) const override;
+	void removeSaveState(const char *target, int slot) const override;
+	SaveStateDescriptor querySaveMetaInfos(const char *target, int slot) const override;
+	Common::Error createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
 };
 
 bool PetkaMetaEngine::hasFeature(MetaEngineFeature f) const {
diff --git a/engines/petka/petka.h b/engines/petka/petka.h
index 5326b53fd0..1d211d930e 100644
--- a/engines/petka/petka.h
+++ b/engines/petka/petka.h
@@ -89,7 +89,7 @@ public:
 
 	void loadChapter(byte chapter);
 
-	virtual Common::Error run() override;
+	Common::Error run() override;
 
 	bool hasFeature(EngineFeature f) const override;
 
@@ -106,7 +106,7 @@ public:
 	Common::RandomSource &getRnd();
 	const Common::String &getSpeechPath();
 
-	virtual Common::Error loadGameState(int slot) override;
+	Common::Error loadGameState(int slot) override;
 	bool canLoadGameStateCurrently() override;
 
 	Common::Error saveGameState(int slot, const Common::String &desc, bool isAutosave) override;
diff --git a/engines/pink/pink.h b/engines/pink/pink.h
index b4e7a86e33..f27252f36d 100644
--- a/engines/pink/pink.h
+++ b/engines/pink/pink.h
@@ -100,7 +100,7 @@ public:
 
 	Common::Error saveGameState(int slot, const Common::String &desc, bool isAutosave = false) override;
 	bool canSaveGameStateCurrently() override;
-	virtual Common::String getSaveStateName(int slot) const override {
+	Common::String getSaveStateName(int slot) const override {
 		return Common::String::format("%s.s%02d", _targetName.c_str(), slot);
 	}
 
diff --git a/engines/playground3d/gfx_opengl.h b/engines/playground3d/gfx_opengl.h
index 9816bc63a0..0b357d6289 100644
--- a/engines/playground3d/gfx_opengl.h
+++ b/engines/playground3d/gfx_opengl.h
@@ -39,15 +39,15 @@ public:
 	OpenGLRenderer(OSystem *_system);
 	virtual ~OpenGLRenderer();
 
-	virtual void init() override;
+	void init() override;
 
-	virtual void clear(const Math::Vector4d &clearColor) override;
+	void clear(const Math::Vector4d &clearColor) override;
 
-	virtual void setupViewport(int x, int y, int width, int height) override;
-	virtual void drawCube(const Math::Vector3d &pos, const Math::Vector3d &roll) override;
-	virtual void drawPolyOffsetTest(const Math::Vector3d &pos, const Math::Vector3d &roll) override;
-	virtual void dimRegionInOut(float fade) override;
-	virtual void drawInViewport() override;
+	void setupViewport(int x, int y, int width, int height) override;
+	void drawCube(const Math::Vector3d &pos, const Math::Vector3d &roll) override;
+	void drawPolyOffsetTest(const Math::Vector3d &pos, const Math::Vector3d &roll) override;
+	void dimRegionInOut(float fade) override;
+	void drawInViewport() override;
 
 private:
 	Math::Vector3d _pos;
diff --git a/engines/playground3d/gfx_opengl_shaders.h b/engines/playground3d/gfx_opengl_shaders.h
index 3b12277b4c..006ed71841 100644
--- a/engines/playground3d/gfx_opengl_shaders.h
+++ b/engines/playground3d/gfx_opengl_shaders.h
@@ -39,15 +39,15 @@ public:
 	ShaderRenderer(OSystem *_system);
 	virtual ~ShaderRenderer();
 
-	virtual void init() override;
+	void init() override;
 
-	virtual void clear(const Math::Vector4d &clearColor) override;
+	void clear(const Math::Vector4d &clearColor) override;
 
-	virtual void setupViewport(int x, int y, int width, int height) override;
-	virtual void drawCube(const Math::Vector3d &pos, const Math::Vector3d &roll) override;
-	virtual void drawPolyOffsetTest(const Math::Vector3d &pos, const Math::Vector3d &roll) override;
-	virtual void dimRegionInOut(float fade) override;
-	virtual void drawInViewport() override;
+	void setupViewport(int x, int y, int width, int height) override;
+	void drawCube(const Math::Vector3d &pos, const Math::Vector3d &roll) override;
+	void drawPolyOffsetTest(const Math::Vector3d &pos, const Math::Vector3d &roll) override;
+	void dimRegionInOut(float fade) override;
+	void drawInViewport() override;
 
 private:
 	OpenGL::ShaderGL *_cubeShader;
diff --git a/engines/playground3d/gfx_tinygl.h b/engines/playground3d/gfx_tinygl.h
index 3d0abeead7..b68bd9aa77 100644
--- a/engines/playground3d/gfx_tinygl.h
+++ b/engines/playground3d/gfx_tinygl.h
@@ -39,17 +39,17 @@ public:
 	TinyGLRenderer(OSystem *_system);
 	virtual ~TinyGLRenderer();
 
-	virtual void init() override;
+	void init() override;
 
-	virtual void clear(const Math::Vector4d &clearColor) override;
+	void clear(const Math::Vector4d &clearColor) override;
 
-	virtual void setupViewport(int x, int y, int width, int height) override;
-	virtual void drawCube(const Math::Vector3d &pos, const Math::Vector3d &roll) override;
-	virtual void drawPolyOffsetTest(const Math::Vector3d &pos, const Math::Vector3d &roll) override;
-	virtual void dimRegionInOut(float fade) override;
-	virtual void drawInViewport() override;
+	void setupViewport(int x, int y, int width, int height) override;
+	void drawCube(const Math::Vector3d &pos, const Math::Vector3d &roll) override;
+	void drawPolyOffsetTest(const Math::Vector3d &pos, const Math::Vector3d &roll) override;
+	void dimRegionInOut(float fade) override;
+	void drawInViewport() override;
 
-	virtual void flipBuffer() override;
+	void flipBuffer() override;
 
 private:
 	TinyGL::FrameBuffer *_fb;
diff --git a/engines/queen/queen.h b/engines/queen/queen.h
index 579a2fb435..2ff51c0e9d 100644
--- a/engines/queen/queen.h
+++ b/engines/queen/queen.h
@@ -98,8 +98,8 @@ public:
 	bool canSaveGameStateCurrently() override;
 	Common::Error saveGameState(int slot, const Common::String &desc, bool isAutosave = false) override;
 	Common::Error loadGameState(int slot) override;
-	virtual int getAutosaveSlot() const override { return 99; }
-	virtual Common::String getSaveStateName(int slot) const override;
+	int getAutosaveSlot() const override { return 99; }
+	Common::String getSaveStateName(int slot) const override;
 	void makeGameStateName(int slot, char *buf) const;
 	int getGameStateSlot(const char *filename) const;
 	void findGameStateDescriptions(char descriptions[100][32]);
diff --git a/engines/saga/saga.h b/engines/saga/saga.h
index e4c8c770f4..dd6eb49435 100644
--- a/engines/saga/saga.h
+++ b/engines/saga/saga.h
@@ -405,7 +405,7 @@ public:
 	}
 	void fillSaveList();
 	char *calcSaveFileName(uint slotNumber);
-	virtual Common::String getSaveStateName(int slot) const override {
+	Common::String getSaveStateName(int slot) const override {
 		return Common::String::format("%s.s%02u", _targetName.c_str(), slot);
 	}
 
diff --git a/engines/sci/metaengine.cpp b/engines/sci/metaengine.cpp
index 5885a699fb..ff760e435f 100644
--- a/engines/sci/metaengine.cpp
+++ b/engines/sci/metaengine.cpp
@@ -282,7 +282,7 @@ public:
 
 	// A fallback detection method. This is not ideal as all detection lives in MetaEngine, but
 	// here fb detection has many engine dependencies.
-	virtual ADDetectedGame fallbackDetectExtern(uint md5Bytes, const FileMap &allFiles, const Common::FSList &fslist, ADDetectedGameExtraInfo **extra) const override;
+	ADDetectedGame fallbackDetectExtern(uint md5Bytes, const FileMap &allFiles, const Common::FSList &fslist, ADDetectedGameExtraInfo **extra) const override;
 
 	void registerDefaultSettings(const Common::String &target) const override;
 	GUI::OptionsContainerWidget *buildEngineOptionsWidgetDynamic(GUI::GuiObject *boss, const Common::String &name, const Common::String &target) const override;
diff --git a/engines/scumm/metaengine.h b/engines/scumm/metaengine.h
index 404be3dd2f..67cbaf9fc7 100644
--- a/engines/scumm/metaengine.h
+++ b/engines/scumm/metaengine.h
@@ -26,7 +26,7 @@
 #include "engines/metaengine.h"
 
 class ScummMetaEngine : public MetaEngine {
-	virtual const char *getName() const override;
+	const char *getName() const override;
 
 	bool hasFeature(MetaEngineFeature f) const override;
 
diff --git a/engines/sherlock/screen.h b/engines/sherlock/screen.h
index 93df9aeaaa..435edcb264 100644
--- a/engines/sherlock/screen.h
+++ b/engines/sherlock/screen.h
@@ -185,7 +185,7 @@ public:
 	/**
 	 * Draws the given string into the back buffer using the images stored in _font
 	 */
-	virtual void writeString(const Common::String &str, const Common::Point &pt, uint overrideColor);
+	void writeString(const Common::String &str, const Common::Point &pt, uint overrideColor);
 
 
 	// Rose Tattoo specific methods
diff --git a/engines/sky/sky.h b/engines/sky/sky.h
index 7e19db7960..ee588f4672 100644
--- a/engines/sky/sky.h
+++ b/engines/sky/sky.h
@@ -102,7 +102,7 @@ public:
 	Common::Error saveGameState(int slot, const Common::String &desc, bool isAutosave = false) override;
 	bool canLoadGameStateCurrently() override;
 	bool canSaveGameStateCurrently() override;
-	virtual Common::String getSaveStateName(int slot) const override {
+	Common::String getSaveStateName(int slot) const override {
 		return Common::String::format("SKY-VM.%03d", slot);
 	}
 
diff --git a/engines/stark/resources/floorface.h b/engines/stark/resources/floorface.h
index 07eb04c120..5a5d42b1a2 100644
--- a/engines/stark/resources/floorface.h
+++ b/engines/stark/resources/floorface.h
@@ -52,7 +52,7 @@ public:
 	virtual ~FloorFace();
 
 	// Resource API
-	virtual void onAllLoaded() override;
+	void onAllLoaded() override;
 
 	/** Return true if the point is inside the face when both are projected on a Z=0 plane*/
 	bool isPointInside(const Math::Vector3d &point) const;
diff --git a/engines/stark/resources/item.h b/engines/stark/resources/item.h
index 5622286d46..78e7d4080f 100644
--- a/engines/stark/resources/item.h
+++ b/engines/stark/resources/item.h
@@ -82,10 +82,10 @@ public:
 	virtual ~Item();
 
 	// Resource API
-	virtual void readData(Formats::XRCReadStream *stream) override;
-	virtual void onGameLoop() override;
-	virtual void saveLoad(ResourceSerializer *serializer) override;
-	virtual void saveLoadCurrent(ResourceSerializer *serializer) override;
+	void readData(Formats::XRCReadStream *stream) override;
+	void onGameLoop() override;
+	void saveLoad(ResourceSerializer *serializer) override;
+	void saveLoadCurrent(ResourceSerializer *serializer) override;
 
 	/** Is the item present in the scene */
 	bool isEnabled() const;
@@ -143,10 +143,10 @@ public:
 	virtual ~ItemVisual();
 
 	// Resource API
-	virtual void readData(Formats::XRCReadStream *stream) override;
-	virtual void onAllLoaded() override;
-	virtual void saveLoad(ResourceSerializer *serializer) override;
-	virtual void saveLoadCurrent(ResourceSerializer *serializer) override;
+	void readData(Formats::XRCReadStream *stream) override;
+	void onAllLoaded() override;
+	void saveLoad(ResourceSerializer *serializer) override;
+	void saveLoadCurrent(ResourceSerializer *serializer) override;
 
 	// Item API
 	void setEnabled(bool enabled) override;
@@ -391,7 +391,7 @@ public:
 	virtual ~FloorPositionedImageItem();
 
 	// Resource API
-	virtual void readData(Formats::XRCReadStream *stream) override;
+	void readData(Formats::XRCReadStream *stream) override;
 
 	// Item API
 	Gfx::RenderEntry *getRenderEntry(const Common::Point &positionOffset) override;
@@ -476,7 +476,7 @@ public:
 	virtual ~ImageItem();
 
 	// Resource API
-	virtual void readData(Formats::XRCReadStream *stream) override;
+	void readData(Formats::XRCReadStream *stream) override;
 
 	// Item API
 	Gfx::RenderEntry *getRenderEntry(const Common::Point &positionOffset) override;
diff --git a/engines/stark/resources/layer.h b/engines/stark/resources/layer.h
index 7ca6052bbe..48e13a634f 100644
--- a/engines/stark/resources/layer.h
+++ b/engines/stark/resources/layer.h
@@ -60,9 +60,9 @@ public:
 	virtual ~Layer();
 
 	// Resource API
-	virtual void readData(Formats::XRCReadStream *stream) override;
-	virtual void saveLoad(ResourceSerializer *serializer) override;
-	virtual void saveLoadCurrent(ResourceSerializer *serializer) override;
+	void readData(Formats::XRCReadStream *stream) override;
+	void saveLoad(ResourceSerializer *serializer) override;
+	void saveLoadCurrent(ResourceSerializer *serializer) override;
 
 	/** Obtain the render entries for all items, including the background */
 	virtual Gfx::RenderEntryArray listRenderEntries() = 0;
diff --git a/engines/stark/resources/path.h b/engines/stark/resources/path.h
index dce1e64f8b..2d5eac44ed 100644
--- a/engines/stark/resources/path.h
+++ b/engines/stark/resources/path.h
@@ -104,7 +104,7 @@ public:
 	};
 
 	// Resource API
-	virtual void readData(Formats::XRCReadStream *stream) override;
+	void readData(Formats::XRCReadStream *stream) override;
 
 	// Path API
 	uint getEdgeCount() const override;
@@ -134,7 +134,7 @@ public:
 	};
 
 	// Resource API
-	virtual void readData(Formats::XRCReadStream *stream) override;
+	void readData(Formats::XRCReadStream *stream) override;
 
 	// Path API
 	uint getEdgeCount() const override;
diff --git a/engines/supernova/supernova.h b/engines/supernova/supernova.h
index 9895bfc871..2aa2a1d028 100644
--- a/engines/supernova/supernova.h
+++ b/engines/supernova/supernova.h
@@ -90,7 +90,7 @@ public:
 
 	Common::Error loadGameStrings();
 	void init();
-	virtual Common::String getSaveStateName(int slot) const override;
+	Common::String getSaveStateName(int slot) const override;
 	bool loadGame(int slot);
 	bool saveGame(int slot, const Common::String &description);
 	bool serialize(Common::WriteStream *out);
diff --git a/engines/sword1/sword1.h b/engines/sword1/sword1.h
index 228ab0164e..988ea1bca0 100644
--- a/engines/sword1/sword1.h
+++ b/engines/sword1/sword1.h
@@ -114,7 +114,7 @@ protected:
 	bool canLoadGameStateCurrently() override;
 	Common::Error saveGameState(int slot, const Common::String &desc, bool isAutosave = false) override;
 	bool canSaveGameStateCurrently() override;
-	virtual Common::String getSaveStateName(int slot) const override {
+	Common::String getSaveStateName(int slot) const override {
 		return Common::String::format("sword1.%03d", slot);
 	}
 private:
diff --git a/engines/sword2/sword2.h b/engines/sword2/sword2.h
index ab28817d63..79e62572f7 100644
--- a/engines/sword2/sword2.h
+++ b/engines/sword2/sword2.h
@@ -222,7 +222,7 @@ public:
 	bool saveExists();
 	bool saveExists(uint16 slotNo);
 	uint32 restoreFromBuffer(byte *buffer, uint32 size);
-	virtual Common::String getSaveStateName(int slot) const override;
+	Common::String getSaveStateName(int slot) const override;
 	uint32 findBufferSize();
 
 	void startGame();
diff --git a/engines/titanic/core/message_target.h b/engines/titanic/core/message_target.h
index 8048c51eba..4f68601308 100644
--- a/engines/titanic/core/message_target.h
+++ b/engines/titanic/core/message_target.h
@@ -45,7 +45,7 @@ struct MSGMAP {
 #define DECLARE_MESSAGE_MAP \
 protected: \
 	static const MSGMAP *getThisMessageMap(); \
-	virtual const MSGMAP *getMessageMap() const override
+	const MSGMAP *getMessageMap() const override
 
 #define BEGIN_MESSAGE_MAP(theClass, baseClass) \
 	const MSGMAP *theClass::getMessageMap() const \
diff --git a/engines/titanic/core/saveable_object.h b/engines/titanic/core/saveable_object.h
index 65b2ddebb2..31f774abe2 100644
--- a/engines/titanic/core/saveable_object.h
+++ b/engines/titanic/core/saveable_object.h
@@ -54,7 +54,7 @@ public:
 
 #define CLASSDEF \
 	static ClassDef *_type; \
-	virtual ClassDef *getType() const override { return _type; }
+	ClassDef *getType() const override { return _type; }
 
 class CSaveableObject {
 	typedef CSaveableObject *(*CreateFunction)();
diff --git a/engines/tony/tony.h b/engines/tony/tony.h
index 6ce0353238..62a4261811 100644
--- a/engines/tony/tony.h
+++ b/engines/tony/tony.h
@@ -216,7 +216,7 @@ public:
 	void saveState(int n, const char *name);
 	void loadState(CORO_PARAM, int n);
 	static Common::String getSaveStateFileName(int n);
-	virtual Common::String getSaveStateName(int slot) const override;
+	Common::String getSaveStateName(int slot) const override;
 
 	/**
 	 * Get a thumbnail
diff --git a/engines/tucker/metaengine.cpp b/engines/tucker/metaengine.cpp
index 62553d41c1..3d75c6696a 100644
--- a/engines/tucker/metaengine.cpp
+++ b/engines/tucker/metaengine.cpp
@@ -85,7 +85,7 @@ public:
 		return Tucker::kLastSaveSlot;
 	}
 
-	virtual int getAutosaveSlot() const override {
+	int getAutosaveSlot() const override {
 		return Tucker::kAutoSaveSlot;
 	}
 
diff --git a/engines/tucker/tucker.h b/engines/tucker/tucker.h
index 8447789ddd..f5b79420c6 100644
--- a/engines/tucker/tucker.h
+++ b/engines/tucker/tucker.h
@@ -447,7 +447,7 @@ public:
 
 	WARN_UNUSED_RESULT static SavegameError readSavegameHeader(Common::InSaveFile *file, SavegameHeader &header, bool skipThumbnail = true);
 	WARN_UNUSED_RESULT static SavegameError readSavegameHeader(const char *target, int slot, SavegameHeader &header);
-	virtual bool canSaveAutosaveCurrently() override;
+	bool canSaveAutosaveCurrently() override;
 
 	static bool isAutosaveAllowed(const char *target);
 protected:
@@ -740,8 +740,8 @@ protected:
 	Common::Error loadGameState(int slot) override;
 	Common::Error saveGameState(int slot, const Common::String &desc, bool isAutosave = false) override;
 	SavegameError writeSavegameHeader(Common::OutSaveFile *file, SavegameHeader &header);
-	virtual int getAutosaveSlot() const override { return kAutoSaveSlot; }
-	virtual Common::String getSaveStateName(int slot) const override {
+	int getAutosaveSlot() const override { return kAutoSaveSlot; }
+	Common::String getSaveStateName(int slot) const override {
 		return Common::String::format("%s.%d", _targetName.c_str(), slot);
 	}
 
diff --git a/engines/ultima/shared/core/base_object.h b/engines/ultima/shared/core/base_object.h
index 48210195e3..d86538b79b 100644
--- a/engines/ultima/shared/core/base_object.h
+++ b/engines/ultima/shared/core/base_object.h
@@ -64,7 +64,7 @@ public:
 
 #define CLASSDEF \
 	static ::Ultima::Shared::ClassDef type(); \
-	virtual ::Ultima::Shared::ClassDef getType() const override { return type(); }
+	::Ultima::Shared::ClassDef getType() const override { return type(); }
 
 /**
  * Defines the most basic root of the engine's object hierarchy.
diff --git a/engines/ultima/shared/core/map.h b/engines/ultima/shared/core/map.h
index 49b137bac7..b1a153c8c5 100644
--- a/engines/ultima/shared/core/map.h
+++ b/engines/ultima/shared/core/map.h
@@ -33,7 +33,7 @@ namespace Ultima {
 namespace Shared {
 
 #define REGISTER_WIDGET(NAME) if (name == #NAME) return new Widgets::NAME(_game, (Ultima1Map::MapBase *)map)
-#define DECLARE_WIDGET(NAME) virtual const char *getClassName() const override { return #NAME; }
+#define DECLARE_WIDGET(NAME) const char *getClassName() const override { return #NAME; }
 
 enum Direction {
 	DIR_NONE = 0,
diff --git a/engines/ultima/shared/core/message_target.h b/engines/ultima/shared/core/message_target.h
index 5bfeefa5d5..e7cb12aabd 100644
--- a/engines/ultima/shared/core/message_target.h
+++ b/engines/ultima/shared/core/message_target.h
@@ -46,7 +46,7 @@ struct MSGMAP {
 #define DECLARE_MESSAGE_MAP \
 protected: \
 	static const Ultima::Shared::MSGMAP *getThisMessageMap(); \
-	virtual const Ultima::Shared::MSGMAP *getMessageMap() const override
+	const Ultima::Shared::MSGMAP *getMessageMap() const override
 
 #define DECLARE_MESSAGE_MAP_BASE \
 protected: \
diff --git a/engines/ultima/shared/maps/map.h b/engines/ultima/shared/maps/map.h
index 3f504e8c65..f12fefe8b0 100644
--- a/engines/ultima/shared/maps/map.h
+++ b/engines/ultima/shared/maps/map.h
@@ -39,7 +39,7 @@ class Game;
 namespace Maps {
 
 #define REGISTER_WIDGET(NAME) if (name == #NAME) return new Widgets::NAME(_game, this)
-#define DECLARE_WIDGET(NAME) virtual const char *getClassName() const override { return #NAME; }
+#define DECLARE_WIDGET(NAME) const char *getClassName() const override { return #NAME; }
 
 /**
  * Base class for managing maps within the game
diff --git a/engines/ultima/ultima1/core/game_state.h b/engines/ultima/ultima1/core/game_state.h
index 679833e944..21f49611e4 100644
--- a/engines/ultima/ultima1/core/game_state.h
+++ b/engines/ultima/ultima1/core/game_state.h
@@ -45,7 +45,7 @@ public:
 	/**
 	 * Setup the initial game state
 	 */
-	virtual void setup() override;
+	void setup() override;
 };
 
 } // End of namespace Ultima1
diff --git a/engines/ultima/ultima1/widgets/merchant_armor.h b/engines/ultima/ultima1/widgets/merchant_armor.h
index 530a40be98..c685682d1f 100644
--- a/engines/ultima/ultima1/widgets/merchant_armor.h
+++ b/engines/ultima/ultima1/widgets/merchant_armor.h
@@ -64,12 +64,12 @@ public:
 	/**
 	 * Does the get action
 	 */
-	virtual void get() override;
+	void get() override;
 
 	/**
 	 * Does the steal action
 	 */
-	virtual void steal() override;
+	void steal() override;
 };
 
 } // End of namespace Widgets
diff --git a/engines/ultima/ultima4/game/player.h b/engines/ultima/ultima4/game/player.h
index b7238bc103..667b988c19 100644
--- a/engines/ultima/ultima4/game/player.h
+++ b/engines/ultima/ultima4/game/player.h
@@ -243,7 +243,7 @@ public:
 	/**
 	 * Put the party member to sleep
 	 */
-	virtual void putToSleep() override;
+	void putToSleep() override;
 
 	/**
 	 * Wakes up the party member
diff --git a/engines/ultima/ultima8/misc/classtype.h b/engines/ultima/ultima8/misc/classtype.h
index fd6da54a1a..3de009f4a3 100644
--- a/engines/ultima/ultima8/misc/classtype.h
+++ b/engines/ultima/ultima8/misc/classtype.h
@@ -37,7 +37,7 @@ struct RunTimeClassType {
 
 #define ENABLE_RUNTIME_CLASSTYPE() \
 	static const RunTimeClassType ClassType; \
-	virtual const RunTimeClassType & GetClassType() const override { return ClassType; }
+	const RunTimeClassType & GetClassType() const override { return ClassType; }
 
 #define ENABLE_RUNTIME_CLASSTYPE_BASE() \
 	static const RunTimeClassType ClassType; \
diff --git a/engines/ultima/ultima8/world/actors/avatar_mover_process.h b/engines/ultima/ultima8/world/actors/avatar_mover_process.h
index 7f31a88dd3..4ec0ab7703 100644
--- a/engines/ultima/ultima8/world/actors/avatar_mover_process.h
+++ b/engines/ultima/ultima8/world/actors/avatar_mover_process.h
@@ -46,7 +46,7 @@ public:
 	}
 
 	bool loadData(Common::ReadStream *rs, uint32 version);
-	virtual void saveData(Common::WriteStream *ws) override;
+	void saveData(Common::WriteStream *ws) override;
 
 	bool hasMovementFlags(uint32 flags) const {
 		return (_movementFlags & flags) != 0;
diff --git a/engines/wintermute/base/gfx/x/modelx.h b/engines/wintermute/base/gfx/x/modelx.h
index b0956e3193..b2abe7a19c 100644
--- a/engines/wintermute/base/gfx/x/modelx.h
+++ b/engines/wintermute/base/gfx/x/modelx.h
@@ -178,8 +178,8 @@ public:
 	bool setMaterialTheora(const char *materialName, const char *theoraFilename);
 	bool initializeSimple();
 
-	virtual bool invalidateDeviceObjects() override;
-	virtual bool restoreDeviceObjects() override;
+	bool invalidateDeviceObjects() override;
+	bool restoreDeviceObjects() override;
 
 	bool unloadAnimation(const char *animName);
 
diff --git a/engines/wintermute/persistent.h b/engines/wintermute/persistent.h
index bcfc8e2d77..2adb903247 100644
--- a/engines/wintermute/persistent.h
+++ b/engines/wintermute/persistent.h
@@ -46,10 +46,10 @@ namespace Wintermute {
 #define DECLARE_PERSISTENT(className, parentClass)\
 	static const char _className[];\
 	static void *persistBuild(void);\
-	virtual const char *getClassName() override;\
+	const char *getClassName() override;\
 	static bool persistLoad(void* Instance, BasePersistenceManager* PersistMgr);\
 	className(TDynamicConstructor p1, TDynamicConstructor p2) : parentClass(p1, p2) { /*memset(this, 0, sizeof(class_name));*/ };\
-	virtual bool persist(BasePersistenceManager *persistMgr) override;\
+	bool persist(BasePersistenceManager *persistMgr) override;\
 	void* operator new (size_t size);\
 	void operator delete(void* p);\
 
diff --git a/engines/xeen/debugger.h b/engines/xeen/debugger.h
index 4b870f63d9..6270faa7ed 100644
--- a/engines/xeen/debugger.h
+++ b/engines/xeen/debugger.h
@@ -94,7 +94,7 @@ public:
 	/**
 	 * Updates the debugger
 	 */
-	virtual void onFrame() override;
+	void onFrame() override;
 };
 
 } // End of namespace Xeen
diff --git a/engines/xeen/xeen.h b/engines/xeen/xeen.h
index 43e1ae97ff..93bdf3d6a8 100644
--- a/engines/xeen/xeen.h
+++ b/engines/xeen/xeen.h
@@ -276,7 +276,7 @@ public:
 	/**
 	* Returns true if an autosave can be created
 	*/
-	virtual bool canSaveAutosaveCurrently() override;
+	bool canSaveAutosaveCurrently() override;
 
 	/**
 	 * Show a cutscene




More information about the Scummvm-git-logs mailing list